UNPKG

ng-apexcharts

Version:
643 lines 49.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ // export declare class ApexCharts { // constructor(el: any, options: ApexOptions); // static exec(chartID: string, fn: () => void, options: any): any; // static initOnLoad(): void; // render(): Promise<void>; // updateOptions(options: any, redrawPaths: boolean, animate: boolean): Promise<void>; // updateSeries(newSeries: ApexAxisChartSeries | ApexNonAxisChartSeries, animate: boolean): void; // toggleSeries(seriesName: string): void; // destroy(): void; // addXaxisAnnotation(options: any, pushToMemory?: boolean, context?: any): void; // addYaxisAnnotation(options: any, pushToMemory?: boolean, context?: any): void; // addPointAnnotation(options: any, pushToMemory?: boolean, context?: any): void; // addText(options: any, pushToMemory?: boolean, context?: any): void; // dataURI(): void; // } /** * @record */ export function ApexOptions() { } if (false) { /** @type {?|undefined} */ ApexOptions.prototype.annotations; /** @type {?|undefined} */ ApexOptions.prototype.chart; /** @type {?|undefined} */ ApexOptions.prototype.colors; /** @type {?|undefined} */ ApexOptions.prototype.dataLabels; /** @type {?|undefined} */ ApexOptions.prototype.series; /** @type {?|undefined} */ ApexOptions.prototype.stroke; /** @type {?|undefined} */ ApexOptions.prototype.labels; /** @type {?|undefined} */ ApexOptions.prototype.legend; /** @type {?|undefined} */ ApexOptions.prototype.fill; /** @type {?|undefined} */ ApexOptions.prototype.tooltip; /** @type {?|undefined} */ ApexOptions.prototype.plotOptions; /** @type {?|undefined} */ ApexOptions.prototype.responsive; /** @type {?|undefined} */ ApexOptions.prototype.xaxis; /** @type {?|undefined} */ ApexOptions.prototype.yaxis; /** @type {?|undefined} */ ApexOptions.prototype.grid; /** @type {?|undefined} */ ApexOptions.prototype.states; /** @type {?|undefined} */ ApexOptions.prototype.title; /** @type {?|undefined} */ ApexOptions.prototype.subtitle; /** @type {?|undefined} */ ApexOptions.prototype.theme; } /** * Main Chart options * See https://apexcharts.com/docs/options/chart/ * @record */ export function ApexChart() { } if (false) { /** @type {?|undefined} */ ApexChart.prototype.width; /** @type {?|undefined} */ ApexChart.prototype.height; /** @type {?} */ ApexChart.prototype.type; /** @type {?|undefined} */ ApexChart.prototype.foreColor; /** @type {?|undefined} */ ApexChart.prototype.fontFamily; /** @type {?|undefined} */ ApexChart.prototype.background; /** @type {?|undefined} */ ApexChart.prototype.offsetX; /** @type {?|undefined} */ ApexChart.prototype.offsetY; /** @type {?|undefined} */ ApexChart.prototype.dropShadow; /** @type {?|undefined} */ ApexChart.prototype.events; /** @type {?|undefined} */ ApexChart.prototype.brush; /** @type {?|undefined} */ ApexChart.prototype.id; /** @type {?|undefined} */ ApexChart.prototype.locales; /** @type {?|undefined} */ ApexChart.prototype.defaultLocale; /** @type {?|undefined} */ ApexChart.prototype.parentHeightOffset; /** @type {?|undefined} */ ApexChart.prototype.sparkline; /** @type {?|undefined} */ ApexChart.prototype.stacked; /** @type {?|undefined} */ ApexChart.prototype.stackType; /** @type {?|undefined} */ ApexChart.prototype.toolbar; /** @type {?|undefined} */ ApexChart.prototype.zoom; /** @type {?|undefined} */ ApexChart.prototype.selection; /** @type {?|undefined} */ ApexChart.prototype.animations; } /** * @record */ export function ApexStates() { } if (false) { /** @type {?|undefined} */ ApexStates.prototype.normal; /** @type {?|undefined} */ ApexStates.prototype.hover; /** @type {?|undefined} */ ApexStates.prototype.active; } /** * Chart Title options * See https://apexcharts.com/docs/options/title/ * @record */ export function ApexTitleSubtitle() { } if (false) { /** @type {?|undefined} */ ApexTitleSubtitle.prototype.text; /** @type {?|undefined} */ ApexTitleSubtitle.prototype.align; /** @type {?|undefined} */ ApexTitleSubtitle.prototype.margin; /** @type {?|undefined} */ ApexTitleSubtitle.prototype.offsetX; /** @type {?|undefined} */ ApexTitleSubtitle.prototype.offsetY; /** @type {?|undefined} */ ApexTitleSubtitle.prototype.floating; /** @type {?|undefined} */ ApexTitleSubtitle.prototype.style; } /** * Options for the line drawn on line and area charts. * See https://apexcharts.com/docs/options/stroke/ * @record */ export function ApexStroke() { } if (false) { /** @type {?|undefined} */ ApexStroke.prototype.show; /** @type {?|undefined} */ ApexStroke.prototype.curve; /** @type {?|undefined} */ ApexStroke.prototype.lineCap; /** @type {?|undefined} */ ApexStroke.prototype.colors; /** @type {?|undefined} */ ApexStroke.prototype.width; /** @type {?|undefined} */ ApexStroke.prototype.dashArray; } /** * @record */ export function ApexAnnotations() { } if (false) { /** @type {?|undefined} */ ApexAnnotations.prototype.position; /** @type {?|undefined} */ ApexAnnotations.prototype.yaxis; /** @type {?|undefined} */ ApexAnnotations.prototype.xaxis; /** @type {?|undefined} */ ApexAnnotations.prototype.points; } /** * @record */ export function AnnotationLabel() { } if (false) { /** @type {?|undefined} */ AnnotationLabel.prototype.borderColor; /** @type {?|undefined} */ AnnotationLabel.prototype.borderWidth; /** @type {?|undefined} */ AnnotationLabel.prototype.text; /** @type {?|undefined} */ AnnotationLabel.prototype.textAnchor; /** @type {?|undefined} */ AnnotationLabel.prototype.offsetX; /** @type {?|undefined} */ AnnotationLabel.prototype.offsetY; /** @type {?|undefined} */ AnnotationLabel.prototype.style; /** @type {?|undefined} */ AnnotationLabel.prototype.position; /** @type {?|undefined} */ AnnotationLabel.prototype.orientation; } /** * @record */ export function AnnotationStyle() { } if (false) { /** @type {?|undefined} */ AnnotationStyle.prototype.background; /** @type {?|undefined} */ AnnotationStyle.prototype.color; /** @type {?|undefined} */ AnnotationStyle.prototype.fontSize; /** @type {?|undefined} */ AnnotationStyle.prototype.cssClass; /** @type {?|undefined} */ AnnotationStyle.prototype.padding; } /** * @record */ export function XAxisAnnotations() { } if (false) { /** @type {?|undefined} */ XAxisAnnotations.prototype.x; /** @type {?|undefined} */ XAxisAnnotations.prototype.strokeDashArray; /** @type {?|undefined} */ XAxisAnnotations.prototype.borderColor; /** @type {?|undefined} */ XAxisAnnotations.prototype.offsetX; /** @type {?|undefined} */ XAxisAnnotations.prototype.offsetY; /** @type {?|undefined} */ XAxisAnnotations.prototype.label; } /** * @record */ export function YAxisAnnotations() { } if (false) { /** @type {?|undefined} */ YAxisAnnotations.prototype.y; /** @type {?|undefined} */ YAxisAnnotations.prototype.strokeDashArray; /** @type {?|undefined} */ YAxisAnnotations.prototype.borderColor; /** @type {?|undefined} */ YAxisAnnotations.prototype.offsetX; /** @type {?|undefined} */ YAxisAnnotations.prototype.offsetY; /** @type {?|undefined} */ YAxisAnnotations.prototype.yAxisIndex; /** @type {?|undefined} */ YAxisAnnotations.prototype.label; } /** * @record */ export function PointAnnotations() { } if (false) { /** @type {?|undefined} */ PointAnnotations.prototype.x; /** @type {?|undefined} */ PointAnnotations.prototype.y; /** @type {?|undefined} */ PointAnnotations.prototype.yAxisIndex; /** @type {?|undefined} */ PointAnnotations.prototype.seriesIndex; /** @type {?|undefined} */ PointAnnotations.prototype.marker; /** @type {?|undefined} */ PointAnnotations.prototype.label; } /** * Options for localization. * See https://apexcharts.com/docs/options/chart/locales * @record */ export function ApexLocale() { } if (false) { /** @type {?|undefined} */ ApexLocale.prototype.name; /** @type {?|undefined} */ ApexLocale.prototype.options; } /** * PlotOptions for specifying chart-type-specific configuration. * See https://apexcharts.com/docs/options/plotoptions/bar/ * @record */ export function ApexPlotOptions() { } if (false) { /** @type {?|undefined} */ ApexPlotOptions.prototype.bar; /** @type {?|undefined} */ ApexPlotOptions.prototype.candlestick; /** @type {?|undefined} */ ApexPlotOptions.prototype.heatmap; /** @type {?|undefined} */ ApexPlotOptions.prototype.pie; /** @type {?|undefined} */ ApexPlotOptions.prototype.radar; /** @type {?|undefined} */ ApexPlotOptions.prototype.radialBar; } /** * @record */ export function ApexFill() { } if (false) { /** @type {?|undefined} */ ApexFill.prototype.colors; /** @type {?|undefined} */ ApexFill.prototype.opacity; /** @type {?|undefined} */ ApexFill.prototype.type; /** @type {?|undefined} */ ApexFill.prototype.gradient; /** @type {?|undefined} */ ApexFill.prototype.image; /** @type {?|undefined} */ ApexFill.prototype.pattern; } /** * Chart Legend configuration options. * See https://apexcharts.com/docs/options/legend/ * @record */ export function ApexLegend() { } if (false) { /** @type {?|undefined} */ ApexLegend.prototype.show; /** @type {?|undefined} */ ApexLegend.prototype.showForSingleSeries; /** @type {?|undefined} */ ApexLegend.prototype.showForNullSeries; /** @type {?|undefined} */ ApexLegend.prototype.showForZeroSeries; /** @type {?|undefined} */ ApexLegend.prototype.floating; /** @type {?|undefined} */ ApexLegend.prototype.position; /** @type {?|undefined} */ ApexLegend.prototype.horizontalAlign; /** @type {?|undefined} */ ApexLegend.prototype.fontSize; /** @type {?|undefined} */ ApexLegend.prototype.fontFamily; /** @type {?|undefined} */ ApexLegend.prototype.width; /** @type {?|undefined} */ ApexLegend.prototype.height; /** @type {?|undefined} */ ApexLegend.prototype.offsetX; /** @type {?|undefined} */ ApexLegend.prototype.offsetY; /** @type {?|undefined} */ ApexLegend.prototype.textAnchor; /** @type {?|undefined} */ ApexLegend.prototype.labels; /** @type {?|undefined} */ ApexLegend.prototype.markers; /** @type {?|undefined} */ ApexLegend.prototype.itemMargin; /** @type {?|undefined} */ ApexLegend.prototype.containerMargin; /** @type {?|undefined} */ ApexLegend.prototype.onItemClick; /** @type {?|undefined} */ ApexLegend.prototype.onItemHover; /** * @param {?} val * @param {?} opts * @return {?} */ ApexLegend.prototype.formatter = function (val, opts) { }; } /** * Chart Datalabels options * See https://apexcharts.com/docs/options/datalabels/ * @record */ export function ApexDataLabels() { } if (false) { /** @type {?|undefined} */ ApexDataLabels.prototype.enabled; /** @type {?|undefined} */ ApexDataLabels.prototype.textAnchor; /** @type {?|undefined} */ ApexDataLabels.prototype.offsetX; /** @type {?|undefined} */ ApexDataLabels.prototype.offsetY; /** @type {?|undefined} */ ApexDataLabels.prototype.style; /** @type {?|undefined} */ ApexDataLabels.prototype.dropShadow; /** * @param {?} val * @param {?} opts * @return {?} */ ApexDataLabels.prototype.formatter = function (val, opts) { }; } /** * @record */ export function ApexResponsive() { } if (false) { /** @type {?|undefined} */ ApexResponsive.prototype.breakpoint; /** @type {?|undefined} */ ApexResponsive.prototype.options; } /** * Chart Tooltip options * See https://apexcharts.com/docs/options/tooltip/ * @record */ export function ApexTooltip() { } if (false) { /** @type {?|undefined} */ ApexTooltip.prototype.enabled; /** @type {?|undefined} */ ApexTooltip.prototype.shared; /** @type {?|undefined} */ ApexTooltip.prototype.followCursor; /** @type {?|undefined} */ ApexTooltip.prototype.intersect; /** @type {?|undefined} */ ApexTooltip.prototype.inverseOrder; /** @type {?|undefined} */ ApexTooltip.prototype.theme; /** @type {?|undefined} */ ApexTooltip.prototype.style; /** @type {?|undefined} */ ApexTooltip.prototype.fillSeriesColor; /** @type {?|undefined} */ ApexTooltip.prototype.onDatasetHover; /** @type {?|undefined} */ ApexTooltip.prototype.x; /** @type {?|undefined} */ ApexTooltip.prototype.y; /** @type {?|undefined} */ ApexTooltip.prototype.z; /** @type {?|undefined} */ ApexTooltip.prototype.marker; /** @type {?|undefined} */ ApexTooltip.prototype.items; /** @type {?|undefined} */ ApexTooltip.prototype.fixed; /** * @param {?} options * @return {?} */ ApexTooltip.prototype.custom = function (options) { }; } /** * X Axis options * See https://apexcharts.com/docs/options/xaxis/ * @record */ export function ApexXAxis() { } if (false) { /** @type {?|undefined} */ ApexXAxis.prototype.type; /** @type {?|undefined} */ ApexXAxis.prototype.categories; /** @type {?|undefined} */ ApexXAxis.prototype.labels; /** @type {?|undefined} */ ApexXAxis.prototype.axisBorder; /** @type {?|undefined} */ ApexXAxis.prototype.axisTicks; /** @type {?|undefined} */ ApexXAxis.prototype.tickAmount; /** @type {?|undefined} */ ApexXAxis.prototype.min; /** @type {?|undefined} */ ApexXAxis.prototype.max; /** @type {?|undefined} */ ApexXAxis.prototype.range; /** @type {?|undefined} */ ApexXAxis.prototype.floating; /** @type {?|undefined} */ ApexXAxis.prototype.position; /** @type {?|undefined} */ ApexXAxis.prototype.title; /** @type {?|undefined} */ ApexXAxis.prototype.crosshairs; /** @type {?|undefined} */ ApexXAxis.prototype.tooltip; } /** * Y Axis options * See https://apexcharts.com/docs/options/yaxis/ * @record */ export function ApexYAxis() { } if (false) { /** @type {?|undefined} */ ApexYAxis.prototype.show; /** @type {?|undefined} */ ApexYAxis.prototype.showAlways; /** @type {?|undefined} */ ApexYAxis.prototype.seriesName; /** @type {?|undefined} */ ApexYAxis.prototype.opposite; /** @type {?|undefined} */ ApexYAxis.prototype.logarithmic; /** @type {?|undefined} */ ApexYAxis.prototype.tickAmount; /** @type {?|undefined} */ ApexYAxis.prototype.forceNiceScale; /** @type {?|undefined} */ ApexYAxis.prototype.min; /** @type {?|undefined} */ ApexYAxis.prototype.max; /** @type {?|undefined} */ ApexYAxis.prototype.floating; /** @type {?|undefined} */ ApexYAxis.prototype.decimalsInFloat; /** @type {?|undefined} */ ApexYAxis.prototype.labels; /** @type {?|undefined} */ ApexYAxis.prototype.axisBorder; /** @type {?|undefined} */ ApexYAxis.prototype.axisTicks; /** @type {?|undefined} */ ApexYAxis.prototype.title; /** @type {?|undefined} */ ApexYAxis.prototype.crosshairs; /** @type {?|undefined} */ ApexYAxis.prototype.tooltip; } /** * Plot X and Y grid options * See https://apexcharts.com/docs/options/grid/ * @record */ export function ApexGrid() { } if (false) { /** @type {?|undefined} */ ApexGrid.prototype.show; /** @type {?|undefined} */ ApexGrid.prototype.borderColor; /** @type {?|undefined} */ ApexGrid.prototype.strokeDashArray; /** @type {?|undefined} */ ApexGrid.prototype.position; /** @type {?|undefined} */ ApexGrid.prototype.xaxis; /** @type {?|undefined} */ ApexGrid.prototype.yaxis; /** @type {?|undefined} */ ApexGrid.prototype.row; /** @type {?|undefined} */ ApexGrid.prototype.column; /** @type {?|undefined} */ ApexGrid.prototype.padding; } /** * @record */ export function ApexTheme() { } if (false) { /** @type {?|undefined} */ ApexTheme.prototype.mode; /** @type {?|undefined} */ ApexTheme.prototype.palette; /** @type {?|undefined} */ ApexTheme.prototype.monochrome; } /** * @record */ function ApexDiscretePoint() { } if (false) { /** @type {?|undefined} */ ApexDiscretePoint.prototype.seriesIndex; /** @type {?|undefined} */ ApexDiscretePoint.prototype.dataPointIndex; /** @type {?|undefined} */ ApexDiscretePoint.prototype.fillColor; /** @type {?|undefined} */ ApexDiscretePoint.prototype.strokeColor; /** @type {?|undefined} */ ApexDiscretePoint.prototype.size; } /** * @record */ export function ApexMarkers() { } if (false) { /** @type {?|undefined} */ ApexMarkers.prototype.size; /** @type {?|undefined} */ ApexMarkers.prototype.colors; /** @type {?|undefined} */ ApexMarkers.prototype.strokeColor; /** @type {?|undefined} */ ApexMarkers.prototype.strokeWidth; /** @type {?|undefined} */ ApexMarkers.prototype.strokeOpacity; /** @type {?|undefined} */ ApexMarkers.prototype.fillOpacity; /** @type {?|undefined} */ ApexMarkers.prototype.discrete; /** @type {?|undefined} */ ApexMarkers.prototype.shape; /** @type {?|undefined} */ ApexMarkers.prototype.radius; /** @type {?|undefined} */ ApexMarkers.prototype.offsetX; /** @type {?|undefined} */ ApexMarkers.prototype.offsetY; /** @type {?|undefined} */ ApexMarkers.prototype.hover; } /** * @record */ export function ApexNoData() { } if (false) { /** @type {?|undefined} */ ApexNoData.prototype.text; /** @type {?|undefined} */ ApexNoData.prototype.align; /** @type {?|undefined} */ ApexNoData.prototype.verticalAlign; /** @type {?|undefined} */ ApexNoData.prototype.offsetX; /** @type {?|undefined} */ ApexNoData.prototype.offsetY; /** @type {?|undefined} */ ApexNoData.prototype.style; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBleC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWFwZXhjaGFydHMvIiwic291cmNlcyI6WyJsaWIvbW9kZWwvYXBleC10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBLGlDQW9CQzs7O0lBbkJDLGtDQUE4Qjs7SUFDOUIsNEJBQWtCOztJQUNsQiw2QkFBa0I7O0lBQ2xCLGlDQUE0Qjs7SUFDNUIsNkJBQXNEOztJQUN0RCw2QkFBb0I7O0lBQ3BCLDZCQUFrQjs7SUFDbEIsNkJBQW9COztJQUNwQiwyQkFBZ0I7O0lBQ2hCLDhCQUFzQjs7SUFDdEIsa0NBQThCOztJQUM5QixpQ0FBOEI7O0lBQzlCLDRCQUFrQjs7SUFDbEIsNEJBQWdDOztJQUNoQywyQkFBZ0I7O0lBQ2hCLDZCQUFvQjs7SUFDcEIsNEJBQTBCOztJQUMxQiwrQkFBNkI7O0lBQzdCLDRCQUFrQjs7Ozs7OztBQU9wQiwrQkE2R0M7OztJQTVHQywwQkFBd0I7O0lBQ3hCLDJCQUF5Qjs7SUFDekIseUJBQWdCOztJQUNoQiw4QkFBbUI7O0lBQ25CLCtCQUFvQjs7SUFDcEIsK0JBQW9COztJQUNwQiw0QkFBaUI7O0lBQ2pCLDRCQUFpQjs7SUFDakIsK0JBTUU7O0lBQ0YsMkJBZUU7O0lBQ0YsMEJBSUU7O0lBQ0YsdUJBQVk7O0lBQ1osNEJBQXVCOztJQUN2QixrQ0FBdUI7O0lBQ3ZCLHVDQUE0Qjs7SUFDNUIsOEJBRUU7O0lBQ0YsNEJBQWtCOztJQUNsQiw4QkFBOEI7O0lBQzlCLDRCQVlFOztJQUNGLHlCQWNFOztJQUNGLDhCQXFCRTs7SUFDRiwrQkFZRTs7Ozs7QUFHSixnQ0FvQkM7OztJQW5CQyw0QkFLRTs7SUFDRiwyQkFLRTs7SUFDRiw0QkFNRTs7Ozs7OztBQU9KLHVDQVdDOzs7SUFWQyxpQ0FBYzs7SUFDZCxrQ0FBb0M7O0lBQ3BDLG1DQUFnQjs7SUFDaEIsb0NBQWlCOztJQUNqQixvQ0FBaUI7O0lBQ2pCLHFDQUFrQjs7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Q2xCLDBCQVNFOztJQUNGLCtCQTRCRTs7SUFDRiw0QkFHRTs7Ozs7OztBQU9KLCtCQW1FQzs7O0lBbEVDLHlCQUFlOztJQUNmLCtCQUFxQjs7SUFDckIsK0JBQW9COztJQUNwQiw2QkFBbUI7O0lBQ25CLGdDQUFzQjs7SUFDdEIsK0JBQW9COztJQUNwQixtQ0FBeUI7O0lBQ3pCLHdCQUFhOztJQUNiLHdCQUFhOztJQUNiLDZCQUFtQjs7SUFDbkIsb0NBQXlCOztJQUN6QiwyQkFnQkU7O0lBQ0YsK0JBS0U7O0lBQ0YsOEJBTUU7O0lBQ0YsMEJBV0U7O0lBQ0YsK0JBUUU7O0lBQ0YsNEJBR0U7Ozs7Ozs7QUFPSiw4QkFpQ0M7OztJQWhDQyx3QkFBZTs7SUFDZiwrQkFBcUI7O0lBQ3JCLG1DQUF5Qjs7SUFDekIsNEJBQTRCOztJQUM1Qix5QkFNRTs7SUFDRix5QkFNRTs7SUFDRix1QkFHRTs7SUFDRiwwQkFHRTs7SUFDRiwyQkFLRTs7Ozs7QUFHSiwrQkFTQzs7O0lBUkMseUJBQXdCOztJQUN4Qiw0QkFBaUI7O0lBQ2pCLCtCQUtFOzs7OztBQUdKLGdDQU1DOzs7SUFMQyx3Q0FBcUI7O0lBQ3JCLDJDQUF3Qjs7SUFDeEIsc0NBQW1COztJQUNuQix3Q0FBcUI7O0lBQ3JCLGlDQUFjOzs7OztBQUdoQixpQ0FnQkM7OztJQWZDLDJCQUFjOztJQUNkLDZCQUFrQjs7SUFDbEIsa0NBQXFCOztJQUNyQixrQ0FBcUI7O0lBQ3JCLG9DQUF1Qjs7SUFDdkIsa0NBQXFCOztJQUNyQiwrQkFBK0I7O0lBQy9CLDRCQUE0Qjs7SUFDNUIsNkJBQWdCOztJQUNoQiw4QkFBaUI7O0lBQ2pCLDhCQUFpQjs7SUFDakIsNEJBR0U7Ozs7O0FBSUosZ0NBV0M7OztJQVZDLDBCQUFjOztJQUNkLDJCQUFvQzs7SUFDcEMsbUNBQTRDOztJQUM1Qyw2QkFBaUI7O0lBQ2pCLDZCQUFpQjs7SUFDakIsMkJBSUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBleHBvcnQgZGVjbGFyZSBjbGFzcyBBcGV4Q2hhcnRzIHtcbi8vICAgY29uc3RydWN0b3IoZWw6IGFueSwgb3B0aW9uczogQXBleE9wdGlvbnMpO1xuLy8gICBzdGF0aWMgZXhlYyhjaGFydElEOiBzdHJpbmcsIGZuOiAoKSA9PiB2b2lkLCBvcHRpb25zOiBhbnkpOiBhbnk7XG4vLyAgIHN0YXRpYyBpbml0T25Mb2FkKCk6IHZvaWQ7XG4vLyAgIHJlbmRlcigpOiBQcm9taXNlPHZvaWQ+O1xuLy8gICB1cGRhdGVPcHRpb25zKG9wdGlvbnM6IGFueSwgcmVkcmF3UGF0aHM6IGJvb2xlYW4sIGFuaW1hdGU6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+O1xuLy8gICB1cGRhdGVTZXJpZXMobmV3U2VyaWVzOiBBcGV4QXhpc0NoYXJ0U2VyaWVzIHwgQXBleE5vbkF4aXNDaGFydFNlcmllcywgYW5pbWF0ZTogYm9vbGVhbik6IHZvaWQ7XG4vLyAgIHRvZ2dsZVNlcmllcyhzZXJpZXNOYW1lOiBzdHJpbmcpOiB2b2lkO1xuLy8gICBkZXN0cm95KCk6IHZvaWQ7XG4vLyAgIGFkZFhheGlzQW5ub3RhdGlvbihvcHRpb25zOiBhbnksIHB1c2hUb01lbW9yeT86IGJvb2xlYW4sIGNvbnRleHQ/OiBhbnkpOiB2b2lkO1xuLy8gICBhZGRZYXhpc0Fubm90YXRpb24ob3B0aW9uczogYW55LCBwdXNoVG9NZW1vcnk/OiBib29sZWFuLCBjb250ZXh0PzogYW55KTogdm9pZDtcbi8vICAgYWRkUG9pbnRBbm5vdGF0aW9uKG9wdGlvbnM6IGFueSwgcHVzaFRvTWVtb3J5PzogYm9vbGVhbiwgY29udGV4dD86IGFueSk6IHZvaWQ7XG4vLyAgIGFkZFRleHQob3B0aW9uczogYW55LCBwdXNoVG9NZW1vcnk/OiBib29sZWFuLCBjb250ZXh0PzogYW55KTogdm9pZDtcbi8vICAgZGF0YVVSSSgpOiB2b2lkO1xuLy8gfVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhPcHRpb25zIHtcbiAgYW5ub3RhdGlvbnM/OiBBcGV4QW5ub3RhdGlvbnM7XG4gIGNoYXJ0PzogQXBleENoYXJ0O1xuICBjb2xvcnM/OiBzdHJpbmdbXTtcbiAgZGF0YUxhYmVscz86IEFwZXhEYXRhTGFiZWxzO1xuICBzZXJpZXM/OiBBcGV4QXhpc0NoYXJ0U2VyaWVzIHwgQXBleE5vbkF4aXNDaGFydFNlcmllcztcbiAgc3Ryb2tlPzogQXBleFN0cm9rZTtcbiAgbGFiZWxzPzogc3RyaW5nW107XG4gIGxlZ2VuZD86IEFwZXhMZWdlbmQ7XG4gIGZpbGw/OiBBcGV4RmlsbDtcbiAgdG9vbHRpcD86IEFwZXhUb29sdGlwO1xuICBwbG90T3B0aW9ucz86IEFwZXhQbG90T3B0aW9ucztcbiAgcmVzcG9uc2l2ZT86IEFwZXhSZXNwb25zaXZlW107XG4gIHhheGlzPzogQXBleFhBeGlzO1xuICB5YXhpcz86IEFwZXhZQXhpcyB8IEFwZXhZQXhpc1tdO1xuICBncmlkPzogQXBleEdyaWQ7XG4gIHN0YXRlcz86IEFwZXhTdGF0ZXM7XG4gIHRpdGxlPzogQXBleFRpdGxlU3VidGl0bGU7XG4gIHN1YnRpdGxlPzogQXBleFRpdGxlU3VidGl0bGU7XG4gIHRoZW1lPzogQXBleFRoZW1lO1xufVxuXG4vKipcbiAqIE1haW4gQ2hhcnQgb3B0aW9uc1xuICogU2VlIGh0dHBzOi8vYXBleGNoYXJ0cy5jb20vZG9jcy9vcHRpb25zL2NoYXJ0L1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhDaGFydCB7XG4gIHdpZHRoPzogc3RyaW5nIHwgbnVtYmVyO1xuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gIHR5cGU6IENoYXJ0VHlwZTtcbiAgZm9yZUNvbG9yPzogc3RyaW5nO1xuICBmb250RmFtaWx5Pzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICBvZmZzZXRYPzogbnVtYmVyO1xuICBvZmZzZXRZPzogbnVtYmVyO1xuICBkcm9wU2hhZG93Pzoge1xuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHRvcD86IG51bWJlcjtcbiAgICBsZWZ0PzogbnVtYmVyO1xuICAgIGJsdXI/OiBudW1iZXI7XG4gICAgb3BhY2l0eT86IG51bWJlcjtcbiAgfTtcbiAgZXZlbnRzPzoge1xuICAgIGFuaW1hdGlvbkVuZD8oY2hhcnQ6IGFueSwgb3B0aW9uczogYW55KTogdm9pZDtcbiAgICBiZWZvcmVNb3VudD8oY2hhcnQ6IGFueSwgb3B0aW9uczogYW55KTogdm9pZDtcbiAgICBtb3VudGVkPyhjaGFydDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICAgIHVwZGF0ZWQ/KGNoYXJ0OiBhbnksIG9wdGlvbnM6IGFueSk6IHZvaWQ7XG4gICAgY2xpY2s/KGU6IGFueSwgY2hhcnQ6IGFueSwgb3B0aW9uczogYW55KTogdm9pZDtcbiAgICBsZWdlbmRDbGljaz8oY2hhcnQ6IGFueSwgc2VyaWVzSW5kZXg6IG51bWJlciwgb3B0aW9uczogYW55KTogdm9pZDtcbiAgICBtYXJrZXJDbGljaz8oZTogYW55LCBjaGFydDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICAgIHNlbGVjdGlvbj8oY2hhcnQ6IGFueSwgb3B0aW9uczogYW55KTogdm9pZDtcbiAgICBkYXRhUG9pbnRTZWxlY3Rpb24/KGU6IGFueSwgY2hhcnQ6IGFueSwgb3B0aW9uczogYW55KTogdm9pZDtcbiAgICBkYXRhUG9pbnRNb3VzZUVudGVyPyhlOiBhbnksIGNoYXJ0OiBhbnksIG9wdGlvbnM6IGFueSk6IHZvaWQ7XG4gICAgZGF0YVBvaW50TW91c2VMZWF2ZT8oZTogYW55LCBjaGFydDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICAgIGJlZm9yZVpvb20/KGNoYXJ0OiBhbnksIG9wdGlvbnM6IGFueSk6IHZvaWQ7XG4gICAgem9vbWVkPyhjaGFydDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICAgIHNjcm9sbGVkPyhjaGFydDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICB9O1xuICBicnVzaD86IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICBhdXRvU2NhbGVZYXhpcz86IGJvb2xlYW4sXG4gICAgdGFyZ2V0Pzogc3RyaW5nO1xuICB9O1xuICBpZD86IHN0cmluZztcbiAgbG9jYWxlcz86IEFwZXhMb2NhbGVbXTtcbiAgZGVmYXVsdExvY2FsZT86IHN0cmluZztcbiAgcGFyZW50SGVpZ2h0T2Zmc2V0PzogbnVtYmVyO1xuICBzcGFya2xpbmU/OiB7XG4gICAgZW5hYmxlZD86IGJvb2xlYW47XG4gIH07XG4gIHN0YWNrZWQ/OiBib29sZWFuO1xuICBzdGFja1R5cGU/OiAnbm9ybWFsJyB8ICcxMDAlJztcbiAgdG9vbGJhcj86IHtcbiAgICBzaG93PzogYm9vbGVhbjtcbiAgICB0b29scz86IHtcbiAgICAgIGRvd25sb2FkPzogYm9vbGVhbjtcbiAgICAgIHNlbGVjdGlvbj86IGJvb2xlYW47XG4gICAgICB6b29tPzogYm9vbGVhbjtcbiAgICAgIHpvb21pbj86IGJvb2xlYW47XG4gICAgICB6b29tb3V0PzogYm9vbGVhbjtcbiAgICAgIHBhbj86IGJvb2xlYW47XG4gICAgICByZXNldD86IGJvb2xlYW47XG4gICAgfTtcbiAgICBhdXRvU2VsZWN0ZWQ/OiAnem9vbScgfCAnc2VsZWN0aW9uJyB8ICdwYW4nO1xuICB9O1xuICB6b29tPzoge1xuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHR5cGU/OiAneCcgfCAneScgfCAneHknO1xuICAgIHpvb21lZEFyZWE/OiB7XG4gICAgICBmaWxsPzoge1xuICAgICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgICAgb3BhY2l0eT86IG51bWJlclxuICAgICAgfTtcbiAgICAgIHN0cm9rZT86IHtcbiAgICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICAgIG9wYWNpdHk/OiBudW1iZXI7XG4gICAgICAgIHdpZHRoPzogbnVtYmVyXG4gICAgICB9XG4gICAgfVxuICB9O1xuICBzZWxlY3Rpb24/OiB7XG4gICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgdHlwZT86IHN0cmluZztcbiAgICBmaWxsPzoge1xuICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICBvcGFjaXR5PzogbnVtYmVyO1xuICAgIH07XG4gICAgc3Ryb2tlPzoge1xuICAgICAgd2lkdGg/OiBudW1iZXI7XG4gICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgIG9wYWNpdHk/OiBudW1iZXI7XG4gICAgICBkYXNoQXJyYXk/OiBudW1iZXJcbiAgICB9O1xuICAgIHhheGlzPzoge1xuICAgICAgbWluPzogbnVtYmVyO1xuICAgICAgbWF4PzogbnVtYmVyO1xuICAgIH07XG4gICAgeWF4aXM/OiB7XG4gICAgICBtaW4/OiBudW1iZXI7XG4gICAgICBtYXg/OiBudW1iZXJcbiAgICB9O1xuICB9O1xuICBhbmltYXRpb25zPzoge1xuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgIGVhc2luZz86ICdsaW5lYXInIHwgJ2Vhc2VpbicgfCAnZWFzZW91dCcgfCAnZWFzZWlub3V0JztcbiAgICBzcGVlZD86IG51bWJlcjtcbiAgICBhbmltYXRlR3JhZHVhbGx5Pzoge1xuICAgICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgICBkZWxheT86IG51bWJlcjtcbiAgICB9O1xuICAgIGR5bmFtaWNBbmltYXRpb24/OiB7XG4gICAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICAgIHNwZWVkPzogbnVtYmVyO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcGV4U3RhdGVzIHtcbiAgbm9ybWFsPzoge1xuICAgIGZpbHRlcj86IHtcbiAgICAgIHR5cGU/OiBzdHJpbmcsXG4gICAgICB2YWx1ZT86IG51bWJlclxuICAgIH1cbiAgfTtcbiAgaG92ZXI/OiB7XG4gICAgZmlsdGVyPzoge1xuICAgICAgdHlwZT86IHN0cmluZyxcbiAgICAgIHZhbHVlPzogbnVtYmVyXG4gICAgfVxuICB9O1xuICBhY3RpdmU/OiB7XG4gICAgYWxsb3dNdWx0aXBsZURhdGFQb2ludHNTZWxlY3Rpb24/OiBib29sZWFuLFxuICAgIGZpbHRlcj86IHtcbiAgICAgIHR5cGU/OiBzdHJpbmcsXG4gICAgICB2YWx1ZT86IG51bWJlclxuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBDaGFydCBUaXRsZSBvcHRpb25zXG4gKiBTZWUgaHR0cHM6Ly9hcGV4Y2hhcnRzLmNvbS9kb2NzL29wdGlvbnMvdGl0bGUvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBleFRpdGxlU3VidGl0bGUge1xuICB0ZXh0Pzogc3RyaW5nO1xuICBhbGlnbj86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcbiAgbWFyZ2luPzogbnVtYmVyO1xuICBvZmZzZXRYPzogbnVtYmVyO1xuICBvZmZzZXRZPzogbnVtYmVyO1xuICBmbG9hdGluZz86IG51bWJlcjtcbiAgc3R5bGU/OiB7XG4gICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gIH07XG59XG5cbi8qKlxuICogQ2hhcnQgU2VyaWVzIG9wdGlvbnMuXG4gKiBVc2UgQXBleE5vbkF4aXNDaGFydFNlcmllcyBmb3IgUGllIGFuZCBEb251dCBjaGFydHMuXG4gKiBTZWUgaHR0cHM6Ly9hcGV4Y2hhcnRzLmNvbS9kb2NzL29wdGlvbnMvc2VyaWVzL1xuICovXG5leHBvcnQgdHlwZSBBcGV4QXhpc0NoYXJ0U2VyaWVzID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRhdGE6IG51bWJlcltdIHwgeyB4OiBzdHJpbmc7IHk6IG51bWJlciB9W107XG59W107XG5cbmV4cG9ydCB0eXBlIEFwZXhOb25BeGlzQ2hhcnRTZXJpZXMgPSBudW1iZXJbXTtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgbGluZSBkcmF3biBvbiBsaW5lIGFuZCBhcmVhIGNoYXJ0cy5cbiAqIFNlZSBodHRwczovL2FwZXhjaGFydHMuY29tL2RvY3Mvb3B0aW9ucy9zdHJva2UvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBleFN0cm9rZSB7XG4gIHNob3c/OiBib29sZWFuO1xuICBjdXJ2ZT86ICdzbW9vdGgnIHwgJ3N0cmFpZ2h0JyB8ICdzdGVwbGluZSc7XG4gIGxpbmVDYXA/OiAnYnV0dCcgfCAnc3F1YXJlJyB8ICdyb3VuZCc7XG4gIGNvbG9ycz86IHN0cmluZztcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGRhc2hBcnJheT86IG51bWJlciB8IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhBbm5vdGF0aW9ucyB7XG4gIHBvc2l0aW9uPzogc3RyaW5nO1xuICB5YXhpcz86IFlBeGlzQW5ub3RhdGlvbnNbXTtcbiAgeGF4aXM/OiBYQXhpc0Fubm90YXRpb25zW107XG4gIHBvaW50cz86IFBvaW50QW5ub3RhdGlvbnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbm5vdGF0aW9uTGFiZWwge1xuICBib3JkZXJDb2xvcj86IHN0cmluZztcbiAgYm9yZGVyV2lkdGg/OiBudW1iZXI7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIHRleHRBbmNob3I/OiBzdHJpbmc7XG4gIG9mZnNldFg/OiBudW1iZXI7XG4gIG9mZnNldFk/OiBudW1iZXI7XG4gIHN0eWxlPzogQW5ub3RhdGlvblN0eWxlO1xuICBwb3NpdGlvbj86IHN0cmluZztcbiAgb3JpZW50YXRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5ub3RhdGlvblN0eWxlIHtcbiAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgY29sb3I/OiBzdHJpbmc7XG4gIGZvbnRTaXplPzogc3RyaW5nO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgcGFkZGluZz86IHtcbiAgICBsZWZ0PzogbnVtYmVyO1xuICAgIHJpZ2h0PzogbnVtYmVyO1xuICAgIHRvcD86IG51bWJlcjtcbiAgICBib3R0b20/OiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgWEF4aXNBbm5vdGF0aW9ucyB7XG4gIHg/OiBudW1iZXI7XG4gIHN0cm9rZURhc2hBcnJheT86IG51bWJlcjtcbiAgYm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIG9mZnNldFg/OiBudW1iZXI7XG4gIG9mZnNldFk/OiBudW1iZXI7XG4gIGxhYmVsPzoge1xuICAgIGJvcmRlckNvbG9yPzogc3RyaW5nO1xuICAgIGJvcmRlcldpZHRoPzogbnVtYmVyO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgdGV4dEFuY2hvcj86IHN0cmluZztcbiAgICBwb3NpdGlvbj86IHN0cmluZztcbiAgICBvcmllbnRhdGlvbj86IHN0cmluZztcbiAgICBvZmZzZXRYPzogbnVtYmVyO1xuICAgIG9mZnNldFk/OiBudW1iZXI7XG4gICAgc3R5bGU/OiBBbm5vdGF0aW9uU3R5bGU7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgWUF4aXNBbm5vdGF0aW9ucyB7XG4gIHk/OiBudW1iZXI7XG4gIHN0cm9rZURhc2hBcnJheT86IG51bWJlcjtcbiAgYm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIG9mZnNldFg/OiBudW1iZXI7XG4gIG9mZnNldFk/OiBudW1iZXI7XG4gIHlBeGlzSW5kZXg/OiBudW1iZXI7XG4gIGxhYmVsPzogQW5ub3RhdGlvbkxhYmVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50QW5ub3RhdGlvbnMge1xuICB4PzogbnVtYmVyO1xuICB5PzogbnVsbDtcbiAgeUF4aXNJbmRleD86IG51bWJlcjtcbiAgc2VyaWVzSW5kZXg/OiBudW1iZXI7XG4gIG1hcmtlcj86IHtcbiAgICBzaXplPzogbnVtYmVyO1xuICAgIGZpbGxDb2xvcj86IHN0cmluZztcbiAgICBzdHJva2VDb2xvcj86IHN0cmluZztcbiAgICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgICBzaGFwZT86IHN0cmluZztcbiAgICByYWRpdXM/OiBudW1iZXI7XG4gIH07XG4gIGxhYmVsPzogQW5ub3RhdGlvbkxhYmVsO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGxvY2FsaXphdGlvbi5cbiAqIFNlZSBodHRwczovL2FwZXhjaGFydHMuY29tL2RvY3Mvb3B0aW9ucy9jaGFydC9sb2NhbGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBleExvY2FsZSB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIG9wdGlvbnM/OiB7XG4gICAgbW9udGhzPzogc3RyaW5nW107XG4gICAgc2hvcnRNb250aHM/OiBzdHJpbmdbXTtcbiAgICBkYXlzPzogc3RyaW5nW107XG4gICAgc2hvcnREYXlzPzogc3RyaW5nW107XG4gICAgdG9vbGJhcj86IHtcbiAgICAgIGRvd25sb2FkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0aW9uPzogc3RyaW5nO1xuICAgICAgc2VsZWN0aW9uWm9vbT86IHN0cmluZztcbiAgICAgIHpvb21Jbj86IHN0cmluZztcbiAgICAgIHpvb21PdXQ/OiBzdHJpbmc7XG4gICAgICBwYW4/OiBzdHJpbmc7XG4gICAgICByZXNldD86IHN0cmluZztcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogUGxvdE9wdGlvbnMgZm9yIHNwZWNpZnlpbmcgY2hhcnQtdHlwZS1zcGVjaWZpYyBjb25maWd1cmF0aW9uLlxuICogU2VlIGh0dHBzOi8vYXBleGNoYXJ0cy5jb20vZG9jcy9vcHRpb25zL3Bsb3RvcHRpb25zL2Jhci9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGV4UGxvdE9wdGlvbnMge1xuICBiYXI/OiB7XG4gICAgaG9yaXpvbnRhbD86IGJvb2xlYW47XG4gICAgZW5kaW5nU2hhcGU/OiAnZmxhdCcgfCAncm91bmRlZCcgfCAnYXJyb3cnO1xuICAgIGNvbHVtbldpZHRoPzogc3RyaW5nO1xuICAgIGJhckhlaWdodD86IHN0cmluZztcbiAgICBkaXN0cmlidXRlZD86IGJvb2xlYW47XG4gICAgY29sb3JzPzoge1xuICAgICAgcmFuZ2VzPzoge1xuICAgICAgICBmcm9tPzogbnVtYmVyO1xuICAgICAgICB0bz86IG51bWJlcjtcbiAgICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICB9W107XG4gICAgICBiYWNrZ3JvdW5kQmFyQ29sb3JzPzogc3RyaW5nW107XG4gICAgICBiYWNrZ3JvdW5kQmFyT3BhY2l0eT86IG51bWJlcjtcbiAgICB9O1xuICAgIGRhdGFMYWJlbHM/OiB7XG4gICAgICBtYXhJdGVtcz86IG51bWJlcjtcbiAgICAgIHBvc2l0aW9uPzogc3RyaW5nO1xuICAgIH1cbiAgfTtcbiAgY2FuZGxlc3RpY2s/OiB7XG4gICAgY29sb3JzPzoge1xuICAgICAgdXB3YXJkPzogc3RyaW5nO1xuICAgICAgZG93bndhcmQ/OiBzdHJpbmc7XG4gICAgfTtcbiAgICB3aWNrPzoge1xuICAgICAgdXNlRmlsbENvbG9yPzogYm9vbGVhblxuICAgIH1cbiAgfTtcbiAgaGVhdG1hcD86IHtcbiAgICByYWRpdXM/OiBudW1iZXI7XG4gICAgZW5hYmxlU2hhZGVzPzogYm9vbGVhbjtcbiAgICBzaGFkZUludGVuc2l0eT86IG51bWJlcjtcbiAgICBkaXN0cmlidXRlZD86IGJvb2xlYW47XG4gICAgY29sb3JTY2FsZT86IHtcbiAgICAgIHJhbmdlcz86IHtcbiAgICAgICAgZnJvbT86IG51bWJlcjtcbiAgICAgICAgdG8/OiBudW1iZXI7XG4gICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgICAgfVtdO1xuICAgICAgaW52ZXJzZT86IGJvb2xlYW47XG4gICAgICBtaW4/OiBudW1iZXI7XG4gICAgICBtYXg/OiBudW1iZXI7XG4gICAgfVxuICB9O1xuICBwaWU/OiB7XG4gICAgc2l6ZT86IG51bWJlcjtcbiAgICBjdXN0b21TY2FsZT86IG51bWJlcjtcbiAgICBvZmZzZXRYPzogbnVtYmVyO1xuICAgIG9mZnNldFk/OiBudW1iZXI7XG4gICAgZXhwYW5kT25DbGljaz86IGJvb2xlYW47XG4gICAgZGF0YUxhYmVscz86IHtcbiAgICAgIG9mZnNldD86IG51bWJlcjtcbiAgICAgIG1pbkFuZ2xlVG9TaG93TGFiZWw/OiBudW1iZXI7XG4gICAgfTtcbiAgICBkb251dD86IHtcbiAgICAgIHNpemU/OiBzdHJpbmc7XG4gICAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICAgICAgbGFiZWxzOiB7XG4gICAgICAgIHNob3c/OiBib29sZWFuO1xuICAgICAgICBuYW1lPzoge1xuICAgICAgICAgIHNob3c/OiBib29sZWFuO1xuICAgICAgICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgICAgICAgIGZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gICAgICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICAgICAgb2Zmc2V0WT86IG51bWJlclxuICAgICAgICB9O1xuICAgICAgICB2YWx1ZT86IHtcbiAgICAgICAgICBzaG93PzogYm9vbGVhbjtcbiAgICAgICAgICBmb250U2l6ZT86IHN0cmluZztcbiAgICAgICAgICBmb250RmFtaWx5Pzogc3RyaW5nO1xuICAgICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICAgIG9mZnNldFk/OiBudW1iZXI7XG4gICAgICAgICAgZm9ybWF0dGVyPyh2YWw6IHN0cmluZyk6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICAgICAgdG90YWw/OiB7XG4gICAgICAgICAgc2hvdz86IGJvb2xlYW47XG4gICAgICAgICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICAgICAgZm9ybWF0dGVyPyh3OiBhbnkpOiBzdHJpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9O1xuICByYWRhcj86IHtcbiAgICBzaXplPzogbnVtYmVyO1xuICAgIG9mZnNldFg/OiBudW1iZXI7XG4gICAgb2Zmc2V0WT86IG51bWJlcjtcbiAgICBwb2x5Z29ucz86IHtcbiAgICAgIHN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICAgICAgY29ubmVjdG9yQ29sb3JzPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICBmaWxsPzoge1xuICAgICAgICBjb2xvcnM/OiBzdHJpbmdbXVxuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgcmFkaWFsQmFyPzoge1xuICAgIHNpemU/OiBudW1iZXI7XG4gICAgaW52ZXJzZU9yZGVyPzogYm9vbGVhbjtcbiAgICBzdGFydEFuZ2xlPzogbnVtYmVyO1xuICAgIGVuZEFuZ2xlPzogbnVtYmVyO1xuICAgIG9mZnNldFg/OiBudW1iZXI7XG4gICAgb2Zmc2V0WT86IG51bWJlcjtcbiAgICBob2xsb3c/OiB7XG4gICAgICBtYXJnaW4/OiBudW1iZXI7XG4gICAgICBzaXplPzogc3RyaW5nO1xuICAgICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgICAgIGltYWdlPzogc3RyaW5nO1xuICAgICAgd2lkdGg/OiBudW1iZXI7XG4gICAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgICBvZmZzZXRYPzogbnVtYmVyO1xuICAgICAgb2Zmc2V0WT86IG51bWJlcjtcbiAgICAgIGNsaXBwZWQ/OiBib29sZWFuO1xuICAgICAgcG9zaXRpb24/OiAnZnJvbnQnIHwgJ2JhY2snO1xuICAgIH07XG4gICAgdHJhY2s/OiB7XG4gICAgICBzaG93PzogYm9vbGVhbjtcbiAgICAgIHN0YXJ0QW5nbGU/OiBudW1iZXI7XG4gICAgICBlbmRBbmdsZT86IG51bWJlcjtcbiAgICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgICBzdHJva2VXaWR0aD86IHN0cmluZztcbiAgICAgIG9wYWNpdHk/OiBudW1iZXI7XG4gICAgICBtYXJnaW4/OiBudW1iZXI7XG4gICAgICBkcm9wU2hhZG93Pzoge1xuICAgICAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICAgICAgdG9wPzogbnVtYmVyO1xuICAgICAgICBsZWZ0PzogbnVtYmVyO1xuICAgICAgICBibHVyPzogbnVtYmVyO1xuICAgICAgICBvcGFjaXR5PzogbnVtYmVyXG4gICAgICB9XG4gICAgfTtcbiAgICBkYXRhTGFiZWxzPzoge1xuICAgICAgc2hvdz86IGJvb2xlYW47XG4gICAgICBuYW1lPzoge1xuICAgICAgICBzaG93PzogYm9vbGVhbjtcbiAgICAgICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICBvZmZzZXRZPzogbnVtYmVyO1xuICAgICAgfTtcbiAgICAgIHZhbHVlPzoge1xuICAgICAgICBzaG93PzogYm9vbGVhbjtcbiAgICAgICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICBvZmZzZXRZPzogbnVtYmVyO1xuICAgICAgICBmb3JtYXR0ZXI/KHZhbDogbnVtYmVyKTogc3RyaW5nO1xuICAgICAgfTtcbiAgICAgIHRvdGFsPzoge1xuICAgICAgICBzaG93PzogYm9vbGVhbjtcbiAgICAgICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICBmb3JtYXR0ZXI/KG9wdHM6IGFueSk6IHN0cmluZztcbiAgICAgIH07XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhGaWxsIHtcbiAgY29sb3JzPzogc3RyaW5nW107XG4gIG9wYWNpdHk/OiBudW1iZXI7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGdyYWRpZW50Pzoge1xuICAgIHNoYWRlPzogc3RyaW5nO1xuICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgc2hhZGVJbnRlbnNpdHk/OiBudW1iZXI7XG4gICAgZ3JhZGllbnRUb0NvbG9ycz86IHN0cmluZ1tdO1xuICAgIGludmVyc2VDb2xvcnM/OiBib29sZWFuO1xuICAgIG9wYWNpdHlGcm9tPzogbnVtYmVyO1xuICAgIG9wYWNpdHlUbz86IG51bWJlcjtcbiAgICBzdG9wcz86IG51bWJlcltdXG4gIH07XG4gIGltYWdlPzoge1xuICAgIHNyYz86IHN0cmluZ1tdO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlclxuICB9O1xuICBwYXR0ZXJuPzoge1xuICAgIHN0eWxlPzogc3RyaW5nO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgfTtcbn1cblxuLyoqXG4gKiBDaGFydCBMZWdlbmQgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICogU2VlIGh0dHBzOi8vYXBleGNoYXJ0cy5jb20vZG9jcy9vcHRpb25zL2xlZ2VuZC9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGV4TGVnZW5kIHtcbiAgc2hvdz86IGJvb2xlYW47XG4gIHNob3dGb3JTaW5nbGVTZXJpZXM/OiBib29sZWFuO1xuICBzaG93Rm9yTnVsbFNlcmllcz86IGJvb2xlYW47XG4gIHNob3dGb3JaZXJvU2VyaWVzPzogYm9vbGVhbjtcbiAgZmxvYXRpbmc/OiBib29sZWFuO1xuICBwb3NpdGlvbj86ICd0b3AnIHwgJ3JpZ2h0JyB8ICdib3R0b20nIHwgJ2xlZnQnO1xuICBob3Jpem9udGFsQWxpZ24/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gIGZvbnRTaXplPzogc3RyaW5nO1xuICBmb250RmFtaWx5Pzogc3RyaW5nO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBvZmZzZXRYPzogbnVtYmVyO1xuICBvZmZzZXRZPzogbnVtYmVyO1xuICB0ZXh0QW5jaG9yPzogc3RyaW5nO1xuICBsYWJlbHM/OiB7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgdXNlU2VyaWVzQ29sb3JzPzogYm9vbGVhbjtcbiAgfTtcbiAgbWFya2Vycz86IHtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgc3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICBvZmZzZXRZPzogbnVtYmVyO1xuICAgIHJhZGl1cz86IG51bWJlcjtcbiAgICBzaGFwZT86ICdjaXJjbGUnIHwgJ3NxdWFyZSc7XG4gICAgY3VzdG9tSFRNTD8oKTogc3RyaW5nO1xuICAgIG9uQ2xpY2s/KCk6IHZvaWQ7XG4gIH07XG4gIGl0ZW1NYXJnaW4/OiB7XG4gICAgaG9yaXpvbnRhbD86IG51bWJlcjtcbiAgICB2ZXJ0aWNhbD86IG51bWJlcjtcbiAgfTtcbiAgY29udGFpbmVyTWFyZ2luPzoge1xuICAgIGxlZnQ/OiBudW1iZXI7XG4gICAgdG9wPzogbnVtYmVyO1xuICB9O1xuICBvbkl0ZW1DbGljaz86IHtcbiAgICB0b2dnbGVEYXRhU2VyaWVzPzogYm9vbGVhbjtcbiAgfTtcbiAgb25JdGVtSG92ZXI/OiB7XG4gICAgaGlnaGxpZ2h0RGF0YVNlcmllcz86IGJvb2xlYW47XG4gIH07XG4gIGZvcm1hdHRlcj8odmFsOiBzdHJpbmcsIG9wdHM6IGFueSk6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDaGFydCBEYXRhbGFiZWxzIG9wdGlvbnNcbiAqIFNlZSBodHRwczovL2FwZXhjaGFydHMuY29tL2RvY3Mvb3B0aW9ucy9kYXRhbGFiZWxzL1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhEYXRhTGFiZWxzIHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHRleHRBbmNob3I/OiAnc3RhcnQnIHwgJ21pZGRsZScgfCAnZW5kJztcbiAgb2Zmc2V0WD86IG51bWJlcjtcbiAgb2Zmc2V0WT86IG51bWJlcjtcbiAgc3R5bGU/OiB7XG4gICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgZm9udEZhbWlseT86IHN0cmluZztcbiAgICBjb2xvcnM/OiBzdHJpbmdbXTtcbiAgfTtcbiAgZHJvcFNoYWRvdz86IHtcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIHRvcD86IG51bWJlcjtcbiAgICBsZWZ0PzogbnVtYmVyO1xuICAgIGJsdXI/OiBudW1iZXI7XG4gICAgb3BhY2l0eT86IG51bWJlcjtcbiAgfTtcbiAgZm9ybWF0dGVyPyh2YWw6IG51bWJlciwgb3B0czogYW55KTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhSZXNwb25zaXZlIHtcbiAgYnJlYWtwb2ludD86IG51bWJlcjtcbiAgb3B0aW9ucz86IGFueTtcbn1cblxuLyoqXG4gKiBDaGFydCBUb29sdGlwIG9wdGlvbnNcbiAqIFNlZSBodHRwczovL2FwZXhjaGFydHMuY29tL2RvY3Mvb3B0aW9ucy90b29sdGlwL1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhUb29sdGlwIHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHNoYXJlZD86IGJvb2xlYW47XG4gIGZvbGxvd0N1cnNvcj86IGJvb2xlYW47XG4gIGludGVyc2VjdD86IGJvb2xlYW47XG4gIGludmVyc2VPcmRlcj86IGJvb2xlYW47XG4gIHRoZW1lPzogc3RyaW5nO1xuICBzdHlsZT86IHtcbiAgICBmb250U2l6ZT86IHN0cmluZztcbiAgICBmb250RmFtaWx5Pzogc3RyaW5nO1xuICB9O1xuICBmaWxsU2VyaWVzQ29sb3I/OiBib29sZWFuO1xuICBvbkRhdGFzZXRIb3Zlcj86IHtcbiAgICBoaWdobGlnaHREQXRhU2VyaWVzPzogYm9vbGVhbjtcbiAgfTtcbiAgeD86IHtcbiAgICBzaG93PzogYm9vbGVhbjtcbiAgICBmb3JtYXQ/OiBzdHJpbmc7XG4gICAgZm9ybWF0dGVyPyh2YWw6IG51bWJlcik6IHN0cmluZztcbiAgfTtcbiAgeT86IHtcbiAgICBzaG93PzogYm9vbGVhbjtcbiAgICB0aXRsZT86IHtcbiAgICAgIGZvcm1hdHRlcj8oc2VyaWVzTmFtZTogc3RyaW5nKTogc3RyaW5nO1xuICAgIH1cbiAgICBmb3JtYXR0ZXI/KHZhbDogbnVtYmVyKTogc3RyaW5nO1xuICB9O1xuICB6Pzoge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGZvcm1hdHRlcj8odmFsOiBudW1iZXIpOiBzdHJpbmc7XG4gIH07XG4gIG1hcmtlcj86IHtcbiAgICBzaG93PzogYm9vbGVhblxuICB9O1xuICBpdGVtcz86IHtcbiAgICBkaXNwbGF5Pzogc3RyaW5nXG4gIH07XG4gIGZpeGVkPzoge1xuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHBvc2l0aW9uPzogc3RyaW5nOyAvLyB0b3BSaWdodDsgdG9wTGVmdDsgYm90dG9tUmlnaHQ7IGJvdHRvbUxlZnRcbiAgICBvZmZzZXRYPzogbnVtYmVyO1xuICAgIG9mZnNldFk/OiBudW1iZXJcbiAgfTtcbiAgY3VzdG9tPyhvcHRpb25zOiBhbnkpOiB2b2lkO1xufVxuXG4vKipcbiAqIFggQXhpcyBvcHRpb25zXG4gKiBTZWUgaHR0cHM6Ly9hcGV4Y2hhcnRzLmNvbS9kb2NzL29wdGlvbnMveGF4aXMvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBleFhBeGlzIHtcbiAgdHlwZT86ICdjYXRlZ29yaWVzJyB8ICdkYXRldGltZScgfCAnbnVtZXJpYyc7XG4gIGNhdGVnb3JpZXM/OiBzdHJpbmdbXSB8IG51bWJlcltdO1xuICBsYWJlbHM/OiB7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgcm90YXRlPzogbnVtYmVyO1xuICAgIHJvdGF0ZUFsd2F5cz86IGJvb2xlYW47XG4gICAgaGlkZU92ZXJsYXBwaW5nTGFiZWxzPzogYm9vbGVhbjtcbiAgICBzaG93RHVwbGljYXRlcz86IGJvb2xlYW47XG4gICAgdHJpbT86IGJvb2xlYW47XG4gICAgbWluSGVpZ2h0PzogbnVtYmVyO1xuICAgIG1heEhlaWdodD86IG51bWJlcjtcbiAgICBzdHlsZT86IHtcbiAgICAgIGNvbG9ycz86IHN0cmluZ1tdO1xuICAgICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgICBmb250RmFtaWx5Pzogc3RyaW5nO1xuICAgICAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gICAgfTtcbiAgICBvZmZzZXRYPzogbnVtYmVyO1xuICAgIG9mZnNldFk/OiBudW1iZXI7XG4gICAgZm9ybWF0Pzogc3RyaW5nO1xuICAgIGRhdGV0aW1lRm9ybWF0dGVyPzoge1xuICAgICAgeWVhcj86IHN0cmluZztcbiAgICAgIG1vbnRoPzogc3RyaW5nO1xuICAgICAgZGF5Pzogc3RyaW5nO1xuICAgICAgaG91cj86IHN0cmluZztcbiAgICAgIG1pbnV0ZT86IHN0cmluZztcbiAgICB9O1xuICAgIGZvcm1hdHRlcj8odmFsdWU6IHN0cmluZywgdGltZXN0YW1wOiBudW1iZXIpOiBzdHJpbmc7XG4gIH07XG4gIGF4aXNCb3JkZXI/OiB7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICBvZmZzZXRZPzogbnVtYmVyO1xuICAgIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuICB9O1xuICBheGlzVGlja3M/OiB7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgYm9yZGVyVHlwZT86IHN0cmluZztcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICBvZmZzZXRZPzogbnVtYmVyO1xuICB9O1xuICB0aWNrQW1vdW50PzogbnVtYmVyO1xuICBtaW4/OiBudW1iZXI7XG4gIG1heD86IG51bWJlcjtcbiAgcmFuZ2U/OiBudW1iZXI7XG4gIGZsb2F0aW5nPzogYm9vbGVhbjtcbiAgcG9zaXRpb24/OiBzdHJpbmc7XG4gIHRpdGxlPzoge1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICBvZmZzZXRZPzogbnVtYmVyO1xuICAgIHN0eWxlPzoge1xuICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICBmb250U2l6ZT86IHN0cmluZztcbiAgICAgIGNzc0NsYXNzPzogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIGNyb3NzaGFpcnM/OiB7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgd2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgcG9zaXRpb24/OiBzdHJpbmc7XG4gICAgb3BhY2l0eT86IG51bWJlcjtcbiAgICBzdHJva2U/OiB7XG4gICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgIHdpZHRoPzogbnVtYmVyO1xuICAgICAgZGFzaEFycmF5PzogbnVtYmVyO1xuICAgIH07XG4gICAgZmlsbD86IHtcbiAgICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgIGdyYWRpZW50Pzoge1xuICAgICAgICBjb2xvckZyb20/OiBzdHJpbmc7XG4gICAgICAgIGNvbG9yVG8/OiBzdHJpbmc7XG4gICAgICAgIHN0b3BzPzogbnVtYmVyW107XG4gICAgICAgIG9wYWNpdHlGcm9tPzogbnVtYmVyO1xuICAgICAgICBvcGFjaXR5VG8/OiBudW1iZXI7XG4gICAgICB9O1xuICAgIH07XG4gICAgZHJvcFNoYWRvdz86IHtcbiAgICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgICAgdG9wPzogbnVtYmVyO1xuICAgICAgbGVmdD86IG51bWJlcjtcbiAgICAgIGJsdXI/OiBudW1iZXI7XG4gICAgICBvcGFjaXR5PzogbnVtYmVyO1xuICAgIH07XG4gIH07XG4gIHRvb2x0aXA/OiB7XG4gICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgb2Zmc2V0WT86IG51bWJlcjtcbiAgfTtcbn1cblxuLyoqXG4gKiBZIEF4aXMgb3B0aW9uc1xuICogU2VlIGh0dHBzOi8vYXBleGNoYXJ0cy5jb20vZG9jcy9vcHRpb25zL3lheGlzL1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhZQXhpcyB7XG4gIHNob3c/OiBib29sZWFuO1xuICBzaG93QWx3YXlzPzogYm9vbGVhbjtcbiAgc2VyaWVzTmFtZT86IHN0cmluZztcbiAgb3Bwb3NpdGU/OiBib29sZWFuO1xuICBsb2dhcml0aG1pYz86IGJvb2xlYW47XG4gIHRpY2tBbW91bnQ/OiBudW1iZXI7XG4gIGZvcmNlTmljZVNjYWxlPzogYm9vbGVhbixcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG4gIGZsb2F0aW5nPzogYm9vbGVhbjtcbiAgZGVjaW1hbHNJbkZsb2F0PzogbnVtYmVyO1xuICBsYWJlbHM/OiB7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgbWluV2lkdGg/OiBudW1iZXI7XG4gICAgbWF4V2lkdGg/OiBudW1iZXI7XG4gICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICBvZmZzZXRZPzogbnVtYmVyO1xuICAgIHJvdGF0ZT86IG51bWJlcjtcbiAgICBhbGlnbj86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcbiAgICBwYWRkaW5nPzogbnVtYmVyLFxuICAgIHN0eWxlPzoge1xuICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICBmb250U2l6ZT86IHN0cmluZztcbiAgICAgIGZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gICAgICBjc3NDbGFzcz86IHN0cmluZztcbiAgICB9O1xuICAgIGZvcm1hdHRlcj8odmFsOiBudW1iZXIpOiBzdHJpbmc7XG4gIH07XG4gIGF4aXNCb3JkZXI/OiB7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICBvZmZzZXRZPzogbnVtYmVyXG4gIH07XG4gIGF4aXNUaWNrcz86IHtcbiAgICBzaG93PzogYm9vbGVhbjtcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBvZmZzZXRYPzogbnVtYmVyO1xuICAgIG9mZnNldFk/OiBudW1iZXJcbiAgfTtcbiAgdGl0bGU/OiB7XG4gICAgdGV4dD86IHN0cmluZztcbiAgICByb3RhdGU/OiBudW1iZXI7XG4gICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICBvZmZzZXRZPzogbnVtYmVyO1xuICAgIHN0eWxlPzoge1xuICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICBmb250U2l6ZT86IHN0cmluZztcbiAgICAgIGZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gICAgICBjc3NDbGFzcz86IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBjcm9zc2hhaXJzPzoge1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIHBvc2l0aW9uPzogc3RyaW5nO1xuICAgIHN0cm9rZT86IHtcbiAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgd2lkdGg/OiBudW1iZXI7XG4gICAgICBkYXNoQXJyYXk/OiBudW1iZXJcbiAgICB9O1xuICB9O1xuICB0b29sdGlwPzoge1xuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgIG9mZnNldFg/OiBudW1iZXI7XG4gIH07XG59XG5cbi8qKlxuICogUGxvdCBYIGFuZCBZIGdyaWQgb3B0aW9uc1xuICogU2VlIGh0dHBzOi8vYXBleGNoYXJ0cy5jb20vZG9jcy9vcHRpb25zL2dyaWQvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBleEdyaWQge1xuICBzaG93PzogYm9vbGVhbjtcbiAgYm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIHN0cm9rZURhc2hBcnJheT86IG51bWJlcjtcbiAgcG9zaXRpb24/OiAnZnJvbnQnIHwgJ2JhY2snO1xuICB4YXhpcz86IHtcbiAgICBsaW5lcz86IHtcbiAgICAgIHNob3c/OiBib29sZWFuO1xuICAgICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICAgIG9mZnNldFk/OiBudW1iZXI7XG4gICAgfVxuICB9O1xuICB5YXhpcz86IHtcbiAgICBsaW5lcz86IHtcbiAgICAgIHNob3c/OiBib29sZWFuO1xuICAgICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICAgIG9mZnNldFk/OiBudW1iZXI7XG4gICAgfVxuICB9O1xuICByb3c/OiB7XG4gICAgY29sb3JzPzogc3RyaW5nW107XG4gICAgb3BhY2l0eT86IG51bWJlclxuICB9O1xuICBjb2x1bW4/OiB7XG4gICAgY29sb3JzPzogc3RyaW5nW107XG4gICAgb3BhY2l0eT86IG51bWJlcjtcbiAgfTtcbiAgcGFkZGluZz86IHtcbiAgICB0b3A/OiBudW1iZXI7XG4gICAgcmlnaHQ/OiBudW1iZXI7XG4gICAgYm90dG9tPzogbnVtYmVyO1xuICAgIGxlZnQ/OiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBleFRoZW1lIHtcbiAgbW9kZT86ICdsaWdodCcgfCAnZGFyayc7XG4gIHBhbGV0dGU/OiBzdHJpbmc7XG4gIG1vbm9jaHJvbWU/OiB7XG4gICAgZW5hYmxlZD86IGJvb2xlYW4sXG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgc2hhZGVUbz86ICdsaWdodCcgfCAnZGFyayc7XG4gICAgc2hhZGVJbnRlbnNpdHk/OiBudW1iZXJcbiAgfTtcbn1cblxuaW50ZXJmYWNlIEFwZXhEaXNjcmV0ZVBvaW50IHtcbiAgc2VyaWVzSW5kZXg/OiBudW1iZXI7XG4gIGRhdGFQb2ludEluZGV4PzogbnVtYmVyO1xuICBmaWxsQ29sb3I/OiBzdHJpbmc7XG4gIHN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICBzaXplPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhNYXJrZXJzIHtcbiAgc2l6ZT86IG51bWJlcjtcbiAgY29sb3JzPzogc3RyaW5nW107XG4gIHN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgc3Ryb2tlT3BhY2l0eT86IG51bWJlcjtcbiAgZmlsbE9wYWNpdHk/OiBudW1iZXI7XG4gIGRpc2NyZXRlPzogQXBleERpc2NyZXRlUG9pbnRbXTtcbiAgc2hhcGU/OiAnY2lyY2xlJyB8ICdzcXVhcmUnO1xuICByYWRpdXM/OiBudW1iZXI7XG4gIG9mZnNldFg/OiBudW1iZXI7XG4gIG9mZnNldFk/OiBudW1iZXI7XG4gIGhvdmVyPzoge1xuICAgIHNpemU/OiBudW1iZXI7XG4gICAgc2l6ZU9mZnNldD86IG51bWJlcjtcbiAgfTtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhOb0RhdGEge1xuICB0ZXh0Pzogc3RyaW5nLFxuICBhbGlnbj86ICdsZWZ0JyB8ICdyaWdodCcgfCAnY2VudGVyJyxcbiAgdmVydGljYWxBbGlnbj86ICd0b3AnIHwgJ21pZGRsZScgfCAnYm90dG9tJyxcbiAgb2Zmc2V0WD86IG51bWJlcixcbiAgb2Zmc2V0WT86IG51bWJlcixcbiAgc3R5bGU/OiB7XG4gICAgY29sb3I/OiBzdHJpbmcsXG4gICAgZm9udFNpemU/OiBzdHJpbmcsXG4gICAgZm9udEZhbWlseT86IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIENoYXJ0VHlwZSA9ICdsaW5lJyB8ICdhcmVhJyB8ICdiYXInIHwgJ2hpc3RvZ3JhbScgfCAncGllJyB8ICdkb251dCcgfFxuICAncmFkaWFsQmFyJyB8ICdzY2F0dGVyJyB8ICdidWJibGUnIHwgJ2hlYXRtYXAnIHwgJ2NhbmRsZXN0aWNrJyB8ICdyYWRhcicgfCAncmFuZ2VCYXInO1xuIl19