@tilde-nlp/ngx-translate 2.1.4 → 2.1.6
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/esm2020/lib/modules/tld-document/services/tld-translate-file.service.mjs +5 -2
- package/esm2020/lib/modules/tld-term/services/api-v2/mt-term-v2.service.mjs +3 -3
- package/esm2020/lib/modules/tld-term/services/engine-term/models/engine-term-collection.model.mjs +1 -1
- package/esm2020/lib/modules/tld-term/services/models/combined-collection.model.mjs +2 -2
- package/fesm2015/tilde-nlp-ngx-translate.mjs +7 -4
- package/fesm2015/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/fesm2020/tilde-nlp-ngx-translate.mjs +7 -4
- package/fesm2020/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/lib/modules/tld-term/services/engine-term/models/engine-term-collection.model.d.ts +4 -2
- package/package.json +1 -1
- package/src/assets/webcomponent/tld-translate.js +1 -1
- package/tilde-nlp-ngx-translate-2.1.6.tgz +0 -0
- package/tilde-nlp-ngx-translate-2.1.4.tgz +0 -0
|
@@ -397,7 +397,10 @@ export class TldTranslateFileService {
|
|
|
397
397
|
this.alerts.error(message.description, message.title, { fileName: originalFileName });
|
|
398
398
|
return;
|
|
399
399
|
}
|
|
400
|
-
|
|
400
|
+
const messageString = JSON.stringify(inlineMessage);
|
|
401
|
+
if (!translationFile.messages.some(msg => JSON.stringify(msg) === messageString)) {
|
|
402
|
+
translationFile.messages.push(inlineMessage);
|
|
403
|
+
}
|
|
401
404
|
}
|
|
402
405
|
}
|
|
403
406
|
TldTranslateFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateFileService, deps: [{ token: FILE_API_SERVICE_TOKEN }, { token: i1.TldAlertService }, { token: i2.DomSanitizer }, { token: i1.TldTranslateConfigService }, { token: i3.TldSystemService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -411,4 +414,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
411
414
|
type: Inject,
|
|
412
415
|
args: [FILE_API_SERVICE_TOKEN]
|
|
413
416
|
}] }, { type: i1.TldAlertService }, { type: i2.DomSanitizer }, { type: i1.TldTranslateConfigService }, { type: i3.TldSystemService }]; } });
|
|
414
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1maWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtZG9jdW1lbnQvc2VydmljZXMvdGxkLXRyYW5zbGF0ZS1maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQWlCLGlCQUFpQixFQUFtQixNQUFNLHVCQUF1QixDQUFDO0FBQzFGLE9BQU8sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQXFPLE1BQU0seUJBQXlCLENBQUM7QUFLL1IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwREFBMEQsQ0FBQzs7Ozs7QUFLMUYsTUFBTSxPQUFPLHVCQUF1QjtJQWdDbEMsWUFDbUQsT0FBd0IsRUFDeEQsTUFBdUIsRUFDaEMsU0FBdUIsRUFDdkIsTUFBaUMsRUFDeEIsU0FBMkI7UUFKSyxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUN4RCxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUNoQyxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLFdB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LEVBQUUsTUFBTTtpQkFDbkI7OzBCQWtDSSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCB7IElubGluZU1lc3NhZ2UsIElubGluZU1lc3NhZ2VUeXBlLCBGaWxlVXBsb2FkRXJyb3IgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgdGhyb3dFcnJvciwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWVyZ2VNYXAsIHJldHJ5V2hlbiB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRklMRV9BUElfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uL2luamVjdGlvbi10b2tlbnMnO1xyXG5pbXBvcnQgeyBDb21tb24sIEVycm9yQ29kZSwgSURvd25sb2FkRmlsZVBhcmFtcywgSUZpbGVBcGlTZXJ2aWNlLCBJRmlsZU1ldGEsIElHZXRGaWxlU3RhdHVzUGFyYW1zLCBJR2V0RmlsZVRyYW5zbGF0aW9uU3RhdHVzUmVzcG9uc2UsIElSZW1vdmVGaWxlUGFyYW1zLCBJU291cmNlRmlsZVByZXZpZXdSZXNwb25zZSwgSVN0YXJ0RmlsZVRyYW5zbGF0aW9uUGFyYW1zLCBJVGxkRXJyb3IsIElUcmFuc2xhdGVkRG9jdW1lbnRQcmV2aWV3UGFyYW1zIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTeXN0ZW0gfSBmcm9tICcuLi8uLi90bGQtY29tbW9uL21vZGVscy9zZXJ2aWNlcy9zeXN0ZW0vc3lzdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgVGxkQWxlcnRTZXJ2aWNlLCBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IElBY3RpdmVEYXRhIH0gZnJvbSAnLi4vLi4vdGxkLXRvb2x0aXAvbW9kZWxzJztcclxuaW1wb3J0IHsgVGxkU3lzdGVtU2VydmljZSB9IGZyb20gJy4uLy4uL3RsZC10b29sdGlwL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TdGF0dXNzIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgRmlsZUNvbnZlcnNpb25UeXBlcyB9IGZyb20gJy4uL21vZGVscy9maWxlLWNvbnZlcnNpb24tdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBJVHJhbnNsYXRpb25GaWxlIH0gZnJvbSAnLi4vbW9kZWxzL3RyYW5zbGF0ZS1maWxlLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsZUV4dGVuc2lvbnMgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL3NoYXJlZC9leHRlbnNpb24tZGlhbG9nL21vZGVscy9lbnVtcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVGaWxlU2VydmljZSB7XHJcblxyXG4gIHRyYW5zbGF0aW9uU3RhcnRlZDogYm9vbGVhbjtcclxuICAvKiogVmFsdWUgdG8gYmUgc2V0IHRvIHRydWUgd2hpbGUgbG9hZGluZyBzb3VyY2UgcHJldmlldy4gQXQgdGhhdCB0aW1lLCB0cmFuc2xhdGUgYnV0dG9uIHNob3VsZCBiZSBkaXNhYmxlZC4gKi9cclxuICBnZXQgaXNVcGxvYWRpbmdGaWxlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5maWxlc1VwbG9hZGluZy5sZW5ndGggPiAwOyB9O1xyXG4gIHRyYW5zbGF0aW9uRmlsZXM6IElUcmFuc2xhdGlvbkZpbGVbXSA9IFtdO1xyXG4gIGZpbGVOYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBmaWxlc0FkZGVkOiBudW1iZXI7XHJcbiAgYW55UGRmRmlsZUxvYWRlZDogYm9vbGVhbjtcclxuICBhbnlJbWFnZUZpbGVMb2FkZWQ6IGJvb2xlYW47XHJcbiAgLy9mb3IgbXVsdGlwbGUgZmlsZSBjb21wb25lbnRcclxuICB0cmFuc2xhdGVkQ291bnQ6IG51bWJlciA9IDA7XHJcbiAgbXVsdGlwbGVGaWxlVXBsb2FkQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCBkaXNhYmxlVHJhbnNsYXRlQnV0dG9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb25TdGFydGVkIHx8IHRoaXMuaXNVcGxvYWRpbmdGaWxlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfb25GaWxlc1VwbG9hZGVkID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gIHByaXZhdGUgYWN0aXZlU3lzdGVtOiBTeXN0ZW07XHJcbiAgLy8gVE9ETy4gQ29uZmlndXJhYmxlP1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRTdGF0dXNDaGVja1RpbWVvdXQgPSAxMDAwO1xyXG4gIC8vIDAgaXMgbmV0d29yayBlcnJvciwgc2hvdWxkIHRyeSBhZ2FpblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3JldHJ5RXJyb3JDb2RlcyA9IFswXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9uZXR3b3JrRXJyb3JNYXhSZXRyaWVzID0gMjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0dXNUaW1lb3V0cyA9IHt9O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uQ2xlYXIgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfc3VwcG9ydGVkSW1hZ2VFeHRlbnNpb25zID0gW1wicG5nXCIsIFwianBnXCIsIFwianBlZ1wiLCBcImJtcFwiXTtcclxuICBwcml2YXRlIGZpbGVzVXBsb2FkaW5nOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHByaXZhdGUgbm90Rm91bmRFcnJvckNvZGUgPSBcIkVfNDA0XCI7XHJcbiAgcHJpdmF0ZSBub3RGb3VuZFJlbW92ZUVycm9yQ29kZSA9IFwiRV80MDRfUkVNT1ZFXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChGSUxFX0FQSV9TRVJWSUNFX1RPS0VOKSBwcml2YXRlIHJlYWRvbmx5IGZpbGVBcGk6IElGaWxlQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRzOiBUbGRBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgcHJpdmF0ZSBjb25maWc6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRsZFN5c3RlbTogVGxkU3lzdGVtU2VydmljZSkge1xyXG4gICAgdGhpcy5fc3RhdHVzVGltZW91dHNbVHJhbnNsYXRpb25TdGF0dXNzLkVYVFJBQ1RJTkddID0gMTAwMDtcclxuICAgIHRoaXMuX3N0YXR1c1RpbWVvdXRzW1RyYW5zbGF0aW9uU3RhdHVzcy5FWFRSQUNUSU5HXSA9IDEwMDA7XHJcbiAgICB0aGlzLl9zdGF0dXNUaW1lb3V0c1tUcmFuc2xhdGlvblN0YXR1c3MuSU5JVElBTElaSU5HXSA9IDEwMDA7XHJcbiAgICB0aGlzLl9zdGF0dXNUaW1lb3V0c1tUcmFuc2xhdGlvblN0YXR1c3MuUVVFVUlOR10gPSAxMDAwO1xyXG4gICAgdGhpcy5fc3RhdHVzVGltZW91dHNbVHJhbnNsYXRpb25TdGF0dXNzLlNBVklOR10gPSAxMDAwO1xyXG4gICAgdGhpcy5fc3RhdHVzVGltZW91dHNbVHJhbnNsYXRpb25TdGF0dXNzLlRSQU5TTEFUSU5HXSA9IDEwMDA7XHJcbiAgICB0aGlzLl9zdGF0dXNUaW1lb3V0c1tUcmFuc2xhdGlvblN0YXR1c3MuV0FJVElOR10gPSAxMDAwMDtcclxuICB9XHJcblxyXG4gIC8vIGNsZWFycyBhbGwgbG9hZGVkIGRhdGFcclxuICBjbGVhcigpIHtcclxuICAgIGNvbnN0IGZpbGVBcnIgPSB0aGlzLnRyYW5zbGF0aW9uRmlsZXM7XHJcbiAgICBmaWxlQXJyLmZvckVhY2goKGZpbGUpID0+IHtcclxuICAgICAgZmlsZS50cmFuc2xhdGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnJlbW92ZShmaWxlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuY2xlYXJQYXJhbXMoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xlYXIoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9vbkNsZWFyLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgb25GaWxlc1VwbG9hZGVkKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fb25GaWxlc1VwbG9hZGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKGZpbGU6IElUcmFuc2xhdGlvbkZpbGUpIHtcclxuICAgIC8vIGZpbGUudHJhbnNsYXRpbmcgbmVlZHMgdG8gYmUgc2V0LCBzbyBubyBvdGhlciBnZXQgc3RhdHVzIHJlcXVlc3RzIGFyZSBzZW50IHRvIHNlcnZlci5cclxuICAgIGZpbGUudHJhbnNsYXRpbmcgPSBmYWxzZTtcclxuICAgIGNvbnN0IGl4ID0gdGhpcy50cmFuc2xhdGlvbkZpbGVzLmluZGV4T2YoZmlsZSk7XHJcbiAgICBpZiAoaXggPCAwKSB7XHJcbiAgICAgIHRocm93IFwiQ2FuJ3QgcmVtb3ZlIGZpbGVcIjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwYXJhbXM6IElSZW1vdmVGaWxlUGFyYW1zID0ge1xyXG4gICAgICBmaWxlOiBmaWxlXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuZmlsZUFwaS5yZW1vdmUocGFyYW1zKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDA0KSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0cy51bmhhbmRlbGVkRXJyb3IoeyBFcnJvckNvZGU6IHRoaXMubm90Rm91bmRSZW1vdmVFcnJvckNvZGUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZigpO1xyXG4gICAgICB9KVxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uRmlsZXMuc3BsaWNlKGl4LCAxKTtcclxuICAgIHRoaXMuZmlsZU5hbWVzLnNwbGljZShpeCwgMSk7XHJcblxyXG4gICAgaWYgKHRoaXMudHJhbnNsYXRpb25GaWxlcy5sZW5ndGggPT0gMCkge1xyXG4gICAgICB0aGlzLmNsZWFyKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5oYXNBbnlJbWFnZU9yUGRmKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGRvd25sb2FkVGFyZ2V0KHRyYW5zbGF0aW9uRmlsZTogSVRyYW5zbGF0aW9uRmlsZSwgZmlsZU1ldGE6IElGaWxlTWV0YSkge1xyXG4gICAgaWYgKHRyYW5zbGF0aW9uRmlsZS5pc0Rvd25sb2FkaW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0cmFuc2xhdGlvbkZpbGUuaXNEb3dubG9hZGluZyA9IHRydWU7XHJcbiAgICBjb25zdCBkb3dubG9hZFBhcmFtczogSURvd25sb2FkRmlsZVBhcmFtcyA9IHtcclxuICAgICAgaWQ6IHRyYW5zbGF0aW9uRmlsZS5pZCxcclxuICAgICAgZmlsZU1ldGE6IGZpbGVNZXRhXHJcbiAgICB9O1xyXG4gICAgdGhpcy5maWxlQXBpLmRvd25sb2FkKGRvd25sb2FkUGFyYW1zKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRyYW5zbGF0aW9uRmlsZS5pc0Rvd25sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHNhdmVBcyhyZXNwb25zZSwgZmlsZU1ldGEgPyBmaWxlTWV0YS5maWxlTmFtZSA6IHRyYW5zbGF0aW9uRmlsZS5vcmlnaW5hbEZpbGVOYW1lKTtcclxuICAgIH0sIChlcnJvcikgPT4ge1xyXG4gICAgICB0aGlzLm9uRXJyb3IoZXJyb3IsIHRyYW5zbGF0aW9uRmlsZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkU291cmNlKHRyYW5zbGF0aW9uRmlsZTogSVRyYW5zbGF0aW9uRmlsZSkge1xyXG5cclxuICAgIGlmICghdHJhbnNsYXRpb25GaWxlLnNvdXJjZURvd25sb2FkQXZhaWxhYmxlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJTb3VyY2UgZG93bmxvYWQgdW5hdmFpbGFibGUuXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb252ZXJ0ZWRGaWxlTmFtZSA9IHRoaXMuY29udmVydGVkU291cmNlRmlsZU5hbWUodHJhbnNsYXRpb25GaWxlLm9yaWdpbmFsRmlsZU5hbWUpO1xyXG4gICAgdHJhbnNsYXRpb25GaWxlLmlzRG93bmxvYWRpbmdTb3VyY2UgPSB0cnVlO1xyXG4gICAgY29uc3QgZG93bmxvYWRQYXJhbXM6IElEb3dubG9hZEZpbGVQYXJhbXMgPSB7XHJcbiAgICAgIGlkOiB0cmFuc2xhdGlvbkZpbGUuaWQsXHJcbiAgICAgIGZpbGVNZXRhOiB7IGZpbGVOYW1lOiBjb252ZXJ0ZWRGaWxlTmFtZSB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5maWxlQXBpLmRvd25sb2FkKGRvd25sb2FkUGFyYW1zKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRyYW5zbGF0aW9uRmlsZS5pc0Rvd25sb2FkaW5nU291cmNlID0gZmFsc2U7XHJcbiAgICAgIHNhdmVBcyhyZXNwb25zZSwgY29udmVydGVkRmlsZU5hbWUpO1xyXG4gICAgfSwgKGVycm9yKSA9PiB7XHJcbiAgICAgIHRoaXMub25FcnJvcihlcnJvciwgdHJhbnNsYXRpb25GaWxlKTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIGxvYWRGaWxlUHJldmlldyhmaWxlOiBGaWxlKTogSVRyYW5zbGF0aW9uRmlsZSB7XHJcbiAgICBjb25zdCBmaWxlc0FsbG93ZWQgPSB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLm51bWJlck9mRmlsZXNBbGxvd2VkO1xyXG4gICAgY29uc3QgZmlsZU5hbWUgPSBmaWxlLm5hbWU7XHJcblxyXG4gICAgaWYgKHRoaXMudHJhbnNsYXRpb25GaWxlcy5sZW5ndGggPj0gZmlsZXNBbGxvd2VkKSB7XHJcbiAgICAgIGNvbnN0IGVycm9yQ29kZSA9IFwiRVJST1JTLlwiICsgKGZpbGVzQWxsb3dlZCA+IDEgPyBcIk1BWF9OVU1CRVJfT0ZfRklMRVNcIiA6IFwiSU5DUkVBU0VfTUFYX05VTUJFUl9PRl9GSUxFU1wiKTtcclxuICAgICAgdGhpcy5hbGVydHMuZXJyb3IoZXJyb3JDb2RlLCBudWxsLCB7IGxpbms6IHRoaXMuY29uZmlnLmNvcmVDb25maWcucmVnaXN0ZXJMaW5rLCBsaW1pdDogZmlsZXNBbGxvd2VkIH0pO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5maWxlTmFtZXMuaW5jbHVkZXMoZmlsZU5hbWUpKSB7XHJcbiAgICAgIHRoaXMuYWxlcnRzLmVycm9yKFwiRVJST1JTLkZJTEVfQUxSRUFEWV9BRERFRFwiLCBudWxsLCB7IGZpbGVOYW1lOiBmaWxlLm5hbWUgfSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZmlsZXNVcGxvYWRpbmcucHVzaChmaWxlTmFtZSk7XHJcbiAgICBjb25zdCB0cmFuc2xhdGlvbkZpbGU6IElUcmFuc2xhdGlvbkZpbGUgPSB7XHJcbiAgICAgIG9yaWdpbmFsRmlsZU5hbWU6IGZpbGVOYW1lLFxyXG4gICAgICAvLyBuYW1lOiBmaWxlTmFtZSxcclxuICAgICAgb3JpZ2luYWxFeHRlbnNpb246IENvbW1vbi5nZXRGaWxlRXh0ZW5zaW9uKGZpbGVOYW1lKSxcclxuICAgICAgdHJhbnNsYXRpb25TdGF0dXNzOiBUcmFuc2xhdGlvblN0YXR1c3MuVVBMT0FESU5HLFxyXG4gICAgICBmaWxlLFxyXG4gICAgICBtZXNzYWdlczogW11cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uRmlsZXMucHVzaCh0cmFuc2xhdGlvbkZpbGUpO1xyXG4gICAgdGhpcy5maWxlTmFtZXMucHVzaChmaWxlTmFtZSk7XHJcbiAgICBjb25zdCBpc0ltYWdlID0gdGhpcy5fc3VwcG9ydGVkSW1hZ2VFeHRlbnNpb25zLmluY2x1ZGVzKENvbW1vbi5nZXRGaWxlRXh0ZW5zaW9uKHRyYW5zbGF0aW9uRmlsZS5vcmlnaW5hbEZpbGVOYW1lKSk7XHJcbiAgICBpZiAoaXNJbWFnZSkge1xyXG4gICAgICB0aGlzLmFueUltYWdlRmlsZUxvYWRlZCA9IHRydWU7XHJcbiAgICAgIHRyYW5zbGF0aW9uRmlsZS5maWxlVHlwZSA9IEZpbGVDb252ZXJzaW9uVHlwZXMuSU1BR0U7XHJcbiAgICB9XHJcbiAgICBjb25zdCBpc1BkZiA9IFwicGRmXCIgPT09IENvbW1vbi5nZXRGaWxlRXh0ZW5zaW9uKHRyYW5zbGF0aW9uRmlsZS5vcmlnaW5hbEZpbGVOYW1lKTtcclxuICAgIGlmIChpc1BkZikge1xyXG4gICAgICB0aGlzLmFueVBkZkZpbGVMb2FkZWQgPSB0cnVlO1xyXG4gICAgICB0cmFuc2xhdGlvbkZpbGUuZmlsZVR5cGUgPSBGaWxlQ29udmVyc2lvblR5cGVzLlBERjtcclxuICAgIH1cclxuICAgIHRoaXMuZmlsZUFwaS5zb3VyY2VGaWxlUHJldmlldyh0cmFuc2xhdGlvbkZpbGUpLnN1YnNjcmliZSgocmVzcCkgPT4ge1xyXG4gICAgICBpZiAocmVzcC5pc0ZpbGVQcmV2aWV3TG9hZGVkKSB7XHJcbiAgICAgICAgdHJhbnNsYXRpb25GaWxlLnRyYW5zbGF0aW9uU3RhdHVzcyA9IFRyYW5zbGF0aW9uU3RhdHVzcy5VUExPQURFRDtcclxuICAgICAgICB0aGlzLmZpbGVVcGxvYWRlZChmaWxlTmFtZSk7XHJcbiAgICAgICAgdGhpcy5maWxlUHJldmlld0FsZXJ0cyhpc1BkZiwgcmVzcC53b3JkQ291bnQpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMub25GaWxlUHJldmlld0xvYWQocmVzcCwgdHJhbnNsYXRpb25GaWxlKTtcclxuICAgIH0sIChlcnJvcikgPT4ge1xyXG4gICAgICB0aGlzLnJlbW92ZSh0cmFuc2xhdGlvbkZpbGUpO1xyXG4gICAgICB0aGlzLmFsZXJ0cy51bmhhbmRlbGVkRXJyb3IoZXJyb3IpO1xyXG4gICAgICB0aHJvdyBlcnJvcjtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uRmlsZTtcclxuICB9XHJcblxyXG4gIHRyYW5zbGF0ZUJ1dHRvbkNsaWNrKGFjdGl2ZTogSUFjdGl2ZURhdGEpIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb25TdGFydGVkID0gdHJ1ZTtcclxuICAgIHRoaXMudHJhbnNsYXRpb25GaWxlcy5mb3JFYWNoKChmaWxlKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RhcnRGaWxlVHJhbnNsYXRpb24oYWN0aXZlLCBmaWxlKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzdGFydEZpbGVUcmFuc2xhdGlvbihhY3RpdmVTeXN0ZW06IElBY3RpdmVEYXRhLCB0cmFuc2xhdGlvbkZpbGU6IElUcmFuc2xhdGlvbkZpbGUpIHtcclxuICAgIGlmICghdGhpcy5jYW5TdGFydFRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uRmlsZSkpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihcIkNvdWxkIG5vdCBzdGFydCBmaWxlIHRyYW5zbGF0aW9uIVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVTeXN0ZW0gPSB0aGlzLnRsZFN5c3RlbS5nZXRBY3RpdmVTeXN0ZW1PYmooKTtcclxuICAgIHRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXJ0ZWQgPSB0cnVlO1xyXG4gICAgdHJhbnNsYXRpb25GaWxlLnRyYW5zbGF0aW5nID0gdHJ1ZTtcclxuICAgIC8vIHF1aXRlIHdlaXJkLiBSZXNwb25zZSBjYW4gYmUgc3RydWN0dXJlIHdpdGggc3VjY2VzcyBhbmQgZXJyb3IgcGFyYW1zIGFuZCBpdCBjYW4gYWxzbyBiZSBwbGFpbiBzdHJpbmcgaW4gc3VjY2Vzcy5cclxuICAgIGNvbnN0IHBhcmFtczogSVN0YXJ0RmlsZVRyYW5zbGF0aW9uUGFyYW1zID0ge1xyXG4gICAgICBmaWxlOiB0cmFuc2xhdGlvbkZpbGUsXHJcbiAgICAgIHN5c3RlbTogYWN0aXZlU3lzdGVtLnN5c3RlbVxyXG4gICAgfTtcclxuICAgIHRoaXMuZmlsZUFwaS5zdGFydFRyYW5zbGF0aW9uKHBhcmFtcykucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmZpbGVBcGlFcnJvcih0cmFuc2xhdGlvbkZpbGUsIGVycm9yKTtcclxuICAgICAgICByZXR1cm4gb2YobnVsbCk7XHJcbiAgICAgICAgLy8gdGhyb3cgZXJyb3I7XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgocmVzcG9uc2U6IHN0cmluZykgPT4ge1xyXG4gICAgICAvLyBzb21ldGhpbmcgZ29uZSB3cm9uZ1xyXG4gICAgICBpZiAoIXJlc3BvbnNlKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0cmFuc2xhdGlvbkZpbGUuaWQgPSByZXNwb25zZTtcclxuICAgICAgdHJhbnNsYXRpb25GaWxlLnRyYW5zbGF0aW9uU3RhcnRlZE9uU2VydmVyID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuY2hlY2tUcmFuc2xhdGlvblByb2dyZXNzKHRyYW5zbGF0aW9uRmlsZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRlZFNvdXJjZUZpbGVOYW1lKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcG9zdEZpeCA9IFwiX2NvbnZlcnRlZC5kb2N4XCI7XHJcbiAgICBmaWxlTmFtZSA9IGZpbGVOYW1lLnNsaWNlKDAsIGZpbGVOYW1lLmxhc3RJbmRleE9mKFwiLlwiKSk7XHJcbiAgICBjb25zdCBjb252ZXJ0ZWRGaWxlTmFtZSA9IGZpbGVOYW1lICsgcG9zdEZpeDtcclxuICAgIHJldHVybiBjb252ZXJ0ZWRGaWxlTmFtZTtcclxuICB9XHJcblxyXG4gIGZpbGVVcGxvYWRFcnJvcihlcnJvcjogRmlsZVVwbG9hZEVycm9yKSB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIGZpbGVOYW1lOiBlcnJvci5maWxlTmFtZSxcclxuICAgICAgbWF4U2l6ZU1COiBDb21tb24uYnl0ZXNUb01iKHRoaXMuY29uZmlnLmZpbGVDb25maWcubWF4U2l6ZSksXHJcbiAgICAgIGZvcm1hdHM6IHRoaXMuY29uZmlnLmZpbGVDb25maWcuYWxsb3dlZEZpbGVUeXBlcy5qb2luKFwiLCBcIiksXHJcbiAgICAgIHJlZ2lzdGVyTGluazogdGhpcy5jb25maWcuY29yZUNvbmZpZy5yZWdpc3RlckxpbmtcclxuICAgIH1cclxuICAgIHRoaXMuYWxlcnRzLmVycm9yKGBFUlJPUlMuRklMRV9VUExPQUQuJHtlcnJvci5jb2RlfWAsIG51bGwsIHBhcmFtcyk7XHJcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICB9XHJcblxyXG4gIC8vIGNoZWNrcyBhbGwgbmVjZXNzYXJ5IHBhcmFtcyB0aGF0IGFyZSByZXNwb25zaWJsZSB3aGV0ZXIgaXQgaXMgYWxsb3dlZCB0byBzdGFydCBuZXcgdHJhbnNsYXRpb24uXHJcbiAgcHJpdmF0ZSBjYW5TdGFydFRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uRmlsZTogSVRyYW5zbGF0aW9uRmlsZSkge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uRmlsZS50bXBOYW1lICYmICF0cmFuc2xhdGlvbkZpbGUudHJhbnNsYXRpbmc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrVHJhbnNsYXRpb25Qcm9ncmVzcyh0cmFuc2xhdGlvbkZpbGU6IElUcmFuc2xhdGlvbkZpbGUpIHtcclxuICAgIGNvbnN0IGZpbmlzaGVkU3RhdHVzID0gVHJhbnNsYXRpb25TdGF0dXNzLkNPTVBMRVRFRDtcclxuICAgIGNvbnN0IHBhcmFtczogSUdldEZpbGVTdGF0dXNQYXJhbXMgPSB7XHJcbiAgICAgIGZpbGU6IHRyYW5zbGF0aW9uRmlsZSxcclxuICAgICAgc3JjTGFuZzogdGhpcy5hY3RpdmVTeXN0ZW0uc291cmNlTGFuZ3VhZ2UsXHJcbiAgICAgIHRyZ0xhbmc6IHRoaXMuYWN0aXZlU3lzdGVtLnRhcmdldExhbmd1YWdlXHJcbiAgICB9O1xyXG4gICAgdGhpcy5maWxlQXBpLmdldFN0YXR1cyhwYXJhbXMpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIC8vIElmIG5ldHdvcmsgZXJyb3IsIGNoZWNrIGFnYWluIGJlY2F1c2UgZmlsZSBoYXMgbm90IGZhaWxlZC5cclxuICAgICAgICAvLyB0aGlzIGNvZGUgbmVlZHMgdG8gYmUgdGVzdGVkLCBiZWNhdXNlIGNhbnQgcmVwZWF0IGl0XHJcbiAgICAgICAgcmV0cnlXaGVuKChvYnNlcnZhYmxlcykgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVzLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKChlcnJvciwgaSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChpIDwgdGhpcy5fbmV0d29ya0Vycm9yTWF4UmV0cmllcyAmJiB0aGlzLl9yZXRyeUVycm9yQ29kZXMuaW5jbHVkZXMoZXJyb3Iuc3RhdHVzKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRpbWVyKHRoaXMuX2RlZmF1bHRTdGF0dXNDaGVja1RpbWVvdXQpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIClcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogSUdldEZpbGVUcmFuc2xhdGlvblN0YXR1c1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2Uuc3lzdGVtSWQgJiYgcmVzcG9uc2Uuc3lzdGVtSWQgIT09IHRoaXMuYWN0aXZlU3lzdGVtLmlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGxkU3lzdGVtLmNoYW5nZVN5c3RlbShyZXNwb25zZS5zeXN0ZW1JZCwgZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVN5c3RlbSA9IHRoaXMudGxkU3lzdGVtLmdldEFjdGl2ZVN5c3RlbU9iaigpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3MgPSByZXNwb25zZS50cmFuc2xhdGlvblN0YXR1c3M7XHJcbiAgICAgICAgICB0cmFuc2xhdGlvbkZpbGUuc291cmNlRG93bmxvYWRBdmFpbGFibGUgPSByZXNwb25zZS5zb3VyY2VEb3dubG9hZEF2YWlsYWJsZTtcclxuICAgICAgICAgIHRyYW5zbGF0aW9uRmlsZS5wcm9ncmVzcyA9IHJlc3BvbnNlLnByb2dyZXNzO1xyXG4gICAgICAgICAgdHJhbnNsYXRpb25GaWxlLmF2YWlsYWJsZUV4dGVuc2lvbnMgPSByZXNwb25zZS5leHRlbnNpb25zO1xyXG4gICAgICAgICAgaWYgKHRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3MgPT0gVHJhbnNsYXRpb25TdGF0dXNzLkVSUk9SKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVycm9yOiBJVGxkRXJyb3IgPSB7XHJcbiAgICAgICAgICAgICAgRXJyb3JDb2RlOlxyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2Uuc3Vic3RhdHVzID8/IEVycm9yQ29kZS5FX0ZBSUxFRF9JTl9UUkFOU0xBVElPTixcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy5maWxlQXBpRXJyb3IodHJhbnNsYXRpb25GaWxlLCBlcnJvcik7XHJcbiAgICAgICAgICAgIC8vdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3MgPT09IGZpbmlzaGVkU3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlZENvdW50ICs9IDE7XHJcbiAgICAgICAgICAgIC8vdHJhbnNsYXRpb25GaWxlLm5hbWUgPSByZXNwb25zZS5uYW1lO1xyXG4gICAgICAgICAgICB0cmFuc2xhdGlvbkZpbGUuZG93bmxvYWRBdmFpbGFibGUgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlRmlsZVVwbG9hZEFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlZERvY1ByZXZpZXcodHJhbnNsYXRpb25GaWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL3RyYW5zbGF0aW9uRmlsZS5hdmFpbGFibGVFeHRlbnNpb25zID0gdGhpcy5nZXRFeHRlbnNpb25BcnJheShyZXNwb25zZS50cmFuc2xhdGlvbnMsIHRyYW5zbGF0aW9uRmlsZS5uYW1lKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFN0YXR1c0NoZWNrVGltZW91dDtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmZpbGVDb25maWcuZmlsZURvd25sb2FkVGltZW91dHMgJiYgdGhpcy5jb25maWcuZmlsZUNvbmZpZy5maWxlRG93bmxvYWRUaW1lb3V0c1t0cmFuc2xhdGlvbkZpbGUudHJhbnNsYXRpb25TdGF0dXNzXSkge1xyXG4gICAgICAgICAgICAgIHRpbWVvdXQgPSB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLmZpbGVEb3dubG9hZFRpbWVvdXRzW3RyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3NdO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3N0YXR1c1RpbWVvdXRzICYmIHRoaXMuX3N0YXR1c1RpbWVvdXRzW3RyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3NdKSB7XHJcbiAgICAgICAgICAgICAgdGltZW91dCA9IHRoaXMuX3N0YXR1c1RpbWVvdXRzW3RyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3NdO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoIXRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGluZykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLmNoZWNrVHJhbnNsYXRpb25Qcm9ncmVzcyh0cmFuc2xhdGlvbkZpbGUpO1xyXG4gICAgICAgICAgICB9LCB0aW1lb3V0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3MgPSBUcmFuc2xhdGlvblN0YXR1c3MuRVJST1I7XHJcbiAgICAgICAgICB0aGlzLm9uVHJhbnNsYXRpb25GaWxlRXJyb3IodHJhbnNsYXRpb25GaWxlLCBlcnJvcik7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRmlsZVByZXZpZXdMb2FkKGRhdGE6IElTb3VyY2VGaWxlUHJldmlld1Jlc3BvbnNlLCB0cmFuc2xhdGlvbkZpbGU6IElUcmFuc2xhdGlvbkZpbGUpIHtcclxuICAgIHRyYW5zbGF0aW9uRmlsZS5pc0ZpbGVQcmV2aWV3TG9hZGVkID0gZGF0YS5pc0ZpbGVQcmV2aWV3TG9hZGVkO1xyXG4gICAgdHJhbnNsYXRpb25GaWxlLnRtcE5hbWUgPSBkYXRhLnRtcE5hbWU7XHJcbiAgICB0cmFuc2xhdGlvbkZpbGUuc291cmNlUHJldmlld0hhc0h0bWwgPSBkYXRhLnNvdXJjZVByZXZpZXdIYXNIdG1sO1xyXG4gICAgdHJhbnNsYXRpb25GaWxlLnNvdXJjZVByZXZpZXcgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChkYXRhLnNvdXJjZVByZXZpZXcpO1xyXG4gICAgdHJhbnNsYXRpb25GaWxlLmZpbGVQcmV2aWV3UHJvZ3Jlc3MgPSBkYXRhLnBlcmNlbnREb25lO1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdHJhbnNsYXRlZERvY1ByZXZpZXcodHJhbnNsYXRpb25GaWxlOiBJVHJhbnNsYXRpb25GaWxlKSB7XHJcbiAgICAvLyBzaG93IHByZXZpZXcgZm9yIG9yaWdpbmFsIGV4dGVuc2lvbiBpZiBleGlzdHMsIGlmIG5vdCwgdGhlbiBwcmV2aWV3IGZvciBkb2N4LCBpZiBub3QgdGhlbiB0cnkgd2l0aCBvcmlnaW5hbCBmaWxlbmFtZS5cclxuICAgIGNvbnN0IGZpbGVOYW1lID0gdHJhbnNsYXRpb25GaWxlLmF2YWlsYWJsZUV4dGVuc2lvbnMuZmluZChleHQgPT4gZXh0LmV4dGVuc2lvbiA9PT0gRmlsZUV4dGVuc2lvbnMuRE9DWCk/LmZpbGVOYW1lXHJcbiAgICAgID8/IHRyYW5zbGF0aW9uRmlsZS5vcmlnaW5hbEZpbGVOYW1lO1xyXG4gICAgY29uc3QgcGFyYW1zOiBJVHJhbnNsYXRlZERvY3VtZW50UHJldmlld1BhcmFtcyA9IHtcclxuICAgICAgZmlsZU5hbWU6IGZpbGVOYW1lLFxyXG4gICAgICB0cmFuc2xhdGlvbkRvY0lkOiB0cmFuc2xhdGlvbkZpbGUuaWRcclxuICAgIH07XHJcbiAgICB0aGlzLmZpbGVBcGkudHJhbnNsYXRlZERvY3VtZW50UHJldmlldyhwYXJhbXMpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiB7IHN1Y2Nlc3M6IGJvb2xlYW4sIGVycm9yPzogc3RyaW5nLCBzdGF0dXM6IHN0cmluZywgcHJldmlldzogc3RyaW5nIH0pID0+IHtcclxuICAgICAgICB0cmFuc2xhdGlvbkZpbGUudHJhbnNsYXRpbmcgPSBmYWxzZTtcclxuICAgICAgICBpZiAoIXJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IocmVzcG9uc2UuZXJyb3IpO1xyXG4gICAgICAgICAgdGhpcy5hbGVydHMudW5oYW5kZWxlZEVycm9yKHJlc3BvbnNlLmVycm9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChyZXNwb25zZS5wcmV2aWV3KSB7XHJcbiAgICAgICAgICB0cmFuc2xhdGlvbkZpbGUudHJhbnNsYXRlZFByZXZpZXcgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChyZXNwb25zZS5wcmV2aWV3KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0cmFuc2xhdGlvbkZpbGUudHJhbnNsYXRlZFByZXZpZXcgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmlsZUFwaUVycm9yKHRyYW5zbGF0aW9uRmlsZTogSVRyYW5zbGF0aW9uRmlsZSwgZXJyb3I6IGFueSkge1xyXG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICB0cmFuc2xhdGlvbkZpbGUudHJhbnNsYXRpbmcgPSBmYWxzZTtcclxuICAgIHRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3MgPSBUcmFuc2xhdGlvblN0YXR1c3MuRVJST1I7XHJcbiAgICB0aGlzLm9uVHJhbnNsYXRpb25GaWxlRXJyb3IodHJhbnNsYXRpb25GaWxlLCBlcnJvcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbGVQcmV2aWV3QWxlcnRzKGlzUGRmOiBib29sZWFuLCB3b3JkQ291bnQ6IG51bWJlcikge1xyXG4gICAgY29uc3QgbWF4V29yZENvdW50ID0gdGhpcy5jb25maWcuZmlsZUNvbmZpZy53b3JkTGltaXQ7XHJcbiAgICBjb25zdCBhbGVydFBhcmFtcyA9IHtcclxuICAgICAgcmVnaXN0ZXJMaW5rOiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLnJlZ2lzdGVyTGluayxcclxuICAgICAgd29yZENvdW50OiBtYXhXb3JkQ291bnQsXHJcbiAgICAgIGFwcE5hbWU6IHRoaXMuY29uZmlnLmNvcmVDb25maWcuYXBwTmFtZVxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLmNvbmZpZy5maWxlQ29uZmlnLnNob3dUcmFuc2xhdGlvbkxpbWl0cykge1xyXG4gICAgICBpZiAoaXNQZGYgJiYgdGhpcy5jb25maWcuZmlsZUNvbmZpZy5vY3JQYWdlTGltaXQpIHtcclxuICAgICAgICB0aGlzLmFsZXJ0cy53YXJuaW5nKFwiVExEX1RSQU5TTEFURS5QREZfUEFHRV9MSU1JVF9NU0dcIiwgYWxlcnRQYXJhbXMpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh3b3JkQ291bnQgJiYgbWF4V29yZENvdW50ICYmIHdvcmRDb3VudCA+IG1heFdvcmRDb3VudCkge1xyXG4gICAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoXCJUTERfVFJBTlNMQVRFLkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dcIiwgYWxlcnRQYXJhbXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRXJyb3IoZXJyb3I6IGFueSwgdHJhbnNsYXRpb25GaWxlOiBJVHJhbnNsYXRpb25GaWxlKSB7XHJcbiAgICBpZiAodHJhbnNsYXRpb25GaWxlKSB7XHJcbiAgICAgIHRyYW5zbGF0aW9uRmlsZS5pc0Rvd25sb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZXJyb3JGb3JNZXNzYWdlID0gZXJyb3Iuc3RhdHVzID09PSA0MDQgPyB7IEVycm9yQ29kZTogdGhpcy5ub3RGb3VuZEVycm9yQ29kZSB9IDogZXJyb3I7XHJcbiAgICB0aGlzLm9uVHJhbnNsYXRpb25GaWxlRXJyb3IodHJhbnNsYXRpb25GaWxlLCBlcnJvckZvck1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWxlVXBsb2FkZWQoZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgZmlsZUl4ID0gdGhpcy5maWxlc1VwbG9hZGluZy5pbmRleE9mKGZpbGVOYW1lKTtcclxuICAgIGlmIChmaWxlSXggPj0gMCkge1xyXG4gICAgICB0aGlzLmZpbGVzVXBsb2FkaW5nLnNwbGljZShmaWxlSXgsIDEpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmlsZXNVcGxvYWRpbmcubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuX29uRmlsZXNVcGxvYWRlZC5uZXh0KG51bGwpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhc0FueUltYWdlT3JQZGYoKSB7XHJcbiAgICBsZXQgYW55SW1hZ2UgPSBmYWxzZTtcclxuICAgIGxldCBhbnlQZGYgPSBmYWxzZTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50cmFuc2xhdGlvbkZpbGVzLmxlbmd0aCAmJiAhKGFueVBkZiAmJiBhbnlJbWFnZSk7IGkrKykge1xyXG4gICAgICBjb25zdCBmaWxlID0gdGhpcy50cmFuc2xhdGlvbkZpbGVzW2ldO1xyXG4gICAgICBpZiAoZmlsZS5maWxlVHlwZSA9PT0gRmlsZUNvbnZlcnNpb25UeXBlcy5JTUFHRSkge1xyXG4gICAgICAgIGFueUltYWdlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChmaWxlLmZpbGVUeXBlID09PSBGaWxlQ29udmVyc2lvblR5cGVzLlBERikge1xyXG4gICAgICAgIGFueVBkZiA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFueUltYWdlRmlsZUxvYWRlZCA9IGFueUltYWdlO1xyXG4gICAgdGhpcy5hbnlQZGZGaWxlTG9hZGVkID0gYW55UGRmO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhclBhcmFtcygpIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb25TdGFydGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uRmlsZXMgPSBbXTtcclxuICAgIHRoaXMuYW55UGRmRmlsZUxvYWRlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5hbnlJbWFnZUZpbGVMb2FkZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZmlsZU5hbWVzID0gW107XHJcbiAgICB0aGlzLnRyYW5zbGF0ZWRDb3VudCA9IDA7XHJcbiAgICB0aGlzLmZpbGVzVXBsb2FkaW5nID0gW107XHJcbiAgICB0aGlzLl9vbkNsZWFyLm5leHQobnVsbClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25UcmFuc2xhdGlvbkZpbGVFcnJvcih0cmFuc2xhdGlvbkZpbGU6IElUcmFuc2xhdGlvbkZpbGUsIGVycm9yOiBhbnkpIHtcclxuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmFsZXJ0cy5maW5kRXJyb3JUaXRsZUFuZExvY2FsaXphdGlvbktleShlcnJvcik7XHJcbiAgICBjb25zdCBvcmlnaW5hbEZpbGVOYW1lID0gdHJhbnNsYXRpb25GaWxlLm9yaWdpbmFsRmlsZU5hbWU7XHJcbiAgICBjb25zdCBpbmxpbmVNZXNzYWdlOiBJbmxpbmVNZXNzYWdlID0ge1xyXG4gICAgICB0aXRsZTogbWVzc2FnZS50aXRsZSxcclxuICAgICAgZGVzY3JpcHRpb246IG1lc3NhZ2UuZGVzY3JpcHRpb24sXHJcbiAgICAgIHR5cGU6IElubGluZU1lc3NhZ2VUeXBlLkVSUk9SLFxyXG4gICAgICBsb2NhbGl6YXRpb25QYXJhbXM6IHsgZmlsZU5hbWU6IG9yaWdpbmFsRmlsZU5hbWUsIC4uLnRoaXMuYWxlcnRzLmRlZmF1bHRQYXJhbXMgfVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoIXRoaXMubXVsdGlwbGVGaWxlVXBsb2FkQWN0aXZlKSB7XHJcbiAgICAgIHRoaXMuYWxlcnRzLmVycm9yKG1lc3NhZ2UuZGVzY3JpcHRpb24sIG1lc3NhZ2UudGl0bGUsIHsgZmlsZU5hbWU6IG9yaWdpbmFsRmlsZU5hbWUgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0cmFuc2xhdGlvbkZpbGUubWVzc2FnZXMucHVzaChpbmxpbmVNZXNzYWdlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
417
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1maWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtZG9jdW1lbnQvc2VydmljZXMvdGxkLXRyYW5zbGF0ZS1maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQWlCLGlCQUFpQixFQUFtQixNQUFNLHVCQUF1QixDQUFDO0FBQzFGLE9BQU8sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQXFPLE1BQU0seUJBQXlCLENBQUM7QUFLL1IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwREFBMEQsQ0FBQzs7Ozs7QUFLMUYsTUFBTSxPQUFPLHVCQUF1QjtJQWdDbEMsWUFDbUQsT0FBd0IsRUFDeEQsTUFBdUIsRUFDaEMsU0FBdUIsRUFDdkIsTUFBaUMsRUFDeEIsU0FBMkI7UUFKSyxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUN4RCxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUNoQyxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLFdB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QWEsQ0FBQyxFQUFFO1lBQ2hGLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQzs7b0hBamNVLHVCQUF1QixrQkFpQ3hCLHNCQUFzQjt3SEFqQ3JCLHVCQUF1QixjQUZ0QixNQUFNOzJGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQWtDSSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCB7IElubGluZU1lc3NhZ2UsIElubGluZU1lc3NhZ2VUeXBlLCBGaWxlVXBsb2FkRXJyb3IgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgdGhyb3dFcnJvciwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWVyZ2VNYXAsIHJldHJ5V2hlbiB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRklMRV9BUElfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uL2luamVjdGlvbi10b2tlbnMnO1xyXG5pbXBvcnQgeyBDb21tb24sIEVycm9yQ29kZSwgSURvd25sb2FkRmlsZVBhcmFtcywgSUZpbGVBcGlTZXJ2aWNlLCBJRmlsZU1ldGEsIElHZXRGaWxlU3RhdHVzUGFyYW1zLCBJR2V0RmlsZVRyYW5zbGF0aW9uU3RhdHVzUmVzcG9uc2UsIElSZW1vdmVGaWxlUGFyYW1zLCBJU291cmNlRmlsZVByZXZpZXdSZXNwb25zZSwgSVN0YXJ0RmlsZVRyYW5zbGF0aW9uUGFyYW1zLCBJVGxkRXJyb3IsIElUcmFuc2xhdGVkRG9jdW1lbnRQcmV2aWV3UGFyYW1zIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTeXN0ZW0gfSBmcm9tICcuLi8uLi90bGQtY29tbW9uL21vZGVscy9zZXJ2aWNlcy9zeXN0ZW0vc3lzdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgVGxkQWxlcnRTZXJ2aWNlLCBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IElBY3RpdmVEYXRhIH0gZnJvbSAnLi4vLi4vdGxkLXRvb2x0aXAvbW9kZWxzJztcclxuaW1wb3J0IHsgVGxkU3lzdGVtU2VydmljZSB9IGZyb20gJy4uLy4uL3RsZC10b29sdGlwL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TdGF0dXNzIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgRmlsZUNvbnZlcnNpb25UeXBlcyB9IGZyb20gJy4uL21vZGVscy9maWxlLWNvbnZlcnNpb24tdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBJVHJhbnNsYXRpb25GaWxlIH0gZnJvbSAnLi4vbW9kZWxzL3RyYW5zbGF0ZS1maWxlLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsZUV4dGVuc2lvbnMgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL3NoYXJlZC9leHRlbnNpb24tZGlhbG9nL21vZGVscy9lbnVtcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVGaWxlU2VydmljZSB7XHJcblxyXG4gIHRyYW5zbGF0aW9uU3RhcnRlZDogYm9vbGVhbjtcclxuICAvKiogVmFsdWUgdG8gYmUgc2V0IHRvIHRydWUgd2hpbGUgbG9hZGluZyBzb3VyY2UgcHJldmlldy4gQXQgdGhhdCB0aW1lLCB0cmFuc2xhdGUgYnV0dG9uIHNob3VsZCBiZSBkaXNhYmxlZC4gKi9cclxuICBnZXQgaXNVcGxvYWRpbmdGaWxlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5maWxlc1VwbG9hZGluZy5sZW5ndGggPiAwOyB9O1xyXG4gIHRyYW5zbGF0aW9uRmlsZXM6IElUcmFuc2xhdGlvbkZpbGVbXSA9IFtdO1xyXG4gIGZpbGVOYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBmaWxlc0FkZGVkOiBudW1iZXI7XHJcbiAgYW55UGRmRmlsZUxvYWRlZDogYm9vbGVhbjtcclxuICBhbnlJbWFnZUZpbGVMb2FkZWQ6IGJvb2xlYW47XHJcbiAgLy9mb3IgbXVsdGlwbGUgZmlsZSBjb21wb25lbnRcclxuICB0cmFuc2xhdGVkQ291bnQ6IG51bWJlciA9IDA7XHJcbiAgbXVsdGlwbGVGaWxlVXBsb2FkQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCBkaXNhYmxlVHJhbnNsYXRlQnV0dG9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb25TdGFydGVkIHx8IHRoaXMuaXNVcGxvYWRpbmdGaWxlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfb25GaWxlc1VwbG9hZGVkID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gIHByaXZhdGUgYWN0aXZlU3lzdGVtOiBTeXN0ZW07XHJcbiAgLy8gVE9ETy4gQ29uZmlndXJhYmxlP1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRTdGF0dXNDaGVja1RpbWVvdXQgPSAxMDAwO1xyXG4gIC8vIDAgaXMgbmV0d29yayBlcnJvciwgc2hvdWxkIHRyeSBhZ2FpblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3JldHJ5RXJyb3JDb2RlcyA9IFswXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9uZXR3b3JrRXJyb3JNYXhSZXRyaWVzID0gMjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0dXNUaW1lb3V0cyA9IHt9O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uQ2xlYXIgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfc3VwcG9ydGVkSW1hZ2VFeHRlbnNpb25zID0gW1wicG5nXCIsIFwianBnXCIsIFwianBlZ1wiLCBcImJtcFwiXTtcclxuICBwcml2YXRlIGZpbGVzVXBsb2FkaW5nOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHByaXZhdGUgbm90Rm91bmRFcnJvckNvZGUgPSBcIkVfNDA0XCI7XHJcbiAgcHJpdmF0ZSBub3RGb3VuZFJlbW92ZUVycm9yQ29kZSA9IFwiRV80MDRfUkVNT1ZFXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChGSUxFX0FQSV9TRVJWSUNFX1RPS0VOKSBwcml2YXRlIHJlYWRvbmx5IGZpbGVBcGk6IElGaWxlQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRzOiBUbGRBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgcHJpdmF0ZSBjb25maWc6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRsZFN5c3RlbTogVGxkU3lzdGVtU2VydmljZSkge1xyXG4gICAgdGhpcy5fc3RhdHVzVGltZW91dHNbVHJhbnNsYXRpb25TdGF0dXNzLkVYVFJBQ1RJTkddID0gMTAwMDtcclxuICAgIHRoaXMuX3N0YXR1c1RpbWVvdXRzW1RyYW5zbGF0aW9uU3RhdHVzcy5FWFRSQUNUSU5HXSA9IDEwMDA7XHJcbiAgICB0aGlzLl9zdGF0dXNUaW1lb3V0c1tUcmFuc2xhdGlvblN0YXR1c3MuSU5JVElBTElaSU5HXSA9IDEwMDA7XHJcbiAgICB0aGlzLl9zdGF0dXNUaW1lb3V0c1tUcmFuc2xhdGlvblN0YXR1c3MuUVVFVUlOR10gPSAxMDAwO1xyXG4gICAgdGhpcy5fc3RhdHVzVGltZW91dHNbVHJhbnNsYXRpb25TdGF0dXNzLlNBVklOR10gPSAxMDAwO1xyXG4gICAgdGhpcy5fc3RhdHVzVGltZW91dHNbVHJhbnNsYXRpb25TdGF0dXNzLlRSQU5TTEFUSU5HXSA9IDEwMDA7XHJcbiAgICB0aGlzLl9zdGF0dXNUaW1lb3V0c1tUcmFuc2xhdGlvblN0YXR1c3MuV0FJVElOR10gPSAxMDAwMDtcclxuICB9XHJcblxyXG4gIC8vIGNsZWFycyBhbGwgbG9hZGVkIGRhdGFcclxuICBjbGVhcigpIHtcclxuICAgIGNvbnN0IGZpbGVBcnIgPSB0aGlzLnRyYW5zbGF0aW9uRmlsZXM7XHJcbiAgICBmaWxlQXJyLmZvckVhY2goKGZpbGUpID0+IHtcclxuICAgICAgZmlsZS50cmFuc2xhdGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnJlbW92ZShmaWxlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuY2xlYXJQYXJhbXMoKTtcclxuICB9XHJcblxyXG4gIG9uQ2xlYXIoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9vbkNsZWFyLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgb25GaWxlc1VwbG9hZGVkKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fb25GaWxlc1VwbG9hZGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKGZpbGU6IElUcmFuc2xhdGlvbkZpbGUpIHtcclxuICAgIC8vIGZpbGUudHJhbnNsYXRpbmcgbmVlZHMgdG8gYmUgc2V0LCBzbyBubyBvdGhlciBnZXQgc3RhdHVzIHJlcXVlc3RzIGFyZSBzZW50IHRvIHNlcnZlci5cclxuICAgIGZpbGUudHJhbnNsYXRpbmcgPSBmYWxzZTtcclxuICAgIGNvbnN0IGl4ID0gdGhpcy50cmFuc2xhdGlvbkZpbGVzLmluZGV4T2YoZmlsZSk7XHJcbiAgICBpZiAoaXggPCAwKSB7XHJcbiAgICAgIHRocm93IFwiQ2FuJ3QgcmVtb3ZlIGZpbGVcIjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwYXJhbXM6IElSZW1vdmVGaWxlUGFyYW1zID0ge1xyXG4gICAgICBmaWxlOiBmaWxlXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuZmlsZUFwaS5yZW1vdmUocGFyYW1zKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDA0KSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0cy51bmhhbmRlbGVkRXJyb3IoeyBFcnJvckNvZGU6IHRoaXMubm90Rm91bmRSZW1vdmVFcnJvckNvZGUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZigpO1xyXG4gICAgICB9KVxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uRmlsZXMuc3BsaWNlKGl4LCAxKTtcclxuICAgIHRoaXMuZmlsZU5hbWVzLnNwbGljZShpeCwgMSk7XHJcblxyXG4gICAgaWYgKHRoaXMudHJhbnNsYXRpb25GaWxlcy5sZW5ndGggPT0gMCkge1xyXG4gICAgICB0aGlzLmNsZWFyKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5oYXNBbnlJbWFnZU9yUGRmKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGRvd25sb2FkVGFyZ2V0KHRyYW5zbGF0aW9uRmlsZTogSVRyYW5zbGF0aW9uRmlsZSwgZmlsZU1ldGE6IElGaWxlTWV0YSkge1xyXG4gICAgaWYgKHRyYW5zbGF0aW9uRmlsZS5pc0Rvd25sb2FkaW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0cmFuc2xhdGlvbkZpbGUuaXNEb3dubG9hZGluZyA9IHRydWU7XHJcbiAgICBjb25zdCBkb3dubG9hZFBhcmFtczogSURvd25sb2FkRmlsZVBhcmFtcyA9IHtcclxuICAgICAgaWQ6IHRyYW5zbGF0aW9uRmlsZS5pZCxcclxuICAgICAgZmlsZU1ldGE6IGZpbGVNZXRhXHJcbiAgICB9O1xyXG4gICAgdGhpcy5maWxlQXBpLmRvd25sb2FkKGRvd25sb2FkUGFyYW1zKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRyYW5zbGF0aW9uRmlsZS5pc0Rvd25sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHNhdmVBcyhyZXNwb25zZSwgZmlsZU1ldGEgPyBmaWxlTWV0YS5maWxlTmFtZSA6IHRyYW5zbGF0aW9uRmlsZS5vcmlnaW5hbEZpbGVOYW1lKTtcclxuICAgIH0sIChlcnJvcikgPT4ge1xyXG4gICAgICB0aGlzLm9uRXJyb3IoZXJyb3IsIHRyYW5zbGF0aW9uRmlsZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkU291cmNlKHRyYW5zbGF0aW9uRmlsZTogSVRyYW5zbGF0aW9uRmlsZSkge1xyXG5cclxuICAgIGlmICghdHJhbnNsYXRpb25GaWxlLnNvdXJjZURvd25sb2FkQXZhaWxhYmxlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJTb3VyY2UgZG93bmxvYWQgdW5hdmFpbGFibGUuXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb252ZXJ0ZWRGaWxlTmFtZSA9IHRoaXMuY29udmVydGVkU291cmNlRmlsZU5hbWUodHJhbnNsYXRpb25GaWxlLm9yaWdpbmFsRmlsZU5hbWUpO1xyXG4gICAgdHJhbnNsYXRpb25GaWxlLmlzRG93bmxvYWRpbmdTb3VyY2UgPSB0cnVlO1xyXG4gICAgY29uc3QgZG93bmxvYWRQYXJhbXM6IElEb3dubG9hZEZpbGVQYXJhbXMgPSB7XHJcbiAgICAgIGlkOiB0cmFuc2xhdGlvbkZpbGUuaWQsXHJcbiAgICAgIGZpbGVNZXRhOiB7IGZpbGVOYW1lOiBjb252ZXJ0ZWRGaWxlTmFtZSB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5maWxlQXBpLmRvd25sb2FkKGRvd25sb2FkUGFyYW1zKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRyYW5zbGF0aW9uRmlsZS5pc0Rvd25sb2FkaW5nU291cmNlID0gZmFsc2U7XHJcbiAgICAgIHNhdmVBcyhyZXNwb25zZSwgY29udmVydGVkRmlsZU5hbWUpO1xyXG4gICAgfSwgKGVycm9yKSA9PiB7XHJcbiAgICAgIHRoaXMub25FcnJvcihlcnJvciwgdHJhbnNsYXRpb25GaWxlKTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIGxvYWRGaWxlUHJldmlldyhmaWxlOiBGaWxlKTogSVRyYW5zbGF0aW9uRmlsZSB7XHJcbiAgICBjb25zdCBmaWxlc0FsbG93ZWQgPSB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLm51bWJlck9mRmlsZXNBbGxvd2VkO1xyXG4gICAgY29uc3QgZmlsZU5hbWUgPSBmaWxlLm5hbWU7XHJcblxyXG4gICAgaWYgKHRoaXMudHJhbnNsYXRpb25GaWxlcy5sZW5ndGggPj0gZmlsZXNBbGxvd2VkKSB7XHJcbiAgICAgIGNvbnN0IGVycm9yQ29kZSA9IFwiRVJST1JTLlwiICsgKGZpbGVzQWxsb3dlZCA+IDEgPyBcIk1BWF9OVU1CRVJfT0ZfRklMRVNcIiA6IFwiSU5DUkVBU0VfTUFYX05VTUJFUl9PRl9GSUxFU1wiKTtcclxuICAgICAgdGhpcy5hbGVydHMuZXJyb3IoZXJyb3JDb2RlLCBudWxsLCB7IGxpbms6IHRoaXMuY29uZmlnLmNvcmVDb25maWcucmVnaXN0ZXJMaW5rLCBsaW1pdDogZmlsZXNBbGxvd2VkIH0pO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5maWxlTmFtZXMuaW5jbHVkZXMoZmlsZU5hbWUpKSB7XHJcbiAgICAgIHRoaXMuYWxlcnRzLmVycm9yKFwiRVJST1JTLkZJTEVfQUxSRUFEWV9BRERFRFwiLCBudWxsLCB7IGZpbGVOYW1lOiBmaWxlLm5hbWUgfSk7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZmlsZXNVcGxvYWRpbmcucHVzaChmaWxlTmFtZSk7XHJcbiAgICBjb25zdCB0cmFuc2xhdGlvbkZpbGU6IElUcmFuc2xhdGlvbkZpbGUgPSB7XHJcbiAgICAgIG9yaWdpbmFsRmlsZU5hbWU6IGZpbGVOYW1lLFxyXG4gICAgICAvLyBuYW1lOiBmaWxlTmFtZSxcclxuICAgICAgb3JpZ2luYWxFeHRlbnNpb246IENvbW1vbi5nZXRGaWxlRXh0ZW5zaW9uKGZpbGVOYW1lKSxcclxuICAgICAgdHJhbnNsYXRpb25TdGF0dXNzOiBUcmFuc2xhdGlvblN0YXR1c3MuVVBMT0FESU5HLFxyXG4gICAgICBmaWxlLFxyXG4gICAgICBtZXNzYWdlczogW11cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uRmlsZXMucHVzaCh0cmFuc2xhdGlvbkZpbGUpO1xyXG4gICAgdGhpcy5maWxlTmFtZXMucHVzaChmaWxlTmFtZSk7XHJcbiAgICBjb25zdCBpc0ltYWdlID0gdGhpcy5fc3VwcG9ydGVkSW1hZ2VFeHRlbnNpb25zLmluY2x1ZGVzKENvbW1vbi5nZXRGaWxlRXh0ZW5zaW9uKHRyYW5zbGF0aW9uRmlsZS5vcmlnaW5hbEZpbGVOYW1lKSk7XHJcbiAgICBpZiAoaXNJbWFnZSkge1xyXG4gICAgICB0aGlzLmFueUltYWdlRmlsZUxvYWRlZCA9IHRydWU7XHJcbiAgICAgIHRyYW5zbGF0aW9uRmlsZS5maWxlVHlwZSA9IEZpbGVDb252ZXJzaW9uVHlwZXMuSU1BR0U7XHJcbiAgICB9XHJcbiAgICBjb25zdCBpc1BkZiA9IFwicGRmXCIgPT09IENvbW1vbi5nZXRGaWxlRXh0ZW5zaW9uKHRyYW5zbGF0aW9uRmlsZS5vcmlnaW5hbEZpbGVOYW1lKTtcclxuICAgIGlmIChpc1BkZikge1xyXG4gICAgICB0aGlzLmFueVBkZkZpbGVMb2FkZWQgPSB0cnVlO1xyXG4gICAgICB0cmFuc2xhdGlvbkZpbGUuZmlsZVR5cGUgPSBGaWxlQ29udmVyc2lvblR5cGVzLlBERjtcclxuICAgIH1cclxuICAgIHRoaXMuZmlsZUFwaS5zb3VyY2VGaWxlUHJldmlldyh0cmFuc2xhdGlvbkZpbGUpLnN1YnNjcmliZSgocmVzcCkgPT4ge1xyXG4gICAgICBpZiAocmVzcC5pc0ZpbGVQcmV2aWV3TG9hZGVkKSB7XHJcbiAgICAgICAgdHJhbnNsYXRpb25GaWxlLnRyYW5zbGF0aW9uU3RhdHVzcyA9IFRyYW5zbGF0aW9uU3RhdHVzcy5VUExPQURFRDtcclxuICAgICAgICB0aGlzLmZpbGVVcGxvYWRlZChmaWxlTmFtZSk7XHJcbiAgICAgICAgdGhpcy5maWxlUHJldmlld0FsZXJ0cyhpc1BkZiwgcmVzcC53b3JkQ291bnQpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMub25GaWxlUHJldmlld0xvYWQocmVzcCwgdHJhbnNsYXRpb25GaWxlKTtcclxuICAgIH0sIChlcnJvcikgPT4ge1xyXG4gICAgICB0aGlzLnJlbW92ZSh0cmFuc2xhdGlvbkZpbGUpO1xyXG4gICAgICB0aGlzLmFsZXJ0cy51bmhhbmRlbGVkRXJyb3IoZXJyb3IpO1xyXG4gICAgICB0aHJvdyBlcnJvcjtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uRmlsZTtcclxuICB9XHJcblxyXG4gIHRyYW5zbGF0ZUJ1dHRvbkNsaWNrKGFjdGl2ZTogSUFjdGl2ZURhdGEpIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb25TdGFydGVkID0gdHJ1ZTtcclxuICAgIHRoaXMudHJhbnNsYXRpb25GaWxlcy5mb3JFYWNoKChmaWxlKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RhcnRGaWxlVHJhbnNsYXRpb24oYWN0aXZlLCBmaWxlKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzdGFydEZpbGVUcmFuc2xhdGlvbihhY3RpdmVTeXN0ZW06IElBY3RpdmVEYXRhLCB0cmFuc2xhdGlvbkZpbGU6IElUcmFuc2xhdGlvbkZpbGUpIHtcclxuICAgIGlmICghdGhpcy5jYW5TdGFydFRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uRmlsZSkpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihcIkNvdWxkIG5vdCBzdGFydCBmaWxlIHRyYW5zbGF0aW9uIVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVTeXN0ZW0gPSB0aGlzLnRsZFN5c3RlbS5nZXRBY3RpdmVTeXN0ZW1PYmooKTtcclxuICAgIHRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXJ0ZWQgPSB0cnVlO1xyXG4gICAgdHJhbnNsYXRpb25GaWxlLnRyYW5zbGF0aW5nID0gdHJ1ZTtcclxuICAgIC8vIHF1aXRlIHdlaXJkLiBSZXNwb25zZSBjYW4gYmUgc3RydWN0dXJlIHdpdGggc3VjY2VzcyBhbmQgZXJyb3IgcGFyYW1zIGFuZCBpdCBjYW4gYWxzbyBiZSBwbGFpbiBzdHJpbmcgaW4gc3VjY2Vzcy5cclxuICAgIGNvbnN0IHBhcmFtczogSVN0YXJ0RmlsZVRyYW5zbGF0aW9uUGFyYW1zID0ge1xyXG4gICAgICBmaWxlOiB0cmFuc2xhdGlvbkZpbGUsXHJcbiAgICAgIHN5c3RlbTogYWN0aXZlU3lzdGVtLnN5c3RlbVxyXG4gICAgfTtcclxuICAgIHRoaXMuZmlsZUFwaS5zdGFydFRyYW5zbGF0aW9uKHBhcmFtcykucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmZpbGVBcGlFcnJvcih0cmFuc2xhdGlvbkZpbGUsIGVycm9yKTtcclxuICAgICAgICByZXR1cm4gb2YobnVsbCk7XHJcbiAgICAgICAgLy8gdGhyb3cgZXJyb3I7XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgocmVzcG9uc2U6IHN0cmluZykgPT4ge1xyXG4gICAgICAvLyBzb21ldGhpbmcgZ29uZSB3cm9uZ1xyXG4gICAgICBpZiAoIXJlc3BvbnNlKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0cmFuc2xhdGlvbkZpbGUuaWQgPSByZXNwb25zZTtcclxuICAgICAgdHJhbnNsYXRpb25GaWxlLnRyYW5zbGF0aW9uU3RhcnRlZE9uU2VydmVyID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuY2hlY2tUcmFuc2xhdGlvblByb2dyZXNzKHRyYW5zbGF0aW9uRmlsZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRlZFNvdXJjZUZpbGVOYW1lKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcG9zdEZpeCA9IFwiX2NvbnZlcnRlZC5kb2N4XCI7XHJcbiAgICBmaWxlTmFtZSA9IGZpbGVOYW1lLnNsaWNlKDAsIGZpbGVOYW1lLmxhc3RJbmRleE9mKFwiLlwiKSk7XHJcbiAgICBjb25zdCBjb252ZXJ0ZWRGaWxlTmFtZSA9IGZpbGVOYW1lICsgcG9zdEZpeDtcclxuICAgIHJldHVybiBjb252ZXJ0ZWRGaWxlTmFtZTtcclxuICB9XHJcblxyXG4gIGZpbGVVcGxvYWRFcnJvcihlcnJvcjogRmlsZVVwbG9hZEVycm9yKSB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgIGZpbGVOYW1lOiBlcnJvci5maWxlTmFtZSxcclxuICAgICAgbWF4U2l6ZU1COiBDb21tb24uYnl0ZXNUb01iKHRoaXMuY29uZmlnLmZpbGVDb25maWcubWF4U2l6ZSksXHJcbiAgICAgIGZvcm1hdHM6IHRoaXMuY29uZmlnLmZpbGVDb25maWcuYWxsb3dlZEZpbGVUeXBlcy5qb2luKFwiLCBcIiksXHJcbiAgICAgIHJlZ2lzdGVyTGluazogdGhpcy5jb25maWcuY29yZUNvbmZpZy5yZWdpc3RlckxpbmtcclxuICAgIH1cclxuICAgIHRoaXMuYWxlcnRzLmVycm9yKGBFUlJPUlMuRklMRV9VUExPQUQuJHtlcnJvci5jb2RlfWAsIG51bGwsIHBhcmFtcyk7XHJcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICB9XHJcblxyXG4gIC8vIGNoZWNrcyBhbGwgbmVjZXNzYXJ5IHBhcmFtcyB0aGF0IGFyZSByZXNwb25zaWJsZSB3aGV0ZXIgaXQgaXMgYWxsb3dlZCB0byBzdGFydCBuZXcgdHJhbnNsYXRpb24uXHJcbiAgcHJpdmF0ZSBjYW5TdGFydFRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uRmlsZTogSVRyYW5zbGF0aW9uRmlsZSkge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uRmlsZS50bXBOYW1lICYmICF0cmFuc2xhdGlvbkZpbGUudHJhbnNsYXRpbmc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrVHJhbnNsYXRpb25Qcm9ncmVzcyh0cmFuc2xhdGlvbkZpbGU6IElUcmFuc2xhdGlvbkZpbGUpIHtcclxuICAgIGNvbnN0IGZpbmlzaGVkU3RhdHVzID0gVHJhbnNsYXRpb25TdGF0dXNzLkNPTVBMRVRFRDtcclxuICAgIGNvbnN0IHBhcmFtczogSUdldEZpbGVTdGF0dXNQYXJhbXMgPSB7XHJcbiAgICAgIGZpbGU6IHRyYW5zbGF0aW9uRmlsZSxcclxuICAgICAgc3JjTGFuZzogdGhpcy5hY3RpdmVTeXN0ZW0uc291cmNlTGFuZ3VhZ2UsXHJcbiAgICAgIHRyZ0xhbmc6IHRoaXMuYWN0aXZlU3lzdGVtLnRhcmdldExhbmd1YWdlXHJcbiAgICB9O1xyXG4gICAgdGhpcy5maWxlQXBpLmdldFN0YXR1cyhwYXJhbXMpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIC8vIElmIG5ldHdvcmsgZXJyb3IsIGNoZWNrIGFnYWluIGJlY2F1c2UgZmlsZSBoYXMgbm90IGZhaWxlZC5cclxuICAgICAgICAvLyB0aGlzIGNvZGUgbmVlZHMgdG8gYmUgdGVzdGVkLCBiZWNhdXNlIGNhbnQgcmVwZWF0IGl0XHJcbiAgICAgICAgcmV0cnlXaGVuKChvYnNlcnZhYmxlcykgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVzLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKChlcnJvciwgaSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChpIDwgdGhpcy5fbmV0d29ya0Vycm9yTWF4UmV0cmllcyAmJiB0aGlzLl9yZXRyeUVycm9yQ29kZXMuaW5jbHVkZXMoZXJyb3Iuc3RhdHVzKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRpbWVyKHRoaXMuX2RlZmF1bHRTdGF0dXNDaGVja1RpbWVvdXQpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIClcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogSUdldEZpbGVUcmFuc2xhdGlvblN0YXR1c1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2Uuc3lzdGVtSWQgJiYgcmVzcG9uc2Uuc3lzdGVtSWQgIT09IHRoaXMuYWN0aXZlU3lzdGVtLmlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGxkU3lzdGVtLmNoYW5nZVN5c3RlbShyZXNwb25zZS5zeXN0ZW1JZCwgZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVN5c3RlbSA9IHRoaXMudGxkU3lzdGVtLmdldEFjdGl2ZVN5c3RlbU9iaigpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3MgPSByZXNwb25zZS50cmFuc2xhdGlvblN0YXR1c3M7XHJcbiAgICAgICAgICB0cmFuc2xhdGlvbkZpbGUuc291cmNlRG93bmxvYWRBdmFpbGFibGUgPSByZXNwb25zZS5zb3VyY2VEb3dubG9hZEF2YWlsYWJsZTtcclxuICAgICAgICAgIHRyYW5zbGF0aW9uRmlsZS5wcm9ncmVzcyA9IHJlc3BvbnNlLnByb2dyZXNzO1xyXG4gICAgICAgICAgdHJhbnNsYXRpb25GaWxlLmF2YWlsYWJsZUV4dGVuc2lvbnMgPSByZXNwb25zZS5leHRlbnNpb25zO1xyXG4gICAgICAgICAgaWYgKHRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3MgPT0gVHJhbnNsYXRpb25TdGF0dXNzLkVSUk9SKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVycm9yOiBJVGxkRXJyb3IgPSB7XHJcbiAgICAgICAgICAgICAgRXJyb3JDb2RlOlxyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2Uuc3Vic3RhdHVzID8/IEVycm9yQ29kZS5FX0ZBSUxFRF9JTl9UUkFOU0xBVElPTixcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy5maWxlQXBpRXJyb3IodHJhbnNsYXRpb25GaWxlLCBlcnJvcik7XHJcbiAgICAgICAgICAgIC8vdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3MgPT09IGZpbmlzaGVkU3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlZENvdW50ICs9IDE7XHJcbiAgICAgICAgICAgIC8vdHJhbnNsYXRpb25GaWxlLm5hbWUgPSByZXNwb25zZS5uYW1lO1xyXG4gICAgICAgICAgICB0cmFuc2xhdGlvbkZpbGUuZG93bmxvYWRBdmFpbGFibGUgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlRmlsZVVwbG9hZEFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlZERvY1ByZXZpZXcodHJhbnNsYXRpb25GaWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL3RyYW5zbGF0aW9uRmlsZS5hdmFpbGFibGVFeHRlbnNpb25zID0gdGhpcy5nZXRFeHRlbnNpb25BcnJheShyZXNwb25zZS50cmFuc2xhdGlvbnMsIHRyYW5zbGF0aW9uRmlsZS5uYW1lKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCB0aW1lb3V0ID0gdGhpcy5fZGVmYXVsdFN0YXR1c0NoZWNrVGltZW91dDtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmZpbGVDb25maWcuZmlsZURvd25sb2FkVGltZW91dHMgJiYgdGhpcy5jb25maWcuZmlsZUNvbmZpZy5maWxlRG93bmxvYWRUaW1lb3V0c1t0cmFuc2xhdGlvbkZpbGUudHJhbnNsYXRpb25TdGF0dXNzXSkge1xyXG4gICAgICAgICAgICAgIHRpbWVvdXQgPSB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLmZpbGVEb3dubG9hZFRpbWVvdXRzW3RyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3NdO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3N0YXR1c1RpbWVvdXRzICYmIHRoaXMuX3N0YXR1c1RpbWVvdXRzW3RyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3NdKSB7XHJcbiAgICAgICAgICAgICAgdGltZW91dCA9IHRoaXMuX3N0YXR1c1RpbWVvdXRzW3RyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3NdO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoIXRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGluZykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLmNoZWNrVHJhbnNsYXRpb25Qcm9ncmVzcyh0cmFuc2xhdGlvbkZpbGUpO1xyXG4gICAgICAgICAgICB9LCB0aW1lb3V0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3MgPSBUcmFuc2xhdGlvblN0YXR1c3MuRVJST1I7XHJcbiAgICAgICAgICB0aGlzLm9uVHJhbnNsYXRpb25GaWxlRXJyb3IodHJhbnNsYXRpb25GaWxlLCBlcnJvcik7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRmlsZVByZXZpZXdMb2FkKGRhdGE6IElTb3VyY2VGaWxlUHJldmlld1Jlc3BvbnNlLCB0cmFuc2xhdGlvbkZpbGU6IElUcmFuc2xhdGlvbkZpbGUpIHtcclxuICAgIHRyYW5zbGF0aW9uRmlsZS5pc0ZpbGVQcmV2aWV3TG9hZGVkID0gZGF0YS5pc0ZpbGVQcmV2aWV3TG9hZGVkO1xyXG4gICAgdHJhbnNsYXRpb25GaWxlLnRtcE5hbWUgPSBkYXRhLnRtcE5hbWU7XHJcbiAgICB0cmFuc2xhdGlvbkZpbGUuc291cmNlUHJldmlld0hhc0h0bWwgPSBkYXRhLnNvdXJjZVByZXZpZXdIYXNIdG1sO1xyXG4gICAgdHJhbnNsYXRpb25GaWxlLnNvdXJjZVByZXZpZXcgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChkYXRhLnNvdXJjZVByZXZpZXcpO1xyXG4gICAgdHJhbnNsYXRpb25GaWxlLmZpbGVQcmV2aWV3UHJvZ3Jlc3MgPSBkYXRhLnBlcmNlbnREb25lO1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdHJhbnNsYXRlZERvY1ByZXZpZXcodHJhbnNsYXRpb25GaWxlOiBJVHJhbnNsYXRpb25GaWxlKSB7XHJcbiAgICAvLyBzaG93IHByZXZpZXcgZm9yIG9yaWdpbmFsIGV4dGVuc2lvbiBpZiBleGlzdHMsIGlmIG5vdCwgdGhlbiBwcmV2aWV3IGZvciBkb2N4LCBpZiBub3QgdGhlbiB0cnkgd2l0aCBvcmlnaW5hbCBmaWxlbmFtZS5cclxuICAgIGNvbnN0IGZpbGVOYW1lID0gdHJhbnNsYXRpb25GaWxlLmF2YWlsYWJsZUV4dGVuc2lvbnMuZmluZChleHQgPT4gZXh0LmV4dGVuc2lvbiA9PT0gRmlsZUV4dGVuc2lvbnMuRE9DWCk/LmZpbGVOYW1lXHJcbiAgICAgID8/IHRyYW5zbGF0aW9uRmlsZS5vcmlnaW5hbEZpbGVOYW1lO1xyXG4gICAgY29uc3QgcGFyYW1zOiBJVHJhbnNsYXRlZERvY3VtZW50UHJldmlld1BhcmFtcyA9IHtcclxuICAgICAgZmlsZU5hbWU6IGZpbGVOYW1lLFxyXG4gICAgICB0cmFuc2xhdGlvbkRvY0lkOiB0cmFuc2xhdGlvbkZpbGUuaWRcclxuICAgIH07XHJcbiAgICB0aGlzLmZpbGVBcGkudHJhbnNsYXRlZERvY3VtZW50UHJldmlldyhwYXJhbXMpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiB7IHN1Y2Nlc3M6IGJvb2xlYW4sIGVycm9yPzogc3RyaW5nLCBzdGF0dXM6IHN0cmluZywgcHJldmlldzogc3RyaW5nIH0pID0+IHtcclxuICAgICAgICB0cmFuc2xhdGlvbkZpbGUudHJhbnNsYXRpbmcgPSBmYWxzZTtcclxuICAgICAgICBpZiAoIXJlc3BvbnNlLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IocmVzcG9uc2UuZXJyb3IpO1xyXG4gICAgICAgICAgdGhpcy5hbGVydHMudW5oYW5kZWxlZEVycm9yKHJlc3BvbnNlLmVycm9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChyZXNwb25zZS5wcmV2aWV3KSB7XHJcbiAgICAgICAgICB0cmFuc2xhdGlvbkZpbGUudHJhbnNsYXRlZFByZXZpZXcgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChyZXNwb25zZS5wcmV2aWV3KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0cmFuc2xhdGlvbkZpbGUudHJhbnNsYXRlZFByZXZpZXcgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmlsZUFwaUVycm9yKHRyYW5zbGF0aW9uRmlsZTogSVRyYW5zbGF0aW9uRmlsZSwgZXJyb3I6IGFueSkge1xyXG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICB0cmFuc2xhdGlvbkZpbGUudHJhbnNsYXRpbmcgPSBmYWxzZTtcclxuICAgIHRyYW5zbGF0aW9uRmlsZS50cmFuc2xhdGlvblN0YXR1c3MgPSBUcmFuc2xhdGlvblN0YXR1c3MuRVJST1I7XHJcbiAgICB0aGlzLm9uVHJhbnNsYXRpb25GaWxlRXJyb3IodHJhbnNsYXRpb25GaWxlLCBlcnJvcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbGVQcmV2aWV3QWxlcnRzKGlzUGRmOiBib29sZWFuLCB3b3JkQ291bnQ6IG51bWJlcikge1xyXG4gICAgY29uc3QgbWF4V29yZENvdW50ID0gdGhpcy5jb25maWcuZmlsZUNvbmZpZy53b3JkTGltaXQ7XHJcbiAgICBjb25zdCBhbGVydFBhcmFtcyA9IHtcclxuICAgICAgcmVnaXN0ZXJMaW5rOiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLnJlZ2lzdGVyTGluayxcclxuICAgICAgd29yZENvdW50OiBtYXhXb3JkQ291bnQsXHJcbiAgICAgIGFwcE5hbWU6IHRoaXMuY29uZmlnLmNvcmVDb25maWcuYXBwTmFtZVxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLmNvbmZpZy5maWxlQ29uZmlnLnNob3dUcmFuc2xhdGlvbkxpbWl0cykge1xyXG4gICAgICBpZiAoaXNQZGYgJiYgdGhpcy5jb25maWcuZmlsZUNvbmZpZy5vY3JQYWdlTGltaXQpIHtcclxuICAgICAgICB0aGlzLmFsZXJ0cy53YXJuaW5nKFwiVExEX1RSQU5TTEFURS5QREZfUEFHRV9MSU1JVF9NU0dcIiwgYWxlcnRQYXJhbXMpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh3b3JkQ291bnQgJiYgbWF4V29yZENvdW50ICYmIHdvcmRDb3VudCA+IG1heFdvcmRDb3VudCkge1xyXG4gICAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoXCJUTERfVFJBTlNMQVRFLkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dcIiwgYWxlcnRQYXJhbXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRXJyb3IoZXJyb3I6IGFueSwgdHJhbnNsYXRpb25GaWxlOiBJVHJhbnNsYXRpb25GaWxlKSB7XHJcbiAgICBpZiAodHJhbnNsYXRpb25GaWxlKSB7XHJcbiAgICAgIHRyYW5zbGF0aW9uRmlsZS5pc0Rvd25sb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZXJyb3JGb3JNZXNzYWdlID0gZXJyb3Iuc3RhdHVzID09PSA0MDQgPyB7IEVycm9yQ29kZTogdGhpcy5ub3RGb3VuZEVycm9yQ29kZSB9IDogZXJyb3I7XHJcbiAgICB0aGlzLm9uVHJhbnNsYXRpb25GaWxlRXJyb3IodHJhbnNsYXRpb25GaWxlLCBlcnJvckZvck1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWxlVXBsb2FkZWQoZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgZmlsZUl4ID0gdGhpcy5maWxlc1VwbG9hZGluZy5pbmRleE9mKGZpbGVOYW1lKTtcclxuICAgIGlmIChmaWxlSXggPj0gMCkge1xyXG4gICAgICB0aGlzLmZpbGVzVXBsb2FkaW5nLnNwbGljZShmaWxlSXgsIDEpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmlsZXNVcGxvYWRpbmcubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuX29uRmlsZXNVcGxvYWRlZC5uZXh0KG51bGwpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhc0FueUltYWdlT3JQZGYoKSB7XHJcbiAgICBsZXQgYW55SW1hZ2UgPSBmYWxzZTtcclxuICAgIGxldCBhbnlQZGYgPSBmYWxzZTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50cmFuc2xhdGlvbkZpbGVzLmxlbmd0aCAmJiAhKGFueVBkZiAmJiBhbnlJbWFnZSk7IGkrKykge1xyXG4gICAgICBjb25zdCBmaWxlID0gdGhpcy50cmFuc2xhdGlvbkZpbGVzW2ldO1xyXG4gICAgICBpZiAoZmlsZS5maWxlVHlwZSA9PT0gRmlsZUNvbnZlcnNpb25UeXBlcy5JTUFHRSkge1xyXG4gICAgICAgIGFueUltYWdlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChmaWxlLmZpbGVUeXBlID09PSBGaWxlQ29udmVyc2lvblR5cGVzLlBERikge1xyXG4gICAgICAgIGFueVBkZiA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFueUltYWdlRmlsZUxvYWRlZCA9IGFueUltYWdlO1xyXG4gICAgdGhpcy5hbnlQZGZGaWxlTG9hZGVkID0gYW55UGRmO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhclBhcmFtcygpIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb25TdGFydGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uRmlsZXMgPSBbXTtcclxuICAgIHRoaXMuYW55UGRmRmlsZUxvYWRlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5hbnlJbWFnZUZpbGVMb2FkZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZmlsZU5hbWVzID0gW107XHJcbiAgICB0aGlzLnRyYW5zbGF0ZWRDb3VudCA9IDA7XHJcbiAgICB0aGlzLmZpbGVzVXBsb2FkaW5nID0gW107XHJcbiAgICB0aGlzLl9vbkNsZWFyLm5leHQobnVsbClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25UcmFuc2xhdGlvbkZpbGVFcnJvcih0cmFuc2xhdGlvbkZpbGU6IElUcmFuc2xhdGlvbkZpbGUsIGVycm9yOiBhbnkpIHtcclxuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmFsZXJ0cy5maW5kRXJyb3JUaXRsZUFuZExvY2FsaXphdGlvbktleShlcnJvcik7XHJcbiAgICBjb25zdCBvcmlnaW5hbEZpbGVOYW1lID0gdHJhbnNsYXRpb25GaWxlLm9yaWdpbmFsRmlsZU5hbWU7XHJcbiAgICBjb25zdCBpbmxpbmVNZXNzYWdlOiBJbmxpbmVNZXNzYWdlID0ge1xyXG4gICAgICB0aXRsZTogbWVzc2FnZS50aXRsZSxcclxuICAgICAgZGVzY3JpcHRpb246IG1lc3NhZ2UuZGVzY3JpcHRpb24sXHJcbiAgICAgIHR5cGU6IElubGluZU1lc3NhZ2VUeXBlLkVSUk9SLFxyXG4gICAgICBsb2NhbGl6YXRpb25QYXJhbXM6IHsgZmlsZU5hbWU6IG9yaWdpbmFsRmlsZU5hbWUsIC4uLnRoaXMuYWxlcnRzLmRlZmF1bHRQYXJhbXMgfVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoIXRoaXMubXVsdGlwbGVGaWxlVXBsb2FkQWN0aXZlKSB7XHJcbiAgICAgIHRoaXMuYWxlcnRzLmVycm9yKG1lc3NhZ2UuZGVzY3JpcHRpb24sIG1lc3NhZ2UudGl0bGUsIHsgZmlsZU5hbWU6IG9yaWdpbmFsRmlsZU5hbWUgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtZXNzYWdlU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoaW5saW5lTWVzc2FnZSk7XHJcbiAgICBpZiAoIXRyYW5zbGF0aW9uRmlsZS5tZXNzYWdlcy5zb21lKG1zZyA9PiBKU09OLnN0cmluZ2lmeShtc2cpID09PSBtZXNzYWdlU3RyaW5nKSkge1xyXG4gICAgICB0cmFuc2xhdGlvbkZpbGUubWVzc2FnZXMucHVzaChpbmxpbmVNZXNzYWdlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -46,10 +46,10 @@ export class MtTermV2Service {
|
|
|
46
46
|
convertToCombinedCollection(collection) {
|
|
47
47
|
const convertedMtCollection = {
|
|
48
48
|
id: collection.id,
|
|
49
|
-
lastUpdated:
|
|
49
|
+
lastUpdated: collection.externalCollection.updatedAt,
|
|
50
50
|
name: collection.name,
|
|
51
51
|
status: collection.status,
|
|
52
|
-
termId: collection.
|
|
52
|
+
termId: collection.externalCollection.id,
|
|
53
53
|
default: collection.default,
|
|
54
54
|
scope: collection.scope
|
|
55
55
|
};
|
|
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
64
64
|
providedIn: 'root'
|
|
65
65
|
}]
|
|
66
66
|
}], ctorParameters: function () { return [{ type: i1.TldTranslateConfigService }, { type: i2.EningeTermApiService }]; } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXQtdGVybS12Mi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRlcm0vc2VydmljZXMvYXBpLXYyL210LXRlcm0tdjIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFNdkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7QUFPekUsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFDbUIsTUFBaUMsRUFDakMsYUFBbUM7UUFEbkMsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUFDakMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBSnRELFlBQU8sR0FBVyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFJRyxDQUFDO0lBRTNELEdBQUcsQ0FBQyxRQUFnQixFQUFFLFVBQThCO1FBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFO1lBQzVCLE1BQU0sTUFBTSxHQUFnQztnQkFDMUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxNQUFNO2dCQUMvQixPQUFPLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPO2dCQUNyQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsTUFBTTtnQkFDbkMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSzthQUNsQyxDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO2lCQUM1QyxJQUFJLENBQ0gsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQ2hFLENBQUM7U0FDTDthQUFNO1lBQ0wsTUFBTSxNQUFNLEdBQW1DO2dCQUM3QyxPQUFPLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPO2dCQUNyQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLO2FBQ2xDLENBQUE7WUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUM7aUJBQzNFLElBQUksQ0FDSCxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDaEUsQ0FBQztTQUNMO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQzthQUN4QyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxTQUFTLEdBQXlCLEVBQUUsQ0FBQztZQUMzQyxXQUFXLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUNuRCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO1lBQzlELENBQUMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBZ0IsRUFBRSxVQUE4QjtRQUNyRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDekUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQ2hFLENBQUM7SUFDSixDQUFDO0lBRU8sMkJBQTJCLENBQUMsVUFBZ0M7UUFDbEUsTUFBTSxxQkFBcUIsR0FBaUI7WUFDMUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxFQUFFO1lBQ2pCLFdBQVcsRUFBRSxVQUFVLENBQUMsa0JBQWtCLENBQUMsU0FBUztZQUNwRCxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7WUFDckIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFhO1lBQ2hDLE1BQU0sRUFBRSxVQUFVLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUN4QyxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87WUFDM0IsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLO1NBQ3hCLENBQUM7UUFDRixPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDN0QsQ0FBQzs7NEdBN0RVLGVBQWU7Z0hBQWYsZUFBZSxjQUZkLE1BQU07MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEVuaW5nZVRlcm1BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vZW5naW5lLXRlcm0vZW5pbmdlLXRlcm0tYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVcGRhdGVFbmdpbmVUZXJtc1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi9lbmdpbmUtdGVybS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBBZGRFbmdpbmVUZXJtc1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi9lbmdpbmUtdGVybS9tb2RlbHMvYWRkLWVuZ2luZS10ZXJtcy1yZXF1ZXN0LXBhcmFtcy5tb2RlbCc7XHJcbmltcG9ydCB7IEVuZ2luZVRlcm1Db2xsZWN0aW9uIH0gZnJvbSAnLi4vZW5naW5lLXRlcm0vbW9kZWxzL2VuZ2luZS10ZXJtLWNvbGxlY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBDb21iaW5lZENvbGxlY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvY29tYmluZWQtY29sbGVjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE10Q29sbGVjdGlvbiB9IGZyb20gJy4uL21vZGVscy9tdC1jb2xsZWN0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgSU10VGVybVNlcnZpY2UgfSBmcm9tICcuLi9tb2RlbHMvbXQtdGVybS1zZXJ2aWNlLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE10VGVybVYyU2VydmljZSBpbXBsZW1lbnRzIElNdFRlcm1TZXJ2aWNlIHtcclxuICBiYXNlVXJsOiBzdHJpbmcgPSB0aGlzLmNvbmZpZy50ZXJtQ29uZmlnLmVuZ2luZVRlcm1Vcmw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZVRlcm1BcGk6IEVuaW5nZVRlcm1BcGlTZXJ2aWNlKSB7IH1cclxuXHJcbiAgYWRkKGVuZ2luZUlkOiBzdHJpbmcsIGNvbGxlY3Rpb246IENvbWJpbmVkQ29sbGVjdGlvbik6IE9ic2VydmFibGU8Q29tYmluZWRDb2xsZWN0aW9uPiB7XHJcbiAgICBpZiAoIWNvbGxlY3Rpb24ubXRDb2xsZWN0aW9uKSB7XHJcbiAgICAgIGNvbnN0IHBhcmFtczogQWRkRW5naW5lVGVybXNSZXF1ZXN0UGFyYW1zID0ge1xyXG4gICAgICAgIGNvbGxlY3Rpb25JZDogY29sbGVjdGlvbi50ZXJtSWQsXHJcbiAgICAgICAgZGVmYXVsdDogY29sbGVjdGlvbi5lZGl0YWJsZXMuZGVmYXVsdCxcclxuICAgICAgICBjb2xsZWN0aW9uU291cmNlOiBjb2xsZWN0aW9uLnNvdXJjZSxcclxuICAgICAgICBzY29wZTogY29sbGVjdGlvbi5lZGl0YWJsZXMuc2NvcGVcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIHRoaXMuZW5naW5lVGVybUFwaS5hZGQoZW5naW5lSWQsIHBhcmFtcylcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIG1hcChjb2xsZWN0aW9uID0+IHRoaXMuY29udmVydFRvQ29tYmluZWRDb2xsZWN0aW9uKGNvbGxlY3Rpb24pKVxyXG4gICAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBwYXJhbXM6IFVwZGF0ZUVuZ2luZVRlcm1zUmVxdWVzdFBhcmFtcyA9IHtcclxuICAgICAgICBkZWZhdWx0OiBjb2xsZWN0aW9uLmVkaXRhYmxlcy5kZWZhdWx0LFxyXG4gICAgICAgIHNjb3BlOiBjb2xsZWN0aW9uLmVkaXRhYmxlcy5zY29wZVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmVuZ2luZVRlcm1BcGkudXBkYXRlKGVuZ2luZUlkLCBjb2xsZWN0aW9uLm10Q29sbGVjdGlvbi5pZCwgcGFyYW1zKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgbWFwKGNvbGxlY3Rpb24gPT4gdGhpcy5jb252ZXJ0VG9Db21iaW5lZENvbGxlY3Rpb24oY29sbGVjdGlvbikpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldExpc3QoZW5naW5lSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q29tYmluZWRDb2xsZWN0aW9uW10+IHtcclxuICAgIHJldHVybiB0aGlzLmVuZ2luZVRlcm1BcGkuZ2V0TGlzdChlbmdpbmVJZClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChjb2xsZWN0aW9ucykgPT4ge1xyXG4gICAgICAgICAgY29uc3QgY29udmVydGVkOiBDb21iaW5lZENvbGxlY3Rpb25bXSA9IFtdO1xyXG4gICAgICAgICAgY29sbGVjdGlvbnM/LnRlcm1Db2xsZWN0aW9ucz8uZm9yRWFjaCgoY29sbGVjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICBjb252ZXJ0ZWQucHVzaCh0aGlzLmNvbnZlcnRUb0NvbWJpbmVkQ29sbGVjdGlvbihjb2xsZWN0aW9uKSlcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICByZXR1cm4gY29udmVydGVkO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICByZW1vdmUoZW5naW5lSWQ6IHN0cmluZywgY29sbGVjdGlvbjogQ29tYmluZWRDb2xsZWN0aW9uKTogT2JzZXJ2YWJsZTxDb21iaW5lZENvbGxlY3Rpb24+IHtcclxuICAgIHJldHVybiB0aGlzLmVuZ2luZVRlcm1BcGkucmVtb3ZlKGVuZ2luZUlkLCBjb2xsZWN0aW9uLm10Q29sbGVjdGlvbi5pZCkucGlwZShcclxuICAgICAgbWFwKGNvbGxlY3Rpb24gPT4gdGhpcy5jb252ZXJ0VG9Db21iaW5lZENvbGxlY3Rpb24oY29sbGVjdGlvbikpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0VG9Db21iaW5lZENvbGxlY3Rpb24oY29sbGVjdGlvbjogRW5naW5lVGVybUNvbGxlY3Rpb24pOiBDb21iaW5lZENvbGxlY3Rpb24ge1xyXG4gICAgY29uc3QgY29udmVydGVkTXRDb2xsZWN0aW9uOiBNdENvbGxlY3Rpb24gPSB7XHJcbiAgICAgIGlkOiBjb2xsZWN0aW9uLmlkLFxyXG4gICAgICBsYXN0VXBkYXRlZDogY29sbGVjdGlvbi5leHRlcm5hbENvbGxlY3Rpb24udXBkYXRlZEF0LFxyXG4gICAgICBuYW1lOiBjb2xsZWN0aW9uLm5hbWUsXHJcbiAgICAgIHN0YXR1czogY29sbGVjdGlvbi5zdGF0dXMgYXMgYW55LFxyXG4gICAgICB0ZXJtSWQ6IGNvbGxlY3Rpb24uZXh0ZXJuYWxDb2xsZWN0aW9uLmlkLFxyXG4gICAgICBkZWZhdWx0OiBjb2xsZWN0aW9uLmRlZmF1bHQsXHJcbiAgICAgIHNjb3BlOiBjb2xsZWN0aW9uLnNjb3BlXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIG5ldyBDb21iaW5lZENvbGxlY3Rpb24obnVsbCwgY29udmVydGVkTXRDb2xsZWN0aW9uKTtcclxuICB9XHJcbn1cclxuIl19
|
package/esm2020/lib/modules/tld-term/services/engine-term/models/engine-term-collection.model.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLXRlcm0tY29sbGVjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXJtL3NlcnZpY2VzL2VuZ2luZS10ZXJtL21vZGVscy9lbmdpbmUtdGVybS1jb2xsZWN0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmdpbmVUZXJtQ29sbGVjdGlvblNjb3BlIH0gZnJvbSBcIi4vZW5naW5lLXRlcm0tY29sbGVjdGlvbi1zY29wZS5lbnVtXCI7XHJcbmltcG9ydCB7IEVuZ2luZVRlcm1Db2xsZWN0aW9uU291cmNlIH0gZnJvbSBcIi4vZW5naW5lLXRlcm0tY29sbGVjdGlvbi1zb3VyY2UuZW51bVwiO1xyXG5pbXBvcnQgeyBFbmdpbmVUZXJtQ29sbGVjdGlvblN0YXR1cyB9IGZyb20gXCIuL2VuZ2luZS10ZXJtLWNvbGxlY3Rpb24tc3RhdHVzLmVudW1cIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW5naW5lVGVybUNvbGxlY3Rpb24ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgZXh0ZXJuYWxDb2xsZWN0aW9uOiB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgdXBkYXRlZEF0OiBEYXRlO1xyXG4gIH1cclxuICBzY29wZTogRW5naW5lVGVybUNvbGxlY3Rpb25TY29wZTtcclxuICBkZWZhdWx0OiBib29sZWFuO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBzdGF0dXM6IEVuZ2luZVRlcm1Db2xsZWN0aW9uU3RhdHVzO1xyXG4gIHByb2dyZXNzOiBudW1iZXI7XHJcbiAgY29sbGVjdGlvblNvdXJjZTogRW5naW5lVGVybUNvbGxlY3Rpb25Tb3VyY2U7XHJcbn1cclxuIl19
|
|
@@ -153,7 +153,7 @@ export class CombinedCollection {
|
|
|
153
153
|
if (termModified && lastMtUpdated) {
|
|
154
154
|
isSynchronized = termModified < lastMtUpdated;
|
|
155
155
|
}
|
|
156
|
-
this.lastUpdated =
|
|
156
|
+
this.lastUpdated = lastMtUpdated ?? termModified;
|
|
157
157
|
this._isSynchronized = isSynchronized;
|
|
158
158
|
}
|
|
159
159
|
updateSource() {
|
|
@@ -182,4 +182,4 @@ export class CombinedCollection {
|
|
|
182
182
|
}
|
|
183
183
|
//#region Static properties
|
|
184
184
|
CombinedCollection.importingStatuses = [MtCollectionStatus.FETCHING, MtCollectionStatus.PREPROCESSING, MtCollectionStatus.PROCESSING, MtCollectionStatus.QUEUING];
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtY29sbGVjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXJtL3NlcnZpY2VzL21vZGVscy9jb21iaW5lZC1jb2xsZWN0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2pFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQWlIN0IsWUFBWTtJQUVaLFlBQVksaUJBQXFDLEVBQUUsWUFBMEI7UUFqRjdFLFlBQVk7UUFFWixxQ0FBcUM7UUFDckMsY0FBUyxHQUdMLEVBQUUsQ0FBQztRQUNQLFlBQVk7UUFFWixtQ0FBbUM7UUFDbkMsZ0pBQWdKO1FBQ2hKLDBGQUEwRjtRQUVsRixvQkFBZSxHQUFZLElBQUksQ0FBQztRQXFFdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUExR0QsTUFBTSxDQUFDLDhCQUE4QixDQUFDLFdBQXlDLEVBQUUsVUFBOEI7UUFDN0csS0FBSyxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUU7WUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUNqRCxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEdBQUcsQ0FB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R0FBRyxZQUFZLElBQUksYUFBYSxDQUFDO1FBQ2pELElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLDBCQUEwQixDQUFDLFVBQVUsQ0FBQztTQUNyRDthQUNJLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLDBCQUEwQixDQUFDLElBQUksQ0FBQztTQUMvQztJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsS0FBSyxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLGNBQWMsR0FBRyw0QkFBNEIsQ0FBQyxVQUFVLENBQUM7U0FDL0Q7YUFDSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyw0QkFBNEIsQ0FBQyxTQUFTLENBQUM7U0FDOUQ7YUFDSTtZQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLElBQUkseUJBQXlCLENBQUMsTUFBTSxDQUFDO0lBQ3RGLENBQUM7O0FBOU1ELDJCQUEyQjtBQUNwQixvQ0FBaUIsR0FBRyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5naW5lVGVybUNvbGxlY3Rpb25TY29wZSwgRW5naW5lVGVybUNvbGxlY3Rpb25Tb3VyY2UgfSBmcm9tIFwiLi4vZW5naW5lLXRlcm0vbW9kZWxzXCI7XHJcbmltcG9ydCB7IElUbGRUZXJtQ29sbGVjdGlvbiB9IGZyb20gXCIuLi90ZXJtLWFwaS9tb2RlbHMvdGxkLXRlcm0tY29sbGVjdGlvbi5tb2RlbFwiO1xyXG5pbXBvcnQgeyBDb21iaW5lZENvbGxlY3Rpb25Ub29sdGlwS2V5IH0gZnJvbSBcIi4vY29tYmluZWQtY29sbGVjdGlvbi10b29sdGlwLWtleS5lbnVtXCI7XHJcbmltcG9ydCB7IE10Q29sbGVjdGlvblN0YXR1cyB9IGZyb20gXCIuL210LWNvbGxlY3Rpb24tc3RhdHVzLmVudW1cIjtcclxuaW1wb3J0IHsgTXRDb2xsZWN0aW9uIH0gZnJvbSBcIi4vbXQtY29sbGVjdGlvbi5tb2RlbFwiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzIHRoYXQgam9pbnMgY29sbGVjdGlvbiBmcm9tIHRlcm0gYXBpIGFuZCBpdHMgaW1wb3J0ZWQgY29sbGVjdGlvbiBmcm9tIE1UIGFwaS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb21iaW5lZENvbGxlY3Rpb24ge1xyXG4gIG10Q29sbGVjdGlvbjogTXRDb2xsZWN0aW9uO1xyXG4gIHRlcm1Db2xsZWN0aW9uOiBJVGxkVGVybUNvbGxlY3Rpb247XHJcbiAgdGVybVRvb2x0aXBLZXk6IENvbWJpbmVkQ29sbGVjdGlvblRvb2x0aXBLZXk7XHJcbiAgc291cmNlOiBFbmdpbmVUZXJtQ29sbGVjdGlvblNvdXJjZTtcclxuICAvKipcclxuICAgKiBNb2RpZmllZCBkYXRlIGZyb20gdGVybSBhcGkgb3IgbGFzdCB1cGRhdGVkIGZyb20gbXQgYXBpLlxyXG4gICAqL1xyXG4gIGxhc3RVcGRhdGVkOiBEYXRlO1xyXG5cclxuICAvLyNyZWdpb24gU3RhdGljIHByb3BlcnRpZXNcclxuICBzdGF0aWMgaW1wb3J0aW5nU3RhdHVzZXMgPSBbTXRDb2xsZWN0aW9uU3RhdHVzLkZFVENISU5HLCBNdENvbGxlY3Rpb25TdGF0dXMuUFJFUFJPQ0VTU0lORywgTXRDb2xsZWN0aW9uU3RhdHVzLlBST0NFU1NJTkcsIE10Q29sbGVjdGlvblN0YXR1cy5RVUVVSU5HXTtcclxuXHJcbiAgc3RhdGljIGZpbmRFeGlzdGluZ0NvbGxlY3Rpb25Gcm9tTGlzdChjb2xsZWN0aW9uczogSXRlcmFibGU8Q29tYmluZWRDb2xsZWN0aW9uPiwgY29sbGVjdGlvbjogQ29tYmluZWRDb2xsZWN0aW9uKSB7XHJcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBjb2xsZWN0aW9ucykge1xyXG4gICAgICBpZiAoKGNvbC50ZXJtSWQgJiYgY29sLnRlcm1JZCA9PSBjb2xsZWN0aW9uLnRlcm1JZCkgfHxcclxuICAgICAgICAoY29sLm10Q29sbGVjdGlvbj8uaWQgJiYgY29sLm10Q29sbGVjdGlvbi5pZCA9PSBjb2xsZWN0aW9uLm10Q29sbGVjdGlvbj8uaWQpKSB7XHJcbiAgICAgICAgcmV0dXJuIGNvbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZmluZEV4aXN0aW5nSW5kZXhGcm9tTGlzdChjb2xsZWN0aW9uczogSXRlcmFibGU8Q29tYmluZWRDb2xsZWN0aW9uPiwgY29sbGVjdGlvbjogQ29tYmluZWRDb2xsZWN0aW9uKTogbnVtYmVyIHtcclxuICAgIGxldCBpID0gMDtcclxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbGxlY3Rpb25zKSB7XHJcbiAgICAgIGlmICgoY29sLnRlcm1JZCAmJiBjb2wudGVybUlkID09IGNvbGxlY3Rpb24udGVybUlkKSB8fFxyXG4gICAgICAgIChjb2wubXRDb2xsZWN0aW9uPy5pZCAmJiBjb2wubXRDb2xsZWN0aW9uLmlkID09IGNvbGxlY3Rpb24ubXRDb2xsZWN0aW9uPy5pZCkpIHtcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgICAgfVxyXG4gICAgICBpICs9IDE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiBFZGl0YWJsZSBNVCAoYXBpIHYyKSBmaWVsZHNcclxuICBlZGl0YWJsZXM6IHtcclxuICAgIGRlZmF1bHQ/OiBib29sZWFuO1xyXG4gICAgc2NvcGU/OiBFbmdpbmVUZXJtQ29sbGVjdGlvblNjb3BlO1xyXG4gIH0gPSB7fTtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8jcmVnaW9uIEdldHRlcnMgZm9yIGNvbW1vbiBmaWVsZHNcclxuICAvLyBJdCBpcyBwb3NzaWJsZSB0byBvcHRpbWl6ZSBnZXR0ZXJzLCBieSBzZXR0aW5nIHNvbWUgb2YgdGhlIHZhbHVlcyBpbiB1cGRhdGUgbWV0aG9kLCBidXQgaXQgaXMgbGVmdCB0aGlzIHdheSwgc28gdGhhdCBkYXRhIGlzIG1vcmUgY29uc2lzdGVudC5cclxuICAvLyBPdGhlcndpc2UgaXQgbWlnaHQgYmUgZWFzeSB0byBtaXNzIHNvbWUgcHJvcGVydHkgdXBkYXRpbmcgYW5kIGdldCB3cm9uZyBkYXRhIGluIGZ1dHVyZS5cclxuXHJcbiAgcHJpdmF0ZSBfaXNTeW5jaHJvbml6ZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIFdlYXRoZXIgY29sbGVjdGlvbiBpcyBzeW5jaHJvbml6ZWQgd2l0aCB0ZXJtIHBvcnRhbCBjb2xsZWN0aW9uLiBJZiBubyB0ZXJtIGNvbGxlY3Rpb24sIHZhbHVlIGlzIHNldCB0byB0cnVlLlxyXG4gICAqL1xyXG4gIGdldCBpc1N5bmNocm9uaXplZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9pc1N5bmNocm9uaXplZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVybWluZXMgaWYgY29sbGVjdGlvbnMgaXMgJ3N5bmNhYmxlJy4gUmV0dXJucyB0cnVlIGlmIGl0IGlzIG5vdCBzeW5jZWQgb3IgaWYgc3luY2hyb25pemF0aW9uIGhhcyBmYWlsZWQgYW5kIHN0YXR1cyBpcyBlcnJvci5cclxuICAgKi9cclxuICBnZXQgc3luY0J1dHRvblZpc3NpYmxlKCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzU3luY2hyb25pemVkIHx8ICh0aGlzLnRlcm1Db2xsZWN0aW9uPy5tb2RpZnlEYXRlICYmIHRoaXMubXRTdGF0dXMgPT09IE10Q29sbGVjdGlvblN0YXR1cy5FUlJPUik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJZiBub3QgcmVhZHkgb3IgZXJyb3IsIHRoZW4gY29sbGVjdGlvbiBpcyBpbXBvcnRpbmcuXHJcbiAgICovXHJcbiAgZ2V0IGlzSW1wb3J0aW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubXRDb2xsZWN0aW9uICYmIENvbWJpbmVkQ29sbGVjdGlvbi5pbXBvcnRpbmdTdGF0dXNlcy5pbmNsdWRlcyh0aGlzLm10Q29sbGVjdGlvbj8uc3RhdHVzKTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBUZXJtIGNvbGxlY3Rpb24gaWQuIFJldHVybnMgdmFsdWUgZnJvbSB0ZXJtIGNvbGxlY3Rpb24gb3IgZnJvbSBtdCwgaWYgdGVybSBjb2xsZWN0aW9uIG5vdCBleGlzdGluZy5cclxuICAgKi9cclxuICBnZXQgdGVybUlkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGVybUNvbGxlY3Rpb24/LmlkID8/IHRoaXMubXRDb2xsZWN0aW9uPy50ZXJtSWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgbXRTdGF0dXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tdENvbGxlY3Rpb24/LnN0YXR1cztcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBDb2xsZWN0aW9uIG5hbWUuIElmIGhhcyB0ZXJtIGNvbGxlY3Rpb24sIHRha2VzIGZyb20gdGhlcmUuIElmIG5vdCwgdGhlbiByZXR1cm5zIG10IGNvbGxlY3Rpb24gbmFtZS5cclxuICAgKi9cclxuICBnZXQgbmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRlcm1Db2xsZWN0aW9uPy5uYW1lID8/IHRoaXMubXRDb2xsZWN0aW9uPy5uYW1lO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW50cnkgY291bnQgZnJvbSB0ZXJtIGFwaS5cclxuICAgKi9cclxuICBnZXQgdGVybUVudHJpZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXJtQ29sbGVjdGlvbj8uZW50cnlDb3VudDtcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubXRDb2xsZWN0aW9uPy5kZWZhdWx0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RhdHVzIGZyb20gbXQgYXBpIG9yIGN1c3RvbSBcIk5PVF9JTl9VU0VcIiBzdGF0dXMgaWYgbm90IGltcG9ydGVkIGluIG10LnNcclxuICAgKi9cclxuICBnZXQgc3RhdHVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubXRTdGF0dXMgPz8gTXRDb2xsZWN0aW9uU3RhdHVzLk5PVF9JTl9VU0U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTY29wZSBjYW4gYmUgZWRpdGVkIG9ubHkgaWYgaGFzIG10IGNvbGxjZXRpb24gb3IgdGVybSBjb2xsZWN0aW9uIGlzIGJlaW5nIHByZXBhcmVkIGZvciBpbXBvcnQuXHJcbiAgICovXHJcbiAgZ2V0IGNhbkVkaXRTY29wZSgpIHtcclxuICAgIHJldHVybiB0aGlzLm10Q29sbGVjdGlvbiB8fCB0aGlzLmVkaXRhYmxlcy5kZWZhdWx0O1xyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIGNvbnN0cnVjdG9yKHRlcm1BcGlDb2xsZWN0aW9uOiBJVGxkVGVybUNvbGxlY3Rpb24sIG10Q29sbGVjdGlvbjogTXRDb2xsZWN0aW9uKSB7XHJcbiAgICB0aGlzLm10Q29sbGVjdGlvbiA9IG10Q29sbGVjdGlvbjtcclxuICAgIHRoaXMudGVybUNvbGxlY3Rpb24gPSB0ZXJtQXBpQ29sbGVjdGlvbjtcclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBjb2xsZWN0aW9uIHdpdGggdmFsdWVzIGZyb20gbmV3IGNvbGxlY3Rpb24uXHJcbiAgICogQHBhcmFtIGNvbGxlY3Rpb24gY29sbGVjdGlvbiBmcm9tIHdoaWNoIHNob3VsZCBiZSB1cGRhdGVkLlxyXG4gICAqIEBwYXJhbSBpbml0aWFsUmVmcmVzaCBpZiBzZXQgdG8gdHJ1ZSwgZWRpdGFibGUgZmllbGRzIHdpbGwgYWxzbyBiZSB1cGRhdGVkLlxyXG4gICAqL1xyXG4gIHVwZGF0ZShjb2xsZWN0aW9uOiBDb21iaW5lZENvbGxlY3Rpb24sIGluaXRpYWxSZWZyZXNoID0gdHJ1ZSkge1xyXG4gICAgaWYgKGNvbGxlY3Rpb24/LnRlcm1Db2xsZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMudGVybUNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLnRlcm1Db2xsZWN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2xsZWN0aW9uPy5tdENvbGxlY3Rpb24pIHtcclxuICAgICAgdGhpcy5tdENvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLm10Q29sbGVjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaW5pdGlhbFJlZnJlc2gpIHtcclxuICAgICAgdGhpcy51cGRhdGVFZGl0YWJsZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVwZGF0ZUlzU3luY2hyb25pemVkKCk7XHJcbiAgICB0aGlzLnVwZGF0ZVRvb2x0aXBLZXkoKTtcclxuICAgIHRoaXMudXBkYXRlU291cmNlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJZiBzb21lIG9mIGVkaXRhYmxlcyBhcmUgZWRpdGVkLlxyXG4gICAqXHJcbiAgICogaWYgY29sbGVjdGlvbiBub3QgaW1wb3J0ZWQgYW5kIGVuYWJsZWQgbm90IHNldCwgbWV0aG9kIHdpbGwgcmV0dXJuIHRydWUsIGJlY2F1c2UgeW91IGNhbm5vdCB1cGRhdGUgY29sbGVjdGlvbiBpZiBpdCBpcyBub3QgaW1wb3J0ZWQgb3IgaXMgbm90IG1lYW50IHRvIGJlIGltcG9ydGVkLlxyXG4gICAqXHJcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBjb2xsZWN0aW9uIGlzIGVkaXRlZCwgZmFsc2UgaWYgbm90LlxyXG4gICAqL1xyXG4gIGlzRWRpdGVkKCkge1xyXG4gICAgLy8gaWYgY29sbGVjdGlvbiBub3QgaW1wb3J0ZWQgYW5kIGVuYWJsZWQgbm90IHNldCwgc2hvdWxkIG5vdCB1cGRhdGUgY29sbGVjdGlvbi5cclxuICAgIGlmICghdGhpcy5tdENvbGxlY3Rpb24gJiYgIXRoaXMuZWRpdGFibGVzLmRlZmF1bHQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoKHRoaXMubXRDb2xsZWN0aW9uPy5kZWZhdWx0ICE9PSB0aGlzLmVkaXRhYmxlcy5kZWZhdWx0KVxyXG4gICAgICB8fCAodGhpcy5tdENvbGxlY3Rpb24gJiYgdGhpcy5lZGl0YWJsZXMuc2NvcGUgIT09IHRoaXMubXRDb2xsZWN0aW9uLnNjb3BlKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZXMgdGVybSBjb2xsZWN0aW9uIGFuZCBpdHMgcHJvcGVydGllcy5cclxuICAgKi9cclxuICBkZWxldGVUZXJtcygpIHtcclxuICAgIHRoaXMudGVybUNvbGxlY3Rpb24gPSBudWxsO1xyXG4gICAgdGhpcy51cGRhdGUobnVsbCwgZmFsc2UpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZXMgbXQgY29sbGVjdGlvbiBhbmQgaXRzIHByb3BlcnRpZXMuXHJcbiAgICovXHJcbiAgZGVsZXRlTVQoKSB7XHJcbiAgICB0aGlzLm10Q29sbGVjdGlvbiA9IG51bGw7XHJcbiAgICB0aGlzLnVwZGF0ZShudWxsKTtcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBQcml2YXRlIG1ldGhvZHNcclxuICBwcml2YXRlIHVwZGF0ZUlzU3luY2hyb25pemVkKCkge1xyXG4gICAgbGV0IGlzU3luY2hyb25pemVkID0gdHJ1ZTtcclxuICAgIGNvbnN0IHRlcm1Nb2RpZmllZCA9IHRoaXMudGVybUNvbGxlY3Rpb24/Lm1vZGlmeURhdGU7XHJcbiAgICBjb25zdCBsYXN0TXRVcGRhdGVkID0gdGhpcy5tdENvbGxlY3Rpb24/Lmxhc3RVcGRhdGVkO1xyXG4gICAgaWYgKHRlcm1Nb2RpZmllZCAmJiBsYXN0TXRVcGRhdGVkKSB7XHJcbiAgICAgIGlzU3luY2hyb25pemVkID0gdGVybU1vZGlmaWVkIDwgbGFzdE10VXBkYXRlZDtcclxuICAgIH1cclxuICAgIHRoaXMubGFzdFVwZGF0ZWQgPSB0ZXJtTW9kaWZpZWQgPz8gbGFzdE10VXBkYXRlZDtcclxuICAgIHRoaXMuX2lzU3luY2hyb25pemVkID0gaXNTeW5jaHJvbml6ZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVNvdXJjZSgpIHtcclxuICAgIGlmICh0aGlzLnRlcm1Db2xsZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuc291cmNlID0gRW5naW5lVGVybUNvbGxlY3Rpb25Tb3VyY2UuVElMREVfVEVSTTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMubXRDb2xsZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuc291cmNlID0gRW5naW5lVGVybUNvbGxlY3Rpb25Tb3VyY2UuRklMRTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVG9vbHRpcEtleSgpIHtcclxuICAgIGlmICh0aGlzLnRlcm1Db2xsZWN0aW9uPy5lbnRyeUNvdW50ID09PSAwKSB7XHJcbiAgICAgIHRoaXMudGVybVRvb2x0aXBLZXkgPSBDb21iaW5lZENvbGxlY3Rpb25Ub29sdGlwS2V5Lk5PX0VOVFJJRVM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmlzSW1wb3J0aW5nKSB7XHJcbiAgICAgIHRoaXMudGVybVRvb2x0aXBLZXkgPSBDb21iaW5lZENvbGxlY3Rpb25Ub29sdGlwS2V5LklNUE9SVElORztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnRlcm1Ub29sdGlwS2V5ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlRWRpdGFibGVzKCkge1xyXG4gICAgdGhpcy5lZGl0YWJsZXMuZGVmYXVsdCA9IHRoaXMubXRDb2xsZWN0aW9uPy5kZWZhdWx0O1xyXG4gICAgdGhpcy5lZGl0YWJsZXMuc2NvcGUgPSB0aGlzLm10Q29sbGVjdGlvbj8uc2NvcGUgPz8gRW5naW5lVGVybUNvbGxlY3Rpb25TY29wZS5HTE9CQUw7XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG59XHJcbiJdfQ==
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtY29sbGVjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXJtL3NlcnZpY2VzL21vZGVscy9jb21iaW5lZC1jb2xsZWN0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2pFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQWlIN0IsWUFBWTtJQUVaLFlBQVksaUJBQXFDLEVBQUUsWUFBMEI7UUFqRjdFLFlBQVk7UUFFWixxQ0FBcUM7UUFDckMsY0FBUyxHQUdMLEVBQUUsQ0FBQztRQUNQLFlBQVk7UUFFWixtQ0FBbUM7UUFDbkMsZ0pBQWdKO1FBQ2hKLDBGQUEwRjtRQUVsRixvQkFBZSxHQUFZLElBQUksQ0FBQztRQXFFdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUExR0QsTUFBTSxDQUFDLDhCQUE4QixDQUFDLFdBQXlDLEVBQUUsVUFBOEI7UUFDN0csS0FBSyxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUU7WUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUNqRCxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEdBQUcsQ0FB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R0FBRyxhQUFhLElBQUksWUFBWSxDQUFDO1FBQ2pELElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLDBCQUEwQixDQUFDLFVBQVUsQ0FBQztTQUNyRDthQUNJLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLDBCQUEwQixDQUFDLElBQUksQ0FBQztTQUMvQztJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsS0FBSyxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLGNBQWMsR0FBRyw0QkFBNEIsQ0FBQyxVQUFVLENBQUM7U0FDL0Q7YUFDSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyw0QkFBNEIsQ0FBQyxTQUFTLENBQUM7U0FDOUQ7YUFDSTtZQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLElBQUkseUJBQXlCLENBQUMsTUFBTSxDQUFDO0lBQ3RGLENBQUM7O0FBOU1ELDJCQUEyQjtBQUNwQixvQ0FBaUIsR0FBRyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5naW5lVGVybUNvbGxlY3Rpb25TY29wZSwgRW5naW5lVGVybUNvbGxlY3Rpb25Tb3VyY2UgfSBmcm9tIFwiLi4vZW5naW5lLXRlcm0vbW9kZWxzXCI7XHJcbmltcG9ydCB7IElUbGRUZXJtQ29sbGVjdGlvbiB9IGZyb20gXCIuLi90ZXJtLWFwaS9tb2RlbHMvdGxkLXRlcm0tY29sbGVjdGlvbi5tb2RlbFwiO1xyXG5pbXBvcnQgeyBDb21iaW5lZENvbGxlY3Rpb25Ub29sdGlwS2V5IH0gZnJvbSBcIi4vY29tYmluZWQtY29sbGVjdGlvbi10b29sdGlwLWtleS5lbnVtXCI7XHJcbmltcG9ydCB7IE10Q29sbGVjdGlvblN0YXR1cyB9IGZyb20gXCIuL210LWNvbGxlY3Rpb24tc3RhdHVzLmVudW1cIjtcclxuaW1wb3J0IHsgTXRDb2xsZWN0aW9uIH0gZnJvbSBcIi4vbXQtY29sbGVjdGlvbi5tb2RlbFwiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzIHRoYXQgam9pbnMgY29sbGVjdGlvbiBmcm9tIHRlcm0gYXBpIGFuZCBpdHMgaW1wb3J0ZWQgY29sbGVjdGlvbiBmcm9tIE1UIGFwaS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb21iaW5lZENvbGxlY3Rpb24ge1xyXG4gIG10Q29sbGVjdGlvbjogTXRDb2xsZWN0aW9uO1xyXG4gIHRlcm1Db2xsZWN0aW9uOiBJVGxkVGVybUNvbGxlY3Rpb247XHJcbiAgdGVybVRvb2x0aXBLZXk6IENvbWJpbmVkQ29sbGVjdGlvblRvb2x0aXBLZXk7XHJcbiAgc291cmNlOiBFbmdpbmVUZXJtQ29sbGVjdGlvblNvdXJjZTtcclxuICAvKipcclxuICAgKiBNb2RpZmllZCBkYXRlIGZyb20gdGVybSBhcGkgb3IgbGFzdCB1cGRhdGVkIGZyb20gbXQgYXBpLlxyXG4gICAqL1xyXG4gIGxhc3RVcGRhdGVkOiBEYXRlO1xyXG5cclxuICAvLyNyZWdpb24gU3RhdGljIHByb3BlcnRpZXNcclxuICBzdGF0aWMgaW1wb3J0aW5nU3RhdHVzZXMgPSBbTXRDb2xsZWN0aW9uU3RhdHVzLkZFVENISU5HLCBNdENvbGxlY3Rpb25TdGF0dXMuUFJFUFJPQ0VTU0lORywgTXRDb2xsZWN0aW9uU3RhdHVzLlBST0NFU1NJTkcsIE10Q29sbGVjdGlvblN0YXR1cy5RVUVVSU5HXTtcclxuXHJcbiAgc3RhdGljIGZpbmRFeGlzdGluZ0NvbGxlY3Rpb25Gcm9tTGlzdChjb2xsZWN0aW9uczogSXRlcmFibGU8Q29tYmluZWRDb2xsZWN0aW9uPiwgY29sbGVjdGlvbjogQ29tYmluZWRDb2xsZWN0aW9uKSB7XHJcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBjb2xsZWN0aW9ucykge1xyXG4gICAgICBpZiAoKGNvbC50ZXJtSWQgJiYgY29sLnRlcm1JZCA9PSBjb2xsZWN0aW9uLnRlcm1JZCkgfHxcclxuICAgICAgICAoY29sLm10Q29sbGVjdGlvbj8uaWQgJiYgY29sLm10Q29sbGVjdGlvbi5pZCA9PSBjb2xsZWN0aW9uLm10Q29sbGVjdGlvbj8uaWQpKSB7XHJcbiAgICAgICAgcmV0dXJuIGNvbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZmluZEV4aXN0aW5nSW5kZXhGcm9tTGlzdChjb2xsZWN0aW9uczogSXRlcmFibGU8Q29tYmluZWRDb2xsZWN0aW9uPiwgY29sbGVjdGlvbjogQ29tYmluZWRDb2xsZWN0aW9uKTogbnVtYmVyIHtcclxuICAgIGxldCBpID0gMDtcclxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbGxlY3Rpb25zKSB7XHJcbiAgICAgIGlmICgoY29sLnRlcm1JZCAmJiBjb2wudGVybUlkID09IGNvbGxlY3Rpb24udGVybUlkKSB8fFxyXG4gICAgICAgIChjb2wubXRDb2xsZWN0aW9uPy5pZCAmJiBjb2wubXRDb2xsZWN0aW9uLmlkID09IGNvbGxlY3Rpb24ubXRDb2xsZWN0aW9uPy5pZCkpIHtcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgICAgfVxyXG4gICAgICBpICs9IDE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiBFZGl0YWJsZSBNVCAoYXBpIHYyKSBmaWVsZHNcclxuICBlZGl0YWJsZXM6IHtcclxuICAgIGRlZmF1bHQ/OiBib29sZWFuO1xyXG4gICAgc2NvcGU/OiBFbmdpbmVUZXJtQ29sbGVjdGlvblNjb3BlO1xyXG4gIH0gPSB7fTtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8jcmVnaW9uIEdldHRlcnMgZm9yIGNvbW1vbiBmaWVsZHNcclxuICAvLyBJdCBpcyBwb3NzaWJsZSB0byBvcHRpbWl6ZSBnZXR0ZXJzLCBieSBzZXR0aW5nIHNvbWUgb2YgdGhlIHZhbHVlcyBpbiB1cGRhdGUgbWV0aG9kLCBidXQgaXQgaXMgbGVmdCB0aGlzIHdheSwgc28gdGhhdCBkYXRhIGlzIG1vcmUgY29uc2lzdGVudC5cclxuICAvLyBPdGhlcndpc2UgaXQgbWlnaHQgYmUgZWFzeSB0byBtaXNzIHNvbWUgcHJvcGVydHkgdXBkYXRpbmcgYW5kIGdldCB3cm9uZyBkYXRhIGluIGZ1dHVyZS5cclxuXHJcbiAgcHJpdmF0ZSBfaXNTeW5jaHJvbml6ZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIFdlYXRoZXIgY29sbGVjdGlvbiBpcyBzeW5jaHJvbml6ZWQgd2l0aCB0ZXJtIHBvcnRhbCBjb2xsZWN0aW9uLiBJZiBubyB0ZXJtIGNvbGxlY3Rpb24sIHZhbHVlIGlzIHNldCB0byB0cnVlLlxyXG4gICAqL1xyXG4gIGdldCBpc1N5bmNocm9uaXplZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9pc1N5bmNocm9uaXplZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVybWluZXMgaWYgY29sbGVjdGlvbnMgaXMgJ3N5bmNhYmxlJy4gUmV0dXJucyB0cnVlIGlmIGl0IGlzIG5vdCBzeW5jZWQgb3IgaWYgc3luY2hyb25pemF0aW9uIGhhcyBmYWlsZWQgYW5kIHN0YXR1cyBpcyBlcnJvci5cclxuICAgKi9cclxuICBnZXQgc3luY0J1dHRvblZpc3NpYmxlKCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzU3luY2hyb25pemVkIHx8ICh0aGlzLnRlcm1Db2xsZWN0aW9uPy5tb2RpZnlEYXRlICYmIHRoaXMubXRTdGF0dXMgPT09IE10Q29sbGVjdGlvblN0YXR1cy5FUlJPUik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJZiBub3QgcmVhZHkgb3IgZXJyb3IsIHRoZW4gY29sbGVjdGlvbiBpcyBpbXBvcnRpbmcuXHJcbiAgICovXHJcbiAgZ2V0IGlzSW1wb3J0aW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubXRDb2xsZWN0aW9uICYmIENvbWJpbmVkQ29sbGVjdGlvbi5pbXBvcnRpbmdTdGF0dXNlcy5pbmNsdWRlcyh0aGlzLm10Q29sbGVjdGlvbj8uc3RhdHVzKTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBUZXJtIGNvbGxlY3Rpb24gaWQuIFJldHVybnMgdmFsdWUgZnJvbSB0ZXJtIGNvbGxlY3Rpb24gb3IgZnJvbSBtdCwgaWYgdGVybSBjb2xsZWN0aW9uIG5vdCBleGlzdGluZy5cclxuICAgKi9cclxuICBnZXQgdGVybUlkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGVybUNvbGxlY3Rpb24/LmlkID8/IHRoaXMubXRDb2xsZWN0aW9uPy50ZXJtSWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgbXRTdGF0dXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tdENvbGxlY3Rpb24/LnN0YXR1cztcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBDb2xsZWN0aW9uIG5hbWUuIElmIGhhcyB0ZXJtIGNvbGxlY3Rpb24sIHRha2VzIGZyb20gdGhlcmUuIElmIG5vdCwgdGhlbiByZXR1cm5zIG10IGNvbGxlY3Rpb24gbmFtZS5cclxuICAgKi9cclxuICBnZXQgbmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRlcm1Db2xsZWN0aW9uPy5uYW1lID8/IHRoaXMubXRDb2xsZWN0aW9uPy5uYW1lO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW50cnkgY291bnQgZnJvbSB0ZXJtIGFwaS5cclxuICAgKi9cclxuICBnZXQgdGVybUVudHJpZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXJtQ29sbGVjdGlvbj8uZW50cnlDb3VudDtcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubXRDb2xsZWN0aW9uPy5kZWZhdWx0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RhdHVzIGZyb20gbXQgYXBpIG9yIGN1c3RvbSBcIk5PVF9JTl9VU0VcIiBzdGF0dXMgaWYgbm90IGltcG9ydGVkIGluIG10LnNcclxuICAgKi9cclxuICBnZXQgc3RhdHVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubXRTdGF0dXMgPz8gTXRDb2xsZWN0aW9uU3RhdHVzLk5PVF9JTl9VU0U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTY29wZSBjYW4gYmUgZWRpdGVkIG9ubHkgaWYgaGFzIG10IGNvbGxjZXRpb24gb3IgdGVybSBjb2xsZWN0aW9uIGlzIGJlaW5nIHByZXBhcmVkIGZvciBpbXBvcnQuXHJcbiAgICovXHJcbiAgZ2V0IGNhbkVkaXRTY29wZSgpIHtcclxuICAgIHJldHVybiB0aGlzLm10Q29sbGVjdGlvbiB8fCB0aGlzLmVkaXRhYmxlcy5kZWZhdWx0O1xyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIGNvbnN0cnVjdG9yKHRlcm1BcGlDb2xsZWN0aW9uOiBJVGxkVGVybUNvbGxlY3Rpb24sIG10Q29sbGVjdGlvbjogTXRDb2xsZWN0aW9uKSB7XHJcbiAgICB0aGlzLm10Q29sbGVjdGlvbiA9IG10Q29sbGVjdGlvbjtcclxuICAgIHRoaXMudGVybUNvbGxlY3Rpb24gPSB0ZXJtQXBpQ29sbGVjdGlvbjtcclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBjb2xsZWN0aW9uIHdpdGggdmFsdWVzIGZyb20gbmV3IGNvbGxlY3Rpb24uXHJcbiAgICogQHBhcmFtIGNvbGxlY3Rpb24gY29sbGVjdGlvbiBmcm9tIHdoaWNoIHNob3VsZCBiZSB1cGRhdGVkLlxyXG4gICAqIEBwYXJhbSBpbml0aWFsUmVmcmVzaCBpZiBzZXQgdG8gdHJ1ZSwgZWRpdGFibGUgZmllbGRzIHdpbGwgYWxzbyBiZSB1cGRhdGVkLlxyXG4gICAqL1xyXG4gIHVwZGF0ZShjb2xsZWN0aW9uOiBDb21iaW5lZENvbGxlY3Rpb24sIGluaXRpYWxSZWZyZXNoID0gdHJ1ZSkge1xyXG4gICAgaWYgKGNvbGxlY3Rpb24/LnRlcm1Db2xsZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMudGVybUNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLnRlcm1Db2xsZWN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2xsZWN0aW9uPy5tdENvbGxlY3Rpb24pIHtcclxuICAgICAgdGhpcy5tdENvbGxlY3Rpb24gPSBjb2xsZWN0aW9uLm10Q29sbGVjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaW5pdGlhbFJlZnJlc2gpIHtcclxuICAgICAgdGhpcy51cGRhdGVFZGl0YWJsZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVwZGF0ZUlzU3luY2hyb25pemVkKCk7XHJcbiAgICB0aGlzLnVwZGF0ZVRvb2x0aXBLZXkoKTtcclxuICAgIHRoaXMudXBkYXRlU291cmNlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJZiBzb21lIG9mIGVkaXRhYmxlcyBhcmUgZWRpdGVkLlxyXG4gICAqXHJcbiAgICogaWYgY29sbGVjdGlvbiBub3QgaW1wb3J0ZWQgYW5kIGVuYWJsZWQgbm90IHNldCwgbWV0aG9kIHdpbGwgcmV0dXJuIHRydWUsIGJlY2F1c2UgeW91IGNhbm5vdCB1cGRhdGUgY29sbGVjdGlvbiBpZiBpdCBpcyBub3QgaW1wb3J0ZWQgb3IgaXMgbm90IG1lYW50IHRvIGJlIGltcG9ydGVkLlxyXG4gICAqXHJcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBjb2xsZWN0aW9uIGlzIGVkaXRlZCwgZmFsc2UgaWYgbm90LlxyXG4gICAqL1xyXG4gIGlzRWRpdGVkKCkge1xyXG4gICAgLy8gaWYgY29sbGVjdGlvbiBub3QgaW1wb3J0ZWQgYW5kIGVuYWJsZWQgbm90IHNldCwgc2hvdWxkIG5vdCB1cGRhdGUgY29sbGVjdGlvbi5cclxuICAgIGlmICghdGhpcy5tdENvbGxlY3Rpb24gJiYgIXRoaXMuZWRpdGFibGVzLmRlZmF1bHQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoKHRoaXMubXRDb2xsZWN0aW9uPy5kZWZhdWx0ICE9PSB0aGlzLmVkaXRhYmxlcy5kZWZhdWx0KVxyXG4gICAgICB8fCAodGhpcy5tdENvbGxlY3Rpb24gJiYgdGhpcy5lZGl0YWJsZXMuc2NvcGUgIT09IHRoaXMubXRDb2xsZWN0aW9uLnNjb3BlKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZXMgdGVybSBjb2xsZWN0aW9uIGFuZCBpdHMgcHJvcGVydGllcy5cclxuICAgKi9cclxuICBkZWxldGVUZXJtcygpIHtcclxuICAgIHRoaXMudGVybUNvbGxlY3Rpb24gPSBudWxsO1xyXG4gICAgdGhpcy51cGRhdGUobnVsbCwgZmFsc2UpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZXMgbXQgY29sbGVjdGlvbiBhbmQgaXRzIHByb3BlcnRpZXMuXHJcbiAgICovXHJcbiAgZGVsZXRlTVQoKSB7XHJcbiAgICB0aGlzLm10Q29sbGVjdGlvbiA9IG51bGw7XHJcbiAgICB0aGlzLnVwZGF0ZShudWxsKTtcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBQcml2YXRlIG1ldGhvZHNcclxuICBwcml2YXRlIHVwZGF0ZUlzU3luY2hyb25pemVkKCkge1xyXG4gICAgbGV0IGlzU3luY2hyb25pemVkID0gdHJ1ZTtcclxuICAgIGNvbnN0IHRlcm1Nb2RpZmllZCA9IHRoaXMudGVybUNvbGxlY3Rpb24/Lm1vZGlmeURhdGU7XHJcbiAgICBjb25zdCBsYXN0TXRVcGRhdGVkID0gdGhpcy5tdENvbGxlY3Rpb24/Lmxhc3RVcGRhdGVkO1xyXG4gICAgaWYgKHRlcm1Nb2RpZmllZCAmJiBsYXN0TXRVcGRhdGVkKSB7XHJcbiAgICAgIGlzU3luY2hyb25pemVkID0gdGVybU1vZGlmaWVkIDwgbGFzdE10VXBkYXRlZDtcclxuICAgIH1cclxuICAgIHRoaXMubGFzdFVwZGF0ZWQgPSBsYXN0TXRVcGRhdGVkID8/IHRlcm1Nb2RpZmllZDtcclxuICAgIHRoaXMuX2lzU3luY2hyb25pemVkID0gaXNTeW5jaHJvbml6ZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVNvdXJjZSgpIHtcclxuICAgIGlmICh0aGlzLnRlcm1Db2xsZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuc291cmNlID0gRW5naW5lVGVybUNvbGxlY3Rpb25Tb3VyY2UuVElMREVfVEVSTTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMubXRDb2xsZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuc291cmNlID0gRW5naW5lVGVybUNvbGxlY3Rpb25Tb3VyY2UuRklMRTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVG9vbHRpcEtleSgpIHtcclxuICAgIGlmICh0aGlzLnRlcm1Db2xsZWN0aW9uPy5lbnRyeUNvdW50ID09PSAwKSB7XHJcbiAgICAgIHRoaXMudGVybVRvb2x0aXBLZXkgPSBDb21iaW5lZENvbGxlY3Rpb25Ub29sdGlwS2V5Lk5PX0VOVFJJRVM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLmlzSW1wb3J0aW5nKSB7XHJcbiAgICAgIHRoaXMudGVybVRvb2x0aXBLZXkgPSBDb21iaW5lZENvbGxlY3Rpb25Ub29sdGlwS2V5LklNUE9SVElORztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnRlcm1Ub29sdGlwS2V5ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlRWRpdGFibGVzKCkge1xyXG4gICAgdGhpcy5lZGl0YWJsZXMuZGVmYXVsdCA9IHRoaXMubXRDb2xsZWN0aW9uPy5kZWZhdWx0O1xyXG4gICAgdGhpcy5lZGl0YWJsZXMuc2NvcGUgPSB0aGlzLm10Q29sbGVjdGlvbj8uc2NvcGUgPz8gRW5naW5lVGVybUNvbGxlY3Rpb25TY29wZS5HTE9CQUw7XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG59XHJcbiJdfQ==
|
|
@@ -5296,7 +5296,10 @@ class TldTranslateFileService {
|
|
|
5296
5296
|
this.alerts.error(message.description, message.title, { fileName: originalFileName });
|
|
5297
5297
|
return;
|
|
5298
5298
|
}
|
|
5299
|
-
|
|
5299
|
+
const messageString = JSON.stringify(inlineMessage);
|
|
5300
|
+
if (!translationFile.messages.some(msg => JSON.stringify(msg) === messageString)) {
|
|
5301
|
+
translationFile.messages.push(inlineMessage);
|
|
5302
|
+
}
|
|
5300
5303
|
}
|
|
5301
5304
|
}
|
|
5302
5305
|
TldTranslateFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TldTranslateFileService, deps: [{ token: FILE_API_SERVICE_TOKEN }, { token: TldAlertService }, { token: i2.DomSanitizer }, { token: TldTranslateConfigService }, { token: TldSystemService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -5892,7 +5895,7 @@ class CombinedCollection {
|
|
|
5892
5895
|
if (termModified && lastMtUpdated) {
|
|
5893
5896
|
isSynchronized = termModified < lastMtUpdated;
|
|
5894
5897
|
}
|
|
5895
|
-
this.lastUpdated =
|
|
5898
|
+
this.lastUpdated = lastMtUpdated !== null && lastMtUpdated !== void 0 ? lastMtUpdated : termModified;
|
|
5896
5899
|
this._isSynchronized = isSynchronized;
|
|
5897
5900
|
}
|
|
5898
5901
|
updateSource() {
|
|
@@ -10541,10 +10544,10 @@ class MtTermV2Service {
|
|
|
10541
10544
|
convertToCombinedCollection(collection) {
|
|
10542
10545
|
const convertedMtCollection = {
|
|
10543
10546
|
id: collection.id,
|
|
10544
|
-
lastUpdated:
|
|
10547
|
+
lastUpdated: collection.externalCollection.updatedAt,
|
|
10545
10548
|
name: collection.name,
|
|
10546
10549
|
status: collection.status,
|
|
10547
|
-
termId: collection.
|
|
10550
|
+
termId: collection.externalCollection.id,
|
|
10548
10551
|
default: collection.default,
|
|
10549
10552
|
scope: collection.scope
|
|
10550
10553
|
};
|