asp-lib 1.0.39 → 1.0.41

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.
@@ -10,6 +10,8 @@ export class SecurityServices {
10
10
  static { this.RESOURCES_BY_USER = '/security/secure/resourcesbyuser'; }
11
11
  static { this.LOGOUT = '/security/secure/logOut'; }
12
12
  static { this.SAVE_HISTORY = '/security/secure/savehistory'; }
13
+ static { this.VERIFY_RESOURCES_BY_USERROLE = '/security/secure/validateresourcesbyRole'; }
14
+ static { this.CHANGE_PASSWORD = '/security/secure/changePassword'; }
13
15
  constructor(http) {
14
16
  this.http = http;
15
17
  }
@@ -33,12 +35,20 @@ export class SecurityServices {
33
35
  getResourcesByUser(baseUrl) {
34
36
  return this.http.get(baseUrl + SecurityServices.RESOURCES_BY_USER);
35
37
  }
38
+ getResourcesByRoleUser(baseUrl, path) {
39
+ const params = new URLSearchParams();
40
+ params.append('path', path);
41
+ return this.http.get(baseUrl + SecurityServices.VERIFY_RESOURCES_BY_USERROLE + '?' + params.toString());
42
+ }
36
43
  logOut(baseUrl) {
37
44
  return this.http.post(baseUrl + SecurityServices.LOGOUT, null);
38
45
  }
39
46
  saveHistory(baseUrl, option) {
40
47
  return this.http.post(baseUrl + SecurityServices.SAVE_HISTORY, option);
41
48
  }
49
+ changePassword(baseUrl, cp) {
50
+ return this.http.post(baseUrl + SecurityServices.CHANGE_PASSWORD, cp);
51
+ }
42
52
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SecurityServices, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
43
53
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SecurityServices, providedIn: 'root' }); }
44
54
  }
@@ -48,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
48
58
  providedIn: 'root'
49
59
  }]
50
60
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjdXJpdHlTZXJ2aWNlc0RlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3AtbGliL3NyYy9saWIvdXRpbHMvc2VydmljZXMvU2VjdXJpdHlTZXJ2aWNlc0RlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT3pDLE1BQU0sT0FBTyxnQkFBZ0I7YUFFWCxZQUFPLEdBQUcsNkJBQTZCLEFBQWhDLENBQWlDO2FBQ3hDLFlBQU8sR0FBRyxnQ0FBZ0MsQUFBbkMsQ0FBb0M7YUFDM0Msa0JBQWEsR0FBRyxrQ0FBa0MsQUFBckMsQ0FBc0M7YUFDbkQsbUJBQWMsR0FBRyxtQ0FBbUMsQUFBdEMsQ0FBdUM7YUFDckQsZ0JBQVcsR0FBRyxrQ0FBa0MsQUFBckMsQ0FBc0M7YUFDakQsc0JBQWlCLEdBQUcsa0NBQWtDLEFBQXJDLENBQXNDO2FBQ3ZELFdBQU0sR0FBRyx5QkFBeUIsQUFBNUIsQ0FBNkI7YUFDbkMsaUJBQVksR0FBRyw4QkFBOEIsQUFBakMsQ0FBa0M7SUFFOUQsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUNwQyxDQUFDO0lBR0EsVUFBVSxDQUFDLE9BQWM7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFjLEVBQUMsS0FBVTtRQUMxQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLGFBQWEsR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQWM7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFjO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFjO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sRUFBQyxJQUFJLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQWMsRUFBQyxNQUFVO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLFlBQVksRUFBQyxNQUFNLENBQUMsQ0FBQztJQUN4RSxDQUFDOytHQS9DUSxnQkFBZ0I7bUhBQWhCLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbiAgfSlcclxuICBleHBvcnQgY2xhc3MgU2VjdXJpdHlTZXJ2aWNlcyB7XHJcblxyXG4gICAgc3RhdGljIHJlYWRvbmx5IEhJU1RPUlkgPSAnL3NlY3VyaXR5L3NlY3VyZS9nZXRoaXN0b3J5JztcclxuICAgIHN0YXRpYyByZWFkb25seSBNT0RVTEVTID0gJy9zZWN1cml0eS9zZWN1cmUvbW9kdWxlc2J5dXNlcic7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgTU9EVUxFX09QVElPTiA9ICcvc2VjdXJpdHkvc2VjdXJlL29wdGlvbnNieW1vZHVsZSc7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgQ09NUEFOSUVTX0lORk8gPSAnL3NlY3VyaXR5L3NlY3VyZS9nZXRDb21wYW5pZXNJbmZvJztcclxuICAgIHN0YXRpYyByZWFkb25seSBWRVJJRllfQVVUSCA9ICcvc2VjdXJpdHkvc2VjdXJlL3ZhbGlkYXRlc2Vzc2lvbic7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgUkVTT1VSQ0VTX0JZX1VTRVIgPSAnL3NlY3VyaXR5L3NlY3VyZS9yZXNvdXJjZXNieXVzZXInO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IExPR09VVCA9ICcvc2VjdXJpdHkvc2VjdXJlL2xvZ091dCc7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgU0FWRV9ISVNUT1JZID0gJy9zZWN1cml0eS9zZWN1cmUvc2F2ZWhpc3RvcnknO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAgZ2V0SGlzdG9yeShiYXNlVXJsOnN0cmluZyl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYmFzZVVybCArIFNlY3VyaXR5U2VydmljZXMuSElTVE9SWSk7XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICBnZXRNb2R1bGVzKGJhc2VVcmw6c3RyaW5nKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChiYXNlVXJsICsgU2VjdXJpdHlTZXJ2aWNlcy5NT0RVTEVTKTtcclxuICAgICAgfVxyXG4gICAgXHJcbiAgICAgIG1lbnVNb2R1bGVTZWxlY3RlZChiYXNlVXJsOnN0cmluZyxhcHBJZDogYW55KSB7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xyXG4gICAgICAgIHBhcmFtcy5hcHBlbmQoJ2FwcElkJywgYXBwSWQpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGJhc2VVcmwgKyBTZWN1cml0eVNlcnZpY2VzLk1PRFVMRV9PUFRJT04gKyAnPycgKyBwYXJhbXMudG9TdHJpbmcoKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGdldENvbXBhbmllc0luZm8oYmFzZVVybDpzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChiYXNlVXJsICsgU2VjdXJpdHlTZXJ2aWNlcy5DT01QQU5JRVNfSU5GTyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlzQXV0aGVudGljYXRlZChiYXNlVXJsOnN0cmluZyl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYmFzZVVybCArIFNlY3VyaXR5U2VydmljZXMuVkVSSUZZX0FVVEgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBnZXRSZXNvdXJjZXNCeVVzZXIoYmFzZVVybDpzdHJpbmcpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGJhc2VVcmwgKyBTZWN1cml0eVNlcnZpY2VzLlJFU09VUkNFU19CWV9VU0VSKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbG9nT3V0KGJhc2VVcmw6c3RyaW5nKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYmFzZVVybCArIFNlY3VyaXR5U2VydmljZXMuTE9HT1VULG51bGwpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzYXZlSGlzdG9yeShiYXNlVXJsOnN0cmluZyxvcHRpb246YW55KXtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYmFzZVVybCArIFNlY3VyaXR5U2VydmljZXMuU0FWRV9ISVNUT1JZLG9wdGlvbik7XHJcbiAgICAgIH1cclxuXHJcbiAgfSJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjdXJpdHlTZXJ2aWNlc0RlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3AtbGliL3NyYy9saWIvdXRpbHMvc2VydmljZXMvU2VjdXJpdHlTZXJ2aWNlc0RlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT3pDLE1BQU0sT0FBTyxnQkFBZ0I7YUFFWCxZQUFPLEdBQUcsNkJBQTZCLEFBQWhDLENBQWlDO2FBQ3hDLFlBQU8sR0FBRyxnQ0FBZ0MsQUFBbkMsQ0FBb0M7YUFDM0Msa0JBQWEsR0FBRyxrQ0FBa0MsQUFBckMsQ0FBc0M7YUFDbkQsbUJBQWMsR0FBRyxtQ0FBbUMsQUFBdEMsQ0FBdUM7YUFDckQsZ0JBQVcsR0FBRyxrQ0FBa0MsQUFBckMsQ0FBc0M7YUFDakQsc0JBQWlCLEdBQUcsa0NBQWtDLEFBQXJDLENBQXNDO2FBQ3ZELFdBQU0sR0FBRyx5QkFBeUIsQUFBNUIsQ0FBNkI7YUFDbkMsaUJBQVksR0FBRyw4QkFBOEIsQUFBakMsQ0FBa0M7YUFDOUMsaUNBQTRCLEdBQUcsMENBQTBDLEFBQTdDLENBQThDO2FBQzFFLG9CQUFlLEdBQUcsaUNBQWlDLEFBQXBDLENBQXFDO0lBRXBFLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFDcEMsQ0FBQztJQUdBLFVBQVUsQ0FBQyxPQUFjO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxVQUFVLENBQUMsT0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBYyxFQUFDLEtBQVU7UUFDMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNyQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFjO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBYztRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBYztRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxPQUFjLEVBQUMsSUFBUTtRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLDRCQUE0QixHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBYyxFQUFDLE1BQVU7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBYyxFQUFDLEVBQU07UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxFQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7K0dBM0RRLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7NEZBRVAsZ0JBQWdCO2tCQUg5QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcywgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxuICB9KVxyXG4gIGV4cG9ydCBjbGFzcyBTZWN1cml0eVNlcnZpY2VzIHtcclxuXHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgSElTVE9SWSA9ICcvc2VjdXJpdHkvc2VjdXJlL2dldGhpc3RvcnknO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IE1PRFVMRVMgPSAnL3NlY3VyaXR5L3NlY3VyZS9tb2R1bGVzYnl1c2VyJztcclxuICAgIHN0YXRpYyByZWFkb25seSBNT0RVTEVfT1BUSU9OID0gJy9zZWN1cml0eS9zZWN1cmUvb3B0aW9uc2J5bW9kdWxlJztcclxuICAgIHN0YXRpYyByZWFkb25seSBDT01QQU5JRVNfSU5GTyA9ICcvc2VjdXJpdHkvc2VjdXJlL2dldENvbXBhbmllc0luZm8nO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IFZFUklGWV9BVVRIID0gJy9zZWN1cml0eS9zZWN1cmUvdmFsaWRhdGVzZXNzaW9uJztcclxuICAgIHN0YXRpYyByZWFkb25seSBSRVNPVVJDRVNfQllfVVNFUiA9ICcvc2VjdXJpdHkvc2VjdXJlL3Jlc291cmNlc2J5dXNlcic7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgTE9HT1VUID0gJy9zZWN1cml0eS9zZWN1cmUvbG9nT3V0JztcclxuICAgIHN0YXRpYyByZWFkb25seSBTQVZFX0hJU1RPUlkgPSAnL3NlY3VyaXR5L3NlY3VyZS9zYXZlaGlzdG9yeSc7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgVkVSSUZZX1JFU09VUkNFU19CWV9VU0VSUk9MRSA9ICcvc2VjdXJpdHkvc2VjdXJlL3ZhbGlkYXRlcmVzb3VyY2VzYnlSb2xlJztcclxuICAgIHN0YXRpYyByZWFkb25seSBDSEFOR0VfUEFTU1dPUkQgPSAnL3NlY3VyaXR5L3NlY3VyZS9jaGFuZ2VQYXNzd29yZCc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICB9XHJcblxyXG5cclxuICAgICBnZXRIaXN0b3J5KGJhc2VVcmw6c3RyaW5nKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChiYXNlVXJsICsgU2VjdXJpdHlTZXJ2aWNlcy5ISVNUT1JZKTtcclxuICAgICAgfVxyXG4gICAgXHJcbiAgICAgIGdldE1vZHVsZXMoYmFzZVVybDpzdHJpbmcpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGJhc2VVcmwgKyBTZWN1cml0eVNlcnZpY2VzLk1PRFVMRVMpO1xyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgbWVudU1vZHVsZVNlbGVjdGVkKGJhc2VVcmw6c3RyaW5nLGFwcElkOiBhbnkpIHtcclxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XHJcbiAgICAgICAgcGFyYW1zLmFwcGVuZCgnYXBwSWQnLCBhcHBJZCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYmFzZVVybCArIFNlY3VyaXR5U2VydmljZXMuTU9EVUxFX09QVElPTiArICc/JyArIHBhcmFtcy50b1N0cmluZygpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZ2V0Q29tcGFuaWVzSW5mbyhiYXNlVXJsOnN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGJhc2VVcmwgKyBTZWN1cml0eVNlcnZpY2VzLkNPTVBBTklFU19JTkZPKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaXNBdXRoZW50aWNhdGVkKGJhc2VVcmw6c3RyaW5nKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChiYXNlVXJsICsgU2VjdXJpdHlTZXJ2aWNlcy5WRVJJRllfQVVUSCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGdldFJlc291cmNlc0J5VXNlcihiYXNlVXJsOnN0cmluZyl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYmFzZVVybCArIFNlY3VyaXR5U2VydmljZXMuUkVTT1VSQ0VTX0JZX1VTRVIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBnZXRSZXNvdXJjZXNCeVJvbGVVc2VyKGJhc2VVcmw6c3RyaW5nLHBhdGg6YW55KXtcclxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XHJcbiAgICAgICAgcGFyYW1zLmFwcGVuZCgncGF0aCcsIHBhdGgpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGJhc2VVcmwgKyBTZWN1cml0eVNlcnZpY2VzLlZFUklGWV9SRVNPVVJDRVNfQllfVVNFUlJPTEUgKyAnPycgKyBwYXJhbXMudG9TdHJpbmcoKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxvZ091dChiYXNlVXJsOnN0cmluZyl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGJhc2VVcmwgKyBTZWN1cml0eVNlcnZpY2VzLkxPR09VVCxudWxsKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgc2F2ZUhpc3RvcnkoYmFzZVVybDpzdHJpbmcsb3B0aW9uOmFueSl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGJhc2VVcmwgKyBTZWN1cml0eVNlcnZpY2VzLlNBVkVfSElTVE9SWSxvcHRpb24pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjaGFuZ2VQYXNzd29yZChiYXNlVXJsOnN0cmluZyxjcDphbnkpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChiYXNlVXJsICsgU2VjdXJpdHlTZXJ2aWNlcy5DSEFOR0VfUEFTU1dPUkQsY3ApO1xyXG4gICAgICB9XHJcblxyXG4gIH0iXX0=