@festo-ui/angular 4.0.3-pre-20221028.2 → 4.0.3-pre-20221028.4
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.
|
@@ -95,7 +95,10 @@ export class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
95
95
|
}
|
|
96
96
|
ngOnChanges(changes) {
|
|
97
97
|
if (changes?.config?.currentValue != null) {
|
|
98
|
-
this.config = {
|
|
98
|
+
this.config = {
|
|
99
|
+
toolbar: { ...this.defaultConfig.toolbar, ...changes.config.currentValue?.toolbar },
|
|
100
|
+
sanitizing: { ...this.defaultConfig.sanitizing, ...changes.config.currentValue?.sanitizing }
|
|
101
|
+
};
|
|
99
102
|
}
|
|
100
103
|
if (!this.quillEditor) {
|
|
101
104
|
return;
|
|
@@ -296,4 +299,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
296
299
|
}], value: [{
|
|
297
300
|
type: Input
|
|
298
301
|
}] } });
|
|
299
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsS0FBSyxFQUVMLGVBQWUsRUFDZixVQUFVLEVBQ1YsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUVWLFNBQVMsRUFHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLFNBQVMsTUFBTSxPQUFPLENBQUM7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQWtDcEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLDBCQUFrQztJQXFGekUsWUFBbUIsVUFBc0IsRUFBVSxRQUFtQixFQUFVLFlBQTBCO1FBQ3hHLEtBQUssRUFBRSxDQUFDO1FBRFMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWpGMUcsa0JBQWEsR0FBNEI7WUFDdkMsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxJQUFJO2dCQUNWLE1BQU0sRUFBRSxJQUFJO2dCQUNaLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsVUFB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QUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO29KQXlCcUIsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNJLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDSyxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0ksY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ0MsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQUNKLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFDQSxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ0UsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNLLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFFWCxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFFRSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFRixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBJbnB1dCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgU2VjdXJpdHlDb250ZXh0LFxuICBFbGVtZW50UmVmLFxuICBSZW5kZXJlcjIsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxuICBmb3J3YXJkUmVmLFxuICBPbkNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFF1aWxsVHlwZSBmcm9tICdxdWlsbCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBWYWx1ZUFjY2Vzc29yQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL3ZhbHVlLWFjY2Vzc29yLWJhc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRFZGl0b3JDb25maWd1cmF0aW9uIHtcbiAgdG9vbGJhcj86IHtcbiAgICBib2xkPzogYm9vbGVhbjtcbiAgICBpdGFsaWM/OiBib29sZWFuO1xuICAgIHVuZGVybGluZT86IGJvb2xlYW47XG4gICAgYWxpZ25DZW50ZXI/OiBib29sZWFuO1xuICAgIGFsaWduUmlnaHQ/OiBib29sZWFuO1xuICAgIGJ1bGxldExpc3Q/OiBib29sZWFuO1xuICAgIG9yZGVyZWRMaXN0PzogYm9vbGVhbjtcbiAgICBpbWFnZT86IGJvb2xlYW47XG4gICAgbGluaz86IGJvb2xlYW47XG4gIH07XG4gIHNhbml0aXppbmc/OiB7XG4gICAgc2tpcERlZmF1bHRTYW5pdGl6aW5nPzogYm9vbGVhbjtcbiAgICBza2lwV2hpdGVzcGFjZUhhbmRsaW5nPzogYm9vbGVhbjtcbiAgICBzYW5pdGl6aW5nRm4/OiAoZHM6IERvbVNhbml0aXplciwgdmFsdWU6IHN0cmluZykgPT4gc3RyaW5nO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZuZy10ZXh0LWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGV4dEVkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0RWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgVmFsdWVBY2Nlc3NvckJhc2VEaXJlY3RpdmU8c3RyaW5nPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgaWQ6IHN0cmluZztcbiAgcXVpbGxFZGl0b3IhOiBRdWlsbFR5cGU7XG4gIGVkaXRvckVsZW0hOiBIVE1MRWxlbWVudDtcbiAgZGVmYXVsdENvbmZpZzogVGV4dEVkaXRvckNvbmZpZ3VyYXRpb24gPSB7XG4gICAgdG9vbGJhcjoge1xuICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgIGl0YWxpYzogdHJ1ZSxcbiAgICAgIHVuZGVybGluZTogdHJ1ZSxcbiAgICAgIGFsaWduQ2VudGVyOiB0cnVlLFxuICAgICAgYWxpZ25SaWdodDogdHJ1ZSxcbiAgICAgIGJ1bGxldExpc3Q6IHRydWUsXG4gICAgICBvcmRlcmVkTGlzdDogdHJ1ZSxcbiAgICAgIGltYWdlOiB0cnVlLFxuICAgICAgbGluazogdHJ1ZVxuICAgIH0sXG4gICAgc2FuaXRpemluZzoge1xuICAgICAgc2FuaXRpemluZ0ZuOiBudWxsLFxuICAgICAgc2tpcERlZmF1bHRTYW5pdGl6aW5nOiBmYWxzZSxcbiAgICAgIHNraXBXaGl0ZXNwYWNlSGFuZGxpbmc6IGZhbHNlXG4gICAgfVxuICB9O1xuXG4gIEBWaWV3Q2hpbGQoJ2J0bkJvbGQnKSBidG5Cb2xkOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdidG5JdGFsaWMnKSBidG5JdGFsaWM6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2J0blVuZGVybGluZScpIGJ0blVuZGVybGluZTogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYnRuQWxpZ25DZW50ZXInKSBidG5BbGlnbkNlbnRlcjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYnRuQWxpZ25SaWdodCcpIGJ0bkFsaWduUmlnaHQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2J0bkxpbmsnKSBidG5MaW5rOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdidG5VbCcpIGJ0blVsOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdidG5PbCcpIGJ0bk9sOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdidG5JbWFnZScpIGJ0bkltYWdlOiBFbGVtZW50UmVmO1xuXG4gIEBPdXRwdXQoKSBmbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBJbnB1dCgpIGNvbmZpZzogVGV4dEVkaXRvckNvbmZpZ3VyYXRpb24gPSB0aGlzLmRlZmF1bHRDb25maWc7XG4gIEBJbnB1dCgpIG1vZHVsZXM6IGFueTtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgcmVhZE9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyO1xuICBASW5wdXQoKSBlcnJvcjogc3RyaW5nO1xuICBASW5wdXQoKSBoaW50OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuaW5uZXJWYWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5jaGFuZ2VkLmZvckVhY2goZiA9PiB7XG4gICAgICAgIHRoaXMuZm5nQ2hhbmdlLmVtaXQodGhpcy5pbm5lclZhbHVlKTtcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLmlubmVyVmFsdWUpO1xuICAgICAgICByZXR1cm4gZih2YWx1ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgfVxuXG4gIC8vIG5lZWRlZCB0byBhY2Nlc3MgZWRpdG9yIGNvbnRlbnRcbiAgdmFsdWVHZXR0ZXIgPSAoZWRpdG9yRWxlbWVudDogSFRNTEVsZW1lbnQpOiBzdHJpbmcgfCBhbnkgPT4ge1xuICAgIGxldCBodG1sOiBzdHJpbmcgfCBudWxsID0gZWRpdG9yRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucWwtZWRpdG9yJykuaW5uZXJIVE1MO1xuICAgIGlmIChodG1sID09PSAnPHA+PGJyPjwvcD4nIHx8IGh0bWwgPT09ICc8ZGl2Pjxicj48L2Rpdj4nKSB7XG4gICAgICBodG1sID0gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGh0bWw7XG4gIH07XG5cbiAgLy8gbmVlZGVkIHRvIGFjY2VzcyBlZGl0b3IgY29udGVudFxuICB2YWx1ZVNldHRlciA9IChxdWlsbEVkaXRvcjogUXVpbGxUeXBlLCB2YWx1ZTogYW55KTogYW55ID0+IHtcbiAgICBjb25zdCBzYW5pdGl6ZUNvbmZpZyA9IHRoaXMuY29uZmlnPy5zYW5pdGl6aW5nIHx8IHRoaXMuZGVmYXVsdENvbmZpZy5zYW5pdGl6aW5nO1xuXG4gICAgaWYgKHNhbml0aXplQ29uZmlnLnNhbml0aXppbmdGbikge1xuICAgICAgdmFsdWUgPSBzYW5pdGl6ZUNvbmZpZy5zYW5pdGl6aW5nRm4odGhpcy5kb21TYW5pdGl6ZXIsIHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKCFzYW5pdGl6ZUNvbmZpZy5za2lwRGVmYXVsdFNhbml0aXppbmcpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5kb21TYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKCFzYW5pdGl6ZUNvbmZpZy5za2lwV2hpdGVzcGFjZUhhbmRsaW5nKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuaGFuZGxlV2hpdGVzcGFjZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHF1aWxsRWRpdG9yLmNsaXBib2FyZC5jb252ZXJ0KHZhbHVlKTtcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaWQgPSAoTWF0aC5yYW5kb20oKSAqIERhdGUubm93KCkpLnRvU3RyaW5nKCkucmVwbGFjZSgnLicsICctJyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0b3JFbGVtID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgI2VkaXRvci0ke3RoaXMuaWR9YCk7XG5cbiAgICB0aGlzLnF1aWxsRWRpdG9yID0gbmV3IFF1aWxsVHlwZSh0aGlzLmVkaXRvckVsZW0sIHtcbiAgICAgIG1vZHVsZXM6IHsgdG9vbGJhcjogYCNlZGl0b3ItdG9vbGJhci0ke3RoaXMuaWR9YCwgLi4udGhpcy5tb2R1bGVzIH0sXG4gICAgICB0aGVtZTogJ3Nub3cnLFxuICAgICAgc2Nyb2xsaW5nQ29udGFpbmVyOiBgI2VkaXRvci1jb250YWluZXItJHt0aGlzLmlkfWBcbiAgICB9KTtcbiAgICB0aGlzLnNldEVkaXRvckxhYmVsKCk7XG4gICAgdGhpcy5hZGRXaGl0ZXNwYWNlTWF0Y2hlcigpO1xuICAgIHRoaXMuYWRkSW1hZ2VNYXRjaGVyKCk7XG5cbiAgICBpZiAodGhpcy5pbm5lclZhbHVlKSB7XG4gICAgICBjb25zdCBjb250ZW50ID0gdGhpcy52YWx1ZVNldHRlcih0aGlzLnF1aWxsRWRpdG9yLCB0aGlzLmlubmVyVmFsdWUpO1xuICAgICAgdGhpcy5xdWlsbEVkaXRvci5zZXRDb250ZW50cyhjb250ZW50LCAnc2lsZW50Jyk7XG4gICAgICB0aGlzLnF1aWxsRWRpdG9yLmdldE1vZHVsZSgnaGlzdG9yeScpLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgdGhpcy5oYW5kbGUoKTtcblxuICAgIHRoaXMucXVpbGxFZGl0b3Iub24oJ3RleHQtY2hhbmdlJywgKCkgPT4ge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWVHZXR0ZXIodGhpcy5lZGl0b3JFbGVtKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcz8uY29uZmlnPy5jdXJyZW50VmFsdWUgIT0gbnVsbCkge1xuICAgICAgdGhpcy5jb25maWcgPSB7IHRvb2xiYXI6IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLnRvb2xiYXIsIC4uLmNoYW5nZXMuY29uZmlnLmN1cnJlbnRWYWx1ZT8udG9vbGJhciB9IH07XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnF1aWxsRWRpdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5oYW5kbGUoKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcblxuICAgIGlmICghdGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnZhbHVlU2V0dGVyKHRoaXMucXVpbGxFZGl0b3IsIHZhbHVlKTtcbiAgICB0aGlzLnF1aWxsRWRpdG9yLnNldENvbnRlbnRzKGNvbnRlbnQpO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuID0gdGhpcy5kaXNhYmxlZCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIGlmICh0aGlzLnF1aWxsRWRpdG9yKSB7XG4gICAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLmRpc2FibGUoKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsICdkaXNhYmxlZCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5lbmFibGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0UmVhZE9ubHlTdGF0ZSgpIHtcbiAgICB0aGlzLnF1aWxsRWRpdG9yLmVuYWJsZSghdGhpcy5yZWFkT25seSk7XG4gIH1cblxuICBkZWxlZ2F0ZShldmVudDogYW55LCBhY3Rpb246IHN0cmluZykge1xuICAgIGxldCBidG46IEhUTUxFbGVtZW50ID0gbnVsbDtcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgY2FzZSAnYm9sZCc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuQm9sZC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdpdGFsaWMnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkl0YWxpYy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd1bmRlcmxpbmUnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0blVuZGVybGluZS5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdhbGlnbi1jZW50ZXInOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkFsaWduQ2VudGVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bi5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2FsaWduLXJpZ2h0JzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5BbGlnblJpZ2h0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bi5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2xpbmsnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkxpbmsubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndWwnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0blVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bi5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ29sJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5PbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdpbWFnZSc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuSW1hZ2UubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgY3VycmVudExlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnZhbHVlPy5sZW5ndGg7XG4gIH1cblxuICBoaWRlRGl2aWRlcihuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsaW5rT3JJbWFnZSA9IHRoaXMuY29uZmlnLnRvb2xiYXIuaW1hZ2UgfHwgdGhpcy5jb25maWcudG9vbGJhci5saW5rO1xuICAgIGNvbnN0IGxpc3RzID0gdGhpcy5jb25maWcudG9vbGJhci5idWxsZXRMaXN0IHx8IHRoaXMuY29uZmlnLnRvb2xiYXIub3JkZXJlZExpc3Q7XG4gICAgY29uc3QgdHlwb3MgPSB0aGlzLmNvbmZpZy50b29sYmFyLmJvbGQgfHwgdGhpcy5jb25maWcudG9vbGJhci5pdGFsaWMgfHwgdGhpcy5jb25maWcudG9vbGJhci51bmRlcmxpbmU7XG4gICAgY29uc3QgdGV4dEFsaWduID0gdGhpcy5jb25maWcudG9vbGJhci5hbGlnbkNlbnRlciB8fCB0aGlzLmNvbmZpZy50b29sYmFyLmFsaWduUmlnaHQ7XG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlICd0eXBvJzpcbiAgICAgICAgcmV0dXJuICF0eXBvcyB8fCAoIXRleHRBbGlnbiAmJiAhbGlua09ySW1hZ2UgJiYgIWxpc3RzKTtcbiAgICAgIGNhc2UgJ3RleHQtYWxpZ24nOlxuICAgICAgICByZXR1cm4gIXRleHRBbGlnbiB8fCAoIWxpbmtPckltYWdlICYmICFsaXN0cyk7XG4gICAgICBjYXNlICdsaXN0cyc6XG4gICAgICAgIHJldHVybiAhbGlzdHMgfHwgIWxpbmtPckltYWdlO1xuICAgICAgY2FzZSAnaW1hZ2UnOlxuICAgICAgICByZXR1cm4gIXRoaXMuY29uZmlnLnRvb2xiYXIuaW1hZ2UgfHwgIXRoaXMuY29uZmlnLnRvb2xiYXIubGluaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RWRpdG9yTGFiZWwoKSB7XG4gICAgY29uc3QgZWRpdG9yRGl2ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnFsLWVkaXRvcicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVkaXRvckRpdiwgJ3JvbGUnLCAndGV4dGJveCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVkaXRvckRpdiwgJ2FyaWEtbGFiZWxsZWRieScsIGBlZGl0b3ItbGFiZWwtJHt0aGlzLmlkfWApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVkaXRvckRpdiwgJ2FyaWEtbXVsdGlsaW5lJywgJ3RydWUnKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlKCkge1xuICAgIHRoaXMuc2V0UmVhZE9ubHlTdGF0ZSgpO1xuICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRXaGl0ZXNwYWNlTWF0Y2hlcigpIHtcbiAgICAvLyBzZXQgdXAgYSBtYXRjaGVyIHRoYXQgcmVwbGFjZXMgcGxhY2Vob2xkZXIgIyMjdGFiIyMjIHdpdGggXFx0IGluIGRlbHRhIGFnYWluXG4gICAgdGhpcy5xdWlsbEVkaXRvci5jbGlwYm9hcmQuYWRkTWF0Y2hlcigncCcsIChfbm9kZSwgZGVsdGEpID0+IHtcbiAgICAgIGxldCBzdHIgPSBKU09OLnN0cmluZ2lmeShkZWx0YSk7XG4gICAgICBzdHIgPSBzdHIucmVwbGFjZSgvIyMjdGFiIyMjL2csICdcXFxcdCcpO1xuICAgICAgZGVsdGEgPSBKU09OLnBhcnNlKHN0cik7XG4gICAgICByZXR1cm4gZGVsdGE7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZEltYWdlTWF0Y2hlcigpIHtcbiAgICAvLyBzZXQgdXAgYSBtYXRjaGVyIHRoYXQgZG9lcyBhbGxvdy9kaXNhbGxvdyB0byBwYXN0ZSBpbWFnZXMgY29ycmVzcG9uZGluZyB0byBjb25maWcgc2V0dGluZ3NcbiAgICB0aGlzLnF1aWxsRWRpdG9yLmNsaXBib2FyZC5hZGRNYXRjaGVyKCdpbWcnLCAoX25vZGUsIGRlbHRhKSA9PiB7XG4gICAgICAvLyBhbGxvd2VkLCBwYXNzdGhydSBkZWx0YVxuICAgICAgaWYgKHRoaXMuY29uZmlnLnRvb2xiYXIuaW1hZ2UgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIGRlbHRhO1xuICAgICAgfVxuXG4gICAgICAvLyBub3QgYWxsb3dlZCwgcmVtb3ZlIGltYWdlIGJ5IHNldHRpbmcgdXAgYSBuZXcgZGVsdGFcbiAgICAgIGNvbnN0IERlbHRhID0gUXVpbGxUeXBlLmltcG9ydCgncXVpbGwtZGVsdGEnKTtcbiAgICAgIHJldHVybiBuZXcgRGVsdGEoKS5pbnNlcnQoJycpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVXaGl0ZXNwYWNlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIHNldCBhIHBsYWNlaG9sZGVyIGZvciB0YWIgZW50aXR5IHRvIGF2b2lkIHRoYXQgcXVpbGwgcmVtb3ZlcyBpdFxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC8mIzk7L2dpLCAnIyMjdGFiIyMjJyk7XG4gIH1cbn1cbiIsIjxsYWJlbCBjbGFzcz1cImZ3ZS1pbnB1dC10ZXh0XCIgW2NsYXNzLmZ3ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8ZGl2IGNsYXNzPVwiZm5nLWVkaXRvci10b29sYmFyXCIgW2lkXT1cIidlZGl0b3ItdG9vbGJhci0nICsgaWRcIj5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHMgZndlLWQtbm9uZVwiPlxuICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLXNpemVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInNtYWxsXCI+PC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+PC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJsYXJnZVwiPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiaHVnZVwiPjwvb3B0aW9uPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0cyBmbmctZWRpdG9yLXRvb2xiYXItYnV0dG9ucy1jb250YWluZXIgZndlLW1yLTNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LmJvbGRcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0bkJvbGQgY2xhc3M9XCJxbC1ib2xkIGZ3ZS1kLW5vbmUgYWN0aW9uLWJvbGRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZndlLWJ0biBmbmctYnV0dG9uXCJcbiAgICAgICAgICBbY2xhc3MuZndlLW1yLTNdPVwiY29uZmlnPy50b29sYmFyPy51bmRlcmxpbmUgfHwgY29uZmlnPy50b29sYmFyPy5pdGFsaWNcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdib2xkJylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm5nLWJ1dHRvbi10ZXh0IGZuZy10ZXh0LWJvbGRcIj5CPC9kaXY+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5pdGFsaWNcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0bkl0YWxpYyBjbGFzcz1cInFsLWl0YWxpYyBmd2UtZC1ub25lIGFjdGlvbi1pdGFsaWNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZndlLWJ0biBmbmctYnV0dG9uXCJcbiAgICAgICAgICBbY2xhc3MuZndlLW1yLTNdPVwiY29uZmlnPy50b29sYmFyPy51bmRlcmxpbmVcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdpdGFsaWMnKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbmctYnV0dG9uLXRleHQgZm5nLXRleHQtaXRhbGljXCI+STwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8udW5kZXJsaW5lXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5VbmRlcmxpbmUgY2xhc3M9XCJxbC11bmRlcmxpbmUgZndlLWQtbm9uZSBhY3Rpb24tdW5kZXJsaW5lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmbmctYnV0dG9uXCIgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ3VuZGVybGluZScpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZuZy1idXR0b24tdGV4dCBmbmctdGV4dC11bmRlcmxpbmVcIj5VPC9kaXY+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZURpdmlkZXIoJ3R5cG8nKVwiIGNsYXNzPVwiZm5nLWRpdmlkZXIteSBmd2UtbXgtNFwiPjwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5hbGlnbkNlbnRlclwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuQWxpZ25DZW50ZXIgY2xhc3M9XCJxbC1hbGlnbiBmd2UtZC1ub25lIGFjdGlvbi1hbGlnbi1jZW50ZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB2YWx1ZT1cImNlbnRlclwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJmd2UtYnRuIGZuZy1idG4tdG9vbGJhci1saXN0IGZuZy1idXR0b25cIlxuICAgICAgICAgIFtjbGFzcy5md2UtbXItM109XCJjb25maWc/LnRvb2xiYXI/LmFsaWduUmlnaHRcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdhbGlnbi1jZW50ZXInKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tdG9vbGJhci1saXN0IGZuZy1pY29uLXRleHQtYWxpZ24tY2VudGVyIGZ3ZS1wci0wXCIgW2NsYXNzLmZuZy1ncmF5XT1cImRpc2FibGVkXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5hbGlnblJpZ2h0XCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5BbGlnblJpZ2h0IGNsYXNzPVwicWwtYWxpZ24gZndlLWQtbm9uZSBhY3Rpb24tYWxpZ24tcmlnaHRcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB2YWx1ZT1cInJpZ2h0XCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ0bi10b29sYmFyLWxpc3QgZm5nLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ2FsaWduLXJpZ2h0JylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLXRvb2xiYXItbGlzdCBmbmctaWNvbi10ZXh0LWFsaWduLXJpZ2h0IGZ3ZS1wci0wXCIgW2NsYXNzLmZuZy1ncmF5XT1cImRpc2FibGVkXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVEaXZpZGVyKCd0ZXh0LWFsaWduJylcIiBjbGFzcz1cImZuZy1kaXZpZGVyLXkgZndlLW14LTRcIj48L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uYnVsbGV0TGlzdFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuVWwgY2xhc3M9XCJxbC1saXN0IGZ3ZS1kLW5vbmUgYWN0aW9uLXVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJidWxsZXRcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCJcbiAgICAgICAgICBbY2xhc3MuZndlLW1yLTNdPVwiY29uZmlnPy50b29sYmFyPy5vcmRlcmVkTGlzdFwiXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ3VsJylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLXRvb2xiYXItbGlzdCBmd2UtaWNvbi1saXN0LWxpc3QtdmlldyBmd2UtcHItMFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/Lm9yZGVyZWRMaXN0XCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5PbCBjbGFzcz1cInFsLWxpc3QgZndlLWQtbm9uZSBhY3Rpb24tb2xcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB2YWx1ZT1cIm9yZGVyZWRcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmd2UtYnRuIGZuZy1idG4tdG9vbGJhci1saXN0IGZuZy1idXR0b25cIiAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnb2wnKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tdG9vbGJhci1saXN0IGZ3ZS1pY29uLWVudW1lcmF0aW9uIGZ3ZS1wci0wXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVEaXZpZGVyKCdsaXN0cycpXCIgY2xhc3M9XCJmbmctZGl2aWRlci15IGZ3ZS1teC00XCI+PC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LmltYWdlXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCIgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ2ltYWdlJylcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLXRvb2xiYXItbGlzdCBmd2UtaWNvbi1pbWFnZS1pbWFnZSBmd2UtcHItMFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5JbWFnZSBjbGFzcz1cInFsLWltYWdlIGZ3ZS1kLW5vbmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVEaXZpZGVyKCdpbWFnZScpXCIgY2xhc3M9XCJmbmctZGl2aWRlci15IGZ3ZS1teC00XCI+PC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LmxpbmtcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmd2UtYnRuIGZuZy1idG4tdG9vbGJhci1saXN0IGZuZy1idXR0b25cIiAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnbGluaycpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZndlLWljb24tZmlsZS1saW5rIGZ3ZS1wci0wXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0bkxpbmsgY2xhc3M9XCJxbC1saW5rIGZ3ZS1kLW5vbmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbmctZWRpdG9yLWNvbnRhaW5lclwiIFtpZF09XCInZWRpdG9yLWNvbnRhaW5lci0nICsgaWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm5nLWVkaXRvclwiIFtpZF09XCInZWRpdG9yLScgKyBpZFwiPjwvZGl2PlxuICA8L2Rpdj5cbiAgPHNwYW4gY2xhc3M9XCJmd2UtaW5wdXQtdGV4dC1sYWJlbFwiIFtpZF09XCInZWRpdG9yLWxhYmVsLScgKyBpZFwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cImhpbnRcIiBjbGFzcz1cImZuZy10ZXh0LWVkaXRvci1pbmZvXCI+e3sgaGludCB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiZm5nLXRleHQtZWRpdG9yLWludmFsaWRcIj57eyBlcnJvciB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJtYXhMZW5ndGggPiAwICYmIHZhbHVlICE9IG51bGxcIiBjbGFzcz1cImZ3ZS1pbnB1dC10ZXh0LWNvdW50XCI+e3sgY3VycmVudExlbmd0aCgpIH19IC8ge3sgbWF4TGVuZ3RoIH19PC9zcGFuPlxuPC9sYWJlbD5cbiJdfQ==
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsS0FBSyxFQUVMLGVBQWUsRUFDZixVQUFVLEVBQ1YsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUVWLFNBQVMsRUFHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLFNBQVMsTUFBTSxPQUFPLENBQUM7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQWtDcEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLDBCQUFrQztJQXFGekUsWUFBbUIsVUFBc0IsRUFBVSxRQUFtQixFQUFVLFlBQTBCO1FBQ3hHLEtBQUssRUFBRSxDQUFDO1FBRFMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWpGMUcsa0JBQWEsR0FBNEI7WUFDdkMsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxJQUFJO2dCQUNWLE1BQU0sRUFBRSxJQUFJO2dCQUNaLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsVUFB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Q0FBQyxJQUFJLGFBQzFCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvSkF5QnFCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFDSSxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ0ssWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQUNJLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUNDLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDSixPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ0EsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNFLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDSyxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBRVgsU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBRUUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgSW5wdXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIFNlY3VyaXR5Q29udGV4dCxcbiAgRWxlbWVudFJlZixcbiAgUmVuZGVyZXIyLFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbiAgZm9yd2FyZFJlZixcbiAgT25DaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBRdWlsbFR5cGUgZnJvbSAncXVpbGwnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVmFsdWVBY2Nlc3NvckJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi92YWx1ZS1hY2Nlc3Nvci1iYXNlJztcblxuZXhwb3J0IGludGVyZmFjZSBUZXh0RWRpdG9yQ29uZmlndXJhdGlvbiB7XG4gIHRvb2xiYXI/OiB7XG4gICAgYm9sZD86IGJvb2xlYW47XG4gICAgaXRhbGljPzogYm9vbGVhbjtcbiAgICB1bmRlcmxpbmU/OiBib29sZWFuO1xuICAgIGFsaWduQ2VudGVyPzogYm9vbGVhbjtcbiAgICBhbGlnblJpZ2h0PzogYm9vbGVhbjtcbiAgICBidWxsZXRMaXN0PzogYm9vbGVhbjtcbiAgICBvcmRlcmVkTGlzdD86IGJvb2xlYW47XG4gICAgaW1hZ2U/OiBib29sZWFuO1xuICAgIGxpbms/OiBib29sZWFuO1xuICB9O1xuICBzYW5pdGl6aW5nPzoge1xuICAgIHNraXBEZWZhdWx0U2FuaXRpemluZz86IGJvb2xlYW47XG4gICAgc2tpcFdoaXRlc3BhY2VIYW5kbGluZz86IGJvb2xlYW47XG4gICAgc2FuaXRpemluZ0ZuPzogKGRzOiBEb21TYW5pdGl6ZXIsIHZhbHVlOiBzdHJpbmcpID0+IHN0cmluZztcbiAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm5nLXRleHQtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0RWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRleHRFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yQmFzZURpcmVjdGl2ZTxzdHJpbmc+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBpZDogc3RyaW5nO1xuICBxdWlsbEVkaXRvciE6IFF1aWxsVHlwZTtcbiAgZWRpdG9yRWxlbSE6IEhUTUxFbGVtZW50O1xuICBkZWZhdWx0Q29uZmlnOiBUZXh0RWRpdG9yQ29uZmlndXJhdGlvbiA9IHtcbiAgICB0b29sYmFyOiB7XG4gICAgICBib2xkOiB0cnVlLFxuICAgICAgaXRhbGljOiB0cnVlLFxuICAgICAgdW5kZXJsaW5lOiB0cnVlLFxuICAgICAgYWxpZ25DZW50ZXI6IHRydWUsXG4gICAgICBhbGlnblJpZ2h0OiB0cnVlLFxuICAgICAgYnVsbGV0TGlzdDogdHJ1ZSxcbiAgICAgIG9yZGVyZWRMaXN0OiB0cnVlLFxuICAgICAgaW1hZ2U6IHRydWUsXG4gICAgICBsaW5rOiB0cnVlXG4gICAgfSxcbiAgICBzYW5pdGl6aW5nOiB7XG4gICAgICBzYW5pdGl6aW5nRm46IG51bGwsXG4gICAgICBza2lwRGVmYXVsdFNhbml0aXppbmc6IGZhbHNlLFxuICAgICAgc2tpcFdoaXRlc3BhY2VIYW5kbGluZzogZmFsc2VcbiAgICB9XG4gIH07XG5cbiAgQFZpZXdDaGlsZCgnYnRuQm9sZCcpIGJ0bkJvbGQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2J0bkl0YWxpYycpIGJ0bkl0YWxpYzogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYnRuVW5kZXJsaW5lJykgYnRuVW5kZXJsaW5lOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdidG5BbGlnbkNlbnRlcicpIGJ0bkFsaWduQ2VudGVyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdidG5BbGlnblJpZ2h0JykgYnRuQWxpZ25SaWdodDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYnRuTGluaycpIGJ0bkxpbms6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2J0blVsJykgYnRuVWw6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2J0bk9sJykgYnRuT2w6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2J0bkltYWdlJykgYnRuSW1hZ2U6IEVsZW1lbnRSZWY7XG5cbiAgQE91dHB1dCgpIGZuZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQElucHV0KCkgY29uZmlnOiBUZXh0RWRpdG9yQ29uZmlndXJhdGlvbiA9IHRoaXMuZGVmYXVsdENvbmZpZztcbiAgQElucHV0KCkgbW9kdWxlczogYW55O1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSByZWFkT25seTogYm9vbGVhbjtcbiAgQElucHV0KCkgbWF4TGVuZ3RoOiBudW1iZXI7XG4gIEBJbnB1dCgpIGVycm9yOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhpbnQ6IHN0cmluZztcbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5pbm5lclZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLmNoYW5nZWQuZm9yRWFjaChmID0+IHtcbiAgICAgICAgdGhpcy5mbmdDaGFuZ2UuZW1pdCh0aGlzLmlubmVyVmFsdWUpO1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuaW5uZXJWYWx1ZSk7XG4gICAgICAgIHJldHVybiBmKHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICB9XG5cbiAgLy8gbmVlZGVkIHRvIGFjY2VzcyBlZGl0b3IgY29udGVudFxuICB2YWx1ZUdldHRlciA9IChlZGl0b3JFbGVtZW50OiBIVE1MRWxlbWVudCk6IHN0cmluZyB8IGFueSA9PiB7XG4gICAgbGV0IGh0bWw6IHN0cmluZyB8IG51bGwgPSBlZGl0b3JFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xbC1lZGl0b3InKS5pbm5lckhUTUw7XG4gICAgaWYgKGh0bWwgPT09ICc8cD48YnI+PC9wPicgfHwgaHRtbCA9PT0gJzxkaXY+PGJyPjwvZGl2PicpIHtcbiAgICAgIGh0bWwgPSBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gaHRtbDtcbiAgfTtcblxuICAvLyBuZWVkZWQgdG8gYWNjZXNzIGVkaXRvciBjb250ZW50XG4gIHZhbHVlU2V0dGVyID0gKHF1aWxsRWRpdG9yOiBRdWlsbFR5cGUsIHZhbHVlOiBhbnkpOiBhbnkgPT4ge1xuICAgIGNvbnN0IHNhbml0aXplQ29uZmlnID0gdGhpcy5jb25maWc/LnNhbml0aXppbmcgfHwgdGhpcy5kZWZhdWx0Q29uZmlnLnNhbml0aXppbmc7XG5cbiAgICBpZiAoc2FuaXRpemVDb25maWcuc2FuaXRpemluZ0ZuKSB7XG4gICAgICB2YWx1ZSA9IHNhbml0aXplQ29uZmlnLnNhbml0aXppbmdGbih0aGlzLmRvbVNhbml0aXplciwgdmFsdWUpO1xuICAgIH1cbiAgICBpZiAoIXNhbml0aXplQ29uZmlnLnNraXBEZWZhdWx0U2FuaXRpemluZykge1xuICAgICAgdmFsdWUgPSB0aGlzLmRvbVNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgdmFsdWUpO1xuICAgIH1cbiAgICBpZiAoIXNhbml0aXplQ29uZmlnLnNraXBXaGl0ZXNwYWNlSGFuZGxpbmcpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5oYW5kbGVXaGl0ZXNwYWNlKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcXVpbGxFZGl0b3IuY2xpcGJvYXJkLmNvbnZlcnQodmFsdWUpO1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pZCA9IChNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSkudG9TdHJpbmcoKS5yZXBsYWNlKCcuJywgJy0nKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVkaXRvckVsZW0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKGAjZWRpdG9yLSR7dGhpcy5pZH1gKTtcblxuICAgIHRoaXMucXVpbGxFZGl0b3IgPSBuZXcgUXVpbGxUeXBlKHRoaXMuZWRpdG9yRWxlbSwge1xuICAgICAgbW9kdWxlczogeyB0b29sYmFyOiBgI2VkaXRvci10b29sYmFyLSR7dGhpcy5pZH1gLCAuLi50aGlzLm1vZHVsZXMgfSxcbiAgICAgIHRoZW1lOiAnc25vdycsXG4gICAgICBzY3JvbGxpbmdDb250YWluZXI6IGAjZWRpdG9yLWNvbnRhaW5lci0ke3RoaXMuaWR9YFxuICAgIH0pO1xuICAgIHRoaXMuc2V0RWRpdG9yTGFiZWwoKTtcbiAgICB0aGlzLmFkZFdoaXRlc3BhY2VNYXRjaGVyKCk7XG4gICAgdGhpcy5hZGRJbWFnZU1hdGNoZXIoKTtcblxuICAgIGlmICh0aGlzLmlubmVyVmFsdWUpIHtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnZhbHVlU2V0dGVyKHRoaXMucXVpbGxFZGl0b3IsIHRoaXMuaW5uZXJWYWx1ZSk7XG4gICAgICB0aGlzLnF1aWxsRWRpdG9yLnNldENvbnRlbnRzKGNvbnRlbnQsICdzaWxlbnQnKTtcbiAgICAgIHRoaXMucXVpbGxFZGl0b3IuZ2V0TW9kdWxlKCdoaXN0b3J5JykuY2xlYXIoKTtcbiAgICB9XG5cbiAgICB0aGlzLmhhbmRsZSgpO1xuXG4gICAgdGhpcy5xdWlsbEVkaXRvci5vbigndGV4dC1jaGFuZ2UnLCAoKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZUdldHRlcih0aGlzLmVkaXRvckVsZW0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzPy5jb25maWc/LmN1cnJlbnRWYWx1ZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgICAgdG9vbGJhcjogeyAuLi50aGlzLmRlZmF1bHRDb25maWcudG9vbGJhciwgLi4uY2hhbmdlcy5jb25maWcuY3VycmVudFZhbHVlPy50b29sYmFyIH0sXG4gICAgICAgIHNhbml0aXppbmc6IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLnNhbml0aXppbmcsIC4uLmNoYW5nZXMuY29uZmlnLmN1cnJlbnRWYWx1ZT8uc2FuaXRpemluZyB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICghdGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaGFuZGxlKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG5cbiAgICBpZiAoIXRoaXMucXVpbGxFZGl0b3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy52YWx1ZVNldHRlcih0aGlzLnF1aWxsRWRpdG9yLCB2YWx1ZSk7XG4gICAgdGhpcy5xdWlsbEVkaXRvci5zZXRDb250ZW50cyhjb250ZW50KTtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbiA9IHRoaXMuZGlzYWJsZWQpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICBpZiAodGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5kaXNhYmxlKCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnLCAnZGlzYWJsZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghdGhpcy5yZWFkT25seSkge1xuICAgICAgICAgIHRoaXMucXVpbGxFZGl0b3IuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFJlYWRPbmx5U3RhdGUoKSB7XG4gICAgdGhpcy5xdWlsbEVkaXRvci5lbmFibGUoIXRoaXMucmVhZE9ubHkpO1xuICB9XG5cbiAgZGVsZWdhdGUoZXZlbnQ6IGFueSwgYWN0aW9uOiBzdHJpbmcpIHtcbiAgICBsZXQgYnRuOiBIVE1MRWxlbWVudCA9IG51bGw7XG4gICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2JvbGQnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkJvbGQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaXRhbGljJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5JdGFsaWMubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndW5kZXJsaW5lJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5VbmRlcmxpbmUubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYWxpZ24tY2VudGVyJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5BbGlnbkNlbnRlci5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdhbGlnbi1yaWdodCc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuQWxpZ25SaWdodC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdsaW5rJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5MaW5rLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bi5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3VsJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5VbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvbCc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuT2wubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuLmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaW1hZ2UnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkltYWdlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bi5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGN1cnJlbnRMZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZT8ubGVuZ3RoO1xuICB9XG5cbiAgaGlkZURpdmlkZXIobmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbGlua09ySW1hZ2UgPSB0aGlzLmNvbmZpZy50b29sYmFyLmltYWdlIHx8IHRoaXMuY29uZmlnLnRvb2xiYXIubGluaztcbiAgICBjb25zdCBsaXN0cyA9IHRoaXMuY29uZmlnLnRvb2xiYXIuYnVsbGV0TGlzdCB8fCB0aGlzLmNvbmZpZy50b29sYmFyLm9yZGVyZWRMaXN0O1xuICAgIGNvbnN0IHR5cG9zID0gdGhpcy5jb25maWcudG9vbGJhci5ib2xkIHx8IHRoaXMuY29uZmlnLnRvb2xiYXIuaXRhbGljIHx8IHRoaXMuY29uZmlnLnRvb2xiYXIudW5kZXJsaW5lO1xuICAgIGNvbnN0IHRleHRBbGlnbiA9IHRoaXMuY29uZmlnLnRvb2xiYXIuYWxpZ25DZW50ZXIgfHwgdGhpcy5jb25maWcudG9vbGJhci5hbGlnblJpZ2h0O1xuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSAndHlwbyc6XG4gICAgICAgIHJldHVybiAhdHlwb3MgfHwgKCF0ZXh0QWxpZ24gJiYgIWxpbmtPckltYWdlICYmICFsaXN0cyk7XG4gICAgICBjYXNlICd0ZXh0LWFsaWduJzpcbiAgICAgICAgcmV0dXJuICF0ZXh0QWxpZ24gfHwgKCFsaW5rT3JJbWFnZSAmJiAhbGlzdHMpO1xuICAgICAgY2FzZSAnbGlzdHMnOlxuICAgICAgICByZXR1cm4gIWxpc3RzIHx8ICFsaW5rT3JJbWFnZTtcbiAgICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbmZpZy50b29sYmFyLmltYWdlIHx8ICF0aGlzLmNvbmZpZy50b29sYmFyLmxpbms7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEVkaXRvckxhYmVsKCkge1xuICAgIGNvbnN0IGVkaXRvckRpdiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xbC1lZGl0b3InKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlZGl0b3JEaXYsICdyb2xlJywgJ3RleHRib3gnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlZGl0b3JEaXYsICdhcmlhLWxhYmVsbGVkYnknLCBgZWRpdG9yLWxhYmVsLSR7dGhpcy5pZH1gKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlZGl0b3JEaXYsICdhcmlhLW11bHRpbGluZScsICd0cnVlJyk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZSgpIHtcbiAgICB0aGlzLnNldFJlYWRPbmx5U3RhdGUoKTtcbiAgICB0aGlzLnNldERpc2FibGVkU3RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkV2hpdGVzcGFjZU1hdGNoZXIoKSB7XG4gICAgLy8gc2V0IHVwIGEgbWF0Y2hlciB0aGF0IHJlcGxhY2VzIHBsYWNlaG9sZGVyICMjI3RhYiMjIyB3aXRoIFxcdCBpbiBkZWx0YSBhZ2FpblxuICAgIHRoaXMucXVpbGxFZGl0b3IuY2xpcGJvYXJkLmFkZE1hdGNoZXIoJ3AnLCAoX25vZGUsIGRlbHRhKSA9PiB7XG4gICAgICBsZXQgc3RyID0gSlNPTi5zdHJpbmdpZnkoZGVsdGEpO1xuICAgICAgc3RyID0gc3RyLnJlcGxhY2UoLyMjI3RhYiMjIy9nLCAnXFxcXHQnKTtcbiAgICAgIGRlbHRhID0gSlNPTi5wYXJzZShzdHIpO1xuICAgICAgcmV0dXJuIGRlbHRhO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRJbWFnZU1hdGNoZXIoKSB7XG4gICAgLy8gc2V0IHVwIGEgbWF0Y2hlciB0aGF0IGRvZXMgYWxsb3cvZGlzYWxsb3cgdG8gcGFzdGUgaW1hZ2VzIGNvcnJlc3BvbmRpbmcgdG8gY29uZmlnIHNldHRpbmdzXG4gICAgdGhpcy5xdWlsbEVkaXRvci5jbGlwYm9hcmQuYWRkTWF0Y2hlcignaW1nJywgKF9ub2RlLCBkZWx0YSkgPT4ge1xuICAgICAgLy8gYWxsb3dlZCwgcGFzc3RocnUgZGVsdGFcbiAgICAgIGlmICh0aGlzLmNvbmZpZy50b29sYmFyLmltYWdlID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiBkZWx0YTtcbiAgICAgIH1cblxuICAgICAgLy8gbm90IGFsbG93ZWQsIHJlbW92ZSBpbWFnZSBieSBzZXR0aW5nIHVwIGEgbmV3IGRlbHRhXG4gICAgICBjb25zdCBEZWx0YSA9IFF1aWxsVHlwZS5pbXBvcnQoJ3F1aWxsLWRlbHRhJyk7XG4gICAgICByZXR1cm4gbmV3IERlbHRhKCkuaW5zZXJ0KCcnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlV2hpdGVzcGFjZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBzZXQgYSBwbGFjZWhvbGRlciBmb3IgdGFiIGVudGl0eSB0byBhdm9pZCB0aGF0IHF1aWxsIHJlbW92ZXMgaXRcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvJiM5Oy9naSwgJyMjI3RhYiMjIycpO1xuICB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJmd2UtaW5wdXQtdGV4dFwiIFtjbGFzcy5md2UtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgPGRpdiBjbGFzcz1cImZuZy1lZGl0b3ItdG9vbGJhclwiIFtpZF09XCInZWRpdG9yLXRvb2xiYXItJyArIGlkXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzIGZ3ZS1kLW5vbmVcIj5cbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1zaXplXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJzbWFsbFwiPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwibGFyZ2VcIj48L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImh1Z2VcIj48L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHMgZm5nLWVkaXRvci10b29sYmFyLWJ1dHRvbnMtY29udGFpbmVyIGZ3ZS1tci0zXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5ib2xkXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5Cb2xkIGNsYXNzPVwicWwtYm9sZCBmd2UtZC1ub25lIGFjdGlvbi1ib2xkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1tci0zXT1cImNvbmZpZz8udG9vbGJhcj8udW5kZXJsaW5lIHx8IGNvbmZpZz8udG9vbGJhcj8uaXRhbGljXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnYm9sZCcpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZuZy1idXR0b24tdGV4dCBmbmctdGV4dC1ib2xkXCI+QjwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uaXRhbGljXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5JdGFsaWMgY2xhc3M9XCJxbC1pdGFsaWMgZndlLWQtbm9uZSBhY3Rpb24taXRhbGljXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1tci0zXT1cImNvbmZpZz8udG9vbGJhcj8udW5kZXJsaW5lXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnaXRhbGljJylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm5nLWJ1dHRvbi10ZXh0IGZuZy10ZXh0LWl0YWxpY1wiPkk8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LnVuZGVybGluZVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuVW5kZXJsaW5lIGNsYXNzPVwicWwtdW5kZXJsaW5lIGZ3ZS1kLW5vbmUgYWN0aW9uLXVuZGVybGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICd1bmRlcmxpbmUnKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbmctYnV0dG9uLXRleHQgZm5nLXRleHQtdW5kZXJsaW5lXCI+VTwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVEaXZpZGVyKCd0eXBvJylcIiBjbGFzcz1cImZuZy1kaXZpZGVyLXkgZndlLW14LTRcIj48L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uYWxpZ25DZW50ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0bkFsaWduQ2VudGVyIGNsYXNzPVwicWwtYWxpZ24gZndlLWQtbm9uZSBhY3Rpb24tYWxpZ24tY2VudGVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJjZW50ZXJcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCJcbiAgICAgICAgICBbY2xhc3MuZndlLW1yLTNdPVwiY29uZmlnPy50b29sYmFyPy5hbGlnblJpZ2h0XCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnYWxpZ24tY2VudGVyJylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLXRvb2xiYXItbGlzdCBmbmctaWNvbi10ZXh0LWFsaWduLWNlbnRlciBmd2UtcHItMFwiIFtjbGFzcy5mbmctZ3JheV09XCJkaXNhYmxlZFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uYWxpZ25SaWdodFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuQWxpZ25SaWdodCBjbGFzcz1cInFsLWFsaWduIGZ3ZS1kLW5vbmUgYWN0aW9uLWFsaWduLXJpZ2h0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJyaWdodFwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJmd2UtYnRuIGZuZy1idG4tdG9vbGJhci1saXN0IGZuZy1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdhbGlnbi1yaWdodCcpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZm5nLWljb24tdGV4dC1hbGlnbi1yaWdodCBmd2UtcHItMFwiIFtjbGFzcy5mbmctZ3JheV09XCJkaXNhYmxlZFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFoaWRlRGl2aWRlcigndGV4dC1hbGlnbicpXCIgY2xhc3M9XCJmbmctZGl2aWRlci15IGZ3ZS1teC00XCI+PC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LmJ1bGxldExpc3RcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0blVsIGNsYXNzPVwicWwtbGlzdCBmd2UtZC1ub25lIGFjdGlvbi11bFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHZhbHVlPVwiYnVsbGV0XCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ0bi10b29sYmFyLWxpc3QgZm5nLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1tci0zXT1cImNvbmZpZz8udG9vbGJhcj8ub3JkZXJlZExpc3RcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICd1bCcpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZndlLWljb24tbGlzdC1saXN0LXZpZXcgZndlLXByLTBcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5vcmRlcmVkTGlzdFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuT2wgY2xhc3M9XCJxbC1saXN0IGZ3ZS1kLW5vbmUgYWN0aW9uLW9sXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJvcmRlcmVkXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCIgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ29sJylcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLXRvb2xiYXItbGlzdCBmd2UtaWNvbi1lbnVtZXJhdGlvbiBmd2UtcHItMFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFoaWRlRGl2aWRlcignbGlzdHMnKVwiIGNsYXNzPVwiZm5nLWRpdmlkZXIteSBmd2UtbXgtNFwiPjwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5pbWFnZVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ0bi10b29sYmFyLWxpc3QgZm5nLWJ1dHRvblwiIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdpbWFnZScpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZndlLWljb24taW1hZ2UtaW1hZ2UgZndlLXByLTBcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuSW1hZ2UgY2xhc3M9XCJxbC1pbWFnZSBmd2UtZC1ub25lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFoaWRlRGl2aWRlcignaW1hZ2UnKVwiIGNsYXNzPVwiZm5nLWRpdmlkZXIteSBmd2UtbXgtNFwiPjwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5saW5rXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCIgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ2xpbmsnKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tdG9vbGJhci1saXN0IGZ3ZS1pY29uLWZpbGUtbGluayBmd2UtcHItMFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5MaW5rIGNsYXNzPVwicWwtbGluayBmd2UtZC1ub25lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZm5nLWVkaXRvci1jb250YWluZXJcIiBbaWRdPVwiJ2VkaXRvci1jb250YWluZXItJyArIGlkXCI+XG4gICAgPGRpdiBjbGFzcz1cImZuZy1lZGl0b3JcIiBbaWRdPVwiJ2VkaXRvci0nICsgaWRcIj48L2Rpdj5cbiAgPC9kaXY+XG4gIDxzcGFuIGNsYXNzPVwiZndlLWlucHV0LXRleHQtbGFiZWxcIiBbaWRdPVwiJ2VkaXRvci1sYWJlbC0nICsgaWRcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJoaW50XCIgY2xhc3M9XCJmbmctdGV4dC1lZGl0b3ItaW5mb1wiPnt7IGhpbnQgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImZuZy10ZXh0LWVkaXRvci1pbnZhbGlkXCI+e3sgZXJyb3IgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwibWF4TGVuZ3RoID4gMCAmJiB2YWx1ZSAhPSBudWxsXCIgY2xhc3M9XCJmd2UtaW5wdXQtdGV4dC1jb3VudFwiPnt7IGN1cnJlbnRMZW5ndGgoKSB9fSAvIHt7IG1heExlbmd0aCB9fTwvc3Bhbj5cbjwvbGFiZWw+XG4iXX0=
|
|
@@ -5780,9 +5780,12 @@ class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
5780
5780
|
});
|
|
5781
5781
|
}
|
|
5782
5782
|
ngOnChanges(changes) {
|
|
5783
|
-
var _a, _b;
|
|
5783
|
+
var _a, _b, _c;
|
|
5784
5784
|
if (((_a = changes === null || changes === void 0 ? void 0 : changes.config) === null || _a === void 0 ? void 0 : _a.currentValue) != null) {
|
|
5785
|
-
this.config = {
|
|
5785
|
+
this.config = {
|
|
5786
|
+
toolbar: Object.assign(Object.assign({}, this.defaultConfig.toolbar), (_b = changes.config.currentValue) === null || _b === void 0 ? void 0 : _b.toolbar),
|
|
5787
|
+
sanitizing: Object.assign(Object.assign({}, this.defaultConfig.sanitizing), (_c = changes.config.currentValue) === null || _c === void 0 ? void 0 : _c.sanitizing)
|
|
5788
|
+
};
|
|
5786
5789
|
}
|
|
5787
5790
|
if (!this.quillEditor) {
|
|
5788
5791
|
return;
|