@nova-ui/dashboards
Version:
Nova Dashboards is a framework designed to provide feature developers with a common solution for presenting data coming from various sources within a single view, as well as a set of predefined widget visualizations that are 100% configuration-driven and
77 lines • 15.2 kB
JavaScript
// © 2022 SolarWinds Worldwide, LLC. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import { InjectionToken, } from "@angular/core";
export const PIZZAGNA_EVENT_BUS = new InjectionToken("PIZZAGNA_EVENT_BUS");
export const DASHBOARD_EVENT_BUS = new InjectionToken("DASHBOARD_EVENT_BUS");
export const DATA_SOURCE = new InjectionToken("DATA_SOURCE");
export const FORMATTERS_REGISTRY = new InjectionToken("FORMATTERS_REGISTRY");
export const TEST_REGISTRY = new InjectionToken("TEST_REGISTRY");
export const HEADER_LINK_PROVIDER = new InjectionToken("HEADER_LINK_PROVIDER");
export var WellKnownProviders;
(function (WellKnownProviders) {
WellKnownProviders["DataSource"] = "dataSource";
WellKnownProviders["Adapter"] = "adapter";
WellKnownProviders["Converter"] = "converter";
WellKnownProviders["Broadcaster"] = "broadcaster";
WellKnownProviders["Refresher"] = "refresher";
WellKnownProviders["EventProxy"] = "eventProxy";
WellKnownProviders["LoadingAdapter"] = "loadingAdapter";
WellKnownProviders["ContentFallbackAdapter"] = "contentFallbackAdapter";
WellKnownProviders["InteractionHandler"] = "interactionHandler";
WellKnownProviders["EventBusDebugger"] = "eventBusDebugger";
WellKnownProviders["KpiColorPrioritizer"] = "kpiColorPrioritizer";
WellKnownProviders["FormattersRegistry"] = "formattersRegistry";
WellKnownProviders["DataSourceManager"] = "dataSourceManager";
})(WellKnownProviders || (WellKnownProviders = {}));
export var WellKnownPathKey;
(function (WellKnownPathKey) {
WellKnownPathKey["Root"] = "root";
WellKnownPathKey["DataSourceConfigComponentType"] = "dataSourceConfigComponentType";
WellKnownPathKey["TileDescriptionConfigComponentType"] = "tileDescriptionConfigComponentType";
WellKnownPathKey["DataSourceProviders"] = "dataSourceProviders";
WellKnownPathKey["Formatters"] = "formatters";
WellKnownPathKey["TileDescriptionBackgroundColors"] = "tileDescriptionBackgroundColors";
WellKnownPathKey["TileBackgroundColorRulesBackgroundColors"] = "tileBackgroundColorRulesBackgroundColors";
})(WellKnownPathKey || (WellKnownPathKey = {}));
export var WellKnownDataSourceFeatures;
(function (WellKnownDataSourceFeatures) {
WellKnownDataSourceFeatures["Interactivity"] = "interactivity";
WellKnownDataSourceFeatures["DisableTableColumnGeneration"] = "disableTableColumnGeneration";
})(WellKnownDataSourceFeatures || (WellKnownDataSourceFeatures = {}));
export var PizzagnaLayer;
(function (PizzagnaLayer) {
PizzagnaLayer["Structure"] = "structure";
PizzagnaLayer["Configuration"] = "configuration";
PizzagnaLayer["Data"] = "data";
})(PizzagnaLayer || (PizzagnaLayer = {}));
export var AccordionState;
(function (AccordionState) {
AccordionState["CRITICAL"] = "critical";
AccordionState["WARNING"] = "warning";
AccordionState["DEFAULT"] = "default";
})(AccordionState || (AccordionState = {}));
export var HttpStatusCode;
(function (HttpStatusCode) {
HttpStatusCode["Unknown"] = "0";
HttpStatusCode["Ok"] = "200";
HttpStatusCode["Forbidden"] = "403";
HttpStatusCode["NotFound"] = "404";
})(HttpStatusCode || (HttpStatusCode = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUN6RCxFQUFFO0FBQ0YsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUM1RSw4RUFBOEU7QUFDOUUsK0VBQStFO0FBQy9FLDhFQUE4RTtBQUM5RSw0REFBNEQ7QUFDNUQsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSx1REFBdUQ7QUFDdkQsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSw0RUFBNEU7QUFDNUUsK0VBQStFO0FBQy9FLDBFQUEwRTtBQUMxRSxpRkFBaUY7QUFDakYsNkVBQTZFO0FBQzdFLGlCQUFpQjtBQUVqQixPQUFPLEVBR0gsY0FBYyxHQUdqQixNQUFNLGVBQWUsQ0FBQztBQVl2QixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FDaEQsb0JBQW9CLENBQ3ZCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQscUJBQXFCLENBQ3hCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQW1CLGFBQWEsQ0FBQyxDQUFDO0FBQy9FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUNqRCxxQkFBcUIsQ0FDeEIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FDM0MsZUFBZSxDQUNsQixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQ2xELHNCQUFzQixDQUN6QixDQUFDO0FBRUYsTUFBTSxDQUFOLElBQVksa0JBY1g7QUFkRCxXQUFZLGtCQUFrQjtJQUMxQiwrQ0FBeUIsQ0FBQTtJQUN6Qix5Q0FBbUIsQ0FBQTtJQUNuQiw2Q0FBdUIsQ0FBQTtJQUN2QixpREFBMkIsQ0FBQTtJQUMzQiw2Q0FBdUIsQ0FBQTtJQUN2QiwrQ0FBeUIsQ0FBQTtJQUN6Qix1REFBaUMsQ0FBQTtJQUNqQyx1RUFBaUQsQ0FBQTtJQUNqRCwrREFBeUMsQ0FBQTtJQUN6QywyREFBcUMsQ0FBQTtJQUNyQyxpRUFBMkMsQ0FBQTtJQUMzQywrREFBeUMsQ0FBQTtJQUN6Qyw2REFBdUMsQ0FBQTtBQUMzQyxDQUFDLEVBZFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQWM3QjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQVFYO0FBUkQsV0FBWSxnQkFBZ0I7SUFDeEIsaUNBQWEsQ0FBQTtJQUNiLG1GQUErRCxDQUFBO0lBQy9ELDZGQUF5RSxDQUFBO0lBQ3pFLCtEQUEyQyxDQUFBO0lBQzNDLDZDQUF5QixDQUFBO0lBQ3pCLHVGQUFtRSxDQUFBO0lBQ25FLHlHQUFxRixDQUFBO0FBQ3pGLENBQUMsRUFSVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBUTNCO0FBRUQsTUFBTSxDQUFOLElBQVksMkJBR1g7QUFIRCxXQUFZLDJCQUEyQjtJQUNuQyw4REFBK0IsQ0FBQTtJQUMvQiw0RkFBNkQsQ0FBQTtBQUNqRSxDQUFDLEVBSFcsMkJBQTJCLEtBQTNCLDJCQUEyQixRQUd0QztBQTRFRCxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3JCLHdDQUF1QixDQUFBO0lBQ3ZCLGdEQUErQixDQUFBO0lBQy9CLDhCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FJWDtBQUpELFdBQVksY0FBYztJQUN0Qix1Q0FBcUIsQ0FBQTtJQUNyQixxQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFFRCxNQUFNLENBQU4sSUFBWSxjQUtYO0FBTEQsV0FBWSxjQUFjO0lBQ3RCLCtCQUFhLENBQUE7SUFDYiw0QkFBVSxDQUFBO0lBQ1YsbUNBQWlCLENBQUE7SUFDakIsa0NBQWdCLENBQUE7QUFDcEIsQ0FBQyxFQUxXLGNBQWMsS0FBZCxjQUFjLFFBS3pCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gwqkgMjAyMiBTb2xhcldpbmRzIFdvcmxkd2lkZSwgTExDLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vICBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0b1xuLy8gIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlXG4vLyAgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yXG4vLyAgc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vICBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyAgYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIEluamVjdG9yLFxuICAgIFN0YXRpY1Byb3ZpZGVyLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgRXZlbnRCdXMsIElFdmVudCB9IGZyb20gXCJAbm92YS11aS9iaXRzXCI7XG5cbi8qKlxuICogU2FtZSBhcyBQYXJ0aWFsPFQ+IGJ1dCBnb2VzIGRlZXBlciBhbmQgbWFrZXMgYWxsIG9mIGl0cyBwcm9wZXJ0aWVzIGFuZCBzdWItcHJvcGVydGllcyBQYXJ0aSBhbDxUPi5cbiAqL1xuZXhwb3J0IHR5cGUgRGVlcFBhcnRpYWw8VD4gPSBUIGV4dGVuZHMgb2JqZWN0XG4gICAgPyB7IFtLIGluIGtleW9mIFRdPzogRGVlcFBhcnRpYWw8VFtLXT4gfVxuICAgIDogVDtcblxuZXhwb3J0IGNvbnN0IFBJWlpBR05BX0VWRU5UX0JVUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFdmVudEJ1czxJRXZlbnQ+PihcbiAgICBcIlBJWlpBR05BX0VWRU5UX0JVU1wiXG4pO1xuZXhwb3J0IGNvbnN0IERBU0hCT0FSRF9FVkVOVF9CVVMgPSBuZXcgSW5qZWN0aW9uVG9rZW48RXZlbnRCdXM8SUV2ZW50Pj4oXG4gICAgXCJEQVNIQk9BUkRfRVZFTlRfQlVTXCJcbik7XG5leHBvcnQgY29uc3QgREFUQV9TT1VSQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48RXZlbnRCdXM8SUV2ZW50Pj4oXCJEQVRBX1NPVVJDRVwiKTtcbmV4cG9ydCBjb25zdCBGT1JNQVRURVJTX1JFR0lTVFJZID0gbmV3IEluamVjdGlvblRva2VuPEV2ZW50QnVzPElFdmVudD4+KFxuICAgIFwiRk9STUFUVEVSU19SRUdJU1RSWVwiXG4pO1xuZXhwb3J0IGNvbnN0IFRFU1RfUkVHSVNUUlkgPSBuZXcgSW5qZWN0aW9uVG9rZW48RXZlbnRCdXM8SUV2ZW50Pj4oXG4gICAgXCJURVNUX1JFR0lTVFJZXCJcbik7XG5leHBvcnQgY29uc3QgSEVBREVSX0xJTktfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48RXZlbnRCdXM8SUV2ZW50Pj4oXG4gICAgXCJIRUFERVJfTElOS19QUk9WSURFUlwiXG4pO1xuXG5leHBvcnQgZW51bSBXZWxsS25vd25Qcm92aWRlcnMge1xuICAgIERhdGFTb3VyY2UgPSBcImRhdGFTb3VyY2VcIixcbiAgICBBZGFwdGVyID0gXCJhZGFwdGVyXCIsXG4gICAgQ29udmVydGVyID0gXCJjb252ZXJ0ZXJcIixcbiAgICBCcm9hZGNhc3RlciA9IFwiYnJvYWRjYXN0ZXJcIixcbiAgICBSZWZyZXNoZXIgPSBcInJlZnJlc2hlclwiLFxuICAgIEV2ZW50UHJveHkgPSBcImV2ZW50UHJveHlcIixcbiAgICBMb2FkaW5nQWRhcHRlciA9IFwibG9hZGluZ0FkYXB0ZXJcIixcbiAgICBDb250ZW50RmFsbGJhY2tBZGFwdGVyID0gXCJjb250ZW50RmFsbGJhY2tBZGFwdGVyXCIsXG4gICAgSW50ZXJhY3Rpb25IYW5kbGVyID0gXCJpbnRlcmFjdGlvbkhhbmRsZXJcIixcbiAgICBFdmVudEJ1c0RlYnVnZ2VyID0gXCJldmVudEJ1c0RlYnVnZ2VyXCIsXG4gICAgS3BpQ29sb3JQcmlvcml0aXplciA9IFwia3BpQ29sb3JQcmlvcml0aXplclwiLFxuICAgIEZvcm1hdHRlcnNSZWdpc3RyeSA9IFwiZm9ybWF0dGVyc1JlZ2lzdHJ5XCIsXG4gICAgRGF0YVNvdXJjZU1hbmFnZXIgPSBcImRhdGFTb3VyY2VNYW5hZ2VyXCIsXG59XG5cbmV4cG9ydCBlbnVtIFdlbGxLbm93blBhdGhLZXkge1xuICAgIFJvb3QgPSBcInJvb3RcIixcbiAgICBEYXRhU291cmNlQ29uZmlnQ29tcG9uZW50VHlwZSA9IFwiZGF0YVNvdXJjZUNvbmZpZ0NvbXBvbmVudFR5cGVcIixcbiAgICBUaWxlRGVzY3JpcHRpb25Db25maWdDb21wb25lbnRUeXBlID0gXCJ0aWxlRGVzY3JpcHRpb25Db25maWdDb21wb25lbnRUeXBlXCIsXG4gICAgRGF0YVNvdXJjZVByb3ZpZGVycyA9IFwiZGF0YVNvdXJjZVByb3ZpZGVyc1wiLFxuICAgIEZvcm1hdHRlcnMgPSBcImZvcm1hdHRlcnNcIixcbiAgICBUaWxlRGVzY3JpcHRpb25CYWNrZ3JvdW5kQ29sb3JzID0gXCJ0aWxlRGVzY3JpcHRpb25CYWNrZ3JvdW5kQ29sb3JzXCIsXG4gICAgVGlsZUJhY2tncm91bmRDb2xvclJ1bGVzQmFja2dyb3VuZENvbG9ycyA9IFwidGlsZUJhY2tncm91bmRDb2xvclJ1bGVzQmFja2dyb3VuZENvbG9yc1wiLFxufVxuXG5leHBvcnQgZW51bSBXZWxsS25vd25EYXRhU291cmNlRmVhdHVyZXMge1xuICAgIEludGVyYWN0aXZpdHkgPSBcImludGVyYWN0aXZpdHlcIixcbiAgICBEaXNhYmxlVGFibGVDb2x1bW5HZW5lcmF0aW9uID0gXCJkaXNhYmxlVGFibGVDb2x1bW5HZW5lcmF0aW9uXCIsXG59XG5cbmV4cG9ydCB0eXBlIElQcm9wZXJ0aWVzID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuZXhwb3J0IGludGVyZmFjZSBJUHJvdmlkZXJQcm9wZXJ0aWVzIGV4dGVuZHMgSVByb3BlcnRpZXMge1xuICAgIC8qKiBUaGlzIGlzIHByb3BlcnR5IGlzIHNldCBieSB0aGUgY29tcG9uZW50IHBvcnRhbCBkaXJlY3RpdmUgdG8gZ2l2ZSBwcm92aWRlcnMgc2VsZi1hd2FyZW5lc3MgdGhleSBuZWVkIHRvIHVwZGF0ZSBwcm9wZXJ0aWVzIGluIHBpenphZ25hLiAqL1xuICAgIHByb3ZpZGVyS2V5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTZXJpYWxpemFibGVUaW1lZnJhbWUge1xuICAgIHN0YXJ0RGF0ZXRpbWU6IHN0cmluZztcbiAgICBlbmREYXRldGltZTogc3RyaW5nO1xuICAgIHNlbGVjdGVkUHJlc2V0SWQ/OiBzdHJpbmc7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbXBvbmVudENvbmZpZ3VyYXRpb24ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgY29tcG9uZW50VHlwZTogc3RyaW5nO1xuICAgIHByb3ZpZGVycz86IFJlY29yZDxzdHJpbmcsIElQcm92aWRlckNvbmZpZ3VyYXRpb24+O1xuICAgIHByb3BlcnRpZXM/OiBJUHJvcGVydGllcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUHJvdmlkZXJDb25maWd1cmF0aW9uIHtcbiAgICBwcm92aWRlcklkOiBzdHJpbmc7XG4gICAgcHJvcGVydGllcz86IElQcm92aWRlclByb3BlcnRpZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVByb3ZpZGVyQ29uZmlndXJhdGlvbkZvckRpc3BsYXlcbiAgICBleHRlbmRzIElQcm92aWRlckNvbmZpZ3VyYXRpb24ge1xuICAgIGxhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBvcnRhbEVudmlyb25tZW50IHtcbiAgICBwcm92aWRlcnM/OiBTdGF0aWNQcm92aWRlcltdO1xuICAgIGluamVjdG9yPzogSW5qZWN0b3I7XG59XG5cbmV4cG9ydCB0eXBlIElQaXp6YWduYUxheWVyID0gUmVjb3JkPHN0cmluZywgRGVlcFBhcnRpYWw8SUNvbXBvbmVudENvbmZpZ3VyYXRpb24+PjtcblxuZXhwb3J0IHR5cGUgSVBpenphZ25hID0gUmVjb3JkPHN0cmluZywgSVBpenphZ25hTGF5ZXI+O1xuXG5leHBvcnQgdHlwZSBJUGl6emEgPSBSZWNvcmQ8c3RyaW5nLCBJQ29tcG9uZW50Q29uZmlndXJhdGlvbj47XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBjb21wb25lbnRzIHRoYXQgY2FuIGJlIGR5bmFtaWNhbGx5IHJlZnJlc2hlZCBmcm9tIHRoZSBvdXRzaWRlIHVzaW5nIHRoZSBjaGFuZ2VEZXRlY3RvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElIYXNDaGFuZ2VEZXRlY3RvciB7XG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgY29tcG9uZW50cyB0aGF0IGV4cG9zZSBhIGZvcm1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSGFzRm9ybTxUIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sID0gRm9ybUdyb3VwPiB7XG4gICAgZm9ybTogVDtcbiAgICBmb3JtUmVhZHk6IEV2ZW50RW1pdHRlcjxUPjtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIHByb3ZpZGVycyB0aGF0IHJlcXVpcmUgdGhlIHJlbGF0ZWQgY29tcG9uZW50IGluZm9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSGFzQ29tcG9uZW50PFQgPSBhbnk+IHtcbiAgICBzZXRDb21wb25lbnQoY29tcG9uZW50OiBULCBjb21wb25lbnRJZDogc3RyaW5nKTogdm9pZDtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNvbmZpZ3VyYWJsZSBwcm92aWRlcnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29uZmlndXJhYmxlIHtcbiAgICBwcm92aWRlcktleT86IHN0cmluZztcbiAgICBzZXRDb21wb25lbnQ/OiAoY29tcG9uZW50OiBhbnksIGNvbXBvbmVudElkOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgLy8gVE9ETzogQlJFQUtJTkcgcmVuYW1lIHRvICd1cGRhdGVQcm9wZXJ0aWVzJyBpbiB2MTIgLSBOVUktNTgyOFxuICAgIHVwZGF0ZUNvbmZpZ3VyYXRpb24ocHJvcGVydGllczogSVByb3BlcnRpZXMpOiB2b2lkO1xufVxuXG5leHBvcnQgZW51bSBQaXp6YWduYUxheWVyIHtcbiAgICBTdHJ1Y3R1cmUgPSBcInN0cnVjdHVyZVwiLFxuICAgIENvbmZpZ3VyYXRpb24gPSBcImNvbmZpZ3VyYXRpb25cIixcbiAgICBEYXRhID0gXCJkYXRhXCIsXG59XG5cbmV4cG9ydCBlbnVtIEFjY29yZGlvblN0YXRlIHtcbiAgICBDUklUSUNBTCA9IFwiY3JpdGljYWxcIixcbiAgICBXQVJOSU5HID0gXCJ3YXJuaW5nXCIsXG4gICAgREVGQVVMVCA9IFwiZGVmYXVsdFwiLFxufVxuXG5leHBvcnQgZW51bSBIdHRwU3RhdHVzQ29kZSB7XG4gICAgVW5rbm93biA9IFwiMFwiLFxuICAgIE9rID0gXCIyMDBcIixcbiAgICBGb3JiaWRkZW4gPSBcIjQwM1wiLFxuICAgIE5vdEZvdW5kID0gXCI0MDRcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGFsZXR0ZUNvbG9yIHtcbiAgICBjb2xvcjogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENvbXBhcmF0b3JGbiA9IChhOiBhbnksIGI6IGFueSkgPT4gYm9vbGVhbjtcbmV4cG9ydCB0eXBlIENvbXBhcmF0b3JUeXBlcyA9IFwiPlwiIHwgXCI+PVwiIHwgXCI9PVwiIHwgXCI8XCIgfCBcIjw9XCI7XG5leHBvcnQgaW50ZXJmYWNlIElCYWNrZ3JvdW5kQ29sb3JDb21wYXJhdG9yIHtcbiAgICBjb21wYXJhdG9yRm46IENvbXBhcmF0b3JGbjtcbiAgICBsYWJlbD86IHN0cmluZztcbn1cbmV4cG9ydCB0eXBlIElDb21wYXJhdG9yc0RpY3QgPSBQYXJ0aWFsPFxuICAgICAgICBSZWNvcmQ8Q29tcGFyYXRvclR5cGVzIHwgc3RyaW5nLCBJQmFja2dyb3VuZENvbG9yQ29tcGFyYXRvcj5cbiAgICA+O1xuIl19