monkey-front-core 0.0.194 → 0.0.197

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.
@@ -16,7 +16,7 @@ export class MonkeyEcxFeatureByProgramDirective {
16
16
  const { feature, config } = this;
17
17
  let display = 'none';
18
18
  if (!MonkeyEcxUtils.persistNullEmptyUndefined(feature) ||
19
- !MonkeyEcxUtils.persistNullEmptyUndefined(config?.program?.settings?.[feature])) {
19
+ !MonkeyEcxUtils.persistNullEmptyUndefined(config?.program?.settings)) {
20
20
  return;
21
21
  }
22
22
  const disabled = config?.program?.settings?.[feature];
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
48
48
  type: Input,
49
49
  args: ['feature']
50
50
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWZlYXR1cmUtYnktcHJvZ3JhbS1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvZGlyZWN0aXZlcy9tb25rZXllY3gtZmVhdHVyZS1ieS1wcm9ncmFtLWRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFLaEQsTUFBTSxPQUFPLGtDQUFrQztJQUs3QyxZQUNVLEdBQXNCLEVBQ3RCLFVBQXNCLEVBQ3RCLG1CQUEyQztRQUYzQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFQbkMsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQVNyQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBa0IsRUFBRSxFQUFFO1lBQ2pFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDakMsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDO1lBQ3RELENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRTtZQUMvRSxPQUFPO1NBQ1I7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixPQUFPLEdBQUcsT0FBTyxDQUFDO1NBQ25CO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFFdEQsSUFBSSxPQUFPLEtBQUssTUFBTSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDckQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7K0hBNUNVLGtDQUFrQzttSEFBbEMsa0NBQWtDOzJGQUFsQyxrQ0FBa0M7a0JBSDlDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtpQkFDeEM7c0tBRW1CLE9BQU87c0JBQXhCLEtBQUs7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbW9ua2V5ZWN4RmVhdHVyZUJ5UHJvZ3JhbV0nXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeEZlYXR1cmVCeVByb2dyYW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ2ZlYXR1cmUnKSBmZWF0dXJlOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIGNvbmZpZz86IE1vbmtleUVjeENvbmZpZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgbW9ua2V5Q29uZmlnU2VydmljZTogTW9ua2V5RWN4Q29uZmlnU2VydmljZVxuICApIHtcbiAgICB0aGlzLm1vbmtleUNvbmZpZ1NlcnZpY2UuY29uZmlnKCkuc3Vic2NyaWJlKChfOiBNb25rZXlFY3hDb25maWcpID0+IHtcbiAgICAgIHRoaXMuY29uZmlnID0gXztcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRGlzcGxheSgpOiB2b2lkIHtcbiAgICBjb25zdCB7IGZlYXR1cmUsIGNvbmZpZyB9ID0gdGhpcztcbiAgICBsZXQgZGlzcGxheSA9ICdub25lJztcblxuICAgIGlmICghTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChmZWF0dXJlKSB8fFxuICAgICFNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKGNvbmZpZz8ucHJvZ3JhbT8uc2V0dGluZ3M/LltmZWF0dXJlXSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkaXNhYmxlZCA9IGNvbmZpZz8ucHJvZ3JhbT8uc2V0dGluZ3M/LltmZWF0dXJlXTtcblxuICAgIGlmICghZGlzYWJsZWQpIHtcbiAgICAgIGRpc3BsYXkgPSAnYmxvY2snO1xuICAgIH1cblxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSBkaXNwbGF5O1xuXG4gICAgaWYgKGRpc3BsYXkgPT09ICdub25lJykge1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmZlYXR1cmUpIHJldHVybjtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLmhhbmRsZURpc3BsYXkoKTtcbiAgfVxufVxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWZlYXR1cmUtYnktcHJvZ3JhbS1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvZGlyZWN0aXZlcy9tb25rZXllY3gtZmVhdHVyZS1ieS1wcm9ncmFtLWRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFLaEQsTUFBTSxPQUFPLGtDQUFrQztJQUs3QyxZQUNVLEdBQXNCLEVBQ3RCLFVBQXNCLEVBQ3RCLG1CQUEyQztRQUYzQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFQbkMsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQVNyQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBa0IsRUFBRSxFQUFFO1lBQ2pFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDakMsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDO1lBQ3RELENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDcEUsT0FBTztTQUNSO1FBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTyxHQUFHLE9BQU8sQ0FBQztTQUNuQjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBRXRELElBQUksT0FBTyxLQUFLLE1BQU0sRUFBRTtZQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN4QztRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OytIQTVDVSxrQ0FBa0M7bUhBQWxDLGtDQUFrQzsyRkFBbEMsa0NBQWtDO2tCQUg5QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7aUJBQ3hDO3NLQUVtQixPQUFPO3NCQUF4QixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uL3V0aWxzL3V0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21vbmtleWVjeEZlYXR1cmVCeVByb2dyYW1dJ1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hGZWF0dXJlQnlQcm9ncmFtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCdmZWF0dXJlJykgZmVhdHVyZTogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBjb25maWc/OiBNb25rZXlFY3hDb25maWc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG1vbmtleUNvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5tb25rZXlDb25maWdTZXJ2aWNlLmNvbmZpZygpLnN1YnNjcmliZSgoXzogTW9ua2V5RWN4Q29uZmlnKSA9PiB7XG4gICAgICB0aGlzLmNvbmZpZyA9IF87XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURpc3BsYXkoKTogdm9pZCB7XG4gICAgY29uc3QgeyBmZWF0dXJlLCBjb25maWcgfSA9IHRoaXM7XG4gICAgbGV0IGRpc3BsYXkgPSAnbm9uZSc7XG5cbiAgICBpZiAoIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoZmVhdHVyZSkgfHxcbiAgICAhTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChjb25maWc/LnByb2dyYW0/LnNldHRpbmdzKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRpc2FibGVkID0gY29uZmlnPy5wcm9ncmFtPy5zZXR0aW5ncz8uW2ZlYXR1cmVdO1xuXG4gICAgaWYgKCFkaXNhYmxlZCkge1xuICAgICAgZGlzcGxheSA9ICdibG9jayc7XG4gICAgfVxuXG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IGRpc3BsYXk7XG5cbiAgICBpZiAoZGlzcGxheSA9PT0gJ25vbmUnKSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZmVhdHVyZSkgcmV0dXJuO1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuaGFuZGxlRGlzcGxheSgpO1xuICB9XG59XG4iXX0=
@@ -1,17 +1,36 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { throwError } from 'rxjs';
2
+ import { from, throwError } from 'rxjs';
3
3
  import { catchError, map, mergeMap, take } from 'rxjs/operators';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "../services/auth";
6
6
  import * as i2 from "../services/error";
7
+ import * as i3 from "../services";
7
8
  export class MonkeyEcxHttpConfigHeaderInterceptor {
8
- constructor(monkeyecxAuthenticationService, monkeyecxErrorHandlingService) {
9
- this.monkeyecxAuthenticationService = monkeyecxAuthenticationService;
10
- this.monkeyecxErrorHandlingService = monkeyecxErrorHandlingService;
9
+ constructor(authService, errorHandlingService, config) {
10
+ this.authService = authService;
11
+ this.errorHandlingService = errorHandlingService;
12
+ this.config = config;
11
13
  // not to do
12
14
  }
13
- intercept(request, next) {
14
- return this.monkeyecxAuthenticationService?.getRequestWithHeadersOb(request)?.pipe(take(1), map((event) => {
15
+ async handle(request, next) {
16
+ const { url } = request;
17
+ if (this.authService.isTokenMandatory(url)) {
18
+ try {
19
+ const config = await this.config
20
+ .config()
21
+ .pipe(take(1))
22
+ .toPromise();
23
+ if (!config) {
24
+ await this.onValidateConfig();
25
+ }
26
+ }
27
+ catch (error) {
28
+ // not to do
29
+ }
30
+ }
31
+ return this.authService
32
+ .getRequestWithHeadersOb(request)
33
+ .pipe(take(1), map((event) => {
15
34
  return event;
16
35
  }), mergeMap((resp) => {
17
36
  request = request.clone({
@@ -19,14 +38,38 @@ export class MonkeyEcxHttpConfigHeaderInterceptor {
19
38
  });
20
39
  return next.handle(request);
21
40
  }), catchError((error) => {
22
- this.monkeyecxErrorHandlingService.handleError(error);
41
+ this.errorHandlingService.handleError(error);
23
42
  return throwError(error);
24
- })) || throwError('getRequestWithHeadersOb undefined');
43
+ }))
44
+ .toPromise();
45
+ }
46
+ onValidateConfig() {
47
+ return new Promise((resolve) => {
48
+ let count = 0;
49
+ const interval = setInterval(async () => {
50
+ count += 1;
51
+ if (count > 20) {
52
+ clearInterval(interval);
53
+ resolve(null);
54
+ }
55
+ const config = await this.config
56
+ .config()
57
+ .pipe(take(1))
58
+ .toPromise();
59
+ if (config) {
60
+ clearInterval(interval);
61
+ resolve(null);
62
+ }
63
+ }, 200);
64
+ });
65
+ }
66
+ intercept(request, next) {
67
+ return from(this.handle(request, next));
25
68
  }
26
69
  }
27
- MonkeyEcxHttpConfigHeaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, deps: [{ token: i1.MonkeyEcxAuthenticationService }, { token: i2.MonkeyEcxErrorHandlingService }], target: i0.ɵɵFactoryTarget.Injectable });
70
+ MonkeyEcxHttpConfigHeaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, deps: [{ token: i1.MonkeyEcxAuthenticationService }, { token: i2.MonkeyEcxErrorHandlingService }, { token: i3.MonkeyEcxConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
28
71
  MonkeyEcxHttpConfigHeaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor });
29
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, decorators: [{
30
73
  type: Injectable
31
- }], ctorParameters: function () { return [{ type: i1.MonkeyEcxAuthenticationService }, { type: i2.MonkeyEcxErrorHandlingService }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWh0dHAtY29uZmlnLWhlYWRlci5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9pbnRlcmNlcHRvcnMvbW9ua2V5ZWN4LWh0dHAtY29uZmlnLWhlYWRlci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUTNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBS2pFLE1BQU0sT0FBTyxvQ0FBb0M7SUFDL0MsWUFDVSw4QkFBOEQsRUFDOUQsNkJBQTREO1FBRDVELG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDOUQsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQUVwRSxZQUFZO0lBQ2QsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLDhCQUE4QixFQUFFLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FDaEYsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLEVBQ0YsUUFBUSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDckIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0RCxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FDSCxJQUFJLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O2lJQXpCVSxvQ0FBb0M7cUlBQXBDLG9DQUFvQzsyRkFBcEMsb0NBQW9DO2tCQURoRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSHR0cEVycm9yUmVzcG9uc2UsXG4gIEh0dHBFdmVudCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBtZXJnZU1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1vbmtleUVjeEVycm9ySGFuZGxpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZXJyb3InO1xuaW1wb3J0IHsgTW9ua2V5RWN4QXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hIdHRwQ29uZmlnSGVhZGVySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1vbmtleWVjeEF1dGhlbnRpY2F0aW9uU2VydmljZTogTW9ua2V5RWN4QXV0aGVudGljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9ua2V5ZWN4RXJyb3JIYW5kbGluZ1NlcnZpY2U6IE1vbmtleUVjeEVycm9ySGFuZGxpbmdTZXJ2aWNlXG4gICkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIHJldHVybiB0aGlzLm1vbmtleWVjeEF1dGhlbnRpY2F0aW9uU2VydmljZT8uZ2V0UmVxdWVzdFdpdGhIZWFkZXJzT2IocmVxdWVzdCk/LnBpcGUoXG4gICAgICB0YWtlKDEpLFxuICAgICAgbWFwKChldmVudDogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBldmVudDtcbiAgICAgIH0pLFxuICAgICAgbWVyZ2VNYXAoKHJlc3A6IGFueSkgPT4ge1xuICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgICAgc2V0SGVhZGVyczogcmVzcFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5tb25rZXllY3hFcnJvckhhbmRsaW5nU2VydmljZS5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgIH0pXG4gICAgKSB8fCB0aHJvd0Vycm9yKCdnZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYiB1bmRlZmluZWQnKTtcbiAgfVxufVxuIl19
74
+ }], ctorParameters: function () { return [{ type: i1.MonkeyEcxAuthenticationService }, { type: i2.MonkeyEcxErrorHandlingService }, { type: i3.MonkeyEcxConfigService }]; } });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWh0dHAtY29uZmlnLWhlYWRlci5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9pbnRlcmNlcHRvcnMvbW9ua2V5ZWN4LWh0dHAtY29uZmlnLWhlYWRlci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUTNDLE9BQU8sRUFBRSxJQUFJLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNakUsTUFBTSxPQUFPLG9DQUFvQztJQUMvQyxZQUNVLFdBQTJDLEVBQzNDLG9CQUFtRCxFQUNuRCxNQUE4QjtRQUY5QixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0M7UUFDM0MseUJBQW9CLEdBQXBCLG9CQUFvQixDQUErQjtRQUNuRCxXQUFNLEdBQU4sTUFBTSxDQUF3QjtRQUV0QyxZQUFZO0lBQ2QsQ0FBQztJQUVPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUMvRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQyxJQUFJO2dCQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU07cUJBQzdCLE1BQU0sRUFBRTtxQkFDUixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNiLFNBQVMsRUFBRSxDQUFDO2dCQUVmLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDL0I7YUFDRjtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLFlBQVk7YUFDYjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNwQix1QkFBdUIsQ0FBQyxPQUFPLENBQUM7YUFDaEMsSUFBSSxDQUNILElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQ3JCLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUN0QixVQUFVLEVBQUUsSUFBSTthQUNqQixDQUFDLENBQUM7WUFDSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0MsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFpQixFQUFFLEVBQUU7WUFDdkMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUN0QyxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUNYLElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRTtvQkFDZCxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDZjtnQkFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNO3FCQUM3QixNQUFNLEVBQUU7cUJBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDYixTQUFTLEVBQUUsQ0FBQztnQkFFZixJQUFJLE1BQU0sRUFBRTtvQkFDVixhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDZjtZQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNWLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7aUlBeEVVLG9DQUFvQztxSUFBcEMsb0NBQW9DOzJGQUFwQyxvQ0FBb0M7a0JBRGhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgSHR0cEV2ZW50LFxuICBIdHRwSGFuZGxlcixcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIG1lcmdlTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4RXJyb3JIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lcnJvcic7XG5pbXBvcnQgeyBNb25rZXlFY3hBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hdXRoJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hIdHRwQ29uZmlnSGVhZGVySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBNb25rZXlFY3hBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlcnJvckhhbmRsaW5nU2VydmljZTogTW9ua2V5RWN4RXJyb3JIYW5kbGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWc6IE1vbmtleUVjeENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZShyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIGNvbnN0IHsgdXJsIH0gPSByZXF1ZXN0O1xuICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmlzVG9rZW5NYW5kYXRvcnkodXJsKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5jb25maWdcbiAgICAgICAgICAuY29uZmlnKClcbiAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgIC50b1Byb21pc2UoKTtcblxuICAgICAgICBpZiAoIWNvbmZpZykge1xuICAgICAgICAgIGF3YWl0IHRoaXMub25WYWxpZGF0ZUNvbmZpZygpO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBub3QgdG8gZG9cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZVxuICAgICAgLmdldFJlcXVlc3RXaXRoSGVhZGVyc09iKHJlcXVlc3QpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgbWFwKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGV2ZW50O1xuICAgICAgICB9KSxcbiAgICAgICAgbWVyZ2VNYXAoKHJlc3A6IGFueSkgPT4ge1xuICAgICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICAgIHNldEhlYWRlcnM6IHJlc3BcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9ySGFuZGxpbmdTZXJ2aWNlLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBwcml2YXRlIG9uVmFsaWRhdGVDb25maWcoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbikgPT4ge1xuICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb3VudCArPSAxO1xuICAgICAgICBpZiAoY291bnQgPiAyMCkge1xuICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb25maWcgPSBhd2FpdCB0aGlzLmNvbmZpZ1xuICAgICAgICAgIC5jb25maWcoKVxuICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICByZXNvbHZlKG51bGwpO1xuICAgICAgICB9XG4gICAgICB9LCAyMDApO1xuICAgIH0pO1xuICB9XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuaGFuZGxlKHJlcXVlc3QsIG5leHQpKTtcbiAgfVxufVxuIl19
@@ -23,6 +23,10 @@ export class MonkeyEcxAuthenticationService {
23
23
  console.error('isCompanyAuthorized needs to be declared!');
24
24
  return false;
25
25
  };
26
+ this.isTokenMandatory = (url) => {
27
+ console.error('isTokenMandatory needs to be declared!');
28
+ return false;
29
+ };
26
30
  this.getRequestWithHeaders = (request) => {
27
31
  console.error('getRequestWithHeaders needs to be declared!');
28
32
  return null;
@@ -61,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
61
65
  type: Injectable,
62
66
  args: [{ providedIn: 'root' }]
63
67
  }], ctorParameters: function () { return []; } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXV0aC9tb25rZXllY3gtYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QztRQUlBLHVCQUFrQixHQUFHLEdBQUcsRUFBRTtZQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7WUFDMUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRixnQkFBVyxHQUFHLEdBQUcsRUFBRTtZQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7WUFDbkQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRiw2QkFBd0IsR0FBRyxHQUFHLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBRUYsaUJBQVksR0FBRyxHQUFZLEVBQUU7WUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsd0JBQW1CLEdBQUcsR0FBWSxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztZQUMzRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQztRQUVGLDBCQUFxQixHQUFHLENBQUMsT0FBeUIsRUFBMkIsRUFBRTtZQUM3RSxPQUFPLENBQUMsS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7WUFDN0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRiw0QkFBdUIsR0FBRyxDQUFDLE9BQXlCLEVBQTBCLEVBQUU7WUFDOUUsT0FBTyxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBRUYsd0JBQW1CLEdBQUcsQ0FBQyxRQUEyQixFQUFXLEVBQUU7WUFDN0QsT0FBTyxDQUFDLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1lBQzNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsaUJBQVksR0FBRyxHQUEyQixFQUFFO1lBQzFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztZQUNwRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQTlDQSxZQUFZO0lBQ2QsQ0FBQztJQStDRCxJQUFJLENBQUMsSUFVSjtRQUNDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEVBQUUsa0JBQWtCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLHdCQUF3QjtZQUMzQixJQUFJLEVBQUUsd0JBQXdCLElBQUksSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksRUFBRSxtQkFBbUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxxQkFBcUI7WUFDeEIsSUFBSSxFQUFFLHFCQUFxQixJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksRUFBRSxtQkFBbUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RSxDQUFDOzsySEF4RVUsOEJBQThCOytIQUE5Qiw4QkFBOEIsY0FEakIsTUFBTTsyRkFDbkIsOEJBQThCO2tCQUQxQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUmVxdWVzdFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4QXV0aGVudGljYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBoYWRBdExlYXN0T25lTG9naW4gPSAoKSA9PiB7XG4gICAgY29uc29sZS5lcnJvcignaGFkQXRMZWFzdE9uZUxvZ2luIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHJlZGlyZWN0QXBwID0gKCkgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ3JlZGlyZWN0QXBwIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHJlZGlyZWN0TG9naW5XZWxjb21lQmFjayA9ICgpID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdyZWRpcmVjdExvZ2luV2VsY29tZUJhY2sgbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgaXNBdXRob3JpemVkID0gKCk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2lzQXV0aG9yaXplZCBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgaXNDb21wYW55QXV0aG9yaXplZCA9ICgpOiBib29sZWFuID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdpc0NvbXBhbnlBdXRob3JpemVkIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICBnZXRSZXF1ZXN0V2l0aEhlYWRlcnMgPSAocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4gfCBudWxsID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdnZXRSZXF1ZXN0V2l0aEhlYWRlcnMgbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgZ2V0UmVxdWVzdFdpdGhIZWFkZXJzT2IgPSAocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IE9ic2VydmFibGU8YW55PiB8IG51bGwgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2dldFJlcXVlc3RXaXRoSGVhZGVyc09iIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHJlZnJlc2hTaG91bGRIYXBwZW4gPSAocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc29sZS5lcnJvcigncmVmcmVzaFNob3VsZEhhcHBlbiBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgcmVmcmVzaFRva2VuID0gKCk6IE9ic2VydmFibGU8YW55PiB8IG51bGwgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ3JlZnJlc2hUb2tlbiBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICBpbml0KGFyZ3M6IHtcbiAgICBoYWRBdExlYXN0T25lTG9naW4/OiBhbnk7XG4gICAgcmVkaXJlY3RBcHA/OiBhbnk7XG4gICAgcmVkaXJlY3RMb2dpbldlbGNvbWVCYWNrPzogYW55O1xuICAgIGlzQXV0aG9yaXplZD86IGFueTtcbiAgICBpc0NvbXBhbnlBdXRob3JpemVkPzogYW55O1xuICAgIGdldFJlcXVlc3RXaXRoSGVhZGVycz86IGFueTtcbiAgICBnZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYj86IGFueTtcbiAgICByZWZyZXNoU2hvdWxkSGFwcGVuPzogYW55O1xuICAgIHJlZnJlc2hUb2tlbj86IGFueTtcbiAgfSkge1xuICAgIHRoaXMuaGFkQXRMZWFzdE9uZUxvZ2luID0gYXJncz8uaGFkQXRMZWFzdE9uZUxvZ2luIHx8IHRoaXMuaGFkQXRMZWFzdE9uZUxvZ2luLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZWRpcmVjdEFwcCA9IGFyZ3M/LnJlZGlyZWN0QXBwIHx8IHRoaXMucmVkaXJlY3RBcHAuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZGlyZWN0TG9naW5XZWxjb21lQmFjayA9XG4gICAgICBhcmdzPy5yZWRpcmVjdExvZ2luV2VsY29tZUJhY2sgfHwgdGhpcy5yZWRpcmVjdExvZ2luV2VsY29tZUJhY2suYmluZCh0aGlzKTtcbiAgICB0aGlzLmlzQXV0aG9yaXplZCA9IGFyZ3M/LmlzQXV0aG9yaXplZCB8fCB0aGlzLmlzQXV0aG9yaXplZC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaXNDb21wYW55QXV0aG9yaXplZCA9IGFyZ3M/LmlzQ29tcGFueUF1dGhvcml6ZWQgfHwgdGhpcy5pc0NvbXBhbnlBdXRob3JpemVkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRSZXF1ZXN0V2l0aEhlYWRlcnMgPVxuICAgICAgYXJncz8uZ2V0UmVxdWVzdFdpdGhIZWFkZXJzIHx8IHRoaXMuZ2V0UmVxdWVzdFdpdGhIZWFkZXJzLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYiA9IGFyZ3M/LmdldFJlcXVlc3RXaXRoSGVhZGVyc09iLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZWZyZXNoU2hvdWxkSGFwcGVuID0gYXJncz8ucmVmcmVzaFNob3VsZEhhcHBlbiB8fCB0aGlzLnJlZnJlc2hTaG91bGRIYXBwZW4uYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZnJlc2hUb2tlbiA9IGFyZ3M/LnJlZnJlc2hUb2tlbiB8fCB0aGlzLnJlZnJlc2hUb2tlbi5iaW5kKHRoaXMpO1xuICB9XG59XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXV0aC9tb25rZXllY3gtYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QztRQUlBLHVCQUFrQixHQUFHLEdBQUcsRUFBRTtZQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7WUFDMUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRixnQkFBVyxHQUFHLEdBQUcsRUFBRTtZQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7WUFDbkQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRiw2QkFBd0IsR0FBRyxHQUFHLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBRUYsaUJBQVksR0FBRyxHQUFZLEVBQUU7WUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsd0JBQW1CLEdBQUcsR0FBWSxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztZQUMzRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQztRQUVGLHFCQUFnQixHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUU7WUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1lBQ3hELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsMEJBQXFCLEdBQUcsQ0FBQyxPQUF5QixFQUEwQixFQUFFO1lBQzVFLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztZQUM3RCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGLDRCQUF1QixHQUFHLENBQUMsT0FBeUIsRUFBeUIsRUFBRTtZQUM3RSxPQUFPLENBQUMsS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRix3QkFBbUIsR0FBRyxDQUFDLFFBQTJCLEVBQVcsRUFBRTtZQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7WUFDM0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7UUFFRixpQkFBWSxHQUFHLEdBQTJCLEVBQUU7WUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBbkRBLFlBQVk7SUFDZCxDQUFDO0lBb0RELElBQUksQ0FBQyxJQVVKO1FBQ0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksRUFBRSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsd0JBQXdCO1lBQzNCLElBQUksRUFBRSx3QkFBd0IsSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxFQUFFLG1CQUFtQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLHFCQUFxQjtZQUN4QixJQUFJLEVBQUUscUJBQXFCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxFQUFFLG1CQUFtQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OzJIQTdFVSw4QkFBOEI7K0hBQTlCLDhCQUE4QixjQURqQixNQUFNOzJGQUNuQiw4QkFBOEI7a0JBRDFDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeEF1dGhlbnRpY2F0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgaGFkQXRMZWFzdE9uZUxvZ2luID0gKCkgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2hhZEF0TGVhc3RPbmVMb2dpbiBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICByZWRpcmVjdEFwcCA9ICgpID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdyZWRpcmVjdEFwcCBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICByZWRpcmVjdExvZ2luV2VsY29tZUJhY2sgPSAoKSA9PiB7XG4gICAgY29uc29sZS5lcnJvcigncmVkaXJlY3RMb2dpbldlbGNvbWVCYWNrIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIGlzQXV0aG9yaXplZCA9ICgpOiBib29sZWFuID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdpc0F1dGhvcml6ZWQgbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIGlzQ29tcGFueUF1dGhvcml6ZWQgPSAoKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc29sZS5lcnJvcignaXNDb21wYW55QXV0aG9yaXplZCBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgaXNUb2tlbk1hbmRhdG9yeSA9ICh1cmw6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2lzVG9rZW5NYW5kYXRvcnkgbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIGdldFJlcXVlc3RXaXRoSGVhZGVycyA9IChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB8IGFueSA9PiB7XG4gICAgY29uc29sZS5lcnJvcignZ2V0UmVxdWVzdFdpdGhIZWFkZXJzIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIGdldFJlcXVlc3RXaXRoSGVhZGVyc09iID0gKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBPYnNlcnZhYmxlPGFueT4gfCBhbnkgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2dldFJlcXVlc3RXaXRoSGVhZGVyc09iIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHJlZnJlc2hTaG91bGRIYXBwZW4gPSAocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc29sZS5lcnJvcigncmVmcmVzaFNob3VsZEhhcHBlbiBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgcmVmcmVzaFRva2VuID0gKCk6IE9ic2VydmFibGU8YW55PiB8IG51bGwgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ3JlZnJlc2hUb2tlbiBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICBpbml0KGFyZ3M6IHtcbiAgICBoYWRBdExlYXN0T25lTG9naW4/OiBhbnk7XG4gICAgcmVkaXJlY3RBcHA/OiBhbnk7XG4gICAgcmVkaXJlY3RMb2dpbldlbGNvbWVCYWNrPzogYW55O1xuICAgIGlzQXV0aG9yaXplZD86IGFueTtcbiAgICBpc0NvbXBhbnlBdXRob3JpemVkPzogYW55O1xuICAgIGdldFJlcXVlc3RXaXRoSGVhZGVycz86IGFueTtcbiAgICBnZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYj86IGFueTtcbiAgICByZWZyZXNoU2hvdWxkSGFwcGVuPzogYW55O1xuICAgIHJlZnJlc2hUb2tlbj86IGFueTtcbiAgfSkge1xuICAgIHRoaXMuaGFkQXRMZWFzdE9uZUxvZ2luID0gYXJncz8uaGFkQXRMZWFzdE9uZUxvZ2luIHx8IHRoaXMuaGFkQXRMZWFzdE9uZUxvZ2luLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZWRpcmVjdEFwcCA9IGFyZ3M/LnJlZGlyZWN0QXBwIHx8IHRoaXMucmVkaXJlY3RBcHAuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZGlyZWN0TG9naW5XZWxjb21lQmFjayA9XG4gICAgICBhcmdzPy5yZWRpcmVjdExvZ2luV2VsY29tZUJhY2sgfHwgdGhpcy5yZWRpcmVjdExvZ2luV2VsY29tZUJhY2suYmluZCh0aGlzKTtcbiAgICB0aGlzLmlzQXV0aG9yaXplZCA9IGFyZ3M/LmlzQXV0aG9yaXplZCB8fCB0aGlzLmlzQXV0aG9yaXplZC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaXNDb21wYW55QXV0aG9yaXplZCA9IGFyZ3M/LmlzQ29tcGFueUF1dGhvcml6ZWQgfHwgdGhpcy5pc0NvbXBhbnlBdXRob3JpemVkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRSZXF1ZXN0V2l0aEhlYWRlcnMgPVxuICAgICAgYXJncz8uZ2V0UmVxdWVzdFdpdGhIZWFkZXJzIHx8IHRoaXMuZ2V0UmVxdWVzdFdpdGhIZWFkZXJzLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYiA9IGFyZ3M/LmdldFJlcXVlc3RXaXRoSGVhZGVyc09iLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZWZyZXNoU2hvdWxkSGFwcGVuID0gYXJncz8ucmVmcmVzaFNob3VsZEhhcHBlbiB8fCB0aGlzLnJlZnJlc2hTaG91bGRIYXBwZW4uYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZnJlc2hUb2tlbiA9IGFyZ3M/LnJlZnJlc2hUb2tlbiB8fCB0aGlzLnJlZnJlc2hUb2tlbi5iaW5kKHRoaXMpO1xuICB9XG59XG4iXX0=
@@ -107,10 +107,10 @@ export class MonkeyEcxCommonsService {
107
107
  const { config, feature } = args;
108
108
  try {
109
109
  if (!MonkeyEcxUtils.persistNullEmptyUndefined(feature) ||
110
- !MonkeyEcxUtils.persistNullEmptyUndefined(config?.program?.settings[feature])) {
111
- return false;
110
+ !MonkeyEcxUtils.persistNullEmptyUndefined(config?.program?.settings)) {
111
+ return true;
112
112
  }
113
- return !config?.program?.settings[feature];
113
+ return !config?.program?.settings?.[feature];
114
114
  }
115
115
  catch (e) {
116
116
  // not to do
@@ -378,4 +378,4 @@ __decorate([
378
378
  }
379
379
  })
380
380
  ], MonkeyEcxCommonsService.prototype, "genericMethod", null);
381
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbW1vbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tb25zL21vbmtleWVjeC1jb21tb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxlQUFlLEVBR2hCLE1BQU0saUJBQWlCLENBQUM7QUFHekIsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFrQnpELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBRTFHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUk3RSxNQUFNLE9BQU8sdUJBQXVCO0lBa0VsQyxZQUNTLGdCQUFtQyxFQUNuQyxZQUEyQyxFQUMzQyxTQVdOO1FBYk0scUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQUNuQyxpQkFBWSxHQUFaLFlBQVksQ0FBK0I7UUFDM0MsY0FBUyxHQUFULFNBQVMsQ0FXZjtRQS9FSyxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUU3QixZQUFPLEdBQTJCLElBQUksQ0FBQztRQUV2QyxrQkFBYSxHQUEyQixJQUFJLENBQUM7UUFFN0MsZUFBVSxHQUEyQixJQUFJLENBQUM7UUFJMUMsaUJBQVksR0FBK0IsSUFBSSxDQUFDO1FBSWhELFlBQU8sR0FBa0MsSUFBSSxDQUFDO1FBRTlDLG1CQUFjLEdBQXlDLElBQUksQ0FBQztRQUU1RCxXQUFNLEdBQWtDLElBQUksQ0FBQztRQUU3QyxZQUFPLEdBQWtDLElBQUksQ0FBQztR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QUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUEwQjtRQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNqQixHQUFHLEtBQUs7U0FDVCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBN0VDO0lBTEMsb0JBQW9CLENBQUM7UUFDcEIsaUJBQWlCLEVBQUU7WUFDakIsWUFBWSxFQUFFLElBQUk7U0FDbkI7S0FDRixDQUFDOzREQWFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgTmF2aWdhdGlvblN0YXJ0LFxuICBSb3V0ZXIsXG4gIFJvdXRlclN0YXRlU25hcHNob3Rcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIE1vbmtleUVjeEVycm9yUmVzcG9uc2UsXG4gIE1vbmtleUVjeEhhbmRsZWRFcnJvclJlc3BvbnNlLFxuICBNb25rZXlFY3hSZXF1ZXN0UGFnZWQsXG4gIE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSxcbiAgTW9ua2V5RWN4UmVzcG9uc2VQYWdlZCxcbiAgTW9ua2V5RWN4UmVzcG9uc2VMaW5rcyxcbiAgTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyxcbiAgTW9ua2V5RWN4VHJhbnNsYXRlT3B0aW9ucyxcbiAgTW9ua2V5RWN4Q29tcGFueVBlbmRlbmNpZXNWYWxpZGF0ZWQsXG4gIE1vbmtleUVjeENvdW50cnlTZWN1cml0eSxcbiAgTW9ua2V5RWN4U2F2ZWRTdGF0ZSxcbiAgTW9ua2V5RWN4Q29uZmlnXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3N0b3JhZ2UvbW9ua2V5ZWN4LXRva2VuLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2NoZWR1bGVzL21vbmtleWVjeC1yZXF1ZXN0LXNjaGVkdWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4UmVxdWVzdFF1ZXVlSGFuZGxpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vcmVxdWVzdC1xdWV1ZS9tb25rZXllY3gtcmVxdWVzdC1xdWV1ZS1oYW5kbGluZy5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFJlcXVlc3RQYWdlZEhhbmRsaW5nIH0gZnJvbSAnLi4vcmVxdWVzdC1wYWdlZC9tb25rZXllY3gtcmVxdWVzdC1yZXF1ZXN0LXBhZ2VkLWhhbmRsaW5nJztcbmltcG9ydCB7IE1vbmtleUVjeEZlYXR1cmVUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29uZmlnL21vbmtleWVjeC1mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4Q29yZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzL21vbmtleWVjeC1kZWNvcmF0b3JzJztcbmltcG9ydCB7IE1vbmtleUVjeFNlcnZpY2UgfSBmcm9tICcuLi9tb25rZXllY3gtc2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFBhZ2luYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vcGFnaW5hdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hDb21tb25zU2VydmljZSB7XG4gIHByaXZhdGUgZmxhZ1ZhbGlkYXRvciA9IHRydWU7XG5cbiAgX19kYXRhJDogT2JzZXJ2YWJsZTxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgX19wYWdpbmF0aW9uJDogT2JzZXJ2YWJsZTxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgX19jb250cm9sJDogT2JzZXJ2YWJsZTxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgX19kYXRhOiBhbnkgfCBhbnlbXTtcblxuICBfX3NhdmVkU3RhdGU6IE1vbmtleUVjeFNhdmVkU3RhdGUgfCBudWxsID0gbnVsbDtcblxuICBfX3BhcmFtczogYW55IHwgYW55W107XG5cbiAgX19lcnJvcjogTW9ua2V5RWN4RXJyb3JSZXNwb25zZSB8IG51bGwgPSBudWxsO1xuXG4gIF9faGFuZGxlZEVycm9yOiBNb25rZXlFY3hIYW5kbGVkRXJyb3JSZXNwb25zZSB8IG51bGwgPSBudWxsO1xuXG4gIF9fcGFnZTogTW9ua2V5RWN4UmVzcG9uc2VQYWdlZCB8IG51bGwgPSBudWxsO1xuXG4gIF9fbGlua3M6IE1vbmtleUVjeFJlc3BvbnNlTGlua3MgfCBudWxsID0gbnVsbDtcblxuICBfX3NlYXJjaDogYW55O1xuXG4gIF9fcmVxdWVzdFBhZ2VkOiBNb25rZXlFY3hSZXF1ZXN0UGFnZWQgfCBudWxsID0gbnVsbDtcblxuICBfX29uU2VhcmNoQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uRGF0YUNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbkxvYWRpbmdJblByb2dyZXNzJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBfX29uVXBsb2FkSW5Qcm9ncmVzcyQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgX19vbkRhdGFEZWxldGVkJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIF9fb25FcnJvckNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbkdvdmVybm1lbnRJZERhdGFDaGFuZ2VkJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIF9fb25aaXBDb2RlRGF0YUNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbmkxOG5EYXRhQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uRG9TZWFyY2gkOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4UmVxdWVzdFBhZ2VkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuXG4gIF9fdG9rZW5DcmVkZW50aWFsczogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB8IG51bGwgPSBudWxsO1xuXG4gIF9fc2NoZWR1bGU6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSB8IG51bGwgPSBudWxsO1xuXG4gIF9faTE4bjogYW55O1xuXG4gIF9fY2FsbGJhY2tQYWdpbmF0aW9uOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIHJldHVybiBjb25zb2xlLmVycm9yKCdNZXRob2QgY2FsbGJhY2tQYWdpbmF0aW9uIG5lZWRzIHRvIGJlIGRlY2xhcmVkJyk7XG4gIH07XG5cbiAgX19wYWdpbmF0aW9uT3B0aW9uczoge1xuICAgIHNlcnZpY2U6IE1vbmtleUVjeFBhZ2luYXRpb25TZXJ2aWNlO1xuICAgIGNhbGxiYWNrOiBGdW5jdGlvbjtcbiAgICBuYW1lPzogc3RyaW5nO1xuICB9IHwgdW5kZWZpbmVkO1xuXG4gIF9faXNBYmxlVG9Eb1BhZ2luYXRpb24gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbW9ua2V5ZWN4U2VydmljZT86IE1vbmtleUVjeFNlcnZpY2UsXG4gICAgcHVibGljIHRva2VuU3RvcmFnZT86IE1vbmtleUVjeFRva2VuU3RvcmFnZVNlcnZpY2UsXG4gICAgcHVibGljIG90aGVyQXJncz86IHtcbiAgICAgIHJvdXRlcj86IFJvdXRlcjtcbiAgICAgIHNjaGVkdWxlPzoge1xuICAgICAgICBzZXJ2aWNlOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGVTZXJ2aWNlO1xuICAgICAgICBvcHRpb25zPzoge1xuICAgICAgICAgIGNsZWFyT25DaGFuZ2VSb3V0ZT86IGJvb2xlYW47XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgICAgcXVldWU/OiB7XG4gICAgICAgIHNlcnZpY2U6IE1vbmtleUVjeFJlcXVlc3RRdWV1ZUhhbmRsaW5nU2VydmljZTtcbiAgICAgIH07XG4gICAgfVxuICApIHtcbiAgICB0aGlzLmhhbmRsZUluaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlSW5pdCgpIHtcbiAgICBpZiAodGhpcy50b2tlblN0b3JhZ2UpIHtcbiAgICAgIHRoaXMuX190b2tlbkNyZWRlbnRpYWxzID0gdGhpcy50b2tlblN0b3JhZ2UuZ2V0VG9rZW4oKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vdGhlckFyZ3M/LnJvdXRlcikge1xuICAgICAgY29uc3QgeyBjbGVhck9uQ2hhbmdlUm91dGUgfSA9IHRoaXMub3RoZXJBcmdzPy5zY2hlZHVsZT8ub3B0aW9ucyB8fCB7XG4gICAgICAgIGNsZWFyT25DaGFuZ2VSb3V0ZTogZmFsc2VcbiAgICAgIH07XG4gICAgICB0aGlzLm90aGVyQXJncy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0O1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fX3NjaGVkdWxlICYmIGNsZWFyT25DaGFuZ2VSb3V0ZSkge1xuICAgICAgICAgICAgdGhpcy5vdGhlckFyZ3M/LnNjaGVkdWxlPy5zZXJ2aWNlPy5yZW1vdmVTY2hlZHVsZSh0aGlzLl9fc2NoZWR1bGUpO1xuICAgICAgICAgICAgdGhpcy5fX3NjaGVkdWxlID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUb1BlbmRlbmN5UGFnZShhcmc6IE1vbmtleUVjeENvbXBhbnlQZW5kZW5jaWVzVmFsaWRhdGVkLCByb3V0ZXI/OiBSb3V0ZXIpIHtcbiAgICBjb25zdCB7IGNvbXBhbnlUeXBlIH0gPSB0aGlzLl9fdG9rZW5DcmVkZW50aWFscyB8fCB7XG4gICAgICBjb21wYW55VHlwZTogJydcbiAgICB9O1xuICAgIGxldCByb3V0ZSA9ICcvYXBwJztcblxuICAgIGlmIChjb21wYW55VHlwZSkge1xuICAgICAgcm91dGUgPSBgJHtyb3V0ZX0vJHtjb21wYW55VHlwZX0vcGFnZXNgO1xuICAgIH0gZWxzZSB7XG4gICAgICByb3V0ZSA9IGAke3JvdXRlfS91c2VyL3Byb2ZpbGUvcGFnZXNgO1xuICAgIH1cblxuICAgIGlmICghcm91dGVyKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5lcnJvcignUm91dGVyIG11c3QgYmUgZGVjbGFyZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm91dGVyLm5hdmlnYXRlKFtgJHtyb3V0ZX0vY29tcGFueS1wZW5kZW5jeWAudG9Mb3dlckNhc2UoKV0sIHtcbiAgICAgICAgc3RhdGU6IHtcbiAgICAgICAgICBwZW5kZW5jeURhdGE6IGFyZ1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFJvbGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IF9fdG9rZW5DcmVkZW50aWFscyB9ID0gdGhpcztcblxuICAgIGlmICghX190b2tlbkNyZWRlbnRpYWxzKSByZXR1cm4gJyc7XG5cbiAgICBpZiAoX190b2tlbkNyZWRlbnRpYWxzPy5wcm9ncmFtQWRtaW4gPT09ICd0cnVlJykge1xuICAgICAgcmV0dXJuICdQUk9HUkFNX0FETUlOJztcbiAgICB9XG5cbiAgICByZXR1cm4gX190b2tlbkNyZWRlbnRpYWxzPy5yb2xlIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxvd2VkU2VjdXJpdHlBY2Nlc3NCeVBlbmRlbmN5KGFyZ3M6IGFueSk6IE1vbmtleUVjeENvbXBhbnlQZW5kZW5jaWVzVmFsaWRhdGVkIHtcbiAgICBpZiAoIWFyZ3MpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGhhc1BlbmRlbmNpZXM6IGZhbHNlXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB7IHNlcnZpY2UsIHR5cGUgfSA9IGFyZ3M7XG4gICAgcmV0dXJuIHNlcnZpY2UuaGFzUGVuZGVuY2llcyh0eXBlKTtcbiAgfVxuXG4gIHByaXZhdGUgYWxsb3dlZFNlY3VyaXR5QWNjZXNzQnlGZWF0dXJlKGFyZ3M6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICghYXJncykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IHsgY29uZmlnLCBmZWF0dXJlIH0gPSBhcmdzO1xuICAgIHRyeSB7XG4gICAgICBpZiAoIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoZmVhdHVyZSkgfHxcbiAgICAgICAgIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoY29uZmlnPy5wcm9ncmFtPy5zZXR0aW5nc1tmZWF0dXJlXSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuICFjb25maWc/LnByb2dyYW0/LnNldHRpbmdzW2ZlYXR1cmVdO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIG5vdCB0byBkb1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgYWxsb3dlZFNlY3VyaXR5QWNjZXNzQnlDb3VudHJ5KGFyZz86IE1vbmtleUVjeENvdW50cnlTZWN1cml0eSk6IGJvb2xlYW4ge1xuICAgIGlmICghYXJnKSByZXR1cm4gdHJ1ZTtcbiAgICByZXR1cm4gYXJnLmNvdW50cnkgPT09IGFyZy5lbnZDb3VudHJ5O1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxvd2VkU2VjdXJpdHlBY2Nlc3MoYXJnczogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCFhcmdzKSByZXR1cm4gdHJ1ZTtcbiAgICBjb25zdCByb2xlcyA9IGFyZ3M/LnJvbGVzO1xuICAgIGNvbnN0IGJ5RXhjbHVzaW9uID0gYXJncz8uYnlFeGNsdXNpb247XG4gICAgY29uc3QgZm91bmQgPSByb2xlcz8uaW5kZXhPZih0aGlzLmdldFJvbGUoKSk7XG4gICAgbGV0IHJldCA9IGZhbHNlO1xuICAgIGlmIChieUV4Y2x1c2lvbikge1xuICAgICAgcmV0ID0gdHJ1ZTtcbiAgICAgIGlmIChmb3VuZCA+IC0xKSB7XG4gICAgICAgIHJldCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXQgPSBmYWxzZTtcbiAgICAgIGlmIChmb3VuZCA+IC0xKSB7XG4gICAgICAgIHJldCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghcm9sZXMgfHwgcm9sZXMubGVuZ3RoID09PSAwIHx8IHRoaXMuZ2V0Um9sZSgpID09PSAnUFJPR1JBTV9BRE1JTicpIHtcbiAgICAgIHJldCA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwcml2YXRlIG5hdmlnYXRlVG9FcnJvclBhZ2Uoc3RhdHVzQ29kZTogbnVtYmVyLCByb3V0ZXI/OiBSb3V0ZXIpIHtcbiAgICBjb25zdCByb3V0ZXM6IGFueSA9IHtcbiAgICAgIDQwMzogJ2ZvcmJpZGRlbicsXG4gICAgICA0MDQ6ICdub3QtZm91bmQnLFxuICAgICAgNTAwOiAnc2VydmljZS1wcm9ibGVtcycsXG4gICAgICA1MDM6ICdzZXJ2aWNlLXByb2JsZW1zJ1xuICAgIH07XG5cbiAgICBpZiAoIXJvdXRlcikge1xuICAgICAgY29uc29sZS5lcnJvcignUm91dGVyIG11c3QgYmUgZGVjbGFyZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm91dGVyPy5uYXZpZ2F0ZShbYC9hcHAvcGFnZXMvJHtyb3V0ZXNbc3RhdHVzQ29kZV19YC50b0xvd2VyQ2FzZSgpXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVQYWdpbmF0aW9uT3B0aW9ucygpIHtcbiAgICBjb25zdCB7IF9fcGFnaW5hdGlvbk9wdGlvbnMgfSA9IHRoaXM7XG4gICAgaWYgKF9fcGFnaW5hdGlvbk9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IHsgc2VydmljZSwgY2FsbGJhY2ssIG5hbWUgfSA9IF9fcGFnaW5hdGlvbk9wdGlvbnM7XG4gICAgICBzZXJ2aWNlPy5zZXRDYWxsYmFjaygodHlwZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuZG9QYWdpbmF0aW9udjIodHlwZSwgY2FsbGJhY2spO1xuICAgICAgfSwgbmFtZSB8fCAnbWFpbicpO1xuICAgIH1cbiAgfVxuXG4gIHNldFBhZ2UocmVxdWVzdFBhZ2VkOiBNb25rZXlFY3hSZXF1ZXN0UGFnZWQpIHtcbiAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0ge1xuICAgICAgLi4udGhpcy5fX3JlcXVlc3RQYWdlZCxcbiAgICAgIC4uLnJlcXVlc3RQYWdlZFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBuZXh0UGFnZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fX2xpbmtzKSB7XG4gICAgICByZXR1cm4gISF0aGlzLl9fbGlua3M/Lm5leHQ7XG4gICAgfVxuICAgIGlmICghdGhpcy5fX3JlcXVlc3RQYWdlZCkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IHsgcGFnZSB9ID0gdGhpcy5fX3JlcXVlc3RQYWdlZCBhcyBhbnk7XG4gICAgY29uc3QgeyBudW1iZXIsIHRvdGFsUGFnZXMgfSA9IHBhZ2U7XG4gICAgaWYgKG51bWJlciA8IHRvdGFsUGFnZXMpIHtcbiAgICAgIHRoaXMuX19yZXF1ZXN0UGFnZWQgPSB7XG4gICAgICAgIC4uLnRoaXMuX19yZXF1ZXN0UGFnZWQsXG4gICAgICAgIHBhZ2U6IHtcbiAgICAgICAgICAuLi5wYWdlLFxuICAgICAgICAgIG51bWJlcjogbnVtYmVyICsgMVxuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldEVtYmVkZGVkRGF0YShkYXRhOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBhbnlbXSB8IGFueSB7XG4gICAgY29uc3QgeyBfZW1iZWRkZWQgfSA9IGRhdGE7XG4gICAgcmV0dXJuIF9lbWJlZGRlZCA/IF9lbWJlZGRlZFtmaWVsZF0gOiBudWxsO1xuICB9XG5cbiAgZ2V0Tm9ybWFsaXplZFVybCh1cmw6IHN0cmluZywgc2FtZVBhZ2UgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBfX3JlcXVlc3RQYWdlZCwgX19saW5rcyB9ID0gdGhpcztcbiAgICByZXR1cm4gbmV3IE1vbmtleUVjeFJlcXVlc3RQYWdlZEhhbmRsaW5nKFxuICAgICAgdXJsLFxuICAgICAgX19yZXF1ZXN0UGFnZWQgfHwge30sXG4gICAgICBfX2xpbmtzLFxuICAgICAgc2FtZVBhZ2VcbiAgICApLmdldFJlcXVlc3RXaXRoUGFnZWRQYXJhbXMoKTtcbiAgfVxuXG4gIGNsZWFyKGNsZWFyRGF0YTogYm9vbGVhbikge1xuICAgIGlmIChjbGVhckRhdGEpIHtcbiAgICAgIHRoaXMuX19kYXRhID0gbnVsbDtcbiAgICAgIHRoaXMuX19yZXF1ZXN0UGFnZWQgPSBudWxsO1xuICAgICAgdGhpcy5fX3BhcmFtcyA9IG51bGw7XG4gICAgICB0aGlzLl9fcGFnZSA9IG51bGw7XG4gICAgICB0aGlzLl9fbGlua3MgPSBudWxsO1xuXG4gICAgICBpZiAodGhpcy5fX3NjaGVkdWxlKSB7XG4gICAgICAgIGNvbnN0IHsgcXVldWUgfSA9IHRoaXMuX19zY2hlZHVsZTtcbiAgICAgICAgaWYgKHF1ZXVlKSB7XG4gICAgICAgICAgdGhpcy5vdGhlckFyZ3M/LnF1ZXVlPy5zZXJ2aWNlPy5yZW1vdmVRdWV1ZUl0ZW0ocXVldWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3RoZXJBcmdzPy5zY2hlZHVsZT8uc2VydmljZT8ucmVtb3ZlU2NoZWR1bGUodGhpcy5fX3NjaGVkdWxlKTtcbiAgICAgICAgdGhpcy5fX3NjaGVkdWxlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fX2Vycm9yID0gbnVsbDtcbiAgICB0aGlzLl9faGFuZGxlZEVycm9yID0gbnVsbDtcbiAgICB0aGlzLmZsYWdWYWxpZGF0b3IgPSBmYWxzZTtcbiAgfVxuXG4gIHJlc29sdmUoXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsLFxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90IHwgbnVsbCxcbiAgICBvdGhlckFyZ3M/OiB7XG4gICAgICBjYWxsYmFja01haW46IEZ1bmN0aW9uO1xuICAgICAgcm91dGVyPzogUm91dGVyO1xuICAgICAgc2VjdXJpdHk/OiB7XG4gICAgICAgIHJvbGVzOiBzdHJpbmdbXTtcbiAgICAgICAgYnlFeGNsdXNpb24/OiBib29sZWFuO1xuICAgICAgfTtcbiAgICAgIGNhbGxiYWNrUGFnaW5hdGlvbj86IEZ1bmN0aW9uO1xuICAgICAgdHJhbnNsYXRlT3B0aW9ucz86IE1vbmtleUVjeFRyYW5zbGF0ZU9wdGlvbnM7XG4gICAgICBmZWF0dXJlPzoge1xuICAgICAgICBzZXJ2aWNlOiBNb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZTtcbiAgICAgICAgZmxhZzogc3RyaW5nO1xuICAgICAgfTtcbiAgICAgIGZlYXR1cmVCeVByb2dyYW0/OiB7XG4gICAgICAgIGNvbmZpZzogTW9ua2V5RWN4Q29uZmlnO1xuICAgICAgICBmZWF0dXJlOiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgY291bnRyeVNlY3VyaXR5PzogTW9ua2V5RWN4Q291bnRyeVNlY3VyaXR5O1xuICAgICAgcGVuZGVuY3k/OiB7XG4gICAgICAgIHNlcnZpY2U6IHtcbiAgICAgICAgICBoYXNQZW5kZW5jaWVzOiBGdW5jdGlvbjtcbiAgICAgICAgfTtcbiAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgfTtcbiAgICAgIHBhZ2luYXRpb25PcHRpb25zPzoge1xuICAgICAgICBzZXJ2aWNlOiBNb25rZXlFY3hQYWdpbmF0aW9uU2VydmljZSxcbiAgICAgICAgY2FsbGJhY2s6IEZ1bmN0aW9uLFxuICAgICAgICBuYW1lPzogc3RyaW5nXG4gICAgICB9XG4gICAgfVxuICApIHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkocm91dGU/LnF1ZXJ5UGFyYW1zKSA9PT0gJ3t9Jykge1xuICAgICAgdGhpcy5fX2RhdGEgPSBudWxsO1xuICAgICAgdGhpcy5fX3BhZ2UgPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuX19yZXF1ZXN0UGFnZWQgPSBudWxsO1xuICAgIHRoaXMuZmxhZ1ZhbGlkYXRvciA9IHRydWU7XG5cbiAgICBpZiAodGhpcy50b2tlblN0b3JhZ2UpIHtcbiAgICAgIHRoaXMuX190b2tlbkNyZWRlbnRpYWxzID0gdGhpcy50b2tlblN0b3JhZ2UuZ2V0VG9rZW4oKTtcbiAgICB9XG5cbiAgICBjb25zdCBwZW5kID0gdGhpcy5hbGxvd2VkU2VjdXJpdHlBY2Nlc3NCeVBlbmRlbmN5KG90aGVyQXJncz8ucGVuZGVuY3kpO1xuICAgIGNvbnN0IGFsbG93ZWRCeVByb2dyYW0gPSB0aGlzLmFsbG93ZWRTZWN1cml0eUFjY2Vzc0J5RmVhdHVyZShvdGhlckFyZ3M/LmZlYXR1cmVCeVByb2dyYW0pO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5hbGxvd2VkU2VjdXJpdHlBY2Nlc3Mob3RoZXJBcmdzPy5zZWN1cml0eSkgJiZcbiAgICAgIHRoaXMuYWxsb3dlZFNlY3VyaXR5QWNjZXNzQnlDb3VudHJ5KG90aGVyQXJncz8uY291bnRyeVNlY3VyaXR5KSAmJlxuICAgICAgIXBlbmQuaGFzUGVuZGVuY2llcyAmJlxuICAgICAgYWxsb3dlZEJ5UHJvZ3JhbVxuICAgICkge1xuICAgICAgaWYgKHRoaXMuX19zY2hlZHVsZSkge1xuICAgICAgICB0aGlzLm90aGVyQXJncz8uc2NoZWR1bGU/LnNlcnZpY2U/LnJlbW92ZVNjaGVkdWxlKHRoaXMuX19zY2hlZHVsZSk7XG4gICAgICAgIHRoaXMuX19zY2hlZHVsZSA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgX19yZXF1ZXN0UGFnZWQgfSA9IHRoaXM7XG4gICAgICBpZiAoIV9fcmVxdWVzdFBhZ2VkKSB7XG4gICAgICAgIHRoaXMuc2V0UGFnZSh7XG4gICAgICAgICAgcGFnZToge1xuICAgICAgICAgICAgbnVtYmVyOiAwLFxuICAgICAgICAgICAgc2l6ZTogMTBcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAob3RoZXJBcmdzPy50cmFuc2xhdGVPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgc2VydmljZSwga2V5cyB9ID0gb3RoZXJBcmdzPy50cmFuc2xhdGVPcHRpb25zO1xuICAgICAgICB0aGlzLmdldGkxOG4oc2VydmljZSwga2V5cyB8fCAnJyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvdGhlckFyZ3M/LmNhbGxiYWNrUGFnaW5hdGlvbikge1xuICAgICAgICB0aGlzLl9fY2FsbGJhY2tQYWdpbmF0aW9uID0gb3RoZXJBcmdzLmNhbGxiYWNrUGFnaW5hdGlvbjtcbiAgICAgIH1cblxuICAgICAgaWYgKG90aGVyQXJncz8ucGFnaW5hdGlvbk9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5fX3BhZ2luYXRpb25PcHRpb25zID0gb3RoZXJBcmdzPy5wYWdpbmF0aW9uT3B0aW9ucztcbiAgICAgICAgdGhpcy5oYW5kbGVQYWdpbmF0aW9uT3B0aW9ucygpO1xuICAgICAgfVxuXG4gICAgICBpZiAob3RoZXJBcmdzPy5mZWF0dXJlKSB7XG4gICAgICAgIGNvbnN0IHsgZmxhZywgc2VydmljZSB9ID0gb3RoZXJBcmdzLmZlYXR1cmU7XG5cbiAgICAgICAgc2VydmljZS5vbkZsYWdzXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YWtlV2hpbGUoKCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mbGFnVmFsaWRhdG9yO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgodmFsOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGhhc0ZsYWcgPSBzZXJ2aWNlLmdldEZsYWcoZmxhZyk7XG5cbiAgICAgICAgICAgICAgaWYgKE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoaGFzRmxhZykpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWhhc0ZsYWcpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb0Vycm9yUGFnZSg0MDQsIG90aGVyQXJncz8ucm91dGVyKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgb3RoZXJBcmdzPy5jYWxsYmFja01haW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG90aGVyQXJncz8uY2FsbGJhY2tNYWluKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghYWxsb3dlZEJ5UHJvZ3JhbSkge1xuICAgICAgdGhpcy5uYXZpZ2F0ZVRvRXJyb3JQYWdlKDQwNCwgb3RoZXJBcmdzPy5yb3V0ZXIpO1xuICAgIH0gZWxzZSBpZiAocGVuZC5oYXNQZW5kZW5jaWVzKSB7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9QZW5kZW5jeVBhZ2UocGVuZCwgb3RoZXJBcmdzPy5yb3V0ZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9FcnJvclBhZ2UoNDAzLCBvdGhlckFyZ3M/LnJvdXRlcik7XG4gICAgfVxuICB9XG5cbiAgZ2V0SFRUUEhlYWRlckFwcGxpY2F0aW9uUERGKCk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xuICAgIH07XG4gIH1cblxuICBATW9ua2V5RWN4Q29yZVNlcnZpY2Uoe1xuICAgIHJlcXVlc3RJblByb2dyZXNzOiB7XG4gICAgICBzaG93UHJvZ3Jlc3M6IHRydWVcbiAgICB9XG4gIH0pXG4gIGdlbmVyaWNNZXRob2QobGluazogYW55LCBkYXRhPzogYW55LCBjYWxsYmFjaz86IEZ1bmN0aW9uKSB7XG4gICAgY29uc3QgeyBocmVmLCB0eXBlID0gJ2dldCcgfSA9IGxpbms7XG5cbiAgICB0aGlzLm1vbmtleWVjeFNlcnZpY2U/Llt0eXBlLnRvTG93ZXJDYXNlKCldKGAke2hyZWZ9YCwgZGF0YSk/LnN1YnNjcmliZShcbiAgICAgIChyZXNwOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKGNhbGxiYWNrKSBjYWxsYmFjayhyZXNwKTtcbiAgICAgIH0sXG4gICAgICAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAoY2FsbGJhY2spIGNhbGxiYWNrKCk7XG4gICAgICAgIHRocm93RXJyb3IoZXJyKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgZ2V0aTE4bih0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLCBrZXlzOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIHRyYW5zbGF0ZVNlcnZpY2Uub25EZWZhdWx0TGFuZ0NoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fX2kxOG4gPSB0cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoa2V5cyk7XG4gICAgICB0aGlzLl9fb25pMThuRGF0YUNoYW5nZWQkLm5leHQobnVsbCk7XG4gICAgfSk7XG4gICAgdHJhbnNsYXRlU2VydmljZS5nZXRTdHJlYW1PblRyYW5zbGF0aW9uQ2hhbmdlKGtleXMpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9faTE4biA9IHRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChrZXlzKTtcbiAgICAgIHRoaXMuX19vbmkxOG5EYXRhQ2hhbmdlZCQubmV4dChudWxsKTtcbiAgICB9KTtcbiAgfVxuXG4gIGRvUGFnaW5hdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuX19vbkxvYWRpbmdJblByb2dyZXNzJC52YWx1ZSkge1xuICAgICAgY29uc3QgaGFzTW9yZVBhZ2VzID0gdGhpcy5zZXRQYWdlKHtcbiAgICAgICAgcGFnZToge1xuICAgICAgICAgIC4uLnRoaXMuX19wYWdlXG4gICAgICAgIH1cbiAgICAgIH0pLm5leHRQYWdlKCk7XG5cbiAgICAgIGlmIChoYXNNb3JlUGFnZXMgJiYgdGhpcy5fX2NhbGxiYWNrUGFnaW5hdGlvbikge1xuICAgICAgICB0aGlzLl9fY2FsbGJhY2tQYWdpbmF0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZG9QYWdpbmF0aW9udjIodHlwZTogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24pIHtcbiAgICBpZiAoIXRoaXMuX19vbkxvYWRpbmdJblByb2dyZXNzJC52YWx1ZSkge1xuICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0TGlua3MobGlua3M6IGFueSkge1xuICAgIHRoaXMuX19pc0FibGVUb0RvUGFnaW5hdGlvbiA9IHtcbiAgICAgIGZpcnN0OiAhIWxpbmtzPy5maXJzdCxcbiAgICAgIG5leHQ6ICEhbGlua3M/Lm5leHRcbiAgICB9O1xuICAgIHRoaXMuX19saW5rcyA9IGxpbmtzO1xuICB9XG5cbiAgc2V0U2VhcmNoQnlVcmwocm91dGVyOiBSb3V0ZXIsIHVybDogc3RyaW5nLCBzZWFyY2g6IGFueSwgZXh0cmFzPzogYW55KSB7XG4gICAgdGhpcy5fX2RhdGEgPSBudWxsO1xuICAgIHRoaXMuX19wYWdlID0gbnVsbDtcbiAgICB0aGlzLl9fb25EYXRhQ2hhbmdlZCQubmV4dChudWxsKTtcbiAgICB0aGlzLl9fb25Mb2FkaW5nSW5Qcm9ncmVzcyQubmV4dChmYWxzZSk7XG5cbiAgICByb3V0ZXIubmF2aWdhdGUoW3VybF0sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIC4uLnNlYXJjaCxcbiAgICAgICAgcjogTW9ua2V5RWN4VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDMwKVxuICAgICAgfSxcbiAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgICAuLi5leHRyYXNcbiAgICB9KTtcbiAgfVxuXG4gIHNhdmVTdGF0ZShzdGF0ZTogTW9ua2V5RWN4U2F2ZWRTdGF0ZSkge1xuICAgIHRoaXMuX19zYXZlZFN0YXRlID0ge1xuICAgICAgcGFnZTogdGhpcy5fX3BhZ2UsXG4gICAgICAuLi5zdGF0ZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
381
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbW1vbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tb25zL21vbmtleWVjeC1jb21tb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxlQUFlLEVBR2hCLE1BQU0saUJBQWlCLENBQUM7QUFHekIsT0FBTyxFQUFFLGVBQWUsRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFrQnpELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBRTFHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUk3RSxNQUFNLE9BQU8sdUJBQXVCO0lBa0VsQyxZQUNTLGdCQUFtQyxFQUNuQyxZQUEyQyxFQUMzQyxTQVdOO1FBYk0scUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQUNuQyxpQkFBWSxHQUFaLFlBQVksQ0FBK0I7UUFDM0MsY0FBUyxHQUFULFNBQVMsQ0FXZjtRQS9FSyxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUU3QixZQUFPLEdBQTJCLElBQUksQ0FBQztRQUV2QyxrQkFBYSxHQUEyQixJQUFJLENBQUM7UUFFN0MsZUFBVSxHQUEyQixJQUFJLENBQUM7UUFJMUMsaUJBQVksR0FBK0IsSUFBSSxDQUFDO1FBSWhELFlBQU8sR0FBa0MsSUFBSSxDQUFDO1FBRTlDLG1CQUFjLEdBQXlDLElBQUksQ0FBQztRQUU1RCxXQUFNLEdBQWtDLElBQUksQ0FBQztRQUU3QyxZQUFPLEdBQWtDLElBQUksQ0FBQztR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QUFDO0lBRUQsU0FBUyxDQUFDLEtBQTBCO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDbEIsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ2pCLEdBQUcsS0FBSztTQUNULENBQUM7SUFDSixDQUFDO0NBQ0Y7QUE3RUM7SUFMQyxvQkFBb0IsQ0FBQztRQUNwQixpQkFBaUIsRUFBRTtZQUNqQixZQUFZLEVBQUUsSUFBSTtTQUNuQjtLQUNGLENBQUM7NERBYUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBOYXZpZ2F0aW9uU3RhcnQsXG4gIFJvdXRlcixcbiAgUm91dGVyU3RhdGVTbmFwc2hvdFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgTW9ua2V5RWN4RXJyb3JSZXNwb25zZSxcbiAgTW9ua2V5RWN4SGFuZGxlZEVycm9yUmVzcG9uc2UsXG4gIE1vbmtleUVjeFJlcXVlc3RQYWdlZCxcbiAgTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlLFxuICBNb25rZXlFY3hSZXNwb25zZVBhZ2VkLFxuICBNb25rZXlFY3hSZXNwb25zZUxpbmtzLFxuICBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzLFxuICBNb25rZXlFY3hUcmFuc2xhdGVPcHRpb25zLFxuICBNb25rZXlFY3hDb21wYW55UGVuZGVuY2llc1ZhbGlkYXRlZCxcbiAgTW9ua2V5RWN4Q291bnRyeVNlY3VyaXR5LFxuICBNb25rZXlFY3hTYXZlZFN0YXRlLFxuICBNb25rZXlFY3hDb25maWdcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmFnZS9tb25rZXllY3gtdG9rZW4tc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZVNlcnZpY2UgfSBmcm9tICcuLi9zY2hlZHVsZXMvbW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hSZXF1ZXN0UXVldWVIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuLi9yZXF1ZXN0LXF1ZXVlL21vbmtleWVjeC1yZXF1ZXN0LXF1ZXVlLWhhbmRsaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4UmVxdWVzdFBhZ2VkSGFuZGxpbmcgfSBmcm9tICcuLi9yZXF1ZXN0LXBhZ2VkL21vbmtleWVjeC1yZXF1ZXN0LXJlcXVlc3QtcGFnZWQtaGFuZGxpbmcnO1xuaW1wb3J0IHsgTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvbW9ua2V5ZWN4LWZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb3JlU2VydmljZSB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvbW9ua2V5ZWN4LWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZSB9IGZyb20gJy4uL21vbmtleWVjeC1zZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4UGFnaW5hdGlvblNlcnZpY2UgfSBmcm9tICcuLi9wYWdpbmF0aW9uJztcblxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBmbGFnVmFsaWRhdG9yID0gdHJ1ZTtcblxuICBfX2RhdGEkOiBPYnNlcnZhYmxlPGFueT4gfCBudWxsID0gbnVsbDtcblxuICBfX3BhZ2luYXRpb24kOiBPYnNlcnZhYmxlPGFueT4gfCBudWxsID0gbnVsbDtcblxuICBfX2NvbnRyb2wkOiBPYnNlcnZhYmxlPGFueT4gfCBudWxsID0gbnVsbDtcblxuICBfX2RhdGE6IGFueSB8IGFueVtdO1xuXG4gIF9fc2F2ZWRTdGF0ZTogTW9ua2V5RWN4U2F2ZWRTdGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIF9fcGFyYW1zOiBhbnkgfCBhbnlbXTtcblxuICBfX2Vycm9yOiBNb25rZXlFY3hFcnJvclJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XG5cbiAgX19oYW5kbGVkRXJyb3I6IE1vbmtleUVjeEhhbmRsZWRFcnJvclJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XG5cbiAgX19wYWdlOiBNb25rZXlFY3hSZXNwb25zZVBhZ2VkIHwgbnVsbCA9IG51bGw7XG5cbiAgX19saW5rczogTW9ua2V5RWN4UmVzcG9uc2VMaW5rcyB8IG51bGwgPSBudWxsO1xuXG4gIF9fc2VhcmNoOiBhbnk7XG5cbiAgX19yZXF1ZXN0UGFnZWQ6IE1vbmtleUVjeFJlcXVlc3RQYWdlZCB8IG51bGwgPSBudWxsO1xuXG4gIF9fb25TZWFyY2hDaGFuZ2VkJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIF9fb25EYXRhQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uTG9hZGluZ0luUHJvZ3Jlc3MkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIF9fb25VcGxvYWRJblByb2dyZXNzJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBfX29uRGF0YURlbGV0ZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbkVycm9yQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uR292ZXJubWVudElkRGF0YUNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vblppcENvZGVEYXRhQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uaTE4bkRhdGFDaGFuZ2VkJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIF9fb25Eb1NlYXJjaCQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hSZXF1ZXN0UGFnZWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XG5cbiAgX190b2tlbkNyZWRlbnRpYWxzOiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzIHwgbnVsbCA9IG51bGw7XG5cbiAgX19zY2hlZHVsZTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlIHwgbnVsbCA9IG51bGw7XG5cbiAgX19pMThuOiBhbnk7XG5cbiAgX19jYWxsYmFja1BhZ2luYXRpb246IEZ1bmN0aW9uID0gKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgcmV0dXJuIGNvbnNvbGUuZXJyb3IoJ01ldGhvZCBjYWxsYmFja1BhZ2luYXRpb24gbmVlZHMgdG8gYmUgZGVjbGFyZWQnKTtcbiAgfTtcblxuICBfX3BhZ2luYXRpb25PcHRpb25zOiB7XG4gICAgc2VydmljZTogTW9ua2V5RWN4UGFnaW5hdGlvblNlcnZpY2U7XG4gICAgY2FsbGJhY2s6IEZ1bmN0aW9uO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gIH0gfCB1bmRlZmluZWQ7XG5cbiAgX19pc0FibGVUb0RvUGFnaW5hdGlvbiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBtb25rZXllY3hTZXJ2aWNlPzogTW9ua2V5RWN4U2VydmljZSxcbiAgICBwdWJsaWMgdG9rZW5TdG9yYWdlPzogTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSxcbiAgICBwdWJsaWMgb3RoZXJBcmdzPzoge1xuICAgICAgcm91dGVyPzogUm91dGVyO1xuICAgICAgc2NoZWR1bGU/OiB7XG4gICAgICAgIHNlcnZpY2U6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZVNlcnZpY2U7XG4gICAgICAgIG9wdGlvbnM/OiB7XG4gICAgICAgICAgY2xlYXJPbkNoYW5nZVJvdXRlPzogYm9vbGVhbjtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgICBxdWV1ZT86IHtcbiAgICAgICAgc2VydmljZTogTW9ua2V5RWN4UmVxdWVzdFF1ZXVlSGFuZGxpbmdTZXJ2aWNlO1xuICAgICAgfTtcbiAgICB9XG4gICkge1xuICAgIHRoaXMuaGFuZGxlSW5pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVJbml0KCkge1xuICAgIGlmICh0aGlzLnRva2VuU3RvcmFnZSkge1xuICAgICAgdGhpcy5fX3Rva2VuQ3JlZGVudGlhbHMgPSB0aGlzLnRva2VuU3RvcmFnZS5nZXRUb2tlbigpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm90aGVyQXJncz8ucm91dGVyKSB7XG4gICAgICBjb25zdCB7IGNsZWFyT25DaGFuZ2VSb3V0ZSB9ID0gdGhpcy5vdGhlckFyZ3M/LnNjaGVkdWxlPy5vcHRpb25zIHx8IHtcbiAgICAgICAgY2xlYXJPbkNoYW5nZVJvdXRlOiBmYWxzZVxuICAgICAgfTtcbiAgICAgIHRoaXMub3RoZXJBcmdzLnJvdXRlci5ldmVudHNcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQ7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdGFrZSgxKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9fc2NoZWR1bGUgJiYgY2xlYXJPbkNoYW5nZVJvdXRlKSB7XG4gICAgICAgICAgICB0aGlzLm90aGVyQXJncz8uc2NoZWR1bGU/LnNlcnZpY2U/LnJlbW92ZVNjaGVkdWxlKHRoaXMuX19zY2hlZHVsZSk7XG4gICAgICAgICAgICB0aGlzLl9fc2NoZWR1bGUgPSBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvUGVuZGVuY3lQYWdlKGFyZzogTW9ua2V5RWN4Q29tcGFueVBlbmRlbmNpZXNWYWxpZGF0ZWQsIHJvdXRlcj86IFJvdXRlcikge1xuICAgIGNvbnN0IHsgY29tcGFueVR5cGUgfSA9IHRoaXMuX190b2tlbkNyZWRlbnRpYWxzIHx8IHtcbiAgICAgIGNvbXBhbnlUeXBlOiAnJ1xuICAgIH07XG4gICAgbGV0IHJvdXRlID0gJy9hcHAnO1xuXG4gICAgaWYgKGNvbXBhbnlUeXBlKSB7XG4gICAgICByb3V0ZSA9IGAke3JvdXRlfS8ke2NvbXBhbnlUeXBlfS9wYWdlc2A7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJvdXRlID0gYCR7cm91dGV9L3VzZXIvcHJvZmlsZS9wYWdlc2A7XG4gICAgfVxuXG4gICAgaWYgKCFyb3V0ZXIpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKCdSb3V0ZXIgbXVzdCBiZSBkZWNsYXJlZCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICByb3V0ZXIubmF2aWdhdGUoW2Ake3JvdXRlfS9jb21wYW55LXBlbmRlbmN5YC50b0xvd2VyQ2FzZSgpXSwge1xuICAgICAgICBzdGF0ZToge1xuICAgICAgICAgIHBlbmRlbmN5RGF0YTogYXJnXG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Um9sZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgX190b2tlbkNyZWRlbnRpYWxzIH0gPSB0aGlzO1xuXG4gICAgaWYgKCFfX3Rva2VuQ3JlZGVudGlhbHMpIHJldHVybiAnJztcblxuICAgIGlmIChfX3Rva2VuQ3JlZGVudGlhbHM/LnByb2dyYW1BZG1pbiA9PT0gJ3RydWUnKSB7XG4gICAgICByZXR1cm4gJ1BST0dSQU1fQURNSU4nO1xuICAgIH1cblxuICAgIHJldHVybiBfX3Rva2VuQ3JlZGVudGlhbHM/LnJvbGUgfHwgJyc7XG4gIH1cblxuICBwcml2YXRlIGFsbG93ZWRTZWN1cml0eUFjY2Vzc0J5UGVuZGVuY3koYXJnczogYW55KTogTW9ua2V5RWN4Q29tcGFueVBlbmRlbmNpZXNWYWxpZGF0ZWQge1xuICAgIGlmICghYXJncykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaGFzUGVuZGVuY2llczogZmFsc2VcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHsgc2VydmljZSwgdHlwZSB9ID0gYXJncztcbiAgICByZXR1cm4gc2VydmljZS5oYXNQZW5kZW5jaWVzKHR5cGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxvd2VkU2VjdXJpdHlBY2Nlc3NCeUZlYXR1cmUoYXJnczogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCFhcmdzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgeyBjb25maWcsIGZlYXR1cmUgfSA9IGFyZ3M7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChmZWF0dXJlKSB8fFxuICAgICAgICAhTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChjb25maWc/LnByb2dyYW0/LnNldHRpbmdzKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhY29uZmlnPy5wcm9ncmFtPy5zZXR0aW5ncz8uW2ZlYXR1cmVdO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIG5vdCB0byBkb1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgYWxsb3dlZFNlY3VyaXR5QWNjZXNzQnlDb3VudHJ5KGFyZz86IE1vbmtleUVjeENvdW50cnlTZWN1cml0eSk6IGJvb2xlYW4ge1xuICAgIGlmICghYXJnKSByZXR1cm4gdHJ1ZTtcbiAgICByZXR1cm4gYXJnLmNvdW50cnkgPT09IGFyZy5lbnZDb3VudHJ5O1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxvd2VkU2VjdXJpdHlBY2Nlc3MoYXJnczogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCFhcmdzKSByZXR1cm4gdHJ1ZTtcbiAgICBjb25zdCByb2xlcyA9IGFyZ3M/LnJvbGVzO1xuICAgIGNvbnN0IGJ5RXhjbHVzaW9uID0gYXJncz8uYnlFeGNsdXNpb247XG4gICAgY29uc3QgZm91bmQgPSByb2xlcz8uaW5kZXhPZih0aGlzLmdldFJvbGUoKSk7XG4gICAgbGV0IHJldCA9IGZhbHNlO1xuICAgIGlmIChieUV4Y2x1c2lvbikge1xuICAgICAgcmV0ID0gdHJ1ZTtcbiAgICAgIGlmIChmb3VuZCA+IC0xKSB7XG4gICAgICAgIHJldCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXQgPSBmYWxzZTtcbiAgICAgIGlmIChmb3VuZCA+IC0xKSB7XG4gICAgICAgIHJldCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghcm9sZXMgfHwgcm9sZXMubGVuZ3RoID09PSAwIHx8IHRoaXMuZ2V0Um9sZSgpID09PSAnUFJPR1JBTV9BRE1JTicpIHtcbiAgICAgIHJldCA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwcml2YXRlIG5hdmlnYXRlVG9FcnJvclBhZ2Uoc3RhdHVzQ29kZTogbnVtYmVyLCByb3V0ZXI/OiBSb3V0ZXIpIHtcbiAgICBjb25zdCByb3V0ZXM6IGFueSA9IHtcbiAgICAgIDQwMzogJ2ZvcmJpZGRlbicsXG4gICAgICA0MDQ6ICdub3QtZm91bmQnLFxuICAgICAgNTAwOiAnc2VydmljZS1wcm9ibGVtcycsXG4gICAgICA1MDM6ICdzZXJ2aWNlLXByb2JsZW1zJ1xuICAgIH07XG5cbiAgICBpZiAoIXJvdXRlcikge1xuICAgICAgY29uc29sZS5lcnJvcignUm91dGVyIG11c3QgYmUgZGVjbGFyZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm91dGVyPy5uYXZpZ2F0ZShbYC9hcHAvcGFnZXMvJHtyb3V0ZXNbc3RhdHVzQ29kZV19YC50b0xvd2VyQ2FzZSgpXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVQYWdpbmF0aW9uT3B0aW9ucygpIHtcbiAgICBjb25zdCB7IF9fcGFnaW5hdGlvbk9wdGlvbnMgfSA9IHRoaXM7XG4gICAgaWYgKF9fcGFnaW5hdGlvbk9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IHsgc2VydmljZSwgY2FsbGJhY2ssIG5hbWUgfSA9IF9fcGFnaW5hdGlvbk9wdGlvbnM7XG4gICAgICBzZXJ2aWNlPy5zZXRDYWxsYmFjaygodHlwZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuZG9QYWdpbmF0aW9udjIodHlwZSwgY2FsbGJhY2spO1xuICAgICAgfSwgbmFtZSB8fCAnbWFpbicpO1xuICAgIH1cbiAgfVxuXG4gIHNldFBhZ2UocmVxdWVzdFBhZ2VkOiBNb25rZXlFY3hSZXF1ZXN0UGFnZWQpIHtcbiAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0ge1xuICAgICAgLi4udGhpcy5fX3JlcXVlc3RQYWdlZCxcbiAgICAgIC4uLnJlcXVlc3RQYWdlZFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBuZXh0UGFnZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5fX2xpbmtzKSB7XG4gICAgICByZXR1cm4gISF0aGlzLl9fbGlua3M/Lm5leHQ7XG4gICAgfVxuICAgIGlmICghdGhpcy5fX3JlcXVlc3RQYWdlZCkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IHsgcGFnZSB9ID0gdGhpcy5fX3JlcXVlc3RQYWdlZCBhcyBhbnk7XG4gICAgY29uc3QgeyBudW1iZXIsIHRvdGFsUGFnZXMgfSA9IHBhZ2U7XG4gICAgaWYgKG51bWJlciA8IHRvdGFsUGFnZXMpIHtcbiAgICAgIHRoaXMuX19yZXF1ZXN0UGFnZWQgPSB7XG4gICAgICAgIC4uLnRoaXMuX19yZXF1ZXN0UGFnZWQsXG4gICAgICAgIHBhZ2U6IHtcbiAgICAgICAgICAuLi5wYWdlLFxuICAgICAgICAgIG51bWJlcjogbnVtYmVyICsgMVxuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldEVtYmVkZGVkRGF0YShkYXRhOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBhbnlbXSB8IGFueSB7XG4gICAgY29uc3QgeyBfZW1iZWRkZWQgfSA9IGRhdGE7XG4gICAgcmV0dXJuIF9lbWJlZGRlZCA/IF9lbWJlZGRlZFtmaWVsZF0gOiBudWxsO1xuICB9XG5cbiAgZ2V0Tm9ybWFsaXplZFVybCh1cmw6IHN0cmluZywgc2FtZVBhZ2UgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBfX3JlcXVlc3RQYWdlZCwgX19saW5rcyB9ID0gdGhpcztcbiAgICByZXR1cm4gbmV3IE1vbmtleUVjeFJlcXVlc3RQYWdlZEhhbmRsaW5nKFxuICAgICAgdXJsLFxuICAgICAgX19yZXF1ZXN0UGFnZWQgfHwge30sXG4gICAgICBfX2xpbmtzLFxuICAgICAgc2FtZVBhZ2VcbiAgICApLmdldFJlcXVlc3RXaXRoUGFnZWRQYXJhbXMoKTtcbiAgfVxuXG4gIGNsZWFyKGNsZWFyRGF0YTogYm9vbGVhbikge1xuICAgIGlmIChjbGVhckRhdGEpIHtcbiAgICAgIHRoaXMuX19kYXRhID0gbnVsbDtcbiAgICAgIHRoaXMuX19yZXF1ZXN0UGFnZWQgPSBudWxsO1xuICAgICAgdGhpcy5fX3BhcmFtcyA9IG51bGw7XG4gICAgICB0aGlzLl9fcGFnZSA9IG51bGw7XG4gICAgICB0aGlzLl9fbGlua3MgPSBudWxsO1xuXG4gICAgICBpZiAodGhpcy5fX3NjaGVkdWxlKSB7XG4gICAgICAgIGNvbnN0IHsgcXVldWUgfSA9IHRoaXMuX19zY2hlZHVsZTtcbiAgICAgICAgaWYgKHF1ZXVlKSB7XG4gICAgICAgICAgdGhpcy5vdGhlckFyZ3M/LnF1ZXVlPy5zZXJ2aWNlPy5yZW1vdmVRdWV1ZUl0ZW0ocXVldWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3RoZXJBcmdzPy5zY2hlZHVsZT8uc2VydmljZT8ucmVtb3ZlU2NoZWR1bGUodGhpcy5fX3NjaGVkdWxlKTtcbiAgICAgICAgdGhpcy5fX3NjaGVkdWxlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fX2Vycm9yID0gbnVsbDtcbiAgICB0aGlzLl9faGFuZGxlZEVycm9yID0gbnVsbDtcbiAgICB0aGlzLmZsYWdWYWxpZGF0b3IgPSBmYWxzZTtcbiAgfVxuXG4gIHJlc29sdmUoXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsLFxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90IHwgbnVsbCxcbiAgICBvdGhlckFyZ3M/OiB7XG4gICAgICBjYWxsYmFja01haW46IEZ1bmN0aW9uO1xuICAgICAgcm91dGVyPzogUm91dGVyO1xuICAgICAgc2VjdXJpdHk/OiB7XG4gICAgICAgIHJvbGVzOiBzdHJpbmdbXTtcbiAgICAgICAgYnlFeGNsdXNpb24/OiBib29sZWFuO1xuICAgICAgfTtcbiAgICAgIGNhbGxiYWNrUGFnaW5hdGlvbj86IEZ1bmN0aW9uO1xuICAgICAgdHJhbnNsYXRlT3B0aW9ucz86IE1vbmtleUVjeFRyYW5zbGF0ZU9wdGlvbnM7XG4gICAgICBmZWF0dXJlPzoge1xuICAgICAgICBzZXJ2aWNlOiBNb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZTtcbiAgICAgICAgZmxhZzogc3RyaW5nO1xuICAgICAgfTtcbiAgICAgIGZlYXR1cmVCeVByb2dyYW0/OiB7XG4gICAgICAgIGNvbmZpZzogTW9ua2V5RWN4Q29uZmlnO1xuICAgICAgICBmZWF0dXJlOiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgY291bnRyeVNlY3VyaXR5PzogTW9ua2V5RWN4Q291bnRyeVNlY3VyaXR5O1xuICAgICAgcGVuZGVuY3k/OiB7XG4gICAgICAgIHNlcnZpY2U6IHtcbiAgICAgICAgICBoYXNQZW5kZW5jaWVzOiBGdW5jdGlvbjtcbiAgICAgICAgfTtcbiAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgfTtcbiAgICAgIHBhZ2luYXRpb25PcHRpb25zPzoge1xuICAgICAgICBzZXJ2aWNlOiBNb25rZXlFY3hQYWdpbmF0aW9uU2VydmljZSxcbiAgICAgICAgY2FsbGJhY2s6IEZ1bmN0aW9uLFxuICAgICAgICBuYW1lPzogc3RyaW5nXG4gICAgICB9XG4gICAgfVxuICApIHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkocm91dGU/LnF1ZXJ5UGFyYW1zKSA9PT0gJ3t9Jykge1xuICAgICAgdGhpcy5fX2RhdGEgPSBudWxsO1xuICAgICAgdGhpcy5fX3BhZ2UgPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuX19yZXF1ZXN0UGFnZWQgPSBudWxsO1xuICAgIHRoaXMuZmxhZ1ZhbGlkYXRvciA9IHRydWU7XG5cbiAgICBpZiAodGhpcy50b2tlblN0b3JhZ2UpIHtcbiAgICAgIHRoaXMuX190b2tlbkNyZWRlbnRpYWxzID0gdGhpcy50b2tlblN0b3JhZ2UuZ2V0VG9rZW4oKTtcbiAgICB9XG5cbiAgICBjb25zdCBwZW5kID0gdGhpcy5hbGxvd2VkU2VjdXJpdHlBY2Nlc3NCeVBlbmRlbmN5KG90aGVyQXJncz8ucGVuZGVuY3kpO1xuICAgIGNvbnN0IGFsbG93ZWRCeVByb2dyYW0gPSB0aGlzLmFsbG93ZWRTZWN1cml0eUFjY2Vzc0J5RmVhdHVyZShvdGhlckFyZ3M/LmZlYXR1cmVCeVByb2dyYW0pO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5hbGxvd2VkU2VjdXJpdHlBY2Nlc3Mob3RoZXJBcmdzPy5zZWN1cml0eSkgJiZcbiAgICAgIHRoaXMuYWxsb3dlZFNlY3VyaXR5QWNjZXNzQnlDb3VudHJ5KG90aGVyQXJncz8uY291bnRyeVNlY3VyaXR5KSAmJlxuICAgICAgIXBlbmQuaGFzUGVuZGVuY2llcyAmJlxuICAgICAgYWxsb3dlZEJ5UHJvZ3JhbVxuICAgICkge1xuICAgICAgaWYgKHRoaXMuX19zY2hlZHVsZSkge1xuICAgICAgICB0aGlzLm90aGVyQXJncz8uc2NoZWR1bGU/LnNlcnZpY2U/LnJlbW92ZVNjaGVkdWxlKHRoaXMuX19zY2hlZHVsZSk7XG4gICAgICAgIHRoaXMuX19zY2hlZHVsZSA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgX19yZXF1ZXN0UGFnZWQgfSA9IHRoaXM7XG4gICAgICBpZiAoIV9fcmVxdWVzdFBhZ2VkKSB7XG4gICAgICAgIHRoaXMuc2V0UGFnZSh7XG4gICAgICAgICAgcGFnZToge1xuICAgICAgICAgICAgbnVtYmVyOiAwLFxuICAgICAgICAgICAgc2l6ZTogMTBcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAob3RoZXJBcmdzPy50cmFuc2xhdGVPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgc2VydmljZSwga2V5cyB9ID0gb3RoZXJBcmdzPy50cmFuc2xhdGVPcHRpb25zO1xuICAgICAgICB0aGlzLmdldGkxOG4oc2VydmljZSwga2V5cyB8fCAnJyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvdGhlckFyZ3M/LmNhbGxiYWNrUGFnaW5hdGlvbikge1xuICAgICAgICB0aGlzLl9fY2FsbGJhY2tQYWdpbmF0aW9uID0gb3RoZXJBcmdzLmNhbGxiYWNrUGFnaW5hdGlvbjtcbiAgICAgIH1cblxuICAgICAgaWYgKG90aGVyQXJncz8ucGFnaW5hdGlvbk9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5fX3BhZ2luYXRpb25PcHRpb25zID0gb3RoZXJBcmdzPy5wYWdpbmF0aW9uT3B0aW9ucztcbiAgICAgICAgdGhpcy5oYW5kbGVQYWdpbmF0aW9uT3B0aW9ucygpO1xuICAgICAgfVxuXG4gICAgICBpZiAob3RoZXJBcmdzPy5mZWF0dXJlKSB7XG4gICAgICAgIGNvbnN0IHsgZmxhZywgc2VydmljZSB9ID0gb3RoZXJBcmdzLmZlYXR1cmU7XG5cbiAgICAgICAgc2VydmljZS5vbkZsYWdzXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YWtlV2hpbGUoKCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mbGFnVmFsaWRhdG9yO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgodmFsOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGhhc0ZsYWcgPSBzZXJ2aWNlLmdldEZsYWcoZmxhZyk7XG5cbiAgICAgICAgICAgICAgaWYgKE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoaGFzRmxhZykpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWhhc0ZsYWcpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb0Vycm9yUGFnZSg0MDQsIG90aGVyQXJncz8ucm91dGVyKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgb3RoZXJBcmdzPy5jYWxsYmFja01haW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG90aGVyQXJncz8uY2FsbGJhY2tNYWluKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghYWxsb3dlZEJ5UHJvZ3JhbSkge1xuICAgICAgdGhpcy5uYXZpZ2F0ZVRvRXJyb3JQYWdlKDQwNCwgb3RoZXJBcmdzPy5yb3V0ZXIpO1xuICAgIH0gZWxzZSBpZiAocGVuZC5oYXNQZW5kZW5jaWVzKSB7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9QZW5kZW5jeVBhZ2UocGVuZCwgb3RoZXJBcmdzPy5yb3V0ZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9FcnJvclBhZ2UoNDAzLCBvdGhlckFyZ3M/LnJvdXRlcik7XG4gICAgfVxuICB9XG5cbiAgZ2V0SFRUUEhlYWRlckFwcGxpY2F0aW9uUERGKCk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xuICAgIH07XG4gIH1cblxuICBATW9ua2V5RWN4Q29yZVNlcnZpY2Uoe1xuICAgIHJlcXVlc3RJblByb2dyZXNzOiB7XG4gICAgICBzaG93UHJvZ3Jlc3M6IHRydWVcbiAgICB9XG4gIH0pXG4gIGdlbmVyaWNNZXRob2QobGluazogYW55LCBkYXRhPzogYW55LCBjYWxsYmFjaz86IEZ1bmN0aW9uKSB7XG4gICAgY29uc3QgeyBocmVmLCB0eXBlID0gJ2dldCcgfSA9IGxpbms7XG5cbiAgICB0aGlzLm1vbmtleWVjeFNlcnZpY2U/Llt0eXBlLnRvTG93ZXJDYXNlKCldKGAke2hyZWZ9YCwgZGF0YSk/LnN1YnNjcmliZShcbiAgICAgIChyZXNwOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKGNhbGxiYWNrKSBjYWxsYmFjayhyZXNwKTtcbiAgICAgIH0sXG4gICAgICAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAoY2FsbGJhY2spIGNhbGxiYWNrKCk7XG4gICAgICAgIHRocm93RXJyb3IoZXJyKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgZ2V0aTE4bih0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLCBrZXlzOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIHRyYW5zbGF0ZVNlcnZpY2Uub25EZWZhdWx0TGFuZ0NoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fX2kxOG4gPSB0cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoa2V5cyk7XG4gICAgICB0aGlzLl9fb25pMThuRGF0YUNoYW5nZWQkLm5leHQobnVsbCk7XG4gICAgfSk7XG4gICAgdHJhbnNsYXRlU2VydmljZS5nZXRTdHJlYW1PblRyYW5zbGF0aW9uQ2hhbmdlKGtleXMpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9faTE4biA9IHRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChrZXlzKTtcbiAgICAgIHRoaXMuX19vbmkxOG5EYXRhQ2hhbmdlZCQubmV4dChudWxsKTtcbiAgICB9KTtcbiAgfVxuXG4gIGRvUGFnaW5hdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuX19vbkxvYWRpbmdJblByb2dyZXNzJC52YWx1ZSkge1xuICAgICAgY29uc3QgaGFzTW9yZVBhZ2VzID0gdGhpcy5zZXRQYWdlKHtcbiAgICAgICAgcGFnZToge1xuICAgICAgICAgIC4uLnRoaXMuX19wYWdlXG4gICAgICAgIH1cbiAgICAgIH0pLm5leHRQYWdlKCk7XG5cbiAgICAgIGlmIChoYXNNb3JlUGFnZXMgJiYgdGhpcy5fX2NhbGxiYWNrUGFnaW5hdGlvbikge1xuICAgICAgICB0aGlzLl9fY2FsbGJhY2tQYWdpbmF0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZG9QYWdpbmF0aW9udjIodHlwZTogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24pIHtcbiAgICBpZiAoIXRoaXMuX19vbkxvYWRpbmdJblByb2dyZXNzJC52YWx1ZSkge1xuICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0TGlua3MobGlua3M6IGFueSkge1xuICAgIHRoaXMuX19pc0FibGVUb0RvUGFnaW5hdGlvbiA9IHtcbiAgICAgIGZpcnN0OiAhIWxpbmtzPy5maXJzdCxcbiAgICAgIG5leHQ6ICEhbGlua3M/Lm5leHRcbiAgICB9O1xuICAgIHRoaXMuX19saW5rcyA9IGxpbmtzO1xuICB9XG5cbiAgc2V0U2VhcmNoQnlVcmwocm91dGVyOiBSb3V0ZXIsIHVybDogc3RyaW5nLCBzZWFyY2g6IGFueSwgZXh0cmFzPzogYW55KSB7XG4gICAgdGhpcy5fX2RhdGEgPSBudWxsO1xuICAgIHRoaXMuX19wYWdlID0gbnVsbDtcbiAgICB0aGlzLl9fb25EYXRhQ2hhbmdlZCQubmV4dChudWxsKTtcbiAgICB0aGlzLl9fb25Mb2FkaW5nSW5Qcm9ncmVzcyQubmV4dChmYWxzZSk7XG5cbiAgICByb3V0ZXIubmF2aWdhdGUoW3VybF0sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIC4uLnNlYXJjaCxcbiAgICAgICAgcjogTW9ua2V5RWN4VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDMwKVxuICAgICAgfSxcbiAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgICAuLi5leHRyYXNcbiAgICB9KTtcbiAgfVxuXG4gIHNhdmVTdGF0ZShzdGF0ZTogTW9ua2V5RWN4U2F2ZWRTdGF0ZSkge1xuICAgIHRoaXMuX19zYXZlZFN0YXRlID0ge1xuICAgICAgcGFnZTogdGhpcy5fX3BhZ2UsXG4gICAgICAuLi5zdGF0ZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -10,13 +10,13 @@ import * as moment_ from 'moment';
10
10
  import * as i1$2 from 'ngx-cookie-service';
11
11
  import * as i1$3 from '@angular/router';
12
12
  import { NavigationStart, NavigationEnd, NavigationError, NavigationCancel } from '@angular/router';
13
- import { BehaviorSubject, Subscription, throwError, interval, concat, of, Subject } from 'rxjs';
13
+ import { BehaviorSubject, Subscription, throwError, interval, concat, of, Subject, from } from 'rxjs';
14
14
  import { filter, take, takeWhile, map, catchError, first, takeUntil, mergeMap, finalize } from 'rxjs/operators';
15
15
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
16
16
  import { TemplatePortal } from '@angular/cdk/portal';
17
17
  import * as i1$4 from '@angular/cdk/overlay';
18
18
  import { OverlayModule } from '@angular/cdk/overlay';
19
- import { __decorate } from 'tslib';
19
+ import { __decorate, __awaiter } from 'tslib';
20
20
  import * as i1$5 from '@angular/common/http';
21
21
  import { HttpParams, HttpErrorResponse, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
22
22
  import { datadogRum } from '@datadog/browser-rum';
@@ -2234,17 +2234,17 @@ class MonkeyEcxCommonsService {
2234
2234
  return service.hasPendencies(type);
2235
2235
  }
2236
2236
  allowedSecurityAccessByFeature(args) {
2237
- var _a, _b;
2237
+ var _a, _b, _c;
2238
2238
  if (!args) {
2239
2239
  return true;
2240
2240
  }
2241
2241
  const { config, feature } = args;
2242
2242
  try {
2243
2243
  if (!MonkeyEcxUtils.persistNullEmptyUndefined(feature) ||
2244
- !MonkeyEcxUtils.persistNullEmptyUndefined((_a = config === null || config === void 0 ? void 0 : config.program) === null || _a === void 0 ? void 0 : _a.settings[feature])) {
2245
- return false;
2244
+ !MonkeyEcxUtils.persistNullEmptyUndefined((_a = config === null || config === void 0 ? void 0 : config.program) === null || _a === void 0 ? void 0 : _a.settings)) {
2245
+ return true;
2246
2246
  }
2247
- return !((_b = config === null || config === void 0 ? void 0 : config.program) === null || _b === void 0 ? void 0 : _b.settings[feature]);
2247
+ return !((_c = (_b = config === null || config === void 0 ? void 0 : config.program) === null || _b === void 0 ? void 0 : _b.settings) === null || _c === void 0 ? void 0 : _c[feature]);
2248
2248
  }
2249
2249
  catch (e) {
2250
2250
  // not to do
@@ -3467,6 +3467,10 @@ class MonkeyEcxAuthenticationService {
3467
3467
  console.error('isCompanyAuthorized needs to be declared!');
3468
3468
  return false;
3469
3469
  };
3470
+ this.isTokenMandatory = (url) => {
3471
+ console.error('isTokenMandatory needs to be declared!');
3472
+ return false;
3473
+ };
3470
3474
  this.getRequestWithHeaders = (request) => {
3471
3475
  console.error('getRequestWithHeaders needs to be declared!');
3472
3476
  return null;
@@ -4409,14 +4413,14 @@ class MonkeyEcxFeatureByProgramDirective {
4409
4413
  });
4410
4414
  }
4411
4415
  handleDisplay() {
4412
- var _a, _b, _c, _d;
4416
+ var _a, _b, _c;
4413
4417
  const { feature, config } = this;
4414
4418
  let display = 'none';
4415
4419
  if (!MonkeyEcxUtils.persistNullEmptyUndefined(feature) ||
4416
- !MonkeyEcxUtils.persistNullEmptyUndefined((_b = (_a = config === null || config === void 0 ? void 0 : config.program) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b[feature])) {
4420
+ !MonkeyEcxUtils.persistNullEmptyUndefined((_a = config === null || config === void 0 ? void 0 : config.program) === null || _a === void 0 ? void 0 : _a.settings)) {
4417
4421
  return;
4418
4422
  }
4419
- const disabled = (_d = (_c = config === null || config === void 0 ? void 0 : config.program) === null || _c === void 0 ? void 0 : _c.settings) === null || _d === void 0 ? void 0 : _d[feature];
4423
+ const disabled = (_c = (_b = config === null || config === void 0 ? void 0 : config.program) === null || _b === void 0 ? void 0 : _b.settings) === null || _c === void 0 ? void 0 : _c[feature];
4420
4424
  if (!disabled) {
4421
4425
  display = 'block';
4422
4426
  }
@@ -4601,31 +4605,74 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
4601
4605
  }], ctorParameters: function () { return [{ type: MonkeyEcxAuthenticationService }, { type: MonkeyEcxErrorHandlingService }]; } });
4602
4606
 
4603
4607
  class MonkeyEcxHttpConfigHeaderInterceptor {
4604
- constructor(monkeyecxAuthenticationService, monkeyecxErrorHandlingService) {
4605
- this.monkeyecxAuthenticationService = monkeyecxAuthenticationService;
4606
- this.monkeyecxErrorHandlingService = monkeyecxErrorHandlingService;
4608
+ constructor(authService, errorHandlingService, config) {
4609
+ this.authService = authService;
4610
+ this.errorHandlingService = errorHandlingService;
4611
+ this.config = config;
4607
4612
  // not to do
4608
4613
  }
4614
+ handle(request, next) {
4615
+ return __awaiter(this, void 0, void 0, function* () {
4616
+ const { url } = request;
4617
+ if (this.authService.isTokenMandatory(url)) {
4618
+ try {
4619
+ const config = yield this.config
4620
+ .config()
4621
+ .pipe(take(1))
4622
+ .toPromise();
4623
+ if (!config) {
4624
+ yield this.onValidateConfig();
4625
+ }
4626
+ }
4627
+ catch (error) {
4628
+ // not to do
4629
+ }
4630
+ }
4631
+ return this.authService
4632
+ .getRequestWithHeadersOb(request)
4633
+ .pipe(take(1), map((event) => {
4634
+ return event;
4635
+ }), mergeMap((resp) => {
4636
+ request = request.clone({
4637
+ setHeaders: resp
4638
+ });
4639
+ return next.handle(request);
4640
+ }), catchError((error) => {
4641
+ this.errorHandlingService.handleError(error);
4642
+ return throwError(error);
4643
+ }))
4644
+ .toPromise();
4645
+ });
4646
+ }
4647
+ onValidateConfig() {
4648
+ return new Promise((resolve) => {
4649
+ let count = 0;
4650
+ const interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
4651
+ count += 1;
4652
+ if (count > 20) {
4653
+ clearInterval(interval);
4654
+ resolve(null);
4655
+ }
4656
+ const config = yield this.config
4657
+ .config()
4658
+ .pipe(take(1))
4659
+ .toPromise();
4660
+ if (config) {
4661
+ clearInterval(interval);
4662
+ resolve(null);
4663
+ }
4664
+ }), 200);
4665
+ });
4666
+ }
4609
4667
  intercept(request, next) {
4610
- var _a, _b;
4611
- return ((_b = (_a = this.monkeyecxAuthenticationService) === null || _a === void 0 ? void 0 : _a.getRequestWithHeadersOb(request)) === null || _b === void 0 ? void 0 : _b.pipe(take(1), map((event) => {
4612
- return event;
4613
- }), mergeMap((resp) => {
4614
- request = request.clone({
4615
- setHeaders: resp
4616
- });
4617
- return next.handle(request);
4618
- }), catchError((error) => {
4619
- this.monkeyecxErrorHandlingService.handleError(error);
4620
- return throwError(error);
4621
- }))) || throwError('getRequestWithHeadersOb undefined');
4668
+ return from(this.handle(request, next));
4622
4669
  }
4623
4670
  }
4624
- MonkeyEcxHttpConfigHeaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, deps: [{ token: MonkeyEcxAuthenticationService }, { token: MonkeyEcxErrorHandlingService }], target: i0.ɵɵFactoryTarget.Injectable });
4671
+ MonkeyEcxHttpConfigHeaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, deps: [{ token: MonkeyEcxAuthenticationService }, { token: MonkeyEcxErrorHandlingService }, { token: MonkeyEcxConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
4625
4672
  MonkeyEcxHttpConfigHeaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor });
4626
4673
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxHttpConfigHeaderInterceptor, decorators: [{
4627
4674
  type: Injectable
4628
- }], ctorParameters: function () { return [{ type: MonkeyEcxAuthenticationService }, { type: MonkeyEcxErrorHandlingService }]; } });
4675
+ }], ctorParameters: function () { return [{ type: MonkeyEcxAuthenticationService }, { type: MonkeyEcxErrorHandlingService }, { type: MonkeyEcxConfigService }]; } });
4629
4676
 
4630
4677
  /* eslint-disable max-len */
4631
4678
  class MonkeyEcxHttpConfigQueueInterceptor {