@unovis/angular 1.6.0 → 1.6.2-pre.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.
@@ -61,6 +61,10 @@ export declare class VisAxisComponent<Datum> implements AxisConfigInterface<Datu
61
61
  labelFontSize?: string | null;
62
62
  /** Distance between the axis and the label in pixels. Default: `8` */
63
63
  labelMargin?: number;
64
+ /** Label text fit mode: `FitMode.Wrap` or `FitMode.Trim`. Default: `FitMode.Wrap`. */
65
+ labelTextFitMode?: FitMode | string;
66
+ /** Label text trim mode: `TrimMode.Start`, `TrimMode.Middle` or `TrimMode.End`. Default: `TrimMode.Middle` */
67
+ labelTextTrimType?: TrimMode | string;
64
68
  /** Font color of the axis label as CSS string. Default: `null` */
65
69
  labelColor?: string | null;
66
70
  /** Sets whether to draw the grid lines or not. Default: `true` */
@@ -71,6 +75,8 @@ export declare class VisAxisComponent<Datum> implements AxisConfigInterface<Datu
71
75
  domainLine?: boolean;
72
76
  /** Draw only the min and max axis ticks. Default: `false` */
73
77
  minMaxTicksOnly?: boolean;
78
+ /** Show grid lines for the min and max axis ticks. Default: `false` */
79
+ minMaxTicksOnlyShowGridLines?: boolean;
74
80
  /** Draw only the min and max axis ticks, when the chart
75
81
  * width is less than the specified value.
76
82
  * Default: `250` */
@@ -113,5 +119,5 @@ export declare class VisAxisComponent<Datum> implements AxisConfigInterface<Datu
113
119
  ngOnChanges(changes: SimpleChanges): void;
114
120
  private getConfig;
115
121
  static ɵfac: i0.ɵɵFactoryDeclaration<VisAxisComponent<any>, never>;
116
- static ɵcmp: i0.ɵɵComponentDeclaration<VisAxisComponent<any>, "vis-axis", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "position": "position"; "type": "type"; "fullSize": "fullSize"; "label": "label"; "labelFontSize": "labelFontSize"; "labelMargin": "labelMargin"; "labelColor": "labelColor"; "gridLine": "gridLine"; "tickLine": "tickLine"; "domainLine": "domainLine"; "minMaxTicksOnly": "minMaxTicksOnly"; "minMaxTicksOnlyWhenWidthIsLess": "minMaxTicksOnlyWhenWidthIsLess"; "tickFormat": "tickFormat"; "tickValues": "tickValues"; "numTicks": "numTicks"; "tickTextFitMode": "tickTextFitMode"; "tickTextWidth": "tickTextWidth"; "tickTextSeparator": "tickTextSeparator"; "tickTextForceWordBreak": "tickTextForceWordBreak"; "tickTextTrimType": "tickTextTrimType"; "tickTextFontSize": "tickTextFontSize"; "tickTextAlign": "tickTextAlign"; "tickTextColor": "tickTextColor"; "tickTextAngle": "tickTextAngle"; "tickTextHideOverlapping": "tickTextHideOverlapping"; "tickPadding": "tickPadding"; "data": "data"; }, {}, never, never>;
122
+ static ɵcmp: i0.ɵɵComponentDeclaration<VisAxisComponent<any>, "vis-axis", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "position": "position"; "type": "type"; "fullSize": "fullSize"; "label": "label"; "labelFontSize": "labelFontSize"; "labelMargin": "labelMargin"; "labelTextFitMode": "labelTextFitMode"; "labelTextTrimType": "labelTextTrimType"; "labelColor": "labelColor"; "gridLine": "gridLine"; "tickLine": "tickLine"; "domainLine": "domainLine"; "minMaxTicksOnly": "minMaxTicksOnly"; "minMaxTicksOnlyShowGridLines": "minMaxTicksOnlyShowGridLines"; "minMaxTicksOnlyWhenWidthIsLess": "minMaxTicksOnlyWhenWidthIsLess"; "tickFormat": "tickFormat"; "tickValues": "tickValues"; "numTicks": "numTicks"; "tickTextFitMode": "tickTextFitMode"; "tickTextWidth": "tickTextWidth"; "tickTextSeparator": "tickTextSeparator"; "tickTextForceWordBreak": "tickTextForceWordBreak"; "tickTextTrimType": "tickTextTrimType"; "tickTextFontSize": "tickTextFontSize"; "tickTextAlign": "tickTextAlign"; "tickTextColor": "tickTextColor"; "tickTextAngle": "tickTextAngle"; "tickTextHideOverlapping": "tickTextHideOverlapping"; "tickPadding": "tickPadding"; "data": "data"; }, {}, never, never>;
117
123
  }
@@ -104,8 +104,13 @@ export declare class VisTimelineComponent<Datum> implements TimelineConfigInterf
104
104
  lineEndIconArrangement?: GenericAccessor<Arrangement | any, Datum>;
105
105
  /** Configurable Timeline item cursor when hovering over. Default: `undefined` */
106
106
  lineCursor?: StringAccessor<Datum>;
107
- /** Sets the minimum line length to 1 pixel for better visibility of small values. Default: `false` */
107
+ /** Sets the minimum line length to 1 pixel for better visibility of small values.
108
+ * When `lineCap` is set to `true`, the segment will be rendered as a circle.
109
+ * Default: `false` */
108
110
  showEmptySegments?: boolean;
111
+ /** Center small segments when `showEmptySegments` and `lineCap` are set to `true`.
112
+ * Default: `true` */
113
+ showEmptySegmentsCorrectPosition?: boolean;
109
114
  /** Timeline row height. Default: `22` */
110
115
  rowHeight?: number;
111
116
  /** Alternating row colors. Default: `true` */
@@ -144,5 +149,5 @@ export declare class VisTimelineComponent<Datum> implements TimelineConfigInterf
144
149
  ngOnChanges(changes: SimpleChanges): void;
145
150
  private getConfig;
146
151
  static ɵfac: i0.ɵɵFactoryDeclaration<VisTimelineComponent<any>, never>;
147
- static ɵcmp: i0.ɵɵComponentDeclaration<VisTimelineComponent<any>, "vis-timeline", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "x": "x"; "id": "id"; "color": "color"; "xScale": "xScale"; "yScale": "yScale"; "excludeFromDomainCalculation": "excludeFromDomainCalculation"; "type": "type"; "length": "length"; "cursor": "cursor"; "lineRow": "lineRow"; "lineDuration": "lineDuration"; "lineWidth": "lineWidth"; "lineCap": "lineCap"; "lineStartIcon": "lineStartIcon"; "lineStartIconColor": "lineStartIconColor"; "lineStartIconSize": "lineStartIconSize"; "lineStartIconArrangement": "lineStartIconArrangement"; "lineEndIcon": "lineEndIcon"; "lineEndIconColor": "lineEndIconColor"; "lineEndIconSize": "lineEndIconSize"; "lineEndIconArrangement": "lineEndIconArrangement"; "lineCursor": "lineCursor"; "showEmptySegments": "showEmptySegments"; "rowHeight": "rowHeight"; "alternatingRowColors": "alternatingRowColors"; "showLabels": "showLabels"; "labelWidth": "labelWidth"; "maxLabelWidth": "maxLabelWidth"; "showRowLabels": "showRowLabels"; "rowLabelStyle": "rowLabelStyle"; "rowLabelFormatter": "rowLabelFormatter"; "rowIcon": "rowIcon"; "rowLabelWidth": "rowLabelWidth"; "rowMaxLabelWidth": "rowMaxLabelWidth"; "rowLabelTextAlign": "rowLabelTextAlign"; "arrows": "arrows"; "animationLineEnterPosition": "animationLineEnterPosition"; "animationLineExitPosition": "animationLineExitPosition"; "onScroll": "onScroll"; "data": "data"; }, {}, never, never>;
152
+ static ɵcmp: i0.ɵɵComponentDeclaration<VisTimelineComponent<any>, "vis-timeline", never, { "duration": "duration"; "events": "events"; "attributes": "attributes"; "x": "x"; "id": "id"; "color": "color"; "xScale": "xScale"; "yScale": "yScale"; "excludeFromDomainCalculation": "excludeFromDomainCalculation"; "type": "type"; "length": "length"; "cursor": "cursor"; "lineRow": "lineRow"; "lineDuration": "lineDuration"; "lineWidth": "lineWidth"; "lineCap": "lineCap"; "lineStartIcon": "lineStartIcon"; "lineStartIconColor": "lineStartIconColor"; "lineStartIconSize": "lineStartIconSize"; "lineStartIconArrangement": "lineStartIconArrangement"; "lineEndIcon": "lineEndIcon"; "lineEndIconColor": "lineEndIconColor"; "lineEndIconSize": "lineEndIconSize"; "lineEndIconArrangement": "lineEndIconArrangement"; "lineCursor": "lineCursor"; "showEmptySegments": "showEmptySegments"; "showEmptySegmentsCorrectPosition": "showEmptySegmentsCorrectPosition"; "rowHeight": "rowHeight"; "alternatingRowColors": "alternatingRowColors"; "showLabels": "showLabels"; "labelWidth": "labelWidth"; "maxLabelWidth": "maxLabelWidth"; "showRowLabels": "showRowLabels"; "rowLabelStyle": "rowLabelStyle"; "rowLabelFormatter": "rowLabelFormatter"; "rowIcon": "rowIcon"; "rowLabelWidth": "rowLabelWidth"; "rowMaxLabelWidth": "rowMaxLabelWidth"; "rowLabelTextAlign": "rowLabelTextAlign"; "arrows": "arrows"; "animationLineEnterPosition": "animationLineEnterPosition"; "animationLineExitPosition": "animationLineExitPosition"; "onScroll": "onScroll"; "data": "data"; }, {}, never, never>;
148
153
  }
@@ -21,8 +21,8 @@ export class VisAxisComponent {
21
21
  (_c = this.componentContainer) === null || _c === void 0 ? void 0 : _c.render();
22
22
  }
23
23
  getConfig() {
24
- const { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding } = this;
25
- const config = { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding };
24
+ const { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelTextFitMode, labelTextTrimType, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyShowGridLines, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding } = this;
25
+ const config = { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelTextFitMode, labelTextTrimType, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyShowGridLines, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding };
26
26
  const keys = Object.keys(config);
27
27
  keys.forEach(key => { if (config[key] === undefined)
28
28
  delete config[key]; });
@@ -30,7 +30,7 @@ export class VisAxisComponent {
30
30
  }
31
31
  }
32
32
  VisAxisComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAxisComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- VisAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAxisComponent, selector: "vis-axis", inputs: { duration: "duration", events: "events", attributes: "attributes", position: "position", type: "type", fullSize: "fullSize", label: "label", labelFontSize: "labelFontSize", labelMargin: "labelMargin", labelColor: "labelColor", gridLine: "gridLine", tickLine: "tickLine", domainLine: "domainLine", minMaxTicksOnly: "minMaxTicksOnly", minMaxTicksOnlyWhenWidthIsLess: "minMaxTicksOnlyWhenWidthIsLess", tickFormat: "tickFormat", tickValues: "tickValues", numTicks: "numTicks", tickTextFitMode: "tickTextFitMode", tickTextWidth: "tickTextWidth", tickTextSeparator: "tickTextSeparator", tickTextForceWordBreak: "tickTextForceWordBreak", tickTextTrimType: "tickTextTrimType", tickTextFontSize: "tickTextFontSize", tickTextAlign: "tickTextAlign", tickTextColor: "tickTextColor", tickTextAngle: "tickTextAngle", tickTextHideOverlapping: "tickTextHideOverlapping", tickPadding: "tickPadding", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisAxisComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
33
+ VisAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAxisComponent, selector: "vis-axis", inputs: { duration: "duration", events: "events", attributes: "attributes", position: "position", type: "type", fullSize: "fullSize", label: "label", labelFontSize: "labelFontSize", labelMargin: "labelMargin", labelTextFitMode: "labelTextFitMode", labelTextTrimType: "labelTextTrimType", labelColor: "labelColor", gridLine: "gridLine", tickLine: "tickLine", domainLine: "domainLine", minMaxTicksOnly: "minMaxTicksOnly", minMaxTicksOnlyShowGridLines: "minMaxTicksOnlyShowGridLines", minMaxTicksOnlyWhenWidthIsLess: "minMaxTicksOnlyWhenWidthIsLess", tickFormat: "tickFormat", tickValues: "tickValues", numTicks: "numTicks", tickTextFitMode: "tickTextFitMode", tickTextWidth: "tickTextWidth", tickTextSeparator: "tickTextSeparator", tickTextForceWordBreak: "tickTextForceWordBreak", tickTextTrimType: "tickTextTrimType", tickTextFontSize: "tickTextFontSize", tickTextAlign: "tickTextAlign", tickTextColor: "tickTextColor", tickTextAngle: "tickTextAngle", tickTextHideOverlapping: "tickTextHideOverlapping", tickPadding: "tickPadding", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisAxisComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAxisComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{
@@ -57,6 +57,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
57
57
  type: Input
58
58
  }], labelMargin: [{
59
59
  type: Input
60
+ }], labelTextFitMode: [{
61
+ type: Input
62
+ }], labelTextTrimType: [{
63
+ type: Input
60
64
  }], labelColor: [{
61
65
  type: Input
62
66
  }], gridLine: [{
@@ -67,6 +71,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
67
71
  type: Input
68
72
  }], minMaxTicksOnly: [{
69
73
  type: Input
74
+ }], minMaxTicksOnlyShowGridLines: [{
75
+ type: Input
70
76
  }], minMaxTicksOnlyWhenWidthIsLess: [{
71
77
  type: Input
72
78
  }], tickFormat: [{
@@ -100,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
100
106
  }], data: [{
101
107
  type: Input
102
108
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9heGlzL2F4aXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBVUwsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQTBJM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FB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Ly8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQXhpcyxcbiAgQXhpc0NvbmZpZ0ludGVyZmFjZSxcbiAgQ29udGFpbmVyQ29yZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBQb3NpdGlvbixcbiAgQXhpc1R5cGUsXG4gIEZpdE1vZGUsXG4gIFRyaW1Nb2RlLFxuICBUZXh0QWxpZ24sXG59IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNYWUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1heGlzJyxcbiAgdGVtcGxhdGU6ICcnLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNYWUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFZpc0F4aXNDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0F4aXNDb21wb25lbnQ8RGF0dW0+IGltcGxlbWVudHMgQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4sIEFmdGVyVmlld0luaXQge1xuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogQXhpcyBwb3NpdGlvbjogYFBvc2l0aW9uLlRvcGAsIGBQb3NpdGlvbi5Cb3R0b21gLCBgUG9zaXRpb24uUmlnaHRgIG9yIGBQb3NpdGlvbi5MZWZ0YC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgcG9zaXRpb24/OiBQb3NpdGlvbiB8IHN0cmluZ1xuXG4gIC8qKiBBeGlzIHR5cGU6IGBBeGlzVHlwZS5YYCBvciBgQXhpc1R5cGUuWWAgKi9cbiAgQElucHV0KCkgdHlwZT86IEF4aXNUeXBlIHwgc3RyaW5nXG5cbiAgLyoqIEV4dGVuZCB0aGUgYXhpcyBkb21haW4gbGluZSB0byBiZSBmdWxsIHdpZHRoIG9yIGZ1bGwgaGVpZ2h0LiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgZnVsbFNpemU/OiBib29sZWFuXG5cbiAgLyoqIEF4aXMgbGFiZWwuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG5cbiAgLyoqIEZvbnQgc2l6ZSBvZiB0aGUgYXhpcyBsYWJlbCBhcyBDU1Mgc3RyaW5nLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgbGFiZWxGb250U2l6ZT86IHN0cmluZyB8IG51bGxcblxuICAvKiogRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXhpcyBhbmQgdGhlIGxhYmVsIGluIHBpeGVscy4gRGVmYXVsdDogYDhgICovXG4gIEBJbnB1dCgpIGxhYmVsTWFyZ2luPzogbnVtYmVyXG5cbiAgLyoqIEZvbnQgY29sb3Igb2YgdGhlIGF4aXMgbGFiZWwgYXMgQ1NTIHN0cmluZy4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIGxhYmVsQ29sb3I/OiBzdHJpbmcgfCBudWxsXG5cbiAgLyoqIFNldHMgd2hldGhlciB0byBkcmF3IHRoZSBncmlkIGxpbmVzIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGdyaWRMaW5lPzogYm9vbGVhblxuXG4gIC8qKiBTZXRzIHdoZXRoZXIgdG8gZHJhdyB0aGUgdGljayBsaW5lcyBvciBub3QuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSB0aWNrTGluZT86IGJvb2xlYW5cblxuICAvKiogU2V0cyB3aGV0aGVyIHRvIGRyYXcgdGhlIGRvbWFpbiBsaW5lIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGRvbWFpbkxpbmU/OiBib29sZWFuXG5cbiAgLyoqIERyYXcgb25seSB0aGUgbWluIGFuZCBtYXggYXhpcyB0aWNrcy4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBtaW5NYXhUaWNrc09ubHk/OiBib29sZWFuXG5cbiAgLyoqIERyYXcgb25seSB0aGUgbWluIGFuZCBtYXggYXhpcyB0aWNrcywgd2hlbiB0aGUgY2hhcnRcbiAgICogd2lkdGggaXMgbGVzcyB0aGFuIHRoZSBzcGVjaWZpZWQgdmFsdWUuXG4gICAqIERlZmF1bHQ6IGAyNTBgICovXG4gIEBJbnB1dCgpIG1pbk1heFRpY2tzT25seVdoZW5XaWR0aElzTGVzcz86IG51bWJlclxuXG4gIC8qKiBUaWNrIGxhYmVsIGZvcm1hdHRlciBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja0Zvcm1hdD86ICgodGljazogbnVtYmVyIHwgRGF0ZSwgaTogbnVtYmVyLCB0aWNrczogbnVtYmVyW10gfCBEYXRlW10pID0+IHN0cmluZylcblxuICAvKiogRXhwbGljaXRseSBzZXQgdGljayB2YWx1ZXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tWYWx1ZXM/OiBudW1iZXJbXVxuXG4gIC8qKiBTZXQgdGhlIGFwcHJveGltYXRlIG51bWJlciBvZiBheGlzIHRpY2tzICh3aWxsIGJlIHBhc3NlZCB0byBEMydzIGF4aXMgY29uc3RydWN0b3IpLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBudW1UaWNrcz86IG51bWJlclxuXG4gIC8qKiBUaWNrIHRleHQgZml0IG1vZGU6IGBGaXRNb2RlLldyYXBgIG9yIGBGaXRNb2RlLlRyaW1gLiBEZWZhdWx0OiBgRml0TW9kZS5XcmFwYC4gKi9cbiAgQElucHV0KCkgdGlja1RleHRGaXRNb2RlPzogRml0TW9kZSB8IHN0cmluZ1xuXG4gIC8qKiBNYXhpbXVtIHdpZHRoIGluIHBpeGVscyBmb3IgdGhlIHRpY2sgdGV4dCB0byBiZSB3cmFwcGVkIG9yIHRyaW1tZWQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0V2lkdGg/OiBudW1iZXJcblxuICAvKiogVGljayB0ZXh0IHdyYXBwaW5nIHNlcGFyYXRvci4gU3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0U2VwYXJhdG9yPzogc3RyaW5nIHwgc3RyaW5nW11cblxuICAvKiogRm9yY2Ugd29yZCBicmVhayBmb3IgdGlja3Mgd2hlbiB0aGV5IGRvbid0IGZpdC4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEZvcmNlV29yZEJyZWFrPzogYm9vbGVhblxuXG4gIC8qKiBUaWNrIHRleHQgdHJpbSBtb2RlOiBgVHJpbU1vZGUuU3RhcnRgLCBgVHJpbU1vZGUuTWlkZGxlYCBvciBgVHJpbU1vZGUuRW5kYC4gRGVmYXVsdDogYFRyaW1Nb2RlLk1pZGRsZWAgKi9cbiAgQElucHV0KCkgdGlja1RleHRUcmltVHlwZT86IFRyaW1Nb2RlIHwgc3RyaW5nXG5cbiAgLyoqIEZvbnQgc2l6ZSBvZiB0aGUgdGljayB0ZXh0IGFzIENTUyBzdHJpbmcuIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEZvbnRTaXplPzogc3RyaW5nIHwgbnVsbFxuXG4gIC8qKiBUZXh0IGFsaWdubWVudCBmb3IgdGlja3M6IGBUZXh0QWxpZ24uTGVmdGAsIGBUZXh0QWxpZ24uQ2VudGVyYCBvciBgVGV4dEFsaWduLlJpZ2h0YC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja1RleHRBbGlnbj86IFRleHRBbGlnbiB8IHN0cmluZ1xuXG4gIC8qKiBGb250IGNvbG9yIG9mIHRoZSB0aWNrIHRleHQgYXMgQ1NTIHN0cmluZy4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0Q29sb3I/OiBzdHJpbmcgfCBudWxsXG5cbiAgLyoqIFRleHQgcm90YXRpb24gYW5nbGUgZm9yIHRpY2tzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEFuZ2xlPzogbnVtYmVyXG5cbiAgLyoqIEhpZGUgdGljayBsYWJlbHMgdGhhdCBvdmVybGFwIHdpdGggZWFjaCBvdGhlci5cbiAgICogVG8gZGVmaW5lIG92ZXJsYXBwaW5nLCBhIHNpbXBsZSBib3VuZGluZyBib3ggY29sbGlzaW9uIGRldGVjdGlvbiBhbGdvcml0aG0gaXMgdXNlZC5cbiAgICogV2hpY2ggbWVhbnMgdGhlIHJlc3VsdCB3b24ndCBiZSBhY2N1cmF0ZSB3aGVuIGB0aWNrVGV4dEFuZ2xlYCBpcyBzcGVjaWZpZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0SGlkZU92ZXJsYXBwaW5nPzogYm9vbGVhblxuXG4gIC8qKiBUaGUgc3BhY2luZyBpbiBwaXhlbHMgYmV0d2VlbiB0aGUgdGljayBhbmQgaXQncyBsYWJlbC4gRGVmYXVsdDogYDhgICovXG4gIEBJbnB1dCgpIHRpY2tQYWRkaW5nPzogbnVtYmVyXG4gIEBJbnB1dCgpIGRhdGE6IERhdHVtW11cblxuICBjb21wb25lbnQ6IEF4aXM8RGF0dW0+IHwgdW5kZWZpbmVkXG4gIHB1YmxpYyBjb21wb25lbnRDb250YWluZXI6IENvbnRhaW5lckNvcmUgfCB1bmRlZmluZWRcblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50ID0gbmV3IEF4aXM8RGF0dW0+KHRoaXMuZ2V0Q29uZmlnKCkpXG5cbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC5zZXREYXRhKHRoaXMuZGF0YSlcbiAgICAgIHRoaXMuY29tcG9uZW50Q29udGFpbmVyPy5yZW5kZXIoKVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzIChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuZGF0YSkgeyB0aGlzLmNvbXBvbmVudD8uc2V0RGF0YSh0aGlzLmRhdGEpIH1cbiAgICB0aGlzLmNvbXBvbmVudD8uc2V0Q29uZmlnKHRoaXMuZ2V0Q29uZmlnKCkpXG4gICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gIH1cblxuICBwcml2YXRlIGdldENvbmZpZyAoKTogQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4ge1xuICAgIGNvbnN0IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgcG9zaXRpb24sIHR5cGUsIGZ1bGxTaXplLCBsYWJlbCwgbGFiZWxGb250U2l6ZSwgbGFiZWxNYXJnaW4sIGxhYmVsQ29sb3IsIGdyaWRMaW5lLCB0aWNrTGluZSwgZG9tYWluTGluZSwgbWluTWF4VGlja3NPbmx5LCBtaW5NYXhUaWNrc09ubHlXaGVuV2lkdGhJc0xlc3MsIHRpY2tGb3JtYXQsIHRpY2tWYWx1ZXMsIG51bVRpY2tzLCB0aWNrVGV4dEZpdE1vZGUsIHRpY2tUZXh0V2lkdGgsIHRpY2tUZXh0U2VwYXJhdG9yLCB0aWNrVGV4dEZvcmNlV29yZEJyZWFrLCB0aWNrVGV4dFRyaW1UeXBlLCB0aWNrVGV4dEZvbnRTaXplLCB0aWNrVGV4dEFsaWduLCB0aWNrVGV4dENvbG9yLCB0aWNrVGV4dEFuZ2xlLCB0aWNrVGV4dEhpZGVPdmVybGFwcGluZywgdGlja1BhZGRpbmcgfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHBvc2l0aW9uLCB0eXBlLCBmdWxsU2l6ZSwgbGFiZWwsIGxhYmVsRm9udFNpemUsIGxhYmVsTWFyZ2luLCBsYWJlbENvbG9yLCBncmlkTGluZSwgdGlja0xpbmUsIGRvbWFpbkxpbmUsIG1pbk1heFRpY2tzT25seSwgbWluTWF4VGlja3NPbmx5V2hlbldpZHRoSXNMZXNzLCB0aWNrRm9ybWF0LCB0aWNrVmFsdWVzLCBudW1UaWNrcywgdGlja1RleHRGaXRNb2RlLCB0aWNrVGV4dFdpZHRoLCB0aWNrVGV4dFNlcGFyYXRvciwgdGlja1RleHRGb3JjZVdvcmRCcmVhaywgdGlja1RleHRUcmltVHlwZSwgdGlja1RleHRGb250U2l6ZSwgdGlja1RleHRBbGlnbiwgdGlja1RleHRDb2xvciwgdGlja1RleHRBbmdsZSwgdGlja1RleHRIaWRlT3ZlcmxhcHBpbmcsIHRpY2tQYWRkaW5nIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4pW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9heGlzL2F4aXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBVUwsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQW1KM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FB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QkFBckIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBTUcsdUJBQXVCO3NCQUEvQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQXhpcyxcbiAgQXhpc0NvbmZpZ0ludGVyZmFjZSxcbiAgQ29udGFpbmVyQ29yZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBQb3NpdGlvbixcbiAgQXhpc1R5cGUsXG4gIEZpdE1vZGUsXG4gIFRyaW1Nb2RlLFxuICBUZXh0QWxpZ24sXG59IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNYWUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1heGlzJyxcbiAgdGVtcGxhdGU6ICcnLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNYWUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFZpc0F4aXNDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0F4aXNDb21wb25lbnQ8RGF0dW0+IGltcGxlbWVudHMgQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4sIEFmdGVyVmlld0luaXQge1xuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogQXhpcyBwb3NpdGlvbjogYFBvc2l0aW9uLlRvcGAsIGBQb3NpdGlvbi5Cb3R0b21gLCBgUG9zaXRpb24uUmlnaHRgIG9yIGBQb3NpdGlvbi5MZWZ0YC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgcG9zaXRpb24/OiBQb3NpdGlvbiB8IHN0cmluZ1xuXG4gIC8qKiBBeGlzIHR5cGU6IGBBeGlzVHlwZS5YYCBvciBgQXhpc1R5cGUuWWAgKi9cbiAgQElucHV0KCkgdHlwZT86IEF4aXNUeXBlIHwgc3RyaW5nXG5cbiAgLyoqIEV4dGVuZCB0aGUgYXhpcyBkb21haW4gbGluZSB0byBiZSBmdWxsIHdpZHRoIG9yIGZ1bGwgaGVpZ2h0LiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgZnVsbFNpemU/OiBib29sZWFuXG5cbiAgLyoqIEF4aXMgbGFiZWwuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG5cbiAgLyoqIEZvbnQgc2l6ZSBvZiB0aGUgYXhpcyBsYWJlbCBhcyBDU1Mgc3RyaW5nLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgbGFiZWxGb250U2l6ZT86IHN0cmluZyB8IG51bGxcblxuICAvKiogRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXhpcyBhbmQgdGhlIGxhYmVsIGluIHBpeGVscy4gRGVmYXVsdDogYDhgICovXG4gIEBJbnB1dCgpIGxhYmVsTWFyZ2luPzogbnVtYmVyXG5cbiAgLyoqIExhYmVsIHRleHQgZml0IG1vZGU6IGBGaXRNb2RlLldyYXBgIG9yIGBGaXRNb2RlLlRyaW1gLiBEZWZhdWx0OiBgRml0TW9kZS5XcmFwYC4gKi9cbiAgQElucHV0KCkgbGFiZWxUZXh0Rml0TW9kZT86IEZpdE1vZGUgfCBzdHJpbmdcblxuICAvKiogTGFiZWwgdGV4dCB0cmltIG1vZGU6IGBUcmltTW9kZS5TdGFydGAsIGBUcmltTW9kZS5NaWRkbGVgIG9yIGBUcmltTW9kZS5FbmRgLiBEZWZhdWx0OiBgVHJpbU1vZGUuTWlkZGxlYCAqL1xuICBASW5wdXQoKSBsYWJlbFRleHRUcmltVHlwZT86IFRyaW1Nb2RlIHwgc3RyaW5nXG5cbiAgLyoqIEZvbnQgY29sb3Igb2YgdGhlIGF4aXMgbGFiZWwgYXMgQ1NTIHN0cmluZy4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIGxhYmVsQ29sb3I/OiBzdHJpbmcgfCBudWxsXG5cbiAgLyoqIFNldHMgd2hldGhlciB0byBkcmF3IHRoZSBncmlkIGxpbmVzIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGdyaWRMaW5lPzogYm9vbGVhblxuXG4gIC8qKiBTZXRzIHdoZXRoZXIgdG8gZHJhdyB0aGUgdGljayBsaW5lcyBvciBub3QuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSB0aWNrTGluZT86IGJvb2xlYW5cblxuICAvKiogU2V0cyB3aGV0aGVyIHRvIGRyYXcgdGhlIGRvbWFpbiBsaW5lIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGRvbWFpbkxpbmU/OiBib29sZWFuXG5cbiAgLyoqIERyYXcgb25seSB0aGUgbWluIGFuZCBtYXggYXhpcyB0aWNrcy4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBtaW5NYXhUaWNrc09ubHk/OiBib29sZWFuXG5cbiAgLyoqIFNob3cgZ3JpZCBsaW5lcyBmb3IgdGhlIG1pbiBhbmQgbWF4IGF4aXMgdGlja3MuIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgbWluTWF4VGlja3NPbmx5U2hvd0dyaWRMaW5lcz86IGJvb2xlYW5cblxuICAvKiogRHJhdyBvbmx5IHRoZSBtaW4gYW5kIG1heCBheGlzIHRpY2tzLCB3aGVuIHRoZSBjaGFydFxuICAgKiB3aWR0aCBpcyBsZXNzIHRoYW4gdGhlIHNwZWNpZmllZCB2YWx1ZS5cbiAgICogRGVmYXVsdDogYDI1MGAgKi9cbiAgQElucHV0KCkgbWluTWF4VGlja3NPbmx5V2hlbldpZHRoSXNMZXNzPzogbnVtYmVyXG5cbiAgLyoqIFRpY2sgbGFiZWwgZm9ybWF0dGVyIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB0aWNrRm9ybWF0PzogKCh0aWNrOiBudW1iZXIgfCBEYXRlLCBpOiBudW1iZXIsIHRpY2tzOiBudW1iZXJbXSB8IERhdGVbXSkgPT4gc3RyaW5nKVxuXG4gIC8qKiBFeHBsaWNpdGx5IHNldCB0aWNrIHZhbHVlcy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja1ZhbHVlcz86IG51bWJlcltdXG5cbiAgLyoqIFNldCB0aGUgYXBwcm94aW1hdGUgbnVtYmVyIG9mIGF4aXMgdGlja3MgKHdpbGwgYmUgcGFzc2VkIHRvIEQzJ3MgYXhpcyBjb25zdHJ1Y3RvcikuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG51bVRpY2tzPzogbnVtYmVyXG5cbiAgLyoqIFRpY2sgdGV4dCBmaXQgbW9kZTogYEZpdE1vZGUuV3JhcGAgb3IgYEZpdE1vZGUuVHJpbWAuIERlZmF1bHQ6IGBGaXRNb2RlLldyYXBgLiAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEZpdE1vZGU/OiBGaXRNb2RlIHwgc3RyaW5nXG5cbiAgLyoqIE1heGltdW0gd2lkdGggaW4gcGl4ZWxzIGZvciB0aGUgdGljayB0ZXh0IHRvIGJlIHdyYXBwZWQgb3IgdHJpbW1lZC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja1RleHRXaWR0aD86IG51bWJlclxuXG4gIC8qKiBUaWNrIHRleHQgd3JhcHBpbmcgc2VwYXJhdG9yLiBTdHJpbmcgb3IgYXJyYXkgb2Ygc3RyaW5ncy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja1RleHRTZXBhcmF0b3I/OiBzdHJpbmcgfCBzdHJpbmdbXVxuXG4gIC8qKiBGb3JjZSB3b3JkIGJyZWFrIGZvciB0aWNrcyB3aGVuIHRoZXkgZG9uJ3QgZml0LiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0Rm9yY2VXb3JkQnJlYWs/OiBib29sZWFuXG5cbiAgLyoqIFRpY2sgdGV4dCB0cmltIG1vZGU6IGBUcmltTW9kZS5TdGFydGAsIGBUcmltTW9kZS5NaWRkbGVgIG9yIGBUcmltTW9kZS5FbmRgLiBEZWZhdWx0OiBgVHJpbU1vZGUuTWlkZGxlYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dFRyaW1UeXBlPzogVHJpbU1vZGUgfCBzdHJpbmdcblxuICAvKiogRm9udCBzaXplIG9mIHRoZSB0aWNrIHRleHQgYXMgQ1NTIHN0cmluZy4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0Rm9udFNpemU/OiBzdHJpbmcgfCBudWxsXG5cbiAgLyoqIFRleHQgYWxpZ25tZW50IGZvciB0aWNrczogYFRleHRBbGlnbi5MZWZ0YCwgYFRleHRBbGlnbi5DZW50ZXJgIG9yIGBUZXh0QWxpZ24uUmlnaHRgLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEFsaWduPzogVGV4dEFsaWduIHwgc3RyaW5nXG5cbiAgLyoqIEZvbnQgY29sb3Igb2YgdGhlIHRpY2sgdGV4dCBhcyBDU1Mgc3RyaW5nLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgdGlja1RleHRDb2xvcj86IHN0cmluZyB8IG51bGxcblxuICAvKiogVGV4dCByb3RhdGlvbiBhbmdsZSBmb3IgdGlja3MuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0QW5nbGU/OiBudW1iZXJcblxuICAvKiogSGlkZSB0aWNrIGxhYmVscyB0aGF0IG92ZXJsYXAgd2l0aCBlYWNoIG90aGVyLlxuICAgKiBUbyBkZWZpbmUgb3ZlcmxhcHBpbmcsIGEgc2ltcGxlIGJvdW5kaW5nIGJveCBjb2xsaXNpb24gZGV0ZWN0aW9uIGFsZ29yaXRobSBpcyB1c2VkLlxuICAgKiBXaGljaCBtZWFucyB0aGUgcmVzdWx0IHdvbid0IGJlIGFjY3VyYXRlIHdoZW4gYHRpY2tUZXh0QW5nbGVgIGlzIHNwZWNpZmllZC5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja1RleHRIaWRlT3ZlcmxhcHBpbmc/OiBib29sZWFuXG5cbiAgLyoqIFRoZSBzcGFjaW5nIGluIHBpeGVscyBiZXR3ZWVuIHRoZSB0aWNrIGFuZCBpdCdzIGxhYmVsLiBEZWZhdWx0OiBgOGAgKi9cbiAgQElucHV0KCkgdGlja1BhZGRpbmc/OiBudW1iZXJcbiAgQElucHV0KCkgZGF0YTogRGF0dW1bXVxuXG4gIGNvbXBvbmVudDogQXhpczxEYXR1bT4gfCB1bmRlZmluZWRcbiAgcHVibGljIGNvbXBvbmVudENvbnRhaW5lcjogQ29udGFpbmVyQ29yZSB8IHVuZGVmaW5lZFxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgQXhpczxEYXR1bT4odGhpcy5nZXRDb25maWcoKSlcblxuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LnNldERhdGEodGhpcy5kYXRhKVxuICAgICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7IHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSkgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBBeGlzQ29uZmlnSW50ZXJmYWNlPERhdHVtPiB7XG4gICAgY29uc3QgeyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCBwb3NpdGlvbiwgdHlwZSwgZnVsbFNpemUsIGxhYmVsLCBsYWJlbEZvbnRTaXplLCBsYWJlbE1hcmdpbiwgbGFiZWxUZXh0Rml0TW9kZSwgbGFiZWxUZXh0VHJpbVR5cGUsIGxhYmVsQ29sb3IsIGdyaWRMaW5lLCB0aWNrTGluZSwgZG9tYWluTGluZSwgbWluTWF4VGlja3NPbmx5LCBtaW5NYXhUaWNrc09ubHlTaG93R3JpZExpbmVzLCBtaW5NYXhUaWNrc09ubHlXaGVuV2lkdGhJc0xlc3MsIHRpY2tGb3JtYXQsIHRpY2tWYWx1ZXMsIG51bVRpY2tzLCB0aWNrVGV4dEZpdE1vZGUsIHRpY2tUZXh0V2lkdGgsIHRpY2tUZXh0U2VwYXJhdG9yLCB0aWNrVGV4dEZvcmNlV29yZEJyZWFrLCB0aWNrVGV4dFRyaW1UeXBlLCB0aWNrVGV4dEZvbnRTaXplLCB0aWNrVGV4dEFsaWduLCB0aWNrVGV4dENvbG9yLCB0aWNrVGV4dEFuZ2xlLCB0aWNrVGV4dEhpZGVPdmVybGFwcGluZywgdGlja1BhZGRpbmcgfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHBvc2l0aW9uLCB0eXBlLCBmdWxsU2l6ZSwgbGFiZWwsIGxhYmVsRm9udFNpemUsIGxhYmVsTWFyZ2luLCBsYWJlbFRleHRGaXRNb2RlLCBsYWJlbFRleHRUcmltVHlwZSwgbGFiZWxDb2xvciwgZ3JpZExpbmUsIHRpY2tMaW5lLCBkb21haW5MaW5lLCBtaW5NYXhUaWNrc09ubHksIG1pbk1heFRpY2tzT25seVNob3dHcmlkTGluZXMsIG1pbk1heFRpY2tzT25seVdoZW5XaWR0aElzTGVzcywgdGlja0Zvcm1hdCwgdGlja1ZhbHVlcywgbnVtVGlja3MsIHRpY2tUZXh0Rml0TW9kZSwgdGlja1RleHRXaWR0aCwgdGlja1RleHRTZXBhcmF0b3IsIHRpY2tUZXh0Rm9yY2VXb3JkQnJlYWssIHRpY2tUZXh0VHJpbVR5cGUsIHRpY2tUZXh0Rm9udFNpemUsIHRpY2tUZXh0QWxpZ24sIHRpY2tUZXh0Q29sb3IsIHRpY2tUZXh0QW5nbGUsIHRpY2tUZXh0SGlkZU92ZXJsYXBwaW5nLCB0aWNrUGFkZGluZyB9XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGNvbmZpZykgYXMgKGtleW9mIEF4aXNDb25maWdJbnRlcmZhY2U8RGF0dW0+KVtdXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiB7IGlmIChjb25maWdba2V5XSA9PT0gdW5kZWZpbmVkKSBkZWxldGUgY29uZmlnW2tleV0gfSlcblxuICAgIHJldHVybiBjb25maWdcbiAgfVxufVxuIl19
@@ -21,8 +21,8 @@ export class VisTimelineComponent {
21
21
  (_c = this.componentContainer) === null || _c === void 0 ? void 0 : _c.render();
22
22
  }
23
23
  getConfig() {
24
- const { duration, events, attributes, x, id, color, xScale, yScale, excludeFromDomainCalculation, type, length, cursor, lineRow, lineDuration, lineWidth, lineCap, lineStartIcon, lineStartIconColor, lineStartIconSize, lineStartIconArrangement, lineEndIcon, lineEndIconColor, lineEndIconSize, lineEndIconArrangement, lineCursor, showEmptySegments, rowHeight, alternatingRowColors, showLabels, labelWidth, maxLabelWidth, showRowLabels, rowLabelStyle, rowLabelFormatter, rowIcon, rowLabelWidth, rowMaxLabelWidth, rowLabelTextAlign, arrows, animationLineEnterPosition, animationLineExitPosition, onScroll } = this;
25
- const config = { duration, events, attributes, x, id, color, xScale, yScale, excludeFromDomainCalculation, type, length, cursor, lineRow, lineDuration, lineWidth, lineCap, lineStartIcon, lineStartIconColor, lineStartIconSize, lineStartIconArrangement, lineEndIcon, lineEndIconColor, lineEndIconSize, lineEndIconArrangement, lineCursor, showEmptySegments, rowHeight, alternatingRowColors, showLabels, labelWidth, maxLabelWidth, showRowLabels, rowLabelStyle, rowLabelFormatter, rowIcon, rowLabelWidth, rowMaxLabelWidth, rowLabelTextAlign, arrows, animationLineEnterPosition, animationLineExitPosition, onScroll };
24
+ const { duration, events, attributes, x, id, color, xScale, yScale, excludeFromDomainCalculation, type, length, cursor, lineRow, lineDuration, lineWidth, lineCap, lineStartIcon, lineStartIconColor, lineStartIconSize, lineStartIconArrangement, lineEndIcon, lineEndIconColor, lineEndIconSize, lineEndIconArrangement, lineCursor, showEmptySegments, showEmptySegmentsCorrectPosition, rowHeight, alternatingRowColors, showLabels, labelWidth, maxLabelWidth, showRowLabels, rowLabelStyle, rowLabelFormatter, rowIcon, rowLabelWidth, rowMaxLabelWidth, rowLabelTextAlign, arrows, animationLineEnterPosition, animationLineExitPosition, onScroll } = this;
25
+ const config = { duration, events, attributes, x, id, color, xScale, yScale, excludeFromDomainCalculation, type, length, cursor, lineRow, lineDuration, lineWidth, lineCap, lineStartIcon, lineStartIconColor, lineStartIconSize, lineStartIconArrangement, lineEndIcon, lineEndIconColor, lineEndIconSize, lineEndIconArrangement, lineCursor, showEmptySegments, showEmptySegmentsCorrectPosition, rowHeight, alternatingRowColors, showLabels, labelWidth, maxLabelWidth, showRowLabels, rowLabelStyle, rowLabelFormatter, rowIcon, rowLabelWidth, rowMaxLabelWidth, rowLabelTextAlign, arrows, animationLineEnterPosition, animationLineExitPosition, onScroll };
26
26
  const keys = Object.keys(config);
27
27
  keys.forEach(key => { if (config[key] === undefined)
28
28
  delete config[key]; });
@@ -30,7 +30,7 @@ export class VisTimelineComponent {
30
30
  }
31
31
  }
32
32
  VisTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- VisTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisTimelineComponent, selector: "vis-timeline", inputs: { duration: "duration", events: "events", attributes: "attributes", x: "x", id: "id", color: "color", xScale: "xScale", yScale: "yScale", excludeFromDomainCalculation: "excludeFromDomainCalculation", type: "type", length: "length", cursor: "cursor", lineRow: "lineRow", lineDuration: "lineDuration", lineWidth: "lineWidth", lineCap: "lineCap", lineStartIcon: "lineStartIcon", lineStartIconColor: "lineStartIconColor", lineStartIconSize: "lineStartIconSize", lineStartIconArrangement: "lineStartIconArrangement", lineEndIcon: "lineEndIcon", lineEndIconColor: "lineEndIconColor", lineEndIconSize: "lineEndIconSize", lineEndIconArrangement: "lineEndIconArrangement", lineCursor: "lineCursor", showEmptySegments: "showEmptySegments", rowHeight: "rowHeight", alternatingRowColors: "alternatingRowColors", showLabels: "showLabels", labelWidth: "labelWidth", maxLabelWidth: "maxLabelWidth", showRowLabels: "showRowLabels", rowLabelStyle: "rowLabelStyle", rowLabelFormatter: "rowLabelFormatter", rowIcon: "rowIcon", rowLabelWidth: "rowLabelWidth", rowMaxLabelWidth: "rowMaxLabelWidth", rowLabelTextAlign: "rowLabelTextAlign", arrows: "arrows", animationLineEnterPosition: "animationLineEnterPosition", animationLineExitPosition: "animationLineExitPosition", onScroll: "onScroll", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisTimelineComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
33
+ VisTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisTimelineComponent, selector: "vis-timeline", inputs: { duration: "duration", events: "events", attributes: "attributes", x: "x", id: "id", color: "color", xScale: "xScale", yScale: "yScale", excludeFromDomainCalculation: "excludeFromDomainCalculation", type: "type", length: "length", cursor: "cursor", lineRow: "lineRow", lineDuration: "lineDuration", lineWidth: "lineWidth", lineCap: "lineCap", lineStartIcon: "lineStartIcon", lineStartIconColor: "lineStartIconColor", lineStartIconSize: "lineStartIconSize", lineStartIconArrangement: "lineStartIconArrangement", lineEndIcon: "lineEndIcon", lineEndIconColor: "lineEndIconColor", lineEndIconSize: "lineEndIconSize", lineEndIconArrangement: "lineEndIconArrangement", lineCursor: "lineCursor", showEmptySegments: "showEmptySegments", showEmptySegmentsCorrectPosition: "showEmptySegmentsCorrectPosition", rowHeight: "rowHeight", alternatingRowColors: "alternatingRowColors", showLabels: "showLabels", labelWidth: "labelWidth", maxLabelWidth: "maxLabelWidth", showRowLabels: "showRowLabels", rowLabelStyle: "rowLabelStyle", rowLabelFormatter: "rowLabelFormatter", rowIcon: "rowIcon", rowLabelWidth: "rowLabelWidth", rowMaxLabelWidth: "rowMaxLabelWidth", rowLabelTextAlign: "rowLabelTextAlign", arrows: "arrows", animationLineEnterPosition: "animationLineEnterPosition", animationLineExitPosition: "animationLineExitPosition", onScroll: "onScroll", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisTimelineComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisTimelineComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{
@@ -91,6 +91,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
91
91
  type: Input
92
92
  }], showEmptySegments: [{
93
93
  type: Input
94
+ }], showEmptySegmentsCorrectPosition: [{
95
+ type: Input
94
96
  }], rowHeight: [{
95
97
  type: Input
96
98
  }], alternatingRowColors: [{
@@ -126,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
126
128
  }], data: [{
127
129
  type: Input
128
130
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxRQUFRLEdBZ0JULE1BQU0sWUFBWSxDQUFBO0FBQ25CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUE7O0FBUTNDLE1BQU0sT0FBTyxvQkFBb0I7SUF1TC9CLGVBQWU7O1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFFBQVEsQ0FBUSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUV0RCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDakMsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLE1BQU0sRUFBRSxDQUFBO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjs7UUFDakMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQUUsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQUU7UUFDeEQsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7UUFDM0MsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLE1BQU0sRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUs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QUFpQjtzQkFBekIsS0FBSztnQkFLRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFLRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBR0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgVGltZWxpbmUsXG4gIFRpbWVsaW5lQ29uZmlnSW50ZXJmYWNlLFxuICBDb250YWluZXJDb3JlLFxuICBWaXNFdmVudFR5cGUsXG4gIFZpc0V2ZW50Q2FsbGJhY2ssXG4gIE51bWVyaWNBY2Nlc3NvcixcbiAgQ29sb3JBY2Nlc3NvcixcbiAgQ29udGludW91c1NjYWxlLFxuICBTdHJpbmdBY2Nlc3NvcixcbiAgR2VuZXJpY0FjY2Vzc29yLFxuICBBcnJhbmdlbWVudCxcbiAgVGltZWxpbmVSb3dMYWJlbCxcbiAgVGltZWxpbmVSb3dJY29uLFxuICBUZXh0QWxpZ24sXG4gIFRpbWVsaW5lQXJyb3csXG4gIFRpbWVsaW5lTGluZVJlbmRlclN0YXRlLFxufSBmcm9tICdAdW5vdmlzL3RzJ1xuaW1wb3J0IHsgVmlzWFlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXMtdGltZWxpbmUnLFxuICB0ZW1wbGF0ZTogJycsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZpc1hZQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzVGltZWxpbmVDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc1RpbWVsaW5lQ29tcG9uZW50PERhdHVtPiBpbXBsZW1lbnRzIFRpbWVsaW5lQ29uZmlnSW50ZXJmYWNlPERhdHVtPiwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gb2YgdGhlIGRhdGEgdXBkYXRlIHRyYW5zaXRpb25zIGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdDogYDYwMGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogRXZlbnRzIGNvbmZpZ3VyYXRpb24uIEFuIG9iamVjdCBjb250YWluaW5nIHByb3BlcnRpZXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbZXZlbnRUeXBlXTogY2FsbGJhY2tGdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBjbGljazogKGQpID0+IGNvbnNvbGUubG9nKFwiQ2xpY2tlZCBBcmVhXCIsIGQpXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGV2ZW50cz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFtldmVudFR5cGUgaW4gVmlzRXZlbnRUeXBlXT86IFZpc0V2ZW50Q2FsbGJhY2tcbiAgICB9O1xuICB9XG5cbiAgLyoqIFlvdSBjYW4gc2V0IGV2ZXJ5IFNWRyBhbmQgSFRNTCB2aXN1YWxpemF0aW9uIG9iamVjdCB0byBoYXZlIGEgY3VzdG9tIERPTSBhdHRyaWJ1dGVzLCB3aGljaCBpcyB1c2VmdWxcbiAgICogd2hlbiB5b3Ugd2FudCB0byBkbyB1bml0IG9yIGVuZC10by1lbmQgdGVzdGluZy4gQXR0cmlidXRlcyBjb25maWd1cmF0aW9uIG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbYXR0cmlidXRlTmFtZV06IGF0dHJpYnV0ZSBjb25zdGFudCB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBcInRlc3QtdmFsdWVcIjogZCA9PiBkLnZhbHVlXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbYXR0cjogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8ICgoZGF0dW06IGFueSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbik7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBBY2Nlc3NvciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB0aGUgdmFsdWVzIGFsb25nIHRoZSBYIGF4aXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHg6IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogQWNjZXNzb3IgZnVuY3Rpb24gZm9yIGdldHRpbmcgdGhlIHVuaXF1ZSBkYXRhIHJlY29yZCBpZC4gVXNlZCBmb3IgbW9yZSBwZXJzaXN0ZW50IGRhdGEgdXBkYXRlcy4gRGVmYXVsdDogYChkLCBpKSA9PiBkLmlkID8/IGlgICovXG4gIEBJbnB1dCgpIGlkPzogKChkOiBEYXR1bSwgaTogbnVtYmVyLCAuLi5yZXN0KSA9PiBzdHJpbmcpXG5cbiAgLyoqIFRpbWVsaW5lIGl0ZW0gY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQuY29sb3JgICovXG4gIEBJbnB1dCgpIGNvbG9yPzogQ29sb3JBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogU2NhbGUgZm9yIFggZGltZW5zaW9uLCBlLmcuIFNjYWxlLnNjYWxlTGluZWFyKCkuIElmIHlvdSBzZXQgeFNjYWxlIHlvdSdsbCBiZSByZXNwb25zaWJsZSBmb3Igc2V0dGluZyBpdCdzIGBkb21haW5gIGFuZCBgcmFuZ2VgIGFzIHdlbGwuXG4gICAqIE9ubHkgY29udGludW91cyBzY2FsZXMgYXJlIHN1cHBvcnRlZC5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeFNjYWxlPzogQ29udGludW91c1NjYWxlXG5cbiAgLyoqIFNjYWxlIGZvciBZIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5zY2FsZUxpbmVhcigpLiBJZiB5b3Ugc2V0IHlTY2FsZSB5b3UnbGwgYmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgaXQncyBgZG9tYWluYCBhbmQgYHJhbmdlYCBhcyB3ZWxsLlxuICAgKiBPbmx5IGNvbnRpbnVvdXMgc2NhbGVzIGFyZSBzdXBwb3J0ZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHlTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuXG4gIC8qKiBJZGVudGlmaWVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBvdmVyYWxsIFggYW5kIFkgZG9tYWluIGNhbGN1bGF0aW9ucyBvciBub3QuXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHBhc3MgaW5kaXZpZHVhbCBkYXRhIHRvIGEgY29tcG9uZW50IGFuZCB5b3UgZG9uJ3Qgd2FudCBpdCB0byBhZmZlY3RcbiAgICogdGhlIHNjYWxlcyBvZiB0aGUgY2hhcnQuXG4gICAqIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbj86IGJvb2xlYW5cblxuICAvKiogICovXG4gIEBJbnB1dCgpIHR5cGU/OiBTdHJpbmdBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogICovXG4gIEBJbnB1dCgpIGxlbmd0aD86IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogICovXG4gIEBJbnB1dCgpIGN1cnNvcj86IFN0cmluZ0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBUaW1lbGluZSBpdGVtIHJvdyBhY2Nlc3NvciBmdW5jdGlvbi4gUmVjb3JkcyB3aXRoIHRoZSBgbGluZVJvd2Agd2lsbCBiZSBwbG90dGVkIGluIG9uZSByb3cuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxpbmVSb3c/OiBTdHJpbmdBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogVGltZWxpbmUgaXRlbSBkdXJhdGlvbiBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAuIEZhbGxzIGJhY2sgdG8gdGhlIGRlcHJlY2F0ZWQgYGxlbmd0aGAgcHJvcGVydHkgKi9cbiAgQElucHV0KCkgbGluZUR1cmF0aW9uPzogTnVtZXJpY0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBXaWR0aCBvZiB0aGUgdGltZWxpbmUgaXRlbXMuIERlZmF1bHQ6IGA4YCAqL1xuICBASW5wdXQoKSBsaW5lV2lkdGg/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIERpc3BsYXkgcm91bmRlZCBlbmRzIGZvciB0aW1lbGluZSBpdGVtcy4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGxpbmVDYXA/OiBib29sZWFuXG5cbiAgLyoqIFByb3ZpZGUgYSBocmVmIHRvIGFuIFNWRyBkZWZpbmVkIGluIGNvbnRhaW5lcidzIGBzdmdEZWZzYCB0byBkaXNwbGF5IGFuIGljb24gYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lLiBEZWZhdWx0OiB1bmRlZmluZWQgKi9cbiAgQElucHV0KCkgbGluZVN0YXJ0SWNvbj86IFN0cmluZ0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBMaW5lIHN0YXJ0IGljb24gY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxpbmVTdGFydEljb25Db2xvcj86IFN0cmluZ0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBMaW5lIHN0YXJ0IGljb24gc2l6ZSBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgbGluZVN0YXJ0SWNvblNpemU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIExpbmUgc3RhcnQgaWNvbiBhcnJhbmdlbWVudCBjb25maWd1cmF0aW9uLiBDb250cm9scyBob3cgdGhlIGljb24gaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgbGluZS5cbiAgICogQWNjZXB0cyB2YWx1ZXMgZnJvbSB0aGUgQXJyYW5nZW1lbnQgZW51bTogYEFycmFuZ2VtZW50LlN0YXJ0YCwgYEFycmFuZ2VtZW50Lk1pZGRsZWAsIGBBcnJhbmdlbWVudC5FbmRgIG9yIGEgc3RyaW5nIGVxdWl2YWxlbnQuXG4gICAqIERlZmF1bHQ6IGBBcnJhbmdlbWVudC5JbnNpZGVgICovXG4gIEBJbnB1dCgpIGxpbmVTdGFydEljb25BcnJhbmdlbWVudD86IEdlbmVyaWNBY2Nlc3NvcjxBcnJhbmdlbWVudCB8IGFueSwgRGF0dW0+XG5cbiAgLyoqIFByb3ZpZGUgYSBocmVmIHRvIGFuIFNWRyBkZWZpbmVkIGluIGNvbnRhaW5lcidzIGBzdmdEZWZzYCB0byBkaXNwbGF5IGFuIGljb24gYXQgdGhlIGVuZCBvZiB0aGUgbGluZS4gRGVmYXVsdDogdW5kZWZpbmVkICovXG4gIEBJbnB1dCgpIGxpbmVFbmRJY29uPzogU3RyaW5nQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIExpbmUgZW5kIGljb24gY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxpbmVFbmRJY29uQ29sb3I/OiBTdHJpbmdBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogTGluZSBlbmQgaWNvbiBzaXplIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBsaW5lRW5kSWNvblNpemU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIExpbmUgZW5kIGljb24gYXJyYW5nZW1lbnQgY29uZmlndXJhdGlvbi4gQ29udHJvbHMgaG93IHRoZSBpY29uIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGxpbmUuXG4gICAqIEFjY2VwdHMgdmFsdWVzIGZyb20gdGhlIEFycmFuZ2VtZW50IGVudW06IGBBcnJhbmdlbWVudC5TdGFydGAsIGBBcnJhbmdlbWVudC5NaWRkbGVgLCBgQXJyYW5nZW1lbnQuRW5kYCBvciBhIHN0cmluZyBlcXVpdmFsZW50LlxuICAgKiBEZWZhdWx0OiBgQXJyYW5nZW1lbnQuSW5zaWRlYCAqL1xuICBASW5wdXQoKSBsaW5lRW5kSWNvbkFycmFuZ2VtZW50PzogR2VuZXJpY0FjY2Vzc29yPEFycmFuZ2VtZW50IHwgYW55LCBEYXR1bT5cblxuICAvKiogQ29uZmlndXJhYmxlIFRpbWVsaW5lIGl0ZW0gY3Vyc29yIHdoZW4gaG92ZXJpbmcgb3Zlci4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgbGluZUN1cnNvcj86IFN0cmluZ0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBTZXRzIHRoZSBtaW5pbXVtIGxpbmUgbGVuZ3RoIHRvIDEgcGl4ZWwgZm9yIGJldHRlciB2aXNpYmlsaXR5IG9mIHNtYWxsIHZhbHVlcy4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBzaG93RW1wdHlTZWdtZW50cz86IGJvb2xlYW5cblxuICAvKiogVGltZWxpbmUgcm93IGhlaWdodC4gRGVmYXVsdDogYDIyYCAqL1xuICBASW5wdXQoKSByb3dIZWlnaHQ/OiBudW1iZXJcblxuICAvKiogQWx0ZXJuYXRpbmcgcm93IGNvbG9ycy4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGFsdGVybmF0aW5nUm93Q29sb3JzPzogYm9vbGVhblxuXG4gIC8qKiAgKi9cbiAgQElucHV0KCkgc2hvd0xhYmVscz86IGJvb2xlYW5cblxuICAvKiogICovXG4gIEBJbnB1dCgpIGxhYmVsV2lkdGg/OiBudW1iZXJcblxuICAvKiogICovXG4gIEBJbnB1dCgpIG1heExhYmVsV2lkdGg/OiBudW1iZXJcblxuICAvKiogU2hvdyByb3cgbGFiZWxzIHdoZW4gc2V0IHRvIGB0cnVlYC4gRGVmYXVsdDogYGZhbHNlYC4gRmFsbHMgYmFjayB0byBkZXByZWNhdGVkIGBzaG93TGFiZWxzYCAqL1xuICBASW5wdXQoKSBzaG93Um93TGFiZWxzPzogYm9vbGVhblxuXG4gIC8qKiBSb3cgbGFiZWwgc3R5bGUgYXMgYW4gb2JqZWN0IHdpdGggdGhlIGB7IFtwcm9wZXJ0eS1uYW1lXTogdmFsdWUgfWAgZm9ybWF0LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSByb3dMYWJlbFN0eWxlPzogR2VuZXJpY0FjY2Vzc29yPFJlY29yZDxzdHJpbmcsIHN0cmluZz4sIFRpbWVsaW5lUm93TGFiZWw8RGF0dW0+PlxuXG4gIC8qKiBSb3cgbGFiZWwgZm9ybWF0dGVyIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSByb3dMYWJlbEZvcm1hdHRlcj86IChrZXk6IHN0cmluZywgaXRlbXM6IERhdHVtW10sIGk6IG51bWJlcikgPT4gc3RyaW5nXG5cbiAgLyoqIFByb3ZpZGUgYW4gaWNvbiBocmVmIHRvIGJlIGRpc3BsYXllZCBiZWZvcmUgdGhlIHJvdyBsYWJlbC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgcm93SWNvbj86IChrZXk6IHN0cmluZywgaXRlbXM6IERhdHVtW10sIGk6IG51bWJlcikgPT4gVGltZWxpbmVSb3dJY29uIHwgdW5kZWZpbmVkXG5cbiAgLyoqIEZpeGVkIGxhYmVsIHdpZHRoIGluIHBpeGVscy4gTGFiZWxzIGxvbmdlciB0aGFuIHRoZSBzcGVjaWZpZWQgdmFsdWUgd2lsbCBiZSB0cmltbWVkLiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gRmFsbHMgYmFjayB0byBkZXByZWNhdGVkIGBsYWJlbFdpZHRoYC4gKi9cbiAgQElucHV0KCkgcm93TGFiZWxXaWR0aD86IG51bWJlclxuXG4gIC8qKiBNYXhpbXVtIGxhYmVsIHdpZHRoIGluIHBpeGVscy4gTGFiZWxzIGxvbmdlciB0aGFuIHRoZSBzcGVjaWZpZWQgdmFsdWUgd2lsbCBiZSB0cmltbWVkLiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gRmFsbHMgYmFjayB0byBkZXByZWNhdGVkIGBtYXhMYWJlbFdpZHRoYC4gKi9cbiAgQElucHV0KCkgcm93TWF4TGFiZWxXaWR0aD86IG51bWJlclxuXG4gIC8qKiBUZXh0IGFsaWdubWVudCBmb3IgbGFiZWxzOiBgVGV4dEFsaWduLkxlZnRgLCBgVGV4dEFsaWduLkNlbnRlcmAgb3IgYFRleHRBbGlnbi5SaWdodGAuIERlZmF1bHQ6IGBUZXh0QWxpZ24uUmlnaHRgICovXG4gIEBJbnB1dCgpIHJvd0xhYmVsVGV4dEFsaWduPzogVGV4dEFsaWduIHwgYW55XG5cblxuICBASW5wdXQoKSBhcnJvd3M/OiBUaW1lbGluZUFycm93W11cblxuICAvKiogQ29udHJvbCB0aGUgYW5pbWF0aW9uIGJ5IHNwZWNpZnkgdGhlIGluaXRpYWwgcG9zaXRpb24gZm9yIG5ldyBsaW5lcyBhcyBbeCwgeV0uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGFuaW1hdGlvbkxpbmVFbnRlclBvc2l0aW9uPzogW251bWJlciB8IHVuZGVmaW5lZCB8IG51bGwsIG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGxdIHwgKChkOiBEYXR1bSAmIFRpbWVsaW5lTGluZVJlbmRlclN0YXRlLCBpOiBudW1iZXIsIGRhdGE6IChEYXR1bSAmIFRpbWVsaW5lTGluZVJlbmRlclN0YXRlKVtdKSA9PiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdKSB8IHVuZGVmaW5lZFxuXG4gIC8qKiBDb250cm9sIHRoZSBhbmltYXRpb24gYnkgc3BlY2lmeSB0aGUgZGVzdGluYXRpb24gcG9zaXRpb24gZm9yIGV4aXRpbmcgbGluZXMgYXMgW3gsIHldLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBhbmltYXRpb25MaW5lRXhpdFBvc2l0aW9uPzogW251bWJlciB8IHVuZGVmaW5lZCB8IG51bGwsIG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGxdIHwgKChkOiBEYXR1bSAmIFRpbWVsaW5lTGluZVJlbmRlclN0YXRlLCBpOiBudW1iZXIsIGRhdGE6IChEYXR1bSAmIFRpbWVsaW5lTGluZVJlbmRlclN0YXRlKVtdKSA9PiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdKSB8IHVuZGVmaW5lZFxuXG4gIC8qKiBTY3JvbGxpbmcgY2FsbGJhY2sgZnVuY3Rpb246IGAoc2Nyb2xsVG9wOiBudW1iZXIpID0+IHZvaWRgLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvblNjcm9sbD86IChzY3JvbGxUb3A6IG51bWJlcikgPT4gdm9pZFxuICBASW5wdXQoKSBkYXRhOiBEYXR1bVtdXG5cbiAgY29tcG9uZW50OiBUaW1lbGluZTxEYXR1bT4gfCB1bmRlZmluZWRcbiAgcHVibGljIGNvbXBvbmVudENvbnRhaW5lcjogQ29udGFpbmVyQ29yZSB8IHVuZGVmaW5lZFxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgVGltZWxpbmU8RGF0dW0+KHRoaXMuZ2V0Q29uZmlnKCkpXG5cbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC5zZXREYXRhKHRoaXMuZGF0YSlcbiAgICAgIHRoaXMuY29tcG9uZW50Q29udGFpbmVyPy5yZW5kZXIoKVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzIChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuZGF0YSkgeyB0aGlzLmNvbXBvbmVudD8uc2V0RGF0YSh0aGlzLmRhdGEpIH1cbiAgICB0aGlzLmNvbXBvbmVudD8uc2V0Q29uZmlnKHRoaXMuZ2V0Q29uZmlnKCkpXG4gICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gIH1cblxuICBwcml2YXRlIGdldENvbmZpZyAoKTogVGltZWxpbmVDb25maWdJbnRlcmZhY2U8RGF0dW0+IHtcbiAgICBjb25zdCB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHgsIGlkLCBjb2xvciwgeFNjYWxlLCB5U2NhbGUsIGV4Y2x1ZGVGcm9tRG9tYWluQ2FsY3VsYXRpb24sIHR5cGUsIGxlbmd0aCwgY3Vyc29yLCBsaW5lUm93LCBsaW5lRHVyYXRpb24sIGxpbmVXaWR0aCwgbGluZUNhcCwgbGluZVN0YXJ0SWNvbiwgbGluZVN0YXJ0SWNvbkNvbG9yLCBsaW5lU3RhcnRJY29uU2l6ZSwgbGluZVN0YXJ0SWNvbkFycmFuZ2VtZW50LCBsaW5lRW5kSWNvbiwgbGluZUVuZEljb25Db2xvciwgbGluZUVuZEljb25TaXplLCBsaW5lRW5kSWNvbkFycmFuZ2VtZW50LCBsaW5lQ3Vyc29yLCBzaG93RW1wdHlTZWdtZW50cywgcm93SGVpZ2h0LCBhbHRlcm5hdGluZ1Jvd0NvbG9ycywgc2hvd0xhYmVscywgbGFiZWxXaWR0aCwgbWF4TGFiZWxXaWR0aCwgc2hvd1Jvd0xhYmVscywgcm93TGFiZWxTdHlsZSwgcm93TGFiZWxGb3JtYXR0ZXIsIHJvd0ljb24sIHJvd0xhYmVsV2lkdGgsIHJvd01heExhYmVsV2lkdGgsIHJvd0xhYmVsVGV4dEFsaWduLCBhcnJvd3MsIGFuaW1hdGlvbkxpbmVFbnRlclBvc2l0aW9uLCBhbmltYXRpb25MaW5lRXhpdFBvc2l0aW9uLCBvblNjcm9sbCB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgeCwgaWQsIGNvbG9yLCB4U2NhbGUsIHlTY2FsZSwgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbiwgdHlwZSwgbGVuZ3RoLCBjdXJzb3IsIGxpbmVSb3csIGxpbmVEdXJhdGlvbiwgbGluZVdpZHRoLCBsaW5lQ2FwLCBsaW5lU3RhcnRJY29uLCBsaW5lU3RhcnRJY29uQ29sb3IsIGxpbmVTdGFydEljb25TaXplLCBsaW5lU3RhcnRJY29uQXJyYW5nZW1lbnQsIGxpbmVFbmRJY29uLCBsaW5lRW5kSWNvbkNvbG9yLCBsaW5lRW5kSWNvblNpemUsIGxpbmVFbmRJY29uQXJyYW5nZW1lbnQsIGxpbmVDdXJzb3IsIHNob3dFbXB0eVNlZ21lbnRzLCByb3dIZWlnaHQsIGFsdGVybmF0aW5nUm93Q29sb3JzLCBzaG93TGFiZWxzLCBsYWJlbFdpZHRoLCBtYXhMYWJlbFdpZHRoLCBzaG93Um93TGFiZWxzLCByb3dMYWJlbFN0eWxlLCByb3dMYWJlbEZvcm1hdHRlciwgcm93SWNvbiwgcm93TGFiZWxXaWR0aCwgcm93TWF4TGFiZWxXaWR0aCwgcm93TGFiZWxUZXh0QWxpZ24sIGFycm93cywgYW5pbWF0aW9uTGluZUVudGVyUG9zaXRpb24sIGFuaW1hdGlvbkxpbmVFeGl0UG9zaXRpb24sIG9uU2Nyb2xsIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgVGltZWxpbmVDb25maWdJbnRlcmZhY2U8RGF0dW0+KVtdXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiB7IGlmIChjb25maWdba2V5XSA9PT0gdW5kZWZpbmVkKSBkZWxldGUgY29uZmlnW2tleV0gfSlcblxuICAgIHJldHVybiBjb25maWdcbiAgfVxufVxuIl19
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxRQUFRLEdBZ0JULE1BQU0sWUFBWSxDQUFBO0FBQ25CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUE7O0FBUTNDLE1BQU0sT0FBTyxvQkFBb0I7SUE2TC9CLGVBQWU7O1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFFBQVEsQ0FBUSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUV0RCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDakMsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLE1BQU0sRUFBRSxDQUFBO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjs7UUFDakMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQUUsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQUU7UUFDeEQsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7UUFDM0MsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLE1BQU0sRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUs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QWtCO3NCQUExQixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFLRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFLRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBSUcsZ0NBQWdDO3NCQUF4QyxLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUdHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIFRpbWVsaW5lLFxuICBUaW1lbGluZUNvbmZpZ0ludGVyZmFjZSxcbiAgQ29udGFpbmVyQ29yZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBOdW1lcmljQWNjZXNzb3IsXG4gIENvbG9yQWNjZXNzb3IsXG4gIENvbnRpbnVvdXNTY2FsZSxcbiAgU3RyaW5nQWNjZXNzb3IsXG4gIEdlbmVyaWNBY2Nlc3NvcixcbiAgQXJyYW5nZW1lbnQsXG4gIFRpbWVsaW5lUm93TGFiZWwsXG4gIFRpbWVsaW5lUm93SWNvbixcbiAgVGV4dEFsaWduLFxuICBUaW1lbGluZUFycm93LFxuICBUaW1lbGluZUxpbmVSZW5kZXJTdGF0ZSxcbn0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc1hZQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLXRpbWVsaW5lJyxcbiAgdGVtcGxhdGU6ICcnLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNYWUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFZpc1RpbWVsaW5lQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNUaW1lbGluZUNvbXBvbmVudDxEYXR1bT4gaW1wbGVtZW50cyBUaW1lbGluZUNvbmZpZ0ludGVyZmFjZTxEYXR1bT4sIEFmdGVyVmlld0luaXQge1xuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogQWNjZXNzb3IgZnVuY3Rpb24gZm9yIGdldHRpbmcgdGhlIHZhbHVlcyBhbG9uZyB0aGUgWCBheGlzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB4OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIEFjY2Vzc29yIGZ1bmN0aW9uIGZvciBnZXR0aW5nIHRoZSB1bmlxdWUgZGF0YSByZWNvcmQgaWQuIFVzZWQgZm9yIG1vcmUgcGVyc2lzdGVudCBkYXRhIHVwZGF0ZXMuIERlZmF1bHQ6IGAoZCwgaSkgPT4gZC5pZCA/PyBpYCAqL1xuICBASW5wdXQoKSBpZD86ICgoZDogRGF0dW0sIGk6IG51bWJlciwgLi4ucmVzdCkgPT4gc3RyaW5nKVxuXG4gIC8qKiBUaW1lbGluZSBpdGVtIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLmNvbG9yYCAqL1xuICBASW5wdXQoKSBjb2xvcj86IENvbG9yQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFNjYWxlIGZvciBYIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5zY2FsZUxpbmVhcigpLiBJZiB5b3Ugc2V0IHhTY2FsZSB5b3UnbGwgYmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgaXQncyBgZG9tYWluYCBhbmQgYHJhbmdlYCBhcyB3ZWxsLlxuICAgKiBPbmx5IGNvbnRpbnVvdXMgc2NhbGVzIGFyZSBzdXBwb3J0ZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHhTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuXG4gIC8qKiBTY2FsZSBmb3IgWSBkaW1lbnNpb24sIGUuZy4gU2NhbGUuc2NhbGVMaW5lYXIoKS4gSWYgeW91IHNldCB5U2NhbGUgeW91J2xsIGJlIHJlc3BvbnNpYmxlIGZvciBzZXR0aW5nIGl0J3MgYGRvbWFpbmAgYW5kIGByYW5nZWAgYXMgd2VsbC5cbiAgICogT25seSBjb250aW51b3VzIHNjYWxlcyBhcmUgc3VwcG9ydGVkLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB5U2NhbGU/OiBDb250aW51b3VzU2NhbGVcblxuICAvKiogSWRlbnRpZmllcyB3aGV0aGVyIHRoZSBjb21wb25lbnQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gb3ZlcmFsbCBYIGFuZCBZIGRvbWFpbiBjYWxjdWxhdGlvbnMgb3Igbm90LlxuICAgKiBUaGlzIHByb3BlcnR5IGNhbiBiZSB1c2VmdWwgd2hlbiB5b3Ugd2FudCBwYXNzIGluZGl2aWR1YWwgZGF0YSB0byBhIGNvbXBvbmVudCBhbmQgeW91IGRvbid0IHdhbnQgaXQgdG8gYWZmZWN0XG4gICAqIHRoZSBzY2FsZXMgb2YgdGhlIGNoYXJ0LlxuICAgKiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIGV4Y2x1ZGVGcm9tRG9tYWluQ2FsY3VsYXRpb24/OiBib29sZWFuXG5cbiAgLyoqICAqL1xuICBASW5wdXQoKSB0eXBlPzogU3RyaW5nQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqICAqL1xuICBASW5wdXQoKSBsZW5ndGg/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqICAqL1xuICBASW5wdXQoKSBjdXJzb3I/OiBTdHJpbmdBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogVGltZWxpbmUgaXRlbSByb3cgYWNjZXNzb3IgZnVuY3Rpb24uIFJlY29yZHMgd2l0aCB0aGUgYGxpbmVSb3dgIHdpbGwgYmUgcGxvdHRlZCBpbiBvbmUgcm93LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBsaW5lUm93PzogU3RyaW5nQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFRpbWVsaW5lIGl0ZW0gZHVyYXRpb24gYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgLiBGYWxscyBiYWNrIHRvIHRoZSBkZXByZWNhdGVkIGBsZW5ndGhgIHByb3BlcnR5ICovXG4gIEBJbnB1dCgpIGxpbmVEdXJhdGlvbj86IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogV2lkdGggb2YgdGhlIHRpbWVsaW5lIGl0ZW1zLiBEZWZhdWx0OiBgOGAgKi9cbiAgQElucHV0KCkgbGluZVdpZHRoPzogTnVtZXJpY0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBEaXNwbGF5IHJvdW5kZWQgZW5kcyBmb3IgdGltZWxpbmUgaXRlbXMuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBsaW5lQ2FwPzogYm9vbGVhblxuXG4gIC8qKiBQcm92aWRlIGEgaHJlZiB0byBhbiBTVkcgZGVmaW5lZCBpbiBjb250YWluZXIncyBgc3ZnRGVmc2AgdG8gZGlzcGxheSBhbiBpY29uIGF0IHRoZSBzdGFydCBvZiB0aGUgbGluZS4gRGVmYXVsdDogdW5kZWZpbmVkICovXG4gIEBJbnB1dCgpIGxpbmVTdGFydEljb24/OiBTdHJpbmdBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogTGluZSBzdGFydCBpY29uIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBsaW5lU3RhcnRJY29uQ29sb3I/OiBTdHJpbmdBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogTGluZSBzdGFydCBpY29uIHNpemUgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxpbmVTdGFydEljb25TaXplPzogTnVtZXJpY0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBMaW5lIHN0YXJ0IGljb24gYXJyYW5nZW1lbnQgY29uZmlndXJhdGlvbi4gQ29udHJvbHMgaG93IHRoZSBpY29uIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGxpbmUuXG4gICAqIEFjY2VwdHMgdmFsdWVzIGZyb20gdGhlIEFycmFuZ2VtZW50IGVudW06IGBBcnJhbmdlbWVudC5TdGFydGAsIGBBcnJhbmdlbWVudC5NaWRkbGVgLCBgQXJyYW5nZW1lbnQuRW5kYCBvciBhIHN0cmluZyBlcXVpdmFsZW50LlxuICAgKiBEZWZhdWx0OiBgQXJyYW5nZW1lbnQuSW5zaWRlYCAqL1xuICBASW5wdXQoKSBsaW5lU3RhcnRJY29uQXJyYW5nZW1lbnQ/OiBHZW5lcmljQWNjZXNzb3I8QXJyYW5nZW1lbnQgfCBhbnksIERhdHVtPlxuXG4gIC8qKiBQcm92aWRlIGEgaHJlZiB0byBhbiBTVkcgZGVmaW5lZCBpbiBjb250YWluZXIncyBgc3ZnRGVmc2AgdG8gZGlzcGxheSBhbiBpY29uIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUuIERlZmF1bHQ6IHVuZGVmaW5lZCAqL1xuICBASW5wdXQoKSBsaW5lRW5kSWNvbj86IFN0cmluZ0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBMaW5lIGVuZCBpY29uIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBsaW5lRW5kSWNvbkNvbG9yPzogU3RyaW5nQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIExpbmUgZW5kIGljb24gc2l6ZSBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgbGluZUVuZEljb25TaXplPzogTnVtZXJpY0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBMaW5lIGVuZCBpY29uIGFycmFuZ2VtZW50IGNvbmZpZ3VyYXRpb24uIENvbnRyb2xzIGhvdyB0aGUgaWNvbiBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSBsaW5lLlxuICAgKiBBY2NlcHRzIHZhbHVlcyBmcm9tIHRoZSBBcnJhbmdlbWVudCBlbnVtOiBgQXJyYW5nZW1lbnQuU3RhcnRgLCBgQXJyYW5nZW1lbnQuTWlkZGxlYCwgYEFycmFuZ2VtZW50LkVuZGAgb3IgYSBzdHJpbmcgZXF1aXZhbGVudC5cbiAgICogRGVmYXVsdDogYEFycmFuZ2VtZW50Lkluc2lkZWAgKi9cbiAgQElucHV0KCkgbGluZUVuZEljb25BcnJhbmdlbWVudD86IEdlbmVyaWNBY2Nlc3NvcjxBcnJhbmdlbWVudCB8IGFueSwgRGF0dW0+XG5cbiAgLyoqIENvbmZpZ3VyYWJsZSBUaW1lbGluZSBpdGVtIGN1cnNvciB3aGVuIGhvdmVyaW5nIG92ZXIuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxpbmVDdXJzb3I/OiBTdHJpbmdBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogU2V0cyB0aGUgbWluaW11bSBsaW5lIGxlbmd0aCB0byAxIHBpeGVsIGZvciBiZXR0ZXIgdmlzaWJpbGl0eSBvZiBzbWFsbCB2YWx1ZXMuXG4gICAqIFdoZW4gYGxpbmVDYXBgIGlzIHNldCB0byBgdHJ1ZWAsIHRoZSBzZWdtZW50IHdpbGwgYmUgcmVuZGVyZWQgYXMgYSBjaXJjbGUuXG4gICAqIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgc2hvd0VtcHR5U2VnbWVudHM/OiBib29sZWFuXG5cbiAgLyoqIENlbnRlciBzbWFsbCBzZWdtZW50cyB3aGVuIGBzaG93RW1wdHlTZWdtZW50c2AgYW5kIGBsaW5lQ2FwYCBhcmUgc2V0IHRvIGB0cnVlYC5cbiAgICogRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIHNob3dFbXB0eVNlZ21lbnRzQ29ycmVjdFBvc2l0aW9uPzogYm9vbGVhblxuXG4gIC8qKiBUaW1lbGluZSByb3cgaGVpZ2h0LiBEZWZhdWx0OiBgMjJgICovXG4gIEBJbnB1dCgpIHJvd0hlaWdodD86IG51bWJlclxuXG4gIC8qKiBBbHRlcm5hdGluZyByb3cgY29sb3JzLiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgYWx0ZXJuYXRpbmdSb3dDb2xvcnM/OiBib29sZWFuXG5cbiAgLyoqICAqL1xuICBASW5wdXQoKSBzaG93TGFiZWxzPzogYm9vbGVhblxuXG4gIC8qKiAgKi9cbiAgQElucHV0KCkgbGFiZWxXaWR0aD86IG51bWJlclxuXG4gIC8qKiAgKi9cbiAgQElucHV0KCkgbWF4TGFiZWxXaWR0aD86IG51bWJlclxuXG4gIC8qKiBTaG93IHJvdyBsYWJlbHMgd2hlbiBzZXQgdG8gYHRydWVgLiBEZWZhdWx0OiBgZmFsc2VgLiBGYWxscyBiYWNrIHRvIGRlcHJlY2F0ZWQgYHNob3dMYWJlbHNgICovXG4gIEBJbnB1dCgpIHNob3dSb3dMYWJlbHM/OiBib29sZWFuXG5cbiAgLyoqIFJvdyBsYWJlbCBzdHlsZSBhcyBhbiBvYmplY3Qgd2l0aCB0aGUgYHsgW3Byb3BlcnR5LW5hbWVdOiB2YWx1ZSB9YCBmb3JtYXQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHJvd0xhYmVsU3R5bGU/OiBHZW5lcmljQWNjZXNzb3I8UmVjb3JkPHN0cmluZywgc3RyaW5nPiwgVGltZWxpbmVSb3dMYWJlbDxEYXR1bT4+XG5cbiAgLyoqIFJvdyBsYWJlbCBmb3JtYXR0ZXIgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHJvd0xhYmVsRm9ybWF0dGVyPzogKGtleTogc3RyaW5nLCBpdGVtczogRGF0dW1bXSwgaTogbnVtYmVyKSA9PiBzdHJpbmdcblxuICAvKiogUHJvdmlkZSBhbiBpY29uIGhyZWYgdG8gYmUgZGlzcGxheWVkIGJlZm9yZSB0aGUgcm93IGxhYmVsLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSByb3dJY29uPzogKGtleTogc3RyaW5nLCBpdGVtczogRGF0dW1bXSwgaTogbnVtYmVyKSA9PiBUaW1lbGluZVJvd0ljb24gfCB1bmRlZmluZWRcblxuICAvKiogRml4ZWQgbGFiZWwgd2lkdGggaW4gcGl4ZWxzLiBMYWJlbHMgbG9uZ2VyIHRoYW4gdGhlIHNwZWNpZmllZCB2YWx1ZSB3aWxsIGJlIHRyaW1tZWQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiBGYWxscyBiYWNrIHRvIGRlcHJlY2F0ZWQgYGxhYmVsV2lkdGhgLiAqL1xuICBASW5wdXQoKSByb3dMYWJlbFdpZHRoPzogbnVtYmVyXG5cbiAgLyoqIE1heGltdW0gbGFiZWwgd2lkdGggaW4gcGl4ZWxzLiBMYWJlbHMgbG9uZ2VyIHRoYW4gdGhlIHNwZWNpZmllZCB2YWx1ZSB3aWxsIGJlIHRyaW1tZWQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiBGYWxscyBiYWNrIHRvIGRlcHJlY2F0ZWQgYG1heExhYmVsV2lkdGhgLiAqL1xuICBASW5wdXQoKSByb3dNYXhMYWJlbFdpZHRoPzogbnVtYmVyXG5cbiAgLyoqIFRleHQgYWxpZ25tZW50IGZvciBsYWJlbHM6IGBUZXh0QWxpZ24uTGVmdGAsIGBUZXh0QWxpZ24uQ2VudGVyYCBvciBgVGV4dEFsaWduLlJpZ2h0YC4gRGVmYXVsdDogYFRleHRBbGlnbi5SaWdodGAgKi9cbiAgQElucHV0KCkgcm93TGFiZWxUZXh0QWxpZ24/OiBUZXh0QWxpZ24gfCBhbnlcblxuXG4gIEBJbnB1dCgpIGFycm93cz86IFRpbWVsaW5lQXJyb3dbXVxuXG4gIC8qKiBDb250cm9sIHRoZSBhbmltYXRpb24gYnkgc3BlY2lmeSB0aGUgaW5pdGlhbCBwb3NpdGlvbiBmb3IgbmV3IGxpbmVzIGFzIFt4LCB5XS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgYW5pbWF0aW9uTGluZUVudGVyUG9zaXRpb24/OiBbbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbCwgbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbF0gfCAoKGQ6IERhdHVtICYgVGltZWxpbmVMaW5lUmVuZGVyU3RhdGUsIGk6IG51bWJlciwgZGF0YTogKERhdHVtICYgVGltZWxpbmVMaW5lUmVuZGVyU3RhdGUpW10pID0+IFtudW1iZXIgfCB1bmRlZmluZWQsIG51bWJlciB8IHVuZGVmaW5lZF0pIHwgdW5kZWZpbmVkXG5cbiAgLyoqIENvbnRyb2wgdGhlIGFuaW1hdGlvbiBieSBzcGVjaWZ5IHRoZSBkZXN0aW5hdGlvbiBwb3NpdGlvbiBmb3IgZXhpdGluZyBsaW5lcyBhcyBbeCwgeV0uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGFuaW1hdGlvbkxpbmVFeGl0UG9zaXRpb24/OiBbbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbCwgbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbF0gfCAoKGQ6IERhdHVtICYgVGltZWxpbmVMaW5lUmVuZGVyU3RhdGUsIGk6IG51bWJlciwgZGF0YTogKERhdHVtICYgVGltZWxpbmVMaW5lUmVuZGVyU3RhdGUpW10pID0+IFtudW1iZXIgfCB1bmRlZmluZWQsIG51bWJlciB8IHVuZGVmaW5lZF0pIHwgdW5kZWZpbmVkXG5cbiAgLyoqIFNjcm9sbGluZyBjYWxsYmFjayBmdW5jdGlvbjogYChzY3JvbGxUb3A6IG51bWJlcikgPT4gdm9pZGAuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uU2Nyb2xsPzogKHNjcm9sbFRvcDogbnVtYmVyKSA9PiB2b2lkXG4gIEBJbnB1dCgpIGRhdGE6IERhdHVtW11cblxuICBjb21wb25lbnQ6IFRpbWVsaW5lPERhdHVtPiB8IHVuZGVmaW5lZFxuICBwdWJsaWMgY29tcG9uZW50Q29udGFpbmVyOiBDb250YWluZXJDb3JlIHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBUaW1lbGluZTxEYXR1bT4odGhpcy5nZXRDb25maWcoKSlcblxuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LnNldERhdGEodGhpcy5kYXRhKVxuICAgICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7IHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSkgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBUaW1lbGluZUNvbmZpZ0ludGVyZmFjZTxEYXR1bT4ge1xuICAgIGNvbnN0IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgeCwgaWQsIGNvbG9yLCB4U2NhbGUsIHlTY2FsZSwgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbiwgdHlwZSwgbGVuZ3RoLCBjdXJzb3IsIGxpbmVSb3csIGxpbmVEdXJhdGlvbiwgbGluZVdpZHRoLCBsaW5lQ2FwLCBsaW5lU3RhcnRJY29uLCBsaW5lU3RhcnRJY29uQ29sb3IsIGxpbmVTdGFydEljb25TaXplLCBsaW5lU3RhcnRJY29uQXJyYW5nZW1lbnQsIGxpbmVFbmRJY29uLCBsaW5lRW5kSWNvbkNvbG9yLCBsaW5lRW5kSWNvblNpemUsIGxpbmVFbmRJY29uQXJyYW5nZW1lbnQsIGxpbmVDdXJzb3IsIHNob3dFbXB0eVNlZ21lbnRzLCBzaG93RW1wdHlTZWdtZW50c0NvcnJlY3RQb3NpdGlvbiwgcm93SGVpZ2h0LCBhbHRlcm5hdGluZ1Jvd0NvbG9ycywgc2hvd0xhYmVscywgbGFiZWxXaWR0aCwgbWF4TGFiZWxXaWR0aCwgc2hvd1Jvd0xhYmVscywgcm93TGFiZWxTdHlsZSwgcm93TGFiZWxGb3JtYXR0ZXIsIHJvd0ljb24sIHJvd0xhYmVsV2lkdGgsIHJvd01heExhYmVsV2lkdGgsIHJvd0xhYmVsVGV4dEFsaWduLCBhcnJvd3MsIGFuaW1hdGlvbkxpbmVFbnRlclBvc2l0aW9uLCBhbmltYXRpb25MaW5lRXhpdFBvc2l0aW9uLCBvblNjcm9sbCB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgeCwgaWQsIGNvbG9yLCB4U2NhbGUsIHlTY2FsZSwgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbiwgdHlwZSwgbGVuZ3RoLCBjdXJzb3IsIGxpbmVSb3csIGxpbmVEdXJhdGlvbiwgbGluZVdpZHRoLCBsaW5lQ2FwLCBsaW5lU3RhcnRJY29uLCBsaW5lU3RhcnRJY29uQ29sb3IsIGxpbmVTdGFydEljb25TaXplLCBsaW5lU3RhcnRJY29uQXJyYW5nZW1lbnQsIGxpbmVFbmRJY29uLCBsaW5lRW5kSWNvbkNvbG9yLCBsaW5lRW5kSWNvblNpemUsIGxpbmVFbmRJY29uQXJyYW5nZW1lbnQsIGxpbmVDdXJzb3IsIHNob3dFbXB0eVNlZ21lbnRzLCBzaG93RW1wdHlTZWdtZW50c0NvcnJlY3RQb3NpdGlvbiwgcm93SGVpZ2h0LCBhbHRlcm5hdGluZ1Jvd0NvbG9ycywgc2hvd0xhYmVscywgbGFiZWxXaWR0aCwgbWF4TGFiZWxXaWR0aCwgc2hvd1Jvd0xhYmVscywgcm93TGFiZWxTdHlsZSwgcm93TGFiZWxGb3JtYXR0ZXIsIHJvd0ljb24sIHJvd0xhYmVsV2lkdGgsIHJvd01heExhYmVsV2lkdGgsIHJvd0xhYmVsVGV4dEFsaWduLCBhcnJvd3MsIGFuaW1hdGlvbkxpbmVFbnRlclBvc2l0aW9uLCBhbmltYXRpb25MaW5lRXhpdFBvc2l0aW9uLCBvblNjcm9sbCB9XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGNvbmZpZykgYXMgKGtleW9mIFRpbWVsaW5lQ29uZmlnSW50ZXJmYWNlPERhdHVtPilbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
@@ -12,8 +12,8 @@ export class VisBulletLegendComponent {
12
12
  (_a = this.component) === null || _a === void 0 ? void 0 : _a.update(this.getConfig());
13
13
  }
14
14
  getConfig() {
15
- const { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize, bulletShape, orientation } = this;
16
- const config = { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize, bulletShape, orientation };
15
+ const { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize, bulletSpacing, bulletShape, orientation } = this;
16
+ const config = { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize, bulletSpacing, bulletShape, orientation };
17
17
  const keys = Object.keys(config);
18
18
  keys.forEach(key => { if (config[key] === undefined)
19
19
  delete config[key]; });
@@ -21,7 +21,7 @@ export class VisBulletLegendComponent {
21
21
  }
22
22
  }
23
23
  VisBulletLegendComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisBulletLegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- VisBulletLegendComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisBulletLegendComponent, selector: "vis-bullet-legend", inputs: { items: "items", labelClassName: "labelClassName", onLegendItemClick: "onLegendItemClick", labelFontSize: "labelFontSize", labelMaxWidth: "labelMaxWidth", bulletSize: "bulletSize", bulletShape: "bulletShape", orientation: "orientation" }, providers: [{ provide: VisGenericComponent, useExisting: VisBulletLegendComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="bullet-legend-container"></div>', isInline: true, styles: [".bullet-legend-container { }"] });
24
+ VisBulletLegendComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisBulletLegendComponent, selector: "vis-bullet-legend", inputs: { items: "items", labelClassName: "labelClassName", onLegendItemClick: "onLegendItemClick", labelFontSize: "labelFontSize", labelMaxWidth: "labelMaxWidth", bulletSize: "bulletSize", bulletSpacing: "bulletSpacing", bulletShape: "bulletShape", orientation: "orientation" }, providers: [{ provide: VisGenericComponent, useExisting: VisBulletLegendComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="bullet-legend-container"></div>', isInline: true, styles: [".bullet-legend-container { }"] });
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisBulletLegendComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{
@@ -46,9 +46,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
46
46
  type: Input
47
47
  }], bulletSize: [{
48
48
  type: Input
49
+ }], bulletSpacing: [{
50
+ type: Input
49
51
  }], bulletShape: [{
50
52
  type: Input
51
53
  }], orientation: [{
52
54
  type: Input
53
55
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsbGV0LWxlZ2VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaHRtbC1jb21wb25lbnRzL2J1bGxldC1sZWdlbmQvYnVsbGV0LWxlZ2VuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEVBQTBFO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQWlCLEtBQUssRUFBaUIsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFBO0FBQ3JHLE9BQU8sRUFDTCxZQUFZLEdBTWIsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFBOztBQVNoRCxNQUFNLE9BQU8sd0JBQXdCO0lBeUNuQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsa0NBQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFFLHlCQUF5QixFQUFFLElBQUksSUFBRyxDQUFBO0lBQzlILENBQUM7SUFFRCxXQUFXLENBQUUsT0FBc0I7O1FBQ2pDLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUM3SCxNQUFNLE1BQU0sR0FBRyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFBO1FBQy9ILE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUEwQyxDQUFBO1FBQ3pFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTO1lBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxRSxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7O3NIQXhEVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixvU0FGeEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQywwSkFIMUUsd0RBQXdEOzRGQUt2RCx3QkFBd0I7a0JBUHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLHdEQUF3RDtvQkFDbEUsTUFBTSxFQUFFLENBQUMsK0JBQStCLENBQUM7b0JBQ3pDLGdEQUFnRDtvQkFDaEQsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFDO2lCQUNyRjs4QkFFNEMsWUFBWTtzQkFBdEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQWNoQyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFJRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBCdWxsZXRMZWdlbmQsXG4gIEJ1bGxldExlZ2VuZENvbmZpZ0ludGVyZmFjZSxcbiAgQnVsbGV0TGVnZW5kSXRlbUludGVyZmFjZSxcbiAgR2VuZXJpY0FjY2Vzc29yLFxuICBCdWxsZXRTaGFwZSxcbiAgQnVsbGV0TGVnZW5kT3JpZW50YXRpb24sXG59IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNHZW5lcmljQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLWJ1bGxldC1sZWdlbmQnLFxuICB0ZW1wbGF0ZTogJzxkaXYgI2NvbnRhaW5lciBjbGFzcz1cImJ1bGxldC1sZWdlbmQtY29udGFpbmVyXCI+PC9kaXY+JyxcbiAgc3R5bGVzOiBbJy5idWxsZXQtbGVnZW5kLWNvbnRhaW5lciB7ICB9J10sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZpc0dlbmVyaWNDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBWaXNCdWxsZXRMZWdlbmRDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0J1bGxldExlZ2VuZENvbXBvbmVudCBpbXBsZW1lbnRzIEJ1bGxldExlZ2VuZENvbmZpZ0ludGVyZmFjZSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWZcblxuICAvKiogTGVnZW5kIGl0ZW1zLiBBcnJheSBvZiBgQnVsbGV0TGVnZW5kSXRlbUludGVyZmFjZWA6XG4gICAqIGBgYFxuICAgKiB7XG4gICAqICBuYW1lOiBzdHJpbmcgfCBudW1iZXI7XG4gICAqICBjb2xvcj86IHN0cmluZztcbiAgICogIHNoYXBlPzogQnVsbGV0U2hhcGU7XG4gICAqICBpbmFjdGl2ZT86IGJvb2xlYW47XG4gICAqICBoaWRkZW4/OiBib29sZWFuO1xuICAgKiAgcG9pbnRlcj86IGJvb2xlYW47XG4gICAqIH1cbiAgICogYGBgXG4gICAqIERlZmF1bHQ6IGBbXWAgKi9cbiAgQElucHV0KCkgaXRlbXM6IEJ1bGxldExlZ2VuZEl0ZW1JbnRlcmZhY2VbXVxuXG4gIC8qKiBBcHBseSBhIHNwZWNpZmljIGNsYXNzIHRvIHRoZSBsYWJlbHMuIERlZmF1bHQ6IGAnJ2AgKi9cbiAgQElucHV0KCkgbGFiZWxDbGFzc05hbWU/OiBzdHJpbmdcblxuICAvKiogQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIHRoZSBsZWdlbmQgaXRlbSBjbGljay4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25MZWdlbmRJdGVtQ2xpY2s/OiAoKGQ6IEJ1bGxldExlZ2VuZEl0ZW1JbnRlcmZhY2UsIGk6IG51bWJlcikgPT4gdm9pZClcblxuICAvKiogTGFiZWwgdGV4dCAoPHNwYW4+IGVsZW1lbnQpIGZvbnQtc2l6ZSBDU1MuIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBsYWJlbEZvbnRTaXplPzogc3RyaW5nIHwgbnVsbFxuXG4gIC8qKiBMYWJlbCB0ZXh0ICg8c3Bhbj4gZWxlbWVudCkgbWF4LXdpZHRoIENTUyBwcm9wZXJ0eS4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIGxhYmVsTWF4V2lkdGg/OiBzdHJpbmcgfCBudWxsXG5cbiAgLyoqIEJ1bGxldCBzaGFwZSBzaXplLCBtYXBwZWQgdG8gdGhlIHdpZHRoIGFuZCBoZWlnaHQgQ1NTIHByb3BlcnRpZXMuIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBidWxsZXRTaXplPzogc3RyaW5nIHwgbnVsbFxuXG4gIC8qKiBCdWxsZXQgc2hhcGUgZW51bSB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5zaGFwZSA/PyBCdWxsZXRTaGFwZS5DaXJjbGUgKi9cbiAgQElucHV0KCkgYnVsbGV0U2hhcGU/OiBHZW5lcmljQWNjZXNzb3I8QnVsbGV0U2hhcGUsIEJ1bGxldExlZ2VuZEl0ZW1JbnRlcmZhY2U+XG5cbiAgLyoqIExlZ2VuZCBvcmllbnRhdGlvbi4gV2hlbiBzZXQgdG8gYEJ1bGxldExlZ2VuZE9yaWVudGF0aW9uLlZlcnRpY2FsYCwgZWFjaCBsZWdlbmQgaXRlbSB3aWxsXG4gICAqIHN0YXJ0IG9uIGEgbmV3IGxpbmUuIERlZmF1bHQ6IGBCdWxsZXRMZWdlbmRPcmllbnRhdGlvbi5Ib3Jpem9udGFsYCAqL1xuICBASW5wdXQoKSBvcmllbnRhdGlvbj86IEJ1bGxldExlZ2VuZE9yaWVudGF0aW9uIHwgc3RyaW5nXG5cbiAgY29tcG9uZW50OiBCdWxsZXRMZWdlbmQgfCB1bmRlZmluZWRcblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50ID0gbmV3IEJ1bGxldExlZ2VuZCh0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LCB7IC4uLnRoaXMuZ2V0Q29uZmlnKCksIHJlbmRlckludG9Qcm92aWRlZERvbU5vZGU6IHRydWUgfSlcbiAgfVxuXG4gIG5nT25DaGFuZ2VzIChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQ/LnVwZGF0ZSh0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25maWcgKCk6IEJ1bGxldExlZ2VuZENvbmZpZ0ludGVyZmFjZSB7XG4gICAgY29uc3QgeyBpdGVtcywgbGFiZWxDbGFzc05hbWUsIG9uTGVnZW5kSXRlbUNsaWNrLCBsYWJlbEZvbnRTaXplLCBsYWJlbE1heFdpZHRoLCBidWxsZXRTaXplLCBidWxsZXRTaGFwZSwgb3JpZW50YXRpb24gfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGl0ZW1zLCBsYWJlbENsYXNzTmFtZSwgb25MZWdlbmRJdGVtQ2xpY2ssIGxhYmVsRm9udFNpemUsIGxhYmVsTWF4V2lkdGgsIGJ1bGxldFNpemUsIGJ1bGxldFNoYXBlLCBvcmllbnRhdGlvbiB9XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGNvbmZpZykgYXMgKGtleW9mIEJ1bGxldExlZ2VuZENvbmZpZ0ludGVyZmFjZSlbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsbGV0LWxlZ2VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaHRtbC1jb21wb25lbnRzL2J1bGxldC1sZWdlbmQvYnVsbGV0LWxlZ2VuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEVBQTBFO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQWlCLEtBQUssRUFBaUIsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFBO0FBQ3JHLE9BQU8sRUFDTCxZQUFZLEdBTWIsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFBOztBQVNoRCxNQUFNLE9BQU8sd0JBQXdCO0lBNENuQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsa0NBQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFFLHlCQUF5QixFQUFFLElBQUksSUFBRyxDQUFBO0lBQzlILENBQUM7SUFFRCxXQUFXLENBQUUsT0FBc0I7O1FBQ2pDLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDNUksTUFBTSxNQUFNLEdBQUcsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUE7UUFDOUksTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQTBDLENBQUE7UUFDekUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVM7WUFBRSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTFFLE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQzs7c0hBM0RVLHdCQUF3QjswR0FBeEIsd0JBQXdCLG9VQUZ4QixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFDLDBKQUgxRSx3REFBd0Q7NEZBS3ZELHdCQUF3QjtrQkFQcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsd0RBQXdEO29CQUNsRSxNQUFNLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDekMsZ0RBQWdEO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLDBCQUEwQixFQUFFLENBQUM7aUJBQ3JGOzhCQUU0QyxZQUFZO3NCQUF0RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBY2hDLEtBQUs7c0JBQWIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBSUcsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQnVsbGV0TGVnZW5kLFxuICBCdWxsZXRMZWdlbmRDb25maWdJbnRlcmZhY2UsXG4gIEJ1bGxldExlZ2VuZEl0ZW1JbnRlcmZhY2UsXG4gIEdlbmVyaWNBY2Nlc3NvcixcbiAgQnVsbGV0U2hhcGUsXG4gIEJ1bGxldExlZ2VuZE9yaWVudGF0aW9uLFxufSBmcm9tICdAdW5vdmlzL3RzJ1xuaW1wb3J0IHsgVmlzR2VuZXJpY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1idWxsZXQtbGVnZW5kJyxcbiAgdGVtcGxhdGU6ICc8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJidWxsZXQtbGVnZW5kLWNvbnRhaW5lclwiPjwvZGl2PicsXG4gIHN0eWxlczogWycuYnVsbGV0LWxlZ2VuZC1jb250YWluZXIgeyAgfSddLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNHZW5lcmljQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzQnVsbGV0TGVnZW5kQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNCdWxsZXRMZWdlbmRDb21wb25lbnQgaW1wbGVtZW50cyBCdWxsZXRMZWdlbmRDb25maWdJbnRlcmZhY2UsIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGFpbmVyUmVmOiBFbGVtZW50UmVmXG5cbiAgLyoqIExlZ2VuZCBpdGVtcy4gQXJyYXkgb2YgYEJ1bGxldExlZ2VuZEl0ZW1JbnRlcmZhY2VgOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiAgbmFtZTogc3RyaW5nIHwgbnVtYmVyO1xuICAgKiAgY29sb3I/OiBzdHJpbmc7XG4gICAqICBzaGFwZT86IEJ1bGxldFNoYXBlO1xuICAgKiAgaW5hY3RpdmU/OiBib29sZWFuO1xuICAgKiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgICogIHBvaW50ZXI/OiBib29sZWFuO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKiBEZWZhdWx0OiBgW11gICovXG4gIEBJbnB1dCgpIGl0ZW1zOiBCdWxsZXRMZWdlbmRJdGVtSW50ZXJmYWNlW11cblxuICAvKiogQXBwbHkgYSBzcGVjaWZpYyBjbGFzcyB0byB0aGUgbGFiZWxzLiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGxhYmVsQ2xhc3NOYW1lPzogc3RyaW5nXG5cbiAgLyoqIENhbGxiYWNrIGZ1bmN0aW9uIGZvciB0aGUgbGVnZW5kIGl0ZW0gY2xpY2suIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTGVnZW5kSXRlbUNsaWNrPzogKChkOiBCdWxsZXRMZWdlbmRJdGVtSW50ZXJmYWNlLCBpOiBudW1iZXIpID0+IHZvaWQpXG5cbiAgLyoqIExhYmVsIHRleHQgKDxzcGFuPiBlbGVtZW50KSBmb250LXNpemUgQ1NTLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgbGFiZWxGb250U2l6ZT86IHN0cmluZyB8IG51bGxcblxuICAvKiogTGFiZWwgdGV4dCAoPHNwYW4+IGVsZW1lbnQpIG1heC13aWR0aCBDU1MgcHJvcGVydHkuIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBsYWJlbE1heFdpZHRoPzogc3RyaW5nIHwgbnVsbFxuXG4gIC8qKiBCdWxsZXQgc2hhcGUgc2l6ZSwgbWFwcGVkIHRvIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IENTUyBwcm9wZXJ0aWVzLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgYnVsbGV0U2l6ZT86IHN0cmluZyB8IG51bGxcblxuICAvKiogU3BhY2luZyBiZXR3ZWVuIG11bHRpcGxlIGJ1bGxldCBzeW1ib2xzIGluIHBpeGVscy4gRGVmYXVsdDogYDRgICovXG4gIEBJbnB1dCgpIGJ1bGxldFNwYWNpbmc/OiBudW1iZXJcblxuICAvKiogQnVsbGV0IHNoYXBlIGVudW0gdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQuc2hhcGUgPz8gQnVsbGV0U2hhcGUuQ2lyY2xlICovXG4gIEBJbnB1dCgpIGJ1bGxldFNoYXBlPzogR2VuZXJpY0FjY2Vzc29yPEJ1bGxldFNoYXBlLCBCdWxsZXRMZWdlbmRJdGVtSW50ZXJmYWNlPlxuXG4gIC8qKiBMZWdlbmQgb3JpZW50YXRpb24uIFdoZW4gc2V0IHRvIGBCdWxsZXRMZWdlbmRPcmllbnRhdGlvbi5WZXJ0aWNhbGAsIGVhY2ggbGVnZW5kIGl0ZW0gd2lsbFxuICAgKiBzdGFydCBvbiBhIG5ldyBsaW5lLiBEZWZhdWx0OiBgQnVsbGV0TGVnZW5kT3JpZW50YXRpb24uSG9yaXpvbnRhbGAgKi9cbiAgQElucHV0KCkgb3JpZW50YXRpb24/OiBCdWxsZXRMZWdlbmRPcmllbnRhdGlvbiB8IHN0cmluZ1xuXG4gIGNvbXBvbmVudDogQnVsbGV0TGVnZW5kIHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBCdWxsZXRMZWdlbmQodGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCwgeyAuLi50aGlzLmdldENvbmZpZygpLCByZW5kZXJJbnRvUHJvdmlkZWREb21Ob2RlOiB0cnVlIH0pXG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50Py51cGRhdGUodGhpcy5nZXRDb25maWcoKSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBCdWxsZXRMZWdlbmRDb25maWdJbnRlcmZhY2Uge1xuICAgIGNvbnN0IHsgaXRlbXMsIGxhYmVsQ2xhc3NOYW1lLCBvbkxlZ2VuZEl0ZW1DbGljaywgbGFiZWxGb250U2l6ZSwgbGFiZWxNYXhXaWR0aCwgYnVsbGV0U2l6ZSwgYnVsbGV0U3BhY2luZywgYnVsbGV0U2hhcGUsIG9yaWVudGF0aW9uIH0gPSB0aGlzXG4gICAgY29uc3QgY29uZmlnID0geyBpdGVtcywgbGFiZWxDbGFzc05hbWUsIG9uTGVnZW5kSXRlbUNsaWNrLCBsYWJlbEZvbnRTaXplLCBsYWJlbE1heFdpZHRoLCBidWxsZXRTaXplLCBidWxsZXRTcGFjaW5nLCBidWxsZXRTaGFwZSwgb3JpZW50YXRpb24gfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBCdWxsZXRMZWdlbmRDb25maWdJbnRlcmZhY2UpW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=
@@ -502,8 +502,8 @@ class VisAxisComponent {
502
502
  (_c = this.componentContainer) === null || _c === void 0 ? void 0 : _c.render();
503
503
  }
504
504
  getConfig() {
505
- const { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding } = this;
506
- const config = { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding };
505
+ const { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelTextFitMode, labelTextTrimType, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyShowGridLines, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding } = this;
506
+ const config = { duration, events, attributes, position, type, fullSize, label, labelFontSize, labelMargin, labelTextFitMode, labelTextTrimType, labelColor, gridLine, tickLine, domainLine, minMaxTicksOnly, minMaxTicksOnlyShowGridLines, minMaxTicksOnlyWhenWidthIsLess, tickFormat, tickValues, numTicks, tickTextFitMode, tickTextWidth, tickTextSeparator, tickTextForceWordBreak, tickTextTrimType, tickTextFontSize, tickTextAlign, tickTextColor, tickTextAngle, tickTextHideOverlapping, tickPadding };
507
507
  const keys = Object.keys(config);
508
508
  keys.forEach(key => { if (config[key] === undefined)
509
509
  delete config[key]; });
@@ -511,7 +511,7 @@ class VisAxisComponent {
511
511
  }
512
512
  }
513
513
  VisAxisComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAxisComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
514
- VisAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAxisComponent, selector: "vis-axis", inputs: { duration: "duration", events: "events", attributes: "attributes", position: "position", type: "type", fullSize: "fullSize", label: "label", labelFontSize: "labelFontSize", labelMargin: "labelMargin", labelColor: "labelColor", gridLine: "gridLine", tickLine: "tickLine", domainLine: "domainLine", minMaxTicksOnly: "minMaxTicksOnly", minMaxTicksOnlyWhenWidthIsLess: "minMaxTicksOnlyWhenWidthIsLess", tickFormat: "tickFormat", tickValues: "tickValues", numTicks: "numTicks", tickTextFitMode: "tickTextFitMode", tickTextWidth: "tickTextWidth", tickTextSeparator: "tickTextSeparator", tickTextForceWordBreak: "tickTextForceWordBreak", tickTextTrimType: "tickTextTrimType", tickTextFontSize: "tickTextFontSize", tickTextAlign: "tickTextAlign", tickTextColor: "tickTextColor", tickTextAngle: "tickTextAngle", tickTextHideOverlapping: "tickTextHideOverlapping", tickPadding: "tickPadding", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisAxisComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
514
+ VisAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAxisComponent, selector: "vis-axis", inputs: { duration: "duration", events: "events", attributes: "attributes", position: "position", type: "type", fullSize: "fullSize", label: "label", labelFontSize: "labelFontSize", labelMargin: "labelMargin", labelTextFitMode: "labelTextFitMode", labelTextTrimType: "labelTextTrimType", labelColor: "labelColor", gridLine: "gridLine", tickLine: "tickLine", domainLine: "domainLine", minMaxTicksOnly: "minMaxTicksOnly", minMaxTicksOnlyShowGridLines: "minMaxTicksOnlyShowGridLines", minMaxTicksOnlyWhenWidthIsLess: "minMaxTicksOnlyWhenWidthIsLess", tickFormat: "tickFormat", tickValues: "tickValues", numTicks: "numTicks", tickTextFitMode: "tickTextFitMode", tickTextWidth: "tickTextWidth", tickTextSeparator: "tickTextSeparator", tickTextForceWordBreak: "tickTextForceWordBreak", tickTextTrimType: "tickTextTrimType", tickTextFontSize: "tickTextFontSize", tickTextAlign: "tickTextAlign", tickTextColor: "tickTextColor", tickTextAngle: "tickTextAngle", tickTextHideOverlapping: "tickTextHideOverlapping", tickPadding: "tickPadding", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisAxisComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
515
515
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAxisComponent, decorators: [{
516
516
  type: Component,
517
517
  args: [{
@@ -538,6 +538,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
538
538
  type: Input
539
539
  }], labelMargin: [{
540
540
  type: Input
541
+ }], labelTextFitMode: [{
542
+ type: Input
543
+ }], labelTextTrimType: [{
544
+ type: Input
541
545
  }], labelColor: [{
542
546
  type: Input
543
547
  }], gridLine: [{
@@ -548,6 +552,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
548
552
  type: Input
549
553
  }], minMaxTicksOnly: [{
550
554
  type: Input
555
+ }], minMaxTicksOnlyShowGridLines: [{
556
+ type: Input
551
557
  }], minMaxTicksOnlyWhenWidthIsLess: [{
552
558
  type: Input
553
559
  }], tickFormat: [{
@@ -2008,8 +2014,8 @@ class VisTimelineComponent {
2008
2014
  (_c = this.componentContainer) === null || _c === void 0 ? void 0 : _c.render();
2009
2015
  }
2010
2016
  getConfig() {
2011
- const { duration, events, attributes, x, id, color, xScale, yScale, excludeFromDomainCalculation, type, length, cursor, lineRow, lineDuration, lineWidth, lineCap, lineStartIcon, lineStartIconColor, lineStartIconSize, lineStartIconArrangement, lineEndIcon, lineEndIconColor, lineEndIconSize, lineEndIconArrangement, lineCursor, showEmptySegments, rowHeight, alternatingRowColors, showLabels, labelWidth, maxLabelWidth, showRowLabels, rowLabelStyle, rowLabelFormatter, rowIcon, rowLabelWidth, rowMaxLabelWidth, rowLabelTextAlign, arrows, animationLineEnterPosition, animationLineExitPosition, onScroll } = this;
2012
- const config = { duration, events, attributes, x, id, color, xScale, yScale, excludeFromDomainCalculation, type, length, cursor, lineRow, lineDuration, lineWidth, lineCap, lineStartIcon, lineStartIconColor, lineStartIconSize, lineStartIconArrangement, lineEndIcon, lineEndIconColor, lineEndIconSize, lineEndIconArrangement, lineCursor, showEmptySegments, rowHeight, alternatingRowColors, showLabels, labelWidth, maxLabelWidth, showRowLabels, rowLabelStyle, rowLabelFormatter, rowIcon, rowLabelWidth, rowMaxLabelWidth, rowLabelTextAlign, arrows, animationLineEnterPosition, animationLineExitPosition, onScroll };
2017
+ const { duration, events, attributes, x, id, color, xScale, yScale, excludeFromDomainCalculation, type, length, cursor, lineRow, lineDuration, lineWidth, lineCap, lineStartIcon, lineStartIconColor, lineStartIconSize, lineStartIconArrangement, lineEndIcon, lineEndIconColor, lineEndIconSize, lineEndIconArrangement, lineCursor, showEmptySegments, showEmptySegmentsCorrectPosition, rowHeight, alternatingRowColors, showLabels, labelWidth, maxLabelWidth, showRowLabels, rowLabelStyle, rowLabelFormatter, rowIcon, rowLabelWidth, rowMaxLabelWidth, rowLabelTextAlign, arrows, animationLineEnterPosition, animationLineExitPosition, onScroll } = this;
2018
+ const config = { duration, events, attributes, x, id, color, xScale, yScale, excludeFromDomainCalculation, type, length, cursor, lineRow, lineDuration, lineWidth, lineCap, lineStartIcon, lineStartIconColor, lineStartIconSize, lineStartIconArrangement, lineEndIcon, lineEndIconColor, lineEndIconSize, lineEndIconArrangement, lineCursor, showEmptySegments, showEmptySegmentsCorrectPosition, rowHeight, alternatingRowColors, showLabels, labelWidth, maxLabelWidth, showRowLabels, rowLabelStyle, rowLabelFormatter, rowIcon, rowLabelWidth, rowMaxLabelWidth, rowLabelTextAlign, arrows, animationLineEnterPosition, animationLineExitPosition, onScroll };
2013
2019
  const keys = Object.keys(config);
2014
2020
  keys.forEach(key => { if (config[key] === undefined)
2015
2021
  delete config[key]; });
@@ -2017,7 +2023,7 @@ class VisTimelineComponent {
2017
2023
  }
2018
2024
  }
2019
2025
  VisTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2020
- VisTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisTimelineComponent, selector: "vis-timeline", inputs: { duration: "duration", events: "events", attributes: "attributes", x: "x", id: "id", color: "color", xScale: "xScale", yScale: "yScale", excludeFromDomainCalculation: "excludeFromDomainCalculation", type: "type", length: "length", cursor: "cursor", lineRow: "lineRow", lineDuration: "lineDuration", lineWidth: "lineWidth", lineCap: "lineCap", lineStartIcon: "lineStartIcon", lineStartIconColor: "lineStartIconColor", lineStartIconSize: "lineStartIconSize", lineStartIconArrangement: "lineStartIconArrangement", lineEndIcon: "lineEndIcon", lineEndIconColor: "lineEndIconColor", lineEndIconSize: "lineEndIconSize", lineEndIconArrangement: "lineEndIconArrangement", lineCursor: "lineCursor", showEmptySegments: "showEmptySegments", rowHeight: "rowHeight", alternatingRowColors: "alternatingRowColors", showLabels: "showLabels", labelWidth: "labelWidth", maxLabelWidth: "maxLabelWidth", showRowLabels: "showRowLabels", rowLabelStyle: "rowLabelStyle", rowLabelFormatter: "rowLabelFormatter", rowIcon: "rowIcon", rowLabelWidth: "rowLabelWidth", rowMaxLabelWidth: "rowMaxLabelWidth", rowLabelTextAlign: "rowLabelTextAlign", arrows: "arrows", animationLineEnterPosition: "animationLineEnterPosition", animationLineExitPosition: "animationLineExitPosition", onScroll: "onScroll", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisTimelineComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
2026
+ VisTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisTimelineComponent, selector: "vis-timeline", inputs: { duration: "duration", events: "events", attributes: "attributes", x: "x", id: "id", color: "color", xScale: "xScale", yScale: "yScale", excludeFromDomainCalculation: "excludeFromDomainCalculation", type: "type", length: "length", cursor: "cursor", lineRow: "lineRow", lineDuration: "lineDuration", lineWidth: "lineWidth", lineCap: "lineCap", lineStartIcon: "lineStartIcon", lineStartIconColor: "lineStartIconColor", lineStartIconSize: "lineStartIconSize", lineStartIconArrangement: "lineStartIconArrangement", lineEndIcon: "lineEndIcon", lineEndIconColor: "lineEndIconColor", lineEndIconSize: "lineEndIconSize", lineEndIconArrangement: "lineEndIconArrangement", lineCursor: "lineCursor", showEmptySegments: "showEmptySegments", showEmptySegmentsCorrectPosition: "showEmptySegmentsCorrectPosition", rowHeight: "rowHeight", alternatingRowColors: "alternatingRowColors", showLabels: "showLabels", labelWidth: "labelWidth", maxLabelWidth: "maxLabelWidth", showRowLabels: "showRowLabels", rowLabelStyle: "rowLabelStyle", rowLabelFormatter: "rowLabelFormatter", rowIcon: "rowIcon", rowLabelWidth: "rowLabelWidth", rowMaxLabelWidth: "rowMaxLabelWidth", rowLabelTextAlign: "rowLabelTextAlign", arrows: "arrows", animationLineEnterPosition: "animationLineEnterPosition", animationLineExitPosition: "animationLineExitPosition", onScroll: "onScroll", data: "data" }, providers: [{ provide: VisXYComponent, useExisting: VisTimelineComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
2021
2027
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisTimelineComponent, decorators: [{
2022
2028
  type: Component,
2023
2029
  args: [{
@@ -2078,6 +2084,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2078
2084
  type: Input
2079
2085
  }], showEmptySegments: [{
2080
2086
  type: Input
2087
+ }], showEmptySegmentsCorrectPosition: [{
2088
+ type: Input
2081
2089
  }], rowHeight: [{
2082
2090
  type: Input
2083
2091
  }], alternatingRowColors: [{
@@ -2771,8 +2779,8 @@ class VisBulletLegendComponent {
2771
2779
  (_a = this.component) === null || _a === void 0 ? void 0 : _a.update(this.getConfig());
2772
2780
  }
2773
2781
  getConfig() {
2774
- const { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize, bulletShape, orientation } = this;
2775
- const config = { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize, bulletShape, orientation };
2782
+ const { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize, bulletSpacing, bulletShape, orientation } = this;
2783
+ const config = { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize, bulletSpacing, bulletShape, orientation };
2776
2784
  const keys = Object.keys(config);
2777
2785
  keys.forEach(key => { if (config[key] === undefined)
2778
2786
  delete config[key]; });
@@ -2780,7 +2788,7 @@ class VisBulletLegendComponent {
2780
2788
  }
2781
2789
  }
2782
2790
  VisBulletLegendComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisBulletLegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2783
- VisBulletLegendComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisBulletLegendComponent, selector: "vis-bullet-legend", inputs: { items: "items", labelClassName: "labelClassName", onLegendItemClick: "onLegendItemClick", labelFontSize: "labelFontSize", labelMaxWidth: "labelMaxWidth", bulletSize: "bulletSize", bulletShape: "bulletShape", orientation: "orientation" }, providers: [{ provide: VisGenericComponent, useExisting: VisBulletLegendComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="bullet-legend-container"></div>', isInline: true, styles: [".bullet-legend-container { }"] });
2791
+ VisBulletLegendComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisBulletLegendComponent, selector: "vis-bullet-legend", inputs: { items: "items", labelClassName: "labelClassName", onLegendItemClick: "onLegendItemClick", labelFontSize: "labelFontSize", labelMaxWidth: "labelMaxWidth", bulletSize: "bulletSize", bulletSpacing: "bulletSpacing", bulletShape: "bulletShape", orientation: "orientation" }, providers: [{ provide: VisGenericComponent, useExisting: VisBulletLegendComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="bullet-legend-container"></div>', isInline: true, styles: [".bullet-legend-container { }"] });
2784
2792
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisBulletLegendComponent, decorators: [{
2785
2793
  type: Component,
2786
2794
  args: [{
@@ -2805,6 +2813,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2805
2813
  type: Input
2806
2814
  }], bulletSize: [{
2807
2815
  type: Input
2816
+ }], bulletSpacing: [{
2817
+ type: Input
2808
2818
  }], bulletShape: [{
2809
2819
  type: Input
2810
2820
  }], orientation: [{