@uiapplib/ngx-ui-web-lib 0.0.22 → 0.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/history-page/history-page.component.mjs +5 -3
- package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +2 -15
- package/fesm2022/uiapplib-ngx-ui-web-lib.mjs +5 -16
- package/fesm2022/uiapplib-ngx-ui-web-lib.mjs.map +1 -1
- package/lib/components/history-page/history-page.component.d.ts.map +1 -1
- package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -402,7 +402,8 @@ export class HistoryPageComponent {
|
|
|
402
402
|
return false;
|
|
403
403
|
}
|
|
404
404
|
open(historyModel) {
|
|
405
|
-
|
|
405
|
+
console.log("transactionId =", historyModel.transactionId);
|
|
406
|
+
this.logger.info('transactionId = ' + historyModel.transactionId);
|
|
406
407
|
this.selectedModel = historyModel;
|
|
407
408
|
if (historyModel.button.uri.includes("Popup")) {
|
|
408
409
|
this.logger.info('History button uri includes Popup value');
|
|
@@ -453,8 +454,9 @@ export class HistoryPageComponent {
|
|
|
453
454
|
}
|
|
454
455
|
else if (historyModel.button && historyModel.button.dialog == 'ovpWaiverPopup') {
|
|
455
456
|
let userModel = this.ls.getUser();
|
|
457
|
+
const transactionId = encodeURIComponent(historyModel.transactionId);
|
|
456
458
|
this.util.showLoader().then(() => {
|
|
457
|
-
window.open(`${LibConstants.benefitsUrlExternal}/faces/virtual/contextswitch.xhtml?a=${userModel.access_token}&r=${userModel.refresh_token}&v=2299&CLAIMANT_PORTAL=true&view=.mefileoverpaymentwaiverrequestdecisionlist`, '_self');
|
|
459
|
+
window.open(`${LibConstants.benefitsUrlExternal}/faces/virtual/contextswitch.xhtml?a=${userModel.access_token}&r=${userModel.refresh_token}&v=2299&CLAIMANT_PORTAL=true&view=.mefileoverpaymentwaiverrequestdecisionlist&transactionId=${transactionId}`, '_self');
|
|
458
460
|
});
|
|
459
461
|
}
|
|
460
462
|
else {
|
|
@@ -592,4 +594,4 @@ export class HistoryPageComponent {
|
|
|
592
594
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(HistoryPageComponent, { className: "HistoryPageComponent", filePath: "lib\\components\\history-page\\history-page.component.ts", lineNumber: 28 }); })();
|
|
593
595
|
export class KeyValueModel {
|
|
594
596
|
}
|
|
595
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVF6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUl2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDZjdCLG1EQUM2QjtJQUQ2QyxtTkFBZSxlQUFBLGdCQUFTLENBQUEsSUFBQyxxTUFDbkYsZUFBQSxtQkFBVyxDQUFBLElBRHdFO0lBQ3RFLGlCQUEwQjs7O0lBRDlCLG9EQUErQjs7OztJQUV4RCxpREFDaUY7SUFBNUQsc01BQVUsZUFBQSwwQkFBa0IsQ0FBQSxJQUFDLDJMQUFZLGVBQUEseUJBQWlCLENBQUEsSUFBN0I7SUFBK0IsaUJBQXdCOzs7SUFEMUQsa0RBQTZCLCtDQUFBLDBCQUFBOzs7SUFFNUUseUNBQWtGOztJQUF2QywrQkFBaUI7OztJQW1CMUMsNEJBQXlCO0lBQUEsWUFBYTtJQUFBLGlCQUFPOzs7SUFBcEIsZUFBYTtJQUFiLG1DQUFhOzs7O0lBQ3RDLDhCQUFpRTs7O0lBQXhELGdFQUEyQjs7O0lBSHRDLCtCQUNj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LENBQUMscUNBQXFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDaEUsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7cUZBclNVLG9CQUFvQjtvRUFBcEIsb0JBQW9CO1lDM0JqQyw2R0FDdUQsNEZBQUEsc0ZBQUE7WUFJdkQsZ0NBQVUsY0FBQSxpQkFBQSxTQUFBO1lBR0EseUNBQXlCO1lBQUEsaUJBQUssRUFBQSxFQUFBO1lBR3RDLCtCQUFTLGlCQUFBLGVBQUEsa0JBQUE7WUFLRCx1RUFZTTtZQUNSLGlCQUFVO1lBQ1YsbUNBQWtCO1lBQ2hCLHVFQVlNO1lBQ1IsaUJBQVUsRUFBQTtZQUdaLHNCQUFNO1lBQ04scUZBMkNhLDBEQUFBLDJEQUFBLDJEQUFBO1lBdUJiLHNCQUFNO1lBRVIsaUJBQVUsRUFBQSxFQUFBOztZQXBINEMsbUNBQWM7WUFFaEQsZUFBcUI7WUFBckIsMENBQXFCO1lBRXhCLGVBQW9CO1lBQXBCLHlDQUFvQjtZQVlHLGdCQUFlO1lBQWYsb0NBQWU7WUFlZCxlQUFlO1lBQWYsb0NBQWU7WUFpQmIsZUFBeUQ7WUFBekQsZ0ZBQXlEO1lBNkNwRSxlQUFlO1lBQWYsb0NBQWU7WUFLMUMsZUFBd0U7WUFBeEUscUdBQXdFO1lBSzNDLGVBQXdDO1lBQXhDLGlFQUF3QzsyaUVEOUVoRSxDQUFDLG1CQUFtQixDQUFDOztpRkFFdEIsb0JBQW9CO2NBTmhDLFNBQVM7MkJBQ0Usa0JBQWtCLGNBR2hCLENBQUMsbUJBQW1CLENBQUM7O2tGQUV0QixvQkFBb0I7QUEwU2pDLE1BQU0sT0FBTyxhQUFhO0NBR3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgRXJyb3JNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9FcnJvck1vZGVsJztcclxuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IEhlbHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaGVscC9oZWxwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbXBsb3llckRhdGFNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9maWxldXBsb2FkL0VtcGxveWVyRGF0YU1vZGVsJztcclxuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9CYXNlUGFnZSc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsJztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IEhpc3RvcnlNb2RlbCwgWWVhcldpc2VIaXN0b3J5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Rhc2hib2FyZC1tb2RlbCc7XHJcbmltcG9ydCB7IHJvd0V4cGFuc2lvblRyaWdnZXIgfSBmcm9tICcuLi8uLi9hbm5pbWF0aW9ucy9hcHAtYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXZlbnQtc2VydmljZS9ldmVudC1zZXJ2aWNlJztcclxuXHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWhpc3RvcnktcGFnZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hpc3RvcnktcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2hpc3RvcnktcGFnZS5jb21wb25lbnQuY3NzJyxcclxuICBhbmltYXRpb25zOiBbcm93RXhwYW5zaW9uVHJpZ2dlcl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEhpc3RvcnlQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgc2VsZWN0ZWRNb2RlbDogSGlzdG9yeU1vZGVsIFxyXG4gIGlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIGhpc3RvcmllczogWWVhcldpc2VIaXN0b3J5W107XHJcbiAgZmlsdGVyZWRIaXN0b3JpZXM6IFllYXJXaXNlSGlzdG9yeVtdO1xyXG4gIGZpbHRlck9wdGlvbnM6IGFueVtdO1xyXG4gIHRpbWVPcHRpb246IGFueVtdO1xyXG4gIHZhbHVlID0geyBpY29uOiBudWxsLCBkZXNjOiAnQWxsJywgdmFsdWU6IFwiQUxMXCIgfTtcclxuICB0aW1lID0geyBpY29uOiAnY2xvY2snLCBkZXNjOiAnY3VycmVudCcsIHZhbHVlOiBcIkNVUlJcIiB9O1xyXG4gIGZpbHRlciA9IHsgaWNvbjogbnVsbCwgZGVzYzogJ2FsbCB5b3VyIGhpc3RvcnknLCB2YWx1ZTogXCJBTExcIiwgYWx0RGVzYzogJ2FsbCcgfTtcclxuICBmaWx0ZXJJY29uID0gJ2hpc3RvcnknO1xyXG4gIHBheW1lbnRUZXh0OiBzdHJpbmc7XHJcbiAgcWVRdWVyeU1vZGVsczogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXTtcclxuICBpc09wZW5RZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dPbGRlclJlY29yZHNMaW5rOiBib29sZWFuO1xyXG4gIHRyYW5zYWN0aW9uSWRTZWxlY3RlZDogYW55O1xyXG4gIHNob3dVcGxvYWRQb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHVwbG9hZFR5cGVJZDogU3RyaW5nO1xyXG4gIGVtcGxveWVyRGF0YU1vZGVsOiBBcnJheTxFbXBsb3llckRhdGFNb2RlbD47XHJcbiAgY291bnQgPSAwO1xyXG4gIGRhdGFNb2RlbCA6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlczogRXZlbnRTZXJ2aWNlLCBwdWJsaWMgaHM6IEhlbHBTZXJ2aWNlLCBwcml2YXRlIHV0aWw6IFV0aWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBuYXY6IE5hdkNvbnRyb2xsZXIsIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLCBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRpbWVPcHRpb24gPSBbXHJcbiAgICAgIHsgaWNvbjogJ2Nsb2NrJywgZGVzYzogJ2N1cnJlbnQnLCB2YWx1ZTogXCJDVVJSXCIgfSxcclxuICAgICAgeyBpY29uOiAnaGlzdG9yeScsIGRlc2M6ICdwYXN0JywgdmFsdWU6IFwiUEFTVFwiIH0sXHJcbiAgICBdO1xyXG5cclxuICAgIGlmICh0aGlzLnV0aWwuaXNTdGF0ZSgnTVMnKSkge1xyXG4gICAgICB0aGlzLnBheW1lbnRUZXh0ID0gXCJ3ZWVrbHkgY2VydGlmaWNhdGlvbnMgYW5kIHBheW1lbnRzXCJcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnBheW1lbnRUZXh0ID0gXCJ3ZWVrbGllcyBhbmQgcGF5bWVudHNcIlxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZmlsdGVyT3B0aW9ucyA9IFtcclxuICAgICAgeyBpY29uOiBudWxsLCBkZXNjOiAnYWxsIHlvdXIgaGlzdG9yeScsIHZhbHVlOiBcIkFMTFwiLCBhbHREZXNjOiAnYWxsJyB9LFxyXG4gICAgICB7IGljb246ICdzYWNrLWRvbGxhcicsIGRlc2M6IHRoaXMucGF5bWVudFRleHQsIHZhbHVlOiBcIldLTFlcIiB9LFxyXG4gICAgICB7IGljb246ICdmaWxlLXVwbG9hZCcsIGRlc2M6ICd1cGxvYWRlZCBkb2N1bWVudHMnLCB2YWx1ZTogXCJET0NTXCIgfSxcclxuICAgICAgeyBpY29uOiAnYmFsYW5jZS1zY2FsZScsIGRlc2M6ICdpc3N1ZSAmIGFwcGVhbHMnLCB2YWx1ZTogXCJBUFBMXCIgfVxyXG5cclxuICAgIF07XHJcblxyXG4gICAgbGV0IHR4bklkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgndHhuaWQnKTtcclxuICAgIGlmICh0eG5JZCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25JZFNlbGVjdGVkID0gYXRvYih0eG5JZCk7XHJcbiAgICAgIC8vdGhpcy5sb2dnZXIuaW5mbyh0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRoaXMubG9hZEhpc3RvcnkoKTtcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnRZZWFySGlzdG9yeSgpIHtcclxuICAgIGxldCB0eXBlRmlsdGVyID0gdGhpcy5maWx0ZXIudmFsdWU7XHJcbiAgICBsZXQgdGltZUZpbHRlciA9IHRoaXMudGltZS52YWx1ZTtcclxuICAgIFxyXG5cclxuICAgIGlmICh0aW1lRmlsdGVyID09ICdDVVJSJykge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5oaXN0b3JpZXMuZmlsdGVyKGhpc3QgPT4gKGhpc3QueWVhciAhPSAnU3RhcnQnICYmIHBhcnNlSW50KGhpc3QueWVhcikgPT0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpKSk7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmdldEZpbHRlcmVkSGlzdG9yaWVzKHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMsIHR5cGVGaWx0ZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SWNvbihoaXN0b3J5OiBIaXN0b3J5TW9kZWwpIHtcclxuICAgIGxldCBoaXN0ID0gdGhpcy5maWx0ZXJPcHRpb25zLmZpbHRlcihmbyA9PiBmby52YWx1ZSA9PSBoaXN0b3J5LnByb2Nlc3NUeXBlKVswXTtcclxuICAgIGlmIChoaXN0KSB7XHJcbiAgICAgIHJldHVybiBbJ2ZhcicsIGhpc3QuaWNvbl07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRIaXN0b3J5KCkge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5lcy5nZXRIaXN0b3J5T2ZMb2dnZWRpblVzZXIoKVxyXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5oaXN0b3JpZXMgPSByZXMuaGlzdG9yeTtcclxuICAgICAgICB0aGlzLnNob3dPbGRlclJlY29yZHNMaW5rID0gcmVzLnNob3dPbGRlclJlY29yZHNMaW5rO1xyXG4gICAgICAgIC8vdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IFsuLi50aGlzLmhpc3Rvcmllc107XHJcbiAgICAgICAgdGhpcy5nZXRDdXJyZW50WWVhckhpc3RvcnkoKTtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgIHRoaXMuaGlzdG9yaWVzID0gbnVsbDtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSBudWxsO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgbGV0IHR5cGVGaWx0ZXIgPSB0aGlzLmZpbHRlci52YWx1ZTtcclxuICAgIGxldCB0aW1lRmlsdGVyID0gdGhpcy50aW1lLnZhbHVlO1xyXG4gICAgdGhpcy5maWx0ZXJJY29uID0gdGhpcy50aW1lLmljb247XHJcbiAgICBpZiAodGltZUZpbHRlciA9PSAnQ1VSUicpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuaGlzdG9yaWVzLmZpbHRlcihoaXN0ID0+IChoaXN0LnllYXIgIT0gJ1N0YXJ0JyAmJiBwYXJzZUludChoaXN0LnllYXIpID09IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSkpO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5nZXRGaWx0ZXJlZEhpc3Rvcmllcyh0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLCB0eXBlRmlsdGVyKTtcclxuICAgIH0gZWxzZSBpZiAodGltZUZpbHRlciA9PSAnUEFTVCcpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuaGlzdG9yaWVzLmZpbHRlcihoaXN0ID0+IChoaXN0LnllYXIgIT0gJ1N0YXJ0JyAmJiBoaXN0LnllYXIgIT0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpICsgJycpKTtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuZ2V0RmlsdGVyZWRIaXN0b3JpZXModGhpcy5maWx0ZXJlZEhpc3RvcmllcywgdHlwZUZpbHRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVGaWx0ZXIgIT0gJ0FMTCcpIHtcclxuICAgICAgdGhpcy5maWx0ZXJJY29uID0gdGhpcy5maWx0ZXIuaWNvbjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgeXdoID0gdGhpcy5maWx0ZXJlZEhpc3Rvcmllcy5maWx0ZXIoaCA9PiBoLnllYXIgPT0gJ1N0YXJ0Jyk7XHJcblxyXG4gICAgaWYgKHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMubGVuZ3RoID4gMCAmJiB5d2gubGVuZ3RoIDwgMSkge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLnB1c2goe1xyXG4gICAgICAgIGNvbG9yOiAndmFyKC0taW9uLWNvbG9yLW1lZGl1bS1ncmF5KScsXHJcbiAgICAgICAgaWNvbjogJ2hvdXJnbGFzcy1zdGFydCcsXHJcbiAgICAgICAgaGlzdG9yeTogW10sXHJcbiAgICAgICAgeWVhcjogJ1N0YXJ0J1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZpbHRlcmVkSGlzdG9yaWVzKGhpc3RvcmllczogWWVhcldpc2VIaXN0b3J5W10sIGZpbHRlcjogc3RyaW5nKSB7XHJcbiAgICBpZiAoZmlsdGVyID09ICdBTEwnKSB7XHJcbiAgICAgIHRoaXMuY291bnQgPSB0aGlzLmNvdW50ICsgMTtcclxuICAgICAgcmV0dXJuIGhpc3RvcmllcztcclxuICAgIH1cclxuICAgIHJldHVybiBoaXN0b3JpZXNcclxuICAgICAgLmZpbHRlcihoaXN0ID0+IGhpc3QuaGlzdG9yeS5zb21lKHN1Ykhpc3QgPT4gc3ViSGlzdC5wcm9jZXNzVHlwZSA9PT0gZmlsdGVyKSlcclxuICAgICAgLm1hcChoaXN0b3J5ID0+IHtcclxuICAgICAgICBsZXQgbmV3SGlzdCA9IE9iamVjdC5hc3NpZ24oe30sIGhpc3RvcnkpO1xyXG4gICAgICAgIG5ld0hpc3QuaGlzdG9yeSA9IG5ld0hpc3QuaGlzdG9yeS5maWx0ZXIoaGlzdCA9PiBoaXN0LnByb2Nlc3NUeXBlID09PSBmaWx0ZXIpO1xyXG4gICAgICAgIHJldHVybiBuZXdIaXN0O1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGlvblZpZXdXaWxsTGVhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhzLnNldEhlbHBBdmFpbGFiaWxpdHkoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgaW9uVmlld0RpZEVudGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ocy5zZXRIZWxwQXZhaWxhYmlsaXR5KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgaXNWYWx1ZVNlbGVjdGVkKGhpc3Rvcnk6IEhpc3RvcnlNb2RlbCwgY291bnQ6IGFueSkge1xyXG4gICAgLy90aGlzLmxvZ2dlci5pbmZvKCdpcyB2YWx1ZSBzZWxlY3RlZCcgLCB0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCk7XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbklkU2VsZWN0ZWQgPT0gbnVsbCAmJiBjb3VudCA9PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChoaXN0b3J5LnRyYW5zYWN0aW9uSWQgPT0gdGhpcy50cmFuc2FjdGlvbklkU2VsZWN0ZWQpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvcGVuKGhpc3RvcnlNb2RlbDogSGlzdG9yeU1vZGVsKSB7XHJcbiAgICAvL3RoaXMubG9nZ2VyLmluZm8oJ2luc2lkZSBjbGljayBvZiBoaXN0b3J5IGJ1dHRvbiA9ICcrIGhpc3RvcnlNb2RlbCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSBoaXN0b3J5TW9kZWw7XHJcbiAgICBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmkuaW5jbHVkZXMoXCJQb3B1cFwiKSkge1xyXG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKCdIaXN0b3J5IGJ1dHRvbiB1cmkgaW5jbHVkZXMgUG9wdXAgdmFsdWUnKTtcclxuICAgICAgaWYgKHRoaXMubHMuaXNDc3IoKSAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uY2xtdE9ubHlGTiA9PSAnMScpIHtcclxuICAgICAgICBsZXQgZXJyb3JNb2RlbDogRXJyb3JNb2RlbCA9IG5ldyBFcnJvck1vZGVsKCk7XHJcbiAgICAgICAgZXJyb3JNb2RlbC5tc2cgPSBcIlRoaXMgaXMgYSBjbGFpbWFudCBvbmx5IGZ1bmN0aW9uYWxpdHkuXCI7XHJcbiAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnJvck1vZGVsKTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5hY3Rpb25VcmkgPT0gJ0FwcGVhbHNQb3B1cCcgJiYgaGlzdG9yeU1vZGVsLmRhdGEucWVEYXRhKSB7XHJcbiAgICAgICAgbGV0IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsczogQXJyYXk8UXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWw+ID0gSlNPTi5wYXJzZShoaXN0b3J5TW9kZWwuZGF0YS5xZURhdGEpO1xyXG4gICAgICAgIHRoaXMucWVRdWVyeU1vZGVscyA9IHRoaXMuY3JlYXRlUWVRdWVyeU1vZGVsKHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVscyk7XHJcbiAgICAgICAgdGhpcy5pc09wZW5RZSA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbiAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uLmRpYWxvZyA9PSAndXBsb2FkUG9wdXBJbkNwJykge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhKTtcclxuICAgICAgICB0aGlzLnVwbG9hZFR5cGVJZCA9IHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhLnVwbG9hZFR5cGVJZDtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE1vZGVsLmRhdGE/LmVtcGxveWVyRGF0YSAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmVtcGxveWVyRGF0YU1vZGVsID0gSlNPTi5wYXJzZSh0aGlzLnNlbGVjdGVkTW9kZWwuZGF0YT8uZW1wbG95ZXJEYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhICE9IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuZGF0YU1vZGVsID0gdGhpcy5zZWxlY3RlZE1vZGVsLmRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2hvd1VwbG9hZFBvcHVwID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uZGlhbG9nID09ICd1cGxvYWRQb3B1cCcpIHtcclxuICAgICAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICAgICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5JkNMQUlNQU5UX1BPUlRBTD10cnVlJnZpZXc9LnVwbG9hZGRvY3VtZW50ZW50ZXJzc25gLCAnX3NlbGYnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uZGlhbG9nID09ICd1cGxvYWRXU0FQb3B1cCcpIHtcclxuICAgICAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICAgICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5JkNMQUlNQU5UX1BPUlRBTD10cnVlJnZpZXc9LnVwbG9hZGRvY3VtZW50d29ya3NlYXJjaGF1ZGl0YCwgJ19zZWxmJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbiAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uLmRpYWxvZyA9PSAndXBsb2FkSURWUG9wdXAnKSB7XHJcbiAgICAgICAgbGV0IHVzZXJNb2RlbCA9IHRoaXMubHMuZ2V0VXNlcigpO1xyXG4gICAgICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OSZDTEFJTUFOVF9QT1JUQUw9dHJ1ZSZ2aWV3PS5zZWxlY3RpZHZlcmlmaWNhdGlvbm9wdGlvbmAsICdfc2VsZicpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi5kaWFsb2cgPT0gJ3VwbG9hZFBheW1lbnRPcHRpb25Eb2NQb3B1cCcpIHtcclxuICAgICAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICAgICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5JkNMQUlNQU5UX1BPUlRBTD10cnVlJnZpZXc9LnBheW1lbnRvcHRpb25kb2N1cGxvYWRgLCAnX3NlbGYnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uZGlhbG9nID09ICdvdnBXYWl2ZXJQb3B1cCcpIHtcclxuICAgICAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICAgICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5JkNMQUlNQU5UX1BPUlRBTD10cnVlJnZpZXc9Lm1lZmlsZW92ZXJwYXltZW50d2FpdmVycmVxdWVzdGRlY2lzaW9ubGlzdGAsICdfc2VsZicpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXRpbC5wcmVzZW50VG9hc3QoJ1NjZW5hcmlvIHVuZGVyIGRldmVsb3BtZW50LiBQbGVhc2UgY2hlY2sgd2l0aCBkZXZlbG9wZXIuJyk7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoaGlzdG9yeU1vZGVsKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmkgIT0gJycgJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmkuaW5jbHVkZXMoXCJQYWdlXCIpKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oJ0hpc3RvcnkgYnV0dG9uIHVyaSBpbmNsdWRlcyBQYWdlIHZhbHVlJyk7XHJcbiAgICAgIGlmIChoaXN0b3J5TW9kZWwuZGF0YSAmJiBoaXN0b3J5TW9kZWwuZGF0YS5xZURhdGEpIHtcclxuICAgICAgICBsZXQganNvbkRhdGEgPSBKU09OLnBhcnNlKGhpc3RvcnlNb2RlbC5kYXRhLnFlRGF0YSk7XHJcbiAgICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdFdpdGhEYXRhKGhpc3RvcnlNb2RlbC5idXR0b24uY29udGV4dCwgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmwsIGpzb25EYXRhWzBdLmR5bmFtaWNQYXJhbSwgdGhpcy5uYXYpO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5kYXRhKSB7XHJcbiAgICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdFdpdGhEYXRhKGhpc3RvcnlNb2RlbC5idXR0b24uY29udGV4dCwgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmwsIGhpc3RvcnlNb2RlbC5kYXRhLCB0aGlzLm5hdilcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290KGhpc3RvcnlNb2RlbC5idXR0b24uY29udGV4dCwgaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmwsIHRoaXMubmF2KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbk9sZFJlY29yZHMoKSB7XHJcbiAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5scy5pc0NzcigpKSB7XHJcbiAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTlgLCAnX3NlbGYnKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmxzLmlzQ2xhaW1hbnQoKSkge1xyXG4gICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5JkNMQUlNQU5UX1BPUlRBTD10cnVlJnZpZXc9LmNsYWltYW50c3VtbWFyeWAsICdfc2VsZicpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlUWVRdWVyeU1vZGVsKHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsczogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXSkge1xyXG4gICAgcmV0dXJuIHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVscy5tYXAocXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwgPT4ge1xyXG4gICAgICBsZXQgZHluYW1pY1BhcmFtID0ge307XHJcbiAgICAgIHZhciBrZXlNb2RlbCA9IDxLZXlWYWx1ZU1vZGVsPnF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmR5bmFtaWNQYXJhbVswXTtcclxuICAgICAgdmFyIHRpdGxlID0ga2V5TW9kZWwua2V5O1xyXG4gICAgICB2YXIgdmVyYmFpZ2VLZXkgPSBrZXlNb2RlbC52YWx1ZTtcclxuICAgICAgY29uc3QgdHJhbnNsYXRlZFRleHQgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHZlcmJhaWdlS2V5KTtcclxuICAgICAgZHluYW1pY1BhcmFtW3RpdGxlXSA9IHRyYW5zbGF0ZWRUZXh0O1xyXG4gICAgICBkeW5hbWljUGFyYW1bJ2hpZEFwcGVhbERlY2lzaW9uJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydoaWRBcHBlYWxEZWNpc2lvbiddO1xyXG4gICAgICBkeW5hbWljUGFyYW1bJ2RvY2tldG51bWJlciddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsnZG9ja2V0bnVtYmVyJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsncGFyZW50QXBwZWFsSWQnXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ3BhcmVudEFwcGVhbElkJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnYXBwZWFsVHlwZSddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsnYXBwZWFsVHlwZSddO1xyXG4gICAgICBkeW5hbWljUGFyYW1bJ2FwcGVhbExldmVsJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydhcHBlYWxMZXZlbCddO1xyXG4gICAgICBpZiAodGhpcy51dGlsLmlzU3RhdGUoJ01FJykpIHtcclxuICAgICAgICBkeW5hbWljUGFyYW1bJ2FwcGVhbENvbnNpZGVyZWRMYXRlRGF0ZSddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsnYXBwZWFsQ29uc2lkZXJlZExhdGVEYXRlJ107XHJcbiAgICAgICAgZHluYW1pY1BhcmFtWydsYXRlQXBwZWFsJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydsYXRlQXBwZWFsJ107XHJcbiAgICAgIH1cclxuICAgICAgcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbJ2R5bmFtaWNQYXJhbSddID0gZHluYW1pY1BhcmFtO1xyXG4gICAgICBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbFsnYXV0b1NhdmUnXSA9IHRydWU7XHJcbiAgICAgIHJldHVybiBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VRZSgpIHtcclxuICAgIHRoaXMuaXNPcGVuUWUgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbCA9IG51bGw7XHJcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdRZSBjYW5jZWwnKTtcclxuICB9XHJcblxyXG4gIHF1U3VjY2VzcygpIHtcclxuICAgIHRoaXMuaGlzdG9yaWVzID0gbnVsbDtcclxuICAgIHRoaXMuaXNPcGVuUWUgPSBmYWxzZTtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkTW9kZWwpIHtcclxuICAgICAgdGhpcy5lc1xyXG4gICAgICAgIC5kaXNhYmxlSGlzdG9yeUJ1dHRvbih0aGlzLnNlbGVjdGVkTW9kZWwudHJhbnNhY3Rpb25JZCwgdGhpcy5zZWxlY3RlZE1vZGVsLmhpc3RvcnlLZXkpXHJcbiAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgdGltZXIoMjAwMCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkSGlzdG9yeSgpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJFcnJvciB3aGlsZSBkZWFjdGl2YXRpbmcgdGhlIGV2ZW50LlwiLCBlcnIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUWUgc3VjY2VzcycpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VVcGxvYWRQb3B1cCgpIHtcclxuICAgIHRoaXMuc2hvd1VwbG9hZFBvcHVwID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRQb3B1cERvbmUoKSB7XHJcbiAgICB0aGlzLnNob3dVcGxvYWRQb3B1cCA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlbCkge1xyXG4gICAgICB0aGlzLmVzXHJcbiAgICAgICAgLmRpc2FibGVIaXN0b3J5QnV0dG9uKHRoaXMuc2VsZWN0ZWRNb2RlbC50cmFuc2FjdGlvbklkLCB0aGlzLnNlbGVjdGVkTW9kZWwuaGlzdG9yeUtleSlcclxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgICAgfSwgMTAwMCk7XHJcbiAgICAgICAgfSwgZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFwiRXJyb3Igd2hpbGUgZGVhY3RpdmF0aW5nIHRoZSBldmVudC5cIiwgZXJyKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEtleVZhbHVlTW9kZWwge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHZhbHVlOiBzdHJpbmc7XHJcbn1cclxuXHJcbiIsIjxhcHAtbXVsdGktcXVlc3Rpb25uYWlyZSBbcWVRdWVyeU1vZGVsc109XCJxZVF1ZXJ5TW9kZWxzXCIgKm5nSWY9XCJpc09wZW5RZVwiIChtb2RlbENhbmNlbCk9XCJjbG9zZVFlKClcIlxyXG4gIChvbkNvbXBsZXRlKT1cInF1U3VjY2VzcygpXCI+PC9hcHAtbXVsdGktcXVlc3Rpb25uYWlyZT5cclxuPGFwcC1wcm9vZi1vZi1hbnl0aGluZyAqbmdJZj1cInNob3dVcGxvYWRQb3B1cFwiIFt1cGxvYWRUeXBlSWRdPVwidXBsb2FkVHlwZUlkXCIgW2VtcGxveWVyRGF0YU1vZGVsXT1cImVtcGxveWVyRGF0YU1vZGVsXCJcclxuICBbZGF0YV09XCJkYXRhTW9kZWxcIiAoY2FuY2VsKT1cImNsb3NlVXBsb2FkUG9wdXAoKVwiIChzdWNjZXNzKT1cInVwbG9hZFBvcHVwRG9uZSgpXCI+PC9hcHAtcHJvb2Ytb2YtYW55dGhpbmc+XHJcbjxhcHAtZGFzaGJvYXJkLWhlbHAgKm5nSWY9XCJocy5pc1Nob3dpbmcoKVwiIFthY3RpdmVJbmRleF09XCIwXCI+PC9hcHAtZGFzaGJvYXJkLWhlbHA+XHJcbjxpb24tZ3JpZD5cclxuICA8aW9uLXJvdz5cclxuICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemVYbD1cIjhcIiBzaXplTGc9XCI4XCIgc2l6ZU1kPVwiMTBcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIiBvZmZzZXRNZD1cIjFcIj5cclxuICAgICAgPGgxPllvdXIgdW5lbXBsb3ltZW50IGhpc3Rvcnk8L2gxPlxyXG4gICAgPC9pb24tY29sPlxyXG4gIDwvaW9uLXJvdz5cclxuICA8aW9uLXJvdz5cclxuICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemVYbD1cIjhcIiBzaXplTGc9XCI4XCIgc2l6ZU1kPVwiMTBcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIiBvZmZzZXRNZD1cIjFcIj5cclxuXHJcbiAgICAgIDxpb24tcm93PlxyXG4gICAgICAgIDxpb24tY29sIHNpemU9XCIzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtbGVmdCBmaWVsZFwiICpuZ0lmPVwiaGlzdG9yaWVzXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ0aW1lbGluZVwiIGlkPVwibGJsVGltZWxpbmVcIj57e3RpbWU/LmRlc2N9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJ0aW1lT3B0aW9uXCIgWyhuZ01vZGVsKV09XCJ0aW1lXCIgb3B0aW9uTGFiZWw9XCJkZXNjXCJcclxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIiBbYXJpYUxhYmVsbGVkQnldPVwiJ2xibFRpbWVsaW5lJ1wiPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtwVG9vbHRpcF09XCJpdGVtLmRlc2NcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiB0YWJpbmRleD1cIjBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uZGVzY1wiXHJcbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJub3RlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uaWNvblwiPnt7aXRlbS5kZXNjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFyJywgaXRlbS5pY29uXVwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8aW9uLWNvbCBzaXplPVwiOVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0IGZpZWxkXCIgKm5nSWY9XCJoaXN0b3JpZXNcIj5cclxuICAgICAgICAgICAgPGxhYmVsPnt7ZmlsdGVyPy5kZXNjfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwiZmlsdGVyT3B0aW9uc1wiIFsobmdNb2RlbCldPVwiZmlsdGVyXCIgb3B0aW9uTGFiZWw9XCJpY29uXCJcclxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbcFRvb2x0aXBdPVwiaXRlbS5kZXNjXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgdGFiaW5kZXg9XCIwXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmRlc2NcIlxyXG4gICAgICAgICAgICAgICAgICByb2xlPVwibm90ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmljb25cIj57e2l0ZW0uYWx0RGVzY319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcicsIGl0ZW0uaWNvbl1cIiAqbmdJZj1cIml0ZW0uaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgIDxiciAvPlxyXG4gICAgICA8cC10aW1lbGluZSBbdmFsdWVdPVwiZmlsdGVyZWRIaXN0b3JpZXNcIiAqbmdJZj1cIihmaWx0ZXJlZEhpc3RvcmllcyAmJiBmaWx0ZXJlZEhpc3Rvcmllcy5sZW5ndGggPiAwKVwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJtYXJrZXJcIiBsZXQtaGlzdD5cclxuICAgICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJoaXN0LmNvbG9yXCI+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFyJywgaGlzdC5pY29uXVwiIGNsYXNzPVwiY3VzdG9tLW1hcmtlclwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCIgbGV0LWhpc3Q+XHJcbiAgICAgICAgICA8aDEgY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWhlYWRpbmdcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDBweDsgZm9udC13ZWlnaHQ6IGJvbGQ7XCI+e3toaXN0LnllYXJ9fTwvaDE+XHJcbiAgICAgICAgICA8cC1hY2NvcmRpb24gZXhwYW5kSWNvbj1cInBpIHBpLWZ3IHBpLWNoZXZyb24tdXBcIiBjb2xsYXBzZUljb249XCJwaSBwaS1mdyBwaS1jaGV2cm9uLXVwXCI+XHJcbiAgICAgICAgICAgIDxwLWFjY29yZGlvblRhYiAqbmdGb3I9XCJsZXQgaGlzdG9yeSBvZiBoaXN0Lmhpc3Rvcnk7IGxldCBpID0gaW5kZXhcIiBbc2VsZWN0ZWRdPVwiaXNWYWx1ZVNlbGVjdGVkKGhpc3RvcnksaSlcIj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXJvdyBzdHlsZT1cIndpZHRoOiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1wiPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWxlZnRcIiBzaXplPVwiMTJcIiBzaXplWGw9XCIzXCIgc2l6ZUxnPVwiM1wiIHNpemVNZD1cIjNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1hY2NvcmRpYW4taGVhZGluZ1wiIFtzdHlsZS5jb2xvcl09XCJoaXN0b3J5LmNvbG9yXCI+e3toaXN0b3J5LmV2ZW50RGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiYXBwLXRleHQtYWxpZ25cIiBzaXplPVwiMTFcIiBzaXplWGw9XCI4XCIgc2l6ZUxnPVwiOFwiIHNpemVNZD1cIjhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1hY2NvcmRpYW4taGVhZGluZ1wiIFtzdHlsZS5jb2xvcl09XCJoaXN0b3J5LmNvbG9yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7e2hpc3RvcnkudGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImhpc3RvcnkuY29sb3JcIiAqbmdJZj1cImdldEljb24oaGlzdG9yeSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImdldEljb24oaGlzdG9yeSlcIiBjbGFzcz1cImN1c3RvbS1tYXJrZXJcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWJvZHlcIiBbaW5uZXJIdG1sXT1cImhpc3RvcnkuZGVzY1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJoaXN0b3J5LmJ1dHRvbiAhPSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxiciAvPjxiciAvPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIidnbyB0bycgKyBoaXN0b3J5LmJ1dHRvbi5idXR0b25UZXh0XCIgZmlsbD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCItLWNvbG9yOiB7e2hpc3RvcnkuYnV0dG9uLmNvbG9yfX07IC0tYm9yZGVyLWNvbG9yOiB7e2hpc3RvcnkuYnV0dG9uLmNvbG9yfX07IC0tYm9yZGVyLXdpZHRoOiAycHhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc2hhcGU9XCJyb3VuZFwiIGNsYXNzPVwic21hbGwtYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW4oaGlzdG9yeSlcIj57e2hpc3RvcnkuYnV0dG9uLmJ1dHRvblRleHR9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3AtYWNjb3JkaW9uVGFiPlxyXG4gICAgICAgICAgPC9wLWFjY29yZGlvbj5cclxuICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvcC10aW1lbGluZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIiAqbmdJZj1cImlzTG9hZGluZ1wiPlxyXG4gICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImlvbi1wYWRkaW5nLXRvcCBpb24tdGV4dC1jZW50ZXIgYXBwLWFjY29yZGlhbi1ib2R5XCJcclxuICAgICAgICAqbmdJZj1cIighZmlsdGVyZWRIaXN0b3JpZXMgfHwgZmlsdGVyZWRIaXN0b3JpZXMubGVuZ3RoIDwgMSkgJiYgIWlzTG9hZGluZ1wiPlxyXG4gICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFyJywgZmlsdGVySWNvbl1cIiBjbGFzcz1cImxhcmdlLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgPHA+e3snTm8gaGlzdG9yeSBwcmVzZW50LicgfCB0cmFuc2xhdGV9fTwvcD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IHN0eWxlPVwicGFkZGluZy1sZWZ0OiA1JTtcIiAqbmdJZj1cIiFpc0xvYWRpbmcgJiYgc2hvd09sZGVyUmVjb3Jkc0xpbmtcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaG9yaXpvbnRhbC1hbGlnblwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtYWNjb3JkaWFuLWJvZHlcIj5cclxuICAgICAgICAgICAgPHN0cm9uZz57eyAnVG8gdmlldyBwcmlvciB1bmVtcGxveW1lbnQgaGlzdG9yeSBjbGljayBoZXJlJyB8IHRyYW5zbGF0ZSB9fTwvc3Ryb25nPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gYXJpYS1sYWJlbD1cInZpZXcgb2xkIHJlY29yZHNcIiAoY2xpY2spPVwib3Blbk9sZFJlY29yZHMoKVwiIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFzJywgJ2V4dGVybmFsLWxpbmstYWx0J11cIiBjbGFzcz1cImV4dGVybmFsLWxpbmstaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxiciAvPlxyXG5cclxuICAgIDwvaW9uLWNvbD5cclxuICA8L2lvbi1yb3c+XHJcbjwvaW9uLWdyaWQ+Il19
|
|
597
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oaXN0b3J5LXBhZ2UvaGlzdG9yeS1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVF6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUl2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDZjdCLG1EQUM2QjtJQUQ2QyxtTkFBZSxlQUFBLGdCQUFTLENBQUEsSUFBQyxxTUFDbkYsZUFBQSxtQkFBVyxDQUFBLElBRHdFO0lBQ3RFLGlCQUEwQjs7O0lBRDlCLG9EQUErQjs7OztJQUV4RCxpREFDaUY7SUFBNUQsc01BQVUsZUFBQSwwQkFBa0IsQ0FBQSxJQUFDLDJMQUFZLGVBQUEseUJBQWlCLENBQUEsSUFBN0I7SUFBK0IsaUJBQXdCOzs7SUFEMUQsa0RBQTZCLCtDQUFBLDBCQUFBOzs7SUFFNUUseUNBQWtGOztJQUF2QywrQkFBaUI7OztJQW1CMUMsNEJBQXlCO0lBQUEsWUFBYTtJQUFBLGlCQUFPOzs7SUFBcEIsZUFBYTtJQUFiLG1DQUFhOzs7O0lBQ3RDLDhCQUFpRTs7O0lBQXhELGdFQUEyQjs7O0lBSHRDLCtCQUNj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b3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgRXJyb3JNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9FcnJvck1vZGVsJztcclxuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IEhlbHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaGVscC9oZWxwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbXBsb3llckRhdGFNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9maWxldXBsb2FkL0VtcGxveWVyRGF0YU1vZGVsJztcclxuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9CYXNlUGFnZSc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsJztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IEhpc3RvcnlNb2RlbCwgWWVhcldpc2VIaXN0b3J5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Rhc2hib2FyZC1tb2RlbCc7XHJcbmltcG9ydCB7IHJvd0V4cGFuc2lvblRyaWdnZXIgfSBmcm9tICcuLi8uLi9hbm5pbWF0aW9ucy9hcHAtYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXZlbnQtc2VydmljZS9ldmVudC1zZXJ2aWNlJztcclxuXHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWhpc3RvcnktcGFnZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hpc3RvcnktcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2hpc3RvcnktcGFnZS5jb21wb25lbnQuY3NzJyxcclxuICBhbmltYXRpb25zOiBbcm93RXhwYW5zaW9uVHJpZ2dlcl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEhpc3RvcnlQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgc2VsZWN0ZWRNb2RlbDogSGlzdG9yeU1vZGVsIFxyXG4gIGlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIGhpc3RvcmllczogWWVhcldpc2VIaXN0b3J5W107XHJcbiAgZmlsdGVyZWRIaXN0b3JpZXM6IFllYXJXaXNlSGlzdG9yeVtdO1xyXG4gIGZpbHRlck9wdGlvbnM6IGFueVtdO1xyXG4gIHRpbWVPcHRpb246IGFueVtdO1xyXG4gIHZhbHVlID0geyBpY29uOiBudWxsLCBkZXNjOiAnQWxsJywgdmFsdWU6IFwiQUxMXCIgfTtcclxuICB0aW1lID0geyBpY29uOiAnY2xvY2snLCBkZXNjOiAnY3VycmVudCcsIHZhbHVlOiBcIkNVUlJcIiB9O1xyXG4gIGZpbHRlciA9IHsgaWNvbjogbnVsbCwgZGVzYzogJ2FsbCB5b3VyIGhpc3RvcnknLCB2YWx1ZTogXCJBTExcIiwgYWx0RGVzYzogJ2FsbCcgfTtcclxuICBmaWx0ZXJJY29uID0gJ2hpc3RvcnknO1xyXG4gIHBheW1lbnRUZXh0OiBzdHJpbmc7XHJcbiAgcWVRdWVyeU1vZGVsczogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXTtcclxuICBpc09wZW5RZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dPbGRlclJlY29yZHNMaW5rOiBib29sZWFuO1xyXG4gIHRyYW5zYWN0aW9uSWRTZWxlY3RlZDogYW55O1xyXG4gIHNob3dVcGxvYWRQb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHVwbG9hZFR5cGVJZDogU3RyaW5nO1xyXG4gIGVtcGxveWVyRGF0YU1vZGVsOiBBcnJheTxFbXBsb3llckRhdGFNb2RlbD47XHJcbiAgY291bnQgPSAwO1xyXG4gIGRhdGFNb2RlbCA6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlczogRXZlbnRTZXJ2aWNlLCBwdWJsaWMgaHM6IEhlbHBTZXJ2aWNlLCBwcml2YXRlIHV0aWw6IFV0aWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBuYXY6IE5hdkNvbnRyb2xsZXIsIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLCBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRpbWVPcHRpb24gPSBbXHJcbiAgICAgIHsgaWNvbjogJ2Nsb2NrJywgZGVzYzogJ2N1cnJlbnQnLCB2YWx1ZTogXCJDVVJSXCIgfSxcclxuICAgICAgeyBpY29uOiAnaGlzdG9yeScsIGRlc2M6ICdwYXN0JywgdmFsdWU6IFwiUEFTVFwiIH0sXHJcbiAgICBdO1xyXG5cclxuICAgIGlmICh0aGlzLnV0aWwuaXNTdGF0ZSgnTVMnKSkge1xyXG4gICAgICB0aGlzLnBheW1lbnRUZXh0ID0gXCJ3ZWVrbHkgY2VydGlmaWNhdGlvbnMgYW5kIHBheW1lbnRzXCJcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnBheW1lbnRUZXh0ID0gXCJ3ZWVrbGllcyBhbmQgcGF5bWVudHNcIlxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZmlsdGVyT3B0aW9ucyA9IFtcclxuICAgICAgeyBpY29uOiBudWxsLCBkZXNjOiAnYWxsIHlvdXIgaGlzdG9yeScsIHZhbHVlOiBcIkFMTFwiLCBhbHREZXNjOiAnYWxsJyB9LFxyXG4gICAgICB7IGljb246ICdzYWNrLWRvbGxhcicsIGRlc2M6IHRoaXMucGF5bWVudFRleHQsIHZhbHVlOiBcIldLTFlcIiB9LFxyXG4gICAgICB7IGljb246ICdmaWxlLXVwbG9hZCcsIGRlc2M6ICd1cGxvYWRlZCBkb2N1bWVudHMnLCB2YWx1ZTogXCJET0NTXCIgfSxcclxuICAgICAgeyBpY29uOiAnYmFsYW5jZS1zY2FsZScsIGRlc2M6ICdpc3N1ZSAmIGFwcGVhbHMnLCB2YWx1ZTogXCJBUFBMXCIgfVxyXG5cclxuICAgIF07XHJcblxyXG4gICAgbGV0IHR4bklkID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgndHhuaWQnKTtcclxuICAgIGlmICh0eG5JZCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25JZFNlbGVjdGVkID0gYXRvYih0eG5JZCk7XHJcbiAgICAgIC8vdGhpcy5sb2dnZXIuaW5mbyh0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRoaXMubG9hZEhpc3RvcnkoKTtcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnRZZWFySGlzdG9yeSgpIHtcclxuICAgIGxldCB0eXBlRmlsdGVyID0gdGhpcy5maWx0ZXIudmFsdWU7XHJcbiAgICBsZXQgdGltZUZpbHRlciA9IHRoaXMudGltZS52YWx1ZTtcclxuICAgIFxyXG5cclxuICAgIGlmICh0aW1lRmlsdGVyID09ICdDVVJSJykge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5oaXN0b3JpZXMuZmlsdGVyKGhpc3QgPT4gKGhpc3QueWVhciAhPSAnU3RhcnQnICYmIHBhcnNlSW50KGhpc3QueWVhcikgPT0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpKSk7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSB0aGlzLmdldEZpbHRlcmVkSGlzdG9yaWVzKHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMsIHR5cGVGaWx0ZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SWNvbihoaXN0b3J5OiBIaXN0b3J5TW9kZWwpIHtcclxuICAgIGxldCBoaXN0ID0gdGhpcy5maWx0ZXJPcHRpb25zLmZpbHRlcihmbyA9PiBmby52YWx1ZSA9PSBoaXN0b3J5LnByb2Nlc3NUeXBlKVswXTtcclxuICAgIGlmIChoaXN0KSB7XHJcbiAgICAgIHJldHVybiBbJ2ZhcicsIGhpc3QuaWNvbl07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRIaXN0b3J5KCkge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5lcy5nZXRIaXN0b3J5T2ZMb2dnZWRpblVzZXIoKVxyXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5oaXN0b3JpZXMgPSByZXMuaGlzdG9yeTtcclxuICAgICAgICB0aGlzLnNob3dPbGRlclJlY29yZHNMaW5rID0gcmVzLnNob3dPbGRlclJlY29yZHNMaW5rO1xyXG4gICAgICAgIC8vdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IFsuLi50aGlzLmhpc3Rvcmllc107XHJcbiAgICAgICAgdGhpcy5nZXRDdXJyZW50WWVhckhpc3RvcnkoKTtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgIHRoaXMuaGlzdG9yaWVzID0gbnVsbDtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMgPSBudWxsO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgbGV0IHR5cGVGaWx0ZXIgPSB0aGlzLmZpbHRlci52YWx1ZTtcclxuICAgIGxldCB0aW1lRmlsdGVyID0gdGhpcy50aW1lLnZhbHVlO1xyXG4gICAgdGhpcy5maWx0ZXJJY29uID0gdGhpcy50aW1lLmljb247XHJcbiAgICBpZiAodGltZUZpbHRlciA9PSAnQ1VSUicpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuaGlzdG9yaWVzLmZpbHRlcihoaXN0ID0+IChoaXN0LnllYXIgIT0gJ1N0YXJ0JyAmJiBwYXJzZUludChoaXN0LnllYXIpID09IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSkpO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzID0gdGhpcy5nZXRGaWx0ZXJlZEhpc3Rvcmllcyh0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLCB0eXBlRmlsdGVyKTtcclxuICAgIH0gZWxzZSBpZiAodGltZUZpbHRlciA9PSAnUEFTVCcpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuaGlzdG9yaWVzLmZpbHRlcihoaXN0ID0+IChoaXN0LnllYXIgIT0gJ1N0YXJ0JyAmJiBoaXN0LnllYXIgIT0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpICsgJycpKTtcclxuICAgICAgdGhpcy5maWx0ZXJlZEhpc3RvcmllcyA9IHRoaXMuZ2V0RmlsdGVyZWRIaXN0b3JpZXModGhpcy5maWx0ZXJlZEhpc3RvcmllcywgdHlwZUZpbHRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVGaWx0ZXIgIT0gJ0FMTCcpIHtcclxuICAgICAgdGhpcy5maWx0ZXJJY29uID0gdGhpcy5maWx0ZXIuaWNvbjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgeXdoID0gdGhpcy5maWx0ZXJlZEhpc3Rvcmllcy5maWx0ZXIoaCA9PiBoLnllYXIgPT0gJ1N0YXJ0Jyk7XHJcblxyXG4gICAgaWYgKHRoaXMuZmlsdGVyZWRIaXN0b3JpZXMubGVuZ3RoID4gMCAmJiB5d2gubGVuZ3RoIDwgMSkge1xyXG4gICAgICB0aGlzLmZpbHRlcmVkSGlzdG9yaWVzLnB1c2goe1xyXG4gICAgICAgIGNvbG9yOiAndmFyKC0taW9uLWNvbG9yLW1lZGl1bS1ncmF5KScsXHJcbiAgICAgICAgaWNvbjogJ2hvdXJnbGFzcy1zdGFydCcsXHJcbiAgICAgICAgaGlzdG9yeTogW10sXHJcbiAgICAgICAgeWVhcjogJ1N0YXJ0J1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZpbHRlcmVkSGlzdG9yaWVzKGhpc3RvcmllczogWWVhcldpc2VIaXN0b3J5W10sIGZpbHRlcjogc3RyaW5nKSB7XHJcbiAgICBpZiAoZmlsdGVyID09ICdBTEwnKSB7XHJcbiAgICAgIHRoaXMuY291bnQgPSB0aGlzLmNvdW50ICsgMTtcclxuICAgICAgcmV0dXJuIGhpc3RvcmllcztcclxuICAgIH1cclxuICAgIHJldHVybiBoaXN0b3JpZXNcclxuICAgICAgLmZpbHRlcihoaXN0ID0+IGhpc3QuaGlzdG9yeS5zb21lKHN1Ykhpc3QgPT4gc3ViSGlzdC5wcm9jZXNzVHlwZSA9PT0gZmlsdGVyKSlcclxuICAgICAgLm1hcChoaXN0b3J5ID0+IHtcclxuICAgICAgICBsZXQgbmV3SGlzdCA9IE9iamVjdC5hc3NpZ24oe30sIGhpc3RvcnkpO1xyXG4gICAgICAgIG5ld0hpc3QuaGlzdG9yeSA9IG5ld0hpc3QuaGlzdG9yeS5maWx0ZXIoaGlzdCA9PiBoaXN0LnByb2Nlc3NUeXBlID09PSBmaWx0ZXIpO1xyXG4gICAgICAgIHJldHVybiBuZXdIaXN0O1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGlvblZpZXdXaWxsTGVhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhzLnNldEhlbHBBdmFpbGFiaWxpdHkoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgaW9uVmlld0RpZEVudGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ocy5zZXRIZWxwQXZhaWxhYmlsaXR5KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgaXNWYWx1ZVNlbGVjdGVkKGhpc3Rvcnk6IEhpc3RvcnlNb2RlbCwgY291bnQ6IGFueSkge1xyXG4gICAgLy90aGlzLmxvZ2dlci5pbmZvKCdpcyB2YWx1ZSBzZWxlY3RlZCcgLCB0aGlzLnRyYW5zYWN0aW9uSWRTZWxlY3RlZCk7XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbklkU2VsZWN0ZWQgPT0gbnVsbCAmJiBjb3VudCA9PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChoaXN0b3J5LnRyYW5zYWN0aW9uSWQgPT0gdGhpcy50cmFuc2FjdGlvbklkU2VsZWN0ZWQpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvcGVuKGhpc3RvcnlNb2RlbDogSGlzdG9yeU1vZGVsKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcInRyYW5zYWN0aW9uSWQgPVwiLGhpc3RvcnlNb2RlbC50cmFuc2FjdGlvbklkKTtcclxuICAgIHRoaXMubG9nZ2VyLmluZm8oJ3RyYW5zYWN0aW9uSWQgPSAnKyBoaXN0b3J5TW9kZWwudHJhbnNhY3Rpb25JZCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSBoaXN0b3J5TW9kZWw7XHJcbiAgICBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbi51cmkuaW5jbHVkZXMoXCJQb3B1cFwiKSkge1xyXG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKCdIaXN0b3J5IGJ1dHRvbiB1cmkgaW5jbHVkZXMgUG9wdXAgdmFsdWUnKTtcclxuICAgICAgaWYgKHRoaXMubHMuaXNDc3IoKSAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uY2xtdE9ubHlGTiA9PSAnMScpIHtcclxuICAgICAgICBsZXQgZXJyb3JNb2RlbDogRXJyb3JNb2RlbCA9IG5ldyBFcnJvck1vZGVsKCk7XHJcbiAgICAgICAgZXJyb3JNb2RlbC5tc2cgPSBcIlRoaXMgaXMgYSBjbGFpbWFudCBvbmx5IGZ1bmN0aW9uYWxpdHkuXCI7XHJcbiAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnJvck1vZGVsKTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5hY3Rpb25VcmkgPT0gJ0FwcGVhbHNQb3B1cCcgJiYgaGlzdG9yeU1vZGVsLmRhdGEucWVEYXRhKSB7XHJcbiAgICAgICAgbGV0IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsczogQXJyYXk8UXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWw+ID0gSlNPTi5wYXJzZShoaXN0b3J5TW9kZWwuZGF0YS5xZURhdGEpO1xyXG4gICAgICAgIHRoaXMucWVRdWVyeU1vZGVscyA9IHRoaXMuY3JlYXRlUWVRdWVyeU1vZGVsKHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVscyk7XHJcbiAgICAgICAgdGhpcy5pc09wZW5RZSA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbiAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uLmRpYWxvZyA9PSAndXBsb2FkUG9wdXBJbkNwJykge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhKTtcclxuICAgICAgICB0aGlzLnVwbG9hZFR5cGVJZCA9IHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhLnVwbG9hZFR5cGVJZDtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE1vZGVsLmRhdGE/LmVtcGxveWVyRGF0YSAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmVtcGxveWVyRGF0YU1vZGVsID0gSlNPTi5wYXJzZSh0aGlzLnNlbGVjdGVkTW9kZWwuZGF0YT8uZW1wbG95ZXJEYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlbC5kYXRhICE9IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuZGF0YU1vZGVsID0gdGhpcy5zZWxlY3RlZE1vZGVsLmRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2hvd1VwbG9hZFBvcHVwID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uZGlhbG9nID09ICd1cGxvYWRQb3B1cCcpIHtcclxuICAgICAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICAgICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5JkNMQUlNQU5UX1BPUlRBTD10cnVlJnZpZXc9LnVwbG9hZGRvY3VtZW50ZW50ZXJzc25gLCAnX3NlbGYnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uZGlhbG9nID09ICd1cGxvYWRXU0FQb3B1cCcpIHtcclxuICAgICAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICAgICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5JkNMQUlNQU5UX1BPUlRBTD10cnVlJnZpZXc9LnVwbG9hZGRvY3VtZW50d29ya3NlYXJjaGF1ZGl0YCwgJ19zZWxmJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmJ1dHRvbiAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uLmRpYWxvZyA9PSAndXBsb2FkSURWUG9wdXAnKSB7XHJcbiAgICAgICAgbGV0IHVzZXJNb2RlbCA9IHRoaXMubHMuZ2V0VXNlcigpO1xyXG4gICAgICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OSZDTEFJTUFOVF9QT1JUQUw9dHJ1ZSZ2aWV3PS5zZWxlY3RpZHZlcmlmaWNhdGlvbm9wdGlvbmAsICdfc2VsZicpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlNb2RlbC5idXR0b24gJiYgaGlzdG9yeU1vZGVsLmJ1dHRvbi5kaWFsb2cgPT0gJ3VwbG9hZFBheW1lbnRPcHRpb25Eb2NQb3B1cCcpIHtcclxuICAgICAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICAgICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5JkNMQUlNQU5UX1BPUlRBTD10cnVlJnZpZXc9LnBheW1lbnRvcHRpb25kb2N1cGxvYWRgLCAnX3NlbGYnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uICYmIGhpc3RvcnlNb2RlbC5idXR0b24uZGlhbG9nID09ICdvdnBXYWl2ZXJQb3B1cCcpIHtcclxuICAgICAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKCk7XHJcbiAgICAgICAgY29uc3QgdHJhbnNhY3Rpb25JZCA9IGVuY29kZVVSSUNvbXBvbmVudChoaXN0b3J5TW9kZWwudHJhbnNhY3Rpb25JZCEpO1xyXG4gICAgICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OSZDTEFJTUFOVF9QT1JUQUw9dHJ1ZSZ2aWV3PS5tZWZpbGVvdmVycGF5bWVudHdhaXZlcnJlcXVlc3RkZWNpc2lvbmxpc3QmdHJhbnNhY3Rpb25JZD0ke3RyYW5zYWN0aW9uSWR9YCwgJ19zZWxmJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy51dGlsLnByZXNlbnRUb2FzdCgnU2NlbmFyaW8gdW5kZXIgZGV2ZWxvcG1lbnQuIFBsZWFzZSBjaGVjayB3aXRoIGRldmVsb3Blci4nKTtcclxuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihoaXN0b3J5TW9kZWwpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChoaXN0b3J5TW9kZWwuYnV0dG9uLnVyaSAhPSAnJyAmJiBoaXN0b3J5TW9kZWwuYnV0dG9uLnVyaS5pbmNsdWRlcyhcIlBhZ2VcIikpIHtcclxuICAgICAgdGhpcy5sb2dnZXIuaW5mbygnSGlzdG9yeSBidXR0b24gdXJpIGluY2x1ZGVzIFBhZ2UgdmFsdWUnKTtcclxuICAgICAgaWYgKGhpc3RvcnlNb2RlbC5kYXRhICYmIGhpc3RvcnlNb2RlbC5kYXRhLnFlRGF0YSkge1xyXG4gICAgICAgIGxldCBqc29uRGF0YSA9IEpTT04ucGFyc2UoaGlzdG9yeU1vZGVsLmRhdGEucWVEYXRhKTtcclxuICAgICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290V2l0aERhdGEoaGlzdG9yeU1vZGVsLmJ1dHRvbi5jb250ZXh0LCBoaXN0b3J5TW9kZWwuYnV0dG9uLnVybCwganNvbkRhdGFbMF0uZHluYW1pY1BhcmFtLCB0aGlzLm5hdik7XHJcbiAgICAgIH0gZWxzZSBpZiAoaGlzdG9yeU1vZGVsLmRhdGEpIHtcclxuICAgICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290V2l0aERhdGEoaGlzdG9yeU1vZGVsLmJ1dHRvbi5jb250ZXh0LCBoaXN0b3J5TW9kZWwuYnV0dG9uLnVybCwgaGlzdG9yeU1vZGVsLmRhdGEsIHRoaXMubmF2KVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3QoaGlzdG9yeU1vZGVsLmJ1dHRvbi5jb250ZXh0LCBoaXN0b3J5TW9kZWwuYnV0dG9uLnVybCwgdGhpcy5uYXYpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuT2xkUmVjb3JkcygpIHtcclxuICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxzLmdldFVzZXIoKTtcclxuICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmxzLmlzQ3NyKCkpIHtcclxuICAgICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OWAsICdfc2VsZicpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMubHMuaXNDbGFpbWFudCgpKSB7XHJcbiAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9L2ZhY2VzL3ZpcnR1YWwvY29udGV4dHN3aXRjaC54aHRtbD9hPSR7dXNlck1vZGVsLmFjY2Vzc190b2tlbn0mcj0ke3VzZXJNb2RlbC5yZWZyZXNoX3Rva2VufSZ2PTIyOTkmQ0xBSU1BTlRfUE9SVEFMPXRydWUmdmlldz0uY2xhaW1hbnRzdW1tYXJ5YCwgJ19zZWxmJyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVRZVF1ZXJ5TW9kZWwocXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbFtdKSB7XHJcbiAgICByZXR1cm4gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxzLm1hcChxdWVzdGlvbm5haXJlUXVlcnlNb2RlbCA9PiB7XHJcbiAgICAgIGxldCBkeW5hbWljUGFyYW0gPSB7fTtcclxuICAgICAgdmFyIGtleU1vZGVsID0gPEtleVZhbHVlTW9kZWw+cXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZHluYW1pY1BhcmFtWzBdO1xyXG4gICAgICB2YXIgdGl0bGUgPSBrZXlNb2RlbC5rZXk7XHJcbiAgICAgIHZhciB2ZXJiYWlnZUtleSA9IGtleU1vZGVsLnZhbHVlO1xyXG4gICAgICBjb25zdCB0cmFuc2xhdGVkVGV4dCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodmVyYmFpZ2VLZXkpO1xyXG4gICAgICBkeW5hbWljUGFyYW1bdGl0bGVdID0gdHJhbnNsYXRlZFRleHQ7XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnaGlkQXBwZWFsRGVjaXNpb24nXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ2hpZEFwcGVhbERlY2lzaW9uJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnZG9ja2V0bnVtYmVyJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydkb2NrZXRudW1iZXInXTtcclxuICAgICAgZHluYW1pY1BhcmFtWydwYXJlbnRBcHBlYWxJZCddID0gcXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwuZGF0YVsncGFyZW50QXBwZWFsSWQnXTtcclxuICAgICAgZHluYW1pY1BhcmFtWydhcHBlYWxUeXBlJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydhcHBlYWxUeXBlJ107XHJcbiAgICAgIGR5bmFtaWNQYXJhbVsnYXBwZWFsTGV2ZWwnXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ2FwcGVhbExldmVsJ107XHJcbiAgICAgIGlmICh0aGlzLnV0aWwuaXNTdGF0ZSgnTUUnKSkge1xyXG4gICAgICAgIGR5bmFtaWNQYXJhbVsnYXBwZWFsQ29uc2lkZXJlZExhdGVEYXRlJ10gPSBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbC5kYXRhWydhcHBlYWxDb25zaWRlcmVkTGF0ZURhdGUnXTtcclxuICAgICAgICBkeW5hbWljUGFyYW1bJ2xhdGVBcHBlYWwnXSA9IHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsLmRhdGFbJ2xhdGVBcHBlYWwnXTtcclxuICAgICAgfVxyXG4gICAgICBxdWVzdGlvbm5haXJlUXVlcnlNb2RlbFsnZHluYW1pY1BhcmFtJ10gPSBkeW5hbWljUGFyYW07XHJcbiAgICAgIHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsWydhdXRvU2F2ZSddID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuIHF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVFlKCkge1xyXG4gICAgdGhpcy5pc09wZW5RZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZE1vZGVsID0gbnVsbDtcclxuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1FlIGNhbmNlbCcpO1xyXG4gIH1cclxuXHJcbiAgcXVTdWNjZXNzKCkge1xyXG4gICAgdGhpcy5oaXN0b3JpZXMgPSBudWxsO1xyXG4gICAgdGhpcy5pc09wZW5RZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRNb2RlbCkge1xyXG4gICAgICB0aGlzLmVzXHJcbiAgICAgICAgLmRpc2FibGVIaXN0b3J5QnV0dG9uKHRoaXMuc2VsZWN0ZWRNb2RlbC50cmFuc2FjdGlvbklkLCB0aGlzLnNlbGVjdGVkTW9kZWwuaGlzdG9yeUtleSlcclxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aW1lcigyMDAwKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRIaXN0b3J5KClcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcIkVycm9yIHdoaWxlIGRlYWN0aXZhdGluZyB0aGUgZXZlbnQuXCIsIGVycik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdRZSBzdWNjZXNzJyk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVVwbG9hZFBvcHVwKCkge1xyXG4gICAgdGhpcy5zaG93VXBsb2FkUG9wdXAgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHVwbG9hZFBvcHVwRG9uZSgpIHtcclxuICAgIHRoaXMuc2hvd1VwbG9hZFBvcHVwID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZE1vZGVsKSB7XHJcbiAgICAgIHRoaXMuZXNcclxuICAgICAgICAuZGlzYWJsZUhpc3RvcnlCdXR0b24odGhpcy5zZWxlY3RlZE1vZGVsLnRyYW5zYWN0aW9uSWQsIHRoaXMuc2VsZWN0ZWRNb2RlbC5oaXN0b3J5S2V5KVxyXG4gICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgICB9LCAxMDAwKTtcclxuICAgICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJFcnJvciB3aGlsZSBkZWFjdGl2YXRpbmcgdGhlIGV2ZW50LlwiLCBlcnIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgS2V5VmFsdWVNb2RlbCB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuIiwiPGFwcC1tdWx0aS1xdWVzdGlvbm5haXJlIFtxZVF1ZXJ5TW9kZWxzXT1cInFlUXVlcnlNb2RlbHNcIiAqbmdJZj1cImlzT3BlblFlXCIgKG1vZGVsQ2FuY2VsKT1cImNsb3NlUWUoKVwiXHJcbiAgKG9uQ29tcGxldGUpPVwicXVTdWNjZXNzKClcIj48L2FwcC1tdWx0aS1xdWVzdGlvbm5haXJlPlxyXG48YXBwLXByb29mLW9mLWFueXRoaW5nICpuZ0lmPVwic2hvd1VwbG9hZFBvcHVwXCIgW3VwbG9hZFR5cGVJZF09XCJ1cGxvYWRUeXBlSWRcIiBbZW1wbG95ZXJEYXRhTW9kZWxdPVwiZW1wbG95ZXJEYXRhTW9kZWxcIlxyXG4gIFtkYXRhXT1cImRhdGFNb2RlbFwiIChjYW5jZWwpPVwiY2xvc2VVcGxvYWRQb3B1cCgpXCIgKHN1Y2Nlc3MpPVwidXBsb2FkUG9wdXBEb25lKClcIj48L2FwcC1wcm9vZi1vZi1hbnl0aGluZz5cclxuPGFwcC1kYXNoYm9hcmQtaGVscCAqbmdJZj1cImhzLmlzU2hvd2luZygpXCIgW2FjdGl2ZUluZGV4XT1cIjBcIj48L2FwcC1kYXNoYm9hcmQtaGVscD5cclxuPGlvbi1ncmlkPlxyXG4gIDxpb24tcm93PlxyXG4gICAgPGlvbi1jb2wgc2l6ZT1cIjEyXCIgc2l6ZVhsPVwiOFwiIHNpemVMZz1cIjhcIiBzaXplTWQ9XCIxMFwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiIG9mZnNldE1kPVwiMVwiPlxyXG4gICAgICA8aDE+WW91ciB1bmVtcGxveW1lbnQgaGlzdG9yeTwvaDE+XHJcbiAgICA8L2lvbi1jb2w+XHJcbiAgPC9pb24tcm93PlxyXG4gIDxpb24tcm93PlxyXG4gICAgPGlvbi1jb2wgc2l6ZT1cIjEyXCIgc2l6ZVhsPVwiOFwiIHNpemVMZz1cIjhcIiBzaXplTWQ9XCIxMFwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiIG9mZnNldE1kPVwiMVwiPlxyXG5cclxuICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1sZWZ0IGZpZWxkXCIgKm5nSWY9XCJoaXN0b3JpZXNcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInRpbWVsaW5lXCIgaWQ9XCJsYmxUaW1lbGluZVwiPnt7dGltZT8uZGVzY319PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInRpbWVPcHRpb25cIiBbKG5nTW9kZWwpXT1cInRpbWVcIiBvcHRpb25MYWJlbD1cImRlc2NcIlxyXG4gICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiIFthcmlhTGFiZWxsZWRCeV09XCInbGJsVGltZWxpbmUnXCI+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxkaXYgW3BUb29sdGlwXT1cIml0ZW0uZGVzY1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIHRhYmluZGV4PVwiMFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5kZXNjXCJcclxuICAgICAgICAgICAgICAgICAgcm9sZT1cIm5vdGVcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5pY29uXCI+e3tpdGVtLmRlc2N9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYXInLCBpdGVtLmljb25dXCIgKm5nSWY9XCJpdGVtLmljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgIDxpb24tY29sIHNpemU9XCI5XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtcmlnaHQgZmllbGRcIiAqbmdJZj1cImhpc3Rvcmllc1wiPlxyXG4gICAgICAgICAgICA8bGFiZWw+e3tmaWx0ZXI/LmRlc2N9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJmaWx0ZXJPcHRpb25zXCIgWyhuZ01vZGVsKV09XCJmaWx0ZXJcIiBvcHRpb25MYWJlbD1cImljb25cIlxyXG4gICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtwVG9vbHRpcF09XCJpdGVtLmRlc2NcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiB0YWJpbmRleD1cIjBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uZGVzY1wiXHJcbiAgICAgICAgICAgICAgICAgIHJvbGU9XCJub3RlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uaWNvblwiPnt7aXRlbS5hbHREZXNjfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFyJywgaXRlbS5pY29uXVwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgPGJyIC8+XHJcbiAgICAgIDxwLXRpbWVsaW5lIFt2YWx1ZV09XCJmaWx0ZXJlZEhpc3Rvcmllc1wiICpuZ0lmPVwiKGZpbHRlcmVkSGlzdG9yaWVzICYmIGZpbHRlcmVkSGlzdG9yaWVzLmxlbmd0aCA+IDApXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cIm1hcmtlclwiIGxldC1oaXN0PlxyXG4gICAgICAgICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImhpc3QuY29sb3JcIj5cclxuICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYXInLCBoaXN0Lmljb25dXCIgY2xhc3M9XCJjdXN0b20tbWFya2VyXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIiBsZXQtaGlzdD5cclxuICAgICAgICAgIDxoMSBjbGFzcz1cImFwcC1hY2NvcmRpYW4taGVhZGluZ1wiIHN0eWxlPVwibWFyZ2luLXRvcDogMHB4OyBmb250LXdlaWdodDogYm9sZDtcIj57e2hpc3QueWVhcn19PC9oMT5cclxuICAgICAgICAgIDxwLWFjY29yZGlvbiBleHBhbmRJY29uPVwicGkgcGktZncgcGktY2hldnJvbi11cFwiIGNvbGxhcHNlSWNvbj1cInBpIHBpLWZ3IHBpLWNoZXZyb24tdXBcIj5cclxuICAgICAgICAgICAgPHAtYWNjb3JkaW9uVGFiICpuZ0Zvcj1cImxldCBoaXN0b3J5IG9mIGhpc3QuaGlzdG9yeTsgbGV0IGkgPSBpbmRleFwiIFtzZWxlY3RlZF09XCJpc1ZhbHVlU2VsZWN0ZWQoaGlzdG9yeSxpKVwiPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tcm93IHN0eWxlPVwid2lkdGg6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtbGVmdFwiIHNpemU9XCIxMlwiIHNpemVYbD1cIjNcIiBzaXplTGc9XCIzXCIgc2l6ZU1kPVwiM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLWFjY29yZGlhbi1oZWFkaW5nXCIgW3N0eWxlLmNvbG9yXT1cImhpc3RvcnkuY29sb3JcIj57e2hpc3RvcnkuZXZlbnREYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJhcHAtdGV4dC1hbGlnblwiIHNpemU9XCIxMVwiIHNpemVYbD1cIjhcIiBzaXplTGc9XCI4XCIgc2l6ZU1kPVwiOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLWFjY29yZGlhbi1oZWFkaW5nXCIgW3N0eWxlLmNvbG9yXT1cImhpc3RvcnkuY29sb3JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7aGlzdG9yeS50aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwiaGlzdG9yeS5jb2xvclwiICpuZ0lmPVwiZ2V0SWNvbihoaXN0b3J5KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZ2V0SWNvbihoaXN0b3J5KVwiIGNsYXNzPVwiY3VzdG9tLW1hcmtlclwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1hY2NvcmRpYW4tYm9keVwiIFtpbm5lckh0bWxdPVwiaGlzdG9yeS5kZXNjXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImhpc3RvcnkuYnV0dG9uICE9IG51bGxcIj5cclxuICAgICAgICAgICAgICAgICAgPGJyIC8+PGJyIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2dvIHRvJyArIGhpc3RvcnkuYnV0dG9uLmJ1dHRvblRleHRcIiBmaWxsPVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIi0tY29sb3I6IHt7aGlzdG9yeS5idXR0b24uY29sb3J9fTsgLS1ib3JkZXItY29sb3I6IHt7aGlzdG9yeS5idXR0b24uY29sb3J9fTsgLS1ib3JkZXItd2lkdGg6IDJweFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzaGFwZT1cInJvdW5kXCIgY2xhc3M9XCJzbWFsbC1idXR0b25cIiAoY2xpY2spPVwib3BlbihoaXN0b3J5KVwiPnt7aGlzdG9yeS5idXR0b24uYnV0dG9uVGV4dH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvcC1hY2NvcmRpb25UYWI+XHJcbiAgICAgICAgICA8L3AtYWNjb3JkaW9uPlxyXG4gICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9wLXRpbWVsaW5lPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiICpuZ0lmPVwiaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW9uLXBhZGRpbmctdG9wIGlvbi10ZXh0LWNlbnRlciBhcHAtYWNjb3JkaWFuLWJvZHlcIlxyXG4gICAgICAgICpuZ0lmPVwiKCFmaWx0ZXJlZEhpc3RvcmllcyB8fCBmaWx0ZXJlZEhpc3Rvcmllcy5sZW5ndGggPCAxKSAmJiAhaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYXInLCBmaWx0ZXJJY29uXVwiIGNsYXNzPVwibGFyZ2UtaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8cD57eydObyBoaXN0b3J5IHByZXNlbnQuJyB8IHRyYW5zbGF0ZX19PC9wPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDUlO1wiICpuZ0lmPVwiIWlzTG9hZGluZyAmJiBzaG93T2xkZXJSZWNvcmRzTGlua1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJob3Jpem9udGFsLWFsaWduXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC1hY2NvcmRpYW4tYm9keVwiPlxyXG4gICAgICAgICAgICA8c3Ryb25nPnt7ICdUbyB2aWV3IHByaW9yIHVuZW1wbG95bWVudCBoaXN0b3J5IGNsaWNrIGhlcmUnIHwgdHJhbnNsYXRlIH19PC9zdHJvbmc+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBhcmlhLWxhYmVsPVwidmlldyBvbGQgcmVjb3Jkc1wiIChjbGljayk9XCJvcGVuT2xkUmVjb3JkcygpXCIgZmlsbD1cIm91dGxpbmVcIiBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIj5cclxuICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYXMnLCAnZXh0ZXJuYWwtbGluay1hbHQnXVwiIGNsYXNzPVwiZXh0ZXJuYWwtbGluay1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGJyIC8+XHJcblxyXG4gICAgPC9pb24tY29sPlxyXG4gIDwvaW9uLXJvdz5cclxuPC9pb24tZ3JpZD4iXX0=
|