monkey-front-core 0.0.424 → 0.0.426

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.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLWNyZWRlbnRpYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL2ludGVyZmFjZXMvbW9ua2V5ZWN4LXRva2VuLWNyZWRlbnRpYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFsc0NsZWFySWdub3JlIHtcclxuICBpZ25vcmU6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMge1xyXG4gIHVzZXJuYW1lPzogc3RyaW5nO1xyXG4gIHByb2dyYW0/OiBzdHJpbmc7XHJcbiAgYWNjZXNzVG9rZW4/OiBzdHJpbmc7XHJcbiAgcmVmcmVzaFRva2VuPzogc3RyaW5nO1xyXG4gIGNvbXBhbnlJZD86IHN0cmluZztcclxuICBnb3Zlcm5tZW50SWQ/OiBzdHJpbmc7XHJcbiAgY29tcGFueVR5cGVVcmw/OiBzdHJpbmc7XHJcbiAgY29tcGFueVR5cGU/OiBzdHJpbmc7XHJcbiAgcm9sZT86IHN0cmluZztcclxuICBwcm9ncmFtQWRtaW4/OiBib29sZWFuIHwgc3RyaW5nO1xyXG4gIHByb2dyYW1UeXBlPzogc3RyaW5nO1xyXG4gIGFjY2Vzc1R5cGU/OiBzdHJpbmc7XHJcbiAgb3duZXJHb3Zlcm5tZW50SWQ/OiBzdHJpbmc7XHJcbiAgX2NsZWFySWdub3JlPzogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFsc0NsZWFySWdub3JlO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLWNyZWRlbnRpYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL2ludGVyZmFjZXMvbW9ua2V5ZWN4LXRva2VuLWNyZWRlbnRpYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFsc0NsZWFySWdub3JlIHtcbiAgaWdub3JlOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzIHtcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIHByb2dyYW0/OiBzdHJpbmc7XG4gIGFjY2Vzc1Rva2VuPzogc3RyaW5nO1xuICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7XG4gIGNvbXBhbnlJZD86IHN0cmluZztcbiAgZ292ZXJubWVudElkPzogc3RyaW5nO1xuICBjb21wYW55VHlwZVVybD86IHN0cmluZztcbiAgY29tcGFueVR5cGU/OiBzdHJpbmc7XG4gIHJvbGU/OiBzdHJpbmc7XG4gIHByb2dyYW1BZG1pbj86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIHByb2dyYW1UeXBlPzogc3RyaW5nO1xuICBhY2Nlc3NUeXBlPzogc3RyaW5nO1xuICBvd25lckdvdmVybm1lbnRJZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgX2NsZWFySWdub3JlPzogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFsc0NsZWFySWdub3JlO1xufVxuIl19
@@ -23,7 +23,7 @@ export class MonkeyEcxSecurityConsoleConfigService extends MonkeyEcxCommonsServi
23
23
  '| | | | (_) | | | | < __/ |_| |/ / / / \n ' +
24
24
  '|_| |_|\\___/|_| |_|_|\\_\\___|\\__, /_/_/_/ \n ' +
25
25
  ' |___/ \n ' +
26
- 'Join us: https://monkeyecx.gupy.io', 'background: #1976d2; color: #fff');
26
+ '', 'background: #1976d2; color: #fff');
27
27
  }
28
28
  });
29
29
  }
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
39
39
  providedIn: 'root'
40
40
  }]
41
41
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNlY3VyaXR5LWNvbnNvbGUtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1zZWN1cml0eS1jb25zb2xlLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBS3JELE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSx1QkFBdUI7SUFDaEYsWUFBb0IsZ0JBQWtDO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUdwRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztZQUN4QixNQUFNLEtBQUssR0FBRyxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQzVCLE1BQU0sT0FBTyxHQUFHLE1BQU0sRUFBRSxPQUFPLENBQUM7WUFDaEMsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssRUFBRSxFQUFFLHlEQUF5RCxDQUFDLENBQUM7Z0JBQ3JGLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxPQUFPLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNsRCxPQUFPLENBQUMsR0FBRyxDQUNULG1EQUFtRDtvQkFDbkQscURBQXFEO29CQUNyRCx3REFBd0Q7b0JBQ3hELGdEQUFnRDtvQkFDaEQsb0RBQW9EO29CQUNwRCxnREFBZ0Q7b0JBQ2hELG9DQUFvQyxFQUFFLGtDQUFrQyxDQUN6RSxDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQzs7a0lBOUJVLHFDQUFxQztzSUFBckMscUNBQXFDLGNBRnBDLE1BQU07MkZBRVAscUNBQXFDO2tCQUhqRCxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9ucyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hTZWN1cml0eUNvbnNvbGVDb25maWdTZXJ2aWNlIGV4dGVuZHMgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuXHJcbiAgICB0aGlzLmdldGkxOG4odGhpcy50cmFuc2xhdGVTZXJ2aWNlLCAnU0VSVklDRVMuV0FSTklORy5DT05TT0xFJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVZhbGlkYXRpb24oKSB7XHJcbiAgICB0aGlzLl9fb25pMThuRGF0YUNoYW5nZWQkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgX19pMThuIH0gPSB0aGlzO1xyXG4gICAgICBjb25zdCB0aXRsZSA9IF9faTE4bj8uVElUTEU7XHJcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBfX2kxOG4/Lk1FU1NBR0U7XHJcbiAgICAgIGlmICh0aXRsZSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGAlYyR7dGl0bGV9YCwgJ2JhY2tncm91bmQ6ICNmMmYwNjE7IGNvbG9yOiAjZmYwMDAwOyBmb250LXNpemU6IHgtbGFyZ2UnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhgJWMke21lc3NhZ2V9YCwgJ2ZvbnQtc2l6ZTogeC1sYXJnZScpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAgICAgJyVjICBfXyAgX18gICAgICAgICAgICAgXyAgICAgICAgICAgICBfX19fX18gICBcXG4gJyArXHJcbiAgICAgICAgICAnfCAgXFxcXC8gIHwgX19fICBfIF9fIHwgfCBfX19fXyBfICAgX1xcXFwgXFxcXCBcXFxcIFxcXFwgIFxcbiAnICtcclxuICAgICAgICAgIFwifCB8XFxcXC98IHwvIF8gXFxcXHwgJ18gXFxcXHwgfC8gLyBfIFxcXFwgfCB8IHxcXFxcIFxcXFwgXFxcXCBcXFxcIFxcbiBcIiArXHJcbiAgICAgICAgICAnfCB8ICB8IHwgKF8pIHwgfCB8IHwgICA8ICBfXy8gfF98IHwvIC8gLyAvIFxcbiAnICtcclxuICAgICAgICAgICd8X3wgIHxffFxcXFxfX18vfF98IHxffF98XFxcXF9cXFxcX19ffFxcXFxfXywgL18vXy9fLyAgXFxuICcgK1xyXG4gICAgICAgICAgJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfF9fXy8gICAgICAgICBcXG4gJyArXHJcbiAgICAgICAgICAnSm9pbiB1czogaHR0cHM6Ly9tb25rZXllY3guZ3VweS5pbycsICdiYWNrZ3JvdW5kOiAjMTk3NmQyOyBjb2xvcjogI2ZmZidcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhcHBseSgpIHtcclxuICAgIHRoaXMuaGFuZGxlVmFsaWRhdGlvbigpO1xyXG4gIH1cclxufVxyXG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNlY3VyaXR5LWNvbnNvbGUtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1zZWN1cml0eS1jb25zb2xlLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBS3JELE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSx1QkFBdUI7SUFDaEYsWUFBb0IsZ0JBQWtDO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUdwRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztZQUN4QixNQUFNLEtBQUssR0FBRyxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQzVCLE1BQU0sT0FBTyxHQUFHLE1BQU0sRUFBRSxPQUFPLENBQUM7WUFDaEMsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssRUFBRSxFQUFFLHlEQUF5RCxDQUFDLENBQUM7Z0JBQ3JGLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxPQUFPLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNsRCxPQUFPLENBQUMsR0FBRyxDQUNULG1EQUFtRDtvQkFDbkQscURBQXFEO29CQUNyRCx3REFBd0Q7b0JBQ3hELGdEQUFnRDtvQkFDaEQsb0RBQW9EO29CQUNwRCxnREFBZ0Q7b0JBQ2hELEVBQUUsRUFBRSxrQ0FBa0MsQ0FDdkMsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7O2tJQTlCVSxxQ0FBcUM7c0lBQXJDLHFDQUFxQyxjQUZwQyxNQUFNOzJGQUVQLHFDQUFxQztrQkFIakQsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb21tb25zU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hTZWN1cml0eUNvbnNvbGVDb25maWdTZXJ2aWNlIGV4dGVuZHMgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5nZXRpMThuKHRoaXMudHJhbnNsYXRlU2VydmljZSwgJ1NFUlZJQ0VTLldBUk5JTkcuQ09OU09MRScpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWYWxpZGF0aW9uKCkge1xuICAgIHRoaXMuX19vbmkxOG5EYXRhQ2hhbmdlZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IHsgX19pMThuIH0gPSB0aGlzO1xuICAgICAgY29uc3QgdGl0bGUgPSBfX2kxOG4/LlRJVExFO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IF9faTE4bj8uTUVTU0FHRTtcbiAgICAgIGlmICh0aXRsZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgJWMke3RpdGxlfWAsICdiYWNrZ3JvdW5kOiAjZjJmMDYxOyBjb2xvcjogI2ZmMDAwMDsgZm9udC1zaXplOiB4LWxhcmdlJyk7XG4gICAgICAgIGNvbnNvbGUubG9nKGAlYyR7bWVzc2FnZX1gLCAnZm9udC1zaXplOiB4LWxhcmdlJyk7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICclYyAgX18gIF9fICAgICAgICAgICAgIF8gICAgICAgICAgICAgX19fX19fICAgXFxuICcgK1xuICAgICAgICAgICd8ICBcXFxcLyAgfCBfX18gIF8gX18gfCB8IF9fX19fIF8gICBfXFxcXCBcXFxcIFxcXFwgXFxcXCAgXFxuICcgK1xuICAgICAgICAgIFwifCB8XFxcXC98IHwvIF8gXFxcXHwgJ18gXFxcXHwgfC8gLyBfIFxcXFwgfCB8IHxcXFxcIFxcXFwgXFxcXCBcXFxcIFxcbiBcIiArXG4gICAgICAgICAgJ3wgfCAgfCB8IChfKSB8IHwgfCB8ICAgPCAgX18vIHxffCB8LyAvIC8gLyBcXG4gJyArXG4gICAgICAgICAgJ3xffCAgfF98XFxcXF9fXy98X3wgfF98X3xcXFxcX1xcXFxfX198XFxcXF9fLCAvXy9fL18vICBcXG4gJyArXG4gICAgICAgICAgJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfF9fXy8gICAgICAgICBcXG4gJyArXG4gICAgICAgICAgJycsICdiYWNrZ3JvdW5kOiAjMTk3NmQyOyBjb2xvcjogI2ZmZidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseSgpIHtcbiAgICB0aGlzLmhhbmRsZVZhbGlkYXRpb24oKTtcbiAgfVxufVxuIl19
@@ -24,6 +24,7 @@ export class MonkeyEcxTokenStorageService {
24
24
  accessType: '',
25
25
  role: '',
26
26
  ownerGovernmentId: '',
27
+ name: '',
27
28
  _clearIgnore: {
28
29
  ignore: ['username', 'program', 'accessType']
29
30
  }
@@ -233,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
233
234
  providedIn: 'root'
234
235
  }]
235
236
  }], ctorParameters: function () { return [{ type: i1.MonkeyEcxConfigService }, { type: i2.Store }]; } });
236
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zdG9yYWdlL21vbmtleWVjeC10b2tlbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1wRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFNbkQsTUFBTSxPQUFPLDRCQUE0QjtJQU92QyxZQUNVLHNCQUE4QyxFQUM5QyxLQUFZO1FBRFosMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBRXBCLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLEVBQUU7WUFDZixVQUFVLEVBQUUsRUFBRTtZQUNkLElBQUksRUFBRSxFQUFFO1lBQ1IsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsVUFBVSxF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QixDQUFDLE1BQU0sQ0FBQztnQkFDOUIsSUFBSSxFQUFFO29CQUNKO3dCQUNFLFFBQVE7d0JBQ1IsR0FBRyxHQUFHO3FCQUNQO2lCQUNGO2FBQ0YsQ0FBQyxDQUNILENBQUM7U0FDSDtJQUNILENBQUM7O3lIQXpRVSw0QkFBNEI7NkhBQTVCLDRCQUE0QixjQUYzQixNQUFNOzJGQUVQLDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGFjdGlvbnMsIHNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcclxuaW1wb3J0IHtcclxuICBNb25rZXlFY3hNZUNyZWRlbnRpYWxzLFxyXG4gIE1vbmtleUVjeFN0b3JhZ2UsXHJcbiAgTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFsc1xyXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvbmZpZy9tb25rZXllY3gtY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSB0b2tlbjogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB8IG51bGw7XHJcblxyXG4gIHByaXZhdGUgdG9rZW4kOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB8IGFueT47XHJcblxyXG4gIHByaXZhdGUgbWUkOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4TWVDcmVkZW50aWFscyB8IGFueT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtb25rZXllY3hDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmVcclxuICApIHtcclxuICAgIHRoaXMudG9rZW4gPSB7XHJcbiAgICAgIHVzZXJuYW1lOiAnJyxcclxuICAgICAgcHJvZ3JhbTogJycsXHJcbiAgICAgIGFjY2Vzc1Rva2VuOiAnJyxcclxuICAgICAgcmVmcmVzaFRva2VuOiAnJyxcclxuICAgICAgY29tcGFueUlkOiAnJyxcclxuICAgICAgZ292ZXJubWVudElkOiAnJyxcclxuICAgICAgY29tcGFueVR5cGVVcmw6ICcnLFxyXG4gICAgICBjb21wYW55VHlwZTogJycsXHJcbiAgICAgIHByb2dyYW1BZG1pbjogZmFsc2UsXHJcbiAgICAgIHByb2dyYW1UeXBlOiAnJyxcclxuICAgICAgYWNjZXNzVHlwZTogJycsXHJcbiAgICAgIHJvbGU6ICcnLFxyXG4gICAgICBvd25lckdvdmVybm1lbnRJZDogJycsXHJcbiAgICAgIF9jbGVhcklnbm9yZToge1xyXG4gICAgICAgIGlnbm9yZTogWyd1c2VybmFtZScsICdwcm9ncmFtJywgJ2FjY2Vzc1R5cGUnXVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy50b2tlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG4gICAgdGhpcy5tZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRBbGxUb2tlbnModG9rZW46IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMpIHtcclxuICAgIGNvbnN0IHsgdG9rZW4kLCBzdG9yZSB9ID0gdGhpcztcclxuICAgIC8vICNUT0RPIC0gUmVtb3ZlciBlc3NlIGPDs2RpZ28gZSBhcGVuYXMgZGVpeGFyIG8gdXNlcm5hbWVcclxuICAgIC8vIHRvZG8gbyByZXN0YW50ZSBmaWNvdSBzYWx2byBuYSBzdG9yZSBjb20gYSBrZXUgc2VuZG8gbyB1c2VybmFtZVxyXG4gICAgT2JqZWN0LmVudHJpZXModG9rZW4pLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICBpZiAoTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh2YWx1ZSkpIHtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgdXNlcm5hbWUgPSB0b2tlbi51c2VybmFtZSB8fCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcm5hbWUnKTtcclxuICAgIGlmICh1c2VybmFtZSkge1xyXG4gICAgICBzdG9yZS5kaXNwYXRjaChcclxuICAgICAgICBhY3Rpb25zLm1vbmtleWVjeFN0b3JhZ2UuY3JlYXRlKHtcclxuICAgICAgICAgIGRhdGE6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHVzZXJuYW1lLFxyXG4gICAgICAgICAgICAgIC4uLnRva2VuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIF1cclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHRva2VuJC5uZXh0KHRva2VuKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgZ2V0QWxsVG9rZW5zKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgeyBzdG9yZSwgbW9ua2V5ZWN4Q29uZmlnU2VydmljZSB9ID0gdGhpcztcclxuICAgICAgY29uc3QgdXNlcm5hbWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcm5hbWUnKTtcclxuXHJcbiAgICAgIGxldCBkYXRhOiBhbnkgPSB7XHJcbiAgICAgICAgdXNlcm5hbWU6IHVzZXJuYW1lIHx8ICcnLFxyXG4gICAgICAgIHByb2dyYW06ICcnLFxyXG4gICAgICAgIGFjY2Vzc1Rva2VuOiAnJ1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgaWYgKHVzZXJuYW1lKSB7XHJcbiAgICAgICAgZGF0YSA9IGF3YWl0IHN0b3JlLnNlbGVjdChcclxuICAgICAgICAgIHNlbGVjdG9ycy5tb25rZXllY3hTdG9yYWdlLnNlbGVjdCh7IHVzZXJuYW1lIH0pXHJcbiAgICAgICAgKS5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIGlmICghZGF0YT8ucHJvZ3JhbSkge1xyXG4gICAgICAgICAgY29uc3QgcHJvZ3JhbSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdwcm9ncmFtJyk7XHJcbiAgICAgICAgICBkYXRhID0ge1xyXG4gICAgICAgICAgICAuLi5kYXRhLFxyXG4gICAgICAgICAgICBwcm9ncmFtXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgY29uZmlnID0gYXdhaXQgbW9ua2V5ZWN4Q29uZmlnU2VydmljZS5jb25maWcoKVxyXG4gICAgICAgIC5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xyXG5cclxuICAgICAgY29uc3QgYWNjZXNzVHlwZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhY2Nlc3NUeXBlJyk7XHJcbiAgICAgIGNvbnN0IGNvbXBhbnlUeXBlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NvbXBhbnlUeXBlJyk7XHJcblxyXG4gICAgICBpZiAoIWRhdGEuYWNjZXNzVG9rZW4pIHtcclxuICAgICAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhY2Nlc3NUb2tlbicpO1xyXG4gICAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdyZWZyZXNoVG9rZW4nKTtcclxuICAgICAgICBkYXRhID0ge1xyXG4gICAgICAgICAgLi4uZGF0YSxcclxuICAgICAgICAgIGFjY2Vzc1Rva2VuLFxyXG4gICAgICAgICAgcmVmcmVzaFRva2VuXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCFkYXRhLnJvbGUpIHtcclxuICAgICAgICBjb25zdCByb2xlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3JvbGUnKTtcclxuICAgICAgICBkYXRhID0ge1xyXG4gICAgICAgICAgLi4uZGF0YSxcclxuICAgICAgICAgIHJvbGVcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBoYW5kbGVkRGF0YSA9IHtcclxuICAgICAgICAuLi5kYXRhLFxyXG4gICAgICAgIGFjY2Vzc1R5cGUsXHJcbiAgICAgICAgY29tcGFueVR5cGVcclxuICAgICAgfTtcclxuICAgICAgaWYgKCFkYXRhPy5wcm9ncmFtICYmIGNvbmZpZz8ucHJvZ3JhbSkge1xyXG4gICAgICAgIGhhbmRsZWREYXRhLnByb2dyYW0gPSBjb25maWc/LnByb2dyYW0/LnRva2VuO1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSBoYW5kbGVkRGF0YT8ubWU7XHJcblxyXG4gICAgICByZXR1cm4gaGFuZGxlZERhdGE7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIC8vIG5vdCB0byBkb1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEFsbE1lKG1lOiBNb25rZXlFY3hNZUNyZWRlbnRpYWxzKSB7XHJcbiAgICBjb25zdCB7IG1lJCwgc3RvcmUgfSA9IHRoaXM7XHJcbiAgICBsZXQgcHJldmlvdXNNZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlPy5nZXRJdGVtKCdtZScpIHx8ICd7fScpO1xyXG4gICAgT2JqZWN0LmVudHJpZXMobWUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICBpZiAoTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh2YWx1ZSkpIHtcclxuICAgICAgICBwcmV2aW91c01lID0ge1xyXG4gICAgICAgICAgLi4ucHJldmlvdXNNZSxcclxuICAgICAgICAgIFtrZXldOiB2YWx1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHVzZXJuYW1lID0gbWUudXNlcm5hbWUgfHwgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJyk7XHJcbiAgICBpZiAodXNlcm5hbWUpIHtcclxuICAgICAgc3RvcmUuZGlzcGF0Y2goXHJcbiAgICAgICAgYWN0aW9ucy5tb25rZXllY3hTdG9yYWdlLmNyZWF0ZSh7XHJcbiAgICAgICAgICBkYXRhOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB1c2VybmFtZSxcclxuICAgICAgICAgICAgICBtZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICBdXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbWUnLCBKU09OLnN0cmluZ2lmeShwcmV2aW91c01lKSk7XHJcbiAgICBtZSQubmV4dChwcmV2aW91c01lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgZ2V0QWxsTWUoKSB7XHJcbiAgICBjb25zdCB7IHN0b3JlIH0gPSB0aGlzO1xyXG4gICAgY29uc3QgdXNlcm5hbWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcm5hbWUnKTtcclxuICAgIGxldCBkYXRhOiBNb25rZXlFY3hTdG9yYWdlIHwgdW5kZWZpbmVkID0ge1xyXG4gICAgICB1c2VybmFtZTogdXNlcm5hbWUgfHwgJycsXHJcbiAgICAgIHByb2dyYW06ICcnXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh1c2VybmFtZSkge1xyXG4gICAgICBkYXRhID0gYXdhaXQgc3RvcmUuc2VsZWN0KFxyXG4gICAgICAgIHNlbGVjdG9ycy5tb25rZXllY3hTdG9yYWdlLnNlbGVjdCh7IHVzZXJuYW1lIH0pXHJcbiAgICAgICkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaGFuZGxlZERhdGE6IGFueSA9IHtcclxuICAgICAgLi4uZGF0YVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoIWhhbmRsZWREYXRhLm1lKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgaGFuZGxlZERhdGEgPSB7XHJcbiAgICAgICAgICBtZTogSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbWUnKSB8fCAne30nKVxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAvLyBub3QgdG8gZG9cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBoYW5kbGVkRGF0YT8ubWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdG9rZW5IYXNDaGFuZ2VkKCk6IE9ic2VydmFibGU8TW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscz4ge1xyXG4gICAgcmV0dXJuIHRoaXMudG9rZW4kLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG1lSGFzQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPE1vbmtleUVjeE1lQ3JlZGVudGlhbHM+IHtcclxuICAgIHJldHVybiB0aGlzLm1lJC5hc09ic2VydmFibGUoKSB8fCBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFRva2VuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsVG9rZW5zKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0TWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRBbGxNZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFRva2VuKHRva2VuOiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzKSB7XHJcbiAgICB0aGlzLnNldEFsbFRva2Vucyh0b2tlbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0TWUobWU6IE1vbmtleUVjeE1lQ3JlZGVudGlhbHMpIHtcclxuICAgIHRoaXMuc2V0QWxsTWUobWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyKGZvcmNlPzogYm9vbGVhbik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3QgeyB0b2tlbiwgc3RvcmUgfSA9IHRoaXM7XHJcbiAgICB0cnkge1xyXG4gICAgICBPYmplY3QuZW50cmllcyh0b2tlbiB8fCB7fSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgKHRva2VuPy5fY2xlYXJJZ25vcmU/Lmlnbm9yZSB8fCBbXSkuZmlsdGVyKCh2YWw6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsID09PSBrZXk7XHJcbiAgICAgICAgICB9KS5sZW5ndGggPD0gMCB8fFxyXG4gICAgICAgICAgZm9yY2UgPT09IHRydWVcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdtZScpO1xyXG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnbWVjeC1zdG9yZScpO1xyXG4gICAgICBjb25zdCB1c2VybmFtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpO1xyXG4gICAgICBpZiAodXNlcm5hbWUpIHtcclxuICAgICAgICBzdG9yZS5kaXNwYXRjaChhY3Rpb25zLm1vbmtleWVjeFN0b3JhZ2UuZGVsZXRlT25lKHsgZGF0YTogeyB1c2VybmFtZSB9IH0pKTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgIH1cclxuICAgIHJldHVybiBvZih0cnVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBwYXJhbSBmaWVsZHMgKHRoZSBuYW1lIG9mIGZpZWxkcyB5b3Ugd2FudCB0byBjbGVhci4gaWU6IFsnY29tcGFueUlkJywgJ3JvbGUnLCAuLi5dKVxyXG4gICAqL1xyXG4gIHB1YmxpYyBjbGVhckNyZWRlbnRpYWxzKFxyXG4gICAgZmllbGRzID0gWydjb21wYW55SWQnLCAnZ292ZXJubWVudElkJywgJ2NvbXBhbnlUeXBlJywgJ3Byb2dyYW1BZG1pbicsICdyb2xlJ11cclxuICApIHtcclxuICAgIGNvbnN0IHsgc3RvcmUgfSA9IHRoaXM7XHJcbiAgICBsZXQgb2JqOiBhbnkgPSBudWxsO1xyXG4gICAgZmllbGRzPy5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICBvYmogPSB7XHJcbiAgICAgICAgLi4ub2JqLFxyXG4gICAgICAgIFtrZXldOiBudWxsXHJcbiAgICAgIH07XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCB1c2VybmFtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpO1xyXG4gICAgaWYgKHVzZXJuYW1lKSB7XHJcbiAgICAgIHN0b3JlLmRpc3BhdGNoKFxyXG4gICAgICAgIGFjdGlvbnMubW9ua2V5ZWN4U3RvcmFnZS5jcmVhdGUoe1xyXG4gICAgICAgICAgZGF0YTogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdXNlcm5hbWUsXHJcbiAgICAgICAgICAgICAgLi4ub2JqXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIF1cclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zdG9yYWdlL21vbmtleWVjeC10b2tlbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1wRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFNbkQsTUFBTSxPQUFPLDRCQUE0QjtJQU92QyxZQUNVLHNCQUE4QyxFQUM5QyxLQUFZO1FBRFosMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBRXBCLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLEVBQUU7WUFDZixVQUFVLEVBQUUsRUFBRTtZQUNkLElBQUksRUFBRSxFQUFFO1lBQ1IsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixJQUFJLEVBQUUsRUFBRTtZQUNSLFlBQVksRUFBRTtnQkFDWixN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Q0FDWixPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO2dCQUM5QixJQUFJLEVBQUU7b0JBQ0o7d0JBQ0UsUUFBUTt3QkFDUixHQUFHLEdBQUc7cUJBQ1A7aUJBQ0Y7YUFDRixDQUFDLENBQ0gsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7eUhBMVFVLDRCQUE0Qjs2SEFBNUIsNEJBQTRCLGNBRjNCLE1BQU07MkZBRVAsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGFjdGlvbnMsIHNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlJztcbmltcG9ydCB7XG4gIE1vbmtleUVjeE1lQ3JlZGVudGlhbHMsXG4gIE1vbmtleUVjeFN0b3JhZ2UsXG4gIE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHNcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvbW9ua2V5ZWN4LWNvbmZpZy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSB7XG4gIHByaXZhdGUgdG9rZW46IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMgfCBudWxsO1xuXG4gIHByaXZhdGUgdG9rZW4kOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB8IGFueT47XG5cbiAgcHJpdmF0ZSBtZSQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hNZUNyZWRlbnRpYWxzIHwgYW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1vbmtleWVjeENvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmVcbiAgKSB7XG4gICAgdGhpcy50b2tlbiA9IHtcbiAgICAgIHVzZXJuYW1lOiAnJyxcbiAgICAgIHByb2dyYW06ICcnLFxuICAgICAgYWNjZXNzVG9rZW46ICcnLFxuICAgICAgcmVmcmVzaFRva2VuOiAnJyxcbiAgICAgIGNvbXBhbnlJZDogJycsXG4gICAgICBnb3Zlcm5tZW50SWQ6ICcnLFxuICAgICAgY29tcGFueVR5cGVVcmw6ICcnLFxuICAgICAgY29tcGFueVR5cGU6ICcnLFxuICAgICAgcHJvZ3JhbUFkbWluOiBmYWxzZSxcbiAgICAgIHByb2dyYW1UeXBlOiAnJyxcbiAgICAgIGFjY2Vzc1R5cGU6ICcnLFxuICAgICAgcm9sZTogJycsXG4gICAgICBvd25lckdvdmVybm1lbnRJZDogJycsXG4gICAgICBuYW1lOiAnJyxcbiAgICAgIF9jbGVhcklnbm9yZToge1xuICAgICAgICBpZ25vcmU6IFsndXNlcm5hbWUnLCAncHJvZ3JhbScsICdhY2Nlc3NUeXBlJ11cbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMudG9rZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgICB0aGlzLm1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIH1cblxuICBwcml2YXRlIHNldEFsbFRva2Vucyh0b2tlbjogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscykge1xuICAgIGNvbnN0IHsgdG9rZW4kLCBzdG9yZSB9ID0gdGhpcztcbiAgICAvLyAjVE9ETyAtIFJlbW92ZXIgZXNzZSBjw7NkaWdvIGUgYXBlbmFzIGRlaXhhciBvIHVzZXJuYW1lXG4gICAgLy8gdG9kbyBvIHJlc3RhbnRlIGZpY291IHNhbHZvIG5hIHN0b3JlIGNvbSBhIGtldSBzZW5kbyBvIHVzZXJuYW1lXG4gICAgT2JqZWN0LmVudHJpZXModG9rZW4pLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgaWYgKE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodmFsdWUpKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgdXNlcm5hbWUgPSB0b2tlbi51c2VybmFtZSB8fCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcm5hbWUnKTtcbiAgICBpZiAodXNlcm5hbWUpIHtcbiAgICAgIHN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBhY3Rpb25zLm1vbmtleWVjeFN0b3JhZ2UuY3JlYXRlKHtcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHVzZXJuYW1lLFxuICAgICAgICAgICAgICAuLi50b2tlblxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdG9rZW4kLm5leHQodG9rZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRBbGxUb2tlbnMoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgc3RvcmUsIG1vbmtleWVjeENvbmZpZ1NlcnZpY2UgfSA9IHRoaXM7XG4gICAgICBjb25zdCB1c2VybmFtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpO1xuXG4gICAgICBsZXQgZGF0YTogYW55ID0ge1xuICAgICAgICB1c2VybmFtZTogdXNlcm5hbWUgfHwgJycsXG4gICAgICAgIHByb2dyYW06ICcnLFxuICAgICAgICBhY2Nlc3NUb2tlbjogJydcbiAgICAgIH07XG5cbiAgICAgIGlmICh1c2VybmFtZSkge1xuICAgICAgICBkYXRhID0gYXdhaXQgc3RvcmUuc2VsZWN0KFxuICAgICAgICAgIHNlbGVjdG9ycy5tb25rZXllY3hTdG9yYWdlLnNlbGVjdCh7IHVzZXJuYW1lIH0pXG4gICAgICAgICkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgICAgICAgaWYgKCFkYXRhPy5wcm9ncmFtKSB7XG4gICAgICAgICAgY29uc3QgcHJvZ3JhbSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdwcm9ncmFtJyk7XG4gICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICBwcm9ncmFtXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBjb25maWcgPSBhd2FpdCBtb25rZXllY3hDb25maWdTZXJ2aWNlLmNvbmZpZygpXG4gICAgICAgIC5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuXG4gICAgICBjb25zdCBhY2Nlc3NUeXBlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2FjY2Vzc1R5cGUnKTtcbiAgICAgIGNvbnN0IGNvbXBhbnlUeXBlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NvbXBhbnlUeXBlJyk7XG5cbiAgICAgIGlmICghZGF0YS5hY2Nlc3NUb2tlbikge1xuICAgICAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhY2Nlc3NUb2tlbicpO1xuICAgICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncmVmcmVzaFRva2VuJyk7XG4gICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICBhY2Nlc3NUb2tlbixcbiAgICAgICAgICByZWZyZXNoVG9rZW5cbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFkYXRhLnJvbGUpIHtcbiAgICAgICAgY29uc3Qgcm9sZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdyb2xlJyk7XG4gICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICByb2xlXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGhhbmRsZWREYXRhID0ge1xuICAgICAgICAuLi5kYXRhLFxuICAgICAgICBhY2Nlc3NUeXBlLFxuICAgICAgICBjb21wYW55VHlwZVxuICAgICAgfTtcbiAgICAgIGlmICghZGF0YT8ucHJvZ3JhbSAmJiBjb25maWc/LnByb2dyYW0pIHtcbiAgICAgICAgaGFuZGxlZERhdGEucHJvZ3JhbSA9IGNvbmZpZz8ucHJvZ3JhbT8udG9rZW47XG4gICAgICB9XG4gICAgICBkZWxldGUgaGFuZGxlZERhdGE/Lm1lO1xuXG4gICAgICByZXR1cm4gaGFuZGxlZERhdGE7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gbm90IHRvIGRvXG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBbGxNZShtZTogTW9ua2V5RWN4TWVDcmVkZW50aWFscykge1xuICAgIGNvbnN0IHsgbWUkLCBzdG9yZSB9ID0gdGhpcztcbiAgICBsZXQgcHJldmlvdXNNZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlPy5nZXRJdGVtKCdtZScpIHx8ICd7fScpO1xuICAgIE9iamVjdC5lbnRyaWVzKG1lKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgICBwcmV2aW91c01lID0ge1xuICAgICAgICAgIC4uLnByZXZpb3VzTWUsXG4gICAgICAgICAgW2tleV06IHZhbHVlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCB1c2VybmFtZSA9IG1lLnVzZXJuYW1lIHx8IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpO1xuICAgIGlmICh1c2VybmFtZSkge1xuICAgICAgc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIGFjdGlvbnMubW9ua2V5ZWN4U3RvcmFnZS5jcmVhdGUoe1xuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdXNlcm5hbWUsXG4gICAgICAgICAgICAgIG1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbWUnLCBKU09OLnN0cmluZ2lmeShwcmV2aW91c01lKSk7XG4gICAgbWUkLm5leHQocHJldmlvdXNNZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEFsbE1lKCkge1xuICAgIGNvbnN0IHsgc3RvcmUgfSA9IHRoaXM7XG4gICAgY29uc3QgdXNlcm5hbWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcm5hbWUnKTtcbiAgICBsZXQgZGF0YTogTW9ua2V5RWN4U3RvcmFnZSB8IHVuZGVmaW5lZCA9IHtcbiAgICAgIHVzZXJuYW1lOiB1c2VybmFtZSB8fCAnJyxcbiAgICAgIHByb2dyYW06ICcnXG4gICAgfTtcblxuICAgIGlmICh1c2VybmFtZSkge1xuICAgICAgZGF0YSA9IGF3YWl0IHN0b3JlLnNlbGVjdChcbiAgICAgICAgc2VsZWN0b3JzLm1vbmtleWVjeFN0b3JhZ2Uuc2VsZWN0KHsgdXNlcm5hbWUgfSlcbiAgICAgICkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgICB9XG5cbiAgICBsZXQgaGFuZGxlZERhdGE6IGFueSA9IHtcbiAgICAgIC4uLmRhdGFcbiAgICB9O1xuXG4gICAgaWYgKCFoYW5kbGVkRGF0YS5tZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaGFuZGxlZERhdGEgPSB7XG4gICAgICAgICAgbWU6IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ21lJykgfHwgJ3t9JylcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gbm90IHRvIGRvXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGhhbmRsZWREYXRhPy5tZTtcbiAgfVxuXG4gIHB1YmxpYyB0b2tlbkhhc0NoYW5nZWQoKTogT2JzZXJ2YWJsZTxNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzPiB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW4kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG1lSGFzQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPE1vbmtleUVjeE1lQ3JlZGVudGlhbHM+IHtcbiAgICByZXR1cm4gdGhpcy5tZSQuYXNPYnNlcnZhYmxlKCkgfHwgbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRUb2tlbigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbGxUb2tlbnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRNZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbGxNZSgpO1xuICB9XG5cbiAgcHVibGljIHNldFRva2VuKHRva2VuOiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzKSB7XG4gICAgdGhpcy5zZXRBbGxUb2tlbnModG9rZW4pO1xuICB9XG5cbiAgcHVibGljIHNldE1lKG1lOiBNb25rZXlFY3hNZUNyZWRlbnRpYWxzKSB7XG4gICAgdGhpcy5zZXRBbGxNZShtZSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoZm9yY2U/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyB0b2tlbiwgc3RvcmUgfSA9IHRoaXM7XG4gICAgdHJ5IHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRva2VuIHx8IHt9KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0b2tlbj8uX2NsZWFySWdub3JlPy5pZ25vcmUgfHwgW10pLmZpbHRlcigodmFsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtleTtcbiAgICAgICAgICB9KS5sZW5ndGggPD0gMCB8fFxuICAgICAgICAgIGZvcmNlID09PSB0cnVlXG4gICAgICAgICkge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnbWUnKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdtZWN4LXN0b3JlJyk7XG4gICAgICBjb25zdCB1c2VybmFtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpO1xuICAgICAgaWYgKHVzZXJuYW1lKSB7XG4gICAgICAgIHN0b3JlLmRpc3BhdGNoKGFjdGlvbnMubW9ua2V5ZWN4U3RvcmFnZS5kZWxldGVPbmUoeyBkYXRhOiB7IHVzZXJuYW1lIH0gfSkpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgIH1cbiAgICByZXR1cm4gb2YodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGZpZWxkcyAodGhlIG5hbWUgb2YgZmllbGRzIHlvdSB3YW50IHRvIGNsZWFyLiBpZTogWydjb21wYW55SWQnLCAncm9sZScsIC4uLl0pXG4gICAqL1xuICBwdWJsaWMgY2xlYXJDcmVkZW50aWFscyhcbiAgICBmaWVsZHMgPSBbJ2NvbXBhbnlJZCcsICdnb3Zlcm5tZW50SWQnLCAnY29tcGFueVR5cGUnLCAncHJvZ3JhbUFkbWluJywgJ3JvbGUnXVxuICApIHtcbiAgICBjb25zdCB7IHN0b3JlIH0gPSB0aGlzO1xuICAgIGxldCBvYmo6IGFueSA9IG51bGw7XG4gICAgZmllbGRzPy5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgb2JqID0ge1xuICAgICAgICAuLi5vYmosXG4gICAgICAgIFtrZXldOiBudWxsXG4gICAgICB9O1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHVzZXJuYW1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJuYW1lJyk7XG4gICAgaWYgKHVzZXJuYW1lKSB7XG4gICAgICBzdG9yZS5kaXNwYXRjaChcbiAgICAgICAgYWN0aW9ucy5tb25rZXllY3hTdG9yYWdlLmNyZWF0ZSh7XG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB1c2VybmFtZSxcbiAgICAgICAgICAgICAgLi4ub2JqXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -3347,7 +3347,7 @@ class MonkeyEcxSecurityConsoleConfigService extends MonkeyEcxCommonsService {
3347
3347
  '| | | | (_) | | | | < __/ |_| |/ / / / \n ' +
3348
3348
  '|_| |_|\\___/|_| |_|_|\\_\\___|\\__, /_/_/_/ \n ' +
3349
3349
  ' |___/ \n ' +
3350
- 'Join us: https://monkeyecx.gupy.io', 'background: #1976d2; color: #fff');
3350
+ '', 'background: #1976d2; color: #fff');
3351
3351
  }
3352
3352
  });
3353
3353
  }
@@ -3665,6 +3665,7 @@ class MonkeyEcxTokenStorageService {
3665
3665
  accessType: '',
3666
3666
  role: '',
3667
3667
  ownerGovernmentId: '',
3668
+ name: '',
3668
3669
  _clearIgnore: {
3669
3670
  ignore: ['username', 'program', 'accessType']
3670
3671
  }