@uiapplibct/ngx-reusa-app-lib 0.0.14 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/header/header.component.mjs +22 -4
- package/esm2022/lib/services/base-service.mjs +1 -1
- package/esm2022/lib/services/login/login.service.mjs +6 -2
- package/fesm2022/uiapplibct-ngx-reusa-app-lib.mjs +26 -4
- package/fesm2022/uiapplibct-ngx-reusa-app-lib.mjs.map +1 -1
- package/lib/components/header/header.component.d.ts +1 -0
- package/lib/components/header/header.component.d.ts.map +1 -1
- package/lib/services/base-service.d.ts +1 -0
- package/lib/services/base-service.d.ts.map +1 -1
- package/lib/services/login/login.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -83,7 +83,11 @@ export class LoginService {
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
getFullName() {
|
|
86
|
-
|
|
86
|
+
const mid = this.getUser().middleName;
|
|
87
|
+
const last = this.getUser().lastName;
|
|
88
|
+
return this.getUser().firstName
|
|
89
|
+
+ (mid != null && mid !== 'null' && mid !== '' ? ' ' + mid : '')
|
|
90
|
+
+ (last != null && last !== 'null' && last !== '' ? ' ' + last : '');
|
|
87
91
|
}
|
|
88
92
|
getIsUserProfileComplete() {
|
|
89
93
|
return this.getUser().userProfileComplete;
|
|
@@ -355,4 +359,4 @@ export class LoginService {
|
|
|
355
359
|
providedIn: 'root'
|
|
356
360
|
}]
|
|
357
361
|
}], () => [{ type: i1.UtilService }, { type: i2.Storage }, { type: i3.ClaimantContextService }], null); })();
|
|
358
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBU25ELE1BQU0sT0FBTyxZQUFZO0lBWXZCLFdBQVcsQ0FBQyxRQUFpQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFlO1FBQzNCLElBQUcsR0FBRyxFQUFDO1lBQ0wsSUFBSSxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7WUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQzdCLElBQUksQ0FBQyxR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QUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQWE7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBWTtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQ0FBaUMsQ0FBQyxNQUFlO1FBQy9DLElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFjLFlBQVksTUFBTSxFQUFFLENBQUM7aUJBQzNDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzs2RUExWlUsWUFBWTt1RUFBWixZQUFZLFdBQVosWUFBWSxtQkFGWCxNQUFNOztpRkFFUCxZQUFZO2NBSHhCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcbmltcG9ydCB7IE90cEF1dGhNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9PdHBBdXRoTW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyRGV0YWlsc01vZGVsJztcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyTW9kZWwnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnQGlvbmljL3N0b3JhZ2UtYW5ndWxhcic7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IENsYWltYW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbWFudC1jb250ZXh0L2NsYWltYW50LWNvbnRleHQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luU2VydmljZSB7XG5cbiAgb3B0aW9ucyA9IHt9O1xuXG4gIHByaXZhdGUgdXNlckJzIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBwcml2YXRlIHVzZXJJZEluVW5pdEJzIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIHByaXZhdGUgbWVudUJzIDogQmVoYXZpb3JTdWJqZWN0PE1lbnVJdGVtW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBwcml2YXRlIHVzZXIgOiBVc2VyTW9kZWw7XG5cbiAgcHJpdmF0ZSBhdXRoQ29kZSA6IHN0cmluZztcblxuICBzZXRBdXRoQ29kZShhdXRoY29kZSA6IHN0cmluZyl7XG4gICAgdGhpcy5hdXRoQ29kZSA9IGF1dGhjb2RlO1xuICB9XG5cbiAgZ2V0QXV0aGNvZGUoKXtcbiAgICByZXR1cm4gdGhpcy5hdXRoQ29kZTtcbiAgfVxuXG4gIGdldFVzZXIoKSA6IFVzZXJNb2RlbHtcbiAgICByZXR1cm4gdGhpcy51c2VyQnMuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldFVzZXJCcygpIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbD57XG4gICAgcmV0dXJuIHRoaXMudXNlckJzO1xuICB9XG5cbiAgZ2V0TWVudUJzKCkgOiBCZWhhdmlvclN1YmplY3Q8TWVudUl0ZW1bXT57XG4gICAgcmV0dXJuIHRoaXMubWVudUJzO1xuICB9XG5cbiAgYXN5bmMgc2V0VXNlcihyZXMgOiBVc2VyTW9kZWwpe1xuICAgIGlmKHJlcyl7XG4gICAgICBsZXQgdXNlciA9IG5ldyBVc2VyTW9kZWwoKTtcbiAgICAgIHVzZXIuZmlyc3ROYW1lID0gcmVzLmZpcnN0TmFtZTtcbiAgICAgIHVzZXIubGFzdE5hbWUgPSByZXMubGFzdE5hbWU7XG4gICAgICB1c2VyLnVzZXJuYW1lID0gcmVzWyd1c2VyX25hbWUnXTtcbiAgICAgIHVzZXIubWlkZGxlTmFtZSA9IHJlcy5taWRkbGVOYW1lO1xuICAgICAgdXNlci5pc0FjdGl2ZSA9IHJlcy5pc0FjdGl2ZVxuICAgICAgdXNlci5yb2xlcyA9IHJlcy5yb2xlcztcbiAgICAgIHVzZXIuZnVuY3Rpb25zID0gcmVzLmZ1bmN0aW9ucztcbiAgICAgIHVzZXIuZG9iID0gcmVzLmRvYjtcbiAgICAgIHVzZXIudXNlclR5cGUgPSByZXMudXNlclR5cGU7XG4gICAgICB1c2VyLmdlbmRlciA9IHJlcy5nZW5kZXI7XG4gICAgICB1c2VyLmVtYWlsSWQ9cmVzLmVtYWlsSWQ7XG4gICAgICB1c2VyLnBhc3N3b3JkRXhwaXJhdGlvbkRhdGUgPSByZXMucGFzc3dvcmRFeHBpcmF0aW9uRGF0ZTtcbiAgICAgIHVzZXIuZW1haWxTdGF0dXMgPSByZXMuZW1haWxTdGF0dXM7XG4gICAgICB1c2VyLmlzTG9nZ2VkSW4gPSByZXMuaXNMb2dnZWRJbjtcbiAgICAgIHVzZXIuY2hhbmdlUHdkID0gcmVzLmNoYW5nZVB3ZDtcbiAgICAgIHVzZXIuZXhwaXJhdGlvbiA9IHJlcy5leHBpcmF0aW9uO1xuICAgICAgdXNlci5leHBpcmVzX2luID0gcmVzLmV4cGlyZXNfaW47XG4gICAgICB1c2VyLnNzbiA9IHJlcy5zc247XG4gICAgICB1c2VyLmNsYWltYW50SWQgPSByZXMuY2xhaW1hbnRJZDtcbiAgICAgIHVzZXIuZW1wbG95ZXJJZCA9IHJlcy5lbXBsb3llcklkO1xuICAgICAgdXNlci5jb29raWVOYW1lID0gcmVzLmNvb2tpZU5hbWU7XG4gICAgICB1c2VyLmNvb2tpZVZhbHVlID0gcmVzLmNvb2tpZVZhbHVlO1xuICAgICAgdXNlci51c2VyVW5pdCA9IHJlcy51c2VyVW5pdDtcbiAgICAgIHVzZXIuZG9tYWluTmFtZSA9IHJlcy5kb21haW5OYW1lO1xuICAgICAgdXNlci5pczJGQVJlcXVpcmVkID0gcmVzLmlzMkZBUmVxdWlyZWQ7XG4gICAgICB1c2VyLmRheXNUaWxsUGFzc3dvcmRFeHBpcmUgPSByZXMuZGF5c1RpbGxQYXNzd29yZEV4cGlyZTtcbiAgICAgIHVzZXIuaXNFbWFpbFZlcmlmaWNhdGlvblJlcXVpcmVkID0gcmVzLmlzRW1haWxWZXJpZmljYXRpb25SZXF1aXJlZDtcbiAgICAgIHVzZXIuY2VsbHBob25lTm8gPSByZXMuY2VsbHBob25lTm87XG4gICAgICB1c2VyLmNlbGxwaG9uZVN0YXR1cyA9IHJlcy5jZWxscGhvbmVTdGF0dXM7XG4gICAgICB1c2VyLnN1cHBvcnRlZE1mYVR5cGVzID0gcmVzLnN1cHBvcnRlZE1mYVR5cGVzO1xuICAgICAgaWYocmVzLmFjY2Vzc190b2tlbiAmJiByZXMucmVmcmVzaF90b2tlbil7XG4gICAgICAgIHVzZXIuYWNjZXNzX3Rva2VuID0gcmVzLmFjY2Vzc190b2tlbjtcbiAgICAgICAgdXNlci5yZWZyZXNoX3Rva2VuID0gcmVzLnJlZnJlc2hfdG9rZW47XG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ2FjY2Vzc190b2tlbicsIHJlcy5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdyZWZyZXNoX3Rva2VuJywgcmVzLnJlZnJlc2hfdG9rZW4pO1xuICAgICAgfWVsc2V7XG4gICAgICAgIHVzZXIuYWNjZXNzX3Rva2VuID0gdGhpcy51c2VyLmFjY2Vzc190b2tlbjtcbiAgICAgICAgdXNlci5yZWZyZXNoX3Rva2VuID0gdGhpcy51c2VyLnJlZnJlc2hfdG9rZW47XG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ2FjY2Vzc190b2tlbicsIHRoaXMudXNlci5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdyZWZyZXNoX3Rva2VuJywgdGhpcy51c2VyLnJlZnJlc2hfdG9rZW4pO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNldCgndXNlcm5hbWUnLCBidG9hKHVzZXIudXNlcm5hbWUpKTtcbiAgICAgIGxldCBzaG93X2Rpc2Nsb3N1cmUgPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KCdzaG93X2Rpc2Nsb3N1cmUnKTtcbiAgICAgIGlmKHNob3dfZGlzY2xvc3VyZSA9PSBudWxsIHx8IHNob3dfZGlzY2xvc3VyZSA9PSB1bmRlZmluZWQgfHwgc2hvd19kaXNjbG9zdXJlICE9ICdmYWxzZScpe1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdzaG93X2Rpc2Nsb3N1cmUnLCAndHJ1ZScpO1xuICAgICAgfVxuICAgICAgdGhpcy51c2VyID0gdXNlcjtcbiAgICAgIHRoaXMudXNlckJzLm5leHQodGhpcy51c2VyKTtcbiAgICAgIGlmKHRoaXMudXRpbC5pc1N0YXRlKCdtcycpKXtcbiAgICAgICAgaWYoIXVzZXIuaXMyRkFSZXF1aXJlZCl7XG4gICAgICAgICAgdGhpcy5jcmVhdGVDb29raWUoTGliQ29uc3RhbnRzLnNzb0Nvb2tpZU5hbWUsIGBcIiR7dXNlci5jb29raWVWYWx1ZX1cImAsIHVzZXIuZXhwaXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKS5maXJzdE5hbWUgKyAodGhpcy5nZXRVc2VyKCkubWlkZGxlTmFtZSAhPSBudWxsID8gJyAnICsgdGhpcy5nZXRVc2VyKCkubWlkZGxlTmFtZSA6ICcnKSArICcgJyArIHRoaXMuZ2V0VXNlcigpLmxhc3ROYW1lO1xuICB9XG5cbiAgZ2V0SXNVc2VyUHJvZmlsZUNvbXBsZXRlKCl7XG4gICAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkudXNlclByb2ZpbGVDb21wbGV0ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsIDogVXRpbFNlcnZpY2UsIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZSwgcHJpdmF0ZSBjbGFpbWFudENvbnRleHRTZXJ2aWNlIDogQ2xhaW1hbnRDb250ZXh0U2VydmljZSkgeyBcbiAgICBcbiAgfVxuXG4gIGdldFVzZXJQZXJzb25hbERldGFpbHMoKSA6IE9ic2VydmFibGU8VXNlckRldGFpbHNNb2RlbD57XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8VXNlckRldGFpbHNNb2RlbD4oJ3VzZXIvZGV0YWlscy8nICsgdGhpcy51c2VyLnVzZXJuYW1lKTtcbiAgfVxuXG4gIGdlbmVyYXRlT3RwKHVzZXJJZCA6IHN0cmluZywgdHlwZSA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvdjIvb3RwLyR7dXNlcklkfT90eXBlPSR7dHlwZX1gKTtcbiAgfVxuXG4gIGxvZ2luKGF1dGggOiBPdHBBdXRoTW9kZWwpe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIC8vXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ3Bhc3N3b3JkJyk7XG4gICAgYXV0aERhdGEuc2V0KCd1c2VybmFtZScsIGF1dGgudXNlcklkKTtcbiAgICBhdXRoRGF0YS5zZXQoJ3Bhc3N3b3JkJywgYXV0aC5wYXNzd29yZCk7XG5cbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KCdvYXV0aC90b2tlbicsIGF1dGhEYXRhLHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBsb2dpbkFuZENoZWNrRm9yTUZBKGF1dGggOiBPdHBBdXRoTW9kZWwpe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIC8vXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ21mYScpO1xuICAgIGF1dGhEYXRhLnNldCgndXNlcm5hbWUnLCBhdXRoLnVzZXJJZCk7XG4gICAgYXV0aERhdGEuc2V0KCdwYXNzd29yZCcsIGF1dGgucGFzc3dvcmQpO1xuICAgIGlmKGF1dGgub3RwKXtcbiAgICAgIGF1dGhEYXRhLnNldCgnbWZhX2NvZGUnLCBhdXRoLm90cCk7XG4gICAgICBhdXRoRGF0YS5zZXQoJ2lzX3RydXN0ZWRfZGV2aWNlJywgYXV0aC5pc3RydXN0ZWREZXZpY2UpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdEZvcm1EYXRhPFVzZXJNb2RlbD4oJ29hdXRoL3Rva2VuJywgYXV0aERhdGEsdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbihyZWZyZXNoVG9rZW4pe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIFwiQWNjZXB0XCIgOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiLFxuICAgICAgJ0F1dGhvcml6YXRpb24nOiBgQmFzaWMgYCArIGJ0b2EoYCR7TGliQ29uc3RhbnRzLm9hdXRoQ2xpZW50VXNlcn06JHtMaWJDb25zdGFudHMub2F1dGhDbGllbnRTZWNyZXR9YClcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ3JlZnJlc2hfdG9rZW4nKTtcbiAgICBhdXRoRGF0YS5zZXQoJ2NsaWVudF9pZCcsIExpYkNvbnN0YW50cy5vYXV0aENsaWVudFVzZXIpO1xuICAgIGF1dGhEYXRhLnNldCgncmVmcmVzaF90b2tlbicsIHJlZnJlc2hUb2tlbik7XG5cbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KGBvYXV0aC90b2tlbmAsIGF1dGhEYXRhLCB0aGlzLm9wdGlvbnMpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgcmVmcmVzaFRva2VuV2luZ3MocmVmcmVzaFRva2VuKXtcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICBcIkFjY2VwdFwiIDogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIixcbiAgICAgICdBdXRob3JpemF0aW9uJzogYEJhc2ljIGAgKyBidG9hKGAke0xpYkNvbnN0YW50cy5vYXV0aFdpbmdzQ2xpZW50VXNlcn06JHtMaWJDb25zdGFudHMub2F1dGhXaW5nc0NsaWVudFNlY3JldH1gKVxuICAgIH0pO1xuICAgIHRoaXMub3B0aW9ucyA9IHsgaGVhZGVyczogaGVhZGVycyB9O1xuXG4gICAgbGV0IGF1dGhEYXRhIDogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBhdXRoRGF0YS5zZXQoJ2dyYW50X3R5cGUnLCAncmVmcmVzaF90b2tlbicpO1xuICAgIGF1dGhEYXRhLnNldCgnY2xpZW50X2lkJywgTGliQ29uc3RhbnRzLm9hdXRoV2luZ3NDbGllbnRVc2VyKTtcbiAgICBhdXRoRGF0YS5zZXQoJ3JlZnJlc2hfdG9rZW4nLCByZWZyZXNoVG9rZW4pO1xuXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0Rm9ybURhdGE8VXNlck1vZGVsPihgb2F1dGgvdG9rZW5gLCBhdXRoRGF0YSwgdGhpcy5vcHRpb25zKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVRva2VuUG9zdFNzb1ZhbGlkYXRpb24oKXtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7XG4gICAgY29uc3QgYm9keSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgZ3JhbnRfdHlwZTogJ2N1c3RvbV9zc28nXG4gICAgfSkudG9TdHJpbmcoKTtcblxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdEZvcm1EYXRhPFVzZXJNb2RlbD4oJ29hdXRoL3Rva2VuJywgYm9keSwgeyBoZWFkZXJzLHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRVc2VySW5mbygpe1xuICAgICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICBcIkFjY2VwdFwiIDogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxuICAgICAgfSk7XG4gICAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcbiAgICAgIGxldCBhdXRoVG9rZW4gPSBhd2FpdCB0aGlzLmdldFN0b3JlZEFjY2Vzc1RvcGVuKCk7XG4gICAgICByZXR1cm4gdGhpcy51dGlsLmdldDxVc2VyTW9kZWw+KGBvYXV0aC9jaGVja190b2tlbj90b2tlbj0ke2F1dGhUb2tlbn1gKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFN0b3JlZEFjY2Vzc1RvcGVuKCl7XG4gICAgbGV0IGFjY2Vzc1Rva2VuID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldCgnYWNjZXNzX3Rva2VuJykudGhlbihyZXMgPT4gcmVzKTtcbiAgICByZXR1cm4gYWNjZXNzVG9rZW47XG4gIH1cblxuICBnZW5lcmF0ZU90cFVucmVnaXN0ZXJlZChtb2JpbGVObyA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoJ2F1dGgvb3RwL25ld3VzZXIvJyArIG1vYmlsZU5vKTtcbiAgfVxuXG4gIHNpZ25VcCh1c2VyTW9kZWwgOiBVc2VyTW9kZWwpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdCgndXNlcicsIHVzZXJNb2RlbCk7XG4gIH1cblxuICB1cGRhdGVQZXJzb25hbERldGFpbHModXNyRHRscyA6IFVzZXJEZXRhaWxzTW9kZWwpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdCgndXNlci9kZXRhaWxzJywgdXNyRHRscyk7XG4gIH1cblxuICByZXNldCgpe1xuICAgIHRoaXMudXNlciA9IG51bGw7XG4gICAgdGhpcy51c2VyQnMubmV4dChudWxsKTtcbiAgICB0aGlzLm1lbnVCcy5uZXh0KG51bGwpO1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoJ2FjY2Vzc190b2tlbicpO1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoJ3JlZnJlc2hfdG9rZW4nKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCdzaG93X2Rpc2Nsb3N1cmUnKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCd1c2VybmFtZScpO1xuICAgIHRoaXMuY2xhaW1hbnRDb250ZXh0U2VydmljZS5jbGVhckNvbnRleHQoKTtcbiAgICB0aGlzLnJlbW92ZUNvb2tpZXMoKTtcbiAgfVxuXG4gIHJlbW92ZUNvb2tpZXMoKXtcbiAgICB0aGlzLmRlbGV0ZUNvb2tpZSgnYXQnKTtcbiAgICB0aGlzLmRlbGV0ZUNvb2tpZSgncnQnKTtcbiAgICB0aGlzLmRlbGV0ZUNvb2tpZShMaWJDb25zdGFudHMuc3NvQ29va2llTmFtZSk7XG4gIH1cblxuICBkZWxldGVDb29raWUoY29va2llTmFtZSl7XG4gICAgbGV0IGNvb2tpZSA9IGAke2Nvb2tpZU5hbWV9PTsgTWF4LUFnZT0wOyBwYXRoPS87IGRvbWFpbj0ke0xpYkNvbnN0YW50cy5zc29Eb21haW59YDtcbiAgICBkb2N1bWVudC5jb29raWUgPSBjb29raWU7XG4gIH1cblxuICBjcmVhdGVDb29raWUoY29va2llTmFtZSwgdmFsdWUsIGV4cGlyYXRpb24pe1xuICAgIGxldCBjb29raWUgPSBgJHtjb29raWVOYW1lfT0ke3ZhbHVlfTsgZXhwaXJlcz0ke2V4cGlyYXRpb24gKyAnLjAwMCd9OyBwYXRoPS87IGRvbWFpbj0ke0xpYkNvbnN0YW50cy5zc29Eb21haW59YDtcbiAgICBkb2N1bWVudC5jb29raWUgPSBjb29raWU7XG4gIH1cblxuICBsb2dvdXQoKXtcbiAgICBpZih0aGlzLnVzZXIpe1xuICAgICAgdGhpcy51dGlsLmdldCgndXNlci9sb2dvdXQnKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH1lbHNle1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cbiAgfVxuXG4gIGlzTG9nZ2VkSW4oKXtcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5pc0xvZ2dlZEluO1xuICB9XG5cbiAgaXMyRkFSZXF1aXJlZCgpe1xuICAgIHJldHVybiB0aGlzLnVzZXIgJiYgdGhpcy51c2VyLmlzMkZBUmVxdWlyZWQ7XG4gIH1cblxuICB1cGRhdGVQcm9maWxlKHVzZXIgOiBVc2VyTW9kZWwpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdCgndXNlci9wcm9maWxlJywgdXNlcik7XG4gIH1cblxuICB1cGRhdGVQYXNzd29yZChvbGRQYXNzd29yZCwgbmV3UGFzc3dvcmQsIGNvbmZpcm1QYXNzd29yZCl7XG4gICAgbGV0IHB3ZENoYW5nZU1vZGVsIDoge29sZFBhc3N3b3JkOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIGNvbmZpcm1QYXNzd29yZDogc3RyaW5nfSA9IHtvbGRQYXNzd29yZDogb2xkUGFzc3dvcmQsIHBhc3N3b3JkOiBuZXdQYXNzd29yZCwgY29uZmlybVBhc3N3b3JkOiBjb25maXJtUGFzc3dvcmR9O1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdChgdXNlci9wYXNzd29yZC8ke3RoaXMuZ2V0VXNlcigpLnVzZXJuYW1lfWAsIHB3ZENoYW5nZU1vZGVsKTtcbiAgfVxuXG4gIGluaXRpYXRlRm9yZ290UGFzc3dvcmQodXNlcklkIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9wYXNzd29yZC9yZXNldC8ke3VzZXJJZH1gKTtcbiAgfVxuXG4gIGluaXRpYXRlRm9yZ290UGFzc3dvcmRWMih1c2VySWQgOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0KGB1c2VyL3YyL3Bhc3N3b3JkL3Jlc2V0LyR7dXNlcklkfWApO1xuICB9XG5cbiAgaGFzUm9sZShyb2xlTmFtZSA6IHN0cmluZykgOiBib29sZWFue1xuICAgIHJldHVybiB0aGlzLnVzZXIgJiYgdGhpcy51c2VyLnJvbGVzICYmIHRoaXMudXNlci5yb2xlcy5pbmNsdWRlcyhyb2xlTmFtZSk7XG4gIH1cblxuICBoYXNGdW5jdGlvbihmdW5jdGlvbk5hbWUgOiBzdHJpbmcpIDogYm9vbGVhbntcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5mdW5jdGlvbnMgJiYgdGhpcy51c2VyLmZ1bmN0aW9ucy5pbmNsdWRlcyhmdW5jdGlvbk5hbWUpO1xuICB9XG5cbiAgaGFzUm9sZXMoLi4ucm9sZXMgOiBzdHJpbmdbXSl7XG4gICAgbGV0IGlzUHJlc2VudCA9IGZhbHNlO1xuICAgIGZvcih2YXIgaSA9IDAgOyBpIDwgcm9sZXMubGVuZ3RoIDsgaSsrKXtcbiAgICAgIGlmKHRoaXMuaGFzUm9sZShyb2xlc1tpXS50b1N0cmluZygpKSl7XG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNQcmVzZW50O1xuICB9XG5cbiAgaGFzRnVuY3Rpb25zKC4uLmZ1bmN0aW9ucyA6IHN0cmluZ1tdKXtcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XG4gICAgZm9yKHZhciBpID0gMCA7IGkgPCBmdW5jdGlvbnMubGVuZ3RoIDsgaSsrKXtcbiAgICAgIGlmKHRoaXMuaGFzRnVuY3Rpb24oZnVuY3Rpb25zW2ldKSl7XG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNQcmVzZW50O1xuICB9XG5cbiAgY2hlY2tSb2xlcyhyb2xlcyA6IHN0cmluZ1tdKXtcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XG4gICAgZm9yKHZhciBpID0gMCA7IGkgPCByb2xlcy5sZW5ndGggOyBpKyspe1xuICAgICAgaWYodGhpcy5oYXNSb2xlKHJvbGVzW2ldLnRvU3RyaW5nKCkpKXtcbiAgICAgICAgaXNQcmVzZW50ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc1ByZXNlbnQ7XG4gIH1cblxuICBjaGVja0Z1bmN0aW9ucyhmdW5jdGlvbnMgOiBzdHJpbmdbXSl7XG4gICAgbGV0IGlzUHJlc2VudCA9IGZhbHNlO1xuICAgIGZvcih2YXIgaSA9IDAgOyBpIDwgZnVuY3Rpb25zLmxlbmd0aCA7IGkrKyl7XG4gICAgICBpZih0aGlzLmhhc0Z1bmN0aW9uKGZ1bmN0aW9uc1tpXSkpe1xuICAgICAgICBpc1ByZXNlbnQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGlzUHJlc2VudDtcbiAgfVxuXG4gIGlzQ3NyKCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnTURFUydcbiAgfVxuXG4gIGlzVGF4QXVkaXRTdXBlcnZpc29yKCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuaGFzUm9sZSgndGF4YXVkaXRzdXBlcnZpc29yJykgJiZ0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ01ERVMnIFxuICB9XG5cbiAgaXNUYXhBdWRpdEF1ZGl0b3IoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5oYXNSb2xlKCd0YXhhdWRpdHNwZWNpYWxpc3QnKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ01ERVMnXG4gIH1cblxuICBpc1RheEF1ZGl0RGlyZWN0b3IoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5oYXNSb2xlKCd0YXhBdWRpdERpcmVjdG9yJykgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdNREVTJ1xuICB9XG5cbiAgaXNFbXBsb3llcigpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ0VNUEwnXG4gIH1cblxuICBpc1RwYSgpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ1RQQSdcbiAgfVxuXG4gIGlzQ2xhaW1hbnQoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdDTE1UJ1xuICB9XG5cbiAgaGFzU3NuQXNzb2NpYXRlZCgpIDogYm9vbGVhbntcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdDTE1UJyAmJiB0aGlzLmdldFVzZXIoKS5zc24gIT09IHVuZGVmaW5lZCBcbiAgfVxuXG4gIGdldFVzZXJNZW51cygpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0PE1lbnVJdGVtW10+KGBtZW51L2ApO1xuICB9XG5cbiAgbWFya0ZhdihtZW51SWQgOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdDxNZW51SXRlbVtdPihgbWVudS9mYXYvJHttZW51SWR9YCwgbnVsbCk7XG4gIH1cblxuICByZW1vdmVGYXYobWVudUlkIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmRlbGV0ZTxNZW51SXRlbVtdPihgbWVudS9mYXYvJHttZW51SWR9YCk7XG4gIH1cblxuICBnZXRGYXZvdXJpdGVNZW51KCl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8TWVudUl0ZW1bXT4oYG1lbnUvZmF2YCk7XG4gIH1cblxuICBnZXRUcmVuZGluZ01lbnUoKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldDxNZW51SXRlbVtdPihgbWVudS90cmVuZGluZ2ApO1xuICB9XG5cbiAgdmVyaWZ5RW1haWwoY29kZSA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0KGB1c2VyL2VtYWlsLyR7Y29kZX1gLCBudWxsKTtcbiAgfVxuXG4gIGdldE5ld0NvZGUoKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9lbWFpbGApO1xuICB9XG5cbiAgdXBkYXRlRW1haWxBbmRHZXROZXdDb2RlKGVtYWlsIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBhdGNoKGB1c2VyL2VtYWlsLyR7ZW1haWx9YCwgbnVsbCk7XG4gIH1cblxuICBnZXROZXdBdXRoQ29kZSh0eXBlIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9vdHA/dHlwZT0ke3R5cGV9YCk7XG4gIH1cblxuICBhc3NvY2lhdGVTc25Ub1VzZXJJZChzc24gOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdChgY2xhaW1hbnQvYXNzb2NpYXRlLXNzbi8ke3Nzbn1gLCBudWxsKTtcbiAgfVxuXG4gIGdldFVzZXJJZEluVW5pdEJzKCl7XG4gICAgcmV0dXJuIHRoaXMudXNlcklkSW5Vbml0QnM7XG4gIH1cblxuICBsb2FkVXNlcklkc0Zyb21Vbml0T2ZMb2dnZWRJblVzZXIodW5pdElkIDogc3RyaW5nKXtcbiAgICBpZih0aGlzLnVzZXJJZEluVW5pdEJzLmdldFZhbHVlKCkgPT0gbnVsbClcbiAgICAgIHRoaXMudXRpbC5nZXQ8VXNlck1vZGVsW10+KGB1c2VyL2FsbC8ke3VuaXRJZH1gKVxuICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHRoaXMudXNlcklkSW5Vbml0QnMubmV4dChyZXMpKTtcbiAgfVxufVxuIl19
|
|
362
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBU25ELE1BQU0sT0FBTyxZQUFZO0lBWXZCLFdBQVcsQ0FBQyxRQUFpQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFlO1FBQzNCLElBQUcsR0FBRyxFQUFDO1lBQ0wsSUFBSSxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7WUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQzdCLElBQUksQ0FBQyxR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QUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQWM7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxjQUFjLENBQUMsSUFBYTtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUFZO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELGlDQUFpQyxDQUFDLE1BQWU7UUFDL0MsSUFBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUk7WUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWMsWUFBWSxNQUFNLEVBQUUsQ0FBQztpQkFDM0MsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDOzZFQTlaVSxZQUFZO3VFQUFaLFlBQVksV0FBWixZQUFZLG1CQUZYLE1BQU07O2lGQUVQLFlBQVk7Y0FIeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xuaW1wb3J0IHsgT3RwQXV0aE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL090cEF1dGhNb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGV0YWlsc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1VzZXJEZXRhaWxzTW9kZWwnO1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1VzZXJNb2RlbCc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uL3V0aWwvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAaW9uaWMvc3RvcmFnZS1hbmd1bGFyJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQ2xhaW1hbnRDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltYW50LWNvbnRleHQvY2xhaW1hbnQtY29udGV4dC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9naW5TZXJ2aWNlIHtcblxuICBvcHRpb25zID0ge307XG5cbiAgcHJpdmF0ZSB1c2VyQnMgOiBCZWhhdmlvclN1YmplY3Q8VXNlck1vZGVsPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIHByaXZhdGUgdXNlcklkSW5Vbml0QnMgOiBCZWhhdmlvclN1YmplY3Q8VXNlck1vZGVsW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgcHJpdmF0ZSBtZW51QnMgOiBCZWhhdmlvclN1YmplY3Q8TWVudUl0ZW1bXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIHByaXZhdGUgdXNlciA6IFVzZXJNb2RlbDtcblxuICBwcml2YXRlIGF1dGhDb2RlIDogc3RyaW5nO1xuXG4gIHNldEF1dGhDb2RlKGF1dGhjb2RlIDogc3RyaW5nKXtcbiAgICB0aGlzLmF1dGhDb2RlID0gYXV0aGNvZGU7XG4gIH1cblxuICBnZXRBdXRoY29kZSgpe1xuICAgIHJldHVybiB0aGlzLmF1dGhDb2RlO1xuICB9XG5cbiAgZ2V0VXNlcigpIDogVXNlck1vZGVse1xuICAgIHJldHVybiB0aGlzLnVzZXJCcy5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0VXNlckJzKCkgOiBCZWhhdmlvclN1YmplY3Q8VXNlck1vZGVsPntcbiAgICByZXR1cm4gdGhpcy51c2VyQnM7XG4gIH1cblxuICBnZXRNZW51QnMoKSA6IEJlaGF2aW9yU3ViamVjdDxNZW51SXRlbVtdPntcbiAgICByZXR1cm4gdGhpcy5tZW51QnM7XG4gIH1cblxuICBhc3luYyBzZXRVc2VyKHJlcyA6IFVzZXJNb2RlbCl7XG4gICAgaWYocmVzKXtcbiAgICAgIGxldCB1c2VyID0gbmV3IFVzZXJNb2RlbCgpO1xuICAgICAgdXNlci5maXJzdE5hbWUgPSByZXMuZmlyc3ROYW1lO1xuICAgICAgdXNlci5sYXN0TmFtZSA9IHJlcy5sYXN0TmFtZTtcbiAgICAgIHVzZXIudXNlcm5hbWUgPSByZXNbJ3VzZXJfbmFtZSddO1xuICAgICAgdXNlci5taWRkbGVOYW1lID0gcmVzLm1pZGRsZU5hbWU7XG4gICAgICB1c2VyLmlzQWN0aXZlID0gcmVzLmlzQWN0aXZlXG4gICAgICB1c2VyLnJvbGVzID0gcmVzLnJvbGVzO1xuICAgICAgdXNlci5mdW5jdGlvbnMgPSByZXMuZnVuY3Rpb25zO1xuICAgICAgdXNlci5kb2IgPSByZXMuZG9iO1xuICAgICAgdXNlci51c2VyVHlwZSA9IHJlcy51c2VyVHlwZTtcbiAgICAgIHVzZXIuZ2VuZGVyID0gcmVzLmdlbmRlcjtcbiAgICAgIHVzZXIuZW1haWxJZD1yZXMuZW1haWxJZDtcbiAgICAgIHVzZXIucGFzc3dvcmRFeHBpcmF0aW9uRGF0ZSA9IHJlcy5wYXNzd29yZEV4cGlyYXRpb25EYXRlO1xuICAgICAgdXNlci5lbWFpbFN0YXR1cyA9IHJlcy5lbWFpbFN0YXR1cztcbiAgICAgIHVzZXIuaXNMb2dnZWRJbiA9IHJlcy5pc0xvZ2dlZEluO1xuICAgICAgdXNlci5jaGFuZ2VQd2QgPSByZXMuY2hhbmdlUHdkO1xuICAgICAgdXNlci5leHBpcmF0aW9uID0gcmVzLmV4cGlyYXRpb247XG4gICAgICB1c2VyLmV4cGlyZXNfaW4gPSByZXMuZXhwaXJlc19pbjtcbiAgICAgIHVzZXIuc3NuID0gcmVzLnNzbjtcbiAgICAgIHVzZXIuY2xhaW1hbnRJZCA9IHJlcy5jbGFpbWFudElkO1xuICAgICAgdXNlci5lbXBsb3llcklkID0gcmVzLmVtcGxveWVySWQ7XG4gICAgICB1c2VyLmNvb2tpZU5hbWUgPSByZXMuY29va2llTmFtZTtcbiAgICAgIHVzZXIuY29va2llVmFsdWUgPSByZXMuY29va2llVmFsdWU7XG4gICAgICB1c2VyLnVzZXJVbml0ID0gcmVzLnVzZXJVbml0O1xuICAgICAgdXNlci5kb21haW5OYW1lID0gcmVzLmRvbWFpbk5hbWU7XG4gICAgICB1c2VyLmlzMkZBUmVxdWlyZWQgPSByZXMuaXMyRkFSZXF1aXJlZDtcbiAgICAgIHVzZXIuZGF5c1RpbGxQYXNzd29yZEV4cGlyZSA9IHJlcy5kYXlzVGlsbFBhc3N3b3JkRXhwaXJlO1xuICAgICAgdXNlci5pc0VtYWlsVmVyaWZpY2F0aW9uUmVxdWlyZWQgPSByZXMuaXNFbWFpbFZlcmlmaWNhdGlvblJlcXVpcmVkO1xuICAgICAgdXNlci5jZWxscGhvbmVObyA9IHJlcy5jZWxscGhvbmVObztcbiAgICAgIHVzZXIuY2VsbHBob25lU3RhdHVzID0gcmVzLmNlbGxwaG9uZVN0YXR1cztcbiAgICAgIHVzZXIuc3VwcG9ydGVkTWZhVHlwZXMgPSByZXMuc3VwcG9ydGVkTWZhVHlwZXM7XG4gICAgICBpZihyZXMuYWNjZXNzX3Rva2VuICYmIHJlcy5yZWZyZXNoX3Rva2VuKXtcbiAgICAgICAgdXNlci5hY2Nlc3NfdG9rZW4gPSByZXMuYWNjZXNzX3Rva2VuO1xuICAgICAgICB1c2VyLnJlZnJlc2hfdG9rZW4gPSByZXMucmVmcmVzaF90b2tlbjtcbiAgICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNldCgnYWNjZXNzX3Rva2VuJywgcmVzLmFjY2Vzc190b2tlbik7XG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ3JlZnJlc2hfdG9rZW4nLCByZXMucmVmcmVzaF90b2tlbik7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdXNlci5hY2Nlc3NfdG9rZW4gPSB0aGlzLnVzZXIuYWNjZXNzX3Rva2VuO1xuICAgICAgICB1c2VyLnJlZnJlc2hfdG9rZW4gPSB0aGlzLnVzZXIucmVmcmVzaF90b2tlbjtcbiAgICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNldCgnYWNjZXNzX3Rva2VuJywgdGhpcy51c2VyLmFjY2Vzc190b2tlbik7XG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ3JlZnJlc2hfdG9rZW4nLCB0aGlzLnVzZXIucmVmcmVzaF90b2tlbik7XG4gICAgICB9XG4gICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCd1c2VybmFtZScsIGJ0b2EodXNlci51c2VybmFtZSkpO1xuICAgICAgbGV0IHNob3dfZGlzY2xvc3VyZSA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoJ3Nob3dfZGlzY2xvc3VyZScpO1xuICAgICAgaWYoc2hvd19kaXNjbG9zdXJlID09IG51bGwgfHwgc2hvd19kaXNjbG9zdXJlID09IHVuZGVmaW5lZCB8fCBzaG93X2Rpc2Nsb3N1cmUgIT0gJ2ZhbHNlJyl7XG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ3Nob3dfZGlzY2xvc3VyZScsICd0cnVlJyk7XG4gICAgICB9XG4gICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgdGhpcy51c2VyQnMubmV4dCh0aGlzLnVzZXIpO1xuICAgICAgaWYodGhpcy51dGlsLmlzU3RhdGUoJ21zJykpe1xuICAgICAgICBpZighdXNlci5pczJGQVJlcXVpcmVkKXtcbiAgICAgICAgICB0aGlzLmNyZWF0ZUNvb2tpZShMaWJDb25zdGFudHMuc3NvQ29va2llTmFtZSwgYFwiJHt1c2VyLmNvb2tpZVZhbHVlfVwiYCwgdXNlci5leHBpcmF0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldEZ1bGxOYW1lKCl7XG4gICAgY29uc3QgbWlkID0gdGhpcy5nZXRVc2VyKCkubWlkZGxlTmFtZTtcbiAgICBjb25zdCBsYXN0ID0gdGhpcy5nZXRVc2VyKCkubGFzdE5hbWU7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpLmZpcnN0TmFtZVxuICAgICAgKyAobWlkICE9IG51bGwgJiYgbWlkICE9PSAnbnVsbCcgJiYgbWlkICE9PSAnJyA/ICcgJyArIG1pZCA6ICcnKVxuICAgICAgKyAobGFzdCAhPSBudWxsICYmIGxhc3QgIT09ICdudWxsJyAmJiBsYXN0ICE9PSAnJyA/ICcgJyArIGxhc3QgOiAnJyk7XG4gIH1cblxuICBnZXRJc1VzZXJQcm9maWxlQ29tcGxldGUoKXtcbiAgICAgIHJldHVybiB0aGlzLmdldFVzZXIoKS51c2VyUHJvZmlsZUNvbXBsZXRlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIHV0aWwgOiBVdGlsU2VydmljZSwgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlLCBwcml2YXRlIGNsYWltYW50Q29udGV4dFNlcnZpY2UgOiBDbGFpbWFudENvbnRleHRTZXJ2aWNlKSB7IFxuICAgIFxuICB9XG5cbiAgZ2V0VXNlclBlcnNvbmFsRGV0YWlscygpIDogT2JzZXJ2YWJsZTxVc2VyRGV0YWlsc01vZGVsPntcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldDxVc2VyRGV0YWlsc01vZGVsPigndXNlci9kZXRhaWxzLycgKyB0aGlzLnVzZXIudXNlcm5hbWUpO1xuICB9XG5cbiAgZ2VuZXJhdGVPdHAodXNlcklkIDogc3RyaW5nLCB0eXBlIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci92Mi9vdHAvJHt1c2VySWR9P3R5cGU9JHt0eXBlfWApO1xuICB9XG5cbiAgbG9naW4oYXV0aCA6IE90cEF1dGhNb2RlbCl7XG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgLy9cIkFjY2VwdFwiIDogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxuICAgIH0pO1xuICAgIHRoaXMub3B0aW9ucyA9IHsgaGVhZGVyczogaGVhZGVycyB9O1xuXG4gICAgbGV0IGF1dGhEYXRhIDogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBhdXRoRGF0YS5zZXQoJ2dyYW50X3R5cGUnLCAncGFzc3dvcmQnKTtcbiAgICBhdXRoRGF0YS5zZXQoJ3VzZXJuYW1lJywgYXV0aC51c2VySWQpO1xuICAgIGF1dGhEYXRhLnNldCgncGFzc3dvcmQnLCBhdXRoLnBhc3N3b3JkKTtcblxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdEZvcm1EYXRhPFVzZXJNb2RlbD4oJ29hdXRoL3Rva2VuJywgYXV0aERhdGEsdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIGxvZ2luQW5kQ2hlY2tGb3JNRkEoYXV0aCA6IE90cEF1dGhNb2RlbCl7XG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgLy9cIkFjY2VwdFwiIDogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxuICAgIH0pO1xuICAgIHRoaXMub3B0aW9ucyA9IHsgaGVhZGVyczogaGVhZGVycyB9O1xuXG4gICAgbGV0IGF1dGhEYXRhIDogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBhdXRoRGF0YS5zZXQoJ2dyYW50X3R5cGUnLCAnbWZhJyk7XG4gICAgYXV0aERhdGEuc2V0KCd1c2VybmFtZScsIGF1dGgudXNlcklkKTtcbiAgICBhdXRoRGF0YS5zZXQoJ3Bhc3N3b3JkJywgYXV0aC5wYXNzd29yZCk7XG4gICAgaWYoYXV0aC5vdHApe1xuICAgICAgYXV0aERhdGEuc2V0KCdtZmFfY29kZScsIGF1dGgub3RwKTtcbiAgICAgIGF1dGhEYXRhLnNldCgnaXNfdHJ1c3RlZF9kZXZpY2UnLCBhdXRoLmlzdHJ1c3RlZERldmljZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0Rm9ybURhdGE8VXNlck1vZGVsPignb2F1dGgvdG9rZW4nLCBhdXRoRGF0YSx0aGlzLm9wdGlvbnMpO1xuICB9XG5cbiAgYXN5bmMgcmVmcmVzaFRva2VuKHJlZnJlc2hUb2tlbil7XG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIsXG4gICAgICAnQXV0aG9yaXphdGlvbic6IGBCYXNpYyBgICsgYnRvYShgJHtMaWJDb25zdGFudHMub2F1dGhDbGllbnRVc2VyfToke0xpYkNvbnN0YW50cy5vYXV0aENsaWVudFNlY3JldH1gKVxuICAgIH0pO1xuICAgIHRoaXMub3B0aW9ucyA9IHsgaGVhZGVyczogaGVhZGVycyB9O1xuXG4gICAgbGV0IGF1dGhEYXRhIDogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBhdXRoRGF0YS5zZXQoJ2dyYW50X3R5cGUnLCAncmVmcmVzaF90b2tlbicpO1xuICAgIGF1dGhEYXRhLnNldCgnY2xpZW50X2lkJywgTGliQ29uc3RhbnRzLm9hdXRoQ2xpZW50VXNlcik7XG4gICAgYXV0aERhdGEuc2V0KCdyZWZyZXNoX3Rva2VuJywgcmVmcmVzaFRva2VuKTtcblxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdEZvcm1EYXRhPFVzZXJNb2RlbD4oYG9hdXRoL3Rva2VuYCwgYXV0aERhdGEsIHRoaXMub3B0aW9ucykudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyByZWZyZXNoVG9rZW5XaW5ncyhyZWZyZXNoVG9rZW4pe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIFwiQWNjZXB0XCIgOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiLFxuICAgICAgJ0F1dGhvcml6YXRpb24nOiBgQmFzaWMgYCArIGJ0b2EoYCR7TGliQ29uc3RhbnRzLm9hdXRoV2luZ3NDbGllbnRVc2VyfToke0xpYkNvbnN0YW50cy5vYXV0aFdpbmdzQ2xpZW50U2VjcmV0fWApXG4gICAgfSk7XG4gICAgdGhpcy5vcHRpb25zID0geyBoZWFkZXJzOiBoZWFkZXJzIH07XG5cbiAgICBsZXQgYXV0aERhdGEgOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGF1dGhEYXRhLnNldCgnZ3JhbnRfdHlwZScsICdyZWZyZXNoX3Rva2VuJyk7XG4gICAgYXV0aERhdGEuc2V0KCdjbGllbnRfaWQnLCBMaWJDb25zdGFudHMub2F1dGhXaW5nc0NsaWVudFVzZXIpO1xuICAgIGF1dGhEYXRhLnNldCgncmVmcmVzaF90b2tlbicsIHJlZnJlc2hUb2tlbik7XG5cbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KGBvYXV0aC90b2tlbmAsIGF1dGhEYXRhLCB0aGlzLm9wdGlvbnMpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlVG9rZW5Qb3N0U3NvVmFsaWRhdGlvbigpe1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKTtcbiAgICBjb25zdCBib2R5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICBncmFudF90eXBlOiAnY3VzdG9tX3NzbydcbiAgICB9KS50b1N0cmluZygpO1xuXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0Rm9ybURhdGE8VXNlck1vZGVsPignb2F1dGgvdG9rZW4nLCBib2R5LCB7IGhlYWRlcnMsd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgbG9hZFVzZXJJbmZvKCl7XG4gICAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgIFwiQWNjZXB0XCIgOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiXG4gICAgICB9KTtcbiAgICAgIHRoaXMub3B0aW9ucyA9IHsgaGVhZGVyczogaGVhZGVycyB9O1xuICAgICAgbGV0IGF1dGhUb2tlbiA9IGF3YWl0IHRoaXMuZ2V0U3RvcmVkQWNjZXNzVG9wZW4oKTtcbiAgICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0PFVzZXJNb2RlbD4oYG9hdXRoL2NoZWNrX3Rva2VuP3Rva2VuPSR7YXV0aFRva2VufWApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0U3RvcmVkQWNjZXNzVG9wZW4oKXtcbiAgICBsZXQgYWNjZXNzVG9rZW4gPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KCdhY2Nlc3NfdG9rZW4nKS50aGVuKHJlcyA9PiByZXMpO1xuICAgIHJldHVybiBhY2Nlc3NUb2tlbjtcbiAgfVxuXG4gIGdlbmVyYXRlT3RwVW5yZWdpc3RlcmVkKG1vYmlsZU5vIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldCgnYXV0aC9vdHAvbmV3dXNlci8nICsgbW9iaWxlTm8pO1xuICB9XG5cbiAgc2lnblVwKHVzZXJNb2RlbCA6IFVzZXJNb2RlbCl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0KCd1c2VyJywgdXNlck1vZGVsKTtcbiAgfVxuXG4gIHVwZGF0ZVBlcnNvbmFsRGV0YWlscyh1c3JEdGxzIDogVXNlckRldGFpbHNNb2RlbCl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0KCd1c2VyL2RldGFpbHMnLCB1c3JEdGxzKTtcbiAgfVxuXG4gIHJlc2V0KCl7XG4gICAgdGhpcy51c2VyID0gbnVsbDtcbiAgICB0aGlzLnVzZXJCcy5uZXh0KG51bGwpO1xuICAgIHRoaXMubWVudUJzLm5leHQobnVsbCk7XG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZSgnYWNjZXNzX3Rva2VuJyk7XG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZSgncmVmcmVzaF90b2tlbicpO1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoJ3Nob3dfZGlzY2xvc3VyZScpO1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoJ3VzZXJuYW1lJyk7XG4gICAgdGhpcy5jbGFpbWFudENvbnRleHRTZXJ2aWNlLmNsZWFyQ29udGV4dCgpO1xuICAgIHRoaXMucmVtb3ZlQ29va2llcygpO1xuICB9XG5cbiAgcmVtb3ZlQ29va2llcygpe1xuICAgIHRoaXMuZGVsZXRlQ29va2llKCdhdCcpO1xuICAgIHRoaXMuZGVsZXRlQ29va2llKCdydCcpO1xuICAgIHRoaXMuZGVsZXRlQ29va2llKExpYkNvbnN0YW50cy5zc29Db29raWVOYW1lKTtcbiAgfVxuXG4gIGRlbGV0ZUNvb2tpZShjb29raWVOYW1lKXtcbiAgICBsZXQgY29va2llID0gYCR7Y29va2llTmFtZX09OyBNYXgtQWdlPTA7IHBhdGg9LzsgZG9tYWluPSR7TGliQ29uc3RhbnRzLnNzb0RvbWFpbn1gO1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTtcbiAgfVxuXG4gIGNyZWF0ZUNvb2tpZShjb29raWVOYW1lLCB2YWx1ZSwgZXhwaXJhdGlvbil7XG4gICAgbGV0IGNvb2tpZSA9IGAke2Nvb2tpZU5hbWV9PSR7dmFsdWV9OyBleHBpcmVzPSR7ZXhwaXJhdGlvbiArICcuMDAwJ307IHBhdGg9LzsgZG9tYWluPSR7TGliQ29uc3RhbnRzLnNzb0RvbWFpbn1gO1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTtcbiAgfVxuXG4gIGxvZ291dCgpe1xuICAgIGlmKHRoaXMudXNlcil7XG4gICAgICB0aGlzLnV0aWwuZ2V0KCd1c2VyL2xvZ291dCcpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICByZXMgPT4ge1xuICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuICAgICAgICB9XG4gICAgICApXG4gICAgfWVsc2V7XG4gICAgICB0aGlzLnJlc2V0KCk7XG4gICAgfVxuICB9XG5cbiAgaXNMb2dnZWRJbigpe1xuICAgIHJldHVybiB0aGlzLnVzZXIgJiYgdGhpcy51c2VyLmlzTG9nZ2VkSW47XG4gIH1cblxuICBpczJGQVJlcXVpcmVkKCl7XG4gICAgcmV0dXJuIHRoaXMudXNlciAmJiB0aGlzLnVzZXIuaXMyRkFSZXF1aXJlZDtcbiAgfVxuXG4gIHVwZGF0ZVByb2ZpbGUodXNlciA6IFVzZXJNb2RlbCl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0KCd1c2VyL3Byb2ZpbGUnLCB1c2VyKTtcbiAgfVxuXG4gIHVwZGF0ZVBhc3N3b3JkKG9sZFBhc3N3b3JkLCBuZXdQYXNzd29yZCwgY29uZmlybVBhc3N3b3JkKXtcbiAgICBsZXQgcHdkQ2hhbmdlTW9kZWwgOiB7b2xkUGFzc3dvcmQ6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZywgY29uZmlybVBhc3N3b3JkOiBzdHJpbmd9ID0ge29sZFBhc3N3b3JkOiBvbGRQYXNzd29yZCwgcGFzc3dvcmQ6IG5ld1Bhc3N3b3JkLCBjb25maXJtUGFzc3dvcmQ6IGNvbmZpcm1QYXNzd29yZH07XG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0KGB1c2VyL3Bhc3N3b3JkLyR7dGhpcy5nZXRVc2VyKCkudXNlcm5hbWV9YCwgcHdkQ2hhbmdlTW9kZWwpO1xuICB9XG5cbiAgaW5pdGlhdGVGb3Jnb3RQYXNzd29yZCh1c2VySWQgOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0KGB1c2VyL3Bhc3N3b3JkL3Jlc2V0LyR7dXNlcklkfWApO1xuICB9XG5cbiAgaW5pdGlhdGVGb3Jnb3RQYXNzd29yZFYyKHVzZXJJZCA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvdjIvcGFzc3dvcmQvcmVzZXQvJHt1c2VySWR9YCk7XG4gIH1cblxuICBoYXNSb2xlKHJvbGVOYW1lIDogc3RyaW5nKSA6IGJvb2xlYW57XG4gICAgcmV0dXJuIHRoaXMudXNlciAmJiB0aGlzLnVzZXIucm9sZXMgJiYgdGhpcy51c2VyLnJvbGVzLmluY2x1ZGVzKHJvbGVOYW1lKTtcbiAgfVxuXG4gIGhhc0Z1bmN0aW9uKGZ1bmN0aW9uTmFtZSA6IHN0cmluZykgOiBib29sZWFue1xuICAgIHJldHVybiB0aGlzLnVzZXIgJiYgdGhpcy51c2VyLmZ1bmN0aW9ucyAmJiB0aGlzLnVzZXIuZnVuY3Rpb25zLmluY2x1ZGVzKGZ1bmN0aW9uTmFtZSk7XG4gIH1cblxuICBoYXNSb2xlcyguLi5yb2xlcyA6IHN0cmluZ1tdKXtcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XG4gICAgZm9yKHZhciBpID0gMCA7IGkgPCByb2xlcy5sZW5ndGggOyBpKyspe1xuICAgICAgaWYodGhpcy5oYXNSb2xlKHJvbGVzW2ldLnRvU3RyaW5nKCkpKXtcbiAgICAgICAgaXNQcmVzZW50ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc1ByZXNlbnQ7XG4gIH1cblxuICBoYXNGdW5jdGlvbnMoLi4uZnVuY3Rpb25zIDogc3RyaW5nW10pe1xuICAgIGxldCBpc1ByZXNlbnQgPSBmYWxzZTtcbiAgICBmb3IodmFyIGkgPSAwIDsgaSA8IGZ1bmN0aW9ucy5sZW5ndGggOyBpKyspe1xuICAgICAgaWYodGhpcy5oYXNGdW5jdGlvbihmdW5jdGlvbnNbaV0pKXtcbiAgICAgICAgaXNQcmVzZW50ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc1ByZXNlbnQ7XG4gIH1cblxuICBjaGVja1JvbGVzKHJvbGVzIDogc3RyaW5nW10pe1xuICAgIGxldCBpc1ByZXNlbnQgPSBmYWxzZTtcbiAgICBmb3IodmFyIGkgPSAwIDsgaSA8IHJvbGVzLmxlbmd0aCA7IGkrKyl7XG4gICAgICBpZih0aGlzLmhhc1JvbGUocm9sZXNbaV0udG9TdHJpbmcoKSkpe1xuICAgICAgICBpc1ByZXNlbnQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGlzUHJlc2VudDtcbiAgfVxuXG4gIGNoZWNrRnVuY3Rpb25zKGZ1bmN0aW9ucyA6IHN0cmluZ1tdKXtcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XG4gICAgZm9yKHZhciBpID0gMCA7IGkgPCBmdW5jdGlvbnMubGVuZ3RoIDsgaSsrKXtcbiAgICAgIGlmKHRoaXMuaGFzRnVuY3Rpb24oZnVuY3Rpb25zW2ldKSl7XG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNQcmVzZW50O1xuICB9XG5cbiAgaXNDc3IoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdNREVTJ1xuICB9XG5cbiAgaXNUYXhBdWRpdFN1cGVydmlzb3IoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5oYXNSb2xlKCd0YXhhdWRpdHN1cGVydmlzb3InKSAmJnRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnTURFUycgXG4gIH1cblxuICBpc1RheEF1ZGl0QXVkaXRvcigpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmhhc1JvbGUoJ3RheGF1ZGl0c3BlY2lhbGlzdCcpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnTURFUydcbiAgfVxuXG4gIGlzVGF4QXVkaXREaXJlY3Rvcigpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmhhc1JvbGUoJ3RheEF1ZGl0RGlyZWN0b3InKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ01ERVMnXG4gIH1cblxuICBpc0VtcGxveWVyKCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnRU1QTCdcbiAgfVxuXG4gIGlzVHBhKCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnVFBBJ1xuICB9XG5cbiAgaXNDbGFpbWFudCgpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ0NMTVQnXG4gIH1cblxuICBoYXNTc25Bc3NvY2lhdGVkKCkgOiBib29sZWFue1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ0NMTVQnICYmIHRoaXMuZ2V0VXNlcigpLnNzbiAhPT0gdW5kZWZpbmVkIFxuICB9XG5cbiAgZ2V0VXNlck1lbnVzKCl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8TWVudUl0ZW1bXT4oYG1lbnUvYCk7XG4gIH1cblxuICBtYXJrRmF2KG1lbnVJZCA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0PE1lbnVJdGVtW10+KGBtZW51L2Zhdi8ke21lbnVJZH1gLCBudWxsKTtcbiAgfVxuXG4gIHJlbW92ZUZhdihtZW51SWQgOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZGVsZXRlPE1lbnVJdGVtW10+KGBtZW51L2Zhdi8ke21lbnVJZH1gKTtcbiAgfVxuXG4gIGdldEZhdm91cml0ZU1lbnUoKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldDxNZW51SXRlbVtdPihgbWVudS9mYXZgKTtcbiAgfVxuXG4gIGdldFRyZW5kaW5nTWVudSgpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0PE1lbnVJdGVtW10+KGBtZW51L3RyZW5kaW5nYCk7XG4gIH1cblxuICB2ZXJpZnlFbWFpbChjb2RlIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoYHVzZXIvZW1haWwvJHtjb2RlfWAsIG51bGwpO1xuICB9XG5cbiAgZ2V0TmV3Q29kZSgpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0KGB1c2VyL2VtYWlsYCk7XG4gIH1cblxuICB1cGRhdGVFbWFpbEFuZEdldE5ld0NvZGUoZW1haWwgOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucGF0Y2goYHVzZXIvZW1haWwvJHtlbWFpbH1gLCBudWxsKTtcbiAgfVxuXG4gIGdldE5ld0F1dGhDb2RlKHR5cGUgOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0KGB1c2VyL290cD90eXBlPSR7dHlwZX1gKTtcbiAgfVxuXG4gIGFzc29jaWF0ZVNzblRvVXNlcklkKHNzbiA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0KGBjbGFpbWFudC9hc3NvY2lhdGUtc3NuLyR7c3NufWAsIG51bGwpO1xuICB9XG5cbiAgZ2V0VXNlcklkSW5Vbml0QnMoKXtcbiAgICByZXR1cm4gdGhpcy51c2VySWRJblVuaXRCcztcbiAgfVxuXG4gIGxvYWRVc2VySWRzRnJvbVVuaXRPZkxvZ2dlZEluVXNlcih1bml0SWQgOiBzdHJpbmcpe1xuICAgIGlmKHRoaXMudXNlcklkSW5Vbml0QnMuZ2V0VmFsdWUoKSA9PSBudWxsKVxuICAgICAgdGhpcy51dGlsLmdldDxVc2VyTW9kZWxbXT4oYHVzZXIvYWxsLyR7dW5pdElkfWApXG4gICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4gdGhpcy51c2VySWRJblVuaXRCcy5uZXh0KHJlcykpO1xuICB9XG59XG4iXX0=
|
|
@@ -1597,7 +1597,11 @@ class LoginService {
|
|
|
1597
1597
|
}
|
|
1598
1598
|
}
|
|
1599
1599
|
getFullName() {
|
|
1600
|
-
|
|
1600
|
+
const mid = this.getUser().middleName;
|
|
1601
|
+
const last = this.getUser().lastName;
|
|
1602
|
+
return this.getUser().firstName
|
|
1603
|
+
+ (mid != null && mid !== 'null' && mid !== '' ? ' ' + mid : '')
|
|
1604
|
+
+ (last != null && last !== 'null' && last !== '' ? ' ' + last : '');
|
|
1601
1605
|
}
|
|
1602
1606
|
getIsUserProfileComplete() {
|
|
1603
1607
|
return this.getUser().userProfileComplete;
|
|
@@ -6048,6 +6052,19 @@ class HeaderComponent extends BasePage {
|
|
|
6048
6052
|
this.openPage('cp', 'v3/weeklies');
|
|
6049
6053
|
}
|
|
6050
6054
|
}
|
|
6055
|
+
onClickDisplayLogo() {
|
|
6056
|
+
if (this.context == 'audit') {
|
|
6057
|
+
let userModel = this.ls.getUser();
|
|
6058
|
+
var tempVal = JSON.stringify({ param1: "taxAudit" });
|
|
6059
|
+
var encVal = btoa(tempVal);
|
|
6060
|
+
var date = new Date();
|
|
6061
|
+
date.setTime(date.getTime() + 60000);
|
|
6062
|
+
const domain = ".dol.ct.gov";
|
|
6063
|
+
var expires = "expires=" + date.toUTCString();
|
|
6064
|
+
document.cookie = "parApToM=" + encVal + ";path=/;expires=" + expires + ";domain=" + domain + ";SameSite=Lax;";
|
|
6065
|
+
window.open(`${LibConstants.taxUrlExternal}/faces/virtual/contextswitch.xhtml?a=${userModel.access_token}&v=2299&TAXAUDIT_PORTAL=true`, '_self');
|
|
6066
|
+
}
|
|
6067
|
+
}
|
|
6051
6068
|
openAuditDashboard() {
|
|
6052
6069
|
if (this.context == 'audit') {
|
|
6053
6070
|
if (this.ls.isTaxAuditSupervisor() || this.ls.isTaxAuditDirector()) {
|
|
@@ -6158,6 +6175,11 @@ class HeaderComponent extends BasePage {
|
|
|
6158
6175
|
}
|
|
6159
6176
|
openHome() {
|
|
6160
6177
|
//this.nav.navigateRoot("/welcome");
|
|
6178
|
+
if (this.context == 'audit') {
|
|
6179
|
+
let userModel = this.ls.getUser();
|
|
6180
|
+
this.util.showLoader();
|
|
6181
|
+
window.open(`${LibConstants.taxUrlExternal}/faces/virtual/contextswitch.xhtml?a=${userModel.access_token}&r=${userModel.refresh_token}&v=2299`, '_self');
|
|
6182
|
+
}
|
|
6161
6183
|
if (this.ls.isClaimant()) {
|
|
6162
6184
|
this.util.openPageByContextRoot(this.util.getClaimantAppContextRoot(), "welcome", this.nav);
|
|
6163
6185
|
}
|
|
@@ -6243,7 +6265,7 @@ class HeaderComponent extends BasePage {
|
|
|
6243
6265
|
i0.ɵɵtemplate(4, HeaderComponent_ion_menu_button_4_Template, 1, 1, "ion-menu-button", 2);
|
|
6244
6266
|
i0.ɵɵelementEnd();
|
|
6245
6267
|
i0.ɵɵelementStart(5, "ion-buttons", 3);
|
|
6246
|
-
i0.ɵɵlistener("click", function HeaderComponent_Template_ion_buttons_click_5_listener() { return ctx.
|
|
6268
|
+
i0.ɵɵlistener("click", function HeaderComponent_Template_ion_buttons_click_5_listener() { return ctx.onClickDisplayLogo(); });
|
|
6247
6269
|
i0.ɵɵelement(6, "img", 4);
|
|
6248
6270
|
i0.ɵɵpipe(7, "translate");
|
|
6249
6271
|
i0.ɵɵelementEnd();
|
|
@@ -6258,7 +6280,7 @@ class HeaderComponent extends BasePage {
|
|
|
6258
6280
|
} if (rf & 2) {
|
|
6259
6281
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 14, ctx.util.loader.value$) != 0);
|
|
6260
6282
|
i0.ɵɵadvance(4);
|
|
6261
|
-
i0.ɵɵproperty("ngIf", ctx.ls.isLoggedIn());
|
|
6283
|
+
i0.ɵɵproperty("ngIf", ctx.ls.isLoggedIn() && !ctx.ls.isEmployer());
|
|
6262
6284
|
i0.ɵɵadvance(1);
|
|
6263
6285
|
i0.ɵɵproperty("ngClass", ctx.displayLogo ? "header_button_white" : "header_button hide-xs hide-md");
|
|
6264
6286
|
i0.ɵɵadvance(1);
|
|
@@ -6285,7 +6307,7 @@ class HeaderComponent extends BasePage {
|
|
|
6285
6307
|
}
|
|
6286
6308
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HeaderComponent, [{
|
|
6287
6309
|
type: Component,
|
|
6288
|
-
args: [{ selector: 'app-header', template: "<mat-progress-bar mode=\"determinate\" [value]=\"util.loader.value$ | async\" *ngIf=\"(util.loader.value$ | async) != 0\">\r\n</mat-progress-bar>\r\n<ion-toolbar>\r\n <ion-buttons slot=\"start\" style=\"margin-left: -5px;\">\r\n <ion-menu-button autoHide=\"false\" pTooltip=\"Menu\" tooltipPosition=\"bottom\"\r\n *ngIf=\"ls.isLoggedIn()\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xl hide-lg' : ''\"></ion-menu-button>\r\n </ion-buttons>\r\n <ion-buttons slot=\"start\" [ngClass]=\"displayLogo ? 'header_button_white' : 'header_button hide-xs hide-md'\" (click)=\"openAuditDashboard()\">\r\n <img alt=\"logo\" pTooltip=\"{{'ReEmployMS Logo' | translate}}\" tooltipPosition=\"bottom\"\r\n src=\"assets/icon/ReEmploy{{util.getState()}}.svg\" [ngClass]=\"displayLogo ? 'header_logo' : 'header_logo hide-xs hide-md'\"/>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"start\" *ngIf=\"ls.isLoggedIn()\">\r\n <ion-button (click)=\"openHome()\" pTooltip=\"Home\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('welcome') ? 'header-button' : ''\" *ngIf=\"this.context!='audit' || ls.isEmployer()\">Home</ion-button>\r\n\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false'\" (click)=\"openWeeklies()\" class=\"hide-xs hide-md\">{{legacyMenu == 'true' ? 'Weekly' : 'Weekly'}}</ion-button>\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && !util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly' : 'Weekly'}}</ion-button>\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly Claim' : 'Weekly'}}</ion-button>\r\n \r\n \r\n <ion-button pTooltip=\"History\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '') == 'history' ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && interimHomePage == 'false'\" (click)=\"openPage('cp', 'history')\" class=\"hide-xs hide-md\">History</ion-button>\r\n <ion-button id=\"btnAuditEmployerDashboard\" pTooltip=\"EmployerDashboard\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('employer-dashboard') ? 'header-button' : ''\" *ngIf=\"ls.isEmployer()\" (click)=\"openEmployerDashboard()\">Audit Dashboard</ion-button>\r\n <ion-button id=\"btnAuditMyQ\" pTooltip=\"MyQ\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('myq') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorMyQ()\">MyQ</ion-button>\r\n <ion-button id=\"btnAuditDashboard\" pTooltip=\"Dashboard\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('dashboard') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor()|| ls.isTaxAuditDirector())\" (click)=\"openAuditDashboard()\">Dashboard</ion-button>\r\n <ion-button id=\"btnAuditWorkList\" pTooltip=\"WorkList\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-work-list') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditAuditor()\" (click)=\"openAuditorWorkList()\">Work List</ion-button>\r\n <ion-button id=\"btnAuditInquiry\" pTooltip=\"Inquiry\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('inquiry') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector()) || ls.hasRole('taxauditagencystaff')\" (click)=\"openSupervisorInquiry()\">Inquiry</ion-button>\r\n <ion-button id=\"btnAuditUploadDocuments\" pTooltip=\"Upload Documents\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('upload-documents') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isEmployer()\" (click)=\"openUploadDocuments()\" [disabled]=\"!isEmployerLoaded\">Upload Documents</ion-button>\r\n <ion-button id=\"btnAuditQuestionnaire\" pTooltip=\"Questionnaire\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-questionnaire') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditAuditor())\" (click)=\"openQuestionnaire()\">Questionnaire</ion-button>\r\n <ion-button id=\"btnAuditQuestionnaire\" pTooltip=\"Questionnaire\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-questionnaire') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isEmployer())\" (click)=\"openQuestionnaire()\" [disabled]=\"!isQuestionnaireDataLoaded\">Questionnaire</ion-button>\r\n <ion-button id=\"btnAuditReferrals\" pTooltip=\"Referrals\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('referrals') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector()) || ls.hasRole('taxauditagencystaff')\" (click)=\"openSupervisorReferrals()\">Referrals</ion-button>\r\n <ion-button id=\"btnAuditAssign\" pTooltip=\"Assign\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('assign') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditSupervisor()\" (click)=\"openSupervisorAssign()\">Assign</ion-button>\r\n <ion-button id=\"btnAuditTeam\" pTooltip=\"Team\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('team') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditSupervisor()\" (click)=\"openSupervisorTeam()\">Team</ion-button>\r\n <ion-button id=\"btnAuditConfig\" pTooltip=\"Config\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('config') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorConfig()\">Config</ion-button>\r\n <ion-button id=\"btnAuditAnalytics\" pTooltip=\"Analytics\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('analytics') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorAnalytics()\">Analytics</ion-button>\r\n\r\n\r\n </ion-buttons>\r\n\r\n \r\n <div class=\"toolbar-content hide-xs\" *ngIf=\"ls.isLoggedIn() && ls.isCsr() && this.context !='audit' && contextRoot ==='ss'\">\r\n <p-autoComplete appendTo=\"body\" [(ngModel)]=\"searchText\" [suggestions]=\"results\"\r\n (completeMethod)=\"search($event)\" placeholder=\"Search Claimants\" (onSelect)=\"onSelectAction($event)\"\r\n emptyMessage=\"No Results Found.\" size=\"25\">\r\n <ng-template let-user pTemplate=\"item\">\r\n <ion-row class=\".ion-wrap\" >\r\n <ion-col size-auto>\r\n <ion-text>{{user.firstName | properCase}} {{user.lastName | properCase}}</ion-text>\r\n </ion-col>\r\n <ion-col size-auto>\r\n <ion-text>{{user.userId}}</ion-text>\r\n </ion-col>\r\n <ion-col size-auto>\r\n <ion-text>{{util.maskSsn(user.ssn)}}</ion-text>\r\n </ion-col>\r\n </ion-row>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n <ion-buttons slot=\"end\" *ngIf=\"ls.isLoggedIn()\" >\r\n <ion-button (click)=\"presentMyProfilePopover($event)\" pTooltip=\"Account\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() && showProfilePopup ? 'hide-xs hide-md header-button' : (legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : '')\">\r\n <ion-title style=\"font-size: 20px; padding: 0px;\" class=\"hide-xs\">{{ls.getFullName() | properCase}}</ion-title>\r\n <ion-icon slot=\"end\" name=\"person-circle-outline\"></ion-icon>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"Notices\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'false' && !util.isState('ME')\" [ngClass]=\"r.url.replace('/', '') == 'documents' ? 'header-button hide-xs hide-md' : 'hide-xs hide-md'\">\r\n <i class='pi pi-file font-bold' style=\"font-size: 1.3rem; font-weight: 500 !important;\"></i>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"Notices\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'true'\">\r\n <ion-icon name=\"document-text-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n \r\n <!-- <ion-button (click)=\"presentJobSearchResultPopup()\" pTooltip=\"Show job search result\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && util.isState('MS')\">\r\n <ion-icon name=\"briefcase\" fill=\"outline\"></ion-icon>\r\n </ion-button> -->\r\n \r\n \r\n <ion-button (click)=\"presentMyNotificationPopover($event)\" pTooltip=\"Notification\" tooltipPosition=\"bottom\"\r\n *ngIf=\"!ns.showNotificationLoader && !util.isState('ME')\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : ''\">\r\n <ion-icon name=\"notifications-outline\"></ion-icon>\r\n <ion-badge color=\"dark\" *ngIf=\"ns.notificationCount.getValue() > 0\">\r\n <ion-label>{{ns.notificationCount.getValue()}}</ion-label>\r\n </ion-badge>\r\n </ion-button>\r\n <ion-spinner name=\"crescent\" *ngIf=\"ns.showNotificationLoader\"></ion-spinner>\r\n\r\n <ion-button (click)=\"this.hs.show()\" pTooltip=\"Help\" tooltipPosition=\"bottom\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && (hs.shouldDisplayHelpButton() | async)\">\r\n <ion-icon name=\"help-circle-outline\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"secondary\" *ngIf=\"!ls.isLoggedIn() && ls.getUser()\">\r\n <ion-button (click)=\"logout()\" pTooltip=\"Logout\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"log-out-sharp\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"end\" *ngIf=\"showLanguageOption === 'true' && (!ls.getUser() && legacyMenu == 'false')\">\r\n <p-menu #menu [popup]=\"true\" [model]=\"items\" appendTo=\"body\"></p-menu>\r\n <ion-button (click)=\"menu.toggle($event)\" pTooltip=\"Language\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"language\" slot=\"end\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n</ion-toolbar>\r\n<ion-toolbar color=\"light\" id=\"secondToolbar\" *ngIf=\"secondToolbar\">\r\n <ion-buttons slot=\"start\">\r\n <ion-back-button pTooltip=\"Back\" alt=\"Back\" tooltipPosition=\"bottom\" [defaultHref]=\"backPage ? backPage : '/welcome'\"></ion-back-button>\r\n <ion-title color=\"primary\" *ngIf=\"title\" style=\"font-size: 18px\">{{title}}</ion-title>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"end\">\r\n <ion-title color=\"primary\" style=\"font-size: xx-small; float: right; padding-right: 8px;\" *ngIf=\"pageId\">\r\n {{pageId}}</ion-title>\r\n </ion-buttons>\r\n</ion-toolbar>\r\n<p-toast>\r\n <ng-template let-message pTemplate=\"message\">\r\n <i *ngIf=\"message.severity === 'error'\" class=\"pi pi-times-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'success'\" class=\"pi pi-check-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'warn'\" class=\"pi pi-exclamation-circle\"style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'info'\" class=\"pi pi-info-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n\r\n <div [innerHTML]=\"'<strong style=\\'font-size: 22px;font-weight: bold;\\'>' + message.summary + '</strong><br><br>' + \r\n '<span style=\\'font-size: 18px;\\'>' + message.detail + '</span>'\">\r\n </div>\r\n </ng-template>\r\n </p-toast>\r\n\r\n<ng-container *ngIf=\"showProfilePopup\">\r\n <app-profile *ngIf=\"showProfilePopup\" (onCancel)=\"showProfilePopup = !showProfilePopup\"></app-profile>\r\n</ng-container>\r\n\r\n<app-job-search-result-page *ngIf=\"showjobSearchResultPopup\" (onCancel)=\"showjobSearchResultPopup = !showjobSearchResultPopup\"></app-job-search-result-page>\r\n\r\n\r\n\r\n", styles: ["#secondToolbar{--min-height: 45px !important}#header_reemployms_logo{margin-right:10px;margin-left:-5px;padding:5px;height:40px}.header_logo{height:35px}.header_button_white,.header_button{background:#fff;height:56px;margin:0;padding:8px}.toolbar-content{text-align:center}ion-toolbar{--ion-toolbar-background: var(--ion-color-primary) !important;--color: white !important;--font-weight: 500;--font-size: 13px;--position: relative;--z-index: 10;--text-align: center;--letter-spacing: .004em}ion-button{--color-hover: var(--ion-color-yellow) !important;text-transform:none!important;font-size:20px}.header-button{--color: var(--ion-color-yellow) !important;text-transform:none!important;font-weight:700;font-size:20px}.ios ion-button::part(native){color:#fff!important}ion-menu-button::part(native){color:#fff!important}ion-popover{--width: 40% !important}img{visibility:visible;position:relative}:host ::ng-deep p-autoComplete .p-inputtext{height:40px;color:#000}:host ::ng-deep p-autoComplete .p-autocomplete-item{padding:.5rem!important}:host ::ng-deep .p-toast-bottom-center,:host ::ng-deep .p-toast-top-center{transform:none!important;z-index:100001!important}:host ::ng-deep .p-toast .p-toast-icon{font-size:48px!important}:host ::ng-deep .p-toast-icon-close{position:absolute!important;top:0;right:0;margin:5px}:host ::ng-deep .p-toast-summary{font-weight:700;display:block;margin-bottom:5px}:host ::ng-deep .p-toast-message,:host ::ng-deep .p-toast-detail{display:block;font-size:14px}@media (min-width: 768px){:host ::ng-deep .header-popover{--width: 55%}}@media (min-width: 992px){:host ::ng-deep .header-popover{--width: 40%}}@media (min-width: 1200px){:host ::ng-deep .header-popover{--width: 35%}}@media (min-width: 1400px){:host ::ng-deep .header-popover{--width: 30%}}\n"] }]
|
|
6310
|
+
args: [{ selector: 'app-header', template: "<mat-progress-bar mode=\"determinate\" [value]=\"util.loader.value$ | async\" *ngIf=\"(util.loader.value$ | async) != 0\">\r\n</mat-progress-bar>\r\n<ion-toolbar>\r\n <ion-buttons slot=\"start\" style=\"margin-left: -5px;\">\r\n <ion-menu-button autoHide=\"false\" pTooltip=\"Menu\" tooltipPosition=\"bottom\"\r\n *ngIf=\"ls.isLoggedIn() && !ls.isEmployer()\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xl hide-lg' : ''\"></ion-menu-button>\r\n </ion-buttons>\r\n <ion-buttons slot=\"start\" [ngClass]=\"displayLogo ? 'header_button_white' : 'header_button hide-xs hide-md'\" (click)=\"onClickDisplayLogo()\">\r\n <img alt=\"logo\" pTooltip=\"{{'ReEmployMS Logo' | translate}}\" tooltipPosition=\"bottom\"\r\n src=\"assets/icon/ReEmploy{{util.getState()}}.svg\" [ngClass]=\"displayLogo ? 'header_logo' : 'header_logo hide-xs hide-md'\"/>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"start\" *ngIf=\"ls.isLoggedIn()\">\r\n <ion-button (click)=\"openHome()\" pTooltip=\"Home\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('welcome') ? 'header-button' : ''\" *ngIf=\"this.context!='audit' || ls.isEmployer()\">Home</ion-button>\r\n\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false'\" (click)=\"openWeeklies()\" class=\"hide-xs hide-md\">{{legacyMenu == 'true' ? 'Weekly' : 'Weekly'}}</ion-button>\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && !util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly' : 'Weekly'}}</ion-button>\r\n <ion-button id=\"btnFileWeeklies\" pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly Claim' : 'Weekly'}}</ion-button>\r\n \r\n \r\n <ion-button pTooltip=\"History\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '') == 'history' ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && interimHomePage == 'false'\" (click)=\"openPage('cp', 'history')\" class=\"hide-xs hide-md\">History</ion-button>\r\n <ion-button id=\"btnAuditEmployerDashboard\" pTooltip=\"EmployerDashboard\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('employer-dashboard') ? 'header-button' : ''\" *ngIf=\"ls.isEmployer()\" (click)=\"openEmployerDashboard()\">Audit Dashboard</ion-button>\r\n <ion-button id=\"btnAuditMyQ\" pTooltip=\"MyQ\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('myq') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorMyQ()\">MyQ</ion-button>\r\n <ion-button id=\"btnAuditDashboard\" pTooltip=\"Dashboard\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('dashboard') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor()|| ls.isTaxAuditDirector())\" (click)=\"openAuditDashboard()\">Dashboard</ion-button>\r\n <ion-button id=\"btnAuditWorkList\" pTooltip=\"WorkList\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-work-list') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditAuditor()\" (click)=\"openAuditorWorkList()\">Work List</ion-button>\r\n <ion-button id=\"btnAuditInquiry\" pTooltip=\"Inquiry\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('inquiry') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector()) || ls.hasRole('taxauditagencystaff')\" (click)=\"openSupervisorInquiry()\">Inquiry</ion-button>\r\n <ion-button id=\"btnAuditUploadDocuments\" pTooltip=\"Upload Documents\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('upload-documents') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isEmployer()\" (click)=\"openUploadDocuments()\" [disabled]=\"!isEmployerLoaded\">Upload Documents</ion-button>\r\n <ion-button id=\"btnAuditQuestionnaire\" pTooltip=\"Questionnaire\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-questionnaire') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditAuditor())\" (click)=\"openQuestionnaire()\">Questionnaire</ion-button>\r\n <ion-button id=\"btnAuditQuestionnaire\" pTooltip=\"Questionnaire\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('auditor-questionnaire') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isEmployer())\" (click)=\"openQuestionnaire()\" [disabled]=\"!isQuestionnaireDataLoaded\">Questionnaire</ion-button>\r\n <ion-button id=\"btnAuditReferrals\" pTooltip=\"Referrals\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('referrals') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector()) || ls.hasRole('taxauditagencystaff')\" (click)=\"openSupervisorReferrals()\">Referrals</ion-button>\r\n <ion-button id=\"btnAuditAssign\" pTooltip=\"Assign\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('assign') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditSupervisor()\" (click)=\"openSupervisorAssign()\">Assign</ion-button>\r\n <ion-button id=\"btnAuditTeam\" pTooltip=\"Team\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('team') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && ls.isTaxAuditSupervisor()\" (click)=\"openSupervisorTeam()\">Team</ion-button>\r\n <ion-button id=\"btnAuditConfig\" pTooltip=\"Config\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('config') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorConfig()\">Config</ion-button>\r\n <ion-button id=\"btnAuditAnalytics\" pTooltip=\"Analytics\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('analytics') ? 'header-button' : ''\" *ngIf=\"this.context=='audit' && (ls.isTaxAuditSupervisor() || ls.isTaxAuditAuditor() || ls.isTaxAuditDirector())\" (click)=\"openSupervisorAnalytics()\">Analytics</ion-button>\r\n\r\n\r\n </ion-buttons>\r\n\r\n \r\n <div class=\"toolbar-content hide-xs\" *ngIf=\"ls.isLoggedIn() && ls.isCsr() && this.context !='audit' && contextRoot ==='ss'\">\r\n <p-autoComplete appendTo=\"body\" [(ngModel)]=\"searchText\" [suggestions]=\"results\"\r\n (completeMethod)=\"search($event)\" placeholder=\"Search Claimants\" (onSelect)=\"onSelectAction($event)\"\r\n emptyMessage=\"No Results Found.\" size=\"25\">\r\n <ng-template let-user pTemplate=\"item\">\r\n <ion-row class=\".ion-wrap\" >\r\n <ion-col size-auto>\r\n <ion-text>{{user.firstName | properCase}} {{user.lastName | properCase}}</ion-text>\r\n </ion-col>\r\n <ion-col size-auto>\r\n <ion-text>{{user.userId}}</ion-text>\r\n </ion-col>\r\n <ion-col size-auto>\r\n <ion-text>{{util.maskSsn(user.ssn)}}</ion-text>\r\n </ion-col>\r\n </ion-row>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n <ion-buttons slot=\"end\" *ngIf=\"ls.isLoggedIn()\" >\r\n <ion-button (click)=\"presentMyProfilePopover($event)\" pTooltip=\"Account\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() && showProfilePopup ? 'hide-xs hide-md header-button' : (legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : '')\">\r\n <ion-title style=\"font-size: 20px; padding: 0px;\" class=\"hide-xs\">{{ls.getFullName() | properCase}}</ion-title>\r\n <ion-icon slot=\"end\" name=\"person-circle-outline\"></ion-icon>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"Notices\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'false' && !util.isState('ME')\" [ngClass]=\"r.url.replace('/', '') == 'documents' ? 'header-button hide-xs hide-md' : 'hide-xs hide-md'\">\r\n <i class='pi pi-file font-bold' style=\"font-size: 1.3rem; font-weight: 500 !important;\"></i>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"Notices\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'true'\">\r\n <ion-icon name=\"document-text-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n \r\n <!-- <ion-button (click)=\"presentJobSearchResultPopup()\" pTooltip=\"Show job search result\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && util.isState('MS')\">\r\n <ion-icon name=\"briefcase\" fill=\"outline\"></ion-icon>\r\n </ion-button> -->\r\n \r\n \r\n <ion-button (click)=\"presentMyNotificationPopover($event)\" pTooltip=\"Notification\" tooltipPosition=\"bottom\"\r\n *ngIf=\"!ns.showNotificationLoader && !util.isState('ME')\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : ''\">\r\n <ion-icon name=\"notifications-outline\"></ion-icon>\r\n <ion-badge color=\"dark\" *ngIf=\"ns.notificationCount.getValue() > 0\">\r\n <ion-label>{{ns.notificationCount.getValue()}}</ion-label>\r\n </ion-badge>\r\n </ion-button>\r\n <ion-spinner name=\"crescent\" *ngIf=\"ns.showNotificationLoader\"></ion-spinner>\r\n\r\n <ion-button (click)=\"this.hs.show()\" pTooltip=\"Help\" tooltipPosition=\"bottom\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && (hs.shouldDisplayHelpButton() | async)\">\r\n <ion-icon name=\"help-circle-outline\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"secondary\" *ngIf=\"!ls.isLoggedIn() && ls.getUser()\">\r\n <ion-button (click)=\"logout()\" pTooltip=\"Logout\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"log-out-sharp\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"end\" *ngIf=\"showLanguageOption === 'true' && (!ls.getUser() && legacyMenu == 'false')\">\r\n <p-menu #menu [popup]=\"true\" [model]=\"items\" appendTo=\"body\"></p-menu>\r\n <ion-button (click)=\"menu.toggle($event)\" pTooltip=\"Language\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"language\" slot=\"end\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n</ion-toolbar>\r\n<ion-toolbar color=\"light\" id=\"secondToolbar\" *ngIf=\"secondToolbar\">\r\n <ion-buttons slot=\"start\">\r\n <ion-back-button pTooltip=\"Back\" alt=\"Back\" tooltipPosition=\"bottom\" [defaultHref]=\"backPage ? backPage : '/welcome'\"></ion-back-button>\r\n <ion-title color=\"primary\" *ngIf=\"title\" style=\"font-size: 18px\">{{title}}</ion-title>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"end\">\r\n <ion-title color=\"primary\" style=\"font-size: xx-small; float: right; padding-right: 8px;\" *ngIf=\"pageId\">\r\n {{pageId}}</ion-title>\r\n </ion-buttons>\r\n</ion-toolbar>\r\n<p-toast>\r\n <ng-template let-message pTemplate=\"message\">\r\n <i *ngIf=\"message.severity === 'error'\" class=\"pi pi-times-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'success'\" class=\"pi pi-check-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'warn'\" class=\"pi pi-exclamation-circle\"style=\"margin-right: 14px; font-size: 38px \"></i>\r\n <i *ngIf=\"message.severity === 'info'\" class=\"pi pi-info-circle\" style=\"margin-right: 14px; font-size: 38px \"></i>\r\n\r\n <div [innerHTML]=\"'<strong style=\\'font-size: 22px;font-weight: bold;\\'>' + message.summary + '</strong><br><br>' + \r\n '<span style=\\'font-size: 18px;\\'>' + message.detail + '</span>'\">\r\n </div>\r\n </ng-template>\r\n </p-toast>\r\n\r\n<ng-container *ngIf=\"showProfilePopup\">\r\n <app-profile *ngIf=\"showProfilePopup\" (onCancel)=\"showProfilePopup = !showProfilePopup\"></app-profile>\r\n</ng-container>\r\n\r\n<app-job-search-result-page *ngIf=\"showjobSearchResultPopup\" (onCancel)=\"showjobSearchResultPopup = !showjobSearchResultPopup\"></app-job-search-result-page>\r\n\r\n\r\n\r\n", styles: ["#secondToolbar{--min-height: 45px !important}#header_reemployms_logo{margin-right:10px;margin-left:-5px;padding:5px;height:40px}.header_logo{height:35px}.header_button_white,.header_button{background:#fff;height:56px;margin:0;padding:8px}.toolbar-content{text-align:center}ion-toolbar{--ion-toolbar-background: var(--ion-color-primary) !important;--color: white !important;--font-weight: 500;--font-size: 13px;--position: relative;--z-index: 10;--text-align: center;--letter-spacing: .004em}ion-button{--color-hover: var(--ion-color-yellow) !important;text-transform:none!important;font-size:20px}.header-button{--color: var(--ion-color-yellow) !important;text-transform:none!important;font-weight:700;font-size:20px}.ios ion-button::part(native){color:#fff!important}ion-menu-button::part(native){color:#fff!important}ion-popover{--width: 40% !important}img{visibility:visible;position:relative}:host ::ng-deep p-autoComplete .p-inputtext{height:40px;color:#000}:host ::ng-deep p-autoComplete .p-autocomplete-item{padding:.5rem!important}:host ::ng-deep .p-toast-bottom-center,:host ::ng-deep .p-toast-top-center{transform:none!important;z-index:100001!important}:host ::ng-deep .p-toast .p-toast-icon{font-size:48px!important}:host ::ng-deep .p-toast-icon-close{position:absolute!important;top:0;right:0;margin:5px}:host ::ng-deep .p-toast-summary{font-weight:700;display:block;margin-bottom:5px}:host ::ng-deep .p-toast-message,:host ::ng-deep .p-toast-detail{display:block;font-size:14px}@media (min-width: 768px){:host ::ng-deep .header-popover{--width: 55%}}@media (min-width: 992px){:host ::ng-deep .header-popover{--width: 40%}}@media (min-width: 1200px){:host ::ng-deep .header-popover{--width: 35%}}@media (min-width: 1400px){:host ::ng-deep .header-popover{--width: 30%}}\n"] }]
|
|
6289
6311
|
}], () => [{ type: LoginService }, { type: UtilService }, { type: i3.Router }, { type: i1$3.PopoverController }, { type: ClaimantService$1 }, { type: i1$3.NavController }, { type: i1$3.ModalController }, { type: NotificationService }, { type: HelpService }, { type: i7.TranslateService }, { type: AuditService }], { title: [{
|
|
6290
6312
|
type: Input,
|
|
6291
6313
|
args: ['title']
|