@entake/particle 18.0.3 → 18.0.5

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.
@@ -2,7 +2,7 @@ import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { ParticleTooltipModule } from '../tooltip/tooltip.module';
4
4
  import { ParticleIconsRegular } from './models/particle-icons-regular.model';
5
- import { ParticleIconsLight } from './models/particle-icons-light.model';
5
+ import { ParticleIconsBrand } from './models/particle-icons-brands.model';
6
6
  import { ParticleIconsSolid } from './models/particle-icons-solid.model';
7
7
  import { IconSelectComponent } from './components/icon-select.component';
8
8
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
@@ -19,7 +19,7 @@ export class ParticleIconsModule {
19
19
  if (!FontAwesome) {
20
20
  return;
21
21
  }
22
- for (const icon of ParticleIconsLight.icons) {
22
+ for (const icon of ParticleIconsBrand.icons) {
23
23
  FontAwesome.library.add(icon);
24
24
  }
25
25
  for (const icon of ParticleIconsRegular.icons) {
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
63
63
  providers: [IconsService]
64
64
  }]
65
65
  }], ctorParameters: () => [] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljbGUtaWNvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ljb25zL3BhcnRpY2xlLWljb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDOztBQUVwRjs7R0FFRztBQUNILE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxhQUFvQixDQUFRLENBQUM7QUFtQnhELE1BQU0sT0FBTyxtQkFBbUI7SUFFOUI7UUFDRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsT0FBTztRQUNULENBQUM7UUFFRCxLQUFLLE1BQU0sSUFBSSxJQUFJLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxLQUFLLE1BQU0sSUFBSSxJQUFJLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxLQUFLLE1BQU0sSUFBSSxJQUFJLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO3VHQWxCVSxtQkFBbUI7d0dBQW5CLG1CQUFtQixpQkFmNUIsbUJBQW1CLGFBR25CLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQixvQkFBb0I7WUFDcEIsMkJBQTJCLGFBRzNCLG1CQUFtQjt3R0FJVixtQkFBbUIsYUFGbkIsQ0FBQyxZQUFZLENBQUMsWUFWdkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIscUJBQXFCO1lBQ3JCLG9CQUFvQjtZQUNwQiwyQkFBMkI7OzJGQU9sQixtQkFBbUI7a0JBakIvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1BhcnRpY2xlVG9vbHRpcE1vZHVsZX0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XHJcbmltcG9ydCB7UGFydGljbGVJY29uc1JlZ3VsYXJ9IGZyb20gJy4vbW9kZWxzL3BhcnRpY2xlLWljb25zLXJlZ3VsYXIubW9kZWwnO1xyXG5pbXBvcnQge1BhcnRpY2xlSWNvbnNMaWdodH0gZnJvbSAnLi9tb2RlbHMvcGFydGljbGUtaWNvbnMtbGlnaHQubW9kZWwnO1xyXG5pbXBvcnQge1BhcnRpY2xlSWNvbnNTb2xpZH0gZnJvbSAnLi9tb2RlbHMvcGFydGljbGUtaWNvbnMtc29saWQubW9kZWwnO1xyXG5pbXBvcnQge0ljb25TZWxlY3RDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9pY29uLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7UGFydGljbGVEaWFsb2dNb2R1bGV9IGZyb20gJy4uL2RpYWxvZy9kaWFsb2cubW9kdWxlJztcclxuaW1wb3J0IHtJY29uc1NlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvaWNvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7UGFydGljbGVFbmRwb2ludFN0YXRlTW9kdWxlfSBmcm9tICcuLi9lbmRwb2ludC1zdGF0ZS9lbmRwb2ludC1zdGF0ZS5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIFJlZmVyZW5jZSB0byB0aGUgRm9udCBBd2Vzb21lIHZhcmlhYmxlIHRvIGFkZCBpY29uc1xyXG4gKi9cclxuY29uc3QgRm9udEF3ZXNvbWUgPSB3aW5kb3dbJ0ZvbnRBd2Vzb21lJyBhcyBhbnldIGFzIGFueTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBJY29uU2VsZWN0Q29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBQYXJ0aWNsZVRvb2x0aXBNb2R1bGUsXHJcbiAgICBQYXJ0aWNsZURpYWxvZ01vZHVsZSxcclxuICAgIFBhcnRpY2xlRW5kcG9pbnRTdGF0ZU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgSWNvblNlbGVjdENvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbSWNvbnNTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFydGljbGVJY29uc01vZHVsZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgaWYgKCFGb250QXdlc29tZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBpY29uIG9mIFBhcnRpY2xlSWNvbnNMaWdodC5pY29ucykge1xyXG4gICAgICBGb250QXdlc29tZS5saWJyYXJ5LmFkZChpY29uKTtcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGNvbnN0IGljb24gb2YgUGFydGljbGVJY29uc1JlZ3VsYXIuaWNvbnMpIHtcclxuICAgICAgRm9udEF3ZXNvbWUubGlicmFyeS5hZGQoaWNvbik7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBpY29uIG9mIFBhcnRpY2xlSWNvbnNTb2xpZC5pY29ucykge1xyXG4gICAgICBGb250QXdlc29tZS5saWJyYXJ5LmFkZChpY29uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljbGUtaWNvbnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ljb25zL3BhcnRpY2xlLWljb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDOztBQUVwRjs7R0FFRztBQUNILE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxhQUFvQixDQUFRLENBQUM7QUFtQnhELE1BQU0sT0FBTyxtQkFBbUI7SUFFOUI7UUFDRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsT0FBTztRQUNULENBQUM7UUFFRCxLQUFLLE1BQU0sSUFBSSxJQUFJLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxLQUFLLE1BQU0sSUFBSSxJQUFJLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxLQUFLLE1BQU0sSUFBSSxJQUFJLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO3VHQWxCVSxtQkFBbUI7d0dBQW5CLG1CQUFtQixpQkFmNUIsbUJBQW1CLGFBR25CLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQixvQkFBb0I7WUFDcEIsMkJBQTJCLGFBRzNCLG1CQUFtQjt3R0FJVixtQkFBbUIsYUFGbkIsQ0FBQyxZQUFZLENBQUMsWUFWdkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIscUJBQXFCO1lBQ3JCLG9CQUFvQjtZQUNwQiwyQkFBMkI7OzJGQU9sQixtQkFBbUI7a0JBakIvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1BhcnRpY2xlVG9vbHRpcE1vZHVsZX0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XHJcbmltcG9ydCB7UGFydGljbGVJY29uc1JlZ3VsYXJ9IGZyb20gJy4vbW9kZWxzL3BhcnRpY2xlLWljb25zLXJlZ3VsYXIubW9kZWwnO1xyXG5pbXBvcnQge1BhcnRpY2xlSWNvbnNCcmFuZH0gZnJvbSAnLi9tb2RlbHMvcGFydGljbGUtaWNvbnMtYnJhbmRzLm1vZGVsJztcclxuaW1wb3J0IHtQYXJ0aWNsZUljb25zU29saWR9IGZyb20gJy4vbW9kZWxzL3BhcnRpY2xlLWljb25zLXNvbGlkLm1vZGVsJztcclxuaW1wb3J0IHtJY29uU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvaWNvbi1zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1BhcnRpY2xlRGlhbG9nTW9kdWxlfSBmcm9tICcuLi9kaWFsb2cvZGlhbG9nLm1vZHVsZSc7XHJcbmltcG9ydCB7SWNvbnNTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL2ljb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQge1BhcnRpY2xlRW5kcG9pbnRTdGF0ZU1vZHVsZX0gZnJvbSAnLi4vZW5kcG9pbnQtc3RhdGUvZW5kcG9pbnQtc3RhdGUubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBSZWZlcmVuY2UgdG8gdGhlIEZvbnQgQXdlc29tZSB2YXJpYWJsZSB0byBhZGQgaWNvbnNcclxuICovXHJcbmNvbnN0IEZvbnRBd2Vzb21lID0gd2luZG93WydGb250QXdlc29tZScgYXMgYW55XSBhcyBhbnk7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgSWNvblNlbGVjdENvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUGFydGljbGVUb29sdGlwTW9kdWxlLFxyXG4gICAgUGFydGljbGVEaWFsb2dNb2R1bGUsXHJcbiAgICBQYXJ0aWNsZUVuZHBvaW50U3RhdGVNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEljb25TZWxlY3RDb21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW0ljb25zU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhcnRpY2xlSWNvbnNNb2R1bGUge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGlmICghRm9udEF3ZXNvbWUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgaWNvbiBvZiBQYXJ0aWNsZUljb25zQnJhbmQuaWNvbnMpIHtcclxuICAgICAgRm9udEF3ZXNvbWUubGlicmFyeS5hZGQoaWNvbik7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBpY29uIG9mIFBhcnRpY2xlSWNvbnNSZWd1bGFyLmljb25zKSB7XHJcbiAgICAgIEZvbnRBd2Vzb21lLmxpYnJhcnkuYWRkKGljb24pO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgaWNvbiBvZiBQYXJ0aWNsZUljb25zU29saWQuaWNvbnMpIHtcclxuICAgICAgRm9udEF3ZXNvbWUubGlicmFyeS5hZGQoaWNvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
2
2
  import { FontawesomeIconsBrands } from '../models/fontawesome-icons-brands.model';
3
3
  import { FontawesomeIconsRegular } from '../models/fontawesome-icons-regular.model';
4
4
  import { FontawesomeIconsSolid } from '../models/fontawesome-icons-solid.model';
5
- import { ParticleIconsLight } from '../models/particle-icons-light.model';
5
+ import { ParticleIconsBrand } from '../models/particle-icons-brands.model';
6
6
  import { ParticleIconsRegular } from '../models/particle-icons-regular.model';
7
7
  import { ParticleIconsSolid } from '../models/particle-icons-solid.model';
8
8
  import * as i0 from "@angular/core";
@@ -41,15 +41,11 @@ export class IconsService {
41
41
  if (filter === 'all' || filter === 'regular') {
42
42
  icons.push(...ParticleIconsRegular.icons.map(icon => ({ prefix: icon.prefix, name: `fa-${icon.iconName}` })));
43
43
  }
44
- if (filter === 'all' || filter === 'light') {
45
- icons.push(...ParticleIconsLight.icons.map(icon => ({ prefix: icon.prefix, name: `fa-${icon.iconName}` })));
44
+ if (filter === 'all' || filter === 'brands') {
45
+ icons.push(...ParticleIconsBrand.icons.map(icon => ({ prefix: icon.prefix, name: `fa-${icon.iconName}` })));
46
46
  }
47
47
  return icons;
48
48
  }
49
- /**
50
- * Constructor
51
- */
52
- constructor() { }
53
49
  /**
54
50
  * Get a list of icons (as strings) containing both Particle icons
55
51
  * and Fontawesome icons that match their respective filter criteria
@@ -82,5 +78,5 @@ export class IconsService {
82
78
  }
83
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: IconsService, decorators: [{
84
80
  type: Injectable
85
- }], ctorParameters: () => [] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9pY29ucy9zZXJ2aWNlcy9pY29ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBWTFFOztHQUVHO0FBRUgsTUFBTSxPQUFPLFlBQVk7SUFFdkI7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFtQztRQUNwRSxNQUFNLEtBQUssR0FBNEMsRUFBRSxDQUFDO1FBRTFELElBQUksTUFBTSxLQUFLLEtBQUssSUFBSSxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDM0MsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakgsQ0FBQztRQUVELElBQUksTUFBTSxLQUFLLEtBQUssSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0MsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLHVC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LENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFELElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO3VHQXpGVSxZQUFZOzJHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb250YXdlc29tZUljb25zQnJhbmRzIH0gZnJvbSAnLi4vbW9kZWxzL2ZvbnRhd2Vzb21lLWljb25zLWJyYW5kcy5tb2RlbCc7XG5pbXBvcnQgeyBGb250YXdlc29tZUljb25zUmVndWxhciB9IGZyb20gJy4uL21vZGVscy9mb250YXdlc29tZS1pY29ucy1yZWd1bGFyLm1vZGVsJztcbmltcG9ydCB7IEZvbnRhd2Vzb21lSWNvbnNTb2xpZCB9IGZyb20gJy4uL21vZGVscy9mb250YXdlc29tZS1pY29ucy1zb2xpZC5tb2RlbCc7XG5pbXBvcnQgeyBQYXJ0aWNsZUljb25zTGlnaHQgfSBmcm9tICcuLi9tb2RlbHMvcGFydGljbGUtaWNvbnMtbGlnaHQubW9kZWwnO1xuaW1wb3J0IHsgUGFydGljbGVJY29uc1JlZ3VsYXIgfSBmcm9tICcuLi9tb2RlbHMvcGFydGljbGUtaWNvbnMtcmVndWxhci5tb2RlbCc7XG5pbXBvcnQgeyBQYXJ0aWNsZUljb25zU29saWQgfSBmcm9tICcuLi9tb2RlbHMvcGFydGljbGUtaWNvbnMtc29saWQubW9kZWwnO1xuXG4vKipcbiAqIFR5cGUgcmVwcmVzZW50aW5nIHRoZSBhdmFpbGFibGUgUGFydGljbGUgaWNvbiBmaWx0ZXIgb3B0aW9uc1xuICovXG5kZWNsYXJlIHR5cGUgUGFydGljbGVJY29uRmlsdGVyT3B0aW9uID0gJ2FsbCcgfCAnc29saWQnIHwgJ3JlZ3VsYXInIHwgJ2xpZ2h0JztcblxuLyoqXG4gKiBUeXBlIHJlcHJlc2VudGluZyB0aGUgYXZhaWxhYmxlIEZvbnRhd2Vzb21lIGljb24gZmlsdGVyIG9wdGlvbnNcbiAqL1xuZGVjbGFyZSB0eXBlIEZvbnRhd2Vzb21lSWNvbkZpbHRlck9wdGlvbiA9ICdhbGwnIHwgJ3NvbGlkJyB8ICdyZWd1bGFyJyB8ICdicmFuZHMnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIGZpbHRlcmluZyBQYXJ0aWNsZS9Gb250YXdlc29tZSBpY29uc1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSWNvbnNTZXJ2aWNlIHtcblxuICAvKipcbiAgICogR2V0IEZvbnRhd2Vzb21lIGljb25zIGZpbHRlcmVkIGJ5IGljb24gdHlwZVxuICAgKiBAcGFyYW0gZmlsdGVyIHRoZSBpY29uIHR5cGUgdG8gZmlsdGVyIGJ5XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXRGb250YXdlc29tZUljb25zKGZpbHRlcjogRm9udGF3ZXNvbWVJY29uRmlsdGVyT3B0aW9uKTogQXJyYXk8eyBwcmVmaXg6IHN0cmluZywgbmFtZTogc3RyaW5nIH0+IHtcbiAgICBjb25zdCBpY29uczogQXJyYXk8eyBwcmVmaXg6IHN0cmluZywgbmFtZTogc3RyaW5nIH0+ID0gW107XG5cbiAgICBpZiAoZmlsdGVyID09PSAnYWxsJyB8fCBmaWx0ZXIgPT09ICdzb2xpZCcpIHtcbiAgICAgIGljb25zLnB1c2goLi4uRm9udGF3ZXNvbWVJY29uc1NvbGlkLklDT05TLm1hcChpY29uID0+ICh7IHByZWZpeDogRm9udGF3ZXNvbWVJY29uc1NvbGlkLlBSRUZJWCwgbmFtZTogaWNvbiB9KSkpO1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXIgPT09ICdhbGwnIHx8IGZpbHRlciA9PT0gJ3JlZ3VsYXInKSB7XG4gICAgICBpY29ucy5wdXNoKC4uLkZvbnRhd2Vzb21lSWNvbnNSZWd1bGFyLklDT05TLm1hcChpY29uID0+ICh7IHByZWZpeDogRm9udGF3ZXNvbWVJY29uc1JlZ3VsYXIuUFJFRklYLCBuYW1lOiBpY29uIH0pKSk7XG4gICAgfVxuXG4gICAgaWYgKGZpbHRlciA9PT0gJ2FsbCcgfHwgZmlsdGVyID09PSAnYnJhbmRzJykge1xuICAgICAgaWNvbnMucHVzaCguLi5Gb250YXdlc29tZUljb25zQnJhbmRzLklDT05TLm1hcChpY29uID0+ICh7IHByZWZpeDogRm9udGF3ZXNvbWVJY29uc0JyYW5kcy5QUkVGSVgsIG5hbWU6IGljb24gfSkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaWNvbnM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IFBhcnRpY2xlIGljb25zIGZpbHRlcmVkIGJ5IGljb24gdHlwZVxuICAgKiBAcGFyYW0gZmlsdGVyIHRoZSBpY29uIHR5cGUgdG8gZmlsdGVyIGJ5XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXRQYXJ0aWNsZUljb25zKGZpbHRlcjogUGFydGljbGVJY29uRmlsdGVyT3B0aW9uKTogQXJyYXk8eyBwcmVmaXg6IHN0cmluZywgbmFtZTogc3RyaW5nIH0+IHtcbiAgICBjb25zdCBpY29uczogQXJyYXk8eyBwcmVmaXg6IHN0cmluZywgbmFtZTogc3RyaW5nIH0+ID0gW107XG5cbiAgICBpZiAoZmlsdGVyID09PSAnYWxsJyB8fCBmaWx0ZXIgPT09ICdzb2xpZCcpIHtcbiAgICAgIGljb25zLnB1c2goLi4uUGFydGljbGVJY29uc1NvbGlkLmljb25zLm1hcChpY29uID0+ICh7IHByZWZpeDogaWNvbi5wcmVmaXgsIG5hbWU6IGBmYS0ke2ljb24uaWNvbk5hbWV9YCB9KSkpO1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXIgPT09ICdhbGwnIHx8IGZpbHRlciA9PT0gJ3JlZ3VsYXInKSB7XG4gICAgICBpY29ucy5wdXNoKC4uLlBhcnRpY2xlSWNvbnNSZWd1bGFyLmljb25zLm1hcChpY29uID0+ICh7IHByZWZpeDogaWNvbi5wcmVmaXgsIG5hbWU6IGBmYS0ke2ljb24uaWNvbk5hbWV9YCB9KSkpO1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXIgPT09ICdhbGwnIHx8IGZpbHRlciA9PT0gJ2xpZ2h0Jykge1xuICAgICAgaWNvbnMucHVzaCguLi5QYXJ0aWNsZUljb25zTGlnaHQuaWNvbnMubWFwKGljb24gPT4gKHsgcHJlZml4OiBpY29uLnByZWZpeCwgbmFtZTogYGZhLSR7aWNvbi5pY29uTmFtZX1gIH0pKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGljb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBsaXN0IG9mIGljb25zIChhcyBzdHJpbmdzKSBjb250YWluaW5nIGJvdGggUGFydGljbGUgaWNvbnNcbiAgICogYW5kIEZvbnRhd2Vzb21lIGljb25zIHRoYXQgbWF0Y2ggdGhlaXIgcmVzcGVjdGl2ZSBmaWx0ZXIgY3JpdGVyaWFcbiAgICogQHBhcmFtIGljb25UeXBlIHRoZSB0eXBlIG9mIGljb24sIG9yIGFsbCBpY29uc1xuICAgKiBAcGFyYW0gZmlsdGVyIHRoZSBpY29uIHN0eWxpbmcgdG8gZmlsdGVyIGJ5XG4gICAqIEBwYXJhbSBzZWFyY2hUZXh0IHRoZSBzZWFyY2ggdGV4dCB0byBmaWx0ZXIgaWNvbnMgYnlcbiAgICovXG4gIGdldEljb25zKFxuICAgIGljb25UeXBlOiAnYWxsJyB8ICdwYXJ0aWNsZScgfCAnZm9udGF3ZXNvbWUnLFxuICAgIGZpbHRlcjogUGFydGljbGVJY29uRmlsdGVyT3B0aW9uIHwgRm9udGF3ZXNvbWVJY29uRmlsdGVyT3B0aW9uLFxuICAgIHNlYXJjaFRleHQgPSAnJ1xuICApOiBBcnJheTx7IHByZWZpeDogc3RyaW5nLCBuYW1lOiBzdHJpbmcgfT4ge1xuICAgIGxldCBpY29uczogQXJyYXk8eyBwcmVmaXg6IHN0cmluZywgbmFtZTogc3RyaW5nIH0+ID0gW107XG5cbiAgICBpZiAoaWNvblR5cGUgPT09ICdhbGwnIHx8IGljb25UeXBlID09PSAncGFydGljbGUnKSB7XG4gICAgICBjb25zdCBwYXJ0aWNsZUljb25zID0gSWNvbnNTZXJ2aWNlLmdldFBhcnRpY2xlSWNvbnMoZmlsdGVyIGFzIFBhcnRpY2xlSWNvbkZpbHRlck9wdGlvbik7XG5cbiAgICAgIGlmIChwYXJ0aWNsZUljb25zLmxlbmd0aCkge1xuICAgICAgICBpY29ucy5wdXNoKC4uLnBhcnRpY2xlSWNvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpY29uVHlwZSA9PT0gJ2FsbCcgfHwgaWNvblR5cGUgPT09ICdmb250YXdlc29tZScpIHtcbiAgICAgIGNvbnN0IGZvbnRhd2Vzb21lSWNvbnMgPSBJY29uc1NlcnZpY2UuZ2V0Rm9udGF3ZXNvbWVJY29ucyhmaWx0ZXIgYXMgRm9udGF3ZXNvbWVJY29uRmlsdGVyT3B0aW9uKTtcblxuICAgICAgaWYgKGZvbnRhd2Vzb21lSWNvbnMubGVuZ3RoKSB7XG4gICAgICAgIGljb25zLnB1c2goLi4uZm9udGF3ZXNvbWVJY29ucyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgdHJpbW1lZFNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmICh0cmltbWVkU2VhcmNoVGV4dCkge1xuICAgICAgaWNvbnMgPSBpY29ucy5maWx0ZXIoaWNvbiA9PiBpY29uLm5hbWUuaW5jbHVkZXModHJpbW1lZFNlYXJjaFRleHQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaWNvbnM7XG4gIH1cbn1cbiJdfQ==
81
+ }] });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9pY29ucy9zZXJ2aWNlcy9pY29ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBWTFFOztHQUVHO0FBRUgsTUFBTSxPQUFPLFlBQVk7SUFFdkI7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFtQztRQUNwRSxNQUFNLEtBQUssR0FBNEMsRUFBRSxDQUFDO1FBRTFELElBQUksTUFBTSxLQUFLLEtBQUssSUFBSSxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDM0MsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakgsQ0FBQztRQUVELElBQUksTUFBTSxLQUFLLEtBQUssSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0MsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLHVC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QUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxRCxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt1R0FwRlUsWUFBWTsyR0FBWixZQUFZOzsyRkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9udGF3ZXNvbWVJY29uc0JyYW5kcyB9IGZyb20gJy4uL21vZGVscy9mb250YXdlc29tZS1pY29ucy1icmFuZHMubW9kZWwnO1xuaW1wb3J0IHsgRm9udGF3ZXNvbWVJY29uc1JlZ3VsYXIgfSBmcm9tICcuLi9tb2RlbHMvZm9udGF3ZXNvbWUtaWNvbnMtcmVndWxhci5tb2RlbCc7XG5pbXBvcnQgeyBGb250YXdlc29tZUljb25zU29saWQgfSBmcm9tICcuLi9tb2RlbHMvZm9udGF3ZXNvbWUtaWNvbnMtc29saWQubW9kZWwnO1xuaW1wb3J0IHsgUGFydGljbGVJY29uc0JyYW5kIH0gZnJvbSAnLi4vbW9kZWxzL3BhcnRpY2xlLWljb25zLWJyYW5kcy5tb2RlbCc7XG5pbXBvcnQgeyBQYXJ0aWNsZUljb25zUmVndWxhciB9IGZyb20gJy4uL21vZGVscy9wYXJ0aWNsZS1pY29ucy1yZWd1bGFyLm1vZGVsJztcbmltcG9ydCB7IFBhcnRpY2xlSWNvbnNTb2xpZCB9IGZyb20gJy4uL21vZGVscy9wYXJ0aWNsZS1pY29ucy1zb2xpZC5tb2RlbCc7XG5cbi8qKlxuICogVHlwZSByZXByZXNlbnRpbmcgdGhlIGF2YWlsYWJsZSBQYXJ0aWNsZSBpY29uIGZpbHRlciBvcHRpb25zXG4gKi9cbmRlY2xhcmUgdHlwZSBQYXJ0aWNsZUljb25GaWx0ZXJPcHRpb24gPSAnYWxsJyB8ICdzb2xpZCcgfCAncmVndWxhcicgfCAnYnJhbmRzJztcblxuLyoqXG4gKiBUeXBlIHJlcHJlc2VudGluZyB0aGUgYXZhaWxhYmxlIEZvbnRhd2Vzb21lIGljb24gZmlsdGVyIG9wdGlvbnNcbiAqL1xuZGVjbGFyZSB0eXBlIEZvbnRhd2Vzb21lSWNvbkZpbHRlck9wdGlvbiA9ICdhbGwnIHwgJ3NvbGlkJyB8ICdyZWd1bGFyJyB8ICdicmFuZHMnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIGZpbHRlcmluZyBQYXJ0aWNsZS9Gb250YXdlc29tZSBpY29uc1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSWNvbnNTZXJ2aWNlIHtcblxuICAvKipcbiAgICogR2V0IEZvbnRhd2Vzb21lIGljb25zIGZpbHRlcmVkIGJ5IGljb24gdHlwZVxuICAgKiBAcGFyYW0gZmlsdGVyIHRoZSBpY29uIHR5cGUgdG8gZmlsdGVyIGJ5XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXRGb250YXdlc29tZUljb25zKGZpbHRlcjogRm9udGF3ZXNvbWVJY29uRmlsdGVyT3B0aW9uKTogQXJyYXk8eyBwcmVmaXg6IHN0cmluZywgbmFtZTogc3RyaW5nIH0+IHtcbiAgICBjb25zdCBpY29uczogQXJyYXk8eyBwcmVmaXg6IHN0cmluZywgbmFtZTogc3RyaW5nIH0+ID0gW107XG5cbiAgICBpZiAoZmlsdGVyID09PSAnYWxsJyB8fCBmaWx0ZXIgPT09ICdzb2xpZCcpIHtcbiAgICAgIGljb25zLnB1c2goLi4uRm9udGF3ZXNvbWVJY29uc1NvbGlkLklDT05TLm1hcChpY29uID0+ICh7IHByZWZpeDogRm9udGF3ZXNvbWVJY29uc1NvbGlkLlBSRUZJWCwgbmFtZTogaWNvbiB9KSkpO1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXIgPT09ICdhbGwnIHx8IGZpbHRlciA9PT0gJ3JlZ3VsYXInKSB7XG4gICAgICBpY29ucy5wdXNoKC4uLkZvbnRhd2Vzb21lSWNvbnNSZWd1bGFyLklDT05TLm1hcChpY29uID0+ICh7IHByZWZpeDogRm9udGF3ZXNvbWVJY29uc1JlZ3VsYXIuUFJFRklYLCBuYW1lOiBpY29uIH0pKSk7XG4gICAgfVxuXG4gICAgaWYgKGZpbHRlciA9PT0gJ2FsbCcgfHwgZmlsdGVyID09PSAnYnJhbmRzJykge1xuICAgICAgaWNvbnMucHVzaCguLi5Gb250YXdlc29tZUljb25zQnJhbmRzLklDT05TLm1hcChpY29uID0+ICh7IHByZWZpeDogRm9udGF3ZXNvbWVJY29uc0JyYW5kcy5QUkVGSVgsIG5hbWU6IGljb24gfSkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaWNvbnM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IFBhcnRpY2xlIGljb25zIGZpbHRlcmVkIGJ5IGljb24gdHlwZVxuICAgKiBAcGFyYW0gZmlsdGVyIHRoZSBpY29uIHR5cGUgdG8gZmlsdGVyIGJ5XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXRQYXJ0aWNsZUljb25zKGZpbHRlcjogUGFydGljbGVJY29uRmlsdGVyT3B0aW9uKTogQXJyYXk8eyBwcmVmaXg6IHN0cmluZywgbmFtZTogc3RyaW5nIH0+IHtcbiAgICBjb25zdCBpY29uczogQXJyYXk8eyBwcmVmaXg6IHN0cmluZywgbmFtZTogc3RyaW5nIH0+ID0gW107XG5cbiAgICBpZiAoZmlsdGVyID09PSAnYWxsJyB8fCBmaWx0ZXIgPT09ICdzb2xpZCcpIHtcbiAgICAgIGljb25zLnB1c2goLi4uUGFydGljbGVJY29uc1NvbGlkLmljb25zLm1hcChpY29uID0+ICh7IHByZWZpeDogaWNvbi5wcmVmaXgsIG5hbWU6IGBmYS0ke2ljb24uaWNvbk5hbWV9YCB9KSkpO1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXIgPT09ICdhbGwnIHx8IGZpbHRlciA9PT0gJ3JlZ3VsYXInKSB7XG4gICAgICBpY29ucy5wdXNoKC4uLlBhcnRpY2xlSWNvbnNSZWd1bGFyLmljb25zLm1hcChpY29uID0+ICh7IHByZWZpeDogaWNvbi5wcmVmaXgsIG5hbWU6IGBmYS0ke2ljb24uaWNvbk5hbWV9YCB9KSkpO1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXIgPT09ICdhbGwnIHx8IGZpbHRlciA9PT0gJ2JyYW5kcycpIHtcbiAgICAgIGljb25zLnB1c2goLi4uUGFydGljbGVJY29uc0JyYW5kLmljb25zLm1hcChpY29uID0+ICh7IHByZWZpeDogaWNvbi5wcmVmaXgsIG5hbWU6IGBmYS0ke2ljb24uaWNvbk5hbWV9YCB9KSkpO1xuICAgIH1cblxuICAgIHJldHVybiBpY29ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBsaXN0IG9mIGljb25zIChhcyBzdHJpbmdzKSBjb250YWluaW5nIGJvdGggUGFydGljbGUgaWNvbnNcbiAgICogYW5kIEZvbnRhd2Vzb21lIGljb25zIHRoYXQgbWF0Y2ggdGhlaXIgcmVzcGVjdGl2ZSBmaWx0ZXIgY3JpdGVyaWFcbiAgICogQHBhcmFtIGljb25UeXBlIHRoZSB0eXBlIG9mIGljb24sIG9yIGFsbCBpY29uc1xuICAgKiBAcGFyYW0gZmlsdGVyIHRoZSBpY29uIHN0eWxpbmcgdG8gZmlsdGVyIGJ5XG4gICAqIEBwYXJhbSBzZWFyY2hUZXh0IHRoZSBzZWFyY2ggdGV4dCB0byBmaWx0ZXIgaWNvbnMgYnlcbiAgICovXG4gIGdldEljb25zKFxuICAgIGljb25UeXBlOiAnYWxsJyB8ICdwYXJ0aWNsZScgfCAnZm9udGF3ZXNvbWUnLFxuICAgIGZpbHRlcjogUGFydGljbGVJY29uRmlsdGVyT3B0aW9uIHwgRm9udGF3ZXNvbWVJY29uRmlsdGVyT3B0aW9uLFxuICAgIHNlYXJjaFRleHQgPSAnJ1xuICApOiBBcnJheTx7IHByZWZpeDogc3RyaW5nLCBuYW1lOiBzdHJpbmcgfT4ge1xuICAgIGxldCBpY29uczogQXJyYXk8eyBwcmVmaXg6IHN0cmluZywgbmFtZTogc3RyaW5nIH0+ID0gW107XG5cbiAgICBpZiAoaWNvblR5cGUgPT09ICdhbGwnIHx8IGljb25UeXBlID09PSAncGFydGljbGUnKSB7XG4gICAgICBjb25zdCBwYXJ0aWNsZUljb25zID0gSWNvbnNTZXJ2aWNlLmdldFBhcnRpY2xlSWNvbnMoZmlsdGVyIGFzIFBhcnRpY2xlSWNvbkZpbHRlck9wdGlvbik7XG5cbiAgICAgIGlmIChwYXJ0aWNsZUljb25zLmxlbmd0aCkge1xuICAgICAgICBpY29ucy5wdXNoKC4uLnBhcnRpY2xlSWNvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpY29uVHlwZSA9PT0gJ2FsbCcgfHwgaWNvblR5cGUgPT09ICdmb250YXdlc29tZScpIHtcbiAgICAgIGNvbnN0IGZvbnRhd2Vzb21lSWNvbnMgPSBJY29uc1NlcnZpY2UuZ2V0Rm9udGF3ZXNvbWVJY29ucyhmaWx0ZXIgYXMgRm9udGF3ZXNvbWVJY29uRmlsdGVyT3B0aW9uKTtcblxuICAgICAgaWYgKGZvbnRhd2Vzb21lSWNvbnMubGVuZ3RoKSB7XG4gICAgICAgIGljb25zLnB1c2goLi4uZm9udGF3ZXNvbWVJY29ucyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgdHJpbW1lZFNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmICh0cmltbWVkU2VhcmNoVGV4dCkge1xuICAgICAgaWNvbnMgPSBpY29ucy5maWx0ZXIoaWNvbiA9PiBpY29uLm5hbWUuaW5jbHVkZXModHJpbW1lZFNlYXJjaFRleHQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaWNvbnM7XG4gIH1cbn1cbiJdfQ==
@@ -20,7 +20,7 @@ export class LayoutFullFramingComponent {
20
20
  mobileSidebarEnabled = true;
21
21
  slideover = null;
22
22
  onResize(event) {
23
- if (this.mobileSidebarEnabled && event.target.innerWidth > 768 && this.slideover.slideoverOpen) {
23
+ if (this.mobileSidebarEnabled && event.target.innerWidth > 768 && this.slideover && this.slideover.slideoverOpen) {
24
24
  this.slideover.close();
25
25
  }
26
26
  }
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
78
78
  type: HostListener,
79
79
  args: ['window:resize', ['$event']]
80
80
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZ1bGwtZnJhbWluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvbGF5b3V0L2NvbXBvbmVudHMvbGF5b3V0LWZ1bGwtZnJhbWluZy9sYXlvdXQtZnVsbC1mcmFtaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtZnVsbC1mcmFtaW5nL2xheW91dC1mdWxsLWZyYW1pbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFlLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQU9yRixNQUFNLE9BQU8sMEJBQTBCO0lBR3JDLFdBQVcsR0FBcUIsSUFBVyxDQUFDO0lBRzVDLFlBQVksR0FBcUIsSUFBVyxDQUFDO0lBRzdDLE1BQU0sR0FBcUIsSUFBVyxDQUFDO0lBR3ZDLE1BQU0sR0FBcUIsSUFBVyxDQUFDO0lBR3ZDLDZCQUE2QixHQUFHLEVBQUUsQ0FBQztJQUduQyw4QkFBOEIsR0FBRyxFQUFFLENBQUM7SUFHcEMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUdyQixlQUFlLEdBQUcsRUFBRSxDQUFDO0lBR3JCLFlBQVksR0FBVyxHQUFHLENBQUM7SUFHM0IsWUFBWSxHQUFXLEdBQUcsQ0FBQztJQUczQixpQkFBaUIsR0FBVyxPQUFPLENBQUM7SUFHcEMsVUFBVSxHQUFXLElBQUksQ0FBQztJQUcxQiw4QkFBOEIsR0FBRyxHQUFHLENBQUM7SUFHckMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBR3hCLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUc1QixTQUFTLEdBQXVCLElBQVcsQ0FBQztJQUc1QyxRQUFRLENBQUMsS0FBVTtRQUNqQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMvRixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRWtCLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFFbkMsSUFBSSxtQkFBbUI7UUFDckIsTUFBTSxNQUFNLEdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzFELENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLE9BQU8sZ0JBQWdCLE1BQU0sS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixNQUFNLE1BQU0sR0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDMUQsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFeEMsT0FBTyxlQUFlLE1BQU0sS0FBSyxDQUFDO0lBQ3BDLENBQUM7dUdBdkVVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLHN6QkNQdkMsODFFQTBEQTs7MkZEbkRhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSw4QkFBOEI7OEJBTXhDLFdBQVc7c0JBRFYsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTiw2QkFBNkI7c0JBRDVCLEtBQUs7Z0JBSU4sOEJBQThCO3NCQUQ3QixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLDhCQUE4QjtzQkFEN0IsS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSU4sb0JBQW9CO3NCQURuQixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxXQUFXO2dCQUl0QixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1NsaWRlb3ZlckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vc2xpZGVvdmVyL3NsaWRlb3Zlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwYXJ0aWNsZS1sYXlvdXQtZnVsbC1mcmFtaW5nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LWZ1bGwtZnJhbWluZy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExheW91dEZ1bGxGcmFtaW5nQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBtYWluQ29udGVudDogVGVtcGxhdGVSZWY8YW55PiA9IG51bGwgYXMgYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJpZ2h0U2lkZWJhcjogVGVtcGxhdGVSZWY8YW55PiA9IG51bGwgYXMgYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGhlYWRlcjogVGVtcGxhdGVSZWY8YW55PiA9IG51bGwgYXMgYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGZvb3RlcjogVGVtcGxhdGVSZWY8YW55PiA9IG51bGwgYXMgYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1haW5Db250ZW50Q29udGFpbmVyQ2xhc3NMaXN0ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmlnaHRTaWRlYmFyQ29udGFpbmVyQ2xhc3NMaXN0ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaGVhZGVyQ2xhc3NMaXN0ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZm9vdGVyQ2xhc3NMaXN0ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaGVhZGVySGVpZ2h0OiBzdHJpbmcgPSAnMCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZm9vdGVySGVpZ2h0OiBzdHJpbmcgPSAnMCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmlnaHRTaWRlYmFyV2lkdGg6IHN0cmluZyA9ICcyNTBweCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYnJlYWtwb2ludDogbnVtYmVyID0gMTAyNDtcclxuXHJcbiAgQElucHV0KClcclxuICByaWdodFNpZGViYXJDb2xsYXBzZWRUYWJPZmZzZXQgPSAxNTA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY29sbGFwc2VkQ2xhc3NMaXN0ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbW9iaWxlU2lkZWJhckVuYWJsZWQgPSB0cnVlO1xyXG5cclxuICBAVmlld0NoaWxkKCdzbGlkZW92ZXInKVxyXG4gIHNsaWRlb3ZlcjogU2xpZGVvdmVyQ29tcG9uZW50ID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIG9uUmVzaXplKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vYmlsZVNpZGViYXJFbmFibGVkICYmIGV2ZW50LnRhcmdldC5pbm5lcldpZHRoID4gNzY4ICYmIHRoaXMuc2xpZGVvdmVyLnNsaWRlb3Zlck9wZW4pIHtcclxuICAgICAgdGhpcy5zbGlkZW92ZXIuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSB3aW5kb3cgPSB3aW5kb3c7XHJcblxyXG4gIGdldCBzdGlja3lTaWRlYmFySGVpZ2h0KCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBvZmZzZXQ6IG51bWJlciA9ICt0aGlzLmhlYWRlckhlaWdodC5yZXBsYWNlKC9cXEQvZywgXCJcIikgK1xyXG4gICAgICArdGhpcy5mb290ZXJIZWlnaHQucmVwbGFjZSgvXFxEL2csIFwiXCIpO1xyXG5cclxuICAgIHJldHVybiBgY2FsYygxMDB2aCAtICR7b2Zmc2V0fXB4KWA7XHJcbiAgfVxyXG5cclxuICBnZXQgY29udGVudFNpZGViYXJIZWlnaHQoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IG9mZnNldDogbnVtYmVyID0gK3RoaXMuaGVhZGVySGVpZ2h0LnJlcGxhY2UoL1xcRC9nLCBcIlwiKSArXHJcbiAgICAgICt0aGlzLmZvb3RlckhlaWdodC5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcblxyXG4gICAgcmV0dXJuIGBjYWxjKDEwMCUgLSAke29mZnNldH1weClgO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIndpZHRoMTAwIGhlaWdodDEwMFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ3aWR0aDEwMCBoZWFkZXJfc3RpY2t5XCIgW25nQ2xhc3NdPVwiaGVhZGVyQ2xhc3NMaXN0XCIgW3N0eWxlLmhlaWdodF09XCJoZWFkZXJIZWlnaHRcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJcIj48L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicm93IGVudF9yMmxfcm93XCIgW3N0eWxlLmhlaWdodF09XCJjb250ZW50U2lkZWJhckhlaWdodFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBjb2x1bW4gc3BhY2VfYmV0d2VlbiBoZWlnaHQxMDBcIlxyXG4gICAgICAgICBbbmdDbGFzc109XCJtYWluQ29udGVudENvbnRhaW5lckNsYXNzTGlzdFwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibWFpbkNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbCBwYXJ0aWNsZV9sYXlvdXRfc2lkZWJhciBoZWlnaHQxMDBcIlxyXG4gICAgICAgICBbc3R5bGUud2lkdGhdPVwicmlnaHRTaWRlYmFyV2lkdGhcIlxyXG4gICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJ3aW5kb3cuaW5uZXJXaWR0aCA8PSBicmVha3BvaW50ID8gJ25vbmUnIDogJydcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93IGNvbHVtbiBzdGlja3lfc2lkZWJhciBoZWlnaHQxMDBcIlxyXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInJpZ2h0U2lkZWJhckNvbnRhaW5lckNsYXNzTGlzdFwiXHJcbiAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJzdGlja3lTaWRlYmFySGVpZ2h0XCJcclxuICAgICAgICAgICBbc3R5bGUudG9wXT1cImhlYWRlckhlaWdodFwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyaWdodFNpZGViYXJcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwid2lkdGgxMDAgZm9vdGVyX3N0aWNreVwiIFtuZ0NsYXNzXT1cImZvb3RlckNsYXNzTGlzdFwiIFtzdHlsZS5oZWlnaHRdPVwiZm9vdGVySGVpZ2h0XCI+XHJcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyXCI+PC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwibW9iaWxlU2lkZWJhckVuYWJsZWQgJiYgcmlnaHRTaWRlYmFyQ29sbGFwc2VkVGFiT2Zmc2V0ID49IDBcIj5cclxuICA8ZGl2IFtzdHlsZS52aXNpYmlsaXR5XT1cIndpbmRvdy5pbm5lcldpZHRoIDw9IGJyZWFrcG9pbnQgPyAndmlzaWJsZScgOiAnaGlkZGVuJ1wiXHJcbiAgICAgICBbc3R5bGUub3BhY2l0eV09XCJ3aW5kb3cuaW5uZXJXaWR0aCA8PSBicmVha3BvaW50ID8gJzEnIDogJzAnXCJcclxuICAgICAgIFtzdHlsZS50b3BdPVwicmlnaHRTaWRlYmFyQ29sbGFwc2VkVGFiT2Zmc2V0ICsgJ3B4J1wiXHJcbiAgICAgICBzdHlsZT1cInotaW5kZXg6IHZhcigtLXotZnJhbWUpO1wiXHJcbiAgICAgICBjbGFzcz1cInBhcnRpY2xlX3Njcm9sbF9idXR0b24gbWFyX3JpZ2h0MTAgbWFyX2JvdDE1XCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIChjbGljayk9XCJzbGlkZW92ZXIub3BlbigpXCJcclxuICAgICAgY2xhc3M9XCJhY2Nlc3MgYnRuIHBhZF8xMCBicmFkXzMgYnJkciBjb250ZW50X2NvbG9yXCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImljb24gc2xpZGVfbGVmdFwiPjxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tbGVmdFwiPjwvaT48L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPHBhcnRpY2xlLXNsaWRlb3ZlclxyXG4gICAgcG9zaXRpb249XCJyaWdodFwiXHJcbiAgICBbd2lkdGhdPVwicmlnaHRTaWRlYmFyV2lkdGhcIlxyXG4gICAgW2JyZWFrcG9pbnRdPVwiMVwiXHJcbiAgICAjc2xpZGVvdmVyXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1pbl9oNDAgaGVhZGVyX2NvbG9yXCI+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGFydGljbGVfbGF5b3V0X3NpZGViYXIgaGVpZ2h0MTAwXCJcclxuICAgICAgICAgW25nQ2xhc3NdPVwicmlnaHRTaWRlYmFyQ29udGFpbmVyQ2xhc3NMaXN0ICsgJyAnICsgY29sbGFwc2VkQ2xhc3NMaXN0XCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyaWdodFNpZGViYXJcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9wYXJ0aWNsZS1zbGlkZW92ZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZ1bGwtZnJhbWluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvbGF5b3V0L2NvbXBvbmVudHMvbGF5b3V0LWZ1bGwtZnJhbWluZy9sYXlvdXQtZnVsbC1mcmFtaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtZnVsbC1mcmFtaW5nL2xheW91dC1mdWxsLWZyYW1pbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFlLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQU9yRixNQUFNLE9BQU8sMEJBQTBCO0lBR3JDLFdBQVcsR0FBcUIsSUFBVyxDQUFDO0lBRzVDLFlBQVksR0FBcUIsSUFBVyxDQUFDO0lBRzdDLE1BQU0sR0FBcUIsSUFBVyxDQUFDO0lBR3ZDLE1BQU0sR0FBcUIsSUFBVyxDQUFDO0lBR3ZDLDZCQUE2QixHQUFHLEVBQUUsQ0FBQztJQUduQyw4QkFBOEIsR0FBRyxFQUFFLENBQUM7SUFHcEMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUdyQixlQUFlLEdBQUcsRUFBRSxDQUFDO0lBR3JCLFlBQVksR0FBVyxHQUFHLENBQUM7SUFHM0IsWUFBWSxHQUFXLEdBQUcsQ0FBQztJQUczQixpQkFBaUIsR0FBVyxPQUFPLENBQUM7SUFHcEMsVUFBVSxHQUFXLElBQUksQ0FBQztJQUcxQiw4QkFBOEIsR0FBRyxHQUFHLENBQUM7SUFHckMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBR3hCLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUc1QixTQUFTLEdBQXVCLElBQVcsQ0FBQztJQUc1QyxRQUFRLENBQUMsS0FBVTtRQUNqQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2pILElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFa0IsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUVuQyxJQUFJLG1CQUFtQjtRQUNyQixNQUFNLE1BQU0sR0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDMUQsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFeEMsT0FBTyxnQkFBZ0IsTUFBTSxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE1BQU0sTUFBTSxHQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMxRCxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV4QyxPQUFPLGVBQWUsTUFBTSxLQUFLLENBQUM7SUFDcEMsQ0FBQzt1R0F2RVUsMEJBQTBCOzJGQUExQiwwQkFBMEIsc3pCQ1B2Qyw4MUVBMERBOzsyRkRuRGEsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLDhCQUE4Qjs4QkFNeEMsV0FBVztzQkFEVixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLDZCQUE2QjtzQkFENUIsS0FBSztnQkFJTiw4QkFBOEI7c0JBRDdCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sOEJBQThCO3NCQUQ3QixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixTQUFTO3VCQUFDLFdBQVc7Z0JBSXRCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U2xpZGVvdmVyQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zbGlkZW92ZXIvc2xpZGVvdmVyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BhcnRpY2xlLWxheW91dC1mdWxsLWZyYW1pbmcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtZnVsbC1mcmFtaW5nLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0RnVsbEZyYW1pbmdDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1haW5Db250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+ID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmlnaHRTaWRlYmFyOiBUZW1wbGF0ZVJlZjxhbnk+ID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaGVhZGVyOiBUZW1wbGF0ZVJlZjxhbnk+ID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZm9vdGVyOiBUZW1wbGF0ZVJlZjxhbnk+ID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbWFpbkNvbnRlbnRDb250YWluZXJDbGFzc0xpc3QgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICByaWdodFNpZGViYXJDb250YWluZXJDbGFzc0xpc3QgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBoZWFkZXJDbGFzc0xpc3QgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBmb290ZXJDbGFzc0xpc3QgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBoZWFkZXJIZWlnaHQ6IHN0cmluZyA9ICcwJztcclxuXHJcbiAgQElucHV0KClcclxuICBmb290ZXJIZWlnaHQ6IHN0cmluZyA9ICcwJztcclxuXHJcbiAgQElucHV0KClcclxuICByaWdodFNpZGViYXJXaWR0aDogc3RyaW5nID0gJzI1MHB4JztcclxuXHJcbiAgQElucHV0KClcclxuICBicmVha3BvaW50OiBudW1iZXIgPSAxMDI0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJpZ2h0U2lkZWJhckNvbGxhcHNlZFRhYk9mZnNldCA9IDE1MDtcclxuXHJcbiAgQElucHV0KClcclxuICBjb2xsYXBzZWRDbGFzc0xpc3QgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBtb2JpbGVTaWRlYmFyRW5hYmxlZCA9IHRydWU7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3NsaWRlb3ZlcicpXHJcbiAgc2xpZGVvdmVyOiBTbGlkZW92ZXJDb21wb25lbnQgPSBudWxsIGFzIGFueTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgb25SZXNpemUoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubW9iaWxlU2lkZWJhckVuYWJsZWQgJiYgZXZlbnQudGFyZ2V0LmlubmVyV2lkdGggPiA3NjggJiYgdGhpcy5zbGlkZW92ZXIgJiYgdGhpcy5zbGlkZW92ZXIuc2xpZGVvdmVyT3Blbikge1xyXG4gICAgICB0aGlzLnNsaWRlb3Zlci5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHdpbmRvdyA9IHdpbmRvdztcclxuXHJcbiAgZ2V0IHN0aWNreVNpZGViYXJIZWlnaHQoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IG9mZnNldDogbnVtYmVyID0gK3RoaXMuaGVhZGVySGVpZ2h0LnJlcGxhY2UoL1xcRC9nLCBcIlwiKSArXHJcbiAgICAgICt0aGlzLmZvb3RlckhlaWdodC5yZXBsYWNlKC9cXEQvZywgXCJcIik7XHJcblxyXG4gICAgcmV0dXJuIGBjYWxjKDEwMHZoIC0gJHtvZmZzZXR9cHgpYDtcclxuICB9XHJcblxyXG4gIGdldCBjb250ZW50U2lkZWJhckhlaWdodCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgb2Zmc2V0OiBudW1iZXIgPSArdGhpcy5oZWFkZXJIZWlnaHQucmVwbGFjZSgvXFxEL2csIFwiXCIpICtcclxuICAgICAgK3RoaXMuZm9vdGVySGVpZ2h0LnJlcGxhY2UoL1xcRC9nLCBcIlwiKTtcclxuXHJcbiAgICByZXR1cm4gYGNhbGMoMTAwJSAtICR7b2Zmc2V0fXB4KWA7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwid2lkdGgxMDAgaGVpZ2h0MTAwXCI+XHJcbiAgPGRpdiBjbGFzcz1cIndpZHRoMTAwIGhlYWRlcl9zdGlja3lcIiBbbmdDbGFzc109XCJoZWFkZXJDbGFzc0xpc3RcIiBbc3R5bGUuaGVpZ2h0XT1cImhlYWRlckhlaWdodFwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclwiPjwvbmctdGVtcGxhdGU+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgZW50X3IybF9yb3dcIiBbc3R5bGUuaGVpZ2h0XT1cImNvbnRlbnRTaWRlYmFySGVpZ2h0XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGNvbHVtbiBzcGFjZV9iZXR3ZWVuIGhlaWdodDEwMFwiXHJcbiAgICAgICAgIFtuZ0NsYXNzXT1cIm1haW5Db250ZW50Q29udGFpbmVyQ2xhc3NMaXN0XCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJtYWluQ29udGVudFwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sIHBhcnRpY2xlX2xheW91dF9zaWRlYmFyIGhlaWdodDEwMFwiXHJcbiAgICAgICAgIFtzdHlsZS53aWR0aF09XCJyaWdodFNpZGViYXJXaWR0aFwiXHJcbiAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIndpbmRvdy5pbm5lcldpZHRoIDw9IGJyZWFrcG9pbnQgPyAnbm9uZScgOiAnJ1wiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY29sdW1uIHN0aWNreV9zaWRlYmFyIGhlaWdodDEwMFwiXHJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwicmlnaHRTaWRlYmFyQ29udGFpbmVyQ2xhc3NMaXN0XCJcclxuICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cInN0aWNreVNpZGViYXJIZWlnaHRcIlxyXG4gICAgICAgICAgIFtzdHlsZS50b3BdPVwiaGVhZGVySGVpZ2h0XCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJpZ2h0U2lkZWJhclwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJ3aWR0aDEwMCBmb290ZXJfc3RpY2t5XCIgW25nQ2xhc3NdPVwiZm9vdGVyQ2xhc3NMaXN0XCIgW3N0eWxlLmhlaWdodF09XCJmb290ZXJIZWlnaHRcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJcIj48L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2JpbGVTaWRlYmFyRW5hYmxlZCAmJiByaWdodFNpZGViYXJDb2xsYXBzZWRUYWJPZmZzZXQgPj0gMFwiPlxyXG4gIDxkaXYgW3N0eWxlLnZpc2liaWxpdHldPVwid2luZG93LmlubmVyV2lkdGggPD0gYnJlYWtwb2ludCA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCJcclxuICAgICAgIFtzdHlsZS5vcGFjaXR5XT1cIndpbmRvdy5pbm5lcldpZHRoIDw9IGJyZWFrcG9pbnQgPyAnMScgOiAnMCdcIlxyXG4gICAgICAgW3N0eWxlLnRvcF09XCJyaWdodFNpZGViYXJDb2xsYXBzZWRUYWJPZmZzZXQgKyAncHgnXCJcclxuICAgICAgIHN0eWxlPVwiei1pbmRleDogdmFyKC0tei1mcmFtZSk7XCJcclxuICAgICAgIGNsYXNzPVwicGFydGljbGVfc2Nyb2xsX2J1dHRvbiBtYXJfcmlnaHQxMCBtYXJfYm90MTVcIj5cclxuICAgIDxidXR0b25cclxuICAgICAgKGNsaWNrKT1cInNsaWRlb3Zlci5vcGVuKClcIlxyXG4gICAgICBjbGFzcz1cImFjY2VzcyBidG4gcGFkXzEwIGJyYWRfMyBicmRyIGNvbnRlbnRfY29sb3JcIlxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbiBzbGlkZV9sZWZ0XCI+PGkgY2xhc3M9XCJmYXMgZmEtY2hldnJvbi1sZWZ0XCI+PC9pPjwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8cGFydGljbGUtc2xpZGVvdmVyXHJcbiAgICBwb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgIFt3aWR0aF09XCJyaWdodFNpZGViYXJXaWR0aFwiXHJcbiAgICBbYnJlYWtwb2ludF09XCIxXCJcclxuICAgICNzbGlkZW92ZXJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWluX2g0MCBoZWFkZXJfY29sb3JcIj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwYXJ0aWNsZV9sYXlvdXRfc2lkZWJhciBoZWlnaHQxMDBcIlxyXG4gICAgICAgICBbbmdDbGFzc109XCJyaWdodFNpZGViYXJDb250YWluZXJDbGFzc0xpc3QgKyAnICcgKyBjb2xsYXBzZWRDbGFzc0xpc3RcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJpZ2h0U2lkZWJhclwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L3BhcnRpY2xlLXNsaWRlb3Zlcj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -17,7 +17,7 @@ export class LayoutFullwidthSidebarComponent {
17
17
  mobileSidebarEnabled = true;
18
18
  slideover = null;
19
19
  onResize(event) {
20
- if (this.mobileSidebarEnabled && event.target.innerWidth > 768 && this.slideover.slideoverOpen) {
20
+ if (this.mobileSidebarEnabled && event.target.innerWidth > 768 && this.slideover && this.slideover.slideoverOpen) {
21
21
  this.slideover.close();
22
22
  }
23
23
  }
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
64
64
  type: HostListener,
65
65
  args: ['window:resize', ['$event']]
66
66
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZ1bGx3aWR0aC1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtZnVsbHdpZHRoLXNpZGViYXIvbGF5b3V0LWZ1bGx3aWR0aC1zaWRlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtZnVsbHdpZHRoLXNpZGViYXIvbGF5b3V0LWZ1bGx3aWR0aC1zaWRlYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7QUFPckYsTUFBTSxPQUFPLCtCQUErQjtJQUcxQyxXQUFXLEdBQXFCLElBQVcsQ0FBQztJQUc1QyxZQUFZLEdBQXFCLElBQVcsQ0FBQztJQUc3Qyw2QkFBNkIsR0FBRyxFQUFFLENBQUM7SUFHbkMsOEJBQThCLEdBQUcsRUFBRSxDQUFDO0lBR3BDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUczQixZQUFZLEdBQVcsR0FBRyxDQUFDO0lBRzNCLFlBQVksR0FBVyxHQUFHLENBQUM7SUFHM0IsaUJBQWlCLEdBQVcsT0FBTyxDQUFDO0lBR3BDLFVBQVUsR0FBVyxJQUFJLENBQUM7SUFHMUIsOEJBQThCLEdBQUcsR0FBRyxDQUFDO0lBR3JDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUd4QixvQkFBb0IsR0FBRyxJQUFJLENBQUM7SUFHNUIsU0FBUyxHQUF1QixJQUFXLENBQUM7SUFHNUMsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDL0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVrQixNQUFNLEdBQUcsTUFBTSxDQUFDO0lBRW5DLElBQUksbUJBQW1CO1FBQ3JCLE1BQU0sTUFBTSxHQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMxRCxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV4QyxPQUFPLGdCQUFnQixNQUFNLEtBQUssQ0FBQztJQUNyQyxDQUFDO3VHQXZEVSwrQkFBK0I7MkZBQS9CLCtCQUErQix5dkJDUDVDLHkwRUEwREE7OzJGRG5EYSwrQkFBK0I7a0JBSjNDLFNBQVM7K0JBQ0UsbUNBQW1DOzhCQU03QyxXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLDZCQUE2QjtzQkFENUIsS0FBSztnQkFJTiw4QkFBOEI7c0JBRDdCLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTiw4QkFBOEI7c0JBRDdCLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlOLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFJTixTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVztnQkFJdEIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTbGlkZW92ZXJDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL3NsaWRlb3Zlci9zbGlkZW92ZXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncGFydGljbGUtbGF5b3V0LWZ1bGx3aWR0aC1zaWRlYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LWZ1bGx3aWR0aC1zaWRlYmFyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0RnVsbHdpZHRoU2lkZWJhckNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbWFpbkNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gPSBudWxsIGFzIGFueTtcclxuXHJcbiAgQElucHV0KClcclxuICByaWdodFNpZGViYXI6IFRlbXBsYXRlUmVmPGFueT4gPSBudWxsIGFzIGFueTtcclxuXHJcbiAgQElucHV0KClcclxuICBtYWluQ29udGVudENvbnRhaW5lckNsYXNzTGlzdCA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJpZ2h0U2lkZWJhckNvbnRhaW5lckNsYXNzTGlzdCA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJpZ2h0U2lkZWJhclN0aWNreSA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGhlYWRlckhlaWdodDogc3RyaW5nID0gJzAnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGZvb3RlckhlaWdodDogc3RyaW5nID0gJzAnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJpZ2h0U2lkZWJhcldpZHRoOiBzdHJpbmcgPSAnMjUwcHgnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGJyZWFrcG9pbnQ6IG51bWJlciA9IDEwMjQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmlnaHRTaWRlYmFyQ29sbGFwc2VkVGFiT2Zmc2V0ID0gMTUwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvbGxhcHNlZENsYXNzTGlzdCA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1vYmlsZVNpZGViYXJFbmFibGVkID0gdHJ1ZTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2xpZGVvdmVyJylcclxuICBzbGlkZW92ZXI6IFNsaWRlb3ZlckNvbXBvbmVudCA9IG51bGwgYXMgYW55O1xyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvblJlc2l6ZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tb2JpbGVTaWRlYmFyRW5hYmxlZCAmJiBldmVudC50YXJnZXQuaW5uZXJXaWR0aCA+IDc2OCAmJiB0aGlzLnNsaWRlb3Zlci5zbGlkZW92ZXJPcGVuKSB7XHJcbiAgICAgIHRoaXMuc2xpZGVvdmVyLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgd2luZG93ID0gd2luZG93O1xyXG5cclxuICBnZXQgc3RpY2t5U2lkZWJhckhlaWdodCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgb2Zmc2V0OiBudW1iZXIgPSArdGhpcy5oZWFkZXJIZWlnaHQucmVwbGFjZSgvXFxEL2csIFwiXCIpICtcclxuICAgICAgK3RoaXMuZm9vdGVySGVpZ2h0LnJlcGxhY2UoL1xcRC9nLCBcIlwiKTtcclxuXHJcbiAgICByZXR1cm4gYGNhbGMoMTAwdmggLSAke29mZnNldH1weClgO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPCEtLSBzZXR1cCBmb3IgYSBzaWRlIGNvbHVtbiAtLT5cclxuPGRpdiBjbGFzcz1cInJvdyBoZWlnaHQxMDAgZW50X3IybF9yb3dcIj5cclxuICA8ZGl2IGNsYXNzPVwicm93IGNvbHVtbiBzcGFjZV9iZXR3ZWVuIGhlaWdodDEwMFwiXHJcbiAgICAgICBbbmdDbGFzc109XCJtYWluQ29udGVudENvbnRhaW5lckNsYXNzTGlzdFwiPlxyXG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1haW5Db250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyaWdodFNpZGViYXJTdGlja3lcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwYXJ0aWNsZV9sYXlvdXRfc2lkZWJhciBoZWlnaHQxMDBcIlxyXG4gICAgICAgICBbbmdDbGFzc109XCJyaWdodFNpZGViYXJDb250YWluZXJDbGFzc0xpc3RcIlxyXG4gICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJ3aW5kb3cuaW5uZXJXaWR0aCA8PSBicmVha3BvaW50ID8gJ25vbmUnIDogJydcIlxyXG4gICAgICAgICBbc3R5bGUud2lkdGhdPVwicmlnaHRTaWRlYmFyV2lkdGhcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJpZ2h0U2lkZWJhclwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJpZ2h0U2lkZWJhclN0aWNreVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInBhcnRpY2xlX2xheW91dF9zaWRlYmFyIGhlaWdodDEwMFwiXHJcbiAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIndpbmRvdy5pbm5lcldpZHRoIDw9IGJyZWFrcG9pbnQgPyAnbm9uZScgOiAnJ1wiXHJcbiAgICAgICAgIFtzdHlsZS53aWR0aF09XCJyaWdodFNpZGViYXJXaWR0aFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93IGNvbHVtbiBzdGlja3lfc2lkZWJhclwiXHJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwicmlnaHRTaWRlYmFyQ29udGFpbmVyQ2xhc3NMaXN0XCJcclxuICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cInN0aWNreVNpZGViYXJIZWlnaHRcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicmlnaHRTaWRlYmFyXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwibW9iaWxlU2lkZWJhckVuYWJsZWQgJiYgcmlnaHRTaWRlYmFyQ29sbGFwc2VkVGFiT2Zmc2V0ID49IDBcIj5cclxuICA8ZGl2IFtzdHlsZS52aXNpYmlsaXR5XT1cIndpbmRvdy5pbm5lcldpZHRoIDw9IGJyZWFrcG9pbnQgPyAndmlzaWJsZScgOiAnaGlkZGVuJ1wiXHJcbiAgICAgICBbc3R5bGUub3BhY2l0eV09XCJ3aW5kb3cuaW5uZXJXaWR0aCA8PSBicmVha3BvaW50ID8gJzEnIDogJzAnXCJcclxuICAgICAgIFtzdHlsZS50b3BdPVwicmlnaHRTaWRlYmFyQ29sbGFwc2VkVGFiT2Zmc2V0ICsgJ3B4J1wiXHJcbiAgICAgICBzdHlsZT1cInotaW5kZXg6IHZhcigtLXotZnJhbWUpO1wiXHJcbiAgICAgICBjbGFzcz1cInBhcnRpY2xlX3Njcm9sbF9idXR0b24gbWFyX3JpZ2h0MTAgbWFyX2JvdDE1XCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIChjbGljayk9XCJzbGlkZW92ZXIub3BlbigpXCJcclxuICAgICAgY2xhc3M9XCJhY2Nlc3MgYnRuIHBhZF8xMCBicmFkXzMgYnJkciBjb250ZW50X2NvbG9yXCJcclxuICAgICAgdHlwZT1cImJ1dHRvblwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImljb24gc2xpZGVfbGVmdFwiPjxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tbGVmdFwiPjwvaT48L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPHBhcnRpY2xlLXNsaWRlb3ZlclxyXG4gICAgcG9zaXRpb249XCJyaWdodFwiXHJcbiAgICBbd2lkdGhdPVwicmlnaHRTaWRlYmFyV2lkdGhcIlxyXG4gICAgW2JyZWFrcG9pbnRdPVwiMVwiXHJcbiAgICAjc2xpZGVvdmVyXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1pbl9oNDAgaGVhZGVyX2NvbG9yXCI+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGFydGljbGVfbGF5b3V0X3NpZGViYXIgaGVpZ2h0MTAwXCJcclxuICAgICAgICAgW25nQ2xhc3NdPVwicmlnaHRTaWRlYmFyQ29udGFpbmVyQ2xhc3NMaXN0ICsgJyAnICsgY29sbGFwc2VkQ2xhc3NMaXN0XCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyaWdodFNpZGViYXJcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9wYXJ0aWNsZS1zbGlkZW92ZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZ1bGx3aWR0aC1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtZnVsbHdpZHRoLXNpZGViYXIvbGF5b3V0LWZ1bGx3aWR0aC1zaWRlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtZnVsbHdpZHRoLXNpZGViYXIvbGF5b3V0LWZ1bGx3aWR0aC1zaWRlYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7QUFPckYsTUFBTSxPQUFPLCtCQUErQjtJQUcxQyxXQUFXLEdBQXFCLElBQVcsQ0FBQztJQUc1QyxZQUFZLEdBQXFCLElBQVcsQ0FBQztJQUc3Qyw2QkFBNkIsR0FBRyxFQUFFLENBQUM7SUFHbkMsOEJBQThCLEdBQUcsRUFBRSxDQUFDO0lBR3BDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUczQixZQUFZLEdBQVcsR0FBRyxDQUFDO0lBRzNCLFlBQVksR0FBVyxHQUFHLENBQUM7SUFHM0IsaUJBQWlCLEdBQVcsT0FBTyxDQUFDO0lBR3BDLFVBQVUsR0FBVyxJQUFJLENBQUM7SUFHMUIsOEJBQThCLEdBQUcsR0FBRyxDQUFDO0lBR3JDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUd4QixvQkFBb0IsR0FBRyxJQUFJLENBQUM7SUFHNUIsU0FBUyxHQUF1QixJQUFXLENBQUM7SUFHNUMsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRWtCLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFFbkMsSUFBSSxtQkFBbUI7UUFDckIsTUFBTSxNQUFNLEdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzFELENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLE9BQU8sZ0JBQWdCLE1BQU0sS0FBSyxDQUFDO0lBQ3JDLENBQUM7dUdBdkRVLCtCQUErQjsyRkFBL0IsK0JBQStCLHl2QkNQNUMseTBFQTBEQTs7MkZEbkRhLCtCQUErQjtrQkFKM0MsU0FBUzsrQkFDRSxtQ0FBbUM7OEJBTTdDLFdBQVc7c0JBRFYsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sNkJBQTZCO3NCQUQ1QixLQUFLO2dCQUlOLDhCQUE4QjtzQkFEN0IsS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLDhCQUE4QjtzQkFEN0IsS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSU4sb0JBQW9CO3NCQURuQixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsU0FBUzt1QkFBQyxXQUFXO2dCQUl0QixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1NsaWRlb3ZlckNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vc2xpZGVvdmVyL3NsaWRlb3Zlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwYXJ0aWNsZS1sYXlvdXQtZnVsbHdpZHRoLXNpZGViYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtZnVsbHdpZHRoLXNpZGViYXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRGdWxsd2lkdGhTaWRlYmFyQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBtYWluQ29udGVudDogVGVtcGxhdGVSZWY8YW55PiA9IG51bGwgYXMgYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJpZ2h0U2lkZWJhcjogVGVtcGxhdGVSZWY8YW55PiA9IG51bGwgYXMgYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1haW5Db250ZW50Q29udGFpbmVyQ2xhc3NMaXN0ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmlnaHRTaWRlYmFyQ29udGFpbmVyQ2xhc3NMaXN0ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmlnaHRTaWRlYmFyU3RpY2t5ID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaGVhZGVySGVpZ2h0OiBzdHJpbmcgPSAnMCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZm9vdGVySGVpZ2h0OiBzdHJpbmcgPSAnMCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmlnaHRTaWRlYmFyV2lkdGg6IHN0cmluZyA9ICcyNTBweCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYnJlYWtwb2ludDogbnVtYmVyID0gMTAyNDtcclxuXHJcbiAgQElucHV0KClcclxuICByaWdodFNpZGViYXJDb2xsYXBzZWRUYWJPZmZzZXQgPSAxNTA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY29sbGFwc2VkQ2xhc3NMaXN0ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbW9iaWxlU2lkZWJhckVuYWJsZWQgPSB0cnVlO1xyXG5cclxuICBAVmlld0NoaWxkKCdzbGlkZW92ZXInKVxyXG4gIHNsaWRlb3ZlcjogU2xpZGVvdmVyQ29tcG9uZW50ID0gbnVsbCBhcyBhbnk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIG9uUmVzaXplKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vYmlsZVNpZGViYXJFbmFibGVkICYmIGV2ZW50LnRhcmdldC5pbm5lcldpZHRoID4gNzY4ICYmIHRoaXMuc2xpZGVvdmVyICYmIHRoaXMuc2xpZGVvdmVyLnNsaWRlb3Zlck9wZW4pIHtcclxuICAgICAgdGhpcy5zbGlkZW92ZXIuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSB3aW5kb3cgPSB3aW5kb3c7XHJcblxyXG4gIGdldCBzdGlja3lTaWRlYmFySGVpZ2h0KCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBvZmZzZXQ6IG51bWJlciA9ICt0aGlzLmhlYWRlckhlaWdodC5yZXBsYWNlKC9cXEQvZywgXCJcIikgK1xyXG4gICAgICArdGhpcy5mb290ZXJIZWlnaHQucmVwbGFjZSgvXFxEL2csIFwiXCIpO1xyXG5cclxuICAgIHJldHVybiBgY2FsYygxMDB2aCAtICR7b2Zmc2V0fXB4KWA7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8IS0tIHNldHVwIGZvciBhIHNpZGUgY29sdW1uIC0tPlxyXG48ZGl2IGNsYXNzPVwicm93IGhlaWdodDEwMCBlbnRfcjJsX3Jvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgY29sdW1uIHNwYWNlX2JldHdlZW4gaGVpZ2h0MTAwXCJcclxuICAgICAgIFtuZ0NsYXNzXT1cIm1haW5Db250ZW50Q29udGFpbmVyQ2xhc3NMaXN0XCI+XHJcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibWFpbkNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJpZ2h0U2lkZWJhclN0aWNreVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInBhcnRpY2xlX2xheW91dF9zaWRlYmFyIGhlaWdodDEwMFwiXHJcbiAgICAgICAgIFtuZ0NsYXNzXT1cInJpZ2h0U2lkZWJhckNvbnRhaW5lckNsYXNzTGlzdFwiXHJcbiAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIndpbmRvdy5pbm5lcldpZHRoIDw9IGJyZWFrcG9pbnQgPyAnbm9uZScgOiAnJ1wiXHJcbiAgICAgICAgIFtzdHlsZS53aWR0aF09XCJyaWdodFNpZGViYXJXaWR0aFwiPlxyXG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicmlnaHRTaWRlYmFyXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicmlnaHRTaWRlYmFyU3RpY2t5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGFydGljbGVfbGF5b3V0X3NpZGViYXIgaGVpZ2h0MTAwXCJcclxuICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwid2luZG93LmlubmVyV2lkdGggPD0gYnJlYWtwb2ludCA/ICdub25lJyA6ICcnXCJcclxuICAgICAgICAgW3N0eWxlLndpZHRoXT1cInJpZ2h0U2lkZWJhcldpZHRoXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY29sdW1uIHN0aWNreV9zaWRlYmFyXCJcclxuICAgICAgICAgICBbbmdDbGFzc109XCJyaWdodFNpZGViYXJDb250YWluZXJDbGFzc0xpc3RcIlxyXG4gICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwic3RpY2t5U2lkZWJhckhlaWdodFwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyaWdodFNpZGViYXJcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2JpbGVTaWRlYmFyRW5hYmxlZCAmJiByaWdodFNpZGViYXJDb2xsYXBzZWRUYWJPZmZzZXQgPj0gMFwiPlxyXG4gIDxkaXYgW3N0eWxlLnZpc2liaWxpdHldPVwid2luZG93LmlubmVyV2lkdGggPD0gYnJlYWtwb2ludCA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCJcclxuICAgICAgIFtzdHlsZS5vcGFjaXR5XT1cIndpbmRvdy5pbm5lcldpZHRoIDw9IGJyZWFrcG9pbnQgPyAnMScgOiAnMCdcIlxyXG4gICAgICAgW3N0eWxlLnRvcF09XCJyaWdodFNpZGViYXJDb2xsYXBzZWRUYWJPZmZzZXQgKyAncHgnXCJcclxuICAgICAgIHN0eWxlPVwiei1pbmRleDogdmFyKC0tei1mcmFtZSk7XCJcclxuICAgICAgIGNsYXNzPVwicGFydGljbGVfc2Nyb2xsX2J1dHRvbiBtYXJfcmlnaHQxMCBtYXJfYm90MTVcIj5cclxuICAgIDxidXR0b25cclxuICAgICAgKGNsaWNrKT1cInNsaWRlb3Zlci5vcGVuKClcIlxyXG4gICAgICBjbGFzcz1cImFjY2VzcyBidG4gcGFkXzEwIGJyYWRfMyBicmRyIGNvbnRlbnRfY29sb3JcIlxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbiBzbGlkZV9sZWZ0XCI+PGkgY2xhc3M9XCJmYXMgZmEtY2hldnJvbi1sZWZ0XCI+PC9pPjwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8cGFydGljbGUtc2xpZGVvdmVyXHJcbiAgICBwb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgIFt3aWR0aF09XCJyaWdodFNpZGViYXJXaWR0aFwiXHJcbiAgICBbYnJlYWtwb2ludF09XCIxXCJcclxuICAgICNzbGlkZW92ZXJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWluX2g0MCBoZWFkZXJfY29sb3JcIj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwYXJ0aWNsZV9sYXlvdXRfc2lkZWJhciBoZWlnaHQxMDBcIlxyXG4gICAgICAgICBbbmdDbGFzc109XCJyaWdodFNpZGViYXJDb250YWluZXJDbGFzc0xpc3QgKyAnICcgKyBjb2xsYXBzZWRDbGFzc0xpc3RcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJpZ2h0U2lkZWJhclwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L3BhcnRpY2xlLXNsaWRlb3Zlcj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -161,7 +161,10 @@ export class RichTextComponent {
161
161
  break;
162
162
  case 'save':
163
163
  if (this.dialogType === 'link') {
164
- this.editor.chain().focus().extendMarkRange('link').setLink({ href: this.dialogLink, target: '_blank' }).run();
164
+ this.editor.chain().focus().extendMarkRange('link').setLink({
165
+ href: this.dialogLink,
166
+ target: this.dialogLink && !this.dialogLink.startsWith('/') ? '_blank' : '_self'
167
+ }).run();
165
168
  }
166
169
  else if (this.dialogType === 'image') {
167
170
  this.editor.chain().focus().setImage({ src: this.dialogLink }).run();
@@ -203,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
203
206
  }], textChanged: [{
204
207
  type: Output
205
208
  }] } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9yaWNoLXRleHQvcmljaC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9yaWNoLXRleHQvcmljaC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sVUFBVSxNQUFNLHFCQUFxQixDQUFDO0FBQzdDLE9BQU8sSUFBSSxNQUFNLHdCQUF3QixDQUFDO0FBQzFDLE9BQU8sV0FBVyxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sU0FBUyxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLHlCQUF5QixDQUFDO0FBQzVDLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQUl2RSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBUTtJQUMzQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7SUFDaEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBVUYsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixXQUFXLEdBQUcsRUFBRSxDQUFDO0lBR2pCLFlBQVksR0FBRyxLQUFLLENBQUM7SUFHckIsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUVqQixJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFB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QUNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBVyxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBVyxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBVyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBYztRQUNsQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQzt1R0E1TVUsaUJBQWlCOzJGQUFqQixpQkFBaUIsOFFBSmpCLENBQUMsd0JBQXdCLENBQUMsMEJDckJ2QyxrMVdBZ09BOzsyRkR2TWEsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLG9CQUFvQixhQUduQixDQUFDLHdCQUF3QixDQUFDLGlCQUN0QixpQkFBaUIsQ0FBQyxJQUFJOzhCQU1yQyxXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJRixRQUFRO3NCQURYLEtBQUs7Z0JBV04sSUFBSTtzQkFESCxLQUFLO2dCQXlCTixZQUFZO3NCQURYLEtBQUs7Z0JBV04sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtFZGl0b3J9IGZyb20gJ0B0aXB0YXAvY29yZSc7XHJcbmltcG9ydCBTdGFydGVyS2l0IGZyb20gJ0B0aXB0YXAvc3RhcnRlci1raXQnO1xyXG5pbXBvcnQgTGluayBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi1saW5rJztcclxuaW1wb3J0IFBsYWNlaG9sZGVyIGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXBsYWNlaG9sZGVyJztcclxuaW1wb3J0IFRleHRBbGlnbiBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi10ZXh0LWFsaWduJztcclxuaW1wb3J0IEltYWdlIGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLWltYWdlJztcclxuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtSaWNoVGV4dEVkaXRvclRleHR9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvcGFydGljbGUtY29tcG9uZW50LXRleHQubW9kZWwnO1xyXG5pbXBvcnQge1JpY2hUZXh0Q2FwYWJpbGl0aWVzfSBmcm9tICcuL3JpY2gtdGV4dC1jYXBhYmlsaXRpZXMubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFJJQ0hfVEVYVF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJpY2hUZXh0Q29tcG9uZW50KSxcclxuICBtdWx0aTogdHJ1ZVxyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwYXJ0aWNsZS1yaWNoLXRleHQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yaWNoLXRleHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JpY2gtdGV4dC5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbUklDSF9URVhUX1ZBTFVFX0FDQ0VTU09SXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmljaFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcGxhY2Vob2xkZXIgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBoaWRlQ29udHJvbHMgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBoZWlnaHQgPSAnMTAwcHgnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCByZWFkb25seSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9lZGl0YWJsZTtcclxuICB9XHJcblxyXG4gIHNldCByZWFkb25seShyZWFkb25seTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZWRpdGFibGUgPSAhcmVhZG9ubHk7XHJcbiAgICB0aGlzLmVkaXRvci5zZXRFZGl0YWJsZSh0aGlzLl9lZGl0YWJsZSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHRleHQ6IFJpY2hUZXh0RWRpdG9yVGV4dCA9IHtcclxuICAgIGhlYWRpbmcxOiAnSGVhZGluZyAxJyxcclxuICAgIGhlYWRpbmcyOiAnSGVhZGluZyAyJyxcclxuICAgIGJvbGQ6ICdCb2xkJyxcclxuICAgIGl0YWxpYzogJ0l0YWxpYycsXHJcbiAgICBzdHJpa2U6ICdTdHJpa2UnLFxyXG4gICAgYnVsbGV0ZWRMaXN0OiAnQnVsbGV0ZWQgTGlzdCcsXHJcbiAgICBvcmRlcmVkTGlzdDogJ09yZGVyZWQgTGlzdCcsXHJcbiAgICBsZWZ0QWxpZ246ICdMZWZ0IEFsaWduJyxcclxuICAgIGNlbnRlckFsaWduOiAnQ2VudGVyIEFsaWduJyxcclxuICAgIHJpZ2h0QWxpZ246ICdSaWdodCBBbGlnbicsXHJcbiAgICBqdXN0aWZ5QWxpZ246ICdKdXN0aWZ5IEFsaWduJyxcclxuICAgIHNldExpbms6ICdTZXQgTGluaycsXHJcbiAgICByZW1vdmVMaW5rOiAnUmVtb3ZlIExpbmsnLFxyXG4gICAgY2xlYXJGb3JtYXQ6ICdDbGVhciBGb3JtYXQnLFxyXG4gICAgbW9kaWZ5TGluazogJ01vZGlmeSBMaW5rJyxcclxuICAgIGNhbmNlbDogJ0NhbmNlbCcsXHJcbiAgICB1cGRhdGU6ICdVcGRhdGUnLFxyXG4gICAgdXJsOiAnVVJMJyxcclxuICAgIGFkZEltYWdlOiAnQWRkIEltYWdlJyxcclxuICAgIG1vZGlmeUltYWdlOiAnTW9kaWZ5IEltYWdlJ1xyXG4gIH0gYXMgUmljaFRleHRFZGl0b3JUZXh0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNhcGFiaWxpdGllcyA9IHtcclxuICAgIGhlYWRpbmc6IHRydWUsXHJcbiAgICB0ZXh0RGVjb3JhdGlvbjogdHJ1ZSxcclxuICAgIGxpc3Q6IHRydWUsXHJcbiAgICBhbGlnbm1lbnQ6IHRydWUsXHJcbiAgICBsaW5rOiB0cnVlLFxyXG4gICAgaW1hZ2VzOiBmYWxzZVxyXG4gIH0gYXMgUmljaFRleHRDYXBhYmlsaXRpZXM7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYm9yZGVyUmFkaXVzID0gJzBweCc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHRleHRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBodG1sVmFsdWU6IHN0cmluZyxcclxuICAgIHRleHRWYWx1ZTogc3RyaW5nXHJcbiAgfT4oKTtcclxuXHJcbiAgc2hvd0RpYWxvZzogYW55ID0gbnVsbDtcclxuICBkaWFsb2dMaW5rOiBzdHJpbmcgPSBudWxsIGFzIGFueTtcclxuICBkaWFsb2dUeXBlOiBzdHJpbmcgPSBudWxsIGFzIGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gY2FsbGVkIG9uIGNoYW5nZVxyXG4gICAqL1xyXG4gIG9uQ2hhbmdlOiAoKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBGdW5jdGlvbiBjYWxsZWQgb24gdG91Y2hcclxuICAgKi9cclxuICBvblRvdWNoZWQ6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyA9IG51bGwgYXMgYW55O1xyXG4gIHByaXZhdGUgX2VkaXRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHdpbmRvdyA9IHdpbmRvdztcclxuXHJcbiAgZWRpdG9yID0gbmV3IEVkaXRvcih7XHJcbiAgICBleHRlbnNpb25zOiBbXHJcbiAgICAgIFN0YXJ0ZXJLaXQsXHJcbiAgICAgIExpbmsuY29uZmlndXJlKHtcclxuICAgICAgICBvcGVuT25DbGljazogZmFsc2UsXHJcbiAgICAgICAgSFRNTEF0dHJpYnV0ZXM6IHtcclxuICAgICAgICAgIGNsYXNzOiAncmljaC10ZXh0LWxpbmsnLFxyXG4gICAgICAgICAgdGFyZ2V0OiAnX2JsYW5rJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pLFxyXG4gICAgICBUZXh0QWxpZ24uY29uZmlndXJlKHtcclxuICAgICAgICB0eXBlczogWydoZWFkaW5nJywgJ3BhcmFncmFwaCddLFxyXG5cclxuICAgICAgfSksXHJcbiAgICAgIFBsYWNlaG9sZGVyLmNvbmZpZ3VyZSh7XHJcbiAgICAgICAgcGxhY2Vob2xkZXI6ICgpID0+IHRoaXMucGxhY2Vob2xkZXJcclxuICAgICAgfSksXHJcbiAgICAgIEltYWdlXHJcbiAgICBdLFxyXG4gICAgZWRpdG9yUHJvcHM6IHtcclxuICAgICAgYXR0cmlidXRlczoge1xyXG4gICAgICAgIGNsYXNzOiAnJyxcclxuICAgICAgICBzcGVsbGNoZWNrOiAndHJ1ZScsXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgZW5hYmxlUGFzdGVSdWxlczogW0xpbmssIFN0YXJ0ZXJLaXQsIFRleHRBbGlnbl1cclxuICB9KTtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlID09PSAnPHA+PC9wPicpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5fdmFsdWUpIHtcclxuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0b3Iuc2V0RWRpdGFibGUodGhpcy5fZWRpdGFibGUpO1xyXG5cclxuICAgIHRoaXMuZWRpdG9yLm9uKCd1cGRhdGUnLCAoe2VkaXRvcn0pID0+IHtcclxuICAgICAgdGhpcy50ZXh0Q2hhbmdlZC5lbWl0KHtcclxuICAgICAgICB0ZXh0VmFsdWU6IGVkaXRvci5nZXRUZXh0KCksXHJcbiAgICAgICAgaHRtbFZhbHVlOiB0aGlzLl92YWx1ZVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub25Ub3VjaGVkKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5fdmFsdWUpIHtcclxuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0b3Iuc2V0RWRpdGFibGUoaXNEaXNhYmxlZCk7XHJcbiAgfVxyXG5cclxuICBvcGVuTGlua0RpYWxvZygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHByZXZpb3VzVXJsID0gdGhpcy5lZGl0b3IuZ2V0QXR0cmlidXRlcygnbGluaycpLmhyZWY7XHJcbiAgICB0aGlzLnNob3dEaWFsb2cgPSB7fTtcclxuICAgIHRoaXMuZGlhbG9nTGluayA9IHByZXZpb3VzVXJsO1xyXG4gICAgdGhpcy5kaWFsb2dUeXBlID0gJ2xpbmsnO1xyXG4gIH1cclxuXHJcbiAgb3BlbkltYWdlRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcHJldmlvdXNVcmwgPSB0aGlzLmVkaXRvci5nZXRBdHRyaWJ1dGVzKCdpbWFnZScpLnNyYztcclxuICAgIHRoaXMuc2hvd0RpYWxvZyA9IHt9O1xyXG4gICAgdGhpcy5kaWFsb2dMaW5rID0gcHJldmlvdXNVcmw7XHJcbiAgICB0aGlzLmRpYWxvZ1R5cGUgPSAnaW1hZ2UnO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlRWRpdG9yTGluayhhY3Rpb246IHN0cmluZyk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChhY3Rpb24pIHtcclxuICAgICAgY2FzZSAncmVtb3ZlJzpcclxuICAgICAgICB0aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkuZXh0ZW5kTWFya1JhbmdlKCdsaW5rJykudW5zZXRMaW5rKCkucnVuKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3NhdmUnOlxyXG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1R5cGUgPT09ICdsaW5rJykge1xyXG4gICAgICAgICAgdGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLmV4dGVuZE1hcmtSYW5nZSgnbGluaycpLnNldExpbmsoeyBocmVmOiB0aGlzLmRpYWxvZ0xpbmssIHRhcmdldDogJ19ibGFuaycgfSkucnVuKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRpYWxvZ1R5cGUgPT09ICdpbWFnZScpIHtcclxuICAgICAgICAgIHRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5zZXRJbWFnZSh7IHNyYzogdGhpcy5kaWFsb2dMaW5rIH0pLnJ1bigpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGNvbnNvbGUubG9nKGFjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kaWFsb2dMaW5rID0gbnVsbCBhcyBhbnk7XHJcbiAgICB0aGlzLmRpYWxvZ1R5cGUgPSBudWxsIGFzIGFueTtcclxuICAgIHRoaXMuc2hvd0RpYWxvZyA9IG51bGwgYXMgYW55O1xyXG4gIH1cclxuXHJcbiAgZm9jdXMocG9zaXRpb24/OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghcG9zaXRpb24pIHtcclxuICAgICAgcG9zaXRpb24gPSAnc3RhcnQnO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZWRpdG9yLmNvbW1hbmRzLmZvY3VzKHBvc2l0aW9uKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3dfYmxvY2sgd2lkdGgxMDAgY29udGVudF9jb2xvciBwdGxfYnJkcl9yYWRpdXMgcHRsX2JyZHJfY29sb3IgcHRsX2JyZHJfc2l6ZVwiIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlblwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdGhpcy5oaWRlQ29udHJvbHMgJiYgdGhpcy5lZGl0b3IuaXNFZGl0YWJsZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBwdGxfaW5wdXRfYmdfY29sb3IgcHRsX2JyZHJfY29sb3IgcHRsX2JyZHJfc2l6ZSBib3JkZXJfYm90dG9tIHdyYXAgaGlkZV9lbGVtZW50XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXBhYmlsaXRpZXMuaGVhZGluZ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgdl9jZW50ZXIgcHRsX2JyZHJfY29sb3IgcHRsX2JyZHJfc2l6ZSBib3JkZXJfcmlnaHQgcGFkXzVcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgaWQ9XCJoZWFkaW5nMVwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5oZWFkaW5nMVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWNjZXNzIGJ0bnNldCBjaGlwX3NpemUgY29udGVudF9jb2xvcl9kYXJrXzEgbWFyX3JpZ2h0NSBtYXJfbGVmdDUgcHRsX2JyZHJfcmFkaXVzIGhvdl9kYXJrZW5cIlxyXG4gICAgICAgICAgICBbcGFydGljbGVUb29sdGlwXT1cInRleHQuaGVhZGluZzFcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVIZWFkaW5nKHsgbGV2ZWw6IDEgfSkucnVuKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdva19idXR0b25fY29sb3InOiB0aGlzLmVkaXRvci5pc0FjdGl2ZSgnaGVhZGluZycsIHsgbGV2ZWw6IDEgfSkgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWhlYWRlciBmYS1md1wiPjwvaT4xXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgaWQ9XCJoZWFkaW5nMlwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5oZWFkaW5nMlwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWNjZXNzIGJ0bnNldCBjaGlwX3NpemUgY29udGVudF9jb2xvcl9kYXJrXzEgbWFyX3JpZ2h0NSBtYXJfbGVmdDUgcHRsX2JyZHJfcmFkaXVzIGhvdl9kYXJrZW5cIlxyXG4gICAgICAgICAgICBbcGFydGljbGVUb29sdGlwXT1cInRleHQuaGVhZGluZzJcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVIZWFkaW5nKHsgbGV2ZWw6IDIgfSkucnVuKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdva19idXR0b25fY29sb3InOiB0aGlzLmVkaXRvci5pc0FjdGl2ZSgnaGVhZGluZycsIHsgbGV2ZWw6IDIgfSkgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWhlYWRlciBmYS1md1wiPjwvaT4yXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXBhYmlsaXRpZXMudGV4dERlY29yYXRpb25cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHZfY2VudGVyIHB0bF9icmRyX2NvbG9yIHB0bF9icmRyX3NpemUgYm9yZGVyX3JpZ2h0IHBhZF81XCI+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGlkPVwiYm9sZFwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5ib2xkXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY2Nlc3MgYnRuc2V0IGNoaXBfc2l6ZSBjb250ZW50X2NvbG9yX2RhcmtfMSBtYXJfcmlnaHQzIG1hcl9sZWZ0MyBwdGxfYnJkcl9yYWRpdXMgaG92X2RhcmtlblwiXHJcbiAgICAgICAgICAgIFtwYXJ0aWNsZVRvb2x0aXBdPVwidGV4dC5ib2xkXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlQm9sZCgpLnJ1bigpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnb2tfYnV0dG9uX2NvbG9yJzogdGhpcy5lZGl0b3IuaXNBY3RpdmUoJ2JvbGQnKSB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtYm9sZCBmYS1md1wiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBpZD1cIml0YWxpY1wiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5pdGFsaWNcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFjY2VzcyBidG5zZXQgY2hpcF9zaXplIGNvbnRlbnRfY29sb3JfZGFya18xIG1hcl9yaWdodDMgbWFyX2xlZnQzIHB0bF9icmRyX3JhZGl1cyBob3ZfZGFya2VuXCJcclxuICAgICAgICAgICAgW3BhcnRpY2xlVG9vbHRpcF09XCJ0ZXh0Lml0YWxpY1wiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUl0YWxpYygpLnJ1bigpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnb2tfYnV0dG9uX2NvbG9yJzogdGhpcy5lZGl0b3IuaXNBY3RpdmUoJ2l0YWxpYycpIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1pdGFsaWMgZmEtZndcIj48L2k+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgaWQ9XCJzdHJpa2VcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRleHQuc3RyaWtlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY2Nlc3MgYnRuc2V0IGNoaXBfc2l6ZSBjb250ZW50X2NvbG9yX2RhcmtfMSBtYXJfcmlnaHQzIG1hcl9sZWZ0MyBwdGxfYnJkcl9yYWRpdXMgaG92X2RhcmtlblwiXHJcbiAgICAgICAgICAgIFtwYXJ0aWNsZVRvb2x0aXBdPVwidGV4dC5zdHJpa2VcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVTdHJpa2UoKS5ydW4oKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ29rX2J1dHRvbl9jb2xvcic6IHRoaXMuZWRpdG9yLmlzQWN0aXZlKCdzdHJpa2UnKSB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtc3RyaWtldGhyb3VnaCBmYS1md1wiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhcGFiaWxpdGllcy5saXN0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbCB2X2NlbnRlciBwdGxfYnJkcl9jb2xvciBwdGxfYnJkcl9zaXplIGJvcmRlcl9yaWdodCBwYWRfNVwiPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBpZD1cImJ1bGxldC1saXN0XCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0LmJ1bGxldGVkTGlzdFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWNjZXNzIGJ0bnNldCBjaGlwX3NpemUgY29udGVudF9jb2xvcl9kYXJrXzEgbWFyX3JpZ2h0MyBtYXJfbGVmdDMgcHRsX2JyZHJfcmFkaXVzIGhvdl9kYXJrZW5cIlxyXG4gICAgICAgICAgICBbcGFydGljbGVUb29sdGlwXT1cInRleHQuYnVsbGV0ZWRMaXN0XCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlQnVsbGV0TGlzdCgpLnJ1bigpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnb2tfYnV0dG9uX2NvbG9yJzogdGhpcy5lZGl0b3IuaXNBY3RpdmUoJ2J1bGxldC1saXN0JykgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWxpc3QgZmEtZndcIj48L2k+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgaWQ9XCJvcmRlcmVkLWxpc3RcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRleHQub3JkZXJlZExpc3RcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFjY2VzcyBidG5zZXQgY2hpcF9zaXplIGNvbnRlbnRfY29sb3JfZGFya18xIG1hcl9yaWdodDMgbWFyX2xlZnQzIHB0bF9icmRyX3JhZGl1cyBob3ZfZGFya2VuXCJcclxuICAgICAgICAgICAgW3BhcnRpY2xlVG9vbHRpcF09XCJ0ZXh0Lm9yZGVyZWRMaXN0XCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlT3JkZXJlZExpc3QoKS5ydW4oKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ29rX2J1dHRvbl9jb2xvcic6IHRoaXMuZWRpdG9yLmlzQWN0aXZlKCdvcmRlcmVkLWxpc3QnKSB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtbGlzdC1vbCBmYS1md1wiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhcGFiaWxpdGllcy5hbGlnbm1lbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHZfY2VudGVyIHB0bF9icmRyX2NvbG9yIHB0bF9icmRyX3NpemUgYm9yZGVyX3JpZ2h0IHBhZF81XCI+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGlkPVwibGVmdC1hbGlnblwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5sZWZ0QWxpZ25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFjY2VzcyBidG5zZXQgY2hpcF9zaXplIGNvbnRlbnRfY29sb3JfZGFya18xIG1hcl9yaWdodDMgbWFyX2xlZnQzIHB0bF9icmRyX3JhZGl1cyBob3ZfZGFya2VuXCJcclxuICAgICAgICAgICAgW3BhcnRpY2xlVG9vbHRpcF09XCJ0ZXh0LmxlZnRBbGlnblwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldFRleHRBbGlnbignbGVmdCcpLnJ1bigpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnb2tfYnV0dG9uX2NvbG9yJzogdGhpcy5lZGl0b3IuaXNBY3RpdmUoeyB0ZXh0QWxpZ246ICdsZWZ0JyB9KSB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtYWxpZ24tbGVmdCBmYS1md1wiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBpZD1cImNlbnRlci1hbGlnblwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5jZW50ZXJBbGlnblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWNjZXNzIGJ0bnNldCBjaGlwX3NpemUgY29udGVudF9jb2xvcl9kYXJrXzEgbWFyX3JpZ2h0MyBtYXJfbGVmdDMgcHRsX2JyZHJfcmFkaXVzIGhvdl9kYXJrZW5cIlxyXG4gICAgICAgICAgICBbcGFydGljbGVUb29sdGlwXT1cInRleHQuY2VudGVyQWxpZ25cIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5zZXRUZXh0QWxpZ24oJ2NlbnRlcicpLnJ1bigpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnb2tfYnV0dG9uX2NvbG9yJzogdGhpcy5lZGl0b3IuaXNBY3RpdmUoeyB0ZXh0QWxpZ246ICdjZW50ZXInIH0pIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1hbGlnbi1jZW50ZXIgZmEtZndcIj48L2k+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgaWQ9XCJyaWdodC1hbGlnblwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5yaWdodEFsaWduXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY2Nlc3MgYnRuc2V0IGNoaXBfc2l6ZSBjb250ZW50X2NvbG9yX2RhcmtfMSBtYXJfcmlnaHQzIG1hcl9sZWZ0MyBwdGxfYnJkcl9yYWRpdXMgaG92X2RhcmtlblwiXHJcbiAgICAgICAgICAgIFtwYXJ0aWNsZVRvb2x0aXBdPVwidGV4dC5yaWdodEFsaWduXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRvci5jaGFpbigpLmZvY3VzKCkuc2V0VGV4dEFsaWduKCdyaWdodCcpLnJ1bigpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnb2tfYnV0dG9uX2NvbG9yJzogdGhpcy5lZGl0b3IuaXNBY3RpdmUoeyB0ZXh0QWxpZ246ICdyaWdodCcgfSkgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWFsaWduLXJpZ2h0IGZhLWZ3XCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGlkPVwianVzdGlmeS1hbGlnblwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5qdXN0aWZ5QWxpZ25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFjY2VzcyBidG5zZXQgY2hpcF9zaXplIGNvbnRlbnRfY29sb3JfZGFya18xIG1hcl9yaWdodDMgbWFyX2xlZnQzIHB0bF9icmRyX3JhZGl1cyBob3ZfZGFya2VuXCJcclxuICAgICAgICAgICAgW3BhcnRpY2xlVG9vbHRpcF09XCJ0ZXh0Lmp1c3RpZnlBbGlnblwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldFRleHRBbGlnbignanVzdGlmeScpLnJ1bigpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnb2tfYnV0dG9uX2NvbG9yJzogdGhpcy5lZGl0b3IuaXNBY3RpdmUoeyB0ZXh0QWxpZ246ICdqdXN0aWZ5JyB9KSB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtYWxpZ24tanVzdGlmeSBmYS1md1wiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhcGFiaWxpdGllcy5saW5rXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbCB2X2NlbnRlciBwdGxfYnJkcl9jb2xvciBwdGxfYnJkcl9zaXplIGJvcmRlcl9yaWdodCBwYWRfNVwiPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBpZD1cImxpbmtcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRleHQuc2V0TGlua1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWNjZXNzIGJ0bnNldCBjaGlwX3NpemUgY29udGVudF9jb2xvcl9kYXJrXzEgbWFyX3JpZ2h0MyBtYXJfbGVmdDMgcHRsX2JyZHJfcmFkaXVzIGhvdl9kYXJrZW5cIlxyXG4gICAgICAgICAgICBbcGFydGljbGVUb29sdGlwXT1cInRleHQuc2V0TGlua1wiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvcGVuTGlua0RpYWxvZygpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnb2tfYnV0dG9uX2NvbG9yJzogdGhpcy5lZGl0b3IuaXNBY3RpdmUoJ2xpbmsnKSB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtbGluayBmYS1md1wiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBpZD1cInVubGlua1wiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5yZW1vdmVMaW5rXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY2Nlc3MgYnRuc2V0IGNoaXBfc2l6ZSBjb250ZW50X2NvbG9yX2RhcmtfMSBtYXJfcmlnaHQzIG1hcl9sZWZ0MyBwdGxfYnJkcl9yYWRpdXMgaG92X2RhcmtlblwiXHJcbiAgICAgICAgICAgIFtwYXJ0aWNsZVRvb2x0aXBdPVwidGV4dC5yZW1vdmVMaW5rXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInRoaXMuZWRpdG9yLmlzQWN0aXZlKCdsaW5rJykgPyBjaGFuZ2VFZGl0b3JMaW5rKCdyZW1vdmUnKSA6IG51bGxcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXRoaXMuZWRpdG9yLmlzQWN0aXZlKCdsaW5rJylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS11bmxpbmsgZmEtZndcIj48L2k+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXBhYmlsaXRpZXMuaW1hZ2VzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbCB2X2NlbnRlciBwdGxfYnJkcl9jb2xvciBwdGxfYnJkcl9zaXplIGJvcmRlcl9yaWdodCBwYWRfNVwiPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBpZD1cImltYWdlXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0aGlzLmVkaXRvci5pc0FjdGl2ZSgnaW1hZ2UnKSA/IHRleHQubW9kaWZ5SW1hZ2UgOiB0ZXh0LmFkZEltYWdlXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY2Nlc3MgYnRuc2V0IGNoaXBfc2l6ZSBjb250ZW50X2NvbG9yX2RhcmtfMSBtYXJfcmlnaHQzIG1hcl9sZWZ0MyBwdGxfYnJkcl9yYWRpdXMgaG92X2RhcmtlblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvcGVuSW1hZ2VEaWFsb2coKVwiXHJcbiAgICAgICAgICAgIFtwYXJ0aWNsZVRvb2x0aXBdPVwidGhpcy5lZGl0b3IuaXNBY3RpdmUoJ2ltYWdlJykgPyB0ZXh0Lm1vZGlmeUltYWdlIDogdGV4dC5hZGRJbWFnZVwiXHJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ29rX2J1dHRvbl9jb2xvcic6IHRoaXMuZWRpdG9yLmlzQWN0aXZlKCdpbWFnZScpIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1pbWFnZSBmYS1md1wiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbCB2X2NlbnRlciBwYWRfNVwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIGlkPVwiY2xlYXItZm9ybWF0XCJcclxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5jbGVhckZvcm1hdFwiXHJcbiAgICAgICAgICBjbGFzcz1cImFjY2VzcyBidG5zZXQgY2hpcF9zaXplIGNvbnRlbnRfY29sb3JfZGFya18xIG1hcl9yaWdodDMgbWFyX2xlZnQzIHB0bF9icmRyX3JhZGl1cyBob3ZfZGFya2VuXCJcclxuICAgICAgICAgIFtwYXJ0aWNsZVRvb2x0aXBdPVwidGV4dC5jbGVhckZvcm1hdFwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5jbGVhck5vZGVzKCkudW5zZXRBbGxNYXJrcygpLnJ1bigpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS10ZXh0LXNsYXNoIGZhLWZ3XCI+PC9pPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgY2xhc3M9XCJwYWRfMTAgcHRsX2lucHV0X3RleHRfc2l6ZSBzY3JvbGxfeWF1dG9cIiBbc3R5bGUuaGVpZ2h0XT1cInRoaXMuaGVpZ2h0XCI+XHJcbiAgICA8dGlwdGFwLWVkaXRvciBbZWRpdG9yXT1cImVkaXRvclwiIFsobmdNb2RlbCldPVwidmFsdWVcIj48L3RpcHRhcC1lZGl0b3I+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPHBhcnRpY2xlLWRpYWxvZ1xyXG4gIFt0aXRsZV09XCJkaWFsb2dUeXBlID09PSAnbGluaycgPyB0ZXh0Lm1vZGlmeUxpbmsgOiB0ZXh0Lm1vZGlmeUltYWdlXCJcclxuICB0aXRsZUNsYXNzPVwiaGVhZGVyX2NvbG9yIG1pbl9oNDBcIlxyXG4gIFtvYmplY3RdPVwic2hvd0RpYWxvZ1wiXHJcbiAgW2FsbG93Q2xvc2VdPVwiZmFsc2VcIlxyXG4gIFtib3JkZXJSYWRpdXNdPVwiYm9yZGVyUmFkaXVzXCJcclxuICB3aWR0aD1cIjQwMHB4XCJcclxuICBoZWlnaHQ9XCIxNTBweFwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwicGFkXzE1IHB0bF9pbnB1dF90ZXh0X3NpemVcIiBbc3R5bGUuaGVpZ2h0XT1cIndpbmRvdy5pbm5lcldpZHRoID4gNzY4ID8gJzcwcHgnIDogJ2NhbGMoMTAwJSAtIDQwcHgpJ1wiPlxyXG4gICAgPGlucHV0IGNsYXNzPVwiYWNjZXNzIGlucHV0IG1kXCJcclxuICAgICAgICAgICBbKG5nTW9kZWwpXT1cImRpYWxvZ0xpbmtcIlxyXG4gICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC51cmxcIlxyXG4gICAgICAgICAgIHBsYWNlaG9sZGVyPVwiZWcuIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb21cIlxyXG4gICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJjaGFuZ2VFZGl0b3JMaW5rKCdzYXZlJylcIlxyXG4gICAgLz5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sIG1pbl9oNDAgZm9vdGVyX2NvbG9yXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGNlbnRlcl9yaWdodCBwYWRfcmlnaHQxNSBwYWRfbGVmdDE1XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYWNjZXNzIGJ0bnNldCBjbGVhclwiIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5jYW5jZWxcIiAoY2xpY2spPVwiY2hhbmdlRWRpdG9yTGluaygnY2FuY2VsJylcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCIgcGFkXzVcIj57e3RleHQuY2FuY2VsfX08L2Rpdj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFyX2xyNSBwdGxfYnJkcl9zaXplIHB0bF9icmRyX2NvbG9yIGJvcmRlcl9sZWZ0XCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBjbGFzcz1cImFjY2VzcyBidG5zZXQgc3BhY2VkIG1kIGhvdl9nbG93IG9rX2J1dHRvbl9jb2xvciBwdGxfYnJkcl9yYWRpdXNcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0LnVwZGF0ZVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlRWRpdG9yTGluaygnc2F2ZScpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnJkciBib3JkZXJfcmlnaHQgbWFyX3JpZ2h0NSBwYWRfcmlnaHQ1XCI+PGkgY2xhc3M9XCJmYXMgZmEtY2hlY2tcIj48L2k+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2Pnt7dGV4dC51cGRhdGV9fTwvZGl2PlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L3BhcnRpY2xlLWRpYWxvZz5cclxuIl19
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9yaWNoLXRleHQvcmljaC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9yaWNoLXRleHQvcmljaC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sVUFBVSxNQUFNLHFCQUFxQixDQUFDO0FBQzdDLE9BQU8sSUFBSSxNQUFNLHdCQUF3QixDQUFDO0FBQzFDLE9BQU8sV0FBVyxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sU0FBUyxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLHlCQUF5QixDQUFDO0FBQzVDLE9BQU8sRUFBdUIsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQUl2RSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBUTtJQUMzQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7SUFDaEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBVUYsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixXQUFXLEdBQUcsRUFBRSxDQUFDO0lBR2pCLFlBQVksR0FBRyxLQUFLLENBQUM7SUFHckIsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUVqQixJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFB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Q0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUE7Z0JBQ3RFLENBQUM7Z0JBQ0QsTUFBTTtZQUNSO2dCQUNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBVyxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBVyxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBVyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBYztRQUNsQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQzt1R0EvTVUsaUJBQWlCOzJGQUFqQixpQkFBaUIsOFFBSmpCLENBQUMsd0JBQXdCLENBQUMsMEJDckJ2QyxrMVdBZ09BOzsyRkR2TWEsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLG9CQUFvQixhQUduQixDQUFDLHdCQUF3QixDQUFDLGlCQUN0QixpQkFBaUIsQ0FBQyxJQUFJOzhCQU1yQyxXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJRixRQUFRO3NCQURYLEtBQUs7Z0JBV04sSUFBSTtzQkFESCxLQUFLO2dCQXlCTixZQUFZO3NCQURYLEtBQUs7Z0JBV04sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtFZGl0b3J9IGZyb20gJ0B0aXB0YXAvY29yZSc7XHJcbmltcG9ydCBTdGFydGVyS2l0IGZyb20gJ0B0aXB0YXAvc3RhcnRlci1raXQnO1xyXG5pbXBvcnQgTGluayBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi1saW5rJztcclxuaW1wb3J0IFBsYWNlaG9sZGVyIGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXBsYWNlaG9sZGVyJztcclxuaW1wb3J0IFRleHRBbGlnbiBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi10ZXh0LWFsaWduJztcclxuaW1wb3J0IEltYWdlIGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLWltYWdlJztcclxuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtSaWNoVGV4dEVkaXRvclRleHR9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvcGFydGljbGUtY29tcG9uZW50LXRleHQubW9kZWwnO1xyXG5pbXBvcnQge1JpY2hUZXh0Q2FwYWJpbGl0aWVzfSBmcm9tICcuL3JpY2gtdGV4dC1jYXBhYmlsaXRpZXMubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFJJQ0hfVEVYVF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJpY2hUZXh0Q29tcG9uZW50KSxcclxuICBtdWx0aTogdHJ1ZVxyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwYXJ0aWNsZS1yaWNoLXRleHQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yaWNoLXRleHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JpY2gtdGV4dC5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbUklDSF9URVhUX1ZBTFVFX0FDQ0VTU09SXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmljaFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcGxhY2Vob2xkZXIgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBoaWRlQ29udHJvbHMgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBoZWlnaHQgPSAnMTAwcHgnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCByZWFkb25seSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9lZGl0YWJsZTtcclxuICB9XHJcblxyXG4gIHNldCByZWFkb25seShyZWFkb25seTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZWRpdGFibGUgPSAhcmVhZG9ubHk7XHJcbiAgICB0aGlzLmVkaXRvci5zZXRFZGl0YWJsZSh0aGlzLl9lZGl0YWJsZSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHRleHQ6IFJpY2hUZXh0RWRpdG9yVGV4dCA9IHtcclxuICAgIGhlYWRpbmcxOiAnSGVhZGluZyAxJyxcclxuICAgIGhlYWRpbmcyOiAnSGVhZGluZyAyJyxcclxuICAgIGJvbGQ6ICdCb2xkJyxcclxuICAgIGl0YWxpYzogJ0l0YWxpYycsXHJcbiAgICBzdHJpa2U6ICdTdHJpa2UnLFxyXG4gICAgYnVsbGV0ZWRMaXN0OiAnQnVsbGV0ZWQgTGlzdCcsXHJcbiAgICBvcmRlcmVkTGlzdDogJ09yZGVyZWQgTGlzdCcsXHJcbiAgICBsZWZ0QWxpZ246ICdMZWZ0IEFsaWduJyxcclxuICAgIGNlbnRlckFsaWduOiAnQ2VudGVyIEFsaWduJyxcclxuICAgIHJpZ2h0QWxpZ246ICdSaWdodCBBbGlnbicsXHJcbiAgICBqdXN0aWZ5QWxpZ246ICdKdXN0aWZ5IEFsaWduJyxcclxuICAgIHNldExpbms6ICdTZXQgTGluaycsXHJcbiAgICByZW1vdmVMaW5rOiAnUmVtb3ZlIExpbmsnLFxyXG4gICAgY2xlYXJGb3JtYXQ6ICdDbGVhciBGb3JtYXQnLFxyXG4gICAgbW9kaWZ5TGluazogJ01vZGlmeSBMaW5rJyxcclxuICAgIGNhbmNlbDogJ0NhbmNlbCcsXHJcbiAgICB1cGRhdGU6ICdVcGRhdGUnLFxyXG4gICAgdXJsOiAnVVJMJyxcclxuICAgIGFkZEltYWdlOiAnQWRkIEltYWdlJyxcclxuICAgIG1vZGlmeUltYWdlOiAnTW9kaWZ5IEltYWdlJ1xyXG4gIH0gYXMgUmljaFRleHRFZGl0b3JUZXh0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNhcGFiaWxpdGllcyA9IHtcclxuICAgIGhlYWRpbmc6IHRydWUsXHJcbiAgICB0ZXh0RGVjb3JhdGlvbjogdHJ1ZSxcclxuICAgIGxpc3Q6IHRydWUsXHJcbiAgICBhbGlnbm1lbnQ6IHRydWUsXHJcbiAgICBsaW5rOiB0cnVlLFxyXG4gICAgaW1hZ2VzOiBmYWxzZVxyXG4gIH0gYXMgUmljaFRleHRDYXBhYmlsaXRpZXM7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYm9yZGVyUmFkaXVzID0gJzBweCc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHRleHRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBodG1sVmFsdWU6IHN0cmluZyxcclxuICAgIHRleHRWYWx1ZTogc3RyaW5nXHJcbiAgfT4oKTtcclxuXHJcbiAgc2hvd0RpYWxvZzogYW55ID0gbnVsbDtcclxuICBkaWFsb2dMaW5rOiBzdHJpbmcgPSBudWxsIGFzIGFueTtcclxuICBkaWFsb2dUeXBlOiBzdHJpbmcgPSBudWxsIGFzIGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gY2FsbGVkIG9uIGNoYW5nZVxyXG4gICAqL1xyXG4gIG9uQ2hhbmdlOiAoKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBGdW5jdGlvbiBjYWxsZWQgb24gdG91Y2hcclxuICAgKi9cclxuICBvblRvdWNoZWQ6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyA9IG51bGwgYXMgYW55O1xyXG4gIHByaXZhdGUgX2VkaXRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHdpbmRvdyA9IHdpbmRvdztcclxuXHJcbiAgZWRpdG9yID0gbmV3IEVkaXRvcih7XHJcbiAgICBleHRlbnNpb25zOiBbXHJcbiAgICAgIFN0YXJ0ZXJLaXQsXHJcbiAgICAgIExpbmsuY29uZmlndXJlKHtcclxuICAgICAgICBvcGVuT25DbGljazogZmFsc2UsXHJcbiAgICAgICAgSFRNTEF0dHJpYnV0ZXM6IHtcclxuICAgICAgICAgIGNsYXNzOiAncmljaC10ZXh0LWxpbmsnLFxyXG4gICAgICAgICAgdGFyZ2V0OiAnX2JsYW5rJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pLFxyXG4gICAgICBUZXh0QWxpZ24uY29uZmlndXJlKHtcclxuICAgICAgICB0eXBlczogWydoZWFkaW5nJywgJ3BhcmFncmFwaCddLFxyXG5cclxuICAgICAgfSksXHJcbiAgICAgIFBsYWNlaG9sZGVyLmNvbmZpZ3VyZSh7XHJcbiAgICAgICAgcGxhY2Vob2xkZXI6ICgpID0+IHRoaXMucGxhY2Vob2xkZXJcclxuICAgICAgfSksXHJcbiAgICAgIEltYWdlXHJcbiAgICBdLFxyXG4gICAgZWRpdG9yUHJvcHM6IHtcclxuICAgICAgYXR0cmlidXRlczoge1xyXG4gICAgICAgIGNsYXNzOiAnJyxcclxuICAgICAgICBzcGVsbGNoZWNrOiAndHJ1ZScsXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgZW5hYmxlUGFzdGVSdWxlczogW0xpbmssIFN0YXJ0ZXJLaXQsIFRleHRBbGlnbl1cclxuICB9KTtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlID09PSAnPHA+PC9wPicpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5fdmFsdWUpIHtcclxuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0b3Iuc2V0RWRpdGFibGUodGhpcy5fZWRpdGFibGUpO1xyXG5cclxuICAgIHRoaXMuZWRpdG9yLm9uKCd1cGRhdGUnLCAoe2VkaXRvcn0pID0+IHtcclxuICAgICAgdGhpcy50ZXh0Q2hhbmdlZC5lbWl0KHtcclxuICAgICAgICB0ZXh0VmFsdWU6IGVkaXRvci5nZXRUZXh0KCksXHJcbiAgICAgICAgaHRtbFZhbHVlOiB0aGlzLl92YWx1ZVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub25Ub3VjaGVkKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5fdmFsdWUpIHtcclxuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0b3Iuc2V0RWRpdGFibGUoaXNEaXNhYmxlZCk7XHJcbiAgfVxyXG5cclxuICBvcGVuTGlua0RpYWxvZygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHByZXZpb3VzVXJsID0gdGhpcy5lZGl0b3IuZ2V0QXR0cmlidXRlcygnbGluaycpLmhyZWY7XHJcbiAgICB0aGlzLnNob3dEaWFsb2cgPSB7fTtcclxuICAgIHRoaXMuZGlhbG9nTGluayA9IHByZXZpb3VzVXJsO1xyXG4gICAgdGhpcy5kaWFsb2dUeXBlID0gJ2xpbmsnO1xyXG4gIH1cclxuXHJcbiAgb3BlbkltYWdlRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcHJldmlvdXNVcmwgPSB0aGlzLmVkaXRvci5nZXRBdHRyaWJ1dGVzKCdpbWFnZScpLnNyYztcclxuICAgIHRoaXMuc2hvd0RpYWxvZyA9IHt9O1xyXG4gICAgdGhpcy5kaWFsb2dMaW5rID0gcHJldmlvdXNVcmw7XHJcbiAgICB0aGlzLmRpYWxvZ1R5cGUgPSAnaW1hZ2UnO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlRWRpdG9yTGluayhhY3Rpb246IHN0cmluZyk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChhY3Rpb24pIHtcclxuICAgICAgY2FzZSAncmVtb3ZlJzpcclxuICAgICAgICB0aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkuZXh0ZW5kTWFya1JhbmdlKCdsaW5rJykudW5zZXRMaW5rKCkucnVuKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3NhdmUnOlxyXG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1R5cGUgPT09ICdsaW5rJykge1xyXG4gICAgICAgICAgdGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLmV4dGVuZE1hcmtSYW5nZSgnbGluaycpLnNldExpbmsoe1xyXG4gICAgICAgICAgICBocmVmOiB0aGlzLmRpYWxvZ0xpbmssXHJcbiAgICAgICAgICAgIHRhcmdldDogdGhpcy5kaWFsb2dMaW5rICYmICF0aGlzLmRpYWxvZ0xpbmsuc3RhcnRzV2l0aCgnLycpID8gJ19ibGFuaycgOiAnX3NlbGYnXHJcbiAgICAgICAgICB9KS5ydW4oKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZGlhbG9nVHlwZSA9PT0gJ2ltYWdlJykge1xyXG4gICAgICAgICAgdGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldEltYWdlKHsgc3JjOiB0aGlzLmRpYWxvZ0xpbmsgfSkucnVuKClcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgY29uc29sZS5sb2coYWN0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRpYWxvZ0xpbmsgPSBudWxsIGFzIGFueTtcclxuICAgIHRoaXMuZGlhbG9nVHlwZSA9IG51bGwgYXMgYW55O1xyXG4gICAgdGhpcy5zaG93RGlhbG9nID0gbnVsbCBhcyBhbnk7XHJcbiAgfVxyXG5cclxuICBmb2N1cyhwb3NpdGlvbj86IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCFwb3NpdGlvbikge1xyXG4gICAgICBwb3NpdGlvbiA9ICdzdGFydCc7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5lZGl0b3IuY29tbWFuZHMuZm9jdXMocG9zaXRpb24pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd19ibG9jayB3aWR0aDEwMCBjb250ZW50X2NvbG9yIHB0bF9icmRyX3JhZGl1cyBwdGxfYnJkcl9jb2xvciBwdGxfYnJkcl9zaXplXCIgc3R5bGU9XCJvdmVyZmxvdzogaGlkZGVuXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0aGlzLmhpZGVDb250cm9scyAmJiB0aGlzLmVkaXRvci5pc0VkaXRhYmxlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IHB0bF9pbnB1dF9iZ19jb2xvciBwdGxfYnJkcl9jb2xvciBwdGxfYnJkcl9zaXplIGJvcmRlcl9ib3R0b20gd3JhcCBoaWRlX2VsZW1lbnRcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhcGFiaWxpdGllcy5oZWFkaW5nXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbCB2X2NlbnRlciBwdGxfYnJkcl9jb2xvciBwdGxfYnJkcl9zaXplIGJvcmRlcl9yaWdodCBwYWRfNVwiPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBpZD1cImhlYWRpbmcxXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0LmhlYWRpbmcxXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY2Nlc3MgYnRuc2V0IGNoaXBfc2l6ZSBjb250ZW50X2NvbG9yX2RhcmtfMSBtYXJfcmlnaHQ1IG1hcl9sZWZ0NSBwdGxfYnJkcl9yYWRpdXMgaG92X2RhcmtlblwiXHJcbiAgICAgICAgICAgIFtwYXJ0aWNsZVRvb2x0aXBdPVwidGV4dC5oZWFkaW5nMVwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUhlYWRpbmcoeyBsZXZlbDogMSB9KS5ydW4oKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ29rX2J1dHRvbl9jb2xvcic6IHRoaXMuZWRpdG9yLmlzQWN0aXZlKCdoZWFkaW5nJywgeyBsZXZlbDogMSB9KSB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtaGVhZGVyIGZhLWZ3XCI+PC9pPjFcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBpZD1cImhlYWRpbmcyXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0LmhlYWRpbmcyXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY2Nlc3MgYnRuc2V0IGNoaXBfc2l6ZSBjb250ZW50X2NvbG9yX2RhcmtfMSBtYXJfcmlnaHQ1IG1hcl9sZWZ0NSBwdGxfYnJkcl9yYWRpdXMgaG92X2RhcmtlblwiXHJcbiAgICAgICAgICAgIFtwYXJ0aWNsZVRvb2x0aXBdPVwidGV4dC5oZWFkaW5nMlwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUhlYWRpbmcoeyBsZXZlbDogMiB9KS5ydW4oKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ29rX2J1dHRvbl9jb2xvcic6IHRoaXMuZWRpdG9yLmlzQWN0aXZlKCdoZWFkaW5nJywgeyBsZXZlbDogMiB9KSB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtaGVhZGVyIGZhLWZ3XCI+PC9pPjJcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhcGFiaWxpdGllcy50ZXh0RGVjb3JhdGlvblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgdl9jZW50ZXIgcHRsX2JyZHJfY29sb3IgcHRsX2JyZHJfc2l6ZSBib3JkZXJfcmlnaHQgcGFkXzVcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgaWQ9XCJib2xkXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0LmJvbGRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFjY2VzcyBidG5zZXQgY2hpcF9zaXplIGNvbnRlbnRfY29sb3JfZGFya18xIG1hcl9yaWdodDMgbWFyX2xlZnQzIHB0bF9icmRyX3JhZGl1cyBob3ZfZGFya2VuXCJcclxuICAgICAgICAgICAgW3BhcnRpY2xlVG9vbHRpcF09XCJ0ZXh0LmJvbGRcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVCb2xkKCkucnVuKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdva19idXR0b25fY29sb3InOiB0aGlzLmVkaXRvci5pc0FjdGl2ZSgnYm9sZCcpIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1ib2xkIGZhLWZ3XCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGlkPVwiaXRhbGljXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0Lml0YWxpY1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWNjZXNzIGJ0bnNldCBjaGlwX3NpemUgY29udGVudF9jb2xvcl9kYXJrXzEgbWFyX3JpZ2h0MyBtYXJfbGVmdDMgcHRsX2JyZHJfcmFkaXVzIGhvdl9kYXJrZW5cIlxyXG4gICAgICAgICAgICBbcGFydGljbGVUb29sdGlwXT1cInRleHQuaXRhbGljXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlSXRhbGljKCkucnVuKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdva19idXR0b25fY29sb3InOiB0aGlzLmVkaXRvci5pc0FjdGl2ZSgnaXRhbGljJykgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWl0YWxpYyBmYS1md1wiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBpZD1cInN0cmlrZVwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5zdHJpa2VcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFjY2VzcyBidG5zZXQgY2hpcF9zaXplIGNvbnRlbnRfY29sb3JfZGFya18xIG1hcl9yaWdodDMgbWFyX2xlZnQzIHB0bF9icmRyX3JhZGl1cyBob3ZfZGFya2VuXCJcclxuICAgICAgICAgICAgW3BhcnRpY2xlVG9vbHRpcF09XCJ0ZXh0LnN0cmlrZVwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZVN0cmlrZSgpLnJ1bigpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnb2tfYnV0dG9uX2NvbG9yJzogdGhpcy5lZGl0b3IuaXNBY3RpdmUoJ3N0cmlrZScpIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1zdHJpa2V0aHJvdWdoIGZhLWZ3XCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FwYWJpbGl0aWVzLmxpc3RcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHZfY2VudGVyIHB0bF9icmRyX2NvbG9yIHB0bF9icmRyX3NpemUgYm9yZGVyX3JpZ2h0IHBhZF81XCI+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGlkPVwiYnVsbGV0LWxpc3RcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRleHQuYnVsbGV0ZWRMaXN0XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY2Nlc3MgYnRuc2V0IGNoaXBfc2l6ZSBjb250ZW50X2NvbG9yX2RhcmtfMSBtYXJfcmlnaHQzIG1hcl9sZWZ0MyBwdGxfYnJkcl9yYWRpdXMgaG92X2RhcmtlblwiXHJcbiAgICAgICAgICAgIFtwYXJ0aWNsZVRvb2x0aXBdPVwidGV4dC5idWxsZXRlZExpc3RcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVCdWxsZXRMaXN0KCkucnVuKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdva19idXR0b25fY29sb3InOiB0aGlzLmVkaXRvci5pc0FjdGl2ZSgnYnVsbGV0LWxpc3QnKSB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtbGlzdCBmYS1md1wiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBpZD1cIm9yZGVyZWQtbGlzdFwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5vcmRlcmVkTGlzdFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWNjZXNzIGJ0bnNldCBjaGlwX3NpemUgY29udGVudF9jb2xvcl9kYXJrXzEgbWFyX3JpZ2h0MyBtYXJfbGVmdDMgcHRsX2JyZHJfcmFkaXVzIGhvdl9kYXJrZW5cIlxyXG4gICAgICAgICAgICBbcGFydGljbGVUb29sdGlwXT1cInRleHQub3JkZXJlZExpc3RcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVPcmRlcmVkTGlzdCgpLnJ1bigpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnb2tfYnV0dG9uX2NvbG9yJzogdGhpcy5lZGl0b3IuaXNBY3RpdmUoJ29yZGVyZWQtbGlzdCcpIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1saXN0LW9sIGZhLWZ3XCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FwYWJpbGl0aWVzLmFsaWdubWVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgdl9jZW50ZXIgcHRsX2JyZHJfY29sb3IgcHRsX2JyZHJfc2l6ZSBib3JkZXJfcmlnaHQgcGFkXzVcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgaWQ9XCJsZWZ0LWFsaWduXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0LmxlZnRBbGlnblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWNjZXNzIGJ0bnNldCBjaGlwX3NpemUgY29udGVudF9jb2xvcl9kYXJrXzEgbWFyX3JpZ2h0MyBtYXJfbGVmdDMgcHRsX2JyZHJfcmFkaXVzIGhvdl9kYXJrZW5cIlxyXG4gICAgICAgICAgICBbcGFydGljbGVUb29sdGlwXT1cInRleHQubGVmdEFsaWduXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRvci5jaGFpbigpLmZvY3VzKCkuc2V0VGV4dEFsaWduKCdsZWZ0JykucnVuKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdva19idXR0b25fY29sb3InOiB0aGlzLmVkaXRvci5pc0FjdGl2ZSh7IHRleHRBbGlnbjogJ2xlZnQnIH0pIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1hbGlnbi1sZWZ0IGZhLWZ3XCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGlkPVwiY2VudGVyLWFsaWduXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0LmNlbnRlckFsaWduXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY2Nlc3MgYnRuc2V0IGNoaXBfc2l6ZSBjb250ZW50X2NvbG9yX2RhcmtfMSBtYXJfcmlnaHQzIG1hcl9sZWZ0MyBwdGxfYnJkcl9yYWRpdXMgaG92X2RhcmtlblwiXHJcbiAgICAgICAgICAgIFtwYXJ0aWNsZVRvb2x0aXBdPVwidGV4dC5jZW50ZXJBbGlnblwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJlZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldFRleHRBbGlnbignY2VudGVyJykucnVuKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdva19idXR0b25fY29sb3InOiB0aGlzLmVkaXRvci5pc0FjdGl2ZSh7IHRleHRBbGlnbjogJ2NlbnRlcicgfSkgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWFsaWduLWNlbnRlciBmYS1md1wiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBpZD1cInJpZ2h0LWFsaWduXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0LnJpZ2h0QWxpZ25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFjY2VzcyBidG5zZXQgY2hpcF9zaXplIGNvbnRlbnRfY29sb3JfZGFya18xIG1hcl9yaWdodDMgbWFyX2xlZnQzIHB0bF9icmRyX3JhZGl1cyBob3ZfZGFya2VuXCJcclxuICAgICAgICAgICAgW3BhcnRpY2xlVG9vbHRpcF09XCJ0ZXh0LnJpZ2h0QWxpZ25cIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5zZXRUZXh0QWxpZ24oJ3JpZ2h0JykucnVuKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdva19idXR0b25fY29sb3InOiB0aGlzLmVkaXRvci5pc0FjdGl2ZSh7IHRleHRBbGlnbjogJ3JpZ2h0JyB9KSB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtYWxpZ24tcmlnaHQgZmEtZndcIj48L2k+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgaWQ9XCJqdXN0aWZ5LWFsaWduXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0Lmp1c3RpZnlBbGlnblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYWNjZXNzIGJ0bnNldCBjaGlwX3NpemUgY29udGVudF9jb2xvcl9kYXJrXzEgbWFyX3JpZ2h0MyBtYXJfbGVmdDMgcHRsX2JyZHJfcmFkaXVzIGhvdl9kYXJrZW5cIlxyXG4gICAgICAgICAgICBbcGFydGljbGVUb29sdGlwXT1cInRleHQuanVzdGlmeUFsaWduXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRvci5jaGFpbigpLmZvY3VzKCkuc2V0VGV4dEFsaWduKCdqdXN0aWZ5JykucnVuKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdva19idXR0b25fY29sb3InOiB0aGlzLmVkaXRvci5pc0FjdGl2ZSh7IHRleHRBbGlnbjogJ2p1c3RpZnknIH0pIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1hbGlnbi1qdXN0aWZ5IGZhLWZ3XCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FwYWJpbGl0aWVzLmxpbmtcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHZfY2VudGVyIHB0bF9icmRyX2NvbG9yIHB0bF9icmRyX3NpemUgYm9yZGVyX3JpZ2h0IHBhZF81XCI+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGlkPVwibGlua1wiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGV4dC5zZXRMaW5rXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhY2Nlc3MgYnRuc2V0IGNoaXBfc2l6ZSBjb250ZW50X2NvbG9yX2RhcmtfMSBtYXJfcmlnaHQzIG1hcl9sZWZ0MyBwdGxfYnJkcl9yYWRpdXMgaG92X2RhcmtlblwiXHJcbiAgICAgICAgICAgIFtwYXJ0aWNsZVRvb2x0aXBdPVwidGV4dC5zZXRMaW5rXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5MaW5rRGlhbG9nKClcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdva19idXR0b25fY29sb3InOiB0aGlzLmVkaXRvci5pc0FjdGl2ZSgnbGluaycpIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1saW5rIGZhLWZ3XCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGlkPVwidW5saW5rXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0LnJlbW92ZUxpbmtcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFjY2VzcyBidG5zZXQgY2hpcF9zaXplIGNvbnRlbnRfY29sb3JfZGFya18xIG1hcl9yaWdodDMgbWFyX2xlZnQzIHB0bF9icmRyX3JhZGl1cyBob3ZfZGFya2VuXCJcclxuICAgICAgICAgICAgW3BhcnRpY2xlVG9vbHRpcF09XCJ0ZXh0LnJlbW92ZUxpbmtcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwidGhpcy5lZGl0b3IuaXNBY3RpdmUoJ2xpbmsnKSA/IGNoYW5nZUVkaXRvckxpbmsoJ3JlbW92ZScpIDogbnVsbFwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhdGhpcy5lZGl0b3IuaXNBY3RpdmUoJ2xpbmsnKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXVubGluayBmYS1md1wiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhcGFiaWxpdGllcy5pbWFnZXNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIHZfY2VudGVyIHB0bF9icmRyX2NvbG9yIHB0bF9icmRyX3NpemUgYm9yZGVyX3JpZ2h0IHBhZF81XCI+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGlkPVwiaW1hZ2VcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRoaXMuZWRpdG9yLmlzQWN0aXZlKCdpbWFnZScpID8gdGV4dC5tb2RpZnlJbWFnZSA6IHRleHQuYWRkSW1hZ2VcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFjY2VzcyBidG5zZXQgY2hpcF9zaXplIGNvbnRlbnRfY29sb3JfZGFya18xIG1hcl9yaWdodDMgbWFyX2xlZnQzIHB0bF9icmRyX3JhZGl1cyBob3ZfZGFya2VuXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5JbWFnZURpYWxvZygpXCJcclxuICAgICAgICAgICAgW3BhcnRpY2xlVG9vbHRpcF09XCJ0aGlzLmVkaXRvci5pc0FjdGl2ZSgnaW1hZ2UnKSA/IHRleHQubW9kaWZ5SW1hZ2UgOiB0ZXh0LmFkZEltYWdlXCJcclxuICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnb2tfYnV0dG9uX2NvbG9yJzogdGhpcy5lZGl0b3IuaXNBY3RpdmUoJ2ltYWdlJykgfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWltYWdlIGZhLWZ3XCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sIHZfY2VudGVyIHBhZF81XCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgaWQ9XCJjbGVhci1mb3JtYXRcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0LmNsZWFyRm9ybWF0XCJcclxuICAgICAgICAgIGNsYXNzPVwiYWNjZXNzIGJ0bnNldCBjaGlwX3NpemUgY29udGVudF9jb2xvcl9kYXJrXzEgbWFyX3JpZ2h0MyBtYXJfbGVmdDMgcHRsX2JyZHJfcmFkaXVzIGhvdl9kYXJrZW5cIlxyXG4gICAgICAgICAgW3BhcnRpY2xlVG9vbHRpcF09XCJ0ZXh0LmNsZWFyRm9ybWF0XCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuICAgICAgICAgIChjbGljayk9XCJlZGl0b3IuY2hhaW4oKS5mb2N1cygpLmNsZWFyTm9kZXMoKS51bnNldEFsbE1hcmtzKCkucnVuKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXRleHQtc2xhc2ggZmEtZndcIj48L2k+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPGRpdiBjbGFzcz1cInBhZF8xMCBwdGxfaW5wdXRfdGV4dF9zaXplIHNjcm9sbF95YXV0b1wiIFtzdHlsZS5oZWlnaHRdPVwidGhpcy5oZWlnaHRcIj5cclxuICAgIDx0aXB0YXAtZWRpdG9yIFtlZGl0b3JdPVwiZWRpdG9yXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiPjwvdGlwdGFwLWVkaXRvcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48cGFydGljbGUtZGlhbG9nXHJcbiAgW3RpdGxlXT1cImRpYWxvZ1R5cGUgPT09ICdsaW5rJyA/IHRleHQubW9kaWZ5TGluayA6IHRleHQubW9kaWZ5SW1hZ2VcIlxyXG4gIHRpdGxlQ2xhc3M9XCJoZWFkZXJfY29sb3IgbWluX2g0MFwiXHJcbiAgW29iamVjdF09XCJzaG93RGlhbG9nXCJcclxuICBbYWxsb3dDbG9zZV09XCJmYWxzZVwiXHJcbiAgW2JvcmRlclJhZGl1c109XCJib3JkZXJSYWRpdXNcIlxyXG4gIHdpZHRoPVwiNDAwcHhcIlxyXG4gIGhlaWdodD1cIjE1MHB4XCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJwYWRfMTUgcHRsX2lucHV0X3RleHRfc2l6ZVwiIFtzdHlsZS5oZWlnaHRdPVwid2luZG93LmlubmVyV2lkdGggPiA3NjggPyAnNzBweCcgOiAnY2FsYygxMDAlIC0gNDBweCknXCI+XHJcbiAgICA8aW5wdXQgY2xhc3M9XCJhY2Nlc3MgaW5wdXQgbWRcIlxyXG4gICAgICAgICAgIFsobmdNb2RlbCldPVwiZGlhbG9nTGlua1wiXHJcbiAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0LnVybFwiXHJcbiAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlZy4gaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbVwiXHJcbiAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImNoYW5nZUVkaXRvckxpbmsoJ3NhdmUnKVwiXHJcbiAgICAvPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wgbWluX2g0MCBmb290ZXJfY29sb3JcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgY2VudGVyX3JpZ2h0IHBhZF9yaWdodDE1IHBhZF9sZWZ0MTVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJhY2Nlc3MgYnRuc2V0IGNsZWFyXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0ZXh0LmNhbmNlbFwiIChjbGljayk9XCJjaGFuZ2VFZGl0b3JMaW5rKCdjYW5jZWwnKVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIiBwYWRfNVwiPnt7dGV4dC5jYW5jZWx9fTwvZGl2PlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXJfbHI1IHB0bF9icmRyX3NpemUgcHRsX2JyZHJfY29sb3IgYm9yZGVyX2xlZnRcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIGNsYXNzPVwiYWNjZXNzIGJ0bnNldCBzcGFjZWQgbWQgaG92X2dsb3cgb2tfYnV0dG9uX2NvbG9yIHB0bF9icmRyX3JhZGl1c1wiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRleHQudXBkYXRlXCJcclxuICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VFZGl0b3JMaW5rKCdzYXZlJylcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJicmRyIGJvcmRlcl9yaWdodCBtYXJfcmlnaHQ1IHBhZF9yaWdodDVcIj48aSBjbGFzcz1cImZhcyBmYS1jaGVja1wiPjwvaT48L2Rpdj5cclxuICAgICAgICAgIDxkaXY+e3t0ZXh0LnVwZGF0ZX19PC9kaXY+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvcGFydGljbGUtZGlhbG9nPlxyXG4iXX0=
@@ -11,7 +11,7 @@ export class TooltipDirective {
11
11
  * The number of pixels from the host to offset the tooltip
12
12
  * @private
13
13
  */
14
- TOOLTIP_OFFSET = 10;
14
+ TOOLTIP_OFFSET = 15;
15
15
  /**
16
16
  * Tooltip text input
17
17
  * @param text the text to set for the tooltip
@@ -378,4 +378,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
378
378
  type: HostListener,
379
379
  args: ['click']
380
380
  }] } });
381
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXVCLE1BQU0sZUFBZSxDQUFDOztBQUUvRjs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sZ0JBQWdCO0lBZ0dQO0lBQTBDO0lBOUY5RDs7O09BR0c7SUFDYyxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBRXJDOzs7T0FHRztJQUNILElBQ0ksZUFBZSxDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFFbEIsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLGVBQWUsS0FBYSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBRXBEOztPQUVHO0lBRUgsZUFBZSxHQUF3QyxRQUFRLENBQUM7SUFFaEU7OztPQUdHO0lBQ0gsSUFDSSxlQUFlLENBQUMsUUFBaUI7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztRQUNqQyxJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENB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RSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQ25FLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxxQkFBcUI7UUFDM0IsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM5QyxRQUFRLEVBQUUsQ0FBQztRQUNiLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGlCQUFpQixDQUFDLE9BQVksRUFBRSxVQUFzQixFQUFFO1FBQzlELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDL0IsT0FBTyxDQUFDLFVBQVU7WUFDaEIsQ0FBQyxDQUFDLE9BQU87WUFDVCxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7dUdBdFpVLGdCQUFnQjsyRkFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBRTlCO3VHQWNLLGVBQWU7c0JBRGxCLEtBQUs7Z0JBbUJOLGVBQWU7c0JBRGQsS0FBSztnQkFRRixlQUFlO3NCQURsQixLQUFLO2dCQXdFTixZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWTtnQkFTMUIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBUzFCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBEaXJlY3RpdmUgdG8gY3JlYXRlIGEgdG9vbHRpcCBhcm91bmQgdGhlIGhvc3QgZWxlbWVudFxyXG4gKiBUT0RPOiBPcGVuL0Nsb3NlIGFuaW1hdGlvbiB3aXRoIEFuaW1hdGlvbkZhY3RvcnlcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3BhcnRpY2xlVG9vbHRpcF0nXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBudW1iZXIgb2YgcGl4ZWxzIGZyb20gdGhlIGhvc3QgdG8gb2Zmc2V0IHRoZSB0b29sdGlwXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IFRPT0xUSVBfT0ZGU0VUID0gMTA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvb2x0aXAgdGV4dCBpbnB1dFxyXG4gICAqIEBwYXJhbSB0ZXh0IHRoZSB0ZXh0IHRvIHNldCBmb3IgdGhlIHRvb2x0aXBcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBwYXJ0aWNsZVRvb2x0aXAodGV4dDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl90ZXh0ID0gdGV4dDtcclxuXHJcbiAgICBpZiAoISF0ZXh0KSB7XHJcbiAgICAgIGlmICghIXRoaXMudG9vbHRpcD8ucGFyZW50RWxlbWVudCkge1xyXG4gICAgICAgIHRoaXMuc2V0VG9vbHRpcFRleHQoKTtcclxuICAgICAgICB0aGlzLmFsaWduVG9vbHRpcCgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRlbGV0ZVRvb2x0aXAoKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IHBhcnRpY2xlVG9vbHRpcCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fdGV4dDsgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGUgZGlyZWN0aW9uIG9mIHRoZSB0b29sdGlwIGFyb3VuZCB0aGUgaG9zdCBlbGVtZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICB0b29sdGlwUG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgfCAndG9wJyB8ICdib3R0b20nID0gJ2JvdHRvbSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdG9vbHRpcFxyXG4gICAqIEBwYXJhbSBkaXNhYmxlZCBkaXNhYmxlZCBvciBub3RcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCB0b29sdGlwRGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3Rvb2x0aXBEaXNhYmxlZCA9IGRpc2FibGVkO1xyXG4gICAgaWYgKGRpc2FibGVkICYmICEhdGhpcy50b29sdGlwPy5wYXJlbnRFbGVtZW50KSB7XHJcbiAgICAgIHRoaXMuZGVsZXRlVG9vbHRpcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHRvb2x0aXBEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl90b29sdGlwRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGUgRElWIGVsZW1lbnQgaG91c2luZyB0aGUgdG9vbHRpcFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0b29sdGlwOiBIVE1MRGl2RWxlbWVudCA9IG51bGwgYXMgYW55O1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgdG9vbHRpcCB0ZXh0XHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIF90ZXh0OiBzdHJpbmcgPSBudWxsIGFzIGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciBvciBub3QgdGhlIHRvb2x0aXAgaXMgZGlzYWJsZWRcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3Rvb2x0aXBEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBBcnJheSBvZiBzY3JvbGwgdW5saXN0ZW4gZnVuY3Rpb25zXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHNjcm9sbFVubGlzdGVuZXJzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBHZXQgd2luZG93IHNjcm9sbCB0b3BcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGdldFdpbmRvd1Njcm9sbFRvcCgpOiBudW1iZXIge1xyXG4gICAgY29uc3QgeyBzY3JvbGxUb3AsIGNsaWVudFRvcCB9ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgcmV0dXJuICh3aW5kb3cuc2Nyb2xsWSA/PyBzY3JvbGxUb3ApIC0gKGNsaWVudFRvcCA/PyAwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB3aW5kb3cgc2Nyb2xsIGxlZnRcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGdldFdpbmRvd1Njcm9sbExlZnQoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCwgY2xpZW50TGVmdCB9ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgcmV0dXJuICh3aW5kb3cuc2Nyb2xsWCA/PyBzY3JvbGxMZWZ0KSAtIChjbGllbnRMZWZ0ID8/IDApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVwZW5kZW5jeSBpbmplY3Rpb24gc2l0ZVxyXG4gICAqIEBwYXJhbSBlbGVtZW50IHRoZSBob3N0IGVsZW1lbnRcclxuICAgKiBAcGFyYW0gcmVuZGVyZXIgdGhlIEFuZ3VsYXIgcmVuZGVyZXJcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXN0cm95IGRpcmVjdGl2ZSwgaW52b2tlIHNjcm9sbCB1bmxpc3RlbmVyc1xyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW1vdmVTY3JvbGxMaXN0ZW5lcnMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSBob3N0IG1vdXNlIGVudGVyIGV2ZW50XHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXHJcbiAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93VG9vbHRpcCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIGhvc3QgbW91c2UgbGVhdmUgZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcclxuICBvbk1vdXNlTGVhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGV0ZVRvb2x0aXAoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSBob3N0IGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGV0ZVRvb2x0aXAoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSB0b29sdGlwLCBzZXQgdGhlIHRleHQgYW5kIGFsaWduIGl0XHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHNob3dUb29sdGlwKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnRvb2x0aXBEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmNyZWF0ZVRvb2x0aXAoKTtcclxuICAgICAgdGhpcy5zZXRUb29sdGlwVGV4dCgpO1xyXG4gICAgICB0aGlzLmFsaWduVG9vbHRpcCgpO1xyXG5cclxuICAgICAgdGhpcy5hZGRTY3JvbGxMaXN0ZW5lcnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCB0aGUgdG9vbHRpcCB0byB0aGUgRE9NXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZVRvb2x0aXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGV0ZVRvb2x0aXAoKTtcclxuXHJcbiAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLnRvb2x0aXApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdwYXJ0aWNsZV90b29sdGlwJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdG9vbHRpcCB0ZXh0XHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHNldFRvb2x0aXBUZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLnRvb2x0aXAsICdpbm5lckhUTUwnLCB0aGlzLnBhcnRpY2xlVG9vbHRpcCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBbGlnbiB0aGUgdG9vbHRpcCB0byB0aGUgaW5wdXQgcG9zaXRpb24gb3IgdGhlIG5leHQgYmVzdCBmaXRcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWxpZ25Ub29sdGlwKCk6IHZvaWQge1xyXG4gICAgc3dpdGNoICh0aGlzLnRvb2x0aXBQb3NpdGlvbikge1xyXG4gICAgICBjYXNlICdsZWZ0JzpcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ2xlZnQnKTtcclxuICAgICAgICB0aGlzLmFsaWduTGVmdCgpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy50b29sdGlwT3V0T2ZXaW5kb3coKSkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXAsICdsZWZ0Jyk7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ3RvcCcpO1xyXG4gICAgICAgICAgdGhpcy5hbGlnblRvcCgpO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLnRvb2x0aXBPdXRPZldpbmRvdygpKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwLCAndG9wJyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCAncmlnaHQnKTtcclxuICAgICAgICAgICAgdGhpcy5hbGlnblJpZ2h0KCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy50b29sdGlwT3V0T2ZXaW5kb3coKSkge1xyXG4gICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwLCAncmlnaHQnKTtcclxuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ2JvdHRvbScpO1xyXG4gICAgICAgICAgICAgIHRoaXMuYWxpZ25Cb3R0b20oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndG9wJzpcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ3RvcCcpO1xyXG4gICAgICAgIHRoaXMuYWxpZ25Ub3AoKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcE91dE9mV2luZG93KCkpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwLCAndG9wJyk7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ3JpZ2h0Jyk7XHJcbiAgICAgICAgICB0aGlzLmFsaWduUmlnaHQoKTtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy50b29sdGlwT3V0T2ZXaW5kb3coKSkge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudG9vbHRpcCwgJ3JpZ2h0Jyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCAnYm90dG9tJyk7XHJcbiAgICAgICAgICAgIHRoaXMuYWxpZ25Cb3R0b20oKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRvb2x0aXBPdXRPZldpbmRvdygpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXAsICdib3R0b20nKTtcclxuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ2xlZnQnKTtcclxuICAgICAgICAgICAgICB0aGlzLmFsaWduTGVmdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyaWdodCc6XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdyaWdodCcpO1xyXG4gICAgICAgIHRoaXMuYWxpZ25SaWdodCgpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy50b29sdGlwT3V0T2ZXaW5kb3coKSkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXAsICdyaWdodCcpO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdib3R0b20nKTtcclxuICAgICAgICAgIHRoaXMuYWxpZ25Cb3R0b20oKTtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy50b29sdGlwT3V0T2ZXaW5kb3coKSkge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudG9vbHRpcCwgJ2JvdHRvbScpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ2xlZnQnKTtcclxuICAgICAgICAgICAgdGhpcy5hbGlnbkxlZnQoKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRvb2x0aXBPdXRPZldpbmRvdygpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXAsICdsZWZ0Jyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICd0b3AnKTtcclxuICAgICAgICAgICAgICB0aGlzLmFsaWduVG9wKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdib3R0b20nKTtcclxuICAgICAgICB0aGlzLmFsaWduQm90dG9tKCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBPdXRPZldpbmRvdygpKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudG9vbHRpcCwgJ2JvdHRvbScpO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdsZWZ0Jyk7XHJcbiAgICAgICAgICB0aGlzLmFsaWduTGVmdCgpO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLnRvb2x0aXBPdXRPZldpbmRvdygpKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwLCAnbGVmdCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ3RvcCcpO1xyXG4gICAgICAgICAgICB0aGlzLmFsaWduVG9wKCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy50b29sdGlwT3V0T2ZXaW5kb3coKSkge1xyXG4gICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwLCAndG9wJyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdyaWdodCcpO1xyXG4gICAgICAgICAgICAgIHRoaXMuYWxpZ25SaWdodCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWxpZ24gdGhlIHRvb2x0aXAgdG8gdGhlIGxlZnQgb2YgdGhlIGhvc3RcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWxpZ25MZWZ0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgaG9zdE9mZnNldCA9IHRoaXMuZ2V0SG9zdE9mZnNldCgpO1xyXG4gICAgY29uc3QgbGVmdCA9IGhvc3RPZmZzZXQubGVmdCAtIHRoaXMudG9vbHRpcC5vZmZzZXRXaWR0aCAtIHRoaXMuVE9PTFRJUF9PRkZTRVQ7XHJcbiAgICBjb25zdCB0b3AgPSBob3N0T2Zmc2V0LnRvcCArICh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgLSB0aGlzLnRvb2x0aXAub2Zmc2V0SGVpZ2h0KSAvIDI7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICdsZWZ0JywgYCR7bGVmdH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICd0b3AnLCBgJHt0b3B9cHhgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsaWduIHRoZSB0b29sdGlwIHRvIHRoZSByaWdodCBvZiB0aGUgaG9zdFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhbGlnblJpZ2h0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgaG9zdE9mZnNldCA9IHRoaXMuZ2V0SG9zdE9mZnNldCgpO1xyXG4gICAgY29uc3QgbGVmdCA9IGhvc3RPZmZzZXQubGVmdCArIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgdGhpcy5UT09MVElQX09GRlNFVDtcclxuICAgIGNvbnN0IHRvcCA9IGhvc3RPZmZzZXQudG9wICsgKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCAtIHRoaXMudG9vbHRpcC5vZmZzZXRIZWlnaHQpIC8gMjtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcCwgJ2xlZnQnLCBgJHtsZWZ0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcCwgJ3RvcCcsIGAke3RvcH1weGApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWxpZ24gdGhlIHRvb2x0aXAgdG8gdGhlIHRvcCBvZiB0aGUgaG9zdFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhbGlnblRvcCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGhvc3RPZmZzZXQgPSB0aGlzLmdldEhvc3RPZmZzZXQoKTtcclxuICAgIGNvbnN0IGxlZnQgPSBob3N0T2Zmc2V0LmxlZnQgKyAodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggLSB0aGlzLnRvb2x0aXAub2Zmc2V0V2lkdGgpIC8gMjtcclxuICAgIGNvbnN0IHRvcCA9IGhvc3RPZmZzZXQudG9wIC0gdGhpcy50b29sdGlwLm9mZnNldEhlaWdodCAtIHRoaXMuVE9PTFRJUF9PRkZTRVQ7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICdsZWZ0JywgYCR7bGVmdH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICd0b3AnLCBgJHt0b3B9cHhgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsaWduIHRoZSB0b29sdGlwIHRvIHRoZSBib3R0b20gb2YgdGhlIGhvc3RcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWxpZ25Cb3R0b20oKTogdm9pZCB7XHJcbiAgICBjb25zdCBob3N0T2Zmc2V0ID0gdGhpcy5nZXRIb3N0T2Zmc2V0KCk7XHJcbiAgICBjb25zdCBsZWZ0ID0gaG9zdE9mZnNldC5sZWZ0ICsgKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gdGhpcy50b29sdGlwLm9mZnNldFdpZHRoKSAvIDI7XHJcbiAgICBjb25zdCB0b3AgPSBob3N0T2Zmc2V0LnRvcCArIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCArIHRoaXMuVE9PTFRJUF9PRkZTRVQ7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICdsZWZ0JywgYCR7bGVmdH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICd0b3AnLCBgJHt0b3B9cHhgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgaG9zdCdzIHRvcCBhbmQgbGVmdCBwb3NpdGlvbiBvZmZzZXQgYnkgd2luZG93IHNjcm9sbFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRIb3N0T2Zmc2V0KCk6IHsgbGVmdDogbnVtYmVyLCB0b3A6IG51bWJlciB9IHtcclxuICAgIGNvbnN0IHsgbGVmdCwgdG9wIH0gPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHRhcmdldExlZnQgPSBsZWZ0ICsgVG9vbHRpcERpcmVjdGl2ZS5nZXRXaW5kb3dTY3JvbGxMZWZ0KCk7XHJcbiAgICBjb25zdCB0YXJnZXRUb3AgPSB0b3AgKyBUb29sdGlwRGlyZWN0aXZlLmdldFdpbmRvd1Njcm9sbFRvcCgpO1xyXG5cclxuICAgIHJldHVybiB7IGxlZnQ6IHRhcmdldExlZnQsIHRvcDogdGFyZ2V0VG9wIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIHRvb2x0aXAgZnJvbSB0aGUgRE9NXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGRlbGV0ZVRvb2x0aXAoKTogdm9pZCB7XHJcbiAgICBpZiAoISF0aGlzLnRvb2x0aXA/LnBhcmVudEVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLnRvb2x0aXApO1xyXG4gICAgICB0aGlzLnRvb2x0aXAgPSBudWxsIGFzIGFueTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlbW92ZVNjcm9sbExpc3RlbmVycygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2tzIGlmIHRoZSB0b29sdGlwIGZpdHMgaW4gdGhlIHdpbmRvd1xyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0b29sdGlwT3V0T2ZXaW5kb3coKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB7IHRvcCwgbGVmdCB9ID0gdGhpcy50b29sdGlwLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgeyBvZmZzZXRXaWR0aCwgb2Zmc2V0SGVpZ2h0IH0gPSB0aGlzLnRvb2x0aXA7XHJcbiAgICBjb25zdCB7IGlubmVyV2lkdGgsIGlubmVySGVpZ2h0IH0gPSB3aW5kb3c7XHJcblxyXG4gICAgcmV0dXJuIChsZWZ0ICsgb2Zmc2V0V2lkdGggPiBpbm5lcldpZHRoKSB8fCAobGVmdCA8IDApIHx8ICh0b3AgPCAwKSB8fCAodG9wICsgb2Zmc2V0SGVpZ2h0ID4gaW5uZXJIZWlnaHQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdGVuIGZvciBzY3JvbGxpbmcgb24gYWxsIHNjcm9sbGFibGUgcGFyZW50cyBvZiB0aGUgaG9zdCBlbGVtZW50XHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGFkZFNjcm9sbExpc3RlbmVycygpOiB2b2lkIHtcclxuICAgIGNvbnN0IG92ZXJmbG93UmVnZXggPSAvKGF1dG98c2Nyb2xsKS87XHJcbiAgICBjb25zdCBvdmVyZmxvd0NoZWNrID0gKG5vZGU6IGFueSk6IGJvb2xlYW4gPT4ge1xyXG4gICAgICBvdmVyZmxvd1JlZ2V4Lmxhc3RJbmRleCA9IDA7XHJcbiAgICAgIGNvbnN0IHN0eWxlRGVjbGFyYXRpb24gPSB3aW5kb3dbJ2dldENvbXB1dGVkU3R5bGUnXShub2RlLCBudWxsKTtcclxuICAgICAgcmV0dXJuIG92ZXJmbG93UmVnZXgudGVzdChzdHlsZURlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ292ZXJmbG93JykpIHx8XHJcbiAgICAgICAgICAgICBvdmVyZmxvd1JlZ2V4LnRlc3Qoc3R5bGVEZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCdvdmVyZmxvd1gnKSkgfHxcclxuICAgICAgICAgICAgIG92ZXJmbG93UmVnZXgudGVzdChzdHlsZURlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ292ZXJmbG93WScpKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgcGFyZW50cyA9IHRoaXMuZ2V0UGFyZW50RWxlbWVudHModGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgZm9yIChjb25zdCBwYXJlbnQgb2YgcGFyZW50cykge1xyXG4gICAgICBjb25zdCBzY3JvbGxTZWxlY3RvcnMgPSBwYXJlbnQubm9kZVR5cGUgPT09IDEgJiYgcGFyZW50LmRhdGFzZXRbJ3Njcm9sbHNlbGVjdG9ycyddO1xyXG4gICAgICBpZiAoc2Nyb2xsU2VsZWN0b3JzKSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0b3JzID0gc2Nyb2xsU2VsZWN0b3JzLnNwbGl0KCcsJyk7XHJcbiAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBzZWxlY3RvcnMpIHtcclxuICAgICAgICAgIGNvbnN0IGVsID0gcGFyZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xyXG4gICAgICAgICAgaWYgKGVsICYmIG92ZXJmbG93Q2hlY2soZWwpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVW5saXN0ZW5lcnMucHVzaChcclxuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3RlbihlbCwgJ3Njcm9sbCcsICgpID0+IHRoaXMuZGVsZXRlVG9vbHRpcCgpKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChwYXJlbnQubm9kZVR5cGUgIT09IDkgJiYgb3ZlcmZsb3dDaGVjayhwYXJlbnQpKSB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxVbmxpc3RlbmVycy5wdXNoKFxyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4ocGFyZW50LCAnc2Nyb2xsJywgKCkgPT4gdGhpcy5kZWxldGVUb29sdGlwKCkpXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW52b2tlIHNjcm9sbCB1bmxpc3RlbiBmdW5jdGlvbnMgYW5kIGNsZWFyIHVubGlzdGVuZXJzIGxpc3RcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlU2Nyb2xsTGlzdGVuZXJzKCk6IHZvaWQge1xyXG4gICAgZm9yIChjb25zdCB1bmxpc3RlbiBvZiB0aGlzLnNjcm9sbFVubGlzdGVuZXJzKSB7XHJcbiAgICAgIHVubGlzdGVuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zY3JvbGxVbmxpc3RlbmVycyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSBwYXJlbnQgZWxlbWVudHMgZm9yIHRoZSBpbnB1dCBlbGVtZW50XHJcbiAgICogQHBhcmFtIGVsZW1lbnQgdGhlIGVsZW1lbnQgdG8gZ2V0IHBhcmVudHMgZm9yXHJcbiAgICogQHBhcmFtIHBhcmVudHMgdGhlIHBhcmVudCBlbGVtZW50c1xyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRQYXJlbnRFbGVtZW50cyhlbGVtZW50OiBhbnksIHBhcmVudHM6IEFycmF5PGFueT4gPSBbXSk6IEFycmF5PGFueT4ge1xyXG4gICAgY29uc3QgeyBwYXJlbnROb2RlIH0gPSBlbGVtZW50O1xyXG4gICAgcmV0dXJuICFwYXJlbnROb2RlXHJcbiAgICAgID8gcGFyZW50c1xyXG4gICAgICA6IHRoaXMuZ2V0UGFyZW50RWxlbWVudHMocGFyZW50Tm9kZSwgcGFyZW50cy5jb25jYXQoW3BhcmVudE5vZGVdKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
381
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXVCLE1BQU0sZUFBZSxDQUFDOztBQUUvRjs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sZ0JBQWdCO0lBZ0dQO0lBQTBDO0lBOUY5RDs7O09BR0c7SUFDYyxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBRXJDOzs7T0FHRztJQUNILElBQ0ksZUFBZSxDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFFbEIsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLGVBQWUsS0FBYSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBRXBEOztPQUVHO0lBRUgsZUFBZSxHQUF3QyxRQUFRLENBQUM7SUFFaEU7OztPQUdHO0lBQ0gsSUFDSSxlQUFlLENBQUMsUUFBaUI7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztRQUNqQyxJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENB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RSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQ25FLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxxQkFBcUI7UUFDM0IsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM5QyxRQUFRLEVBQUUsQ0FBQztRQUNiLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGlCQUFpQixDQUFDLE9BQVksRUFBRSxVQUFzQixFQUFFO1FBQzlELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDL0IsT0FBTyxDQUFDLFVBQVU7WUFDaEIsQ0FBQyxDQUFDLE9BQU87WUFDVCxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7dUdBdFpVLGdCQUFnQjsyRkFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBRTlCO3VHQWNLLGVBQWU7c0JBRGxCLEtBQUs7Z0JBbUJOLGVBQWU7c0JBRGQsS0FBSztnQkFRRixlQUFlO3NCQURsQixLQUFLO2dCQXdFTixZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWTtnQkFTMUIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBUzFCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBEaXJlY3RpdmUgdG8gY3JlYXRlIGEgdG9vbHRpcCBhcm91bmQgdGhlIGhvc3QgZWxlbWVudFxyXG4gKiBUT0RPOiBPcGVuL0Nsb3NlIGFuaW1hdGlvbiB3aXRoIEFuaW1hdGlvbkZhY3RvcnlcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3BhcnRpY2xlVG9vbHRpcF0nXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBudW1iZXIgb2YgcGl4ZWxzIGZyb20gdGhlIGhvc3QgdG8gb2Zmc2V0IHRoZSB0b29sdGlwXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IFRPT0xUSVBfT0ZGU0VUID0gMTU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvb2x0aXAgdGV4dCBpbnB1dFxyXG4gICAqIEBwYXJhbSB0ZXh0IHRoZSB0ZXh0IHRvIHNldCBmb3IgdGhlIHRvb2x0aXBcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBwYXJ0aWNsZVRvb2x0aXAodGV4dDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl90ZXh0ID0gdGV4dDtcclxuXHJcbiAgICBpZiAoISF0ZXh0KSB7XHJcbiAgICAgIGlmICghIXRoaXMudG9vbHRpcD8ucGFyZW50RWxlbWVudCkge1xyXG4gICAgICAgIHRoaXMuc2V0VG9vbHRpcFRleHQoKTtcclxuICAgICAgICB0aGlzLmFsaWduVG9vbHRpcCgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRlbGV0ZVRvb2x0aXAoKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IHBhcnRpY2xlVG9vbHRpcCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fdGV4dDsgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGUgZGlyZWN0aW9uIG9mIHRoZSB0b29sdGlwIGFyb3VuZCB0aGUgaG9zdCBlbGVtZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICB0b29sdGlwUG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgfCAndG9wJyB8ICdib3R0b20nID0gJ2JvdHRvbSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdG9vbHRpcFxyXG4gICAqIEBwYXJhbSBkaXNhYmxlZCBkaXNhYmxlZCBvciBub3RcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCB0b29sdGlwRGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3Rvb2x0aXBEaXNhYmxlZCA9IGRpc2FibGVkO1xyXG4gICAgaWYgKGRpc2FibGVkICYmICEhdGhpcy50b29sdGlwPy5wYXJlbnRFbGVtZW50KSB7XHJcbiAgICAgIHRoaXMuZGVsZXRlVG9vbHRpcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHRvb2x0aXBEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl90b29sdGlwRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGUgRElWIGVsZW1lbnQgaG91c2luZyB0aGUgdG9vbHRpcFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0b29sdGlwOiBIVE1MRGl2RWxlbWVudCA9IG51bGwgYXMgYW55O1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgdG9vbHRpcCB0ZXh0XHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIF90ZXh0OiBzdHJpbmcgPSBudWxsIGFzIGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciBvciBub3QgdGhlIHRvb2x0aXAgaXMgZGlzYWJsZWRcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3Rvb2x0aXBEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBBcnJheSBvZiBzY3JvbGwgdW5saXN0ZW4gZnVuY3Rpb25zXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHNjcm9sbFVubGlzdGVuZXJzOiBBcnJheTwoKSA9PiB2b2lkPiA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBHZXQgd2luZG93IHNjcm9sbCB0b3BcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGdldFdpbmRvd1Njcm9sbFRvcCgpOiBudW1iZXIge1xyXG4gICAgY29uc3QgeyBzY3JvbGxUb3AsIGNsaWVudFRvcCB9ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgcmV0dXJuICh3aW5kb3cuc2Nyb2xsWSA/PyBzY3JvbGxUb3ApIC0gKGNsaWVudFRvcCA/PyAwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB3aW5kb3cgc2Nyb2xsIGxlZnRcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc3RhdGljIGdldFdpbmRvd1Njcm9sbExlZnQoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCwgY2xpZW50TGVmdCB9ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgcmV0dXJuICh3aW5kb3cuc2Nyb2xsWCA/PyBzY3JvbGxMZWZ0KSAtIChjbGllbnRMZWZ0ID8/IDApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVwZW5kZW5jeSBpbmplY3Rpb24gc2l0ZVxyXG4gICAqIEBwYXJhbSBlbGVtZW50IHRoZSBob3N0IGVsZW1lbnRcclxuICAgKiBAcGFyYW0gcmVuZGVyZXIgdGhlIEFuZ3VsYXIgcmVuZGVyZXJcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXN0cm95IGRpcmVjdGl2ZSwgaW52b2tlIHNjcm9sbCB1bmxpc3RlbmVyc1xyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW1vdmVTY3JvbGxMaXN0ZW5lcnMoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSBob3N0IG1vdXNlIGVudGVyIGV2ZW50XHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXHJcbiAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93VG9vbHRpcCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIGhvc3QgbW91c2UgbGVhdmUgZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcclxuICBvbk1vdXNlTGVhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGV0ZVRvb2x0aXAoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSBob3N0IGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGV0ZVRvb2x0aXAoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSB0b29sdGlwLCBzZXQgdGhlIHRleHQgYW5kIGFsaWduIGl0XHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHNob3dUb29sdGlwKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnRvb2x0aXBEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmNyZWF0ZVRvb2x0aXAoKTtcclxuICAgICAgdGhpcy5zZXRUb29sdGlwVGV4dCgpO1xyXG4gICAgICB0aGlzLmFsaWduVG9vbHRpcCgpO1xyXG5cclxuICAgICAgdGhpcy5hZGRTY3JvbGxMaXN0ZW5lcnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCB0aGUgdG9vbHRpcCB0byB0aGUgRE9NXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZVRvb2x0aXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGV0ZVRvb2x0aXAoKTtcclxuXHJcbiAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLnRvb2x0aXApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdwYXJ0aWNsZV90b29sdGlwJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdG9vbHRpcCB0ZXh0XHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHNldFRvb2x0aXBUZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLnRvb2x0aXAsICdpbm5lckhUTUwnLCB0aGlzLnBhcnRpY2xlVG9vbHRpcCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBbGlnbiB0aGUgdG9vbHRpcCB0byB0aGUgaW5wdXQgcG9zaXRpb24gb3IgdGhlIG5leHQgYmVzdCBmaXRcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWxpZ25Ub29sdGlwKCk6IHZvaWQge1xyXG4gICAgc3dpdGNoICh0aGlzLnRvb2x0aXBQb3NpdGlvbikge1xyXG4gICAgICBjYXNlICdsZWZ0JzpcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ2xlZnQnKTtcclxuICAgICAgICB0aGlzLmFsaWduTGVmdCgpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy50b29sdGlwT3V0T2ZXaW5kb3coKSkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXAsICdsZWZ0Jyk7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ3RvcCcpO1xyXG4gICAgICAgICAgdGhpcy5hbGlnblRvcCgpO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLnRvb2x0aXBPdXRPZldpbmRvdygpKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwLCAndG9wJyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCAncmlnaHQnKTtcclxuICAgICAgICAgICAgdGhpcy5hbGlnblJpZ2h0KCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy50b29sdGlwT3V0T2ZXaW5kb3coKSkge1xyXG4gICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwLCAncmlnaHQnKTtcclxuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ2JvdHRvbScpO1xyXG4gICAgICAgICAgICAgIHRoaXMuYWxpZ25Cb3R0b20oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndG9wJzpcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ3RvcCcpO1xyXG4gICAgICAgIHRoaXMuYWxpZ25Ub3AoKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcE91dE9mV2luZG93KCkpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwLCAndG9wJyk7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ3JpZ2h0Jyk7XHJcbiAgICAgICAgICB0aGlzLmFsaWduUmlnaHQoKTtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy50b29sdGlwT3V0T2ZXaW5kb3coKSkge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudG9vbHRpcCwgJ3JpZ2h0Jyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCAnYm90dG9tJyk7XHJcbiAgICAgICAgICAgIHRoaXMuYWxpZ25Cb3R0b20oKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRvb2x0aXBPdXRPZldpbmRvdygpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXAsICdib3R0b20nKTtcclxuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ2xlZnQnKTtcclxuICAgICAgICAgICAgICB0aGlzLmFsaWduTGVmdCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyaWdodCc6XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdyaWdodCcpO1xyXG4gICAgICAgIHRoaXMuYWxpZ25SaWdodCgpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy50b29sdGlwT3V0T2ZXaW5kb3coKSkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXAsICdyaWdodCcpO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdib3R0b20nKTtcclxuICAgICAgICAgIHRoaXMuYWxpZ25Cb3R0b20oKTtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy50b29sdGlwT3V0T2ZXaW5kb3coKSkge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudG9vbHRpcCwgJ2JvdHRvbScpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ2xlZnQnKTtcclxuICAgICAgICAgICAgdGhpcy5hbGlnbkxlZnQoKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRvb2x0aXBPdXRPZldpbmRvdygpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXAsICdsZWZ0Jyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICd0b3AnKTtcclxuICAgICAgICAgICAgICB0aGlzLmFsaWduVG9wKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdib3R0b20nKTtcclxuICAgICAgICB0aGlzLmFsaWduQm90dG9tKCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBPdXRPZldpbmRvdygpKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudG9vbHRpcCwgJ2JvdHRvbScpO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdsZWZ0Jyk7XHJcbiAgICAgICAgICB0aGlzLmFsaWduTGVmdCgpO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLnRvb2x0aXBPdXRPZldpbmRvdygpKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwLCAnbGVmdCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ3RvcCcpO1xyXG4gICAgICAgICAgICB0aGlzLmFsaWduVG9wKCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy50b29sdGlwT3V0T2ZXaW5kb3coKSkge1xyXG4gICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwLCAndG9wJyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdyaWdodCcpO1xyXG4gICAgICAgICAgICAgIHRoaXMuYWxpZ25SaWdodCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWxpZ24gdGhlIHRvb2x0aXAgdG8gdGhlIGxlZnQgb2YgdGhlIGhvc3RcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWxpZ25MZWZ0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgaG9zdE9mZnNldCA9IHRoaXMuZ2V0SG9zdE9mZnNldCgpO1xyXG4gICAgY29uc3QgbGVmdCA9IGhvc3RPZmZzZXQubGVmdCAtIHRoaXMudG9vbHRpcC5vZmZzZXRXaWR0aCAtIHRoaXMuVE9PTFRJUF9PRkZTRVQ7XHJcbiAgICBjb25zdCB0b3AgPSBob3N0T2Zmc2V0LnRvcCArICh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgLSB0aGlzLnRvb2x0aXAub2Zmc2V0SGVpZ2h0KSAvIDI7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICdsZWZ0JywgYCR7bGVmdH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICd0b3AnLCBgJHt0b3B9cHhgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsaWduIHRoZSB0b29sdGlwIHRvIHRoZSByaWdodCBvZiB0aGUgaG9zdFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhbGlnblJpZ2h0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgaG9zdE9mZnNldCA9IHRoaXMuZ2V0SG9zdE9mZnNldCgpO1xyXG4gICAgY29uc3QgbGVmdCA9IGhvc3RPZmZzZXQubGVmdCArIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgdGhpcy5UT09MVElQX09GRlNFVDtcclxuICAgIGNvbnN0IHRvcCA9IGhvc3RPZmZzZXQudG9wICsgKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCAtIHRoaXMudG9vbHRpcC5vZmZzZXRIZWlnaHQpIC8gMjtcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcCwgJ2xlZnQnLCBgJHtsZWZ0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcCwgJ3RvcCcsIGAke3RvcH1weGApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWxpZ24gdGhlIHRvb2x0aXAgdG8gdGhlIHRvcCBvZiB0aGUgaG9zdFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhbGlnblRvcCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGhvc3RPZmZzZXQgPSB0aGlzLmdldEhvc3RPZmZzZXQoKTtcclxuICAgIGNvbnN0IGxlZnQgPSBob3N0T2Zmc2V0LmxlZnQgKyAodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggLSB0aGlzLnRvb2x0aXAub2Zmc2V0V2lkdGgpIC8gMjtcclxuICAgIGNvbnN0IHRvcCA9IGhvc3RPZmZzZXQudG9wIC0gdGhpcy50b29sdGlwLm9mZnNldEhlaWdodCAtIHRoaXMuVE9PTFRJUF9PRkZTRVQ7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICdsZWZ0JywgYCR7bGVmdH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICd0b3AnLCBgJHt0b3B9cHhgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsaWduIHRoZSB0b29sdGlwIHRvIHRoZSBib3R0b20gb2YgdGhlIGhvc3RcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWxpZ25Cb3R0b20oKTogdm9pZCB7XHJcbiAgICBjb25zdCBob3N0T2Zmc2V0ID0gdGhpcy5nZXRIb3N0T2Zmc2V0KCk7XHJcbiAgICBjb25zdCBsZWZ0ID0gaG9zdE9mZnNldC5sZWZ0ICsgKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gdGhpcy50b29sdGlwLm9mZnNldFdpZHRoKSAvIDI7XHJcbiAgICBjb25zdCB0b3AgPSBob3N0T2Zmc2V0LnRvcCArIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCArIHRoaXMuVE9PTFRJUF9PRkZTRVQ7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICdsZWZ0JywgYCR7bGVmdH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICd0b3AnLCBgJHt0b3B9cHhgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgaG9zdCdzIHRvcCBhbmQgbGVmdCBwb3NpdGlvbiBvZmZzZXQgYnkgd2luZG93IHNjcm9sbFxyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRIb3N0T2Zmc2V0KCk6IHsgbGVmdDogbnVtYmVyLCB0b3A6IG51bWJlciB9IHtcclxuICAgIGNvbnN0IHsgbGVmdCwgdG9wIH0gPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHRhcmdldExlZnQgPSBsZWZ0ICsgVG9vbHRpcERpcmVjdGl2ZS5nZXRXaW5kb3dTY3JvbGxMZWZ0KCk7XHJcbiAgICBjb25zdCB0YXJnZXRUb3AgPSB0b3AgKyBUb29sdGlwRGlyZWN0aXZlLmdldFdpbmRvd1Njcm9sbFRvcCgpO1xyXG5cclxuICAgIHJldHVybiB7IGxlZnQ6IHRhcmdldExlZnQsIHRvcDogdGFyZ2V0VG9wIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIHRvb2x0aXAgZnJvbSB0aGUgRE9NXHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGRlbGV0ZVRvb2x0aXAoKTogdm9pZCB7XHJcbiAgICBpZiAoISF0aGlzLnRvb2x0aXA/LnBhcmVudEVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLnRvb2x0aXApO1xyXG4gICAgICB0aGlzLnRvb2x0aXAgPSBudWxsIGFzIGFueTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlbW92ZVNjcm9sbExpc3RlbmVycygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2tzIGlmIHRoZSB0b29sdGlwIGZpdHMgaW4gdGhlIHdpbmRvd1xyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0b29sdGlwT3V0T2ZXaW5kb3coKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB7IHRvcCwgbGVmdCB9ID0gdGhpcy50b29sdGlwLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgeyBvZmZzZXRXaWR0aCwgb2Zmc2V0SGVpZ2h0IH0gPSB0aGlzLnRvb2x0aXA7XHJcbiAgICBjb25zdCB7IGlubmVyV2lkdGgsIGlubmVySGVpZ2h0IH0gPSB3aW5kb3c7XHJcblxyXG4gICAgcmV0dXJuIChsZWZ0ICsgb2Zmc2V0V2lkdGggPiBpbm5lcldpZHRoKSB8fCAobGVmdCA8IDApIHx8ICh0b3AgPCAwKSB8fCAodG9wICsgb2Zmc2V0SGVpZ2h0ID4gaW5uZXJIZWlnaHQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdGVuIGZvciBzY3JvbGxpbmcgb24gYWxsIHNjcm9sbGFibGUgcGFyZW50cyBvZiB0aGUgaG9zdCBlbGVtZW50XHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGFkZFNjcm9sbExpc3RlbmVycygpOiB2b2lkIHtcclxuICAgIGNvbnN0IG92ZXJmbG93UmVnZXggPSAvKGF1dG98c2Nyb2xsKS87XHJcbiAgICBjb25zdCBvdmVyZmxvd0NoZWNrID0gKG5vZGU6IGFueSk6IGJvb2xlYW4gPT4ge1xyXG4gICAgICBvdmVyZmxvd1JlZ2V4Lmxhc3RJbmRleCA9IDA7XHJcbiAgICAgIGNvbnN0IHN0eWxlRGVjbGFyYXRpb24gPSB3aW5kb3dbJ2dldENvbXB1dGVkU3R5bGUnXShub2RlLCBudWxsKTtcclxuICAgICAgcmV0dXJuIG92ZXJmbG93UmVnZXgudGVzdChzdHlsZURlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ292ZXJmbG93JykpIHx8XHJcbiAgICAgICAgICAgICBvdmVyZmxvd1JlZ2V4LnRlc3Qoc3R5bGVEZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCdvdmVyZmxvd1gnKSkgfHxcclxuICAgICAgICAgICAgIG92ZXJmbG93UmVnZXgudGVzdChzdHlsZURlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ292ZXJmbG93WScpKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgcGFyZW50cyA9IHRoaXMuZ2V0UGFyZW50RWxlbWVudHModGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgZm9yIChjb25zdCBwYXJlbnQgb2YgcGFyZW50cykge1xyXG4gICAgICBjb25zdCBzY3JvbGxTZWxlY3RvcnMgPSBwYXJlbnQubm9kZVR5cGUgPT09IDEgJiYgcGFyZW50LmRhdGFzZXRbJ3Njcm9sbHNlbGVjdG9ycyddO1xyXG4gICAgICBpZiAoc2Nyb2xsU2VsZWN0b3JzKSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0b3JzID0gc2Nyb2xsU2VsZWN0b3JzLnNwbGl0KCcsJyk7XHJcbiAgICAgICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBzZWxlY3RvcnMpIHtcclxuICAgICAgICAgIGNvbnN0IGVsID0gcGFyZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xyXG4gICAgICAgICAgaWYgKGVsICYmIG92ZXJmbG93Q2hlY2soZWwpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVW5saXN0ZW5lcnMucHVzaChcclxuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3RlbihlbCwgJ3Njcm9sbCcsICgpID0+IHRoaXMuZGVsZXRlVG9vbHRpcCgpKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChwYXJlbnQubm9kZVR5cGUgIT09IDkgJiYgb3ZlcmZsb3dDaGVjayhwYXJlbnQpKSB7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxVbmxpc3RlbmVycy5wdXNoKFxyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4ocGFyZW50LCAnc2Nyb2xsJywgKCkgPT4gdGhpcy5kZWxldGVUb29sdGlwKCkpXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW52b2tlIHNjcm9sbCB1bmxpc3RlbiBmdW5jdGlvbnMgYW5kIGNsZWFyIHVubGlzdGVuZXJzIGxpc3RcclxuICAgKiBAcHJpdmF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlU2Nyb2xsTGlzdGVuZXJzKCk6IHZvaWQge1xyXG4gICAgZm9yIChjb25zdCB1bmxpc3RlbiBvZiB0aGlzLnNjcm9sbFVubGlzdGVuZXJzKSB7XHJcbiAgICAgIHVubGlzdGVuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zY3JvbGxVbmxpc3RlbmVycyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSBwYXJlbnQgZWxlbWVudHMgZm9yIHRoZSBpbnB1dCBlbGVtZW50XHJcbiAgICogQHBhcmFtIGVsZW1lbnQgdGhlIGVsZW1lbnQgdG8gZ2V0IHBhcmVudHMgZm9yXHJcbiAgICogQHBhcmFtIHBhcmVudHMgdGhlIHBhcmVudCBlbGVtZW50c1xyXG4gICAqIEBwcml2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRQYXJlbnRFbGVtZW50cyhlbGVtZW50OiBhbnksIHBhcmVudHM6IEFycmF5PGFueT4gPSBbXSk6IEFycmF5PGFueT4ge1xyXG4gICAgY29uc3QgeyBwYXJlbnROb2RlIH0gPSBlbGVtZW50O1xyXG4gICAgcmV0dXJuICFwYXJlbnROb2RlXHJcbiAgICAgID8gcGFyZW50c1xyXG4gICAgICA6IHRoaXMuZ2V0UGFyZW50RWxlbWVudHMocGFyZW50Tm9kZSwgcGFyZW50cy5jb25jYXQoW3BhcmVudE5vZGVdKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==