iobroker.pv-notifications 1.2.18 → 1.2.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -26,21 +26,6 @@ The following adapters are required for full functionality:
26
26
  | **sourceanalytix** | Statistics data (consumption, feed-in, grid power) | ✅ Yes |
27
27
  | **daswetter** or **openweathermap** | Weather forecast for recommendations | ❌ Optional |
28
28
 
29
- ## Installation
30
-
31
- ### Via ioBroker Admin (GitHub)
32
-
33
- ```bash
34
- # In ioBroker Admin under "Adapter" → "Install custom adapter":
35
- https://github.com/sadam6752-tech/ioBroker.pv-notifications
36
- ```
37
-
38
- ### Via ioBroker CLI
39
-
40
- ```bash
41
- iobroker url https://github.com/sadam6752-tech/ioBroker.pv-notifications
42
- ```
43
-
44
29
  ## Configuration
45
30
 
46
31
  ### Telegram
package/io-package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "pv-notifications",
4
- "version": "1.2.18",
4
+ "version": "1.2.20",
5
5
  "titleLang": {
6
6
  "en": "PV Notifications",
7
7
  "de": "PV-Benachrichtigungen",
@@ -29,6 +29,44 @@
29
29
  "zh-cn": "发送 Telegram 通知用于 PV 电池状态"
30
30
  },
31
31
  "news": {
32
+ "1.2.20": {
33
+ "en": "Fix PR#5576: remove unused admin files, reduce info logs to debug, English state names with units, channel objects for statistics/info, button read:false, this.setInterval, translate fallback to English",
34
+ "de": "Fix PR#5576: ungenutzte Admin-Dateien entfernt, Info-Logs auf Debug reduziert, englische State-Namen mit Einheiten, Channel-Objekte fuer statistics/info, button read:false, this.setInterval, translate Fallback auf Englisch",
35
+ "ru": "Fix PR#5576: удалены неиспользуемые файлы admin, info-логи снижены до debug, английские имена states с единицами, channel-объекты для statistics/info, button read:false, this.setInterval, fallback translate на английский",
36
+ "fr": "Fix PR#5576: suppression fichiers admin inutiles, logs info reduits en debug, noms etats anglais avec unites, objets channel pour statistics/info, button read:false, this.setInterval, fallback translate en anglais",
37
+ "it": "Fix PR#5576: rimossi file admin inutilizzati, log info ridotti a debug, nomi stati inglesi con unita, oggetti channel per statistics/info, button read:false, this.setInterval, fallback translate in inglese",
38
+ "es": "Fix PR#5576: eliminados archivos admin no usados, logs info reducidos a debug, nombres estados ingles con unidades, objetos channel para statistics/info, button read:false, this.setInterval, fallback translate a ingles",
39
+ "pl": "Fix PR#5576: usunieto nieuzywane pliki admin, logi info zredukowane do debug, angielskie nazwy stanow z jednostkami, obiekty channel dla statistics/info, button read:false, this.setInterval, fallback translate na angielski",
40
+ "pt": "Fix PR#5576: removidos ficheiros admin nao usados, logs info reduzidos a debug, nomes estados ingles com unidades, objetos channel para statistics/info, button read:false, this.setInterval, fallback translate para ingles",
41
+ "nl": "Fix PR#5576: ongebruikte admin-bestanden verwijderd, info-logs teruggebracht naar debug, Engelse state-namen met eenheden, channel-objecten voor statistics/info, button read:false, this.setInterval, translate fallback naar Engels",
42
+ "zh-cn": "修复 PR#5576:删除未使用的 admin 文件,将 info 日志降级为 debug,英文 state 名称带单位,statistics/info 的 channel 对象,button read:false,this.setInterval,translate 回退到英文"
43
+ },
44
+ "1.2.19": {
45
+ "en": "Added v1.2.18 entry to news section in io-package.json",
46
+ "de": "Eintrag v1.2.18 zur news-Sektion in io-package.json hinzugefügt",
47
+ "ru": "Добавлена запись v1.2.18 в секцию news в io-package.json",
48
+ "pt": "Adicionada entrada v1.2.18 à seção news em io-package.json",
49
+ "nl": "Vermelding v1.2.18 toegevoegd aan news-sectie in io-package.json",
50
+ "fr": "Ajout de l'entrée v1.2.18 à la section news dans io-package.json",
51
+ "it": "Aggiunta voce v1.2.18 alla sezione news in io-package.json",
52
+ "es": "Añadida entrada v1.2.18 a la sección news en io-package.json",
53
+ "pl": "Dodano wpis v1.2.18 do sekcji news w io-package.json",
54
+ "uk": "Додано запис v1.2.18 до секції news в io-package.json",
55
+ "zh-cn": "在 io-package.json 的 news 部分添加了 v1.2.18 条目"
56
+ },
57
+ "1.2.18": {
58
+ "en": "Fix missing await in onBatterySOCChange, null-check in buildTestMessage, safe intermediateSteps parsing, remove dead code",
59
+ "de": "Fehlenden await in onBatterySOCChange behoben, Null-Check in buildTestMessage, sichere intermediateSteps-Verarbeitung, toten Code entfernt",
60
+ "ru": "Исправлен отсутствующий await в onBatterySOCChange, null-проверка в buildTestMessage, безопасный парсинг intermediateSteps, удалён мёртвый код",
61
+ "pt": "Corrigido await ausente em onBatterySOCChange, verificação null em buildTestMessage, análise segura de intermediateSteps, código morto removido",
62
+ "nl": "Ontbrekende await in onBatterySOCChange hersteld, null-check in buildTestMessage, veilige intermediateSteps-verwerking, dode code verwijderd",
63
+ "fr": "Correction du await manquant dans onBatterySOCChange, vérification null dans buildTestMessage, analyse sécurisée des intermediateSteps, code mort supprimé",
64
+ "it": "Corretto await mancante in onBatterySOCChange, controllo null in buildTestMessage, parsing sicuro di intermediateSteps, codice morto rimosso",
65
+ "es": "Corregido await faltante en onBatterySOCChange, verificación null en buildTestMessage, análisis seguro de intermediateSteps, código muerto eliminado",
66
+ "pl": "Naprawiono brakujący await w onBatterySOCChange, sprawdzanie null w buildTestMessage, bezpieczne parsowanie intermediateSteps, usunięto martwy kod",
67
+ "uk": "Виправлено відсутній await в onBatterySOCChange, перевірка null в buildTestMessage, безпечний парсинг intermediateSteps, видалено мертвий код",
68
+ "zh-cn": "修复 onBatterySOCChange 中缺少的 await,buildTestMessage 中的 null 检查,安全的 intermediateSteps 解析,删除死代码"
69
+ },
32
70
  "1.2.17": {
33
71
  "en": "Removed old versions from common.news to comply with W1032 (maximum 7 versions)",
34
72
  "de": "Alte Versionen aus common.news entfernt zur Einhaltung von W1032 (maximal 7 Versionen)",
@@ -80,45 +118,6 @@
80
118
  "pl": "Poprawiono formatowanie wiadomości pośrednich: Usunięto dodatkowy podział wiersza przed danymi pogodowymi",
81
119
  "uk": "Виправлено форматування проміжних повідомлень: видалено додатковий перенос рядка перед даними погоди",
82
120
  "zh-cn": "修复中间消息格式:删除天气数据前的额外换行符"
83
- },
84
- "1.2.13": {
85
- "en": "Added current production (W) to test message, daily statistics and intermediate messages with improved layout",
86
- "de": "Aktuelle Produktion (W) zu Test-Nachricht, Tagesstatistik und Zwischenmeldungen mit verbessertem Layout hinzugefügt",
87
- "ru": "Добавлена текущая выработка (Вт) в тестовое сообщение, дневную статистику и промежуточные уведомления с улучшенным макетом",
88
- "pt": "Adicionada produção atual (W) à mensagem de teste, estatísticas diárias e mensagens intermediárias com layout aprimorado",
89
- "nl": "Huidige productie (W) toegevoegd aan testbericht, dagelijkse statistieken en intermediate-berichten met verbeterde lay-out",
90
- "fr": "Ajout de la production actuelle (W) au message de test, statistiques quotidiennes et messages intermédiaires avec une mise en page améliorée",
91
- "it": "Aggiunta produzione attuale (W) al messaggio di test, statistiche giornaliere e messaggi intermedi con layout migliorato",
92
- "es": "Agregada producción actual (W) al mensaje de prueba, estadísticas diarias y mensajes intermedios con diseño mejorado",
93
- "pl": "Dodano aktualną produkcję (W) do wiadomości testowej, statystyk dziennych i wiadomości pośrednich z ulepszonym układem",
94
- "uk": "Додано поточне виробництво (Вт) до тестового повідомлення, денної статистики та проміжних повідомлень з покращеним макетом",
95
- "zh-cn": "已添加当前发电量(W)到测试消息、每日统计和中间消息,并改进了布局"
96
- },
97
- "1.2.12": {
98
- "en": "README.md Changelog updated for repository checker (E6006 fix)",
99
- "de": "README.md Changelog für Repository Checker aktualisiert (E6006 Fix)",
100
- "ru": "Обновлен Changelog в README.md для проверки репозитория (исправление E6006)",
101
- "pt": "Changelog do README.md atualizado para verificação do repositório (correção E6006)",
102
- "nl": "README.md Changelog bijgewerkt voor repository checker (E6006 fix)",
103
- "fr": "Changelog README.md mis à jour pour la vérification du dépôt (correction E6006)",
104
- "it": "Changelog di README.md aggiornato per il controllo del repository (correzione E6006)",
105
- "es": "Changelog de README.md actualizado para la verificación del repositorio (corrección E6006)",
106
- "pl": "Changelog w README.md zaktualizowany dla sprawdzania repozytorium (poprawka E6006)",
107
- "uk": "Changelog у README.md оновлено для перевірки репозиторію (виправлення E6006)",
108
- "zh-cn": "已更新 README.md Changelog 用于仓库检查器(E6006 修复)"
109
- },
110
- "1.2.11": {
111
- "en": "Fixed daily statistics: self-consumption cannot be negative (Math.max), added weather today to daily stats message",
112
- "de": "Tagesstatistik fixiert: Eigenverbrauch kann nicht negativ sein (Math.max), Wetter heute zur Tagesstatistik hinzugefügt",
113
- "ru": "Исправлена дневная статистика: собственное потребление не может быть отрицательным (Math.max), добавлена погода сегодня в дневную статистику",
114
- "pt": "Estatísticas diárias corrigidas: autoconsumo não pode ser negativo (Math.max), adicionado clima de hoje às estatísticas diárias",
115
- "nl": "Dagelijkse statistieken hersteld: eigen verbruik kan niet negatief zijn (Math.max), weer vandaag toegevoegd aan dagelijkse statistieken",
116
- "fr": "Statistiques quotidiennes corrigées : l'autoconsommation ne peut pas être négative (Math.max), météo d'aujourd'hui ajoutée aux statistiques quotidiennes",
117
- "it": "Statistiche giornaliere corrette: l'autoconsumo non può essere negativo (Math.max), aggiunto meteo di oggi alle statistiche giornaliere",
118
- "es": "Estadísticas diarias corregidas: el autoconsumo no puede ser negativo (Math.max), agregado clima de hoy a las estadísticas diarias",
119
- "pl": "Naprawiono statystyki dzienne: zużycie własne nie może być ujemne (Math.max), dodano pogodę dzisiaj do statystyk dziennych",
120
- "uk": "Виправлено денну статистику: власне споживання не може бути від'ємним (Math.max), додано погоду сьогодні до денної статистики",
121
- "zh-cn": "已修复每日统计:自用电量不能为负数(Math.max),已添加今日天气到每日统计"
122
121
  }
123
122
  },
124
123
  "authors": [
@@ -238,7 +237,7 @@
238
237
  "name": "Send test notification",
239
238
  "type": "boolean",
240
239
  "role": "button",
241
- "read": true,
240
+ "read": false,
242
241
  "write": true,
243
242
  "def": false
244
243
  }
package/main.js CHANGED
@@ -79,13 +79,13 @@ class PvNotifications extends utils.Adapter {
79
79
  * Is called when databases are connected and adapter received configuration.
80
80
  */
81
81
  async onReady() {
82
- this.log.info('onReady is executing...');
82
+ this.log.debug('onReady is executing...');
83
83
 
84
84
  // Reset connection indicator
85
85
  await this.setState('info.connection', false, true);
86
86
 
87
87
  // Load system language
88
- this.log.info('Loading system language...');
88
+ this.log.debug('Loading system language...');
89
89
  await this.loadSystemLanguage();
90
90
 
91
91
  this.log.info('PV Notifications Adapter started');
@@ -95,13 +95,13 @@ class PvNotifications extends utils.Adapter {
95
95
  this.config.weatherEnabled === true &&
96
96
  (this.config.weatherInIntermediate === undefined || this.config.weatherInIntermediate === null)
97
97
  ) {
98
- this.log.info('Migration: Setting weatherInIntermediate to true (default)');
98
+ this.log.debug('Migration: Setting weatherInIntermediate to true (default)');
99
99
  }
100
100
  if (
101
101
  this.config.weatherEnabled === true &&
102
102
  (this.config.weatherInDailyStats === undefined || this.config.weatherInDailyStats === null)
103
103
  ) {
104
- this.log.info('Migration: Setting weatherInDailyStats to true (default)');
104
+ this.log.debug('Migration: Setting weatherInDailyStats to true (default)');
105
105
  }
106
106
 
107
107
  // Log configuration
@@ -109,124 +109,134 @@ class PvNotifications extends utils.Adapter {
109
109
  `Configuration: Full=${this.config.thresholdFull}%, Empty=${this.config.thresholdEmpty}%, Intermediate=[${this.config.intermediateSteps}]`,
110
110
  );
111
111
 
112
+ // Create channel objects
113
+ await this.setObjectNotExists('statistics', { type: 'channel', common: { name: 'Statistics' }, native: {} });
114
+ await this.setObjectNotExists('info', { type: 'channel', common: { name: 'Info' }, native: {} });
115
+
112
116
  // Create statistics states
113
- this.log.info('Creating statistics states...');
117
+ this.log.debug('Creating statistics states...');
114
118
  await this.setObjectNotExists('statistics.fullCyclesToday', {
115
119
  type: 'state',
116
- common: { name: 'Vollzyklen heute', type: 'number', role: 'value', read: true, write: false, def: 0 },
120
+ common: { name: 'Full cycles today', type: 'number', role: 'value', read: true, write: false, def: 0 },
117
121
  });
118
122
  await this.setObjectNotExists('statistics.emptyCyclesToday', {
119
123
  type: 'state',
120
- common: { name: 'Leerzyklen heute', type: 'number', role: 'value', read: true, write: false, def: 0 },
124
+ common: { name: 'Empty cycles today', type: 'number', role: 'value', read: true, write: false, def: 0 },
121
125
  });
122
126
  await this.setObjectNotExists('statistics.maxSOCToday', {
123
127
  type: 'state',
124
- common: { name: 'Max SOC heute', type: 'number', role: 'value', read: true, write: false, def: 0 },
128
+ common: { name: 'Max SOC today', type: 'number', role: 'value.battery', read: true, write: false, def: 0, unit: '%' },
125
129
  });
126
130
  await this.setObjectNotExists('statistics.minSOCToday', {
127
131
  type: 'state',
128
- common: { name: 'Min SOC heute', type: 'number', role: 'value', read: true, write: false, def: 100 },
132
+ common: { name: 'Min SOC today', type: 'number', role: 'value.battery', read: true, write: false, def: 100, unit: '%' },
129
133
  });
130
134
  await this.setObjectNotExists('statistics.fullCyclesWeek', {
131
135
  type: 'state',
132
- common: { name: 'Vollzyklen diese Woche', type: 'number', role: 'value', read: true, write: false, def: 0 },
136
+ common: { name: 'Full cycles this week', type: 'number', role: 'value', read: true, write: false, def: 0 },
133
137
  });
134
138
  await this.setObjectNotExists('statistics.emptyCyclesWeek', {
135
139
  type: 'state',
136
- common: { name: 'Leerzyklen diese Woche', type: 'number', role: 'value', read: true, write: false, def: 0 },
140
+ common: { name: 'Empty cycles this week', type: 'number', role: 'value', read: true, write: false, def: 0 },
137
141
  });
138
142
  await this.setObjectNotExists('statistics.currentSOC', {
139
143
  type: 'state',
140
- common: { name: 'Aktueller SOC', type: 'number', role: 'value', read: true, write: false, def: 0 },
144
+ common: { name: 'Current SOC', type: 'number', role: 'value.battery', read: true, write: false, def: 0, unit: '%' },
141
145
  });
142
146
  await this.setObjectNotExists('statistics.currentEnergyKWh', {
143
147
  type: 'state',
144
148
  common: {
145
- name: 'Aktuelle Energie in kWh',
149
+ name: 'Current energy',
146
150
  type: 'number',
147
- role: 'value',
151
+ role: 'value.energy',
148
152
  read: true,
149
153
  write: false,
150
154
  def: 0,
155
+ unit: 'kWh',
151
156
  },
152
157
  });
153
158
  await this.setObjectNotExists('statistics.currentPower', {
154
159
  type: 'state',
155
- common: { name: 'Aktuelle Leistung W', type: 'number', role: 'value', read: true, write: false, def: 0 },
160
+ common: { name: 'Current power', type: 'number', role: 'value.power', read: true, write: false, def: 0, unit: 'W' },
156
161
  });
157
162
  await this.setObjectNotExists('statistics.currentTotalProduction', {
158
163
  type: 'state',
159
164
  common: {
160
- name: 'Gesamtproduktion heute kWh',
165
+ name: 'Total production today',
161
166
  type: 'number',
162
- role: 'value',
167
+ role: 'value.energy',
163
168
  read: true,
164
169
  write: false,
165
170
  def: 0,
171
+ unit: 'kWh',
166
172
  },
167
173
  });
168
174
  await this.setObjectNotExists('statistics.currentFeedIn', {
169
175
  type: 'state',
170
- common: { name: 'Einspeisung heute kWh', type: 'number', role: 'value', read: true, write: false, def: 0 },
176
+ common: { name: 'Feed-in today', type: 'number', role: 'value.energy', read: true, write: false, def: 0, unit: 'kWh' },
171
177
  });
172
178
  await this.setObjectNotExists('statistics.currentConsumption', {
173
179
  type: 'state',
174
- common: { name: 'Verbrauch heute kWh', type: 'number', role: 'value', read: true, write: false, def: 0 },
180
+ common: { name: 'Consumption today', type: 'number', role: 'value.energy', read: true, write: false, def: 0, unit: 'kWh' },
175
181
  });
176
182
  await this.setObjectNotExists('statistics.currentGridPower', {
177
183
  type: 'state',
178
- common: { name: 'Netzbezug heute kWh', type: 'number', role: 'value', read: true, write: false, def: 0 },
184
+ common: { name: 'Grid power today', type: 'number', role: 'value.energy', read: true, write: false, def: 0, unit: 'kWh' },
179
185
  });
180
186
 
181
187
  // States für letzte Monats-/Wochenstatistik
182
188
  await this.setObjectNotExists('statistics.lastMonthProduction', {
183
189
  type: 'state',
184
190
  common: {
185
- name: 'Produktion letzter Monat',
191
+ name: 'Production last month',
186
192
  type: 'number',
187
- role: 'value',
193
+ role: 'value.energy',
188
194
  read: true,
189
195
  write: false,
190
196
  def: 0,
197
+ unit: 'kWh',
191
198
  },
192
199
  });
193
200
  await this.setObjectNotExists('statistics.lastMonthConsumption', {
194
201
  type: 'state',
195
202
  common: {
196
- name: 'Verbrauch letzter Monat',
203
+ name: 'Consumption last month',
197
204
  type: 'number',
198
- role: 'value',
205
+ role: 'value.energy',
199
206
  read: true,
200
207
  write: false,
201
208
  def: 0,
209
+ unit: 'kWh',
202
210
  },
203
211
  });
204
212
  await this.setObjectNotExists('statistics.lastMonthFeedIn', {
205
213
  type: 'state',
206
214
  common: {
207
- name: 'Einspeisung letzter Monat',
215
+ name: 'Feed-in last month',
208
216
  type: 'number',
209
- role: 'value',
217
+ role: 'value.energy',
210
218
  read: true,
211
219
  write: false,
212
220
  def: 0,
221
+ unit: 'kWh',
213
222
  },
214
223
  });
215
224
  await this.setObjectNotExists('statistics.lastMonthGridPower', {
216
225
  type: 'state',
217
226
  common: {
218
- name: 'Netzbezug letzter Monat',
227
+ name: 'Grid power last month',
219
228
  type: 'number',
220
- role: 'value',
229
+ role: 'value.energy',
221
230
  read: true,
222
231
  write: false,
223
232
  def: 0,
233
+ unit: 'kWh',
224
234
  },
225
235
  });
226
236
  await this.setObjectNotExists('statistics.lastMonthFullCycles', {
227
237
  type: 'state',
228
238
  common: {
229
- name: 'Vollzyklen letzter Monat',
239
+ name: 'Full cycles last month',
230
240
  type: 'number',
231
241
  role: 'value',
232
242
  read: true,
@@ -237,7 +247,7 @@ class PvNotifications extends utils.Adapter {
237
247
  await this.setObjectNotExists('statistics.lastMonthEmptyCycles', {
238
248
  type: 'state',
239
249
  common: {
240
- name: 'Leerzyklen letzter Monat',
250
+ name: 'Empty cycles last month',
241
251
  type: 'number',
242
252
  role: 'value',
243
253
  read: true,
@@ -248,37 +258,39 @@ class PvNotifications extends utils.Adapter {
248
258
  await this.setObjectNotExists('statistics.lastWeekProduction', {
249
259
  type: 'state',
250
260
  common: {
251
- name: 'Produktion letzte Woche',
261
+ name: 'Production last week',
252
262
  type: 'number',
253
- role: 'value',
263
+ role: 'value.energy',
254
264
  read: true,
255
265
  write: false,
256
266
  def: 0,
267
+ unit: 'kWh',
257
268
  },
258
269
  });
259
270
  await this.setObjectNotExists('statistics.lastWeekConsumption', {
260
271
  type: 'state',
261
- common: { name: 'Verbrauch letzte Woche', type: 'number', role: 'value', read: true, write: false, def: 0 },
272
+ common: { name: 'Consumption last week', type: 'number', role: 'value.energy', read: true, write: false, def: 0, unit: 'kWh' },
262
273
  });
263
274
  await this.setObjectNotExists('statistics.lastWeekFeedIn', {
264
275
  type: 'state',
265
276
  common: {
266
- name: 'Einspeisung letzte Woche',
277
+ name: 'Feed-in last week',
267
278
  type: 'number',
268
- role: 'value',
279
+ role: 'value.energy',
269
280
  read: true,
270
281
  write: false,
271
282
  def: 0,
283
+ unit: 'kWh',
272
284
  },
273
285
  });
274
286
  await this.setObjectNotExists('statistics.lastWeekGridPower', {
275
287
  type: 'state',
276
- common: { name: 'Netzbezug letzte Woche', type: 'number', role: 'value', read: true, write: false, def: 0 },
288
+ common: { name: 'Grid power last week', type: 'number', role: 'value.energy', read: true, write: false, def: 0, unit: 'kWh' },
277
289
  });
278
290
  await this.setObjectNotExists('statistics.lastWeekFullCycles', {
279
291
  type: 'state',
280
292
  common: {
281
- name: 'Vollzyklen letzte Woche',
293
+ name: 'Full cycles last week',
282
294
  type: 'number',
283
295
  role: 'value',
284
296
  read: true,
@@ -289,7 +301,7 @@ class PvNotifications extends utils.Adapter {
289
301
  await this.setObjectNotExists('statistics.lastWeekEmptyCycles', {
290
302
  type: 'state',
291
303
  common: {
292
- name: 'Leerzyklen letzte Woche',
304
+ name: 'Empty cycles last week',
293
305
  type: 'number',
294
306
  role: 'value',
295
307
  read: true,
@@ -302,10 +314,10 @@ class PvNotifications extends utils.Adapter {
302
314
  await this.setObjectNotExists('testButton', {
303
315
  type: 'state',
304
316
  common: {
305
- name: 'Test-Benachrichtigung senden',
317
+ name: 'Send test notification',
306
318
  type: 'boolean',
307
319
  role: 'button',
308
- read: true,
320
+ read: false,
309
321
  write: true,
310
322
  def: false,
311
323
  },
@@ -313,7 +325,7 @@ class PvNotifications extends utils.Adapter {
313
325
 
314
326
  // Explicitly subscribe (for js-controller 7+)
315
327
  this.subscribeStates('testButton');
316
- this.log.info('Subscription for testButton created');
328
+ this.log.debug('Subscription for testButton created');
317
329
 
318
330
  await this.setObjectNotExists('info.connection', {
319
331
  type: 'state',
@@ -331,7 +343,7 @@ class PvNotifications extends utils.Adapter {
331
343
  if (this.config.batterySOC) {
332
344
  // Use subscribeForeignStates for external states
333
345
  this.subscribeForeignStates(this.config.batterySOC);
334
- this.log.info(`Subscription for ${this.config.batterySOC} created (foreign)`);
346
+ this.log.debug(`Subscription for ${this.config.batterySOC} created (foreign)`);
335
347
  }
336
348
 
337
349
  // Create subscriptions for all data points
@@ -361,7 +373,7 @@ class PvNotifications extends utils.Adapter {
361
373
 
362
374
  // Re-subscribe all states after all subscriptions
363
375
  this.subscribeStates('*');
364
- this.log.info('All states subscribed (*)');
376
+ this.log.debug('All states subscribed (*)');
365
377
 
366
378
  // Start scheduled tasks
367
379
  this.startScheduledTasks();
@@ -378,7 +390,7 @@ class PvNotifications extends utils.Adapter {
378
390
  // Signal that adapter is ready
379
391
  this.setState('info.connection', true, true);
380
392
  this.log.info('PV Notifications Adapter is ready');
381
- this.log.info(`Adapter namespace: ${this.namespace}`);
393
+ this.log.debug(`Adapter namespace: ${this.namespace}`);
382
394
  }
383
395
 
384
396
  /**
@@ -469,7 +481,7 @@ class PvNotifications extends utils.Adapter {
469
481
  this.stats.lastMonthEmptyCycles =
470
482
  lastMonthEmptyCycles && lastMonthEmptyCycles.val !== null ? lastMonthEmptyCycles.val : 0;
471
483
 
472
- this.log.info('Statistics loaded from states');
484
+ this.log.debug('Statistics loaded from states');
473
485
  } catch (e) {
474
486
  this.log.error(`Error loading statistics: ${e.message}`);
475
487
  }
@@ -480,14 +492,14 @@ class PvNotifications extends utils.Adapter {
480
492
  */
481
493
  async refreshCurrentValues() {
482
494
  try {
483
- this.log.info('Refreshing current values...');
495
+ this.log.debug('Refreshing current values...');
484
496
 
485
497
  // Read and process SOC (using getForeignStateAsync for external states)
486
498
  if (this.config.batterySOC) {
487
- this.log.info(`Reading SOC from ${this.config.batterySOC}...`);
499
+ this.log.debug(`Reading SOC from ${this.config.batterySOC}...`);
488
500
  const socState = await this.getForeignStateAsync(this.config.batterySOC);
489
501
  if (socState && socState.val !== null) {
490
- this.log.info(`SOC read: ${socState.val}%`);
502
+ this.log.debug(`SOC read: ${socState.val}%`);
491
503
  this.onBatterySOCChange(socState.val);
492
504
  } else {
493
505
  this.log.warn('SOC state is null or undefined');
@@ -512,7 +524,7 @@ class PvNotifications extends utils.Adapter {
512
524
  }
513
525
  }
514
526
  }
515
- this.log.info('Current values updated');
527
+ this.log.debug('Current values updated');
516
528
  } catch (e) {
517
529
  this.log.error(`Error updating values: ${e.message}`);
518
530
  }
@@ -561,8 +573,8 @@ class PvNotifications extends utils.Adapter {
561
573
  // Only when set to true and not already running
562
574
  if (state.val === true && !this.status.testMessageRunning) {
563
575
  this.status.testMessageRunning = true; // Set flag
564
- this.log.info(`Test button state received: ${id}, val=${state.val}`);
565
- this.log.info('Test button was pressed');
576
+ this.log.debug(`Test button state received: ${id}, val=${state.val}`);
577
+ this.log.debug('Test button was pressed');
566
578
  await this.sendTestMessage();
567
579
  // Reset state
568
580
  await this.setStateAsync('testButton', false, true);
@@ -720,7 +732,7 @@ class PvNotifications extends utils.Adapter {
720
732
  this.sendTelegram(message);
721
733
  this.status.intermediateNotified.push(step);
722
734
  this.status.lastNotification.intermediate = Date.now();
723
- this.log.info(`Intermediate ${step}% - Telegram gesendet`);
735
+ this.log.info(`Intermediate ${step}% - Telegram sent`);
724
736
  }
725
737
  break;
726
738
  }
@@ -846,7 +858,7 @@ class PvNotifications extends utils.Adapter {
846
858
  if (result && result.error) {
847
859
  this.log.error(`Telegram error: ${result.error}`);
848
860
  } else {
849
- this.log.info(fullMessage);
861
+ this.log.debug(fullMessage);
850
862
  this.log.info(`Telegram sent successfully to: ${usersList.join(', ')}`);
851
863
  }
852
864
  },
@@ -1087,12 +1099,8 @@ class PvNotifications extends utils.Adapter {
1087
1099
  // Einheitlicher Status-Text für alle Intermediate-Stufen
1088
1100
  const statusText =
1089
1101
  direction === 'up'
1090
- ? this.systemLang === 'ru'
1091
- ? '✅ Батарея заряжается'
1092
- : '✅ Battery charging'
1093
- : this.systemLang === 'ru'
1094
- ? '⚠️ Батарея разряжается'
1095
- : '⚠️ Battery discharging';
1102
+ ? this.translate('Battery charging')
1103
+ : this.translate('Battery discharging');
1096
1104
 
1097
1105
  // Einheitliche Nachricht für alle Stufen (20, 40, 60, 80)
1098
1106
  const batteryAt = this.translate('Battery at');
@@ -1143,7 +1151,7 @@ ${statusText}
1143
1151
  if (weatherTodayText || weatherTodayTemp) {
1144
1152
  const weatherDesc = weatherTodayText ? this.getWeatherDescription(weatherTodayText) : '🌡️';
1145
1153
  message += `\n🌤️ ${this.translate('Weather today')}: ${weatherDesc}${todayTempText}`;
1146
- this.log.info(`Weather today added to intermediate message: ${weatherDesc}${todayTempText}`);
1154
+ this.log.debug(`Weather today added to intermediate message: ${weatherDesc}${todayTempText}`);
1147
1155
  }
1148
1156
  }
1149
1157
 
@@ -1173,7 +1181,7 @@ ${statusText}
1173
1181
  if (weatherText) {
1174
1182
  const weatherDesc = this.getWeatherDescription(weatherText);
1175
1183
  message += `\n🌤️ ${this.translate('Weather tomorrow')}: ${weatherDesc}${tempText}`;
1176
- this.log.info(`Weather tomorrow added to intermediate message: ${weatherDesc}${tempText}`);
1184
+ this.log.debug(`Weather tomorrow added to intermediate message: ${weatherDesc}${tempText}`);
1177
1185
  }
1178
1186
  }
1179
1187
  } catch (e) {
@@ -1481,7 +1489,7 @@ ${statusText}
1481
1489
  */
1482
1490
  startScheduledTasks() {
1483
1491
  // Check every minute
1484
- this.scheduledInterval = setInterval(() => {
1492
+ this.scheduledInterval = this.setInterval(() => {
1485
1493
  const now = new Date();
1486
1494
  const hours = now.getHours();
1487
1495
  const minutes = now.getMinutes();
@@ -1820,12 +1828,27 @@ ${statusText}
1820
1828
  en: 'If there are many cycles, check battery settings',
1821
1829
  ru: 'При большом количестве циклов проверьте настройки батареи',
1822
1830
  },
1831
+ 'Battery charging': {
1832
+ de: '✅ Batterie lädt',
1833
+ en: '✅ Battery charging',
1834
+ ru: '✅ Батарея заряжается',
1835
+ },
1836
+ 'Battery discharging': {
1837
+ de: '⚠️ Batterie entlädt',
1838
+ en: '⚠️ Battery discharging',
1839
+ ru: '⚠️ Батарея разряжается',
1840
+ },
1841
+ 'Production last week': {
1842
+ de: 'Produktion letzte Woche',
1843
+ en: 'Production last week',
1844
+ ru: 'Производство на прошлой неделе',
1845
+ },
1823
1846
  };
1824
1847
 
1825
1848
  if (translations[key] && translations[key][this.systemLang]) {
1826
1849
  return translations[key][this.systemLang];
1827
1850
  }
1828
- return (translations[key] && translations[key]['de']) || key;
1851
+ return (translations[key] && translations[key]['en']) || key;
1829
1852
  }
1830
1853
 
1831
1854
  /**
@@ -1984,7 +2007,7 @@ ${statusText}
1984
2007
 
1985
2008
  // Clear interval timer
1986
2009
  if (this.scheduledInterval) {
1987
- clearInterval(this.scheduledInterval);
2010
+ this.clearInterval(this.scheduledInterval);
1988
2011
  this.scheduledInterval = null;
1989
2012
  }
1990
2013
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.pv-notifications",
3
- "version": "1.2.18",
3
+ "version": "1.2.20",
4
4
  "description": "PV-Anlage Batterie-Status Telegram Benachrichtigungen",
5
5
  "author": {
6
6
  "name": "Alex1808 via LLM: Qwen",
@@ -53,7 +53,7 @@
53
53
  "@iobroker/adapter-dev": "^1.5.0",
54
54
  "@iobroker/eslint-config": "^2.2.0",
55
55
  "@iobroker/testing": "^5.2.2",
56
- "@types/node": "^25.3.3",
56
+ "@types/node": "^25.5.0",
57
57
  "typescript": "~5.9.3"
58
58
  },
59
59
  "bugs": {
Binary file
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="800" height="800">
3
- <path d="M0 0 C1.69627631 -0.00706827 3.39254633 -0.01581709 5.08880615 -0.02610779 C9.67162253 -0.04851139 14.25409207 -0.04568304 18.8369422 -0.03678632 C22.67368324 -0.03165684 26.51036022 -0.03898495 30.34709466 -0.04625839 C39.40430555 -0.06322921 48.46134785 -0.05972056 57.51855469 -0.04296875 C66.83791668 -0.02605406 76.15681002 -0.04187939 85.47612083 -0.07419163 C93.50025787 -0.1009511 101.5242496 -0.10814629 109.54842675 -0.09967655 C114.33083063 -0.09476537 119.11295278 -0.09686428 123.89532089 -0.11746407 C128.39521896 -0.13592112 132.89444716 -0.12974114 137.39431 -0.10526466 C139.03730822 -0.10028819 140.68035838 -0.10366347 142.32331467 -0.11641312 C154.81802708 -0.20563759 165.92523628 1.50250915 175.33251953 10.51782227 C182.68133799 18.98208638 185.38632038 27.93377625 185.36772156 38.94482422 C185.37422183 39.75580753 185.3807221 40.56679085 185.38741934 41.40234941 C185.40669006 44.10884228 185.41197901 46.81517487 185.41723633 49.52172852 C185.42815825 51.48013298 185.43991413 53.43853293 185.45243359 55.39692783 C185.48405248 60.75204897 185.50321276 66.10715125 185.5200038 71.46233678 C185.53987321 77.19163325 185.57050476 82.92087451 185.59939575 88.65013123 C185.65948597 101.04239896 185.70373152 113.43469291 185.74432755 125.82703781 C185.76954516 133.51085128 185.79834704 141.19464904 185.82748413 148.87844849 C186.07312553 214.52923078 186.2135095 280.18086118 185.92744178 345.83171427 C185.90056077 352.15228757 185.88312777 358.47284265 185.86947632 364.79345703 C185.85255977 372.41501646 185.82094147 380.03634266 185.76968026 387.65775162 C185.74410035 391.48420096 185.72412132 395.31042147 185.72101212 399.13696098 C185.71728296 403.24138946 185.68242974 407.34496591 185.64428711 411.44921875 C185.64774989 412.62605728 185.65121267 413.80289581 185.65478039 415.01539612 C185.48450699 427.22576822 181.75780914 436.30467887 173.52783203 445.21704102 C164.17733975 454.18725012 152.19036108 454.11669591 140.03564453 454.05102539 C138.33759972 454.0564553 136.63955962 454.06358281 134.94152832 454.07226562 C130.35882365 454.09039868 125.77648184 454.08347315 121.19377136 454.07074928 C116.38096187 454.0605694 111.5681819 454.07002874 106.75537109 454.07629395 C98.67556219 454.08355589 90.59589989 454.07402089 82.51611328 454.05493164 C73.19619624 454.03316571 63.8766293 454.04021811 54.55672073 454.06223726 C46.53173466 454.08043277 38.50685353 454.08292934 30.48185349 454.07248259 C25.69898496 454.06627043 20.9162806 454.06534897 16.13342285 454.07862854 C11.63522585 454.09024705 7.13747697 454.08205261 2.639328 454.05905151 C0.9959131 454.05379629 -0.64754001 454.05522308 -2.29093933 454.06410217 C-15.59157092 454.12929752 -25.86045871 452.54203183 -35.75341797 442.96313477 C-45.03118143 432.54658445 -45.21322062 420.99896032 -45.17817688 407.71890259 C-45.18119938 406.09807674 -45.18508935 404.47725232 -45.18976945 402.85643041 C-45.20004551 398.41296817 -45.19786862 393.96958665 -45.19358885 389.5261178 C-45.19112093 384.7298308 -45.20013662 379.93356321 -45.20762634 375.13728333 C-45.22037346 365.7449171 -45.22216702 356.35257946 -45.21982608 346.96020605 C-45.21804279 339.32556275 -45.21979279 331.69092812 -45.22405052 324.05628586 C-45.22464571 322.96954004 -45.2252409 321.88279422 -45.22585412 320.76311671 C-45.22706588 318.55536529 -45.22828001 316.34761388 -45.2294965 314.13986246 C-45.24037207 293.43711679 -45.23820945 272.7343874 -45.23211166 252.03164081 C-45.22694236 233.09519527 -45.23819827 214.15880117 -45.25720987 195.22236581 C-45.2765851 175.77454597 -45.28484484 156.32675047 -45.28108662 136.87892091 C-45.27917412 125.96200453 -45.28166698 115.04513193 -45.29580116 104.12822342 C-45.30771188 94.83466819 -45.30912328 85.5411837 -45.297011 76.24762751 C-45.2911202 71.50716331 -45.29002848 66.76682851 -45.3020134 62.02637291 C-45.31286479 57.68376016 -45.30977767 53.34138499 -45.29575171 48.99878339 C-45.29310275 47.43088739 -45.2954776 45.86297282 -45.30348758 44.29509504 C-45.36673669 30.98711988 -43.8113572 20.85605921 -34.91748047 10.53344727 C-24.82998643 0.7808078 -13.31277852 -0.05858743 0 0 Z " fill="#38E053" transform="translate(329.91748046875,174.466552734375)"/>
4
- <path d="M0 0 C0.89341095 -0.00524185 1.7868219 -0.0104837 2.70730591 -0.0158844 C4.58464526 -0.02226587 6.46202481 -0.02101829 8.33935547 -0.01245117 C11.18140293 -0.00394787 14.02143188 -0.03274593 16.86328125 -0.06445312 C28.59470039 -0.11008439 39.77965151 0.13325936 48.8203125 8.65234375 C53.47309475 14.17752267 56.45984562 20.29436393 56.41796875 27.5390625 C56.41474609 28.52197266 56.41152344 29.50488281 56.40820312 30.51757812 C56.39982422 31.54173828 56.39144531 32.56589844 56.3828125 33.62109375 C56.37830078 34.65685547 56.37378906 35.69261719 56.36914062 36.75976562 C56.3573526 39.31776641 56.34089765 41.87565108 56.3203125 44.43359375 C57.24753868 44.41693916 57.24753868 44.41693916 58.1934967 44.39994812 C64.69989384 44.28825816 71.20601335 44.2134779 77.71313477 44.15893555 C80.13284387 44.13398345 82.55247912 44.10000936 84.97192383 44.05639648 C106.01853989 43.68685251 122.6139154 45.32939967 138.69189453 60.34106445 C143.98434555 65.50169739 148.06049492 70.81396418 151.3203125 77.43359375 C151.78179688 78.36945313 152.24328125 79.3053125 152.71875 80.26953125 C158.38376382 92.74565994 158.61617027 105.6849014 158.58100891 119.15744019 C158.58403519 120.816141 158.58792705 122.47484042 158.59260148 124.13353741 C158.60282871 128.65866371 158.60071321 133.18371032 158.59642088 137.70884299 C158.59394404 142.60193456 158.60297964 147.49500742 158.61045837 152.38809204 C158.62318056 161.96125823 158.62500219 171.53439634 158.62265811 181.10756956 C158.62087212 188.89174515 158.62263061 196.67591225 158.62688255 204.46008682 C158.62747774 205.56968983 158.62807293 206.67929283 158.62868616 207.82252017 C158.62989796 210.07696826 158.63111209 212.33141635 158.63232853 214.58586444 C158.64319438 235.70797256 158.64104602 256.83006471 158.63494369 277.95217372 C158.62977461 297.25674844 158.64103146 316.5612727 158.66004191 335.86583744 C158.6794337 355.71047397 158.687674 375.55508664 158.68391865 395.39973271 C158.68200875 406.53191548 158.68447372 417.6640553 158.69863319 428.79623032 C158.710565 438.27250992 158.71193164 447.74872013 158.69984303 457.22500072 C158.69396719 462.05523004 158.69281902 466.88533253 158.70484543 471.71555328 C158.71574741 476.14581288 158.71254995 480.57584041 158.69858374 485.00608934 C158.69594866 486.60016965 158.69826554 488.1942684 158.70631961 489.78833054 C158.79324296 508.29117846 155.81104801 524.43462483 144.3203125 539.43359375 C143.88203125 540.04976562 143.44375 540.6659375 142.9921875 541.30078125 C134.27755274 552.6928038 119.52167244 559.56849976 105.7446537 562.00433922 C98.7248221 562.8843025 91.65015836 562.71978246 84.58666992 562.70825195 C82.81467984 562.71260654 81.04269163 562.71779217 79.27070618 562.72373962 C74.48542475 562.73706128 69.70022263 562.73771589 64.91492629 562.73517632 C60.90685312 562.73410185 56.89879569 562.73900218 52.89072591 562.74378175 C43.42738263 562.75485355 33.96407904 562.75532762 24.50073242 562.74926758 C14.76854312 562.74323077 5.0364985 562.75553674 -4.69566613 562.77683765 C-13.07906154 562.79450546 -21.46241111 562.80044682 -29.84582442 562.7971999 C-34.84059856 562.79539498 -39.8352695 562.79794367 -44.83002663 562.81191444 C-49.53087493 562.82457261 -54.23149922 562.82247384 -58.93234444 562.80950356 C-60.64707264 562.80715543 -62.36181701 562.80980833 -64.07652664 562.81812668 C-84.44939652 562.90975064 -102.42894139 559.07324725 -117.6796875 544.43359375 C-131.44298599 529.85633675 -135.14429386 513.7581548 -135.06736755 494.36734009 C-135.07154564 492.6470662 -135.07702575 490.92679508 -135.08368737 489.20652902 C-135.09809843 484.50196815 -135.09391085 479.79758312 -135.08652055 475.09301281 C-135.08178043 470.01041218 -135.0943062 464.92784912 -135.10453796 459.84526062 C-135.12171473 449.89682357 -135.1225683 439.94844971 -135.11732506 430.00000168 C-135.11328005 421.91207728 -135.11473086 413.82417153 -135.12007332 405.73624802 C-135.12119595 404.00812524 -135.12119595 404.00812524 -135.12234126 402.24509089 C-135.12387278 399.90447327 -135.12541112 397.56385565 -135.12695623 395.22323804 C-135.14067721 373.2842745 -135.1352464 351.34534664 -135.12377102 329.40638392 C-135.11383904 309.34696524 -135.12677945 289.28763881 -135.15070521 269.22823437 C-135.17510282 248.61751758 -135.18470245 228.00684374 -135.17805248 207.3961128 C-135.17456175 195.83023672 -135.17678278 184.26443158 -135.19430351 172.69856644 C-135.20903372 162.85289106 -135.20965014 153.00733657 -135.1922326 143.16166355 C-135.18372707 138.14129028 -135.18156226 133.1211329 -135.19688416 128.10077095 C-135.21075433 123.49900348 -135.20593816 118.89763638 -135.18664492 114.29589193 C-135.18289175 112.63718595 -135.18578704 110.97844771 -135.19625657 109.31977053 C-135.30304293 91.09617981 -130.26314012 75.04273535 -117.6796875 61.43359375 C-105.12092206 49.55190958 -90.43680333 43.89665508 -73.328125 44.140625 C-72.18808014 44.14486984 -71.04803528 44.14911469 -69.8734436 44.15348816 C-66.26694137 44.17015041 -62.66101807 44.2077798 -59.0546875 44.24609375 C-56.59506021 44.26115666 -54.13542407 44.27484224 -51.67578125 44.28710938 C-45.67688905 44.32001304 -39.67832966 44.37008685 -33.6796875 44.43359375 C-33.69883461 43.4884214 -33.69883461 43.4884214 -33.71836853 42.52415466 C-33.76938399 39.63856045 -33.80085545 36.75306152 -33.83203125 33.8671875 C-33.85245483 32.87601929 -33.87287842 31.88485107 -33.8939209 30.86364746 C-33.9694472 21.53518123 -32.24175556 15.16652578 -25.59375 8.26953125 C-18.02227443 1.81385208 -9.75774063 -0.03419344 0 0 Z M-107.6796875 76.43359375 C-117.07597308 87.72657735 -118.27166301 100.29815446 -118.18762207 114.39904785 C-118.19223814 116.09615058 -118.19859578 117.7932493 -118.20653105 119.49033976 C-118.22315057 124.12621721 -118.21501175 128.76176314 -118.20258617 133.39764142 C-118.19350767 138.40795407 -118.20751927 143.4182111 -118.21850586 148.42851257 C-118.23626581 158.23278651 -118.23246233 168.03693776 -118.2208553 177.84121644 C-118.21181132 185.81137558 -118.21060115 193.78150041 -118.21495056 201.75166321 C-118.21556349 202.88724612 -118.21617643 204.02282904 -118.21680793 205.19282356 C-118.21808687 207.49994339 -118.21938372 209.8070632 -118.2206983 212.11418301 C-118.2320967 233.73361654 -118.21900198 255.35298215 -118.19749683 276.97240454 C-118.17962654 295.51142218 -118.18273085 314.05033963 -118.20117188 332.58935547 C-118.22259163 354.13293084 -118.23099814 375.67644673 -118.21872282 397.22003126 C-118.21744866 399.51852893 -118.21619118 401.81702661 -118.21495056 404.11552429 C-118.21433346 405.24634521 -118.21371636 406.37716614 -118.21308056 407.54225436 C-118.20963098 415.50021477 -118.21544755 423.45813736 -118.22486877 431.41609192 C-118.23610239 441.11794927 -118.23301999 450.8196772 -118.2117458 460.52151978 C-118.2012538 465.46886319 -118.19708202 470.41599107 -118.21034241 475.36333275 C-118.22231043 479.89716851 -118.21563138 484.43059006 -118.1944322 488.96438855 C-118.18998477 490.59949086 -118.19219032 492.23462857 -118.20193535 493.86970788 C-118.28517041 509.00288909 -115.43884784 521.10991373 -104.80078125 532.43359375 C-96.56452046 540.15404831 -86.23660381 544.75086497 -74.93966675 544.70101929 C-74.1793827 544.7055504 -73.41909865 544.71008151 -72.63577569 544.71474993 C-70.09810438 544.72737047 -67.56064835 544.72577507 -65.02294922 544.72412109 C-63.19919052 544.73010797 -61.37543436 544.73691388 -59.55168152 544.74447632 C-54.60302823 544.76213123 -49.65444413 544.7668316 -44.70576239 544.76810789 C-41.61038465 544.76953079 -38.51502442 544.7738031 -35.41965103 544.77910233 C-24.61015967 544.7976037 -13.80071761 544.80577315 -2.99121094 544.80419922 C7.06643252 544.80299907 17.12386094 544.82407637 27.18145001 544.85568655 C35.82968021 544.88189329 44.47784039 544.89256461 53.12610996 544.8912884 C58.28525215 544.89077989 63.44420336 544.89640107 68.60330582 544.9176445 C73.46089345 544.93710003 78.31810945 544.93710154 83.17571068 544.92261124 C84.95094411 544.92053081 86.72620123 544.92517794 88.50139427 544.93733215 C104.79291245 545.04158094 116.87740246 542.1906347 129.1640625 530.7109375 C136.62893069 522.65573535 140.56519955 512.07929324 140.57758141 501.18703938 C140.58284052 500.13943437 140.58284052 500.13943437 140.58820587 499.07066563 C140.5974894 496.73683415 140.59260451 494.40325388 140.58773804 492.06941223 C140.59147584 490.37662815 140.59607788 488.68384579 140.60146868 486.99106616 C140.61369813 482.34398231 140.61343827 477.69697046 140.61107993 473.04987419 C140.61067175 468.03607631 140.62171111 463.02230152 140.63119507 458.0085144 C140.64780607 448.18687997 140.65330467 438.36526954 140.65441982 428.54362223 C140.65537031 420.55904818 140.65948065 412.57448205 140.66582108 404.58991051 C140.68343426 381.94832731 140.6926599 359.30676307 140.69116013 336.66517297 C140.69108022 335.44462829 140.6910003 334.22408362 140.69091797 332.96655273 C140.69079533 331.13349808 140.69079533 331.13349808 140.69067021 329.26341202 C140.68985743 309.46172733 140.70899283 289.66011873 140.7371947 269.85845605 C140.76592882 249.52246791 140.77973468 229.18651687 140.77800715 208.85050792 C140.7773434 197.43494656 140.78282906 186.01946495 140.80436325 174.60392189 C140.82258202 164.88365709 140.82691666 155.16350819 140.8133444 145.44323371 C140.80681814 140.48578997 140.8066853 135.52856855 140.8240509 130.57114601 C140.83980175 126.02787319 140.83689742 121.48499858 140.81948264 116.94173535 C140.81641717 115.30311295 140.82002799 113.66446068 140.83120279 112.02587352 C140.92482492 97.31702517 138.32057696 85.71731462 128.3203125 74.43359375 C119.19011903 65.43941806 107.52119316 61.27138232 94.87017822 61.29988098 C93.75848538 61.29648265 93.75848538 61.29648265 92.6243341 61.29301566 C90.14569899 61.28669534 87.66711883 61.28750376 85.18847656 61.28833008 C83.40926035 61.28533732 81.63004479 61.28193452 79.85083008 61.27815247 C75.02009394 61.26931916 70.18937552 61.2669746 65.35863209 61.26633668 C62.33883543 61.26562568 59.31904328 61.2634904 56.29924774 61.26083946 C45.7590659 61.25158757 35.2188967 61.2475043 24.67871094 61.24829102 C14.86251131 61.24889145 5.04636669 61.23834589 -4.76981902 61.22254735 C-13.2039636 61.20945814 -21.63809023 61.20410771 -30.07224488 61.20474643 C-35.10661137 61.20500105 -40.14092899 61.20216963 -45.17528534 61.19156837 C-49.91292839 61.18186443 -54.65047608 61.18182396 -59.38812256 61.18908501 C-61.12268463 61.19012806 -62.85725271 61.18778459 -64.5918045 61.18172455 C-81.48868171 61.12653614 -95.56197856 63.49028266 -107.6796875 76.43359375 Z " fill="#484D4C" transform="translate(388.6796875,98.56640625)"/>
5
- <path d="M0 0 C2.77461081 1.68889354 4.83686679 3.22271482 6.875 5.75 C6.875 6.41 6.875 7.07 6.875 7.75 C7.535 7.75 8.195 7.75 8.875 7.75 C12.87455044 14.91586121 12.9094277 22.74363515 11.265625 30.69921875 C9.35048697 34.9006873 6.52631544 37.73429303 3.3125 41 C2.12189013 42.2326314 0.93300194 43.46692882 -0.25390625 44.703125 C-0.78056885 45.24098633 -1.30723145 45.77884766 -1.84985352 46.33300781 C-3.23220763 47.74285365 -3.23220763 47.74285365 -4.125 49.75 C-4.785 49.75 -5.445 49.75 -6.125 49.75 C-6.125 50.74 -6.125 51.73 -6.125 52.75 C-7.27744968 53.90244968 -8.43663917 55.04894982 -9.62890625 56.16015625 C-12.04763655 58.7304519 -13.80616309 61.71996111 -15.7109375 64.6796875 C-17.28640595 66.98631258 -19.15479345 68.77979345 -21.125 70.75 C-22.18511943 72.71879323 -23.19970849 74.71435867 -24.125 76.75 C-24.785 76.75 -25.445 76.75 -26.125 76.75 C-26.49625 78.0803125 -26.49625 78.0803125 -26.875 79.4375 C-28.125 82.75 -28.125 82.75 -30.03125 85.125 C-32.08704436 87.70241382 -33.44997392 90.099284 -34.875 93.0625 C-35.38160156 94.1040625 -35.88820313 95.145625 -36.41015625 96.21875 C-36.97605469 97.3840625 -37.54195313 98.549375 -38.125 99.75 C-38.80887327 101.11574983 -39.49517238 102.48028703 -40.18359375 103.84375 C-40.53647461 104.54330811 -40.88935547 105.24286621 -41.25292969 105.96362305 C-41.94146699 107.32752977 -42.63087172 108.69099907 -43.32128906 110.05395508 C-46.38222162 116.14736428 -49.00331851 122.26015074 -51.125 128.75 C-51.40085938 129.471875 -51.67671875 130.19375 -51.9609375 130.9375 C-55.04966323 139.04231631 -57.31409602 147.32697736 -59.56176758 155.6940918 C-60.0743026 157.56494462 -60.62310102 159.42576737 -61.17578125 161.28515625 C-62.23343144 165.14579707 -62.98863291 168.99943939 -63.6875 172.9375 C-65.02651859 180.37420325 -65.02651859 180.37420325 -65.63427734 182.69335938 C-73.47884666 215.57030063 -69.1930447 255.76803914 -60.125 288 C-59.86460938 288.94101562 -59.60421875 289.88203125 -59.3359375 290.8515625 C-58.82997977 292.67607676 -58.32075165 294.49968805 -57.80786133 296.32226562 C-57.24248541 298.33231144 -56.68814826 300.34545851 -56.13671875 302.359375 C-52.28110204 315.28090126 -47.06991786 327.66705791 -41.125 339.75 C-40.62097656 340.79671875 -40.11695312 341.8434375 -39.59765625 342.921875 C-31.1650695 360.18966537 -20.66729161 375.87327716 -8.68334961 390.84814453 C-8.10593018 391.57372559 -7.52851074 392.29930664 -6.93359375 393.046875 C-6.41595459 393.68979492 -5.89831543 394.33271484 -5.36499023 394.99511719 C-4.125 396.75 -4.125 396.75 -3.125 399.75 C-2.135 400.08 -1.145 400.41 -0.125 400.75 C1.59375 402.4921875 1.59375 402.4921875 3.375 404.625 C5.82556837 407.55072668 5.82556837 407.55072668 8.48828125 410.27734375 C11.9219153 413.92376639 12.78976316 418.85501323 13.25 423.6875 C12.95554479 430.48673853 10.72241749 436.90258251 5.875 441.75 C2.875 443.9375 2.875 443.9375 -0.125 445.75 C-0.71667969 446.10964844 -1.30835938 446.46929688 -1.91796875 446.83984375 C-7.05149501 448.95685547 -14.0812225 448.75195523 -19.3203125 447.02734375 C-21.0625 446.0625 -21.0625 446.0625 -24.125 443.75 C-25.115 443.0075 -26.105 442.265 -27.125 441.5 C-31.95292609 437.31579739 -35.906974 432.24396711 -39.9375 427.3125 C-41.86471393 424.71768028 -41.86471393 424.71768028 -44.125 423.75 C-44.125 422.76 -44.125 421.77 -44.125 420.75 C-45.115 420.42 -46.105 420.09 -47.125 419.75 C-48.44140625 417.9375 -48.44140625 417.9375 -49.6875 415.75 C-51.33874548 412.66497173 -51.33874548 412.66497173 -54.125 410.75 C-54.125 409.76 -54.125 408.77 -54.125 407.75 C-54.785 407.75 -55.445 407.75 -56.125 407.75 C-57.67578125 405.58984375 -57.67578125 405.58984375 -59.4375 402.6875 C-61.50113049 399.34536247 -63.55981767 396.04869979 -65.875 392.875 C-70.21696077 386.84449892 -73.59695922 380.27608439 -77.125 373.75 C-77.78885142 372.54024873 -78.45292233 371.33061788 -79.1171875 370.12109375 C-82.66212491 363.62680201 -85.98622628 357.1601358 -88.71875 350.2734375 C-89.84735803 347.44564738 -91.01795677 344.64881669 -92.21875 341.8515625 C-97.5349398 329.35840418 -101.71643209 316.88506405 -105.125 303.75 C-105.50730657 302.32538497 -105.89009119 300.9008981 -106.2734375 299.4765625 C-108.78205063 289.99676665 -110.71327146 280.4505389 -112.125 270.75 C-112.33237793 269.35297852 -112.33237793 269.35297852 -112.54394531 267.92773438 C-118.49884283 226.12247187 -116.38217599 182.65511014 -105.0078125 141.94921875 C-103.89293469 137.90901996 -102.98824271 133.85040286 -102.125 129.75 C-101.465 129.75 -100.805 129.75 -100.125 129.75 C-100.063125 128.5125 -100.00125 127.275 -99.9375 126 C-99.29281601 120.42133455 -97.2511585 115.83666524 -94.98193359 110.74121094 C-93.98777777 108.43114401 -93.06440996 106.09844628 -92.14453125 103.7578125 C-83.10925482 80.84759019 -71.59763005 58.84525859 -56.29785156 39.43041992 C-54.93135781 37.64182492 -54.93135781 37.64182492 -54.125 34.75 C-51.625 32.25 -51.625 32.25 -49.125 29.75 C-48.63 28.925 -48.135 28.1 -47.625 27.25 C-46.2115197 24.8941995 -44.68729836 23.21855753 -42.7109375 21.33203125 C-40.5907618 19.21707766 -38.6181388 16.98483171 -36.625 14.75 C-26.52245876 3.47663445 -16.32227405 -6.50757331 0 0 Z " fill="#11AC11" transform="translate(133.125,182.25)"/>
6
- <path d="M0 0 C1.7421875 0.96484375 1.7421875 0.96484375 4.8046875 3.27734375 C5.7946875 4.01984375 6.7846875 4.76234375 7.8046875 5.52734375 C12.63261359 9.71154636 16.5866615 14.78337664 20.6171875 19.71484375 C22.54440143 22.30966347 22.54440143 22.30966347 24.8046875 23.27734375 C24.8046875 24.26734375 24.8046875 25.25734375 24.8046875 26.27734375 C25.7946875 26.60734375 26.7846875 26.93734375 27.8046875 27.27734375 C29.12109375 29.08984375 29.12109375 29.08984375 30.3671875 31.27734375 C32.01843298 34.36237202 32.01843298 34.36237202 34.8046875 36.27734375 C34.8046875 37.26734375 34.8046875 38.25734375 34.8046875 39.27734375 C35.4646875 39.27734375 36.1246875 39.27734375 36.8046875 39.27734375 C38.35546875 41.4375 38.35546875 41.4375 40.1171875 44.33984375 C42.18081799 47.68198128 44.23950517 50.97864396 46.5546875 54.15234375 C50.89664827 60.18284483 54.27664672 66.75125936 57.8046875 73.27734375 C58.46853892 74.48709502 59.13260983 75.69672587 59.796875 76.90625 C63.34181241 83.40054174 66.66591378 89.86720795 69.3984375 96.75390625 C70.52704553 99.58169637 71.69764427 102.37852706 72.8984375 105.17578125 C78.2146273 117.66893957 82.39611959 130.1422797 85.8046875 143.27734375 C86.18699407 144.70195878 86.56977869 146.12644565 86.953125 147.55078125 C89.46173813 157.0305771 91.39295896 166.57680485 92.8046875 176.27734375 C92.94293945 177.20869141 93.08119141 178.14003906 93.22363281 179.09960938 C99.17853033 220.90487188 97.06186349 264.37223361 85.6875 305.078125 C84.57262219 309.11832379 83.66793021 313.17694089 82.8046875 317.27734375 C82.1446875 317.27734375 81.4846875 317.27734375 80.8046875 317.27734375 C80.7428125 318.51484375 80.6809375 319.75234375 80.6171875 321.02734375 C79.97250351 326.6060092 77.930846 331.19067851 75.66162109 336.28613281 C74.66746527 338.59619974 73.74409746 340.92889747 72.82421875 343.26953125 C63.78894232 366.17975356 52.27731755 388.18208516 36.97753906 407.59692383 C35.61104531 409.38551883 35.61104531 409.38551883 34.8046875 412.27734375 C33.13802083 413.94401042 31.47135417 415.61067708 29.8046875 417.27734375 C29.0621875 418.51484375 29.0621875 418.51484375 28.3046875 419.77734375 C26.8912072 422.13314425 25.36698586 423.80878622 23.390625 425.6953125 C21.2704493 427.81026609 19.2978263 430.04251204 17.3046875 432.27734375 C3.34828654 447.8512084 3.34828654 447.8512084 -4.40234375 448.578125 C-18.24123087 448.62310513 -18.24123087 448.62310513 -24.6328125 443.21484375 C-26.1953125 441.27734375 -26.1953125 441.27734375 -26.1953125 439.27734375 C-26.8553125 439.27734375 -27.5153125 439.27734375 -28.1953125 439.27734375 C-32.19486294 432.11148254 -32.2297402 424.2837086 -30.5859375 416.328125 C-28.67079947 412.12665645 -25.84662794 409.29305072 -22.6328125 406.02734375 C-21.44220263 404.79471235 -20.25331444 403.56041493 -19.06640625 402.32421875 C-18.53974365 401.78635742 -18.01308105 401.24849609 -17.47045898 400.69433594 C-16.08810487 399.2844901 -16.08810487 399.2844901 -15.1953125 397.27734375 C-14.5353125 397.27734375 -13.8753125 397.27734375 -13.1953125 397.27734375 C-13.1953125 396.28734375 -13.1953125 395.29734375 -13.1953125 394.27734375 C-12.04286282 393.12489407 -10.88367333 391.97839393 -9.69140625 390.8671875 C-7.27267595 388.29689185 -5.51414941 385.30738264 -3.609375 382.34765625 C-2.03390655 380.04103117 -0.16551905 378.2475503 1.8046875 376.27734375 C2.86480693 374.30855052 3.87939599 372.31298508 4.8046875 370.27734375 C5.4646875 370.27734375 6.1246875 370.27734375 6.8046875 370.27734375 C7.0521875 369.39046875 7.2996875 368.50359375 7.5546875 367.58984375 C8.8046875 364.27734375 8.8046875 364.27734375 10.7109375 361.90234375 C12.76673186 359.32492993 14.12966142 356.92805975 15.5546875 353.96484375 C16.06128906 352.92328125 16.56789063 351.88171875 17.08984375 350.80859375 C17.65574219 349.64328125 18.22164062 348.47796875 18.8046875 347.27734375 C19.48856077 345.91159392 20.17485988 344.54705672 20.86328125 343.18359375 C21.21616211 342.48403564 21.56904297 341.78447754 21.93261719 341.0637207 C22.62115449 339.69981398 23.31055922 338.33634468 24.00097656 336.97338867 C27.06190912 330.87997947 29.68300601 324.76719301 31.8046875 318.27734375 C32.08054687 317.55546875 32.35640625 316.83359375 32.640625 316.08984375 C35.72935073 307.98502744 37.99378352 299.70036639 40.24145508 291.33325195 C40.7539901 289.46239913 41.30278852 287.60157638 41.85546875 285.7421875 C42.91311894 281.88154668 43.66832041 278.02790436 44.3671875 274.08984375 C45.70620609 266.6531405 45.70620609 266.6531405 46.31396484 264.33398438 C54.15853416 231.45704312 49.8727322 191.25930461 40.8046875 159.02734375 C40.41410156 157.61582031 40.41410156 157.61582031 40.015625 156.17578125 C39.50966727 154.35126699 39.00043915 152.5276557 38.48754883 150.70507812 C37.92217291 148.69503231 37.36783576 146.68188524 36.81640625 144.66796875 C32.96078954 131.74644249 27.74960536 119.36028584 21.8046875 107.27734375 C21.30066406 106.230625 20.79664063 105.18390625 20.27734375 104.10546875 C11.844757 86.83767838 1.34697911 71.15406659 -10.63696289 56.17919922 C-11.21438232 55.45361816 -11.79180176 54.72803711 -12.38671875 53.98046875 C-12.90435791 53.33754883 -13.42199707 52.69462891 -13.95532227 52.03222656 C-15.1953125 50.27734375 -15.1953125 50.27734375 -16.1953125 47.27734375 C-17.1853125 46.94734375 -18.1753125 46.61734375 -19.1953125 46.27734375 C-20.9140625 44.53515625 -20.9140625 44.53515625 -22.6953125 42.40234375 C-25.14588087 39.47661707 -25.14588087 39.47661707 -27.80859375 36.75 C-31.2422278 33.10357736 -32.11007566 28.17233052 -32.5703125 23.33984375 C-32.27585729 16.54060522 -30.04272999 10.12476124 -25.1953125 5.27734375 C-22.1953125 3.08984375 -22.1953125 3.08984375 -19.1953125 1.27734375 C-18.60363281 0.91769531 -18.01195312 0.55804688 -17.40234375 0.1875 C-12.26881749 -1.92951172 -5.23909 -1.72461148 0 0 Z " fill="#11AC11" transform="translate(685.1953125,174.72265625)"/>
7
- <path d="M0 0 C5.42831474 5.37488645 7.28311659 9.24647078 7.546875 17.02734375 C7.18476378 25.96577338 4.19965397 29.98275511 -2.1484375 36.00390625 C-4.9468083 38.94278103 -7.10961174 42.25286661 -9.33984375 45.6328125 C-11.015625 47.96484375 -11.015625 47.96484375 -13.16015625 50.078125 C-15.24571002 51.92221691 -15.24571002 51.92221691 -16.015625 54.96484375 C-16.675625 54.96484375 -17.335625 54.96484375 -18.015625 54.96484375 C-18.2425 55.64546875 -18.469375 56.32609375 -18.703125 57.02734375 C-20.10125047 60.1564817 -21.82653401 62.60407752 -23.89453125 65.31640625 C-25.20694792 67.0854469 -25.20694792 67.0854469 -26.015625 69.96484375 C-26.675625 69.96484375 -27.335625 69.96484375 -28.015625 69.96484375 C-28.13856934 70.53348145 -28.26151367 71.10211914 -28.38818359 71.68798828 C-29.0514102 74.09470086 -29.96518754 76.14942897 -31.0546875 78.39453125 C-47.83563668 113.6610777 -55.14519156 152.05778051 -48.015625 190.96484375 C-47.89203613 191.65239746 -47.76844727 192.33995117 -47.64111328 193.04833984 C-43.54057366 215.22107593 -35.3086416 237.28807832 -23.01171875 256.25 C-22.015625 257.96484375 -22.015625 257.96484375 -22.015625 259.96484375 C-21.355625 259.96484375 -20.695625 259.96484375 -20.015625 259.96484375 C-19.22287352 261.38090365 -18.43147188 262.79771928 -17.640625 264.21484375 C-17.19976562 265.00375 -16.75890625 265.79265625 -16.3046875 266.60546875 C-15.015625 268.96484375 -15.015625 268.96484375 -14.0390625 271.19921875 C-13.07399561 273.31326576 -13.07399561 273.31326576 -10.015625 273.96484375 C-8.53551431 275.59698132 -7.12803782 277.29574564 -5.765625 279.02734375 C-2.4069602 283.24762681 1.03080003 287.33038221 4.671875 291.30859375 C8.76373236 296.47212804 7.65263994 304.753162 6.984375 310.96484375 C5.53952607 314.56446739 3.64153537 317.16175237 0.984375 319.96484375 C0.49324219 320.48691406 0.00210938 321.00898437 -0.50390625 321.546875 C-5.0763916 325.82356615 -9.88100183 326.79542921 -15.953125 327.27734375 C-24.47233643 326.98187977 -30.24702008 322.97380721 -36.015625 316.96484375 C-38.30170725 314.34810836 -40.51985274 311.67790034 -42.69091797 308.96508789 C-44.97802215 306.02816987 -44.97802215 306.02816987 -48.015625 303.96484375 C-49.03394705 302.3093082 -50.02936062 300.63967519 -51.015625 298.96484375 C-51.81841704 297.81939657 -52.63445773 296.68316236 -53.4609375 295.5546875 C-54.11642578 294.6584668 -54.11642578 294.6584668 -54.78515625 293.74414062 C-55.69341472 292.51000844 -56.60491145 291.27825332 -57.51953125 290.04882812 C-59.71299872 287.03850556 -61.27652026 284.61225124 -62.015625 280.96484375 C-62.675625 280.96484375 -63.335625 280.96484375 -64.015625 280.96484375 C-74.9514494 260.49718289 -74.9514494 260.49718289 -79.015625 250.96484375 C-79.62470703 249.57845703 -79.62470703 249.57845703 -80.24609375 248.1640625 C-84.16819989 239.05270824 -87.67796938 229.6170992 -90.015625 219.96484375 C-90.33402344 218.8871875 -90.65242188 217.80953125 -90.98046875 216.69921875 C-92.03442539 212.89702046 -92.86146007 209.09115652 -93.578125 205.21484375 C-93.70888428 204.51166016 -93.83964355 203.80847656 -93.97436523 203.08398438 C-94.82880153 198.34638708 -95.42144576 193.65182485 -95.765625 188.84765625 C-96.01220458 186.00428548 -96.39230856 183.19513894 -96.79589844 180.37036133 C-100.31584832 155.04560083 -99.06365659 122.73701605 -89.015625 98.96484375 C-88.5536594 97.34662898 -88.11725479 95.72095618 -87.703125 94.08984375 C-85.07540467 84.31842141 -82.37062068 74.60646154 -77.140625 65.87890625 C-75.46593657 63.02960996 -74.26087603 60.021369 -73.015625 56.96484375 C-72.4556177 55.65127825 -71.8931614 54.33875382 -71.328125 53.02734375 C-70.895 52.01671875 -70.461875 51.00609375 -70.015625 49.96484375 C-69.355625 49.96484375 -68.695625 49.96484375 -68.015625 49.96484375 C-67.891875 49.22234375 -67.768125 48.47984375 -67.640625 47.71484375 C-67.06075799 45.1634289 -66.27853761 43.23808645 -65.015625 40.96484375 C-64.355625 40.96484375 -63.695625 40.96484375 -63.015625 40.96484375 C-62.7475 40.07796875 -62.479375 39.19109375 -62.203125 38.27734375 C-61.0905615 35.17387715 -59.91366722 32.6537369 -58.015625 29.96484375 C-57.355625 29.96484375 -56.695625 29.96484375 -56.015625 29.96484375 C-55.78101563 29.25714844 -55.54640625 28.54945313 -55.3046875 27.8203125 C-53.7764404 24.43501362 -51.81555645 22.08891288 -49.390625 19.27734375 C-48.49111636 18.22747929 -47.59269586 17.17668165 -46.6953125 16.125 C-46.24639648 15.6005127 -45.79748047 15.07602539 -45.33496094 14.53564453 C-42.65838769 11.34891761 -40.14235917 8.03165304 -37.609375 4.73046875 C-37.0834375 4.1478125 -36.5575 3.56515625 -36.015625 2.96484375 C-35.355625 2.96484375 -34.695625 2.96484375 -34.015625 2.96484375 C-33.685625 1.97484375 -33.355625 0.98484375 -33.015625 -0.03515625 C-22.57831182 -8.95036126 -10.48352992 -9.08944349 0 0 Z " fill="#11AC11" transform="translate(201.015625,245.03515625)"/>
8
- <path d="M0 0 C5.85150188 4.05103976 10.26468435 9.48856541 14.67529297 14.99975586 C16.96239715 17.93667388 16.96239715 17.93667388 20 20 C21.01832205 21.65553555 22.01373562 23.32516856 23 25 C23.80279204 26.14544718 24.61883273 27.28168139 25.4453125 28.41015625 C25.88230469 29.00763672 26.31929687 29.60511719 26.76953125 30.22070312 C27.67778972 31.45483531 28.58928645 32.68659043 29.50390625 33.91601562 C31.69737372 36.92633819 33.26089526 39.35259251 34 43 C34.66 43 35.32 43 36 43 C46.9358244 63.46766086 46.9358244 63.46766086 51 73 C51.40605469 73.92425781 51.81210937 74.84851563 52.23046875 75.80078125 C56.15257489 84.91213551 59.66234438 94.34774455 62 104 C62.31839844 105.07765625 62.63679687 106.1553125 62.96484375 107.265625 C64.01880039 111.06782329 64.84583507 114.87368723 65.5625 118.75 C65.69325928 119.45318359 65.82401855 120.15636719 65.95874023 120.88085938 C66.81317653 125.61845667 67.40582076 130.3130189 67.75 135.1171875 C67.99657958 137.96055827 68.37668356 140.76970481 68.78027344 143.59448242 C72.30022332 168.91924292 71.04803159 201.2278277 61 225 C60.5380344 226.61821477 60.10162979 228.24388757 59.6875 229.875 C57.05977967 239.64642234 54.35499568 249.35838221 49.125 258.0859375 C47.45031157 260.93523379 46.24525103 263.94347475 45 267 C44.4399927 268.3135655 43.8775364 269.62608993 43.3125 270.9375 C42.879375 271.948125 42.44625 272.95875 42 274 C41.34 274 40.68 274 40 274 C39.87625 274.7425 39.7525 275.485 39.625 276.25 C39.04513299 278.80141485 38.26291261 280.7267573 37 283 C36.34 283 35.68 283 35 283 C34.731875 283.886875 34.46375 284.77375 34.1875 285.6875 C33.0749365 288.7909666 31.89804222 291.31110685 30 294 C29.34 294 28.68 294 28 294 C27.64808594 295.06154297 27.64808594 295.06154297 27.2890625 296.14453125 C25.7608154 299.52983013 23.79993145 301.87593087 21.375 304.6875 C20.47549136 305.73736446 19.57707086 306.7881621 18.6796875 307.83984375 C18.00631348 308.62657471 18.00631348 308.62657471 17.31933594 309.42919922 C14.64276269 312.61592614 12.12673417 315.93319071 9.59375 319.234375 C9.0678125 319.81703125 8.541875 320.3996875 8 321 C7.34 321 6.68 321 6 321 C5.67 321.99 5.34 322.98 5 324 C-0.80247261 329.06173143 -6.56834134 331.20083444 -14.32421875 330.9140625 C-22.15226516 329.68452641 -28.33668155 324.62765656 -33.0625 318.4375 C-36.25495872 312.76201784 -35.79431294 306.27956831 -35 300 C-33.45891025 294.86907765 -29.65045155 291.54935533 -25.8671875 287.9609375 C-23.0688167 285.02206272 -20.90601326 281.71197714 -18.67578125 278.33203125 C-17 276 -17 276 -14.85546875 273.88671875 C-12.76991498 272.04262684 -12.76991498 272.04262684 -12 269 C-11.34 269 -10.68 269 -10 269 C-9.773125 268.319375 -9.54625 267.63875 -9.3125 266.9375 C-7.91437453 263.80836205 -6.18909099 261.36076623 -4.12109375 258.6484375 C-2.80867708 256.87939685 -2.80867708 256.87939685 -2 254 C-1.34 254 -0.68 254 0 254 C0.12294434 253.4313623 0.24588867 252.86272461 0.37255859 252.27685547 C1.0357852 249.87014289 1.94956254 247.81541478 3.0390625 245.5703125 C19.82001168 210.30376605 27.12956656 171.90706324 20 133 C19.87641113 132.31244629 19.75282227 131.62489258 19.62548828 130.91650391 C15.52494866 108.74376782 7.2930166 86.67676543 -5.00390625 67.71484375 C-6 66 -6 66 -6 64 C-6.66 64 -7.32 64 -8 64 C-8.79275148 62.5839401 -9.58415312 61.16712447 -10.375 59.75 C-10.81585937 58.96109375 -11.25671875 58.1721875 -11.7109375 57.359375 C-13 55 -13 55 -13.9765625 52.765625 C-14.94162939 50.65157799 -14.94162939 50.65157799 -18 50 C-19.48011069 48.36786243 -20.88758718 46.66909811 -22.25 44.9375 C-25.6086648 40.71721694 -29.04642503 36.63446154 -32.6875 32.65625 C-36.77935736 27.49271571 -35.66826494 19.21168175 -35 13 C-33.55515107 9.40037636 -31.65716037 6.80309138 -29 4 C-28.50886719 3.47792969 -28.01773438 2.95585937 -27.51171875 2.41796875 C-19.92746382 -4.67566053 -8.76492319 -4.77774245 0 0 Z " fill="#11AC11" transform="translate(626,235)"/>
9
- <path d="M0 0 C1.13505882 3.39780275 0.84592409 5.65425141 0.01806641 9.11254883 C-0.22166901 10.14369308 -0.46140442 11.17483734 -0.70840454 12.23722839 C-1.11184586 13.92384331 -1.11184586 13.92384331 -1.5234375 15.64453125 C-2.09047478 18.10155727 -2.6537838 20.55944591 -3.21386719 23.01806641 C-3.43453952 23.98584849 -3.43453952 23.98584849 -3.65966988 24.97318172 C-5.35215298 32.45644059 -6.82603449 39.98084146 -8.2890625 47.51171875 C-8.56562682 48.92970287 -8.84221792 50.34768177 -9.11883545 51.76565552 C-10.09991637 56.80293412 -11.07491849 61.84138475 -12.04876709 66.88006592 C-13.01996636 71.90404443 -13.9947982 76.92729334 -14.9765625 81.94921875 C-15.10927803 82.62829159 -15.24199356 83.30736443 -15.37873077 84.00701523 C-17.2906178 93.75528302 -19.36247288 103.42041443 -22 113 C-20.93144775 112.67789551 -19.86289551 112.35579102 -18.76196289 112.02392578 C-9.40697297 109.21354707 -0.00466023 106.67089232 9.45581055 104.24072266 C16.16734484 102.50643846 22.81733382 100.62120536 29.45483398 98.62426758 C34.27082098 97.18478082 39.07251553 95.98549689 44 95 C42.5265319 99.78633334 40.56722416 104.23827798 38.39453125 108.73828125 C37.65884961 110.27864366 36.92317273 111.81900834 36.1875 113.359375 C35.80078125 114.16568359 35.4140625 114.97199219 35.015625 115.80273438 C28.70237371 128.97242253 22.49824593 142.18395552 16.5 155.5 C11.08932549 167.50100029 5.52725424 179.4233982 -0.125 191.3125 C-0.89315961 192.92894946 -1.66130749 194.54540449 -2.42944336 196.16186523 C-2.99227776 197.34624428 -2.99227776 197.34624428 -3.56648254 198.55455017 C-4.12331978 199.72637596 -4.12331978 199.72637596 -4.69140625 200.921875 C-5.24274483 202.0820388 -5.24274483 202.0820388 -5.80522156 203.26564026 C-17.4998011 227.86607891 -17.4998011 227.86607891 -28.28735352 252.87329102 C-28.61920654 253.67178467 -28.95105957 254.47027832 -29.29296875 255.29296875 C-29.71872192 256.33747192 -29.71872192 256.33747192 -30.15307617 257.40307617 C-31 259 -31 259 -33 260 C-31.64548727 251.42409777 -29.55721736 243.08200495 -27.34558105 234.69750977 C-24.02946217 222.11406541 -20.89658832 209.50777649 -18.03051758 196.81323242 C-16.44675302 189.83215769 -14.70009678 182.91435412 -12.82983398 176.00512695 C-10.91086684 168.84414109 -9.28257068 161.62365292 -7.69897461 154.38183594 C-7.4090564 153.06940918 -7.4090564 153.06940918 -7.11328125 151.73046875 C-6.94610596 150.96114014 -6.77893066 150.19181152 -6.60668945 149.39916992 C-5.8847444 146.5442186 -4.95771921 143.78369344 -4 141 C-8.54226387 142.16434706 -13.08378909 143.33155411 -17.625 144.5 C-18.3116272 144.676521 -18.99825439 144.85304199 -19.70568848 145.03491211 C-27.6917492 147.0894635 -35.67042654 149.16785919 -43.6328125 151.3125 C-44.32013458 151.49735962 -45.00745667 151.68221924 -45.71560669 151.87268066 C-49.02489481 152.76344366 -52.33284929 153.65879707 -55.63916016 154.56054688 C-56.82558105 154.88087891 -58.01200195 155.20121094 -59.234375 155.53125 C-60.80010254 155.95760742 -60.80010254 155.95760742 -62.39746094 156.39257812 C-65 157 -65 157 -68 157 C-66.02448512 150.68645887 -63.65355342 144.6735265 -60.9296875 138.6484375 C-60.33982811 137.32912231 -60.33982811 137.32912231 -59.73805237 135.9831543 C-58.89370612 134.09545569 -58.04752901 132.20857512 -57.19967651 130.32244873 C-54.92477227 125.26071211 -52.66421582 120.19257022 -50.40234375 115.125 C-49.94342239 114.0976474 -49.48450104 113.0702948 -49.01167297 112.0118103 C-44.76286938 102.49099472 -40.58903369 92.93854498 -36.4375 83.375 C-29.58733311 67.60276512 -22.65646449 51.86730125 -15.68139648 36.14990234 C-10.35733885 24.14088708 -5.14756534 12.08569813 0 0 Z " fill="#FBFEFB" transform="translate(411,260)"/>
10
- <path d="M0 0 C0.33 0.99 0.66 1.98 1 3 C1.66 3.33 2.32 3.66 3 4 C1.35 7.63 -0.3 11.26 -2 15 C-3.23922223 11.28233332 -2.57018942 9.56110463 -1.5625 5.8125 C-1.13130859 4.18248047 -1.13130859 4.18248047 -0.69140625 2.51953125 C-0.46324219 1.68808594 -0.23507812 0.85664063 0 0 Z " fill="#C4F5CC" transform="translate(381,505)"/>
11
- <path d="M0 0 C1.07310858 3.27185553 0.89263102 5.42947592 0.0625 8.75 C-0.22947266 9.94882812 -0.22947266 9.94882812 -0.52734375 11.171875 C-0.68332031 11.77515625 -0.83929688 12.3784375 -1 13 C-1.99 12.67 -2.98 12.34 -4 12 C-3.33501617 7.61110675 -1.81242323 4.0188515 0 0 Z " fill="#CEF6D4" transform="translate(411,260)"/>
12
- </svg>
package/admin/index.html DELETED
@@ -1,298 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="de">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>PV Notifications - Konfiguration</title>
7
- <style>
8
- body {
9
- font-family: Arial, sans-serif;
10
- margin: 20px;
11
- background-color: #f5f5f5;
12
- }
13
- .container {
14
- max-width: 800px;
15
- margin: 0 auto;
16
- background: white;
17
- padding: 20px;
18
- border-radius: 8px;
19
- box-shadow: 0 2px 4px rgba(0,0,0,0.1);
20
- }
21
- h1 {
22
- color: #333;
23
- border-bottom: 2px solid #4CAF50;
24
- padding-bottom: 10px;
25
- }
26
- h2 {
27
- color: #666;
28
- margin-top: 30px;
29
- }
30
- .form-group {
31
- margin-bottom: 15px;
32
- }
33
- label {
34
- display: block;
35
- margin-bottom: 5px;
36
- font-weight: bold;
37
- color: #555;
38
- }
39
- input, select {
40
- width: 100%;
41
- padding: 8px;
42
- border: 1px solid #ddd;
43
- border-radius: 4px;
44
- box-sizing: border-box;
45
- }
46
- input:focus {
47
- border-color: #4CAF50;
48
- outline: none;
49
- }
50
- .hint {
51
- font-size: 12px;
52
- color: #888;
53
- margin-top: 4px;
54
- }
55
- .button-row {
56
- margin-top: 30px;
57
- text-align: right;
58
- }
59
- button {
60
- padding: 10px 20px;
61
- margin-left: 10px;
62
- border: none;
63
- border-radius: 4px;
64
- cursor: pointer;
65
- font-size: 14px;
66
- }
67
- .btn-save {
68
- background-color: #4CAF50;
69
- color: white;
70
- }
71
- .btn-cancel {
72
- background-color: #f44336;
73
- color: white;
74
- }
75
- button:hover {
76
- opacity: 0.9;
77
- }
78
- </style>
79
- </head>
80
- <body>
81
- <div class="container">
82
- <h1>🔋 PV Notifications</h1>
83
- <p>Telegram-Benachrichtigungen für PV-Batteriestatus</p>
84
-
85
- <h2>Telegram Konfiguration</h2>
86
- <div class="form-group">
87
- <label for="telegramInstance">Telegram Instanz</label>
88
- <input type="text" id="telegramInstance" data-name="native.telegramInstance" />
89
- <div class="hint">Z.B. telegram.0</div>
90
- </div>
91
- <div class="form-group">
92
- <label for="telegramUsers">Telegram Benutzer (kommagetrennt)</label>
93
- <input type="text" id="telegramUsers" data-name="native.telegramUsers" />
94
- <div class="hint">Z.B. User1, User2 oder -123456789 (Telegram-ID)</div>
95
- </div>
96
-
97
- <h2>Datenpunkte</h2>
98
- <div class="form-group">
99
- <label for="batterySOC">Batterie SOC (%)</label>
100
- <input type="text" id="batterySOC" data-name="native.batterySOC" />
101
- </div>
102
- <div class="form-group">
103
- <label for="powerProduction">Aktuelle PV-Leistung (W)</label>
104
- <input type="text" id="powerProduction" data-name="native.powerProduction" />
105
- </div>
106
- <div class="form-group">
107
- <label for="totalProduction">Gesamtproduktion heute (kWh)</label>
108
- <input type="text" id="totalProduction" data-name="native.totalProduction" />
109
- </div>
110
- <div class="form-group">
111
- <label for="feedIn">Einspeisung heute (kWh)</label>
112
- <input type="text" id="feedIn" data-name="native.feedIn" />
113
- </div>
114
- <div class="form-group">
115
- <label for="consumption">Hausverbrauch heute (kWh)</label>
116
- <input type="text" id="consumption" data-name="native.consumption" />
117
- </div>
118
- <div class="form-group">
119
- <label for="gridPower">Netzbezug heute (kWh)</label>
120
- <input type="text" id="gridPower" data-name="native.gridPower" />
121
- </div>
122
- <div class="form-group">
123
- <label for="monthlyProduction">Produktion diesen Monat (kWh)</label>
124
- <input type="text" id="monthlyProduction" data-name="native.monthlyProduction" />
125
- <div class="hint">sourceanalytix...Produktion.currentMonth</div>
126
- </div>
127
- <div class="form-group">
128
- <label for="monthlyConsumption">Verbrauch diesen Monat (kWh)</label>
129
- <input type="text" id="monthlyConsumption" data-name="native.monthlyConsumption" />
130
- <div class="hint">sourceanalytix...Verbrauch.currentMonth</div>
131
- </div>
132
- <div class="form-group">
133
- <label for="monthlyFeedIn">Einspeisung diesen Monat (kWh)</label>
134
- <input type="text" id="monthlyFeedIn" data-name="native.monthlyFeedIn" />
135
- <div class="hint">sourceanalytix...Einspeisung.currentMonth</div>
136
- </div>
137
- <div class="form-group">
138
- <label for="monthlyGridPower">Netzbezug diesen Monat (kWh)</label>
139
- <input type="text" id="monthlyGridPower" data-name="native.monthlyGridPower" />
140
- <div class="hint">sourceanalytix...Netzbezug.currentMonth</div>
141
- </div>
142
-
143
- <h2>Batterie Konfiguration</h2>
144
- <div class="form-group">
145
- <label for="batteryCapacityWh">Batterie-Kapazität (Wh)</label>
146
- <input type="number" id="batteryCapacityWh" data-name="native.batteryCapacityWh" />
147
- </div>
148
- <div class="form-group">
149
- <label for="thresholdFull">Schwellwert VOLL (%)</label>
150
- <input type="number" id="thresholdFull" data-name="native.thresholdFull" />
151
- </div>
152
- <div class="form-group">
153
- <label for="thresholdEmpty">Schwellwert LEER (%)</label>
154
- <input type="number" id="thresholdEmpty" data-name="native.thresholdEmpty" />
155
- </div>
156
- <div class="form-group">
157
- <label for="thresholdResetFull">Reset VOLL unter (%)</label>
158
- <input type="number" id="thresholdResetFull" data-name="native.thresholdResetFull" />
159
- </div>
160
- <div class="form-group">
161
- <label for="thresholdResetEmpty">Reset LEER über (%)</label>
162
- <input type="number" id="thresholdResetEmpty" data-name="native.thresholdResetEmpty" />
163
- </div>
164
-
165
- <h2>Intermediate-Stufen</h2>
166
- <div class="form-group">
167
- <input type="checkbox" id="nightModeEnabled" data-name="native.nightModeEnabled" />
168
- <label for="nightModeEnabled" style="display: inline;">Nachtmodus aktivieren (00:00-08:00)</label>
169
- <div class="hint">Wenn deaktiviert, werden Benachrichtigungen auch nachts gesendet</div>
170
- </div>
171
- <div class="form-group">
172
- <input type="checkbox" id="nightModeIgnoreEmpty" data-name="native.nightModeIgnoreEmpty" />
173
- <label for="nightModeIgnoreEmpty" style="display: inline;">Nachtmodus für 0% ignorieren</label>
174
- <div class="hint">Wenn aktiviert, wird bei 0% immer benachrichtigt (auch nachts)</div>
175
- </div>
176
- <div class="form-group">
177
- <label for="intermediateSteps">Intermediate-Stufen</label>
178
- <input type="text" id="intermediateSteps" data-name="native.intermediateSteps" />
179
- <div class="hint">Kommagetrennt, z.B. 20,40,60,80</div>
180
- </div>
181
- <div class="form-group">
182
- <label for="minIntervalFull">Min. Intervall VOLL (Minuten)</label>
183
- <input type="number" id="minIntervalFull" data-name="native.minIntervalFull" />
184
- </div>
185
- <div class="form-group">
186
- <label for="minIntervalEmpty">Min. Intervall LEER (Minuten)</label>
187
- <input type="number" id="minIntervalEmpty" data-name="native.minIntervalEmpty" />
188
- </div>
189
- <div class="form-group">
190
- <label for="minIntervalIntermediate">Min. Intervall Intermediate (Minuten)</label>
191
- <input type="number" id="minIntervalIntermediate" data-name="native.minIntervalIntermediate" />
192
- </div>
193
-
194
- <h2>Statistik & Zeitplanung</h2>
195
- <div class="form-group">
196
- <label for="statsDayTime">Tagesstatistik Uhrzeit</label>
197
- <input type="text" id="statsDayTime" data-name="native.statsDayTime" />
198
- <div class="hint">Format: HH:MM (z.B. 22:00)</div>
199
- </div>
200
- <div class="form-group">
201
- <label for="statsWeekDay">Wochentag für Wochenstatistik</label>
202
- <select id="statsWeekDay" data-name="native.statsWeekDay">
203
- <option value="0">Sonntag</option>
204
- <option value="1">Montag</option>
205
- <option value="2">Dienstag</option>
206
- <option value="3">Mittwoch</option>
207
- <option value="4">Donnerstag</option>
208
- <option value="5">Freitag</option>
209
- <option value="6">Samstag</option>
210
- </select>
211
- </div>
212
- <div class="form-group">
213
- <label for="statsWeekTime">Uhrzeit für Wochenstatistik</label>
214
- <input type="text" id="statsWeekTime" data-name="native.statsWeekTime" />
215
- <div class="hint">Format: HH:MM (z.B. 10:00)</div>
216
- </div>
217
-
218
- <h2>Monatsstatistik (Optional)</h2>
219
- <div class="form-group">
220
- <input type="checkbox" id="monthlyStatsEnabled" data-name="native.monthlyStatsEnabled" />
221
- <label for="monthlyStatsEnabled" style="display: inline;">Monatsstatistik aktivieren</label>
222
- </div>
223
- <div class="form-group">
224
- <label for="monthlyStatsDay">Tag des Monats</label>
225
- <input type="number" id="monthlyStatsDay" data-name="native.monthlyStatsDay" min="1" max="31" />
226
- <div class="hint">1-31 (z.B. 1 = Erster des Monats)</div>
227
- </div>
228
- <div class="form-group">
229
- <label for="monthlyStatsTime">Uhrzeit für Monatsstatistik</label>
230
- <input type="text" id="monthlyStatsTime" data-name="native.monthlyStatsTime" />
231
- <div class="hint">Format: HH:MM (z.B. 09:00)</div>
232
- </div>
233
-
234
- <h2>Wetter (Optional)</h2>
235
- <div class="form-group">
236
- <label for="weatherToday">Wetter heute</label>
237
- <input type="text" id="weatherToday" data-name="native.weatherToday" />
238
- </div>
239
- <div class="form-group">
240
- <label for="weatherTomorrow">Wetter morgen</label>
241
- <input type="text" id="weatherTomorrow" data-name="native.weatherTomorrow" />
242
- </div>
243
-
244
- <h2>Schwellwerte für Empfehlungen</h2>
245
- <div class="form-group">
246
- <label for="highProduction">Hohe Produktion ab (W)</label>
247
- <input type="number" id="highProduction" data-name="native.highProduction" />
248
- </div>
249
- <div class="form-group">
250
- <label for="highConsumption">Hoher Verbrauch ab (W)</label>
251
- <input type="number" id="highConsumption" data-name="native.highConsumption" />
252
- </div>
253
-
254
- <div class="button-row">
255
- <button class="btn-cancel" onclick="window.close()">Abbrechen</button>
256
- <button class="btn-save" onclick="save()">Speichern</button>
257
- </div>
258
- </div>
259
-
260
- <script>
261
- // Wird von ioBroker admin bereitgestellt
262
- function save(callback) {
263
- // Werte aus den Inputs sammeln
264
- const data = {};
265
- document.querySelectorAll('[data-name]').forEach(el => {
266
- const name = el.getAttribute('data-name');
267
- const value = el.type === 'number' ? parseFloat(el.value) : el.value;
268
- data[name] = value;
269
- });
270
-
271
- // An parent-Fenster senden (ioBroker admin)
272
- window.parent.postMessage({
273
- action: 'save',
274
- data: data
275
- }, '*');
276
-
277
- if (callback) callback();
278
- }
279
-
280
- // Werte laden (wird von ioBroker aufgerufen)
281
- function load(data) {
282
- document.querySelectorAll('[data-name]').forEach(el => {
283
- const name = el.getAttribute('data-name');
284
- if (data[name] !== undefined) {
285
- el.value = data[name];
286
- }
287
- });
288
- }
289
-
290
- // Auf Nachrichten vom Parent hören
291
- window.addEventListener('message', (event) => {
292
- if (event.data && event.data.action === 'load') {
293
- load(event.data.data);
294
- }
295
- });
296
- </script>
297
- </body>
298
- </html>
@@ -1,11 +0,0 @@
1
- /* global window, load, save */
2
- // This file is auto-generated
3
- window.adapterSettings = {
4
- url: 'jsonConfig.json',
5
- onLoad: function (settings, onChange) {
6
- load(settings, onChange);
7
- },
8
- onSave: function (callback) {
9
- save(callback);
10
- },
11
- };
@@ -1,13 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="512" height="512">
3
- <path d="M0 0 C0.93776779 -0.00571014 1.87553558 -0.01142029 2.84172058 -0.01730347 C3.86362488 -0.01842133 4.88552917 -0.01953918 5.93840027 -0.02069092 C7.56101021 -0.02813828 7.56101021 -0.02813828 9.21640015 -0.03573608 C12.7971612 -0.05034833 16.37787796 -0.05715805 19.95866394 -0.06268311 C22.44724529 -0.06843516 24.93582663 -0.07419289 27.42440796 -0.07995605 C32.64391791 -0.09046326 37.86341248 -0.09630783 43.08293152 -0.09979248 C48.44009018 -0.10355801 53.79711134 -0.11764635 59.15422058 -0.14080811 C65.62329309 -0.16834614 72.09223181 -0.18120114 78.56136131 -0.18312836 C81.02569886 -0.18615397 83.49003557 -0.19417939 85.95433998 -0.20731354 C89.40361109 -0.22438556 92.85238519 -0.22249069 96.30168152 -0.21600342 C97.82542892 -0.22982559 97.82542892 -0.22982559 99.37995911 -0.243927 C108.10067508 -0.19260001 113.9659835 1.7922927 120.31413269 8.14044189 C123.57224759 13.34927527 125.43534936 18.34303789 125.44556046 24.51183605 C125.4494016 25.38509885 125.45324275 26.25836165 125.45720029 27.15808696 C125.45633381 28.11303359 125.45546732 29.06798022 125.45457458 30.05186462 C125.45754571 31.06982032 125.46051683 32.08777602 125.46357799 33.13657886 C125.47227076 36.55804082 125.47377373 39.97946781 125.4752655 43.40093994 C125.47989329 45.84995092 125.48491789 48.29896117 125.49031067 50.74797058 C125.503441 57.40928393 125.50991768 64.07058357 125.51432133 70.73190665 C125.51708534 74.89294102 125.52132302 79.05397307 125.5258255 83.21500587 C125.53801777 94.74017408 125.54831678 106.26534043 125.55170059 117.79051495 C125.55202994 118.89676235 125.55202994 118.89676235 125.55236594 120.02535819 C125.55258422 120.76460365 125.5528025 121.50384912 125.55302739 122.26549596 C125.55347085 123.76344343 125.55391742 125.26139091 125.55436707 126.75933838 C125.55469921 127.87388472 125.55469921 127.87388472 125.55503806 129.01094715 C125.55898439 141.04531303 125.57643352 153.07961829 125.59972659 165.11396077 C125.62345908 177.47533892 125.63590333 189.83668669 125.63706851 202.19808799 C125.63798427 209.13614281 125.6437114 216.07411868 125.66188812 223.01215172 C125.67892985 229.53989568 125.68052753 236.06751644 125.67174911 242.59528542 C125.67097836 244.98938523 125.67532646 247.38349308 125.68520737 249.77757263 C125.6979195 253.04992693 125.69205357 256.32175015 125.68162537 259.59410095 C125.68968177 260.53789397 125.69773818 261.481687 125.70603871 262.45407981 C125.64245375 271.00594384 123.84584461 277.91229048 118.30241394 284.53497314 C111.50964197 290.01990297 105.51040338 290.7247325 97.06803894 290.65802002 C95.96781403 290.6650293 94.86758911 290.67203857 93.73402405 290.67926025 C90.1146332 290.69679597 86.49603084 290.68523242 82.87663269 290.67169189 C80.35132193 290.67438806 77.82601218 290.67827151 75.30070496 290.68328857 C70.0150607 290.68917765 64.72961963 290.68102382 59.4440155 290.66192627 C53.34992153 290.64016057 47.25636301 290.64721322 41.16228199 290.66923189 C35.27825663 290.68963339 29.39443331 290.68739486 23.51039124 290.67570496 C21.01618881 290.67304201 18.52197265 290.67629217 16.02778625 290.68562317 C12.53823466 290.69581385 9.04970238 290.68025066 5.56022644 290.65802002 C4.53557281 290.66611694 3.51091919 290.67421387 2.45521545 290.68255615 C-4.810615 290.59706771 -9.89795156 289.19905363 -15.67414856 284.53497314 C-21.96684202 277.01715353 -23.13497113 269.20458432 -23.06681824 259.62774658 C-23.07149821 258.60551876 -23.07617818 257.58329094 -23.08099997 256.53008652 C-23.09291214 253.12402912 -23.08350732 249.71837688 -23.0740509 246.31231689 C-23.07811827 243.86256679 -23.08346107 241.41281853 -23.08998108 238.96307373 C-23.10222368 233.01154021 -23.10045511 227.06016416 -23.09174316 221.10863686 C-23.0849543 216.26957901 -23.08405507 211.43055295 -23.08731461 206.5914917 C-23.0877743 205.9014693 -23.088234 205.21144691 -23.08870763 204.50051475 C-23.08966686 203.09853012 -23.0906395 201.69654551 -23.09162541 200.29456091 C-23.10016988 187.16345205 -23.09036 174.03240612 -23.07422431 160.90130758 C-23.06082197 149.6463521 -23.06315033 138.39148946 -23.07698059 127.13653564 C-23.0930531 114.05082294 -23.09934599 100.96516532 -23.0901438 87.87944412 C-23.0891882 86.48276012 -23.08824509 85.08607611 -23.08731461 83.68939209 C-23.08685178 83.00228582 -23.08638895 82.31517955 -23.0859121 81.60725188 C-23.08332722 76.77678967 -23.08768236 71.94636254 -23.09475327 67.11590576 C-23.10406985 60.60859589 -23.0973897 54.10143381 -23.0800705 47.59413147 C-23.07610892 45.20809723 -23.07723404 42.82204823 -23.08385849 40.4360199 C-23.09207679 37.17486112 -23.08174834 33.91426059 -23.06681824 30.65313721 C-23.0735104 29.71275478 -23.08020257 28.77237236 -23.08709753 27.8034935 C-23.01050805 19.15679653 -21.21511301 11.97493235 -15.23274231 5.57794189 C-10.6178505 1.28935556 -6.15070979 0.02250057 0 0 Z " fill="#38E053" transform="translate(204.6858673095703,111.85955810546875)"/>
4
- <path d="M0 0 C1.24587891 -0.02449219 2.49175781 -0.04898438 3.77539062 -0.07421875 C12.10901097 -0.10074486 17.81367839 0.51574564 24.24609375 6.19140625 C24.70113281 6.76761719 25.15617187 7.34382813 25.625 7.9375 C26.09808594 8.51628906 26.57117188 9.09507813 27.05859375 9.69140625 C29.61386293 13.50220561 29.29073436 17.12245427 29.25 21.5625 C29.24097656 22.83480469 29.23195313 24.10710937 29.22265625 25.41796875 C29.21105469 26.39378906 29.19945312 27.36960937 29.1875 28.375 C30.07421387 28.35928955 30.96092773 28.3435791 31.87451172 28.32739258 C35.21067322 28.27581591 38.54640208 28.23843509 41.8828125 28.21020508 C43.3181025 28.19525414 44.75334791 28.17488576 46.18847656 28.14868164 C60.00601262 27.90297232 71.93340966 29.69015727 82.453125 39.484375 C92.26216719 50.02001291 95.66399911 62.17401995 95.57518005 76.40499878 C95.58325836 77.98567302 95.58325836 77.98567302 95.59149987 79.59828007 C95.60570998 83.09933322 95.59869278 86.60000456 95.59155273 90.10107422 C95.59725993 92.62344667 95.60422553 95.14581655 95.61235046 97.66818237 C95.62840164 103.79055207 95.63039028 109.91278276 95.62513756 116.03516708 C95.62108394 121.01525749 95.62255351 125.99531767 95.62788582 130.97540665 C95.62863424 131.68620606 95.62938266 132.39700547 95.63015376 133.12934426 C95.63168536 134.57367889 95.63322371 136.01801351 95.63476873 137.46234812 C95.64847339 150.98463464 95.64307049 164.50686318 95.63158352 178.02914836 C95.62165388 190.37725641 95.63459073 202.72521457 95.65851771 215.07329951 C95.6829495 227.77845551 95.69250654 240.48354182 95.68586498 253.18872082 C95.68238173 260.31125125 95.68454545 267.43366648 95.70211601 274.55617905 C95.71843916 281.25564528 95.71359316 287.95478068 95.69481087 294.65425491 C95.69113401 297.1063405 95.69420692 299.5584474 95.70469666 302.01051331 C95.77277538 319.24661587 95.3824575 335.06496902 83.1875 348.59375 C77.84099004 353.71112382 72.07872912 356.77947137 65.1875 359.375 C64.37682571 359.72012131 63.56615143 360.06524261 62.73091125 360.42082214 C57.73847396 361.76519703 52.96583013 361.66160514 47.81713867 361.6496582 C46.1111274 361.6573246 46.1111274 361.6573246 44.37065125 361.66514587 C40.61553669 361.67903145 36.86060591 361.67808565 33.10546875 361.67578125 C30.49001497 361.67966911 27.87456183 361.68400397 25.2591095 361.68876648 C19.77745947 361.69697077 14.29586101 361.69607773 8.81420898 361.69067383 C2.49532969 361.68463989 -3.82332661 361.69693361 -10.14216787 361.7182439 C-16.23972307 361.73804518 -22.33717471 361.74102624 -28.43475914 361.73750877 C-31.02024547 361.73802124 -33.60573542 361.74324496 -36.19120216 361.75332069 C-39.81229285 361.76569913 -43.43287217 361.75888402 -47.05395508 361.74731445 C-48.11555847 361.75495819 -49.17716187 361.76260193 -50.27093506 361.77047729 C-62.18585453 361.68661478 -73.56046874 357.36783493 -82.5625 349.375 C-88.38557945 343.12995828 -93.92467261 332.44996427 -93.94951439 323.85392094 C-93.95458893 322.92179816 -93.95966347 321.98967539 -93.96489179 321.02930647 C-93.96538955 320.00345629 -93.96588731 318.97760611 -93.96640015 317.92066956 C-93.9707824 316.83218104 -93.97516465 315.74369252 -93.9796797 314.6222195 C-93.99308944 310.95590829 -93.99925153 307.28962114 -94.00537109 303.62329102 C-94.0132705 301.0019571 -94.02153935 298.38062427 -94.03015137 295.7592926 C-94.05467553 287.87759081 -94.06930473 279.9958827 -94.08221143 272.11415449 C-94.08592406 269.88696949 -94.08989726 267.65978511 -94.0939641 265.43260074 C-94.11920682 251.59566319 -94.14125534 237.75872464 -94.15369225 223.92176914 C-94.15662186 220.71648213 -94.15958353 217.51119514 -94.16259766 214.3059082 C-94.16334371 213.50926767 -94.16408976 212.71262714 -94.16485842 211.89184599 C-94.17750014 198.9993556 -94.21070671 186.10700349 -94.25239949 173.21457768 C-94.29487671 159.97067852 -94.31839415 146.72685001 -94.32361281 133.48288292 C-94.32702092 126.05001833 -94.33870455 118.61736962 -94.37171555 111.18457222 C-94.39979727 104.85130487 -94.41068015 98.51829765 -94.39952008 92.18497289 C-94.39435345 88.95697868 -94.3998478 85.72963936 -94.42198563 82.50170135 C-94.53233921 65.47971005 -94.18293664 52.31123623 -81.8125 39.375 C-73.29706681 31.59095371 -63.98527278 28.23025608 -52.54296875 28.27734375 C-51.86196609 28.2787587 -51.18096344 28.28017365 -50.47932434 28.28163147 C-48.31950353 28.28719702 -46.15978911 28.29974297 -44 28.3125 C-42.52929838 28.31751946 -41.05859512 28.32208159 -39.58789062 28.32617188 C-35.9960596 28.33715512 -32.4042902 28.35439578 -28.8125 28.375 C-28.83787842 27.41803223 -28.86325684 26.46106445 -28.8894043 25.47509766 C-28.90914307 24.21745605 -28.92888184 22.95981445 -28.94921875 21.6640625 C-28.97459717 20.41834473 -28.99997559 19.17262695 -29.02612305 17.88916016 C-28.64382307 11.60021637 -25.72688997 8.19367047 -21.3125 4 C-14.47906563 -0.44173234 -7.92424328 0.00812326 0 0 Z M-76.125 49.75 C-82.66786294 57.94635819 -82.96215721 66.74217412 -82.94621277 76.75471497 C-82.94847833 77.79888083 -82.95074388 78.84304669 -82.95307809 79.91885394 C-82.95940724 83.4170239 -82.95858942 86.91515502 -82.95776367 90.41333008 C-82.96075584 92.92174835 -82.9641585 95.43016617 -82.96794128 97.93858337 C-82.97586156 104.04488399 -82.97899569 110.15117038 -82.97955366 116.25747565 C-82.98002929 121.22245533 -82.98208636 126.18743183 -82.98525429 131.15241051 C-82.99405825 145.23777953 -82.99867407 159.32314095 -82.99792381 173.40851275 C-82.99788386 174.16742669 -82.9978439 174.92634062 -82.99780273 175.70825195 C-82.99776185 176.46809553 -82.99772097 177.22793911 -82.99767885 178.01080825 C-82.99727247 190.32309276 -83.00684085 202.63534668 -83.0209411 214.94762234 C-83.03531431 227.59834675 -83.04221076 240.24905625 -83.04134732 252.89978904 C-83.04101568 259.99876077 -83.04374852 267.09770044 -83.05452538 274.19666481 C-83.06459713 280.87380764 -83.06428537 287.55087156 -83.05700874 294.22802162 C-83.05596293 296.67694701 -83.05832558 299.12587662 -83.0643692 301.57479477 C-83.07209244 304.92138744 -83.06744192 308.26774642 -83.05973816 311.61433411 C-83.06488172 312.58010858 -83.07002529 313.54588305 -83.07532471 314.54092342 C-83.0232212 324.80538169 -81.41578563 333.46413545 -74.17578125 341.1015625 C-67.76893322 346.94691149 -60.62094295 349.48410679 -51.95063782 349.51544189 C-50.99900253 349.52115204 -50.04736725 349.52686218 -49.06689453 349.53274536 C-47.51844849 349.53442215 -47.51844849 349.53442215 -45.9387207 349.53613281 C-44.84214645 349.54109772 -43.7455722 349.54606262 -42.61576843 349.55117798 C-38.98993297 349.56577594 -35.36414127 349.57259813 -31.73828125 349.578125 C-29.21347554 349.58387892 -26.68866983 349.58963663 -24.16386414 349.59539795 C-19.54510553 349.60455994 -14.92635999 349.61086261 -10.3075946 349.6138947 C-3.53110608 349.6183689 3.24518007 349.63589175 10.0216071 349.6648953 C15.90930223 349.68921123 21.79693048 349.69684363 27.6846714 349.69857025 C30.18002231 349.70158939 32.67537252 349.70959285 35.17069054 349.72275543 C38.66953036 349.73989229 42.16788279 349.73791663 45.66674805 349.73144531 C46.68892426 349.7406601 47.71110046 349.74987488 48.76425171 349.7593689 C58.51884823 349.70311654 67.60920441 347.87106027 74.77734375 340.80859375 C80.60705702 334.43724452 83.30823593 327.44907811 83.31613445 318.77123642 C83.32097112 317.42178 83.32097112 317.42178 83.3259055 316.04506183 C83.3243569 315.0657914 83.3228083 314.08652097 83.32121277 313.07757568 C83.3246111 311.5064832 83.3246111 311.5064832 83.32807809 309.90365148 C83.33441601 306.38855597 83.33358885 302.87349903 83.33276367 299.35839844 C83.33575531 296.84027557 83.33915785 294.32215317 83.34294128 291.80403137 C83.35086649 285.67018808 83.35399595 279.53635896 83.35455366 273.40251103 C83.35502908 268.41510087 83.35708512 263.42769388 83.36025429 258.44028473 C83.36906028 244.29367003 83.37367383 230.14706291 83.37292381 216.00044546 C83.37288386 215.23797912 83.3728439 214.47551278 83.37280273 213.68994141 C83.37274141 212.54484186 83.37274141 212.54484186 83.37267885 211.376609 C83.37227255 199.00929549 83.38183829 186.64201246 83.3959411 174.27470776 C83.41031433 161.56977442 83.41721074 148.86485593 83.41634732 136.15991426 C83.41601565 129.02962854 83.41874972 121.89937476 83.42952538 114.76909637 C83.43959725 108.0615982 83.43928532 101.35417858 83.43200874 94.6466732 C83.4309629 92.18646077 83.43332577 89.72624413 83.4393692 87.26603889 C83.44709205 83.90406635 83.44244214 80.54232646 83.43473816 77.18035889 C83.4424535 75.72483758 83.4424535 75.72483758 83.45032471 74.23991179 C83.39839377 63.96315238 81.80047656 55.29608744 74.55078125 47.6484375 C65.92150032 39.77543063 56.49914876 39.22474952 45.36791992 39.22973633 C43.74969078 39.22469841 43.74969078 39.22469841 42.09877014 39.21955872 C38.53849124 39.21007332 34.97825949 39.20810679 31.41796875 39.20703125 C28.93703695 39.20381694 26.45610535 39.20045274 23.97517395 39.19694519 C18.77600668 39.19095992 13.57685602 39.18910467 8.37768555 39.18969727 C1.72665877 39.18979884 -4.92422371 39.17614868 -11.5752306 39.15892506 C-16.6994424 39.14778797 -21.82362851 39.14577859 -26.94785118 39.14630699 C-29.39936377 39.14512938 -31.85087707 39.14071991 -34.3023777 39.13297462 C-37.73657264 39.12314064 -41.17053741 39.12606639 -44.60473633 39.13208008 C-45.61023529 39.12646057 -46.61573425 39.12084106 -47.65170288 39.11505127 C-58.99614691 39.16534704 -68.24755082 41.11585004 -76.125 49.75 Z " fill="#484D4C" transform="translate(255.8125,62.625)"/>
5
- <path d="M0 0 C4.87218647 1.47664729 8.2347774 5.02116227 11.5390625 8.76953125 C13.58616743 12.86374111 13.31743191 17.34723985 12.5390625 21.76953125 C10.38161104 25.57299473 7.51289759 28.58362364 4.5390625 31.76953125 C-24.84550367 65.47950557 -40.59013125 108.96488423 -38.4609375 153.76953125 C-35.44069754 194.46506885 -19.94138379 232.90412438 8.40625 262.734375 C11.71799617 266.22834643 13.46848888 268.89181416 13.6953125 273.796875 C13.24760381 279.44919727 10.81225773 282.83217851 6.9140625 286.70703125 C3.24717226 289.67546621 0.48081071 290.80362826 -4.2421875 290.375 C-19.97233467 286.08244223 -34.02971508 261.04964983 -41.59667969 247.8815918 C-43.62762664 244.21540445 -45.56291462 240.50597523 -47.4609375 236.76953125 C-47.81881348 236.07682129 -48.17668945 235.38411133 -48.54541016 234.67041016 C-58.09200945 216.03893102 -63.68459374 196.30417718 -67.4609375 175.76953125 C-67.64712646 174.78742676 -67.83331543 173.80532227 -68.02514648 172.79345703 C-69.59529789 163.74662854 -69.90110759 154.79868315 -69.8984375 145.64453125 C-69.899505 144.86117401 -69.90057251 144.07781677 -69.90167236 143.27072144 C-69.87256984 128.36135011 -68.07314357 114.26101939 -64.4609375 99.76953125 C-64.22568359 98.81530273 -63.99042969 97.86107422 -63.74804688 96.87792969 C-62.20295787 90.76780499 -60.43835502 84.75330462 -58.4609375 78.76953125 C-58.21150391 78.01446289 -57.96207031 77.25939453 -57.70507812 76.48144531 C-48.9680555 50.7757322 -33.78027716 27.64825216 -15.4609375 7.76953125 C-14.74164063 6.9703125 -14.02234375 6.17109375 -13.28125 5.34765625 C-9.22549437 1.27561244 -5.82661201 -0.3878395 0 0 Z " fill="#12AC12" transform="translate(80.4609375,114.23046875)"/>
6
- <path d="M0 0 C4.82837048 3.2553267 8.46318153 7.67459826 12.1015625 12.1640625 C13.35646484 13.68193359 13.35646484 13.68193359 14.63671875 15.23046875 C49.11025412 57.54029537 64.00221443 110.17639962 59.86279297 164.28515625 C59.25696359 169.97815584 58.27634047 175.56361234 57.1015625 181.1640625 C56.96234375 181.86917969 56.823125 182.57429687 56.6796875 183.30078125 C49.47099686 219.4109816 32.38533257 252.37944785 7.6015625 279.5390625 C7.10930176 280.08071045 6.61704102 280.6223584 6.10986328 281.18041992 C2.98024867 284.51475044 0.54050762 286.82261018 -4.046875 287.46484375 C-9.10802955 287.49148141 -12.46794957 286.89051661 -16.8984375 284.1640625 C-16.8984375 283.5040625 -16.8984375 282.8440625 -16.8984375 282.1640625 C-17.8884375 281.8340625 -18.8784375 281.5040625 -19.8984375 281.1640625 C-22.19346969 277.17795396 -22.69091652 272.66329825 -21.8984375 268.1640625 C-20.02362319 264.35704161 -17.44787611 261.42009001 -14.62182617 258.30688477 C-2.56883825 245.02432553 6.54464543 230.37515392 14.1015625 214.1640625 C14.55917969 213.27203125 15.01679688 212.38 15.48828125 211.4609375 C33.7723379 174.77746738 33.42875668 128.00455459 20.97705078 89.72363281 C12.85740713 65.98510964 0.27652889 44.45178331 -17.05859375 26.27734375 C-21.08028273 21.65795152 -22.41341285 18.33993691 -22.18359375 12.3046875 C-21.47148733 6.95901192 -17.75688286 3.63666332 -13.8984375 0.1640625 C-9.34475299 -1.35383234 -4.51440563 -1.9878247 0 0 Z " fill="#11AC11" transform="translate(439.8984375,111.8359375)"/>
7
- <path d="M0 0 C6.46573494 5.42635793 6.46573494 5.42635793 7.5078125 9.76171875 C7.80067191 13.81619455 7.72969423 16.57120797 5.37109375 19.984375 C3.83841473 21.62105724 2.27853222 23.23248929 0.69921875 24.82421875 C-20.74570891 47.10587047 -30.64006278 78.05640981 -30.21484375 108.55859375 C-29.38400572 135.49928618 -18.46927033 161.89228246 -0.21484375 181.68359375 C7.64952501 190.3092509 7.64952501 190.3092509 8.05859375 195.8828125 C7.45592595 201.45973846 4.20395058 205.14337025 -0.00390625 208.6328125 C-4.46487306 211.35795957 -8.92349821 211.61512704 -14.00390625 210.6328125 C-17.20172024 208.77226618 -19.51888676 206.35017121 -22.00390625 203.6328125 C-22.638125 202.98054687 -23.27234375 202.32828125 -23.92578125 201.65625 C-34.25695775 190.6225535 -41.7638637 178.30787665 -48.00390625 164.6328125 C-48.47570312 163.61574219 -48.9475 162.59867188 -49.43359375 161.55078125 C-54.56276536 149.90660595 -58.31088389 137.25173496 -60.00390625 124.6328125 C-60.17019531 123.43978516 -60.17019531 123.43978516 -60.33984375 122.22265625 C-62.91768189 99.68399032 -60.4504611 77.02967291 -53.00390625 55.6328125 C-52.35808594 53.77462891 -52.35808594 53.77462891 -51.69921875 51.87890625 C-45.87449415 36.36276133 -37.63742037 22.31993491 -27.00390625 9.6328125 C-25.89982422 8.30056641 -25.89982422 8.30056641 -24.7734375 6.94140625 C-17.93112383 -1.05626996 -10.0953319 -6.88765334 0 0 Z " fill="#12AC12" transform="translate(127.00390625,155.3671875)"/>
8
- <path d="M0 0 C25.21610587 20.86671595 40.4484603 56.9017799 44.02734375 88.82421875 C46.80180343 131.32580008 35.69227755 167.4930515 9.02734375 200.82421875 C8.3725 201.64792969 7.71765625 202.47164062 7.04296875 203.3203125 C3.33854954 207.78692416 0.08104967 211.1798671 -5.9140625 212.1328125 C-11.0609646 212.45510428 -13.96408295 211.2092362 -17.97265625 207.82421875 C-20.83542124 205.21038984 -22.69577282 203.30253551 -23.421875 199.42578125 C-23.67339085 193.6495896 -22.8006362 190.30575625 -18.97265625 185.82421875 C-18.35132813 185.1796875 -17.73 184.53515625 -17.08984375 183.87109375 C-1.35494076 167.29022823 7.00009633 146.83353368 12.02734375 124.82421875 C12.20765137 124.04071045 12.38795898 123.25720215 12.57373047 122.44995117 C17.62527945 93.20914959 9.3289957 62.81863665 -7.16796875 38.6015625 C-10.14278976 34.58503587 -13.16181974 30.70775945 -16.54296875 27.0234375 C-23.56023763 19.24724769 -23.56023763 19.24724769 -23.97265625 13.13671875 C-23.52072016 7.96538447 -21.49842077 4.9305273 -17.828125 1.35546875 C-12.55516985 -2.99610687 -5.99319126 -3.57217935 0 0 Z " fill="#11AC11" transform="translate(400.97265625,150.17578125)"/>
9
- <path d="M0 0 C0.9742903 3.07500611 0.98440535 5.02560455 0.17089844 8.1340332 C-0.13566681 9.34871529 -0.13566681 9.34871529 -0.44842529 10.5879364 C-0.79106415 11.8998571 -0.79106415 11.8998571 -1.140625 13.23828125 C-3.11355136 21.13848847 -4.87872338 29.04752448 -6.421875 37.04296875 C-6.61495239 38.04143829 -6.80802979 39.03990784 -7.00695801 40.06863403 C-7.59138323 43.10761459 -8.17124046 46.14743576 -8.75 49.1875 C-9.34598758 52.30740102 -9.94334646 55.42701675 -10.54425049 58.54597473 C-10.91342154 60.46295095 -11.27971852 62.3804835 -11.64276123 64.29862976 C-11.8887204 65.57816277 -11.8887204 65.57816277 -12.13964844 66.88354492 C-12.28223083 67.63294846 -12.42481323 68.38235199 -12.57171631 69.15446472 C-13 71 -13 71 -14 73 C-13.50242188 72.70867187 -13.00484375 72.41734375 -12.4921875 72.1171875 C-9.14729496 70.61775291 -5.68838244 69.90635287 -2.125 69.125 C5.67588572 67.35550216 13.32713415 65.26568495 21 63 C23.33216517 62.3291671 25.66597423 61.66434487 28 61 C27.25505249 64.82803853 25.6065523 68.17941371 23.9296875 71.66796875 C23.61693375 72.32683578 23.30417999 72.98570282 22.98194885 73.66453552 C22.3044947 75.09151254 21.62554885 76.51778212 20.94528198 77.94342041 C19.10944753 81.7926477 17.28649897 85.64795239 15.46484375 89.50390625 C15.09027542 90.29661926 14.71570709 91.08933228 14.32978821 91.90606689 C10.6192805 99.77649801 7.01876795 107.69512637 3.4375 115.625 C-3.88302557 131.8249319 -11.41426243 147.92278943 -19 164 C-20.16796345 160.49610964 -19.76979319 159.13017624 -18.92578125 155.58203125 C-18.54595093 153.96095459 -18.54595093 153.96095459 -18.15844727 152.30712891 C-17.87928467 151.15390137 -17.60012207 150.00067383 -17.3125 148.8125 C-17.03140381 147.62575684 -16.75030762 146.43901367 -16.46069336 145.21630859 C-15.65021275 141.80843171 -14.82825924 138.40359473 -14 135 C-13.81244141 134.22865723 -13.62488281 133.45731445 -13.43164062 132.66259766 C-12.51801127 128.92883687 -11.57615413 125.20251312 -10.62744141 121.47753906 C-9.1530109 115.65554654 -7.70520437 109.82682108 -6.25 104 C-5.1775 99.71 -4.105 95.42 -3 91 C-22.8 95.95 -22.8 95.95 -43 101 C-42.05467846 96.27339228 -40.54549719 92.33854125 -38.59765625 87.984375 C-38.24821457 87.19229141 -37.89877289 86.40020782 -37.53874207 85.5841217 C-36.38458317 82.97069162 -35.22349366 80.36040004 -34.0625 77.75 C-33.25499956 75.92430849 -32.44804142 74.09837703 -31.64160156 72.2722168 C-29.95541935 68.45510733 -28.26686985 64.6390582 -26.57666016 60.82373047 C-22.83585223 52.37486852 -19.12212564 43.91412355 -15.40914917 35.45300293 C-14.2790637 32.87870614 -13.14763094 30.30500549 -12.01586914 27.73144531 C-7.96199191 18.50800909 -3.94725005 9.26962852 0 0 Z " fill="#FAFEFB" transform="translate(263,166)"/>
10
- <path d="M0 0 C1.45606519 4.52092968 0.27032841 7.51648796 -1 12 C-2.32 12.33 -3.64 12.66 -5 13 C-3.58192622 8.52761347 -1.88695626 4.28853694 0 0 Z " fill="#C5F5CD" transform="translate(263,166)"/>
11
- <path d="M0 0 C0.66 0.99 1.32 1.98 2 3 C5.56769552 3.73606499 5.56769552 3.73606499 9 4 C9 4.33 9 4.66 9 5 C5.7 5.66 2.4 6.32 -1 7 C-0.67 4.69 -0.34 2.38 0 0 Z " fill="#47E15F" transform="translate(250,232)"/>
12
- <path d="M0 0 C-0.33 1.65 -0.66 3.3 -1 5 C-1.33 4.01 -1.66 3.02 -2 2 C-4.31 2 -6.62 2 -9 2 C-5.86501708 0.14223235 -3.62528568 -0.20140476 0 0 Z " fill="#46E15F" transform="translate(260,257)"/>
13
- </svg>