From 3e5eed24c6bc4cb6a330341a1a7eb2afee556be2 Mon Sep 17 00:00:00 2001 From: Yuri Trikoz Date: Wed, 17 Jun 2020 23:30:48 +0300 Subject: [PATCH] broken - need repair --- .gitattributes | 2 - .gitignore | 7 + .vscode/extensions.json | 7 + .vscode/settings.json | 23 + CH341SER_WIN_3.5.ZIP | Bin 183973 -> 0 bytes Cmd.ino | 599 ------------------ ESP32FS.7z | Bin 7062 -> 0 bytes ESP8266FS.7z | Bin 6577 -> 0 bytes FS.ino | 38 -- Init.ino | 246 ------- Logging.ino | 153 ----- README.md | 37 -- Scenario.ino | 94 --- Sensors.ino | 556 ---------------- Ticker_for_TickerScheduler/Ticker/Ticker.cpp | 87 --- Ticker_for_TickerScheduler/Ticker/Ticker.h | 136 ---- .../examples/TickerBasic/TickerBasic.ino | 45 -- .../TickerFunctional/TickerFunctional.ino | 64 -- .../TickerParameter/TickerParameter.ino | 35 - .../Ticker/library.properties | 10 - Time.ino | 143 ----- Timers.ino | 89 --- Upgrade.ino | 277 -------- Web_server.ino | 231 ------- WiFi.ino | 213 ------- Widgets.ino | 88 --- bus.ino | 33 - data_excess/.exclude.files | 2 - data_excess/ace.js.gz | Bin 98943 -> 0 bytes data_excess/config-all.json | 20 - data_excess/edit.htm.gz | Bin 5906 -> 0 bytes data_excess/favicon.ico | Bin 1150 -> 0 bytes data_excess/mode-html.js.gz | Bin 17037 -> 0 bytes data_excess/page.htm.gz | Bin 1457 -> 0 bytes data_excess/robots.txt | 2 - data_excess/worker-html.js.gz | Bin 50024 -> 0 bytes data_for_edit_for_esp32_ace.js.gz/ace.js.gz | Bin 98943 -> 0 bytes .../WiFiClientSecure/WiFiClientSecure.cpp | 197 ------ .../WiFiClientSecure/WiFiClientSecure.h | 92 --- dependencies/WiFiClientSecure/ssl_client.cpp | 261 -------- dependencies/WiFiClientSecure/ssl_client.h | 37 -- ...2-esp8266_iot-manager_modules_firmware.ino | 89 --- include/Cmd.h | 36 ++ include/FileSystem.h | 6 + include/Init.h | 5 + include/Logging.h | 6 + include/Mqtt.h | 11 + include/Scenario.h | 5 + include/Sensors.h | 3 + include/Strings_.h | 138 ++++ include/TimeUtils.h | 14 + include/Timers.h | 10 + include/Upgrade.h | 3 + include/WiFiUtils.h | 4 + include/Widgets.h | 8 + include/i2c_bus.h | 7 + include/main.h | 31 + include/push_pushingbox.h | 63 ++ set.h => include/set.h | 85 +-- lib/ESP8266-StringCommand/StringCommand.cpp | 132 ++++ lib/ESP8266-StringCommand/StringCommand.h | 75 +++ .../ESP8266-StringCommand}/keywords.txt | 22 +- lib/ESP8266-StringCommand/readme.md | 5 + lib/ESPrelay/.gitattributes | 17 + lib/ESPrelay/TheThingsMQTT.cpp | 215 +++++++ lib/ESPrelay/TheThingsMQTT.h | 58 ++ lib/ESPrelay/TickerScheduler.cpp | 116 ++++ lib/ESPrelay/TickerScheduler.h | 79 +++ lib/ESPrelay/subscribe_and_publish.ino | 182 ++++++ lib/README | 46 ++ main.ino | 447 ------------- mqtt.ino | 348 ---------- pictures/1.png | Bin 2779 -> 0 bytes pictures/esp32_1.png | Bin 110940 -> 0 bytes pictures/esp32_2.png | Bin 143873 -> 0 bytes pictures/esp8266_1.png | Bin 112540 -> 0 bytes pictures/esp8266_1mb_1.png | Bin 134789 -> 0 bytes pictures/esp8266_1mb_2.png | Bin 129290 -> 0 bytes pictures/esp8266_2.png | Bin 135794 -> 0 bytes platformio.ini | 27 + push_pushingbox.ino | 62 -- src/Cmd.cpp | 574 +++++++++++++++++ src/FileSystem.cpp | 40 ++ src/Init.cpp | 251 ++++++++ src/Logging.cpp | 176 +++++ src/Mqtt.cpp | 352 ++++++++++ src/Scenario.cpp | 98 +++ src/Sensors.cpp | 561 ++++++++++++++++ src/TimeUtils.cpp | 149 +++++ src/Timers.cpp | 93 +++ src/Upgrade.cpp | 235 +++++++ src/Web_server.cpp | 231 +++++++ src/WiFiUtils.cpp | 163 +++++ src/Widgets.cpp | 82 +++ src/i2c_bus.cpp | 38 ++ src/iot_firmware.cpp | 88 +++ src/main.cpp | 399 ++++++++++++ udp.ino => src/udp.cpp | 0 sync.ffs_db | Bin 182 -> 0 bytes test/README | 11 + 100 files changed, 4935 insertions(+), 4785 deletions(-) delete mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json delete mode 100644 CH341SER_WIN_3.5.ZIP delete mode 100644 Cmd.ino delete mode 100644 ESP32FS.7z delete mode 100644 ESP8266FS.7z delete mode 100644 FS.ino delete mode 100644 Init.ino delete mode 100644 Logging.ino delete mode 100644 README.md delete mode 100644 Scenario.ino delete mode 100644 Sensors.ino delete mode 100644 Ticker_for_TickerScheduler/Ticker/Ticker.cpp delete mode 100644 Ticker_for_TickerScheduler/Ticker/Ticker.h delete mode 100644 Ticker_for_TickerScheduler/Ticker/examples/TickerBasic/TickerBasic.ino delete mode 100644 Ticker_for_TickerScheduler/Ticker/examples/TickerFunctional/TickerFunctional.ino delete mode 100644 Ticker_for_TickerScheduler/Ticker/examples/TickerParameter/TickerParameter.ino delete mode 100644 Ticker_for_TickerScheduler/Ticker/library.properties delete mode 100644 Time.ino delete mode 100644 Timers.ino delete mode 100644 Upgrade.ino delete mode 100644 Web_server.ino delete mode 100644 WiFi.ino delete mode 100644 Widgets.ino delete mode 100644 bus.ino delete mode 100644 data_excess/.exclude.files delete mode 100644 data_excess/ace.js.gz delete mode 100644 data_excess/config-all.json delete mode 100644 data_excess/edit.htm.gz delete mode 100644 data_excess/favicon.ico delete mode 100644 data_excess/mode-html.js.gz delete mode 100644 data_excess/page.htm.gz delete mode 100644 data_excess/robots.txt delete mode 100644 data_excess/worker-html.js.gz delete mode 100644 data_for_edit_for_esp32_ace.js.gz/ace.js.gz delete mode 100644 dependencies/WiFiClientSecure/WiFiClientSecure.cpp delete mode 100644 dependencies/WiFiClientSecure/WiFiClientSecure.h delete mode 100644 dependencies/WiFiClientSecure/ssl_client.cpp delete mode 100644 dependencies/WiFiClientSecure/ssl_client.h delete mode 100644 esp32-esp8266_iot-manager_modules_firmware.ino create mode 100644 include/Cmd.h create mode 100644 include/FileSystem.h create mode 100644 include/Init.h create mode 100644 include/Logging.h create mode 100644 include/Mqtt.h create mode 100644 include/Scenario.h create mode 100644 include/Sensors.h create mode 100644 include/Strings_.h create mode 100644 include/TimeUtils.h create mode 100644 include/Timers.h create mode 100644 include/Upgrade.h create mode 100644 include/WiFiUtils.h create mode 100644 include/Widgets.h create mode 100644 include/i2c_bus.h create mode 100644 include/main.h create mode 100644 include/push_pushingbox.h rename set.h => include/set.h (80%) create mode 100644 lib/ESP8266-StringCommand/StringCommand.cpp create mode 100644 lib/ESP8266-StringCommand/StringCommand.h rename {Ticker_for_TickerScheduler/Ticker => lib/ESP8266-StringCommand}/keywords.txt (59%) create mode 100644 lib/ESP8266-StringCommand/readme.md create mode 100644 lib/ESPrelay/.gitattributes create mode 100644 lib/ESPrelay/TheThingsMQTT.cpp create mode 100644 lib/ESPrelay/TheThingsMQTT.h create mode 100644 lib/ESPrelay/TickerScheduler.cpp create mode 100644 lib/ESPrelay/TickerScheduler.h create mode 100644 lib/ESPrelay/subscribe_and_publish.ino create mode 100644 lib/README delete mode 100644 main.ino delete mode 100644 mqtt.ino delete mode 100644 pictures/1.png delete mode 100644 pictures/esp32_1.png delete mode 100644 pictures/esp32_2.png delete mode 100644 pictures/esp8266_1.png delete mode 100644 pictures/esp8266_1mb_1.png delete mode 100644 pictures/esp8266_1mb_2.png delete mode 100644 pictures/esp8266_2.png create mode 100644 platformio.ini delete mode 100644 push_pushingbox.ino create mode 100644 src/Cmd.cpp create mode 100644 src/FileSystem.cpp create mode 100644 src/Init.cpp create mode 100644 src/Logging.cpp create mode 100644 src/Mqtt.cpp create mode 100644 src/Scenario.cpp create mode 100644 src/Sensors.cpp create mode 100644 src/TimeUtils.cpp create mode 100644 src/Timers.cpp create mode 100644 src/Upgrade.cpp create mode 100644 src/Web_server.cpp create mode 100644 src/WiFiUtils.cpp create mode 100644 src/Widgets.cpp create mode 100644 src/i2c_bus.cpp create mode 100644 src/iot_firmware.cpp create mode 100644 src/main.cpp rename udp.ino => src/udp.cpp (100%) delete mode 100644 sync.ffs_db create mode 100644 test/README diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index dfe07704..00000000 --- a/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..65469d13 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.pio +.vscode/.browse.c_cpp.db* +.vscode/c_cpp_properties.json +.vscode/launch.json +.vscode/ipch +lib/libraies-master + diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..e80666bf --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format + "recommendations": [ + "platformio.platformio-ide" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..4f7fce41 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,23 @@ +{ + "terminal.integrated.env.windows": { + "PATH": "C:\\Users\\ytrikoz\\.platformio\\penv\\Scripts;C:\\Users\\ytrikoz\\.platformio\\penv;C:\\Program Files (x86)\\Borland\\Delphi7\\Bin;C:\\Program Files (x86)\\Borland\\Delphi7\\Projects\\Bpl\\;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\Git\\cmd\\;c:\\android-studio\\jre\\jre\\bin\\;C:\\Program Files (x86)\\Microsoft SQL Server\\150\\DTS\\Binn\\;C:\\Front\\Shared\\;C:\\Program Files (x86)\\Plantronics\\Spokes3G\\;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\Client SDK\\ODBC\\170\\Tools\\Binn\\;C:\\Program Files\\nodejs\\;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files\\dotnet\\;C:\\Users\\ytrikoz\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\ytrikoz\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\ytrikoz\\AppData\\Roaming\\npm;C:\\MinGW\\bin;;C:\\Program Files (x86)\\West Wind Html Help Builder;C:\\Program Files (x86)\\Borland\\Delphi7\\Bin;C:\\Program Files (x86)\\Borland\\Delphi7\\Projects\\Bpl\\;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files\\Git\\cmd\\;c:\\android-studio\\jre\\jre\\bin\\;C:\\Program Files (x86)\\Microsoft SQL Server\\150\\DTS\\Binn\\;C:\\Front\\Shared\\;C:\\Program Files (x86)\\Plantronics\\Spokes3G\\;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\Client SDK\\ODBC\\170\\Tools\\Binn\\;C:\\Program Files\\nodejs\\;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files\\dotnet\\;C:\\Users\\ytrikoz\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\ytrikoz\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\ytrikoz\\AppData\\Roaming\\npm;C:\\MinGW\\bin;;C:\\Program Files (x86)\\West Wind Html Help Builder", + "PLATFORMIO_CALLER": "vscode" + }, + "files.associations": { + "*.cpp": "cpp", + "functional": "cpp", + "*.tcc": "cpp", + "optional": "cpp", + "ratio": "cpp", + "system_error": "cpp", + "array": "cpp", + "regex": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "bitset": "cpp", + "chrono": "cpp", + "algorithm": "cpp", + "random": "cpp" + } +} \ No newline at end of file diff --git a/CH341SER_WIN_3.5.ZIP b/CH341SER_WIN_3.5.ZIP deleted file mode 100644 index 0850ee30159e09b29e0ff7fc8d871d8f62f7ae31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183973 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 0) { - text.replace("-time", ""); - text.replace("#", " "); - String time = GetTime(); - time.replace(":", "."); - text = text + " " + GetDataDigital() + " " + time; - } - - jsonWriteStr(configJson, "text" + number, text); - sendSTATUS("text" + number, text); -} -//===================================================================================================================================== -//=========================================Модуль шагового мотора====================================================================== -#ifdef stepper_enable -//stepper 1 12 13 -void stepper() { - String stepper_number = sCmd.next(); - String pin_step = sCmd.next(); - String pin_dir = sCmd.next(); - - jsonWriteStr(optionJson, "stepper" + stepper_number, pin_step + " " + pin_dir); - pinMode(pin_step.toInt(), OUTPUT); - pinMode(pin_dir.toInt(), OUTPUT); -} - -//stepperSet 1 100 5 -void stepperSet() { - String stepper_number = sCmd.next(); - String steps = sCmd.next(); - jsonWriteStr(optionJson, "steps" + stepper_number, steps); - String stepper_speed = sCmd.next(); - String pin_step = selectToMarker (jsonReadStr(optionJson, "stepper" + stepper_number), " "); - String pin_dir = deleteBeforeDelimiter (jsonReadStr(optionJson, "stepper" + stepper_number), " "); - Serial.println(pin_step); - Serial.println(pin_dir); - if (steps.toInt() > 0) digitalWrite(pin_dir.toInt(), HIGH); - if (steps.toInt() < 0) digitalWrite(pin_dir.toInt(), LOW); - if (stepper_number == "1") { - ts.add(STEPPER1, stepper_speed.toInt(), [&](void*) { - int steps_int = abs(jsonReadInt(optionJson, "steps1") * 2); - static int count; - count++; - String pin_step = selectToMarker (jsonReadStr(optionJson, "stepper1"), " "); - digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt())); - yield(); - if (count > steps_int) { - digitalWrite(pin_step.toInt(), LOW); - ts.remove(STEPPER1); - count = 0; - } - }, nullptr, true); - } - if (stepper_number == "2") { - ts.add(STEPPER2, stepper_speed.toInt(), [&](void*) { - int steps_int = abs(jsonReadInt(optionJson, "steps2") * 2); - static int count; - count++; - String pin_step = selectToMarker (jsonReadStr(optionJson, "stepper2"), " "); - digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt())); - yield(); - if (count > steps_int) { - digitalWrite(pin_step.toInt(), LOW); - ts.remove(STEPPER2); - count = 0; - } - }, nullptr, true); - } -} -#endif -//==================================================================================================================================================== -//=================================================================Сервоприводы======================================================================= -#ifdef servo_enable -//servo 1 13 50 Мой#сервопривод Сервоприводы 0 100 0 180 2 -void servo_() { - String servo_number = sCmd.next(); - String servo_pin = sCmd.next(); - String start_state = sCmd.next(); - int start_state_int = start_state.toInt(); - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - - String min_value = sCmd.next(); - String max_value = sCmd.next(); - - String min_deg = sCmd.next(); - String max_deg = sCmd.next(); - - String page_number = sCmd.next(); - - jsonWriteStr(optionJson, "servo_pin" + servo_number, servo_pin); - start_state_int = map(start_state_int, min_value.toInt(), max_value.toInt(), min_deg.toInt(), max_deg.toInt()); - - if (servo_number == "1") { -#ifdef ESP8266 - myServo1.attach(servo_pin.toInt()); - myServo1.write(start_state_int); -#endif -#ifdef ESP32 - myServo1.attach(servo_pin.toInt(), 500, 2400); - myServo1.write(start_state_int); -#endif - } - - if (servo_number == "2") { -#ifdef ESP8266 - myServo2.attach(servo_pin.toInt()); - myServo2.write(start_state_int); -#endif -#ifdef ESP32 - myServo2.attach(servo_pin.toInt(), 500, 2400); - myServo2.write(start_state_int); -#endif - } - - jsonWriteStr(optionJson, "s_min_val" + servo_number, min_value); - jsonWriteStr(optionJson, "s_max_val" + servo_number, max_value); - jsonWriteStr(optionJson, "s_min_deg" + servo_number, min_deg); - jsonWriteStr(optionJson, "s_max_deg" + servo_number, max_deg); - - jsonWriteStr(configJson, "servo" + servo_number, start_state); - - createWidgetParam (widget_name, page_name, page_number, "widgets/widget.range.json", "servo" + servo_number, "min", min_value, "max", max_value, "k", "1"); -} - -void servoSet() { - String servo_number = sCmd.next(); - String servo_state = sCmd.next(); - int servo_state_int = servo_state.toInt(); - - int pin = jsonReadInt(optionJson, "servo_pin" + servo_number); - - servo_state_int = map(servo_state_int, - jsonReadInt(optionJson, "s_min_val" + servo_number), - jsonReadInt(optionJson, "s_max_val" + servo_number), - jsonReadInt(optionJson, "s_min_deg" + servo_number), - jsonReadInt(optionJson, "s_max_deg" + servo_number)); - - if (servo_number == "1") { -#ifdef ESP8266 - myServo1.write(servo_state_int); -#endif -#ifdef ESP32 - myServo1.write(servo_state_int); -#endif - } - - if (servo_number == "2") { -#ifdef ESP8266 - myServo2.write(servo_state_int); -#endif -#ifdef ESP32 - myServo2.write(servo_state_int); -#endif - } - - //Serial.println(servo_state_int); - - eventGen ("servo", servo_number); - - jsonWriteStr(configJson, "servo" + servo_number, servo_state); - sendSTATUS("servo" + servo_number, servo_state); -} -#endif -//==================================================================================================================================================== -//===================================================================================serial=========================================================== -#ifdef serial_enable -void serialBegin() { - //String s_speed = sCmd.next(); - //String rxPin = sCmd.next(); - //String txPin = sCmd.next(); - //SoftwareSerial mySerial(rxPin.toInt(), txPin.toInt()); - //mySerial.begin(s_speed.toInt()); -} - -void serialWrite() { - //String text = sCmd.next(); - //mySerial.println(text); -} -#endif -//==================================================================================================================================================== -//=================================================Глобальные команды удаленного управления=========================================================== - -void mqttOrderSend() { - - String id = sCmd.next(); - String order = sCmd.next(); - - String all_line = jsonReadStr(configSetup, "mqttPrefix") + "/" + id + "/order"; - //Serial.print(all_line); - //Serial.print("->"); - //Serial.println(order); - int send_status = client_mqtt.publish (all_line.c_str(), order.c_str(), false); -} - -void httpOrderSend() { - - String ip = sCmd.next(); - String order = sCmd.next(); - order.replace("_", "%20"); - String url = "http://" + ip + "/cmd?command=" + order; - getURL(url); -} - -void update_firmware() { - upgrade = true; -} - -void firmware() { - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String page_number = sCmd.next(); - jsonWriteStr(configJson, "firm1", firmware_version); - choose_widget_and_create(widget_name, page_name, page_number, "any-data", "firm1"); -} - -//============================================================================================================================== -//============================выполнение команд (в лупе) по очереди из строки order============================================= -void handleCMD_loop() { - - if (order_loop != "") { - - String tmp = selectToMarker(order_loop, ","); //выделяем из страки order первую команду rel 5 1, - sCmd.readStr(tmp); //выполняем первую команду - Serial.println("[ORDER] => " + order_loop); - order_loop = deleteBeforeDelimiter(order_loop, ","); //осекаем выполненную команду - } -} - -//======================================================================================================================================= -//======================================================================================================================================= -void txtExecution(String file) { - - String command_all = readFile(file, 2048) + "\r\n"; - - command_all.replace("\r\n", "\n"); - command_all.replace("\r", "\n"); - - while (command_all.length() != 0) { - - String tmp = selectToMarker (command_all, "\n"); - sCmd.readStr(tmp); - command_all = deleteBeforeDelimiter(command_all, "\n"); - } - command_all = ""; -} - -void stringExecution(String str) { - - str = str + "\r\n"; - - str.replace("\r\n", "\n"); - str.replace("\r", "\n"); - - while (str.length() != 0) { - - String tmp = selectToMarker (str, "\n"); - sCmd.readStr(tmp); - - str = deleteBeforeDelimiter(str, "\n"); - } -} diff --git a/ESP32FS.7z b/ESP32FS.7z deleted file mode 100644 index 68ebe6902b489e170e51d28c40443ee908eae437..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7062 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 diff --git a/FS.ino b/FS.ino deleted file mode 100644 index 5b4b5ee6..00000000 --- a/FS.ino +++ /dev/null @@ -1,38 +0,0 @@ -void File_system_init() { - - Serial.begin(115200); - //Serial.setDebugOutput(true); - Serial.println("--------------started----------------"); - //-------------------------------------------------------------- - SPIFFS.begin(); - configSetup = readFile("config.json", 4096); - configSetup.replace(" ", ""); - configSetup.replace("\r\n", ""); - Serial.println(configSetup); - jsonWriteStr(configJson, "name", jsonReadStr(configSetup, "name")); - jsonWriteStr(configJson, "lang", jsonReadStr(configSetup, "lang")); - - -#ifdef ESP32 - uint32_t chipID_u = ESP.getEfuseMac(); - chipID = String(chipID_u); - jsonWriteStr(configSetup, "chipID", chipID); -#endif - -#ifdef ESP8266 - chipID = String( ESP.getChipId() ) + "-" + String(ESP.getFlashChipId()); - jsonWriteStr(configSetup, "chipID", chipID); - Serial.setDebugOutput(0); -#endif - - jsonWriteStr(configSetup, "firmware_version", firmware_version); - - prex = jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID; - Serial.println(chipID); - -} - -void get_esp_info() { - - -} diff --git a/Init.ino b/Init.ino deleted file mode 100644 index 49922054..00000000 --- a/Init.ino +++ /dev/null @@ -1,246 +0,0 @@ -void All_init() { - - server.on("/init", HTTP_GET, [](AsyncWebServerRequest * request) { - String value; - if (request->hasArg("arg")) { - value = request->getParam("arg")->value(); - } - if (value == "0") { //выкл сценариев - jsonWriteStr(configSetup, "scenario", value); - saveConfig(); - Scenario_init(); - request->send(200, "text/text", "OK"); - } - if (value == "1") { //вкл сценариев - jsonWriteStr(configSetup, "scenario", value); - saveConfig(); - Scenario_init(); - request->send(200, "text/text", "OK"); - } - if (value == "2") { //инициализация - Device_init(); - request->send(200, "text/text", "OK"); - } - if (value == "3") { -#ifdef logging_enable - clean_log_date(); -#endif - request->send(200, "text/text", "OK"); - } - if (value == "4") { - Scenario_init(); - request->send(200, "text/text", "OK"); - } - if (value == "5") { - i2c_scanning = true; - request->redirect("/?utilities"); - } - }); - - prsets_init(); - Device_init(); - Scenario_init(); - Timer_countdown_init(); -} - -void Device_init() { - - logging_value_names_list = ""; - enter_to_logging_counter = LOG1 - 1; - - analog_value_names_list = ""; - enter_to_analog_counter = 0; - - level_value_name = ""; - - dhtT_value_name = ""; - dhtH_value_name = ""; - - bmp280T_value_name = ""; - bmp280P_value_name = ""; - - bme280T_value_name = ""; - bme280P_value_name = ""; - bme280H_value_name = ""; - bme280A_value_name = ""; - - int array_sz = sizeof(sensors_reading_map) / sizeof(sensors_reading_map[0]); - - for (int i = 0; i <= array_sz; i++) { - sensors_reading_map[i] = 0; - } - - for (int i = LOG1; i <= LOG5; i++) { - ts.remove(i); - } - -#ifdef layout_in_ram - all_widgets = ""; -#else - SPIFFS.remove("/layout.txt"); -#endif - - txtExecution("firmware.c.txt"); - //outcoming_date(); -} -//-------------------------------сценарии----------------------------------------------------- - -void Scenario_init() { - if (jsonReadStr(configSetup, "scenario") == "1") { - scenario = readFile("firmware.s.txt", 2048); - } -} - -void prsets_init() { - server.on("/preset", HTTP_GET, [](AsyncWebServerRequest * request) { - String value; - if (request->hasArg("arg")) { - value = request->getParam("arg")->value(); - } - if (value == "1") { - writeFile("firmware.c.txt", readFile("configs/relay.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/relay.s.txt", 2048)); - } - if (value == "2") { - writeFile("firmware.c.txt", readFile("configs/relay_t.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/relay_t.s.txt", 2048)); - } - if (value == "3") { - writeFile("firmware.c.txt", readFile("configs/relay_c.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/relay_c.s.txt", 2048)); - } - if (value == "4") { - writeFile("firmware.c.txt", readFile("configs/relay_s.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/relay_s.s.txt", 2048)); - } - if (value == "5") { - writeFile("firmware.c.txt", readFile("configs/relay_sw.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/relay_sw.s.txt", 2048)); - } - if (value == "6") { - writeFile("firmware.c.txt", readFile("configs/relay_br.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/relay_br.s.txt", 2048)); - } - if (value == "7") { - writeFile("firmware.c.txt", readFile("configs/relay_sr.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/relay_sr.s.txt", 2048)); - } - if (value == "8") { - writeFile("firmware.c.txt", readFile("configs/pwm.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/pwm.s.txt", 2048)); - } - if (value == "9") { - writeFile("firmware.c.txt", readFile("configs/dht11.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/dht11.s.txt", 2048)); - } - if (value == "10") { - writeFile("firmware.c.txt", readFile("configs/dht22.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/dht22.s.txt", 2048)); - } - if (value == "11") { - writeFile("firmware.c.txt", readFile("configs/analog.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/analog.s.txt", 2048)); - } - if (value == "12") { - writeFile("firmware.c.txt", readFile("configs/dallas.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/dallas.s.txt", 2048)); - } - if (value == "13") { - writeFile("firmware.c.txt", readFile("configs/termostat.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/termostat.s.txt", 2048)); - } - if (value == "14") { - writeFile("firmware.c.txt", readFile("configs/level.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/level.s.txt", 2048)); - } - if (value == "15") { - writeFile("firmware.c.txt", readFile("configs/moution_r.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/moution_r.s.txt", 2048)); - } - if (value == "16") { - writeFile("firmware.c.txt", readFile("configs/moution_s.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/moution_s.s.txt", 2048)); - } - if (value == "17") { - writeFile("firmware.c.txt", readFile("configs/stepper.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/stepper.s.txt", 2048)); - } - if (value == "18") { - writeFile("firmware.c.txt", readFile("configs/servo.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/servo.s.txt", 2048)); - } - if (value == "19") { - writeFile("firmware.c.txt", readFile("configs/firmware.c.txt", 2048)); - writeFile("firmware.s.txt", readFile("configs/firmware.s.txt", 2048)); - } - Device_init(); - Scenario_init(); - request->redirect("/?configuration"); - }); -} - -void up_time() { - uint32_t ss = millis() / 1000; - uint32_t mm = ss / 60; - uint32_t hh = mm / 60; - uint32_t dd = hh / 24; - - String out = ""; - - if (ss != 0) { - out = "[i] uptime = " + String(ss) + " sec"; - jsonWriteStr(configJson, "uptime", String(ss) + " sec"); - } - if (mm != 0) { - out = "[i] uptime = " + String(mm) + " min"; - jsonWriteStr(configJson, "uptime", String(mm) + " min"); - } - if (hh != 0) { - out = "[i] uptime = " + String(hh) + " hours"; - jsonWriteStr(configJson, "uptime", String(hh) + " hours"); - } - if (dd != 0) { - out = "[i] uptime = " + String(dd) + " days"; - jsonWriteStr(configJson, "uptime", String(dd) + " days"); - } - Serial.println(out + ", mqtt_lost_error: " + String(mqtt_lost_error) + ", wifi_lost_error: " + String(wifi_lost_error)); -} - -void statistics_init() { - ts.add(STATISTICS, statistics_update, [&](void*) { - - statistics(); - - }, nullptr, true); -} - -void statistics() { - if (WiFi.status() == WL_CONNECTED) { - String urls = "http://backup.privet.lv/visitors/?"; - //----------------------------------------------------------------- - urls += WiFi.macAddress().c_str(); - urls += "&"; - //----------------------------------------------------------------- -#ifdef ESP8266 - urls += "iot-manager_esp8266"; -#endif -#ifdef ESP32 - urls += "iot-manager_esp32"; -#endif - urls += "&"; - //----------------------------------------------------------------- -#ifdef ESP8266 - urls += ESP.getResetReason(); - //Serial.println(ESP.getResetReason()); -#endif -#ifdef ESP32 - urls += "Power on"; -#endif - urls += "&"; - //----------------------------------------------------------------- - urls += "ver: " + firmware_version; - //----------------------------------------------------------------- - String stat = getURL(urls); - //Serial.println(stat); - } -} diff --git a/Logging.ino b/Logging.ino deleted file mode 100644 index 8f25bad1..00000000 --- a/Logging.ino +++ /dev/null @@ -1,153 +0,0 @@ -#ifdef logging_enable -//===============================================Логирование============================================================ -//logging temp1 1 10 Температура Датчики 2 -void logging() { - String value_name = sCmd.next(); - String period_min = sCmd.next(); - String maxCount = sCmd.next(); - String widget_name = sCmd.next(); - widget_name.replace("#", " "); - String page_name = sCmd.next(); - String page_number = sCmd.next(); - logging_value_names_list += value_name + ","; - enter_to_logging_counter++; //считаем количество входов в эту функцию - jsonWriteStr(optionJson, value_name + "_c", maxCount); //создаем в файловой системе переменную количества точек на графике с отметкой _c что значит count - createChart (widget_name, page_name, page_number, "widgets/widget.chart.json", value_name + "_ch", maxCount); //создаем график в приложении с топиком _ch /prefix/3234045-1589487/value_name_ch - if (enter_to_logging_counter == LOG1) { - ts.add(LOG1, period_min.toInt() * 1000 * 60, [&](void*) { - String tmp_buf_1 = selectFromMarkerToMarker(logging_value_names_list, ",", 0); - deleteOldDate("log." + tmp_buf_1 + ".txt", jsonReadInt(optionJson, tmp_buf_1 + "_c"), jsonReadStr(configJson, tmp_buf_1)); - Serial.println("[i] LOGGING for sensor '" + tmp_buf_1 + "' done"); - }, nullptr, false); - } - if (enter_to_logging_counter == LOG2) { - ts.add(LOG2, period_min.toInt() * 1000 * 60, [&](void*) { - String tmp_buf_2 = selectFromMarkerToMarker(logging_value_names_list, ",", 1); - deleteOldDate("log." + tmp_buf_2 + ".txt", jsonReadInt(optionJson, tmp_buf_2 + "_c"), jsonReadStr(configJson, tmp_buf_2)); - Serial.println("[i] LOGGING for sensor '" + tmp_buf_2 + "' done"); - }, nullptr, false); - } - if (enter_to_logging_counter == LOG3) { - ts.add(LOG3, period_min.toInt() * 1000 * 60, [&](void*) { - String tmp_buf_3 = selectFromMarkerToMarker(logging_value_names_list, ",", 2); - deleteOldDate("log." + tmp_buf_3 + ".txt", jsonReadInt(optionJson, tmp_buf_3 + "_c"), jsonReadStr(configJson, tmp_buf_3)); - Serial.println("[i] LOGGING for sensor '" + tmp_buf_3 + "' done"); - }, nullptr, false); - } - if (enter_to_logging_counter == LOG4) { - ts.add(LOG4, period_min.toInt() * 1000 * 60, [&](void*) { - String tmp_buf_4 = selectFromMarkerToMarker(logging_value_names_list, ",", 3); - deleteOldDate("log." + tmp_buf_4 + ".txt", jsonReadInt(optionJson, tmp_buf_4 + "_c"), jsonReadStr(configJson, tmp_buf_4)); - Serial.println("[i] LOGGING for sensor '" + tmp_buf_4 + "' done"); - }, nullptr, false); - } - if (enter_to_logging_counter == LOG5) { - ts.add(LOG5, period_min.toInt() * 1000 * 60, [&](void*) { - String tmp_buf_5 = selectFromMarkerToMarker(logging_value_names_list, ",", 4); - deleteOldDate("log." + tmp_buf_5 + ".txt", jsonReadInt(optionJson, tmp_buf_5 + "_c"), jsonReadStr(configJson, tmp_buf_5)); - Serial.println("[i] LOGGING for sensor '" + tmp_buf_5 + "' done"); - }, nullptr, false); - } -} - -//=========================================Удаление стрых данных и запись новых================================================================== -void deleteOldDate(String file, int seted_number_of_lines, String date_to_add) { - String log_date = readFile(file, 5000); - int current_number_of_lines = count(log_date, "\r\n"); - Serial.println("=====> [i] in log file " + file + " " + current_number_of_lines + " lines"); - - if (current_number_of_lines > seted_number_of_lines + 1) { - SPIFFS.remove("/" + file); - current_number_of_lines = 0; - } - if (current_number_of_lines == 0) { - SPIFFS.remove("/" + file); - current_number_of_lines = 0; - } - if (current_number_of_lines > seted_number_of_lines) { - log_date = deleteBeforeDelimiter(log_date, "\r\n"); - if (GetTimeUnix() != "failed") { - log_date += GetTimeUnix() + " " + date_to_add + "\r\n"; - writeFile(file, log_date); - } - } else { - if (GetTimeUnix() != "failed") { - addFile(file, GetTimeUnix() + " " + date_to_add); - } - } - log_date = ""; -} - -//=========================================Выбор какие данные отправлять================================================================== -void choose_log_date_and_send() { - String all_line = logging_value_names_list; - while (all_line.length() != 0) { - String tmp = selectToMarker (all_line, ","); - sendLogData("log." + tmp + ".txt", tmp + "_ch"); - all_line = deleteBeforeDelimiter(all_line, ","); - } - all_line = ""; -} -//=========================================Отправка данных=================================================================================== -void sendLogData(String file, String topic) { - String log_date = readFile(file, 5000); - if (log_date != "Failed") { - log_date.replace("\r\n", "\n"); - log_date.replace("\r", "\n"); - String buf = "{}"; - String json_array; - String unix_time; - String value; - while (log_date.length() != 0) { - String tmp = selectToMarker (log_date, "\n"); - log_date = deleteBeforeDelimiter(log_date, "\n"); - unix_time = selectToMarker (tmp, " "); - jsonWriteInt(buf, "x", unix_time.toInt()); - value = deleteBeforeDelimiter(tmp, " "); - jsonWriteFloat(buf, "y1", value.toFloat()); - if (log_date.length() < 3) { - json_array += buf; - } else { - json_array += buf + ","; - } - buf = "{}"; - } - unix_time = ""; - value = ""; - log_date = ""; - json_array = "{\"status\":[" + json_array + "]}"; - Serial.println(json_array); - sendCHART(topic, json_array); - json_array = ""; - getMemoryLoad("[i] after send log date"); - } -} - -/* - //---------------------------------------------- - File configFile = SPIFFS.open("/" + file, "r"); - if (!configFile) { - return; - } - configFile.seek(0, SeekSet); //поставим курсор в начало файла - while (configFile.position() != configFile.size()) { - String tmp = configFile.readStringUntil('\r\n'); - String unix_time = selectToMarker (tmp, " "); - String value = deleteBeforeDelimiter(tmp, " "); - String final_line = "{\"status\":{\"x\":" + unix_time + ",\"y1\":" + value + "}}"; - //Serial.println(final_line); - sendCHART(topic, final_line); - } - getMemoryLoad("[i] after send log date"); -*/ -//=========================================Очистка данных=================================================================================== -void clean_log_date() { - String all_line = logging_value_names_list; - while (all_line.length() != 0) { - String tmp = selectToMarker (all_line, ","); - SPIFFS.remove("/log." + tmp + ".txt"); - all_line = deleteBeforeDelimiter(all_line, ","); - } - all_line = ""; -} -#endif diff --git a/README.md b/README.md deleted file mode 100644 index 9c112b87..00000000 --- a/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# esp32-esp8266_iot-manager_modules_firmware - -It is based on esp8266 and esp32 automation system. Each module has a web interface for its initial configuration. The modules are managed using the "iot manager" application. This application is released for both android and ios platform. The application connects to a MQTT broker, you can add several brokers and switch between them. All modules also connect to same broker. All esp8266 esp32 are combined and appear in the application as widgets. - -There are two configuration options in the web interface of the modules: - -1. Select a ready-made preset. - -The following presets are available: - -- On off relay -- On off relay according to the schedule specified in the application -- On off the relay after a period of time specified in the application -- On off relay groups on different devices with one button in the application -- Light switch module -- PWM controlled by the slider in the application -- Reading and logging analog input into graph with scaling function -- Reading and logging in the graph of the following sensors: - -DHT22, DHT33, DHT44, AM2302, RHT03 -DS18B20 -JSN-SR04T, HC-SR04, HY-SRF05 -BME280 BMP280 and other i2c sensors - --ds18b20 termostat controlled from application with graph (you can use any sensor for termostat any other supported). - -2. Configure with special scripts. A simple programming language was invented which can very flexibly configure the module. - -People who do not know how to program can use ready-made presets (option 1), and people who want to play with the system can use scripts (option 2). - -Scenarios: - -The web interface has the ability to configure Scenarios. An event occurs on one esp, and a reaction to this event can setup to occurs on another. - -Logging of sensors data in this project made with out any server. All data for graf storring in esp flash. You can look any time your sensor history for 2 - 3 days or week in mobile app in graf. And for this option needed only esp. - - diff --git a/Scenario.ino b/Scenario.ino deleted file mode 100644 index 52828b79..00000000 --- a/Scenario.ino +++ /dev/null @@ -1,94 +0,0 @@ -void handleScenario() { - - if (jsonReadStr(configSetup, "scenario") == "1") { - if ((jsonReadStr(optionJson, "scenario_status") != "")) { - int i = 0; - String str = scenario; //читаем переменную с сценариями (то что из файла на странице) - str += "\n"; - str.replace("\r\n", "\n"); - str.replace("\r", "\n"); - while (str.length() != 0) { - //----------------------------------------------------------------------------------------------------------------------- - String tmp = selectToMarker (str, "end"); //выделяем первый сценарий из файла вместе с командами - if (tmp == "") return; - i++; - - if (scenario_line_status[i] == 1) { - //Serial.println(i); - String condition = selectToMarker (tmp, "\n"); //выделяем первую строку самого сценария button1 = 1 (условие) - String param_name = selectFromMarkerToMarker(condition, " " , 0); - String order = jsonReadStr(optionJson, "scenario_status"); //читаем весь файл событий - String param = selectToMarker (order, ","); //читаем первое событие из файла событий - if (param_name == param) { //если поступившее событие равно событию заданному buttonSet1 в файле начинаем его обработку - - String sign = selectFromMarkerToMarker(condition, " " , 1); //читаем знак (=) - String value = selectFromMarkerToMarker(condition, " " , 2); //читаем значение (1) - if (value.indexOf("digit") != -1) { - // value = add_set(value); - value = jsonReadStr(configJson, value); - } - if (value.indexOf("time") != -1) { - // value = add_set(value); - value = jsonReadStr(configJson, value); - } - boolean flag = false; //если одно из значений совпало то только тогда начинаем выполнять комнады - if (sign == "=") { - if (jsonReadStr(configJson, param_name) == value) flag = true; - } - if (sign == "!=") { - if (jsonReadStr(configJson, param_name) != value) flag = true; - } - if (sign == "<") { - if (jsonReadStr(configJson, param_name).toInt() < value.toInt()) flag = true; - } - if (sign == ">") { - if (jsonReadStr(configJson, param_name).toInt() > value.toInt()) flag = true; - } - if (sign == ">=") { - if (jsonReadStr(configJson, param_name).toInt() >= value.toInt()) flag = true; - } - if (sign == "<=") { - if (jsonReadStr(configJson, param_name).toInt() <= value.toInt()) flag = true; - } - - if (flag) { - tmp = deleteBeforeDelimiter(tmp, "\n"); //удаляем строку самого сценария оставляя только команды - stringExecution(tmp); //выполняем все команды - - Serial.println("[SCENARIO] '" + condition + "'"); - //Serial.println(" " + tmp); - } - } - } - str = deleteBeforeDelimiter(str, "end\n"); //удаляем первый сценарий - //----------------------------------------------------------------------------------------------------------------------- - } - String tmp2 = jsonReadStr(optionJson, "scenario_status"); //читаем файл событий - tmp2 = deleteBeforeDelimiter(tmp2, ","); //удаляем выполненное событие - jsonWriteStr(optionJson, "scenario_status", tmp2); //записываем обновленный файл событий - i = 0; - } - } -} - -void eventGen (String event_name, String number) { //событие выглядит как имя плюс set плюс номер: button+Set+1 - - if (jsonReadStr(configSetup, "scenario") == "1") { - String tmp = jsonReadStr(optionJson, "scenario_status") ; //генерирование события - //Serial.println(event_name); - jsonWriteStr(optionJson, "scenario_status", tmp + event_name + number + ","); - } -} - -String add_set(String param_name) { - String num1 = param_name.substring(param_name.length() - 1); - String num2 = param_name.substring(param_name.length() - 2, param_name.length() - 1); - if (isDigitStr(num1) && isDigitStr(num2)) { - param_name = param_name.substring(0, param_name.length() - 2) + "Set" + num2 + num1; - } else { - if (isDigitStr(num1)) { - param_name = param_name.substring(0, param_name.length() - 1) + "Set" + num1; - } - } - return param_name; -} diff --git a/Sensors.ino b/Sensors.ino deleted file mode 100644 index 6f234457..00000000 --- a/Sensors.ino +++ /dev/null @@ -1,556 +0,0 @@ -void sensors_init() { - ts.add(SENSORS, 1000, [&](void*) { - static int counter; - counter++; - -#ifdef level_enable - if (sensors_reading_map[0] == 1) level_reading(); -#endif - - if (counter > 10) { - counter = 0; - -#ifdef analog_enable - if (sensors_reading_map[1] == 1) analog_reading1(); - if (sensors_reading_map[2] == 1) analog_reading2(); -#endif - -#ifdef dallas_enable - if (sensors_reading_map[3] == 1) dallas_reading(); -#endif - -#ifdef dht_enable - if (sensors_reading_map[4] == 1) dhtT_reading(); - if (sensors_reading_map[5] == 1) dhtH_reading(); - if (sensors_reading_map[6] == 1) dhtP_reading(); - if (sensors_reading_map[7] == 1) dhtC_reading(); - if (sensors_reading_map[8] == 1) dhtD_reading(); -#endif - -#ifdef bmp_enable - if (sensors_reading_map[9] == 1) bmp280T_rading(); - if (sensors_reading_map[10] == 1) bmp280P_reading(); -#endif - -#ifdef bme_enable - if (sensors_reading_map[11] == 1) bme280T_reading(); - if (sensors_reading_map[12] == 1) bme280P_reading(); - if (sensors_reading_map[13] == 1) bme280H_reading(); - if (sensors_reading_map[14] == 1) bme280A_reading(); -#endif - } - }, nullptr, true); -} - -//========================================================================================================================================= -//=========================================Модуль измерения уровня в баке================================================================== -#ifdef level_enable -//level L 14 12 Вода#в#баке,#% Датчики fill-gauge 125 20 1 -void level() { - String value_name = sCmd.next(); - String trig = sCmd.next(); - String echo = sCmd.next(); - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String type = sCmd.next(); - String empty_level = sCmd.next(); - String full_level = sCmd.next(); - String page_number = sCmd.next(); - level_value_name = value_name; - jsonWriteStr(optionJson, "e_lev", empty_level); - jsonWriteStr(optionJson, "f_lev", full_level); - jsonWriteStr(optionJson, "trig", trig); - jsonWriteStr(optionJson, "echo", echo); - pinMode(trig.toInt(), OUTPUT); - pinMode(echo.toInt(), INPUT); - choose_widget_and_create(widget_name, page_name, page_number, type, value_name); - sensors_reading_map[0] = 1; -} - -void level_reading() { - long duration_; - int distance_cm; - int level; - static int counter; - int trig = jsonReadInt(optionJson, "trig"); - int echo = jsonReadInt(optionJson, "echo"); - digitalWrite(trig, LOW); - delayMicroseconds(2); - digitalWrite(trig, HIGH); - delayMicroseconds(10); - digitalWrite(trig, LOW); - duration_ = pulseIn(echo, HIGH, 30000); // 3000 µs = 50cm // 30000 µs = 5 m - distance_cm = duration_ / 29 / 2; - distance_cm = medianFilter.filtered(distance_cm);//отсечение промахов медианным фильтром - counter++; - if (counter > tank_level_times_to_send) { - counter = 0; - level = map(distance_cm, - jsonReadInt(optionJson, "e_lev"), - jsonReadInt(optionJson, "f_lev"), 0, 100); - jsonWriteInt(configJson, level_value_name, level); - eventGen (level_value_name, ""); - sendSTATUS(level_value_name, String(level)); - Serial.println("[i] sensor '" + level_value_name + "' data: " + String(level)); - } -} -#endif -//========================================================================================================================================= -//=========================================Модуль аналогового сенсора====================================================================== -#ifdef analog_enable -//analog adc 0 Аналоговый#вход,#% Датчики any-data 1 1023 1 100 1 -void analog() { - String value_name = sCmd.next(); - String pin = sCmd.next(); - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String type = sCmd.next(); - String analog_start = sCmd.next(); - String analog_end = sCmd.next(); - String analog_start_out = sCmd.next(); - String analog_end_out = sCmd.next(); - String page_number = sCmd.next(); - analog_value_names_list += value_name + ","; - enter_to_analog_counter++; - jsonWriteStr(optionJson, value_name + "_st", analog_start); - jsonWriteStr(optionJson, value_name + "_end", analog_end); - jsonWriteStr(optionJson, value_name + "_st_out", analog_start_out); - jsonWriteStr(optionJson, value_name + "_end_out", analog_end_out); - choose_widget_and_create(widget_name, page_name, page_number, type, value_name); - if (enter_to_analog_counter == 1) { - sensors_reading_map[1] = 1; - } - if (enter_to_analog_counter == 2) { - sensors_reading_map[2] = 1; - } -} - -void analog_reading1() { - String value_name = selectFromMarkerToMarker(analog_value_names_list, ",", 0); -#ifdef ESP32 - int analog_in = analogRead(34); -#endif -#ifdef ESP8266 - int analog_in = analogRead(A0); -#endif - int analog = map(analog_in, - jsonReadInt(optionJson, value_name + "_st") , - jsonReadInt(optionJson, value_name + "_end"), - jsonReadInt(optionJson, value_name + "_st_out"), - jsonReadInt(optionJson, value_name + "_end_out")); - jsonWriteInt(configJson, value_name, analog); - eventGen (value_name, ""); - sendSTATUS(value_name, String(analog)); - Serial.println("[i] sensor '" + value_name + "' data: " + String(analog)); -} - -void analog_reading2() { - String value_name = selectFromMarkerToMarker(analog_value_names_list, ",", 1); -#ifdef ESP32 - int analog_in = analogRead(35); -#endif -#ifdef ESP8266 - int analog_in = analogRead(A0); -#endif - int analog = map(analog_in, - jsonReadInt(optionJson, value_name + "_st") , - jsonReadInt(optionJson, value_name + "_end"), - jsonReadInt(optionJson, value_name + "_st_out"), - jsonReadInt(optionJson, value_name + "_end_out")); - jsonWriteInt(configJson, value_name, analog); - eventGen (value_name, ""); - sendSTATUS(value_name, String(analog)); - Serial.println("[i] sensor '" + value_name + "' data: " + String(analog)); -} -#endif -//========================================================================================================================================= -//=========================================Модуль температурного сенсора ds18b20=========================================================== -#ifdef dallas_enable -void dallas() { - String value_name = sCmd.next(); - String pin = sCmd.next(); - String address = sCmd.next(); - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String type = sCmd.next(); - String page_number = sCmd.next(); - oneWire = new OneWire((uint8_t) pin.toInt()); - sensors.setOneWire(oneWire); - sensors.begin(); - sensors.setResolution(12); - choose_widget_and_create(widget_name, page_name, page_number, type, "dallas"); - sensors_reading_map[3] = 1; -} - -void dallas_reading() { - float temp = 0; - sensors.requestTemperatures(); - temp = sensors.getTempCByIndex(0); - jsonWriteStr(configJson, "dallas", String(temp)); - eventGen ("dallas", ""); - sendSTATUS("dallas", String(temp)); - Serial.println("[i] sensor 'dallas' send date " + String(temp)); -} -#endif -//========================================================================================================================================= -//=========================================Модуль сенсоров DHT============================================================================= -#ifdef dht_enable -//dhtT t 2 dht11 Температура#DHT,#t°C Датчики any-data 1 -void dhtT() { - String value_name = sCmd.next(); - String pin = sCmd.next(); - String sensor_type = sCmd.next(); - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String type = sCmd.next(); - String page_number = sCmd.next(); - dhtT_value_name = value_name; - if (sensor_type == "dht11") { - dht.setup(pin.toInt(), DHTesp::DHT11); - } - if (sensor_type == "dht22") { - dht.setup(pin.toInt(), DHTesp::DHT22); - } - choose_widget_and_create(widget_name, page_name, page_number, type, value_name); - sensors_reading_map[4] = 1; -} - -void dhtT_reading() { - float value = 0; - static int counter; - if (dht.getStatus() != 0 && counter < 5) { - sendSTATUS(dhtT_value_name, String(dht.getStatusString())); - counter++; - } else { - counter = 0; - value = dht.getTemperature(); - if (String(value) != "nan") { - eventGen (dhtT_value_name, ""); - jsonWriteStr(configJson, dhtT_value_name, String(value)); - sendSTATUS(dhtT_value_name, String(value)); - Serial.println("[i] sensor '" + dhtT_value_name + "' data: " + String(value)); - } - } -} - -//dhtH h 2 dht11 Влажность#DHT,#t°C Датчики any-data 1 -void dhtH() { - String value_name = sCmd.next(); - String pin = sCmd.next(); - String sensor_type = sCmd.next(); - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String type = sCmd.next(); - String page_number = sCmd.next(); - dhtH_value_name = value_name; - if (sensor_type == "dht11") { - dht.setup(pin.toInt(), DHTesp::DHT11); - } - if (sensor_type == "dht22") { - dht.setup(pin.toInt(), DHTesp::DHT22); - } - choose_widget_and_create(widget_name, page_name, page_number, type, value_name); - sensors_reading_map[5] = 1; -} - -void dhtH_reading() { - float value = 0; - static int counter; - if (dht.getStatus() != 0 && counter < 5) { - sendSTATUS(dhtH_value_name, String(dht.getStatusString())); - counter++; - } else { - counter = 0; - value = dht.getHumidity(); - if (String(value) != "nan") { - eventGen (dhtH_value_name, ""); - jsonWriteStr(configJson, dhtH_value_name, String(value)); - sendSTATUS(dhtH_value_name, String(value)); - Serial.println("[i] sensor '" + dhtH_value_name + "' data: " + String(value)); - } - } -} - -//dhtPerception Восприятие: Датчики 4 -void dhtP() { - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String page_number = sCmd.next(); - choose_widget_and_create(widget_name, page_name, page_number, "any-data", "dhtPerception"); - sensors_reading_map[6] = 1; -} - -void dhtP_reading() { - byte value; - if (dht.getStatus() != 0) { - sendSTATUS("dhtPerception", String(dht.getStatusString())); - } else { - value = dht.computePerception(jsonReadStr(configJson, dhtT_value_name).toFloat(), jsonReadStr(configJson, dhtH_value_name).toFloat(), false); - String final_line = perception(value); - jsonWriteStr(configJson, "dhtPerception", final_line); - eventGen ("dhtPerception", ""); - sendSTATUS("dhtPerception", final_line); - if (client_mqtt.connected()) { - Serial.println("[i] sensor 'dhtPerception' data: " + final_line); - } - } -} - -String perception(byte value) { - if (value == 0) return "Сухой воздух"; - if (value == 1) return "Комфортно"; - if (value == 2) return "Уютно"; - if (value == 3) return "Хорошо"; - if (value == 4) return "Неудобно"; - if (value == 5) return "Довольно неудобно"; - if (value == 6) return "Очень неудобно"; - if (value == 7) return "Сильно неудобно, полный звиздец"; -} - -//dhtComfort Степень#комфорта: Датчики 3 -void dhtC() { - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String page_number = sCmd.next(); - choose_widget_and_create(widget_name, page_name, page_number, "any-data", "dhtComfort"); - sensors_reading_map[7] = 1; -} - -void dhtC_reading() { - float value; - ComfortState cf; - if (dht.getStatus() != 0) { - sendSTATUS("dhtComfort", String(dht.getStatusString())); - } else { - value = dht.getComfortRatio(cf, jsonReadStr(configJson, dhtT_value_name).toFloat(), jsonReadStr(configJson, dhtH_value_name).toFloat(), false); - String final_line = get_comfort_status(cf); - jsonWriteStr(configJson, "dhtComfort", final_line); - eventGen ("dhtComfort", ""); - sendSTATUS("dhtComfort", final_line); - Serial.println("[i] sensor 'dhtComfort' send date " + final_line); - } -} - -String get_comfort_status(ComfortState cf) { - String comfortStatus; - switch (cf) { - case Comfort_OK: - comfortStatus = "Отлично"; - break; - case Comfort_TooHot: - comfortStatus = "Очень жарко"; - break; - case Comfort_TooCold: - comfortStatus = "Очень холодно"; - break; - case Comfort_TooDry: - comfortStatus = "Очень сухо"; - break; - case Comfort_TooHumid: - comfortStatus = "Очень влажно"; - break; - case Comfort_HotAndHumid: - comfortStatus = "Жарко и влажно"; - break; - case Comfort_HotAndDry: - comfortStatus = "Жарко и сухо"; - break; - case Comfort_ColdAndHumid: - comfortStatus = "Холодно и влажно"; - break; - case Comfort_ColdAndDry: - comfortStatus = "Холодно и сухо"; - break; - default: - comfortStatus = "Неизвестно"; - break; - }; - return comfortStatus; -} - - -//dhtDewpoint Точка#росы: Датчики 5 -void dhtD() { - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String page_number = sCmd.next(); - choose_widget_and_create(widget_name, page_name, page_number, "any-data", "dhtDewpoint"); - sensors_reading_map[8] = 1; -} - -void dhtD_reading() { - float value; - if (dht.getStatus() != 0) { - sendSTATUS("dhtDewpoint", String(dht.getStatusString())); - } else { - value = dht.computeDewPoint(jsonReadStr(configJson, dhtT_value_name).toFloat(), jsonReadStr(configJson, dhtH_value_name).toFloat(), false); - jsonWriteInt(configJson, "dhtDewpoint", value); - eventGen ("dhtDewpoint", ""); - sendSTATUS("dhtDewpoint", String(value)); - Serial.println("[i] sensor 'dhtDewpoint' data: " + String(value)); - } -} -#endif -//=========================================i2c bus esp8266 scl-4 sda-5 ==================================================================== -//========================================================================================================================================= -//=========================================Модуль сенсоров bmp280========================================================================== -#ifdef bmp_enable -//bmp280T temp1 0x76 Температура#bmp280 Датчики any-data 1 -void bmp280T() { - String value_name = sCmd.next(); - String address = sCmd.next(); - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String type = sCmd.next(); - String page_number = sCmd.next(); - bmp280T_value_name = value_name; - choose_widget_and_create(widget_name, page_name, page_number, type, value_name); - bmp.begin(hexStringToUint8(address)); - bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */ - Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */ - Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */ - Adafruit_BMP280::FILTER_X16, /* Filtering. */ - Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */ - //bmp_temp->printSensorDetails(); - sensors_reading_map[9] = 1; -} - -void bmp280T_rading() { - float value = 0; - sensors_event_t temp_event, pressure_event; - bmp_temp->getEvent(&temp_event); - value = temp_event.temperature; - jsonWriteStr(configJson, bmp280T_value_name, String(value)); - eventGen(bmp280T_value_name, ""); - sendSTATUS(bmp280T_value_name, String(value)); - Serial.println("[i] sensor '" + bmp280T_value_name + "' data: " + String(value)); -} - -//bmp280P press1 0x76 Давление#bmp280 Датчики any-data 2 -void bmp280P() { - String value_name = sCmd.next(); - String address = sCmd.next(); - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String type = sCmd.next(); - String page_number = sCmd.next(); - bmp280P_value_name = value_name; - choose_widget_and_create(widget_name, page_name, page_number, type, value_name); - bmp.begin(hexStringToUint8(address)); - bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */ - Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */ - Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */ - Adafruit_BMP280::FILTER_X16, /* Filtering. */ - Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */ - //bmp_temp->printSensorDetails(); - sensors_reading_map[10] = 1; -} - -void bmp280P_reading() { - float value = 0; - sensors_event_t temp_event, pressure_event; - bmp_pressure->getEvent(&pressure_event); - value = pressure_event.pressure; - value = value / 1.333224; - jsonWriteStr(configJson, bmp280P_value_name, String(value)); - eventGen(bmp280P_value_name, ""); - sendSTATUS(bmp280P_value_name, String(value)); - Serial.println("[i] sensor '" + bmp280P_value_name + "' data: " + String(value)); -} -#endif -//========================================================================================================================================= -//=============================================Модуль сенсоров bme280====================================================================== -#ifdef bme_enable -//bme280T temp1 0x76 Температура#bmp280 Датчики any-data 1 -void bme280T() { - String value_name = sCmd.next(); - String address = sCmd.next(); - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String type = sCmd.next(); - String page_number = sCmd.next(); - bme280T_value_name = value_name; - choose_widget_and_create(widget_name, page_name, page_number, type, value_name); - bme.begin(hexStringToUint8(address)); - sensors_reading_map[11] = 1; -} - -void bme280T_reading() { - float value = 0; - value = bme.readTemperature(); - jsonWriteStr(configJson, bme280T_value_name, String(value)); - eventGen(bme280T_value_name, ""); - sendSTATUS(bme280T_value_name, String(value)); - Serial.println("[i] sensor '" + bme280T_value_name + "' data: " + String(value)); -} - -//bme280P pres1 0x76 Давление#bmp280 Датчики any-data 1 -void bme280P() { - String value_name = sCmd.next(); - String address = sCmd.next(); - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String type = sCmd.next(); - String page_number = sCmd.next(); - bme280P_value_name = value_name; - choose_widget_and_create(widget_name, page_name, page_number, type, value_name); - bme.begin(hexStringToUint8(address)); - sensors_reading_map[12] = 1; -} - -void bme280P_reading() { - float value = 0; - value = bme.readPressure(); - value = value / 1.333224; - jsonWriteStr(configJson, bme280P_value_name, String(value)); - eventGen(bme280P_value_name, ""); - sendSTATUS(bme280P_value_name, String(value)); - Serial.println("[i] sensor '" + bme280P_value_name + "' data: " + String(value)); -} - -//bme280H hum1 0x76 Влажность#bmp280 Датчики any-data 1 -void bme280H() { - String value_name = sCmd.next(); - String address = sCmd.next(); - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String type = sCmd.next(); - String page_number = sCmd.next(); - bme280H_value_name = value_name; - choose_widget_and_create(widget_name, page_name, page_number, type, value_name); - bme.begin(hexStringToUint8(address)); - sensors_reading_map[13] = 1; -} - -void bme280H_reading() { - float value = 0; - value = bme.readHumidity(); - jsonWriteStr(configJson, bme280H_value_name, String(value)); - eventGen(bme280H_value_name, ""); - sendSTATUS(bme280H_value_name, String(value)); - Serial.println("[i] sensor '" + bme280H_value_name + "' data: " + String(value)); -} - -//bme280A altit1 0x76 Высота#bmp280 Датчики any-data 1 -void bme280A() { - String value_name = sCmd.next(); - String address = sCmd.next(); - String widget_name = sCmd.next(); - String page_name = sCmd.next(); - String type = sCmd.next(); - String page_number = sCmd.next(); - bme280A_value_name = value_name; - choose_widget_and_create(widget_name, page_name, page_number, type, value_name); - bme.begin(hexStringToUint8(address)); - sensors_reading_map[14] = 1; -} - -void bme280A_reading() { - float value = 0; - value = bme.readAltitude(1013.25); - jsonWriteStr(configJson, bme280A_value_name, String(value)); - eventGen(bme280A_value_name, ""); - sendSTATUS(bme280A_value_name, String(value)); - Serial.println("[i] sensor '" + bme280A_value_name + "' data: " + String(value)); -} -#endif diff --git a/Ticker_for_TickerScheduler/Ticker/Ticker.cpp b/Ticker_for_TickerScheduler/Ticker/Ticker.cpp deleted file mode 100644 index b53b429d..00000000 --- a/Ticker_for_TickerScheduler/Ticker/Ticker.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/* - Ticker.cpp - esp8266 library that calls functions periodically - - Copyright (c) 2014 Ivan Grokhotkov. All rights reserved. - This file is part of the esp8266 core for Arduino environment. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include -#include - -#include "c_types.h" -#include "eagle_soc.h" -#include "ets_sys.h" -#include "osapi.h" - -static const int ONCE = 0; -static const int REPEAT = 1; - -#include "Ticker.h" - -Ticker::Ticker() -: _timer(nullptr) -{ -} - -Ticker::~Ticker() -{ - detach(); -} - -void Ticker::_attach_ms(uint32_t milliseconds, bool repeat, callback_with_arg_t callback, uint32_t arg) -{ - if (_timer) - { - os_timer_disarm(_timer); - } - else - { - _timer = new ETSTimer; - } - - os_timer_setfn(_timer, reinterpret_cast(callback), reinterpret_cast(arg)); - os_timer_arm(_timer, milliseconds, (repeat)?REPEAT:ONCE); -} - -void Ticker::detach() -{ - if (!_timer) - return; - - os_timer_disarm(_timer); - delete _timer; - _timer = nullptr; - _callback_function = nullptr; -} - -bool Ticker::active() const -{ - return (bool)_timer; -} - -void Ticker::_static_callback(void* arg) -{ - Ticker* _this = (Ticker*)arg; - if (_this == nullptr) - { - return; - } - if (_this->_callback_function) - { - _this->_callback_function(); - } -} diff --git a/Ticker_for_TickerScheduler/Ticker/Ticker.h b/Ticker_for_TickerScheduler/Ticker/Ticker.h deleted file mode 100644 index 15474594..00000000 --- a/Ticker_for_TickerScheduler/Ticker/Ticker.h +++ /dev/null @@ -1,136 +0,0 @@ -/* - Ticker.h - esp8266 library that calls functions periodically - - Copyright (c) 2014 Ivan Grokhotkov. All rights reserved. - This file is part of the esp8266 core for Arduino environment. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef TICKER_H -#define TICKER_H - -#include -#include -#include -#include -#include - -extern "C" { - typedef struct _ETSTIMER_ ETSTimer; -} - -class Ticker -{ -public: - Ticker(); - ~Ticker(); - typedef void (*callback_t)(void); - typedef void (*callback_with_arg_t)(void*); - typedef std::function callback_function_t; - - void attach_scheduled(float seconds, callback_function_t callback) - { - attach(seconds,std::bind(schedule_function, callback)); - } - - void attach(float seconds, callback_function_t callback) - { - _callback_function = callback; - attach(seconds, _static_callback, (void*)this); - } - - void attach_ms_scheduled(uint32_t milliseconds, callback_function_t callback) - { - attach_ms(milliseconds, std::bind(schedule_function, callback)); - } - - void attach_ms(uint32_t milliseconds, callback_function_t callback) - { - _callback_function = callback; - attach_ms(milliseconds, _static_callback, (void*)this); - } - - template - void attach(float seconds, void (*callback)(TArg), TArg arg) - { - static_assert(sizeof(TArg) <= sizeof(uint32_t), "attach() callback argument size must be <= 4 bytes"); - // C-cast serves two purposes: - // static_cast for smaller integer types, - // reinterpret_cast + const_cast for pointer types - uint32_t arg32 = (uint32_t)arg; - _attach_ms(seconds * 1000, true, reinterpret_cast(callback), arg32); - } - - template - void attach_ms(uint32_t milliseconds, void (*callback)(TArg), TArg arg) - { - static_assert(sizeof(TArg) <= sizeof(uint32_t), "attach_ms() callback argument size must be <= 4 bytes"); - uint32_t arg32 = (uint32_t)arg; - _attach_ms(milliseconds, true, reinterpret_cast(callback), arg32); - } - - void once_scheduled(float seconds, callback_function_t callback) - { - once(seconds, std::bind(schedule_function, callback)); - } - - void once(float seconds, callback_function_t callback) - { - _callback_function = callback; - once(seconds, _static_callback, (void*)this); - } - - void once_ms_scheduled(uint32_t milliseconds, callback_function_t callback) - { - once_ms(milliseconds, std::bind(schedule_function, callback)); - } - - void once_ms(uint32_t milliseconds, callback_function_t callback) - { - _callback_function = callback; - once_ms(milliseconds, _static_callback, (void*)this); - } - - template - void once(float seconds, void (*callback)(TArg), TArg arg) - { - static_assert(sizeof(TArg) <= sizeof(uint32_t), "attach() callback argument size must be <= 4 bytes"); - uint32_t arg32 = (uint32_t)(arg); - _attach_ms(seconds * 1000, false, reinterpret_cast(callback), arg32); - } - - template - void once_ms(uint32_t milliseconds, void (*callback)(TArg), TArg arg) - { - static_assert(sizeof(TArg) <= sizeof(uint32_t), "attach_ms() callback argument size must be <= 4 bytes"); - uint32_t arg32 = (uint32_t)(arg); - _attach_ms(milliseconds, false, reinterpret_cast(callback), arg32); - } - - void detach(); - bool active() const; - -protected: - void _attach_ms(uint32_t milliseconds, bool repeat, callback_with_arg_t callback, uint32_t arg); - static void _static_callback (void* arg); - -protected: - ETSTimer* _timer; - callback_function_t _callback_function = nullptr; -}; - - -#endif//TICKER_H diff --git a/Ticker_for_TickerScheduler/Ticker/examples/TickerBasic/TickerBasic.ino b/Ticker_for_TickerScheduler/Ticker/examples/TickerBasic/TickerBasic.ino deleted file mode 100644 index 2fabd983..00000000 --- a/Ticker_for_TickerScheduler/Ticker/examples/TickerBasic/TickerBasic.ino +++ /dev/null @@ -1,45 +0,0 @@ -/* - Basic Ticker usage - - Ticker is an object that will call a given function with a certain period. - Each Ticker calls one function. You can have as many Tickers as you like, - memory being the only limitation. - - A function may be attached to a ticker and detached from the ticker. - There are two variants of the attach function: attach and attach_ms. - The first one takes period in seconds, the second one in milliseconds. - - The built-in LED will be blinking. -*/ - -#include - -Ticker flipper; - -int count = 0; - -void flip() { - int state = digitalRead(LED_BUILTIN); // get the current state of GPIO1 pin - digitalWrite(LED_BUILTIN, !state); // set pin to the opposite state - - ++count; - // when the counter reaches a certain value, start blinking like crazy - if (count == 20) { - flipper.attach(0.1, flip); - } - // when the counter reaches yet another value, stop blinking - else if (count == 120) { - flipper.detach(); - } -} - -void setup() { - pinMode(LED_BUILTIN, OUTPUT); - digitalWrite(LED_BUILTIN, LOW); - - // flip the pin every 0.3s - flipper.attach(0.3, flip); -} - -void loop() { -} diff --git a/Ticker_for_TickerScheduler/Ticker/examples/TickerFunctional/TickerFunctional.ino b/Ticker_for_TickerScheduler/Ticker/examples/TickerFunctional/TickerFunctional.ino deleted file mode 100644 index 33c94359..00000000 --- a/Ticker_for_TickerScheduler/Ticker/examples/TickerFunctional/TickerFunctional.ino +++ /dev/null @@ -1,64 +0,0 @@ -#include "Arduino.h" -#include "Ticker.h" - -#define LED1 2 -#define LED2 4 -#define LED3 12 -#define LED4 14 -#define LED5 15 - - -class ExampleClass { - public: - ExampleClass(int pin, int duration) : _pin(pin), _duration(duration) { - pinMode(_pin, OUTPUT); - _myTicker.attach_ms(_duration, std::bind(&ExampleClass::classBlink, this)); - } - ~ExampleClass() {}; - - int _pin, _duration; - Ticker _myTicker; - - void classBlink() { - digitalWrite(_pin, !digitalRead(_pin)); - } -}; - -void staticBlink() { - digitalWrite(LED2, !digitalRead(LED2)); -} - -void scheduledBlink() { - digitalWrite(LED3, !digitalRead(LED2)); -} - -void parameterBlink(int p) { - digitalWrite(p, !digitalRead(p)); -} - -Ticker staticTicker; -Ticker scheduledTicker; -Ticker parameterTicker; -Ticker lambdaTicker; - -ExampleClass example(LED1, 100); - - -void setup() { - pinMode(LED2, OUTPUT); - staticTicker.attach_ms(100, staticBlink); - - pinMode(LED3, OUTPUT); - scheduledTicker.attach_ms_scheduled(100, scheduledBlink); - - pinMode(LED4, OUTPUT); - parameterTicker.attach_ms(100, std::bind(parameterBlink, LED4)); - - pinMode(LED5, OUTPUT); - lambdaTicker.attach_ms(100, []() { - digitalWrite(LED5, !digitalRead(LED5)); - }); -} - -void loop() { -} diff --git a/Ticker_for_TickerScheduler/Ticker/examples/TickerParameter/TickerParameter.ino b/Ticker_for_TickerScheduler/Ticker/examples/TickerParameter/TickerParameter.ino deleted file mode 100644 index 67c6256b..00000000 --- a/Ticker_for_TickerScheduler/Ticker/examples/TickerParameter/TickerParameter.ino +++ /dev/null @@ -1,35 +0,0 @@ -/* - Passing paramters to Ticker callbacks - - Apart from void(void) functions, the Ticker library supports - functions taking one argument. This argument's size has to be less or - equal to 4 bytes (so char, short, int, float, void*, char* types will do). - - This sample runs two tickers that both call one callback function, - but with different arguments. - - The built-in LED will be pulsing. -*/ - -#include - -Ticker tickerSetHigh; -Ticker tickerSetLow; - -void setPin(int state) { - digitalWrite(LED_BUILTIN, state); -} - -void setup() { - pinMode(LED_BUILTIN, OUTPUT); - digitalWrite(1, LOW); - - // every 25 ms, call setPin(0) - tickerSetLow.attach_ms(25, setPin, 0); - - // every 26 ms, call setPin(1) - tickerSetHigh.attach_ms(26, setPin, 1); -} - -void loop() { -} diff --git a/Ticker_for_TickerScheduler/Ticker/library.properties b/Ticker_for_TickerScheduler/Ticker/library.properties deleted file mode 100644 index a759351e..00000000 --- a/Ticker_for_TickerScheduler/Ticker/library.properties +++ /dev/null @@ -1,10 +0,0 @@ -name=Ticker -version=1.0 -author=Ivan Grokhtokov -maintainer=Ivan Grokhtokov -sentence=Allows to call functions with a given interval. -paragraph= -category=Timing -url= -architectures=esp8266 -dot_a_linkage=true diff --git a/Time.ino b/Time.ino deleted file mode 100644 index 365d40e4..00000000 --- a/Time.ino +++ /dev/null @@ -1,143 +0,0 @@ -void Time_Init() { - server.on("/time", HTTP_GET, [](AsyncWebServerRequest * request) { - if (request->hasArg("timezone")) { - jsonWriteStr(configSetup, "timezone", request->getParam("timezone")->value()); - } - if (request->hasArg("ntp")) { - jsonWriteStr(configSetup, "ntp", request->getParam("ntp")->value()); - } - saveConfig(); - reconfigTime(); - request->send(200, "text/text", "OK"); // отправляем ответ о выполнении - }); - - ts.add(TIME_SYNC, 30000, [&](void*) { - time_check(); - }, nullptr, true); -} - -void time_check() { - if (GetTimeUnix() == "failed") { - Serial.println("[i] Time is not synchronized, start synchronization"); - reconfigTime(); - } -} - -void reconfigTime() { - if (WiFi.status() == WL_CONNECTED) { - String ntp = jsonReadStr(configSetup, "ntp"); - configTime(0, 0, ntp.c_str()); - int i = 0; - Serial.println("[i] Awaiting for time "); -#ifdef ESP32 - struct tm timeinfo; - while (!getLocalTime(&timeinfo) && i <= 4) { - Serial.print("."); - i++; - delay(1000); - } -#endif -#ifdef ESP8266 - //while (!time(nullptr) && i < 4) { - // Serial.print("."); - // i++; - delay(2000); - //} -#endif - if (GetTimeUnix() != "failed") { - Serial.print("[V] Time synchronized = "); - Serial.print(GetDataDigital()); - Serial.print(" "); - Serial.println(GetTime()); - } else { - Serial.println("[E] Time server or internet connection error, will try again in 30 sec"); - } - } else { - Serial.println("[E] Get time impossible, no wifi connection"); - } -} - -//Получаем время в формате linux gmt -String GetTimeUnix() { - time_t now = time(nullptr); - if (now < 30000) { - return "failed"; - } else { - return String(now); - } -} -// Получение текущего времени -String GetTime() { - time_t now = time(nullptr); // получаем время с помощью библиотеки time.h - int zone = 3600 * jsonReadStr(configSetup, "timezone").toInt(); - now = now + zone; - String Time = ""; // Строка для результатов времени - Time += ctime(&now); // Преобразуем время в строку формата Thu Jan 19 00:55:35 2017 - int i = Time.indexOf(":"); //Ишем позицию первого символа : - Time = Time.substring(i - 2, i + 6); // Выделяем из строки 2 символа перед символом : и 6 символов после - return Time; // Возврашаем полученное время -} - -String GetTimeWOsec() { - time_t now = time(nullptr); // получаем время с помощью библиотеки time.h - int zone = 3600 * jsonReadStr(configSetup, "timezone").toInt(); - now = now + zone; - String Time = ""; // Строка для результатов времени - Time += ctime(&now); // Преобразуем время в строку формата Thu Jan 19 00:55:35 2017 - int i = Time.indexOf(":"); //Ишем позицию первого символа : - Time = Time.substring(i - 2, i + 3); // Выделяем из строки 2 символа перед символом : и 6 символов после - return Time; // Возврашаем полученное время -} - -// Получение даты -String GetDate() { - time_t now = time(nullptr); // получаем время с помощью библиотеки time.h - int zone = 3600 * jsonReadStr(configSetup, "timezone").toInt(); - now = now + zone; - String Data = ""; // Строка для результатов времени - Data += ctime(&now); // Преобразуем время в строку формата Thu Jan 19 00:55:35 2017 - Data.replace("\n", ""); - uint8_t i = Data.lastIndexOf(" "); //Ишем позицию последнего символа пробел - String Time = Data.substring(i - 8, i + 1); // Выделяем время и пробел - Data.replace(Time, ""); // Удаляем из строки 8 символов времени и пробел - return Data; // Возврашаем полученную дату -} - -String GetDataDigital() { - String date = GetDate(); - - date = deleteBeforeDelimiter(date, " "); - - date.replace("Jan", "01"); - date.replace("Feb", "02"); - date.replace("Mar", "03"); - date.replace("Apr", "04"); - date.replace("May", "05"); - date.replace("Jun", "06"); - date.replace("Jul", "07"); - date.replace("Aug", "08"); - date.replace("Sep", "09"); - date.replace("Oct", "10"); - date.replace("Nov", "11"); - date.replace("Dec", "12"); - - String month = date.substring(0, 2); - String day = date.substring(3, 5); - String year = date.substring(8, 10); - - String out = day; - out += "."; - out += month; - out += "."; - out += year; - - return out; -} - -int timeToMin(String Time) { - //"00:00:00" время в секунды - long min = selectToMarker(Time, ":").toInt() * 60; //общее количество секунд в полных часах - Time = deleteBeforeDelimiter (Time, ":"); // Теперь здесь минуты секунды - min += selectToMarker(Time, ":").toInt(); // Добавим секунды из полных минут - return min; -} diff --git a/Timers.ino b/Timers.ino deleted file mode 100644 index 941f0c0d..00000000 --- a/Timers.ino +++ /dev/null @@ -1,89 +0,0 @@ -//================================================================================================================ -//=========================================Таймеры================================================================= -void Timer_countdown_init() { - - ts.add(TIMER_COUNTDOWN, 1000, [&](void*) { - - String old_line = jsonReadStr(optionJson, "timers"); - if (old_line != "") { - //Serial.println(old_line); - int i = 0; - do { - String timer = selectFromMarkerToMarker(old_line, "," , i); - Serial.print("timer no " + String (i) + ": "); - Serial.println(timer); - if (timer == "not found" || timer == "") return; - int number = selectToMarker (timer, ":").toInt(); - int time = readTimer(number); - if (time == 0) { - delTimer (String (number)); - jsonWriteStr(configJson, "timer" + String(number), "0"); - eventGen ("timer", String(number)); - } else { - time--; - addTimer(String (number), String (time)); - } - i++; - } while (i <= 9); - } - }, nullptr, true); -} - -void timerStart() { - String number = sCmd.next(); - String period_of_time = sCmd.next(); - String type = sCmd.next(); - if (period_of_time.indexOf("digit") != -1) { - //period_of_time = add_set(period_of_time); - period_of_time = jsonReadStr(configJson, period_of_time); - } - if (type == "sec") period_of_time = period_of_time; - if (type == "min") period_of_time = String(period_of_time.toInt() * 60); - if (type == "hours") period_of_time = String(period_of_time.toInt() * 60 * 60); - addTimer(number, period_of_time); - jsonWriteStr(configJson, "timer" + number, "1"); -} -void addTimer(String number, String time) { - String tmp = jsonReadStr(optionJson, "timers"); //1:60,2:120, - String new_timer = number + ":" + time; - int psn1 = tmp.indexOf(number + ":"); //0 ищем позицию таймера который надо заменить - if (psn1 != -1) { //если он есть - int psn2 = tmp.indexOf(",", psn1); //4 от этой позиции находим позицию запятой - String timer = tmp.substring(psn1, psn2); //1:60 выделяем таймер который надо заменить - ///tmp.replace(timer, new_timer); //заменяем таймер на новый (во всей стороке) - tmp.replace(timer + ",", ""); - tmp += new_timer + ","; - } else { //если его нет - tmp += new_timer + ","; - } - jsonWriteStr(optionJson, "timers", tmp); - //Serial.println("ura"); -} - -void timerStop() { - String number = sCmd.next(); - delTimer(number); -} - -void delTimer (String number) { - String tmp = jsonReadStr(optionJson, "timers"); //1:60,2:120, - int psn1 = tmp.indexOf(number + ":"); //0 ищем позицию таймера который надо удалить - if (psn1 != -1) { //если он есть - int psn2 = tmp.indexOf(",", psn1); //4 от этой позиции находим позицию запятой - String timer = tmp.substring(psn1, psn2) + ","; //1:60, выделяем таймер который надо удалить - tmp.replace(timer, ""); //удаляем таймер - jsonWriteStr(optionJson, "timers", tmp); - } -} - -int readTimer(int number) { - String tmp = jsonReadStr(optionJson, "timers"); //1:60,2:120, - int psn1 = tmp.indexOf(String(number) + ":"); //0 ищем позицию таймера который надо прочитать - String timer; - if (psn1 != -1) { //если он есть - int psn2 = tmp.indexOf(",", psn1); //4 от этой позиции находим позицию запятой - timer = tmp.substring(psn1, psn2); //1:60 выделяем таймер который надо прочитать - timer = deleteBeforeDelimiter(timer, ":"); - } - return timer.toInt(); -} diff --git a/Upgrade.ino b/Upgrade.ino deleted file mode 100644 index f576bfe6..00000000 --- a/Upgrade.ino +++ /dev/null @@ -1,277 +0,0 @@ -void initUpgrade() { - -#ifdef ESP8266 - if (WiFi.status() == WL_CONNECTED) last_version = getURL("http://91.204.228.124:1100/update/esp8266/version.txt"); -#endif -#ifdef ESP32 - if (WiFi.status() == WL_CONNECTED) last_version = getURL("http://91.204.228.124:1100/update/esp32/version.txt"); -#endif - jsonWriteStr(configSetup, "last_version", last_version); - Serial.print("[i] Last firmware version: "); - Serial.println(last_version); - - server.on("/check", HTTP_GET, [](AsyncWebServerRequest * request) { - upgrade_url = true; - Serial.print("[i] Last firmware version: "); - Serial.println(last_version); - String tmp = "{}"; - if (WiFi.status() == WL_CONNECTED) { - if (mb_4_of_memory) { - if (last_version != "") { - if (last_version != "error") { - if (last_version == firmware_version) { - jsonWriteStr(tmp, "title", "Последняя версия прошивки уже установлена."); - jsonWriteStr(tmp, "class", "pop-up"); - } else { - jsonWriteStr(tmp, "title", "Имеется новая версия прошивкиИдет обновление прошивки, после обновления страница перезагрузится автоматически...')\">Установить"); - jsonWriteStr(tmp, "class", "pop-up"); - } - } else { - jsonWriteStr(tmp, "title", "Ошибка... Cервер не найден. Попробуйте позже..."); - jsonWriteStr(tmp, "class", "pop-up"); - } - } else { - jsonWriteStr(tmp, "title", "Нажмите на кнопку \"обновить прошивку\" повторно..."); - jsonWriteStr(tmp, "class", "pop-up"); - } - } else { - jsonWriteStr(tmp, "title", "Обновление по воздуху не поддерживается, модуль имеет меньше 4 мб памяти..."); - jsonWriteStr(tmp, "class", "pop-up"); - } - } else { - jsonWriteStr(tmp, "title", "Устройство не подключен к роутеру..."); - jsonWriteStr(tmp, "class", "pop-up"); - } - request->send(200, "text/text", tmp); - }); - - server.on("/upgrade", HTTP_GET, [](AsyncWebServerRequest * request) { - upgrade = true; - String tmp = "{}"; - request->send(200, "text/text", "ok"); - }); -} - -void do_upgrade_url() { - if (upgrade_url) { - upgrade_url = false; -#ifdef ESP32 - last_version = getURL("http://91.204.228.124:1100/update/esp32/version.txt"); - jsonWriteStr(configSetup, "last_version", last_version); -#endif -#ifdef ESP8266 - last_version = getURL("http://91.204.228.124:1100/update/esp8266/version.txt"); - jsonWriteStr(configSetup, "last_version", last_version); -#endif - } -} - -void upgrade_firmware() { - - String scenario_for_update; - String config_for_update; - String configSetup_for_update; - scenario_for_update = readFile("firmware.s.txt", 4000); - config_for_update = readFile("firmware.c.txt", 4000); - configSetup_for_update = configSetup; - - Serial.println("Start upgrade SPIFFS, please wait..."); - - WiFiClient client_for_upgrade; - -#ifdef ESP32 - httpUpdate.rebootOnUpdate(false); - t_httpUpdate_return ret = httpUpdate.updateSpiffs(client_for_upgrade, "http://91.204.228.124:1100/update/esp32/esp32-esp8266_iot-manager_modules_firmware.spiffs.bin"); -#endif -#ifdef ESP8266 - ESPhttpUpdate.rebootOnUpdate(false); - t_httpUpdate_return ret = ESPhttpUpdate.updateSpiffs(client_for_upgrade, "http://91.204.228.124:1100/update/esp8266/esp32-esp8266_iot-manager_modules_firmware.spiffs.bin"); -#endif - - if (ret == HTTP_UPDATE_OK) { - - writeFile("firmware.s.txt", scenario_for_update); - writeFile("firmware.c.txt", config_for_update); - writeFile("config.json", configSetup_for_update); - saveConfig(); - - Serial.println("SPIFFS upgrade done!"); - Serial.println("Start upgrade BUILD, please wait..."); - -#ifdef ESP32 - //httpUpdate.rebootOnUpdate(true); - t_httpUpdate_return ret = httpUpdate.update(client_for_upgrade, "http://91.204.228.124:1100/update/esp32/esp32-esp8266_iot-manager_modules_firmware.ino.bin"); -#endif -#ifdef ESP8266 - //ESPhttpUpdate.rebootOnUpdate(true); - t_httpUpdate_return ret = ESPhttpUpdate.update(client_for_upgrade, "http://91.204.228.124:1100/update/esp8266/esp32-esp8266_iot-manager_modules_firmware.ino.bin"); -#endif - - if (ret == HTTP_UPDATE_OK) { - - Serial.println("BUILD upgrade done!"); - Serial.println("Restart ESP...."); - ESP.restart(); - } else { - Serial.println("!!!!BUILD upgrade ERROR"); - } - } else { - Serial.println("!!!!SPIFFS upgrade ERROR"); - } -} - -void do_upgrade() { - if (upgrade) { - upgrade = false; - upgrade_firmware(); - } -} - -/* - void upgrade_status(t_httpUpdate_return set) { - switch (set) { - case HTTP_UPDATE_FAILED: - Serial.printf("UPDATE_FAILED Error (%d): %s", httpUpdate.getLastError(), httpUpdate.getLastErrorString().c_str()); - break; - - case HTTP_UPDATE_NO_UPDATES: - Serial.println("NO_UPDATES"); - break; - - case HTTP_UPDATE_OK: - Serial.println("HTTP_UPDATE_OK"); - break; - } - } -*/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -/* - // ----------------------- Обновление с сайта - void webUpgrade() { - - #ifdef ESP8266 - String spiffsData = "http://91.204.228.124:1100/update/esp8266/esp32-esp8266_iot-manager_modules_firmware.spiffs.bin"; - String buildData = "http://91.204.228.124:1100/update/esp8266/esp32-esp8266_iot-manager_modules_firmware.ino.bin"; - #endif - - #ifdef ESP32 - String spiffsData = "http://91.204.228.124:1100/update/esp32/esp32-esp8266_iot-manager_modules_firmware.spiffs.bin"; - String buildData = "http://91.204.228.124:1100/update/esp32/esp32-esp8266_iot-manager_modules_firmware.ino.bin"; - #endif - - if (spiffsData != "") { // Если нужно прошить FS - String scenario_for_update; - String config_for_update; - String configSetup_for_update; - Serial.println(spiffsData); - scenario_for_update = readFile("firmware.s.txt", 2048); - config_for_update = readFile("config.all.txt", 2048); - configSetup_for_update = configSetup; - ESPhttpUpdate.rebootOnUpdate(false); // Отключим перезагрузку после обновления - updateHTTP(spiffsData, true); - writeFile("firmware.s.txt", scenario_for_update); - writeFile("config.all.txt", config_for_update); - writeFile("config.json", configSetup_for_update); - saveConfig(); - } - - if (buildData != "") { // Если нужно прошить build - Serial.println(buildData); - ESPhttpUpdate.rebootOnUpdate(true); // Включим перезагрузку после обновления - updateHTTP(buildData, false); - } - } - // ------------------ Обновление по url - void updateHTTP(String url, boolean mode) { - if (url == "") return; - ESPhttpUpdate.setLedPin(LED_BUILTIN, LOW); - if (mode) { - Serial.println("Update Spiffs..."); - t_httpUpdate_return ret = ESPhttpUpdate.updateSpiffs(url); - UpdateStatus(ret , "Spiffs"); - } else { - Serial.println("Update Build..."); - t_httpUpdate_return ret = ESPhttpUpdate.update(url); - UpdateStatus(ret , "build"); - } - } - void UpdateStatus(t_httpUpdate_return set, String mode) { - - switch (set) { - - case HTTP_UPDATE_FAILED: - Serial.println(mode + "_FAILED"); - var = "{}"; - jsonWriteStr(var, "title", "_FAILED"); - jsonWriteStr(var, "class", "pop-up"); - //request->send(200, "text/text", var); - break; - - case HTTP_UPDATE_NO_UPDATES: - Serial.println(mode + "_NO_UPDATES"); - var = "{}"; - jsonWriteStr(var, "title", "_NO_UPDATES"); - jsonWriteStr(var, "class", "pop-up"); - //request->send(200, "text/text", var); - break; - - case HTTP_UPDATE_OK: - Serial.println(mode + "_UPDATE_OK"); - var = "{}"; - jsonWriteStr(var, "title", "_UPDATE_OK"); - jsonWriteStr(var, "class", "pop-up"); - //request->send(200, "text/text", var); - break; - } - } -*/ diff --git a/Web_server.ino b/Web_server.ino deleted file mode 100644 index f4e01087..00000000 --- a/Web_server.ino +++ /dev/null @@ -1,231 +0,0 @@ -void Web_server_init() { - /********************************************************************************* - ***************************************OTA**************************************** - *********************************************************************************/ -#ifdef OTA_enable - ArduinoOTA.onStart([]() { - events.send("Update Start", "ota"); - }); - ArduinoOTA.onEnd([]() { - events.send("Update End", "ota"); - }); - ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { - char p[32]; - sprintf(p, "Progress: %u%%\n", (progress / (total / 100))); - events.send(p, "ota"); - }); - ArduinoOTA.onError([](ota_error_t error) { - if (error == OTA_AUTH_ERROR) events.send("Auth Failed", "ota"); - else if (error == OTA_BEGIN_ERROR) events.send("Begin Failed", "ota"); - else if (error == OTA_CONNECT_ERROR) events.send("Connect Failed", "ota"); - else if (error == OTA_RECEIVE_ERROR) events.send("Recieve Failed", "ota"); - else if (error == OTA_END_ERROR) events.send("End Failed", "ota"); - }); - ArduinoOTA.setHostname(hostName); - ArduinoOTA.begin(); -#endif - /********************************************************************************* - **************************************MDNS**************************************** - *********************************************************************************/ -#ifdef MDNS_enable - MDNS.addService("http", "tcp", 80); -#endif - //SPIFFS.begin(); - /********************************************************************************* - **************************************WS****************************************** - *********************************************************************************/ -#ifdef WS_enable - ws.onEvent(onWsEvent); - server.addHandler(&ws); - - events.onConnect([](AsyncEventSourceClient * client) { - //!!!client->send("hello!", NULL, millis(), 1000); - }); - - server.addHandler(&events); -#endif - /********************************************************************************* - **************************************WEB**************************************** - *********************************************************************************/ -#ifdef ESP32 - server.addHandler(new SPIFFSEditor(SPIFFS, jsonReadStr(configSetup, "web_login").c_str(), jsonReadStr(configSetup, "web_pass").c_str())); -#elif defined(ESP8266) - server.addHandler(new SPIFFSEditor(jsonReadStr(configSetup, "web_login").c_str(), jsonReadStr(configSetup, "web_pass").c_str())); -#endif - - /* server.on("/heap", HTTP_GET, [](AsyncWebServerRequest * request) { - request->send(200, "text/plain", String(ESP.getFreeHeap())); - });*/ - - server.serveStatic("/css/", SPIFFS, "/css/").setCacheControl("max-age=31536000"); - server.serveStatic("/js/", SPIFFS, "/js/").setCacheControl("max-age=31536000"); - server.serveStatic("/favicon.ico", SPIFFS, "/favicon.ico").setCacheControl("max-age=31536000"); - - server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm") - .setAuthentication(jsonReadStr(configSetup, "web_login").c_str(), jsonReadStr(configSetup, "web_pass").c_str()); - - server.onNotFound([](AsyncWebServerRequest * request) { - Serial.printf("NOT_FOUND: "); - if (request->method() == HTTP_GET) - Serial.printf("GET"); - else if (request->method() == HTTP_POST) - Serial.printf("POST"); - else if (request->method() == HTTP_DELETE) - Serial.printf("DELETE"); - else if (request->method() == HTTP_PUT) - Serial.printf("PUT"); - else if (request->method() == HTTP_PATCH) - Serial.printf("PATCH"); - else if (request->method() == HTTP_HEAD) - Serial.printf("HEAD"); - else if (request->method() == HTTP_OPTIONS) - Serial.printf("OPTIONS"); - else - Serial.printf("UNKNOWN"); - Serial.printf(" http://%s%s\n", request->host().c_str(), request->url().c_str()); - - if (request->contentLength()) { - Serial.printf("_CONTENT_TYPE: %s\n", request->contentType().c_str()); - Serial.printf("_CONTENT_LENGTH: %u\n", request->contentLength()); - } - - int headers = request->headers(); - int i; - for (i = 0; i < headers; i++) { - AsyncWebHeader* h = request->getHeader(i); - Serial.printf("_HEADER[%s]: %s\n", h->name().c_str(), h->value().c_str()); - } - - int params = request->params(); - for (i = 0; i < params; i++) { - AsyncWebParameter* p = request->getParam(i); - if (p->isFile()) { - Serial.printf("_FILE[%s]: %s, size: %u\n", p->name().c_str(), p->value().c_str(), p->size()); - } else if (p->isPost()) { - Serial.printf("_POST[%s]: %s\n", p->name().c_str(), p->value().c_str()); - } else { - Serial.printf("_GET[%s]: %s\n", p->name().c_str(), p->value().c_str()); - } - } - - request->send(404); - }); - - - server.onFileUpload([](AsyncWebServerRequest * request, const String & filename, size_t index, uint8_t *data, size_t len, bool final) { - if (!index) - Serial.printf("UploadStart: %s\n", filename.c_str()); - Serial.printf("%s", (const char*)data); - if (final) - Serial.printf("UploadEnd: %s (%u)\n", filename.c_str(), index + len); - }); - - - server.onRequestBody([](AsyncWebServerRequest * request, uint8_t *data, size_t len, size_t index, size_t total) { - if (!index) - Serial.printf("BodyStart: %u\n", total); - Serial.printf("%s", (const char*)data); - if (index + len == total) - Serial.printf("BodyEnd: %u\n", total); - }); - - server.begin(); - - // --------------------Выдаем данные configJson //config.live.json - динамические данные - server.on("/config.live.json", HTTP_GET, [](AsyncWebServerRequest * request) { - request->send(200, "application/json", configJson); - }); - // --------------------Выдаем данные optionJson //config.option.json - данные не являющиеся событиями - server.on("/config.option.json", HTTP_GET, [](AsyncWebServerRequest * request) { - request->send(200, "application/json", optionJson); - }); - // -------------------Выдаем данные configSetup //config.setup.json - для хранения постоянных данных - server.on("/config.setup.json", HTTP_GET, [](AsyncWebServerRequest * request) { - request->send(200, "application/json", configSetup); - }); - - // ------------------Выполнение команды из запроса - //http://192.168.88.45/cmd?command=rel%201%201 - server.on("/cmd", HTTP_GET, [](AsyncWebServerRequest * request) { - String com = request->getParam("command")->value(); - Serial.println(com); - order_loop += com + ","; - request->send(200, "text/text", "OK"); // отправляем ответ о выполнении - }); -} -/********************************************************************************************************************************* - *********************************************************WS********************************************************************** - ********************************************************************************************************************************/ -#ifdef WS_enable -void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len) { - if (type == WS_EVT_CONNECT) { - Serial.printf("ws[%s][%u] connect\n", server->url(), client->id()); - client->printf(json.c_str(), client->id()); - //client->ping(); - } else if (type == WS_EVT_DISCONNECT) { - Serial.printf("ws[%s][%u] disconnect\n", server->url(), client->id()); - } else if (type == WS_EVT_ERROR) { - Serial.printf("ws[%s][%u] error(%u): %s\n", server->url(), client->id(), *((uint16_t*)arg), (char*)data); - } else if (type == WS_EVT_PONG) { - Serial.printf("ws[%s][%u] pong[%u]: %s\n", server->url(), client->id(), len, (len) ? (char*)data : ""); - } else if (type == WS_EVT_DATA) { - AwsFrameInfo * info = (AwsFrameInfo*)arg; - String msg = ""; - if (info->final && info->index == 0 && info->len == len) { - //the whole message is in a single frame and we got all of it's data - Serial.printf("ws[%s][%u] %s-message[%llu]: ", server->url(), client->id(), (info->opcode == WS_TEXT) ? "text" : "binary", info->len); - - if (info->opcode == WS_TEXT) { - for (size_t i = 0; i < info->len; i++) { - msg += (char) data[i]; - } - } else { - char buff[3]; - for (size_t i = 0; i < info->len; i++) { - sprintf(buff, "%02x ", (uint8_t) data[i]); - msg += buff ; - } - } - Serial.printf("%s\n", msg.c_str()); - - if (info->opcode == WS_TEXT) - client->text("{}"); - else - client->binary("{}"); - } else { - //message is comprised of multiple frames or the frame is split into multiple packets - if (info->index == 0) { - if (info->num == 0) - Serial.printf("ws[%s][%u] %s-message start\n", server->url(), client->id(), (info->message_opcode == WS_TEXT) ? "text" : "binary"); - Serial.printf("ws[%s][%u] frame[%u] start[%llu]\n", server->url(), client->id(), info->num, info->len); - } - - Serial.printf("ws[%s][%u] frame[%u] %s[%llu - %llu]: ", server->url(), client->id(), info->num, (info->message_opcode == WS_TEXT) ? "text" : "binary", info->index, info->index + len); - - if (info->opcode == WS_TEXT) { - for (size_t i = 0; i < len; i++) { - msg += (char) data[i]; - } - } else { - char buff[3]; - for (size_t i = 0; i < len; i++) { - sprintf(buff, "%02x ", (uint8_t) data[i]); - msg += buff ; - } - } - Serial.printf("%s\n", msg.c_str()); - - if ((info->index + len) == info->len) { - Serial.printf("ws[%s][%u] frame[%u] end[%llu]\n", server->url(), client->id(), info->num, info->len); - if (info->final) { - Serial.printf("ws[%s][%u] %s-message end\n", server->url(), client->id(), (info->message_opcode == WS_TEXT) ? "text" : "binary"); - if (info->message_opcode == WS_TEXT) - client->text("I got your text message"); - else - client->binary("I got your binary message"); - } - } - } - } -} -#endif diff --git a/WiFi.ino b/WiFi.ino deleted file mode 100644 index 501e5a8f..00000000 --- a/WiFi.ino +++ /dev/null @@ -1,213 +0,0 @@ -void WIFI_init() { - - // --------------------Получаем ssid password со страницы - server.on("/ssid", HTTP_GET, [](AsyncWebServerRequest * request) { - if (request->hasArg("ssid")) { - jsonWriteStr(configSetup, "ssid", request->getParam("ssid")->value()); - } - if (request->hasArg("password")) { - jsonWriteStr(configSetup, "password", request->getParam("password")->value()); - } - saveConfig(); // Функция сохранения данных во Flash - request->send(200, "text/text", "OK"); // отправляем ответ о выполнении - }); - // --------------------Получаем ssidAP passwordAP со страницы - server.on("/ssidap", HTTP_GET, [](AsyncWebServerRequest * request) { - if (request->hasArg("ssidAP")) { - jsonWriteStr(configSetup, "ssidAP", request->getParam("ssidAP")->value()); - } - if (request->hasArg("passwordAP")) { - jsonWriteStr(configSetup, "passwordAP", request->getParam("passwordAP")->value()); - } - saveConfig(); // Функция сохранения данных во Flash - request->send(200, "text/text", "OK"); // отправляем ответ о выполнении - }); - - // --------------------Получаем логин и пароль для web со страницы - server.on("/web", HTTP_GET, [](AsyncWebServerRequest * request) { - if (request->hasArg("web_login")) { - jsonWriteStr(configSetup, "web_login", request->getParam("web_login")->value()); - } - if (request->hasArg("web_pass")) { - jsonWriteStr(configSetup, "web_pass", request->getParam("web_pass")->value()); - } - saveConfig(); // Функция сохранения данных во Flash - //Web_server_init(); - request->send(200, "text/text", "OK"); // отправляем ответ о выполнении - }); - - server.on("/restart", HTTP_GET, [](AsyncWebServerRequest * request) { - if (request->hasArg("device")) { - if (request->getParam("device")->value() == "ok") ESP.restart(); - } - request->send(200, "text/text", "OK"); // отправляем ответ о выполнении - }); - ROUTER_Connecting(); -} - -void ROUTER_Connecting() { - - led_blink("slow"); - - WiFi.mode(WIFI_STA); - - byte tries = 20; - String _ssid = jsonReadStr(configSetup, "ssid"); - String _password = jsonReadStr(configSetup, "password"); - //WiFi.persistent(false); - - if (_ssid == "" && _password == "") { - WiFi.begin(); - } - else { - WiFi.begin(_ssid.c_str(), _password.c_str()); - Serial.print("ssid: "); - Serial.println(_ssid); - } - // Делаем проверку подключения до тех пор пока счетчик tries - // не станет равен нулю или не получим подключение - while (--tries && WiFi.status() != WL_CONNECTED) - { - if (WiFi.status() == WL_CONNECT_FAILED) { - Serial.println("[E] password is not correct"); - tries = 1; - jsonWriteInt(optionJson, "pass_status", 1); - } - Serial.print("."); - delay(1000); - } - - if (WiFi.status() != WL_CONNECTED) - { - // Если не удалось подключиться запускаем в режиме AP - Serial.println(""); - // WiFi.disconnect(true); - StartAPMode(); - - } - else { - // Иначе удалось подключиться отправляем сообщение - // о подключении и выводим адрес IP - Serial.println(""); - Serial.println("[V] WiFi connected"); - Serial.print("[V] IP address: http://"); - Serial.print(WiFi.localIP()); - Serial.println(""); - jsonWriteStr(configJson, "ip", WiFi.localIP().toString()); - - led_blink("off"); - - //add_dev_in_list("dev.txt", chipID, WiFi.localIP().toString()); - - } -} - -bool StartAPMode() { - Serial.println("WiFi up AP"); - WiFi.disconnect(); - - WiFi.mode(WIFI_AP); - - String _ssidAP = jsonReadStr(configSetup, "ssidAP"); - String _passwordAP = jsonReadStr(configSetup, "passwordAP"); - WiFi.softAP(_ssidAP.c_str(), _passwordAP.c_str()); - IPAddress myIP = WiFi.softAPIP(); - led_blink("on"); - Serial.print("AP IP address: "); - Serial.println(myIP); - jsonWriteStr(configJson, "ip", myIP.toString()); - - if (jsonReadInt(optionJson, "pass_status") != 1) { - ts.add(ROUTER_SEARCHING, 10 * 1000, [&](void*) { - Serial.println("->try find router"); - if (RouterFind(jsonReadStr(configSetup, "ssid"))) { - ts.remove(ROUTER_SEARCHING); - WiFi.scanDelete(); - ROUTER_Connecting(); - MQTT_init(); - } - }, nullptr, true); - } - return true; -} - - -boolean RouterFind(String ssid) { - int n = WiFi.scanComplete (); - Serial.println("n = " + String(n)); - if (n == -2) { //Сканирование не было запущено, запускаем - Serial.println("[WIFI][i] scanning has not been triggered, starting scanning"); - WiFi.scanNetworks (true, false); //async, show_hidden - return false; - } - if (n == -1) { //Сканирование все еще выполняется - Serial.println("[WIFI][i] scanning still in progress"); - return false; - } - if (n == 0) { //ни одна сеть не найдена - Serial.println("[WIFI][i] no any wifi sations, starting scanning"); - WiFi.scanNetworks (true, false); - return false; - } - if (n > 0) { - for (int i = 0; i <= n; i++) { - if (WiFi.SSID (i) == ssid) { - WiFi.scanDelete(); - return true; - } else { - Serial.print(i); - Serial.print(")"); - //Serial.print(ssid); - //Serial.print("<=>"); - if (i == n) { - Serial.print(WiFi.SSID(i)); - Serial.println("; "); - } else { - Serial.print(WiFi.SSID(i)); - Serial.println("; "); - } - } - } - WiFi.scanDelete(); - return false; - } -} - -/* - String scanWIFI() { - uint8_t n = WiFi.scanNetworks(); - DynamicJsonBuffer jsonBuffer; - JsonObject& json = jsonBuffer.createObject(); - JsonArray& networks = json.createNestedArray("networks"); - for (uint8_t i = 0; i < n; i++) { - JsonObject& data = networks.createNestedObject(); - String ssidMy = WiFi.SSID(i); - data["ssid"] = ssidMy; - data["pass"] = (WiFi.encryptionType(i) == ENC_TYPE_NONE) ? "" : "*"; - int8_t dbm = WiFi.RSSI(i); - data["dbm"] = dbm; - if (ssidMy == jsonReadStr(configSetup, "ssid")) { - jsonWriteStr(configJson, "dbm", dbm); - } - } - String root; - json.printTo(root); - return root; - } -*/ -/* - { - "type":"wifi", - "title":"{{LangWiFi1}}", - "name":"ssid", - "state":"{{ssid}}", - "pattern":".{1,}" - }, - { - "type":"password", - "title":"{{LangPass}}", - "name":"ssidPass", - "state":"{{ssidPass}}", - "pattern":".{8,}" - }, -*/ diff --git a/Widgets.ino b/Widgets.ino deleted file mode 100644 index 63320300..00000000 --- a/Widgets.ino +++ /dev/null @@ -1,88 +0,0 @@ -//====================================================================================================================== -//===============================================Создание виджетов======================================================= -void createWidget (String widget_name, String page_name, String page_number, String file, String topic) { - - String widget; - widget = readFile(file, 1024); - - if (widget == "Failed") return; - if (widget == "Large") return; - - widget_name.replace("#", " "); - page_name.replace("#", " "); - - jsonWriteStr(widget, "page", page_name); - jsonWriteStr(widget, "order", page_number); - jsonWriteStr(widget, "descr", widget_name); - jsonWriteStr(widget, "topic", prex + "/" + topic); - -#ifdef layout_in_ram - all_widgets += widget + "\r\n"; -#else - addFile("layout.txt", widget); -#endif - widget = ""; -} - -void createWidgetParam (String widget_name, String page_name, String page_number, String file, String topic, String name1, String param1, String name2, String param2, String name3, String param3) { - - String widget; - widget = readFile(file, 1024); - - if (widget == "Failed") return; - if (widget == "Large") return; - - widget_name.replace("#", " "); - page_name.replace("#", " "); - - jsonWriteStr(widget, "page", page_name); - jsonWriteStr(widget, "order", page_number); - jsonWriteStr(widget, "descr", widget_name); - jsonWriteStr(widget, "topic", prex + "/" + topic); - - if (name1 != "") jsonWriteStr(widget, name1, param1); - if (name2 != "") jsonWriteStr(widget, name2, param2); - if (name3 != "") jsonWriteStr(widget, name3, param3); - -#ifdef layout_in_ram - all_widgets += widget + "\r\n"; -#else - addFile("layout.txt", widget); -#endif - widget = ""; -} - -void createChart (String widget_name, String page_name, String page_number, String file, String topic, String maxCount) { - - String widget; - widget = readFile(file, 1024); - - if (widget == "Failed") return; - if (widget == "Large") return; - - widget_name.replace("#", " "); - page_name.replace("#", " "); - - jsonWriteStr(widget, "page", page_name); - jsonWriteStr(widget, "order", page_number); - //jsonWriteStr(widget, "descr", widget_name); - jsonWriteStr(widget, "series", widget_name); - jsonWriteStr(widget, "maxCount", maxCount); - jsonWriteStr(widget, "topic", prex + "/" + topic); - -#ifdef layout_in_ram - all_widgets += widget + "\r\n"; -#else - addFile("layout.txt", widget); -#endif - widget = ""; -} - -void choose_widget_and_create(String widget_name, String page_name, String page_number, String type, String topik) { - - if (type == "any-data") createWidget (widget_name, page_name, page_number, "widgets/widget.anyData.json", topik); - if (type == "progress-line") createWidget (widget_name, page_name, page_number, "widgets/widget.progLine.json", topik); - if (type == "progress-round") createWidget (widget_name, page_name, page_number, "widgets/widget.progRound.json", topik); - if (type == "fill-gauge") createWidget (widget_name, page_name, page_number, "widgets/widget.fillGauge.json", topik); - -} diff --git a/bus.ino b/bus.ino deleted file mode 100644 index 17486aab..00000000 --- a/bus.ino +++ /dev/null @@ -1,33 +0,0 @@ -void do_i2c_scanning() { - if (i2c_scanning) { - i2c_scanning = false; - String tmp = i2c_scan(); - if (tmp == "error") { - tmp = i2c_scan(); - Serial.println(tmp); - jsonWriteStr(configJson, "i2c", tmp); - } else { - Serial.println(tmp); - jsonWriteStr(configJson, "i2c", tmp); - } - } -} - -String i2c_scan() { - String out; - byte count = 0; - Wire.begin(); - for (byte i = 8; i < 120; i++) { - Wire.beginTransmission(i); - if (Wire.endTransmission() == 0) { - count++; - out += String(count) + ". 0x" + String(i, HEX) + "; "; - delay(1); - } - } - if (count == 0) { - return "error"; - } else { - return out; - } -} diff --git a/data_excess/.exclude.files b/data_excess/.exclude.files deleted file mode 100644 index 955397fa..00000000 --- a/data_excess/.exclude.files +++ /dev/null @@ -1,2 +0,0 @@ -/*.js.gz -/.exclude.files diff --git a/data_excess/ace.js.gz b/data_excess/ace.js.gz deleted file mode 100644 index 7b175c1c92c541999766de1f36c1e7141f0f7236..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98943 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 diff --git a/data_excess/config-all.json b/data_excess/config-all.json deleted file mode 100644 index 4b62c9cd..00000000 --- a/data_excess/config-all.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "IoTmanager", - "chipID": "", - "ssidAP": "WiFi", - "passwordAP": "", - "ssid": "your_ssid", - "password": "your_password", - "timezone": 3, - "ntp": "pool.ntp.org", - "mqttServer": "", - "mqttPort": 0, - "mqttPrefix": "/IoTmanager", - "mqttUser": "", - "mqttPass": "", - "scenario": "1", - "pushingbox_id": "", - "web_login": "admin", - "web_pass": "admin", - "udponoff": "1" -} \ No newline at end of file diff --git a/data_excess/edit.htm.gz b/data_excess/edit.htm.gz deleted file mode 100644 index bdfe12d380dd7f2f00018db72e412e4ef0982ea6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5906 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 diff --git a/data_excess/favicon.ico b/data_excess/favicon.ico deleted file mode 100644 index 198474d246359b14553a1d0eac6b208cd8fe6160..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 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 diff --git a/data_excess/page.htm.gz b/data_excess/page.htm.gz deleted file mode 100644 index 2213e16523dd32fb969718c643afa7ea61344749..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1457 zcmV;i1y1@OiwFp#k1|^T18`wyWiDuRZ2+}bTW{Mo6n^)wU{z$27fZ6UZcS}#9hytm zt=NL5Xt8xgKubp!V_Nh`%62mJzweNgWZ4TkbiiI@i9DB&-?`D#N9Vtuz5VU#f)skm zzwb@m51AG~GyEmfM`74|4>NKOYv5u9a!lSpNwp$B!&(AYB!F#1ei!!@r~TeF(=bM3 zdNq#Y&1MscGUY5?M10*l6Q!o99urpPf_$L*BkAm3FYZ>TDvj}zXQ$ux-fo!I#@`Qb z=<=R{>Rr+lWvkG=#=t$ql9R&1Sk<^WLYP$N>0r0y&6G;DQjh?|hKpi+TODxHU?p0&bRxxiEL z#8ZWkI;}KesOk}8CGpsj&LQ50Zmp1zCtgn1<}<>Fv!PPSR+?mxgCt6(iFd2wS;cr3 z8IL-;RnOPMr_u09bTS;BdMysG1~QGEi6*3bu=E`VRRHJ)lRZ$XRD%a!W9x@09W7ZI znLSLF8dd{nPvlm84n?Ed@pntt)UA5^7LBQ$Dyf6>rTA;M)IL%FoexYot+b@8E+JoP z#7a5k=3INB{ug@ks!TN#Jq)W84X0Tad5_Xbz!!lhY8DPdiXg>y6pG-5# zLzPkv$tW5+o;1@O(6;;SfPEOIksxa-$*mIQ8&E4zDwy=lYTQC63OJE6#M_{ZV@TuBbv8eI<@~IJM0UReJu$De- zKi0;MM=jP*9n39CCtjOwl^TnUDnc-^5V_+pa^xb-*G8~U9wo%9O3W>^lX)HNPCOTB zrGgd+dB_N2IrMrccTr|2<)F7R5_Ba?qGbh#2d%eq%2l)X$)?GMm6rH873qaWeMuhH1>-eZ1x;WrS>V^2em`>Me*X$1uuX;& zQ>PWTWn%FdR|Y6Z+wgE{w^w_WVnZ6wM!dy-lL}rfOILI_zDIW3R;sa8jOvZXPkWpe zzb=^CM>rbp!Pp06jO5q@LH+})*@BGe|A#Yo4r-EaZf48PjMH*~P0a96GHilOjk!?K^S4F@*Lw%HAQ z8za-4{XWvS0?yL{Ojv9sdb>Cp8RNh4caTdUrI4*qlL~uzJJV%2m!et`^ETrmUDS~z zQ&z6XO?zD;j8jG8i^C*h^iMgx= zey6Pc0r3ecc*IG2@2qV%*k+a1qWnDGjFxjOh0noNbPXN2roAJAE6fFz)SV7_p?07v zpfW8YRn72@fvAH~zaDG;SAPG)@Z-c}?>Tl{4S^r~$Bm_9KQe)c=J$9Sg+2I2;^h^T zzA+eV_y^{UK{xt?pizI`yo`NjD$eiM1`U~FKIc#?wguWQciHR^d2LVqAd&QtMDxGk zfWi|)p{v)&j!Wdp&I6Zlr1?y|wvvoXq6N7+>lRY0*A~;RkPe$%Z?`s$-OQNA?yu3` L+%hr=G7SI#VoJYr diff --git a/data_excess/robots.txt b/data_excess/robots.txt deleted file mode 100644 index 13375629..00000000 --- a/data_excess/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Disallow: * \ No newline at end of file diff --git a/data_excess/worker-html.js.gz b/data_excess/worker-html.js.gz deleted file mode 100644 index ec8aa87a9524a68c1f6b2b53f12589ee0a14f43a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50024 zcmV(*K;FL}iwFoR!jM=13wLjFYh`jRXmo9CE^2cCv^;B*+cuJaMdG=}WQ5^J-rUt4 zIkYO9cxzK-Us8^9Uo?t~mY^9V5~u~CjJ+fM_v^+RBsJr;@4k3M5a@1nH~NL96W)vt zEgiK|u$4^8baUV<$r_&0?7{vX$&?bAJ^WdV5w9o_Rg#qVcWg^ju18rV7kpW=O)5X_ zX|sWWDnXe1Hpv8)2f;^dB5(q8&-u1l)d)Wqbib`vG`+gH`sUdcNv@J?l8WPz<-3}3 z{LAYd&D8R$s>U+|1IR$^ZN>9#-O3;NntuFglj3@u+rr$-S@uED`j1k;r1tOuh)UaR zA_&LlEd#7m(q<<^6g~Mp(EOh9b#p(ik^?~AFizLW#RbjR&FZkDTpB766@@+gQDJzG_pbbnznpZZ?|bJZWX?kOtW&|wDJvY z+xnKK4>+?(w#{uq*0rn)ddg13A<3x_ji~(deJyzK2b(C`u!)*Y1JZt|NeI4OW9I6P+XDjZ$>c5}6ysCRbB$!a@Cz8b~#{8X}JpslPD zaMt-@yH&?&%*?hkc_*6t5vTW~S18{!xo^ZDROG+6BLgkXM)hh%_p%)|eEVsX?rQ-W z{NtL8*c#roBd64OR;xa{kqUFV9gX=;y=xat*_zgxk`}nfBvZ@RKzQ_Ajp2aj^y9t} zvaQ;DQ?FzrKBbu*%lvD#O^;4)xx*10niT9o{b5T-vKeigdOb=ehSsK%DI*;KR^b|> z5|@7g0VlvLFeYg;(Lb|b6RB)Rn&OAm{%I2!9pZwhDK# z0dt_@gb@SiS-27+1QjOO^}kRsd7|qHxmS)f0Sk7uWgo8SpP)_e>5fTB1z5LN`20#g z5;3%*Y4&iYSP0$f$0!&RIh?00MP)T|$q4>cj`ssNpUBY-x;UJf5Vi&%=6$e&f%HDT zUhOR*7~xpYC;`Mt`+nv_f{dWWWv9}z34d zxDc7h-?!|R*IPSCw13V@x`hByO-db zws6=}@gB@9^;%Q?^x=29lKBdvU3d_7Qd-lhUyQ)E<2od*MQN^1{WiTLV%(0FE99w>7w)uVf*n z3ssowSi%<6IFHNO5{cBF?k$`M(bB;cHs(`7mztK^fG^2H5PJ|nhfn$>yKG9noWk}m z&{^_Hr4t_c@?|y4C_MV8t<+I1M1k#1`^^=YxhwVS*;Q%Ly%TKrnr?7qkHA{ueg zTXuW*#42W2t(yHOtzOXrq)vjLC?hqX8EQa912vEqh)RA2U@Vp%Mm1H(R7Hd3|>L`K3OjT}S5sV%5<8f?LJaDs$ zTojj1<5;Wy!eWqTXBR-a-v#VIkuIY@1Kz55d8>lS0i?_Uz%5X2-?N5;CfrWp;H-lAD`n zvm^lb_jhkzKLP9l*IoSEU;eWUQ?3X*jb7`~|Cp8<^(~ceYKR|y+H6|d za}Am`3vYiNAW1?>dA>iicj-f;p!hg`(T(UYUo46KRajnwH-HF5AEOQA{dE03sOf$jpp^;e=Roh;;%~p0DUOh3KpT%HFXZZ4MITNRP)U_-_~6iM(CiQB@#-$WWb> z5R=s=9pV{~fEOSTi)3K_YD;TjkxC>&hh4acwLe3!0LO9&&k5%sN4E8+9z(ojOb{0U z-~mfm#1dYqS1R`kSRs%VGRqt%n8q5fy|{?B0@3ae5J2hK$l#&N#vcDpYEqYbgXoZW zocmB+Jp|OE=q4>gRgQFf%dOA>xz}S9i@> zbc&lD)|S+Zs+zimYE+TfH$jB!t?IZRiF9tJihy#Y5ps1+7@qrTHcvZ~gqkGcNiPcc zGo8O>CUZfKva?EWq{^oS^fvcdAbZv{^bJzo;X6 z9!zk)=-|<@pukcN!Lq?&5PGJ4C{`Y%gHuT>E7I;T>4T7&C#27rvt$HZiHWfMi%4*T zq`TOm2Q6ajZV2|sp`3eZsv!_^AQ?3@AI~7Agp4yn@s#AAz%vZ=ah*B?@;s$x!63-7 zS^eg)mFzXTvJ9e7u(YwT=kmHIY-I*sc0_>oq@dTG)i9I33}pw?`i^5RUsioA)8f)h z4*UqvQ*|*<3&0(3`RmWs+#(OT9wYf03ow5Y`j1a(^5-G=%AIc6{%v#L^>UbY1|++BxcA;x|y?0Mj-1aF3BeUDfPv>%r@Z^O; z8IH_4iseu^v+*RFag4?(Rx`LZ+G?=R?k0hpZM|=4tepJ=VmC6Ks|s~TSICq=YI>LN z>W|$wA0>RQ52;ofP!Xk)HSAtT0CeEw;UHv;V^XH~zx*F~t75TV2#Kfs$h9+-^WxJ6Y9;szXc9Qy%OX*_O)pqUTWMCeddoqW) z1)USi<1tA}d#!A^W^R{_o)xBPLDP#~v~gGVc*V$Qj$WolNy1XF-@cX)@43?so&d^PEEcR8tItS8;yWiHK?La1%kT3;+n zHs%rdRSMYMWebA{LVP8D1*Q+hPR-g(~Bh$)!<@ytr~c^Gst5R^ymfsEB+2g zX6k-J=J*z=Qa>u1DRb5AfA$PjZ#!cZ!-;#%#UC^|YF<24wOP<`=x;lkYFakemfo_N zOtJ?KW+T<^Uta(Y2vzqq;w6!QP0F4$ZEP$oAS_gy`~ATvdq{f6BM8Is)G~5t8v?c= z{5Aw^gTvtpk%J-VrdeLhr8IGIyXd{v5HlT zB?fQm0!CPu$6Q|^BtGp}wFNS3l3KjQLKIk_5{5Njyw6C=wr#RQx85D(8n%@LA4_4g znl6`7GWovQrEFP&yxdh@7M>WZEGLh**Uv8EZ#r@!Ze+7@9<`s zSF7)~TT5YF-5o%8aWQ004C^oh2-~+R(M<&S>aKapLz1|k=8Tv9EI$fp^QdLa4LsU) zhT-UUiqv6keAe*q?^LFv9_>^90eEg&gS5$$vWEB!9gg--7})xL^SM1)J|B$}wW2>k zwJV0VOwNYVIELhN>XH--uy8|mqzp5=YnR!n;)c115Wa+|g-#JH!6_#PAZ4!a;1u7?CT$FVDri~* zz2j)sr0vd|=&PWrs#Sfp!JC;vEjWZ=4;JjH*I3Amyl=gv&XrW2VL{MNde{75QWkxv zT-hY9GyqsT?;Kd0`j{2Zv^;db&v-^6HI0tA`o1A7ar$Z&4NFj#zUaG%pvc&HZOj#@ zq%J$!-Py{V-{b(rS=rP3xCBGS)8MwG&+_mflziT=85YI?oRfyFMOwP6N(2=?TM~1Z zd%>nz_2h<22UT<>?m(Kz+H`Fut2=!`{?KgK1tYqhPq=2(HAOqq&jZYM1_LVxGqz|J zq&8iBZ(w0o)YMJw0Etn;k|!{n;r(D#Why9CLy(12A1S{iv1rR0pYF~*apSG zj%#%lm4Ds2M&-G4Np0At5&H74@WUbAEU1cLiQ}{Ubff2Ksxn=C1h=7qYw|MV$VuJT zQk%;H=tagUe28;HIz=bGx8LXZe@pv*bBjX6-y#3OrNYB z|8IJa<6r^=1P$1J?JgoztKdMm71gv4njQLPEvf4|F}=B0^;OoFoqG2~qu!0U;l~@H z+Wa_v)TMiU@%O2C5{$uafE;i5l{0K$j_Jzoc<|;z)dkb5-|}zfsfUnV?TqVtRv%F%kl7_0#^~$tgORXZv@wMN);bq_gI+E-Jmu6n5b4WEO1Hp4Uf?v_8*M(zP=I z6g_m7Q(=|YFM3Bm%Eud)Eb_lK!nPHCu2tzS?H|Lk8~Xa#H<@%V^bOqW%P|DtTqx)n)YihPRqIiSIMMVRGMS0W)+7K3_p23M33eny}h6|W#KoNK{H`5)$aG|KZ_ z_=_L!+vKjlQuj^zwS5M<_KImnI^H5o9Pzu`L5tS?#BT^i1l#)E(tZtNx&@;YSgLBD zx|+q*1@ERXN0lm(ahJA0)a4~H9C2}l*Oy1q8z(m`-NdIinEQoCIH=Qk7iSTs(gpgn z@TPtu7k;wq#Q3ViE>CCAx#)hQ6n8;~y9-@?T-zMth3$Zf{PPpLkZKp)?ZRA=+g%I> zQSnmsX-~Y>j-MT{$w8|^cN-vW>{;jyKe-j5=wV;76|)rUVUHN-jo^RBr7XOOKHmGmgNF+l+Qs1;`Zn>`& z2F`+W{~dGeOtB)_Pn*opybcp@f})dG9#u8yDoxma)!=^uR5fA$CAF+lEmr2r-xn*e z#%`KT!L0kzf^MsVxn5^nvV`BA`u`sSd!~X~4>j86Bse#Q#*}s}Ju)k}{XB-)61?YV z?CotQfCP^t{r8~~KfmlqfN=f@aT7N`cEx79BT!r+pqDS`w>JD$;p}&Ottfn5gC8{16PN@RF%1rz zs$!j~@cZ)k8Hi^#t^wn{uQ~55{G1Fcs&TH`RA@P-<+^!jsslMpDu{hM z^tbi?Iw(+_e!ce$1N&`A26-y$9K)(-BlDW zX_YaTEm47$_)MT*2eGHr9yV~v$K#Z=PC-g`-IffSlIUf{7tF>@`hRkRR3r;xb><@c zNi@~|Z&PYg>mxP3XoE=1X9MQ0NBw7R|6f}M&BuK@2Tje@q0Iq(e-?72Y=8}uNt3Zj z#s9axckON)$rVLE?{$8{{UY=3ok+*DBgt>MmE3gVbY~{7Nt~XC+dGGnD4QLLR7lE> zJNAFS0P2M*7A4tn&z`;4nKkW*s22)_LZMJ7lyT|=D(KL5W>+ImVIuC5U2f`=tH?Q$ z5s|YVO%o9)ZH03ge!gN3bnNIDD<8PH2P27u8sA%ux;$~&G_Bw{eYyEMaRS0A4|f?) z<&bHQz4vQZWH3^FKewU2N_6bjNQml7QTP?vS-`qWd5FU`}RL*jdpIt>^ zg_K^w3X!%di*R&7;-V-+PpZv-FU7@bwb-Zn);3Q(%ryZ?xKuA7tE~NCpF$WwW;)Ed%O+GR^|1_Nj87!Ku!7_RTsgV>8ct<0B(NP2Kfc|_dWRP z{LPl0?OFYqE6m;a(Rn$YJSw8Epg$CM@cvD8gf8X{iEcIt^X(~`sIpU}rSxQeDt?vp z3%PCFXZJ%@Aq;0po?+302V=!Wu$Uu@kvF)4WfE2i+w?3-)2wVje@6|0f8$}WK3@+W z2CW-xchW~}c%U@kXMo^jB-%|>=PHvIlt()@GKUJ?b1B96b7pY+)j{P(0Mh8z_rqaK^{zqU^wj(Ts4fBuu0H%RG*& z3EJ7&fm2*34|wE(od<`j_iXp`2I@f z6NY199cX`F#fIU&uO5OL6tnw8agdF!?g7PeoMq*G)N>w3qx&b>{60yR-#>oQz0Zun zyevU#nkL4k2}dHVEvwv`*qA$;m1lW2p9L)nr}^ELp?q%{R3}PLi-p%uK|xe$D+^rq z2K^7{)&qf%VUA>6Jp)Cy=Fpo7i!1giNk0s;S$#|`t8rtG!F!H}>Bfd-=T+HcJn-Ba z2IYFO)+Wp+S zS*ePXd8OKZWFt_ijStWA+Ok=ls%q$imoDsLo-+x%jP(1rf$D|;DDRyr9v{;(nY{qTL zsZ?PGdX@4;rTmX1*H^9}s#Nd+=rk->u3+p`a2^$J=F>q8`$Lo$aW1FvOBW|2Pvbgy ziYFI`v681{-(>)CG>|wA>QezBRCDx~s1d5;c@7FiQT_-s@bil-e}OUA%M$joKFMUF z^&Q^RQjjVKJozL8#?_g{!z7wuTpaX9;I2j%=D@_RMUbBo)S#tL40LQ1g;IIS7bYFa zQw0KZr-=}rpI}5&Nvh)09L0c#Vr!jHh4o)6TQ12+0AL98raA3QZ$cRpQ&@f992Zvw*};cc%KkIrDyTV8p1@Op|jwZ#$M zm?E>%gB|l}e1y2!u}0Jp{21M6C-`TG5x~wPjBE{4VhEEl**tptLJN$;$$Eb%lY)N( znhk~bsrd1~Pl0WklU4|oiKsmNVQnfF{(pnkH$;nWPBuGU#2V%1 zC$gPMt5f_H#6}s9HYiqgG86-IwE)U9fkI-Fe zecEp}JMHbgot^H3QS0&JPP?@ZzYli9vpytrw*b1nv%A%8ACCJnk};lx12FsSy&>BnVKo@X!uMLbQ0*#x&$dJKT3;rOP?nX3(KfFp>5H|}p$tegM_zTEi^(TtCpf_?=tec`Dm3T%Xef6X{?&l|0ry=Ho z8m_O`Qur@}z5xPAqkixNgu6V7zS40Kba$C}QK>){O_P2Jo70~4C9!S`h zu5iEG*;l}h0&cgv3f46lyBfGdW>% z1M0R}XS%A+9X>WH=T3(K6)kpjclNe4%#6+Uz6Nd^LaILQu>R~QEO&MdAr*0Vba&vV zf|-#qjp)v7?d|HDF=&>4+$U*Cy2sAm*7g=^EK1Z`j4g6^DCa)uHJxqx*y@O{?jC(Y zWAwedeXu9$-Q8)o_vlVZr$hf>h1&wK)oJgw>E{*<<6d`HfDd+eWs&Y~7kI<`+!C3) zd%Ju4=I4RyUxDiGg6YGmOn3QP9hhSvoCW<>Ws<(o=g2EW6SinMF_f3ed0D0ixqnqRL z7ptgkbR2Y+b%mpQ$oBS_=fsp;UpJBW`{G^~`R>y_LUjF(Mi=NH*sB=lMDc#S6qA*S zYBR)Rx1vW~6}`ja3jvW|&6Xj2-#a?G{ubv(^K-+_RpC+?N4oy_SJas-s_2dUvaz(E zh%CwNL_GA+4E{4%kJp2B;exUme~pKdxWWNTgz<41C&d$M<(FCE9D|CV_`-0&fskalJ+Uw9|^ zdhB5h|0G|PrPy>YSEO0o(t-4we!>}7w2DyUyhY)JW^w%azB+Fib(Rs}3H7|UpwD(x z1BpacOmlMFsE0)A+;6;;Km#4^7hFQb&U83rWwbLfmK|lhMORE|VRRFUpOwr;T$!@a z7bzqCuK-#?mApQ~(vzTK%2v3`UC&$O%`0z;|C&BJL%US|Bwkl{w&-F&{zQ2;Za5F+ z;^f1?)axd8oAA{nH9&iG7B{56Fjb|W3-jLg0>vb8Udk}`RyjAU6Wv(H6v>mpyo`&! z3~)k5l0Sr(%7Y{S;&P<8))&!REAw#e4N`m38K*` zj|+6@l0H1}187G7l*v#ya$?wV_;-N!<;6eajQltUXGI3giNDZF|7D()lmq<|;2(^# zA|^o#ivki_v6E-|6>I|zfbr5{mr(nCggdDe~5VGh$y?}I8S-&)SgmMm+ci53O6W)@9E89!cX4R(NEo3 zHkS?TIck~kR0)Nk2Ihs6iL>qH+@}x-bB2S9+ z7xJV?4chq z$xE2!XE{v)=j|P{6}gK~q%Lf^{y6i^oXQ9dLU=rYv`&W^Iv}&R%%3#Tsin+bWtVaO zEGo$PnV1A-@+0MFr2I+~p=XGGuTxV<+S@URp7gNY$@@ z)1X}c8rL~aTIZ|o`Kxo@Dx4z9>~ox|II}u(PKjRj^Udc^kDp3V!qi6GljagWoaZ?` zxB%5KSG7+-fmxQr`uO8~Jcg>3N$V3RR&+TinmnCMfYC=LZc)IFY8M^K%2Qizh{J$k z?DKHWJ>$&5g*PrMC&4B=5j28wo2c16VoK%d;V9%|s&fHuI2$!cB6l*F5!rUSYDl z0KA_L@nPvnJUWX<=w?zyGliaAWXWhldNt6|)&?k6$pkxJWRqkx2fgTLo9uyuL**B`cFK=r9W7))4{K>mW)Tif7NhK41HG| z&hd&pOMSyR{DX$m9bOnKvRB#~ z3ppcMDoiRiQC@7Ft#DH5Dc<^i@F0KEbZYG@-W8g1NGhMV3DLWg(~zm8;#E-7y)Qte zM2z?!-`Jm3V~_v1#wu!V(;ChcP{@F?wLFxtId~feTKCq+*eY4bR%iD#A+PRbLJl45 zuI^((4(?|{y0{Jg?}Yrn6Y~2fq{~*9_cS4oS{S7Y3akZBRz-ddxu4bX^swbI+vCVN$27vA#Y-TX7!eY99Xq_5WGb|M*_(_smwDpLsny zO1< zHG@+H)n`sc_QvUzllo8GI2DzR)5a~fPRV-V-8wz`+bZd$^673 zb5D`?N!=Bi@1ZYi>dng2JgF44829r^lyom=WMeedOG#F@nx~7Y^mt|RKXy7lYyCGQ z^s9T)WuDSnK&rut%E)@E-&b|3w$zB%_oCsr{eF5U4adgp?fob?E^2T8C3h{iRd8;* zQMs*xbKAYiZR$6t5mj~PzkWO7^2_UbRxY3`*Vl3)%O5KXxZ3$?GZxkTNUqkZWL&LkbQT=%p4R0kpNrzcQ8T_$cGP~IQ_%FG5y|EUr zPygJ-%O%locbS%hD33QLaZzlP=MhZLZRSDgz}X*x~SB_ zET!wEnp|tvQ2eA-Ne+Es&t>lw{W3bEYx+8jMUHRpZVb@pJYIcv{@_XhEz6$VrtvTH zxFF})X_SAim6Ly26mvk;c~2u~G1-ed$$o{IaIq8@9xPrkN&%=rxN(HgV6q%q@HzDTLxTE?=Y!Zjl5>l$1`x=?yb_HyK;)JLB%&t zyJ9APFS;K4@cSyeh4cPeJB<41U9@ZhSBP52Xjorc(yMO`@$Xexs(o^sE$xt9nc0YD z$FLOEUlA1_S7oa2W}zCCIg+<$6Mv;fv@9o?XrCUG(P8U7d=yUlber+mLnE%-o{sgi;u$|r5e!dR6SH_{bf zAEZ=y`{P|jDSFlee^*t9TZ&OXw=Wigw-CLn$fi}r=}J;G8q?qZD@Z+p^!M*yw=b}{ z@8>uaXDshuC2=1RZ8i88UbkioUhr=#sHAns*X(Ot+qJur%OC%z+TuJlsw)@C^OSCM zS1?&9M`>J9I$HF&H!&@%UrA2apyFY$zuuO?+!b1k&?uV^Ch>;22fu{B)G;`46h9>Y zlXFOpmlBp;D1$0^1OI;KbN1C}UVE(m@C2HAaQYBvx85&S;1SPA{Ovn-JnnGdCTxY_ z@J`S_@tM8!M&HB09)LfN-Io(}-F2(KK6&`yG_ZFNrT1>_SVl`Q5I2>U z-{tjb1S=G(Y6GhjdQ4GHxt77n^QXH?&fCswuhocYGb@~{`_<=_^pe|Q`^7P+{rN6L zVt5#O$(y#)(zbkgk(!>R9W$Q*aG9R3F43gsZ4;hc^l&^ zV1P8aOoiIs;WY?@AfSgJ#T`%A+-@QB6F)E#L9V;{R#&hgTorw0V!IKHR>vCohjXb) zRJ>!af#M9xy*cJp)kjfr9v2%~4l3Xf+qbR7f3bXlU@MX03XpD=*~i(8pG`e~`|SAd z?~bahqI&gQRxh1gf^Y^JXEJ;_qHAkmaaEM@RDF%Jd>H>_p5&hk*X5-sTck@k*U_IL zu|9~XKvDwXHFTo&$uqnReqv49zb~+Y`)J}n0sD(rC;xjL8=jsrMpR?B)e3WM%~*1& zcp=06<2w}4q2xJ-?VYh)<t$tkW_UW8|^_FT!oL zU1dg>0{|oEB-rnRVe52r7zcYG<|_}x%2f5udQKkKKW9}=jLO>@FK$VzMLI|1qmyfg zy$=$tMjdU5TqBdMWn5jYFrJ#7Q25z*feCk-V1(0_G(w)71Q_V{V{jUt1Oxc>BmKgV zu&?MB26=r+zc3){GuZEi^M1A&U&Q&9d5x^pk;IsHMQJyABTwf&5sOM12-V+{07J=s zSb#DHy!|^NC3C_r3>$k)zc9k>5&go5yRZKclrJR8)`&0Sjirm`GWoi?5lRazA--YH zZwV>h81sQ+O<4X`)=TB#SQ#j zg_FerqkmZra5h`Z0}<7(SgQ`?zrx@+vGo3BM~BbP=^vy_O&2IrQ;aR$J@IxoV~UAVwlEem@Q8oA1djqCdu;Pyc#+^ta>w5PpAn_WtF&<4=?} zgYS2*p1yoTspl)bKCvm@6~xyCJP!vHbl(;s$?xKsOU%^rR70<)w%G%K@@;R1!{#uW zOvH07mGZ6D;Y}!>M%f(2<0OsW<=HIG%c~}fs!#7*#o{%eApB;%bms*8=eU_SI_Y`2 zo14}uO^J8jzNax!12&g#N+QO2e=gp*J>t)8^txf?+1s1baCgCDC&PPq?Btx)f%U08 zGH`$$@Y=k;(Wdt|*wY)zaq6TzMXTZ(J)o%`>ZywbeT(|em(+K0o9FMeuaEV<9k!G6 z`%wBJyj;BjL;<_)sLbN!LGAdXUVM?FP`@mk%J&dWPW9#@i^eN!D>b8-=U-wJXzEoN z0~QemlJx8-#pks~`uSoIb8|eVWO?z$EcS^{)v-_D|MW;a^ij}zG?9FH5RkiwUqEIc z7B-~voScdbNeb+X9e9l|5}FDvI8ju+Sd-<+S&~MRmsUxYnxtaUAfW2bFq_VzQshgs z#uv&V3#do--hQTa20?i|O3-!YX<0_Y^W%&^ai;4m>K{a5?b3U88aWh{kpCEoZM?lS zEsFDOJ{f)ZoXlPUu_5D|_!8w!Uq4nQWM98Zp`!oo=CItvClCAIpp{Q$boS|740zG| z7Hr5j(Su$P)3x-sg zg4Srx8CWBK6-m!YRuMk;875d=olAz&N^~V3m$z?y`J$*Q?xE?ZI;*9Alp;=i%$SSzmx0h zk{(5**8$TtTGK#dKMB?!Jt~sPG|H37qer81)WAFqz_W4D&O4n(=ip$k-D!6oJqp5L zkW`iaauq(3SF$YMdl*oaw$3?*g61P~lt(75M>D3v}kRjKm!< zoi!Qe8Hy~C8DDeG)3^k=Gn-^Nta><;JxH!x?p6ip$>3t;B3pOFZR@tUZB=lC?}QMHi9P&sFk!$aA?hvK^KQl?Hfi)ghjtYprZr9g&U+Qru-XZ9$Fb0&34W{l7bSPJ9 zVkHbDe_uHnOwp9_2>sHq-bWXm&LaTQi_@JAj>0A+2WVjCrVnNJu=RL?UYR{)tH+gA z-VJI8CBWj|nryz_vd-QoEfCo*zGN{CxcS6(aNK(a{?;%S$#Pe(}7Fef<8>`=e(Y*oE!(Bf+mUQX-zHx9ZO7 zbyK}ds{I?)i-Yq)E^}0SZJmO*u&DgG!RoKCzO!1ryyA|mvS}s*?4zPVHZOaV_$(S; zZHPfM+o~3tWo(-WTH)+7cHj`pRM-p#F+Qb^m;!*z8hwuU59GCsBP@mkTzn;i|OpeN)Rb@YUIM z*Ezx}ub(DW3av&Ux;pg~|DeILcBm3|L*`>U#$9b;yjwez4&x2B&Jwp?c8 zt*^(=d$lJD-bKJSssfeZHZ1F4$j+k{ED4Ug%ROLbae56yc;u8gLs^@FrfE)N)!}lZ z7HM)I5w`^g3a#7Y%mi7AZ-UtjWu@v~EuUR#7`)R;3{Q1Z*~f^yrd!S?>sT$%vhs~M z4)ay{KV>{_sjK-WCP)4cnxkxbI;*2lkLYC7JyeCsiHw8JQc0S|Iqk0TB(;i{J?R2( z!?%|U_ehwkhsw?X)rmwPLFi!Q3s(%VDno_E?j}YHE zwQ7(y3f{7P4-$FRseyh+42J6CYI`AUWbu4JUzICSqiCf9Mj_$@=N{mqdBsp#us!3Q zYzF64>&fZL`!rVj{cW&riBsK9OOLp$sxn{XE&`I4?6bri4eBaiu*bS(SL!!glC${m zSGQZY9Zb)@%e1p>s@n525k6QOs7yI?R8Vh$|HpUF%`zz`u>l_AXAlZcLj(RGA3ZF} zE1vsJCS=qH1mm*kmV1+_lD;L=DvW(Hi9f;@{x=4#<;SxEy>DJ6>1UA*fvaQ{A1maX zz~2?J;W3!W_8PvH$u>Da9=XN@m=tNw%8#nfkGU<=EO_pNE|O~Ya_LAk;hF38chin} zhbKWP_#-I9ps7c%j6uI_t@SrLpd{2R{K(z)E_{{(ILl_*L~&OKr4^(sSB!kJHg)uz z^#1Kzd>$_`BGf56ZWTVE%?G5s%r=k-iw%6?D+T%w;u571z4Mi&ap0?##6z`Sfzwau zQ<@CL#RV>oeKje`;8X^bjVpf6Y#+BKYo#Nih}$XnOzUhOa*PF^n!a7XCvd5sLL!TW=8uI63v)Qdv%yDRx4 z46{a3S7#66San(UdKhnTM`k=sL)res$qIt4iCgT|3}&K^nk_MD5JtnYd!g5bd$BHC zb$^%rkJVOZr&hkTwnk?5Mhn#D|Am=}3A74_K4g@N1J zgn_#{6iczSFO%RXaVB8}V?>RD!qpD!J26vkt0^3A)DaF{YP?vs$GYW$U#at7cg=U0 z^p4AZwHC4;yAqb)n(1g1G3(Opn`7&<+S2B=m6kJK?H;p-(}G}SW0KDqMEt$+=zZ>=#;?t&3)2#aehY!w>mxz2dx13W|9@a+i^Jf`%_s zxh7S1zitM1&+DYyi;m-EVGo=O5Z{FbviS^zfEU=8*W0Fi3C4k0CP5^u+$~f=#1rhiJt() zE4~bhpHL&<1KTc!(6NL7o#F}b7c;%kH`G+n7Ms;20MM`5Y{FHNr}X_g%D>FxSggny(M%A8qmdU{`k>Khl*90vB-H!kcaQ*camb0S6N+Ty0S`de z{!A~#RMUnrx^h?HBjEC6;%R)8_;M!~9^j-38z=E(WT}QGbW?x}bJ90C%Y%Ypcn zfI+Ky>`xfjVnEzn25@rbPr#Vf{*-v?hub2TrzC!GQ3IYvlSxfdnJ1rX(1Nrqt?5iz zgV@{;PO|~yo;UD?la5QGU$SImkuk4Ni>HHlRG*wo&*~FD$5&@@TAzNos9{hMA~sg< z@bg19&xi3bMg|3v(Z`}3CH}K0Lqh8vleeU+A_<*tOUsYX{;iYFJNEXHdU4+M0k?d> zZ69#Q2i)}lE8>Ug8$&+BZMY*-SfWE3H>GBWT-xh6D^>b+p%TTQKjpjzT&Gr*xfh%{ zgn3Kf@R#~d=?)d#9Ke$t7x)71yI_p};g_F+Fy~A$dk@6OXD(#fQ9_O1&rEHt-`R%+ zLQSeV6zIiQX2T_vt-Ll=EV~wrueo-D)Tk_=T7@m3UV?3CQptyluML?v0JH2mV6*1B z3AEtaK)KplK(*A`K*$zhR9V z)nVFCJrCE}b}_G$qwggZe7%|sj;XnyVp$_C`^19>Ya@UW4J<=n>n8L%A1^!@OtVyY z1d=-fwgd}?e$BEt&Xf(M#uZc_*;vh58~WQiayfN*Eu5Qstr)Zr|Dc@uNobKyK9yk>cMO^KN=V-|l zF_{+hz9pl`)kN=U`3}-q@r6*NQXZsdp;Go3SYNGObnSf(V~`T?tR= zqgk*+C`x-nOKSugeL7OVZ-mYyEDKLTjts9P$76%8-hrzpFig?RTa}=7@@z2|+A02) zNw}8Qb}L_9o7FU~B-T;eWUR2#AJih+DDT{sU(Dm)DOim`7Y{sDWX7I8)g5PB*vU3m z9hf`NNle`p7dm082`JRU_mM!>WQZUEHDpi?uW};Y@@mw#V>3=Puk@%|DZZ1j9Z_8u zQB^n{Oct#uwRV(+u4!_JOB&ldYcXZz=8kk(FSBeTj`E3fS<6++=~35r*=!b%02OR* z0;Lu({L1cd+JDR%$G=TycU;>X2A!=wNyAlKKv&Qh=s>xGy$NT4%8U$XPz|1Xt8T5l zPZDR`s~~Tm%zWqEsc`{aMeA~oZ|>q_YAa0DMdv&8x4UR}^E8!5gGiB}C-WbQzO zhWVz!zeJOHTn)UGj7D)9xK^-S?Jay=5FQi@sXK~iz{5mKZcUNi7|JboL2T)^u(sfq zRT=XHnNCh&8+L-5u;3Vo)PVm-jRK_P@Em7fgBsXu9O3zigf~9NSC?5nDtZlbXEPIo zD=w3Acn-wN4DnjuhCrSmqTU6)Tr4`@RB}(Hgqo~9U7kK~B=rud9^j7YtPFa18P?t1`2Jys6<(I_c%f=J~ zg4N9(;p~(6H6dT+3$Rkfs5id(s62?i<7$DpxpC`T1@-nMpY>_s9Rz!NlC^G$FRLYA zZ-Lv-6$p{imo*a84Y2n&WVWwLg@YY*l_ z(t9EQUYe-$F{VR2y@2NZnyWmA`Q!Fsj)u?F%|aH?oGhRzCtA7SafR{@+pcACbUgN= zPaO7XjvF!aRJ8quOnSpCuPL{@-fHqF4a+y}qw?J2`o7xeBGseOZ}XzWYF@uGCuw*D zYEq$a3_`+AW(E{YWE>KDLL7Du4)z~mE007|fxZ@I3;kbyx`*CCEq`EFx_IZwuy!A+tp%A?o70d*N;7IiIcA6v#NV;tjf))(-8XKI{ZZ(#p=w zvmn@~&LWIat$mFSNN+cZ#Js#&N>Zx3Hn2*T#(GUsH>;yGBS(wyo61IO(c+duDEVel zG#(xLC#Vvu68z-<5=#?n#mknQ_0Vzazn#(Vt|mR>M&!A&CpOZDF?-NzExo?3<1HY_ zEs*HlmUwIZbScSP^;PWP>K5;2>JdGjLthUIs9YDoC~hR$s8-+imN!P(|%L- z-|_HS;4KqTM}0K>MTbU2+*twv_f_%VD3T|`-m#aEN~O`1a4&}yV&O3P2T{m zYM}6l46&Q6E=E+n)OO?;2F7pAuLqcn_*B&@$EE(RIlJFjUJ_n#v0U#P7$X{PTf7K) zd-`2UiLU03TAb3%bUooM^tz=>8ylsiXPk@A+Ccko94f*9lL#MS2?I^)^e}s_uJ`n zIhEutRSND|;#AUk9lW~msU&yVlklaB9#XEl;+fS&yuykmYC@|5^saaIdU;>VAYW}M zq@cSrN|+$54XZ@1v{pd@Sh5HrrM`a!)SPM!l*hWYVCsuEOBQE2NBJ+F*F~EPw!3mb ziUr#Sp9`UNsi=fw({cl-P!QiE`toRn9>|tH5@EOE**rNS{+ax?)`Lnr9{I~!5w@Kpt3EzDdV9X)sEwkoSF8W0 z1hEpE7V$>8r#nsY+VQ4MG|=W0`4;U@JdrLdtRQN=i^G<$D*q}bVw-gWdn`bDfmBYj%1H}QEV!wyuI426y9Q?Ey@WhHdxqpp z>t6(LGcJAm0p`?6FaW7BNY3!Dz8;SsbO)b200MCn9)AFicoT=N<0KdOcOq`)gaKZ3 z4k*3^zI52ZKVAH@g@3m3&kp|C#Xlm#-#J#9;D6|+2GP9Nuq+U3@B@7OYw^PjFZ>L~slO44X-Qk6B%@@oRhBZ{I93=h6jM>1TmE+OZhY zjiDG*ZnIGr4!xIJBrD);mbIEJxLCb}TF-KNUH2Vc;a!wpoG+t5u9jMSzj3kLS$HId zy`^R0+Up(i-Br08phO*MnN!iEVc!YYY zEcVrN8~(U`kP2^8mJqnT>uXx~dQVMrcYNK*-_Bj1k@X?y@v2?rbnPB6Q>)G*yy{12 z`5wxRzV1|gs}Wh;Yfl^XL2qw~`O=rtOqP`wsYS8ioCtC{w%%PIR%7T@#jQa^`ax(k zOoNIMe9cuw?~0GE-9ld8cxZgQAn;3_vQ^AOvTw@L2n6}Cn5!g(&OmT;?> z;_AJ|RP!7a=jB9e=B;T14z93Ej=FWHZ;~tW-1Y3(_2@FaH634{kGQFR6uSK zBa3#m=0a`t3fKaBE=8QJzr~lYpoN3nrf6Pxw_%jzFms=l7{u#1<4EESzXeClskkb% zsC?(f6#>USM`DgTdTrKFr%2(l)d}(=6ts3=ji|gu$unT>4$T)b| zS01X?^Htwd^fsqN-9Mx6=Hj9k6(cVf5kMi_3`!wdzo+;9pbg&_OGO&gV--q8eBUhF z*~olkkrk@OZTto8Zm|{Q_8VYlP&@$w^p!hy**`Z|!7G>g<<)&gz$#Yt5Yu_uZf6J1z z83e7vnYhlxth6HL?6RKT_A<4s+7rBC30;Vf@ZFHh|08qOqbI<4zOt;570M^mpWPIZjkLtL#X{xJjX z+Ml&DyG(H0>OnEf@!IF^ZG5La;D5F+`XZn6THo@O>=ZSxWcX|qmIZ-e6@!mIjoS*G zw11-g!*j>#UJMw^BJoRuVvVswTNND^CbqoAUJ*;)dA~?L$+c*Bytx-D<>X?ml=2O+ zcXW=TOcy~L%kQ+ctm5c5k}q=E6<6t(y5!Tj&$3)&ivRz_<0GH2c3h;1r-Tszcr?onG%RR^K82=WooJ$?kYdLvACs)7p_dk#YzsKp{rRE*B zPPZH{|J?$MwVmT18Of|(84(#))i&G2FM~YM<4V36*n_6}@<5 z$E(^zW-aK|4r;j5JpospbMyj!3AylH>Sk#b&4r~^G#8du(Og(sUYAf?;=Cqdv63OF z`Y*cI@i_8v{@25Of6>(HPV%eG-g6kYz)0PD(L$p&7C}I7S{Z7sb7ti&#S!ojXo>- z#we)AlH)hxcwz&1tW+Kg)v9`$>Z<4Jr$^E9N6o1!Rz8Kwr$|*4sEXoLQJ7X!lwQ_Z zS}IC@onqx^`W8!gc6bYUU+hHG)hf?SFsGNUjf8dZma=OR_VqXXZE|oSrftI&#;Mux zu0)K=)b*0$Ho|R1TKQ$0-7EjL&?b?yFNA&b0`UT=tJ|jk=h>p~8s`Mb=CMv2(UGqz znEt2Psu#;bq}%t~q&3qnGy~Tgo1pyN{kM?0SMg4(LDi?C)ZE=a&h3lS(kgw+NMam= zdMR6LG}S^@viz}g0N}a(j(C6nz4u!U->Q~X;e1x@QDw2HxzS!bBrD%vcN)Eu-Pwo0 zA7J$~sD78dGtVv;RDF9xCziFxq#CPZajY{W7}iCe_)obze(g$G&ARfk>AMZ{Vx`+K zo<@BR4y|vCGy9w~6uW3w3Sgj7Hk{)}4Q=jb>I?IJU|zXN`t8Hyhg6zW4wLnDQ4rsv zNlp)k%>s3&e7#?^Zp538cW`>arxSD8gl?-g?qHmab-Y2m&r`=5o9^h{cDucx%DSLk zOA)R+FI&JlKDUV#TJj5ta*^W{CVFSdVy>rRRprXQYU{K8yXr={+!yB$e2c#JjrnDk z>axy}sdk*mJ8@$uZh%<+yPkF2~}9qet(b{uLj}ZA>u|3+Eh{eI&lQ zQMEO$K(3VRkVKuP;B!{*7u6B?!9eGuzBL8In8Yr^8rR6!Y2b+Bduzs3kivQ8TWY&hrB)SK;SIv_pL%t zf}mHAU>x$i8#uM)DhJCAFweUjCURb0H5uw*AT$kh6OYSY4LxWbWp&?xc|2| zMB;wLO0I&6llU~Of=RB$H&$c5aPd}yTHGYgn?w1H@OR!1)BaYNgAi!T7)-_b`VT0W zB=4x;{k6(lELOx^#;C7(AP+0knw48mGR#L8HN z#4YOX^13PiZQlM4*V>1xbyt#Y5i;AG+Z>sE&6)^I9Z-+XF6`JAtBZ7;tY5`+JkMeA zD@uCv1bSF~|2n5@Kw|7Oi>@oapOD;=eveioj?f3sB@9=5`fo=zi}PN1RBFox5x4xJg%aW!m)tsmM_lK9amW~2+u!cOZ@ z#e%|@#fC8JWn8NBem?^Rc~t@oTk9RcD;JXWXse)DVQ9zh8nOp@hMSQN3f2mzebjEo zs}=|^q^+h7!IM?dKkZM$dWxN_G^SX`P}MVv@#+O~tGIU2JQveJMns{D8E;S%6maO4 zNIvfmZx&Y&`K};8VavhGw6tz~sFJ;!rXx8~YlqJthwk9fR|=&NGGPV3`EZ`e;mn=b zZ8Zh-aDu8!m_LIFGJ+q?OkjFZCErDual+n8RxD-?IZH66-sUt(o0BE^Wdx?M9iFv3 zyd>WZ%6)0>%v^!pGMI7H)Qz-Ixzy?^=c_)`T%6~|1L6(2~!6pf}MsTQn^2y8?XBH|)k-o1MI@(mTeVZsS5 zrpAyj=WNyAM}##H$a+luf`M8#`$~HPF>sZ07e4+i9`P+bt8bajuCM9+vh;ARyuMy5 zc_>BD&6b1;B`Xu62YXCqFod1v8b(P49%v-#x9QpBYIfdhhtp^RwN9h_bFY0vPS>Jf zKQP9vfZDuEoY2y;ene@Sm4xWVR}kW8Jgs6Wa70_l#aSTwS{FuD6vytU^3WlJHgw4J zCpdchB6yN|b~Zg95I^nUlZSFXiwfmTW;E&v(}sBXJKh{cWz;(KJV(^bEw+}X@}QSG zhIL&B%dE*{avOs%(Jd6ELhIpqs}8XrV>PIQ5GrqFeVz^JlD)|*A*Qj}d;qJ*%Mmts z1eR((QTb4M zL-x9jepoP3YZ_lLx9!?3y@s3j<=sM9A{)pxa&LsIWx|$A2UnwpSXF&bMb2H_@5Rtn zBCF=u+h92wnE<}WnU9LMue7o%SST{7d@GeyL`0{bgsEXs#vRkCOQZ->wCNgp;K}8o z1GGgDd5F}tve6Okc;~cV%HpwSdVSqYYqS{Tk#Qe&!mhqWysjhv@5yzVcH9cQ&0-I^uXi*Gf~qz~bR zs&qTNQ>VhUb{z#-aCi?h<;oRvF;=ZQw1odtwc%&J?fEoV1^)Pz2Y-D$jnGYzNlQk$~SHJd@u^&*CJPUTN_8$HP3AzWiTAjOm-rT=MSV34)=FXbzERIK#Oo`S^$8WW&qhBT zV-7uJE{9caU1G?NPx~po%D-$eSrQuO0yueMp5BP9`;3M8 zLR$s5u}~@pm^U=A)@paw`nk!H3Voqy-H7KtJcP-RFmsDAj!WIV;!+p&=h!WkZ4BAQ z#`A8>J@3Y+;jn+vETpZU&J_=b4;~Cns6L=fWWF9e$T-qj1?jY(g^2VG8#f#j+x733 zHhFXrbT^%=X*pGUUkxue<7IY#>b9%WuH1*Z#bfCi6bwiS94%L~Wv3El*l{pidJcbE z%rs-6i<@~72WMT1vknEoNqTBcCB0jBFxLdrLE zCaptvr0uh(?^FPb7}zB`!^CIe;GxQ@@GeYiV>zWU6l4#pQ=#62MLF-F_hcWf=A4OY%!C$G`BW|1Yo@r{ zrC}BK4y>b`Fs6OSY6cHpG6boMXtuwW=sb zWNNoz=gX@U_f~ur=F1CHASPc~vSoPiL8DO>ECRtSYm8mg@HDBPA79#G{h+z068-St z(pq@9W*-HFt!1S?c`G1N;X89n>k#jJc&ZSwdX^QhrKowlVp$dD(E?vbi0NxLc<09O z_oSu)a#|O??A2r$#P|lFeDMTTv=zJUXtMHH<0srUB|~v&TMcx$zy{ND#bfmhc+nwu z^%P6&2mGC&qg4NCrs_d-iQE4B>w-Mh{bT#!f0fW$0JVEF4Equ6?XCAFZ6$oAbI!2X zeEszJXV%{9Xm(Xk52&3O`3<-}_ zsj(nyEh#FGJK7GWQUNGoi7$VM)$X8F+mo~(pOm;MEH>SW5P{SnaEPWp^WEoeM0k)H zkCU$e6h8oBk;ryIQeHC+=uo z7SK)l#E|pv1=D<`# z0o7mhbPkGkXnU+;0&;BAp8Kg*+0660H);`=B09fbHJnwWI) zZPIb=6TFYVi1$&hRF{_iH@aOwmWX*i=>_KVM=Tti04Q1_{$t!yL$nCzEGbc6@>YiD2pHO#0N$fm<*@H6Zq>jF@&1nbHKMSv-~4| zVw3^$%n_bt0v8Dq7qtXFDi?ap*_jX`^2n*F#3|570G>%e5aOARzz%;2?11iZ4k`@n zPP2IqniF<2$zu#?Ad}v!r1vrjSS6W2T8>wD#n1P6XIK1`{S+Uvmp zU>MP$AVxMQNc>f(3?|Q!gkYW=_LtMRJjZoee7&YGe8vrSSZZ~n54FG*k8UE=ElenA>}=}llt&1sz$->>Aij4yM6 z=J-OsM?$uFia84FG;)#n@izszQjoukMM-fx{#M+6k;IpS49enc?HAN7a@?(Q@{hgux~G#K>PEa~G$XTmDS2tNe|!B( zm@9NfRXs|81=UmXcT_Jv>gyNjcWVIZ0*S7wCO>&rGo>!CnQRr5_mRXI>J$TDVU2b1 z+Qk6hs`eY$-ovJQzq;uzH*v|xON?HD{n*gghJ#-41^^8Wzz79&Skfryv?OfEyZNKW zWm29uKCZub@#6Vr5PE_c_kx!K*3dAlPEU#-W}vI@{#6Yz*^_R9uJOKp&X$iZGC=jc4y0GPNO6-LAZPLDfwru-BYyTqfx# zyDT<3-JPzf?udRgKt-2@WcCK=UIU<3lNW>fVFQmFwHDSqghhJ;H|%jT$I}NI~5RbgxE~ z>Tc;KHXEQ*z``bwD9_`@vkoFwg6u6Cpb?(M*sRkWk|>*(8$~=#&=`_d+Z`p;%{Y|= zeR%i~D>C6g>>7D2kV;*u&}QSOOjMbT8@S5@b^&!G8ZD@~zP1Lm*+@a3YK%eqqdG*4 zl0}`w3@dk$)#jG9yM$O^QR6v*k*QQP8)VNB1s74iK@Ahis=@p=pa%3H)InCpljv+C zTeTuyw1Gvjz5%GA8=wUi8?duVHwsX6HX=1lM{FeMT%_@XMF0%)f<(}xo8wk$V*rf) zIYv2hq}oQDFsC5L!^aQ3BU`EO3uuyb{|9$n3+j7f>T5KAK7ReGG0Nfs2d|jVP-3b; zF4*-%I-j9ZzuEG&U*A%Zp-PUm(B&^*CwvibYU!ee17%``G!2S)hRF|qc=Y(;(pKc4 zdF%dY_<+r?rBzZasuk)q((U0lypVJA&`dfE;6!oQG;#gN(Aoe3N>iL8r)Po9Afn4P zoogIb=1@akXfwkmkh7~_h@xGWwSp=lcx%*aDqo_jm5t`;Jp=m%Qv(!!o>L6+hE8QA zA5tU)pm?U&Rx1u3^sve$OG(ymWVuRmYc+kNo!{L@gNmgTD8$DGvFN^Mw5y~P3# z1*vA{$4kb2QN`}CKdPx-S3Zi0b5KOG9L8N<+%(hb;l{>8lmHK(zkPQ6_jgARHyh|h zriD5~asW!C#7{C1){Hm~)n!$V=bFTCV*?SCS)2`lE@!p@ETiNHZ|x3wYfF)2L_Ak1 z-e_*LoK900SMT&gpr+_H5thif7(Z6)iYRWhYPv}SRFu(@*~f5kSg^KRmS|L%7;QVo zogr>}HKi1vy~!GsAc-Z*p}t$xK7tx~BN z1YYGr(l0K*N>QsTg61%>E$Y}cYTU&*;8X_{Q>>m+g>&Vb&?Ocj#gOr^khi48LcBAA z1cU4hjQv^qMmiyXONDB2l7OW0?6s%+; zNAJQO`JpwC{|nr94`Nbm$4Oq4CX}R?`)V2QXc6NHwDB^THN<%i`_2rgqEXfbe^^sI zhp5uRKygv7Sb4gUf2B#fuy8b)W(9?UO-E5a;zRb7k{UXR2)$aZ*#K6&xQtnCZzX88 z3To+#Y*&yVO2u?Bj95tVEbRlZZ;nwYMXE(Hj;!5y6BgOqG;RXs_C$;Z+Vem==^xl= z)kttp4a!j4Ld1*5)JJL_IMWqdZHnzmONxG+7)@EK)xcs6c}>7$YpLJ$E)~&k^H_U% znQfp;Xt9A-kQ6E##CQ}cY#}gr?21hgSS*CnBmSBcc*INqOCWe6n=hnBU13Gf>gb7r z4VfV%YZu0PjT@Kv2mM|ZB@3rg^VAC3zd%e*uZRwH-PJ<|bOB8)N>QRg_eHN?XBQQ; zIfpN-63a~!GR&|(z7`PgpgFmVYWBj)?|*EGs8;yLhGR*;MQmb8>VjbfzuqivsHAJ* zu){3s+fc5pvZ}_hDAR}v807epz+@UgQ|~a6ma4k?MAtVP&oi`t&CyC#uGP{(Fx|4c z7;oxIGBVeXthpG$96G1d2rsKc7S+e<2&?>tpsMyV%QoUDpIkBS*DOgw401Fm2b=JO ziK^dQoe(N3AnOq#7PkJ{4Q-bq&FJe35bCMnBFQGe2^g6=o;5mQV+O0&Ssu;K8yzy) zfLK*kHAGd7XmSRuR-RA&?R0P1PWO)OY~8Y*tvj`Y@kW=nv(4MtUa1|=BNKIV+;GdP zGd#_hL^?iC3MIi!2hO2PnsL6aUoFg|Q5Ie@S9L|!23RQ4m_bXfK3rG7cux2ZjbJ%% zOJdI;rL<_{BFjcuX19|1)HkwwVD0h-6|7iv@Fyzp>G|i$XcVXBNkt#g=rEPefk-_P zMJjDM6{EXVO@)}Wtax?7swahKxxPIi^uR7{&O5HRYit-#CW}}|RtLH2I=2EJVH;*n z;r5nQTj>Pd-)tziE~8L@e%O$TM;*oL`?2yASWO4CAGNu|q{G{xK3XlWf7N&oaZQ-wlS-HSI0bxqU}f0e3l z@zkPc3aUk@eilj`v<&dkaOD>c7htf21`FG#B}ME~t8=t=Avsqz%32X)s99I}GUiy) zfW5=6moIm!Tp8!|1x%`X_SLb@X=12+ir=2G9R5kqnayrxRrM`wEgqZII>s2+-^g<2U9BOPlb4N_pVd}t%Vz4u#JhDnrWN;H zt)+Bxc6&ZY3IE$y%M2a2t9M1CQC*!CLZj%#Qyh68-BT@!O}QA#T$_!bWJssN(kxW6 z-1U;(yWY@Frf`M1-{P)4L@LtXZ_8tPrge6v0!S~fLFD9BATL~G$w)6ysOrPkE=ne7 zZ88py#}d?#AmE}BwulsY7F{sZQYCFC&PD@irCLCtA$-d>BqBlYA$c#c=cYt8^x{<1 zkl7pBpH%M~9@fiT4_TF6r;ei11@)lnf~wzQ$(lSeNLtFs9TZVR+`sMb{Ce2E2c@_MV8ymd8)-f+dZ9e+&^l$9CEWXWT0pt@>b6hnukAx%IGA*e0$rWF_u= zKgP$ARzR9_`x1nC);eUZ$>T%R&VWd!$moJi`x)I4uigN6=0>m64sB-dbviKfJM9Hi zzrd(`n?sO!G}x^hCKQP6OhBFXVfuqFl3J>+*4u&BPErbimYWOo{k{t4)yPfgFZKjo zM6m{*D7M2uDR0Q9yB}Mhf`aHqu9MA2tLG_?u>qYj_~4F+en|0`D6F;-Y$-;+NCvn# zFesg)QKTjU8q6_p$hXMQF;ro{CJ`^7glRf@g#nMU+^J?l5ez)lAhqziYJa}@{Oz-k zuaDjwn^ME3T?pr{tiQharx)*^{$$s4t^$;XNm%&tnCD4f1~oRZT4ZRaFCt2Uj_RzU zGst+i;$p??Xf^|y7X6}v+0m;b8=slrKp$DrsX-yas(AME)AvuG9Ur~_U}_oNx|Wwe zy?Oio>5s3DKK=FQm&ZpR-aUPGWa_)PJyvgD+Z~&(Fw7M5#S}Snil_oe^0-RMH^(oJ z|8BkQXkom#^oKvceE06?`6suQL8a#^1EtQl2lE%CyQS(Fj$=X zuqg2*^OI8@BHi1=n&8LR*UhpneyLJsu;GhJ!>vQROR3W(l~#Sjms&Pe&)llZ)?vJ` z>YAX*Dt_q-p@l1fe?5VP?<;P52t&6hcDqBTCec>J-}I6v#^+mewx&|R($+T>+3Cl) zyo}?tnS>NM=OW4GgQ$}WXz1<80L-+TN< z3v{m&8l9up4dqhb+X|JQ)!Pm$Di^5luw?aiL#gug_Cm4N_Vz=c^3gj8-@SkP?C8UX zmv4Uh^zzMzr8`V10>%CEh@hWSc z;qbLSsk=JrxK5DaZUsLx^}x~0Yd4$`-@7>zrn-HToJi_;-^IkR^`VN*EhRVGy~Kwx zY9}y#**4(@w{2sCiSvp*!_ms7r##w&e1TWJ@>op#Lo=Pjm{SY$>WJBF(*j+Ht*uR2 z+1EhdCPn;>Sqe;In7a^OnGBYWufeub*azeo1dS!9R?GN;6#vdyh%_I0NFr9ms4SB{ zX)Yp#(-bI>Pf8n^9;ZO4->!7T?AW70UVRG zyE&^6+gL&Q;cB=I7vgpkp08HT`NC=xv)lHTmX3>wrw>k=l=e3Cq&z*8qeHb-sGC+iDNWkCL`BiBxF;d@EWF4*6>S#%;9#e{=+X`(?inPJi}hNoqmq;HfdvAV*|H~l-WoA7eA@w;4Q{9rfe zkf&k}^&3M~hb~tcXl$i*BaW7M4B|qaFY&{q-4G3_y>1&%kU9%akaBiBX&)6zSsZ^& zKpNXHF$_uv=(cq6amoG@F5ZdBQot zjzbw7-o`>Htqzoqs*T|q*0gUo`SLSjyG?CV<#tzjU>t|3-d2`^9fT|qPc4<)s`3q# z!bA0@&y6W1hu4%V&ATV68m>iCJ>vDH(lR(y=p`p?!Q!7Fw% zOp~gT(rqF3w!oFKYVGxJ_uZlsOtq-#gtgfF&g$KU%DRSZwIOzz@+`F9*EQeD?dzjg zu6o`S^fa7$8}wQSs-vi9oZlGWM=+?5gS&4jOoI%W)$nue14hN{mMs#f!N0 zyGX&bSMN-)$Z>~Z)Ow6>9GQ}Ocj|CWH?Fk>vu4A98xa;8F&q@0_<)v8qPNkhcP6rs zFgA{RK!I6L1OmyT`G`h^WZ``BbxY|s{hhT^l^-HPdR zq`$}XePq(1(AE|fdOA$h@N?C}$txRS}+oi-KF z-&^?o^k|ZtX%uz=1q7JSAc|Rr7$5{NpFuR1J!|h0xyHHp9_?@Kz~51On=(1j4pQmq zSsq=O0Rnsk#C!*ll_dsH#InScWfG5ztEt4Iv$Z2&vvUhVvCCyWTL(1u95Nu>r_nIi z!%B5qkdA;%Bt5#37~AO#zaIc<(;596JbnF6g5Z|`Vd#uhF-5dPD6#J?kwq~{cTaqq z3_}4ZCLnAya9;o~G$10tnXaZSzEz2XXj=d#v72RDjG{v#dbCLqujan_Rt+qSBhKpylP+SEnTe#b2!IpJG@iP8b4k zI`IrKKq8YNCV~`0TLugdh$AZC!7k;-K&A?X9ip)qng2~cuci)p5W;ZA@qJpNRYM~U zQ%pe2cMw@w;w^mY#AJy{NYAGeT?gQS-{vcbSaOU4SSQDndXtk`Ue`20s3w5xMzp(FAQ2Ki?N7$`u=fmF0Ygdf=gMwDU; z7=4ev%riv@T2%%y-domm*wLWag8k@$4dUsnyi#O17_3Qo25ga5`D1mlLuFx5UF--M zT^ckN@m*$92Xt8`W(*18?CU_UR0l&*|JTt(^@1PeuRkb|V5ZQ;H4Mg_g zTuGpvEm`Vk4cV2wI{&C4l7v4Sh@{{&NsY8T7z-eqX)rAWj8A!(e*!o+^p`En4Q&Sk z^3l*=_V}a8Gm@n=Z9B3zb3D+Edz*z!fzJozkKSSpFQG?}DH^3nL3W06HvZ9R?21lWZ zU?f1jzaTXdAq4nUew-I`m19rH0etXVwnI8Q0^-sEG4(K(0Ifeq3Su;9#P`R!r9tXU zU#wiu_?Ejvi`>u#?Gb3kc6-~~0yN0k`nY`{fM&IhNN;DWclUrA)Ze47EW&D$t+9oB zyDds3Wi-L(CS!6Rhu>oU+8p5)tX}R4I5Uqc9hkI1_)g-<$nhuWS zkkuEF_Wg_(?2uF)+8~iD9wkPP5EpKSAg$xi@Ou*REKtZ+HfeCWV4j&sv`o95y(fZ!wH!K)PgELV%fEJ1Wm4hV6EC$uyw9;0L9gk!%v>Ut25cu7?gjy4-7sl22ok4om7J6Ks~$XI9JY3_ zI}*Ue^DYq!VELR?xGO5;5~>@Ej2tu;Am1=i_F+}y-lif7tdX4MnYI@Zw>%@zd{|mg z$f(3Y8x4T?ZN7qMZ{Pi$C*wCu#@vM#I2|#FbCgy~nU44&H+Ps50VWI4vos^z6*Fx<0_0VH4#@Z?V0!kE znl_xrGX?36VgV_%xEhJNCY%tv8Z^^Y(HcBQ4TGr@qD@P~AZaw8F{NT#7S((di7Xm} zEm;dwIwApLecqR~WZH-+cz@2cjL2vib8BSxG-#?jG!(GORs02GraBZNcrhQkbOJax z2W$f?h5%~v0)bZ9m_ zhvhzx^sfA%BPz+tLN6lG9**lM*7j{Q48o`R2%g7UbkPO?zM1KdaOIGJfY=HkH9SrV z%})n=M1+dYgX^M5AGL zM+a^aDh0f>9A=Z{Cv}kbe{A?Mv%q&pIPFJCq&JRaV@E({4#$QPuL?}&v-FBx2`?Oo z?j@ad`S(d8=UF6`2OK!+)hHc+gHJS{wTp_hZhHwDonG)JtwA~tIunVEl|97mlYPK6triv1=L%BC@auI3X%U+ACNm?6kI(_8u1tJHxh>;aIO6LcGcp&=%dQ z_s08`^h))6IsSslUWI34kB9$byllR9VI( z9MBFEP3sY_Oe|w=6B-(MMoH#%a2~66xruB`tONkn4QoxG))fSUFr8&t$`yp+mYrs4 z2twdOq8_hbVtl_^b#$lA(t+MiYRpna5+l;iZY5PKCL@`o#?h&F%#*7X?^Tm^hdMG1 zDz#`D?U@A4H8fvyTSFktVw79rYb-!qe4#vfURCWWXH~T)w*J6`=8ni`gr)#wT0^I! zz2`-lXP=c0A~3T-#1mZG9}7sXjGsG$u>_1YgrxDDt-Hi>)=F) zZP0*nan~lubi`bnL>cbd1dy1yHmMAHLD(e#w+PVq9Wmq8h_V>l6@5Q9E0R#+j+p6= zj=f_J*rPJe>ZIAXL-w$E%roG0KB_2a`;^aB&@gYTeTT>pb!2-$LAfLD0Y&xL9#8;^ zxd)WUqIbY#Zh~)Sa5$hW6a9(fdgPchM3w}1=BlbKvaH71*xn%-98XMBJK~!+MI`1v zQyuEG1)*wC^VO~IC`b{P7VrpxAEwb{^1(Wg9S>BAi)wyYSA1n6QKp!6wv>)SXUGKF z)}S2;(f~yF=*>?GecJoR+SR2)Hv2eb1&AfMKM>iFVhciJP}RPMl(C|H(U{K6GD(Xl z0tzj?$W1YZ^3NY0$0UOT!wKvB;TBl0lx#wR7NbD6;Z% zZUxcX#AuHO?8}8sVL||3K%l>c$=L%z;hc*D8U=ndMtCp)9XrGY*MQrUMH4OB6O}kr zJYw5PnwV@eNwe4Z=75olWg>^(`1@}erJ zsIID@qCv=DH)V_=ZK@!D>VP1ZIzH;s9tZ*2v_$*K7qB}^V2_Y%(>2+|#xN^OcGN-p z+HoEYm0L`^joPk&m~W9qiT)1FR03`5QbSp4+kA^GJG#`40_|$hfdcJo&_IH^rnzke zGIi}r(3Zg<78q=8n{ScDl-g4u)11O{+vM7ppdEu}q(G*iBFmlu$riQPYm4cT8?UA< z(qqO|l^c8gf{QvFtuyOvoEDOwxIKk7YnFwDyuB#TNP)1kxtyeWd13mR~;E zK+bFsisPU7X>Esk^AkTUCO3>T3o@cS#uiCPGg~B~%oIs7%bsxn(L%3SWSTqER|3dg z=j=$Ydi#Wdu_%rP^!>#y9)I~_S0GnZy^c`-VKq{Vc0^|~XU1<&qz%vml?S8gL1iApE$%zmGA-LsNwtr1-=06p1ZrdH*5IF`VXQ1B!hU@oB{|z7 zMFg5CHA5`W=g~BoXhRwK)%^VQJv##GiefoC1=^ONoH;enu_r&|AOUpF54W~u4r8nu z5!%%He`2C`i|dM$sGs?IKvL@5g5YSL$Do;*a|Q$A=Me%5YM7=*cb7o<(Cnnhe05$C zj#&0*lV^5pj{EkPtDT968_+ViUJLBq#o z0inzHVC=(=lPT@*FU>%gb1*tAh`sdUvZzr?JWY$&b1T2I6Hl58{`1v zm)szSJxFYW9DovTkfSV0P_@Zp=A~t30~B8}Gh0mgxtR?h2{W_BRD)4#_NjnTYw-Ie z(_&~__L3RhXrvNmb=wjExdo(?6VQAJU_OIntcRbbVp8FB9GI7e)5+@k(zcZW^S|V_ zGMo&FZ7Ty%!fj=gMcHXPBqtL1AKOca9NgoEh@PZlec*R65}7i!0f${aGWE+pnTwJg zI?qpj;}9AyZU`fBmROL1fM`Wgb{rr{8s%3nZPWogF>^y$s}YDBB&z}dY6E~!%U@2N z3~I{53c{h^F)WGaD9^M+t|}?)@dVoI(Fz8p|0` zgIms!T*h*S$$#Ps1i7>PWjrz+1N zyZu(>8JskKs;c0K;&0V4r`{DX!wdoUDJKWf2IWr{m5Bxxl@ao1P=^h(BKLmgkb#C6 zdo}XdpRH{^-L3mL^j}>L^jyD`2`9H+jlbzY%u$m1VFYCY#uxh(M0- z(l!A>&}thlo&3Ctrh}0gyaDCnpn(8sm)Si!(0auIk<4K(Z+9d_TWm$C3EP$LP%Se+ zJ!S?(!f6ue8>66)K>GwRp8{+?kE~b zKw%(yr#Bg}T`93Ix^ox^k%3+P-PDws#91 z@u}3RbIU;`Rin8jlU__R4c#K^1tKr~d)SR%;b+6rw9j;hP7^RiciT7*L+tz7O1{13$?OmDT zl-N^kvzGT%US{BqB1w*d+fchQqsQVsl1a9?nPl;Vwp{FgC0siw8v`JT8! zePW#~jwHk^)dHU{v}-sKzu6{WUqQ?!fJBjX8bRimi4CHr`GMuG0I&l~>NX9-53su} z>7U@$u>`z2mH=~LNdsF}mRr)mEahur>tmuJCcY2E;^G`@ijqd?l3tAfqoi$1i1wKt zihkz&$du}y=Ob%J6bYc^OHCOo=a&0M4dLgO2Fz^nZHzaE-{vc@T*SHpptm61wgkjF zrj&ra)@#85S;(i6+1u}mZzIe&i0>=tR9b*7d9g2(m*r)~7>em5xX$ zc+EDlL&{<{vh;1;0Hns4M|GD>LDM)Y=6O7_qY5J9zJ_h}e9BKI+vJz|8jn9y?$?F< z@VXMtiYQu9W~j|`O)xTTPLpA-O*(j7K>+g!8AdF89DK3qLe@faQNBx_dGPIoSr8EO z9nkG09cGX&B3KueNU9LT!~)&dpt&9h>=1&RqyT;;pz=+^u|L*&}H^O>NLNfp{EDq!^u9rR?VOf%s;D6%n~D(W(_sk;7Fd zp&eO)6+%(K%DFjn+NFCF5~jD>baqNWJKI3{Nr2P=&ctu?1gONV;ZAl**=9rzs z9nkq6f{fXfP>8wRbx-ACx{iS91%T)pTQ1oe={FdFIk|{EvW$ETRQmCGGW@(SIjv7c zhhBdUCng&)aEyK(ng;s<#J$BC@OfeAB9uzZ|(Xqs?E+c3|hv}PbwHKO& z*^l`2iyA1BaBs4dfJu7BG-J7hezZkqLGPw8F4kXwz?lcZ>~-Z zd-7OLvj?SLa zfa&XIV>$k{#(&-m-zfmiC@0P8X*^UJoM|p$_Q_^H%a!QYNO~k2)lXgag;2& zU|EkMi^aX`dlYr}aIke{s32^B49pBrtYKz=?Iu06HG?|!dIkYIHGiQ}b`K{4t zJo;6IQBIj(CMZv44$iU(58Wr)%B>j$-@|!q&4-kS#oE^pb7sJ17pC~YXq(kfIc#m& z30hMlbu;Ih;8^7`>KxOQJjd8n#rvw(CMx2Z&p<&;Z%HLIA<>9q;hPggf?^-zRvn@a zL~hrtK|9RiJj+X0pAu02`17q-M*?Dt7gH+)zXVmAs4!CTg@vLM;)7sjpC1d9bp*Ta z{O#Br1%{VX#7bi2Xq_^4H<~-f?j}BoVgFz8GuGF)MLY}uv5PvSie2zvfri=_JbWrC z{OQGW4x+|>v2u~-@Qam;M8E~V8_AlG*RB}kXYO7`+t@BzU5H_I}|n{vq2pKX}d>6Q=GkNA;S4)81+XVERreuEqev4L#{Yk%ppXS zF}q_%hmCJ5wk|4Jv2|e!%wJzz%6n^FRYBHx%dV;rt7KLdGy-KT%UER5r>%6VnX!v& z2Xyk0oln*5r*$uLBg|%2Y|)4yyr&`$54?InPP-Yqd(sv|W{!Tzx%e%=+d|Q`GYdk4 zI*rdF8$k}C6UMi6nqy*?j477|8%UTL)?EQ`BQd|N9)(cO3Ye@2{5YS^eBRFDv^EOz zkY})yh!H`x)klGJ$0D1#5ur0HE-LYf-rA8fd}ee6s#BkkN8~^N-+C`7?i3It8@n)l z^%C#t;kWt1WW_V>fk>X3FGx<#*mWTyUvAvLb_BqFsBDj5=AANPAUk&U+p3;Mt?_fF zZOUhE^}$4eq5@*Rp$yN0J}DW?G8S3%RrW6VKD@OTei)3meBr0Tu@`;-Wqje6S*CFj z8F!6cQ8oAA*wgtm0>oPEwg`&+xB9jSEdUuyMr%l>lgT!cnTH&@TXcHz7WT?!3nOMI z!E$rRur=aP<4`N&lOp^bJsf==7uwt`qA{Q@ta$_wz;E*vR8-|10d&7v*c)1ToV}BP zuuT&H-eLF;6QxrE*=mBKV8&Jx`i}FVkbD0jz7lb{X;XYnwF7dS?l`iUD&C{P2R>u{ z5>K0MsJ*L*f9gR+{9`ZPvEcYb9~K;6e(T#S#A~y26{P%Eb-+41H=)jV$^Ye@sg$rb zb&Ah&cwULKGGh%<%dnZ(@%_amSphN^XJZM|@mW;1dBI<;BV7i8=1e@65T2_mVF*~4 zzeh?36%joNWDdx8BuI-Ba=*dTau#VH7_TGqO;ZjM5GM=cyY8-pm6zJDm2|1u)T;Si zCayaoCCr^inhUt5@*O-OTwPH_EzF{RK>6k>iY5l##Wq@~%mbGS}GiSW4AOWYuPyh+^43w_Zq)<2p$T zC&Af{jx-$ta(~Eu0d#8AyUf9sEW{6N1S0$`9pW_$vZeAA_DJT;?Ng$e9yus_5HxZ4 z+k$>p6n-()Ut z$qLHM$~nucWSi$k;*-zZyXu-wEL*j`>`-na&xkbUn>2*kJRP#VDT4k|k-;cGzEor| z;`hb9=>4TSMUjMm;ZqcO{fosAq|5xJ+A*rJ+A)+aFbT>yPZM_0g6?S|oXZW7S9;Dp zQ6DUn*_dFopLrNO4Dl!Z2>$Z%?Xd*nPXWxW%Y8_Aw)Dd~PF4^UO7AW28PYRz8?-~9 zk&ZslCBo$HEx;`TG6&=Xs+|D_GKaa$*Od@`=_}fi5O%%qfI#ft9*Vx)+}j(7dUGQy z5B7E>$Xw;q5OWEST=X0>sD!9ugyDOBWKU)I4!tXju*-e11hLC~kp!{JeM1Q{m;1IA zlKgVtw!}bR?mHk}$?f}o3UOwXC5Uz1kC3o$016~v(reb(RgjcBEKyPG!XMRdUHC%| zea|7}#g|)G00~ch1@K0FQHE3T#jXGjC4^rAj5SPO0i=s)?=43rx`vb6AYw?%k%{&z zxeeMAAa(_i7*JjTyrDYGydgZ(7p&*K z@<@fXOBB-IvXabPPbZm6F8ID{nFl)6y_ZR%p?bK|wF*?h_N^E@cjb}*J)~e7vF>JW zsiN-XOpUVtcIKW*_FT^-!-Y<+-i+I+CTnDMXI@mtpWScduGC^USfcTq7K4jPo=ckB zJgstXa;Q>$S1u1!V)a7hf$n_e*5ocrQS&G2GN407-D%Io$)PUhJ0EuwwGOxCrr38U z^~m@xPf}Us;W|x zIN{fKL{YO!l6-Z(b9oczRQzV^?ty~jHpssHLIZD4DngG3{y&fab{-@l<|%-E31RMj z2jsl?em;qx$CKzvKNWRACnvDdSa(~fg0H&oSoDLftRr594MGYP1Kw-O#C*dEu@9EA zL?-aU26ZTxE;OVZs=IX2$2yp&#o0QSr*E?>-lqC2`GwjK)&jAowf-d zDm!q>=0eG=T2$i*<5ey-V!Nc>efZgWlaz2fw_YVZpj<4^zQ|*85HF+4hW~LGO7e%Y zsJMS@DWKP+O*Pf%UX0K)xjJdKKTEf;8mUre3%6R7>lz)ut1$d-hdNI8-CHU`F_1Q<`t zp}t%A;q8lK#$V}u7jv{D)}t@nm1(RXdYHxR`QkV& zjTz7|ug+_bX)B1Su&Y3pCnf{33PoNk;y$g0bs%3nK_Py;KBP{9rD-2@SgPwcT1m2t zc6Iv4lw-23x}$Xy!O&mkR$t)T$xyM4eW)5kNl;WZH=3rNMa47EK%v%{iT9#El!hw_ zP#C~&TLH!zLX2DH5jjZNPn?W-8as;{NqDLcmFUobb0u}yeADI$(wSr>Co9_pPXLS` z+pYw#QbMrL2Y4$|!#VQi9x*tw_Q7$=0p{R!H-5{B%hVS&wz&!t#` zI5&tf=I){bVCKZ01n~K_EgEy2&l%9>Vp+wx@e|n_9w-003 zLJZon9G}WV!7MWm(tO%>bS^gK_89PsODt!44mk9SizA<&lKPwm+X`f+C$(a`Ix3J^ zJcyo_tK)&n<3uefE>pf?Auj#hc<8n9`DX%{&)_&B4F3&&!n$x~oLgwkIgYefEJaZ$ z%{Q@1X>2aS8|K*F2vZ&#v_rZ0#+A+!OB=LBxr`<#vKTdxz76BH$uLsJ6LVa@MGgkX zm5mpUcUjqZA#0T9aUO50!6r8<0*y2CYAQjG>!2)L@V+R`;st9+aiyINM;!&ca6rlM zvvXyBU%}liOZ8Uu&iGgLfI#)e^ns{{KgK3NpP2`~spq4hzIvo*v(Q5yHmrx_l>N>^TH=W#TuUPg~iqUYW@PKuAVXFZVjBloOFa?fqgdH~J2XT8Y6mcI^F z%K%8XIbRM{j*LHVf@J(S;K8*K`#Fb@4fUh-^cD4gZi8@~KU%K+K-`bawI69cw_N)H zGH0&+1FFG{=oS?)14`c`ZvIDx{%E=F)49Uj26YI;&EC{U`{0*4Sy=`5DWkgzBBy?| zUG9O7AGymt(sgdT+yiLNUG6ChKQX5M0h;=Zlmy0{2Y4VAc5a15qz>EfwGTCj1xAxV z{t7ZxZv`;K{(j_s^`yhkEeMUH@gGL-D(yZ@u2vt@k@gn;q`xgs;V}nuSK%F%;PVwG z7UOmY5}X9#;f~0o<0F66fQ)~03qmEUYY0)Px`v=okk(iJkT_L4iz-H0pP}}noo~eQ zRSe6-*tmCb-zX>YR3Ac@@JjxXfctzOh>>QV7smzDsT3=Q;3jk?r?E!`Jxs#y)d*82?9 zR{*9Ns^`k!9#g_8>Mg;UnVyl_Y(y}%m>{4}L2fmL&rwo>zC zX1B7_E8A&rGTT@4bZav;l6d+qj1IbXnsqIdtSc8r)J5c8{0rM7kn<(x(D!i2kn{_? zJ3$SwyA$+n-QXmMb%B$bvGP!@R-S>%qb+I_clIKV4Srp6;=C}kowgdkurv6MNM}lQ zL=g6xT9>>kE@Jhb*fmvQy)Gsi7R)S@ODoYA0AP#3Ra~rV2K#`=Ns;k8+1uG?srLS@ zEmAxozpy*MR5ThS=S4-Mq2cC1g9LY2x53SQ?hEV2wYf9>OLaY^*;QRnNeWav$uF!B ztVE@%Sfp{QibWc3$GmOkg=6LB36>SjPGH6~o$!mz!NfDaCuhG$N*Eo`jnuz#cLH*` zy|f@GQ!e8Xn^5GJ03dUDnJ$j}l|#sYM|lj_9uO!omyE;{@qew1Jfd}38F@tQuhnrw z#=oqN8`gYjH*}d>ym*NrWX>(nU#o+N+;UkRL|h5JveQ8lsbASs@jLX`(N}gVNGjmh z5ntGlmHt-gJ~GJHO80RbzA_D4gpK~nLa2#I(SOs+2yO4a>QB;%zD{@zROf`(fOPt5 zVo{1H(_eYiHNuYFE{=%V{#G3r>VI`$4g{EO#p(60uNmKW)9tpeImdOEARJe$>2K8$ zBQjSjyV2$Sz-3S+dE}w?(cl3jLl!!J7oY}@trbe z`TJA0tsILoW?zYbzgx2tyKrSe_9&03WI#Dg9rUf=Yigrz37_U8_D&0px%{H z`G}S#xkCXf{$cr#(c$6mHVCo&hh+e#Q?TD{P)xaug0V+gjDmsR|6q~!>Fnfp4nUg! z9`je6NH6$DoM(ScM&)@mXy!k-wR)F|Gh;OYDq~1^7~gQw1T#dDV(>e&L(!=Jj?YUn zwUY=?9Z*7wd18{Y%Rj0kj7;}?b%b$%e!u)p_mNt;ObuWd+}woUZcf9_R_|myPs!z= z8HZ(h+Qv*5XhQD89bNw%4HhVbJdf zVYZolX4%d~wgkx0@Au1=pvYSL5Fkj^ALrvSjAsnv$v$BesfZ->TECRPRQb-~71gwz32A(=9e?E8sbxpECG!YfiPXtnYX}lOiaQ%fzlc*?P0`q^RB>ja+$yu7^ z@w2E9#mr}K4N-YJ_zgyqFyr5d8f5Q{Xe`Xw%ovM`tec=hmsxo=i}keFgdGBmFc2a* z$tY9fX?`}xdo#spU@9BwffmzrGI^VuDICj*=fYv2_3+SuYXorg%$Jo5@s@xF5gvFe zQFw->`dzj{!F{bBlq>VAZ-QTN4u=K&0~xY#elv{9;dwJsq*&|RKpUxMy`sW;DGY92 zHlY&vgP3vNS7kOjhx5n4mh+7baV1-@l{EP(x71N2X_)3Ag;hE6w{ zjWz8rxUgD-DY;fYS?lzcjA_ZoRB-WWfC4ctkcWD4BS}FDq{BEHH=x3HuM`Ep-Gs;w z{k1j%0V9pbREi-GLP+c4kO|I|M0P(7(|!tE(4r9m;z{~vt#3s?yGi=Z^udF4GmWP4 zlc3QI*2VAjptTubNQBmUGkJpYF`=&zrp#LL;K8I>K)b=~q`B}8m-gT2iAag&T=j{u#d54vx3 z#fVPJ1MpjAG|r>q?PZFWnn6Neg&FWWpbZRF^oNJ8j++=?e7zuE$Y6?!GIJ+Gn5}mp3qa8rC)j-spd0Em)!t8T zKn;TFkeFFl8P7_Ja^!frs|NY!@4f5 z^&MJJr&tk%(T7E~^j*p*(tL0#qRC(MU0rs%8O>&sE5UvzYwgp`VU~h$Ys&Q~Qp;wm zCFq>R1;+Zs+N{bdRdtqCm5d!B5exlE%BlEeZ9^O>iFAL9p8vGF2ht6P%Q{UTw#FTVlfH~4EjC0 zf&^8PCykTIq$VkkqtVBgX}QnS)iz|Oiei&7LtfpL2pRINh+zkQatf;P)g<{n?u~C0 zA@q321^sb<3l_T^ro^l~@9Wf)?rAHm=G~^e!)%h}1Q;E%6769ISJP1vRcsLPui#J!4$Sg z>y?xar8qk;wsniGO_JjDZ+htBO2s9AJ6v(wF@hSA~239U-(}NsBx~fG9;JybB zo;E=#*TmAlQ9h~PK%_NfYf!E7Io<`mzP3JX4Y;KiDP0%RR8PPU%>=|TXjO<<0*HYE zLOMy&7pgC=TZPh<3z7mEmjb8*&-)Y5z7Au?GJvGc2AdzIro4d#5=&9duf#q)GmD{I z^@A3ymDkrSVH6j`JQ2DTCRz$St*&x9fD~>MeV;Z}?<45F&!CJ zxE}=J70kPE&_AJfoNt2D!!to(fVT;bFSVTpr&Nuh&t(mLpw0%P$R$$b=8dQl(}MM- zU2lb-dHzZ-KOR4G3%ue5W{OoZy`MtHSX;Zo>7hVk!1Ev4iY#yBcKY@s)Z^SBIM`wX zWOESXVkIku@_D2<>FUW*esEV^0>>*+!1NJQd8cG0Ruinz^}hPLihump3z!${Vlz;0zaZwftrf~%CIlu^ezJZWq@v=_!|aFo z;re>k`WdtXxtYycttW+Gq6=M>P77gGZ1rS1kX?~7sjfB9d;%<7`b2BHjVCBK_OmM(paRPvxS!ykbHVN_8 z5A7$wGHDC&#pO?eLozP(9M}fvGjnUt)_T0r0mKR@4JycNl9U2$&v(OO4YbhSv^Ias zl2qmto4sZiTcdsAiWOCAYPqDu3#9W&`65e34Q2s-!_uFT0sJ-Dtg8l2Q|6h!ZM_FY z1>Ela=cTQng2dZ+RVmSQi_pS#8eCsn_EupHG8H}bBWpIdI_F!@=)xYO$`BS%j-UmT zqh-Uy$XGC=niwoz-{x$=6#K-H|Dn@<60~u4=rg)b8#O%sY0AE93PBK)wGT%kEc+)= zBQ9+}XY;&h!ZIVjF*s`(bI6Anc3~rgoXXkQ(<}E0<)GuCR`^_ez0T6|yxBSpOO?OD z)svqs!L!8ptE?;z%MbJ}wThTy%0+_>&MHf{s1~_+GaOl ziiQvjcU#8X+?OzWQ`QtiThKqHurxlGr65Dg9PNtp+@y5~xzOs(ay>zF0?cud0C{=} z5X(X^l;#*T=Eg>2S-c@_gH-Av?CQ04p;6b&%{oT?sj2Ufx|C)NQ#wR4%peqTeNqcV zlb~-mVRnek4CZH(?97@9s1cF9qTGzri_JH0pC5gCe)QwVpRTV1JRj=QJ{A4O@u0Lx zTGU!`5})GPToXwtPjEqH8IXwy{|$o#R1a|$mbH|I0TU=09b(}=BZHWNYM#p8r>yIT zHvNIi8~-utHGtXCK8CaY2G1%QZpGS2g$c+&(gxI@hsp%j{|4fC)H~^f-R^0al+h#^ z_D;6K?$&9DayiFS<=)A5*xiQYl!6!bPWHm?-f4Jwo|N#hwHIz3oQ7w4eAPQSXwwJY zcliuS>T8bqw&`Pd6{Ya8s|uk_bgN5W)94KP8^QMueS<0nzdQ8%DxOTTOZeQv&zn%$ z{rcaeg4+wQ<{%U+Q7;e$0<%YCAhY810>oQw4|@SpBM8N$r?eQVMB7U*kl0b6$oT85 z7v#8NAytJk)jy-(KZ@r1SM-Gk*8PG0$KA1^66F8Q|+<7x4Fa zJPbevZd%h2q_^a7026<25O>3p94?p_Ey2^`L=16PzXL2LP2A4W2+rP;BrY=+$TLL8 zu$k)v_CsLxN!-jgHd^sXdXk@>qH75Ld&mU6v?ih00$d)=i~P|f1K6WUGI*3`qxjP_ z8_j`d9}VyT2rwOA*>ISju$*s*&kf=2QP^3eI8{|_{)U~E%2W|g#%o-kdV-LiOufYS zEHCYJ0qcFcY2itXXXtyK?eL%2m0o8*RD;;-?BQ|C?gFo`yeSW}KgAcw5q9NYgLD$!sBt`*CR@Rt{6*o26tv3vF|F*@Ph~;6vd4#<^g4tZc1V(_- z5*1l=_v}=QEIg0YVqWv~PTMM6#CEc)T^8iC6aUb@z7~FVplk~5;~0ty?IVCK_`E0^ zgSZhjW?4Z3siAFuid5Ah6z&5z7D6#lz`}x-RWfja8WD~UZQf{Fd;=5UP-&dB$ObJE z6fBQee6O#wW)+GKQ&p&P{1M$Q+0k4FwEoI&?Mc})q=EK%uYOy>l^Vp4fGqwGq5(G$9+12cY=G^G?QX{`whXZYZe&;ayAwP^@A5xq|8=X@|&j?o(rZs}LND2`i z9AMYK-B&APSQ3Q4CN2+SwLFNTZC!K>c^!PT*OkSz(P*T&+F7S)MIv1@!Ii2qbtbYH zn?YJMwU+UEXfZ3$K_T(rf$;U2q7{ADnj%wd)$_EVhzc| zcs%;_3LfC~rVVhWmMpTm?GN|giMp2x>eY=`6q92cq5 z+H5`XIROgiKn#VKf9j_pGmrPJieON6O8AZWO7+wcb{NxR!4a&zy|qqw3ENNco0jZx zayFM~ZP@0+3|flJp|JPawm60#$B5&NDrwFk+_kG;Dhlo|*b^t%m@+piJgNCK{#qU< z!_ThmG49t}2p&8TK-4E*PN(rG5$7T+lmKm}lz!S82I>LnHfl=IrmJEZHk)2g<9Oaf zreNj1a-xkeHH{dzvamAk`s&gRR!O2uRC0Y?%CoN)UYr?4WrSi)nk+U-AY;(_h6m2s z3{PRAvq(_%kX`i3XJv z;+|19FM%K1kOy}un`Kf?;(j2lECE2|Pt>Y%G;Otui-~qLF50Lz~>q5ujvQ6exTvnX}q=h;pyMr(eH5H z{}!lgD;uM1i1KS=FfTXGvT_4ME0-H(bQbi2BpqjhDE_>|bEwedOS5zXo88E>tW@Be z5M56HO1N6=TW}Mx)L+=7-EOxf5Y;7+*1{Zk$gX`vVZj84+&4iLZ^<>ba3%|@DOSI3 z)ZXUfY-AlJ>cs$)q1$*!{R^&-^2|%g=|g#5h4(|llq80|(3PU8wEQ_rN0S&m-;u!2 zvmxn`y&RU?5&NQ4`IeSQG#^OrXo#`KdpTe(cFww9`s!IMmTOu14JJzu%@k=2tN3I- zP4NO6{Roi|y_oFgz4=LgdVMV|Yd0t{IN?C^Aa;6@M`wsrGq#djJ(=D#!>{6 zq^HfA^fMZu&A8PHnall;W}#LV^FwA2m%b@|%ZWq+n43!9a!~2}9EpCjEXK(1KeAh* z@gb_Tq%6K2lky>uNx6=SSAbIGk|Js_M@;2S-ZzdXtcu*NBCoH)tbW>#aHG!kn97I? z?)7!ECdIl%Bk#`1ou2B|8b`^~Xfvp(yMd_3qXw#>=`fqlKq*3dR#(5Rmf`J0*MFjyoE&~_GTg_Cd?o`lq&*B5T5C?STeF$OBca_fv42EWFp_vFI5+-Z)5pR`ex3MPajVrkfi76S!N4xox9|34WCsDDe5ZjFZ&N9raC3FPrXZ{^b}cNFMh~cxQI2-bSx+iJLi)Enn8826}tVKMl(;Z0eZhZ z=Dkzv40`ls7AF zcj2MaIGMm&;bRa=_(Q1$Yeoj^?jK93F;Hp@lp5nfvZ55Q<;nOol(d=y8e_UsEwB1y zi)n_B4qtglM({tBVt*{DG9Xn3q{>9po=j3}O_HeqmdbF*xI2VigsWsKvT5w05`zEd z5viU=ZAGJwheqOhjE71h;g6%!{Sk)FWC4}RxmL%&*%3W!;O28WE3aThhMqSrlkyzu zZeZN7B$_m6cPNjQ3(zw&-`Uw?&|)1)OS;S`qdQqNG#J7M7K-)tQ*+P>>&fGOau4X; zi1i8MrXYVD7Qh$A_r2h>4kd( z%xr%8M3nsW2{+LEJoZUV;Ei6^lKj5pBDENStA4N~A2X{(4LorWgVbvThf7L22h_&K zSFU-Y<#4+nI{@`bldE+Rc4KW!HS?nZx=?XVdWtwtK|Axd(0$cp97Ng@urf9Dgz(LwI*~Ui8u=I2+*7QSS1#(xQRZ7u`dzW zj3E3GM5hObu0@aaNl^aDpn5d=O=s%S;m}QQP(8x=cB8ewQUqd(Ps&rO(}ZQ`BR!4)#;YS{!k|g}6&`oS^6HAQaT|kqpZ5%L2;-a3cJ;8?l(^_nx)Ko! z=KVoa+GV^v>|gO@K26}0U|khm4^A6v{l-I4{$ZdjverRX!c4biD5AjO@we$ssg22N z%I@;uf$xwdiHl~AEDX#BJ@B5xh>joiFPnG<^Ff_>jO0m~bI5VoR0)!Z^3bdqjFJm^ z+kfro`g-j{3#0$BZ}3~HAh#)5P#@LO~d2^<=*pg@wAfp&wH_-ywl``$>| zr%rG@)#Y||`J(EM*K?}wYl|J!eHH4J=$eSrp>Ccgz?x|L1bzynqK2#C2n3x9uqUKs zONAz>m9E+^62&0?=}W;F@@$20rswH;Dz1&ZeR>AVHR1_pwzu$WSvnyNqc1zPor)8S~q$vBDcLGyg65( zLxJf@C20vIlHvo9D;}8|6vR`IObt5Qi#+>1PI*BASz1sc2P+jXY@k*JS`3pB8`N;0 zIafwV3go6nYCGwAKX?)x(u`PZD`!8Unm9h8Lcy@K08|ac)O>|5SWo*Wfm$>Jd;?g73IGagg8gf$r|gGJBClj-&KC;GPuYs4ptm-GqaCCPif{8IaWViF|& z@1PaF<0%6A?=Upp7OK=z5gBL$siQtTx8jPu!>=1Up?y(_M!JZHKx24VHh|Ib@uLP^ Z!^aCRntfbE%-w9sS{E%r5+)R>1Hsr{i~s$)0T2W!D#_f=+=u-_;o042H2MLwyk(xuB~KI2 ze<+Kc)Jyz_&yncxkOfJv=do!r+wIg(_)z#1+M(zNeCc)haKV;5VY{6z4!6<#Q?z0W zUk+2jS3HU0u^hx z{=}Q7NtVWJ$b?9RM;0R8ZUIbZlP>a@b#B-^$}`r{1a)qsEcs4$qK-y3Bt9(xND&lWYKB@ z)D&+Lmp76oE^lP$@J7pPhNIMO@NQ_iZJ6BwS%zJvykIe`90t9;`Hjs1sYqptK!-B@ zpw~Z-;@FdZ2q>nh8r69&M07thsM2sc3zooGtmNT{MxiwP2=db?==XCyaH(mU=K8!W z!-}k4uM*@^9@619&(_}3FC3c979+=K>cg2B6$KSF&Xf#DJd|nVftk+_AUqRalOSHe zL9gRL-VZ_I+1=ZvN4muChT&kWaVNllY#Vc_IxKn=>FH?Z_o20~YvY+;C`j{lB%Vue z1Z*Zl!&nir63h|thgr-)_(l}441Y^`qFMtPiar$jGPqsyn7Kp^4N<)w95}<4ER--s zf>PMVD9cAzM_0qEqa&(N*w*Rau8wAX)u(%jUzFP*3!1sifI})mt_p!cVTD`Flsd@# z2W+)RKsOuN&0xtTI4e?c0`l;IFD8QKf=_TK@3yIs*(9Z*Q$&&a)MDJNo%1YfJ`h6e3G309q@@eJ^b6y7HLeG0(cWgd+&sOJmTL&$+ zQpqy8--WGo6Uq5{Vsu#5r<$n|^!;wrLDjk2?^eyI41~h3b>orepPi{Q0_Qn&l#F{$ zv|zLF=x;}>QX>dOsRqJuKJ5Z`qD)>Q2hr>Tf3jYWmnyN93C;n~NMuP}t1<(#8abzr zRh9$nwExiM@ME^<8K{mNwh<_MhHAu%LQR2!In2^r0INjFG`)~ib@~*95-0l2er6Pz zQB*#SsOxzdabe*&V5d#{Iyep(NR4eq<5^Scp2Vig+7-Uyp(6MCPM<_rpIZg0w!mEW zCfcyfFYzw{|MJw@u_a&yt$uLcbU7H$Xrc%J&rnX6VB@-(L8Xsruh*5J{tZaeWq13T z;YYK5FmUxQcoMDBepm*y^+pk3))L7-gf80c$^tmNr|?+zc#y66=69<+t8N5HLZy6e zaZys-m%81!DjMxOaORkh_jrIZkO^pt2}Reus&ddu#T*Yl_%RPf1^MSnn}Wpk83i9R zWM?cKO|UfT_3&qWWC{aS0$0~#&qli)7~=0=M{+$}#wm!6Dn>Wp1@#fhVo>dZnlx+HxMR}exe;59_D&^Ru9p! zU)S|U=Kz3AM#)^cIi&?iT)oVP5LVBmfxF@DykoHlqx1@-l4?z>(vM{a$J%%m?Sq zHm;-W?QK#Xcb~>|PS_t78O7zWzC2AZ zln#>t)50e-SnW_S9Dz47d#CdlPbYU)q|~lonr93%YiH6AFe)~Yh^7O=El{d}7vz-n zQxMFkpAAwP12GZEQ8GwXOnVwx7h)Zbg7s+(@$cG4xYK2SJyQfvBPa!BtO8&BHeS}VPyy|@RycQ8`{qTjR)z_p zS|QGeW{9~JApRr)d9U1I@If>1Qb5s)(uIHaOx+{mBD)p1QfJRvO{2L===ZbJ)JG%M z5f~IGj&mxe8K41w4ScNT`Zm$FW!2F7$FA62U1?`L?!&rWUi|KLd$LbDV6~GJum39V z!M)uI@>3q<5Dw&qFJ3my;iQ`22e^~ZXb#-5dOK_3(~`$vE7}A^b^NK^0-KS7-TiYp zwFFKrfm0YbElW;;SVCY#4X<(_V+oAv^|b!-(l7IjeP-gmg=MP!PvzL3%c>Mul>)0$ zeIJqX72^^Lq&Se*Npmn@qLzJ)1z2kt}im2u9sS_H=w0%kRS(jmcDW;!csyn2I@)KG}c zF_7-PpS~zn7glZBMrM1EWuF_UNjk#lT^-#atWp@A7{T#3aEGErVC4&k|t&P(4Wp0R14$xY( zvQa%x)MTaE*(NY%^e1+oL2F$Q=AfpfxvRPfnm2mRnl$InZuZkk9_*kA4k?Ps&HhW- zLt(u?iHC&wY$|oKguOm@WjADvJ3?sKn&M@4Zub$IdFCD%ywZM^f_O5mFq}K?>cTv9 zSEkYrSV3zXX^5$kB6T5Mil7K@JaaG8D#Ps-&y2GSo|1k!wNGZ9ZrJ%w&;O2;H?j^Z zK|-CYTZt+Uz(Wx4tVY_)|zQKGbUpyA+ zT&c&#Bgd^*b{Hm}#|S@6$9Ki+lEcf0NfAHm**tvCxuI_o{V-JK@rV@S%j&cbLG zymj5=ne5!KP6Q5NsgLLztIX=q92HhmVDv>uR_gXQ>-0LADb1rqIb}CxW|5kxo&|o3 zK1Z5{4j2^ZvO2JiuqIOVY^Z-!_q{Q?uYAF20VnF<#FxN*>!|baMOcQS2^S z*YpC+HPQ!LOZ;9h)|-GT)TgQ=(;aiu0ad?xtSt_lph_1vdm0MFW=<#%!C!jFzV?HO zm-}!qr(#yU7QpE6`E~I zDg-TWlxN9A!jPh<)8`k~7O~HuL(Vb3C4&hL%lEpz!U>*z0CurO1)*$dnW(NB?63=w z{+%W6MBVb$iH10^RPN-ewFbbdVV$8TTd#Aqi%f_KYK*s&^h0t+0(By~BlDhOvUUt7 z+><5hUI4lV`e?p_+4OlhC8g0Ml++C>F=zbk5=wO&4GlG84D~jf4b6_FCo}psd~S0y z%sF`t=j5TJLHiXx&^8VniY@Otm-yUPPcCihKUUX&>`VHOI7kk7y2d7iGg;k#vH?#C0j0u61u%aEU0gGyKD99 zfsFuC!7;i9kBBJJUn)PxWGj)sVHb3MPkj2$?a{6O4qMZTp(P<&kJAC9&6j+MnNGI$ zPNz#E85gz09R2cmScbr3_)c~}&_9FxcSxW0Nk^s~D?ZJ9fTAV&X36i;cyR;JGjKw_ zl7d6`k`(uoc)pUE2&jkUY@e!{o!XWhv`Bw{UQi98)>C9H<#uv(bbEU{ygeDFVs$ir z`t<41-CAy9P--a4FO6&YGm93reJG;`Oymzs2NZ}Ou3;n`bewD)(d?)DkI@R_B#&S( z@u#C14k@RZahR}O^I+TGLEF9EHy_Rpb$AjSFUtJM0Y4dp05F42eUW7^;wZ}+c(wZQ zAW*_iTt^>8Ro{giU1j~Fm0u-?*vw6xIEvUM7va?ZV)Q(THPH6Ntw(m!l3g1ERD?p z>AvQ;2H2rQYk}ddnoP!{(O(EH8#g@BK*?x(S2eHo(h0bMZu5eJnvCv4aucWXPo=SM z#h$`C1s*C0=hbAq=}I$>goh-$$FA1jQ(pF?hpd%@+%nV4I=- zxE#|UoLiE|k4-~^SP)BB^pf%wb7iS^Zz&fm%rgQTCu;rRWx;-bo?_< zzfC~z2ekkY*%ps_ABZ_4)kHjdU!M7^nF%WKn~+*}>Ly*>8~KNk--@|yIt~Sg*AN9z zUbu(xtZ_Ko{X;Ma2j=TPi0pO`g+Gd0d9jYvTw5gk&B~JVJ`c)_?{tXqu;;1rUGUo-nT$&V=NU%^Z(nP{2%-pxEZk!^N zu97BYDC;!g{~|1$P`YZjF}jKe+$ma;zKDR^o^J$iClr1uXF{D++{gAQaFn7vmjA`s zEk+$%XF^-_m!|*VAIJ7tx(>^hTrj|L5jT=QE&M^)Bm_hX7*LcxGDRAn2K5yNbL`|a1bwWzBy`c z2HUlL_?E!A0ieukR(+{5@U_<*^Dy@M?aRxH%k%fw|9Sq`50i)S4-@iX&A~mP;~yvF zg%mNAo=nK|7@CfcA5F+>CL>Z%7=I0uVa^-|O~y2e<>Z*A>MaBc8A6#nqD1XAnLMEz zm2nTEzHUf~#1bB>Pfb&vaYyzcFev@y&OBzAt$Feep%9FBk43(#4 zJ^q^$jjwMS*`3DzE$wWlCBgYgL|>*oo2Hgr4&SQld~ z0GNwoEC7THBw-AbFAzKK{RJY%oxebwxbYW=4mo~-n2v$oi>Fu^Bft@s6ljEfjIhTD z{E;S4`!ZwXm^Oi`p`h>HU%vVH{HIsvX3KH&I>1dp2M`|tG644&PywvRfC$KZ3`2m( z|7Gt_+Z#uYby4&=AJ4y#cxtN&6I2nLhl2QUwEMWr-KVR)?6p;LT^0pNSWN+109e&! ziU0k+k#l08RNd{h_q}Jioh2~mAu=)|GBTovCeXzm>PH8As2JVrq2uUW58X!BdMG}r zxqX!L@dsHp_=7BfqCT`u z0zJf^>upy(lbJ;Hlp{EoD3={lLcLpGkQoow&y2j;)j_`TZ`Pa!{yETG>I|(bX0Ss? zG(E(G5lB6ZBcP|la-K3bBx(ca+5$A!PjNx?BL^E^2I>ekE|k^d;Cki@A^A-b-!JYq z2~|iB44FX9SoN}V6_`H(PA6pi+vt<;-}#T@g}R+LpkL7bo}<+x2uze@H%!ow^o4H!rO-&^)>m(^R7t?O3U*V&oE zmU@&JNd5h_*?B^wZ@Rn=kZK!YednC6PB%(Ppvszynb}mBWK~`9uKg|e_~$V5jad(+ z3MEf^&FmeZN7~*2m0R2;^wglN+zC&sC^-A}M?ch1HM@>K28d%o#o_jc&9#{${DJOc zWa>}xetVb8A>(u|-UHwRBiG3y`TpGr%TxB6{nPVE%gwP5C0OsJ20k`2nXt&l--`={ z(~xiPv$K?V7~r(G@pX6;2Fbe&oEKr|LS()6{W}r_l%)W5)EtLQIz0J9ZfD{g$J-yd zj#0gHMsU%Q7)_*Men_|r81{z12=sR#P5ab9CT`eGIWc9xpz`;aoju=)UlUou;Oy*% z{yHh0jJ_wd_OtLlKo{>H9Q8huw|927!QT!q)#k14%mU4LvU}5OF^M+s?P&`q(Sgw} ziA`aU$eu1}+|3y(jxPKW+K=A&qmE2rbB>L~8t?pyK~gtS4m`2Dahnm>wUX@o4_pmJ znPXz=bfE#B8130mmVT!2WOL>>N8(QD^mK!j;X}5lBNc1YQ&ZUl*l}%0;HFM$`8IFQ zjZ_)@DFbz80gZlXNGAC5?2KQWmwUGWG-z;CZEFetWNpj zAT`T2+dGy)-VGXuyfk7U<#BAzoWmqK|L{2>@oVBIu2o6BhIMUZuDCPcV$KxC+D`0UL3Df^*&inU|HkTi=QSe7zb5l<$)n$7J-q`6AtX~|)S;`oJFF0)l* zkWZZ!V(Jcw2+6d;ZodCWT1jM#Dc@YKRy%Q;k6?B3(fk`zZ00=$@|y3nEZ0XZvm-H- zU%URe+wMYes`P?bM$(xa{F2=V(HLZRq62>L$140(^lacoLF>Q}adi#;} zV*KchTW)*YcDrNma4Dm&m<9kh2~)VDRU0d$t~1+f0lR%m_#)Y`rgUQIe8Ik=v>E|U z>-oHUu(RQFIj^x((`-Y+5SCXdEt;G4crT7*G`moqE#JNy3QYrcUcar_c6`%eb7Yi@ zb%!ZWJqmq&8`qE&oMjXZ75SZjjIKqu0dF-(L3vNuT@$-L`8yDs{Qmbtek`(bJ}Jez zJvS|_KREw<7X-V%`%RouqM>Huye6S4OZj&r<=>kjr6hi8^hqVU)ZBsNDs=5FP5s}f zii)|z#IfaJ&9Ir97RF>`C>hjHc7GY{vd!P^s~$ZvE0Z-cGv(i3XU*`R{+o zo}P^EiRgc4(frNYq)-)j$JMyl!0eAJUBB$j-%*eAhn{XhCj2{3IEe8VMvRKts&g@& zJ#?V8U+9q=|LddIfBOE%Z~y1_IQqZ)F#G$r?~E0z^W!JnQv^q0vp;)WC{cX5dL9di*5oOVgOlfrzFqylFjdG~D>2%Sc7famM&}A_%8%SA4m* zzBa?8HrU>|=si6Z68^opK>~jO^z^iKsJff8v+XX}B%}u!@3Z<1*`P_eUL^Z%SZ-ld z&cTf?x0+rjBDU#9(IBF z-5uBdbHBOfzYY`25C^)o*+CSGw zdZ`+@^6Ta=LTn9Bm?Y+Pt3)Nh-upp;Cv&so-6b6jwRm)+%h#E{J7u8$zn6}*rC`QytP1K{Kl3) z(K!zDuj`lRe`rkq@#^tVcb+caU%h|*{{5Bn`qr(zfB(v>8PzcbwBwbXQMt4Kt23OK zw$N)Lwrj>D22Z%ug9M3vDM4%bdBe`s*26_->+nRTLzM*@#r?Q^V6O%&}T zU%C8iEa#e8=#BU`x(SjbxLyEEOO~IBY$H>ID&puu*D|qhkds^j2*M&W`3#UtL_oR8 zLErVK+q-}c0iTSCZmlj@&L(t~boZGYT-iuTev8@3s1vNitWcQ#5JcBG#Z?Wp37?VO z=1XBh^vdwsEUB_FC80GX5r5dl?hlNqNN6fD!vbr_TeZvP__l~_bQUW?lX@CMdQFg< z#=`s^Sf>2!l{UxO!SLw30gS@@(f_lc^Iwyol_?;+_^wRctd*$<*w4jm8skOp!{|=p z+-ODKQ=I2oqRR>$f6a8{VQkCBv-6w_H+6>-@L;4T(_GS zP5C!$jrk4k+1VEbP<2C~@FU7v5b~dn`=1qpga?9np}jAktUS06K3TITB0Rbdk{~&M z^)n7}N}S<%nPrQ8lE#VJGS6l_ZCRDkQ6uyG6!Sbp&}*TL`b+a+v%7CzhbbwoHaGh$ZsMq^F`0Hg zGu`C?l!3!*#Y8H)je(uF+3`G^hcMgh!hZ&p+0ut#x5J{6^yAcX)YA&EN82#_;*++X zAv;lv2Odg1l6d%qUUHs?OkZ*y;1H*ynQT)gX~vYbxt{8cU;97)kD9xq_ibDHhaiwG zz02Ge5!`YMvPy@01F-p|o=9T-1^nIvev>@!_i?vRY}PhAkE1zai4p$fvuE>#Qj)PX z4>%4#;EO1Y3V)MN|fjg67J;{-l_?Ob$~vbkl5s!s?$m<8tfA=7DH-@6*}Y z$2vJvaKBV%B6GJI$*>|0vmB(*4QV12u5@esl0>04OAC(_@I^eCKp?&gK2`vz?KTf7vt0*pAf(57%H}M=Rw6CoKqjHPRzk*612s=zV9$Zvnsf^mf5tk< zM|8%7^Dc?*h0cH-A|D5j$J7Klmp>kNL4b2L!=1` z4x2Ui7Y;{%@gKbo4(0Y>>>Y}wN@Q_&fP+&pil?W)7?L?Md#iE58atWBBXY>X_7yyi!y(S(f zkr*GxX(YGPTh>peE#`hOJ0EJ>Q|yu5!x!oScgu9DEcGQt9h(VNnPU5d`AwU zeW4CwYl}qyJv%~F@(4{0>|H@MFv9CI-dl>Nv=IDz4$sAB=yXqC5C6GiaqeX}ac!g@NzmIlbG^_h~aPLU+@K@|`vJw%bWNqvG)gHg!ZX)pB ziCb2k4eS5mG9@B(!o2%kJGyRWCcWe&Vmu{hVCtL`m0h^sBtKKhKPK`1q0Unj#X~%= zqS)%rk#Yz3KXN?7X~`7*_2C*MROuW^eu5wO+8yIBEstb~+L{G~UXnA~^n9D&d0U_%d;XZ6L^5V<dGv(K}LA19rGkbki z6g=6?4DRXTG}@4;#?+v7A2IXj=Qwk(<9o)&j{_-2VIsMhseMTTBOh;)Rx#hYF^3Ay z7mA%k9%LT;oJ>*6v80f(9#3okY_dljV`kc;HQ{bdYur%BxYn?ZjWlYLT006N zHg27Jyxc?@ai$@IwhS2MIFI*C8opo(Tt9MhY(oM?%jAMligd2_B%o>3)k~hu`Nuf9 z4w9eZ2X2;wU61ULk8G0|8TTS1-4Po(w>~A1376(gGqTLLG~4c74i@;Jnbi}m1Gj6o z8#U9^3W<=E1#_(ucY_MI4$FF&+zAhU91WcM26oVA(Q(o3OQgGkbIVDbL;k|e)HWfs zBXq3IDR=MOADuF|U+iLl-H&W(|I_`eEdpUe3dZx;h3FvtvF?;G_)5L`uO%DXK%B?4 z-s`;bd47Om&cDgs)UXb|779xr?l`;sa$5)XO-%LO%}XCT z?fLAyVv2g|h}TCi0dH^}W^poMb~wcR2{D0nP>F?CI;WgF2n79BD5{Ur&BKA^oPc?SR zzEi*02Q$M^QvxCL=lsjxfVfgS>N~)mh$5B$ziq|bjFbmFF5*{@Jx9v34@1&WLuR8OsmGmc1k8CjM=LspA(OdRw`gHixwEsW|Z@0fkg(9E& zNjdosr8Hb#7ddf0wTrU|U4f(Qeeue>`bv`bfod@-Z>qYLy`ML&>Eo6m_OZz5ZldiS z`-!}Vu};NLoyM{rj2C9+oorZgqnlRT=#uiZNzdoeLy7VO-F6vlhD+9r4AXKy2#SrE zAWqZ>+{0gE1*S7fjc;W=*c3_lbK=glSg#P(}=u#Wd201Ezz*_r}g2|;NGDW9QVc)edF zLN;mub}T|e+3FBn302~{GmR|vjJ^yo37m2E^b}RY5zUeqhZ06cMN);?C*`wCcVWlU z>*B_m)6ML{U9`>=EpqEDjw32lfM&%L+0!qqB)OTj9SNmF;X z)BD!=Gu3vL-^EZBcjI` z`b?)tF~GzZolzEd`GckO;z%PL&R8?*+&3CBsfk=ubll5^Kn1|wh6%;2x z>g3v)Lve;r0madAC}!PtGX=#*5n@t`X^JSX0*V!x>>EEhrEJD%V%d(B^m0L`uZ&4@ z&C_KcJ%dt9P9ct&6Xe{afx_NjlUt2j9mhpub=)gk{*3yi^yK>D=Jso5QW^E&0<=%o ztfELR3N(fzhGU-b6(?qq($fM3gFP%I9ZQRsU@IXfXBKOTG)y+zpQXT*tb9zFa7y1` z*jtOpH)B&b8kL8oGp<{R?%ZTx^82B@5&@w#N2KQgFf`%4uBXc2g@5f-O)5IXHixp1 z7?qLF6QV#F=}4LDj6@bfqBKA5X(^V;Pn+Tz$^DwdedTjPYjdo)Wak)uAAeorX0wGk zS2Bc>8Mo%uQspS^Kvv3>lr9Krsp&pwVMM{<1ywoQZi5}8N7Z$SO{S9K6@OgJ_)-4k zm_3zKkFj~O`8ZjLi4@JQjKL5{HN^_koro|69Nr7X^c<^Zpt>;Sc}b&l{zY}*5A;YO z2(DH8GQts#`=U4PR?9Kjjak-7$-i$L7;=yUv)HjC^Brj;Gp z1!ZVQ$wZ1Wj#uRRw(4DlYBVf$wP*LNpc5@8&CZoG+8)J`6fzp)v5cKt<#UZ{g|OK`ZZb!G#e(cN1J4Sbr!YEOS^c6T;U=7CD{EGzhfc*llgDCdoU5KdAe$S z^$@4bOZkOvK|V~7#eW2+vEwBqp=fmQ!0o!pK2L7^l!;QsyW%$=lh+r_&5OVyWPl@N zJC3PZd`QFFXtM(ag_u9GHT_BA)zDIO5;r|taryd6tk4>VWc)d0#Flec-y8l@9xy<%R#K+D*K>2J%2sYMGW5 zcLx<4&D=kVn_#=grnsG0Nk8f-X`f4HsELLnZh42yEovKc1`AP8>ZCaS#y?gW0Rm&Of(vLCnyNFcDR8*R5#g5@KYC1rR7&84ptJeI? zmaS&u4zes%zLU?+nE$W6&nk`OQpXkAY20**yJw72$gB8)42=ZWQ>@CE@RZAR`^f`T zxr%`RexbAw?{oIigy9rn80n=wG8*QnOup=4z)0KHx;jNUek9VtDUAyqzxd;Ha9VN| zD4%S~qs);fD?L9F4lU{%H+I}SVNp%Eaexp?>Y;KUrQL+(J(8G?cfeGcB{>oCY*C(# zEYF$51}Vk*HvK|dt>Jq;H)H<>jqrkqqo4_jGHen-)<`dy?oHEgw;CyC$go&ojM-cQ z4Ek{35gVIK;b>aE(8zOCoLFK1e)u|TxxZSA4vhmOmtE{>q3ZcuIaOl3o@rK zz&rIc?HKu0^CS;tK z$=Ib|B$zoKCGY$s0B~2$Pfy{~Q|c6N&wY;^I*~6rc6*jnGbmiUA^ST&aewh2e;Gfx zU&hx54YIMntN#Kr|CjSG?t^>nOyY~p^c~wit6WYR?EMmL&m+pl82=-&W#fk?R~U8~cQ)R0F0J`+!0bE% zXO6F%O!L^~tlC&94PPG)V8E2N@8ht6c{}CHHr}W!i_ZRj@SN1b1ySF%^EdD+T*^wwOTkZ`0jf|;olAl4l-@E3uZp_?$n0TLG z{W1;E{F52iVnwZqc*QT%84pZE;hbEq(%V(C8^P*foaT?aN8}i z3D9!G=PgHnZ%o8@(!hvWzaBT20EnUA(VPg`K`BPjvq^qw?D@Q}KrFdAIsN>?dC54Z z&fi+leBbk~-SR&)6&!*DYQe<3#J0CNH{WA!X38?ktb*s7NqOwu+1YnQ3SlLTO5U0m zLUa_R(i<|E5N-_3U#fHf-$ zs*?O2O?ZFHJ?$o2zeWQYhxa(`U*Co|laJ_izw7?k+WqnShQ z=hYPgPgY49dw7Ces?fY4{atjX*TAvS{DNnWXyOv04utKOI2?F#{3Gsa)$) z!7#JpxSyGEAX~+OR>sh7pe|WzS@gDAFCTk`uefzp3%8)ig~9fzp&aH~7>Rg-6`S|T z=||>yhT{(Y#L_$&>!oXH+uN!j^gdK<|_e-PUR?eRP(Wk=*Fi@~LV0HETPygbc)D;a5$|QdT=x14_rP%9V8^JtVf*W?q z?Y3u1kr(+|9`2thvm@B56`<{CsraF0!jgTA&T?$k?zcRh`aNCpu?-hlq zk|-(avuc?@r6TG?sG7Q zylQ9@X`_-ocb?XSupIOiL#C6Ua=bDmPe zv-=I&-IM5|L$nRmN*IIdSC|d@noszh8f-E8^!M5|%=uD|eJENdVZ!ihhOMbh<+iV+ z9r2Pd|8yz;Ix(@|7P7a7xl8+}Cr{`RkgP4?#to(0I79cxtgsuaHRKz zcY&OH4vJUmLFtuxjkZ7ag{FzjBr&~`b2HW_-+1DB!^W#@XsNO_S+ccTMGFs;y|tMS zCA*13AAiM?$J`UqhRJ~ycAYR)MXV^J`bw_C)ZM{NPL);M6e!bpC2kj@;N{n?FHl}J zG*7vbDVyhV>)65PlfS?H?oV0vApB2EB62Ak)oXuT{Zw-UVFovj$T-Otwx_vDfNiLh zrM?q8z6*>%*GfV95M$k$>5l_@F^Eaz!g}(t9dEARZIke!yl0kv%%4y_+av1kJtta8 zSw#d@Ou7=FHIr=(iQ0)HYSIsn4o14DiI7lkZ z_f9fFDHSA*fp%P!2y9o>ZVX&z_6%4DBr)6C%CQ4;t5>4TR&7Z*4^$Ic_lh+C@q;j4 ze*Izmc;JS5>0zvtNYXcZHLLTn31zmPtvEmQFRvKaOs*;tN2n@lH`|#rNl)1m&`|pO zNXg#^HQ|#-1~E0idYslOOSwR<-+XkwFRBXJ04Ir7YtN|+2BdCCq^YCcu_oGrLvd({ zH8c)4eo_F7f&zXS?x}!i)7C@*yQn(~EKpS*woYc}`NQ1g61)d!Eh6>6d(bl0u9#O1 zHjJAaKgr!?sfg;aef`L)@Mih)8Y_^T@^M6R2@>W_M)q;GQ;t#7A}4D%C!ZOVP8}V$ zY``mi6#7ZYVTrB$VaqQ6f8{$P`?M`NPowyxRH-9oW8x;fbOQ4OE#cPt8vq1nrtheGP$3`%$DDIWOqsY`6N16 z&d04MQTAjx*7AUKAope8Kd@&9mitBF@QD1F<7er8l0*x{ z8`Nou?@Q7&41BW>nL`$;tr*5T#=MD2KbZ`H3Oy&$Q7PDEyI1vpY;R4$ZC}=2)f$8p zffX%ruhn{f3j)x-xert3Z6dfn;kiy~-!y{8H??p0K|uZmM*J1WyjGMk z-_%V27FU!?-vyZE2BFWn!_%W|TGYW1QRrf3B~oOlA{0ARKnC~!LQ4~)2HGZ1R^OYD7FERRZ*7QUPd zN!#YyqpMY&iIK)8tVZQKNYWA6l{6roXamwfwBQ5OM2-_?7cXMI4eR`a)>yZC$s@1) zgp4_}JAP*Fl%xfu?i{e`RhiDsJlyD>o+7f)&E`i4almt`?d(_L3B4UFhZ`BwMB}b~ zl3k3rg9(jJgmqc&JlQ5exQ*WYVwq-Ua?3-!Mft*EDu^vf&>2*`1yCfx(zZM3u(-S1 z;_fUkI4th&?(V*@xGpXWEbi{^?(XjHE|>G2@Bi<;5gF0%R7Z4IWMnMN@$J#Yj@n@tT6kQMe`aOKe^x)6C$Ij5%^!X^4r|w7eaHDaEOO1; z?kZuACFaFI@g9VVm&&MezV=H0xbR87+U)1V+nj9Ub1k5=p(oS9^p+heULZHy$HHNS zh?TI=JF26zr`VAE`LCv(5@Kv3@l*6dx8ya~&&PKXJw*32*Y^W>_-;jW-|_t6)SKEN z@EKG0@pa~7#N%9=KPO=B)BPB1MCm~+n$6w&wb`TNA^53Drlu2gl z!7#4(K#`xMK#)dKT$Y%nYX}C~@QGHw9*{hkXS;K5%$M?e>_4(8clYOK8gUJl+xYuQ z1`6&46TQ^Ne$)31eD)Q0;o;nxr%EKGpJb!M0%2Ib%RO&o&&uLc7YU4kH+XZ?*x+}+ zmp*+5s8-a6!bUMVvoh&ox|(se;(!$mv{(+(FC>;>1CiayQY@H^pg!2EEXU@-rJCc9 z1IjlOZ3w{pni{^qJNt5eUj8E zfI^HMD1|C)3%YP101y2h&Un|(+K^2B z0(u+giCwbMr^e3>$Ko?pPL7>Adn{BwOvs;PBAEIn#%df_QrOuy2BkkCj?q49y`DH7 z9d*jtUcBIbMZhwuOrh2Lv*UUDB<$0Gxzav#ijVl4&;Er(D(mKp#ZVdF9}2SN1E^zJ zt-t1a!=*{%6eVOs#nhG@2Wj7x$Z6PE3ivxHPiSw^4vJ$)JQy&nJSU1JqVVnllTW9x5f;WTGjF@+Gp=jF$S{epgXA?}m*Fi6Scfi)7Hs z6U9YgNc7B1e{-s~NPt3@ywWYra7l^d_RG>Nea;$89V& z3hQw+=LNXPoB7;DO%A0A6L7I{oD2&7ap}o|*p-Fg6Y}ESh#%FK$_F)RG{g@}Lv&sA zAc3s>q7v#vy7nlQF1LwMDefjXBgH{22H@*WP7r?rb#lhPFo`0Z!c=E?7kU@1RgUzVkI`Q8MC!%lx?_TSv>(zj=7AY;BkoVouPGg%*N`vL&V5yM~%k z(|9TkOSF{-zkN}^M?U?l!E&o69Um@k+>hMeuYgtYd7zMUS!vefVYnTbk+58y@q2lR zKCmHQNv3}8x!VdU+xQkh6w>B~ejCD}s<|XK))x}_?1poDX=}k4gNN#E5Yx7~(V<*N zqdVyEE?}WGu3SX}k*xOyqJG}KjbQsQNfV1Z(Nj2<@~e5(-fk-({cUwESNF|4*3yIj z2a_|Wbm8e(mq}AQFRxU-ppNZ~B>#K0Ar9Y1#Px`OjAClaRzf>%!u3<;4lP!bi&f{q8utZ)L6}rEdK4~ScZ*Pn6LXtMhxVA+y@SA|%JJBxNurutV^b1g z)c0siXniKC2D4~Zkv-V)9xj*j!H|k!Tj>w!s7d@&m3Ah-jc!K^X<)3X;~wGcU4X}( z=wfiSN&L-qpRKJ(@GBWaB>OySAg>Xqxt8!`W9nAkWjrp6L|Cb2&MZY)h*Q$_;zlrC zjHNTbmTHz)0cR!B&i3beWE|vXMLHhSc4;zB5()hJNEmZ_z-hg8lmkz+l$K&iGVd+; z_CN;mQ#%-lMJZM}5isbp62fj&qGV@$(nGZQEUbjV14r|X$lO|3kzSloDL~eQ?jyF;d zrp*Vh!l&7wX5!_Ck+b^hQmVaS#>Kns9qSe_(@x#@nWz;cy>s_ZmM{}J8ZC@NVV>@mfq|GBI?F>BX1g=gZe8i%&qSTeDp;+8JDtXhhx#fu16_rIMMN zM-!iNg5-U*Fc%uhgfBw7pY)xdn4GjCf264baKoXFfr6(YEGTnDWmBRo202ye+zfSn zjt;lrZiC19g-nt5`dQdoZ0SSiIuzaePl`NcRkG)Fsi$L_JSe~N> zLXY?LC8u_e|uQ0#}i~E%n=d637a3NXzCDAOrgfV^2*ftNs23e zP{N#(grvUEM;O1Pu;;L(O#g>9&(=^fDw0<5fCVOzzvs^O;Pqt0CT(<({5F8CGK(>@ znVyt^w1NtI>ijx*$o^S{Q&4kOiX#5)EGJ#~Ph-g3+1*^c>0o&K?GpsbGWCav+sIX! zrxzr;lj)?fQgU+=MhZ4Z1L*ofY4umbJ#3tf!{XJ1`pV4n`$6~2L+r-(8OM?4XgDzj zZ^*?KD0zP`sAuFN%yZ=-9Hwy%eQ!Q}4*~VsOds!|gF78|zlioi#uw)|W_Q7IMy%1% znzL<%BeE`MfkeaPIlchj-+~&x^1zH#hPBu)K;{}b_yNoP8p+zMPq#K67q4#Dk@ zBGsTz{!{Sj&)fAn>;MJjmm1~#DEyZ~Y$3|7oKOa<$PD}}?FC#{M!fn()r2ZX)m9!0 z-J-ReLY~U)@fw8pnYq+0^Vs>LCM-77~Z!GJXDm`Io;TeoPUJMaV zii*I;N=nK>15aI(;k`_8IZp}F1hyqpi}^S^2C0uaKhGQ-qfgHoq1A3RgL8}{AjMQh z@y{Ev;G6lB4LzwwS<`O@a4t9^nev-i3la50_x4UUHS>-G_uh3{Wu&ZBr#oZHuDvN3 zt!R!PWei0UoO>3GIqNJ+9qA2Ady>D~1Y3{cBnHGg@GrLSG3MMXc zq5(5Ba{12dU-^D=Zs+}(rgpFq<5OLtw%=f~A_F;_XNGXJQ>;R)`vZ;Abe{TEHFpb! ztTV`tVzTU-*&hbD&t6s^=ao5ZCtB8r?79K7W>%jM+!DST5Sp3tX>ijcw7;9B8YkH`J;7AKw8_;{R2nN z&ON0uexqw`WGM{x6z=*U>i7!tk>ekxvc0aFxjM|nm`%XjU7XY`jp3wQLQMwL^)?qf z3*&tyrq4eDg*KMWXL)u{sq8yq*KA^#{UX09(M%X@xea$As)|K8FJBTPA#wY3Prm<7 z(d(BmIrOgX!S^ytIek}&0XfCUIbveNBi`(b@%>yM{$}DS?DlaK@$+B8P`c~W(z;Ka z8m6I7^Mt?HDnwD;sa~DBbaiOm+AiraFUIedAa=Oz{bY@BW63pI`-;7>P&#_6rS;UJ z0|Z9OddGa7%ppc_OKBN(Vg<$X>YJi#61?N*DZVEb2{4pJIB2m=ak!*7a=&ZYS6jp< zGPM4kKO@)m8uCj_jn?kPB*{ntVpo4M59-}u8R3-dnFwtw_O>`^^cc(u3x~<^TPWS0FnbDBrdoQ8pbG)cO{VPFCBd(maBcb5!B&%iu># ztD-V$+#*qQBK-VI8g9SC=)iHn)NV95o$==WR@4>xr?wGffgSvYB(qz=p??b$hb^Jd z9dA-#cQIC>_$wiUYyjH~YQgRJgPA8{>L0WdCDPov1IXb58*%){AJP2HB7ve5zf(^l z2K+q?(%2nem2I)@#G^7*hc2FfwWMw+qTPnJ%8TP~rg=;KoO6m>ewDM$ue7CYWH*X% z?6t+lI^@fuwjWT9?Dt41l)Of%7ZQDzS@2w@R3e4vPhQ=A9KR0V(ucWCV*{lH`-&TjnvFd47&4sk)gI3%%#J+gpQ- zxU^cuCmFLk7RHI9Z#srnOjK@uKo@g+zts>-w9gMOegM59O$xggt-YYPpMOgINcQoW z55`Igl-x^xY|c=pb)7FOY)PM7G<}%Bf76Sw&2==IP`O_Owt}y!??#klle$s}9Q+;b z$i`G1s5sztYBkd+P-#!n{oX3E&(h=p#a z^k8hfbWj;vZo97-i$`}dE9E&nl2s{gJqYa0`_NSE^2{oGXPSn`Xe{rBOOqjd77Kp* z4PCU1CQLc zLsyG4N-A1pBiPK6WSHOugEm*El84eWX{lO1UN*z;AKry(wK6qg{YWC_s2vIfYWUl) z^y}{nCQ?kJH>6nw-`m!g*M3oF)l#ESz$2n}erw5y@4X40;$LsluMCnvLltOthXQ&P z0K>-z-L?e+TYl*qWbo%hDx$-aTgjVuqg>V{;?vB$3i8_s6m$P<9DK~RaM01TWkn5g z<=;>;jdC(u=rkXuQI%E@+E#&tvbfEvHRtvCfw&4t=w{6{hHfwzVZ3$tY#D5H~!GpInB;?LlFd5Z!BqXTBT9 z;+Ls#zqhp_h^4G%8@S5P9G{W$7fOs^0f=wc!mV>j_ zPbS~>hpN}hn&oxBy%8s4JJz~u5s}F|-+_y76K;Utc9NA}DFg|^s$=>;WN3xEZ3hUy zj#SOoY@b>c&-HW&6%4?Ss=55JfTZj?jvApWNxzU1OUojLF2RD1OrrNuu2=HgyQp2? z%5TyucYhyxsx^bwQ_ntJy!;KI54hn@D}kkaX1_&YA_*^1hA);Zp%Pcb$yv;+v#jtd z#7jB){!8+ha`AMNG)mD#J4O5h+nbc4oaeargFih)*)T@fJzUhb1JI)+fD!Uk>+v_) z8VLPv2g*tM<)e@-VK2C)D>U}Asv5w{557cU^wAFXs^W?DJu<9sxJxRbn5O|-EqL~* zK0V1b)Ou-;@_eWZd@w8%2dnVm$qNBs0WuAei06S*RLpVB5eu}*=ghn{Z~V*XlvX0- zDyug4kJe-Zl3``SXwKTPQa$9*%m3{M?MI<5y4E;)><};a@#jhI`SUGR-CCBGe$J8w zXPqpCZNO-O#*8AVp(8;SWK^(LxN)Bll-*1%s~CHSXZeAv5DLP5y2hgEM(|tG6^bTU zd!C*i>{V1#=;%Dln^c^~{u`n2@qSYqK3@bB3BKs{@# z^OU#Xd|^-`SB06fhm=(5*tpFNR4s#TfuiwoGI_MrPC{fYx_YUH^uQ!gbKC+o!*Shy zqp@$!eby6JllNa0!n_NLT`GQGX>ywib#fVw?cZd{%*@OxM*Qg?OsXjQHc5?f&EBIJ zm{&{pQVLZn^3|NR__bo%VY8_krUJ|q_9w|Mcd0cAPN9Y!mBqrkmA;0x_ zhIq3ocy|B1M336s`RJa=Q^qT8H8{19cVhMY&F zKR0DyV%g@>`+@!>P|$WPxE#JA$@4 zla@7~&7y?0N&V z!Jpp$%4aLtsY`6^gME3A5^xOkRl^mF&C;2idZ}4UM>#mQ0~*sqfMxvsCmLj48)8r# zHiJ1#qQo1F!$4&z#}!qdJ@g%gB})C7aEGX|)2hYp`qi{naf4kK7pt0S+Xjvqy4NTo z9oyLRwX)C+LM@bzzp|>HL!x($3b-Oc75q?RRaNAU&03wdX&x1FgZG+7i$&aW_fCVw+|lk7?bDp> z=Na6)cntRT1v|ofw?3E07E(yxMcWuZ4C7-OWiIC$Z{heDdxeE`w5_sY#WU9_q5j&} zgjL9?PZG)6#=C#UW@--#;`+q@t;#QNj`@Z|(BYs#vsyW~6kz&e6V8n8bpo1HNm72tJOZ%IHeG}@^N|!Uf4vjQchvavXDxF{z za>7eR2E^F!mGIwk_(z=NgA{UtOCF{3|8vi9i07DGRIGSuRDQ2NsS{N zI5t05PwmN_(T9uZcnl_~o9!H*!0$GLcZXVZ|NeSgIO^Bd+2Z)Y=HpjfXA2EjlEFw{DZb}sP^VY!TtOS{68rovG7bGJR$*fAjX z`g#FBg!w*z;t4I0JIY&E)F;dCl4F>zv~j4nOTe-W@g^LZX9`-~O%q0w6ShyxE{8?@0-=bTgk80;d3R8~Z#Sm7 z-%1!oWd88Rjxv6whnZa2hd;DF%#J?YjLs)|(aVh<2Ud2RW~~J|n^1+vGcO*Z)GCt8 zL40TteOrqAVM!-&qAYB{t+TH@o-?lAlGE`^ud8f+sALkQ$-Y$I@Ng4ryN7*yXCsxW zu{8_dr;iU?eC_!7etG%+*(Y{wCjCQcD$A`W^Lx@Ml-1q0zF5t9xu1Hc-5zBO>4B17 zVMKe)!f$?Hu*U^aPLIZGh&A<#vB)nmCL?CjwmP&;Y&GN-Ja z?Mz}f>$(Mt^s#4xvieVCl9_@EtHi!(%%SRPpW>UKfcR>*^Rka|$fGcNyT%@yp2G|> zb>=H!Tg3#1acEN5Ne{&;!`hzgu{Ji&kG^KT)#%5I%{s3?dw-8mCjN0>do#3xm(~$*Gy!Of~=TD34?uym`cy34&-yyhm4Ou<1qd_pmz-&S8H6syVFbj+fnunU4h zJ?YAMB)$O;ALpT4qzl*jZ`7Z)7wVIp4+r$+_ly-cL5;iFh+X*tu}b9JtJXDjWO5(z zUSG9)L@p81Ec#hh%Ylpo1nkLL*u}s?)R1Xj$pD<;v|5p$Wt32a6$!#6*vAlTEv;~iLwl2 zGhyXxgr++Lr)bZXZS9-o#UT z((aGS=z{{Tnyy_v;H!J0b?w%qq&AZs=dyeUQKVSNM6ITcK2}iDAF|%*`Q0` z%o0ER#m3%JkkO2*htA$aoMlx{kM^tbT0#O3iV%!BnF&THSN>TK?aN`3+1*$45SmlH zTi=qpTucb+r(tnHADS`hkVvQGt$ZIIcDpt^u2#IU6M`2;>a>yz=A3JIyKicBxG!ZKeIJb zGYxU@kWDgO&djGQMS`0ytXs>2I}!&BWRd#}p}21N!;+B;K)a>O8MJ*yVIDgLvryO+ zSu(!NCVlr5L?DLB1zkYhQ;>i?N_O-(NW#U>WTdPKnO@XC%cG9(m99A7YA@O`WVno? zadAXRs_E7ISjViTl{k0RkU0FAiE$b&F$<--I0VMLI!|FSqQ9;a8$=;1I%>{oa50*_ zb!RS#v4-3N**~`fKTj68RGh-4l%t6qf?S2$Xbw_|mtYP+;~5AK9GshBPQGUB{1Hf! zoS;Qn-57b|&~5occ$%ndm@=L2!^bUrh}7gZNhV88IzY$|&I3;i?nCC3_z4Gtdo(5Z zm%GVi%LE1bFxz%nf75ZIM!@7Rpa-MQ+Hgx|!KLKrNpk`xeLvbj7Ik_JyHI7f=0nNs zlIEGuG`RrCie;>O#2b|vFK~4J-(E(DckYjO7QKKq5F4D;MfUp=IU5s?SfQG9zo=+P zyk>Rx3%-Rq3S~eeGmTW%qm?BrVZg(6n$*Qd+BXnu-!%_1b3|uw??poy zCxLA50NunbakzV=`p;+tto4AS53Rf^Snjgf=c&z4##`UtB=tWK6v7$&>bH*D%oWeq z%*Usxv{KZJL>2oVz*d#oJ-(85 zYhh@r^$L6ELc-5j%aLU9jrgKmQ z2MK@nEYuz)+iQ2W^4sUGfbE0E8-1-Xk@h572C86Ev{nU96n#Wse>kcf>+tN$`@!g7 zb{;gXuChUY@nOzyP3Lpsj7u5~l>CS#wma;8M4vnieDS@2RTZZn9oGAFCsXHH`R7YT zA;y~v%|fI7jqf54^ZbU9uVEXGw>r+k`@`B+1h|atkG_V*_k}0y7BD;))zC9d z3~V)=ZQ&UWIL(-DkeAvR15`GMMp{LCUa+fZCY&2=b>bNOE zVOc|0h%(b$f4hB$b$@ty4IvgH0XuOqwkLw(U+mZEd9+qRDl3pHyeTFeKN(y489~tX z>t*W#jNOr)aDr$jq{iB^t$&*kQF~`3LE_&2N)g$lypi`XA{>a%N*6KFq-55*T^`15&^t;TBlG(pS zRKBbOa$BqZI_GhCNc9kQ%ZSc%=$RY5G2$U6{EKv|ZHJ6D{4aXAVRhET&O3DQqN8(9 zOZt8tY!~P3??o9l#d2jg)4BwRn$zbnCnwo}nGKmcC|z$9yFXv)4<5(=Ip{b6W1?j4+*oawnahS$p3wcyr2KBb1u8!k7FXMk3t$ z_x;{0nnVsOd`ByqW?FY{PEvIo?)7SDD>7Fx)IQTMU?Frrpk8-w^g0+TbekC6`-v(( zorugBNzS*qXVo_6?yRsBBh>9(<<)zrqg2BIBx)h(4B%1in1*_ZmyJHlB7@#j zhMm=&n^#EAxA}OnY*fP>>{_+$ZB6u>7@W;et5^A?@AmD=cotTpPMjyxJHi&2iC}nx z?FX_}`BU-pHgi|U>NQL5&gah`d<9!CXJ;;56;F`4j^lR$8Q>1?mrAM|<%Kn<7v+90 z$H&ENqu=B9;e@q2vUv2~yvlmYUqw}3GX19}kc865lq1A7^N`(LlXA5@jN_8tC6&#B-%ZLt%Kzz%dXu9Lik>`?>!KnJ(Ka)0OQNv zS!D3Oim6H)oW4(l7G#D;rQJlmFp6;>qXapnpd;4JeBTi~_LW+i1w4pMyD~B>$kppI zuZuO%`hwd#Yz!pOvGgM`EU)k?hAQfoFNyABgbdOq$@S(9aWjivvL&F#+5bh)A+;5I zEd|y(AZ~%2C`u9x5&{((AhI&S4|9$co_}yFT!%M%dk6{C`hRT|vs{;a853@>+CI)GW)d<&xjMAw7Lg?>e}W&jk?X{7^}TLp zUuv&hWbbRD{#@%-r`+BWs3jcAML-jLi;Q2ku*@B9#1>zHUGq2&8@ zt3&zxiRZX#DW_Ha%N=vqAiTkbaMz|NT-+#s4>FOJciHu{t~-p6H{Er$Q07BPL={NA zo(Dq28CoZZzXxC-hBB&Z78*)Ia|CY&0~dthJN6?8k$-_NNU(OEz!QdQ&gxOK9g%0@ z^d3d5obbMe6Ti+=ifu+~T(h0sr);&{7fe^IX7fnA)2EEiw*15OeAq zi}TwkBr0-<#>FaKFb^Y@@@8C=Q2)2U?pV=|Y5FhB@2JxSt~Sgc*6e7$EDF|)pwD>) zh9HPghzKm~=)5dMcH9##NX3ey3xBN2k@aNTx=942REv_9%`h?5kK^JH{GaPGKKleU zV+*%1rSUa;NJLjx<|}M&N(-w zee|~sq__xAcHq(2H|wub`|12&j^z~^fiV%Mg=7nJm^9OYr0c_%=gU%HP7oHKrdMvz z|0KZ#MEQ?k9&P+;X#_Q5&Xq&8)PG(1@&J%nOOSAPmV)gX`WRSq=}?}v*&B3B;&5rX zP|!`;%^KPLP-)t9YV>8KzZNwWPeX-324|#@=(;)g6!jewS54O~&De$EXW4QKN2BS;w!Jc-e8Kjp1fV5rRutqxno-x=vHM0#*zQX({8G_C`o^FsqmLp44%jDrKe|UYy$eV^_JRpLGQxeK6+zU5 z;q!)%W6?%=+8xXhuMLl3x71{e4I;A9|KsW=MwFsg(ux2-b3u}HVwd~jnq?RgilaD& z%uE)Z+K9YzH!X}kGdNoUt+%EzAFBe|J(BrboRD78iE1%>U=7aci?(vs zuQ9typMcD4_YvJQT4iES>h#D=LH#SYNeLd@dS0|I>PD1{Z1Glh$K}QAE?CSu;oY7U z#jB?q0D~YV@ob5)6Wqi~3z$<6tbcMua6yTU1^rt8@yZgE;WzVzQAF^5eerTN^g!G4 z#RMFy23;l8ks0a$GC))Fe4oHN2LQ{!pUJ9$uQG5-7<)R#1W!N2Kd_ijBpcr*TzfZ{ zRY-kmu;tv~<_gKMrL=)lgre6r{Qx1m!IF{ZZn{@Ii(gejbNtw7zTj9Ws{P^54c+V0 zQ6*T^oza{fquCvEZVZV}c2|bsL1?Pd7(O#xxCXJQATwMa9kpp#3PnGi+EFiVXkN(F zWt~0lF45bO{-oPfGlOVkEQ{t0ux5hF6d|KpcWMwqu{ah#g;F3YKPcnX9&3?$QD+PYxS9rfLeX@EG!878!rW?fN}=$H+^s%! zQT9yq44O0L>ah1-BiR$MT~Fc`;@`jr3kPxc7;>mjrh`@qg+jhYa3Ce`ng7`JwC!Z@ zT#x-!DnbYqU&gMH4ACiAk9Y8HB{v>eX=D|8twN&!MDzduW>i1r9-!h=O>k2n?u@h))fA zy=?M!rLR{c22;CZ;PV25_X@#g1Z_OBLyqyY$pBh}U}mh@>!%GU_V`=U4=oaxInfL! zfF>`Uxd4dqUjAFpqTCQ3ke54OULe~I=pG!4jJQ4Kj(_G=;*zXA#yPf=ixWAPAH>5; zH1z>EM*=yxXBz}qAjgL8c0&;C1^}+aj?gC{VkZ2M5{iI^u;@u@!0hlel&`uW#{aoaf;1LPDW>BG^J}Dha zY_ti~z?WB&>Z43-j38~C%c8^5vOi611(omxVJ9IfE{5_1x2_% z5?Lhj0nAX?^0B@vPs(3J)55_2D}h>n+>4^Oa{Wh{*a@n*bj}`Cv504(hMd7zbo{0N z|56m#dZho=B>KG-A`c?Yd3ur|RBj@9o0B*nZX+LVAUguZ6^vO28A(TeTL&QH7UYZ^ zqXUq|@}Gs;at^R=0mc9KSAUSdE(pZKVd)m_43Ni4u*S+W#=4sA4_k#|UxvbW!4eL_ z0f!DMK4FNBE_z#sPjIT5A%P%7{r0rFt4;m%!XMn+JF zH0Bu`$aK*(cHeHSzYR=5@FA593Lg>QAw$EEeK7zPOc~{B2DZrrYOSj0LpQ)1BJsDs zv%F+BA#&`7m?z$`Oj(#!M^DNzFt3|0z4+jgE&yl?oiXobBjY{v4YZ9HwaKu z&%>bf{5`B`&_#Q-ON)F&i>&*9t(0&^u(a|;0@&UG{@Q->pKzW^D&?OM9I3EBs04LY zFkQ_9j`eHRvKLjegSyj*iG4zyrROa}ovUE>`Rp)>QS z$HY3SQh9+jy7XT?M=3)9pQ)yy9Xo@qt?hwPJKBehs*ty@7vecu!7$Ipkhqw~J+{i* zwbm(*>!7s6phWhXWHEIt{wy=)yLT^a#-X~>jdw%t_mItqAP4e@eo_N1r8B}se89pQ}E ze?%jC0>jLU#3>oVnNep<9sf))6{pAwvW0LSLL9VEqd*>80^V0A?-XLD2LoM!V0#Yf z9pW&=;obD`U4>&+8Yr<~V`tfc@C3$3#KJ%v9)Cu7Lw`Ydrcf|w<}PAr>^?vsz=5+@ zOdQ1Xe;cs%ks;s>0l|*`0q{(*V9+dGAZY9%00hom9RJl+7?_01R38NLY#RHEcBjKY^A=q8e91TpGyo4Iwpr3FrT8BYRH2T;?3vdrC%tAG;{-Np!65(e@v#6A}CP-+|2l zeJCle?905k7WnW_38S4+(e>j=zXrfVh{)S^#-l{dZ&qlqc07{7A~}>I!=Mv!5yqU? z6eUzRcYOfTnEdoblig7LdV?)y?tmzdTmF zIRM^R-DMN|YC~t=D&~A*X!ECeafDgTc|D!>eSB z4Y9!H2w{#9zs&TT4QaOQm?E%tuA9z&i({EqidAZ{{);1jOXhQ%Kjv$SH~Z%fe(BJC;`-)7TxS_Alu?B(!z&;8A6I~ zf?EO$|3bAo+!zG-3>dFYmn_zq=zpwg7V6ADN$l%ZB*T|=K_5YZ9XsWK$8~fKPzd&c zE8~NT;i7X}0T_+MG|0zWTrDYi3=iH|Xi#%O{x>O9e>k?jW+*(AB@tmKhB+-MMGTa% z-q_$X%mz9ctvVp|DcrC3DJ=bsTm+56_ym#kz#9aBobkWf_&~}?$ny{)U=*Zu*ij*W zqx_vg32jGH;4;vs@Hb!IH$f!e(_vq8TC>Eihzfr})h(df(m1WX6)n>79nm=&6FV(n zt0d}VIJE7K=!w?6zU(aZdo)gbba zV)@mt+xbLZkdKA)kmC6NBYH8+5Co0O#3YEyxd;I+HEG+A@XuyL0>U3SH3p{iA0Wn72Y3$C$7gh)E^9YXPU zAAe^(w<8F)7Lt#;yiAaL0)WO#X2y~-lmzS^S7ag$a!$LBJ0VBrMST(h>;NBK%Sw`t zAGC#)x+U?CkS>gNbcjjGrSJZOXd)5(p99O35?fzNbz&?iagk@|$)QOs0p#6>~Y!H5jhBd@@8*?@9= zvIqF5w1^_DiOiv`xxoL+=l=zDxkO5s{}-MAL+bLFI+78DIFA2=X^#KH=&vsNpt_U# zL)gu7h890WD)a_&U>6|H@JO5zBMeSt2i76Z*y~Qo5Fa@}=H-4u-1+%`AWeOOy$FCl zt6gCv#6N*YpMZCw?5|ryK*+C%4+i5A0DVvOMl-_xVl$wg^S{<*7is11fWTA%Ho%TO zk*JPrtPRaF0rBS%@O|S~AHPjZMcfrqwyy}$7I2aEC8fN1EQ|cj>JQ>ZuD#cW=f_Rj zMY-8o4bEucMO68#-tCIp*0mOU3u+%nL2ELJx_JwM27K^a4#XM&+nZ@ninwXteBy#D zJo($u2;|ex4cp-r@$67BT59F*%8TjSTswapDAB*qs1G**=_z+iS$z1{d=>dw&-#2^fA-t_`)OzIw(-i? z!uwg-!kN6d|5@2Vlf1a6^GC_$^Y`O^=YEB^d>bvWTeNZD?>~pI(ngijB&q22u651FhB17hX+QvWQ$C zKH?Ji5bEJnJzw!xOg8Zl**C;>4zRcD$)b6(Z80RODo(w|E*?^UGHA-PfThy_DPr|5 z0b;%uC-1GgbED12WS<-XkR_c1;$1-A>yZPIG#T-4(j;Pj|C^%+IAvOMq`g7NzzYyP z1n35NE5uI>CKRUuW%gov5MUreM2ub3N_OWt2L?4QC`AUiDGFhT@g&xIvFTtAMh^&d z4H6|7r^bT@Nc#g;AWOsiLf=4;OOB*_rp{wynj&fdh9Xk{Hh57z10Xf{=c^$!el&%6 zc4s!ID1SLN6o{UiWSUa2YzQI(SXx>J7gU|1@Hm&s@{Y%r%8NT}^*&*66D^&7D9H*|+xe$sR4YjrVH_6o&k z>RYtu(F9bP#H>+cb36av#cWhBXR-LJ)C#Du73kPmV6@|0m>)809(hJ9J$^i~`?XPB zA9vM5=*WP84!-x@bT?4_S`g_wzWXa!)wTazHnbGaP12D-+Thx@Ki+hrz(mgg)93-~g!M+9EhN@Fmf%icn*8@yp&My5^NHYS7&t9!~Xzi)$USNo=R-J9@9MJVk z1M<3`0e$?CYlv#j*2J$x>xB@8VYOi5qeY9U)66k`S70qDWf)Z+>GHhlhZiCe@hxlQ{;a5o52i(!n$eT;$FkJXdHn%E;!+w?a$Yn`qVzIIkZ?(D*XV=pg5GG<2 zTuxWKTVwZ~_+|~<6XYEZL4SEp7^JQ##Z%$ra>nw*NK&0MNhJI~rLM_@(sRX2RIv(A z1DSZDOIBbYApH%1n}1QnwYn5xmPYlpP22woDZ|*bNQsJMA*&YpH}eEFBfp6JgP3%| z>@u{0iy(3D(z6jV;2R)smd#6(dU22M=g0XKYFj$ROlxul5V8)*=f62z|Y6l`moi6RIFPWEjq zF4%?_C`6y@g~{C#;>wcig|1TDqiQEvVoDr_8`PX*;aDeK3L2&3qR%zQ7VC5uT@jtd zw<4wbLAe6CyLzG@Xei+CLiPe~ATOo@A7Bt%XF+Y)#1s||6$b~?#}Md4ousK4620Fh|X1H&Z85qU2c{1h>pMR8NinWlsVIkSSOQjq=9$f zp{4}>9)+dR&KXNE|J`;VN3!p70B~L82pXDq#p?e~l5s6u>-iWI(6OGw%$2gd(32nv zh*mFn=d^2V0>yM-g=WNiC(2&(mymK>6BT)a^r6N=mEuLxLy5|djDE+khsiFI--*Ku zLnp8a&-`~e5&qj>Ec99syky}u((pVLbZT-!T^~xzNgP#42wHGocPWKz9LHabE+=}_ z5~h9u)OP@u$6tQTCJ67ZBo0WW9~A5Vx-It*7VfGE+Zlbd{|^9WK$*XD958c&rTKhBIszmP8IkZGAH5M*?i_S6v4aua;^SjD zBDKzD+XL_K4M{eFm@etecfrbcLEf~xz_$ZZE*g;15ZK=qQ95msXON;M80QXMumiH2 z_@~!tW7PNunL)PTpLM4_q?jRM<`gq0@dT}Edo=4~8u8DX5D=gZxN=BBjo}j5l*9;F zxfzWb{{VaUNKViL0If*`upX^R0}TI+03FvRczhKkJPQDb(EwntJ7TKVy*(;fceTpD z_u}d){k0Rg8`l&xk{*Wz6vOgWSL=uJbTv}CE!9q=R{3_4yJ$(T9%=KeNd`?@MQseZ z4UR%>Z~YR0{VLFufLL>XpaIcE4p&j>(Z>vdhSgq^0x|+5270ws!hMri_nv5msJ*G)Ew0HYWiy z2vVFa17sZ#JvUg=$B;f|q(V=WDGoTCQKN1T5WhlLGX;#9w-I%OI{m(xDF=D}yBh{toeXxN3LWIF#G7 z_Mkrmlz^%7Ea+nmtbrdMvUqEv$U$w- z>CTzRZbX2?Uia|bTa)aQb`wL;;By6}GXMhFEf&!0wO8H%fu2k(_(aWG=pp*lp$-mN z-+*^fRm!Rw(w1X84RDLFAUJGutvb?9>hX2Qn$vn?tr2L=7YHjXJAh`;M(Fb8U(xa- z&kA`~$g^4z6d?2v1_+?vhJXXqHyQ#$MjisvK^~1p0|FF;8H1BmyN%FA=pzvB9I_ix zFv0ACj6b6x23^h3aAX~c07a1nCQ=BAz6X8LMuN36t7pc$GYED;EQdI%k{IcR1E2*|TS zp4C$9kuCy`oFPU&#K?!(A*gROLaX36My1sjqQj&$>hM#8 zXp6PjG4zOM(BVpy^A3OAvKHVASm^W-=r7>3gRMw22QGcp1*~+jt-46-A+3kB-fB(s z9)nGqEo`)Pzk?YHX@=-pnJIJ9U(5_?lXpg>n23NiY|%H?)T4E6q0|jK=qNY6`vHV? z!0&P; z)FFe=;|ERI;Xt~~2sl_)ts%l3VTB)P43LZf_yX*$m~tWMvCOKD6FNBl%MT54SoGzA z0eA&+>f(2IM8He?%Q{7Rgqzm#IH^8L2J$#TSXG=T3;uqh-{oh>JGMdS=@@}O(P5;s z+e7GMAArOMO2b}gBY~)2Cd^n75lXv*q!-9G2mFBS1pnWnn|A!u!>L3cOVGV5dUdv% zBPL!2Td|zkfZ$;b`4loEJUlnB8~%_X1&7ju)j!8iG)w< zS&QC_&eopTrKFdFNI)LO?;(Ko9e{-(!2}6P)wixb>1`#7t#JYR_Y*5eKrIbES0RM2G>H(;l4nXWo23_Yebm z^Swl%M>Y!&VM!loen}tLUh5TotZ0>xkHk{lZks9O4rWB91BVXj1IGa=<+e#2%yh)r z3(yW}O!nJc>mty@7wiSkTal6^J&)-j3=oim5Ghcs*O`-wIX#gkjF-(X%(;H)4`V>6yf-n86MywSYJv{)uAdEmB`?5}ig=ZxhGcnv}(xUApV; zjz~>m(WmQqFWG@h?in&M5s5+|3yv}b znxHK&xBC%TH(+zlLDC~z2O~f($WrzoV%BMMu{t1nL4mIAz+*3w4@`0!>qS>XfMJ{x z>`4Ue1~k&4m2p_vSv z5KfPl6m|d1NGpN;XTa;TwZQYkUxVAf7VpWOQwi4^99N(=-!bwI2R6TW8*#lwz#kn; z{79)fMP}xyF)Tef{>7)p@e||sL+|+8T^NX+gikYepyu8}Z9 z_8A!np*tjcmA*tS5Om&>$^%OgQo=t21lm6!vw+LYGh=}LHdx{V+qE;tR_p*2J0ygD z$#K$~_Yr6#E##)fYl@!_Wz0_hbZOtkoGct%-i??Q#=Rj_pdog{`Dt_ zc~Bq>?6ZQ-2*ysWFzD6N#`ph|AtFK){JGz-wW43ZH9$=*00Nj+1Z*ebk6K{#{%3l; zh?#Xau2CiUdSG9pn!BLV#5pnR3j?yILF&`9C8lhMfXSlB&XA<382@ldj3mw$oHS%M zrq?4L4vY@qs5ivl;T#FX&eP2`uq{v@#jNnL?lsvvsy=4Cj~xI$rqu`Q*I$BZ16lz# zXaS567A=4}X(tc?&a@NOj4K&py@wt2XGpvcSf zZ|CUkoO(O&A(C|X=U|}cINRo6u;=LPoHXU1J9IehseI2LGd`9^JdGk5l$jImlFy#w$ZGo;W7F6XD3CjU}kdhl+!XN_OL!S{y8=V=U=_24i zk6vVvHak;mN3YSnCAzny?kxe%OPb(ikM3|#1YKJW*d5-mwIt>cU0b4S%h7-o-%$=k z$#RZ*<|_o0qN8((&Mir6aEZxVE>Q=lMbbNHfl@%g%;R(iRWm1L6mb0Dty@5{2pt5{ ziYKdbpnI_QSHlIuiWK0Hh^1U%1Axg#K&Bb}Mn;gOD@@O7P8u!XnK4BxOzH|9SYaks zOQc~ltw^zxG1Oh0_x&X)vXBv<1u3#1c0^Rb5@$Zbl5|+;5{L|YF?xbDED+`4ghRkl z)x~#jfPmjUB0TYXi0>i3hxi7Fw?PoJ=g2e1Z$JpQSAgHk0S*HXp^t#?-kh}7R~{X; z_y;rw-JExb*uaG0pS9N?ElF7&A8XQDUlS#>MA;tc!r(`TR9=Ww?2%lE)MWZd9(V{8 zfjS5CE94N-15Bb^zLqeC)WHl$lIZ%MlA z_#lOqQ5zo}`atufpM`(us9PZ*f*uKsP|avYSx^m79bM|v#onAQ_LiVs76|x@ZqEkz zJ6L%$dKJL6Oz2}oQma*y3qraJy3)r7P1l?hZ>WoNl4H$Djzz>by>P@v^hl`+|19X4 z7e3G|Z4CUg_Li#wY0ZGI$2zRpG?LvDdKHP^T{4z|-)Lvu!-Vu^2*`_NS`R4Dn=sJE z3xs7Cf&S9_FcQatOkVf6w1%ESw&?1U~_Lu^6tGANDhLoY*#{-Rsb88Pbk7!XBLSb8a7jr^5;{`mH3=K( zWk3%|Y(Ux~0}?%w#F3s7ESEFlD**VUKSG2YD#gK#Kmy4b!W_gM2_~rnIJRc9C1R<} zd`=?D6~da7r|3p|y&TNC^eO-!7%BdlVRgWw4rvxJ)w4E9PFHI-E>f|_P6HP@AoCY( z1bPPG(K7&0N1Y`CQoBe1^vyvy0dr!lx}@vhCGCGgp|l@RY>9PTVhKTaf=!(@Ij;&3 z<{WX4F4hJJizXLH04kB0B%y%*IbD;nSC{DM0+Rvc%(zVc$Y4!O=$cmz47Q@&C_`WP zA85^O8L^3Yc2|LepLh}c(-9P*!jjedwu>-h8<;n;9mzQbLyzx&KYz{x^a9-vsV|6S)8XPT>AGVf$Z6*!GEH?T`MOjQwvi z_J27UOYcJew6!w`cE?UM~W2guxIacG+=N|!rIg`@27n>~wHcwC7CF83*dydN@pPpzm zB`Z=^#UhSw!duZN-5#5eq_j=yIj_!f3gr%Nsf$RzR^tgDck%XTk)k5A`1W=u^OIwv z)X)3Na~_q$pU>p*M|$|l{AiNB@sml`XgI=|8*|l_p=;c0wQ%Bvy>r^aw!l9d|62?? z3bQW&?MynfM)#Q``cqFki_4FL`Nljgj6`{fV|#w<7cy`Ud+uFHN)TPU4>|Y)wEV#V z6xJI1bMBc@q-_C18q1Q1-NPYr7#D~Kj#UrIR`c6y{M{dQVq8cfWDJyjrJ3pyuYTwyZDCo z8PJCCP+IOUQm!V0$w&eyUk7tFQ{Pz6$>~SblDH{gfTAzcrgw$uKdGIarOl>WfD6ic zaKHFK&?mLB{ZZHs)WF8wIMe5#{fjex$%d%#S*Kv|;C`&|RoI$*z6*C4MYBnc?6!BC zWR?NpvGF=dqd`-b{EwSczhxsPT~w8d0JFNB^qY6lp0e^cO>c}3-v`)oC#w>1PCnPm zmoE)A3D%FM&Y47~zTfnw_2|v!?5w`=Bgc)&CoC(1n3&wfI^)%a+|h_z`D%L~h(b|K zvKm%|#yyu6ba!WG8#YXq^mdcoo!{(YY|hQ=8|M!ejW%&(*N!x;N%(eoz=Gn^07vn<;%>KD5F zeG(#Xa4kJ1Z{0iQjr{EFwLmTcMq}X$n2q4Uy%tOTOvX=seEw;(+XvcvCJhw6nq zq+b66=iO@u8(;PU%bNv%i<6&CnqC(q_tI9@w_wedn4w#Ir&bBxjo|)caGm;>SE5_Q z#gcnUMS^79!)0)p5f(BFoj>f;J4OcUlE}rtld^MM75SI7B3cBWQl!a=dC9L6;>?*R z?pRMQ)dH3=MPKh{TkZ#&sz9X=+%I-oyV4`U;gr3JFg^(XEox!u!9Qa5xC2Zzm+gdLr+;=pA@6Je0}<|H}wg`aPb7WKqW7}~cf zLTece;_%UMLd}=M$Ox+O%Gt(I7DoGEB7K9W54$j{=kjsdC}k&43X%xWf^VNbg){JD zjmT3zz6`F;HxCcHFZGysC5CbLKp8xaiXmF&j;8zZKH~D4Yk8j9t6Mls$;ml-$~&NB z7Si!~E}D>lk_r%!DCaaL5KoD+PA}stg4{>mQ}NU6uUcmA!(2Kr-yaSd)BHL3@;Oef z?d_&kW~+cx=Hty}evZ>UXJQ%`8|cdRH=8LMf`C*ekqg}z2wH$c`X-*FoL>-t6<(%S zTms@N2y&LVrdf3unFc~4*5o6G%`BR7xkkHnhq>*tN>d*}77gM1Uw?L>Jpb|pjAY&(F; zidFF=>5)B{lArfzyOH}u^zyqf&7PhvubgoqT5f!fg#WA)Dsf3(!cq|7)Fq-dnkkje z6#Azj(?E>J2~)d@im}wy-VGV6SUis&qs@IV4qQeJ;cvQ)lVIF(?}KbJu8B5kK$mj9 z!fQV#sy#U8+s$r=lm8)!vzU=tIQ8jV^LIG`FWaXdfNZnP@8|oOc#rH36vzo+AdPom z9^%`2?b`^03a?L=)Y`b_qF1@NlUgG?sG35H31dXh1@RT^>y2hlB=sW_`Hwd^k61>@ zj_P_-(Zll%`;EhclUp?^t>QSPhqwf!ZjH^5NIbdUr`gHJ;N%-#?wgZ1Ir)a?|As_~ zj44lncR-s(TiWGJp78W!RK>H%nl=&7g3`cwoThtvI%Se5$La!0dW~qa>_ZZyOrjy^ z2T{X>&7hzit=3tTs)0_p4V@u`DzD@1{$5vxGl4oWku&2PGjmGyr*{8T&q^yjxiO~d zgx8pgmWTq!dNm_P8RIAsE7=4~>bDp|VZ3_FnbhM`U(B+^OCI(dkHHBfB2WFj-8m*K z=iOs??}SC4uwu;HINJ^k7OTh(gLn_sFWxh{3Bd94^i-=&($68`RXJ)iBdSexiuu_cC$4D}{M^31na-%Qg_F za^UVAx4aRGrKCoFcCQ+~-Rgm{O%paO0T66h8xAjWN^ZnY%-1Br=x(Ov4Vw`gXDoXR zD)FY7G(5MYr#Dwt85~P_+!k%`=yvD@H&=B362}k5uiz8F^+RwUW?7KD{8mZTmOds*!vIS+{f zxo503(bJ*6tdc8LNg{1`;e*WdQ@j*dnA2oz@i`&Kra;p?GGA4-5}PX$gssPqL{5<) z&;rvuMIV?Fj6g0L$xK!JsW1CyT!k3v7x`py=m8|TR9B8p%%w5Nk{&yg0^IWjmMi9- zw&dKTWm9f$gh@0_eAbCTwSE{U{?XMSYGfjLGBz&>pA)0w6erfn73NW7i8 zIqE9PT4bGmASh}X;o422$TKZe%zf#7$Kyfm`wQQ0h;B03iCA~0Vk0vV_x7p%XEFuFP$vY56^%qp^n!ROL#cxPZZ#3Wn^aCi=mvfc*CZE($GfBXuoB{zNR0ETL8WGzd#PxHdj zB1sA0xqqWw@8^Ymf_=6?TVNP27$-?)4B!HIspCZ4{Y%&uZ5-*ODw*qqeF`Ccw%hTk z5SOf4aQ&I$fdUc`4I~I~ED>)Bxuxa77{Q)T2SpzMf16EB2>o7fUOUCLV`=3==_GjA z0e*r}xS0TetQ;0-*5v*!N-lY&D{FQOVQ$=(Qmz&4R5Qamj*d!T9+frgdF| z^ZH&KeXmG9EGx*S*`;?irjC^!3nJfJroUuf71%RwE}GH6$ zTca-4IAgJo!e4YeVuhyC*dlU_?t}M2HYr%N1|}6-%pUkmG+t9cZwxL^w-n2Qe355y zF){cRlV>-ZqvVXrMZqvFTXYFBAd}fdg1}~<@&mJDZOpR521dFJ7(Z*5Ny~SRQS3Zr z+#6CGo-t6lUyp2QzMore9?uxH@Tkg}G8tE0h!ppJED)q+jj!W`UxfuP#wz)u#cepr zlfIhvbu$0bLX}27$6#>-Ti6g7+>FEZM;;CI%%;(($<^(->}H})|I*r4x1q&JQVcLr zwKT2KM0C-08D07GkHxB6-E^dUSh5cM5I6!;Qh@k*lYqwiE6#c_wu;6vil2n($#w9M z1Y6+u>+=)Jn%xB_Jj;47An)Wp$nN56CYuX3*XK3sG*a2>9Q7L~+pq4UQM{^;Jj=6v z%w;qC$h&_8AG~B9Me(v;7Kx7sK})+Qm*0Hjo_zDol~XaPW~l)5A}G4rmEG|p_{2Z~ zZ+uViME0SlE>z3fGmci|vzz6rK&3nYClGsR_!Ou7jTb^N6i=`qvX)& zRI}-d8BuhFhL~`E|-4OX3q|l z`<&zaD)6*MXCC#oY_n`G#4&E4&(Dk^W21=FD1_W!j-r%^vWv0@CiYNs=WGd1Hf~?? z!@z30VM+9}LrGYF!e28KQIzCiM-X)GuztbzYte;hk-aX*rzE~9%Pc82zl2dgI}0va zbaE9oGN3*r8Gh5F8)tl37$%h11$_G6Po|*h$0R0CrY&ox>U$+-y79RnAaqlA?{1jN zaRqnq%tGA=sXWd34O5c)nkBm-c-vV^Qbr^dQ5&BvcA;Fc7u4~eL&pjgvo7mw4Uf=k zdFKUDbkM-Vqy~AQF>jRPrzf1*G1K7t0bEL^PypZ34i_mK!U~eHhw1A6A^TF7+Vm%Z zyeURr4Ks>a(t7tN0lx+|WIcg^HnoCNfoOziNA@Rk#!L&D{g5JfJ)`z%Z>ydKrs`RK zC78yXnz2u4@@Rd5=3=r7s=e8C@@1_$D=vezUUmLLie`~+!b}d75v`|zy1X5q#!Pc& zlLY04)(aZNTe zY{a><%}<5;?uKhD)gNChjXip;_orN2u|GEq)gQPjv%U^80H-MLt>}R| zDa1gGju=Ty4LH{q4QEqzSt ze|Ds|j3=w?!DKMe3oV4SpL2@fT+K9+jheTs`~~U~&4C1q%$5KdoMaM@7&Gz8ArfdF zX9x}~q16A?O5|uP(F@j?AE+tq1%z(i*)w5pcKMe2CG{$zh0po-Wtt|E>&pD zHKm~)6jUCal38~nQ1(==e0FuR*3(OTezhAh_UC*brFY>CsXKWk>uRXdOS-G9B{LgO zpv_thYuQ%;nzdW#N7Xu>oo#o)Cb8B|qE;Jn)YBjJjJNV;M&Cs7bvKcud0qUD#$8#9 zISqawNol(-b7J|`7Xu)9|7GT`lF7&k&4if#lGBxX#f0;N%E z`Rfa&{gKv*?TlIbuKsM8Z=kIa__8O{n=$5F4SlB)Cc9>H;$-L7$>#GrV80!^5PZ9# zGY!*xbGf5eI`6hg5JX(?5}Cll9>~ev6x+M$9os3&sE8luc2aO1W*^cZO)=2dH}UTJ z18vk7?WY%Qnf!ANPEes8kfIv^TF#_`&}O0xpqs}6Y4V>qfhECi%Gd?uvNK+oKp`sw z#w%L=QwSU)CEt!r`L;=t=}M)TiXxENOd)xr?jZh6R-|KX$qs2Zu93{|dG6F3M*dtn zDYMg4+~te{$e${@x9pBW?piT4^}C{P?1_tA+9;|B)XnuZ^}a+;cXLnYTwZJUjqcTt zTz?yt{wTF_`M1Mg|IlKsk_5Yx}i;^B^8zZ z)VDicgpHq)FF=U|5dM@-%?%_y zJw>^>b&M62c9Yl~xaNGgvHn5S6MFV<#(asF`bsFVch$qb zJ-@@__qAc2Zbpy-s~UZCJ6}wrTU@(bmtVTb8EWO{rhtMX$ulJ;8j7waL6h_P3f#F&D|eHU z7>HI}me{2l!GTw0pl5~t%<4`=xd|zH8Q9lo%sQ0Jmq^Cm3N#xN+H8!Z1N|_^zp&K< z&yv1O2Jp3PzRkmj>`jz$JL{%JNf+fLL2?PRZk6>zc@>3U#apNx-saUBwkaaIFiN#4 zyHvtL>?fD$6*1eWCRTQm_7^SNR>?+W5VnJ)-3|V5;p}X4N*~R%*&e6k%|+|!X~S{v zX*NyAi1)JDoI9t@Eaj-GqIy7hNz3Ep(ZF<^H`|P@ zb(JvC92Qr|xKL;RNy#`ejn#5!RiU&iH?shSRPZW!AY#hp>|zYiEO ztzjWH3Lil89MOyv;6oQ7mNexe1Nm|pY4MA}`pX9|msb^g*Pf&nU@hUx%66|aG3=$} zOJ&9zFyaDOxzKNhvRrCzUf@8Gfgz*+1j9-f>S~)xmW^NB%yyPx+y-GZ_-DXFnv^1rHl$}fr)-?iqSwHDvvDp9Sd!;=2WdgYsh($~4F z4SNU%GxDnXad%!-#j!5pp z(l`EIBD2k#8!dj``FoN&qr1vd-kZe2V1|{wi^SoEE-cG?$=R80c<(}4Jt)}ZJ5@aWO_J|X)$I+6zwy6Sfz_-PgJgoit8sv=`r#kf9X^Z zm45}r=@y7p>kjIrLiD{*^<>x7z7#sLWhZ32aAW+`~+&~fvOK^c$AG4nUI zZyNa#G`^{wh}b;ys&!x#$5c3x)bs>)udD6|jQfi~D-AMr#3BJ|imoXK9d$z6J18tg z?i#zY9|7x!Oy=@uSv`}?6Ikvx4{5Nt3wPH^AfGhkV%kSYzL6QdB>}0dUp>h4?B=`luO@eBMO&a1x!dO{n zvZu1@Xxwb8Q79u;G02y| zctV!HGE`euzu!s%vg8<4zFFScaC0~mZ-<{d-pHKg*Pd`y*U41}Xqms3mmh`#q22Q7 zniXvW+k$Tcjj^qq6y&Z_0B#CeNXinHNLk2ACO6JzV*~D`;gPG5fi#LWIuUmP7Bv~s zrGS}BT=iM`q|DVcippT<+oHZU zm*38_{mr%@mig{u71)yvx*T+zrpvWT2qWiW|K@0ms)33QbX7V(Lv9>(my+qRt9hU~ z3CriZAU-NMhmfYrnM^4tKhpH;$g(!53aKif7^2Lt$eI^GaaDCrjU15@DR4L@hc^xs zI!ovc|4sfN5yBOnh!a6$G-EXKFv%jmr%&m={P=ysEBV`SHW6)JG*7Pw2-I8q=qz z`qww+kYJ0PH`vw?v!<14OjyavlFyLZt9ASlyv8R49T^kmMEXX^AtiN&;1J*9H*^Vr zD6)tUzLb$9A`FodX%&W&Sh!FoRZc>lQ6>cDOqSe_8dq`u3x-qD{qjCi{{m8LSj77Z zJ@Y~@vu4ona+lSSbw@4k3+Q?}_Vpdi-Zw7V8HT*@i9dWpqu!&l(*%5Eb3bMy6>bnN zn3|_djVYD>kea6)l5{BbO5EHXHzOlQVr!M?=xW)uK?9pc9S@pDD(WsBnMZO_GO^xJ zrqkFD#yB{*)?Y>saN`nAqYxzr!KAE&Qw(c%D9>@MN;0n(V}a%J~ne>aQsQYf^=Rh%ZN6?J%l%5a7~WgSWNEa>6))n85`rNA5AjR;RW$h<;x~qC;-+=Scr1DZQTOT6U_Zadl7QXL@=twu|wg>G}OfWbv`R zM(Mw1V+DC*1BW6wr_WuH6RQwdDm&sFXUaNR^;R+t0=1ipgAg4GetFnLMK$DNMYM>= zgqeXQHc^J5l!}q+Nl-Y`FQlypf(dX|ChRmk*W73MqTK9{k`1f(6na=M#z4AA0SWD+ zn+jUT4avR}QJT|wBvj;?2~Nph$j7H-t^~6VaN`!j$s%C1zyBB{wW%x^pkSp<3&2wR zxfU`9AH-l8#wW=7C|z`hrRP0!e!-=5nUe=X%ZPpIhvKcPx`543W<7P>^jI?oMwN@w ziXsG0Bv|I^bVcdAVfk)Ksw9LV>mW}sDCd+bqa4db9tW$uOK*Ho%Nb(~|x zmmx6W=1YlD9qtP#QEJ7BDRibsPck9&8Qf^~W5bkSq@wc%uN2HkHxlf=I^KdssnxV3 zlysr%xsL6*p#Du_h~?3K!ewr6l*hllHlY=w&>=YGn;>q0tdASM)f>$Y?_Fl>+$EQF zhSBpQ6JK^J)m+JK(9o~vp1alCNKL@DGahRbmt-=Sy#I1kP zRbe=m{`mY*DnLm=V#9i8)NDHAV-0Zw7N(x096-YZBQvcZ?L~Db2m#Ca5nkeG_>xhhdKT{QM8E-P-&2=QTd%5#60VUdMF)p4)Ce<#Bv=wy~R=@SNIZ=H4Km3xoKP zdFtHTWOO0dg2mUJM%yh+jp%37?xI&MP%F7jC?QX6*S}j7G9&p)RLQ%GN_iWE3z*j{|PNagc#6!7cM&_&)Av- zpdaR5<&6LV@okA@=4z3i#OM7Y7K`zH6-wAm?OjL_QvHfvni#T5lB3e24&^y0OTL(R zN^Uo{!|BCBOn!@tf;()+EwghaA@-pvPRm^H{r9+PEN1{VG*Y_sq(x#(iy98W!qqBz@#x2UwB z(iw?4!*UJ{4IEJ^w<#h{rb41LM`LXq5ZKmlt{=*0ArFjBNqK(S1SOF#sHr%o90Ur{ z1+CR1Gn=z`QAjV;RnUB`Uh3%Ath7F*f7m4EA#D@Wc@`{>cq4!UdAG-w7B68A@^J|n zh!Q7KLfYEumL|Evc_c9|k0`^r3CFpquMlntsb(TtQkn*_75cFwoRP=o#gq^xE2a2H zMqiDSQ=y*Vaw`rjGL*P7j&v)FUAX-@H#Ky_eI4I3t4ZQn!Q)n--*LvpYJU#CxSQP$ zKet)3!!PpGNA4^sAq_w7fEiMxZg!OQp!66tBOzua5NbZBhEK4JOcm0Zcb+EO6*ojR z2|*}<%K1R6)%?r~OLwSbPa#eJvbhgP^Vay;@M|YjMj+yvqmGMwKXOx`P`tGyIoDLh z!InxZ;FW?*Y!`3edD*=BIf%S}Np? z2JuW1mC14V3djbcfUMIvPf{0p8du6rT~Cq(u~Na4YE<^42D8gXi{ z(5lZF$IQ9>hM|NKLdGMjo+YGDtluTY1@^lDt>sL(pj*?Jj2g0`t0^_bQuWL+fw{Ol zGxzbpDRdL|lcVdCF_0ojBAflEr{r8?Azs&G<{RANq$r1(W%VjoLk!Rg&>srux2G~v z8@_n{{d&V<#(D8#^I}Gs-)2RuSdnQY%t&Qs{UrEQ9^qxPKo<>k3qXs;T(WM`%n+l? z)}@^up0Ol@94F6E?7kF|J*!}Ds3bb-O{uikL}?;gc=I~Xt0p?>pIW|-ndI+eM0e~rPNRH{do$e4VQ*rFSK6!>IF%U7Q;7F-ld=%vgr+ zAA-or&}JEIjwC z@>xHPZEZ3f#F!`R7%ZF2m`^6FVQo+LIUxcr(^8`r=jBaHFwf>9oWvvv{2 z_;zcL_U9~|YhwJ!6PI*D*xo1z88SAiDLQkd? z#13PwY^=seZXcEYM2P}m$@cvJb%5GE15gGK{f>a8fJx|%i|IG)?FlG*vy(b=IUw8q zOMz@_0a?Qavb?KMF0pg69c5SE-SVW;8Fk8Rx4L(-Te*pL^0q16 zhrIYmpgBPJ12>r><)N>xgKeBJsjCqQIw8uq)l8h~>YPWP3X%6L;@fNAlk&spI_9&b zl&92E0EQn?Pdmq`yCm6LPrbzHsg7ZBuY&$pzjkOav6{R3M8+crT) za7DURhNxU&3YOEhjH4KqdsCg@O}Eo)PftB^Ku4dmhE*%GHxi_?TuvF{;)6N`l^jVN47EO^kv+@lW{{aHgr$s z8>(>(Rleb{#p61yUYEz=OVl?SwM73$qdsr9+eZKS9OFyH4f&jQJDonS4_`w*-fmaU zU$55|_2J9w%Q!JF`093K+=%zD-x+lIIQrdokI#L-*Xr^%=xZe7#Cr65UaK$Syw*_0 zwN+eO#dSm*z4p)(ah-w8*AuXTFAt|_-g7~$0sN?Y0cq$X-X6E3@hWFXgL@_jjybF6 zzdzn8+$!2KVyrzZSy~k#u?O3{Ono%18+RSWaoLCqU6lBf)j$tbn2G58ou+bXjuI-9 zLenX?W31y%#SD3)Xq1%VIw@Pc)h%-aF@+Lf5*y^kDUxpntm>3esLUztk(ohVQ|22j zy#ylnX@(yu;gjQyuWlrwMsjgMa{J&iyyBL6QYZ35^j2C%J*{VNQb)gY0s{$?f!rM)>xuq!}qh_~JoCF%g zn0GPkA^nsIB?UB`DqnFTA3N4r#z$KZo9Ru}T&8TNT|d4GBQQ0rJE9B9afaH}$CoJQ z4nrOA)n30almAAHQz@ELsYOcRoQCmJOghHSQJ4}_VN!Ks3iDA6kd$whAT#EnURWG` z=WS+l_>M909Uq+#Y#*oDgsvtZvFTGnkw+B;)vUbK4~4mAGPC8z;u&ukx$?qmM4^J& z5l!N%Do6vtUNiEB`W-b{@!f% zI}5BI35v%?D+f0TiZR#>R@9*kXI9}fbEimUr(#zOgtPg09J^ApY49$-p{yWDr=*Wb z1%3=3f=yPhoz$$#fSGXWjcfmB&Dh(zf-)m~f>*7RKt|>>&br%*3i1QjdB_l|Btim$ zlxtAVe+#oaO4QvF-96f+jOVetQz)40iYTO>t*}XsA1coUyYKR%>3>+2(ap3n;`b>? zJ|`hgD(PsCdaNRkjYk!=M^sWc*F{y((pD%fSLl({q*QenuRQ;_Cjr?~$&5)uz)m^JW%?whTq zofXD_wV9TT_sY-4IAek=C{8$C_5A9QTMP61w1Bnk25K)!!HF!(z`FsZuz0h_nJ98F4^H?pJu1(nJ|CoNyd7)mPW*p9^Gr!qIJjgeXo-iG?VeH4~f zoI47Q>Ytu2uS~RCQM{zv^~)=RpwFgo{p0)()B5{l`aW`A-va~$G;a1; zEK6sX-qpAmO&3pklz#&x62*`uXdHz4v&bDQ5r$DFHp;{rgG-2~XKJwtVlSJ0 zm5aOU$?1iw7voZ4Ad$VXY~f45xjcEFUA=Z3GqK@&s;hcu34mcwY^o%HMjlJVR9d!F zqGr}$kX2yD{uUPwml9r%=PGb=`NBnBi04o;<{yJyyfHkE9+z4dW#2+KHBWCBo}Q?F zGQQEgk*2xQ28-G6Z?BCQakE;Yx_NeH7;F$1y+Wz;*6_3K*u0hy1dFv3CvU(!SUqgA zJFcpd(A&VAy2Zrk|79*s^G)T+4Et}4XJ|ZIaz$D$5^Gysv$Jubx_X6qu;z+fhtVp& zWr`>DOVU801H)9yFkY7NQm14&K+X)WyV$eo^Bo%p#8p!YSxI3?PmZ6h;D=(FIJ%S0oh1el(SyhuGY7%R)fYhf3g>JY_xv{&|onFKk_ zZ*2jOMhsilEjpOF;MjX6V+Q-Y6Pasw=mS3i(nZtko^ivB^S zDCj`~b8+!g{7$;GC`4KB{bH^ia!yx|Z-eYEzNWr$JH(X3xS8b1CGSMJ^(>ME?&&#e z;i603JPN!^s!@`(BjDELyaAL&3BYFonwB?t&>G2o7}5QU>={qscOSZ51;|##$rr0~ zU+<8f!mcK+M4|wOFHwn(RMZDi#pMXj{A&@@#tj@V&R}AUxu@jfIt$Mvp z;@$42_`%msqu;5xQhce4_;f0S>0dT~F^r?7@g6MB#oUXDQnf%xTXeg6}N0OU}H!xFW>&B!G zdE(p6FIKTsHz!_E7%{q6#R_tsWb%DrdAN}si`K|znQ#*{tw}|uaz_MonQrv+f}gWi zobuAEE93oEU~kT1IfO`^f~ThvH3Lr{gNETYYp_Ole2w6~3xSwS6$C;4&Nx?_YR_mn zy$qLI@o&kuo=VM7m~)*Ph7rb+ohG+8%B!nwTbmozCIiG5vGcgmRumd+Y?}*zFLa8F z4K^CpO&%ihbgryD(GOmn-C@&RjsfKL4CxLTfN?43MZ)duQskj9iOInR$;ulJ+n$nL z=$IETqga6@$IEJUTer=Ku6{LZ(|u5$6=n3`pOReHeGQ<(*{vl}_iSpI(2 zMrbN17wzrcwtB3F=(&-pU&NcHyG0SJ;UP7&O{7gCH&P4sFPLYt_O5Pc49nIfb1X?G znq>Bh^w-R>M|1oyo~YDpzCsB^B&tIr-{r!q9HqjXn44=VpYWb)hi7B`tXIVy>+^%NbW^;;uhfeU5PscsK{tveI!tZEvnz-el~{ z3Y5Q6vc}Aw=?hsBHwnS%Ek=IF^hkkq>R2IJhV0VDs`oE$@40cxfpRNQj0kzWv0bi8 z%VN^4xFftt=PadJ9>kkD7v#3!>_|?|Bkp`#64ds zuK;SVvpe2rkutvtHjpvX%fpHDjGGkWP;x5lbuxQ}_Hty(zqMtVRf?8k^HF?Ln@ipM z@w92$CLY^{c&)U_p1`2g0hhKAC7jTi<&08t;r8@CLHW$Hsxds-6)G{;eh-j~^OmV} zMP^6Ift{wb{Mb2g|6<0mF0%_C_sTx$Bj2>roy$&I?Z=MWvANucdEChv+sN6n52Uct zbfd3*by?ocHew(_aqa>=cRH6nIc8ln{=gW&8yuVhTyqtgAMos4~qL@3WGAXeqEXzd;!o+0MoLWKoxCyc!!x zswx?_)eHsaN%%&a0G~7((oCo=-w#Q2W!TMgmB8N*4M$n6N&F^3C9%T{hN}ySQ_@Qj z6g_efxT-W9LH}oMn!|or923R)al>=Q`8=&$9>*jb>)KexEB*kYczx(R2IY1{NWPIz zAyg>L`@L!9v6WrAA&h)#&*UxX*r^#D*}FM&&oXV$B(UTC9R1Mp<*%aHaZ zP)WpmfS2+{5d3 zt6ED~WT_{eSrz{fry*5V+HtPgWb~Tv%K-Z=ATb>9kh1p>`DNpn1Q&iZr5h5uye(Qn zCes?qp15r4+5Q`^vkfQQ)>7DxSaKHEwa1~>)O29wmQu$&_X@}%Vn`BY9E zEIX#n!rfMkv*aFH?9V%zm=&Hcl z)srAK;r?Tv>d_o=!(?}8LWY8VVGiCS-nmS4&a!g*Y8yvsmTbaEH9SmyNz&1s^&1YI?`tKb1@%>jx>?5pR6zX|Z*Fs0DgTUtt5c>dOF^ zZjvJ-5~ws{k%lLLl3H_ss^+K!OiNWXY#?U-A4=NGLAY#`FM0)-b6BW=a)t7%U-(t3 zD;jIethRAMjjJ3Vkf{bP;~)WTfExx_gy>ZaYt0y zkE|@_ElGI}HcEZi z+p}{(4ik&BoowGI+bvt|Z`(*5#p;&?=!5lBzq?uqbO$7o~FMB(tnf3zsam?)+e4vKMZmZk41aOawj97*1B?i!5Uw-Fgr@Jb3@LU z-^A)R7n>-)yt(rCT$oW=Wr9gIJW`}?=;%gpWNf7C;n>nJ!*C==kX)+oD^aikf+j_@ z+PGJW6yw+GnBjMXnXs?in3^P;Tk3+@8Oxnn*5BO~Rla+^N=(5)s1Ohb*~aegU=w%I z*vNhGy_S3Jd!GBr_u7++x=a{jevZ@)&TU;11q?yon{IlU;_#hvhg{WP9YBg+Ga?>IpR|tz{>B+OLuKh<%g@MD!pW52xCX4=I|tR{FWN^>AoQX) zTu)d%vW|q!A=Cbv*M5ELnv@qAyED>DlU?~B_vxwr(Z8kLCd9V>N5D>lsbC7<+8~Is z15-kkj$h`T%oP|vkDV76}%w#I&)r3)g*q$&k(E4ZeIjI^5Wy`Q|%)NcC^ zp*wV*p3oL1PD(#+b}_l>ecg84k61FHzunwiB+ZX}=05wI27a*3dilBOU0wJOXJ`1N z59jeq{j)QXYjxn6NY~-%iGSDuoQH!B^8IBJJvEFe^PDpPTgr|G&6sfw^gv0c8{uVXm*QY%7lhD{iwVn1tnFM0#|?ssK|9c2&}uI@qj$ap4emEUTHLSu#sS~Z1(nHy?QyRPN7 zt|q3VHud_3E-`2t8TNAdwF37ft*tRIZ!jc9*3%d=Z`h-0)To%l$QdVkaEU`X+hg|L zfJxzP;|`aR8_G8{hBlZ%M{qfPUMVLiRYr3R*3O6qVIrtBJCaT)=5?Fqfot9>1+~)x zfB5utY7-f#Vd^!qaUoWnoDDYBePDIaS6*=FS+e`E8Na~Bon?zPu) zEZAc7RE}(~7IIDt5Ia_?{P|@svz$<70ihY#Mhv8cDmSR=dy;3sCu4pODrzlV{+CxQ zd;^!)U9r02y2ZHhXz6QguE?d8MnPY-KpVGQNqF0)&fFVKkJ~oYHl%63^EV3rgRMV1 zyCJ*G{Gi={3sKHk4D)Ifz4e2O&E*b+lzxr3^-p&>k&u>?y4nr=UxHsWr-ifk+JBfn zlqj64cX;FtO#Asz=R=+AQN)e?1$mCR@Fm3*H~hVukj3zeYo>SlpgEMvez*_SJ#pM^ zshv4?cB|(-IU92*T}6n3k>v)&qjJ@!p5Dt4U>~j zwcN>DqQfNj$`k#4;LJG}Ots22o`om-+;&d5Q+u9z>l@T}(2U8?-u>n6m3vDMNbj}1 zpiln2I0OK*$N{i7SN!-D(I*Bo8)DiNMbtQ^XB@d%^OHj+?n}h@Arm`+&`C*9 zPiq@q|MF9;c4+8~Z7mVy_b885t9Pn=BJKM%h3IOIdG}F%<;pz}xXN1q-$&1tA;cb# zstg@nO!18A0SRqR@*hN`l<+xL;yj2s2T9pwfuX#Fs>(FmVhgXB))#**QrX)`#ojSr zfmf`pyC;CYo8DEUko_A@4DA`S7yEa%N_>1Fykku&T8Q1d>Ncd9W{=8}MhTkQGu!OP zP{{rm3Q4dRxZJu{Be^;aVp_kh#2dNXAOgd*QpqJ+>!36lMm zrpPWBN^l4r-!>YPYyaA4SmJ_~d#%J{pM0Q?>Aj{J&8vU4Q$ID1Acbpsc~G^LpFPm4 z_I}BMUP65R>WVc9qKU=A;{@@phW5Vj0a9coOwB8G5pE(Rb+2SAf-9z)>C`d5bZ*ep z3T#b7vrS*NggJPSvYwRLN^QAWuF=bcKQhUtS@niZ--Nbb69sK45Ce|)>0U8HOSXksh-)Ts)E7_j+t!@_#ZG#KkE^r8+yrVKXcD{hhA z&8=v+)7HV&ubPW1 z75Fr0GRjgD^|4pMG$E%xx9T%iUv6M(uW)&|eyFUXlulHcrpohrQk5!C1y;==HAKQ7 z;bzCo;g0!8DAE?rj~}gUG%L(T22mJXu8^A=vDvFFkL6qT4z98*P@HBxAN;9wsda*& z)E+^u9qPJaKCxtALiSMX1gY|iH^x#oOB-7(+EB&7`RmX-h5@)m0dcIkIufjl|?eabMk{^hWVaGs4ux;lOOeu7JUXJp=zC z=l6!2&3duN8^gzq?EvTNT>0%ewWxj@var|hKMSKs48YD4=A&s^d;k6;P*Y9Wjjz-5 zGN%zV=u1DKymAazL8cR$Fz=@(EprqT7fmS$s}KI;!FKZ@*P~3H7Xr2ZB6WOa4bs$s zVL((=U0g*{#(4O`J)zsR7&e6p#e;mGC6PvsxGL4eWcReiJ{;!Kn-b^2`78S6*PIErLXy@aH%6Jbp>6~x=37tpT%M{? zAI8t0!w2D?iW#O)l%w5DKBm+5wn=1w{VmM_$vcr2c1B{%*KD_YZpt`AavlW%wy(Ym z=6N=08r*~E6;8&qKUuCBMZ$}za$Tcd@^Kfd$^_OpC{YrL32)Mi_=Hg>WG`DgCzkK4 zB*)<1`10njxp8-sU@Y07E%NY%AgX!$#=qezO)~uswDaAY&E$^X-G-Oj#@*F9M;P_} z<=qu~$Efc7Pq;a<2Ok-)+-v&N*pRI2lm8$)@F1*q?P>2K$UfeKO_nKC#z+$~m7RW{ z?gyA({>XSfM|`P~N`5c8SqTEBBkvRwSED1MD0USXkw;+{QGoj3`l7g6UneIf=>N z8`IXfbxE;?&5qqaOfa8WyB7_!7cNUvFL;a;iTb7M=kjNxCg(3Pn-sw1wqzviFr$AnzhSO6&_b8pa`=keUQUxUus5Al>1adX`6f8Drz`e?I z{l{8O168VZxs*nU#*Adfr&X2GJb@Aay!3S-3JiIbRlg+jGY1yQSzw3qZ>;qu#H;4|F2sh*nbl z6_jBrA5~9M=4(5ghL_Q_hBFb1&Jt=@^k%QjvW~O_!Gy!*XFT%-h?|c3QjNYyq~P!$`gd*v9ww=%zL@D`HK=!N=;xs zGqd@sdcY-YANS#oe*bC16+PWzedU;+gu4aN{WKW!wnz`a?n87%Ry<9&4@Q#tuCf3m z`q02Zf09Tm6^XdpO-YU^>Sb|~=3>vR0G#}}6^Io<^rY&c5V{$k3gbTVomkil&6qO9C8~M-K5e|F zMGrBo2YMM(S*Z}punQh^j_vmd)0>?WV*B>`s*#;zgOavFJ(;4xF_@c1BqYsxlt0A+ zK0wx!fH;i)%(k^Kcm_hBOpi#j>4heNyf0(bWXzg8(nMp=)>m3ntL{zVF4VY&E`YY1 z3SLXVZ+Mw$_&udxQfP1CG$&+FnD}j$4d#@>40q9oS~i@19L`y+deI5$h}CpS|6aKQ z#1hM&Lh|$!q4p*BuQg3jO{+B~Y#KR=Hlc3o``g&MzZHB7xy>Ud;G9j`TqNQaHrCxC z8+V7|fnb|TI6LEFR$4Gx$WmjS0!LA|OkUR5N0CNa)-DoThB;rIlsSUoufo{|iw>rj z>qvXKmd!uaNS&|$`j^E| z-+up>4>rkT(Kt&o&a5y#rDm0~B|b(S z!XS_N$V4ef#7eBRH)xj2>@vQ(5>HGlYq%Uz#k*byrg~S zoEiFG@t@{(D3_6$#_pBr_K#ow!VV*o23MDq;+z*v*K2gp*?t2QsEV>e$bL?WM{xoU zgIu9LJ&`jb2V5^`kh>tE_p|Kvta*2ucX2Q6>r;hgkI8IGCvf!Lm$u1E5`~E)HHCQB zNL7&PP}0hYk|9-SALZDm962t`aMMlZE6_04-$%PI%pc76+|CkK{a3@KFhgqd`T#rP87xuSq@l)p5ez z#_rn8t@=S$Sfz`(Lelen9A7~BT937AlD<}@7TKEv5aNur0|{BL(hK4fQ%WLgE>(&I^hP8UG&X*c!C~y~ zOHY%L!0EtP#fCk3$e_~u;&LgRRAGKlZgaGFYVC9)$LJp}v;av<`rh?`#gWpiQ*lIz z^^%T?^Rha1APKj`A7sR@(cA%Hb`#$ID#e}HJbfQO3p-m|GEJ91n=HMXbJ?h)4j)VL zW|C>)-sK|`E`X+uKfenyvj3634WfNbi67#6ZILCrri(F%iNiOhmzXFEl1=wXY`CB# zUZ>gH^hHCO26y8H6( zF?#s}_nVpT9rcN|B3uauWZ)6K;!Zfejk5UP!r=3`wu!=f?g^-(yFVnsr!d~9;&sL|N7T;zxgZr&o4f(iHZ<0GazDC)@ONbGQ$?ESj{adeJ1L5#cYJTu4FBJS6(|W ztc}4}LQEEOC$aevd}oZHv<=R}Ds^UHk^2Xnq$_Iogz7xuvX(Ildt@+>X=`TA(^GIx z%?hiE<^3Y9@B%b^_r!X(_RPuU@!}VfD(0GL9g5R{6wOI#`rzIZMam~>#E-`ReWt1zR&K0B4%wFVEC0? zaCIDq`+DvU7`fPCnlcY7U%!v?7*%hRl3vS%qkR|s{My+=7b5mlAdejXZ1m%gch*7a)td-bV%4{wcl>3Xn^Yxr6bq59Nz;Yxt%i zNjm#phr58=uYU%=0DiFdDCKx zk|o>OB-1`#lXQ05SsmX#v_#2FBvMUMUSjLNPXV*t!z+9co7ds-~aJ((CM3uwPA<_@WoG+vw3@mg?T@|GsT%?d0Iko z2FSu1&?1~1LI-RhKFS#;02PfQ9!2?Ygo`77q(k{^x$g$j%W|@7XE`s z?;N5&ICWU%15#1`KR5iJ_W+IdS<(18Oj~?n;jo1&zjtzrv>bFD=yGuR4F4Mta{2;DV4pgQa7kg+ zX$mB&cwC~Ta85Uf?hBnqcb)I@ks!Fn87k6lna*YA3j8ZT)A_JaM4NZ_eDB<4zW)W( zwqRz^N;n-5>Qn>4`ZuXY77xx#$;Khg)aeFIyc^-bI{yacC;{I9dw*0~aqM#oSBy-GuVGr)8vY*f*w|L3s# zU%_k}R1PGaOD4L`p&b;oe~WmG!-2sTu^D_zGAMggD%kTPW#X*eHrMO14K4a`YY%WR z^E!cvc6C&d0}wyyjDIM>3)0ZM&g7h_GL$l7AWO}hFDlQK&6X~iS#wn;{mPjtZ=TPS z2KWq+`E-=GNP9JeNt|J5l6t#wG@KEF6J_8s2kY-#gK^R7pGw9sypFP6ynRF`N6#YI z0yCkoRv+P@%YP?GegP25;MjawMb+Ei!V-@vctIu11bPl;=8FQv7x#2P#j4U!7P%Utllq0qRi7<{{UWY0K9`YA zy%#vYkfaz=g@#_%1eT#3w8r8$&!BY*Qqcpz)j4)Mr#mHF^djAfv0Ac=fv(ng%aK@& zmwa#xTBPemy6r`}-O3)meT17B{6X<)kEzXA=8SW(9;p7|GtKp3;X)9mjan@{_Kj%Ad{#LV@Z&C|)} z48Ip%+SaV=3~jpEK9FfMCiFP{RTK57l^LA_*RN=8r76#(=$UL7-7Lr9nNTRhZznWoz<0f&ZTu#_i+Zuu z0HUCj0zqs1rtWb>u35olI^k%3@~iW4C%ze*bxaI`a>`*kodMJH1?K2ZAjN3!#a@!Q z#ZX!V1<+qXQQ8di#XO^*tU;kUjK)!jcLt;iyt4G!^}+3J%lk!G@a45BCo9&vZ%V{G zsD_5@zu13~g-Je6VNKw{qeJ*S=GbstA}{e4UeXra5S7#s(sMpbh*8A73B2eAUtkV3 zIS2H8nP8_p2mi%cONa1y-3fSdz9ayk zX{|eZJL#UM84Y4w+6FIF+6wIi!>DqtACDsq`yFEedD26qRSMpUv*_3*9@4-!uJkgO ze9iw{@xcv^beKD_sIJyi$%soz79Ui~Q^KG+jt57ZUymoaVG}uhH(psyX`g8hE=bcur z9Tq1SWMxbFyJZypTgt^S627mKh=Fwx` z`)d2ibOAwl{*IZu&v|dBMc4sj0X)ToGmF zKXyfG=*dZ#>B8iKmMdL<&v<(8kBkZyMtIW6$$*z-Z`-fww}BvJ`XPb)hxN}&T;D>3 zsWd4lIdX3>8HAf1fVRp!};dfsvisJSWQbcHr zN0OmP5+IpB2Ro9YO5;djAO~88{2}vweT+e>xD$9iQSrHYya)&8~ef9UsD69mk_6Gw@_q3$xac`*@vXZ^q2;qdpFfr&t2G&|Pc-ed9Wzl-(#C z@z3@rroX(`sZyRsZlTWovgm>&aA&`ICr)2B*aEwfV4zVT*s5uPt61~0)HLF5e)uzB z?tczpiUP4ywPlo>MICn_Je>*4F7R$e9XL^EK#T)CPRDJX{EBpSVua%?kXRTc&@*&~ za#?d7>!Px?+SEqdIrEBcolK`unol6PiXENYokfIihHDJb7vqkKz#dGeP{(Ni4w0B$ z>Ge8~zJuX{wCU*3fGhcBjKLnf8`Nvjr`C0Dd(}0*7WDp}!s#GATzvq@7# zddp^j7JgHQj(Q0lcr$+_(c$&J-Jt7m>c&&INhE zHz{*HCxVd@{4G0TI1q;hH%h zlPCD>W+Ty-@B~^qKYHXtrCqyHRhe%d5Yct0u{Ag2St7+?IIbRy#_2v)H#BPsz2%9R zffS?CeqZuzjCn|S*k8&L>FmE+15{A5)~-l%)hM_u@E)U~%4)}YMtN^M0H@I*OD?Y` zBF>sMMaJy9u2G7(-=#GV&?l5$3({uP$WjcKi!RHIiZZLbKHQ+VtIM1jwPiq9v$n`7 zuf3flX+fDLqqfW`uPsBM%F4)Z%tOE;s8PZs7HHJHHLw`Kd(Hh-l z*JSQt=>1FCMRc#rBHmQ(7vfxORoz>Zxehf_RWT;ggtM6&U2;=Wq88Ch)NRgtl__OC z&LI>w72r)9$#(m9Br7J>Fj!F|S9T|g=;K<5B-!*vpE!|RHhT*bFpE6d9nD&$1&N(T z&h#E2rL6Ti1kpw7jK*b#r7#owJNYSU>Y$W*-!grHuJ1sI9YogXSfnq~@!~YxL7(-G zW%>dg-+}xaL{W6Aq%F|lVkd@u9PsXp<$+=^?VHv*)=CEY$%9=mhV8HlG1fq+E}=%=a(#ylA{AzHK0^T zikT(%yp{j%KLD`OcLfBbyyWna`Re=f`Fr%4$riZ^Fb@!QTc~Xtkrq0?+N=Ir@ zC1`^wTInJhgH(!QR9&bGyp9TJCBcg$TeO9-R7Jk_aJR${+WACIRXPB zH#odpRU0~A&(g}QfN;N_121H`idXoeLo6a=seyL+JQ|rZX5kJN!aNC|QBj9YROSUW zdAYbA&VrK{k#J6u1**wHvLfmJfb8ibZDMp#2mDg0TIsW*74P;o20hGpQbax4B*lGx zrRghW<-qK&A|a^ToyY(~_s-+N`4H^5c2Mb8Xjf1grrbNDC7$sbQa7Z&Yh|Qrc2$EY zS@|?RkMPbfp?n)9ikE(ruIO>naTf&V{OlqlofPWTT;wX;>KG9 zS}^C*_;f+8<;?k}!Cy=xL$h$V*mzY$QD0v9dRE}FZ z^^MZFM~bRDLr9qs?YCK1ee#hvfjOLBaDNZd?G-_tOAE z=F$q>fR@&n&=NsV*{FCoy>w|3#J<(GAA@xpD;ebQVM7PAP!Z~6(J-{UmDXx)HD#r8 z|9)Dpd!5U3a>`Xn^XX>Lq`FvuA`T`Ffd6eUCgf{_fYC9AKc!RqOG`>4gjW&-s6`^#3hW@U{s4HuwH{j@vL2$Di<%IJx-`oY>&VFzMo(DXPzfbXbR zcAU$KqNu2RHk@SE$to*AwkVq>2l{xlXg0iQO{p)FMKl`8)10T5l-OC!{6(Bk!XY7$ z2Xv&2JEsmUaP$hRkS06YAhb)t`Czq-zR%-cG!LvDoE8l#m?@Qi>8iQ_bAk=2g?A?g zWGF#x(`TJanMlEj8b0%z=74;#>*X!+tNlFbgOv{pplZNEohT@6_=yPBY)C2<5u;2S ztq@abgJSo9K{$PTtc=uDkGib9Nk%vW)`DJ}lZ_3R>auB5LsGg3{7Uh9 zbP1bMb_Y*GkGh5?NicGwnihgk1Lhul}8rgA6mpk}v3<1=%T40iC1dtshOqciYKIM^qvdvkf74$-Xv zJSYNN!J{YvvU?FhLJ~#2Vbo5iJo@g^M4s{1UEmz%P$`-#jFWY(H>Vj{($R{%qnp=? zC~3E%T)35UL{TA&4c;NnzGPPlL`^LN_4!wj&?kJhh8y$JHY9We8b* zB6X0`iJ^|9?vTZ-r>S`wa7T%r&>uoUd5*@3@lukR+sDa=I4g*BDwYoo8(1FmY=I2b zjiBw|=ApXsHT#;}e$8&bCM)8^Eq@n_B$~er&P23dp0u$_*wq9=#5&@`^9j_Qao{`_ z@^NP@p38P(2o8NiHG>&Meb2R{%hvH%&HH9HboPkBPe>!)lv^YNG*+a0>wZiJKH~6l zCj1bp!Re)MT+Xv|X@KPIMCTzqhsg5%1cfiS6Cl;TGA%tQEpu5fuL~B_Ov- zWx}%~dN9*NehyEV&fs4H*Rt~v%;t;Xskoys08+wx@h(w>X!Nsm^p>7)u^)S#RONR> z*mBNt zJ7TdJU6;gki>alwt87QzQeH=k>4%v{tiRGLW=Bjw4m?$K9gQPZ|L(Zs&Sg1;4IPv; zPy-d$k_jO0&&q^s*W)DQl+Oj>l+B-4f^N<@4ks&SS#3<+DN3%W5E%HB%0f(U?jj z;vC`|(1YgbB<{_F%TYlCZf1k!5W1Q*X6`LH=0N8$h?DtKrxdp4&e_oH$y1wCz*3Uw zP4{fTtl}DIGa4%g&Tdix?~pmTnYk~y7aV;n+Eq&_g=j$O*^*Lbf^cS*)?t~^SSe6; zlL~a8p}8A`m#!K*lye#_h1A`&f%`IWyJLH*C#hc6I7-VJDnCn&=2RQLuoo=~RbMZw zLsi;Px%r{d9B+(@J1$5pkrD;cfO?`gP!NnKT6quSmES#U@(qjh|T7@XA==9kQmDgGMpRc*1 zEl2AZrMr~d_e`fTUJ}OoD=#Iwh+9-w7gjh7c5vj51$M5S;&j+4u9q$4qVNIM{33W1 z@qRmWiZ|_F08sJB{VzedpV<2EyTOOH=pB~|I#wg$Xcwr=B!+&0{k_Xt1}}Cs-=mTA zJ?fs1X!gK`Q{6>|%>AMK+LW6!nyCqbM!txapGDu(vH&?OFD=PHR_C zdDBTpiiTuNzmznjda6{RgfsKwPO-stN?TPRvEB19+Xn4-P5!R8kjSFmC!$6J^_I_m z)mrd?M6F7StCd&n%B#GxXCVjm?is@cG*>zZx4iQ%QWPxy3Gz~%cWU|eY-*>3b0meI z=$?hGM^UzhO(KtUll*_~*cDIDcNshNi2jRL_kvh$$fH?hE~M2!)H_TsbEJQ?XZ%c< zv0Q@2a(?B%DxPA)tzVmOXxHX9%%P%-msr-AgUtI~AWgXk6{n3s$_*6IQ!&$!!d)wP zA&x*Tj@sAb^axFQn9!6`Z?&p5fQbn2^XMq;LvwHqO?BgwdicL4{xHaOzwMQ!ir-f* z*7^Y{#*M^JOaltwvz99N@Ao|;r|$Rbbra8RTq?l2noQ7CWtSNNA4&jMK&ZcyUg1H% z1lb%bqD_IaI1yW%NG^`r4O1=8MrsY4&AwRh0@j%{{t@RUk2$vRSbW{2iEQ+fQ@mXS zM8eT@;*Ed~s1uXpJfSXa3wgbP3U=sOnr5r_f`)5#vQM<{t$M3%6xlS3wA#%n_fblZ z67auE{!hIKb%V>8dKKJ`YH&u58evz)e={~F7x!0!q-Ag^T4z1M<*2F|R|Bgpu*Ou9 zDLL8co-G!`Kt=koBfLevPBNYLzjmax@&m`ggt*7X*oxEIr&;Y-8yO3pPbgJTkWq6`qSH58FVNSh24J@G&`EdGJ|8{Z%C9H8wK}SmC)Pn zj9pUVdzB4v@5X-D;*;hnHv;&SPNv3dyK~4%TMHsTTrt{Z7s??) z{Db%^>QyK5T~Oh3bBuyEQ^ITw!SlT(kdW%agpiNEJs;73y%t@9UOOA66tI=W(aOCDrf ztav*?3n{{-1HFiDix*+C-_3LRRF5$dxn^v6##wQ=KI*?P+e2{Dn^q`dJt_EQ@{GDZy zzR6;6vf1NDR~fsWD`sKr!I2z-!Mqn+%{Fx}7qRz@8Ij+8x)eLtgxerrFFD&l5el6ie)R-WRE#T~VQ02S8r7VN9e;AJQh=~g~ID2hvl7PtMz!ic^B; zY{{ja)gMVJFshe4FqhlX`L&jM zV(nbN4F_&xYONi9gt(j|!z+?Mk*VtsQ$mjkdPQ(?vqDM{I`s@c7%OJE()K|`yxcTz z_7FJ9g_(#fIZ8s(VjluAx3M9`u`F-ODr@TeEWNw$0+l(*hTAydL%G9$la`x){HHcx zpHO-bhQLqkOvl%LVtZ`P<^3(d1&dV9jnGBZ*b!N+jPYTWG|p#`7U`m0waiKjbR_D~ z`BzUBP)OdOt4&woP-Av>+g0jk+675u*>)1&Z z;>#ML>fU(_D95&ZPq z&TBLu^C@Apms>=>xS0|GgST1dx{jgW4Q?u4rCq63eDXi~?t_(a6B$!TrLsxs;zrQ@`^g)&ZIJ+k-_oRP% z>Ve0uIGIG9VW4HyDve4lrw(ek4yKZUpA~rFKcqj%9HH_n1i6HqmGCb(pkeVHWOFRg zLzRVKIAQ;i0YVibKPYh)JeGON{+-f7M0UaEnOu?v72#}U0#5O#^mzxqE|}+5heOQ( zWU%wE0HspZ@s7-^)!MP)fk$Q{h@uq2)SVP>O@x&n+iKeefVe<*Xc5jAB)) zV%53dgG31KCr0nxoLf3d<_m#qX0V}iC`ff~C2o95o%q!H@Y?q$DtUe{IHxF&QtRz4 zy@&{CJkR_0@lb(_HF121?YFV&%^6sauQ{I*m}iRP`R#2v7U0UL(|W-bubrQrq5A5b z=cm4k>vGQB7ny-OsmT^l5wh<=NhADP=^mw=uC}_vG?(~(4sssIqIX`y7HDfYx?e1` zwTz8(;odSAbhBK*HUU3PbayBYwFv%CXYOTENg$Wc&}tE^V)a1N>`lopm>%i|goGqsY*lk%z4oVs|Q{1qd<*22USxRM_9n9t2 zvt74OnIsTf!|v*|###TM0+v2;0fSH#h@&+Nyl$5PF*9*VYoPp`v&Is0yrwEDXfZ6LF^b|o0iI`?*@}j~4(?E!>RY_n8G(#aJS!oG6e zN;?JFdUShBW~*rqSeK_38S?)rBPIiOj8`|~jON&|sl#y)0Cw=r90IDjqX3{`v@fdH zy;8ubji~$CrZE)5V)j?Z5Z#;1DQXlA-l%gjOY zLM;nt$_ux=_>3s7m=|h&5rb>lx@B6uKh;{S=ldi-#VOB-wCL8W*pnTX^Adb6l|JVBZP0JLBY8;abDIeip=w*ijV-DrGaVMt zlF%O+TwAerVfuX|=^Xp8R|hldC;$uZ~bg!848 zj*vCtM<`F54IoWo*N)P6Wvr_v{n;IJ+)?(@4fEv`OG@o(KYl{s$h#S=M3J@{oW;Z2bPOPHP zYtwFmk!*zfCjTCfnfM3}uSCD?<<`_!*k~yImIZY!Z7uR=wAY-<)|4^38Y@?wYO;WzvT}DPaj>|3OLT52b&ot)rQ3+n*0MS@(%?-pUB%4XnOXup2Yrcu?;MRqOVkaCP zG*YHSt~(E{k{c+oKEDAdXykVS)r$z7OKta3q7hcW@&?M%nfE9SYQux3XhC_BJ}FWP zH;w1Pp|jZYNL5P}%)-QnAern0reoYjiHW}p(h>uHlhNpA5y6&y7T3Gdi!Umk?$1!I z*8zHPJ&YRNJVz_33ct>8hi5q`@L$pKyKSaZ?zr3-o{M=z%N__`W3l zB&y$R@O4E=_)dC-SF`*>E#>jcISHYk2N8GT`w}j{8~4WXRWu|L6&ZS@U5JBWXOWKU zDa6$y*wn#K^o%&EfhqZTqqzms*2avDl--!4_ADLKBDGYxP2RjDls3I23rMDjCP4$O zHg(kLXZ)_Y%CUm95KL;7@m0m=N$`diZOHqDo$fgwKMI?BDc2{41Zi0 zsHtKKHS`i5%<;S$rD<`#L+1NCoC_;CezONS7|#e4F)TY+=HSui`}gmIcj3zzJR-(u z5tQeq4-&W#fN_o(Z~-(pHpLo zq3F~%Jjk_gcvH)$p5-y4Pwnwqz8u;&RvD)k1xLBCgd~*A!3-h-H_%i6yB_Yiycs** z^3)&b=w$>|7BQR&5@DtMC@LsUG5f4A+r~*_8t`_76N-v|F~5kz!;hLBYHn=QoLuuJ zW9BFxNz|;d>8PY6Q%yD;J(xYs$b!Mp_Z3za9j%($vwhEKP_RH$X4*kGipeHaQn@d6 zEseQJ*T7&#M>*WaY0bj32r{JN+=jA%@L+Z;==G~zxi=!hRK$>r42gT>a^~>uVdh~F zjpLXk7FJ%7ro$p0lQ|!zm-#Emv+Dz^C#Sw$$$6~2lzT~2(h}OYxGhB z-pox(f|wAB2NTPLIwG?1wAQH~QJE*HwcnQz%VYq8!zWCe-?9^vNM@J9QBTKuTK+00gB4Ks1$X+bqUVK$OL)qBeK- zyzBF(LP}_Wtu_&@h*g@ia6ywb$PlPhcP!y!4>*;IhtZ6Ra@vfFqcHovJB&ix#?T31 zoLhy}ezZD)sCCbnb6H)!%%%!yUcp)>mrXt;LPD6yRAHuQD7vX2GtLH-*jEO4e9t)? zd|DwsTOr4Z@|8l^W$`r(!6CNzL`5(sw$^aaL@G6nks#fwbR z`}7+7@V!qz{fTY5$;3r)1nf{g`D&R)7evh0;V24FxWwsOf?sqB>zGg>)G!>6$pM0j zq^jD2P{Nu1&A3)fPi4hv>&R*aEC$)VPzD;1+lxwjN(_RaB;5)KeXko0htQIKkjIU9 zG-eZmYQ0n$ff>fvaCvK}80phfTn%_a6(vNj5Mj7Vz|?h?K}5q1OKn_vMYe&$UXL=T zdr>#djL;5vbTh3IIePMRNSbFqFb0+W1^U!+7Qxfg-V!1%8=0e%iVnG}h-#}t=jPvs z)ZLE>th8GUrvQiAyn`R{} zCv|u>6>wVAsB@^_oy*9tGK8M=ELKOmSg;>xdKg2Ca?u1{iZ~U|ZXSGxQSU?W)Ey%b zi^sB=!Z>4CUX1#D9{0i7K+Ch~9cvAU?2wtmtJ%ss?MYckJ{8|_Y$y#LBJPQZKJ-yM zNvuVT1iwLDHho6UBaVT^F!N;sH;zEPQNNbJv6OQ+2wK=eUj*mT$vp(B>dQ|*#5kie zV2$60gr3-vxj%#iLz4Bou!A;tMXce0&!LkeL zRDro=cMb3Y)X!x@#Jk{&&6toaw5w7M8P0n3$XbsBHG{IU+KEe1iXNn6af(vY`>9s@ zq*m*l`eQ;P#=#9M*rpNf3DmDaUdAsu!OV1FJdXt!H+T!?Mb$A&uU4=a2Uzwp`@wPEKBFoW+EjF^fYX(_>(=U)(sUE4?+z!6Yxb?72C zrBqi!%s4gTtk(@RicWw5NG~~@Scw4I1#_ovqeyuW3r5KZnuBLWattyi-QQOvS$xw))ES$#6P`@>&E)7H3RQsb~U^TG(}k!)h%PHs^*< zynX3Vso-q{ppP?iD$UVKJ2j2b^m0?*c|MB)&T(`dZDqjm%R5PBeSASMz#Jsv9<9bgXT*%BMufVW;aC25XdR zxvOQ3XeN|mbT?Cdxb%)6eMdb{!0!c12a8;<*1ElI8s!lhM+LMG_N?-%+xdYh|Eemw zIh&umV&MZVG5Y8ri+#0GP&$#|KWsiLBN`4-p>h^SN$PGUbd2?a{>y7CtY$@Mk0!eI zh?0X~;#3^b?iW%VWh^AKszkbjK8RNL8fe?5>4d13$U#mxQy2e=UWblw0liN7{Re+9 zPba+^f#XE)wpwhh;=jq(I{uq&JtqH7b=;QZ#@cU!YVxv?l+EX9X4JAQqNZJz;g%>{ zB1_@x2`tb>%b$*B5~gGX5fdvFeLzBkam(Jgk5)D9Bss-KGwOeb%p`+_IUv-O7hufG zp9fEQFg~nD7C9cP9zhQ=UNIB#xSK%nwnV%!j?vW=ePOS}nN)3FGhy_ixy=KACJ=dD zHRp|ll^9>Rnr`81F%uoxIvH^6r+y9!Vr0uQR7nsf6Uof?lFzj{eHzHdaP2Ek47K0{W^P`dG5TQ3CC(8=-sEEG1ITWV@!R@D0t zx6B9a>5USbm!oW`dbq=v_e@G4;(f@Z`6dz9C(M-%EDgn4_U3g6Zb=BKsA;rp9Y7v&Wy@kKE78*IKlhWNF z5N?ir=$jlKK7*kJmT-OFQ z3C}?et>TC5JN7GoY;LTO{x&O~Jra(m8F!bd`rEe0F&F;T*Mc+6T7=FDHl)w~^5v_w_`rvO;dq=M^2&4&{Cez_PQh?XBJYqOGXeeAR?s;K z)AF6=z;0jocs1}@8&|Cw!vpBLJ^`M!`k>96u@CyjsW@*>l;YB2C^XSgC^Tk|V_1&+ z&OL+r0XvsExQDIJZAZyn4g|V_M~+(g-mB+cIcbfyg6d%rYDDu{gyufUOW*=|wh`v^vEne&B?e^}z3dEy|q1Xmyf}s7C%03D~g&TLou4;0};;9@M&mm08lh{w6*Bu?ha>v~W5aH7DnEt+KHK zEfSWa&AKpZKmeY^lVN-ubI-S0EYl97VC8H6_2_o#YjOLvSi1e1-&Vt21OVr8_h(L#;O{9#|FSH@6gWF2XC-U0R+leNL#b{+ChO;RL zvj9AWG7HK@jMamDn{2gW5msgTIR#5E3EJ=JhFknoK!bFTU(J;5{~Wesx|Pl%EBWSx zkd-`06|yp~S+J@uYnTRG+DsI(5|+u;eJ640`?{Tm-DRs2j_t`J)P88VeqGKFTLOVnmC)GP?}ZnW)~6B@?7K9%2A+Giu&Me5d{ znLL9bLMlHD%T_KfH-Hof5u-U}Y?@QfY<8|?WxSa&gmA7H7?Rp*G=1fSK20do7F;PZ zXtGj&Y*svLU*e@4!L>L5yKBU?dGK-dd~BL^&AO@s)et&;Wrp8G3ZibF;n$G=(&+{* zZ~L*Abc#&*3Sp-2-)`J)-d2}t-fi{d>s7N^|9aKxf4zDPKf)&YU+?Rr_3&|%{C(Wq z2Yn5cfq(k&cl9y;eS&`v;O_(Sca0SKIyu-sAioa|4xZHUpWRdM_Jp+4!WLRBDA{Ul zui?k`Blvr;jUP~Nb!`>uk$<+y-~Gqf>;97`_;&|C4%W!u0}9W<-UIl1KtB$4C=hk{ zXKf$;uD9^x$wU161V5mkwN~>1e6&{g;O`n1YdwZKttZ$(YiAq&?$VF_HTaADtgW`7 z*y<|%Sbqe6AJC5j$XP=O*7tTuKkNJWvAzCy7ydq>AG-vc?I#cM&zeWAx?6O;jjC?*gmHB|HhefW*WiZnPK*9r`S;-r7-cY`7GT2BzKk8ae< zbzU)%Q(3g%Zs1-r0#}!#aaXa~s*9>XiQ*dn+L(A@U~vVcl@P*P02d-E(g#Y+x4URy zGnm-|n^w?@lIf{~L&k2Pra~HFk0yS0dmHIIknd#HY&K0(9m#8X&Xc)OfnG*6D?X2n zO(08aH4G*Q%b1?t-csY|#;fg5e}CA1`F_8{2fd8$?v=UmXHBAvSIV-F@P5t0C;s%W z3GTE2kHA!qB1aicAR}Fh2{7BS^735=j$TNsK3rR!Tw*GbAv}O1SK#nxwPZ`Bj@`1H z-M^pF>2oUuDA!E2znQ1X%t`_57+eWt^x52!=B`xg$5}BVLMzDi3pn+sTOQnMxnc)0 z=>QOmp&~V@WL%4C37}Uz8V}=QFDycU9K$EjDqAH)30B$%hoNmZk|8Ec9Xf7U1a!J5 zqKlWDEwc{tC>{O*>fyi+N-Z7)@(WaYeXQS}DhHM4Cl(Pds z%OQFms{v&R6tzGHVrsiqCUolrT(_v3PjRr^xD1Eis~SxpESDd8HxYGJsKZE^CI(dX1!ndCBGDO1dCYFkc}Tq5;_MxJZG1ym6S*=adBPYR{EMz2DcuF zxxY4XL$3O5WcSl&kigL)XhmxbQ8g!!q5b63=tdnZIr6%KGVsa#1x7Fk~bSk`3Ga`2zr57o*bLD)-tmf)KIBiIuq9ra-f!n(%L$2NfF{ey73fF%G4r*_en% z!T*4SvERmZ^q#O&*N zkBG&P4b7z!rl=_B2V^?8$N~d0w*pxyKzpg>l9b~1cG=$9JW))f_KwX2h-^zf0L`3q z_EK9gY6f}iUdmiqF*kv`Q!-2l`P+E-r#&dGgO0Hf(4JT%y+I%sV*T|Nl?;f0#hief zu~9)x5i?JPOFqH;^_>1L7>u}^(+-5kFs#3v(Q`G+fVn|&BacV$7H_xF<Q7qckF=jZ%c!qx(r4ik-jSujim<#rF)2AvFjDl0BTpXHY zFxQwt(<_3L8@ko0;}g|5t_ePu1VgY9qm`U0vYX3XMTUVk=d&$Vr9R&I&2KGYzTYvf zB{+Qd?%z)c=@n`^D#2+4`XsB>PMP_W!s&UGH(`pQEMydL%lNM1<47N1(*z+ROr^H( z_Y^(EQ-AX;fx1mFpJ4J_$Bi~-@eru4lP2@5^Qp=`N|~b78}4|Pn>d2quuPl?b6vI) zK|X_G%UPj*e(VOFjEQi5%lQ$J05-F89UF+!@>E&GwSlAB-DJx}kCw7$A8e+~XCKrg z>MUGb2%Pom1D{d+`V$Z9g@^UPL+On_@L0q*;@aw?hmU{rdk!&!OWIeZMmGx-KAQCV z@f8yt;nsgvFdB9F#%K(9XaNdBgLn0;I8R~dVVXAN&XzH3= zGrpfy8=Y16(o2Z)z(XqSMg4FxG@T7t?^jX_`qC9;A|F$=Gm$Sz6Yg12a+DF*5l8(# zsKXq}6!r#GX8=N44gnK!i+HdhAxmNcd&5D}c$gQmp!5j_mZHR&2jt*+)kwGS($GY8 zhT|AF&8W)OZ*N-6v ziEvCpfPsl$4s^jq?m2K6Lg#PAn$eD{C-M1bwN;P26{VLte>Kk>193#AQ7QD=Q?6-O zc7@~&XTF~ixV0tczpXqKGN1IgQJ0^|>YE_sX+@M6e$29nWM$22I7p7V&B>NBC&6Te zqy-ap>A+WmAChcaIB>57z9X?3C4i8uf1!pji^KY>$Qec`;zn*;e0~@1h(AgV1 zHi^`Ca6mAh{&J|U^X_>BP&=ei)|UEl8%d=K>ziHMumY^EfUBv$0p{XDtxBX0fG?%V^LxqCusSXWc7mBdFumj4F4X{M~44zdF=ha z_kDL09na2uz#0u_GVLIDzLIxw=;uwyfs}&yQa?Qk8wbJ44l?RvIUG`_aQ46yb7|A^=TimFPFh2Ir5xNap3655 z9QP~U#U9Ns*o9+Qwp!V}Se+S*B^D>rj-^Vou?i|2;l7vu*mqtv2>;h5KKW>?onjNr z*EU*PVep{Y4ue*+>Cd<|n9jg5gT#yDl=Dax2nB`~`gq=<;;PbwA!+x6{Av)u;QH8# z424OWJ&%j%2y9V<${1)`N_daw`x}q9qLT^`zIq=6MZr@?#(P!TQ3G;h0%-^IHT@x+ zC|kVGc7;D1UF`9=dUL=K8A|5N2zkKapL+Zc!TkxlX$ zSYT+ci4DLOX{6%Z2a!0I@jDORU>s_O;280hZJ-chR_zc-fZmcr7v4%xY!IV{B!(Dr zj2f%zeETn>3NG*>UpxkK8g0yduiuf&+nN8kzw8pC%%8x6W>dLteM@8O8ZKC!-Br2K zmG-#Q!NYIAgBrk))V znfiX`w<`LTiVXh&{XUx#O}TF~_xi+m%$YA?=#@-1MILi}ML2yW6DP|<6FGmVX0S=~ z*u9D0rI~WNJVk)^&+S|(ZTn-It4yt@2x)##?N^&RqzI>SPB&;)oQ*=Rutw*&=btEyo4cn=pf(@m@JBO4A|pYdR5QkAB1eTm(J3RU;`wHZcDOD zl1Fh;r>E8uVbcE>g8`z84oJ}@ZCcwjHns~eHkWvlzr?-EX_L!_)g~+b^$%sL333h2 z!s_aSroSZrG#ky9*ZEP$_(KR<(*TWrke%s<(dqyirT>pjGlZcA1IfT&(!ZDfT)I)$ zW@(uSb%Z*H3122kI%Z!!yu~IXvZgw_t&F$S#tF2{~rFSW2uA4c@fp&3g0;{ zYjyQqr+n0*=+X`1+iE}OmUV9l{43}aOe4D7FuRmG1)=q1 zeAVGe3>wm+x`8v~d|;I9r`>8pgqvDY(4`)a$WhT=nq)&FRfAZ72`l4dK-$lvhwFa) zVdu@^W%I?;LAp);dwul&eEVtcZd1q z!S>n8`*@xF`Z5$pwJ9~SzGI;-^-@AOd_Wj4J z_~OORHsqaMoF(UPuO2>p4c_r79AEw#JcfU-UhM3BnPmNy!<~ntS62j<-B%ozt9LtV zwZoltZ2#T)_4=Fh+WNb=fA;#YtBi@{9scOOJ|FP!@Z!y*7xA8mp_x)37e<$m|xmr8B z$Szhs?2s-(4rs<>S5aYVoaqdDcYOA4cCM4{B%E4<|{!K6&D5EZpbh@aTB>YWrzXd$^t@A15nk>Emd7d;NLxY^}C;nZADXZ9RG! zuV1}=^5k`YuwFZ>txTTmtVDZx>(yRs^yX1*{q3{C>Z?!T+WMoxql>-x$E%mG*Q2Mk zw-=A%2hl~oa`EWN_2kjf+REOCM=R@39)G@AU5}pC)+haUYj1u`NPg|QwU!_Lb4eiD zdwKN!aOcCbZ{e5j%BQ{jVDR+$&Uvwy<>$k=7=2%To}E2A_~+&7_~KK4rS|CY-rMy1 zw@0;uA5Z=nzh8Os{?lL2hv%cW;c@ux;k&otkLGApdoZ~CK1eURA09sa@}u|QuVVMz zrLyy_hEGSayxl7cy{o7|LFbx+fjJA^CTIJqTz87k1sF#+eh*6>dnjR z_``$uAKqVo*zTV_ZFYCxK8pvnr#s(&Z12B*cGTR?iw_46$p-uK{LPQS%h6T-?5tRQ z6Lnt?{@Q)K_SgR5D0=(;^FNQb51)Sj>+0dB;vnz!dOPn1U-nm%w}%gRpYMJ-4==xM zuOFPPbk8qpYfqkh?;qA)y?V9x^vye1v7NsT-#^&TzW+5C41%EI&87rOrlfL&gIVfE zAT5+o3KoCv-=!7XqYs=`Jce~=|Kb?m9{o65d647pm9ycql}BqoRwl#mEPwCugE9ZT zy}LblyK?dL$4d5nFUp>tJET{KsU3e= zAFrLSo*(zui?#1-lkRo)y7l5g?Nj(Yf3SMg&!6mm8f4Jsx9`LKcOMSdSJSn(XYXpe z&v)J(eBQr2OW&R!eIBHrC&}}F{&|@^T>0^M^11iy@rO|_nLN4pvHtP$)8O^W)$!ZI zz13Pic+>szEhkHNdH(6k;C=Y{^TqMwcgf_h@O}0zd-nca7Cr6$nCyrBce`&^j{Z8H z^pDT7^ke>ZkPn9+&i`4v{A>UF>bLhtKR&JPzTe*?sJ;HE`Kb5pu>0WE@%Fo`^yOeO z{&;x#@!|WO2mPa3?e&Mp+h=dS43d2J(axC8*epE01FAyQ!{3gl_}|0Pi`^&ir-=^ViwOgXGJHzlNVb9zN)Hhr_p6^{?jp?+*x$ z@2q}*++2s0x43riJ~vli51#KleEe?mX03={{z$%UUyffK4_;sIoxO?%mvO%P?92Q8 z~zYg~g-bb&;-#)+E ze%s4meSQ`VuK)US@NQ?AzaPFj_^|u&{pT0ox4*o)`m+7BcQxF5MZkJmJKlM_zVq<# z`Y&vEe|T{G{b=%Tw7XmJG~N$v*jx;wLktj1?L)H#YMqrXj%31C9OUytk!2uaxiEE<19{!`Y6nZXyP0K(;uor77DR(GM>0)Juy>F zEo5RIu)!s^1sj^|5^ONXPQmM(Iw}v^OXDoE zVjWug7&&^-XNNbkQfCnb#U)vj`ehc5VeUb)^KT6HH(`oJ?-?quLa-co>hk zk@%7ZztWyi_K@vJt62u-bL%!c0#-`aTLMJdr2cwJZ%>k}#wrI~fA^!8=QD^SW>e4F zAWgI$=biGLsiMxrpCgD{L+QjFW=IWn#`Hu*G-fIzS0*7Jvq}0|dCU9>%j^aols0gd zk=~;@N6N#}>hp9!qKVZxLx>3JB9l71k@bIJ^Dv4F1HfP4Jb<9lZ|}!VY6L-+$6p;; zjXK%K9kSJmxEl^RF&dGLGK@MFKlxMaB#ID!?QVYtcJlqhSKU`X#i;)^=Imm;@^)qA z?d6-{VEfb4&rc7(54S%YrQi1+KOKF${M@<>^B2Q!@5Z0EcZ>1vLA1TsefHs9|K0Vg zciWdgF1NotCqmJSi`|#s`!9CFS4X?Uo#El5oj32|@4E+2-|g>b&!06v{PR6Li=Xap z|8x01>}~(}^4HFQz5na= z`Od}avlr>RXV1R<^E%sJ|M+J8$LHo?c>Vgt%j4A-&->5G47|&GgQxMQi$U_)ArSaK zGt=8R(`#&|U%!sGANFJXzI?m4bG3K1*L?K&@aR+RbF_cGckpT# zM)G{^`RmcA__Dw18p%wRhrdMstzWq%AbKdWfBYqau=HAmF+D0j$r(jK^Ow$sq)C1x zWMMC!D9Z~z)lwzp54w8Wuq2p&DwjUnQL?F!O5fEyr3wCY^2%dn#XrI-NU2s zO1lgc(%c%UybgCRf?{CMYk81A!T`#8ROIm~{% z`}SkB6YqZ;H@6>tyxiG6dOLWr{V9F<{hy<>c$BBTB{pC~i?fsjU`>w`4yzVf~qu)0|deGAmZa;l+^bQl=yk{f)_UQ#3;b8Cb#pORQ z_SW|=->p8(kKTO$@bTN=`SWMnKigYcjDpX9G+Uy>KkcX##=pS^B9S%353?8(L1 z%gOeK!KI|Uya?=bKYS7jor$}v)%m=#yFmRbv!jPp6wrlz3si>n>X7( zl4sj525&!ZUv3|Miyyy#zIWVzH;djl$0GOR;<&oH_|9z2?p$uVJN53SpUjzd38%ZW zzO&9xHlDh-|A73*n+tnUU1>9S?84cqx%GT0BI}I1zf4J|mr-srN`PSNb5~GEPvXYG7q-EoREMk|HV7x0$ zc0gYzK(v{2iugSo9g<`a~)gwB;Pm{jjdIV{5O zEKx3t7hTngA_FbU>P6S)x4Kl)RvU__ZLN#8sC;IWR*ODZyxX~LJ)A$VC7 z&K{fdrS_*6eRAjdQp&XTWok9=I$tx|YW?>4n$g+nT>M(Rt+iiAz{NXT|8)#qyt4=Y z0TiAE4FdB=CvMRD#@#$;u{}rBKNGuM>gIWczOfk?FBYXIHW3^Sg8RV(_1oK-k8Zz5 z(HI^WY?C6}%(q*x4DS-(413S_{n++6B^pkZJsB<1DK9CbJ{I$QG_f+4_f48yF(9*gWaacZdkJ@9K@wdq zOQuG6CCVUPf+)fF%Ch9}Cg!^^bPKZDQsql7BdSjISYpPKLT;8O4dj0FVS2^mLh;33N|W!o5yXYR1m_EX zpA(R0X2M5S@?I~_h|nP-wBfb-F7A}{syX;~6{J#Hnt8u$=Lm!8tHaN9x~-+i|I`sx1P2k&3L^i&t4CVGgc({z%n z>)?zoi@-bN7*H!`Ac+U%@-Zi7IQ+-3u6N%b9=$mX7>mcJTH@39$Hydb zT}wRLJ$&=>W$;)_eEIzK{!!3+s3jine>x7<^d^shvduMz1MbKJ(?8-Yh zeDnG^Sbd;(0FxLzXz4vX;}Eu*tLwhy1>>T8)-88b>c-dJ{4-CS_w-cZ5W#d1FtaV` zi3!ANe4xuj^9qkRtXJU2t+FQ#Z>aK7vzewqVZEcSI@*<6mex1F_4ZzhT;TwPPV-wZ zOQn0Ws(N9c<8Yow(3Xya!Cx(>dat8P=n%qO2nJ=>%n=)jd9e2*EiAV@3-8~LSR6fe zYI++G6e!Y<(z>&*gXvI)SB-4`Xht@2HqLyNPjltVwa{|W4V3ODdojYK_%mMUoK$!i z(R=OA=&0>t8e5-1w2`AN? znmZLcKZsmS$_U-=+AKRLJnmIP%?@tFxgCjPx|qr+!|tw38X*H*1EM85qPfAb$PCSx zx_cILR90_M+{ROiFRTmatOKCDEjZj9EG0#k{d5SlwQBao;&a}$pIiGxw7WL?sOkue zF?8-aJgtR;$#Cd&;G%I$7A*m%VeN&8j@}!gF7wXh64x^-1_}3iY+<12c7C07OXh-k zx7(83bAz(N!E&?BmXa~;a&2jXBeonzXMD#%n%!L0FjXWsx3uqCt*w0r(N?QXz4Nh< za)JfzWVg3fRAVUaUqGFs`bxzpX4OQL`bhmU@k01XrE@*h$ZiO0g~-H*q(mdd$*}`DF1WZSrX2IH!KfB`oG~mkU1J>!>Nc<;E%)!ko;;?`a3TC`I7$pF82o zJP2dP{r+Trd>fc7yKi<980z&R6dgqSE~UZK;XZgy#%_`R4TU3YJqzH zH^D|J05LYC@>+G4Mh>VR7CdLNblnS2yR6`*pVG*6ck~+%N0hTRBF{6fjrK1=mZk z8E$6ZjAO^L!``<^UO@887{p%h_BQg2wS?1zM}W=+{U$VUIfLk!K&rAWkh$m=|_qlhfxD1fxFK0e`@Bo7CM#N)={`%JwC{E zG@cL!T5@gG`Pvc2^0)N=4|U8dI{wh6`*d`!WqrwGwJYQL!g{pp`YFyRE*bH=&5$ zTHMu{Q0O6AbtuZ3(V-ZWHl{SSX9p8rpgl(j;)*iaGaGe`)zzFFFq=1J!RJn#Qr4b1 zXG1fmPHj&0uV~`iOt>uU)FGSESSf6Flg3afrCe~7PnkP3ecH_?A~OK0s|{^r2VpOQ zki8$N70&|D^z|AlNTrQAX54H>L#b!n#D#)v#HqF$JGaa0!<^Y*=}=wGdOD9Qb3_+q zv{+SziD*cE;Sl|07%qb$unscy4tsXou?~+LMtEx%L{_YuxfX#fK^c({ z+6Gzm6~sQmo6utdWK>#}b7Qh5HzX0AFWT!p@O8>-AE(Yhq70K=1}hxj6(XhVO-`BI zbPKk#pUf!{G?_HO@78nVoWzq#$@%Jf8sPz!8itj zKBEI(1?E@ODAXEa6;%2Q90U*u76}G4*(JE^QjZ&rfI9X1=US>&OO6)w+1zZmls*13 zoY__BZiu*U-JcV^lN2FS*Yy63?1-96N!>h8mHRb`>}u7mqTXs3`T*`WP5d%}A0>)* z(Y#fk6&Kresm3qkqmmmxE8n=%E6L|Kf>!oI*K~94SXH|STQjLBmDO9#PD~k@+om52 zg${mDy-Ez`J|Q4NsSgu-e7E%Mxx{>%=QCN-;i5HS02z=N{3%GpxJ ze%k$?+uCB?lFvBg9ZgWHK5mhhr9YxX*irV$apAhqv4Im_twHi$UaCU`SNld1>lkahHnMU0Pb zpuY?~H1jf)HY9Z2)F(Cd++NXQb1UdVW4oAV&F!t82KOaq8eUZ!X?W#sRmQ6sGnE@| zc{g&Y9Li(7&=I`QvQ2z=*8Tgk80A%h^1`$L594KQRi!^$su$)Df0}H42GNI%Z69QQ zKIf=-?(Jn8H_&CO z@+f7>brWAmb-m2e3Sa5YqAaPIr?RtFJ%{)$aL1uM)bY)sI<&}B*vCsZMx7+xbP*3i zBo?DRTcs1*witZ6tiX%>zi8fnWolUty8vRdBn{%3a+K;yVYbr_FPb80bIH)bx}7}#waZMimp z8{If32R^uF+_vi)1aeX{rMz|M`ZBZ>l`5&RBRLeH*6nS}ZaVTj7u(O& zF@|jq4@IXN#&FHnOiLJm9j_;7I^knB-RVM&rf2Y%R?#M^78AxJ^$0haMLnH?RJ2|0 zVi~t}XObcjN{tkO@BHCZ=8}V$U|G#P&uPh~+NK!~6peFVy+CoJDR{BcV39 zATcqMAz?+v-?O=~*%+z`yr4T{U~dGg7CvQjaNCcA%&Npq#XvQd0+)|g_f?291;%%5 zDM}O&WYtY&Xx(7DHkuHd%EH~{AV@nC*}n2{E_F$be7RG$+@X#$9f7y1=r4!4$*(U2 zVW`q}`UY?Qzs&g=28E$#sF_8&!6KRmav+&jY(_&)9Ynj?iEBX@fjxI9*0d$p^aFwx z)z9(5L6RwL#C}}2MtIJ&Zk}liq|5JW55SE&yFm4QZgS&w193=~88tql>oQicuSBV& zVjr8)xYoss4{d~-=Tytr3qpc+<4(__FymPiX3RjkpoG2~#lz}w#az33%O9zBbodk9 zN>q&rulGHxw&xFmQSHLN_RoB7&n^YOQGmKGvXzfh{yYryO#jx?F~nQEOmxxMXqM>CAzFh`~51viBgPa<_X zPQg1Pcp>gqsY;|*Ay@_WsU<{IH~w-wdd$V6M{Re=2aqH40pzuKSus!_Kwg>;AnB2( zr72G$hsu-4m_Lc^>n|ZMw@h?K)UWnye4Z@A;jLT}Zd^RAR9FJN+|)nP6_dt$7{m6% z^>{qFlE>&z2d;X? z^9>LtXuQhY*5ewtVyv8H{KM0io8J5jF-@}3U;$xd4k-KrZXP6y!+}DPFkkIaG}{xt znw+|775f}@u;`ROXaE87&aJwusSUF!0}rO?H_~C(He>KiidKzXleEB2Tn!ly8kNF} zT!HGHv4g|13YpgmmDzbK=W(yJ4ON_%<>Xx}*@lZ$mE~kr+Ii-NY!oOHrkx(UxN@88E?rXT=}Ks_k_EFCHY^9|sB znlKDAU;aAz`J5cBVXd_B`eefe5du52k|~A&c(vKXm;s~-LcP2hhXe+~LZ`nOZ&l+B z?ZDvjL-`|h0(R`0RlGu+CB?*KUi+>o!e%$(n&Wudn$ezev^nd#W`v!2?fyof4g3E6 zxZdAzG*V{OfDklQV`*_yRAy4=M18XXyxLf_1q8wc!wicXvCB-^$ZTc@ceJ}DlVPRr zGMqQ%PK+EwdZLYW1n12(rlA*x7*>e-)Fs&sU%vo^|DzH>S{-hX?<9eLdAhQsbr5sl4z zbP9TtgN2nyzbB`@{UDy3ef>!{)tCsJ5fQZ4Ji?;aifN}$R+qHZNj9=ht(JIkV?4>v ztAssXQ5q+W)gvj3#m0&n2J#L|rrA?$tqvIo+7)&9iBLBEE30%RQ$q@#q0|9u#^oSb z7UsD0Jq|4Zwq7ZLo#UC2SL(n`=~)`R>Mwol6B>o4AV^f9$aTQ#GihWtAmR`<1-4zF z8SrkRAUNMNy4(6n^(earTtiZCP)E$s{^`s*O3{JKM1sHu@JX&eeH<(;dmi&qlW0pU-b9WU~_&vMZ zTt({nlxfmE4T-6m*#fH5Tr;h{>QWyyaURyWsB=f_o;s_ShI5H#&6nK-%kgd8P+Z7x zhsXvc;9pB=l{yn5EMx)Yp7)l6NEi!noUr6l~!B~gVDtV*0LWm{Q;-@qy9RaW=*_GapBtrKd)saz*fbTc{O$(7GU zeRBhX8k^og8x>13wv`IFGUcQc>;_k<3JgyO| zLl|#i*eH}|POuM6W>{MbgWi)8D3^=-gT&Fw{9{9X$WIA`-G+XaGm3#_mrWVS$Pd)! z@y)HJhMLuUz#j+oBC=rVwS6%mFDqG*s>>u*N_Kk`jZFtn7-(P)&wF=1w$s}p z5`gvg`=?ubtheTv6qgQ?ae9^~k4QDuRUHW|FY^bFPLKvV@Y-Hn)CbO#PBFcGEL&XW zM2TWC^TrZHTNMmKS7}!uPGDuOia>cCsXKFWE|%e)!v@VkNEo1uZ8YNp(dTnc44c`J z+O&q^O0BBhbdxp>iqY4I0(WUzsdcAYR|^D(@0^9Uu){~s&+lUbhr@c>v7~~nbok&f zW=r#TvOtUq-JgduU`1VtZ>~E7DGgnrL&!}}%KNppkg>CzmQY!HvF@v zpHF_Nohr|lcBTtpgwP9GJFmndu^g~c6GlD%mw@UsAEyh_^r#kq<+J65o-Q@_gAB3ZLcwMqjU476BrM*mjZd6;+ruJ%k>T`qp1xsso?u*pXM-7BhGuE|Q zh=N)Ko;i)%5mr733_sd>ZZwyAx{;yj6P~+A_?IIB4W394)flxei=38h56eo*X+EEj z1B(cZzPk$%t0$Vn1u%}B2?F?KjIz>L!Q>U7{=f)UjA4V+()bW(#UvaaGPW@okW|WE zqHFw>%M?tp*gt>MM*|iAgz%aFOyZ2RS&6PdS|w+2g-W;;Jfv5K@!1NQ4CO0{3grs} zDq}1K^c#lhT~z&6PJLCdfQ!xwVa1m~2} zx9sdwEf_Tta>^a2@3Z0k`^(@13x8GFuRzI1kun7_uS%r&?)MN)bKwy+E$hWWe0!TV z=mL_2YT{Sul7sUpA}!vi?uu!sLPCJvhTsJU>gK##2i7#c5#+#ovdZ5TX4NtYZl;}r zP`GSA?4HZZK*9@5PKwh&wpYli(t%F(D{0i*s(#&S{ON7oLr*&1)SDLBHCrg!HHI1a zh(D{bH|>J(T@5KaQVo~lBrn3G3$*`|Ol*4D*n9J8|Ee3IWaTl9PN>@9u!eVr=^5PZ z4+B>5{o%{oTlSjMpzfhZS(jdu6@^B#{y!c%gx7{1m=nv9(Ir$;%l zf_>QNs}eZs;fsbR>g1O(tVPj4nf9g|=1~PVX@x3dxp8@cSnS_mDA@w*PQ4C>eD7c- z7(}J5Xz|6UPKrj{JMF+b34&Ny6=>TqDxxJFx)fG}gz50&79r5$cF;D(l#@3Cp^gt=MM5AFNER04^IYDeIc^W+O4#cL(;dl4 zs#f4F5O5rXEx=bS_)+yv;fP9;*-JQe9+4J661DifkAiGq8b#Qqcoe0Rg0qp@kqnoD z;J6SQB}_i`Nm$u3TB2(e(KkUp^^%n{E7$T;q$jcA4EDhN%0M>d2o+;)qKMhXY(Bu~ zIP61i66Iyl=4NZly)0UBu{>>of^v;0N=0HDD94?HmRIOa1(D6-agkU5sMHLCQmg#o zbt)aeX>O}VPCGn2$tmxn;MJ}GNsPN_PqXqZya;n_ucBf!-E)i#Lj9cy5!j~r<(=&9Y5~13tw%;b&`~{K-nxG zxkGl6;JKITH%5&A_lr|4z9MBMd4`RlX7w1t%Rq6qE#+4@T zQF+6;eEMaP7CoF-#i-2r0@?xhMnJOZ-5I^#R5zo#r)6r|&}$&>u(k*i2MLoKakTFV zWq%bW1mm)**SI$!pGUys+}@UD=QR6<&L&t)F_I?g?h&c)oFFJIA*jq`3@)A&zt?gm zD7Y2pfQ^8VxhX2ep3;MxQQ%KF$@CjuLAe1m1Bp6U4pisdMf%s#o7WijR3^sBtI4p4 z>BA@bKvA!A6eojWbV#S)=kz1s$H8{eJqHnpuL)Qw$rWNYO`5w2lH7?K_b9)0hzfnQ znCV5pf`ZG127M7oPA!P~(4#N^s(3_KW9%Si4g30MP1zhK&Qq1aa?4XuANWKSQ*Gsg zB@HTsl_Ah+6ovflflR6K$yD zqu_L+TFq1EhuIadktr2UqEj(?8DosmMdJ#KQ4GifD@Ro!OSRw>Vcadhw2P>L6%PRc$CpP=Og+Z>`}G1MDjgY>(}U@Hm#R2P7JX z)LWf&lVDF;uhVTmQ45`%iXcdw$1Kc=sSLVBdOHU@kY z7yo1M(eBuG4zYO1*IfUsCmz=}N>pp9cTeJJw)PH~EuJm7!&>u5iLfj9hzrMvJ4LkNMZ?;T@cRVj)XH3gfo`Jvcp`%jMLmW z(&W^|uBnS*>Jp8v#ithIr^Lr}@@6h7$FE@7?5NYH&s)PC8U%@2pc6HqBQr?M0>p*6 zuQSh2;cJg+H4upXghi&|L9)!F$XV-U6kecTW=|M(!3l3W1};5c#^Qb-#vqYqCJb`F zIs@OAFyHnP%xGgK+iE@4QTdjpo~>$KyKs*(bniT!!-ilP<$R3AzLVWaXs6ENOOD>- z)Y8?J*fR7DWYI|oQxG+vkaY5EaM9L_AwHpS)*w&qswFM;Qq@wgXuJi9^%+X6L25{| zBQP*r839ZFH*N24dO^FGa4RHE<(o8^k!d4owm2)yn{%ojVBAYY_h&)(WyAyd1biD# z6|-pd5+@xYa-q+)a9F&Eu8BljP@M{VOrV7#8^Z69N^RR+f+FObENY*o>`aORkOf?w z#f>tM2E?cv1j~0}r%U4vab9A`FrhOYvdks=%xNA%%{IU zPyI85lOBkd0o+Pb1A)?aR@IR|@cjMY(m#Sl8^RL=f{xE9MmO$73A~{DYcd)ir+ZP~ zBXghJ-iGAw)=`j3i$ijXR@!7yNCTKe2e*&4d+6DU6{Q!`z*>c{jNT2&fy$^h88Un(F8ujU%Zk{W$ghl!$gL#g6OxErU zfqM|^$WDq==KEI)<8TRQwrpt>yz#F~bhoCIs9jvS3O^d`wlo zSG?i;q#~0=&(dqyPDd$S0eX{jHMiAzYCK}A%PJnpAinon7Dd<#>BOzl9h*bW*Bn=_dxJK zbJmz^y6;Cg=>-}5FbaDfN67skvL^sB zN1k~2geVmq6x29@LF)8-jKgh;P;y z;*{)iRcO#69|UDp#HvCHhLjZ@p2Qf$D#GI*fAD+Y6veh*; zYi*znglJV?yY`Ilqy?`D(COAC!GO|Nhir-4U32BeZe-u5@?*Wlg-1||0!qHrjtKoR z{F^yz%+~1kwo1_5F}hO+EM%r$&)CVYVe9HsNM=J3C7YdMV^;`~gvV2M`YsV7fk>9_ z>v?!bNu_Ja{q5j;2M&WV*-{Y!Up`a0_FqyB(3>)!2iqXJu1XIg5#bw=nx}w$D-&udbr5ZV<`{&?~}KQ(X%Bn1L$^aum105~f|*B?ohT zdsx)plXGYkcJ&l)bjrz6n@MyPKO_6&O)|VjqfZl}ooJX|E(FmGfMDiLkTC5hfx>Az z`W}zTXNJ7~LNf;8HA`VU0v6pdbt3&&Ch)GXE&{4+Qk9&$fhz%^qT3uOXQCfGxHbX9 zw4ViOyH8aWGa;G*5MD@_5Yfb+0qHeiZx@}V1=i6uT}sZ+Lb%wZEdZZ$_SCF9LO34A zK>N{yQtkwBBqhIwUc5R3>nxNbfH`-jbfo3(UM(=A!)>#}?eduros)y7w~bNM?S5I_ zj4of8T|QlK@=yIjomJ}q%8`o@r+Y;JP>J%c6IiFTzYs8foNr%*F}jY?8s%p`3P+~+ zKb@X-)RW(R=z5K3D*TaLeq6_I9Th-m)02Wmn^N4ltd93PEe?6 zV9;|(mLm@m(07t7zQfAM-2}vC7o?@2^_WPsRiPQf z2m?&v3%^HE5t5%^QRh^(#arOFWyTl?P0jQ3FwW>;njUBZ!EcG@yC4QNROZM!8%}@{ zdx`|55-n!B1vR+&mTuF+}ifB48B$qHM_~Cc)xEO-s8L~A3>NWPsC&P5jrU@@Xz`>WH z2PpL-ksAfYrO8;mG%NF{XFv(5pq-IPk4_?CBzH>q#2Duj=~hnAuX)PeW)<}8vMF>` z8ea?Mg`I+=5U8&%wM!J&)?fNiX3(kcTk5V_j;}3C~pMWH>KwGoJ_+=_0G) ztZ%)TqeDes_gn?C!Ep{Zk4MdAc_y_oqS<2Kq#_MuFP=@G=%Jcrqu`q{^yp5Ym*+#O zevvKpX@Wnb1v)ACNv@_uHt_rSvyVT60Ar1UysB)6KG_Vx5O>23jZUaxi*9CCcB|h7 z9m1kTVS|%Foy&W1#Pad|`xhh;sLa^&=)-jyLl6_E=N#|yt#gWaZCaW=#yj_>A(6tt zF#!?UBIf*(tyV9{q`@+M4VInsw5$2vX4C5trh(LgpIB`aG)3u=Qra8UYJ%w)1ij8+ zGZ=LS^}3gx4764=&Q=V7tzgGhHl0$5GB;mm_M~W=W=yC}Gh3c@U;0~CpF)G7#z7Lo zmY%5u#1i((_6@%-HO!X83PC+ZBj^UPs$3^idsBVuOAFPV0V$F09*%dh~oD=@q({MK)q zi&-;~m&tCWjdtd6?ZBZ^2ey2sz;Yo@Cee&p&9qqststK`k`%Lv<8u=WR)6-~=)<2W zra5e4B6={pcio-0Xw+L1ECIA@z&>WMUl-#q3_Z4 zPK;j9VYXlBH%isMdB-F?qcQa(_!guZNnWJ_*J%~k!1hVT@0&60qQNy~91GR^R$&pe z$Q1H7Fv(pekz&l9=aE+Xk4~lj{()V32<5jEHKALldmlCqKM_XHlwVLMUsK7d8Qa*L ze1{36hG3rf1Rvc^cl1>h!j7J7>1*+=j#9v_uBtL4PX|mvP+@FtWh*0s3Hy+?*M)Et zFtawuJ9An9IjE!&s==sik>NV;rG59Ld2L9y8Z>5BFi~{9P54T~7P@Wg^pHpxZ4ey1 zzsbN0M-2C(t=n5nzIS$wdI2tLaJ%yf|KwLMVK9+W8R5ID+18{TdR#smB0lx`!z#fF z!F+7df9T`u0>|5q)UOWZ+9zZeTwuh90qG;V?wASSxQw#%pl8Xesn?k?31I!pPvddG zLF5PAj}6MyEEwR~&RiEvZ8Wm)uboyeJi znzUOA)6)Qd6(`^j85cx$!YL1e3o>MWQN(+(!i&+up3k2}IX0>D;j?w*FumgJt%XH& zvZv`9l-PinANBNT5nSC-sdP%23wa^qghXXXRY)x5Ndo?6_*Te>_?K;P_OFu>897lj zM#@_-0GMe=PqI@_^DdwilkP9z>ve=~mUnqz6;N^$g8Pj~-r%$^5{Bf}L6i3reAPlAlSd`H+|pF(j_JJbiJO1Ut2~7!KIIB#vy9k zx#D747$lVQM)w&DHzvb3Jh?%%icwfv1##+0d0L^P23;xVgf*dMg~SeHu; zo8=h+q{MpIuR4I^liL8)Ym4e-c|G&NYU5rn%Hu5R?Xs8CRsK@ighnr@2i2UXR>TL} zwaCxamqp78qI!yRg1KYK^sUd`i_HgP!oZjaFoc#i4AKtXr`%ATt)^y8{g7Z3pZPxR zR_fJ_(xIPfr9nLkb~eiF1-YV+UN(2HC7K%rq_`rVFBTp(%@JgoL6WPgXReFaC|9oBjOE&$ zlGjo4fL$ypC$gB1Kj#cG$zZ=&nkX+nrqg6LA30Iklv$&l2qS<(C$2d;E~1U*mMk!# z7wukqLV28t2xq!TPedxp`NK8vroen4=l+Cbdj3yM+SHu;b2nrO zRV42#dwv*9h{%j@&uKGViv!}GQvLHzFC`MZl@B)YeeTt8Rr-2@#6c%$PaDc-msDHj1oatHOJ?X=!kJ;zbN z@}O7eLJ6VZqm$&ce$mM{)2)avQ07BCLkR447>%Q_s8*ILeqK*Ka5bvEvT$JamW zc`XId`L8PMxx}mBZ&?h+iSkayF-@we zd|!Q1bFzB6H6cQN4Sv-o)w~WrxF@j`($`OAAc6m>!dCUZ=Cu{Sa<8>iA#)EljiT|P zqw$*7sOT#731oNfpgRlth2f>!0z46-gGE30Q}rr%Ty<&cN9bL7rTR7h)2lZA-16uz z=%Mkaw<0Zjx5!SR(bb7~cp~TkNHB69Kzn<#CcX-<4Kr0sm(?mYr9w?9PIg!Zj~Dz{ zD^ATSAbC?y)!-m(!-mo>2tq1go}X^&U1^Yd0P0C}I`wd(imiS-*~+$t?S8u}{rdED zzdpvB6z4^VaMpVNIBT$Ok+(!V+f+lVA>tMpJa9e&1 zjG(a-=y6|~u$q^$<{b(a*GxDa7pcxls_nMxa>-dqv)**x{h8IkAA%!{K#9i9tWC97 zcc_m%n*QbvUj)sXQM>f~3AO9YpHI8aBGXworqgl+TsE79b2b;PE*V}+s9si)-)#^) zD}T!|L0qF|%mDQ_-cWDkM?QP0Lt_OQu{e8bEKdIF@P_(6QpRXUe;V%`mWV`>`cx;fJW=NeW~DDUE)^Ri=Yh7W`JGD`+Po3XC?0J5Gl( z8E>>{g~>3cf{j-=%dHWamkCpK9l8mG%jP^_tnh#ap)w=wE$F|omyYIVtNRaSX;+y8{Eq{6MueU3M)Oog zUAmc3B<6vsMX79XR&70L`AhtdXH?0_0UZ)ruO)tut}oN9r}RZOzX45(q2mgpr$_$M zL(-4c4KI!#XAp@7rdO%@__4qAXw_d@U4J;UE<6{W5P+@9PZp^hpJicotY9-9I5c_gA!2Kl%85TezxX1GkGp9&OQ!1dOeF}8+bfk zY%kSYFc9*8bvy=BFki$YaVbxMJW|3B>&E`f??VYjZowO}y@FKL-r;sQbDKUd5sdD2 z;s55(88Zv3)AP=rf51ulhhT+!@T*PS+O(v7hycf5A3&ISz5NNqipAhl@rWE~E8}E9 zn2bCk%N2jvd2@K#eDQRUZj=9BAH6@{e?Neq`|xLXcl$H^^JQ@MIl$Ea|N84^FNfDFD?69lqYr~#Yvr=lTEY4|e;vMmu%CVZYcLoPM%G)(z^@lMvp}(2 zzwS)`u%ZhCiv}TIXsEm0JU_zCSQUJi!j+j^A*|2emz3B3$)L&5{T&2a-C4JKEyN>6 z@mnGa7IU-C;vg88T8HW7OBQ^JiF_i(cq;_=yVxEz_fTuO^O!k3-VwYJu72z^D;5>K zUtsb}U?*7>Mp2kgvPi3;r&(3_u>PjX5-u$%0fZQI^buL$N-S;EQh@0LE-ekRm{9|g zO3Uvv<&z6I%`uJ{LR(@z_k*LUMVu~RB&Jx3a7|+Y8-mT|7BfCkl1?J-*g;PO=@B0c z-QG6aMbPxA+08wI_#d-yOwDCk8u;hhBUFV{+iKN{wv{TP)6@!n9p%Pe>%P2MHWX(V zYt+DV!0`s)Jnj)<2-c;wKxP5Wh^B7DvL8WF2POPrg}CQ0^w1RWf)JdDX?xsCSjGjg zl7$7guneW01%Vl7*QjJ{HMREHCSbBzjC28FGifgNSW{nX1JZcrRonIQL zLpOF(o}}mw6xax;Zq670OO)V%K6HT*m{sNtp`#fS(k-nZS_hv?xUSY|c!DAQ+Zc!7 zfAuxhg+~o?3X533%Prq1!mgTk&xuqDm^Jid&@PqIxXm6l@X){m!^+cGN4kYD4U$Rk z=cNG<`QjEFsS?eKy7K4dQIjC9wK|iHyfXn)@sr6Z++C4>*rp0nualhQkeY5KC-LbP ze2L69Bn6PvuHw&t6~+%~lIv@=JaZOG@A^vDOT#jL1t$m39`&N)4DAUsj2xjwixR=2 zgf}+!#xkk3e0X|Uh7SzApz=!rlJF12jgsit2>s@7pP1ztC@i>dHp87#c`PA7V zPn=HK6E);b^hW`fqZVx_ zW{?8NgSFPFhi5PxcK>h&2&Pjls}eUBNrh8KvasjHh=90EsTk6sAZB40_nGg)N-w^s zc$9v{NfKqxj$geDXjPgFmI3Hzkul`h4t?q_0o~BP&!#Fo@jZS3TfkVfZQ7zMRNh`35iC$+;_? z6!|x7EhVj`uvOGs+LQydtbwPMA+?k}Yr6_iQ5>&0PnQWxC|XDjIuBYP=dpmmP1D9X zm@4b^+fN&PLZD%`Fk(vDxKs;aGATpf#Nb!(DlE<$-6)1YbC)YwqsyN-Vz$TMFp%y@ zrlj$mlpaDrzTm31Zc%%X;Ni(6930h@TGC2;WzSE=v9cV1?Y#UBCNy&+M!P&(*PF)6 zVm(ccYN6d2%bjR137rh&#^$MPrVgTCCdx=m^|RTmX{KW?F3TupKD7FAmcxYliTDY+ z6j~^}VzF&QUWWhTFF?2zc?@sDm*EMB2X8{OrUTiuuQnIR=8DEW7ReHZ)u0ATgfUj0 z*LBj3An&AnTTO!OB&FMGLblb!+*T8IK6^J4$-@-sIH4gdpwyP04);R2n@+IG>6Gu( zkR$3axB&tnS%NuWQ5Rw65uJN@wvkShgYKfH)K^Z-`U83bBIsp6!Trt{4w7+M5glSuPAZUw z7%782j@vlPHpxtn7n&vN$8<<{$PyP|QoUmmWmP8(Q-@faCc<hvrZH|T;jP?5u!Uy4u#xKJROpwc)X9dbSIB4xXZatdOK}?RH z^41}@tZ9IJChY0=@`lsz<;{kr&9Xy7ROPDn_7YdMn;6D0;(?7a1fh7J)Wrp=PnYQi z2on=m>nN$*sRkTJi&a46u5%!#L=dT%CP3tW3tRpWu7I!E~uBNzd6}q$(Jec6YQVAX&CsKQD12uK1)3(P>U2jn%vA+JWk8`5(#m3 zXVE#D12#Ve&_@1TROH2xGVO-<4Y8!PN=9p-C>-KTKgx4n;6_?gA{i;$%`3VD6Qu zQ$5ngN(@2RZebn?AqiJv`lgDARN(-aQIBiiqE1SLTzn1ZM?}sxm`-x2q54LAl&?pa3?k%=%!q$=v*68?rLXAWuD0$QTa zJ!anUnQ!-fIsxsW4=+~p_(#-+px*F;lbn`8|l#J(8tF-SQMV(UXVxw~PKA?P+sL`!Ii~ zZ4wFybeN$~1)O3s_5>PLnCnGouw>7HK-IArv@q{_4$ zs%2K6jKwSOPZlCQh9$l9$tFh?IU%uRw=aQ&XG{|Aj501e}41prG$^4I_X diff --git a/dependencies/WiFiClientSecure/WiFiClientSecure.cpp b/dependencies/WiFiClientSecure/WiFiClientSecure.cpp deleted file mode 100644 index 3b2c495b..00000000 --- a/dependencies/WiFiClientSecure/WiFiClientSecure.cpp +++ /dev/null @@ -1,197 +0,0 @@ -/* - WiFiClientSecure.cpp - Client Secure class for ESP32 - Copyright (c) 2016 Hristo Gochkov All right reserved. - Additions Copyright (C) 2017 Evandro Luis Copercini. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include "WiFiClientSecure.h" -#include -#include -#include - -#undef connect -#undef write -#undef read - - -WiFiClientSecure::WiFiClientSecure() -{ - _connected = false; - - sslclient = new sslclient_context; - ssl_init(sslclient); - sslclient->socket = -1; - - _CA_cert = NULL; - _cert = NULL; - _private_key = NULL; - next = NULL; -} - - -WiFiClientSecure::WiFiClientSecure(int sock) -{ - _connected = false; - - sslclient = new sslclient_context; - ssl_init(sslclient); - sslclient->socket = sock; - - if (sock >= 0) { - _connected = true; - } - - _CA_cert = NULL; - _cert = NULL; - _private_key = NULL; - next = NULL; -} - -WiFiClientSecure::~WiFiClientSecure() -{ - stop(); -} - -WiFiClientSecure &WiFiClientSecure::operator=(const WiFiClientSecure &other) -{ - stop(); - sslclient->socket = other.sslclient->socket; - _connected = other._connected; - return *this; -} - -void WiFiClientSecure::stop() -{ - if (sslclient->socket >= 0) { - close(sslclient->socket); - sslclient->socket = -1; - _connected = false; - } - stop_ssl_socket(sslclient, _CA_cert, _cert, _private_key); -} - -int WiFiClientSecure::connect(IPAddress ip, uint16_t port) -{ - return connect(ip, port, _CA_cert, _cert, _private_key); -} - -int WiFiClientSecure::connect(const char *host, uint16_t port) -{ - return connect(host, port, _CA_cert, _cert, _private_key); -} - -int WiFiClientSecure::connect(IPAddress ip, uint16_t port, const char *_CA_cert, const char *_cert, const char *_private_key) -{ - int ret = start_ssl_client(sslclient, ip, port, _CA_cert, _cert, _private_key); - if (ret < 0) { - log_e("lwip_connect_r: %d", errno); - stop(); - return 0; - } - _connected = true; - return 1; -} - -int WiFiClientSecure::connect(const char *host, uint16_t port, const char *_CA_cert, const char *_cert, const char *_private_key) -{ - struct hostent *server; - server = gethostbyname(host); - if (server == NULL) { - return 0; - } - IPAddress srv((const uint8_t *)(server->h_addr)); - return connect(srv, port, _CA_cert, _cert, _private_key); -} - - -size_t WiFiClientSecure::write(uint8_t data) -{ - return write(&data, 1); -} - -int WiFiClientSecure::read() -{ - uint8_t data = 0; - int res = read(&data, 1); - if (res < 0) { - return res; - } - return data; -} - -size_t WiFiClientSecure::write(const uint8_t *buf, size_t size) -{ - if (!_connected) { - return 0; - } - int res = send_ssl_data(sslclient, buf, size); - if (res < 0) { - - stop(); - res = 0; - } - return res; -} - -int WiFiClientSecure::read(uint8_t *buf, size_t size) -{ - if (!available()) { - return -1; - } - int res = get_ssl_receive(sslclient, buf, size); - if (res < 0) { - - stop(); - } - return res; -} - -int WiFiClientSecure::available() -{ - if (!_connected) { - return 0; - } - int res = data_to_read(sslclient); - if (res < 0 ) { - stop(); - } - return res; -} - -uint8_t WiFiClientSecure::connected() -{ - uint8_t dummy = 0; - read(&dummy, 0); - - return _connected; -} - -void WiFiClientSecure::setCACert (const char *rootCA) -{ - _CA_cert = rootCA; -} - -void WiFiClientSecure::setCertificate (const char *client_ca) -{ - _cert = client_ca; -} - -void WiFiClientSecure::setPrivateKey (const char *private_key) -{ - _private_key = private_key; -} - diff --git a/dependencies/WiFiClientSecure/WiFiClientSecure.h b/dependencies/WiFiClientSecure/WiFiClientSecure.h deleted file mode 100644 index 5ffc3ae0..00000000 --- a/dependencies/WiFiClientSecure/WiFiClientSecure.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - WiFiClientSecure.h - Base class that provides Client SSL to ESP32 - Copyright (c) 2011 Adrian McEwen. All right reserved. - Additions Copyright (C) 2017 Evandro Luis Copercini. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef WiFiClientSecure_h -#define WiFiClientSecure_h -#include "Arduino.h" -#include "IPAddress.h" -#include -#include "ssl_client.h" - -class WiFiClientSecure : public Client -{ -protected: - bool _connected; - sslclient_context *sslclient; - - const char *_CA_cert; - const char *_cert; - const char *_private_key; - -public: - WiFiClientSecure *next; - WiFiClientSecure(); - WiFiClientSecure(int socket); - ~WiFiClientSecure(); - int connect(IPAddress ip, uint16_t port); - int connect(const char *host, uint16_t port); - int connect(IPAddress ip, uint16_t port, const char *rootCABuff, const char *cli_cert, const char *cli_key); - int connect(const char *host, uint16_t port, const char *rootCABuff, const char *cli_cert, const char *cli_key); - size_t write(uint8_t data); - size_t write(const uint8_t *buf, size_t size); - int available(); - int read(); - int read(uint8_t *buf, size_t size); - int peek() - { - return 0; - } - void flush() {} - void stop(); - uint8_t connected(); - - void setCACert(const char *rootCA); - void setCertificate(const char *client_ca); - void setPrivateKey (const char *private_key); - - operator bool() - { - return connected(); - } - WiFiClientSecure &operator=(const WiFiClientSecure &other); - bool operator==(const bool value) - { - return bool() == value; - } - bool operator!=(const bool value) - { - return bool() != value; - } - bool operator==(const WiFiClientSecure &); - bool operator!=(const WiFiClientSecure &rhs) - { - return !this->operator==(rhs); - }; - - int socket() - { - return sslclient->socket = -1; - } - - //friend class WiFiServer; - using Print::write; -}; - -#endif /* _WIFICLIENT_H_ */ diff --git a/dependencies/WiFiClientSecure/ssl_client.cpp b/dependencies/WiFiClientSecure/ssl_client.cpp deleted file mode 100644 index 15c2cb81..00000000 --- a/dependencies/WiFiClientSecure/ssl_client.cpp +++ /dev/null @@ -1,261 +0,0 @@ -/* Provide SSL/TLS functions to ESP32 with Arduino IDE -* -* Adapted from the ssl_client1 example of mbedtls. -* -* Original Copyright (C) 2006-2015, ARM Limited, All Rights Reserved, Apache 2.0 License. -* Additions Copyright (C) 2017 Evandro Luis Copercini, Apache 2.0 License. -*/ - -#include "Arduino.h" -#include -#include -#include -#include -#include -#include -#include "ssl_client.h" - -const char *pers = "esp32-tls"; - -static int handle_error(int err) -{ -#ifdef MBEDTLS_ERROR_C - char error_buf[100]; - mbedtls_strerror(err, error_buf, 100); - log_e("%s", error_buf); -#endif - log_e("MbedTLS message code: %d", err); - return err; -} - - -void ssl_init(sslclient_context *ssl_client) -{ - mbedtls_ssl_init(&ssl_client->ssl_ctx); - mbedtls_ssl_config_init(&ssl_client->ssl_conf); - mbedtls_ctr_drbg_init(&ssl_client->drbg_ctx); -} - - -int start_ssl_client(sslclient_context *ssl_client, uint32_t ipAddress, uint32_t port, const char *rootCABuff, const char *cli_cert, const char *cli_key) -{ - char buf[512]; - int ret, flags, timeout; - int enable = 1; - log_i("Free heap before TLS %u", xPortGetFreeHeapSize()); - - log_i("Starting socket"); - ssl_client->socket = -1; - - ssl_client->socket = lwip_socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - if (ssl_client->socket < 0) { - log_e("ERROR opening socket"); - return ssl_client->socket; - } - - struct sockaddr_in serv_addr; - memset(&serv_addr, 0, sizeof(serv_addr)); - serv_addr.sin_family = AF_INET; - serv_addr.sin_addr.s_addr = ipAddress; - serv_addr.sin_port = htons(port); - - if (lwip_connect(ssl_client->socket, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) == 0) { - timeout = 30000; - lwip_setsockopt(ssl_client->socket, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout)); - lwip_setsockopt(ssl_client->socket, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout)); - lwip_setsockopt(ssl_client->socket, IPPROTO_TCP, TCP_NODELAY, &enable, sizeof(enable)); - lwip_setsockopt(ssl_client->socket, SOL_SOCKET, SO_KEEPALIVE, &enable, sizeof(enable)); - } else { - log_e("Connect to Server failed!"); - return -1; - } - - fcntl( ssl_client->socket, F_SETFL, fcntl( ssl_client->socket, F_GETFL, 0 ) | O_NONBLOCK ); - - log_i("Seeding the random number generator"); - mbedtls_entropy_init(&ssl_client->entropy_ctx); - - ret = mbedtls_ctr_drbg_seed(&ssl_client->drbg_ctx, mbedtls_entropy_func, - &ssl_client->entropy_ctx, (const unsigned char *) pers, strlen(pers)); - if (ret < 0) { - return handle_error(ret); - } - - log_i("Setting up the SSL/TLS structure..."); - - if ((ret = mbedtls_ssl_config_defaults(&ssl_client->ssl_conf, - MBEDTLS_SSL_IS_CLIENT, - MBEDTLS_SSL_TRANSPORT_STREAM, - MBEDTLS_SSL_PRESET_DEFAULT)) != 0) { - return handle_error(ret); - } - - /* MBEDTLS_SSL_VERIFY_REQUIRED if a CA certificate is defined on Arduino IDE and - MBEDTLS_SSL_VERIFY_NONE if not. - */ - if (rootCABuff != NULL) { - log_i("Loading CA cert"); - mbedtls_x509_crt_init(&ssl_client->ca_cert); - mbedtls_ssl_conf_authmode(&ssl_client->ssl_conf, MBEDTLS_SSL_VERIFY_REQUIRED); - ret = mbedtls_x509_crt_parse(&ssl_client->ca_cert, (const unsigned char *)rootCABuff, strlen(rootCABuff) + 1); - mbedtls_ssl_conf_ca_chain(&ssl_client->ssl_conf, &ssl_client->ca_cert, NULL); - //mbedtls_ssl_conf_verify(&ssl_client->ssl_ctx, my_verify, NULL ); - if (ret < 0) { - return handle_error(ret); - } - } else { - mbedtls_ssl_conf_authmode(&ssl_client->ssl_conf, MBEDTLS_SSL_VERIFY_NONE); - log_i("WARNING: Use certificates for a more secure communication!"); - } - - if (cli_cert != NULL && cli_key != NULL) { - mbedtls_x509_crt_init(&ssl_client->client_cert); - mbedtls_pk_init(&ssl_client->client_key); - - log_i("Loading CRT cert"); - - ret = mbedtls_x509_crt_parse(&ssl_client->client_cert, (const unsigned char *)cli_cert, strlen(cli_cert) + 1); - if (ret < 0) { - return handle_error(ret); - } - - log_i("Loading private key"); - ret = mbedtls_pk_parse_key(&ssl_client->client_key, (const unsigned char *)cli_key, strlen(cli_key) + 1, NULL, 0); - - if (ret != 0) { - return handle_error(ret); - } - - mbedtls_ssl_conf_own_cert(&ssl_client->ssl_conf, &ssl_client->client_cert, &ssl_client->client_key); - } - - /* - // TODO: implement match CN verification - - log_i("Setting hostname for TLS session..."); - - // Hostname set here should match CN in server certificate - if((ret = mbedtls_ssl_set_hostname(&ssl_client->ssl_ctx, host)) != 0) - { - return handle_error(ret); - - } - */ - - mbedtls_ssl_conf_rng(&ssl_client->ssl_conf, mbedtls_ctr_drbg_random, &ssl_client->drbg_ctx); - - if ((ret = mbedtls_ssl_setup(&ssl_client->ssl_ctx, &ssl_client->ssl_conf)) != 0) { - return handle_error(ret); - } - - mbedtls_ssl_set_bio(&ssl_client->ssl_ctx, &ssl_client->socket, mbedtls_net_send, mbedtls_net_recv, NULL ); - - log_i("Performing the SSL/TLS handshake..."); - - while ((ret = mbedtls_ssl_handshake(&ssl_client->ssl_ctx)) != 0) { - if (ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE && ret != -76) { //workaround for bug: https://github.com/espressif/esp-idf/issues/434 - return handle_error(ret); - } - delay(10); - vPortYield(); - } - - - if (cli_cert != NULL && cli_key != NULL) { - log_i("Protocol is %s Ciphersuite is %s", mbedtls_ssl_get_version(&ssl_client->ssl_ctx), mbedtls_ssl_get_ciphersuite(&ssl_client->ssl_ctx)); - if ((ret = mbedtls_ssl_get_record_expansion(&ssl_client->ssl_ctx)) >= 0) { - log_i("Record expansion is %d", ret); - } else { - log_i("Record expansion is unknown (compression)"); - } - } - - log_i("Verifying peer X.509 certificate..."); - - if ((flags = mbedtls_ssl_get_verify_result(&ssl_client->ssl_ctx)) != 0) { - log_e("Failed to verify peer certificate!"); - bzero(buf, sizeof(buf)); - mbedtls_x509_crt_verify_info(buf, sizeof(buf), " ! ", flags); - log_e("verification info: %s", buf); - stop_ssl_socket(ssl_client, rootCABuff, cli_cert, cli_key); //It's not safe continue. - return handle_error(ret); - } else { - log_i("Certificate verified."); - } - - log_i("Free heap after TLS %u", xPortGetFreeHeapSize()); - - return ssl_client->socket; -} - - -void stop_ssl_socket(sslclient_context *ssl_client, const char *rootCABuff, const char *cli_cert, const char *cli_key) -{ - log_i("Cleaning SSL connection."); - - if (ssl_client->socket >= 0) { - close(ssl_client->socket); - ssl_client->socket = -1; - } - - mbedtls_ssl_free(&ssl_client->ssl_ctx); - mbedtls_ssl_config_free(&ssl_client->ssl_conf); - mbedtls_ctr_drbg_free(&ssl_client->drbg_ctx); - mbedtls_entropy_free(&ssl_client->entropy_ctx); - - if (rootCABuff != NULL) { - mbedtls_x509_crt_free(&ssl_client->ca_cert); - } - - if (cli_cert != NULL) { - mbedtls_x509_crt_free(&ssl_client->client_cert); - } - - if (cli_key != NULL) { - mbedtls_pk_free(&ssl_client->client_key); - } -} - - -int data_to_read(sslclient_context *ssl_client) -{ - int ret, res; - ret = mbedtls_ssl_read(&ssl_client->ssl_ctx, NULL, 0); - //log_e("RET: %i",ret); //for low level debug - res = mbedtls_ssl_get_bytes_avail(&ssl_client->ssl_ctx); - //log_e("RES: %i",res); - if (ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE && ret < 0 && ret != -76) { - return handle_error(ret); - } - - return res; -} - - -int send_ssl_data(sslclient_context *ssl_client, const uint8_t *data, uint16_t len) -{ - //log_i("Writing HTTP request..."); //for low level debug - int ret = -1; - - while ((ret = mbedtls_ssl_write(&ssl_client->ssl_ctx, data, len)) <= 0) { - if (ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE && ret != -76) { - return handle_error(ret); - } - } - - len = ret; - //log_i("%d bytes written", len); //for low level debug - return ret; -} - - -int get_ssl_receive(sslclient_context *ssl_client, uint8_t *data, int length) -{ - //log_i( "Reading HTTP response..."); //for low level debug - int ret = -1; - - ret = mbedtls_ssl_read(&ssl_client->ssl_ctx, data, length); - - //log_i( "%d bytes readed", ret); //for low level debug - return ret; -} diff --git a/dependencies/WiFiClientSecure/ssl_client.h b/dependencies/WiFiClientSecure/ssl_client.h deleted file mode 100644 index 5fc98ad7..00000000 --- a/dependencies/WiFiClientSecure/ssl_client.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Provide SSL/TLS functions to ESP32 with Arduino IDE - * by Evandro Copercini - 2017 - Apache 2.0 License - */ - -#ifndef ARD_SSL_H -#define ARD_SSL_H -#include "mbedtls/platform.h" -#include "mbedtls/net.h" -#include "mbedtls/debug.h" -#include "mbedtls/ssl.h" -#include "mbedtls/entropy.h" -#include "mbedtls/ctr_drbg.h" -#include "mbedtls/error.h" - -typedef struct sslclient_context { - int socket; - mbedtls_net_context net_ctx; - mbedtls_ssl_context ssl_ctx; - mbedtls_ssl_config ssl_conf; - - mbedtls_ctr_drbg_context drbg_ctx; - mbedtls_entropy_context entropy_ctx; - - mbedtls_x509_crt ca_cert; - mbedtls_x509_crt client_cert; - mbedtls_pk_context client_key; -} sslclient_context; - - -void ssl_init(sslclient_context *ssl_client); -int start_ssl_client(sslclient_context *ssl_client, uint32_t ipAddress, uint32_t port, const char *rootCABuff, const char *cli_cert, const char *cli_key); -void stop_ssl_socket(sslclient_context *ssl_client, const char *rootCABuff, const char *cli_cert, const char *cli_key); -int data_to_read(sslclient_context *ssl_client); -int send_ssl_data(sslclient_context *ssl_client, const uint8_t *data, uint16_t len); -int get_ssl_receive(sslclient_context *ssl_client, uint8_t *data, int length); - -#endif diff --git a/esp32-esp8266_iot-manager_modules_firmware.ino b/esp32-esp8266_iot-manager_modules_firmware.ino deleted file mode 100644 index 2d4b9031..00000000 --- a/esp32-esp8266_iot-manager_modules_firmware.ino +++ /dev/null @@ -1,89 +0,0 @@ -#include "set.h" - -void setup() { - //-------------------------------------------------------------- - File_system_init(); - Serial.println("SPIFFS_init"); - //-------------------------------------------------------------- - CMD_init(); - Serial.println("[V] CMD_init"); - //-------------------------------------------------------------- - sensors_init(); - Serial.println("[V] sensors_init"); - //-------------------------------------------------------------- - All_init(); - Serial.println("[V] All_init"); - //-------------------------------------------------------------- - WIFI_init(); - Serial.println("[V] WIFI_init"); - //-------------------------------------------------------------- - statistics_init(); - Serial.println("[V] statistics_init"); - //-------------------------------------------------------------- - initUpgrade(); - Serial.println("[V] initUpgrade"); - //-------------------------------------------------------------- - Web_server_init(); - Serial.println("[V] Web_server_init"); - //-------------------------------------------------------------- - MQTT_init(); - Serial.println("[V] MQTT_init"); - //-------------------------------------------------------------- - Time_Init(); - Serial.println("[V] Time_Init"); - //-------------------------------------------------------------- -#ifdef push_enable - Push_init(); - Serial.println("[V] Push_init"); -#endif - //-------------------------------------------------------------- -#ifdef UDP_enable - UDP_init(); - Serial.println("[V] UDP_init"); -#endif - //-------------------------------------------------------------- - - - - ts.add(TEST, 10000, [&](void*) { - getMemoryLoad("[i] periodic check of"); - //ws.textAll(json); - }, nullptr, true); - - - just_load = false; -} - - -void loop() { - -#ifdef OTA_enable - ArduinoOTA.handle(); -#endif - -#ifdef WS_enable - ws.cleanupClients(); -#endif - - not_async_actions(); - - handleMQTT(); - handleCMD_loop(); - handleButton(); - handleScenario(); -#ifdef UDP_enable - handleUdp(); -#endif - ts.update(); -} - -void not_async_actions() { - do_mqtt_connection(); - do_upgrade_url(); - do_upgrade(); -#ifdef UDP_enable - do_udp_data_parse(); - do_mqtt_send_settings_to_udp(); -#endif - do_i2c_scanning(); -} diff --git a/include/Cmd.h b/include/Cmd.h new file mode 100644 index 00000000..47577e82 --- /dev/null +++ b/include/Cmd.h @@ -0,0 +1,36 @@ + +#pragma once + +#include "Arduino.h" + +extern void CMD_init(); +extern void button(); +extern void buttonSet(); +extern void buttonChange(); +extern void pinSet(); +extern void pinChange(); +extern void handle_time_init(); +extern void pwm(); +extern void switch_(); +extern void pwmSet(); +extern void stepper(); +extern void stepperSet(); +extern void servo_(); +extern void servoSet(); +extern void serialBegin(); +extern void serialWrite(); +extern void logging(); +extern void inputDigit(); +extern void digitSet(); +extern void inputTime(); +extern void button(); +extern void timeSet(); +extern void text(); +extern void textSet(); +extern void mqttOrderSend(); +extern void httpOrderSend(); +extern void firmware(); +extern void update_firmware(); +extern void Scenario_init(); +extern void txtExecution(String file); +extern void stringExecution(String str); diff --git a/include/FileSystem.h b/include/FileSystem.h new file mode 100644 index 00000000..ccec5ffb --- /dev/null +++ b/include/FileSystem.h @@ -0,0 +1,6 @@ +#pragma once + +#include +#include + +extern void File_system_init(); \ No newline at end of file diff --git a/include/Init.h b/include/Init.h new file mode 100644 index 00000000..c593153c --- /dev/null +++ b/include/Init.h @@ -0,0 +1,5 @@ +#pragma once + +extern void Scenario_init(); +extern void Device_init(); +extern void prsets_init(); diff --git a/include/Logging.h b/include/Logging.h new file mode 100644 index 00000000..e3be11af --- /dev/null +++ b/include/Logging.h @@ -0,0 +1,6 @@ +#pragma once + +#include + +extern void logging(); +extern void deleteOldDate(String file, int seted_number_of_lines, String date_to_add); \ No newline at end of file diff --git a/include/Mqtt.h b/include/Mqtt.h new file mode 100644 index 00000000..21805a4e --- /dev/null +++ b/include/Mqtt.h @@ -0,0 +1,11 @@ +#pragma once + +#include + +extern boolean MQTT_Connecting(); +extern boolean sendMQTT(String end_of_topik, String data); +extern boolean sendCHART(String topik, String data); +extern void sendSTATUS(String topik, String state); +extern void sendCONTROL(String id, String topik, String state); + +extern void do_mqtt_connection(); \ No newline at end of file diff --git a/include/Scenario.h b/include/Scenario.h new file mode 100644 index 00000000..06875256 --- /dev/null +++ b/include/Scenario.h @@ -0,0 +1,5 @@ +#pragma once + +#include + +extern void eventGen(String event_name, String number); \ No newline at end of file diff --git a/include/Sensors.h b/include/Sensors.h new file mode 100644 index 00000000..84a96345 --- /dev/null +++ b/include/Sensors.h @@ -0,0 +1,3 @@ +#pragma once + +void sensors_init(); \ No newline at end of file diff --git a/include/Strings_.h b/include/Strings_.h new file mode 100644 index 00000000..106957e0 --- /dev/null +++ b/include/Strings_.h @@ -0,0 +1,138 @@ +#pragma once + +// #include +#include + +#include +#include + +class char_array { + private: + char *p_stringarray; //initial input array + char *p_inputstring; //holds actual length data + //char **pp_database_string; //allocate data database.cpp + int stringsize; //holds array size to allocate memory + int charinput; //holds array input size + + public: + inline char_array(); //inline so other functions can call on it + inline ~char_array(); + inline void getinput(char *&); //retrieves user input + inline void grabline(char *&); //retrieve line with whitespace included NOT COMPLETE, may not need + inline int sortline(char **&, char *&); //sorts line into an array of strings and returns number of separate strings + inline int arraysize(); //returns size of string array + inline void printinput(); //print input string + inline void changedefaultsize(); //change default input size NOT COMPLETE +}; + +inline char_array::char_array() //constructor +{ + stringsize = 0; + charinput = 64; + p_stringarray = new char[charinput]; +} + +inline char_array::~char_array() //destructor +{ + delete[] p_inputstring; + delete[] p_stringarray; +} + +inline void char_array::getinput(char *&p_stringin) { + stringsize = 0; + + scanf("%63s", p_stringarray); //get input string + + while (p_stringarray[stringsize] != 0) //finding out the size of string array + { + stringsize++; + } + stringsize++; + + p_inputstring = new char[stringsize]; //reallocate memory block and set array inside + for (int i = 0; i < stringsize; i++) { + p_inputstring[i] = p_stringarray[i]; + } + + p_inputstring[stringsize - 1] = '\x00'; + + p_stringin = new char[stringsize]; //set pp_stringin + + p_stringin = p_inputstring; +} + +inline void char_array::grabline(char *&p_stringin) { + stringsize = 0; + std::cin.getline(p_stringarray, charinput); + while (p_stringarray[stringsize] != 0) { + stringsize++; + } + stringsize++; + p_inputstring = new char[stringsize]; + + for (int i = 0; i < stringsize; i++) { + p_inputstring[i] = p_stringarray[i]; + } + + p_stringin = new char[stringsize]; + p_stringin = p_inputstring; +} + +inline int char_array::sortline(char **&pp_stringin, char *&p_string) { + int position = 0; //position in string + int charcount = 1; //how many characters there are + int wordnum; //which word is being processed + int wordcount = 1; //number of words in string + int bookmark = 0; //holds last known position + + while (p_string[position] == ' ') { + position++; + } + + wordnum = position; //borrow wordnum to hold position value + while (p_string[position] != '\x00') //find total inputted string word length + { + if ((p_string[position] == ' ') && ((p_string[position + 1] != ' ') || (p_string[position + 1] != '\x00'))) { + wordcount++; + } + position++; + } + position = wordnum; //set position to original value + for (wordnum = 0; wordnum < wordcount; wordnum++) { + charcount = 1; + while (p_string[position] == ' ') { + position++; + } + while ((p_string[position] != ' ') && (p_string[position] != '\x00')) { + position++; + charcount++; + } + pp_stringin[wordnum] = new char[charcount]; + + for (int i = 0; i < charcount; i++) { + pp_stringin[wordnum][i] = p_string[i + bookmark]; + } + pp_stringin[wordnum][charcount - 1] = '\x00'; + bookmark = position + 1; + } + + return wordcount; +} + +inline int char_array::arraysize() { + if (stringsize != 0) { + return stringsize; + } else { + printf("Array size is set at 0\n"); + return 0; + } +} + +inline void char_array::printinput() { + printf("%s", p_inputstring); +} + +inline void char_array::changedefaultsize() { + printf("Input new default input string size: "); + scanf("%i", charinput); +} \ No newline at end of file diff --git a/include/TimeUtils.h b/include/TimeUtils.h new file mode 100644 index 00000000..6527d93d --- /dev/null +++ b/include/TimeUtils.h @@ -0,0 +1,14 @@ +#pragma once + +#include + +extern int timeToMin(String Time); +extern String GetDataDigital(); +extern String GetDate(); +extern String GetTimeWOsec(); +extern String GetTime(); +extern String GetTimeUnix(); +extern void reconfigTime(); +extern void saveConfig(); +extern String GetTimeUnix(); +extern void time_check(); diff --git a/include/Timers.h b/include/Timers.h new file mode 100644 index 00000000..0b74a588 --- /dev/null +++ b/include/Timers.h @@ -0,0 +1,10 @@ +#pragma once + +#include + +extern void Timer_countdown_init(); +extern void addTimer(String number, String time); +extern int readTimer(int number); +extern void delTimer(String number); +extern void timerStop(); +extern void delTimer(String number); \ No newline at end of file diff --git a/include/Upgrade.h b/include/Upgrade.h new file mode 100644 index 00000000..6a399da7 --- /dev/null +++ b/include/Upgrade.h @@ -0,0 +1,3 @@ +#pragma once + +extern void initUpgrade(); diff --git a/include/WiFiUtils.h b/include/WiFiUtils.h new file mode 100644 index 00000000..de80d0e0 --- /dev/null +++ b/include/WiFiUtils.h @@ -0,0 +1,4 @@ +#pragma once + +extern bool StartAPMode(); +extern void ROUTER_Connecting(); \ No newline at end of file diff --git a/include/Widgets.h b/include/Widgets.h new file mode 100644 index 00000000..fdb7e103 --- /dev/null +++ b/include/Widgets.h @@ -0,0 +1,8 @@ +#pragma once + +#include + +extern void createWidget(String widget_name, String page_name, String page_number, String file, String topic); +extern void createWidgetParam(String widget_name, String page_name, String page_number, String file, String topic, String name1, String param1, String name2, String param2, String name3, String param3); +extern void choose_widget_and_create(String widget_name, String page_name, String page_number, String type, String topik); +extern void createChart(String widget_name, String page_name, String page_number, String file, String topic, String maxCount); diff --git a/include/i2c_bus.h b/include/i2c_bus.h new file mode 100644 index 00000000..68440aae --- /dev/null +++ b/include/i2c_bus.h @@ -0,0 +1,7 @@ +#pragma once + +#include + +extern void do_i2c_scanning(); + +extern String i2c_scan(); \ No newline at end of file diff --git a/include/main.h b/include/main.h new file mode 100644 index 00000000..27d7c0f7 --- /dev/null +++ b/include/main.h @@ -0,0 +1,31 @@ + +#pragma once + +#include + +void getMemoryLoad(String text); + +extern String jsonReadStr(String& json, String name); +extern int jsonReadInt(String& json, String name); +extern String jsonWriteInt(String& json, String name, int volume); +extern String jsonWriteStr(String& json, String name, String volume); +extern void saveConfig(); +extern String jsonWriteFloat(String& json, String name, float volume); + +extern String getURL(String urls); + +extern String writeFile(String fileName, String strings); +extern String readFile(String fileName, size_t len); +extern String addFile(String fileName, String strings); + +extern String selectFromMarkerToMarker(String str, String found, int number); +extern String selectToMarker(String str, String found); +extern String deleteAfterDelimiter(String str, String found); +extern String deleteBeforeDelimiter(String str, String found); +extern String deleteBeforeDelimiterTo(String str, String found); + +extern void servo_(); +extern boolean isDigitStr(String str); +extern String jsonWriteStr(String& json, String name, String volume); + +extern void led_blink(String satus); \ No newline at end of file diff --git a/include/push_pushingbox.h b/include/push_pushingbox.h new file mode 100644 index 00000000..ff3f9cf9 --- /dev/null +++ b/include/push_pushingbox.h @@ -0,0 +1,63 @@ +#pragma once + +#include "main.h" +#include "set.h" + +inline void Push_init() { + server.on("/pushingboxDate", HTTP_GET, [](AsyncWebServerRequest* request) { + if (request->hasArg("pushingbox_id")) { + jsonWriteStr(configSetup, "pushingbox_id", request->getParam("pushingbox_id")->value()); + } + + saveConfig(); + + request->send(200, "text/text", "ok"); // отправляем ответ о выполнении + }); +} + +inline void pushControl() { + String title = sCmd.next(); + title.replace("#", " "); + String body = sCmd.next(); + body.replace("#", " "); + + static String body_old; + + const char* logServer = "api.pushingbox.com"; + String deviceId = jsonReadStr(configSetup, "pushingbox_id"); + + Serial.println("- starting client"); + + WiFiClient client_push; + + Serial.println("- connecting to pushing server: " + String(logServer)); + if (!client_push.connect(logServer, 80)) { + Serial.println("- not connected"); + } else { + Serial.println("- succesfully connected"); + + String postStr = "devid="; + postStr += String(deviceId); + + postStr += "&title="; + postStr += String(title); + + postStr += "&body="; + postStr += String(body); + + postStr += "\r\n\r\n"; + + Serial.println("- sending data..."); + + client_push.print("POST /pushingbox HTTP/1.1\n"); + client_push.print("Host: api.pushingbox.com\n"); + client_push.print("Connection: close\n"); + client_push.print("Content-Type: application/x-www-form-urlencoded\n"); + client_push.print("Content-Length: "); + client_push.print(postStr.length()); + client_push.print("\n\n"); + client_push.print(postStr); + } + client_push.stop(); + Serial.println("- stopping the client"); +} diff --git a/set.h b/include/set.h similarity index 80% rename from set.h rename to include/set.h index c1de1f87..a6d4d9fd 100644 --- a/set.h +++ b/include/set.h @@ -1,3 +1,7 @@ +#pragma once + +#include + /******************************************************************* **********************FIRMWARE SETTINGS**************************** ******************************************************************/ @@ -26,66 +30,57 @@ boolean mb_4_of_memory = true; /*================================================================*/ #define wifi_mqtt_reconnecting 20000 #define blink_pin 2 -#define tank_level_times_to_send 10 //после скольки выстрелов делать отправку данных +#define tank_level_times_to_send 10 //после скольки выстрелов делать отправку данных #define statistics_update 1000 * 60 * 60 * 2 /*================================================================*/ - +//===============общие библиотеки и объекты=============================== +#include +#include +#include +#include +#include +#include //===============библиотеки и объекты для ESP8266======================= #ifdef ESP8266 -#include #include -#include #include +#include +#include ESP8266HTTPUpdateServer httpUpdater; #include WiFiUDP Udp; #include Servo myServo1; Servo myServo2; - #ifdef MDNS_enable #include #endif - #endif - //===============библиотеки и объекты для ESP32=========================== #ifdef ESP32 -#include +#include +#include #include #include #include -#include +#include #include -#include "AsyncUDP.h" AsyncUDP udp; -#include +#include Servo myServo1; Servo myServo2; - #ifdef MDNS_enable #include #endif - #endif - -//===============общие библиотеки и объекты=============================== -#include -#include "time.h" - #ifdef OTA_enable #include #endif -#include -#include -#include - -#include AsyncWebServer server(80); #ifdef WS_enable @@ -93,10 +88,25 @@ AsyncWebSocket ws("/ws"); #endif AsyncEventSource events("/events"); -#include - #include -enum {ROUTER_SEARCHING, WIFI_MQTT_CONNECTION_CHECK, SENSORS, STEPPER1, STEPPER2, LOG1, LOG2, LOG3, LOG4, LOG5, TIMER_COUNTDOWN, TIME, TIME_SYNC, STATISTICS, UDP, UDP_DB, TEST }; +#include +enum { ROUTER_SEARCHING, + WIFI_MQTT_CONNECTION_CHECK, + SENSORS, + STEPPER1, + STEPPER2, + LOG1, + LOG2, + LOG3, + LOG4, + LOG5, + TIMER_COUNTDOWN, + TIME, + TIME_SYNC, + STATISTICS, + UDP, + UDP_DB, + TEST }; TickerScheduler ts(TEST + 1); #include @@ -109,21 +119,21 @@ StringCommand sCmd; #include #define NUM_BUTTONS 6 boolean but[NUM_BUTTONS]; -Bounce * buttons = new Bounce[NUM_BUTTONS]; +Bounce *buttons = new Bounce[NUM_BUTTONS]; #ifdef level_enable -#include "GyverFilters.h" //настраивается в GyverHacks.h - MEDIAN_FILTER_SIZE +#include "GyverFilters.h" //настраивается в GyverHacks.h - MEDIAN_FILTER_SIZE GMedian medianFilter; #endif #ifdef dallas_enable -#include #include +#include OneWire *oneWire; DallasTemperature sensors; #endif -#ifdef dht_enable +#ifdef dht_enable #include DHTesp dht; #endif @@ -132,14 +142,14 @@ DHTesp dht; #ifdef bmp_enable #include -Adafruit_BMP280 bmp; // use I2C interface +Adafruit_BMP280 bmp; // use I2C interface Adafruit_Sensor *bmp_temp = bmp.getTemperatureSensor(); Adafruit_Sensor *bmp_pressure = bmp.getPressureSensor(); #endif #ifdef bme_enable #include -Adafruit_BME280 bme; // use I2C interface +Adafruit_BME280 bme; // use I2C interface Adafruit_Sensor *bme_temp = bme.getTemperatureSensor(); Adafruit_Sensor *bme_pressure = bme.getPressureSensor(); Adafruit_Sensor *bme_humidity = bme.getHumiditySensor(); @@ -148,10 +158,9 @@ Adafruit_Sensor *bme_humidity = bme.getHumiditySensor(); //#include //SoftwareSerial mySerial(14, 12); - //===============FIRMWARE VARS======================== boolean just_load = true; -const char* hostName = "IoT Manager"; +const char *hostName = "IoT Manager"; //JSON String configSetup = "{}"; String configJson = "{}"; @@ -179,7 +188,7 @@ String bme280P_value_name; String bme280H_value_name; String bme280A_value_name; -int sensors_reading_map [] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; +int sensors_reading_map[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; //============================0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14 //LOGGING @@ -188,7 +197,7 @@ int enter_to_logging_counter; //NTP and TIME String current_time; //SCENARIO -int scenario_line_status [] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; +int scenario_line_status[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; //ERRORS int wifi_lost_error = 0; int mqtt_lost_error = 0; @@ -204,10 +213,10 @@ boolean i2c_scanning = false; boolean udp_busy = false; unsigned int udp_port = 4210; #ifdef ESP8266 -IPAddress udp_multicastIP (255, 255, 255, 255); +IPAddress udp_multicastIP(255, 255, 255, 255); #endif #ifdef ESP32 -IPAddress udp_multicastIP (239, 255, 255, 255); +IPAddress udp_multicastIP(239, 255, 255, 255); #endif String received_ip; String received_udp_line; diff --git a/lib/ESP8266-StringCommand/StringCommand.cpp b/lib/ESP8266-StringCommand/StringCommand.cpp new file mode 100644 index 00000000..f6c0e0d4 --- /dev/null +++ b/lib/ESP8266-StringCommand/StringCommand.cpp @@ -0,0 +1,132 @@ +/** + * SerialCommand - A Wiring/Arduino library to tokenize and parse commands + * received over a serial port. + * + * Copyright (C) 2012 Stefan Rado + * Copyright (C) 2011 Steven Cogswell + * http://husks.wordpress.com + * + * Version 20120522 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this library. If not, see . + */ +#include "StringCommand.h" + +/** + * Constructor makes sure some things are set. + */ +StringCommand::StringCommand() + : commandList(NULL), + commandCount(0), + defaultHandler(NULL), + term('\n'), // default terminator for commands, newline character + last(NULL) +{ + strcpy(delim, " "); // strtok_r needs a null-terminated string + clearBuffer(); +} + +/** + * Adds a "command" and a handler function to the list of available commands. + * This is used for matching a found token in the buffer, and gives the pointer + * to the handler function to deal with it. + */ +void StringCommand::addCommand(const char *command, void (*function)()) { + #ifdef SERIALCOMMAND_DEBUG + Serial.print("Adding command ("); + Serial.print(commandCount); + Serial.print("): "); + Serial.println(command); + #endif + + commandList = (StringCommandCallback *) realloc(commandList, (commandCount + 1) * sizeof(StringCommandCallback)); + strncpy(commandList[commandCount].command, command, SERIALCOMMAND_MAXCOMMANDLENGTH); + commandList[commandCount].function = function; + commandCount++; +} + +/** + * This sets up a handler to be called in the event that the receveived command string + * isn't in the list of commands. + */ +void StringCommand::setDefaultHandler(void (*function)(const char *)) { + defaultHandler = function; +} + + +/** + * This checks the Serial stream for characters, and assembles them into a buffer. + * When the terminator character (default '\n') is seen, it starts parsing the + * buffer for a prefix command, and calls handlers setup by addCommand() member + */ +void StringCommand::readStr(String sBuffer ) { + sBuffer.toCharArray(buffer, SERIALCOMMAND_BUFFER); + #ifdef SERIALCOMMAND_DEBUG + Serial.print("Received: "); + Serial.println(buffer); + #endif + + char *command = strtok_r(buffer, delim, &last); // Search for command at start of buffer + if (command != NULL) { + boolean matched = false; + for (int i = 0; i < commandCount; i++) { + #ifdef SERIALCOMMAND_DEBUG + Serial.print("Comparing ["); + Serial.print(command); + Serial.print("] to ["); + Serial.print(commandList[i].command); + Serial.println("]"); + #endif + + + + // Compare the found command against the list of known commands for a match + if (strncmp(command, commandList[i].command, SERIALCOMMAND_MAXCOMMANDLENGTH) == 0) { + #ifdef SERIALCOMMAND_DEBUG + Serial.print("Matched Command: "); + Serial.println(command); + #endif + + // Execute the stored handler function for the command + (*commandList[i].function)(); + matched = true; + break; + } + } + + + if (!matched && (defaultHandler != NULL)) { + (*defaultHandler)(command); + } + + + clearBuffer(); + } +} + +/* + * Clear the input buffer. + */ +void StringCommand::clearBuffer() { + buffer[0] = '\0'; + bufPos = 0; +} + +/** + * Retrieve the next token ("word" or "argument") from the command buffer. + * Returns NULL if no more tokens exist. + */ +char *StringCommand::next() { + return strtok_r(NULL, delim, &last); +} diff --git a/lib/ESP8266-StringCommand/StringCommand.h b/lib/ESP8266-StringCommand/StringCommand.h new file mode 100644 index 00000000..fccb2fb8 --- /dev/null +++ b/lib/ESP8266-StringCommand/StringCommand.h @@ -0,0 +1,75 @@ +/** + * SerialCommand - A Wiring/Arduino library to tokenize and parse commands + * received over a serial port. + * + * Copyright (C) 2012 Stefan Rado + * Copyright (C) 2011 Steven Cogswell + * http://husks.wordpress.com + * + * Version 20120522 + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this library. If not, see . + */ +#ifndef StringCommand_h +#define StringCommand_h + +#if defined(WIRING) && WIRING >= 100 + #include +#elif defined(ARDUINO) && ARDUINO >= 100 + #include +#else + #include +#endif +#include + +// Size of the input buffer in bytes (maximum length of one command plus arguments) +#define SERIALCOMMAND_BUFFER 128 //256 +// Maximum length of a command excluding the terminating null +#define SERIALCOMMAND_MAXCOMMANDLENGTH 16 + +// Uncomment the next line to run the library in debug mode (verbose messages) +//#define SERIALCOMMAND_DEBUG + + +class StringCommand { + public: + StringCommand(); // Constructor + void addCommand(const char *command, void(*function)()); // Add a command to the processing dictionary. + void setDefaultHandler(void (*function)(const char *)); // A handler to call when no valid command received. + + void readStr(String sBuffer ); // Main entry point. + void clearBuffer(); // Clears the input buffer. + char *next(); // Returns pointer to next token found in command buffer (for getting arguments to commands). + + private: + // Command/handler dictionary + struct StringCommandCallback { + char command[SERIALCOMMAND_MAXCOMMANDLENGTH + 1]; + void (*function)(); + }; // Data structure to hold Command/Handler function key-value pairs + StringCommandCallback *commandList; // Actual definition for command/handler array + byte commandCount; + + // Pointer to the default handler function + void (*defaultHandler)(const char *); + + char delim[2]; // null-terminated list of character to be used as delimeters for tokenizing (default " ") + char term; // Character that signals end of command (default '\n') + + char buffer[SERIALCOMMAND_BUFFER + 1]; // Buffer of stored characters while waiting for terminator character + byte bufPos; // Current position in the buffer + char *last; // State variable used by strtok_r during processing +}; + +#endif //StringCommand_h diff --git a/Ticker_for_TickerScheduler/Ticker/keywords.txt b/lib/ESP8266-StringCommand/keywords.txt similarity index 59% rename from Ticker_for_TickerScheduler/Ticker/keywords.txt rename to lib/ESP8266-StringCommand/keywords.txt index 1ecd8d0e..c9799b2c 100644 --- a/Ticker_for_TickerScheduler/Ticker/keywords.txt +++ b/lib/ESP8266-StringCommand/keywords.txt @@ -1,29 +1,23 @@ -####################################### -# Syntax Coloring Map For Wire -####################################### - ####################################### # Datatypes (KEYWORD1) ####################################### +StringCommand KEYWORD1 + ####################################### # Methods and Functions (KEYWORD2) ####################################### -attach KEYWORD2 -attach_ms KEYWORD2 -once KEYWORD2 -once_ms KEYWORD2 -detach KEYWORD2 -active KEYWORD2 +addCommand KEYWORD2 +setDefaultHandler KEYWORD2 +readString KEYWORD2 +clearBuffer KEYWORD2 +next KEYWORD2 ####################################### # Instances (KEYWORD2) ####################################### -Ticker KEYWORD2 - ####################################### # Constants (LITERAL1) -####################################### - +####################################### diff --git a/lib/ESP8266-StringCommand/readme.md b/lib/ESP8266-StringCommand/readme.md new file mode 100644 index 00000000..731ee5e2 --- /dev/null +++ b/lib/ESP8266-StringCommand/readme.md @@ -0,0 +1,5 @@ +StringCommand +============= +Библиотека для ESP8266 позволяющая связать запуск пользовательских функций с строковой переменной. + + diff --git a/lib/ESPrelay/.gitattributes b/lib/ESPrelay/.gitattributes new file mode 100644 index 00000000..bdb0cabc --- /dev/null +++ b/lib/ESPrelay/.gitattributes @@ -0,0 +1,17 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/lib/ESPrelay/TheThingsMQTT.cpp b/lib/ESPrelay/TheThingsMQTT.cpp new file mode 100644 index 00000000..4faf78f3 --- /dev/null +++ b/lib/ESPrelay/TheThingsMQTT.cpp @@ -0,0 +1,215 @@ +/* +Copyright (c) 2016 TheThings. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Original Maker: Mateo Velez - Metavix for TheThings Inc +Modified and Maintened by: Jose Garcia - TheThings Inc + +*/ + +#include "TheThingsMQTT.h" + + +TheThings::TheThings(char* token){ + initialize(token, NULL); +} + + +TheThings::TheThings(char* token, char* clientName) { + initialize(token, clientName); +} + + +void TheThings::begin(void (*callback)(char*,uint8_t*,unsigned int)) { + this->callback = callback; + _client.setServer(_server, MQTT_PORT); + _client.setCallback(callback); +} + + +bool TheThings::add(char* variableLabel, float value) { + return add(variableLabel, value, "NULL", "NULL"); +} + + +bool TheThings::add(char* variableLabel, float value, char *context) { + return add(variableLabel, value, context, "NULL"); +} + + +bool TheThings::add(char* variableLabel, float value, char *context, char *timestamp) { + (val+currentValue)->_variableLabel = variableLabel; + (val+currentValue)->_value = value; + (val+currentValue)->_context = context; + (val+currentValue)->_timestamp = timestamp; + currentValue++; + if (currentValue > MAX_VALUES) { + Serial.println(F("You are sending more than the maximum of consecutive variables")); + currentValue = MAX_VALUES; + } + return true; +} + + +bool TheThings::connected(){ + return _client.connected(); +} + + +char* TheThings::getMac(){ + // Obtains the MAC of the device + Serial.println("entra"); + byte mac[6]; + WiFi.macAddress(mac); + char macAddr[18]; + sprintf(macAddr, "%2X%2X%2X%2X%2X%2X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); + return macAddr; +} + + +void TheThings::initialize(char* token, char* clientName){ + _server = SERVER; + _token = token; + currentValue = 0; + val = (Value *)malloc(MAX_VALUES*sizeof(Value)); + if(clientName!=NULL){ + _clientName = clientName; + } +} + + +bool TheThings::loop() { + if (!_client.connected()) { + reconnect(); + } + return _client.loop(); +} + + +void TheThings::reconnect() { + while (!_client.connected()) { + Serial.print("Attempting MQTT connection..."); + if (_client.connect(_clientName, _token, NULL)) { + Serial.println("connected"); + break; + } else { + Serial.print("failed, rc="); + Serial.print(_client.state()); + Serial.println(" try again in 3 seconds"); + delay(3000); + } + } +} + + +void TheThings::setDebug(bool debug){ + _debug = debug; +} + + +void TheThings:: setBroker(char* broker){ + if (_debug){ + Serial.println("Broker set for Business Account"); + } + _server = broker; +} + + +bool TheThings::subscribe() { + char topic[150]; + sprintf(topic, "%s%s", FIRST_PART_TOPIC, _token); + if (!_client.connected()) { + reconnect(); + } + if (_debug){ + Serial.println("Subscribed to: "); + Serial.println(topic); + } + return _client.subscribe(topic); +} + + +bool TheThings::publish() { + + char topic[150]; + char payload[500]; + String str; + sprintf(topic, "%s%s", FIRST_PART_TOPIC, _token); + sprintf(payload, "["); + for (int i = 0; i <= currentValue; ) { + str = String((val+i)->_value, 1); + sprintf(payload,"%s{\"key\":\"%s\",\"value\":%s",payload,(val+i)->_variableLabel, str.c_str()); + if ((val+i)->_timestamp != "NULL") { + sprintf(payload, "%s, \"timestamp\": %s", payload, (val+i)->_timestamp); + } + if ((val+i)->_context != "NULL") { + sprintf(payload, "%s, \"context\": {%s}", payload, (val+i)->_context); + } + i++; + if (i >= currentValue) { + sprintf(payload, "%s}]", payload); + break; + } else { + sprintf(payload, "%s},", payload); + } + } + if (_debug){ + Serial.println("publishing to TOPIC: "); + Serial.println(topic); + Serial.print("JSON dict: "); + Serial.println(payload); + } + currentValue = 0; + return _client.publish(topic, payload, 512); +} + + +bool TheThings::wifiConnection(char* ssid, char* pass) { + WiFi.begin(ssid, pass); + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + Serial.println(F("WiFi connected")); + Serial.println(F("IP address: ")); + Serial.println(WiFi.localIP()); + if(_clientName==NULL){ + _clientName = getMac(); + } +} + +bool TheThings::wifiConnection2() { + WiFiManager wifiManager; + wifiManager.setTimeout(180); + + //if(!wifiManager.autoConnect("AutoConnectAP")) { + if(!wifiManager.autoConnect()) { + Serial.println("failed to connect and hit timeout"); + delay(3000); + ESP.reset(); + delay(5000); + } +} + +int TheThings::state() { + return _client.state(); +} + diff --git a/lib/ESPrelay/TheThingsMQTT.h b/lib/ESPrelay/TheThingsMQTT.h new file mode 100644 index 00000000..c176003d --- /dev/null +++ b/lib/ESPrelay/TheThingsMQTT.h @@ -0,0 +1,58 @@ + +#ifndef TheThingsMQTT_H +#define TheThingsMQTT_H +//#include +#include +#include + +#define MQTT_PORT 1883 +#define SERVER "mqtt.thethings.io" +#define MAX_VALUES 5 +#define FIRST_PART_TOPIC "v2/things/" + +#define META_DEBUG Serial + +typedef struct Value { + char* _variableLabel; + float _value; + char* _context; + char* _timestamp; +} Value; + +class TheThings { + private: + void (*callback)(char*, uint8_t*, unsigned int); + char* getMac(); + void initialize(char* token, char* clientName); + WiFiClient espClient; + PubSubClient _client = PubSubClient(espClient); + WiFiManager wifiManager; + char* _clientName = NULL; + bool _debug = false; + uint8_t currentValue; + char* _password; + char* _server; + char* _ssid; + char* _token; + Value* val; + + public: + TheThings(char* token); + TheThings(char* token, char* clientName); + bool add(char* variableLabel, float value); + bool add(char* variableLabel, float value, char* context); + bool add(char* variableLabel, float value, char* context, char* timestamp); + void begin(void (*callback)(char*, uint8_t*, unsigned int)); + bool connected(); + bool loop(); + bool subscribe(); + bool publish(); + void setBroker(char* broker); + void reconnect(); + void setDebug(bool debug); + bool wifiConnection(char* ssid, char* pass); + bool wifiConnection2(); + int state(); +}; + +#endif diff --git a/lib/ESPrelay/TickerScheduler.cpp b/lib/ESPrelay/TickerScheduler.cpp new file mode 100644 index 00000000..b3badc25 --- /dev/null +++ b/lib/ESPrelay/TickerScheduler.cpp @@ -0,0 +1,116 @@ +#include "TickerScheduler.h" + +TickerScheduler::TickerScheduler(uint8_t size) +{ + this->items = new TickerSchedulerItem[size]; + this->size = size; +} + +TickerScheduler::~TickerScheduler() +{ + for (uint8_t i = 0; i < this->size; i++) + { + this->remove(i); + yield(); + } + + delete[] this->items; + this->items = NULL; + this->size = 0; +} + +void TickerScheduler::handleTickerFlag(volatile bool * flag) +{ + if (!*flag) + *flag = true; +} + +void TickerScheduler::handleTicker(tscallback_t f, void * arg, volatile bool * flag) +{ + if (*flag) + { + yield(); + *flag = false; + yield(); + f(arg); + yield(); + } +} + +bool TickerScheduler::add(uint8_t i, uint32_t period, tscallback_t f, void* arg, boolean shouldFireNow) +{ + if (i >= this->size || this->items[i].is_used) + return false; + + this->items[i].cb = f; + this->items[i].cb_arg = arg; + this->items[i].flag = shouldFireNow; + this->items[i].period = period; + this->items[i].is_used = true; + + enable(i); + + return true; +} + +bool TickerScheduler::remove(uint8_t i) +{ + if (i >= this->size || !this->items[i].is_used) + return false; + + this->items[i].is_used = false; + this->items[i].t.detach(); + this->items[i].flag = false; + this->items[i].cb = NULL; + + return true; +} + +bool TickerScheduler::disable(uint8_t i) +{ + if (i >= this->size || !this->items[i].is_used) + return false; + + this->items[i].t.detach(); + + return true; +} + +bool TickerScheduler::enable(uint8_t i) +{ + if (i >= this->size || !this->items[i].is_used) + return false; + + volatile bool * flag = &this->items[i].flag; + this->items[i].t.attach_ms(this->items[i].period, TickerScheduler::handleTickerFlag, flag); + + return true; +} + +void TickerScheduler::disableAll() +{ + for (uint8_t i = 0; i < this->size; i++) + disable(i); +} + +void TickerScheduler::enableAll() +{ + for (uint8_t i = 0; i < this->size; i++) + enable(i); +} + +void TickerScheduler::update() +{ + for (uint8_t i = 0; i < this->size; i++) + { + if (this->items[i].is_used) + { + #ifdef ARDUINO_ARCH_AVR + this->items[i].t.Tick(); + #endif + + handleTicker(this->items[i].cb, this->items[i].cb_arg, &this->items[i].flag); + } + yield(); + } +} diff --git a/lib/ESPrelay/TickerScheduler.h b/lib/ESPrelay/TickerScheduler.h new file mode 100644 index 00000000..71acb3b0 --- /dev/null +++ b/lib/ESPrelay/TickerScheduler.h @@ -0,0 +1,79 @@ +#pragma once + +#include +#include + +class Ticker { + typedef void (*ticker_callback_t)(bool *); + + private: + bool is_attached = false; + uint32_t period = 0; + uint32_t last_tick = 0; + ticker_callback_t callback; + bool *callback_argument; + + public: + void Tick() { + if (is_attached && millis() - last_tick >= period) { + callback(callback_argument); + last_tick = millis(); + } + } + + void detach() { + this->is_attached = true; + } + + template + void attach_ms(uint32_t milliseconds, void (*callback)(TArg), TArg arg) { + this->period = milliseconds; + this->callback = callback; + this->callback_argument = arg; + this->is_attached = true; + } +}; + +#ifdef ARDUINO_ARCH_ESP8266 +#include + +#include +#endif + +void tickerFlagHandle(volatile bool *flag); + +#ifdef _GLIBCXX_FUNCTIONAL +typedef std::function tscallback_t; +#else +typedef void (*tscallback_t)(void *); +#endif + +struct TickerSchedulerItem { + Ticker t; + volatile bool flag = false; + tscallback_t cb; + void *cb_arg; + uint32_t period; + volatile bool is_used = false; +}; + +class TickerScheduler { + private: + uint8_t size; + TickerSchedulerItem *items = NULL; + + void handleTicker(tscallback_t, void *, volatile bool *flag); + static void handleTickerFlag(volatile bool *flag); + + public: + TickerScheduler(uint8_t size); + ~TickerScheduler(); + + bool add(uint8_t i, uint32_t period, tscallback_t, void *, boolean shouldFireNow = false); + bool remove(uint8_t i); + bool enable(uint8_t i); + bool disable(uint8_t i); + void enableAll(); + void disableAll(); + void update(); +}; diff --git a/lib/ESPrelay/subscribe_and_publish.ino b/lib/ESPrelay/subscribe_and_publish.ino new file mode 100644 index 00000000..3148ccd4 --- /dev/null +++ b/lib/ESPrelay/subscribe_and_publish.ino @@ -0,0 +1,182 @@ +/**************************************** + * Include Libraries + ****************************************/ +#include "TheThingsMQTT.h" +#include "TickerScheduler.h" + +#include +#include + +#include +#include +#include +#include +#include +#include + +/**************************************** + * Define Constants + ****************************************/ +#define TOKEN "" // Your TheThings TOKEN +#define WIFINAME "" //Your SSID +#define WIFIPASS "" // Your Wifi Pass + +TheThings client(TOKEN); + +#define DHTPIN 14 // Pin which is cosnnected to the DHT sensor. +// Uncomment the type of sensor in use: +//#define DHTTYPE DHT11 // DHT 11 +#define DHTTYPE DHT22 // DHT 22 (AM2302) +//#define DHTTYPE DHT21 // DHT 21 (AM2301) + +DHT_Unified dht(DHTPIN, DHTTYPE); + +uint32_t delayMS; +#define TRIGGER_PIN 0 +#define FRECUENCY 2000 +char *AP="TEST_BQ"; +String prefix="rel"; +const char WiFiAPPSK[] = "prueba"; + +WiFiManager wifiManager; + +#define RELAY1 12 +#define RELAY2 13 + +#define MEASUREMENT_TIME 30000 // Time in milisecons + +float Temperature,Humidity; +TickerScheduler ts(1); + +/**************************************** + * Auxiliar Functions + ****************************************/ + +//void configWiFi(){ +// wifiManager.resetSettings(); +// if(!wifiManager.autoConnect(AP,WiFiAPPSK)) { +// Serial.println("Reconfiguration called"); +// delay(3000); +// //reset and try again, or maybe put it to deep sleep +// ESP.reset(); +// delay(15000); +// } +//} + +void callback(char* topic, byte* payload, unsigned int length) { + Serial.print("Message arrived"); + // handle message arrived + String text = ""; + for (int i = 0; i < length; i++) + text.concat((char)payload[i]); + Serial.println(text); + text.replace(" ", ""); + text.toUpperCase(); + if (text.indexOf("\"KEY\":\"REL1\"") >= 0) { + if (text.indexOf("\"VALUE\":\"ON\"") >= 0) digitalWrite(RELAY1,HIGH); + else if (text.indexOf("\"VALUE\":\"OFF\"") >= 0) digitalWrite(RELAY1,LOW); + } + else if (text.indexOf("\"KEY\":\"REL2\"") >= 0) { + if (text.indexOf("\"VALUE\":\"ON\"") >= 0) digitalWrite(RELAY2,HIGH); + else if (text.indexOf("\"VALUE\":\"OFF\"") >= 0) digitalWrite(RELAY2,LOW); + } +} + +float temperatureMeasurement(sensors_event_t event, DHT_Unified dht){ + // Get temperature event and print its value. + dht.temperature().getEvent(&event); + if (isnan(event.temperature)) { + Serial.println("Error reading temperature!"); + } + else { + Serial.print("Temperature: "); + Serial.print(event.temperature); + Serial.println(" *C"); + return event.temperature; + } +} + +float humidityMeasurement(sensors_event_t event, DHT_Unified dht){ + // Get humidity event and print its value. + dht.humidity().getEvent(&event); + if (isnan(event.relative_humidity)) { + Serial.println("Error reading humidity!"); + } + else { + Serial.print("Humidity: "); + Serial.print(event.relative_humidity); + Serial.println("%"); + return event.relative_humidity; + } +} + +void measureAndSend(){ + sensors_event_t event; + Temperature=temperatureMeasurement(event,dht); + Humidity=humidityMeasurement(event,dht); + client.add("Temperature", Temperature); + client.add("Humidity", Humidity); + client.publish(); +} + +/**************************************** + * Main Functions + ****************************************/ + + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + delay(100); + pinMode(RELAY1,OUTPUT); + pinMode(RELAY2,OUTPUT); + + dht.begin(); + sensor_t sensor; + + + +// pinMode(TRIGGER_PIN, INPUT); +// attachInterrupt(digitalPinToInterrupt(TRIGGER_PIN), configWiFi, RISING); +// +// //sets timeout until configuration portal gets turned off +// //useful to make it all retry or go to sleep +// //in seconds +// wifiManager.setTimeout(280); +// +// //fetches ssid and pass and tries to connect +// //if it does not connect it starts an access point with the specified name +// //here "AutoConnectAP" +// //and goes into a blocking loop awaiting configuration +// if(!wifiManager.autoConnect(AP,WiFiAPPSK)) { +// Serial.println("failed to connect and hit timeout"); +// delay(3000); +// //reset and try again, or maybe put it to deep sleep +// //ESP.reset(); +// delay(FRECUENCY); +// } +// //if you get here you have connected to the WiFi +// Serial.println("connected...yeey :)"); + + client.wifiConnection(WIFINAME, WIFIPASS); + + //client.wifiConnection2(); + client.begin(callback); + client.subscribe(); //Insert the dataSource and Variable's Labels + + ts.add(0, MEASUREMENT_TIME, [&](void*) { measureAndSend(); }, nullptr, false); + ts.enableAll(); + + } + +void loop() { + // put your main code here, to run repeatedly: + ts.update(); + + if(!client.connected()){ + client.reconnect(); + client.subscribe(); //Insert the dataSource and Variable's Labels + } + client.loop(); + +} diff --git a/lib/README b/lib/README new file mode 100644 index 00000000..6debab1e --- /dev/null +++ b/lib/README @@ -0,0 +1,46 @@ + +This directory is intended for project specific (private) libraries. +PlatformIO will compile them to static libraries and link into executable file. + +The source code of each library should be placed in a an own separate directory +("lib/your_library_name/[here are source files]"). + +For example, see a structure of the following two libraries `Foo` and `Bar`: + +|--lib +| | +| |--Bar +| | |--docs +| | |--examples +| | |--src +| | |- Bar.c +| | |- Bar.h +| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html +| | +| |--Foo +| | |- Foo.c +| | |- Foo.h +| | +| |- README --> THIS FILE +| +|- platformio.ini +|--src + |- main.c + +and a contents of `src/main.c`: +``` +#include +#include + +int main (void) +{ + ... +} + +``` + +PlatformIO Library Dependency Finder will find automatically dependent +libraries scanning project source files. + +More information about PlatformIO Library Dependency Finder +- https://docs.platformio.org/page/librarymanager/ldf.html diff --git a/main.ino b/main.ino deleted file mode 100644 index 01d90421..00000000 --- a/main.ino +++ /dev/null @@ -1,447 +0,0 @@ -//============================================================================================================ -//=============================================JSON=========================================================== -// ------------- Чтение значения json ------------------------------------------------------------------------ -String jsonReadStr(String &json, String name) { - DynamicJsonBuffer jsonBuffer; - JsonObject& root = jsonBuffer.parseObject(json); - return root[name].as(); -} - -// ------------- Чтение значения json ------------------------------------------------------------------------ -int jsonReadInt(String &json, String name) { - DynamicJsonBuffer jsonBuffer; - JsonObject& root = jsonBuffer.parseObject(json); - return root[name]; -} - -// ------------- Запись значения json String ----------------------------------------------------------------- -String jsonWriteStr(String &json, String name, String volume) { - DynamicJsonBuffer jsonBuffer; - JsonObject& root = jsonBuffer.parseObject(json); - root[name] = volume; - json = ""; - root.printTo(json); - return json; -} - -// ------------- Запись значения json int --------------------------------------------------------------------- -String jsonWriteInt(String &json, String name, int volume) { - DynamicJsonBuffer jsonBuffer; - JsonObject& root = jsonBuffer.parseObject(json); - root[name] = volume; - json = ""; - root.printTo(json); - return json; -} - -// ------------- Запись значения json float ------------------------------------------------------------------- -String jsonWriteFloat(String &json, String name, float volume) { - DynamicJsonBuffer jsonBuffer; - JsonObject& root = jsonBuffer.parseObject(json); - root[name] = volume; - json = ""; - root.printTo(json); - return json; -} - -/* - DynamicJsonBuffer jsonBuffer; - JsonObject& root = jsonBuffer.parseObject(json); - root[name] = volume; - json = ""; - root.printTo(json); - return json; - - DynamicJsonDocument jsonBuffer(1024); - deserializeJson(jsonBuffer,json); - jsonBuffer[name] = volume; - json = ""; - serializeJson(jsonBuffer,json); - return json; -*/ -/* - String jsonWriteArray(String &json, String value1, String value2, String value3) { - const int capacity = JSON_ARRAY_SIZE(1) + 3 * JSON_OBJECT_SIZE(3); - StaticJsonBuffer jb; - JsonArray& arr = jb.createArray(); - JsonObject& obj1 = jb.createObject(); - obj1[value1] = 1; - obj1[value2] = 2; - obj1[value3] = 3; - arr.add(obj1); - arr.printTo(json); - return json; - } -*/ - -//============================================================================================================ -//=============================================BIT AND BYTE=================================================== -uint8_t hexStringToUint8(String hex) { - uint8_t tmp = strtol(hex.c_str(), NULL, 0); - if (tmp >= 0x00 && tmp <= 0xFF) { - return tmp; - } -} - -uint16_t hexStringToUint16(String hex) { - uint16_t tmp = strtol(hex.c_str(), NULL, 0); - if (tmp >= 0x0000 && tmp <= 0xFFFF) { - return tmp; - } -} -//============================================================================================================== -//=============================================CONFIG=========================================================== -void saveConfig () { - writeFile("config.json", configSetup); -} -//============================================================================================================== -//=============================================STRING=========================================================== -// --------Выделяем строку от конца строки до маркера----------------------------------------------------------- -String selectToMarkerLast (String str, String found) { - int p = str.lastIndexOf(found); - return str.substring(p + found.length()); -} - -// --------Выделяем строку до маркера--------------------------------------------------------------------------- -String selectToMarker (String str, String found) { - int p = str.indexOf(found); - return str.substring(0, p); -} -// --------Удаляем все после символа разделителя (вместе с символом разделителя)-------------------------------- -String deleteAfterDelimiter (String str, String found) { - int p = str.indexOf(found); - return str.substring(0, p); -} - -//---------Удаляем все до символа разделителя (вместе с символом разделителя)----------------------------------- -String deleteBeforeDelimiter(String str, String found) { - int p = str.indexOf(found) + found.length(); - return str.substring(p); -} -//----------------------Удаляем все до символа разделителя (без символа разделителя)---------------------------- -String deleteBeforeDelimiterTo(String str, String found) { - int p = str.indexOf(found); - return str.substring(p); -} - -// -------------------Выделяем строку от конца строки до маркера ------------------------------------------------ -String deleteToMarkerLast (String str, String found) { - int p = str.lastIndexOf(found); - return str.substring(0, p); -} -// -------------------Выделяем строку от конца строки до маркера + ---------------------------------------------- -String selectToMarkerPlus (String str, String found, int plus) { - int p = str.indexOf(found); - return str.substring(0, p + plus); -} -//--------------------Выделяем строку от маркера до маркера ----------------------------------------------------- -String selectFromMarkerToMarker(String str, String found, int number) { - if (str.indexOf(found) == -1) return "not found"; // если строки поиск нет сразу выход - str += found; // добавим для корректного поиска - uint8_t i = 0; // Индекс перебора - do { - if (i == number) return selectToMarker(str, found); // если индекс совпал с позицией законцим вернем резултат - str = deleteBeforeDelimiter(str, found); // отбросим проверенный блок до разделителя - i++; // увеличим индекс - } while (str.length() != 0); // повторим пока строка не пустая - return "not found"; // Достигли пустой строки и ничего не нашли -} -//--------------------Посчитать ----------------------------------------------------------------------------------- -int count(String str, String found) { - if (str.indexOf(found) == -1) return 0; // если строки поиск нет сразу выход - str += found; // добавим для корректного поиска - uint8_t i = 0; // Индекс перебора - while (str.length() != 0) { - str = deleteBeforeDelimiter(str, found); // отбросим проверенный блок до разделителя - i++; // увеличим индекс - } - return i; // Достигли пустой строки и ничего не нашли -} - -//--------------------проверка на цифры --------------------------------------------------------------------------- -boolean isDigitStr (String str) { - if (str.length() == 1) { - return Digit (str); - } - if (str.length() > 1) { - for (int i = 0; i < str.length(); i++) { - if (!Digit (String(str.charAt(i)))) return false; - } - return true; - } -} -boolean Digit (String str) { - if (str == "0" || str == "1" || str == "2" || str == "3" || str == "4" || str == "5" || str == "6" || str == "7" || str == "8" || str == "9") { - return true; - } else { - return false; - } -} -//================================================================================================================== -//============================================URL=================================================================== -// ----------------------Запрос на удаленный URL -String getURL(String urls) { - String answer = ""; - HTTPClient http; - http.begin(urls); //HTTP - int httpCode = http.GET(); - if (httpCode == HTTP_CODE_OK) { - answer = http.getString(); - } - else { - answer = "error"; - } - http.end(); - return answer; -} -//=================================================================================================================== -//===========================================FILES=================================================================== -// ------------- Добавление файла ----------------------------------------------------------------------------------- -String safeDataToFile(String data, String Folder) { - //String fileName = GetDate(); - String fileName; - fileName.toLowerCase(); - fileName = deleteBeforeDelimiter(fileName, " "); - fileName.replace(" ", "."); - fileName.replace("..", "."); - fileName = Folder + "/" + fileName + ".txt"; - // addFile(fileName, GetTime() + "/" + data); - Serial.println(fileName); - jsonWriteStr(configJson, "test", fileName); -} -// ------------- Чтение файла в строку ------------------------------------------------------------------------------- -String readFile(String fileName, size_t len ) { - File configFile = SPIFFS.open("/" + fileName, "r"); - if (!configFile) { - return "Failed"; - } - size_t size = configFile.size(); - if (size > len) { - configFile.close(); - return "Large"; - } - String temp = configFile.readString(); - configFile.close(); - return temp; -} -// ------------- Размер файла ---------------------------------------------------------------------------------------- -String sizeFile(String fileName) { - File configFile = SPIFFS.open("/" + fileName, "r"); - if (!configFile) { - return "Failed"; - } - size_t size = configFile.size(); - configFile.close(); - return String(size); -} -// ------------- Запись строки в файл --------------------------------------------------------------------------------- -String writeFile(String fileName, String strings ) { - File configFile = SPIFFS.open("/" + fileName, "w"); - if (!configFile) { - return "Failed to open config file"; - } - configFile.print(strings); - //strings.printTo(configFile); - configFile.close(); - return "Write sucsses"; -} -// ------------- Добовление строки в файл ------------------------------------------------------------------------------ -String addFile(String fileName, String strings ) { - File configFile = SPIFFS.open("/" + fileName, "a"); - if (!configFile) { - return "Failed to open config file"; - } - configFile.println(strings); - configFile.close(); - return "Write sucsses"; -} -// ------------- Чтение строки из файла --------------------------------------------------------------------------------- -//возвращает стоку из файла в которой есть искомое слово found -String readFileString(String fileName, String found) { - File configFile = SPIFFS.open("/" + fileName, "r"); - if (!configFile) { - return "Failed"; - } - if (configFile.find(found.c_str())) { - return configFile.readStringUntil('\n'); //'\r' - } - configFile.close(); -} -//========================================================================================================================= -//=======================================УПРАВЛЕНИЕ ВИДЖЕТАМИ MQTT========================================================= -void sendCONFIG(String topik, String widgetConfig, String key, String date) { - yield(); - topik = jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID + "/" + topik + "/status"; - String outer = "{\"widgetConfig\":"; - String inner = "{\""; - inner = inner + key; - inner = inner + "\":\""; - inner = inner + date; - inner = inner + "\""; - inner = inner + "}}"; - String t = outer + inner; - //Serial.println(t); - //client_mqtt.publish(MQTT::Publish(topik, t).set_qos(1)); - yield(); -} -//========================================================================================================================= -//=========================================МИГАНИЕ СВЕТОДИОДОМ============================================================= -void led_blink(String satus) { -#ifdef ESP8266 -#ifdef blink_pin - pinMode(blink_pin, OUTPUT); - if (satus == "off") { - noTone(blink_pin); - digitalWrite(blink_pin, HIGH); - } - if (satus == "on") { - noTone(blink_pin); - digitalWrite(blink_pin, LOW); - } - if (satus == "slow") tone(blink_pin, 1); - if (satus == "fast") tone(blink_pin, 20); -#endif -#endif -} -//========================================================================================================================= -//=========================================ОСТАВШАЯСЯ ОПЕРАТИВНАЯ ПАМЯТЬ=================================================== -void getMemoryLoad(String text) { -#ifdef ESP8266 - int all_memory = 52864; -#endif -#ifdef ESP32 - int all_memory = 362868; -#endif - int memory_remain = ESP.getFreeHeap(); - int memory_used = all_memory - memory_remain; - int memory_load = (memory_used * 100) / all_memory; - if (memory_load > 65) Serial.print("Attention!!! too match memory used!!!"); - Serial.print(text + " memory used:"); - Serial.print(String(memory_load) + "%; "); - Serial.print("memory remain: "); - Serial.println(String(memory_remain) + " k bytes"); - -} -//esp32 full memory = 362868 k bytes -//esp8266 full memory = 52864 k bytes - - - -//=================================================================== -/* - void web_print (String text) { - if (WiFi.status() == WL_CONNECTED) { - jsonWriteStr(json, "test1", jsonReadStr(json, "test2")); - jsonWriteStr(json, "test2", jsonReadStr(json, "test3")); - jsonWriteStr(json, "test3", jsonReadStr(json, "test4")); - jsonWriteStr(json, "test4", jsonReadStr(json, "test5")); - jsonWriteStr(json, "test5", jsonReadStr(json, "test6")); - - jsonWriteStr(json, "test6", GetTime() + " " + text); - - ws.textAll(json); - } - } -*/ -//=================================================================== -/* - "socket": [ - "ws://{{ip}}/ws" - ], -*/ -//=================================================================== -/* - { - "type": "h4", - "title": "('{{build2}}'=='{{firmware_version}}'?'NEW':'OLD')" - }, -*/ -//=================================================================== -/* - { - "type": "button", - "title": "Конфигурация устройства", - "socket": "test2", - "class": "btn btn-block btn-primary" - }, - { - "type": "hr" - }, - { - "type": "h6", - "title": "{{test1}}" - }, - { - "type": "h6", - "title": "{{test2}}" - }, - { - "type": "h6", - "title": "{{test3}}" - }, - { - "type": "h6", - "title": "{{test4}}" - }, - { - "type": "h6", - "title": "{{test5}}" - }, - { - "type": "h6", - "title": "{{test6}}" - }, - { - "type": "hr" - }, -*/ -//=================================================================== - - - -/* - String getResetReason(uint8_t core) { - int reason = rtc_get_reset_reason(core); - switch (reason) { - case 1 : return "Power on"; break; //Vbat power on reset - case 3 : return "Software reset digital core"; break; //Software reset digital core - case 4 : return "Legacy watch dog reset digital core"; break; //Legacy watch dog reset digital core - case 5 : return "Deep Sleep reset digital core"; break; //Deep Sleep reset digital core - case 6 : return "Reset by SLC module, reset digital core"; break; //Reset by SLC module, reset digital core - case 7 : return "Timer Group0 Watch dog reset digital core"; break; //Timer Group0 Watch dog reset digital core - case 8 : return "Timer Group1 Watch dog reset digital core"; break; //Timer Group1 Watch dog reset digital core - case 9 : return "RTC Watch dog Reset digital core"; break; // - case 10 : return "Instrusion tested to reset CPU"; break; - case 11 : return "Time Group reset CPU"; break; - case 12 : return "Software reset CPU"; break; - case 13 : return "RTC Watch dog Reset CPU"; break; - case 14 : return "for APP CPU, reseted by PRO CPU"; break; - case 15 : return "Reset when the vdd voltage is not stable"; break; - case 16 : return "RTC Watch dog reset digital core and rtc module"; break; - default : return "NO_MEAN"; - } - } - - - String EspClass::getResetReason(void) { - char buff[32]; - if (resetInfo.reason == REASON_DEFAULT_RST) { // normal startup by power on - strcpy_P(buff, PSTR("Power on")); - } else if (resetInfo.reason == REASON_WDT_RST) { // hardware watch dog reset - strcpy_P(buff, PSTR("Hardware Watchdog")); - } else if (resetInfo.reason == REASON_EXCEPTION_RST) { // exception reset, GPIO status won’t change - strcpy_P(buff, PSTR("Exception")); - } else if (resetInfo.reason == REASON_SOFT_WDT_RST) { // software watch dog reset, GPIO status won’t change - strcpy_P(buff, PSTR("Software Watchdog")); - } else if (resetInfo.reason == REASON_SOFT_RESTART) { // software restart ,system_restart , GPIO status won’t change - strcpy_P(buff, PSTR("Software/System restart")); - } else if (resetInfo.reason == REASON_DEEP_SLEEP_AWAKE) { // wake up from deep-sleep - strcpy_P(buff, PSTR("Deep-Sleep Wake")); - } else if (resetInfo.reason == REASON_EXT_SYS_RST) { // external system reset - strcpy_P(buff, PSTR("External System")); - } else { - strcpy_P(buff, PSTR("Unknown")); - } - return String(buff); - } -*/ diff --git a/mqtt.ino b/mqtt.ino deleted file mode 100644 index 4a877914..00000000 --- a/mqtt.ino +++ /dev/null @@ -1,348 +0,0 @@ -//===============================================ИНИЦИАЛИЗАЦИЯ================================================ -void MQTT_init() { - - ts.add(WIFI_MQTT_CONNECTION_CHECK, wifi_mqtt_reconnecting, [&](void*) { - up_time(); - if (WiFi.status() == WL_CONNECTED) { - Serial.println("[VV] WiFi-ok"); - if (client_mqtt.connected()) { - Serial.println("[VV] MQTT-ok"); - led_blink("off"); - } else { - MQTT_Connecting(); - if (!just_load) mqtt_lost_error++; - } - } else { - Serial.println("[E] Lost WiFi connection"); - wifi_lost_error++; - ts.remove(WIFI_MQTT_CONNECTION_CHECK); - StartAPMode(); - } - }, nullptr, true); - - - server.on("/mqttSave", HTTP_GET, [](AsyncWebServerRequest * request) { - if (request->hasArg("mqttServer")) { - jsonWriteStr(configSetup, "mqttServer", request->getParam("mqttServer")->value()); - } - if (request->hasArg("mqttPort")) { - int port = (request->getParam("mqttPort")->value()).toInt(); - jsonWriteInt(configSetup, "mqttPort", port); - } - if (request->hasArg("mqttPrefix")) { - jsonWriteStr(configSetup, "mqttPrefix", request->getParam("mqttPrefix")->value()); - } - if (request->hasArg("mqttUser")) { - jsonWriteStr(configSetup, "mqttUser", request->getParam("mqttUser")->value()); - } - if (request->hasArg("mqttPass")) { - jsonWriteStr(configSetup, "mqttPass", request->getParam("mqttPass")->value()); - } - saveConfig(); - mqtt_connection = true; - - request->send(200, "text/text", "ok"); - }); - - server.on("/mqttCheck", HTTP_GET, [](AsyncWebServerRequest * request) { - String tmp = "{}"; - jsonWriteStr(tmp, "title", "" + stateMQTT()); - jsonWriteStr(tmp, "class", "pop-up"); - request->send(200, "text/text", tmp); - }); - - -} - - - -void do_mqtt_connection() { - if (mqtt_connection) { - mqtt_connection = false; - client_mqtt.disconnect(); - MQTT_Connecting(); - } -} - -//================================================ОБНОВЛЕНИЕ==================================================== - -void handleMQTT() { - if (WiFi.status() == WL_CONNECTED) { - if (client_mqtt.connected()) { - client_mqtt.loop(); - } - } -} -//===============================================ПОДКЛЮЧЕНИЕ======================================================== -boolean MQTT_Connecting() { - String mqtt_server = jsonReadStr(configSetup, "mqttServer"); - if ((mqtt_server != "")) { - Serial.println("[E] Lost MQTT connection, start reconnecting"); - led_blink("fast"); - client_mqtt.setServer(mqtt_server.c_str(), jsonReadInt(configSetup, "mqttPort")); - if (WiFi.status() == WL_CONNECTED) { - if (!client_mqtt.connected()) { - Serial.println("[V] Connecting to MQTT server commenced"); - if (client_mqtt.connect(chipID.c_str(), jsonReadStr(configSetup, "mqttUser").c_str(), jsonReadStr(configSetup, "mqttPass").c_str())) { - Serial.println("[VV] MQTT connected"); - led_blink("off"); - client_mqtt.setCallback(callback); - client_mqtt.subscribe(jsonReadStr(configSetup, "mqttPrefix").c_str()); // Для приема получения HELLOW и подтверждения связи - client_mqtt.subscribe((jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID + "/+/control").c_str()); // Подписываемся на топики control - client_mqtt.subscribe((jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID + "/order").c_str()); // Подписываемся на топики order - Serial.println("[V] Callback set, subscribe done"); - return true; - } else { - Serial.println("[E] try again in " + String(wifi_mqtt_reconnecting / 1000) + " sec"); - led_blink("fast"); - return false; - } - } - } - } else { - Serial.println("[E] No date for MQTT connection"); - return false; - } -} - -//=====================================================ВХОДЯЩИЕ ДАННЫЕ======================================================== -void callback(char* topic, byte * payload, unsigned int length) { - Serial.print("[MQTT] "); - Serial.print(topic); - String topic_str = String(topic); - - String str; - for (int i = 0; i < length; i++) { - str += (char)payload[i]; - } - Serial.println(" => " + str); - - if (str == "HELLO") outcoming_date(); - - //превращает название топика в команду, а значение в параметр команды - if (topic_str.indexOf("control") > 0) { //IoTmanager/800324-1458415/button-sw2/control 1 //IoTmanager/800324-1458415/button99/control 1 - String topic = selectFromMarkerToMarker(topic_str, "/", 3); //button1 //button99 - topic = add_set(topic); //buttonSet1 //buttonSet99 - String number = selectToMarkerLast(topic, "Set"); //1 //99 - topic.replace(number, ""); //buttonSet //buttonSet - String final_line = topic + " " + number + " " + str; //buttonSet 1 1 //buttonSet 99 1 - order_loop += final_line + ","; - } - - if (topic_str.indexOf("order") > 0) { - str.replace("_", " "); - //Serial.println(str); - order_loop += str + ","; - } - if (topic_str.indexOf("update") > 0) { - if (str == "1") { - upgrade = true; - } - } -} - -//данные которые отправляем при подключении или отбновлении страницы -void outcoming_date() { - - sendAllWigets(); - sendAllData(); - -#ifdef logging_enable - choose_log_date_and_send(); -#endif - - Serial.println("[V] Sending all date to iot manager completed"); -} - - -//======================================CONFIG================================================== -boolean sendMQTT(String end_of_topik, String data) { - String topik = jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID + "/" + end_of_topik; - boolean send_status = client_mqtt.beginPublish(topik.c_str(), data.length(), false); - client_mqtt.print(data); - client_mqtt.endPublish(); - return send_status; -} -boolean sendCHART(String topik, String data) { - topik = jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID + "/" + topik + "/" + "status"; - boolean send_status = client_mqtt.beginPublish(topik.c_str(), data.length(), false); - client_mqtt.print(data); - client_mqtt.endPublish(); - return send_status; -} -boolean sendCHART_test(String topik, String data) { - topik = jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID + "/" + topik + "/" + "status"; - boolean send_status = client_mqtt.publish (topik.c_str(), data.c_str(), false); - return send_status; -} -//======================================STATUS================================================== -void sendSTATUS(String topik, String state) { - topik = jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID + "/" + topik + "/" + "status"; - String json_ = "{}"; - jsonWriteStr(json_, "status", state); - int send_status = client_mqtt.publish (topik.c_str(), json_.c_str(), false); -} -//======================================CONTROL================================================== -void sendCONTROL(String id, String topik, String state) { - String all_line = jsonReadStr(configSetup, "mqttPrefix") + "/" + id + "/" + topik + "/control"; - int send_status = client_mqtt.publish (all_line.c_str(), state.c_str(), false); -} - -//=====================================================ОТПРАВЛЯЕМ ВИДЖЕТЫ======================================================== - -#ifdef layout_in_ram -void sendAllWigets() { - if (all_widgets != "") { - int counter = 0; - String line; - int psn_1 = 0; - int psn_2; - do { - psn_2 = all_widgets.indexOf("\r\n", psn_1); //\r\n - line = all_widgets.substring(psn_1, psn_2); - line.replace("\n", ""); - line.replace("\r\n", ""); - //jsonWriteStr(line, "id", String(counter)); - //jsonWriteStr(line, "pageId", String(counter)); - counter++; - sendMQTT("config", line); - Serial.println("[V] " + line); - psn_1 = psn_2 + 1; - } while (psn_2 + 2 < all_widgets.length()); - getMemoryLoad("[i] after send all widgets"); - } -} -#endif - -#ifndef layout_in_ram -void sendAllWigets() { - File configFile = SPIFFS.open("/layout.txt", "r"); - if (!configFile) { - return; - } - configFile.seek(0, SeekSet); //поставим курсор в начало файла - while (configFile.position() != configFile.size()) { - String widget_to_send = configFile.readStringUntil('\r\n'); - Serial.println("[V] " + widget_to_send); - sendMQTT("config", widget_to_send); - } -} -#endif -//=====================================================ОТПРАВЛЯЕМ ДАННЫЕ В ВИДЖЕТЫ ПРИ ОБНОВЛЕНИИ СТРАНИЦЫ======================================================== -void sendAllData() { //берет строку json и ключи превращает в топики а значения колючей в них посылает - - String current_config = configJson; //{"name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1"} - getMemoryLoad("[i] after send all date"); - current_config.replace("{", ""); - current_config.replace("}", ""); //"name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1" - current_config += ","; //"name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1", - - while (current_config.length() != 0) { - - String tmp = selectToMarker (current_config, ","); - String topic = selectToMarker (tmp, ":"); - topic.replace("\"", ""); - String state = selectToMarkerLast (tmp, ":"); - state.replace("\"", ""); - if (topic != "name" && topic != "lang" && topic != "ip" && topic.indexOf("_in") < 0) { - sendSTATUS(topic, state); - //Serial.println("-->" + topic + " " + state); - } - current_config = deleteBeforeDelimiter(current_config, ","); - } -} - - - -String stateMQTT() { - - int state = client_mqtt.state(); - - switch (state) { - case -4: return "the server didn't respond within the keepalive time"; - break; - case -3: return "the network connection was broken"; - break; - case -2: return "the network connection failed"; - break; - case -1: return "the client is disconnected cleanly"; - break; - case 0: return "the client is connected"; - break; - case 1: return "the server doesn't support the requested version of MQTT"; - break; - case 2: return "the server rejected the client identifier"; - break; - case 3: return "the server was unable to accept the connection"; - break; - case 4: return "the username/password were rejected"; - break; - case 5: return "the client was not authorized to connect"; - break; - } -} -/*void scenario_devices_topiks_subscribe() { - - //SCENARIO ANALOG > 5 800324-1458415 rel1 0 - if (jsonReadStr(configSetup, "scenario") == "1") { - //String all_text = readFile("firmware.s.txt", 1024) + "\r\n"; - String all_text = scenario + "\r\n"; - all_text.replace("\r\n", "\n"); - all_text.replace("\r", "\n"); - while (all_text.length() != 0) { - String line_ = selectToMarker (all_text, "\n"); - String id = selectFromMarkerToMarker(line_, " ", 4); - if (id != "not found") { - client_mqtt.subscribe((jsonReadStr(configSetup, "mqttPrefix") + "/" + id + "/+/status").c_str(), 0); - Serial.println("subscribed to device, id: " + id); - } - all_text = deleteBeforeDelimiter(all_text, "\n"); - } - } - } -*/ -/*void scenario_devices_test_msg_send() { - - if (jsonReadStr(configSetup, "scenario") == "1") { - - String all_text = scenario + "\r\n"; - all_text.replace("\r\n", "\n"); - all_text.replace("\r", "\n"); - while (all_text.length() != 0) { - String line_ = selectToMarker (all_text, "\n"); - String id = selectFromMarkerToMarker(line_, " ", 4); - if (id != "not found") { - //Serial.println(); - Serial.println(client_mqtt.publish ((jsonReadStr(configSetup, "mqttPrefix") + "/" + id).c_str(), "CHECK", true)); - - } - all_text = deleteBeforeDelimiter(all_text, "\n"); - } - } - }*/ - -/* - //----------------------------------------------------------------------------------------------------------------------------------------------- - //jsonWriteStr(tmp, "status", "1"); - - String current_config = configJson; //{"name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1"} - current_config.replace("{", ""); - current_config.replace("}", ""); //"name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1" - current_config += ","; //"name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1", - - while (current_config.length() != 0) { - - String tmp = selectToMarker (current_config, ","); //"rel1":"1" - String topic = selectToMarker (tmp, ":"); //"rel1" - topic.replace("\"", ""); //rel1 - Serial.println(topic); - String state = selectToMarkerLast (tmp, ":"); //"1" - state.replace("\"", ""); //1 - - //if (widget.lastIndexOf(topic) > 0) { - jsonWriteStr(tmp, "status", state); - //} - current_config = deleteBeforeDelimiter(current_config, ","); - } - //------------------------------------------------------------------------------------------------------------------------------------------------- -*/ diff --git a/pictures/1.png b/pictures/1.png deleted file mode 100644 index ba8205a66a620988aaa6cbeea0403cc1371ec047..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2779 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

&0mXva~7WCbG1E1|50mj@o6Fr_B%y50 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

>9;(>(`#}mlXEgf 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%0AOw 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 diff --git a/pictures/esp8266_1.png b/pictures/esp8266_1.png deleted file mode 100644 index 016f840730c98620c69e543fa2c9fb9fdb0ac715..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112540 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 V91>xTneDhki#OP;+6_#e|T>jMA) diff --git a/pictures/esp8266_1mb_1.png b/pictures/esp8266_1mb_1.png deleted file mode 100644 index f3c8a2b4644074d99085ddb69ea9b03cbc98b4b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134789 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�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:Hh$p@5|(VfjtF(d$5I$B?J+Nh08`l{@T{)hZ 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 E0QO?e-v9sr diff --git a/pictures/esp8266_1mb_2.png b/pictures/esp8266_1mb_2.png deleted file mode 100644 index 0506116f8b06a87a9bc50d20d50d9f18581eebd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129290 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­s(lL+Up!JQxY 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 F{|AHu8#e#| diff --git a/pictures/esp8266_2.png b/pictures/esp8266_2.png deleted file mode 100644 index ec8cde524c7d11f47526ba8db9a1bbf0017d67eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135794 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

b7jx*f$VB`wdVc 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"pushingbox_id")) { - jsonWriteStr(configSetup, "pushingbox_id", request->getParam("pushingbox_id")->value()); - } - - saveConfig(); - - request->send(200, "text/text", "ok"); // отправляем ответ о выполнении - }); -} - -void pushControl() { - - String title = sCmd.next(); - title.replace("#", " "); - String body = sCmd.next(); - body.replace("#", " "); - - static String body_old; - - const char* logServer = "api.pushingbox.com"; - String deviceId = jsonReadStr(configSetup, "pushingbox_id"); - - Serial.println("- starting client"); - - WiFiClient client_push; - - Serial.println("- connecting to pushing server: " + String(logServer)); - if (!client_push.connect(logServer, 80)) { - Serial.println("- not connected"); - } else { - Serial.println("- succesfully connected"); - - String postStr = "devid="; - postStr += String(deviceId); - - postStr += "&title="; - postStr += String(title); - - postStr += "&body="; - postStr += String(body); - - postStr += "\r\n\r\n"; - - Serial.println("- sending data..."); - - client_push.print("POST /pushingbox HTTP/1.1\n"); - client_push.print("Host: api.pushingbox.com\n"); - client_push.print("Connection: close\n"); - client_push.print("Content-Type: application/x-www-form-urlencoded\n"); - client_push.print("Content-Length: "); - client_push.print(postStr.length()); - client_push.print("\n\n"); - client_push.print(postStr); - } - client_push.stop(); - Serial.println("- stopping the client"); -} -#endif diff --git a/src/Cmd.cpp b/src/Cmd.cpp new file mode 100644 index 00000000..8708d58f --- /dev/null +++ b/src/Cmd.cpp @@ -0,0 +1,574 @@ +#include "Cmd.h" + +#include "Scenario.h" +#include "TimeUtils.h" +#include "Widgets.h" +#include "main.h" +#include "push_pushingbox.h" +#include "set.h" + +void CMD_init() { + sCmd.addCommand("button", button); + sCmd.addCommand("buttonSet", buttonSet); + sCmd.addCommand("buttonChange", buttonChange); + + sCmd.addCommand("pinSet", pinSet); + sCmd.addCommand("pinChange", pinChange); + + sCmd.addCommand("pwm", pwm); + sCmd.addCommand("pwmSet", pwmSet); + + sCmd.addCommand("switch", switch_); + +#ifdef analog_enable + sCmd.addCommand("analog", analog); +#endif +#ifdef level_enable + sCmd.addCommand("level", level); +#endif +#ifdef dallas_enable + sCmd.addCommand("dallas", dallas); +#endif +#ifdef dht_enable + sCmd.addCommand("dhtT", dhtT); + sCmd.addCommand("dhtH", dhtH); + sCmd.addCommand("dhtPerception", dhtP); + sCmd.addCommand("dhtComfort", dhtC); + sCmd.addCommand("dhtDewpoint", dhtD); +#endif + +#ifdef bmp_enable + sCmd.addCommand("bmp280T", bmp280T); + sCmd.addCommand("bmp280P", bmp280P); +#endif + +#ifdef bme_enable + sCmd.addCommand("bme280T", bme280T); + sCmd.addCommand("bme280P", bme280P); + sCmd.addCommand("bme280H", bme280H); + sCmd.addCommand("bme280A", bme280A); +#endif + +#ifdef stepper_enable + sCmd.addCommand("stepper", stepper); + sCmd.addCommand("stepperSet", stepperSet); +#endif + +#ifdef servo_enable + sCmd.addCommand("servo", servo_); + sCmd.addCommand("servoSet", servoSet); +#endif + +#ifdef serial_enable + sCmd.addCommand("serialBegin", serialBegin); + sCmd.addCommand("serialWrite", serialWrite); +#endif + +#ifdef logging_enable + sCmd.addCommand("logging", logging); +#endif + + sCmd.addCommand("inputDigit", inputDigit); + sCmd.addCommand("digitSet", digitSet); + + sCmd.addCommand("inputTime", inputTime); + sCmd.addCommand("timeSet", timeSet); + + sCmd.addCommand("timerStart", timerStart); + sCmd.addCommand("timerStop", timerStop); + + sCmd.addCommand("text", text); + sCmd.addCommand("textSet", textSet); + + sCmd.addCommand("mqtt", mqttOrderSend); + sCmd.addCommand("http", httpOrderSend); + +#ifdef push_enable + sCmd.addCommand("push", pushControl); +#endif + + sCmd.addCommand("update", update_firmware); + sCmd.addCommand("firmware", firmware); + + handle_time_init(); +} + +void button() { + String button_number = sCmd.next(); + String button_param = sCmd.next(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String start_state = sCmd.next(); + String page_number = sCmd.next(); + + jsonWriteStr(optionJson, "button_param" + button_number, button_param); + jsonWriteStr(configJson, "button" + button_number, start_state); + + if (isDigitStr(button_param)) { + pinMode(button_param.toInt(), OUTPUT); + digitalWrite(button_param.toInt(), start_state.toInt()); + } + + if (button_param == "scenario") { + jsonWriteStr(configSetup, "scenario", start_state); + Scenario_init(); + saveConfig(); + } + + if (button_param.indexOf("line") != -1) { + String str = button_param; + while (str.length() != 0) { + if (str == "") return; + String tmp = selectToMarker(str, ","); //line1, + String number = deleteBeforeDelimiter(tmp, "e"); //1, + number.replace(",", ""); + Serial.println(number); + int number_int = number.toInt(); + scenario_line_status[number_int] = start_state.toInt(); + str = deleteBeforeDelimiter(str, ","); + } + } + createWidget(widget_name, page_name, page_number, "widgets/widget.toggle.json", "button" + button_number); +} + +void buttonSet() { + String button_number = sCmd.next(); + String button_state = sCmd.next(); + String button_param = jsonReadStr(optionJson, "button_param" + button_number); + + if (button_param != "na" || button_param != "scenario" || button_param.indexOf("line") != -1) { + digitalWrite(button_param.toInt(), button_state.toInt()); + } + + if (button_param == "scenario") { + jsonWriteStr(configSetup, "scenario", button_state); + Scenario_init(); + saveConfig(); + } + + if (button_param.indexOf("line") != -1) { + String str = button_param; + while (str.length() != 0) { + if (str == "") return; + String tmp = selectToMarker(str, ","); //line1, + String number = deleteBeforeDelimiter(tmp, "e"); //1, + number.replace(",", ""); + Serial.println(number); + int number_int = number.toInt(); + scenario_line_status[number_int] = button_state.toInt(); + str = deleteBeforeDelimiter(str, ","); + } + } + + eventGen("button", button_number); + + jsonWriteStr(configJson, "button" + button_number, button_state); + sendSTATUS("button" + button_number, button_state); +} + +void buttonChange() { + String button_number = sCmd.next(); + String current_state = jsonReadStr(configJson, "button" + button_number); + if (current_state == "1") { + current_state = "0"; + } else if (current_state == "0") { + current_state = "1"; + } + order_loop += "buttonSet " + button_number + " " + current_state + ","; + jsonWriteStr(configJson, "button" + button_number, current_state); + sendSTATUS("button" + button_number, current_state); +} + +void pinSet() { + String pin_number = sCmd.next(); + String pin_state = sCmd.next(); + pinMode(pin_number.toInt(), OUTPUT); + digitalWrite(pin_number.toInt(), pin_state.toInt()); +} + +void pinChange() { + String pin_number = sCmd.next(); + pinMode(pin_number.toInt(), OUTPUT); + digitalWrite(pin_number.toInt(), !digitalRead(pin_number.toInt())); +} + +void pwm() { + // TODO Unused + // static boolean flag = true; + String pwm_number = sCmd.next(); + String pwm_pin = sCmd.next(); + String widget_name = sCmd.next(); + widget_name.replace("#", " "); + String page_name = sCmd.next(); + String start_state = sCmd.next(); + String page_number = sCmd.next(); + + uint8_t pwm_pin_int = pwm_pin.toInt(); + jsonWriteStr(optionJson, "pwm_pin" + pwm_number, pwm_pin); + pinMode(pwm_pin_int, INPUT); + analogWrite(pwm_pin_int, start_state.toInt()); + jsonWriteStr(configJson, "pwm" + pwm_number, start_state); + createWidget(widget_name, page_name, page_number, "widgets/widget.range.json", "pwm" + pwm_number); +} + +void pwmSet() { + String pwm_number = sCmd.next(); + String pwm_state = sCmd.next(); + int pwm_state_int = pwm_state.toInt(); + + int pin = jsonReadInt(optionJson, "pwm_pin" + pwm_number); + analogWrite(pin, pwm_state_int); + + eventGen("pwm", pwm_number); + + jsonWriteStr(configJson, "pwm" + pwm_number, pwm_state); + sendSTATUS("pwm" + pwm_number, pwm_state); +} +//================================================================================================================== +//==========================================Модуль физической кнопки================================================ +void switch_() { + String switch_number = sCmd.next(); + String switch_pin = sCmd.next(); + String switch_delay = sCmd.next(); + + buttons[switch_number.toInt()].attach(switch_pin.toInt()); + buttons[switch_number.toInt()].interval(switch_delay.toInt()); + but[switch_number.toInt()] = true; +} + +void handleButton() { + static uint8_t switch_number = 1; + + if (but[switch_number]) { + buttons[switch_number].update(); + if (buttons[switch_number].fell()) { + eventGen("switch", String(switch_number)); + + jsonWriteStr(configJson, "switch" + String(switch_number), "1"); + } + if (buttons[switch_number].rose()) { + eventGen("switch", String(switch_number)); + + jsonWriteStr(configJson, "switch" + String(switch_number), "0"); + } + } + switch_number++; + if (switch_number == NUM_BUTTONS) switch_number = 0; +} + +void inputDigit() { + String value_name = sCmd.next(); + String number = value_name.substring(5); + String widget_name = sCmd.next(); + widget_name.replace("#", " "); + String page_name = sCmd.next(); + page_name.replace("#", " "); + String start_state = sCmd.next(); + String page_number = sCmd.next(); + jsonWriteStr(configJson, "digit" + number, start_state); + createWidget(widget_name, page_name, page_number, "widgets/widget.inputNum.json", "digit" + number); +} + +void digitSet() { + String number = sCmd.next(); + String value = sCmd.next(); + jsonWriteStr(configJson, "digit" + number, value); + sendSTATUS("digit" + number, value); +} + +void inputTime() { + String value_name = sCmd.next(); + String number = value_name.substring(4); + String widget_name = sCmd.next(); + widget_name.replace("#", " "); + String page_name = sCmd.next(); + page_name.replace("#", " "); + String start_state = sCmd.next(); + String page_number = sCmd.next(); + jsonWriteStr(configJson, "time" + number, start_state); + createWidget(widget_name, page_name, page_number, "widgets/widget.inputTime.json", "time" + number); +} + +void timeSet() { + String number = sCmd.next(); + String value = sCmd.next(); + jsonWriteStr(configJson, "time" + number, value); + sendSTATUS("time" + number, value); +} + +void handle_time_init() { + ts.add( + TIME, 1000, [&](void*) { + String tmp = GetTime(); + jsonWriteStr(configJson, "time", tmp); + tmp.replace(":", "-"); + jsonWriteStr(configJson, "timenow", tmp); + eventGen("timenow", ""); + }, + nullptr, true); +} + +void text() { + String number = sCmd.next(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String page_number = sCmd.next(); + + createWidget(widget_name, page_name, page_number, "widgets/widget.anyData.json", "text" + number); +} + +void textSet() { + String number = sCmd.next(); + String text = sCmd.next(); + text.replace("_", " "); + + if (text.indexOf("-time") >= 0) { + text.replace("-time", ""); + text.replace("#", " "); + String time = GetTime(); + time.replace(":", "."); + text = text + " " + GetDataDigital() + " " + time; + } + + jsonWriteStr(configJson, "text" + number, text); + sendSTATUS("text" + number, text); +} + +#ifdef stepper_enable +//stepper 1 12 13 +void stepper() { + String stepper_number = sCmd.next(); + String pin_step = sCmd.next(); + String pin_dir = sCmd.next(); + + jsonWriteStr(optionJson, "stepper" + stepper_number, pin_step + " " + pin_dir); + pinMode(pin_step.toInt(), OUTPUT); + pinMode(pin_dir.toInt(), OUTPUT); +} + +//stepperSet 1 100 5 +void stepperSet() { + String stepper_number = sCmd.next(); + String steps = sCmd.next(); + jsonWriteStr(optionJson, "steps" + stepper_number, steps); + String stepper_speed = sCmd.next(); + String pin_step = selectToMarker(jsonReadStr(optionJson, "stepper" + stepper_number), " "); + String pin_dir = deleteBeforeDelimiter(jsonReadStr(optionJson, "stepper" + stepper_number), " "); + Serial.println(pin_step); + Serial.println(pin_dir); + if (steps.toInt() > 0) digitalWrite(pin_dir.toInt(), HIGH); + if (steps.toInt() < 0) digitalWrite(pin_dir.toInt(), LOW); + if (stepper_number == "1") { + ts.add( + STEPPER1, stepper_speed.toInt(), [&](void*) { + int steps_int = abs(jsonReadInt(optionJson, "steps1") * 2); + static int count; + count++; + String pin_step = selectToMarker(jsonReadStr(optionJson, "stepper1"), " "); + digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt())); + yield(); + if (count > steps_int) { + digitalWrite(pin_step.toInt(), LOW); + ts.remove(STEPPER1); + count = 0; + } + }, + nullptr, true); + } + if (stepper_number == "2") { + ts.add( + STEPPER2, stepper_speed.toInt(), [&](void*) { + int steps_int = abs(jsonReadInt(optionJson, "steps2") * 2); + static int count; + count++; + String pin_step = selectToMarker(jsonReadStr(optionJson, "stepper2"), " "); + digitalWrite(pin_step.toInt(), !digitalRead(pin_step.toInt())); + yield(); + if (count > steps_int) { + digitalWrite(pin_step.toInt(), LOW); + ts.remove(STEPPER2); + count = 0; + } + }, + nullptr, true); + } +} +#endif +//==================================================================================================================================================== +//=================================================================Сервоприводы======================================================================= +#ifdef servo_enable +//servo 1 13 50 Мой#сервопривод Сервоприводы 0 100 0 180 2 +void servo_() { + String servo_number = sCmd.next(); + String servo_pin = sCmd.next(); + String start_state = sCmd.next(); + int start_state_int = start_state.toInt(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + + String min_value = sCmd.next(); + String max_value = sCmd.next(); + + String min_deg = sCmd.next(); + String max_deg = sCmd.next(); + + String page_number = sCmd.next(); + + jsonWriteStr(optionJson, "servo_pin" + servo_number, servo_pin); + start_state_int = map(start_state_int, min_value.toInt(), max_value.toInt(), min_deg.toInt(), max_deg.toInt()); + + if (servo_number == "1") { +#ifdef ESP8266 + myServo1.attach(servo_pin.toInt()); + myServo1.write(start_state_int); +#endif +#ifdef ESP32 + myServo1.attach(servo_pin.toInt(), 500, 2400); + myServo1.write(start_state_int); +#endif + } + + if (servo_number == "2") { +#ifdef ESP8266 + myServo2.attach(servo_pin.toInt()); + myServo2.write(start_state_int); +#endif +#ifdef ESP32 + myServo2.attach(servo_pin.toInt(), 500, 2400); + myServo2.write(start_state_int); +#endif + } + + jsonWriteStr(optionJson, "s_min_val" + servo_number, min_value); + jsonWriteStr(optionJson, "s_max_val" + servo_number, max_value); + jsonWriteStr(optionJson, "s_min_deg" + servo_number, min_deg); + jsonWriteStr(optionJson, "s_max_deg" + servo_number, max_deg); + + jsonWriteStr(configJson, "servo" + servo_number, start_state); + + createWidgetParam(widget_name, page_name, page_number, "widgets/widget.range.json", "servo" + servo_number, "min", min_value, "max", max_value, "k", "1"); +} + +void servoSet() { + String servo_number = sCmd.next(); + String servo_state = sCmd.next(); + int servo_state_int = servo_state.toInt(); + + // TODO Unused + //int pin = jsonReadInt(optionJson, "servo_pin" + servo_number); + + servo_state_int = map(servo_state_int, + jsonReadInt(optionJson, "s_min_val" + servo_number), + jsonReadInt(optionJson, "s_max_val" + servo_number), + jsonReadInt(optionJson, "s_min_deg" + servo_number), + jsonReadInt(optionJson, "s_max_deg" + servo_number)); + + if (servo_number == "1") { +#ifdef ESP8266 + myServo1.write(servo_state_int); +#endif +#ifdef ESP32 + myServo1.write(servo_state_int); +#endif + } + + if (servo_number == "2") { +#ifdef ESP8266 + myServo2.write(servo_state_int); +#endif +#ifdef ESP32 + myServo2.write(servo_state_int); +#endif + } + + eventGen("servo", servo_number); + + jsonWriteStr(configJson, "servo" + servo_number, servo_state); + sendSTATUS("servo" + servo_number, servo_state); +} +#endif +//==================================================================================================================================================== +//===================================================================================serial=========================================================== +#ifdef serial_enable +void serialBegin() { + //String s_speed = sCmd.next(); + //String rxPin = sCmd.next(); + //String txPin = sCmd.next(); + //SoftwareSerial mySerial(rxPin.toInt(), txPin.toInt()); + //mySerial.begin(s_speed.toInt()); +} + +void serialWrite() { + //String text = sCmd.next(); + //mySerial.println(text); +} +#endif +//==================================================================================================================================================== +//=================================================Глобальные команды удаленного управления=========================================================== + +void mqttOrderSend() { + String id = sCmd.next(); + String order = sCmd.next(); + + String all_line = jsonReadStr(configSetup, "mqttPrefix") + "/" + id + "/order"; + client_mqtt.publish(all_line.c_str(), order.c_str(), false); +} + +void httpOrderSend() { + String ip = sCmd.next(); + String order = sCmd.next(); + order.replace("_", "%20"); + String url = "http://" + ip + "/cmd?command=" + order; + getURL(url); +} + +void update_firmware() { + upgrade = true; +} + +void firmware() { + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String page_number = sCmd.next(); + jsonWriteStr(configJson, "firm1", firmware_version); + choose_widget_and_create(widget_name, page_name, page_number, "any-data", "firm1"); +} + +//============================================================================================================================== +//============================выполнение команд (в лупе) по очереди из строки order============================================= +void handleCMD_loop() { + if (order_loop != "") { + String tmp = selectToMarker(order_loop, ","); //выделяем из страки order первую команду rel 5 1, + sCmd.readStr(tmp); //выполняем первую команду + Serial.println("[ORDER] => " + order_loop); + order_loop = deleteBeforeDelimiter(order_loop, ","); //осекаем выполненную команду + } +} + +void txtExecution(String file) { + String command_all = readFile(file, 2048) + "\r\n"; + + command_all.replace("\r\n", "\n"); + command_all.replace("\r", "\n"); + + while (command_all.length() != 0) { + String tmp = selectToMarker(command_all, "\n"); + sCmd.readStr(tmp); + command_all = deleteBeforeDelimiter(command_all, "\n"); + } + command_all = ""; +} + +void stringExecution(String str) { + str = str + "\r\n"; + + str.replace("\r\n", "\n"); + str.replace("\r", "\n"); + + while (str.length()) { + String tmp = selectToMarker(str, "\n"); + sCmd.readStr(tmp); + + str = deleteBeforeDelimiter(str, "\n"); + } +} diff --git a/src/FileSystem.cpp b/src/FileSystem.cpp new file mode 100644 index 00000000..2f2a8f61 --- /dev/null +++ b/src/FileSystem.cpp @@ -0,0 +1,40 @@ + +#include +#include + +#include "main.h" +#include "set.h" + +void File_system_init() { + Serial.begin(115200); + //Serial.setDebugOutput(true); + Serial.println("--------------started----------------"); + //-------------------------------------------------------------- + SPIFFS.begin(); + configSetup = readFile("config.json", 4096); + configSetup.replace(" ", ""); + configSetup.replace("\r\n", ""); + Serial.println(configSetup); + jsonWriteStr(configJson, "name", jsonReadStr(configSetup, "name")); + jsonWriteStr(configJson, "lang", jsonReadStr(configSetup, "lang")); + +#ifdef ESP32 + uint32_t chipID_u = ESP.getEfuseMac(); + chipID = String(chipID_u); + jsonWriteStr(configSetup, "chipID", chipID); +#endif + +#ifdef ESP8266 + chipID = String(ESP.getChipId()) + "-" + String(ESP.getFlashChipId()); + jsonWriteStr(configSetup, "chipID", chipID); + Serial.setDebugOutput(0); +#endif + + jsonWriteStr(configSetup, "firmware_version", firmware_version); + + prex = jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID; + Serial.println(chipID); +} + +void get_esp_info() { +} diff --git a/src/Init.cpp b/src/Init.cpp new file mode 100644 index 00000000..a0854c55 --- /dev/null +++ b/src/Init.cpp @@ -0,0 +1,251 @@ +#include "Init.h" + +#include "Scenario.h" +#include "Timers.h" +#include "Widgets.h" +#include "main.h" +#include "set.h" + +void All_init() { + server.on("/init", HTTP_GET, [](AsyncWebServerRequest* request) { + String value; + if (request->hasArg("arg")) { + value = request->getParam("arg")->value(); + } + if (value == "0") { //выкл сценариев + jsonWriteStr(configSetup, "scenario", value); + saveConfig(); + Scenario_init(); + request->send(200, "text/text", "OK"); + } + if (value == "1") { //вкл сценариев + jsonWriteStr(configSetup, "scenario", value); + saveConfig(); + Scenario_init(); + request->send(200, "text/text", "OK"); + } + if (value == "2") { //инициализация + Device_init(); + request->send(200, "text/text", "OK"); + } + if (value == "3") { +#ifdef logging_enable + clean_log_date(); +#endif + request->send(200, "text/text", "OK"); + } + if (value == "4") { + Scenario_init(); + request->send(200, "text/text", "OK"); + } + if (value == "5") { + i2c_scanning = true; + request->redirect("/?utilities"); + } + }); + + prsets_init(); + Device_init(); + Scenario_init(); + Timer_countdown_init(); +} + +void Device_init() { + logging_value_names_list = ""; + enter_to_logging_counter = LOG1 - 1; + + analog_value_names_list = ""; + enter_to_analog_counter = 0; + + level_value_name = ""; + + dhtT_value_name = ""; + dhtH_value_name = ""; + + bmp280T_value_name = ""; + bmp280P_value_name = ""; + + bme280T_value_name = ""; + bme280P_value_name = ""; + bme280H_value_name = ""; + bme280A_value_name = ""; + + int array_sz = sizeof(sensors_reading_map) / sizeof(sensors_reading_map[0]); + + for (int i = 0; i <= array_sz; i++) { + sensors_reading_map[i] = 0; + } + + for (int i = LOG1; i <= LOG5; i++) { + ts.remove(i); + } + +#ifdef layout_in_ram + all_widgets = ""; +#else + SPIFFS.remove("/layout.txt"); +#endif + + txtExecution("firmware.c.txt"); + //outcoming_date(); +} + +void Scenario_init() { + if (jsonReadStr(configSetup, "scenario") == "1") { + scenario = readFile("firmware.s.txt", 2048); + } +} + +void prsets_init() { + server.on("/preset", HTTP_GET, [](AsyncWebServerRequest* request) { + String value; + if (request->hasArg("arg")) { + value = request->getParam("arg")->value(); + } + if (value == "1") { + writeFile("firmware.c.txt", readFile("configs/relay.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/relay.s.txt", 2048)); + } + if (value == "2") { + writeFile("firmware.c.txt", readFile("configs/relay_t.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/relay_t.s.txt", 2048)); + } + if (value == "3") { + writeFile("firmware.c.txt", readFile("configs/relay_c.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/relay_c.s.txt", 2048)); + } + if (value == "4") { + writeFile("firmware.c.txt", readFile("configs/relay_s.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/relay_s.s.txt", 2048)); + } + if (value == "5") { + writeFile("firmware.c.txt", readFile("configs/relay_sw.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/relay_sw.s.txt", 2048)); + } + if (value == "6") { + writeFile("firmware.c.txt", readFile("configs/relay_br.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/relay_br.s.txt", 2048)); + } + if (value == "7") { + writeFile("firmware.c.txt", readFile("configs/relay_sr.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/relay_sr.s.txt", 2048)); + } + if (value == "8") { + writeFile("firmware.c.txt", readFile("configs/pwm.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/pwm.s.txt", 2048)); + } + if (value == "9") { + writeFile("firmware.c.txt", readFile("configs/dht11.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/dht11.s.txt", 2048)); + } + if (value == "10") { + writeFile("firmware.c.txt", readFile("configs/dht22.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/dht22.s.txt", 2048)); + } + if (value == "11") { + writeFile("firmware.c.txt", readFile("configs/analog.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/analog.s.txt", 2048)); + } + if (value == "12") { + writeFile("firmware.c.txt", readFile("configs/dallas.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/dallas.s.txt", 2048)); + } + if (value == "13") { + writeFile("firmware.c.txt", readFile("configs/termostat.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/termostat.s.txt", 2048)); + } + if (value == "14") { + writeFile("firmware.c.txt", readFile("configs/level.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/level.s.txt", 2048)); + } + if (value == "15") { + writeFile("firmware.c.txt", readFile("configs/moution_r.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/moution_r.s.txt", 2048)); + } + if (value == "16") { + writeFile("firmware.c.txt", readFile("configs/moution_s.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/moution_s.s.txt", 2048)); + } + if (value == "17") { + writeFile("firmware.c.txt", readFile("configs/stepper.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/stepper.s.txt", 2048)); + } + if (value == "18") { + writeFile("firmware.c.txt", readFile("configs/servo.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/servo.s.txt", 2048)); + } + if (value == "19") { + writeFile("firmware.c.txt", readFile("configs/firmware.c.txt", 2048)); + writeFile("firmware.s.txt", readFile("configs/firmware.s.txt", 2048)); + } + Device_init(); + Scenario_init(); + request->redirect("/?configuration"); + }); +} + +void up_time() { + uint32_t ss = millis() / 1000; + uint32_t mm = ss / 60; + uint32_t hh = mm / 60; + uint32_t dd = hh / 24; + + String out = ""; + + if (ss != 0) { + out = "[i] uptime = " + String(ss) + " sec"; + jsonWriteStr(configJson, "uptime", String(ss) + " sec"); + } + if (mm != 0) { + out = "[i] uptime = " + String(mm) + " min"; + jsonWriteStr(configJson, "uptime", String(mm) + " min"); + } + if (hh != 0) { + out = "[i] uptime = " + String(hh) + " hours"; + jsonWriteStr(configJson, "uptime", String(hh) + " hours"); + } + if (dd != 0) { + out = "[i] uptime = " + String(dd) + " days"; + jsonWriteStr(configJson, "uptime", String(dd) + " days"); + } + Serial.println(out + ", mqtt_lost_error: " + String(mqtt_lost_error) + ", wifi_lost_error: " + String(wifi_lost_error)); +} + +void statistics() { + if (WiFi.status() == WL_CONNECTED) { + String urls = "http://backup.privet.lv/visitors/?"; + //----------------------------------------------------------------- + urls += WiFi.macAddress().c_str(); + urls += "&"; + //----------------------------------------------------------------- +#ifdef ESP8266 + urls += "iot-manager_esp8266"; +#endif +#ifdef ESP32 + urls += "iot-manager_esp32"; +#endif + urls += "&"; + //----------------------------------------------------------------- +#ifdef ESP8266 + urls += ESP.getResetReason(); + //Serial.println(ESP.getResetReason()); +#endif +#ifdef ESP32 + urls += "Power on"; +#endif + urls += "&"; + //----------------------------------------------------------------- + urls += "ver: " + firmware_version; + //----------------------------------------------------------------- + String stat = getURL(urls); + //Serial.println(stat); + } +} + +void statistics_init() { + ts.add( + STATISTICS, statistics_update, [&](void*) { + statistics(); + }, + nullptr, true); +} diff --git a/src/Logging.cpp b/src/Logging.cpp new file mode 100644 index 00000000..b23028ce --- /dev/null +++ b/src/Logging.cpp @@ -0,0 +1,176 @@ +#include "Logging.h" + +#include "Mqtt.h" +#include "TimeUtils.h" +#include "Widgets.h" +#include "main.h" +#include "set.h" + +#ifdef logging_enable +//===============================================Логирование============================================================ +//logging temp1 1 10 Температура Датчики 2 +void logging() { + String value_name = sCmd.next(); + String period_min = sCmd.next(); + String maxCount = sCmd.next(); + String widget_name = sCmd.next(); + widget_name.replace("#", " "); + String page_name = sCmd.next(); + String page_number = sCmd.next(); + logging_value_names_list += value_name + ","; + // считаем количество входов в эту функцию + enter_to_logging_counter++; + //создаем в файловой системе переменную количества точек на графике с отметкой _c что значит count + jsonWriteStr(optionJson, value_name + "_c", maxCount); + + //создаем график в приложении с топиком _ch /prefix/3234045-1589487/value_name_ch + createChart(widget_name, page_name, page_number, "widgets/widget.chart.json", value_name + "_ch", maxCount); + if (enter_to_logging_counter == LOG1) { + ts.add( + LOG1, period_min.toInt() * 1000 * 60, [&](void*) { + String tmp_buf_1 = selectFromMarkerToMarker(logging_value_names_list, ",", 0); + deleteOldDate("log." + tmp_buf_1 + ".txt", jsonReadInt(optionJson, tmp_buf_1 + "_c"), jsonReadStr(configJson, tmp_buf_1)); + Serial.println("[i] LOGGING for sensor '" + tmp_buf_1 + "' done"); + }, + nullptr, false); + } + if (enter_to_logging_counter == LOG2) { + ts.add( + LOG2, period_min.toInt() * 1000 * 60, [&](void*) { + String tmp_buf_2 = selectFromMarkerToMarker(logging_value_names_list, ",", 1); + deleteOldDate("log." + tmp_buf_2 + ".txt", jsonReadInt(optionJson, tmp_buf_2 + "_c"), jsonReadStr(configJson, tmp_buf_2)); + Serial.println("[i] LOGGING for sensor '" + tmp_buf_2 + "' done"); + }, + nullptr, false); + } + if (enter_to_logging_counter == LOG3) { + ts.add( + LOG3, period_min.toInt() * 1000 * 60, [&](void*) { + String tmp_buf_3 = selectFromMarkerToMarker(logging_value_names_list, ",", 2); + deleteOldDate("log." + tmp_buf_3 + ".txt", jsonReadInt(optionJson, tmp_buf_3 + "_c"), jsonReadStr(configJson, tmp_buf_3)); + Serial.println("[i] LOGGING for sensor '" + tmp_buf_3 + "' done"); + }, + nullptr, false); + } + if (enter_to_logging_counter == LOG4) { + ts.add( + LOG4, period_min.toInt() * 1000 * 60, [&](void*) { + String tmp_buf_4 = selectFromMarkerToMarker(logging_value_names_list, ",", 3); + deleteOldDate("log." + tmp_buf_4 + ".txt", jsonReadInt(optionJson, tmp_buf_4 + "_c"), jsonReadStr(configJson, tmp_buf_4)); + Serial.println("[i] LOGGING for sensor '" + tmp_buf_4 + "' done"); + }, + nullptr, false); + } + if (enter_to_logging_counter == LOG5) { + ts.add( + LOG5, period_min.toInt() * 1000 * 60, [&](void*) { + String tmp_buf_5 = selectFromMarkerToMarker(logging_value_names_list, ",", 4); + deleteOldDate("log." + tmp_buf_5 + ".txt", jsonReadInt(optionJson, tmp_buf_5 + "_c"), jsonReadStr(configJson, tmp_buf_5)); + Serial.println("[i] LOGGING for sensor '" + tmp_buf_5 + "' done"); + }, + nullptr, false); + } +} + +//=========================================Удаление стрых данных и запись новых================================================================== +void deleteOldDate(String file, int seted_number_of_lines, String date_to_add) { + String log_date = readFile(file, 5000); + int current_number_of_lines = count(log_date, "\r\n"); + Serial.println("=====> [i] in log file " + file + " " + current_number_of_lines + " lines"); + + if (current_number_of_lines > seted_number_of_lines + 1) { + SPIFFS.remove("/" + file); + current_number_of_lines = 0; + } + if (current_number_of_lines == 0) { + SPIFFS.remove("/" + file); + current_number_of_lines = 0; + } + if (current_number_of_lines > seted_number_of_lines) { + log_date = deleteBeforeDelimiter(log_date, "\r\n"); + if (GetTimeUnix() != "failed") { + log_date += GetTimeUnix() + " " + date_to_add + "\r\n"; + writeFile(file, log_date); + } + } else { + if (GetTimeUnix() != "failed") { + addFile(file, GetTimeUnix() + " " + date_to_add); + } + } + log_date = ""; +} + +//=========================================Выбор какие данные отправлять================================================================== +void choose_log_date_and_send() { + String all_line = logging_value_names_list; + while (all_line.length() != 0) { + String tmp = selectToMarker(all_line, ","); + sendLogData("log." + tmp + ".txt", tmp + "_ch"); + all_line = deleteBeforeDelimiter(all_line, ","); + } + all_line = ""; +} + +//=========================================Отправка данных=================================================================================== +void sendLogData(String file, String topic) { + String log_date = readFile(file, 5000); + if (log_date != "Failed") { + log_date.replace("\r\n", "\n"); + log_date.replace("\r", "\n"); + String buf = "{}"; + String json_array; + String unix_time; + String value; + while (log_date.length() != 0) { + String tmp = selectToMarker(log_date, "\n"); + log_date = deleteBeforeDelimiter(log_date, "\n"); + unix_time = selectToMarker(tmp, " "); + jsonWriteInt(buf, "x", unix_time.toInt()); + value = deleteBeforeDelimiter(tmp, " "); + jsonWriteFloat(buf, "y1", value.toFloat()); + if (log_date.length() < 3) { + json_array += buf; + } else { + json_array += buf + ","; + } + buf = "{}"; + } + unix_time = ""; + value = ""; + log_date = ""; + json_array = "{\"status\":[" + json_array + "]}"; + Serial.println(json_array); + sendCHART(topic, json_array); + json_array = ""; + getMemoryLoad("[i] after send log date"); + } +} + +/* + //---------------------------------------------- + File configFile = SPIFFS.open("/" + file, "r"); + if (!configFile) { + return; + } + configFile.seek(0, SeekSet); //поставим курсор в начало файла + while (configFile.position() != configFile.size()) { + String tmp = configFile.readStringUntil('\r\n'); + String unix_time = selectToMarker (tmp, " "); + String value = deleteBeforeDelimiter(tmp, " "); + String final_line = "{\"status\":{\"x\":" + unix_time + ",\"y1\":" + value + "}}"; + //Serial.println(final_line); + sendCHART(topic, final_line); + } + getMemoryLoad("[i] after send log date"); +*/ +//=========================================Очистка данных=================================================================================== +void clean_log_date() { + String all_line = logging_value_names_list; + while (all_line.length() != 0) { + String tmp = selectToMarker(all_line, ","); + SPIFFS.remove("/log." + tmp + ".txt"); + all_line = deleteBeforeDelimiter(all_line, ","); + } + all_line = ""; +} +#endif diff --git a/src/Mqtt.cpp b/src/Mqtt.cpp new file mode 100644 index 00000000..6a947ae8 --- /dev/null +++ b/src/Mqtt.cpp @@ -0,0 +1,352 @@ +#include "Mqtt.h" + +#include + +#include "WiFi.h" +#include "main.h" +#include "set.h" + +//===============================================ИНИЦИАЛИЗАЦИЯ================================================ +void MQTT_init() { + ts.add( + WIFI_MQTT_CONNECTION_CHECK, wifi_mqtt_reconnecting, [&](void*) { + up_time(); + if (WiFi.status() == WL_CONNECTED) { + Serial.println("[VV] WiFi-ok"); + if (client_mqtt.connected()) { + Serial.println("[VV] MQTT-ok"); + led_blink("off"); + } else { + MQTT_Connecting(); + if (!just_load) mqtt_lost_error++; + } + } else { + Serial.println("[E] Lost WiFi connection"); + wifi_lost_error++; + ts.remove(WIFI_MQTT_CONNECTION_CHECK); + StartAPMode(); + } + }, + nullptr, true); + + server.on("/mqttSave", HTTP_GET, [](AsyncWebServerRequest* request) { + if (request->hasArg("mqttServer")) { + jsonWriteStr(configSetup, "mqttServer", request->getParam("mqttServer")->value()); + } + if (request->hasArg("mqttPort")) { + int port = (request->getParam("mqttPort")->value()).toInt(); + jsonWriteInt(configSetup, "mqttPort", port); + } + if (request->hasArg("mqttPrefix")) { + jsonWriteStr(configSetup, "mqttPrefix", request->getParam("mqttPrefix")->value()); + } + if (request->hasArg("mqttUser")) { + jsonWriteStr(configSetup, "mqttUser", request->getParam("mqttUser")->value()); + } + if (request->hasArg("mqttPass")) { + jsonWriteStr(configSetup, "mqttPass", request->getParam("mqttPass")->value()); + } + saveConfig(); + mqtt_connection = true; + + request->send(200, "text/text", "ok"); + }); + + server.on("/mqttCheck", HTTP_GET, [](AsyncWebServerRequest* request) { + String tmp = "{}"; + jsonWriteStr(tmp, "title", "" + stateMQTT()); + jsonWriteStr(tmp, "class", "pop-up"); + request->send(200, "text/text", tmp); + }); +} + +void do_mqtt_connection() { + if (mqtt_connection) { + mqtt_connection = false; + client_mqtt.disconnect(); + MQTT_Connecting(); + } +} + +void handleMQTT() { + if (WiFi.status() == WL_CONNECTED) { + if (client_mqtt.connected()) { + client_mqtt.loop(); + } + } +} + +boolean MQTT_Connecting() { + bool res = false; + String mqtt_server = jsonReadStr(configSetup, "mqttServer"); + if ((mqtt_server != "")) { + Serial.println("[E] Lost MQTT connection, start reconnecting"); + led_blink("fast"); + client_mqtt.setServer(mqtt_server.c_str(), jsonReadInt(configSetup, "mqttPort")); + if (WiFi.status() == WL_CONNECTED) { + if (!client_mqtt.connected()) { + Serial.println("[V] Connecting to MQTT server commenced"); + if (client_mqtt.connect(chipID.c_str(), jsonReadStr(configSetup, "mqttUser").c_str(), jsonReadStr(configSetup, "mqttPass").c_str())) { + Serial.println("[VV] MQTT connected"); + led_blink("off"); + client_mqtt.setCallback(callback); + client_mqtt.subscribe(jsonReadStr(configSetup, "mqttPrefix").c_str()); // Для приема получения HELLOW и подтверждения связи + client_mqtt.subscribe((jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID + "/+/control").c_str()); // Подписываемся на топики control + client_mqtt.subscribe((jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID + "/order").c_str()); // Подписываемся на топики order + Serial.println("[V] Callback set, subscribe done"); + res = true; + } else { + Serial.println("[E] try again in " + String(wifi_mqtt_reconnecting / 1000) + " sec"); + led_blink("fast"); + } + } + } + } else { + Serial.println("[E] No date for MQTT connection"); + } + return res; +} + +//=====================================================ВХОДЯЩИЕ ДАННЫЕ======================================================== +void callback(char* topic, byte* payload, unsigned int length) { + Serial.print("[MQTT] "); + Serial.print(topic); + String topic_str = String(topic); + + String str; + for (int i = 0; i < length; i++) { + str += (char)payload[i]; + } + Serial.println(" => " + str); + + if (str == "HELLO") outcoming_date(); + + //превращает название топика в команду, а значение в параметр команды + if (topic_str.indexOf("control") > 0) { //IoTmanager/800324-1458415/button-sw2/control 1 //IoTmanager/800324-1458415/button99/control 1 + String topic = selectFromMarkerToMarker(topic_str, "/", 3); //button1 //button99 + topic = add_set(topic); //buttonSet1 //buttonSet99 + String number = selectToMarkerLast(topic, "Set"); //1 //99 + topic.replace(number, ""); //buttonSet //buttonSet + String final_line = topic + " " + number + " " + str; //buttonSet 1 1 //buttonSet 99 1 + order_loop += final_line + ","; + } + + if (topic_str.indexOf("order") > 0) { + str.replace("_", " "); + //Serial.println(str); + order_loop += str + ","; + } + if (topic_str.indexOf("update") > 0) { + if (str == "1") { + upgrade = true; + } + } +} + +//данные которые отправляем при подключении или отбновлении страницы +void outcoming_date() { + sendAllWigets(); + sendAllData(); + +#ifdef logging_enable + choose_log_date_and_send(); +#endif + + Serial.println("[V] Sending all date to iot manager completed"); +} + +boolean sendMQTT(String end_of_topik, String data) { + String topik = jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID + "/" + end_of_topik; + boolean send_status = client_mqtt.beginPublish(topik.c_str(), data.length(), false); + client_mqtt.print(data); + client_mqtt.endPublish(); + return send_status; +} + +boolean sendCHART(String topik, String data) { + topik = jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID + "/" + topik + "/" + "status"; + boolean send_status = client_mqtt.beginPublish(topik.c_str(), data.length(), false); + client_mqtt.print(data); + client_mqtt.endPublish(); + return send_status; +} + +void sendSTATUS(String topik, String state) { + topik = jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID + "/" + topik + "/" + "status"; + String json_ = "{}"; + jsonWriteStr(json_, "status", state); + client_mqtt.publish(topik.c_str(), json_.c_str(), false); +} + +void sendCONTROL(String id, String topik, String state) { + String all_line = jsonReadStr(configSetup, "mqttPrefix") + "/" + id + "/" + topik + "/control"; + client_mqtt.publish(all_line.c_str(), state.c_str(), false); +} + +//=====================================================ОТПРАВЛЯЕМ ВИДЖЕТЫ======================================================== + +#ifdef layout_in_ram +void sendAllWigets() { + if (all_widgets != "") { + int counter = 0; + String line; + int psn_1 = 0; + int psn_2; + do { + psn_2 = all_widgets.indexOf("\r\n", psn_1); //\r\n + line = all_widgets.substring(psn_1, psn_2); + line.replace("\n", ""); + line.replace("\r\n", ""); + //jsonWriteStr(line, "id", String(counter)); + //jsonWriteStr(line, "pageId", String(counter)); + counter++; + sendMQTT("config", line); + Serial.println("[V] " + line); + psn_1 = psn_2 + 1; + } while (psn_2 + 2 < all_widgets.length()); + getMemoryLoad("[i] after send all widgets"); + } +} +#endif + +#ifndef layout_in_ram +void sendAllWigets() { + File configFile = SPIFFS.open("/layout.txt", "r"); + if (!configFile) { + return; + } + configFile.seek(0, SeekSet); //поставим курсор в начало файла + while (configFile.position() != configFile.size()) { + String widget_to_send = configFile.readStringUntil("\r\n"); + Serial.println("[V] " + widget_to_send); + sendMQTT("config", widget_to_send); + } +} +#endif +//=====================================================ОТПРАВЛЯЕМ ДАННЫЕ В ВИДЖЕТЫ ПРИ ОБНОВЛЕНИИ СТРАНИЦЫ======================================================== +void sendAllData() { //берет строку json и ключи превращает в топики а значения колючей в них посылает + + String current_config = configJson; //{"name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1"} + getMemoryLoad("[i] after send all date"); + current_config.replace("{", ""); + current_config.replace("}", ""); //"name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1" + current_config += ","; //"name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1", + + while (current_config.length() != 0) { + String tmp = selectToMarker(current_config, ","); + String topic = selectToMarker(tmp, ":"); + topic.replace("\"", ""); + String state = selectToMarkerLast(tmp, ":"); + state.replace("\"", ""); + if (topic != "name" && topic != "lang" && topic != "ip" && topic.indexOf("_in") < 0) { + sendSTATUS(topic, state); + //Serial.println("-->" + topic + " " + state); + } + current_config = deleteBeforeDelimiter(current_config, ","); + } +} + +String stateMQTT() { + int state = client_mqtt.state(); + switch (state) { + case -4: + return "the server didn't respond within the keepalive time"; + break; + case -3: + return "the network connection was broken"; + break; + case -2: + return "the network connection failed"; + break; + case -1: + return "the client is disconnected cleanly"; + break; + case 0: + return "the client is connected"; + break; + case 1: + return "the server doesn't support the requested version of MQTT"; + break; + case 2: + return "the server rejected the client identifier"; + break; + case 3: + return "the server was unable to accept the connection"; + break; + case 4: + return "the username/password were rejected"; + break; + case 5: + return "the client was not authorized to connect"; + break; + default: + return "unspecified"; + break; + } +} + +/*void scenario_devices_topiks_subscribe() { + + //SCENARIO ANALOG > 5 800324-1458415 rel1 0 + if (jsonReadStr(configSetup, "scenario") == "1") { + //String all_text = readFile("firmware.s.txt", 1024) + "\r\n"; + String all_text = scenario + "\r\n"; + all_text.replace("\r\n", "\n"); + all_text.replace("\r", "\n"); + while (all_text.length() != 0) { + String line_ = selectToMarker (all_text, "\n"); + String id = selectFromMarkerToMarker(line_, " ", 4); + if (id != "not found") { + client_mqtt.subscribe((jsonReadStr(configSetup, "mqttPrefix") + "/" + id + "/+/status").c_str(), 0); + Serial.println("subscribed to device, id: " + id); + } + all_text = deleteBeforeDelimiter(all_text, "\n"); + } + } + } +*/ +/*void scenario_devices_test_msg_send() { + + if (jsonReadStr(configSetup, "scenario") == "1") { + + String all_text = scenario + "\r\n"; + all_text.replace("\r\n", "\n"); + all_text.replace("\r", "\n"); + while (all_text.length() != 0) { + String line_ = selectToMarker (all_text, "\n"); + String id = selectFromMarkerToMarker(line_, " ", 4); + if (id != "not found") { + //Serial.println(); + Serial.println(client_mqtt.publish ((jsonReadStr(configSetup, "mqttPrefix") + "/" + id).c_str(), "CHECK", true)); + + } + all_text = deleteBeforeDelimiter(all_text, "\n"); + } + } + }*/ + +/* + //----------------------------------------------------------------------------------------------------------------------------------------------- + //jsonWriteStr(tmp, "status", "1"); + + String current_config = configJson; //{"name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1"} + current_config.replace("{", ""); + current_config.replace("}", ""); //"name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1" + current_config += ","; //"name":"MODULES","lang":"","ip":"192.168.43.60","DS":"34.00","rel1":"1","rel2":"1", + + while (current_config.length() != 0) { + + String tmp = selectToMarker (current_config, ","); //"rel1":"1" + String topic = selectToMarker (tmp, ":"); //"rel1" + topic.replace("\"", ""); //rel1 + Serial.println(topic); + String state = selectToMarkerLast (tmp, ":"); //"1" + state.replace("\"", ""); //1 + + //if (widget.lastIndexOf(topic) > 0) { + jsonWriteStr(tmp, "status", state); + //} + current_config = deleteBeforeDelimiter(current_config, ","); + } + //------------------------------------------------------------------------------------------------------------------------------------------------- +*/ diff --git a/src/Scenario.cpp b/src/Scenario.cpp new file mode 100644 index 00000000..85c023c6 --- /dev/null +++ b/src/Scenario.cpp @@ -0,0 +1,98 @@ +#include "Scenario.h" + +#include "main.h" +#include "set.h" + +void handleScenario() { + if (jsonReadStr(configSetup, "scenario") == "1") { + if ((jsonReadStr(optionJson, "scenario_status") != "")) { + int i = 0; + String str = scenario; //читаем переменную с сценариями (то что из файла на странице) + str += "\n"; + str.replace("\r\n", "\n"); + str.replace("\r", "\n"); + while (str.length() != 0) { + //----------------------------------------------------------------------------------------------------------------------- + String tmp = selectToMarker(str, "end"); //выделяем первый сценарий из файла вместе с командами + if (tmp == "") return; + i++; + + if (scenario_line_status[i] == 1) { + //Serial.println(i); + String condition = selectToMarker(tmp, "\n"); //выделяем первую строку самого сценария button1 = 1 (условие) + String param_name = selectFromMarkerToMarker(condition, " ", 0); + String order = jsonReadStr(optionJson, "scenario_status"); //читаем весь файл событий + String param = selectToMarker(order, ","); //читаем первое событие из файла событий + if (param_name == param) { //если поступившее событие равно событию заданному buttonSet1 в файле начинаем его обработку + + String sign = selectFromMarkerToMarker(condition, " ", 1); //читаем знак (=) + String value = selectFromMarkerToMarker(condition, " ", 2); //читаем значение (1) + if (value.indexOf("digit") != -1) { + // value = add_set(value); + value = jsonReadStr(configJson, value); + } + if (value.indexOf("time") != -1) { + // value = add_set(value); + value = jsonReadStr(configJson, value); + } + boolean flag = false; //если одно из значений совпало то только тогда начинаем выполнять комнады + if (sign == "=") { + if (jsonReadStr(configJson, param_name) == value) flag = true; + } + if (sign == "!=") { + if (jsonReadStr(configJson, param_name) != value) flag = true; + } + if (sign == "<") { + if (jsonReadStr(configJson, param_name).toInt() < value.toInt()) flag = true; + } + if (sign == ">") { + if (jsonReadStr(configJson, param_name).toInt() > value.toInt()) flag = true; + } + if (sign == ">=") { + if (jsonReadStr(configJson, param_name).toInt() >= value.toInt()) flag = true; + } + if (sign == "<=") { + if (jsonReadStr(configJson, param_name).toInt() <= value.toInt()) flag = true; + } + + if (flag) { + //удаляем строку самого сценария оставляя только команды + tmp = deleteBeforeDelimiter(tmp, "\n"); + //выполняем все команды + stringExecution(tmp); + Serial.println("[SCENARIO] '" + condition + "'"); + } + } + } + str = deleteBeforeDelimiter(str, "end\n"); //удаляем первый сценарий + //----------------------------------------------------------------------------------------------------------------------- + } + String tmp2 = jsonReadStr(optionJson, "scenario_status"); //читаем файл событий + tmp2 = deleteBeforeDelimiter(tmp2, ","); //удаляем выполненное событие + jsonWriteStr(optionJson, "scenario_status", tmp2); //записываем обновленный файл событий + i = 0; + } + } +} + +//событие выглядит как имя плюс set плюс номер: button+Set+1 +void eventGen(String event_name, String number) { + if (jsonReadStr(configSetup, "scenario") == "1") { + String tmp = jsonReadStr(optionJson, "scenario_status"); //генерирование события + //Serial.println(event_name); + jsonWriteStr(optionJson, "scenario_status", tmp + event_name + number + ","); + } +} + +String add_set(String param_name) { + String num1 = param_name.substring(param_name.length() - 1); + String num2 = param_name.substring(param_name.length() - 2, param_name.length() - 1); + if (isDigitStr(num1) && isDigitStr(num2)) { + param_name = param_name.substring(0, param_name.length() - 2) + "Set" + num2 + num1; + } else { + if (isDigitStr(num1)) { + param_name = param_name.substring(0, param_name.length() - 1) + "Set" + num1; + } + } + return param_name; +} diff --git a/src/Sensors.cpp b/src/Sensors.cpp new file mode 100644 index 00000000..d5cc2319 --- /dev/null +++ b/src/Sensors.cpp @@ -0,0 +1,561 @@ +#include "Sensors.h" + +#include "set.h" + +void sensors_init() { + ts.add( + SENSORS, 1000, [&](void*) { + static int counter; + counter++; + +#ifdef level_enable + if (sensors_reading_map[0] == 1) level_reading(); +#endif + + if (counter > 10) { + counter = 0; + +#ifdef analog_enable + if (sensors_reading_map[1] == 1) analog_reading1(); + if (sensors_reading_map[2] == 1) analog_reading2(); +#endif + +#ifdef dallas_enable + if (sensors_reading_map[3] == 1) dallas_reading(); +#endif + +#ifdef dht_enable + if (sensors_reading_map[4] == 1) dhtT_reading(); + if (sensors_reading_map[5] == 1) dhtH_reading(); + if (sensors_reading_map[6] == 1) dhtP_reading(); + if (sensors_reading_map[7] == 1) dhtC_reading(); + if (sensors_reading_map[8] == 1) dhtD_reading(); +#endif + +#ifdef bmp_enable + if (sensors_reading_map[9] == 1) bmp280T_rading(); + if (sensors_reading_map[10] == 1) bmp280P_reading(); +#endif + +#ifdef bme_enable + if (sensors_reading_map[11] == 1) bme280T_reading(); + if (sensors_reading_map[12] == 1) bme280P_reading(); + if (sensors_reading_map[13] == 1) bme280H_reading(); + if (sensors_reading_map[14] == 1) bme280A_reading(); +#endif + } + }, + nullptr, true); +} + +//========================================================================================================================================= +//=========================================Модуль измерения уровня в баке================================================================== +#ifdef level_enable +//level L 14 12 Вода#в#баке,#% Датчики fill-gauge 125 20 1 +void level() { + String value_name = sCmd.next(); + String trig = sCmd.next(); + String echo = sCmd.next(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String type = sCmd.next(); + String empty_level = sCmd.next(); + String full_level = sCmd.next(); + String page_number = sCmd.next(); + level_value_name = value_name; + jsonWriteStr(optionJson, "e_lev", empty_level); + jsonWriteStr(optionJson, "f_lev", full_level); + jsonWriteStr(optionJson, "trig", trig); + jsonWriteStr(optionJson, "echo", echo); + pinMode(trig.toInt(), OUTPUT); + pinMode(echo.toInt(), INPUT); + choose_widget_and_create(widget_name, page_name, page_number, type, value_name); + sensors_reading_map[0] = 1; +} + +void level_reading() { + long duration_; + int distance_cm; + int level; + static int counter; + int trig = jsonReadInt(optionJson, "trig"); + int echo = jsonReadInt(optionJson, "echo"); + digitalWrite(trig, LOW); + delayMicroseconds(2); + digitalWrite(trig, HIGH); + delayMicroseconds(10); + digitalWrite(trig, LOW); + duration_ = pulseIn(echo, HIGH, 30000); // 3000 µs = 50cm // 30000 µs = 5 m + distance_cm = duration_ / 29 / 2; + distance_cm = medianFilter.filtered(distance_cm); //отсечение промахов медианным фильтром + counter++; + if (counter > tank_level_times_to_send) { + counter = 0; + level = map(distance_cm, + jsonReadInt(optionJson, "e_lev"), + jsonReadInt(optionJson, "f_lev"), 0, 100); + jsonWriteInt(configJson, level_value_name, level); + eventGen(level_value_name, ""); + sendSTATUS(level_value_name, String(level)); + Serial.println("[i] sensor '" + level_value_name + "' data: " + String(level)); + } +} +#endif +//========================================================================================================================================= +//=========================================Модуль аналогового сенсора====================================================================== +#ifdef analog_enable +//analog adc 0 Аналоговый#вход,#% Датчики any-data 1 1023 1 100 1 +void analog() { + String value_name = sCmd.next(); + String pin = sCmd.next(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String type = sCmd.next(); + String analog_start = sCmd.next(); + String analog_end = sCmd.next(); + String analog_start_out = sCmd.next(); + String analog_end_out = sCmd.next(); + String page_number = sCmd.next(); + analog_value_names_list += value_name + ","; + enter_to_analog_counter++; + jsonWriteStr(optionJson, value_name + "_st", analog_start); + jsonWriteStr(optionJson, value_name + "_end", analog_end); + jsonWriteStr(optionJson, value_name + "_st_out", analog_start_out); + jsonWriteStr(optionJson, value_name + "_end_out", analog_end_out); + choose_widget_and_create(widget_name, page_name, page_number, type, value_name); + if (enter_to_analog_counter == 1) { + sensors_reading_map[1] = 1; + } + if (enter_to_analog_counter == 2) { + sensors_reading_map[2] = 1; + } +} + +void analog_reading1() { + String value_name = selectFromMarkerToMarker(analog_value_names_list, ",", 0); +#ifdef ESP32 + int analog_in = analogRead(34); +#endif +#ifdef ESP8266 + int analog_in = analogRead(A0); +#endif + int analog = map(analog_in, + jsonReadInt(optionJson, value_name + "_st"), + jsonReadInt(optionJson, value_name + "_end"), + jsonReadInt(optionJson, value_name + "_st_out"), + jsonReadInt(optionJson, value_name + "_end_out")); + jsonWriteInt(configJson, value_name, analog); + eventGen(value_name, ""); + sendSTATUS(value_name, String(analog)); + Serial.println("[i] sensor '" + value_name + "' data: " + String(analog)); +} + +void analog_reading2() { + String value_name = selectFromMarkerToMarker(analog_value_names_list, ",", 1); +#ifdef ESP32 + int analog_in = analogRead(35); +#endif +#ifdef ESP8266 + int analog_in = analogRead(A0); +#endif + int analog = map(analog_in, + jsonReadInt(optionJson, value_name + "_st"), + jsonReadInt(optionJson, value_name + "_end"), + jsonReadInt(optionJson, value_name + "_st_out"), + jsonReadInt(optionJson, value_name + "_end_out")); + jsonWriteInt(configJson, value_name, analog); + eventGen(value_name, ""); + sendSTATUS(value_name, String(analog)); + Serial.println("[i] sensor '" + value_name + "' data: " + String(analog)); +} +#endif +//========================================================================================================================================= +//=========================================Модуль температурного сенсора ds18b20=========================================================== +#ifdef dallas_enable +void dallas() { + String value_name = sCmd.next(); + String pin = sCmd.next(); + String address = sCmd.next(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String type = sCmd.next(); + String page_number = sCmd.next(); + oneWire = new OneWire((uint8_t)pin.toInt()); + sensors.setOneWire(oneWire); + sensors.begin(); + sensors.setResolution(12); + choose_widget_and_create(widget_name, page_name, page_number, type, "dallas"); + sensors_reading_map[3] = 1; +} + +void dallas_reading() { + float temp = 0; + sensors.requestTemperatures(); + temp = sensors.getTempCByIndex(0); + jsonWriteStr(configJson, "dallas", String(temp)); + eventGen("dallas", ""); + sendSTATUS("dallas", String(temp)); + Serial.println("[i] sensor 'dallas' send date " + String(temp)); +} +#endif +//========================================================================================================================================= +//=========================================Модуль сенсоров DHT============================================================================= +#ifdef dht_enable +//dhtT t 2 dht11 Температура#DHT,#t°C Датчики any-data 1 +void dhtT() { + String value_name = sCmd.next(); + String pin = sCmd.next(); + String sensor_type = sCmd.next(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String type = sCmd.next(); + String page_number = sCmd.next(); + dhtT_value_name = value_name; + if (sensor_type == "dht11") { + dht.setup(pin.toInt(), DHTesp::DHT11); + } + if (sensor_type == "dht22") { + dht.setup(pin.toInt(), DHTesp::DHT22); + } + choose_widget_and_create(widget_name, page_name, page_number, type, value_name); + sensors_reading_map[4] = 1; +} + +void dhtT_reading() { + float value = 0; + static int counter; + if (dht.getStatus() != 0 && counter < 5) { + sendSTATUS(dhtT_value_name, String(dht.getStatusString())); + counter++; + } else { + counter = 0; + value = dht.getTemperature(); + if (String(value) != "nan") { + eventGen(dhtT_value_name, ""); + jsonWriteStr(configJson, dhtT_value_name, String(value)); + sendSTATUS(dhtT_value_name, String(value)); + Serial.println("[i] sensor '" + dhtT_value_name + "' data: " + String(value)); + } + } +} + +//dhtH h 2 dht11 Влажность#DHT,#t°C Датчики any-data 1 +void dhtH() { + String value_name = sCmd.next(); + String pin = sCmd.next(); + String sensor_type = sCmd.next(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String type = sCmd.next(); + String page_number = sCmd.next(); + dhtH_value_name = value_name; + if (sensor_type == "dht11") { + dht.setup(pin.toInt(), DHTesp::DHT11); + } + if (sensor_type == "dht22") { + dht.setup(pin.toInt(), DHTesp::DHT22); + } + choose_widget_and_create(widget_name, page_name, page_number, type, value_name); + sensors_reading_map[5] = 1; +} + +void dhtH_reading() { + float value = 0; + static int counter; + if (dht.getStatus() != 0 && counter < 5) { + sendSTATUS(dhtH_value_name, String(dht.getStatusString())); + counter++; + } else { + counter = 0; + value = dht.getHumidity(); + if (String(value) != "nan") { + eventGen(dhtH_value_name, ""); + jsonWriteStr(configJson, dhtH_value_name, String(value)); + sendSTATUS(dhtH_value_name, String(value)); + Serial.println("[i] sensor '" + dhtH_value_name + "' data: " + String(value)); + } + } +} + +//dhtPerception Восприятие: Датчики 4 +void dhtP() { + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String page_number = sCmd.next(); + choose_widget_and_create(widget_name, page_name, page_number, "any-data", "dhtPerception"); + sensors_reading_map[6] = 1; +} + +void dhtP_reading() { + byte value; + if (dht.getStatus() != 0) { + sendSTATUS("dhtPerception", String(dht.getStatusString())); + } else { + value = dht.computePerception(jsonReadStr(configJson, dhtT_value_name).toFloat(), jsonReadStr(configJson, dhtH_value_name).toFloat(), false); + String final_line = perception(value); + jsonWriteStr(configJson, "dhtPerception", final_line); + eventGen("dhtPerception", ""); + sendSTATUS("dhtPerception", final_line); + if (client_mqtt.connected()) { + Serial.println("[i] sensor 'dhtPerception' data: " + final_line); + } + } +} + +String perception(byte value) { + if (value == 0) return "Сухой воздух"; + if (value == 1) return "Комфортно"; + if (value == 2) return "Уютно"; + if (value == 3) return "Хорошо"; + if (value == 4) return "Неудобно"; + if (value == 5) return "Довольно неудобно"; + if (value == 6) return "Очень неудобно"; + if (value == 7) return "Сильно неудобно, полный звиздец"; +} + +//dhtComfort Степень#комфорта: Датчики 3 +void dhtC() { + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String page_number = sCmd.next(); + choose_widget_and_create(widget_name, page_name, page_number, "any-data", "dhtComfort"); + sensors_reading_map[7] = 1; +} + +void dhtC_reading() { + float value; + ComfortState cf; + if (dht.getStatus() != 0) { + sendSTATUS("dhtComfort", String(dht.getStatusString())); + } else { + value = dht.getComfortRatio(cf, jsonReadStr(configJson, dhtT_value_name).toFloat(), jsonReadStr(configJson, dhtH_value_name).toFloat(), false); + String final_line = get_comfort_status(cf); + jsonWriteStr(configJson, "dhtComfort", final_line); + eventGen("dhtComfort", ""); + sendSTATUS("dhtComfort", final_line); + Serial.println("[i] sensor 'dhtComfort' send date " + final_line); + } +} + +String get_comfort_status(ComfortState cf) { + String comfortStatus; + switch (cf) { + case Comfort_OK: + comfortStatus = "Отлично"; + break; + case Comfort_TooHot: + comfortStatus = "Очень жарко"; + break; + case Comfort_TooCold: + comfortStatus = "Очень холодно"; + break; + case Comfort_TooDry: + comfortStatus = "Очень сухо"; + break; + case Comfort_TooHumid: + comfortStatus = "Очень влажно"; + break; + case Comfort_HotAndHumid: + comfortStatus = "Жарко и влажно"; + break; + case Comfort_HotAndDry: + comfortStatus = "Жарко и сухо"; + break; + case Comfort_ColdAndHumid: + comfortStatus = "Холодно и влажно"; + break; + case Comfort_ColdAndDry: + comfortStatus = "Холодно и сухо"; + break; + default: + comfortStatus = "Неизвестно"; + break; + }; + return comfortStatus; +} + +//dhtDewpoint Точка#росы: Датчики 5 +void dhtD() { + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String page_number = sCmd.next(); + choose_widget_and_create(widget_name, page_name, page_number, "any-data", "dhtDewpoint"); + sensors_reading_map[8] = 1; +} + +void dhtD_reading() { + float value; + if (dht.getStatus() != 0) { + sendSTATUS("dhtDewpoint", String(dht.getStatusString())); + } else { + value = dht.computeDewPoint(jsonReadStr(configJson, dhtT_value_name).toFloat(), jsonReadStr(configJson, dhtH_value_name).toFloat(), false); + jsonWriteInt(configJson, "dhtDewpoint", value); + eventGen("dhtDewpoint", ""); + sendSTATUS("dhtDewpoint", String(value)); + Serial.println("[i] sensor 'dhtDewpoint' data: " + String(value)); + } +} +#endif +//=========================================i2c bus esp8266 scl-4 sda-5 ==================================================================== +//========================================================================================================================================= +//=========================================Модуль сенсоров bmp280========================================================================== +#ifdef bmp_enable +//bmp280T temp1 0x76 Температура#bmp280 Датчики any-data 1 +void bmp280T() { + String value_name = sCmd.next(); + String address = sCmd.next(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String type = sCmd.next(); + String page_number = sCmd.next(); + bmp280T_value_name = value_name; + choose_widget_and_create(widget_name, page_name, page_number, type, value_name); + bmp.begin(hexStringToUint8(address)); + bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */ + Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */ + Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */ + Adafruit_BMP280::FILTER_X16, /* Filtering. */ + Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */ + //bmp_temp->printSensorDetails(); + sensors_reading_map[9] = 1; +} + +void bmp280T_rading() { + float value = 0; + sensors_event_t temp_event, pressure_event; + bmp_temp->getEvent(&temp_event); + value = temp_event.temperature; + jsonWriteStr(configJson, bmp280T_value_name, String(value)); + eventGen(bmp280T_value_name, ""); + sendSTATUS(bmp280T_value_name, String(value)); + Serial.println("[i] sensor '" + bmp280T_value_name + "' data: " + String(value)); +} + +//bmp280P press1 0x76 Давление#bmp280 Датчики any-data 2 +void bmp280P() { + String value_name = sCmd.next(); + String address = sCmd.next(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String type = sCmd.next(); + String page_number = sCmd.next(); + bmp280P_value_name = value_name; + choose_widget_and_create(widget_name, page_name, page_number, type, value_name); + bmp.begin(hexStringToUint8(address)); + bmp.setSampling(Adafruit_BMP280::MODE_NORMAL, /* Operating Mode. */ + Adafruit_BMP280::SAMPLING_X2, /* Temp. oversampling */ + Adafruit_BMP280::SAMPLING_X16, /* Pressure oversampling */ + Adafruit_BMP280::FILTER_X16, /* Filtering. */ + Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */ + //bmp_temp->printSensorDetails(); + sensors_reading_map[10] = 1; +} + +void bmp280P_reading() { + float value = 0; + sensors_event_t temp_event, pressure_event; + bmp_pressure->getEvent(&pressure_event); + value = pressure_event.pressure; + value = value / 1.333224; + jsonWriteStr(configJson, bmp280P_value_name, String(value)); + eventGen(bmp280P_value_name, ""); + sendSTATUS(bmp280P_value_name, String(value)); + Serial.println("[i] sensor '" + bmp280P_value_name + "' data: " + String(value)); +} +#endif +//========================================================================================================================================= +//=============================================Модуль сенсоров bme280====================================================================== +#ifdef bme_enable +//bme280T temp1 0x76 Температура#bmp280 Датчики any-data 1 +void bme280T() { + String value_name = sCmd.next(); + String address = sCmd.next(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String type = sCmd.next(); + String page_number = sCmd.next(); + bme280T_value_name = value_name; + choose_widget_and_create(widget_name, page_name, page_number, type, value_name); + bme.begin(hexStringToUint8(address)); + sensors_reading_map[11] = 1; +} + +void bme280T_reading() { + float value = 0; + value = bme.readTemperature(); + jsonWriteStr(configJson, bme280T_value_name, String(value)); + eventGen(bme280T_value_name, ""); + sendSTATUS(bme280T_value_name, String(value)); + Serial.println("[i] sensor '" + bme280T_value_name + "' data: " + String(value)); +} + +//bme280P pres1 0x76 Давление#bmp280 Датчики any-data 1 +void bme280P() { + String value_name = sCmd.next(); + String address = sCmd.next(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String type = sCmd.next(); + String page_number = sCmd.next(); + bme280P_value_name = value_name; + choose_widget_and_create(widget_name, page_name, page_number, type, value_name); + bme.begin(hexStringToUint8(address)); + sensors_reading_map[12] = 1; +} + +void bme280P_reading() { + float value = 0; + value = bme.readPressure(); + value = value / 1.333224; + jsonWriteStr(configJson, bme280P_value_name, String(value)); + eventGen(bme280P_value_name, ""); + sendSTATUS(bme280P_value_name, String(value)); + Serial.println("[i] sensor '" + bme280P_value_name + "' data: " + String(value)); +} + +//bme280H hum1 0x76 Влажность#bmp280 Датчики any-data 1 +void bme280H() { + String value_name = sCmd.next(); + String address = sCmd.next(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String type = sCmd.next(); + String page_number = sCmd.next(); + bme280H_value_name = value_name; + choose_widget_and_create(widget_name, page_name, page_number, type, value_name); + bme.begin(hexStringToUint8(address)); + sensors_reading_map[13] = 1; +} + +void bme280H_reading() { + float value = 0; + value = bme.readHumidity(); + jsonWriteStr(configJson, bme280H_value_name, String(value)); + eventGen(bme280H_value_name, ""); + sendSTATUS(bme280H_value_name, String(value)); + Serial.println("[i] sensor '" + bme280H_value_name + "' data: " + String(value)); +} + +//bme280A altit1 0x76 Высота#bmp280 Датчики any-data 1 +void bme280A() { + String value_name = sCmd.next(); + String address = sCmd.next(); + String widget_name = sCmd.next(); + String page_name = sCmd.next(); + String type = sCmd.next(); + String page_number = sCmd.next(); + bme280A_value_name = value_name; + choose_widget_and_create(widget_name, page_name, page_number, type, value_name); + bme.begin(hexStringToUint8(address)); + sensors_reading_map[14] = 1; +} + +void bme280A_reading() { + float value = 0; + value = bme.readAltitude(1013.25); + jsonWriteStr(configJson, bme280A_value_name, String(value)); + eventGen(bme280A_value_name, ""); + sendSTATUS(bme280A_value_name, String(value)); + Serial.println("[i] sensor '" + bme280A_value_name + "' data: " + String(value)); +} +#endif diff --git a/src/TimeUtils.cpp b/src/TimeUtils.cpp new file mode 100644 index 00000000..b64a5a3f --- /dev/null +++ b/src/TimeUtils.cpp @@ -0,0 +1,149 @@ +#include "TimeUtils.h" + +#include "main.h" +#include "set.h" + +void Time_Init() { + server.on("/time", HTTP_GET, [](AsyncWebServerRequest* request) { + if (request->hasArg("timezone")) { + jsonWriteStr(configSetup, "timezone", request->getParam("timezone")->value()); + } + if (request->hasArg("ntp")) { + jsonWriteStr(configSetup, "ntp", request->getParam("ntp")->value()); + } + saveConfig(); + reconfigTime(); + request->send(200, "text/text", "OK"); + }); + + ts.add( + TIME_SYNC, 30000, [&](void*) { + time_check(); + }, + nullptr, true); +} + +void time_check() { + if (GetTimeUnix() == "failed") { + Serial.println("[i] Time is not synchronized, start synchronization"); + reconfigTime(); + } +} + +void reconfigTime() { + if (WiFi.status() == WL_CONNECTED) { + String ntp = jsonReadStr(configSetup, "ntp"); + configTime(0, 0, ntp.c_str()); + int i = 0; + Serial.println("[i] Awaiting for time "); +#ifdef ESP32 + struct tm timeinfo; + while (!getLocalTime(&timeinfo) && i <= 4) { + Serial.print("."); + i++; + delay(1000); + } +#endif +#ifdef ESP8266 + //while (!time(nullptr) && i < 4) { + // Serial.print("."); + // i++; + delay(2000); + //} +#endif + if (GetTimeUnix() != "failed") { + Serial.print("[V] Time synchronized = "); + Serial.print(GetDataDigital()); + Serial.print(" "); + Serial.println(GetTime()); + } else { + Serial.println("[E] Time server or internet connection error, will try again in 30 sec"); + } + } else { + Serial.println("[E] Get time impossible, no wifi connection"); + } +} + +//Получаем время в формате linux gmt +String GetTimeUnix() { + time_t now = time(nullptr); + if (now < 30000) { + return "failed"; + } else { + return String(now); + } +} + +// Получение текущего времени +String GetTime() { + time_t now = time(nullptr); // получаем время с помощью библиотеки time.h + int zone = 3600 * jsonReadStr(configSetup, "timezone").toInt(); + now = now + zone; + String Time = ""; // Строка для результатов времени + Time += ctime(&now); // Преобразуем время в строку формата Thu Jan 19 00:55:35 2017 + int i = Time.indexOf(":"); //Ишем позицию первого символа : + Time = Time.substring(i - 2, i + 6); // Выделяем из строки 2 символа перед символом : и 6 символов после + return Time; // Возврашаем полученное время +} + +String GetTimeWOsec() { + time_t now = time(nullptr); // получаем время с помощью библиотеки time.h + int zone = 3600 * jsonReadStr(configSetup, "timezone").toInt(); + now = now + zone; + String Time = ""; // Строка для результатов времени + Time += ctime(&now); // Преобразуем время в строку формата Thu Jan 19 00:55:35 2017 + int i = Time.indexOf(":"); //Ишем позицию первого символа : + Time = Time.substring(i - 2, i + 3); // Выделяем из строки 2 символа перед символом : и 6 символов после + return Time; // Возврашаем полученное время +} + +// Получение даты +String GetDate() { + time_t now = time(nullptr); // получаем время с помощью библиотеки time.h + int zone = 3600 * jsonReadStr(configSetup, "timezone").toInt(); + now = now + zone; + String Data = ""; // Строка для результатов времени + Data += ctime(&now); // Преобразуем время в строку формата Thu Jan 19 00:55:35 2017 + Data.replace("\n", ""); + uint8_t i = Data.lastIndexOf(" "); //Ишем позицию последнего символа пробел + String Time = Data.substring(i - 8, i + 1); // Выделяем время и пробел + Data.replace(Time, ""); // Удаляем из строки 8 символов времени и пробел + return Data; // Возврашаем полученную дату +} + +String GetDataDigital() { + String date = GetDate(); + date = deleteBeforeDelimiter(date, " "); + date.replace("Jan", "01"); + date.replace("Feb", "02"); + date.replace("Mar", "03"); + date.replace("Apr", "04"); + date.replace("May", "05"); + date.replace("Jun", "06"); + date.replace("Jul", "07"); + date.replace("Aug", "08"); + date.replace("Sep", "09"); + date.replace("Oct", "10"); + date.replace("Nov", "11"); + date.replace("Dec", "12"); + + String month = date.substring(0, 2); + String day = date.substring(3, 5); + String year = date.substring(8, 10); + + String out = day; + out += "."; + out += month; + out += "."; + out += year; + + return out; +} + +int timeToMin(String Time) { + //"00:00:00" время в секунды + long min = selectToMarker(Time, ":").toInt() * 60; //общее количество секунд в полных часах + Time = deleteBeforeDelimiter(Time, ":"); // Теперь здесь минуты секунды + min += selectToMarker(Time, ":").toInt(); // Добавим секунды из полных минут + return min; +} diff --git a/src/Timers.cpp b/src/Timers.cpp new file mode 100644 index 00000000..c2ff61b4 --- /dev/null +++ b/src/Timers.cpp @@ -0,0 +1,93 @@ +#include "Timers.h" + +#include "Scenario.h" +#include "main.h" +#include "set.h" + +void Timer_countdown_init() { + ts.add( + TIMER_COUNTDOWN, 1000, [&](void*) { + String old_line = jsonReadStr(optionJson, "timers"); + if (old_line != "") { + //Serial.println(old_line); + int i = 0; + do { + String timer = selectFromMarkerToMarker(old_line, ",", i); + Serial.print("timer no " + String(i) + ": "); + Serial.println(timer); + if (timer == "not found" || timer == "") return; + int number = selectToMarker(timer, ":").toInt(); + int time = readTimer(number); + if (time == 0) { + delTimer(String(number)); + jsonWriteStr(configJson, "timer" + String(number), "0"); + eventGen("timer", String(number)); + } else { + time--; + addTimer(String(number), String(time)); + } + i++; + } while (i <= 9); + } + }, + nullptr, true); +} + +void timerStart() { + String number = sCmd.next(); + String period_of_time = sCmd.next(); + String type = sCmd.next(); + if (period_of_time.indexOf("digit") != -1) { + period_of_time = jsonReadStr(configJson, period_of_time); + } + if (type == "sec") period_of_time = period_of_time; + if (type == "min") period_of_time = String(period_of_time.toInt() * 60); + if (type == "hours") period_of_time = String(period_of_time.toInt() * 60 * 60); + addTimer(number, period_of_time); + jsonWriteStr(configJson, "timer" + number, "1"); +} + +void addTimer(String number, String time) { + String tmp = jsonReadStr(optionJson, "timers"); //1:60,2:120, + String new_timer = number + ":" + time; + int psn1 = tmp.indexOf(number + ":"); //0 ищем позицию таймера который надо заменить + if (psn1 != -1) { //если он есть + int psn2 = tmp.indexOf(",", psn1); //4 от этой позиции находим позицию запятой + String timer = tmp.substring(psn1, psn2); //1:60 выделяем таймер который надо заменить + ///tmp.replace(timer, new_timer); //заменяем таймер на новый (во всей стороке) + tmp.replace(timer + ",", ""); + tmp += new_timer + ","; + } else { //если его нет + tmp += new_timer + ","; + } + jsonWriteStr(optionJson, "timers", tmp); + //Serial.println("ura"); +} + +void timerStop() { + String number = sCmd.next(); + delTimer(number); +} + +void delTimer(String number) { + String tmp = jsonReadStr(optionJson, "timers"); //1:60,2:120, + int psn1 = tmp.indexOf(number + ":"); //0 ищем позицию таймера который надо удалить + if (psn1 != -1) { //если он есть + int psn2 = tmp.indexOf(",", psn1); //4 от этой позиции находим позицию запятой + String timer = tmp.substring(psn1, psn2) + ","; //1:60, выделяем таймер который надо удалить + tmp.replace(timer, ""); //удаляем таймер + jsonWriteStr(optionJson, "timers", tmp); + } +} + +int readTimer(int number) { + String tmp = jsonReadStr(optionJson, "timers"); //1:60,2:120, + int psn1 = tmp.indexOf(String(number) + ":"); //0 ищем позицию таймера который надо прочитать + String timer; + if (psn1 != -1) { //если он есть + int psn2 = tmp.indexOf(",", psn1); //4 от этой позиции находим позицию запятой + timer = tmp.substring(psn1, psn2); //1:60 выделяем таймер который надо прочитать + timer = deleteBeforeDelimiter(timer, ":"); + } + return timer.toInt(); +} diff --git a/src/Upgrade.cpp b/src/Upgrade.cpp new file mode 100644 index 00000000..5a815aee --- /dev/null +++ b/src/Upgrade.cpp @@ -0,0 +1,235 @@ +#include "Upgrade.h" + +#include "main.h" +#include "set.h" + +static const char* UPGRADE_URL PROGMEM = "http://91.204.228.124:1100/update/"; + +const String getUpgradeUrl() { + String url = FPSTR(UPGRADE_URL); +#ifdef ESP32 + url += "esp32"; +#else + url += "esp8266"; +#endif + url += "/version.txt"; + return url; +} + +void initUpgrade() { + String last_version = WiFi.status() == WL_CONNECTED ? getURL(getUpgradeUrl()) : ""; + jsonWriteStr(configSetup, "last_version", last_version); + + Serial.printf("[i] Last firmware version: %s\n", last_version); + + server.on("/check", HTTP_GET, [last_version](AsyncWebServerRequest* request) { + upgrade_url = true; + Serial.printf("[i] Last firmware version: %s\n", last_version); + String tmp = "{}"; + if (WiFi.status() == WL_CONNECTED) { + if (mb_4_of_memory) { + if (last_version != "") { + if (last_version != "error") { + if (last_version == firmware_version) { + jsonWriteStr(tmp, "title", "Последняя версия прошивки уже установлена."); + jsonWriteStr(tmp, "class", "pop-up"); + } else { + jsonWriteStr(tmp, "title", "Имеется новая версия прошивкиИдет обновление прошивки, после обновления страница перезагрузится автоматически...')\">Установить"); + jsonWriteStr(tmp, "class", "pop-up"); + } + } else { + jsonWriteStr(tmp, "title", "Ошибка... Cервер не найден. Попробуйте позже..."); + jsonWriteStr(tmp, "class", "pop-up"); + } + } else { + jsonWriteStr(tmp, "title", "Нажмите на кнопку \"обновить прошивку\" повторно..."); + jsonWriteStr(tmp, "class", "pop-up"); + } + } else { + jsonWriteStr(tmp, "title", "Обновление по воздуху не поддерживается, модуль имеет меньше 4 мб памяти..."); + jsonWriteStr(tmp, "class", "pop-up"); + } + } else { + jsonWriteStr(tmp, "title", "Устройство не подключен к роутеру..."); + jsonWriteStr(tmp, "class", "pop-up"); + } + request->send(200, "text/text", tmp); + }); + + server.on("/upgrade", HTTP_GET, [](AsyncWebServerRequest* request) { + upgrade = true; + String tmp = "{}"; + request->send(200, "text/text", "ok"); + }); +} + +void do_upgrade_url() { + if (upgrade_url) { + upgrade_url = false; +#ifdef ESP32 + last_version = getURL("http://91.204.228.124:1100/update/esp32/version.txt"); + jsonWriteStr(configSetup, "last_version", last_version); +#endif +#ifdef ESP8266 + last_version = getURL("http://91.204.228.124:1100/update/esp8266/version.txt"); + jsonWriteStr(configSetup, "last_version", last_version); +#endif + } +} + +void upgrade_firmware() { + String scenario_for_update; + String config_for_update; + String configSetup_for_update; + scenario_for_update = readFile("firmware.s.txt", 4000); + config_for_update = readFile("firmware.c.txt", 4000); + configSetup_for_update = configSetup; + + Serial.println("Start upgrade SPIFFS, please wait..."); + + WiFiClient client_for_upgrade; + +#ifdef ESP32 + httpUpdate.rebootOnUpdate(false); + t_httpUpdate_return ret = httpUpdate.updateSpiffs(client_for_upgrade, "http://91.204.228.124:1100/update/esp32/esp32-esp8266_iot-manager_modules_firmware.spiffs.bin"); +#endif +#ifdef ESP8266 + ESPhttpUpdate.rebootOnUpdate(false); + t_httpUpdate_return ret = ESPhttpUpdate.updateSpiffs(client_for_upgrade, "http://91.204.228.124:1100/update/esp8266/esp32-esp8266_iot-manager_modules_firmware.spiffs.bin"); +#endif + + if (ret == HTTP_UPDATE_OK) { + writeFile("firmware.s.txt", scenario_for_update); + writeFile("firmware.c.txt", config_for_update); + writeFile("config.json", configSetup_for_update); + saveConfig(); + + Serial.println("SPIFFS upgrade done!"); + Serial.println("Start upgrade BUILD, please wait..."); + +#ifdef ESP32 + //httpUpdate.rebootOnUpdate(true); + t_httpUpdate_return ret = httpUpdate.update(client_for_upgrade, "http://91.204.228.124:1100/update/esp32/esp32-esp8266_iot-manager_modules_firmware.ino.bin"); +#endif +#ifdef ESP8266 + //ESPhttpUpdate.rebootOnUpdate(true); + t_httpUpdate_return ret = ESPhttpUpdate.update(client_for_upgrade, "http://91.204.228.124:1100/update/esp8266/esp32-esp8266_iot-manager_modules_firmware.ino.bin"); +#endif + + if (ret == HTTP_UPDATE_OK) { + Serial.println("BUILD upgrade done!"); + Serial.println("Restart ESP...."); + ESP.restart(); + } else { + Serial.println("!!!!BUILD upgrade ERROR"); + } + } else { + Serial.println("!!!!SPIFFS upgrade ERROR"); + } +} + +void do_upgrade() { + if (upgrade) { + upgrade = false; + upgrade_firmware(); + } +} + +/* + void upgrade_status(t_httpUpdate_return set) { + switch (set) { + case HTTP_UPDATE_FAILED: + Serial.printf("UPDATE_FAILED Error (%d): %s", httpUpdate.getLastError(), httpUpdate.getLastErrorString().c_str()); + break; + + case HTTP_UPDATE_NO_UPDATES: + Serial.println("NO_UPDATES"); + break; + + case HTTP_UPDATE_OK: + Serial.println("HTTP_UPDATE_OK"); + break; + } + } +*/ + +/* + // ----------------------- Обновление с сайта + void webUpgrade() { + + #ifdef ESP8266 + String spiffsData = "http://91.204.228.124:1100/update/esp8266/esp32-esp8266_iot-manager_modules_firmware.spiffs.bin"; + String buildData = "http://91.204.228.124:1100/update/esp8266/esp32-esp8266_iot-manager_modules_firmware.ino.bin"; + #endif + + #ifdef ESP32 + String spiffsData = "http://91.204.228.124:1100/update/esp32/esp32-esp8266_iot-manager_modules_firmware.spiffs.bin"; + String buildData = "http://91.204.228.124:1100/update/esp32/esp32-esp8266_iot-manager_modules_firmware.ino.bin"; + #endif + + if (spiffsData != "") { // Если нужно прошить FS + String scenario_for_update; + String config_for_update; + String configSetup_for_update; + Serial.println(spiffsData); + scenario_for_update = readFile("firmware.s.txt", 2048); + config_for_update = readFile("config.all.txt", 2048); + configSetup_for_update = configSetup; + ESPhttpUpdate.rebootOnUpdate(false); // Отключим перезагрузку после обновления + updateHTTP(spiffsData, true); + writeFile("firmware.s.txt", scenario_for_update); + writeFile("config.all.txt", config_for_update); + writeFile("config.json", configSetup_for_update); + saveConfig(); + } + + if (buildData != "") { // Если нужно прошить build + Serial.println(buildData); + ESPhttpUpdate.rebootOnUpdate(true); // Включим перезагрузку после обновления + updateHTTP(buildData, false); + } + } + // ------------------ Обновление по url + void updateHTTP(String url, boolean mode) { + if (url == "") return; + ESPhttpUpdate.setLedPin(LED_BUILTIN, LOW); + if (mode) { + Serial.println("Update Spiffs..."); + t_httpUpdate_return ret = ESPhttpUpdate.updateSpiffs(url); + UpdateStatus(ret , "Spiffs"); + } else { + Serial.println("Update Build..."); + t_httpUpdate_return ret = ESPhttpUpdate.update(url); + UpdateStatus(ret , "build"); + } + } + void UpdateStatus(t_httpUpdate_return set, String mode) { + + switch (set) { + + case HTTP_UPDATE_FAILED: + Serial.println(mode + "_FAILED"); + var = "{}"; + jsonWriteStr(var, "title", "_FAILED"); + jsonWriteStr(var, "class", "pop-up"); + //request->send(200, "text/text", var); + break; + + case HTTP_UPDATE_NO_UPDATES: + Serial.println(mode + "_NO_UPDATES"); + var = "{}"; + jsonWriteStr(var, "title", "_NO_UPDATES"); + jsonWriteStr(var, "class", "pop-up"); + //request->send(200, "text/text", var); + break; + + case HTTP_UPDATE_OK: + Serial.println(mode + "_UPDATE_OK"); + var = "{}"; + jsonWriteStr(var, "title", "_UPDATE_OK"); + jsonWriteStr(var, "class", "pop-up"); + //request->send(200, "text/text", var); + break; + } + } +*/ diff --git a/src/Web_server.cpp b/src/Web_server.cpp new file mode 100644 index 00000000..98a6b2b5 --- /dev/null +++ b/src/Web_server.cpp @@ -0,0 +1,231 @@ +#include "main.h" +#include "set.h" + +void Web_server_init() { +#ifdef OTA_enable + ArduinoOTA.onStart([]() { + events.send("Update Start", "ota"); + }); + ArduinoOTA.onEnd([]() { + events.send("Update End", "ota"); + }); + ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { + char p[32]; + sprintf(p, "Progress: %u%%\n", (progress / (total / 100))); + events.send(p, "ota"); + }); + ArduinoOTA.onError([](ota_error_t error) { + if (error == OTA_AUTH_ERROR) + events.send("Auth Failed", "ota"); + else if (error == OTA_BEGIN_ERROR) + events.send("Begin Failed", "ota"); + else if (error == OTA_CONNECT_ERROR) + events.send("Connect Failed", "ota"); + else if (error == OTA_RECEIVE_ERROR) + events.send("Recieve Failed", "ota"); + else if (error == OTA_END_ERROR) + events.send("End Failed", "ota"); + }); + ArduinoOTA.setHostname(hostName); + ArduinoOTA.begin(); +#endif + /********************************************************************************* + **************************************MDNS**************************************** + *********************************************************************************/ +#ifdef MDNS_enable + MDNS.addService("http", "tcp", 80); +#endif + //SPIFFS.begin(); + /********************************************************************************* + **************************************WS****************************************** + *********************************************************************************/ +#ifdef WS_enable + ws.onEvent(onWsEvent); + server.addHandler(&ws); + + events.onConnect([](AsyncEventSourceClient *client) { + //!!!client->send("hello!", NULL, millis(), 1000); + }); + + server.addHandler(&events); +#endif + +#ifdef ESP32 + server.addHandler(new SPIFFSEditor(SPIFFS, jsonReadStr(configSetup, "web_login").c_str(), jsonReadStr(configSetup, "web_pass").c_str())); +#elif defined(ESP8266) + server.addHandler(new SPIFFSEditor(jsonReadStr(configSetup, "web_login").c_str(), jsonReadStr(configSetup, "web_pass").c_str())); +#endif + + /* server.on("/heap", HTTP_GET, [](AsyncWebServerRequest * request) { + request->send(200, "text/plain", String(ESP.getFreeHeap())); + });*/ + + server.serveStatic("/css/", SPIFFS, "/css/").setCacheControl("max-age=31536000"); + server.serveStatic("/js/", SPIFFS, "/js/").setCacheControl("max-age=31536000"); + server.serveStatic("/favicon.ico", SPIFFS, "/favicon.ico").setCacheControl("max-age=31536000"); + + server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm").setAuthentication(jsonReadStr(configSetup, "web_login").c_str(), jsonReadStr(configSetup, "web_pass").c_str()); + + server.onNotFound([](AsyncWebServerRequest *request) { + Serial.printf("NOT_FOUND: "); + if (request->method() == HTTP_GET) + Serial.printf("GET"); + else if (request->method() == HTTP_POST) + Serial.printf("POST"); + else if (request->method() == HTTP_DELETE) + Serial.printf("DELETE"); + else if (request->method() == HTTP_PUT) + Serial.printf("PUT"); + else if (request->method() == HTTP_PATCH) + Serial.printf("PATCH"); + else if (request->method() == HTTP_HEAD) + Serial.printf("HEAD"); + else if (request->method() == HTTP_OPTIONS) + Serial.printf("OPTIONS"); + else + Serial.printf("UNKNOWN"); + Serial.printf(" http://%s%s\n", request->host().c_str(), request->url().c_str()); + + if (request->contentLength()) { + Serial.printf("_CONTENT_TYPE: %s\n", request->contentType().c_str()); + Serial.printf("_CONTENT_LENGTH: %u\n", request->contentLength()); + } + + int headers = request->headers(); + int i; + for (i = 0; i < headers; i++) { + AsyncWebHeader *h = request->getHeader(i); + Serial.printf("_HEADER[%s]: %s\n", h->name().c_str(), h->value().c_str()); + } + + int params = request->params(); + for (i = 0; i < params; i++) { + AsyncWebParameter *p = request->getParam(i); + if (p->isFile()) { + Serial.printf("_FILE[%s]: %s, size: %u\n", p->name().c_str(), p->value().c_str(), p->size()); + } else if (p->isPost()) { + Serial.printf("_POST[%s]: %s\n", p->name().c_str(), p->value().c_str()); + } else { + Serial.printf("_GET[%s]: %s\n", p->name().c_str(), p->value().c_str()); + } + } + + request->send(404); + }); + + server.onFileUpload([](AsyncWebServerRequest *request, const String &filename, size_t index, uint8_t *data, size_t len, bool final) { + if (!index) + Serial.printf("UploadStart: %s\n", filename.c_str()); + Serial.printf("%s", (const char *)data); + if (final) + Serial.printf("UploadEnd: %s (%u)\n", filename.c_str(), index + len); + }); + + server.onRequestBody([](AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total) { + if (!index) + Serial.printf("BodyStart: %u\n", total); + Serial.printf("%s", (const char *)data); + if (index + len == total) + Serial.printf("BodyEnd: %u\n", total); + }); + + server.begin(); + + // --------------------Выдаем данные configJson //config.live.json - динамические данные + server.on("/config.live.json", HTTP_GET, [](AsyncWebServerRequest *request) { + request->send(200, "application/json", configJson); + }); + // --------------------Выдаем данные optionJson //config.option.json - данные не являющиеся событиями + server.on("/config.option.json", HTTP_GET, [](AsyncWebServerRequest *request) { + request->send(200, "application/json", optionJson); + }); + // -------------------Выдаем данные configSetup //config.setup.json - для хранения постоянных данных + server.on("/config.setup.json", HTTP_GET, [](AsyncWebServerRequest *request) { + request->send(200, "application/json", configSetup); + }); + + // ------------------Выполнение команды из запроса + //http://192.168.88.45/cmd?command=rel%201%201 + server.on("/cmd", HTTP_GET, [](AsyncWebServerRequest *request) { + String com = request->getParam("command")->value(); + Serial.println(com); + order_loop += com + ","; + request->send(200, "text/text", "OK"); // отправляем ответ о выполнении + }); +} +/********************************************************************************************************************************* + *********************************************************WS********************************************************************** + ********************************************************************************************************************************/ +#ifdef WS_enable +void onWsEvent(AsyncWebSocket *server, AsyncWebSocketClient *client, AwsEventType type, void *arg, uint8_t *data, size_t len) { + if (type == WS_EVT_CONNECT) { + Serial.printf("ws[%s][%u] connect\n", server->url(), client->id()); + client->printf(json.c_str(), client->id()); + //client->ping(); + } else if (type == WS_EVT_DISCONNECT) { + Serial.printf("ws[%s][%u] disconnect\n", server->url(), client->id()); + } else if (type == WS_EVT_ERROR) { + Serial.printf("ws[%s][%u] error(%u): %s\n", server->url(), client->id(), *((uint16_t *)arg), (char *)data); + } else if (type == WS_EVT_PONG) { + Serial.printf("ws[%s][%u] pong[%u]: %s\n", server->url(), client->id(), len, (len) ? (char *)data : ""); + } else if (type == WS_EVT_DATA) { + AwsFrameInfo *info = (AwsFrameInfo *)arg; + String msg = ""; + if (info->final && info->index == 0 && info->len == len) { + //the whole message is in a single frame and we got all of it's data + Serial.printf("ws[%s][%u] %s-message[%llu]: ", server->url(), client->id(), (info->opcode == WS_TEXT) ? "text" : "binary", info->len); + + if (info->opcode == WS_TEXT) { + for (size_t i = 0; i < info->len; i++) { + msg += (char)data[i]; + } + } else { + char buff[3]; + for (size_t i = 0; i < info->len; i++) { + sprintf(buff, "%02x ", (uint8_t)data[i]); + msg += buff; + } + } + Serial.printf("%s\n", msg.c_str()); + + if (info->opcode == WS_TEXT) + client->text("{}"); + else + client->binary("{}"); + } else { + //message is comprised of multiple frames or the frame is split into multiple packets + if (info->index == 0) { + if (info->num == 0) + Serial.printf("ws[%s][%u] %s-message start\n", server->url(), client->id(), (info->message_opcode == WS_TEXT) ? "text" : "binary"); + Serial.printf("ws[%s][%u] frame[%u] start[%llu]\n", server->url(), client->id(), info->num, info->len); + } + + Serial.printf("ws[%s][%u] frame[%u] %s[%llu - %llu]: ", server->url(), client->id(), info->num, (info->message_opcode == WS_TEXT) ? "text" : "binary", info->index, info->index + len); + + if (info->opcode == WS_TEXT) { + for (size_t i = 0; i < len; i++) { + msg += (char)data[i]; + } + } else { + char buff[3]; + for (size_t i = 0; i < len; i++) { + sprintf(buff, "%02x ", (uint8_t)data[i]); + msg += buff; + } + } + Serial.printf("%s\n", msg.c_str()); + + if ((info->index + len) == info->len) { + Serial.printf("ws[%s][%u] frame[%u] end[%llu]\n", server->url(), client->id(), info->num, info->len); + if (info->final) { + Serial.printf("ws[%s][%u] %s-message end\n", server->url(), client->id(), (info->message_opcode == WS_TEXT) ? "text" : "binary"); + if (info->message_opcode == WS_TEXT) + client->text("I got your text message"); + else + client->binary("I got your binary message"); + } + } + } + } +} +#endif diff --git a/src/WiFiUtils.cpp b/src/WiFiUtils.cpp new file mode 100644 index 00000000..15ebc535 --- /dev/null +++ b/src/WiFiUtils.cpp @@ -0,0 +1,163 @@ +#include "main.h" +#include "set.h" + +void WIFI_init() { + // --------------------Получаем ssid password со страницы + server.on("/ssid", HTTP_GET, [](AsyncWebServerRequest* request) { + if (request->hasArg("ssid")) { + jsonWriteStr(configSetup, "ssid", request->getParam("ssid")->value()); + } + if (request->hasArg("password")) { + jsonWriteStr(configSetup, "password", request->getParam("password")->value()); + } + saveConfig(); // Функция сохранения данных во Flash + request->send(200, "text/text", "OK"); // отправляем ответ о выполнении + }); + // --------------------Получаем ssidAP passwordAP со страницы + server.on("/ssidap", HTTP_GET, [](AsyncWebServerRequest* request) { + if (request->hasArg("ssidAP")) { + jsonWriteStr(configSetup, "ssidAP", request->getParam("ssidAP")->value()); + } + if (request->hasArg("passwordAP")) { + jsonWriteStr(configSetup, "passwordAP", request->getParam("passwordAP")->value()); + } + saveConfig(); // Функция сохранения данных во Flash + request->send(200, "text/text", "OK"); // отправляем ответ о выполнении + }); + + // --------------------Получаем логин и пароль для web со страницы + server.on("/web", HTTP_GET, [](AsyncWebServerRequest* request) { + if (request->hasArg("web_login")) { + jsonWriteStr(configSetup, "web_login", request->getParam("web_login")->value()); + } + if (request->hasArg("web_pass")) { + jsonWriteStr(configSetup, "web_pass", request->getParam("web_pass")->value()); + } + saveConfig(); // Функция сохранения данных во Flash + //Web_server_init(); + request->send(200, "text/text", "OK"); // отправляем ответ о выполнении + }); + + server.on("/restart", HTTP_GET, [](AsyncWebServerRequest* request) { + if (request->hasArg("device")) { + if (request->getParam("device")->value() == "ok") ESP.restart(); + } + request->send(200, "text/text", "OK"); // отправляем ответ о выполнении + }); + ROUTER_Connecting(); +} + +void ROUTER_Connecting() { + led_blink("slow"); + + WiFi.mode(WIFI_STA); + + byte tries = 20; + String _ssid = jsonReadStr(configSetup, "ssid"); + String _password = jsonReadStr(configSetup, "password"); + //WiFi.persistent(false); + + if (_ssid == "" && _password == "") { + WiFi.begin(); + } else { + WiFi.begin(_ssid.c_str(), _password.c_str()); + Serial.print("ssid: "); + Serial.println(_ssid); + } + // Делаем проверку подключения до тех пор пока счетчик tries + // не станет равен нулю или не получим подключение + while (--tries && WiFi.status() != WL_CONNECTED) { + if (WiFi.status() == WL_CONNECT_FAILED) { + Serial.println("[E] password is not correct"); + tries = 1; + jsonWriteInt(optionJson, "pass_status", 1); + } + Serial.print("."); + delay(1000); + } + + Serial.println(); + if (WiFi.status() != WL_CONNECTED) { + StartAPMode(); + } else { + Serial.println("[V] WiFi connected"); + Serial.print("[V] IP address: http://"); + Serial.print(WiFi.localIP()); + Serial.println(); + + jsonWriteStr(configJson, "ip", WiFi.localIP().toString()); + led_blink("off"); + } +} + +bool StartAPMode() { + Serial.println("WiFi up AP"); + WiFi.disconnect(); + + WiFi.mode(WIFI_AP); + + String _ssidAP = jsonReadStr(configSetup, "ssidAP"); + String _passwordAP = jsonReadStr(configSetup, "passwordAP"); + WiFi.softAP(_ssidAP.c_str(), _passwordAP.c_str()); + IPAddress myIP = WiFi.softAPIP(); + led_blink("on"); + Serial.print("AP IP address: "); + Serial.println(myIP); + jsonWriteStr(configJson, "ip", myIP.toString()); + + if (jsonReadInt(optionJson, "pass_status") != 1) { + ts.add( + ROUTER_SEARCHING, 10 * 1000, [&](void*) { + Serial.println("->try find router"); + if (RouterFind(jsonReadStr(configSetup, "ssid"))) { + ts.remove(ROUTER_SEARCHING); + WiFi.scanDelete(); + ROUTER_Connecting(); + MQTT_init(); + } + }, + nullptr, true); + } + return true; +} + +boolean RouterFind(String ssid) { + int n = WiFi.scanComplete(); + Serial.println("n = " + String(n)); + if (n == -2) { //Сканирование не было запущено, запускаем + Serial.println("[WIFI][i] scanning has not been triggered, starting scanning"); + WiFi.scanNetworks(true, false); //async, show_hidden + return false; + } + if (n == -1) { //Сканирование все еще выполняется + Serial.println("[WIFI][i] scanning still in progress"); + return false; + } + if (n == 0) { //ни одна сеть не найдена + Serial.println("[WIFI][i] no any wifi sations, starting scanning"); + WiFi.scanNetworks(true, false); + return false; + } + if (n > 0) { + for (int i = 0; i <= n; i++) { + if (WiFi.SSID(i) == ssid) { + WiFi.scanDelete(); + return true; + } else { + Serial.print(i); + Serial.print(")"); + //Serial.print(ssid); + //Serial.print("<=>"); + if (i == n) { + Serial.print(WiFi.SSID(i)); + Serial.println("; "); + } else { + Serial.print(WiFi.SSID(i)); + Serial.println("; "); + } + } + } + WiFi.scanDelete(); + return false; + } +} diff --git a/src/Widgets.cpp b/src/Widgets.cpp new file mode 100644 index 00000000..b9de8aa5 --- /dev/null +++ b/src/Widgets.cpp @@ -0,0 +1,82 @@ +#include "Widgets.h" + +#include "main.h" +#include "set.h" + +void createWidget(String widget_name, String page_name, String page_number, String file, String topic) { + String widget; + widget = readFile(file, 1024); + if (widget == "Failed") return; + if (widget == "Large") return; + widget_name.replace("#", " "); + page_name.replace("#", " "); + jsonWriteStr(widget, "page", page_name); + jsonWriteStr(widget, "order", page_number); + jsonWriteStr(widget, "descr", widget_name); + jsonWriteStr(widget, "topic", prex + "/" + topic); +#ifdef layout_in_ram + all_widgets += widget + "\r\n"; +#else + addFile("layout.txt", widget); +#endif + widget = ""; +} + +void createWidgetParam(String widget_name, String page_name, String page_number, String file, String topic, String name1, String param1, String name2, String param2, String name3, String param3) { + String widget; + widget = readFile(file, 1024); + + if (widget == "Failed") return; + if (widget == "Large") return; + + widget_name.replace("#", " "); + page_name.replace("#", " "); + + jsonWriteStr(widget, "page", page_name); + jsonWriteStr(widget, "order", page_number); + jsonWriteStr(widget, "descr", widget_name); + jsonWriteStr(widget, "topic", prex + "/" + topic); + + if (name1 != "") jsonWriteStr(widget, name1, param1); + if (name2 != "") jsonWriteStr(widget, name2, param2); + if (name3 != "") jsonWriteStr(widget, name3, param3); + +#ifdef layout_in_ram + all_widgets += widget + "\r\n"; +#else + addFile("layout.txt", widget); +#endif + widget = ""; +} + +void createChart(String widget_name, String page_name, String page_number, String file, String topic, String maxCount) { + String widget; + widget = readFile(file, 1024); + + if (widget == "Failed") return; + if (widget == "Large") return; + + widget_name.replace("#", " "); + page_name.replace("#", " "); + + jsonWriteStr(widget, "page", page_name); + jsonWriteStr(widget, "order", page_number); + //jsonWriteStr(widget, "descr", widget_name); + jsonWriteStr(widget, "series", widget_name); + jsonWriteStr(widget, "maxCount", maxCount); + jsonWriteStr(widget, "topic", prex + "/" + topic); + +#ifdef layout_in_ram + all_widgets += widget + "\r\n"; +#else + addFile("layout.txt", widget); +#endif + widget = ""; +} + +void choose_widget_and_create(String widget_name, String page_name, String page_number, String type, String topik) { + if (type == "any-data") createWidget(widget_name, page_name, page_number, "widgets/widget.anyData.json", topik); + if (type == "progress-line") createWidget(widget_name, page_name, page_number, "widgets/widget.progLine.json", topik); + if (type == "progress-round") createWidget(widget_name, page_name, page_number, "widgets/widget.progRound.json", topik); + if (type == "fill-gauge") createWidget(widget_name, page_name, page_number, "widgets/widget.fillGauge.json", topik); +} diff --git a/src/i2c_bus.cpp b/src/i2c_bus.cpp new file mode 100644 index 00000000..e44155c8 --- /dev/null +++ b/src/i2c_bus.cpp @@ -0,0 +1,38 @@ +#include "i2c_bus.h" + +#include "main.h" +#include "set.h" + +void do_i2c_scanning() { + if (i2c_scanning) { + i2c_scanning = false; + String tmp = i2c_scan(); + if (tmp == "error") { + tmp = i2c_scan(); + Serial.println(tmp); + jsonWriteStr(configJson, "i2c", tmp); + } else { + Serial.println(tmp); + jsonWriteStr(configJson, "i2c", tmp); + } + } +} + +String i2c_scan() { + String out; + byte count = 0; + Wire.begin(); + for (byte i = 8; i < 120; i++) { + Wire.beginTransmission(i); + if (Wire.endTransmission() == 0) { + count++; + out += String(count) + ". 0x" + String(i, HEX) + "; "; + delay(1); + } + } + if (count == 0) { + return "error"; + } else { + return out; + } +} diff --git a/src/iot_firmware.cpp b/src/iot_firmware.cpp new file mode 100644 index 00000000..f265ebcd --- /dev/null +++ b/src/iot_firmware.cpp @@ -0,0 +1,88 @@ +#include "Cmd.h" +#include "FileSystem.h" +#include "Sensors.h" +#include "set.h" + +void setup() { + File_system_init(); + Serial.println("SPIFFS_init"); + + CMD_init(); + Serial.println("[V] CMD_init"); + + sensors_init(); + Serial.println("[V] sensors_init"); + + All_init(); + Serial.println("[V] All_init"); + //-------------------------------------------------------------- + WIFI_init(); + Serial.println("[V] WIFI_init"); + //-------------------------------------------------------------- + statistics_init(); + Serial.println("[V] statistics_init"); + //-------------------------------------------------------------- + initUpgrade(); + Serial.println("[V] initUpgrade"); + //-------------------------------------------------------------- + Web_server_init(); + Serial.println("[V] Web_server_init"); + //-------------------------------------------------------------- + MQTT_init(); + Serial.println("[V] MQTT_init"); + //-------------------------------------------------------------- + Time_Init(); + Serial.println("[V] Time_Init"); + //-------------------------------------------------------------- +#ifdef push_enable + Push_init(); + Serial.println("[V] Push_init"); +#endif + //-------------------------------------------------------------- +#ifdef UDP_enable + UDP_init(); + Serial.println("[V] UDP_init"); +#endif + //-------------------------------------------------------------- + + ts.add( + TEST, 10000, [&](void*) { + getMemoryLoad("[i] periodic check of"); + //ws.textAll(json); + }, + nullptr, true); + + just_load = false; +} + +void loop() { +#ifdef OTA_enable + ArduinoOTA.handle(); +#endif + +#ifdef WS_enable + ws.cleanupClients(); +#endif + + not_async_actions(); + + handleMQTT(); + handleCMD_loop(); + handleButton(); + handleScenario(); +#ifdef UDP_enable + handleUdp(); +#endif + ts.update(); +} + +void not_async_actions() { + do_mqtt_connection(); + do_upgrade_url(); + do_upgrade(); +#ifdef UDP_enable + do_udp_data_parse(); + do_mqtt_send_settings_to_udp(); +#endif + do_i2c_scanning(); +} diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 00000000..7b923734 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,399 @@ +#include "main.h" + +#include "set.h" + +String jsonReadStr(String& json, String name) { + DynamicJsonBuffer jsonBuffer; + JsonObject& root = jsonBuffer.parseObject(json); + return root[name].as(); +} + +int jsonReadInt(String& json, String name) { + DynamicJsonBuffer jsonBuffer; + JsonObject& root = jsonBuffer.parseObject(json); + return root[name]; +} + +String jsonWriteStr(String& json, String name, String volume) { + DynamicJsonBuffer jsonBuffer; + JsonObject& root = jsonBuffer.parseObject(json); + root[name] = volume; + json = ""; + root.printTo(json); + return json; +} + +String jsonWriteInt(String& json, String name, int volume) { + DynamicJsonBuffer jsonBuffer; + JsonObject& root = jsonBuffer.parseObject(json); + root[name] = volume; + json = ""; + root.printTo(json); + return json; +} + +String jsonWriteFloat(String& json, String name, float volume) { + DynamicJsonBuffer jsonBuffer; + JsonObject& root = jsonBuffer.parseObject(json); + root[name] = volume; + json = ""; + root.printTo(json); + return json; +} + +//============================================================================================================ +//=============================================BIT AND BYTE=================================================== +uint8_t hexStringToUint8(String hex) { + uint8_t tmp = strtol(hex.c_str(), NULL, 0); + if (tmp >= 0x00 && tmp <= 0xFF) { + return tmp; + } +} + +uint16_t hexStringToUint16(String hex) { + uint16_t tmp = strtol(hex.c_str(), NULL, 0); + if (tmp >= 0x0000 && tmp <= 0xFFFF) { + return tmp; + } +} + +void saveConfig() { + writeFile("config.json", configSetup); +} + +// --------Выделяем строку от конца строки до маркера----------------------------------------------------------- +String selectToMarkerLast(String str, String found) { + int p = str.lastIndexOf(found); + return str.substring(p + found.length()); +} + +String selectToMarker(String str, String found) { + int p = str.indexOf(found); + return str.substring(0, p); +} + +String deleteAfterDelimiter(String str, String found) { + int p = str.indexOf(found); + return str.substring(0, p); +} + +String deleteBeforeDelimiter(String str, String found) { + int p = str.indexOf(found) + found.length(); + return str.substring(p); +} + +String deleteBeforeDelimiterTo(String str, String found) { + int p = str.indexOf(found); + return str.substring(p); +} + +// -------------------Выделяем строку от конца строки до маркера ------------------------------------------------ +String deleteToMarkerLast(String str, String found) { + int p = str.lastIndexOf(found); + return str.substring(0, p); +} +// -------------------Выделяем строку от конца строки до маркера + ---------------------------------------------- +String selectToMarkerPlus(String str, String found, int plus) { + int p = str.indexOf(found); + return str.substring(0, p + plus); +} +//--------------------Выделяем строку от маркера до маркера ----------------------------------------------------- +String selectFromMarkerToMarker(String str, String found, int number) { + if (str.indexOf(found) == -1) return "not found"; // если строки поиск нет сразу выход + str += found; // добавим для корректного поиска + uint8_t i = 0; // Индекс перебора + do { + if (i == number) return selectToMarker(str, found); // если индекс совпал с позицией законцим вернем резултат + str = deleteBeforeDelimiter(str, found); // отбросим проверенный блок до разделителя + i++; // увеличим индекс + } while (str.length() != 0); // повторим пока строка не пустая + return "not found"; // Достигли пустой строки и ничего не нашли +} +//--------------------Посчитать ----------------------------------------------------------------------------------- +int count(String str, String found) { + if (str.indexOf(found) == -1) return 0; // если строки поиск нет сразу выход + str += found; // добавим для корректного поиска + uint8_t i = 0; // Индекс перебора + while (str.length() != 0) { + str = deleteBeforeDelimiter(str, found); // отбросим проверенный блок до разделителя + i++; // увеличим индекс + } + return i; // Достигли пустой строки и ничего не нашли +} + +boolean isDigitStr(String str) { + if (str.length() == 1) { + return Digit(str); + } + if (str.length() > 1) { + for (int i = 0; i < str.length(); i++) { + if (!Digit(String(str.charAt(i)))) return false; + } + return true; + } +} +boolean Digit(String str) { + if (str == "0" || str == "1" || str == "2" || str == "3" || str == "4" || str == "5" || str == "6" || str == "7" || str == "8" || str == "9") { + return true; + } else { + return false; + } +} + +String getURL(String urls) { + String answer = ""; + HTTPClient http; + http.begin(urls); //HTTP + int httpCode = http.GET(); + if (httpCode == HTTP_CODE_OK) { + answer = http.getString(); + } else { + answer = "error"; + } + http.end(); + return answer; +} +//=================================================================================================================== +//===========================================FILES=================================================================== +// ------------- Добавление файла ----------------------------------------------------------------------------------- +String safeDataToFile(String data, String Folder) { + //String fileName = GetDate(); + String fileName; + fileName.toLowerCase(); + fileName = deleteBeforeDelimiter(fileName, " "); + fileName.replace(" ", "."); + fileName.replace("..", "."); + fileName = Folder + "/" + fileName + ".txt"; + // addFile(fileName, GetTime() + "/" + data); + Serial.println(fileName); + jsonWriteStr(configJson, "test", fileName); +} +// ------------- Чтение файла в строку ------------------------------------------------------------------------------- +String readFile(String fileName, size_t len) { + File configFile = SPIFFS.open("/" + fileName, "r"); + if (!configFile) { + return "Failed"; + } + size_t size = configFile.size(); + if (size > len) { + configFile.close(); + return "Large"; + } + String temp = configFile.readString(); + configFile.close(); + return temp; +} +// ------------- Размер файла ---------------------------------------------------------------------------------------- +String sizeFile(String fileName) { + File configFile = SPIFFS.open("/" + fileName, "r"); + if (!configFile) { + return "Failed"; + } + size_t size = configFile.size(); + configFile.close(); + return String(size); +} +// ------------- Запись строки в файл --------------------------------------------------------------------------------- +String writeFile(String fileName, String strings) { + File configFile = SPIFFS.open("/" + fileName, "w"); + if (!configFile) { + return "Failed to open config file"; + } + configFile.print(strings); + //strings.printTo(configFile); + configFile.close(); + return "Write sucsses"; +} +// ------------- Добовление строки в файл ------------------------------------------------------------------------------ +String addFile(String fileName, String strings) { + File configFile = SPIFFS.open("/" + fileName, "a"); + if (!configFile) { + return "Failed to open config file"; + } + configFile.println(strings); + configFile.close(); + return "Write sucsses"; +} +// ------------- Чтение строки из файла --------------------------------------------------------------------------------- +//возвращает стоку из файла в которой есть искомое слово found + +String readFileString(const String& filename, const String& str_to_found) { + String res = "failed"; + auto file = SPIFFS.open("/" + filename, "r"); + if (file && file.find(str_to_found.c_str())) { + res = file.readStringUntil('\n'); + } + file.close(); + return res; +} + +void sendCONFIG(String topik, String widgetConfig, String key, String date) { + yield(); + topik = jsonReadStr(configSetup, "mqttPrefix") + "/" + chipID + "/" + topik + "/status"; + String outer = "{\"widgetConfig\":"; + String inner = "{\""; + inner = inner + key; + inner = inner + "\":\""; + inner = inner + date; + inner = inner + "\""; + inner = inner + "}}"; + String t = outer + inner; + //Serial.println(t); + //client_mqtt.publish(MQTT::Publish(topik, t).set_qos(1)); + yield(); +} + +void led_blink(String satus) { +#ifdef ESP8266 +#ifdef blink_pin + pinMode(blink_pin, OUTPUT); + if (satus == "off") { + noTone(blink_pin); + digitalWrite(blink_pin, HIGH); + } + if (satus == "on") { + noTone(blink_pin); + digitalWrite(blink_pin, LOW); + } + if (satus == "slow") tone(blink_pin, 1); + if (satus == "fast") tone(blink_pin, 20); +#endif +#endif +} +//========================================================================================================================= +//=========================================ОСТАВШАЯСЯ ОПЕРАТИВНАЯ ПАМЯТЬ=================================================== +void getMemoryLoad(String text) { +#ifdef ESP8266 + int all_memory = 52864; +#endif +#ifdef ESP32 + int all_memory = 362868; +#endif + int memory_remain = ESP.getFreeHeap(); + int memory_used = all_memory - memory_remain; + int memory_load = (memory_used * 100) / all_memory; + if (memory_load > 65) Serial.print("Attention!!! too match memory used!!!"); + Serial.print(text + " memory used:"); + Serial.print(String(memory_load) + "%; "); + Serial.print("memory remain: "); + Serial.println(String(memory_remain) + " k bytes"); +} +//esp32 full memory = 362868 k bytes +//esp8266 full memory = 52864 k bytes + +//=================================================================== +/* + void web_print (String text) { + if (WiFi.status() == WL_CONNECTED) { + jsonWriteStr(json, "test1", jsonReadStr(json, "test2")); + jsonWriteStr(json, "test2", jsonReadStr(json, "test3")); + jsonWriteStr(json, "test3", jsonReadStr(json, "test4")); + jsonWriteStr(json, "test4", jsonReadStr(json, "test5")); + jsonWriteStr(json, "test5", jsonReadStr(json, "test6")); + + jsonWriteStr(json, "test6", GetTime() + " " + text); + + ws.textAll(json); + } + } +*/ +//=================================================================== +/* + "socket": [ + "ws://{{ip}}/ws" + ], +*/ +//=================================================================== +/* + { + "type": "h4", + "title": "('{{build2}}'=='{{firmware_version}}'?'NEW':'OLD')" + }, +*/ +//=================================================================== +/* + { + "type": "button", + "title": "Конфигурация устройства", + "socket": "test2", + "class": "btn btn-block btn-primary" + }, + { + "type": "hr" + }, + { + "type": "h6", + "title": "{{test1}}" + }, + { + "type": "h6", + "title": "{{test2}}" + }, + { + "type": "h6", + "title": "{{test3}}" + }, + { + "type": "h6", + "title": "{{test4}}" + }, + { + "type": "h6", + "title": "{{test5}}" + }, + { + "type": "h6", + "title": "{{test6}}" + }, + { + "type": "hr" + }, +*/ +//=================================================================== + +/* + String getResetReason(uint8_t core) { + int reason = rtc_get_reset_reason(core); + switch (reason) { + case 1 : return "Power on"; break; //Vbat power on reset + case 3 : return "Software reset digital core"; break; //Software reset digital core + case 4 : return "Legacy watch dog reset digital core"; break; //Legacy watch dog reset digital core + case 5 : return "Deep Sleep reset digital core"; break; //Deep Sleep reset digital core + case 6 : return "Reset by SLC module, reset digital core"; break; //Reset by SLC module, reset digital core + case 7 : return "Timer Group0 Watch dog reset digital core"; break; //Timer Group0 Watch dog reset digital core + case 8 : return "Timer Group1 Watch dog reset digital core"; break; //Timer Group1 Watch dog reset digital core + case 9 : return "RTC Watch dog Reset digital core"; break; // + case 10 : return "Instrusion tested to reset CPU"; break; + case 11 : return "Time Group reset CPU"; break; + case 12 : return "Software reset CPU"; break; + case 13 : return "RTC Watch dog Reset CPU"; break; + case 14 : return "for APP CPU, reseted by PRO CPU"; break; + case 15 : return "Reset when the vdd voltage is not stable"; break; + case 16 : return "RTC Watch dog reset digital core and rtc module"; break; + default : return "NO_MEAN"; + } + } + + + String EspClass::getResetReason(void) { + char buff[32]; + if (resetInfo.reason == REASON_DEFAULT_RST) { // normal startup by power on + strcpy_P(buff, PSTR("Power on")); + } else if (resetInfo.reason == REASON_WDT_RST) { // hardware watch dog reset + strcpy_P(buff, PSTR("Hardware Watchdog")); + } else if (resetInfo.reason == REASON_EXCEPTION_RST) { // exception reset, GPIO status won’t change + strcpy_P(buff, PSTR("Exception")); + } else if (resetInfo.reason == REASON_SOFT_WDT_RST) { // software watch dog reset, GPIO status won’t change + strcpy_P(buff, PSTR("Software Watchdog")); + } else if (resetInfo.reason == REASON_SOFT_RESTART) { // software restart ,system_restart , GPIO status won’t change + strcpy_P(buff, PSTR("Software/System restart")); + } else if (resetInfo.reason == REASON_DEEP_SLEEP_AWAKE) { // wake up from deep-sleep + strcpy_P(buff, PSTR("Deep-Sleep Wake")); + } else if (resetInfo.reason == REASON_EXT_SYS_RST) { // external system reset + strcpy_P(buff, PSTR("External System")); + } else { + strcpy_P(buff, PSTR("Unknown")); + } + return String(buff); + } +*/ diff --git a/udp.ino b/src/udp.cpp similarity index 100% rename from udp.ino rename to src/udp.cpp diff --git a/sync.ffs_db b/sync.ffs_db deleted file mode 100644 index d62dff32630ce887e71c80413c564154868496a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmZ=ON= z55yT@7EmniaY91E3EwkkE}uSgI-PM-u#mSpciSou3F8bUmN7+Suw9k6$ojh~Cxr2crTvo=x1ZX_Wx{A2u Ol!k_ka*Y=`?b`vrH#i#r diff --git a/test/README b/test/README new file mode 100644 index 00000000..df5066e6 --- /dev/null +++ b/test/README @@ -0,0 +1,11 @@ + +This directory is intended for PIO Unit Testing and project tests. + +Unit Testing is a software testing method by which individual units of +source code, sets of one or more MCU program modules together with associated +control data, usage procedures, and operating procedures, are tested to +determine whether they are fit for use. Unit testing finds problems early +in the development cycle. + +More information about PIO Unit Testing: +- https://docs.platformio.org/page/plus/unit-testing.html

b z#QB!Sw+*laUpLkd99l%z-^OM57(T&~yIkDdmJ+~(SO-q;Riohs?<0{r!gL;FG>L0y zYFf74;HP5Csi~R0P)J9V9j~mcShl5N0pDs9v#%<8dg?!%DfV{p3El?gEO_H7JK@gG zPOZq}&+_s!(-EYJjzswC?tzJKUDc*jj{paMijgPw2}a!180SWuNO08N`G_MSCKgfz zzbIq=g~9n$12`6KDIsKCs?iV&B&&rI93_26gHf;*5F`i)2=jocbZBVkk}H?gQ9gr% z$y^|v>vXNc^=zf#P)Vr@2s>iT#}NQhA#Hn8F8GL9S$_hV)6yL#2Bd*eb4wbxUv`}*>3%wH;$eb!t@csQg zP*7{>C@aqF{RZ?lVwFVzeQhz!p?y#J6zxH~lnF8YedJyNB=ERUdU8Hf?z zSpl|mI>9Ke(U?fv^ML@L$~zrcv6N?f{P9KL(Hc@-ni?oGTfZLmCmI#{4=vp(g4*tB z-#j0MUKbxfr+HekYkOQYP->s|ym^f=R!!X>Sprp#YGE(0T@?6JK;4h0JF;PF)BC7! zv4Kav*Ck(i#)H6mwpG9UV6Cy$UMo_*nJ8pme>wQI;i*vOUSuV=`PtoAE;d%Rig~Rz z0kMVXA1|27=cZhHQe)tDVlZ}s+=VMzIHmS=OIUAZRd|8MNvpR*2Bvu9>6?qwqi#n} z{UsEjKly{LuEXmCw&Pva4Pc2EYeKTR1?YB>ceR|jVT>d6911|v(pKleqKvEUnXN{8 zwpko3s0FP>zW`*Lg}p*3_bnlt3_R{@Sp?c(s0If2GP<=4goeh;`6YbU!~{Gir*evB zvZCdrpuYZJ9^yW6QVEm(^nXu&<7B7BVKgAm>P*`;SDvNH_1R&wPksS*4%-9eVD8lF-}j@^4XXFPGdb z2^cnV-}^eqy!+1Z=Y!a(Qhw3vvN>B&36}qDSCAw|c$)9wO`9IV@KEhz6Ch{jx{|GS zG#4MG>oGl{@EIeaV0sznr2;UVYDXf6GQ<%D_JlUX&<>97Y`Q(6{a(1w?O_PrmM!vV zHQM7%SeHS97)=dO{JNGoSx~cnj)wB(pg^DN+4;Yw~YK z0$&?rZQsqj%Kf`JM($29>mbCP4)NzydkDC?{!@~ zuT3(Ix@|%u>4sQso(u9QZd+=YK!`2lC1F4-ZTSSZv~Yh_F58|}w?1)XcR9~+bO$Eq zi!P+R^&`k#+cl`SDu#c4oD~I9mi5AgQm(X5U@ePDT>=Y?$}n!vGHmGxsI^ysaanTL zXewvv)ETYHpY~gn{JesKU?55Dl66bI@#)R2l5Xn=5K88(D0fayPyGA3 z9S0a_XhKrb-5iOzFM@wTDD2w&{dF_EqRPGLu%PU>(+agcR+G_VlEcVfglsZm^7i&V z8hiZ<*RC8*MnFDfQ*Pt1xNKv7co-P$aZN^JE|HvaM{q*>z0n$KBtU(Wv9te<;(6@H z3N|n>kX2GLa?kO8czB>UnIXm|@EHJ5jk77_}$$!B9OD=Yh7vO2KnMFDO- zJTfwZ6}+F$p8{`8jL42|FL<5cf6Dk7_^7C|a?*{n6kgCFH)G5^-!CpM?#5~SHBa4L zPEM|bx2JHzIsI@F{e2Mjp~WN``LeW84HN-5o8%y)R9aS68%Z*mevR>-syv@rRS|-x zF*q*UKBzYepI0YV@k}f4Q_OeGPe|GCg4R|k_Txx*2!;tr(hW**Kihw+zQ4E)C=L5w z5Tuovs{yj~6o-ksML^E|U2ymW!;`LhJz2Is9u{l;1d6-jzWx0m=A9=0_Mx@%8+!}@f15#txmLDc?Vlh4ZMHbylw|lf)kTthFYgr2%z% zz7{d7?(cI?WX~Ql!CSt>Ct%-J4Y||vHXOKFy-h?cyB(D-yS@ZyFjvOlT99ntLctTja^ z#SbelU0MKYo%0`I^=63^h(WZR+lJ^IW-6_)Z=|xJmpUX?T_!;NDoRvaxY)Esl$uX0i%ExUO$lbx#bS%S0hAuPBn}kvS`c z$`kz$+?LLu;0@&DWTk;iFiHW=4gP3Wb%&&cIuUb^5Q-6s+{7o#mJlpSVOVg+>ZHQ* zi|&~j`0R>rFH4e|HBbo3j83~$m*yTOb$4XlUA3u*Enog!SaDj}Vsj?>Ey}r#i{H-j z<8MyhjRx$u&d@Gq6xQ5|t5RjxgI8r0O;{<*+7am=E2CZ8xe75`hmtw~Rgf5AVa16p z*F?_XpAyrSV@j;z!MlO!-$v>LTXGV(3H6Iq97qEgpD7Tum>9aMR%?OT+S>YFHK2BTy1u?% zr$WWV>a>aANx580il6^e9I4diso@bhmLvPGl=l6MP_e&00Hp2i-@(lv%qZMw1V97T zbc=bf1egZ((VlG_pKWbz|1*;=5`c;qrPPFt>cV>p zDe#RqBve$xx9V>b%F7&WK=|E2tzb&Y{Je^Jny7Yk*>9frD+SwsyE9Nsl?SrGn*sml zJ?!&q*3|D3EF2t*5edK$U}jDL{=&z&61OOLL1FE`N-5>UfRE9Z5Pb265jPlNEYZ6? z6U^AFH8wX{<6x+n_cmwQ@V+z@)Mm2^6Ky)JJTOl8xP$_5lvk#4-+&CjG=5mgTaNjC zHEGsV`>Z%iSa4v$TBg|~DlJ|6-?B2PicrL0wnUZdyd9*42B;ZP`#%Pfm=Y>*@ovn& zFcQ3FM#&|*Y3^*ZkOh|Fyy}W;coEfb{3;_>VkH>6<3OJ5VxV4n2BOj4fqtdBP_8@1 zPwT#3kik+GY{6X17y#@G0I;_U-O=sD0KlG@z#!G=?aZU(r?ijmKZ_ z%m?}aA3BUOAilP#7_0qroiI6Vh4JJs#AgqU^K0mK+AlbqusZ1B-m<6|loZrw^J>AX z|J`;!Y|KavDE(l|x-mH}DdvUvU3av;VNsvyu^^q2{KB$NM_WXo<#RRr#^!QG&Hu_} zscM$pKW|$%IO4R~&AEw1z9_dI)gd{RMu)?wD8#46YmJ@;(|!%CaLddQ)l5vP_PmRw zSCIz+JMm~JadAr7Xi1qg0VPVji#UG4HWN`W|7h!<$@G!Odz)nTw4X3PGrY4a`C)&o zyn?95Qqiu zF9{{75TeVme0kQ8(gYj+f0ek0F;2`G3Sf*w5_sw0C}0kqixny)IajfM-Zbv1c&eMT zeF~txaFjv>aJ*`dRYJuMz;VKN954BcVvlF*` zZER8(50s;a?qD(b;X>O=*Xs*g>bdG#WIYKheW!}lL2~)!-7(Dl$q{~~-i`J{7k8cA z14-LPo4L|uPZF=qP&G#9wwq!KF=vx=(Tyej_$>HI?WEDiu!ihv7Ilg7yr1t5$?Sq% zUj%j^km|!i#@6h5+i_-Q1_+g12KFp07b*iDuJ-J&Mp%~;+yDP)=J=SnXi+yKkWwNe zhOfPFWcq7@IR9VqRLRjBU$w=J`9C|wJ+U;~4P&;M=anDu3Et(xW3vp`0%{&St+SIK9*@feP7p}=SBiRfu)e!1 z?BeoQw02LeCocjOR7J!F#_>$!fZObA0?mhsr-}a=adO`fDVS#Y- zLc?_@p@jyB@vb!nt~qgsMIo^^a$DZE?x(q+FgvYo-Bgn}NJtr1 zci!>D$ri0GR0<$(WFLob@XCbHU*^5;*GTTjl)}H*IK;KEX$yBhZT55bzLod72-7}4 zO4k@1(LYpq+k{p+l_aWBS`_LYh~WdeQ7~$dwXM$w+$PmrsxPvG`Xp0Dil+e;@N_h;(bT_)KD zIljwA<`OqYW_QZW+>zP^+k>JGzxuE|Br|Qn)BNIxW_Ep zvqKGsy+RsnR)`Z?(ty!EA@M%_yMN3AXQ|NKSJk_G;*rIZ%?tXuhi{$dVpS#uQyWs2 zJ>BPP%vcK@bxwu&3%#E`dZY0AWPfs0#zp}_7(WI|L$gX0;EzjlR=lb9*4X^+Me&Kb z1yiX0ZAUQb(KT-2e~v8w$v6rQk+R$j6%N3M=bEccy9Q=;{0N%|- zAdp9^YpMBau!`&DdaCvki?+2gVf)bt6&hHOooHHB{Ot{JCK(M+qs#0$yxl{XpwD}F z{L?u-%MHgeRJf;N8S+$dWlg`;@gI=TL4D&oYE@}ndL;E3s4~85 zd_TP*nZ~v7SI_%nm;h!igW(`bB9*G$q~ZQ}=KpL9>aSTrXokI`i=g+^3S(oCaI9j$ zUyPZ*uyX8^6tc7&UkyxsUHCt_>_4}^LZ{=?l6;D0BCWQxfdMfPc3t()3Zb9~LH(*^ zGbP0ula?keB?Si$4__IOD{Trwv@DHmC zOG=1oX~(dFnV6X;=3U%`kH&p`($mucvwv!FaS*6E@a}j3JV(IBHV;5`3||hyKA)gA zH!vdk_I7uT-~_K_2&5sP1RsCE3x6& zTwwst+*H5JdOJk+CtJ6Qd3v^3hOnv1=S$Zlwtn#u#g8^n{JTqDSv0%WfSuYg3hWrC z((8jGAtAllA0bqldK06NiN&ee6pBjmM2XI1(pELz%(_EJ)HwN`jQ1$Dic)#REW}VYE9=u=ujNcwu)82Hb&yvy4y?NoXNE!WF zpj;<~h@=OdKgBpTrNK15FFHP&$ma&4hI0I9*_NfNaep6_6}~83|2{{7 za-?Y?8S0`c@Xvo*zOt4jxFD=$;VPMgs^Q>+bj(J08rEz@AzS{;+}zc&{g^75-n1sO zn_jOx$v*>WhDpI{Ct~TX^O9LCXBIWK<;h;F`GlTFtSmQ&J(c^cW#9;bdg}<;WRkTz z1<`$zrX_KsmojustC#l*?fhy_Ybyfb4Zp2%3oTLWQsVVtVyU@qQ+b(=Inc&$Sor-mKW$;ruV*>4%12Y*0cs)?{VJ38(FPC5w($6~G1*}p9VwXeI0&~|qu^0I0o zsSP24MTC`id2$L%;#IjmgU=dvv33-efh?&(ZoV3Rd2|=gLn?GcpXR#CF9*=^tMqml zv>w*%pZBzf9t;FXq%SsH+?&3*7VWWETU#Fm@4C5olaY~`>zNrE<~kZ&3x%N}p`!xFOB#&`?6dX1Ywyt{- zo>oeU)Fp5zNrguvSjYRfv0pvhv{nV(YEK+UUNw;im?r zI25-cMT?c%)q-FiG53Gm{dUtHA0R+SmZ7b#~&1_z&x337T095yTPv*=5D%sE+GTSJDy zbp6O(wYihRX1w}Sz^yW&BAH}ClqmIiZSxj;BPZ_?fl1gmf&#;?LLj?!BsO1WkKVel z>Zi6w_Zg`8GS3w?oOc0wptpT zNs>n1H7^T@g1GpP6O#Y6$Sp_=X=Vv;is;y@u_f!;)7ByQA8Gx)w>+S9YAH{itCP%R zE6u^i;Eafp*O?rh@Kcp=FL-chD6gof@7mz(4GN0BLh=6(idC}~_phkwovBVJt+z0> zi4wejKQT4c^?wvL2nxT1&zm%A+e(CC)&B#P92Y-3qzqmiPCF?m$BbQ8>3*79c1H{$ zncfOa)PLYrHt(F;m+N;N{6Ujq1k-6QxDk<&<})Q~3`Q*|)c=l4#JXdV|ISG`;t$9c zzcLL zYpdsID)}GN|Ftq>(ntbW7!(Gbtrk7(EcJkP9%4vdh1dxU;4#QxGZrOCk5?dT3GNz6 zxURl0@~5bo;Ec?etH+br*jSsBBP6MSjKQ8T70x*n;xp0%X4#gDrYX`N$)-Ij&C~Yw z_Ri&O&3O6vY;A6uAx>sIP=2;pl|v4K#xYR3d4ps(7ls92;u_T0Ltf#I+J4aweE09( z{HRvl^5JqwjS**@pw|DMVV=iPN;bH$_-ha4>b@;Sr_uBA`jgDRKZjS+Nys9X2FE6v z;%v4KxWY8OHpy-A2&D2H)wEKt2J&}!1+Wm*3!w8RH_2Thxkpy>ru$J#qeJ5K$dbX8 z9?|ETlqxb8(wN1K0Jg|3$9J(I(@d@j5KzBK;io!Q5;do&E?npthA{MT$H^9Rf;2HKB&MEs## zGuD>;v$Hq?y)|dcChM%KLix<)aS`d%Zo%2Ku|d%t;+;T3dK%LRjth~@{9EntqN zF|IRSobCQJGN||#*wd-1v>B&a!xafuJ)a(&L@?4>?BiZI=-W-%aS2bJInB!(2RwLt zk}z<3>GwM{dyT!dmLg0@cFL7Tr7tdzEozbQyW4WRAPpw@;zN@lBe@9{Nr_nZV{7== z8HT?o3VaopPF|y-p&LN=>u&xzHD|@27r0)ZSco3FQTFl;!gJZD-~8ealPx*X^R0SO zFDkyRld6b)Qdd4A!hjjC8du_NyqW_ z_UTvcyM#+4fJCc34Yk#9fEs&UW18KkVLD!xBu#i5Sg+YKncIABRW;SFl&O$z`8t*P z4FP-xxK;{jEzx&i93Q7v5KfLuP%%?tA#AT`PNiK2x^fgI;ogXJa^ttXJvt_Jz3S$) zrRNG0+$v7dOSdh5x^6#w+#%Fbbvn_Rf^=V#ynl~m;{J|09NuE2+g3t~zSJf%EBxog zN-#5!_jZ)n*45~c0U5>8$y-DJ^KZGi%Jdu5)+E+G$D%ljjnep=4=h+;p_CT(G3 zIiov)?2d=VPlzwLM|sA!U>1hWyW!>|82^acxZpmlwdvvR_0Z83beR8PvEvS*)X=Ya zcfw+@m_A?4>IADN3>XSLYyZhIYmu_z#vb@k7jD0*qmeDC-GY9{osjwk3yDcDUlm+) zMC1e@)~*7a19!Bv>5foa{ZMX%|ExbhExQ;i^xJ$3iLRhJhYV9$N-eS(KlP7${bhgN zYi2!Me>6;g2Uhlr5oK#mRhYTfSp!maJR&Y1+y|+=d8^a&MgF%4pInbEwcH(Ky6nqZ zJmv>WGmIPP%cNywwzu7nKdA~cXHX_VEIb;dVJvQg3-w7_RDJ`{DeVXAm4Q2jN(;4e zXS{{Z=gK?5oc*TlHdAWeam=1V$5&@igW&lB^roGDe3GS_G=}|8-6uCUocrp5hMwgc zX=FJc%@#~o43+puK74S-<8ryD(7{~qG~k6QsqK8BU-6|Sx~*4DXapTk5!z><4=m-3 z%)4m0cDe_e$F2&9ti=x|n^QT9vd`TwwbO>;ADhT+qSS*7jOoqRKuy+aLireSbf=1Y zg~1lL2r}N!gEbLJ!|HO35gU~q>|*2b6PGwHcE^7HBqkL@1zt-hpUAP;>ID~Ca>Lu^ z%s#a}`&c7ROc&uWE=KG>{+s5`R41>)*0&?HIx&p-QphT=ik&WPgb>5Ce8xc51fs0* zXzJM8y5r-EX3345tB)*CHPJI^9cFWHRbHk8tAX8wYxi9}^)5oA1hoDUZfb!;bJ|DY zF~}m-bEvMSCWfr~putj<%7^aYIkuM$`C(6>r$*+iSDA;uB?)da+dq+${A_I%L<+0; z`1o|g98bUpaXNx~k{p{G$3ZH(Z=tc$E34^D!-Lec?RZ_=Xzt_tf5H%853;VR-jr{P z-udB}*twe%%%v17RUpz%(|+=XcAx*kNTwr5VUbLtS?xJCTW*u$eISy)fhOHh42rQ| z)WL5r2W+0hB4)gQ;(rEwkucPEEtTIY8%1+eSx}kkRIE{lp|$MLpkz$RuKI@ekiX4x z!`+V|Q!D|Yj}^(wPhW}DxazsRN-^Y1V>&-2E*+A6po`g1*vGLOp>=P3M?YjlTy6XM z36@prb$zj(c9hP8M5`A(V#R9^kr+Kp6D6=95s; zBP5`6j}9L{$LqUPz{ZpYgU%$;CtrJBgWBMx>#Q6OJyti(kB`G0)lO$3>ct&>5c;!? z_KXgv-e$&F^#0fVQT<@Q* zxj4-ECz9S|;N`u+Sb;7tNjg{vb2ArJ?}hoqn)al|MU%q@pot#(bm~{0I__B`Up$zWYr94a$wtB-``%*eV1|3PLtF2$jjg=&;1SVP?Gtlc$0Ns zZiTy4qNjVZ>^l!Cw4cm42od9I3{rEIrg^c3%JICaDMbYv8Ycr5Csyv6FLjgl#ra}f zp2;Yrq=KaB9P`sN6UrL3=xk%m#K%#cj#@o-F7u();5>^CSiNp~x@{>$q8N0r`mbTK z$$!F>yui|E3PjH#G$RA$XRefcTujRo;}J#={s!hKX*&y`CJa?1@k#merIIUTNRW4L zU-2-2!7tqHa0jc!_*z;w)G`$GwDAlQa+@#5hlE#@+Ri{W|XJDvm3fgQ~~m;*`9?p`r=|GwJxOn$2v#8$a=i)WM%?G zqie}#1gaR4+oSQ_zRNi+XE13`Ug}2hw^^||%yh>WGykhuvmHUQzgRHq2ag{oX(~J6YvAkv5kpC!s_j4-h)alr*xizq@vhuCPCRW{tHM=Z<_cDxJ_XEgQ4{3 z7HL0$-^KoN(`mNN9U|TQ2P(irDejudMfhBSP0x=>0n(n~n|<>~kS_6-uQB!nG>j#& zpjl*iu95wG@`*X8H5gGjf2NXTK)E%SGV)rcVSAH1WH5@zZOspe7tj%Ylw8{H;unXR z{FQzkz+^GIe3no>a4a4kn=u4$#Izc&72R}(>!0d11S#!NkEmkj$aly8!_9MIv&!vR z1xyNPZF+=TY4v82skF#p>WW49CE`i~B)w=vzBYaq77?*A7Pq$~iW#3H4mq8Pk1yqJ zKSa<&IB511t!-`jswMh4oYoBcurR47bz)o}@UNkVR1mr=3|1 z+2+;DqZq8FFaD24x(}BC{|6+D=*219ZD=nJph z`4z&L_OA5uC1=e}*$#%X$mt$&2MtUDZ#&C^;<)7GzDgy*1pr+{GB_B`jpKTB$M+xV zNtN(*CsS2nvoonJpx=;iG-nuju58`}EiWv3F$MZqQcDOSYza+~UtAt2tFw}%p30t) zPg6W90rhlK?Do2sf=*P{XD#!y{FKHZM5hBR`mt&A6kk@;?=2;aH-Zn@F=wJ7m1aWtp!rQAPs6k`$Ce|^=go|wgcT-t5@u?a z5yxT>K%jIEh17m%fQc~|ssGZq&seTn5ZrQf%m>q?#80`&4+~Nr=?l!eyB@S<3-pOx z9gJcEH1~8Sw|2@aM~*p5=6$XLGB}q>I0Tk0*6&1yhM5{q%36w&wevFoIMPRa(cfJKP`g7d9ufe4#w(=nwbKew=mp(_Y}8s)=t* zs(`HYXY#v4nRHffT(Xz-l@*Nm(Z)^2jC2AKx++KhN5qH^psNb1zvG30JF7kR@5tbJ zr-*h?M_Y@Qutdtuq?HNLCupXOHjqS2@2%_5)lSoW;6Fy;{%dPJb$v4%&RO{`9fe`P zja@@n`4R^&@AS%qVwtn!Y}Ay<_6cvtMq&Glm4}^-wz^}bHNQ*I6=CIy#(Ol%5mLUt4~MSrB<<(yRg$bpdM#zEzn!%C z$FyAGu3~SEO>~OY>C9IJ8sN3O*vtrxa5?yxMCXKv9AW;O<3}=Y%n{XGYt88}=SMg~ z-m7|JjRkEC-ulCd95|AqV(RCIK}~Oh5|cL6b6A@yL=!5;kg#iTN0%m^?l}RnmiRG^{VGG9sjv1@~IV` z^h@m$?WU^uqZMXGEzIt;Dd)k!C;8;w!}H`*|1p2+VpI`63$UbjHp3%$auL)&d~>?RG;|0se#N}*QLx(SIM4cMq1k7<6}oT zYs#-zLO5}8aTugu1{w+^e0>F-d@8})RgLqPl!t^N$fC}3xsz$t^!OxV-Uifg|Hfs~ zy4s)PLMfIyZwB=_rsZ*QvKSBz?BD&gU%hT^nl6y_u_JAKAhx&`Oy__Q5P9w=OASQ4 zOu@LJU1H6WFsa;3%5nN|5mVf3S-`Hg&j03Qd$?oq`aCDBSxB*$XwGl(bUFD~?J+<* zAYJM3jp%O5{u{ja5?up8zcFf$X=<^Ymzh@t&4_yU6-O;U1wDo9pJsu#%2?Rq^G$VEk!bM`Qb zR1Q_ROOk_-Z7~*Bi|@|CSIaqZ_Ds+6&H8l)j-A=SZ|8r>v7TEEK3sUPLh~8iW=9j= zo_Yz8QH1+-4fRto-0VS`y?t=b1N=$Cy>P7=sr{FWKLuV^$xus<(*)N5%K-NSGh%LEi zD3HFHghqaU>;JUiN%GuS5EFVcPel>_z)99WIIZh*CKL)3%8J2~gzjAiw#iSoL);E! zMa@?bpK&IaVUytsOv?PS0oT&Wfr(hIQT%7=muZ_t29i$-tGhZJ9`_tuE15HQQ#q-w zn_hy%lTQ9Egiz@Ot1jsML0e43OW%g zLHW##ZjRjBNuWURqQyV@eNu(o)g#7oZnSYD%QgJ!u~n{)ZN8X7v~MIc%ET9425LCC z6pf*-IXJM;)xyqGWfjP6#>-|JQkDRi>cijusq-s8lC|az2H!oFm#3E#-p@X1T}((& zTJDO#aCiHY|Mvqp?7HUs`u|eR!+Xviei0Jrh0Ia4i0U;dYgP$TiMqjO@ufHMnyA@`}RZ z+|6AT0nfMZe<#u+es<=kRk`~Vt#+%_8ZB6SS86kPgU)cdh)lj)je-lfr*#~BKJ|LU ziFo6qtBush#an7k7SrhgHu#NeN*5g)##rHx`kalLaS5v7)SvNO0#$^f8^RKkFEHHR zm4fXr>ApDQyohC%o&*!e>?RTs{Yo{Otj^n_B$iUOrK3J=c%vONlcJ;gOFcrvkNl~U z-X~UV=yPC*5Ylujkc5hYp%& z`Qq&$5BUs($#&lK_Q@CXRbJ*VjeIG{G2aVt&f0znV9={a)NJ$n-Ey#ZJk*>tu1&kA zJ#GnYJu+VI$0+Gf z+A11O^kg|Ie_Y4NQF>dqez|`ib*b17_t9)OU}1Q+r72=FJCp^n;oC>xyTXEGSt>Al z$)EiA1>MOQr@4a?sMt0WnjW?`U$>+}<%o|B;9ur8bFd`w?`(=LrBTB`$}ttPkdV1;9P~l-C5vs6a?a&hPNNT z{f5S05K&o}om}eSS%FB;62$r@Y2^A|ThqX%vfSCZTky*}Q5SZhStvr9KuYe=l0IqT zfarTh_Q=_CwU>{olK-yA8se@s5sM_oq&#S@2heu&=jd3yQ(eMBIHrE~%Tn{kdy#Zb zvoStW5F#Xxj3VT~p#G}qefylgl++Whr_0K~nm@RJNK4JwNJ7b<7L)K*KwR)SKwGEF zsIm^BjER|qs&|ecNbHaO15|z6xq3Ed%as3xA>$G4qgOPE-0!egY{ed~h6R;vyyug& zXYs#dJEZ*|v@A9B4V8?oURTq$eXD;T@6Q;PX^w788-`o{BOfY42iPh)?U?P9)$#ew z<)2Y{x=yeU-P_x9IYoiZOxJ7=4iD2(QwJf=I&zTXQ#pOE4)ECoa$WQ9PucbB4i5el zEB!pMl5<>dPcibvj!#UKkoM#nGh2fhnr<`|zY>mgvA~KzGPw}-=j*Gk_F)u&l$>Qr zRM6^fWr(++MIFy{7V^@2D{|A(qE*-<9avqiJqwLUlvnwdzWPN`{~{2+`UUx1oXPgm z$=?Cn2dA+`RchAp*qWaSjJ>6jh@N^`IxrX(CS`XUS*!d%MEO&-j|+l2hC|iig_ALy z?R$~6{lv*D&s3Cw&~3QL<$(W#TLaZ;>=dcny{;{r($3%cvx})(6IK507pGnaB-!55 zNiut>l^3t9tb5*ALU>3kfsS{=r0s>IIZuX;nofumCJ)iwWFx8G6Ugc!ajCUitnp{W*~8&xnD=cbgV%92 z_M-ljY(10}=H-E-QJ(@a4g@8coPI1kBKAl|sR34OWDz|LJ-Qr!fE1;z?b0+(O{q$F zD|5~&CF8GapEU9SPz}}|*#lM2_NgDUpVptfd}qa`(w&aTHMlUfk~H6I=@yF|%nl1j z!8h$HLVwf=`<)NTzYKU1m}gHLn&DWMmf@B{rae=oXsDU zKo@)W@bc%2oVFWF;?Xn|(lW;*iYQjS`>|rmy++a2R6C>oRHpT=AV>5tuHdw|I}wvz z?x|M89lxo@fIp%sPjNtOt(@Bi`;MGIuT)H?X)pQqoY{L}){ewsdSCS-ge{2WX9YxL zy!J+<-{vQ5`wsfm@%usR*8;Yjn)1({MamXCUZO7_m5lCdPG+*nIY>@87l`8P9X^g5 zKMH31!+;Mv3?17@igvd%P`Jwh^*6LOzwH}Qt2VT26yztTu7pKq@`#VU+7j|nA^96T zhWBD76jR7|{j%+HEX>bsgEsr_F2?W@f_Xets+|Gt7Q_aWJFsGd*MZ;;eaHck+xKy* zJEHNYd!W$OMDWV(_WXjXnhIc7dG6s1xxI@#&z1@mW{aX9QKmkCzwhSTBl}@$f<`0?W<0}^FNXA)#a}WBTwb;;&smM zQFFiwW$}B8c*z~z86CdS1T5LR4a)(R{$n}9*8(mK9{dv8AFH0=vHPu0KJ8<*pHv3a z#^-{!XoikpvZ>AAnUH9*;KKF!z;Zc@Q(^Py^%|vbB$0{V@$H#Jcu*xcXfECm>ov;8 z){#P0F+=tX&f9*Yfd@5M*G@^uUbe@KuyUo(fsYm{;Lsba$p1B|9sNn8$i1^f8V`#= z!+17hU|l?;`Db4`%27`&1F|-1O9o}7b!~h=0pD!ruWRgJNMlhAg)lA)^jmh8S1P9? z6%mt*_zi`xjMjI+KInkLN*paGuv2tz4N7{dkgcR_;z?^C-|{RcT7X3_HZucBzCcq*+gVg8mr%BGfnuO|ao zXNYFibr(YCCpi4HcH2*OL5qG((J$vsL$NLxdf3AJ!LWBl^BVs|S31C%i=X>6IwT|WKBu`(lg!JxTHktk+sx0!us#ucRT9YT=SGEfGr57|&J7cYl-TE#D z>zRG@e|>dN98Zp$3)hMrh@}wJZSk;!Bxu2f=+*~u?I6X?oGBG7jTUI6ieFW6HjT#? zGFDuH4gI!^AG{y2uFDsta>3DX2y`^X#D8?GP1>F!IQ)FtCeG0lTAxiP`F-;3Z^%QFYbAweBB z>F_rbK-}(z{bP3X0Yu**%Eud__jnrS_b|C%uHTVD;amEb*lzFdh03jd7JEb4ICF7n zI4w72$X&~3v5SJ}a8?mHu9QioK*@h!rE-m4j#HMr>a+!IZ$#<3ttPGbTox*ly_Y)K zTZJ*#{sh$B%fpfv9Wq%PJ+M?*`iiPlq07ZsT)^cm*VDk`55SxX9L9{MOM^G0KFafc{L z9sJV5pEeHK#dD8sHgMd#;(GKxbjhkF5blgsG;fX(MW?PM5*PG_TyFFuD|bv+xh8bY zoc<}2%KdUYU=YNX-Bn=f3(z%?Xv<$LV{Z%;(&+E!WFFejR8ki(gZ-}Kf^GNvP)yer z8LHz=$qji}jDSwJ<^<2SDwkcXty5dnWsSQ}Y07op-Ji`Z>;)P0&?T?j;Ug`7em^3y zHB={lm|Z2U6eh10Cil(}XryIJRKmq&pMPqqP8TuXobS8uW;LE~m$6$*&I-6)pbwt7 z#&V%o(DRN^Pd9HSFE<^{DWq;Ws7!ZC6wGCC&KK7>IK7mqfpLb0;!_gJdVR%ZBDu5F z%~7QYbc)d=B2rCFQE>LgkAay+l(7E(ja242SiBu{({@@I%Th0e;{B9QcIr?nS85<01 zwR=?hMj}gb2hVnVl#^gn}rCS1zSD%d~4i8b__zW;KDtoN?I{Wcn#-=U|AGe2HU}VkDD@+Xb z)ww)(2VLGK!1xf1KNI}`+?JE8!m9~dE*qt;+>Q^^9eN4sGIpS#pFS?ZTd6$sTg1pB z?*0>%%~+!e2JZMKm-?nT8mYZTbCDUbckzsxzOPSTMyhwKj4A! z`VY(`=O3AtFl9TT7$*CZrZ^?8cpyBgMpe?~zz;<&9Wuj;U~-qz*O;vNhF zOlo~rmmhXv)gDwc=QE014+fOGcYq_^c|FRGp9avuF@p9zF5THp%#bFAUsWbR^o8Uc zH6`W}rXog2Opykusyn%RB?4ci!f|z37$jj7o?L~A-eJlBzD?pXB5Ein)$V$G2 zsse<(<~)gI@P6pE@!Bw_iWTyDGwys){_15osZg51nVxKPE50&xnpn6K#6;^ppb;c{ zBNxxg%KH9vQQjg|lv1s9tqTpc|3jY&R~7u*J3;K-lAVYi9`T zQ-KdaQ&xxK!#XUF;uP%#c|`WFjH1G`P^mX1(tuB@Jfi*#kbs6LmkSA2ST~Da#nYc& zx|>ukdr&Pz)XZXw^Gv_HsGff&-H1eB#6&pn2dyt^=IRO>x&I6Il$9mXL z@_N*7QkgK`siPL6i?EVd?$4`D5H(^hm$6HlA~6|oqGfRndm#loJ0y0i6#CzqF`wYf zcFGlx!!?hpE+$|wOm?k00@METY$fgEVCj0zu z%_?A38lJC<(8>^p_LUseB*@_6u`lDVcLE^^mFTG_9e}C%t-8?@xgV$DGmBwRJdJ`)I6W z;r}v+UGUGTPWDEc=t_^3LbBT(cjLDkbiu{TO=Y(PciF~@RfiKN3UCsiE*VS3{Iw^_ z@hm$Qmi3VZ1v@hCTOX2O^C7!BrRFNn3t(JghS>a4U#;dO8eDku^s}Smni&FZh@Ln0 zPP+-@NkEI+-`n`%pGs@qHR!@oy}v%d>h52%e9ZiJIU9 zcgCm;^1?{({W2|}e)3>@6JzBT9$ZSMSrykD+W2(y9wc-p#9k>&$LWI8y|wc9;%z^B zPk6o=OO6nN7*xskwTA!Kw+=$X3z41X4xzqo$jQh0JginIU+$5fL{=!5!=P=KlAYtz zcs|9MN{ZEyUXB^v7r(beinSKq87db$wAdGCDh)O5D-mDon`4haQ$@_sQVcB0LHdfS zz1E;1?8sNAYWO5vzAqGH>fCNuZEn{^pZeCHiiSGYHx9?6I0f}*T=53~GMzJT*jhaY zKKF@I>42Us_yt*J3HnC7qt6AB;$+~Vr>a%Kqf{M#)+wKPRoD^fEfG;9pBXbJ*09hV zi^n9DT@?-ZeyCcYEF0g-^dlyBSCt%=ezu~`r zuib}7wmRv17jyqE{qyyuR5#<6&8W@b*4;=NR~S+Qu;1n2vXd9CPR=sTr@ryKl2+(1 z8dKijifphmZUrQtn>OZ=u=brzZ0F(|nH!$APl&+*+d^gFKF^+7wocEfMCsaFu1)O( zMg{OPT(~@vEbtU{oY9CSf*LfE!OvfnFO<{ zRv1WTo!g?_LYjy|9yT#%&dTtmrgZQP>N;Z|=4Bxp*K)d_j;5BBmJ_~~@^-2Se<*b> z{Sr*yw%nc0Z%i_;jly*nH4?hMJcc&>RJ^bcM3d+rGYu%us22srzw&F}ek+&ubA|^j znttYyY$%*8W(;kr)0wbmqSLUE^To94Dj}xHnlb746t&ZZQkoUYAv6Wr+}=V1VbM-3 zh-(>>iD~rVk!%JjC}2Z+=3=GUa%4~J&Atv(w^`$1(6f^Sgqn93`PN++WR z?Cof}mbS53I%pQ{F zKlAsI1@>#}!wf3=6%IzKLwxI}jaMVv?-8NO#L}sNnQ3c4<&hzeA?q~jPs)Y*8MU}9 z321<5OOrGXE=;DtK(Kyyc1D+U##@;c0_j9`F@( zb(@c#7#nJ}P9L%xS?{&Us2NaFpr<|g4=o~WA<5Z#C$m?P%)H3$ECB0dICo?mKT<<( zy(7EbE>`!4wcBJN?(On^?OCuStgY*uqTuDvN2&|yBdHayBQ3*@9Y1TOw5~*^1TB&X zmqni%vMfe-ir$fLul82B=`{H@G&SY5p3JZc>8iao_|4pHxcqECI1}(&I<6}=vsrU?XX=Axu)G`dzTDC)T~)qfb8$b+LW zu8UCjRvc6kel7##iIY1+p-gj-w)N+pAL)34v;Pamd3f|qNo_=?>pxwjba-Sq6#ZD5 za%%Hf-7aUYI3+G)@_PM5^pM%;OcC6HFoQlU%ajKIvG?Ab9xwcoch_L)W`ibt>WCj$eR(OPZA}1J{{f)^jTDjemD+41_@J|MBa>hGSLd%p)w)UTm zd;28o_cu&4`;^Sr=9?uSuWb}X0zaAck}X^>v3or@lu!a0fX42eK;HeHrIx@ogdYRVDkZuuY1St<3Wvhd zeEfX6`(5^pbrY(PuxK3!l`r7jrE9WxammTC*yYZ}zNiq~EAWt)RGL_^tdB_2GAhq* ztjXB$x{5iiX&uqu5?>oBqwFmm6?{81}}1E#wx+x4q|P~b_t<+_FC zxQ-s%hN6^;raQ$1{eO4wPY{lb-tF$`@8AB-JhwKnA9HbWVLS$1#tnB|Tk8AuEHtuf zwsD_jDdft-XZ*p9u#TT^1NZ&#FQ&`X+6{5GG+d>S@n*abTj*=7w2|J9=H$aoHm@8( z7o_|q77rJR@P;ss{s+&M`+PJX zgKX5mpJ^gi8l;g%_Y90*Oycl6@GmqRsq$WHpY(Ws*+nm9_Shy(7S(0TY75izkX>pqPgE{T_Np_F7}$iWAR_4xAV z3YTS1cXz~IvPpY8mZ}Fw9`efJ3__q#EmNw4IF*&g{5KyfD@~SCwSbu1P<7PYogNzJ z#9?GyfQbZs8-a$ZLRd7qaKY2_9imWQAt6?f> zYGh~pS>j#Wi>U|iB;N?_1!%Z_mdg;?8wF}t7nek&&#BkkoLDZW2=b}tXE!38muGsl zM{zy2Y{>DI^#+M*{jd1`bCYCjh?U*pD_|}F*8HNV;OH%vp3x(Q7o-UX$)*f!qLwc z`z|*)^|K9WH|?u)5m;Ze{l$&5&G=q0dC85{6t@niNWqW1QB>J+`~K%CspuPRA_XJh zV&xb>Nvfbw+tl;Cmv@DTomqB0E{s}$u;c5QGlCBYN9J)-COX1lvkmJ$DrYu>@gJvN zx?>3-pMkh-%hY848O-oMrdRm~9VtlhN+{N6kCdoW^GPGlmaPe~aIDYBz+j{bpoZ`f z=_|^6^^L;o;I}kGCCpUntd$`-^s_xPI-{*e=Y;e8E}fOCj&iJ*-UU-hNp1mj`8r1G zy$;y4V9gkNCeWOLSMU{I7@nX#orHx%dH#O7L8RO=6g1LhUpiZ#%IAtq`trNo4BOe; z(|^8hX9~ln+RF!t)KIc)h3&R(haYTe6i5}UXCATAY^}Jq5#mxv9wf61Z{|BcPU(!c z)Jx=``n=;n+Ih;2xU!B8BV_`yq3+1jmbliOh*q4{FDVXhIgXPbxIOv?lJN@{YcDX) zV>S6fv;p5Rwk?DYiC0=;lCMS`2U#}1#->$0Nc&YbN2+D9(xeeS5RNj8%|v%rQV8bL z(#tRyl6zD}rWLgiE*+m}8cuzcu={+pF7(~*0s{q;Ofs=JAMm%_-N*!)*zow>nox^^ zTg^yUEVyt~fVI#X=}F$%1cAz4#rENk@_wG4(v?xNW5r|>x%K7SJf7e`2rqrMEovyB zj1u4>7hWxYm7hh*6_d0(H>gJjM{m@~tsZ=3LZxF!KAT_4R>I=aa{z&&VqItcUA~px zcc{#(tR~UY2<%?u`VYu!1E(B;v1qC2+2PZ}jR0zbA{uDzQ#3Ro2O2F>1+_^MM5`xm zZ7bMDxrcwGb?mc@_=Fq6X9^RH?NqX@IJjt3kyFE)W7-Ep_DeW#-=|Dwnk;ZW)B}zO z?WZ(Ys$789vX0nd(B|~Mu9I@VlaIzer~Jl7&1s{D0N9I1Qn$tDUi${ewXRr+h;moI zsk!IoYcd1b+H-*TWrwr>TNh}QV2dA5%gW7?cEcVxEaRUWA_|f66uGZMx$|v5de4T$ z4wrv)433PbAcuh7a8?~`b22gxTpNUK*M}dVog>xYBtl+Qa9Djq!(2L*NBJpX7JA-I z?it~<*uc{xqQaYLU8E6<9yYL4leEHPlG!Cr>@2(8&duSx*2qe;tX;6>KKhZ5N?)ed zfzkPVn&hl(OamZu>*IumA`C7F`+1dQXQVIb8DCYFx|FJ>7Jg8f;i z$Pc6rHpjV2k?$UU#R(r1Jo9kCWh!j3#a9`-W9L>#!Q%xmN~~zA>ba+CJuk|g@0204 zMw<u8xj^kQPRBocFk-0n#~BtYVKYUJ_HFxIeER+> z*GIUGyf}A#(}r&9w9Y{2UJ9S%TiSyfZ^bLk;US*$!+jCSk*w~IyuJ8pI$d$W1Wj0^ z1yA(ZUYWUK+{j{+$neWdDX6dRaH;2u<(XhLxPG4%eh+dll`I3-~^-l3gguE%;_YddGkpi7eUiWvj zv~A~y(?hXEcV{)Vv^3^d zLKoLw*c|PMQ0SADf-4xck7iVjj6jQ~U8eTM72xE^F7+V;4A_Pm1AaGfyQpDLA6ClD z2)6w_D&~J+pXGc>oTYU|Py}t6XcWwjx*~`T03mgXb2p5;$L#l|Iyx`!d6p|Zta2gx zg8i=#GtjCwaPP}YC27h0CFR4kzKo=$5+NZe@mj?9j^qOhh3um3;Pnj6Ya97+}2RKZw) z)z0D^x`#^vTXD1i!NzNqjIW7h*;8vl$wP*uuo>@uhu4$FTJPxzr;c}GYzjn0JP9mM z+5X@V1iO4EGNxcZ&nz}5_4u;@Ctv$NZHGmFECtdcdzFedao;pmQIx^!vUddOXvk(k zT5GL^2^$<2yYi%>TI&9MnJ`T0ZqUKr;II%-ljwd6-~mV3s?cm_4lIBBF3kWmlqv1V z&o3<_b?0w$U`Je2?x?zbwo6-_;s3b>v+bGGm9x`FLDk;H@$U!J6*ElFId^h?iu}fF zWVe&>SBwT=ycwcMF={%$Eo?%eb%r> zu&s<$`nV51OT~hgxiQ;b!8=z|$Jcg^OltMC`ebxF+R0lt#Ckw6e?WNg^OSj02S3^s z$SMT9mON5huHRi#$?j})N`7uRYot2Z@f7~ExsO^~f=*ePhYjfc4LzEZ!+@3hN_ad5WL$fZ%?(K!jx}zM_-Et9q+6 zI_H(4y;uD2b$9{IZikk+V4;-EV8O*YD^U_=W~YM@YdrBQGXKhn&Zx=~kIAHPW&K$K z?fE(EM-ASSBXnY;<^y@zoL`xlndK54z|Upw0nShgOnw>J<=R+w=+eLv1yiCl7UK>-DIwI?yu*!cA|-*tLRi5ii11+2g#CT_{Tf-8S+j%@bm zq-l-NUj{W#fN>Uo;gGGhautA_`S5wli0|L9!+PJ-DFycWF(voB&e)`O{dv*srV__v zgBsc4nu$4mIjyb!Hu%i8&;tV1YvXDC^7-j3;0d8eD%T6+n{5xAbJE&477a_2xU^+m z9ZMl|18czhCTE9lgiYuX9rx+%>$lM-a5=y8E|a@{0|&iU8Liu&0J`K6YspO7HDO9n z*3t}j0PE}_GGV2;_;&d$aP(DRz>g09OgX!Jz4jl3q*2$^z};uBD_-os#R#g6!A9dv z(ZImil;>+KGI_1PF8(SNUuLyc(~&|+X?p&no47BQ?z5SRUTUPkZi z;8HuMkMTOrfxjBpP5QQR4P+FFq<*8zQ=9!Ed(^$ivHgrO;ED(j(|HO7! znW0wf5j=ZZIt7d~n*70UpY7w9%j`~!e;5UVGxvlWwc;?)frl;>!A>aY-cAsBgZf&D_FDSDq3b0A=C9+u9`aITrMpU z8K*5#tsc#A0cSmdw26(u%)m7-`aV?mD|kH_b*{**Px@l(;eV|5RF#!%S1S=yB|mcB z)wq>v{mCC&0Z3_TE@?QSQGagR?ozy>c;sEHwZR4nUlX5oJVOBs&&v1f$e8Rm{|heZ zIEWQI{lLaH=JSx5&J1JbJzo(X*ARsT5X`*4V)s|LSCZ&z!u z!Z8QiE`rj~MEw&})^1q>Gx3KybwsRf{PTU@3_3pkmCz0}?rbWayPQmi3vrKTeXUur z@(sn}KYsY@`s8&-zBkhGga0O(Q_{a^Uj@Bhcr9xQ@-ac@qVGIGRJi~C?D*#DXq_B4 zfnkg?NbYAWS}o0G!C95c zKTDkq3OfxrBqwL3r|%OWbFjggYR<+oZ)pra*mqYIi>i%^s^9JD?M1VZNzm^P3BI@c zvIKN!R^3NAGi~b%P~WjR3#~MC-}%%RPic1;o4O=Hwa@LF*owv9YW3g zk4`W-Qx^MAuOZk+iZ=7y@3Do$fSH-1!HU?>F%FsZI7o3CJupmnxOZfvUc0myj0?n1 zmt-|vVBMiEiI;yg5?$rqNl`b*OjmmY5gGe0KYl;WV8+`L;apH-%}z zWyaXKXPGl*U{Sw2_z_<;Y!HK!BZBVk=r4AfB`sq?xd5{BsV8IVftb>7G>lnuRyS$l zt44D$`Z(~$?jV!qedt5aBmP4`5P1xb?E2~CWLeEpd!N>-OCjhNzdyjSX8X})^WsY1 zr3;*MzVOf7yr$83#V=FbI{X=$Kz_2B_ZTZ$&p`QK-Sa^c-6meu2UWZ}%0o(>U!;Xeb8Qqi zzCXAm3ZE_A5aa!ehab0;Byk!l$DJ;V^TBw{hG|N2^6;vCmo3xtrq?nIo{oVn0%&N+ zF*e9p`3_bsWe?k{G_@Pfp9SeGnu((xZs$1X^Op=GBZt8)LOBly0a!lviuFok*U#mf zml(+54*-KHhH}MD%;X%H6ywY(C=vQLd+ANT4$U7?7%zb?)2O5>c!v(iP z4vzl0EmvEVHz;XWg~m5Q>Pw!aRI#w|n|6lHx=&wt8gGQOVuEco-QDbL(xr0EV_Fow zCaAUQFhJjgv9BU@#!&rqQ;0o;NUL?*b@%OUX~cbqV|L~5(Dqa()fh3**nlG^ zQ}R@Y*s*S`sPTs`?eVAXncpp3u~BOVaxs(itmjM5w0g?o;u3ZJG~ss)?zLUn5mp^* z4)Ifm*wVt{w6lYMYfmE8P6c)39L-sCi?A$)3ya%D<~f>^fOvfSZduPj6 z)v&ckB(it=eLPh#rN+-xHBqCK93nEx*%ja3T`d*d^`d7OU+8C-b;X!JI}Sd`uZ&RG zg^@MiY>wHxo6kb!b@`MFjYbme0!zc|c#)sy>lnXc@slRZo4l`Th`pj>LL*R&D1idvo<&$ zg7R_xDXqBN@BOh3wCv@PoFbI1&qFHgHVB2GQBF>u-1fEVxD7Hn*Pm*oJlwv(lM|1H z_z!l-I8&E3^dwhlE^1k56687_gEOasI}kOA(+NxHCW@4Fg*CW&cgT37QjpA)9``93 zKYU26?;2Z5_e}nz)hDixP@7~8|F+Z%_(B-rFswHvb>b{DHBRk%!gXI%kYJ@<5JXDQ z960m2A@-Ef3GI};gbF^=nI}hzJ0rb8L5$p}XGTTjppi45IH$Bqk7dMx&bOl~~5RIy?i+VHj zvq_o%@o#Z7^NKDDr(S{e(&8%3AqH;Uu~@vLJ#b9zUMW%Y!&x6O^ZCGK2n^ry)53=_ zD85Y7wEV>P9L75#ni31ub z6>Z497Q$|&- z6$ zlW=h?u&JvXr;*4$3r13!2MOlSH8Y64OyTSP=J! zz-l2mcj-hzk>!t(d%Tqs4R^qwGoT za%a5~{R+gQ<)k4sTqzAKrv)y(D$Kt)5(zuHtdn!Z=$4k23kwk&@Z=)GHk(%PC;TgYlKs3#Jr+z0P;a$5M)Wl_qR%~DEL zKv}tH;jA;0^mlpsE9F0)GShe6#(C&tPCT-0X*(ph4T@li(5=HuUr7B$Hv^He_8~!~ z)QYc41Q`*DYDLjkebbXEqJ!7FS%THY0Ub*3*yx3?svvA}QAhHZBk2n}M3SeIfwXk* zMxP?_&Zy(YT}LwSxhLG(z*$I%r;#PT22aA9y!DBNU;g=~OeISnY7k7@4o%Fen$_*c zCp0VQ(jKSw!i{c8pI2WD3|cnZ864a#+SuZzS#=X&bSC6`STw#wHJkopz`truCsZFz z=_Uq`?ABLRkT3h&uv;l!M#K*HNS^+&I@W9)Xb|YDRXi!c9sn$CGj)ONcFM(xsaE1D zYKQ^oJs&#mj2_(+uSx$skN{5+qFpsevz}ePfnckf8UAkLWlfXT# z;<~O0-MZW1=XS0X`N+AViC@e3y|Xu7*ihbI3Dxoh$9x%Q7ykTTUo81GI4`!=<7x+M zqcGvTbJ~55m;?x{L|haajl9@PFi9V{$m~otv|1LnH0KYe*l@M?F#qmpi^4g#sH!xx zq9A5TI^g+zZ*T99wvwETE+1~wr$F7+>M8~bKK3+5SMtKY%iG%rp|Rc%{b*Q~8=1}C ztss?!-`>@D%#)}^4k0Vty!OB5JSjKvf`RNk1X7Edh3gIoSnFdo*ro}kb)Z`uS!2?X zHmk0VLZ-INKhCtyBGc4&1+_o6>r!8T?L+S5@2Q+{Nadc4qR1w^8q$Zq!E1~H zc*^z>lQj?k+%r!+&8DVGF6prl%J@X9`R32&{oz;cB| z{~CyXrf@QKvmRLNpJfs$?feV&DP`nz;=5NjTV9&b2HS2j@qUD{wIIO=0aa1bOt#b* z65&9-p_gBndMP53^!m@JlfNSn{o{_AO<|=fH${nQ!tRx`OLzDR=|bHZn30MJ@K#cU zi_xJ2LxNp>0D4(67YgqV>DmfyrnkZpI_OgLpDgTqQr(G68~S4BX-KH{p*MKIiEwJK zZYZZoMQQ&?^q|Lse=*MetK*egZ^ceFlgJ09Nv9#Xjrmrs$MNCK&7Y~0=WKxqaDw3f zE=j288+cY(UWD7}3JN=qFN3UR@7SS_JX=;M%yWvHy9FylA~y5bpn4XC!-~2i z20CV8Xs-1u^!n)iUzY;GXkU(@kAPU}o^v_CaK0uSRHEmxGIC(f5Vwge!gUWNfKdvtQXP zpLGgZn&Zi)qNsY?!U8OhXLy>a<81kk5g;-)$Aqu!fI%XmqXzUtR$sVm=2maXh`&FX zh5!LTo}r_B&}Wr}a_XXaGPn#C(+^n`>JDC@qeh%F%I$96=#0aFpo_HeM`#yibN9mdF+F~ zKZSmwN~k|1N8p>C_p(~=1t8KBSy;`FRIGDw%xujlL~HORw(CUvd~l{J3k95bOe^5a zzl#qgDgXQ_>=x=(86|gpPhyl6@uR%VCk!DWh{Vm!RrMdXvc>vE$$9}q;|U%21+YVG ztWNz;O>uLmstPm$a=*^YvL8G`n{wXYPe{hjU4(d2tm%cGUt)pG&%sT8zVcFlyZz%s zp@kauvao3iH^N;pLim*@bGwdLFWiqi@|22bk6%MJGoDHqIu1uqd-fhNVfGqRt`~i; zR8W!)qQCDDS|h0$7of~{o!;MOt($k~AU7vAD2U!J{nwkl0*TZR%@pZ;oilgHua!VNR@df3FD}%xP#&1v)NSY z2<`phPOV4jH-b_xwOO;I5x$y zvhQ>_FoD3jff85%@8$H#@d&BwR?eZ(F>iGis>&^V|9_=NN=mxx_h*h5Hre|APgop|B7t6>H+y!f3hw9}{wmE)9E@M?ZZzae}^SMN9K~8*X>5m`B z$R1%K+xv5(&YqmEC|mf%!AV}f7C=zEM>o3GI1(YQn#Ajl4|jqUKgHAKA-IUQqk0JD z*8&rW%uhoE1Xtp%lay)myEs&6KgUSv7lZG#Ax#u@x1{S{rISL(?Fn_p)Cf}FWXdf1 zCc(dNwvbYUDB{7tA--eO>g^2O{GoBPk@Rh3lsoa*@JA*j&LcjaW@qk`+VvEd3AHG+ zl5C3`sF}Kzt1cIeUA5P$!?jmQZ6sBi>$_uQ!Z#xVeoF{ROKtk+W?)9A?YzlpW2|!$ zgcBe{!h#+L!4`{G9g&Mqp+N4(YwPP3o{F1Na2#F&>pyav=7qX)So})Sluo##F_6x8 zD%iW^rI z8GR+V>Tl+pUi&j%xF~4yk`qXJ55Wps{|5o_l5YwGGk_=4(K7I^eQ$XoDHq-nH8{4- zYW6^FMvNT4VA$rJT}9^^Kmh+(Y2zZtEB7;D{6mC3k!0>6Bj1m5GkG$Tqb~m)Vl1@QzI@D;C-(Z zxAlQsbDepp!SLzTqfe4ky%lXvx9c1N*7+sONlaDegO=xVxnVpdK@8y)WK=u+d{Li+QH1@?xf84XA(@9h_RU)M7sup#8nkr-8ebQdTv$qejX*9SXkrcL| zatwH8F8JYek2k%y2ka;dNrm=a?kM`yR&3#uw+jr1H+Si85kgZ^)Me*|0~aSUP$GB1}tai+k&C70v z=B(S8T*yMsFbAbZ5w45jogP+n)NRFT0_O@Y(hu1^qRz%B)bx*ZjP!-HEdT!IQ=t}N zD}iPTD|_gN1w4TDbHs>NgvE4ag*6o+D?=}SvWFJ_!>pz}TkTfv`HBK{^YWekC8 zAk|%EA=fhLw20qbmKe%JvXMX@5lEfCy*<6Sn06J@v2kp4w0Ci_N#j3L4mCA(NOLpK zNn=OOjoAIgrlPd8G}_d9XiGs#>8t9u2Yaf44;3>MG^(|>)WAKe#tP}WMwiD!KS_x+ zq2MV4FB76O>Q&8#S)g|_Q9xw_)yl$&1;+B^Bnh>ugyMe00403ANj&6C%Qu1puyg_u zI#W*l{;OXH0h7O{$?d{1RM{v!=FPnCd+HcyD+fTu&)Qy&qxuV?U zvdch_)Sodx_WxmT(*Hsx?psa8XsAzgFfzcUL2+0)a6$}_4jsG0qob#@sB~VD&TDl2 zGul2d*~q1GP=(luf0;Hprcr;g@9%ob@Kb9Jkcm*d=d3XhLIu4ozH=e34eO(u;K^`D zI7D+ATuvX$v4xXi2<}E=F-X_=+LmuE`QMLsLSoaYDkL_!#{4OT#v#!Gx5r-OVX5A= zwhqW`GUYKeE1Vto78THD1crY7LC;V;EC-+~$;-!6Rau^Xn?#Y~hkm=fddOvKg1rEL z;$O=Ef46OnUKk{#cls%#Eb?O}hjMSe*!Kk)pfaEsnl~8;dwQnh=xkq*!WVD_;fMw#5kK zE|%FhZfPbc+`mVc>$F^_UEg)u)H00Y&&?;)wK2rNw#8s2Nulc*Ql?9d~qw(IPO58cn<$hgXrbbUYVl6J3M_e498Gx z0z5D1uK&Bq*i$E|PENB}2m&5CE92eMSF@(5O6N=}R!o?k&N<_s-EEm!5#c;)YB5@+ zK*Kf&@vY3=XttIY`Pp+C+o>ILG{{C4$Y1;rC_?0wE7jBw)#@tw$Hj-!&y%dGIa8Tg z7l2#$Y*}P(&$T^Qv-4fP)lA&~yR5T#sbw*LcUYHyNCgJow};*oo$s9|HuVIjp8iB( zs7+X2izspr&@{dXs?A{nX`Ora7Z)d*@>fL8Y_lwyz4Lt(Pkoy=3k!%UvbJb$pq333 zEMA&4zCl4+D(@-1h1Um2PskfxLf#reF}QP+ZM^+h6jzr(R_XAixVXT%Ddt>I?j5wL z$v>Jl?CejRpO7zfDDMNA=Q>S(r99W=kGR_O(ezpiHR<%Rf&K^8hu^-(-}zSOJMxlM zx!WO6&$Vi!T<70q3#18b0l;U6mR%S_!mH`UXgS9CrE?aCf^V|s0Ua% ze5*;B!9=mS7XqyNp(qlTsjLh4hvu7;o#L&o@@5D7kJo8%qDlr)B4mGZ?E~wJmkN{T zP-KYp9+)FQrOoJMae$$(hXkf$zPYOWOoP*jXrZ{|^4t8k2r1W%CjAP{$DEQxhyOjwOGeUu|~ z_!-r|A*t`=W9V7zSHAiZY3+uHvdH;{_)PpY-F!nEDzI+x`rX@lIe8&sk@f9YtcEFT z3_;m)iy>3mHS(jlqDj=<5`14-NlfbB75kVZ4CVL77PkZH+v-?*m+xGJS~aTY#%EG+ zGL!D)avyI)u_ilPR>#&_v{hgaGP+|;>jo0*XMB84#zaV_Pk{GhYb~FF#TOFD5kQcm zOUk@E$NzZKRRLJJMFmfw=>n4*BrQ;4Xdj6x>1se9YzH-e7;enwFi%D%juvNA0lf2f zDFeRizRhWHLb`u&9!?>IR1DJzmqiWf4g&eBHbRTaG2_)Tg5*G1OBa;v5&S-U*Md_0 zQWA-LTLl136Uk=eA?sRR_$X7=)zzR*ypEaEP}Rj=>eFnBfH5P+0dmCsg_)Wp$4#Zy zcoach3a3D-QkYvrXQ}CU5Srt9!A**g8M?Bdu416>1DnQKp0oNSgn0UG=|O@^FG*J} z-IOM6!KAwFTMQp*TV%m(5xaFcl3wQf@vdX<(A%|K+fL2|}jc^S`p!TdNdYbc}og zoh>@=w_8Fqe}q}>4a7efsq2_Bkt*BLmwy(q8+)Ones|Th5=(w9f_uD@m`(Xc1r)X> z4Os9c%d6q~tLgfk3s=q%!YAebFvAJmu4~y}$!_p&2g6oE$_^OM1F-1XkvtP8Mq8&L^US$1uCruyN>)P{ezlv}#_26*;6 zoC~En^3JCOo^Z?L@7O`b(&6#8)Ux-?Osj33-W_d?+!l-X&*xK{er=mxzLqaqjpf3! z0BXrNO!n{L>FKP{27jE-?XsPPH@y@dQY`zSLi@t+Xinh9k9eWp7D~L1E1F7AS;GMo z5tBxM*<@leiI2C9^65a zyZjL~r*&*0GiLd@?C{|+r`_O?-7@*kYVcg}4lrs0a8?ggkVDQHadafR((PxTDpo73 zWk3U}I^piF8v`w(rtwjfI&m9U5rhUqC0W0HOMGJPe-QYd5IAY_8y&#Kh|R2%0_YNeS;@&+O*vR>(t#oq931j2i0VR}E$7>Wn3dz=l3(RRIH@B{jf zxIn|^MiofaX9-!N2@?^Qkgk$op10cj9@;@@LAk^56z3k_r3F=B>yC|J zxOgq%SCIcTD{7}Fylq{smABPV8`+4EGQ?$V)&XvAF$k`QAwx z85B30OOi@5qm+7@ok zcxu;N=!q^<_YX^gUVr4&2eOdw0gcCbNYZ64&;20W%jJ6x*5lS;7zi(%veZZ8TTK>QbW%Uqq>R!83m+H^>XSXyt^}+(y`0?7lf7 z@AJm-k2Uqh*pd-!0A7|vGZ$eh$beX4BW#R6YcDSctD_)($U%Qzc^tVb#QZ_tRA^X4 zmE$Tv{Zz;s4N*2y=~t#e<&LeWdSJKiQ(xPqA5F)sIJBO4eZAE>DYb}#cl4+ zkyn5~3&{hpG1p&s4lXxff|?)_sNEjSEXK58yBZ?Jg=Z=>f=Mtat%#>5WHMl@=m(>} zd)MiQN4j?YTVKasp(PXAl<0g?Q2(p%^8&ridMinjU+Tv@QygjE+5AbhrAVjTGiIj8 zo;rutX!Y)_{!mr;;rq(2yJ1rC(1CFP1xA4BweIOjq+z_M)ptxNamm>2eY{Di2KU{Z zDu{MlTmJ)vUp?{nM6$4pn*Zv*!&(H4);n;7HXR$#79-dFm*Yvs(%KsGu8~hks@u73Tqs~km6)z_!@x2&zRys?y?I;Gihqsau$|goVYgFdzBP z?=hsv#tOF^<{D5wq$)OMVRZzG9?Xou=86bG zN)hJ}B;4IVL~24@6gPM*Gwy2})MgI>duqfVr67lQFG4W#*JRt}7dFAsVhyA0DBL^z zumJpG0U`abzYJ@VvlqeQenjOv$?~tO^%hGq&}n_)*RAw&8Atu~{`Wq@uRcb}8HA!Q z+jZ0BU04mA|BA28&i6;1^X_9Zif_HPbmlkR_FHU3gGJ=!h>`S|9f>{Z%3+u+R;r=V z=AySkg4V%V~0^jHO*Rm8gR-MMA4BoyUgYx|!2Fw!1lw6zFrh+)j* zu*l;^!@Cx$@inb{xXMa=Ht}q!(-#8Sqz@X(=Id&X=XKta{88HBoU@fXtx4aNn%MWt zlg7=aShTmPMr?#P8X9(z8eu zhp#a}{Mn<0jdx_oW*)1LO*laN*XlltKHZO&u%~+PD|Q(=`Y2`EHuGi_U*~h!qej;U z)9G~9KuezYrPoW;V-!I|%@I~t%;w{pf29A5{Rg$*hx@rilq9Y70m{!Vh_BU=h> zXrE!I^EM*JR~j2Gl=4>cS180dy2o7wW$xx+;gN%1iQ_+7#NPVAi(H1*z8LK>re+Sm zZnhZdC4Y)w?jEj8d)_m8h0?J32k1HqY~qKuHb2{kNsA@JM|e@b9GObYiNSgkEG$k^ zaC{5S37{KiK4k~Gv66-x^Xi7?@{@?qhN>>1eMl#HG`hvLvhAQz+GtJu_m3(U-J{%Q z3~hL_^I^LGnJ(Z(2_5q^t=6{iyC~< z4w~s@9C81AVjP%UxSCQG`EaGcKtyFTV&z~_&`p3A!d0!}cp-*EVlF@k#TO7|0SMs< ziY#DlLxBx`7tI&5Ai^R6?AMLOE?9^j#pu#T%NaCwp=AU-ZCJouWmukZT{VTH)<2s2 zwBmJ0ZFbAD2*#RcJ;9*5uok;=LJlq|&5Q4aiHmyN*thql?DYpyL5~}GV$~RP zepL4jckbKWpB``CEL+Ju@s_|9$E`!5AtWI_h-XMJTHD4fT|ePC*JFD$G9vR9?h(>g z48t3Q!8+**z7-)pT8cdnb2G}L-SRwp`O7rM&KAM(4!@$%NO=&MQ#(Bt6h9UUP3^jR zdAXR?{rGXyby=x&LNe;8%vH|maT*@R_ILo*&ZN@jlwPofulGnM)DLw9*!R7*TLZ+D zSK4RMX*><=TJXIwXL`G3Rog&@jJ)-FK>f64?p(Wx;$K3IySh6o4bxNhJw=lT;T%jp ze(}^xVmGs_;6Of1%0lYqeEfoUauZSnILIjYkx?%j^2|h7ffnK}RNu%de?yzPx)zsI z8^4|9{y4$c#8uY{EhX_ za7|0?lj*n3q0a>p)LiyVfg`wLQiqxc4$SFxES+rxppt_uGiFPXG3cy5d%rV5o9YyY zo+tmBuCr0+GY|3X07?5W)AgduCFqly7Et2u!A#HGD;@t;i}s~7NbhxsCab?H@^&x5 zA4ulfrt}o;ALjp3Lhr#OieWa@%%hdVDiqM>wi(O!{DJp=+SClyW-d27+ zw6~KGJj~WuVf6*$v|q2bZzf4Rle{)n^6uHbed%mW5DiW|8C?D7`iS~?ls~|jx{ux* zBzr3-IlIZTqsEg!%INsKaiF*hX>84FUP{JE&$YqNs6Ktgeb?{O3vS;a+eX8A`Dm5? z!0^5i3V?)FP9IYZHZj>nbU?1y8)a8G9M^tN&EeD~-%hGN?h%?kM~`Y7(WXy3hGYkB zDlA;6|E{yS76oqr2bY_y?$?p`&oa`4!bfDfS4!H{A1RB`=Kk94tn#||AX%R z+7{%Ug6GN*C!Hu^A26vF>~u(O_Gb9_{W?R|0~0ET^p!0PEPkBr`Y&gg0NpppGD_a; zhA|SBSDWBR*@@%gGsk47GkiwgtfogK5|CFa4-2IcWg$>fqsVV$9rMGvMGYR%dxKEM&r~ z2a`IzSNpbW@a2I22gyG7z|=q2@yiEJW{bwef!Mz+q8tQXKcTGL8nbKrQxJaS_H*)V zyRB}OSO}km$}hFnNcvpuh)ghh@b5IQGODJ*6i`#s(v?V#RXl7rw%H9Ws6e|MQrdd> zBAsr0o7-54`c?#WK)nNt%*9Py>4Uv`%eogXs;d(?I(W9^ccSaz;Z0z(<3*T2TH=8C zTu+)9ui`lMWA1D%+S@(Cyvzakg5STn9okg*xnSR?5c6;1zr0dMc0$=x2WHn@qTdC$ zLR!a5*Nn!L6;N7NzPPwRC#4n)q9(h+P*;gdhi&{wJZhMo0!)?+g$wje&a)cSCjLtv zyUhh)=xaz%HL6Exsd8Ro4mEbfh#GuTv0S?XQIwq_pJCUr{KHNrU*m3Ls1H5?xe*)1 zeq@h@YqzpWXzeI3$GI1BtWA|j!y@B5DpvWq5BA*OymH2$u%o35Ii-~d(GokJNv&6$ zgDMvnD;t(0catg?EO;DwZ!N;hTHEiUk$4paN8Kl*moY|^AF7J2fcS1zc&c$%+ zyRi9D>K=%;J7>AcS&|=DSYYBzv2R_lL?<29$8xNpux!ld>|0p-szCgtU#b-CdcCm@ z7O;6D%0tO-`23uK$qndFcMY0{APSzjkgH_9xeN8Z?=3(hR71z}avpBmAYGqqoI4d0 zC-j5_zo;~ZngT$04SOCi~wJ9-W_WfkF{Jrn~oIl=e7b4jD5*IsI&$5!t+|OiDQpZqfxmJY3J^MXuVDHbz_z zl%Y6S1akJkZ#~xXIQz}kxVEXz^v)FqC>BIj*P50KI`pxW@KAD5@==OZ@+o($N|`^G zrD$Q>a#5UY9A<)(B}vdBW4wE>+|M{DCz{NK#C1hP{M^ds(ZOh;WmcI=`9v>&DM?A} z7iZJ?hMDE%lBKoXE0fqiQ1zX@$mWyd-5w`y4$H_L=%`-Sq{N1dZo%Dbxi=o`W42e#Mr4yR5{R zsaS+y-0uJBC%YC8_jzwd0~XKqE*e`rF3EDDS8=S715V$GQ@5=esc=5&>C1M=i(PWl z#nPA1)m4YBCk2nrTL~Nbh92v^8d9If9iHP%uTPvYGPfPRn7SR7*gnq*ONlh%U-Yw< zcqDlhciy;BbJxwK#*DLi8xyVmPDL9&uTh+SCk<(-L4?tRO9w_AcoUlo!si(+RunTx zi?G+NZMs!GuHt9iT)CtV4h~MQthDawv1^P_0$Mhnz@!)>4gFGAK&4<-mJp<-XLF;x zL04mss4O&d2 zMdU)*)f)dzwyUS_aiNAbtz>CUcHM>X>CXdNzjFb2*IPr&9o~-5I(#ercPn9s=I|XW zd75l=H)d6XSM1~BZybT{Xx`8?7lM5m*qqMr^ef!{3&*8F`Xk*(5Yh3V&0+J^vq~A+ z@G4X8Hq1bK6DZmSg-a4UVdO-PI+aM@9L*LS`UWp~>o8X(7We%`U}n_-lk3`oW}1vO z$3U0l2a-;N`J%c~xY-oGLKaVSo|HoP;j!q$7P1S`dEY|o=f4L<8jq{j|8y&anDeE? zotEQBB2sK5> zaP&X{BE||oVKjYj5DKb)Epj!D++4^^^FRI@mA}=Fx%kRA3XQJ2CRO?+OJ^wV z+Y7ub5yXaaXl}c6nW)G~c73`;vdZTpXO`x`X!q<39k`h2WRSxm^PFeUWyaCKuqI*U zs$2HL*W<3W)yeQw{<#n_GGxjFW+@5TK2MF8i9sjPU@_aIog=fS92(P3^td&MJz6}m z7=a2i+{AQlJ6W14xA}T`sTyP$B#|Q$3x_oTJAlwZg-x~=oph*_Tg0nJlhQ68W8Neopb%1#`LY*_9lYtIr zc<1-Lp)~<)k2}kx2F%ER7FV}N9{^LPK@xa)zE#RDr+k5x6d#xm%`MrsDHgL0UlYTg z`o6`d;Vj?~KWn4XiBn;Yq~@R-#wID5lz$EV9gW$+aO!%q=BfQ9f8gQ@!v(EBuCb~w z#{0Zyy~$ouqL}2Tpitr8e`I&lh4PTgsDTIX?<<4JC#r7|j$LFy>{<>d)t;G``%3C| z%u; zF8j05U5Pn7TsC%1+61|V`!1xYXkop;R9)8ZB*S&dIrIB@#XOJ>fWNiOpFvif4u?b- z$(bScynnIGS;O|gw69uBxu(>`=u)>SXy1S*ML*esgX(^u+p-c%+`f|D5|72wipjB6 z<`PE%D1w#w2_-d&W7GA^MF4R=#L^UiIOzrC5cn`nTE=AcNW!3QN&if#U?jq3dSxSc z;XatsK*RiaO7KZV@T{Gfp4-Te3ecyALZ-_oc?vF$!13pJ;su24I%C3>dIFRN>QRs< z)f+Iz=XX-)1KML)QP!YPM?0Q3Ukf=m&g3VB_Iuv@i}f%xg{;B0O@AcY9A)Cw8-SkA zk$k(GQMei-HRgz^7$OEF|7$i!t~&UemDHet)h?I~4x6HV5Jp@rf1Ia#nm61dnG^%dCWLe8dRkpIRiJp&g~n~Y28GXBqsuWE zvPyg^KxwLYS<#F@K7Az};sbpS-z4^Xz%D+51*`d_l!PhFk4Oe(lVb@3E}-yNVu|h> z8`{cyc$xTa@e7{7kuQaT&B~A9UvL(#!ifACT%5slRyT};O*b& zfJ0-mXx7ymB^`~=NgJOPm8t3J6Eia?6F03T8WS|uAU=OQ4+dYA_Mp%-zLFe|VO7k9dwc4`uv+)?wR?=r^)jONQt zg?)_p1&ITcl?4E|R?~ewz7ou^MH4E)N-o8RnNsG#jj!sbw6TVj54x|XQbN74{_ltz z$(DnyrHC9(dC{I0**Aa5tI82hYzLO=dytxDo8_2H0|iL~%)lh=mus!`Z%K&c1`|?BagrO54!&BMF&1URAZET;W&Cl$b=E%3M*8oAv6*lT=1R zFq49#o?ttvW97+U)#4r>(^K=7_f!o0BB=^j2ZQZMGvK?eP~DNPL607L>Ej>o3F$=h z5?{JR-mfi!n#XUtXM7Vrw-HJ%)Az_mrr*h}9O!S*5z#B>zAFYxS0W^O7g;ha_x$z2 zrnQigl44_J{j+Rswu)ElJ%JxWuFTcZ#w!~9^HEcVDgC+VzHpAJh3lzUG}vuQzGeE{ z%3j;a^pRFHSSi>cfISf^bBGlEZ1h_As>ixoXE^h&VGMGm@UAH>k_9}`I%qalRb8xL z09yXx`X8ukMHMFfTWFY)!U5EOA48tXImt8)>kZ=4AgYvb{1P7<9ZN3`ziHUuoD(72 zAQqQKwfI%GqpPLyue2cI?(QxRWN?OulXQoe_=^jS-KLjFE;lB<4jDr!O_ZUeI)bU&@(784F`-JgPi(IQ*PpOS+@}uyvYjQIu z4-uJ{n1>((iWZ@@-b%leBj&_U+|-B} z_Wb6GPf7~w?G-K9HZ&cAGeJv6!6qVy7+vqY{tZTSn74){Jw)|mT%qM0Ui!7WSIff3 zRP$g;*_eIq6Sb*-c*t|#BIaFL0d24$>-(TOAJN@r@x=7K#P0OBh&ak|sNFDUiPLZQ zO^2gh_ISfNl>5T(f==(ZykoPSN6vbn@h{GWUqEii@Z0h6G3lPue)W|9|B4^Sl>gra z7e@)!k@ivms%?^cP1WznX~RvTAk+3J$sO`e=2oA=Q8cm>CBW2JS?6 z@p%^`Ama=?vw4}T(ayHE;8UWWN1OQX)R^Jo*KAG_g%`CLxisRg19;fjw4Tefj%z^r z@JcT(@lt@fasTF<--o9=%SXo_7pu<+L5B_|o8*Oe1I5;iA_44CNADEGYeHe#ov--k zOUh7(w>&=U#>pj`VMel_`if}SPO@Oja|0O5v4%LN%aRn~FpylgyVK6_)1Yij|It>^ z|CVBB`ZC4pGT(5C+q#|EbOfpCcnxmdM83+S&^BC-P58M$*Q&?DhXiZEMnp#9u)vQY z7rA^(^>T7jdCJJTA!L-gjb}xh`dQ_@!TxphP{#%rOGx85Qr^3UNzL^3SOsS`}%kXubjE`D;JTWp_;U&KhAd zY)rPj2W%d#ux|KWq2`@^$%A`=yOz`L6-WR;M`euhrN{>!*ve0fd2%bw7!W)NpI2DW~RgHQz}%v`CO;)nA=+M;=~t)NX2R}%e|(kVajSTAX2rTlZJ}PI7HsveSLjDOr>&q^JAoNad7B54BxeF zvzNRJd45ToT+%*!Pi-y9QG9)gUb?%Koa3WmotuxNS=C)JUYzb*thz2%Jy0brQ`>KI8k{Wgp$UArQ2asIBCz!EV)%;c;># z#=6l)gu*mm+-O>BjxT(&N&}itlk6!H3b)N=uhKi03=Ry!- z5gh~)6HYyY3JpS745EV(O6Ao~s>TwU%#(0cgTC+(2c_&(bT;_iw%DFtDtzRVD=Re) zk=O%h79U@+$M@lFY3sNr$Gr6qV?}rC%ZV~J>A(?QriA~Mohmn1PC+`jpqMyE4PqX#IFtsN>XGio4zm~mwf)w+yh;Jlpu%s^@s}n zH}=q;uis&~N& z#HG+=?6WDf73qKVb?_~vNbhxBUqExQsj+cqb*lY;$a>4Dw!*GW7>c{Q6?b>HAjOKi zQ=H=Np5UdpTZ?Of;!bdf;!cqk3GVWx&-2c#`DT9Q-&tAb+_Lv&J1)8ABM4E`)Ad@V zc+>O<=Yv*!E|f4wk*4`t0y&}&0QlyHhwsXqqRiv<55*Mh7suk7DiBa=YXk}(%@ruL zQsv1u5~Hln7#9s}e?hc9Mzv5@?Pnyd_O4;YHmJjaKB-NYUWQ>W0%Jon|Od@T&eV2cZfgBKTA*B~3;(}aKW00g6MQ~7I8hCF3 z??;xcZm=Kr)HydJWxMd6M>xTb30>8i0yQenNv7Gi0O6nMY+~SX%+zK-V|%j`|vn&T$=nyX8liv+fYQ?8_Qt zN@S~ukvq9$$i>rNjr44}yE=KIypHA~{HS7&ay0V34#@}V{3oyh0CGHsO5k1t=U$Q78-L)RlwFA5IqZ644GD&vu6}9a-Vqt+p6C`t8f@DW z#Tk6SeKFxK$@2hnZhrVAOjWmFsBFqLa}d`*e1D281Fw>o_9Hr74y zYr6KZMF36KhHjs+#2(~|cf9(YGi3`|VQO^5l6L-9&Q&3t4o4^4elxK*TlHhs=UCWm zbr8(YF*4P>fbZv(iC?akvHRN~Rg8+xh1O>);E0WG6P`a!8|fv2Bdx9n)A0*^tv>~W zka|&T7gd@%|NdlU585Np5Ca%nkZ)QfK>?B%Oq4;_yuN{VCijEUbnRxs@rix*_vsUN zOlKWdqSE>em^-Pxakim&61j9tfTx3j2cgs6rvx zgzrk^WH#TwBhrP_~oy?JwSflzI0gVxt&wWFW?x|@mgHt!)k@0&B z7eno*`O+)!K7zZX)hqpY=)Dh5gF9D6pLwMHtc|@eaU|EG!xYxx1Y=ZN6O(Nxcn+*h zlWdHSh3eR{SL7lQOEIs&Eg}%pm*gnl?Q4efXQ)qbZCkKr_?9ym_D)aQQ~O7O(bzUe zFOO9D@&3D~ag0ggkvpIREpnIIuW~!m1d%B_8+2%jBAZ!a+85d+SqM^8Y z1r?vVRVMbxE}H{A(j2EcAwh^SO=3mL(`?)~WY6l&Vb>4u9j z0UG;P#@Cwtd_v)t=2l}SXFK_(5;%!1{AhXkz70tpMWuJTh zWxso4J^B#_qR@u((V*@6ZqS7&=ZUz2^uUjn`pmdvkb7al4K;Bb?T_D&-km44#@()itJ4Up6K0BrZe>7E-R5^Plw%}o3LrB?619wOSJD{&MF}C zo`F=s7q48!75it&0MA9NH@X5_a=a9+%$O-^;a~J3{krjTEtYGD-n~CoVlFoX;~>Gr z6--25CMb#6tjCjh8`#)~i&=E9CDTwPQ+N{Iy=k#Plp~kSJCQanRGdPI1IMCmn296$ zGqD8>$@MHt2BQ_}slOeJS_PvA-xF?z>`+}?`xNxu<-cLe4p8mZv?OhNW>BG|kOYTF z*?&{yqe0bRixq3(rIpu4*F7?^E?>laFXW9|25ct&$ZxK-Z>>IQH9Y%gzIdyhz$flF zPwzmG`oEu`wh7`c{pG(MheMXd!zckw;98Te=%xP?HwCI~^xy$bq>D(bd2i@nr3_qy zV9HgoI{aVx!4oRL_nwD=;rJyQD)QfGVJ zu~I5MO9R71R!#5^Sc@+#!!KFOWH#H>w$fbhlM_<^(rYXwZ9|+w?~z40?OT$4-L1I5XC5HSN>eYr{4afD3vTMEO1b(-JxBZCtMM-3K!5Fczb@RJ&+cDK@ zlJ_@pd%aaXlaJ9o|7TbK@0Dk90&=;0|ITWPfHvoC-EP-~cqq*(&kU}qHi3IV!SSMw zGhfRl6OV0XXAU0hR@7r%U9kKE5CJIE1|31Zq(QI3#8p)q3{xG#CH{+utOAGyyi7rM zcF5~m;V}d0CtYsr#Hi|{HwdSd-5tvG-b@Ew8RPw?`WRw<0v8-tTe_L2lfFl5TYWuH zX~v-0>wZr^Bxp}x9I2w!QDbh$hdl{fFPwq-J%a@yhmyPFMtNB`3`$I5rh)d)=NlM2E12&h+R4fG+XWte9JPmr^L6_g8leE!0U(0M)& zGjjGOe^#-ZW>@o*5cHAKJ!+x!QP8tT1`Ln?uZMy zej`g^Ml;^uKS#EjGTToVXhF+yk=42&|4Lg{|4|qso_t$EdlXvo15?!tVOun~Vt?Bv ztdZSL>z8g5YnO?NgF*yNl%Ji}zi*@f`R)FvScVQqW=;?^m8_%>@N;FBp~I_QbsctI zzdN^rPQ5f~^$19_8`7I+V)v+($EvA9-Tx^;7Xf!fGHKI8$FcJeUXqzTV=iJGJ7*c} zva(kt<2hj@Q0P{IHYK|?oIl0IaL~olS%pSG<}yryb>T-jFn}c<%5H5VBn}?&ndr|F zi(3r7@H+I@N`F4%{d_6!R+CaT#b!T0p69*>`QBQ55@zRYAmk}iQY;r|S)&pg=CoHe3$7ItW3SI7xO_t%k8;R-nB4BbgGB=@% zV|VpM)6h3XZfP~1Ad0H!Wt+lDYdRvpM8~u+Ur16sIXEGh`~P7oRWhmjVf*3x5&Mz* zQTx&Rz+sOad=r;F4yVr?az)&cZo$)V5j3jQ&iG2k#2<+ArEHh58E9>ml~A`YM0ngp zazze44<1bFl)HZC5g^4DAVnU~?1EJ#BbzNxg&S2;SD(wzg_SeX1f-{?7XJ95`C(rM z*?of;Re4o&vSZGddsjMAC@Q~dn?Wnq%78vkiH2`8;q?sD)6=ua$CdmQKk*cBS8p48e}*3L?hu8aAMg)fy#<_rWsP^u(r#Ti*#!6*{9*2w5s*lHGk) zCW&gTK(X?!#{2AYD&2ERc=77D^V0fmzp0qVr*3%BXl^D-%@S&2a&;zEtQ1g&$Ii;@ z{UVg!UhVxGT*~cgMLIykjq)_QKjE8c+TRm$D;a%tW99QPt5{zvW?G-AcA(P4}2VRAWeY42(( z$WB?9h0}{>Q57BxzZ6|W>=vg~+um*%bGjqK-NcWFKqpRXjGVm5(SKt_9NC#EOt+^2 zU=*44`otN0yDsf1x2tZA5CvcpO6ZoY+nzLgCYOABsPf%=!8<}nZTLz#l+|K3z{=SL zZ26eP6mHSIfMY3ljajDlirN#nL*MCE4;NI#w3};vvCiq%WQA^}{3m0X4m#j^FVF0x zFYAMbgj`iReuzuF^hMkmbrD8exZScO!q#ti28LDF$C(b_TNkWCs7@?&5<^Fcd|)>a zZ!ETuS7S<7i>JER{ZR7@q2<%YT|ds}VNuCv<>!HJsI>9Zr3yN^g5Hxw=N89=|Lp5F zIR7JPZiMaK{Ie6_8`i~`WOrg;6C7FhGnW8}{EAVe8nNT($hj}b>{ZNC@<9UA%cqF- zX>{y&QSg8_pLY80kxx(3om^REP6%X>Bv<5~A^1AvR{Cw_X+~e?>&qGE`DRBQizR@7 zPA`s?1+ZN5y((R~v(eqMQ_9CjP%U4q;@j=5H+cI*xRD4v_Su3{-#thc`e~auPgMfu z&m2h1{mk3UAIyaf_~;r9oto`dZkV5kw6+EXdtRB>buGgjPx&K0kub>|trTWN$Ryu( z5;rk-nUUx3wOxUc1JYnUPyKK>PlY4z6i76i@EXO=tM-4?I%)yT2Pgzy~@a3pS+|Htll+nx+=zDUp!M z-tBbxLcrq6>#|=_F4ut}LR7yWknZPgOY9yy3U=1+0^BU}>Y^Ubz2Q=gyNx?i8(NZ)q2u@YbUy6z{=RPqCQ9>kybb9#T)gkBVT^?~#2sE|TlGwxHS zFB%o(9?3j6FGPKR-}NL;3)s{`2g)gLm%pF~LyU^Gj2olX93LoJ_jn8XBwxorJWmQr zBu!sJgJ_p7h9!lNmI@@2B;PI(o!HvE#XI#r#oR^J<66-VDyihO<+9ZG(%Ldhr+alIzNuJ`1cMi}IYR_82H zAX2o{u-lL3HlFaWtym=y!RV(L#b*^r>U;H|?p<_-$0yh4E(zbW4l=JO@75_uQSaGj ztlO7!a&UvjKU+_#9ljE6Pttw-kJan$MGZh>7!9Ehj#AD~)_1O^z1@WkZqVjVwDIlT8BX|L$(OPa z;OW}WPf5lS`WZ8DQ`~T^c;A>G6eNL1>}d$gg-I)9dwr`eK_lJbO-x0oiH_h(NZ}9$@J-_ zN4+Sp%!Pvx73b0|COHlT=a2grMLNf5O17cv84qxi;nBV&I?A4sZuV3QNFBSO7hWDu zi};M9SIUJ-WDUxGbisAK-amu_tW0r?{V07IrYxBPgH&#IxTL}Tx?r3Bdpy&?NQ^AeL?P(wukTq3Og>k&|k9u2PE z(**A5O#&(JWdmY8OKo}6{pesw8MMQJnw$`UwhM&|zxs;=4$6=CfOQwr^Rrhm z%GXQ1i>$RcjYN;-5QfnE2XhP}Cjrs1DtRtGVmT%;pti5!QKmtB_F~Zjv;WuFPO)WlJqY!6g33O8y-matWGhTHCwoSH9Ym2N8N<1y1$3Vt=EwNG z8urtsPPdedk^SyfBR=p@G^FTT*OP?)<$5z+dR`ng(1tD}(sOT9|GyaYm9L&2k%NOn zDlv|~h%Oug@*ZF+SGYvw%EVuO0aun6uf`7YcOZ^7?S2wSy3;@k!*RH=k+c-(b$|MF z=z7_PhupeUWT}9`Vw9{x(n?Y|mLwU{KQnUuW1;>~Ro9&@&eDc+ z@A7sUg7$=I`^I0;{x~@{{V{OYR6CV3*RfHcRho*C(wI2g4~cdy9|ry4WClIM<_mPW zqbO3lTe&gIL=vFw$z}?z{~#sKonY?y$5HGzc^VkVgRarH!54;NH&UuLdM8)Im4n>d zzo&U*zFkgXl*>xqiiME>R82!h+Ea|gDDQaEU05FU3h|^%aTzuLMYp@-mK*$vL|prd z?m#Lwl9Mj;>C-0w4o#BSC5Y#{sr!q^w0IIq*hT<655C7#I z-_zzLeCmERAU@64@kD$YK|)6YnrkOl4B~d5KR7$+nZJ4+e`xIa<=PK0ug4k4fFk{8 z=U1WxlN?;9_k4z&A5tiWq?rMBje?uLa8OHL zYW1EAHZ(IQ%4FL5t(mXE7Z*$NndJFT!7I|qa`nO|7Z9 z09>*8AznenuHv$v%f$+d!V?jRC3`$MKPE;=4cLjwx!h?}>cl}8w*8wc+JAb-I6$<0 z>c(4Guj(k#svhe55Y zM}N1Yn-Hp@`geRlxqt6JvxTkOHa__DXc6iUqDkE539>xb#pmSt9f4n1m%h#peBzg3 zJWIjB;_!{FYIy0!g~xnBg>+skpPV8U(;K-uGMg{_DHOc&yUzOF?1fm^gn(hqzHDj~ z-Oi$;@%vy8a}TPNkUKAZgj!KmpHIFEo{vXFxSp&>U%pFfWi0@|&j(kZXndEGxV$`d z%|vuPIL)}219lN#m>EZYpj%?)$e@sX8I?5IB+ze@Nd3ywGhRdjmGJ>>oY@vd_)28L zxJ5;)KscyqnDaAQGDXr2#s1PvQb+tdZnf1NKLi2D835c1MO6O|VOnBe{e_RlC(PuD z)E{a}_@!L<`fMx&BPYsYX8YVP`Uk?1zUMo%c2Eb+VB9UNHl z%kr{VS>fI9rkH63n@x()=FUyGTdfq4v?W4yYi-7^Khc2(3%*z!)6+rWtxh3EMmaw| zN!l7?3z)00#$nUIhxQ@I%@_MpPYGU-vhx-1vPBLVs|c{N5$Z%@v!fF> z`f}(*epwIPT{YYs#;n?a1rB7j)%wckB-2DbJg_n7=LuxqkXjSj*7Tt_=1sr9TpRRq zhQWcZPJo66Z1DL@j}~qhO-4=?4dAG9KU`jW&6puuS%P=AOZkp{I8&GRPT&1S=4o!K zN$|8b9X1^)J&vE#m%h!R{%*jOPnwa8QdK7Bim5DqfMXYkm&}k1|A+8XuyY!(fVaFQKod zZ%Vf$L7rZ;U8oR7woO1lP}JJ0Z!na{>mao6(d?K26_T-H$thY`@S8$u#1&fd?+e>L z!G|s9b8&BCoF>k-<=7TjdK8>Cv?b0I-N7&Ze1d`{wY6#nMp76~R@1)p(<8<*eCEkt z+$X=-b+#_Jv-n{B@g%Ki6{57Eyzq#r>1b>AWue4LFuN5w#3LIc-mRd+MVXa~mZNlg z$rbAK`VK_qCMrWjYLn+N@3yGpJuqvba5#b~)XLYIv7O%K-Cvy5H|=}=i>po?U&2u4G0 zM49sq{_Pg)jp+&H{3Ybk=s5%O9Cg`2>iO#CDi@(sR#uj_$+gjR!redw2KHMFouS`MSzdvt06=ZGGYc^#w`xcTc^SkI?mH zA#L#cN94A1-ASI2_1^yxyts7h!6t3PAR2C{ayz!IG$$qlKq_FKy?l0;AZ);mPT%-| zpD&-u#e_p&J)>HOH+Cr_gdTR8Cq!5^+C6wl582-fCtTF3k^6OFoefjTY84TzD0Dlk zM=YnKIvME;Xxr&w4q)GYWfrp2Ta|1wMn@Yzb-d)Ya`k$$LY z4RYi?D>rl9ycYJ%6OJX4AfKRwsZKMRX|-oOlXUrple@MRz1hdtc{Mg3*wOYF5_RU0 zb=mU8>v(aevEaq&)@(@vT4z`JmC*}gLaS{a{hJ|K3|$?dl{WQdK+h8psyZrkukH!K zh92?4W&ZA7`O>;WsK3g;uVcRQ~p$L8Vz@Nfh3nIKq=E$qjn&R8oC_VTp`qu+ioK3l8R zPFFS4G3@heo##-51Ib&mx|(#PDPT$9qk`<58b?TY4}`jR~*sr95iLQBHgC_E>a+GBFhCJxFIJN#U84 z-@VrAUtSgJgPv|rgrOQ5_s=pon%deWbg|e|(G}H|gZbh}Y1#$`wa-rlAj z(Kx7&+%p;BRX%MrmAAHsofr*V_*^L! zw)Tz|Fi`$spf(F|XouWqmxyyP2$>H$N{XYTn{c(oQa+G32LLS}RwbbtDV1nMmODvP@ z#{{sKi)(e;dUZXn!AfUTuRD+(qb+}>55GfRw?Y!%E<#??=6<@1NGPx#)z}=KySvFn zA;T>${`d$>#(JBpLv-QCC(>&eMw3L~Y@J7=cCqLETb?+c^yn~fHx~vGSB^Z+iOvB%_}sOw7IQdb{Jr2?&eo&zM1R^O$>7lOA3Lb)m_#+&t~CS)?LC-# zE`qP4)j{Qsa3+}0B~+Ac3D=Y^4-&U%KX@3f{f(+L4Ne9BO>naQRalk;Id3o- zn)#9R1l}4vUq=aE902n&f2)uDPyz%pbgwgQT;>?5TXIRIsUnu4oju;1=Q{$YsX`@1 zpTA=F?|UAzp>|QG5*!Ld0j>w3R{#xKi~IpkD~h!`FbS7LEZPdv6K`Aa!kqu|2dY_x zydl3mFMi0S%+{%Or-f?R{?(*YEFM9KRk9B!r(shm}H`m(#UYkyoX$;;nAGnXzA2^$I-mv?KU^1Z3;dAE%Yd{ z9yfX*?|W%XQU_pyJ+&i08xDpmcwE%FpELPhp6LhE3qM$*5RsYHU)q+=fK9}gl5XX5?iyx#DcA{KzT zDdX7GYw6RUt46c11dY)-EoWj6_j!dgUYZHUCqP30gVo1(WiI-O`fM8Om>d=Y@)>dE zXb6Yr@EmVwdN2em2FIThKR`VfUUF`3)UDZnu|nNiOoTeYcX#m9&d;aqw@ z<>tS`Z=Y6?(b@AMFs#8h&_IA63u zT|Wp&b1rwa?drZrC@9AZy8QZL95o=_Ku1H$Izc#fHcFWREe6TZ7u$?&A{xns<20hY zgv(q#Fqr%mIgs>JKH`SQ^PRaY|4` zx-b_DvBK`jaXqqr8PgV9{8(d~v7|D{u$xU9zpp_$9%GtDy^{hXN*>w7Lst5!Lb}Wmr{sV5 z;&msLLneUVCm1VQD`HH*7Zls6WgekfVAw47^9RAd%BM4H${HHgVFDrvVWvGa#ytMo zfp>TV#1z^6sTJsyIhYK2s$x~xG>Ft{LocAxgH-0li!2zMAl^)zyBn5=R5V5SYeNmL zIbCR=lBfr-*z4~Og`7Gt8B4MvbQn{hI%vW%z+-z=4Rg2?;fF3z^CGrgY;rIp&OZw% z;jE1SR*LP*uB!N=-@x6P%<8J?wa>!y4ObECXEE!k%=)f;(Sgi+yGYh7k@b2}r*cx^ zxSz8I@zW|rA+GRNdluHHb@|fOE?sf5R6k1u2hlFqkj(@6V)XTC2T_yQ5qdZnD~~UW zVvx9Jcro|dQClOAM*Z6Pc{7NmeGcgmpS+fTa$_;q>Oi}&GHOTW;k>vLyH z*#y}nuR1Le8PW6Qoht7vnpBq`CSXcad3vq)hG)B7u+-2edNa&`H`nfV_AL&}n$+ld z5;4xnKDwilpxVYm*Pj81i$;d(weU=6)Rs$e?gC-FNNSdJ?+1Y+q5@ozeK8;C9IMn> zoVp($%mf80k&9|t%_$<5TU}?jx8FwtfoZA`CM70$T`M2x73EPhK=gJbI_9E;kgWP_ zVq%?k{0a2?NHls_K$~@*bA@RF5Aj{|u&mFN%yP31|HG*?Qv9OK0{+SuNFKOBa0{F~Fzo6-glYAQ z-PcZ*a>5^KkWF}RGZj%)i5_KxNf2LjtO(!vSGb?~G9!>a7bW6eZ2_=^lH(@u% zN@%L*yEt;*EQ|le(g8~}J{~^ef6!|dv8lmL?s3?VvRzXY0dr$1;F48V&LIwtou|K$ z(ozXP5R{xq>-)5UB}ZazAQa;3lBdd4D`6dxk@iWs=NiRe4wZ#OOZk$m)? z&mR*@R?h^@rHJh8c%r0v;i+Rzw5IJQ(*WM7^u^De0CN1E(Ll%{Ue^)qjpQH#f%~MnV-%hyRHIYm)nf z`?+1Wj1D6o?NhNP_(SZyIy}fOGmU;T%d%KLwg_Ob`?8tTG$@M3&r18+$2KuBeq4@F zkcLmjBEeNRJf^fU%iFT6G)|B66mL-FEY&Fj4PjFZ z-8|i~O0;3hDx8)-Vx^Z4k%1GCmYIv-8i2N)cetxaO^LfiP7=k* zVTwXIw_@(KU!)C^&AyU}QHfom2VFQ*H9bVRLM52TPRlk>;W$5p?-Y=u>7*Vxqs9hT zDQ<7On!20f=cgJx)#*)Jm2FUl*!)g{T!hiIY1e?1+ zRX!0r4DZ&ftK{ivF}2oehbs$wj96?2Ol9v}GjSW>FB?Oy3Cqw?8{oiapxp0Cu~lZOYPaoZhn_t`k5MO52vGJ%U~o1A+!@vFDQcXfCIG~CSP4!OY zGl|dflFT9oh}ss=7VouIAQU=@^)1d%&66P*f;JXDj9B8Eex0j^j6>8ZL*71NEV4;= z@;g6cX%D~OVwN_J$EK;5{WNFt^=;-3cK@t1H%I1Yub}$>?666n zOo8GJJH}e>UjHzN&^XNJY6i+Z{)Mra!}BeNZuC@tEn=$O^GZtjI3`vPUSdjtUJdhz zNpfj1uCTrsd_H+rwne&PUX4gwn1G5S^rK-nX9!8|ae<7!v1m_|Hn~+9wTBnjk$}MO z_M|WQ=ZDCeVpFEO{yfT|3bSS!L*t6hq&P7H54S-pl*nSk)>IyR8FO=N*_U~ch&bAr zTM%?_vy0OR3h1rTx`V4!1X%ES1Gyxas1oCfxh|+5tm}ajVr^r_?t4=I%QIAE9r|Cj zgC7TjOgh*&^0M@EtK(fzDwv%f?}w)lSS zX1J=)3DgRC*1xglSa^C8`7t#~ouv{PJ7B6Vm!I7gz#+qP{d- z5g6^}%@YPV8;h#o!tImDCBb_qG~_(Y!hJwpSB%mU%cEVES_CuHzUq4GYBUuDwR0+1 zT@LyiqJnyp-Vq3}(%~-&h>I7-p1d6bWLcirL&RG=RMT&AZ0>yif;$(;7WqBQm$pu1YdWxi;LJYf?c}E3VTAq!W(zh) zC2>P)df$Lho)sfEU8LHOEnd_XMAqn-O`y6ibge7W71gWA3!;2KyY-Cmde-q4Nfq)Q z5LXZ&{=mKBL++nJcLKMA;{y4Vn0oyov+p@Uj@q1*%1emz<4 zW=d|O0jH%0Cti(DOP+3^1d4o0+8z<*+#c=`11%{ixk3^hQUhvYd+0JMe$Ere$$hD; zmd+{%FHH0MV>x*P9rV zr4EW2_&#?abwJj`*OYgUgwkdnGE_YgoX_PusZ!gTyU~}LY zY%M)+WH)75`M3Cbfc&6eiqPpsc&S*#kNWLP;=$&tdiyvcs||7DY|H_5&1(2gjzxla ztqZG93qX4_Z839V<}EJ&Qr7M3j2C4286+qGZCyAs&hm?;--= zDvl${Whq8K+3<>;k%0#-$T@8NDm}^-Puo!z5smK04 z;FWS=lRvEyZEy?1aELU&_)Sz&SWQVLpi?+vZ*#J29|3V1Nu|>2xWdO*R}Es5Qw!!|InDciC-+w5R;EZEo9^ zx_`5=S^jq>%t2o1vbn@i5LaD0=NA?}A=QlC2*1pXd~DN?-hs8^y8dPRro4gzCt~Lm zUB=~MC(391R}&q?E06Hz_~MA-DLa2LChIjV>tYCWoZGSa7}{o&t+yY6P;-y$29)5( z(G{Seps;gvl>PWIX_vi7$bxbxO%Y1nD7v??$V4V!{90OGCVqT;oLO0k@i?4fPFp-b zuP^RDKEWFDR8FzDI`kA9CaWc{WE` zhx+A3e->&5w&r!5g(g#PXUZIX*Iiv-Z&;(9(7@aqCb;peN)9tR)z%6xU^;c4K8qX;g`u zL*XR%(N=WI`_{_b4j%6Vl9LVG#5z!%5)k+U5BSlmu&f1(miNP;r+{zuf@v`N&z~h8 zGf96^QKFRDW^>i(u_?qO8YyInlR%tfHsNm0s2f00?vh3+D}ezq&f;Lgl$QwNvn%Gc z2&1-v3k+k3CSXSGKfO=eOuFYrBYM4?rq8mqfjNnJQueX(%;t&3{A;D&rwjf)#UaKh zakZkxGNO%_mm?y34Po_5)wsX`kb&xqTTXDkLt zr5#IrIW|s177BFmLBf01ItMciLALEoEu!nsCBMW21@)d$^3uS zW=)dgu;Xy!2;)fODC213le-qAt5%B3R#b`P1m0)Rpe5VcML`rZ5GUbPLTq3eHy3vV z_D5Clms}G0t*kwv6@P&M4q)`u?!q4d&!l^9ytDzCe-s0KD-CobVEe3n!e=KV5#S<{ zog9t^9Zord=86SH*TU>x)tc7dyaHd2Kkkkfti{abmk^WYL&psPD@NVOB`k(N7x>|R z41RH2H>iXYQQK)U;{(Mi)(_y`SWPXZd9W#qu#whD7|}; z1NbpG>+lsZ_%sG-26s7P9(s(PxcbI;{Bs<;x6PLF7duRSph9vAT*fOs4r135T@jrc zAJ_69yjqtxjIaw4DE_$~g=@Vp3&&?jwC>D~zMi}e!8@EN>?tLs_ot|4lKGHDM!%18 zeU0=*$tIgPF3Pm%VHm#^;o%%wRIzO1ir>bKGmL@@|Kav2-X`q-Kq(7hLlRb%bi?(V zKd0rh0Gym#3$~|Ggkt3TVb`CZ;jMinVke<4e4KqLgM|6iqy!(Ah;c!Lt(g(rLnY`< z_}kqBEJhO#O<~BGFXWOBqaS(xv>jfgbO}OO;{UVOI1=ylDVrzipV@9fYyh+bCZfeT zFD9?a_Y_(EN7}cvY5FkITj-CaaT=z3(Q6ezQ=Dy5YG_~x(Nf_EC6JnAFg`v7T9tlH z%7Y5*iG4@(VM>4XXTl1|cuv+WAcG@dRc@LrR<&S(*yM|zxE>YXu<41yjc-KqaHa6@ zrl~p7g>6_v=d*zQ+MLehmf72;$FKT{A!0EpR40A;;%$H6 zr*1#e^g6}+aINjQwkK!UhEr330mF1(<=N*1|FFbg+sv@aK=qncQTtKeM)-_P$eJ;0pmB#`qx*9wjm=^4Qw%{(Tm}rJK84B(ersa*eUIAgbA#;&Q{gI`~`xL`XB)FM*#Qo|nWk1fqQGB4;KL!8*X2KM*(Z07+&sFfc&mrOZoOV>~*M!#Q@9_Eb zHqe=cGto_lhGU`GAv!dlDDk=QyH`REWT>HBGr0_x4b~)Mk*{myEA&0%jt)-{;LtcJ zE;m}&`MzS0kJVok2}X+Vf)n&eD*!OGwvvORT8A@c*Tj_T>L5$TyF6^aUqh^G!52tx z6*>~*t#EN{{NB#@dDuilU2EVIBP6<{j1xc82YbE3zSL_eC(R({2T$H2VB zI;mpjm^xn?@0|Keb`I4y6naYb}pqj)|x6W2QrZ0!1%Ci!7FDPgnlp^rG z%Z}B*+m4grSBjkUs2DygbVGj~x1{cuiZ#}MXngHi&^73d1&Ld7Y)x)*-C?d8_B5{7KTiRO*HX_n6*IzTk-csa_6jB% z-jv;7+Dt+c+$t=Wv9J)wcYUK4@l4Z`3vp**_7kAT?dQ+J@#Oh~M>9f0fkh|o?{G&G zk`N^eir!&!hWQ%Y(=heK=|v1s7277IDqb)tZN6~4K8^;cYf$^=SX;*tGFVv;ZgSjV z7+~s3{Pn+rG7Q2gP+*xvC$b(^Q=EFDv6YdnZFMFZU1IWINTm_-X|1!(aA#9p`%h#^ zD=RQhzgUy#`262!YdWf^|A{+V`u+PG4P~1xcE-LLO6V3Za*l7+=EKU2tfS33WWe>A7yr@J|J*UK<}QOz|s$#HV%F z&utiHn>zF&X>&W zkQ0*5msflTi8li$+&ugiT@bB?ssqL&!ks=Ub^Rf3v2#xUir`jn%q=YX4D&YvnWZj- z4yw)A1BVMtP`e;Oo?K-JR(=p8s+JY6b4L#XK~|hG4z$^V#&Dhwk-2PFl;s;XBxV>F z)SvD@1-F?8P2D~JfhMV)ZFFd8YK9jTQKO@yZ~srw0*pLfp)JpEUx5BBr_M^;*a0*J zBhu|10)lbRK#bJ;(Arv#ToEr+Mzvh2fPfC3e3d0Axd08C6Oa-lhU!KBX>6d%IJKun z@_Mm)z-%+bfV|;k=(ON5-44Genls3ONT3}6E?fA7sSlmAl5^HO8hRvo@%0cT&h`{M zYL$X~uSZn^ugt7ubk={^{VL?0p1H#VrGd^(JKyH=>CYPeKepa7ERN>+8YaQrVQ~%a z?(Py?gF6IwC&1zs2pU|11cwB7cM0xp!5xCVL++ow&-MSd*Y0djcXd}!g@9t@h~Y2@R{z=Msvt9Fnoen#SY!E4EZ>E`puIK!O;yO*w~x zMSjHSG9O*1d$gjBbUc>Ji-7AbL@UG8!8Z_@*Jn51w1u;*nqH}p*{;k!N=k@q>{){p zgN#kXOb_n=0$V>-codX5SQOHm8bn1Tc1y}FH&W7&XH3}-GkGwE>jef*XKgh2f=Ctw zdS36fLl!5k6U1o1XkXzO1ryohKo&)zlTKF*7#bcqZMisZ=ES{-`{y_vYK!4R0d=v+EAY>s0q)}71U{AnkVGy8NV^&Ba;Yr<_H{6fXLTZtD4iW z=!tR`2%CqJYF65qSZ$s6SQjTeKqf`Y{S{8iBN!fws+1$l5<8~0vVTg_Cu0P)(l6BU zT*s;an{r;|n6!I9>w0aiGBFK~G=Uwfv@9;$JPa9TT7C0{SPB5_+(xY`t~#vS8j8Qj z*i*8VKdE*z*PsJP)^HBWsIoRoIgYpFbdFnOnnpLN78#V3>KD-dzL?en?~g3LnAut) zF;dFJRAiG8dYrsj#PNANBp6IMHTeRuRBW*V7m?u5-*0)25w*BuDR?-8a#{|C z4$*xb3os$oj3v}WM-;Bsr}@Jsb}mh=j0mTu-i$~*rtTj~%?%)lRh#QkIGvAdfC_+!%4!KS|qCIS6d`OT)G@K ztiY9pOSiHQB9~W;BOZi@0o5$I2ei3~Tcb){8+2{C-DWL>R4D95I)3n8a?Aib(@#5b zV*EOeTz7riBN*K1Rlr>cu)4?s2W)mHV45eI_RJs84vNmNrUIycF`pZsQu;nJp!a8t z$E7uLY&+Xy4E|!kATJ|K?0HFC`#Iqlp>jY7oc(xNguvnq8N9DbfDO9??|K8RLp)i( z8qYd0=8Uk!y{{Cvc@LLMxEDEV7R=j@(R(g5qL3lEQnza>2ity0V1hEN0P0h51kQNSv`c703jwm>HP-L5SOJG^uW}kph!ccqo>wxQ@fY zbY`0$79a*_E4u7%*8tciYK(ARI^_+t1k-qg+#q24L!cPxg;7%(387-ybm=zY>Z<#? zKYhm}A z_$C(l1J6IBk80er?7Nh*y%P1m>kfU!K=$J+4`~)K)Ts%m<_5cc&`Y!6AJI^1=9`>a ziINqEY%!p|z&Y+v7>{_bp241qe0&=7l}wG=cUm2utm?i~F4LVhzlOks9ECgE)O^0Z#jmo@A4t*e2{SH0@k_~| zgZ;EWe%g9HtG*aMTd5L>m+|%(7#u#X;ie$%wzohs5J{IOv5W8+jOmse7G-82Ncfly zoLXjDrlRlH6CSZBq8HXp^a*QnMRK)salv!B5F0Egy@+$sI=tGP@4jb3<>g`_G0`K5 zLD0n16sPPautEi^Q0{@(C*jG=*t&CV9}^|axFUJW-@x?w&`=kkq4u&AO^G{jiB(<| zI$z?2Afb=rhDUz#m7^G$cQ00rjb7k)mz#BUEi-rkAkj|bQr z$|#rwbvu%9lcEkB-C35wve;x26!^Bm8WGKBo~>t1$6`=bCA&Y7s=_}m*?xy3;{(}g zredRu;q01{w!zm4;2yoNN0ady!no3_o-xjY+u-%ZiSooLB3DQx)j4-4Ra-U;XQ~v3 zi@=tI+mHohmVLI*8Z6uW@^`|U3+_} zdM5hPk`mfpzu_#*OPT+~AFTtDA^)2vp!}%{x7=HdXFG3};xRK@t&C-o;`JT6QBPsW z(0#wc7*ay30>7c~S^di&ho&e>ZsP9*j=as6)R+KL7`43^79>vOzL6#B+RFwc1JHJJ zE}Mp~Vgjz91J}&t8l0hIQp{ZR?j=EAs1L;)L2hA|4Dlq!%VBBoE^jh=Ri zsYgwghB1e|SIEBAE9*3NFP|w*h&i5#bvwB7QJ#%tQ4LwQAk*4mG4sZf_cfPxfRS20 z<;@In*U9&oT5AK|0dr9=l?y6WnbF~qns~HvsdP(J+U6SEeTg(#)VNcp5NG#M>-DiQGpr_ifCH6KJ#gueM!n8!trIm0OLuDkxAG+Q5 z5Nh#B7j!{XMcrI|Dt&4?y&t-|19n-}VhODX?swdD6t<8r-QYBd;6$`1w341VuBe%= z)&tEC7=w~AW53|y;?gtu^&y=J;K)3Wt+IRUXyCS+bdQ-{!c*X!VBL74pPsxxJfM>F z8OP%!1?xEvAzrfmggs`_)~8X8mVMJ%;{>6f*Ft#_wJvCw!8|{gViq# z6AD|#dwl$hq<@g05@ZiT#5Rb}#q(C@*&P>CROyro58JLB57Buh=F3BfHHa?2A3TqmB}e$iKTOYq-!Ok(8-e{=y7;fb|Mj)uRZtWjALKW zkWJBYMbMUixUB9_Mn0*3_*c629&jA}k1WF;@bY{+GD+-Y97mapB(J0 zg0kAXiaMU-=E(Jh6C1Y|I9d@ONwljPq}~d}yXTR+qd?jfIoXQDfGii*8PFC5d}KC) z{I>8Z1du&U`ZHU`P;B)LVSJRsHe)(5~X*g?*MBJEv23R@;Kq z6lC-*nBB(agYt-I(}|+MK9#`a(e%k0e?hvRt*P*1LDFC2>)l2$f0ox6%3s@kRz zq;0T>^7F#VqccH9Gg6Yx?63H`Ks49^;uxNt!@9KwEnz!f^c6QM!k_kJ)qbCv0tir8 zo}-aLN5h}g=$3tGhfn9S>+3@%s45YNIRjV-QogC!d7McZy^c$=Nc|a($@NBu7Q5z) zK`}`<`<8u^KK2p|1ZMGVdT#+HtMr2RH0`aeh`t-^#g#kO3|GEWH`O~PvDeM0bSn}b zy~%vOs!R%8Tvcsyn&$NOG9+9kg5wtzVl)mW!&RA;ZPfzj#Gyn!E*vSjcjfbis;2}6 z)mOT0T%HX^8B;4BM*~;w42#qeJ_V0h@>DG3WM_^L37PP;HdYB6x^?IIb>-N~z#k2L zBQ#Qt7bZ$dRM$88mcBR}p1Vxk1b-3i3gG6&=D?V%(R9M$VNBt_o-T*W<)c*wT1QK6 z%1BT-)(JxRNDA5<(y7>57({~TBM%Q%%x1_0xx&#a&itxB0I+Jrc8zl{7|v3}@yLlW z2F<4{nk?s||0+thZZ1~_HVr3iZp3@zd0Y`5w(#d%Ivyf-ZAJ7RQzK#VavoA`)NWJu~}Xorswy{SBg z@Fv*2yBMq^b*&NH2G8*RSNSBHu)=pj&j%0V>kp^y#*Tk>m$id#wr(ZfV>cvyTDTapM?#4r z=I@5e^9Q8eK@*z!)8E3}43^)ShoTalwuj@k_cOM;OpTwHc4vZccz?jK>k$ZtDEZxg z066Q+8;EhsAyjID?rR#sU61K5Ins=fHhL2_#s*Yb&2(fnSS^NGRX@=lm~@J^FvVhyMbRuG*g;M@tH13K#_ZX?WAUBBtm3K*H>i2jm$78Ae9wi&y&6<5 z=V)fX7>Yb2iHBY=DQ4-^wR6(}N|U6+0lV$l6<^L9x9`(Mb5q%n{?>(tzGN$xY%yEk z)UnX!#Ta;iPr}2zHQ-}fhG-o_ipAf>VSnwe@1tJ4W_%2q{!uih_AnONOs3MDuf2HU z`*-L>#~mUfdP{1-yNc;mPJR?Nqf;Qf>>ddg_{`N$GO_%^@!N|42Z$wYF9N@H=8fe7 z-+Yk|3;RNF#RdyixBE25cK6V`%-Valvld%Nvs(PK;zB-k>_!#`^0Ol}7->ruERS4! zQ@jhLrgZlOi+^)}yDr3`zVot$ag81q>I8hs0wch?6XIYFl{E7fTmiob6PfmmoavI1L3SP` z`ehs~y?iR35noa`l7)m{-VnAD>qz-sp_dasIvha-a zs8C4{HZR|Cr(oSrvo^8J#K>I->0BPvsKRb?&cddGMqR?*m&fl>}~aM7w5)wGRAtj~A* zLoZ^kQ|AWSZ5kr2d8pD*MsV(8lKC&#ZfB(*NFJ*-M2N0J>9XAUKYc#PDAQo|~ zLxeQ|ifhVZ%gt%zD_2)a&)1_wbP`{=dl;wIg-c8P?j3}*WI>zmoUB6G>DuHo_6lQ< zNIMt$klYS$av{7)TW_)h;JM^8g?;cq z$vikT?|Qzm0_*x`l$NeOBJJeF&8Ziz{uk=AjSa(%JtT{#rPIxWfM*ClF|?KF{|H#) z{uNjPp5#EV(kwXawj~_*IsQ%eOEk&j56I9J!@k%L-&N962EQezNV{Wq9P?*X_rJdW z)9+u~OAqTeSJC(HN`5$zisD(Aec;PN_j=JR$j;{K()$(ETtC1m=4|{f4*_j4ajLd4 zVY4rWpxW!wf`f~T&SzZN_g5BHo@zAU7J3|>{>k#{7VjeO2G<(P9`saQk0iyjqaptb zNGE<<7##i&YD@&Egti|J#tnwDJy&ESbR=RcJzWixaE-?OIrsXhINuZ2Hc7AAs3ek zGOiaLbV2d%#QdhoNQ3aA@gDTT8Z|jayN@8h?zmu-j(dhKWi%4Epp0L*DF!OyXBA2p zksu10fV(!m%4=GNEIR&UNS+phV%f2s9Q-YIrwb!{-8MgXZBKivVx4$d9rFdKrq5P45SFK!6vE^1b1lQv zXkUR6o;_H;d3W@n%XP-HoQaR!k7w~9a`rb0C@{uYw{FaCYlolyd0+j3X(!k0@>B0; zckbes&fON6HNRxknL;dvOF=!~H8Bv6JJd?>76_MW)BT}0ow(x<2I9pC(i2|az=9tS zFWsu9iewt%p>kUVdcFFDC#KcfTx8p4Pv+9!PL}yvjW$dN1;qj0LLKoHsmkd;wdb@$ z$wxu&+h?G=|HRPHGK)NSnc$@N^cV@huN%wTzgbewv<&ha4K#>);j)sXt(h@7tiw;l zozGoPriW0<=xdvWa(!oB?7-B&*}l1D`pv`J%nZt*}Bg-^e;f?fS$nUmzo^vL4CFtF2zzCDO-f91It_Qtt5c51pPHA=w6$3Qe#*+D+!N) zTH{ldiJB=wYH}3vL|VxH0KKwi4Fg7N1$jL*)yxW+foo=O%v)mIY#)6w1)8{#k7-7j zNrm0kk{0|J#8cfzKe|mgEeXDc+)Gdt)ppS0Q#8-OZRPd#LDa60W%bjZ{)sAT+lF1xz>V*aV$i%2sPi!Ms# zSS36t>d{UL{GYVeW8LgH@7jVZMiBiZ5o}}xEK&#lh+>LT(K5Fxnkz!t@ zCeYh#yV*JMA^L|8t*9bP@EsXDWy^9!B)uAGViu@007$Pt4h}_}^1h6EJa#oR{>E1@ zZV}Fb!up8hGV$&$h?pIb0I@kOFC3PNg@vvsewOApvx)~)9vm#EW3spLOib<;z+d0b z6q_)UGS-RUp^_W)@}c}39h3iY{DH^Uf>1OHch#AB`M@~C_n3oR65DaRdBdP#WHN&$ zKc2=S$l56zgQroW=QElFq)<Rym5EBSbrc3r4<%^6Iz{rh^j{Sk+nzXdidcBO9N4AE{l8tn%(l{wbr8|Ox15Z7GVPE!!umRfc>f6gf| z*{W+BpLc50I#Fvj+4lGMClTrBoY4xUTDrZ7OgM!9zxZLPmexRdh(#b>Q;^1+QEN)R zu(&{Rp=y#{jDMUOS!0O98h=@{g%*j&`#7#N67ti2MmKcQs%y7AO zqY!Kx2wKS|SLyv|C!J(r;&G5)(gvY08qc*$KBGbTSrN&S;wU2WR>?(sovCwe-8^{Y zt(t-rPy6>9*{uXUsrK52MHA++~Q@ldjUy;-^>8>WxtN*&`QW+Mkq^q+M^HnfLX3X(=%J1-KGH z%fT4h3WpF_^Sx;Cf zi?#-Q3fg;{y9uvfv?GAZARA=b){vvURDbx#k#Asa8Pa#&o`Vtyv|~N;Q9Td`l$VS} zQh9I+D7n|l+=TUlfp()w#hUtrgkPQNatfy-Oj7X1Hm~Q;)7Cn)P94O)d0ej*NjOtD zYJgwGD%t=NxmNIDb6Ky3l2gh1oxO>%8VNC(Sfsq78bbH@fOtm;OEqh>DCZ~K$>yP1 zv)x~+o-HAcg#007WLRv&eP;D`R+*CWY9Ryd65=Gk#ST|f&c$J<18%d=wos*5Fmg&4 z;{e8)=R>wZ$3{E~5W_M65}^P=)%T`rN-yXEFWv-ysFD}z$Tr12`N9Ji@Do!GjKBO5 zBUj0BwE<(3Z~w>#T%6r{)5;e~eprRl&`5TKUT# z^|8{~S0*FRwXp^x=@KJQHC{?)*F#n|BqC}tgSTYCAQ1l64?t10H&P|dA<)l&gS8cp zeg72McuX~Pv>B+$NQFyYEX$v$Kg}q8ISgJcQG(Yf@ zQ)ei9;yFnqlaQ@eTc8PmB)9V8URy^TTq^BzN>~INITiIp)XJ5pU!gd*WfvVK*QP(3 zv88WL`=6gk!ly%@50qyKD8OTSy70aF_7KwKjSKN&ukZbM2=HSS>t{ooIa50-`IiTh zxgKU@yPFmqr!6FL%RjN3<+}EHT5yXVs9Et8$EwW`^Ii3!Bcm>jWa9nGLm62#6Tr&LP|J1{vNDl&VX@Vf^kD{eS*N0I$X33vHFvJ6XN;bR;x-2z{4v)acjqL%(U$02 z9n)8;c6gOHe)q47VAYCpLU74{P5*SUx)2~w$qnyYsU21<`%fvZ{n7PAeVDQeb27>? znGM(DkR>j-khe%kMhbf4m4xe8t7KQ#JQDBBKfMDe2v?Nved=;($KmFF$jb9t81wGHxc53sf41V-U9MF!p*y9~Di zld`EITnb+L>oIA>%yNj6KK`?bF}8ge)U9AG_VK6XOXjUc zL7|aC)vAF7j)Zi=zdrx2bAcJCcV!%NaA0jN%IAg%+ZS}kV=4nk0PQId_HF!O1tbDS zGQ!Tu-=kg}p=?KdT(o84(K845-=AuH`Hy0KfxuC9elEzqNWYQ!%Zy2=P9>&uSIn>L zm|`6*BxXy@kKiCj^&I2SehP<_ec{2h$^*y{9GLBIe8s#(z_uojgh}{ zYvsFZ1HH$smNHHx}gp*?dO3KKG4=mnP4M_r9jCu7*Qkr&`Qz%!f%meK3a7 zZlfKS6SEfWg}%l7__)7jb|wA}wn1ZY+IHba;$>@&JNUv*iPOg0%BK`GJ7CC)4+l^bT?rv>7eObg4Kk46OaV?aOoV5n#*)@Q_VKJH