@unovis/angular 1.1.2-beta.7 → 1.1.2-beta.8

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.
@@ -100,7 +100,7 @@ export declare class VisAxisComponent<Datum> implements AxisConfigInterface<Datu
100
100
  tickTextFitMode?: FitMode | string;
101
101
  /** Maximum width in pixels for the tick text to be wrapped or trimmed. Default: `undefined` */
102
102
  tickTextWidth?: number;
103
- /** Tick text wrapping separator. String or array of strings. Default: `' '` */
103
+ /** Tick text wrapping separator. String or array of strings. Default: `undefined` */
104
104
  tickTextSeparator?: string | string[];
105
105
  /** Force word break for ticks when they don't fit. Default: `false` */
106
106
  tickTextForceWordBreak?: boolean;
@@ -15,6 +15,11 @@ export declare class VisSingleContainerComponent<Data = unknown, C extends Compo
15
15
  margin?: Spacing;
16
16
  /** Animation duration of all the components within the container. Default: `undefined` */
17
17
  duration?: number;
18
+ /** Alternative text description of the chart for accessibility purposes. It will be applied as an
19
+ * `aria-label` attribute to the div element containing your chart. Default: `undefined`.
20
+ */
21
+ ariaLabel?: string | null | undefined;
22
+ /** Data to be passed to the component. Default: `undefined`. */
18
23
  data?: Data;
19
24
  chart: SingleContainer<Data>;
20
25
  ngAfterViewInit(): void;
@@ -22,5 +27,5 @@ export declare class VisSingleContainerComponent<Data = unknown, C extends Compo
22
27
  getConfig(): SingleContainerConfigInterface<Data>;
23
28
  ngOnDestroy(): void;
24
29
  static ɵfac: i0.ɵɵFactoryDeclaration<VisSingleContainerComponent<any, any>, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<VisSingleContainerComponent<any, any>, "vis-single-container", never, { "width": "width"; "height": "height"; "margin": "margin"; "duration": "duration"; "data": "data"; }, {}, ["visComponent", "tooltipComponent"], ["*"]>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<VisSingleContainerComponent<any, any>, "vis-single-container", never, { "width": "width"; "height": "height"; "margin": "margin"; "duration": "duration"; "ariaLabel": "ariaLabel"; "data": "data"; }, {}, ["visComponent", "tooltipComponent"], ["*"]>;
26
31
  }
@@ -65,6 +65,10 @@ export declare class VisXYContainerComponent<Datum> implements AfterViewInit, Af
65
65
  scaleByDomain?: boolean;
66
66
  /** Enables automatic calculation of chart margins based on the size of the axes. Default: `true` */
67
67
  autoMargin?: boolean;
68
+ /** Alternative text description of the chart for accessibility purposes. It will be applied as an
69
+ * `aria-label` attribute to the div element containing your chart. Default: `undefined`.
70
+ */
71
+ ariaLabel?: string | null | undefined;
68
72
  /** Data to be passed to all child components. But if `data` is `undefined` it'll to be passed allowing components to
69
73
  * have their individual data. Default: `undefined` */
70
74
  data?: Datum[] | undefined;
@@ -76,5 +80,5 @@ export declare class VisXYContainerComponent<Datum> implements AfterViewInit, Af
76
80
  passContainerReferenceToChildren(): void;
77
81
  ngOnDestroy(): void;
78
82
  static ɵfac: i0.ɵɵFactoryDeclaration<VisXYContainerComponent<any>, never>;
79
- static ɵcmp: i0.ɵɵComponentDeclaration<VisXYContainerComponent<any>, "vis-xy-container", never, { "width": "width"; "height": "height"; "xScale": "xScale"; "xDomain": "xDomain"; "xDomainMinConstraint": "xDomainMinConstraint"; "xDomainMaxConstraint": "xDomainMaxConstraint"; "xRange": "xRange"; "yScale": "yScale"; "yDomain": "yDomain"; "yDomainMinConstraint": "yDomainMinConstraint"; "yDomainMaxConstraint": "yDomainMaxConstraint"; "yRange": "yRange"; "yDirection": "yDirection"; "duration": "duration"; "margin": "margin"; "padding": "padding"; "scaleByDomain": "scaleByDomain"; "autoMargin": "autoMargin"; "data": "data"; }, {}, ["tooltipComponent", "visComponents"], ["*"]>;
83
+ static ɵcmp: i0.ɵɵComponentDeclaration<VisXYContainerComponent<any>, "vis-xy-container", never, { "width": "width"; "height": "height"; "xScale": "xScale"; "xDomain": "xDomain"; "xDomainMinConstraint": "xDomainMinConstraint"; "xDomainMaxConstraint": "xDomainMaxConstraint"; "xRange": "xRange"; "yScale": "yScale"; "yDomain": "yDomain"; "yDomainMinConstraint": "yDomainMinConstraint"; "yDomainMaxConstraint": "yDomainMaxConstraint"; "yRange": "yRange"; "yDirection": "yDirection"; "duration": "duration"; "margin": "margin"; "padding": "padding"; "scaleByDomain": "scaleByDomain"; "autoMargin": "autoMargin"; "ariaLabel": "ariaLabel"; "data": "data"; }, {}, ["tooltipComponent", "visComponents"], ["*"]>;
80
84
  }
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
104
104
  }], data: [{
105
105
  type: Input
106
106
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9heGlzL2F4aXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBYUwsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQWtKM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FB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QXJCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAhISEgVGhpcyBjb2RlIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZC4gWW91IHNob3VsZCBub3QgY2hhbmdlIGl0ICEhIVxuaW1wb3J0IHsgQ29tcG9uZW50LCBBZnRlclZpZXdJbml0LCBJbnB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBBeGlzLFxuICBBeGlzQ29uZmlnSW50ZXJmYWNlLFxuICBDb250YWluZXJDb3JlLFxuICBWaXNFdmVudFR5cGUsXG4gIFZpc0V2ZW50Q2FsbGJhY2ssXG4gIE51bWVyaWNBY2Nlc3NvcixcbiAgQ29sb3JBY2Nlc3NvcixcbiAgQ29udGludW91c1NjYWxlLFxuICBQb3NpdGlvbixcbiAgQXhpc1R5cGUsXG4gIEZpdE1vZGUsXG4gIFRyaW1Nb2RlLFxuICBUZXh0QWxpZ24sXG59IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNYWUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1heGlzJyxcbiAgdGVtcGxhdGU6ICcnLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNYWUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFZpc0F4aXNDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0F4aXNDb21wb25lbnQ8RGF0dW0+IGltcGxlbWVudHMgQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4sIEFmdGVyVmlld0luaXQge1xuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogQWNjZXNzb3IgZnVuY3Rpb24gZm9yIGdldHRpbmcgdGhlIHZhbHVlcyBhbG9uZyB0aGUgWCBheGlzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB4OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIEEgc2luZ2xlIG9mIG11bHRpcGxlIGFjY2Vzc29yIGZ1bmN0aW9ucyBmb3IgZ2V0dGluZyB0aGUgdmFsdWVzIGFsb25nIHRoZSBZIGF4aXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHk6IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT4gfCBOdW1lcmljQWNjZXNzb3I8RGF0dW0+W11cblxuICAvKiogQWNjZXNzb3IgZnVuY3Rpb24gZm9yIGdldHRpbmcgdGhlIHVuaXF1ZSBkYXRhIHJlY29yZCBpZC4gVXNlZCBmb3IgbW9yZSBwZXJzaXN0ZW50IGRhdGEgdXBkYXRlcy4gRGVmYXVsdDogYChkLCBpKSA9PiBkLmlkID8/IGlgICovXG4gIEBJbnB1dCgpIGlkPzogKChkOiBEYXR1bSwgaTogbnVtYmVyLCAuLi5yZXN0KSA9PiBzdHJpbmcpXG5cbiAgLyoqIENvbXBvbmVudCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5jb2xvcmAgKi9cbiAgQElucHV0KCkgY29sb3I/OiBDb2xvckFjY2Vzc29yPERhdHVtPiB8IENvbG9yQWNjZXNzb3I8RGF0dW1bXT5cblxuICAvKiogU2NhbGUgZm9yIFggZGltZW5zaW9uLCBlLmcuIFNjYWxlLnNjYWxlTGluZWFyKCkuIElmIHlvdSBzZXQgeFNjYWxlIHlvdSdsbCBiZSByZXNwb25zaWJsZSBmb3Igc2V0dGluZyBpdCdzIGBkb21haW5gIGFuZCBgcmFuZ2VgIGFzIHdlbGwuXG4gICAqIE9ubHkgY29udGludW91cyBzY2FsZXMgYXJlIHN1cHBvcnRlZC5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeFNjYWxlPzogQ29udGludW91c1NjYWxlXG5cbiAgLyoqIFNjYWxlIGZvciBZIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5zY2FsZUxpbmVhcigpLiBJZiB5b3Ugc2V0IHlTY2FsZSB5b3UnbGwgYmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgaXQncyBgZG9tYWluYCBhbmQgYHJhbmdlYCBhcyB3ZWxsLlxuICAgKiBPbmx5IGNvbnRpbnVvdXMgc2NhbGVzIGFyZSBzdXBwb3J0ZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHlTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuXG4gIC8qKiBJZGVudGlmaWVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBvdmVyYWxsIFggYW5kIFkgZG9tYWluIGNhbGN1bGF0aW9ucyBvciBub3QuXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHBhc3MgaW5kaXZpZHVhbCBkYXRhIHRvIGEgY29tcG9uZW50IGFuZCB5b3UgZG9uJ3Qgd2FudCBpdCB0byBhZmZlY3RcbiAgICogdGhlIHNjYWxlcyBvZiB0aGUgY2hhcnQuXG4gICAqIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbj86IGJvb2xlYW5cblxuICAvKiogQXhpcyBwb3NpdGlvbjogYFBvc2l0aW9uLlRvcGAsIGBQb3NpdGlvbi5Cb3R0b21gLCBgUG9zaXRpb24uUmlnaHRgIG9yIGBQb3NpdGlvbi5MZWZ0YC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgcG9zaXRpb24/OiBQb3NpdGlvbiB8IHN0cmluZ1xuXG4gIC8qKiBBeGlzIHR5cGU6IGBBeGlzVHlwZS5YYCBvciBgQXhpc1R5cGUuWWAgKi9cbiAgQElucHV0KCkgdHlwZT86IEF4aXNUeXBlIHwgc3RyaW5nXG5cbiAgLyoqIEV4dGVuZCB0aGUgYXhpcyBkb21haW4gbGluZSB0byBiZSBmdWxsIHdpZHRoIG9yIGZ1bGwgaGVpZ2h0LiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgZnVsbFNpemU/OiBib29sZWFuXG5cbiAgLyoqIEF4aXMgbGFiZWwuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG5cbiAgLyoqIEZvbnQgc2l6ZSBvZiB0aGUgYXhpcyBsYWJlbCBhcyBDU1Mgc3RyaW5nLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgbGFiZWxGb250U2l6ZT86IHN0cmluZyB8IG51bGxcblxuICAvKiogRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXhpcyBhbmQgdGhlIGxhYmVsIGluIHBpeGVscy4gRGVmYXVsdDogYDhgICovXG4gIEBJbnB1dCgpIGxhYmVsTWFyZ2luPzogbnVtYmVyXG5cbiAgLyoqIFNldHMgd2hldGhlciB0byBkcmF3IHRoZSBncmlkIGxpbmVzIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGdyaWRMaW5lPzogYm9vbGVhblxuXG4gIC8qKiBTZXRzIHdoZXRoZXIgdG8gZHJhdyB0aGUgdGljayBsaW5lcyBvciBub3QuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSB0aWNrTGluZT86IGJvb2xlYW5cblxuICAvKiogU2V0cyB3aGV0aGVyIHRvIGRyYXcgdGhlIGRvbWFpbiBsaW5lIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGRvbWFpbkxpbmU/OiBib29sZWFuXG5cbiAgLyoqIERyYXcgdGhlIG1pbiBhbmQgbWF4IGF4aXMgdGlja3Mgb25seS4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBtaW5NYXhUaWNrc09ubHk/OiBib29sZWFuXG5cbiAgLyoqIFRpY2sgbGFiZWwgZm9ybWF0dGVyIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB0aWNrRm9ybWF0PzogKCh0aWNrOiBudW1iZXIsIGk6IG51bWJlciwgdGlja3M6IG51bWJlcltdKSA9PiBzdHJpbmcpIHwgKCh0aWNrOiBEYXRlLCBpOiBudW1iZXIsIHRpY2tzOiBEYXRlW10pID0+IHN0cmluZylcblxuICAvKiogRXhwbGljaXRseSBzZXQgdGljayB2YWx1ZXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tWYWx1ZXM/OiBudW1iZXJbXVxuXG4gIC8qKiBTZXQgdGhlIGFwcHJveGltYXRlIG51bWJlciBvZiBheGlzIHRpY2tzICh3aWxsIGJlIHBhc3NlZCB0byBEMydzIGF4aXMgY29uc3RydWN0b3IpLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBudW1UaWNrcz86IG51bWJlclxuXG4gIC8qKiBUaWNrIHRleHQgZml0IG1vZGU6IGBGaXRNb2RlLldyYXBgIG9yIGBGaXRNb2RlLlRyaW1gLiBEZWZhdWx0OiBgRml0TW9kZS5XcmFwYC4gKi9cbiAgQElucHV0KCkgdGlja1RleHRGaXRNb2RlPzogRml0TW9kZSB8IHN0cmluZ1xuXG4gIC8qKiBNYXhpbXVtIHdpZHRoIGluIHBpeGVscyBmb3IgdGhlIHRpY2sgdGV4dCB0byBiZSB3cmFwcGVkIG9yIHRyaW1tZWQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0V2lkdGg/OiBudW1iZXJcblxuICAvKiogVGljayB0ZXh0IHdyYXBwaW5nIHNlcGFyYXRvci4gU3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MuIERlZmF1bHQ6IGAnICdgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0U2VwYXJhdG9yPzogc3RyaW5nIHwgc3RyaW5nW11cblxuICAvKiogRm9yY2Ugd29yZCBicmVhayBmb3IgdGlja3Mgd2hlbiB0aGV5IGRvbid0IGZpdC4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEZvcmNlV29yZEJyZWFrPzogYm9vbGVhblxuXG4gIC8qKiBUaWNrIHRleHQgdHJpbSBtb2RlOiBgVHJpbU1vZGUuU3RhcnRgLCBgVHJpbU1vZGUuTWlkZGxlYCBvciBgVHJpbU1vZGUuRW5kYC4gRGVmYXVsdDogYFRyaW1Nb2RlLk1pZGRsZWAgKi9cbiAgQElucHV0KCkgdGlja1RleHRUcmltVHlwZT86IFRyaW1Nb2RlIHwgc3RyaW5nXG5cbiAgLyoqIEZvbnQgc2l6ZSBvZiB0aGUgdGljayB0ZXh0IGFzIENTUyBzdHJpbmcuIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEZvbnRTaXplPzogc3RyaW5nIHwgbnVsbFxuXG4gIC8qKiBUZXh0IGFsaWdubWVudCBmb3IgdGlja3M6IGBUZXh0QWxpZ24uTGVmdGAsIGBUZXh0QWxpZ24uQ2VudGVyYCBvciBgVGV4dEFsaWduLlJpZ2h0YC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja1RleHRBbGlnbj86IFRleHRBbGlnbiB8IHN0cmluZ1xuXG4gIC8qKiBUaGUgc3BhY2luZyBpbiBwaXhlbHMgYmV0d2VlbiB0aGUgdGljayBhbmQgaXQncyBsYWJlbC4gRGVmYXVsdDogYDhgICovXG4gIEBJbnB1dCgpIHRpY2tQYWRkaW5nPzogbnVtYmVyXG4gIEBJbnB1dCgpIGRhdGE6IERhdHVtW11cblxuICBjb21wb25lbnQ6IEF4aXM8RGF0dW0+IHwgdW5kZWZpbmVkXG4gIHB1YmxpYyBjb21wb25lbnRDb250YWluZXI6IENvbnRhaW5lckNvcmUgfCB1bmRlZmluZWRcblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50ID0gbmV3IEF4aXM8RGF0dW0+KHRoaXMuZ2V0Q29uZmlnKCkpXG5cbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC5zZXREYXRhKHRoaXMuZGF0YSlcbiAgICAgIHRoaXMuY29tcG9uZW50Q29udGFpbmVyPy5yZW5kZXIoKVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzIChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuZGF0YSkgeyB0aGlzLmNvbXBvbmVudD8uc2V0RGF0YSh0aGlzLmRhdGEpIH1cbiAgICB0aGlzLmNvbXBvbmVudD8uc2V0Q29uZmlnKHRoaXMuZ2V0Q29uZmlnKCkpXG4gICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gIH1cblxuICBwcml2YXRlIGdldENvbmZpZyAoKTogQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4ge1xuICAgIGNvbnN0IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgeCwgeSwgaWQsIGNvbG9yLCB4U2NhbGUsIHlTY2FsZSwgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbiwgcG9zaXRpb24sIHR5cGUsIGZ1bGxTaXplLCBsYWJlbCwgbGFiZWxGb250U2l6ZSwgbGFiZWxNYXJnaW4sIGdyaWRMaW5lLCB0aWNrTGluZSwgZG9tYWluTGluZSwgbWluTWF4VGlja3NPbmx5LCB0aWNrRm9ybWF0LCB0aWNrVmFsdWVzLCBudW1UaWNrcywgdGlja1RleHRGaXRNb2RlLCB0aWNrVGV4dFdpZHRoLCB0aWNrVGV4dFNlcGFyYXRvciwgdGlja1RleHRGb3JjZVdvcmRCcmVhaywgdGlja1RleHRUcmltVHlwZSwgdGlja1RleHRGb250U2l6ZSwgdGlja1RleHRBbGlnbiwgdGlja1BhZGRpbmcgfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHgsIHksIGlkLCBjb2xvciwgeFNjYWxlLCB5U2NhbGUsIGV4Y2x1ZGVGcm9tRG9tYWluQ2FsY3VsYXRpb24sIHBvc2l0aW9uLCB0eXBlLCBmdWxsU2l6ZSwgbGFiZWwsIGxhYmVsRm9udFNpemUsIGxhYmVsTWFyZ2luLCBncmlkTGluZSwgdGlja0xpbmUsIGRvbWFpbkxpbmUsIG1pbk1heFRpY2tzT25seSwgdGlja0Zvcm1hdCwgdGlja1ZhbHVlcywgbnVtVGlja3MsIHRpY2tUZXh0Rml0TW9kZSwgdGlja1RleHRXaWR0aCwgdGlja1RleHRTZXBhcmF0b3IsIHRpY2tUZXh0Rm9yY2VXb3JkQnJlYWssIHRpY2tUZXh0VHJpbVR5cGUsIHRpY2tUZXh0Rm9udFNpemUsIHRpY2tUZXh0QWxpZ24sIHRpY2tQYWRkaW5nIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4pW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9heGlzL2F4aXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBYUwsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQWtKM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FB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QXJCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAhISEgVGhpcyBjb2RlIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZC4gWW91IHNob3VsZCBub3QgY2hhbmdlIGl0ICEhIVxuaW1wb3J0IHsgQ29tcG9uZW50LCBBZnRlclZpZXdJbml0LCBJbnB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBBeGlzLFxuICBBeGlzQ29uZmlnSW50ZXJmYWNlLFxuICBDb250YWluZXJDb3JlLFxuICBWaXNFdmVudFR5cGUsXG4gIFZpc0V2ZW50Q2FsbGJhY2ssXG4gIE51bWVyaWNBY2Nlc3NvcixcbiAgQ29sb3JBY2Nlc3NvcixcbiAgQ29udGludW91c1NjYWxlLFxuICBQb3NpdGlvbixcbiAgQXhpc1R5cGUsXG4gIEZpdE1vZGUsXG4gIFRyaW1Nb2RlLFxuICBUZXh0QWxpZ24sXG59IGZyb20gJ0B1bm92aXMvdHMnXG5pbXBvcnQgeyBWaXNYWUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1heGlzJyxcbiAgdGVtcGxhdGU6ICcnLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNYWUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFZpc0F4aXNDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0F4aXNDb21wb25lbnQ8RGF0dW0+IGltcGxlbWVudHMgQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4sIEFmdGVyVmlld0luaXQge1xuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogQWNjZXNzb3IgZnVuY3Rpb24gZm9yIGdldHRpbmcgdGhlIHZhbHVlcyBhbG9uZyB0aGUgWCBheGlzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB4OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIEEgc2luZ2xlIG9mIG11bHRpcGxlIGFjY2Vzc29yIGZ1bmN0aW9ucyBmb3IgZ2V0dGluZyB0aGUgdmFsdWVzIGFsb25nIHRoZSBZIGF4aXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHk6IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT4gfCBOdW1lcmljQWNjZXNzb3I8RGF0dW0+W11cblxuICAvKiogQWNjZXNzb3IgZnVuY3Rpb24gZm9yIGdldHRpbmcgdGhlIHVuaXF1ZSBkYXRhIHJlY29yZCBpZC4gVXNlZCBmb3IgbW9yZSBwZXJzaXN0ZW50IGRhdGEgdXBkYXRlcy4gRGVmYXVsdDogYChkLCBpKSA9PiBkLmlkID8/IGlgICovXG4gIEBJbnB1dCgpIGlkPzogKChkOiBEYXR1bSwgaTogbnVtYmVyLCAuLi5yZXN0KSA9PiBzdHJpbmcpXG5cbiAgLyoqIENvbXBvbmVudCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5jb2xvcmAgKi9cbiAgQElucHV0KCkgY29sb3I/OiBDb2xvckFjY2Vzc29yPERhdHVtPiB8IENvbG9yQWNjZXNzb3I8RGF0dW1bXT5cblxuICAvKiogU2NhbGUgZm9yIFggZGltZW5zaW9uLCBlLmcuIFNjYWxlLnNjYWxlTGluZWFyKCkuIElmIHlvdSBzZXQgeFNjYWxlIHlvdSdsbCBiZSByZXNwb25zaWJsZSBmb3Igc2V0dGluZyBpdCdzIGBkb21haW5gIGFuZCBgcmFuZ2VgIGFzIHdlbGwuXG4gICAqIE9ubHkgY29udGludW91cyBzY2FsZXMgYXJlIHN1cHBvcnRlZC5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeFNjYWxlPzogQ29udGludW91c1NjYWxlXG5cbiAgLyoqIFNjYWxlIGZvciBZIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5zY2FsZUxpbmVhcigpLiBJZiB5b3Ugc2V0IHlTY2FsZSB5b3UnbGwgYmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgaXQncyBgZG9tYWluYCBhbmQgYHJhbmdlYCBhcyB3ZWxsLlxuICAgKiBPbmx5IGNvbnRpbnVvdXMgc2NhbGVzIGFyZSBzdXBwb3J0ZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHlTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuXG4gIC8qKiBJZGVudGlmaWVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBvdmVyYWxsIFggYW5kIFkgZG9tYWluIGNhbGN1bGF0aW9ucyBvciBub3QuXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHBhc3MgaW5kaXZpZHVhbCBkYXRhIHRvIGEgY29tcG9uZW50IGFuZCB5b3UgZG9uJ3Qgd2FudCBpdCB0byBhZmZlY3RcbiAgICogdGhlIHNjYWxlcyBvZiB0aGUgY2hhcnQuXG4gICAqIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbj86IGJvb2xlYW5cblxuICAvKiogQXhpcyBwb3NpdGlvbjogYFBvc2l0aW9uLlRvcGAsIGBQb3NpdGlvbi5Cb3R0b21gLCBgUG9zaXRpb24uUmlnaHRgIG9yIGBQb3NpdGlvbi5MZWZ0YC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgcG9zaXRpb24/OiBQb3NpdGlvbiB8IHN0cmluZ1xuXG4gIC8qKiBBeGlzIHR5cGU6IGBBeGlzVHlwZS5YYCBvciBgQXhpc1R5cGUuWWAgKi9cbiAgQElucHV0KCkgdHlwZT86IEF4aXNUeXBlIHwgc3RyaW5nXG5cbiAgLyoqIEV4dGVuZCB0aGUgYXhpcyBkb21haW4gbGluZSB0byBiZSBmdWxsIHdpZHRoIG9yIGZ1bGwgaGVpZ2h0LiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgZnVsbFNpemU/OiBib29sZWFuXG5cbiAgLyoqIEF4aXMgbGFiZWwuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG5cbiAgLyoqIEZvbnQgc2l6ZSBvZiB0aGUgYXhpcyBsYWJlbCBhcyBDU1Mgc3RyaW5nLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgbGFiZWxGb250U2l6ZT86IHN0cmluZyB8IG51bGxcblxuICAvKiogRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXhpcyBhbmQgdGhlIGxhYmVsIGluIHBpeGVscy4gRGVmYXVsdDogYDhgICovXG4gIEBJbnB1dCgpIGxhYmVsTWFyZ2luPzogbnVtYmVyXG5cbiAgLyoqIFNldHMgd2hldGhlciB0byBkcmF3IHRoZSBncmlkIGxpbmVzIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGdyaWRMaW5lPzogYm9vbGVhblxuXG4gIC8qKiBTZXRzIHdoZXRoZXIgdG8gZHJhdyB0aGUgdGljayBsaW5lcyBvciBub3QuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSB0aWNrTGluZT86IGJvb2xlYW5cblxuICAvKiogU2V0cyB3aGV0aGVyIHRvIGRyYXcgdGhlIGRvbWFpbiBsaW5lIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGRvbWFpbkxpbmU/OiBib29sZWFuXG5cbiAgLyoqIERyYXcgdGhlIG1pbiBhbmQgbWF4IGF4aXMgdGlja3Mgb25seS4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBtaW5NYXhUaWNrc09ubHk/OiBib29sZWFuXG5cbiAgLyoqIFRpY2sgbGFiZWwgZm9ybWF0dGVyIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB0aWNrRm9ybWF0PzogKCh0aWNrOiBudW1iZXIsIGk6IG51bWJlciwgdGlja3M6IG51bWJlcltdKSA9PiBzdHJpbmcpIHwgKCh0aWNrOiBEYXRlLCBpOiBudW1iZXIsIHRpY2tzOiBEYXRlW10pID0+IHN0cmluZylcblxuICAvKiogRXhwbGljaXRseSBzZXQgdGljayB2YWx1ZXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tWYWx1ZXM/OiBudW1iZXJbXVxuXG4gIC8qKiBTZXQgdGhlIGFwcHJveGltYXRlIG51bWJlciBvZiBheGlzIHRpY2tzICh3aWxsIGJlIHBhc3NlZCB0byBEMydzIGF4aXMgY29uc3RydWN0b3IpLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBudW1UaWNrcz86IG51bWJlclxuXG4gIC8qKiBUaWNrIHRleHQgZml0IG1vZGU6IGBGaXRNb2RlLldyYXBgIG9yIGBGaXRNb2RlLlRyaW1gLiBEZWZhdWx0OiBgRml0TW9kZS5XcmFwYC4gKi9cbiAgQElucHV0KCkgdGlja1RleHRGaXRNb2RlPzogRml0TW9kZSB8IHN0cmluZ1xuXG4gIC8qKiBNYXhpbXVtIHdpZHRoIGluIHBpeGVscyBmb3IgdGhlIHRpY2sgdGV4dCB0byBiZSB3cmFwcGVkIG9yIHRyaW1tZWQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0V2lkdGg/OiBudW1iZXJcblxuICAvKiogVGljayB0ZXh0IHdyYXBwaW5nIHNlcGFyYXRvci4gU3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRpY2tUZXh0U2VwYXJhdG9yPzogc3RyaW5nIHwgc3RyaW5nW11cblxuICAvKiogRm9yY2Ugd29yZCBicmVhayBmb3IgdGlja3Mgd2hlbiB0aGV5IGRvbid0IGZpdC4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEZvcmNlV29yZEJyZWFrPzogYm9vbGVhblxuXG4gIC8qKiBUaWNrIHRleHQgdHJpbSBtb2RlOiBgVHJpbU1vZGUuU3RhcnRgLCBgVHJpbU1vZGUuTWlkZGxlYCBvciBgVHJpbU1vZGUuRW5kYC4gRGVmYXVsdDogYFRyaW1Nb2RlLk1pZGRsZWAgKi9cbiAgQElucHV0KCkgdGlja1RleHRUcmltVHlwZT86IFRyaW1Nb2RlIHwgc3RyaW5nXG5cbiAgLyoqIEZvbnQgc2l6ZSBvZiB0aGUgdGljayB0ZXh0IGFzIENTUyBzdHJpbmcuIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSB0aWNrVGV4dEZvbnRTaXplPzogc3RyaW5nIHwgbnVsbFxuXG4gIC8qKiBUZXh0IGFsaWdubWVudCBmb3IgdGlja3M6IGBUZXh0QWxpZ24uTGVmdGAsIGBUZXh0QWxpZ24uQ2VudGVyYCBvciBgVGV4dEFsaWduLlJpZ2h0YC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdGlja1RleHRBbGlnbj86IFRleHRBbGlnbiB8IHN0cmluZ1xuXG4gIC8qKiBUaGUgc3BhY2luZyBpbiBwaXhlbHMgYmV0d2VlbiB0aGUgdGljayBhbmQgaXQncyBsYWJlbC4gRGVmYXVsdDogYDhgICovXG4gIEBJbnB1dCgpIHRpY2tQYWRkaW5nPzogbnVtYmVyXG4gIEBJbnB1dCgpIGRhdGE6IERhdHVtW11cblxuICBjb21wb25lbnQ6IEF4aXM8RGF0dW0+IHwgdW5kZWZpbmVkXG4gIHB1YmxpYyBjb21wb25lbnRDb250YWluZXI6IENvbnRhaW5lckNvcmUgfCB1bmRlZmluZWRcblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50ID0gbmV3IEF4aXM8RGF0dW0+KHRoaXMuZ2V0Q29uZmlnKCkpXG5cbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC5zZXREYXRhKHRoaXMuZGF0YSlcbiAgICAgIHRoaXMuY29tcG9uZW50Q29udGFpbmVyPy5yZW5kZXIoKVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzIChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuZGF0YSkgeyB0aGlzLmNvbXBvbmVudD8uc2V0RGF0YSh0aGlzLmRhdGEpIH1cbiAgICB0aGlzLmNvbXBvbmVudD8uc2V0Q29uZmlnKHRoaXMuZ2V0Q29uZmlnKCkpXG4gICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gIH1cblxuICBwcml2YXRlIGdldENvbmZpZyAoKTogQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4ge1xuICAgIGNvbnN0IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgeCwgeSwgaWQsIGNvbG9yLCB4U2NhbGUsIHlTY2FsZSwgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbiwgcG9zaXRpb24sIHR5cGUsIGZ1bGxTaXplLCBsYWJlbCwgbGFiZWxGb250U2l6ZSwgbGFiZWxNYXJnaW4sIGdyaWRMaW5lLCB0aWNrTGluZSwgZG9tYWluTGluZSwgbWluTWF4VGlja3NPbmx5LCB0aWNrRm9ybWF0LCB0aWNrVmFsdWVzLCBudW1UaWNrcywgdGlja1RleHRGaXRNb2RlLCB0aWNrVGV4dFdpZHRoLCB0aWNrVGV4dFNlcGFyYXRvciwgdGlja1RleHRGb3JjZVdvcmRCcmVhaywgdGlja1RleHRUcmltVHlwZSwgdGlja1RleHRGb250U2l6ZSwgdGlja1RleHRBbGlnbiwgdGlja1BhZGRpbmcgfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHgsIHksIGlkLCBjb2xvciwgeFNjYWxlLCB5U2NhbGUsIGV4Y2x1ZGVGcm9tRG9tYWluQ2FsY3VsYXRpb24sIHBvc2l0aW9uLCB0eXBlLCBmdWxsU2l6ZSwgbGFiZWwsIGxhYmVsRm9udFNpemUsIGxhYmVsTWFyZ2luLCBncmlkTGluZSwgdGlja0xpbmUsIGRvbWFpbkxpbmUsIG1pbk1heFRpY2tzT25seSwgdGlja0Zvcm1hdCwgdGlja1ZhbHVlcywgbnVtVGlja3MsIHRpY2tUZXh0Rml0TW9kZSwgdGlja1RleHRXaWR0aCwgdGlja1RleHRTZXBhcmF0b3IsIHRpY2tUZXh0Rm9yY2VXb3JkQnJlYWssIHRpY2tUZXh0VHJpbVR5cGUsIHRpY2tUZXh0Rm9udFNpemUsIHRpY2tUZXh0QWxpZ24sIHRpY2tQYWRkaW5nIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgQXhpc0NvbmZpZ0ludGVyZmFjZTxEYXR1bT4pW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=
@@ -26,17 +26,17 @@ export class VisSingleContainerComponent {
26
26
  }
27
27
  getConfig() {
28
28
  var _a, _b;
29
- const { width, height, duration, margin } = this;
29
+ const { width, height, duration, margin, ariaLabel } = this;
30
30
  const component = (_a = this.visComponent) === null || _a === void 0 ? void 0 : _a.component;
31
31
  const tooltip = (_b = this.tooltipComponent) === null || _b === void 0 ? void 0 : _b.component;
32
- return { width, height, duration, margin, component, tooltip };
32
+ return { width, height, duration, margin, component, tooltip, ariaLabel };
33
33
  }
34
34
  ngOnDestroy() {
35
35
  this.chart.destroy();
36
36
  }
37
37
  }
38
38
  VisSingleContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSingleContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- VisSingleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSingleContainerComponent, selector: "vis-single-container", inputs: { width: "width", height: "height", margin: "margin", duration: "duration", data: "data" }, queries: [{ propertyName: "visComponent", first: true, predicate: VisCoreComponent, descendants: true }, { propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-single-container">
39
+ VisSingleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSingleContainerComponent, selector: "vis-single-container", inputs: { width: "width", height: "height", margin: "margin", duration: "duration", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "visComponent", first: true, predicate: VisCoreComponent, descendants: true }, { propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-single-container">
40
40
  <ng-content></ng-content>
41
41
  </div>`, isInline: true, styles: [".unovis-single-container { width: 100%; height: 100%; position: relative; }"] });
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSingleContainerComponent, decorators: [{
@@ -65,7 +65,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
65
65
  type: Input
66
66
  }], duration: [{
67
67
  type: Input
68
+ }], ariaLabel: [{
69
+ type: Input
68
70
  }], data: [{
69
71
  type: Input
70
72
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29udGFpbmVycy9zaW5nbGUtY29udGFpbmVyL3NpbmdsZS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE2QixLQUFLLEVBQTRCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU5SCxNQUFNO0FBQ04sT0FBTyxFQUFpQixlQUFlLEVBQW9ELE1BQU0sWUFBWSxDQUFBO0FBQzdHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTs7QUFTaEYsTUFBTSxPQUFPLDJCQUEyQjtJQVB4QztRQWlCRSxtRUFBbUU7UUFDMUQsV0FBTSxHQUFhLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFBO0tBb0N6RTtJQTdCQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BHLHVGQUF1RjtRQUN2RixJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDbkQsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjs7UUFDakMsaUNBQWlDO1FBQ2pDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ3BDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQTtTQUNwQjtRQUVELDhCQUE4QjtRQUM5QixNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsU0FBUzs7UUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBRWhELE1BQU0sU0FBUyxHQUFHLE1BQUEsSUFBSSxDQUFDLFlBQVksMENBQUUsU0FBYyxDQUFBO1FBQ25ELE1BQU0sT0FBTyxHQUFHLE1BQUEsSUFBSSxDQUFDLGdCQUFnQiwwQ0FBRSxTQUFvQixDQUFBO1FBRTNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFBO0lBQ2hFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN0QixDQUFDOzt5SEE5Q1UsMkJBQTJCOzZHQUEzQiwyQkFBMkIsME1BRXhCLGdCQUFnQixtRkFDaEIsbUJBQW1CLGdMQVJ2Qjs7U0FFSDs0RkFHSSwyQkFBMkI7a0JBUHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFOztTQUVIO29CQUNQLE1BQU0sRUFBRSxDQUFDLDZFQUE2RSxDQUFDO2lCQUN4Rjs4QkFFNEMsWUFBWTtzQkFBdEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNULFlBQVk7c0JBQTNDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNLLGdCQUFnQjtzQkFBbEQsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBR3hCLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIElucHV0LCBPbkRlc3Ryb3ksIFNpbXBsZUNoYW5nZXMsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbi8vIFZpc1xuaW1wb3J0IHsgQ29tcG9uZW50Q29yZSwgU2luZ2xlQ29udGFpbmVyLCBTaW5nbGVDb250YWluZXJDb25maWdJbnRlcmZhY2UsIFRvb2x0aXAsIFNwYWNpbmcgfSBmcm9tICdAdW5vdmlzL3RzJ1xuaW1wb3J0IHsgVmlzQ29yZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5pbXBvcnQgeyBWaXNUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50J1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXMtc2luZ2xlLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlOiBgPGRpdiAjY29udGFpbmVyIGNsYXNzPVwidW5vdmlzLXNpbmdsZS1jb250YWluZXJcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PmAsXG4gIHN0eWxlczogWycudW5vdmlzLXNpbmdsZS1jb250YWluZXIgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBwb3NpdGlvbjogcmVsYXRpdmU7IH0nXSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzU2luZ2xlQ29udGFpbmVyQ29tcG9uZW50PERhdGEgPSB1bmtub3duLCBDIGV4dGVuZHMgQ29tcG9uZW50Q29yZTxEYXRhPiA9IENvbXBvbmVudENvcmU8RGF0YT4+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRhaW5lclJlZjogRWxlbWVudFJlZlxuICBAQ29udGVudENoaWxkKFZpc0NvcmVDb21wb25lbnQpIHZpc0NvbXBvbmVudDogVmlzQ29yZUNvbXBvbmVudFxuICBAQ29udGVudENoaWxkKFZpc1Rvb2x0aXBDb21wb25lbnQpIHRvb2x0aXBDb21wb25lbnQ6IFZpc1Rvb2x0aXBDb21wb25lbnRcblxuICAvKiogV2lkdGggaW4gcGl4ZWxzLiBCeSBkZWZhdWx0LCBDb250YWluZXIgYXV0b21hdGljYWxseSBmaXRzIHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIHdpZHRoPzogbnVtYmVyXG4gIC8qKiBIZWlnaHQgaW4gcGl4ZWxzLiBCeSBkZWZhdWx0LCBDb250YWluZXIgYXV0b21hdGljYWxseSBmaXRzIHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlclxuXG4gIC8qKiBNYXJnaW5zLiBEZWZhdWx0OiBgeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfWAgKi9cbiAgQElucHV0KCkgbWFyZ2luPzogU3BhY2luZyA9IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9XG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gb2YgYWxsIHRoZSBjb21wb25lbnRzIHdpdGhpbiB0aGUgY29udGFpbmVyLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBkdXJhdGlvbj86IG51bWJlclxuICBASW5wdXQoKSBkYXRhPzogRGF0YVxuXG4gIGNoYXJ0OiBTaW5nbGVDb250YWluZXI8RGF0YT5cblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhcnQgPSBuZXcgU2luZ2xlQ29udGFpbmVyPERhdGE+KHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZ2V0Q29uZmlnKCksIHRoaXMuZGF0YSlcbiAgICAvLyBXZSBwYXNzIHRoZSBjb250YWluZXIgZm9yIHRoZSBjb21wb25lbnQgdG8gdHJpZ2dlciByZS1yZW5kZXIgaWYgdGhlIGRhdGEgaGFzIGNoYW5nZWRcbiAgICB0aGlzLnZpc0NvbXBvbmVudC5jb21wb25lbnRDb250YWluZXIgPSB0aGlzLmNoYXJ0XG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vIFNldCBuZXcgRGF0YSB3aXRob3V0IHJlLXJlbmRlclxuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcbiAgICAgIHRoaXMuY2hhcnQ/LnNldERhdGEodGhpcy5kYXRhLCB0cnVlKVxuICAgICAgZGVsZXRlIGNoYW5nZXMuZGF0YVxuICAgIH1cblxuICAgIC8vIFVwZGF0ZSBDb250YWluZXIgYW5kIHJlbmRlclxuICAgIHRoaXMuY2hhcnQ/LnVwZGF0ZUNvbnRhaW5lcih0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgZ2V0Q29uZmlnICgpOiBTaW5nbGVDb250YWluZXJDb25maWdJbnRlcmZhY2U8RGF0YT4ge1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCwgZHVyYXRpb24sIG1hcmdpbiB9ID0gdGhpc1xuXG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy52aXNDb21wb25lbnQ/LmNvbXBvbmVudCBhcyBDXG4gICAgY29uc3QgdG9vbHRpcCA9IHRoaXMudG9vbHRpcENvbXBvbmVudD8uY29tcG9uZW50IGFzIFRvb2x0aXBcblxuICAgIHJldHVybiB7IHdpZHRoLCBoZWlnaHQsIGR1cmF0aW9uLCBtYXJnaW4sIGNvbXBvbmVudCwgdG9vbHRpcCB9XG4gIH1cblxuICBuZ09uRGVzdHJveSAoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFydC5kZXN0cm95KClcbiAgfVxufVxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29udGFpbmVycy9zaW5nbGUtY29udGFpbmVyL3NpbmdsZS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE2QixLQUFLLEVBQTRCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU5SCxNQUFNO0FBQ04sT0FBTyxFQUFpQixlQUFlLEVBQW9ELE1BQU0sWUFBWSxDQUFBO0FBQzdHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTs7QUFTaEYsTUFBTSxPQUFPLDJCQUEyQjtJQVB4QztRQWlCRSxtRUFBbUU7UUFDMUQsV0FBTSxHQUFhLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFBO0tBeUN6RTtJQTdCQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BHLHVGQUF1RjtRQUN2RixJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDbkQsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjs7UUFDakMsaUNBQWlDO1FBQ2pDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ3BDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQTtTQUNwQjtRQUVELDhCQUE4QjtRQUM5QixNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsU0FBUzs7UUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUUzRCxNQUFNLFNBQVMsR0FBRyxNQUFBLElBQUksQ0FBQyxZQUFZLDBDQUFFLFNBQWMsQ0FBQTtRQUNuRCxNQUFNLE9BQU8sR0FBRyxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsMENBQUUsU0FBb0IsQ0FBQTtRQUUzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUE7SUFDM0UsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3RCLENBQUM7O3lIQW5EVSwyQkFBMkI7NkdBQTNCLDJCQUEyQixrT0FFeEIsZ0JBQWdCLG1GQUNoQixtQkFBbUIsZ0xBUnZCOztTQUVIOzRGQUdJLDJCQUEyQjtrQkFQdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7O1NBRUg7b0JBQ1AsTUFBTSxFQUFFLENBQUMsNkVBQTZFLENBQUM7aUJBQ3hGOzhCQUU0QyxZQUFZO3NCQUF0RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ1QsWUFBWTtzQkFBM0MsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBQ0ssZ0JBQWdCO3NCQUFsRCxZQUFZO3VCQUFDLG1CQUFtQjtnQkFHeEIsS0FBSztzQkFBYixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBJbnB1dCwgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG4vLyBWaXNcbmltcG9ydCB7IENvbXBvbmVudENvcmUsIFNpbmdsZUNvbnRhaW5lciwgU2luZ2xlQ29udGFpbmVyQ29uZmlnSW50ZXJmYWNlLCBUb29sdGlwLCBTcGFjaW5nIH0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc0NvcmVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuaW1wb3J0IHsgVmlzVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLXNpbmdsZS1jb250YWluZXInLFxuICB0ZW1wbGF0ZTogYDxkaXYgI2NvbnRhaW5lciBjbGFzcz1cInVub3Zpcy1zaW5nbGUtY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5gLFxuICBzdHlsZXM6IFsnLnVub3Zpcy1zaW5nbGUtY29udGFpbmVyIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcG9zaXRpb246IHJlbGF0aXZlOyB9J10sXG59KVxuZXhwb3J0IGNsYXNzIFZpc1NpbmdsZUNvbnRhaW5lckNvbXBvbmVudDxEYXRhID0gdW5rbm93biwgQyBleHRlbmRzIENvbXBvbmVudENvcmU8RGF0YT4gPSBDb21wb25lbnRDb3JlPERhdGE+PiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWZcbiAgQENvbnRlbnRDaGlsZChWaXNDb3JlQ29tcG9uZW50KSB2aXNDb21wb25lbnQ6IFZpc0NvcmVDb21wb25lbnRcbiAgQENvbnRlbnRDaGlsZChWaXNUb29sdGlwQ29tcG9uZW50KSB0b29sdGlwQ29tcG9uZW50OiBWaXNUb29sdGlwQ29tcG9uZW50XG5cbiAgLyoqIFdpZHRoIGluIHBpeGVscy4gQnkgZGVmYXVsdCwgQ29udGFpbmVyIGF1dG9tYXRpY2FsbHkgZml0cyB0byB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGVsZW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSB3aWR0aD86IG51bWJlclxuICAvKiogSGVpZ2h0IGluIHBpeGVscy4gQnkgZGVmYXVsdCwgQ29udGFpbmVyIGF1dG9tYXRpY2FsbHkgZml0cyB0byB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGVsZW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSBoZWlnaHQ/OiBudW1iZXJcblxuICAvKiogTWFyZ2lucy4gRGVmYXVsdDogYHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH1gICovXG4gIEBJbnB1dCgpIG1hcmdpbj86IFNwYWNpbmcgPSB7IHRvcDogMTAsIGJvdHRvbTogMTAsIGxlZnQ6IDEwLCByaWdodDogMTAgfVxuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIGFsbCB0aGUgY29tcG9uZW50cyB3aXRoaW4gdGhlIGNvbnRhaW5lci4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXJcbiAgLyoqIEFsdGVybmF0aXZlIHRleHQgZGVzY3JpcHRpb24gb2YgdGhlIGNoYXJ0IGZvciBhY2Nlc3NpYmlsaXR5IHB1cnBvc2VzLiBJdCB3aWxsIGJlIGFwcGxpZWQgYXMgYW5cbiAgICogYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSB0byB0aGUgZGl2IGVsZW1lbnQgY29udGFpbmluZyB5b3VyIGNoYXJ0LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC5cbiAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuICAvKiogRGF0YSB0byBiZSBwYXNzZWQgdG8gdGhlIGNvbXBvbmVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIGRhdGE/OiBEYXRhXG5cbiAgY2hhcnQ6IFNpbmdsZUNvbnRhaW5lcjxEYXRhPlxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFydCA9IG5ldyBTaW5nbGVDb250YWluZXI8RGF0YT4odGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5nZXRDb25maWcoKSwgdGhpcy5kYXRhKVxuICAgIC8vIFdlIHBhc3MgdGhlIGNvbnRhaW5lciBmb3IgdGhlIGNvbXBvbmVudCB0byB0cmlnZ2VyIHJlLXJlbmRlciBpZiB0aGUgZGF0YSBoYXMgY2hhbmdlZFxuICAgIHRoaXMudmlzQ29tcG9uZW50LmNvbXBvbmVudENvbnRhaW5lciA9IHRoaXMuY2hhcnRcbiAgfVxuXG4gIG5nT25DaGFuZ2VzIChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8gU2V0IG5ldyBEYXRhIHdpdGhvdXQgcmUtcmVuZGVyXG4gICAgaWYgKGNoYW5nZXMuZGF0YSkge1xuICAgICAgdGhpcy5jaGFydD8uc2V0RGF0YSh0aGlzLmRhdGEsIHRydWUpXG4gICAgICBkZWxldGUgY2hhbmdlcy5kYXRhXG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIENvbnRhaW5lciBhbmQgcmVuZGVyXG4gICAgdGhpcy5jaGFydD8udXBkYXRlQ29udGFpbmVyKHRoaXMuZ2V0Q29uZmlnKCkpXG4gIH1cblxuICBnZXRDb25maWcgKCk6IFNpbmdsZUNvbnRhaW5lckNvbmZpZ0ludGVyZmFjZTxEYXRhPiB7XG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0LCBkdXJhdGlvbiwgbWFyZ2luLCBhcmlhTGFiZWwgfSA9IHRoaXNcblxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMudmlzQ29tcG9uZW50Py5jb21wb25lbnQgYXMgQ1xuICAgIGNvbnN0IHRvb2x0aXAgPSB0aGlzLnRvb2x0aXBDb21wb25lbnQ/LmNvbXBvbmVudCBhcyBUb29sdGlwXG5cbiAgICByZXR1cm4geyB3aWR0aCwgaGVpZ2h0LCBkdXJhdGlvbiwgbWFyZ2luLCBjb21wb25lbnQsIHRvb2x0aXAsIGFyaWFMYWJlbCB9XG4gIH1cblxuICBuZ09uRGVzdHJveSAoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFydC5kZXN0cm95KClcbiAgfVxufVxuIl19
@@ -52,7 +52,7 @@ export class VisXYContainerComponent {
52
52
  }
53
53
  getConfig() {
54
54
  var _a;
55
- const { duration, margin, padding, scaleByDomain, autoMargin, width, height, xScale, xDomain, xDomainMinConstraint, xDomainMaxConstraint, xRange, yScale, yDomain, yDomainMinConstraint, yDomainMaxConstraint, yRange, yDirection, } = this;
55
+ const { duration, margin, padding, scaleByDomain, autoMargin, width, height, xScale, xDomain, xDomainMinConstraint, xDomainMaxConstraint, xRange, yScale, yDomain, yDomainMinConstraint, yDomainMaxConstraint, yRange, yDirection, ariaLabel, } = this;
56
56
  const visComponents = this.visComponents.toArray().map(d => d.component);
57
57
  const crosshair = visComponents.find(c => c instanceof Crosshair);
58
58
  const tooltip = (_a = this.tooltipComponent) === null || _a === void 0 ? void 0 : _a.component;
@@ -83,6 +83,7 @@ export class VisXYContainerComponent {
83
83
  yDomainMaxConstraint,
84
84
  yRange,
85
85
  yDirection,
86
+ ariaLabel,
86
87
  };
87
88
  }
88
89
  passContainerReferenceToChildren() {
@@ -96,7 +97,7 @@ export class VisXYContainerComponent {
96
97
  }
97
98
  }
98
99
  VisXYContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisXYContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
99
- VisXYContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisXYContainerComponent, selector: "vis-xy-container", inputs: { width: "width", height: "height", xScale: "xScale", xDomain: "xDomain", xDomainMinConstraint: "xDomainMinConstraint", xDomainMaxConstraint: "xDomainMaxConstraint", xRange: "xRange", yScale: "yScale", yDomain: "yDomain", yDomainMinConstraint: "yDomainMinConstraint", yDomainMaxConstraint: "yDomainMaxConstraint", yRange: "yRange", yDirection: "yDirection", duration: "duration", margin: "margin", padding: "padding", scaleByDomain: "scaleByDomain", autoMargin: "autoMargin", data: "data" }, queries: [{ propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "visComponents", predicate: VisXYComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-xy-container">
100
+ VisXYContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisXYContainerComponent, selector: "vis-xy-container", inputs: { width: "width", height: "height", xScale: "xScale", xDomain: "xDomain", xDomainMinConstraint: "xDomainMinConstraint", xDomainMaxConstraint: "xDomainMaxConstraint", xRange: "xRange", yScale: "yScale", yDomain: "yDomain", yDomainMinConstraint: "yDomainMinConstraint", yDomainMaxConstraint: "yDomainMaxConstraint", yRange: "yRange", yDirection: "yDirection", duration: "duration", margin: "margin", padding: "padding", scaleByDomain: "scaleByDomain", autoMargin: "autoMargin", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "visComponents", predicate: VisXYComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-xy-container">
100
101
  <ng-content></ng-content>
101
102
  </div>`, isInline: true, styles: [".unovis-xy-container { width: 100%; height: 100%; position: relative; }"] });
102
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisXYContainerComponent, decorators: [{
@@ -153,7 +154,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
153
154
  type: Input
154
155
  }], autoMargin: [{
155
156
  type: Input
157
+ }], ariaLabel: [{
158
+ type: Input
156
159
  }], data: [{
157
160
  type: Input
158
161
  }] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb250YWluZXJzL3h5LWNvbnRhaW5lci94eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFFZixLQUFLLEVBSUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE1BQU07QUFDTixPQUFPLEVBQUUsSUFBSSxFQUFtQixTQUFTLEVBQUUsU0FBUyxFQUFXLE9BQU8sRUFBRSxXQUFXLEVBQThCLE1BQU0sWUFBWSxDQUFBO0FBQ25JLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUE7O0FBU2hGLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUEyQ0U7Ozs7O2tDQUswQjtRQUNqQix5QkFBb0IsR0FBOEMsU0FBUyxDQUFBO1FBV3BGLG1EQUFtRDtRQUMxQyxlQUFVLEdBQWdELFNBQVMsQ0FBQyxLQUFLLENBQUE7UUFFbEYsMEZBQTBGO1FBQ2pGLGFBQVEsR0FBWSxTQUFTLENBQUE7UUFDdEMsbUVBQW1FO1FBQzFELFdBQU0sR0FBYSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQTtRQUN4RSxtRUFBbUU7UUFDMUQsWUFBTyxHQUFhLEVBQUUsQ0FBQTtRQUcvQixvR0FBb0c7UUFDM0YsZUFBVSxHQUFhLElBQUksQ0FBQTtRQUVwQzs4REFDc0Q7UUFDN0MsU0FBSSxHQUF5QixTQUFTLENBQUE7S0FnRmhEO0lBNUVDLGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksV0FBVyxDQUFRLElBQUksQ0FBQyxZ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QWYsS0FBSztnQkFPRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBT0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbi8vIFZpc1xuaW1wb3J0IHsgQXhpcywgQ29udGludW91c1NjYWxlLCBDcm9zc2hhaXIsIERpcmVjdGlvbiwgU3BhY2luZywgVG9vbHRpcCwgWFlDb250YWluZXIsIFhZQ29udGFpbmVyQ29uZmlnSW50ZXJmYWNlIH0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc1hZQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcbmltcG9ydCB7IFZpc1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy14eS1jb250YWluZXInLFxuICB0ZW1wbGF0ZTogYDxkaXYgI2NvbnRhaW5lciBjbGFzcz1cInVub3Zpcy14eS1jb250YWluZXJcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PmAsXG4gIHN0eWxlczogWycudW5vdmlzLXh5LWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfSddLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNYWUNvbnRhaW5lckNvbXBvbmVudDxEYXR1bT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGFpbmVyUmVmOiBFbGVtZW50UmVmXG4gIEBDb250ZW50Q2hpbGRyZW4oVmlzWFlDb21wb25lbnQpIHZpc0NvbXBvbmVudHM6IFF1ZXJ5TGlzdDxWaXNYWUNvbXBvbmVudD5cbiAgQENvbnRlbnRDaGlsZChWaXNUb29sdGlwQ29tcG9uZW50KSB0b29sdGlwQ29tcG9uZW50OiBWaXNUb29sdGlwQ29tcG9uZW50XG5cbiAgLyoqIFdpZHRoIGluIHBpeGVscy4gQnkgZGVmYXVsdCwgQ29udGFpbmVyIGF1dG9tYXRpY2FsbHkgZml0cyB0byB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGVsZW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSB3aWR0aD86IG51bWJlclxuICAvKiogSGVpZ2h0IGluIHBpeGVscy4gQnkgZGVmYXVsdCwgQ29udGFpbmVyIGF1dG9tYXRpY2FsbHkgZml0cyB0byB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGVsZW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSBoZWlnaHQ/OiBudW1iZXJcblxuICAvKiogU2NhbGUgZm9yIFggZGltZW5zaW9uLCBlLmcuIFNjYWxlLnNjYWxlTGluZWFyKCkuIERlZmF1bHQ6IGBTY2FsZS5zY2FsZUxpbmVhcigpYCAqL1xuICBASW5wdXQoKSB4U2NhbGU/OiBDb250aW51b3VzU2NhbGVcbiAgLyoqIFNjYWxlIGRvbWFpbiAoZGF0YSBleHRlbnQpIGZvciBYIGRpbWVuc2lvbi4gQnkgZGVmYXVsdCB0aGlzIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiBkYXRhLiAqL1xuICBASW5wdXQoKSB4RG9tYWluPzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXVxuICAvKiogQ29uc3RyYWludCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgWCBzY2FsZSBkb21haW4uIFVzZWZ1bCB3aGVuIHRoZSBkYXRhIGlzIHBsb3R0ZWQgYWxvbmcgdGhlIFggYXhpcy5cbiAgICogRm9yIGV4YW1wbGUsIGltYWdpbmUgdGhhdCB5b3UgaGF2ZSBhIGNoYXJ0IHdpdGggZHluYW1pYyBkYXRhIHRoYXQgaGFzIG5lZ2F0aXZlIHZhbHVlcy4gV2hlbiB2YWx1ZXMgYXJlIHNtYWxsXG4gICAqIChsZXQncyBzYXkgaW4gdGhlIHJhbmdlIG9mIFstMC4wMSwgMF0pLCB5b3UgbWlnaHQgc3RpbGwgd2FudCB0aGUgY2hhcnQgdG8gZGlzcGxheSBzb21lIG1lYW5pbmdmdWwgdmFsdWUgcmFuZ2UgKGUuZy4gWy0xLCAwXSkuIFRoYXQgY2FuXG4gICAqIGJlIGFjaGlldmVkIGJ5IHNldHRpbmcgYHhEb21haW5NaW5Db25zdHJhaW50YCB0byBgW3VuZGVmaW5lZCwgLTFdYC4gSW4gYWRkaXRpb24gdG8gdGhhdCwgaWYgeW91IHdhbnQgdG8gY3V0IG9mZiB0aGVcbiAgICogdmFsdWVzIHRoYXQgYXJlIHRvbyBsb3cgKGxldCdzIHNheSBsb3dlciB0aGFuIC0xMDApLCB5b3UgY2FuIHNldCB0aGUgY29uc3RyYWludCB0byBgWy0xMDAsIC0xXWBcbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeERvbWFpbk1pbkNvbnN0cmFpbnQ/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdXG4gIC8qKiBDb25zdHJhaW50IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBYIHNjYWxlIGRvbWFpbi4gVXNlZnVsIHdoZW4gdGhlIGRhdGEgaXMgcGxvdHRlZCBhbG9uZyB0aGUgWCBheGlzLlxuICAgKiBGb3IgZXhhbXBsZSwgaW1hZ2luZSB0aGF0IHlvdSBoYXZlIGEgY2hhcnQgd2l0aCBkeW5hbWljIGRhdGEuIFdoZW4gdmFsdWVzIGFyZSBzbWFsbFxuICAgKiAobGV0J3Mgc2F5IDwgMC4wMSksIHlvdSBtaWdodCBzdGlsbCB3YW50IHRoZSBjaGFydCB0byBkaXNwbGF5IHNvbWUgbWVhbmluZ2Z1bCB2YWx1ZSByYW5nZSAoZS5nLiBbMCwgMV0pLiBUaGF0IGNhblxuICAgKiBiZSBhY2hpZXZlZCBieSBzZXR0aW5nIGB4RG9tYWluTWF4Q29uc3RyYWludGAgdG8gYFsxLCB1bmRlZmluZWRdYC4gSW4gYWRkaXRpb24gdG8gdGhhdCwgaWYgeW91IHdhbnQgdG8gY3V0IG9mZiB0aGVcbiAgICogdmFsdWVzIHRoYXQgYXJlIHRvbyBoaWdoIChsZXQncyBzYXkgaGlnaGVyIHRoYW4gMTAwKSwgeW91IGNhbiBzZXQgdGhlIGNvbnN0cmFpbnQgdG8gYFsxLCAxMDBdYFxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB4RG9tYWluTWF4Q29uc3RyYWludD86IFtudW1iZXIgfCB1bmRlZmluZWQsIG51bWJlciB8IHVuZGVmaW5lZF1cbiAgLyoqIEZvcmNlIHNldCB0aGUgWCBzY2FsZSByYW5nZSAoaW4gdGhlIHNjcmVlbiBzcGFjZSkuIEJ5IGRlZmF1bHQgdGhlIHJhbmdlIGlzIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiB0aGVcbiAgICogY2hhcnQncyBzZXQgdXAgKi9cbiAgQElucHV0KCkgeFJhbmdlPzogW251bWJlciwgbnVtYmVyXVxuXG4gIC8qKiBTY2FsZSBmb3IgWSBkaW1lbnNpb24sIGUuZy4gU2NhbGUuU2NhbGVMaW5lYXIuIERlZmF1bHQ6IGBTY2FsZS5TY2FsZUxpbmVhcigpYCAqL1xuICBASW5wdXQoKSB5U2NhbGU/OiBDb250aW51b3VzU2NhbGVcbiAgLyoqIFNjYWxlIGRvbWFpbiAoZGF0YSBleHRlbnQpIGZvciBZIGRpbWVuc2lvbi4gQnkgZGVmYXVsdCB0aGlzIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiBkYXRhLiAqL1xuICBASW5wdXQoKSB5RG9tYWluPzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXVxuICAvKiogQ29uc3RyYWludCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgWSBzY2FsZSBkb21haW4uXG4gICAqIEZvciBleGFtcGxlLCBpbWFnaW5lIHRoYXQgeW91IGhhdmUgYSBjaGFydCB3aXRoIGR5bmFtaWMgZGF0YSB0aGF0IGhhcyBuZWdhdGl2ZSB2YWx1ZXMuIFdoZW4gdmFsdWVzIGFyZSBzbWFsbFxuICAgKiAobGV0J3Mgc2F5IGluIHRoZSByYW5nZSBvZiBbLTAuMDEsIDBdKSwgeW91IG1pZ2h0IHN0aWxsIHdhbnQgdGhlIGNoYXJ0IHRvIGRpc3BsYXkgc29tZSBtZWFuaW5nZnVsIHZhbHVlIHJhbmdlIChlLmcuIFstMSwgMF0pLiBUaGF0IGNhblxuICAgKiBiZSBhY2hpZXZlZCBieSBzZXR0aW5nIGB5RG9tYWluTWluQ29uc3RyYWludGAgdG8gYFt1bmRlZmluZWQsIC0xXWAuIEluIGFkZGl0aW9uIHRvIHRoYXQsIGlmIHlvdSB3YW50IHRvIGN1dCBvZmYgdGhlXG4gICAqIHZhbHVlcyB0aGF0IGFyZSB0b28gbG93IChsZXQncyBzYXkgbG93ZXIgdGhhbiAtMTAwKSwgeW91IGNhbiBzZXQgdGhlIGNvbnN0cmFpbnQgdG8gYFstMTAwLCAtMV1gXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHlEb21haW5NaW5Db25zdHJhaW50PzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXSA9IHVuZGVmaW5lZFxuICAvKiogQ29uc3RyYWludCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgWSBzY2FsZSBkb21haW4uXG4gICAqIEZvciBleGFtcGxlLCBpbWFnaW5lIHRoYXQgeW91IGhhdmUgYSBjaGFydCB3aXRoIGR5bmFtaWMgZGF0YS4gV2hlbiB2YWx1ZXMgYXJlIHNtYWxsXG4gICAqIChsZXQncyBzYXkgPCAwLjAxKSwgeW91IG1pZ2h0IHN0aWxsIHdhbnQgdGhlIGNoYXJ0IHRvIGRpc3BsYXkgc29tZSBtZWFuaW5nZnVsIHZhbHVlIHJhbmdlIChlLmcuIFswLCAxXSkuIFRoYXQgY2FuXG4gICAqIGJlIGFjaGlldmVkIGJ5IHNldHRpbmcgYHlEb21haW5NYXhDb25zdHJhaW50YCB0byBgWzEsIHVuZGVmaW5lZF1gLiBJbiBhZGRpdGlvbiB0byB0aGF0LCBpZiB5b3Ugd2FudCB0byBjdXQgb2ZmIHRoZVxuICAgKiB2YWx1ZXMgdGhhdCBhcmUgdG9vIGhpZ2ggKGxldCdzIHNheSBoaWdoZXIgdGhhbiAxMDApLCB5b3UgY2FuIHNldCB0aGUgY29uc3RyYWludCB0byBgWzEsIDEwMF1gXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHlEb21haW5NYXhDb25zdHJhaW50PzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXVxuICAvKiogRm9yY2Ugc2V0IHRoZSBZIHNjYWxlIHJhbmdlIChpbiB0aGUgc2NyZWVuIHNwYWNlKS4gQnkgZGVmYXVsdCB0aGUgcmFuZ2UgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIHRoZVxuICAgKiBjaGFydCdzIHNldCB1cCAqL1xuICBASW5wdXQoKSB5UmFuZ2U/OiBbbnVtYmVyLCBudW1iZXJdXG4gIC8qKiBZIEF4aXMgZGlyZWN0aW9uLiBEZWZhdWx0OiBgRGlyZWN0aW9uLk5vcnRoYCAqL1xuICBASW5wdXQoKSB5RGlyZWN0aW9uPzogRGlyZWN0aW9uLlNvdXRoIHwgRGlyZWN0aW9uLk5vcnRoIHwgc3RyaW5nID0gRGlyZWN0aW9uLk5vcnRoXG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBvZiBhbGwgdGhlIGNvbXBvbmVudHMgd2l0aGluIHRoZSBjb250YWluZXIuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyID0gdW5kZWZpbmVkXG4gIC8qKiBNYXJnaW5zLiBEZWZhdWx0OiBgeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfWAgKi9cbiAgQElucHV0KCkgbWFyZ2luPzogU3BhY2luZyA9IHsgdG9wOiAxMCwgYm90dG9tOiAxMCwgbGVmdDogMTAsIHJpZ2h0OiAxMCB9XG4gIC8qKiBQYWRkaW5nLiBEZWZhdWx0OiBgeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfWAgKi9cbiAgQElucHV0KCkgcGFkZGluZz86IFNwYWNpbmcgPSB7fVxuICAvKiogU2V0cyB0aGUgWSBzY2FsZSBkb21haW4gYmFzZWQgb24gdGhlIGN1cnJlbnQgWCBzY2FsZSBkb21haW4gKG5vdCB0aGUgd2hvbGUgZGF0YXNldCkuIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgc2NhbGVCeURvbWFpbj86IGJvb2xlYW5cbiAgLyoqIEVuYWJsZXMgYXV0b21hdGljIGNhbGN1bGF0aW9uIG9mIGNoYXJ0IG1hcmdpbnMgYmFzZWQgb24gdGhlIHNpemUgb2YgdGhlIGF4ZXMuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBhdXRvTWFyZ2luPzogYm9vbGVhbiA9IHRydWVcblxuICAvKiogRGF0YSB0byBiZSBwYXNzZWQgdG8gYWxsIGNoaWxkIGNvbXBvbmVudHMuIEJ1dCBpZiBgZGF0YWAgaXMgYHVuZGVmaW5lZGAgaXQnbGwgdG8gYmUgcGFzc2VkIGFsbG93aW5nIGNvbXBvbmVudHMgdG9cbiAgICogaGF2ZSB0aGVpciBpbmRpdmlkdWFsIGRhdGEuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGRhdGE/OiBEYXR1bVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG5cbiAgY2hhcnQ6IFhZQ29udGFpbmVyPERhdHVtPlxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFydCA9IG5ldyBYWUNvbnRhaW5lcjxEYXR1bT4odGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5nZXRDb25maWcoKSwgdGhpcy5kYXRhKVxuICAgIHRoaXMucGFzc0NvbnRhaW5lclJlZmVyZW5jZVRvQ2hpbGRyZW4oKVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0ICgpOiB2b2lkIHtcbiAgICAvLyBRdWVyeUxpc3QgZG9lcyB1bnN1YnNjcmliZSBhdXRvbWF0aWNhbGx5IHdoZW4gaXQgZ2V0cyBkZXN0cm95ZWRcbiAgICB0aGlzLnZpc0NvbXBvbmVudHMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5wYXNzQ29udGFpbmVyUmVmZXJlbmNlVG9DaGlsZHJlbigpXG4gICAgICB0aGlzLmNoYXJ0Py51cGRhdGVDb250YWluZXIodGhpcy5nZXRDb25maWcoKSlcbiAgICB9KVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2ZW50UmVuZGVyID0gdHJ1ZVxuXG4gICAgLy8gU2V0IG5ldyBEYXRhIHdpdGhvdXQgcmUtcmVuZGVyXG4gICAgaWYgKGNoYW5nZXMuZGF0YSkge1xuICAgICAgdGhpcy5jaGFydD8uc2V0RGF0YSh0aGlzLmRhdGEsIHByZXZlbnRSZW5kZXIpXG4gICAgICBkZWxldGUgY2hhbmdlcy5kYXRhXG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIENvbnRhaW5lciBhbmQgcmVuZGVyXG4gICAgdGhpcy5jaGFydD8udXBkYXRlQ29udGFpbmVyKHRoaXMuZ2V0Q29uZmlnKCkpXG4gIH1cblxuICBnZXRDb25maWcgKCk6IFhZQ29udGFpbmVyQ29uZmlnSW50ZXJmYWNlPERhdHVtPiB7XG4gICAgY29uc3Qge1xuICAgICAgZHVyYXRpb24sIG1hcmdpbiwgcGFkZGluZywgc2NhbGVCeURvbWFpbiwgYXV0b01hcmdpbiwgd2lkdGgsIGhlaWdodCxcbiAgICAgIHhTY2FsZSwgeERvbWFpbiwgeERvbWFpbk1pbkNvbnN0cmFpbnQsIHhEb21haW5NYXhDb25zdHJhaW50LCB4UmFuZ2UsXG4gICAgICB5U2NhbGUsIHlEb21haW4sIHlEb21haW5NaW5Db25zdHJhaW50LCB5RG9tYWluTWF4Q29uc3RyYWludCwgeVJhbmdlLCB5RGlyZWN0aW9uLFxuICAgIH0gPSB0aGlzXG4gICAgY29uc3QgdmlzQ29tcG9uZW50cyA9IHRoaXMudmlzQ29tcG9uZW50cy50b0FycmF5KCkubWFwKGQgPT4gZC5jb21wb25lbnQpXG5cbiAgICBjb25zdCBjcm9zc2hhaXIgPSB2aXNDb21wb25lbnRzLmZpbmQoYyA9PiBjIGluc3RhbmNlb2YgQ3Jvc3NoYWlyKSBhcyBDcm9zc2hhaXI8RGF0dW0+XG4gICAgY29uc3QgdG9vbHRpcCA9IHRoaXMudG9vbHRpcENvbXBvbmVudD8uY29tcG9uZW50IGFzIFRvb2x0aXBcbiAgICBjb25zdCB4QXhpcyA9IHZpc0NvbXBvbmVudHMuZmluZChjID0+IGMgaW5zdGFuY2VvZiBBeGlzICYmIGM/LmNvbmZpZz8udHlwZSA9PT0gJ3gnKSBhcyBBeGlzPERhdHVtPlxuICAgIGNvbnN0IHlBeGlzID0gdmlzQ29tcG9uZW50cy5maW5kKGMgPT4gYyBpbnN0YW5jZW9mIEF4aXMgJiYgYz8uY29uZmlnPy50eXBlID09PSAneScpIGFzIEF4aXM8RGF0dW0+XG5cbiAgICBjb25zdCBjb21wb25lbnRzID0gdmlzQ29tcG9uZW50cy5maWx0ZXIoYyA9PiAhKGMgaW5zdGFuY2VvZiBDcm9zc2hhaXIpICYmICEoYyBpbnN0YW5jZW9mIFRvb2x0aXApICYmICEoYyBpbnN0YW5jZW9mIEF4aXMpKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudHMsXG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIGR1cmF0aW9uLFxuICAgICAgbWFyZ2luLFxuICAgICAgcGFkZGluZyxcbiAgICAgIHhBeGlzLFxuICAgICAgeUF4aXMsXG4gICAgICB0b29sdGlwLFxuICAgICAgY3Jvc3NoYWlyLFxuICAgICAgc2NhbGVCeURvbWFpbixcbiAgICAgIGF1dG9NYXJnaW4sXG4gICAgICB4U2NhbGUsXG4gICAgICB4RG9tYWluLFxuICAgICAgeERvbWFpbk1pbkNvbnN0cmFpbnQsXG4gICAgICB4RG9tYWluTWF4Q29uc3RyYWludCxcbiAgICAgIHhSYW5nZSxcbiAgICAgIHlTY2FsZSxcbiAgICAgIHlEb21haW4sXG4gICAgICB5RG9tYWluTWluQ29uc3RyYWludCxcbiAgICAgIHlEb21haW5NYXhDb25zdHJhaW50LFxuICAgICAgeVJhbmdlLFxuICAgICAgeURpcmVjdGlvbixcbiAgICB9XG4gIH1cblxuICBwYXNzQ29udGFpbmVyUmVmZXJlbmNlVG9DaGlsZHJlbiAoKTogdm9pZCB7XG4gICAgLy8gV2Ugc2V0IHRoZSBjb250YWluZXIgZm9yIGVhY2ggdmlzIGNvbXBvbmVudCB0byB0cmlnZ2VyIGNoYXJ0IHJlLXJlbmRlciBpZiB0aGUgZGF0YSBoYXMgY2hhbmdlZFxuICAgIGlmICh0aGlzLmNoYXJ0KSB0aGlzLnZpc0NvbXBvbmVudHMudG9BcnJheSgpLmZvckVhY2goYyA9PiB7IGMuY29tcG9uZW50Q29udGFpbmVyID0gdGhpcy5jaGFydCB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3kgKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKVxuICB9XG59XG4iXX0=
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb250YWluZXJzL3h5LWNvbnRhaW5lci94eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFFZixLQUFLLEVBSUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE1BQU07QUFDTixPQUFPLEVBQUUsSUFBSSxFQUFtQixTQUFTLEVBQUUsU0FBUyxFQUFXLE9BQU8sRUFBRSxXQUFXLEVBQThCLE1BQU0sWUFBWSxDQUFBO0FBQ25JLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUE7O0FBU2hGLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUEyQ0U7Ozs7O2tDQUswQjtRQUNqQix5QkFBb0IsR0FBOEMsU0FBUyxDQUFBO1FBV3BGLG1EQUFtRDtRQUMxQyxlQUFVLEdBQWdELFNBQVMsQ0FBQyxLQUFLLENBQUE7UUFFbEYsMEZBQTBGO1FBQ2pGLGFBQVEsR0FBWSxTQUFTLENBQUE7UUFDdEMsbUVBQW1FO1FBQzFELFdBQU0sR0FBYSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQTtRQUN4RSxtRUFBbUU7UUFDMUQsWUFBTyxHQUFhLEVBQUUsQ0FBQTtRQUcvQixvR0FBb0c7UUFDM0YsZUFBVSxHQUFhLElBQUksQ0FBQTtRQU9wQzs4REFDc0Q7UUFDN0MsU0FBSSxHQUF5QixTQUFTLENBQUE7S0FrRmhEO0lBOUVDLGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksV0FBVyxDQUFRLElBQUksQ0FBQyxZ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ZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFPRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBT0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFJRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuLy8gVmlzXG5pbXBvcnQgeyBBeGlzLCBDb250aW51b3VzU2NhbGUsIENyb3NzaGFpciwgRGlyZWN0aW9uLCBTcGFjaW5nLCBUb29sdGlwLCBYWUNvbnRhaW5lciwgWFlDb250YWluZXJDb25maWdJbnRlcmZhY2UgfSBmcm9tICdAdW5vdmlzL3RzJ1xuaW1wb3J0IHsgVmlzWFlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuaW1wb3J0IHsgVmlzVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLXh5LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlOiBgPGRpdiAjY29udGFpbmVyIGNsYXNzPVwidW5vdmlzLXh5LWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+YCxcbiAgc3R5bGVzOiBbJy51bm92aXMteHktY29udGFpbmVyIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcG9zaXRpb246IHJlbGF0aXZlOyB9J10sXG59KVxuZXhwb3J0IGNsYXNzIFZpc1hZQ29udGFpbmVyQ29tcG9uZW50PERhdHVtPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWZcbiAgQENvbnRlbnRDaGlsZHJlbihWaXNYWUNvbXBvbmVudCkgdmlzQ29tcG9uZW50czogUXVlcnlMaXN0PFZpc1hZQ29tcG9uZW50PlxuICBAQ29udGVudENoaWxkKFZpc1Rvb2x0aXBDb21wb25lbnQpIHRvb2x0aXBDb21wb25lbnQ6IFZpc1Rvb2x0aXBDb21wb25lbnRcblxuICAvKiogV2lkdGggaW4gcGl4ZWxzLiBCeSBkZWZhdWx0LCBDb250YWluZXIgYXV0b21hdGljYWxseSBmaXRzIHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIHdpZHRoPzogbnVtYmVyXG4gIC8qKiBIZWlnaHQgaW4gcGl4ZWxzLiBCeSBkZWZhdWx0LCBDb250YWluZXIgYXV0b21hdGljYWxseSBmaXRzIHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlclxuXG4gIC8qKiBTY2FsZSBmb3IgWCBkaW1lbnNpb24sIGUuZy4gU2NhbGUuc2NhbGVMaW5lYXIoKS4gRGVmYXVsdDogYFNjYWxlLnNjYWxlTGluZWFyKClgICovXG4gIEBJbnB1dCgpIHhTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuICAvKiogU2NhbGUgZG9tYWluIChkYXRhIGV4dGVudCkgZm9yIFggZGltZW5zaW9uLiBCeSBkZWZhdWx0IHRoaXMgdmFsdWUgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGRhdGEuICovXG4gIEBJbnB1dCgpIHhEb21haW4/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdXG4gIC8qKiBDb25zdHJhaW50IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBYIHNjYWxlIGRvbWFpbi4gVXNlZnVsIHdoZW4gdGhlIGRhdGEgaXMgcGxvdHRlZCBhbG9uZyB0aGUgWCBheGlzLlxuICAgKiBGb3IgZXhhbXBsZSwgaW1hZ2luZSB0aGF0IHlvdSBoYXZlIGEgY2hhcnQgd2l0aCBkeW5hbWljIGRhdGEgdGhhdCBoYXMgbmVnYXRpdmUgdmFsdWVzLiBXaGVuIHZhbHVlcyBhcmUgc21hbGxcbiAgICogKGxldCdzIHNheSBpbiB0aGUgcmFuZ2Ugb2YgWy0wLjAxLCAwXSksIHlvdSBtaWdodCBzdGlsbCB3YW50IHRoZSBjaGFydCB0byBkaXNwbGF5IHNvbWUgbWVhbmluZ2Z1bCB2YWx1ZSByYW5nZSAoZS5nLiBbLTEsIDBdKS4gVGhhdCBjYW5cbiAgICogYmUgYWNoaWV2ZWQgYnkgc2V0dGluZyBgeERvbWFpbk1pbkNvbnN0cmFpbnRgIHRvIGBbdW5kZWZpbmVkLCAtMV1gLiBJbiBhZGRpdGlvbiB0byB0aGF0LCBpZiB5b3Ugd2FudCB0byBjdXQgb2ZmIHRoZVxuICAgKiB2YWx1ZXMgdGhhdCBhcmUgdG9vIGxvdyAobGV0J3Mgc2F5IGxvd2VyIHRoYW4gLTEwMCksIHlvdSBjYW4gc2V0IHRoZSBjb25zdHJhaW50IHRvIGBbLTEwMCwgLTFdYFxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB4RG9tYWluTWluQ29uc3RyYWludD86IFtudW1iZXIgfCB1bmRlZmluZWQsIG51bWJlciB8IHVuZGVmaW5lZF1cbiAgLyoqIENvbnN0cmFpbnQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIFggc2NhbGUgZG9tYWluLiBVc2VmdWwgd2hlbiB0aGUgZGF0YSBpcyBwbG90dGVkIGFsb25nIHRoZSBYIGF4aXMuXG4gICAqIEZvciBleGFtcGxlLCBpbWFnaW5lIHRoYXQgeW91IGhhdmUgYSBjaGFydCB3aXRoIGR5bmFtaWMgZGF0YS4gV2hlbiB2YWx1ZXMgYXJlIHNtYWxsXG4gICAqIChsZXQncyBzYXkgPCAwLjAxKSwgeW91IG1pZ2h0IHN0aWxsIHdhbnQgdGhlIGNoYXJ0IHRvIGRpc3BsYXkgc29tZSBtZWFuaW5nZnVsIHZhbHVlIHJhbmdlIChlLmcuIFswLCAxXSkuIFRoYXQgY2FuXG4gICAqIGJlIGFjaGlldmVkIGJ5IHNldHRpbmcgYHhEb21haW5NYXhDb25zdHJhaW50YCB0byBgWzEsIHVuZGVmaW5lZF1gLiBJbiBhZGRpdGlvbiB0byB0aGF0LCBpZiB5b3Ugd2FudCB0byBjdXQgb2ZmIHRoZVxuICAgKiB2YWx1ZXMgdGhhdCBhcmUgdG9vIGhpZ2ggKGxldCdzIHNheSBoaWdoZXIgdGhhbiAxMDApLCB5b3UgY2FuIHNldCB0aGUgY29uc3RyYWludCB0byBgWzEsIDEwMF1gXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHhEb21haW5NYXhDb25zdHJhaW50PzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXVxuICAvKiogRm9yY2Ugc2V0IHRoZSBYIHNjYWxlIHJhbmdlIChpbiB0aGUgc2NyZWVuIHNwYWNlKS4gQnkgZGVmYXVsdCB0aGUgcmFuZ2UgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIHRoZVxuICAgKiBjaGFydCdzIHNldCB1cCAqL1xuICBASW5wdXQoKSB4UmFuZ2U/OiBbbnVtYmVyLCBudW1iZXJdXG5cbiAgLyoqIFNjYWxlIGZvciBZIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5TY2FsZUxpbmVhci4gRGVmYXVsdDogYFNjYWxlLlNjYWxlTGluZWFyKClgICovXG4gIEBJbnB1dCgpIHlTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuICAvKiogU2NhbGUgZG9tYWluIChkYXRhIGV4dGVudCkgZm9yIFkgZGltZW5zaW9uLiBCeSBkZWZhdWx0IHRoaXMgdmFsdWUgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGRhdGEuICovXG4gIEBJbnB1dCgpIHlEb21haW4/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdXG4gIC8qKiBDb25zdHJhaW50IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBZIHNjYWxlIGRvbWFpbi5cbiAgICogRm9yIGV4YW1wbGUsIGltYWdpbmUgdGhhdCB5b3UgaGF2ZSBhIGNoYXJ0IHdpdGggZHluYW1pYyBkYXRhIHRoYXQgaGFzIG5lZ2F0aXZlIHZhbHVlcy4gV2hlbiB2YWx1ZXMgYXJlIHNtYWxsXG4gICAqIChsZXQncyBzYXkgaW4gdGhlIHJhbmdlIG9mIFstMC4wMSwgMF0pLCB5b3UgbWlnaHQgc3RpbGwgd2FudCB0aGUgY2hhcnQgdG8gZGlzcGxheSBzb21lIG1lYW5pbmdmdWwgdmFsdWUgcmFuZ2UgKGUuZy4gWy0xLCAwXSkuIFRoYXQgY2FuXG4gICAqIGJlIGFjaGlldmVkIGJ5IHNldHRpbmcgYHlEb21haW5NaW5Db25zdHJhaW50YCB0byBgW3VuZGVmaW5lZCwgLTFdYC4gSW4gYWRkaXRpb24gdG8gdGhhdCwgaWYgeW91IHdhbnQgdG8gY3V0IG9mZiB0aGVcbiAgICogdmFsdWVzIHRoYXQgYXJlIHRvbyBsb3cgKGxldCdzIHNheSBsb3dlciB0aGFuIC0xMDApLCB5b3UgY2FuIHNldCB0aGUgY29uc3RyYWludCB0byBgWy0xMDAsIC0xXWBcbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeURvbWFpbk1pbkNvbnN0cmFpbnQ/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdID0gdW5kZWZpbmVkXG4gIC8qKiBDb25zdHJhaW50IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBZIHNjYWxlIGRvbWFpbi5cbiAgICogRm9yIGV4YW1wbGUsIGltYWdpbmUgdGhhdCB5b3UgaGF2ZSBhIGNoYXJ0IHdpdGggZHluYW1pYyBkYXRhLiBXaGVuIHZhbHVlcyBhcmUgc21hbGxcbiAgICogKGxldCdzIHNheSA8IDAuMDEpLCB5b3UgbWlnaHQgc3RpbGwgd2FudCB0aGUgY2hhcnQgdG8gZGlzcGxheSBzb21lIG1lYW5pbmdmdWwgdmFsdWUgcmFuZ2UgKGUuZy4gWzAsIDFdKS4gVGhhdCBjYW5cbiAgICogYmUgYWNoaWV2ZWQgYnkgc2V0dGluZyBgeURvbWFpbk1heENvbnN0cmFpbnRgIHRvIGBbMSwgdW5kZWZpbmVkXWAuIEluIGFkZGl0aW9uIHRvIHRoYXQsIGlmIHlvdSB3YW50IHRvIGN1dCBvZmYgdGhlXG4gICAqIHZhbHVlcyB0aGF0IGFyZSB0b28gaGlnaCAobGV0J3Mgc2F5IGhpZ2hlciB0aGFuIDEwMCksIHlvdSBjYW4gc2V0IHRoZSBjb25zdHJhaW50IHRvIGBbMSwgMTAwXWBcbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeURvbWFpbk1heENvbnN0cmFpbnQ/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdXG4gIC8qKiBGb3JjZSBzZXQgdGhlIFkgc2NhbGUgcmFuZ2UgKGluIHRoZSBzY3JlZW4gc3BhY2UpLiBCeSBkZWZhdWx0IHRoZSByYW5nZSBpcyBjYWxjdWxhdGVkIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gdGhlXG4gICAqIGNoYXJ0J3Mgc2V0IHVwICovXG4gIEBJbnB1dCgpIHlSYW5nZT86IFtudW1iZXIsIG51bWJlcl1cbiAgLyoqIFkgQXhpcyBkaXJlY3Rpb24uIERlZmF1bHQ6IGBEaXJlY3Rpb24uTm9ydGhgICovXG4gIEBJbnB1dCgpIHlEaXJlY3Rpb24/OiBEaXJlY3Rpb24uU291dGggfCBEaXJlY3Rpb24uTm9ydGggfCBzdHJpbmcgPSBEaXJlY3Rpb24uTm9ydGhcblxuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIGFsbCB0aGUgY29tcG9uZW50cyB3aXRoaW4gdGhlIGNvbnRhaW5lci4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXIgPSB1bmRlZmluZWRcbiAgLyoqIE1hcmdpbnMuIERlZmF1bHQ6IGB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9YCAqL1xuICBASW5wdXQoKSBtYXJnaW4/OiBTcGFjaW5nID0geyB0b3A6IDEwLCBib3R0b206IDEwLCBsZWZ0OiAxMCwgcmlnaHQ6IDEwIH1cbiAgLyoqIFBhZGRpbmcuIERlZmF1bHQ6IGB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9YCAqL1xuICBASW5wdXQoKSBwYWRkaW5nPzogU3BhY2luZyA9IHt9XG4gIC8qKiBTZXRzIHRoZSBZIHNjYWxlIGRvbWFpbiBiYXNlZCBvbiB0aGUgY3VycmVudCBYIHNjYWxlIGRvbWFpbiAobm90IHRoZSB3aG9sZSBkYXRhc2V0KS4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBzY2FsZUJ5RG9tYWluPzogYm9vbGVhblxuICAvKiogRW5hYmxlcyBhdXRvbWF0aWMgY2FsY3VsYXRpb24gb2YgY2hhcnQgbWFyZ2lucyBiYXNlZCBvbiB0aGUgc2l6ZSBvZiB0aGUgYXhlcy4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGF1dG9NYXJnaW4/OiBib29sZWFuID0gdHJ1ZVxuXG4gIC8qKiBBbHRlcm5hdGl2ZSB0ZXh0IGRlc2NyaXB0aW9uIG9mIHRoZSBjaGFydCBmb3IgYWNjZXNzaWJpbGl0eSBwdXJwb3Nlcy4gSXQgd2lsbCBiZSBhcHBsaWVkIGFzIGFuXG4gICAqIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gdGhlIGRpdiBlbGVtZW50IGNvbnRhaW5pbmcgeW91ciBjaGFydC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuXG4gICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcblxuICAvKiogRGF0YSB0byBiZSBwYXNzZWQgdG8gYWxsIGNoaWxkIGNvbXBvbmVudHMuIEJ1dCBpZiBgZGF0YWAgaXMgYHVuZGVmaW5lZGAgaXQnbGwgdG8gYmUgcGFzc2VkIGFsbG93aW5nIGNvbXBvbmVudHMgdG9cbiAgICogaGF2ZSB0aGVpciBpbmRpdmlkdWFsIGRhdGEuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGRhdGE/OiBEYXR1bVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG5cbiAgY2hhcnQ6IFhZQ29udGFpbmVyPERhdHVtPlxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFydCA9IG5ldyBYWUNvbnRhaW5lcjxEYXR1bT4odGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5nZXRDb25maWcoKSwgdGhpcy5kYXRhKVxuICAgIHRoaXMucGFzc0NvbnRhaW5lclJlZmVyZW5jZVRvQ2hpbGRyZW4oKVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0ICgpOiB2b2lkIHtcbiAgICAvLyBRdWVyeUxpc3QgZG9lcyB1bnN1YnNjcmliZSBhdXRvbWF0aWNhbGx5IHdoZW4gaXQgZ2V0cyBkZXN0cm95ZWRcbiAgICB0aGlzLnZpc0NvbXBvbmVudHMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5wYXNzQ29udGFpbmVyUmVmZXJlbmNlVG9DaGlsZHJlbigpXG4gICAgICB0aGlzLmNoYXJ0Py51cGRhdGVDb250YWluZXIodGhpcy5nZXRDb25maWcoKSlcbiAgICB9KVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2ZW50UmVuZGVyID0gdHJ1ZVxuXG4gICAgLy8gU2V0IG5ldyBEYXRhIHdpdGhvdXQgcmUtcmVuZGVyXG4gICAgaWYgKGNoYW5nZXMuZGF0YSkge1xuICAgICAgdGhpcy5jaGFydD8uc2V0RGF0YSh0aGlzLmRhdGEsIHByZXZlbnRSZW5kZXIpXG4gICAgICBkZWxldGUgY2hhbmdlcy5kYXRhXG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIENvbnRhaW5lciBhbmQgcmVuZGVyXG4gICAgdGhpcy5jaGFydD8udXBkYXRlQ29udGFpbmVyKHRoaXMuZ2V0Q29uZmlnKCkpXG4gIH1cblxuICBnZXRDb25maWcgKCk6IFhZQ29udGFpbmVyQ29uZmlnSW50ZXJmYWNlPERhdHVtPiB7XG4gICAgY29uc3Qge1xuICAgICAgZHVyYXRpb24sIG1hcmdpbiwgcGFkZGluZywgc2NhbGVCeURvbWFpbiwgYXV0b01hcmdpbiwgd2lkdGgsIGhlaWdodCxcbiAgICAgIHhTY2FsZSwgeERvbWFpbiwgeERvbWFpbk1pbkNvbnN0cmFpbnQsIHhEb21haW5NYXhDb25zdHJhaW50LCB4UmFuZ2UsXG4gICAgICB5U2NhbGUsIHlEb21haW4sIHlEb21haW5NaW5Db25zdHJhaW50LCB5RG9tYWluTWF4Q29uc3RyYWludCwgeVJhbmdlLFxuICAgICAgeURpcmVjdGlvbiwgYXJpYUxhYmVsLFxuICAgIH0gPSB0aGlzXG4gICAgY29uc3QgdmlzQ29tcG9uZW50cyA9IHRoaXMudmlzQ29tcG9uZW50cy50b0FycmF5KCkubWFwKGQgPT4gZC5jb21wb25lbnQpXG5cbiAgICBjb25zdCBjcm9zc2hhaXIgPSB2aXNDb21wb25lbnRzLmZpbmQoYyA9PiBjIGluc3RhbmNlb2YgQ3Jvc3NoYWlyKSBhcyBDcm9zc2hhaXI8RGF0dW0+XG4gICAgY29uc3QgdG9vbHRpcCA9IHRoaXMudG9vbHRpcENvbXBvbmVudD8uY29tcG9uZW50IGFzIFRvb2x0aXBcbiAgICBjb25zdCB4QXhpcyA9IHZpc0NvbXBvbmVudHMuZmluZChjID0+IGMgaW5zdGFuY2VvZiBBeGlzICYmIGM/LmNvbmZpZz8udHlwZSA9PT0gJ3gnKSBhcyBBeGlzPERhdHVtPlxuICAgIGNvbnN0IHlBeGlzID0gdmlzQ29tcG9uZW50cy5maW5kKGMgPT4gYyBpbnN0YW5jZW9mIEF4aXMgJiYgYz8uY29uZmlnPy50eXBlID09PSAneScpIGFzIEF4aXM8RGF0dW0+XG5cbiAgICBjb25zdCBjb21wb25lbnRzID0gdmlzQ29tcG9uZW50cy5maWx0ZXIoYyA9PiAhKGMgaW5zdGFuY2VvZiBDcm9zc2hhaXIpICYmICEoYyBpbnN0YW5jZW9mIFRvb2x0aXApICYmICEoYyBpbnN0YW5jZW9mIEF4aXMpKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudHMsXG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIGR1cmF0aW9uLFxuICAgICAgbWFyZ2luLFxuICAgICAgcGFkZGluZyxcbiAgICAgIHhBeGlzLFxuICAgICAgeUF4aXMsXG4gICAgICB0b29sdGlwLFxuICAgICAgY3Jvc3NoYWlyLFxuICAgICAgc2NhbGVCeURvbWFpbixcbiAgICAgIGF1dG9NYXJnaW4sXG4gICAgICB4U2NhbGUsXG4gICAgICB4RG9tYWluLFxuICAgICAgeERvbWFpbk1pbkNvbnN0cmFpbnQsXG4gICAgICB4RG9tYWluTWF4Q29uc3RyYWludCxcbiAgICAgIHhSYW5nZSxcbiAgICAgIHlTY2FsZSxcbiAgICAgIHlEb21haW4sXG4gICAgICB5RG9tYWluTWluQ29uc3RyYWludCxcbiAgICAgIHlEb21haW5NYXhDb25zdHJhaW50LFxuICAgICAgeVJhbmdlLFxuICAgICAgeURpcmVjdGlvbixcbiAgICAgIGFyaWFMYWJlbCxcbiAgICB9XG4gIH1cblxuICBwYXNzQ29udGFpbmVyUmVmZXJlbmNlVG9DaGlsZHJlbiAoKTogdm9pZCB7XG4gICAgLy8gV2Ugc2V0IHRoZSBjb250YWluZXIgZm9yIGVhY2ggdmlzIGNvbXBvbmVudCB0byB0cmlnZ2VyIGNoYXJ0IHJlLXJlbmRlciBpZiB0aGUgZGF0YSBoYXMgY2hhbmdlZFxuICAgIGlmICh0aGlzLmNoYXJ0KSB0aGlzLnZpc0NvbXBvbmVudHMudG9BcnJheSgpLmZvckVhY2goYyA9PiB7IGMuY29tcG9uZW50Q29udGFpbmVyID0gdGhpcy5jaGFydCB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3kgKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKVxuICB9XG59XG4iXX0=
@@ -15,8 +15,8 @@ export class VisLeafletFlowMapComponent {
15
15
  (_b = this.component) === null || _b === void 0 ? void 0 : _b.setConfig(this.getConfig());
16
16
  }
17
17
  getConfig() {
18
- const { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, valuesMap, topoJSONLayer, tooltip, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave } = this;
19
- const config = { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, valuesMap, topoJSONLayer, tooltip, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave };
18
+ const { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, valuesMap, topoJSONLayer, tooltip, ariaLabel, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave } = this;
19
+ const config = { width, height, duration, events, attributes, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, accessToken, style, styleDarkTheme, attribution, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, valuesMap, topoJSONLayer, tooltip, ariaLabel, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave };
20
20
  const keys = Object.keys(config);
21
21
  keys.forEach(key => { if (config[key] === undefined)
22
22
  delete config[key]; });
@@ -24,7 +24,7 @@ export class VisLeafletFlowMapComponent {
24
24
  }
25
25
  }
26
26
  VisLeafletFlowMapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletFlowMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- VisLeafletFlowMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletFlowMapComponent, selector: "vis-leaflet-flow-map", inputs: { width: "width", height: "height", duration: "duration", events: "events", attributes: "attributes", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", valuesMap: "valuesMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", sourceLongitude: "sourceLongitude", sourceLatitude: "sourceLatitude", targetLongitude: "targetLongitude", targetLatitude: "targetLatitude", sourcePointRadius: "sourcePointRadius", sourcePointColor: "sourcePointColor", flowParticleColor: "flowParticleColor", flowParticleRadius: "flowParticleRadius", flowParticleSpeed: "flowParticleSpeed", flowParticleDensity: "flowParticleDensity", onSourcePointClick: "onSourcePointClick", onSourcePointMouseEnter: "onSourcePointMouseEnter", onSourcePointMouseLeave: "onSourcePointMouseLeave", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletFlowMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="unovis-leaflet-flow-map-container"></div>', isInline: true, styles: [".unovis-leaflet-flow-map-container { width: 100%; height: 100%; position: relative; }"] });
27
+ VisLeafletFlowMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletFlowMapComponent, selector: "vis-leaflet-flow-map", inputs: { width: "width", height: "height", duration: "duration", events: "events", attributes: "attributes", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", valuesMap: "valuesMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", ariaLabel: "ariaLabel", sourceLongitude: "sourceLongitude", sourceLatitude: "sourceLatitude", targetLongitude: "targetLongitude", targetLatitude: "targetLatitude", sourcePointRadius: "sourcePointRadius", sourcePointColor: "sourcePointColor", flowParticleColor: "flowParticleColor", flowParticleRadius: "flowParticleRadius", flowParticleSpeed: "flowParticleSpeed", flowParticleDensity: "flowParticleDensity", onSourcePointClick: "onSourcePointClick", onSourcePointMouseEnter: "onSourcePointMouseEnter", onSourcePointMouseLeave: "onSourcePointMouseLeave", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletFlowMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="unovis-leaflet-flow-map-container"></div>', isInline: true, styles: [".unovis-leaflet-flow-map-container { width: 100%; height: 100%; position: relative; }"] });
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletFlowMapComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{
@@ -129,6 +129,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
129
129
  type: Input
130
130
  }], tooltip: [{
131
131
  type: Input
132
+ }], ariaLabel: [{
133
+ type: Input
132
134
  }], sourceLongitude: [{
133
135
  type: Input
134
136
  }], sourceLatitude: [{
@@ -158,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
158
160
  }], data: [{
159
161
  type: Input
160
162
  }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1mbG93LW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaHRtbC1jb21wb25lbnRzL2xlYWZsZXQtZmxvdy1tYXAvbGVhZmxldC1mbG93LW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsS0FBSyxFQUFpQixTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUE7QUFDckcsT0FBTyxFQUNMLGNBQWMsR0FjZixNQUFNLFlBQVksQ0FBQTtBQUVuQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUE7O0FBUzdDLE1BQU0sT0FBTywwQkFBMEI7SUE0UHJDLGVBQWU7UUFDYixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNoSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDaEIsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQ25DO1FBQ0QsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsS0FB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QkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFtQkcsU0FBUztzQkFBakIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQVdHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUlHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBRUcsdUJBQXVCO3NCQUEvQixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBMZWFmbGV0Rmxvd01hcCxcbiAgTGVhZmxldEZsb3dNYXBDb25maWdJbnRlcmZhY2UsXG4gIFZpc0V2ZW50VHlwZSxcbiAgVmlzRXZlbnRDYWxsYmFjayxcbiAgQm91bmRzLFxuICBNYXBab29tU3RhdGUsXG4gIE51bWVyaWNBY2Nlc3NvcixcbiAgU3RyaW5nQWNjZXNzb3IsXG4gIENvbG9yQWNjZXNzb3IsXG4gIExlYWZsZXRNYXBQb2ludERhdHVtLFxuICBMZWFmbGV0TWFwUG9pbnRTdHlsZXMsXG4gIFRvb2x0aXAsXG4gIExlYWZsZXRNYXBDbHVzdGVyRGF0dW0sXG4gIEdlbmVyaWNEYXRhUmVjb3JkLFxufSBmcm9tICdAdW5vdmlzL3RzJ1xuaW1wb3J0IHsgU3R5bGVTcGVjaWZpY2F0aW9uIH0gZnJvbSAnbWFwbGlicmUtZ2wnXG5pbXBvcnQgeyBWaXNDb3JlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLWxlYWZsZXQtZmxvdy1tYXAnLFxuICB0ZW1wbGF0ZTogJzxkaXYgI2NvbnRhaW5lciBjbGFzcz1cInVub3Zpcy1sZWFmbGV0LWZsb3ctbWFwLWNvbnRhaW5lclwiPjwvZGl2PicsXG4gIHN0eWxlczogWycudW5vdmlzLWxlYWZsZXQtZmxvdy1tYXAtY29udGFpbmVyIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcG9zaXRpb246IHJlbGF0aXZlOyB9J10sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZpc0NvcmVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBWaXNMZWFmbGV0Rmxvd01hcENvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzTGVhZmxldEZsb3dNYXBDb21wb25lbnQ8XG5cbiAgUG9pbnREYXR1bSBleHRlbmRzIEdlbmVyaWNEYXRhUmVjb3JkLFxuICBGbG93RGF0dW0gZXh0ZW5kcyBHZW5lcmljRGF0YVJlY29yZCxcbj4gaW1wbGVtZW50cyBMZWFmbGV0Rmxvd01hcENvbmZpZ0ludGVyZmFjZTxQb2ludERhdHVtLCBGbG93RGF0dW0+LCBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRhaW5lclJlZjogRWxlbWVudFJlZlxuXG4gIC8qKiBXaWR0aCBpbiBwaXhlbHMgb3IgaW4gQ1NTIHVuaXRzLiBCeSBkZWZhdWx0LCB0aGUgbWFwIHdpbGwgYXV0b21hdGljYWxseSBmaXQgdG8gdGhlIHNpemUgb2YgdGhlIHBhcmVudCBlbGVtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gKi9cbiAgQElucHV0KCkgd2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqIEhlaWdodCBpbiBwaXhlbHMgb3IgaW4gQ1NTIHVuaXRzLiBCeSBkZWZhdWx0LCB0aGUgbWFwIHdpbGwgYXV0b21hdGljYWxseSBmaXQgdG8gdGhlIHNpemUgb2YgdGhlIHBhcmVudCBlbGVtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gKi9cbiAgQElucHV0KCkgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBvZiB0aGUgZGF0YSB1cGRhdGUgdHJhbnNpdGlvbnMgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0OiBgNjAwYCAqL1xuICBASW5wdXQoKSBkdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBFdmVudHMgY29uZmlndXJhdGlvbi4gQW4gb2JqZWN0IGNvbnRhaW5pbmcgcHJvcGVydGllcyBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFtldmVudFR5cGVdOiBjYWxsYmFja0Z1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIGNsaWNrOiAoZCkgPT4gY29uc29sZS5sb2coXCJDbGlja2VkIEFyZWFcIiwgZClcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgZXZlbnRzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2V2ZW50VHlwZSBpbiBWaXNFdmVudFR5cGVdPzogVmlzRXZlbnRDYWxsYmFja1xuICAgIH07XG4gIH1cblxuICAvKiogWW91IGNhbiBzZXQgZXZlcnkgU1ZHIGFuZCBIVE1MIHZpc3VhbGl6YXRpb24gb2JqZWN0IHRvIGhhdmUgYSBjdXN0b20gRE9NIGF0dHJpYnV0ZXMsIHdoaWNoIGlzIHVzZWZ1bFxuICAgKiB3aGVuIHlvdSB3YW50IHRvIGRvIHVuaXQgb3IgZW5kLXRvLWVuZCB0ZXN0aW5nLiBBdHRyaWJ1dGVzIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZTpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFthdHRyaWJ1dGVOYW1lXTogYXR0cmlidXRlIGNvbnN0YW50IHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIFwidGVzdC12YWx1ZVwiOiBkID0+IGQudmFsdWVcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgYXR0cmlidXRlcz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFthdHRyOiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgKChkYXR1bTogYW55KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiB3aGVuIHRoZSBtYXAgaXMgYXV0b21hdGljYWxseSBwYW5uaW5nIG9yIHpvb21pbmcgdG8gYSBwb2ludCBvciBhcmVhLiBEZWZhdWx0OiBgMTUwMGAgbXMgKi9cbiAgQElucHV0KCkgZmx5VG9EdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBQYWRkaW5nIHRvIGJlIHVzZWQgd2hlbiB0aGUgYGZpdFZpZXdgIGZ1bmN0aW9uIGhhcyBiZWVuIGNhbGxlZC4gVGhlIHZhbHVlIGlzIGluIHBpeGVscy4gRGVmYXVsdDogYFsxNTAsIDE1MF1gICovXG4gIEBJbnB1dCgpIGZpdFZpZXdQYWRkaW5nPzogW251bWJlciwgbnVtYmVyXVxuXG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gZm9yIHRoZSBgc2V0Wm9vbWAgZnVuY3Rpb24uIERlZmF1bHQ6IGA4MDBgIG1zICovXG4gIEBJbnB1dCgpIHpvb21EdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBEZWZhdWx0IGJvdW5kcyB0aGF0IHdpbGwgYmUgYXBwbGllZCBvbiB0aGUgZmlyc3QgbWFwIHJlbmRlciBpZiB0aGUgYm91bmRzIHByb3BlcnR5IGlzIG5vdCBzZXQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGluaXRpYWxCb3VuZHM/OiBCb3VuZHNcblxuICAvKiogRm9yY2Ugc2V0IG1hcCBib3VuZHMgb24gY29uZmlnIGFuZCBkYXRhIHVwZGF0ZXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGZpdEJvdW5kc09uVXBkYXRlPzogQm91bmRzXG5cbiAgLyoqIEZpdCB0aGUgdmlldyB0byBjb250YWluIHRoZSBkYXRhIHBvaW50cyBvbiBtYXAgaW5pdGlhbGl6YXRpb24uIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBmaXRWaWV3T25Jbml0PzogYm9vbGVhblxuXG4gIC8qKiBGaXQgdGhlIHZpZXcgdG8gY29udGFpbiB0aGUgZGF0YSBwb2ludHMgb24gbWFwIGNvbmZpZyBhbmQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIGZpdFZpZXdPblVwZGF0ZT86IGJvb2xlYW5cblxuICAvKiogTWFwTGlicmUgU3R5bGVTcGVjaWZpY2F0aW9uIHNldHRpbmdzLiBEZWZhdWx0OiBgTWFwTGlicmVBcmN0aWNMaWdodGAgKi9cbiAgQElucHV0KCkgc3R5bGU6IFN0eWxlU3BlY2lmaWNhdGlvbiB8IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIC8qKiBNYXBMaWJyZSBTdHlsZVNwZWNpZmljYXRpb24gc2V0dGluZ3MgZm9yIGRhcmsgdGhlbWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHN0eWxlRGFya1RoZW1lOiBTdHlsZVNwZWNpZmljYXRpb24gfCBzdHJpbmcgfCB1bmRlZmluZWRcblxuICAvKiogVGlsZSBzZXJ2ZXIgYWNjZXNzIHRva2VuIG9yIEFQSSBrZXkuIERlZmF1bHQ6IGAnJ2AgKi9cbiAgQElucHV0KCkgYWNjZXNzVG9rZW4/OiBzdHJpbmdcblxuICAvKiogQXJyYXkgb2YgYXR0cmlidXRpb24gbGFiZWxzLiBEZWZhdWx0OiBgWyc8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCIgdGFyZ2V0PVwiX2JsYW5rXCI+T3BlblN0cmVldE1hcCBjb250cmlidXRvcnM8L2E+J11gICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0aW9uPzogc3RyaW5nW11cblxuICAvKiogRnVuY3Rpb24gdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBtYXAncyBhc3luYyBpbml0aWFsaXphdGlvbiBpcyBkb25lLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcEluaXRpYWxpemVkPzogKCgpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBNb3ZlIC8gWm9vbSB1bmlmaWVkIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcE1vdmVab29tPzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgTW92ZSBTdGFydCBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBNb3ZlU3RhcnQ/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBNb3ZlIEVuZCBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBNb3ZlRW5kPzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgWm9vbSBTdGFydCBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBab29tU3RhcnQ/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBab29tIEVuZCBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBab29tRW5kPzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgWm9vbSBFbmQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwQ2xpY2s/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIFBvaW50IGxvbmdpdHVkZSBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5sb25naXR1ZGVgICovXG4gIEBJbnB1dCgpIHBvaW50TG9uZ2l0dWRlPzogTnVtZXJpY0FjY2Vzc29yPFBvaW50RGF0dW0+XG5cbiAgLyoqIFBvaW50IGxhdGl0dWRlIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLmxhdGl0dWRlYCAqL1xuICBASW5wdXQoKSBwb2ludExhdGl0dWRlPzogTnVtZXJpY0FjY2Vzc29yPFBvaW50RGF0dW0+XG5cbiAgLyoqIFBvaW50IGlkIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgZCA9PiBkLmlkYCAqL1xuICBASW5wdXQoKSBwb2ludElkPzogU3RyaW5nQWNjZXNzb3I8UG9pbnREYXR1bT5cblxuICAvKiogUG9pbnQgc2hhcGUgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGBkID0+IGQuc2hhcGVgICovXG4gIEBJbnB1dCgpIHBvaW50U2hhcGU/OiBTdHJpbmdBY2Nlc3NvcjxQb2ludERhdHVtPlxuXG4gIC8qKiBQb2ludCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYGQgPT4gZC5jb2xvcmAgKi9cbiAgQElucHV0KCkgcG9pbnRDb2xvcj86IENvbG9yQWNjZXNzb3I8UG9pbnREYXR1bT5cblxuICAvKiogUG9pbnQgcmFkaXVzIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBwb2ludFJhZGl1cz86IE51bWVyaWNBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogUG9pbnQgaW5uZXIgbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQucG9pbnRfY291bnQgPz8gJydgICovXG4gIEBJbnB1dCgpIHBvaW50TGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogUG9pbnQgaW5uZXIgbGFiZWwgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBsYWJlbCBjb2xvciB3aWxsIGJlIHNldCwgZGVwZW5kaW5nIG9uIHRoZSBwb2ludCBicmlnaHRuZXNzLCBlaXRoZXIgdG9cbiAgICogYC0tdmlzLW1hcC1wb2ludC1pbm5lci1sYWJlbC10ZXh0LWNvbG9yLWxpZ2h0YCBvciB0byBgLS12aXMtbWFwLXBvaW50LWlubmVyLWxhYmVsLXRleHQtY29sb3ItZGFya2AgQ1NTIHZhcmlhYmxlLlxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYFxuICAqL1xuICBASW5wdXQoKSBwb2ludExhYmVsQ29sb3I/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogUG9pbnQgYm90dG9tIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIHBvaW50Qm90dG9tTGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogUG9pbnQgY3Vyc29yIHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgcG9pbnRDdXJzb3I/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogU2V0IHNlbGVjdGVkIHBvaW50IGJ5IGl0cyB1bmlxdWUgaWQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHNlbGVjdGVkUG9pbnRJZD86IHN0cmluZ1xuXG4gIC8qKiBDbHVzdGVyIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAgKi9cbiAgQElucHV0KCkgY2x1c3RlckNvbG9yPzogQ29sb3JBY2Nlc3NvcjxQb2ludERhdHVtPlxuXG4gIC8qKiBDbHVzdGVyIHJhZGl1cyBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJSYWRpdXM/OiBOdW1lcmljQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogQ2x1c3RlciBpbm5lciBsYWJlbCBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5wb2ludF9jb3VudGAgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJMYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08UG9pbnREYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgaW5uZXIgbGFiZWwgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBsYWJlbCBjb2xvciB3aWxsIGJlIHNldCwgZGVwZW5kaW5nIG9uIHRoZSBwb2ludCBicmlnaHRuZXNzLCBlaXRoZXIgdG9cbiAgICogYC0tdmlzLW1hcC1jbHVzdGVyLWlubmVyLWxhYmVsLXRleHQtY29sb3ItbGlnaHRgIG9yIHRvIGAtLXZpcy1tYXAtY2x1c3Rlci1pbm5lci1sYWJlbC10ZXh0LWNvbG9yLWRhcmtgIENTUyB2YXJpYWJsZS5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGBcbiAgKi9cbiAgQElucHV0KCkgY2x1c3RlckxhYmVsQ29sb3I/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwQ2x1c3RlckRhdHVtPFBvaW50RGF0dW0+PlxuXG4gIC8qKiBDbHVzdGVyIGJvdHRvbSBsYWJlbCBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYCcnYCAqL1xuICBASW5wdXQoKSBjbHVzdGVyQm90dG9tTGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwQ2x1c3RlckRhdHVtPFBvaW50RGF0dW0+PlxuXG5cbiAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgY2x1c3RlciBwb2ludCBvdXRsaW5lLiBEZWZhdWx0OiBgMS4yNWAgKi9cbiAgQElucHV0KCkgY2x1c3RlclJpbmdXaWR0aD86IG51bWJlclxuXG4gIC8qKiBXaGVuIGNsdXN0ZXIgaXMgZXhwYW5kZWQsIHNob3cgYSBiYWNrZ3JvdW5kIGNpcmNsZSB0byBiZXR0ZXIgc2VwYXJhdGUgcG9pbnRzIGZyb20gdGhlIGJhc2UgbWFwLiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgY2x1c3RlckJhY2tncm91bmQ/OiBib29sZWFuXG5cbiAgLyoqIERlZmluZXMgd2hldGhlciB0aGUgY2x1c3RlciBzaG91bGQgZXhwYW5kIG9uIGNsaWNrIG9yIG5vdC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJFeHBhbmRPbkNsaWNrPzogYm9vbGVhblxuXG4gIC8qKiBDbHVzdGVyaW5nIGRpc3RhbmNlIGluIHBpeGVscy4gVGhpcyB2YWx1ZSB3aWxsIGJlIHBhc3NlZCB0byBTdXBlcmNsdXN0ZXIgYXMgdGhlIGByYWRpdXNgIHByb3BlcnR5IGh0dHBzOi8vZ2l0aHViLmNvbS9tYXBib3gvc3VwZXJjbHVzdGVyLiBEZWZhdWx0OiBgNTVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJpbmdEaXN0YW5jZT86IG51bWJlclxuXG4gIC8qKiBBIHNpbmdsZSBtYXAgcG9pbnQgY2FuIGhhdmUgbXVsdGlwbGUgcHJvcGVydGllcyBkaXNwbGF5ZWQgYXMgYSBzbWFsbCBwaWUgY2hhcnQgKG9yIGEgZG9udXQgY2hhcnQgZm9yIGEgY2x1c3RlciBvZiBwb2ludHMpLlxuICAgKiBCeSBzZXR0aW5nIHRoZSB2YWx1ZXNNYXAgY29uZmlndXJhdGlvbiB5b3UgY2FuIHNwZWNpZnkgZGF0YSBwcm9wZXJ0aWVzIHRoYXQgc2hvdWxkIGJlIG1hcHBlZCB0byB2YXJpb3VzIHBpZSAvIGRvbnV0IHNlZ21lbnRzLlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtrZXkgaW4ga2V5b2YgRGF0dW1dPzogeyBjb2xvcjogc3RyaW5nLCBjbGFzc05hbWU/OiBzdHJpbmcgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXGhlYWx0aHk6IHsgY29sb3I6ICdncmVlbicgfSxcbiAgICogXFx3YXJuaW5nOiB7IGNvbG9yOiAnb3JhbmdlJyB9LFxuICAgKiBcXGRhbmdlcjogeyBjb2xvcjogJ3JlZCcgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiB3aGVyZSBldmVyeSBkYXRhIHBvaW50IGhhcyB0aGUgYGhlYWx0aHlgLCBgd2FybmluZ2AgYW5kIGBkYW5nZXJgIG51bWVyaWNhbCBvciBib29sZWFuIHByb3BlcnR5LiAqL1xuICBASW5wdXQoKSB2YWx1ZXNNYXA/OiBMZWFmbGV0TWFwUG9pbnRTdHlsZXM8UG9pbnREYXR1bT5cblxuICAvKiogQSBUb3BvSlNPTiBHZW9tZXRyeSBsYXllciB0byBiZSBkaXNwbGF5ZWQgb24gdG9wIG9mIHRoZSBtYXAuIFN1cHBvcnRzIGZpbGwgYW5kIHN0cm9rZSAqL1xuICBASW5wdXQoKSB0b3BvSlNPTkxheWVyPzoge1xuICAgIHNvdXJjZXM6IGFueTtcbiAgICBmZWF0dXJlTmFtZT86IHN0cmluZztcbiAgICBmaWxsUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgc3Ryb2tlUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgZmlsbE9wYWNpdHk/OiBudW1iZXI7XG4gICAgc3Ryb2tlT3BhY2l0eT86IG51bWJlcjtcbiAgICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgfVxuXG4gIC8qKiBUb29sdGlwIGNvbXBvbmVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdG9vbHRpcD86IFRvb2x0aXBcblxuICAvKiogRmxvdyBzb3VyY2UgcG9pbnQgbG9uZ2l0dWRlIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlLiBEZWZhdWx0Oi5gZiA9PiBmLnNvdXJjZUxvbmdpdHVkZWAgKi9cbiAgQElucHV0KCkgc291cmNlTG9uZ2l0dWRlPzogTnVtZXJpY0FjY2Vzc29yPEZsb3dEYXR1bT5cbiAgLyoqIEZsb3cgc291cmNlIHBvaW50IGxhdGl0dWRlIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlLiBEZWZhdWx0OiBgZiA9PiBmLnNvdXJjZUxhdGl0dWRlYCAqL1xuICBASW5wdXQoKSBzb3VyY2VMYXRpdHVkZT86IE51bWVyaWNBY2Nlc3NvcjxGbG93RGF0dW0+XG4gIC8qKiBGbG93IHRhcmdldCBwb2ludCBsb25naXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGBmID0+IGYudGFyZ2V0TG9uZ2l0dWRlYCAqL1xuICBASW5wdXQoKSB0YXJnZXRMb25naXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8Rmxvd0RhdHVtPlxuICAvKiogRmxvdyB0YXJnZXQgcG9pbnQgbGF0aXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGBmID0+IGYudGFyZ2V0TGF0aXR1ZGVgICovXG4gIEBJbnB1dCgpIHRhcmdldExhdGl0dWRlPzogTnVtZXJpY0FjY2Vzc29yPEZsb3dEYXR1bT5cbiAgLyoqIEZsb3cgc291cmNlIHBvaW50IHJhZGl1cyBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYDNgICovXG4gIEBJbnB1dCgpIHNvdXJjZVBvaW50UmFkaXVzPzogTnVtZXJpY0FjY2Vzc29yPEZsb3dEYXR1bT5cbiAgLyoqIFNvdXJjZSBwb2ludCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYCcjODg5MTlmJ2AgKi9cbiAgQElucHV0KCkgc291cmNlUG9pbnRDb2xvcj86IENvbG9yQWNjZXNzb3I8Rmxvd0RhdHVtPlxuICAvKiogRmxvdyBwYXJ0aWNsZSBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYCcjOTQ5ZGFkJ2AgKi9cbiAgQElucHV0KCkgZmxvd1BhcnRpY2xlQ29sb3I/OiBDb2xvckFjY2Vzc29yPEZsb3dEYXR1bT5cbiAgLyoqIEZsb3cgcGFydGljbGUgcmFkaXVzIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlLiBEZWZhdWx0OiBgMS4xYCAqL1xuICBASW5wdXQoKSBmbG93UGFydGljbGVSYWRpdXM/OiBOdW1lcmljQWNjZXNzb3I8Rmxvd0RhdHVtPlxuICAvKiogRmxvdyBwYXJ0aWNsZSBzcGVlZCBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZSBpbiBhbmd1bGFyIGRlZ3JlZXMuIERlZmF1bHQ6IGAwLjA3YCAqL1xuICBASW5wdXQoKSBmbG93UGFydGljbGVTcGVlZD86IE51bWVyaWNBY2Nlc3NvcjxGbG93RGF0dW0+XG4gIC8qKiBGbG93IHBhcnRpY2xlIGRlbnNpdHkgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUgb24gdGhlIHJhbmdlIG9mIFswLCAxXS4gRGVmYXVsdDogYDAuNmAgKi9cbiAgQElucHV0KCkgZmxvd1BhcnRpY2xlRGVuc2l0eT86IE51bWVyaWNBY2Nlc3NvcjxGbG93RGF0dW0+XG5cbiAgLy8gRXZlbnRzXG4gIC8qKiBGbG93IHNvdXJjZSBwb2ludCBjbGljayBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25Tb3VyY2VQb2ludENsaWNrPzogKChmOiBGbG93RGF0dW0sIHg6IG51bWJlciwgeTogbnVtYmVyLCBldmVudDogTW91c2VFdmVudCkgPT4gdW5rbm93bilcbiAgLyoqIEZsb3cgc291cmNlIHBvaW50IG1vdXNlIG92ZXIgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uU291cmNlUG9pbnRNb3VzZUVudGVyPzogKChmOiBGbG93RGF0dW0sIHg6IG51bWJlciwgeTogbnVtYmVyLCBldmVudDogTW91c2VFdmVudCkgPT4gdW5rbm93bilcbiAgLyoqIEZsb3cgc291cmNlIHBvaW50IG1vdXNlIGxlYXZlIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvblNvdXJjZVBvaW50TW91c2VMZWF2ZT86ICgoZjogRmxvd0RhdHVtLCBldmVudDogTW91c2VFdmVudCkgPT4gdW5rbm93bilcblxuICAvKiogRGF0YSAqL1xuICBASW5wdXQoKSBkYXRhPzogeyBwb2ludHM6IFBvaW50RGF0dW1bXTsgZmxvd3M6IEZsb3dEYXR1bVtdIH1cblxuICBjb21wb25lbnQ6IExlYWZsZXRGbG93TWFwPFBvaW50RGF0dW0sIEZsb3dEYXR1bT4gfCB1bmRlZmluZWRcblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuZ2V0Q29uZmlnKClcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBMZWFmbGV0Rmxvd01hcDxQb2ludERhdHVtLCBGbG93RGF0dW0+KHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQsIGNvbmZpZywgdGhpcy5kYXRhKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudD8uc2V0RGF0YSh0aGlzLmRhdGEpXG4gICAgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBMZWFmbGV0Rmxvd01hcENvbmZpZ0ludGVyZmFjZTxQb2ludERhdHVtLCBGbG93RGF0dW0+IHtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQsIGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIGZseVRvRHVyYXRpb24sIGZpdFZpZXdQYWRkaW5nLCB6b29tRHVyYXRpb24sIGluaXRpYWxCb3VuZHMsIGZpdEJvdW5kc09uVXBkYXRlLCBmaXRWaWV3T25Jbml0LCBmaXRWaWV3T25VcGRhdGUsIGFjY2Vzc1Rva2VuLCBzdHlsZSwgc3R5bGVEYXJrVGhlbWUsIGF0dHJpYnV0aW9uLCBvbk1hcEluaXRpYWxpemVkLCBvbk1hcE1vdmVab29tLCBvbk1hcE1vdmVTdGFydCwgb25NYXBNb3ZlRW5kLCBvbk1hcFpvb21TdGFydCwgb25NYXBab29tRW5kLCBvbk1hcENsaWNrLCBwb2ludExvbmdpdHVkZSwgcG9pbnRMYXRpdHVkZSwgcG9pbnRJZCwgcG9pbnRTaGFwZSwgcG9pbnRDb2xvciwgcG9pbnRSYWRpdXMsIHBvaW50TGFiZWwsIHBvaW50TGFiZWxDb2xvciwgcG9pbnRCb3R0b21MYWJlbCwgcG9pbnRDdXJzb3IsIHNlbGVjdGVkUG9pbnRJZCwgY2x1c3RlckNvbG9yLCBjbHVzdGVyUmFkaXVzLCBjbHVzdGVyTGFiZWwsIGNsdXN0ZXJMYWJlbENvbG9yLCBjbHVzdGVyQm90dG9tTGFiZWwsIGNsdXN0ZXJSaW5nV2lkdGgsIGNsdXN0ZXJCYWNrZ3JvdW5kLCBjbHVzdGVyRXhwYW5kT25DbGljaywgY2x1c3RlcmluZ0Rpc3RhbmNlLCB2YWx1ZXNNYXAsIHRvcG9KU09OTGF5ZXIsIHRvb2x0aXAsIHNvdXJjZUxvbmdpdHVkZSwgc291cmNlTGF0aXR1ZGUsIHRhcmdldExvbmdpdHVkZSwgdGFyZ2V0TGF0aXR1ZGUsIHNvdXJjZVBvaW50UmFkaXVzLCBzb3VyY2VQb2ludENvbG9yLCBmbG93UGFydGljbGVDb2xvciwgZmxvd1BhcnRpY2xlUmFkaXVzLCBmbG93UGFydGljbGVTcGVlZCwgZmxvd1BhcnRpY2xlRGVuc2l0eSwgb25Tb3VyY2VQb2ludENsaWNrLCBvblNvdXJjZVBvaW50TW91c2VFbnRlciwgb25Tb3VyY2VQb2ludE1vdXNlTGVhdmUgfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IHdpZHRoLCBoZWlnaHQsIGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIGZseVRvRHVyYXRpb24sIGZpdFZpZXdQYWRkaW5nLCB6b29tRHVyYXRpb24sIGluaXRpYWxCb3VuZHMsIGZpdEJvdW5kc09uVXBkYXRlLCBmaXRWaWV3T25Jbml0LCBmaXRWaWV3T25VcGRhdGUsIGFjY2Vzc1Rva2VuLCBzdHlsZSwgc3R5bGVEYXJrVGhlbWUsIGF0dHJpYnV0aW9uLCBvbk1hcEluaXRpYWxpemVkLCBvbk1hcE1vdmVab29tLCBvbk1hcE1vdmVTdGFydCwgb25NYXBNb3ZlRW5kLCBvbk1hcFpvb21TdGFydCwgb25NYXBab29tRW5kLCBvbk1hcENsaWNrLCBwb2ludExvbmdpdHVkZSwgcG9pbnRMYXRpdHVkZSwgcG9pbnRJZCwgcG9pbnRTaGFwZSwgcG9pbnRDb2xvciwgcG9pbnRSYWRpdXMsIHBvaW50TGFiZWwsIHBvaW50TGFiZWxDb2xvciwgcG9pbnRCb3R0b21MYWJlbCwgcG9pbnRDdXJzb3IsIHNlbGVjdGVkUG9pbnRJZCwgY2x1c3RlckNvbG9yLCBjbHVzdGVyUmFkaXVzLCBjbHVzdGVyTGFiZWwsIGNsdXN0ZXJMYWJlbENvbG9yLCBjbHVzdGVyQm90dG9tTGFiZWwsIGNsdXN0ZXJSaW5nV2lkdGgsIGNsdXN0ZXJCYWNrZ3JvdW5kLCBjbHVzdGVyRXhwYW5kT25DbGljaywgY2x1c3RlcmluZ0Rpc3RhbmNlLCB2YWx1ZXNNYXAsIHRvcG9KU09OTGF5ZXIsIHRvb2x0aXAsIHNvdXJjZUxvbmdpdHVkZSwgc291cmNlTGF0aXR1ZGUsIHRhcmdldExvbmdpdHVkZSwgdGFyZ2V0TGF0aXR1ZGUsIHNvdXJjZVBvaW50UmFkaXVzLCBzb3VyY2VQb2ludENvbG9yLCBmbG93UGFydGljbGVDb2xvciwgZmxvd1BhcnRpY2xlUmFkaXVzLCBmbG93UGFydGljbGVTcGVlZCwgZmxvd1BhcnRpY2xlRGVuc2l0eSwgb25Tb3VyY2VQb2ludENsaWNrLCBvblNvdXJjZVBvaW50TW91c2VFbnRlciwgb25Tb3VyY2VQb2ludE1vdXNlTGVhdmUgfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBMZWFmbGV0Rmxvd01hcENvbmZpZ0ludGVyZmFjZTxQb2ludERhdHVtLCBGbG93RGF0dW0+KVtdXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiB7IGlmIChjb25maWdba2V5XSA9PT0gdW5kZWZpbmVkKSBkZWxldGUgY29uZmlnW2tleV0gfSlcblxuICAgIHJldHVybiBjb25maWdcbiAgfVxufVxuIl19
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1mbG93LW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaHRtbC1jb21wb25lbnRzL2xlYWZsZXQtZmxvdy1tYXAvbGVhZmxldC1mbG93LW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsS0FBSyxFQUFpQixTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUE7QUFDckcsT0FBTyxFQUNMLGNBQWMsR0FjZixNQUFNLFlBQVksQ0FBQTtBQUVuQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUE7O0FBUzdDLE1BQU0sT0FBTywwQkFBMEI7SUFpUXJDLGVBQWU7UUFDYixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNoSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDaEIsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQ25DO1FBQ0QsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsR0FBRyxJQUFJLENBQUE7UUFDMTZCLE1BQU0sTUFBTSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQTtRQUM1NkIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQW1FLENBQUE7UUFDbEcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVM7WUFBRSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTFFLE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQzs7d0hBcFJVLDBCQUEwQjs0R0FBMUIsMEJBQTBCLHUvREFGMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQywwSkFIekUsa0VBQWtFOzRGQUtqRSwwQkFBMEI7a0JBUHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLGtFQUFrRTtvQkFDNUUsTUFBTSxFQUFFLENBQUMsdUZBQXVGLENBQUM7b0JBQ2pHLGdEQUFnRDtvQkFDaEQsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyw0QkFBNEIsRUFBRSxDQUFDO2lCQUNwRjs4QkFNNEMsWUFBWTtzQkFBdEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUdoQyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBbUJHLE1BQU07c0JBQWQsS0FBSztnQkF3QkcsVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBSUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBR0csa0JBQWtCO3NCQUExQixLQUFLO2dCQW1CRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBV0csT0FBTztzQkFBZixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFJRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUcsdUJBQXVCO3NCQUEvQixLQUFLO2dCQUVHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgTGVhZmxldEZsb3dNYXAsXG4gIExlYWZsZXRGbG93TWFwQ29uZmlnSW50ZXJmYWNlLFxuICBWaXNFdmVudFR5cGUsXG4gIFZpc0V2ZW50Q2FsbGJhY2ssXG4gIEJvdW5kcyxcbiAgTWFwWm9vbVN0YXRlLFxuICBOdW1lcmljQWNjZXNzb3IsXG4gIFN0cmluZ0FjY2Vzc29yLFxuICBDb2xvckFjY2Vzc29yLFxuICBMZWFmbGV0TWFwUG9pbnREYXR1bSxcbiAgTGVhZmxldE1hcFBvaW50U3R5bGVzLFxuICBUb29sdGlwLFxuICBMZWFmbGV0TWFwQ2x1c3RlckRhdHVtLFxuICBHZW5lcmljRGF0YVJlY29yZCxcbn0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFN0eWxlU3BlY2lmaWNhdGlvbiB9IGZyb20gJ21hcGxpYnJlLWdsJ1xuaW1wb3J0IHsgVmlzQ29yZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1sZWFmbGV0LWZsb3ctbWFwJyxcbiAgdGVtcGxhdGU6ICc8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJ1bm92aXMtbGVhZmxldC1mbG93LW1hcC1jb250YWluZXJcIj48L2Rpdj4nLFxuICBzdHlsZXM6IFsnLnVub3Zpcy1sZWFmbGV0LWZsb3ctbWFwLWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfSddLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNDb3JlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzTGVhZmxldEZsb3dNYXBDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0xlYWZsZXRGbG93TWFwQ29tcG9uZW50PFxuXG4gIFBvaW50RGF0dW0gZXh0ZW5kcyBHZW5lcmljRGF0YVJlY29yZCxcbiAgRmxvd0RhdHVtIGV4dGVuZHMgR2VuZXJpY0RhdGFSZWNvcmQsXG4+IGltcGxlbWVudHMgTGVhZmxldEZsb3dNYXBDb25maWdJbnRlcmZhY2U8UG9pbnREYXR1bSwgRmxvd0RhdHVtPiwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWZcblxuICAvKiogV2lkdGggaW4gcGl4ZWxzIG9yIGluIENTUyB1bml0cy4gQnkgZGVmYXVsdCwgdGhlIG1hcCB3aWxsIGF1dG9tYXRpY2FsbHkgZml0IHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIHdpZHRoPzogbnVtYmVyIHwgc3RyaW5nXG4gIC8qKiBIZWlnaHQgaW4gcGl4ZWxzIG9yIGluIENTUyB1bml0cy4gQnkgZGVmYXVsdCwgdGhlIG1hcCB3aWxsIGF1dG9tYXRpY2FsbHkgZml0IHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuXG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gb2YgdGhlIGRhdGEgdXBkYXRlIHRyYW5zaXRpb25zIGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdDogYDYwMGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogRXZlbnRzIGNvbmZpZ3VyYXRpb24uIEFuIG9iamVjdCBjb250YWluaW5nIHByb3BlcnRpZXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbZXZlbnRUeXBlXTogY2FsbGJhY2tGdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBjbGljazogKGQpID0+IGNvbnNvbGUubG9nKFwiQ2xpY2tlZCBBcmVhXCIsIGQpXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGV2ZW50cz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFtldmVudFR5cGUgaW4gVmlzRXZlbnRUeXBlXT86IFZpc0V2ZW50Q2FsbGJhY2tcbiAgICB9O1xuICB9XG5cbiAgLyoqIFlvdSBjYW4gc2V0IGV2ZXJ5IFNWRyBhbmQgSFRNTCB2aXN1YWxpemF0aW9uIG9iamVjdCB0byBoYXZlIGEgY3VzdG9tIERPTSBhdHRyaWJ1dGVzLCB3aGljaCBpcyB1c2VmdWxcbiAgICogd2hlbiB5b3Ugd2FudCB0byBkbyB1bml0IG9yIGVuZC10by1lbmQgdGVzdGluZy4gQXR0cmlidXRlcyBjb25maWd1cmF0aW9uIG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbYXR0cmlidXRlTmFtZV06IGF0dHJpYnV0ZSBjb25zdGFudCB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBcInRlc3QtdmFsdWVcIjogZCA9PiBkLnZhbHVlXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbYXR0cjogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8ICgoZGF0dW06IGFueSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbik7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gd2hlbiB0aGUgbWFwIGlzIGF1dG9tYXRpY2FsbHkgcGFubmluZyBvciB6b29taW5nIHRvIGEgcG9pbnQgb3IgYXJlYS4gRGVmYXVsdDogYDE1MDBgIG1zICovXG4gIEBJbnB1dCgpIGZseVRvRHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogUGFkZGluZyB0byBiZSB1c2VkIHdoZW4gdGhlIGBmaXRWaWV3YCBmdW5jdGlvbiBoYXMgYmVlbiBjYWxsZWQuIFRoZSB2YWx1ZSBpcyBpbiBwaXhlbHMuIERlZmF1bHQ6IGBbMTUwLCAxNTBdYCAqL1xuICBASW5wdXQoKSBmaXRWaWV3UGFkZGluZz86IFtudW1iZXIsIG51bWJlcl1cblxuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIGZvciB0aGUgYHNldFpvb21gIGZ1bmN0aW9uLiBEZWZhdWx0OiBgODAwYCBtcyAqL1xuICBASW5wdXQoKSB6b29tRHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogRGVmYXVsdCBib3VuZHMgdGhhdCB3aWxsIGJlIGFwcGxpZWQgb24gdGhlIGZpcnN0IG1hcCByZW5kZXIgaWYgdGhlIGJvdW5kcyBwcm9wZXJ0eSBpcyBub3Qgc2V0LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBpbml0aWFsQm91bmRzPzogQm91bmRzXG5cbiAgLyoqIEZvcmNlIHNldCBtYXAgYm91bmRzIG9uIGNvbmZpZyBhbmQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBmaXRCb3VuZHNPblVwZGF0ZT86IEJvdW5kc1xuXG4gIC8qKiBGaXQgdGhlIHZpZXcgdG8gY29udGFpbiB0aGUgZGF0YSBwb2ludHMgb24gbWFwIGluaXRpYWxpemF0aW9uLiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgZml0Vmlld09uSW5pdD86IGJvb2xlYW5cblxuICAvKiogRml0IHRoZSB2aWV3IHRvIGNvbnRhaW4gdGhlIGRhdGEgcG9pbnRzIG9uIG1hcCBjb25maWcgYW5kIGRhdGEgdXBkYXRlcy4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBmaXRWaWV3T25VcGRhdGU/OiBib29sZWFuXG5cbiAgLyoqIE1hcExpYnJlIFN0eWxlU3BlY2lmaWNhdGlvbiBzZXR0aW5ncy4gRGVmYXVsdDogYE1hcExpYnJlQXJjdGljTGlnaHRgICovXG4gIEBJbnB1dCgpIHN0eWxlOiBTdHlsZVNwZWNpZmljYXRpb24gfCBzdHJpbmcgfCB1bmRlZmluZWRcblxuICAvKiogTWFwTGlicmUgU3R5bGVTcGVjaWZpY2F0aW9uIHNldHRpbmdzIGZvciBkYXJrIHRoZW1lLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBzdHlsZURhcmtUaGVtZTogU3R5bGVTcGVjaWZpY2F0aW9uIHwgc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgLyoqIFRpbGUgc2VydmVyIGFjY2VzcyB0b2tlbiBvciBBUEkga2V5LiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGFjY2Vzc1Rva2VuPzogc3RyaW5nXG5cbiAgLyoqIEFycmF5IG9mIGF0dHJpYnV0aW9uIGxhYmVscy4gRGVmYXVsdDogYFsnPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiIHRhcmdldD1cIl9ibGFua1wiPk9wZW5TdHJlZXRNYXAgY29udHJpYnV0b3JzPC9hPiddYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGlvbj86IHN0cmluZ1tdXG5cbiAgLyoqIEZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgbWFwJ3MgYXN5bmMgaW5pdGlhbGl6YXRpb24gaXMgZG9uZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBJbml0aWFsaXplZD86ICgoKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgTW92ZSAvIFpvb20gdW5pZmllZCBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBNb3ZlWm9vbT86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgU3RhcnQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwTW92ZVN0YXJ0PzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgTW92ZSBFbmQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwTW92ZUVuZD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIFpvb20gU3RhcnQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwWm9vbVN0YXJ0PzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBNYXAgWm9vbSBFbmQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwWm9vbUVuZD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIFpvb20gRW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcENsaWNrPzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBQb2ludCBsb25naXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQubG9uZ2l0dWRlYCAqL1xuICBASW5wdXQoKSBwb2ludExvbmdpdHVkZT86IE51bWVyaWNBY2Nlc3NvcjxQb2ludERhdHVtPlxuXG4gIC8qKiBQb2ludCBsYXRpdHVkZSBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5sYXRpdHVkZWAgKi9cbiAgQElucHV0KCkgcG9pbnRMYXRpdHVkZT86IE51bWVyaWNBY2Nlc3NvcjxQb2ludERhdHVtPlxuXG4gIC8qKiBQb2ludCBpZCBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYGQgPT4gZC5pZGAgKi9cbiAgQElucHV0KCkgcG9pbnRJZD86IFN0cmluZ0FjY2Vzc29yPFBvaW50RGF0dW0+XG5cbiAgLyoqIFBvaW50IHNoYXBlIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgZCA9PiBkLnNoYXBlYCAqL1xuICBASW5wdXQoKSBwb2ludFNoYXBlPzogU3RyaW5nQWNjZXNzb3I8UG9pbnREYXR1bT5cblxuICAvKiogUG9pbnQgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGBkID0+IGQuY29sb3JgICovXG4gIEBJbnB1dCgpIHBvaW50Q29sb3I/OiBDb2xvckFjY2Vzc29yPFBvaW50RGF0dW0+XG5cbiAgLyoqIFBvaW50IHJhZGl1cyBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgcG9pbnRSYWRpdXM/OiBOdW1lcmljQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08UG9pbnREYXR1bT4+XG5cbiAgLyoqIFBvaW50IGlubmVyIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLnBvaW50X2NvdW50ID8/ICcnYCAqL1xuICBASW5wdXQoKSBwb2ludExhYmVsPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08UG9pbnREYXR1bT4+XG5cbiAgLyoqIFBvaW50IGlubmVyIGxhYmVsIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgbGFiZWwgY29sb3Igd2lsbCBiZSBzZXQsIGRlcGVuZGluZyBvbiB0aGUgcG9pbnQgYnJpZ2h0bmVzcywgZWl0aGVyIHRvXG4gICAqIGAtLXZpcy1tYXAtcG9pbnQtaW5uZXItbGFiZWwtdGV4dC1jb2xvci1saWdodGAgb3IgdG8gYC0tdmlzLW1hcC1wb2ludC1pbm5lci1sYWJlbC10ZXh0LWNvbG9yLWRhcmtgIENTUyB2YXJpYWJsZS5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGBcbiAgKi9cbiAgQElucHV0KCkgcG9pbnRMYWJlbENvbG9yPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08UG9pbnREYXR1bT4+XG5cbiAgLyoqIFBvaW50IGJvdHRvbSBsYWJlbCBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYCcnYCAqL1xuICBASW5wdXQoKSBwb2ludEJvdHRvbUxhYmVsPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08UG9pbnREYXR1bT4+XG5cbiAgLyoqIFBvaW50IGN1cnNvciB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIHBvaW50Q3Vyc29yPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08UG9pbnREYXR1bT4+XG5cbiAgLyoqIFNldCBzZWxlY3RlZCBwb2ludCBieSBpdHMgdW5pcXVlIGlkLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBzZWxlY3RlZFBvaW50SWQ/OiBzdHJpbmdcblxuICAvKiogQ2x1c3RlciBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJDb2xvcj86IENvbG9yQWNjZXNzb3I8UG9pbnREYXR1bT5cblxuICAvKiogQ2x1c3RlciByYWRpdXMgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICAqL1xuICBASW5wdXQoKSBjbHVzdGVyUmFkaXVzPzogTnVtZXJpY0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08UG9pbnREYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgaW5uZXIgbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQucG9pbnRfY291bnRgICAqL1xuICBASW5wdXQoKSBjbHVzdGVyTGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwQ2x1c3RlckRhdHVtPFBvaW50RGF0dW0+PlxuXG4gIC8qKiBDbHVzdGVyIGlubmVyIGxhYmVsIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgbGFiZWwgY29sb3Igd2lsbCBiZSBzZXQsIGRlcGVuZGluZyBvbiB0aGUgcG9pbnQgYnJpZ2h0bmVzcywgZWl0aGVyIHRvXG4gICAqIGAtLXZpcy1tYXAtY2x1c3Rlci1pbm5lci1sYWJlbC10ZXh0LWNvbG9yLWxpZ2h0YCBvciB0byBgLS12aXMtbWFwLWNsdXN0ZXItaW5uZXItbGFiZWwtdGV4dC1jb2xvci1kYXJrYCBDU1MgdmFyaWFibGUuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgXG4gICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJMYWJlbENvbG9yPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxQb2ludERhdHVtPj5cblxuICAvKiogQ2x1c3RlciBib3R0b20gbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGAnJ2AgKi9cbiAgQElucHV0KCkgY2x1c3RlckJvdHRvbUxhYmVsPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxQb2ludERhdHVtPj5cblxuXG4gIC8qKiBUaGUgd2lkdGggb2YgdGhlIGNsdXN0ZXIgcG9pbnQgb3V0bGluZS4gRGVmYXVsdDogYDEuMjVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJSaW5nV2lkdGg/OiBudW1iZXJcblxuICAvKiogV2hlbiBjbHVzdGVyIGlzIGV4cGFuZGVkLCBzaG93IGEgYmFja2dyb3VuZCBjaXJjbGUgdG8gYmV0dGVyIHNlcGFyYXRlIHBvaW50cyBmcm9tIHRoZSBiYXNlIG1hcC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJCYWNrZ3JvdW5kPzogYm9vbGVhblxuXG4gIC8qKiBEZWZpbmVzIHdoZXRoZXIgdGhlIGNsdXN0ZXIgc2hvdWxkIGV4cGFuZCBvbiBjbGljayBvciBub3QuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBjbHVzdGVyRXhwYW5kT25DbGljaz86IGJvb2xlYW5cblxuICAvKiogQ2x1c3RlcmluZyBkaXN0YW5jZSBpbiBwaXhlbHMuIFRoaXMgdmFsdWUgd2lsbCBiZSBwYXNzZWQgdG8gU3VwZXJjbHVzdGVyIGFzIHRoZSBgcmFkaXVzYCBwcm9wZXJ0eSBodHRwczovL2dpdGh1Yi5jb20vbWFwYm94L3N1cGVyY2x1c3Rlci4gRGVmYXVsdDogYDU1YCAqL1xuICBASW5wdXQoKSBjbHVzdGVyaW5nRGlzdGFuY2U/OiBudW1iZXJcblxuICAvKiogQSBzaW5nbGUgbWFwIHBvaW50IGNhbiBoYXZlIG11bHRpcGxlIHByb3BlcnRpZXMgZGlzcGxheWVkIGFzIGEgc21hbGwgcGllIGNoYXJ0IChvciBhIGRvbnV0IGNoYXJ0IGZvciBhIGNsdXN0ZXIgb2YgcG9pbnRzKS5cbiAgICogQnkgc2V0dGluZyB0aGUgdmFsdWVzTWFwIGNvbmZpZ3VyYXRpb24geW91IGNhbiBzcGVjaWZ5IGRhdGEgcHJvcGVydGllcyB0aGF0IHNob3VsZCBiZSBtYXBwZWQgdG8gdmFyaW91cyBwaWUgLyBkb251dCBzZWdtZW50cy5cbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxba2V5IGluIGtleW9mIERhdHVtXT86IHsgY29sb3I6IHN0cmluZywgY2xhc3NOYW1lPzogc3RyaW5nIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxoZWFsdGh5OiB7IGNvbG9yOiAnZ3JlZW4nIH0sXG4gICAqIFxcd2FybmluZzogeyBjb2xvcjogJ29yYW5nZScgfSxcbiAgICogXFxkYW5nZXI6IHsgY29sb3I6ICdyZWQnIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogd2hlcmUgZXZlcnkgZGF0YSBwb2ludCBoYXMgdGhlIGBoZWFsdGh5YCwgYHdhcm5pbmdgIGFuZCBgZGFuZ2VyYCBudW1lcmljYWwgb3IgYm9vbGVhbiBwcm9wZXJ0eS4gKi9cbiAgQElucHV0KCkgdmFsdWVzTWFwPzogTGVhZmxldE1hcFBvaW50U3R5bGVzPFBvaW50RGF0dW0+XG5cbiAgLyoqIEEgVG9wb0pTT04gR2VvbWV0cnkgbGF5ZXIgdG8gYmUgZGlzcGxheWVkIG9uIHRvcCBvZiB0aGUgbWFwLiBTdXBwb3J0cyBmaWxsIGFuZCBzdHJva2UgKi9cbiAgQElucHV0KCkgdG9wb0pTT05MYXllcj86IHtcbiAgICBzb3VyY2VzOiBhbnk7XG4gICAgZmVhdHVyZU5hbWU/OiBzdHJpbmc7XG4gICAgZmlsbFByb3BlcnR5Pzogc3RyaW5nO1xuICAgIHN0cm9rZVByb3BlcnR5Pzogc3RyaW5nO1xuICAgIGZpbGxPcGFjaXR5PzogbnVtYmVyO1xuICAgIHN0cm9rZU9wYWNpdHk/OiBudW1iZXI7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gIH1cblxuICAvKiogVG9vbHRpcCBjb21wb25lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHRvb2x0aXA/OiBUb29sdGlwXG5cbiAgLyoqIEFsdGVybmF0aXZlIHRleHQgZGVzY3JpcHRpb24gb2YgdGhlIGNoYXJ0IGZvciBhY2Nlc3NpYmlsaXR5IHB1cnBvc2VzLiBJdCB3aWxsIGJlIGFwcGxpZWQgYXMgYW5cbiAgICogYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSB0byB0aGUgZGl2IGVsZW1lbnQgY29udGFpbmluZyB5b3VyIGNoYXJ0LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC5cbiAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIC8qKiBGbG93IHNvdXJjZSBwb2ludCBsb25naXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6LmBmID0+IGYuc291cmNlTG9uZ2l0dWRlYCAqL1xuICBASW5wdXQoKSBzb3VyY2VMb25naXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8Rmxvd0RhdHVtPlxuICAvKiogRmxvdyBzb3VyY2UgcG9pbnQgbGF0aXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGBmID0+IGYuc291cmNlTGF0aXR1ZGVgICovXG4gIEBJbnB1dCgpIHNvdXJjZUxhdGl0dWRlPzogTnVtZXJpY0FjY2Vzc29yPEZsb3dEYXR1bT5cbiAgLyoqIEZsb3cgdGFyZ2V0IHBvaW50IGxvbmdpdHVkZSBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYGYgPT4gZi50YXJnZXRMb25naXR1ZGVgICovXG4gIEBJbnB1dCgpIHRhcmdldExvbmdpdHVkZT86IE51bWVyaWNBY2Nlc3NvcjxGbG93RGF0dW0+XG4gIC8qKiBGbG93IHRhcmdldCBwb2ludCBsYXRpdHVkZSBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZS4gRGVmYXVsdDogYGYgPT4gZi50YXJnZXRMYXRpdHVkZWAgKi9cbiAgQElucHV0KCkgdGFyZ2V0TGF0aXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8Rmxvd0RhdHVtPlxuICAvKiogRmxvdyBzb3VyY2UgcG9pbnQgcmFkaXVzIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlLiBEZWZhdWx0OiBgM2AgKi9cbiAgQElucHV0KCkgc291cmNlUG9pbnRSYWRpdXM/OiBOdW1lcmljQWNjZXNzb3I8Rmxvd0RhdHVtPlxuICAvKiogU291cmNlIHBvaW50IGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlLiBEZWZhdWx0OiBgJyM4ODkxOWYnYCAqL1xuICBASW5wdXQoKSBzb3VyY2VQb2ludENvbG9yPzogQ29sb3JBY2Nlc3NvcjxGbG93RGF0dW0+XG4gIC8qKiBGbG93IHBhcnRpY2xlIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlLiBEZWZhdWx0OiBgJyM5NDlkYWQnYCAqL1xuICBASW5wdXQoKSBmbG93UGFydGljbGVDb2xvcj86IENvbG9yQWNjZXNzb3I8Rmxvd0RhdHVtPlxuICAvKiogRmxvdyBwYXJ0aWNsZSByYWRpdXMgYWNjZXNzb3IgZnVuY3Rpb24gb3IgdmFsdWUuIERlZmF1bHQ6IGAxLjFgICovXG4gIEBJbnB1dCgpIGZsb3dQYXJ0aWNsZVJhZGl1cz86IE51bWVyaWNBY2Nlc3NvcjxGbG93RGF0dW0+XG4gIC8qKiBGbG93IHBhcnRpY2xlIHNwZWVkIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIHZhbHVlIGluIGFuZ3VsYXIgZGVncmVlcy4gRGVmYXVsdDogYDAuMDdgICovXG4gIEBJbnB1dCgpIGZsb3dQYXJ0aWNsZVNwZWVkPzogTnVtZXJpY0FjY2Vzc29yPEZsb3dEYXR1bT5cbiAgLyoqIEZsb3cgcGFydGljbGUgZGVuc2l0eSBhY2Nlc3NvciBmdW5jdGlvbiBvciB2YWx1ZSBvbiB0aGUgcmFuZ2Ugb2YgWzAsIDFdLiBEZWZhdWx0OiBgMC42YCAqL1xuICBASW5wdXQoKSBmbG93UGFydGljbGVEZW5zaXR5PzogTnVtZXJpY0FjY2Vzc29yPEZsb3dEYXR1bT5cblxuICAvLyBFdmVudHNcbiAgLyoqIEZsb3cgc291cmNlIHBvaW50IGNsaWNrIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvblNvdXJjZVBvaW50Q2xpY2s/OiAoKGY6IEZsb3dEYXR1bSwgeDogbnVtYmVyLCB5OiBudW1iZXIsIGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB1bmtub3duKVxuICAvKiogRmxvdyBzb3VyY2UgcG9pbnQgbW91c2Ugb3ZlciBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25Tb3VyY2VQb2ludE1vdXNlRW50ZXI/OiAoKGY6IEZsb3dEYXR1bSwgeDogbnVtYmVyLCB5OiBudW1iZXIsIGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB1bmtub3duKVxuICAvKiogRmxvdyBzb3VyY2UgcG9pbnQgbW91c2UgbGVhdmUgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uU291cmNlUG9pbnRNb3VzZUxlYXZlPzogKChmOiBGbG93RGF0dW0sIGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB1bmtub3duKVxuXG4gIC8qKiBEYXRhICovXG4gIEBJbnB1dCgpIGRhdGE/OiB7IHBvaW50czogUG9pbnREYXR1bVtdOyBmbG93czogRmxvd0RhdHVtW10gfVxuXG4gIGNvbXBvbmVudDogTGVhZmxldEZsb3dNYXA8UG9pbnREYXR1bSwgRmxvd0RhdHVtPiB8IHVuZGVmaW5lZFxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5nZXRDb25maWcoKVxuICAgIHRoaXMuY29tcG9uZW50ID0gbmV3IExlYWZsZXRGbG93TWFwPFBvaW50RGF0dW0sIEZsb3dEYXR1bT4odGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCwgY29uZmlnLCB0aGlzLmRhdGEpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSlcbiAgICB9XG4gICAgdGhpcy5jb21wb25lbnQ/LnNldENvbmZpZyh0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25maWcgKCk6IExlYWZsZXRGbG93TWFwQ29uZmlnSW50ZXJmYWNlPFBvaW50RGF0dW0sIEZsb3dEYXR1bT4ge1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCwgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgZmx5VG9EdXJhdGlvbiwgZml0Vmlld1BhZGRpbmcsIHpvb21EdXJhdGlvbiwgaW5pdGlhbEJvdW5kcywgZml0Qm91bmRzT25VcGRhdGUsIGZpdFZpZXdPbkluaXQsIGZpdFZpZXdPblVwZGF0ZSwgYWNjZXNzVG9rZW4sIHN0eWxlLCBzdHlsZURhcmtUaGVtZSwgYXR0cmlidXRpb24sIG9uTWFwSW5pdGlhbGl6ZWQsIG9uTWFwTW92ZVpvb20sIG9uTWFwTW92ZVN0YXJ0LCBvbk1hcE1vdmVFbmQsIG9uTWFwWm9vbVN0YXJ0LCBvbk1hcFpvb21FbmQsIG9uTWFwQ2xpY2ssIHBvaW50TG9uZ2l0dWRlLCBwb2ludExhdGl0dWRlLCBwb2ludElkLCBwb2ludFNoYXBlLCBwb2ludENvbG9yLCBwb2ludFJhZGl1cywgcG9pbnRMYWJlbCwgcG9pbnRMYWJlbENvbG9yLCBwb2ludEJvdHRvbUxhYmVsLCBwb2ludEN1cnNvciwgc2VsZWN0ZWRQb2ludElkLCBjbHVzdGVyQ29sb3IsIGNsdXN0ZXJSYWRpdXMsIGNsdXN0ZXJMYWJlbCwgY2x1c3RlckxhYmVsQ29sb3IsIGNsdXN0ZXJCb3R0b21MYWJlbCwgY2x1c3RlclJpbmdXaWR0aCwgY2x1c3RlckJhY2tncm91bmQsIGNsdXN0ZXJFeHBhbmRPbkNsaWNrLCBjbHVzdGVyaW5nRGlzdGFuY2UsIHZhbHVlc01hcCwgdG9wb0pTT05MYXllciwgdG9vbHRpcCwgYXJpYUxhYmVsLCBzb3VyY2VMb25naXR1ZGUsIHNvdXJjZUxhdGl0dWRlLCB0YXJnZXRMb25naXR1ZGUsIHRhcmdldExhdGl0dWRlLCBzb3VyY2VQb2ludFJhZGl1cywgc291cmNlUG9pbnRDb2xvciwgZmxvd1BhcnRpY2xlQ29sb3IsIGZsb3dQYXJ0aWNsZVJhZGl1cywgZmxvd1BhcnRpY2xlU3BlZWQsIGZsb3dQYXJ0aWNsZURlbnNpdHksIG9uU291cmNlUG9pbnRDbGljaywgb25Tb3VyY2VQb2ludE1vdXNlRW50ZXIsIG9uU291cmNlUG9pbnRNb3VzZUxlYXZlIH0gPSB0aGlzXG4gICAgY29uc3QgY29uZmlnID0geyB3aWR0aCwgaGVpZ2h0LCBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCBmbHlUb0R1cmF0aW9uLCBmaXRWaWV3UGFkZGluZywgem9vbUR1cmF0aW9uLCBpbml0aWFsQm91bmRzLCBmaXRCb3VuZHNPblVwZGF0ZSwgZml0Vmlld09uSW5pdCwgZml0Vmlld09uVXBkYXRlLCBhY2Nlc3NUb2tlbiwgc3R5bGUsIHN0eWxlRGFya1RoZW1lLCBhdHRyaWJ1dGlvbiwgb25NYXBJbml0aWFsaXplZCwgb25NYXBNb3ZlWm9vbSwgb25NYXBNb3ZlU3RhcnQsIG9uTWFwTW92ZUVuZCwgb25NYXBab29tU3RhcnQsIG9uTWFwWm9vbUVuZCwgb25NYXBDbGljaywgcG9pbnRMb25naXR1ZGUsIHBvaW50TGF0aXR1ZGUsIHBvaW50SWQsIHBvaW50U2hhcGUsIHBvaW50Q29sb3IsIHBvaW50UmFkaXVzLCBwb2ludExhYmVsLCBwb2ludExhYmVsQ29sb3IsIHBvaW50Qm90dG9tTGFiZWwsIHBvaW50Q3Vyc29yLCBzZWxlY3RlZFBvaW50SWQsIGNsdXN0ZXJDb2xvciwgY2x1c3RlclJhZGl1cywgY2x1c3RlckxhYmVsLCBjbHVzdGVyTGFiZWxDb2xvciwgY2x1c3RlckJvdHRvbUxhYmVsLCBjbHVzdGVyUmluZ1dpZHRoLCBjbHVzdGVyQmFja2dyb3VuZCwgY2x1c3RlckV4cGFuZE9uQ2xpY2ssIGNsdXN0ZXJpbmdEaXN0YW5jZSwgdmFsdWVzTWFwLCB0b3BvSlNPTkxheWVyLCB0b29sdGlwLCBhcmlhTGFiZWwsIHNvdXJjZUxvbmdpdHVkZSwgc291cmNlTGF0aXR1ZGUsIHRhcmdldExvbmdpdHVkZSwgdGFyZ2V0TGF0aXR1ZGUsIHNvdXJjZVBvaW50UmFkaXVzLCBzb3VyY2VQb2ludENvbG9yLCBmbG93UGFydGljbGVDb2xvciwgZmxvd1BhcnRpY2xlUmFkaXVzLCBmbG93UGFydGljbGVTcGVlZCwgZmxvd1BhcnRpY2xlRGVuc2l0eSwgb25Tb3VyY2VQb2ludENsaWNrLCBvblNvdXJjZVBvaW50TW91c2VFbnRlciwgb25Tb3VyY2VQb2ludE1vdXNlTGVhdmUgfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBMZWFmbGV0Rmxvd01hcENvbmZpZ0ludGVyZmFjZTxQb2ludERhdHVtLCBGbG93RGF0dW0+KVtdXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiB7IGlmIChjb25maWdba2V5XSA9PT0gdW5kZWZpbmVkKSBkZWxldGUgY29uZmlnW2tleV0gfSlcblxuICAgIHJldHVybiBjb25maWdcbiAgfVxufVxuIl19