@tilde-nlp/ngx-translate 7.0.59 → 7.0.61
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/modules/tld-audio/tld-dictate/tld-dictate.component.mjs +2 -1
- package/esm2022/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.mjs +4 -1
- package/fesm2022/tilde-nlp-ngx-translate.mjs +4 -0
- package/fesm2022/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/package.json +1 -1
- package/src/assets/webcomponent/tilde-translate-box.js +1 -1
|
@@ -93,6 +93,7 @@ export class TldDictateComponent {
|
|
|
93
93
|
this.isRecording = isRecording;
|
|
94
94
|
},
|
|
95
95
|
onError: (error) => {
|
|
96
|
+
this.hasAnyMicrophone = false;
|
|
96
97
|
this.stopRecording();
|
|
97
98
|
if (error.name === this.notAllowedErrorName) {
|
|
98
99
|
this.emitError(AudioErrorCase.MIC_NOT_ALLOWED);
|
|
@@ -127,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
127
128
|
}], systemId: [{
|
|
128
129
|
type: Input
|
|
129
130
|
}] } });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLWRpY3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWF1ZGlvL3RsZC1kaWN0YXRlL3RsZC1kaWN0YXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1hdWRpby90bGQtZGljdGF0ZS90bGQtZGljdGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQTBCLGlCQUFpQixFQUFFLHVCQUF1QixFQUEyQixNQUFNLDJCQUEyQixDQUFDO0FBQ25KLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7OztBQVFsRSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQVksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hELFlBQVksQ0FBVTtJQUN0QixnQkFBZ0IsQ0FBVTtJQUMxQiw4QkFBOEI7SUFDOUIsU0FBUyxDQUFZO0lBQ0osbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7SUFFekQsSUFBSSxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBRWpELFlBQVksQ0FBVTtJQUM5QixJQUFJLFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQy9DLElBQUksV0FBVyxDQUFDLEtBQWM7UUFDNUIsTUFB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UzsrQkFDRSxhQUFhO3dEQW9DYixNQUFNO3NCQUFmLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0UsYUFBYTtzQkFBckIsS0FBSztnQkFHTyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBc3JDbGllbnQsIEFzckNsaWVudENvbmZpZ3VyYXRpb24sIFJlY29nbml0aW9uU3RhdHVzLCBTQU1QTEVfUkFURV9QTEFDRUhPTERFUiwgU3BlZWNoUmVjb2duaXRpb25SZXN1bHQgfSBmcm9tICdAdGlsZGUtbmxwL2Fzci1hcGktY2xpZW50JztcclxuaW1wb3J0IHsgQXVkaW9FcnJvckNhc2UgfSBmcm9tICcuLi9tb2RlbHMvYXVkaW8tZXJyb3ItY2FzZS5tb2RlbCc7XHJcbmltcG9ydCB7IElEaWN0YXRlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL21vZGVscy9kaWN0YXRlLWNvbmZpZ3VyYXRpb25pLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLWRpY3RhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90bGQtZGljdGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGxkLWRpY3RhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkRGljdGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVjb3JkTGVuZ3RoOiBEYXRlID0gbmV3IERhdGUoMCwgMCwgMCwgMCwgMCwgMCk7XHJcbiAgaXNQcm9jZXNzaW5nOiBib29sZWFuO1xyXG4gIGhhc0FueU1pY3JvcGhvbmU6IGJvb2xlYW47XHJcbiAgLy8gYXNyQXBpQ2xpZW50OiBBU1JBcGlDbGllbnQ7XHJcbiAgYXNyQ2xpZW50OiBBc3JDbGllbnQ7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBub3RBbGxvd2VkRXJyb3JOYW1lID0gXCJOb3RBbGxvd2VkRXJyb3JcIjtcclxuXHJcbiAgZ2V0IG1heExlbmd0aCgpIHsgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbj8ubWF4TGVuZ3RoIH07XHJcblxyXG4gIHByaXZhdGUgX2lzUmVjb3JkaW5nOiBib29sZWFuO1xyXG4gIGdldCBpc1JlY29yZGluZygpIHsgcmV0dXJuIHRoaXMuX2lzUmVjb3JkaW5nOyB9XHJcbiAgc2V0IGlzUmVjb3JkaW5nKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBzaG91bGRDbGVhclNvdXJjZSA9ICF0aGlzLmlzUmVjb3JkaW5nICYmIHZhbHVlO1xyXG4gICAgLy8gaWYgcmVjb3JkIGVuZGVkLCBkaWN0YXRlIHRleHQgZW1pdHRlZCBvbmUgbGFzdCB0aW1lLCBzbyBpdCB0cmFuc2xhdGVzIGF1dG9tYXRpY2FsbHkuXHJcbiAgICB0aGlzLl9pc1JlY29yZGluZyA9IHZhbHVlO1xyXG4gICAgdGhpcy5pc0RpY3RhdGluZy5lbWl0KHRoaXMuX2lzUmVjb3JkaW5nKTtcclxuICAgIGlmIChzaG91bGRDbGVhclNvdXJjZSkge1xyXG4gICAgICB0aGlzLmRpY3RhdGVkVGV4dCA9IFwiXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kaWN0YXRlZFRleHQ6IHN0cmluZztcclxuICBzZXQgZGljdGF0ZWRUZXh0KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2RpY3RhdGVkVGV4dCA9IHZhbHVlO1xyXG4gICAgdGhpcy5yZXN1bHQuZW1pdCh0aGlzLl9kaWN0YXRlZFRleHQpO1xyXG4gIH1cclxuICBnZXQgZGljdGF0ZWRUZXh0KCkgeyByZXR1cm4gdGhpcy5fZGljdGF0ZWRUZXh0OyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExhc3QgcmVjb2duaXplZCB0ZXh0XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlc3VsdDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgcGFydGlhbFJlc3VsdDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgaXNEaWN0YXRpbmc6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgb25FcnJvcjogRXZlbnRFbWl0dGVyPEF1ZGlvRXJyb3JDYXNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXVkaW9FcnJvckNhc2U+KCk7XHJcbiAgQElucHV0KCkgY29uZmlndXJhdGlvbjogSURpY3RhdGVDb25maWd1cmF0aW9uO1xyXG5cclxuICBwcml2YXRlIF9zeXN0ZW1JZDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNldCBzeXN0ZW1JZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9zeXN0ZW1JZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5zdG9wUmVjb3JkaW5nKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5oYXNBbnlBdWRpb0lucHV0KCk7XHJcbiAgfVxyXG5cclxuICBzdGFydFJlY29yZGluZygpIHtcclxuICAgIHRoaXMuY3JlYXRlQ2xpZW50KCk7XHJcbiAgICB0aGlzLmFzckNsaWVudC5iZWdpblZvaWNlUmVjb2duaXRpb24oKTtcclxuICB9XHJcblxyXG4gIHN0b3BSZWNvcmRpbmcoKSB7XHJcbiAgICB0aGlzLmFzckNsaWVudD8uZW5kVm9pY2VSZWNvZ25pdGlvbigpO1xyXG4gICAgdGhpcy5hc3JDbGllbnQgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYXNBbnlBdWRpb0lucHV0KCkge1xyXG4gICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCkudGhlbigoZGV2aWNlczogTWVkaWFEZXZpY2VJbmZvW10pID0+IHtcclxuICAgICAgdGhpcy5oYXNBbnlNaWNyb3Bob25lID0gZmFsc2U7XHJcbiAgICAgIGZvciAoY29uc3QgZGV2aWNlIG9mIGRldmljZXMpIHtcclxuICAgICAgICBpZiAoZGV2aWNlLmtpbmQgPT09IFwiYXVkaW9pbnB1dFwiKSB7XHJcbiAgICAgICAgICB0aGlzLmhhc0FueU1pY3JvcGhvbmUgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVJlc3VsdChyZXN1bHQ6IFNwZWVjaFJlY29nbml0aW9uUmVzdWx0KSB7XHJcbiAgICAvLyBub3QgbmVjZXNzYXJ5IHRvIGRpc3BsYXkgPHVuaz4gdGFnc1xyXG4gICAgY29uc3QgcmVzdWx0VGV4dCA9IHJlc3VsdC5oeXBvdGhlc2VzWzBdLnRyYW5zY3JpcHQ/LnJlcGxhY2UoXCI8dW5rPlwiLCBcIlwiKTtcclxuICAgIGlmIChyZXN1bHQuZmluYWwpIHtcclxuICAgICAgbGV0IHRleHQgPSAodGhpcy5kaWN0YXRlZFRleHQubGVuZ3RoID4gMCA/IFwiIFwiIDogXCJcIikgKyByZXN1bHRUZXh0O1xyXG4gICAgICB0aGlzLmRpY3RhdGVkVGV4dCArPSB0ZXh0O1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMucGFydGlhbFJlc3VsdC5lbWl0KHJlc3VsdFRleHQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0RXJyb3IoZXJyb3I6IEF1ZGlvRXJyb3JDYXNlKSB7XHJcbiAgICB0aGlzLm9uRXJyb3IuZW1pdChlcnJvcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUNsaWVudCgpIHtcclxuICAgIGNvbnN0IGNvbmZpZzogQXNyQ2xpZW50Q29uZmlndXJhdGlvbiA9IHtcclxuICAgICAgdXJsOiBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYXBpVXJsfS8ke3RoaXMuX3N5c3RlbUlkfT9jb250ZW50VHlwZT1hdWRpby94LXJhdyZzYW1wbGVSYXRlPSR7U0FNUExFX1JBVEVfUExBQ0VIT0xERVJ9JngtYXBpLWtleT0ke3RoaXMuY29uZmlndXJhdGlvbi5hcGlLZXl9YCxcclxuICAgICAgcmVwbGFjZVNhbXBsZVJhdGVJblVybDogdHJ1ZSxcclxuICAgICAgb25SZXN1bHQ6IChyZXN1bHQpID0+IHsgdGhpcy5oYW5kbGVSZXN1bHQocmVzdWx0IGFzIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0KSB9LFxyXG4gICAgICBvblJlY29yZGluZ1N0YXJ0U3RvcDogKGlzUmVjb3JkaW5nKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1JlY29yZGluZyA9IGlzUmVjb3JkaW5nO1xyXG4gICAgICB9LFxyXG4gICAgICBvbkVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLnN0b3BSZWNvcmRpbmcoKTtcclxuICAgICAgICBpZiAoZXJyb3IubmFtZSA9PT0gdGhpcy5ub3RBbGxvd2VkRXJyb3JOYW1lKSB7XHJcbiAgICAgICAgICB0aGlzLmVtaXRFcnJvcihBdWRpb0Vycm9yQ2FzZS5NSUNfTk9UX0FMTE9XRUQpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgfSxcclxuICAgICAgb25NZXNzYWdlOiAobWVzc2FnZSkgPT4ge1xyXG4gICAgICAgIGlmIChtZXNzYWdlID09PSBSZWNvZ25pdGlvblN0YXR1cy5Ob1NwZWVjaCkge1xyXG4gICAgICAgICAgdGhpcy5lbWl0RXJyb3IoQXVkaW9FcnJvckNhc2UuTk9fU1BFRUNIKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYXNyQ2xpZW50ID0gbmV3IEFzckNsaWVudChjb25maWcpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzUmVjb3JkaW5nXCI+XHJcblx0PGJ1dHRvblxyXG5cdFx0W21hdFRvb2x0aXBdPVwiJ0FVRElPLlNUQVJUJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRbZGlzYWJsZWRdPVwiIWhhc0FueU1pY3JvcGhvbmVcIlxyXG5cdFx0bWF0LWljb24tYnV0dG9uXHJcblx0XHRmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcblx0XHQoY2xpY2spPVwic3RhcnRSZWNvcmRpbmcoKVwiXHJcblx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cIihoYXNBbnlNaWNyb3Bob25lID8gJ0FVRElPLlNUQVJUJyA6ICdBVURJTy5NSUNfTk9UX0ZPVU5EJykgfCB0cmFuc2xhdGVcIlxyXG5cdD5cclxuXHRcdDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdJZj1cImhhc0FueU1pY3JvcGhvbmVcIiBbbWF0VG9vbHRpcF09XCInQVVESU8uU1RBUlQnIHwgdHJhbnNsYXRlXCI+IG1pYyA8L3NwYW4+XHJcblx0XHQ8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgW21hdFRvb2x0aXBdPVwiJ0FVRElPLk1JQ19OT1RfRk9VTkQnIHwgdHJhbnNsYXRlXCIgKm5nSWY9XCIhaGFzQW55TWljcm9waG9uZVwiPiBtaWNfb2ZmIDwvc3Bhbj5cclxuXHQ8L2J1dHRvbj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1JlY29yZGluZ1wiPlxyXG5cdDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgZW5kXCI+XHJcblx0XHQ8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcblx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRtYXQtaWNvbi1idXR0b25cclxuXHRcdFx0XHRmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcblx0XHRcdFx0W2Rpc2FibGVkXT1cIiFpc1JlY29yZGluZ1wiXHJcblx0XHRcdFx0KGNsaWNrKT1cInN0b3BSZWNvcmRpbmcoKVwiXHJcblx0XHRcdFx0W21hdFRvb2x0aXBdPVwiJ0FVRElPLlNUT1AnIHwgdHJhbnNsYXRlXCJcclxuXHRcdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cIidBVURJTy5TVE9QJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+IHN0b3AgPC9zcGFuPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLWRpY3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWF1ZGlvL3RsZC1kaWN0YXRlL3RsZC1kaWN0YXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC1hdWRpby90bGQtZGljdGF0ZS90bGQtZGljdGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQTBCLGlCQUFpQixFQUFFLHVCQUF1QixFQUEyQixNQUFNLDJCQUEyQixDQUFDO0FBQ25KLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7OztBQVFsRSxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQVksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hELFlBQVksQ0FBVTtJQUN0QixnQkFBZ0IsQ0FBVTtJQUMxQiw4QkFBOEI7SUFDOUIsU0FBUyxDQUFZO0lBQ0osbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7SUFFekQsSUFBSSxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBRWpELFlBQVksQ0FBVTtJQUM5QixJQUFJLFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQy9DLElBQUksV0FBVyxDQUFDLEtBQWM7UUFDNUIsTUFB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T0NWaEMsd3BDQTZCQTs7NEZEbkJhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhO3dEQW9DYixNQUFNO3NCQUFmLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0UsYUFBYTtzQkFBckIsS0FBSztnQkFHTyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBc3JDbGllbnQsIEFzckNsaWVudENvbmZpZ3VyYXRpb24sIFJlY29nbml0aW9uU3RhdHVzLCBTQU1QTEVfUkFURV9QTEFDRUhPTERFUiwgU3BlZWNoUmVjb2duaXRpb25SZXN1bHQgfSBmcm9tICdAdGlsZGUtbmxwL2Fzci1hcGktY2xpZW50JztcclxuaW1wb3J0IHsgQXVkaW9FcnJvckNhc2UgfSBmcm9tICcuLi9tb2RlbHMvYXVkaW8tZXJyb3ItY2FzZS5tb2RlbCc7XHJcbmltcG9ydCB7IElEaWN0YXRlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL21vZGVscy9kaWN0YXRlLWNvbmZpZ3VyYXRpb25pLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLWRpY3RhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90bGQtZGljdGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGxkLWRpY3RhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkRGljdGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVjb3JkTGVuZ3RoOiBEYXRlID0gbmV3IERhdGUoMCwgMCwgMCwgMCwgMCwgMCk7XHJcbiAgaXNQcm9jZXNzaW5nOiBib29sZWFuO1xyXG4gIGhhc0FueU1pY3JvcGhvbmU6IGJvb2xlYW47XHJcbiAgLy8gYXNyQXBpQ2xpZW50OiBBU1JBcGlDbGllbnQ7XHJcbiAgYXNyQ2xpZW50OiBBc3JDbGllbnQ7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBub3RBbGxvd2VkRXJyb3JOYW1lID0gXCJOb3RBbGxvd2VkRXJyb3JcIjtcclxuXHJcbiAgZ2V0IG1heExlbmd0aCgpIHsgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbj8ubWF4TGVuZ3RoIH07XHJcblxyXG4gIHByaXZhdGUgX2lzUmVjb3JkaW5nOiBib29sZWFuO1xyXG4gIGdldCBpc1JlY29yZGluZygpIHsgcmV0dXJuIHRoaXMuX2lzUmVjb3JkaW5nOyB9XHJcbiAgc2V0IGlzUmVjb3JkaW5nKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBzaG91bGRDbGVhclNvdXJjZSA9ICF0aGlzLmlzUmVjb3JkaW5nICYmIHZhbHVlO1xyXG4gICAgLy8gaWYgcmVjb3JkIGVuZGVkLCBkaWN0YXRlIHRleHQgZW1pdHRlZCBvbmUgbGFzdCB0aW1lLCBzbyBpdCB0cmFuc2xhdGVzIGF1dG9tYXRpY2FsbHkuXHJcbiAgICB0aGlzLl9pc1JlY29yZGluZyA9IHZhbHVlO1xyXG4gICAgdGhpcy5pc0RpY3RhdGluZy5lbWl0KHRoaXMuX2lzUmVjb3JkaW5nKTtcclxuICAgIGlmIChzaG91bGRDbGVhclNvdXJjZSkge1xyXG4gICAgICB0aGlzLmRpY3RhdGVkVGV4dCA9IFwiXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kaWN0YXRlZFRleHQ6IHN0cmluZztcclxuICBzZXQgZGljdGF0ZWRUZXh0KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2RpY3RhdGVkVGV4dCA9IHZhbHVlO1xyXG4gICAgdGhpcy5yZXN1bHQuZW1pdCh0aGlzLl9kaWN0YXRlZFRleHQpO1xyXG4gIH1cclxuICBnZXQgZGljdGF0ZWRUZXh0KCkgeyByZXR1cm4gdGhpcy5fZGljdGF0ZWRUZXh0OyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExhc3QgcmVjb2duaXplZCB0ZXh0XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlc3VsdDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgcGFydGlhbFJlc3VsdDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgaXNEaWN0YXRpbmc6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgb25FcnJvcjogRXZlbnRFbWl0dGVyPEF1ZGlvRXJyb3JDYXNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXVkaW9FcnJvckNhc2U+KCk7XHJcbiAgQElucHV0KCkgY29uZmlndXJhdGlvbjogSURpY3RhdGVDb25maWd1cmF0aW9uO1xyXG5cclxuICBwcml2YXRlIF9zeXN0ZW1JZDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNldCBzeXN0ZW1JZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9zeXN0ZW1JZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5zdG9wUmVjb3JkaW5nKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5oYXNBbnlBdWRpb0lucHV0KCk7XHJcbiAgfVxyXG5cclxuICBzdGFydFJlY29yZGluZygpIHtcclxuICAgIHRoaXMuY3JlYXRlQ2xpZW50KCk7XHJcbiAgICB0aGlzLmFzckNsaWVudC5iZWdpblZvaWNlUmVjb2duaXRpb24oKTtcclxuICB9XHJcblxyXG4gIHN0b3BSZWNvcmRpbmcoKSB7XHJcbiAgICB0aGlzLmFzckNsaWVudD8uZW5kVm9pY2VSZWNvZ25pdGlvbigpO1xyXG4gICAgdGhpcy5hc3JDbGllbnQgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYXNBbnlBdWRpb0lucHV0KCkge1xyXG4gICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCkudGhlbigoZGV2aWNlczogTWVkaWFEZXZpY2VJbmZvW10pID0+IHtcclxuICAgICAgdGhpcy5oYXNBbnlNaWNyb3Bob25lID0gZmFsc2U7XHJcbiAgICAgIGZvciAoY29uc3QgZGV2aWNlIG9mIGRldmljZXMpIHtcclxuICAgICAgICBpZiAoZGV2aWNlLmtpbmQgPT09IFwiYXVkaW9pbnB1dFwiKSB7XHJcbiAgICAgICAgICB0aGlzLmhhc0FueU1pY3JvcGhvbmUgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVJlc3VsdChyZXN1bHQ6IFNwZWVjaFJlY29nbml0aW9uUmVzdWx0KSB7XHJcbiAgICAvLyBub3QgbmVjZXNzYXJ5IHRvIGRpc3BsYXkgPHVuaz4gdGFnc1xyXG4gICAgY29uc3QgcmVzdWx0VGV4dCA9IHJlc3VsdC5oeXBvdGhlc2VzWzBdLnRyYW5zY3JpcHQ/LnJlcGxhY2UoXCI8dW5rPlwiLCBcIlwiKTtcclxuICAgIGlmIChyZXN1bHQuZmluYWwpIHtcclxuICAgICAgbGV0IHRleHQgPSAodGhpcy5kaWN0YXRlZFRleHQubGVuZ3RoID4gMCA/IFwiIFwiIDogXCJcIikgKyByZXN1bHRUZXh0O1xyXG4gICAgICB0aGlzLmRpY3RhdGVkVGV4dCArPSB0ZXh0O1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMucGFydGlhbFJlc3VsdC5lbWl0KHJlc3VsdFRleHQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0RXJyb3IoZXJyb3I6IEF1ZGlvRXJyb3JDYXNlKSB7XHJcbiAgICB0aGlzLm9uRXJyb3IuZW1pdChlcnJvcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUNsaWVudCgpIHtcclxuICAgIGNvbnN0IGNvbmZpZzogQXNyQ2xpZW50Q29uZmlndXJhdGlvbiA9IHtcclxuICAgICAgdXJsOiBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYXBpVXJsfS8ke3RoaXMuX3N5c3RlbUlkfT9jb250ZW50VHlwZT1hdWRpby94LXJhdyZzYW1wbGVSYXRlPSR7U0FNUExFX1JBVEVfUExBQ0VIT0xERVJ9JngtYXBpLWtleT0ke3RoaXMuY29uZmlndXJhdGlvbi5hcGlLZXl9YCxcclxuICAgICAgcmVwbGFjZVNhbXBsZVJhdGVJblVybDogdHJ1ZSxcclxuICAgICAgb25SZXN1bHQ6IChyZXN1bHQpID0+IHsgdGhpcy5oYW5kbGVSZXN1bHQocmVzdWx0IGFzIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0KSB9LFxyXG4gICAgICBvblJlY29yZGluZ1N0YXJ0U3RvcDogKGlzUmVjb3JkaW5nKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1JlY29yZGluZyA9IGlzUmVjb3JkaW5nO1xyXG4gICAgICB9LFxyXG4gICAgICBvbkVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmhhc0FueU1pY3JvcGhvbmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnN0b3BSZWNvcmRpbmcoKTtcclxuICAgICAgICBpZiAoZXJyb3IubmFtZSA9PT0gdGhpcy5ub3RBbGxvd2VkRXJyb3JOYW1lKSB7XHJcbiAgICAgICAgICB0aGlzLmVtaXRFcnJvcihBdWRpb0Vycm9yQ2FzZS5NSUNfTk9UX0FMTE9XRUQpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgfSxcclxuICAgICAgb25NZXNzYWdlOiAobWVzc2FnZSkgPT4ge1xyXG4gICAgICAgIGlmIChtZXNzYWdlID09PSBSZWNvZ25pdGlvblN0YXR1cy5Ob1NwZWVjaCkge1xyXG4gICAgICAgICAgdGhpcy5lbWl0RXJyb3IoQXVkaW9FcnJvckNhc2UuTk9fU1BFRUNIKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYXNyQ2xpZW50ID0gbmV3IEFzckNsaWVudChjb25maWcpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzUmVjb3JkaW5nXCI+XHJcblx0PGJ1dHRvblxyXG5cdFx0W21hdFRvb2x0aXBdPVwiJ0FVRElPLlNUQVJUJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRbZGlzYWJsZWRdPVwiIWhhc0FueU1pY3JvcGhvbmVcIlxyXG5cdFx0bWF0LWljb24tYnV0dG9uXHJcblx0XHRmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcblx0XHQoY2xpY2spPVwic3RhcnRSZWNvcmRpbmcoKVwiXHJcblx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cIihoYXNBbnlNaWNyb3Bob25lID8gJ0FVRElPLlNUQVJUJyA6ICdBVURJTy5NSUNfTk9UX0ZPVU5EJykgfCB0cmFuc2xhdGVcIlxyXG5cdD5cclxuXHRcdDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiAqbmdJZj1cImhhc0FueU1pY3JvcGhvbmVcIiBbbWF0VG9vbHRpcF09XCInQVVESU8uU1RBUlQnIHwgdHJhbnNsYXRlXCI+IG1pYyA8L3NwYW4+XHJcblx0XHQ8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgW21hdFRvb2x0aXBdPVwiJ0FVRElPLk1JQ19OT1RfRk9VTkQnIHwgdHJhbnNsYXRlXCIgKm5nSWY9XCIhaGFzQW55TWljcm9waG9uZVwiPiBtaWNfb2ZmIDwvc3Bhbj5cclxuXHQ8L2J1dHRvbj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1JlY29yZGluZ1wiPlxyXG5cdDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgZW5kXCI+XHJcblx0XHQ8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcblx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRtYXQtaWNvbi1idXR0b25cclxuXHRcdFx0XHRmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXHJcblx0XHRcdFx0W2Rpc2FibGVkXT1cIiFpc1JlY29yZGluZ1wiXHJcblx0XHRcdFx0KGNsaWNrKT1cInN0b3BSZWNvcmRpbmcoKVwiXHJcblx0XHRcdFx0W21hdFRvb2x0aXBdPVwiJ0FVRElPLlNUT1AnIHwgdHJhbnNsYXRlXCJcclxuXHRcdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cIidBVURJTy5TVE9QJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+IHN0b3AgPC9zcGFuPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
package/esm2022/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.mjs
CHANGED
|
@@ -289,6 +289,9 @@ export class TldTranslateTextComponent {
|
|
|
289
289
|
else if (error === AudioErrorCase.NO_SPEECH) {
|
|
290
290
|
this.alerts.warning(`ERRORS.AUDIO.${error}`);
|
|
291
291
|
}
|
|
292
|
+
else if (error === AudioErrorCase.MIC_NOT_ALLOWED) {
|
|
293
|
+
this.alerts.warning(`ERRORS.AUDIO.${error}`);
|
|
294
|
+
}
|
|
292
295
|
else {
|
|
293
296
|
this.alerts.unhandeledError({ ErrorCode: error });
|
|
294
297
|
}
|
|
@@ -338,4 +341,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
338
341
|
}], onFileChange: [{
|
|
339
342
|
type: Output
|
|
340
343
|
}] } });
|
|
341
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L2NvbXBvbmVudHMvdGxkLXRyYW5zbGF0ZS10ZXh0L3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9jb21wb25lbnRzL3RsZC10cmFuc2xhdGUtdGV4dC90bGQtdHJhbnNsYXRlLXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQTZCLE1BQU0sMkJBQTJCLENBQUM7QUFRdEYsT0FBTyxFQUE0QixnQkFBZ0IsRUFBbUIsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEgsT0FBTyxFQUFjLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNoQyxNQUFNLE9BQU8seUJBQXlCO0lBeUdqQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBbEhXLGVBQWUsQ0FBOEI7SUFDckQsZ0JBQWdCLENBQXNCO0lBQ25ELG1CQUFtQixDQUFTO0lBQzNCLFlBQVksR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUUxRSxVQUFVLEdBQUcsTUFBTSxDQUF5QixTQUFTLENBQUMsQ0FBQztJQUN2RCxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUN2RCw2QkFBNkI7SUFDN0IsSUFBSSxnQkFBZ0IsS0FBZSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDckYsSUFBSSxpQkFBaUIsS0FBZSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDdkYsSUFBSSxLQUFLLEtBQWEsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUM3RCxJQUFJLFNBQVMsS0FBYyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3RFLElBQUksVUFBVSxLQUFjLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFBLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDL0wsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUN2RCxJQUFJLGlCQUFpQixLQUFhLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDM0UsSUFBSSxhQUFhLEtBQWMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUN6RixJQUFJLG9CQUFvQixLQUFhLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUMzRixJQUFJLHVCQUF1QixLQUFjLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUNsRyxJQUFJLDBCQUEwQixLQUFjLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUN4RyxJQUFJLDBCQUEwQixLQUFhLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUN2RyxJQUFJLDBCQUEwQixLQUFhLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUN2RyxJQUFJLGdCQUFnQixLQUFjLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFBLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDckssSUFBSSxrQkFBa0IsS0FBYyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFBLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDM0UsSUFBSSxXQUFXLEtBQUssT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDcEUsSUFBSSxjQUFjLEtBQUssT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkUsSUFBSSxjQUFjLEtBQUssT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkUsSUFBSSx1QkFBdUIsS0FBSyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUMxRSxJQUFJLGFBQWEsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLHVCQUF1QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUEsQ0FBQyxDQUFDO0lBQzNHLElBQUkscUJBQXFCLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQSxDQUFDLENBQUM7SUFDbkYsSUFBSSxrQkFBa0IsS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQztJQUMxSSxJQUFJLHFCQUFxQixLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUEsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUNwRixJQUFJLDBCQUEwQixLQUFLLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLDBCQUEwQixDQUFBLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDakcsSUFBSSwwQkFBMEIsS0FBSyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQywwQkFBMEIsQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ2pHLElBQUksY0FBYyxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFBLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDdEUsSUFBSSxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUEsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUU5RCxpQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEgsb0JBQW9CLEdBQVksSUFBSSxDQUFDO0lBQ3JDLElBQUksY0FBYyxLQUFLLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBRTFFLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDaEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVqQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9FLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsS0FBSyxNQUFNLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FBQztJQUMzRyxDQUFDLENBQUMsQ0FBQztJQUVILHVCQUF1QixHQUFhLEVBQUUsQ0FBQztJQUU5QixhQUFhLEdBQUcsa0JBQWtCLENBQUM7SUFDbkMsd0JBQXdCLEdBQUcsd0JBQXdCLENBQUM7SUFDcEQsWUFBWSxHQUFHLHVCQUF1QixDQUFDO0lBRWhELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksd0JBQXdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLHdCQUF3QixDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLGFBQWEsS0FBSyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLElBQUksZUFBZSxLQUFLLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDM0UsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM3RCxJQUFJLG9CQUFvQixLQUFLLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJQUNyRixJQUFJLHFCQUFxQixLQUFLLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQztJQUM3RixJQUFJLFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUNsRSxJQUFJLGdCQUFnQixLQUFLLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUM3RSxJQUFJLGdCQUFnQixLQUFLLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUU3RSxJQUFJLHFCQUFxQjtRQUN2QixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdELE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO1FBQ3RGLE9BQU8scUJBQXFCLENBQUM7SUFDL0IsQ0FBQztJQUVELGFBQWEsQ0FBd0I7SUFDckMsaUJBQWlCLENBQVM7SUFDMUIsU0FBUyxDQUFTO0lBRWxCLGFBQWEsQ0FBVztJQUN4QixjQUFjLENBQVU7SUFDeEIsb0JBQW9CLENBQVU7SUFDOUIsK0JBQStCLENBQVU7SUFFeEIsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFMUMsWUFDbUIsb0JBQTZDLEVBQzdDLFNBQW9CLEVBQ3BCLE1BQW9CLEVBQ3BCLE1BQWlDLEVBQ2pDLGdCQUFrQyxFQUNsQyxTQUE4QyxFQUM5QyxZQUFnQyxFQUNoQyxpQkFBdUMsRUFDdkMsV0FBb0MsRUFDcEMsVUFBc0IsRUFDdEIsUUFBeUI7UUFWekIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM3QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDcEIsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUFDakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxjQUFTLEdBQVQsU0FBUyxDQUFxQztRQUM5QyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQUN2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUN4QyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQywrQkFBK0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQywrQkFBK0IsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDO1FBRXhPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLGlCQUFpQjtZQUNqRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLEdBQUc7WUFDL0MsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU07U0FDeEMsQ0FBQTtRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFOUYsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3hHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDVixPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTFCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNqRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFHTCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUUxQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzVFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQTtZQUVGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDN0UsU0FBUyxDQUFDLENBQUMsS0FBZ0MsRUFBRSxFQUFFO2dCQUM5QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO2dCQUNsSSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUMxRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsY0FBYyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQTtnQkFDMUUsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLDJCQUEyQixFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDMUosQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFFMUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFOUIsSUFBSSxDQUFDLFVBQVU7YUFDWixTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDekcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNsRCxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBVyxDQUFDO2dCQUM3RCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNoQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQUs7UUFDdkIsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvSCxJQUFJLHNCQUFzQixFQUFFLENBQUM7WUFDM0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLHNCQUFzQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEtBQXdCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxXQUFvQjtRQUNuQyxNQUFNLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUN4SyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNwRCx5QkFBeUI7UUFDekIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLGtCQUFrQixJQUFJLE1BQU0sRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hGLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUM7WUFDbkQsQ0FBQztZQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQ3BDO2dCQUNFLE1BQU07Z0JBQ04sMkJBQTJCLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQywyQkFBMkI7YUFDckcsQ0FBQyxDQUFDO1lBQ0wsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7YUFDSSxDQUFDO1lBQ0osSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWM7UUFDMUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLDJCQUEyQixFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBQzNHLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxhQUFxQjtRQUN4QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFxQjtRQUNoQyxJQUFJLEtBQUssS0FBSyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMvQyxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7WUFDcEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUVwRyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDM0MsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hCLFVBQVUsSUFBSSxHQUFHLE9BQU8sVUFBVSxDQUFDO1lBQ3JDLENBQUM7WUFFRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDM0MsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hCLFVBQVUsSUFBSSxHQUFHLE9BQU8sVUFBVSxDQUFBO1lBQ3BDLENBQUM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsS0FBSyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUM7YUFDSSxJQUFJLEtBQUssS0FBSyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNuRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBZ0IsQ0FBQztRQUM3RSxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQy9ELFNBQVMsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3RHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7SUFDbkMsQ0FBQzt3R0FwVFUseUJBQXlCOzRGQUF6Qix5QkFBeUIsK1dDeEJ0QyxtelFBd0tBOzs0RkRoSmEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLG9CQUFvQjt5YUFLQSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDTixnQkFBZ0I7c0JBQXJDLFNBQVM7dUJBQUMsU0FBUztnQkFDWCxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBzaWduYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaW5hbGl6ZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBdWRpb0Vycm9yQ2FzZSwgSVRyYW5zY3JpcHRpb25VcGRhdGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3RsZC1hdWRpby9tb2RlbHMnO1xyXG5pbXBvcnQgeyBJRGljdGF0ZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi90bGQtYXVkaW8vbW9kZWxzL2RpY3RhdGUtY29uZmlndXJhdGlvbmkubW9kZWwnO1xyXG5pbXBvcnQgeyBBdWRpb1JlY29yZFNlcnZpY2UsIFRsZFZvaWNlSW5wdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWF1ZGlvL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlU3lzdGVtTWFuYWdlbWVudFNlcnZpY2UsIFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVGxkU2Nyb2xsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMvc2Nyb2xsL3RsZC1zY3JvbGwuc2VydmljZSc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUZpbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWRvY3VtZW50L3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlVGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90bGQtdHJhbnNsYXRlLXRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZVNvdXJjZUNvbXBvbmVudCB9IGZyb20gJy4uL3RsZC10cmFuc2xhdGUtc291cmNlL3RsZC10cmFuc2xhdGUtc291cmNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjdGl2ZURhdGEsIEFsZXJ0U2VydmljZSwgQ29udmVyc2lvbkhlbHBlciwgRmlsZVVwbG9hZEVycm9yLCBIYXNoSGVscGVyIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtY29tbW9uJztcclxuaW1wb3J0IHsgVGxkRGljdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3RsZC1hdWRpbyc7XHJcbmltcG9ydCB7IExMTVNlcnZpY2UsIExMTVN1bW1hcnlVc2VDYXNlIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBtYXJrZWQgfSBmcm9tICdtYXJrZWQnO1xyXG5pbXBvcnQgeyBLZXljbG9ha1NlcnZpY2UgfSBmcm9tICdrZXljbG9hay1hbmd1bGFyJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC10cmFuc2xhdGUtdGV4dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGxkLXRyYW5zbGF0ZS10ZXh0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZVRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChcInNvdXJjZUNvbXBvbmVudFwiKSBzb3VyY2VDb21wb25lbnQ6IFRsZFRyYW5zbGF0ZVNvdXJjZUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKFwiZGljdGF0ZVwiKSBkaWN0YXRlQ29tcG9uZW50OiBUbGREaWN0YXRlQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpIGZpbGVQcmV2aWV3UHJvZ3Jlc3M6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgb25GaWxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RmlsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xyXG5cclxuICBhY3RpdmVEYXRhID0gc2lnbmFsPEFjdGl2ZURhdGEgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgZ2V0IHN5c3RlbUlkKCkgeyByZXR1cm4gdGhpcy5hY3RpdmVEYXRhKCk/LnN5c3RlbUlkOyB9O1xyXG4gIC8vcGFyYW1zIGZyb20gY29uZmlnIHNlcnZpY2UuXHJcbiAgZ2V0IGFsbG93ZWRGaWxlVHlwZXMoKTogc3RyaW5nW10geyByZXR1cm4gdGhpcy5jb25maWcuZmlsZUNvbmZpZy5hbGxvd2VkRmlsZVR5cGVzOyB9O1xyXG4gIGdldCBleHRlbmRlZEZpbGVUeXBlcygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLmV4dGVuZGVkRmlsZVR5cGVzOyB9O1xyXG4gIGdldCBhcHBJZCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBJZDsgfTtcclxuICBnZXQgaGlnaGxpZ2h0KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy5oaWdobGlnaHQ7IH07XHJcbiAgZ2V0IGZpbGVVcGxvYWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLmZpbGVVcGxvYWQgJiYgISh0aGlzLmlzRGljdGF0aW5nIHx8IHRoaXMuYXVkaW9TZXJ2aWNlPy5pc1JlY29yZGluZyB8fCB0aGlzLnZvaWNlSW5wdXRTZXJ2aWNlLmlzUHJvY2Vzc2luZykgJiYgIXRoaXMuc291cmNlPy5sZW5ndGggfTtcclxuICBnZXQgaXNBdXRoKCkgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5pc0F1dGg7IH07XHJcbiAgZ2V0IG1heEZpbGVVcGxvYWRTaXplKCk6IG51bWJlciB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLm1heFNpemU7IH07XHJcbiAgZ2V0IG11bHRpcGxlRmlsZXMoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLm51bWJlck9mRmlsZXNBbGxvd2VkID4gMTsgfTtcclxuICBnZXQgdXBkYXRlVHJhbnNsYXRpb25VcmwoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcudXBkYXRlVHJhbnNsYXRpb25Vcmw7IH07XHJcbiAgZ2V0IGFsbG93V2Vic2l0ZVRyYW5zbGF0aW9uKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy5hbGxvd1dlYnNpdGVUcmFuc2xhdGlvbjsgfTtcclxuICBnZXQgYXV0b1JlZGlyZWN0VG9XZWJUcmFuc2xhdGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmF1dG9SZWRpcmVjdFRvV2ViVHJhbnNsYXRlOyB9O1xyXG4gIGdldCB3ZWJXaWRnZXRSZWRpcmVjdFVybFByZWZpeCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy53ZWJXaWRnZXRSZWRpcmVjdFVybFByZWZpeDsgfTtcclxuICBnZXQgd2ViV2lkZ2V0UmVkaXJlY3RVcmxQb3NmaXgoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcud2ViV2lkZ2V0UmVkaXJlY3RVcmxQb3NmaXg7IH07XHJcbiAgZ2V0IHRleHRhcmVhRGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmF1ZGlvU2VydmljZS5pc1JlY29yZGluZyB8fCB0aGlzLnZvaWNlSW5wdXRTZXJ2aWNlLmlzUHJvY2Vzc2luZyB8fCB0aGlzLmlzRGljdGF0aW5nIHx8IHRoaXMudGxkU3lzdGVtLm5vU3lzdGVtc0Vycm9yIH07XHJcbiAgZ2V0IGZpbGVVcGxvYWREaXNhYmxlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMudGxkU3lzdGVtLm5vU3lzdGVtc0Vycm9yIH07XHJcbiAgZ2V0IGlzRGljdGF0aW5nKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5pc0RpY3RhdGluZzsgfTtcclxuICBnZXQgc291cmNlTGFuZ3VhZ2UoKSB7IHJldHVybiB0aGlzLmFjdGl2ZURhdGEoKT8uc291cmNlTGFuZy5sYW5nOyB9XHJcbiAgZ2V0IHRhcmdldExhbmd1YWdlKCkgeyByZXR1cm4gdGhpcy5hY3RpdmVEYXRhKCk/LnRhcmdldExhbmcubGFuZzsgfVxyXG4gIGdldCBoYXNUcmFuc2xhdGVkUGFyYWdyYXBocygpIHsgcmV0dXJuIHRoaXMudGFyZ2V0UGFyYWdyYXBocz8ubGVuZ3RoID4gMCB9XHJcbiAgZ2V0IGlzRW1wdHlUYXJnZXQoKSB7IHJldHVybiAhdGhpcy5oYXNUcmFuc2xhdGVkUGFyYWdyYXBocyAmJiAhdGhpcy51cmxUb1RyYW5zbGF0ZSAmJiAhdGhpcy5oYXNEaWN0aW9uYXJ5IH1cclxuICBnZXQgc2hvd1RhcmdldFBsYWNlaG9sZGVyKCkgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy5zaG93VGFyZ2V0UGxhY2Vob2xkZXIgfVxyXG4gIGdldCBzaG93RXh0ZW5zaW9uUG9wdXAoKSB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnNob3dFeHRlbnNpb25Qb3B1cCAmJiB0aGlzLnZpc2libGVFeHRlbnNpb25Db3VudCA8IHRoaXMuYWxsb3dlZEZpbGVUeXBlcy5sZW5ndGggfVxyXG4gIGdldCB2aXNpYmxlRXh0ZW5zaW9uQ291bnQoKSB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnZpc2libGVFeHRlbnNpb25Db3VudCB9O1xyXG4gIGdldCB0ZXh0VG9TcGVlY2hUYXJnZXRTZXR0aW5ncygpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3MgfTtcclxuICBnZXQgdGV4dFRvU3BlZWNoU291cmNlU2V0dGluZ3MoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnRleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzIH07XHJcbiAgZ2V0IHVwbG9hZEljb25OYW1lKCkgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy51cGxvYWRJY29uTmFtZSB9O1xyXG4gIGdldCBpc0xsbUVuYWJsZWQoKSB7IHJldHVybiB0aGlzLmNvbmZpZy5sbG1Db25maWcuaXNFbmFibGVkIH07XHJcblxyXG4gIGF1ZGlvSW5wdXRWaXNpYmxlID0gY29tcHV0ZWQoKCkgPT4geyByZXR1cm4gdGhpcy5jb25maWcuc3BlZWNoQ29uZmlnLm9ubGluZUFzcj8uZW5hYmxlZCAmJiB0aGlzLm9ubGluZUFzclN5c3RlbUlkKCk7IH0pO1xyXG4gIHRhcmdldFNlbnRlbmNlU2VsZWN0OiBib29sZWFuID0gdHJ1ZTtcclxuICBnZXQgdXJsVG9UcmFuc2xhdGUoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnVybFRvVHJhbnNsYXRlOyB9O1xyXG5cclxuICBvbmxpbmVBc3JTeXN0ZW1JZCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGNvbnN0IG9ubGluZVN5c3RlbXMgPSB0aGlzLnRsZFN5c3RlbS5vbmxpbmVBU3JTeXN0ZW1zKCk7XHJcbiAgICBjb25zdCBhY3RpdmUgPSB0aGlzLmFjdGl2ZURhdGEoKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuY29uZmlnLnNwZWVjaENvbmZpZy5vbmxpbmVBc3I/LmVuYWJsZWQgJiYgb25saW5lU3lzdGVtcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9ubGluZVN5c3RlbXMuZmluZCgob25saW5lU3lzdGVtKSA9PiBvbmxpbmVTeXN0ZW0ubGFuZ3VhZ2UgPT09IGFjdGl2ZT8uc291cmNlTGFuZy5sYW5nKT8uc3lzdGVtSWQ7XHJcbiAgfSk7XHJcblxyXG4gIGFsbG93ZWRUeXBlc1dpdGhvdXREb3RzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICByZWFkb25seSBjb3B5TWVzc2FnZUlkID0gXCJ0bGQtY29weS1zdWNjZXNzXCI7XHJcbiAgcmVhZG9ubHkgY29weU1lc3NhZ2VDbG9zZUJ1dHRvbklkID0gXCJ0bGQtY29weS1zdWNjZXNzLWNsb3NlXCI7XHJcbiAgcmVhZG9ubHkgY29weUJ1dHRvbklkID0gXCJ0bGQtY29weS10by1jbGlwYm9hcmRcIjtcclxuXHJcbiAgZ2V0IHRyYW5zbGF0ZWRUZXh0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50cmFuc2xhdGVkVGV4dDtcclxuICB9XHJcblxyXG4gIGdldCBmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5maXJzdFBhcmFncmFwaFRyYW5zbGF0ZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNUcmFuc2xhdGluZygpIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmlzVHJhbnNsYXRpbmc7XHJcbiAgfVxyXG5cclxuICBnZXQgdHJhbnNsYXRpb25FcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLnNvdXJjZSAmJiAhdGhpcy5pc1RyYW5zbGF0aW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzVGV4dFN1bW1hcml6YWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNvdXJjZVRleHQ/Lmxlbmd0aCA+IDMwMDtcclxuICB9XHJcblxyXG4gIGdldCBoYXNEaWN0aW9uYXJ5KCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5oYXNEaWN0aW9uYXJ5OyB9XHJcbiAgZ2V0IGRpY3Rpb25hcnlFbnRyeSgpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuZGljdGlvbmFyeUVudHJ5OyB9XHJcbiAgZ2V0IHNvdXJjZSgpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uuc291cmNlVGV4dDsgfVxyXG4gIGdldCB0cmFuc2xhdGVVcmxSZWRpcmVjdCgpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudHJhbnNsYXRlVXJsUmVkaXJlY3Q7IH1cclxuICBnZXQgc2hvd1Byb2dyZXNzSW5kaWNhdG9yKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zaG91bGRTaG93UHJvZ3Jlc3NJbmRpY2F0b3I7IH1cclxuICBnZXQgcGFyYWdyYXBocygpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UucGFyYWdyYXBoczsgfTtcclxuICBnZXQgc291cmNlUGFyYWdyYXBocygpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uuc291cmNlUGFyYWdyYXBoczsgfVxyXG4gIGdldCB0YXJnZXRQYXJhZ3JhcGhzKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50YXJnZXRQYXJhZ3JhcGhzOyB9XHJcblxyXG4gIGdldCB0YXJnZXRXcmFwcGVyT3ZlcmZsb3coKSB7XHJcbiAgICBjb25zdCB0YXJnZXRXcmFwcGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnRhcmdldC1tYWluJyk7XHJcbiAgICBjb25zdCB0YXJnZXRXcmFwcGVyT3ZlcmZsb3cgPSB0YXJnZXRXcmFwcGVyLnNjcm9sbEhlaWdodCA+IHRhcmdldFdyYXBwZXIuY2xpZW50SGVpZ2h0O1xyXG4gICAgcmV0dXJuIHRhcmdldFdyYXBwZXJPdmVyZmxvdztcclxuICB9XHJcblxyXG4gIGRpY3RhdGVDb25maWc6IElEaWN0YXRlQ29uZmlndXJhdGlvbjtcclxuICB2aXNpYmxlRXh0ZW5zaW9uczogc3RyaW5nO1xyXG4gIG1heFNpemVNQjogbnVtYmVyO1xyXG5cclxuICBpc1N1bW1hcmF6aW5nITogYm9vbGVhbjtcclxuICBzdW1tYXJpemVkVGV4dCE6IHN0cmluZztcclxuICBtYXJrZWRTdW1tYXJpemVkVGV4dCE6IHN0cmluZztcclxuICBzdW1tYXJpemVGZWF0dXJlTG9jYWxTdG9yYWdlS2V5ITogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVRleHRTZXJ2aWNlOiBUbGRUcmFuc2xhdGVUZXh0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkOiBDbGlwYm9hcmQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0czogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRsZFNjcm9sbFNlcnZpY2U6IFRsZFNjcm9sbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRsZFN5c3RlbTogVGxkVHJhbnNsYXRlU3lzdGVtTWFuYWdlbWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1ZGlvU2VydmljZTogQXVkaW9SZWNvcmRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB2b2ljZUlucHV0U2VydmljZTogVGxkVm9pY2VJbnB1dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbGVTZXJ2aWNlOiBUbGRUcmFuc2xhdGVGaWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGxtU2VydmljZTogTExNU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkga2V5Y2xvYWs6IEtleWNsb2FrU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdW1tYXJpemVGZWF0dXJlTG9jYWxTdG9yYWdlS2V5ID0gdGhpcy5rZXljbG9hay5nZXRLZXljbG9ha0luc3RhbmNlKCk/LnRva2VuUGFyc2VkID8gYHN1bW1hcml6ZUZlYXR1cmVEaWFsb2dTaG93bl8ke0hhc2hIZWxwZXIuaGFzaFN0cmluZyh0aGlzLmtleWNsb2FrLmdldEtleWNsb2FrSW5zdGFuY2UoKS50b2tlblBhcnNlZC5lbWFpbCl9YCA6ICdzdW1tYXJpemVGZWF0dXJlRGlhbG9nU2hvd24nO1xyXG5cclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UubGlzdGVuT25DaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNvdXJjZUNoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNsZWFyU3VtbWFyaXplKCk7XHJcbiAgICB9KVxyXG4gICAgdGhpcy5kaWN0YXRlQ29uZmlnID0ge1xyXG4gICAgICBtYXhMZW5ndGg6IHRoaXMuY29uZmlnLnNwZWVjaENvbmZpZz8ub25saW5lQXNyPy5tYXhpbXVtUmVjb3JkVGltZSxcclxuICAgICAgYXBpVXJsOiB0aGlzLmNvbmZpZy5zcGVlY2hDb25maWcub25saW5lQXNyPy51cmwsXHJcbiAgICAgIGFwaUtleTogdGhpcy5jb25maWcuc3BlZWNoQ29uZmlnLmFwaUtleVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudmlzaWJsZUV4dGVuc2lvbnMgPSB0aGlzLmFsbG93ZWRGaWxlVHlwZXMuc2xpY2UoMCwgdGhpcy52aXNpYmxlRXh0ZW5zaW9uQ291bnQpLmpvaW4oXCIsIFwiKTtcclxuICAgIHRoaXMuYWxsb3dlZEZpbGVUeXBlcy5mb3JFYWNoKChlbCkgPT4gdGhpcy5hbGxvd2VkVHlwZXNXaXRob3V0RG90cy5wdXNoKGVsLnJlcGxhY2UoJy4nLCAnJykpKTtcclxuXHJcbiAgICB0aGlzLm1heFNpemVNQiA9IENvbnZlcnNpb25IZWxwZXIuYnl0ZXNUb01iKHRoaXMuY29uZmlnLmZpbGVDb25maWcubWF4U2l6ZSk7XHJcblxyXG4gICAgdGhpcy50bGRTeXN0ZW0uZ2V0QWN0aXZlRGF0YSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKHgsIHkpID0+IHggJiYgeSAmJiB4Lmxhbmd1YWdlSWQgPT0geS5sYW5ndWFnZUlkKSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChzeXN0KSA9PiB7XHJcbiAgICAgICAgaWYgKCFzeXN0KSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYWN0aXZlRGF0YS5zZXQoc3lzdCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZURhdGEoKS5yZXRyYW5zbGF0ZSkge1xyXG4gICAgICAgICAgdGhpcy5jbGVhclN1bW1hcml6ZSgpO1xyXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5yZXRyYW5zbGF0ZSh7IHN5c3RlbUNoYW5nZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcblxyXG4gICAgdGhpcy50bGRTY3JvbGxTZXJ2aWNlLnN1YnNjcmliZVRvU2Nyb2xsKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLnNwZWVjaENvbmZpZy5vbmxpbmVBc3I/LmVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5hdWRpb1NlcnZpY2Uub25SZWNvcmRTdGFydC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZSh7IHBocmFzZTogXCJcIiB9KTtcclxuICAgICAgfSlcclxuXHJcbiAgICAgIHRoaXMudm9pY2VJbnB1dFNlcnZpY2Uub25UcmFuc2NyaWJ0aW9uVGV4dFVwZGF0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IElUcmFuc2NyaXB0aW9uVXBkYXRlTW9kZWwpID0+IHtcclxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlKHsgcGhyYXNlOiBldmVudC50ZXh0LCBzd2FwU3lzdGVtczogZmFsc2UsIGRpc2FibGVBdXRvbWF0aWNUcmFuc2xhdGlvbjogIWV2ZW50LmNvbXBsZXRlZCB9KTtcclxuICAgICAgICAgIGlmIChldmVudC5jb21wbGV0ZWQgJiYgKCFldmVudC50ZXh0IHx8IGV2ZW50LnRleHQgPT09IFwiXCIpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoYEVSUk9SUy5BVURJTy4ke0F1ZGlvRXJyb3JDYXNlLk5PX1RFWFRfUkVDT0dOSVpFRH1gKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb3B5KCkge1xyXG4gICAgdGhpcy5jbGlwYm9hcmQuY29weSh0aGlzLnRyYW5zbGF0ZWRUZXh0KTtcclxuICAgIHRoaXMuYWxlcnRzLnN1Y2Nlc3MoXCJUTERfVFJBTlNMQVRFLlRFWFRfQ09QSUVEXCIsIHsgaWQ6IHRoaXMuY29weU1lc3NhZ2VJZCwgY2xvc2VCdXR0b25JZDogdGhpcy5jb3B5TWVzc2FnZUNsb3NlQnV0dG9uSWQsIHBhcmVudElkOiB0aGlzLmNvcHlCdXR0b25JZCB9KTtcclxuICB9XHJcblxyXG4gIGNvcHlTdW1tYXJpemVkVGV4dCgpIHtcclxuICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkodGhpcy5zdW1tYXJpemVkVGV4dCk7XHJcbiAgICB0aGlzLmFsZXJ0cy5zdWNjZXNzKFwiVExEX1RSQU5TTEFURS5TVU1NQVJZLkNPUElFRFwiKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLm9uVHJhbnNsYXRlQnV0dG9uQ2xpY2soKTtcclxuICAgIHRoaXMuY2xlYXJTdW1tYXJpemUoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVN1bW1hcnkoKSB7XHJcbiAgICB0aGlzLnN1bW1hcml6ZWRUZXh0ID0gJyc7XHJcbiAgICB0aGlzLm1hcmtlZFN1bW1hcml6ZWRUZXh0ID0gJyc7XHJcbiAgICB0aGlzLmlzU3VtbWFyYXppbmcgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuc2Nyb2xsVG9TdW1tYXJpemVkVGV4dCgpO1xyXG5cclxuICAgIHRoaXMubGxtU2VydmljZVxyXG4gICAgICAuc3VtbWFyaXplKHsgbGFuZ3VhZ2U6IHRoaXMudGFyZ2V0TGFuZ3VhZ2UsIHRleHQ6IHRoaXMudHJhbnNsYXRlZFRleHQsIHVzZUNhc2U6IExMTVN1bW1hcnlVc2VDYXNlLkJyaWVmIH0pXHJcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLmlzU3VtbWFyYXppbmcgPSBmYWxzZSkpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMuc3VtbWFyaXplZFRleHQgPSByZXNwb25zZTtcclxuICAgICAgICAgIHRoaXMubWFya2VkU3VtbWFyaXplZFRleHQgPSBtYXJrZWQucGFyc2UocmVzcG9uc2UpIGFzIHN0cmluZztcclxuICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdW1tYXJpemVkVGV4dCgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoRm9jdXNGcm9tQ29weShldmVudCkge1xyXG4gICAgY29uc3QgY29weU1lc3NhZ2VDbG9zZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29weU1lc3NhZ2VDbG9zZUJ1dHRvbklkKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJidXR0b25cIik/Lml0ZW0oMCk7XHJcbiAgICBpZiAoY29weU1lc3NhZ2VDbG9zZUJ1dHRvbikge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBjb3B5TWVzc2FnZUNsb3NlQnV0dG9uLmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWxlQ2hhbmdlKGZpbGVzOiBGaWxlW10pIHtcclxuICAgIHRoaXMub25GaWxlQ2hhbmdlLmVtaXQoZmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgZmlsZVVwbG9hZEVycm9yKGVycm9yOiBhbnkpIHtcclxuICAgIHRoaXMuZmlsZVNlcnZpY2UuZmlsZVVwbG9hZEVycm9yKGVycm9yIGFzIEZpbGVVcGxvYWRFcnJvcik7XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZVRvVHJhbnNsYXRlZFVybCgpIHtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHRoaXMudHJhbnNsYXRlVXJsUmVkaXJlY3QpO1xyXG4gIH1cclxuXHJcbiAgZGljdGF0ZVN0YXJ0U3RvcChpc0RpY3RhdGluZzogYm9vbGVhbikge1xyXG4gICAgY29uc3QgcGhyYXNlID0gYCR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0fSR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0Py5sZW5ndGggPiAwID8gXCIgXCIgOiBcIlwifSR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0SHlwb3RoZXNpc31gO1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5pc0RpY3RhdGluZyA9IGlzRGljdGF0aW5nO1xyXG4gICAgLy8gVHJhbnNsYXRpb24gaGFzIGVuZGVkLlxyXG4gICAgaWYgKCFpc0RpY3RhdGluZykge1xyXG4gICAgICBpZiAodGhpcy5jb25maWcuc3BlZWNoQ29uZmlnLm9ubGluZUFzci5wdW5jdHVhdGlvbk1lc3NhZ2UgJiYgcGhyYXNlPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5hbGVydHMud2FybmluZyhcIkFVRElPLlBVTkNUVUFUSU9OX01FU1NBR0VcIik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBocmFzZSxcclxuICAgICAgICAgIGRpc2FibGVBdXRvbWF0aWNUcmFuc2xhdGlvbjogdGhpcy5pc0RpY3RhdGluZyB8fCB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5kaXNhYmxlQXV0b21hdGljVHJhbnNsYXRpb25cclxuICAgICAgICB9KTtcclxuICAgICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2VIeXBvdGhlc2lzKFwiXCIpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2xlYXJTb3VyY2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRpY3RhdGVSZXN1bHQocmVzdWx0OiBzdHJpbmcpIHtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlSHlwb3RoZXNpcyhcIlwiKTtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlKHsgcGhyYXNlOiByZXN1bHQsIGRpc2FibGVBdXRvbWF0aWNUcmFuc2xhdGlvbjogdGhpcy5pc0RpY3RhdGluZyB9KVxyXG4gIH1cclxuXHJcbiAgZGljdGF0ZVBhcnRpYWxSZXN1bHQocGFydGlhbFJlc3VsdDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZUh5cG90aGVzaXMocGFydGlhbFJlc3VsdCk7XHJcbiAgfVxyXG5cclxuICBkaWN0YXRlRXJyb3IoZXJyb3I6IEF1ZGlvRXJyb3JDYXNlKSB7XHJcbiAgICBpZiAoZXJyb3IgPT09IEF1ZGlvRXJyb3JDYXNlLk1BWF9USU1FX0VYQ0VFREVEKSB7XHJcbiAgICAgIGxldCB0aW1lU3RyaW5nID0gXCJcIjtcclxuICAgICAgY29uc3QgbWF4TGVuZ3RoVGltZSA9IG5ldyBEYXRlKDAsIDAsIDAsIDAsIDAsIHRoaXMuY29uZmlnLnNwZWVjaENvbmZpZy5vbmxpbmVBc3IubWF4aW11bVJlY29yZFRpbWUpO1xyXG5cclxuICAgICAgY29uc3QgbWludXRlcyA9IG1heExlbmd0aFRpbWUuZ2V0TWludXRlcygpO1xyXG4gICAgICBpZiAobWludXRlcyA+IDApIHtcclxuICAgICAgICB0aW1lU3RyaW5nICs9IGAke21pbnV0ZXN9IG1pbnV0ZXNgO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzZWNvbmRzID0gbWF4TGVuZ3RoVGltZS5nZXRTZWNvbmRzKCk7XHJcbiAgICAgIGlmIChzZWNvbmRzID4gMCkge1xyXG4gICAgICAgIHRpbWVTdHJpbmcgKz0gYCR7c2Vjb25kc30gc2Vjb25kc2BcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFsZXJ0cy53YXJuaW5nKGBFUlJPUlMuQVVESU8uJHtlcnJvcn1gLCB7IHRpbWVTdHJpbmcgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChlcnJvciA9PT0gQXVkaW9FcnJvckNhc2UuTk9fU1BFRUNIKSB7XHJcbiAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoYEVSUk9SUy5BVURJTy4ke2Vycm9yfWApO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuYWxlcnRzLnVuaGFuZGVsZWRFcnJvcih7IEVycm9yQ29kZTogZXJyb3IgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGVhclNvdXJjZSgpIHtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2xlYXJTb3VyY2UoKTtcclxuICAgIHRoaXMuY2xlYXJTdW1tYXJpemUoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zdG9wTGlzdGVuaW5nVG9DaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnRsZFNjcm9sbFNlcnZpY2UudW5zdWJzY3JpYmVUb1Njcm9sbCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KG51bGwpXHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVByb2dyZXNzSW5kaWNhdG9yKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5oaWRlUHJvZ3Jlc3NJbmRpY2F0b3IoKTtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uuc3RvcFRyYW5zbGF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuRmlsZVVwbG9hZCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVwbG9hZEJ1dHRvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy51cGxvYWQtYnV0dG9uJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICB1cGxvYWRCdXR0b24uY2xpY2soKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2Nyb2xsVG9TdW1tYXJpemVkVGV4dCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcudHJhbnNsYXRlZC1zb3VyY2UnKTtcclxuICAgICAgY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5zdW1tYXJ5LXdyYXBwZXInKS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdjZW50ZXInIH0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYXJTdW1tYXJpemUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1bW1hcml6ZWRUZXh0ID0gbnVsbDtcclxuICAgIHRoaXMubWFya2VkU3VtbWFyaXplZFRleHQgPSBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tIE5PVEUuIHRsZC1zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyIHVzZXMgbXVsdGlwbGUgY29udGVudCBwcm9qZWN0aW9ucywgc28gbWlnaHQgc2VlbSBjb25mdXNpbmcgZmlyc3QsIGJ1dCBlbGVtZW50cyBhcmUgZGlzcGxheWVkIGF0IHRoZWlyIHBsYWNlcyBiYXNlZCBvbiB0bGQtc291cmNlLWFuZC10YXJnZXQtd3JhcHBlciBjb21wb25lbnRcclxuaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2NvbnRlbnQtcHJvamVjdGlvbiNtdWx0aS1zbG90LWNvbnRlbnQtcHJvamVjdGlvblxyXG4tLT5cclxuPHRsZC1zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyXHJcblx0W3RleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXT1cInRleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXCJcclxuXHRbY2xlYXJTb3VyY2VWaXNpYmxlXT1cInNvdXJjZT8ubGVuZ3RoID4gMFwiXHJcblx0KG9uU291cmNlQ2xlYXIpPVwiY2xlYXJTb3VyY2UoKVwiXHJcblx0W2NsZWFyRGlzYWJsZWRdPVwidGV4dGFyZWFEaXNhYmxlZFwiXHJcblx0W2NsZWFyU291cmNlVG9vbHRpcF09XCInVExEX1RSQU5TTEFURS5DTEVBUl9TT1VSQ0VfVE9PTFRJUCdcIlxyXG5cdFtuZ0NsYXNzXT1cInsgJ2hpZ2hsaWdodC1hY3RpdmUnOiBoaWdobGlnaHQsICdlbXB0eS10YXJnZXQnOiBpc0VtcHR5VGFyZ2V0IH1cIlxyXG4+XHJcblx0PGRpdiBzb3VyY2VNYWluIGNsYXNzPVwic291cmNlLW1haW5cIiBmeExheW91dD1cImNvbHVtblwiPlxyXG5cdFx0PHRsZC10cmFuc2xhdGUtc291cmNlIFt0ZXh0YXJlYURpc2FibGVkXT1cInRleHRhcmVhRGlzYWJsZWRcIiAjc291cmNlQ29tcG9uZW50IGZ4RmxleCBbc291cmNlUGFyYWdyYXBoc109XCJzb3VyY2VQYXJhZ3JhcGhzXCI+PC90bGQtdHJhbnNsYXRlLXNvdXJjZT5cclxuXHQ8L2Rpdj5cclxuXHQ8bmctY29udGFpbmVyIGRpY3RhdGlvbiAqbmdJZj1cImF1ZGlvSW5wdXRWaXNpYmxlKClcIj5cclxuXHRcdDx0bGQtZGljdGF0ZVxyXG5cdFx0XHQjZGljdGF0ZVxyXG5cdFx0XHRbY29uZmlndXJhdGlvbl09XCJkaWN0YXRlQ29uZmlnXCJcclxuXHRcdFx0W25nQ2xhc3NdPVwieyAnZnVsbC13aWR0aCc6ICFmaWxlVXBsb2FkIH1cIlxyXG5cdFx0XHQoaXNEaWN0YXRpbmcpPVwiZGljdGF0ZVN0YXJ0U3RvcCgkZXZlbnQpXCJcclxuXHRcdFx0KHJlc3VsdCk9XCJkaWN0YXRlUmVzdWx0KCRldmVudClcIlxyXG5cdFx0XHQocGFydGlhbFJlc3VsdCk9XCJkaWN0YXRlUGFydGlhbFJlc3VsdCgkZXZlbnQpXCJcclxuXHRcdFx0KG9uRXJyb3IpPVwiZGljdGF0ZUVycm9yKCRldmVudClcIlxyXG5cdFx0XHRbc3lzdGVtSWRdPVwib25saW5lQXNyU3lzdGVtSWQoKVwiXHJcblx0XHQ+XHJcblx0XHQ8L3RsZC1kaWN0YXRlPlxyXG5cdDwvbmctY29udGFpbmVyPlxyXG5cclxuXHQ8YnV0dG9uIGNvbXBhY3RVcGxvYWQgbWF0LWljb24tYnV0dG9uIFttYXRUb29sdGlwXT1cIidUT09MVElQUy5VUExPQUQnIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cImZpbGVVcGxvYWREaXNhYmxlZFwiIChjbGljayk9XCJvcGVuRmlsZVVwbG9hZCgpXCI+XHJcblx0XHQ8bWF0LWljb24gW3N2Z0ljb25dPVwiJ3VwbG9hZCdcIj48L21hdC1pY29uPlxyXG5cdDwvYnV0dG9uPlxyXG5cclxuXHQ8bmctY29udGFpbmVyIHNvdXJjZUFjdGlvbnM+XHJcblx0XHQ8ZGl2IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBbY2xhc3MuYmFzaWMtcGFkZGluZ109XCJmaWxlVXBsb2FkXCIgZnhMYXlvdXRHYXA9XCIxZW1cIj5cclxuXHRcdFx0PGRpdiBbY2xhc3MuaGlkZGVuXT1cIiFmaWxlVXBsb2FkXCIgY2xhc3M9XCJmaWxlLXVwbG9hZC13cmFwcGVyXCI+XHJcblx0XHRcdFx0PGxpYi1maWxlLXVwbG9hZFxyXG5cdFx0XHRcdFx0KGZpbGVDaGFuZ2UpPVwiZmlsZUNoYW5nZSgkZXZlbnQpXCJcclxuXHRcdFx0XHRcdFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlc1wiXHJcblx0XHRcdFx0XHRbbWF4U2l6ZV09XCJtYXhGaWxlVXBsb2FkU2l6ZVwiXHJcblx0XHRcdFx0XHRbdXBsb2FkSWNvbk5hbWVdPVwidXBsb2FkSWNvbk5hbWVcIlxyXG5cdFx0XHRcdFx0W2V4dGVuZGVkQWNjZXB0TGlzdF09XCJleHRlbmRlZEZpbGVUeXBlc1wiXHJcblx0XHRcdFx0XHRbbXVsdGlwbGVdPVwibXVsdGlwbGVGaWxlc1wiXHJcblx0XHRcdFx0XHQoZXJyb3JFdmVudCk9XCJmaWxlVXBsb2FkRXJyb3IoJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRbZmlsZVByZXZpZXdQcm9ncmVzc109XCJmaWxlUHJldmlld1Byb2dyZXNzXCJcclxuXHRcdFx0XHRcdFtkaXNhYmxlZF09XCJmaWxlVXBsb2FkRGlzYWJsZWRcIlxyXG5cdFx0XHRcdD5cclxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwidXBsb2FkLWZpbGUtdGV4dFwiPlxyXG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImluZm9cIj5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5VUExPQUQnIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJhY2NlbnQtY29sb3JcIj48L3NwYW4+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4+Jm5ic3A7PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIFtpbm5lckhUTUxdPVwiJ0ZJTEVfVVBMT0FELkRSQUdfQU5EX0RST1AnIHwgdHJhbnNsYXRlXCIgZnhIaWRlLmx0LXNtPjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC4nICsgKG11bHRpcGxlRmlsZXMgPyAnRklMRVMnIDogJ0ZJTEUnKSB8IHRyYW5zbGF0ZVwiIFtuZ0NsYXNzLmx0LXNtXT1cIidhY2NlbnQtY29sb3InXCI+PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L3NwYW4+XHJcblxyXG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZpbGUtdXBsb2FkLWV4dGVuc2lvbnMgdGV4dC1tXCI+XHJcblx0XHRcdFx0XHRcdFx0KCZuYnNwOzxzcGFuPnt7IHZpc2libGVFeHRlbnNpb25zIH19Ljwvc3Bhbj4mbmJzcDtcclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiAqbmdJZj1cIm1heFNpemVNQlwiIGNsYXNzPVwiZmlsZS11cGxvYWQtbWF4LXNpemVcIiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5MSU1JVFNfTUInIHwgdHJhbnNsYXRlIDogeyBtYXhTaXplTUI6IG1heFNpemVNQiB9XCI+PC9zcGFuPiZuYnNwOylcclxuXHRcdFx0XHRcdFx0PC9zcGFuPlxyXG5cdFx0XHRcdFx0PC9zcGFuPlxyXG5cdFx0XHRcdDwvbGliLWZpbGUtdXBsb2FkPlxyXG5cdFx0XHRcdDxsaWItb3Blbi1leHRlbnNpb24tZGlhbG9nICpuZ0lmPVwic2hvd0V4dGVuc2lvblBvcHVwXCIgW2V4dGVuc2lvbnNdPVwiYWxsb3dlZFR5cGVzV2l0aG91dERvdHNcIj4gPC9saWItb3Blbi1leHRlbnNpb24tZGlhbG9nPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvbmctY29udGFpbmVyPlxyXG5cclxuXHQ8ZGl2IHRhcmdldE1haW4gY2xhc3M9XCJ0YXJnZXQtbWFpblwiPlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRW1wdHlUYXJnZXQ7IGVsc2UgdHJhbnNsYXRlZFRleHRCbG9ja1wiPlxyXG5cdFx0XHQ8cCAqbmdJZj1cInNob3dUYXJnZXRQbGFjZWhvbGRlclwiIGNsYXNzPVwiZGVzY3JpcHRpb24tdGV4dCB0YXJnZXQtZW1wdHlcIiBbaW5uZXJIdG1sXT1cIidUTERfVFJBTlNMQVRFLlRBUkdFVF9ERVNDUklQVElPTicgfCB0cmFuc2xhdGVcIj48L3A+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHQ8L2Rpdj5cclxuXHJcblx0PG5nLWNvbnRhaW5lciB0YXJnZXRBY3Rpb25zPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRsZC10cmFuc2xhdGUtdGFyZ2V0LWZvb3RlciBiYXNpYy1wYWRkaW5nXCIgKm5nSWY9XCJzaG93UHJvZ3Jlc3NJbmRpY2F0b3JcIj5cclxuXHRcdFx0PHByb2dyZXNzLWluZGljYXRvciAob25DbG9zZSk9XCJjbG9zZVByb2dyZXNzSW5kaWNhdG9yKClcIiAqbmdJZj1cInNob3dQcm9ncmVzc0luZGljYXRvclwiPjwvcHJvZ3Jlc3MtaW5kaWNhdG9yPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9uZy1jb250YWluZXI+XHJcbjwvdGxkLXNvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXI+XHJcblxyXG48IS0tIHRlbXBsYXRlcyB1c2VkIGZvciBlbHNlIGJsb2NrcyBpbiB0YXJnZXQgY29udGFpbmVyIC0tPlxyXG48bmctdGVtcGxhdGUgI3RyYW5zbGF0ZWRUZXh0QmxvY2s+XHJcblx0PGRpdiBbY2xhc3MudHJhbnNsYXRlZC1zb3VyY2Utb3ZlcmZsb3ddPVwidGFyZ2V0V3JhcHBlck92ZXJmbG93XCIgY2xhc3M9XCJ0cmFuc2xhdGVkLXNvdXJjZVwiPlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiF1cmxUb1RyYW5zbGF0ZVwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwidGFyZ2V0LXdyYXBwZXItYWN0aW9uLWJ1dHRvbnNcIj5cclxuXHRcdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0XHRtYXQtaWNvbi1idXR0b25cclxuXHRcdFx0XHRcdCpuZ0lmPVwiZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkXCJcclxuXHRcdFx0XHRcdGNsYXNzPVwidGxkLWNvcHktdHJhbnNsYXRpb25cIlxyXG5cdFx0XHRcdFx0KGNsaWNrKT1cImNvcHkoKVwiXHJcblx0XHRcdFx0XHRbbWF0VG9vbHRpcF09XCInVE9PTFRJUFMuQ09QWScgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdFx0W2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJjb3B5TWVzc2FnZUlkXCJcclxuXHRcdFx0XHRcdFthdHRyLklkXT1cImNvcHlCdXR0b25JZFwiXHJcblx0XHRcdFx0XHQoa2V5ZG93bi5UYWIpPVwic3dpdGNoRm9jdXNGcm9tQ29weSgkZXZlbnQpXCJcclxuXHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgYXJpYS1oaWRkZW49XCJmYWxzZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FSSUFfTEFCRUxTLkNPUFknIHwgdHJhbnNsYXRlXCI+IGNvbnRlbnRfY29weSA8L3NwYW4+XHJcblx0XHRcdFx0PC9idXR0b24+XHJcblxyXG5cdFx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRcdG1hdC1pY29uLWJ1dHRvblxyXG5cdFx0XHRcdFx0Km5nSWY9XCJmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWQgfHwgdHJhbnNsYXRpb25FcnJvclwiXHJcblx0XHRcdFx0XHRjbGFzcz1cInRsZC1yZWZyZXNoLXRyYW5zbGF0aW9uXCJcclxuXHRcdFx0XHRcdFttYXRUb29sdGlwXT1cIidUT09MVElQUy5SRUZSRVNIJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0XHQoY2xpY2spPVwicmVmcmVzaCgpXCJcclxuXHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgYXJpYS1oaWRkZW49XCJmYWxzZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FSSUFfTEFCRUxTLlJFRlJFU0gnIHwgdHJhbnNsYXRlXCI+IHJlZnJlc2ggPC9zcGFuPlxyXG5cdFx0XHRcdDwvYnV0dG9uPlxyXG5cclxuXHRcdFx0XHQ8ZGl2IFttYXRUb29sdGlwXT1cIihpc1RleHRTdW1tYXJpemFibGUgPyAnVE9PTFRJUFMuQ1JFQVRFX1NVTU1BUlknIDogJ1RMRF9UUkFOU0xBVEUuU1VNTUFSWS5ESVNBQkxFRCcpIHwgdHJhbnNsYXRlXCI+XHJcblx0XHRcdFx0XHRAaWYgKGlzTGxtRW5hYmxlZCAmJiBmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWQpIHtcclxuXHRcdFx0XHRcdDxsaWItbmV3LWZlYXR1cmUtZGlhbG9nLXdyYXBwZXJcclxuXHRcdFx0XHRcdFx0I3N1bW1hcml6ZUZlYXR1cmVcclxuXHRcdFx0XHRcdFx0W3RpdGxlTG9jYWxpemF0aW9uS2V5XT1cIidUTERfVFJBTlNMQVRFLlNVTU1BUlkuTkVXX0ZFQVRVUkUuVElUTEUnXCJcclxuXHRcdFx0XHRcdFx0W2Rlc2NyaXB0aW9uTG9jYWxpemF0aW9uS2V5XT1cIidUTERfVFJBTlNMQVRFLlNVTU1BUlkuTkVXX0ZFQVRVUkUuREVTQ1JJUFRJT04nXCJcclxuXHRcdFx0XHRcdFx0W2Nsb3NlTG9jYWxpemF0aW9uS2V5XT1cIidUTERfVFJBTlNMQVRFLlNVTU1BUlkuTkVXX0ZFQVRVUkUuQ0xPU0UnXCJcclxuXHRcdFx0XHRcdFx0W2ZlYXR1cmVDbGFzc05hbWVdPVwiJ3RsZC1jcmVhdGUtc3VtbWFyeSdcIlxyXG5cdFx0XHRcdFx0XHRbZmVhdHVyZUxvY2FsU3RvcmFnZUtleV09XCJzdW1tYXJpemVGZWF0dXJlTG9jYWxTdG9yYWdlS2V5XCJcclxuXHRcdFx0XHRcdFx0W3RpbWVvdXRdPVwiMTAwMFwiXHJcblx0XHRcdFx0XHQ+PC9saWItbmV3LWZlYXR1cmUtZGlhbG9nLXdyYXBwZXI+XHJcblxyXG5cdFx0XHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdFx0XHRtYXQtaWNvbi1idXR0b25cclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJ0bGQtY3JlYXRlLXN1bW1hcnlcIlxyXG5cdFx0XHRcdFx0XHRbY2xhc3Muc3VtbWFyaXplLWZlYXR1cmUtYWN0aXZlXT1cInN1bW1hcml6ZUZlYXR1cmU/LmZlYXR1cmVBY3RpdmUoKVwiXHJcblx0XHRcdFx0XHRcdFtkaXNhYmxlZF09XCJpc1RyYW5zbGF0aW5nIHx8IGlzU3VtbWFyYXppbmcgfHwgIWlzVGV4dFN1bW1hcml6YWJsZVwiXHJcblx0XHRcdFx0XHRcdChjbGljayk9XCJjcmVhdGVTdW1tYXJ5KClcIlxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHQ8bWF0LWljb24gW3N2Z0ljb25dPVwiJ3N1bW1hcml6ZSdcIiBhcmlhLWhpZGRlbj1cImZhbHNlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQVJJQV9MQUJFTFMuQ1JFQVRFX1NVTU1BUlknIHwgdHJhbnNsYXRlXCI+PC9tYXQtaWNvbj5cclxuXHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDx0bGQtdGV4dC10by1zcGVlY2ggKm5nSWY9XCJ0ZXh0VG9TcGVlY2hUYXJnZXRTZXR0aW5ncyAmJiBmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWRcIiBbc2V0dGluZ3NdPVwidGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3NcIj4gPC90bGQtdGV4dC10by1zcGVlY2g+XHJcblx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0PGRpdiAqbmdGb3I9XCJsZXQgcGFyYWdyYXBoIG9mIHRhcmdldFBhcmFncmFwaHNcIj5cclxuXHRcdFx0XHQ8dGxkLWhpZ2hsaWdodC10cmVlIFtoaWdobGlnaHRdPVwiaGlnaGxpZ2h0XCIgW3RyZWVdPVwicGFyYWdyYXBoXCI+IDwvdGxkLWhpZ2hsaWdodC10cmVlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgKm5nSWY9XCJpc1N1bW1hcmF6aW5nIHx8IHN1bW1hcml6ZWRUZXh0XCIgY2xhc3M9XCJzdW1tYXJ5LXdyYXBwZXJcIj5cclxuXHRcdFx0XHQ8cCBjbGFzcz1cInN1bW1hcnktdGl0bGVcIj57eyBcIlRMRF9UUkFOU0xBVEUuU1VNTUFSWS5USVRMRVwiIHwgdHJhbnNsYXRlIH19PC9wPlxyXG5cclxuXHRcdFx0XHQ8cCAqbmdJZj1cImlzU3VtbWFyYXppbmdcIiBjbGFzcz1cImNyZWF0aW5nLXByb2dyZXNzXCI+e3sgXCJUTERfVFJBTlNMQVRFLlNVTU1BUlkuQ1JFQVRJTkdcIiB8IHRyYW5zbGF0ZSB9fTxzcGFuIGNsYXNzPVwiZG90LWxvYWRpbmdcIj4uLi48L3NwYW4+PC9wPlxyXG5cclxuXHRcdFx0XHQ8cCBbaW5uZXJIVE1MXT1cIm1hcmtlZFN1bW1hcml6ZWRUZXh0XCI+PC9wPlxyXG5cclxuXHRcdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0XHRtYXQtaWNvbi1idXR0b25cclxuXHRcdFx0XHRcdCpuZ0lmPVwic3VtbWFyaXplZFRleHRcIlxyXG5cdFx0XHRcdFx0W25nQ2xhc3MubHQtc21dPVwiJ3N1bW1hcnktbW9iaWxlJ1wiXHJcblx0XHRcdFx0XHRjbGFzcz1cInN1bW1hcnktY29weS1idG5cIlxyXG5cdFx0XHRcdFx0KGNsaWNrKT1cImNvcHlTdW1tYXJpemVkVGV4dCgpXCJcclxuXHRcdFx0XHRcdFttYXRUb29sdGlwXT1cIidUT09MVElQUy5DT1BZJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5DT1BZJyB8IHRyYW5zbGF0ZVwiPiBjb250ZW50X2NvcHkgPC9zcGFuPlxyXG5cdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgKm5nSWY9XCJmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWQgJiYgZGljdGlvbmFyeUVudHJ5XCIgY2xhc3M9XCJkaWN0aW9uYXJ5LXdyYXBwZXJcIj5cclxuXHRcdFx0XHQ8dGxkLWRpY3Rpb25hcnkgW2RpY3Rpb25hcnldPVwiZGljdGlvbmFyeUVudHJ5XCI+PC90bGQtZGljdGlvbmFyeT5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHJcblx0XHQ8ZGl2ICpuZ0lmPVwidXJsVG9UcmFuc2xhdGVcIiBjbGFzcz1cInRhcmdldC11cmwtY29udGFpbmVyXCI+XHJcblx0XHRcdDxhIFthdHRyLmhyZWZdPVwidHJhbnNsYXRlVXJsUmVkaXJlY3RcIiB0YXJnZXQ9XCJfYmxhbmtcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgY2xhc3M9XCJnby10by13ZWJ0cmFuc2xhdGVcIj5cclxuXHRcdFx0XHR7eyB1cmxUb1RyYW5zbGF0ZSB9fVxyXG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBjb2xvcj1cImFjY2VudFwiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5PUEVOX0lOX05FVydcIj4gb3Blbl9pbl9uZXcgPC9zcGFuPlxyXG5cdFx0XHQ8L2E+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
344
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L2NvbXBvbmVudHMvdGxkLXRyYW5zbGF0ZS10ZXh0L3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9jb21wb25lbnRzL3RsZC10cmFuc2xhdGUtdGV4dC90bGQtdHJhbnNsYXRlLXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQTZCLE1BQU0sMkJBQTJCLENBQUM7QUFRdEYsT0FBTyxFQUE0QixnQkFBZ0IsRUFBbUIsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEgsT0FBTyxFQUFjLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNoQyxNQUFNLE9BQU8seUJBQXlCO0lBeUdqQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBbEhXLGVBQWUsQ0FBOEI7SUFDckQs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WUFDZCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDL0QsU0FBUyxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdEcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUNuQyxDQUFDO3dHQXBUVSx5QkFBeUI7NEZBQXpCLHlCQUF5QiwrV0N4QnRDLG16UUF3S0E7OzRGRGhKYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usb0JBQW9CO3lhQUtBLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNOLGdCQUFnQjtzQkFBckMsU0FBUzt1QkFBQyxTQUFTO2dCQUNYLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIHNpZ25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEF1ZGlvRXJyb3JDYXNlLCBJVHJhbnNjcmlwdGlvblVwZGF0ZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWF1ZGlvL21vZGVscyc7XHJcbmltcG9ydCB7IElEaWN0YXRlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3RsZC1hdWRpby9tb2RlbHMvZGljdGF0ZS1jb25maWd1cmF0aW9uaS5tb2RlbCc7XHJcbmltcG9ydCB7IEF1ZGlvUmVjb3JkU2VydmljZSwgVGxkVm9pY2VJbnB1dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtYXVkaW8vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVTeXN0ZW1NYW5hZ2VtZW50U2VydmljZSwgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUbGRTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcy9zY3JvbGwvdGxkLXNjcm9sbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlRmlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtZG9jdW1lbnQvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVUZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RsZC10cmFuc2xhdGUtdGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlU291cmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGxkLXRyYW5zbGF0ZS1zb3VyY2UvdGxkLXRyYW5zbGF0ZS1zb3VyY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZlRGF0YSwgQWxlcnRTZXJ2aWNlLCBDb252ZXJzaW9uSGVscGVyLCBGaWxlVXBsb2FkRXJyb3IsIEhhc2hIZWxwZXIgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBUbGREaWN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdGxkLWF1ZGlvJztcclxuaW1wb3J0IHsgTExNU2VydmljZSwgTExNU3VtbWFyeVVzZUNhc2UgfSBmcm9tICdAdGlsZGUtbmxwL25neC1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IG1hcmtlZCB9IGZyb20gJ21hcmtlZCc7XHJcbmltcG9ydCB7IEtleWNsb2FrU2VydmljZSB9IGZyb20gJ2tleWNsb2FrLWFuZ3VsYXInO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGxkLXRyYW5zbGF0ZS10ZXh0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGxkLXRyYW5zbGF0ZS10ZXh0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90bGQtdHJhbnNsYXRlLXRleHQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGxkVHJhbnNsYXRlVGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKFwic291cmNlQ29tcG9uZW50XCIpIHNvdXJjZUNvbXBvbmVudDogVGxkVHJhbnNsYXRlU291cmNlQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoXCJkaWN0YXRlXCIpIGRpY3RhdGVDb21wb25lbnQ6IFRsZERpY3RhdGVDb21wb25lbnQ7XHJcbiAgQElucHV0KCkgZmlsZVByZXZpZXdQcm9ncmVzczogbnVtYmVyO1xyXG4gIEBPdXRwdXQoKSBvbkZpbGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlW10+KCk7XHJcblxyXG4gIGFjdGl2ZURhdGEgPSBzaWduYWw8QWN0aXZlRGF0YSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICBnZXQgc3lzdGVtSWQoKSB7IHJldHVybiB0aGlzLmFjdGl2ZURhdGEoKT8uc3lzdGVtSWQ7IH07XHJcbiAgLy9wYXJhbXMgZnJvbSBjb25maWcgc2VydmljZS5cclxuICBnZXQgYWxsb3dlZEZpbGVUeXBlcygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLmFsbG93ZWRGaWxlVHlwZXM7IH07XHJcbiAgZ2V0IGV4dGVuZGVkRmlsZVR5cGVzKCk6IHN0cmluZ1tdIHsgcmV0dXJuIHRoaXMuY29uZmlnLmZpbGVDb25maWcuZXh0ZW5kZWRGaWxlVHlwZXM7IH07XHJcbiAgZ2V0IGFwcElkKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmFwcElkOyB9O1xyXG4gIGdldCBoaWdobGlnaHQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmhpZ2hsaWdodDsgfTtcclxuICBnZXQgZmlsZVVwbG9hZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLmZpbGVDb25maWcuZmlsZVVwbG9hZCAmJiAhKHRoaXMuaXNEaWN0YXRpbmcgfHwgdGhpcy5hdWRpb1NlcnZpY2U/LmlzUmVjb3JkaW5nIHx8IHRoaXMudm9pY2VJbnB1dFNlcnZpY2UuaXNQcm9jZXNzaW5nKSAmJiAhdGhpcy5zb3VyY2U/Lmxlbmd0aCB9O1xyXG4gIGdldCBpc0F1dGgoKSB7IHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmlzQXV0aDsgfTtcclxuICBnZXQgbWF4RmlsZVVwbG9hZFNpemUoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuY29uZmlnLmZpbGVDb25maWcubWF4U2l6ZTsgfTtcclxuICBnZXQgbXVsdGlwbGVGaWxlcygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLmZpbGVDb25maWcubnVtYmVyT2ZGaWxlc0FsbG93ZWQgPiAxOyB9O1xyXG4gIGdldCB1cGRhdGVUcmFuc2xhdGlvblVybCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy51cGRhdGVUcmFuc2xhdGlvblVybDsgfTtcclxuICBnZXQgYWxsb3dXZWJzaXRlVHJhbnNsYXRpb24oKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmFsbG93V2Vic2l0ZVRyYW5zbGF0aW9uOyB9O1xyXG4gIGdldCBhdXRvUmVkaXJlY3RUb1dlYlRyYW5zbGF0ZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuYXV0b1JlZGlyZWN0VG9XZWJUcmFuc2xhdGU7IH07XHJcbiAgZ2V0IHdlYldpZGdldFJlZGlyZWN0VXJsUHJlZml4KCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLndlYldpZGdldFJlZGlyZWN0VXJsUHJlZml4OyB9O1xyXG4gIGdldCB3ZWJXaWRnZXRSZWRpcmVjdFVybFBvc2ZpeCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy53ZWJXaWRnZXRSZWRpcmVjdFVybFBvc2ZpeDsgfTtcclxuICBnZXQgdGV4dGFyZWFEaXNhYmxlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuYXVkaW9TZXJ2aWNlLmlzUmVjb3JkaW5nIHx8IHRoaXMudm9pY2VJbnB1dFNlcnZpY2UuaXNQcm9jZXNzaW5nIHx8IHRoaXMuaXNEaWN0YXRpbmcgfHwgdGhpcy50bGRTeXN0ZW0ubm9TeXN0ZW1zRXJyb3IgfTtcclxuICBnZXQgZmlsZVVwbG9hZERpc2FibGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy50bGRTeXN0ZW0ubm9TeXN0ZW1zRXJyb3IgfTtcclxuICBnZXQgaXNEaWN0YXRpbmcoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmlzRGljdGF0aW5nOyB9O1xyXG4gIGdldCBzb3VyY2VMYW5ndWFnZSgpIHsgcmV0dXJuIHRoaXMuYWN0aXZlRGF0YSgpPy5zb3VyY2VMYW5nLmxhbmc7IH1cclxuICBnZXQgdGFyZ2V0TGFuZ3VhZ2UoKSB7IHJldHVybiB0aGlzLmFjdGl2ZURhdGEoKT8udGFyZ2V0TGFuZy5sYW5nOyB9XHJcbiAgZ2V0IGhhc1RyYW5zbGF0ZWRQYXJhZ3JhcGhzKCkgeyByZXR1cm4gdGhpcy50YXJnZXRQYXJhZ3JhcGhzPy5sZW5ndGggPiAwIH1cclxuICBnZXQgaXNFbXB0eVRhcmdldCgpIHsgcmV0dXJuICF0aGlzLmhhc1RyYW5zbGF0ZWRQYXJhZ3JhcGhzICYmICF0aGlzLnVybFRvVHJhbnNsYXRlICYmICF0aGlzLmhhc0RpY3Rpb25hcnkgfVxyXG4gIGdldCBzaG93VGFyZ2V0UGxhY2Vob2xkZXIoKSB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnNob3dUYXJnZXRQbGFjZWhvbGRlciB9XHJcbiAgZ2V0IHNob3dFeHRlbnNpb25Qb3B1cCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuc2hvd0V4dGVuc2lvblBvcHVwICYmIHRoaXMudmlzaWJsZUV4dGVuc2lvbkNvdW50IDwgdGhpcy5hbGxvd2VkRmlsZVR5cGVzLmxlbmd0aCB9XHJcbiAgZ2V0IHZpc2libGVFeHRlbnNpb25Db3VudCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcudmlzaWJsZUV4dGVuc2lvbkNvdW50IH07XHJcbiAgZ2V0IHRleHRUb1NwZWVjaFRhcmdldFNldHRpbmdzKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50ZXh0VG9TcGVlY2hUYXJnZXRTZXR0aW5ncyB9O1xyXG4gIGdldCB0ZXh0VG9TcGVlY2hTb3VyY2VTZXR0aW5ncygpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudGV4dFRvU3BlZWNoU291cmNlU2V0dGluZ3MgfTtcclxuICBnZXQgdXBsb2FkSWNvbk5hbWUoKSB7IHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLnVwbG9hZEljb25OYW1lIH07XHJcbiAgZ2V0IGlzTGxtRW5hYmxlZCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmxsbUNvbmZpZy5pc0VuYWJsZWQgfTtcclxuXHJcbiAgYXVkaW9JbnB1dFZpc2libGUgPSBjb21wdXRlZCgoKSA9PiB7IHJldHVybiB0aGlzLmNvbmZpZy5zcGVlY2hDb25maWcub25saW5lQXNyPy5lbmFibGVkICYmIHRoaXMub25saW5lQXNyU3lzdGVtSWQoKTsgfSk7XHJcbiAgdGFyZ2V0U2VudGVuY2VTZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGdldCB1cmxUb1RyYW5zbGF0ZSgpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudXJsVG9UcmFuc2xhdGU7IH07XHJcblxyXG4gIG9ubGluZUFzclN5c3RlbUlkID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgY29uc3Qgb25saW5lU3lzdGVtcyA9IHRoaXMudGxkU3lzdGVtLm9ubGluZUFTclN5c3RlbXMoKTtcclxuICAgIGNvbnN0IGFjdGl2ZSA9IHRoaXMuYWN0aXZlRGF0YSgpO1xyXG5cclxuICAgIGlmICghdGhpcy5jb25maWcuc3BlZWNoQ29uZmlnLm9ubGluZUFzcj8uZW5hYmxlZCAmJiBvbmxpbmVTeXN0ZW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb25saW5lU3lzdGVtcy5maW5kKChvbmxpbmVTeXN0ZW0pID0+IG9ubGluZVN5c3RlbS5sYW5ndWFnZSA9PT0gYWN0aXZlPy5zb3VyY2VMYW5nLmxhbmcpPy5zeXN0ZW1JZDtcclxuICB9KTtcclxuXHJcbiAgYWxsb3dlZFR5cGVzV2l0aG91dERvdHM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIHJlYWRvbmx5IGNvcHlNZXNzYWdlSWQgPSBcInRsZC1jb3B5LXN1Y2Nlc3NcIjtcclxuICByZWFkb25seSBjb3B5TWVzc2FnZUNsb3NlQnV0dG9uSWQgPSBcInRsZC1jb3B5LXN1Y2Nlc3MtY2xvc2VcIjtcclxuICByZWFkb25seSBjb3B5QnV0dG9uSWQgPSBcInRsZC1jb3B5LXRvLWNsaXBib2FyZFwiO1xyXG5cclxuICBnZXQgdHJhbnNsYXRlZFRleHQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnRyYW5zbGF0ZWRUZXh0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZpcnN0UGFyYWdyYXBoVHJhbnNsYXRlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmZpcnN0UGFyYWdyYXBoVHJhbnNsYXRlZDtcclxuICB9XHJcblxyXG4gIGdldCBpc1RyYW5zbGF0aW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuaXNUcmFuc2xhdGluZztcclxuICB9XHJcblxyXG4gIGdldCB0cmFuc2xhdGlvbkVycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc291cmNlICYmICF0aGlzLmlzVHJhbnNsYXRpbmc7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNUZXh0U3VtbWFyaXphYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uuc291cmNlVGV4dD8ubGVuZ3RoID4gMzAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0RpY3Rpb25hcnkoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmhhc0RpY3Rpb25hcnk7IH1cclxuICBnZXQgZGljdGlvbmFyeUVudHJ5KCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5kaWN0aW9uYXJ5RW50cnk7IH1cclxuICBnZXQgc291cmNlKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0OyB9XHJcbiAgZ2V0IHRyYW5zbGF0ZVVybFJlZGlyZWN0KCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50cmFuc2xhdGVVcmxSZWRpcmVjdDsgfVxyXG4gIGdldCBzaG93UHJvZ3Jlc3NJbmRpY2F0b3IoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNob3VsZFNob3dQcm9ncmVzc0luZGljYXRvcjsgfVxyXG4gIGdldCBwYXJhZ3JhcGhzKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5wYXJhZ3JhcGhzOyB9O1xyXG4gIGdldCBzb3VyY2VQYXJhZ3JhcGhzKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VQYXJhZ3JhcGhzOyB9XHJcbiAgZ2V0IHRhcmdldFBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnRhcmdldFBhcmFncmFwaHM7IH1cclxuXHJcbiAgZ2V0IHRhcmdldFdyYXBwZXJPdmVyZmxvdygpIHtcclxuICAgIGNvbnN0IHRhcmdldFdyYXBwZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcudGFyZ2V0LW1haW4nKTtcclxuICAgIGNvbnN0IHRhcmdldFdyYXBwZXJPdmVyZmxvdyA9IHRhcmdldFdyYXBwZXIuc2Nyb2xsSGVpZ2h0ID4gdGFyZ2V0V3JhcHBlci5jbGllbnRIZWlnaHQ7XHJcbiAgICByZXR1cm4gdGFyZ2V0V3JhcHBlck92ZXJmbG93O1xyXG4gIH1cclxuXHJcbiAgZGljdGF0ZUNvbmZpZzogSURpY3RhdGVDb25maWd1cmF0aW9uO1xyXG4gIHZpc2libGVFeHRlbnNpb25zOiBzdHJpbmc7XHJcbiAgbWF4U2l6ZU1COiBudW1iZXI7XHJcblxyXG4gIGlzU3VtbWFyYXppbmchOiBib29sZWFuO1xyXG4gIHN1bW1hcml6ZWRUZXh0ITogc3RyaW5nO1xyXG4gIG1hcmtlZFN1bW1hcml6ZWRUZXh0ITogc3RyaW5nO1xyXG4gIHN1bW1hcml6ZUZlYXR1cmVMb2NhbFN0b3JhZ2VLZXkhOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlVGV4dFNlcnZpY2U6IFRsZFRyYW5zbGF0ZVRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRzOiBBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU2Nyb2xsU2VydmljZTogVGxkU2Nyb2xsU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU3lzdGVtOiBUbGRUcmFuc2xhdGVTeXN0ZW1NYW5hZ2VtZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXVkaW9TZXJ2aWNlOiBBdWRpb1JlY29yZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZvaWNlSW5wdXRTZXJ2aWNlOiBUbGRWb2ljZUlucHV0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsZVNlcnZpY2U6IFRsZFRyYW5zbGF0ZUZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsbG1TZXJ2aWNlOiBMTE1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBrZXljbG9hazogS2V5Y2xvYWtTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1bW1hcml6ZUZlYXR1cmVMb2NhbFN0b3JhZ2VLZXkgPSB0aGlzLmtleWNsb2FrLmdldEtleWNsb2FrSW5zdGFuY2UoKT8udG9rZW5QYXJzZWQgPyBgc3VtbWFyaXplRmVhdHVyZURpYWxvZ1Nob3duXyR7SGFzaEhlbHBlci5oYXNoU3RyaW5nKHRoaXMua2V5Y2xvYWsuZ2V0S2V5Y2xvYWtJbnN0YW5jZSgpLnRva2VuUGFyc2VkLmVtYWlsKX1gIDogJ3N1bW1hcml6ZUZlYXR1cmVEaWFsb2dTaG93bic7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5saXN0ZW5PbkNoYW5nZXMoKTtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uuc291cmNlQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2xlYXJTdW1tYXJpemUoKTtcclxuICAgIH0pXHJcbiAgICB0aGlzLmRpY3RhdGVDb25maWcgPSB7XHJcbiAgICAgIG1heExlbmd0aDogdGhpcy5jb25maWcuc3BlZWNoQ29uZmlnPy5vbmxpbmVBc3I/Lm1heGltdW1SZWNvcmRUaW1lLFxyXG4gICAgICBhcGlVcmw6IHRoaXMuY29uZmlnLnNwZWVjaENvbmZpZy5vbmxpbmVBc3I/LnVybCxcclxuICAgICAgYXBpS2V5OiB0aGlzLmNvbmZpZy5zcGVlY2hDb25maWcuYXBpS2V5XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52aXNpYmxlRXh0ZW5zaW9ucyA9IHRoaXMuYWxsb3dlZEZpbGVUeXBlcy5zbGljZSgwLCB0aGlzLnZpc2libGVFeHRlbnNpb25Db3VudCkuam9pbihcIiwgXCIpO1xyXG4gICAgdGhpcy5hbGxvd2VkRmlsZVR5cGVzLmZvckVhY2goKGVsKSA9PiB0aGlzLmFsbG93ZWRUeXBlc1dpdGhvdXREb3RzLnB1c2goZWwucmVwbGFjZSgnLicsICcnKSkpO1xyXG5cclxuICAgIHRoaXMubWF4U2l6ZU1CID0gQ29udmVyc2lvbkhlbHBlci5ieXRlc1RvTWIodGhpcy5jb25maWcuZmlsZUNvbmZpZy5tYXhTaXplKTtcclxuXHJcbiAgICB0aGlzLnRsZFN5c3RlbS5nZXRBY3RpdmVEYXRhKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgoeCwgeSkgPT4geCAmJiB5ICYmIHgubGFuZ3VhZ2VJZCA9PSB5Lmxhbmd1YWdlSWQpKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHN5c3QpID0+IHtcclxuICAgICAgICBpZiAoIXN5c3QpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRhLnNldChzeXN0KTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlRGF0YSgpLnJldHJhbnNsYXRlKSB7XHJcbiAgICAgICAgICB0aGlzLmNsZWFyU3VtbWFyaXplKCk7XHJcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnJldHJhbnNsYXRlKHsgc3lzdGVtQ2hhbmdlZDogdHJ1ZSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuXHJcbiAgICB0aGlzLnRsZFNjcm9sbFNlcnZpY2Uuc3Vic2NyaWJlVG9TY3JvbGwoKTtcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcuc3BlZWNoQ29uZmlnLm9ubGluZUFzcj8uZW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmF1ZGlvU2VydmljZS5vblJlY29yZFN0YXJ0LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlKHsgcGhyYXNlOiBcIlwiIH0pO1xyXG4gICAgICB9KVxyXG5cclxuICAgICAgdGhpcy52b2ljZUlucHV0U2VydmljZS5vblRyYW5zY3JpYnRpb25UZXh0VXBkYXRlZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogSVRyYW5zY3JpcHRpb25VcGRhdGVNb2RlbCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2UoeyBwaHJhc2U6IGV2ZW50LnRleHQsIHN3YXBTeXN0ZW1zOiBmYWxzZSwgZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uOiAhZXZlbnQuY29tcGxldGVkIH0pO1xyXG4gICAgICAgICAgaWYgKGV2ZW50LmNvbXBsZXRlZCAmJiAoIWV2ZW50LnRleHQgfHwgZXZlbnQudGV4dCA9PT0gXCJcIikpIHtcclxuICAgICAgICAgICAgdGhpcy5hbGVydHMud2FybmluZyhgRVJST1JTLkFVRElPLiR7QXVkaW9FcnJvckNhc2UuTk9fVEVYVF9SRUNPR05JWkVEfWApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvcHkoKSB7XHJcbiAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHRoaXMudHJhbnNsYXRlZFRleHQpO1xyXG4gICAgdGhpcy5hbGVydHMuc3VjY2VzcyhcIlRMRF9UUkFOU0xBVEUuVEVYVF9DT1BJRURcIiwgeyBpZDogdGhpcy5jb3B5TWVzc2FnZUlkLCBjbG9zZUJ1dHRvbklkOiB0aGlzLmNvcHlNZXNzYWdlQ2xvc2VCdXR0b25JZCwgcGFyZW50SWQ6IHRoaXMuY29weUJ1dHRvbklkIH0pO1xyXG4gIH1cclxuXHJcbiAgY29weVN1bW1hcml6ZWRUZXh0KCkge1xyXG4gICAgdGhpcy5jbGlwYm9hcmQuY29weSh0aGlzLnN1bW1hcml6ZWRUZXh0KTtcclxuICAgIHRoaXMuYWxlcnRzLnN1Y2Nlc3MoXCJUTERfVFJBTlNMQVRFLlNVTU1BUlkuQ09QSUVEXCIpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uub25UcmFuc2xhdGVCdXR0b25DbGljaygpO1xyXG4gICAgdGhpcy5jbGVhclN1bW1hcml6ZSgpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlU3VtbWFyeSgpIHtcclxuICAgIHRoaXMuc3VtbWFyaXplZFRleHQgPSAnJztcclxuICAgIHRoaXMubWFya2VkU3VtbWFyaXplZFRleHQgPSAnJztcclxuICAgIHRoaXMuaXNTdW1tYXJhemluZyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5zY3JvbGxUb1N1bW1hcml6ZWRUZXh0KCk7XHJcblxyXG4gICAgdGhpcy5sbG1TZXJ2aWNlXHJcbiAgICAgIC5zdW1tYXJpemUoeyBsYW5ndWFnZTogdGhpcy50YXJnZXRMYW5ndWFnZSwgdGV4dDogdGhpcy50cmFuc2xhdGVkVGV4dCwgdXNlQ2FzZTogTExNU3VtbWFyeVVzZUNhc2UuQnJpZWYgfSlcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuaXNTdW1tYXJhemluZyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zdW1tYXJpemVkVGV4dCA9IHJlc3BvbnNlO1xyXG4gICAgICAgICAgdGhpcy5tYXJrZWRTdW1tYXJpemVkVGV4dCA9IG1hcmtlZC5wYXJzZShyZXNwb25zZSkgYXMgc3RyaW5nO1xyXG4gICAgICAgICAgdGhpcy5zY3JvbGxUb1N1bW1hcml6ZWRUZXh0KCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hGb2N1c0Zyb21Db3B5KGV2ZW50KSB7XHJcbiAgICBjb25zdCBjb3B5TWVzc2FnZUNsb3NlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5jb3B5TWVzc2FnZUNsb3NlQnV0dG9uSWQpPy5nZXRFbGVtZW50c0J5VGFnTmFtZShcImJ1dHRvblwiKT8uaXRlbSgwKTtcclxuICAgIGlmIChjb3B5TWVzc2FnZUNsb3NlQnV0dG9uKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGNvcHlNZXNzYWdlQ2xvc2VCdXR0b24uZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpbGVDaGFuZ2UoZmlsZXM6IEZpbGVbXSkge1xyXG4gICAgdGhpcy5vbkZpbGVDaGFuZ2UuZW1pdChmaWxlcyk7XHJcbiAgfVxyXG5cclxuICBmaWxlVXBsb2FkRXJyb3IoZXJyb3I6IGFueSkge1xyXG4gICAgdGhpcy5maWxlU2VydmljZS5maWxlVXBsb2FkRXJyb3IoZXJyb3IgYXMgRmlsZVVwbG9hZEVycm9yKTtcclxuICB9XHJcblxyXG4gIG5hdmlnYXRlVG9UcmFuc2xhdGVkVXJsKCkge1xyXG4gICAgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UodGhpcy50cmFuc2xhdGVVcmxSZWRpcmVjdCk7XHJcbiAgfVxyXG5cclxuICBkaWN0YXRlU3RhcnRTdG9wKGlzRGljdGF0aW5nOiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBwaHJhc2UgPSBgJHt0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNvdXJjZVRleHR9JHt0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNvdXJjZVRleHQ/Lmxlbmd0aCA+IDAgPyBcIiBcIiA6IFwiXCJ9JHt0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNvdXJjZVRleHRIeXBvdGhlc2lzfWA7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmlzRGljdGF0aW5nID0gaXNEaWN0YXRpbmc7XHJcbiAgICAvLyBUcmFuc2xhdGlvbiBoYXMgZW5kZWQuXHJcbiAgICBpZiAoIWlzRGljdGF0aW5nKSB7XHJcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5zcGVlY2hDb25maWcub25saW5lQXNyLnB1bmN0dWF0aW9uTWVzc2FnZSAmJiBwaHJhc2U/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLmFsZXJ0cy53YXJuaW5nKFwiQVVESU8uUFVOQ1RVQVRJT05fTUVTU0FHRVwiKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2UoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcGhyYXNlLFxyXG4gICAgICAgICAgZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uOiB0aGlzLmlzRGljdGF0aW5nIHx8IHRoaXMuY29uZmlnLmF1ZGlvQ29uZmlnLmRpc2FibGVBdXRvbWF0aWNUcmFuc2xhdGlvblxyXG4gICAgICAgIH0pO1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZUh5cG90aGVzaXMoXCJcIik7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jbGVhclNvdXJjZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGljdGF0ZVJlc3VsdChyZXN1bHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2VIeXBvdGhlc2lzKFwiXCIpO1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2UoeyBwaHJhc2U6IHJlc3VsdCwgZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uOiB0aGlzLmlzRGljdGF0aW5nIH0pXHJcbiAgfVxyXG5cclxuICBkaWN0YXRlUGFydGlhbFJlc3VsdChwYXJ0aWFsUmVzdWx0OiBzdHJpbmcpIHtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlSHlwb3RoZXNpcyhwYXJ0aWFsUmVzdWx0KTtcclxuICB9XHJcblxyXG4gIGRpY3RhdGVFcnJvcihlcnJvcjogQXVkaW9FcnJvckNhc2UpIHtcclxuICAgIGlmIChlcnJvciA9PT0gQXVkaW9FcnJvckNhc2UuTUFYX1RJTUVfRVhDRUVERUQpIHtcclxuICAgICAgbGV0IHRpbWVTdHJpbmcgPSBcIlwiO1xyXG4gICAgICBjb25zdCBtYXhMZW5ndGhUaW1lID0gbmV3IERhdGUoMCwgMCwgMCwgMCwgMCwgdGhpcy5jb25maWcuc3BlZWNoQ29uZmlnLm9ubGluZUFzci5tYXhpbXVtUmVjb3JkVGltZSk7XHJcblxyXG4gICAgICBjb25zdCBtaW51dGVzID0gbWF4TGVuZ3RoVGltZS5nZXRNaW51dGVzKCk7XHJcbiAgICAgIGlmIChtaW51dGVzID4gMCkge1xyXG4gICAgICAgIHRpbWVTdHJpbmcgKz0gYCR7bWludXRlc30gbWludXRlc2A7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHNlY29uZHMgPSBtYXhMZW5ndGhUaW1lLmdldFNlY29uZHMoKTtcclxuICAgICAgaWYgKHNlY29uZHMgPiAwKSB7XHJcbiAgICAgICAgdGltZVN0cmluZyArPSBgJHtzZWNvbmRzfSBzZWNvbmRzYFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoYEVSUk9SUy5BVURJTy4ke2Vycm9yfWAsIHsgdGltZVN0cmluZyB9KTtcclxuICAgIH0gZWxzZSBpZiAoZXJyb3IgPT09IEF1ZGlvRXJyb3JDYXNlLk5PX1NQRUVDSCkge1xyXG4gICAgICB0aGlzLmFsZXJ0cy53YXJuaW5nKGBFUlJPUlMuQVVESU8uJHtlcnJvcn1gKTtcclxuICAgIH0gZWxzZSBpZiAoZXJyb3IgPT09IEF1ZGlvRXJyb3JDYXNlLk1JQ19OT1RfQUxMT1dFRCkge1xyXG4gICAgICB0aGlzLmFsZXJ0cy53YXJuaW5nKGBFUlJPUlMuQVVESU8uJHtlcnJvcn1gKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYWxlcnRzLnVuaGFuZGVsZWRFcnJvcih7IEVycm9yQ29kZTogZXJyb3IgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGVhclNvdXJjZSgpIHtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2xlYXJTb3VyY2UoKTtcclxuICAgIHRoaXMuY2xlYXJTdW1tYXJpemUoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zdG9wTGlzdGVuaW5nVG9DaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnRsZFNjcm9sbFNlcnZpY2UudW5zdWJzY3JpYmVUb1Njcm9sbCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KG51bGwpXHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVByb2dyZXNzSW5kaWNhdG9yKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5oaWRlUHJvZ3Jlc3NJbmRpY2F0b3IoKTtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uuc3RvcFRyYW5zbGF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuRmlsZVVwbG9hZCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVwbG9hZEJ1dHRvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy51cGxvYWQtYnV0dG9uJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICB1cGxvYWRCdXR0b24uY2xpY2soKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2Nyb2xsVG9TdW1tYXJpemVkVGV4dCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcudHJhbnNsYXRlZC1zb3VyY2UnKTtcclxuICAgICAgY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5zdW1tYXJ5LXdyYXBwZXInKS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdjZW50ZXInIH0pO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYXJTdW1tYXJpemUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1bW1hcml6ZWRUZXh0ID0gbnVsbDtcclxuICAgIHRoaXMubWFya2VkU3VtbWFyaXplZFRleHQgPSBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tIE5PVEUuIHRsZC1zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyIHVzZXMgbXVsdGlwbGUgY29udGVudCBwcm9qZWN0aW9ucywgc28gbWlnaHQgc2VlbSBjb25mdXNpbmcgZmlyc3QsIGJ1dCBlbGVtZW50cyBhcmUgZGlzcGxheWVkIGF0IHRoZWlyIHBsYWNlcyBiYXNlZCBvbiB0bGQtc291cmNlLWFuZC10YXJnZXQtd3JhcHBlciBjb21wb25lbnRcclxuaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2NvbnRlbnQtcHJvamVjdGlvbiNtdWx0aS1zbG90LWNvbnRlbnQtcHJvamVjdGlvblxyXG4tLT5cclxuPHRsZC1zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyXHJcblx0W3RleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXT1cInRleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXCJcclxuXHRbY2xlYXJTb3VyY2VWaXNpYmxlXT1cInNvdXJjZT8ubGVuZ3RoID4gMFwiXHJcblx0KG9uU291cmNlQ2xlYXIpPVwiY2xlYXJTb3VyY2UoKVwiXHJcblx0W2NsZWFyRGlzYWJsZWRdPVwidGV4dGFyZWFEaXNhYmxlZFwiXHJcblx0W2NsZWFyU291cmNlVG9vbHRpcF09XCInVExEX1RSQU5TTEFURS5DTEVBUl9TT1VSQ0VfVE9PTFRJUCdcIlxyXG5cdFtuZ0NsYXNzXT1cInsgJ2hpZ2hsaWdodC1hY3RpdmUnOiBoaWdobGlnaHQsICdlbXB0eS10YXJnZXQnOiBpc0VtcHR5VGFyZ2V0IH1cIlxyXG4+XHJcblx0PGRpdiBzb3VyY2VNYWluIGNsYXNzPVwic291cmNlLW1haW5cIiBmeExheW91dD1cImNvbHVtblwiPlxyXG5cdFx0PHRsZC10cmFuc2xhdGUtc291cmNlIFt0ZXh0YXJlYURpc2FibGVkXT1cInRleHRhcmVhRGlzYWJsZWRcIiAjc291cmNlQ29tcG9uZW50IGZ4RmxleCBbc291cmNlUGFyYWdyYXBoc109XCJzb3VyY2VQYXJhZ3JhcGhzXCI+PC90bGQtdHJhbnNsYXRlLXNvdXJjZT5cclxuXHQ8L2Rpdj5cclxuXHQ8bmctY29udGFpbmVyIGRpY3RhdGlvbiAqbmdJZj1cImF1ZGlvSW5wdXRWaXNpYmxlKClcIj5cclxuXHRcdDx0bGQtZGljdGF0ZVxyXG5cdFx0XHQjZGljdGF0ZVxyXG5cdFx0XHRbY29uZmlndXJhdGlvbl09XCJkaWN0YXRlQ29uZmlnXCJcclxuXHRcdFx0W25nQ2xhc3NdPVwieyAnZnVsbC13aWR0aCc6ICFmaWxlVXBsb2FkIH1cIlxyXG5cdFx0XHQoaXNEaWN0YXRpbmcpPVwiZGljdGF0ZVN0YXJ0U3RvcCgkZXZlbnQpXCJcclxuXHRcdFx0KHJlc3VsdCk9XCJkaWN0YXRlUmVzdWx0KCRldmVudClcIlxyXG5cdFx0XHQocGFydGlhbFJlc3VsdCk9XCJkaWN0YXRlUGFydGlhbFJlc3VsdCgkZXZlbnQpXCJcclxuXHRcdFx0KG9uRXJyb3IpPVwiZGljdGF0ZUVycm9yKCRldmVudClcIlxyXG5cdFx0XHRbc3lzdGVtSWRdPVwib25saW5lQXNyU3lzdGVtSWQoKVwiXHJcblx0XHQ+XHJcblx0XHQ8L3RsZC1kaWN0YXRlPlxyXG5cdDwvbmctY29udGFpbmVyPlxyXG5cclxuXHQ8YnV0dG9uIGNvbXBhY3RVcGxvYWQgbWF0LWljb24tYnV0dG9uIFttYXRUb29sdGlwXT1cIidUT09MVElQUy5VUExPQUQnIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cImZpbGVVcGxvYWREaXNhYmxlZFwiIChjbGljayk9XCJvcGVuRmlsZVVwbG9hZCgpXCI+XHJcblx0XHQ8bWF0LWljb24gW3N2Z0ljb25dPVwiJ3VwbG9hZCdcIj48L21hdC1pY29uPlxyXG5cdDwvYnV0dG9uPlxyXG5cclxuXHQ8bmctY29udGFpbmVyIHNvdXJjZUFjdGlvbnM+XHJcblx0XHQ8ZGl2IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBbY2xhc3MuYmFzaWMtcGFkZGluZ109XCJmaWxlVXBsb2FkXCIgZnhMYXlvdXRHYXA9XCIxZW1cIj5cclxuXHRcdFx0PGRpdiBbY2xhc3MuaGlkZGVuXT1cIiFmaWxlVXBsb2FkXCIgY2xhc3M9XCJmaWxlLXVwbG9hZC13cmFwcGVyXCI+XHJcblx0XHRcdFx0PGxpYi1maWxlLXVwbG9hZFxyXG5cdFx0XHRcdFx0KGZpbGVDaGFuZ2UpPVwiZmlsZUNoYW5nZSgkZXZlbnQpXCJcclxuXHRcdFx0XHRcdFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlc1wiXHJcblx0XHRcdFx0XHRbbWF4U2l6ZV09XCJtYXhGaWxlVXBsb2FkU2l6ZVwiXHJcblx0XHRcdFx0XHRbdXBsb2FkSWNvbk5hbWVdPVwidXBsb2FkSWNvbk5hbWVcIlxyXG5cdFx0XHRcdFx0W2V4dGVuZGVkQWNjZXB0TGlzdF09XCJleHRlbmRlZEZpbGVUeXBlc1wiXHJcblx0XHRcdFx0XHRbbXVsdGlwbGVdPVwibXVsdGlwbGVGaWxlc1wiXHJcblx0XHRcdFx0XHQoZXJyb3JFdmVudCk9XCJmaWxlVXBsb2FkRXJyb3IoJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRbZmlsZVByZXZpZXdQcm9ncmVzc109XCJmaWxlUHJldmlld1Byb2dyZXNzXCJcclxuXHRcdFx0XHRcdFtkaXNhYmxlZF09XCJmaWxlVXBsb2FkRGlzYWJsZWRcIlxyXG5cdFx0XHRcdD5cclxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwidXBsb2FkLWZpbGUtdGV4dFwiPlxyXG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImluZm9cIj5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5VUExPQUQnIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJhY2NlbnQtY29sb3JcIj48L3NwYW4+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4+Jm5ic3A7PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIFtpbm5lckhUTUxdPVwiJ0ZJTEVfVVBMT0FELkRSQUdfQU5EX0RST1AnIHwgdHJhbnNsYXRlXCIgZnhIaWRlLmx0LXNtPjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC4nICsgKG11bHRpcGxlRmlsZXMgPyAnRklMRVMnIDogJ0ZJTEUnKSB8IHRyYW5zbGF0ZVwiIFtuZ0NsYXNzLmx0LXNtXT1cIidhY2NlbnQtY29sb3InXCI+PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L3NwYW4+XHJcblxyXG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZpbGUtdXBsb2FkLWV4dGVuc2lvbnMgdGV4dC1tXCI+XHJcblx0XHRcdFx0XHRcdFx0KCZuYnNwOzxzcGFuPnt7IHZpc2libGVFeHRlbnNpb25zIH19Ljwvc3Bhbj4mbmJzcDtcclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiAqbmdJZj1cIm1heFNpemVNQlwiIGNsYXNzPVwiZmlsZS11cGxvYWQtbWF4LXNpemVcIiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5MSU1JVFNfTUInIHwgdHJhbnNsYXRlIDogeyBtYXhTaXplTUI6IG1heFNpemVNQiB9XCI+PC9zcGFuPiZuYnNwOylcclxuXHRcdFx0XHRcdFx0PC9zcGFuPlxyXG5cdFx0XHRcdFx0PC9zcGFuPlxyXG5cdFx0XHRcdDwvbGliLWZpbGUtdXBsb2FkPlxyXG5cdFx0XHRcdDxsaWItb3Blbi1leHRlbnNpb24tZGlhbG9nICpuZ0lmPVwic2hvd0V4dGVuc2lvblBvcHVwXCIgW2V4dGVuc2lvbnNdPVwiYWxsb3dlZFR5cGVzV2l0aG91dERvdHNcIj4gPC9saWItb3Blbi1leHRlbnNpb24tZGlhbG9nPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvbmctY29udGFpbmVyPlxyXG5cclxuXHQ8ZGl2IHRhcmdldE1haW4gY2xhc3M9XCJ0YXJnZXQtbWFpblwiPlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRW1wdHlUYXJnZXQ7IGVsc2UgdHJhbnNsYXRlZFRleHRCbG9ja1wiPlxyXG5cdFx0XHQ8cCAqbmdJZj1cInNob3dUYXJnZXRQbGFjZWhvbGRlclwiIGNsYXNzPVwiZGVzY3JpcHRpb24tdGV4dCB0YXJnZXQtZW1wdHlcIiBbaW5uZXJIdG1sXT1cIidUTERfVFJBTlNMQVRFLlRBUkdFVF9ERVNDUklQVElPTicgfCB0cmFuc2xhdGVcIj48L3A+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHQ8L2Rpdj5cclxuXHJcblx0PG5nLWNvbnRhaW5lciB0YXJnZXRBY3Rpb25zPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRsZC10cmFuc2xhdGUtdGFyZ2V0LWZvb3RlciBiYXNpYy1wYWRkaW5nXCIgKm5nSWY9XCJzaG93UHJvZ3Jlc3NJbmRpY2F0b3JcIj5cclxuXHRcdFx0PHByb2dyZXNzLWluZGljYXRvciAob25DbG9zZSk9XCJjbG9zZVByb2dyZXNzSW5kaWNhdG9yKClcIiAqbmdJZj1cInNob3dQcm9ncmVzc0luZGljYXRvclwiPjwvcHJvZ3Jlc3MtaW5kaWNhdG9yPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9uZy1jb250YWluZXI+XHJcbjwvdGxkLXNvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXI+XHJcblxyXG48IS0tIHRlbXBsYXRlcyB1c2VkIGZvciBlbHNlIGJsb2NrcyBpbiB0YXJnZXQgY29udGFpbmVyIC0tPlxyXG48bmctdGVtcGxhdGUgI3RyYW5zbGF0ZWRUZXh0QmxvY2s+XHJcblx0PGRpdiBbY2xhc3MudHJhbnNsYXRlZC1zb3VyY2Utb3ZlcmZsb3ddPVwidGFyZ2V0V3JhcHBlck92ZXJmbG93XCIgY2xhc3M9XCJ0cmFuc2xhdGVkLXNvdXJjZVwiPlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIiF1cmxUb1RyYW5zbGF0ZVwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwidGFyZ2V0LXdyYXBwZXItYWN0aW9uLWJ1dHRvbnNcIj5cclxuXHRcdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0XHRtYXQtaWNvbi1idXR0b25cclxuXHRcdFx0XHRcdCpuZ0lmPVwiZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkXCJcclxuXHRcdFx0XHRcdGNsYXNzPVwidGxkLWNvcHktdHJhbnNsYXRpb25cIlxyXG5cdFx0XHRcdFx0KGNsaWNrKT1cImNvcHkoKVwiXHJcblx0XHRcdFx0XHRbbWF0VG9vbHRpcF09XCInVE9PTFRJUFMuQ09QWScgfCB0cmFuc2xhdGVcIlxyXG5cdFx0XHRcdFx0W2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJjb3B5TWVzc2FnZUlkXCJcclxuXHRcdFx0XHRcdFthdHRyLklkXT1cImNvcHlCdXR0b25JZFwiXHJcblx0XHRcdFx0XHQoa2V5ZG93bi5UYWIpPVwic3dpdGNoRm9jdXNGcm9tQ29weSgkZXZlbnQpXCJcclxuXHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgYXJpYS1oaWRkZW49XCJmYWxzZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FSSUFfTEFCRUxTLkNPUFknIHwgdHJhbnNsYXRlXCI+IGNvbnRlbnRfY29weSA8L3NwYW4+XHJcblx0XHRcdFx0PC9idXR0b24+XHJcblxyXG5cdFx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRcdG1hdC1pY29uLWJ1dHRvblxyXG5cdFx0XHRcdFx0Km5nSWY9XCJmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWQgfHwgdHJhbnNsYXRpb25FcnJvclwiXHJcblx0XHRcdFx0XHRjbGFzcz1cInRsZC1yZWZyZXNoLXRyYW5zbGF0aW9uXCJcclxuXHRcdFx0XHRcdFttYXRUb29sdGlwXT1cIidUT09MVElQUy5SRUZSRVNIJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0XHQoY2xpY2spPVwicmVmcmVzaCgpXCJcclxuXHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgYXJpYS1oaWRkZW49XCJmYWxzZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FSSUFfTEFCRUxTLlJFRlJFU0gnIHwgdHJhbnNsYXRlXCI+IHJlZnJlc2ggPC9zcGFuPlxyXG5cdFx0XHRcdDwvYnV0dG9uPlxyXG5cclxuXHRcdFx0XHQ8ZGl2IFttYXRUb29sdGlwXT1cIihpc1RleHRTdW1tYXJpemFibGUgPyAnVE9PTFRJUFMuQ1JFQVRFX1NVTU1BUlknIDogJ1RMRF9UUkFOU0xBVEUuU1VNTUFSWS5ESVNBQkxFRCcpIHwgdHJhbnNsYXRlXCI+XHJcblx0XHRcdFx0XHRAaWYgKGlzTGxtRW5hYmxlZCAmJiBmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWQpIHtcclxuXHRcdFx0XHRcdDxsaWItbmV3LWZlYXR1cmUtZGlhbG9nLXdyYXBwZXJcclxuXHRcdFx0XHRcdFx0I3N1bW1hcml6ZUZlYXR1cmVcclxuXHRcdFx0XHRcdFx0W3RpdGxlTG9jYWxpemF0aW9uS2V5XT1cIidUTERfVFJBTlNMQVRFLlNVTU1BUlkuTkVXX0ZFQVRVUkUuVElUTEUnXCJcclxuXHRcdFx0XHRcdFx0W2Rlc2NyaXB0aW9uTG9jYWxpemF0aW9uS2V5XT1cIidUTERfVFJBTlNMQVRFLlNVTU1BUlkuTkVXX0ZFQVRVUkUuREVTQ1JJUFRJT04nXCJcclxuXHRcdFx0XHRcdFx0W2Nsb3NlTG9jYWxpemF0aW9uS2V5XT1cIidUTERfVFJBTlNMQVRFLlNVTU1BUlkuTkVXX0ZFQVRVUkUuQ0xPU0UnXCJcclxuXHRcdFx0XHRcdFx0W2ZlYXR1cmVDbGFzc05hbWVdPVwiJ3RsZC1jcmVhdGUtc3VtbWFyeSdcIlxyXG5cdFx0XHRcdFx0XHRbZmVhdHVyZUxvY2FsU3RvcmFnZUtleV09XCJzdW1tYXJpemVGZWF0dXJlTG9jYWxTdG9yYWdlS2V5XCJcclxuXHRcdFx0XHRcdFx0W3RpbWVvdXRdPVwiMTAwMFwiXHJcblx0XHRcdFx0XHQ+PC9saWItbmV3LWZlYXR1cmUtZGlhbG9nLXdyYXBwZXI+XHJcblxyXG5cdFx0XHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdFx0XHRtYXQtaWNvbi1idXR0b25cclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJ0bGQtY3JlYXRlLXN1bW1hcnlcIlxyXG5cdFx0XHRcdFx0XHRbY2xhc3Muc3VtbWFyaXplLWZlYXR1cmUtYWN0aXZlXT1cInN1bW1hcml6ZUZlYXR1cmU/LmZlYXR1cmVBY3RpdmUoKVwiXHJcblx0XHRcdFx0XHRcdFtkaXNhYmxlZF09XCJpc1RyYW5zbGF0aW5nIHx8IGlzU3VtbWFyYXppbmcgfHwgIWlzVGV4dFN1bW1hcml6YWJsZVwiXHJcblx0XHRcdFx0XHRcdChjbGljayk9XCJjcmVhdGVTdW1tYXJ5KClcIlxyXG5cdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHQ8bWF0LWljb24gW3N2Z0ljb25dPVwiJ3N1bW1hcml6ZSdcIiBhcmlhLWhpZGRlbj1cImZhbHNlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQVJJQV9MQUJFTFMuQ1JFQVRFX1NVTU1BUlknIHwgdHJhbnNsYXRlXCI+PC9tYXQtaWNvbj5cclxuXHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDx0bGQtdGV4dC10by1zcGVlY2ggKm5nSWY9XCJ0ZXh0VG9TcGVlY2hUYXJnZXRTZXR0aW5ncyAmJiBmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWRcIiBbc2V0dGluZ3NdPVwidGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3NcIj4gPC90bGQtdGV4dC10by1zcGVlY2g+XHJcblx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0PGRpdiAqbmdGb3I9XCJsZXQgcGFyYWdyYXBoIG9mIHRhcmdldFBhcmFncmFwaHNcIj5cclxuXHRcdFx0XHQ8dGxkLWhpZ2hsaWdodC10cmVlIFtoaWdobGlnaHRdPVwiaGlnaGxpZ2h0XCIgW3RyZWVdPVwicGFyYWdyYXBoXCI+IDwvdGxkLWhpZ2hsaWdodC10cmVlPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgKm5nSWY9XCJpc1N1bW1hcmF6aW5nIHx8IHN1bW1hcml6ZWRUZXh0XCIgY2xhc3M9XCJzdW1tYXJ5LXdyYXBwZXJcIj5cclxuXHRcdFx0XHQ8cCBjbGFzcz1cInN1bW1hcnktdGl0bGVcIj57eyBcIlRMRF9UUkFOU0xBVEUuU1VNTUFSWS5USVRMRVwiIHwgdHJhbnNsYXRlIH19PC9wPlxyXG5cclxuXHRcdFx0XHQ8cCAqbmdJZj1cImlzU3VtbWFyYXppbmdcIiBjbGFzcz1cImNyZWF0aW5nLXByb2dyZXNzXCI+e3sgXCJUTERfVFJBTlNMQVRFLlNVTU1BUlkuQ1JFQVRJTkdcIiB8IHRyYW5zbGF0ZSB9fTxzcGFuIGNsYXNzPVwiZG90LWxvYWRpbmdcIj4uLi48L3NwYW4+PC9wPlxyXG5cclxuXHRcdFx0XHQ8cCBbaW5uZXJIVE1MXT1cIm1hcmtlZFN1bW1hcml6ZWRUZXh0XCI+PC9wPlxyXG5cclxuXHRcdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0XHRtYXQtaWNvbi1idXR0b25cclxuXHRcdFx0XHRcdCpuZ0lmPVwic3VtbWFyaXplZFRleHRcIlxyXG5cdFx0XHRcdFx0W25nQ2xhc3MubHQtc21dPVwiJ3N1bW1hcnktbW9iaWxlJ1wiXHJcblx0XHRcdFx0XHRjbGFzcz1cInN1bW1hcnktY29weS1idG5cIlxyXG5cdFx0XHRcdFx0KGNsaWNrKT1cImNvcHlTdW1tYXJpemVkVGV4dCgpXCJcclxuXHRcdFx0XHRcdFttYXRUb29sdGlwXT1cIidUT09MVElQUy5DT1BZJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5DT1BZJyB8IHRyYW5zbGF0ZVwiPiBjb250ZW50X2NvcHkgPC9zcGFuPlxyXG5cdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdDxkaXYgKm5nSWY9XCJmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWQgJiYgZGljdGlvbmFyeUVudHJ5XCIgY2xhc3M9XCJkaWN0aW9uYXJ5LXdyYXBwZXJcIj5cclxuXHRcdFx0XHQ8dGxkLWRpY3Rpb25hcnkgW2RpY3Rpb25hcnldPVwiZGljdGlvbmFyeUVudHJ5XCI+PC90bGQtZGljdGlvbmFyeT5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHJcblx0XHQ8ZGl2ICpuZ0lmPVwidXJsVG9UcmFuc2xhdGVcIiBjbGFzcz1cInRhcmdldC11cmwtY29udGFpbmVyXCI+XHJcblx0XHRcdDxhIFthdHRyLmhyZWZdPVwidHJhbnNsYXRlVXJsUmVkaXJlY3RcIiB0YXJnZXQ9XCJfYmxhbmtcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgY2xhc3M9XCJnby10by13ZWJ0cmFuc2xhdGVcIj5cclxuXHRcdFx0XHR7eyB1cmxUb1RyYW5zbGF0ZSB9fVxyXG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBjb2xvcj1cImFjY2VudFwiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5PUEVOX0lOX05FVydcIj4gb3Blbl9pbl9uZXcgPC9zcGFuPlxyXG5cdFx0XHQ8L2E+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -6350,6 +6350,7 @@ class TldDictateComponent {
|
|
|
6350
6350
|
this.isRecording = isRecording;
|
|
6351
6351
|
},
|
|
6352
6352
|
onError: (error) => {
|
|
6353
|
+
this.hasAnyMicrophone = false;
|
|
6353
6354
|
this.stopRecording();
|
|
6354
6355
|
if (error.name === this.notAllowedErrorName) {
|
|
6355
6356
|
this.emitError(AudioErrorCase.MIC_NOT_ALLOWED);
|
|
@@ -7983,6 +7984,9 @@ class TldTranslateTextComponent {
|
|
|
7983
7984
|
else if (error === AudioErrorCase.NO_SPEECH) {
|
|
7984
7985
|
this.alerts.warning(`ERRORS.AUDIO.${error}`);
|
|
7985
7986
|
}
|
|
7987
|
+
else if (error === AudioErrorCase.MIC_NOT_ALLOWED) {
|
|
7988
|
+
this.alerts.warning(`ERRORS.AUDIO.${error}`);
|
|
7989
|
+
}
|
|
7986
7990
|
else {
|
|
7987
7991
|
this.alerts.unhandeledError({ ErrorCode: error });
|
|
7988
7992
|
}
|