tango-app-ui-analyse-zone 3.7.1-beta.57 → 3.7.1-beta.59

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.
@@ -57,6 +57,9 @@ export class ZoneService {
57
57
  this.destroy$.next(true);
58
58
  this.destroy$.complete();
59
59
  }
60
+ getZoneDwellTimeSlabs(data) {
61
+ return this.http.post(`${this.zoneAnalysisV1Url}/zoneDwellTimeSlab_v1`, data);
62
+ }
60
63
  zoneConcentrationTableData(data) {
61
64
  return this.http.post(`${this.zoneAnalysisV1Url}/zoneConcentrationSummaryTable_v1`, data);
62
65
  }
@@ -209,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
209
212
  providedIn: 'root'
210
213
  }]
211
214
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GlobalStateService }] });
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS16b25lL3NyYy9saWIvY29tcG9uZW50cy9zZXJ2aWNlcy96b25lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsR0FBYyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQWtCLFVBQVUsRUFBaUIsTUFBTSxNQUFNLENBQUM7QUFDbEgsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7Ozs7QUFFN0IsTUFBTSxVQUFVLEdBQUcsaUZBQWlGLENBQUM7QUFDckcsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBS2hDLE1BQU0sT0FBTyxXQUFXO0lBTUY7SUFBMEI7SUFMOUMsaUJBQWlCLENBQUs7SUFDdEIsYUFBYSxDQUFLO0lBQ1YsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEUsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwRCxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUNsRCxZQUFvQixJQUFnQixFQUFVLEVBQXNCO1FBQWhELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUNsRSxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ25FLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENB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Q0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIscUJBQXFCLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDN0UsQ0FBQzt3R0FuTlUsV0FBVzs0R0FBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95LCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwsIGNhdGNoRXJyb3IsIG1hcCx0aHJvd0Vycm9yLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuIFxyXG5jb25zdCBFWENFTF9UWVBFID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnO1xyXG5jb25zdCBFWENFTF9FWFRFTlNJT04gPSAnLnhsc3gnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWm9uZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHpvbmVBbmFseXNpc1YxVXJsOmFueTtcclxuICB0cmFmZmljQXBpVXJsOmFueTtcclxuICBwcml2YXRlIHJlbG9hZERhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcmVsb2FkRGF0YSQgPSB0aGlzLnJlbG9hZERhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHpvbmVTZWdtZW50YXRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZW52KSA9PiB7XHJcbiAgICAgIGlmIChlbnYpIHtcclxuICAgICAgICB0aGlzLnpvbmVBbmFseXNpc1YxVXJsID0gZW52LnpvbmVBbmFseXNpc1YxVXJsO1xyXG4gICAgICAgIHRoaXMudHJhZmZpY0FwaVVybCA9IGVudi50cmFmZmljQXBpVXJsO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgdHJpZ2dlclJlbG9hZCgpIHtcclxuICAgIHRoaXMucmVsb2FkRGF0YVN1YmplY3QubmV4dCh0cnVlKTtcclxuICB9XHJcbiAgcHVibGljIGV4cG9ydEFzRXhjZWxGaWxlKGpzb246IGFueVtdLCBleGNlbEZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoanNvbik7XHJcbiAgICBjb25zdCB3b3JrYm9vazogWExTWC5Xb3JrQm9vayA9IHsgU2hlZXRzOiB7ICdkYXRhJzogd29ya3NoZWV0IH0sIFNoZWV0TmFtZXM6IFsnZGF0YSddIH07XHJcbiAgICBjb25zdCBleGNlbEJ1ZmZlcjogYW55ID0gWExTWC53cml0ZSh3b3JrYm9vaywgeyBib29rVHlwZTogJ3hsc3gnLCB0eXBlOiAnYXJyYXknIH0pO1xyXG4gICAgdGhpcy5zYXZlQXNFeGNlbEZpbGUoZXhjZWxCdWZmZXIsIGV4Y2VsRmlsZU5hbWUpO1xyXG4gIH1cclxuIFxyXG4gIHB1YmxpYyBzYXZlQXNFeGNlbEZpbGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICB0eXBlOiBFWENFTF9UWVBFXHJcbiAgICB9KTtcclxuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyAnbGlzdCcrIEVYQ0VMX0VYVEVOU0lPTik7XHJcbiAgfVxyXG4gIHB1YmxpYyBzYXZlQXNFeGNlbEZpbGUxKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcclxuICAgICAgdHlwZTogRVhDRUxfVFlQRVxyXG4gICAgfSk7XHJcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OKTtcclxuICB9XHJcbiAgcHVibGljIHNhdmVBc1RlbXBsYXRlKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcclxuICAgICAgdHlwZTogRVhDRUxfVFlQRVxyXG4gICAgfSk7XHJcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5uZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG59XHJcblxyXG4gIHpvbmVDb25jZW50cmF0aW9uVGFibGVEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVDb25jZW50cmF0aW9uU3VtbWFyeVRhYmxlX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgLy8gem9uZUNvbmNlbnRyYXRpb25UYWJsZURhdGFFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZUNvbmNlbnRyYXRpb25TdW1tYXJ5VGFibGVfdjFgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICAvLyB9XHJcbiAgZ2V0T3ZlcmFsbFN0b3JlQ29uY2VudHJhdGlvbkRhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZUhlYXRtYXBEYXRhc192MWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldE92ZXJhbGxTdG9yZUhlYXRtYXBEYXRlcyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lSGVhdG1hcEF2YWlsYWJsZURhdGVzX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Q2FyZERhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vY2FyZHNBZ2VBbmFseXNpc192MWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFRvcFBlcmZvcm1pbmdab25lc0RhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vdG9wUGVyZm9ybWluZ1pvbmVzX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VG9wUGVyZm9ybWluZ1N0b3Jlc1RhYmxlRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS90b3BQZXJmb3JtaW5nU3RvcmVzX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VG9wUGVyZm9ybWluZ1N0b3Jlc1RhYmxlRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3RvcFBlcmZvcm1pbmdTdG9yZXNfdjFgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0U3VtbWFyeVRhYmxlRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lU3VtbWFyeVRhYmxlX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0U3VtbWFyeVRhYmxlRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVTdW1tYXJ5VGFibGVfdjFgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0U2VnbWVudGF0aW9uRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lU2VnbWVudGF0aW9uX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0U2VnbWVudGF0aW9uRGF0YUV4cG9ydCggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lU2VnbWVudGF0aW9uX3YxRXhwb3J0YCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldEludGVyYXRpb25UYWJsZTQzMERhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZUludGVyYWN0aW9uVGFibGVfNDMwYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0SW50ZXJhdGlvblRhYmxlNDMwRGF0YUV4cG9ydCggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lSW50ZXJhY3Rpb25UYWJsZV80MzBFeHBvcnRgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0SW50ZXJhdGlvblRhYmxlNDU5RGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lSW50ZXJhY3Rpb25UYWJsZV80NTlgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRJbnRlcmF0aW9uVGFibGU0NTlEYXRhRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVJbnRlcmFjdGlvblRhYmxlXzQ1OWAsIGRhdGEsIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG4gIH1cclxuICB6b25lSW50ZXJhY3Rpb25UYWJsZUV4cG9ydF80MzAoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZUludGVyYWN0aW9uVGFibGVFeHBvcnRfNDMwYCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIHpvbmVDb25jZW50cmF0aW9uVGFibGVEYXRhRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVDb25jZW50cmF0aW9uVGFibGVFeHBvcnRgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcblxyXG4gIHpvbmVzZWdtZW50YXRpb25UYWJsZSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lU2VnbWVudGF0aW9uVGFibGVfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRab25lU2VnbWVudGF0aW9uVGFibGVFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZVNlZ21lbnRhdGlvblRhYmxlRXhwb3J0X3YxYCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldFBhc3NlckJ5VGFibGU0MzBEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVQYXNzZXJCeVRhYmxlX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0UGFzc2VyQnlUYWJsZTQzMERhdGFFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZVBhc3NlckJ5VGFibGVfNDMwRXhwb3J0YCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldEludGVyYWN0aW9uVGFibGVEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2ludGVyYWN0aW9uVGFibGVfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRJbnRlcmFjdGlvblRhYmxlNDMwRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2ludGVyYWN0aW9uVGFibGVfNDMwRXhwb3J0YCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldFpvbmV3aXNlQ3VzdG9tZXJGdW5uZWxEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L1pvbmV3aXNlQ3VzdG9tZXJGdW5uZWxfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRab25ld2lzZUN1c3RvbWVyRnVubmVsRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L1pvbmV3aXNlQ3VzdG9tZXJGdW5uZWxfRXhwb3J0YCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldENoZWNrVG9kYXlSZXBvcnRTdGF0dXMocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50cmFmZmljQXBpVXJsfS9jaGVja1RvZGF5UmVwb3J0U3RhdHVzYCwgcGFyYW1zKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcihcclxuICAgICAgKCkgPT4gbmV3IEVycm9yKFwiU29tZXRoaW5nIGJhZCBoYXBwZW5lZDsgcGxlYXNlIHRyeSBhZ2FpbiBsYXRlclwiKVxyXG4gICAgKTtcclxuICB9XHJcbiBwcml2YXRlIHpvbmVOYW1lU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4obnVsbCk7XHJcblxyXG4gIHNldERhdGEoem9uZU5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy56b25lTmFtZVN1YmplY3QubmV4dCh6b25lTmFtZSk7XHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuem9uZU5hbWVTdWJqZWN0LnZhbHVlOyAvLyBjdXJyZW50IHZhbHVlXHJcbiAgfVxyXG5cclxuICBnZXREYXRhJCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcclxuICAgIHJldHVybiB0aGlzLnpvbmVOYW1lU3ViamVjdC5hc09ic2VydmFibGUoKTsgLy8gc3RyZWFtIHRvIHN1YnNjcmliZVxyXG4gIH1cclxuXHJcbiAgZ2V0SGVhZGVyWm9uZShkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldFpvbmVBUElfdjJgLGRhdGEpXHJcbiAgfVxyXG4gIFxyXG4gIGdldE5ld1pvbmVGRihkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldE5ld1pvbmVGRl92MmAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFpvbmVGRihkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldFNlbGVjdGVkWm9uZUZGX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgICBnZXRTZWxlY3RlZFpvbmVGRkV4cG9ydChkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldFNlbGVjdGVkWm9uZUZGX3YyYCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gcGFudCBwcm9qZWN0IG5ldyBzZXJ2aWNlc1xyXG4gIFxyXG4gICAgZ2V0TmV3SG9UQ29sZFpvbmVBcGkoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS9nZXROZXdIb1RDb2xkWm9uZV92MWAsIGRhdGEpXHJcbiAgfVxyXG4gICAgIGdldE5ld1pvbmVTaG9wcGVyQW5hbHlzaXNBcGkoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS9nZXROZXdab25lU2hvcHBlckFuYWx5c2lzX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0TmV3Wm9uZVNob3BwZXJBbmFseXNpc0V4cG9ydEFwaShkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldE5ld1pvbmVTaG9wcGVyQW5hbHlzaXNfdjFgLCBkYXRhLHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG5cclxuICB9XHJcbiAgICAgZ2V0TmV3Wm9uZVNob3BwZXJCdWJibGVDaGFydEFwaShkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldE5ld1pvbmVTaG9wcGVyQnViYmxlQ2hhcnRfdjFgLCBkYXRhKVxyXG4gIH1cclxuICAgIGdldE5ld0N1c3RvbWVyVHJhdmVsWm9uZWVBcGkoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS9nZXROZXdDdXN0b21lclRyYXZlbFpvbmVfdjFgLCBkYXRhKVxyXG4gIH1cclxuICAgICBnZXROZXdBbmFseXNpc1pvbmVBcGkoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS9nZXROZXdBbmFseXNpc1pvbmVfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRPdmVyYWxsU3RvcmVDYXJkc0RhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vZ2V0T3ZlcmFsbFN0b3JlQ2FyZHNfdjFgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgICBnZXRCb3VuY2VkQ2FyZExpc3QocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50cmFmZmljQXBpVXJsfS9ib3VuY2VkQ2FyZHNfdjNgLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RW5nYWdlcnNDYXJkTGlzdChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2VuZ2FnZXJzQ2FyZHNfdjNgLCBwYXJhbXMpO1xyXG4gIH1cclxuICAgIGdldERlbW9HcmFwaGljc0NoYXJ0KHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxyXG4gICAgICBgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2RlbW9ncmFwaGljQ2hhcnRfdjNgLFxyXG4gICAgICBwYXJhbXNcclxuICAgICk7XHJcbiAgfVxyXG4gZ2V0Wm9uZUdyb3VwQW5hbHlzaXNEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldFpvbmVHcm91cEFuYWx5c2lzX3YxYCwgZGF0YSlcclxuICB9XHJcblxyXG5cclxuICBnZXRWaWV3SW5zaWdodHNBcGkoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS9nZXRWaWV3SW5zaWdodHNfdjFgLCBkYXRhKVxyXG4gIH1cclxufVxyXG4iXX0=
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS16b25lL3NyYy9saWIvY29tcG9uZW50cy9zZXJ2aWNlcy96b25lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsR0FBYyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQWtCLFVBQVUsRUFBaUIsTUFBTSxNQUFNLENBQUM7QUFDbEgsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7Ozs7QUFFN0IsTUFBTSxVQUFVLEdBQUcsaUZBQWlGLENBQUM7QUFDckcsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBS2hDLE1BQU0sT0FBTyxXQUFXO0lBTUY7SUFBMEI7SUFMOUMsaUJBQWlCLENBQUs7SUFDdEIsYUFBYSxDQUFLO0lBQ1YsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEUsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwRCxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUNsRCxZQUFvQixJQUFnQixFQUFVLEVBQXNCO1FBQWhELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUNsRSxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ25FLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQzthQUN4QztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGFBQWE7UUFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDTSxpQkFBaUIsQ0FBQyxJQUFXLEVBQUUsYUFBcUI7UUFDekQsTUFBTSxTQUFTLEdBQW1CLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sUUFBUSxHQUFrQixFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3hGLE1BQU0sV0FBVyxHQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU0sZUFBZSxDQUFDLE1BQVcsRUFBRSxRQUFnQjtRQUNsRCxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3BDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsR0FBRyxNQUFNLEdBQUUsZUFBZSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNNLGdCQUFnQixDQUFDLE1BQVcsRUFBRSxRQUFnQjtRQUNuRCxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3BDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsR0FBRyxlQUFlLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ00sY0FBYyxDQUFDLE1BQVcsRUFBRSxRQUFnQjtRQUNqRCxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3BDLElBQUksRUFBRSxVQUFVO1NBQ2pCLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsR0FBRyxlQUFlLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ2dCLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRTVDLFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFQyxxQkFBcUIsQ0FBRSxJQUFRO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLHVCQUF1QixFQUFFLElBQUksQ0FBQyxDQUFBO0lBQy9FLENBQUM7SUFDRCwwQkFBMEIsQ0FBRSxJQUFRO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLG1DQUFtQyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzNGLENBQUM7SUFDRCwrREFBK0Q7SUFDL0QsNkhBQTZIO0lBQzdILElBQUk7SUFDSixnQ0FBZ0MsQ0FBRSxJQUFRO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLHNCQUFzQixFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzlFLENBQUM7SUFDRCwyQkFBMkIsQ0FBRSxJQUFRO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLCtCQUErQixFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3ZGLENBQUM7SUFDRCxXQUFXLENBQUUsSUFBUTtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixzQkFBc0IsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM5RSxDQUFDO0lBQ0QseUJBQXlCLENBQUUsSUFBUTtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQix3QkFBd0IsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNoRixDQUFDO0lBQ0QsK0JBQStCLENBQUUsSUFBUTtRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQix5QkFBeUIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNqRixDQUFDO0lBQ0QsaUNBQWlDLENBQUUsSUFBUTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQix5QkFBeUIsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUNoSCxDQUFDO0lBQ0QsbUJBQW1CLENBQUUsSUFBUTtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixzQkFBc0IsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM5RSxDQUFDO0lBQ0QscUJBQXFCLENBQUUsSUFBUTtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixzQkFBc0IsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUM3RyxDQUFDO0lBQ0QsbUJBQW1CLENBQUUsSUFBUTtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixzQkFBc0IsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM5RSxDQUFDO0lBQ0QseUJBQXlCLENBQUUsSUFBUTtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQiw0QkFBNEIsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUNuSCxDQUFDO0lBQ0QseUJBQXlCLENBQUUsSUFBUTtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQiwyQkFBMkIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNuRixDQUFDO0lBQ0QsK0JBQStCLENBQUUsSUFBUTtRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixpQ0FBaUMsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUN4SCxDQUFDO0lBQ0QseUJBQXlCLENBQUUsSUFBUTtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQiwyQkFBMkIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNuRixDQUFDO0lBQ0QsK0JBQStCLENBQUUsSUFBUTtRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQiwyQkFBMkIsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUNsSCxDQUFDO0lBQ0QsOEJBQThCLENBQUUsSUFBUTtRQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixpQ0FBaUMsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUN4SCxDQUFDO0lBQ0QsZ0NBQWdDLENBQUUsSUFBUTtRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQiwrQkFBK0IsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUN0SCxDQUFDO0lBRUQscUJBQXFCLENBQUUsSUFBUTtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQiwyQkFBMkIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNuRixDQUFDO0lBQ0QsOEJBQThCLENBQUUsSUFBUTtRQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixpQ0FBaUMsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUN4SCxDQUFDO0lBQ0QsdUJBQXVCLENBQUUsSUFBUTtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQix1QkFBdUIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMvRSxDQUFDO0lBQ0QsNkJBQTZCLENBQUUsSUFBUTtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQiw4QkFBOEIsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUNySCxDQUFDO0lBQ0QsdUJBQXVCLENBQUUsSUFBUTtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixzQkFBc0IsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM5RSxDQUFDO0lBQ0QsNEJBQTRCLENBQUUsSUFBUTtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQiw2QkFBNkIsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUNwSCxDQUFDO0lBQ0QsNkJBQTZCLENBQUUsSUFBUTtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQiw0QkFBNEIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNwRixDQUFDO0lBQ0QsK0JBQStCLENBQUUsSUFBUTtRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixnQ0FBZ0MsRUFBRSxJQUFJLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUN2SCxDQUFDO0lBQ0QseUJBQXlCLENBQUMsTUFBVztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEseUJBQXlCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUNPLFdBQVcsQ0FBQyxLQUF3QjtRQUMxQyxPQUFPLFVBQVUsQ0FDZixHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUNNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7SUFFbEUsT0FBTyxDQUFDLFFBQWdCO1FBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLGdCQUFnQjtJQUNyRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQjtJQUNwRSxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVE7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsZ0JBQWdCLEVBQUMsSUFBSSxDQUFDLENBQUE7SUFDdkUsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFRO1FBQ25CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzFFLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFRO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLHVCQUF1QixFQUFFLElBQUksQ0FBQyxDQUFBO0lBQy9FLENBQUM7SUFDQyx1QkFBdUIsQ0FBQyxJQUFRO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLHVCQUF1QixFQUFFLElBQUksRUFBRSxFQUFDLFlBQVksRUFBRSxhQUFhLEVBQUMsQ0FBQyxDQUFBO0lBQzlHLENBQUM7SUFHRCw0QkFBNEI7SUFFMUIsb0JBQW9CLENBQUMsSUFBUTtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQix1QkFBdUIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMvRSxDQUFDO0lBQ0UsNEJBQTRCLENBQUMsSUFBUTtRQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQiwrQkFBK0IsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN2RixDQUFDO0lBQ0Qsa0NBQWtDLENBQUMsSUFBUTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQiwrQkFBK0IsRUFBRSxJQUFJLEVBQUMsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUVySCxDQUFDO0lBQ0UsK0JBQStCLENBQUMsSUFBUTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixrQ0FBa0MsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMxRixDQUFDO0lBQ0MsNEJBQTRCLENBQUMsSUFBUTtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQiw4QkFBOEIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN0RixDQUFDO0lBQ0UscUJBQXFCLENBQUMsSUFBUTtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQix3QkFBd0IsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNoRixDQUFDO0lBQ0Qsd0JBQXdCLENBQUUsSUFBUTtRQUNoQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQiwwQkFBMEIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNsRixDQUFDO0lBRUMsa0JBQWtCLENBQUMsTUFBVztRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLElBQUksQ0FBQyxhQUFhLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFDQyxvQkFBb0IsQ0FBQyxNQUFXO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLGFBQWEsc0JBQXNCLEVBQzNDLE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQUNGLHdCQUF3QixDQUFFLElBQVE7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDbEYsQ0FBQztJQUdELGtCQUFrQixDQUFDLElBQVE7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIscUJBQXFCLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDN0UsQ0FBQzt3R0F0TlUsV0FBVzs0R0FBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95LCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwsIGNhdGNoRXJyb3IsIG1hcCx0aHJvd0Vycm9yLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuIFxyXG5jb25zdCBFWENFTF9UWVBFID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnO1xyXG5jb25zdCBFWENFTF9FWFRFTlNJT04gPSAnLnhsc3gnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWm9uZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHpvbmVBbmFseXNpc1YxVXJsOmFueTtcclxuICB0cmFmZmljQXBpVXJsOmFueTtcclxuICBwcml2YXRlIHJlbG9hZERhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcmVsb2FkRGF0YSQgPSB0aGlzLnJlbG9hZERhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHpvbmVTZWdtZW50YXRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZW52KSA9PiB7XHJcbiAgICAgIGlmIChlbnYpIHtcclxuICAgICAgICB0aGlzLnpvbmVBbmFseXNpc1YxVXJsID0gZW52LnpvbmVBbmFseXNpc1YxVXJsO1xyXG4gICAgICAgIHRoaXMudHJhZmZpY0FwaVVybCA9IGVudi50cmFmZmljQXBpVXJsO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgdHJpZ2dlclJlbG9hZCgpIHtcclxuICAgIHRoaXMucmVsb2FkRGF0YVN1YmplY3QubmV4dCh0cnVlKTtcclxuICB9XHJcbiAgcHVibGljIGV4cG9ydEFzRXhjZWxGaWxlKGpzb246IGFueVtdLCBleGNlbEZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoanNvbik7XHJcbiAgICBjb25zdCB3b3JrYm9vazogWExTWC5Xb3JrQm9vayA9IHsgU2hlZXRzOiB7ICdkYXRhJzogd29ya3NoZWV0IH0sIFNoZWV0TmFtZXM6IFsnZGF0YSddIH07XHJcbiAgICBjb25zdCBleGNlbEJ1ZmZlcjogYW55ID0gWExTWC53cml0ZSh3b3JrYm9vaywgeyBib29rVHlwZTogJ3hsc3gnLCB0eXBlOiAnYXJyYXknIH0pO1xyXG4gICAgdGhpcy5zYXZlQXNFeGNlbEZpbGUoZXhjZWxCdWZmZXIsIGV4Y2VsRmlsZU5hbWUpO1xyXG4gIH1cclxuIFxyXG4gIHB1YmxpYyBzYXZlQXNFeGNlbEZpbGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICB0eXBlOiBFWENFTF9UWVBFXHJcbiAgICB9KTtcclxuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyAnbGlzdCcrIEVYQ0VMX0VYVEVOU0lPTik7XHJcbiAgfVxyXG4gIHB1YmxpYyBzYXZlQXNFeGNlbEZpbGUxKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcclxuICAgICAgdHlwZTogRVhDRUxfVFlQRVxyXG4gICAgfSk7XHJcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OKTtcclxuICB9XHJcbiAgcHVibGljIHNhdmVBc1RlbXBsYXRlKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcclxuICAgICAgdHlwZTogRVhDRUxfVFlQRVxyXG4gICAgfSk7XHJcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5uZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG59XHJcblxyXG4gIGdldFpvbmVEd2VsbFRpbWVTbGFicyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lRHdlbGxUaW1lU2xhYl92MWAsIGRhdGEpXHJcbiAgfVxyXG4gIHpvbmVDb25jZW50cmF0aW9uVGFibGVEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVDb25jZW50cmF0aW9uU3VtbWFyeVRhYmxlX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgLy8gem9uZUNvbmNlbnRyYXRpb25UYWJsZURhdGFFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZUNvbmNlbnRyYXRpb25TdW1tYXJ5VGFibGVfdjFgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICAvLyB9XHJcbiAgZ2V0T3ZlcmFsbFN0b3JlQ29uY2VudHJhdGlvbkRhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZUhlYXRtYXBEYXRhc192MWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldE92ZXJhbGxTdG9yZUhlYXRtYXBEYXRlcyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lSGVhdG1hcEF2YWlsYWJsZURhdGVzX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Q2FyZERhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vY2FyZHNBZ2VBbmFseXNpc192MWAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFRvcFBlcmZvcm1pbmdab25lc0RhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vdG9wUGVyZm9ybWluZ1pvbmVzX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VG9wUGVyZm9ybWluZ1N0b3Jlc1RhYmxlRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS90b3BQZXJmb3JtaW5nU3RvcmVzX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VG9wUGVyZm9ybWluZ1N0b3Jlc1RhYmxlRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3RvcFBlcmZvcm1pbmdTdG9yZXNfdjFgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0U3VtbWFyeVRhYmxlRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lU3VtbWFyeVRhYmxlX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0U3VtbWFyeVRhYmxlRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVTdW1tYXJ5VGFibGVfdjFgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0U2VnbWVudGF0aW9uRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lU2VnbWVudGF0aW9uX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0U2VnbWVudGF0aW9uRGF0YUV4cG9ydCggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lU2VnbWVudGF0aW9uX3YxRXhwb3J0YCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldEludGVyYXRpb25UYWJsZTQzMERhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZUludGVyYWN0aW9uVGFibGVfNDMwYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0SW50ZXJhdGlvblRhYmxlNDMwRGF0YUV4cG9ydCggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lSW50ZXJhY3Rpb25UYWJsZV80MzBFeHBvcnRgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0SW50ZXJhdGlvblRhYmxlNDU5RGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lSW50ZXJhY3Rpb25UYWJsZV80NTlgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRJbnRlcmF0aW9uVGFibGU0NTlEYXRhRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVJbnRlcmFjdGlvblRhYmxlXzQ1OWAsIGRhdGEsIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG4gIH1cclxuICB6b25lSW50ZXJhY3Rpb25UYWJsZUV4cG9ydF80MzAoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZUludGVyYWN0aW9uVGFibGVFeHBvcnRfNDMwYCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIHpvbmVDb25jZW50cmF0aW9uVGFibGVEYXRhRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVDb25jZW50cmF0aW9uVGFibGVFeHBvcnRgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcblxyXG4gIHpvbmVzZWdtZW50YXRpb25UYWJsZSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS96b25lU2VnbWVudGF0aW9uVGFibGVfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRab25lU2VnbWVudGF0aW9uVGFibGVFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZVNlZ21lbnRhdGlvblRhYmxlRXhwb3J0X3YxYCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldFBhc3NlckJ5VGFibGU0MzBEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L3pvbmVQYXNzZXJCeVRhYmxlX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0UGFzc2VyQnlUYWJsZTQzMERhdGFFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vem9uZVBhc3NlckJ5VGFibGVfNDMwRXhwb3J0YCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldEludGVyYWN0aW9uVGFibGVEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2ludGVyYWN0aW9uVGFibGVfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRJbnRlcmFjdGlvblRhYmxlNDMwRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2ludGVyYWN0aW9uVGFibGVfNDMwRXhwb3J0YCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldFpvbmV3aXNlQ3VzdG9tZXJGdW5uZWxEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L1pvbmV3aXNlQ3VzdG9tZXJGdW5uZWxfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRab25ld2lzZUN1c3RvbWVyRnVubmVsRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L1pvbmV3aXNlQ3VzdG9tZXJGdW5uZWxfRXhwb3J0YCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldENoZWNrVG9kYXlSZXBvcnRTdGF0dXMocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50cmFmZmljQXBpVXJsfS9jaGVja1RvZGF5UmVwb3J0U3RhdHVzYCwgcGFyYW1zKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcihcclxuICAgICAgKCkgPT4gbmV3IEVycm9yKFwiU29tZXRoaW5nIGJhZCBoYXBwZW5lZDsgcGxlYXNlIHRyeSBhZ2FpbiBsYXRlclwiKVxyXG4gICAgKTtcclxuICB9XHJcbiBwcml2YXRlIHpvbmVOYW1lU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4obnVsbCk7XHJcblxyXG4gIHNldERhdGEoem9uZU5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy56b25lTmFtZVN1YmplY3QubmV4dCh6b25lTmFtZSk7XHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuem9uZU5hbWVTdWJqZWN0LnZhbHVlOyAvLyBjdXJyZW50IHZhbHVlXHJcbiAgfVxyXG5cclxuICBnZXREYXRhJCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcclxuICAgIHJldHVybiB0aGlzLnpvbmVOYW1lU3ViamVjdC5hc09ic2VydmFibGUoKTsgLy8gc3RyZWFtIHRvIHN1YnNjcmliZVxyXG4gIH1cclxuXHJcbiAgZ2V0SGVhZGVyWm9uZShkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldFpvbmVBUElfdjJgLGRhdGEpXHJcbiAgfVxyXG4gIFxyXG4gIGdldE5ld1pvbmVGRihkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldE5ld1pvbmVGRl92MmAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFpvbmVGRihkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldFNlbGVjdGVkWm9uZUZGX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgICBnZXRTZWxlY3RlZFpvbmVGRkV4cG9ydChkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldFNlbGVjdGVkWm9uZUZGX3YyYCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gcGFudCBwcm9qZWN0IG5ldyBzZXJ2aWNlc1xyXG4gIFxyXG4gICAgZ2V0TmV3SG9UQ29sZFpvbmVBcGkoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS9nZXROZXdIb1RDb2xkWm9uZV92MWAsIGRhdGEpXHJcbiAgfVxyXG4gICAgIGdldE5ld1pvbmVTaG9wcGVyQW5hbHlzaXNBcGkoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS9nZXROZXdab25lU2hvcHBlckFuYWx5c2lzX3YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0TmV3Wm9uZVNob3BwZXJBbmFseXNpc0V4cG9ydEFwaShkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldE5ld1pvbmVTaG9wcGVyQW5hbHlzaXNfdjFgLCBkYXRhLHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG5cclxuICB9XHJcbiAgICAgZ2V0TmV3Wm9uZVNob3BwZXJCdWJibGVDaGFydEFwaShkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldE5ld1pvbmVTaG9wcGVyQnViYmxlQ2hhcnRfdjFgLCBkYXRhKVxyXG4gIH1cclxuICAgIGdldE5ld0N1c3RvbWVyVHJhdmVsWm9uZWVBcGkoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS9nZXROZXdDdXN0b21lclRyYXZlbFpvbmVfdjFgLCBkYXRhKVxyXG4gIH1cclxuICAgICBnZXROZXdBbmFseXNpc1pvbmVBcGkoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS9nZXROZXdBbmFseXNpc1pvbmVfdjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRPdmVyYWxsU3RvcmVDYXJkc0RhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNWMVVybH0vZ2V0T3ZlcmFsbFN0b3JlQ2FyZHNfdjFgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgICBnZXRCb3VuY2VkQ2FyZExpc3QocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50cmFmZmljQXBpVXJsfS9ib3VuY2VkQ2FyZHNfdjNgLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RW5nYWdlcnNDYXJkTGlzdChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2VuZ2FnZXJzQ2FyZHNfdjNgLCBwYXJhbXMpO1xyXG4gIH1cclxuICAgIGdldERlbW9HcmFwaGljc0NoYXJ0KHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxyXG4gICAgICBgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2RlbW9ncmFwaGljQ2hhcnRfdjNgLFxyXG4gICAgICBwYXJhbXNcclxuICAgICk7XHJcbiAgfVxyXG4gZ2V0Wm9uZUdyb3VwQW5hbHlzaXNEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVjFVcmx9L2dldFpvbmVHcm91cEFuYWx5c2lzX3YxYCwgZGF0YSlcclxuICB9XHJcblxyXG5cclxuICBnZXRWaWV3SW5zaWdodHNBcGkoZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1YxVXJsfS9nZXRWaWV3SW5zaWdodHNfdjFgLCBkYXRhKVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -109,6 +109,9 @@ export class Zonev2Service {
109
109
  getCustomerJourneyTableExport(data) {
110
110
  return this.http.post(`${this.zoneAnalysisUrl}/customerJourneyTable_V2`, data, { responseType: 'arraybuffer' });
111
111
  }
112
+ getZoneDwellTimeSlabs(data) {
113
+ return this.http.post(`${this.zoneAnalysisUrl}/zoneDwellTimeSlabs_v2`, data);
114
+ }
112
115
  getCheckTodayReportStatus(params) {
113
116
  return this.http.post(`${this.trafficApiUrl}/checkTodayReportStatus`, params);
114
117
  }
@@ -127,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
127
130
  providedIn: 'root'
128
131
  }]
129
132
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GlobalStateService }] });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZXYyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXpvbmUvc3JjL2xpYi9jb21wb25lbnRzL3NlcnZpY2VzL3pvbmV2Mi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFrQixVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkcsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7Ozs7QUFHN0IsTUFBTSxVQUFVLEdBQUcsaUZBQWlGLENBQUM7QUFDckcsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBT2hDLE1BQU0sT0FBTyxhQUFhO0lBU0o7SUFBMEI7SUFSOUMsZUFBZSxDQUFLO0lBQ3BCLGFBQWEsQ0FBTTtJQUNYLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7SUFDM0YsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEUsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkQsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsWUFBb0IsSUFBZ0IsRUFBVSxFQUFzQjtRQUFoRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDbEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuRSxJQUFJLEdBQUcsRUFBRTtnQkFDUCxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQzthQUV4QztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELGFBQWE7UUFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxjQUFjLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ00saUJBQWlCLENBQUMsSUFBVyxFQUFFLGFBQXFCO1FBQ3pELE1BQU0sU0FBUyxHQUFtQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRSxNQUFNLFFBQVEsR0FBa0IsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN4RixNQUFNLFdBQVcsR0FBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLGVBQWUsQ0FBQyxNQUFXLEVBQUUsUUFBZ0I7UUFDbEQsTUFBTSxJQUFJLEdBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNwQyxJQUFJLEVBQUUsVUFBVTtTQUNqQixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLEdBQUcsZUFBZSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLGNBQWMsQ0FBQyxNQUFXLEVBQUUsUUFBZ0I7UUFDakQsTUFBTSxJQUFJLEdBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNwQyxJQUFJLEVBQUUsVUFBVTtTQUNqQixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLEdBQUcsZUFBZSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNnQixRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUU1QyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0MsU0FBUztJQUNULGdCQUFnQixDQUFFLElBQVE7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNyRSxDQUFDO0lBQ0QscUJBQXFCLENBQUUsSUFBUTtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDOUUsQ0FBQztJQUNELHNCQUFzQixDQUFFLElBQVE7UUFDOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLHlCQUF5QixFQUFFLElBQUksQ0FBQyxDQUFBO0lBQy9FLENBQUM7SUFDRCxtQkFBbUIsQ0FBRSxJQUFRO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxzQkFBc0IsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM1RSxDQUFDO0lBQ0QscUJBQXFCLENBQUUsSUFBUTtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLEVBQUMsWUFBWSxFQUFFLGFBQWEsRUFBQyxDQUFDLENBQUE7SUFDM0csQ0FBQztJQUNELHFCQUFxQixDQUFFLElBQVE7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzlFLENBQUM7SUFDRCwyQkFBMkIsQ0FBRSxJQUFRO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxvQ0FBb0MsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMxRixDQUFDO0lBQ0QsZ0NBQWdDLENBQUUsSUFBUTtRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsc0NBQXNDLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDNUYsQ0FBQztJQUNELG1CQUFtQixDQUFFLElBQVE7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLDhCQUE4QixFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3BGLENBQUM7SUFDRCxxQkFBcUIsQ0FBRSxJQUFRO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSx3QkFBd0IsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM5RSxDQUFDO0lBQ0QsMkJBQTJCLENBQUMsTUFBVztRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixHQUFHLElBQUksQ0FBQyxhQUFhLDJCQUEyQixFQUNoRCxNQUFNLENBQ1AsQ0FBQztJQUNKLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxNQUFXO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLGFBQWEsb0JBQW9CLEVBQ3pDLE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQUNELGVBQWUsQ0FBQyxNQUFXO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxvQkFBb0IsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBQ0QseUJBQXlCLENBQUUsSUFBUTtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDbEYsQ0FBQztJQUNELGtCQUFrQixDQUFFLElBQVE7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLHFCQUFxQixFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFDRCx1QkFBdUIsQ0FBRSxJQUFRO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSwwQkFBMEIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNoRixDQUFDO0lBQ0QsNkJBQTZCLENBQUUsSUFBUTtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsMEJBQTBCLEVBQUUsSUFBSSxFQUFFLEVBQUMsWUFBWSxFQUFFLGFBQWEsRUFBQyxDQUFDLENBQUE7SUFDL0csQ0FBQztJQUNELHlCQUF5QixDQUFDLE1BQVc7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLElBQUksQ0FBQyxhQUFhLHlCQUF5QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRixRQUFRLENBQUMsS0FBWTtRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRVMsV0FBVyxDQUFDLEtBQXdCO1FBQzFDLE9BQU8sVUFBVSxDQUNmLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDO3dHQXhIVSxhQUFhOzRHQUFiLGFBQWEsY0FIWixNQUFNOzs0RkFHUCxhQUFhO2tCQUp6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwsIGNhdGNoRXJyb3IsIG1hcCx0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuXHJcbiBcclxuY29uc3QgRVhDRUxfVFlQRSA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDtjaGFyc2V0PVVURi04JztcclxuY29uc3QgRVhDRUxfRVhURU5TSU9OID0gJy54bHN4JztcclxuIFxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFpvbmV2MlNlcnZpY2Uge1xyXG4gIHpvbmVBbmFseXNpc1VybDphbnk7XHJcbiAgdHJhZmZpY0FwaVVybDogYW55O1xyXG4gIHByaXZhdGUgZm9vdGZhbGxTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXIgfCBudWxsPihudWxsKTsgLy8gSW5pdGlhbGl6ZSB3aXRoIG51bGxcclxuICBmb290ZmFsbCQgPSB0aGlzLmZvb3RmYWxsU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICBwcml2YXRlIHJlbG9hZERhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcmVsb2FkRGF0YSQgPSB0aGlzLnJlbG9hZERhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICBwcml2YXRlIHpvbmVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcclxuICB6b25lcyQgPSB0aGlzLnpvbmVzU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSkge1xyXG4gICAgdGhpcy5ncy5lbnZpcm9ubWVudC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlbnYpID0+IHtcclxuICAgICAgaWYgKGVudikge1xyXG4gICAgICAgIHRoaXMuem9uZUFuYWx5c2lzVXJsID0gZW52LnpvbmVBbmFseXNpc1VybDtcclxuICAgICAgICB0aGlzLnRyYWZmaWNBcGlVcmwgPSBlbnYudHJhZmZpY0FwaVVybDtcclxuXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICB0cmlnZ2VyUmVsb2FkKCkge1xyXG4gICAgdGhpcy5yZWxvYWREYXRhU3ViamVjdC5uZXh0KHRydWUpO1xyXG4gIH1cclxuICB1cGRhdGVGb290ZmFsbChjb3VudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmZvb3RmYWxsU3ViamVjdC5uZXh0KGNvdW50KTtcclxuICB9XHJcbiAgcHVibGljIGV4cG9ydEFzRXhjZWxGaWxlKGpzb246IGFueVtdLCBleGNlbEZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoanNvbik7XHJcbiAgICBjb25zdCB3b3JrYm9vazogWExTWC5Xb3JrQm9vayA9IHsgU2hlZXRzOiB7ICdkYXRhJzogd29ya3NoZWV0IH0sIFNoZWV0TmFtZXM6IFsnZGF0YSddIH07XHJcbiAgICBjb25zdCBleGNlbEJ1ZmZlcjogYW55ID0gWExTWC53cml0ZSh3b3JrYm9vaywgeyBib29rVHlwZTogJ3hsc3gnLCB0eXBlOiAnYXJyYXknIH0pO1xyXG4gICAgdGhpcy5zYXZlQXNFeGNlbEZpbGUoZXhjZWxCdWZmZXIsIGV4Y2VsRmlsZU5hbWUpO1xyXG4gIH1cclxuIFxyXG4gIHB1YmxpYyBzYXZlQXNFeGNlbEZpbGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICB0eXBlOiBFWENFTF9UWVBFXHJcbiAgICB9KTtcclxuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyBFWENFTF9FWFRFTlNJT04pO1xyXG4gIH1cclxuIFxyXG4gIHB1YmxpYyBzYXZlQXNUZW1wbGF0ZShidWZmZXI6IGFueSwgZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7XHJcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcclxuICAgIH0pO1xyXG4gICAgRmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBmaWxlTmFtZSArIEVYQ0VMX0VYVEVOU0lPTik7XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxubmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxufVxyXG4gIC8vIFYyIEFQSVxyXG4gIGdldFpvbmVDYXJkc0RhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L3pvbmVjYXJkc192MmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFRvcFBlcmZvcm1pbmdab25lcyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vdG9wUGVyZm9ybWluZ1pvbmVzX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VG9wUGVyZm9ybWluZ1N0b3JlcyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vdG9wUGVyZm9ybWluZ1N0b3Jlc192MmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFN1bW1hcnlUYWJsZURhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L3pvbmVTdW1tYXJ5VGFibGVfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRTdW1tYXJ5VGFibGVFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L3pvbmVTdW1tYXJ5VGFibGVfdjJgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0QXZhaWxhYmxlWm9uZU5hbWVzKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS9hdmFpbGFibGVab25lTmFtZXNfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRPdmVyYWxsU3RvcmVIZWF0bWFwRGF0ZXMoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L292ZXJhbGxTdG9yZUNvbmNlbnRyYXRpb25EYXRlc192MmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldE92ZXJhbGxTdG9yZUNvbmNlbnRyYXRpb25EYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS9vdmVyYWxsU3RvcmVDb25jZW50cmF0aW9uSGVhdG1hcF92MmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldEFuYWxheXNpc1N1bW1hcnkoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L3pvbmVDb25jZW50cmF0aW9uU3VtbWFyeV92MmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFRyYWplY3RvcnlBbmFseXNpcyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vdHJhamVjdG9yeUFuYWx5c2lzX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Rm9vdGZhbGxEaXJlY3RvcnlGb2xkZXJzKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxyXG4gICAgICBgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2Zvb3RmYWxsRGlyZWN0b3J5Rm9sZGVyc2AsXHJcbiAgICAgIHBhcmFtc1xyXG4gICAgKTtcclxuICB9XHJcbiAgZ2V0Rm9vdGZhbGxEaXJlY3RvcnkocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oXHJcbiAgICAgIGAke3RoaXMudHJhZmZpY0FwaVVybH0vZm9vdGZhbGxEaXJlY3RvcnlgLFxyXG4gICAgICBwYXJhbXNcclxuICAgICk7XHJcbiAgfVxyXG4gIGdldFN0b3Jlc0FjdGl2ZShwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vZ2V0TXlTdWJzY3JpcHRpb25gLCBwYXJhbXMpO1xyXG4gIH1cclxuICBnZXRUcmFqZWN0b3J5UmF0ZUFuYWx5c2lzKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS90cmFqZWN0b3J5QW5hbHlzaXNSYXRlX1YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Q3VzdG9tZXJKb3VybmV5KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS9jdXN0b21lckpvdXJuZXlfVjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRDdXN0b21lckpvdXJuZXlUYWJsZSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vY3VzdG9tZXJKb3VybmV5VGFibGVfVjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRDdXN0b21lckpvdXJuZXlUYWJsZUV4cG9ydCggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vY3VzdG9tZXJKb3VybmV5VGFibGVfVjJgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0Q2hlY2tUb2RheVJlcG9ydFN0YXR1cyhwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2NoZWNrVG9kYXlSZXBvcnRTdGF0dXNgLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiBzZXRab25lcyh6b25lczogYW55W10pIHtcclxuICB0aGlzLnpvbmVzU3ViamVjdC5uZXh0KHpvbmVzKTtcclxufVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8bmV2ZXI+IHtcclxuICAgIHJldHVybiB0aHJvd0Vycm9yKFxyXG4gICAgICAoKSA9PiBuZXcgRXJyb3IoXCJTb21ldGhpbmcgYmFkIGhhcHBlbmVkOyBwbGVhc2UgdHJ5IGFnYWluIGxhdGVyXCIpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZXYyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXpvbmUvc3JjL2xpYi9jb21wb25lbnRzL3NlcnZpY2VzL3pvbmV2Mi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFrQixVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkcsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7Ozs7QUFHN0IsTUFBTSxVQUFVLEdBQUcsaUZBQWlGLENBQUM7QUFDckcsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBT2hDLE1BQU0sT0FBTyxhQUFhO0lBU0o7SUFBMEI7SUFSOUMsZUFBZSxDQUFLO0lBQ3BCLGFBQWEsQ0FBTTtJQUNYLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7SUFDM0YsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEUsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkQsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsWUFBb0IsSUFBZ0IsRUFBVSxFQUFzQjtRQUFoRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDbEUsSUFBSSxD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SSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsYUFBYSx5QkFBeUIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUYsUUFBUSxDQUFDLEtBQVk7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVTLFdBQVcsQ0FBQyxLQUF3QjtRQUMxQyxPQUFPLFVBQVUsQ0FDZixHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQzt3R0EzSFUsYUFBYTs0R0FBYixhQUFhLGNBSFosTUFBTTs7NEZBR1AsYUFBYTtrQkFKekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsLCBjYXRjaEVycm9yLCBtYXAsdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XHJcblxyXG4gXHJcbmNvbnN0IEVYQ0VMX1RZUEUgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCc7XHJcbmNvbnN0IEVYQ0VMX0VYVEVOU0lPTiA9ICcueGxzeCc7XHJcbiBcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBab25ldjJTZXJ2aWNlIHtcclxuICB6b25lQW5hbHlzaXNVcmw6YW55O1xyXG4gIHRyYWZmaWNBcGlVcmw6IGFueTtcclxuICBwcml2YXRlIGZvb3RmYWxsU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7IC8vIEluaXRpYWxpemUgd2l0aCBudWxsXHJcbiAgZm9vdGZhbGwkID0gdGhpcy5mb290ZmFsbFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgcHJpdmF0ZSByZWxvYWREYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHJlbG9hZERhdGEkID0gdGhpcy5yZWxvYWREYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgcHJpdmF0ZSB6b25lc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XHJcbiAgem9uZXMkID0gdGhpcy56b25lc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZW52KSA9PiB7XHJcbiAgICAgIGlmIChlbnYpIHtcclxuICAgICAgICB0aGlzLnpvbmVBbmFseXNpc1VybCA9IGVudi56b25lQW5hbHlzaXNVcmw7XHJcbiAgICAgICAgdGhpcy50cmFmZmljQXBpVXJsID0gZW52LnRyYWZmaWNBcGlVcmw7XHJcblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgdHJpZ2dlclJlbG9hZCgpIHtcclxuICAgIHRoaXMucmVsb2FkRGF0YVN1YmplY3QubmV4dCh0cnVlKTtcclxuICB9XHJcbiAgdXBkYXRlRm9vdGZhbGwoY291bnQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5mb290ZmFsbFN1YmplY3QubmV4dChjb3VudCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBleHBvcnRBc0V4Y2VsRmlsZShqc29uOiBhbnlbXSwgZXhjZWxGaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCB3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0ID0gWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24pO1xyXG4gICAgY29uc3Qgd29ya2Jvb2s6IFhMU1guV29ya0Jvb2sgPSB7IFNoZWV0czogeyAnZGF0YSc6IHdvcmtzaGVldCB9LCBTaGVldE5hbWVzOiBbJ2RhdGEnXSB9O1xyXG4gICAgY29uc3QgZXhjZWxCdWZmZXI6IGFueSA9IFhMU1gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcclxuICAgIHRoaXMuc2F2ZUFzRXhjZWxGaWxlKGV4Y2VsQnVmZmVyLCBleGNlbEZpbGVOYW1lKTtcclxuICB9XHJcbiBcclxuICBwdWJsaWMgc2F2ZUFzRXhjZWxGaWxlKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcclxuICAgICAgdHlwZTogRVhDRUxfVFlQRVxyXG4gICAgfSk7XHJcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OKTtcclxuICB9XHJcbiBcclxuICBwdWJsaWMgc2F2ZUFzVGVtcGxhdGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICB0eXBlOiBFWENFTF9UWVBFXHJcbiAgICB9KTtcclxuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyBFWENFTF9FWFRFTlNJT04pO1xyXG4gIH1cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbm5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbn1cclxuICAvLyBWMiBBUElcclxuICBnZXRab25lQ2FyZHNEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS96b25lY2FyZHNfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUb3BQZXJmb3JtaW5nWm9uZXMoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L3RvcFBlcmZvcm1pbmdab25lc192MmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFRvcFBlcmZvcm1pbmdTdG9yZXMoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L3RvcFBlcmZvcm1pbmdTdG9yZXNfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRTdW1tYXJ5VGFibGVEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS96b25lU3VtbWFyeVRhYmxlX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0U3VtbWFyeVRhYmxlRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS96b25lU3VtbWFyeVRhYmxlX3YyYCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldEF2YWlsYWJsZVpvbmVOYW1lcyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vYXZhaWxhYmxlWm9uZU5hbWVzX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0T3ZlcmFsbFN0b3JlSGVhdG1hcERhdGVzKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS9vdmVyYWxsU3RvcmVDb25jZW50cmF0aW9uRGF0ZXNfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRPdmVyYWxsU3RvcmVDb25jZW50cmF0aW9uRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vb3ZlcmFsbFN0b3JlQ29uY2VudHJhdGlvbkhlYXRtYXBfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRBbmFsYXlzaXNTdW1tYXJ5KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuem9uZUFuYWx5c2lzVXJsfS96b25lQ29uY2VudHJhdGlvblN1bW1hcnlfdjJgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUcmFqZWN0b3J5QW5hbHlzaXMoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L3RyYWplY3RvcnlBbmFseXNpc192MmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldEZvb3RmYWxsRGlyZWN0b3J5Rm9sZGVycyhwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihcclxuICAgICAgYCR7dGhpcy50cmFmZmljQXBpVXJsfS9mb290ZmFsbERpcmVjdG9yeUZvbGRlcnNgLFxyXG4gICAgICBwYXJhbXNcclxuICAgICk7XHJcbiAgfVxyXG4gIGdldEZvb3RmYWxsRGlyZWN0b3J5KHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxyXG4gICAgICBgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2Zvb3RmYWxsRGlyZWN0b3J5YCxcclxuICAgICAgcGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuICBnZXRTdG9yZXNBY3RpdmUocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L2dldE15U3Vic2NyaXB0aW9uYCwgcGFyYW1zKTtcclxuICB9XHJcbiAgZ2V0VHJhamVjdG9yeVJhdGVBbmFseXNpcyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vdHJhamVjdG9yeUFuYWx5c2lzUmF0ZV9WMmAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldEN1c3RvbWVySm91cm5leSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vY3VzdG9tZXJKb3VybmV5X1YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Q3VzdG9tZXJKb3VybmV5VGFibGUoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L2N1c3RvbWVySm91cm5leVRhYmxlX1YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Q3VzdG9tZXJKb3VybmV5VGFibGVFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy56b25lQW5hbHlzaXNVcmx9L2N1c3RvbWVySm91cm5leVRhYmxlX1YyYCwgZGF0YSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldFpvbmVEd2VsbFRpbWVTbGFicyggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnpvbmVBbmFseXNpc1VybH0vem9uZUR3ZWxsVGltZVNsYWJzX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Q2hlY2tUb2RheVJlcG9ydFN0YXR1cyhwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2NoZWNrVG9kYXlSZXBvcnRTdGF0dXNgLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiBzZXRab25lcyh6b25lczogYW55W10pIHtcclxuICB0aGlzLnpvbmVzU3ViamVjdC5uZXh0KHpvbmVzKTtcclxufVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8bmV2ZXI+IHtcclxuICAgIHJldHVybiB0aHJvd0Vycm9yKFxyXG4gICAgICAoKSA9PiBuZXcgRXJyb3IoXCJTb21ldGhpbmcgYmFkIGhhcHBlbmVkOyBwbGVhc2UgdHJ5IGFnYWluIGxhdGVyXCIpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
@@ -8,9 +8,10 @@ import * as i4 from "../overallcards/overallcards.component";
8
8
  import * as i5 from "../top-performing-zones/top-performing-zones.component";
9
9
  import * as i6 from "../zone-summary-table/zone-summary-table.component";
10
10
  import * as i7 from "../zone-concentration/zone-concentration.component";
11
- import * as i8 from "../segmentation/segmentation.component";
12
- import * as i9 from "../interation-table-client459/interation-table-client459.component";
13
- import * as i10 from "../customer-journey-chart/customer-journey-chart.component";
11
+ import * as i8 from "../zone-v2/dwell-time-slabs/dwell-time-slabs.component";
12
+ import * as i9 from "../segmentation/segmentation.component";
13
+ import * as i10 from "../interation-table-client459/interation-table-client459.component";
14
+ import * as i11 from "../customer-journey-chart/customer-journey-chart.component";
14
15
  export class TangoAnalyseZoneComponent {
15
16
  pageInfo;
16
17
  gs;
@@ -116,10 +117,10 @@ export class TangoAnalyseZoneComponent {
116
117
  });
117
118
  }
118
119
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoAnalyseZoneComponent, deps: [{ token: i1.PageInfoService }, { token: i1.GlobalStateService }, { token: i2.ZoneService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
119
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TangoAnalyseZoneComponent, selector: "lib-tango-analyse-zone", ngImport: i0, template: "<div *ngIf=\"!showReportProcessingCard && !dataProcessedLoading\">\r\n<!-- Concentration first for legacy single-store clients (NOT 478, which places it after overall cards) -->\r\n<div *ngIf=\"storeId === 1 && !is478Single\">\r\n<lib-zone-concentration></lib-zone-concentration>\r\n</div>\r\n<div class=\"mt-4\" *ngIf=\"!(storeId > 1 && headerData?.client === '459')\">\r\n <lib-overallcards></lib-overallcards>\r\n</div>\r\n<!-- 478 single-store: Band 2 = Concentration Summary + Heatmap, placed right after the overall cards -->\r\n<div class=\"mt-4\" *ngIf=\"is478Single\">\r\n <lib-zone-concentration></lib-zone-concentration>\r\n</div>\r\n<div *ngIf=\"storeId === 1 && !is478Single\">\r\n <lib-segmentation></lib-segmentation>\r\n</div>\r\n <!-- <ng-container *ngIf=\"hasSegmentationData === true\"> -->\r\n \r\n <!-- </ng-container> -->\r\n <!-- <div *ngIf=\"storeId === 1 && headerData?.client === '430'\" class=\"col-8\">\r\n <lib-interation-table-client430></lib-interation-table-client430>\r\n </div>\r\n <div *ngIf=\"storeId === 1 && headerData?.client === '430'\" class=\"col-4\">\r\n <lib-passerby-table></lib-passerby-table>\r\n </div>\r\n </div> -->\r\n\r\n\r\n<div class=\"mt-4\" *ngIf=\"storeId === 1 && headerData?.client === '459'\">\r\n<lib-interation-table-client459></lib-interation-table-client459>\r\n</div>\r\n<!-- Band 3 (Zone Performance + Shopper Analysis) + Band 5 (Summary): multi-store, plus 478 single-store -->\r\n<div class=\"mt-2\" *ngIf=\"storeId > 1 || is478Single\">\r\n <div *ngIf=\"headerData?.client !== '459'\">\r\n <lib-top-performing-zones *ngIf=\"clientData\" [clientData]=\"clientData\"></lib-top-performing-zones>\r\n </div>\r\n</div>\r\n\r\n<div class=\"mt-2\" *ngIf=\"storeId === 1 && zoneType?.showCustomerJourney === false && !is478Single\">\r\n <lib-customer-journey-chart *ngIf=\"clientData\" [clientData]=\"clientData\"></lib-customer-journey-chart>\r\n</div>\r\n\r\n<div class=\"mt-4\" *ngIf=\"storeId > 1 || is478Single\">\r\n <lib-zone-summary-table *ngIf=\"clientData\" [clientData]=\"clientData\"></lib-zone-summary-table>\r\n</div>\r\n</div>\r\n<div *ngIf=\"showReportProcessingCard && !dataProcessedLoading\" class=\"row px-3\"> \r\n <div class=\"card dataprocessed pb-0 px-0 d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"dataprocessedgif\" src=\"./assets/tango/Icons/data_analyse_gif.gif\" alt=\"\">\r\n <div class=\"dataprocessed-title\">Data being Processed</div>\r\n <div class=\"dataprocessed-sub\">Data for the selected date {{ yesterdayDate }}, is currently being processed and will be available shortly.</div>\r\n <div class=\"dataprocessed-sub\"> If you wish to view data for other dates, Remove {{ yesterdayDate }} from your selection or choose a different date range.</div> \r\n </div>\r\n\r\n</div>\r\n<div *ngIf=\"dataProcessedLoading\" class=\"card row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n</div> ", styles: [":host{display:block;width:100%;max-width:1600px;margin-left:auto;margin-right:auto}.dataprocessed{height:500px}.dataprocessedgif{height:150px;width:150px}.dataprocessed-title{color:var(--Gray-900, #101828);text-align:center;font-size:24px;font-style:normal;font-weight:600;line-height:32px}.dataprocessed-sub{color:var(--Gray-500, #667085);text-align:center;font-size:18px;font-style:normal;font-weight:500;line-height:28px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.OverallcardsComponent, selector: "lib-overallcards" }, { kind: "component", type: i5.TopPerformingZonesComponent, selector: "lib-top-performing-zones", inputs: ["clientData"] }, { kind: "component", type: i6.ZoneSummaryTableComponent, selector: "lib-zone-summary-table" }, { kind: "component", type: i7.ZoneConcentrationComponent, selector: "lib-zone-concentration" }, { kind: "component", type: i8.SegmentationComponent, selector: "lib-segmentation", outputs: ["dataEmitter"] }, { kind: "component", type: i9.InterationTableClient459Component, selector: "lib-interation-table-client459" }, { kind: "component", type: i10.CustomerJourneyChartComponent, selector: "lib-customer-journey-chart", inputs: ["clientData"] }] });
120
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TangoAnalyseZoneComponent, selector: "lib-tango-analyse-zone", ngImport: i0, template: "<div *ngIf=\"!showReportProcessingCard && !dataProcessedLoading\">\r\n<!-- Concentration first for legacy single-store clients (NOT 478, which places it after overall cards) -->\r\n<div *ngIf=\"storeId === 1 && !is478Single\">\r\n<lib-zone-concentration></lib-zone-concentration>\r\n</div>\r\n<div class=\"mt-4\" *ngIf=\"!(storeId > 1 && headerData?.client === '459')\">\r\n <lib-overallcards></lib-overallcards>\r\n</div>\r\n<!-- 478 single-store: Band 2 = Concentration Summary + Heatmap, placed right after the overall cards -->\r\n<div class=\"mt-4\" *ngIf=\"is478Single\">\r\n <lib-zone-concentration></lib-zone-concentration>\r\n</div>\r\n<div *ngIf=\"storeId === 1 && !is478Single\">\r\n <lib-segmentation></lib-segmentation>\r\n</div>\r\n<div class=\"mt-4\" *ngIf=\"storeId === 1\">\r\n <lib-dwell-time-slabs></lib-dwell-time-slabs>\r\n</div>\r\n <!-- <ng-container *ngIf=\"hasSegmentationData === true\"> -->\r\n \r\n <!-- </ng-container> -->\r\n <!-- <div *ngIf=\"storeId === 1 && headerData?.client === '430'\" class=\"col-8\">\r\n <lib-interation-table-client430></lib-interation-table-client430>\r\n </div>\r\n <div *ngIf=\"storeId === 1 && headerData?.client === '430'\" class=\"col-4\">\r\n <lib-passerby-table></lib-passerby-table>\r\n </div>\r\n </div> -->\r\n\r\n\r\n<div class=\"mt-4\" *ngIf=\"storeId === 1 && headerData?.client === '459'\">\r\n<lib-interation-table-client459></lib-interation-table-client459>\r\n</div>\r\n<!-- Band 3 (Zone Performance + Shopper Analysis) + Band 5 (Summary): multi-store, plus 478 single-store -->\r\n<div class=\"mt-2\" *ngIf=\"storeId > 1 || is478Single\">\r\n <div *ngIf=\"headerData?.client !== '459'\">\r\n <lib-top-performing-zones *ngIf=\"clientData\" [clientData]=\"clientData\"></lib-top-performing-zones>\r\n </div>\r\n</div>\r\n\r\n<div class=\"mt-2\" *ngIf=\"storeId === 1 && zoneType?.showCustomerJourney === false && !is478Single\">\r\n <lib-customer-journey-chart *ngIf=\"clientData\" [clientData]=\"clientData\"></lib-customer-journey-chart>\r\n</div>\r\n\r\n<div class=\"mt-4\" *ngIf=\"storeId > 1 || is478Single\">\r\n <lib-zone-summary-table *ngIf=\"clientData\" [clientData]=\"clientData\"></lib-zone-summary-table>\r\n</div>\r\n</div>\r\n<div *ngIf=\"showReportProcessingCard && !dataProcessedLoading\" class=\"row px-3\"> \r\n <div class=\"card dataprocessed pb-0 px-0 d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"dataprocessedgif\" src=\"./assets/tango/Icons/data_analyse_gif.gif\" alt=\"\">\r\n <div class=\"dataprocessed-title\">Data being Processed</div>\r\n <div class=\"dataprocessed-sub\">Data for the selected date {{ yesterdayDate }}, is currently being processed and will be available shortly.</div>\r\n <div class=\"dataprocessed-sub\"> If you wish to view data for other dates, Remove {{ yesterdayDate }} from your selection or choose a different date range.</div> \r\n </div>\r\n\r\n</div>\r\n<div *ngIf=\"dataProcessedLoading\" class=\"card row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n</div> ", styles: [":host{display:block;width:100%;max-width:1600px;margin-left:auto;margin-right:auto}.dataprocessed{height:500px}.dataprocessedgif{height:150px;width:150px}.dataprocessed-title{color:var(--Gray-900, #101828);text-align:center;font-size:24px;font-style:normal;font-weight:600;line-height:32px}.dataprocessed-sub{color:var(--Gray-500, #667085);text-align:center;font-size:18px;font-style:normal;font-weight:500;line-height:28px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.OverallcardsComponent, selector: "lib-overallcards" }, { kind: "component", type: i5.TopPerformingZonesComponent, selector: "lib-top-performing-zones", inputs: ["clientData"] }, { kind: "component", type: i6.ZoneSummaryTableComponent, selector: "lib-zone-summary-table" }, { kind: "component", type: i7.ZoneConcentrationComponent, selector: "lib-zone-concentration" }, { kind: "component", type: i8.DwellTimeSlabsComponent, selector: "lib-dwell-time-slabs" }, { kind: "component", type: i9.SegmentationComponent, selector: "lib-segmentation", outputs: ["dataEmitter"] }, { kind: "component", type: i10.InterationTableClient459Component, selector: "lib-interation-table-client459" }, { kind: "component", type: i11.CustomerJourneyChartComponent, selector: "lib-customer-journey-chart", inputs: ["clientData"] }] });
120
121
  }
121
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoAnalyseZoneComponent, decorators: [{
122
123
  type: Component,
123
- args: [{ selector: 'lib-tango-analyse-zone', template: "<div *ngIf=\"!showReportProcessingCard && !dataProcessedLoading\">\r\n<!-- Concentration first for legacy single-store clients (NOT 478, which places it after overall cards) -->\r\n<div *ngIf=\"storeId === 1 && !is478Single\">\r\n<lib-zone-concentration></lib-zone-concentration>\r\n</div>\r\n<div class=\"mt-4\" *ngIf=\"!(storeId > 1 && headerData?.client === '459')\">\r\n <lib-overallcards></lib-overallcards>\r\n</div>\r\n<!-- 478 single-store: Band 2 = Concentration Summary + Heatmap, placed right after the overall cards -->\r\n<div class=\"mt-4\" *ngIf=\"is478Single\">\r\n <lib-zone-concentration></lib-zone-concentration>\r\n</div>\r\n<div *ngIf=\"storeId === 1 && !is478Single\">\r\n <lib-segmentation></lib-segmentation>\r\n</div>\r\n <!-- <ng-container *ngIf=\"hasSegmentationData === true\"> -->\r\n \r\n <!-- </ng-container> -->\r\n <!-- <div *ngIf=\"storeId === 1 && headerData?.client === '430'\" class=\"col-8\">\r\n <lib-interation-table-client430></lib-interation-table-client430>\r\n </div>\r\n <div *ngIf=\"storeId === 1 && headerData?.client === '430'\" class=\"col-4\">\r\n <lib-passerby-table></lib-passerby-table>\r\n </div>\r\n </div> -->\r\n\r\n\r\n<div class=\"mt-4\" *ngIf=\"storeId === 1 && headerData?.client === '459'\">\r\n<lib-interation-table-client459></lib-interation-table-client459>\r\n</div>\r\n<!-- Band 3 (Zone Performance + Shopper Analysis) + Band 5 (Summary): multi-store, plus 478 single-store -->\r\n<div class=\"mt-2\" *ngIf=\"storeId > 1 || is478Single\">\r\n <div *ngIf=\"headerData?.client !== '459'\">\r\n <lib-top-performing-zones *ngIf=\"clientData\" [clientData]=\"clientData\"></lib-top-performing-zones>\r\n </div>\r\n</div>\r\n\r\n<div class=\"mt-2\" *ngIf=\"storeId === 1 && zoneType?.showCustomerJourney === false && !is478Single\">\r\n <lib-customer-journey-chart *ngIf=\"clientData\" [clientData]=\"clientData\"></lib-customer-journey-chart>\r\n</div>\r\n\r\n<div class=\"mt-4\" *ngIf=\"storeId > 1 || is478Single\">\r\n <lib-zone-summary-table *ngIf=\"clientData\" [clientData]=\"clientData\"></lib-zone-summary-table>\r\n</div>\r\n</div>\r\n<div *ngIf=\"showReportProcessingCard && !dataProcessedLoading\" class=\"row px-3\"> \r\n <div class=\"card dataprocessed pb-0 px-0 d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"dataprocessedgif\" src=\"./assets/tango/Icons/data_analyse_gif.gif\" alt=\"\">\r\n <div class=\"dataprocessed-title\">Data being Processed</div>\r\n <div class=\"dataprocessed-sub\">Data for the selected date {{ yesterdayDate }}, is currently being processed and will be available shortly.</div>\r\n <div class=\"dataprocessed-sub\"> If you wish to view data for other dates, Remove {{ yesterdayDate }} from your selection or choose a different date range.</div> \r\n </div>\r\n\r\n</div>\r\n<div *ngIf=\"dataProcessedLoading\" class=\"card row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n</div> ", styles: [":host{display:block;width:100%;max-width:1600px;margin-left:auto;margin-right:auto}.dataprocessed{height:500px}.dataprocessedgif{height:150px;width:150px}.dataprocessed-title{color:var(--Gray-900, #101828);text-align:center;font-size:24px;font-style:normal;font-weight:600;line-height:32px}.dataprocessed-sub{color:var(--Gray-500, #667085);text-align:center;font-size:18px;font-style:normal;font-weight:500;line-height:28px}\n"] }]
124
+ args: [{ selector: 'lib-tango-analyse-zone', template: "<div *ngIf=\"!showReportProcessingCard && !dataProcessedLoading\">\r\n<!-- Concentration first for legacy single-store clients (NOT 478, which places it after overall cards) -->\r\n<div *ngIf=\"storeId === 1 && !is478Single\">\r\n<lib-zone-concentration></lib-zone-concentration>\r\n</div>\r\n<div class=\"mt-4\" *ngIf=\"!(storeId > 1 && headerData?.client === '459')\">\r\n <lib-overallcards></lib-overallcards>\r\n</div>\r\n<!-- 478 single-store: Band 2 = Concentration Summary + Heatmap, placed right after the overall cards -->\r\n<div class=\"mt-4\" *ngIf=\"is478Single\">\r\n <lib-zone-concentration></lib-zone-concentration>\r\n</div>\r\n<div *ngIf=\"storeId === 1 && !is478Single\">\r\n <lib-segmentation></lib-segmentation>\r\n</div>\r\n<div class=\"mt-4\" *ngIf=\"storeId === 1\">\r\n <lib-dwell-time-slabs></lib-dwell-time-slabs>\r\n</div>\r\n <!-- <ng-container *ngIf=\"hasSegmentationData === true\"> -->\r\n \r\n <!-- </ng-container> -->\r\n <!-- <div *ngIf=\"storeId === 1 && headerData?.client === '430'\" class=\"col-8\">\r\n <lib-interation-table-client430></lib-interation-table-client430>\r\n </div>\r\n <div *ngIf=\"storeId === 1 && headerData?.client === '430'\" class=\"col-4\">\r\n <lib-passerby-table></lib-passerby-table>\r\n </div>\r\n </div> -->\r\n\r\n\r\n<div class=\"mt-4\" *ngIf=\"storeId === 1 && headerData?.client === '459'\">\r\n<lib-interation-table-client459></lib-interation-table-client459>\r\n</div>\r\n<!-- Band 3 (Zone Performance + Shopper Analysis) + Band 5 (Summary): multi-store, plus 478 single-store -->\r\n<div class=\"mt-2\" *ngIf=\"storeId > 1 || is478Single\">\r\n <div *ngIf=\"headerData?.client !== '459'\">\r\n <lib-top-performing-zones *ngIf=\"clientData\" [clientData]=\"clientData\"></lib-top-performing-zones>\r\n </div>\r\n</div>\r\n\r\n<div class=\"mt-2\" *ngIf=\"storeId === 1 && zoneType?.showCustomerJourney === false && !is478Single\">\r\n <lib-customer-journey-chart *ngIf=\"clientData\" [clientData]=\"clientData\"></lib-customer-journey-chart>\r\n</div>\r\n\r\n<div class=\"mt-4\" *ngIf=\"storeId > 1 || is478Single\">\r\n <lib-zone-summary-table *ngIf=\"clientData\" [clientData]=\"clientData\"></lib-zone-summary-table>\r\n</div>\r\n</div>\r\n<div *ngIf=\"showReportProcessingCard && !dataProcessedLoading\" class=\"row px-3\"> \r\n <div class=\"card dataprocessed pb-0 px-0 d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"dataprocessedgif\" src=\"./assets/tango/Icons/data_analyse_gif.gif\" alt=\"\">\r\n <div class=\"dataprocessed-title\">Data being Processed</div>\r\n <div class=\"dataprocessed-sub\">Data for the selected date {{ yesterdayDate }}, is currently being processed and will be available shortly.</div>\r\n <div class=\"dataprocessed-sub\"> If you wish to view data for other dates, Remove {{ yesterdayDate }} from your selection or choose a different date range.</div> \r\n </div>\r\n\r\n</div>\r\n<div *ngIf=\"dataProcessedLoading\" class=\"card row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n</div> ", styles: [":host{display:block;width:100%;max-width:1600px;margin-left:auto;margin-right:auto}.dataprocessed{height:500px}.dataprocessedgif{height:150px;width:150px}.dataprocessed-title{color:var(--Gray-900, #101828);text-align:center;font-size:24px;font-style:normal;font-weight:600;line-height:32px}.dataprocessed-sub{color:var(--Gray-500, #667085);text-align:center;font-size:18px;font-style:normal;font-weight:500;line-height:28px}\n"] }]
124
125
  }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i1.GlobalStateService }, { type: i2.ZoneService }, { type: i0.ChangeDetectorRef }] });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYW5hbHlzZS16b25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2Utem9uZS9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYW5hbHlzZS16b25lL3RhbmdvLWFuYWx5c2Utem9uZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXpvbmUvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLWFuYWx5c2Utem9uZS90YW5nby1hbmFseXNlLXpvbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBYyxPQUFPLEVBQUUsWUFBWSxFQUF3QixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztBQU8xRixNQUFNLE9BQU8seUJBQXlCO0lBYzFCO0lBQWlDO0lBQStCO0lBQWdDO0lBYjFHLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEIsUUFBUSxDQUFTO0lBQ2pCLFVBQVUsQ0FBTTtJQUNoQix3QkFBd0IsR0FBWSxJQUFJLENBQUM7SUFDekMsYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixvQkFBb0IsR0FBRyxJQUFJLENBQUM7SUFDWCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUUxQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsWUFDVSxRQUF5QixFQUFRLEVBQXNCLEVBQVMsV0FBdUIsRUFBUyxFQUFvQjtRQUFwSCxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUFRLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQVMs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bEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO29CQUNuQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2lCQUNoRTtZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFDSCxDQUFDO3dHQXZHTSx5QkFBeUI7NEZBQXpCLHlCQUF5Qiw4RENUdEMsa2pIQXFFUTs7NEZENURLLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UsIFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWm9uZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy96b25lLnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10YW5nby1hbmFseXNlLXpvbmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YW5nby1hbmFseXNlLXpvbmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90YW5nby1hbmFseXNlLXpvbmUuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFuZ29BbmFseXNlWm9uZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIHN0b3JlSWQ6IG51bWJlciA9IDA7XHJcbiAgY2xpZW50SWQ6IG51bWJlcjsgXHJcbiAgaGVhZGVyRGF0YTogYW55O1xyXG4gIHNob3dSZXBvcnRQcm9jZXNzaW5nQ2FyZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgeWVzdGVyZGF5RGF0ZTogc3RyaW5nID0gJyc7XHJcbiAgZGF0YVByb2Nlc3NlZExvYWRpbmcgPSB0cnVlO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UscHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UscHJpdmF0ZSB6b25lU2VydmljZTpab25lU2VydmljZSxwcml2YXRlIGNkOkNoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge1xyXG4gIH1cclxuICBjbGllbnREYXRhOiBhbnk7XHJcbiAgem9uZVR5cGU6IGFueSA9IHt9O1xyXG4gIC8vIHJlY2VpdmVkRGF0YTogYW55ID0gJyc7XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFBhZ2VEYXRhKCk7XHJcbiAgICB0aGlzLmdzLnNlbGVjdGVkQ2xpZW50XHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoY29uZmlnOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgICAgICB0aGlzLmNsaWVudERhdGEgPSBjb25maWc7XHJcbiAgICAgICAgICB0aGlzLnpvbmVUeXBlID0gY29uZmlnPy56b25lVHlwZSB8fCB7fTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKCF0aGlzLmNsaWVudERhdGEpIHtcclxuICAgICAgY29uc3Qgc3RvcmVkOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiY2xpZW50LWRldGFpbHNcIikgfHwgXCJ7fVwiKTtcclxuICAgICAgdGhpcy5jbGllbnREYXRhID0gc3RvcmVkO1xyXG4gICAgICB0aGlzLnpvbmVUeXBlID0gc3RvcmVkPy56b25lVHlwZSB8fCB7fTtcclxuICAgIH1cclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWVcclxuICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKDMwMCkpXHJcbiAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoIWRhdGEgfHwgZGF0YSA9PT0gdGhpcy5oZWFkZXJEYXRhKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5oZWFkZXJEYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVN0b3JlSWQoKVxyXG4gICAgICAgIHRoaXMuY2hlY2tUb2RheVJlcG9ydFN0YXR1cygpXHJcbn0pXHJcbn1cclxuXHJcbmhhc1NlZ21lbnRhdGlvbkRhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbnVwZGF0ZVNlZ21lbnRhdGlvblN0YXR1cyhoYXNEYXRhOiBib29sZWFuKSB7XHJcbiAgdGhpcy5oYXNTZWdtZW50YXRpb25EYXRhID0gaGFzRGF0YTtcclxufVxyXG4vLyByZWNlaXZlRGF0YShkYXRhOiBhbnkpIHtcclxuLy8gICB0aGlzLnJlY2VpdmVkRGF0YSA9IGRhdGE7XHJcbi8vICAgY29uc29sZS5sb2coZGF0YSlcclxuLy8gICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuLy8gfVxyXG5cclxuICBzZXRQYWdlRGF0YSgpIHtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoXCJab25lc1wiKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0RGVzY3JpcHRpb24oXCJab25lc1wiKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0QnJlYWRjcnVtYnMoW1xyXG4gICAgICB7IHRpdGxlOiBcIlRhbmdvIEV5ZVwiLCBwYXRoOiBcIi9tYW5hZ2UvdHJhZmZpY1wiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiBcIlRhbmdvIEV5ZVwiLCBwYXRoOiBcIi9tYW5hZ2UvdHJhZmZpY1wiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlIH0sXHJcbiAgICBdKTtcclxuICB9XHJcbiAgdXBkYXRlU3RvcmVJZCgpOiB2b2lkIHtcclxuICAgICB0aGlzLnN0b3JlSWQgPSB0aGlzLmhlYWRlckRhdGE/LnN0b3Jlcz8uZmlsdGVyKChzdG9yZTogYW55KSA9PiBzdG9yZT8uY2hlY2tlZCkubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgLyoqIFBhbnQgUHJvamVjdCAoY2xpZW50IDQ3OCkgdmlld2luZyBhIHNpbmdsZSBzdG9yZTogZ2V0cyB0aGUgbXVsdGktc3RvcmUgbGF5b3V0ICsgQ29uY2VudHJhdGlvbi9IZWF0bWFwLiAqL1xyXG4gIGdldCBpczQ3OFNpbmdsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlSWQgPT09IDEgJiYgdGhpcy5oZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NzgnO1xyXG4gIH1cclxuXHJcbiAgIGNoZWNrVG9kYXlSZXBvcnRTdGF0dXMoKTogdm9pZCB7XHJcbiAgICAgIHRoaXMuZGF0YVByb2Nlc3NlZExvYWRpbmcgPSB0cnVlO1xyXG4gICAgICBjb25zdCByZXBvcnRQYXJhbXMgPSB7XHJcbiAgICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50LFxyXG4gICAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YT8uZGF0ZT8uZW5kRGF0ZVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnpvbmVTZXJ2aWNlLmdldENoZWNrVG9kYXlSZXBvcnRTdGF0dXMocmVwb3J0UGFyYW1zKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kYXRhUHJvY2Vzc2VkTG9hZGluZyA9IGZhbHNlXHJcbiAgICAgICAgICB0aGlzLnNob3dSZXBvcnRQcm9jZXNzaW5nQ2FyZCA9IHJlcz8uZGF0YT8ucmVwb3J0U2VuZFN0YXR1cyA9PT0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMueWVzdGVyZGF5RGF0ZSA9IHJlcz8uZGF0YT8ueWVzdGVyZGF5IHx8ICcnO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuc2hvd1JlcG9ydFByb2Nlc3NpbmdDYXJkICYmIHRoaXMuaGVhZGVyRGF0YSkge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dCh0aGlzLmhlYWRlckRhdGEpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBjaGVja2luZyByZXBvcnQgc3RhdHVzOicsIGVycik7XHJcbiAgICAgICAgICB0aGlzLnNob3dSZXBvcnRQcm9jZXNzaW5nQ2FyZCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5kYXRhUHJvY2Vzc2VkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICBpZiAodGhpcy5oZWFkZXJEYXRhKSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5uZXh0KHRoaXMuaGVhZGVyRGF0YSkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiIXNob3dSZXBvcnRQcm9jZXNzaW5nQ2FyZCAmJiAhZGF0YVByb2Nlc3NlZExvYWRpbmdcIj5cclxuPCEtLSBDb25jZW50cmF0aW9uIGZpcnN0IGZvciBsZWdhY3kgc2luZ2xlLXN0b3JlIGNsaWVudHMgKE5PVCA0NzgsIHdoaWNoIHBsYWNlcyBpdCBhZnRlciBvdmVyYWxsIGNhcmRzKSAtLT5cclxuPGRpdiAqbmdJZj1cInN0b3JlSWQgPT09IDEgJiYgIWlzNDc4U2luZ2xlXCI+XHJcbjxsaWItem9uZS1jb25jZW50cmF0aW9uPjwvbGliLXpvbmUtY29uY2VudHJhdGlvbj5cclxuPC9kaXY+XHJcbjxkaXYgIGNsYXNzPVwibXQtNFwiICpuZ0lmPVwiIShzdG9yZUlkID4gMSAmJiBoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0NTknKVwiPlxyXG4gIDxsaWItb3ZlcmFsbGNhcmRzPjwvbGliLW92ZXJhbGxjYXJkcz5cclxuPC9kaXY+XHJcbjwhLS0gNDc4IHNpbmdsZS1zdG9yZTogQmFuZCAyID0gQ29uY2VudHJhdGlvbiBTdW1tYXJ5ICsgSGVhdG1hcCwgcGxhY2VkIHJpZ2h0IGFmdGVyIHRoZSBvdmVyYWxsIGNhcmRzIC0tPlxyXG48ZGl2IGNsYXNzPVwibXQtNFwiICpuZ0lmPVwiaXM0NzhTaW5nbGVcIj5cclxuICA8bGliLXpvbmUtY29uY2VudHJhdGlvbj48L2xpYi16b25lLWNvbmNlbnRyYXRpb24+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwic3RvcmVJZCA9PT0gMSAmJiAhaXM0NzhTaW5nbGVcIj5cclxuICA8bGliLXNlZ21lbnRhdGlvbj48L2xpYi1zZWdtZW50YXRpb24+XHJcbjwvZGl2PlxyXG4gICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNTZWdtZW50YXRpb25EYXRhID09PSB0cnVlXCI+IC0tPlxyXG4gICAgICBcclxuICAgICAgPCEtLSA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgIDwhLS0gPGRpdiAqbmdJZj1cInN0b3JlSWQgPT09IDEgJiYgaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDMwJ1wiIGNsYXNzPVwiY29sLThcIj5cclxuICAgICAgICAgICAgICAgICAgPGxpYi1pbnRlcmF0aW9uLXRhYmxlLWNsaWVudDQzMD48L2xpYi1pbnRlcmF0aW9uLXRhYmxlLWNsaWVudDQzMD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN0b3JlSWQgPT09IDEgJiYgaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDMwJ1wiIGNsYXNzPVwiY29sLTRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxpYi1wYXNzZXJieS10YWJsZT48L2xpYi1wYXNzZXJieS10YWJsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuXHJcbjxkaXYgY2xhc3M9XCJtdC00XCIgKm5nSWY9XCJzdG9yZUlkID09PSAxICYmIGhlYWRlckRhdGE/LmNsaWVudCA9PT0gJzQ1OSdcIj5cclxuPGxpYi1pbnRlcmF0aW9uLXRhYmxlLWNsaWVudDQ1OT48L2xpYi1pbnRlcmF0aW9uLXRhYmxlLWNsaWVudDQ1OT5cclxuPC9kaXY+XHJcbjwhLS0gQmFuZCAzIChab25lIFBlcmZvcm1hbmNlICsgU2hvcHBlciBBbmFseXNpcykgKyBCYW5kIDUgKFN1bW1hcnkpOiBtdWx0aS1zdG9yZSwgcGx1cyA0Nzggc2luZ2xlLXN0b3JlIC0tPlxyXG48ZGl2IGNsYXNzPVwibXQtMlwiICpuZ0lmPVwic3RvcmVJZCA+IDEgfHwgaXM0NzhTaW5nbGVcIj5cclxuICA8ZGl2ICpuZ0lmPVwiaGVhZGVyRGF0YT8uY2xpZW50ICE9PSAnNDU5J1wiPlxyXG4gICAgPGxpYi10b3AtcGVyZm9ybWluZy16b25lcyAqbmdJZj1cImNsaWVudERhdGFcIiBbY2xpZW50RGF0YV09XCJjbGllbnREYXRhXCI+PC9saWItdG9wLXBlcmZvcm1pbmctem9uZXM+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm10LTJcIiAqbmdJZj1cInN0b3JlSWQgPT09IDEgJiYgem9uZVR5cGU/LnNob3dDdXN0b21lckpvdXJuZXkgPT09IGZhbHNlICYmICFpczQ3OFNpbmdsZVwiPlxyXG4gIDxsaWItY3VzdG9tZXItam91cm5leS1jaGFydCAqbmdJZj1cImNsaWVudERhdGFcIiBbY2xpZW50RGF0YV09XCJjbGllbnREYXRhXCI+PC9saWItY3VzdG9tZXItam91cm5leS1jaGFydD5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwibXQtNFwiICpuZ0lmPVwic3RvcmVJZCA+IDEgfHwgaXM0NzhTaW5nbGVcIj5cclxuICA8bGliLXpvbmUtc3VtbWFyeS10YWJsZSAqbmdJZj1cImNsaWVudERhdGFcIiBbY2xpZW50RGF0YV09XCJjbGllbnREYXRhXCI+PC9saWItem9uZS1zdW1tYXJ5LXRhYmxlPlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJzaG93UmVwb3J0UHJvY2Vzc2luZ0NhcmQgJiYgIWRhdGFQcm9jZXNzZWRMb2FkaW5nXCIgY2xhc3M9XCJyb3cgcHgtM1wiPiAgICAgICAgICAgICAgICAgICAgICBcclxuICA8ZGl2IGNsYXNzPVwiY2FyZCBkYXRhcHJvY2Vzc2VkIHBiLTAgcHgtMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgPGltZyBjbGFzcz1cImRhdGFwcm9jZXNzZWRnaWZcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9kYXRhX2FuYWx5c2VfZ2lmLmdpZlwiIGFsdD1cIlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGF0YXByb2Nlc3NlZC10aXRsZVwiPkRhdGEgYmVpbmcgUHJvY2Vzc2VkPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRhcHJvY2Vzc2VkLXN1YlwiPkRhdGEgZm9yIHRoZSBzZWxlY3RlZCBkYXRlIHt7IHllc3RlcmRheURhdGUgfX0sIGlzIGN1cnJlbnRseSBiZWluZyBwcm9jZXNzZWQgYW5kIHdpbGwgYmUgYXZhaWxhYmxlIHNob3J0bHkuPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRhcHJvY2Vzc2VkLXN1YlwiPiBJZiB5b3Ugd2lzaCB0byB2aWV3IGRhdGEgZm9yIG90aGVyIGRhdGVzLCBSZW1vdmUge3sgeWVzdGVyZGF5RGF0ZSB9fSBmcm9tIHlvdXIgc2VsZWN0aW9uIG9yIGNob29zZSBhIGRpZmZlcmVudCBkYXRlIHJhbmdlLjwvZGl2PiAgICBcclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwiZGF0YVByb2Nlc3NlZExvYWRpbmdcIiBjbGFzcz1cImNhcmQgcm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4gICJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tYW5hbHlzZS16b25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2Utem9uZS9zcmMvbGliL2NvbXBvbmVudHMvdGFuZ28tYW5hbHlzZS16b25lL3RhbmdvLWFuYWx5c2Utem9uZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXpvbmUvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLWFuYWx5c2Utem9uZS90YW5nby1hbmFseXNlLXpvbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBYyxPQUFPLEVBQUUsWUFBWSxFQUF3QixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFPMUYsTUFBTSxPQUFPLHlCQUF5QjtJQWMxQjtJQUFpQztJQUErQjtJQUFnQztJQWIxRyxPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBQ3BCLFFBQVEsQ0FBUztJQUNqQixVQUFVLENBQU07SUFDaEIsd0JBQXdCLEdBQVksSUFBSSxDQUFDO0lBQ3pDLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0Isb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQ1gsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFMUMsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELFlBQ1UsUUFBeUIsRUFBUSxFQUFzQixFQUFTLFdBQXVCLEVBQVMsRUFBb0I7UUFBcEgsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFBUSxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUFT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Q2xDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDbkIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztpQkFDaEU7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0gsQ0FBQzt3R0F2R00seUJBQXlCOzRGQUF6Qix5QkFBeUIsOERDVHRDLCtwSEF3RVE7OzRGRC9ESyx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFpvbmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvem9uZS5zZXJ2aWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFuZ28tYW5hbHlzZS16b25lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFuZ28tYW5hbHlzZS16b25lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdGFuZ28tYW5hbHlzZS16b25lLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhbmdvQW5hbHlzZVpvbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsT25EZXN0cm95IHtcclxuICBzdG9yZUlkOiBudW1iZXIgPSAwO1xyXG4gIGNsaWVudElkOiBudW1iZXI7IFxyXG4gIGhlYWRlckRhdGE6IGFueTtcclxuICBzaG93UmVwb3J0UHJvY2Vzc2luZ0NhcmQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHllc3RlcmRheURhdGU6IHN0cmluZyA9ICcnO1xyXG4gIGRhdGFQcm9jZXNzZWRMb2FkaW5nID0gdHJ1ZTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwYWdlSW5mbzogUGFnZUluZm9TZXJ2aWNlLHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLHByaXZhdGUgem9uZVNlcnZpY2U6Wm9uZVNlcnZpY2UscHJpdmF0ZSBjZDpDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHtcclxuICB9XHJcbiAgY2xpZW50RGF0YTogYW55O1xyXG4gIHpvbmVUeXBlOiBhbnkgPSB7fTtcclxuICAvLyByZWNlaXZlZERhdGE6IGFueSA9ICcnO1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gICAgdGhpcy5ncy5zZWxlY3RlZENsaWVudFxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZzogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGNvbmZpZykge1xyXG4gICAgICAgICAgdGhpcy5jbGllbnREYXRhID0gY29uZmlnO1xyXG4gICAgICAgICAgdGhpcy56b25lVHlwZSA9IGNvbmZpZz8uem9uZVR5cGUgfHwge307XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIGlmICghdGhpcy5jbGllbnREYXRhKSB7XHJcbiAgICAgIGNvbnN0IHN0b3JlZDogYW55ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImNsaWVudC1kZXRhaWxzXCIpIHx8IFwie31cIik7XHJcbiAgICAgIHRoaXMuY2xpZW50RGF0YSA9IHN0b3JlZDtcclxuICAgICAgdGhpcy56b25lVHlwZSA9IHN0b3JlZD8uem9uZVR5cGUgfHwge307XHJcbiAgICB9XHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlXHJcbiAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRlYm91bmNlVGltZSgzMDApKVxyXG4gICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKCFkYXRhIHx8IGRhdGEgPT09IHRoaXMuaGVhZGVyRGF0YSkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuaGVhZGVyRGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy51cGRhdGVTdG9yZUlkKClcclxuICAgICAgICB0aGlzLmNoZWNrVG9kYXlSZXBvcnRTdGF0dXMoKVxyXG59KVxyXG59XHJcblxyXG5oYXNTZWdtZW50YXRpb25EYXRhOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG51cGRhdGVTZWdtZW50YXRpb25TdGF0dXMoaGFzRGF0YTogYm9vbGVhbikge1xyXG4gIHRoaXMuaGFzU2VnbWVudGF0aW9uRGF0YSA9IGhhc0RhdGE7XHJcbn1cclxuLy8gcmVjZWl2ZURhdGEoZGF0YTogYW55KSB7XHJcbi8vICAgdGhpcy5yZWNlaXZlZERhdGEgPSBkYXRhO1xyXG4vLyAgIGNvbnNvbGUubG9nKGRhdGEpXHJcbi8vICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbi8vIH1cclxuXHJcbiAgc2V0UGFnZURhdGEoKSB7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldFRpdGxlKFwiWm9uZXNcIik7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldERlc2NyaXB0aW9uKFwiWm9uZXNcIik7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogXCJUYW5nbyBFeWVcIiwgcGF0aDogXCIvbWFuYWdlL3RyYWZmaWNcIiwgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogZmFsc2UgfSxcclxuICAgICAgeyB0aXRsZTogXCJUYW5nbyBFeWVcIiwgcGF0aDogXCIvbWFuYWdlL3RyYWZmaWNcIiwgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LFxyXG4gICAgXSk7XHJcbiAgfVxyXG4gIHVwZGF0ZVN0b3JlSWQoKTogdm9pZCB7XHJcbiAgICAgdGhpcy5zdG9yZUlkID0gdGhpcy5oZWFkZXJEYXRhPy5zdG9yZXM/LmZpbHRlcigoc3RvcmU6IGFueSkgPT4gc3RvcmU/LmNoZWNrZWQpLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIC8qKiBQYW50IFByb2plY3QgKGNsaWVudCA0NzgpIHZpZXdpbmcgYSBzaW5nbGUgc3RvcmU6IGdldHMgdGhlIG11bHRpLXN0b3JlIGxheW91dCArIENvbmNlbnRyYXRpb24vSGVhdG1hcC4gKi9cclxuICBnZXQgaXM0NzhTaW5nbGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZUlkID09PSAxICYmIHRoaXMuaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDc4JztcclxuICB9XHJcblxyXG4gICBjaGVja1RvZGF5UmVwb3J0U3RhdHVzKCk6IHZvaWQge1xyXG4gICAgICB0aGlzLmRhdGFQcm9jZXNzZWRMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgY29uc3QgcmVwb3J0UGFyYW1zID0ge1xyXG4gICAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckRhdGE/LmNsaWVudCxcclxuICAgICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGE/LmRhdGU/LmVuZERhdGVcclxuICAgICAgfTtcclxuICAgICAgdGhpcy56b25lU2VydmljZS5nZXRDaGVja1RvZGF5UmVwb3J0U3RhdHVzKHJlcG9ydFBhcmFtcylcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGF0YVByb2Nlc3NlZExvYWRpbmcgPSBmYWxzZVxyXG4gICAgICAgICAgdGhpcy5zaG93UmVwb3J0UHJvY2Vzc2luZ0NhcmQgPSByZXM/LmRhdGE/LnJlcG9ydFNlbmRTdGF0dXMgPT09IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnllc3RlcmRheURhdGUgPSByZXM/LmRhdGE/Lnllc3RlcmRheSB8fCAnJztcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgaWYgKCF0aGlzLnNob3dSZXBvcnRQcm9jZXNzaW5nQ2FyZCAmJiB0aGlzLmhlYWRlckRhdGEpIHtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLm5leHQodGhpcy5oZWFkZXJEYXRhKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgY2hlY2tpbmcgcmVwb3J0IHN0YXR1czonLCBlcnIpO1xyXG4gICAgICAgICAgdGhpcy5zaG93UmVwb3J0UHJvY2Vzc2luZ0NhcmQgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZGF0YVByb2Nlc3NlZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgaWYgKHRoaXMuaGVhZGVyRGF0YSkge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUubmV4dCh0aGlzLmhlYWRlckRhdGEpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIiFzaG93UmVwb3J0UHJvY2Vzc2luZ0NhcmQgJiYgIWRhdGFQcm9jZXNzZWRMb2FkaW5nXCI+XHJcbjwhLS0gQ29uY2VudHJhdGlvbiBmaXJzdCBmb3IgbGVnYWN5IHNpbmdsZS1zdG9yZSBjbGllbnRzIChOT1QgNDc4LCB3aGljaCBwbGFjZXMgaXQgYWZ0ZXIgb3ZlcmFsbCBjYXJkcykgLS0+XHJcbjxkaXYgKm5nSWY9XCJzdG9yZUlkID09PSAxICYmICFpczQ3OFNpbmdsZVwiPlxyXG48bGliLXpvbmUtY29uY2VudHJhdGlvbj48L2xpYi16b25lLWNvbmNlbnRyYXRpb24+XHJcbjwvZGl2PlxyXG48ZGl2ICBjbGFzcz1cIm10LTRcIiAqbmdJZj1cIiEoc3RvcmVJZCA+IDEgJiYgaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDU5JylcIj5cclxuICA8bGliLW92ZXJhbGxjYXJkcz48L2xpYi1vdmVyYWxsY2FyZHM+XHJcbjwvZGl2PlxyXG48IS0tIDQ3OCBzaW5nbGUtc3RvcmU6IEJhbmQgMiA9IENvbmNlbnRyYXRpb24gU3VtbWFyeSArIEhlYXRtYXAsIHBsYWNlZCByaWdodCBhZnRlciB0aGUgb3ZlcmFsbCBjYXJkcyAtLT5cclxuPGRpdiBjbGFzcz1cIm10LTRcIiAqbmdJZj1cImlzNDc4U2luZ2xlXCI+XHJcbiAgPGxpYi16b25lLWNvbmNlbnRyYXRpb24+PC9saWItem9uZS1jb25jZW50cmF0aW9uPlxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cInN0b3JlSWQgPT09IDEgJiYgIWlzNDc4U2luZ2xlXCI+XHJcbiAgPGxpYi1zZWdtZW50YXRpb24+PC9saWItc2VnbWVudGF0aW9uPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cIm10LTRcIiAqbmdJZj1cInN0b3JlSWQgPT09IDFcIj5cclxuICA8bGliLWR3ZWxsLXRpbWUtc2xhYnM+PC9saWItZHdlbGwtdGltZS1zbGFicz5cclxuPC9kaXY+XHJcbiAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1NlZ21lbnRhdGlvbkRhdGEgPT09IHRydWVcIj4gLS0+XHJcbiAgICAgIFxyXG4gICAgICA8IS0tIDwvbmctY29udGFpbmVyPiAtLT5cclxuICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwic3RvcmVJZCA9PT0gMSAmJiBoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0MzAnXCIgY2xhc3M9XCJjb2wtOFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGliLWludGVyYXRpb24tdGFibGUtY2xpZW50NDMwPjwvbGliLWludGVyYXRpb24tdGFibGUtY2xpZW50NDMwPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3RvcmVJZCA9PT0gMSAmJiBoZWFkZXJEYXRhPy5jbGllbnQgPT09ICc0MzAnXCIgY2xhc3M9XCJjb2wtNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGliLXBhc3NlcmJ5LXRhYmxlPjwvbGliLXBhc3NlcmJ5LXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG5cclxuPGRpdiBjbGFzcz1cIm10LTRcIiAqbmdJZj1cInN0b3JlSWQgPT09IDEgJiYgaGVhZGVyRGF0YT8uY2xpZW50ID09PSAnNDU5J1wiPlxyXG48bGliLWludGVyYXRpb24tdGFibGUtY2xpZW50NDU5PjwvbGliLWludGVyYXRpb24tdGFibGUtY2xpZW50NDU5PlxyXG48L2Rpdj5cclxuPCEtLSBCYW5kIDMgKFpvbmUgUGVyZm9ybWFuY2UgKyBTaG9wcGVyIEFuYWx5c2lzKSArIEJhbmQgNSAoU3VtbWFyeSk6IG11bHRpLXN0b3JlLCBwbHVzIDQ3OCBzaW5nbGUtc3RvcmUgLS0+XHJcbjxkaXYgY2xhc3M9XCJtdC0yXCIgKm5nSWY9XCJzdG9yZUlkID4gMSB8fCBpczQ3OFNpbmdsZVwiPlxyXG4gIDxkaXYgKm5nSWY9XCJoZWFkZXJEYXRhPy5jbGllbnQgIT09ICc0NTknXCI+XHJcbiAgICA8bGliLXRvcC1wZXJmb3JtaW5nLXpvbmVzICpuZ0lmPVwiY2xpZW50RGF0YVwiIFtjbGllbnREYXRhXT1cImNsaWVudERhdGFcIj48L2xpYi10b3AtcGVyZm9ybWluZy16b25lcz5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwibXQtMlwiICpuZ0lmPVwic3RvcmVJZCA9PT0gMSAmJiB6b25lVHlwZT8uc2hvd0N1c3RvbWVySm91cm5leSA9PT0gZmFsc2UgJiYgIWlzNDc4U2luZ2xlXCI+XHJcbiAgPGxpYi1jdXN0b21lci1qb3VybmV5LWNoYXJ0ICpuZ0lmPVwiY2xpZW50RGF0YVwiIFtjbGllbnREYXRhXT1cImNsaWVudERhdGFcIj48L2xpYi1jdXN0b21lci1qb3VybmV5LWNoYXJ0PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtdC00XCIgKm5nSWY9XCJzdG9yZUlkID4gMSB8fCBpczQ3OFNpbmdsZVwiPlxyXG4gIDxsaWItem9uZS1zdW1tYXJ5LXRhYmxlICpuZ0lmPVwiY2xpZW50RGF0YVwiIFtjbGllbnREYXRhXT1cImNsaWVudERhdGFcIj48L2xpYi16b25lLXN1bW1hcnktdGFibGU+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cInNob3dSZXBvcnRQcm9jZXNzaW5nQ2FyZCAmJiAhZGF0YVByb2Nlc3NlZExvYWRpbmdcIiBjbGFzcz1cInJvdyBweC0zXCI+ICAgICAgICAgICAgICAgICAgICAgIFxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIGRhdGFwcm9jZXNzZWQgcGItMCBweC0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICA8aW1nIGNsYXNzPVwiZGF0YXByb2Nlc3NlZGdpZlwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL2RhdGFfYW5hbHlzZV9naWYuZ2lmXCIgYWx0PVwiXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRhcHJvY2Vzc2VkLXRpdGxlXCI+RGF0YSBiZWluZyBQcm9jZXNzZWQ8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRhdGFwcm9jZXNzZWQtc3ViXCI+RGF0YSBmb3IgdGhlIHNlbGVjdGVkIGRhdGUge3sgeWVzdGVyZGF5RGF0ZSB9fSwgaXMgY3VycmVudGx5IGJlaW5nIHByb2Nlc3NlZCBhbmQgd2lsbCBiZSBhdmFpbGFibGUgc2hvcnRseS48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRhdGFwcm9jZXNzZWQtc3ViXCI+IElmIHlvdSB3aXNoIHRvIHZpZXcgZGF0YSBmb3Igb3RoZXIgZGF0ZXMsIFJlbW92ZSB7eyB5ZXN0ZXJkYXlEYXRlIH19IGZyb20geW91ciBzZWxlY3Rpb24gb3IgY2hvb3NlIGEgZGlmZmVyZW50IGRhdGUgcmFuZ2UuPC9kaXY+ICAgIFxyXG4gIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJkYXRhUHJvY2Vzc2VkTG9hZGluZ1wiIGNsYXNzPVwiY2FyZCByb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiAgIl19