@dotglitch/ngx-common 1.1.15 → 1.1.17

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.
Files changed (52) hide show
  1. package/components/menu/menu.component.d.ts +2 -2
  2. package/directives/menu.directive.d.ts +1 -1
  3. package/directives/tooltip.directive.d.ts +1 -1
  4. package/esm2022/components/command-palette/command-palette.component.mjs +4 -4
  5. package/esm2022/components/command-palette/shortcut/shortcut.component.mjs +3 -3
  6. package/esm2022/components/dynamic-html/dynamic-html.component.mjs +4 -4
  7. package/esm2022/components/dynamic-html/dynamic-html.module.mjs +4 -4
  8. package/esm2022/components/dynamic-html/dynamic-html.service.mjs +4 -4
  9. package/esm2022/components/filemanager/file-grid/file-grid.component.mjs +6 -6
  10. package/esm2022/components/filemanager/filemanager.component.mjs +4 -4
  11. package/esm2022/components/filemanager/folder-rename/folder-rename.component.mjs +4 -4
  12. package/esm2022/components/filemanager/icon-resolver.mjs +1 -1
  13. package/esm2022/components/filemanager/toolbar/breadcrumb/breadcrumb.component.mjs +3 -3
  14. package/esm2022/components/filemanager/toolbar/icon-button/icon-button.component.mjs +3 -3
  15. package/esm2022/components/filemanager/toolbar/toolbar.component.mjs +3 -3
  16. package/esm2022/components/filemanager/tree-view/tree-view.component.mjs +5 -5
  17. package/esm2022/components/lazy-loader/lazy-loader.component.mjs +4 -4
  18. package/esm2022/components/lazy-loader/lazy-loader.module.mjs +4 -4
  19. package/esm2022/components/lazy-loader/lazy-loader.service.mjs +4 -4
  20. package/esm2022/components/menu/menu.component.mjs +29 -25
  21. package/esm2022/components/react-magic-wrapper/react-magic-wrapper.component.mjs +4 -4
  22. package/esm2022/components/tabulator/tabulator.component.mjs +5 -5
  23. package/esm2022/components/tooltip/tooltip.component.mjs +5 -8
  24. package/esm2022/components/vscode/ts-type-resolver/dependency-parser.mjs +1 -1
  25. package/esm2022/components/vscode/ts-type-resolver/import-resolver.mjs +1 -1
  26. package/esm2022/components/vscode/ts-type-resolver/main.mjs +1 -1
  27. package/esm2022/components/vscode/ts-type-resolver/types.mjs +1 -1
  28. package/esm2022/components/vscode/ts-type-resolver/unpkg-source-resolver.mjs +1 -1
  29. package/esm2022/components/vscode/ts-type-resolver/update-emitter.mjs +1 -1
  30. package/esm2022/components/vscode/vscode.component.mjs +4 -4
  31. package/esm2022/directives/menu.directive.mjs +8 -18
  32. package/esm2022/directives/tooltip.directive.mjs +7 -14
  33. package/esm2022/directives/utils.mjs +1 -1
  34. package/esm2022/pipes/html-bypass.pipe.mjs +3 -3
  35. package/esm2022/pipes/resource-bypass.pipe.mjs +3 -3
  36. package/esm2022/pipes/script-bypass.pipe.mjs +3 -3
  37. package/esm2022/pipes/style-bypass.pipe.mjs +3 -3
  38. package/esm2022/pipes/url-bypass.pipe.mjs +3 -3
  39. package/esm2022/services/command-palette.service.mjs +4 -4
  40. package/esm2022/services/dependency.service.mjs +4 -4
  41. package/esm2022/services/dialog.service.mjs +3 -3
  42. package/esm2022/services/fetch.service.mjs +3 -3
  43. package/esm2022/services/file.service.mjs +3 -3
  44. package/esm2022/services/keyboard.service.mjs +4 -4
  45. package/esm2022/services/navigation.service.mjs +3 -3
  46. package/esm2022/services/theme.service.mjs +3 -3
  47. package/esm2022/utils/index.mjs +1 -1
  48. package/fesm2022/{dotglitch-ngx-common-folder-rename.component-h07keNnV.mjs → dotglitch-ngx-common-folder-rename.component-0RqscdRS.mjs} +4 -4
  49. package/fesm2022/{dotglitch-ngx-common-folder-rename.component-h07keNnV.mjs.map → dotglitch-ngx-common-folder-rename.component-0RqscdRS.mjs.map} +1 -1
  50. package/fesm2022/dotglitch-ngx-common.mjs +143 -159
  51. package/fesm2022/dotglitch-ngx-common.mjs.map +1 -1
  52. package/package.json +3 -3
@@ -24,6 +24,8 @@ export class TooltipDirective {
24
24
  const el = this.viewContainer.element.nativeElement;
25
25
  this.config?.triggers?.forEach(t => {
26
26
  el.addEventListener(t, () => {
27
+ if (t == "click")
28
+ this.config.stayOpen = true;
27
29
  this.open();
28
30
  });
29
31
  });
@@ -54,36 +56,27 @@ export class TooltipDirective {
54
56
  async onPointerLeave(evt) {
55
57
  this.isCursorOverTarget = false;
56
58
  }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TooltipDirective, deps: [{ token: i1.MatDialog }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
58
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: TooltipDirective, isStandalone: true, selector: "[ngxTooltip],[ngx-tooltip]", inputs: { template: ["ngx-tooltip", "template"], config: ["ngx-tooltip-config", "config"], data: ["ngx-tooltip-context", "data"] }, host: { listeners: { "pointerenter": "onPointerEnter($event)", "pointerleave": "onPointerLeave($event)" } }, providers: [
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: TooltipDirective, deps: [{ token: i1.MatDialog }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
60
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: TooltipDirective, isStandalone: true, selector: "[ngx-tooltip]", inputs: { template: ["ngx-tooltip", "template"], config: ["ngx-tooltip-config", "config"], data: ["ngx-tooltip-context", "data"] }, host: { listeners: { "pointerenter": "onPointerEnter($event)", "pointerleave": "onPointerLeave($event)" } }, providers: [
59
61
  MatDialog
60
62
  ], ngImport: i0 }); }
61
63
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TooltipDirective, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: TooltipDirective, decorators: [{
63
65
  type: Directive,
64
66
  args: [{
65
- selector: '[ngxTooltip],[ngx-tooltip]',
67
+ selector: '[ngx-tooltip]',
66
68
  providers: [
67
69
  MatDialog
68
70
  ],
69
71
  standalone: true
70
72
  }]
71
73
  }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i0.ViewContainerRef }], propDecorators: { template: [{
72
- type: Input,
73
- args: ["ngxTooltip"]
74
- }, {
75
74
  type: Input,
76
75
  args: ["ngx-tooltip"]
77
76
  }], config: [{
78
- type: Input,
79
- args: ["ngxTooltipConfig"]
80
- }, {
81
77
  type: Input,
82
78
  args: ["ngx-tooltip-config"]
83
79
  }], data: [{
84
- type: Input,
85
- args: ["ngxTooltipContext"]
86
- }, {
87
80
  type: Input,
88
81
  args: ["ngx-tooltip-context"]
89
82
  }], onPointerEnter: [{
@@ -124,4 +117,4 @@ export const openTooltip = async (dialog, template, data, el, config, focusTrap
124
117
  });
125
118
  });
126
119
  };
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLFNBQVMsRUFBaUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTlGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7OztBQVM3QixNQUFNLE9BQU8sZ0JBQWdCO0lBc0J6QixZQUNZLE1BQWlCLEVBQ2pCLGFBQStCO1FBRC9CLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBakIzQzs7V0FFRztRQUUwQixXQUFNLEdBQW1CLEVBQUUsQ0FBQztRQUV6RDs7V0FFRztRQUUyQixTQUFJLEdBQVEsRUFBRSxDQUFDO1FBRXJDLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixpQkFBWSxHQUFHLEtBQUssQ0FBQztJQU03QixDQUFDO0lBRUQsZUFBZTtRQUNYLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGFBQTRCLENBQUM7UUFFbkUsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQy9CLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFO2dCQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUE7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QUFDLGdCQUFnQixFQUFFO1lBQzFCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLElBQUksRUFBRTtnQkFDRixNQUFNO2dCQUNOLElBQUksRUFBRSxJQUFJO2dCQUNWLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixNQUFNLEVBQUUsTUFBTTtnQkFDZCxlQUFlO2dCQUNmLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixTQUFTLEVBQUUsS0FBSztnQkFDaEIsRUFBRSxFQUFFLFVBQVU7YUFDakI7WUFDRCxVQUFVLEVBQUUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUNsRixRQUFRLEVBQUUsS0FBSztZQUNmLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEdBQUcsZUFBZTtTQUNyQixDQUFDO2FBQ0csV0FBVyxFQUFFO2FBQ2IsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUE7SUFDVixDQUFDLENBQWlCLENBQUM7QUFDdkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgSG9zdExpc3RlbmVyLCBUZW1wbGF0ZVJlZiwgVHlwZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBnZXRQb3NpdGlvbiB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCwgY2FsY1Rvb2x0aXBCb3VuZHMgfSBmcm9tICcuLi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcy90b29sdGlwJztcbmltcG9ydCB7IHVsaWQgfSBmcm9tICd1bGlkeCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW25neFRvb2x0aXBdLFtuZ3gtdG9vbHRpcF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBNYXREaWFsb2dcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSB7XG5cbiAgICAvKipcbiAgICAgKi9cbiAgICBASW5wdXQoXCJuZ3hUb29sdGlwXCIpXG4gICAgQElucHV0KFwibmd4LXRvb2x0aXBcIikgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBUeXBlPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciBvcGVuaW5nIHRoZSBhcHAgbWVudVxuICAgICAqL1xuICAgIEBJbnB1dChcIm5neFRvb2x0aXBDb25maWdcIilcbiAgICBASW5wdXQoXCJuZ3gtdG9vbHRpcC1jb25maWdcIikgY29uZmlnOiBUb29sdGlwT3B0aW9ucyA9IHt9O1xuXG4gICAgLyoqXG4gICAgICogQXJiaXRyYXJ5IGRhdGEgdG8gcGFzcyBpbnRvIHRoZSB0ZW1wbGF0ZVxuICAgICAqL1xuICAgIEBJbnB1dChcIm5neFRvb2x0aXBDb250ZXh0XCIpXG4gICAgQElucHV0KFwibmd4LXRvb2x0aXAtY29udGV4dFwiKSBkYXRhOiBhbnkgPSB7fTtcblxuICAgIHByaXZhdGUgaXNDdXJzb3JPdmVyVGFyZ2V0ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBkaWFsb2dJc09wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWZcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy52aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICB0aGlzLmNvbmZpZz8udHJpZ2dlcnM/LmZvckVhY2godCA9PiB7XG4gICAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKHQsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgYXN5bmMgb3BlbigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpYWxvZ0lzT3Blbikge1xuICAgICAgICAgICAgY29uc3QgZWwgPSB0aGlzLnZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dJc09wZW4gPSB0cnVlO1xuICAgICAgICAgICAgYXdhaXQgb3BlblRvb2x0aXAodGhpcy5kaWFsb2csIHRoaXMudGVtcGxhdGUsIHRoaXMuZGF0YSwgZWwsIHRoaXMuY29uZmlnKTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nSXNPcGVuID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdwb2ludGVyZW50ZXInLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBhc3luYyBvblBvaW50ZXJFbnRlcihldnQ6IFBvaW50ZXJFdmVudCkge1xuICAgICAgICAvLyBJZiB0aGUgdGVtcGxhdGUgaXMgbm90IGEgdGVtcGxhdGUgcmVmLCBkbyBub3RoaW5nLlxuICAgICAgICBpZiAoISh0aGlzLnRlbXBsYXRlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpKVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuY29uZmlnPy50cmlnZ2VycykgJiYgIXRoaXMuY29uZmlnLnRyaWdnZXJzLmluY2x1ZGVzKFwiaG92ZXJcIikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNDdXJzb3JPdmVyVGFyZ2V0ID0gdHJ1ZTtcblxuICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIC8vIElmIHRoZSBjdXJzb3IgbW92ZWQgYXdheSBpbiB0aGUgdGltZVxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzQ3Vyc29yT3ZlclRhcmdldClcbiAgICAgICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB9LCB0aGlzLmNvbmZpZy5kZWxheSA/PyAyNTApO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJsZWF2ZScsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIGFzeW5jIG9uUG9pbnRlckxlYXZlKGV2dDogUG9pbnRlckV2ZW50KSB7XG4gICAgICAgIHRoaXMuaXNDdXJzb3JPdmVyVGFyZ2V0ID0gZmFsc2U7XG4gICAgfVxufVxuXG4vLyBIZWxwZXIgdG8gb3BlbiB0aGUgY29udGV4dCBtZW51IHdpdGhvdXQgdXNpbmcgdGhlIGRpcmVjdGl2ZS5cbmV4cG9ydCBjb25zdCBvcGVuVG9vbHRpcCA9IGFzeW5jIChcbiAgICBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IFR5cGU8YW55PixcbiAgICBkYXRhOiBhbnksXG4gICAgZWw6IEhUTUxFbGVtZW50LFxuICAgIGNvbmZpZz86IFRvb2x0aXBPcHRpb25zLFxuICAgIGZvY3VzVHJhcCA9IGZhbHNlLFxuICAgIG1hdFBvcHVwT3B0aW9ucz86IE1hdERpYWxvZ0NvbmZpZzxhbnk+XG4pID0+IHtcblxuICAgIGNvbnN0IHJlY3QgPSBhd2FpdCBjYWxjVG9vbHRpcEJvdW5kcyh0ZW1wbGF0ZSwgZGF0YSwgbWF0UG9wdXBPcHRpb25zKTtcbiAgICBjb25zdCBvd25lckNvcmRzID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgY29yZHMgPSBnZXRQb3NpdGlvbihlbCwgY29uZmlnLCByZWN0KTtcbiAgICBjb25zdCBzcGVjaWZpY0lkID0gdWxpZCgpO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlcyA9PiB7XG4gICAgICAgIGRpYWxvZy5vcGVuKFRvb2x0aXBDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGF1dG9Gb2N1czogZm9jdXNUcmFwLFxuICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmb2N1c1RyYXAsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgZGlhbG9nLFxuICAgICAgICAgICAgICAgIGRhdGE6IGRhdGEsXG4gICAgICAgICAgICAgICAgdGVtcGxhdGU6IHRlbXBsYXRlLFxuICAgICAgICAgICAgICAgIGNvbmZpZzogY29uZmlnLFxuICAgICAgICAgICAgICAgIG1hdFBvcHVwT3B0aW9ucyxcbiAgICAgICAgICAgICAgICBvd25lckNvcmRzOiBvd25lckNvcmRzLFxuICAgICAgICAgICAgICAgIHNlbGZDb3JkczogY29yZHMsXG4gICAgICAgICAgICAgICAgaWQ6IHNwZWNpZmljSWRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwYW5lbENsYXNzOiBbXCJuZ3gtdG9vbHRpcFwiLCAnbmd4LScgKyBzcGVjaWZpY0lkXS5jb25jYXQoY29uZmlnPy5jdXN0b21DbGFzcyB8fCBbXSksXG4gICAgICAgICAgICBwb3NpdGlvbjogY29yZHMsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICAuLi5tYXRQb3B1cE9wdGlvbnNcbiAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHMgPT4ge1xuICAgICAgICAgICAgICAgIHJlcyhzKTtcbiAgICAgICAgICAgIH0pXG4gICAgfSkgYXMgUHJvbWlzZTxhbnk+O1xufTtcbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLFNBQVMsRUFBaUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTlGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7OztBQVM3QixNQUFNLE9BQU8sZ0JBQWdCO0lBbUJ6QixZQUNZLE1BQWlCLEVBQ2pCLGFBQStCO1FBRC9CLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBZjNDOztXQUVHO1FBQzBCLFdBQU0sR0FBbUIsRUFBRSxDQUFDO1FBRXpEOztXQUVHO1FBQzJCLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFckMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBTTdCLENBQUM7SUFFRCxlQUFlO1FBQ1gsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBNEIsQ0FBQztRQUVuRSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0IsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxJQUFJLE9BQU87b0JBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxR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QU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsWUFBWSxFQUFFLFNBQVM7WUFDdkIsSUFBSSxFQUFFO2dCQUNGLE1BQU07Z0JBQ04sSUFBSSxFQUFFLElBQUk7Z0JBQ1YsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGVBQWU7Z0JBQ2YsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixFQUFFLEVBQUUsVUFBVTthQUNqQjtZQUNELFVBQVUsRUFBRSxDQUFDLGFBQWEsRUFBRSxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO1lBQ2xGLFFBQVEsRUFBRSxLQUFLO1lBQ2YsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxlQUFlO1NBQ3JCLENBQUM7YUFDRyxXQUFXLEVBQUU7YUFDYixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWCxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQTtJQUNWLENBQUMsQ0FBaUIsQ0FBQztBQUN2QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBIb3N0TGlzdGVuZXIsIFRlbXBsYXRlUmVmLCBUeXBlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IGdldFBvc2l0aW9uIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50LCBjYWxjVG9vbHRpcEJvdW5kcyB9IGZyb20gJy4uL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sdGlwT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgdWxpZCB9IGZyb20gJ3VsaWR4JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbmd4LXRvb2x0aXBdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTWF0RGlhbG9nXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUge1xuXG4gICAgLyoqXG4gICAgICovXG4gICAgQElucHV0KFwibmd4LXRvb2x0aXBcIikgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBUeXBlPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciBvcGVuaW5nIHRoZSBhcHAgbWVudVxuICAgICAqL1xuICAgIEBJbnB1dChcIm5neC10b29sdGlwLWNvbmZpZ1wiKSBjb25maWc6IFRvb2x0aXBPcHRpb25zID0ge307XG5cbiAgICAvKipcbiAgICAgKiBBcmJpdHJhcnkgZGF0YSB0byBwYXNzIGludG8gdGhlIHRlbXBsYXRlXG4gICAgICovXG4gICAgQElucHV0KFwibmd4LXRvb2x0aXAtY29udGV4dFwiKSBkYXRhOiBhbnkgPSB7fTtcblxuICAgIHByaXZhdGUgaXNDdXJzb3JPdmVyVGFyZ2V0ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBkaWFsb2dJc09wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWZcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy52aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICB0aGlzLmNvbmZpZz8udHJpZ2dlcnM/LmZvckVhY2godCA9PiB7XG4gICAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKHQsICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodCA9PSBcImNsaWNrXCIpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLnN0YXlPcGVuID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBhc3luYyBvcGVuKCkge1xuICAgICAgICBpZiAoIXRoaXMuZGlhbG9nSXNPcGVuKSB7XG4gICAgICAgICAgICBjb25zdCBlbCA9IHRoaXMudmlld0NvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0lzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICBhd2FpdCBvcGVuVG9vbHRpcCh0aGlzLmRpYWxvZywgdGhpcy50ZW1wbGF0ZSwgdGhpcy5kYXRhLCBlbCwgdGhpcy5jb25maWcpO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dJc09wZW4gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJlbnRlcicsIFsnJGV2ZW50J10pXG4gICAgcHVibGljIGFzeW5jIG9uUG9pbnRlckVudGVyKGV2dDogUG9pbnRlckV2ZW50KSB7XG4gICAgICAgIC8vIElmIHRoZSB0ZW1wbGF0ZSBpcyBub3QgYSB0ZW1wbGF0ZSByZWYsIGRvIG5vdGhpbmcuXG4gICAgICAgIGlmICghKHRoaXMudGVtcGxhdGUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5jb25maWc/LnRyaWdnZXJzKSAmJiAhdGhpcy5jb25maWcudHJpZ2dlcnMuaW5jbHVkZXMoXCJob3ZlclwiKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0N1cnNvck92ZXJUYXJnZXQgPSB0cnVlO1xuXG4gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgLy8gSWYgdGhlIGN1cnNvciBtb3ZlZCBhd2F5IGluIHRoZSB0aW1lXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNDdXJzb3JPdmVyVGFyZ2V0KVxuICAgICAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH0sIHRoaXMuY29uZmlnLmRlbGF5ID8/IDI1MCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmxlYXZlJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgYXN5bmMgb25Qb2ludGVyTGVhdmUoZXZ0OiBQb2ludGVyRXZlbnQpIHtcbiAgICAgICAgdGhpcy5pc0N1cnNvck92ZXJUYXJnZXQgPSBmYWxzZTtcbiAgICB9XG59XG5cbi8vIEhlbHBlciB0byBvcGVuIHRoZSBjb250ZXh0IG1lbnUgd2l0aG91dCB1c2luZyB0aGUgZGlyZWN0aXZlLlxuZXhwb3J0IGNvbnN0IG9wZW5Ub29sdGlwID0gYXN5bmMgKFxuICAgIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxhbnk+LFxuICAgIGRhdGE6IGFueSxcbiAgICBlbDogSFRNTEVsZW1lbnQsXG4gICAgY29uZmlnPzogVG9vbHRpcE9wdGlvbnMsXG4gICAgZm9jdXNUcmFwID0gZmFsc2UsXG4gICAgbWF0UG9wdXBPcHRpb25zPzogTWF0RGlhbG9nQ29uZmlnPGFueT5cbikgPT4ge1xuXG4gICAgY29uc3QgcmVjdCA9IGF3YWl0IGNhbGNUb29sdGlwQm91bmRzKHRlbXBsYXRlLCBkYXRhLCBtYXRQb3B1cE9wdGlvbnMpO1xuICAgIGNvbnN0IG93bmVyQ29yZHMgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBjb3JkcyA9IGdldFBvc2l0aW9uKGVsLCBjb25maWcsIHJlY3QpO1xuICAgIGNvbnN0IHNwZWNpZmljSWQgPSB1bGlkKCk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzID0+IHtcbiAgICAgICAgZGlhbG9nLm9wZW4oVG9vbHRpcENvbXBvbmVudCwge1xuICAgICAgICAgICAgYXV0b0ZvY3VzOiBmb2N1c1RyYXAsXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZvY3VzVHJhcCxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBkaWFsb2csXG4gICAgICAgICAgICAgICAgZGF0YTogZGF0YSxcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogdGVtcGxhdGUsXG4gICAgICAgICAgICAgICAgY29uZmlnOiBjb25maWcsXG4gICAgICAgICAgICAgICAgbWF0UG9wdXBPcHRpb25zLFxuICAgICAgICAgICAgICAgIG93bmVyQ29yZHM6IG93bmVyQ29yZHMsXG4gICAgICAgICAgICAgICAgc2VsZkNvcmRzOiBjb3JkcyxcbiAgICAgICAgICAgICAgICBpZDogc3BlY2lmaWNJZFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IFtcIm5neC10b29sdGlwXCIsICduZ3gtJyArIHNwZWNpZmljSWRdLmNvbmNhdChjb25maWc/LmN1c3RvbUNsYXNzIHx8IFtdKSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiBjb3JkcyxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIC4uLm1hdFBvcHVwT3B0aW9uc1xuICAgICAgICB9KVxuICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocyA9PiB7XG4gICAgICAgICAgICAgICAgcmVzKHMpO1xuICAgICAgICAgICAgfSlcbiAgICB9KSBhcyBQcm9taXNlPGFueT47XG59O1xuIl19
@@ -117,4 +117,4 @@ export const getPosition = (el, config = {}, bounds) => {
117
117
  cords.left = cords.left + 'px';
118
118
  return cords;
119
119
  };
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBOEIsRUFBRSxTQUFjLEVBQUUsRUFBRSxNQUFlLEVBQUUsRUFBRTtJQUM3Riw0QkFBNEI7SUFDNUIsTUFBTSxHQUFHLEdBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDekIsQ0FBQyxDQUFFLEVBQWtCLENBQUMscUJBQXFCLEVBQUU7UUFDN0MsQ0FBQyxDQUFDO1lBQ0Usb0VBQW9FO1lBQ3BFLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ2hCLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ2hCLHVEQUF1RDtZQUN2RCxLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxNQUFNO1NBQ04sQ0FBQztJQUV6QixlQUFlO0lBQ2YsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFakMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUNoQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBRS9CLE1BQU0sS0FBSyxHQUFHO1FBQ1YsR0FBRyxFQUFFLElBQUk7UUFDVCxJQUFJLEVBQUUsSUFBSTtLQUNiLENBQUM7SUFFRixJQUFJLE1BQU0sRUFBRSxRQUFRLElBQUksTUFBTSxJQUFJLE1BQU0sRUFBRSxRQUFRLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtRQUNoRixRQUFRLE1BQU0sRUFBRSxTQUFTLEVBQUU7WUFFdkIsS0FBSyxLQUFLLENBQUMsQ0FBQztnQkFDUiw0QkFBNEI7Z0JBQzVCLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztnQkFDeEMsTUFBTTthQUNUO1lBQ0QsS0FBSyxVQUFVLENBQUMsQ0FBQztnQkFDYiwrQkFBK0I7Z0JBQy9CLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO2dCQUMvQixNQUFNO2FBQ1Q7WUFDRCxLQUFLLGFBQWEsQ0FBQyxDQUFDO2dCQUNoQiw0QkFBNEI7Z0JBQzVCLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7Z0JBQzNCLE1BQU07YUFDVDtZQUNELEtBQUssT0FBTyxDQUFDLENBQUM7Z0JBQ1YseUJBQXlCO2dCQUN6QixLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xCLE1BQU07YUFDVDtZQUNELEtBQUssUUFBUSxDQUFDO1lBQ2QsT0FBTyxDQUFDLENBQUM7Z0JBQ0wsb0JBQW9CO2dCQUNwQixLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDdEQsTUFBTTthQUNUO1NBQ0o7UUFFRCwrREFBK0Q7UUFDL0QsY0FBYztRQUNkLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsY0FBYztRQUNkLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUvQyxJQUFJLE1BQU0sRUFBRSxRQUFRLElBQUksTUFBTSxFQUFFO1lBQzVCLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekY7UUFDRCxJQUFJLE1BQU0sRUFBRSxRQUFRLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtZQUNsRCxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3RjtRQUVELGNBQWM7UUFDZCxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFdBQVcsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELGNBQWM7UUFDZCxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDbkQ7U0FDSSxJQUFJLE1BQU0sRUFBRSxRQUFRLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRSxRQUFRLElBQUksUUFBUSxFQUFFO1FBQ2hFLFFBQVEsTUFBTSxFQUFFLFNBQVMsRUFBRTtZQUN2QixLQUFLLEtBQUssQ0FBQyxDQUFDO2dCQUNSLDJCQUEyQjtnQkFDM0IsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUN2QyxNQUFNO2FBQ1Q7WUFDRCxLQUFLLFVBQVUsQ0FBQyxDQUFDO2dCQUNiLDZCQUE2QjtnQkFDN0IsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQy9CLE1BQU07YUFDVDtZQUNELEtBQUssYUFBYSxDQUFDLENBQUM7Z0JBQ2hCLDhCQUE4QjtnQkFDOUIsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDM0IsTUFBTTthQUNUO1lBQ0QsS0FBSyxPQUFPLENBQUMsQ0FBQztnQkFDViwwQkFBMEI7Z0JBQzFCLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbkIsTUFBTTthQUNUO1lBQ0QsS0FBSyxRQUFRLENBQUM7WUFDZCxPQUFPLENBQUMsQ0FBQztnQkFDTCxvQkFBb0I7Z0JBQ3BCLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNyRCxNQUFNO2FBQ1Q7U0FDSjtRQUVELCtEQUErRDtRQUMvRCxjQUFjO1FBQ2QsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxXQUFXLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxjQUFjO1FBQ2QsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBR2hELElBQUksTUFBTSxFQUFFLFFBQVEsSUFBSSxLQUFLLEVBQUU7WUFDM0IsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6RjtRQUNELElBQUksTUFBTSxFQUFFLFFBQVEsSUFBSSxRQUFRLEVBQUU7WUFDOUIsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0Y7UUFFRCxjQUFjO1FBQ2QsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxXQUFXLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRCxjQUFjO1FBQ2QsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsY0FBYztJQUNkLEtBQUssQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDN0IsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUUvQixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaXMgdXRpbHMgZmlsZSBleGlzdHMgb3V0c2lkZSBvZiB0aGUgc3RyaWN0IGFuZ3VsYXIgREkgem9uZVxuICogVGhpcyBlbmFibGVzIG9wZW5pbmcgcG9wdXBzIHdpdGhvdXQgcmVxdWlyaW5nIGFic29sdXRlIERJIGJpbmRpbmdzLlxuICovXG5cbmV4cG9ydCBjb25zdCBnZXRQb3NpdGlvbiA9IChlbDogSFRNTEVsZW1lbnQgfCBQb2ludGVyRXZlbnQsIGNvbmZpZzogYW55ID0ge30sIGJvdW5kczogRE9NUmVjdCkgPT4ge1xuICAgIC8vIEJvdW5kcyBvZiB0aGUgcG9wdXAgb3duZXJcbiAgICBjb25zdCBzcmM6IERPTVJlY3QgPSAhIWVsWydub2RlTmFtZSddXG4gICAgICAgICAgICAgICAgPyAoZWwgYXMgSFRNTEVsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgYSBwb2ludGVyIGV2ZW50LCBzbyB3ZSdsbCB0YWtlIHRoZSBYIGFuZCBZIGZyb20gdGhlIHBvaW50ZXIuXG4gICAgICAgICAgICAgICAgICAgIHg6IGVsWydjbGllbnRYJ10sXG4gICAgICAgICAgICAgICAgICAgIHk6IGVsWydjbGllbnRZJ10sXG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBhIGRlZmF1bHQgdGlueSBzaXplLCBzbyB3ZSBkb24ndCBkaXZpZGUgYnkgemVyby5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDAuMDAwMSxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwLjAwMDFcbiAgICAgICAgICAgICAgICB9IGFzIERPTVJlY3Q7XG5cbiAgICAvLyBQb3B1cCBib3VuZHNcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGJvdW5kcztcblxuICAgIGNvbnN0IHdpbmggPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgY29uc3Qgd2ludyA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgY29uc3QgY29yZHMgPSB7XG4gICAgICAgIHRvcDogbnVsbCxcbiAgICAgICAgbGVmdDogbnVsbFxuICAgIH07XG5cbiAgICBpZiAoY29uZmlnPy5wb3NpdGlvbiA9PSBcImxlZnRcIiB8fCBjb25maWc/LnBvc2l0aW9uID09IFwicmlnaHRcIiB8fCAhY29uZmlnPy5wb3NpdGlvbikge1xuICAgICAgICBzd2l0Y2ggKGNvbmZpZz8uYWxpZ25tZW50KSB7XG5cbiAgICAgICAgICAgIGNhc2UgXCJlbmRcIjoge1xuICAgICAgICAgICAgICAgIC8vIHZlcnRpY2FsbHkgYmluZCB0byBib3R0b21cbiAgICAgICAgICAgICAgICBjb3Jkcy50b3AgPSBzcmMueSArIHNyYy5oZWlnaHQgLSBoZWlnaHQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiYWZ0ZXJlbmRcIjoge1xuICAgICAgICAgICAgICAgIC8vIHZlcnRpY2FsbHkgYmluZCBiZWxvdyBib3R0b21cbiAgICAgICAgICAgICAgICBjb3Jkcy50b3AgPSBzcmMueSArIHNyYy5oZWlnaHQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiYmVmb3Jlc3RhcnRcIjoge1xuICAgICAgICAgICAgICAgIC8vIHZlcnRpY2FsbHkgYmluZCBhYm92ZSB0b3BcbiAgICAgICAgICAgICAgICBjb3Jkcy50b3AgPSBzcmMueSAtIGhlaWdodDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJzdGFydFwiOiB7XG4gICAgICAgICAgICAgICAgLy8gdmVydGljYWxseSBiaW5kIHRvIHRvcFxuICAgICAgICAgICAgICAgIGNvcmRzLnRvcCA9IHNyYy55O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcImNlbnRlclwiOlxuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gICAgICAgICAgICAgICAgY29yZHMudG9wID0gKHNyYy55ICsgKHNyYy5oZWlnaHQgLyAyKSkgLSAoaGVpZ2h0IC8gMik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBseSBib3VuZHMgdG8gcHJldmVudCB0aGUgZGlhbG9nIGZyb20gYmVpbmcgY3V0LW9mZiBzY3JlZW5cbiAgICAgICAgLy8gTG93ZXIgYm91bmRcbiAgICAgICAgY29yZHMudG9wID0gTWF0aC5tYXgoY29uZmlnPy5lZGdlUGFkZGluZyB8fCAwLCBjb3Jkcy50b3ApO1xuICAgICAgICAvLyBVcHBlciBib3VuZFxuICAgICAgICBjb3Jkcy50b3AgPSBNYXRoLm1pbih3aW5oIC0gaGVpZ2h0LCBjb3Jkcy50b3ApO1xuXG4gICAgICAgIGlmIChjb25maWc/LnBvc2l0aW9uID09IFwibGVmdFwiKSB7XG4gICAgICAgICAgICBjb3Jkcy5sZWZ0ID0gc3JjLnggLSAod2lkdGggKyAoY29uZmlnPy5hcnJvd1NpemUgfHwgMCkgKyAoY29uZmlnPy5hcnJvd1BhZGRpbmcgfHwgMCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWc/LnBvc2l0aW9uID09IFwicmlnaHRcIiB8fCAhY29uZmlnPy5wb3NpdGlvbikge1xuICAgICAgICAgICAgY29yZHMubGVmdCA9IHNyYy54ICsgKHNyYy53aWR0aCArIChjb25maWc/LmFycm93U2l6ZSB8fCAwKSArIChjb25maWc/LmFycm93UGFkZGluZyB8fCAwKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMb3dlciBib3VuZFxuICAgICAgICBjb3Jkcy5sZWZ0ID0gTWF0aC5tYXgoY29uZmlnPy5lZGdlUGFkZGluZyB8fCAwLCBjb3Jkcy5sZWZ0KTtcbiAgICAgICAgLy8gVXBwZXIgYm91bmRcbiAgICAgICAgY29yZHMubGVmdCA9IE1hdGgubWluKHdpbncgLSB3aWR0aCwgY29yZHMubGVmdCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGNvbmZpZz8ucG9zaXRpb24gPT0gXCJ0b3BcIiB8fCBjb25maWc/LnBvc2l0aW9uID09IFwiYm90dG9tXCIpIHtcbiAgICAgICAgc3dpdGNoIChjb25maWc/LmFsaWdubWVudCkge1xuICAgICAgICAgICAgY2FzZSBcImVuZFwiOiB7XG4gICAgICAgICAgICAgICAgLy8gdmVydGljYWxseSBiaW5kIHRvIHJpZ2h0XG4gICAgICAgICAgICAgICAgY29yZHMubGVmdCA9IHNyYy54ICsgc3JjLndpZHRoIC0gd2lkdGg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiYWZ0ZXJlbmRcIjoge1xuICAgICAgICAgICAgICAgIC8vIHZlcnRpY2FsbHkgYmluZCBwYXN0IHJpZ2h0XG4gICAgICAgICAgICAgICAgY29yZHMubGVmdCA9IHNyYy54ICsgc3JjLndpZHRoO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcImJlZm9yZXN0YXJ0XCI6IHtcbiAgICAgICAgICAgICAgICAvLyB2ZXJ0aWNhbGx5IGJpbmQgYmVmb3JlIGxlZnRcbiAgICAgICAgICAgICAgICBjb3Jkcy5sZWZ0ID0gc3JjLnggLSB3aWR0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJzdGFydFwiOiB7XG4gICAgICAgICAgICAgICAgLy8gdmVydGljYWxseSBiaW5kIHRvIGxlZnRcbiAgICAgICAgICAgICAgICBjb3Jkcy5sZWZ0ID0gc3JjLng7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiY2VudGVyXCI6XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgLy8gdmVydGljYWxseSBjZW50ZXJcbiAgICAgICAgICAgICAgICBjb3Jkcy5sZWZ0ID0gKHNyYy54ICsgKHNyYy53aWR0aCAvIDIpKSAtICh3aWR0aCAvIDIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBwbHkgYm91bmRzIHRvIHByZXZlbnQgdGhlIGRpYWxvZyBmcm9tIGJlaW5nIGN1dC1vZmYgc2NyZWVuXG4gICAgICAgIC8vIExvd2VyIGJvdW5kXG4gICAgICAgIGNvcmRzLmxlZnQgPSBNYXRoLm1heChjb25maWc/LmVkZ2VQYWRkaW5nIHx8IDAsIGNvcmRzLmxlZnQpO1xuICAgICAgICAvLyBVcHBlciBib3VuZFxuICAgICAgICBjb3Jkcy5sZWZ0ID0gTWF0aC5taW4od2ludyAtIHdpZHRoLCBjb3Jkcy5sZWZ0KTtcblxuXG4gICAgICAgIGlmIChjb25maWc/LnBvc2l0aW9uID09IFwidG9wXCIpIHtcbiAgICAgICAgICAgIGNvcmRzLnRvcCA9IHNyYy55IC0gKGhlaWdodCArIChjb25maWc/LmFycm93U2l6ZSB8fCAwKSArIChjb25maWc/LmFycm93UGFkZGluZyB8fCAwKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZz8ucG9zaXRpb24gPT0gXCJib3R0b21cIikge1xuICAgICAgICAgICAgY29yZHMudG9wID0gc3JjLnkgKyAoc3JjLmhlaWdodCArIChjb25maWc/LmFycm93U2l6ZSB8fCAwKSArIChjb25maWc/LmFycm93UGFkZGluZyB8fCAwKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMb3dlciBib3VuZFxuICAgICAgICBjb3Jkcy50b3AgPSBNYXRoLm1heChjb25maWc/LmVkZ2VQYWRkaW5nIHx8IDAsIGNvcmRzLnRvcCk7XG4gICAgICAgIC8vIFVwcGVyIGJvdW5kXG4gICAgICAgIGNvcmRzLnRvcCA9IE1hdGgubWluKHdpbmggLSBoZWlnaHQsIGNvcmRzLnRvcCk7XG4gICAgfVxuXG4gICAgLy8gQXNzaWduIHVuaXRcbiAgICBjb3Jkcy50b3AgPSBjb3Jkcy50b3AgKyAncHgnO1xuICAgIGNvcmRzLmxlZnQgPSBjb3Jkcy5sZWZ0ICsgJ3B4JztcblxuICAgIHJldHVybiBjb3Jkcztcbn1cbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBOEIsRUFBRSxTQUFjLEVBQUUsRUFBRSxNQUFlLEVBQUUsRUFBRTtJQUM3Riw0QkFBNEI7SUFDNUIsTUFBTSxHQUFHLEdBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDekIsQ0FBQyxDQUFFLEVBQWtCLENBQUMscUJBQXFCLEVBQUU7UUFDN0MsQ0FBQyxDQUFDO1lBQ0Usb0VBQW9FO1lBQ3BFLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ2hCLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ2hCLHVEQUF1RDtZQUN2RCxLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxNQUFNO1NBQ04sQ0FBQztJQUV6QixlQUFlO0lBQ2YsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFakMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUNoQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBRS9CLE1BQU0sS0FBSyxHQUFHO1FBQ1YsR0FBRyxFQUFFLElBQUk7UUFDVCxJQUFJLEVBQUUsSUFBSTtLQUNiLENBQUM7SUFFRixJQUFJLE1BQU0sRUFBRSxRQUFRLElBQUksTUFBTSxJQUFJLE1BQU0sRUFBRSxRQUFRLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ2pGLFFBQVEsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBRXhCLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDVCw0QkFBNEI7Z0JBQzVCLEtBQUssQ0FB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QUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUYsQ0FBQztRQUNELElBQUksTUFBTSxFQUFFLFFBQVEsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMvQixLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RixDQUFDO1FBRUQsY0FBYztRQUNkLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsY0FBYztRQUNkLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsY0FBYztJQUNkLEtBQUssQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDN0IsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUUvQixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaXMgdXRpbHMgZmlsZSBleGlzdHMgb3V0c2lkZSBvZiB0aGUgc3RyaWN0IGFuZ3VsYXIgREkgem9uZVxuICogVGhpcyBlbmFibGVzIG9wZW5pbmcgcG9wdXBzIHdpdGhvdXQgcmVxdWlyaW5nIGFic29sdXRlIERJIGJpbmRpbmdzLlxuICovXG5cbmV4cG9ydCBjb25zdCBnZXRQb3NpdGlvbiA9IChlbDogSFRNTEVsZW1lbnQgfCBQb2ludGVyRXZlbnQsIGNvbmZpZzogYW55ID0ge30sIGJvdW5kczogRE9NUmVjdCkgPT4ge1xuICAgIC8vIEJvdW5kcyBvZiB0aGUgcG9wdXAgb3duZXJcbiAgICBjb25zdCBzcmM6IERPTVJlY3QgPSAhIWVsWydub2RlTmFtZSddXG4gICAgICAgICAgICAgICAgPyAoZWwgYXMgSFRNTEVsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgYSBwb2ludGVyIGV2ZW50LCBzbyB3ZSdsbCB0YWtlIHRoZSBYIGFuZCBZIGZyb20gdGhlIHBvaW50ZXIuXG4gICAgICAgICAgICAgICAgICAgIHg6IGVsWydjbGllbnRYJ10sXG4gICAgICAgICAgICAgICAgICAgIHk6IGVsWydjbGllbnRZJ10sXG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBhIGRlZmF1bHQgdGlueSBzaXplLCBzbyB3ZSBkb24ndCBkaXZpZGUgYnkgemVyby5cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDAuMDAwMSxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwLjAwMDFcbiAgICAgICAgICAgICAgICB9IGFzIERPTVJlY3Q7XG5cbiAgICAvLyBQb3B1cCBib3VuZHNcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGJvdW5kcztcblxuICAgIGNvbnN0IHdpbmggPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgY29uc3Qgd2ludyA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgY29uc3QgY29yZHMgPSB7XG4gICAgICAgIHRvcDogbnVsbCxcbiAgICAgICAgbGVmdDogbnVsbFxuICAgIH07XG5cbiAgICBpZiAoY29uZmlnPy5wb3NpdGlvbiA9PSBcImxlZnRcIiB8fCBjb25maWc/LnBvc2l0aW9uID09IFwicmlnaHRcIiB8fCAhY29uZmlnPy5wb3NpdGlvbikge1xuICAgICAgICBzd2l0Y2ggKGNvbmZpZz8uYWxpZ25tZW50KSB7XG5cbiAgICAgICAgICAgIGNhc2UgXCJlbmRcIjoge1xuICAgICAgICAgICAgICAgIC8vIHZlcnRpY2FsbHkgYmluZCB0byBib3R0b21cbiAgICAgICAgICAgICAgICBjb3Jkcy50b3AgPSBzcmMueSArIHNyYy5oZWlnaHQgLSBoZWlnaHQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiYWZ0ZXJlbmRcIjoge1xuICAgICAgICAgICAgICAgIC8vIHZlcnRpY2FsbHkgYmluZCBiZWxvdyBib3R0b21cbiAgICAgICAgICAgICAgICBjb3Jkcy50b3AgPSBzcmMueSArIHNyYy5oZWlnaHQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiYmVmb3Jlc3RhcnRcIjoge1xuICAgICAgICAgICAgICAgIC8vIHZlcnRpY2FsbHkgYmluZCBhYm92ZSB0b3BcbiAgICAgICAgICAgICAgICBjb3Jkcy50b3AgPSBzcmMueSAtIGhlaWdodDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJzdGFydFwiOiB7XG4gICAgICAgICAgICAgICAgLy8gdmVydGljYWxseSBiaW5kIHRvIHRvcFxuICAgICAgICAgICAgICAgIGNvcmRzLnRvcCA9IHNyYy55O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcImNlbnRlclwiOlxuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gICAgICAgICAgICAgICAgY29yZHMudG9wID0gKHNyYy55ICsgKHNyYy5oZWlnaHQgLyAyKSkgLSAoaGVpZ2h0IC8gMik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBseSBib3VuZHMgdG8gcHJldmVudCB0aGUgZGlhbG9nIGZyb20gYmVpbmcgY3V0LW9mZiBzY3JlZW5cbiAgICAgICAgLy8gTG93ZXIgYm91bmRcbiAgICAgICAgY29yZHMudG9wID0gTWF0aC5tYXgoY29uZmlnPy5lZGdlUGFkZGluZyB8fCAwLCBjb3Jkcy50b3ApO1xuICAgICAgICAvLyBVcHBlciBib3VuZFxuICAgICAgICBjb3Jkcy50b3AgPSBNYXRoLm1pbih3aW5oIC0gaGVpZ2h0LCBjb3Jkcy50b3ApO1xuXG4gICAgICAgIGlmIChjb25maWc/LnBvc2l0aW9uID09IFwibGVmdFwiKSB7XG4gICAgICAgICAgICBjb3Jkcy5sZWZ0ID0gc3JjLnggLSAod2lkdGggKyAoY29uZmlnPy5hcnJvd1NpemUgfHwgMCkgKyAoY29uZmlnPy5hcnJvd1BhZGRpbmcgfHwgMCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWc/LnBvc2l0aW9uID09IFwicmlnaHRcIiB8fCAhY29uZmlnPy5wb3NpdGlvbikge1xuICAgICAgICAgICAgY29yZHMubGVmdCA9IHNyYy54ICsgKHNyYy53aWR0aCArIChjb25maWc/LmFycm93U2l6ZSB8fCAwKSArIChjb25maWc/LmFycm93UGFkZGluZyB8fCAwKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMb3dlciBib3VuZFxuICAgICAgICBjb3Jkcy5sZWZ0ID0gTWF0aC5tYXgoY29uZmlnPy5lZGdlUGFkZGluZyB8fCAwLCBjb3Jkcy5sZWZ0KTtcbiAgICAgICAgLy8gVXBwZXIgYm91bmRcbiAgICAgICAgY29yZHMubGVmdCA9IE1hdGgubWluKHdpbncgLSB3aWR0aCwgY29yZHMubGVmdCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGNvbmZpZz8ucG9zaXRpb24gPT0gXCJ0b3BcIiB8fCBjb25maWc/LnBvc2l0aW9uID09IFwiYm90dG9tXCIpIHtcbiAgICAgICAgc3dpdGNoIChjb25maWc/LmFsaWdubWVudCkge1xuICAgICAgICAgICAgY2FzZSBcImVuZFwiOiB7XG4gICAgICAgICAgICAgICAgLy8gdmVydGljYWxseSBiaW5kIHRvIHJpZ2h0XG4gICAgICAgICAgICAgICAgY29yZHMubGVmdCA9IHNyYy54ICsgc3JjLndpZHRoIC0gd2lkdGg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiYWZ0ZXJlbmRcIjoge1xuICAgICAgICAgICAgICAgIC8vIHZlcnRpY2FsbHkgYmluZCBwYXN0IHJpZ2h0XG4gICAgICAgICAgICAgICAgY29yZHMubGVmdCA9IHNyYy54ICsgc3JjLndpZHRoO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcImJlZm9yZXN0YXJ0XCI6IHtcbiAgICAgICAgICAgICAgICAvLyB2ZXJ0aWNhbGx5IGJpbmQgYmVmb3JlIGxlZnRcbiAgICAgICAgICAgICAgICBjb3Jkcy5sZWZ0ID0gc3JjLnggLSB3aWR0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJzdGFydFwiOiB7XG4gICAgICAgICAgICAgICAgLy8gdmVydGljYWxseSBiaW5kIHRvIGxlZnRcbiAgICAgICAgICAgICAgICBjb3Jkcy5sZWZ0ID0gc3JjLng7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiY2VudGVyXCI6XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgLy8gdmVydGljYWxseSBjZW50ZXJcbiAgICAgICAgICAgICAgICBjb3Jkcy5sZWZ0ID0gKHNyYy54ICsgKHNyYy53aWR0aCAvIDIpKSAtICh3aWR0aCAvIDIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBwbHkgYm91bmRzIHRvIHByZXZlbnQgdGhlIGRpYWxvZyBmcm9tIGJlaW5nIGN1dC1vZmYgc2NyZWVuXG4gICAgICAgIC8vIExvd2VyIGJvdW5kXG4gICAgICAgIGNvcmRzLmxlZnQgPSBNYXRoLm1heChjb25maWc/LmVkZ2VQYWRkaW5nIHx8IDAsIGNvcmRzLmxlZnQpO1xuICAgICAgICAvLyBVcHBlciBib3VuZFxuICAgICAgICBjb3Jkcy5sZWZ0ID0gTWF0aC5taW4od2ludyAtIHdpZHRoLCBjb3Jkcy5sZWZ0KTtcblxuXG4gICAgICAgIGlmIChjb25maWc/LnBvc2l0aW9uID09IFwidG9wXCIpIHtcbiAgICAgICAgICAgIGNvcmRzLnRvcCA9IHNyYy55IC0gKGhlaWdodCArIChjb25maWc/LmFycm93U2l6ZSB8fCAwKSArIChjb25maWc/LmFycm93UGFkZGluZyB8fCAwKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZz8ucG9zaXRpb24gPT0gXCJib3R0b21cIikge1xuICAgICAgICAgICAgY29yZHMudG9wID0gc3JjLnkgKyAoc3JjLmhlaWdodCArIChjb25maWc/LmFycm93U2l6ZSB8fCAwKSArIChjb25maWc/LmFycm93UGFkZGluZyB8fCAwKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMb3dlciBib3VuZFxuICAgICAgICBjb3Jkcy50b3AgPSBNYXRoLm1heChjb25maWc/LmVkZ2VQYWRkaW5nIHx8IDAsIGNvcmRzLnRvcCk7XG4gICAgICAgIC8vIFVwcGVyIGJvdW5kXG4gICAgICAgIGNvcmRzLnRvcCA9IE1hdGgubWluKHdpbmggLSBoZWlnaHQsIGNvcmRzLnRvcCk7XG4gICAgfVxuXG4gICAgLy8gQXNzaWduIHVuaXRcbiAgICBjb3Jkcy50b3AgPSBjb3Jkcy50b3AgKyAncHgnO1xuICAgIGNvcmRzLmxlZnQgPSBjb3Jkcy5sZWZ0ICsgJ3B4JztcblxuICAgIHJldHVybiBjb3Jkcztcbn1cbiJdfQ==
@@ -14,10 +14,10 @@ export class HtmlBypass {
14
14
  transform(url) {
15
15
  return this.sanitizer.bypassSecurityTrustHtml(url);
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HtmlBypass, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
18
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: HtmlBypass, isStandalone: true, name: "htmlbypass" }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: HtmlBypass, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
18
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: HtmlBypass, isStandalone: true, name: "htmlbypass" }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: HtmlBypass, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: HtmlBypass, decorators: [{
21
21
  type: Pipe,
22
22
  args: [{
23
23
  name: 'htmlbypass',
@@ -14,10 +14,10 @@ export class ResourceBypass {
14
14
  transform(url) {
15
15
  return this.sanitizer.bypassSecurityTrustResourceUrl(url);
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ResourceBypass, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
18
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: ResourceBypass, isStandalone: true, name: "resourcebypass" }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ResourceBypass, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
18
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: ResourceBypass, isStandalone: true, name: "resourcebypass" }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ResourceBypass, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ResourceBypass, decorators: [{
21
21
  type: Pipe,
22
22
  args: [{
23
23
  name: 'resourcebypass',
@@ -14,10 +14,10 @@ export class ScriptBypass {
14
14
  transform(url) {
15
15
  return this.sanitizer.bypassSecurityTrustScript(url);
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ScriptBypass, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
18
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: ScriptBypass, isStandalone: true, name: "scriptbypass" }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ScriptBypass, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
18
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: ScriptBypass, isStandalone: true, name: "scriptbypass" }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ScriptBypass, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ScriptBypass, decorators: [{
21
21
  type: Pipe,
22
22
  args: [{
23
23
  name: 'scriptbypass',
@@ -14,10 +14,10 @@ export class StyleBypass {
14
14
  transform(url) {
15
15
  return this.sanitizer.bypassSecurityTrustStyle(url);
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: StyleBypass, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
18
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: StyleBypass, isStandalone: true, name: "stylebypass" }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: StyleBypass, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
18
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: StyleBypass, isStandalone: true, name: "stylebypass" }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: StyleBypass, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: StyleBypass, decorators: [{
21
21
  type: Pipe,
22
22
  args: [{
23
23
  name: 'stylebypass',
@@ -14,10 +14,10 @@ export class UrlBypass {
14
14
  transform(url) {
15
15
  return this.sanitizer.bypassSecurityTrustUrl(url);
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UrlBypass, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
18
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: UrlBypass, isStandalone: true, name: "urlbypass" }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UrlBypass, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
18
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: UrlBypass, isStandalone: true, name: "urlbypass" }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UrlBypass, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: UrlBypass, decorators: [{
21
21
  type: Pipe,
22
22
  args: [{
23
23
  name: 'urlbypass',
@@ -193,13 +193,13 @@ export class CommandPaletteService {
193
193
  getRegisteredCommands(element = document.body) {
194
194
  return this.getCommandBlocks(element).map(c => c.actions).flat();
195
195
  }
196
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CommandPaletteService, deps: [{ token: i1.MatDialog }, { token: i2.LazyLoaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
197
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CommandPaletteService, providedIn: 'root' }); }
196
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: CommandPaletteService, deps: [{ token: i1.MatDialog }, { token: i2.LazyLoaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
197
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: CommandPaletteService, providedIn: 'root' }); }
198
198
  }
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CommandPaletteService, decorators: [{
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: CommandPaletteService, decorators: [{
200
200
  type: Injectable,
201
201
  args: [{
202
202
  providedIn: 'root'
203
203
  }]
204
204
  }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.LazyLoaderService }] });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1wYWxldHRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL3NlcnZpY2VzL2NvbW1hbmQtcGFsZXR0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOzs7O0FBRWxHLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztBQTZIdEUsTUFBTSxPQUFPLHFCQUFxQjtJQUs5QixZQUNxQixNQUFpQixFQUNqQixVQUE2QjtRQUQ3QixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBTDFDLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQU92QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQzdCLDREQUE0RDtZQUM1RCxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRXpDLHNEQUFzRDtnQkFDdEQsa0RBQWtEO2dCQUNsRCw2QkFBNkI7Z0JBQzdCLHlEQUF5RDtn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QUUsK0NBQStDLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQ3RGO0lBQ0wsQ0FBQztJQU9ELHFCQUFxQixDQUFDLFVBQXlDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBMkIsRUFBRTtRQUN2RyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEIsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUNsQixPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztTQUMzQjtRQUVELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNILHFCQUFxQixDQUFDLFVBQXVCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBMkIsRUFBRTtRQUNyRixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxxQkFBcUIsQ0FBQyxVQUF1QixRQUFRLENBQUMsSUFBSTtRQUN0RCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckUsQ0FBQzs4R0FqT1EscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGbEIsTUFBTTs7MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEhvc3RMaXN0ZW5lciwgVHlwZSwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQ29uc29sZUxvZ2dlciwgTG9nSWNvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IExhenlMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9sYXp5LWxvYWRlci9sYXp5LWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1hbmRQYWxldHRlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb21tYW5kLXBhbGV0dGUvY29tbWFuZC1wYWxldHRlLmNvbXBvbmVudCc7XG5cbmNvbnN0IHsgbG9nLCB3YXJuLCBlcnIgfSA9IENvbnNvbGVMb2dnZXIoXCJDb21tYW5kUGFsZXR0ZVwiLCBcIiMyMTk2ZjNcIik7XG5cbnR5cGUgS2V5Q29kZSA9IFwiQmFja3NwYWNlXCIgfCBcIlRhYlwiIHwgXCJFbnRlclwiIHwgXCJTaGlmdExlZnRcIiB8IFwiU2hpZnRSaWdodFwiXG4gICAgfCBcIkNvbnRyb2xMZWZ0XCIgfCBcIkNvbnRyb2xSaWdodFwiIHwgXCJBbHRMZWZ0XCIgfCBcIkFsdFJpZ2h0XCIgfCBcIlBhdXNlXCIgfCBcIkNhcHNMb2NrXCJcbiAgICB8IFwiRXNjYXBlXCIgfCBcIlNwYWNlXCIgfCBcIlBhZ2VVcFwiIHwgXCJQYWdlRG93blwiIHwgXCJFbmRcIiB8IFwiSG9tZVwiIHwgXCJBcnJvd0xlZnRcIlxuICAgIHwgXCJBcnJvd1VwXCIgfCBcIkFycm93UmlnaHRcIiB8IFwiQXJyb3dEb3duXCIgfCBcIlByaW50U2NyZWVuXCIgfCBcIkluc2VydFwiIHwgXCJEZWxldGVcIlxuICAgIHwgXCJNZXRhTGVmdFwiIHwgXCJNZXRhUmlnaHRcIiB8IFwiQ29udGV4dE1lbnVcIiB8IFwiTnVtcGFkMFwiIHwgXCJOdW1wYWQxXCIgfCBcIk51bXBhZDJcIlxuICAgIHwgXCJOdW1wYWQzXCIgfCBcIk51bXBhZDRcIiB8IFwiTnVtcGFkNVwiIHwgXCJOdW1wYWQ2XCIgfCBcIk51bXBhZDdcIiB8IFwiTnVtcGFkOFwiXG4gICAgfCBcIk51bXBhZDlcIiB8IFwiTnVtcGFkTXVsdGlwbHlcIiB8IFwiTnVtcGFkQWRkXCIgfCBcIk51bXBhZFN1YnRyYWN0XCJcbiAgICB8IFwiTnVtcGFkRGVjaW1hbFwiIHwgXCJOdW1wYWREaXZpZGVcIlxuICAgIHwgXCJGMVwiIHwgXCJGMlwiIHwgXCJGM1wiIHwgXCJGNFwiIHwgXCJGNVwiIHwgXCJGNlwiIHwgXCJGN1wiIHwgXCJGOFwiIHwgXCJGOVwiIHwgXCJGMTBcIiB8IFwiRjExXCIgfCBcIkYxMlwiXG4gICAgfCBcIk51bUxvY2tcIiB8IFwiU2Nyb2xsTG9ja1wiIHwgXCJTZW1pY29sb25cIiB8IFwiRXF1YWxcIiB8IFwiQ29tbWFcIiB8IFwiTWludXNcIlxuICAgIHwgXCJQZXJpb2RcIiB8IFwiU2xhc2hcIiB8IFwiQmFja3F1b3RlXCIgfCBcIkJyYWNrZXRMZWZ0XCIgfCBcIkJhY2tzbGFzaFwiXG4gICAgfCBcIkJyYWNrZXRSaWdodFwiIHwgXCJRdW90ZVwiIHwgXCJiYWNrc3BhY2VcIiB8IFwidGFiXCIgfCBcImVudGVyXCIgfCBcInNoaWZ0bGVmdFwiXG4gICAgfCBcInNoaWZ0cmlnaHRcIiB8IFwiY29udHJvbGxlZnRcIiB8IFwiY29udHJvbHJpZ2h0XCIgfCBcImFsdGxlZnRcIiB8IFwiYWx0cmlnaHRcIlxuICAgIHwgXCJwYXVzZVwiIHwgXCJjYXBzbG9ja1wiIHwgXCJlc2NhcGVcIiB8IFwic3BhY2VcIiB8IFwicGFnZXVwXCIgfCBcInBhZ2Vkb3duXCIgfCBcImVuZFwiXG4gICAgfCBcImhvbWVcIiB8IFwiYXJyb3dsZWZ0XCIgfCBcImFycm93dXBcIiB8IFwiYXJyb3dyaWdodFwiIHwgXCJhcnJvd2Rvd25cIiB8IFwicHJpbnRzY3JlZW5cIlxuICAgIHwgXCJpbnNlcnRcIiB8IFwiZGVsZXRlXCIgfCBcIm1ldGFsZWZ0XCIgfCBcIm1ldGFyaWdodFwiIHwgXCJjb250ZXh0bWVudVwiXG4gICAgfCBcIm51bXBhZDBcIiB8IFwibnVtcGFkMVwiIHwgXCJudW1wYWQyXCIgfCBcIm51bXBhZDNcIiB8IFwibnVtcGFkNFwiIHwgXCJudW1wYWQ1XCJcbiAgICB8IFwibnVtcGFkNlwiIHwgXCJudW1wYWQ3XCIgfCBcIm51bXBhZDhcIiB8IFwibnVtcGFkOVwiIHwgXCJudW1wYWRtdWx0aXBseVwiIHwgXCJudW1wYWRhZGRcIlxuICAgIHwgXCJudW1wYWRzdWJ0cmFjdFwiIHwgXCJudW1wYWRkZWNpbWFsXCIgfCBcIm51bXBhZGRpdmlkZVwiXG4gICAgfCBcImYxXCIgfCBcImYyXCIgfCBcImYzXCIgfCBcImY0XCIgfCBcImY1XCIgfCBcImY2XCIgfCBcImY3XCIgfCBcImY4XCIgfCBcImY5XCIgfCBcImYxMFwiIHwgXCJmMTFcIiB8IFwiZjEyXCJcbiAgICB8IFwibnVtbG9ja1wiIHwgXCJzY3JvbGxsb2NrXCIgfCBcInNlbWljb2xvblwiIHwgXCJlcXVhbFwiIHwgXCJjb21tYVwiIHwgXCJtaW51c1wiIHwgXCJwZXJpb2RcIlxuICAgIHwgXCJzbGFzaFwiIHwgXCJiYWNrcXVvdGVcIiB8IFwiYnJhY2tldGxlZnRcIiB8IFwiYmFja3NsYXNoXCIgfCBcImJyYWNrZXRyaWdodFwiIHwgXCJxdW90ZVwiXG4gICAgfCBcIkFcIiB8IFwiQlwiIHwgXCJDXCIgfCBcIkRcIiB8IFwiRVwiIHwgXCJGXCIgfCBcIkdcIiB8IFwiSFwiIHwgXCJJXCIgfCBcIkpcIiB8IFwiS1wiIHwgXCJMXCIgfCBcIk1cIlxuICAgIHwgXCJOXCIgfCBcIk9cIiB8IFwiUFwiIHwgXCJRXCIgfCBcIlJcIiB8IFwiU1wiIHwgXCJUXCIgfCBcIlVcIiB8IFwiVlwiIHwgXCJXXCIgfCBcIlhcIiB8IFwiWVwiIHwgXCJaXCJcbiAgICB8IFwiYVwiIHwgXCJiXCIgfCBcImNcIiB8IFwiZFwiIHwgXCJlXCIgfCBcImZcIiB8IFwiZ1wiIHwgXCJoXCIgfCBcImlcIiB8IFwialwiIHwgXCJrXCIgfCBcImxcIiB8IFwibVwiXG4gICAgfCBcIm5cIiB8IFwib1wiIHwgXCJwXCIgfCBcInFcIiB8IFwiclwiIHwgXCJzXCIgfCBcInRcIiB8IFwidVwiIHwgXCJ2XCIgfCBcIndcIiB8IFwieFwiIHwgXCJ5XCIgfCBcInpcIjtcblxuLy8gY3RybCthbHQrbWV0YStzaGlmdFxudHlwZSBLZXlQcmVmaXggPVxuICAgIGBjdHJsYCB8XG4gICAgYGN0cmwrYWx0YCB8XG4gICAgYGN0cmwrYWx0K3NoaWZ0YCB8XG4gICAgYGN0cmwrYWx0K3NoaWZ0K21ldGFgIHxcbiAgICBgY3RybCthbHQrbWV0YWAgfFxuICAgIGBjdHJsK3NoaWZ0YCB8XG4gICAgYGN0cmwrc2hpZnQrbWV0YWAgfFxuICAgIGBjdHJsK21ldGFgIHxcbiAgICBgYWx0YCB8XG4gICAgYGFsdCtzaGlmdGAgfFxuICAgIGBhbHQrc2hpZnQrbWV0YWAgfFxuICAgIGBhbHQrbWV0YWAgfFxuICAgIGBzaGlmdGAgfFxuICAgIGBzaGlmdCttZXRhYCB8XG4gICAgYG1ldGFgXG5cbmV4cG9ydCB0eXBlIEtleWJpbmRFdmVudCA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB2b2lkO1xuZXhwb3J0IHR5cGUgS2V5YmluZENvZGUgPSBgJHtLZXlQcmVmaXh9KyR7S2V5Q29kZX1gIHwgS2V5Q29kZTtcblxuXG5cbmV4cG9ydCB0eXBlIENvbW1hbmRBY3Rpb248VCA9IGFueT4gPSB7XG4gICAgLyoqXG4gICAgICogVGhlIG5vbi1tb2RpZmllciBrZXkocykgdGhhdCBtdXN0IGJlIHByZXNzZWQgZm9yIHRoZSBldmVudCB0byBmaXJlLlxuICAgICAqL1xuICAgIHNob3J0Y3V0S2V5PzogS2V5YmluZENvZGUgfCBLZXliaW5kQ29kZVtdLFxuXG4gICAgLyoqXG4gICAgICogQWN0aW9uIHRoYXQgaXMgaW52b2tlZCB3aGVuIHRoZSBrZXlib2FyZCBzaG9ydGN1dCBpcyBwcmVzc2VkIG9yIHRoZSBpdGVtXG4gICAgICogaXMgYWN0aXZhdGVkIGluIHRoZSBHVUkgbWVudVxuICAgICAqIElmIHRoZSBHVUkgbWVudSBpcyBvcGVuLCBpdCB3aWxsIHNob3cgYSBzcGlubmVyIGlmIHRoZSBhY3Rpb24gcmV0dXJucyBhIGBQcm9taXNlYFxuICAgICAqL1xuICAgIGFjdGlvbj86IChldnQ6IEtleWJvYXJkRXZlbnQsIGRhdGE/OiBUKSA9PiBQcm9taXNlPGFueT4gfCBhbnksXG5cbiAgICAvKipcbiAgICAgKiBBcmJpdHJhcnkgZGF0YSBvYmplY3QgdG8gYmUgcGFzc2VkIGludG8gdGhlIGFjdGlvblxuICAgICAqL1xuICAgIGRhdGE/OiBULFxuXG4gICAgLyoqXG4gICAgICogTGFiZWwgaW4gdGhlIGNvbW1hbmQgcGFsZXR0ZSBwb3B1cFxuICAgICAqL1xuICAgIGxhYmVsPzogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogS2V5d29yZHMgdGhhdCBjYW4gaGVscCBwaWNrIHRoaXMgY29tbWFuZFxuICAgICAqL1xuICAgIGtleXdvcmRzPzogc3RyaW5nIHwgc3RyaW5nW10sXG5cbiAgICAvKipcbiAgICAgKiBEZXNjcmlwdGlvbiBmb3IgdGhlIHBvcHVwXG4gICAgICovXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgcm9vdCBhbmNlc3RvciBlbGVtZW50IG9mIHRoZSBhY3Rpb25cbiAgICAgKiAoVGhpcyBhbGxvd3Mgc2NvcGluZyBjb21tYW5kcyB0byBzcGVjaWZpYyBIVE1MIGVsZW1lbnRzKVxuICAgICAqIFRoaXMgcmVxdWlyZXMgdGhhdCB0aGUgZXZlbnQgdGFyZ2V0IG11c3QgYmUgYSBkZXNjZW5kYW50XG4gICAgICpcbiAgICAgKiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgbWF0Y2hpbmcgZGVzY2VuZGFudHMsIG9ubHlcbiAgICAgKiB0aGUgZnVydGhlc3QgZGVzY2VuZGFudCB3aWxsIGJlIGZpcmVkXG4gICAgICovXG4gICAgcm9vdEVsZW1lbnQ/OiBIVE1MRWxlbWVudCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBmb3IgdGhlIHJvb3QuIFVzZWQgZm9yIHRoZSBVSSBjb250cm9sIGFuZCBkZWJ1Z2dpbmcuXG4gICAgICovXG4gICAgcm9vdE5hbWU/OiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBDb250cm9sIHdoZXRoZXIgdGhpcyBjb21tYW5kIGFjdGlvbiBpcyB2aXNpYmxlIGluIHRoZSBwb3B1cCBjb21tYW5kXG4gICAgICogcGFsZXR0ZSBHVUkuXG4gICAgICovXG4gICAgdmlzaWJsZUluTGlzdD86IGJvb2xlYW4sXG5cbiAgICAvKipcbiAgICAgKiBFbmFibGUgc2VsZWN0aW5nIGFuIGl0ZW0gdG8gc2hvdyBhIGxpc3Qgb2Ygc3ViLWl0ZW1zXG4gICAgICovXG4gICAgc3ViTWVudT86IENvbW1hbmRBY3Rpb248VD5bXSB8ICgoKSA9PiBQcm9taXNlPENvbW1hbmRBY3Rpb248VD5bXT4pIHwgKCgpID0+IENvbW1hbmRBY3Rpb248VD5bXSlcblxufTtcblxudHlwZSBDb21tYW5kQmxvY2sgPSB7XG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgYWN0aW9uczogQ29tbWFuZEFjdGlvbltdO1xufTtcblxuZXhwb3J0IHR5cGUgQ29tbWFuZFBhbGV0dGVPcHRpb25zID0ge1xuICAgIGtleWJpbmQ6IEtleWJpbmRDb2RlXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29tbWFuZFBhbGV0dGVTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgY29tbWFuZEJsb2NrczogQ29tbWFuZEJsb2NrW10gPSBbXTtcbiAgICBwcml2YXRlIGludGVydmFsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbGF6eUxvYWRlcjogTGF6eUxvYWRlclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIChldnQpID0+IHRoaXMub25LZXlEb3duKGV2dCkpO1xuXG4gICAgICAgIHRoaXMuaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICAvLyBHbyBiYWNrd2FyZHMgc2luY2Ugd2UncmUgc3BsaWNpbmcgaXRlbXMgb3V0IG9mIHRoZSBhcnJheS5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSB0aGlzLmNvbW1hbmRCbG9ja3MubGVuZ3RoOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgICAgIGxldCBjb21tYW5kQmxvY2sgPSB0aGlzLmNvbW1hbmRCbG9ja3NbaV07XG5cbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBpbmRleCBpcyBzb21laG93IG51bGwsIHJpcCBpdCBvdXQgb2ZcbiAgICAgICAgICAgICAgICAvLyB0aGUgYXJyYXkgYW5kIHdhaXQgZm9yIGNsZWFudXAgdG8gdHJpZ2dlciBhZ2FpblxuICAgICAgICAgICAgICAgIC8vIGZvciB0aGUgcmVzdCBvZiB0aGUgYXJyYXkuXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogQ291bGQgdGhpcyBsZWFkIHRvIGxlYWtzIHdoZXJlIHRoaW5ncyBhdCB0aGUgZW5kXG4gICAgICAgICAgICAgICAgLy8gbmV2ZXIgZ2V0IGNsZWFuZWQ/XG4gICAgICAgICAgICAgICAgaWYgKGNvbW1hbmRCbG9jayA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tbWFuZEJsb2Nrcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgZWxlbWVudCBoYXMgYmVlbiBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgRE9NLCB3ZSB3aWxsXG4gICAgICAgICAgICAgICAgLy8gdHJlYXQgaXQgYXMgaGF2aW5nIGJlZW4gcGVybWFuZW50bHkgcmVtb3ZlZC5cbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBDb3VsZCB0aGlzIGV2ZXIgY2F1c2UgdW5pbnRlbmRlZCBjb25zZXF1ZW5jZXM/XG4gICAgICAgICAgICAgICAgaWYgKCFjb21tYW5kQmxvY2s/LmVsZW1lbnQuaXNDb25uZWN0ZWQpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tbWFuZEJsb2Nrcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDUgKiA2MCAqIDEwMDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb21tYW5kQmxvY2tzKGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQuYm9keSkge1xuICAgICAgICBjb25zdCBlbGVtZW50UGF0aDogSFRNTEVsZW1lbnRbXSA9IFtlbGVtZW50XTtcbiAgICAgICAgbGV0IGN1cnJlbnRUYXJnZXQ6IEhUTUxFbGVtZW50ID0gZWxlbWVudDtcbiAgICAgICAgZG8ge1xuICAgICAgICAgICAgZWxlbWVudFBhdGgudW5zaGlmdChjdXJyZW50VGFyZ2V0ID0gY3VycmVudFRhcmdldC5wYXJlbnRFbGVtZW50KTtcbiAgICAgICAgfSB3aGlsZSAoY3VycmVudFRhcmdldC5wYXJlbnRFbGVtZW50KTtcblxuICAgICAgICAvLyBPcmRlcmVkIG1hdGNoaW5nIGNvbW1hbmQgYmxvY2tzLCBjbG9zZXN0IGZpcnN0XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nQ29tbWFuZEJsb2NrczogQ29tbWFuZEJsb2NrW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIGVsZW1lbnRQYXRoKSB7XG4gICAgICAgICAgICBjb25zdCBjb21tYW5kQmxvY2sgPSB0aGlzLmNvbW1hbmRCbG9ja3MuZmluZChjYiA9PiBjYi5lbGVtZW50ID09IGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKGNvbW1hbmRCbG9jaykge1xuICAgICAgICAgICAgICAgIG1hdGNoaW5nQ29tbWFuZEJsb2Nrcy51bnNoaWZ0KGNvbW1hbmRCbG9jayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWF0Y2hpbmdDb21tYW5kQmxvY2tzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSBrZXlkb3duIGV2ZW50c1xuICAgICAqXG4gICAgICogSWYgYW4gZXZlbnQgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBET00gdHJlZSwgd2UgZG9uJ3QgbmVlZFxuICAgICAqIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIHRoZSBiaW5kaW5ncywgYXMgdGhleSB3aWxsIG5ldmVyIGZpcmVcbiAgICAgKlxuICAgICAqIFdlIHBlcmlvZGljYWxseSBjaGVjayBhbmQgcmVtb3ZlIHVuY29ubmVjdGVkIGNvbW1hbmQgYmxvY2tzXG4gICAgICovXG4gICAgcHJpdmF0ZSBvbktleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nQ29tbWFuZEJsb2NrcyA9IHRoaXMuZ2V0Q29tbWFuZEJsb2NrcyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcblxuICAgICAgICAvLyBTdHJpbmcgaW4gZm9ybWF0IGBjdHJsK2FsdCtGYCwgYGN0cmwrRmAgZXRjLlxuICAgICAgICBjb25zdCBrZXkgPSBbXG4gICAgICAgICAgICBldnQuY3RybEtleSA/IFwiY3RybFwiIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgZXZ0LmFsdEtleSA/IFwiYWx0XCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBldnQuc2hpZnRLZXkgPyBcInNoaWZ0XCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBldnQubWV0YUtleSA/IFwibWV0YVwiIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgZXZ0LmNvZGUuc3RhcnRzV2l0aChcIktleVwiKSA/IGV2dC5rZXkgOiBldnQuY29kZVxuICAgICAgICBdLmZpbHRlcihhID0+IGEpLmpvaW4oJysnKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgIGZvciAoY29uc3QgY29tbWFuZEJsb2NrIG9mIG1hdGNoaW5nQ29tbWFuZEJsb2Nrcykge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gY29tbWFuZEJsb2NrLmFjdGlvbnMuZmluZChhID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShhLnNob3J0Y3V0S2V5KVxuICAgICAgICAgICAgICAgICAgICA/IGEuc2hvcnRjdXRLZXkuaW5jbHVkZXMoa2V5IGFzIGFueSlcbiAgICAgICAgICAgICAgICAgICAgOiBhLnNob3J0Y3V0S2V5ID09IGtleSBhcyBhbnlcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5pbnZva2VBY3Rpb24oYWN0aW9uKTtcblxuICAgICAgICAgICAgICAgIC8vIEV4ZWN1dGUgdGhlIGFjdGlvbiBhbmQgbW92ZSBvbi5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBLZWVwIGNoZWNraW5nIGZvciBtYXRjaGluZyBhY3Rpb25zXG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBleGVjdXRpb24gcmVhY2hlcyB0aGlzIHBvaW50LCB0aGVyZSB3ZXJlIG5vIG1hdGNoaW5nIGFjdGlvbnMgb24gdGhlXG4gICAgICAgIC8vIHBhdGggb2YgZWxlbWVudHMgdGhhdCB3ZXJlIHJlZ2lzdGVyZWQuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRDb21tYW5kKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBhY3Rpb246IENvbW1hbmRBY3Rpb24pIHtcbiAgICAgICAgY29uc3QgY29tbWFuZEJsb2NrID0gdGhpcy5jb21tYW5kQmxvY2tzLmZpbmQoYiA9PiBiLmVsZW1lbnQgPT0gZWxlbWVudCkgPz8gKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNiID0geyBlbGVtZW50LCBhY3Rpb25zOiBbXSB9O1xuICAgICAgICAgICAgdGhpcy5jb21tYW5kQmxvY2tzLnB1c2goY2IpO1xuICAgICAgICAgICAgcmV0dXJuIGNiO1xuICAgICAgICB9KSgpO1xuXG4gICAgICAgIC8vIFRoaXMgaXMgbGlrZWx5IGEgZHVwbGljYXRlIGVudHJ5XG4gICAgICAgIGlmIChjb21tYW5kQmxvY2suYWN0aW9ucy5maW5kKGEgPT4gYS5zaG9ydGN1dEtleSAmJiBhLnNob3J0Y3V0S2V5ID09IGFjdGlvbi5zaG9ydGN1dEtleSkpIHtcbiAgICAgICAgICAgIHdhcm4oYEluc2VydGluZyBkdXBsaWNhdGUgYWN0aW9uIG9uIGVsZW1lbnRgLCB7IGVsZW1lbnQsIGFjdGlvbiB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxvZyhMb2dJY29uLmNpcmNsZV9ibHVlLCBgSW5zZXJ0ZWQgYWN0aW9uYCwgYWN0aW9uKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWFrZSB0aGUgc2hvcnRjdXQga2V5cyBsb3dlcmNhc2Ugc28gY2FzZSBzZW5zaXRpdml0eSBkb2Vzbid0IHNjYWxwIHNvbWVvbmVcbiAgICAgICAgaWYgKGFjdGlvbi5zaG9ydGN1dEtleSkge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYWN0aW9uLnNob3J0Y3V0S2V5KSlcbiAgICAgICAgICAgICAgICBhY3Rpb24uc2hvcnRjdXRLZXkgPSBhY3Rpb24uc2hvcnRjdXRLZXkubWFwKGsgPT4gay50b0xvd2VyQ2FzZSgpKSBhcyBhbnk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgYWN0aW9uLnNob3J0Y3V0S2V5ID0gYWN0aW9uLnNob3J0Y3V0S2V5LnRvTG93ZXJDYXNlKCkgYXMgYW55O1xuICAgICAgICB9XG5cbiAgICAgICAgY29tbWFuZEJsb2NrLmFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlQ29tbWFuZChlbGVtZW50OiBIVE1MRWxlbWVudCwgYWN0aW9uOiBDb21tYW5kQWN0aW9uIHwgc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGNvbW1hbmRCbG9jayA9IHRoaXMuY29tbWFuZEJsb2Nrcy5maW5kKGIgPT4gYi5lbGVtZW50ID09IGVsZW1lbnQpID8/IHsgZWxlbWVudCwgYWN0aW9uczogW10gfTtcbiAgICAgICAgY29uc3QgYWN0aW9uSW5kZXggPSBjb21tYW5kQmxvY2s/LmFjdGlvbnMuZmluZEluZGV4KGEgPT4gdHlwZW9mIGFjdGlvbiA9PSBcInN0cmluZ1wiID8gYS5zaG9ydGN1dEtleSA9PSBhY3Rpb24gOiBhID09IGFjdGlvbik7XG5cbiAgICAgICAgaWYgKCFjb21tYW5kQmxvY2spIHtcbiAgICAgICAgICAgIGVycihMb2dJY29uLndhcm5pbmcsIGBDYW5ub3QgcmVtb3ZlIGNvbW1hbmQ6IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWFuZHMgcmVnaXN0ZXJlZGAsIHsgZWxlbWVudCwgYWN0aW9uIH0pXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoYWN0aW9uSW5kZXggPT0gLTEpIHtcbiAgICAgICAgICAgIHdhcm4oTG9nSWNvbi53YXJuaW5nLCBgQ2Fubm90IHJlbW92ZSBjb21tYW5kOiBub3QgcHJlc2VudCBpbiBsaXN0YCwgeyBlbGVtZW50LCBhY3Rpb24gfSlcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbW1hbmRCbG9jay5hY3Rpb25zLnNwbGljZShhY3Rpb25JbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIGluaXRpYWxpemUob3B0aW9uczogQ29tbWFuZFBhbGV0dGVPcHRpb25zKSB7XG4gICAgICAgIHRoaXMuYXR0YWNoRWxlbWVudENvbW1hbmRzKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzaG9ydGN1dEtleTogb3B0aW9ucy5rZXliaW5kLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogKCkgPT4gdGhpcy5vcGVuUGFsZXR0ZSgpLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk9wZW4gdGhlIGNvbW1hbmQgcGFsZXR0ZVwiLFxuICAgICAgICAgICAgICAgIGtleXdvcmRzOiBbXCJjb21tYW5kXCIsIFwicHJvbXB0XCIsIFwiY29uc29sZVwiLCBcImFjdGlvbnNcIl0sXG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiQ29tbWFuZCBQYWxldHRlXCIsXG4gICAgICAgICAgICAgICAgdmlzaWJsZUluTGlzdDogZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbiB0aGUgY29tbWFuZCBwYWxldHRlXG4gICAgICovXG4gICAgb3BlblBhbGV0dGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKENvbW1hbmRQYWxldHRlQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgICAgICAgIHRvcDogXCI4cHhcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBjb250ZXh0RWxlbWVudDogZG9jdW1lbnQuYWN0aXZlRWxlbWVudFxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQdWJsaWMgaGVscGVyIHRvIGludm9rZSBhbiBhY3Rpb24uXG4gICAgICovXG4gICAgaW52b2tlQWN0aW9uKGFjdGlvbjogQ29tbWFuZEFjdGlvbiwgYXJncz8pIHtcbiAgICAgICAgY29uc3QgZm4gPSBhY3Rpb24uYWN0aW9uO1xuICAgICAgICBpZiAodHlwZW9mIGZuID09ICdmdW5jdGlvbicpIHtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBmbihhcmdzKTtcblxuICAgICAgICAgICAgICAgIC8vIEhhbmRsZSBwcm9taXNlcyBzbyB0aGF0IHRoZSBHVUkgY2FuIHNob3cgc3Bpbm5lcnMgZm9yIHRoZW1cbiAgICAgICAgICAgICAgICBpZiAocmVzIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICAgICAgZXJyKExvZ0ljb24uYm9tYiwgYEV4ZWN1dGluZyBhY3Rpb24gdGhyZXcgYW4gZXJyb3JgLCB7IGFjdGlvbiB9LCBleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB3YXJuKExvZ0ljb24ud2FybmluZywgYENhbm5vdCBleGVjdXRlIGFjdGlvbiwgdHlwZSBpcyBub3QgXCJmdW5jdGlvblwiYCwgeyBhY3Rpb24gfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBdHRhY2ggY29tbWFuZHMgdG8gYW4gRWxlbWVudCBhbmQgaXQncyBzdWJ0cmVlXG4gICAgICovXG4gICAgYXR0YWNoRWxlbWVudENvbW1hbmRzKGFjdGlvbnM6IENvbW1hbmRBY3Rpb25bXSlcbiAgICBhdHRhY2hFbGVtZW50Q29tbWFuZHMoZWxlbWVudDogSFRNTEVsZW1lbnQsIGFjdGlvbnM6IENvbW1hbmRBY3Rpb25bXSlcbiAgICBhdHRhY2hFbGVtZW50Q29tbWFuZHMoZWxlbWVudDogQ29tbWFuZEFjdGlvbltdIHwgSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5ib2R5LCBhY3Rpb25zOiBDb21tYW5kQWN0aW9uW10gPSBbXSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlbGVtZW50KSkge1xuICAgICAgICAgICAgYWN0aW9ucyA9IGVsZW1lbnQ7XG4gICAgICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnQuYm9keTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFjdGlvbnMuZm9yRWFjaChhID0+IHRoaXMuYWRkQ29tbWFuZChlbGVtZW50IGFzIGFueSwgYSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGFjaCBzcGVjaWZpZWQgY29tbWFuZHMgZnJvbSBhbiBFbGVtZW50IHN1YnRyZWVcbiAgICAgKi9cbiAgICBkZXRhY2hFbGVtZW50Q29tbWFuZHMoZWxlbWVudDogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5ib2R5LCBhY3Rpb25zOiBDb21tYW5kQWN0aW9uW10gPSBbXSkge1xuICAgICAgICBhY3Rpb25zLmZvckVhY2goYSA9PiB0aGlzLnJlbW92ZUNvbW1hbmQoZWxlbWVudCwgYSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybiB0aGUgbGlzdCBvZiByZWdpc3RlcmVkIGNvbW1hbmRzIHVuZGVyIGEgZ2l2ZW4gZWxlbWVudFxuICAgICAqL1xuICAgIGdldFJlZ2lzdGVyZWRDb21tYW5kcyhlbGVtZW50OiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LmJvZHkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29tbWFuZEJsb2NrcyhlbGVtZW50KS5tYXAoYyA9PiBjLmFjdGlvbnMpLmZsYXQoKTtcbiAgICB9XG59XG4iXX0=
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1wYWxldHRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL3NlcnZpY2VzL2NvbW1hbmQtcGFsZXR0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOzs7O0FBRWxHLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztBQTZIdEUsTUFBTSxPQUFPLHFCQUFxQjtJQUs5QixZQUNxQixNQUFpQixFQUNqQixVQUE2QjtRQUQ3QixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBTDFDLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQU92QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQzdCLDREQUE0RDtZQUM1RCxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDbEQsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFekMsc0RBQXNEO2dCQUN0RCxrREFBa0Q7Z0JBQ2xELDZCQUE2QjtnQkFDN0IseURB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QixxQkFBcUIsY0FGbEIsTUFBTTs7MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEhvc3RMaXN0ZW5lciwgVHlwZSwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQ29uc29sZUxvZ2dlciwgTG9nSWNvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IExhenlMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9sYXp5LWxvYWRlci9sYXp5LWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1hbmRQYWxldHRlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb21tYW5kLXBhbGV0dGUvY29tbWFuZC1wYWxldHRlLmNvbXBvbmVudCc7XG5cbmNvbnN0IHsgbG9nLCB3YXJuLCBlcnIgfSA9IENvbnNvbGVMb2dnZXIoXCJDb21tYW5kUGFsZXR0ZVwiLCBcIiMyMTk2ZjNcIik7XG5cbnR5cGUgS2V5Q29kZSA9IFwiQmFja3NwYWNlXCIgfCBcIlRhYlwiIHwgXCJFbnRlclwiIHwgXCJTaGlmdExlZnRcIiB8IFwiU2hpZnRSaWdodFwiXG4gICAgfCBcIkNvbnRyb2xMZWZ0XCIgfCBcIkNvbnRyb2xSaWdodFwiIHwgXCJBbHRMZWZ0XCIgfCBcIkFsdFJpZ2h0XCIgfCBcIlBhdXNlXCIgfCBcIkNhcHNMb2NrXCJcbiAgICB8IFwiRXNjYXBlXCIgfCBcIlNwYWNlXCIgfCBcIlBhZ2VVcFwiIHwgXCJQYWdlRG93blwiIHwgXCJFbmRcIiB8IFwiSG9tZVwiIHwgXCJBcnJvd0xlZnRcIlxuICAgIHwgXCJBcnJvd1VwXCIgfCBcIkFycm93UmlnaHRcIiB8IFwiQXJyb3dEb3duXCIgfCBcIlByaW50U2NyZWVuXCIgfCBcIkluc2VydFwiIHwgXCJEZWxldGVcIlxuICAgIHwgXCJNZXRhTGVmdFwiIHwgXCJNZXRhUmlnaHRcIiB8IFwiQ29udGV4dE1lbnVcIiB8IFwiTnVtcGFkMFwiIHwgXCJOdW1wYWQxXCIgfCBcIk51bXBhZDJcIlxuICAgIHwgXCJOdW1wYWQzXCIgfCBcIk51bXBhZDRcIiB8IFwiTnVtcGFkNVwiIHwgXCJOdW1wYWQ2XCIgfCBcIk51bXBhZDdcIiB8IFwiTnVtcGFkOFwiXG4gICAgfCBcIk51bXBhZDlcIiB8IFwiTnVtcGFkTXVsdGlwbHlcIiB8IFwiTnVtcGFkQWRkXCIgfCBcIk51bXBhZFN1YnRyYWN0XCJcbiAgICB8IFwiTnVtcGFkRGVjaW1hbFwiIHwgXCJOdW1wYWREaXZpZGVcIlxuICAgIHwgXCJGMVwiIHwgXCJGMlwiIHwgXCJGM1wiIHwgXCJGNFwiIHwgXCJGNVwiIHwgXCJGNlwiIHwgXCJGN1wiIHwgXCJGOFwiIHwgXCJGOVwiIHwgXCJGMTBcIiB8IFwiRjExXCIgfCBcIkYxMlwiXG4gICAgfCBcIk51bUxvY2tcIiB8IFwiU2Nyb2xsTG9ja1wiIHwgXCJTZW1pY29sb25cIiB8IFwiRXF1YWxcIiB8IFwiQ29tbWFcIiB8IFwiTWludXNcIlxuICAgIHwgXCJQZXJpb2RcIiB8IFwiU2xhc2hcIiB8IFwiQmFja3F1b3RlXCIgfCBcIkJyYWNrZXRMZWZ0XCIgfCBcIkJhY2tzbGFzaFwiXG4gICAgfCBcIkJyYWNrZXRSaWdodFwiIHwgXCJRdW90ZVwiIHwgXCJiYWNrc3BhY2VcIiB8IFwidGFiXCIgfCBcImVudGVyXCIgfCBcInNoaWZ0bGVmdFwiXG4gICAgfCBcInNoaWZ0cmlnaHRcIiB8IFwiY29udHJvbGxlZnRcIiB8IFwiY29udHJvbHJpZ2h0XCIgfCBcImFsdGxlZnRcIiB8IFwiYWx0cmlnaHRcIlxuICAgIHwgXCJwYXVzZVwiIHwgXCJjYXBzbG9ja1wiIHwgXCJlc2NhcGVcIiB8IFwic3BhY2VcIiB8IFwicGFnZXVwXCIgfCBcInBhZ2Vkb3duXCIgfCBcImVuZFwiXG4gICAgfCBcImhvbWVcIiB8IFwiYXJyb3dsZWZ0XCIgfCBcImFycm93dXBcIiB8IFwiYXJyb3dyaWdodFwiIHwgXCJhcnJvd2Rvd25cIiB8IFwicHJpbnRzY3JlZW5cIlxuICAgIHwgXCJpbnNlcnRcIiB8IFwiZGVsZXRlXCIgfCBcIm1ldGFsZWZ0XCIgfCBcIm1ldGFyaWdodFwiIHwgXCJjb250ZXh0bWVudVwiXG4gICAgfCBcIm51bXBhZDBcIiB8IFwibnVtcGFkMVwiIHwgXCJudW1wYWQyXCIgfCBcIm51bXBhZDNcIiB8IFwibnVtcGFkNFwiIHwgXCJudW1wYWQ1XCJcbiAgICB8IFwibnVtcGFkNlwiIHwgXCJudW1wYWQ3XCIgfCBcIm51bXBhZDhcIiB8IFwibnVtcGFkOVwiIHwgXCJudW1wYWRtdWx0aXBseVwiIHwgXCJudW1wYWRhZGRcIlxuICAgIHwgXCJudW1wYWRzdWJ0cmFjdFwiIHwgXCJudW1wYWRkZWNpbWFsXCIgfCBcIm51bXBhZGRpdmlkZVwiXG4gICAgfCBcImYxXCIgfCBcImYyXCIgfCBcImYzXCIgfCBcImY0XCIgfCBcImY1XCIgfCBcImY2XCIgfCBcImY3XCIgfCBcImY4XCIgfCBcImY5XCIgfCBcImYxMFwiIHwgXCJmMTFcIiB8IFwiZjEyXCJcbiAgICB8IFwibnVtbG9ja1wiIHwgXCJzY3JvbGxsb2NrXCIgfCBcInNlbWljb2xvblwiIHwgXCJlcXVhbFwiIHwgXCJjb21tYVwiIHwgXCJtaW51c1wiIHwgXCJwZXJpb2RcIlxuICAgIHwgXCJzbGFzaFwiIHwgXCJiYWNrcXVvdGVcIiB8IFwiYnJhY2tldGxlZnRcIiB8IFwiYmFja3NsYXNoXCIgfCBcImJyYWNrZXRyaWdodFwiIHwgXCJxdW90ZVwiXG4gICAgfCBcIkFcIiB8IFwiQlwiIHwgXCJDXCIgfCBcIkRcIiB8IFwiRVwiIHwgXCJGXCIgfCBcIkdcIiB8IFwiSFwiIHwgXCJJXCIgfCBcIkpcIiB8IFwiS1wiIHwgXCJMXCIgfCBcIk1cIlxuICAgIHwgXCJOXCIgfCBcIk9cIiB8IFwiUFwiIHwgXCJRXCIgfCBcIlJcIiB8IFwiU1wiIHwgXCJUXCIgfCBcIlVcIiB8IFwiVlwiIHwgXCJXXCIgfCBcIlhcIiB8IFwiWVwiIHwgXCJaXCJcbiAgICB8IFwiYVwiIHwgXCJiXCIgfCBcImNcIiB8IFwiZFwiIHwgXCJlXCIgfCBcImZcIiB8IFwiZ1wiIHwgXCJoXCIgfCBcImlcIiB8IFwialwiIHwgXCJrXCIgfCBcImxcIiB8IFwibVwiXG4gICAgfCBcIm5cIiB8IFwib1wiIHwgXCJwXCIgfCBcInFcIiB8IFwiclwiIHwgXCJzXCIgfCBcInRcIiB8IFwidVwiIHwgXCJ2XCIgfCBcIndcIiB8IFwieFwiIHwgXCJ5XCIgfCBcInpcIjtcblxuLy8gY3RybCthbHQrbWV0YStzaGlmdFxudHlwZSBLZXlQcmVmaXggPVxuICAgIGBjdHJsYCB8XG4gICAgYGN0cmwrYWx0YCB8XG4gICAgYGN0cmwrYWx0K3NoaWZ0YCB8XG4gICAgYGN0cmwrYWx0K3NoaWZ0K21ldGFgIHxcbiAgICBgY3RybCthbHQrbWV0YWAgfFxuICAgIGBjdHJsK3NoaWZ0YCB8XG4gICAgYGN0cmwrc2hpZnQrbWV0YWAgfFxuICAgIGBjdHJsK21ldGFgIHxcbiAgICBgYWx0YCB8XG4gICAgYGFsdCtzaGlmdGAgfFxuICAgIGBhbHQrc2hpZnQrbWV0YWAgfFxuICAgIGBhbHQrbWV0YWAgfFxuICAgIGBzaGlmdGAgfFxuICAgIGBzaGlmdCttZXRhYCB8XG4gICAgYG1ldGFgXG5cbmV4cG9ydCB0eXBlIEtleWJpbmRFdmVudCA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB2b2lkO1xuZXhwb3J0IHR5cGUgS2V5YmluZENvZGUgPSBgJHtLZXlQcmVmaXh9KyR7S2V5Q29kZX1gIHwgS2V5Q29kZTtcblxuXG5cbmV4cG9ydCB0eXBlIENvbW1hbmRBY3Rpb248VCA9IGFueT4gPSB7XG4gICAgLyoqXG4gICAgICogVGhlIG5vbi1tb2RpZmllciBrZXkocykgdGhhdCBtdXN0IGJlIHByZXNzZWQgZm9yIHRoZSBldmVudCB0byBmaXJlLlxuICAgICAqL1xuICAgIHNob3J0Y3V0S2V5PzogS2V5YmluZENvZGUgfCBLZXliaW5kQ29kZVtdLFxuXG4gICAgLyoqXG4gICAgICogQWN0aW9uIHRoYXQgaXMgaW52b2tlZCB3aGVuIHRoZSBrZXlib2FyZCBzaG9ydGN1dCBpcyBwcmVzc2VkIG9yIHRoZSBpdGVtXG4gICAgICogaXMgYWN0aXZhdGVkIGluIHRoZSBHVUkgbWVudVxuICAgICAqIElmIHRoZSBHVUkgbWVudSBpcyBvcGVuLCBpdCB3aWxsIHNob3cgYSBzcGlubmVyIGlmIHRoZSBhY3Rpb24gcmV0dXJucyBhIGBQcm9taXNlYFxuICAgICAqL1xuICAgIGFjdGlvbj86IChldnQ6IEtleWJvYXJkRXZlbnQsIGRhdGE/OiBUKSA9PiBQcm9taXNlPGFueT4gfCBhbnksXG5cbiAgICAvKipcbiAgICAgKiBBcmJpdHJhcnkgZGF0YSBvYmplY3QgdG8gYmUgcGFzc2VkIGludG8gdGhlIGFjdGlvblxuICAgICAqL1xuICAgIGRhdGE/OiBULFxuXG4gICAgLyoqXG4gICAgICogTGFiZWwgaW4gdGhlIGNvbW1hbmQgcGFsZXR0ZSBwb3B1cFxuICAgICAqL1xuICAgIGxhYmVsPzogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogS2V5d29yZHMgdGhhdCBjYW4gaGVscCBwaWNrIHRoaXMgY29tbWFuZFxuICAgICAqL1xuICAgIGtleXdvcmRzPzogc3RyaW5nIHwgc3RyaW5nW10sXG5cbiAgICAvKipcbiAgICAgKiBEZXNjcmlwdGlvbiBmb3IgdGhlIHBvcHVwXG4gICAgICovXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgcm9vdCBhbmNlc3RvciBlbGVtZW50IG9mIHRoZSBhY3Rpb25cbiAgICAgKiAoVGhpcyBhbGxvd3Mgc2NvcGluZyBjb21tYW5kcyB0byBzcGVjaWZpYyBIVE1MIGVsZW1lbnRzKVxuICAgICAqIFRoaXMgcmVxdWlyZXMgdGhhdCB0aGUgZXZlbnQgdGFyZ2V0IG11c3QgYmUgYSBkZXNjZW5kYW50XG4gICAgICpcbiAgICAgKiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgbWF0Y2hpbmcgZGVzY2VuZGFudHMsIG9ubHlcbiAgICAgKiB0aGUgZnVydGhlc3QgZGVzY2VuZGFudCB3aWxsIGJlIGZpcmVkXG4gICAgICovXG4gICAgcm9vdEVsZW1lbnQ/OiBIVE1MRWxlbWVudCxcblxuICAgIC8qKlxuICAgICAqIFRoZSBsYWJlbCBmb3IgdGhlIHJvb3QuIFVzZWQgZm9yIHRoZSBVSSBjb250cm9sIGFuZCBkZWJ1Z2dpbmcuXG4gICAgICovXG4gICAgcm9vdE5hbWU/OiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBDb250cm9sIHdoZXRoZXIgdGhpcyBjb21tYW5kIGFjdGlvbiBpcyB2aXNpYmxlIGluIHRoZSBwb3B1cCBjb21tYW5kXG4gICAgICogcGFsZXR0ZSBHVUkuXG4gICAgICovXG4gICAgdmlzaWJsZUluTGlzdD86IGJvb2xlYW4sXG5cbiAgICAvKipcbiAgICAgKiBFbmFibGUgc2VsZWN0aW5nIGFuIGl0ZW0gdG8gc2hvdyBhIGxpc3Qgb2Ygc3ViLWl0ZW1zXG4gICAgICovXG4gICAgc3ViTWVudT86IENvbW1hbmRBY3Rpb248VD5bXSB8ICgoKSA9PiBQcm9taXNlPENvbW1hbmRBY3Rpb248VD5bXT4pIHwgKCgpID0+IENvbW1hbmRBY3Rpb248VD5bXSlcblxufTtcblxudHlwZSBDb21tYW5kQmxvY2sgPSB7XG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgYWN0aW9uczogQ29tbWFuZEFjdGlvbltdO1xufTtcblxuZXhwb3J0IHR5cGUgQ29tbWFuZFBhbGV0dGVPcHRpb25zID0ge1xuICAgIGtleWJpbmQ6IEtleWJpbmRDb2RlXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29tbWFuZFBhbGV0dGVTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgY29tbWFuZEJsb2NrczogQ29tbWFuZEJsb2NrW10gPSBbXTtcbiAgICBwcml2YXRlIGludGVydmFsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbGF6eUxvYWRlcjogTGF6eUxvYWRlclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIChldnQpID0+IHRoaXMub25LZXlEb3duKGV2dCkpO1xuXG4gICAgICAgIHRoaXMuaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICAvLyBHbyBiYWNrd2FyZHMgc2luY2Ugd2UncmUgc3BsaWNpbmcgaXRlbXMgb3V0IG9mIHRoZSBhcnJheS5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSB0aGlzLmNvbW1hbmRCbG9ja3MubGVuZ3RoOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgICAgIGxldCBjb21tYW5kQmxvY2sgPSB0aGlzLmNvbW1hbmRCbG9ja3NbaV07XG5cbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBpbmRleCBpcyBzb21laG93IG51bGwsIHJpcCBpdCBvdXQgb2ZcbiAgICAgICAgICAgICAgICAvLyB0aGUgYXJyYXkgYW5kIHdhaXQgZm9yIGNsZWFudXAgdG8gdHJpZ2dlciBhZ2FpblxuICAgICAgICAgICAgICAgIC8vIGZvciB0aGUgcmVzdCBvZiB0aGUgYXJyYXkuXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogQ291bGQgdGhpcyBsZWFkIHRvIGxlYWtzIHdoZXJlIHRoaW5ncyBhdCB0aGUgZW5kXG4gICAgICAgICAgICAgICAgLy8gbmV2ZXIgZ2V0IGNsZWFuZWQ/XG4gICAgICAgICAgICAgICAgaWYgKGNvbW1hbmRCbG9jayA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tbWFuZEJsb2Nrcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgZWxlbWVudCBoYXMgYmVlbiBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgRE9NLCB3ZSB3aWxsXG4gICAgICAgICAgICAgICAgLy8gdHJlYXQgaXQgYXMgaGF2aW5nIGJlZW4gcGVybWFuZW50bHkgcmVtb3ZlZC5cbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBDb3VsZCB0aGlzIGV2ZXIgY2F1c2UgdW5pbnRlbmRlZCBjb25zZXF1ZW5jZXM/XG4gICAgICAgICAgICAgICAgaWYgKCFjb21tYW5kQmxvY2s/LmVsZW1lbnQuaXNDb25uZWN0ZWQpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tbWFuZEJsb2Nrcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDUgKiA2MCAqIDEwMDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb21tYW5kQmxvY2tzKGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQuYm9keSkge1xuICAgICAgICBjb25zdCBlbGVtZW50UGF0aDogSFRNTEVsZW1lbnRbXSA9IFtlbGVtZW50XTtcbiAgICAgICAgbGV0IGN1cnJlbnRUYXJnZXQ6IEhUTUxFbGVtZW50ID0gZWxlbWVudDtcbiAgICAgICAgZG8ge1xuICAgICAgICAgICAgZWxlbWVudFBhdGgudW5zaGlmdChjdXJyZW50VGFyZ2V0ID0gY3VycmVudFRhcmdldC5wYXJlbnRFbGVtZW50KTtcbiAgICAgICAgfSB3aGlsZSAoY3VycmVudFRhcmdldC5wYXJlbnRFbGVtZW50KTtcblxuICAgICAgICAvLyBPcmRlcmVkIG1hdGNoaW5nIGNvbW1hbmQgYmxvY2tzLCBjbG9zZXN0IGZpcnN0XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nQ29tbWFuZEJsb2NrczogQ29tbWFuZEJsb2NrW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIGVsZW1lbnRQYXRoKSB7XG4gICAgICAgICAgICBjb25zdCBjb21tYW5kQmxvY2sgPSB0aGlzLmNvbW1hbmRCbG9ja3MuZmluZChjYiA9PiBjYi5lbGVtZW50ID09IGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKGNvbW1hbmRCbG9jaykge1xuICAgICAgICAgICAgICAgIG1hdGNoaW5nQ29tbWFuZEJsb2Nrcy51bnNoaWZ0KGNvbW1hbmRCbG9jayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWF0Y2hpbmdDb21tYW5kQmxvY2tzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSBrZXlkb3duIGV2ZW50c1xuICAgICAqXG4gICAgICogSWYgYW4gZXZlbnQgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBET00gdHJlZSwgd2UgZG9uJ3QgbmVlZFxuICAgICAqIHRvIGV4cGxpY2l0bHkgcmVtb3ZlIHRoZSBiaW5kaW5ncywgYXMgdGhleSB3aWxsIG5ldmVyIGZpcmVcbiAgICAgKlxuICAgICAqIFdlIHBlcmlvZGljYWxseSBjaGVjayBhbmQgcmVtb3ZlIHVuY29ubmVjdGVkIGNvbW1hbmQgYmxvY2tzXG4gICAgICovXG4gICAgcHJpdmF0ZSBvbktleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nQ29tbWFuZEJsb2NrcyA9IHRoaXMuZ2V0Q29tbWFuZEJsb2NrcyhldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcblxuICAgICAgICAvLyBTdHJpbmcgaW4gZm9ybWF0IGBjdHJsK2FsdCtGYCwgYGN0cmwrRmAgZXRjLlxuICAgICAgICBjb25zdCBrZXkgPSBbXG4gICAgICAgICAgICBldnQuY3RybEtleSA/IFwiY3RybFwiIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgZXZ0LmFsdEtleSA/IFwiYWx0XCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBldnQuc2hpZnRLZXkgPyBcInNoaWZ0XCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBldnQubWV0YUtleSA/IFwibWV0YVwiIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgZXZ0LmNvZGUuc3RhcnRzV2l0aChcIktleVwiKSA/IGV2dC5rZXkgOiBldnQuY29kZVxuICAgICAgICBdLmZpbHRlcihhID0+IGEpLmpvaW4oJysnKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgIGZvciAoY29uc3QgY29tbWFuZEJsb2NrIG9mIG1hdGNoaW5nQ29tbWFuZEJsb2Nrcykge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gY29tbWFuZEJsb2NrLmFjdGlvbnMuZmluZChhID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShhLnNob3J0Y3V0S2V5KVxuICAgICAgICAgICAgICAgICAgICA/IGEuc2hvcnRjdXRLZXkuaW5jbHVkZXMoa2V5IGFzIGFueSlcbiAgICAgICAgICAgICAgICAgICAgOiBhLnNob3J0Y3V0S2V5ID09IGtleSBhcyBhbnlcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5pbnZva2VBY3Rpb24oYWN0aW9uKTtcblxuICAgICAgICAgICAgICAgIC8vIEV4ZWN1dGUgdGhlIGFjdGlvbiBhbmQgbW92ZSBvbi5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBLZWVwIGNoZWNraW5nIGZvciBtYXRjaGluZyBhY3Rpb25zXG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBleGVjdXRpb24gcmVhY2hlcyB0aGlzIHBvaW50LCB0aGVyZSB3ZXJlIG5vIG1hdGNoaW5nIGFjdGlvbnMgb24gdGhlXG4gICAgICAgIC8vIHBhdGggb2YgZWxlbWVudHMgdGhhdCB3ZXJlIHJlZ2lzdGVyZWQuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRDb21tYW5kKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBhY3Rpb246IENvbW1hbmRBY3Rpb24pIHtcbiAgICAgICAgY29uc3QgY29tbWFuZEJsb2NrID0gdGhpcy5jb21tYW5kQmxvY2tzLmZpbmQoYiA9PiBiLmVsZW1lbnQgPT0gZWxlbWVudCkgPz8gKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNiID0geyBlbGVtZW50LCBhY3Rpb25zOiBbXSB9O1xuICAgICAgICAgICAgdGhpcy5jb21tYW5kQmxvY2tzLnB1c2goY2IpO1xuICAgICAgICAgICAgcmV0dXJuIGNiO1xuICAgICAgICB9KSgpO1xuXG4gICAgICAgIC8vIFRoaXMgaXMgbGlrZWx5IGEgZHVwbGljYXRlIGVudHJ5XG4gICAgICAgIGlmIChjb21tYW5kQmxvY2suYWN0aW9ucy5maW5kKGEgPT4gYS5zaG9ydGN1dEtleSAmJiBhLnNob3J0Y3V0S2V5ID09IGFjdGlvbi5zaG9ydGN1dEtleSkpIHtcbiAgICAgICAgICAgIHdhcm4oYEluc2VydGluZyBkdXBsaWNhdGUgYWN0aW9uIG9uIGVsZW1lbnRgLCB7IGVsZW1lbnQsIGFjdGlvbiB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxvZyhMb2dJY29uLmNpcmNsZV9ibHVlLCBgSW5zZXJ0ZWQgYWN0aW9uYCwgYWN0aW9uKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWFrZSB0aGUgc2hvcnRjdXQga2V5cyBsb3dlcmNhc2Ugc28gY2FzZSBzZW5zaXRpdml0eSBkb2Vzbid0IHNjYWxwIHNvbWVvbmVcbiAgICAgICAgaWYgKGFjdGlvbi5zaG9ydGN1dEtleSkge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYWN0aW9uLnNob3J0Y3V0S2V5KSlcbiAgICAgICAgICAgICAgICBhY3Rpb24uc2hvcnRjdXRLZXkgPSBhY3Rpb24uc2hvcnRjdXRLZXkubWFwKGsgPT4gay50b0xvd2VyQ2FzZSgpKSBhcyBhbnk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgYWN0aW9uLnNob3J0Y3V0S2V5ID0gYWN0aW9uLnNob3J0Y3V0S2V5LnRvTG93ZXJDYXNlKCkgYXMgYW55O1xuICAgICAgICB9XG5cbiAgICAgICAgY29tbWFuZEJsb2NrLmFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlQ29tbWFuZChlbGVtZW50OiBIVE1MRWxlbWVudCwgYWN0aW9uOiBDb21tYW5kQWN0aW9uIHwgc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGNvbW1hbmRCbG9jayA9IHRoaXMuY29tbWFuZEJsb2Nrcy5maW5kKGIgPT4gYi5lbGVtZW50ID09IGVsZW1lbnQpID8/IHsgZWxlbWVudCwgYWN0aW9uczogW10gfTtcbiAgICAgICAgY29uc3QgYWN0aW9uSW5kZXggPSBjb21tYW5kQmxvY2s/LmFjdGlvbnMuZmluZEluZGV4KGEgPT4gdHlwZW9mIGFjdGlvbiA9PSBcInN0cmluZ1wiID8gYS5zaG9ydGN1dEtleSA9PSBhY3Rpb24gOiBhID09IGFjdGlvbik7XG5cbiAgICAgICAgaWYgKCFjb21tYW5kQmxvY2spIHtcbiAgICAgICAgICAgIGVycihMb2dJY29uLndhcm5pbmcsIGBDYW5ub3QgcmVtb3ZlIGNvbW1hbmQ6IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhbnkgY29tbWFuZHMgcmVnaXN0ZXJlZGAsIHsgZWxlbWVudCwgYWN0aW9uIH0pXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoYWN0aW9uSW5kZXggPT0gLTEpIHtcbiAgICAgICAgICAgIHdhcm4oTG9nSWNvbi53YXJuaW5nLCBgQ2Fubm90IHJlbW92ZSBjb21tYW5kOiBub3QgcHJlc2VudCBpbiBsaXN0YCwgeyBlbGVtZW50LCBhY3Rpb24gfSlcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbW1hbmRCbG9jay5hY3Rpb25zLnNwbGljZShhY3Rpb25JbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqL1xuICAgIGluaXRpYWxpemUob3B0aW9uczogQ29tbWFuZFBhbGV0dGVPcHRpb25zKSB7XG4gICAgICAgIHRoaXMuYXR0YWNoRWxlbWVudENvbW1hbmRzKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzaG9ydGN1dEtleTogb3B0aW9ucy5rZXliaW5kLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogKCkgPT4gdGhpcy5vcGVuUGFsZXR0ZSgpLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk9wZW4gdGhlIGNvbW1hbmQgcGFsZXR0ZVwiLFxuICAgICAgICAgICAgICAgIGtleXdvcmRzOiBbXCJjb21tYW5kXCIsIFwicHJvbXB0XCIsIFwiY29uc29sZVwiLCBcImFjdGlvbnNcIl0sXG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiQ29tbWFuZCBQYWxldHRlXCIsXG4gICAgICAgICAgICAgICAgdmlzaWJsZUluTGlzdDogZmFsc2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbiB0aGUgY29tbWFuZCBwYWxldHRlXG4gICAgICovXG4gICAgb3BlblBhbGV0dGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKENvbW1hbmRQYWxldHRlQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgICAgICAgIHRvcDogXCI4cHhcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBjb250ZXh0RWxlbWVudDogZG9jdW1lbnQuYWN0aXZlRWxlbWVudFxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQdWJsaWMgaGVscGVyIHRvIGludm9rZSBhbiBhY3Rpb24uXG4gICAgICovXG4gICAgaW52b2tlQWN0aW9uKGFjdGlvbjogQ29tbWFuZEFjdGlvbiwgYXJncz8pIHtcbiAgICAgICAgY29uc3QgZm4gPSBhY3Rpb24uYWN0aW9uO1xuICAgICAgICBpZiAodHlwZW9mIGZuID09ICdmdW5jdGlvbicpIHtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBmbihhcmdzKTtcblxuICAgICAgICAgICAgICAgIC8vIEhhbmRsZSBwcm9taXNlcyBzbyB0aGF0IHRoZSBHVUkgY2FuIHNob3cgc3Bpbm5lcnMgZm9yIHRoZW1cbiAgICAgICAgICAgICAgICBpZiAocmVzIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICAgICAgZXJyKExvZ0ljb24uYm9tYiwgYEV4ZWN1dGluZyBhY3Rpb24gdGhyZXcgYW4gZXJyb3JgLCB7IGFjdGlvbiB9LCBleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB3YXJuKExvZ0ljb24ud2FybmluZywgYENhbm5vdCBleGVjdXRlIGFjdGlvbiwgdHlwZSBpcyBub3QgXCJmdW5jdGlvblwiYCwgeyBhY3Rpb24gfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBdHRhY2ggY29tbWFuZHMgdG8gYW4gRWxlbWVudCBhbmQgaXQncyBzdWJ0cmVlXG4gICAgICovXG4gICAgYXR0YWNoRWxlbWVudENvbW1hbmRzKGFjdGlvbnM6IENvbW1hbmRBY3Rpb25bXSlcbiAgICBhdHRhY2hFbGVtZW50Q29tbWFuZHMoZWxlbWVudDogSFRNTEVsZW1lbnQsIGFjdGlvbnM6IENvbW1hbmRBY3Rpb25bXSlcbiAgICBhdHRhY2hFbGVtZW50Q29tbWFuZHMoZWxlbWVudDogQ29tbWFuZEFjdGlvbltdIHwgSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5ib2R5LCBhY3Rpb25zOiBDb21tYW5kQWN0aW9uW10gPSBbXSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlbGVtZW50KSkge1xuICAgICAgICAgICAgYWN0aW9ucyA9IGVsZW1lbnQ7XG4gICAgICAgICAgICBlbGVtZW50ID0gZG9jdW1lbnQuYm9keTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFjdGlvbnMuZm9yRWFjaChhID0+IHRoaXMuYWRkQ29tbWFuZChlbGVtZW50IGFzIGFueSwgYSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGFjaCBzcGVjaWZpZWQgY29tbWFuZHMgZnJvbSBhbiBFbGVtZW50IHN1YnRyZWVcbiAgICAgKi9cbiAgICBkZXRhY2hFbGVtZW50Q29tbWFuZHMoZWxlbWVudDogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5ib2R5LCBhY3Rpb25zOiBDb21tYW5kQWN0aW9uW10gPSBbXSkge1xuICAgICAgICBhY3Rpb25zLmZvckVhY2goYSA9PiB0aGlzLnJlbW92ZUNvbW1hbmQoZWxlbWVudCwgYSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybiB0aGUgbGlzdCBvZiByZWdpc3RlcmVkIGNvbW1hbmRzIHVuZGVyIGEgZ2l2ZW4gZWxlbWVudFxuICAgICAqL1xuICAgIGdldFJlZ2lzdGVyZWRDb21tYW5kcyhlbGVtZW50OiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LmJvZHkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29tbWFuZEJsb2NrcyhlbGVtZW50KS5tYXAoYyA9PiBjLmFjdGlvbnMpLmZsYXQoKTtcbiAgICB9XG59XG4iXX0=
@@ -40,10 +40,10 @@ export class DependencyService {
40
40
  this.document.body.appendChild(script);
41
41
  });
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DependencyService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
44
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DependencyService, providedIn: 'root' }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DependencyService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
44
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DependencyService, providedIn: 'root' }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DependencyService, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DependencyService, decorators: [{
47
47
  type: Injectable,
48
48
  args: [{
49
49
  providedIn: 'root'
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
52
52
  type: Inject,
53
53
  args: [DOCUMENT]
54
54
  }] }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9zZXJ2aWNlcy9kZXBlbmRlbmN5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRWpDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSztBQUV0Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFFMUIsWUFDOEIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM1QyxDQUFDO0lBRUw7Ozs7Ozs7T0FPRztJQUNILFVBQVUsQ0FBQyxFQUFVLEVBQUUsR0FBVyxFQUFFLFlBQW9CLElBQUk7UUFDeEQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM1QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztnQkFBRSxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBRW5ELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBRWYsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFaEMsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksRUFBRTtnQkFDdkIsSUFBSSxPQUFPLFNBQVMsSUFBSSxRQUFRLEVBQUU7b0JBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFFVixPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxtQkFBbUIsRUFBRSxDQUFDLElBQUksRUFBRTt3QkFDekQsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBRXBCLElBQUksQ0FBQyxJQUFJLG1CQUFtQixFQUFFO3dCQUMxQixPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDLENBQUM7cUJBQzdFO2lCQUNKO2dCQUVELEdBQUcsRUFBRSxDQUFDO1lBQ1YsQ0FBQyxDQUFBO1lBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQzs4R0F6Q1EsaUJBQWlCLGtCQUdkLFFBQVE7a0hBSFgsaUJBQWlCLGNBRmQsTUFBTTs7MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBSVEsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzbGVlcCB9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgU0NSSVBUX0lOSVRfVElNRU9VVCA9IDUwMDsgLy8gbXNcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgaW5zdGFsbHMgQ1NTL0pTIGR5bmFtaWNhbGx5XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGVwZW5kZW5jeVNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50XG4gICAgKSB7IH1cblxuICAgIC8qKlxuICAgICAqIEluc3RhbGwgYSBKYXZhc2NyaXB0IGZpbGUgaW50byB0aGUgd2VicGFnZSBvbi1kZW1hbmRcbiAgICAgKiBAcGFyYW0gaWQgVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBKUyBzY3JpcHRcbiAgICAgKiBAcGFyYW0gc3JjIFVSTCBvZiB0aGUgc2NyaXB0XG4gICAgICogQHBhcmFtIGdsb2JhbGtleSBBIGdsb2JhbCBvYmplY3QgdGhlIHNjcmlwdCB3aWxsIHByb3ZpZGUuXG4gICAgICogIFByb3ZpZGluZyB0aGlzIHdpbGwgZW5zdXJlIGEgcHJvbWlzZSBvbmx5IHJlc29sdmVzIGFmdGVyIHRoZVxuICAgICAqICBzcGVjaWZpZWQgZ2xvYmFsIG9iamVjdCBpcyBwcm92aWRlZCwgd2l0aCBhIHRpbWVvdXQgb2YgNTAwbXNcbiAgICAgKi9cbiAgICBsb2FkU2NyaXB0KGlkOiBzdHJpbmcsIHNyYzogc3RyaW5nLCBnbG9iYWxrZXk6IHN0cmluZyA9IG51bGwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMsIHJlaikgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpKSByZXR1cm4gcmVzKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHNjcmlwdCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgICAgICBzY3JpcHQuaWQgPSBpZDtcblxuICAgICAgICAgICAgc2NyaXB0LnNldEF0dHJpYnV0ZShcImFzeW5jXCIsICcnKTtcbiAgICAgICAgICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoXCJzcmNcIiwgc3JjKTtcblxuICAgICAgICAgICAgc2NyaXB0Lm9ubG9hZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGdsb2JhbGtleSA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpID0gMDtcblxuICAgICAgICAgICAgICAgICAgICBmb3IgKDsgIXdpbmRvd1tnbG9iYWxrZXldICYmIGkgPCBTQ1JJUFRfSU5JVF9USU1FT1VUOyBpICs9IDEwKVxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgc2xlZXAoMTApO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChpID49IFNDUklQVF9JTklUX1RJTUVPVVQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWoobmV3IEVycm9yKFwiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHNjcmlwdCB0byBzZWxmLWluaXRpYWxpemUuXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJlcygpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyBsb2FkU3R5bGVzaGVldChpZDogc3RyaW5nLCBocmVmOiBzdHJpbmcpIHtcbiAgICAvLyAgICAgbGV0IHRoZW1lTGluayA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpIGFzIEhUTUxMaW5rRWxlbWVudDtcbiAgICAvLyAgICAgaWYgKHRoZW1lTGluaykge1xuICAgIC8vICAgICAgICAgdGhlbWVMaW5rLmhyZWYgPSBocmVmO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIGVsc2Uge1xuICAgIC8vICAgICAgICAgY29uc3Qgc3R5bGUgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAvLyAgICAgICAgIHN0eWxlLmlkID0gaWQ7XG4gICAgLy8gICAgICAgICBzdHlsZS5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgLy8gICAgICAgICBzdHlsZS5ocmVmID0gaHJlZjtcblxuICAgIC8vICAgICAgICAgY29uc3QgaGVhZCA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcblxuICAgIC8vICAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG59XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9zZXJ2aWNlcy9kZXBlbmRlbmN5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRWpDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSztBQUV0Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFFMUIsWUFDOEIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM1QyxDQUFDO0lBRUw7Ozs7Ozs7T0FPRztJQUNILFVBQVUsQ0FBQyxFQUFVLEVBQUUsR0FBVyxFQUFFLFlBQW9CLElBQUk7UUFDeEQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM1QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztnQkFBRSxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBRW5ELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBRWYsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFaEMsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLElBQUksRUFBRTtnQkFDdkIsSUFBSSxPQUFPLFNBQVMsSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUVWLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLG1CQUFtQixFQUFFLENBQUMsSUFBSSxFQUFFO3dCQUN6RCxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFFcEIsSUFBSSxDQUFDLElBQUksbUJBQW1CLEVBQUUsQ0FBQzt3QkFDM0IsT0FBTyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQyxDQUFDO29CQUM5RSxDQUFDO2dCQUNMLENBQUM7Z0JBRUQsR0FBRyxFQUFFLENBQUM7WUFDVixDQUFDLENBQUE7WUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDOzhHQXpDUSxpQkFBaUIsa0JBR2QsUUFBUTtrSEFIWCxpQkFBaUIsY0FGZCxNQUFNOzsyRkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFJUSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNsZWVwIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBTQ1JJUFRfSU5JVF9USU1FT1VUID0gNTAwOyAvLyBtc1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBpbnN0YWxscyBDU1MvSlMgZHluYW1pY2FsbHlcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEZXBlbmRlbmN5U2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnRcbiAgICApIHsgfVxuXG4gICAgLyoqXG4gICAgICogSW5zdGFsbCBhIEphdmFzY3JpcHQgZmlsZSBpbnRvIHRoZSB3ZWJwYWdlIG9uLWRlbWFuZFxuICAgICAqIEBwYXJhbSBpZCBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIEpTIHNjcmlwdFxuICAgICAqIEBwYXJhbSBzcmMgVVJMIG9mIHRoZSBzY3JpcHRcbiAgICAgKiBAcGFyYW0gZ2xvYmFsa2V5IEEgZ2xvYmFsIG9iamVjdCB0aGUgc2NyaXB0IHdpbGwgcHJvdmlkZS5cbiAgICAgKiAgUHJvdmlkaW5nIHRoaXMgd2lsbCBlbnN1cmUgYSBwcm9taXNlIG9ubHkgcmVzb2x2ZXMgYWZ0ZXIgdGhlXG4gICAgICogIHNwZWNpZmllZCBnbG9iYWwgb2JqZWN0IGlzIHByb3ZpZGVkLCB3aXRoIGEgdGltZW91dCBvZiA1MDBtc1xuICAgICAqL1xuICAgIGxvYWRTY3JpcHQoaWQ6IHN0cmluZywgc3JjOiBzdHJpbmcsIGdsb2JhbGtleTogc3RyaW5nID0gbnVsbCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkpIHJldHVybiByZXMoKTtcblxuICAgICAgICAgICAgY29uc3Qgc2NyaXB0ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICAgIHNjcmlwdC5pZCA9IGlkO1xuXG4gICAgICAgICAgICBzY3JpcHQuc2V0QXR0cmlidXRlKFwiYXN5bmNcIiwgJycpO1xuICAgICAgICAgICAgc2NyaXB0LnNldEF0dHJpYnV0ZShcInNyY1wiLCBzcmMpO1xuXG4gICAgICAgICAgICBzY3JpcHQub25sb2FkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZ2xvYmFsa2V5ID09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGkgPSAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoOyAhd2luZG93W2dsb2JhbGtleV0gJiYgaSA8IFNDUklQVF9JTklUX1RJTUVPVVQ7IGkgKz0gMTApXG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBzbGVlcCgxMCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPj0gU0NSSVBUX0lOSVRfVElNRU9VVCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlaihuZXcgRXJyb3IoXCJUaW1lZCBvdXQgd2FpdGluZyBmb3Igc2NyaXB0IHRvIHNlbGYtaW5pdGlhbGl6ZS5cIikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmVzKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8vIGxvYWRTdHlsZXNoZWV0KGlkOiBzdHJpbmcsIGhyZWY6IHN0cmluZykge1xuICAgIC8vICAgICBsZXQgdGhlbWVMaW5rID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkgYXMgSFRNTExpbmtFbGVtZW50O1xuICAgIC8vICAgICBpZiAodGhlbWVMaW5rKSB7XG4gICAgLy8gICAgICAgICB0aGVtZUxpbmsuaHJlZiA9IGhyZWY7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgZWxzZSB7XG4gICAgLy8gICAgICAgICBjb25zdCBzdHlsZSA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgIC8vICAgICAgICAgc3R5bGUuaWQgPSBpZDtcbiAgICAvLyAgICAgICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAvLyAgICAgICAgIHN0eWxlLmhyZWYgPSBocmVmO1xuXG4gICAgLy8gICAgICAgICBjb25zdCBoZWFkID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuXG4gICAgLy8gICAgICAgICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cbn1cbiJdfQ==
@@ -57,10 +57,10 @@ export class DialogService {
57
57
  clearDialog() {
58
58
  this.dialogs.forEach(dialog => dialog.close());
59
59
  }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DialogService, deps: [{ token: i1.MatDialog }, { token: i2.LazyLoaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
61
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DialogService, providedIn: 'root' }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DialogService, deps: [{ token: i1.MatDialog }, { token: i2.LazyLoaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
61
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DialogService, providedIn: 'root' }); }
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DialogService, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: DialogService, decorators: [{
64
64
  type: Injectable,
65
65
  args: [{
66
66
  providedIn: 'root'
@@ -59,10 +59,10 @@ export class Fetch {
59
59
  });
60
60
  return p;
61
61
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: Fetch, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
63
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: Fetch, providedIn: "root" }); }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: Fetch, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
63
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: Fetch, providedIn: "root" }); }
64
64
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: Fetch, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: Fetch, decorators: [{
66
66
  type: Injectable,
67
67
  args: [{
68
68
  providedIn: "root"
@@ -30,10 +30,10 @@ export class FileService {
30
30
  });
31
31
  };
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FileService, deps: [{ token: i1.Fetch }], target: i0.ɵɵFactoryTarget.Injectable }); }
34
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FileService, providedIn: 'root' }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FileService, deps: [{ token: i1.Fetch }], target: i0.ɵɵFactoryTarget.Injectable }); }
34
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FileService, providedIn: 'root' }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FileService, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: FileService, decorators: [{
37
37
  type: Injectable,
38
38
  args: [{
39
39
  providedIn: 'root'
@@ -110,10 +110,10 @@ export class KeyboardService {
110
110
  this.heldKeys[k] = false;
111
111
  });
112
112
  }
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KeyboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
114
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KeyboardService, providedIn: 'root' }); }
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: KeyboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
114
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: KeyboardService, providedIn: 'root' }); }
115
115
  }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KeyboardService, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: KeyboardService, decorators: [{
117
117
  type: Injectable,
118
118
  args: [{
119
119
  providedIn: 'root'
@@ -125,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
125
125
  type: HostListener,
126
126
  args: ["window:resize"]
127
127
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvc2VydmljZXMva2V5Ym9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQXFCL0I7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQWN4QjtRQVpRLGFBQVEsR0FBK0IsRUFBRSxDQUFDO1FBQzNDLGdCQUFXLEdBU1osRUFBRSxDQUFDO1FBR0wsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sU0FBUyxDQUFDLEdBQWtCO1FBQ2hDLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7UUFFNUMsOEVBQThFO1FBQzlFLDJEQUEyRDtRQUMzRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVzthQUMxQixNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDVCxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksU0FBUyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUNqRCxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksU0FBUyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEtBQUss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QUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxJQUFJLFlBQVk7UUFDWixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDRDs7T0FFRztJQUNILElBQUksY0FBYztRQUNkLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNEOztPQUVHO0lBQ0gsSUFBSSxZQUFZO1FBQ1osT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBSUQsU0FBUztRQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBdElRLGVBQWU7a0hBQWYsZUFBZSxjQUZaLE1BQU07OzJGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCO3dEQW1JRyxTQUFTO3NCQUZSLFlBQVk7dUJBQUMsYUFBYTs7c0JBQzFCLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBLZXlDb21tYW5kID0ge1xuICAgIC8qKlxuICAgICAqIFRoZSBub24tbW9kaWZpZXIga2V5KHMpIHRoYXQgbXVzdCBiZSBwcmVzc2VkIGZvciB0aGUgZXZlbnQgdG8gZmlyZS5cbiAgICAgKi9cbiAgICBrZXk6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgIGxhYmVsPzogc3RyaW5nLFxuXG4gICAgY3RybD86IGJvb2xlYW4sXG4gICAgYWx0PzogYm9vbGVhbixcbiAgICBzaGlmdD86IGJvb2xlYW4sXG4gICAgc3VwZXI/OiBib29sZWFuLFxuICAgIHRhYj86IGJvb2xlYW4sXG5cbiAgICAvKipcbiAgICAgKiBTaG91bGQgdGhlIGhhbmRsZXIgaW50ZXJydXB0IGRlZmF1bHQgZXZlbnQgaGFuZGxpbmdcbiAgICAgKi9cbiAgICBpbnRlcnJ1cHQ/OiBib29sZWFuLFxufVxuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBsaXN0ZW5zIGZvciBnbG9iYWwga2V5Ym9hcmQgZXZlbnRzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgS2V5Ym9hcmRTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgaGVsZEtleXM6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG4gICAgcHVibGljIGtleUNvbW1hbmRzOiB7XG4gICAgICAgIGN0cmw/OiBib29sZWFuLFxuICAgICAgICBhbHQ/OiBib29sZWFuLFxuICAgICAgICBzaGlmdD86IGJvb2xlYW4sXG4gICAgICAgIHN1cGVyPzogYm9vbGVhbixcbiAgICAgICAgaW50ZXJydXB0PzogYm9vbGVhbixcbiAgICAgICAgbGFiZWw/OiBzdHJpbmcsXG4gICAgICAgIGtleXM6IHN0cmluZ1tdLFxuICAgICAgICBzdWI6IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD5cbiAgICB9W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgKGV2dCkgPT4gdGhpcy5vbktleURvd24oZXZ0KSk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwia2V5dXBcIiwgKGV2dCkgPT4gdGhpcy5vbktleVVwKGV2dCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25LZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhcImtleWRvd25cIiwgZXZ0LmtleSlcbiAgICAgICAgdGhpcy5oZWxkS2V5c1tldnQua2V5LnRvTG93ZXJDYXNlKCldID0gdHJ1ZTtcblxuICAgICAgICAvLyBEbyBhIGdlbmVyYWwgZmlsdGVyIHdoZXJlIGFsbCBvZiB0aGUgbW9kaWZpZXJzIG11c3QgYmUgbWF0Y2hlZCBpZiBzcGVjaWZpZWRcbiAgICAgICAgLy8gVGhlbiBjaGVjayB0aGF0IHRoZSBhY3R1YWwga2V5cyBtYXRjaCB3aGF0IHdhcyBzcGVjaWZpZWRcbiAgICAgICAgbGV0IGNvbW1hbmRzID0gdGhpcy5rZXlDb21tYW5kc1xuICAgICAgICAgICAgLmZpbHRlcihrYyA9PlxuICAgICAgICAgICAgICAgIChrYy5jdHJsID09IHVuZGVmaW5lZCB8fCBrYy5jdHJsID09PSBldnQuY3RybEtleSkgJiZcbiAgICAgICAgICAgICAgICAoa2MuYWx0ID09IHVuZGVmaW5lZCB8fCBrYy5hbHQgPT09IGV2dC5hbHRLZXkpICYmXG4gICAgICAgICAgICAgICAgKGtjLnNoaWZ0ID09IHVuZGVmaW5lZCB8fCBrYy5zaGlmdCA9PT0gZXZ0LnNoaWZ0S2V5KSAmJlxuICAgICAgICAgICAgICAgIChrYy5zdXBlciA9PSB1bmRlZmluZWQgfHwga2Muc3VwZXIgPT09IGV2dC5tZXRhS2V5KSAmJlxuICAgICAgICAgICAgICAgIGtjLmtleXMubGVuZ3RoID09IGtjLmtleXMuZmlsdGVyKGsgPT4gdGhpcy5oZWxkS2V5c1trXSk/Lmxlbmd0aFxuICAgICAgICAgICAgKTtcblxuICAgICAgICBpZiAoZXZ0LmN0cmxLZXkgJiYgY29tbWFuZHMubGVuZ3RoID4gMCB8fCBjb21tYW5kcy5maW5kKGMgPT4gYy5pbnRlcnJ1cHQpKSB7XG4gICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldnQua2V5ID09IFwiUGF1c2VcIilcbiAgICAgICAgICAgIGRlYnVnZ2VyO1xuXG4gICAgICAgIGNvbW1hbmRzLmZvckVhY2goa2MgPT4ga2Muc3ViLm5leHQoZXZ0KSk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFByZXZlbnQgQ1RSTCtQIGFuZCBvdGhlciBzdGFuZGFyZCBrZXkgZXZlbnRzIGZyb20gYmVpbmcgaGFuZGxlZCBieSB0aGUgYnJvd3Nlci5cbiAgICAgICAgICogQWxsb3cgc3BlY2lmaWMgY29tYm9uYXRpb25zOlxuICAgICAgICAgKiBDVFJMK1dcbiAgICAgICAgICogQ1RSTCtUXG4gICAgICAgICAqIENUUkwrRjVcbiAgICAgICAgICovXG4gICAgICAgIC8vIGlmIChldnQuY3RybEtleSAmJiAhWyd3JywgJ3QnLCAnRjUnXS5pbmNsdWRlcyhldnQua2V5KSkge1xuICAgICAgICAvLyAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9uS2V5VXAoZXZ0OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMuaGVsZEtleXNbZXZ0LmtleS50b0xvd2VyQ2FzZSgpXSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25LZXlQcmVzcyhldnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgLy8gdGhpcy5oZWxkS2V5c1tldnQua2V5XSA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZSB0aGlzIHRvIHN1YnNjcmliZSB0byBrZXlib2FyZCBldmVudHMgdGhyb3VnaG91dFxuICAgICAqIHRoZSBhcHBsaWNhdGlvbi4gVGhpcyBpcyBhIHBhc3NpdmUgbGlzdGVuZXIgYW5kIHdpbGxcbiAgICAgKiAqKk5PVCoqIGludGVycnVwdCB0aGUgZXZlbnQgY2hhaW4uXG4gICAgICovXG4gICAgcHVibGljIG9uS2V5Q29tbWFuZChrZXk6IEtleUNvbW1hbmQpIHtcbiAgICAgICAgY29uc3Qgc3ViID0gbmV3IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD4oKTtcbiAgICAgICAgbGV0IGl0ZW0gPSB7XG4gICAgICAgICAgICAuLi5rZXksXG4gICAgICAgICAgICBrZXlzOiAoQXJyYXkuaXNBcnJheShrZXkua2V5KSA/IGtleS5rZXkgOiBba2V5LmtleV0pLFxuICAgICAgICAgICAgc3ViOiBzdWJcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMua2V5Q29tbWFuZHMucHVzaChpdGVtKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uc3ViLFxuICAgICAgICAgICAgc3Vic2NyaWJlOiAoKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzID0gc3ViLnN1YnNjcmliZSguLi5hcmdzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5zLFxuICAgICAgICAgICAgICAgICAgICB1bnN1YnNjcmliZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcy51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmUgdGhlIGtleWNvbW1hbmQgZnJvbSB0aGUgbGlzdCBvZiBsaXN0ZW5lcnMuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpID0gdGhpcy5rZXlDb21tYW5kcy5maW5kSW5kZXgoYyA9PiBjID09IGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5rZXlDb21tYW5kcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSkgYXMgU3ViamVjdDxLZXlib2FyZEV2ZW50Plsnc3Vic2NyaWJlJ11cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYHRydWVgIGlmIHNoaWZ0IGlzIGN1cnJlbnRseSBwcmVzc2VkLlxuICAgICAqL1xuICAgIGdldCBpc1NoaWZ0UHJlc3NlZCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5oZWxkS2V5c1tcInNoaWZ0XCJdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYHRydWVgIGlmIGN0cmwgaXMgY3VycmVudGx5IHByZXNzZWQuXG4gICAgICovXG4gICAgZ2V0IGlzQ3RybFByZXNzZWQoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGVsZEtleXNbXCJjb250cm9sXCJdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYHRydWVgIGlmIGFsdCBpcyBjdXJyZW50bHkgcHJlc3NlZC5cbiAgICAgKi9cbiAgICBnZXQgaXNBbHRQcmVzc2VkKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLmhlbGRLZXlzW1wiYWx0XCJdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYHRydWVgIGlmIHN1cGVyIChtYWMvbGludXgpIG9yIHRoZSB3aW5kb3dzIGtleSBpcyBjdXJyZW50bHkgcHJlc3NlZC5cbiAgICAgKi9cbiAgICBnZXQgaXNTdXBlclByZXNzZWQoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGVsZEtleXNbXCJzdXBlclwiXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGB0cnVlYCBpZiB0YWIgaXMgY3VycmVudGx5IHByZXNzZWQuXG4gICAgICovXG4gICAgZ2V0IGlzVGFiUHJlc3NlZCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5oZWxkS2V5c1tcInRhYlwiXTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwid2luZG93OmJsdXJcIilcbiAgICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiKVxuICAgIGNsZWFyS2V5cygpIHtcbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5oZWxkS2V5cykuZm9yRWFjaChrID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGVsZEtleXNba10gPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvc2VydmljZXMva2V5Ym9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQXFCL0I7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQWN4QjtRQVpRLGFBQVEsR0FBK0IsRUFBRSxDQUFDO1FBQzNDLGdCQUFXLEdBU1osRUFBRSxDQUFDO1FBR0wsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sU0FBUyxDQUFDLEdBQWtCO1FBQ2hDLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7UUFFNUMsOEVBQThFO1FBQzlFLDJEQUEyRDtRQUMzRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVzthQUMxQixNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDVCxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksU0FBUyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUNqRCxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksU0FBUyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUM5QyxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksU0FBUyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUNwRCxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksU0FBUyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUNuRCxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQ2xFLENBQUM7UUFFTixJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3hFLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN0QixHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUVELElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxPQUFPO1lBQ2xCLFFBQVEsQ0FBQztRQUViLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXpDOzs7Ozs7V0FNRztRQUNILDREQUE0RDtRQUM1RCw0QkFBNEI7UUFDNUIsSUFBSTtJQUNSLENBQUM7SUFFTyxPQUFPLENBQUMsR0FBa0I7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ2pELENBQUM7SUFFTyxVQUFVLENBQUMsR0FBa0I7UUFDakMsa0NBQWtDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWSxDQUFDLEdBQWU7UUFDL0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7UUFDekMsSUFBSSxJQUFJLEdBQUc7WUFDUCxHQUFHLEdBQUc7WUFDTixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEQsR0FBRyxFQUFFLEdBQUc7U0FDWCxDQUFBO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsT0FBTztZQUNILEdBQUcsR0FBRztZQUNOLFNBQVMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtnQkFDcEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUNqQyxPQUFPO29CQUNILEdBQUcsQ0FBQztvQkFDSixXQUFXLEVBQUUsR0FBRyxFQUFFO3dCQUNkLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFFaEIsb0RBQW9EO3dCQUNwRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQzt3QkFDckQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNsQyxDQUFDO2lCQUNKLENBQUM7WUFDTixDQUFDLENBQXdDO1NBQzVDLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGNBQWM7UUFDZCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRDs7T0FFRztJQUNILElBQUksYUFBYTtRQUNiLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNEOztPQUVHO0lBQ0gsSUFBSSxZQUFZO1FBQ1osT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxJQUFJLGNBQWM7UUFDZCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRDs7T0FFRztJQUNILElBQUksWUFBWTtRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUlELFNBQVM7UUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXRJUSxlQUFlO2tIQUFmLGVBQWUsY0FGWixNQUFNOzsyRkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjt3REFtSUcsU0FBUztzQkFGUixZQUFZO3VCQUFDLGFBQWE7O3NCQUMxQixZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgS2V5Q29tbWFuZCA9IHtcbiAgICAvKipcbiAgICAgKiBUaGUgbm9uLW1vZGlmaWVyIGtleShzKSB0aGF0IG11c3QgYmUgcHJlc3NlZCBmb3IgdGhlIGV2ZW50IHRvIGZpcmUuXG4gICAgICovXG4gICAga2V5OiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBsYWJlbD86IHN0cmluZyxcblxuICAgIGN0cmw/OiBib29sZWFuLFxuICAgIGFsdD86IGJvb2xlYW4sXG4gICAgc2hpZnQ/OiBib29sZWFuLFxuICAgIHN1cGVyPzogYm9vbGVhbixcbiAgICB0YWI/OiBib29sZWFuLFxuXG4gICAgLyoqXG4gICAgICogU2hvdWxkIHRoZSBoYW5kbGVyIGludGVycnVwdCBkZWZhdWx0IGV2ZW50IGhhbmRsaW5nXG4gICAgICovXG4gICAgaW50ZXJydXB0PzogYm9vbGVhbixcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgbGlzdGVucyBmb3IgZ2xvYmFsIGtleWJvYXJkIGV2ZW50c1xuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEtleWJvYXJkU2VydmljZSB7XG5cbiAgICBwcml2YXRlIGhlbGRLZXlzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICAgIHB1YmxpYyBrZXlDb21tYW5kczoge1xuICAgICAgICBjdHJsPzogYm9vbGVhbixcbiAgICAgICAgYWx0PzogYm9vbGVhbixcbiAgICAgICAgc2hpZnQ/OiBib29sZWFuLFxuICAgICAgICBzdXBlcj86IGJvb2xlYW4sXG4gICAgICAgIGludGVycnVwdD86IGJvb2xlYW4sXG4gICAgICAgIGxhYmVsPzogc3RyaW5nLFxuICAgICAgICBrZXlzOiBzdHJpbmdbXSxcbiAgICAgICAgc3ViOiBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+XG4gICAgfVtdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIChldnQpID0+IHRoaXMub25LZXlEb3duKGV2dCkpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImtleXVwXCIsIChldnQpID0+IHRoaXMub25LZXlVcChldnQpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJrZXlkb3duXCIsIGV2dC5rZXkpXG4gICAgICAgIHRoaXMuaGVsZEtleXNbZXZ0LmtleS50b0xvd2VyQ2FzZSgpXSA9IHRydWU7XG5cbiAgICAgICAgLy8gRG8gYSBnZW5lcmFsIGZpbHRlciB3aGVyZSBhbGwgb2YgdGhlIG1vZGlmaWVycyBtdXN0IGJlIG1hdGNoZWQgaWYgc3BlY2lmaWVkXG4gICAgICAgIC8vIFRoZW4gY2hlY2sgdGhhdCB0aGUgYWN0dWFsIGtleXMgbWF0Y2ggd2hhdCB3YXMgc3BlY2lmaWVkXG4gICAgICAgIGxldCBjb21tYW5kcyA9IHRoaXMua2V5Q29tbWFuZHNcbiAgICAgICAgICAgIC5maWx0ZXIoa2MgPT5cbiAgICAgICAgICAgICAgICAoa2MuY3RybCA9PSB1bmRlZmluZWQgfHwga2MuY3RybCA9PT0gZXZ0LmN0cmxLZXkpICYmXG4gICAgICAgICAgICAgICAgKGtjLmFsdCA9PSB1bmRlZmluZWQgfHwga2MuYWx0ID09PSBldnQuYWx0S2V5KSAmJlxuICAgICAgICAgICAgICAgIChrYy5zaGlmdCA9PSB1bmRlZmluZWQgfHwga2Muc2hpZnQgPT09IGV2dC5zaGlmdEtleSkgJiZcbiAgICAgICAgICAgICAgICAoa2Muc3VwZXIgPT0gdW5kZWZpbmVkIHx8IGtjLnN1cGVyID09PSBldnQubWV0YUtleSkgJiZcbiAgICAgICAgICAgICAgICBrYy5rZXlzLmxlbmd0aCA9PSBrYy5rZXlzLmZpbHRlcihrID0+IHRoaXMuaGVsZEtleXNba10pPy5sZW5ndGhcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgaWYgKGV2dC5jdHJsS2V5ICYmIGNvbW1hbmRzLmxlbmd0aCA+IDAgfHwgY29tbWFuZHMuZmluZChjID0+IGMuaW50ZXJydXB0KSkge1xuICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZ0LmtleSA9PSBcIlBhdXNlXCIpXG4gICAgICAgICAgICBkZWJ1Z2dlcjtcblxuICAgICAgICBjb21tYW5kcy5mb3JFYWNoKGtjID0+IGtjLnN1Yi5uZXh0KGV2dCkpO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBQcmV2ZW50IENUUkwrUCBhbmQgb3RoZXIgc3RhbmRhcmQga2V5IGV2ZW50cyBmcm9tIGJlaW5nIGhhbmRsZWQgYnkgdGhlIGJyb3dzZXIuXG4gICAgICAgICAqIEFsbG93IHNwZWNpZmljIGNvbWJvbmF0aW9uczpcbiAgICAgICAgICogQ1RSTCtXXG4gICAgICAgICAqIENUUkwrVFxuICAgICAgICAgKiBDVFJMK0Y1XG4gICAgICAgICAqL1xuICAgICAgICAvLyBpZiAoZXZ0LmN0cmxLZXkgJiYgIVsndycsICd0JywgJ0Y1J10uaW5jbHVkZXMoZXZ0LmtleSkpIHtcbiAgICAgICAgLy8gICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbktleVVwKGV2dDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICB0aGlzLmhlbGRLZXlzW2V2dC5rZXkudG9Mb3dlckNhc2UoKV0gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uS2V5UHJlc3MoZXZ0OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIC8vIHRoaXMuaGVsZEtleXNbZXZ0LmtleV0gPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2UgdGhpcyB0byBzdWJzY3JpYmUgdG8ga2V5Ym9hcmQgZXZlbnRzIHRocm91Z2hvdXRcbiAgICAgKiB0aGUgYXBwbGljYXRpb24uIFRoaXMgaXMgYSBwYXNzaXZlIGxpc3RlbmVyIGFuZCB3aWxsXG4gICAgICogKipOT1QqKiBpbnRlcnJ1cHQgdGhlIGV2ZW50IGNoYWluLlxuICAgICAqL1xuICAgIHB1YmxpYyBvbktleUNvbW1hbmQoa2V5OiBLZXlDb21tYW5kKSB7XG4gICAgICAgIGNvbnN0IHN1YiA9IG5ldyBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+KCk7XG4gICAgICAgIGxldCBpdGVtID0ge1xuICAgICAgICAgICAgLi4ua2V5LFxuICAgICAgICAgICAga2V5czogKEFycmF5LmlzQXJyYXkoa2V5LmtleSkgPyBrZXkua2V5IDogW2tleS5rZXldKSxcbiAgICAgICAgICAgIHN1Yjogc3ViXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmtleUNvbW1hbmRzLnB1c2goaXRlbSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnN1YixcbiAgICAgICAgICAgIHN1YnNjcmliZTogKCguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcyA9IHN1Yi5zdWJzY3JpYmUoLi4uYXJncyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucyxcbiAgICAgICAgICAgICAgICAgICAgdW5zdWJzY3JpYmU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHMudW5zdWJzY3JpYmUoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSBrZXljb21tYW5kIGZyb20gdGhlIGxpc3Qgb2YgbGlzdGVuZXJzLlxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMua2V5Q29tbWFuZHMuZmluZEluZGV4KGMgPT4gYyA9PSBpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMua2V5Q29tbWFuZHMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pIGFzIFN1YmplY3Q8S2V5Ym9hcmRFdmVudD5bJ3N1YnNjcmliZSddXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGB0cnVlYCBpZiBzaGlmdCBpcyBjdXJyZW50bHkgcHJlc3NlZC5cbiAgICAgKi9cbiAgICBnZXQgaXNTaGlmdFByZXNzZWQoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGVsZEtleXNbXCJzaGlmdFwiXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGB0cnVlYCBpZiBjdHJsIGlzIGN1cnJlbnRseSBwcmVzc2VkLlxuICAgICAqL1xuICAgIGdldCBpc0N0cmxQcmVzc2VkKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLmhlbGRLZXlzW1wiY29udHJvbFwiXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGB0cnVlYCBpZiBhbHQgaXMgY3VycmVudGx5IHByZXNzZWQuXG4gICAgICovXG4gICAgZ2V0IGlzQWx0UHJlc3NlZCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5oZWxkS2V5c1tcImFsdFwiXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGB0cnVlYCBpZiBzdXBlciAobWFjL2xpbnV4KSBvciB0aGUgd2luZG93cyBrZXkgaXMgY3VycmVudGx5IHByZXNzZWQuXG4gICAgICovXG4gICAgZ2V0IGlzU3VwZXJQcmVzc2VkKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLmhlbGRLZXlzW1wic3VwZXJcIl07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiBgdHJ1ZWAgaWYgdGFiIGlzIGN1cnJlbnRseSBwcmVzc2VkLlxuICAgICAqL1xuICAgIGdldCBpc1RhYlByZXNzZWQoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGVsZEtleXNbXCJ0YWJcIl07XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpibHVyXCIpXG4gICAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIilcbiAgICBjbGVhcktleXMoKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuaGVsZEtleXMpLmZvckVhY2goayA9PiB7XG4gICAgICAgICAgICB0aGlzLmhlbGRLZXlzW2tdID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -37,10 +37,10 @@ export class NavigationService {
37
37
  args: params
38
38
  });
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NavigationService, deps: [{ token: i1.LazyLoaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NavigationService, providedIn: 'root' }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NavigationService, deps: [{ token: i1.LazyLoaderService }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NavigationService, providedIn: 'root' }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NavigationService, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: NavigationService, decorators: [{
44
44
  type: Injectable,
45
45
  args: [{
46
46
  providedIn: 'root'
@@ -17,10 +17,10 @@ export class ThemeService extends BehaviorSubject {
17
17
  setTheme(t) {
18
18
  this.next(t);
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ThemeService, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ThemeService, decorators: [{
24
24
  type: Injectable,
25
25
  args: [{
26
26
  providedIn: 'root'