@unovis/angular 1.3.4-beta.2 → 1.4.0-beta.0

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.
@@ -0,0 +1,26 @@
1
+ import { AfterViewInit, SimpleChanges } from '@angular/core';
2
+ import { Annotations, AnnotationsConfigInterface, ContainerCore, AnnotationItem } from '@unovis/ts';
3
+ import * as i0 from "@angular/core";
4
+ export declare class VisAnnotationsComponent implements AnnotationsConfigInterface, AfterViewInit {
5
+ /** Legend items. Array of `AnnotationItem`:
6
+ * ```
7
+ * {
8
+ * content: string | UnovisText | UnovisText[];
9
+ * subject?: AnnotationSubject;
10
+ * x?: LengthUnit;
11
+ * y?: LengthUnit;
12
+ * width?: LengthUnit;
13
+ * height?: LengthUnit;
14
+ * }
15
+ * ```
16
+ * To learn more, see our docs https://unovis.dev/docs/auxiliary/Annotations/
17
+ * Default: `[]` */
18
+ items: AnnotationItem[] | undefined;
19
+ component: Annotations | undefined;
20
+ componentContainer: ContainerCore | undefined;
21
+ ngAfterViewInit(): void;
22
+ ngOnChanges(changes: SimpleChanges): void;
23
+ private getConfig;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<VisAnnotationsComponent, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<VisAnnotationsComponent, "vis-annotations", never, { "items": "items"; }, {}, never, never>;
26
+ }
@@ -71,7 +71,7 @@ export declare class VisAreaComponent<Datum> implements AreaConfigInterface<Datu
71
71
  * Default: `false` */
72
72
  excludeFromDomainCalculation?: boolean;
73
73
  /** Curve type from the CurveType enum. Default: `CurveType.MonotoneX` */
74
- curveType?: CurveType;
74
+ curveType?: CurveType | string;
75
75
  /** Baseline value or accessor function. Default: `undefined` */
76
76
  baseline?: NumericAccessor<Datum>;
77
77
  /** Opacity value or accessor function. Default: `1` */
@@ -2,11 +2,13 @@ import { ElementRef, AfterViewInit, OnDestroy, SimpleChanges } from '@angular/co
2
2
  import { ComponentCore, SingleContainer, SingleContainerConfigInterface, Spacing } from '@unovis/ts';
3
3
  import { VisCoreComponent } from '../../core';
4
4
  import { VisTooltipComponent } from '../../components/tooltip/tooltip.component';
5
+ import { VisAnnotationsComponent } from '../../components/annotations/annotations.component';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class VisSingleContainerComponent<Data = unknown, C extends ComponentCore<Data> = ComponentCore<Data>> implements AfterViewInit, OnDestroy {
7
8
  containerRef: ElementRef;
8
9
  visComponent: VisCoreComponent;
9
10
  tooltipComponent: VisTooltipComponent;
11
+ annotationsComponent: VisAnnotationsComponent;
10
12
  /** Width in pixels. By default, Container automatically fits to the size of the parent element. Default: `undefined`. */
11
13
  width?: number;
12
14
  /** Height in pixels. By default, Container automatically fits to the size of the parent element. Default: `undefined`. */
@@ -27,5 +29,5 @@ export declare class VisSingleContainerComponent<Data = unknown, C extends Compo
27
29
  getConfig(): SingleContainerConfigInterface<Data>;
28
30
  ngOnDestroy(): void;
29
31
  static ɵfac: i0.ɵɵFactoryDeclaration<VisSingleContainerComponent<any, any>, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<VisSingleContainerComponent<any, any>, "vis-single-container", never, { "width": "width"; "height": "height"; "margin": "margin"; "duration": "duration"; "ariaLabel": "ariaLabel"; "data": "data"; }, {}, ["visComponent", "tooltipComponent"], ["*"]>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<VisSingleContainerComponent<any, any>, "vis-single-container", never, { "width": "width"; "height": "height"; "margin": "margin"; "duration": "duration"; "ariaLabel": "ariaLabel"; "data": "data"; }, {}, ["visComponent", "tooltipComponent", "annotationsComponent"], ["*"]>;
31
33
  }
@@ -2,11 +2,13 @@ import { AfterContentInit, AfterViewInit, ElementRef, OnDestroy, QueryList, Simp
2
2
  import { ContinuousScale, Direction, Spacing, XYContainer, XYContainerConfigInterface } from '@unovis/ts';
3
3
  import { VisXYComponent } from '../../core';
4
4
  import { VisTooltipComponent } from '../../components/tooltip/tooltip.component';
5
+ import { VisAnnotationsComponent } from '../../components/annotations/annotations.component';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class VisXYContainerComponent<Datum> implements AfterViewInit, AfterContentInit, OnDestroy {
7
8
  containerRef: ElementRef;
8
9
  visComponents: QueryList<VisXYComponent>;
9
10
  tooltipComponent: VisTooltipComponent;
11
+ annotationsComponent: VisAnnotationsComponent;
10
12
  /** Width in pixels. By default, Container automatically fits to the size of the parent element. Default: `undefined`. */
11
13
  width?: number;
12
14
  /** Height in pixels. By default, Container automatically fits to the size of the parent element. Default: `undefined`. */
@@ -87,5 +89,5 @@ export declare class VisXYContainerComponent<Datum> implements AfterViewInit, Af
87
89
  passContainerReferenceToChildren(): void;
88
90
  ngOnDestroy(): void;
89
91
  static ɵfac: i0.ɵɵFactoryDeclaration<VisXYContainerComponent<any>, never>;
90
- static ɵcmp: i0.ɵɵComponentDeclaration<VisXYContainerComponent<any>, "vis-xy-container", never, { "width": "width"; "height": "height"; "xScale": "xScale"; "xDomain": "xDomain"; "xDomainMinConstraint": "xDomainMinConstraint"; "xDomainMaxConstraint": "xDomainMaxConstraint"; "xRange": "xRange"; "yScale": "yScale"; "yDomain": "yDomain"; "yDomainMinConstraint": "yDomainMinConstraint"; "yDomainMaxConstraint": "yDomainMaxConstraint"; "yRange": "yRange"; "yDirection": "yDirection"; "preventEmptyDomain": "preventEmptyDomain"; "duration": "duration"; "margin": "margin"; "padding": "padding"; "scaleByDomain": "scaleByDomain"; "autoMargin": "autoMargin"; "ariaLabel": "ariaLabel"; "data": "data"; }, {}, ["tooltipComponent", "visComponents"], ["*"]>;
92
+ static ɵcmp: i0.ɵɵComponentDeclaration<VisXYContainerComponent<any>, "vis-xy-container", never, { "width": "width"; "height": "height"; "xScale": "xScale"; "xDomain": "xDomain"; "xDomainMinConstraint": "xDomainMinConstraint"; "xDomainMaxConstraint": "xDomainMaxConstraint"; "xRange": "xRange"; "yScale": "yScale"; "yDomain": "yDomain"; "yDomainMinConstraint": "yDomainMinConstraint"; "yDomainMaxConstraint": "yDomainMaxConstraint"; "yRange": "yRange"; "yDirection": "yDirection"; "preventEmptyDomain": "preventEmptyDomain"; "duration": "duration"; "margin": "margin"; "padding": "padding"; "scaleByDomain": "scaleByDomain"; "autoMargin": "autoMargin"; "ariaLabel": "ariaLabel"; "data": "data"; }, {}, ["tooltipComponent", "annotationsComponent", "visComponents"], ["*"]>;
91
93
  }
@@ -0,0 +1,37 @@
1
+ // !!! This code was automatically generated. You should not change it !!!
2
+ import { Component, Input } from '@angular/core';
3
+ import { Annotations } from '@unovis/ts';
4
+ import { VisGenericComponent } from '../../core';
5
+ import * as i0 from "@angular/core";
6
+ export class VisAnnotationsComponent {
7
+ ngAfterViewInit() {
8
+ this.component = new Annotations(this.getConfig());
9
+ }
10
+ ngOnChanges(changes) {
11
+ var _a, _b;
12
+ (_a = this.component) === null || _a === void 0 ? void 0 : _a.setConfig(this.getConfig());
13
+ (_b = this.componentContainer) === null || _b === void 0 ? void 0 : _b.render();
14
+ }
15
+ getConfig() {
16
+ const { items } = this;
17
+ const config = { items };
18
+ const keys = Object.keys(config);
19
+ keys.forEach(key => { if (config[key] === undefined)
20
+ delete config[key]; });
21
+ return config;
22
+ }
23
+ }
24
+ VisAnnotationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
+ VisAnnotationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAnnotationsComponent, selector: "vis-annotations", inputs: { items: "items" }, providers: [{ provide: VisGenericComponent, useExisting: VisAnnotationsComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsComponent, decorators: [{
27
+ type: Component,
28
+ args: [{
29
+ selector: 'vis-annotations',
30
+ template: '',
31
+ // eslint-disable-next-line no-use-before-define
32
+ providers: [{ provide: VisGenericComponent, useExisting: VisAnnotationsComponent }],
33
+ }]
34
+ }], propDecorators: { items: [{
35
+ type: Input
36
+ }] } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQTZELE1BQU0sWUFBWSxDQUFBO0FBQ25HLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRaEQsTUFBTSxPQUFPLHVCQUF1QjtJQW9CbEMsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjs7UUFDakMsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7UUFDM0MsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLE1BQU0sRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQTtRQUN0QixNQUFNLE1BQU0sR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFBO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUF5QyxDQUFBO1FBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTO1lBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxRSxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7O3FIQXBDVSx1QkFBdUI7eUdBQXZCLHVCQUF1QixzRUFGdkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQywrQ0FGekUsRUFBRTs0RkFJRCx1QkFBdUI7a0JBTm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZ0RBQWdEO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHlCQUF5QixFQUFFLENBQUM7aUJBQ3BGOzhCQWVVLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFubm90YXRpb25zLCBBbm5vdGF0aW9uc0NvbmZpZ0ludGVyZmFjZSwgQ29udGFpbmVyQ29yZSwgQW5ub3RhdGlvbkl0ZW0gfSBmcm9tICdAdW5vdmlzL3RzJ1xuaW1wb3J0IHsgVmlzR2VuZXJpY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1hbm5vdGF0aW9ucycsXG4gIHRlbXBsYXRlOiAnJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVmlzR2VuZXJpY0NvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFZpc0Fubm90YXRpb25zQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNBbm5vdGF0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFubm90YXRpb25zQ29uZmlnSW50ZXJmYWNlLCBBZnRlclZpZXdJbml0IHtcbiAgLyoqIExlZ2VuZCBpdGVtcy4gQXJyYXkgb2YgYEFubm90YXRpb25JdGVtYDpcbiAgICogYGBgXG4gICAqIHtcbiAgICogIGNvbnRlbnQ6IHN0cmluZyB8IFVub3Zpc1RleHQgfCBVbm92aXNUZXh0W107XG4gICAqICBzdWJqZWN0PzogQW5ub3RhdGlvblN1YmplY3Q7XG4gICAqICB4PzogTGVuZ3RoVW5pdDtcbiAgICogIHk/OiBMZW5ndGhVbml0O1xuICAgKiAgd2lkdGg/OiBMZW5ndGhVbml0O1xuICAgKiAgaGVpZ2h0PzogTGVuZ3RoVW5pdDtcbiAgICogfVxuICAgKiBgYGBcbiAgICogVG8gbGVhcm4gbW9yZSwgc2VlIG91ciBkb2NzIGh0dHBzOi8vdW5vdmlzLmRldi9kb2NzL2F1eGlsaWFyeS9Bbm5vdGF0aW9ucy9cbiAgICogRGVmYXVsdDogYFtdYCAqL1xuICBASW5wdXQoKSBpdGVtczogQW5ub3RhdGlvbkl0ZW1bXSB8IHVuZGVmaW5lZFxuXG5cbiAgY29tcG9uZW50OiBBbm5vdGF0aW9ucyB8IHVuZGVmaW5lZFxuICBwdWJsaWMgY29tcG9uZW50Q29udGFpbmVyOiBDb250YWluZXJDb3JlIHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBBbm5vdGF0aW9ucyh0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudD8uc2V0Q29uZmlnKHRoaXMuZ2V0Q29uZmlnKCkpXG4gICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gIH1cblxuICBwcml2YXRlIGdldENvbmZpZyAoKTogQW5ub3RhdGlvbnNDb25maWdJbnRlcmZhY2Uge1xuICAgIGNvbnN0IHsgaXRlbXMgfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGl0ZW1zIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgQW5ub3RhdGlvbnNDb25maWdJbnRlcmZhY2UpW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
72
72
  }], data: [{
73
73
  type: Input
74
74
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcmVhL2FyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBVUwsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQXFHM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsNEJBQTRCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNoSyxNQUFNLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLDRCQUE0QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQTtRQUNsSyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBeUMsQ0FBQTtRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUztZQUFFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFMUUsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDOzs4R0EzSFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsNlhBRmhCLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLCtDQUY3RCxFQUFFOzRGQUlELGdCQUFnQjtrQkFONUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZ0RBQWdEO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxrQkFBa0IsRUFBRSxDQUFDO2lCQUN4RTs4QkFHVSxRQUFRO3NCQUFoQixLQUFLO2dCQW1CRyxNQUFNO3NCQUFkLEtBQUs7Z0JBd0JHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csQ0FBQztzQkFBVCxLQUFLO2dCQUdHLENBQUM7c0JBQVQsS0FBSztnQkFHRyxFQUFFO3NCQUFWLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBTUcsNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQU1HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQXJlYSxcbiAgQXJlYUNvbmZpZ0ludGVyZmFjZSxcbiAgQ29udGFpbmVyQ29yZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBOdW1lcmljQWNjZXNzb3IsXG4gIENvbG9yQWNjZXNzb3IsXG4gIENvbnRpbnVvdXNTY2FsZSxcbiAgQ3VydmVUeXBlLFxuICBTdHJpbmdBY2Nlc3Nvcixcbn0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc1hZQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLWFyZWEnLFxuICB0ZW1wbGF0ZTogJycsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZpc1hZQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzQXJlYUNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzQXJlYUNvbXBvbmVudDxEYXR1bT4gaW1wbGVtZW50cyBBcmVhQ29uZmlnSW50ZXJmYWNlPERhdHVtPiwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gb2YgdGhlIGRhdGEgdXBkYXRlIHRyYW5zaXRpb25zIGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdDogYDYwMGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogRXZlbnRzIGNvbmZpZ3VyYXRpb24uIEFuIG9iamVjdCBjb250YWluaW5nIHByb3BlcnRpZXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbZXZlbnRUeXBlXTogY2FsbGJhY2tGdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBjbGljazogKGQpID0+IGNvbnNvbGUubG9nKFwiQ2xpY2tlZCBBcmVhXCIsIGQpXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGV2ZW50cz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFtldmVudFR5cGUgaW4gVmlzRXZlbnRUeXBlXT86IFZpc0V2ZW50Q2FsbGJhY2tcbiAgICB9O1xuICB9XG5cbiAgLyoqIFlvdSBjYW4gc2V0IGV2ZXJ5IFNWRyBhbmQgSFRNTCB2aXN1YWxpemF0aW9uIG9iamVjdCB0byBoYXZlIGEgY3VzdG9tIERPTSBhdHRyaWJ1dGVzLCB3aGljaCBpcyB1c2VmdWxcbiAgICogd2hlbiB5b3Ugd2FudCB0byBkbyB1bml0IG9yIGVuZC10by1lbmQgdGVzdGluZy4gQXR0cmlidXRlcyBjb25maWd1cmF0aW9uIG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbYXR0cmlidXRlTmFtZV06IGF0dHJpYnV0ZSBjb25zdGFudCB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBcInRlc3QtdmFsdWVcIjogZCA9PiBkLnZhbHVlXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbYXR0cjogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8ICgoZGF0dW06IGFueSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbik7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBBY2Nlc3NvciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB0aGUgdmFsdWVzIGFsb25nIHRoZSBYIGF4aXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHg6IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogQSBzaW5nbGUgb2YgbXVsdGlwbGUgYWNjZXNzb3IgZnVuY3Rpb25zIGZvciBnZXR0aW5nIHRoZSB2YWx1ZXMgYWxvbmcgdGhlIFkgYXhpcy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeTogTnVtZXJpY0FjY2Vzc29yPERhdHVtPiB8IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5bXVxuXG4gIC8qKiBBY2Nlc3NvciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB0aGUgdW5pcXVlIGRhdGEgcmVjb3JkIGlkLiBVc2VkIGZvciBtb3JlIHBlcnNpc3RlbnQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgKGQsIGkpID0+IGQuaWQgPz8gaWAgKi9cbiAgQElucHV0KCkgaWQ/OiAoKGQ6IERhdHVtLCBpOiBudW1iZXIsIC4uLnJlc3QpID0+IHN0cmluZylcblxuICAvKiogQXJlYSBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbi4gVGhlIHdob2xlIGRhdGEgYXJyYXkgd2lsbCBiZSBwYXNzZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBjb2xvcj86IENvbG9yQWNjZXNzb3I8RGF0dW1bXT5cblxuICAvKiogU2NhbGUgZm9yIFggZGltZW5zaW9uLCBlLmcuIFNjYWxlLnNjYWxlTGluZWFyKCkuIElmIHlvdSBzZXQgeFNjYWxlIHlvdSdsbCBiZSByZXNwb25zaWJsZSBmb3Igc2V0dGluZyBpdCdzIGBkb21haW5gIGFuZCBgcmFuZ2VgIGFzIHdlbGwuXG4gICAqIE9ubHkgY29udGludW91cyBzY2FsZXMgYXJlIHN1cHBvcnRlZC5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeFNjYWxlPzogQ29udGludW91c1NjYWxlXG5cbiAgLyoqIFNjYWxlIGZvciBZIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5zY2FsZUxpbmVhcigpLiBJZiB5b3Ugc2V0IHlTY2FsZSB5b3UnbGwgYmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgaXQncyBgZG9tYWluYCBhbmQgYHJhbmdlYCBhcyB3ZWxsLlxuICAgKiBPbmx5IGNvbnRpbnVvdXMgc2NhbGVzIGFyZSBzdXBwb3J0ZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHlTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuXG4gIC8qKiBJZGVudGlmaWVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBvdmVyYWxsIFggYW5kIFkgZG9tYWluIGNhbGN1bGF0aW9ucyBvciBub3QuXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHBhc3MgaW5kaXZpZHVhbCBkYXRhIHRvIGEgY29tcG9uZW50IGFuZCB5b3UgZG9uJ3Qgd2FudCBpdCB0byBhZmZlY3RcbiAgICogdGhlIHNjYWxlcyBvZiB0aGUgY2hhcnQuXG4gICAqIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbj86IGJvb2xlYW5cblxuICAvKiogQ3VydmUgdHlwZSBmcm9tIHRoZSBDdXJ2ZVR5cGUgZW51bS4gRGVmYXVsdDogYEN1cnZlVHlwZS5Nb25vdG9uZVhgICovXG4gIEBJbnB1dCgpIGN1cnZlVHlwZT86IEN1cnZlVHlwZVxuXG4gIC8qKiBCYXNlbGluZSB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgYmFzZWxpbmU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIE9wYWNpdHkgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGAxYCAqL1xuICBASW5wdXQoKSBvcGFjaXR5PzogTnVtZXJpY0FjY2Vzc29yPERhdHVtW10+XG5cbiAgLyoqIE9wdGlvbmFsIGFyZWEgY3Vyc29yLiBTdHJpbmcgb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBjdXJzb3I/OiBTdHJpbmdBY2Nlc3NvcjxEYXR1bVtdPlxuXG4gIC8qKiBJZiBhbiBhcmVhIGlzIHNtYWxsZXIgdGhhbiAxcHgsIGV4dGVuZCBpdCB0byBoYXZlIDFweCBoZWlnaHQuXG4gICAqIFRoaXMgc2V0dGluZyBpcyB1c2VmdWwgd2hlbiBzb21lIG9mIHRoZSBhcmVhIHZhbHVlcyBhcmUgemVyb3Mgb3IgdmVyeSBzbWFsbCBzbyB2aXN1YWxseSB0aGV5IGJlY29tZVxuICAgKiBwcmFjdGljYWxseSBpbnZpc2libGUsIGJ1dCB5b3Ugd2FudCB0byBzaG93IHRoYXQgdGhlIGRhdGEgYmVoaW5kIHRoZW0gZXhpc3RzIGFuZCB0aGV5J3JlIG5vdCBqdXN0IGVtcHR5IHNlZ21lbnRzLlxuICAgKiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIG1pbkhlaWdodDFQeD86IGJvb2xlYW5cbiAgQElucHV0KCkgZGF0YTogRGF0dW1bXVxuXG4gIGNvbXBvbmVudDogQXJlYTxEYXR1bT4gfCB1bmRlZmluZWRcbiAgcHVibGljIGNvbXBvbmVudENvbnRhaW5lcjogQ29udGFpbmVyQ29yZSB8IHVuZGVmaW5lZFxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgQXJlYTxEYXR1bT4odGhpcy5nZXRDb25maWcoKSlcblxuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LnNldERhdGEodGhpcy5kYXRhKVxuICAgICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7IHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSkgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBBcmVhQ29uZmlnSW50ZXJmYWNlPERhdHVtPiB7XG4gICAgY29uc3QgeyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCB4LCB5LCBpZCwgY29sb3IsIHhTY2FsZSwgeVNjYWxlLCBleGNsdWRlRnJvbURvbWFpbkNhbGN1bGF0aW9uLCBjdXJ2ZVR5cGUsIGJhc2VsaW5lLCBvcGFjaXR5LCBjdXJzb3IsIG1pbkhlaWdodDFQeCB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgeCwgeSwgaWQsIGNvbG9yLCB4U2NhbGUsIHlTY2FsZSwgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbiwgY3VydmVUeXBlLCBiYXNlbGluZSwgb3BhY2l0eSwgY3Vyc29yLCBtaW5IZWlnaHQxUHggfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBBcmVhQ29uZmlnSW50ZXJmYWNlPERhdHVtPilbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcmVhL2FyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBVUwsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQXFHM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsNEJBQTRCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNoSyxNQUFNLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLDRCQUE0QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQTtRQUNsSyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBeUMsQ0FBQTtRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUztZQUFFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFMUUsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDOzs4R0EzSFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsNlhBRmhCLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLCtDQUY3RCxFQUFFOzRGQUlELGdCQUFnQjtrQkFONUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZ0RBQWdEO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxrQkFBa0IsRUFBRSxDQUFDO2lCQUN4RTs4QkFHVSxRQUFRO3NCQUFoQixLQUFLO2dCQW1CRyxNQUFNO3NCQUFkLEtBQUs7Z0JBd0JHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csQ0FBQztzQkFBVCxLQUFLO2dCQUdHLENBQUM7c0JBQVQsS0FBSztnQkFHRyxFQUFFO3NCQUFWLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBTUcsNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQU1HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQXJlYSxcbiAgQXJlYUNvbmZpZ0ludGVyZmFjZSxcbiAgQ29udGFpbmVyQ29yZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBOdW1lcmljQWNjZXNzb3IsXG4gIENvbG9yQWNjZXNzb3IsXG4gIENvbnRpbnVvdXNTY2FsZSxcbiAgQ3VydmVUeXBlLFxuICBTdHJpbmdBY2Nlc3Nvcixcbn0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc1hZQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLWFyZWEnLFxuICB0ZW1wbGF0ZTogJycsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZpc1hZQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzQXJlYUNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzQXJlYUNvbXBvbmVudDxEYXR1bT4gaW1wbGVtZW50cyBBcmVhQ29uZmlnSW50ZXJmYWNlPERhdHVtPiwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gb2YgdGhlIGRhdGEgdXBkYXRlIHRyYW5zaXRpb25zIGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdDogYDYwMGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogRXZlbnRzIGNvbmZpZ3VyYXRpb24uIEFuIG9iamVjdCBjb250YWluaW5nIHByb3BlcnRpZXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbZXZlbnRUeXBlXTogY2FsbGJhY2tGdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBjbGljazogKGQpID0+IGNvbnNvbGUubG9nKFwiQ2xpY2tlZCBBcmVhXCIsIGQpXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGV2ZW50cz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFtldmVudFR5cGUgaW4gVmlzRXZlbnRUeXBlXT86IFZpc0V2ZW50Q2FsbGJhY2tcbiAgICB9O1xuICB9XG5cbiAgLyoqIFlvdSBjYW4gc2V0IGV2ZXJ5IFNWRyBhbmQgSFRNTCB2aXN1YWxpemF0aW9uIG9iamVjdCB0byBoYXZlIGEgY3VzdG9tIERPTSBhdHRyaWJ1dGVzLCB3aGljaCBpcyB1c2VmdWxcbiAgICogd2hlbiB5b3Ugd2FudCB0byBkbyB1bml0IG9yIGVuZC10by1lbmQgdGVzdGluZy4gQXR0cmlidXRlcyBjb25maWd1cmF0aW9uIG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbYXR0cmlidXRlTmFtZV06IGF0dHJpYnV0ZSBjb25zdGFudCB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBcInRlc3QtdmFsdWVcIjogZCA9PiBkLnZhbHVlXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbYXR0cjogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8ICgoZGF0dW06IGFueSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbik7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBBY2Nlc3NvciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB0aGUgdmFsdWVzIGFsb25nIHRoZSBYIGF4aXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHg6IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogQSBzaW5nbGUgb2YgbXVsdGlwbGUgYWNjZXNzb3IgZnVuY3Rpb25zIGZvciBnZXR0aW5nIHRoZSB2YWx1ZXMgYWxvbmcgdGhlIFkgYXhpcy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeTogTnVtZXJpY0FjY2Vzc29yPERhdHVtPiB8IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5bXVxuXG4gIC8qKiBBY2Nlc3NvciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB0aGUgdW5pcXVlIGRhdGEgcmVjb3JkIGlkLiBVc2VkIGZvciBtb3JlIHBlcnNpc3RlbnQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgKGQsIGkpID0+IGQuaWQgPz8gaWAgKi9cbiAgQElucHV0KCkgaWQ/OiAoKGQ6IERhdHVtLCBpOiBudW1iZXIsIC4uLnJlc3QpID0+IHN0cmluZylcblxuICAvKiogQXJlYSBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbi4gVGhlIHdob2xlIGRhdGEgYXJyYXkgd2lsbCBiZSBwYXNzZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBjb2xvcj86IENvbG9yQWNjZXNzb3I8RGF0dW1bXT5cblxuICAvKiogU2NhbGUgZm9yIFggZGltZW5zaW9uLCBlLmcuIFNjYWxlLnNjYWxlTGluZWFyKCkuIElmIHlvdSBzZXQgeFNjYWxlIHlvdSdsbCBiZSByZXNwb25zaWJsZSBmb3Igc2V0dGluZyBpdCdzIGBkb21haW5gIGFuZCBgcmFuZ2VgIGFzIHdlbGwuXG4gICAqIE9ubHkgY29udGludW91cyBzY2FsZXMgYXJlIHN1cHBvcnRlZC5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeFNjYWxlPzogQ29udGludW91c1NjYWxlXG5cbiAgLyoqIFNjYWxlIGZvciBZIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5zY2FsZUxpbmVhcigpLiBJZiB5b3Ugc2V0IHlTY2FsZSB5b3UnbGwgYmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgaXQncyBgZG9tYWluYCBhbmQgYHJhbmdlYCBhcyB3ZWxsLlxuICAgKiBPbmx5IGNvbnRpbnVvdXMgc2NhbGVzIGFyZSBzdXBwb3J0ZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHlTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuXG4gIC8qKiBJZGVudGlmaWVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBvdmVyYWxsIFggYW5kIFkgZG9tYWluIGNhbGN1bGF0aW9ucyBvciBub3QuXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHBhc3MgaW5kaXZpZHVhbCBkYXRhIHRvIGEgY29tcG9uZW50IGFuZCB5b3UgZG9uJ3Qgd2FudCBpdCB0byBhZmZlY3RcbiAgICogdGhlIHNjYWxlcyBvZiB0aGUgY2hhcnQuXG4gICAqIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbj86IGJvb2xlYW5cblxuICAvKiogQ3VydmUgdHlwZSBmcm9tIHRoZSBDdXJ2ZVR5cGUgZW51bS4gRGVmYXVsdDogYEN1cnZlVHlwZS5Nb25vdG9uZVhgICovXG4gIEBJbnB1dCgpIGN1cnZlVHlwZT86IEN1cnZlVHlwZSB8IHN0cmluZ1xuXG4gIC8qKiBCYXNlbGluZSB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgYmFzZWxpbmU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIE9wYWNpdHkgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGAxYCAqL1xuICBASW5wdXQoKSBvcGFjaXR5PzogTnVtZXJpY0FjY2Vzc29yPERhdHVtW10+XG5cbiAgLyoqIE9wdGlvbmFsIGFyZWEgY3Vyc29yLiBTdHJpbmcgb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBjdXJzb3I/OiBTdHJpbmdBY2Nlc3NvcjxEYXR1bVtdPlxuXG4gIC8qKiBJZiBhbiBhcmVhIGlzIHNtYWxsZXIgdGhhbiAxcHgsIGV4dGVuZCBpdCB0byBoYXZlIDFweCBoZWlnaHQuXG4gICAqIFRoaXMgc2V0dGluZyBpcyB1c2VmdWwgd2hlbiBzb21lIG9mIHRoZSBhcmVhIHZhbHVlcyBhcmUgemVyb3Mgb3IgdmVyeSBzbWFsbCBzbyB2aXN1YWxseSB0aGV5IGJlY29tZVxuICAgKiBwcmFjdGljYWxseSBpbnZpc2libGUsIGJ1dCB5b3Ugd2FudCB0byBzaG93IHRoYXQgdGhlIGRhdGEgYmVoaW5kIHRoZW0gZXhpc3RzIGFuZCB0aGV5J3JlIG5vdCBqdXN0IGVtcHR5IHNlZ21lbnRzLlxuICAgKiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIG1pbkhlaWdodDFQeD86IGJvb2xlYW5cbiAgQElucHV0KCkgZGF0YTogRGF0dW1bXVxuXG4gIGNvbXBvbmVudDogQXJlYTxEYXR1bT4gfCB1bmRlZmluZWRcbiAgcHVibGljIGNvbXBvbmVudENvbnRhaW5lcjogQ29udGFpbmVyQ29yZSB8IHVuZGVmaW5lZFxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgQXJlYTxEYXR1bT4odGhpcy5nZXRDb25maWcoKSlcblxuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LnNldERhdGEodGhpcy5kYXRhKVxuICAgICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7IHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSkgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBBcmVhQ29uZmlnSW50ZXJmYWNlPERhdHVtPiB7XG4gICAgY29uc3QgeyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCB4LCB5LCBpZCwgY29sb3IsIHhTY2FsZSwgeVNjYWxlLCBleGNsdWRlRnJvbURvbWFpbkNhbGN1bGF0aW9uLCBjdXJ2ZVR5cGUsIGJhc2VsaW5lLCBvcGFjaXR5LCBjdXJzb3IsIG1pbkhlaWdodDFQeCB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgeCwgeSwgaWQsIGNvbG9yLCB4U2NhbGUsIHlTY2FsZSwgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbiwgY3VydmVUeXBlLCBiYXNlbGluZSwgb3BhY2l0eSwgY3Vyc29yLCBtaW5IZWlnaHQxUHggfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBBcmVhQ29uZmlnSW50ZXJmYWNlPERhdHVtPilbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
@@ -3,6 +3,7 @@ import { Component, ViewChild, Input, ContentChild } from '@angular/core';
3
3
  import { SingleContainer } from '@unovis/ts';
4
4
  import { VisCoreComponent } from '../../core';
5
5
  import { VisTooltipComponent } from '../../components/tooltip/tooltip.component';
6
+ import { VisAnnotationsComponent } from '../../components/annotations/annotations.component';
6
7
  import * as i0 from "@angular/core";
7
8
  export class VisSingleContainerComponent {
8
9
  constructor() {
@@ -25,18 +26,19 @@ export class VisSingleContainerComponent {
25
26
  (_b = this.chart) === null || _b === void 0 ? void 0 : _b.updateContainer(this.getConfig());
26
27
  }
27
28
  getConfig() {
28
- var _a, _b;
29
+ var _a, _b, _c;
29
30
  const { width, height, duration, margin, ariaLabel } = this;
30
31
  const component = (_a = this.visComponent) === null || _a === void 0 ? void 0 : _a.component;
31
32
  const tooltip = (_b = this.tooltipComponent) === null || _b === void 0 ? void 0 : _b.component;
32
- return { width, height, duration, margin, component, tooltip, ariaLabel };
33
+ const annotations = (_c = this.annotationsComponent) === null || _c === void 0 ? void 0 : _c.component;
34
+ return { width, height, duration, margin, component, tooltip, ariaLabel, annotations };
33
35
  }
34
36
  ngOnDestroy() {
35
37
  this.chart.destroy();
36
38
  }
37
39
  }
38
40
  VisSingleContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSingleContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- VisSingleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSingleContainerComponent, selector: "vis-single-container", inputs: { width: "width", height: "height", margin: "margin", duration: "duration", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "visComponent", first: true, predicate: VisCoreComponent, descendants: true }, { propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-single-container">
41
+ VisSingleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSingleContainerComponent, selector: "vis-single-container", inputs: { width: "width", height: "height", margin: "margin", duration: "duration", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "visComponent", first: true, predicate: VisCoreComponent, descendants: true }, { propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "annotationsComponent", first: true, predicate: VisAnnotationsComponent, descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-single-container">
40
42
  <ng-content></ng-content>
41
43
  </div>`, isInline: true, styles: [".unovis-single-container { width: 100%; height: 100%; position: relative; }"] });
42
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSingleContainerComponent, decorators: [{
@@ -57,6 +59,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
57
59
  }], tooltipComponent: [{
58
60
  type: ContentChild,
59
61
  args: [VisTooltipComponent]
62
+ }], annotationsComponent: [{
63
+ type: ContentChild,
64
+ args: [VisAnnotationsComponent]
60
65
  }], width: [{
61
66
  type: Input
62
67
  }], height: [{
@@ -70,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
70
75
  }], data: [{
71
76
  type: Input
72
77
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29udGFpbmVycy9zaW5nbGUtY29udGFpbmVyL3NpbmdsZS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE2QixLQUFLLEVBQTRCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU5SCxNQUFNO0FBQ04sT0FBTyxFQUFpQixlQUFlLEVBQW9ELE1BQU0sWUFBWSxDQUFBO0FBQzdHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTs7QUFTaEYsTUFBTSxPQUFPLDJCQUEyQjtJQVB4QztRQWlCRSxtRUFBbUU7UUFDMUQsV0FBTSxHQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFBO0tBeUNyRTtJQTdCQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BHLHVGQUF1RjtRQUN2RixJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDbkQsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjs7UUFDakMsaUNBQWlDO1FBQ2pDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ3BDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQTtTQUNwQjtRQUVELDhCQUE4QjtRQUM5QixNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsU0FBUzs7UUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUUzRCxNQUFNLFNBQVMsR0FBRyxNQUFBLElBQUksQ0FBQyxZQUFZLDBDQUFFLFNBQWMsQ0FBQTtRQUNuRCxNQUFNLE9BQU8sR0FBRyxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsMENBQUUsU0FBb0IsQ0FBQTtRQUUzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUE7SUFDM0UsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3RCLENBQUM7O3lIQW5EVSwyQkFBMkI7NkdBQTNCLDJCQUEyQixrT0FFeEIsZ0JBQWdCLG1GQUNoQixtQkFBbUIsZ0xBUnZCOztTQUVIOzRGQUdJLDJCQUEyQjtrQkFQdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7O1NBRUg7b0JBQ1AsTUFBTSxFQUFFLENBQUMsNkVBQTZFLENBQUM7aUJBQ3hGOzhCQUU0QyxZQUFZO3NCQUF0RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ1QsWUFBWTtzQkFBM0MsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBQ0ssZ0JBQWdCO3NCQUFsRCxZQUFZO3VCQUFDLG1CQUFtQjtnQkFHeEIsS0FBSztzQkFBYixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBJbnB1dCwgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG4vLyBWaXNcbmltcG9ydCB7IENvbXBvbmVudENvcmUsIFNpbmdsZUNvbnRhaW5lciwgU2luZ2xlQ29udGFpbmVyQ29uZmlnSW50ZXJmYWNlLCBUb29sdGlwLCBTcGFjaW5nIH0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc0NvcmVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuaW1wb3J0IHsgVmlzVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLXNpbmdsZS1jb250YWluZXInLFxuICB0ZW1wbGF0ZTogYDxkaXYgI2NvbnRhaW5lciBjbGFzcz1cInVub3Zpcy1zaW5nbGUtY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5gLFxuICBzdHlsZXM6IFsnLnVub3Zpcy1zaW5nbGUtY29udGFpbmVyIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcG9zaXRpb246IHJlbGF0aXZlOyB9J10sXG59KVxuZXhwb3J0IGNsYXNzIFZpc1NpbmdsZUNvbnRhaW5lckNvbXBvbmVudDxEYXRhID0gdW5rbm93biwgQyBleHRlbmRzIENvbXBvbmVudENvcmU8RGF0YT4gPSBDb21wb25lbnRDb3JlPERhdGE+PiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWZcbiAgQENvbnRlbnRDaGlsZChWaXNDb3JlQ29tcG9uZW50KSB2aXNDb21wb25lbnQ6IFZpc0NvcmVDb21wb25lbnRcbiAgQENvbnRlbnRDaGlsZChWaXNUb29sdGlwQ29tcG9uZW50KSB0b29sdGlwQ29tcG9uZW50OiBWaXNUb29sdGlwQ29tcG9uZW50XG5cbiAgLyoqIFdpZHRoIGluIHBpeGVscy4gQnkgZGVmYXVsdCwgQ29udGFpbmVyIGF1dG9tYXRpY2FsbHkgZml0cyB0byB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGVsZW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSB3aWR0aD86IG51bWJlclxuICAvKiogSGVpZ2h0IGluIHBpeGVscy4gQnkgZGVmYXVsdCwgQ29udGFpbmVyIGF1dG9tYXRpY2FsbHkgZml0cyB0byB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGVsZW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSBoZWlnaHQ/OiBudW1iZXJcblxuICAvKiogTWFyZ2lucy4gRGVmYXVsdDogYHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH1gICovXG4gIEBJbnB1dCgpIG1hcmdpbj86IFNwYWNpbmcgPSB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9XG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gb2YgYWxsIHRoZSBjb21wb25lbnRzIHdpdGhpbiB0aGUgY29udGFpbmVyLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBkdXJhdGlvbj86IG51bWJlclxuICAvKiogQWx0ZXJuYXRpdmUgdGV4dCBkZXNjcmlwdGlvbiBvZiB0aGUgY2hhcnQgZm9yIGFjY2Vzc2liaWxpdHkgcHVycG9zZXMuIEl0IHdpbGwgYmUgYXBwbGllZCBhcyBhblxuICAgKiBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHRoZSBkaXYgZWxlbWVudCBjb250YWluaW5nIHlvdXIgY2hhcnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLlxuICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gIC8qKiBEYXRhIHRvIGJlIHBhc3NlZCB0byB0aGUgY29tcG9uZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gKi9cbiAgQElucHV0KCkgZGF0YT86IERhdGFcblxuICBjaGFydDogU2luZ2xlQ29udGFpbmVyPERhdGE+XG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYXJ0ID0gbmV3IFNpbmdsZUNvbnRhaW5lcjxEYXRhPih0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmdldENvbmZpZygpLCB0aGlzLmRhdGEpXG4gICAgLy8gV2UgcGFzcyB0aGUgY29udGFpbmVyIGZvciB0aGUgY29tcG9uZW50IHRvIHRyaWdnZXIgcmUtcmVuZGVyIGlmIHRoZSBkYXRhIGhhcyBjaGFuZ2VkXG4gICAgdGhpcy52aXNDb21wb25lbnQuY29tcG9uZW50Q29udGFpbmVyID0gdGhpcy5jaGFydFxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAvLyBTZXQgbmV3IERhdGEgd2l0aG91dCByZS1yZW5kZXJcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7XG4gICAgICB0aGlzLmNoYXJ0Py5zZXREYXRhKHRoaXMuZGF0YSwgdHJ1ZSlcbiAgICAgIGRlbGV0ZSBjaGFuZ2VzLmRhdGFcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgQ29udGFpbmVyIGFuZCByZW5kZXJcbiAgICB0aGlzLmNoYXJ0Py51cGRhdGVDb250YWluZXIodGhpcy5nZXRDb25maWcoKSlcbiAgfVxuXG4gIGdldENvbmZpZyAoKTogU2luZ2xlQ29udGFpbmVyQ29uZmlnSW50ZXJmYWNlPERhdGE+IHtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQsIGR1cmF0aW9uLCBtYXJnaW4sIGFyaWFMYWJlbCB9ID0gdGhpc1xuXG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy52aXNDb21wb25lbnQ/LmNvbXBvbmVudCBhcyBDXG4gICAgY29uc3QgdG9vbHRpcCA9IHRoaXMudG9vbHRpcENvbXBvbmVudD8uY29tcG9uZW50IGFzIFRvb2x0aXBcblxuICAgIHJldHVybiB7IHdpZHRoLCBoZWlnaHQsIGR1cmF0aW9uLCBtYXJnaW4sIGNvbXBvbmVudCwgdG9vbHRpcCwgYXJpYUxhYmVsIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYXJ0LmRlc3Ryb3koKVxuICB9XG59XG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29udGFpbmVycy9zaW5nbGUtY29udGFpbmVyL3NpbmdsZS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE2QixLQUFLLEVBQTRCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU5SCxNQUFNO0FBQ04sT0FBTyxFQUFpQixlQUFlLEVBQWlFLE1BQU0sWUFBWSxDQUFBO0FBQzFILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQTs7QUFTNUYsTUFBTSxPQUFPLDJCQUEyQjtJQVB4QztRQWtCRSxtRUFBbUU7UUFDMUQsV0FBTSxHQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFBO0tBMENyRTtJQTlCQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BHLHVGQUF1RjtRQUN2RixJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDbkQsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjs7UUFDakMsaUNBQWlDO1FBQ2pDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ3BDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQTtTQUNwQjtRQUVELDhCQUE4QjtRQUM5QixNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsU0FBUzs7UUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUUzRCxNQUFNLFNBQVMsR0FBRyxNQUFBLElBQUksQ0FBQyxZQUFZLDBDQUFFLFNBQWMsQ0FBQTtRQUNuRCxNQUFNLE9BQU8sR0FBRyxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsMENBQUUsU0FBb0IsQ0FBQTtRQUMzRCxNQUFNLFdBQVcsR0FBRyxNQUFBLElBQUksQ0FBQyxvQkFBb0IsMENBQUUsU0FBd0IsQ0FBQTtRQUV2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFBO0lBQ3hGLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN0QixDQUFDOzt5SEFyRFUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsa09BRXhCLGdCQUFnQixtRkFDaEIsbUJBQW1CLHVGQUNuQix1QkFBdUIsZ0xBVDNCOztTQUVIOzRGQUdJLDJCQUEyQjtrQkFQdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7O1NBRUg7b0JBQ1AsTUFBTSxFQUFFLENBQUMsNkVBQTZFLENBQUM7aUJBQ3hGOzhCQUU0QyxZQUFZO3NCQUF0RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ1QsWUFBWTtzQkFBM0MsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBQ0ssZ0JBQWdCO3NCQUFsRCxZQUFZO3VCQUFDLG1CQUFtQjtnQkFDTSxvQkFBb0I7c0JBQTFELFlBQVk7dUJBQUMsdUJBQXVCO2dCQUc1QixLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIElucHV0LCBPbkRlc3Ryb3ksIFNpbXBsZUNoYW5nZXMsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbi8vIFZpc1xuaW1wb3J0IHsgQ29tcG9uZW50Q29yZSwgU2luZ2xlQ29udGFpbmVyLCBTaW5nbGVDb250YWluZXJDb25maWdJbnRlcmZhY2UsIFRvb2x0aXAsIFNwYWNpbmcsIEFubm90YXRpb25zIH0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc0NvcmVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuaW1wb3J0IHsgVmlzVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCdcbmltcG9ydCB7IFZpc0Fubm90YXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hbm5vdGF0aW9ucy9hbm5vdGF0aW9ucy5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1zaW5nbGUtY29udGFpbmVyJyxcbiAgdGVtcGxhdGU6IGA8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJ1bm92aXMtc2luZ2xlLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+YCxcbiAgc3R5bGVzOiBbJy51bm92aXMtc2luZ2xlLWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfSddLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNTaW5nbGVDb250YWluZXJDb21wb25lbnQ8RGF0YSA9IHVua25vd24sIEMgZXh0ZW5kcyBDb21wb25lbnRDb3JlPERhdGE+ID0gQ29tcG9uZW50Q29yZTxEYXRhPj4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGFpbmVyUmVmOiBFbGVtZW50UmVmXG4gIEBDb250ZW50Q2hpbGQoVmlzQ29yZUNvbXBvbmVudCkgdmlzQ29tcG9uZW50OiBWaXNDb3JlQ29tcG9uZW50XG4gIEBDb250ZW50Q2hpbGQoVmlzVG9vbHRpcENvbXBvbmVudCkgdG9vbHRpcENvbXBvbmVudDogVmlzVG9vbHRpcENvbXBvbmVudFxuICBAQ29udGVudENoaWxkKFZpc0Fubm90YXRpb25zQ29tcG9uZW50KSBhbm5vdGF0aW9uc0NvbXBvbmVudDogVmlzQW5ub3RhdGlvbnNDb21wb25lbnRcblxuICAvKiogV2lkdGggaW4gcGl4ZWxzLiBCeSBkZWZhdWx0LCBDb250YWluZXIgYXV0b21hdGljYWxseSBmaXRzIHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIHdpZHRoPzogbnVtYmVyXG4gIC8qKiBIZWlnaHQgaW4gcGl4ZWxzLiBCeSBkZWZhdWx0LCBDb250YWluZXIgYXV0b21hdGljYWxseSBmaXRzIHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlclxuXG4gIC8qKiBNYXJnaW5zLiBEZWZhdWx0OiBgeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfWAgKi9cbiAgQElucHV0KCkgbWFyZ2luPzogU3BhY2luZyA9IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH1cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBvZiBhbGwgdGhlIGNvbXBvbmVudHMgd2l0aGluIHRoZSBjb250YWluZXIuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG4gIC8qKiBBbHRlcm5hdGl2ZSB0ZXh0IGRlc2NyaXB0aW9uIG9mIHRoZSBjaGFydCBmb3IgYWNjZXNzaWJpbGl0eSBwdXJwb3Nlcy4gSXQgd2lsbCBiZSBhcHBsaWVkIGFzIGFuXG4gICAqIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gdGhlIGRpdiBlbGVtZW50IGNvbnRhaW5pbmcgeW91ciBjaGFydC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuXG4gICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgLyoqIERhdGEgdG8gYmUgcGFzc2VkIHRvIHRoZSBjb21wb25lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSBkYXRhPzogRGF0YVxuXG4gIGNoYXJ0OiBTaW5nbGVDb250YWluZXI8RGF0YT5cblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhcnQgPSBuZXcgU2luZ2xlQ29udGFpbmVyPERhdGE+KHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZ2V0Q29uZmlnKCksIHRoaXMuZGF0YSlcbiAgICAvLyBXZSBwYXNzIHRoZSBjb250YWluZXIgZm9yIHRoZSBjb21wb25lbnQgdG8gdHJpZ2dlciByZS1yZW5kZXIgaWYgdGhlIGRhdGEgaGFzIGNoYW5nZWRcbiAgICB0aGlzLnZpc0NvbXBvbmVudC5jb21wb25lbnRDb250YWluZXIgPSB0aGlzLmNoYXJ0XG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vIFNldCBuZXcgRGF0YSB3aXRob3V0IHJlLXJlbmRlclxuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcbiAgICAgIHRoaXMuY2hhcnQ/LnNldERhdGEodGhpcy5kYXRhLCB0cnVlKVxuICAgICAgZGVsZXRlIGNoYW5nZXMuZGF0YVxuICAgIH1cblxuICAgIC8vIFVwZGF0ZSBDb250YWluZXIgYW5kIHJlbmRlclxuICAgIHRoaXMuY2hhcnQ/LnVwZGF0ZUNvbnRhaW5lcih0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgZ2V0Q29uZmlnICgpOiBTaW5nbGVDb250YWluZXJDb25maWdJbnRlcmZhY2U8RGF0YT4ge1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCwgZHVyYXRpb24sIG1hcmdpbiwgYXJpYUxhYmVsIH0gPSB0aGlzXG5cbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLnZpc0NvbXBvbmVudD8uY29tcG9uZW50IGFzIENcbiAgICBjb25zdCB0b29sdGlwID0gdGhpcy50b29sdGlwQ29tcG9uZW50Py5jb21wb25lbnQgYXMgVG9vbHRpcFxuICAgIGNvbnN0IGFubm90YXRpb25zID0gdGhpcy5hbm5vdGF0aW9uc0NvbXBvbmVudD8uY29tcG9uZW50IGFzIEFubm90YXRpb25zXG5cbiAgICByZXR1cm4geyB3aWR0aCwgaGVpZ2h0LCBkdXJhdGlvbiwgbWFyZ2luLCBjb21wb25lbnQsIHRvb2x0aXAsIGFyaWFMYWJlbCwgYW5ub3RhdGlvbnMgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3kgKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhcnQuZGVzdHJveSgpXG4gIH1cbn1cbiJdfQ==
@@ -3,6 +3,7 @@ import { Component, ContentChild, ContentChildren, Input, ViewChild, } from '@an
3
3
  import { Axis, Crosshair, Direction, Tooltip, XYContainer } from '@unovis/ts';
4
4
  import { VisXYComponent } from '../../core';
5
5
  import { VisTooltipComponent } from '../../components/tooltip/tooltip.component';
6
+ import { VisAnnotationsComponent } from '../../components/annotations/annotations.component';
6
7
  import * as i0 from "@angular/core";
7
8
  export class VisXYContainerComponent {
8
9
  constructor() {
@@ -58,13 +59,14 @@ export class VisXYContainerComponent {
58
59
  (_b = this.chart) === null || _b === void 0 ? void 0 : _b.updateContainer(this.getConfig());
59
60
  }
60
61
  getConfig() {
61
- var _a;
62
+ var _a, _b;
62
63
  const { duration, margin, padding, scaleByDomain, autoMargin, width, height, xScale, xDomain, xDomainMinConstraint, xDomainMaxConstraint, xRange, yScale, yDomain, yDomainMinConstraint, yDomainMaxConstraint, yRange, yDirection, ariaLabel, } = this;
63
64
  const visComponents = this.visComponents.toArray().map(d => d.component);
64
65
  const crosshair = visComponents.find(c => c instanceof Crosshair);
65
66
  const tooltip = (_a = this.tooltipComponent) === null || _a === void 0 ? void 0 : _a.component;
66
67
  const xAxis = visComponents.find(c => { var _a; return c instanceof Axis && ((_a = c === null || c === void 0 ? void 0 : c.config) === null || _a === void 0 ? void 0 : _a.type) === 'x'; });
67
68
  const yAxis = visComponents.find(c => { var _a; return c instanceof Axis && ((_a = c === null || c === void 0 ? void 0 : c.config) === null || _a === void 0 ? void 0 : _a.type) === 'y'; });
69
+ const annotations = (_b = this.annotationsComponent) === null || _b === void 0 ? void 0 : _b.component;
68
70
  const components = visComponents.filter(c => !(c instanceof Crosshair) && !(c instanceof Tooltip) && !(c instanceof Axis));
69
71
  return {
70
72
  components,
@@ -77,6 +79,7 @@ export class VisXYContainerComponent {
77
79
  yAxis,
78
80
  tooltip,
79
81
  crosshair,
82
+ annotations,
80
83
  scaleByDomain,
81
84
  autoMargin,
82
85
  xScale,
@@ -104,7 +107,7 @@ export class VisXYContainerComponent {
104
107
  }
105
108
  }
106
109
  VisXYContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisXYContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
107
- VisXYContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisXYContainerComponent, selector: "vis-xy-container", inputs: { width: "width", height: "height", xScale: "xScale", xDomain: "xDomain", xDomainMinConstraint: "xDomainMinConstraint", xDomainMaxConstraint: "xDomainMaxConstraint", xRange: "xRange", yScale: "yScale", yDomain: "yDomain", yDomainMinConstraint: "yDomainMinConstraint", yDomainMaxConstraint: "yDomainMaxConstraint", yRange: "yRange", yDirection: "yDirection", preventEmptyDomain: "preventEmptyDomain", duration: "duration", margin: "margin", padding: "padding", scaleByDomain: "scaleByDomain", autoMargin: "autoMargin", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "visComponents", predicate: VisXYComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-xy-container">
110
+ VisXYContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisXYContainerComponent, selector: "vis-xy-container", inputs: { width: "width", height: "height", xScale: "xScale", xDomain: "xDomain", xDomainMinConstraint: "xDomainMinConstraint", xDomainMaxConstraint: "xDomainMaxConstraint", xRange: "xRange", yScale: "yScale", yDomain: "yDomain", yDomainMinConstraint: "yDomainMinConstraint", yDomainMaxConstraint: "yDomainMaxConstraint", yRange: "yRange", yDirection: "yDirection", preventEmptyDomain: "preventEmptyDomain", duration: "duration", margin: "margin", padding: "padding", scaleByDomain: "scaleByDomain", autoMargin: "autoMargin", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "annotationsComponent", first: true, predicate: VisAnnotationsComponent, descendants: true }, { propertyName: "visComponents", predicate: VisXYComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-xy-container">
108
111
  <ng-content></ng-content>
109
112
  </div>`, isInline: true, styles: [".unovis-xy-container { width: 100%; height: 100%; position: relative; }"] });
110
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisXYContainerComponent, decorators: [{
@@ -125,6 +128,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
125
128
  }], tooltipComponent: [{
126
129
  type: ContentChild,
127
130
  args: [VisTooltipComponent]
131
+ }], annotationsComponent: [{
132
+ type: ContentChild,
133
+ args: [VisAnnotationsComponent]
128
134
  }], width: [{
129
135
  type: Input
130
136
  }], height: [{
@@ -168,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
168
174
  }], data: [{
169
175
  type: Input
170
176
  }] } });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb250YWluZXJzL3h5LWNvbnRhaW5lci94eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFFZixLQUFLLEVBSUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE1BQU07QUFDTixPQUFPLEVBQUUsSUFBSSxFQUFtQixTQUFTLEVBQUUsU0FBUyxFQUFXLE9BQU8sRUFBRSxXQUFXLEVBQThCLE1BQU0sWUFBWSxDQUFBO0FBQ25JLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUE7O0FBU2hGLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUEyQ0U7Ozs7O2tDQUswQjtRQUNqQix5QkFBb0IsR0FBOEMsU0FBUyxDQUFBO1FBV3BGLG1EQUFtRDtRQUMxQyxlQUFVLEdBQWdELFNBQVMsQ0FBQyxLQUFLLENBQUE7UUFDbEY7Ozs7OzhCQUtzQjtRQUNiLHVCQUFrQixHQUFvQixJQUFJLENBQUE7UUFFbkQsMEZBQTBGO1FBQ2pGLGFBQVEsR0FBWSxTQUFTLENBQUE7UUFDdEMsbUVBQW1FO1FBQzFELFdBQU0sR0FBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQTtRQUNwRSxtRUFBbUU7UUFDMUQsWUFBTyxHQUFhLEVBQUUsQ0FBQTtRQUcvQixvR0FBb0c7UUFDM0YsZUFBVSxHQUFhLElBQUksQ0FBQTtRQU9wQzs4REFDc0Q7UUFDN0MsU0FBSSxHQUF5QixTQUFTLENBQUE7S0FrRmhEO0lBOUVDLGVBQWU7UUFDYixJ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NUIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFPRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBT0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9HLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbi8vIFZpc1xuaW1wb3J0IHsgQXhpcywgQ29udGludW91c1NjYWxlLCBDcm9zc2hhaXIsIERpcmVjdGlvbiwgU3BhY2luZywgVG9vbHRpcCwgWFlDb250YWluZXIsIFhZQ29udGFpbmVyQ29uZmlnSW50ZXJmYWNlIH0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc1hZQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcbmltcG9ydCB7IFZpc1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy14eS1jb250YWluZXInLFxuICB0ZW1wbGF0ZTogYDxkaXYgI2NvbnRhaW5lciBjbGFzcz1cInVub3Zpcy14eS1jb250YWluZXJcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PmAsXG4gIHN0eWxlczogWycudW5vdmlzLXh5LWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfSddLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNYWUNvbnRhaW5lckNvbXBvbmVudDxEYXR1bT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGFpbmVyUmVmOiBFbGVtZW50UmVmXG4gIEBDb250ZW50Q2hpbGRyZW4oVmlzWFlDb21wb25lbnQpIHZpc0NvbXBvbmVudHM6IFF1ZXJ5TGlzdDxWaXNYWUNvbXBvbmVudD5cbiAgQENvbnRlbnRDaGlsZChWaXNUb29sdGlwQ29tcG9uZW50KSB0b29sdGlwQ29tcG9uZW50OiBWaXNUb29sdGlwQ29tcG9uZW50XG5cbiAgLyoqIFdpZHRoIGluIHBpeGVscy4gQnkgZGVmYXVsdCwgQ29udGFpbmVyIGF1dG9tYXRpY2FsbHkgZml0cyB0byB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGVsZW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSB3aWR0aD86IG51bWJlclxuICAvKiogSGVpZ2h0IGluIHBpeGVscy4gQnkgZGVmYXVsdCwgQ29udGFpbmVyIGF1dG9tYXRpY2FsbHkgZml0cyB0byB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGVsZW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSBoZWlnaHQ/OiBudW1iZXJcblxuICAvKiogU2NhbGUgZm9yIFggZGltZW5zaW9uLCBlLmcuIFNjYWxlLnNjYWxlTGluZWFyKCkuIERlZmF1bHQ6IGBTY2FsZS5zY2FsZUxpbmVhcigpYCAqL1xuICBASW5wdXQoKSB4U2NhbGU/OiBDb250aW51b3VzU2NhbGVcbiAgLyoqIFNjYWxlIGRvbWFpbiAoZGF0YSBleHRlbnQpIGZvciBYIGRpbWVuc2lvbi4gQnkgZGVmYXVsdCB0aGlzIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiBkYXRhLiAqL1xuICBASW5wdXQoKSB4RG9tYWluPzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXVxuICAvKiogQ29uc3RyYWludCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgWCBzY2FsZSBkb21haW4uIFVzZWZ1bCB3aGVuIHRoZSBkYXRhIGlzIHBsb3R0ZWQgYWxvbmcgdGhlIFggYXhpcy5cbiAgICogRm9yIGV4YW1wbGUsIGltYWdpbmUgdGhhdCB5b3UgaGF2ZSBhIGNoYXJ0IHdpdGggZHluYW1pYyBkYXRhIHRoYXQgaGFzIG5lZ2F0aXZlIHZhbHVlcy4gV2hlbiB2YWx1ZXMgYXJlIHNtYWxsXG4gICAqIChsZXQncyBzYXkgaW4gdGhlIHJhbmdlIG9mIFstMC4wMSwgMF0pLCB5b3UgbWlnaHQgc3RpbGwgd2FudCB0aGUgY2hhcnQgdG8gZGlzcGxheSBzb21lIG1lYW5pbmdmdWwgdmFsdWUgcmFuZ2UgKGUuZy4gWy0xLCAwXSkuIFRoYXQgY2FuXG4gICAqIGJlIGFjaGlldmVkIGJ5IHNldHRpbmcgYHhEb21haW5NaW5Db25zdHJhaW50YCB0byBgW3VuZGVmaW5lZCwgLTFdYC4gSW4gYWRkaXRpb24gdG8gdGhhdCwgaWYgeW91IHdhbnQgdG8gY3V0IG9mZiB0aGVcbiAgICogdmFsdWVzIHRoYXQgYXJlIHRvbyBsb3cgKGxldCdzIHNheSBsb3dlciB0aGFuIC0xMDApLCB5b3UgY2FuIHNldCB0aGUgY29uc3RyYWludCB0byBgWy0xMDAsIC0xXWBcbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeERvbWFpbk1pbkNvbnN0cmFpbnQ/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdXG4gIC8qKiBDb25zdHJhaW50IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBYIHNjYWxlIGRvbWFpbi4gVXNlZnVsIHdoZW4gdGhlIGRhdGEgaXMgcGxvdHRlZCBhbG9uZyB0aGUgWCBheGlzLlxuICAgKiBGb3IgZXhhbXBsZSwgaW1hZ2luZSB0aGF0IHlvdSBoYXZlIGEgY2hhcnQgd2l0aCBkeW5hbWljIGRhdGEuIFdoZW4gdmFsdWVzIGFyZSBzbWFsbFxuICAgKiAobGV0J3Mgc2F5IDwgMC4wMSksIHlvdSBtaWdodCBzdGlsbCB3YW50IHRoZSBjaGFydCB0byBkaXNwbGF5IHNvbWUgbWVhbmluZ2Z1bCB2YWx1ZSByYW5nZSAoZS5nLiBbMCwgMV0pLiBUaGF0IGNhblxuICAgKiBiZSBhY2hpZXZlZCBieSBzZXR0aW5nIGB4RG9tYWluTWF4Q29uc3RyYWludGAgdG8gYFsxLCB1bmRlZmluZWRdYC4gSW4gYWRkaXRpb24gdG8gdGhhdCwgaWYgeW91IHdhbnQgdG8gY3V0IG9mZiB0aGVcbiAgICogdmFsdWVzIHRoYXQgYXJlIHRvbyBoaWdoIChsZXQncyBzYXkgaGlnaGVyIHRoYW4gMTAwKSwgeW91IGNhbiBzZXQgdGhlIGNvbnN0cmFpbnQgdG8gYFsxLCAxMDBdYFxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB4RG9tYWluTWF4Q29uc3RyYWludD86IFtudW1iZXIgfCB1bmRlZmluZWQsIG51bWJlciB8IHVuZGVmaW5lZF1cbiAgLyoqIEZvcmNlIHNldCB0aGUgWCBzY2FsZSByYW5nZSAoaW4gdGhlIHNjcmVlbiBzcGFjZSkuIEJ5IGRlZmF1bHQgdGhlIHJhbmdlIGlzIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiB0aGVcbiAgICogY2hhcnQncyBzZXQgdXAgKi9cbiAgQElucHV0KCkgeFJhbmdlPzogW251bWJlciwgbnVtYmVyXVxuXG4gIC8qKiBTY2FsZSBmb3IgWSBkaW1lbnNpb24sIGUuZy4gU2NhbGUuU2NhbGVMaW5lYXIuIERlZmF1bHQ6IGBTY2FsZS5TY2FsZUxpbmVhcigpYCAqL1xuICBASW5wdXQoKSB5U2NhbGU/OiBDb250aW51b3VzU2NhbGVcbiAgLyoqIFNjYWxlIGRvbWFpbiAoZGF0YSBleHRlbnQpIGZvciBZIGRpbWVuc2lvbi4gQnkgZGVmYXVsdCB0aGlzIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiBkYXRhLiAqL1xuICBASW5wdXQoKSB5RG9tYWluPzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXVxuICAvKiogQ29uc3RyYWludCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgWSBzY2FsZSBkb21haW4uXG4gICAqIEZvciBleGFtcGxlLCBpbWFnaW5lIHRoYXQgeW91IGhhdmUgYSBjaGFydCB3aXRoIGR5bmFtaWMgZGF0YSB0aGF0IGhhcyBuZWdhdGl2ZSB2YWx1ZXMuIFdoZW4gdmFsdWVzIGFyZSBzbWFsbFxuICAgKiAobGV0J3Mgc2F5IGluIHRoZSByYW5nZSBvZiBbLTAuMDEsIDBdKSwgeW91IG1pZ2h0IHN0aWxsIHdhbnQgdGhlIGNoYXJ0IHRvIGRpc3BsYXkgc29tZSBtZWFuaW5nZnVsIHZhbHVlIHJhbmdlIChlLmcuIFstMSwgMF0pLiBUaGF0IGNhblxuICAgKiBiZSBhY2hpZXZlZCBieSBzZXR0aW5nIGB5RG9tYWluTWluQ29uc3RyYWludGAgdG8gYFt1bmRlZmluZWQsIC0xXWAuIEluIGFkZGl0aW9uIHRvIHRoYXQsIGlmIHlvdSB3YW50IHRvIGN1dCBvZmYgdGhlXG4gICAqIHZhbHVlcyB0aGF0IGFyZSB0b28gbG93IChsZXQncyBzYXkgbG93ZXIgdGhhbiAtMTAwKSwgeW91IGNhbiBzZXQgdGhlIGNvbnN0cmFpbnQgdG8gYFstMTAwLCAtMV1gXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHlEb21haW5NaW5Db25zdHJhaW50PzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXSA9IHVuZGVmaW5lZFxuICAvKiogQ29uc3RyYWludCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgWSBzY2FsZSBkb21haW4uXG4gICAqIEZvciBleGFtcGxlLCBpbWFnaW5lIHRoYXQgeW91IGhhdmUgYSBjaGFydCB3aXRoIGR5bmFtaWMgZGF0YS4gV2hlbiB2YWx1ZXMgYXJlIHNtYWxsXG4gICAqIChsZXQncyBzYXkgPCAwLjAxKSwgeW91IG1pZ2h0IHN0aWxsIHdhbnQgdGhlIGNoYXJ0IHRvIGRpc3BsYXkgc29tZSBtZWFuaW5nZnVsIHZhbHVlIHJhbmdlIChlLmcuIFswLCAxXSkuIFRoYXQgY2FuXG4gICAqIGJlIGFjaGlldmVkIGJ5IHNldHRpbmcgYHlEb21haW5NYXhDb25zdHJhaW50YCB0byBgWzEsIHVuZGVmaW5lZF1gLiBJbiBhZGRpdGlvbiB0byB0aGF0LCBpZiB5b3Ugd2FudCB0byBjdXQgb2ZmIHRoZVxuICAgKiB2YWx1ZXMgdGhhdCBhcmUgdG9vIGhpZ2ggKGxldCdzIHNheSBoaWdoZXIgdGhhbiAxMDApLCB5b3UgY2FuIHNldCB0aGUgY29uc3RyYWludCB0byBgWzEsIDEwMF1gXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHlEb21haW5NYXhDb25zdHJhaW50PzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXVxuICAvKiogRm9yY2Ugc2V0IHRoZSBZIHNjYWxlIHJhbmdlIChpbiB0aGUgc2NyZWVuIHNwYWNlKS4gQnkgZGVmYXVsdCB0aGUgcmFuZ2UgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIHRoZVxuICAgKiBjaGFydCdzIHNldCB1cCAqL1xuICBASW5wdXQoKSB5UmFuZ2U/OiBbbnVtYmVyLCBudW1iZXJdXG4gIC8qKiBZIEF4aXMgZGlyZWN0aW9uLiBEZWZhdWx0OiBgRGlyZWN0aW9uLk5vcnRoYCAqL1xuICBASW5wdXQoKSB5RGlyZWN0aW9uPzogRGlyZWN0aW9uLlNvdXRoIHwgRGlyZWN0aW9uLk5vcnRoIHwgc3RyaW5nID0gRGlyZWN0aW9uLk5vcnRoXG4gIC8qKiBQcmV2ZW50cyB0aGUgY2hhcnQgZG9tYWluIGZyb20gYmVpbmcgZW1wdHkgKHdoZW4gZG9tYWluJ3MgbWluIGFuZCBtYXggdmFsdWVzIGFyZSBlcXVhbCkuXG4gICAqICBUaGF0IHVzdWFsbHkgaGFwcGVucyB3aGVuIGFsbCB0aGUgZGF0YSB2YWx1ZXMgYXJlIHRoZSBzYW1lIG9yIHdoZW4gdGhlcmUncyBubyBkYXRhLlxuICAgKiAgU2V0dGluZyB0byBgdHJ1ZWAgd2lsbCBhdXRvbWF0aWNhbGx5IGV4dGVuZCB0aGUgZG9tYWluIGJ5IGArMWAgd2hlbiBuZWVkZWQuXG4gICAqICBTZXR0aW5nIHRvIGBudWxsYCB3aWxsIGV4dGVuZCB0aGUgZG9tYWluIG9ubHkgd2hlbiB0aGVyZSdzIG5vIGRhdGEuXG4gICAqICBTZXR0aW5nIHRvIGBmYWxzZWAgd2lsbCBrZWVwIHRoZSBkb21haW4gYXMgaXMuXG4gICAqICBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgcHJldmVudEVtcHR5RG9tYWluPzogYm9vbGVhbiB8IG51bGwgPSBudWxsXG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBvZiBhbGwgdGhlIGNvbXBvbmVudHMgd2l0aGluIHRoZSBjb250YWluZXIuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyID0gdW5kZWZpbmVkXG4gIC8qKiBNYXJnaW5zLiBEZWZhdWx0OiBgeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfWAgKi9cbiAgQElucHV0KCkgbWFyZ2luPzogU3BhY2luZyA9IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH1cbiAgLyoqIFBhZGRpbmcuIERlZmF1bHQ6IGB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9YCAqL1xuICBASW5wdXQoKSBwYWRkaW5nPzogU3BhY2luZyA9IHt9XG4gIC8qKiBTZXRzIHRoZSBZIHNjYWxlIGRvbWFpbiBiYXNlZCBvbiB0aGUgY3VycmVudCBYIHNjYWxlIGRvbWFpbiAobm90IHRoZSB3aG9sZSBkYXRhc2V0KS4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBzY2FsZUJ5RG9tYWluPzogYm9vbGVhblxuICAvKiogRW5hYmxlcyBhdXRvbWF0aWMgY2FsY3VsYXRpb24gb2YgY2hhcnQgbWFyZ2lucyBiYXNlZCBvbiB0aGUgc2l6ZSBvZiB0aGUgYXhlcy4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGF1dG9NYXJnaW4/OiBib29sZWFuID0gdHJ1ZVxuXG4gIC8qKiBBbHRlcm5hdGl2ZSB0ZXh0IGRlc2NyaXB0aW9uIG9mIHRoZSBjaGFydCBmb3IgYWNjZXNzaWJpbGl0eSBwdXJwb3Nlcy4gSXQgd2lsbCBiZSBhcHBsaWVkIGFzIGFuXG4gICAqIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gdGhlIGRpdiBlbGVtZW50IGNvbnRhaW5pbmcgeW91ciBjaGFydC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuXG4gICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcblxuICAvKiogRGF0YSB0byBiZSBwYXNzZWQgdG8gYWxsIGNoaWxkIGNvbXBvbmVudHMuIEJ1dCBpZiBgZGF0YWAgaXMgYHVuZGVmaW5lZGAgaXQnbGwgdG8gYmUgcGFzc2VkIGFsbG93aW5nIGNvbXBvbmVudHMgdG9cbiAgICogaGF2ZSB0aGVpciBpbmRpdmlkdWFsIGRhdGEuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGRhdGE/OiBEYXR1bVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG5cbiAgY2hhcnQ6IFhZQ29udGFpbmVyPERhdHVtPlxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFydCA9IG5ldyBYWUNvbnRhaW5lcjxEYXR1bT4odGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5nZXRDb25maWcoKSwgdGhpcy5kYXRhKVxuICAgIHRoaXMucGFzc0NvbnRhaW5lclJlZmVyZW5jZVRvQ2hpbGRyZW4oKVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0ICgpOiB2b2lkIHtcbiAgICAvLyBRdWVyeUxpc3QgZG9lcyB1bnN1YnNjcmliZSBhdXRvbWF0aWNhbGx5IHdoZW4gaXQgZ2V0cyBkZXN0cm95ZWRcbiAgICB0aGlzLnZpc0NvbXBvbmVudHMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5wYXNzQ29udGFpbmVyUmVmZXJlbmNlVG9DaGlsZHJlbigpXG4gICAgICB0aGlzLmNoYXJ0Py51cGRhdGVDb250YWluZXIodGhpcy5nZXRDb25maWcoKSlcbiAgICB9KVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2ZW50UmVuZGVyID0gdHJ1ZVxuXG4gICAgLy8gU2V0IG5ldyBEYXRhIHdpdGhvdXQgcmUtcmVuZGVyXG4gICAgaWYgKGNoYW5nZXMuZGF0YSkge1xuICAgICAgdGhpcy5jaGFydD8uc2V0RGF0YSh0aGlzLmRhdGEsIHByZXZlbnRSZW5kZXIpXG4gICAgICBkZWxldGUgY2hhbmdlcy5kYXRhXG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIENvbnRhaW5lciBhbmQgcmVuZGVyXG4gICAgdGhpcy5jaGFydD8udXBkYXRlQ29udGFpbmVyKHRoaXMuZ2V0Q29uZmlnKCkpXG4gIH1cblxuICBnZXRDb25maWcgKCk6IFhZQ29udGFpbmVyQ29uZmlnSW50ZXJmYWNlPERhdHVtPiB7XG4gICAgY29uc3Qge1xuICAgICAgZHVyYXRpb24sIG1hcmdpbiwgcGFkZGluZywgc2NhbGVCeURvbWFpbiwgYXV0b01hcmdpbiwgd2lkdGgsIGhlaWdodCxcbiAgICAgIHhTY2FsZSwgeERvbWFpbiwgeERvbWFpbk1pbkNvbnN0cmFpbnQsIHhEb21haW5NYXhDb25zdHJhaW50LCB4UmFuZ2UsXG4gICAgICB5U2NhbGUsIHlEb21haW4sIHlEb21haW5NaW5Db25zdHJhaW50LCB5RG9tYWluTWF4Q29uc3RyYWludCwgeVJhbmdlLFxuICAgICAgeURpcmVjdGlvbiwgYXJpYUxhYmVsLFxuICAgIH0gPSB0aGlzXG4gICAgY29uc3QgdmlzQ29tcG9uZW50cyA9IHRoaXMudmlzQ29tcG9uZW50cy50b0FycmF5KCkubWFwKGQgPT4gZC5jb21wb25lbnQpXG5cbiAgICBjb25zdCBjcm9zc2hhaXIgPSB2aXNDb21wb25lbnRzLmZpbmQoYyA9PiBjIGluc3RhbmNlb2YgQ3Jvc3NoYWlyKSBhcyBDcm9zc2hhaXI8RGF0dW0+XG4gICAgY29uc3QgdG9vbHRpcCA9IHRoaXMudG9vbHRpcENvbXBvbmVudD8uY29tcG9uZW50IGFzIFRvb2x0aXBcbiAgICBjb25zdCB4QXhpcyA9IHZpc0NvbXBvbmVudHMuZmluZChjID0+IGMgaW5zdGFuY2VvZiBBeGlzICYmIGM/LmNvbmZpZz8udHlwZSA9PT0gJ3gnKSBhcyBBeGlzPERhdHVtPlxuICAgIGNvbnN0IHlBeGlzID0gdmlzQ29tcG9uZW50cy5maW5kKGMgPT4gYyBpbnN0YW5jZW9mIEF4aXMgJiYgYz8uY29uZmlnPy50eXBlID09PSAneScpIGFzIEF4aXM8RGF0dW0+XG5cbiAgICBjb25zdCBjb21wb25lbnRzID0gdmlzQ29tcG9uZW50cy5maWx0ZXIoYyA9PiAhKGMgaW5zdGFuY2VvZiBDcm9zc2hhaXIpICYmICEoYyBpbnN0YW5jZW9mIFRvb2x0aXApICYmICEoYyBpbnN0YW5jZW9mIEF4aXMpKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudHMsXG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIGR1cmF0aW9uLFxuICAgICAgbWFyZ2luLFxuICAgICAgcGFkZGluZyxcbiAgICAgIHhBeGlzLFxuICAgICAgeUF4aXMsXG4gICAgICB0b29sdGlwLFxuICAgICAgY3Jvc3NoYWlyLFxuICAgICAgc2NhbGVCeURvbWFpbixcbiAgICAgIGF1dG9NYXJnaW4sXG4gICAgICB4U2NhbGUsXG4gICAgICB4RG9tYWluLFxuICAgICAgeERvbWFpbk1pbkNvbnN0cmFpbnQsXG4gICAgICB4RG9tYWluTWF4Q29uc3RyYWludCxcbiAgICAgIHhSYW5nZSxcbiAgICAgIHlTY2FsZSxcbiAgICAgIHlEb21haW4sXG4gICAgICB5RG9tYWluTWluQ29uc3RyYWludCxcbiAgICAgIHlEb21haW5NYXhDb25zdHJhaW50LFxuICAgICAgeVJhbmdlLFxuICAgICAgeURpcmVjdGlvbixcbiAgICAgIGFyaWFMYWJlbCxcbiAgICB9XG4gIH1cblxuICBwYXNzQ29udGFpbmVyUmVmZXJlbmNlVG9DaGlsZHJlbiAoKTogdm9pZCB7XG4gICAgLy8gV2Ugc2V0IHRoZSBjb250YWluZXIgZm9yIGVhY2ggdmlzIGNvbXBvbmVudCB0byB0cmlnZ2VyIGNoYXJ0IHJlLXJlbmRlciBpZiB0aGUgZGF0YSBoYXMgY2hhbmdlZFxuICAgIGlmICh0aGlzLmNoYXJ0KSB0aGlzLnZpc0NvbXBvbmVudHMudG9BcnJheSgpLmZvckVhY2goYyA9PiB7IGMuY29tcG9uZW50Q29udGFpbmVyID0gdGhpcy5jaGFydCB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3kgKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKVxuICB9XG59XG4iXX0=
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb250YWluZXJzL3h5LWNvbnRhaW5lci94eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFFZixLQUFLLEVBSUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE1BQU07QUFDTixPQUFPLEVBQWUsSUFBSSxFQUFtQixTQUFTLEVBQUUsU0FBUyxFQUFXLE9BQU8sRUFBRSxXQUFXLEVBQThCLE1BQU0sWUFBWSxDQUFBO0FBQ2hKLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFDaEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUE7O0FBUzVGLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUE0Q0U7Ozs7O2tDQUswQjtRQUNqQix5QkFBb0IsR0FBOEMsU0FBUyxDQUFBO1FBV3BGLG1EQUFtRDtRQUMxQyxlQUFVLEdBQWdELFNBQVMsQ0FBQyxLQUFLLENBQUE7UUFDbEY7Ozs7OzhCQUtzQjtRQUNiLHVCQUFrQixHQUFvQixJQUFJLENBQUE7UUFFbkQsMEZBQTBGO1FBQ2pGLGFBQVEsR0FBWSxTQUFTLENBQUE7UUFDdEMsbUVBQW1FO1FBQzFELFdBQU0sR0FBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQTtRQUNwRSxtRUFBbUU7UUFDMUQsWUFBTyxHQUFhLEVBQUUsQ0FBQTtRQUcvQixvR0FBb0c7UUFDM0YsZUFBVSxHQUFhLElBQUksQ0FBQTtRQU9wQzs4REFDc0Q7UUFDN0Ms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QUNNLG9CQUFvQjtzQkFBMUQsWUFBWTt1QkFBQyx1QkFBdUI7Z0JBRzVCLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFPRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBT0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQU9HLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFPRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFJRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuLy8gVmlzXG5pbXBvcnQgeyBBbm5vdGF0aW9ucywgQXhpcywgQ29udGludW91c1NjYWxlLCBDcm9zc2hhaXIsIERpcmVjdGlvbiwgU3BhY2luZywgVG9vbHRpcCwgWFlDb250YWluZXIsIFhZQ29udGFpbmVyQ29uZmlnSW50ZXJmYWNlIH0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc1hZQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcbmltcG9ydCB7IFZpc1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnXG5pbXBvcnQgeyBWaXNBbm5vdGF0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbnMuY29tcG9uZW50J1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXMteHktY29udGFpbmVyJyxcbiAgdGVtcGxhdGU6IGA8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJ1bm92aXMteHktY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5gLFxuICBzdHlsZXM6IFsnLnVub3Zpcy14eS1jb250YWluZXIgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBwb3NpdGlvbjogcmVsYXRpdmU7IH0nXSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzWFlDb250YWluZXJDb21wb25lbnQ8RGF0dW0+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRhaW5lclJlZjogRWxlbWVudFJlZlxuICBAQ29udGVudENoaWxkcmVuKFZpc1hZQ29tcG9uZW50KSB2aXNDb21wb25lbnRzOiBRdWVyeUxpc3Q8VmlzWFlDb21wb25lbnQ+XG4gIEBDb250ZW50Q2hpbGQoVmlzVG9vbHRpcENvbXBvbmVudCkgdG9vbHRpcENvbXBvbmVudDogVmlzVG9vbHRpcENvbXBvbmVudFxuICBAQ29udGVudENoaWxkKFZpc0Fubm90YXRpb25zQ29tcG9uZW50KSBhbm5vdGF0aW9uc0NvbXBvbmVudDogVmlzQW5ub3RhdGlvbnNDb21wb25lbnRcblxuICAvKiogV2lkdGggaW4gcGl4ZWxzLiBCeSBkZWZhdWx0LCBDb250YWluZXIgYXV0b21hdGljYWxseSBmaXRzIHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIHdpZHRoPzogbnVtYmVyXG4gIC8qKiBIZWlnaHQgaW4gcGl4ZWxzLiBCeSBkZWZhdWx0LCBDb250YWluZXIgYXV0b21hdGljYWxseSBmaXRzIHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlclxuXG4gIC8qKiBTY2FsZSBmb3IgWCBkaW1lbnNpb24sIGUuZy4gU2NhbGUuc2NhbGVMaW5lYXIoKS4gRGVmYXVsdDogYFNjYWxlLnNjYWxlTGluZWFyKClgICovXG4gIEBJbnB1dCgpIHhTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuICAvKiogU2NhbGUgZG9tYWluIChkYXRhIGV4dGVudCkgZm9yIFggZGltZW5zaW9uLiBCeSBkZWZhdWx0IHRoaXMgdmFsdWUgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGRhdGEuICovXG4gIEBJbnB1dCgpIHhEb21haW4/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdXG4gIC8qKiBDb25zdHJhaW50IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBYIHNjYWxlIGRvbWFpbi4gVXNlZnVsIHdoZW4gdGhlIGRhdGEgaXMgcGxvdHRlZCBhbG9uZyB0aGUgWCBheGlzLlxuICAgKiBGb3IgZXhhbXBsZSwgaW1hZ2luZSB0aGF0IHlvdSBoYXZlIGEgY2hhcnQgd2l0aCBkeW5hbWljIGRhdGEgdGhhdCBoYXMgbmVnYXRpdmUgdmFsdWVzLiBXaGVuIHZhbHVlcyBhcmUgc21hbGxcbiAgICogKGxldCdzIHNheSBpbiB0aGUgcmFuZ2Ugb2YgWy0wLjAxLCAwXSksIHlvdSBtaWdodCBzdGlsbCB3YW50IHRoZSBjaGFydCB0byBkaXNwbGF5IHNvbWUgbWVhbmluZ2Z1bCB2YWx1ZSByYW5nZSAoZS5nLiBbLTEsIDBdKS4gVGhhdCBjYW5cbiAgICogYmUgYWNoaWV2ZWQgYnkgc2V0dGluZyBgeERvbWFpbk1pbkNvbnN0cmFpbnRgIHRvIGBbdW5kZWZpbmVkLCAtMV1gLiBJbiBhZGRpdGlvbiB0byB0aGF0LCBpZiB5b3Ugd2FudCB0byBjdXQgb2ZmIHRoZVxuICAgKiB2YWx1ZXMgdGhhdCBhcmUgdG9vIGxvdyAobGV0J3Mgc2F5IGxvd2VyIHRoYW4gLTEwMCksIHlvdSBjYW4gc2V0IHRoZSBjb25zdHJhaW50IHRvIGBbLTEwMCwgLTFdYFxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB4RG9tYWluTWluQ29uc3RyYWludD86IFtudW1iZXIgfCB1bmRlZmluZWQsIG51bWJlciB8IHVuZGVmaW5lZF1cbiAgLyoqIENvbnN0cmFpbnQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIFggc2NhbGUgZG9tYWluLiBVc2VmdWwgd2hlbiB0aGUgZGF0YSBpcyBwbG90dGVkIGFsb25nIHRoZSBYIGF4aXMuXG4gICAqIEZvciBleGFtcGxlLCBpbWFnaW5lIHRoYXQgeW91IGhhdmUgYSBjaGFydCB3aXRoIGR5bmFtaWMgZGF0YS4gV2hlbiB2YWx1ZXMgYXJlIHNtYWxsXG4gICAqIChsZXQncyBzYXkgPCAwLjAxKSwgeW91IG1pZ2h0IHN0aWxsIHdhbnQgdGhlIGNoYXJ0IHRvIGRpc3BsYXkgc29tZSBtZWFuaW5nZnVsIHZhbHVlIHJhbmdlIChlLmcuIFswLCAxXSkuIFRoYXQgY2FuXG4gICAqIGJlIGFjaGlldmVkIGJ5IHNldHRpbmcgYHhEb21haW5NYXhDb25zdHJhaW50YCB0byBgWzEsIHVuZGVmaW5lZF1gLiBJbiBhZGRpdGlvbiB0byB0aGF0LCBpZiB5b3Ugd2FudCB0byBjdXQgb2ZmIHRoZVxuICAgKiB2YWx1ZXMgdGhhdCBhcmUgdG9vIGhpZ2ggKGxldCdzIHNheSBoaWdoZXIgdGhhbiAxMDApLCB5b3UgY2FuIHNldCB0aGUgY29uc3RyYWludCB0byBgWzEsIDEwMF1gXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHhEb21haW5NYXhDb25zdHJhaW50PzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXVxuICAvKiogRm9yY2Ugc2V0IHRoZSBYIHNjYWxlIHJhbmdlIChpbiB0aGUgc2NyZWVuIHNwYWNlKS4gQnkgZGVmYXVsdCB0aGUgcmFuZ2UgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIHRoZVxuICAgKiBjaGFydCdzIHNldCB1cCAqL1xuICBASW5wdXQoKSB4UmFuZ2U/OiBbbnVtYmVyLCBudW1iZXJdXG5cbiAgLyoqIFNjYWxlIGZvciBZIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5TY2FsZUxpbmVhci4gRGVmYXVsdDogYFNjYWxlLlNjYWxlTGluZWFyKClgICovXG4gIEBJbnB1dCgpIHlTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuICAvKiogU2NhbGUgZG9tYWluIChkYXRhIGV4dGVudCkgZm9yIFkgZGltZW5zaW9uLiBCeSBkZWZhdWx0IHRoaXMgdmFsdWUgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGRhdGEuICovXG4gIEBJbnB1dCgpIHlEb21haW4/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdXG4gIC8qKiBDb25zdHJhaW50IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBZIHNjYWxlIGRvbWFpbi5cbiAgICogRm9yIGV4YW1wbGUsIGltYWdpbmUgdGhhdCB5b3UgaGF2ZSBhIGNoYXJ0IHdpdGggZHluYW1pYyBkYXRhIHRoYXQgaGFzIG5lZ2F0aXZlIHZhbHVlcy4gV2hlbiB2YWx1ZXMgYXJlIHNtYWxsXG4gICAqIChsZXQncyBzYXkgaW4gdGhlIHJhbmdlIG9mIFstMC4wMSwgMF0pLCB5b3UgbWlnaHQgc3RpbGwgd2FudCB0aGUgY2hhcnQgdG8gZGlzcGxheSBzb21lIG1lYW5pbmdmdWwgdmFsdWUgcmFuZ2UgKGUuZy4gWy0xLCAwXSkuIFRoYXQgY2FuXG4gICAqIGJlIGFjaGlldmVkIGJ5IHNldHRpbmcgYHlEb21haW5NaW5Db25zdHJhaW50YCB0byBgW3VuZGVmaW5lZCwgLTFdYC4gSW4gYWRkaXRpb24gdG8gdGhhdCwgaWYgeW91IHdhbnQgdG8gY3V0IG9mZiB0aGVcbiAgICogdmFsdWVzIHRoYXQgYXJlIHRvbyBsb3cgKGxldCdzIHNheSBsb3dlciB0aGFuIC0xMDApLCB5b3UgY2FuIHNldCB0aGUgY29uc3RyYWludCB0byBgWy0xMDAsIC0xXWBcbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeURvbWFpbk1pbkNvbnN0cmFpbnQ/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdID0gdW5kZWZpbmVkXG4gIC8qKiBDb25zdHJhaW50IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBZIHNjYWxlIGRvbWFpbi5cbiAgICogRm9yIGV4YW1wbGUsIGltYWdpbmUgdGhhdCB5b3UgaGF2ZSBhIGNoYXJ0IHdpdGggZHluYW1pYyBkYXRhLiBXaGVuIHZhbHVlcyBhcmUgc21hbGxcbiAgICogKGxldCdzIHNheSA8IDAuMDEpLCB5b3UgbWlnaHQgc3RpbGwgd2FudCB0aGUgY2hhcnQgdG8gZGlzcGxheSBzb21lIG1lYW5pbmdmdWwgdmFsdWUgcmFuZ2UgKGUuZy4gWzAsIDFdKS4gVGhhdCBjYW5cbiAgICogYmUgYWNoaWV2ZWQgYnkgc2V0dGluZyBgeURvbWFpbk1heENvbnN0cmFpbnRgIHRvIGBbMSwgdW5kZWZpbmVkXWAuIEluIGFkZGl0aW9uIHRvIHRoYXQsIGlmIHlvdSB3YW50IHRvIGN1dCBvZmYgdGhlXG4gICAqIHZhbHVlcyB0aGF0IGFyZSB0b28gaGlnaCAobGV0J3Mgc2F5IGhpZ2hlciB0aGFuIDEwMCksIHlvdSBjYW4gc2V0IHRoZSBjb25zdHJhaW50IHRvIGBbMSwgMTAwXWBcbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeURvbWFpbk1heENvbnN0cmFpbnQ/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdXG4gIC8qKiBGb3JjZSBzZXQgdGhlIFkgc2NhbGUgcmFuZ2UgKGluIHRoZSBzY3JlZW4gc3BhY2UpLiBCeSBkZWZhdWx0IHRoZSByYW5nZSBpcyBjYWxjdWxhdGVkIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gdGhlXG4gICAqIGNoYXJ0J3Mgc2V0IHVwICovXG4gIEBJbnB1dCgpIHlSYW5nZT86IFtudW1iZXIsIG51bWJlcl1cbiAgLyoqIFkgQXhpcyBkaXJlY3Rpb24uIERlZmF1bHQ6IGBEaXJlY3Rpb24uTm9ydGhgICovXG4gIEBJbnB1dCgpIHlEaXJlY3Rpb24/OiBEaXJlY3Rpb24uU291dGggfCBEaXJlY3Rpb24uTm9ydGggfCBzdHJpbmcgPSBEaXJlY3Rpb24uTm9ydGhcbiAgLyoqIFByZXZlbnRzIHRoZSBjaGFydCBkb21haW4gZnJvbSBiZWluZyBlbXB0eSAod2hlbiBkb21haW4ncyBtaW4gYW5kIG1heCB2YWx1ZXMgYXJlIGVxdWFsKS5cbiAgICogIFRoYXQgdXN1YWxseSBoYXBwZW5zIHdoZW4gYWxsIHRoZSBkYXRhIHZhbHVlcyBhcmUgdGhlIHNhbWUgb3Igd2hlbiB0aGVyZSdzIG5vIGRhdGEuXG4gICAqICBTZXR0aW5nIHRvIGB0cnVlYCB3aWxsIGF1dG9tYXRpY2FsbHkgZXh0ZW5kIHRoZSBkb21haW4gYnkgYCsxYCB3aGVuIG5lZWRlZC5cbiAgICogIFNldHRpbmcgdG8gYG51bGxgIHdpbGwgZXh0ZW5kIHRoZSBkb21haW4gb25seSB3aGVuIHRoZXJlJ3Mgbm8gZGF0YS5cbiAgICogIFNldHRpbmcgdG8gYGZhbHNlYCB3aWxsIGtlZXAgdGhlIGRvbWFpbiBhcyBpcy5cbiAgICogIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBwcmV2ZW50RW1wdHlEb21haW4/OiBib29sZWFuIHwgbnVsbCA9IG51bGxcblxuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIGFsbCB0aGUgY29tcG9uZW50cyB3aXRoaW4gdGhlIGNvbnRhaW5lci4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXIgPSB1bmRlZmluZWRcbiAgLyoqIE1hcmdpbnMuIERlZmF1bHQ6IGB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9YCAqL1xuICBASW5wdXQoKSBtYXJnaW4/OiBTcGFjaW5nID0geyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfVxuICAvKiogUGFkZGluZy4gRGVmYXVsdDogYHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH1gICovXG4gIEBJbnB1dCgpIHBhZGRpbmc/OiBTcGFjaW5nID0ge31cbiAgLyoqIFNldHMgdGhlIFkgc2NhbGUgZG9tYWluIGJhc2VkIG9uIHRoZSBjdXJyZW50IFggc2NhbGUgZG9tYWluIChub3QgdGhlIHdob2xlIGRhdGFzZXQpLiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIHNjYWxlQnlEb21haW4/OiBib29sZWFuXG4gIC8qKiBFbmFibGVzIGF1dG9tYXRpYyBjYWxjdWxhdGlvbiBvZiBjaGFydCBtYXJnaW5zIGJhc2VkIG9uIHRoZSBzaXplIG9mIHRoZSBheGVzLiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgYXV0b01hcmdpbj86IGJvb2xlYW4gPSB0cnVlXG5cbiAgLyoqIEFsdGVybmF0aXZlIHRleHQgZGVzY3JpcHRpb24gb2YgdGhlIGNoYXJ0IGZvciBhY2Nlc3NpYmlsaXR5IHB1cnBvc2VzLiBJdCB3aWxsIGJlIGFwcGxpZWQgYXMgYW5cbiAgICogYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSB0byB0aGUgZGl2IGVsZW1lbnQgY29udGFpbmluZyB5b3VyIGNoYXJ0LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC5cbiAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIC8qKiBEYXRhIHRvIGJlIHBhc3NlZCB0byBhbGwgY2hpbGQgY29tcG9uZW50cy4gQnV0IGlmIGBkYXRhYCBpcyBgdW5kZWZpbmVkYCBpdCdsbCB0byBiZSBwYXNzZWQgYWxsb3dpbmcgY29tcG9uZW50cyB0b1xuICAgKiBoYXZlIHRoZWlyIGluZGl2aWR1YWwgZGF0YS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgZGF0YT86IERhdHVtW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcblxuICBjaGFydDogWFlDb250YWluZXI8RGF0dW0+XG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYXJ0ID0gbmV3IFhZQ29udGFpbmVyPERhdHVtPih0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmdldENvbmZpZygpLCB0aGlzLmRhdGEpXG4gICAgdGhpcy5wYXNzQ29udGFpbmVyUmVmZXJlbmNlVG9DaGlsZHJlbigpXG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQgKCk6IHZvaWQge1xuICAgIC8vIFF1ZXJ5TGlzdCBkb2VzIHVuc3Vic2NyaWJlIGF1dG9tYXRpY2FsbHkgd2hlbiBpdCBnZXRzIGRlc3Ryb3llZFxuICAgIHRoaXMudmlzQ29tcG9uZW50cy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnBhc3NDb250YWluZXJSZWZlcmVuY2VUb0NoaWxkcmVuKClcbiAgICAgIHRoaXMuY2hhcnQ/LnVwZGF0ZUNvbnRhaW5lcih0aGlzLmdldENvbmZpZygpKVxuICAgIH0pXG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZlbnRSZW5kZXIgPSB0cnVlXG5cbiAgICAvLyBTZXQgbmV3IERhdGEgd2l0aG91dCByZS1yZW5kZXJcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7XG4gICAgICB0aGlzLmNoYXJ0Py5zZXREYXRhKHRoaXMuZGF0YSwgcHJldmVudFJlbmRlcilcbiAgICAgIGRlbGV0ZSBjaGFuZ2VzLmRhdGFcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgQ29udGFpbmVyIGFuZCByZW5kZXJcbiAgICB0aGlzLmNoYXJ0Py51cGRhdGVDb250YWluZXIodGhpcy5nZXRDb25maWcoKSlcbiAgfVxuXG4gIGdldENvbmZpZyAoKTogWFlDb250YWluZXJDb25maWdJbnRlcmZhY2U8RGF0dW0+IHtcbiAgICBjb25zdCB7XG4gICAgICBkdXJhdGlvbiwgbWFyZ2luLCBwYWRkaW5nLCBzY2FsZUJ5RG9tYWluLCBhdXRvTWFyZ2luLCB3aWR0aCwgaGVpZ2h0LFxuICAgICAgeFNjYWxlLCB4RG9tYWluLCB4RG9tYWluTWluQ29uc3RyYWludCwgeERvbWFpbk1heENvbnN0cmFpbnQsIHhSYW5nZSxcbiAgICAgIHlTY2FsZSwgeURvbWFpbiwgeURvbWFpbk1pbkNvbnN0cmFpbnQsIHlEb21haW5NYXhDb25zdHJhaW50LCB5UmFuZ2UsXG4gICAgICB5RGlyZWN0aW9uLCBhcmlhTGFiZWwsXG4gICAgfSA9IHRoaXNcbiAgICBjb25zdCB2aXNDb21wb25lbnRzID0gdGhpcy52aXNDb21wb25lbnRzLnRvQXJyYXkoKS5tYXAoZCA9PiBkLmNvbXBvbmVudClcblxuICAgIGNvbnN0IGNyb3NzaGFpciA9IHZpc0NvbXBvbmVudHMuZmluZChjID0+IGMgaW5zdGFuY2VvZiBDcm9zc2hhaXIpIGFzIENyb3NzaGFpcjxEYXR1bT5cbiAgICBjb25zdCB0b29sdGlwID0gdGhpcy50b29sdGlwQ29tcG9uZW50Py5jb21wb25lbnQgYXMgVG9vbHRpcFxuICAgIGNvbnN0IHhBeGlzID0gdmlzQ29tcG9uZW50cy5maW5kKGMgPT4gYyBpbnN0YW5jZW9mIEF4aXMgJiYgYz8uY29uZmlnPy50eXBlID09PSAneCcpIGFzIEF4aXM8RGF0dW0+XG4gICAgY29uc3QgeUF4aXMgPSB2aXNDb21wb25lbnRzLmZpbmQoYyA9PiBjIGluc3RhbmNlb2YgQXhpcyAmJiBjPy5jb25maWc/LnR5cGUgPT09ICd5JykgYXMgQXhpczxEYXR1bT5cbiAgICBjb25zdCBhbm5vdGF0aW9ucyA9IHRoaXMuYW5ub3RhdGlvbnNDb21wb25lbnQ/LmNvbXBvbmVudCBhcyBBbm5vdGF0aW9uc1xuXG4gICAgY29uc3QgY29tcG9uZW50cyA9IHZpc0NvbXBvbmVudHMuZmlsdGVyKGMgPT4gIShjIGluc3RhbmNlb2YgQ3Jvc3NoYWlyKSAmJiAhKGMgaW5zdGFuY2VvZiBUb29sdGlwKSAmJiAhKGMgaW5zdGFuY2VvZiBBeGlzKSlcblxuICAgIHJldHVybiB7XG4gICAgICBjb21wb25lbnRzLFxuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICBkdXJhdGlvbixcbiAgICAgIG1hcmdpbixcbiAgICAgIHBhZGRpbmcsXG4gICAgICB4QXhpcyxcbiAgICAgIHlBeGlzLFxuICAgICAgdG9vbHRpcCxcbiAgICAgIGNyb3NzaGFpcixcbiAgICAgIGFubm90YXRpb25zLFxuICAgICAgc2NhbGVCeURvbWFpbixcbiAgICAgIGF1dG9NYXJnaW4sXG4gICAgICB4U2NhbGUsXG4gICAgICB4RG9tYWluLFxuICAgICAgeERvbWFpbk1pbkNvbnN0cmFpbnQsXG4gICAgICB4RG9tYWluTWF4Q29uc3RyYWludCxcbiAgICAgIHhSYW5nZSxcbiAgICAgIHlTY2FsZSxcbiAgICAgIHlEb21haW4sXG4gICAgICB5RG9tYWluTWluQ29uc3RyYWludCxcbiAgICAgIHlEb21haW5NYXhDb25zdHJhaW50LFxuICAgICAgeVJhbmdlLFxuICAgICAgeURpcmVjdGlvbixcbiAgICAgIGFyaWFMYWJlbCxcbiAgICB9XG4gIH1cblxuICBwYXNzQ29udGFpbmVyUmVmZXJlbmNlVG9DaGlsZHJlbiAoKTogdm9pZCB7XG4gICAgLy8gV2Ugc2V0IHRoZSBjb250YWluZXIgZm9yIGVhY2ggdmlzIGNvbXBvbmVudCB0byB0cmlnZ2VyIGNoYXJ0IHJlLXJlbmRlciBpZiB0aGUgZGF0YSBoYXMgY2hhbmdlZFxuICAgIGlmICh0aGlzLmNoYXJ0KSB0aGlzLnZpc0NvbXBvbmVudHMudG9BcnJheSgpLmZvckVhY2goYyA9PiB7IGMuY29tcG9uZW50Q29udGFpbmVyID0gdGhpcy5jaGFydCB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3kgKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKVxuICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, Input, ViewChild, ContentChildren, ContentChild, NgModule } from '@angular/core';
3
- import { Tooltip, Direction, XYContainer, Crosshair, Axis, SingleContainer, Area, Brush, ChordDiagram, Donut, FreeBrush, Graph, GroupedBar, Line, NestedDonut, Sankey, Scatter, StackedBar, Timeline, XYLabels, TopoJSONMap, LeafletMap, LeafletFlowMap, BulletLegend } from '@unovis/ts';
3
+ import { Tooltip, Annotations, Direction, XYContainer, Crosshair, Axis, SingleContainer, Area, Brush, ChordDiagram, Donut, FreeBrush, Graph, GroupedBar, Line, NestedDonut, Sankey, Scatter, StackedBar, Timeline, XYLabels, TopoJSONMap, LeafletMap, LeafletFlowMap, BulletLegend } from '@unovis/ts';
4
4
 
5
5
  class VisGenericComponent {
6
6
  }
@@ -58,6 +58,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
58
58
  type: Input
59
59
  }] } });
60
60
 
61
+ // !!! This code was automatically generated. You should not change it !!!
62
+ class VisAnnotationsComponent {
63
+ ngAfterViewInit() {
64
+ this.component = new Annotations(this.getConfig());
65
+ }
66
+ ngOnChanges(changes) {
67
+ var _a, _b;
68
+ (_a = this.component) === null || _a === void 0 ? void 0 : _a.setConfig(this.getConfig());
69
+ (_b = this.componentContainer) === null || _b === void 0 ? void 0 : _b.render();
70
+ }
71
+ getConfig() {
72
+ const { items } = this;
73
+ const config = { items };
74
+ const keys = Object.keys(config);
75
+ keys.forEach(key => { if (config[key] === undefined)
76
+ delete config[key]; });
77
+ return config;
78
+ }
79
+ }
80
+ VisAnnotationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
+ VisAnnotationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAnnotationsComponent, selector: "vis-annotations", inputs: { items: "items" }, providers: [{ provide: VisGenericComponent, useExisting: VisAnnotationsComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsComponent, decorators: [{
83
+ type: Component,
84
+ args: [{
85
+ selector: 'vis-annotations',
86
+ template: '',
87
+ // eslint-disable-next-line no-use-before-define
88
+ providers: [{ provide: VisGenericComponent, useExisting: VisAnnotationsComponent }],
89
+ }]
90
+ }], propDecorators: { items: [{
91
+ type: Input
92
+ }] } });
93
+
61
94
  class VisXYContainerComponent {
62
95
  constructor() {
63
96
  /** Constraint the minimum value of the Y scale domain.
@@ -112,13 +145,14 @@ class VisXYContainerComponent {
112
145
  (_b = this.chart) === null || _b === void 0 ? void 0 : _b.updateContainer(this.getConfig());
113
146
  }
114
147
  getConfig() {
115
- var _a;
148
+ var _a, _b;
116
149
  const { duration, margin, padding, scaleByDomain, autoMargin, width, height, xScale, xDomain, xDomainMinConstraint, xDomainMaxConstraint, xRange, yScale, yDomain, yDomainMinConstraint, yDomainMaxConstraint, yRange, yDirection, ariaLabel, } = this;
117
150
  const visComponents = this.visComponents.toArray().map(d => d.component);
118
151
  const crosshair = visComponents.find(c => c instanceof Crosshair);
119
152
  const tooltip = (_a = this.tooltipComponent) === null || _a === void 0 ? void 0 : _a.component;
120
153
  const xAxis = visComponents.find(c => { var _a; return c instanceof Axis && ((_a = c === null || c === void 0 ? void 0 : c.config) === null || _a === void 0 ? void 0 : _a.type) === 'x'; });
121
154
  const yAxis = visComponents.find(c => { var _a; return c instanceof Axis && ((_a = c === null || c === void 0 ? void 0 : c.config) === null || _a === void 0 ? void 0 : _a.type) === 'y'; });
155
+ const annotations = (_b = this.annotationsComponent) === null || _b === void 0 ? void 0 : _b.component;
122
156
  const components = visComponents.filter(c => !(c instanceof Crosshair) && !(c instanceof Tooltip) && !(c instanceof Axis));
123
157
  return {
124
158
  components,
@@ -131,6 +165,7 @@ class VisXYContainerComponent {
131
165
  yAxis,
132
166
  tooltip,
133
167
  crosshair,
168
+ annotations,
134
169
  scaleByDomain,
135
170
  autoMargin,
136
171
  xScale,
@@ -158,7 +193,7 @@ class VisXYContainerComponent {
158
193
  }
159
194
  }
160
195
  VisXYContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisXYContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
161
- VisXYContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisXYContainerComponent, selector: "vis-xy-container", inputs: { width: "width", height: "height", xScale: "xScale", xDomain: "xDomain", xDomainMinConstraint: "xDomainMinConstraint", xDomainMaxConstraint: "xDomainMaxConstraint", xRange: "xRange", yScale: "yScale", yDomain: "yDomain", yDomainMinConstraint: "yDomainMinConstraint", yDomainMaxConstraint: "yDomainMaxConstraint", yRange: "yRange", yDirection: "yDirection", preventEmptyDomain: "preventEmptyDomain", duration: "duration", margin: "margin", padding: "padding", scaleByDomain: "scaleByDomain", autoMargin: "autoMargin", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "visComponents", predicate: VisXYComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-xy-container">
196
+ VisXYContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisXYContainerComponent, selector: "vis-xy-container", inputs: { width: "width", height: "height", xScale: "xScale", xDomain: "xDomain", xDomainMinConstraint: "xDomainMinConstraint", xDomainMaxConstraint: "xDomainMaxConstraint", xRange: "xRange", yScale: "yScale", yDomain: "yDomain", yDomainMinConstraint: "yDomainMinConstraint", yDomainMaxConstraint: "yDomainMaxConstraint", yRange: "yRange", yDirection: "yDirection", preventEmptyDomain: "preventEmptyDomain", duration: "duration", margin: "margin", padding: "padding", scaleByDomain: "scaleByDomain", autoMargin: "autoMargin", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "annotationsComponent", first: true, predicate: VisAnnotationsComponent, descendants: true }, { propertyName: "visComponents", predicate: VisXYComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-xy-container">
162
197
  <ng-content></ng-content>
163
198
  </div>`, isInline: true, styles: [".unovis-xy-container { width: 100%; height: 100%; position: relative; }"] });
164
199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisXYContainerComponent, decorators: [{
@@ -179,6 +214,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
179
214
  }], tooltipComponent: [{
180
215
  type: ContentChild,
181
216
  args: [VisTooltipComponent]
217
+ }], annotationsComponent: [{
218
+ type: ContentChild,
219
+ args: [VisAnnotationsComponent]
182
220
  }], width: [{
183
221
  type: Input
184
222
  }], height: [{
@@ -258,18 +296,19 @@ class VisSingleContainerComponent {
258
296
  (_b = this.chart) === null || _b === void 0 ? void 0 : _b.updateContainer(this.getConfig());
259
297
  }
260
298
  getConfig() {
261
- var _a, _b;
299
+ var _a, _b, _c;
262
300
  const { width, height, duration, margin, ariaLabel } = this;
263
301
  const component = (_a = this.visComponent) === null || _a === void 0 ? void 0 : _a.component;
264
302
  const tooltip = (_b = this.tooltipComponent) === null || _b === void 0 ? void 0 : _b.component;
265
- return { width, height, duration, margin, component, tooltip, ariaLabel };
303
+ const annotations = (_c = this.annotationsComponent) === null || _c === void 0 ? void 0 : _c.component;
304
+ return { width, height, duration, margin, component, tooltip, ariaLabel, annotations };
266
305
  }
267
306
  ngOnDestroy() {
268
307
  this.chart.destroy();
269
308
  }
270
309
  }
271
310
  VisSingleContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSingleContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
272
- VisSingleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSingleContainerComponent, selector: "vis-single-container", inputs: { width: "width", height: "height", margin: "margin", duration: "duration", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "visComponent", first: true, predicate: VisCoreComponent, descendants: true }, { propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-single-container">
311
+ VisSingleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSingleContainerComponent, selector: "vis-single-container", inputs: { width: "width", height: "height", margin: "margin", duration: "duration", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "visComponent", first: true, predicate: VisCoreComponent, descendants: true }, { propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "annotationsComponent", first: true, predicate: VisAnnotationsComponent, descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-single-container">
273
312
  <ng-content></ng-content>
274
313
  </div>`, isInline: true, styles: [".unovis-single-container { width: 100%; height: 100%; position: relative; }"] });
275
314
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSingleContainerComponent, decorators: [{
@@ -290,6 +329,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
290
329
  }], tooltipComponent: [{
291
330
  type: ContentChild,
292
331
  args: [VisTooltipComponent]
332
+ }], annotationsComponent: [{
333
+ type: ContentChild,
334
+ args: [VisAnnotationsComponent]
293
335
  }], width: [{
294
336
  type: Input
295
337
  }], height: [{