@sumaris-net/ngx-components 18.17.2 → 18.17.3

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.
@@ -6,18 +6,20 @@ import { MessageModal } from './message.modal';
6
6
  import { MessageForm } from './message.form';
7
7
  import { MatChipsModule } from '@angular/material/chips';
8
8
  import { SharedDebugModule } from '../../shared/debug/debug.module';
9
+ import { TranslateModule } from '@ngx-translate/core';
9
10
  import * as i0 from "@angular/core";
11
+ import * as i1 from "@ngx-translate/core";
10
12
  export class MessageModule {
11
13
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MessageModule, declarations: [MessageModal, MessageForm], imports: [CommonModule, CoreModule, SharedModule, MatChipsModule, SharedDebugModule], exports: [MessageModal] });
13
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessageModule, imports: [CommonModule, CoreModule, SharedModule, MatChipsModule, SharedDebugModule] });
14
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MessageModule, declarations: [MessageModal, MessageForm], imports: [CommonModule, CoreModule, SharedModule, MatChipsModule, SharedDebugModule, i1.TranslateModule], exports: [TranslateModule, MessageModal, MessageForm] });
15
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessageModule, imports: [CommonModule, CoreModule, SharedModule, MatChipsModule, SharedDebugModule, TranslateModule.forChild(), TranslateModule] });
14
16
  }
15
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessageModule, decorators: [{
16
18
  type: NgModule,
17
19
  args: [{
18
- imports: [CommonModule, CoreModule, SharedModule, MatChipsModule, SharedDebugModule],
20
+ imports: [CommonModule, CoreModule, SharedModule, MatChipsModule, SharedDebugModule, TranslateModule.forChild()],
19
21
  declarations: [MessageModal, MessageForm],
20
- exports: [MessageModal],
22
+ exports: [TranslateModule, MessageModal, MessageForm],
21
23
  }]
22
24
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9tZXNzYWdlL21lc3NhZ2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBT3BFLE1BQU0sT0FBTyxhQUFhO3dHQUFiLGFBQWE7eUdBQWIsYUFBYSxpQkFIVCxZQUFZLEVBQUUsV0FBVyxhQUQ5QixZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLGFBRXpFLFlBQVk7eUdBRVgsYUFBYSxZQUpkLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxpQkFBaUI7OzRGQUl4RSxhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQztvQkFDcEYsWUFBWSxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJy4uLy4uL2NvcmUvY29yZS5tb2R1bGUnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgTWVzc2FnZU1vZGFsIH0gZnJvbSAnLi9tZXNzYWdlLm1vZGFsJztcbmltcG9ydCB7IE1lc3NhZ2VGb3JtIH0gZnJvbSAnLi9tZXNzYWdlLmZvcm0nO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBTaGFyZWREZWJ1Z01vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9kZWJ1Zy9kZWJ1Zy5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDb3JlTW9kdWxlLCBTaGFyZWRNb2R1bGUsIE1hdENoaXBzTW9kdWxlLCBTaGFyZWREZWJ1Z01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW01lc3NhZ2VNb2RhbCwgTWVzc2FnZUZvcm1dLFxuICBleHBvcnRzOiBbTWVzc2FnZU1vZGFsXSxcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZU1vZHVsZSB7fVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NvY2lhbC9tZXNzYWdlL21lc3NhZ2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFPdEQsTUFBTSxPQUFPLGFBQWE7d0dBQWIsYUFBYTt5R0FBYixhQUFhLGlCQUhULFlBQVksRUFBRSxXQUFXLGFBRDlCLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsaUNBRXpFLGVBQWUsRUFBRSxZQUFZLEVBQUUsV0FBVzt5R0FFekMsYUFBYSxZQUpkLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBRXJHLGVBQWU7OzRGQUVkLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDaEgsWUFBWSxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUM7aUJBQ3REIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnLi4vLi4vY29yZS9jb3JlLm1vZHVsZSc7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBNZXNzYWdlTW9kYWwgfSBmcm9tICcuL21lc3NhZ2UubW9kYWwnO1xuaW1wb3J0IHsgTWVzc2FnZUZvcm0gfSBmcm9tICcuL21lc3NhZ2UuZm9ybSc7XG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IFNoYXJlZERlYnVnTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2RlYnVnL2RlYnVnLm1vZHVsZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29yZU1vZHVsZSwgU2hhcmVkTW9kdWxlLCBNYXRDaGlwc01vZHVsZSwgU2hhcmVkRGVidWdNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpXSxcbiAgZGVjbGFyYXRpb25zOiBbTWVzc2FnZU1vZGFsLCBNZXNzYWdlRm9ybV0sXG4gIGV4cG9ydHM6IFtUcmFuc2xhdGVNb2R1bGUsIE1lc3NhZ2VNb2RhbCwgTWVzc2FnZUZvcm1dLFxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlTW9kdWxlIHt9XG4iXX0=
@@ -32,6 +32,8 @@ const MessageFragments = {
32
32
  issuer {
33
33
  ...LightPersonFragment
34
34
  }
35
+ creationDate
36
+ updateDate
35
37
  }
36
38
  `,
37
39
  };
@@ -193,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
193
195
  type: Inject,
194
196
  args: [ENVIRONMENT]
195
197
  }] }] });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zb2NpYWwvbWVzc2FnZS9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNwRixPQUFPLEVBQWUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRixPQUFPLEVBQW9CLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQXVCLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFHbkUsTUFBTSxnQkFBZ0IsR0FBRztJQUN2QixPQUFPLEVBQUUsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJYO0NBQ0YsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHO0lBQ2QsSUFBSSxFQUFFLEdBQUcsQ0FBQTs7Ozs7O01BTUwsZ0JBQWdCLENBQUMsT0FBTztNQUN4QixlQUFlLENBQUMsV0FBVztNQUMzQixlQUFlLENBQUMsWUFBWTtHQUMvQjtDQUNGLENBQUM7QUFDRixNQUFNLFNBQVMsR0FBRztJQUNoQixJQUFJLEVBQUUsR0FBRyxDQUFBOzs7O0dBSVI7SUFDRCxNQUFNLEVBQUUsR0FB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LENBQUMscUNBQXFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRWxFLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCw2QkFBNkI7SUFFbkIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFzQjtRQUM5QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3ZELElBQUksRUFBRSxNQUFNO1lBQ1osT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxHQUFHLElBQUk7U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDO3dHQW5JVSxjQUFjLDhJQU1ILFdBQVc7NEdBTnRCLGNBQWMsY0FERCxNQUFNOzs0RkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQU83QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBncWwgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgeyBTb2NpYWxFcnJvckNvZGVzIH0gZnJvbSAnLi4vc29jaWFsLmVycm9ycyc7XG5pbXBvcnQgeyBHcmFwaHFsU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZ3JhcGhxbC9ncmFwaHFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyLCBUb2FzdENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCYXNlR3JhcGhxbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2Jhc2UtZ3JhcGhxbC1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7IEVudmlyb25tZW50LCBFTlZJUk9OTUVOVCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC5jbGFzcyc7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlRmlsdGVyIH0gZnJvbSAnLi9tZXNzYWdlLm1vZGVsJztcbmltcG9ydCB7IE1JTklGWV9FTlRJVFlfRk9SX1BPRCB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvcmVmZXJlbnRpYWwubW9kZWwnO1xuaW1wb3J0IHsgU2hvd1RvYXN0T3B0aW9ucywgVG9hc3RzIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3RvYXN0L3RvYXN0cyc7XG5pbXBvcnQgeyBNZXNzYWdlTW9kYWwsIE1lc3NhZ2VNb2RhbE9wdGlvbnMgfSBmcm9tICcuL21lc3NhZ2UubW9kYWwnO1xuaW1wb3J0IHsgUGVyc29uRnJhZ21lbnRzIH0gZnJvbSAnLi4vLi4vYWRtaW4vdXNlcnMvcGVyc29uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT21pdEZ1bmN0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvZW50aXR5Lm1vZGVsJztcblxuY29uc3QgTWVzc2FnZUZyYWdtZW50cyA9IHtcbiAgbWVzc2FnZTogZ3FsYFxuICAgIGZyYWdtZW50IE1lc3NhZ2VGcmFnbWVudCBvbiBNZXNzYWdlVk8ge1xuICAgICAgaWRcbiAgICAgIHN1YmplY3RcbiAgICAgIGJvZHlcbiAgICAgIHR5cGVcbiAgICAgIHJlY2lwaWVudCB7XG4gICAgICAgIC4uLkxpZ2h0UGVyc29uRnJhZ21lbnRcbiAgICAgIH1cbiAgICAgIHJlY2lwaWVudHMge1xuICAgICAgICAuLi5MaWdodFBlcnNvbkZyYWdtZW50XG4gICAgICB9XG4gICAgICByZWNpcGllbnRGaWx0ZXIge1xuICAgICAgICAuLi5QZXJzb25GaWx0ZXJGcmFnbWVudFxuICAgICAgfVxuICAgICAgaXNzdWVyIHtcbiAgICAgICAgLi4uTGlnaHRQZXJzb25GcmFnbWVudFxuICAgICAgfVxuICAgIH1cbiAgYCxcbn07XG5cbmNvbnN0IFF1ZXJpZXMgPSB7XG4gIGxvYWQ6IGdxbGBcbiAgICBtdXRhdGlvbiBMb2FkTWVzc2FnZSgkaWQ6IEludCEpIHtcbiAgICAgIGRhdGE6IG1lc3NhZ2UoaWQ6ICRpZCkge1xuICAgICAgICAuLi5NZXNzYWdlRnJhZ21lbnRcbiAgICAgIH1cbiAgICB9XG4gICAgJHtNZXNzYWdlRnJhZ21lbnRzLm1lc3NhZ2V9XG4gICAgJHtQZXJzb25GcmFnbWVudHMubGlnaHRQZXJzb259XG4gICAgJHtQZXJzb25GcmFnbWVudHMucGVyc29uRmlsdGVyfVxuICBgLFxufTtcbmNvbnN0IE11dGF0aW9ucyA9IHtcbiAgc2VuZDogZ3FsYFxuICAgIG11dGF0aW9uIFNlbmRNZXNzYWdlKCRkYXRhOiBNZXNzYWdlVk9JbnB1dCkge1xuICAgICAgZG9uZTogc2VuZE1lc3NhZ2UobWVzc2FnZTogJGRhdGEpXG4gICAgfVxuICBgLFxuICBkZWxldGU6IGdxbGBcbiAgICBtdXRhdGlvbiBEZWxldGVNZXNzYWdlKCRpZDogSW50ISkge1xuICAgICAgZG9uZTogZGVsZXRlTWVzc2FnZShpZDogJGlkKVxuICAgIH1cbiAgYCxcbn07XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZVNlcnZpY2UgZXh0ZW5kcyBCYXNlR3JhcGhxbFNlcnZpY2U8TWVzc2FnZSwgTWVzc2FnZUZpbHRlcj4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZ3JhcGhxbDogR3JhcGhxbFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgbW9kYWxDdHJsOiBNb2RhbENvbnRyb2xsZXIsXG4gICAgcHJvdGVjdGVkIHRvYXN0Q29udHJvbGxlcjogVG9hc3RDb250cm9sbGVyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRU5WSVJPTk1FTlQpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnRcbiAgKSB7XG4gICAgc3VwZXIoZ3JhcGhxbCwgZW52aXJvbm1lbnQpO1xuXG4gICAgLy8gRm9yIERFViBvbmx5XG4gICAgdGhpcy5fZGVidWcgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kIGEgbWVzc2FnZSB0byByZWNpcGllbnQocylcbiAgICpcbiAgICogQHBhcmFtIGVudGl0eVxuICAgKiBAcGFyYW0gb3B0c1xuICAgKi9cbiAgYXN5bmMgc2VuZChlbnRpdHk6IE1lc3NhZ2UsIG9wdHM/OiB7IHNob3dUb2FzdD86IGJvb2xlYW4gfSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIC8vIFRyYW5zZm9ybSBpbnRvIGpzb25cbiAgICBjb25zdCBkYXRhID0gZW50aXR5LmFzT2JqZWN0KE1JTklGWV9FTlRJVFlfRk9SX1BPRCk7XG5cbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgW21lc3NhZ2Utc2VydmljZV0gU2VuZGluZyBtZXNzYWdlLi4uYCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBkb25lIH0gPSBhd2FpdCB0aGlzLmdyYXBocWwubXV0YXRlPHsgZG9uZTogYm9vbGVhbiB9Pih7XG4gICAgICAgIG11dGF0aW9uOiBNdXRhdGlvbnMuc2VuZCxcbiAgICAgICAgdmFyaWFibGVzOiB7IGRhdGEgfSxcbiAgICAgICAgZXJyb3I6IHsgY29kZTogU29jaWFsRXJyb3JDb2Rlcy5TRU5EX01FU1NBR0VfRVJST1IsIG1lc3NhZ2U6ICdTT0NJQUwuRVJST1IuU0VORF9NRVNTQUdFX0VSUk9SJyB9LFxuICAgICAgfSk7XG5cbiAgICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgW21lc3NhZ2Utc2VydmljZV0gU2VuZCBtZXNzYWdlIFtPS10gaW4gJHtEYXRlLm5vdygpIC0gbm93fW1zYCk7XG5cbiAgICAgIGlmIChkb25lICYmICghb3B0cyB8fCBvcHRzLnNob3dUb2FzdCAhPT0gZmFsc2UpKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuc2hvd1RvYXN0KHsgdHlwZTogJ2luZm8nLCBtZXNzYWdlOiAnU09DSUFMLklORk8uTUVTU0FHRV9TRU5UJyB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkb25lO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc3QgZXJyb3IgPSAoZXJyICYmIGVyci5tZXNzYWdlKSB8fCBlcnI7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgLy8gU2hvdyBlcnJvclxuICAgICAgaWYgKCFvcHRzIHx8IG9wdHMuc2hvd1RvYXN0ICE9PSBmYWxzZSkge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IgfHwgJ1NPQ0lBTC5FUlJPUi5TRU5EX01FU1NBR0VfRVJST1InO1xuICAgICAgICBhd2FpdCB0aGlzLnNob3dUb2FzdCh7IHR5cGU6ICdlcnJvcicsIG1lc3NhZ2UgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhIG1lc3NhZ2UgYnkgSURcbiAgICpcbiAgICogQHBhcmFtIGlkXG4gICAqIEBwYXJhbSBvcHRzXG4gICAqL1xuICBhc3luYyBkZWxldGUoaWQ6IG51bWJlciwgb3B0cz86IHsgc2hvd1RvYXN0PzogYm9vbGVhbiB9KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoYFttZXNzYWdlLXNlcnZpY2VdIERlbGV0aW5nIG1lc3NhZ2UgIyR7aWR9Li4uYCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBkb25lIH0gPSBhd2FpdCB0aGlzLmdyYXBocWwubXV0YXRlPHsgZG9uZTogYm9vbGVhbiB9Pih7XG4gICAgICAgIG11dGF0aW9uOiBNdXRhdGlvbnMuZGVsZXRlLFxuICAgICAgICB2YXJpYWJsZXM6IHsgaWQgfSxcbiAgICAgICAgZXJyb3I6IHsgY29kZTogU29jaWFsRXJyb3JDb2Rlcy5ERUxFVEVfTUVTU0FHRV9FUlJPUiwgbWVzc2FnZTogJ1NPQ0lBTC5FUlJPUi5ERUxFVEVfTUVTU0FHRV9FUlJPUicgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoYFttZXNzYWdlLXNlcnZpY2VdIERlbGV0ZSBtZXNzYWdlIFtPS10gaW4gJHtEYXRlLm5vdygpIC0gbm93fW1zYCk7XG5cbiAgICAgIGlmIChkb25lICYmICghb3B0cyB8fCBvcHRzLnNob3dUb2FzdCAhPT0gZmFsc2UpKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuc2hvd1RvYXN0KHsgdHlwZTogJ2luZm8nLCBtZXNzYWdlOiAnU09DSUFMLklORk8uTUVTU0FHRV9ERUxFVEVEJyB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkb25lO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc3QgZXJyb3IgPSAoZXJyICYmIGVyci5tZXNzYWdlKSB8fCBlcnI7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcblxuICAgICAgLy8gU2hvdyBlcnJvclxuICAgICAgaWYgKCFvcHRzIHx8IG9wdHMuc2hvd1RvYXN0ICE9PSBmYWxzZSkge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IgfHwgJ1NPQ0lBTC5FUlJPUi5ERUxFVEVfTUVTU0FHRV9FUlJPUic7XG4gICAgICAgIGF3YWl0IHRoaXMuc2hvd1RvYXN0KHsgdHlwZTogJ2Vycm9yJywgbWVzc2FnZSB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBvcGVuQ29tcG9zZU1vZGFsKG9wdGlvbnM6IE1lc3NhZ2VNb2RhbE9wdGlvbnMgJiB7IHNob3dUb2FzdD86IGJvb2xlYW4gfSk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgaGFzVG9wTW9kYWwgPSAhIShhd2FpdCB0aGlzLm1vZGFsQ3RybC5nZXRUb3AoKSk7XG4gICAgY29uc3QgbW9kYWwgPSBhd2FpdCB0aGlzLm1vZGFsQ3RybC5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBNZXNzYWdlTW9kYWwsXG4gICAgICBjb21wb25lbnRQcm9wczogb3B0aW9ucyxcbiAgICAgIGNzc0NsYXNzOiBoYXNUb3BNb2RhbCAmJiAnc3RhY2stbW9kYWwnLFxuICAgIH0pO1xuXG4gICAgLy8gT3BlbiB0aGUgbW9kYWxcbiAgICBhd2FpdCBtb2RhbC5wcmVzZW50KCk7XG5cbiAgICAvLyBPbiBkaXNtaXNzXG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCBtb2RhbC5vbkRpZERpc21pc3MoKTtcbiAgICBpZiAoIWRhdGEgfHwgIShkYXRhIGluc3RhbmNlb2YgTWVzc2FnZSkpIHJldHVybiB0cnVlOyAvLyBDQU5DRUxMRURcblxuICAgIC8vIFNlbmQgbWVzc2FnZVxuICAgIHJldHVybiBhd2FpdCB0aGlzLnNlbmQoZGF0YSwgeyBzaG93VG9hc3Q6IG9wdGlvbnM/LnNob3dUb2FzdCB9KTtcbiAgfVxuXG4gIGFzeW5jIGxvYWQoaWQ6IG51bWJlciwgb3B0cz86IHsgdG9FbnRpdHk/OiBib29sZWFuIH0pOiBQcm9taXNlPE1lc3NhZ2U+IHtcbiAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMuZ3JhcGhxbC5xdWVyeTx7IGRhdGE6IE9taXRGdW5jdGlvbnM8TWVzc2FnZT4gfT4oe1xuICAgICAgcXVlcnk6IFF1ZXJpZXMubG9hZCxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpZCxcbiAgICAgIH0sXG4gICAgICBmZXRjaFBvbGljeTogJ25vLWNhY2hlJyxcbiAgICB9KTtcbiAgICBjb25zdCBlbnRpdHkgPSBvcHRzPy50b0VudGl0eSAhPT0gZmFsc2UgPyBNZXNzYWdlLmZyb21PYmplY3QoZGF0YSkgOiAoZGF0YSBhcyBNZXNzYWdlKTtcblxuICAgIGNvbnNvbGUuZGVidWcoYFttZXNzYWdlLXNlcnZpY2VdIExvYWRlZCBtZXNzYWdlICMke2lkfTpgLCBlbnRpdHkpO1xuXG4gICAgcmV0dXJuIGVudGl0eTtcbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBtZXRob2RzIC0tICovXG5cbiAgcHJvdGVjdGVkIGFzeW5jIHNob3dUb2FzdChvcHRzOiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICAgcmV0dXJuIFRvYXN0cy5zaG93KHRoaXMudG9hc3RDb250cm9sbGVyLCB0aGlzLnRyYW5zbGF0ZSwge1xuICAgICAgdHlwZTogJ2luZm8nLFxuICAgICAgbWVzc2FnZTogJ1NPQ0lBTC5JTkZPLk1FU1NBR0VfU0VOVCcsXG4gICAgICAuLi5vcHRzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zb2NpYWwvbWVzc2FnZS9tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNwRixPQUFPLEVBQWUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRixPQUFPLEVBQW9CLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQXVCLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFHbkUsTUFBTSxnQkFBZ0IsR0FBRztJQUN2QixPQUFPLEVBQUUsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlg7Q0FDRixDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUc7SUFDZCxJQUFJLEVBQUUsR0FBRyxDQUFBOzs7Ozs7TUFNTCxnQkFBZ0IsQ0FBQyxPQUFPO01BQ3hCLGVBQWUsQ0FBQyxXQUFXO01BQzNCLGVBQWUsQ0FBQyxZQUFZO0dBQy9CO0NBQ0YsQ0FBQztBQUNGLE1BQU0sU0FBUyxHQUFHO0lBQ2hCLElBQUksRUFBRSxHQUFHLENBQUE7Ozs7R0FJUjtJQUNELE1BQU0sRUFBRSxH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QUssQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFbEUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELDZCQUE2QjtJQUVuQixLQUFLLENBQUMsU0FBUyxDQUFDLElBQXNCO1FBQzlDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdkQsSUFBSSxFQUFFLE1BQU07WUFDWixPQUFPLEVBQUUsMEJBQTBCO1lBQ25DLEdBQUcsSUFBSTtTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBbklVLGNBQWMsOElBTUgsV0FBVzs0R0FOdEIsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBTzdCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IFNvY2lhbEVycm9yQ29kZXMgfSBmcm9tICcuLi9zb2NpYWwuZXJyb3JzJztcbmltcG9ydCB7IEdyYXBocWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9ncmFwaHFsL2dyYXBocWwuc2VydmljZSc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIsIFRvYXN0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJhc2VHcmFwaHFsU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvYmFzZS1ncmFwaHFsLXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQsIEVOVklST05NRU5UIH0gZnJvbSAnLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VGaWx0ZXIgfSBmcm9tICcuL21lc3NhZ2UubW9kZWwnO1xuaW1wb3J0IHsgTUlOSUZZX0VOVElUWV9GT1JfUE9EIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9yZWZlcmVudGlhbC5tb2RlbCc7XG5pbXBvcnQgeyBTaG93VG9hc3RPcHRpb25zLCBUb2FzdHMgfSBmcm9tICcuLi8uLi9zaGFyZWQvdG9hc3QvdG9hc3RzJztcbmltcG9ydCB7IE1lc3NhZ2VNb2RhbCwgTWVzc2FnZU1vZGFsT3B0aW9ucyB9IGZyb20gJy4vbWVzc2FnZS5tb2RhbCc7XG5pbXBvcnQgeyBQZXJzb25GcmFnbWVudHMgfSBmcm9tICcuLi8uLi9hZG1pbi91c2Vycy9wZXJzb24uc2VydmljZSc7XG5pbXBvcnQgeyBPbWl0RnVuY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuXG5jb25zdCBNZXNzYWdlRnJhZ21lbnRzID0ge1xuICBtZXNzYWdlOiBncWxgXG4gICAgZnJhZ21lbnQgTWVzc2FnZUZyYWdtZW50IG9uIE1lc3NhZ2VWTyB7XG4gICAgICBpZFxuICAgICAgc3ViamVjdFxuICAgICAgYm9keVxuICAgICAgdHlwZVxuICAgICAgcmVjaXBpZW50IHtcbiAgICAgICAgLi4uTGlnaHRQZXJzb25GcmFnbWVudFxuICAgICAgfVxuICAgICAgcmVjaXBpZW50cyB7XG4gICAgICAgIC4uLkxpZ2h0UGVyc29uRnJhZ21lbnRcbiAgICAgIH1cbiAgICAgIHJlY2lwaWVudEZpbHRlciB7XG4gICAgICAgIC4uLlBlcnNvbkZpbHRlckZyYWdtZW50XG4gICAgICB9XG4gICAgICBpc3N1ZXIge1xuICAgICAgICAuLi5MaWdodFBlcnNvbkZyYWdtZW50XG4gICAgICB9XG4gICAgICBjcmVhdGlvbkRhdGVcbiAgICAgIHVwZGF0ZURhdGVcbiAgICB9XG4gIGAsXG59O1xuXG5jb25zdCBRdWVyaWVzID0ge1xuICBsb2FkOiBncWxgXG4gICAgbXV0YXRpb24gTG9hZE1lc3NhZ2UoJGlkOiBJbnQhKSB7XG4gICAgICBkYXRhOiBtZXNzYWdlKGlkOiAkaWQpIHtcbiAgICAgICAgLi4uTWVzc2FnZUZyYWdtZW50XG4gICAgICB9XG4gICAgfVxuICAgICR7TWVzc2FnZUZyYWdtZW50cy5tZXNzYWdlfVxuICAgICR7UGVyc29uRnJhZ21lbnRzLmxpZ2h0UGVyc29ufVxuICAgICR7UGVyc29uRnJhZ21lbnRzLnBlcnNvbkZpbHRlcn1cbiAgYCxcbn07XG5jb25zdCBNdXRhdGlvbnMgPSB7XG4gIHNlbmQ6IGdxbGBcbiAgICBtdXRhdGlvbiBTZW5kTWVzc2FnZSgkZGF0YTogTWVzc2FnZVZPSW5wdXQpIHtcbiAgICAgIGRvbmU6IHNlbmRNZXNzYWdlKG1lc3NhZ2U6ICRkYXRhKVxuICAgIH1cbiAgYCxcbiAgZGVsZXRlOiBncWxgXG4gICAgbXV0YXRpb24gRGVsZXRlTWVzc2FnZSgkaWQ6IEludCEpIHtcbiAgICAgIGRvbmU6IGRlbGV0ZU1lc3NhZ2UoaWQ6ICRpZClcbiAgICB9XG4gIGAsXG59O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VTZXJ2aWNlIGV4dGVuZHMgQmFzZUdyYXBocWxTZXJ2aWNlPE1lc3NhZ2UsIE1lc3NhZ2VGaWx0ZXI+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGdyYXBocWw6IEdyYXBocWxTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIG1vZGFsQ3RybDogTW9kYWxDb250cm9sbGVyLFxuICAgIHByb3RlY3RlZCB0b2FzdENvbnRyb2xsZXI6IFRvYXN0Q29udHJvbGxlcixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEVOVklST05NRU5UKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50XG4gICkge1xuICAgIHN1cGVyKGdyYXBocWwsIGVudmlyb25tZW50KTtcblxuICAgIC8vIEZvciBERVYgb25seVxuICAgIHRoaXMuX2RlYnVnID0gIWVudmlyb25tZW50LnByb2R1Y3Rpb247XG4gIH1cblxuICAvKipcbiAgICogU2VuZCBhIG1lc3NhZ2UgdG8gcmVjaXBpZW50KHMpXG4gICAqXG4gICAqIEBwYXJhbSBlbnRpdHlcbiAgICogQHBhcmFtIG9wdHNcbiAgICovXG4gIGFzeW5jIHNlbmQoZW50aXR5OiBNZXNzYWdlLCBvcHRzPzogeyBzaG93VG9hc3Q/OiBib29sZWFuIH0pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAvLyBUcmFuc2Zvcm0gaW50byBqc29uXG4gICAgY29uc3QgZGF0YSA9IGVudGl0eS5hc09iamVjdChNSU5JRllfRU5USVRZX0ZPUl9QT0QpO1xuXG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoYFttZXNzYWdlLXNlcnZpY2VdIFNlbmRpbmcgbWVzc2FnZS4uLmApO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgZG9uZSB9ID0gYXdhaXQgdGhpcy5ncmFwaHFsLm11dGF0ZTx7IGRvbmU6IGJvb2xlYW4gfT4oe1xuICAgICAgICBtdXRhdGlvbjogTXV0YXRpb25zLnNlbmQsXG4gICAgICAgIHZhcmlhYmxlczogeyBkYXRhIH0sXG4gICAgICAgIGVycm9yOiB7IGNvZGU6IFNvY2lhbEVycm9yQ29kZXMuU0VORF9NRVNTQUdFX0VSUk9SLCBtZXNzYWdlOiAnU09DSUFMLkVSUk9SLlNFTkRfTUVTU0FHRV9FUlJPUicgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoYFttZXNzYWdlLXNlcnZpY2VdIFNlbmQgbWVzc2FnZSBbT0tdIGluICR7RGF0ZS5ub3coKSAtIG5vd31tc2ApO1xuXG4gICAgICBpZiAoZG9uZSAmJiAoIW9wdHMgfHwgb3B0cy5zaG93VG9hc3QgIT09IGZhbHNlKSkge1xuICAgICAgICBhd2FpdCB0aGlzLnNob3dUb2FzdCh7IHR5cGU6ICdpbmZvJywgbWVzc2FnZTogJ1NPQ0lBTC5JTkZPLk1FU1NBR0VfU0VOVCcgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZG9uZTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gKGVyciAmJiBlcnIubWVzc2FnZSkgfHwgZXJyO1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgIC8vIFNob3cgZXJyb3JcbiAgICAgIGlmICghb3B0cyB8fCBvcHRzLnNob3dUb2FzdCAhPT0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGVycm9yIHx8ICdTT0NJQUwuRVJST1IuU0VORF9NRVNTQUdFX0VSUk9SJztcbiAgICAgICAgYXdhaXQgdGhpcy5zaG93VG9hc3QoeyB0eXBlOiAnZXJyb3InLCBtZXNzYWdlIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgYSBtZXNzYWdlIGJ5IElEXG4gICAqXG4gICAqIEBwYXJhbSBpZFxuICAgKiBAcGFyYW0gb3B0c1xuICAgKi9cbiAgYXN5bmMgZGVsZXRlKGlkOiBudW1iZXIsIG9wdHM/OiB7IHNob3dUb2FzdD86IGJvb2xlYW4gfSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKGBbbWVzc2FnZS1zZXJ2aWNlXSBEZWxldGluZyBtZXNzYWdlICMke2lkfS4uLmApO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgZG9uZSB9ID0gYXdhaXQgdGhpcy5ncmFwaHFsLm11dGF0ZTx7IGRvbmU6IGJvb2xlYW4gfT4oe1xuICAgICAgICBtdXRhdGlvbjogTXV0YXRpb25zLmRlbGV0ZSxcbiAgICAgICAgdmFyaWFibGVzOiB7IGlkIH0sXG4gICAgICAgIGVycm9yOiB7IGNvZGU6IFNvY2lhbEVycm9yQ29kZXMuREVMRVRFX01FU1NBR0VfRVJST1IsIG1lc3NhZ2U6ICdTT0NJQUwuRVJST1IuREVMRVRFX01FU1NBR0VfRVJST1InIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKGBbbWVzc2FnZS1zZXJ2aWNlXSBEZWxldGUgbWVzc2FnZSBbT0tdIGluICR7RGF0ZS5ub3coKSAtIG5vd31tc2ApO1xuXG4gICAgICBpZiAoZG9uZSAmJiAoIW9wdHMgfHwgb3B0cy5zaG93VG9hc3QgIT09IGZhbHNlKSkge1xuICAgICAgICBhd2FpdCB0aGlzLnNob3dUb2FzdCh7IHR5cGU6ICdpbmZvJywgbWVzc2FnZTogJ1NPQ0lBTC5JTkZPLk1FU1NBR0VfREVMRVRFRCcgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZG9uZTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gKGVyciAmJiBlcnIubWVzc2FnZSkgfHwgZXJyO1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgIC8vIFNob3cgZXJyb3JcbiAgICAgIGlmICghb3B0cyB8fCBvcHRzLnNob3dUb2FzdCAhPT0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGVycm9yIHx8ICdTT0NJQUwuRVJST1IuREVMRVRFX01FU1NBR0VfRVJST1InO1xuICAgICAgICBhd2FpdCB0aGlzLnNob3dUb2FzdCh7IHR5cGU6ICdlcnJvcicsIG1lc3NhZ2UgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgb3BlbkNvbXBvc2VNb2RhbChvcHRpb25zOiBNZXNzYWdlTW9kYWxPcHRpb25zICYgeyBzaG93VG9hc3Q/OiBib29sZWFuIH0pOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IGhhc1RvcE1vZGFsID0gISEoYXdhaXQgdGhpcy5tb2RhbEN0cmwuZ2V0VG9wKCkpO1xuICAgIGNvbnN0IG1vZGFsID0gYXdhaXQgdGhpcy5tb2RhbEN0cmwuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogTWVzc2FnZU1vZGFsLFxuICAgICAgY29tcG9uZW50UHJvcHM6IG9wdGlvbnMsXG4gICAgICBjc3NDbGFzczogaGFzVG9wTW9kYWwgJiYgJ3N0YWNrLW1vZGFsJyxcbiAgICB9KTtcblxuICAgIC8vIE9wZW4gdGhlIG1vZGFsXG4gICAgYXdhaXQgbW9kYWwucHJlc2VudCgpO1xuXG4gICAgLy8gT24gZGlzbWlzc1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgbW9kYWwub25EaWREaXNtaXNzKCk7XG4gICAgaWYgKCFkYXRhIHx8ICEoZGF0YSBpbnN0YW5jZW9mIE1lc3NhZ2UpKSByZXR1cm4gdHJ1ZTsgLy8gQ0FOQ0VMTEVEXG5cbiAgICAvLyBTZW5kIG1lc3NhZ2VcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5zZW5kKGRhdGEsIHsgc2hvd1RvYXN0OiBvcHRpb25zPy5zaG93VG9hc3QgfSk7XG4gIH1cblxuICBhc3luYyBsb2FkKGlkOiBudW1iZXIsIG9wdHM/OiB7IHRvRW50aXR5PzogYm9vbGVhbiB9KTogUHJvbWlzZTxNZXNzYWdlPiB7XG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB0aGlzLmdyYXBocWwucXVlcnk8eyBkYXRhOiBPbWl0RnVuY3Rpb25zPE1lc3NhZ2U+IH0+KHtcbiAgICAgIHF1ZXJ5OiBRdWVyaWVzLmxvYWQsXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaWQsXG4gICAgICB9LFxuICAgICAgZmV0Y2hQb2xpY3k6ICduby1jYWNoZScsXG4gICAgfSk7XG4gICAgY29uc3QgZW50aXR5ID0gb3B0cz8udG9FbnRpdHkgIT09IGZhbHNlID8gTWVzc2FnZS5mcm9tT2JqZWN0KGRhdGEpIDogKGRhdGEgYXMgTWVzc2FnZSk7XG5cbiAgICBjb25zb2xlLmRlYnVnKGBbbWVzc2FnZS1zZXJ2aWNlXSBMb2FkZWQgbWVzc2FnZSAjJHtpZH06YCwgZW50aXR5KTtcblxuICAgIHJldHVybiBlbnRpdHk7XG4gIH1cblxuICAvKiAtLSBwcm90ZWN0ZWQgbWV0aG9kcyAtLSAqL1xuXG4gIHByb3RlY3RlZCBhc3luYyBzaG93VG9hc3Qob3B0czogU2hvd1RvYXN0T3B0aW9ucykge1xuICAgIHJldHVybiBUb2FzdHMuc2hvdyh0aGlzLnRvYXN0Q29udHJvbGxlciwgdGhpcy50cmFuc2xhdGUsIHtcbiAgICAgIHR5cGU6ICdpbmZvJyxcbiAgICAgIG1lc3NhZ2U6ICdTT0NJQUwuSU5GTy5NRVNTQUdFX1NFTlQnLFxuICAgICAgLi4ub3B0cyxcbiAgICB9KTtcbiAgfVxufVxuIl19