From 62cfd3597178498179d0fccc563e8de47f7546b1 Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Fri, 27 Oct 2023 17:00:41 +0300 Subject: [PATCH] UI: Refactor air quality index widgets --- .../widget_bundles/indoor_environment.json | 4 +-- .../widget_bundles/outdoor_environment.json | 2 +- .../system/widget_types/air_quality_card.json | 28 ---------------- .../air_quality_card_with_background.json | 28 ---------------- .../widget_types/air_quality_chart_card.json | 31 ------------------ ...ir_quality_chart_card_with_background.json | 31 ------------------ .../widget_types/air_quality_index_card.json | 29 +++++++++++++++++ ...ir_quality_index_card_with_background.json | 29 +++++++++++++++++ .../air_quality_index_chart_card.json | 32 +++++++++++++++++++ ...lity_index_chart_card_with_background.json | 32 +++++++++++++++++++ .../horizontal_air_quality_card.json | 28 ---------------- ...ntal_air_quality_card_with_background.json | 28 ---------------- .../horizontal_air_quality_index_card.json | 29 +++++++++++++++++ ...ir_quality_index_card_with_background.json | 29 +++++++++++++++++ .../simple_air_quality_chart_card.json | 31 ------------------ ...ir_quality_chart_card_with_background.json | 31 ------------------ .../simple_air_quality_index_chart_card.json | 32 +++++++++++++++++++ ...lity_index_chart_card_with_background.json | 32 +++++++++++++++++++ 18 files changed, 247 insertions(+), 239 deletions(-) delete mode 100644 application/src/main/data/json/system/widget_types/air_quality_card.json delete mode 100644 application/src/main/data/json/system/widget_types/air_quality_card_with_background.json delete mode 100644 application/src/main/data/json/system/widget_types/air_quality_chart_card.json delete mode 100644 application/src/main/data/json/system/widget_types/air_quality_chart_card_with_background.json create mode 100644 application/src/main/data/json/system/widget_types/air_quality_index_card.json create mode 100644 application/src/main/data/json/system/widget_types/air_quality_index_card_with_background.json create mode 100644 application/src/main/data/json/system/widget_types/air_quality_index_chart_card.json create mode 100644 application/src/main/data/json/system/widget_types/air_quality_index_chart_card_with_background.json delete mode 100644 application/src/main/data/json/system/widget_types/horizontal_air_quality_card.json delete mode 100644 application/src/main/data/json/system/widget_types/horizontal_air_quality_card_with_background.json create mode 100644 application/src/main/data/json/system/widget_types/horizontal_air_quality_index_card.json create mode 100644 application/src/main/data/json/system/widget_types/horizontal_air_quality_index_card_with_background.json delete mode 100644 application/src/main/data/json/system/widget_types/simple_air_quality_chart_card.json delete mode 100644 application/src/main/data/json/system/widget_types/simple_air_quality_chart_card_with_background.json create mode 100644 application/src/main/data/json/system/widget_types/simple_air_quality_index_chart_card.json create mode 100644 application/src/main/data/json/system/widget_types/simple_air_quality_index_chart_card_with_background.json diff --git a/application/src/main/data/json/system/widget_bundles/indoor_environment.json b/application/src/main/data/json/system/widget_bundles/indoor_environment.json index 2253099739..1464ab1135 100644 --- a/application/src/main/data/json/system/widget_bundles/indoor_environment.json +++ b/application/src/main/data/json/system/widget_bundles/indoor_environment.json @@ -2,8 +2,8 @@ "widgetsBundle": { "alias": "indoor_environment", "title": "Indoor Environment", - "image": null, - "description": null, + "image": "data:image/png;base64,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", + "description": "Contains widgets displaying indoor environment telemetry.", "externalId": null, "name": "Indoor Environment" }, diff --git a/application/src/main/data/json/system/widget_bundles/outdoor_environment.json b/application/src/main/data/json/system/widget_bundles/outdoor_environment.json index b0480bc865..b7fa990e7c 100644 --- a/application/src/main/data/json/system/widget_bundles/outdoor_environment.json +++ b/application/src/main/data/json/system/widget_bundles/outdoor_environment.json @@ -2,7 +2,7 @@ "widgetsBundle": { "alias": "outdoor_environment", "title": "Outdoor Environment", - "image": "data:image/png;base64,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", + "image": "data:image/png;base64,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", "description": "Contains widgets displaying outdoor environment telemetry.", "externalId": null, "name": "Outdoor Environment" diff --git a/application/src/main/data/json/system/widget_types/air_quality_card.json b/application/src/main/data/json/system/widget_types/air_quality_card.json deleted file mode 100644 index a140e86044..0000000000 --- a/application/src/main/data/json/system/widget_types/air_quality_card.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "fqn": "air_quality_card", - "name": "Air quality card", - "deprecated": false, - "image": "data:image/png;base64,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", - "description": "Displays a latest air quality telemetry data in a box layout.", - "descriptor": { - "type": "latest", - "sizeX": 3, - "sizeY": 3, - "resources": [], - "templateHtml": "\n", - "templateCss": "", - "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueCardWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '250px',\n previewHeight: '250px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'air', label: 'Air Quality', type: 'timeseries' }];\n }\n };\n};\n\nself.onDestroy = function() {\n};\n", - "settingsSchema": "", - "dataKeySettingsSchema": "", - "settingsDirective": "tb-value-card-widget-settings", - "hasBasicMode": true, - "basicModeDirective": "tb-value-card-basic-config", - "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"labelPosition\":\"top\",\"layout\":\"square\",\"showLabel\":true,\"labelFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"labelColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showIcon\":true,\"iconSize\":40,\"iconSizeUnit\":\"px\",\"icon\":\"mdi:weather-windy\",\"iconColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#80C32C\"},{\"from\":50,\"to\":100,\"color\":\"#FFA600\"},{\"from\":100,\"to\":150,\"color\":\"#F36900\"},{\"from\":150,\"to\":200,\"color\":\"#D81838\"},{\"from\":200,\"to\":300,\"color\":\"#8D268C\"},{\"from\":300,\"to\":null,\"color\":\"#6F113A\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"valueFont\":{\"size\":26,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#80C32C\"},{\"from\":50,\"to\":100,\"color\":\"#FFA600\"},{\"from\":100,\"to\":150,\"color\":\"#F36900\"},{\"from\":150,\"to\":200,\"color\":\"#D81838\"},{\"from\":200,\"to\":300,\"color\":\"#8D268C\"},{\"from\":300,\"to\":null,\"color\":\"#6F113A\"}]},\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"dateColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Air quality card\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"US AQI\",\"decimals\":1,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":false,\"titleTooltip\":\"\",\"titleFont\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1.6\"},\"titleIcon\":\"\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"14px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null}}" - }, - "externalId": null, - "tags": [ - "weather", - "environment", - "air" - ] -} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/air_quality_card_with_background.json b/application/src/main/data/json/system/widget_types/air_quality_card_with_background.json deleted file mode 100644 index bc32e31a31..0000000000 --- a/application/src/main/data/json/system/widget_types/air_quality_card_with_background.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "fqn": "air_quality_card_with_background", - "name": "Air quality card with background", - "deprecated": false, - "image": "data:image/png;base64,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", - "description": "Displays a latest air quality telemetry data in a box layout with background.", - "descriptor": { - "type": "latest", - "sizeX": 3, - "sizeY": 3, - "resources": [], - "templateHtml": "\n", - "templateCss": "", - "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueCardWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '250px',\n previewHeight: '250px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'air', label: 'Air Quality', type: 'timeseries' }];\n }\n };\n};\n\nself.onDestroy = function() {\n};\n", - "settingsSchema": "", - "dataKeySettingsSchema": "", - "settingsDirective": "tb-value-card-widget-settings", - "hasBasicMode": true, - "basicModeDirective": "tb-value-card-basic-config", - "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"labelPosition\":\"top\",\"layout\":\"square\",\"showLabel\":true,\"labelFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"labelColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showIcon\":true,\"iconSize\":40,\"iconSizeUnit\":\"px\",\"icon\":\"mdi:weather-windy\",\"iconColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#7CC322\"},{\"from\":50,\"to\":100,\"color\":\"#F89E0D\"},{\"from\":100,\"to\":150,\"color\":\"#F77410\"},{\"from\":150,\"to\":200,\"color\":\"#DE2343\"},{\"from\":200,\"to\":300,\"color\":\"#7B287A\"},{\"from\":300,\"to\":null,\"color\":\"#791541\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"valueFont\":{\"size\":26,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#7CC322\"},{\"from\":50,\"to\":100,\"color\":\"#F89E0D\"},{\"from\":100,\"to\":150,\"color\":\"#F77410\"},{\"from\":150,\"to\":200,\"color\":\"#DE2343\"},{\"from\":200,\"to\":300,\"color\":\"#7B287A\"},{\"from\":300,\"to\":null,\"color\":\"#791541\"}]},\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"dateColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,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\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Air quality card\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"US AQI\",\"decimals\":1,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":false,\"titleTooltip\":\"\",\"titleFont\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1.6\"},\"titleIcon\":\"\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"14px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null}}" - }, - "externalId": null, - "tags": [ - "weather", - "environment", - "air" - ] -} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/air_quality_chart_card.json b/application/src/main/data/json/system/widget_types/air_quality_chart_card.json deleted file mode 100644 index da03d55d1a..0000000000 --- a/application/src/main/data/json/system/widget_types/air_quality_chart_card.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "fqn": "air_quality_chart_card", - "name": "Air quality chart card", - "deprecated": false, - "image": "data:image/png;base64,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", - "description": "Displays a air quality data as a combination of the latest and aggregated values. Optionally may display the corresponding historical values as a simplified chart.", - "descriptor": { - "type": "timeseries", - "sizeX": 4.5, - "sizeY": 3.5, - "resources": [], - "templateHtml": "\n\n", - "templateCss": ".legend {\n font-size: 13px;\n line-height: 10px;\n}\n\n.legend table { \n border-spacing: 0px;\n border-collapse: separate;\n}\n\n.mouse-events .flot-overlay {\n cursor: crosshair; \n}\n\n", - "controllerScript": "self.onInit = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onDataUpdated();\n};\n\nself.onLatestDataUpdated = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onLatestDataUpdated();\n}\n\nself.onResize = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onResize();\n}\n\nself.onEditModeChanged = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onEditModeChanged();\n}\n\nself.onDestroy = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onDestroy();\n}\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '400px',\n previewHeight: '300px',\n embedTitlePanel: true,\n hasAdditionalLatestDataKeys: true,\n defaultDataKeysFunction: function() {\n return [\n { name: 'air', label: 'Air Quality', type: 'timeseries', color: 'rgba(0, 0, 0, 0.87)', units: 'US AQI', decimals: 1 }\n ];\n },\n defaultLatestDataKeysFunction: function(configComponent, configData) {\n return configComponent.createDefaultAggregatedValueLatestDataKeys(configData, 'air', 'US AQI', 1);\n }\n };\n}\n", - "settingsSchema": "{}", - "dataKeySettingsSchema": "{}", - "latestDataKeySettingsSchema": "{}", - "settingsDirective": "tb-aggregated-value-card-widget-settings", - "dataKeySettingsDirective": "", - "latestDataKeySettingsDirective": "tb-aggregated-value-card-key-settings", - "hasBasicMode": true, - "basicModeDirective": "tb-aggregated-value-card-basic-config", - "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"Main building\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{\"showLines\":true,\"fillLines\":true,\"showPoints\":false},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"US AQI\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]},\"latestDataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Latest\",\"color\":\"#4caf50\",\"settings\":{\"position\":\"center\",\"font\":{\"size\":36,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"1\"},\"color\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#80C32C\"},{\"from\":50,\"to\":100,\"color\":\"#FFA600\"},{\"from\":100,\"to\":150,\"color\":\"#F36900\"},{\"from\":150,\"to\":200,\"color\":\"#D81838\"},{\"from\":200,\"to\":300,\"color\":\"#8D268C\"},{\"from\":300,\"to\":null,\"color\":\"#6F113A\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":false},\"_hash\":0.9408410830697858,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"US AQI\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Delta percent\",\"color\":\"#f44336\",\"settings\":{\"position\":\"rightTop\",\"font\":{\"size\":14,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"20px\"},\"color\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"rangeList\":[{\"from\":null,\"to\":0,\"color\":\"#198038\"},{\"from\":0,\"to\":0,\"color\":\"rgba(0, 0, 0, 0.87)\"},{\"from\":0,\"to\":null,\"color\":\"#D12730\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":true},\"_hash\":0.06392321853157967,\"funcBody\":\"var value = prevValue + Math.random() * 6 - 3;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < -25) {\\n\\tvalue = -25;\\n} else if (value > 25) {\\n\\tvalue = 25;\\n} \\nreturn value;\",\"aggregationType\":null,\"units\":\"%\",\"decimals\":0,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Delta absolute\",\"color\":\"#607d8b\",\"settings\":{\"position\":\"rightBottom\",\"font\":{\"size\":11,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"rangeList\":[],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":false},\"_hash\":0.44695098620509865,\"funcBody\":\"var value = prevValue + Math.random() * 10 - 5;\\nif (value < -20) {\\n\\tvalue = -20;\\n} else if (value > 20) {\\n\\tvalue = 20;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"US AQI\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null}]}],\"timewindow\":{\"hideInterval\":false,\"hideLastInterval\":false,\"hideQuickInterval\":false,\"hideAggregation\":false,\"hideAggInterval\":false,\"hideTimezone\":false,\"selectedTab\":1,\"history\":{\"historyType\":2,\"timewindowMs\":60000,\"interval\":43200000,\"fixedTimewindow\":{\"startTimeMs\":1691927717318,\"endTimeMs\":1692014117318},\"quickInterval\":\"CURRENT_MONTH_SO_FAR\"},\"aggregation\":{\"type\":\"AVG\",\"limit\":25000}},\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":null,\"padding\":\"0\",\"settings\":{\"stack\":false,\"fontSize\":10,\"fontColor\":\"#545454\",\"showTooltip\":true,\"tooltipIndividual\":false,\"tooltipCumulative\":false,\"hideZeros\":false,\"grid\":{\"verticalLines\":true,\"horizontalLines\":true,\"outlineWidth\":1,\"color\":\"#545454\",\"backgroundColor\":null,\"tickColor\":\"#DDDDDD\"},\"xaxis\":{\"title\":null,\"showLabels\":true,\"color\":\"#545454\"},\"yaxis\":{\"min\":null,\"max\":null,\"title\":null,\"showLabels\":true,\"color\":\"#545454\",\"tickSize\":null,\"tickDecimals\":0,\"ticksFormatter\":\"\"},\"shadowSize\":4,\"smoothLines\":false,\"comparisonEnabled\":false,\"xaxisSecond\":{\"axisPosition\":\"top\",\"title\":null,\"showLabels\":true},\"showLegend\":true,\"legendConfig\":{\"direction\":\"column\",\"position\":\"bottom\",\"sortDataKeys\":false,\"showMin\":false,\"showMax\":false,\"showAvg\":true,\"showTotal\":false,\"showLatest\":false},\"customLegendEnabled\":false,\"showSubtitle\":true,\"subtitle\":\"${entityName}\",\"subtitleFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"400\",\"lineHeight\":\"16px\"},\"subtitleColor\":\"rgba(0, 0, 0, 0.38)\",\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"400\",\"lineHeight\":\"16px\"},\"dateColor\":\"rgba(0, 0, 0, 0.38)\",\"showChart\":true,\"chartColor\":\"rgba(0, 0, 0, 0.87)\",\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Air Quality\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"mobileHeight\":null,\"configMode\":\"basic\",\"actions\":{},\"showTitleIcon\":true,\"titleIcon\":\"mdi:weather-windy\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"iconSize\":\"24px\",\"titleTooltip\":\"\",\"widgetStyle\":{},\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"useDashboardTimewindow\":false,\"displayTimewindow\":true,\"decimals\":0,\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"24px\",\"icon\":null,\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":\"rgba(0, 0, 0, 0.38)\",\"displayTypePrefix\":false},\"titleColor\":\"rgba(0, 0, 0, 0.87)\",\"borderRadius\":null}" - }, - "externalId": null, - "tags": [ - "weather", - "environment", - "air" - ] -} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/air_quality_chart_card_with_background.json b/application/src/main/data/json/system/widget_types/air_quality_chart_card_with_background.json deleted file mode 100644 index 895b98c57e..0000000000 --- a/application/src/main/data/json/system/widget_types/air_quality_chart_card_with_background.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "fqn": "air_quality_chart_card_with_background", - "name": "Air quality chart card with background", - "deprecated": false, - "image": "data:image/png;base64,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", - "description": "Displays a air quality data as a combination of the latest and aggregated values with background. Optionally may display the corresponding historical values as a simplified chart.", - "descriptor": { - "type": "timeseries", - "sizeX": 4.5, - "sizeY": 3.5, - "resources": [], - "templateHtml": "\n\n", - "templateCss": ".legend {\n font-size: 13px;\n line-height: 10px;\n}\n\n.legend table { \n border-spacing: 0px;\n border-collapse: separate;\n}\n\n.mouse-events .flot-overlay {\n cursor: crosshair; \n}\n\n", - "controllerScript": "self.onInit = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onDataUpdated();\n};\n\nself.onLatestDataUpdated = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onLatestDataUpdated();\n}\n\nself.onResize = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onResize();\n}\n\nself.onEditModeChanged = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onEditModeChanged();\n}\n\nself.onDestroy = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onDestroy();\n}\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '400px',\n previewHeight: '300px',\n embedTitlePanel: true,\n hasAdditionalLatestDataKeys: true,\n defaultDataKeysFunction: function() {\n return [\n { name: 'air', label: 'Air Quality', type: 'timeseries', color: 'rgba(0, 0, 0, 0.87)', units: 'US AQI', decimals: 1 }\n ];\n },\n defaultLatestDataKeysFunction: function(configComponent, configData) {\n return configComponent.createDefaultAggregatedValueLatestDataKeys(configData, 'air', 'US AQI', 1);\n }\n };\n}\n", - "settingsSchema": "{}", - "dataKeySettingsSchema": "{}", - "latestDataKeySettingsSchema": "{}", - "settingsDirective": "tb-aggregated-value-card-widget-settings", - "dataKeySettingsDirective": "", - "latestDataKeySettingsDirective": "tb-aggregated-value-card-key-settings", - "hasBasicMode": true, - "basicModeDirective": "tb-aggregated-value-card-basic-config", - "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"Main building\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{\"showLines\":true,\"fillLines\":true,\"showPoints\":false},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"US AQI\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]},\"latestDataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Latest\",\"color\":\"#4caf50\",\"settings\":{\"position\":\"center\",\"font\":{\"size\":36,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"1\"},\"color\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#7CC322\"},{\"from\":50,\"to\":100,\"color\":\"#F89E0D\"},{\"from\":100,\"to\":150,\"color\":\"#F77410\"},{\"from\":150,\"to\":200,\"color\":\"#DE2343\"},{\"from\":200,\"to\":300,\"color\":\"#7B287A\"},{\"from\":300,\"to\":null,\"color\":\"#791541\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":false},\"_hash\":0.9408410830697858,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"US AQI\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Delta percent\",\"color\":\"#f44336\",\"settings\":{\"position\":\"rightTop\",\"font\":{\"size\":14,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"20px\"},\"color\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"rangeList\":[{\"from\":null,\"to\":0,\"color\":\"#198038\"},{\"from\":0,\"to\":0,\"color\":\"rgba(0, 0, 0, 0.87)\"},{\"from\":0,\"to\":null,\"color\":\"#D12730\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":true},\"_hash\":0.06392321853157967,\"funcBody\":\"var value = prevValue + Math.random() * 6 - 3;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < -25) {\\n\\tvalue = -25;\\n} else if (value > 25) {\\n\\tvalue = 25;\\n} \\nreturn value;\",\"aggregationType\":null,\"units\":\"%\",\"decimals\":0,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Delta absolute\",\"color\":\"#607d8b\",\"settings\":{\"position\":\"rightBottom\",\"font\":{\"size\":11,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"rangeList\":[],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":false},\"_hash\":0.44695098620509865,\"funcBody\":\"var value = prevValue + Math.random() * 10 - 5;\\nif (value < -20) {\\n\\tvalue = -20;\\n} else if (value > 20) {\\n\\tvalue = 20;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"US AQI\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null}]}],\"timewindow\":{\"hideInterval\":false,\"hideLastInterval\":false,\"hideQuickInterval\":false,\"hideAggregation\":false,\"hideAggInterval\":false,\"hideTimezone\":false,\"selectedTab\":1,\"history\":{\"historyType\":2,\"timewindowMs\":60000,\"interval\":43200000,\"fixedTimewindow\":{\"startTimeMs\":1691927717318,\"endTimeMs\":1692014117318},\"quickInterval\":\"CURRENT_MONTH_SO_FAR\"},\"aggregation\":{\"type\":\"AVG\",\"limit\":25000}},\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":null,\"padding\":\"0\",\"settings\":{\"stack\":false,\"fontSize\":10,\"fontColor\":\"#545454\",\"showTooltip\":true,\"tooltipIndividual\":false,\"tooltipCumulative\":false,\"hideZeros\":false,\"grid\":{\"verticalLines\":true,\"horizontalLines\":true,\"outlineWidth\":1,\"color\":\"#545454\",\"backgroundColor\":null,\"tickColor\":\"#DDDDDD\"},\"xaxis\":{\"title\":null,\"showLabels\":true,\"color\":\"#545454\"},\"yaxis\":{\"min\":null,\"max\":null,\"title\":null,\"showLabels\":true,\"color\":\"#545454\",\"tickSize\":null,\"tickDecimals\":0,\"ticksFormatter\":\"\"},\"shadowSize\":4,\"smoothLines\":false,\"comparisonEnabled\":false,\"xaxisSecond\":{\"axisPosition\":\"top\",\"title\":null,\"showLabels\":true},\"showLegend\":true,\"legendConfig\":{\"direction\":\"column\",\"position\":\"bottom\",\"sortDataKeys\":false,\"showMin\":false,\"showMax\":false,\"showAvg\":true,\"showTotal\":false,\"showLatest\":false},\"customLegendEnabled\":false,\"showSubtitle\":true,\"subtitle\":\"${entityName}\",\"subtitleFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"400\",\"lineHeight\":\"16px\"},\"subtitleColor\":\"rgba(0, 0, 0, 0.38)\",\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"400\",\"lineHeight\":\"16px\"},\"dateColor\":\"rgba(0, 0, 0, 0.38)\",\"showChart\":true,\"chartColor\":\"rgba(0, 0, 0, 0.87)\",\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,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\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Air Quality\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"mobileHeight\":null,\"configMode\":\"basic\",\"actions\":{},\"showTitleIcon\":true,\"titleIcon\":\"mdi:weather-windy\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"iconSize\":\"24px\",\"titleTooltip\":\"\",\"widgetStyle\":{},\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"useDashboardTimewindow\":false,\"displayTimewindow\":true,\"decimals\":0,\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"24px\",\"icon\":null,\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":\"rgba(0, 0, 0, 0.38)\",\"displayTypePrefix\":false},\"titleColor\":\"rgba(0, 0, 0, 0.87)\",\"borderRadius\":null}" - }, - "externalId": null, - "tags": [ - "weather", - "environment", - "air" - ] -} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/air_quality_index_card.json b/application/src/main/data/json/system/widget_types/air_quality_index_card.json new file mode 100644 index 0000000000..5041a13350 --- /dev/null +++ b/application/src/main/data/json/system/widget_types/air_quality_index_card.json @@ -0,0 +1,29 @@ +{ + "fqn": "air_quality_card", + "name": "Air quality index card", + "deprecated": false, + "image": "data:image/png;base64,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", + "description": "Displays a latest air quality index telemetry data in a box layout.", + "descriptor": { + "type": "latest", + "sizeX": 3, + "sizeY": 3, + "resources": [], + "templateHtml": "\n", + "templateCss": "", + "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueCardWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '250px',\n previewHeight: '250px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'air', label: 'Air Quality Index', type: 'timeseries' }];\n }\n };\n};\n\nself.onDestroy = function() {\n};\n", + "settingsSchema": "", + "dataKeySettingsSchema": "", + "settingsDirective": "tb-value-card-widget-settings", + "hasBasicMode": true, + "basicModeDirective": "tb-value-card-basic-config", + "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality Index\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"labelPosition\":\"top\",\"layout\":\"square\",\"showLabel\":true,\"labelFont\":{\"size\":14,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"labelColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showIcon\":true,\"iconSize\":40,\"iconSizeUnit\":\"px\",\"icon\":\"mdi:weather-windy\",\"iconColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#80C32C\"},{\"from\":50,\"to\":100,\"color\":\"#FFA600\"},{\"from\":100,\"to\":150,\"color\":\"#F36900\"},{\"from\":150,\"to\":200,\"color\":\"#D81838\"},{\"from\":200,\"to\":300,\"color\":\"#8D268C\"},{\"from\":300,\"to\":null,\"color\":\"#6F113A\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"valueFont\":{\"size\":26,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#80C32C\"},{\"from\":50,\"to\":100,\"color\":\"#FFA600\"},{\"from\":100,\"to\":150,\"color\":\"#F36900\"},{\"from\":150,\"to\":200,\"color\":\"#D81838\"},{\"from\":200,\"to\":300,\"color\":\"#8D268C\"},{\"from\":300,\"to\":null,\"color\":\"#6F113A\"}]},\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"dateColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Air quality card\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"AQI\",\"decimals\":1,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":false,\"titleTooltip\":\"\",\"titleFont\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1.6\"},\"titleIcon\":\"\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"14px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null}}" + }, + "externalId": null, + "tags": [ + "weather", + "environment", + "air", + "aqi" + ] +} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/air_quality_index_card_with_background.json b/application/src/main/data/json/system/widget_types/air_quality_index_card_with_background.json new file mode 100644 index 0000000000..4f473d11c8 --- /dev/null +++ b/application/src/main/data/json/system/widget_types/air_quality_index_card_with_background.json @@ -0,0 +1,29 @@ +{ + "fqn": "air_quality_card_with_background", + "name": "Air quality index card with background", + "deprecated": false, + "image": "data:image/png;base64,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", + "description": "Displays a latest air quality index telemetry data in a box layout with background.", + "descriptor": { + "type": "latest", + "sizeX": 3, + "sizeY": 3, + "resources": [], + "templateHtml": "\n", + "templateCss": "", + "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueCardWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '250px',\n previewHeight: '250px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'air', label: 'Air Quality Index', type: 'timeseries' }];\n }\n };\n};\n\nself.onDestroy = function() {\n};\n", + "settingsSchema": "", + "dataKeySettingsSchema": "", + "settingsDirective": "tb-value-card-widget-settings", + "hasBasicMode": true, + "basicModeDirective": "tb-value-card-basic-config", + "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality Index\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"labelPosition\":\"top\",\"layout\":\"square\",\"showLabel\":true,\"labelFont\":{\"size\":14,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"labelColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showIcon\":true,\"iconSize\":40,\"iconSizeUnit\":\"px\",\"icon\":\"mdi:weather-windy\",\"iconColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#7CC322\"},{\"from\":50,\"to\":100,\"color\":\"#F89E0D\"},{\"from\":100,\"to\":150,\"color\":\"#F77410\"},{\"from\":150,\"to\":200,\"color\":\"#DE2343\"},{\"from\":200,\"to\":300,\"color\":\"#7B287A\"},{\"from\":300,\"to\":null,\"color\":\"#791541\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"valueFont\":{\"size\":26,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#7CC322\"},{\"from\":50,\"to\":100,\"color\":\"#F89E0D\"},{\"from\":100,\"to\":150,\"color\":\"#F77410\"},{\"from\":150,\"to\":200,\"color\":\"#DE2343\"},{\"from\":200,\"to\":300,\"color\":\"#7B287A\"},{\"from\":300,\"to\":null,\"color\":\"#791541\"}]},\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"dateColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,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\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Air quality card\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"AQI\",\"decimals\":1,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":false,\"titleTooltip\":\"\",\"titleFont\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1.6\"},\"titleIcon\":\"\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"14px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null}}" + }, + "externalId": null, + "tags": [ + "weather", + "environment", + "air", + "aqi" + ] +} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/air_quality_index_chart_card.json b/application/src/main/data/json/system/widget_types/air_quality_index_chart_card.json new file mode 100644 index 0000000000..a49ae839a0 --- /dev/null +++ b/application/src/main/data/json/system/widget_types/air_quality_index_chart_card.json @@ -0,0 +1,32 @@ +{ + "fqn": "air_quality_chart_card", + "name": "Air quality index chart card", + "deprecated": false, + "image": "data:image/png;base64,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", + "description": "Displays a air quality index data as a combination of the latest and aggregated values. Optionally may display the corresponding historical values as a simplified chart.", + "descriptor": { + "type": "timeseries", + "sizeX": 4.5, + "sizeY": 3.5, + "resources": [], + "templateHtml": "\n\n", + "templateCss": ".legend {\n font-size: 13px;\n line-height: 10px;\n}\n\n.legend table { \n border-spacing: 0px;\n border-collapse: separate;\n}\n\n.mouse-events .flot-overlay {\n cursor: crosshair; \n}\n\n", + "controllerScript": "self.onInit = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onDataUpdated();\n};\n\nself.onLatestDataUpdated = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onLatestDataUpdated();\n}\n\nself.onResize = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onResize();\n}\n\nself.onEditModeChanged = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onEditModeChanged();\n}\n\nself.onDestroy = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onDestroy();\n}\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '400px',\n previewHeight: '300px',\n embedTitlePanel: true,\n hasAdditionalLatestDataKeys: true,\n defaultDataKeysFunction: function() {\n return [\n { name: 'air', label: 'Air Quality Index', type: 'timeseries', color: 'rgba(0, 0, 0, 0.87)', units: 'AQI', decimals: 1 }\n ];\n },\n defaultLatestDataKeysFunction: function(configComponent, configData) {\n return configComponent.createDefaultAggregatedValueLatestDataKeys(configData, 'air', 'AQI', 1);\n }\n };\n}\n", + "settingsSchema": "{}", + "dataKeySettingsSchema": "{}", + "latestDataKeySettingsSchema": "{}", + "settingsDirective": "tb-aggregated-value-card-widget-settings", + "dataKeySettingsDirective": "", + "latestDataKeySettingsDirective": "tb-aggregated-value-card-key-settings", + "hasBasicMode": true, + "basicModeDirective": "tb-aggregated-value-card-basic-config", + "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"Main building\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality Index\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{\"showLines\":true,\"fillLines\":true,\"showPoints\":false},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"AQI\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]},\"latestDataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Latest\",\"color\":\"#4caf50\",\"settings\":{\"position\":\"center\",\"font\":{\"size\":36,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"1\"},\"color\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#80C32C\"},{\"from\":50,\"to\":100,\"color\":\"#FFA600\"},{\"from\":100,\"to\":150,\"color\":\"#F36900\"},{\"from\":150,\"to\":200,\"color\":\"#D81838\"},{\"from\":200,\"to\":300,\"color\":\"#8D268C\"},{\"from\":300,\"to\":null,\"color\":\"#6F113A\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":false},\"_hash\":0.9408410830697858,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"AQI\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Delta percent\",\"color\":\"#f44336\",\"settings\":{\"position\":\"rightTop\",\"font\":{\"size\":14,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"20px\"},\"color\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"rangeList\":[{\"from\":null,\"to\":0,\"color\":\"#198038\"},{\"from\":0,\"to\":0,\"color\":\"rgba(0, 0, 0, 0.87)\"},{\"from\":0,\"to\":null,\"color\":\"#D12730\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":true},\"_hash\":0.06392321853157967,\"funcBody\":\"var value = prevValue + Math.random() * 6 - 3;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < -25) {\\n\\tvalue = -25;\\n} else if (value > 25) {\\n\\tvalue = 25;\\n} \\nreturn value;\",\"aggregationType\":null,\"units\":\"%\",\"decimals\":0,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Delta absolute\",\"color\":\"#607d8b\",\"settings\":{\"position\":\"rightBottom\",\"font\":{\"size\":11,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"rangeList\":[],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":false},\"_hash\":0.44695098620509865,\"funcBody\":\"var value = prevValue + Math.random() * 10 - 5;\\nif (value < -20) {\\n\\tvalue = -20;\\n} else if (value > 20) {\\n\\tvalue = 20;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"AQI\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null}]}],\"timewindow\":{\"hideInterval\":false,\"hideLastInterval\":false,\"hideQuickInterval\":false,\"hideAggregation\":false,\"hideAggInterval\":false,\"hideTimezone\":false,\"selectedTab\":1,\"history\":{\"historyType\":2,\"timewindowMs\":60000,\"interval\":43200000,\"fixedTimewindow\":{\"startTimeMs\":1691927717318,\"endTimeMs\":1692014117318},\"quickInterval\":\"CURRENT_MONTH_SO_FAR\"},\"aggregation\":{\"type\":\"AVG\",\"limit\":25000}},\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":null,\"padding\":\"0\",\"settings\":{\"stack\":false,\"fontSize\":10,\"fontColor\":\"#545454\",\"showTooltip\":true,\"tooltipIndividual\":false,\"tooltipCumulative\":false,\"hideZeros\":false,\"grid\":{\"verticalLines\":true,\"horizontalLines\":true,\"outlineWidth\":1,\"color\":\"#545454\",\"backgroundColor\":null,\"tickColor\":\"#DDDDDD\"},\"xaxis\":{\"title\":null,\"showLabels\":true,\"color\":\"#545454\"},\"yaxis\":{\"min\":null,\"max\":null,\"title\":null,\"showLabels\":true,\"color\":\"#545454\",\"tickSize\":null,\"tickDecimals\":0,\"ticksFormatter\":\"\"},\"shadowSize\":4,\"smoothLines\":false,\"comparisonEnabled\":false,\"xaxisSecond\":{\"axisPosition\":\"top\",\"title\":null,\"showLabels\":true},\"showLegend\":true,\"legendConfig\":{\"direction\":\"column\",\"position\":\"bottom\",\"sortDataKeys\":false,\"showMin\":false,\"showMax\":false,\"showAvg\":true,\"showTotal\":false,\"showLatest\":false},\"customLegendEnabled\":false,\"showSubtitle\":true,\"subtitle\":\"${entityName}\",\"subtitleFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"400\",\"lineHeight\":\"16px\"},\"subtitleColor\":\"rgba(0, 0, 0, 0.38)\",\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"400\",\"lineHeight\":\"16px\"},\"dateColor\":\"rgba(0, 0, 0, 0.38)\",\"showChart\":true,\"chartColor\":\"rgba(0, 0, 0, 0.87)\",\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Air Quality Index\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"mobileHeight\":null,\"configMode\":\"basic\",\"actions\":{},\"showTitleIcon\":true,\"titleIcon\":\"mdi:weather-windy\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"iconSize\":\"24px\",\"titleTooltip\":\"\",\"widgetStyle\":{},\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"useDashboardTimewindow\":false,\"displayTimewindow\":true,\"decimals\":0,\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"24px\",\"icon\":null,\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":\"rgba(0, 0, 0, 0.38)\",\"displayTypePrefix\":false},\"titleColor\":\"rgba(0, 0, 0, 0.87)\",\"borderRadius\":null}" + }, + "externalId": null, + "tags": [ + "weather", + "environment", + "air", + "aqi" + ] +} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/air_quality_index_chart_card_with_background.json b/application/src/main/data/json/system/widget_types/air_quality_index_chart_card_with_background.json new file mode 100644 index 0000000000..804132c639 --- /dev/null +++ b/application/src/main/data/json/system/widget_types/air_quality_index_chart_card_with_background.json @@ -0,0 +1,32 @@ +{ + "fqn": "air_quality_chart_card_with_background", + "name": "Air quality index chart card with background", + "deprecated": false, + "image": "data:image/png;base64,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", + "description": "Displays a air quality index data as a combination of the latest and aggregated values with background. Optionally may display the corresponding historical values as a simplified chart.", + "descriptor": { + "type": "timeseries", + "sizeX": 4.5, + "sizeY": 3.5, + "resources": [], + "templateHtml": "\n\n", + "templateCss": ".legend {\n font-size: 13px;\n line-height: 10px;\n}\n\n.legend table { \n border-spacing: 0px;\n border-collapse: separate;\n}\n\n.mouse-events .flot-overlay {\n cursor: crosshair; \n}\n\n", + "controllerScript": "self.onInit = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onDataUpdated();\n};\n\nself.onLatestDataUpdated = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onLatestDataUpdated();\n}\n\nself.onResize = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onResize();\n}\n\nself.onEditModeChanged = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onEditModeChanged();\n}\n\nself.onDestroy = function() {\n self.ctx.$scope.aggregatedValueCardWidget.onDestroy();\n}\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '400px',\n previewHeight: '300px',\n embedTitlePanel: true,\n hasAdditionalLatestDataKeys: true,\n defaultDataKeysFunction: function() {\n return [\n { name: 'air', label: 'Air Quality Index', type: 'timeseries', color: 'rgba(0, 0, 0, 0.87)', units: 'AQI', decimals: 1 }\n ];\n },\n defaultLatestDataKeysFunction: function(configComponent, configData) {\n return configComponent.createDefaultAggregatedValueLatestDataKeys(configData, 'air', 'AQI', 1);\n }\n };\n}\n", + "settingsSchema": "{}", + "dataKeySettingsSchema": "{}", + "latestDataKeySettingsSchema": "{}", + "settingsDirective": "tb-aggregated-value-card-widget-settings", + "dataKeySettingsDirective": "", + "latestDataKeySettingsDirective": "tb-aggregated-value-card-key-settings", + "hasBasicMode": true, + "basicModeDirective": "tb-aggregated-value-card-basic-config", + "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"Main building\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality Index\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{\"showLines\":true,\"fillLines\":true,\"showPoints\":false},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"AQI\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]},\"latestDataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Latest\",\"color\":\"#4caf50\",\"settings\":{\"position\":\"center\",\"font\":{\"size\":36,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"1\"},\"color\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#7CC322\"},{\"from\":50,\"to\":100,\"color\":\"#F89E0D\"},{\"from\":100,\"to\":150,\"color\":\"#F77410\"},{\"from\":150,\"to\":200,\"color\":\"#DE2343\"},{\"from\":200,\"to\":300,\"color\":\"#7B287A\"},{\"from\":300,\"to\":null,\"color\":\"#791541\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":false},\"_hash\":0.9408410830697858,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"AQI\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Delta percent\",\"color\":\"#f44336\",\"settings\":{\"position\":\"rightTop\",\"font\":{\"size\":14,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"20px\"},\"color\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"rangeList\":[{\"from\":null,\"to\":0,\"color\":\"#198038\"},{\"from\":0,\"to\":0,\"color\":\"rgba(0, 0, 0, 0.87)\"},{\"from\":0,\"to\":null,\"color\":\"#D12730\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":true},\"_hash\":0.06392321853157967,\"funcBody\":\"var value = prevValue + Math.random() * 6 - 3;\\nvar multiplier = Math.pow(10, 2 || 0);\\nvar value = Math.round(value * multiplier) / multiplier;\\nif (value < -25) {\\n\\tvalue = -25;\\n} else if (value > 25) {\\n\\tvalue = 25;\\n} \\nreturn value;\",\"aggregationType\":null,\"units\":\"%\",\"decimals\":0,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Delta absolute\",\"color\":\"#607d8b\",\"settings\":{\"position\":\"rightBottom\",\"font\":{\"size\":11,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"rangeList\":[],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showArrow\":false},\"_hash\":0.44695098620509865,\"funcBody\":\"var value = prevValue + Math.random() * 10 - 5;\\nif (value < -20) {\\n\\tvalue = -20;\\n} else if (value > 20) {\\n\\tvalue = 20;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"AQI\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null}]}],\"timewindow\":{\"hideInterval\":false,\"hideLastInterval\":false,\"hideQuickInterval\":false,\"hideAggregation\":false,\"hideAggInterval\":false,\"hideTimezone\":false,\"selectedTab\":1,\"history\":{\"historyType\":2,\"timewindowMs\":60000,\"interval\":43200000,\"fixedTimewindow\":{\"startTimeMs\":1691927717318,\"endTimeMs\":1692014117318},\"quickInterval\":\"CURRENT_MONTH_SO_FAR\"},\"aggregation\":{\"type\":\"AVG\",\"limit\":25000}},\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":null,\"padding\":\"0\",\"settings\":{\"stack\":false,\"fontSize\":10,\"fontColor\":\"#545454\",\"showTooltip\":true,\"tooltipIndividual\":false,\"tooltipCumulative\":false,\"hideZeros\":false,\"grid\":{\"verticalLines\":true,\"horizontalLines\":true,\"outlineWidth\":1,\"color\":\"#545454\",\"backgroundColor\":null,\"tickColor\":\"#DDDDDD\"},\"xaxis\":{\"title\":null,\"showLabels\":true,\"color\":\"#545454\"},\"yaxis\":{\"min\":null,\"max\":null,\"title\":null,\"showLabels\":true,\"color\":\"#545454\",\"tickSize\":null,\"tickDecimals\":0,\"ticksFormatter\":\"\"},\"shadowSize\":4,\"smoothLines\":false,\"comparisonEnabled\":false,\"xaxisSecond\":{\"axisPosition\":\"top\",\"title\":null,\"showLabels\":true},\"showLegend\":true,\"legendConfig\":{\"direction\":\"column\",\"position\":\"bottom\",\"sortDataKeys\":false,\"showMin\":false,\"showMax\":false,\"showAvg\":true,\"showTotal\":false,\"showLatest\":false},\"customLegendEnabled\":false,\"showSubtitle\":true,\"subtitle\":\"${entityName}\",\"subtitleFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"400\",\"lineHeight\":\"16px\"},\"subtitleColor\":\"rgba(0, 0, 0, 0.38)\",\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"400\",\"lineHeight\":\"16px\"},\"dateColor\":\"rgba(0, 0, 0, 0.38)\",\"showChart\":true,\"chartColor\":\"rgba(0, 0, 0, 0.87)\",\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU8AAAELCAMAAABu2vS6AAAB11BMVEWsrqijpZ+zta+wsqyqraamqaKlp6Gusaqgo5ycn5ieoZqytK2oq6S2t7Ktr6q6vLa5urWZm5WprKW3ubO8vbibnZe+wLq0trF1d3Nxc29vcm29vrl2eXSNkIqWmJLAwbx6fXiBg35zdXB+gHqSlI5ydnJucGuJjIaUl5GPkozBwr+Qk41sbmqAgnyFiIN8fnjCw8CDhYBqbWmXmpOEh4GTlZB4e3VvdHB5e3eHiYRoa2eLjodqbmqMj4lhZF6Ii4VlaWV8f3pscW1TWFZDR0VwdXFrcGxoamV2endVWlhXW1lqbGdeYl5aXVhkZ2JjZmBmaWNcYF1/gn4/RkVhZWBfYlxiZ2NeYFtcX1pRVVFzeHVCRUJ8gX1ISkc9Q0JnbWlaXVtITUtSVlU7Pz1PU1BaX1xESEdARENLTUlNUU5GSUVVWFRXWVVITElla2h5f3tNUlFPVFM+QT9cYmBGSkheZGFMTktSVlJMUE1XXVtJT0xKUVBBSEdRU07ExcJOUUxBQ0E7QUBDS0pUVlJLTk1ZW1dGS0mChoJfZWNaYF5iaWY5PDpETUtPVlRYWldsc29GT042ODZNVFJ2fXpFR0MxMzArLCpKVFIlJSNRWlkdHRtmb20UFBIttnzYAAB8+klEQVR42oSbzY4TMRCERyw/QiGAIAKkCO2FU06R4Pn22anpsueLu22o2O3Z66dqd9szu72E3ly3H5eX2+nn95eJ7g+Po263m8L99qzZ9Nx1iyl9+/Ztj/uKrhFCFw306fIJff4cUWvT111az1+/ns9f43fo+/n791ffLT2h00nj1NenJ43Qu3eaXhS6PnZt+kXYpP2x6fWuL/vvw5cPH75IWhWkL43nx8vtz/64bYWlGZrpvWjHeZCsPCWjVEi6mmcjekEDT2nHCU8TDY5GqaXBtMAJz7ZIgVNTHN8ZqYZmxRn8YtFAr81TEIVTHENQbfxO55e3v7Ve3z5noFDkCZz2peNzTIMErBQwNRW8XEUSfwqh5tKfwISnmcLTMJGNij8dnoIn5uz2VEw8YeoYHrU3NXYZZycpOTaen88v5583AXs6gzF+L42lJ7a0Ok4vB0+M2YQriVcETfwprp/NdFSQ9ACoNLK0Dl/aovZnEDVBm7RxnOLsItFtT42AqRk8/fym87w9vzz/uujhsgkhmyYUESAhScb3XDdFaJLxRhnhMiV6mDNCwSkBNXA2oBqdYcp3SUvbOxVRMMWeosrm2WjanXjTEk/TFM8gaW3Y8f15j9d4XqNk0/Ri4U5Lj5j0qEVo5JhxXhrPIJpwNqDnzwaK8KTmUI085dFmUBQcHYs7XYE8UIepIbF9RrQ/u7bTYMyFSHcgwjMLU4KSUhQ8KUbsn0N5H81pe55V4F3hEemecZ6ano4dFGs6duFO0h2nNn8KZQB1qmsRxzdvCs/zdrcvoblKdXjWXEf2JUxTHaokE87Bl52nJgVei0t72T9B6s3zobRjUHKdPRR3xjBQYJrnoW5N8dSUHnh+O4lkjBXI0J1EB6UG5ccQnehsnHgSZ3oqmOdozsvnLHA62/u+aRmkaTZR3rs/RwXCYAnOrY/edrJ79raz5fqBM1jGIn+im0iSzlXB0sugsdfchTvb39gTno6dJ0gt2ngM2nGeaeUNMmZuO+FJXX8UyY7G3jO18Vu2p2BiUA3y/d4WNIFpJZQKA03cOFShq4dkqJcOFJigBCai77QzDdU8cz//uHUeNBPO1s1rKTBxZi5GlHbzPCo89V0QqehrOcmBeRdJWxOg5LgDLIf23Qsb6BWaIBXNaav02TwVMKfG2HjiTARP1DjCUwOgsMzb52s38UXwlP5pSyd6kXmCs7uzP1yd4156x8mpKAIKnoou6gClGlnt7B5T9BRegTRoakY4wZR8RwmnJjgtP1rw1PD22QXd7WCpWOtPJ+lf0bI1QteGchQoh7aT1rPwFEV3nc517HmgfJXdCclqTu5DYKnfSHPmT1cjVyGr1yb8eTfQ2mEerpw07oKZgHLNEeHx1mPN81Nt40uvpB8nIxpPmqSzceJN2ng7s5oz1yL/IZhUI1zKTcgO8zgbdYquUNGPbpCc7ZVeJsoo9cu+7KosNYvWTbzLejOp9LB35jN7bZKskWQbubJrmufCnvuCRW1ND8v+HGliyd4X1XpOw6kJz6TDosWUM5gDTjKdTskC5ljSObfDE6DgBKlmFa2SIsKd1nDjaZwi7Oet7plYFIw9GqJ+yZ1Y0UFTMYamYVoAheaoWtUfedLAf68tEjQPlJr/7zs5Gi3dmdpP4STpDTRUeMaQZvntGY+ZJ2oADRScZuk5HjFnNFHnuKv6Epqe1Z5P+tUSxAGTdOekOQOqOfI0yIhHQwrP25jyiWQEL9Yy068aICXPsWZRolnO7Vwew/NcN010QgNK6jk0WR9PRsWaoz8p73rg3KkVnj2wc878WZSv4ShB9WiZRRvPiUgTccJMHbwmLZLmGme5nUsI3SR5NFVzBlGzjNir0ZsP7YHT0iZ0GFMy0yyzhCKHywy03nnYn071/GpD4jjk34ATnukm/twwKiSazvXiTu7nQKrRiUpeMKcgmibOPFJe6LgKwaPke7hz1mYuBE3aTg6XnNHhaZTFnLjTlT3neTpfPnTvQbQc1710DTTTa0zHouLOkBZ4Ysd+V8f+eXMFCnr3nODLS+J0rUm6z3bOzJB1uP8obzEJXMxRimiPJl1nhNIdPdWzJXUdc4LSQTQpRtQjyxsp74upQJoO8EQkOiQRUK+SFu46UDqoZ5j1Jj6i1UjuSHmjoVgyXQPRv1PThRCAnanlFxzVnoq4M8MMc3JW2gJdAjnlGZntdYKSp5br5RRkhvviiRpL1E0JTrbNdXvkZEdHokfEmQnmhj1nl0oG2szpwHldNKnzAXoTvHpB3GlWplZtkmg89XDsmGS7IcIyN0nUH8kwDXLSdgZJ8h2k033T5oSn+TlCkl6plPaiwZ6tHvW5gVMM5+Wc+8wJS1yZVJLcQ5rwBKfG2CPtZOH5yjwXHWc9YOYSlCB67jJOC6YFZUyhsz0l7uu8fz4P2e2lP5LojgpFNqQXOiTrSumJED/EXRI1XSzB6ANm4zn58AMFxIk5c5eU6nj7QAlnEhY49evfLYllZLtmu59X3DpOjSJ4olzSO0gaTkdklArVm+mSk2IujI0jmpX1dQsPzuJPhaAY3Kjqa3ei46Ae7tQwUwrSRnJrqdU895gspgnOtghlxNQeZZJczZXOnU1zirOKTE/HoQS029IENeJPvMmrTK6Qa7Y32ZOR8B5S48mOiVzKiyd5Jq73TYiS6IVoFzD5lqZx/Oo+yUD16xjpkySujTmtjyehhtTcIrJp1tI+F+82sShvjMWT+w46TKwZEzfmt5WwlCF5Qmtn2p2wTKehhT1rz0kVWl/Lkec40vz6c7kFyZWdZt5MvV2i+FO/jVQPhsgca7Ifl5uJZ8/0LA6UkFSMZQJT/hwx0nuCEpxSLkPVobScUEMjRVbNQrP7s1UgcPaxDbslpnSEaL50r1keM4FMbbsDSC1cudw1vdQ2ST9g5squYJHpVG8tc7QBMmGsu6dTXQEZr3nCtJKkXTfNw5BDWTdPWAI04+xAx+8PXYM0M0wvmgWmtMcnj/rmstuTTNdYieM6qn3ncBUCTZAO/pzqiiHbRIK6fh0UobbufQEnvnw8WlKAHMu9HLIzNVDtkgQVZzpUzUlCFJlmRboVZ9IggRScoqdV0Y/2Zp9Uc42V6m0x1Xz93vI7GW6aD195RcjKL9kizMQx3aEA5dTOm/bIbvQWnnSZMxmiInmdbjvwKNacIKSoQ1MzbZxaOaanKw9apPV3H3x+OPmgcwrS0TwX9uSTOgXXcamTFEpoRn1nv1ycJpG3ye5JhCX/40vFZE6nefYmIHk6Obg/SjiRWaJHbzpSd2JdFCCxw5Ra44TZvpLHnUb6NuX70pp07Km9dKy1fE0ziUuPwvPV+RXnSpagWZRpLt4Cl/wGIg+5+qDjI3nnurv4lOvwXF0M405qz+TbI47oufTwWIlyUuc+zu7krZBjegVMEar/W6CZX7ptPdeHsyS+LJ96aWBLgA4yTdwJ1W3uzRZpjGqaf2JxKZemzjTPGU3vnvW7w85zDwicy5eXYxXyW/VSwnHnvJDD8ACpR1iit6Jp6dF/LXhKXhJKrEmiLyDyfq2gRJyCKOgr1UTXLIehkWjm6aSuRPEmF0iaXbAcvRkToppbAanZ49AUVfEWKCtjrES5gGffBGjdNVPHiTgPpXdtnWj6Qi5lN6sixnwzYoyp6MpOYT/U0j78aSeCEl36muTsVlgbU3MBE5zQXFnzVFOdc2XBiTFRsGTbXDVFIkqOO70hWQVKZKNufzk7txyrYSCIBvgZHiMB0hVbYP8rpK7LziFd7lxEjdM2mh846na3HwlsGp2Xjlba4dZRFkb9TOk1Jfy4XWy7FNV7LZAokYApNc6ZLxF5hc5ee1btYrdwTpiQFDOeoPn82SI9zjvE1Ok4J5tvnE3KBEfK9t3VTbzSvbWqd/MkmSPeukQVpH4WT97AZGduOieOuUtEEndkEftGgbPXIZInwZl33OIeXJu9WfrwdrUhsu9edb4XHNGOSw5bCqT0TCmvdXGKAU+1kn2qupooafY8nyyJbXK4TOAMltSXm2txIWZNeEqxTUy1GUeWKN5xwzFj5z0Kdgd5IHUWCo63MD/MDp44oobNOjJxOunYUmKSc67rn3Kpa3Hl5mGZNNnZ7JaVUpk4+1sz+qko3dAZ7S3HOml+YKQmTZ6WFVuYQTGIbhSRHXFOLnIDZ03oxvg1IxwR62zLgbT45SJJuR5hnpnHw3RMW8GUZDUST3PLy1pu/ZS5BcntbI4vjNFGP7LQZJuTKHffpyCnocqTfaRyfFFqTHK5LSDJ6tAcFPXYIuGzNJhMZWSPuZURBSY0y/Z6bhSBk9zDUtIcZa31GtbkycEQHGMvDu3esH62JtLtmu5MEse8aF8YBUloymx1nLxWgd4uIeNUEpoxa57kTNKtuKaaiTZvZWQSguRt8W7Bcfea9doUllWz+edMDr6e5/1caYy5rWHrHysyj6kianhmThncs8OZLIc5RlYXyZg0ifRY/8SM6S7qddlgaf/sed7LlNuVuE3ARPhl8My0XvbjkmdeLB4cL5OmOwTNYJkkLUiGHOp9vH/HA9MnWUJGnJsiCYgMBNLUrzgeitseU7k8R5xX9l/4gKXXP6RyWMaU6WSeBInzwPj2do7sn+YGTMMzRSIdEeLqC0bqIxxx9STzd7WP7wIJTWbOcE0nc87Sd0dsBHkJ9lIa6Qd33M6YfV3kZD7GCJZvkvpjkBtPuT64+Z7UWoGr4Zbv0/AadRfbg+5K57HAHJm9pnWBBKZU7mfnCYbGBsleJlOm7IjvbpNDLSfNCVLqQMr6kRVPC2w3mjzR++IJPTVIsvxpP97Fexn9iaUFyJrK1bqLhQsoUZ4c9yBxxeGke5xTH9zgeaOsLmuR6Q6i+oEnONHmDtJ24owvz5imeaJ8R4h0rlY+8VGXkVJOmsyXsmo7mSPW8d7yi13gEDk8ks4AqX6woygaaLelprgGTcv9JZ1f9tvBiGtC89Yze33o6va3ZcUPMX8anPlhBKt8QorgJu3IBFLnHReWGstwtrb1ymZtmUV7fTudlY87H5ij+51MfHJfYMo2Ae6u0WFa0rBkbzAOvAaIYHhlSnRz9ItiEwkBM19vWbfjrP2mUZ0tWZKL489mxyhRDkWMv/kxyjPQofql8DQ3Uk4T2u5leE/AzijtX//VT4r58jVOMlCUR0uvjspzWW4bKKnVNYg03vrkl+Bp4ZMpFo4muamIlrVH+gnF1AlMRBLifbbY6kAXkLgm/LLAfHYxWy6Wu5KIXvYK84saQI9BK/DhlGtAFoci3mmcNtzuSI68PgBINUjKEOhU7dAs1RG77ByQq3XiKDLXkNuVuRDKSMsgg1yaUX+845C5aVlva5W3+m1OjHxgJkDGZfe8lWCSFJuIj8PGjuZK4ufFItlewdFFOkiBeRvoxPlVwnsYEWucU4a5QNrw5Q6NjXMInhUmhXqeX7y6tMmVbKoj8YQljslESVeST86YgyHb6+4CJ/U6wkGrjneUu7/4Ij5pnvk9lE1VFByt/nI2Ek0cM+9nUl+eamfLMagyRne9zDJB+ucvfYZniKNcbL2FTQ5y+mnqywZo2TZSL+sxNzab5DNMbBSlmr1LmW6DPWv2pOkEFCwZHCQWuDEYDPHDy0UjUg+K7Q3OexvXROx2rBM1Cs0jqkwUuZyMkzz1EOItTgFNmIZYiX6enXrZJ89F6nyMrVwg1IO86pH64jIWPttDXydyjs5NFO+MDSP2hJs0vuU4KaZPTmTFMa0PyVI/VeYonLLSASSAIa+4T4Q2uCUHFRvvJPPcfi1y8pMhl/NFWMI9jsn15C5RsrTFIROpH1kPoSlnxBeToyE+f9SmjrUkhGg5jACj+5wr4ZnXEOyS6Zif4pBXDXGngwMLziVz33I8MDRCHDL9si2GoElNlDLIlPyTW+oe2feWa7JmZNDf2rINkClH+NF+aSI//0ycE+ilRIdlv6ORa3L4URmZZOuXF5zu8c8UeBtlIk/HRFEaeR0JxHKWVs4mQWmYd/NlW0zm/FgBmiAyUNLOfGR79Ty7PNP/InA2WinIPEEZLwFBU6tyUrkhuiEvFInzrTuStf24I+OQdWT6+LaLjkHVQzwhApNMLgQ2Wxq73EOoJ0ZbT5tk8EZc2OIlqlqnE+CTo549SmedTsQ2LEFKeBPhAdLt8TgWQXcMwy/p3FKiucs9wyDnH2h6/QhFvrlng1uSflJ9/i6TYwqQ40kFwB3Phxo8UWLtfh8wG7dsXrgwyPTH1QskNIF5c8yTGxlqhPiepWfJTtMZe6LCqMej4GkwHbz81UecslAMoLGMbDfX3fO1PQTNuuJJuUpPfrNzwyMbmK9ljOgQEP+IC/s+wKseOIez34jLhMyXeq753BBng6E1R+XmYByL+yfF0lsNkOz8Mj9u3JEk7lXPyzhHP36IZwIRK/cL2smOX7i/UNy+acGCMqbM3d1gQ4y6qDgkPGVT6ZR+AOg/hCiM7kQCSveEZy/77J1AmTJL1j+E+Apr/PJ2nwiIo+nZVpYURB4aXCSb9EuLMqiN7TVYzol72j9X/jWS/xPBzUkFNxCMs/6HIpPhyw11YhuefZWOoAnKHuesKm9ZVo7qDHLaH9KxJjw/kq36gizGjAjxVaizVVRS0Pz4GxTbGzBoIvR4aY3KFkbZ9H0pXNLmhqc7/1iL49OqDZ71/rSHAc4zY+ZxqksccvB0Ayd+OQgKCOTKTEnq4SzcBMvBOAxjC0O2W3nDcAz6tY6f5ZcYC6CLpax5ikRoUsJbPc63zBfM7iMy0PwmiZQ4fPn8MI/PPx7yu06wW7cFy5onxeIGFVqF34akUaq5uLQELVFOjkj/fGfgVW9r1CLOX3Adk6NdTs5kSULfRmiuiWb8lTX4/fvtA0tG4pvV46ZQb/fOXyVsgvtl6vazEVT/cHJ2q24CURRuLwpt6U0KgbZE0cagIrFIMo0iEiwcmGsvZd7Bx/CyF3nhrpk9cWc6sbRdGefH/HD8svbsMebkpEeOTuCpIToyeNEuQexitOyp4/83gP/ppV1svnm3Cc27af9QdENRZOL9owWJ4Z/luBF6vpK0zT9rS9VTjihUkSdMTRxP7E9XGLsjYsceRsHGwt77XPmI0jv9efP6YQLanMJTlmVJkmfZ1qxt1sUB7gX2umwk/wNPTuOgyQmcEw7xxMAL85OpSJwzbG17BJbJUZ9bvsPidL+84f0z34fXFOAnkAzDMBNZIkRRBEKctsZlf2bJvnxOb7vVDd0gVH8T2Cs4WRhtsMOSZJCeTvfN+6lGIgpRbe/imGb6dqfzCqu/Kq7tCZaQCEWSFV1alvM8t4nINu8MUJKhxxzZldS6FC2+7SaEzXl2/G/5KZzsyBh9lNabutLtqzUxYuJpETLwpeVHu5d73NX623dbE+HwZX7VKM8liKZJ0rZbk0tYjNBLOkaPiRiOh9lFIjbPAXHG5qUPenbspB8HJNGzRJ8zdCPdNGGoGfC3Wf5KTy/2GBmU2KwtnXOct9uNyEQRtE05Q4NSahiGNA+C9ARXkd4+12ueL5cj1wcTWpiFSBLEpcuQQT56zp0gHxB7CyHLlOOZB1yFJxb6meFJrlrsxYx8YuvInU/emOZyUvP+FCZ5V8ZtkDfqriFtr00Zkn0eP6zwdHcmZbMsEwkkMoE2z4OkKE6GigWkbwzN4uR9q2vzDTduxjlh44GxJu00VQiZSvuTgJLQX3ZYSrbwv/ZYEf9lH6dyvnTGNMFjk6fXMpinZohualHTXs+zoNAioixDkVO58eYmgxJWXgRweFeA54ZJsfxdPkF3bGdM348ASAI/HgEkqgw4LU9E6JosJEK3OJf5+7JJ6I1DEzjfnZK01AlokvVY3yYjpaapCbpqToMiyUJa41OSWcQsyZyhKCBiiU4e4NYFbZ7nem3r8dFouL8mIPRPHC1Ga0UUT2RKFOC8K3tFaxt7vWFhsob3z+KUTvOm9aYo8rzoZmia5E3eNE9sqG5l25Zz07VdB6bhFkhJxBJychBOSTBZEsoCYQ5ndm3QdszT5bYsGd+5WFHzaEk7jpxks7H8TC+kAQoJHcaZvfro6QM1wEuIGe4jZvcOejzDhKw3Eelh0TazST/TVKvhrCarW11Cc1U217QNCkFMCKh/QYzOAxaWHVimaXpN0zYFWXFiEkSR/easeoyoxw9fWwLZgKaY9gEyR2yokI8IoREaA5MaAsRoqbKE/YtnnIdcnFu91EQ+j6YBSG8RyFqYKFGp74rnClhBNEgyHOVCVBfiyWeoGWJcw2xbpLJrWcV40bhp2y7JjJNY28Vmnpao9u8zGFE7CpngQ9cwdEeI9w/rIj6ECi2kByyCz30/D4Fn2DXzMKhIymka5tunWkqKdQg80+ug4mqY57Js0i6wqekx7IklIhYCzRzGhC3Bco4VTcJRjDejyZEUrJiiT2x9/cNZ3CA0FfPzLWkqzZDrTLxafkmZagvkGd27fxeyfI8RL9+JJvEU13JQfV8O421SUo5yvMnpZnCiW6bpoI6z0blpuoJCnpFC/MlYKGBM0GzKChx7PWHoV5TH6tqcW3OEFgVzfWpBaqlQ/3exGV2KjJN5hhanIJ6A4OkDCm0eXYbIcn4wYrkoTsmonMsKMT6Ok5rkOMpIyZvVKM/gCJ6EEw4tQnN8Bud9ObnQRLC3TdOcKxXF87mKpHl7DodP+3ju41RkHH7LxMeLHILInJeB2TjrUO2DzEi260sIgQ08V/RAma86WtBsx+ff0Hr4akah50451bDnpG4jMtAADjdiWusJsI/jea6GuDqXKYIWx+WezFgQYSiSdoYv1Tzthl4exnG8jcD5csArTKrUiR9MmSohNTUKy+73J8k1MbSHvnBQWmWv6JKD3dbhcuv0Wb43ARPKByXHOtqNiHI1w1DAQDx1zJdNqfpjPAP6Ma7uPCnnWtECMMyS4DqbIO+j3eHTp8OL5flyOXw7nqtenZu0zROhxVDByVbMlAfWyS5M35pLNOOGmhCagsrVK/cHF7E5P2H7D6Ln8FWKt6RgULWsaxWNwHcYD7uD5imJZ9Sk135S1XyOh6GqmmsgTFbhRGxw4nhEWpZxFfd1LXefoK8HyLjzcrnUx+qM9UMcV2mQFwkk7Mzm6sStF9N+fLM1CR+JIC7jJMGmpfvEc138rQz+QvVTkPbRJKap1Sk19FXfS/CUI0maG4BOzfk8Tz3sWcGdVXntBDAwT/OxB3AWARZd8T6qv+/kbqenzN13+fJyQbn8/PG53sf9vo56zBkzVgmGqRCPMepnlMxL19zThSPbwWcKyWJMHLk812VYuqCf/3QJu5OUqmG4SaQNCT+OL7I666CHwLdWzfEYRQocqqEqz+emSwTxRLHCcQXXpoxVFH3XMPHkT4d+wmtdfoImeH6p90dketyiPZyKtBaQYQgHY2VwHl0oJIosgsj4UAho8lxFAZ6aAYu5/Jv4KUyTzhWbaTocZL3TPKdZ7sbLBUSgGzbVVPHU7weEqk5HJRZMiT7ge1Imd4oOa83jvv4OknB3HY0vLz9//ADMn3r7cYE/9993tZQRXgtGL7scxyYeIpTE/rtzRX9VDss/q1jqV/ffsrONJYLadNbh+btYj5+wgae2FPLx7QZjXZCObT7COCqvTf+th0Fn8MSCqS2EoMNePrXBcaWz5vmtjvC2INh1lP8Ax5+GJ1q5j2N52O0kYl4dj/G5zQGU5rQlQdkp1ZHgyZH8uGBEY534G08BGzJHFLPRLrSviKTdWAR1IWwKMXvK1j7hgef91OaqVB8N/SAPQAgYgAuehFNOjQ5kFccwKOxJPJ0pTx9fca2gYQDOT8Tzx8/LywUO/QmciPfv/XEf6VeOfrFuNj1LA0Ec56o3b5WgKSK+RCnhEYFHIaVNqCQmHnrwQEj4BvTkZ8Bw4eCRL+tvdsaOtb4m/tvubhceTH/O7MzuQhxX+8GoT1h6bg+pXIwQJVUTqL3G5XIHbwtsdsHvOUXAyT/HKTz/SspSL98bb2Kko+nsLGPAk7lktoWEIGQU5TZ4e1gOGdz2J7qwrOaZrtRNPdNj3+7F85RoNRllsx7ePkTzOZ69BSVUN5Sz/WAr+WjUw+Ur4fkWoG5HirShZ/Q0XdoKt8MWRMgpPDlEzH6ti5ZeLZ5/y/f3G7vq6+heWjLLXBAu4FmVvVjmSMqTmXfJZGeAQckAygw+ffrAeNaS9fcHibxeDuIY+2S4iKP5EIdHG4iKvxPdA88ouPyoTFn/I8qHR3c64KJwk3WCoe/FL6zRa7FBIAo3xSeHNSlEHf9pk38jqEHnb+V/7jiZ3LCeFC/QNsR3cfjet/xTeDK7HyGIisMTmAWoR1eelgWl055UqNyP4wV/j8ffz+d592LKi3yblSN5JVKgcUbSBE+eElnkNQV+dobjT3qhhim0jGRTev9ALvS8822T1kTD9d200Yi72jftfUjZfUzZeqv6o361rTBNtCWz3xrRMk2SKb7OAtSglExnBQA3HU4xhxXr0GLDDMS7HTgZOueIEF/z7Jeko8NhL9pFeAM83xrQ5x4u2qgaLW8LvhqmQ9OWkvMe7pQkJeooQTPLbw07aNnlcvjUetfa261xsjMOsaTMspl4OAl9jKGFRSGYwvO2H3Y6cf5sT1Z/GxIdIcppT/TgAbP2qmSePw4rIEPhOSSq5cX1IiouvfE46s0vEN2R6cMzgedKHhIpTcpwteOK4uPyIK09/KmoxgY3uUw06JPT+wLPv5PviTel3H+xSy7f90pZQMIDY/HvfblbbHeRZp+hg/nRnpcXcRXHWGiyquMyFQrrnfDMQB7zPnhG2Oh8N7yA8xqG0CLvjeNHw2CzmxDls2mqQNV8xMqcJyWFk5PquQUVY6leLR16PGjJ8DpgtJKj8/c4nZzfu3zkbO7swrNkDWMff2EtQ+c36uxiryWrb1k1jjG82aLasy5sj4S0ITyf9jHh8Ries2Dau02eF4VcF9G16MWjMX15V4AOSfiF51uIGlIFwykydEpSwel7tGEgXYYNWG2tOIOoaPIvdux3dpzUSO44TLT+Qb6B9m2D4qHwnJQMkFnIkCAZf9kubH8Tf59MmXrv4dmLyZoSWc9Q1c7GLhFDwmCQIQxUUiZhJyCv+RUjFZ6DwX34djcyiEbbeMqGlPJUrxRWRtK4aUtJ1uDkaJB0hc9yNeEGoKrO3Z9K0YiorOF3DfmvxBtftxSa8HwMz7BjFAvA/aKcMH6yUg+iE4n8LeMiL8UzwjK3yVsLIv7gfH8kLZlBjXjfohdohlR+symuaHk9HJc7LLdHXOpuECPomB2+midSSJ7aeEh2dt6nhWuFHBh2H6q6m1s6paJ46jxbSLXUwmUMnWJTvrerK20vEtwdMUJC8CQmthCyZQnn8vQ0me6zsHGxmI1H+Ls+u+d4PM9bUlj+TrIumR4Rj7oXqvn1cLheDzfwjBaLR/PiWhQFnOfRdgFP9j0NqKmm13Rmt81mZHFachpKRGkNKutFVsHzv8pp6lLbsxeSLsUyfmKTcKkQLXCi/on55gBnzqpYgE/E32t922F/eltWYsGMCZEE9yEhqFgeljeHABRFcTbuFnQWOTP6YW9BLis8zUQ9IDchar+hbKlGxX60fFZ9QyGXcZQWl0jKjnmolg0u/05SWbp5Eo6eY4RlFrY396DFcaFKAdDJaTIlm5qMRvTLKpPwXKnDy6k48aFbcXVGBGat4OyC7WW+XBbQhCdAl9EsG1zoePkkD0Bn8BQDNRMVpI6sja8NMpQB309l+Ki0QKlVnTsK04BS+a2WnE6sBdreYZf/CM/c/fVz2fGBBDwxyz5L8VCloRaapJNTOUA4NBn7JCENRx4OcDh4jrI4ywhF0GQBBJ5g28yBGYR9ztgCKQB7X3g+iraBZ6pmtWoaqWPT+zbKlfmy40xTJ+bwmncpougYBEEHCFPD1ISy9SlgR2/k9XTbRGaerx/g7ngqgQSgJ0l8wGoCKLvohBoA4/SjEfFInqn2S+WZJtjnF5m63++G9aR58SSK5rmMnxd4Hg/RYra5EJjWN0uAEpDKUwJQe1KAKitj5klOyzJNbpl8BqfL8dY3NUyuW3g6BifI1ZZC8xedvf2l4zSeshRckiTJwjmJEmloBtASWdm/TabMRftyN6KBv/NUHjyCu8OT8B2Jq+eIvH15uHlzPF6P11x4nuGZzfLjcb0+HiQiRb3RJAC1Rw6mJm6vvu9DAFXotU6PLubSKboVUXFyIcVr/1tGmVt7ayewqH9GF872r5r+SvYxXNC0jZ/Hq30l+x2yjAFVvJq9TOXJBU/yzwGezv1kIhucteFozH0LzjQZxOLrw3k0J+aIjocjPDmvFIHnuDgeP2KfEpGGEevTeLwDFekn6+XRW8Wr4UA2JDrMBEnFqVCl0/FSW5e8Iem0vx9Jh9Nxw23etY3aPkcTeaQ83xKKhoi8kO2NMiO7HynPfeCJVQ4Q95gpG/A2b3PzZPjEPtkhJesUmAf05lB05/nxHIBSDWeLaLM+fzzm8M7vb6IS+xQIxlODsac5xg6QngApS5fBBFHQlHMqPQauoUQPNIXnL9T+7acxrqF7u/UdfuEJTnhWix0J+H2W0mUEjQM7U1X1k+kkzHzGgxE8ifc2uFmgEJzsxVXMMuc5MN8cMMxl92bJHS0ikvHc3i/O6/UZA10WBKQ9H6VABYwjVRlA67FG7eEUZpsgmgpHSgopkTK2GlkfCm/sOAWu35DV4tfcnaTplW6byyId9sNyWthKg6bk76YyYTIKyvE46wMUnsw7FKjhhGeSYOKbbi755hEVy+P6+Pl8pik4aTyajRcFjTVdN8uu8DwJT5SiZo7zVmuvtKuZ9oBTYVK4EjlqTZWstuVAwhMEnFIZD0VD/Qfda7SNpfOUrbTH8CyzIa562ckAGrNs3K9EZp/7vq4cZZhn4InxWOhAPC48p/GORKm7ycmJxMk/rN+tz+AzfV7DMy6OvETOhIXOh2KfCtQMDjlVb1udOk+RufrUxfZVKE/CFFEY7HBZD5p0/NuQLsPjZqvQ7XSEjtLU5pmG1aA5mxKs+7Bl0cc+jWclPDO+EspcMx4PsgGsU/O/b/H3aeCJefZ2OTBhhj5+/PC+O7zQgurHT5/Pj2a9ec74eV4e3ry5edJ9BM/JyYCq3P5aUgfnMj9P1IuVTyhQn0upnrg3gC560UR4/lQ/fIXXocvhfV61hbvDM9kOgclCWr5h/FwsYsnrOSq5xv1kUi5mM7rjSqZO01tJF5FNUVYyfMKTeLYkRSIlAuhN9916vqTx+fP5evysPIubNUBx+MOb7qNHWWk8keYyDZKpMnTndvF2Gw2Fj6Hsq5SoIXbbVZT2Xnj+lRpgVe0O/+q+tMQ+X3zl5Px2G6eCMJ7HcCxfBAcHkFIqInBCZCCJlDQSsKyqElAUKS+AwgXqI6AWbnrBJS/L75s59sSUP4Iv9rHjZrPrX2fOzDlnvB/aklFNPFHCtFjIOD0WocUNdUs/7m+xUAx0THHHpzGmASg4jWedVS87TI+OU/3ncnV4/urxGaDY5/Pj4wF/r2e/Hh7erFY4/GSY2XopEhcnyhYSw3iTMFoAisgiPEao1Y1FTETTF5/tuA+48QQimPxv6Y+25YDu70/H6rf9i5nncY8h3lC5kHiuf2Px+HYMTGl00sK55i15WfotWTh6WhQsEe+2u3kDTriuVocDXg9R9Cyeo0VzgOeMeDSd5BW9sTslON1GU+P42B1i2jul4GIylKRzkvF0JVPVy6XTEDx7T8z1nl36r4QdI0o432f4Tvd53mhYTXXh/bo+aYw0Np5MDt+oUEzdp7a180xqR31UHj8xOme56LzEPJmdIyatznk1eUb4/E8/PQ/r4iV/8/xwWC3PZPTDkm9yNxRPR0ob3m8MaTqU0Wmymb0lhOxJJ0uUHakrOAbvARhfyS/1nkP+S7BX5KMqlZdgCie1CE/H4ws4cVit7BRZXd+Sbo7XAGWOhMqQ231R13v60BqPJyD5LEYk2Pj7RyNWjGaz1XJ2ll6259XkcgDkI0Q5HLZ1Nr08HJ7pP+E5rNR/IsB0Noo4tvKgEwovN5rIAIne+LVEuWXYsby/0efHAzelqL23Qx8re6BOF9n42JVFau/XralS5gN42hqFLewci8J70LXXvhdjfL9mNrhAC1aYqImN9JsD+hSexKO5+k9mPRFx/nD46ZefOp7P+HuxesbxL2cbwMPTsi83USSW7C7n1+6hjqVcGUTGR1qPb5Gd+kGcnWGncfrs4ApDIHHGSE37hj21cVHqY1QrQVMFKe/AcjtP/SdAtdgOT0GF8/gd1XwQsihEKOhdxz7Pxia5eVLhVLAoVObHfLg5E+L1IiI9CuevUBTP2/0ZtKtJy/Pm3nkqYezL7TV1BOlCWObHyY8TJCRnuu3JgI47mmPfEJ9bw9MVTJxo0G1BpkN3ZAtFLWpSqu04VUo/keL7aVFoJM7SpmmfjW9Gi6qsjmVViuiCBIr7jNQGnJqBOqpSYbhppsL5ZsXIMq+KzSMhHsFzWGeb3fPz4bA8zxjZl9ktPOHSJuBB07L0QGut1FmnULpthgRxpF3qiLrcXGXD/qEBBOKhBQ7e/h85x6BpxQgnK3vd7nF4s88FHp9wMus0ZnFOZTLsLU9ZKIJpyq7F00sUN5Pzhci+m58v+ezwiG0yWALos/LPCzyJR2RLVQbPmy5fbBXDmAAYP3qyrCcCi3GEUQiUo7o2ousEOqg7bLKUQTAIOWHfgq2fBuygGE2qB/TSSZUe3R+P5EXH7YuVfe7hKQM18W58s74tyuy4BWddF/XoHQvJ4iiiHMw+yZZytk05uZAmXVbY6OEBnr+eL78rCy3rRfGrHH+1bPhgWfn0imffrsAY59FGSL929YRzDUEkXDVAa94mout0EE7BJKoOPnldlxtQe3C1S0H374t630VW3HGic8Q+5e6QhOBpbUtrMMVcT2OtWboyotWITs9T8CRwiudwXlFTZyPOFVkRHs8OSBuAHi5lURfn58dfDqzSbebM140sYiAhxevx+78RvCMhd5hhdmDiZRsiBUGkyqLbsuTosGupKAbXJZH+4iwUCr5x0lOq6XVHZ7cZzB+PZpulppcW6yIrWI1YKOVcaI6Y/rM++vRoWcnhmbhsZy67RAZ/n8+L4WY3I5HH4WG5JLzljN6ZscNiz2Wd5Q0G+tUbwtEmd55eRJ70FEBfKyXlN85TfpxwOk9QeorcKnWjEaZ4L5Zs8FTVXgIRh2RogvTvijJpo9mWy9iEMDyzknLvWtlSlmGFuL2qF2We1fpEkWzGBlF+5Dyx0EgTjWe2xcI15QnPw2pDLro7azLkd8Q83a6C50UjpW+W8ByW2UirewIURAOeHyS90SFcPflveDvubSQLGrdAM9GRo5Y4gFssUTboaF4X8opxANWhA+xXuve+o/Q1KAqDxHO/GDMQysBJ4Sc893UBUHWlGCZuQ74EToAq2b+995Asjm2azSN0/Lwst/PJcDfD42ez2VKWetZYSH0APBfFkpmmhzcX/N15jmNomIAC0rcnGvqAa13jZMCRWLLhSM7RiXmDFiMpGa9Zp+4jywbxDE0q3fUjcrqv5ZfBGO/Yov40rJMJzB+JQBmoiO6VDJTBkRco01bZ+rauBRmPt/hOHi6ekeCYKd3YjVRZPpzsmhmFDF8uz8CEJmINZJLBc7oivE+bXT7seAZRdqH0hs1lMSix7Hz9OqJrTzSLnmSjIsruxKEplfDsCniBkNCkgr4ePgPdV1dpnkB6EzVrmiA6yRKL9HhgjZlCDkv1R1kLymj2kMTZK2jzS/eoTCbe8tS7G/vtE5RyFjinTQPKnNU5rcLz2jDArIttfr67W80mmxycxWidgMZg29gFyxaltvs0dOzzBJXMM1yZPU5EtG5VINEsy2qQ6s6iNbAGlcYY8q6DlkxX8r7SFV+QPD2Z53snlXqPivURZK6juT5EEWOPOpO/S8o/x86zi8cWKO65rYJ/7pBVKPjlc0yzoVYpp8hORLf0wOCdfcncEtlSWVClzzc7T2CxheOH/jSXETTNjTngx8KWcJWZpDMRrUPJOEvTwAnwQgEFhEbW7c95uiEnftqMel8B1KfXvzixSMx0WzkUSARJA+pMVeZVlPxL2W0IP77H4/V6ak0JnDxC1xqBsvp8OsXrdwBlaPkypy3wd1bnJ5PcvL3Yh32iwBZMk71C2rMk93bU4VTMRjJQ7xmdpx8LU3QDLc7hcGAgrwrPAitb6gVoe4bYM+futHvWoS2MVunRmgdZJDPPgjWPhXjCFVUF0YixeUkfkAacY797orzftuUxY4sMdmPb4TDf7FCjxgay+XyrYFHyA2gO7TczsoT7piPaZ9qfs+SHaRyecJo8fUc0YYDaSew6okEz4cyxz14dZFTyBjSXmyTNX8v+pCmqV+Bpy5vwKq2LdKwc2RWPKE2Gp1iWahSQ/OavbhmenjIvHCgFYZMcc5+bgeZoDs+snA9lnRXujn3GEPv+lZHGF/uGwt07h49AVLfQ9C81mcsHTgRLxD9gwP136j8FEjhDATewp7ZVFOxqct2Kl0ZFnW2NZekwORfP4wieWZZMNMvI+E831t11fniPu49/HCHnWWKB21xhqLHn4xSksE+Fq9Ksky8nHjlQZeZMAwfQV4J2UmScSGYZAlmyT+fp/9gQV4JnQtmHas21E8c5u45ujX4Wwsslo+lrkxR3j45K113q3I7OVDyBRL6UOU5Ur72wyWMINU2qJGkHKuZ5WcbUiFwboqpNNKtUvlQpXDlQ7Nz8XSBDfKWghvdz7TVPmSW78+x5dMLGy5RVAuk4K67n0iQf9OrBo3bozx0ALfL2uoL4VYWq9s9QKu1YHC2yb+dWiV0RiY/u8qYfSU7l7kahwrXGGOi9y+/y3txQ/tfyrOAp5f4Agt4o3MpAtnbD4qlJoLV4+o7Ctb3H7JzdJzPTrEZYZmRHWdAst0OTE7VXa5zAnEymU3i2JS7GgKPLGAXaUNCLinNvQ45TPO1/pGCGE6BwpZnPoctLRLFPdQQJsCKmEh0be59E1IxzrBrxNjoUDF+xRJIisFIMyo5VZkpPjTI41bsJ57WJgsxRsknRs0pj19r7FKljKXUmCDbX3IDibZ2c5xSeQun2ZE0QRel5hzBZP8ZpVEsHSoOpL9JaxRP+zhQdXvqyNc3F1c4U37mBI+/l78KJq61V14BO0hicPE7TstRI1axlODe9DDkRRN203yx3KZ4+BdTJUaI4CYmk9pgkCpZmnJ2jpy6SqOd/sTC6wXY44QlAbaFeqWmgigtxiM8FT6lbSnvi/wTCo+GYaDI6okUW7ykD19uXLfFaSbIqGnVzYimtEcHoyv2Odn9b3ZdsE1GIo3svwxOrwqZ99U1skoPrUfQm5uAlnD28HJTRb3bU6CLRMCHlrgLnpJlOvxxcgYwiKRnpfxNoA2aHk6W0owzQ7VKrclklfs5zmy0M52aSaxJDQJ2CSyzdBwvXdTxlwsmlDF48zf8TUPFUCAsbDacPefx3eUZ21WuaIqQLGRK2AIpyN1muYJszJhYGrCTqBcYozHWgUbnripLpONFn7BA0+dNexdLyVKjB363vzKnY5mU82Zhghq4CC28ACgcZKByT/CFD7qwb8FX6Oh0slRdDxvK4e5XMk6CkeLTwhR6VRXVQA257ErbpAS9glo4yad7ynEx3BhSQ6VLiDE3hvBu8dyXnKcHFtugBAmsc2fWS/ISPtsZp5vl0v8/qfVa4xwNABPRsGzxRpXHNywQf2sATXsQjiLqIKBbX8UHDWLLrpNRJ8kDPl7ZG228RF+QDNp8W65F/KznD7TqWM1KXWfbUOrThnGjjvCdWtsw6v7yDZ1fN0yfrHOOdWAVdmpCjR9FpmLej+z2hHc0FEEPUMB6gELWQpEClOllZqBKdWnYFy1E7v+PTO2WFNNDznAX0cu2tA81zG69gRHkXe+uFePJVwvmPQFvo/osL2wyY8/B18Zyiye7PPHfMxoATnlEX1QI1smapiU2/YqOtm46XLqiND1kpi2bb7jFNDDMhrHBrc+8dFir7JFblu2aqqcycn5HoJImmLMZzTpw4LIU33CSy1m7XeKofM1lAqs3htWPpYJMdjl8rVi1GPosZKaU1KHCiqcs7UVpd88yTOe67u2/eDlJRD5sxTeogGuBXBahsrwunHT+b9Z2qGXh6Gss3lWyalzPiBh04ORflikn6fDedNFydQKPCURPPH40nhTgRuvNeU9HOGXHmHMx68XzJ0nrjKd2G1mwtRfb+QjDy0ULmFNkj4iSYU72SOo6bjUOeyTjffvP5ICp5jGiqQrvmF6bbV1D1E/brYn5bqThpdUixYyPtTA07RNF2X1Q53qNlSXXxbleulMIXAK0scFvfj3eDi4b3nZQblPFeCal/ERtE+7oCGettLc+ilxyx8eqb5mw2ndnJjsC0gzDiquN88/m3A+5bSNnhGGg7MiG96asPl62j6eXn/H9zx0o0wGlu3uSYEkAb47nZgvoFmEy54/Ba6CUFNQ51cva9ujRMjwBmpPINsStHKUBspLwyntxgAjrP0oqE8qbXTPum2a64ubsnnM4xlHA2zQxx4iB31jrmu7dv33wDzw9DRjKdGS5ezkYbog3mLdO++dqF9DUfGU/8Ggxa69lum810RokRjwK/ICaC51uVvM9mLALZUkWxr7ulWbWFja1yZj6EbsJL2gGOM8fJcVuSLk1MbqAxgQ5UI6rN7ZFDdwJJ8wLfnOdVh8mG8pYZW/Mlpsi/Nrk8DZZqmdIKnrLPKOVJaiv8nJ7CirZ0xX4Sh5ZykI2HoOg94UmiZEP3zQ6i9oDGEoM8C+hmNye751fewBjIU828FX5viabEZ7BK6yYm7HwNJ7pl6z7svrZQyM1cgmdhMN3t2VGHlVdaSZNxpr/QcVbXqbtBc2zCKTUK426iiqJsug7mJTS/+Yb+k/qBjwOkToUzdG29/uO4BlCXKEatr64bT1Z+9CTBfD6ZwoP1c9NFze+ogSf2CU7UACsvAaEyEgKRfF3erg5DPQXaebsxoukKmV8zUcTXKojTJbJlDlSkTDL6jiunfmyVvN3Nc+s4p/7rYUs+LZYInohOlKwEOwWsMV4Si6D57XcD1U60i/2x8N8RddBBmp/4EQX5FmxHU6WCWvr5jfxoh+Bl3aTWJS8Ini/89zSsWTbLpQFeziC1zazIqS7Es044t3PYmVT/qeOMu9O3sdnlIT4w0f1x8xDO6VALqU5ypmzi6qfsztFJam+je+m2iWhdjTiev6QRurvllzOxNN9HXFsuzTq//xqeSEw7PbHe7/BA57VnkOYkSqrAZYpOwigm+SfF87RgstKMS8zmG6jKPPUglv7/jzzbbC5Uz3hV/LKZ5szRt2tde+Op8SXML9zReWnYzw3mIZy8p1UsU440Mb9rzEItw0eBNGRhLmCiwhXRqOMpq3So4ricWUscv+OUn2Cn2pZoRWx/+Pzzb51n1NXroDaRMpZPXlUFZVpjKPhYcyLaMo5OuC2lvD/trZaWAH+WQLda+bOs0nmTDYfLy3KmEtnlEjxzrc1L+7hHEs3mLOp3Sz6LcDBBa8ysQfolNXV0n60nNvTDZQXQZKMg1d4n+7pGQX/A83jxdA9nE7dp4sjf3fIUR/8Ll+jusnorb//2+58Hougce7IKKrfap/Yg5CjqK/qKbkE4jef9fv6SlSTxFonYQHKxqrgz737dsP7brFbAurs7zyA1z6Trm9RaiFUlS/xCFM9mS3347OKrZ0puuGmzoRkmmpdhoKi+Pu2ZZH8SPvGEpnjOJGNGcyeB8c54vr2701WoGmi7JJzffvf1wBdqaDjoFUTZ9Ar7TeiR8xdRYKe6PyFP5tryvDkxLprgoTis8Vxtqoq6uNWvXmm4y3Y5riJUorqc5Rk6+u5jaXWfmwsULyt8PX2QuwInVx3pTIkplU3QXIrBbgPPABoKqH9J88rd24AOrtbJV/pr6T2pPgUol3mjTYk8eoCn7JO58FixUaOWzdA5vlhtdIUty1hDKlc3ccpHtDJ5VOfJvS/FYdNgYQfJcR52ZbN7w2NDPExkoC4b/LRFKldnA+jGvF0J3gGtDryz3491u5juTBn+DDuRsNjphHzUvuIflbEZykosu4nOvOPZermitwt2Ts+dH7U83zxgnd/Rf7JSg1W2lXonNB53hM1or8WiS59nMtf2zGnC07x9fIJnrgENT6tilW8PZ9A5UD2JNS3nu8PzavUsTOpZ6fgcpkt1dQrvPH5ARfI3hpOzt5QhM6GDpWC2Yr2Tu/MFb0VaHd7Q1x+h9bcws5h+F89WwtkmSOASrZVGkpIDhZ3bKjKaop26T+L7+MRL29oFTxc4TzRAZWNPtttaqaOOCObnT12mAHu+gMEl0eTLJbwASXsBI5XuODwnu3K4WT08Pvz0+CC7+/WcaxKUFAkckk5KdbFvneTh+YEPXu7erJKAyfecd8Tj5QqDX4kxRHOAllkrh0eLhNKl7+5PHGsaxHhCVDmSLFP8NJJEb3S2MrQcjaXtxlu553ffff/DYN1pxBRuEnTV+GI4DJ0msrdhrWkPoGQDYilB87Sudrj6comnYo/UFufbl4bHCLBPKt8fp9tLc/jpK+nx8RGkjc8W07KbC+Luw2b1BvNlo9Zb5LHUrs9Fb+GZT7gnw2ldGx2qL+n3oKLoKw0lx5YnLKWY/EjWaTRdcERuqkA0ub+L51fff/89+byGskbzSn5ljECaaIJHS9Xs9219n1cIRG2AgEoGU9dOP271BDXREQMj/PxB19n0pm5EYbg/o426qLrIihWbVihCLiggnDFcS8ZAVSlWdGcFSlVZFvIi6iJCwlcKV2pX/bd9zjue0M8DHgOXwPWj93yM5ziZl0lRO/HkSoLn8+23yWPjXO6wummKZHDPod2DQnfxpM/rzoS9XBYUeM0YhRJxpVASG1bK329HvIOgYEADT8nv/wyOf3Vy4ZQ4I09wYhKnZj5jATXTnm/BcPtev/Dc4O2b7RfvDL+PxtxWFtw/GiFBxi66fOwOCNar9ErUegTuH+9wn7vB6FycS4AsJcVPUqv5+82o7ooih+i4QHoTrdJrYVsq1ZIsPFfFqigKjqpuxk25LBJ8OrEwrHg6ohwdjkodaWme+HCL0qIfS4fa9SSjs19xvpt8HYsVvAKn4ZRJoTwrVmVprp/AUvpFnoFndvhCHANNJs7c2QyoreBIplxeLawWBALTAI9R8bTfawgtqhE2QeMz1UzCtxdnrGnGhE52ZySqfHQPK195n+e5PH4GTzjappvNBm4+P+LlBfIFqnOoeMkB8aw8l8ESTg0gz9LewPHj8ejzO3Tem+jxkWFUBrpGzL+dOu5PGyu1h8LScOIXVgwBVGYuYg4PUcnX3lKuxuAUT4OIGUirH+gdFlHC6c/fGE5bsxVXNsiCFekpQL63XvwE4hBdYYmnK7frouxJwtFTENX1ucHNiwm/1st4lsRPeH6Hv7dZ23osB9Ujy0xBoTg+g3hO4HmWGJeFyxUdVg3oyuIceUIAjfBFK26IhgVoLY33QNXA918Gdt1FM/Yk9EtrMuRYFKIJT4wnKxuXiuCKpXgI71mtDSf5XRzZ+slyH7w5GYFIo8WHSFZhVZWqBskQ46GAXjsqpU94WvpYzZcNXv58zpu8684NNxISPL9Kktr7KvNVjkab4k6rFfj7V6w6fRWr68dzgTkSFzqGZ80R2UE0pWyVDGEwL4peQAQAeKqDA1PQ+A+Ddm9xzbdfB+Km0BljZyGaAtpTNaUayBCxlyspGJ7Sp6nya8EEp3q14sWpigFhjGkKkepya7G7dqEyWG3FywIa6ip1BE2SEZddzodljcGjzhsnzzd3b2aUlp13zng2Db5Mu7YMqhhLTOqZHxX8GxzZ0HHtGldQFSGMohHpD0NWF8VzbIGWXDW7BVK0++DUMVQGvv+COWHrq3hNfd55mjo3ZkZz00NVbpI8FRB40yY7nYynJglxLqIkgL+Z1+vsoUIqWy9RFnKlUPFkFEwZ4dWAYuCUeHnph29mnxIrcYpN09S1oiReGi8NruH5WFZplmZ4vP3jQCytjUVIQzvNJIG1qirxzMuGyNBwN8zmg8nwbjQv+QaeABVnvLvV4qfBY7AxAtSzq0VlytkjzlCmW3BUogmV5XazDUzZzONJfaDkjkmf2eVi/h5LM4DekwBIAex4TSGATSd8YApQMRVPiAof2Z7nfeYyqiZNq/2tHCCFfT/8lDQFVucw5CFngj/VkK114frsZpm4Kk0XbdoaqWYoCMQ+24TWlpef+dllgf4a11ZtTmhwm7UT5NqIliPO5lGIjderMQPHeofDf+5b4TTKYnfcP6Updd6yihJo4uqa3Up+RQHOrSyDKTtRVdlmMLmHELs5XQ4n9NnHTBElI4JTrS8G0S4csgZBneSV5wegUZI2iCV3gCoQhMKfSayaBb7p55cj8/fyGZn6Lq/rrm7EczD5VPrMZ5d0kVV4cjO7CUdrMHX8WtZImtwVDt7et77tPDxz07vLO0WR8plzu4WTIRSkw+8Q+WwOzxZ5IsuI8l/qFFELnuCEpZloQgucxjPjFnB6b0gVWAy3vQWcQE8vl8vJeHITTTU0agEFxHGWBm7M5BpLU4GDlsZ+eUuc+8gqnLDWrwx4Lh+/o2JKzq7hwGtAAKDG4Gn4bkuf5vkiTVtX+66ZTcSxV1N/mLOEPCRPr6q2zTo+ZEw53fBirbiKPh/my/Xauc3GKbjBcyJc/3Lxm5jLrzBvNcxuTZ6CqaJSNPF2AiY4s6rKMm88Mx7Dsy/w8XpKJXi6/LI/HLId/h4tXESpVuI44RVOdbtDFP+PpSlmEEUy2O+hv6XXLb6uCut7TnUgHCr25gzEzlH4NMazoQBtmsHNYO6ybLFYpCcLofWQZWUgqG+O+1efbT1z9sltDCgc27atPFLNMa875pbzu8S+JkdKzhIw/j5huVQ8GU2f1wSk4ZrQ2QYmzWtTQh83VcXH4JlhW5AGY2KJI6DQYGOs3hxeX/eHV+MpNTJS5oon/QECGnOUamxJVHFULSpXlKoAItY+Erz3FZMlENAagZ3r83OxhE6JrADakOTvZmXpF1iK4fH5nLBnHNGl8ZxMTJ/D0pGqnMXKNoNnhlLQi8dqY9oVI0vvG6AXa8y54gFOsqjR6Og943eLy5dXnAkwsZ7mu7ebwfMk224tshhJoy5zm8N+v399gafcvT95awNfa3uBNpoyNRCDNF6tHEAy9MtbQkq3dhBnCAe0c53JEq4sQMLsJxmjIazrep6DwbJIF1UL0cuCLJ8Pb2IXCMayJjR7nnneVtuKvNWKJzR55LvONFrMCXsOEW9BasnCBZ6Wzd69Xp8Y9ldD/u80yWnwDJPH65xILi6OjNofLI9v5AZFkKi4o8+99In0MLXpiSA8NdkTXzACVJOWPkkBz1jKICqYUDbjKTzBGWjC8+vSJZMP86J0Tt/qRBQK8GzIR7dD41lNF4vWd5fW300ElA2/V2sQC+/wrGTbjDgLTJ86CukaqSquEk05yV9sPO/QPMutH8KycS9Q7fpxEklGg2RUJ+Ez5PQQNjG3Fs8THMWSnIMMyeOhUBvDMpiD5/H4mmXwFEzuMckbT+DCkk0VFHaPhdOHBjB2HKjDyCIrg4DCEZb86RKmqeJZ11VaOedNjgWlDGkInkrwtePcaJIvDvvpghte75PJtbiO2ehxWORePElI6WKRjfOFz1Az2cl4tvk4YbV27XmR1OvJvsZToRGEPVXGqyq1hdgpYdp8dahsZDz7uInF0CmY2IWa6ADQU7ZZi2cE2rj19nDcvV4uX1gOkomowicVKGYsuWuBUkB1oR3gmIrGJWtGUGK8LtTglK9jFmG/PHedb5GRCbIcFcls+FwLToa5wUNRpNPp/mkxnRrRLLlFlmagDN4+Y5272Fb5WTmeUvVysXjL1rYpYgR1O/4AiDXRYLtGpFbOGM+JbRHh32kKJzYLPIUznI1XShdN8aRC6qOmgPLd8DSBbtbNFafjDk/0+fr6heWgaOKJPsVTMyXh/BwbinmviIphGBjjiVpDrdwfafK7gM45Dr5aPRTkoLIcc/QpQTCtfAfoHFSF36eL6R/wZKiGMy2PiCQ0rMmG7pHCQiW+noHyYOTZp7g+SH1Hynd2xnrjTbKYd+vc1kP6D3mH+LempJiGGNSYIJx8CnETXxdJtCl5BmkegBnEuT8eDye/bho4Cr0LPPfHl93+V3iKUk8VikqG0LOWSiue9CcEg8NH9GIYIf4YXhRg8fy5n5nC88dzN5yURZ5X+cZt2HlLIsCsMe/xsXxxnC6Ob9OpJ4r6IQwoBVUl2UbwZO298eQhJAn4/R6ci/2GWtr/wSutF895Ujp4Xk4pWdhvNqPhIPQ2aeIzCaJkjLoUTknTtkjT5Bk9fWvGaDThiIHTYO6Ou93+4sPkwQnn2ln8fH0RT7AFnuwYgWh90wbvvodpfwcLwFh4awD/LmiZiAaefVMwTNFn0/np05Sj7GwyQylOHdpVnQHtvB/MRkX7xP/w4273hPDSBFmhS8weqF+JtdGiOqVVBqtqYThdts8yIoSRNZm37sN85VA+hwxiq7eT4VDM5PVRphMGgdRmyhTSAPMRnGqIVYnU87QTcJbQT6AM2nzd7T5+/Li/VNAkXTWMPCJ8wnP3sqNeQpBKPTZor8v5GO7ZFDxx9xA/gxk7yGvkmRYlwnMUGmZLGsWzXaT7acoUnQMvnvPydjivWzPgdv5uPgb309Pbcff2i3HnTKYBACcmnkOaxVybbqxw8e3i6fhkP3A4wh+DJ9k+p+0E5hfckARM8sjnD9YrFt0aM5QA7XnO9CKerrRu+hRNeEJTaQiUykPVCY4Lo4lnHI/H/W738vLx9ZDlVGVSJ0R5iD5RxQs8r9fNAROLpS9TivsbaGLw5Kk1BepNQcsMGFN+uwmp/e22b6RMk6iKqvuuzX2XlEODWFOFk3TwXTKzBDqYj6vptJr+8gajxfQpvTOI1tom63mOXIq7n/aLxdPbG6GBd08JEiZPXB5F5h/myTIjDByUqxDWnJQ966lZHJ1pd8MY9RkNltAcIlDjuYzatHxp2/Z0mB72GKlmd8SQ568vrySk3JltbL4rw99//Ug+QoK4NUnon6spuHrosTSgkLU3QlTw7xkxfihmrz5Xyd+1nKcLh76r/fOjq7M0TIKy1LZen3XrB3cfUuR2/OU3w/k2TR8GosimwAZN45kvzKYWZ992O3LXU1UXpTx+b8N2ySKAt+ccuAQKT/sQ8YThP43PBiWDYFpHTd81A0+IwjH9k6yz7U2ejOL4PoYxvjAm7pWJyV6oWcyCFl1gPIzIhGYhrliQAlW47WgpIzWDEefogkTFxS/r75yrnRrPaOnteOqP/3m4rp5ragVCiEGfI4AqSmBinueFo2rDeDpSrqg8r9r2Mlku4fnvaZd83joblZmUQCu2SjSbSjSPBymPVJiy5bEVnkjzh3zB+tuki+7YAieGyPgYKNXwJDN/cHJesabudJqm02k47c6lnQuTHCFnrOETnqAsg+v5uQtQq1INodudaiizQ06udn7WKFujcCRGHi4TPwH6H4L/HGLG0/9JRLJ9L01IABJ9ClFwlh7giTaphMhCdqg4MXtUhifkMWYN5KjRIx8RQI9gYjKfAcpPbrhHxlPtY7HsN9m9AtXZXzZdkG3ipqhT9Sk8q0Zd5fnPhXKTP31MTS44fwbsce3qZspn3NswtV2r/A0gNaIpVTYOT0WfvbMq886l7tScl6CcghLPR5TV+nn9qjqC7A1BGK8vn1Oe/0ef5ih3cqV5YnhiefSEJ+JstRE4KUji8YPihKdN3HRtiHleFCX26kEmJTCQNrJSdZXMPOKn0JTqRHkqzFyeTP/jeplpja08zXCQIoApxgwtmyiViVOZLFFvxxiHft6bM67kSssN3t5DpsRJ9oYn8bNWKbl2qTvZT2x0as1PTUubeDo3c86n5z0yv2Si0NYABk/SUddK067su2G5SWIuhUAOw+5oRJ2a65NbThOY2nNs7FiB5vpU0y6PlsxzPktOH6s9QxNthkvMXSZeEkXRLBr6dq91pZMRzGgJWniGXpwsR0dwQYSSAIWJYBJEbNLznNP8S+rjrIjTe/6FHfNwhc9OxPvF+x8a4+JozrNQuwGGVcLwWhkGvbzA0/j7xbnleq67gOc43KelAmLhFFU4EjqhydCnGoZWOE2niGSf7qdda/nQOruFJ+4PQbfUpJv1BskubYjLtESBZ8Ps1eMlN72aHvJ7pXnyCjPjibM/S83Jq4xCNklENqkbR8eTkmg2m0WuPfgu5FqYujsGVXgmSUL81LfTWKMgjfur+OQXGCjNnanhMM3Bn+fjOfNwnoyhT52qz9L7R1+iyZA6SHla7KqN29ILVp4/zl/mxxeXja7nTQ77g+fh8lbtFBBs35xesIOpnGmhbNupJRUAzPeTbttyyxbxE0uJp1P3oUncGLlqy5VUNcoT+5JlIznE/9lF7uvq7dqZRMM2zm6Nn+Eoji5MxdP3SFNtmcAzdsNRe5ZQCrQhCksEKvqMhKdgI9YYoFjOE1ToUzrUYZndExZM+GFTz5EAC2Od+UKf8BSg7+bp6JMvH8skEikZgdmsjWu0cZReUsaW8x8f4dmslNIoWk+MpaVzWILylB89ML3U5dCuXklMK9nwnEiC9SbuxNYyC1k+1y/PWiEH9rNNLGb8QvyUeJGldmB+mkOk6MzkeZFdezvH8q6vJvVR9UGrzbC7CtEo4uSVPVglUXLtetFsMIuW9rjdCju9uU4PttgajfYq8mfwFE/4lEZ+JIf8uClPDaqfZssqZGOXF4QIRwMbBlS+CQEtAUB4mksf+WqsL+fl26/P6pcFBGWRTdCXbSHP7sv8Z9Hn2ZWV7kt2vIgmoTvpwlO6nS6ku5Oj7GxrJXtK7JzsXW8CTw+i08k09fZTsYln/D3cT6LIw1zLCi+lTRkztREbp6dm6gdhbVKRalN8IGtCasvMh2AUcYZsZG3J6fgy2vSfotj3BzMSPBDbnTfrNkTFmJiwo0GUrI54TyjJsIsjRWoGuciOZb+KUZDmBsxT+WGAhuknM7+UJYTw1KVShieLXr6ZzwtNFLpPQ6Idkc+2wGkJz0ecnqa46SGOojgWntHeom1W3Y+b6f6VaznwtKdTN/I4r8NisfAmnlVtVcI9NnXRNTzrV6UUnlgckf0LpyaZIRL9dK9pnf/82hifJ/Z/XeM4qz48VxGnqZFE6bbEkMgjbvLag18jx/F9J7FHzCg3rlZvfuopT6i27SRO4Ak6tAZO3vWYPKNVkpk9OBGeOUwV5fecpzGOzvnUjAYhrE+XYfd7H5q+p3xl8DclS4eH8EinKR+vNH/sos+UlPSSlomfvYmzjheLdexE60VazzsAMT0q8C61sTuhokK/IeQX04rlofapi1Cn7BfCs/1g7yM/xtbryLOJn8aBkOgrS756pZlPgOTN7zlO4UngfBjj6CuqI0luwpMiiSw0gOPg27Xy9JYjgcj2xpY9G/XSYBAvl0f/fHVm6S81hhrV0glunCcj5Uksk/5R7b4u0LP3i67KEBOuPJ38Dk3Dk/T+zvdkdm5d4l7ardVD/jb3bTrdp9OXF3iWjlstO177cbTYOU682HcveYOCJlveI+v9/7o+cr15hdpg3F3sFts4nqzdaLGY7Bd4/WQxmVjNy0Z1EvOVjKLYWXuRW1OWJ+LgeDxoDV1lmWnTrHTByETawKk8yUPjsWBcUpe5K+p4KZNmYjFMvy36fuD71EWiyway/JbNIA0HvoM+L/KVX6JS4jcBBppCks+TF59s8JQ31wZWbgzx5Lo6HeyqViLeCRkLnuZPXctlEJbn/0IWuqUhpmmRiWUkROrZHyh60KjhOYk9yxMUbhzvrayhmpu2Vp7Kfa3enSyo+p31xIGl46zZx3t3geHx+L8l/u6pcmIeYode7SIDqlAvTGaDIJYl9lyeagCFJnZFwTlmzmNlr1ZLKd9XtgdPBRol0WD4NNwEHXiu2llqv7ZaYuQjeA4S9ClfmDBhh8SAik5PNCGealw0qUgHfiJNuqDE6gW6aOracM3iiwJ3snblPXB+pjwhSj76pfRy+0hpQyJR57REUUQ95bl/Pr6s46GRs8NN3bUT7+uXmaEZg7ZAU124kEzjxGuhtWWLw4dGS4AeDuzibrNQvwo3zmYDUh4TJTXYfYoJU0yWtiF3OUI27EwFoerE+NIMzrOrMTFp5borl3cUlKFL7JwNYsfZ8G0F/u99f7jxIzesto2fV9+Q2VuZv0ez1RHayiIib2fSN9lJD0+zNIQ+5V/fy7St9udh0GzSOfSLmum9RqLv51PzmPQ+/fKSTrt22p1gaMm1So0e7k5ugudhfnxer8aQcnaLDZ9455GoL5E/7qctwFmSSHFzT04wjHfb7b4dxuNxtzuJ1xFA+V16dkn5ufH7w81ms9s561nNONzFKzPFJjuUkkdPqSAMT1VnU3pBRqGLMhlZRjPPTWRCkzw0cyiSNh1A+te/B/2Auii8gafY6NfG+qbVVp7DAH8vqH0NjnMRqLq9YkWviJJ/qUQpsZEnzRB4ubBsypX1pnZf0lKj7fEAfSu/UJwVTPDsWpKdcc3064rNepnbVO3lUXj2GlPktslsZ2v7Zs3YpR5J79o+jh8qDApKo3h7LxoM1n7A81Ci8Izt5nm7xKv0nTDebja+4whPyOVNh7xUZhdE1FeeF5LyoGyakLVphgnjUZi4dpIQhXEKe4mjx/6gM0CkpCT/96cgCCiYuArQUKQD22+0PIZVoT8cDlZH+C84kQP38oWRWISm+H9BU43md4kIPKz+M6LkdsaeySq6PbSlVYOprAZ6L/8fXmR/reJnq0Sze+Wiku4Ph3C63jvx5MXw/PElrR5XG5OdZ+Gowdp1trtuU/oAs00gcMAbTWJnsnYg6G/u+5stfheBchdjeLvj2BXip9MP+sVgc9ffuEu/pn5OpDQ0s5UE7C80R8GTzWg3x2kuoq+IncBk2gOB8vp2QkyedfyOL+k96Ax++3M47PvXvz0ITCnn2783KqMZPEcDfzZYHilKhcrtVPIKZtYgF9BntpD3RFf8IU3s1lw7kUaMn9UAKqL9xegTU4eXBH9rvTRKDGGcBUApuENkmu737Mjvh5u3a2frONjgQoHvOfdb96z+j+lZwpNUQ2AUnnDfsifxuFa1N4kVKCEAf6+fuf1NUOzLDwm4ptURPGuYdrybe/IUOLOliewMT4NTO5VWSyTpRaR0Z+DNIqnhodTBhsNhpz/0h78Xh8WnzrI6JiPx8CR5Q5JvtxvtkT/s/LY64sv7RRttsXNi5Ok33yNGY6hTfR/TXIQ8mxUaaHSy6oo7/k1PK2sNMOH5TsYTU6AVqcMnNkVRSkZaeKF1M9+LSXpftI8vm89xENzd9/uoq7/xtOsCUwL86MKKRgTuGIxLNBxsJ2ehX2aGeuFINj/sFvd287I6jvtBkVPFeK0mrATcad6HVM+MOj+f98z1qcmoqTxb7eUyspcMhWb+wE9I127SGQwG0OyAsxMEzvDbp+vf/SR5GLQxMtLDr+P2b23V53D4ZnlEMNQ1gKhPiULxRLM9aVvdXYtL1CmBs0IfmWnwYMf2Y/MWAyj5SZ7+VoYT+0T+oNGP6ZSETtEdHxZp4cbjVXp4/gGeok/x920fU5539yEnRQ8nAKRhNe9va6w3m3IlLNvjqX/fv9tuggDCwVqS/e6w2wV2/bJqOSjTt/vKs6P5HXSnRnh8TerP8DRFqVlonWcjRX4l1pai052tkV3SmQEySSQLCU+JoJvALxb/+P2NH3kPHRBK6Xk1/uk3rov0qrOfisNfkyNdcmZ48kM1jddnxlUDWGIs6P1FVgOgTmiCU5qJe7QOadeMrLyAqwj0lWcWQB/35dqPzfb5fALEdB17Pko9pPt0Ljzbxw83ayeyARQ4HtHPvtJzV4NAxqJNFlo4m/5m0O/f9+8dHDvekI12zm5Lfb/tu2eXzfbm/p5X6N/d9ROvL/2MItDz/Hpl/qpShJoWedlUn/lfVtArHUtCoGyzTj+YETOTqDj0gyH2W1ECk18c/vFrsZNED7/RXcOVaZ705qfWutdYvukoT1gg95opKwtqZgRNeXTyuoaX/0uGtL3TWPwojW30ZjW4b4BT7VZwwjPzd+UpAn1MS6XpYuIRPxcMZWa2t3fTw171mS56x/XKdhv073dbgHIfUyE3uGbIraI0OWqd9eL+fbDZFDc+DylutnebINqHz/FObAFG+4x8lGzv774rFu/uvsLx2zybVRAn56o7/FKXEeRUJTmdXuQuD09wynCn0qom0WaZDILlYFgczpBkEg2HzkZ5InyUXyw+/VEMZtGqM74e/uRHD63Wk93u9G6erp++/fWn1dEtyyQkoYpGfwYpydoUbAL2ezHdf32Loc7HvJeoJztta6dDlp5OWQ6T+7ua6HOe7hlQe0wgvRxeiJ97a146iEn5uWsc1866ThBsd7v7Yh9/j7NBB6lOzx0qXEHsxcFdECOWaN2/6/cnDTfg2mNpsdsiz4PoE38fR/f3d9fX18X+V7h89Z82Le3s4XVN9wx32gsviq0LUNEnDxTm/Dwn3gyenYSxjuE5k7hJWIboxuf4+vqnP76D52DWaV+1S8nQbj1dtzvtX59Gnes/Ossj6W1tYqyzaiJTMQYMNand4QlLqfeRJ1K8lWvmN8pzLjz/LurcdlPXrjCcx2irXlVqr5ZUaV20UlWhSLhNQ0JCRFKglmkcExsbu0pc13hxEA4ntTVBOAIWRTxsvzGd1c6AgWQne+fLPw5zjDHZFeYvRbEFVOz9/Oe/VjxVlQmeP//Xf9hkk4h3lP+sdPjvfx7KEp7Du18tnl+w4+lmQ56DqbbUb4xjEqoSHx5Er89BtLy8bj12Kv3lFHu2bW2JEldDwQnPaat04c/MUd3xOraj8yV9zXeyikmuS7qUjN41aVdWFFzhKzPbSBSBFjz5HJ/0pSY8JhQRhLSuZ2txjFdW4sTuja1naHq433tdL434CRKVJ3o3b27H26ofwHNyxgy2TPrLiQmgcseVss3jTvGi2E6qQ8GIUw5ogPHHqtCUIjJBFNX+SyaO//YbeH5WRMTg//Tt4+53fz+v/u6SPHHozpeD6cocbtgnKp4Pv+otzKnbF9dnuuizJRGT5rf89qKgO7T0fF1dLqeDZVSPIq1enzoSxfGhpKuK51T858VDczVajRxbcxwtcfVeVS0ZL7ykKS/zXFQ2mUxQhwbWYAbfgwrzZPTiYRdrPgXPwJtMuh43Xe+iTHiSI211baunKQ+ATfODnXQ1yT3VCr39Otvx843tpz4loeRKsBaNcj6KcC3ZyjkkWdBEnsD8O8OWapqLXqPwrDyjV6EsBzbEgZ7/XHZH/y+B/vw/H5fll/mLuzQTtuhJ3BkMX/7Hc3P9q1IVxdnRajSKTHgm1ebnhPrjHX4U2QD0umpOJfzXo6Xm1DWY2XaQtJ5WmDuL7++I/xyMNiPHGbHqtj5bVBYQovrG8n3pVlZB6QMTwXLhi80HKaph8sKzuV4/IlxfWOI/J92tpptezDYpMLroc6tj6FtN7L0dHq2BEUNSXPLjQzjbT/a40aph7bzJGSNFwgpj5gnr/lpO7+JH70sFT/boiifDR9cCtML69g2ugGX4gyU875T//A0sP5e0j/5y+fFK4thxVysoEsppZr5v4Dl8/887PL/cPHTAMwUKifgoiuGpRoaqCJTOITQZnlmb4CRc4UG1UX00aLSih/vStTlFtzjNugbP6mIwmtYdp14fac6o3lcAF8VcB101FjR5yQOPNNxQcIPiqOyhLh4wirWPU6j2yJOkPKfsPfDimTyTZGm7ZTMpy0nDdHfoZr6kIvjnuJE2t/s87jQfvTy0J2cyo4W9klZyL8n5k/tbbF9SXKByk8WAsYJJGBKMrDv0eYmKVDIqw0j/wH1i75+hqJhc/sl/SDUTWhDJcoD/7PXZw1YoWJgrDNVcNq786sAGJDyJzNg7oqI+Xl7j6PBmd2oi+W4d2Hb1vlN9qbYi/iHEqnsOdm3LTmCFR+3cn/u9JTTtDv+Aw+rMQNcvFjx7anKEXnOZC5/wqRkv4Cm1UcWz+ciQLG62F0vKSSJvYN+G3SWjh6fm8TL2dM/oTrzQStOjlv2IeA2rN/YPOx99dnce/vMZ//n8yBWmxBbukk2STd9f0++TfYO8bSDnXG4bd4Qh4VlFnKJThrRZolCiPgaPPpWlK+eJtf/29+/Du/PH28pNeYgq3SSa2xFbx8hcvRCYl82rTk/TkpcRlAYubDpr5gfUBJbiyQc8m2uyyiQQJ6vrjjNdIeVAw/jr9pTv4Zsp8zWqERh1u841iNMO2Gg5tfpyb/Vn5R6ApagpEp3NfGrGnCqgaP5F9ClmAE/cQI/aHNVOY2LgLg2vO265hgFPTxyo7nki0jTb7q28Chm1smbc2+eSlQX7VOwdcyWTVDx5BhpMnkyFVOXmVmbxwIp4oU4sQpqXIlC50QFGrmrJfkn28uefb2VWvMfeL//2Z3L3l4ROhklyQ+VcSpfmaonnQ7ebaePqYTGq1+36CKMX6Zk+ayEXiQ7QbPKi6YtN20vkqDkYM1kmNIcvOM7VdCU8X0q1UjNwtHrbaafcndSFJ51eOuaU1102PX1ByxKiKJSaMa5UxkPl0BHyZLpkfSk8x6Tz2LtBYDO2Bs+3+E6cKfZusCIcQBZm+33yoA5uw/N6kh+sKrZv7HC0Z9+eociFAUp0Jonl9T0YbzgiCE9ZPGDr1yWm16vCc13hRuxUPEmfhKey9z//TfH8cebjD+f//D5MBi4NN3NOMDbZbZf/86Gy8Hfc56Z0dd90645dxwtCta65aji9cHewbPoLXjR7S5gPpqMoiDQUOWy6nvikgeI5raPPEv2jBN/ZbkOznYbthC4aNF1ZwlOtDnjlgQ9qnMJTvSHqlyuZQe63/EvsfTIx2R55idE1toGGJGPyL50nOly9bV0+tc2z48FoYsZsrBphaRwePZ/Y5GWGYZ2JvB6/4QnRHs/wjCBk/wxD3gOHhT7ZpwIcVYos+ShmhbnI5KE6t8JRIPT5t58XKJkJ5ajiT//9D5qXH4m0J1YbinGvPTK+y43E5e/wXN1/WVRfRtpIeGp1QkkHkKrjwFVSGjWOVS3jItfXbsV97kfIebq0naXzxjdNNySu8Hy9rV2+RnWnXe8K0vYnz47imbi8eFEvx9zVuAdt4EnPrxbztfDEbbdaWAY8DXsw6epd7N0xgGfEqcND29FDq623606a5xo88+izbNPblqzZLi8j1XQXRulZkZrD8xEwEmUgB9ISPG+BCk8lUz7VRIvwg+pa8Sxf8pwbsZ6vyImi84Lnz//NRutXvPXCP74P778+3jzeP22w9zn1tlG0lKgMT4rut1ed8mbkiv+05wk8XVBii3S/yz1Y8uEz7dVDunNbzLzdRoN1fsHAEedpI/rVaKr06U/b7be27aDQYBDOO0CT4YNBPJ8PEqjSpQSvEuh4jD4TgpLiiQOVPLXfwjLWszjwBoNA6xowjHQe41TUmabpm2U5aZ0X2WF/OGZVgsvs4aa5W/iGFx9sajdZusvys2/AQHZcKlzgKQJVPJv3cmJJyRq5kr8qlmizXNzKZWgKz2eIfpM3YPjr57uZSW3ly9c/Ck/aEmZMK2MAxwFP5vhPezmE5waeDX9FBuSgTXvp1EcmwunLRNtTf7auQvKSmeDqrO7gC0Zt29Md9KcB1rbNjQQj1oj4Lv7TRpdvmPrbW9sJ56LKiUvHKcZj0wISlG7sygOYabMls4In6yvnHOgL90ij+vQwCUdbqXhi2Bp7XLaw7IlSFvt1gj7Z/e542q5vqUuN417eTHvjh33G9ifXrXx/Bg/BBKvLisoukeqz4vl4T/ld3diLPvN1hVGufrlYKhEVnjyQvv7zd8KTwwrnpPZfr6D6TmNos0KYq8J/boavgw0QxN7R5+9KlQRLT+HpaMScAeHiye8x6SI8/Sq+tCc80eVSvq7VR+36YJ14DzcXNwMMns0msobnQzOpgxKkb2HYDs1ENJkkNOMHcZDIasFRjTcpfY6VPov1hYlKxtKe+mt/RrIpwYgHLZR0wpukoaanYZjn4dYTqKHt5fvTzniogbAb6TNPv3/Yp9VaLduG28PZJ0pArvGgPIWn6JPT0EKSG0QZ1gS6mo6TCQWWehCxyn5JVM0RLfynWr9Q70DDEdXnd1L3Daow8XSX9x2fYPqkePL51ebmau0PNA0Txi3CZerOWD53BurwZhAVni30Wbl2m8l130bNpmk7EZm7ZFmUl+rTUev+vNXC1N+cbvoG1LfQdF3avYNgblLYCJCoyVZn3nXVpycJl25r5qNPNWewJj0FsHTeY2QZG23TwF+SJPGiHWpO2wJpvt/t8jfwaoSjU6A6U8bCCmfhze2hNanVdrvDbo+9QwQmig1gVFIJUVR6L4csi/WvQp6sp0+eXGVquPChLKmrfC14/lKqDDfX8Pw+/PNF5f7x+pUQ9OHOo2ld6m2rFSA2083Nxbhfr7uJg/80B442TWZki7S/uWJ+rcuWz+hstaPVHbersZw67pKf4UhyJFV9eLan6PNi3Ru10WeESNvRMjTj2Ey4m/A0Izw3m13aarEYvku6Pht3Z8ITosKTrNSd9/uX6z7JZhAbaWAgRfxmtxunIcE9dMLQsqwMornuWcfd6VCiMNXt+ft83KvV8jAuecdDnu+UvYNKfCM8AQNPad7hSv8MToqecv8XY5sVH4Y/Fs8LfXIXnt+IR/hPFm+j+Vf6en+m9/s83NBI2yTLiC47dt9luMJc0VJbDglQ5s1Fs1WvBzZSwyXWxX8ClFunBU+2ML3FrMW+SJRHINIi3cG8JR5pI6ofrI3kS/WW8p88QZuy0nBJousmg67wDGxxovjOOAAn4p+oJFN4AlQkuiYldeetvo+9k8sPDF35Tw2QmqenEo6gutV5jkx3uXVIj3nI2IVeMw5peHvr77PbPN+n+U7xvGSpq4rdBCUsnkrEs0IJUj7+9UOeP5AWIi0WVTDmOQH6u58onj+F5e/ur2/vvzEdE5hBskSeAhAP2gEBvpQS6GZwc1XyydFRGkk6yfgoUckMDu6VreFaqm19eHYQHSAJ6Vqb3WTQM7XGbe3GRKp4UPGfsj9KIE4oepMVBnTNxy7zB9KrsJcBRi9tPHq/JKGYfmtskjR9+XwrRZ+tFLWaFiYRUIiLDccwwhC/6YS6l7/xEALSAuWb47xl+eGwPRzilB1VLdzl++rN+HBkC7UL9Wx3BkmVSsISrcmZM5ImCh3YPjUSbqoG/yzcnhROTg4woSBP4IlH/U8R9MV//v4nav30/OaCDf9t6dv31cCltJSY+MzL56RKeex1Jbsa8Z9mrVZdzx1QTkfQQoLJmGxGeBI72HVj74TjqouD7VfMddzoiJ8dtCJnwBaU5/KTEDf9935nirmngUNIssLQMAMx+SUQIwY6BrwmDYow+zkxykzG4+V4NvvxfziRnb47aAlPCptaN3CwdwueyDO29qmVWbqY+1uGA3X07WG/Pxy8xn5bq+3HWWN72zzsJ+PDYY8DheejsFJM5M7rx8bzdYNsUzWHWDzCHJbMr4JRltJn/1JOAPmKpxyA+edXdWzuFz/7c+m8dt24vb8cJth0qXH9sppOh/Olie9jS8N9+H0zHdRu3A7+c1AXSiZgYkKv2yP5Jjb3y/Asv750FsLTNTXM/C3EomVXaRPx8aorFup+v635renbmxVGEuOjIPQkAA2giT4DGsjLoJvMu8Z8IP8GVUMKCPLokx08+uyjT7PD1DEzSOzQxX/qW7HzrsF2fZfmVhqi0S0izfNMO1jp8ehlk+yisTPSC38fhYcs3++t7BieXZZFn2WFErKk6iodRaTwhBEX1idP7n10ycAHXBmNVctXf4Vn2H/lzcw4T8+JzfObxt1N7RL/CUXUhEVH9IOptK+EJ/Y+nJo3NWxZhAkiTeMhGLNm3Nkiok88aOsVnoQavOabFjmCiw0qW9Tldypz/JWE58ftxUO1TsKdwRujTy3ITcaJGS2NyJDeaWQIUy8ISKQox8HTgCflOmXv7PSFJysmu8SF6gYFJfRJLSlGmDsrh6ZjGw75EmqFZ37ad71xK2zpk5k3jrPdrHk67vLj9gwUKpVEaVwUmUdRKOVV6prFusN9Ck/Wu5oJfmVYDqgq2hez8QiU+F68Bd8faUDdPjdKd+XvTMcszUlg0+ddTpcD8qQpS3huxN5LY1vVLNnH8aDF/+PpugSmHrE+eanOp/hFMiRdUzxtOsM9DvQvyZdYaPvllvzThKcl6bw80rA34kD+ehHdOUNGxYSnyZrP4yAueF5dUBH55IlFxDFy9kKC0ZvtpZaFPkM9hmm4O+whmmXsZB0r83jlnWahUfN2NX2yW8/CbDJ+IFnKjzk8FatLdSkre+ej+dysFjiRJ4svY+3IEpgfL/BUXAt9Xqol8ej3iudPv6iTUVRcyh+ruWviQKPpdFl5HDS+/urrdyliDFU8qrFNHDiOEOXSdpxYPOfsg1T8JZEK0WuZ8ePFnCT+aWFW5qWW+M+kt3Q6JrURTaWgaHt8ezEbE41weW1LqIaRKNEMgEjfV49YbMwMYz7vqvpRYe+th1u6yhdi73gYmZhlbdM69u4ZBU8Pe7eI7rv9Ps8OMA11LdzvCE2nruXXbvPZblar+dlxMinl2+Nxr/9Pn4qmYiNJk5zdL3gWq/IfpU5wsj74eJKHsjhUAcr9G3W/rxxggufXP19cXDfoGZaHQw5WUhVIgPjkRvMlG0VslHId7aPBRakznGqJ6Yj/DNpOXX7byYz78KUjw+sSj9zFnC/3X2xqeml71B6NAG8QaCl/iEApg3QUT4SZGg4C1rwwYnLEhXnkRRregQc7MJZeZBDiAQdPj6Sp+cAqffniu/JJxZPmBuUlOHqepJ1brauHbGJzFKrvPLwopeUdqL2jsTNqjcOetkntonrYt2Z773DK9DPhyPqhUa4V1Q9rrp8JMax/cfuXbIdQaEuGj14QDVSZQoKnpPUs5pEQ6Jfi/6H4uzt6hs8cenhXXY6AfsVqtdxEy4QRpCH5kuL53b249Yeir7baHuEjjTFLeLJb7AO0U+aJb0qlA3y6125L+g5KukjLtNgiUQFx8Z8LBEUcfrPIlhzLFkVGS1ynp9m67fES67epIZCRzoNY8WwtmizeG6M27t9Sh1c8vVCLRZ/A1NkXhTH6xODDcLfb6Wk75V+3Cy1i/LFk1Ga7bXPRa9w08LBZOD6cdlt4Vp6EYsGFfY8qcFJt8u8E5CdTdd6HECQYXwQngVeCklBWfweVgP6+eHOvC/rmaiTydaDmt6jKS6YocZY0acVefiiN3iHHeRNRG5rTUgee/J7zpEXmTWGIpKz/UU7m7iKAp0M5jiX6nC41vVNuVu2RLPGfrvjP5Ru2rnhysYOl2DujcNx020Zu0LK7JpNHYu8TpU+pK88WtV9dIdVEJQPiP8PYCDVPYpGDu+ymRKJ2FrLdPJBeOGwW9pbFlMjeb2yz3Jtok9m6aR3DrNQ9HHa58AQJPMvFwv4RKD3b9Z0AFZhgheensUOU0VgehCqDsdzU3+Eb6H8PTdZ5g74KA6ePr5vN3CXnM6fYu98zG7Wr2hCyo43sN5OL24ZvAgmSbbmMEsZYJ63ElSyxLzulHiWNdZcaHE3lvlmd1Fkv1cDhRPorT1VqoPTpz2zJ46mqqRVBJsHFqqXLRSRKE8CYK9OGZwxPqWVVr76U8NpxYOJsDf5WXtcIPTFtQjzDYLoVSi4P0KPEI11LD5mVerv9QzU7ZHjjMOtO2NsfHRrz5POC8l2ICNQi0pfXl2zkfZqXP9YzX1cogVksefKhohI8+eKl6PNXxfHOG5n8g2fjdfh+cX9dvWl++k+XLbfS1HS1EZ7NzmBFaolE66b00wyZw5I7B5JaUkSH52Ad1IlHnZF4QrIlREKJwhL3CU3Fs0MhNWmL/+w6b1Zb0yyNWVADo6cXjb1rkjIFajxU0ibT6ApPDL7F8bfF1ZVPAES+THmyVP65Ff/p6VCEZzvM4Jk62YEHNky7MLe2+2PT3x70Xoup+sxhl3Tsjo+5lZ8pGjBBZz+KcNzoqPi0LfkoLpBDlGAE5VBw8jCE57vCyVL6/FK8c9R9U/FsVl5owuFCB5pNG9JkLI5f0f4fz5erh958g/hEn5rINJrQGRkjaIxP+hJub2C662VdbcvfNI1gM+K5ZE7DId8li9cdNg1+iJnjP2XhP8mP4mWk/GfkyBhj1DUizQykexnH3LXBBH2yI6pcXc3QLIJmLI3IlerdINSkvkT++RZ2U7F1QJIu7Y840eyYwtc6HKt+eOjBk0Cm74+nvDc+ZdvdGdqUraOEamXUSp9rQlIZnkizECmJp4izgyz/zxODZ33aewWg8vZewlNiu7TSmcVmjsNMIniyogDHKTxHK7H3ztXtQzAFjxiuUHW6HJuSYwBzkEpzEnufDy6DOqhtMlQnFLA02PVg+E4lBalTEIWn5POaMvU3uAOWmTiD3FxMnaxHY9m4UrH3wCTuAFQjl2i99mjD3dRmkwR9LpeIM9rq5J8FTwlJxHdY7gqeu+P+bWcdQlofebb3+ruMQXtp1Xv54ZS3vBM+VvSJzAqUl0CVTbl02r49FSRpDjEUopynxHY4ulxYybAD0A5AWR9ywpX395OleFbh+SiHhRI5aQDP1WU/eDi/Ot9McaYMyiiejXUED8xdqXQkB3RZvYkp8V3OpMbJ3A/gnbSCVlfVPOrvpUCjO1OpF0CJ/fjPRS8Sear9EVixdw+xid/E4Wk2yzBkQDQSHWLv8RamnU6ZWYensmxv+TQZlcESe9cNaWluQ6+reOb8iagdpbvdfmccvDALd7q1Gx91+nasQdcgtOv5abcPz14vy3hB4QVQ4JRFnmsGUrD3/y3m5BRDRMmNCy/dYUfUyXeUCUqy4bz7PLF4/8hYW0V4bp7Yx/s3vgnCSidqYcn0KSQevX9fta6qLVNaQxKLzIiLEVNZG3Mh1LaYIpv3KU75bI1s/2k5j+aasmbiQx0RwpPI9uk/W4lwbM+lnqzjP3GUCfpkOUV/RAuWXn0p00kIKoYnPnSMCfiLVg+eg64yd1vcJvtNeKbhdmu1lf9M4Ske1EupeITwZAuqG8fJkTQ1s4wuRcHjiWryaZ9vsXdofMDzHaDc4fmknGjvDltXi2ITX+kUwchVEoVq4qq4pP4O3KRb8rV4/5N7mUwt7H04lKH3+nIzXQ2YVqNnsRkJzyHjS/DsL7FXFAZRiTURW77BWPXpOVUAzxZ1Nj+SqGNRI9dC0R5STrW2I3W+DTz52vj2ajFzUCZ+DZ4pPLFsxuM+W2l1HlDqVgJTYKjDGgXPDh5UtgxzglHE8mRAyekKTx0Rhm8YvwZUeKp6cs6O8rD3QkJSap0Yu9nSIoboVjue9tbutM8Knq8tVYcTffafVG1E3ieHfTw3ukMsvqpguu5QSZRnjHYV612CFQHp7u/QlHX9+NCsSIdvSLmMbfvcRkirKTGW8bqV+E8axkP0WWp6xCGW9MwRXBfnHqPP7mBQxPcZpXV/CTTHboeOk6ITge+MNHMAT6kpI2v8Z6P6gycfVubY8NO4aFuIUjgFsI03ZYuEReNbu8re4ckWjJwsMVGnfIO43E+eFrIMjQB75wlLgl1OhnnElR626POUG3jO3NCzLDueDju6nnl+1oJkn9qbEto7DpSjUj2pjPjMK6k3NHvmUdEE5Hwuk4fz5IVG15AIRSraUUWS8iVzEZQXpGBTIpWXIvOCWGQOpkAVl1nuBM/Xt3cr2SRK/jmCZ6OnpW9hu809FJ6gjMekiLjcjtvvuC2OGvVsnKaZaInRDwS9WzU03r/4Ad8JaOnCuaWLqm9IIYQgLw+ZHk2XsbhPUSYddFaEKUdLL06w9x/6dFukTBN4Et/ZUMncLPlS7In/9PCgO5JQ/kbok4s4AVLMfb7PyJyY+jylSB2xhl6aH4+HI9v3XXj2/kRM6ZcphLP/eRGRgvNyTY+KUCQDDjx8q6j8XQkUrKxXsCY/UlHEy8k30DOwJhXFRlO92XV1PVj5tefb9XmPIt3g8XVZpvshdupE0phsXZGFMxRiA0k37cJ/chZmKFM5ATAJSuZyIDxHjXXwsnTtN/DVyYc0fj8kS1YgnjQuXYwT2R2lk5SrnmYqktvAlKEmeOoKrVP30Cd7StEnmZMLzzEhj2I+PBEwi/1RYISpQVkOv7HbeWgO+7YslYSSth93OpUk5sOyww6tS12eRjK+87SDp34mhs4ACrz6iPQDnn2paTJVQFMdc5dVoa5bcESgCdeB6HOOHx1i9B/CmjcBI76rg/u/f2YSWoW0zerlxSSBdjQMk5hgOm3VJ2KoC8/Xv5rNbOiAqMg/4Yl2JoiUqhqtXTIaEtFeJDEHZ6bhPyWcS48xTRnWIINS+hyULmadMGNZFndHs3To2UJQkIo+VUhyyJpAoHjqimeHJkc8xxrQpkx5wjMNaXa0PZ1i6pZMKdsedtZ+j7HLj8/yI0lmeMzhSY6keHqQzg6n49E6Whn6hKdIs9CZ6LNX5k7xHWtnKaL/6UjeSVYIT3V/mSOioQr6RHmIij7/IWdUmFGVubjemnYvjaIBWXSsaYJTTkfYS1XuVINHsyuqwAKozTVMiUfQhCd3Oj6dCT2y8TIye9JQdigc4QkR5xuOMqXQhKpT/KrwNEsXjUWoWIoDZTkcZoqXwFRzsI482jb2LtYcE4+68IwFqIs++SOqrb4mi+Ev8k/8p8RzrDrd5WLjllr8O/YnWvAUQPWuhQP1DDULTigiOuUnqiJngrLTeu90KGp+UBbH3mVG2p+tIVn5V8GzjP/8DEbwRKEcToOoi0sVfYoTpSJyx8AvSK8Yraz6DFn3NisCdcQaEY9e5sHl43WFSr3yn6vRjHjUl+07JLnTwwykxjMpTvKOKYxwCDGai4brduAYXkJOhf9cGHqJdwyx/7c/Skq1xqKbFUt4ZiJOw0afhHeH2h5UYZVyiQygApS0KP7kaZoAZV8qQCVfKvJP+h1bAG63+122L3B629DaHaxtzmd23e3JOgpP8dHZ6USoOoa7Izw/xGt2Ou8/9CkJkH/5Th1ULahWYI4+RZkD7lxdZhDnQ7WKvTzN48e/MzwtR+mYNFz04Ik+K7eVUu+2PyWk37kRlZeXqbQzh5LP9656vVVdH0CUgAMYp7D3riHNSCmETsZz7B0lTu8qZj94MqTHvlymoY2pi7DBa6l4NB6nYAy7shWk35FqdR3BOToLJwtHFp3fSMIS85xKn/BM3M6MbJeD4BKOND0KKMxj72+FvfMjt9tcRSD8505q9HuGE/e7nFKIcdRPqYGiWbgB3OkJ2PDsKJ4/7J0I35P3unyi4wnL4vL+w3vC0BSLd+fwdGGJQlUDhB384985fCIn69i6r3vlde9pNRX/GckMHDdNIshoBc+plOen/pXbn5IGvamcUfJP44e9MzXWmcgghxF1exTd4QhuR/oZPE3bdshrPG+hT7dUG4/F2j/9p2elZD7Ed2jiaGlJetpW8FIMJrYbn/Yuu1tGmcjlY+whThhVWQZb3YoMGqSp4pmmnsem6CCOhI4bl32IEnlJlelIRxOekuOiTaIRHSTs/V2ZLCN9qiKHODF5gKK3T5joVHgqfQ644UbpYshFkvpPnmLvz+cXQvScVJ5wtlj3SDllZxJrwLRJljlyEE3Bufq+UTybi3o9TAVNGLIxF578lVamnJAdc3hh0Insbk/11VGiTn2C2OXga1Pam4CUVIFPwbPqW1i6ChmSMIkg+VXJWFlhqtImcaQokATUxuAx6xiEiTtL5gFLxpJ1nYQS2gazyYhOFz/KDogglOfkogws4D8zusV8St+SIuknYhhPs1N2PJ6OOFF4iilDkV2mTDOoaVl5Wswhc5WhGqVPNwGoLFgm6srCl34mTWw41dm6i9qiWYUn0xaUQJbiPyW8k9Ubfb/Sgaca3JzCkykuQQkBLuwgu6z5hE5PtAywd6JvYJszdpl16iEQ0oHXNvuatqgSyop6HeKGZ8P3LHiylJScouqpsiWYyqut5qTolI38D3tnDZLJLJ6z1xSeXXjGHrmS4kkBVIblt55lGdZhB0/cJgH/gGkLz5SZG4+G0TbNdcmWTif5Sqrypaf1ApBqsJMr1eRGU52HKWBi+O/gLAL7xgTk55I9PB+Kp4pHN8V7EyxIPeUkRX9pr0t+Y33bAuHH7WTOVNTLSMoYmynnZPwr3yeVikViToRRp4aEXnwo3V14SqOTAobwNO8byTp5jMXuSe3TOb0Mvg3RfvKc/c9/ZhlezvFgZsBT7F30yXCxJoURvavOa6BPW7L6eYy946MxC+qYRKvEyDPPyLD3PLMmWP3WsN66W0YVZHiJNNQ67E9siNi/04M3shNpfs6eSeR5wN738Cw/ylpD9HPRLr4Wnp/TidwAphQKRIUTuqbJ1eXO+AEJrAwzNeSgzXlNePoy808Y6rgm/9HqMKHMKDlkoqSB0+9U7KIF/rOOVxR7TzUeGHORsQ5DNtMeg9fBEntHjuI70bADMpUT0cZF0MRtLXRGKBaek4mK66G4UMfIUgRpEIA+7Z10iSVgdQIyN/QpnpRU153FgjgKlD7t2NPzzLByL90JT90DrtUlou8zIO55PORKnzjW/Gjoh4OT70Gccodqnv8XSOG2popQLP0AAAAASUVORK5CYII=\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Air Quality Index\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"mobileHeight\":null,\"configMode\":\"basic\",\"actions\":{},\"showTitleIcon\":true,\"titleIcon\":\"mdi:weather-windy\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"iconSize\":\"24px\",\"titleTooltip\":\"\",\"widgetStyle\":{},\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"useDashboardTimewindow\":false,\"displayTimewindow\":true,\"decimals\":0,\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"24px\",\"icon\":null,\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":\"rgba(0, 0, 0, 0.38)\",\"displayTypePrefix\":false},\"titleColor\":\"rgba(0, 0, 0, 0.87)\",\"borderRadius\":null}" + }, + "externalId": null, + "tags": [ + "weather", + "environment", + "air", + "aqi" + ] +} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/horizontal_air_quality_card.json b/application/src/main/data/json/system/widget_types/horizontal_air_quality_card.json deleted file mode 100644 index 056a6c735f..0000000000 --- a/application/src/main/data/json/system/widget_types/horizontal_air_quality_card.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "fqn": "horizontal_air_quality_card", - "name": "Horizontal air quality card", - "deprecated": false, - "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAMAAAB+IdObAAAAnFBMVEUAAADf39/f39/g4ODg4ODf39/////k5OSAwyzg4OCg0mHP6bDv9+Xz8/Pf8MqQy0av2XuQkJDOzs73+/K/4ZWsrKzIyMj5+fnp6enV1dXb29u2trZYWFiIxznCwsKg0mC8vLzQ6a+enp643Yin1m6YzlPH5aPA4ZZKSkrn9Njn9NfY7L08PDyIxzq33YiCgoJ0dHRmZmY9PT0vLy8+mqJEAAAABnRSTlMAIEDfv1C6kOEmAAAD3ElEQVR42u3a63aTQBSG4WrrZgIzkHCGAInk2CbaVu//3twMEFBR2mXtol3f86OBbNLFC9ODNlcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr+nDm6czPl4bb93s+hN3GBG9ecr4eHWj6B2Ibq5m9C7MEDIxCJkahEwNQqYGIVMzGHLIhSmpxyiJgoS0cBHQRRAkAU3il7WhkFux2grHo87DWVGSKKWIgix8LHnD4DxFi0UShkdlUDV6AvnZph7vsnfLg25u731LErtMb4k1o1P7qUbvCL/KEhZ1srKkRbA4l0SPISVZmFFm3D+cwwU/uzgvv6n74CkZphAmXdjb/LLnizkxi+f6MHagi1X9snbk3NWHjoYwux+yflBZFRJUTSEZRx0SlllQhRg8K4/GEzocsepd2pxPaTBkJ1b2rfVF2JcXCtHs8Gc42XOR342GSFs77YSkO9murGN2DpuQ+wUFD0kVckzu65Ajp2U0bs4XuWOt9vvBEE8IWT/TDVdiU48dYl+FORoiWnsy27trnInK+ypE72TfDHV8/G48Ph7LKkQdF5QFNEryWUhJPdafQmx9SS83zxG3X3JPLzGruUPeWMjpc80jb+ebQtLvVLngD9SjjG+KRuiT3FXreyyE75yzkdSx+cmVjtPLTT/ejYT87MCve5KypHG+ECt/K3JvLISXjhA7q7ckrSpGrxfZ3CJ79GskFz0OvaC5PteV2I+GkNzvOKUp9r4IWX3wnhXifZ13fO9lQ3x9xpvxEGY74tAelfO58G4dUBHDS+uV7MVmKKTd3NbHmGSZh3pz2/4Qqe2ItnWcLRwaC9maPSeqKRqgYvrJ6A93W/+2sBMWkbyEdMNcUjXdtJvzJkTy5ZeMv9CbkcdHjYc4nZxvoLasYxTFKWlRRNHMrZ6YUcT7cRBTlKb1IBou19+NfLO7mPqxP5xveCqrW+Bs+MBmGflN0FexqT7k23leXZHnLK2TsC4hSeKmYejyVkFFWqyjZeEmSeiuY3cdEbmxWq9TUq4euOGaBnjVd6OVbNfRL+fiO3rabdqkOeLU3jOvGXHSM0J2jinsLsRdqtCN3TokTlLe5ufi1C1CHTJLUw4Jl3GoOLdQNMSTXv1IQ6Se9jeHj7IcsenGoyF+nu+pFrhp4S6TsFDVHXHXabFUy9AtOGQdhy5VIVF1R+J1UA2SoqD/STqHl/mHVRrTnyVhSq/gRUKi6G9DRU8xiZApQsjUIGRqEDI1CJma2dXNO/gzO5G64TcMTOL/bv9NxG8YuPp0PTPeuuuP7+lNNQAAAAAAAAAAAAAAAAAAAAAAAAAAAACv5AfYigaXSHbHzwAAAABJRU5ErkJggg==", - "description": "Displays a latest air quality telemetry data in a horizontal layout.", - "descriptor": { - "type": "latest", - "sizeX": 5, - "sizeY": 1, - "resources": [], - "templateHtml": "\n", - "templateCss": "", - "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueCardWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n horizontal: true,\n previewWidth: '420px',\n previewHeight: '90px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'air', label: 'Air Quality', type: 'timeseries' }];\n }\n };\n};\n\nself.onDestroy = function() {\n};\n", - "settingsSchema": "", - "dataKeySettingsSchema": "", - "settingsDirective": "tb-value-card-widget-settings", - "hasBasicMode": true, - "basicModeDirective": "tb-value-card-basic-config", - "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"labelPosition\":\"top\",\"layout\":\"horizontal\",\"showLabel\":true,\"labelFont\":{\"family\":\"Roboto\",\"size\":16,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"labelColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showIcon\":true,\"iconSize\":40,\"iconSizeUnit\":\"px\",\"icon\":\"mdi:weather-windy\",\"iconColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#80C32C\"},{\"from\":50,\"to\":100,\"color\":\"#FFA600\"},{\"from\":100,\"to\":150,\"color\":\"#F36900\"},{\"from\":150,\"to\":200,\"color\":\"#D81838\"},{\"from\":200,\"to\":300,\"color\":\"#8D268C\"},{\"from\":300,\"to\":null,\"color\":\"#6F113A\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"valueFont\":{\"size\":36,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#80C32C\"},{\"from\":50,\"to\":100,\"color\":\"#FFA600\"},{\"from\":100,\"to\":150,\"color\":\"#F36900\"},{\"from\":150,\"to\":200,\"color\":\"#D81838\"},{\"from\":200,\"to\":300,\"color\":\"#8D268C\"},{\"from\":300,\"to\":null,\"color\":\"#6F113A\"}]},\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"dateColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Horizontal air quality card\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"US AQI\",\"decimals\":1,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":false,\"titleTooltip\":\"\",\"titleFont\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1.6\"},\"titleIcon\":\"\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"14px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null}}" - }, - "externalId": null, - "tags": [ - "weather", - "environment", - "air" - ] -} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/horizontal_air_quality_card_with_background.json b/application/src/main/data/json/system/widget_types/horizontal_air_quality_card_with_background.json deleted file mode 100644 index 1965615e49..0000000000 --- a/application/src/main/data/json/system/widget_types/horizontal_air_quality_card_with_background.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "fqn": "horizontal_air_quality_card_with_background", - "name": "Horizontal air quality card with background", - "deprecated": false, - "image": "data:image/png;base64,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", - "description": "Displays a latest air quality telemetry data in a horizontal layout with background.", - "descriptor": { - "type": "latest", - "sizeX": 5, - "sizeY": 1, - "resources": [], - "templateHtml": "\n", - "templateCss": "", - "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueCardWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n horizontal: true,\n previewWidth: '420px',\n previewHeight: '90px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'air', label: 'Air Quality', type: 'timeseries' }];\n }\n };\n};\n\nself.onDestroy = function() {\n};\n", - "settingsSchema": "", - "dataKeySettingsSchema": "", - "settingsDirective": "tb-value-card-widget-settings", - "hasBasicMode": true, - "basicModeDirective": "tb-value-card-basic-config", - "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"labelPosition\":\"top\",\"layout\":\"horizontal\",\"showLabel\":true,\"labelFont\":{\"family\":\"Roboto\",\"size\":16,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"labelColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showIcon\":true,\"iconSize\":40,\"iconSizeUnit\":\"px\",\"icon\":\"mdi:weather-windy\",\"iconColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#7CC322\"},{\"from\":50,\"to\":100,\"color\":\"#F89E0D\"},{\"from\":100,\"to\":150,\"color\":\"#F77410\"},{\"from\":150,\"to\":200,\"color\":\"#DE2343\"},{\"from\":200,\"to\":300,\"color\":\"#7B287A\"},{\"from\":300,\"to\":null,\"color\":\"#791541\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"valueFont\":{\"size\":36,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#7CC322\"},{\"from\":50,\"to\":100,\"color\":\"#F89E0D\"},{\"from\":100,\"to\":150,\"color\":\"#F77410\"},{\"from\":150,\"to\":200,\"color\":\"#DE2343\"},{\"from\":200,\"to\":300,\"color\":\"#7B287A\"},{\"from\":300,\"to\":null,\"color\":\"#791541\"}]},\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"dateColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,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\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Horizontal air quality card\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"US AQI\",\"decimals\":1,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":false,\"titleTooltip\":\"\",\"titleFont\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1.6\"},\"titleIcon\":\"\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"14px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null}}" - }, - "externalId": null, - "tags": [ - "weather", - "environment", - "air" - ] -} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/horizontal_air_quality_index_card.json b/application/src/main/data/json/system/widget_types/horizontal_air_quality_index_card.json new file mode 100644 index 0000000000..c8b5d12e1a --- /dev/null +++ b/application/src/main/data/json/system/widget_types/horizontal_air_quality_index_card.json @@ -0,0 +1,29 @@ +{ + "fqn": "horizontal_air_quality_card", + "name": "Horizontal air quality index card", + "deprecated": false, + "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAMAAAB+IdObAAAAmVBMVEUAAADf39/f39/g4ODg4ODf39/////k5OSAwyzg4OCg0mHy8vLQ6a+srKyQkJCQy0bf8Mrv9+Xj4+POzs5YWFiv2Xv5+fn3+/KIxznb29u2trbA4ZXV1dXHx8fCwsK8vLzn5+fIyMi43Yio1m47Ozt0dHTn9NjH5aNmZmZKSkrY7L2enp6YzlOCgoJLS0vt7e2dnZ3U1NQhISGmKTEOAAAABnRSTlMAIEDfv1C6kOEmAAADrUlEQVR42u3aa3OaQBiG4bRJn7yynEEOAh7xrEna///jykKrtjZK2iZDMs/1QWGXD3sP4OjIDREREREREREREREREREREREREREREdFb+vTu3Wifb+/fO//2S9VxH+HdU/efb+4UPoDo7qaHD6HHkI5hSNcwpGsY0jUM6Zo/hmSJGB5O+FvAylErbAsHlpVbUGgU+c/REa57g5CFGDNxYhzNS4U8V0oBVlisttWGX+Up2HZeFGvlQ0/ZllK+zrYtvV8f1IpnujgRuxcOcJfZJj6OXQzBAjDFxFH4tK2WaZdPwKpAHhYhQn8/Lwu7GrXLQan2lg6xwlWIh9Xa8h9W2yK05q0yDBEDB+4sMfCbmSSHYyvOBnqFRpt7xD0NGc1VqEMs3VTAX9chxTa0dIhfzW0f/DrExje9a833Vol9NXid54hhLvCDm8gh68ATEReaI7uN26/2roZ4bm2zEw8LD435OiyLHyF7G9Y81yEP+b4JWcN/CHEIWesQuygwL9uE9CXDkWksl2chpsxkWm80V/xUjKsh8tMShkgGzS+Bp70OqXfC0lfrVemvVuutDlFrG6F1CMF8FVp5OK9qihBXeeLA83DCPAvZySJJdIEhS1RikfhayMZsxIh3mSEezqknu3r5ZcQv1dlRaEWvZyfiLC6ELGSHaZ3gHK4w90LIuUxctPK0xd/KRIxsJkn8fEhfTLhivCzES+SEg1fXl35zzTwf4ugLIxHvRSHxtH+UxXhVx3s9k+mzIaYk1VocyXTABlrShHTqK8pSpldCZtJIgGlz2EIE10JmxonNpRtXPf4+oPAX3PoTdScm4P0xxBNZeBV9FlxJvDqtfz3EOUpkgdqgiVF4TFGLIkS9QA/0EAEYW2NEadpMRE15W31xMkOcemXnIcfdTGb6RWZTRxzvQsi5jZiHkDwP0skkqLaGGKbDUTQYBnk+CUaPwSgCgrEajVKooJ4IJiO0Fk9FxKhXNvtTiPNjFW79yWY6UpniBSE7xxD3EPI1GKhJMA6akPHXtNquxsZpMJzUIb00rUImg/FEVblDhfZiL27e0YbnuY7M4va/R7IkWaJhBekwGOSTodJnJBilw4EaTIJq7HE0ngTQIZE+I+ORpSfy4RCvyXOm/+eHVTrG875OUryNfw+JokuTCm10IqSLGNI1DOkahnQNQ7qmd3P3Af5mB9Rd9cDAB/ijPaoeGLj5cuvfv3e3nz/SQzVEREREREREREREREREREREREREREREb+Q79h0E444zJWUAAAAASUVORK5CYII=", + "description": "Displays a latest air quality index telemetry data in a horizontal layout.", + "descriptor": { + "type": "latest", + "sizeX": 5, + "sizeY": 1, + "resources": [], + "templateHtml": "\n", + "templateCss": "", + "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueCardWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n horizontal: true,\n previewWidth: '420px',\n previewHeight: '90px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'air', label: 'Air Quality Index', type: 'timeseries' }];\n }\n };\n};\n\nself.onDestroy = function() {\n};\n", + "settingsSchema": "", + "dataKeySettingsSchema": "", + "settingsDirective": "tb-value-card-widget-settings", + "hasBasicMode": true, + "basicModeDirective": "tb-value-card-basic-config", + "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality Index\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"labelPosition\":\"top\",\"layout\":\"horizontal\",\"showLabel\":true,\"labelFont\":{\"family\":\"Roboto\",\"size\":16,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"labelColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showIcon\":true,\"iconSize\":40,\"iconSizeUnit\":\"px\",\"icon\":\"mdi:weather-windy\",\"iconColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#80C32C\"},{\"from\":50,\"to\":100,\"color\":\"#FFA600\"},{\"from\":100,\"to\":150,\"color\":\"#F36900\"},{\"from\":150,\"to\":200,\"color\":\"#D81838\"},{\"from\":200,\"to\":300,\"color\":\"#8D268C\"},{\"from\":300,\"to\":null,\"color\":\"#6F113A\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"valueFont\":{\"size\":36,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#80C32C\"},{\"from\":50,\"to\":100,\"color\":\"#FFA600\"},{\"from\":100,\"to\":150,\"color\":\"#F36900\"},{\"from\":150,\"to\":200,\"color\":\"#D81838\"},{\"from\":200,\"to\":300,\"color\":\"#8D268C\"},{\"from\":300,\"to\":null,\"color\":\"#6F113A\"}]},\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"dateColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Horizontal air quality card\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"AQI\",\"decimals\":1,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":false,\"titleTooltip\":\"\",\"titleFont\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1.6\"},\"titleIcon\":\"\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"14px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null}}" + }, + "externalId": null, + "tags": [ + "weather", + "environment", + "air", + "aqi" + ] +} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/horizontal_air_quality_index_card_with_background.json b/application/src/main/data/json/system/widget_types/horizontal_air_quality_index_card_with_background.json new file mode 100644 index 0000000000..88ac73bc03 --- /dev/null +++ b/application/src/main/data/json/system/widget_types/horizontal_air_quality_index_card_with_background.json @@ -0,0 +1,29 @@ +{ + "fqn": "horizontal_air_quality_card_with_background", + "name": "Horizontal air quality index card with background", + "deprecated": false, + "image": "data:image/png;base64,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", + "description": "Displays a latest air quality index telemetry data in a horizontal layout with background.", + "descriptor": { + "type": "latest", + "sizeX": 5, + "sizeY": 1, + "resources": [], + "templateHtml": "\n", + "templateCss": "", + "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueCardWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n horizontal: true,\n previewWidth: '420px',\n previewHeight: '90px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'air', label: 'Air Quality Index', type: 'timeseries' }];\n }\n };\n};\n\nself.onDestroy = function() {\n};\n", + "settingsSchema": "", + "dataKeySettingsSchema": "", + "settingsDirective": "tb-value-card-widget-settings", + "hasBasicMode": true, + "basicModeDirective": "tb-value-card-basic-config", + "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality Index\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":false,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"labelPosition\":\"top\",\"layout\":\"horizontal\",\"showLabel\":true,\"labelFont\":{\"family\":\"Roboto\",\"size\":16,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"labelColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"showIcon\":true,\"iconSize\":40,\"iconSizeUnit\":\"px\",\"icon\":\"mdi:weather-windy\",\"iconColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#7CC322\"},{\"from\":50,\"to\":100,\"color\":\"#F89E0D\"},{\"from\":100,\"to\":150,\"color\":\"#F77410\"},{\"from\":150,\"to\":200,\"color\":\"#DE2343\"},{\"from\":200,\"to\":300,\"color\":\"#7B287A\"},{\"from\":300,\"to\":null,\"color\":\"#791541\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"valueFont\":{\"size\":36,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#7CC322\"},{\"from\":50,\"to\":100,\"color\":\"#F89E0D\"},{\"from\":100,\"to\":150,\"color\":\"#F77410\"},{\"from\":150,\"to\":200,\"color\":\"#DE2343\"},{\"from\":200,\"to\":300,\"color\":\"#7B287A\"},{\"from\":300,\"to\":null,\"color\":\"#791541\"}]},\"showDate\":true,\"dateFormat\":{\"format\":null,\"lastUpdateAgo\":true,\"custom\":false},\"dateFont\":{\"family\":\"Roboto\",\"size\":12,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\"},\"dateColor\":{\"type\":\"constant\",\"color\":\"rgba(0, 0, 0, 0.38)\",\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaAAAABcCAMAAAAfz5G9AAAA3lBMVEWZm5WUl5GRlI6PkoyMj4meoJqDhoGIi4WXmpOTlZCgo5yWmZKOkYucnpmipJ56fXeKjYd4e3WanZabnpejpqCFiIKqrKaHioSGiIR2eXWBhICAgn1/gXuoqqSLjoiBg352eHN0d3Ktr6lxdnKrrahydXBrbWh9gHpxdG58f3hwdHCmqKNucWxwcm6lp6GusKtzeHVtcm57f3p0dnF4fHh8gXxobGhla2dtb2pqb2x1endoa2aDh4NrcW1iaGV+g39nbmtmaGJ4f3ttdHBcXlhgYlxkZV92fHleZGJWWFNTxU0vAAAvM0lEQVR42pyXX4/aMBDE7fw5EgwIJQiqk8pDxRsSV1V3LxUSEi/9/t+oM/aauRiK2k68u+OEqnf705qce/s3fZP9138JWaIOhwMCyUrM2+32K3U8bVbzeTu4dgPTLpedW52gDZO0gWKlK7XarCaaP1X7UEu5m1liIZipccQao5toGAbEaInbwTmGQ0id67oOVUo39LEnKL6ZsaonKkiIp1wESHQI6F5b8tm089V85A84Dm5YQqjO+/kmynDEZIXVQnA2BRwswVAWCwFIhYY508l7lgSIZGLkMogOw5SNS4hwiYTFLaFQtIM9c0UvzXGpo5EVCy9WGVgxYhZckeFeitMiJCwwWORznLuOP5z90nCd81XlfbviSIiDDZCYpMwiLgDzbGIKPjYbEClYmE9PxlhMGQ6rUSENFklsmDOZnGmIIwIK3BseVkMpNhJvFNIdUdMjTVLyRo0ykMJz47Od6hD5rNp0YvBXJZvge1/VtffjfEURhKDkWWGoUI/QGBBUOmGREgsUkojGUCRFGjdpXgYsAWIyLOwxdjqxIE1KUghI4sJqkTY2HDFPyMg919ud1awx7iU8hb5+PaFDHJvQBd95H3rfV329WPR9N7ZoetZGlYhKZTqtuCSBPIFobwnBNWn/hE1x//4bx4pkEyM8UmLBS5gIShMkQo5cuG6HFXPqY8pW4jL7nzqkFTXhIm3aEWPju957sqnXu/P5/PrS9L13y9huURIiSbMjKoKzdCF4j2pUkG3xygSEgZKhYsW9ezSCE2nkinQvIXAJzgSU0YuCNyiGSSQOVMrY50KDZM+F6wkU2Rueh2yOxyNOuOXgva981fd18+V8OUe9rKtqv3Zte0OEQH6gCR2SsOYiXAB1DGRsucYmgxGEhMGyRmlkyrfIhGFgxMaIWBUSOXU/mPI2PrB9xuTsIDoYG8YftJUVMwvzmayAMOt+MT2CA50Y83HoQ19VDUbnFWguSeu6Xqw9e0pG0oSTkYti563R+XUokE6F5T4PhdWcJ69j9CpmB+b8oclXjqDcK/EJAS5KgDwiHXAMZtqIJuJyqZWYI3TyTVOz3SLYyhsbWpF6LPGNYDSIylDB50ild7JV67q+b2avu329eL18UBes9X42O/doTfuAEbEwBAdaxu51AVgqXD7SqRY1krPDKg+LCNBJQ94Swk205eQUI8PWCo3KJy4MwpHoXYJlcinHqSmmJLFRJ9MDGEN2M8wlOO3Lm8yiIz75jRlNXlb72W69+7E7X35cP66XK+hcAAgD9VKhB2yiUbIXskKt4ekC2RBOVo0pbBZVXTn1e8JDvUfI2/04KimXKg8zXmowhiD5kOBEPgKE5KMC1dkQachcefbELPNM4iQKcZkEBFm1nB7QMTxjv57hrWB2+XX9/vPXNQoDdP2YLfav53Xd+9ABEhmJktgw7HAbPMhIYAM1i6YBpi7//TiBk2+IADykB3HrPkFBmNPIdDBcBkQKRse4IEuRTkaUOZmc8Fh//46LVFI9mCsJiw3WZz6nRCfgdbren6GP6/v7z3cCorC77pr9y8uXfdNgBHqf5sggEYkVs3gEQIAiOmRD7Rv8HyG/ZEnalLLRMRkRLiMkLpFKNCEIT/T5q8XQTPjQCFP6PIvR9L85NYMeN2EgCoc0haJGCpGKAJMmjThE3UoV6+ILShWJHPj//6jvmWGnkDS73Wd7POtdcpgvg8ewHpDG/LG+yoT2GN3jT7lzd2P2oA7IDSoCAyQb61zTifpNluX5OcyiKElWH2JEmJEjn1uBjj/jBnpfg5J9Au2TFWAFn7TOEjT0aDhp7BUezbQ6m+OhxSxSDvoD6MhgU01ISfp44/8WgO4EUGaIlhMbjXf9Ioxiw3i75rUB+SyW61WGoq1xIARAaZQbJI8AsnlqzMWE4TnPktV6vQx4p5PHL3/DETy+ZvNwQGdPOFmWhhdzzhMkUfzZB1TjrIGeLHhswvFRbaaHS91oRFoHEADHYxHd7IrFLDtGBjCvSAB6dvQ43c8X9dFvtx9WyPE+QgCNbRpUBbmrbVu0ZCOAsgy5dTAmPJ/TLMKNiqGRIvmjaqiRGc0gBh3A2e+TKIrS0LkOfXNKmYMkJN/5d0quHqiIxhp5iodD4i4I3iZe6p3FCEfQvFcEodjQ/WCXIamoyUM8L9Xbh+hsnLM7W/ed69uqqPte6PR9a7Mkcc4ZEgpBKFkH/hs+2Yx83Tzmz5K5k6DkwGHXnWzX2aZr+8aaPIpCPNnz0eSgfKRpbkHM14SJN0pINg4lgq4p8U/FKDNhHoqAHnL5MTnrq/sKLjT1ZxI+8uJgOGOuGcjzISSgS99Xbdv36MCDuW4yBNo5PFJAT/MsWgWIj5TLfz9cBjMGMQhw0o0SpN2udAdzsk1b1+jHogxDE67jQEumQBjRzIAw6pPXNtImkpJZdxrPSPUIDoeYwHv3Ac1iy9hzkAcGhUk8+R08Ou/Q/GQqzwBW2B5MZ9tj27lLX1c2TA0AUV3XNpm5OFsaRNeYFISSZcDQERAFOmhCxx9OV7lhvWELfI7D7bIHnqqq2p0pnVst4yEo5DSSEkaKayIkpbpaNk/1lluYJE0M0Y6C+w+Oi68qxSIE7omr6gqpW1bTVbrsmjzj4WfQx8Rc2rq32xo8nGnqS9fWrfDByELjAZ3DQ4kp28cERESUvIuRbz1OQKuIQO3l0NTboniq69oDeqqKkzEHGyZr1OAxJIz09AgHmm4st8IVCgfXa1dEk3TwMNiFC72ZlrIuikeYC0UzeKqf6sDljEnXZhK0ioWe5B6NSt5Wa/4AUOZcUTRN0dZEUldFhaAKIb8HRScCQgrtTJj6DJKSi82/PJLsiVfJ2YTObpqmOX5DqyrkDvlcr0/H74c0bFyJD9qjCEdYEAKJqtZcgIyhm76QEoaqkQmciUYIdIdGyaJq6Q00zB4aLGdBSi0klhpDDSQ6NVh1OQ+NXdFhfL1JM2Guf4PpyxcFJA+fscM07c6mDnnT1DUCCrVt61OocTgB7TbujAzCMQnVcsR9nohGSP7tHvEs11mYluWpQeoUx+Ox/nVE5lAA9Hz8XhqzsbvyEKbJ3j+Zk9BNjyI0Kj3/D7NWAvckNASB5opgoPEWDS5F15tRwVIhLviNvweGjvKYSBeFoJ/GS4WG0hs8hU04lKfzAsjkYITE6QGoqoqN60CIwi3ORbwzWZyEzMHgxApAiKgeZ8iItVu83kdRfrHft8W2aIsCH7TFmbd6ul6vGL+ff21KZ5Fa1jPKIxyqhnDNS1xIWcGR6fWtf8oDQ5HMmIhR6YInKf5iBmYu1sLs+h80tJSsi39fQk/FqzV7SEcAdRY8gKbu+g4pdDa2BR8KxFxWHhjTkoTCHJHlE5+XvULKrCD4EGUparbtdlscv9V1sSmqHlvP0/X5Sj0/V5vyZIu2AbbT7mDSLMfDOQZjYKSVw39LkASaJrGGnNOtmL+q+6jmgKT4pcgDRjR6sswxlwc2pcgFb2SmoYSPviD4w7oZ9zZqBFHc16Sgq9Jiq7KABQVbyKVGTWX2IKldHFLnj37/b9T3dieMudL0rupjd3ZZ+6J2fp6dMeAfzeVSA8imLAHIpGXZ1Cy10aBTF68Da7tsMIigIEkQQbyDIAmCfQGLL6dJb4rcRivsbtwiU8BpmgZkEEHN6/lYYovLDikQRXvbcaOTfe4bLabel3CklUZzpVkWH78EzTzDBZFo/peQEa/OQJA+u6IAp5adVulcpx9qYboLi4SiLYEkPbyW9eEKkE3CxEaW+WcwawJiBJGQq6ckJyD/rBFhGULIthuWBjWo4DiDz1sE5abYklAU2YohGRKQZAVlpJgUjGIZkUzJSNi8529piFoOcgqJUXo4g7i8cDSQuInGzf8fKS4NOVkjIN3g/LMCfTeYzlhsbgRyYDSd0ImHERSuexRmA2vsPoYI6KOmDAp8bm4DFnpDl242G/BxgMrDtmneCO2ivLJtyd0vai82z4v49s45x0kjyR8KC3bKQ7n49gWi12VU6Ykwcla4cSAg+dI4jZkf3kaIAw8vN0djn0qXZqXho3zk9loPPkje6eZEIOWh6PsOjFp3safNwsLYrsu7AVkoWcfx8oaA0LTGJaB7UxhTdNjiDtsS2tZ1C+gOTl36HBS1h+0BAFP8ccRQfO8IqRcV0pTCB5lMjf6jWam7xeFsKuUyqzu0u4V+sq9FDOgyqoSQcqIRhOL7WUb6vVTl+AigZOiAo0XtxRyE6YFbHG/a2e7SZshBeV5lEEIkicOlZHZNCx/B5y4csmLIsn3UpgR0aj891Nzgxi2ubvN9dEAEbUEobRFCCQDdwRNXgNh4eAoqraw4vs9mDoGOd1MO3mLQCQc/ASC/6UzhsM/qO/QZZPMIBZ4sam1AowkIFwE+9GZAAEW2xef6T8ABnpQ5yF8yHVA8Z1lOQAOS0Dq+dw51fMbaCYDiAWGW5VVUsVQ/uC3ul6ZmFmrOr+fzuW67LENkbbfgk7IE75dCCJpP7jSC7F90I8fE9ROp5zlyIkYnlM4B6I2KY/QOGXnk7OukqOYflXb3cHCR5kMSZIM13XBp7cVHT9uenMAIgNbrPivMkHdVboJ+vXSpnWSkbnJ8bsPhAkDd0DGZOUCgU4MMheFYt+AHdrttijKcxVyA70I+DckO9HW6YWeTkdI4eAMx5cNHI0S3MuCQGURD688Xv4IMOr34Hhy6Uyew4xI6zRfJvX/U2x3QxeJj0sdJZ+3qxIg5HdLBmI51gg8iE5qAj/hgv7Md79tp7YUGOBT+b+LBdsVwsfuIVyIA6KHBPndqzsdXChG0qtITioa63gEgYgiAEEIO0TSKbt7L9GwypXXnUwoSCxjGiSw7M0F068RBZ6qF5hkJHwVCCIri2ggaeQeNdJgpLoEpkn+g4UM+uEoDQKZDWRXhSQQgOKUtL3AyfEisHeJ134Ff2+IdvCYX3nlC6kven7sH46qy1l2HI6LTJ9Tr2N1eAIg6vrbVaoMVVnes5WxkQk+IDkbXivdmLt/TCqF/yu76fIqMAkOxyPKI4p6NXaRLsPeLmUcz/fi+9HXFxi5EBMQEkywLHanfIAD6Jgagi0VBcIJt00PKOnu8nG3iOHB+P51WK9sNQXyrHsQogJag2Nm953PiHymxrZ0hB4jDqqr2IAZEIFQeVpFBxYGbrBB9qDldQI0LsqIUCWIG0BgVbOgiv0ajKDCSAAYYOcV0ibMlxyXOlgJImIj3MKUH/4smXIXYrL7V+MFjMN/0fWCGoEAY8WkRFggt2gXxdBm6yxAHgbHVYEmo64Zev71clUb3BAQAFeLIR9B2Rxiv55cXQIJ9aVb7vMKOd3zY7ViGp5FJAIhOkk+34KC0BJM+JfHWaSgNjn+WvKqAHAMVqPhBTwlIP/9TH6LphFPpYr+eoQaPPDgtvwD6cLPue/fxRxBBkTXG2D8vYNENZuhMnJmOERShNu66LAgBaPrhJqAwQIrKcrxxtUndDbpX4KnL8/EFOr48PTWpbVclAaGAKMtP6argHXQCIiGR5CMZdEYIeqZAx/xOO9W9QLha4KlfxQS6xyECERllFWbxw3t+hMWATktx0FXfpqz05PMFZSzhw/hxAfThFmW2hdzjVqbvLOvt7kI6PV4Kwr4fJLes2qro43txlcYPdjgA6vyb0rR0ahrWCi9eAPSQ7jfb5ghCIIfbQ+kqWyd8mMs7UlP639AoFzZ51yjneRpozB6UDHzRv7TE7qUig3AZjsLUn2MdhiKgKRUsYBAANF8igUVN/5qMrvEQkY48IsXLnHf9wKcVbWUBZRjo5ouLH/eYyNCH8bqCGBtR1BHQ30pX1AihET6ndLtD+ADQ2UXP4+OTt02630dniIRQKBDQOoZD7kdC6FdYJJyUCVemqV4kucR/8p3v0TmwiTCRF0eF81JgC3WmhMzXSzlyVLRsujaV/LjA/RQTd0F7UKkGVnGdISDC6ciKRTWqtiQJurzILYTVIPaf9qvMzKwKQJeoXSF9rQ74/sNcc2R/edNjs4mqiCu/nV0IlWm+TmLWCdx2RIJAai7P6236z2nGAbj2vM5VRBP6qHEGikNnnfwoS/LaQjagLwqW73H8D5Jf4/oExBTkAfkrPRdG0MBfngCQcTdQg3VogizPc+5gvOAThBNAmNFBYWhsFDGE0m3NKzvkAxCNS0AUIggA6+PL4xH4Xut6l2bBmo7xH+yrbD7VuDADRgx56C61HDusHAJuGjexMLlSkiTxCAyAZl34+UiHykD5l0b7Fdz0V7iSgJiCPi6xw7GwTtM/UbYFw0A6kKEJTM/nQvOqYlhVVVa4CLqd7D5wUBgb1hGnbbnjPbqG+9svmxQ5CEBcGfd83kTb8gxSv3Ol2W02ebAmoSmiO4F0zeDzuNGsI6Ezv0fNz2Nh4wQc62QNLGsHB3M5cZwWukeps9GJQw6PRLr+1llhiXmfMWcKB+EjgLjDfbPsbAs8K5ueULv5Um5Q9XESDFmWYw2BREBvGUOyBE4AKGEdDj71wwPxNGV5/umIzHNEBJEPAKX71emMauH5dyw1uzTNjXvQjvK5YnT/NQ+dTwBJxtdMT5d7w/4vGgNmzcMpwShzmRCQSCJEZsrAPRHIQRqntCpZ9aAErRLlIMGn75WHdJmBCChExQYuacr73pGtqmEoMhdHHY2JkYjyjEuZCQoWCZou2BhAAFTs25RX4OpPNaKHegIMFAhoME+MoH3LyfMTAb2W2wqAmIbIZ8zrt3NSdDJQTF7sVxGRsLmwdIw4alpx+Hxz70kckp7mDU2AFsgpiBHQSMXPP/O9OlSNYGJXl4uZldKSfw48kAugDw6QPfEi5q48nBBCBf7jiiEDGzQASjLDHa7qEEcGLo2nCZ18CMgggtK0/tQ0RxZtaDCgBHlAx20UrZpn8HkAwObh57LjtdfEx9DSi5AoB2Lp8ovCGQvlSTUQhh4NQkF9PSYXzGSuBBO+lQQECQ82FRehhe48kwShztZfAGLGxzcxEpNno8FFIxNn2XgyrnGgSEbwkA8BJRfUXSWvm+Feam64xTHhCCAbxKbIqz2OKneEYs0TlNtuQkSQ4wPXvzwSEPvucKjBRyOoLF+eSeinn3g9YWuN6elPEhJGQoejCFO3ocHKy8KGhxMx/F2Og2R9NEwoDJ6NIBAegcq4g3KAZqS7mWMz+ZWTP9NgojiXLouA+LnI2tHWH9tAvCP6TX/hDZwtvPuKEDpFFcjYTnS5GKSgrsorX8MVxiS6C0kAsUZIhlNagg8j5wlqmsffSUMBHTdRun15esbB2Go+7ewQMITeUobEEI1WzZ6HsFJdpX3FQ0fTsvWBC6iYUSK53zUlOAVDGVNAfDZGtJBd5/NdzQcKImYCR370JKB4eIAMDr5ZuHDd/1V54wiNcH6c/PSJWxwBWdvCu0jsuNwWAU5uyQYHAa0HA2B5ZC3wFEWQ6LcW8rmDKwmoSg91/XD87di45PP4/PQH0w3I4AyouMXtVzgFHxBCCNXWwBXuI+74eEZKSaW8+C7Y66xCDuJxFfgECoNolKJIoEBMrR5OljHZOkKFAtK4wcecFh7+q7Nz0U3dCMJwelEvUiVKpap1EjVYFoFYIAGmJCTQhKbX93+hfv/MrCfASW8/9u7acHoO+zGzszcXEhwFEHdIz/amhXVxJ0EiocgUKQvCoTQgADG10CzpuWBAmlO42n27WyHnA6C7a3VxIHctHwcg8zeFUHi43Y8LpuKa13a7xYIAc4AJWaR//PHTtqMftNXlkvDudrtsB+oKf2uEnFEiypyj5/bBSMxtJj1UNiSROI1dtjRcikxvNc4GKbEcBSCvxmI+YRtIDN6XPld4BC+7m5s3kxxnsvkQoEtaij2AmFJbrJ+fQYRFKbAzPqvL3dX1Gg1tsdT1pYagYcLpvZUA9O2qQXvoGB8wHA7zrn796ac/HNAfL/VgvtwYMLSZzacDmjSrv+gXhtJISN+VBwCyjGMvpdo+4uRogk2yFCE+KxmZ6xSXDglAscPZKjOxkHr2nv6GXiAr0Djef/CGmqCPnxdaczOuHtuGOJtIewAXuTjT4PLbzyY4PhAZIX703mlxRxcb6fAzkwVNkMbcJCK18dNP92BJQJt6UI9lUYd7+qqbWTeWBTkgebl/6r8EQmcpPBYnOyA5qRSVK/Lv6VJmw6ETBZ3JhIa2R4R4Q3s9nUtWupf+u75JQH/LkXWgHCE9zQBAC5qgUfMKoMrWTst6jJDWUt98dnXFSJAI3U34Jjc7AMUoZBD6HEC7Fa3YbKvW3xhthOKP3xwQCYBGhNkqyoRetg8slLu6ESAQWZiVAy+igMgTDDKC35eg2uW2kGQ4i5OCALL3OXs8KP8AgofhuZMmyK6N0t+T+CJTS7J+/5W+ePe2yAQfXNwnNB4N7o2Fa9ZTHV7zLa6vfYKIwemrG9qf4WBYTOhKkziuBKRpcbqpdTunDTI+AEIyHTIH1LFmDhf32+GBSO9hNhcgd3EoguEgBBJPyAoapf4hPo1Ex80n7eDK1FuBEXMerCu/4Qg0z1co4dyFBoPB3SDKInUMKHdq5m88C8e7zSmkktnpPc5kdfogIfigjwXI56YVZbMvDhD869zF0azfXF6vNNs9XHMOJszY2eiZ91q8d+KAtA1ov7l/ehKe7Qt21BK6/4Ec0FM3mC2fVPpJQVwBhLwZKp0UECQpd34pGy87CcPcRQUWFX7EACZWEqCUXYEt4RgfcXE0gyh5YTI5rbvcWvaeqFZXYvLSudX5W8k02XxUnoXiS0LZssX0TDusALRYjLTcBtuZcLKu9Pf1M5tPqgo4OmVCNwBC2UkBEON1q0dijc3TT0+YB33VtiFc+CPkgOrBdI6DQxpiWKoN4nctG6K7mv1IN6ccBYhuJjcNTpgOL/Nb7qcmfW1LZCr0doTIipklHP8YNIYDfbc1KWUSe4EoalEqeWxZRp4rKVj8tr0hubeL0rF6R2aMDAYqVCw3adXUVwxla6OvFtuwLQEWa9H5ET7geayubn6crGtNlI5GfAn1XN+YUPChDRowWLTcMkgw327E6H4Dll/++OPXP6ATQcJg5AakAdR5SxQXJgQgDq9+a15IkK6gRBZkSIuy6UlPhaIl4UUahEJHbPKz4tOLb58SoNNfdyhLWe6rOHZpQilhOU9geJakyaLAWQDlpgEMCECCo3WGjc06XPNUBO2d59Q6xuur9XrU1Yum05JQFvbcaB60qBgQmxu1IrEet7O9AGm8wMIE9LYNuufy/gFAxI3jAS4IQsXLOYiQA4kzuFBM35atfNLx+o6TxK3IPiA8yeauwBGdShopGUYiiVCPB1DJIrc/S7n9nxSRnIFLGA5ZaRxOJv9LJ9ueWFPw6e9NM1uKT8tIAhvtsJU18gclVPU1S97rcVc3XdeNIDS43nnfPwF954Caxahhou5W4zoHzvt2VDUCRNDgLm659NBhc7tftuMuABmi7PQHKCtGksrIzdkoMHA6gedYxYquU/pcfpCWVa5hpPXivFyRD4f9A0wwCypPiQiEKObJkddBkPOE5N/qdM+NLwsVoNdXqmugfhCqaGwKIDaj1FRD1TRU9aJGvHeNR4oeS3YZd5drTTXYRJ0FcMt2c7/fWPNzj8iso+pR3eZ2Nm9G9WByJUKOqEexExXPEpBfRWeTP3BsPndpEaEhhwCZEUUHJ9qmt59C8Knrrg5BSqoFTICotvIIV3v9ewlH2hNplqyQF7w+DIfjEyxovXgkAmvcxRElDIm11ybtFqquryaDkSyoEZ6qUhjukzgFkrXsl48tc3VCNH4QIM7fOAVIY6Vkm3o4rH9So3S/IYZrxwboSoBCsg1jQYoKE8vIXZceuEFHioa+RMfkWfUg8ng5BciICUIyn7rrxuOuq+0QKs9BdBFO54zMl5l4nsrL/GOn1vG3pPv9HMKjp12yoUHV2iqII54eTRi8Hg6ZHjVACy4q6EhjiyIm9mvPqTAIqU6HLRMIdTueEWBvDr/FkE5kyrc1/yELEpgw2sOyW9Or8p7KyThnL4N2NtaWxhNdyrAKUXK3FQS4hZLR6k1QQKOjAzVjySiNp2O/4ISQAB1v8H9X4hIp2f9TvxFKKoA+/eHRggStJQAQAVvFj2hIAMfX1MbiCXuyaggxFood8Z1W9lglb4dK30RtEITrOU0QMDaG5Wnf1q3xMRPa18Pp3AZ9DlgQs0/dUJUrQgEoBZDMSVMM0hifbFPQSeMTfQJk2N7K37ZQYIRvC/OZOhcKLodUCxB6n8n7uM45cedf0Mm9Np9wuAWxj6EbU++VVrRjLLUsCQfHieermb5jz5wcdcO/mSYqAUnu4dieX9qgLR1V4Zjf3s62spwXtNfK0sVwPreA7ren/Ww57wRIoS/+6sTPJaAPjKIZnx8n0YnJ8EA0zkPmMCwlSW9kqlEXgPyYzjnmpKjFH1wkn3f1cclVs0VeToiFQe61VeY3CtOTDZ2xBp19Pb9Xq2vbFqcIYbEY1zi6Cl+3hhy47iargf3a+CoVheFEtRldSyHynuPl2r4qm07UD9Jgwi2Zcq3NXtIteiUs6u4N0D1rEqbjWo9MMCeXocK5Lj1FpGk/GSwjICSbSgQqUfBYOZV8sJ1uJDqSyLRT4UEzJVNT110kB6qs8IhqJI0zCqRZwf+E1XFZMV6UJE9FpwB6NHOvFgoRUDf4cTIA1CNaYEGTu+FwUYcUZk80nL/Ljkv0GgfqSUBxPlVHSHykLWMGWJXWmE4BNNooqntQkDAfd0OiYLchJEIfphSAgo4AZbQspWk4IBShMjIrWqd1OSDZjk7kfk1QZqE55s01jq4ASkK56891fkNHKI0r7epYR5+PPPH4Y/e+Y77OflNNCx4CtmrRdZTEB2yVDKjGvyEyAK1K93+383B4Z03DQH6djupytpzNbEnp7QNODziKvWf7h3E1rLv9honW24f9fIq/BLYIASgQmadLRnnBW7yuSvB2hidjZjePIi6Hx6oKHtB0Y1Qsp/B58MwBZe2SHe+JshhYN1NnWzl7quVAaSvJN5VbbZAvqv7+Z1qbaj2iDVIkYKptzMcZrSZ3Vd1VQWgkQFSjXjsYcXgFsixuiB8c4yxoiRjJeWW0AE7gWb5a0gKoWT7cbm4f1DGm14uLY1QWRA4pKKEPmw7qB6HP4gLzXchrP/iQu59L6W6HAg504GNEBEcCEYkRuui50KUvDBKSdLKNn+zUHpLOuc5vJhxOezLityui3fVw0bXiU5MgUumRb0dwqn6Q+QO+HCN1TNqZjirxhmlx+/odVsQEICRubxkUtXXYXGtKkPcxsIe9/Nu4G1WDlQ/G5ERzIuJ1YwlSknx6B5d40nkh/qWciDSMCNsOfv4+dEpUIBmbwMO/2nIhmwtQefKFJUkiQNhlKllR9/9N55vRjA/7egaPNs7WtGYjXbNmFmhR1BB4V1hQEKohtvJB/DIJJr9EcrXqm+Ba0dxsW7QUIZJOgMYtzbAFstBWR9/Hyc4RRZskOqkY8nyHDxpJ0bxIRkgvU8RuaTxCwxFokOV2zqQLr7eeTO4DpPDx6fal5OPJ3/Nw6KecczNH8GFfD8G0uTbte1t4GVwSgOoR8Wu1MEDQU6t7d3317LUYUvnq2juBNrQ1Hs/n5stpgwAEnDnBXVNRf53GG6bjxrpUAjQpiK6DEGcxm8/eoEn3JhG/nQOqDBCGIwYdB5IhST2dCKsDT5qOAD3duuCjwwBlOJU0cmNMf2H6kCFZTpZY8q3eIpNN2g4iYSR6p3C6qarBqDG1TbcADTkpJ9u2q6a2Dl1T81t8ZCMdckScqr3LZwBBSG5ubaECFWAjsHtrhNopkRGAathFT1DGuAZpANIpCQXyNOzHsYlNToEO3vAJOBxGwPi4RChH2OoANEXW9gSasB74RMFtCF1E3ZX9L6XyVH5PTi5IJoDkkTrDw5F8kC1ow4JY+kughgW1Gk/oBAY0wFHhDkD6WXJt37C6Yzr85rmEXc+q1ecfqbVV9jPUIaJHhGiDMCCZzdxG8gQIC0INAUeYkKRYIdQzCZX7ObhTHFzGZsitRPEZgOpxSJdNXRRh9Vx0JDg4G+mgUhiS3jBAycSqLVJeKF0RUlJuniL4t0o8vgzd11SvwaDgAH/USBqHCzwCJA/X+FerbUrojulwnud7w2L6GBLzjqMNhK3XTqhpsBokSCJEsQlADJNOe0ATZAaUFHoi4dcCkj7Vr+8QnBM+4cLc1qUcsvGR0I6MZCpzdjqBB0Hn8NtvT1F2TgIUz843Ju8r+ZwwUpb701PJMJudvpCAtJ4NQOqOUl8AemVfohojQBkhMap+1iCD3BuAFv6UnVWEXvg6pV5p6W1QXQtEi02KD5xaLkZqg8LDMRtkgNKETAVNnkhG6nQC0OokLnA4JUCrYeN8OFsRMjg52maA3LHRn37aAOTwBJ/DATYyJu45OgH6d0x+KD6JQvq6knNk8+KZkkBSLmSmnPm0Bl+y+7ymn9pU9WNDLVJzJg/pBEhrpeoWWB1WJj56yI5syABhRVph7w+wyF/zQr/jaasWbQ6eFs2n3YhB19YAUYOK2X20+QiQIwpKqYLGA+yTuLoQ6jx8GwtMClihBjzBx+jAx12bjkMQEiCl5u4ujE/ZFi5RtjSKJPmohZDDS53wOsrgkS2aisnnB+cjQNWAVgYyNBXm6Cg17SsvY7Qm6La7GBl8bEnJZGV7Ip85r3/kcuJ81CcUQ2+LgYNel5iSAmt6prwRP2ybf6nWMaWGEtC5zgeuIy4QmWj+eYGnzBiUCBrxF7dmR2SIN5KP4ITg8+uvEBIppUgWZJEuyj3JJMc7k1O8bSoGFlLpvJwXkSLPcvuTeTh2JSyg07nhCFBFxPCK2gBULcxRQSjmvBk+naAfbYoSOCBSnUEGeX0t8HFo2s718rEuARpZfbnnkYtDRH8al04bgpElHHbjx7Qe0Yxx0TKZU2fg5n7MAzTjIESU3WYdUBiQ8ODbDAwv6ddffiVNCdGFGVBw4TxR3OeI0++EGZ3L6j8sJZu2KIWStu3gYLCTZ8N7L6hdam2pGZDUBiDsQnwIxjR8Zi7uDqNBnpRHKFBfLrm3GIeEtwwTCZBMixthQuPOAeWCzl4/FlapXBXigCpfQZADNzqzAwoaH1QLQCSFm/FJ+/kNGScARakQuhWgt7vFEGkodymZjhlC6L8oGRU4yCerd1pwWOO86qp5VW32D4JVcMxqhXo9BNB8qS/bNupeanEwVQok0KwkC96qiGMXomNDEnI5zmaqhIXFVCIXptYsSK1QCELJKLn0meHJhThCg+CSfKYcAQgKkghJZUhn6e84n4BBKoHHYfmBsCBFuqf7Kd4u8Sc5IyZoEErfKHlDxZH6IEN9PFcbfv4tE208knmtzb9qddA8RmYQoYJZ0KJePmwZj162Ns3IigXjcidOHH3np+tsOMLHia0MBzxjsaCRB3fOp8XH0WS5CXGuzIj8lWwmBdAqrKcA8nUdRmactpN4oOCA9uHtOJXMS3BtocGBZgcchVCYUEDjAxdUWKy6+Dzmjq1or1MFsCgUX2Ucy2p2v6m0EKLkZSeagGJr2k6AGmxH4dYrkMDCOHajGQKuqeTFI6EXI582Lj2fyjEFIGOTsXUd0/pwkTIiFB6F2p1qtAc0pWJHx3PSicjZUAhdHy1kyymdQBNh9bzMHCQgBqYDDalrv033dgDKr7/+YkDIKQNJ9uPoni5Ydx6z+ildmiWlznHlzrO8hJEr7UqwZG1nkYZvHdBM9eWAOboWWTPTNLaJnsNGobGrmth4rp/cC0Y0a6cNsziuns/aXA5htaqpV4tfMdNplyRoLEBH0a+iPovkOHtGBRRyXsBJOij4JJ4cW+Ps8cSImszmWBorQG4zwvILRZqgX/788xfaIaj9KkAidPHD11RSbmw9EuiCF8DEMR0hRHoJTxoRUimVG3FP9hHGcrYdAwm22qBbCBEM9tiK61VqiOKWsNFKHDW54/pxWBD9vDY+YUDRCnMCpFAQmyXSGzYSF7PKBmgUgKRkFJxUcjCJJwGJTzY6AQg5nQCEKPdgApzzOchWoAOYBAQiAySnRwogfsWhnYvSqdzGct8/BZWjolNcn+gI1nE0gvTL4EFxA/VcuvFytpfhgEcn6VYmhE1R9+w81RQp06AtgHwS+U11PRogWYt3S+FBOo522c4llDA+AbIIS3emaoRQwWNJyhGFBqlhafB6y+EVfNxaYMOJSMyGuNye80Gi44AoGh9sCB2Ej+yCujoB9NmHMTkiksgLgTMPmFf5CYNijDLsgLSv9bhcEwur9TE+jD4vicJ4wg5ELFpoK7zflmvdmqniFWnbmixXjO10U4vPRUi1tEQzg+MX2CZxWwc1jDSMqCUkDECp8HdnZJJPWFBpdtJ0jtxbiAs3KAe0dUIACO+GYCEJkC7l8szFYUIAegMnpndt6V4iwvfZ+d0xsNPQT0cpo7S0k42f6Sb199IEXQHImnHbI9S2gGGESjj24rMXIC0CselR6ppWSY5pmKqkRWOOTHb48LAno2A1Bg+wK5/jR5u5HJAkL+eAhCgxncM6gVOW5Zj5OGoqP9WzOWIkS+LpDFwaHyMAo8BDCaUJQcjuXNAEeT3l1kmkCxDZbn8jVZaUR5k0mCAHF4alCyvZJ3taZxsJ4wMG6BE+jF023QxC/pgDAG1ocqRtS+fy5XarNzAhYqIpndVTPowcAIi6By8/Uz1ISedc3PlDgjZ7ANC0FSBHBKAuVwxA6O90vFzXI4QYFQij6RsZd2xoA4pABBqWF5GJ0Sb6p8bEjAhGYgUeEYLPESBjw2HSkwgc0s6xyeeVNeTAohyAQmlnukuK8mZ+Ms2JcvkgIYIBqmo6cFskDo4IHK4Wv7S1NVS8tceXC9CwWovRI4fzsQcsbhEQwXS7xWoQwBCpqnAun2QQvT6tZ4QSkM7UMFLyD6zL6VozIJBw6EQRHaQC0NE9ADkekQmnpmtzcWFBhwLoc7Oey9AzsrH1XNqS2sUyS4Bx9nVPLcuoyEBocjPLskwqQw2OsgXX/uqr5wWdH2ICa2YEaI81+RN2iOO2L6/1HBf3dC9iG1uQw/JSsACH092N4sAWk7nltcVkrAWzeqHIhX69L7fLFkLcM5+jilWnCkQxGxoqMJKKF3JNolT7ckOZTCimQQWAl4OQVHrp2eheABIZkmAiB3fs4igloGfsBjC2AgnFmn+9iozXjd2TZaWFCJ2pbAEQqLgVhNIx9pc7/8glc6GLssJDCJYKD7Qu1ADxNGUA7ZfCBSKzrNsZwVfKBy013fdwy6PHqALXi1USmCgLGOespXOUazO0i7iOdVFG6e/kezBRmVgwPt78ZGNjr6cNh/72mElwXLoT9+7Dv2E4WJDJHJzLYDlAAH2385YHPGDhgSuxGwlEZkOcBgVRsDIpGRRcAc9FbtZld5ORG9OOs1wFQlktgNolGs8xEBC4XnRiQjzIsmbFO2CE6En7T/da1RhTzCH7PbOpIT5z/+QrSy3CpSTytGoAmdLllTbeQSmAKk7n8EE0VTntwzZ8LUDobVDgBGCQCkAGZ4PlmO4BZHykAggVQMgaJVIBsgrn/0xlY+wrxFwYCbSeL3vd5PojlSQZkldy4UPqLJNVPvmExApBNuISW4W+eG1rNpc6HnwZaWDyZ/XW4zkbGhFf7kWAGg2DeWWRiI88XOuAfuJjYGIHkP1oHQ8H54MWAkRFqcpms2knQN4QxQspDVZCJ5EfjZXHwqky8pl6Cj4ltym4cHsF0FMCwoJECVNKFyelBfmaPzMb0dH0yFoFX4NkZK543wGxOKNf5ZL0Yl25MrD5hSdY2rkCjhuQAKl139D+PIkL55agzjaYcpIsuz3PbzlwwZXs40G/eya/eUW1wYe5CsCGJ+RzDjRYb4y9A9qIszucLa1dB1yBrgqmwqOcSSb4SP2C6mJB4dGKWzvcBx4EIcExlZvwCAuCCIm3RaiPE+AjXfD/HbkCDzZjWpvopWNChojkxlB5nlP2bkrpBiXulnvCaXjPEe2Sjy9na4iE7R9/sIeIUatgye1Xs+52f+DhExS94l/GTW4XjAprcJOguGUXPixdInSPnJBsakmTEc00d/S8KwMEG0Eqzk7qiz0XDikXvOfkaHFsTsUmRUnjwgtaegCkuBUGFIDQESCpvP8XQCRk0KhYzTAAAAAASUVORK5CYII=\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}},\"autoScale\":true},\"title\":\"Horizontal air quality card\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"AQI\",\"decimals\":1,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":false,\"titleTooltip\":\"\",\"titleFont\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1.6\"},\"titleIcon\":\"\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"14px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null}}" + }, + "externalId": null, + "tags": [ + "weather", + "environment", + "air", + "aqi" + ] +} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/simple_air_quality_chart_card.json b/application/src/main/data/json/system/widget_types/simple_air_quality_chart_card.json deleted file mode 100644 index ded7c3aa4b..0000000000 --- a/application/src/main/data/json/system/widget_types/simple_air_quality_chart_card.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "fqn": "simple_air_quality_chart_card", - "name": "Simple air quality chart card", - "deprecated": false, - "image": "data:image/png;base64,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", - "description": "Displays historical air quality values as a simplified chart. Optionally may display the corresponding latest air quality value.", - "descriptor": { - "type": "timeseries", - "sizeX": 4.5, - "sizeY": 2, - "resources": [], - "templateHtml": "\n\n", - "templateCss": ".legend {\n font-size: 13px;\n line-height: 10px;\n}\n\n.legend table { \n border-spacing: 0px;\n border-collapse: separate;\n}\n\n.mouse-events .flot-overlay {\n cursor: crosshair; \n}\n\n", - "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueChartCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueChartCardWidget.onDataUpdated();\n};\n\nself.onLatestDataUpdated = function() {\n self.ctx.$scope.valueChartCardWidget.onLatestDataUpdated();\n}\n\nself.onEditModeChanged = function() {\n self.ctx.$scope.valueChartCardWidget.onEditModeChanged();\n}\n\nself.onDestroy = function() {\n self.ctx.$scope.valueChartCardWidget.onDestroy();\n}\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '300px',\n previewHeight: '150px',\n embedTitlePanel: true,\n hasAdditionalLatestDataKeys: true,\n defaultDataKeysFunction: function() {\n return [\n { name: 'air', label: 'Air Quality', type: 'timeseries', color: 'rgba(0, 0, 0, 0.87)'}\n ];\n },\n defaultLatestDataKeysFunction: function(configComponent) {\n return [{ name: 'air', label: 'Latest', type: 'timeseries'}];\n }\n };\n}\n", - "settingsSchema": "{}", - "dataKeySettingsSchema": "{}", - "latestDataKeySettingsSchema": "{}", - "settingsDirective": "tb-value-chart-card-widget-settings", - "dataKeySettingsDirective": "", - "latestDataKeySettingsDirective": "", - "hasBasicMode": true, - "basicModeDirective": "tb-value-chart-card-basic-config", - "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]},\"latestDataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Latest\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}]}],\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":null,\"padding\":\"0\",\"settings\":{\"layout\":\"left\",\"autoScale\":true,\"showValue\":true,\"valueFont\":{\"family\":\"Roboto\",\"size\":28,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"32px\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#80C32C\"},{\"from\":50,\"to\":100,\"color\":\"#FFA600\"},{\"from\":100,\"to\":150,\"color\":\"#F36900\"},{\"from\":150,\"to\":200,\"color\":\"#D81838\"},{\"from\":200,\"to\":300,\"color\":\"#8D268C\"},{\"from\":300,\"to\":null,\"color\":\"#6F113A\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}}},\"title\":\"Air Quality\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":null,\"mobileHeight\":null,\"configMode\":\"basic\",\"actions\":{},\"showTitleIcon\":true,\"titleIcon\":\"mdi:weather-windy\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"iconSize\":\"18px\",\"titleTooltip\":\"\",\"widgetStyle\":{},\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"useDashboardTimewindow\":true,\"decimals\":1,\"titleColor\":\"rgba(0, 0, 0, 0.87)\",\"borderRadius\":null,\"units\":\"US AQI\",\"displayTimewindow\":true,\"timewindow\":{\"hideInterval\":false,\"hideLastInterval\":false,\"hideQuickInterval\":false,\"hideAggregation\":false,\"hideAggInterval\":false,\"hideTimezone\":false,\"selectedTab\":1,\"history\":{\"historyType\":2,\"timewindowMs\":60000,\"interval\":43200000,\"fixedTimewindow\":{\"startTimeMs\":1697382151041,\"endTimeMs\":1697468551041},\"quickInterval\":\"CURRENT_MONTH_SO_FAR\"},\"aggregation\":{\"type\":\"AVG\",\"limit\":25000}},\"timewindowStyle\":{\"showIcon\":false,\"iconSize\":\"24px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":\"rgba(0, 0, 0, 0.38)\",\"displayTypePrefix\":true}}" - }, - "externalId": null, - "tags": [ - "weather", - "environment", - "air" - ] -} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/simple_air_quality_chart_card_with_background.json b/application/src/main/data/json/system/widget_types/simple_air_quality_chart_card_with_background.json deleted file mode 100644 index 0d12e00f36..0000000000 --- a/application/src/main/data/json/system/widget_types/simple_air_quality_chart_card_with_background.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "fqn": "simple_air_quality_chart_card_with_background", - "name": "Simple air quality chart card with background", - "deprecated": false, - "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAACgCAMAAAB+IdObAAACc1BMVEUAAACxsqtUV1NDSUVhZmGjrJ6/v7e3v7e/v79+f3aFiYJVV1Gipp9cYFt3cmhiZmPBw77Dw7ynq6Tn6Obl5uXp6ujc3dzk5ePd3t3g4N/r7Ori4+Ls7ezf4N7h4uHq6+ne393a3NvY2dh8wyLZ2tna29nu7u3X2NfW19bc3Nu5urS0trCkp6K8vrirraasrqjV1tWprKWzta67vLa9v7m3uLOmqaKusKq6u7W+wLq8vbexs61pbWqwsqynqqPPz85WWFNUVk/FxsWjpqCvsatdYFueoZsfHx6sr6lQUkyoq6RmaGNSU03Z2thqbGdjZ2VMUk+1t7JgYlxaXFlrbWtITUxtcGxrbmhfY2BKTEg4ODfS09FMTklnamRRUlGLjYmFhoRZW1VHS0gdHR24ubSanZeOkIugo52bn5iWmpNxc3BhZWJNVVNMT0xPUErAwbuVl5GQko5zdnJna2hhZF6/wbuipJ9laWdnamZ9gHt7fXhjZmLJ27J2eHRlZ2FSVlLNzszBwr2Ji4Vrb2xPUlBIUE5ISkXP2cR8f3h5fHdjZl9WWlfGx8aYm5SAgn5ESEa4ubit0oBGTEpESkmYnJWDhYFbXltDRkM1NTXCw75eYV9SV1Vvcm5cXlmfn56SlJGGiYPIyshcYF6VylG405aTlY54eXegzWiCxS2IxjlXXVvS3Mdub2lQWllBQkHW3NGdnpuXmJa7vLjG2a+vsK+JxzrA16O71pgpKSnD1q2iz2osLCzDxMKNjYSOyUXW38q004yay1w7PjqIxzna39N8d2/e49fN27yHhHvI1re31o+o0HSIxzrQ3b6p0naw0oabzV2w3GcEAAAAE3RSTlMAICAgICAgICAgEL9AQN/fv7+/TFIHGQAAF/ZJREFUeNrswYEAAAAAgKD9qRepAgAAAJidMtZRGwqiqFcKWbJCUZLPYB8bOQYDjniNEVq5238gCx2kCD2p0vABdGm224repSU+K/fOjPxwUmSLLX3ezBiJZg7Xj5aWlpaWlpaWl3PTFd4KXZx/uEZdoy65ukK9Oh0ZqE4H/R/esd90OjcR6X04Ho97YbPfsDY/yJToHA4HgyEY4IkmWZYlScJOJskE9FFkuRwJD+C25kvgK5jNZnNlPB/f339moYGMOx7AQeK7OI6LuCi89ynwJF0dvqXp96r0xeJ9L4q6lDAPOqCmPMAkyBT7BzIhUSYoaPQVKKiJCpjGbcOCIvMZFOAxhoeIABqAsD73RysFwPoeHmy3Xqdp/vuc+8I9l7960UcJQoZkga6DMA9L4YTWR3aChWZBEgiIyBJoGKMHU5BpEtRQCSBhsCQKuJgCO4gEi9iLh0sN51K3LdewWj2X5/JTRAkJYo8cpOBhDgYz4MnYp5ADoQOGYh6UQKOgwNIs2PRAUQEmAhSU4HBpAAdCC+8oQAV9Ph52/FCVh8r5SF4n7A7sXaICSm8ERzYUA3R9KfT0Gyz7I/LX3WCbggxCDxzAPBoWcVODeBSREEgqQqvtLnegOrvqyftoWiO700G4vBFoSqiFKAjBQI5qEBqIhmKvlCFX3KAFaWaBwSS8KhjcvcEid+Rn6bZn3JyIm09FQQPIOHD4zBS7EaphCoER/6hgocCCHuRSwjTmikqAsV3zICEUPGaRUkEGkuDuuRySg6cy31ULfBtx7yHafnVOYkGA2iFQX4m+KdhLxQZmETTEY25ZmAUKhDxi1SgKDqI5GM7Ia/TjuszzxxKKKoI+/WHNfFqcBsIwPt+hRmu2bRTEgwqriCCiFLrY8SQIPSWQDbja7kGwCD2L7FGlh61VD60K7VGKeBCqdz+Wz7zv/NnRmDTV30ymyTa688szk6azt97lwR8xasPdgO7NAA3tYWYhTx6M/GmjqotQKx+gki7bkqtNDVULm1sBGtJ23mjhTebm9oZW1WuPunujnyOlKG7B4dYXTICLFWmUETbCcqJ8gigIsBVTA3t7w8UeiXy5znzZsPvs4DS2V4lyPdB/aPxVooZCr6iKUf/HaE8heAyMb96smAWUSnTCyhYMZxH9LQVrhAqRQZc8RoImryqbBlKqwFQfUWxRCHceFZhERiMVSV+YW9DNDcYTysYURAFyFco0alYAPrrp90eoIyRyyVA8mLABkik2CkumRpQrURAGDyJX/ET6BFIR9ikJveMeo/XS0Aa0lbLNgCodTD5eIt1uv9/tAwEFfmj1++yoMKSKwsgTKJdABV4ivliXIBHzQVWl09XT8A1IgWu+ALdGooCuQdx4AAlFw+dlspVEM8mdFqj+7TUqzMGX8NPwWVkRKPAjQ8MjXcu594Ok9xLtvenZhqGZpe9njVAVRxaHnWlyUgLVSwO1IAZ/GpQnMlgNugMSuWzwRe6dHa+9HyxlirazdB5xnPXkPISHL5L0kjBNcwYUDIoknADKpjIDAjLCPrs1fuOl9A7jnkQYL7NGko2zJn4wk7jwy3WzmSVhJzsXnptnMxbJ6rM4no+zKOpkSenNyVOonAgkHpGKsF9+6J5DJLFinY2nPfSYGctkPVe9x15MY4cu+q7sJHIcQiqJU+QTZXGEU+freHkgD6JeXDqaULWDn8iGPFKQiF0UCCGiNrRjRaexm03tPOmljWWqRTqhIn2PBhZGZFaP7r5XIgcyidI0iuKlqopcB4uvUJFHBGIR9kto6Jj3NPFuSDSacjnOqMchLrgTGVsRKMTrNJgokTaJTNYH8nteGq7fXHyHajLHgFwEf3nDFjp2M80sZNBTDDa5dCJqepwLlQFEoplsr2S7dv+oNomDG7IdpGkQtOV0muPgd5uPt+AUKomwybG4o79FnxSZacZ8yBOCZvYJkWT9vjOOe2FdLtu3ZXsovz+IlUhNiXyatoMglUM3F/w57HS2kzhlOD5+dUwIu8LkPJJUEy9DphmrbMZxZxcfEzGL4PNCStmJokyu78fPL7yR8bOjU8Oj2ve4HawkwhjCiD3+K2yhbV4BuCgRQCuX4R/szqclz4BJGtfRUfq/zzD4FYbbR/qRD42F3t8+CLQsoTl8dQgT5CLUd3paXwp/51wssyIN4jtdb9LYIaBSY47kypsCpyxVBcjA9N69cCKHhxSKsOuVYSUihuJgixYDE93VyQ2/Nza1zV04AQfJ+IkoXmETcEAFtn/c4lWVk9BbfIrTIA9lcZaAiVNxsASHtqmKlahR8RNxImzyVNg/QET5mN6HVtGhPXbYwjf5XYMlIGxMAY8XfY4nsDGHzNNDYf8EEVUlAM6jCayJr0JpkIQ+wZk4H3qlWgkoKA+I2GXv6hYUCDy0hlExE8V5sIY5CWfw+PofPDUILLLycnFknrK5l/a5+28WNhBoOLx54oZVi046RyiTf1fR/3hBFovFQpiF4itBAVonUMXzyBfxBw97kEW9XlcmVqVy51HpAqDho4VBQIEJKlMjkZbvwSbuep+xHnXNCRNQzYSBhGGxGAI0wq7Xb+ERkIiXSI6I72FC4ZNASQYoRQwNAgqooHIaHAiJ+IHo2Ww8nMhpLcImHIkz5s2I0QAq57FBQGFEuNVublE9+A1rgV0n4ntwJAa+X3EgpwGpQIZN8tEK1URGmloBwe+HLpEdLxGDEeFA1P2KPEiEIRGYbMmOZp94vL8vRqM+4y8f+QfeodPyRc467MU2I4s9GLVHJq0NTHaoywzv+uy/2GcEW2BhqEIiLhASgQNp5Im4qX7aovZ1JODvCiilvDAISDC1yjgR4HuQiAnEeZx3NixCFA2dcpEPH1ikq1lt53HGeBSJsMd5wsUCETZx6fHmd/Xr49dX8iVa4INBrAar1aq76g62E+ELnpfIDnvgBAQCDQ2ngoZFyvj45CF4e6V1ovtGgkQm4EOWKZGBUhlsK0K3pFwTHUiryR4OOqCxVW7y+dvrq62vbx9+beUzmbx+TS6/ODfDnqauMI7fD7G4e2MghbNmNtkLXuwliW0TXjQimLLBDGDtbjRbY8mCZFsZ4DLUKihZk5k1E4KsTFrrIAiFdllAApGom9tH2v8559z7cHbL2Pazvef23trz/Pqc555za7Q+uQKRK+B/aCgReLAJiwCVEBZh/o1IK1h3U9R01LPNLNDRHEEu1hUPL7x/K6HXtbKUpYgxnegItYjnEQ6ItB6vQfQVEW4r4nU7TAWSIHJ3csTcHETop6Er97/TtzaAWu+VCtmLXhv44CunOEnEQKeERZRFOBwOiDRV8eMt9jmSTXcdW5bQtDh3xsfH74CcdeU+sX7/07dOgAUYXeugJWASzEiYCIoQVMJs4YssuSlHUc84Jjr/dzXj1n38MLQOThZp4qFF7KMmfO9EtHKNhIMiZKJhAaUgK+A995kK2ekrBi2oq0nNXQt3vLDAXdZ/1/BEFPTBSqOpCGALFmnO+6uuO4d4M3VH117KvWda6K5GJ0eJyUnrM4//7OGLMCylTVqVCJmwwskixWKqF6NqsJj1or7nprCFBFvYxOhoBsAEIouLny0Cuf6XD0D7JyQDsAjDIgqHRXhmRyNFTBP/wrTubjpO1s3W3U0v7JZiH1rTghafmXlAJtai5KfFn5reFTSV0Ba8klqrBkxYhGbM6poMH/Bai0QIz+KLultcV/uqIFLZvk0eQ711rwx9C2K+n5jPkAhueAlTYuLPmtg9ovTWi1elCfXiTa2mdmq1V/jl4aCwL4TYWTZEXtdqB46esw5LZSEqBemSr1S2EAKL+C6rbia16qbobyy5vThofv8hZCnkoSxA5NRT0P+0f37egobk6lGNFyUBdvn1BB3QIr8IoXaEKLQ61d9wpiywz/2EQjhY0CLbQlHJk4gQy7Z/Q9KiLOi5KafwbJHM191nhodNDNZX43ZoM1sv9sZtJREBAwNPB6SKRQ6EIbIjxB8TL4zXx4msCPF8za7uCbHhe9gbJOdIqkLsb4TWngtRYhHAGQFy6oZPiorDWS3611epoUw+c+vZVbeY6XOLcSnSRgwPgOn+p08taARE8CX+joaplV5tBUROS5GaKNlgrSz20KBf2q6IEsQcANH9KpU7TBq2FuFfhXz6VmnbUS+uv9frrksJCReEHf9qtS+H3Xix+K20CIOZ4R4AGevq1ZSC78jerok3ZsUgORNNRRwlApYLiFCDLGyXxGsa6AdCrKhwpGnVFGETvRZ5VnTdesrxPGxfg1C79ql40V2EhSR57twwHj0QSdFtL26xTvsg5q03Ozu/7MIJqK0pQspK5DW2efn5p3SnkBLl0HNRPkA8G/gsFc2eqNh/G1ps0uGvRTY3B7k0WMPg19VVOLxDjE1NnZuamhrusa7C4RE9WOSVEDUByr+fZkhErcwhgh0t0lLdxxtXtvgbAyVk4QC1g3i2McRsCYrJtlnETMkmisNDeXgSQQ1Uh9IA55NjM6QyM2ylIAEuX+Z1aEGI3yZ2t8uiFBQBpkhLFRHS5VWqyH7zlIVQSZSUSEOFg7epYoewsg5xTnLuoKPR9RHQiER0i/qAx/nz59vxTKe7Zsam8IAILMCDVh9EugurApqTRdBlfrlEM4nfJeobUUKhqkXkURbRKBHg17p5zWWLCIKPAOkiqxy5aG9vh0s6vdCVnJoam7G+eQQJMHdUpEbNLkr2dKv600ykVYnI7vJ7eIFWdlRBfgqF13Jq2UJ2VO97omyIyCrR6AUIexil0YYcENJHe7Rr+tKzC8hIcsz6hjTmAK8WCqLsibAdiVArRVp9kcNCYU3GiYtSm/JoCI8yVi8kiNOkV2pr0yIRPbeH/CXhOksA9qDQTcIqH5potK8rOTOTTFqPlEYu55CJwzHrxhQhnmOW0Ue2W+gbbyNKiFOxIiorxJ6s85Ior9HRZSgokTYprnMCF9j0uvfQ0L582oQ3pkBYcoxIeiE5NtaVtC7DIwfGHWZflA6cg5rYp7C3WcTf29lFwmpUBJgIK3kV5woakMcewvTmSORnLx8ONzDewlpEoUWInJsLMbbEK2sEzuC17/EuaG+PxaILC8nkwoJ1eW7uzji4e2R62sBli1Z6W46zhasojsjwN/yhJ0RpR9CZFrtRhlepIuATll8YlBrhNopyBcmwT9G7KzhffokYjohgeGmRlJuRAtrCTwg8dOBsol5rDxBDStLJZHrBejCXG78LHnsXkBY8tvZphG8pp20tBxHNNk7DZUOWen5FEKW87mdHVN6BCKJsQBXxLMMC7ORZJAyUCfi2vsqp4CmQPQC76IS864l0x+jClU5bD3JahCqPOdw4pAYTXtVRVKsH/PPF4cYEjkuRtvBao/Fyze8mn8+jV5mSKt2HIJiXjUYBaZEm+TVvyMPEVkunuM2whxahaQ9PXwYtebBINN1FIigQmDyenAz5JiENazkB4OSLhM1+2rGrUgIgok6/rIgVNL6vl5LBYj0e0DDzQROfdDESorgR646iSqIQQYWQx6TNN91swirNgDN7AG/8KhEyOaVFcCz/h6GLjbwI97qfGxamB1+gpAv8KUHkcQag6U5QlSxEY1aOCh0eo/41BI2tMISaitgUJyNFgJ8RutLSMUKOECasZDPfYBNYHUa0hu8BVFboiBIBEOnujqFKYlFrnOqDflOxA7AYL4qo8Z0wskwRPX6REnl5xR+cN4J5h1FjS75NbhkqDx5G8hMlLHLGI5ZFkUAkZj1+PPkY+ciwSBAyMTlBRKYEcEJwEIf9YMgoTLImPJtrDTVhAOXiebBI9xAyEiWRSWIU2P8ITEzIAyIR30P3I/s1Rbxg2IRalRKG08EaOh+sgoOmSCI7gmpPd3dbsCAyGfsEE0ZKwYNqHSJUyezhi7Tpoa6PESotOHCsSIQwliFcD1pEe3R0KJEhWe3dI5aUwONYEapIVqHGW+zpkdXOqH7RJ4lEvJGlPc4oFQm1stxNDanue7AGm5wPiIyg2KOJhAUPEpmfp6IzoSJUBNPjiyBOA+pFp4SQohyMNiEjmZJAOnwR/TYt0kFxv8tddBCqRhJUIwlkJCPp7/cixkZ7MCTVXETGSQ8P2S+L6ITQQVbBU4vgVinCGkD/O4rMB1uouDmd+pjKCFV7YsjKIBmZeSnC2Oqa2Bw2kRnhy4opEmYR9iARwpfVDp6Gngd5smAPNtEeONBxJnERl62oFumHy7wUYfwre9uJIlzJ2gPflCGiPTp8E2y1SIQcjHzo+SPgAdTANEWGblORxEYgQhLz89MfHHNNV93oWmQVTyTcTMTIiK5NgK1v0sEi+FxlwSZyFRIU0SlBiShoQrx4cSQWjSUuWtDon8Zj+uwJfA3Ofu29GpScPbu0tHSPQEMbNHFwb+lrH5yIMzhHB/g9+sNlB4z61LjmV0mcOuA+FCMXh0YS3bERiPRP4/9XdHZ29nT2Ex9I5C4ZThM4e/3LL78c/mL4i+ud1693dk73079AjmNx82R2dvbhtSezPz65du3nJz+f67qZvXXrwwuz9PZh2pz76NLD6MMbt27dvACuXbtwc2zsUvbChQ9vzvZ0DkxPo/uBgQ8GsOnpoefw8DB+cZtJR6Ox2KVLN25cSmTB7e8//jgx29XVdSPd9UNX31AWayzMhBhTt5ERLIFv/9We2eyoCYVh2Fg3bdP0hlzgggWBwAl4qkzQRLaAi0qCLemcxQBpYUECCUykbFyazlyEV9b3Y6b/m14AjyMygvg95z3f0cTJVyqTOMzfQeputZzr+nx5t5wPUoMINFTDUGM1jqPoeITN3ZcP+NZMIs2l8H1/23UQeeg2ZpDwNOCdqm42uB83tzLqDwLOE1YUMGEsDEXl4iRJX66APtcP+kqnPUDqt3Ee7oQkErZNhJI4gV1VV9dlUiPLVmJhYwdIQdFgsrdtR1HgM3k3iBwiKg/7S9SJWnWEtJyvcITGDIfj2MNt7RlANQ5L/LxNiXx6QCLCLzroUCKbhrGKcy5uVVWluxrLTIgkqTjjLE1TWJkmc11eBZ2+ulttnnkWwTtDJM9NCS9SFMY0jIHjOHZ7dQMhg73Y9b1tawgDX+E1JUMkew1Ta0lZHCNDVaM5Kj7gUTXUI+YPjujYLikQw/PW63V4WnueZ8RGNP8AEWTy6eHSdZgwiQ9IRE55XaWVyG8JyOQNJ6qK8aIjk9QME7esy0ro+G0DZQ8MIvOnROIwNCVlwRTOGJZXd+CmfdQsuZe07VaGyF5R8AGCREhEWSjZRD9GwIhxO1AwcWwYkXE8HA66Tu1AnlHsrU/n8xl36CAaY/75WaTruiLxL+I09EinWgGvy7rehmEOMLahxX1KpKagUo4GWstp6bqlmxzn31ZqHoI81799G9pkCMQ0ZaFpLEAUimvDAjLXG1tI8hkSUiOVj5hPjqYtEAWJUCKHwcPwQHQwaCeOVSNW1SPYwAd2ePJ0bprm3EAE/C5y6bbUwsKnHvE3DY0+rxNTNk0UiLEtqopXbl0HtqBEOEcidVtCJMzVTW7Ksglgja6iyQU1WW62geI4JZYkt3JLnFy3966y3wupL6Uia68Kitd2Ero8w0nU7K9VA3hrTB2IeAbKBDFsNrgdiAh5kMflbDXn0wkmP0Xed51AmxeieUgZRFSLROo6QXn4CzG2ReVvE1aXmHJVmvopN3uE5rYlh0FvWYXVyBboe1mOkYkamj16OsCkQhpOBo82w/2+zBJcVHvUbMkmEWeBqeWQCHrk9eSNAagBTmsjgg/qBOQyLFJHymt9OjWXi3VprDOACkQAuv2934kkTYOA+YPIxqqqCuPHZLlHgfBoCoqD6naFgEntmiGrWjSJvbMsrLJSgYdit9tZuz7G7NqYfdFYikOJuI5i21nblln2eHOT0chISKOxr/u9YuMTXbPbjD5IlBeTyZu3HrUAyosiCKHOp1GnVDyVmmcI5GI1EGnIhEQ+fv5I6+87LFgFSztGjcx8ditBpEYi1g5DjTFuGqmm5besuYv2IUyZtyVwJakTQsAEOxLY7fJ3aH8Zr9wpwd5BkdCBCEYdy9Z9ZmKmuov7hZw92hlUNS2zr5nj7F+/mRCvZrPp7BdTMPuL6S9mAy+foBdOX7zAH5hOX+Af7GPzC3rmD6az59P/5c/3errkb9BRXA2bH2/xdJ1Xk5GRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkf/mOwLoqJUFNCmNAAAAAElFTkSuQmCC", - "description": "Displays historical air quality values as a simplified chart with background. Optionally may display the corresponding latest air quality value.", - "descriptor": { - "type": "timeseries", - "sizeX": 4.5, - "sizeY": 2, - "resources": [], - "templateHtml": "\n\n", - "templateCss": ".legend {\n font-size: 13px;\n line-height: 10px;\n}\n\n.legend table { \n border-spacing: 0px;\n border-collapse: separate;\n}\n\n.mouse-events .flot-overlay {\n cursor: crosshair; \n}\n\n", - "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueChartCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueChartCardWidget.onDataUpdated();\n};\n\nself.onLatestDataUpdated = function() {\n self.ctx.$scope.valueChartCardWidget.onLatestDataUpdated();\n}\n\nself.onEditModeChanged = function() {\n self.ctx.$scope.valueChartCardWidget.onEditModeChanged();\n}\n\nself.onDestroy = function() {\n self.ctx.$scope.valueChartCardWidget.onDestroy();\n}\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '300px',\n previewHeight: '150px',\n embedTitlePanel: true,\n hasAdditionalLatestDataKeys: true,\n defaultDataKeysFunction: function() {\n return [\n { name: 'air', label: 'Air Quality', type: 'timeseries', color: 'rgba(0, 0, 0, 0.87)'}\n ];\n },\n defaultLatestDataKeysFunction: function(configComponent) {\n return [{ name: 'air', label: 'Latest', type: 'timeseries'}];\n }\n };\n}\n", - "settingsSchema": "{}", - "dataKeySettingsSchema": "{}", - "latestDataKeySettingsSchema": "{}", - "settingsDirective": "tb-value-chart-card-widget-settings", - "dataKeySettingsDirective": "", - "latestDataKeySettingsDirective": "", - "hasBasicMode": true, - "basicModeDirective": "tb-value-chart-card-basic-config", - "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]},\"latestDataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Latest\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}]}],\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":null,\"padding\":\"0\",\"settings\":{\"layout\":\"left\",\"autoScale\":true,\"showValue\":true,\"valueFont\":{\"family\":\"Roboto\",\"size\":28,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"32px\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#7CC322\"},{\"from\":50,\"to\":100,\"color\":\"#F89E0D\"},{\"from\":100,\"to\":150,\"color\":\"#F77410\"},{\"from\":150,\"to\":200,\"color\":\"#DE2343\"},{\"from\":200,\"to\":300,\"color\":\"#7B287A\"},{\"from\":300,\"to\":null,\"color\":\"#791541\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,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\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}}},\"title\":\"Air Quality\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":null,\"mobileHeight\":null,\"configMode\":\"basic\",\"actions\":{},\"showTitleIcon\":true,\"titleIcon\":\"mdi:weather-windy\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"iconSize\":\"18px\",\"titleTooltip\":\"\",\"widgetStyle\":{},\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"useDashboardTimewindow\":true,\"decimals\":1,\"titleColor\":\"rgba(0, 0, 0, 0.87)\",\"borderRadius\":null,\"units\":\"US AQI\",\"displayTimewindow\":true,\"timewindow\":{\"hideInterval\":false,\"hideLastInterval\":false,\"hideQuickInterval\":false,\"hideAggregation\":false,\"hideAggInterval\":false,\"hideTimezone\":false,\"selectedTab\":1,\"history\":{\"historyType\":2,\"timewindowMs\":60000,\"interval\":43200000,\"fixedTimewindow\":{\"startTimeMs\":1697382151041,\"endTimeMs\":1697468551041},\"quickInterval\":\"CURRENT_MONTH_SO_FAR\"},\"aggregation\":{\"type\":\"AVG\",\"limit\":25000}},\"timewindowStyle\":{\"showIcon\":false,\"iconSize\":\"24px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":\"rgba(0, 0, 0, 0.38)\",\"displayTypePrefix\":true}}" - }, - "externalId": null, - "tags": [ - "weather", - "environment", - "air" - ] -} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/simple_air_quality_index_chart_card.json b/application/src/main/data/json/system/widget_types/simple_air_quality_index_chart_card.json new file mode 100644 index 0000000000..3e83976e26 --- /dev/null +++ b/application/src/main/data/json/system/widget_types/simple_air_quality_index_chart_card.json @@ -0,0 +1,32 @@ +{ + "fqn": "simple_air_quality_chart_card", + "name": "Simple air quality index chart card", + "deprecated": false, + "image": "data:image/png;base64,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", + "description": "Displays historical air quality index values as a simplified chart. Optionally may display the corresponding latest air quality index value.", + "descriptor": { + "type": "timeseries", + "sizeX": 4.5, + "sizeY": 2, + "resources": [], + "templateHtml": "\n\n", + "templateCss": ".legend {\n font-size: 13px;\n line-height: 10px;\n}\n\n.legend table { \n border-spacing: 0px;\n border-collapse: separate;\n}\n\n.mouse-events .flot-overlay {\n cursor: crosshair; \n}\n\n", + "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueChartCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueChartCardWidget.onDataUpdated();\n};\n\nself.onLatestDataUpdated = function() {\n self.ctx.$scope.valueChartCardWidget.onLatestDataUpdated();\n}\n\nself.onEditModeChanged = function() {\n self.ctx.$scope.valueChartCardWidget.onEditModeChanged();\n}\n\nself.onDestroy = function() {\n self.ctx.$scope.valueChartCardWidget.onDestroy();\n}\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '300px',\n previewHeight: '150px',\n embedTitlePanel: true,\n hasAdditionalLatestDataKeys: true,\n defaultDataKeysFunction: function() {\n return [\n { name: 'air', label: 'Air Quality Index', type: 'timeseries', color: 'rgba(0, 0, 0, 0.87)'}\n ];\n },\n defaultLatestDataKeysFunction: function(configComponent) {\n return [{ name: 'air', label: 'Latest', type: 'timeseries'}];\n }\n };\n}\n", + "settingsSchema": "{}", + "dataKeySettingsSchema": "{}", + "latestDataKeySettingsSchema": "{}", + "settingsDirective": "tb-value-chart-card-widget-settings", + "dataKeySettingsDirective": "", + "latestDataKeySettingsDirective": "", + "hasBasicMode": true, + "basicModeDirective": "tb-value-chart-card-basic-config", + "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality Index\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]},\"latestDataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Latest\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}]}],\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":null,\"padding\":\"0\",\"settings\":{\"layout\":\"left\",\"autoScale\":true,\"showValue\":true,\"valueFont\":{\"family\":\"Roboto\",\"size\":28,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"32px\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#80C32C\"},{\"from\":50,\"to\":100,\"color\":\"#FFA600\"},{\"from\":100,\"to\":150,\"color\":\"#F36900\"},{\"from\":150,\"to\":200,\"color\":\"#D81838\"},{\"from\":200,\"to\":300,\"color\":\"#8D268C\"},{\"from\":300,\"to\":null,\"color\":\"#6F113A\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}}},\"title\":\"Air Quality Index\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":null,\"mobileHeight\":null,\"configMode\":\"basic\",\"actions\":{},\"showTitleIcon\":true,\"titleIcon\":\"mdi:weather-windy\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"iconSize\":\"18px\",\"titleTooltip\":\"\",\"widgetStyle\":{},\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"useDashboardTimewindow\":true,\"decimals\":1,\"titleColor\":\"rgba(0, 0, 0, 0.87)\",\"borderRadius\":null,\"units\":\"AQI\",\"displayTimewindow\":true,\"timewindow\":{\"hideInterval\":false,\"hideLastInterval\":false,\"hideQuickInterval\":false,\"hideAggregation\":false,\"hideAggInterval\":false,\"hideTimezone\":false,\"selectedTab\":1,\"history\":{\"historyType\":2,\"timewindowMs\":60000,\"interval\":43200000,\"fixedTimewindow\":{\"startTimeMs\":1697382151041,\"endTimeMs\":1697468551041},\"quickInterval\":\"CURRENT_MONTH_SO_FAR\"},\"aggregation\":{\"type\":\"AVG\",\"limit\":25000}},\"timewindowStyle\":{\"showIcon\":false,\"iconSize\":\"24px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":\"rgba(0, 0, 0, 0.38)\",\"displayTypePrefix\":true}}" + }, + "externalId": null, + "tags": [ + "weather", + "environment", + "air", + "aqi" + ] +} \ No newline at end of file diff --git a/application/src/main/data/json/system/widget_types/simple_air_quality_index_chart_card_with_background.json b/application/src/main/data/json/system/widget_types/simple_air_quality_index_chart_card_with_background.json new file mode 100644 index 0000000000..4e05bdf267 --- /dev/null +++ b/application/src/main/data/json/system/widget_types/simple_air_quality_index_chart_card_with_background.json @@ -0,0 +1,32 @@ +{ + "fqn": "simple_air_quality_chart_card_with_background", + "name": "Simple air quality index chart card with background", + "deprecated": false, + "image": "data:image/png;base64,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", + "description": "Displays historical air quality index values as a simplified chart with background. Optionally may display the corresponding latest air quality index value.", + "descriptor": { + "type": "timeseries", + "sizeX": 4.5, + "sizeY": 2, + "resources": [], + "templateHtml": "\n\n", + "templateCss": ".legend {\n font-size: 13px;\n line-height: 10px;\n}\n\n.legend table { \n border-spacing: 0px;\n border-collapse: separate;\n}\n\n.mouse-events .flot-overlay {\n cursor: crosshair; \n}\n\n", + "controllerScript": "self.onInit = function() {\n self.ctx.$scope.valueChartCardWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.valueChartCardWidget.onDataUpdated();\n};\n\nself.onLatestDataUpdated = function() {\n self.ctx.$scope.valueChartCardWidget.onLatestDataUpdated();\n}\n\nself.onEditModeChanged = function() {\n self.ctx.$scope.valueChartCardWidget.onEditModeChanged();\n}\n\nself.onDestroy = function() {\n self.ctx.$scope.valueChartCardWidget.onDestroy();\n}\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 1,\n singleEntity: true,\n previewWidth: '300px',\n previewHeight: '150px',\n embedTitlePanel: true,\n hasAdditionalLatestDataKeys: true,\n defaultDataKeysFunction: function() {\n return [\n { name: 'air', label: 'Air Quality Index', type: 'timeseries', color: 'rgba(0, 0, 0, 0.87)'}\n ];\n },\n defaultLatestDataKeysFunction: function(configComponent) {\n return [{ name: 'air', label: 'Latest', type: 'timeseries'}];\n }\n };\n}\n", + "settingsSchema": "{}", + "dataKeySettingsSchema": "{}", + "latestDataKeySettingsSchema": "{}", + "settingsDirective": "tb-value-chart-card-widget-settings", + "dataKeySettingsDirective": "", + "latestDataKeySettingsDirective": "", + "hasBasicMode": true, + "basicModeDirective": "tb-value-chart-card-basic-config", + "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Air Quality Index\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]},\"latestDataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Latest\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"settings\":{},\"_hash\":0.8587686344902596,\"funcBody\":\"var value = prevValue + Math.random() * 100 - 50;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 320) {\\n\\tvalue = 320;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null}]}],\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":null,\"padding\":\"0\",\"settings\":{\"layout\":\"left\",\"autoScale\":true,\"showValue\":true,\"valueFont\":{\"family\":\"Roboto\",\"size\":28,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"32px\"},\"valueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":50,\"color\":\"#7CC322\"},{\"from\":50,\"to\":100,\"color\":\"#F89E0D\"},{\"from\":100,\"to\":150,\"color\":\"#F77410\"},{\"from\":150,\"to\":200,\"color\":\"#DE2343\"},{\"from\":200,\"to\":300,\"color\":\"#7B287A\"},{\"from\":300,\"to\":null,\"color\":\"#791541\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,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\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}}},\"title\":\"Air Quality Index\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":null,\"mobileHeight\":null,\"configMode\":\"basic\",\"actions\":{},\"showTitleIcon\":true,\"titleIcon\":\"mdi:weather-windy\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"iconSize\":\"18px\",\"titleTooltip\":\"\",\"widgetStyle\":{},\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"useDashboardTimewindow\":true,\"decimals\":1,\"titleColor\":\"rgba(0, 0, 0, 0.87)\",\"borderRadius\":null,\"units\":\"AQI\",\"displayTimewindow\":true,\"timewindow\":{\"hideInterval\":false,\"hideLastInterval\":false,\"hideQuickInterval\":false,\"hideAggregation\":false,\"hideAggInterval\":false,\"hideTimezone\":false,\"selectedTab\":1,\"history\":{\"historyType\":2,\"timewindowMs\":60000,\"interval\":43200000,\"fixedTimewindow\":{\"startTimeMs\":1697382151041,\"endTimeMs\":1697468551041},\"quickInterval\":\"CURRENT_MONTH_SO_FAR\"},\"aggregation\":{\"type\":\"AVG\",\"limit\":25000}},\"timewindowStyle\":{\"showIcon\":false,\"iconSize\":\"24px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"400\",\"style\":\"normal\",\"lineHeight\":\"16px\"},\"color\":\"rgba(0, 0, 0, 0.38)\",\"displayTypePrefix\":true}}" + }, + "externalId": null, + "tags": [ + "weather", + "environment", + "air", + "aqi" + ] +} \ No newline at end of file