@unovis/angular 1.4.0-beta.6 → 1.4.1-alpha.7

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 (23) hide show
  1. package/dist/lib/bundles/unovis-angular.umd.js +67 -35
  2. package/dist/lib/bundles/unovis-angular.umd.js.map +1 -1
  3. package/dist/lib/components/crosshair/crosshair.component.d.ts +5 -1
  4. package/dist/lib/components/graph/graph.component.d.ts +23 -11
  5. package/dist/lib/components/nested-donut/nested-donut.component.d.ts +7 -1
  6. package/dist/lib/components/tooltip/tooltip.component.d.ts +1 -1
  7. package/dist/lib/esm2015/components/annotations/annotations.component.js +1 -1
  8. package/dist/lib/esm2015/components/crosshair/crosshair.component.js +8 -4
  9. package/dist/lib/esm2015/components/graph/graph.component.js +16 -6
  10. package/dist/lib/esm2015/components/nested-donut/nested-donut.component.js +1 -1
  11. package/dist/lib/esm2015/components/tooltip/tooltip.component.js +1 -1
  12. package/dist/lib/esm2015/html-components/bullet-legend/bullet-legend.component.js +10 -6
  13. package/dist/lib/esm2015/html-components/leaflet-flow-map/leaflet-flow-map.component.js +20 -13
  14. package/dist/lib/esm2015/html-components/leaflet-flow-map/leaflet-flow-map.module.js +2 -1
  15. package/dist/lib/esm2015/html-components/leaflet-map/leaflet-map.component.js +17 -12
  16. package/dist/lib/esm2015/html-components/leaflet-map/leaflet-map.module.js +2 -1
  17. package/dist/lib/fesm2015/unovis-angular.js +67 -35
  18. package/dist/lib/fesm2015/unovis-angular.js.map +1 -1
  19. package/dist/lib/html-components/bullet-legend/bullet-legend.component.d.ts +13 -9
  20. package/dist/lib/html-components/leaflet-flow-map/leaflet-flow-map.component.d.ts +33 -34
  21. package/dist/lib/html-components/leaflet-map/leaflet-map.component.d.ts +24 -27
  22. package/dist/lib/package.json +5 -5
  23. package/package.json +5 -5
@@ -1,18 +1,19 @@
1
+ // !!! This code was automatically generated. You should not change it !!!
1
2
  import { Component, Input, ViewChild } from '@angular/core';
2
- import { BulletLegend } from '@unovis/ts';
3
+ import { BulletLegend, } from '@unovis/ts';
3
4
  import { VisGenericComponent } from '../../core';
4
5
  import * as i0 from "@angular/core";
5
6
  export class VisBulletLegendComponent {
6
7
  ngAfterViewInit() {
7
- this.component = new BulletLegend(this.containerRef.nativeElement, this.getConfig());
8
+ this.component = new BulletLegend(this.containerRef.nativeElement, Object.assign(Object.assign({}, this.getConfig()), { renderIntoProvidedDomNode: true }));
8
9
  }
9
10
  ngOnChanges(changes) {
10
11
  var _a;
11
12
  (_a = this.component) === null || _a === void 0 ? void 0 : _a.update(this.getConfig());
12
13
  }
13
14
  getConfig() {
14
- const { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize } = this;
15
- const config = { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize };
15
+ const { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize, bulletShape, orientation } = this;
16
+ const config = { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize, bulletShape, orientation };
16
17
  const keys = Object.keys(config);
17
18
  keys.forEach(key => { if (config[key] === undefined)
18
19
  delete config[key]; });
@@ -20,12 +21,13 @@ export class VisBulletLegendComponent {
20
21
  }
21
22
  }
22
23
  VisBulletLegendComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisBulletLegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- VisBulletLegendComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisBulletLegendComponent, selector: "vis-bullet-legend", inputs: { items: "items", labelClassName: "labelClassName", onLegendItemClick: "onLegendItemClick", labelFontSize: "labelFontSize", labelMaxWidth: "labelMaxWidth", bulletSize: "bulletSize", bulletShape: "bulletShape" }, providers: [{ provide: VisGenericComponent, useExisting: VisBulletLegendComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="bullet-legend-container"></div>', isInline: true });
24
+ VisBulletLegendComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisBulletLegendComponent, selector: "vis-bullet-legend", inputs: { items: "items", labelClassName: "labelClassName", onLegendItemClick: "onLegendItemClick", labelFontSize: "labelFontSize", labelMaxWidth: "labelMaxWidth", bulletSize: "bulletSize", bulletShape: "bulletShape", orientation: "orientation" }, providers: [{ provide: VisGenericComponent, useExisting: VisBulletLegendComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="bullet-legend-container"></div>', isInline: true, styles: [".bullet-legend-container { }"] });
24
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisBulletLegendComponent, decorators: [{
25
26
  type: Component,
26
27
  args: [{
27
28
  selector: 'vis-bullet-legend',
28
29
  template: '<div #container class="bullet-legend-container"></div>',
30
+ styles: ['.bullet-legend-container { }'],
29
31
  // eslint-disable-next-line no-use-before-define
30
32
  providers: [{ provide: VisGenericComponent, useExisting: VisBulletLegendComponent }],
31
33
  }]
@@ -46,5 +48,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
46
48
  type: Input
47
49
  }], bulletShape: [{
48
50
  type: Input
51
+ }], orientation: [{
52
+ type: Input
49
53
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsbGV0LWxlZ2VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaHRtbC1jb21wb25lbnRzL2J1bGxldC1sZWdlbmQvYnVsbGV0LWxlZ2VuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsS0FBSyxFQUFpQixTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUE7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBd0YsTUFBTSxZQUFZLENBQUE7QUFDL0gsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFBOztBQVFoRCxNQUFNLE9BQU8sd0JBQXdCO0lBb0NuQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUN0RixDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ25HLE1BQU0sTUFBTSxHQUFHLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxDQUFBO1FBQ3JHLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUEwQyxDQUFBO1FBQ3pFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTO1lBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxRSxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7O3NIQW5EVSx3QkFBd0I7MEdBQXhCLHdCQUF3Qix3UUFGeEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQywwSkFGMUUsd0RBQXdEOzRGQUl2RCx3QkFBd0I7a0JBTnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLHdEQUF3RDtvQkFDbEUsZ0RBQWdEO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLDBCQUEwQixFQUFFLENBQUM7aUJBQ3JGOzhCQUU0QyxZQUFZO3NCQUF0RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBYWhDLEtBQUs7c0JBQWIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBBZnRlclZpZXdJbml0LCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEJ1bGxldExlZ2VuZCwgQnVsbGV0TGVnZW5kQ29uZmlnSW50ZXJmYWNlLCBCdWxsZXRMZWdlbmRJdGVtSW50ZXJmYWNlLCBCdWxsZXRTaGFwZSwgR2VuZXJpY0FjY2Vzc29yIH0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc0dlbmVyaWNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXMtYnVsbGV0LWxlZ2VuZCcsXG4gIHRlbXBsYXRlOiAnPGRpdiAjY29udGFpbmVyIGNsYXNzPVwiYnVsbGV0LWxlZ2VuZC1jb250YWluZXJcIj48L2Rpdj4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNHZW5lcmljQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzQnVsbGV0TGVnZW5kQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNCdWxsZXRMZWdlbmRDb21wb25lbnQgaW1wbGVtZW50cyBCdWxsZXRMZWdlbmRDb25maWdJbnRlcmZhY2UsIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGFpbmVyUmVmOiBFbGVtZW50UmVmXG5cbiAgLyoqIExlZ2VuZCBpdGVtcy4gQXJyYXkgb2YgYEJ1bGxldExlZ2VuZEl0ZW1JbnRlcmZhY2VgOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiAgIG5hbWU6IHN0cmluZyB8IG51bWJlcjtcbiAgICogICBjb2xvcj86IHN0cmluZztcbiAgICogICBpbmFjdGl2ZT86IGJvb2xlYW47XG4gICAqICAgaGlkZGVuPzogYm9vbGVhbjtcbiAgICogICBwb2ludGVyPzogYm9vbGVhbjtcbiAgICogfVxuICAgKiBgYGBcbiAgKiBEZWZhdWx0OiBgW11gICovXG4gIEBJbnB1dCgpIGl0ZW1zOiBCdWxsZXRMZWdlbmRJdGVtSW50ZXJmYWNlW11cblxuICAvKiogQXBwbHkgYSBzcGVjaWZpYyBjbGFzcyB0byB0aGUgbGFiZWxzLiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGxhYmVsQ2xhc3NOYW1lPzogc3RyaW5nXG5cbiAgLyoqIENhbGxiYWNrIGZ1bmN0aW9uIGZvciB0aGUgbGVnZW5kIGl0ZW0gY2xpY2suIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTGVnZW5kSXRlbUNsaWNrPzogKChkOiBCdWxsZXRMZWdlbmRJdGVtSW50ZXJmYWNlLCBpOiBudW1iZXIpID0+IHZvaWQpXG5cbiAgLyoqIExhYmVsIHRleHQgKDxzcGFuPiBlbGVtZW50KSBmb250LXNpemUgQ1NTLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgbGFiZWxGb250U2l6ZT86IHN0cmluZyB8IG51bGxcblxuICAvKiogTGFiZWwgdGV4dCAoPHNwYW4+IGVsZW1lbnQpIG1heC13aWR0aCBDU1MgcHJvcGVydHkuIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBsYWJlbE1heFdpZHRoPzogc3RyaW5nIHwgbnVsbFxuXG4gIC8qKiBCdWxsZXQgY2lyY2xlIHNpemUsIG1hcHBlZCB0byB0aGUgd2lkdGggYW5kIGhlaWdodCBDU1MgcHJvcGVydGllcy4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIGJ1bGxldFNpemU/OiBzdHJpbmcgfCBudWxsXG5cbiAgLyoqIEJ1bGxldCBzaGFwZSBlbnVtIHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLnNoYXBlID8/IEJ1bGxldFNoYXBlLkNpcmNsZSAqL1xuICBASW5wdXQoKSBidWxsZXRTaGFwZT86IEdlbmVyaWNBY2Nlc3NvcjxCdWxsZXRTaGFwZSwgQnVsbGV0TGVnZW5kSXRlbUludGVyZmFjZT5cblxuICBjb21wb25lbnQ6IEJ1bGxldExlZ2VuZCB8IHVuZGVmaW5lZFxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgQnVsbGV0TGVnZW5kKHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZ2V0Q29uZmlnKCkpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50Py51cGRhdGUodGhpcy5nZXRDb25maWcoKSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBCdWxsZXRMZWdlbmRDb25maWdJbnRlcmZhY2Uge1xuICAgIGNvbnN0IHsgaXRlbXMsIGxhYmVsQ2xhc3NOYW1lLCBvbkxlZ2VuZEl0ZW1DbGljaywgbGFiZWxGb250U2l6ZSwgbGFiZWxNYXhXaWR0aCwgYnVsbGV0U2l6ZSB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgaXRlbXMsIGxhYmVsQ2xhc3NOYW1lLCBvbkxlZ2VuZEl0ZW1DbGljaywgbGFiZWxGb250U2l6ZSwgbGFiZWxNYXhXaWR0aCwgYnVsbGV0U2l6ZSB9XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGNvbmZpZykgYXMgKGtleW9mIEJ1bGxldExlZ2VuZENvbmZpZ0ludGVyZmFjZSlbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsbGV0LWxlZ2VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaHRtbC1jb21wb25lbnRzL2J1bGxldC1sZWdlbmQvYnVsbGV0LWxlZ2VuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEVBQTBFO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQWlCLEtBQUssRUFBaUIsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFBO0FBQ3JHLE9BQU8sRUFDTCxZQUFZLEdBTWIsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFBOztBQVNoRCxNQUFNLE9BQU8sd0JBQXdCO0lBeUNuQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsa0NBQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFFLHlCQUF5QixFQUFFLElBQUksSUFBRyxDQUFBO0lBQzlILENBQUM7SUFFRCxXQUFXLENBQUUsT0FBc0I7O1FBQ2pDLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUM3SCxNQUFNLE1BQU0sR0FBRyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFBO1FBQy9ILE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUEwQyxDQUFBO1FBQ3pFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTO1lBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxRSxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7O3NIQXhEVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixvU0FGeEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQywwSkFIMUUsd0RBQXdEOzRGQUt2RCx3QkFBd0I7a0JBUHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLHdEQUF3RDtvQkFDbEUsTUFBTSxFQUFFLENBQUMsK0JBQStCLENBQUM7b0JBQ3pDLGdEQUFnRDtvQkFDaEQsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFDO2lCQUNyRjs4QkFFNEMsWUFBWTtzQkFBdEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQWNoQyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFJRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBCdWxsZXRMZWdlbmQsXG4gIEJ1bGxldExlZ2VuZENvbmZpZ0ludGVyZmFjZSxcbiAgQnVsbGV0TGVnZW5kSXRlbUludGVyZmFjZSxcbiAgR2VuZXJpY0FjY2Vzc29yLFxuICBCdWxsZXRTaGFwZSxcbiAgQnVsbGV0TGVnZW5kT3JpZW50YXRpb24sXG59IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNHZW5lcmljQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLWJ1bGxldC1sZWdlbmQnLFxuICB0ZW1wbGF0ZTogJzxkaXYgI2NvbnRhaW5lciBjbGFzcz1cImJ1bGxldC1sZWdlbmQtY29udGFpbmVyXCI+PC9kaXY+JyxcbiAgc3R5bGVzOiBbJy5idWxsZXQtbGVnZW5kLWNvbnRhaW5lciB7ICB9J10sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZpc0dlbmVyaWNDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBWaXNCdWxsZXRMZWdlbmRDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0J1bGxldExlZ2VuZENvbXBvbmVudCBpbXBsZW1lbnRzIEJ1bGxldExlZ2VuZENvbmZpZ0ludGVyZmFjZSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWZcblxuICAvKiogTGVnZW5kIGl0ZW1zLiBBcnJheSBvZiBgQnVsbGV0TGVnZW5kSXRlbUludGVyZmFjZWA6XG4gICAqIGBgYFxuICAgKiB7XG4gICAqICBuYW1lOiBzdHJpbmcgfCBudW1iZXI7XG4gICAqICBjb2xvcj86IHN0cmluZztcbiAgICogIHNoYXBlPzogQnVsbGV0U2hhcGU7XG4gICAqICBpbmFjdGl2ZT86IGJvb2xlYW47XG4gICAqICBoaWRkZW4/OiBib29sZWFuO1xuICAgKiAgcG9pbnRlcj86IGJvb2xlYW47XG4gICAqIH1cbiAgICogYGBgXG4gICAqIERlZmF1bHQ6IGBbXWAgKi9cbiAgQElucHV0KCkgaXRlbXM6IEJ1bGxldExlZ2VuZEl0ZW1JbnRlcmZhY2VbXVxuXG4gIC8qKiBBcHBseSBhIHNwZWNpZmljIGNsYXNzIHRvIHRoZSBsYWJlbHMuIERlZmF1bHQ6IGAnJ2AgKi9cbiAgQElucHV0KCkgbGFiZWxDbGFzc05hbWU/OiBzdHJpbmdcblxuICAvKiogQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIHRoZSBsZWdlbmQgaXRlbSBjbGljay4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25MZWdlbmRJdGVtQ2xpY2s/OiAoKGQ6IEJ1bGxldExlZ2VuZEl0ZW1JbnRlcmZhY2UsIGk6IG51bWJlcikgPT4gdm9pZClcblxuICAvKiogTGFiZWwgdGV4dCAoPHNwYW4+IGVsZW1lbnQpIGZvbnQtc2l6ZSBDU1MuIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBsYWJlbEZvbnRTaXplPzogc3RyaW5nIHwgbnVsbFxuXG4gIC8qKiBMYWJlbCB0ZXh0ICg8c3Bhbj4gZWxlbWVudCkgbWF4LXdpZHRoIENTUyBwcm9wZXJ0eS4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIGxhYmVsTWF4V2lkdGg/OiBzdHJpbmcgfCBudWxsXG5cbiAgLyoqIEJ1bGxldCBzaGFwZSBzaXplLCBtYXBwZWQgdG8gdGhlIHdpZHRoIGFuZCBoZWlnaHQgQ1NTIHByb3BlcnRpZXMuIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBidWxsZXRTaXplPzogc3RyaW5nIHwgbnVsbFxuXG4gIC8qKiBCdWxsZXQgc2hhcGUgZW51bSB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5zaGFwZSA/PyBCdWxsZXRTaGFwZS5DaXJjbGUgKi9cbiAgQElucHV0KCkgYnVsbGV0U2hhcGU/OiBHZW5lcmljQWNjZXNzb3I8QnVsbGV0U2hhcGUsIEJ1bGxldExlZ2VuZEl0ZW1JbnRlcmZhY2U+XG5cbiAgLyoqIExlZ2VuZCBvcmllbnRhdGlvbi4gV2hlbiBzZXQgdG8gYEJ1bGxldExlZ2VuZE9yaWVudGF0aW9uLlZlcnRpY2FsYCwgZWFjaCBsZWdlbmQgaXRlbSB3aWxsXG4gICAqIHN0YXJ0IG9uIGEgbmV3IGxpbmUuIERlZmF1bHQ6IGBCdWxsZXRMZWdlbmRPcmllbnRhdGlvbi5Ib3Jpem9udGFsYCAqL1xuICBASW5wdXQoKSBvcmllbnRhdGlvbj86IEJ1bGxldExlZ2VuZE9yaWVudGF0aW9uIHwgc3RyaW5nXG5cbiAgY29tcG9uZW50OiBCdWxsZXRMZWdlbmQgfCB1bmRlZmluZWRcblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50ID0gbmV3IEJ1bGxldExlZ2VuZCh0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LCB7IC4uLnRoaXMuZ2V0Q29uZmlnKCksIHJlbmRlckludG9Qcm92aWRlZERvbU5vZGU6IHRydWUgfSlcbiAgfVxuXG4gIG5nT25DaGFuZ2VzIChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQ/LnVwZGF0ZSh0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25maWcgKCk6IEJ1bGxldExlZ2VuZENvbmZpZ0ludGVyZmFjZSB7XG4gICAgY29uc3QgeyBpdGVtcywgbGFiZWxDbGFzc05hbWUsIG9uTGVnZW5kSXRlbUNsaWNrLCBsYWJlbEZvbnRTaXplLCBsYWJlbE1heFdpZHRoLCBidWxsZXRTaXplLCBidWxsZXRTaGFwZSwgb3JpZW50YXRpb24gfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGl0ZW1zLCBsYWJlbENsYXNzTmFtZSwgb25MZWdlbmRJdGVtQ2xpY2ssIGxhYmVsRm9udFNpemUsIGxhYmVsTWF4V2lkdGgsIGJ1bGxldFNpemUsIGJ1bGxldFNoYXBlLCBvcmllbnRhdGlvbiB9XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGNvbmZpZykgYXMgKGtleW9mIEJ1bGxldExlZ2VuZENvbmZpZ0ludGVyZmFjZSlbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
@@ -1,11 +1,14 @@
1
+ // !!! This code was automatically generated. You should not change it !!!
1
2
  import { Component, Input, ViewChild } from '@angular/core';
2
3
  import { LeafletFlowMap, } from '@unovis/ts';
3
4
  import { VisCoreComponent } from '../../core';
4
5
  import * as i0 from "@angular/core";
5
6
  export class VisLeafletFlowMapComponent {
6
7
  ngAfterViewInit() {
7
- const config = this.getConfig();
8
- this.component = new LeafletFlowMap(this.containerRef.nativeElement, config, this.data);
8
+ this.component = new LeafletFlowMap(this.containerRef.nativeElement, this.getConfig(), this.data);
9
+ if (this.data) {
10
+ this.component.setData(this.data);
11
+ }
9
12
  }
10
13
  ngOnChanges(changes) {
11
14
  var _a, _b;
@@ -15,8 +18,8 @@ export class VisLeafletFlowMapComponent {
15
18
  (_b = this.component) === null || _b === void 0 ? void 0 : _b.setConfig(this.getConfig());
16
19
  }
17
20
  getConfig() {
18
- const { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, valuesMap, topoJSONLayer, tooltip, ariaLabel, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave } = this;
19
- const config = { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, valuesMap, topoJSONLayer, tooltip, ariaLabel, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave };
21
+ const { duration, events, attributes, width, height, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, style, styleDarkTheme, accessToken, attribution, renderer, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, pointRingWidth, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave } = this;
22
+ const config = { duration, events, attributes, width, height, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, style, styleDarkTheme, accessToken, attribution, renderer, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, pointRingWidth, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave };
20
23
  const keys = Object.keys(config);
21
24
  keys.forEach(key => { if (config[key] === undefined)
22
25
  delete config[key]; });
@@ -24,29 +27,29 @@ export class VisLeafletFlowMapComponent {
24
27
  }
25
28
  }
26
29
  VisLeafletFlowMapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletFlowMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- VisLeafletFlowMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletFlowMapComponent, selector: "vis-leaflet-flow-map", inputs: { width: "width", height: "height", duration: "duration", events: "events", attributes: "attributes", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", valuesMap: "valuesMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", ariaLabel: "ariaLabel", sourceLongitude: "sourceLongitude", sourceLatitude: "sourceLatitude", targetLongitude: "targetLongitude", targetLatitude: "targetLatitude", sourcePointRadius: "sourcePointRadius", sourcePointColor: "sourcePointColor", flowParticleColor: "flowParticleColor", flowParticleRadius: "flowParticleRadius", flowParticleSpeed: "flowParticleSpeed", flowParticleDensity: "flowParticleDensity", onSourcePointClick: "onSourcePointClick", onSourcePointMouseEnter: "onSourcePointMouseEnter", onSourcePointMouseLeave: "onSourcePointMouseLeave", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletFlowMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="unovis-leaflet-flow-map-container"></div>', isInline: true, styles: [".unovis-leaflet-flow-map-container { width: 100%; height: 100%; position: relative; }"] });
30
+ VisLeafletFlowMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletFlowMapComponent, selector: "vis-leaflet-flow-map", inputs: { duration: "duration", events: "events", attributes: "attributes", width: "width", height: "height", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", renderer: "renderer", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", pointRingWidth: "pointRingWidth", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", colorMap: "colorMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", ariaLabel: "ariaLabel", sourceLongitude: "sourceLongitude", sourceLatitude: "sourceLatitude", targetLongitude: "targetLongitude", targetLatitude: "targetLatitude", sourcePointRadius: "sourcePointRadius", sourcePointColor: "sourcePointColor", flowParticleColor: "flowParticleColor", flowParticleRadius: "flowParticleRadius", flowParticleSpeed: "flowParticleSpeed", flowParticleDensity: "flowParticleDensity", onSourcePointClick: "onSourcePointClick", onSourcePointMouseEnter: "onSourcePointMouseEnter", onSourcePointMouseLeave: "onSourcePointMouseLeave", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletFlowMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="leaflet-flow-map-container"></div>', isInline: true, styles: [".leaflet-flow-map-container { width: 100%; height: 100%; position: relative }"] });
28
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletFlowMapComponent, decorators: [{
29
32
  type: Component,
30
33
  args: [{
31
34
  selector: 'vis-leaflet-flow-map',
32
- template: '<div #container class="unovis-leaflet-flow-map-container"></div>',
33
- styles: ['.unovis-leaflet-flow-map-container { width: 100%; height: 100%; position: relative; }'],
35
+ template: '<div #container class="leaflet-flow-map-container"></div>',
36
+ styles: ['.leaflet-flow-map-container { width: 100%; height: 100%; position: relative }'],
34
37
  // eslint-disable-next-line no-use-before-define
35
38
  providers: [{ provide: VisCoreComponent, useExisting: VisLeafletFlowMapComponent }],
36
39
  }]
37
40
  }], propDecorators: { containerRef: [{
38
41
  type: ViewChild,
39
42
  args: ['container', { static: false }]
40
- }], width: [{
41
- type: Input
42
- }], height: [{
43
- type: Input
44
43
  }], duration: [{
45
44
  type: Input
46
45
  }], events: [{
47
46
  type: Input
48
47
  }], attributes: [{
49
48
  type: Input
49
+ }], width: [{
50
+ type: Input
51
+ }], height: [{
52
+ type: Input
50
53
  }], flyToDuration: [{
51
54
  type: Input
52
55
  }], fitViewPadding: [{
@@ -69,6 +72,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
69
72
  type: Input
70
73
  }], attribution: [{
71
74
  type: Input
75
+ }], renderer: [{
76
+ type: Input
72
77
  }], onMapInitialized: [{
73
78
  type: Input
74
79
  }], onMapMoveZoom: [{
@@ -103,6 +108,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
103
108
  type: Input
104
109
  }], pointCursor: [{
105
110
  type: Input
111
+ }], pointRingWidth: [{
112
+ type: Input
106
113
  }], selectedPointId: [{
107
114
  type: Input
108
115
  }], clusterColor: [{
@@ -123,7 +130,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
123
130
  type: Input
124
131
  }], clusteringDistance: [{
125
132
  type: Input
126
- }], valuesMap: [{
133
+ }], colorMap: [{
127
134
  type: Input
128
135
  }], topoJSONLayer: [{
129
136
  type: Input
@@ -160,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
160
167
  }], data: [{
161
168
  type: Input
162
169
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1mbG93LW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaHRtbC1jb21wb25lbnRzL2xlYWZsZXQtZmxvdy1tYXAvbGVhZmxldC1mbG93LW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsS0FBSyxFQUFpQixTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUE7QUFDckcsT0FBTyxFQUNMLGNBQWMsR0FjZixNQUFNLFlBQVksQ0FBQTtBQUVuQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUE7O0FBUzdDLE1BQU0sT0FBTywwQkFBMEI7SUFpUXJDLGVBQWU7UUFDYixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNoSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDaEIsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQ25DO1FBQ0QsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsS0FB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Z0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBR0csa0JBQWtCO3NCQUExQixLQUFLO2dCQW1CRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBV0csT0FBTztzQkFBZixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFJRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUcsdUJBQXVCO3NCQUEvQixLQUFLO2dCQUVHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgTGVhZmxldEZsb3dNYXAsXG4gIExlYWZsZXRGbG93TWFwQ29uZmlnSW50ZXJmYWNlLFxuICBWaXNFdmVudFR5cGUsXG4gIFZpc0V2ZW50Q2FsbGJhY2ssXG4gIEJvdW5kcyxcbiAgTWFwWm9vbVN0YXRlLFxuICBOdW1lcmljQWNjZXNzb3IsXG4gIFN0cmluZ0FjY2Vzc29yLFxuICBDb2xvckFjY2Vzc29yLFxuICBMZWFmbGV0TWFwUG9pbnREYXR1bSxcbiAgTGVhZmxldE1hcFBvaW50U3R5bGVzLFxuICBUb29sdGlwLFxuICBMZWFmbGV0TWFwQ2x1c3RlckRhdHVtLFxuICBHZW5lcmljRGF0YVJlY29yZCxcbn0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFN0eWxlU3BlY2lmaWNhdGlvbiB9IGZyb20gJ21hcGxpYnJlLWdsJ1xuaW1wb3J0IHsgVmlzQ29yZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1sZWFmbGV0LWZsb3ctbWFwJyxcbiAgdGVtcGxhdGU6ICc8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJ1bm92aXMtbGVhZmxldC1mbG93LW1hcC1jb250YWluZXJcIj48L2Rpdj4nLFxuICBzdHlsZXM6IFsnLnVub3Zpcy1sZWFmbGV0LWZsb3ctbWFwLWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfSddLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNDb3JlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzTGVhZmxldEZsb3dNYXBDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0xlYWZsZXRGbG93TWFwQ29tcG9uZW50PFxuXG4gIFBvaW50RGF0dW0gZXh0ZW5kcyBHZW5lcmljRGF0YVJlY29yZCxcbiAgRmxvd0RhdHVtIGV4dGVuZHMgR2VuZXJpY0RhdGFSZWNvcmQsXG4+IGltcGxlbWVudHMgTGVhZmxldEZsb3dNYXBDb25maWdJbnRlcmZhY2U8UG9pbnREYXR1bSwgRmxvd0RhdHVtPiwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWZcblxuICAvKiogV2lkdGggaW4gcGl4ZWxzIG9yIGluIENTUyB1bml0cy4gQnkgZGVmYXVsdCwgdGhlIG1hcCB3aWxsIGF1dG9tYXRpY2FsbHkgZml0IHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIHdpZHRoPzogbnVtYmVyIHwgc3RyaW5nXG4gIC8qKiBIZWlnaHQgaW4gcGl4ZWxzIG9yIGluIENTUyB1bml0cy4gQnkgZGVmYXVsdCwgdGhlIG1hcCB3aWxsIGF1dG9tYXRpY2FsbHkgZml0IHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuXG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gb2YgdGhlIGRhdGEgdXBkYXRlIHRyYW5zaXRpb25zIGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdDogYDYwMGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogRXZlbnRzIGNvbmZpZ3VyYXRpb24uIEFuIG9iamVjdCBjb250YWluaW5nIHByb3BlcnRpZXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbZXZlbnRUeXBlXTogY2FsbGJhY2tGdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBjbGljazogKGQpID0+IGNvbnNvbGUubG9nKFwiQ2xpY2tlZCBBcmVhXCIsIGQpXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGV2ZW50cz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFtldmVudFR5cGUgaW4gVmlzRXZlbnRUeXBlXT86IFZpc0V2ZW50Q2FsbGJhY2tcbiAgICB9O1xuICB9XG5cbiAgLyoqIFlvdSBjYW4gc2V0IGV2ZXJ5IFNWRyBhbmQgSFRNTCB2aXN1YWxpemF0aW9uIG9iamVjdCB0byBoYXZlIGEgY3VzdG9tIERPTSBhdHRyaWJ1dGVzLCB3aGljaCBpcyB1c2VmdWxcbiAgICogd2hlbiB5b3Ugd2FudCB0byBkbyB1bml0IG9yIGVuZC10by1lbmQgdGVzdGluZy4gQXR0cmlidXRlcyBjb25maWd1cmF0aW9uIG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbYXR0cmlidXRlTmFtZV06IGF0dHJpYnV0ZSBjb25zdGFudCB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBcInRlc3QtdmFsdWVcIjogZCA9PiBkLnZhbHVlXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbYXR0cjogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8ICgoZGF0dW06IGFueSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbik7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gd2hlbiB0aGUgbWFwIGlzIGF1dG9tYXRpY2FsbHkgcGFubmluZyBvciB6b29taW5nIHRvIGEgcG9pbnQgb3IgYXJlYS4gRGVmYXVsdDogYDE1MDBgIG1zICovXG4gIEBJbnB1dCgpIGZseVRvRHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogUGFkZGluZyB0byBiZSB1c2VkIHdoZW4gdGhlIGBmaXRWaWV3YCBmdW5jdGlvbiBoYXMgYmVlbiBjYWxsZWQuIFRoZSB2YWx1ZSBpcyBpbiBwaXhlbHMuIERlZmF1bHQ6IGBbMTUwLCAxNTBdYCAqL1xuICBASW5wdXQoKSBmaXRWaWV3UGFkZGluZz86IFtudW1iZXIsIG51bWJlcl1cblxuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIGZvciB0aGUgYHNldFpvb21gIGZ1bmN0aW9uLiBEZWZhdWx0OiBgODAwYCBtcyAqL1xuICBASW5wdXQoKSB6b29tRHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogRGVmYXVsdCBib3VuZHMgdGhhdCB3aWxsIGJlIGFwcGxpZWQgb24gdGhlIGZpcnN0IG1hcCByZW5kZXIgaWYgdGhlIGJvdW5kcyBwcm9wZXJ0eSBpcyBub3Qgc2V0LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBpbml0aWFsQm91bmRzPzogQm91bmRzXG5cbiAgLyoqIEZvcmNlIHNldCBtYXAgYm91bmRzIG9uIGNvbmZpZyBhbmQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBmaXRCb3VuZHNPblVwZGF0ZT86IEJvdW5kc1xuXG4gIC8qKiBGaXQgdGhlIHZpZXcgdG8gY29udGFpbiB0aGUgZGF0YSBwb2ludHMgb24gbWFwIGluaXRpYWxpemF0aW9uLiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgZml0Vmlld09uSW5pdD86IGJvb2xlYW5cblxuICAvKiogRml0IHRoZSB2aWV3IHRvIGNvbnRhaW4gdGhlIGRhdGEgcG9pbnRzIG9uIG1hcCBjb25maWcgYW5kIGRhdGEgdXBkYXRlcy4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBmaXRWaWV3T25VcGRhdGU/OiBib29sZWFuXG5cbiAgLyoqIE1hcExpYnJlIFN0eWxlU3BlY2lmaWNhdGlvbiBzZXR0aW5ncy4gRGVmYXVsdDogYE1hcExpYnJlQXJjdGljTGlnaHRgICovXG4gIEBJbnB1dCgpIHN0eWxlOiBTdHlsZVNwZWNpZmljYXRpb24gfCBzdHJpbmcgfCB1bmRlZmluZWRcblxuICAvKiogTWFwTGlicmUgU3R5bGVTcGVjaWZpY2F0aW9uIHNldHRpbmdzIGZvciBkYXJrIHRoZW1lLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBzdHlsZURhcmtUaGVtZTogU3R5bGVTcGVjaWZpY2F0aW9uIHwgc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgLyoqIFRpbGUgc2VydmVyIGFjY2VzcyB0b2tlbiBvciBBUEkga2V5LiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGFjY2Vzc1Rva2VuPzogc3RyaW5nXG5cbiAgLyoqIEFycmF5IG9mIGF0dHJpYnV0aW9uIGxhYmVscy4gRGVmYXVsdDogYFsnPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiIHRhcmdldD1cIl9ibGFua1wiPk9wZW5TdHJlZXRNYXAgY29udHJpYnV0b3JzPC9hPiddYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGlvbj86IHN0cmluZ1tdXG5cbiAgLyoqIEZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgbWFwJ3MgYXN5bmMgaW5pdGlhbGl6YXRpb24gaXMgZG9uZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBJbml0aWFsaXplZD86ICgoKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgTW92ZSAvIFpvb20gdW5pZmllZCBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBNb3ZlWm9vbT86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgU3RhcnQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwTW92ZVN0YXJ0PzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgTW92ZSBFbmQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwTW92ZUVuZD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIFpvb20gU3RhcnQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwWm9vbVN0YXJ0PzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgWm9vbSBFbmQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwWm9vbUVuZD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIFpvb20gRW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcENsaWNrPzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBQb2ludCBsb25naXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQubG9uZ2l0dWRlYCAqL1xuICBASW5wdXQoKSBwb2ludExvbmdpdHVkZT86IE51bWVyaWNBY2Nlc3NvcjxQb2ludERhdHVtPlxuXG4gIC8qKiBQb2ludCBsYXRpdHVkZSBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5sYXRpdHVkZWAgKi9cbiAgQElucHV0KCkgcG9pbnRMYXRpdHVkZT86IE51bWVyaWNBY2Nlc3NvcjxQb2ludERhdHVtPlxuXG4gIC8qKiBQb2ludCBpZCBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYGQgPT4gZC5pZGAgKi9cbiAgQElucHV0KCkgcG9pbnRJZD86IFN0cmluZ0FjY2Vzc29yPFBvaW50RGF0dW0+XG5cbiAgLyoqIFBvaW50IHNoYXBlIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgZCA9PiBkLnNoYXBlYCAqL1xuICBASW5wdXQoKSBwb2ludFNoYXBlPzogU3RyaW5nQWNjZXNzb3I8UG9pbnREYXR1bT5cblxuICAvKiogUG9pbnQgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGBkID0+IGQuY29sb3JgICovXG4gIEBJbnB1dCgpIHBvaW50Q29sb3I/OiBDb2xvckFjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPFBvaW50RGF0dW0+PlxuXG4gIC8qKiBQb2ludCByYWRpdXMgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHBvaW50UmFkaXVzPzogTnVtZXJpY0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPFBvaW50RGF0dW0+PlxuXG4gIC8qKiBQb2ludCBpbm5lciBsYWJlbCBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5wb2ludF9jb3VudCA/PyAnJ2AgKi9cbiAgQElucHV0KCkgcG9pbnRMYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPFBvaW50RGF0dW0+PlxuXG4gIC8qKiBQb2ludCBpbm5lciBsYWJlbCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS5cbiAgICogQnkgZGVmYXVsdCwgdGhlIGxhYmVsIGNvbG9yIHdpbGwgYmUgc2V0LCBkZXBlbmRpbmcgb24gdGhlIHBvaW50IGJyaWdodG5lc3MsIGVpdGhlciB0b1xuICAgKiBgLS12aXMtbWFwLXBvaW50LWlubmVyLWxhYmVsLXRleHQtY29sb3ItbGlnaHRgIG9yIHRvIGAtLXZpcy1tYXAtcG9pbnQtaW5uZXItbGFiZWwtdGV4dC1jb2xvci1kYXJrYCBDU1MgdmFyaWFibGUuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgXG4gICovXG4gIEBJbnB1dCgpIHBvaW50TGFiZWxDb2xvcj86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPFBvaW50RGF0dW0+PlxuXG4gIC8qKiBQb2ludCBib3R0b20gbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGAnJ2AgKi9cbiAgQElucHV0KCkgcG9pbnRCb3R0b21MYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPFBvaW50RGF0dW0+PlxuXG4gIC8qKiBQb2ludCBjdXJzb3IgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBwb2ludEN1cnNvcj86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPFBvaW50RGF0dW0+PlxuXG4gIC8qKiBTZXQgc2VsZWN0ZWQgcG9pbnQgYnkgaXRzIHVuaXF1ZSBpZC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgc2VsZWN0ZWRQb2ludElkPzogc3RyaW5nXG5cbiAgLyoqIENsdXN0ZXIgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICAqL1xuICBASW5wdXQoKSBjbHVzdGVyQ29sb3I/OiBDb2xvckFjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08UG9pbnREYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgcmFkaXVzIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAgKi9cbiAgQElucHV0KCkgY2x1c3RlclJhZGl1cz86IE51bWVyaWNBY2Nlc3NvcjxMZWFmbGV0TWFwQ2x1c3RlckRhdHVtPFBvaW50RGF0dW0+PlxuXG4gIC8qKiBDbHVzdGVyIGlubmVyIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLnBvaW50X2NvdW50YCAgKi9cbiAgQElucHV0KCkgY2x1c3RlckxhYmVsPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogQ2x1c3RlciBpbm5lciBsYWJlbCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS5cbiAgICogQnkgZGVmYXVsdCwgdGhlIGxhYmVsIGNvbG9yIHdpbGwgYmUgc2V0LCBkZXBlbmRpbmcgb24gdGhlIHBvaW50IGJyaWdodG5lc3MsIGVpdGhlciB0b1xuICAgKiBgLS12aXMtbWFwLWNsdXN0ZXItaW5uZXItbGFiZWwtdGV4dC1jb2xvci1saWdodGAgb3IgdG8gYC0tdmlzLW1hcC1jbHVzdGVyLWlubmVyLWxhYmVsLXRleHQtY29sb3ItZGFya2AgQ1NTIHZhcmlhYmxlLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYFxuICAqL1xuICBASW5wdXQoKSBjbHVzdGVyTGFiZWxDb2xvcj86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08UG9pbnREYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgYm90dG9tIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJCb3R0b21MYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08UG9pbnREYXR1bT4+XG5cblxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBjbHVzdGVyIHBvaW50IG91dGxpbmUuIERlZmF1bHQ6IGAxLjI1YCAqL1xuICBASW5wdXQoKSBjbHVzdGVyUmluZ1dpZHRoPzogbnVtYmVyXG5cbiAgLyoqIFdoZW4gY2x1c3RlciBpcyBleHBhbmRlZCwgc2hvdyBhIGJhY2tncm91bmQgY2lyY2xlIHRvIGJldHRlciBzZXBhcmF0ZSBwb2ludHMgZnJvbSB0aGUgYmFzZSBtYXAuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBjbHVzdGVyQmFja2dyb3VuZD86IGJvb2xlYW5cblxuICAvKiogRGVmaW5lcyB3aGV0aGVyIHRoZSBjbHVzdGVyIHNob3VsZCBleHBhbmQgb24gY2xpY2sgb3Igbm90LiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgY2x1c3RlckV4cGFuZE9uQ2xpY2s/OiBib29sZWFuXG5cbiAgLyoqIENsdXN0ZXJpbmcgZGlzdGFuY2UgaW4gcGl4ZWxzLiBUaGlzIHZhbHVlIHdpbGwgYmUgcGFzc2VkIHRvIFN1cGVyY2x1c3RlciBhcyB0aGUgYHJhZGl1c2AgcHJvcGVydHkgaHR0cHM6Ly9naXRodWIuY29tL21hcGJveC9zdXBlcmNsdXN0ZXIuIERlZmF1bHQ6IGA1NWAgKi9cbiAgQElucHV0KCkgY2x1c3RlcmluZ0Rpc3RhbmNlPzogbnVtYmVyXG5cbiAgLyoqIEEgc2luZ2xlIG1hcCBwb2ludCBjYW4gaGF2ZSBtdWx0aXBsZSBwcm9wZXJ0aWVzIGRpc3BsYXllZCBhcyBhIHNtYWxsIHBpZSBjaGFydCAob3IgYSBkb251dCBjaGFydCBmb3IgYSBjbHVzdGVyIG9mIHBvaW50cykuXG4gICAqIEJ5IHNldHRpbmcgdGhlIHZhbHVlc01hcCBjb25maWd1cmF0aW9uIHlvdSBjYW4gc3BlY2lmeSBkYXRhIHByb3BlcnRpZXMgdGhhdCBzaG91bGQgYmUgbWFwcGVkIHRvIHZhcmlvdXMgcGllIC8gZG9udXQgc2VnbWVudHMuXG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW2tleSBpbiBrZXlvZiBEYXR1bV0/OiB7IGNvbG9yOiBzdHJpbmcsIGNsYXNzTmFtZT86IHN0cmluZyB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcaGVhbHRoeTogeyBjb2xvcjogJ2dyZWVuJyB9LFxuICAgKiBcXHdhcm5pbmc6IHsgY29sb3I6ICdvcmFuZ2UnIH0sXG4gICAqIFxcZGFuZ2VyOiB7IGNvbG9yOiAncmVkJyB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIHdoZXJlIGV2ZXJ5IGRhdGEgcG9pbnQgaGFzIHRoZSBgaGVhbHRoeWAsIGB3YXJuaW5nYCBhbmQgYGRhbmdlcmAgbnVtZXJpY2FsIG9yIGJvb2xlYW4gcHJvcGVydHkuICovXG4gIEBJbnB1dCgpIHZhbHVlc01hcD86IExlYWZsZXRNYXBQb2ludFN0eWxlczxQb2ludERhdHVtPlxuXG4gIC8qKiBBIFRvcG9KU09OIEdlb21ldHJ5IGxheWVyIHRvIGJlIGRpc3BsYXllZCBvbiB0b3Agb2YgdGhlIG1hcC4gU3VwcG9ydHMgZmlsbCBhbmQgc3Ryb2tlICovXG4gIEBJbnB1dCgpIHRvcG9KU09OTGF5ZXI/OiB7XG4gICAgc291cmNlczogYW55O1xuICAgIGZlYXR1cmVOYW1lPzogc3RyaW5nO1xuICAgIGZpbGxQcm9wZXJ0eT86IHN0cmluZztcbiAgICBzdHJva2VQcm9wZXJ0eT86IHN0cmluZztcbiAgICBmaWxsT3BhY2l0eT86IG51bWJlcjtcbiAgICBzdHJva2VPcGFjaXR5PzogbnVtYmVyO1xuICAgIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuICB9XG5cbiAgLyoqIFRvb2x0aXAgY29tcG9uZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB0b29sdGlwPzogVG9vbHRpcFxuXG4gIC8qKiBBbHRlcm5hdGl2ZSB0ZXh0IGRlc2NyaXB0aW9uIG9mIHRoZSBjaGFydCBmb3IgYWNjZXNzaWJpbGl0eSBwdXJwb3Nlcy4gSXQgd2lsbCBiZSBhcHBsaWVkIGFzIGFuXG4gICAqIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gdGhlIGRpdiBlbGVtZW50IGNvbnRhaW5pbmcgeW91ciBjaGFydC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuXG4gICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcblxuICAvKiogRmxvdyBzb3VyY2UgcG9pbnQgbG9uZ2l0dWRlIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlLiBEZWZhdWx0Oi5gZiA9PiBmLnNvdXJjZUxvbmdpdHVkZWAgKi9cbiAgQElucHV0KCkgc291cmNlTG9uZ2l0dWRlPzogTnVtZXJpY0FjY2Vzc29yPEZsb3dEYXR1bT5cbiAgLyoqIEZsb3cgc291cmNlIHBvaW50IGxhdGl0dWRlIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlLiBEZWZhdWx0OiBgZiA9PiBmLnNvdXJjZUxhdGl0dWRlYCAqL1xuICBASW5wdXQoKSBzb3VyY2VMYXRpdHVkZT86IE51bWVyaWNBY2Nlc3NvcjxGbG93RGF0dW0+XG4gIC8qKiBGbG93IHRhcmdldCBwb2ludCBsb25naXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGBmID0+IGYudGFyZ2V0TG9uZ2l0dWRlYCAqL1xuICBASW5wdXQoKSB0YXJnZXRMb25naXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8Rmxvd0RhdHVtPlxuICAvKiogRmxvdyB0YXJnZXQgcG9pbnQgbGF0aXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGBmID0+IGYudGFyZ2V0TGF0aXR1ZGVgICovXG4gIEBJbnB1dCgpIHRhcmdldExhdGl0dWRlPzogTnVtZXJpY0FjY2Vzc29yPEZsb3dEYXR1bT5cbiAgLyoqIEZsb3cgc291cmNlIHBvaW50IHJhZGl1cyBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYDNgICovXG4gIEBJbnB1dCgpIHNvdXJjZVBvaW50UmFkaXVzPzogTnVtZXJpY0FjY2Vzc29yPEZsb3dEYXR1bT5cbiAgLyoqIFNvdXJjZSBwb2ludCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYCcjODg5MTlmJ2AgKi9cbiAgQElucHV0KCkgc291cmNlUG9pbnRDb2xvcj86IENvbG9yQWNjZXNzb3I8Rmxvd0RhdHVtPlxuICAvKiogRmxvdyBwYXJ0aWNsZSBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYCcjOTQ5ZGFkJ2AgKi9cbiAgQElucHV0KCkgZmxvd1BhcnRpY2xlQ29sb3I/OiBDb2xvckFjY2Vzc29yPEZsb3dEYXR1bT5cbiAgLyoqIEZsb3cgcGFydGljbGUgcmFkaXVzIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlLiBEZWZhdWx0OiBgMS4xYCAqL1xuICBASW5wdXQoKSBmbG93UGFydGljbGVSYWRpdXM/OiBOdW1lcmljQWNjZXNzb3I8Rmxvd0RhdHVtPlxuICAvKiogRmxvdyBwYXJ0aWNsZSBzcGVlZCBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZSBpbiBhbmd1bGFyIGRlZ3JlZXMuIERlZmF1bHQ6IGAwLjA3YCAqL1xuICBASW5wdXQoKSBmbG93UGFydGljbGVTcGVlZD86IE51bWVyaWNBY2Nlc3NvcjxGbG93RGF0dW0+XG4gIC8qKiBGbG93IHBhcnRpY2xlIGRlbnNpdHkgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUgb24gdGhlIHJhbmdlIG9mIFswLCAxXS4gRGVmYXVsdDogYDAuNmAgKi9cbiAgQElucHV0KCkgZmxvd1BhcnRpY2xlRGVuc2l0eT86IE51bWVyaWNBY2Nlc3NvcjxGbG93RGF0dW0+XG5cbiAgLy8gRXZlbnRzXG4gIC8qKiBGbG93IHNvdXJjZSBwb2ludCBjbGljayBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25Tb3VyY2VQb2ludENsaWNrPzogKChmOiBGbG93RGF0dW0sIHg6IG51bWJlciwgeTogbnVtYmVyLCBldmVudDogTW91c2VFdmVudCkgPT4gdW5rbm93bilcbiAgLyoqIEZsb3cgc291cmNlIHBvaW50IG1vdXNlIG92ZXIgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uU291cmNlUG9pbnRNb3VzZUVudGVyPzogKChmOiBGbG93RGF0dW0sIHg6IG51bWJlciwgeTogbnVtYmVyLCBldmVudDogTW91c2VFdmVudCkgPT4gdW5rbm93bilcbiAgLyoqIEZsb3cgc291cmNlIHBvaW50IG1vdXNlIGxlYXZlIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvblNvdXJjZVBvaW50TW91c2VMZWF2ZT86ICgoZjogRmxvd0RhdHVtLCBldmVudDogTW91c2VFdmVudCkgPT4gdW5rbm93bilcblxuICAvKiogRGF0YSAqL1xuICBASW5wdXQoKSBkYXRhPzogeyBwb2ludHM6IFBvaW50RGF0dW1bXTsgZmxvd3M6IEZsb3dEYXR1bVtdIH1cblxuICBjb21wb25lbnQ6IExlYWZsZXRGbG93TWFwPFBvaW50RGF0dW0sIEZsb3dEYXR1bT4gfCB1bmRlZmluZWRcblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuZ2V0Q29uZmlnKClcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBMZWFmbGV0Rmxvd01hcDxQb2ludERhdHVtLCBGbG93RGF0dW0+KHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQsIGNvbmZpZywgdGhpcy5kYXRhKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudD8uc2V0RGF0YSh0aGlzLmRhdGEpXG4gICAgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBMZWFmbGV0Rmxvd01hcENvbmZpZ0ludGVyZmFjZTxQb2ludERhdHVtLCBGbG93RGF0dW0+IHtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQsIGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIGZseVRvRHVyYXRpb24sIGZpdFZpZXdQYWRkaW5nLCB6b29tRHVyYXRpb24sIGluaXRpYWxCb3VuZHMsIGZpdEJvdW5kc09uVXBkYXRlLCBmaXRWaWV3T25Jbml0LCBmaXRWaWV3T25VcGRhdGUsIGFjY2Vzc1Rva2VuLCBzdHlsZSwgc3R5bGVEYXJrVGhlbWUsIGF0dHJpYnV0aW9uLCBvbk1hcEluaXRpYWxpemVkLCBvbk1hcE1vdmVab29tLCBvbk1hcE1vdmVTdGFydCwgb25NYXBNb3ZlRW5kLCBvbk1hcFpvb21TdGFydCwgb25NYXBab29tRW5kLCBvbk1hcENsaWNrLCBwb2ludExvbmdpdHVkZSwgcG9pbnRMYXRpdHVkZSwgcG9pbnRJZCwgcG9pbnRTaGFwZSwgcG9pbnRDb2xvciwgcG9pbnRSYWRpdXMsIHBvaW50TGFiZWwsIHBvaW50TGFiZWxDb2xvciwgcG9pbnRCb3R0b21MYWJlbCwgcG9pbnRDdXJzb3IsIHNlbGVjdGVkUG9pbnRJZCwgY2x1c3RlckNvbG9yLCBjbHVzdGVyUmFkaXVzLCBjbHVzdGVyTGFiZWwsIGNsdXN0ZXJMYWJlbENvbG9yLCBjbHVzdGVyQm90dG9tTGFiZWwsIGNsdXN0ZXJSaW5nV2lkdGgsIGNsdXN0ZXJCYWNrZ3JvdW5kLCBjbHVzdGVyRXhwYW5kT25DbGljaywgY2x1c3RlcmluZ0Rpc3RhbmNlLCB2YWx1ZXNNYXAsIHRvcG9KU09OTGF5ZXIsIHRvb2x0aXAsIGFyaWFMYWJlbCwgc291cmNlTG9uZ2l0dWRlLCBzb3VyY2VMYXRpdHVkZSwgdGFyZ2V0TG9uZ2l0dWRlLCB0YXJnZXRMYXRpdHVkZSwgc291cmNlUG9pbnRSYWRpdXMsIHNvdXJjZVBvaW50Q29sb3IsIGZsb3dQYXJ0aWNsZUNvbG9yLCBmbG93UGFydGljbGVSYWRpdXMsIGZsb3dQYXJ0aWNsZVNwZWVkLCBmbG93UGFydGljbGVEZW5zaXR5LCBvblNvdXJjZVBvaW50Q2xpY2ssIG9uU291cmNlUG9pbnRNb3VzZUVudGVyLCBvblNvdXJjZVBvaW50TW91c2VMZWF2ZSB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgd2lkdGgsIGhlaWdodCwgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgZmx5VG9EdXJhdGlvbiwgZml0Vmlld1BhZGRpbmcsIHpvb21EdXJhdGlvbiwgaW5pdGlhbEJvdW5kcywgZml0Qm91bmRzT25VcGRhdGUsIGZpdFZpZXdPbkluaXQsIGZpdFZpZXdPblVwZGF0ZSwgYWNjZXNzVG9rZW4sIHN0eWxlLCBzdHlsZURhcmtUaGVtZSwgYXR0cmlidXRpb24sIG9uTWFwSW5pdGlhbGl6ZWQsIG9uTWFwTW92ZVpvb20sIG9uTWFwTW92ZVN0YXJ0LCBvbk1hcE1vdmVFbmQsIG9uTWFwWm9vbVN0YXJ0LCBvbk1hcFpvb21FbmQsIG9uTWFwQ2xpY2ssIHBvaW50TG9uZ2l0dWRlLCBwb2ludExhdGl0dWRlLCBwb2ludElkLCBwb2ludFNoYXBlLCBwb2ludENvbG9yLCBwb2ludFJhZGl1cywgcG9pbnRMYWJlbCwgcG9pbnRMYWJlbENvbG9yLCBwb2ludEJvdHRvbUxhYmVsLCBwb2ludEN1cnNvciwgc2VsZWN0ZWRQb2ludElkLCBjbHVzdGVyQ29sb3IsIGNsdXN0ZXJSYWRpdXMsIGNsdXN0ZXJMYWJlbCwgY2x1c3RlckxhYmVsQ29sb3IsIGNsdXN0ZXJCb3R0b21MYWJlbCwgY2x1c3RlclJpbmdXaWR0aCwgY2x1c3RlckJhY2tncm91bmQsIGNsdXN0ZXJFeHBhbmRPbkNsaWNrLCBjbHVzdGVyaW5nRGlzdGFuY2UsIHZhbHVlc01hcCwgdG9wb0pTT05MYXllciwgdG9vbHRpcCwgYXJpYUxhYmVsLCBzb3VyY2VMb25naXR1ZGUsIHNvdXJjZUxhdGl0dWRlLCB0YXJnZXRMb25naXR1ZGUsIHRhcmdldExhdGl0dWRlLCBzb3VyY2VQb2ludFJhZGl1cywgc291cmNlUG9pbnRDb2xvciwgZmxvd1BhcnRpY2xlQ29sb3IsIGZsb3dQYXJ0aWNsZVJhZGl1cywgZmxvd1BhcnRpY2xlU3BlZWQsIGZsb3dQYXJ0aWNsZURlbnNpdHksIG9uU291cmNlUG9pbnRDbGljaywgb25Tb3VyY2VQb2ludE1vdXNlRW50ZXIsIG9uU291cmNlUG9pbnRNb3VzZUxlYXZlIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgTGVhZmxldEZsb3dNYXBDb25maWdJbnRlcmZhY2U8UG9pbnREYXR1bSwgRmxvd0RhdHVtPilbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1mbG93LW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaHRtbC1jb21wb25lbnRzL2xlYWZsZXQtZmxvdy1tYXAvbGVhZmxldC1mbG93LW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEVBQTBFO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQWlCLEtBQUssRUFBaUIsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFBO0FBQ3JHLE9BQU8sRUFDTCxjQUFjLEdBa0JmLE1BQU0sWUFBWSxDQUFBO0FBQ25CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFTN0MsTUFBTSxPQUFPLDBCQUEwQjtJQXdRckMsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxjQUFjLENBQXdCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFeEgsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjs7UUFDakMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQUUsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQUU7UUFDeEQsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVB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QUFjO3NCQUF0QixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBTUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBbUJHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBR0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgTGVhZmxldEZsb3dNYXAsXG4gIExlYWZsZXRGbG93TWFwQ29uZmlnSW50ZXJmYWNlLFxuICBHZW5lcmljRGF0YVJlY29yZCxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBCb3VuZHMsXG4gIE1hcExpYnJlU3R5bGVTcGVjcyxcbiAgTGVhZmxldE1hcFJlbmRlcmVyLFxuICBNYXBab29tU3RhdGUsXG4gIE51bWVyaWNBY2Nlc3NvcixcbiAgU3RyaW5nQWNjZXNzb3IsXG4gIEdlbmVyaWNBY2Nlc3NvcixcbiAgTGVhZmxldE1hcFBvaW50U2hhcGUsXG4gIENvbG9yQWNjZXNzb3IsXG4gIExlYWZsZXRNYXBQb2ludERhdHVtLFxuICBMZWFmbGV0TWFwQ2x1c3RlckRhdHVtLFxuICBMZWFmbGV0TWFwUG9pbnRTdHlsZXMsXG4gIFRvb2x0aXAsXG59IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNDb3JlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLWxlYWZsZXQtZmxvdy1tYXAnLFxuICB0ZW1wbGF0ZTogJzxkaXYgI2NvbnRhaW5lciBjbGFzcz1cImxlYWZsZXQtZmxvdy1tYXAtY29udGFpbmVyXCI+PC9kaXY+JyxcbiAgc3R5bGVzOiBbJy5sZWFmbGV0LWZsb3ctbWFwLWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZSB9J10sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZpc0NvcmVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBWaXNMZWFmbGV0Rmxvd01hcENvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzTGVhZmxldEZsb3dNYXBDb21wb25lbnQ8UG9pbnREYXR1bSBleHRlbmRzIEdlbmVyaWNEYXRhUmVjb3JkLCBGbG93RGF0dW0gZXh0ZW5kcyBHZW5lcmljRGF0YVJlY29yZD4gaW1wbGVtZW50cyBMZWFmbGV0Rmxvd01hcENvbmZpZ0ludGVyZmFjZTxQb2ludERhdHVtLCBGbG93RGF0dW0+LCBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRhaW5lclJlZjogRWxlbWVudFJlZlxuXG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gb2YgdGhlIGRhdGEgdXBkYXRlIHRyYW5zaXRpb25zIGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdDogYDYwMGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogRXZlbnRzIGNvbmZpZ3VyYXRpb24uIEFuIG9iamVjdCBjb250YWluaW5nIHByb3BlcnRpZXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbZXZlbnRUeXBlXTogY2FsbGJhY2tGdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBjbGljazogKGQpID0+IGNvbnNvbGUubG9nKFwiQ2xpY2tlZCBBcmVhXCIsIGQpXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGV2ZW50cz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFtldmVudFR5cGUgaW4gVmlzRXZlbnRUeXBlXT86IFZpc0V2ZW50Q2FsbGJhY2tcbiAgICB9O1xuICB9XG5cbiAgLyoqIFlvdSBjYW4gc2V0IGV2ZXJ5IFNWRyBhbmQgSFRNTCB2aXN1YWxpemF0aW9uIG9iamVjdCB0byBoYXZlIGEgY3VzdG9tIERPTSBhdHRyaWJ1dGVzLCB3aGljaCBpcyB1c2VmdWxcbiAgICogd2hlbiB5b3Ugd2FudCB0byBkbyB1bml0IG9yIGVuZC10by1lbmQgdGVzdGluZy4gQXR0cmlidXRlcyBjb25maWd1cmF0aW9uIG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbYXR0cmlidXRlTmFtZV06IGF0dHJpYnV0ZSBjb25zdGFudCB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBcInRlc3QtdmFsdWVcIjogZCA9PiBkLnZhbHVlXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbYXR0cjogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8ICgoZGF0dW06IGFueSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbik7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBXaWR0aCBpbiBwaXhlbHMgb3IgaW4gQ1NTIHVuaXRzLiBCeSBkZWZhdWx0LCB0aGUgbWFwIHdpbGwgYXV0b21hdGljYWxseSBmaXQgdG8gdGhlIHNpemUgb2YgdGhlIHBhcmVudCBlbGVtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gKi9cbiAgQElucHV0KCkgd2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcblxuICAvKiogSGVpZ2h0IGluIHBpeGVscyBvciBpbiBDU1MgdW5pdHMuIEJ5IGRlZmF1bHQsIHRoZSBtYXAgd2lsbCBhdXRvbWF0aWNhbGx5IGZpdCB0byB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGVsZW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSBoZWlnaHQ/OiBudW1iZXIgfCBzdHJpbmdcblxuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIHdoZW4gdGhlIG1hcCBpcyBhdXRvbWF0aWNhbGx5IHBhbm5pbmcgb3Igem9vbWluZyB0byBhIHBvaW50IG9yIGFyZWEuIERlZmF1bHQ6IGAxNTAwYCBtcyAqL1xuICBASW5wdXQoKSBmbHlUb0R1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIFBhZGRpbmcgdG8gYmUgdXNlZCB3aGVuIHRoZSBgZml0Vmlld2AgZnVuY3Rpb24gaGFzIGJlZW4gY2FsbGVkLiBUaGUgdmFsdWUgaXMgaW4gcGl4ZWxzLCBbdG9wTGVmdCwgYm90dG9tUmlnaHRdLiBEZWZhdWx0OiBgWzE1MCwgMTUwXWAgKi9cbiAgQElucHV0KCkgZml0Vmlld1BhZGRpbmc/OiBbbnVtYmVyLCBudW1iZXJdXG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBmb3IgdGhlIGBzZXRab29tYCBmdW5jdGlvbi4gRGVmYXVsdDogYDgwMGAgbXMgKi9cbiAgQElucHV0KCkgem9vbUR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIERlZmF1bHQgYm91bmRzIHRoYXQgd2lsbCBiZSBhcHBsaWVkIG9uIHRoZSBmaXJzdCBtYXAgcmVuZGVyIGlmIHRoZSBib3VuZHMgcHJvcGVydHkgaXMgbm90IHNldC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgaW5pdGlhbEJvdW5kcz86IEJvdW5kc1xuXG4gIC8qKiBGb3JjZSBzZXQgbWFwIGJvdW5kcyBvbiBjb25maWcgYW5kIGRhdGEgdXBkYXRlcy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgZml0Qm91bmRzT25VcGRhdGU/OiBCb3VuZHNcblxuICAvKiogRml0IHRoZSB2aWV3IHRvIGNvbnRhaW4gdGhlIGRhdGEgcG9pbnRzIG9uIG1hcCBpbml0aWFsaXphdGlvbi4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGZpdFZpZXdPbkluaXQ/OiBib29sZWFuXG5cbiAgLyoqIEZpdCB0aGUgdmlldyB0byBjb250YWluIHRoZSBkYXRhIHBvaW50cyBvbiBtYXAgY29uZmlnIGFuZCBkYXRhIHVwZGF0ZXMuIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgZml0Vmlld09uVXBkYXRlPzogYm9vbGVhblxuXG4gIC8qKiBNYXBMaWJyZSBgU3R5bGVTcGVjaWZpY2F0aW9uYCBzZXR0aW5ncywgb3IgYSBVUkwgdG8gaXQuIFdoZW4gcmVuZGVyZXIgaXMgc2V0IHRvYExlYWZsZXRNYXBSZW5kZXJlci5SYXN0ZXJgLCBwcm92aWRlIGEgdGVtcGxhdGUgVVJMLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBzdHlsZTogTWFwTGlicmVTdHlsZVNwZWNzIHwgc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgLyoqIE1hcExpYnJlIGBTdHlsZVNwZWNpZmljYXRpb25gIHNldHRpbmdzIG9yIFVSTCBmb3IgZGFyayB0aGVtZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgc3R5bGVEYXJrVGhlbWU/OiBNYXBMaWJyZVN0eWxlU3BlY3MgfCBzdHJpbmcgfCB1bmRlZmluZWRcblxuICAvKiogVGlsZSBzZXJ2ZXIgYWNjZXNzIHRva2VuIG9yIEFQSSBrZXkuIERlZmF1bHQ6IGAnJ2AgKi9cbiAgQElucHV0KCkgYWNjZXNzVG9rZW4/OiBzdHJpbmdcblxuICAvKiogQXJyYXkgb2YgYXR0cmlidXRpb24gbGFiZWxzLiBEZWZhdWx0OiBgWyc8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCIgdGFyZ2V0PVwiX2JsYW5rXCI+T3BlblN0cmVldE1hcCBjb250cmlidXRvcnM8L2E+J11gICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0aW9uPzogc3RyaW5nW11cblxuICAvKiogUmVuZGVyaW5nIG1vZGUgZm9yIG1hcCdzIHRpbGUgbGF5ZXIuIEZvciByYXN0ZXIgZmlsZXMsIHVzZSBgTGVhZmxldE1hcFJlbmRlcmVyLlJhc3RlcmAuIERlZmF1bHQ6IGBMZWFmbGV0TWFwUmVuZGVyZXIuTWFwTGlicmVgICovXG4gIEBJbnB1dCgpIHJlbmRlcmVyPzogTGVhZmxldE1hcFJlbmRlcmVyIHwgc3RyaW5nXG5cbiAgLyoqIEZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgbWFwJ3MgYXN5bmMgaW5pdGlhbGl6YXRpb24gaXMgZG9uZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBJbml0aWFsaXplZD86ICgoKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgTW92ZSAvIFpvb20gdW5pZmllZCBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBNb3ZlWm9vbT86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgU3RhcnQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwTW92ZVN0YXJ0PzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgTW92ZSBFbmQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwTW92ZUVuZD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIFpvb20gU3RhcnQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwWm9vbVN0YXJ0PzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgWm9vbSBFbmQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwWm9vbUVuZD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIFpvb20gQ2xpY2sgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwQ2xpY2s/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIFBvaW50IGxvbmdpdHVkZSBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5sb25naXR1ZGVgICovXG4gIEBJbnB1dCgpIHBvaW50TG9uZ2l0dWRlPzogTnVtZXJpY0FjY2Vzc29yPFBvaW50RGF0dW0+XG5cbiAgLyoqIFBvaW50IGxhdGl0dWRlIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLmxhdGl0dWRlYCAqL1xuICBASW5wdXQoKSBwb2ludExhdGl0dWRlPzogTnVtZXJpY0FjY2Vzc29yPFBvaW50RGF0dW0+XG5cbiAgLyoqIFBvaW50IGlkIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgZCA9PiBkLmlkYCAqL1xuICBASW5wdXQoKSBwb2ludElkPzogU3RyaW5nQWNjZXNzb3I8UG9pbnREYXR1bT5cblxuICAvKiogUG9pbnQgc2hhcGUgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGBkID0+IGQuc2hhcGVgICovXG4gIEBJbnB1dCgpIHBvaW50U2hhcGU/OiBHZW5lcmljQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50U2hhcGUgfCBzdHJpbmcsIFBvaW50RGF0dW0+XG5cbiAgLyoqIFBvaW50IGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgZCA9PiBkLmNvbG9yYCAqL1xuICBASW5wdXQoKSBwb2ludENvbG9yPzogQ29sb3JBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogUG9pbnQgcmFkaXVzIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBwb2ludFJhZGl1cz86IE51bWVyaWNBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogUG9pbnQgaW5uZXIgbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHBvaW50TGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogUG9pbnQgaW5uZXIgbGFiZWwgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBsYWJlbCBjb2xvciB3aWxsIGJlIHNldCwgZGVwZW5kaW5nIG9uIHRoZSBwb2ludCBicmlnaHRuZXNzLCBlaXRoZXIgdG9cbiAgICogYC0tdmlzLW1hcC1wb2ludC1pbm5lci1sYWJlbC10ZXh0LWNvbG9yLWxpZ2h0YCBvciB0byBgLS12aXMtbWFwLXBvaW50LWlubmVyLWxhYmVsLXRleHQtY29sb3ItZGFya2AgQ1NTIHZhcmlhYmxlLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBwb2ludExhYmVsQ29sb3I/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogUG9pbnQgYm90dG9tIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIHBvaW50Qm90dG9tTGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogUG9pbnQgY3Vyc29yIHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgcG9pbnRDdXJzb3I/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSByaW5nIHdoZW4gYSBwb2ludCBoYXMgYSBgTGVhZmxldE1hcFBvaW50U2hhcGUuUmluZ2Agc2hhcGUuIERlZmF1bHQ6IGAxLjI1YCAqL1xuICBASW5wdXQoKSBwb2ludFJpbmdXaWR0aD86IG51bWJlclxuXG4gIC8qKiBTZXQgc2VsZWN0ZWQgcG9pbnQgYnkgaXRzIHVuaXF1ZSBpZC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgc2VsZWN0ZWRQb2ludElkPzogc3RyaW5nXG5cbiAgLyoqIENsdXN0ZXIgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJDb2xvcj86IENvbG9yQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogQ2x1c3RlciByYWRpdXMgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJSYWRpdXM/OiBOdW1lcmljQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogQ2x1c3RlciBpbm5lciBsYWJlbCBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5wb2ludF9jb3VudGAgKi9cbiAgQElucHV0KCkgY2x1c3RlckxhYmVsPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogQ2x1c3RlciBpbm5lciBsYWJlbCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS5cbiAgICogQnkgZGVmYXVsdCwgdGhlIGxhYmVsIGNvbG9yIHdpbGwgYmUgc2V0LCBkZXBlbmRpbmcgb24gdGhlIHBvaW50IGJyaWdodG5lc3MsIGVpdGhlciB0b1xuICAgKiBgLS12aXMtbWFwLWNsdXN0ZXItaW5uZXItbGFiZWwtdGV4dC1jb2xvci1saWdodGAgb3IgdG8gYC0tdmlzLW1hcC1jbHVzdGVyLWlubmVyLWxhYmVsLXRleHQtY29sb3ItZGFya2AgQ1NTIHZhcmlhYmxlLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBjbHVzdGVyTGFiZWxDb2xvcj86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08UG9pbnREYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgYm90dG9tIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJCb3R0b21MYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08UG9pbnREYXR1bT4+XG5cbiAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgY2x1c3RlciBwb2ludCByaW5nLiBEZWZhdWx0OiBgMS4yNWAgKi9cbiAgQElucHV0KCkgY2x1c3RlclJpbmdXaWR0aD86IG51bWJlclxuXG4gIC8qKiBXaGVuIGNsdXN0ZXIgaXMgZXhwYW5kZWQsIHNob3cgYSBiYWNrZ3JvdW5kIGNpcmNsZSB0byBiZXR0ZXIgc2VwYXJhdGUgcG9pbnRzIGZyb20gdGhlIGJhc2UgbWFwLiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgY2x1c3RlckJhY2tncm91bmQ/OiBib29sZWFuXG5cbiAgLyoqIERlZmluZXMgd2hldGhlciB0aGUgY2x1c3RlciBzaG91bGQgZXhwYW5kIG9uIGNsaWNrIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJFeHBhbmRPbkNsaWNrPzogYm9vbGVhblxuXG4gIC8qKiBDbHVzdGVyaW5nIGRpc3RhbmNlIGluIHBpeGVscy4gVGhpcyB2YWx1ZSB3aWxsIGJlIHBhc3NlZCB0byBTdXBlcmNsdXN0ZXIgYXMgdGhlIGByYWRpdXNgIHByb3BlcnR5IGh0dHBzOi8vZ2l0aHViLmNvbS9tYXBib3gvc3VwZXJjbHVzdGVyLiBEZWZhdWx0OiBgNTVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJpbmdEaXN0YW5jZT86IG51bWJlclxuXG4gIC8qKiBBIHNpbmdsZSBtYXAgcG9pbnQgY2FuIGhhdmUgbXVsdGlwbGUgcHJvcGVydGllcyBkaXNwbGF5ZWQgYXMgYSBzbWFsbCBwaWUgY2hhcnQgKG9yIGEgZG9udXQgY2hhcnQgZm9yIGEgY2x1c3RlciBvZiBwb2ludHMpLlxuICAgKiBCeSBzZXR0aW5nIHRoZSBjb2xvck1hcCBjb25maWd1cmF0aW9uIHlvdSBjYW4gc3BlY2lmeSBkYXRhIHByb3BlcnRpZXMgdGhhdCBzaG91bGQgYmUgbWFwcGVkIHRvIHZhcmlvdXMgcGllIC8gZG9udXQgc2VnbWVudHMuXG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW2tleSBpbiBrZXlvZiBEYXR1bV0/OiB7IGNvbG9yOiBzdHJpbmcsIGNsYXNzTmFtZT86IHN0cmluZyB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcaGVhbHRoeTogeyBjb2xvcjogJ2dyZWVuJyB9LFxuICAgKiBcXHdhcm5pbmc6IHsgY29sb3I6ICdvcmFuZ2UnIH0sXG4gICAqIFxcZGFuZ2VyOiB7IGNvbG9yOiAncmVkJyB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIHdoZXJlIGV2ZXJ5IGRhdGEgcG9pbnQgaGFzIHRoZSBgaGVhbHRoeWAsIGB3YXJuaW5nYCBhbmQgYGRhbmdlcmAgbnVtZXJpY2FsIG9yIGJvb2xlYW4gcHJvcGVydHkuICovXG4gIEBJbnB1dCgpIGNvbG9yTWFwPzogTGVhZmxldE1hcFBvaW50U3R5bGVzPFBvaW50RGF0dW0+XG5cbiAgLyoqIEEgVG9wb0pTT04gR2VvbWV0cnkgbGF5ZXIgdG8gYmUgZGlzcGxheWVkIG9uIHRvcCBvZiB0aGUgbWFwLiBTdXBwb3J0cyBmaWxsIGFuZCBzdHJva2UgKi9cbiAgQElucHV0KCkgdG9wb0pTT05MYXllcj86IHtcbiAgICBzb3VyY2VzOiBhbnk7XG4gICAgZmVhdHVyZU5hbWU/OiBzdHJpbmc7XG4gICAgZmlsbFByb3BlcnR5Pzogc3RyaW5nO1xuICAgIHN0cm9rZVByb3BlcnR5Pzogc3RyaW5nO1xuICAgIGZpbGxPcGFjaXR5PzogbnVtYmVyO1xuICAgIHN0cm9rZU9wYWNpdHk/OiBudW1iZXI7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gIH1cblxuICAvKiogVG9vbHRpcCBjb21wb25lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRvb2x0aXA/OiBUb29sdGlwXG5cbiAgLyoqIEFsdGVybmF0aXZlIHRleHQgZGVzY3JpcHRpb24gb2YgdGhlIGNoYXJ0IGZvciBhY2Nlc3NpYmlsaXR5IHB1cnBvc2VzLiBJdCB3aWxsIGJlIGFwcGxpZWQgYXMgYW5cbiAgICogYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSB0byB0aGUgZGl2IGVsZW1lbnQgY29udGFpbmluZyB5b3VyIGNoYXJ0LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIC8qKiBGbG93IHNvdXJjZSBwb2ludCBsb25naXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6LmBmID0+IGYuc291cmNlTG9uZ2l0dWRlYCAqL1xuICBASW5wdXQoKSBzb3VyY2VMb25naXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8Rmxvd0RhdHVtPlxuXG4gIC8qKiBGbG93IHNvdXJjZSBwb2ludCBsYXRpdHVkZSBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYGYgPT4gZi5zb3VyY2VMYXRpdHVkZWAgKi9cbiAgQElucHV0KCkgc291cmNlTGF0aXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8Rmxvd0RhdHVtPlxuXG4gIC8qKiBGbG93IHRhcmdldCBwb2ludCBsb25naXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGBmID0+IGYudGFyZ2V0TG9uZ2l0dWRlYCAqL1xuICBASW5wdXQoKSB0YXJnZXRMb25naXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8Rmxvd0RhdHVtPlxuXG4gIC8qKiBGbG93IHRhcmdldCBwb2ludCBsYXRpdHVkZSBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYGYgPT4gZi50YXJnZXRMYXRpdHVkZWAgKi9cbiAgQElucHV0KCkgdGFyZ2V0TGF0aXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8Rmxvd0RhdHVtPlxuXG4gIC8qKiBGbG93IHNvdXJjZSBwb2ludCByYWRpdXMgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGAzYCAqL1xuICBASW5wdXQoKSBzb3VyY2VQb2ludFJhZGl1cz86IE51bWVyaWNBY2Nlc3NvcjxGbG93RGF0dW0+XG5cbiAgLyoqIFNvdXJjZSBwb2ludCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYCcjODg5MTlmJ2AgKi9cbiAgQElucHV0KCkgc291cmNlUG9pbnRDb2xvcj86IENvbG9yQWNjZXNzb3I8Rmxvd0RhdHVtPlxuXG4gIC8qKiBGbG93IHBhcnRpY2xlIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlLiBEZWZhdWx0OiBgJyM5NDlkYWQnYCAqL1xuICBASW5wdXQoKSBmbG93UGFydGljbGVDb2xvcj86IENvbG9yQWNjZXNzb3I8Rmxvd0RhdHVtPlxuXG4gIC8qKiBGbG93IHBhcnRpY2xlIHJhZGl1cyBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYDEuMWAgKi9cbiAgQElucHV0KCkgZmxvd1BhcnRpY2xlUmFkaXVzPzogTnVtZXJpY0FjY2Vzc29yPEZsb3dEYXR1bT5cblxuICAvKiogRmxvdyBwYXJ0aWNsZSBzcGVlZCBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gVGhlIHVuaXQgaXMgYXJiaXRyYXJ5LCByZWNvbW1lbmRlZCByYW5nZSBpcyAwIOKAkyAwLjIuIERlZmF1bHQ6IGAwLjA3YCAqL1xuICBASW5wdXQoKSBmbG93UGFydGljbGVTcGVlZD86IE51bWVyaWNBY2Nlc3NvcjxGbG93RGF0dW0+XG5cbiAgLyoqIEZsb3cgcGFydGljbGUgZGVuc2l0eSBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZSBvbiB0aGUgcmFuZ2Ugb2YgWzAsIDFdLiBEZWZhdWx0OiBgMC42YCAqL1xuICBASW5wdXQoKSBmbG93UGFydGljbGVEZW5zaXR5PzogTnVtZXJpY0FjY2Vzc29yPEZsb3dEYXR1bT5cblxuICAvKiogRmxvdyBzb3VyY2UgcG9pbnQgY2xpY2sgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uU291cmNlUG9pbnRDbGljaz86IChmOiBGbG93RGF0dW0sIHg6IG51bWJlciwgeTogbnVtYmVyLCBldmVudDogTW91c2VFdmVudCkgPT4gdm9pZFxuXG4gIC8qKiBGbG93IHNvdXJjZSBwb2ludCBtb3VzZSBvdmVyIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvblNvdXJjZVBvaW50TW91c2VFbnRlcj86IChmOiBGbG93RGF0dW0sIHg6IG51bWJlciwgeTogbnVtYmVyLCBldmVudDogTW91c2VFdmVudCkgPT4gdm9pZFxuXG4gIC8qKiBGbG93IHNvdXJjZSBwb2ludCBtb3VzZSBsZWF2ZSBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25Tb3VyY2VQb2ludE1vdXNlTGVhdmU/OiAoZjogRmxvd0RhdHVtLCBldmVudDogTW91c2VFdmVudCkgPT4gdm9pZFxuICBASW5wdXQoKSBkYXRhOiB7IHBvaW50czogUG9pbnREYXR1bVtdOyBmbG93cz86IEZsb3dEYXR1bVtdIH1cblxuICBjb21wb25lbnQ6IExlYWZsZXRGbG93TWFwPFBvaW50RGF0dW0sIEZsb3dEYXR1bT4gfCB1bmRlZmluZWRcblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50ID0gbmV3IExlYWZsZXRGbG93TWFwPFBvaW50RGF0dW0sIEZsb3dEYXR1bT4odGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5nZXRDb25maWcoKSwgdGhpcy5kYXRhKVxuXG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5jb21wb25lbnQuc2V0RGF0YSh0aGlzLmRhdGEpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7IHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSkgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBMZWFmbGV0Rmxvd01hcENvbmZpZ0ludGVyZmFjZTxQb2ludERhdHVtLCBGbG93RGF0dW0+IHtcbiAgICBjb25zdCB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHdpZHRoLCBoZWlnaHQsIGZseVRvRHVyYXRpb24sIGZpdFZpZXdQYWRkaW5nLCB6b29tRHVyYXRpb24sIGluaXRpYWxCb3VuZHMsIGZpdEJvdW5kc09uVXBkYXRlLCBmaXRWaWV3T25Jbml0LCBmaXRWaWV3T25VcGRhdGUsIHN0eWxlLCBzdHlsZURhcmtUaGVtZSwgYWNjZXNzVG9rZW4sIGF0dHJpYnV0aW9uLCByZW5kZXJlciwgb25NYXBJbml0aWFsaXplZCwgb25NYXBNb3ZlWm9vbSwgb25NYXBNb3ZlU3RhcnQsIG9uTWFwTW92ZUVuZCwgb25NYXBab29tU3RhcnQsIG9uTWFwWm9vbUVuZCwgb25NYXBDbGljaywgcG9pbnRMb25naXR1ZGUsIHBvaW50TGF0aXR1ZGUsIHBvaW50SWQsIHBvaW50U2hhcGUsIHBvaW50Q29sb3IsIHBvaW50UmFkaXVzLCBwb2ludExhYmVsLCBwb2ludExhYmVsQ29sb3IsIHBvaW50Qm90dG9tTGFiZWwsIHBvaW50Q3Vyc29yLCBwb2ludFJpbmdXaWR0aCwgc2VsZWN0ZWRQb2ludElkLCBjbHVzdGVyQ29sb3IsIGNsdXN0ZXJSYWRpdXMsIGNsdXN0ZXJMYWJlbCwgY2x1c3RlckxhYmVsQ29sb3IsIGNsdXN0ZXJCb3R0b21MYWJlbCwgY2x1c3RlclJpbmdXaWR0aCwgY2x1c3RlckJhY2tncm91bmQsIGNsdXN0ZXJFeHBhbmRPbkNsaWNrLCBjbHVzdGVyaW5nRGlzdGFuY2UsIGNvbG9yTWFwLCB0b3BvSlNPTkxheWVyLCB0b29sdGlwLCBhcmlhTGFiZWwsIHNvdXJjZUxvbmdpdHVkZSwgc291cmNlTGF0aXR1ZGUsIHRhcmdldExvbmdpdHVkZSwgdGFyZ2V0TGF0aXR1ZGUsIHNvdXJjZVBvaW50UmFkaXVzLCBzb3VyY2VQb2ludENvbG9yLCBmbG93UGFydGljbGVDb2xvciwgZmxvd1BhcnRpY2xlUmFkaXVzLCBmbG93UGFydGljbGVTcGVlZCwgZmxvd1BhcnRpY2xlRGVuc2l0eSwgb25Tb3VyY2VQb2ludENsaWNrLCBvblNvdXJjZVBvaW50TW91c2VFbnRlciwgb25Tb3VyY2VQb2ludE1vdXNlTGVhdmUgfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHdpZHRoLCBoZWlnaHQsIGZseVRvRHVyYXRpb24sIGZpdFZpZXdQYWRkaW5nLCB6b29tRHVyYXRpb24sIGluaXRpYWxCb3VuZHMsIGZpdEJvdW5kc09uVXBkYXRlLCBmaXRWaWV3T25Jbml0LCBmaXRWaWV3T25VcGRhdGUsIHN0eWxlLCBzdHlsZURhcmtUaGVtZSwgYWNjZXNzVG9rZW4sIGF0dHJpYnV0aW9uLCByZW5kZXJlciwgb25NYXBJbml0aWFsaXplZCwgb25NYXBNb3ZlWm9vbSwgb25NYXBNb3ZlU3RhcnQsIG9uTWFwTW92ZUVuZCwgb25NYXBab29tU3RhcnQsIG9uTWFwWm9vbUVuZCwgb25NYXBDbGljaywgcG9pbnRMb25naXR1ZGUsIHBvaW50TGF0aXR1ZGUsIHBvaW50SWQsIHBvaW50U2hhcGUsIHBvaW50Q29sb3IsIHBvaW50UmFkaXVzLCBwb2ludExhYmVsLCBwb2ludExhYmVsQ29sb3IsIHBvaW50Qm90dG9tTGFiZWwsIHBvaW50Q3Vyc29yLCBwb2ludFJpbmdXaWR0aCwgc2VsZWN0ZWRQb2ludElkLCBjbHVzdGVyQ29sb3IsIGNsdXN0ZXJSYWRpdXMsIGNsdXN0ZXJMYWJlbCwgY2x1c3RlckxhYmVsQ29sb3IsIGNsdXN0ZXJCb3R0b21MYWJlbCwgY2x1c3RlclJpbmdXaWR0aCwgY2x1c3RlckJhY2tncm91bmQsIGNsdXN0ZXJFeHBhbmRPbkNsaWNrLCBjbHVzdGVyaW5nRGlzdGFuY2UsIGNvbG9yTWFwLCB0b3BvSlNPTkxheWVyLCB0b29sdGlwLCBhcmlhTGFiZWwsIHNvdXJjZUxvbmdpdHVkZSwgc291cmNlTGF0aXR1ZGUsIHRhcmdldExvbmdpdHVkZSwgdGFyZ2V0TGF0aXR1ZGUsIHNvdXJjZVBvaW50UmFkaXVzLCBzb3VyY2VQb2ludENvbG9yLCBmbG93UGFydGljbGVDb2xvciwgZmxvd1BhcnRpY2xlUmFkaXVzLCBmbG93UGFydGljbGVTcGVlZCwgZmxvd1BhcnRpY2xlRGVuc2l0eSwgb25Tb3VyY2VQb2ludENsaWNrLCBvblNvdXJjZVBvaW50TW91c2VFbnRlciwgb25Tb3VyY2VQb2ludE1vdXNlTGVhdmUgfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBMZWFmbGV0Rmxvd01hcENvbmZpZ0ludGVyZmFjZTxQb2ludERhdHVtLCBGbG93RGF0dW0+KVtdXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiB7IGlmIChjb25maWdba2V5XSA9PT0gdW5kZWZpbmVkKSBkZWxldGUgY29uZmlnW2tleV0gfSlcblxuICAgIHJldHVybiBjb25maWdcbiAgfVxufVxuIl19
@@ -1,3 +1,4 @@
1
+ // !!! This code was automatically generated. You should not change it !!!
1
2
  import { NgModule } from '@angular/core';
2
3
  import { VisLeafletFlowMapComponent } from './leaflet-flow-map.component';
3
4
  import * as i0 from "@angular/core";
@@ -14,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
14
15
  exports: [VisLeafletFlowMapComponent],
15
16
  }]
16
17
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1mbG93LW1hcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaHRtbC1jb21wb25lbnRzL2xlYWZsZXQtZmxvdy1tYXAvbGVhZmxldC1mbG93LW1hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTs7QUFPekUsTUFBTSxPQUFPLHVCQUF1Qjs7cUhBQXZCLHVCQUF1QjtzSEFBdkIsdUJBQXVCLGlCQUhuQiwwQkFBMEIsYUFDL0IsMEJBQTBCO3NIQUV6Qix1QkFBdUIsWUFKekIsRUFBRTs0RkFJQSx1QkFBdUI7a0JBTG5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQzFDLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFZpc0xlYWZsZXRGbG93TWFwQ29tcG9uZW50IH0gZnJvbSAnLi9sZWFmbGV0LWZsb3ctbWFwLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW1Zpc0xlYWZsZXRGbG93TWFwQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1Zpc0xlYWZsZXRGbG93TWFwQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzTGVhZmxldEZsb3dNYXBNb2R1bGUge31cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1mbG93LW1hcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaHRtbC1jb21wb25lbnRzL2xlYWZsZXQtZmxvdy1tYXAvbGVhZmxldC1mbG93LW1hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEVBQTBFO0FBQzFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUE7O0FBT3pFLE1BQU0sT0FBTyx1QkFBdUI7O3FIQUF2Qix1QkFBdUI7c0hBQXZCLHVCQUF1QixpQkFIbkIsMEJBQTBCLGFBQy9CLDBCQUEwQjtzSEFFekIsdUJBQXVCLFlBSnpCLEVBQUU7NEZBSUEsdUJBQXVCO2tCQUxuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxDQUFDLDBCQUEwQixDQUFDO29CQUMxQyxPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAhISEgVGhpcyBjb2RlIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZC4gWW91IHNob3VsZCBub3QgY2hhbmdlIGl0ICEhIVxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVmlzTGVhZmxldEZsb3dNYXBDb21wb25lbnQgfSBmcm9tICcuL2xlYWZsZXQtZmxvdy1tYXAuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbVmlzTGVhZmxldEZsb3dNYXBDb21wb25lbnRdLFxuICBleHBvcnRzOiBbVmlzTGVhZmxldEZsb3dNYXBDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNMZWFmbGV0Rmxvd01hcE1vZHVsZSB7fVxuIl19
@@ -1,11 +1,14 @@
1
+ // !!! This code was automatically generated. You should not change it !!!
1
2
  import { Component, Input, ViewChild } from '@angular/core';
2
3
  import { LeafletMap, } from '@unovis/ts';
3
4
  import { VisCoreComponent } from '../../core';
4
5
  import * as i0 from "@angular/core";
5
6
  export class VisLeafletMapComponent {
6
7
  ngAfterViewInit() {
7
- const config = this.getConfig();
8
- this.component = new LeafletMap(this.containerRef.nativeElement, config, this.data);
8
+ this.component = new LeafletMap(this.containerRef.nativeElement, this.getConfig(), this.data);
9
+ if (this.data) {
10
+ this.component.setData(this.data);
11
+ }
9
12
  }
10
13
  ngOnChanges(changes) {
11
14
  var _a, _b;
@@ -15,8 +18,8 @@ export class VisLeafletMapComponent {
15
18
  (_b = this.component) === null || _b === void 0 ? void 0 : _b.setConfig(this.getConfig());
16
19
  }
17
20
  getConfig() {
18
- const { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel } = this;
19
- const config = { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel };
21
+ const { duration, events, attributes, width, height, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, style, styleDarkTheme, accessToken, attribution, renderer, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, pointRingWidth, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel } = this;
22
+ const config = { duration, events, attributes, width, height, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, style, styleDarkTheme, accessToken, attribution, renderer, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, pointRingWidth, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel };
20
23
  const keys = Object.keys(config);
21
24
  keys.forEach(key => { if (config[key] === undefined)
22
25
  delete config[key]; });
@@ -24,29 +27,29 @@ export class VisLeafletMapComponent {
24
27
  }
25
28
  }
26
29
  VisLeafletMapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- VisLeafletMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletMapComponent, selector: "vis-leaflet-map", inputs: { width: "width", height: "height", duration: "duration", events: "events", attributes: "attributes", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", renderer: "renderer", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", colorMap: "colorMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", ariaLabel: "ariaLabel", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="unovis-leaflet-map-container"></div>', isInline: true, styles: [".unovis-leaflet-map-container { width: 100%; height: 100%; position: relative; }"] });
30
+ VisLeafletMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletMapComponent, selector: "vis-leaflet-map", inputs: { duration: "duration", events: "events", attributes: "attributes", width: "width", height: "height", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", renderer: "renderer", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", pointRingWidth: "pointRingWidth", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", colorMap: "colorMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", ariaLabel: "ariaLabel", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="leaflet-map-container"></div>', isInline: true, styles: [".leaflet-map-container { width: 100%; height: 100%; position: relative }"] });
28
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletMapComponent, decorators: [{
29
32
  type: Component,
30
33
  args: [{
31
34
  selector: 'vis-leaflet-map',
32
- template: '<div #container class="unovis-leaflet-map-container"></div>',
33
- styles: ['.unovis-leaflet-map-container { width: 100%; height: 100%; position: relative; }'],
35
+ template: '<div #container class="leaflet-map-container"></div>',
36
+ styles: ['.leaflet-map-container { width: 100%; height: 100%; position: relative }'],
34
37
  // eslint-disable-next-line no-use-before-define
35
38
  providers: [{ provide: VisCoreComponent, useExisting: VisLeafletMapComponent }],
36
39
  }]
37
40
  }], propDecorators: { containerRef: [{
38
41
  type: ViewChild,
39
42
  args: ['container', { static: false }]
40
- }], width: [{
41
- type: Input
42
- }], height: [{
43
- type: Input
44
43
  }], duration: [{
45
44
  type: Input
46
45
  }], events: [{
47
46
  type: Input
48
47
  }], attributes: [{
49
48
  type: Input
49
+ }], width: [{
50
+ type: Input
51
+ }], height: [{
52
+ type: Input
50
53
  }], flyToDuration: [{
51
54
  type: Input
52
55
  }], fitViewPadding: [{
@@ -105,6 +108,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
105
108
  type: Input
106
109
  }], pointCursor: [{
107
110
  type: Input
111
+ }], pointRingWidth: [{
112
+ type: Input
108
113
  }], selectedPointId: [{
109
114
  type: Input
110
115
  }], clusterColor: [{
@@ -136,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
136
141
  }], data: [{
137
142
  type: Input
138
143
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1tYXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2h0bWwtY29tcG9uZW50cy9sZWFmbGV0LW1hcC9sZWFmbGV0LW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsS0FBSyxFQUFpQixTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUE7QUFDckcsT0FBTyxFQUNMLFVBQVUsR0FlWCxNQUFNLFlBQVksQ0FBQTtBQUVuQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUE7O0FBUzdDLE1BQU0sT0FBTyxzQkFBc0I7SUFrT2pDLGVBQWU7UUFDYixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFVBQVUsQ0FBUSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVGLENBQUM7SUFFRCxXQUFXLENBQUUsT0FBc0I7O1FBQ2pDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDbkM7UUFDRCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFF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Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBbUJHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgTGVhZmxldE1hcCxcbiAgTGVhZmxldE1hcENvbmZpZ0ludGVyZmFjZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBCb3VuZHMsXG4gIE1hcFpvb21TdGF0ZSxcbiAgTnVtZXJpY0FjY2Vzc29yLFxuICBTdHJpbmdBY2Nlc3NvcixcbiAgQ29sb3JBY2Nlc3NvcixcbiAgTGVhZmxldE1hcFBvaW50RGF0dW0sXG4gIExlYWZsZXRNYXBQb2ludFN0eWxlcyxcbiAgVG9vbHRpcCxcbiAgTGVhZmxldE1hcENsdXN0ZXJEYXR1bSxcbiAgTGVhZmxldE1hcFJlbmRlcmVyLFxuICBHZW5lcmljRGF0YVJlY29yZCxcbn0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFN0eWxlU3BlY2lmaWNhdGlvbiB9IGZyb20gJ21hcGxpYnJlLWdsJ1xuaW1wb3J0IHsgVmlzQ29yZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1sZWFmbGV0LW1hcCcsXG4gIHRlbXBsYXRlOiAnPGRpdiAjY29udGFpbmVyIGNsYXNzPVwidW5vdmlzLWxlYWZsZXQtbWFwLWNvbnRhaW5lclwiPjwvZGl2PicsXG4gIHN0eWxlczogWycudW5vdmlzLWxlYWZsZXQtbWFwLWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfSddLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNDb3JlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzTGVhZmxldE1hcENvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzTGVhZmxldE1hcENvbXBvbmVudDxEYXR1bSBleHRlbmRzIEdlbmVyaWNEYXRhUmVjb3JkPiBpbXBsZW1lbnRzIExlYWZsZXRNYXBDb25maWdJbnRlcmZhY2U8RGF0dW0+LCBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRhaW5lclJlZjogRWxlbWVudFJlZlxuXG4gIC8qKiBXaWR0aCBpbiBwaXhlbHMgb3IgaW4gQ1NTIHVuaXRzLiBCeSBkZWZhdWx0LCB0aGUgbWFwIHdpbGwgYXV0b21hdGljYWxseSBmaXQgdG8gdGhlIHNpemUgb2YgdGhlIHBhcmVudCBlbGVtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gKi9cbiAgQElucHV0KCkgd2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqIEhlaWdodCBpbiBwaXhlbHMgb3IgaW4gQ1NTIHVuaXRzLiBCeSBkZWZhdWx0LCB0aGUgbWFwIHdpbGwgYXV0b21hdGljYWxseSBmaXQgdG8gdGhlIHNpemUgb2YgdGhlIHBhcmVudCBlbGVtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gKi9cbiAgQElucHV0KCkgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBvZiB0aGUgZGF0YSB1cGRhdGUgdHJhbnNpdGlvbnMgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0OiBgNjAwYCAqL1xuICBASW5wdXQoKSBkdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBFdmVudHMgY29uZmlndXJhdGlvbi4gQW4gb2JqZWN0IGNvbnRhaW5pbmcgcHJvcGVydGllcyBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFtldmVudFR5cGVdOiBjYWxsYmFja0Z1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIGNsaWNrOiAoZCkgPT4gY29uc29sZS5sb2coXCJDbGlja2VkIEFyZWFcIiwgZClcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgZXZlbnRzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2V2ZW50VHlwZSBpbiBWaXNFdmVudFR5cGVdPzogVmlzRXZlbnRDYWxsYmFja1xuICAgIH07XG4gIH1cblxuICAvKiogWW91IGNhbiBzZXQgZXZlcnkgU1ZHIGFuZCBIVE1MIHZpc3VhbGl6YXRpb24gb2JqZWN0IHRvIGhhdmUgYSBjdXN0b20gRE9NIGF0dHJpYnV0ZXMsIHdoaWNoIGlzIHVzZWZ1bFxuICAgKiB3aGVuIHlvdSB3YW50IHRvIGRvIHVuaXQgb3IgZW5kLXRvLWVuZCB0ZXN0aW5nLiBBdHRyaWJ1dGVzIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZTpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFthdHRyaWJ1dGVOYW1lXTogYXR0cmlidXRlIGNvbnN0YW50IHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIFwidGVzdC12YWx1ZVwiOiBkID0+IGQudmFsdWVcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgYXR0cmlidXRlcz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFthdHRyOiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgKChkYXR1bTogYW55KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiB3aGVuIHRoZSBtYXAgaXMgYXV0b21hdGljYWxseSBwYW5uaW5nIG9yIHpvb21pbmcgdG8gYSBwb2ludCBvciBhcmVhLiBEZWZhdWx0OiBgMTUwMGAgbXMgKi9cbiAgQElucHV0KCkgZmx5VG9EdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBQYWRkaW5nIHRvIGJlIHVzZWQgd2hlbiB0aGUgYGZpdFZpZXdgIGZ1bmN0aW9uIGhhcyBiZWVuIGNhbGxlZC4gVGhlIHZhbHVlIGlzIGluIHBpeGVscy4gRGVmYXVsdDogYFsxNTAsIDE1MF1gICovXG4gIEBJbnB1dCgpIGZpdFZpZXdQYWRkaW5nPzogW251bWJlciwgbnVtYmVyXVxuXG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gZm9yIHRoZSBgc2V0Wm9vbWAgZnVuY3Rpb24uIERlZmF1bHQ6IGA4MDBgIG1zICovXG4gIEBJbnB1dCgpIHpvb21EdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBEZWZhdWx0IGJvdW5kcyB0aGF0IHdpbGwgYmUgYXBwbGllZCBvbiB0aGUgZmlyc3QgbWFwIHJlbmRlciBpZiB0aGUgYm91bmRzIHByb3BlcnR5IGlzIG5vdCBzZXQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGluaXRpYWxCb3VuZHM/OiBCb3VuZHNcblxuICAvKiogRm9yY2Ugc2V0IG1hcCBib3VuZHMgb24gY29uZmlnIGFuZCBkYXRhIHVwZGF0ZXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGZpdEJvdW5kc09uVXBkYXRlPzogQm91bmRzXG5cbiAgLyoqIEZpdCB0aGUgdmlldyB0byBjb250YWluIHRoZSBkYXRhIHBvaW50cyBvbiBtYXAgaW5pdGlhbGl6YXRpb24uIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBmaXRWaWV3T25Jbml0PzogYm9vbGVhblxuXG4gIC8qKiBGaXQgdGhlIHZpZXcgdG8gY29udGFpbiB0aGUgZGF0YSBwb2ludHMgb24gbWFwIGNvbmZpZyBhbmQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIGZpdFZpZXdPblVwZGF0ZT86IGJvb2xlYW5cblxuICAvKiogTWFwTGlicmUgU3R5bGVTcGVjaWZpY2F0aW9uIHNldHRpbmdzLiBEZWZhdWx0OiBgTWFwTGlicmVBcmN0aWNMaWdodGAgKi9cbiAgQElucHV0KCkgc3R5bGU6IFN0eWxlU3BlY2lmaWNhdGlvbiB8IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIC8qKiBNYXBMaWJyZSBTdHlsZVNwZWNpZmljYXRpb24gc2V0dGluZ3MgZm9yIGRhcmsgdGhlbWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHN0eWxlRGFya1RoZW1lPzogU3R5bGVTcGVjaWZpY2F0aW9uIHwgc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgLyoqIFRpbGUgc2VydmVyIGFjY2VzcyB0b2tlbiBvciBBUEkga2V5LiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGFjY2Vzc1Rva2VuPzogc3RyaW5nXG5cbiAgLyoqIEFycmF5IG9mIGF0dHJpYnV0aW9uIGxhYmVscy4gRGVmYXVsdDogYFsnPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiIHRhcmdldD1cIl9ibGFua1wiPk9wZW5TdHJlZXRNYXAgY29udHJpYnV0b3JzPC9hPiddYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGlvbj86IHN0cmluZ1tdXG5cbiAgLyoqIFJlbmRlcmluZyBtb2RlIGZvciBtYXAncyB0aWxlIGxheWVyLiBGb3IgcmFzdGVyIGZpbGVzLCB1c2UgYExlYWZsZXRNYXBSZW5kZXJlci5SYXN0ZXJgLiBEZWZhdWx0OiBgTGVhZmxldE1hcFJlbmRlcmVyLk1hcExpYnJlYCAqL1xuICBASW5wdXQoKSByZW5kZXJlcj86IExlYWZsZXRNYXBSZW5kZXJlciB8IHN0cmluZ1xuXG4gIC8qKiBGdW5jdGlvbiB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhlIG1hcCdzIGFzeW5jIGluaXRpYWxpemF0aW9uIGlzIGRvbmUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwSW5pdGlhbGl6ZWQ/OiAoKCkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgLyBab29tIHVuaWZpZWQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwTW92ZVpvb20/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBNb3ZlIFN0YXJ0IGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcE1vdmVTdGFydD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgRW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcE1vdmVFbmQ/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBab29tIFN0YXJ0IGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcFpvb21TdGFydD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIFpvb20gRW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcFpvb21FbmQ/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBab29tIEVuZCBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBDbGljaz86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogUG9pbnQgbG9uZ2l0dWRlIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLmxvbmdpdHVkZWAgKi9cbiAgQElucHV0KCkgcG9pbnRMb25naXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFBvaW50IGxhdGl0dWRlIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLmxhdGl0dWRlYCAqL1xuICBASW5wdXQoKSBwb2ludExhdGl0dWRlPzogTnVtZXJpY0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBQb2ludCBpZCBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYGQgPT4gZC5pZGAgKi9cbiAgQElucHV0KCkgcG9pbnRJZD86IFN0cmluZ0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBQb2ludCBzaGFwZSBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYGQgPT4gZC5zaGFwZWAgKi9cbiAgQElucHV0KCkgcG9pbnRTaGFwZT86IFN0cmluZ0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBQb2ludCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYGQgPT4gZC5jb2xvcmAgKi9cbiAgQElucHV0KCkgcG9pbnRDb2xvcj86IENvbG9yQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08RGF0dW0+PlxuXG4gIC8qKiBQb2ludCByYWRpdXMgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHBvaW50UmFkaXVzPzogTnVtZXJpY0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPERhdHVtPj5cblxuICAvKiogUG9pbnQgaW5uZXIgbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQucG9pbnRfY291bnQgPz8gJydgICovXG4gIEBJbnB1dCgpIHBvaW50TGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxEYXR1bT4+XG5cbiAgLyoqIFBvaW50IGlubmVyIGxhYmVsIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgbGFiZWwgY29sb3Igd2lsbCBiZSBzZXQsIGRlcGVuZGluZyBvbiB0aGUgcG9pbnQgYnJpZ2h0bmVzcywgZWl0aGVyIHRvXG4gICAqIGAtLXZpcy1tYXAtcG9pbnQtaW5uZXItbGFiZWwtdGV4dC1jb2xvci1saWdodGAgb3IgdG8gYC0tdmlzLW1hcC1wb2ludC1pbm5lci1sYWJlbC10ZXh0LWNvbG9yLWRhcmtgIENTUyB2YXJpYWJsZS5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGBcbiAgKi9cbiAgQElucHV0KCkgcG9pbnRMYWJlbENvbG9yPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08RGF0dW0+PlxuXG4gIC8qKiBQb2ludCBib3R0b20gbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGAnJ2AgKi9cbiAgQElucHV0KCkgcG9pbnRCb3R0b21MYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPERhdHVtPj5cblxuICAvKiogUG9pbnQgY3Vyc29yIHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgcG9pbnRDdXJzb3I/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxEYXR1bT4+XG5cbiAgLyoqIFNldCBzZWxlY3RlZCBwb2ludCBieSBpdHMgdW5pcXVlIGlkLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBzZWxlY3RlZFBvaW50SWQ/OiBzdHJpbmdcblxuICAvKiogQ2x1c3RlciBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJDb2xvcj86IENvbG9yQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxEYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgcmFkaXVzIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAgKi9cbiAgQElucHV0KCkgY2x1c3RlclJhZGl1cz86IE51bWVyaWNBY2Nlc3NvcjxMZWFmbGV0TWFwQ2x1c3RlckRhdHVtPERhdHVtPj5cblxuICAvKiogQ2x1c3RlciBpbm5lciBsYWJlbCBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5wb2ludF9jb3VudGAgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJMYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08RGF0dW0+PlxuXG4gIC8qKiBDbHVzdGVyIGlubmVyIGxhYmVsIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgbGFiZWwgY29sb3Igd2lsbCBiZSBzZXQsIGRlcGVuZGluZyBvbiB0aGUgcG9pbnQgYnJpZ2h0bmVzcywgZWl0aGVyIHRvXG4gICAqIGAtLXZpcy1tYXAtY2x1c3Rlci1pbm5lci1sYWJlbC10ZXh0LWNvbG9yLWxpZ2h0YCBvciB0byBgLS12aXMtbWFwLWNsdXN0ZXItaW5uZXItbGFiZWwtdGV4dC1jb2xvci1kYXJrYCBDU1MgdmFyaWFibGUuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgXG4gICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJMYWJlbENvbG9yPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxEYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgYm90dG9tIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJCb3R0b21MYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08RGF0dW0+PlxuXG4gIC8qKiBUaGUgd2lkdGggb2YgdGhlIGNsdXN0ZXIgcG9pbnQgb3V0bGluZS4gRGVmYXVsdDogYDEuMjVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJSaW5nV2lkdGg/OiBudW1iZXJcblxuICAvKiogV2hlbiBjbHVzdGVyIGlzIGV4cGFuZGVkLCBzaG93IGEgYmFja2dyb3VuZCBjaXJjbGUgdG8gYmV0dGVyIHNlcGFyYXRlIHBvaW50cyBmcm9tIHRoZSBiYXNlIG1hcC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJCYWNrZ3JvdW5kPzogYm9vbGVhblxuXG4gIC8qKiBEZWZpbmVzIHdoZXRoZXIgdGhlIGNsdXN0ZXIgc2hvdWxkIGV4cGFuZCBvbiBjbGljayBvciBub3QuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBjbHVzdGVyRXhwYW5kT25DbGljaz86IGJvb2xlYW5cblxuICAvKiogQ2x1c3RlcmluZyBkaXN0YW5jZSBpbiBwaXhlbHMuIFRoaXMgdmFsdWUgd2lsbCBiZSBwYXNzZWQgdG8gU3VwZXJjbHVzdGVyIGFzIHRoZSBgcmFkaXVzYCBwcm9wZXJ0eSBodHRwczovL2dpdGh1Yi5jb20vbWFwYm94L3N1cGVyY2x1c3Rlci4gRGVmYXVsdDogYDU1YCAqL1xuICBASW5wdXQoKSBjbHVzdGVyaW5nRGlzdGFuY2U/OiBudW1iZXJcblxuICAvKiogQSBzaW5nbGUgbWFwIHBvaW50IGNhbiBoYXZlIG11bHRpcGxlIHByb3BlcnRpZXMgZGlzcGxheWVkIGFzIGEgc21hbGwgcGllIGNoYXJ0IChvciBhIGRvbnV0IGNoYXJ0IGZvciBhIGNsdXN0ZXIgb2YgcG9pbnRzKS5cbiAgICogQnkgc2V0dGluZyB0aGUgY29sb3JNYXAgY29uZmlndXJhdGlvbiB5b3UgY2FuIHNwZWNpZnkgZGF0YSBwcm9wZXJ0aWVzIHRoYXQgc2hvdWxkIGJlIG1hcHBlZCB0byB2YXJpb3VzIHBpZSAvIGRvbnV0IHNlZ21lbnRzLlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtrZXkgaW4ga2V5b2YgRGF0dW1dPzogeyBjb2xvcjogc3RyaW5nLCBjbGFzc05hbWU/OiBzdHJpbmcgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXGhlYWx0aHk6IHsgY29sb3I6ICdncmVlbicgfSxcbiAgICogXFx3YXJuaW5nOiB7IGNvbG9yOiAnb3JhbmdlJyB9LFxuICAgKiBcXGRhbmdlcjogeyBjb2xvcjogJ3JlZCcgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiB3aGVyZSBldmVyeSBkYXRhIHBvaW50IGhhcyB0aGUgYGhlYWx0aHlgLCBgd2FybmluZ2AgYW5kIGBkYW5nZXJgIG51bWVyaWNhbCBvciBib29sZWFuIHByb3BlcnR5LiAqL1xuICBASW5wdXQoKSBjb2xvck1hcD86IExlYWZsZXRNYXBQb2ludFN0eWxlczxEYXR1bT5cblxuICAvKiogQSBUb3BvSlNPTiBHZW9tZXRyeSBsYXllciB0byBiZSBkaXNwbGF5ZWQgb24gdG9wIG9mIHRoZSBtYXAuIFN1cHBvcnRzIGZpbGwgYW5kIHN0cm9rZSAqL1xuICBASW5wdXQoKSB0b3BvSlNPTkxheWVyPzoge1xuICAgIHNvdXJjZXM6IGFueTtcbiAgICBmZWF0dXJlTmFtZT86IHN0cmluZztcbiAgICBmaWxsUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgc3Ryb2tlUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgZmlsbE9wYWNpdHk/OiBudW1iZXI7XG4gICAgc3Ryb2tlT3BhY2l0eT86IG51bWJlcjtcbiAgICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgfVxuXG4gIC8qKiBUb29sdGlwIGNvbXBvbmVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdG9vbHRpcD86IFRvb2x0aXBcblxuICAvKiogQWx0ZXJuYXRpdmUgdGV4dCBkZXNjcmlwdGlvbiBvZiB0aGUgY2hhcnQgZm9yIGFjY2Vzc2liaWxpdHkgcHVycG9zZXMuIEl0IHdpbGwgYmUgYXBwbGllZCBhcyBhblxuICAgKiBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHRoZSBkaXYgZWxlbWVudCBjb250YWluaW5nIHlvdXIgY2hhcnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLlxuICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG5cbiAgLyoqIERhdGEgKi9cbiAgQElucHV0KCkgZGF0YT86IERhdHVtW11cblxuICBjb21wb25lbnQ6IExlYWZsZXRNYXA8RGF0dW0+IHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldENvbmZpZygpXG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgTGVhZmxldE1hcDxEYXR1bT4odGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCwgY29uZmlnLCB0aGlzLmRhdGEpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSlcbiAgICB9XG4gICAgdGhpcy5jb21wb25lbnQ/LnNldENvbmZpZyh0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25maWcgKCk6IExlYWZsZXRNYXBDb25maWdJbnRlcmZhY2U8RGF0dW0+IHtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQsIGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIGZseVRvRHVyYXRpb24sIGZpdFZpZXdQYWRkaW5nLCB6b29tRHVyYXRpb24sIGluaXRpYWxCb3VuZHMsIGZpdEJvdW5kc09uVXBkYXRlLCBmaXRWaWV3T25Jbml0LCBmaXRWaWV3T25VcGRhdGUsIGFjY2Vzc1Rva2VuLCBzdHlsZSwgc3R5bGVEYXJrVGhlbWUsIGF0dHJpYnV0aW9uLCBvbk1hcEluaXRpYWxpemVkLCBvbk1hcE1vdmVab29tLCBvbk1hcE1vdmVTdGFydCwgb25NYXBNb3ZlRW5kLCBvbk1hcFpvb21TdGFydCwgb25NYXBab29tRW5kLCBvbk1hcENsaWNrLCBwb2ludExvbmdpdHVkZSwgcG9pbnRMYXRpdHVkZSwgcG9pbnRJZCwgcG9pbnRTaGFwZSwgcG9pbnRDb2xvciwgcG9pbnRSYWRpdXMsIHBvaW50TGFiZWwsIHBvaW50TGFiZWxDb2xvciwgcG9pbnRCb3R0b21MYWJlbCwgcG9pbnRDdXJzb3IsIHNlbGVjdGVkUG9pbnRJZCwgY2x1c3RlckNvbG9yLCBjbHVzdGVyUmFkaXVzLCBjbHVzdGVyTGFiZWwsIGNsdXN0ZXJMYWJlbENvbG9yLCBjbHVzdGVyQm90dG9tTGFiZWwsIGNsdXN0ZXJSaW5nV2lkdGgsIGNsdXN0ZXJCYWNrZ3JvdW5kLCBjbHVzdGVyRXhwYW5kT25DbGljaywgY2x1c3RlcmluZ0Rpc3RhbmNlLCBjb2xvck1hcCwgdG9wb0pTT05MYXllciwgdG9vbHRpcCwgYXJpYUxhYmVsIH0gPSB0aGlzXG4gICAgY29uc3QgY29uZmlnID0geyB3aWR0aCwgaGVpZ2h0LCBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCBmbHlUb0R1cmF0aW9uLCBmaXRWaWV3UGFkZGluZywgem9vbUR1cmF0aW9uLCBpbml0aWFsQm91bmRzLCBmaXRCb3VuZHNPblVwZGF0ZSwgZml0Vmlld09uSW5pdCwgZml0Vmlld09uVXBkYXRlLCBhY2Nlc3NUb2tlbiwgc3R5bGUsIHN0eWxlRGFya1RoZW1lLCBhdHRyaWJ1dGlvbiwgb25NYXBJbml0aWFsaXplZCwgb25NYXBNb3ZlWm9vbSwgb25NYXBNb3ZlU3RhcnQsIG9uTWFwTW92ZUVuZCwgb25NYXBab29tU3RhcnQsIG9uTWFwWm9vbUVuZCwgb25NYXBDbGljaywgcG9pbnRMb25naXR1ZGUsIHBvaW50TGF0aXR1ZGUsIHBvaW50SWQsIHBvaW50U2hhcGUsIHBvaW50Q29sb3IsIHBvaW50UmFkaXVzLCBwb2ludExhYmVsLCBwb2ludExhYmVsQ29sb3IsIHBvaW50Qm90dG9tTGFiZWwsIHBvaW50Q3Vyc29yLCBzZWxlY3RlZFBvaW50SWQsIGNsdXN0ZXJDb2xvciwgY2x1c3RlclJhZGl1cywgY2x1c3RlckxhYmVsLCBjbHVzdGVyTGFiZWxDb2xvciwgY2x1c3RlckJvdHRvbUxhYmVsLCBjbHVzdGVyUmluZ1dpZHRoLCBjbHVzdGVyQmFja2dyb3VuZCwgY2x1c3RlckV4cGFuZE9uQ2xpY2ssIGNsdXN0ZXJpbmdEaXN0YW5jZSwgY29sb3JNYXAsIHRvcG9KU09OTGF5ZXIsIHRvb2x0aXAsIGFyaWFMYWJlbCB9XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGNvbmZpZykgYXMgKGtleW9mIExlYWZsZXRNYXBDb25maWdJbnRlcmZhY2U8RGF0dW0+KVtdXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiB7IGlmIChjb25maWdba2V5XSA9PT0gdW5kZWZpbmVkKSBkZWxldGUgY29uZmlnW2tleV0gfSlcblxuICAgIHJldHVybiBjb25maWdcbiAgfVxufVxuIl19
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1tYXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2h0bWwtY29tcG9uZW50cy9sZWFmbGV0LW1hcC9sZWFmbGV0LW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEVBQTBFO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQWlCLEtBQUssRUFBaUIsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFBO0FBQ3JHLE9BQU8sRUFDTCxVQUFVLEdBa0JYLE1BQU0sWUFBWSxDQUFBO0FBQ25CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFTN0MsTUFBTSxPQUFPLHNCQUFzQjtJQWlPakMsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxVQUFVLENBQVEsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVwRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsWUFB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QUFPO3NCQUFmLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAhISEgVGhpcyBjb2RlIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZC4gWW91IHNob3VsZCBub3QgY2hhbmdlIGl0ICEhIVxuaW1wb3J0IHsgQ29tcG9uZW50LCBBZnRlclZpZXdJbml0LCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIExlYWZsZXRNYXAsXG4gIExlYWZsZXRNYXBDb25maWdJbnRlcmZhY2UsXG4gIEdlbmVyaWNEYXRhUmVjb3JkLFxuICBWaXNFdmVudFR5cGUsXG4gIFZpc0V2ZW50Q2FsbGJhY2ssXG4gIEJvdW5kcyxcbiAgTWFwTGlicmVTdHlsZVNwZWNzLFxuICBMZWFmbGV0TWFwUmVuZGVyZXIsXG4gIE1hcFpvb21TdGF0ZSxcbiAgTnVtZXJpY0FjY2Vzc29yLFxuICBTdHJpbmdBY2Nlc3NvcixcbiAgR2VuZXJpY0FjY2Vzc29yLFxuICBMZWFmbGV0TWFwUG9pbnRTaGFwZSxcbiAgQ29sb3JBY2Nlc3NvcixcbiAgTGVhZmxldE1hcFBvaW50RGF0dW0sXG4gIExlYWZsZXRNYXBDbHVzdGVyRGF0dW0sXG4gIExlYWZsZXRNYXBQb2ludFN0eWxlcyxcbiAgVG9vbHRpcCxcbn0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc0NvcmVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXMtbGVhZmxldC1tYXAnLFxuICB0ZW1wbGF0ZTogJzxkaXYgI2NvbnRhaW5lciBjbGFzcz1cImxlYWZsZXQtbWFwLWNvbnRhaW5lclwiPjwvZGl2PicsXG4gIHN0eWxlczogWycubGVhZmxldC1tYXAtY29udGFpbmVyIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcG9zaXRpb246IHJlbGF0aXZlIH0nXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVmlzQ29yZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFZpc0xlYWZsZXRNYXBDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0xlYWZsZXRNYXBDb21wb25lbnQ8RGF0dW0gZXh0ZW5kcyBHZW5lcmljRGF0YVJlY29yZD4gaW1wbGVtZW50cyBMZWFmbGV0TWFwQ29uZmlnSW50ZXJmYWNlPERhdHVtPiwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWZcblxuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogV2lkdGggaW4gcGl4ZWxzIG9yIGluIENTUyB1bml0cy4gQnkgZGVmYXVsdCwgdGhlIG1hcCB3aWxsIGF1dG9tYXRpY2FsbHkgZml0IHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIHdpZHRoPzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqIEhlaWdodCBpbiBwaXhlbHMgb3IgaW4gQ1NTIHVuaXRzLiBCeSBkZWZhdWx0LCB0aGUgbWFwIHdpbGwgYXV0b21hdGljYWxseSBmaXQgdG8gdGhlIHNpemUgb2YgdGhlIHBhcmVudCBlbGVtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gKi9cbiAgQElucHV0KCkgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiB3aGVuIHRoZSBtYXAgaXMgYXV0b21hdGljYWxseSBwYW5uaW5nIG9yIHpvb21pbmcgdG8gYSBwb2ludCBvciBhcmVhLiBEZWZhdWx0OiBgMTUwMGAgbXMgKi9cbiAgQElucHV0KCkgZmx5VG9EdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBQYWRkaW5nIHRvIGJlIHVzZWQgd2hlbiB0aGUgYGZpdFZpZXdgIGZ1bmN0aW9uIGhhcyBiZWVuIGNhbGxlZC4gVGhlIHZhbHVlIGlzIGluIHBpeGVscywgW3RvcExlZnQsIGJvdHRvbVJpZ2h0XS4gRGVmYXVsdDogYFsxNTAsIDE1MF1gICovXG4gIEBJbnB1dCgpIGZpdFZpZXdQYWRkaW5nPzogW251bWJlciwgbnVtYmVyXVxuXG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gZm9yIHRoZSBgc2V0Wm9vbWAgZnVuY3Rpb24uIERlZmF1bHQ6IGA4MDBgIG1zICovXG4gIEBJbnB1dCgpIHpvb21EdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBEZWZhdWx0IGJvdW5kcyB0aGF0IHdpbGwgYmUgYXBwbGllZCBvbiB0aGUgZmlyc3QgbWFwIHJlbmRlciBpZiB0aGUgYm91bmRzIHByb3BlcnR5IGlzIG5vdCBzZXQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGluaXRpYWxCb3VuZHM/OiBCb3VuZHNcblxuICAvKiogRm9yY2Ugc2V0IG1hcCBib3VuZHMgb24gY29uZmlnIGFuZCBkYXRhIHVwZGF0ZXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGZpdEJvdW5kc09uVXBkYXRlPzogQm91bmRzXG5cbiAgLyoqIEZpdCB0aGUgdmlldyB0byBjb250YWluIHRoZSBkYXRhIHBvaW50cyBvbiBtYXAgaW5pdGlhbGl6YXRpb24uIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBmaXRWaWV3T25Jbml0PzogYm9vbGVhblxuXG4gIC8qKiBGaXQgdGhlIHZpZXcgdG8gY29udGFpbiB0aGUgZGF0YSBwb2ludHMgb24gbWFwIGNvbmZpZyBhbmQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIGZpdFZpZXdPblVwZGF0ZT86IGJvb2xlYW5cblxuICAvKiogTWFwTGlicmUgYFN0eWxlU3BlY2lmaWNhdGlvbmAgc2V0dGluZ3MsIG9yIGEgVVJMIHRvIGl0LiBXaGVuIHJlbmRlcmVyIGlzIHNldCB0b2BMZWFmbGV0TWFwUmVuZGVyZXIuUmFzdGVyYCwgcHJvdmlkZSBhIHRlbXBsYXRlIFVSTC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgc3R5bGU6IE1hcExpYnJlU3R5bGVTcGVjcyB8IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIC8qKiBNYXBMaWJyZSBgU3R5bGVTcGVjaWZpY2F0aW9uYCBzZXR0aW5ncyBvciBVUkwgZm9yIGRhcmsgdGhlbWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHN0eWxlRGFya1RoZW1lPzogTWFwTGlicmVTdHlsZVNwZWNzIHwgc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgLyoqIFRpbGUgc2VydmVyIGFjY2VzcyB0b2tlbiBvciBBUEkga2V5LiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGFjY2Vzc1Rva2VuPzogc3RyaW5nXG5cbiAgLyoqIEFycmF5IG9mIGF0dHJpYnV0aW9uIGxhYmVscy4gRGVmYXVsdDogYFsnPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiIHRhcmdldD1cIl9ibGFua1wiPk9wZW5TdHJlZXRNYXAgY29udHJpYnV0b3JzPC9hPiddYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGlvbj86IHN0cmluZ1tdXG5cbiAgLyoqIFJlbmRlcmluZyBtb2RlIGZvciBtYXAncyB0aWxlIGxheWVyLiBGb3IgcmFzdGVyIGZpbGVzLCB1c2UgYExlYWZsZXRNYXBSZW5kZXJlci5SYXN0ZXJgLiBEZWZhdWx0OiBgTGVhZmxldE1hcFJlbmRlcmVyLk1hcExpYnJlYCAqL1xuICBASW5wdXQoKSByZW5kZXJlcj86IExlYWZsZXRNYXBSZW5kZXJlciB8IHN0cmluZ1xuXG4gIC8qKiBGdW5jdGlvbiB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhlIG1hcCdzIGFzeW5jIGluaXRpYWxpemF0aW9uIGlzIGRvbmUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwSW5pdGlhbGl6ZWQ/OiAoKCkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgLyBab29tIHVuaWZpZWQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwTW92ZVpvb20/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBNb3ZlIFN0YXJ0IGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcE1vdmVTdGFydD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgRW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcE1vdmVFbmQ/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBab29tIFN0YXJ0IGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcFpvb21TdGFydD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIFpvb20gRW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcFpvb21FbmQ/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBab29tIENsaWNrIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcENsaWNrPzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBQb2ludCBsb25naXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQubG9uZ2l0dWRlYCAqL1xuICBASW5wdXQoKSBwb2ludExvbmdpdHVkZT86IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogUG9pbnQgbGF0aXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQubGF0aXR1ZGVgICovXG4gIEBJbnB1dCgpIHBvaW50TGF0aXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFBvaW50IGlkIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgZCA9PiBkLmlkYCAqL1xuICBASW5wdXQoKSBwb2ludElkPzogU3RyaW5nQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFBvaW50IHNoYXBlIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgZCA9PiBkLnNoYXBlYCAqL1xuICBASW5wdXQoKSBwb2ludFNoYXBlPzogR2VuZXJpY0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludFNoYXBlIHwgc3RyaW5nLCBEYXR1bT5cblxuICAvKiogUG9pbnQgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGBkID0+IGQuY29sb3JgICovXG4gIEBJbnB1dCgpIHBvaW50Q29sb3I/OiBDb2xvckFjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPERhdHVtPj5cblxuICAvKiogUG9pbnQgcmFkaXVzIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBwb2ludFJhZGl1cz86IE51bWVyaWNBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxEYXR1bT4+XG5cbiAgLyoqIFBvaW50IGlubmVyIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBwb2ludExhYmVsPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08RGF0dW0+PlxuXG4gIC8qKiBQb2ludCBpbm5lciBsYWJlbCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS5cbiAgICogQnkgZGVmYXVsdCwgdGhlIGxhYmVsIGNvbG9yIHdpbGwgYmUgc2V0LCBkZXBlbmRpbmcgb24gdGhlIHBvaW50IGJyaWdodG5lc3MsIGVpdGhlciB0b1xuICAgKiBgLS12aXMtbWFwLXBvaW50LWlubmVyLWxhYmVsLXRleHQtY29sb3ItbGlnaHRgIG9yIHRvIGAtLXZpcy1tYXAtcG9pbnQtaW5uZXItbGFiZWwtdGV4dC1jb2xvci1kYXJrYCBDU1MgdmFyaWFibGUuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHBvaW50TGFiZWxDb2xvcj86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPERhdHVtPj5cblxuICAvKiogUG9pbnQgYm90dG9tIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIHBvaW50Qm90dG9tTGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxEYXR1bT4+XG5cbiAgLyoqIFBvaW50IGN1cnNvciB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIHBvaW50Q3Vyc29yPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08RGF0dW0+PlxuXG4gIC8qKiBUaGUgd2lkdGggb2YgdGhlIHJpbmcgd2hlbiBhIHBvaW50IGhhcyBhIGBMZWFmbGV0TWFwUG9pbnRTaGFwZS5SaW5nYCBzaGFwZS4gRGVmYXVsdDogYDEuMjVgICovXG4gIEBJbnB1dCgpIHBvaW50UmluZ1dpZHRoPzogbnVtYmVyXG5cbiAgLyoqIFNldCBzZWxlY3RlZCBwb2ludCBieSBpdHMgdW5pcXVlIGlkLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBzZWxlY3RlZFBvaW50SWQ/OiBzdHJpbmdcblxuICAvKiogQ2x1c3RlciBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgY2x1c3RlckNvbG9yPzogQ29sb3JBY2Nlc3NvcjxMZWFmbGV0TWFwQ2x1c3RlckRhdHVtPERhdHVtPj5cblxuICAvKiogQ2x1c3RlciByYWRpdXMgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJSYWRpdXM/OiBOdW1lcmljQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxEYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgaW5uZXIgbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQucG9pbnRfY291bnRgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJMYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08RGF0dW0+PlxuXG4gIC8qKiBDbHVzdGVyIGlubmVyIGxhYmVsIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgbGFiZWwgY29sb3Igd2lsbCBiZSBzZXQsIGRlcGVuZGluZyBvbiB0aGUgcG9pbnQgYnJpZ2h0bmVzcywgZWl0aGVyIHRvXG4gICAqIGAtLXZpcy1tYXAtY2x1c3Rlci1pbm5lci1sYWJlbC10ZXh0LWNvbG9yLWxpZ2h0YCBvciB0byBgLS12aXMtbWFwLWNsdXN0ZXItaW5uZXItbGFiZWwtdGV4dC1jb2xvci1kYXJrYCBDU1MgdmFyaWFibGUuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJMYWJlbENvbG9yPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxEYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgYm90dG9tIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJCb3R0b21MYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08RGF0dW0+PlxuXG4gIC8qKiBUaGUgd2lkdGggb2YgdGhlIGNsdXN0ZXIgcG9pbnQgcmluZy4gRGVmYXVsdDogYDEuMjVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJSaW5nV2lkdGg/OiBudW1iZXJcblxuICAvKiogV2hlbiBjbHVzdGVyIGlzIGV4cGFuZGVkLCBzaG93IGEgYmFja2dyb3VuZCBjaXJjbGUgdG8gYmV0dGVyIHNlcGFyYXRlIHBvaW50cyBmcm9tIHRoZSBiYXNlIG1hcC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJCYWNrZ3JvdW5kPzogYm9vbGVhblxuXG4gIC8qKiBEZWZpbmVzIHdoZXRoZXIgdGhlIGNsdXN0ZXIgc2hvdWxkIGV4cGFuZCBvbiBjbGljayBvciBub3QuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBjbHVzdGVyRXhwYW5kT25DbGljaz86IGJvb2xlYW5cblxuICAvKiogQ2x1c3RlcmluZyBkaXN0YW5jZSBpbiBwaXhlbHMuIFRoaXMgdmFsdWUgd2lsbCBiZSBwYXNzZWQgdG8gU3VwZXJjbHVzdGVyIGFzIHRoZSBgcmFkaXVzYCBwcm9wZXJ0eSBodHRwczovL2dpdGh1Yi5jb20vbWFwYm94L3N1cGVyY2x1c3Rlci4gRGVmYXVsdDogYDU1YCAqL1xuICBASW5wdXQoKSBjbHVzdGVyaW5nRGlzdGFuY2U/OiBudW1iZXJcblxuICAvKiogQSBzaW5nbGUgbWFwIHBvaW50IGNhbiBoYXZlIG11bHRpcGxlIHByb3BlcnRpZXMgZGlzcGxheWVkIGFzIGEgc21hbGwgcGllIGNoYXJ0IChvciBhIGRvbnV0IGNoYXJ0IGZvciBhIGNsdXN0ZXIgb2YgcG9pbnRzKS5cbiAgICogQnkgc2V0dGluZyB0aGUgY29sb3JNYXAgY29uZmlndXJhdGlvbiB5b3UgY2FuIHNwZWNpZnkgZGF0YSBwcm9wZXJ0aWVzIHRoYXQgc2hvdWxkIGJlIG1hcHBlZCB0byB2YXJpb3VzIHBpZSAvIGRvbnV0IHNlZ21lbnRzLlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtrZXkgaW4ga2V5b2YgRGF0dW1dPzogeyBjb2xvcjogc3RyaW5nLCBjbGFzc05hbWU/OiBzdHJpbmcgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXGhlYWx0aHk6IHsgY29sb3I6ICdncmVlbicgfSxcbiAgICogXFx3YXJuaW5nOiB7IGNvbG9yOiAnb3JhbmdlJyB9LFxuICAgKiBcXGRhbmdlcjogeyBjb2xvcjogJ3JlZCcgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiB3aGVyZSBldmVyeSBkYXRhIHBvaW50IGhhcyB0aGUgYGhlYWx0aHlgLCBgd2FybmluZ2AgYW5kIGBkYW5nZXJgIG51bWVyaWNhbCBvciBib29sZWFuIHByb3BlcnR5LiAqL1xuICBASW5wdXQoKSBjb2xvck1hcD86IExlYWZsZXRNYXBQb2ludFN0eWxlczxEYXR1bT5cblxuICAvKiogQSBUb3BvSlNPTiBHZW9tZXRyeSBsYXllciB0byBiZSBkaXNwbGF5ZWQgb24gdG9wIG9mIHRoZSBtYXAuIFN1cHBvcnRzIGZpbGwgYW5kIHN0cm9rZSAqL1xuICBASW5wdXQoKSB0b3BvSlNPTkxheWVyPzoge1xuICAgIHNvdXJjZXM6IGFueTtcbiAgICBmZWF0dXJlTmFtZT86IHN0cmluZztcbiAgICBmaWxsUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgc3Ryb2tlUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgZmlsbE9wYWNpdHk/OiBudW1iZXI7XG4gICAgc3Ryb2tlT3BhY2l0eT86IG51bWJlcjtcbiAgICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgfVxuXG4gIC8qKiBUb29sdGlwIGNvbXBvbmVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdG9vbHRpcD86IFRvb2x0aXBcblxuICAvKiogQWx0ZXJuYXRpdmUgdGV4dCBkZXNjcmlwdGlvbiBvZiB0aGUgY2hhcnQgZm9yIGFjY2Vzc2liaWxpdHkgcHVycG9zZXMuIEl0IHdpbGwgYmUgYXBwbGllZCBhcyBhblxuICAgKiBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHRoZSBkaXYgZWxlbWVudCBjb250YWluaW5nIHlvdXIgY2hhcnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gIEBJbnB1dCgpIGRhdGE6IERhdHVtW11cblxuICBjb21wb25lbnQ6IExlYWZsZXRNYXA8RGF0dW0+IHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBMZWFmbGV0TWFwPERhdHVtPih0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmdldENvbmZpZygpLCB0aGlzLmRhdGEpXG5cbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC5zZXREYXRhKHRoaXMuZGF0YSlcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHsgdGhpcy5jb21wb25lbnQ/LnNldERhdGEodGhpcy5kYXRhKSB9XG4gICAgdGhpcy5jb21wb25lbnQ/LnNldENvbmZpZyh0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25maWcgKCk6IExlYWZsZXRNYXBDb25maWdJbnRlcmZhY2U8RGF0dW0+IHtcbiAgICBjb25zdCB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHdpZHRoLCBoZWlnaHQsIGZseVRvRHVyYXRpb24sIGZpdFZpZXdQYWRkaW5nLCB6b29tRHVyYXRpb24sIGluaXRpYWxCb3VuZHMsIGZpdEJvdW5kc09uVXBkYXRlLCBmaXRWaWV3T25Jbml0LCBmaXRWaWV3T25VcGRhdGUsIHN0eWxlLCBzdHlsZURhcmtUaGVtZSwgYWNjZXNzVG9rZW4sIGF0dHJpYnV0aW9uLCByZW5kZXJlciwgb25NYXBJbml0aWFsaXplZCwgb25NYXBNb3ZlWm9vbSwgb25NYXBNb3ZlU3RhcnQsIG9uTWFwTW92ZUVuZCwgb25NYXBab29tU3RhcnQsIG9uTWFwWm9vbUVuZCwgb25NYXBDbGljaywgcG9pbnRMb25naXR1ZGUsIHBvaW50TGF0aXR1ZGUsIHBvaW50SWQsIHBvaW50U2hhcGUsIHBvaW50Q29sb3IsIHBvaW50UmFkaXVzLCBwb2ludExhYmVsLCBwb2ludExhYmVsQ29sb3IsIHBvaW50Qm90dG9tTGFiZWwsIHBvaW50Q3Vyc29yLCBwb2ludFJpbmdXaWR0aCwgc2VsZWN0ZWRQb2ludElkLCBjbHVzdGVyQ29sb3IsIGNsdXN0ZXJSYWRpdXMsIGNsdXN0ZXJMYWJlbCwgY2x1c3RlckxhYmVsQ29sb3IsIGNsdXN0ZXJCb3R0b21MYWJlbCwgY2x1c3RlclJpbmdXaWR0aCwgY2x1c3RlckJhY2tncm91bmQsIGNsdXN0ZXJFeHBhbmRPbkNsaWNrLCBjbHVzdGVyaW5nRGlzdGFuY2UsIGNvbG9yTWFwLCB0b3BvSlNPTkxheWVyLCB0b29sdGlwLCBhcmlhTGFiZWwgfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHdpZHRoLCBoZWlnaHQsIGZseVRvRHVyYXRpb24sIGZpdFZpZXdQYWRkaW5nLCB6b29tRHVyYXRpb24sIGluaXRpYWxCb3VuZHMsIGZpdEJvdW5kc09uVXBkYXRlLCBmaXRWaWV3T25Jbml0LCBmaXRWaWV3T25VcGRhdGUsIHN0eWxlLCBzdHlsZURhcmtUaGVtZSwgYWNjZXNzVG9rZW4sIGF0dHJpYnV0aW9uLCByZW5kZXJlciwgb25NYXBJbml0aWFsaXplZCwgb25NYXBNb3ZlWm9vbSwgb25NYXBNb3ZlU3RhcnQsIG9uTWFwTW92ZUVuZCwgb25NYXBab29tU3RhcnQsIG9uTWFwWm9vbUVuZCwgb25NYXBDbGljaywgcG9pbnRMb25naXR1ZGUsIHBvaW50TGF0aXR1ZGUsIHBvaW50SWQsIHBvaW50U2hhcGUsIHBvaW50Q29sb3IsIHBvaW50UmFkaXVzLCBwb2ludExhYmVsLCBwb2ludExhYmVsQ29sb3IsIHBvaW50Qm90dG9tTGFiZWwsIHBvaW50Q3Vyc29yLCBwb2ludFJpbmdXaWR0aCwgc2VsZWN0ZWRQb2ludElkLCBjbHVzdGVyQ29sb3IsIGNsdXN0ZXJSYWRpdXMsIGNsdXN0ZXJMYWJlbCwgY2x1c3RlckxhYmVsQ29sb3IsIGNsdXN0ZXJCb3R0b21MYWJlbCwgY2x1c3RlclJpbmdXaWR0aCwgY2x1c3RlckJhY2tncm91bmQsIGNsdXN0ZXJFeHBhbmRPbkNsaWNrLCBjbHVzdGVyaW5nRGlzdGFuY2UsIGNvbG9yTWFwLCB0b3BvSlNPTkxheWVyLCB0b29sdGlwLCBhcmlhTGFiZWwgfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBMZWFmbGV0TWFwQ29uZmlnSW50ZXJmYWNlPERhdHVtPilbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ // !!! This code was automatically generated. You should not change it !!!
1
2
  import { NgModule } from '@angular/core';
2
3
  import { VisLeafletMapComponent } from './leaflet-map.component';
3
4
  import * as i0 from "@angular/core";
@@ -14,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
14
15
  exports: [VisLeafletMapComponent],
15
16
  }]
16
17
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1tYXAubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2h0bWwtY29tcG9uZW50cy9sZWFmbGV0LW1hcC9sZWFmbGV0LW1hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTs7QUFPaEUsTUFBTSxPQUFPLG1CQUFtQjs7aUhBQW5CLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGlCQUhmLHNCQUFzQixhQUMzQixzQkFBc0I7a0hBRXJCLG1CQUFtQixZQUpyQixFQUFFOzRGQUlBLG1CQUFtQjtrQkFML0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVmlzTGVhZmxldE1hcENvbXBvbmVudCB9IGZyb20gJy4vbGVhZmxldC1tYXAuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbVmlzTGVhZmxldE1hcENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtWaXNMZWFmbGV0TWFwQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzTGVhZmxldE1hcE1vZHVsZSB7fVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1tYXAubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2h0bWwtY29tcG9uZW50cy9sZWFmbGV0LW1hcC9sZWFmbGV0LW1hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEVBQTBFO0FBQzFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUE7O0FBT2hFLE1BQU0sT0FBTyxtQkFBbUI7O2lIQUFuQixtQkFBbUI7a0hBQW5CLG1CQUFtQixpQkFIZixzQkFBc0IsYUFDM0Isc0JBQXNCO2tIQUVyQixtQkFBbUIsWUFKckIsRUFBRTs0RkFJQSxtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBWaXNMZWFmbGV0TWFwQ29tcG9uZW50IH0gZnJvbSAnLi9sZWFmbGV0LW1hcC5jb21wb25lbnQnXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtWaXNMZWFmbGV0TWFwQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1Zpc0xlYWZsZXRNYXBDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNMZWFmbGV0TWFwTW9kdWxlIHt9XG4iXX0=