From 26082740af9e9016e0bbddb6a1b42143babdbabe Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Mon, 19 Nov 2018 00:41:15 +0100 Subject: [PATCH 01/15] payloadmask --- README.md | 5 +- include/{bme680read.h => bme680.h} | 4 +- include/globals.h | 30 ++++++++++-- platformio.ini | 2 +- src/TTN/packed_decoder.js | 4 +- src/{bme680read.cpp => bme680.cpp} | 2 +- src/configmanager.cpp | 14 +++--- src/gpsread.cpp | 4 +- src/payload.cpp | 13 ++++- src/rcommand.cpp | 6 ++- src/senddata.cpp | 78 ++++++++++++++++++------------ 11 files changed, 104 insertions(+), 58 deletions(-) rename include/{bme680read.h => bme680.h} (84%) rename src/{bme680read.cpp => bme680.cpp} (96%) diff --git a/README.md b/README.md index 88a52486..213e83c4 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,6 @@ Hereafter described is the default *plain* format, which uses MSB bit numbering. byte 1-2: Number of unique pax, first seen on Wifi byte 3-4: Number of unique pax, first seen on Bluetooth [0 if BT disabled] - bytes 5-18: GPS data, format see Port #4 (appended only, if GPS is present and has a fix) **Port #2:** Device status query result @@ -177,12 +176,12 @@ Hereafter described is the default *plain* format, which uses MSB bit numbering. byte 13: Wifi antenna switch (0=internal, 1=external) [default 0] byte 14: Vendorfilter mode (0=disabled, 1=enabled) [default 0] byte 15: RGB LED luminosity (0..100 %) [default 30] - byte 16: GPS send data mode (1=on, 0=ff) [default 1] + byte 16: Payload filter mask byte 17: Beacon proximity alarm mode (1=on, 0=off) [default 0] bytes 18-28: Software version (ASCII format, terminating with zero) -**Port #4:** GPS query result +**Port #4:** GPS query result (device answers only if has GPS and GPS has a fix) bytes 1-4: Latitude bytes 5-8: Longitude diff --git a/include/bme680read.h b/include/bme680.h similarity index 84% rename from include/bme680read.h rename to include/bme680.h index 4573f22f..6b8e3827 100644 --- a/include/bme680read.h +++ b/include/bme680.h @@ -1,5 +1,5 @@ -#ifndef _HAS_BME -#define _HAS_BME +#ifndef _BME680_H +#define _BME680_H #include "globals.h" #include diff --git a/include/globals.h b/include/globals.h index 575bc931..8a10cc9f 100644 --- a/include/globals.h +++ b/include/globals.h @@ -9,6 +9,26 @@ #include #include +// bits in payloadmask for filtering payload data +#define GPS_DATA (0x01) +#define ALARM_DATA (0x02) +#define MEMS_DATA (0x04) +#define COUNT_DATA (0x08) +#define SENSOR1_DATA (0x10) +#define SENSOR2_DATA (0x20) +#define SENSOR3_DATA (0x40) +#define SENSOR4_DATA (0x80) + +// bits in configmask for device runmode control +#define GPS_MODE (0x01) +#define ALARM_MODE (0x02) +#define BEACON_MODE (0x04) +#define UPDATE_MODE (0x08) +#define FILTER_MODE (0x10) +#define ANTENNA_MODE (0x20) +#define BLE_MODE (0x40) +#define SCREEN_MODE (0x80) + // Struct holding devices's runtime configuration typedef struct { uint8_t lorasf; // 7-12, lora spreadfactor @@ -25,9 +45,9 @@ typedef struct { uint8_t wifiant; // 0=internal, 1=external (for LoPy/LoPy4) uint8_t vendorfilter; // 0=disabled, 1=enabled uint8_t rgblum; // RGB Led luminosity (0..100%) - uint8_t gpsmode; // 0=disabled, 1=enabled uint8_t monitormode; // 0=disabled, 1=enabled uint8_t runmode; // 0=normal, 1=update + uint8_t payloadmask; // bitswitches for payload data char version[10]; // Firmware version } configData_t; @@ -47,9 +67,9 @@ typedef struct { } gpsStatus_t; typedef struct { - float temperature; // Temperature in degrees Centigrade - uint16_t pressure; // Barometic pressure in hecto pascals - float humidity; // Relative humidity in percent + float temperature; // Temperature in degrees Centigrade + uint16_t pressure; // Barometic pressure in hecto pascals + float humidity; // Relative humidity in percent uint16_t gas_resistance; // Resistance in MOhms } bmeStatus_t; @@ -75,7 +95,7 @@ extern TaskHandle_t irqHandlerTask, wifiSwitchTask; #endif #ifdef HAS_BME -#include "bme680read.h" +#include "bme680.h" #endif #ifdef HAS_LORA diff --git a/platformio.ini b/platformio.ini index 55a4789f..c261bd38 100644 --- a/platformio.ini +++ b/platformio.ini @@ -29,7 +29,7 @@ description = Paxcounter is a proof-of-concept ESP32 device for metering passeng [common] ; for release_version use max. 10 chars total, use any decimal format like "a.b.c" -release_version = 1.6.82 +release_version = 1.6.83 ; DEBUG LEVEL: For production run set to 0, otherwise device will leak RAM while running! ; 0=None, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Verbose debug_level = 0 diff --git a/src/TTN/packed_decoder.js b/src/TTN/packed_decoder.js index cd7e2014..0571bfa0 100644 --- a/src/TTN/packed_decoder.js +++ b/src/TTN/packed_decoder.js @@ -23,7 +23,7 @@ function Decoder(bytes, port) { if (port === 3) { // device config data - return decode(bytes, [uint8, uint8, uint16, uint8, uint8, uint8, uint8, bitmap, version], ['lorasf', 'txpower', 'rssilimit', 'sendcycle', 'wifichancycle', 'blescantime', 'rgblum', 'flags', 'version']); + return decode(bytes, [uint8, uint8, uint16, uint8, uint8, uint8, uint8, bitmap, bitmap, version], ['lorasf', 'txpower', 'rssilimit', 'sendcycle', 'wifichancycle', 'blescantime', 'rgblum', 'flags', 'payloadmask', 'version']); } if (port === 4) { @@ -157,7 +157,7 @@ var bitmap = function (byte) { } var i = bytesToInt(byte); var bm = ('00000000' + Number(i).toString(2)).substr(-8).split('').map(Number).map(Boolean); - return ['adr', 'screensaver', 'screen', 'countermode', 'blescan', 'antenna', 'filter', 'gpsmode'] + return ['adr', 'screensaver', 'screen', 'countermode', 'blescan', 'antenna', 'filter', 'alarm'] .reduce(function (obj, pos, index) { obj[pos] = +bm[index]; return obj; diff --git a/src/bme680read.cpp b/src/bme680.cpp similarity index 96% rename from src/bme680read.cpp rename to src/bme680.cpp index 5946a7a6..22c7b684 100644 --- a/src/bme680read.cpp +++ b/src/bme680.cpp @@ -1,6 +1,6 @@ #ifdef HAS_BME -#include "bme680read.h" +#include "bme680.h" // Local logging tag static const char TAG[] = "main"; diff --git a/src/configmanager.cpp b/src/configmanager.cpp index 8fa6b2f9..c90f0f4b 100644 --- a/src/configmanager.cpp +++ b/src/configmanager.cpp @@ -29,9 +29,9 @@ void defaultConfig() { cfg.wifiant = 0; // 0=internal, 1=external (for LoPy/LoPy4) cfg.vendorfilter = 1; // 0=disabled, 1=enabled cfg.rgblum = RGBLUMINOSITY; // RGB Led luminosity (0..100%) - cfg.gpsmode = 1; // 0=disabled, 1=enabled cfg.monitormode = 0; // 0=disabled, 1=enabled cfg.runmode = 0; // 0=normal, 1=update + cfg.payloadmask = 0xFF; // all payload switched on strncpy(cfg.version, PROGVERSION, sizeof(cfg.version) - 1); } @@ -136,9 +136,9 @@ void saveConfig() { flash8 != cfg.rgblum) nvs_set_i8(my_handle, "rgblum", cfg.rgblum); - if (nvs_get_i8(my_handle, "gpsmode", &flash8) != ESP_OK || - flash8 != cfg.gpsmode) - nvs_set_i8(my_handle, "gpsmode", cfg.gpsmode); + if (nvs_get_i8(my_handle, "payloadmask", &flash8) != ESP_OK || + flash8 != cfg.payloadmask) + nvs_set_i8(my_handle, "payloadmask", cfg.payloadmask); if (nvs_get_i8(my_handle, "monitormode", &flash8) != ESP_OK || flash8 != cfg.monitormode) @@ -315,11 +315,11 @@ void loadConfig() { saveConfig(); } - if (nvs_get_i8(my_handle, "gpsmode", &flash8) == ESP_OK) { - cfg.gpsmode = flash8; + if (nvs_get_i8(my_handle, "payloadmask", &flash8) == ESP_OK) { + cfg.payloadmask = flash8; ESP_LOGI(TAG, "GPS mode = %d", flash8); } else { - ESP_LOGI(TAG, "GPS mode set to default %d", cfg.gpsmode); + ESP_LOGI(TAG, "GPS mode set to default %d", cfg.payloadmask); saveConfig(); } diff --git a/src/gpsread.cpp b/src/gpsread.cpp index 126f7739..bc5d4613 100644 --- a/src/gpsread.cpp +++ b/src/gpsread.cpp @@ -49,7 +49,7 @@ void gps_loop(void *pvParameters) { while (1) { - if (cfg.gpsmode) { + if (cfg.payloadmask && GPS_DATA) { #if defined GPS_SERIAL // feed GPS decoder with serial NMEA data from GPS device while (GPS_Serial.available()) { @@ -62,7 +62,7 @@ void gps_loop(void *pvParameters) { vTaskDelay(2 / portTICK_PERIOD_MS); // 2ms delay according L76 datasheet } #endif - } // if (cfg.gpsmode) + } // if vTaskDelay(2 / portTICK_PERIOD_MS); // yield to CPU diff --git a/src/payload.cpp b/src/payload.cpp index 5bb0339d..d6d405fb 100644 --- a/src/payload.cpp +++ b/src/payload.cpp @@ -47,7 +47,7 @@ void PayloadConvert::addConfig(configData_t value) { buffer[cursor++] = value.wifiant; buffer[cursor++] = value.vendorfilter; buffer[cursor++] = value.rgblum; - buffer[cursor++] = value.gpsmode; + buffer[cursor++] = value.payloadmask; buffer[cursor++] = value.monitormode; memcpy(buffer + cursor, value.version, 10); cursor += 10; @@ -142,7 +142,16 @@ void PayloadConvert::addConfig(configData_t value) { writeBitmap(value.adrmode ? true : false, value.screensaver ? true : false, value.screenon ? true : false, value.countermode ? true : false, value.blescan ? true : false, value.wifiant ? true : false, - value.vendorfilter ? true : false, value.gpsmode ? true : false); + value.vendorfilter ? true : false, + value.monitormode ? true : false); + writeBitmap(value.payloadmask && GPS_DATA ? true : false, + value.payloadmask && ALARM_DATA ? true : false, + value.payloadmask && MEMS_DATA ? true : false, + value.payloadmask && COUNT_DATA ? true : false, + value.payloadmask && SENSOR1_DATA ? true : false, + value.payloadmask && SENSOR2_DATA ? true : false, + value.payloadmask && SENSOR3_DATA ? true : false, + value.payloadmask && SENSOR4_DATA ? true : false); writeVersion(value.version); } diff --git a/src/rcommand.cpp b/src/rcommand.cpp index 2c2dffc4..3918af5f 100644 --- a/src/rcommand.cpp +++ b/src/rcommand.cpp @@ -127,7 +127,11 @@ void set_display(uint8_t val[]) { void set_gps(uint8_t val[]) { ESP_LOGI(TAG, "Remote command: set GPS mode to %s", val[0] ? "on" : "off"); - cfg.gpsmode = val[0] ? 1 : 0; + if (val[0]) { + cfg.payloadmask |= (uint8_t)GPS_DATA; // set bit in mask + } else { + cfg.payloadmask &= ~(uint8_t)GPS_DATA; // clear bit in mask + } } void set_beacon(uint8_t val[]) { diff --git a/src/senddata.cpp b/src/senddata.cpp index b9bc467d..2331dbf4 100644 --- a/src/senddata.cpp +++ b/src/senddata.cpp @@ -21,43 +21,57 @@ void SendPayload(uint8_t port) { // interrupt triggered function to prepare payload to send void sendCounter() { - // append counter data to payload - payload.reset(); - payload.addCount(macs_wifi, cfg.blescan ? macs_ble : 0); - // append GPS data, if present + uint8_t bitmask = cfg.payloadmask; + uint8_t mask = 1; - // clear counter if not in cumulative counter mode - if (cfg.countermode != 1) { - reset_counters(); // clear macs container and reset all counters - get_salt(); // get new salt for salting hashes - ESP_LOGI(TAG, "Counter cleared"); - } + while (bitmask) { -#ifdef HAS_GPS - // show NMEA data in debug mode, useful for debugging GPS on board - // connection - ESP_LOGD(TAG, "GPS NMEA data: passed %d / failed: %d / with fix: %d", - gps.passedChecksum(), gps.failedChecksum(), gps.sentencesWithFix()); - // log GPS position if we have a fix and gps data mode is enabled - if ((cfg.gpsmode) && (gps.location.isValid())) { - gps_read(); - payload.addGPS(gps_status); - ESP_LOGD(TAG, "lat=%.6f | lon=%.6f | %u Sats | HDOP=%.1f | Altitude=%um", - gps_status.latitude / (float)1e6, - gps_status.longitude / (float)1e6, gps_status.satellites, - gps_status.hdop / (float)100, gps_status.altitude); - } else { - ESP_LOGD(TAG, "No valid GPS position or GPS data mode disabled"); - } -#endif - SendPayload(COUNTERPORT); + payload.reset(); + switch (bitmask & mask) { -// if we have MEMS sensor, send sensor data in separate frame + case COUNT_DATA: + payload.addCount(macs_wifi, cfg.blescan ? macs_ble : 0); + SendPayload(COUNTERPORT); + // clear counter if not in cumulative counter mode + if (cfg.countermode != 1) { + reset_counters(); // clear macs container and reset all counters + get_salt(); // get new salt for salting hashes + ESP_LOGI(TAG, "Counter cleared"); + } + break; + + case MEMS_DATA: #ifdef HAS_BME - payload.reset(); - payload.addBME(bme_status); - SendPayload(BMEPORT); + payload.addBME(bme_status); + SendPayload(BMEPORT); #endif + break; + + case GPS_DATA: +#ifdef HAS_GPS + // show NMEA data in debug mode, useful for debugging GPS + ESP_LOGD(TAG, "GPS NMEA data: passed %d / failed: %d / with fix: %d", + gps.passedChecksum(), gps.failedChecksum(), + gps.sentencesWithFix()); + // send GPS position only if we have a fix + if (gps.location.isValid()) { + ESP_LOGD(TAG, + "lat=%.6f | lon=%.6f | %u Sats | HDOP=%.1f | Altitude=%um", + gps_status.latitude / (float)1e6, + gps_status.longitude / (float)1e6, gps_status.satellites, + gps_status.hdop / (float)100, gps_status.altitude); + gps_read(); + payload.addGPS(gps_status); + SendPayload(GPSPORT); + } else + ESP_LOGD(TAG, "No valid GPS position"); +#endif + break; + + } // switch + bitmask &= ~mask; + mask <<= 1; + } // while (bitmask) } // sendCounter() From 467f6d70f896883c585ee717d58a61c7b8f9eeb4 Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Tue, 20 Nov 2018 15:02:37 +0100 Subject: [PATCH 02/15] created: usersensor, bme680 bsec, update arduino-esp32 core --- include/globals.h | 4 + include/ota.h | 3 +- include/payload.h | 1 + include/sensor.h | 6 + include/update.h | 184 - lib/Bosch-BSEC-1.4.7.1/LICENSE | 39 + lib/Bosch-BSEC-1.4.7.1/README.md | 282 + lib/Bosch-BSEC-1.4.7.1/bme680.c | 1367 ++ lib/Bosch-BSEC-1.4.7.1/bme680.h | 225 + lib/Bosch-BSEC-1.4.7.1/bme680_defs.h | 545 + lib/Bosch-BSEC-1.4.7.1/bsec_datatypes.h | 488 + lib/Bosch-BSEC-1.4.7.1/bsec_interface.h | 564 + .../generic_18v_300s_28d/bsec_iaq.config | Bin 0 -> 458 bytes .../config/generic_18v_300s_28d/bsec_iaq.csv | 1 + .../bsec_serialized_configurations_iaq.c | 5 + .../bsec_serialized_configurations_iaq.h | 4 + .../generic_18v_300s_4d/bsec_iaq.config | Bin 0 -> 458 bytes .../config/generic_18v_300s_4d/bsec_iaq.csv | 1 + .../bsec_serialized_configurations_iaq.c | 5 + .../bsec_serialized_configurations_iaq.h | 4 + .../config/generic_18v_3s_28d/bsec_iaq.config | Bin 0 -> 458 bytes .../config/generic_18v_3s_28d/bsec_iaq.csv | 1 + .../bsec_serialized_configurations_iaq.c | 5 + .../bsec_serialized_configurations_iaq.h | 4 + .../config/generic_18v_3s_4d/bsec_iaq.config | Bin 0 -> 458 bytes .../config/generic_18v_3s_4d/bsec_iaq.csv | 1 + .../bsec_serialized_configurations_iaq.c | 5 + .../bsec_serialized_configurations_iaq.h | 4 + .../generic_33v_300s_28d/bsec_iaq.config | Bin 0 -> 458 bytes .../config/generic_33v_300s_28d/bsec_iaq.csv | 1 + .../bsec_serialized_configurations_iaq.c | 5 + .../bsec_serialized_configurations_iaq.h | 4 + .../generic_33v_300s_4d/bsec_iaq.config | Bin 0 -> 458 bytes .../config/generic_33v_300s_4d/bsec_iaq.csv | 1 + .../bsec_serialized_configurations_iaq.c | 5 + .../bsec_serialized_configurations_iaq.h | 4 + .../config/generic_33v_3s_28d/bsec_iaq.config | Bin 0 -> 458 bytes .../config/generic_33v_3s_28d/bsec_iaq.csv | 1 + .../bsec_serialized_configurations_iaq.c | 5 + .../bsec_serialized_configurations_iaq.h | 4 + .../config/generic_33v_3s_4d/bsec_iaq.config | Bin 0 -> 458 bytes .../config/generic_33v_3s_4d/bsec_iaq.csv | 1 + .../bsec_serialized_configurations_iaq.c | 5 + .../bsec_serialized_configurations_iaq.h | 4 + .../docs/BSEC - release notes_1.4.7.1.pdf | Bin 0 -> 101741 bytes .../docs/BSEC_Binary_Size_Information.pdf | Bin 0 -> 215302 bytes .../BST-BME680-Integration-Guide-AN008-47.pdf | 17794 ++++++++++++++++ .../examples/bsec_integration.c | 559 + .../examples/bsec_integration.h | 165 + .../examples/bsec_iot_example.c | 258 + .../examples/bsec_iot_example.ino | 291 + .../examples/bsec_iot_ulp_plus_example.c | 290 + .../examples/bsec_iot_ulp_plus_example.ino | 342 + lib/Bosch-BSEC-1.4.7.1/libalgobsec.a | Bin 0 -> 181430 bytes lib/Bosch-BSEC-1.4.7.1/libalgobsec.a.Size.log | 2 + platformio.ini | 25 +- src/gpsread.cpp | 3 + src/hal/ebox.h | 2 +- src/hal/eboxtube.h | 2 +- src/hal/fipy.h | 2 +- src/hal/generic.h | 4 +- src/hal/heltec.h | 22 +- src/hal/heltecv2.h | 9 +- src/hal/lolin32litelora.h | 2 +- src/hal/lolin32lora.h | 2 +- src/hal/lopy.h | 2 +- src/hal/lopy4.h | 2 +- src/hal/octopus32.h | 2 +- src/hal/ttgobeam.h | 2 +- src/hal/ttgov1.h | 2 +- src/hal/ttgov2.h | 2 +- src/hal/ttgov21new.h | 2 +- src/hal/ttgov21old.h | 2 +- src/lorawan.cpp | 2 +- src/ota.cpp | 4 +- src/paxcounter.conf | 5 + src/payload.cpp | 28 +- src/senddata.cpp | 50 +- src/sensor.cpp | 48 + src/update.cpp | 375 - 80 files changed, 23464 insertions(+), 626 deletions(-) create mode 100644 include/sensor.h delete mode 100644 include/update.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/LICENSE create mode 100644 lib/Bosch-BSEC-1.4.7.1/README.md create mode 100644 lib/Bosch-BSEC-1.4.7.1/bme680.c create mode 100644 lib/Bosch-BSEC-1.4.7.1/bme680.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/bme680_defs.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/bsec_datatypes.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/bsec_interface.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_iaq.config create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_iaq.csv create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_serialized_configurations_iaq.c create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_serialized_configurations_iaq.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_iaq.config create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_iaq.csv create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.c create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_iaq.config create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_iaq.csv create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_serialized_configurations_iaq.c create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_serialized_configurations_iaq.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_iaq.config create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_iaq.csv create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.c create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_iaq.config create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_iaq.csv create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_serialized_configurations_iaq.c create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_serialized_configurations_iaq.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_iaq.config create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_iaq.csv create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.c create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_iaq.config create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_iaq.csv create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.c create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_iaq.config create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_iaq.csv create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.c create mode 100644 lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/docs/BSEC - release notes_1.4.7.1.pdf create mode 100644 lib/Bosch-BSEC-1.4.7.1/docs/BSEC_Binary_Size_Information.pdf create mode 100644 lib/Bosch-BSEC-1.4.7.1/docs/BST-BME680-Integration-Guide-AN008-47.pdf create mode 100644 lib/Bosch-BSEC-1.4.7.1/examples/bsec_integration.c create mode 100644 lib/Bosch-BSEC-1.4.7.1/examples/bsec_integration.h create mode 100644 lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_example.c create mode 100644 lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_example.ino create mode 100644 lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_ulp_plus_example.c create mode 100644 lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_ulp_plus_example.ino create mode 100644 lib/Bosch-BSEC-1.4.7.1/libalgobsec.a create mode 100644 lib/Bosch-BSEC-1.4.7.1/libalgobsec.a.Size.log create mode 100644 src/sensor.cpp delete mode 100644 src/update.cpp diff --git a/include/globals.h b/include/globals.h index 8a10cc9f..7b68c88d 100644 --- a/include/globals.h +++ b/include/globals.h @@ -122,4 +122,8 @@ extern TaskHandle_t irqHandlerTask, wifiSwitchTask; #include "antenna.h" #endif +#ifdef HAS_SENSORS +#include "sensor.h" +#endif + #endif \ No newline at end of file diff --git a/include/ota.h b/include/ota.h index 54230762..3c6c8318 100644 --- a/include/ota.h +++ b/include/ota.h @@ -5,7 +5,8 @@ #include "globals.h" #include "battery.h" -#include "update.h" +//#include "update.h" +#include #include #include #include diff --git a/include/payload.h b/include/payload.h index 5acd0a76..91bf3778 100644 --- a/include/payload.h +++ b/include/payload.h @@ -47,6 +47,7 @@ public: void addGPS(gpsStatus_t value); void addBME(bmeStatus_t value); void addButton(uint8_t value); + void addSensor(uint8_t[]); #if PAYLOAD_ENCODER == 1 // format plain diff --git a/include/sensor.h b/include/sensor.h new file mode 100644 index 00000000..1b752dc6 --- /dev/null +++ b/include/sensor.h @@ -0,0 +1,6 @@ +#ifndef _SENSOR_H +#define _SENSOR_H + +uint8_t * sensor_read(uint8_t sensor); + +#endif \ No newline at end of file diff --git a/include/update.h b/include/update.h deleted file mode 100644 index 87c6f35c..00000000 --- a/include/update.h +++ /dev/null @@ -1,184 +0,0 @@ -#ifndef ESP8266UPDATER_H -#define ESP8266UPDATER_H - -#include -#include -#include -#include "esp_partition.h" - -#define UPDATE_ERROR_OK (0) -#define UPDATE_ERROR_WRITE (1) -#define UPDATE_ERROR_ERASE (2) -#define UPDATE_ERROR_READ (3) -#define UPDATE_ERROR_SPACE (4) -#define UPDATE_ERROR_SIZE (5) -#define UPDATE_ERROR_STREAM (6) -#define UPDATE_ERROR_MD5 (7) -#define UPDATE_ERROR_MAGIC_BYTE (8) -#define UPDATE_ERROR_ACTIVATE (9) -#define UPDATE_ERROR_NO_PARTITION (10) -#define UPDATE_ERROR_BAD_ARGUMENT (11) -#define UPDATE_ERROR_ABORT (12) - -#define UPDATE_SIZE_UNKNOWN 0xFFFFFFFF - -#define U_FLASH 0 -#define U_SPIFFS 100 -#define U_AUTH 200 - -class UpdateClass { - public: - typedef std::function THandlerFunction_Progress; - - UpdateClass(); - - /* - This callback will be called when Update is receiving data - */ - UpdateClass& onProgress(THandlerFunction_Progress fn); - - /* - Call this to check the space needed for the update - Will return false if there is not enough space - */ - bool begin(size_t size=UPDATE_SIZE_UNKNOWN, int command = U_FLASH, int ledPin = -1, uint8_t ledOn = LOW); - - /* - Writes a buffer to the flash and increments the address - Returns the amount written - */ - size_t write(uint8_t *data, size_t len); - - /* - Writes the remaining bytes from the Stream to the flash - Uses readBytes() and sets UPDATE_ERROR_STREAM on timeout - Returns the bytes written - Should be equal to the remaining bytes when called - Usable for slow streams like Serial - */ - size_t writeStream(Stream &data); - - /* - If all bytes are written - this call will write the config to eboot - and return true - If there is already an update running but is not finished and !evenIfRemainanig - or there is an error - this will clear everything and return false - the last error is available through getError() - evenIfRemaining is helpfull when you update without knowing the final size first - */ - bool end(bool evenIfRemaining = false); - - /* - Aborts the running update - */ - void abort(); - - /* - Prints the last error to an output stream - */ - void printError(Stream &out); - - /* - sets the expected MD5 for the firmware (hexString) - */ - bool setMD5(const char * expected_md5); - - /* - returns the MD5 String of the sucessfully ended firmware - */ - String md5String(void){ return _md5.toString(); } - - /* - populated the result with the md5 bytes of the sucessfully ended firmware - */ - void md5(uint8_t * result){ return _md5.getBytes(result); } - - //Helpers - uint8_t getError(){ return _error; } - void clearError(){ _error = UPDATE_ERROR_OK; } - bool hasError(){ return _error != UPDATE_ERROR_OK; } - bool isRunning(){ return _size > 0; } - bool isFinished(){ return _progress == _size; } - size_t size(){ return _size; } - size_t progress(){ return _progress; } - size_t remaining(){ return _size - _progress; } - - /* - Template to write from objects that expose - available() and read(uint8_t*, size_t) methods - faster than the writeStream method - writes only what is available - */ - template - size_t write(T &data){ - size_t written = 0; - if (hasError() || !isRunning()) - return 0; - - size_t available = data.available(); - while(available) { - if(_bufferLen + available > remaining()){ - available = remaining() - _bufferLen; - } - if(_bufferLen + available > 4096) { - size_t toBuff = 4096 - _bufferLen; - data.read(_buffer + _bufferLen, toBuff); - _bufferLen += toBuff; - if(!_writeBuffer()) - return written; - written += toBuff; - } else { - data.read(_buffer + _bufferLen, available); - _bufferLen += available; - written += available; - if(_bufferLen == remaining()) { - if(!_writeBuffer()) { - return written; - } - } - } - if(remaining() == 0) - return written; - available = data.available(); - } - return written; - } - - /* - check if there is a firmware on the other OTA partition that you can bootinto - */ - bool canRollBack(); - /* - set the other OTA partition as bootable (reboot to enable) - */ - bool rollBack(); - - private: - void _reset(); - void _abort(uint8_t err); - bool _writeBuffer(); - bool _verifyHeader(uint8_t data); - bool _verifyEnd(); - - - uint8_t _error; - uint8_t *_buffer; - size_t _bufferLen; - size_t _size; - THandlerFunction_Progress _progress_callback; - uint32_t _progress; - uint32_t _command; - const esp_partition_t* _partition; - - String _target_md5; - MD5Builder _md5; - - int _ledPin; - uint8_t _ledOn; -}; - -extern UpdateClass Update; - -#endif \ No newline at end of file diff --git a/lib/Bosch-BSEC-1.4.7.1/LICENSE b/lib/Bosch-BSEC-1.4.7.1/LICENSE new file mode 100644 index 00000000..ab7a8c8b --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/LICENSE @@ -0,0 +1,39 @@ +Copyright (C) 2017 - 2018 Bosch Sensortec GmbH + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +Neither the name of the copyright holder nor the names of the +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER +OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, +OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + +The information provided is believed to be accurate and reliable. +The copyright holder assumes no responsibility +for the consequences of use +of such information nor for any infringement of patents or +other rights of third parties which may result from its use. +No license is granted by implication or otherwise under any patent or +patent rights of the copyright holder. \ No newline at end of file diff --git a/lib/Bosch-BSEC-1.4.7.1/README.md b/lib/Bosch-BSEC-1.4.7.1/README.md new file mode 100644 index 00000000..43abe55c --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/README.md @@ -0,0 +1,282 @@ +# BME680 sensor API + +## Introduction + +This package contains the Bosch Sensortec's BME680 gas sensor API + +The sensor driver package includes bme680.h, bme680.c and bme680_defs.h files + +## Version + +File | Version | Date +--------------|---------|------------- +bme680.c | 3.5.9 | 19 Jun 2018 +bme680.h | 3.5.9 | 19 Jun 2018 +bme680_defs.h | 3.5.9 | 19 Jun 2018 + +## Integration details + +* Integrate bme680.h, bme680_defs.h and bme680.c file in to your project. +* Include the bme680.h file in your code like below. + +``` c +#include "bme680.h" +``` + +## File information + +* bme680_defs.h : This header file has the constants, macros and datatype declarations. +* bme680.h : This header file contains the declarations of the sensor driver APIs. +* bme680.c : This source file contains the definitions of the sensor driver APIs. + +## Supported sensor interfaces + +* SPI 4-wire +* I2C + +## Usage guide + +### Initializing the sensor + +To initialize the sensor, you will first need to create a device structure. You +can do this by creating an instance of the structure bme680_dev. Then go on to +fill in the various parameters as shown below + +#### Example for SPI 4-Wire + +``` c + struct bme680_dev gas_sensor; + + /* You may assign a chip select identifier to be handled later */ + gas_sensor.dev_id = 0; + gas_sensor.intf = BME680_SPI_INTF; + gas_sensor.read = user_spi_read; + gas_sensor.write = user_spi_write; + gas_sensor.delay_ms = user_delay_ms; + /* amb_temp can be set to 25 prior to configuring the gas sensor + * or by performing a few temperature readings without operating the gas sensor. + */ + gas_sensor.amb_temp = 25; + + int8_t rslt = BME680_OK; + rslt = bme680_init(&gas_sensor); +``` + +#### Example for I2C + +``` c + struct bme680_dev gas_sensor; + + gas_sensor.dev_id = BME680_I2C_ADDR_PRIMARY; + gas_sensor.intf = BME680_I2C_INTF; + gas_sensor.read = user_i2c_read; + gas_sensor.write = user_i2c_write; + gas_sensor.delay_ms = user_delay_ms; + /* amb_temp can be set to 25 prior to configuring the gas sensor + * or by performing a few temperature readings without operating the gas sensor. + */ + gas_sensor.amb_temp = 25; + + + int8_t rslt = BME680_OK; + rslt = bme680_init(&gas_sensor); +``` + +Regarding compensation functions for temperature, pressure, humidity and gas we have two implementations. + + - Integer version + - floating point version + +By default, Integer version is used in the API + +If the user needs the floating point version, the user has to un-comment BME680_FLOAT_POINT_COMPENSATION macro +in bme680_defs.h file or to add it in the compiler flags. + +### Configuring the sensor + +#### Example for configuring the sensor in forced mode + +``` c + uint8_t set_required_settings; + + /* Set the temperature, pressure and humidity settings */ + gas_sensor.tph_sett.os_hum = BME680_OS_2X; + gas_sensor.tph_sett.os_pres = BME680_OS_4X; + gas_sensor.tph_sett.os_temp = BME680_OS_8X; + gas_sensor.tph_sett.filter = BME680_FILTER_SIZE_3; + + /* Set the remaining gas sensor settings and link the heating profile */ + gas_sensor.gas_sett.run_gas = BME680_ENABLE_GAS_MEAS; + /* Create a ramp heat waveform in 3 steps */ + gas_sensor.gas_sett.heatr_temp = 320; /* degree Celsius */ + gas_sensor.gas_sett.heatr_dur = 150; /* milliseconds */ + + /* Select the power mode */ + /* Must be set before writing the sensor configuration */ + gas_sensor.power_mode = BME680_FORCED_MODE; + + /* Set the required sensor settings needed */ + set_required_settings = BME680_OST_SEL | BME680_OSP_SEL | BME680_OSH_SEL | BME680_FILTER_SEL + | BME680_GAS_SENSOR_SEL; + + /* Set the desired sensor configuration */ + rslt = bme680_set_sensor_settings(set_required_settings,&gas_sensor); + + /* Set the power mode */ + rslt = bme680_set_sensor_mode(&gas_sensor); + + +``` + +### Reading sensor data + +#### Example for reading all sensor data + +``` c + /* Get the total measurement duration so as to sleep or wait till the + * measurement is complete */ + uint16_t meas_period; + bme680_get_profile_dur(&meas_period, &gas_sensor); + + struct bme680_field_data data; + + while(1) + { + user_delay_ms(meas_period); /* Delay till the measurement is ready */ + + rslt = bme680_get_sensor_data(&data, &gas_sensor); + + printf("T: %.2f degC, P: %.2f hPa, H %.2f %%rH ", data.temperature / 100.0f, + data.pressure / 100.0f, data.humidity / 1000.0f ); + /* Avoid using measurements from an unstable heating setup */ + if(data.status & BME680_GASM_VALID_MSK) + printf(", G: %d ohms", data.gas_resistance); + + printf("\r\n"); + + /* Trigger the next measurement if you would like to read data out continuously */ + if (gas_sensor.power_mode == BME680_FORCED_MODE) { + rslt = bme680_set_sensor_mode(&gas_sensor); + } + } +``` + +### Templates for function pointers + +``` c + +void user_delay_ms(uint32_t period) +{ + /* + * Return control or wait, + * for a period amount of milliseconds + */ +} + +int8_t user_spi_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) +{ + int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ + + /* + * The parameter dev_id can be used as a variable to select which Chip Select pin has + * to be set low to activate the relevant device on the SPI bus + */ + + /* + * Data on the bus should be like + * |----------------+---------------------+-------------| + * | MOSI | MISO | Chip Select | + * |----------------+---------------------|-------------| + * | (don't care) | (don't care) | HIGH | + * | (reg_addr) | (don't care) | LOW | + * | (don't care) | (reg_data[0]) | LOW | + * | (....) | (....) | LOW | + * | (don't care) | (reg_data[len - 1]) | LOW | + * | (don't care) | (don't care) | HIGH | + * |----------------+---------------------|-------------| + */ + + return rslt; +} + +int8_t user_spi_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) +{ + int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ + + /* + * The parameter dev_id can be used as a variable to select which Chip Select pin has + * to be set low to activate the relevant device on the SPI bus + */ + + /* + * Data on the bus should be like + * |---------------------+--------------+-------------| + * | MOSI | MISO | Chip Select | + * |---------------------+--------------|-------------| + * | (don't care) | (don't care) | HIGH | + * | (reg_addr) | (don't care) | LOW | + * | (reg_data[0]) | (don't care) | LOW | + * | (....) | (....) | LOW | + * | (reg_data[len - 1]) | (don't care) | LOW | + * | (don't care) | (don't care) | HIGH | + * |---------------------+--------------|-------------| + */ + + return rslt; +} + +int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) +{ + int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ + + /* + * The parameter dev_id can be used as a variable to store the I2C address of the device + */ + + /* + * Data on the bus should be like + * |------------+---------------------| + * | I2C action | Data | + * |------------+---------------------| + * | Start | - | + * | Write | (reg_addr) | + * | Stop | - | + * | Start | - | + * | Read | (reg_data[0]) | + * | Read | (....) | + * | Read | (reg_data[len - 1]) | + * | Stop | - | + * |------------+---------------------| + */ + + return rslt; +} + +int8_t user_i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) +{ + int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ + + /* + * The parameter dev_id can be used as a variable to store the I2C address of the device + */ + + /* + * Data on the bus should be like + * |------------+---------------------| + * | I2C action | Data | + * |------------+---------------------| + * | Start | - | + * | Write | (reg_addr) | + * | Write | (reg_data[0]) | + * | Write | (....) | + * | Write | (reg_data[len - 1]) | + * | Stop | - | + * |------------+---------------------| + */ + + return rslt; +} + +``` + +## Copyright (C) 2017 - 2018 Bosch Sensortec GmbH \ No newline at end of file diff --git a/lib/Bosch-BSEC-1.4.7.1/bme680.c b/lib/Bosch-BSEC-1.4.7.1/bme680.c new file mode 100644 index 00000000..6067725a --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/bme680.c @@ -0,0 +1,1367 @@ +/**\mainpage + * Copyright (C) 2017 - 2018 Bosch Sensortec GmbH + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the copyright holder nor the names of the + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER + * OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + * OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + * The information provided is believed to be accurate and reliable. + * The copyright holder assumes no responsibility + * for the consequences of use + * of such information nor for any infringement of patents or + * other rights of third parties which may result from its use. + * No license is granted by implication or otherwise under any patent or + * patent rights of the copyright holder. + * + * File bme680.c + * @date 19 Jun 2018 + * @version 3.5.9 + * + */ + +/*! @file bme680.c + @brief Sensor driver for BME680 sensor */ +#include "bme680.h" + +/*! + * @brief This internal API is used to read the calibrated data from the sensor. + * + * This function is used to retrieve the calibration + * data from the image registers of the sensor. + * + * @note Registers 89h to A1h for calibration data 1 to 24 + * from bit 0 to 7 + * @note Registers E1h to F0h for calibration data 25 to 40 + * from bit 0 to 7 + * @param[in] dev :Structure instance of bme680_dev. + * + * @return Result of API execution status. + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error + */ +static int8_t get_calib_data(struct bme680_dev *dev); + +/*! + * @brief This internal API is used to set the gas configuration of the sensor. + * + * @param[in] dev :Structure instance of bme680_dev. + * + * @return Result of API execution status. + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error + */ +static int8_t set_gas_config(struct bme680_dev *dev); + +/*! + * @brief This internal API is used to get the gas configuration of the sensor. + * @note heatr_temp and heatr_dur values are currently register data + * and not the actual values set + * + * @param[in] dev :Structure instance of bme680_dev. + * + * @return Result of API execution status. + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error + */ +static int8_t get_gas_config(struct bme680_dev *dev); + +/*! + * @brief This internal API is used to calculate the Heat duration value. + * + * @param[in] dur :Value of the duration to be shared. + * + * @return uint8_t threshold duration after calculation. + */ +static uint8_t calc_heater_dur(uint16_t dur); + +#ifndef BME680_FLOAT_POINT_COMPENSATION + +/*! + * @brief This internal API is used to calculate the temperature value. + * + * @param[in] dev :Structure instance of bme680_dev. + * @param[in] temp_adc :Contains the temperature ADC value . + * + * @return uint32_t calculated temperature. + */ +static int16_t calc_temperature(uint32_t temp_adc, struct bme680_dev *dev); + +/*! + * @brief This internal API is used to calculate the pressure value. + * + * @param[in] dev :Structure instance of bme680_dev. + * @param[in] pres_adc :Contains the pressure ADC value . + * + * @return uint32_t calculated pressure. + */ +static uint32_t calc_pressure(uint32_t pres_adc, const struct bme680_dev *dev); + +/*! + * @brief This internal API is used to calculate the humidity value. + * + * @param[in] dev :Structure instance of bme680_dev. + * @param[in] hum_adc :Contains the humidity ADC value. + * + * @return uint32_t calculated humidity. + */ +static uint32_t calc_humidity(uint16_t hum_adc, const struct bme680_dev *dev); + +/*! + * @brief This internal API is used to calculate the Gas Resistance value. + * + * @param[in] dev :Structure instance of bme680_dev. + * @param[in] gas_res_adc :Contains the Gas Resistance ADC value. + * @param[in] gas_range :Contains the range of gas values. + * + * @return uint32_t calculated gas resistance. + */ +static uint32_t calc_gas_resistance(uint16_t gas_res_adc, uint8_t gas_range, const struct bme680_dev *dev); + +/*! + * @brief This internal API is used to calculate the Heat Resistance value. + * + * @param[in] dev : Structure instance of bme680_dev + * @param[in] temp : Contains the target temperature value. + * + * @return uint8_t calculated heater resistance. + */ +static uint8_t calc_heater_res(uint16_t temp, const struct bme680_dev *dev); + +#else +/*! + * @brief This internal API is used to calculate the + * temperature value value in float format + * + * @param[in] dev :Structure instance of bme680_dev. + * @param[in] temp_adc :Contains the temperature ADC value . + * + * @return Calculated temperature in float + */ +static float calc_temperature(uint32_t temp_adc, struct bme680_dev *dev); + +/*! + * @brief This internal API is used to calculate the + * pressure value value in float format + * + * @param[in] dev :Structure instance of bme680_dev. + * @param[in] pres_adc :Contains the pressure ADC value . + * + * @return Calculated pressure in float. + */ +static float calc_pressure(uint32_t pres_adc, const struct bme680_dev *dev); + +/*! + * @brief This internal API is used to calculate the + * humidity value value in float format + * + * @param[in] dev :Structure instance of bme680_dev. + * @param[in] hum_adc :Contains the humidity ADC value. + * + * @return Calculated humidity in float. + */ +static float calc_humidity(uint16_t hum_adc, const struct bme680_dev *dev); + +/*! + * @brief This internal API is used to calculate the + * gas resistance value value in float format + * + * @param[in] dev :Structure instance of bme680_dev. + * @param[in] gas_res_adc :Contains the Gas Resistance ADC value. + * @param[in] gas_range :Contains the range of gas values. + * + * @return Calculated gas resistance in float. + */ +static float calc_gas_resistance(uint16_t gas_res_adc, uint8_t gas_range, const struct bme680_dev *dev); + +/*! + * @brief This internal API is used to calculate the + * heater resistance value in float format + * + * @param[in] temp : Contains the target temperature value. + * @param[in] dev : Structure instance of bme680_dev. + * + * @return Calculated heater resistance in float. + */ +static float calc_heater_res(uint16_t temp, const struct bme680_dev *dev); + +#endif + +/*! + * @brief This internal API is used to calculate the field data of sensor. + * + * @param[out] data :Structure instance to hold the data + * @param[in] dev :Structure instance of bme680_dev. + * + * @return int8_t result of the field data from sensor. + */ +static int8_t read_field_data(struct bme680_field_data *data, struct bme680_dev *dev); + +/*! + * @brief This internal API is used to set the memory page + * based on register address. + * + * The value of memory page + * value | Description + * --------|-------------- + * 0 | BME680_PAGE0_SPI + * 1 | BME680_PAGE1_SPI + * + * @param[in] dev :Structure instance of bme680_dev. + * @param[in] reg_addr :Contains the register address array. + * + * @return Result of API execution status + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error + */ +static int8_t set_mem_page(uint8_t reg_addr, struct bme680_dev *dev); + +/*! + * @brief This internal API is used to get the memory page based + * on register address. + * + * The value of memory page + * value | Description + * --------|-------------- + * 0 | BME680_PAGE0_SPI + * 1 | BME680_PAGE1_SPI + * + * @param[in] dev :Structure instance of bme680_dev. + * + * @return Result of API execution status + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error + */ +static int8_t get_mem_page(struct bme680_dev *dev); + +/*! + * @brief This internal API is used to validate the device pointer for + * null conditions. + * + * @param[in] dev :Structure instance of bme680_dev. + * + * @return Result of API execution status + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error + */ +static int8_t null_ptr_check(const struct bme680_dev *dev); + +/*! + * @brief This internal API is used to check the boundary + * conditions. + * + * @param[in] value :pointer to the value. + * @param[in] min :minimum value. + * @param[in] max :maximum value. + * @param[in] dev :Structure instance of bme680_dev. + * + * @return Result of API execution status + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error + */ +static int8_t boundary_check(uint8_t *value, uint8_t min, uint8_t max, struct bme680_dev *dev); + +/****************** Global Function Definitions *******************************/ +/*! + *@brief This API is the entry point. + *It reads the chip-id and calibration data from the sensor. + */ +int8_t bme680_init(struct bme680_dev *dev) +{ + int8_t rslt; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + /* Soft reset to restore it to default values*/ + rslt = bme680_soft_reset(dev); + if (rslt == BME680_OK) { + rslt = bme680_get_regs(BME680_CHIP_ID_ADDR, &dev->chip_id, 1, dev); + if (rslt == BME680_OK) { + if (dev->chip_id == BME680_CHIP_ID) { + /* Get the Calibration data */ + rslt = get_calib_data(dev); + } else { + rslt = BME680_E_DEV_NOT_FOUND; + } + } + } + } + + return rslt; +} + +/*! + * @brief This API reads the data from the given register address of the sensor. + */ +int8_t bme680_get_regs(uint8_t reg_addr, uint8_t *reg_data, uint16_t len, struct bme680_dev *dev) +{ + int8_t rslt; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + if (dev->intf == BME680_SPI_INTF) { + /* Set the memory page */ + rslt = set_mem_page(reg_addr, dev); + if (rslt == BME680_OK) + reg_addr = reg_addr | BME680_SPI_RD_MSK; + } + dev->com_rslt = dev->read(dev->dev_id, reg_addr, reg_data, len); + if (dev->com_rslt != 0) + rslt = BME680_E_COM_FAIL; + } + + return rslt; +} + +/*! + * @brief This API writes the given data to the register address + * of the sensor. + */ +int8_t bme680_set_regs(const uint8_t *reg_addr, const uint8_t *reg_data, uint8_t len, struct bme680_dev *dev) +{ + int8_t rslt; + /* Length of the temporary buffer is 2*(length of register)*/ + uint8_t tmp_buff[BME680_TMP_BUFFER_LENGTH] = { 0 }; + uint16_t index; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + if ((len > 0) && (len < BME680_TMP_BUFFER_LENGTH / 2)) { + /* Interleave the 2 arrays */ + for (index = 0; index < len; index++) { + if (dev->intf == BME680_SPI_INTF) { + /* Set the memory page */ + rslt = set_mem_page(reg_addr[index], dev); + tmp_buff[(2 * index)] = reg_addr[index] & BME680_SPI_WR_MSK; + } else { + tmp_buff[(2 * index)] = reg_addr[index]; + } + tmp_buff[(2 * index) + 1] = reg_data[index]; + } + /* Write the interleaved array */ + if (rslt == BME680_OK) { + dev->com_rslt = dev->write(dev->dev_id, tmp_buff[0], &tmp_buff[1], (2 * len) - 1); + if (dev->com_rslt != 0) + rslt = BME680_E_COM_FAIL; + } + } else { + rslt = BME680_E_INVALID_LENGTH; + } + } + + return rslt; +} + +/*! + * @brief This API performs the soft reset of the sensor. + */ +int8_t bme680_soft_reset(struct bme680_dev *dev) +{ + int8_t rslt; + uint8_t reg_addr = BME680_SOFT_RESET_ADDR; + /* 0xb6 is the soft reset command */ + uint8_t soft_rst_cmd = BME680_SOFT_RESET_CMD; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + if (dev->intf == BME680_SPI_INTF) + rslt = get_mem_page(dev); + + /* Reset the device */ + if (rslt == BME680_OK) { + rslt = bme680_set_regs(®_addr, &soft_rst_cmd, 1, dev); + /* Wait for 5ms */ + dev->delay_ms(BME680_RESET_PERIOD); + + if (rslt == BME680_OK) { + /* After reset get the memory page */ + if (dev->intf == BME680_SPI_INTF) + rslt = get_mem_page(dev); + } + } + } + + return rslt; +} + +/*! + * @brief This API is used to set the oversampling, filter and T,P,H, gas selection + * settings in the sensor. + */ +int8_t bme680_set_sensor_settings(uint16_t desired_settings, struct bme680_dev *dev) +{ + int8_t rslt; + uint8_t reg_addr; + uint8_t data = 0; + uint8_t count = 0; + uint8_t reg_array[BME680_REG_BUFFER_LENGTH] = { 0 }; + uint8_t data_array[BME680_REG_BUFFER_LENGTH] = { 0 }; + uint8_t intended_power_mode = dev->power_mode; /* Save intended power mode */ + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + if (desired_settings & BME680_GAS_MEAS_SEL) + rslt = set_gas_config(dev); + + dev->power_mode = BME680_SLEEP_MODE; + if (rslt == BME680_OK) + rslt = bme680_set_sensor_mode(dev); + + /* Selecting the filter */ + if (desired_settings & BME680_FILTER_SEL) { + rslt = boundary_check(&dev->tph_sett.filter, BME680_FILTER_SIZE_0, BME680_FILTER_SIZE_127, dev); + reg_addr = BME680_CONF_ODR_FILT_ADDR; + + if (rslt == BME680_OK) + rslt = bme680_get_regs(reg_addr, &data, 1, dev); + + if (desired_settings & BME680_FILTER_SEL) + data = BME680_SET_BITS(data, BME680_FILTER, dev->tph_sett.filter); + + reg_array[count] = reg_addr; /* Append configuration */ + data_array[count] = data; + count++; + } + + /* Selecting heater control for the sensor */ + if (desired_settings & BME680_HCNTRL_SEL) { + rslt = boundary_check(&dev->gas_sett.heatr_ctrl, BME680_ENABLE_HEATER, + BME680_DISABLE_HEATER, dev); + reg_addr = BME680_CONF_HEAT_CTRL_ADDR; + + if (rslt == BME680_OK) + rslt = bme680_get_regs(reg_addr, &data, 1, dev); + data = BME680_SET_BITS_POS_0(data, BME680_HCTRL, dev->gas_sett.heatr_ctrl); + + reg_array[count] = reg_addr; /* Append configuration */ + data_array[count] = data; + count++; + } + + /* Selecting heater T,P oversampling for the sensor */ + if (desired_settings & (BME680_OST_SEL | BME680_OSP_SEL)) { + rslt = boundary_check(&dev->tph_sett.os_temp, BME680_OS_NONE, BME680_OS_16X, dev); + reg_addr = BME680_CONF_T_P_MODE_ADDR; + + if (rslt == BME680_OK) + rslt = bme680_get_regs(reg_addr, &data, 1, dev); + + if (desired_settings & BME680_OST_SEL) + data = BME680_SET_BITS(data, BME680_OST, dev->tph_sett.os_temp); + + if (desired_settings & BME680_OSP_SEL) + data = BME680_SET_BITS(data, BME680_OSP, dev->tph_sett.os_pres); + + reg_array[count] = reg_addr; + data_array[count] = data; + count++; + } + + /* Selecting humidity oversampling for the sensor */ + if (desired_settings & BME680_OSH_SEL) { + rslt = boundary_check(&dev->tph_sett.os_hum, BME680_OS_NONE, BME680_OS_16X, dev); + reg_addr = BME680_CONF_OS_H_ADDR; + + if (rslt == BME680_OK) + rslt = bme680_get_regs(reg_addr, &data, 1, dev); + data = BME680_SET_BITS_POS_0(data, BME680_OSH, dev->tph_sett.os_hum); + + reg_array[count] = reg_addr; /* Append configuration */ + data_array[count] = data; + count++; + } + + /* Selecting the runGas and NB conversion settings for the sensor */ + if (desired_settings & (BME680_RUN_GAS_SEL | BME680_NBCONV_SEL)) { + rslt = boundary_check(&dev->gas_sett.run_gas, BME680_RUN_GAS_DISABLE, + BME680_RUN_GAS_ENABLE, dev); + if (rslt == BME680_OK) { + /* Validate boundary conditions */ + rslt = boundary_check(&dev->gas_sett.nb_conv, BME680_NBCONV_MIN, + BME680_NBCONV_MAX, dev); + } + + reg_addr = BME680_CONF_ODR_RUN_GAS_NBC_ADDR; + + if (rslt == BME680_OK) + rslt = bme680_get_regs(reg_addr, &data, 1, dev); + + if (desired_settings & BME680_RUN_GAS_SEL) + data = BME680_SET_BITS(data, BME680_RUN_GAS, dev->gas_sett.run_gas); + + if (desired_settings & BME680_NBCONV_SEL) + data = BME680_SET_BITS_POS_0(data, BME680_NBCONV, dev->gas_sett.nb_conv); + + reg_array[count] = reg_addr; /* Append configuration */ + data_array[count] = data; + count++; + } + + if (rslt == BME680_OK) + rslt = bme680_set_regs(reg_array, data_array, count, dev); + + /* Restore previous intended power mode */ + dev->power_mode = intended_power_mode; + } + + return rslt; +} + +/*! + * @brief This API is used to get the oversampling, filter and T,P,H, gas selection + * settings in the sensor. + */ +int8_t bme680_get_sensor_settings(uint16_t desired_settings, struct bme680_dev *dev) +{ + int8_t rslt; + /* starting address of the register array for burst read*/ + uint8_t reg_addr = BME680_CONF_HEAT_CTRL_ADDR; + uint8_t data_array[BME680_REG_BUFFER_LENGTH] = { 0 }; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + rslt = bme680_get_regs(reg_addr, data_array, BME680_REG_BUFFER_LENGTH, dev); + + if (rslt == BME680_OK) { + if (desired_settings & BME680_GAS_MEAS_SEL) + rslt = get_gas_config(dev); + + /* get the T,P,H ,Filter,ODR settings here */ + if (desired_settings & BME680_FILTER_SEL) + dev->tph_sett.filter = BME680_GET_BITS(data_array[BME680_REG_FILTER_INDEX], + BME680_FILTER); + + if (desired_settings & (BME680_OST_SEL | BME680_OSP_SEL)) { + dev->tph_sett.os_temp = BME680_GET_BITS(data_array[BME680_REG_TEMP_INDEX], BME680_OST); + dev->tph_sett.os_pres = BME680_GET_BITS(data_array[BME680_REG_PRES_INDEX], BME680_OSP); + } + + if (desired_settings & BME680_OSH_SEL) + dev->tph_sett.os_hum = BME680_GET_BITS_POS_0(data_array[BME680_REG_HUM_INDEX], + BME680_OSH); + + /* get the gas related settings */ + if (desired_settings & BME680_HCNTRL_SEL) + dev->gas_sett.heatr_ctrl = BME680_GET_BITS_POS_0(data_array[BME680_REG_HCTRL_INDEX], + BME680_HCTRL); + + if (desired_settings & (BME680_RUN_GAS_SEL | BME680_NBCONV_SEL)) { + dev->gas_sett.nb_conv = BME680_GET_BITS_POS_0(data_array[BME680_REG_NBCONV_INDEX], + BME680_NBCONV); + dev->gas_sett.run_gas = BME680_GET_BITS(data_array[BME680_REG_RUN_GAS_INDEX], + BME680_RUN_GAS); + } + } + } else { + rslt = BME680_E_NULL_PTR; + } + + return rslt; +} + +/*! + * @brief This API is used to set the power mode of the sensor. + */ +int8_t bme680_set_sensor_mode(struct bme680_dev *dev) +{ + int8_t rslt; + uint8_t tmp_pow_mode; + uint8_t pow_mode = 0; + uint8_t reg_addr = BME680_CONF_T_P_MODE_ADDR; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + /* Call repeatedly until in sleep */ + do { + rslt = bme680_get_regs(BME680_CONF_T_P_MODE_ADDR, &tmp_pow_mode, 1, dev); + if (rslt == BME680_OK) { + /* Put to sleep before changing mode */ + pow_mode = (tmp_pow_mode & BME680_MODE_MSK); + + if (pow_mode != BME680_SLEEP_MODE) { + tmp_pow_mode = tmp_pow_mode & (~BME680_MODE_MSK); /* Set to sleep */ + rslt = bme680_set_regs(®_addr, &tmp_pow_mode, 1, dev); + dev->delay_ms(BME680_POLL_PERIOD_MS); + } + } + } while (pow_mode != BME680_SLEEP_MODE); + + /* Already in sleep */ + if (dev->power_mode != BME680_SLEEP_MODE) { + tmp_pow_mode = (tmp_pow_mode & ~BME680_MODE_MSK) | (dev->power_mode & BME680_MODE_MSK); + if (rslt == BME680_OK) + rslt = bme680_set_regs(®_addr, &tmp_pow_mode, 1, dev); + } + } + + return rslt; +} + +/*! + * @brief This API is used to get the power mode of the sensor. + */ +int8_t bme680_get_sensor_mode(struct bme680_dev *dev) +{ + int8_t rslt; + uint8_t mode; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + rslt = bme680_get_regs(BME680_CONF_T_P_MODE_ADDR, &mode, 1, dev); + /* Masking the other register bit info*/ + dev->power_mode = mode & BME680_MODE_MSK; + } + + return rslt; +} + +/*! + * @brief This API is used to set the profile duration of the sensor. + */ +void bme680_set_profile_dur(uint16_t duration, struct bme680_dev *dev) +{ + uint32_t tph_dur; /* Calculate in us */ + uint32_t meas_cycles; + uint8_t os_to_meas_cycles[6] = {0, 1, 2, 4, 8, 16}; + + meas_cycles = os_to_meas_cycles[dev->tph_sett.os_temp]; + meas_cycles += os_to_meas_cycles[dev->tph_sett.os_pres]; + meas_cycles += os_to_meas_cycles[dev->tph_sett.os_hum]; + + /* TPH measurement duration */ + tph_dur = meas_cycles * UINT32_C(1963); + tph_dur += UINT32_C(477 * 4); /* TPH switching duration */ + tph_dur += UINT32_C(477 * 5); /* Gas measurement duration */ + tph_dur += UINT32_C(500); /* Get it to the closest whole number.*/ + tph_dur /= UINT32_C(1000); /* Convert to ms */ + + tph_dur += UINT32_C(1); /* Wake up duration of 1ms */ + /* The remaining time should be used for heating */ + dev->gas_sett.heatr_dur = duration - (uint16_t) tph_dur; +} + +/*! + * @brief This API is used to get the profile duration of the sensor. + */ +void bme680_get_profile_dur(uint16_t *duration, const struct bme680_dev *dev) +{ + uint32_t tph_dur; /* Calculate in us */ + uint32_t meas_cycles; + uint8_t os_to_meas_cycles[6] = {0, 1, 2, 4, 8, 16}; + + meas_cycles = os_to_meas_cycles[dev->tph_sett.os_temp]; + meas_cycles += os_to_meas_cycles[dev->tph_sett.os_pres]; + meas_cycles += os_to_meas_cycles[dev->tph_sett.os_hum]; + + /* TPH measurement duration */ + tph_dur = meas_cycles * UINT32_C(1963); + tph_dur += UINT32_C(477 * 4); /* TPH switching duration */ + tph_dur += UINT32_C(477 * 5); /* Gas measurement duration */ + tph_dur += UINT32_C(500); /* Get it to the closest whole number.*/ + tph_dur /= UINT32_C(1000); /* Convert to ms */ + + tph_dur += UINT32_C(1); /* Wake up duration of 1ms */ + + *duration = (uint16_t) tph_dur; + + /* Get the gas duration only when the run gas is enabled */ + if (dev->gas_sett.run_gas) { + /* The remaining time should be used for heating */ + *duration += dev->gas_sett.heatr_dur; + } +} + +/*! + * @brief This API reads the pressure, temperature and humidity and gas data + * from the sensor, compensates the data and store it in the bme680_data + * structure instance passed by the user. + */ +int8_t bme680_get_sensor_data(struct bme680_field_data *data, struct bme680_dev *dev) +{ + int8_t rslt; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + /* Reading the sensor data in forced mode only */ + rslt = read_field_data(data, dev); + if (rslt == BME680_OK) { + if (data->status & BME680_NEW_DATA_MSK) + dev->new_fields = 1; + else + dev->new_fields = 0; + } + } + + return rslt; +} + +/*! + * @brief This internal API is used to read the calibrated data from the sensor. + */ +static int8_t get_calib_data(struct bme680_dev *dev) +{ + int8_t rslt; + uint8_t coeff_array[BME680_COEFF_SIZE] = { 0 }; + uint8_t temp_var = 0; /* Temporary variable */ + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + rslt = bme680_get_regs(BME680_COEFF_ADDR1, coeff_array, BME680_COEFF_ADDR1_LEN, dev); + /* Append the second half in the same array */ + if (rslt == BME680_OK) + rslt = bme680_get_regs(BME680_COEFF_ADDR2, &coeff_array[BME680_COEFF_ADDR1_LEN] + , BME680_COEFF_ADDR2_LEN, dev); + + /* Temperature related coefficients */ + dev->calib.par_t1 = (uint16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_T1_MSB_REG], + coeff_array[BME680_T1_LSB_REG])); + dev->calib.par_t2 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_T2_MSB_REG], + coeff_array[BME680_T2_LSB_REG])); + dev->calib.par_t3 = (int8_t) (coeff_array[BME680_T3_REG]); + + /* Pressure related coefficients */ + dev->calib.par_p1 = (uint16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P1_MSB_REG], + coeff_array[BME680_P1_LSB_REG])); + dev->calib.par_p2 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P2_MSB_REG], + coeff_array[BME680_P2_LSB_REG])); + dev->calib.par_p3 = (int8_t) coeff_array[BME680_P3_REG]; + dev->calib.par_p4 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P4_MSB_REG], + coeff_array[BME680_P4_LSB_REG])); + dev->calib.par_p5 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P5_MSB_REG], + coeff_array[BME680_P5_LSB_REG])); + dev->calib.par_p6 = (int8_t) (coeff_array[BME680_P6_REG]); + dev->calib.par_p7 = (int8_t) (coeff_array[BME680_P7_REG]); + dev->calib.par_p8 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P8_MSB_REG], + coeff_array[BME680_P8_LSB_REG])); + dev->calib.par_p9 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_P9_MSB_REG], + coeff_array[BME680_P9_LSB_REG])); + dev->calib.par_p10 = (uint8_t) (coeff_array[BME680_P10_REG]); + + /* Humidity related coefficients */ + dev->calib.par_h1 = (uint16_t) (((uint16_t) coeff_array[BME680_H1_MSB_REG] << BME680_HUM_REG_SHIFT_VAL) + | (coeff_array[BME680_H1_LSB_REG] & BME680_BIT_H1_DATA_MSK)); + dev->calib.par_h2 = (uint16_t) (((uint16_t) coeff_array[BME680_H2_MSB_REG] << BME680_HUM_REG_SHIFT_VAL) + | ((coeff_array[BME680_H2_LSB_REG]) >> BME680_HUM_REG_SHIFT_VAL)); + dev->calib.par_h3 = (int8_t) coeff_array[BME680_H3_REG]; + dev->calib.par_h4 = (int8_t) coeff_array[BME680_H4_REG]; + dev->calib.par_h5 = (int8_t) coeff_array[BME680_H5_REG]; + dev->calib.par_h6 = (uint8_t) coeff_array[BME680_H6_REG]; + dev->calib.par_h7 = (int8_t) coeff_array[BME680_H7_REG]; + + /* Gas heater related coefficients */ + dev->calib.par_gh1 = (int8_t) coeff_array[BME680_GH1_REG]; + dev->calib.par_gh2 = (int16_t) (BME680_CONCAT_BYTES(coeff_array[BME680_GH2_MSB_REG], + coeff_array[BME680_GH2_LSB_REG])); + dev->calib.par_gh3 = (int8_t) coeff_array[BME680_GH3_REG]; + + /* Other coefficients */ + if (rslt == BME680_OK) { + rslt = bme680_get_regs(BME680_ADDR_RES_HEAT_RANGE_ADDR, &temp_var, 1, dev); + + dev->calib.res_heat_range = ((temp_var & BME680_RHRANGE_MSK) / 16); + if (rslt == BME680_OK) { + rslt = bme680_get_regs(BME680_ADDR_RES_HEAT_VAL_ADDR, &temp_var, 1, dev); + + dev->calib.res_heat_val = (int8_t) temp_var; + if (rslt == BME680_OK) + rslt = bme680_get_regs(BME680_ADDR_RANGE_SW_ERR_ADDR, &temp_var, 1, dev); + } + } + dev->calib.range_sw_err = ((int8_t) temp_var & (int8_t) BME680_RSERROR_MSK) / 16; + } + + return rslt; +} + +/*! + * @brief This internal API is used to set the gas configuration of the sensor. + */ +static int8_t set_gas_config(struct bme680_dev *dev) +{ + int8_t rslt; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + + uint8_t reg_addr[2] = {0}; + uint8_t reg_data[2] = {0}; + + if (dev->power_mode == BME680_FORCED_MODE) { + reg_addr[0] = BME680_RES_HEAT0_ADDR; + reg_data[0] = calc_heater_res(dev->gas_sett.heatr_temp, dev); + reg_addr[1] = BME680_GAS_WAIT0_ADDR; + reg_data[1] = calc_heater_dur(dev->gas_sett.heatr_dur); + dev->gas_sett.nb_conv = 0; + } else { + rslt = BME680_W_DEFINE_PWR_MODE; + } + if (rslt == BME680_OK) + rslt = bme680_set_regs(reg_addr, reg_data, 2, dev); + } + + return rslt; +} + +/*! + * @brief This internal API is used to get the gas configuration of the sensor. + * @note heatr_temp and heatr_dur values are currently register data + * and not the actual values set + */ +static int8_t get_gas_config(struct bme680_dev *dev) +{ + int8_t rslt; + /* starting address of the register array for burst read*/ + uint8_t reg_addr1 = BME680_ADDR_SENS_CONF_START; + uint8_t reg_addr2 = BME680_ADDR_GAS_CONF_START; + uint8_t reg_data = 0; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + if (BME680_SPI_INTF == dev->intf) { + /* Memory page switch the SPI address*/ + rslt = set_mem_page(reg_addr1, dev); + } + + if (rslt == BME680_OK) { + rslt = bme680_get_regs(reg_addr1, ®_data, 1, dev); + if (rslt == BME680_OK) { + dev->gas_sett.heatr_temp = reg_data; + rslt = bme680_get_regs(reg_addr2, ®_data, 1, dev); + if (rslt == BME680_OK) { + /* Heating duration register value */ + dev->gas_sett.heatr_dur = reg_data; + } + } + } + } + + return rslt; +} + +#ifndef BME680_FLOAT_POINT_COMPENSATION + +/*! + * @brief This internal API is used to calculate the temperature value. + */ +static int16_t calc_temperature(uint32_t temp_adc, struct bme680_dev *dev) +{ + int64_t var1; + int64_t var2; + int64_t var3; + int16_t calc_temp; + + var1 = ((int32_t) temp_adc >> 3) - ((int32_t) dev->calib.par_t1 << 1); + var2 = (var1 * (int32_t) dev->calib.par_t2) >> 11; + var3 = ((var1 >> 1) * (var1 >> 1)) >> 12; + var3 = ((var3) * ((int32_t) dev->calib.par_t3 << 4)) >> 14; + dev->calib.t_fine = (int32_t) (var2 + var3); + calc_temp = (int16_t) (((dev->calib.t_fine * 5) + 128) >> 8); + + return calc_temp; +} + +/*! + * @brief This internal API is used to calculate the pressure value. + */ +static uint32_t calc_pressure(uint32_t pres_adc, const struct bme680_dev *dev) +{ + int32_t var1; + int32_t var2; + int32_t var3; + int32_t pressure_comp; + + var1 = (((int32_t)dev->calib.t_fine) >> 1) - 64000; + var2 = ((((var1 >> 2) * (var1 >> 2)) >> 11) * + (int32_t)dev->calib.par_p6) >> 2; + var2 = var2 + ((var1 * (int32_t)dev->calib.par_p5) << 1); + var2 = (var2 >> 2) + ((int32_t)dev->calib.par_p4 << 16); + var1 = (((((var1 >> 2) * (var1 >> 2)) >> 13) * + ((int32_t)dev->calib.par_p3 << 5)) >> 3) + + (((int32_t)dev->calib.par_p2 * var1) >> 1); + var1 = var1 >> 18; + var1 = ((32768 + var1) * (int32_t)dev->calib.par_p1) >> 15; + pressure_comp = 1048576 - pres_adc; + pressure_comp = (int32_t)((pressure_comp - (var2 >> 12)) * ((uint32_t)3125)); + if (pressure_comp >= BME680_MAX_OVERFLOW_VAL) + pressure_comp = ((pressure_comp / var1) << 1); + else + pressure_comp = ((pressure_comp << 1) / var1); + var1 = ((int32_t)dev->calib.par_p9 * (int32_t)(((pressure_comp >> 3) * + (pressure_comp >> 3)) >> 13)) >> 12; + var2 = ((int32_t)(pressure_comp >> 2) * + (int32_t)dev->calib.par_p8) >> 13; + var3 = ((int32_t)(pressure_comp >> 8) * (int32_t)(pressure_comp >> 8) * + (int32_t)(pressure_comp >> 8) * + (int32_t)dev->calib.par_p10) >> 17; + + pressure_comp = (int32_t)(pressure_comp) + ((var1 + var2 + var3 + + ((int32_t)dev->calib.par_p7 << 7)) >> 4); + + return (uint32_t)pressure_comp; + +} + +/*! + * @brief This internal API is used to calculate the humidity value. + */ +static uint32_t calc_humidity(uint16_t hum_adc, const struct bme680_dev *dev) +{ + int32_t var1; + int32_t var2; + int32_t var3; + int32_t var4; + int32_t var5; + int32_t var6; + int32_t temp_scaled; + int32_t calc_hum; + + temp_scaled = (((int32_t) dev->calib.t_fine * 5) + 128) >> 8; + var1 = (int32_t) (hum_adc - ((int32_t) ((int32_t) dev->calib.par_h1 * 16))) + - (((temp_scaled * (int32_t) dev->calib.par_h3) / ((int32_t) 100)) >> 1); + var2 = ((int32_t) dev->calib.par_h2 + * (((temp_scaled * (int32_t) dev->calib.par_h4) / ((int32_t) 100)) + + (((temp_scaled * ((temp_scaled * (int32_t) dev->calib.par_h5) / ((int32_t) 100))) >> 6) + / ((int32_t) 100)) + (int32_t) (1 << 14))) >> 10; + var3 = var1 * var2; + var4 = (int32_t) dev->calib.par_h6 << 7; + var4 = ((var4) + ((temp_scaled * (int32_t) dev->calib.par_h7) / ((int32_t) 100))) >> 4; + var5 = ((var3 >> 14) * (var3 >> 14)) >> 10; + var6 = (var4 * var5) >> 1; + calc_hum = (((var3 + var6) >> 10) * ((int32_t) 1000)) >> 12; + + if (calc_hum > 100000) /* Cap at 100%rH */ + calc_hum = 100000; + else if (calc_hum < 0) + calc_hum = 0; + + return (uint32_t) calc_hum; +} + +/*! + * @brief This internal API is used to calculate the Gas Resistance value. + */ +static uint32_t calc_gas_resistance(uint16_t gas_res_adc, uint8_t gas_range, const struct bme680_dev *dev) +{ + int64_t var1; + uint64_t var2; + int64_t var3; + uint32_t calc_gas_res; + /**Look up table 1 for the possible gas range values */ + uint32_t lookupTable1[16] = { UINT32_C(2147483647), UINT32_C(2147483647), UINT32_C(2147483647), UINT32_C(2147483647), + UINT32_C(2147483647), UINT32_C(2126008810), UINT32_C(2147483647), UINT32_C(2130303777), + UINT32_C(2147483647), UINT32_C(2147483647), UINT32_C(2143188679), UINT32_C(2136746228), + UINT32_C(2147483647), UINT32_C(2126008810), UINT32_C(2147483647), UINT32_C(2147483647) }; + /**Look up table 2 for the possible gas range values */ + uint32_t lookupTable2[16] = { UINT32_C(4096000000), UINT32_C(2048000000), UINT32_C(1024000000), UINT32_C(512000000), + UINT32_C(255744255), UINT32_C(127110228), UINT32_C(64000000), UINT32_C(32258064), UINT32_C(16016016), + UINT32_C(8000000), UINT32_C(4000000), UINT32_C(2000000), UINT32_C(1000000), UINT32_C(500000), + UINT32_C(250000), UINT32_C(125000) }; + + var1 = (int64_t) ((1340 + (5 * (int64_t) dev->calib.range_sw_err)) * + ((int64_t) lookupTable1[gas_range])) >> 16; + var2 = (((int64_t) ((int64_t) gas_res_adc << 15) - (int64_t) (16777216)) + var1); + var3 = (((int64_t) lookupTable2[gas_range] * (int64_t) var1) >> 9); + calc_gas_res = (uint32_t) ((var3 + ((int64_t) var2 >> 1)) / (int64_t) var2); + + return calc_gas_res; +} + +/*! + * @brief This internal API is used to calculate the Heat Resistance value. + */ +static uint8_t calc_heater_res(uint16_t temp, const struct bme680_dev *dev) +{ + uint8_t heatr_res; + int32_t var1; + int32_t var2; + int32_t var3; + int32_t var4; + int32_t var5; + int32_t heatr_res_x100; + + if (temp > 400) /* Cap temperature */ + temp = 400; + + var1 = (((int32_t) dev->amb_temp * dev->calib.par_gh3) / 1000) * 256; + var2 = (dev->calib.par_gh1 + 784) * (((((dev->calib.par_gh2 + 154009) * temp * 5) / 100) + 3276800) / 10); + var3 = var1 + (var2 / 2); + var4 = (var3 / (dev->calib.res_heat_range + 4)); + var5 = (131 * dev->calib.res_heat_val) + 65536; + heatr_res_x100 = (int32_t) (((var4 / var5) - 250) * 34); + heatr_res = (uint8_t) ((heatr_res_x100 + 50) / 100); + + return heatr_res; +} + +#else + + +/*! + * @brief This internal API is used to calculate the + * temperature value in float format + */ +static float calc_temperature(uint32_t temp_adc, struct bme680_dev *dev) +{ + float var1 = 0; + float var2 = 0; + float calc_temp = 0; + + /* calculate var1 data */ + var1 = ((((float)temp_adc / 16384.0f) - ((float)dev->calib.par_t1 / 1024.0f)) + * ((float)dev->calib.par_t2)); + + /* calculate var2 data */ + var2 = (((((float)temp_adc / 131072.0f) - ((float)dev->calib.par_t1 / 8192.0f)) * + (((float)temp_adc / 131072.0f) - ((float)dev->calib.par_t1 / 8192.0f))) * + ((float)dev->calib.par_t3 * 16.0f)); + + /* t_fine value*/ + dev->calib.t_fine = (var1 + var2); + + /* compensated temperature data*/ + calc_temp = ((dev->calib.t_fine) / 5120.0f); + + return calc_temp; +} + +/*! + * @brief This internal API is used to calculate the + * pressure value in float format + */ +static float calc_pressure(uint32_t pres_adc, const struct bme680_dev *dev) +{ + float var1 = 0; + float var2 = 0; + float var3 = 0; + float calc_pres = 0; + + var1 = (((float)dev->calib.t_fine / 2.0f) - 64000.0f); + var2 = var1 * var1 * (((float)dev->calib.par_p6) / (131072.0f)); + var2 = var2 + (var1 * ((float)dev->calib.par_p5) * 2.0f); + var2 = (var2 / 4.0f) + (((float)dev->calib.par_p4) * 65536.0f); + var1 = (((((float)dev->calib.par_p3 * var1 * var1) / 16384.0f) + + ((float)dev->calib.par_p2 * var1)) / 524288.0f); + var1 = ((1.0f + (var1 / 32768.0f)) * ((float)dev->calib.par_p1)); + calc_pres = (1048576.0f - ((float)pres_adc)); + + /* Avoid exception caused by division by zero */ + if ((int)var1 != 0) { + calc_pres = (((calc_pres - (var2 / 4096.0f)) * 6250.0f) / var1); + var1 = (((float)dev->calib.par_p9) * calc_pres * calc_pres) / 2147483648.0f; + var2 = calc_pres * (((float)dev->calib.par_p8) / 32768.0f); + var3 = ((calc_pres / 256.0f) * (calc_pres / 256.0f) * (calc_pres / 256.0f) + * (dev->calib.par_p10 / 131072.0f)); + calc_pres = (calc_pres + (var1 + var2 + var3 + ((float)dev->calib.par_p7 * 128.0f)) / 16.0f); + } else { + calc_pres = 0; + } + + return calc_pres; +} + +/*! + * @brief This internal API is used to calculate the + * humidity value in float format + */ +static float calc_humidity(uint16_t hum_adc, const struct bme680_dev *dev) +{ + float calc_hum = 0; + float var1 = 0; + float var2 = 0; + float var3 = 0; + float var4 = 0; + float temp_comp; + + /* compensated temperature data*/ + temp_comp = ((dev->calib.t_fine) / 5120.0f); + + var1 = (float)((float)hum_adc) - (((float)dev->calib.par_h1 * 16.0f) + (((float)dev->calib.par_h3 / 2.0f) + * temp_comp)); + + var2 = var1 * ((float)(((float) dev->calib.par_h2 / 262144.0f) * (1.0f + (((float)dev->calib.par_h4 / 16384.0f) + * temp_comp) + (((float)dev->calib.par_h5 / 1048576.0f) * temp_comp * temp_comp)))); + + var3 = (float) dev->calib.par_h6 / 16384.0f; + + var4 = (float) dev->calib.par_h7 / 2097152.0f; + + calc_hum = var2 + ((var3 + (var4 * temp_comp)) * var2 * var2); + + if (calc_hum > 100.0f) + calc_hum = 100.0f; + else if (calc_hum < 0.0f) + calc_hum = 0.0f; + + return calc_hum; +} + +/*! + * @brief This internal API is used to calculate the + * gas resistance value in float format + */ +static float calc_gas_resistance(uint16_t gas_res_adc, uint8_t gas_range, const struct bme680_dev *dev) +{ + float calc_gas_res; + float var1 = 0; + float var2 = 0; + float var3 = 0; + + const float lookup_k1_range[16] = { + 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, -0.8, + 0.0, 0.0, -0.2, -0.5, 0.0, -1.0, 0.0, 0.0}; + const float lookup_k2_range[16] = { + 0.0, 0.0, 0.0, 0.0, 0.1, 0.7, 0.0, -0.8, + -0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; + + var1 = (1340.0f + (5.0f * dev->calib.range_sw_err)); + var2 = (var1) * (1.0f + lookup_k1_range[gas_range]/100.0f); + var3 = 1.0f + (lookup_k2_range[gas_range]/100.0f); + + calc_gas_res = 1.0f / (float)(var3 * (0.000000125f) * (float)(1 << gas_range) * (((((float)gas_res_adc) + - 512.0f)/var2) + 1.0f)); + + return calc_gas_res; +} + +/*! + * @brief This internal API is used to calculate the + * heater resistance value in float format + */ +static float calc_heater_res(uint16_t temp, const struct bme680_dev *dev) +{ + float var1 = 0; + float var2 = 0; + float var3 = 0; + float var4 = 0; + float var5 = 0; + float res_heat = 0; + + if (temp > 400) /* Cap temperature */ + temp = 400; + + var1 = (((float)dev->calib.par_gh1 / (16.0f)) + 49.0f); + var2 = ((((float)dev->calib.par_gh2 / (32768.0f)) * (0.0005f)) + 0.00235f); + var3 = ((float)dev->calib.par_gh3 / (1024.0f)); + var4 = (var1 * (1.0f + (var2 * (float)temp))); + var5 = (var4 + (var3 * (float)dev->amb_temp)); + res_heat = (uint8_t)(3.4f * ((var5 * (4 / (4 + (float)dev->calib.res_heat_range)) * + (1/(1 + ((float) dev->calib.res_heat_val * 0.002f)))) - 25)); + + return res_heat; +} + +#endif + +/*! + * @brief This internal API is used to calculate the Heat duration value. + */ +static uint8_t calc_heater_dur(uint16_t dur) +{ + uint8_t factor = 0; + uint8_t durval; + + if (dur >= 0xfc0) { + durval = 0xff; /* Max duration*/ + } else { + while (dur > 0x3F) { + dur = dur / 4; + factor += 1; + } + durval = (uint8_t) (dur + (factor * 64)); + } + + return durval; +} + +/*! + * @brief This internal API is used to calculate the field data of sensor. + */ +static int8_t read_field_data(struct bme680_field_data *data, struct bme680_dev *dev) +{ + int8_t rslt; + uint8_t buff[BME680_FIELD_LENGTH] = { 0 }; + uint8_t gas_range; + uint32_t adc_temp; + uint32_t adc_pres; + uint16_t adc_hum; + uint16_t adc_gas_res; + uint8_t tries = 10; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + do { + if (rslt == BME680_OK) { + rslt = bme680_get_regs(((uint8_t) (BME680_FIELD0_ADDR)), buff, (uint16_t) BME680_FIELD_LENGTH, + dev); + + data->status = buff[0] & BME680_NEW_DATA_MSK; + data->gas_index = buff[0] & BME680_GAS_INDEX_MSK; + data->meas_index = buff[1]; + + /* read the raw data from the sensor */ + adc_pres = (uint32_t) (((uint32_t) buff[2] * 4096) | ((uint32_t) buff[3] * 16) + | ((uint32_t) buff[4] / 16)); + adc_temp = (uint32_t) (((uint32_t) buff[5] * 4096) | ((uint32_t) buff[6] * 16) + | ((uint32_t) buff[7] / 16)); + adc_hum = (uint16_t) (((uint32_t) buff[8] * 256) | (uint32_t) buff[9]); + adc_gas_res = (uint16_t) ((uint32_t) buff[13] * 4 | (((uint32_t) buff[14]) / 64)); + gas_range = buff[14] & BME680_GAS_RANGE_MSK; + + data->status |= buff[14] & BME680_GASM_VALID_MSK; + data->status |= buff[14] & BME680_HEAT_STAB_MSK; + + if (data->status & BME680_NEW_DATA_MSK) { + data->temperature = calc_temperature(adc_temp, dev); + data->pressure = calc_pressure(adc_pres, dev); + data->humidity = calc_humidity(adc_hum, dev); + data->gas_resistance = calc_gas_resistance(adc_gas_res, gas_range, dev); + break; + } + /* Delay to poll the data */ + dev->delay_ms(BME680_POLL_PERIOD_MS); + } + tries--; + } while (tries); + + if (!tries) + rslt = BME680_W_NO_NEW_DATA; + + return rslt; +} + +/*! + * @brief This internal API is used to set the memory page based on register address. + */ +static int8_t set_mem_page(uint8_t reg_addr, struct bme680_dev *dev) +{ + int8_t rslt; + uint8_t reg; + uint8_t mem_page; + + /* Check for null pointers in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + if (reg_addr > 0x7f) + mem_page = BME680_MEM_PAGE1; + else + mem_page = BME680_MEM_PAGE0; + + if (mem_page != dev->mem_page) { + dev->mem_page = mem_page; + + dev->com_rslt = dev->read(dev->dev_id, BME680_MEM_PAGE_ADDR | BME680_SPI_RD_MSK, ®, 1); + if (dev->com_rslt != 0) + rslt = BME680_E_COM_FAIL; + + if (rslt == BME680_OK) { + reg = reg & (~BME680_MEM_PAGE_MSK); + reg = reg | (dev->mem_page & BME680_MEM_PAGE_MSK); + + dev->com_rslt = dev->write(dev->dev_id, BME680_MEM_PAGE_ADDR & BME680_SPI_WR_MSK, + ®, 1); + if (dev->com_rslt != 0) + rslt = BME680_E_COM_FAIL; + } + } + } + + return rslt; +} + +/*! + * @brief This internal API is used to get the memory page based on register address. + */ +static int8_t get_mem_page(struct bme680_dev *dev) +{ + int8_t rslt; + uint8_t reg; + + /* Check for null pointer in the device structure*/ + rslt = null_ptr_check(dev); + if (rslt == BME680_OK) { + dev->com_rslt = dev->read(dev->dev_id, BME680_MEM_PAGE_ADDR | BME680_SPI_RD_MSK, ®, 1); + if (dev->com_rslt != 0) + rslt = BME680_E_COM_FAIL; + else + dev->mem_page = reg & BME680_MEM_PAGE_MSK; + } + + return rslt; +} + +/*! + * @brief This internal API is used to validate the boundary + * conditions. + */ +static int8_t boundary_check(uint8_t *value, uint8_t min, uint8_t max, struct bme680_dev *dev) +{ + int8_t rslt = BME680_OK; + + if (value != NULL) { + /* Check if value is below minimum value */ + if (*value < min) { + /* Auto correct the invalid value to minimum value */ + *value = min; + dev->info_msg |= BME680_I_MIN_CORRECTION; + } + /* Check if value is above maximum value */ + if (*value > max) { + /* Auto correct the invalid value to maximum value */ + *value = max; + dev->info_msg |= BME680_I_MAX_CORRECTION; + } + } else { + rslt = BME680_E_NULL_PTR; + } + + return rslt; +} + +/*! + * @brief This internal API is used to validate the device structure pointer for + * null conditions. + */ +static int8_t null_ptr_check(const struct bme680_dev *dev) +{ + int8_t rslt; + + if ((dev == NULL) || (dev->read == NULL) || (dev->write == NULL) || (dev->delay_ms == NULL)) { + /* Device structure pointer is not valid */ + rslt = BME680_E_NULL_PTR; + } else { + /* Device structure is fine */ + rslt = BME680_OK; + } + + return rslt; +} diff --git a/lib/Bosch-BSEC-1.4.7.1/bme680.h b/lib/Bosch-BSEC-1.4.7.1/bme680.h new file mode 100644 index 00000000..7c59be0f --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/bme680.h @@ -0,0 +1,225 @@ +/** + * Copyright (C) 2017 - 2018 Bosch Sensortec GmbH + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the copyright holder nor the names of the + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER + * OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + * OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + * The information provided is believed to be accurate and reliable. + * The copyright holder assumes no responsibility + * for the consequences of use + * of such information nor for any infringement of patents or + * other rights of third parties which may result from its use. + * No license is granted by implication or otherwise under any patent or + * patent rights of the copyright holder. + * + * @file bme680.h + * @date 19 Jun 2018 + * @version 3.5.9 + * @brief + * + */ +/*! @file bme680.h + @brief Sensor driver for BME680 sensor */ +/*! + * @defgroup BME680 SENSOR API + * @{*/ +#ifndef BME680_H_ +#define BME680_H_ + +/*! CPP guard */ +#ifdef __cplusplus +extern "C" +{ +#endif + +/* Header includes */ +#include "bme680_defs.h" + +/* function prototype declarations */ +/*! + * @brief This API is the entry point. + * It reads the chip-id and calibration data from the sensor. + * + * @param[in,out] dev : Structure instance of bme680_dev + * + * @return Result of API execution status + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error + */ +int8_t bme680_init(struct bme680_dev *dev); + +/*! + * @brief This API writes the given data to the register address + * of the sensor. + * + * @param[in] reg_addr : Register address from where the data to be written. + * @param[in] reg_data : Pointer to data buffer which is to be written + * in the sensor. + * @param[in] len : No of bytes of data to write.. + * @param[in] dev : Structure instance of bme680_dev. + * + * @return Result of API execution status + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error + */ +int8_t bme680_set_regs(const uint8_t *reg_addr, const uint8_t *reg_data, uint8_t len, struct bme680_dev *dev); + +/*! + * @brief This API reads the data from the given register address of the sensor. + * + * @param[in] reg_addr : Register address from where the data to be read + * @param[out] reg_data : Pointer to data buffer to store the read data. + * @param[in] len : No of bytes of data to be read. + * @param[in] dev : Structure instance of bme680_dev. + * + * @return Result of API execution status + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error + */ +int8_t bme680_get_regs(uint8_t reg_addr, uint8_t *reg_data, uint16_t len, struct bme680_dev *dev); + +/*! + * @brief This API performs the soft reset of the sensor. + * + * @param[in] dev : Structure instance of bme680_dev. + * + * @return Result of API execution status + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error. + */ +int8_t bme680_soft_reset(struct bme680_dev *dev); + +/*! + * @brief This API is used to set the power mode of the sensor. + * + * @param[in] dev : Structure instance of bme680_dev + * @note : Pass the value to bme680_dev.power_mode structure variable. + * + * value | mode + * -------------|------------------ + * 0x00 | BME680_SLEEP_MODE + * 0x01 | BME680_FORCED_MODE + * + * * @return Result of API execution status + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error + */ +int8_t bme680_set_sensor_mode(struct bme680_dev *dev); + +/*! + * @brief This API is used to get the power mode of the sensor. + * + * @param[in] dev : Structure instance of bme680_dev + * @note : bme680_dev.power_mode structure variable hold the power mode. + * + * value | mode + * ---------|------------------ + * 0x00 | BME680_SLEEP_MODE + * 0x01 | BME680_FORCED_MODE + * + * @return Result of API execution status + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error + */ +int8_t bme680_get_sensor_mode(struct bme680_dev *dev); + +/*! + * @brief This API is used to set the profile duration of the sensor. + * + * @param[in] dev : Structure instance of bme680_dev. + * @param[in] duration : Duration of the measurement in ms. + * + * @return Nothing + */ +void bme680_set_profile_dur(uint16_t duration, struct bme680_dev *dev); + +/*! + * @brief This API is used to get the profile duration of the sensor. + * + * @param[in] dev : Structure instance of bme680_dev. + * @param[in] duration : Duration of the measurement in ms. + * + * @return Nothing + */ +void bme680_get_profile_dur(uint16_t *duration, const struct bme680_dev *dev); + +/*! + * @brief This API reads the pressure, temperature and humidity and gas data + * from the sensor, compensates the data and store it in the bme680_data + * structure instance passed by the user. + * + * @param[out] data: Structure instance to hold the data. + * @param[in] dev : Structure instance of bme680_dev. + * + * @return Result of API execution status + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error + */ +int8_t bme680_get_sensor_data(struct bme680_field_data *data, struct bme680_dev *dev); + +/*! + * @brief This API is used to set the oversampling, filter and T,P,H, gas selection + * settings in the sensor. + * + * @param[in] dev : Structure instance of bme680_dev. + * @param[in] desired_settings : Variable used to select the settings which + * are to be set in the sensor. + * + * Macros | Functionality + *---------------------------------|---------------------------------------------- + * BME680_OST_SEL | To set temperature oversampling. + * BME680_OSP_SEL | To set pressure oversampling. + * BME680_OSH_SEL | To set humidity oversampling. + * BME680_GAS_MEAS_SEL | To set gas measurement setting. + * BME680_FILTER_SEL | To set filter setting. + * BME680_HCNTRL_SEL | To set humidity control setting. + * BME680_RUN_GAS_SEL | To set run gas setting. + * BME680_NBCONV_SEL | To set NB conversion setting. + * BME680_GAS_SENSOR_SEL | To set all gas sensor related settings + * + * @note : Below are the macros to be used by the user for selecting the + * desired settings. User can do OR operation of these macros for configuring + * multiple settings. + * + * @return Result of API execution status + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error. + */ +int8_t bme680_set_sensor_settings(uint16_t desired_settings, struct bme680_dev *dev); + +/*! + * @brief This API is used to get the oversampling, filter and T,P,H, gas selection + * settings in the sensor. + * + * @param[in] dev : Structure instance of bme680_dev. + * @param[in] desired_settings : Variable used to select the settings which + * are to be get from the sensor. + * + * @return Result of API execution status + * @retval zero -> Success / +ve value -> Warning / -ve value -> Error. + */ +int8_t bme680_get_sensor_settings(uint16_t desired_settings, struct bme680_dev *dev); +#ifdef __cplusplus +} +#endif /* End of CPP guard */ +#endif /* BME680_H_ */ +/** @}*/ diff --git a/lib/Bosch-BSEC-1.4.7.1/bme680_defs.h b/lib/Bosch-BSEC-1.4.7.1/bme680_defs.h new file mode 100644 index 00000000..495edfe0 --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/bme680_defs.h @@ -0,0 +1,545 @@ +/** + * Copyright (C) 2017 - 2018 Bosch Sensortec GmbH + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the copyright holder nor the names of the + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER + * OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + * OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + * The information provided is believed to be accurate and reliable. + * The copyright holder assumes no responsibility + * for the consequences of use + * of such information nor for any infringement of patents or + * other rights of third parties which may result from its use. + * No license is granted by implication or otherwise under any patent or + * patent rights of the copyright holder. + * + * @file bme680_defs.h + * @date 19 Jun 2018 + * @version 3.5.9 + * @brief + * + */ + +/*! @file bme680_defs.h + @brief Sensor driver for BME680 sensor */ +/*! + * @defgroup BME680 SENSOR API + * @brief + * @{*/ +#ifndef BME680_DEFS_H_ +#define BME680_DEFS_H_ + +/********************************************************/ +/* header includes */ +#ifdef __KERNEL__ +#include +#include +#else +#include +#include +#endif + +/******************************************************************************/ +/*! @name Common macros */ +/******************************************************************************/ + +#if !defined(UINT8_C) && !defined(INT8_C) +#define INT8_C(x) S8_C(x) +#define UINT8_C(x) U8_C(x) +#endif + +#if !defined(UINT16_C) && !defined(INT16_C) +#define INT16_C(x) S16_C(x) +#define UINT16_C(x) U16_C(x) +#endif + +#if !defined(INT32_C) && !defined(UINT32_C) +#define INT32_C(x) S32_C(x) +#define UINT32_C(x) U32_C(x) +#endif + +#if !defined(INT64_C) && !defined(UINT64_C) +#define INT64_C(x) S64_C(x) +#define UINT64_C(x) U64_C(x) +#endif + +/**@}*/ + +/**\name C standard macros */ +#ifndef NULL +#ifdef __cplusplus +#define NULL 0 +#else +#define NULL ((void *) 0) +#endif +#endif + +/** BME680 configuration macros */ +/** Enable or un-comment the macro to provide floating point data output */ +#ifndef BME680_FLOAT_POINT_COMPENSATION +/* #define BME680_FLOAT_POINT_COMPENSATION */ +#endif + +/** BME680 General config */ +#define BME680_POLL_PERIOD_MS UINT8_C(10) + +/** BME680 I2C addresses */ +#define BME680_I2C_ADDR_PRIMARY UINT8_C(0x76) +#define BME680_I2C_ADDR_SECONDARY UINT8_C(0x77) + +/** BME680 unique chip identifier */ +#define BME680_CHIP_ID UINT8_C(0x61) + +/** BME680 coefficients related defines */ +#define BME680_COEFF_SIZE UINT8_C(41) +#define BME680_COEFF_ADDR1_LEN UINT8_C(25) +#define BME680_COEFF_ADDR2_LEN UINT8_C(16) + +/** BME680 field_x related defines */ +#define BME680_FIELD_LENGTH UINT8_C(15) +#define BME680_FIELD_ADDR_OFFSET UINT8_C(17) + +/** Soft reset command */ +#define BME680_SOFT_RESET_CMD UINT8_C(0xb6) + +/** Error code definitions */ +#define BME680_OK INT8_C(0) +/* Errors */ +#define BME680_E_NULL_PTR INT8_C(-1) +#define BME680_E_COM_FAIL INT8_C(-2) +#define BME680_E_DEV_NOT_FOUND INT8_C(-3) +#define BME680_E_INVALID_LENGTH INT8_C(-4) + +/* Warnings */ +#define BME680_W_DEFINE_PWR_MODE INT8_C(1) +#define BME680_W_NO_NEW_DATA INT8_C(2) + +/* Info's */ +#define BME680_I_MIN_CORRECTION UINT8_C(1) +#define BME680_I_MAX_CORRECTION UINT8_C(2) + +/** Register map */ +/** Other coefficient's address */ +#define BME680_ADDR_RES_HEAT_VAL_ADDR UINT8_C(0x00) +#define BME680_ADDR_RES_HEAT_RANGE_ADDR UINT8_C(0x02) +#define BME680_ADDR_RANGE_SW_ERR_ADDR UINT8_C(0x04) +#define BME680_ADDR_SENS_CONF_START UINT8_C(0x5A) +#define BME680_ADDR_GAS_CONF_START UINT8_C(0x64) + +/** Field settings */ +#define BME680_FIELD0_ADDR UINT8_C(0x1d) + +/** Heater settings */ +#define BME680_RES_HEAT0_ADDR UINT8_C(0x5a) +#define BME680_GAS_WAIT0_ADDR UINT8_C(0x64) + +/** Sensor configuration registers */ +#define BME680_CONF_HEAT_CTRL_ADDR UINT8_C(0x70) +#define BME680_CONF_ODR_RUN_GAS_NBC_ADDR UINT8_C(0x71) +#define BME680_CONF_OS_H_ADDR UINT8_C(0x72) +#define BME680_MEM_PAGE_ADDR UINT8_C(0xf3) +#define BME680_CONF_T_P_MODE_ADDR UINT8_C(0x74) +#define BME680_CONF_ODR_FILT_ADDR UINT8_C(0x75) + +/** Coefficient's address */ +#define BME680_COEFF_ADDR1 UINT8_C(0x89) +#define BME680_COEFF_ADDR2 UINT8_C(0xe1) + +/** Chip identifier */ +#define BME680_CHIP_ID_ADDR UINT8_C(0xd0) + +/** Soft reset register */ +#define BME680_SOFT_RESET_ADDR UINT8_C(0xe0) + +/** Heater control settings */ +#define BME680_ENABLE_HEATER UINT8_C(0x00) +#define BME680_DISABLE_HEATER UINT8_C(0x08) + +/** Gas measurement settings */ +#define BME680_DISABLE_GAS_MEAS UINT8_C(0x00) +#define BME680_ENABLE_GAS_MEAS UINT8_C(0x01) + +/** Over-sampling settings */ +#define BME680_OS_NONE UINT8_C(0) +#define BME680_OS_1X UINT8_C(1) +#define BME680_OS_2X UINT8_C(2) +#define BME680_OS_4X UINT8_C(3) +#define BME680_OS_8X UINT8_C(4) +#define BME680_OS_16X UINT8_C(5) + +/** IIR filter settings */ +#define BME680_FILTER_SIZE_0 UINT8_C(0) +#define BME680_FILTER_SIZE_1 UINT8_C(1) +#define BME680_FILTER_SIZE_3 UINT8_C(2) +#define BME680_FILTER_SIZE_7 UINT8_C(3) +#define BME680_FILTER_SIZE_15 UINT8_C(4) +#define BME680_FILTER_SIZE_31 UINT8_C(5) +#define BME680_FILTER_SIZE_63 UINT8_C(6) +#define BME680_FILTER_SIZE_127 UINT8_C(7) + +/** Power mode settings */ +#define BME680_SLEEP_MODE UINT8_C(0) +#define BME680_FORCED_MODE UINT8_C(1) + +/** Delay related macro declaration */ +#define BME680_RESET_PERIOD UINT32_C(10) + +/** SPI memory page settings */ +#define BME680_MEM_PAGE0 UINT8_C(0x10) +#define BME680_MEM_PAGE1 UINT8_C(0x00) + +/** Ambient humidity shift value for compensation */ +#define BME680_HUM_REG_SHIFT_VAL UINT8_C(4) + +/** Run gas enable and disable settings */ +#define BME680_RUN_GAS_DISABLE UINT8_C(0) +#define BME680_RUN_GAS_ENABLE UINT8_C(1) + +/** Buffer length macro declaration */ +#define BME680_TMP_BUFFER_LENGTH UINT8_C(40) +#define BME680_REG_BUFFER_LENGTH UINT8_C(6) +#define BME680_FIELD_DATA_LENGTH UINT8_C(3) +#define BME680_GAS_REG_BUF_LENGTH UINT8_C(20) + +/** Settings selector */ +#define BME680_OST_SEL UINT16_C(1) +#define BME680_OSP_SEL UINT16_C(2) +#define BME680_OSH_SEL UINT16_C(4) +#define BME680_GAS_MEAS_SEL UINT16_C(8) +#define BME680_FILTER_SEL UINT16_C(16) +#define BME680_HCNTRL_SEL UINT16_C(32) +#define BME680_RUN_GAS_SEL UINT16_C(64) +#define BME680_NBCONV_SEL UINT16_C(128) +#define BME680_GAS_SENSOR_SEL (BME680_GAS_MEAS_SEL | BME680_RUN_GAS_SEL | BME680_NBCONV_SEL) + +/** Number of conversion settings*/ +#define BME680_NBCONV_MIN UINT8_C(0) +#define BME680_NBCONV_MAX UINT8_C(10) + +/** Mask definitions */ +#define BME680_GAS_MEAS_MSK UINT8_C(0x30) +#define BME680_NBCONV_MSK UINT8_C(0X0F) +#define BME680_FILTER_MSK UINT8_C(0X1C) +#define BME680_OST_MSK UINT8_C(0XE0) +#define BME680_OSP_MSK UINT8_C(0X1C) +#define BME680_OSH_MSK UINT8_C(0X07) +#define BME680_HCTRL_MSK UINT8_C(0x08) +#define BME680_RUN_GAS_MSK UINT8_C(0x10) +#define BME680_MODE_MSK UINT8_C(0x03) +#define BME680_RHRANGE_MSK UINT8_C(0x30) +#define BME680_RSERROR_MSK UINT8_C(0xf0) +#define BME680_NEW_DATA_MSK UINT8_C(0x80) +#define BME680_GAS_INDEX_MSK UINT8_C(0x0f) +#define BME680_GAS_RANGE_MSK UINT8_C(0x0f) +#define BME680_GASM_VALID_MSK UINT8_C(0x20) +#define BME680_HEAT_STAB_MSK UINT8_C(0x10) +#define BME680_MEM_PAGE_MSK UINT8_C(0x10) +#define BME680_SPI_RD_MSK UINT8_C(0x80) +#define BME680_SPI_WR_MSK UINT8_C(0x7f) +#define BME680_BIT_H1_DATA_MSK UINT8_C(0x0F) + +/** Bit position definitions for sensor settings */ +#define BME680_GAS_MEAS_POS UINT8_C(4) +#define BME680_FILTER_POS UINT8_C(2) +#define BME680_OST_POS UINT8_C(5) +#define BME680_OSP_POS UINT8_C(2) +#define BME680_RUN_GAS_POS UINT8_C(4) + +/** Array Index to Field data mapping for Calibration Data*/ +#define BME680_T2_LSB_REG (1) +#define BME680_T2_MSB_REG (2) +#define BME680_T3_REG (3) +#define BME680_P1_LSB_REG (5) +#define BME680_P1_MSB_REG (6) +#define BME680_P2_LSB_REG (7) +#define BME680_P2_MSB_REG (8) +#define BME680_P3_REG (9) +#define BME680_P4_LSB_REG (11) +#define BME680_P4_MSB_REG (12) +#define BME680_P5_LSB_REG (13) +#define BME680_P5_MSB_REG (14) +#define BME680_P7_REG (15) +#define BME680_P6_REG (16) +#define BME680_P8_LSB_REG (19) +#define BME680_P8_MSB_REG (20) +#define BME680_P9_LSB_REG (21) +#define BME680_P9_MSB_REG (22) +#define BME680_P10_REG (23) +#define BME680_H2_MSB_REG (25) +#define BME680_H2_LSB_REG (26) +#define BME680_H1_LSB_REG (26) +#define BME680_H1_MSB_REG (27) +#define BME680_H3_REG (28) +#define BME680_H4_REG (29) +#define BME680_H5_REG (30) +#define BME680_H6_REG (31) +#define BME680_H7_REG (32) +#define BME680_T1_LSB_REG (33) +#define BME680_T1_MSB_REG (34) +#define BME680_GH2_LSB_REG (35) +#define BME680_GH2_MSB_REG (36) +#define BME680_GH1_REG (37) +#define BME680_GH3_REG (38) + +/** BME680 register buffer index settings*/ +#define BME680_REG_FILTER_INDEX UINT8_C(5) +#define BME680_REG_TEMP_INDEX UINT8_C(4) +#define BME680_REG_PRES_INDEX UINT8_C(4) +#define BME680_REG_HUM_INDEX UINT8_C(2) +#define BME680_REG_NBCONV_INDEX UINT8_C(1) +#define BME680_REG_RUN_GAS_INDEX UINT8_C(1) +#define BME680_REG_HCTRL_INDEX UINT8_C(0) + +/** BME680 pressure calculation macros */ +/*! This max value is used to provide precedence to multiplication or division + * in pressure compensation equation to achieve least loss of precision and + * avoiding overflows. + * i.e Comparing value, BME680_MAX_OVERFLOW_VAL = INT32_C(1 << 30) + */ +#define BME680_MAX_OVERFLOW_VAL INT32_C(0x40000000) + +/** Macro to combine two 8 bit data's to form a 16 bit data */ +#define BME680_CONCAT_BYTES(msb, lsb) (((uint16_t)msb << 8) | (uint16_t)lsb) + +/** Macro to SET and GET BITS of a register */ +#define BME680_SET_BITS(reg_data, bitname, data) \ + ((reg_data & ~(bitname##_MSK)) | \ + ((data << bitname##_POS) & bitname##_MSK)) +#define BME680_GET_BITS(reg_data, bitname) ((reg_data & (bitname##_MSK)) >> \ + (bitname##_POS)) + +/** Macro variant to handle the bitname position if it is zero */ +#define BME680_SET_BITS_POS_0(reg_data, bitname, data) \ + ((reg_data & ~(bitname##_MSK)) | \ + (data & bitname##_MSK)) +#define BME680_GET_BITS_POS_0(reg_data, bitname) (reg_data & (bitname##_MSK)) + +/** Type definitions */ +/*! + * Generic communication function pointer + * @param[in] dev_id: Place holder to store the id of the device structure + * Can be used to store the index of the Chip select or + * I2C address of the device. + * @param[in] reg_addr: Used to select the register the where data needs to + * be read from or written to. + * @param[in/out] reg_data: Data array to read/write + * @param[in] len: Length of the data array + */ +typedef int8_t (*bme680_com_fptr_t)(uint8_t dev_id, uint8_t reg_addr, uint8_t *data, uint16_t len); + +/*! + * Delay function pointer + * @param[in] period: Time period in milliseconds + */ +typedef void (*bme680_delay_fptr_t)(uint32_t period); + +/*! + * @brief Interface selection Enumerations + */ +enum bme680_intf { + /*! SPI interface */ + BME680_SPI_INTF, + /*! I2C interface */ + BME680_I2C_INTF +}; + +/* structure definitions */ +/*! + * @brief Sensor field data structure + */ +struct bme680_field_data { + /*! Contains new_data, gasm_valid & heat_stab */ + uint8_t status; + /*! The index of the heater profile used */ + uint8_t gas_index; + /*! Measurement index to track order */ + uint8_t meas_index; + +#ifndef BME680_FLOAT_POINT_COMPENSATION + /*! Temperature in degree celsius x100 */ + int16_t temperature; + /*! Pressure in Pascal */ + uint32_t pressure; + /*! Humidity in % relative humidity x1000 */ + uint32_t humidity; + /*! Gas resistance in Ohms */ + uint32_t gas_resistance; +#else + /*! Temperature in degree celsius */ + float temperature; + /*! Pressure in Pascal */ + float pressure; + /*! Humidity in % relative humidity x1000 */ + float humidity; + /*! Gas resistance in Ohms */ + float gas_resistance; + +#endif + +}; + +/*! + * @brief Structure to hold the Calibration data + */ +struct bme680_calib_data { + /*! Variable to store calibrated humidity data */ + uint16_t par_h1; + /*! Variable to store calibrated humidity data */ + uint16_t par_h2; + /*! Variable to store calibrated humidity data */ + int8_t par_h3; + /*! Variable to store calibrated humidity data */ + int8_t par_h4; + /*! Variable to store calibrated humidity data */ + int8_t par_h5; + /*! Variable to store calibrated humidity data */ + uint8_t par_h6; + /*! Variable to store calibrated humidity data */ + int8_t par_h7; + /*! Variable to store calibrated gas data */ + int8_t par_gh1; + /*! Variable to store calibrated gas data */ + int16_t par_gh2; + /*! Variable to store calibrated gas data */ + int8_t par_gh3; + /*! Variable to store calibrated temperature data */ + uint16_t par_t1; + /*! Variable to store calibrated temperature data */ + int16_t par_t2; + /*! Variable to store calibrated temperature data */ + int8_t par_t3; + /*! Variable to store calibrated pressure data */ + uint16_t par_p1; + /*! Variable to store calibrated pressure data */ + int16_t par_p2; + /*! Variable to store calibrated pressure data */ + int8_t par_p3; + /*! Variable to store calibrated pressure data */ + int16_t par_p4; + /*! Variable to store calibrated pressure data */ + int16_t par_p5; + /*! Variable to store calibrated pressure data */ + int8_t par_p6; + /*! Variable to store calibrated pressure data */ + int8_t par_p7; + /*! Variable to store calibrated pressure data */ + int16_t par_p8; + /*! Variable to store calibrated pressure data */ + int16_t par_p9; + /*! Variable to store calibrated pressure data */ + uint8_t par_p10; + +#ifndef BME680_FLOAT_POINT_COMPENSATION + /*! Variable to store t_fine size */ + int32_t t_fine; +#else + /*! Variable to store t_fine size */ + float t_fine; +#endif + /*! Variable to store heater resistance range */ + uint8_t res_heat_range; + /*! Variable to store heater resistance value */ + int8_t res_heat_val; + /*! Variable to store error range */ + int8_t range_sw_err; +}; + +/*! + * @brief BME680 sensor settings structure which comprises of ODR, + * over-sampling and filter settings. + */ +struct bme680_tph_sett { + /*! Humidity oversampling */ + uint8_t os_hum; + /*! Temperature oversampling */ + uint8_t os_temp; + /*! Pressure oversampling */ + uint8_t os_pres; + /*! Filter coefficient */ + uint8_t filter; +}; + +/*! + * @brief BME680 gas sensor which comprises of gas settings + * and status parameters + */ +struct bme680_gas_sett { + /*! Variable to store nb conversion */ + uint8_t nb_conv; + /*! Variable to store heater control */ + uint8_t heatr_ctrl; + /*! Run gas enable value */ + uint8_t run_gas; + /*! Heater temperature value */ + uint16_t heatr_temp; + /*! Duration profile value */ + uint16_t heatr_dur; +}; + +/*! + * @brief BME680 device structure + */ +struct bme680_dev { + /*! Chip Id */ + uint8_t chip_id; + /*! Device Id */ + uint8_t dev_id; + /*! SPI/I2C interface */ + enum bme680_intf intf; + /*! Memory page used */ + uint8_t mem_page; + /*! Ambient temperature in Degree C */ + int8_t amb_temp; + /*! Sensor calibration data */ + struct bme680_calib_data calib; + /*! Sensor settings */ + struct bme680_tph_sett tph_sett; + /*! Gas Sensor settings */ + struct bme680_gas_sett gas_sett; + /*! Sensor power modes */ + uint8_t power_mode; + /*! New sensor fields */ + uint8_t new_fields; + /*! Store the info messages */ + uint8_t info_msg; + /*! Bus read function pointer */ + bme680_com_fptr_t read; + /*! Bus write function pointer */ + bme680_com_fptr_t write; + /*! delay function pointer */ + bme680_delay_fptr_t delay_ms; + /*! Communication function result */ + int8_t com_rslt; +}; + + + +#endif /* BME680_DEFS_H_ */ +/** @}*/ +/** @}*/ diff --git a/lib/Bosch-BSEC-1.4.7.1/bsec_datatypes.h b/lib/Bosch-BSEC-1.4.7.1/bsec_datatypes.h new file mode 100644 index 00000000..6b4f43df --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/bsec_datatypes.h @@ -0,0 +1,488 @@ +/* + * Copyright (C) 2015, 2016, 2017 Robert Bosch. All Rights Reserved. + * + * Disclaimer + * + * Common: + * Bosch Sensortec products are developed for the consumer goods industry. They may only be used + * within the parameters of the respective valid product data sheet. Bosch Sensortec products are + * provided with the express understanding that there is no warranty of fitness for a particular purpose. + * They are not fit for use in life-sustaining, safety or security sensitive systems or any system or device + * that may lead to bodily harm or property damage if the system or device malfunctions. In addition, + * Bosch Sensortec products are not fit for use in products which interact with motor vehicle systems. + * The resale and/or use of products are at the purchasers own risk and his own responsibility. The + * examination of fitness for the intended use is the sole responsibility of the Purchaser. + * + * The purchaser shall indemnify Bosch Sensortec from all third party claims, including any claims for + * incidental, or consequential damages, arising from any product use not covered by the parameters of + * the respective valid product data sheet or not approved by Bosch Sensortec and reimburse Bosch + * Sensortec for all costs in connection with such claims. + * + * The purchaser must monitor the market for the purchased products, particularly with regard to + * product safety and inform Bosch Sensortec without delay of all security relevant incidents. + * + * Engineering Samples are marked with an asterisk (*) or (e). Samples may vary from the valid + * technical specifications of the product series. They are therefore not intended or fit for resale to third + * parties or for use in end products. Their sole purpose is internal client testing. The testing of an + * engineering sample may in no way replace the testing of a product series. Bosch Sensortec + * assumes no liability for the use of engineering samples. By accepting the engineering samples, the + * Purchaser agrees to indemnify Bosch Sensortec from all claims arising from the use of engineering + * samples. + * + * Special: + * This software module (hereinafter called "Software") and any information on application-sheets + * (hereinafter called "Information") is provided free of charge for the sole purpose to support your + * application work. The Software and Information is subject to the following terms and conditions: + * + * The Software is specifically designed for the exclusive use for Bosch Sensortec products by + * personnel who have special experience and training. Do not use this Software if you do not have the + * proper experience or training. + * + * This Software package is provided `` as is `` and without any expressed or implied warranties, + * including without limitation, the implied warranties of merchantability and fitness for a particular + * purpose. + * + * Bosch Sensortec and their representatives and agents deny any liability for the functional impairment + * of this Software in terms of fitness, performance and safety. Bosch Sensortec and their + * representatives and agents shall not be liable for any direct or indirect damages or injury, except as + * otherwise stipulated in mandatory applicable law. + * + * The Information provided is believed to be accurate and reliable. Bosch Sensortec assumes no + * responsibility for the consequences of use of such Information nor for any infringement of patents or + * other rights of third parties which may result from its use. No license is granted by implication or + * otherwise under any patent or patent rights of Bosch. Specifications mentioned in the Information are + * subject to change without notice. + * + * It is not allowed to deliver the source code of the Software to any third party without permission of + * Bosch Sensortec. + * + */ + + /** + * @file bsec_datatypes.h + * + * @brief + * Contains the data types used by BSEC + * + */ + +#ifndef __BSEC_DATATYPES_H__ +#define __BSEC_DATATYPES_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +/*! + * @addtogroup bsec_interface BSEC C Interface + * @{*/ + +#ifdef __KERNEL__ +#include +#endif +#include +#include + +#define BSEC_MAX_WORKBUFFER_SIZE (2048) /*!< Maximum size (in bytes) of the work buffer */ +#define BSEC_MAX_PHYSICAL_SENSOR (8) /*!< Number of physical sensors that need allocated space before calling bsec_update_subscription() */ +#define BSEC_MAX_PROPERTY_BLOB_SIZE (454) /*!< Maximum size (in bytes) of the data blobs returned by bsec_get_configuration() */ +#define BSEC_MAX_STATE_BLOB_SIZE (134) /*!< Maximum size (in bytes) of the data blobs returned by bsec_get_state()*/ +#define BSEC_SAMPLE_RATE_DISABLED (65535.0f) /*!< Sample rate of a disabled sensor */ +#define BSEC_SAMPLE_RATE_ULP (0.0033333f) /*!< Sample rate in case of Ultra Low Power Mode */ +#define BSEC_SAMPLE_RATE_LP (0.33333f) /*!< Sample rate in case of Low Power Mode */ +#define BSEC_SAMPLE_RATE_ULP_MEASUREMENT_ON_DEMAND (0.0f) /*!< Input value used to trigger an extra measurment (ULP plus) */ + +#define BSEC_PROCESS_PRESSURE (1 << (BSEC_INPUT_PRESSURE-1)) /*!< process_data bitfield constant for pressure @sa bsec_bme_settings_t */ +#define BSEC_PROCESS_TEMPERATURE (1 << (BSEC_INPUT_TEMPERATURE-1)) /*!< process_data bitfield constant for temperature @sa bsec_bme_settings_t */ +#define BSEC_PROCESS_HUMIDITY (1 << (BSEC_INPUT_HUMIDITY-1)) /*!< process_data bitfield constant for humidity @sa bsec_bme_settings_t */ +#define BSEC_PROCESS_GAS (1 << (BSEC_INPUT_GASRESISTOR-1)) /*!< process_data bitfield constant for gas sensor @sa bsec_bme_settings_t */ +#define BSEC_NUMBER_OUTPUTS (14) /*!< Number of outputs, depending on solution */ +#define BSEC_OUTPUT_INCLUDED (1210863) /*!< bitfield that indicates which outputs are included in the solution */ + +/*! + * @brief Enumeration for input (physical) sensors. + * + * Used to populate bsec_input_t::sensor_id. It is also used in bsec_sensor_configuration_t::sensor_id structs + * returned in the parameter required_sensor_settings of bsec_update_subscription(). + * + * @sa bsec_sensor_configuration_t @sa bsec_input_t + */ +typedef enum +{ + /** + * @brief Pressure sensor output of BMExxx [Pa] + */ + BSEC_INPUT_PRESSURE = 1, + + /** + * @brief Humidity sensor output of BMExxx [%] + * + * @note Relative humidity strongly depends on the temperature (it is measured at). It may require a conversion to + * the temperature outside of the device. + * + * @sa bsec_virtual_sensor_t + */ + BSEC_INPUT_HUMIDITY = 2, + + /** + * @brief Temperature sensor output of BMExxx [degrees Celsius] + * + * @note The BME680 is factory trimmed, thus the temperature sensor of the BME680 is very accurate. + * The temperature value is a very local measurement value and can be influenced by external heat sources. + * + * @sa bsec_virtual_sensor_t + */ + BSEC_INPUT_TEMPERATURE = 3, + + /** + * @brief Gas sensor resistance output of BMExxx [Ohm] + * + * The resistance value changes due to varying VOC concentrations (the higher the concentration of reducing VOCs, + * the lower the resistance and vice versa). + */ + BSEC_INPUT_GASRESISTOR = 4, /*!< */ + + /** + * @brief Additional input for device heat compensation + * + * IAQ solution: The value is subtracted from ::BSEC_INPUT_TEMPERATURE to compute + * ::BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE. + * + * ALL solution: Generic heat source 1 + * + * @sa bsec_virtual_sensor_t + */ + BSEC_INPUT_HEATSOURCE = 14, + + /** + * @brief Additional input for device heat compensation 8 + * + * Generic heat source 8 + */ + + + /** + * @brief Additional input that disables baseline tracker + * + * 0 - Normal + * 1 - Event 1 + * 2 - Event 2 + */ + BSEC_INPUT_DISABLE_BASELINE_TRACKER = 23, + +} bsec_physical_sensor_t; + +/*! + * @brief Enumeration for output (virtual) sensors + * + * Used to populate bsec_output_t::sensor_id. It is also used in bsec_sensor_configuration_t::sensor_id structs + * passed in the parameter requested_virtual_sensors of bsec_update_subscription(). + * + * @sa bsec_sensor_configuration_t @sa bsec_output_t + */ +typedef enum +{ + /** + * @brief Indoor-air-quality estimate [0-500] + * + * Indoor-air-quality (IAQ) gives an indication of the relative change in ambient TVOCs detected by BME680. + * + * @note The IAQ scale ranges from 0 (clean air) to 500 (heavily polluted air). During operation, algorithms + * automatically calibrate and adapt themselves to the typical environments where the sensor is operated + * (e.g., home, workplace, inside a car, etc.).This automatic background calibration ensures that users experience + * consistent IAQ performance. The calibration process considers the recent measurement history (typ. up to four + * days) to ensure that IAQ=25 corresponds to typical good air and IAQ=250 indicates typical polluted air. + */ + BSEC_OUTPUT_IAQ = 1, + BSEC_OUTPUT_STATIC_IAQ = 2, /*!< Unscaled indoor-air-quality estimate */ + BSEC_OUTPUT_CO2_EQUIVALENT = 3, /*!< co2 equivalent estimate [ppm] */ + BSEC_OUTPUT_BREATH_VOC_EQUIVALENT = 4, /*!< breath VOC concentration estimate [ppm] */ + + /** + * @brief Temperature sensor signal [degrees Celsius] + * + * Temperature directly measured by BME680 in degree Celsius. + * + * @note This value is cross-influenced by the sensor heating and device specific heating. + */ + BSEC_OUTPUT_RAW_TEMPERATURE = 6, + + /** + * @brief Pressure sensor signal [Pa] + * + * Pressure directly measured by the BME680 in Pa. + */ + BSEC_OUTPUT_RAW_PRESSURE = 7, + + /** + * @brief Relative humidity sensor signal [%] + * + * Relative humidity directly measured by the BME680 in %. + * + * @note This value is cross-influenced by the sensor heating and device specific heating. + */ + BSEC_OUTPUT_RAW_HUMIDITY = 8, + + /** + * @brief Gas sensor signal [Ohm] + * + * Gas resistance measured directly by the BME680 in Ohm.The resistance value changes due to varying VOC + * concentrations (the higher the concentration of reducing VOCs, the lower the resistance and vice versa). + */ + BSEC_OUTPUT_RAW_GAS = 9, + + /** + * @brief Gas sensor stabilization status [boolean] + * + * Indicates initial stabilization status of the gas sensor element: stabilization is ongoing (0) or stabilization + * is finished (1). + */ + BSEC_OUTPUT_STABILIZATION_STATUS = 12, + + /** + * @brief Gas sensor run-in status [boolean] + * + * Indicates power-on stabilization status of the gas sensor element: stabilization is ongoing (0) or stabilization + * is finished (1). + */ + BSEC_OUTPUT_RUN_IN_STATUS = 13, + + /** + * @brief Sensor heat compensated temperature [degrees Celsius] + * + * Temperature measured by BME680 which is compensated for the influence of sensor (heater) in degree Celsius. + * The self heating introduced by the heater is depending on the sensor operation mode and the sensor supply voltage. + * + * + * @note IAQ solution: In addition, the temperature output can be compensated by an user defined value + * (::BSEC_INPUT_HEATSOURCE in degrees Celsius), which represents the device specific self-heating. + * + * Thus, the value is calculated as follows: + * * IAQ solution: ```BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE = ::BSEC_INPUT_TEMPERATURE - function(sensor operation mode, sensor supply voltage) - ::BSEC_INPUT_HEATSOURCE``` + * * other solutions: ```::BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE = ::BSEC_INPUT_TEMPERATURE - function(sensor operation mode, sensor supply voltage)``` + * + * The self-heating in operation mode BSEC_SAMPLE_RATE_ULP is negligible. + * The self-heating in operation mode BSEC_SAMPLE_RATE_LP is supported for 1.8V by default (no config file required). If the BME680 sensor supply voltage is 3.3V, the IoT_LP_3_3V.config shall be used. + */ + BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE = 14, + + /** + * @brief Sensor heat compensated humidity [%] + * + * Relative measured by BME680 which is compensated for the influence of sensor (heater) in %. + * + * It converts the ::BSEC_INPUT_HUMIDITY from temperature ::BSEC_INPUT_TEMPERATURE to temperature + * ::BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE. + * + * @note IAQ solution: If ::BSEC_INPUT_HEATSOURCE is used for device specific temperature compensation, it will be + * effective for ::BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY too. + */ + BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY = 15, + + BSEC_OUTPUT_COMPENSATED_GAS = 18, /*!< Reserved internal debug output */ + BSEC_OUTPUT_GAS_PERCENTAGE = 21 /*!< percentage of min and max filtered gas value [%] */ +} bsec_virtual_sensor_t; + +/*! + * @brief Enumeration for function return codes + */ +typedef enum +{ + BSEC_OK = 0, /*!< Function execution successful */ + BSEC_E_DOSTEPS_INVALIDINPUT = -1, /*!< Input (physical) sensor id passed to bsec_do_steps() is not in the valid range or not valid for requested virtual sensor */ + BSEC_E_DOSTEPS_VALUELIMITS = -2, /*!< Value of input (physical) sensor signal passed to bsec_do_steps() is not in the valid range */ + BSEC_E_DOSTEPS_DUPLICATEINPUT = -6, /*!< Duplicate input (physical) sensor ids passed as input to bsec_do_steps() */ + BSEC_I_DOSTEPS_NOOUTPUTSRETURNABLE = 2, /*!< No memory allocated to hold return values from bsec_do_steps(), i.e., n_outputs == 0 */ + BSEC_W_DOSTEPS_EXCESSOUTPUTS = 3, /*!< Not enough memory allocated to hold return values from bsec_do_steps(), i.e., n_outputs < maximum number of requested output (virtual) sensors */ + BSEC_W_DOSTEPS_TSINTRADIFFOUTOFRANGE = 4, /*!< Duplicate timestamps passed to bsec_do_steps() */ + BSEC_E_SU_WRONGDATARATE = -10, /*!< The sample_rate of the requested output (virtual) sensor passed to bsec_update_subscription() is zero */ + BSEC_E_SU_SAMPLERATELIMITS = -12, /*!< The sample_rate of the requested output (virtual) sensor passed to bsec_update_subscription() does not match with the sampling rate allowed for that sensor */ + BSEC_E_SU_DUPLICATEGATE = -13, /*!< Duplicate output (virtual) sensor ids requested through bsec_update_subscription() */ + BSEC_E_SU_INVALIDSAMPLERATE = -14, /*!< The sample_rate of the requested output (virtual) sensor passed to bsec_update_subscription() does not fall within the global minimum and maximum sampling rates */ + BSEC_E_SU_GATECOUNTEXCEEDSARRAY = -15, /*!< Not enough memory allocated to hold returned input (physical) sensor data from bsec_update_subscription(), i.e., n_required_sensor_settings < #BSEC_MAX_PHYSICAL_SENSOR */ + BSEC_E_SU_SAMPLINTVLINTEGERMULT = -16, /*!< The sample_rate of the requested output (virtual) sensor passed to bsec_update_subscription() is not correct */ + BSEC_E_SU_MULTGASSAMPLINTVL = -17, /*!< The sample_rate of the requested output (virtual), which requires the gas sensor, is not equal to the sample_rate that the gas sensor is being operated */ + BSEC_E_SU_HIGHHEATERONDURATION = -18, /*!< The duration of one measurement is longer than the requested sampling interval */ + BSEC_W_SU_UNKNOWNOUTPUTGATE = 10, /*!< Output (virtual) sensor id passed to bsec_update_subscription() is not in the valid range; e.g., n_requested_virtual_sensors > actual number of output (virtual) sensors requested */ + BSEC_W_SU_MODINNOULP = 11, /*!< ULP plus can not be requested in non-ulp mode */ /*MOD_ONLY*/ + BSEC_I_SU_SUBSCRIBEDOUTPUTGATES = 12, /*!< No output (virtual) sensor data were requested via bsec_update_subscription() */ + BSEC_E_PARSE_SECTIONEXCEEDSWORKBUFFER = -32, /*!< n_work_buffer_size passed to bsec_set_[configuration/state]() not sufficient */ + BSEC_E_CONFIG_FAIL = -33, /*!< Configuration failed */ + BSEC_E_CONFIG_VERSIONMISMATCH = -34, /*!< Version encoded in serialized_[settings/state] passed to bsec_set_[configuration/state]() does not match with current version */ + BSEC_E_CONFIG_FEATUREMISMATCH = -35, /*!< Enabled features encoded in serialized_[settings/state] passed to bsec_set_[configuration/state]() does not match with current library implementation */ + BSEC_E_CONFIG_CRCMISMATCH = -36, /*!< serialized_[settings/state] passed to bsec_set_[configuration/state]() is corrupted */ + BSEC_E_CONFIG_EMPTY = -37, /*!< n_serialized_[settings/state] passed to bsec_set_[configuration/state]() is to short to be valid */ + BSEC_E_CONFIG_INSUFFICIENTWORKBUFFER = -38, /*!< Provided work_buffer is not large enough to hold the desired string */ + BSEC_E_CONFIG_INVALIDSTRINGSIZE = -40, /*!< String size encoded in configuration/state strings passed to bsec_set_[configuration/state]() does not match with the actual string size n_serialized_[settings/state] passed to these functions */ + BSEC_E_CONFIG_INSUFFICIENTBUFFER = -41, /*!< String buffer insufficient to hold serialized data from BSEC library */ + BSEC_E_SET_INVALIDCHANNELIDENTIFIER = -100, /*!< Internal error code, size of work buffer in setConfig must be set to BSEC_MAX_WORKBUFFER_SIZE */ + BSEC_E_SET_INVALIDLENGTH = -104, /*!< Internal error code */ + BSEC_W_SC_CALL_TIMING_VIOLATION = 100, /*!< Difference between actual and defined sampling intervals of bsec_sensor_control() greater than allowed */ + BSEC_W_SC_MODEXCEEDULPTIMELIMIT = 101, /*!< ULP plus is not allowed because an ULP measurement just took or will take place */ /*MOD_ONLY*/ + BSEC_W_SC_MODINSUFFICIENTWAITTIME = 102 /*!< ULP plus is not allowed because not sufficient time passed since last ULP plus */ /*MOD_ONLY*/ +} bsec_library_return_t; + +/*! + * @brief Structure containing the version information + * + * Please note that configuration and state strings are coded to a specific version and will not be accepted by other + * versions of BSEC. + * + */ +typedef struct +{ + uint8_t major; /**< @brief Major version */ + uint8_t minor; /**< @brief Minor version */ + uint8_t major_bugfix; /**< @brief Major bug fix version */ + uint8_t minor_bugfix; /**< @brief Minor bug fix version */ +} bsec_version_t; + +/*! + * @brief Structure describing an input sample to the library + * + * Each input sample is provided to BSEC as an element in a struct array of this type. Timestamps must be provided + * in nanosecond resolution. Moreover, duplicate timestamps for subsequent samples are not allowed and will results in + * an error code being returned from bsec_do_steps(). + * + * The meaning unit of the signal field are determined by the bsec_input_t::sensor_id field content. Possible + * bsec_input_t::sensor_id values and and their meaning are described in ::bsec_physical_sensor_t. + * + * @sa bsec_physical_sensor_t + * + */ +typedef struct +{ + /** + * @brief Time stamp in nanosecond resolution [ns] + * + * Timestamps must be provided as non-repeating and increasing values. They can have their 0-points at system start or + * at a defined wall-clock time (e.g., 01-Jan-1970 00:00:00) + */ + int64_t time_stamp; + float signal; /*!< @brief Signal sample in the unit defined for the respective sensor_id @sa bsec_physical_sensor_t */ + uint8_t signal_dimensions; /*!< @brief Signal dimensions (reserved for future use, shall be set to 1) */ + uint8_t sensor_id; /*!< @brief Identifier of physical sensor @sa bsec_physical_sensor_t */ +} bsec_input_t; + +/*! + * @brief Structure describing an output sample of the library + * + * Each output sample is returned from BSEC by populating the element of a struct array of this type. The contents of + * the signal field is defined by the supplied bsec_output_t::sensor_id. Possible output + * bsec_output_t::sensor_id values are defined in ::bsec_virtual_sensor_t. + * + * @sa bsec_virtual_sensor_t + */ +typedef struct +{ + int64_t time_stamp; /*!< @brief Time stamp in nanosecond resolution as provided as input [ns] */ + float signal; /*!< @brief Signal sample in the unit defined for the respective bsec_output_t::sensor_id @sa bsec_virtual_sensor_t */ + uint8_t signal_dimensions; /*!< @brief Signal dimensions (reserved for future use, shall be set to 1) */ + uint8_t sensor_id; /*!< @brief Identifier of virtual sensor @sa bsec_virtual_sensor_t */ + + /** + * @brief Accuracy status 0-3 + * + * Some virtual sensors provide a value in the accuracy field. If this is the case, the meaning of the field is as + * follows: + * + * | Name | Value | Accuracy description | + * |----------------------------|-------|-------------------------------------------------------------| + * | UNRELIABLE | 0 | Sensor data is unreliable, the sensor must be calibrated | + * | LOW_ACCURACY | 1 | Low accuracy, sensor should be calibrated | + * | MEDIUM_ACCURACY | 2 | Medium accuracy, sensor calibration may improve performance | + * | HIGH_ACCURACY | 3 | High accuracy | + * + * For example: + * + * - Ambient temperature accuracy is derived from change in the temperature in 1 minute. + * + * | Virtual sensor | Value | Accuracy description | + * |--------------------- |-------|------------------------------------------------------------------------------| + * | Ambient temperature | 0 | The difference in ambient temperature is greater than 4 degree in one minute | + * | | 1 | The difference in ambient temperature is less than 4 degree in one minute | + * | | 2 | The difference in ambient temperature is less than 3 degree in one minute | + * | | 3 | The difference in ambient temperature is less than 2 degree in one minute | + * + * - IAQ accuracy indicator will notify the user when she/he should initiate a calibration process. Calibration is + * performed automatically in the background if the sensor is exposed to clean and polluted air for approximately + * 30 minutes each. + * + * | Virtual sensor | Value | Accuracy description | + * |----------------------------|-------|-----------------------------------------------------------------| + * | IAQ | 0 | The sensor is not yet stabilized or in a run-in status | + * | | 1 | Calibration required | + * | | 2 | Calibration on-going | + * | | 3 | Calibration is done, now IAQ estimate achieves best performance | + */ + uint8_t accuracy; +} bsec_output_t; + +/*! + * @brief Structure describing sample rate of physical/virtual sensors + * + * This structure is used together with bsec_update_subscription() to enable BSEC outputs and to retrieve information + * about the sample rates used for BSEC inputs. + */ +typedef struct +{ + /** + * @brief Sample rate of the virtual or physical sensor in Hertz [Hz] + * + * Only supported sample rates are allowed. + */ + float sample_rate; + + /** + * @brief Identifier of the virtual or physical sensor + * + * The meaning of this field changes depending on whether the structs are as the requested_virtual_sensors argument + * to bsec_update_subscription() or as the required_sensor_settings argument. + * + * | bsec_update_subscription() argument | sensor_id field interpretation | + * |-------------------------------------|--------------------------------| + * | requested_virtual_sensors | ::bsec_virtual_sensor_t | + * | required_sensor_settings | ::bsec_physical_sensor_t | + * + * @sa bsec_physical_sensor_t + * @sa bsec_virtual_sensor_t + */ + uint8_t sensor_id; +} bsec_sensor_configuration_t; + +/*! + * @brief Structure returned by bsec_sensor_control() to configure BMExxx sensor + * + * This structure contains settings that must be used to configure the BMExxx to perform a forced-mode measurement. + * A measurement should only be executed if bsec_bme_settings_t::trigger_measurement is 1. If so, the oversampling + * settings for temperature, humidity, and pressure should be set to the provided settings provided in + * bsec_bme_settings_t::temperature_oversampling, bsec_bme_settings_t::humidity_oversampling, and + * bsec_bme_settings_t::pressure_oversampling, respectively. + * + * In case of bsec_bme_settings_t::run_gas = 1, the gas sensor must be enabled with the provided + * bsec_bme_settings_t::heater_temperature and bsec_bme_settings_t::heating_duration settings. + */ +typedef struct +{ + int64_t next_call; /*!< @brief Time stamp of the next call of the sensor_control*/ + uint32_t process_data; /*!< @brief Bit field describing which data is to be passed to bsec_do_steps() @sa BSEC_PROCESS_* */ + uint16_t heater_temperature; /*!< @brief Heating temperature [degrees Celsius] */ + uint16_t heating_duration; /*!< @brief Heating duration [ms] */ + uint8_t run_gas; /*!< @brief Enable gas measurements [0/1] */ + uint8_t pressure_oversampling; /*!< @brief Pressure oversampling settings [0-5] */ + uint8_t temperature_oversampling; /*!< @brief Temperature oversampling settings [0-5] */ + uint8_t humidity_oversampling; /*!< @brief Humidity oversampling settings [0-5] */ + uint8_t trigger_measurement; /*!< @brief Trigger a forced measurement with these settings now [0/1] */ +} bsec_bme_settings_t; + +/* internal defines and backward compatibility */ +#define BSEC_STRUCT_NAME Bsec /*!< Internal struct name */ + +/*@}*/ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/lib/Bosch-BSEC-1.4.7.1/bsec_interface.h b/lib/Bosch-BSEC-1.4.7.1/bsec_interface.h new file mode 100644 index 00000000..ef68eb15 --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/bsec_interface.h @@ -0,0 +1,564 @@ +/* + * Copyright (C) 2015, 2016, 2017 Robert Bosch. All Rights Reserved. + * + * Disclaimer + * + * Common: + * Bosch Sensortec products are developed for the consumer goods industry. They may only be used + * within the parameters of the respective valid product data sheet. Bosch Sensortec products are + * provided with the express understanding that there is no warranty of fitness for a particular purpose. + * They are not fit for use in life-sustaining, safety or security sensitive systems or any system or device + * that may lead to bodily harm or property damage if the system or device malfunctions. In addition, + * Bosch Sensortec products are not fit for use in products which interact with motor vehicle systems. + * The resale and/or use of products are at the purchasers own risk and his own responsibility. The + * examination of fitness for the intended use is the sole responsibility of the Purchaser. + * + * The purchaser shall indemnify Bosch Sensortec from all third party claims, including any claims for + * incidental, or consequential damages, arising from any product use not covered by the parameters of + * the respective valid product data sheet or not approved by Bosch Sensortec and reimburse Bosch + * Sensortec for all costs in connection with such claims. + * + * The purchaser must monitor the market for the purchased products, particularly with regard to + * product safety and inform Bosch Sensortec without delay of all security relevant incidents. + * + * Engineering Samples are marked with an asterisk (*) or (e). Samples may vary from the valid + * technical specifications of the product series. They are therefore not intended or fit for resale to third + * parties or for use in end products. Their sole purpose is internal client testing. The testing of an + * engineering sample may in no way replace the testing of a product series. Bosch Sensortec + * assumes no liability for the use of engineering samples. By accepting the engineering samples, the + * Purchaser agrees to indemnify Bosch Sensortec from all claims arising from the use of engineering + * samples. + * + * Special: + * This software module (hereinafter called "Software") and any information on application-sheets + * (hereinafter called "Information") is provided free of charge for the sole purpose to support your + * application work. The Software and Information is subject to the following terms and conditions: + * + * The Software is specifically designed for the exclusive use for Bosch Sensortec products by + * personnel who have special experience and training. Do not use this Software if you do not have the + * proper experience or training. + * + * This Software package is provided `` as is `` and without any expressed or implied warranties, + * including without limitation, the implied warranties of merchantability and fitness for a particular + * purpose. + * + * Bosch Sensortec and their representatives and agents deny any liability for the functional impairment + * of this Software in terms of fitness, performance and safety. Bosch Sensortec and their + * representatives and agents shall not be liable for any direct or indirect damages or injury, except as + * otherwise stipulated in mandatory applicable law. + * + * The Information provided is believed to be accurate and reliable. Bosch Sensortec assumes no + * responsibility for the consequences of use of such Information nor for any infringement of patents or + * other rights of third parties which may result from its use. No license is granted by implication or + * otherwise under any patent or patent rights of Bosch. Specifications mentioned in the Information are + * subject to change without notice. + * + * It is not allowed to deliver the source code of the Software to any third party without permission of + * Bosch Sensortec. + * + */ + /*! + * + * @file bsec_interface.h + * + * @brief + * Contains the API for BSEC + * + */ + + +#ifndef __BSEC_INTERFACE_H__ +#define __BSEC_INTERFACE_H__ + +#include "bsec_datatypes.h" + +#ifdef __cplusplus + extern "C" { +#endif + + + /*! @addtogroup bsec_interface BSEC C Interface + * @brief Interfaces of BSEC signal processing library + * + * ### Interface usage + * + * The following provides a short overview on the typical operation sequence for BSEC. + * + * - Initialization of the library + * + * | Steps | Function | + * |---------------------------------------------------------------------|--------------------------| + * | Initialization of library | bsec_init() | + * | Update configuration settings (optional) | bsec_set_configuration() | + * | Restore the state of the library (optional) | bsec_set_state() | + * + * + * - The following function is called to enable output signals and define their sampling rate / operation mode. + * + * | Steps | Function | + * |---------------------------------------------|----------------------------| + * | Enable library outputs with specified mode | bsec_update_subscription() | + * + * + * - This table describes the main processing loop. + * + * | Steps | Function | + * |-------------------------------------------|----------------------------------| + * | Retrieve sensor settings to be used | bsec_sensor_control() | + * | Configure sensor and trigger measurement | See BME680 API and example codes | + * | Read results from sensor | See BME680 API and example codes | + * | Perform signal processing | bsec_do_steps() | + * + * + * - Before shutting down the system, the current state of BSEC can be retrieved and can then be used during + * re-initialization to continue processing. + * + * | Steps | Function | + * |----------------------------------------|-------------------| + * | To retrieve the current library state | bsec_get_state() | + * + * + * + * ### Configuration and state + * + * Values of variables belonging to a BSEC instance are divided into two groups: + * - Values **not updated by processing** of signals belong to the **configuration group**. If available, BSEC can be + * configured before use with a customer specific configuration string. + * - Values **updated during processing** are member of the **state group**. Saving and restoring of the state of BSEC + * is necessary to maintain previously estimated sensor models and baseline information which is important for best + * performance of the gas sensor outputs. + * + * @note BSEC library consists of adaptive algorithms which models the gas sensor which improves its performance over + * the time. These will be lost if library is initialized due to system reset. In order to avoid this situation + * library state shall be stored in non volatile memory so that it can be loaded after system reset. + * + * + * @{ + */ + + +/*! + * @brief Return the version information of BSEC library + * + * @param [out] bsec_version_p pointer to struct which is to be populated with the version information + * + * @return Zero if successful, otherwise an error code + * + * See also: bsec_version_t + * + \code{.c} + // Example // + bsec_version_t version; + bsec_get_version(&version); + printf("BSEC version: %d.%d.%d.%d",version.major, version.minor, version.major_bugfix, version.minor_bugfix); + + \endcode +*/ + +bsec_library_return_t bsec_get_version(bsec_version_t * bsec_version_p); + + +/*! + * @brief Initialize the library + * + * Initialization and reset of BSEC is performed by calling bsec_init(). Calling this function sets up the relation + * among all internal modules, initializes run-time dependent library states and resets the configuration and state + * of all BSEC signal processing modules to defaults. + * + * Before any further use, the library must be initialized. This ensure that all memory and states are in defined + * conditions prior to processing any data. + * + * @return Zero if successful, otherwise an error code + * + \code{.c} + + // Initialize BSEC library before further use + bsec_init(); + + \endcode +*/ + +bsec_library_return_t bsec_init(void); + +/*! + * @brief Subscribe to library virtual sensors outputs + * + * Use bsec_update_subscription() to instruct BSEC which of the processed output signals are requested at which sample rates. + * See ::bsec_virtual_sensor_t for available library outputs. + * + * Based on the requested virtual sensors outputs, BSEC will provide information about the required physical sensor input signals + * (see ::bsec_physical_sensor_t) with corresponding sample rates. This information is purely informational as bsec_sensor_control() + * will ensure the sensor is operated in the required manner. To disable a virtual sensor, set the sample rate to BSEC_SAMPLE_RATE_DISABLED. + * + * The subscription update using bsec_update_subscription() is apart from the signal processing one of the the most + * important functions. It allows to enable the desired library outputs. The function determines which physical input + * sensor signals are required at which sample rate to produce the virtual output sensor signals requested by the user. + * When this function returns with success, the requested outputs are called subscribed. A very important feature is the + * retaining of already subscribed outputs. Further outputs can be requested or disabled both individually and + * group-wise in addition to already subscribed outputs without changing them unless a change of already subscribed + * outputs is requested. + * + * @note The state of the library concerning the subscribed outputs cannot be retained among reboots. + * + * The interface of bsec_update_subscription() requires the usage of arrays of sensor configuration structures. + * Such a structure has the fields sensor identifier and sample rate. These fields have the properties: + * - Output signals of virtual sensors must be requested using unique identifiers (Member of ::bsec_virtual_sensor_t) + * - Different sets of identifiers are available for inputs of physical sensors and outputs of virtual sensors + * - Identifiers are unique values defined by the library, not from external + * - Sample rates must be provided as value of + * - An allowed sample rate for continuously sampled signals + * - 65535.0f (BSEC_SAMPLE_RATE_DISABLED) to turn off outputs and identify disabled inputs + * + * @note The same sensor identifiers are also used within the functions bsec_do_steps(). + * + * The usage principles of bsec_update_subscription() are: + * - Differential updates (i.e., only asking for outputs that the user would like to change) is supported. + * - Invalid requests of outputs are ignored. Also if one of the requested outputs is unavailable, all the requests + * are ignored. At the same time, a warning is returned. + * - To disable BSEC, all outputs shall be turned off. Only enabled (subscribed) outputs have to be disabled while + * already disabled outputs do not have to be disabled explicitly. + * + * @param[in] requested_virtual_sensors Pointer to array of requested virtual sensor (output) configurations for the library + * @param[in] n_requested_virtual_sensors Number of virtual sensor structs pointed by requested_virtual_sensors + * @param[out] required_sensor_settings Pointer to array of required physical sensor configurations for the library + * @param[in,out] n_required_sensor_settings [in] Size of allocated required_sensor_settings array, [out] number of sensor configurations returned + * + * @return Zero when successful, otherwise an error code + * + * @sa bsec_sensor_configuration_t + * @sa bsec_physical_sensor_t + * @sa bsec_virtual_sensor_t + * + \code{.c} + // Example // + + // Change 3 virtual sensors (switch IAQ and raw temperature -> on / pressure -> off) + bsec_sensor_configuration_t requested_virtual_sensors[3]; + uint8_t n_requested_virtual_sensors = 3; + + requested_virtual_sensors[0].sensor_id = BSEC_OUTPUT_IAQ; + requested_virtual_sensors[0].sample_rate = BSEC_SAMPLE_RATE_ULP; + requested_virtual_sensors[1].sensor_id = BSEC_OUTPUT_RAW_TEMPERATURE; + requested_virtual_sensors[1].sample_rate = BSEC_SAMPLE_RATE_ULP; + requested_virtual_sensors[2].sensor_id = BSEC_OUTPUT_RAW_PRESSURE; + requested_virtual_sensors[2].sample_rate = BSEC_SAMPLE_RATE_DISABLED; + + // Allocate a struct for the returned physical sensor settings + bsec_sensor_configuration_t required_sensor_settings[BSEC_MAX_PHYSICAL_SENSOR]; + uint8_t n_required_sensor_settings = BSEC_MAX_PHYSICAL_SENSOR; + + // Call bsec_update_subscription() to enable/disable the requested virtual sensors + bsec_update_subscription(requested_virtual_sensors, n_requested_virtual_sensors, required_sensor_settings, &n_required_sensor_settings); + \endcode + * + */ +bsec_library_return_t bsec_update_subscription(const bsec_sensor_configuration_t * const requested_virtual_sensors, + const uint8_t n_requested_virtual_sensors, bsec_sensor_configuration_t * required_sensor_settings, + uint8_t * n_required_sensor_settings); + + +/*! + * @brief Main signal processing function of BSEC + * + * + * Processing of the input signals and returning of output samples is performed by bsec_do_steps(). + * - The samples of all library inputs must be passed with unique identifiers representing the input signals from + * physical sensors where the order of these inputs can be chosen arbitrary. However, all input have to be provided + * within the same time period as they are read. A sequential provision to the library might result in undefined + * behavior. + * - The samples of all library outputs are returned with unique identifiers corresponding to the output signals of + * virtual sensors where the order of the returned outputs may be arbitrary. + * - The samples of all input as well as output signals of physical as well as virtual sensors use the same + * representation in memory with the following fields: + * - Sensor identifier: + * - For inputs: required to identify the input signal from a physical sensor + * - For output: overwritten by bsec_do_steps() to identify the returned signal from a virtual sensor + * - Time stamp of the sample + * + * Calling bsec_do_steps() requires the samples of the input signals to be provided along with their time stamp when + * they are recorded and only when they are acquired. Repetition of samples with the same time stamp are ignored and + * result in a warning. Repetition of values of samples which are not acquired anew by a sensor result in deviations + * of the computed output signals. Concerning the returned output samples, an important feature is, that a value is + * returned for an output only when a new occurrence has been computed. A sample of an output signal is returned only + * once. + * + * + * @param[in] inputs Array of input data samples. Each array element represents a sample of a different physical sensor. + * @param[in] n_inputs Number of passed input data structs. + * @param[out] outputs Array of output data samples. Each array element represents a sample of a different virtual sensor. + * @param[in,out] n_outputs [in] Number of allocated output structs, [out] number of outputs returned + * + * @return Zero when successful, otherwise an error code + * + + \code{.c} + // Example // + + // Allocate input and output memory + bsec_input_t input[3]; + uint8_t n_input = 3; + bsec_output_t output[2]; + uint8_t n_output=2; + + bsec_library_return_t status; + + // Populate the input structs, assuming the we have timestamp (ts), + // gas sensor resistance (R), temperature (T), and humidity (rH) available + // as input variables + input[0].sensor_id = BSEC_INPUT_GASRESISTOR; + input[0].signal = R; + input[0].time_stamp= ts; + input[1].sensor_id = BSEC_INPUT_TEMPERATURE; + input[1].signal = T; + input[1].time_stamp= ts; + input[2].sensor_id = BSEC_INPUT_HUMIDITY; + input[2].signal = rH; + input[2].time_stamp= ts; + + + // Invoke main processing BSEC function + status = bsec_do_steps( input, n_input, output, &n_output ); + + // Iterate through the BSEC output data, if the call succeeded + if(status == BSEC_OK) + { + for(int i = 0; i < n_output; i++) + { + switch(output[i].sensor_id) + { + case BSEC_OUTPUT_IAQ: + // Retrieve the IAQ results from output[i].signal + // and do something with the data + break; + case BSEC_OUTPUT_AMBIENT_TEMPERATURE: + // Retrieve the ambient temperature results from output[i].signal + // and do something with the data + break; + + } + } + } + + \endcode + */ + +bsec_library_return_t bsec_do_steps(const bsec_input_t * const inputs, const uint8_t n_inputs, bsec_output_t * outputs, uint8_t * n_outputs); + + +/*! + * @brief Reset a particular virtual sensor output + * + * This function allows specific virtual sensor outputs to be reset. The meaning of "reset" depends on the specific + * output. In case of the IAQ output, reset means zeroing the output to the current ambient conditions. + * + * @param[in] sensor_id Virtual sensor to be reset + * + * @return Zero when successful, otherwise an error code + * + * + \code{.c} + // Example // + bsec_reset_output(BSEC_OUTPUT_IAQ); + + \endcode + */ + +bsec_library_return_t bsec_reset_output(uint8_t sensor_id); + + +/*! + * @brief Update algorithm configuration parameters + * + * BSEC uses a default configuration for the modules and common settings. The initial configuration can be customized + * by bsec_set_configuration(). This is an optional step. + * + * @note A work buffer with sufficient size is required and has to be provided by the function caller to decompose + * the serialization and apply it to the library and its modules. Please use #BSEC_MAX_PROPERTY_BLOB_SIZE for allotting + * the required size. + * + * @param[in] serialized_settings Settings serialized to a binary blob + * @param[in] n_serialized_settings Size of the settings blob + * @param[in,out] work_buffer Work buffer used to parse the blob + * @param[in] n_work_buffer_size Length of the work buffer available for parsing the blob + * + * @return Zero when successful, otherwise an error code + * + \code{.c} + // Example // + + // Allocate variables + uint8_t serialized_settings[BSEC_MAX_PROPERTY_BLOB_SIZE]; + uint32_t n_serialized_settings_max = BSEC_MAX_PROPERTY_BLOB_SIZE; + uint8_t work_buffer[BSEC_MAX_PROPERTY_BLOB_SIZE]; + uint32_t n_work_buffer = BSEC_MAX_PROPERTY_BLOB_SIZE; + + // Here we will load a provided config string into serialized_settings + + // Apply the configuration + bsec_set_configuration(serialized_settings, n_serialized_settings_max, work_buffer, n_work_buffer); + + \endcode + */ + +bsec_library_return_t bsec_set_configuration(const uint8_t * const serialized_settings, + const uint32_t n_serialized_settings, uint8_t * work_buffer, + const uint32_t n_work_buffer_size); + + +/*! + * @brief Restore the internal state of the library + * + * BSEC uses a default state for all signal processing modules and the BSEC module. To ensure optimal performance, + * especially of the gas sensor functionality, it is recommended to retrieve the state using bsec_get_state() + * before unloading the library, storing it in some form of non-volatile memory, and setting it using bsec_set_state() + * before resuming further operation of the library. + * + * @note A work buffer with sufficient size is required and has to be provided by the function caller to decompose the + * serialization and apply it to the library and its modules. Please use #BSEC_MAX_PROPERTY_BLOB_SIZE for allotting the + * required size. + * + * @param[in] serialized_state States serialized to a binary blob + * @param[in] n_serialized_state Size of the state blob + * @param[in,out] work_buffer Work buffer used to parse the blob + * @param[in] n_work_buffer_size Length of the work buffer available for parsing the blob + * + * @return Zero when successful, otherwise an error code + * + \code{.c} + // Example // + + // Allocate variables + uint8_t serialized_state[BSEC_MAX_PROPERTY_BLOB_SIZE]; + uint32_t n_serialized_state = BSEC_MAX_PROPERTY_BLOB_SIZE; + uint8_t work_buffer_state[BSEC_MAX_PROPERTY_BLOB_SIZE]; + uint32_t n_work_buffer_size = BSEC_MAX_PROPERTY_BLOB_SIZE; + + // Here we will load a state string from a previous use of BSEC + + // Apply the previous state to the current BSEC session + bsec_set_state(serialized_state, n_serialized_state, work_buffer_state, n_work_buffer_size); + + \endcode +*/ + +bsec_library_return_t bsec_set_state(const uint8_t * const serialized_state, const uint32_t n_serialized_state, + uint8_t * work_buffer, const uint32_t n_work_buffer_size); + + +/*! + * @brief Retrieve the current library configuration + * + * BSEC allows to retrieve the current configuration using bsec_get_configuration(). Returns a binary blob encoding + * the current configuration parameters of the library in a format compatible with bsec_set_configuration(). + * + * @note The function bsec_get_configuration() is required to be used for debugging purposes only. + * @note A work buffer with sufficient size is required and has to be provided by the function caller to decompose the + * serialization and apply it to the library and its modules. Please use #BSEC_MAX_PROPERTY_BLOB_SIZE for allotting the + * required size. + * + * + * @param[in] config_id Identifier for a specific set of configuration settings to be returned; + * shall be zero to retrieve all configuration settings. + * @param[out] serialized_settings Buffer to hold the serialized config blob + * @param[in] n_serialized_settings_max Maximum available size for the serialized settings + * @param[in,out] work_buffer Work buffer used to parse the binary blob + * @param[in] n_work_buffer Length of the work buffer available for parsing the blob + * @param[out] n_serialized_settings Actual size of the returned serialized configuration blob + * + * @return Zero when successful, otherwise an error code + * + \code{.c} + // Example // + + // Allocate variables + uint8_t serialized_settings[BSEC_MAX_PROPERTY_BLOB_SIZE]; + uint32_t n_serialized_settings_max = BSEC_MAX_PROPERTY_BLOB_SIZE; + uint8_t work_buffer[BSEC_MAX_PROPERTY_BLOB_SIZE]; + uint32_t n_work_buffer = BSEC_MAX_PROPERTY_BLOB_SIZE; + uint32_t n_serialized_settings = 0; + + // Configuration of BSEC algorithm is stored in 'serialized_settings' + bsec_get_configuration(0, serialized_settings, n_serialized_settings_max, work_buffer, n_work_buffer, &n_serialized_settings); + + \endcode + */ + +bsec_library_return_t bsec_get_configuration(const uint8_t config_id, uint8_t * serialized_settings, const uint32_t n_serialized_settings_max, + uint8_t * work_buffer, const uint32_t n_work_buffer, uint32_t * n_serialized_settings); + + +/*! + *@brief Retrieve the current internal library state + * + * BSEC allows to retrieve the current states of all signal processing modules and the BSEC module using + * bsec_get_state(). This allows a restart of the processing after a reboot of the system by calling bsec_set_state(). + * + * @note A work buffer with sufficient size is required and has to be provided by the function caller to decompose the + * serialization and apply it to the library and its modules. Please use #BSEC_MAX_STATE_BLOB_SIZE for allotting the + * required size. + * + * + * @param[in] state_set_id Identifier for a specific set of states to be returned; shall be + * zero to retrieve all states. + * @param[out] serialized_state Buffer to hold the serialized config blob + * @param[in] n_serialized_state_max Maximum available size for the serialized states + * @param[in,out] work_buffer Work buffer used to parse the blob + * @param[in] n_work_buffer Length of the work buffer available for parsing the blob + * @param[out] n_serialized_state Actual size of the returned serialized blob + * + * @return Zero when successful, otherwise an error code + * + \code{.c} + // Example // + + // Allocate variables + uint8_t serialized_state[BSEC_MAX_STATE_BLOB_SIZE]; + uint32_t n_serialized_state_max = BSEC_MAX_STATE_BLOB_SIZE; + uint32_t n_serialized_state = BSEC_MAX_STATE_BLOB_SIZE; + uint8_t work_buffer_state[BSEC_MAX_STATE_BLOB_SIZE]; + uint32_t n_work_buffer_size = BSEC_MAX_STATE_BLOB_SIZE; + + // Algorithm state is stored in 'serialized_state' + bsec_get_state(0, serialized_state, n_serialized_state_max, work_buffer_state, n_work_buffer_size, &n_serialized_state); + + \endcode + */ + +bsec_library_return_t bsec_get_state(const uint8_t state_set_id, uint8_t * serialized_state, + const uint32_t n_serialized_state_max, uint8_t * work_buffer, const uint32_t n_work_buffer, + uint32_t * n_serialized_state); + +/*! + * @brief Retrieve BMExxx sensor instructions + * + * The bsec_sensor_control() interface is a key feature of BSEC, as it allows an easy way for the signal processing + * library to control the operation of the BME sensor. This is important since gas sensor behaviour is mainly + * determined by how the integrated heater is configured. To ensure an easy integration of BSEC into any system, + * bsec_sensor_control() will provide the caller with information about the current sensor configuration that is + * necessary to fulfill the input requirements derived from the current outputs requested via + * bsec_update_subscription(). + * + * In practice the use of this function shall be as follows: + * - Call bsec_sensor_control() which returns a bsec_bme_settings_t struct. + * - Based on the information contained in this struct, the sensor is configured and a forced-mode measurement is + * triggered if requested by bsec_sensor_control(). + * - Once this forced-mode measurement is complete, the signals specified in this struct shall be passed to + * bsec_do_steps() to perform the signal processing. + * - After processing, the process should sleep until the bsec_bme_settings_t::next_call timestamp is reached. + * + * + * @param [in] time_stamp Current timestamp in [ns] + * @param[out] sensor_settings Settings to be passed to API to operate sensor at this time instance + * + * @return Zero when successful, otherwise an error code + */ + +bsec_library_return_t bsec_sensor_control(const int64_t time_stamp, bsec_bme_settings_t *sensor_settings); + +/*@}*/ //BSEC Interface + +#ifdef __cplusplus + } +#endif + +#endif /* __BSEC_INTERFACE_H__ */ diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_iaq.config b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_iaq.config new file mode 100644 index 0000000000000000000000000000000000000000..f6c7b918f3b95beb55d121534326599c71eedbb7 GIT binary patch literal 458 zcmX@c$iTqJ&cbNR00HZOd;VFh50B$49f&Y2OyllXiy4)DGVTp wV1rl?F=SB)8zip7h#PXS + +extern const uint8_t bsec_config_iaq[454]; + diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_iaq.config b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_iaq.config new file mode 100644 index 0000000000000000000000000000000000000000..b0fff47ac22c6b3f89d7ec2b0b35e9fb8a5204fa GIT binary patch literal 458 zcmX@c$iTqJ&cbNR00HZOd;*t#zVC* z$S^Q5FnnQr$RNqU(BQzppx`(GXi9-2P~KjEfti8p`eGZd>&n(3%*ntC*2WmYz{$Y= zVH(U{2AP_Nwk8eN?HL#r0F8ivvuAkh(yyx9J+t>Y027<|)@J{2D+l|H0nH9DvDkl) z?aXXi_X8d4z{9`=6J~hI@Q;Csk=39yg+Yh0KzurT3-eKi7?uf)4nR18(V!FpQy4%H w!3MD)V#uNpHb`8D5jW&u#|;a_al`*maEBEHAshq?CW}cMl!APF_&);!0B5g)-~a#s literal 0 HcmV?d00001 diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_iaq.csv b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_iaq.csv new file mode 100644 index 00000000..318c0691 --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_iaq.csv @@ -0,0 +1 @@ +454,1,7,4,1,61,0,0,0,0,0,0,0,174,1,0,0,48,0,1,0,137,65,0,63,205,204,204,62,0,0,64,63,205,204,204,62,0,0,225,68,0,192,168,71,64,49,119,76,0,0,0,0,0,80,5,95,0,0,0,0,0,0,0,0,28,0,2,0,0,244,1,225,0,25,0,0,128,64,0,0,32,65,144,1,0,0,112,65,0,0,0,63,16,0,3,0,10,215,163,60,10,215,35,59,10,215,35,59,9,0,5,0,0,0,0,0,1,88,0,9,0,7,240,150,61,0,0,0,0,0,0,0,0,28,124,225,61,52,128,215,63,0,0,160,64,0,0,0,0,0,0,0,0,205,204,12,62,103,213,39,62,230,63,76,192,0,0,0,0,0,0,0,0,145,237,60,191,251,58,64,63,177,80,131,64,0,0,0,0,0,0,0,0,93,254,227,62,54,60,133,191,0,0,64,64,12,0,10,0,0,0,0,0,0,0,0,0,229,0,254,0,2,1,5,48,117,100,0,44,1,112,23,151,7,132,3,197,0,92,4,144,1,64,1,64,1,144,1,48,117,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,48,117,48,117,100,0,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,100,0,100,0,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,255,255,255,255,255,255,255,255,220,5,220,5,220,5,255,255,255,255,255,255,220,5,220,5,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,117,0,0,0,0,195,255,0,0 diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.c b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.c new file mode 100644 index 00000000..85884b30 --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.c @@ -0,0 +1,5 @@ +#include "bsec_serialized_configurations_iaq.h" + +const uint8_t bsec_config_iaq[454] = + {1,7,4,1,61,0,0,0,0,0,0,0,174,1,0,0,48,0,1,0,137,65,0,63,205,204,204,62,0,0,64,63,205,204,204,62,0,0,225,68,0,192,168,71,64,49,119,76,0,0,0,0,0,80,5,95,0,0,0,0,0,0,0,0,28,0,2,0,0,244,1,225,0,25,0,0,128,64,0,0,32,65,144,1,0,0,112,65,0,0,0,63,16,0,3,0,10,215,163,60,10,215,35,59,10,215,35,59,9,0,5,0,0,0,0,0,1,88,0,9,0,7,240,150,61,0,0,0,0,0,0,0,0,28,124,225,61,52,128,215,63,0,0,160,64,0,0,0,0,0,0,0,0,205,204,12,62,103,213,39,62,230,63,76,192,0,0,0,0,0,0,0,0,145,237,60,191,251,58,64,63,177,80,131,64,0,0,0,0,0,0,0,0,93,254,227,62,54,60,133,191,0,0,64,64,12,0,10,0,0,0,0,0,0,0,0,0,229,0,254,0,2,1,5,48,117,100,0,44,1,112,23,151,7,132,3,197,0,92,4,144,1,64,1,64,1,144,1,48,117,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,48,117,48,117,100,0,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,100,0,100,0,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,255,255,255,255,255,255,255,255,220,5,220,5,220,5,255,255,255,255,255,255,220,5,220,5,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,117,0,0,0,0,195,255,0,0}; + diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.h b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.h new file mode 100644 index 00000000..1986e2be --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.h @@ -0,0 +1,4 @@ +#include + +extern const uint8_t bsec_config_iaq[454]; + diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_iaq.config b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_iaq.config new file mode 100644 index 0000000000000000000000000000000000000000..3a2fcdf2dc3646d6db0f936d2c9dcaf25e06fa31 GIT binary patch literal 458 zcmX@c$iTqJ&cbNR00HZOd;VFh50B$49f&Y2OyllXiy4)DGVTp xV1rl?F=SB)8zip7h#PXS + +extern const uint8_t bsec_config_iaq[454]; + diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_iaq.config b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_iaq.config new file mode 100644 index 0000000000000000000000000000000000000000..7bd1e535ac45b2dffd805d568ea0e9e683008987 GIT binary patch literal 458 zcmX@c$iTqJ&cbNR00HZOd;*t#zVC* z$S^Q5FnnQr$RNqU(BQzppx`(GXi9-2P~KjEfti8p`eGZd>&n(3%*ntC*2WmYz{$Y= zVH(U{2AP_Nwk8eN?HL#r0F8ivvuAkh(yyx9J+t>Y027<|)@J{2D+l|H0nH9DvDkl) z?aXXi_X8d4z{9`=6J~hI@Q;Csk=39yg+Yh0KzurT3-eKi7?uf)4nR18(V!FpQy4%H x!3MD)V#uNpHb`8D5jW&u#|;a_al`*maEBEHAshq?CW}ey07IIAA@Cam0{~%=f$abQ literal 0 HcmV?d00001 diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_iaq.csv b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_iaq.csv new file mode 100644 index 00000000..5eeae615 --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_iaq.csv @@ -0,0 +1 @@ +454,1,7,4,1,61,0,0,0,0,0,0,0,174,1,0,0,48,0,1,0,137,65,0,63,205,204,204,62,0,0,64,63,205,204,204,62,0,0,225,68,0,192,168,71,64,49,119,76,0,0,0,0,0,80,5,95,0,0,0,0,0,0,0,0,28,0,2,0,0,244,1,225,0,25,0,0,128,64,0,0,32,65,144,1,0,0,112,65,0,0,0,63,16,0,3,0,10,215,163,60,10,215,35,59,10,215,35,59,9,0,5,0,0,0,0,0,1,88,0,9,0,7,240,150,61,0,0,0,0,0,0,0,0,28,124,225,61,52,128,215,63,0,0,160,64,0,0,0,0,0,0,0,0,205,204,12,62,103,213,39,62,230,63,76,192,0,0,0,0,0,0,0,0,145,237,60,191,251,58,64,63,177,80,131,64,0,0,0,0,0,0,0,0,93,254,227,62,54,60,133,191,0,0,64,64,12,0,10,0,0,0,0,0,0,0,0,0,229,0,254,0,2,1,5,48,117,100,0,44,1,112,23,151,7,132,3,197,0,92,4,144,1,64,1,64,1,144,1,48,117,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,48,117,48,117,100,0,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,100,0,100,0,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,255,255,255,255,255,255,255,255,220,5,220,5,220,5,255,255,255,255,255,255,220,5,220,5,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,1,0,0,0,0,81,246,0,0 diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.c b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.c new file mode 100644 index 00000000..625cdc4e --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.c @@ -0,0 +1,5 @@ +#include "bsec_serialized_configurations_iaq.h" + +const uint8_t bsec_config_iaq[454] = + {1,7,4,1,61,0,0,0,0,0,0,0,174,1,0,0,48,0,1,0,137,65,0,63,205,204,204,62,0,0,64,63,205,204,204,62,0,0,225,68,0,192,168,71,64,49,119,76,0,0,0,0,0,80,5,95,0,0,0,0,0,0,0,0,28,0,2,0,0,244,1,225,0,25,0,0,128,64,0,0,32,65,144,1,0,0,112,65,0,0,0,63,16,0,3,0,10,215,163,60,10,215,35,59,10,215,35,59,9,0,5,0,0,0,0,0,1,88,0,9,0,7,240,150,61,0,0,0,0,0,0,0,0,28,124,225,61,52,128,215,63,0,0,160,64,0,0,0,0,0,0,0,0,205,204,12,62,103,213,39,62,230,63,76,192,0,0,0,0,0,0,0,0,145,237,60,191,251,58,64,63,177,80,131,64,0,0,0,0,0,0,0,0,93,254,227,62,54,60,133,191,0,0,64,64,12,0,10,0,0,0,0,0,0,0,0,0,229,0,254,0,2,1,5,48,117,100,0,44,1,112,23,151,7,132,3,197,0,92,4,144,1,64,1,64,1,144,1,48,117,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,48,117,48,117,100,0,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,100,0,100,0,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,255,255,255,255,255,255,255,255,220,5,220,5,220,5,255,255,255,255,255,255,220,5,220,5,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,1,0,0,0,0,81,246,0,0}; + diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.h b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.h new file mode 100644 index 00000000..1986e2be --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.h @@ -0,0 +1,4 @@ +#include + +extern const uint8_t bsec_config_iaq[454]; + diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_iaq.config b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_iaq.config new file mode 100644 index 0000000000000000000000000000000000000000..e518942bce7d902e4287ca62b80126af75750591 GIT binary patch literal 458 zcmX@c$iTqJ&cbNR00HZOd;%han1rug?%J7eYiILTyG=)Kju|Rw}dkgbXh8UI!j1E9JfzhB80#g`3 x5WxnqAY#a(5H?6$hY>gAV8;y$#Bsy_P;iG81R)#*3nq(68 + +extern const uint8_t bsec_config_iaq[454]; + diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_iaq.config b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_iaq.config new file mode 100644 index 0000000000000000000000000000000000000000..698c69fe0a808342219419ce56fdc1e7e8934954 GIT binary patch literal 458 zcmX@c$iTqJ&cbNR00HZOd;*t#zVC* z$S^Q5FnnQr$RNqU(BQzppx`(GXi9-2P~KjEfti8p`eGZd>&n(3%*ntC*2WmYz{&9R zf)daI2)HFZ$L=AwvjYRe0w9KfIB$==vH#{fIN2@O4--?A-?Fc3L!yJ@$K-u5vE`NS zwoCVF9@rtb*MWzD3nt9)l;Ix(6C)&3^6Pd7#)Cc0;54G1g0>6 xAc75ILBxJ!Hydih~tL;q2LZH2tqgr7EBhCHYf%8w$_b-0RVX@g8Kjf literal 0 HcmV?d00001 diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_iaq.csv b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_iaq.csv new file mode 100644 index 00000000..223adff0 --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_iaq.csv @@ -0,0 +1 @@ +454,1,7,4,1,61,0,0,0,0,0,0,0,174,1,0,0,48,0,1,0,137,65,0,63,205,204,204,62,0,0,64,63,205,204,204,62,0,0,225,68,0,192,168,71,64,49,119,76,0,0,0,0,0,80,5,95,0,0,0,0,0,0,0,0,28,0,2,0,0,244,1,225,0,25,0,0,128,64,0,0,32,65,144,1,0,0,112,65,0,0,0,63,16,0,3,0,10,215,163,60,10,215,35,59,10,215,35,59,9,0,5,0,0,0,0,0,1,88,0,9,0,229,208,34,62,0,0,0,0,0,0,0,0,218,27,156,62,225,11,67,64,0,0,160,64,0,0,0,0,0,0,0,0,94,75,72,189,93,254,159,64,66,62,160,191,0,0,0,0,0,0,0,0,33,31,180,190,138,176,97,64,65,241,99,190,0,0,0,0,0,0,0,0,167,121,71,61,165,189,41,192,184,30,189,64,12,0,10,0,0,0,0,0,0,0,0,0,229,0,254,0,2,1,5,48,117,100,0,44,1,112,23,151,7,132,3,197,0,92,4,144,1,64,1,64,1,144,1,48,117,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,48,117,48,117,100,0,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,100,0,100,0,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,255,255,255,255,255,255,255,255,220,5,220,5,220,5,255,255,255,255,255,255,220,5,220,5,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,117,0,0,0,0,125,70,0,0 diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.c b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.c new file mode 100644 index 00000000..f76832cc --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.c @@ -0,0 +1,5 @@ +#include "bsec_serialized_configurations_iaq.h" + +const uint8_t bsec_config_iaq[454] = + {1,7,4,1,61,0,0,0,0,0,0,0,174,1,0,0,48,0,1,0,137,65,0,63,205,204,204,62,0,0,64,63,205,204,204,62,0,0,225,68,0,192,168,71,64,49,119,76,0,0,0,0,0,80,5,95,0,0,0,0,0,0,0,0,28,0,2,0,0,244,1,225,0,25,0,0,128,64,0,0,32,65,144,1,0,0,112,65,0,0,0,63,16,0,3,0,10,215,163,60,10,215,35,59,10,215,35,59,9,0,5,0,0,0,0,0,1,88,0,9,0,229,208,34,62,0,0,0,0,0,0,0,0,218,27,156,62,225,11,67,64,0,0,160,64,0,0,0,0,0,0,0,0,94,75,72,189,93,254,159,64,66,62,160,191,0,0,0,0,0,0,0,0,33,31,180,190,138,176,97,64,65,241,99,190,0,0,0,0,0,0,0,0,167,121,71,61,165,189,41,192,184,30,189,64,12,0,10,0,0,0,0,0,0,0,0,0,229,0,254,0,2,1,5,48,117,100,0,44,1,112,23,151,7,132,3,197,0,92,4,144,1,64,1,64,1,144,1,48,117,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,48,117,48,117,100,0,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,100,0,100,0,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,255,255,255,255,255,255,255,255,220,5,220,5,220,5,255,255,255,255,255,255,220,5,220,5,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,117,0,0,0,0,125,70,0,0}; + diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.h b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.h new file mode 100644 index 00000000..1986e2be --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.h @@ -0,0 +1,4 @@ +#include + +extern const uint8_t bsec_config_iaq[454]; + diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_iaq.config b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_iaq.config new file mode 100644 index 0000000000000000000000000000000000000000..f2ff51895c7f644cf1acf40fd623b91b7b11d45c GIT binary patch literal 458 zcmX@c$iTqJ&cbNR00HZOd;%han1rug?%J7eYiILTyG=)Kju|Rw}dkgbXh8UI!j1E9JfzhB80#g`3 y5WxnqAY#a(5H?6$hY>gAV8;y$#Bsy_P;iG81R)#*3nq(6>i|QVfx#%6fdK$uqJg3S literal 0 HcmV?d00001 diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_iaq.csv b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_iaq.csv new file mode 100644 index 00000000..1396776c --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_iaq.csv @@ -0,0 +1 @@ +454,1,7,4,1,61,0,0,0,0,0,0,0,174,1,0,0,48,0,1,0,137,65,0,63,205,204,204,62,0,0,64,63,205,204,204,62,0,0,225,68,0,168,19,73,64,49,119,76,0,0,0,0,0,80,5,95,0,0,0,0,0,0,0,0,28,0,2,0,0,244,1,225,0,25,0,0,128,64,0,0,32,65,144,1,0,0,112,65,0,0,0,63,16,0,3,0,10,215,163,60,10,215,35,59,10,215,35,59,9,0,5,0,0,0,0,0,1,88,0,9,0,229,208,34,62,0,0,0,0,0,0,0,0,218,27,156,62,225,11,67,64,0,0,160,64,0,0,0,0,0,0,0,0,94,75,72,189,93,254,159,64,66,62,160,191,0,0,0,0,0,0,0,0,33,31,180,190,138,176,97,64,65,241,99,190,0,0,0,0,0,0,0,0,167,121,71,61,165,189,41,192,184,30,189,64,12,0,10,0,0,0,0,0,0,0,0,0,229,0,254,0,2,1,5,48,117,100,0,44,1,112,23,151,7,132,3,197,0,92,4,144,1,64,1,64,1,144,1,48,117,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,48,117,48,117,100,0,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,100,0,100,0,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,255,255,255,255,255,255,255,255,220,5,220,5,220,5,255,255,255,255,255,255,220,5,220,5,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,1,0,0,0,0,50,91,0,0 diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.c b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.c new file mode 100644 index 00000000..e1f1bfe3 --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.c @@ -0,0 +1,5 @@ +#include "bsec_serialized_configurations_iaq.h" + +const uint8_t bsec_config_iaq[454] = + {1,7,4,1,61,0,0,0,0,0,0,0,174,1,0,0,48,0,1,0,137,65,0,63,205,204,204,62,0,0,64,63,205,204,204,62,0,0,225,68,0,168,19,73,64,49,119,76,0,0,0,0,0,80,5,95,0,0,0,0,0,0,0,0,28,0,2,0,0,244,1,225,0,25,0,0,128,64,0,0,32,65,144,1,0,0,112,65,0,0,0,63,16,0,3,0,10,215,163,60,10,215,35,59,10,215,35,59,9,0,5,0,0,0,0,0,1,88,0,9,0,229,208,34,62,0,0,0,0,0,0,0,0,218,27,156,62,225,11,67,64,0,0,160,64,0,0,0,0,0,0,0,0,94,75,72,189,93,254,159,64,66,62,160,191,0,0,0,0,0,0,0,0,33,31,180,190,138,176,97,64,65,241,99,190,0,0,0,0,0,0,0,0,167,121,71,61,165,189,41,192,184,30,189,64,12,0,10,0,0,0,0,0,0,0,0,0,229,0,254,0,2,1,5,48,117,100,0,44,1,112,23,151,7,132,3,197,0,92,4,144,1,64,1,64,1,144,1,48,117,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,48,117,48,117,100,0,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,100,0,100,0,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,255,255,255,255,255,255,255,255,220,5,220,5,220,5,255,255,255,255,255,255,220,5,220,5,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,1,0,0,0,0,50,91,0,0}; + diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.h b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.h new file mode 100644 index 00000000..1986e2be --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.h @@ -0,0 +1,4 @@ +#include + +extern const uint8_t bsec_config_iaq[454]; + diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_iaq.config b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_iaq.config new file mode 100644 index 0000000000000000000000000000000000000000..a79b3ccb7341c837ca568f6d3fb1461e50ed93f1 GIT binary patch literal 458 zcmX@c$iTqJ&cbNR00HZOd;*t#zVC* z$S^Q5FnnQr$RNqU(BQzppx`(GXi9-2P~KjEfti8p`eGZd>&n(3%*ntC*2WmYz{&9R zf)daI2)HFZ$L=AwvjYRe0w9KfIB$==vH#{fIN2@O4--?A-?Fc3L!yJ@$K-u5vE`NS zwoCVF9@rtb*MWzD3nt9)l;Ix(6C)&3^6Pd7#)Cc0;54G1g0>6 yAc75ILBxJ!Hydih~tL;q2LZH2tqgr7EBhC)&Yhz1H*fN1_l6j&w~B{ literal 0 HcmV?d00001 diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_iaq.csv b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_iaq.csv new file mode 100644 index 00000000..b0001d9c --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_iaq.csv @@ -0,0 +1 @@ +454,1,7,4,1,61,0,0,0,0,0,0,0,174,1,0,0,48,0,1,0,137,65,0,63,205,204,204,62,0,0,64,63,205,204,204,62,0,0,225,68,0,192,168,71,64,49,119,76,0,0,0,0,0,80,5,95,0,0,0,0,0,0,0,0,28,0,2,0,0,244,1,225,0,25,0,0,128,64,0,0,32,65,144,1,0,0,112,65,0,0,0,63,16,0,3,0,10,215,163,60,10,215,35,59,10,215,35,59,9,0,5,0,0,0,0,0,1,88,0,9,0,229,208,34,62,0,0,0,0,0,0,0,0,218,27,156,62,225,11,67,64,0,0,160,64,0,0,0,0,0,0,0,0,94,75,72,189,93,254,159,64,66,62,160,191,0,0,0,0,0,0,0,0,33,31,180,190,138,176,97,64,65,241,99,190,0,0,0,0,0,0,0,0,167,121,71,61,165,189,41,192,184,30,189,64,12,0,10,0,0,0,0,0,0,0,0,0,229,0,254,0,2,1,5,48,117,100,0,44,1,112,23,151,7,132,3,197,0,92,4,144,1,64,1,64,1,144,1,48,117,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,48,117,48,117,100,0,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,100,0,100,0,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,255,255,255,255,255,255,255,255,220,5,220,5,220,5,255,255,255,255,255,255,220,5,220,5,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,1,0,0,0,0,239,79,0,0 diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.c b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.c new file mode 100644 index 00000000..bce43cc3 --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.c @@ -0,0 +1,5 @@ +#include "bsec_serialized_configurations_iaq.h" + +const uint8_t bsec_config_iaq[454] = + {1,7,4,1,61,0,0,0,0,0,0,0,174,1,0,0,48,0,1,0,137,65,0,63,205,204,204,62,0,0,64,63,205,204,204,62,0,0,225,68,0,192,168,71,64,49,119,76,0,0,0,0,0,80,5,95,0,0,0,0,0,0,0,0,28,0,2,0,0,244,1,225,0,25,0,0,128,64,0,0,32,65,144,1,0,0,112,65,0,0,0,63,16,0,3,0,10,215,163,60,10,215,35,59,10,215,35,59,9,0,5,0,0,0,0,0,1,88,0,9,0,229,208,34,62,0,0,0,0,0,0,0,0,218,27,156,62,225,11,67,64,0,0,160,64,0,0,0,0,0,0,0,0,94,75,72,189,93,254,159,64,66,62,160,191,0,0,0,0,0,0,0,0,33,31,180,190,138,176,97,64,65,241,99,190,0,0,0,0,0,0,0,0,167,121,71,61,165,189,41,192,184,30,189,64,12,0,10,0,0,0,0,0,0,0,0,0,229,0,254,0,2,1,5,48,117,100,0,44,1,112,23,151,7,132,3,197,0,92,4,144,1,64,1,64,1,144,1,48,117,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,48,117,48,117,100,0,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,100,0,100,0,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,255,255,255,255,255,255,255,255,220,5,220,5,220,5,255,255,255,255,255,255,220,5,220,5,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,1,0,0,0,0,239,79,0,0}; + diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.h b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.h new file mode 100644 index 00000000..1986e2be --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.h @@ -0,0 +1,4 @@ +#include + +extern const uint8_t bsec_config_iaq[454]; + diff --git a/lib/Bosch-BSEC-1.4.7.1/docs/BSEC - release notes_1.4.7.1.pdf b/lib/Bosch-BSEC-1.4.7.1/docs/BSEC - release notes_1.4.7.1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9d40e3c5c79fe3255968df912d3b7f5bef24c308 GIT binary patch literal 101741 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 literal 0 HcmV?d00001 diff --git a/lib/Bosch-BSEC-1.4.7.1/docs/BSEC_Binary_Size_Information.pdf b/lib/Bosch-BSEC-1.4.7.1/docs/BSEC_Binary_Size_Information.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f6a62ed59371bf8fe8b18f36c049fa2343b8cb1c GIT binary patch literal 215302 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 z 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 literal 0 HcmV?d00001 diff --git a/lib/Bosch-BSEC-1.4.7.1/docs/BST-BME680-Integration-Guide-AN008-47.pdf b/lib/Bosch-BSEC-1.4.7.1/docs/BST-BME680-Integration-Guide-AN008-47.pdf new file mode 100644 index 00000000..6eca6ff5 --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/docs/BST-BME680-Integration-Guide-AN008-47.pdf @@ -0,0 +1,17794 @@ +%PDF-1.7 +% +4 0 obj +<< /S /GoTo /D (chapter.1) >> +endobj +7 0 obj +(\376\377\000B\000S\000E\000C\000\040\000I\000n\000t\000e\000g\000r\000a\000t\000i\000o\000n\000\040\000G\000u\000i\000d\000e\000l\000i\000n\000e) +endobj +8 0 obj +<< /S /GoTo /D (section.1.1) >> +endobj +11 0 obj +(\376\377\000O\000v\000e\000r\000v\000i\000e\000w\000\040\000o\000f\000\040\000B\000M\000E\000\040\000F\000a\000m\000i\000l\000y\000\040\000S\000e\000n\000s\000o\000r\000s) +endobj +12 0 obj +<< /S /GoTo /D (section.1.2) >> +endobj +15 0 obj +(\376\377\000T\000h\000e\000\040\000E\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000a\000l\000\040\000F\000u\000s\000i\000o\000n\000\040\000L\000i\000b\000r\000a\000r\000y\000\040\000B\000S\000E\000C) +endobj +16 0 obj +<< /S /GoTo /D (subsection.1.2.1) >> +endobj +19 0 obj +(\376\377\000B\000S\000E\000C\000\040\000L\000i\000b\000r\000a\000r\000y\000\040\000S\000o\000l\000u\000t\000i\000o\000n\000s) +endobj +20 0 obj +<< /S /GoTo /D (subsection.1.2.2) >> +endobj +23 0 obj +(\376\377\000B\000S\000E\000C\000\040\000C\000o\000n\000f\000i\000g\000u\000r\000a\000t\000i\000o\000n\000\040\000S\000e\000t\000t\000i\000n\000g\000s) +endobj +24 0 obj +<< /S /GoTo /D (subsection.1.2.3) >> +endobj +27 0 obj +(\376\377\000K\000e\000y\000\040\000F\000e\000a\000t\000u\000r\000e\000s) +endobj +28 0 obj +<< /S /GoTo /D (subsection.1.2.4) >> +endobj +31 0 obj +(\376\377\000S\000u\000p\000p\000o\000r\000t\000e\000d\000\040\000V\000i\000r\000t\000u\000a\000l\000\040\000S\000e\000n\000s\000o\000r\000\040\000O\000u\000t\000p\000u\000t\000\040\000S\000i\000g\000n\000a\000l\000s) +endobj +32 0 obj +<< /S /GoTo /D (section.1.3) >> +endobj +35 0 obj +(\376\377\000R\000e\000q\000u\000i\000r\000e\000m\000e\000n\000t\000s\000\040\000f\000o\000r\000\040\000I\000n\000t\000e\000g\000r\000a\000t\000i\000o\000n) +endobj +36 0 obj +<< /S /GoTo /D (subsection.1.3.1) >> +endobj +39 0 obj +(\376\377\000H\000a\000r\000d\000w\000a\000r\000e) +endobj +40 0 obj +<< /S /GoTo /D (subsection.1.3.2) >> +endobj +43 0 obj +(\376\377\000S\000o\000f\000t\000w\000a\000r\000e\000\040\000F\000r\000a\000m\000e\000w\000o\000r\000k) +endobj +44 0 obj +<< /S /GoTo /D (subsection.1.3.3) >> +endobj +47 0 obj +(\376\377\000P\000h\000y\000s\000i\000c\000a\000l\000\040\000I\000n\000p\000u\000t\000\040\000S\000e\000n\000s\000o\000r\000\040\000S\000i\000g\000n\000a\000l\000s) +endobj +48 0 obj +<< /S /GoTo /D (subsection.1.3.4) >> +endobj +51 0 obj +(\376\377\000B\000u\000i\000l\000d\000\040\000t\000h\000e\000\040\000S\000o\000l\000u\000t\000i\000o\000n) +endobj +52 0 obj +<< /S /GoTo /D (chapter.2) >> +endobj +55 0 obj +(\376\377\000B\000S\000E\000C\000\040\000S\000t\000e\000p\000-\000b\000y\000-\000s\000t\000e\000p\000\040\000E\000x\000a\000m\000p\000l\000e) +endobj +56 0 obj +<< /S /GoTo /D (section.2.1) >> +endobj +59 0 obj +(\376\377\000P\000r\000e\000r\000e\000q\000u\000i\000s\000i\000t\000e\000s) +endobj +60 0 obj +<< /S /GoTo /D (section.2.2) >> +endobj +63 0 obj +(\376\377\000S\000e\000t\000t\000i\000n\000g\000\040\000E\000v\000e\000r\000y\000t\000h\000i\000n\000g\000\040\000U\000p) +endobj +64 0 obj +<< /S /GoTo /D (section.2.3) >> +endobj +67 0 obj +(\376\377\000T\000h\000e\000\040\000E\000x\000a\000m\000p\000l\000e\000\040\000C\000o\000d\000e) +endobj +68 0 obj +<< /S /GoTo /D (section.2.4) >> +endobj +71 0 obj +(\376\377\000H\000e\000l\000l\000o\000\040\000`\000\250\000I\000n\000d\000o\000o\000r\000-\000A\000i\000r\000-\000Q\000u\000a\000l\000i\000t\000y\000`\000\250) +endobj +72 0 obj +<< /S /GoTo /D (section.2.5) >> +endobj +75 0 obj +(\376\377\000R\000e\000d\000u\000c\000i\000n\000g\000\040\000p\000o\000w\000e\000r\000\040\000c\000o\000n\000s\000u\000m\000p\000t\000i\000o\000n) +endobj +76 0 obj +<< /S /GoTo /D (section.2.6) >> +endobj +79 0 obj +(\376\377\000T\000r\000i\000g\000g\000e\000r\000\040\000U\000L\000P\000\040\000p\000l\000u\000s) +endobj +80 0 obj +<< /S /GoTo /D (section.2.7) >> +endobj +83 0 obj +(\376\377\000T\000e\000m\000p\000e\000r\000a\000t\000u\000r\000e\000\040\000o\000f\000f\000s\000e\000t\000s\000\040\000d\000u\000e\000\040\000t\000o\000\040\000h\000e\000a\000t\000\040\000s\000o\000u\000r\000c\000e\000s\000\040\000o\000n\000\040\000t\000h\000e\000\040\000b\000o\000a\000r\000d) +endobj +84 0 obj +<< /S /GoTo /D (section.2.8) >> +endobj +87 0 obj +(\376\377\000S\000i\000m\000u\000l\000a\000t\000e\000\040\000m\000u\000l\000t\000i\000p\000l\000e\000\040\000s\000e\000n\000s\000o\000r\000s\000\040\000u\000s\000i\000n\000g\000\040\000s\000i\000n\000g\000l\000e\000\040\000B\000S\000E\000C\000\040\000i\000n\000s\000t\000a\000n\000c\000e) +endobj +88 0 obj +<< /S /GoTo /D (section.2.9) >> +endobj +91 0 obj +(\376\377\000C\000o\000n\000c\000l\000u\000s\000i\000o\000n) +endobj +92 0 obj +<< /S /GoTo /D (chapter.3) >> +endobj +95 0 obj +(\376\377\000F\000A\000Q) +endobj +96 0 obj +<< /S /GoTo /D (section.3.1) >> +endobj +99 0 obj +(\376\377\000N\000o\000\040\000O\000u\000t\000p\000u\000t\000\040\000F\000r\000o\000m\000\040\000b\000s\000e\000c\000\137\000d\000o\000\137\000s\000t\000e\000p\000s\000\050\000\051) +endobj +100 0 obj +<< /S /GoTo /D (section.3.2) >> +endobj +103 0 obj +(\376\377\000I\000A\000Q\000\040\000o\000u\000t\000p\000u\000t\000\040\000d\000o\000e\000s\000\040\000n\000o\000t\000\040\000c\000h\000a\000n\000g\000e\000\040\000o\000r\000\040\000a\000c\000c\000u\000r\000a\000c\000y\000\040\000r\000e\000m\000a\000i\000n\000s\000\040\0000) +endobj +104 0 obj +<< /S /GoTo /D (section.3.3) >> +endobj +107 0 obj +(\376\377\000E\000r\000r\000o\000r\000\040\000C\000o\000d\000e\000s\000\040\000a\000n\000d\000\040\000C\000o\000r\000r\000e\000c\000t\000i\000v\000e\000\040\000M\000e\000a\000s\000u\000r\000e\000s) +endobj +108 0 obj +<< /S /GoTo /D (subsection.3.3.1) >> +endobj +111 0 obj +(\376\377\000E\000r\000r\000o\000r\000s\000\040\000R\000e\000t\000u\000r\000n\000e\000d\000\040\000b\000y\000\040\000b\000s\000e\000c\000\137\000d\000o\000\137\000s\000t\000e\000p\000s\000\050\000\051) +endobj +112 0 obj +<< /S /GoTo /D (subsection.3.3.2) >> +endobj +115 0 obj +(\376\377\000E\000r\000r\000o\000r\000s\000\040\000R\000e\000t\000u\000r\000n\000e\000d\000\040\000b\000y\000\040\000b\000s\000e\000c\000\137\000u\000p\000d\000a\000t\000e\000\137\000s\000u\000b\000s\000c\000r\000i\000p\000t\000i\000o\000n\000\050\000\051) +endobj +116 0 obj +<< /S /GoTo /D (subsection.3.3.3) >> +endobj +119 0 obj +(\376\377\000E\000r\000r\000o\000r\000s\000\040\000R\000e\000t\000u\000r\000n\000e\000d\000\040\000b\000y\000\040\000b\000s\000e\000c\000\137\000s\000e\000t\000\137\000c\000o\000n\000f\000i\000g\000u\000r\000a\000t\000i\000o\000n\000\050\000\051\000\040\000/\000\040\000b\000s\000e\000c\000\137\000s\000e\000t\000\137\000s\000t\000a\000t\000e\000\050\000\051) +endobj +120 0 obj +<< /S /GoTo /D (subsection.3.3.4) >> +endobj +123 0 obj +(\376\377\000E\000r\000r\000o\000r\000s\000\040\000R\000e\000t\000u\000r\000n\000e\000d\000\040\000b\000y\000\040\000b\000s\000e\000c\000\137\000s\000e\000n\000s\000o\000r\000\137\000c\000o\000n\000t\000r\000o\000l\000\050\000\051) +endobj +124 0 obj +<< /S /GoTo /D (chapter.4) >> +endobj +127 0 obj +(\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +128 0 obj +<< /S /GoTo /D (section.4.1) >> +endobj +131 0 obj +(\376\377\000B\000S\000E\000C\000\040\000C\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e) +endobj +132 0 obj +<< /S /GoTo /D (subsection.4.1.1) >> +endobj +135 0 obj +(\376\377\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000U\000s\000a\000g\000e) +endobj +136 0 obj +<< /S /GoTo /D (subsection.4.1.2) >> +endobj +139 0 obj +(\376\377\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000s) +endobj +140 0 obj +<< /S /GoTo /D (subsection.4.1.3) >> +endobj +143 0 obj +(\376\377\000E\000n\000u\000m\000e\000r\000a\000t\000i\000o\000n\000s) +endobj +144 0 obj +<< /S /GoTo /D (subsection.4.1.4) >> +endobj +147 0 obj +(\376\377\000D\000e\000f\000i\000n\000e\000s) +endobj +148 0 obj +<< /S /GoTo /D (chapter.5) >> +endobj +151 0 obj +(\376\377\000D\000a\000t\000a\000\040\000S\000t\000r\000u\000c\000t\000u\000r\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +152 0 obj +<< /S /GoTo /D (section.5.1) >> +endobj +155 0 obj +(\376\377\000b\000s\000e\000c\000\137\000b\000m\000e\000\137\000s\000e\000t\000t\000i\000n\000g\000s\000\137\000t\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +156 0 obj +<< /S /GoTo /D (subsection.5.1.1) >> +endobj +159 0 obj +(\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +160 0 obj +<< /S /GoTo /D (subsection.5.1.2) >> +endobj +163 0 obj +(\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +164 0 obj +<< /S /GoTo /D (section.5.2) >> +endobj +167 0 obj +(\376\377\000b\000s\000e\000c\000\137\000i\000n\000p\000u\000t\000\137\000t\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +168 0 obj +<< /S /GoTo /D (subsection.5.2.1) >> +endobj +171 0 obj +(\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +172 0 obj +<< /S /GoTo /D (subsection.5.2.2) >> +endobj +175 0 obj +(\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +176 0 obj +<< /S /GoTo /D (section.5.3) >> +endobj +179 0 obj +(\376\377\000b\000s\000e\000c\000\137\000o\000u\000t\000p\000u\000t\000\137\000t\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +180 0 obj +<< /S /GoTo /D (subsection.5.3.1) >> +endobj +183 0 obj +(\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +184 0 obj +<< /S /GoTo /D (subsection.5.3.2) >> +endobj +187 0 obj +(\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +188 0 obj +<< /S /GoTo /D (section.5.4) >> +endobj +191 0 obj +(\376\377\000b\000s\000e\000c\000\137\000s\000e\000n\000s\000o\000r\000\137\000c\000o\000n\000f\000i\000g\000u\000r\000a\000t\000i\000o\000n\000\137\000t\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +192 0 obj +<< /S /GoTo /D (subsection.5.4.1) >> +endobj +195 0 obj +(\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +196 0 obj +<< /S /GoTo /D (subsection.5.4.2) >> +endobj +199 0 obj +(\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +200 0 obj +<< /S /GoTo /D (section.5.5) >> +endobj +203 0 obj +(\376\377\000b\000s\000e\000c\000\137\000v\000e\000r\000s\000i\000o\000n\000\137\000t\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e) +endobj +204 0 obj +<< /S /GoTo /D (subsection.5.5.1) >> +endobj +207 0 obj +(\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n) +endobj +208 0 obj +<< /S /GoTo /D (subsection.5.5.2) >> +endobj +211 0 obj +(\376\377\000F\000i\000e\000l\000d\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n) +endobj +212 0 obj +<< /S /GoTo /D [213 0 R /Fit] >> +endobj +224 0 obj << +/Length 855 +/Filter /FlateDecode +>> +stream +xڭUKo8WQJQ"VYhƾ=(mk!KI w(J:H-`{D|FGf` G{o٧gaƤ9'(j8%h 6oc#|A4 wyL= +zBS.#5LkeZJM43+ (c"!Po)95 "`ah5Ă(:lNڼ*D:Xvyf_h)\TMUieyUeM53Sl|8Vrp X13_ p,zr_)~= +bjb'tH$־,̘H{B߰6ٜ(߽xW76mLwI] e=vUck07kNdj=W* fd2,cY" Ӯ0Pۤr ULB+ ϡi7Fcٜ`\Lc& #y "{ '`d7{F+l +ܻƍ'N8u )ȉG9CT}?vsU_9#qPქN=>D"PKql~~Hd٠OA|5ŠJZa^Iໄa0?^˒`e˦[rM$> endobj +218 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 758.491] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 230 0 R +/Length 69 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 57307UH*2304"!pM`}\#|@ 4ao +endstream +endobj +217 0 obj << +/Type /XObject +/Subtype /Form +/FormType 1 +/PTEX.FileName (C:/Server_Workspace_Releases/20_Documents/20_Documentation/BSEC_Public/latex/Bosch-SupergraphicUp-Gray-Medium-top.pdf) +/PTEX.PageNumber 1 +/PTEX.InfoDict 232 0 R +/BBox [0 0 504.566101 1275.590576] +/Group 231 0 R +/Resources << +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>>/XObject << +/x5 233 0 R +/x6 234 0 R +/x7 235 0 R +/x8 236 0 R +/x9 237 0 R +/x10 238 0 R +/x11 239 0 R +/x12 240 0 R +/x13 241 0 R +/x14 242 0 R +/x15 243 0 R +/x16 244 0 R +/x17 245 0 R +/x18 246 0 R +/x19 247 0 R +/x20 248 0 R +/x21 249 0 R +/x22 250 0 R +>>>> +/Length 1151 +/Filter /FlateDecode +>> +stream +xWK7 EI$/Uf&K69~UK<L뵨b|EOb`Nc ,??ݧ#VR{_0!R-p#8#Z{j)pU:δY?'T٧ZC[w=MTr늉#[c1q:EKP-& +L=-y( ee.%D JkfF ihV{(KtT{]E9ޖ/=ܭRG̅;3_e52&Q֫M9KD*%)v'2lrʶBX Q3jH?|Rn2&A2!V x67.| p>ey;hD5tp4mȣ RCQ%BnˎDB¦̌!"@Vu!Y5e5 }@-|.,) :ɐ~0%J01p8.XV 6L%rlT#Ώ:W1u:hL:?+T nP%[(kR2^ $'tAْaئEϦ?(Z|RVdU3=qZ+(E;"e{Nus'otZPuz!lʝ'o ao6 rPuݱH T4B9Zw@AW$osޥ޺4_m",quL5 Xm݁xJiJgb 6e=mne.]«5el͓n7fzK'a +hA4*n ,ymfL5+_ nvoۼukRߨI.Q3,oJ%M0-xvb `@kM"ūN)S7adIfc;]₪=-ɮOnEp`nKR.ue?mĿڌ;8n?9pu2C[G, +endstream +endobj +232 0 obj +<< +/Creator (cairo 1.15.2 \(http://cairographics.org\)) +/Producer (cairo 1.15.2 \(http://cairographics.org\)) +>> +endobj +233 0 obj +<< +/Length 251 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 252 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ02Sp +B}s +endstream +endobj +234 0 obj +<< +/Length 253 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 254 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ0Tp +B}v +endstream +endobj +235 0 obj +<< +/Length 255 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 256 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ06Rp +B}lp +endstream +endobj +236 0 obj +<< +/Length 257 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 258 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ06Up +B}s +endstream +endobj +237 0 obj +<< +/Length 259 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 260 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ0Pp +B}v +endstream +endobj +238 0 obj +<< +/Length 261 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 262 0 R +>> +stream +x+ +T(2P044г47V050353S+*+qr*!LO4PH/VЯ01Tp +B x +endstream +endobj +239 0 obj +<< +/Length 263 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 264 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ01Qp +B}s +endstream +endobj +240 0 obj +<< +/Length 265 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 266 0 R +>> +stream +x+ +T(2P044г47V050353S+*+qr*!LO4PH/VЯq +BA~ +endstream +endobj +241 0 obj +<< +/Length 267 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 268 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ05Pp +B}np +endstream +endobj +242 0 obj +<< +/Length 269 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 270 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ05Vp +B}s +endstream +endobj +243 0 obj +<< +/Length 271 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 272 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ05Sp +B}v +endstream +endobj +244 0 obj +<< +/Length 273 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 274 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ0Tp +B}y +endstream +endobj +245 0 obj +<< +/Length 275 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 276 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ03Rp +B}s +endstream +endobj +246 0 obj +<< +/Length 277 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 278 0 R +>> +stream +x+ +T(2P044г47V050353S+*+qr*!LO4PH/VЯ03Up +BC~ +endstream +endobj +247 0 obj +<< +/Length 279 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 280 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ0Pp +B}y +endstream +endobj +248 0 obj +<< +/Length 281 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 282 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ07Tp +B}s +endstream +endobj +249 0 obj +<< +/Length 283 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 284 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ07Qp +B}v +endstream +endobj +250 0 obj +<< +/Length 285 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 286 0 R +>> +stream +x+ +T(2P044г43T050353S**+qr*!LO4PH/VЯ07Wp +B}y +endstream +endobj +251 0 obj +75 +endobj +252 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x26 287 0 R +>> +>> +endobj +253 0 obj +75 +endobj +254 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x29 288 0 R +>> +>> +endobj +255 0 obj +75 +endobj +256 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x32 289 0 R +>> +>> +endobj +257 0 obj +75 +endobj +258 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x35 290 0 R +>> +>> +endobj +259 0 obj +75 +endobj +260 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x38 291 0 R +>> +>> +endobj +261 0 obj +75 +endobj +262 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x41 292 0 R +>> +>> +endobj +263 0 obj +75 +endobj +264 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x44 293 0 R +>> +>> +endobj +265 0 obj +74 +endobj +266 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x47 294 0 R +>> +>> +endobj +267 0 obj +75 +endobj +268 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x50 295 0 R +>> +>> +endobj +269 0 obj +75 +endobj +270 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x53 296 0 R +>> +>> +endobj +271 0 obj +75 +endobj +272 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x56 297 0 R +>> +>> +endobj +273 0 obj +75 +endobj +274 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x59 298 0 R +>> +>> +endobj +275 0 obj +75 +endobj +276 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x62 299 0 R +>> +>> +endobj +277 0 obj +75 +endobj +278 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x65 300 0 R +>> +>> +endobj +279 0 obj +75 +endobj +280 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x68 301 0 R +>> +>> +endobj +281 0 obj +75 +endobj +282 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x71 302 0 R +>> +>> +endobj +283 0 obj +75 +endobj +284 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x74 303 0 R +>> +>> +endobj +285 0 obj +75 +endobj +286 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/XObject << +/x77 304 0 R +>> +>> +endobj +287 0 obj +<< +/Length 305 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 306 0 R +>> +stream +xM1 +@ D> gׄ5ǰmtXo>S*iH)Q:8MyZ0Ⓢ_"{wdj yv"֊n=Q7n4 +endstream +endobj +288 0 obj +<< +/Length 307 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 308 0 R +>> +stream +xU1 +@ D^ X[RgYܙ|)LTұ,I0tA' eM}dYw] } +endstream +endobj +289 0 obj +<< +/Length 309 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 310 0 R +>> +stream +xM11 {b?߆q *j׀tij9PICIhpz[ )m\r wny`eI0:okb蘻\W~:#> +endstream +endobj +290 0 obj +<< +/Length 311 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 312 0 R +>> +stream +xU1 +@ D^ XjRg6o>C&*0KjFEk L74x'yf<(hLui2u`[OMb` +endstream +endobj +291 0 obj +<< +/Length 313 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 314 0 R +>> +stream +xU1@ Dާ ę`| *ji@ +{B'r@ Wb"ygF<Ȃ\XVs}1 +endstream +endobj +292 0 obj +<< +/Length 315 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 92 505 193] +/Resources 316 0 R +>> +stream +xM1@{^/ w> +stream +xU1@ {b?gB)%Nths) t!x gfEUs¶捶y6ndρu/| +endstream +endobj +294 0 obj +<< +/Length 319 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 289] +/Resources 320 0 R +>> +stream +x}K D9O>FMIm/G>joKP.b'I =#0A## }ɧcMjPƶ;TTPǂءVRŹg7RDMiw܎- $ZFliTi]2'my14Vl; 4#ގg>d KJ7 avw_W-e +endstream +endobj +295 0 obj +<< +/Length 321 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 322 0 R +>> +stream +xM10 {b?6<! H\/]DujGI̤A2wǂ[>yI(ȓU+a%ʂv +endstream +endobj +296 0 obj +<< +/Length 323 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 324 0 R +>> +stream +x]A +A d;l'"^?(^KQю)C(AHoOn8ٺ +SN0qH(]e%\2we`mH0 +endstream +endobj +297 0 obj +<< +/Length 325 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 326 0 R +>> +stream +xM1@ {b?pgPQ#HRK h!4S3½L+ݨ=3y4UUU"j9\6[&+qr3<' ].?9#. +endstream +endobj +298 0 obj +<< +/Length 327 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 328 0 R +>> +stream +xM1 +0{~@}gYH:718?Dvev=L:\˄(HW/xbQv}R!SyQQxmxm6{t +endstream +endobj +299 0 obj +<< +/Length 329 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 330 0 R +>> +stream +xMA +0 z~ʑ*9\Bi.-?T3RXIjginw|7@ZCFl߲<21&? +endstream +endobj +300 0 obj +<< +/Length 331 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 589 505 620] +/Resources 332 0 R +>> +stream +xMɻ@ќ*sa &h?8f;oO` Kݚ׆¸轨<#>Q]IcH[¿ ]R +endstream +endobj +301 0 obj +<< +/Length 333 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 334 0 R +>> +stream +xM1@ {b?p> *jPhf5+Aaj +gp1@[aƗZ33Zf{]! +Z5cYGi: +endstream +endobj +302 0 obj +<< +/Length 335 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 336 0 R +>> +stream +xMA +0 ~~Z=\JH.-?2 sT +h-)N=pǻTOјf*:43z:C*˃'y4Ụ~|I. +endstream +endobj +303 0 obj +<< +/Length 337 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 338 0 R +>> +stream +xM;1C9/1BlҒKYzL͈4zA5jHPy$1ࡍrZe(;B_ ωm+./"t +endstream +endobj +304 0 obj +<< +/Length 339 0 R +/Filter /FlateDecode +/Type /XObject +/Subtype /Form +/BBox [ 0 0 505 1191] +/Resources 340 0 R +>> +stream +x]1 +@ {b?`Y:gJ?ĸ +aev9d25p)[ j6Lpxb,defy%p,_<6/cQZQ +endstream +endobj +305 0 obj +92 +endobj +306 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh80 341 0 R +>> +>> +endobj +307 0 obj +99 +endobj +308 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh83 342 0 R +>> +>> +endobj +309 0 obj +105 +endobj +310 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh86 343 0 R +>> +>> +endobj +311 0 obj +98 +endobj +312 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh89 344 0 R +>> +>> +endobj +313 0 obj +98 +endobj +314 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh92 345 0 R +>> +>> +endobj +315 0 obj +115 +endobj +316 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +>> +endobj +317 0 obj +99 +endobj +318 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh97 346 0 R +>> +>> +endobj +319 0 obj +194 +endobj +320 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +>> +endobj +321 0 obj +99 +endobj +322 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh102 347 0 R +>> +>> +endobj +323 0 obj +104 +endobj +324 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh105 348 0 R +>> +>> +endobj +325 0 obj +104 +endobj +326 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh108 349 0 R +>> +>> +endobj +327 0 obj +99 +endobj +328 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh111 350 0 R +>> +>> +endobj +329 0 obj +99 +endobj +330 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh114 351 0 R +>> +>> +endobj +331 0 obj +84 +endobj +332 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +>> +endobj +333 0 obj +105 +endobj +334 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh119 352 0 R +>> +>> +endobj +335 0 obj +106 +endobj +336 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh122 353 0 R +>> +>> +endobj +337 0 obj +105 +endobj +338 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh125 354 0 R +>> +>> +endobj +339 0 obj +103 +endobj +340 0 obj +<< +/ExtGState << +/a0 << +/CA 1 +/ca 1 +>> +>> +/Shading << +/sh128 355 0 R +>> +>> +endobj +341 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 356 0 R +>> +endobj +342 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 357 0 R +>> +endobj +343 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 358 0 R +>> +endobj +344 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 359 0 R +>> +endobj +345 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 360 0 R +>> +endobj +346 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 361 0 R +>> +endobj +347 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 362 0 R +>> +endobj +348 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 363 0 R +>> +endobj +349 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 364 0 R +>> +endobj +350 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 365 0 R +>> +endobj +351 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 366 0 R +>> +endobj +352 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 364 0 R +>> +endobj +353 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 367 0 R +>> +endobj +354 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 368 0 R +>> +endobj +355 0 obj +<< +/ShadingType 2 +/ColorSpace /DeviceRGB +/Coords [ 0 0 1 0] +/Domain [ 0 1] +/Extend [ true true] +/Function 369 0 R +>> +endobj +356 0 obj +<< +/FunctionType 3 +/Domain [ 0 1] +/Functions [ 370 0 R 371 0 R 371 0 R] +/Bounds [ 0.998902 0.999891] +/Encode [ 0 1 0 1 0 1] +>> +endobj +357 0 obj +<< +/FunctionType 3 +/Domain [ 0 1] +/Functions [ 372 0 R 373 0 R 366 0 R 374 0 R] +/Bounds [ 0.42145 0.471603 0.943808] +/Encode [ 0 1 0 1 0 1 0 1] +>> +endobj +358 0 obj +<< +/FunctionType 3 +/Domain [ 0 1] +/Functions [ 375 0 R 376 0 R 377 0 R] +/Bounds [ 0.428836 0.829244] +/Encode [ 0 1 0 1 0 1] +>> +endobj +359 0 obj +<< +/FunctionType 3 +/Domain [ 0 1] +/Functions [ 378 0 R 379 0 R] +/Bounds [ 0.219969] +/Encode [ 0 1 0 1] +>> +endobj +360 0 obj +<< +/FunctionType 3 +/Domain [ 0 1] +/Functions [ 380 0 R 371 0 R] +/Bounds [ 0.445434] +/Encode [ 0 1 0 1] +>> +endobj +361 0 obj +<< +/FunctionType 3 +/Domain [ 0 1] +/Functions [ 372 0 R 373 0 R 366 0 R 374 0 R] +/Bounds [ 0.42145 0.471603 0.943808] +/Encode [ 0 1 0 1 0 1 0 1] +>> +endobj +362 0 obj +<< +/FunctionType 3 +/Domain [ 0 1] +/Functions [ 381 0 R 374 0 R] +/Bounds [ 0.557724] +/Encode [ 0 1 0 1] +>> +endobj +363 0 obj +<< +/FunctionType 3 +/Domain [ 0 1] +/Functions [ 373 0 R 366 0 R] +/Bounds [ 0.16318] +/Encode [ 0 1 0 1] +>> +endobj +364 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.905882 0.909804 0.909804] +/C1 [ 0.862745 0.866667 0.870588] +/N 1 +>> +endobj +365 0 obj +<< +/FunctionType 3 +/Domain [ 0 1] +/Functions [ 381 0 R 374 0 R] +/Bounds [ 0.900901] +/Encode [ 0 1 0 1] +>> +endobj +366 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.905882 0.909804 0.909804] +/C1 [ 0.819608 0.827451 0.831373] +/N 1 +>> +endobj +367 0 obj +<< +/FunctionType 3 +/Domain [ 0 1] +/Functions [ 381 0 R 374 0 R] +/Bounds [ 0.900901] +/Encode [ 0 1 0 1] +>> +endobj +368 0 obj +<< +/FunctionType 3 +/Domain [ 0 1] +/Functions [ 382 0 R 383 0 R] +/Bounds [ 0.900901] +/Encode [ 0 1 0 1] +>> +endobj +369 0 obj +<< +/FunctionType 3 +/Domain [ 0 1] +/Functions [ 370 0 R 371 0 R] +/Bounds [ 0.621891] +/Encode [ 0 1 0 1] +>> +endobj +370 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.776471 0.784314 0.792157] +/C1 [ 0.945098 0.945098 0.94902] +/N 1 +>> +endobj +371 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.945098 0.945098 0.94902] +/C1 [ 0.945098 0.945098 0.94902] +/N 1 +>> +endobj +372 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.945098 0.945098 0.94902] +/C1 [ 0.905882 0.909804 0.909804] +/N 1 +>> +endobj +373 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.905882 0.909804 0.909804] +/C1 [ 0.905882 0.909804 0.909804] +/N 1 +>> +endobj +374 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.819608 0.827451 0.831373] +/C1 [ 0.819608 0.827451 0.831373] +/N 1 +>> +endobj +375 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.921569 0.92549 0.92549] +/C1 [ 0.921569 0.92549 0.92549] +/N 1 +>> +endobj +376 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.921569 0.92549 0.92549] +/C1 [ 0.819608 0.827451 0.831373] +/N 1 +>> +endobj +377 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.819608 0.827451 0.831373] +/C1 [ 0.776471 0.784314 0.792157] +/N 1 +>> +endobj +378 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.862745 0.866667 0.870588] +/C1 [ 0.862745 0.866667 0.870588] +/N 1 +>> +endobj +379 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.862745 0.866667 0.870588] +/C1 [ 0.819608 0.827451 0.831373] +/N 1 +>> +endobj +380 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.733333 0.741176 0.752941] +/C1 [ 0.945098 0.945098 0.94902] +/N 1 +>> +endobj +381 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.945098 0.945098 0.94902] +/C1 [ 0.819608 0.827451 0.831373] +/N 1 +>> +endobj +382 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.945098 0.945098 0.94902] +/C1 [ 0.733333 0.741176 0.752941] +/N 1 +>> +endobj +383 0 obj +<< +/FunctionType 2 +/Domain [ 0 1] +/C0 [ 0.733333 0.741176 0.752941] +/C1 [ 0.733333 0.741176 0.752941] +/N 1 +>> +endobj +231 0 obj +<< +/Type /Group +/S /Transparency +/I true +/CS /DeviceRGB +>>endobj +230 0 obj << +/XObject << /Im2 217 0 R >> +/ProcSet [ /PDF ] +>> endobj +220 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 384 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +219 0 obj << +/Type /XObject +/Subtype /Form +/FormType 1 +/PTEX.FileName (C:/Server_Workspace_Releases/20_Documents/20_Documentation/texmfbosch/tex/generic/images/bosch/CD2016Graphics/Bosch_4C_S.pdf) +/PTEX.PageNumber 1 +/PTEX.InfoDict 386 0 R +/BBox [0 0 425.196 94.487] +/Resources << +/ColorSpace << +/Cs6 387 0 R +>>/ExtGState << +/GS1 388 0 R +/GS2 389 0 R +/GS3 390 0 R +/GS4 391 0 R +>>/ProcSet [ /PDF ] +/Shading << +/Sh1 392 0 R +>>>> +/Length 43794 +/Filter /FlateDecode +>> +stream +xڴˮʒ8ϯ1A@=4JI- y.PI9IFt{{l=-^?>ΧOjB^okx}V^?XC9~?/'T?Ͽ_?çJK~ܤė&]xI#OK҉>WLG՛Ui>Itr>dy%]?M:&GY %mm +EF?>R8W#wxI~22a|c_\~r 6ٷ7[{=DqrTEr6r?1 ch&5+u:n:ڣG{Wo>M^W{[<+2sV&;~VdF gẃ;h'TKHc^U +]ƻOՃ)ӫczݻ[YWˏwnt 6j4/ca)|b~yƿǒg梭?5.=8Z"aoL +tY^򣵌!m-y][eUVnh/rĵh`(7l,cTWr3hukcKx7kGSa zû}0F~jl͟?D֒A?Ji{OK ')z] :2yYKg3e-3*k qQN~kr&*Mx7Djx.k~L}lYwu2:"O76CFFk>hav$\>An,hyL<&?;âȓA2"2hAVhį~)-Ɨ"_ ㎮T>3`4j}o>i:ۨnp12o#1FS:5hq%/c/[;D[?bF?ʶlG@ɏX4ʹ00kW/R}o\zwDDݧx:&wmeL1cڏW0Z?E FN(ߖNʹ8X乂tiE3*Bw9'֒U8i|d*} ;%: ⍽4Y Lt h9ݷFYQ҅UȤȸߓli0tVړ pc?>j/k4E9cjwyU\ +=X|, +ADN*S6Yޣtoe+6n̉3%#.*3w hVf{P@DeAe+1~1JpG]N9dV [ڧY>O#~x9T[:G)IkoW! kc>}xRݴeǯx3OYqiwɭ껵;Y̲m$gWG==ű 6 ήpbW#( mHO^Wl q&/ | ]9#llRi=6* ]KcCuPt*ݦCm{9־MChSI[Kﳟڍ.9Cdy_Z^55Elڜ̶^N>ڛfnNmzƕqq70H8,/R[5礒-j9io{?PHy43ԬČ}1E"@u~*P_mP%lT+o;M az@u,OAN'+\3oȺw##2 XID}&7R<6цJޡM!XT(70Etm.0}){{2>8 9Extyo 0n?>c`z:XaNazX2@Kn$G.r|(1Gb@6jX;|g18^k{zkyRYFV:<t`V^7'f9nfKro0d>r7E@}k:ǷGm_|c|ޤg +O EGճŒ qo'DQ_-sFU9's=Y֌#rHw&%/Ο 924m:lM]%Oֹ>dagmMm!=j4 MqT/_B!D:^([+s||xw4Lh@8";yA}WUnO6s; x/ctƦ'fl:9&-tF[Ht&w?}ďSɾ즇FlMh1Ez5qì ;u^,QXnT3\9?@'bT^pGk ^yFv]Z A8/20>r{>GC]ǭ`Dz{{=%w@ADfCYM|4X18;Dbȉ:ڥ`p6hH&iɞz'N@GD`lqS 9]K9FJuKq6plzOh4֢/4Ծo>\VU1du~|'o ++f̔ڂ>QRTxUy4u_]|aT(ݚt4Iiz4glS_7,_Gf`n~ͱDGJ菴_8X# +50HC)qPɁ4[j4\48- 8G9o MǓl6pJ6Ahְ9y3~(69#!cqf)gV[cv|P9-;xͣ-1厶t|qM۷?212#q}PlMbdmm@_ʗ8WgA?6h֧ե??*%HG$4/+?G?-m~Sjfd?:]O[noƱGEjISфx.53ME]pe_L_C YtZH%(i48,.SLzVffaAN*te8:^Lg8XdiVhB$F,vo%6]g8gY8`_C /|3va1qgy鯣Ww + +C@QfJ8vy+Hз,ڮGP( **eM4p څ1ݞqԠ.BMu;Y@^rL߬L?ZLh=3o^z0K}pzR:dk@,(r: 䭂Dqemj9]޻<*,N-w 9vaȉSJJGC¼JФe:{tLkA9L-'{hJNKDOCR<:9j`:]:hM-w(3o(bmaUt2K"KgK(aü_ʮEUk F>{nǵ^hsE'H7Oel%otuYb3(cց<9ޚsgh;"k1bwխw:]9Btiv1! +cְzHasQ'8W6)u%"2-C7HzE!+*@ye~G6WDjv2DaSi8ET0YQ, Z>C4/& +P(}#3OIƘ}1恱ym];sY}qI66ʊ}=V5'䪜[5fAYzYV}#k2dH™1flN  |}\fFS _.F389aIc&n"FF;3 sxs]y3O>0-7qqcD'Y55ys?>H'Mֳ14EE͙CcE]K85t3=_L&IC{_uG/43B _YvrdsmtoǹQ]2-w{vNWsf'\폎n֨Q9'4paMow ZFȵx7j1"XV*4BؐcOS Q$ j* 狣; +n;f=ꇏwD| AYskJ$ +Hc۽TFDVUEV.9xf@#"rg9q=EtPIV[{f@$^P;" FQb2J<@z:S?D)0^ȼJA%HTD0dhq*Y,؀zvgFk5ن +j,nYۿg{ "gj`H=!Hmą81sVxIA-pâ_ WM0.3hB> iLmUdg&DMpaBv7坋L G&lCP0\21Y8KR/.엎d)(,o5_…=A>cE)o0vQ*CpautxqռaSh5:… fBE|%NjHd&@W-|j( \$uqFlUxMըRPy =LfC@,{xJ;3?9{d]DeZryO[V$9`cQ"*Iw#-$<ň(D]BgQS|%]SS,Jnm@r[ 9ڞ:/Q{3әImrX6*QtŤ֘8#u,ƑIaĐKf G4bkD7.0v_aϼٶ +GVS*,rbutNm),LW5: ʁ3Dx:i)_c&|5 ?+M# =Aj&A~:KǢlv2tۀ]lج0e®o22ۢ1 /\ͽYD.4{m:2(;G;oM$5_xuqkxlh^{L*{t1wӆq*(H>\h; +&}?@1#y&nZL>]XrI&I|=(ٚ<ؘr\_n^D!r +8LBB =پn4SZ]H!ӑ?oȏ,< GTlqS D-/HR DBXmw1MJ4/q?F~C.Kn h;Q"y +z97rBRn"(Vb7E= k{w t13| qDxY$l31i P"i_-؎sj6hoyl9(C]Aި,b}ĺQu~&xEtq9{q>.p[W)(a j؛Τ:fٸlT!3{ӑȄji37^S] €x ]HK"(6(SceHM@6CȶGBzΆ:NvLm +ה<i~nF*$E_?^-d?81)"CV;Q fAO2d2ZFWsl̮lAor y#6<5lc. GA\ ɏz%i(p.V1Av8$]HפFbOryL OCHRNЀ y,La!{/(A0PBJ>CWXLT@ܻ/g|@]"f iƆ;sUHM=V*5  Ѹ)!%-aʰh~ӀJ[] >i4erXA޿Ai\y*|nedĜ}Yv i%QqaܢCDT"xBCȖܔtLB0IMKE)ڔE24"c XS29wDZgճtV9gӔu J! 9=3K6?Pjoa΀L9dex/ѯ ~b~' +l6>1DRژ"$W'絛'-hTc} LOSQPAVFc3 dMGl N֗ʬ$C$;,Wcm 0@[|&=IKd5;nG8Lڠ]g^duO&I9ʷF0\1(*6Uyˁ.Z㇔uy+/_`~ՓaT=0wlҎ\F?,$jy[siǹFtf[)8!⪡<:*.>lt#l`ɂ,,|Z6ė5j%%dfznq$QKb 1,D^vtO=Rhd.uי_t1>MȢ&&9&4mܞfTx^2cr7oe˘4^tea`tΨ7l.t7U ؝ LٛXc`>3Xb↾)?b~J1ayI2jnu*.DHPJsd\(/7E/,pF꺞T + 5 +4k2vZ +\eLby"i +Zn~'XOXп~'>YW:yX1ևE +~[ZV'\]9^ɿ6)VdX5m@ "h4Op[HS)* w;Ms>f=!"WVV% pmQ ),`8QMP gDXQTrZSط/Tf%8Ƈ=j4 }* I%(< m'-UM[pBM.JG##tGOXx(*΄j7n|TāolcIcq"Esapΐ6?cjjlL0{KzN +b&  +-Aڍ/ss"p,<*UlZ uYV!_n\e @PG%b<j0Y/(JZX(Lvcdᵄj)dcPӉzS>="*x- M[dX$~ҭ*;ڠyx(-.EbR$hTlA Vb6GIbt=[EZ +KV;t_ s.m %)'U}QeNu̟srXYOdn_'iICMV x0f͛d9Y&dm_L(Nx[& ,\H~юŏ?.)Q YL[.luZn(;pa7Pg=3 Afq:4;`;qq-ĸD0%>^*MĀmmE. 02`pK zIZ!|yZBTEs&…vv@Xղ+JY0J`$@I`{2@e6yd/ ЄĞ GסHJ,f|-s:%G~X(S-8p:Nz`ZX9\PLȕG/&uY8YB%5 Z#ID[ވ¦;

| G[ +wh Q$47qP{h48g9\+JR )Fkh#D+{zE738@{d1,a+4O.Y837zݫ%2!5[e|z;&xNvbͭ|\/);JH+XR@Y,w$)=VKrFjuSjI4r`twTQ @܇ZI[zBcFRk^^J`-}#m\1YB[M#i:.Jϩ] urpօ/:՝{IDU)XMh{I^1 VNܶ)8p_{mc:Xbe}!^FU'ǃCk.;sFq k*̽aغ{_eܽww~ukNv@\9azF?!?2U9<m4w))1<+ڜ9KL LH 8lJL"bN#M`([ 2 i8KHN=E>x$>v 8Z(%[OAlʯfM[Z*^lً?Y@"h]ԗڊwE92W,·J}'<u2Nl`x^Uk~3,P®96 t3r"@ګJêݑV/^("b-7 "0Xb0J`WX$8z|ҙeFb~eN5CropP IZ怾y0cYCe4ɿ{fE'Vkt;K1RIqP?([#/osfi5Zjd*BAS@ڕ1BW#,xW<N NoQܥ3:U>KDptG1'dD.+CT{2"cPSyۈ6J a.+t'(,A)/-ghbdQ-q*(T\N4H\\.(b[*5=6"2fK(s":(KndmFfNॣ# m7k84~!q:CJٜ/vs%]Ŭ25 ' +07־Wr0c]EuAcU|{BP9FY=Uٜ,dhs ϣxd1ch,$*.6G*"*/B(4ҬfwC}EF%NF\[sv}̎,ij(q6FW3(f8G?eb, U% OFh*,ȇ4`hek ?/Ue< DI9i;5IХҘc(3Bh>muS"_-Z63"=*;6!3[0L3shBh3'l=kk^I ,73( F4oha嵍<;'7l~[+phL[d P "Y~fΑ|)RC֯ Бbd2k!ٕ|SMCe=݁9=LCXx Ǖb\"MaMn+>@V2^"{r( +q)ʅ\ŒJV>ɺs Epžr"9# ~_b$4QaozvU%D>%AU|٫'m:awuD)py^ +~{H;LwVCx) a,=UCX}@$v=BJ,7IYs dUu$A^~'KIļ|)ֆ0gahXjr:&dCX%0[5zYSB$:)U}̲@}o|ߏA:*Jd'DF&A 6D픝TeAY֋ǙN. +d,ԪCM)%V 1+%kf c5\V$`"W>aY H>eV@e=il7ّw|[UbȀV|zZ:sd:%[w7 OB^,?s"+tYy1۾I4,5[HT5DvRGf)*'2yM,Ry)BmI di{0ec^R'>/K_A?FFZD\n42@uPE%n h)_/kvx+ӕir: dwYiF{<)})-kǥPRc:s Tfy0σ1`+aij| U-^[2Oȁe&c{i^_=A>3(ɈF8^;0Ր/G* +CY-q<"ߏ4" EFw6[[Nv;m n}ocIw)kn/ b.9Z*l{z<,_>byIL8Mȳ*.(o13yT.!KQ3'乼5LA/7}Nju FdУVz>2ҩhZc^C2:|k<莅EUxčVBJ 5us\}f {G$O0k ;̙ }oq;_?8jHtuҜiBݼF6t䨭%2XTǐݺ<8`}57<~",Wu0R_TQq%zcb$`xN$HnܭCizJCjt^0&O@0yU-6@,l:o*~ V,siiQ*Ƒ30/*q+ fB)G\NG,\E<ͧ^D/K湐1wEM Z{ܾu7FB0CCvh٨h#`Ra9{q/YOSp7,)_阚 _,RK` WP'ɽ16EOA\:T ֔( WTy˃a+|gi.t *'fN]IA6Tk~(F#(MuC)eP`jBZ47:󄄼c#Sd0U_Z@hv4[dR1m^e/kIOeoʜgC&L'3Mҽ6hqX5C&#ʼ8> o_OA2l/hu ,DU/?pev S +D#fI[ΤH¨%r7K8+o) K~3'-L$őv2@AI`,K yODCPxrz<nn~)~eV6Ѕefe.tkdG\,+8b>RV{h`Ui*^3Ιh/Ұ4XIٙR1;#@ϦUúpϱi3w<6-Xh%[-_'Y8nCJ# mV3dwVr-CV._5xe){rVC+ϫ nbc-^PxXr +2)6Pb)@ ۮw~aC,`g +(bDސ9tlӴdǞK@WtE8}(P][c3Eom$+&/`hrz%T6`kY*,j*HjCڞz⥦-8 37fO&f`V+j]pV.ՕCY3Im,Zj|fp*X2NN3gv`;e"d\K9?\+fBs/M|\65 ّ *BitYh~𦗏k1`}}v>$g=|" T?)ltz?8Fm;d8o_3:zP Y1Ni +xUM a=eKd]k7lӵtfĺy[LtIQd5kζhH.6HgbtX/lJWn29%^@J*5Ѻ EЕ=ݕOU cƒk( R_6mGg"?Ĵ +_F'^E}Rln.&$S~n|$q~aDxӽ}BU_ŐUY9%VϵjAjhkq!i)iE5D5-g_" /5NqDOlJAF +fúx.֢!,rl̓9}!T +7g; bD:XC);S"qNNwE%,[=0٠$U 8MMb_x(O5vR::KTOOL9]etS0D)`욭ZDjlcw˲^ByIZ>XHM:F$}M5Xff^!^ ;y.Q2Kg+b\JőcՍӕ].˺\ b>yoU(_z{@3]'_Hd}-,˓>u'[UZ0pqTw Y % E<&Kq'gRDGcS9pK_'GQ=g1٢^ zV^s9߱mJB,O,n 﨓m2S2w6 NomQ)G!s +nmH*;ER,u#R^eؑoπS)m Xac6TCT-H01)OϓW鶅P\ok^E,os :_.2peUKHS[8}K#>ߖr`Bok_q!7z7%f-a&,3LwdTX Ջ-Нb*%ͼۚٗăL=w!\,c-L HTjY[,DH. o.z]ȺVy S +OxA+"w"b/\05ڒd@T*Ma20*#hpa LXLѦD:a?,PԨ&wsWjfA~ijr8en铺ׁ4_RMš1aɖ +Ɗ"kyp@8K[ $u:%c +.Mp{N_vJs΢y(4:EM;m-Y8!xBQ4G &ϡz^ɛ&j/j͢jG(W$N4eϘaQ‚>DWI )mDsr CԦ8_<_K ,kqiǭ l,Xl=3mb3ߊR8n\5vUZK<2_p"%aY o_j,΂-7}ۏ{gĩ#rG?5b7m4oK_dBw]Ͷ0}!tEϢǞD"R#~ )pV$Z35Y"ҝ88![ŠTj"DTZ2NHɂGY)kO4bDpU`q2wV8l"`(&#L4""R,mFXz,_miEVt"GY E>QX-q" $"{$Lɒ!*ςOe| ^뷈(9ے7Jt78ƙjW~L, +Tlrn|QFdQ'BINUE +P1lq6(`q 7yFDF@A}_*d0ȋjVIrwg}F5i>tGbD@DoZLaD9Sg wAV_ͦ+{"># #`%9<ЕBJs[i'T盠͗gp,]0w+/S7, (K[ s焂7-͵8n9W-s;QͳbFv[@ߤHfNM=vc0Zbd7.jA5ߺR%(. ݑ\& X58 RUO~S3m Æ}ĘԗbHΘƨ,۫:`ZQeKy&Rq !=swj #PGe?wJRISI;A3'w4dz[_,ԷSK$r5A]S|qE`]͵4)y=G}[TݳD5zs`|XUC:U}Ϫ9d.NU×U3յؙU/JYG-^*.묀5@dUT"cngQeMDaKFdzzC B[\᫢ꤌOÿzQQ}feUu +f迨>eOZ8>MʪSƻJϪSҿ_Dg|VV]e٪E/gNأ{q)YU!,{VU}ImQu"ˢCe^u|\Rr: +ÊI[a*aUVÂuSiAu +Fأ]e݌ÊTREu +%"QBSQ]+SJJXBl(Z<~SIkBXW\(6M([ XW06E,S\i\W%| AXeAzU%@:9˨ޔUZXʩg ?ђ>)I:RTq(9nn1@X +zʢf5-Y}*hC[+l"2L=utޣ2ݬ43k=+Ύڪз,@?sDŪڊ~*ώ2VzgxS$W1lլNvyVQXZp3èLY*,ջ~f14N +lMQ+27h]W?z1FӍU1sQc>Mʎc|Sz +ae},(+zY(E%ڕ)j?P!fM)lGh8 fԔ_[qBB#ɸjX1:=ɷFbc )u.wk֎]U6j5kc[ަq}l[36a<}n4y7!gk&?'go#ڭ +tۘo-}!"M}2$}6 >n31{FkA=^xMPK,(d~GTͭ# *FkhWMz$9ZhkgLG= IS<(?PˑuMNA_"wo[ qMbcL( +@_pkY1HeiaJO\ +TBG-BU,΅e^~L$i9],9%/iV珷˯ϱ?כ|Qxzs6~(BAљgY#2㕏p'4ҽĵ/9y]C3룩냃MMM-bsnhCYCvFK޴曞Y2:ϒ1Ìٸ? +;NcÈQ 7 ڥ~ML.Bˆ\z9nL{s +F"ޔS6Ʊ@A&-& o݌~l ZEh+[YW0 F𶆡hm kc_<FX "Nf}7po8tm+89a¿~p6vs_?Ƌ_TݦSkoq|sb}Tr=f`<[&q/F=)GY Z#~l>ۯWm,E=~߬эǿ_/QEyAEᱺi"Y]vײ㛣u"ڮڴm@]G{h|/ O0ژ?oAU)mPצ>]g,6Z*Ube +-NkrGw7mgE7ЧOT2 |-Ժ?x7{;yGQ+?G?AKĄqPCq)0+vE({[~6(tTEW=%fbSz +Gw{/W|as :G0bUr7.Uש{ G(mYmS?SWU4J{Ui61 +rnчS~uٔ@l/ +#2Zg2䗃Th*^v߬l.Gk,L'E +nRC>u; I(uVԋH +0YTd,^ So67.PSdH1hj Gazj,֢z0ҴmO8eqn\` 6ۄj`_N.ɫ(gΎ(w-j0֋jv ISƾNb m!"7o2eȓNQnɮZ딩?£ !Mv[uLXT " zS{G &jg$粬lN e"(LM"meJ/&Rb˜͢`op+ +bDʬQԃL 4N03@YO&"?H1Qn=SU^HͯoFuLHTI#X7aZ.~5$,LL J,N]<@:obq>w;r_̓T<3nمqjv]:B̎!Y"ku6u.~ fύg7;OЮJ. fO>塥vݸN~e8!+%8A)mP8bd6YM{vdGZQ:]p`u+W59^70<ڽ +P㗢!VI{eyr=‹ Y@ ~S]o5pE,@ITEѓ-f:Q/FreBO :7x^۩zAnA (6WSIS]rCKԉ!j7$7wjw,*>*T̛"o0EzrUW:2MUᦶD]:hwxLU)Ѯ7~e%؁zzV5+Hg!1x:IaMO +̤,m^iz5H6p-rFZҾYORY2=.*Ohyгv7Q HRݵı҆h+^bH]aM8 `k%6?saGuzEЊMK@~=w#*Tx߸0Vdv2^Ge#wK3 Ju坃o_= +ECG +Ze$ Dqy`T[rJ.V=;"^84ťv,-B3C7 n^5@ݍ S[*$D;Czp(V\$~EvV@s)˰|zx +Zع]a&Ts̋5_Qy:mͬ9ת*e ZN+vRl gu8d=gbx`ע-XpP8M!֫oZ|~9OQy(r\i5'UɕpD y,oժ?\9Y:RbB4FD+nXѕuVohOoAe|cgFMYǩ6J0KI0hՐCޯcyع7[OCJWNY$ov2;. S` :U(pe YLY%a( G=P`'WxI  Ym3ϔf]3 rU&Bd +DRԙ t4͢enS2[Wz^]\uqdBq˝AF5Ӻ,ؾ_ 3.  h$)Q~~ $s!iiLZM[MM<(H.,e?+086u=] OKP+P~= '^>Nu/nωF5^R _'-Cm#(TD+vzȕ2a(??Kђ+`>GǒBx7NJ2= M/m<4d먖qIT,@QgrJq哇F eh}rc5E:kQpr·b Ak{l*"Vhe"9E;\&CϪz0dV +OEMǞ[yYOLhEqVV`HWs.S[FS+L6]K/hJ!]]}>\y `E)d?@1)N30ATtH|-y1)[,O!cIt; gzǜ9`H`KxL=2ZczLYptMFk"F,thQ>%:?PZH ]xD? 1_ #@STUzZ?,]p}(q\08 C*f-!p 7B+}zEPC*cxL +Lc>W~ -nsRBd!,fG'"n|Ib5+9FwUb&ts1X2s1=~ݜ[bUUh(id"\I(Bp1XQZSIѻK<ر]`00|11MV. V.j1jZ\pkU †kq`QG + +AQ2 2uѤ!Goʜ0CX N0"7\zv'd-zmLYhJ`ȌK^R$xI3Э,3+2PTNdJX8f膌"EVFt+ uBgQj2ˈ<*H*o_X*tbTA͊tn@b$nT})1QD42̿hyz=Ji9姂r" f@߬r~/` kd &p,`TNL"y{AVϯ#`D+q~a*K/ +Em~gW &Eٟ+ܡ̎"x[LcؠkDVw|Z0%I?O3+ gcYۍ> , g* +,ۀHFC%]DW*V7Xg 1rSi),!M8rtEN:ɚ_o3iZHyBG&}"-XS"}"-|X~Bg|\NE`hK\'"sZZh d?I-D$#jNnˣ}m#^ uR*\T8RtcC-h GVw!Oە[kq:轴"y"s'S4{n/ނLK%vD}kDDo;hCdg|sT*IqR! !1nȖd|e俈l#{PyW~F# +r@ÈAN\=d"Y0}"**~Y4}4/YD_L VdpK=#!Ko&2\?|s܉#\_3! +kIW@ 7sO+~qN =hةmbg32p.Z0;`m߲cd;W%~|F\ 4@ZAI n9I'vfl` \nN#wxm[ժ |ȃD򕨀 iz%.A8E}Z!UGBy-h5'-@OIˮPP[c@sJBSU0RH e-Di&^,,tǔ+*X#ΑpC3}T3e9g%ȇn4 _fD/Hpdk׺*9_5l|]4.H̴ ^42tӌKig֭mB!N؎6sbA8{Lz{P< +ɝaU RX)ZN /]9W9!Ld,1ӂWPVURI $s'8+`=M?mN*8y4zB3Y }?Ǐv,@-y?Z 0`v7xɭ';.3g6,nh٦ÒՖxQy2,?kțD?UECߛ>x$ĩsڶ$I]G2d"ALeЄMu~k{F9A=wܽ& #N*jf~935Ƌ Kl3vEv"Lxjt)wM5g~<#WQW3Rt6h: G-–| e<0+v'`a> uꑑ72&%4m4%M2|LJ*ZW0jN@y}Zˆ*#(}(6ދHOv *^"^qJ˰"}J֎*pWوH4V'b]_|UJP U +J;\ГpIcvu8`CPv֍ EAJ/(}Xܡ#?*%l~pPl{Zx_a8CdMD&SC',=JUIN姅i*gCB×r~LNǿJ>X (W4t-jpidHq|%ML?Б*1,qrA#)B',4۸6iͫHhjije8#(P8ؕ;w]8GUfkg2rS,LV/NXU kq6%k O[o X6i3"R2ܸd%:u2H;Ol{\ :hD,m[W E Nr,R[׷ 8ʪA'ߙ.j@q?*v7ώhK!Ұbz(!3&X^| } P2$-KUXJ߽X*6ac\N;X/.o6TE[(0~N[,5'W&!-ЊV,dG NI/D'f +vw~(j$RI⇦i~ +m2fr>Bsy+qlbH/ b +ORsx?|{A/-NuDŽ Xn_ ڶ=xx^!{+un@P%l|{e݄ eQCmK)NPeV6Md~h檲]|_Y3kȈؼ] ξke kAp }k8ŁwOrJ_ +l`>ɷ䓶cA4PQ6O-Q4?+iYZt8*D(z)!'aC>,1j'+ҼMzV IHcdF%x@L؈VRШDO%>-?fv-V+ 1o2/CGoO/eNm@3vt nN${uu;.E}*(gd *3 ,_ߕ ZvbP/?{%wׅ/ 9DA:G$x6L& ۯwʲL8򭤓3[ ru-e_τό@ºԶXX7dzvNv!gH?-#lߝ (#?g662i­bGY[h{l(j|i(ߤvZ>^zJSt?<W9R5MRyq.ED-Eݻf}4UIf?饢zN%p+ET̔90j(%e˅0cClLZPte\ o\@w;B+U)KOʨB%2LƖX蝱h\:eYVBQC!Pu%z׽^p Ei +i^VhET(yAg,vV t{ʥTbMF? +ʙ&-l: +F]&be휤~hLF^ Rf@œnbH4 +xO+U:3M7I/c"ch; "` +EdFeyU^eAwzkXԃ4f +T- g#E2]%*ROk}`F HH2uhd4(}}-_[Y"ܪ K.tE`RLE5^`OE ˶&϶}2ߘ4n+O@8RݘZ6}B| " "ߜ\Jv$Ɉ勞9ʔ "5-0gGFAdjᅤ +rDu2::@"3fNp+ +v'*$;52@!ȓ\KG49 +~JWx} B9DRVqP佴L.H`h :G(d%1c66pI,lci"{my 1~SeludwPI ʥI΅ctT49$MӾh@]D͜GB찦lj 8ͫyC{lE x^{3S'7$,5&k)d["zFJV4l=+y#'DTGvb|K)\?:zwa]8?{UPSM6)}C |Nj(edd}ϬVst2ϱT:o +JJ| +*Ӷ"&uamʷ08 V$XG` k`O,hv>7o$)[iڗo{RM]'G_ L>1[~xl[+/tpSdcGJe=wݑ5  ?E@YzE <Ĵq&_HTA<#!҃_lgG;tT'&kW.Qvkӟ X]bQ1 'HHrU,Ϲ$I׈#8ձ +MX{f,üFey4CkTh~r8HK B?!-:ٛ0w +K ӓ.T kEReCkmÐE+ S^,CpHoc70v:HَKAZqT:9◈N+Y,T ~ ,J[d##av+YA, `OW)qO;AM#VrEi#KMy?zL{B؈%y ?g @)f=CnufbD{8GBx1/?/_Ȭuy%;.&#O|q0*H_ƋmWKfʿfV[|\_NrJGWBо7Ϩ)#|&=J/#;C~I}W_m=Ǹ6ȇ 8vr'v=G@8R?[6Ξ#mf![d.hOF}9IrS|^f==>qelNUk;ް>4#WJG-n-l܁k/7#>BdYq q|@9j+yt')J[?a` fLҳ bw)R" f?X(@U[U`*V5t'^?OU&.`*~(u v`dc#7)'oZ,(5Cd3kvN:QKj)>%bk +P94u>[V!z:ԱG}i:[R4~4)1Kr*^JL(nHy$E:R +.*{,=7E?-bHݨDjF.`˚@b~rDEu Q"f#ېfNd7oۚ`ouSsC/P :MB0Ʋ=bqD1~=ba<ߐĴxWJHk-/\JIㅥ2_x!VT +Q7;FHŊ!V 'g$-֤DW>lB& Ŝ)L-',l W~@k)`M%!1H= R2PT~HAj*Dxb_mO~0A3:#yȻM.]>sdx$9Z2 c\dc~(Ƚu4AYB{ >7W/+/b|.TYz٢ ;HB0#ӹZ}qHZ2WrCv\2m5T6$\⩃"Úܯ2E`G*|gtW9>yl3az0rߥ9|A^kq+Ak<j1^RP] ^cBu?o 5zZIAmG& +~O~d~dܿ{T~Q>ؿz^M:)զkBaPԊ-Yx__5"h矹 Gqy>y[(vC"ק!:5YUA8nP%.:EQ# XJ/%rTtxAZW#c (>幐˜cVbw7<=#2ҽ sk2ʿ<̾UGdWsg]9vkX|j?Jf@N$X^~{!?$^`50DHQteh?2_`/p(BQ"؆7/XrzAE-)QL@P]W=_m+#&-DQ߹c=X9[,_uյЇxy:R3$KJU5t +%L\Q?X L=LYj7%ұDbj$7F3Pz?<mF1$mDOe-Wyd{9`_m!-8*\yi 5V;FǶ:N0+q`)–aM0ГhX#҈v}y'Kivq$vldVezH%[ft:j$䅱-&]U>+%jEJ(zD eP;kDeZJ(> DB aECJ mM)2+#$N c)7ׁdEB(hud+6 +=酲Ul%S%Em +|#oa,uD(moz+ViW&OO]Vi dV)haxa]YvTt'c_OM(T-@OِhJCvmZuP̨4U%Ԁ\:9LCZw7g 罉]έ[΢+"cm7:ZOG3a&?b\=b5m|b"jG{%U@2 DES  J' KR^x^@1 o[;~Ȱl~II@VOh0 M\ea. E!O?,lBٶ o !Y/044 r~RJ{g@P/e ^{ݹr%dWk9?ԇ\UX;_CRPEg7IAyc.;_bIֵ͆r{'D:iѠf͕yBYE}WD@x UzM[z5׺~w(–{Tʚ\T-G LkXu_!lz8!dF3 $a9pG8sPh2Mn HPҥ4T?JK0{[%*V4Ԡw/2Ă_ZԀ"򡩼@hY7&B^\YX;sϕCR_Ʊ^zIM5t +ōYJթ/Aumc޲6Ītr=-WCQVgfKQ:kM:G-3wA}ecw.-B"zC#]kM +J{cѶ7Dk+ב'ekpEIDW{|(7d+[ A}Z UsWZW]Nw!ʛH3D +>}4wkJ%d|i|JAH=> =^C]:%dǎq}RM+Fe )G[B%TQ-ŧ~SSB ZIʷŧ[ M2xŧlJnR)_)| /#>;JvM5IMpC6X-[Ɔ](eJHg,;ƲaQ-3$N,[8Zj? F`@dW}Y)^jQ PD7[nA_Al |$y:)#VXNd e + ly('#x0߯j$ye(u&Ɔ., V}I<˯I%SՒ4-r3P\9) !< iKp6|))Hd'jƒF]><[hG5Kɷp t"JzbB&-m? /  6lɈ呗ؐ8y3IgO(H[bE{ɸ@<ۯpg8PqxJBp }5W85 (%>h/iN-Έe6 |AP@i6lqlg2CG;*'{ixyˑ>heP  K~`!gOc)R߾փl% b#{mBd ,R_Ek"pv-0EC,a㒧30[FD8OW̜ĢCXsivE, Zj'ڹvi81YY`!:B/gMn̡53t^%A +JhXsMIT޹n"QN-N }vHh0Ó^2HCqˡD! lHE4b)!'7!(.4upMZ:! ݜCdk6$NRԆh6"^BŦr]q$⯢J0-pY=?sçgQZ6& $Q \X>x] +<=4I%h)Mw{#EAh pA~DpN-=9u=ҜW.?@JCݙ3l+Gk)Q2ܖO=VYɧ\e +Iw6N A7jV77Ŗ4V-O[KĽ 9la8A 5!+@&%zf'j6CP-_Py'z:0(# -όXό +ްaحSu,RKbZ]ஒ\r)xz +AT0=3P'|E٪͙Q#%ǿcszm_ʖg>M@y}s̫)Mcs|tz]{u,Gl;6; +t.<Ǹ̊!vcR|UrD$k)ޣ#RxV鉖  p<׿&§ޏ6 />hs6|2^mQm)O=!Ame+|.,5 8j<0iBS߿ yӗ*Ѫ‰[?;Q_#fYL?i ׯ-}}}܋ +endstream +endobj +386 0 obj +<< +/Author (Werner Messinger) +/CreationDate (D:20100305103803+01'00') +/Creator (Adobe Illustrator\(R\) X) +/ModDate (D:20100305103850+01'00') +/Producer (Acrobat Distiller 9.3.0 \(Windows\)) +/Title (Bosch_4C_M.eps) +>> +endobj +387 0 obj +[/ICCBased 393 0 R] +endobj +388 0 obj +<< +/BG2 /Default +/HT /Default +/OP false +/OPM 1 +/SA false +/SM 0.02 +/Type /ExtGState +/UCR2 /Default +/op false +>> +endobj +389 0 obj +<< +/BG2 /Default +/HT /Default +/OP true +/OPM 1 +/SA false +/SM 0.02 +/Type /ExtGState +/UCR2 /Default +/op true +>> +endobj +390 0 obj +<< +/BG2 /Default +/HT /Default +/OP true +/OPM 1 +/SA true +/SM 0.02 +/Type /ExtGState +/UCR2 /Default +/op true +>> +endobj +391 0 obj +<< +/BG2 /Default +/HT /Default +/OP false +/OPM 1 +/SA true +/SM 0.02 +/Type /ExtGState +/UCR2 /Default +/op false +>> +endobj +392 0 obj +<< +/ColorSpace 387 0 R +/Coords [ 0 0 0 0 0 1] +/Extend [ true false] +/Function 394 0 R +/ShadingType 3 +>> +endobj +393 0 obj +<< +/Alternate /DeviceRGB +/Filter /FlateDecode +/Length 2597 +/N 3 +>> +stream +hޜwTTϽwz0z.0. Qf Ml@DEHb!(`HPb0dFJ|yyǽgs{.$O./ 'z8WGбx0Y驾A@$/7z HeOOҬT_lN:K"N3"$F/JPrb[䥟}Qd[Sl1x{#bG\NoX3I[ql2$ 8xtrp/8 pCfq.Knjm͠{r28?.)ɩL^6g,qm"[Z[Z~Q7%" +3R`̊j[~: w!$E}kyhyRm333: }=#vʉe +tqX)I)B>== <8Xȉ9yP:8p΍Lg kk Ѐ$t!0V87`ɀ2A. +@JPA#h'@8 .: ``a!2D!UH 2 dA>P ECqB**Z:]B=h~L2  5pN:|ó@ QC !H,G6 H9R ]H/r Aw( Q(OTJCm@*QGQ-(j MF+ 6h/*t:].G7Зw7 Xa<1:L1s3bXyeb~19 vGĩp+5qy^ oó|= ?'Htv`Ba3BDxHxE$Չ"XAP44077&9$An0;T2421t.54ld+s;# V]=iY9FgM֚k&=%Ō:nc1gcbcfX.}lGv{c)LŖN퉛w/p+/<j$.$%&㒣OdxTԂԑ4i3|o~C:&S@L u[Uo3C3OfIgwdO|;W-wsz 17jl8c͉̈́3+{%lKWr[ $ +llGmnacOkE&EEY׾2⫅;K,KhtiN=e²{^-_V^Oo§s]?TWީrjVQ=w}`嚢zԶiו8>k׍ + E  [ly邟~_Y53rW򯎼^{7so}x>|쇊z>yz +endstream +endobj +394 0 obj +<< +/BitsPerSample 8 +/Decode [ 0 1 0 1 0 1] +/Domain [ 0 1] +/Encode [ 0 255] +/Filter /FlateDecode +/FunctionType 0 +/Length 430 +/Range [ 0 1 0 1 0 1] +/Size [ 256] +>> +stream +h޴i3Baǿ5e +mBnN5-*QDRZM;JC8f /^=y9V_xk/On/ZϽ<6ht~xjך-Q/Tk7"[~HJ }3Ov‚22V84.<4sBYxل)0kM0X+5Ð[CzWamfkDjt&Ds9 sl_?-.,yBQ0$h:x %TĂDy(VkeQ!5E* +endstream +endobj +384 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +222 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 395 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +221 0 obj << +/Type /XObject +/Subtype /Form +/FormType 1 +/PTEX.FileName (C:/Server_Workspace_Releases/20_Documents/20_Documentation/texmfbosch/tex/generic/images/bosch/CD2016Graphics/Bosch-Supergraphic.pdf) +/PTEX.PageNumber 1 +/PTEX.InfoDict 397 0 R +/BBox [0 0 1190.553 504.566] +/Resources << +/ColorSpace << +/Cs6 398 0 R +>>/ExtGState << +/GS1 399 0 R +>>/ProcSet [ /PDF ] +/Properties << +/MC1 400 0 R +>>/Shading << +/Sh1 401 0 R +/Sh10 402 0 R +/Sh11 403 0 R +/Sh12 404 0 R +/Sh13 405 0 R +/Sh2 406 0 R +/Sh3 407 0 R +/Sh4 408 0 R +/Sh5 409 0 R +/Sh6 410 0 R +/Sh7 411 0 R +/Sh8 412 0 R +/Sh9 413 0 R +>>>> +/Length 1596 +/Filter /FlateDecode +>> +stream +hęK7 } +]4zdEpI.UMz íR?䧏\}y,˟1Hs6%m7arѦ__/~z]7mNb"e/b~{UV5vX䭯\o/ļ~3/Wkњ %3~Zufb[8ٖ66%g+qwVlriwzμ\bYDl:Zlo?|1CƼIcR&\Y:gm;Mt0 :E{(66^7|?7[ClН]LP&L92}.I}=fs}56 PHP3Ȥ&V|X??2$Yt*l fU!Ve?EHH`e>y(qGTq6 + }>RvRІRo7Vczƀ퐱Eo!X =dDlۛ8ivS|ʧ|w[UyͥnYz;]3òvñU +UL:e[+dmAAMa17h{`U0]+"-\\-@{  -P!(ݠp}htEYcl'dk@RyDEG* X^tZRD[w*Nl.&VQb]zi-٘-"˦E] d-O'Ӫ陕lVͱ(GOI}˘YJQKz hFȡIѧnrN8l={gS#8tn vy0<=:۳t}C)eIi׽[(|5*iZV 7 O^ ,GO2Ϫb+$Hmjl@qf%c1ӣqb H!ԕ˫Jb&x_ޡ +fPC?FJA5UA6LI@ Zݤ|5J3+֬MRN;*<?y/@tV ښ6 +$CWo4` _IO,4$0,Scrx_C. ( +@ +K: +@@=G) Ն|-?gr +Iwg-H"xdKۥ#G0':P ~q稪e8aUK8U TXLPyiЭ(SvĎ2OR#k%̔w-~3ZѠsZPg:n|Wmӥx{:[cA oMVr. o]@m]aعG뻸ɻG~9ϑ.hs_w`BaHߴǮšE>A\Oƽ .'ULt@jI-2ZЎE,Z$eAx&iiBx1=ѡ%mo{so +$Ak`i&n\; S9]P>@Ɓ#Jѣv9ᩃ[g]KG\7r7*(YM`+ +endstream +endobj +397 0 obj +<< +/Author (Freelancer) +/CreationDate (D:20160518202519+02'00') +/Creator (Adobe Illustrator CC 2015 \(Macintosh\)) +/ModDate (D:20160518202528+02'00') +/Producer (Acrobat Distiller 10.1.16 \(Windows\)) +/Title (Bosch-Supergraphic-CMYK) +>> +endobj +398 0 obj +[/ICCBased 414 0 R] +endobj +399 0 obj +<< +/BG2 /Default +/HT /Default +/OP false +/OPM 1 +/SA false +/SM 0.02 +/Type /ExtGState +/UCR2 /Default +/op false +>> +endobj +400 0 obj +<< +>> +endobj +401 0 obj +<< +/ColorSpace 398 0 R +/Coords [ 0 0 1 0] +/Extend [ true true] +/Function 415 0 R +/ShadingType 2 +>> +endobj +402 0 obj +<< +/ColorSpace 398 0 R +/Coords [ 0 0 1 0] +/Extend [ true true] +/Function 416 0 R +/ShadingType 2 +>> +endobj +403 0 obj +<< +/ColorSpace 398 0 R +/Coords [ 0 0 1 0] +/Extend [ true true] +/Function 417 0 R +/ShadingType 2 +>> +endobj +404 0 obj +<< +/ColorSpace 398 0 R +/Coords [ 0 0 1 0] +/Extend [ true true] +/Function 418 0 R +/ShadingType 2 +>> +endobj +405 0 obj +<< +/ColorSpace 398 0 R +/Coords [ 0 0 1 0] +/Extend [ true true] +/Function 419 0 R +/ShadingType 2 +>> +endobj +406 0 obj +<< +/ColorSpace 398 0 R +/Coords [ 0 0 1 0] +/Extend [ true true] +/Function 420 0 R +/ShadingType 2 +>> +endobj +407 0 obj +<< +/ColorSpace 398 0 R +/Coords [ 0 0 1 0] +/Extend [ true true] +/Function 421 0 R +/ShadingType 2 +>> +endobj +408 0 obj +<< +/ColorSpace 398 0 R +/Coords [ 0 0 1 0] +/Extend [ true true] +/Function 422 0 R +/ShadingType 2 +>> +endobj +409 0 obj +<< +/ColorSpace 398 0 R +/Coords [ 0 0 1 0] +/Extend [ true true] +/Function 423 0 R +/ShadingType 2 +>> +endobj +410 0 obj +<< +/ColorSpace 398 0 R +/Coords [ 0 0 1 0] +/Extend [ true true] +/Function 424 0 R +/ShadingType 2 +>> +endobj +411 0 obj +<< +/ColorSpace 398 0 R +/Coords [ 0 0 1 0] +/Extend [ true true] +/Function 425 0 R +/ShadingType 2 +>> +endobj +412 0 obj +<< +/ColorSpace 398 0 R +/Coords [ 0 0 1 0] +/Extend [ true true] +/Function 426 0 R +/ShadingType 2 +>> +endobj +413 0 obj +<< +/ColorSpace 398 0 R +/Coords [ 0 0 1 0] +/Extend [ true true] +/Function 427 0 R +/ShadingType 2 +>> +endobj +414 0 obj +<< +/Alternate /DeviceRGB +/Filter /FlateDecode +/Length 2597 +/N 3 +>> +stream +hޜwTTϽwz0z.0. Qf Ml@DEHb!(`HPb0dFJ|yyǽgs{.$O./ 'z8WGбx0Y驾A@$/7z HeOOҬT_lN:K"N3"$F/JPrb[䥟}Qd[Sl1x{#bG\NoX3I[ql2$ 8xtrp/8 pCfq.Knjm͠{r28?.)ɩL^6g,qm"[Z[Z~Q7%" +3R`̊j[~: w!$E}kyhyRm333: }=#vʉe +tqX)I)B>== <8Xȉ9yP:8p΍Lg kk Ѐ$t!0V87`ɀ2A. +@JPA#h'@8 .: ``a!2D!UH 2 dA>P ECqB**Z:]B=h~L2  5pN:|ó@ QC !H,G6 H9R ]H/r Aw( Q(OTJCm@*QGQ-(j MF+ 6h/*t:].G7Зw7 Xa<1:L1s3bXyeb~19 vGĩp+5qy^ oó|= ?'Htv`Ba3BDxHxE$Չ"XAP44077&9$An0;T2421t.54ld+s;# V]=iY9FgM֚k&=%Ō:nc1gcbcfX.}lGv{c)LŖN퉛w/p+/<j$.$%&㒣OdxTԂԑ4i3|o~C:&S@L u[Uo3C3OfIgwdO|;W-wsz 17jl8c͉̈́3+{%lKWr[ $ +llGmnacOkE&EEY׾2⫅;K,KhtiN=e²{^-_V^Oo§s]?TWީrjVQ=w}`嚢zԶiו8>k׍ + E  [ly邟~_Y53rW򯎼^{7so}x>|쇊z>yz +endstream +endobj +415 0 obj +<< +/BitsPerSample 8 +/Decode [ 0 1 0 1 0 1] +/Domain [ 0 1] +/Encode [ 0 255] +/Filter /FlateDecode +/FunctionType 0 +/Length 738 +/Range [ 0 1 0 1 0 1] +/Size [ 256] +>> +stream +hLORZ[[?Z| "!GQZiV*]vQD-)(S|dYbC}hh&4OFs%4GH'\z/dzbC* O$<*J):CRCldeFVg) +eEլPe,)a KpQ IgR|#$~?'²V^=U_i3{vAԀ~`72s'-L ([uxV`TbgԶɭmf.nkѵ\W GzPoF(T3,u6zJmVYkTVevjH)5uGYuйq~BnxZix&3NIM/(-1ψSX>͖;򱥍ù1M%yb{w͖*B|+[ o%0\ +$cGD 8B^gyN"F̅$mHb1RC2w5zF _D K]F+\C7^,E>}H#!Q+`Cda;£9r!8[[ +endstream +endobj +416 0 obj +<< +/BitsPerSample 8 +/Decode [ 0 1 0 1 0 1] +/Domain [ 0 1] +/Encode [ 0 255] +/Filter /FlateDecode +/FunctionType 0 +/Length 117 +/Range [ 0 1 0 1 0 1] +/Size [ 256] +>> +stream +hބ +@ѓJaKv+gƼ\c獃{x=qjCl`l梉ũ`q[_67n&=icˑ}~ +endstream +endobj +417 0 obj +<< +/BitsPerSample 8 +/Decode [ 0 1 0 1 0 1] +/Domain [ 0 1] +/Encode [ 0 255] +/Filter /FlateDecode +/FunctionType 0 +/Length 174 +/Range [ 0 1 0 1 0 1] +/Size [ 256] +>> +stream +hެI a9pH)%eIYD,of}G}ߩ?|そ/.aBISS4%3Ȃ.%< +Ye6ְ&RWhKqO_~`q^ +endstream +endobj +418 0 obj +<< +/BitsPerSample 8 +/Decode [ 0 1 0 1 0 1] +/Domain [ 0 1] +/Encode [ 0 255] +/Filter /FlateDecode +/FunctionType 0 +/Length 323 +/Range [ 0 1 0 1 0 1] +/Size [ 256] +>> +stream +hLVa1)![=G)JIDD$J*"d ]3e{^wa,`]۫c<*/C+ o + ?߁C50" 5ġqn!E$<Ғ"($()=,F*bFP1T@qHommAtIHh.!-S]bHCtϘ&Ę3}Sdh`fXVnFb/[qGiJg(*2Sa3OujsomA( +endstream +endobj +419 0 obj +<< +/BitsPerSample 8 +/Decode [ 0 1 0 1 0 1] +/Domain [ 0 1] +/Encode [ 0 255] +/Filter /FlateDecode +/FunctionType 0 +/Length 313 +/Range [ 0 1 0 1 0 1] +/Size [ 256] +>> +stream +hdVae fH)-VmB$Ify~> +stream +hċZp1)c +QJr)І6swCӣ[ L#hoC}mlfdc6BcIcGA]xc_f-td$^IR7 )K*TXJH\> +stream +h{OAa3[f5iEEtq;EB6 +/ZU^ߞ=,e<率g|-&KNJyb |#Ov< :i'}z> +stream +htW +1@U)*iNSޝ$V#ySx_r~vʼS`{.)_ WE͹p)s6‘p}%vf +1}ͦuv+?1m0 +endstream +endobj +423 0 obj +<< +/BitsPerSample 8 +/Decode [ 0 1 0 1 0 1] +/Domain [ 0 1] +/Encode [ 0 255] +/Filter /FlateDecode +/FunctionType 0 +/Length 203 +/Range [ 0 1 0 1 0 1] +/Size [ 256] +>> +stream +hތkK``"ZH(QK4?w?S{FF1t500ɦ4pͰO`Y[%4J`i3*k+[Gm8ܤ-j]=}:@ܦFhN7wsN?.OEn[q[tn}ˇQ`B +endstream +endobj +424 0 obj +<< +/BitsPerSample 8 +/Decode [ 0 1 0 1 0 1] +/Domain [ 0 1] +/Encode [ 0 255] +/Filter /FlateDecode +/FunctionType 0 +/Length 117 +/Range [ 0 1 0 1 0 1] +/Size [ 256] +>> +stream +h޴Y@ú+ *"Wl&|t'3qbFZ ݓ#^֢ +C\E31NUb3Qb/ZW;ٳI +endstream +endobj +425 0 obj +<< +/BitsPerSample 8 +/Decode [ 0 1 0 1 0 1] +/Domain [ 0 1] +/Encode [ 0 255] +/Filter /FlateDecode +/FunctionType 0 +/Length 140 +/Range [ 0 1 0 1 0 1] +/Size [ 256] +>> +stream +hތ1wXmq8i”ɶ&/O|¿MЇ ͞(b1=)2,qR`EP*JUSӎR4&9@[QG2'[ؠ`d%<`!+ +endstream +endobj +426 0 obj +<< +/BitsPerSample 8 +/Decode [ 0 1 0 1 0 1] +/Domain [ 0 1] +/Encode [ 0 255] +/Filter /FlateDecode +/FunctionType 0 +/Length 222 +/Range [ 0 1 0 1 0 1] +/Size [ 256] +>> +stream +hkoPL&Y[]K_cO紎>I> +stream +hތU@'Zo)]C8 %lyo0b<~TP^Kg(ɣZݠkXY2,ΙM`vy3хatnnm5ժ?Qx]f%ߎt +endstream +endobj +395 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +216 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 417.136 417.138] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 428 0 R +/Length 65 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ $fr.P3t !r +.\@hhV +endstream +endobj +214 0 obj << +/Type /XObject +/Subtype /Image +/Width 1600 +/Height 1600 +/BitsPerComponent 8 +/ColorSpace /DeviceRGB +/SMask 429 0 R +/Length 425911 +/Filter /FlateDecode +>> +stream +xr[i&}:gs!;f2E{cw7)eVڪ,_ ʞ=S]U< E/`t>?$w_՛?_~ӳ|\T_^__?~sr~)KeZ+*b)-+r5Ev|z~7?^>y; q4_,G3B)W*˕p\(WË+\ǥJ\m\Jz|R?;?=x{xn k}[?}׺y~|rv}w/UJQ-rPW&_ +a&ķãpr裙B1[(G&*J^ķR5gW7gӟ_׏]K|W׹RT9|0W*f{G݃ݽ͝ݍֵͭ}(vv3sbrz|]zV=<|&N^^__;~lT?=/U JP:C`+ +af{`sgoc{guckem}qem~yynaq~a)]X6zr~qiaqyqyuie5zA&7J^FWƽ/.Z?_;~wrR;OrPNb|[;k[+kK˳ SsS33S5619699_䚜ٹŅ奕ݽã\>_,븑bEwgחW7yy}|O?TœUZ?ţj(:8=7?1==619:>12>>266<]C#5GWxfl$ƣ׌kblbb|brbrjrzvjfnvn~~aqqy%;8:roR;99;I&?Z{x~_ʕr8_dV!:3;;{kKk +s SsSӣ#cC###CCpg(38и?}tphxh8ZI5:>]ɩ05f旖WV7׷wv2wR,W˵z-J ]^?3V?͗R% VQ.!]ZZ[[XZ7gjrdllh4VC8J L'wvhe  k4bML#Xӳs3ss K+!Z\݋0U, VKݞOnn墹T??X+|1_dBl199=ZC ^t]\\ +X'YŠ)<=H~uX`~Z?\Kql+V8:miPl:437?9=3>95:>1<6[ѕR@HsY.P&&&'gͭ흭ãL( +ãa(h“Y҈U]^%?ݽ_:߹w?cK\1[(e 0m/$}ŕ[M}S#cccaCp8JffU2J')P_ɫٹpQ6/KRZWN1r3Q6 ч¹gѕDXF!W +ϟ?bUŰ$av cO\Y }3Ih3llƱsVɕWTt/MÕNOvWP>>>9?«L6_{'秧Wgj/3B*jŠ#iv|}s~\?;+\(_ʄiapͅi͝ݵ[MMOıUG@{*J+M7TH}́j|rr&^-onfb)W'ggW׷׷ww7wWGˆ .̒ʵPur]IIe??ӧY\=_82;{!ZZ]_Z[Vqh=^K~sΪsU0 Qo\=$j`j(GF'BN8d0[~q_OoN/˕\[JDFVRXY~׏'a(oVQpp=< }K+ql g+kUX9ƒ`[WtTr/m҃#ãc!_\ +W{\T7//nn??ыR>dvR,ג +K-}zR}ZkaЎ2݃íݽՍյ1cC##}(=0LBfU:Y lW5Ҫx* +iUtۗdV+h+d8y052`N'W7wwI~9La==DKL͗JVoFX'jT=>hHcGD8@br-k!W!?mon/o,-c'g&F'GBH8FHhrQ|aZ_^_]?<==W_󇻇뛻Ӌr8",jZ?ilX^^?t>rRR͗+\~e:\Z]_\cɑFl5V=j՞}j/%VywOX5덣woۮ:{Î +;J]1Zc0󫱉陙յͭ$*jӓpC(rVqXfLT(Wʵ8ja-ǰ?xquoU~/sRT=0pfvw7BlHlV#;JZG62_eV*mǯLVd1ﭿ>808<42:2>>>99=ܗWFV9`};OZ;)*|!zW-“8J˕ZY?|·/RP +MMR9#'Wr>8=;71==:19[ j`0&jVz;}/Vہջ֓Oܓ d+0dkDR鮪vVq+ye)I~"x(zJ]{K#zx|}swzvQ +a2z{Kj",Ukjʟ%JJ5./f*>Cp0[ \|T\l56Vaj0PS7}V}CCoPuMXcޞVZ9L{SFU:Ә[쬋Ot%gBV\>2<2:>9553 +Q{!Tk'gg}a|x]_o\`[Vz|zys/aP?|/U2B&_HN15:>CU|TK8 +A6L[ƱUǾ><3bpH8*jD/w)!w8I{_{70Olڛ}s3ZI0|囃/h|Z@E8<:6:΅-µEɆ"J~v~'Xq~맗a=<>=D/[GB"ԚEX=zXN/~?t>||z_ \3ʄ%1q|cGi@Jw ,J'M(TjWkM[P{I?0gnP؟Jds^6Z:$pj>(rފ IffW7wb'ՂSk~z^*WR6_ʗ*'UquR#e[;E:>?e L(Wd*nomllji9OMObj`7FqPC;«$Uo{'N̪uQoa{;:oVVwNC}y"aRੁ=E866>95=7pKZ\~+! +]/.CU(aYPU?/TKQ6]~6V6WVgfgCl51<:,L77ڣV1ɄU# +R=wqBuOOaON*9L0Ӎz/NKun,6J6WSYsۇZۅR͟=)J$g+.r3X|T"뛻`%~|}ǧ7a\U1W EXq=PV?f:sr/|ތVVfBl&&ƆV遁lRg{Wۨz: + +눭U5« ۪F!n8lOwZk]٭T_U=>d:pdX"\Z]X=XG\!N/.oo#XE\|PNOk'aR;{gN_s¯Z[ro?動a kV;ql230اFLJG´U8C0V<:40I̪=2mU*\᫞{ 8.k}uT0U{y=>+nS8y^ w6Ңw,zFFF'z`"J*,>==1*ºO_E<490:=/t=*ZR{~!W*僣a!w?]]\Z]_Z[bсḏYu57PţVq {oRoװB6SV}_GWOOc؟Dd9U;tM-Jt+' ɝ=H֪jJqaۓ +8[XXZ^[ڊ" 5Xq{(r{Ea +SRuqUJ(rY4z\=.Vj׷wO?sϟ?WOr3كL.vvv׷vV7Bl<8Fprxtlhd4c7nboYZsV`*j!׭’׽UqYVo2m:1p<аAuu19ghJwD[f}Vm={gxxgo?Y!&&ffVBܣMZFۻ׏$[OoONKZ6_r\=" [O"x +?غi +j&W88 d Vˡ}mnqyjn>V3Qͭ8$j^d=׺Vt_ +zǮZVT]iFRԗ~s`xYOx>}Nbkj+Jͯ^+z7ڻVk` khxdl<"{Wַ"lP*׎gW))ry7I#|˕d"r^(U/I_}O*zR)VBi0mmlmnm.,-.MΏOMcCp[Jvy2a4VU}=nLTs9[UgB{*bfUo*ol5쌳ڋ~T_{O0׵بm``eT_wZ_J3]t_ EXkaiy5`mMZ1$VrUP,gr\R +#X'IU"O"z&#JV?ɗ*b9݋3zǾ853V`~6rE",%['a8*bzyD o:㌢R5jՈ7wV7Wg'gf1cCq{Ȭ1UDUo0aJuVZ5KiWJw_N[%O6xV`#KjdYfUqN&Ju v'W1TGUsެ>⩾tݽ{cu tN8` )ѱ陹xksk{0~}2!ۏևǧ-b9"< #X'oV?M?_׿VZāQ6͗9:nűR(ZGBx28NEс*.K l*FNȬތW]>l%eq֖b{'jb5㬞fV=&nkO쬱jEX]_Ldu +#XVTT8,ɩ啵ͭdEo/_>~1Eu$_,g\\*q"H?v>R<:QLb[MLM>$ +VI{^Pk1yh`#'z+~T%]_ŁW_#V{FT;|y( +ԛts4+ o7U{j eI:VnJ'kxtE(r;< J%D7O~x\=JIY6맕jT=c)o|r +A&w<[ +J>7>9F;[uL27GvYul5տ8"k0nӪY[' ƿYfNfzZ Ͷӽ]'u,6«Wds0].JE?WSGK}9oMv_3YlJ5w _)ᑱɰDɆz|Fno"pǐ_5>>[RC+ +j9"<9@9",U//?TeG~6Z>pl# VI{O:U{Cɪ޽]ULfU0$+)F{o1jVVIG\1)r#Xwq/_?~O|taztyuS;>--RX.UKԯSC^CӋj~fa*.cObͭ͝嵍مp`co#8Z%c?O29aVI=i|;}O @$@JVB A4ݷͭ[I{AIwUu7ug A2$9d tq`"x +:"+l pU˼bhA*L/_KQpPP~‘h"IjFyE'Ău}[noﯯo/O&Eo01Eɺܧ tdvxS @ @ xdX8I{p{dT-S\<m +T5ٌqVpW&Z7W&vV BZ܌XEu*@mq ŧ +1lHYJyìuY"]pǍF>/OΎOdzy٪J%_. # tdB̸b7-X-r?;,¯h).š/6Io0,B5Q5Η?@ @ tvqon[^?$تGVu\l2QB1!cc@8 l>v3 +'`+YQÕ`n+7/93+fBw[ v[9M?2ۮ"bBLʒ-%-J&% +NtD*Ukxd>\.U*]/Jb1J!tby6PVÃge6\+b+dk7̲T80 +a,krRp<羳wpxtrrv~qq`?="㳭=s?)BR5[&l>mH@ @ muf+b+^'}z$*c3)`"EvSl% &+$>+nڠIPvl%.a9͚-XJybWY=2 8bW'J,m Ɏw6aJ =albhrB!U[.["\ +y@dKQWwPKa, K#F/tP0fIhux=XۻG'g,Ex#ZAWqk)AXKlZ,'d!ZѧCA @ kӫ]\Vx VNٮA#W,sD:cc[[1=JҊu[ V+4պYYr.¬u}w["rJ+k;PCI@fZ&-%,YutЭT,wN//"AUŲ^4|T §TI2W>itYjxP*orY$HP8JFQ؃5-7i)+r ۻ˫ӳ |9O{}&S[nя&@ @ ˫x0̚nت{mE# Eb`[ymŘ @)MrJ\Ѻ*5(еj[ u[1eZL'ebPKQc% +Ze`5] J)r 4c( BrLgZbsrS2*|!_.qH1T0FVB$4%],W/#& qǃz:38E }k]_\,"&)흽l-Xh2'%E-X39go~zA @ INtSZ []m6+FR+lL$EP^/cg؊Zx [b6d%*u[7U73=].mXWWJّKu[EbGG.#P$"V>9<9;_nmZ*ɕr9_*eD* V AbRޮXv,+Lbl褹ȡeoؔYB7Ju^ioݿ5мIQ!,P$O$әl"Zkh:[.vwwq;z׷wwwOOW׷覽rk8dw8MfĂŊ93 @ @F[VMܬ=^; +[ZaQn+O/|v[iܴ#[^iűՆPݚ(xD`E.\9ybh&{=lRJʯUD6$۝Fp1kIr$^dEtY6*FVk4c+X{*B-e% \ɫW5yvme_*hw<^p#T:*zx~-r?; +n/nЭ;{ٲ?wC"Z Glɂ@ @ ҟ'K_VOFSlզ؊KF%_*gm +A/#Vtz 2v[&+ /e]nr-0X[Lod^lżX.^?e 9"*װwK;E bP_ҍWFĸwK2G+[`P1@,EUjNP^|j9jP[4r|̯4AR ЧONN//i WOwh Kn{Q?)ق+"-cܩx @ 9ӧOկ_Nn8ZZhZ5[U2FP6rr&WHQ:F0[vE@FY@ $p)ٲv1V.r3+%Yf hJA+!Օ+,x&tBp,{yMt6[T˕JQ7Q%[U.vA]kŪv-,~YU&.nz-\Z,D*+tRk3H >:,X̂DMGt![o0)BXp4ZG'C uX @ ׯޠzVǭVFRo1sr:x`4VPRۊ*Z9gJL{ؠIvt')"=;1x%Ӣu" )X1+LLV.+Un[V,嶛!zz E.LVbhI8Pjqg*yyv3B٨jX +#-u^ Aa؍XU.+!&Eؠ+Tw-Xb~ V`%ݨ_?M}",Xϴ|w`:)`kkJ,Xl8.v/oA @ >Ww}N^lU/W+R\" H y~;”Ɖa6SVSW\iYKƯohB7x@;GR\bb\K6reYЊjb]f;dA(+KP"nۻG'g;˭-_ y}B[~ò +z!_*udj5Yf`c5Y$^%YaoGXYVX۫(sEZI*N6f]hX +jd73Y o[1cV_w^a@Fu +#܄h拥\dfr*F WL\*r5-+Mīh-<:hh_`} X+:E8ѹ +H; ?\]ݜZ)Ig0q֔)CXŢ[~@ @ ?ǓpvNPN |%uIi5VSy畭 rgVIUf}s{WVbT.[ lRZ(HTEeY +OLWrRϜW8Bw\slHx6?:9;m;VR +8GAUō[p VtʃdJfz>OCh< +Vg0Lͭ1Ex-XOOϤwd!ZXpNRxNfG |W@ @ ϩϟ?l;hwiUXت0j"v[ӹB"a}졐74j{0@PCr|>SWfQUknwa!$v3Z%nuhdOb Wf lZM9m,yV0g%vTZ tb%ݬ%ٝZh~.\P(2:eTe._贻0~# p$z}}Jr +>Q#Q7Z4_#:.I'Szs2_]\m6V7"~2L.O&CAdz+s& *bar͗E00Ҽ^?i{">n'C )r?<>==)[ڂz]ax:YԂ5E)k@ @ ??qkv{faVMR+Hc+_@#V + H^hɕ5)ԭb+'Tp6n8YHn7}7be +UEyÃ2s(ETeի֬@)sX"f8͗J ϕ0ŽD:zb~PWb;DQ>>>:lX&P*A"DO 绥x2>^*Wz QlK$}VbQl"]o[4U6ų 5UhGO>X2Ы+U{k )ãӳ :[)z||ENфFW4E8M{8Ex}s_ @ $nhuk6fV-ƬZ't#[(xc+:FPb+TS rlE.c@RFC4HM/Gv8qHjMq]2VtvڝRٽUn.E4>QEz(`EX/ ~-rl'^^^zQˆQTR Ipwp[8x[;''%]UZz#z~Ef3o_^\7ZB\b._Hgd6~IvUZծAU)ԩEh*$'M!,$¡pX"l||rvN-XwĂ]XOO/ꆤƳEo0ip!"k @ @Z=??_.viѬ66Z1Jz6_Les[p j>a'aleO) @5P} +:6lQA6IPr)fOV٩abkZaPB 9dۄAa1 sd1jWd.WA,K"T?|0uGguX?>Ɠz=j.J +‡EoA<N&BdT +e흞_|a rPJrxpƣt`Q "JlWӥj-jOz|~I03\WZƳI"wBk&NN,t2R#"Mf}@ @ lj Ge:[ 'S2=%&>2#%a"R`EbiV MVMVB>4P0V~+& t[RvĬ*beᬕ$śxda+sd WRr% KRCB_z:ʉL>M$n鴛ǭT.W2 Zc'UW0M,ӎEᒕC :nFfRRMfFfe2B2>@&׳S|"EL݋%v%)[+ + `YhiE2".r/tlw{d\nnEWȝ"||~z.ᘤYs:w?O?6 @ {Ox非p~WZ+VlUcvQ*p4F)|0]C,!2ZrVtbI,faL]l9Op͖tIJ~ny7AM2Yb\nENh>e'ss4p10e%=U⼡y_l.m#Mg B!dWZ#Ы\dMч1!Lf :&IM 'e='Rh<%E`PI& **Β-+=oc<9();HYZ1|CK‘h"拥Q7[ٟHp?\^]Il!FX/Ϸwd ]2p4 dS?1_; @ _F3;UMjcZQ䊥L>dcT( lz)m c+me!Rf% }VV2Sp"q]p@іx.9٬C{uJ-Ӕl †AKu)W̓)%TBە݊:d1ZVkonssRG.KQ7ܮd&CFH;(*(e__rϯ6" +B!ϘFNV1((d-p-4i +GUʛ:wji x4EDddEH|xtrvvyyEB W`Q-º:<կEx)2UzT=8Jy,Z(sZez؄W+5ë/Nw$EC{zۻr0}TKJ8W^NfR&x2+n`84u-XU{ t+#ke7֎e/(V owW4T(kMh"w|~ D,Xh|_G @ xׯΗMzvlU/W~>v2F$M1a!(N4xT6ĮujU[c6XU"U@1f咄"̺uII73(]Xs%KZ%6p\]xЩK3xw|{g?:qq҂,gS'Zi׿?o]z&+W*/7Q2fTfbj\!Y)bKћ$Exu}ܤ)V8d w^€BP[>Ȼ99{h 9AMS4hBV|Xy P b Jzx:on +rg绻ۓm"2ń ,2p>ij@ @ x+nnwѯvB6V+U]X2'[W1)"m!A*Zh6:sX٣\m8pG#sZ+4%vU+Xrva[LIQBH=8<>;?:=l.e +f3Lq:U^~4TljtJn.% H5¬ޯjZg øv[Z*Jvl)ٓ*7YVA-DZ߭Bjrl$2 p< GzXs -ŦqeвXwnwE?~D $:%)H\]ߌ&LCRE G4^]e[LY|K+\L>0^o$WoVx!~;$${XEH,X[ĂEx -z@ @ צ[ hlu~%تY!}:c/3B2&RX<jYQle]rq[arRNJubޯ[[ E +=Z4ȉ(IaJR&nAfRxlWtJ&Œe2#V:\'f*-LrL&W*B /?{P4N-xLuC oB+v`OsR4|Ģ,c6N{}sS@1YzKn\0 +sţ?=-Xa]ݠ}7EDLHp2[ N7@ ~IتuFSouЏn +#HU:1kȳ #&ʴZeV Vk+zoi* PӑʹҾ.$$c9J`S݅r,GJTA{ǻ[K2S~.;|[;2[, #_*j%O"*W%]V{p:+0ĐM& [JxDX7LnSL\^2Z-nn>AXU$GX$x:w,s*EO[TJ5W,b+ĥ% }ОLR'ÓM\k? s-\"bX5E\nvY-ND{ii` +m؊D? X`_ ltd*`gAlS%ّ׷zYoDn=TiϥJםL.rz^ob0ʕJ: 12ί/t9zOcɤ۬s)o-X4o-;R=<>XrzǓ5!X*mNzu-}VO/{dJT˸>i4E(3&C-U\MgGgW[;=Jҙ,Vј?<wbf>RPl*+Y]-\jP8'LWz Fl3/nnop+CXO/8ExsvݟSJYSt]N@ @ _~Yr6j]k)2j VG? e`\<p 1nT۽!԰@mViWHݺUnuZ_[_$n {I4euXq%YW ^7+ˠE\NfCm"&;ݫYɮ !cyc( A+B(r0]+ƻ{%@ND}@0jK^5ƳyqB5P.w|> _S+/fyQKRocq9Ye>)Rw;>h +$Eh_(mW $kL.hwn߯5[Z=Wd(V+6ۚu%E0Bv;bE'$O\+b, \YQAMPRĴ,RyY$Kw]l~oN:P-@Rh+N3 @7䊸 ut@EnJ$S}ģ z0p<4@=[u)b+YB,})t=}wzgJR+Z|~VobB[ ]ln~HFZK +@xsVr~kgzV'6cg53f +Mes ERtd\k +PXS5j,E +$E5X:z߮?ij7wvp;`p +wa=>>'m<\r0iZ(šGt@ @^z~MШ7*V&e uAd I{#Tx :6VfB!Eo0Z YBPN'#VȒ-UQg⫒v(Lap4r7Xn_5ZJR2h7ŏe$xvάޖ\ٺ5M@U+,fRI^zp`\MX8EΐQ*zhcx1>~j !*csI\ZW%s]MnAYA,EݱtaaD |\ I0Jsta|^#`!zwx}}{rz;zQ?DwG,x:-&Ϳ!@ e MFZ+ujuWR&O1ݏ1$U`r:iI2ǔB&~N[Vv|dL$%1$ "MVɩqr )i-[~%y0PKjAtdeS6*t +T*/K|+x)tjPf[ H5B97>tj^,%+ a@DZ,䊥rs0ךmZS͢*TtqyQmTЫ{l= n|~j)_*S"IT_EȘJ[O :ij R)ˣGE]G9Dc`8(Qt+֌BίIjgXAUh1STV~*b̊+CԈ P4tkV{fKb::>;?Ew|z~y|zF/.N^辝h0Y)`ao8^ln N>!@ ׯ;{W/p {0ZjXc3D"]kc+7ZXY}usڰl"1@ +X[̛bvjʁYP"NS2E[َ. @!E()49hbJ5K9XP~XtUz$SX"ch't6nŶ(Fӹ|0=0F E.* +Sz~럝_K8ȽZ8Ehv,0/%JvmvzlW,Kc4Cϳ?4j}|zzzv˨ŨЩ`PP%+E<ϯ{Rh.Fb1ռ>%;Rx2\ifAq;me llSk],X ,X<!.rF}r,"/q N^XpMF,d:O!E@ @Ӌ k^ln۝Zmb+jdd d&Kfx cn+smrV+ėfVru\QBE~X_L\9ޓ耸t[ȕd>"2TN +' +YD[.V.\1%+-VU;-HGgFj}kwp<T*[(c[:YQCl8]fm~-rFOJp {f]&rh<%8zJ%Z+es9J +e[l4Id%_Q?@ {{=7˯XSHÇv;H;zJp[d +&"f cL&N#zQJbY0/}`0Ee,\tl=XGǧW׬ZՍ"# `MKsx}OOoN@ 3HlbGFhت.Wje8!hT01Je0u=P(2 sXKa8Zn`5Ʋ̛6ޛNu'bJ-[D'Y̍Rb;K&Yl(eRbCmق-6H[uOhh\^\^_^ߌ\Mijb6KBS LRqZMVzP\y]׫f : +拳LP6*$EX O˪"=nI#E]/lvo>-n=U\xtaĒ痗~;G%z/.ONWda*S^LYoGGp-9l@[\l:LPn+B04Yq2ZBT+f!,0ΐL*Ld:[nmsv>]7wOO.!biEp[i6Jp^_ipB,"Weѝ;m7)v ?3H,Œ^5ZlQ `3N~D rx=9;Gw15ᒦd`<;>>E_h:@ @ ?īm?luwn$ +[Fsyױ?ʋeXn+t\n|VN X**bL@bZc,!ȬV?lTlv;l5Vfϕ[QAP{eH XᗳjklSrizs ]ٴ~X(K8W,l+jf2|׵A̅YdFDu:36LwwI Q(`gwo0..|Ű*X|P*I VRMfϯYV˺y_%Lk2)tapW'Ln|wI5C͇ jH G?f y:ѨVfedH+YYc QA} ķIJ~о'Y*v7[G4wQ#0 %xkbx2Ίk2],vNN//onU@XO/4Ext|gƽx8,|s<]h<_l"~ ZA @ Oۻ;˗znݫ5zqU^T e=W,x:'/b0dܭN9pLE Wm%.[mZZ۰[awUYn(bYܼ$W[7VqH.Erm%٢8l;SSy twr†Wb)sE8 [[ CG2VXV}xtڛ̠mD ieg-U99=Kr%R.J0heRxߔLHP* +zBŲœ)И7wZ9[(3%LҙV~P}:Oi:jXx *7,kU $*dJ۴4(˵BDyѐ !T^EWaqa`q{jB}8-61:<>=x|z~y~yFX-2pYrf"xs{}:}@ @ vׯ_fw0lvh!A4L`+\F"` _d Gk +[qTEsRaZtt[ M,gBwl "n+RuFVMm@X@{lW0Prʲxb"$pSZ2+ȭkN':ۻ{f3O N^o U,V +mJngg\t2?h4[d%1?qU7d׫%o >_qHЫHe%(r&IX7ͻP$FseWt=X"OA?˧sX"Lg±_S  i[xM#/]}bݺmП7dJz\5eHіBGj" EhCڨ4ʄVv78KYjb ;7YjJ,U&(lz\Y M0 +[(J EO,X؃uܟD 'Vuxu}KS8-8)'k1 Z)_w/@ Q}A~T{FSou*&dǓ1*U%Rc L6Jc@( =>?Vо&VlK2Ip[QT&5^ 9w1p q[]ͣfR,`n?8^,iw0)BRg nK@ @g$_.[vlWjIV8!XTI<1d`+l7I3`nnNջ+ģ_2_qU Klw* +x[*T]3=Jc#0X^?܃!Z'\NpOrk{wc D+oOΖd!M"b1-XˏO@ @H"&Ш֫V4p%;. -R|<X ф -, + yHګ.9l khXꭸj(z7_Ojwaq AAY+ʣ2\$ff*|TVvm1k}v~y$W*eev[)BU[ByѨIe%лƧ Z+~4ad xwpvqPkءݽ?ǿ?3矿|O$ם.UeU` gtRի=Q +B'th|ATK:e]V*|Vy% >yPwU)+ + ., z[%2vMtOЖ-PQ)>M-dsF!H1Wd.2CP8F`;:Η[;掤"?ǧk/[ݻ7'lI)Z|9@ @ ^VV뗫JQa!zcjVx`2'/6v>=o^C-ϕSuUM\MY1 \)+-FD/]AgƨqK78EK?xEF:9:@FɴqkX Dbv+`[Si_ h- +X˒K,a #JEVKLcf7o%uuO[c9>A?|C4](y!T )ݪɢAkU~E,X²AYa<0H1Wk2/vH%I?<=>=?A>~`ޟ_KlYk4p5vށk@ kͭN?ЉɊajCL⸏bSFL[Z9]l YY.:)N9 V{ZGW*Z~ݷ n :AMtfګJdYde[OC"ȹҸ.[ Wv"mJqJo' +-Xo;e Tɀڒ^ceH0]A\\T0HRMᎩin)kKP-Oo_?6LPԍlH"X0nF#@(I&[, s74nYMYDbN8]:`9=`8FD:+/f Qp9x#q 7!D׏O/˫ãdA +J.B"Muʑ#G9rȑ#GM۷l gf\k+R zJ%Sh +È\|Ame+xxϾPWˈǾxoaKUrn%j$ث%\&H%j~2 +-ZmbU!Rqf*ƎAF,*m8LKalmNET,]TT"I | ?/c0?8D*iw;eRRt>fl: ÎHrsX^2\5Kz ՝.pA#Yg9<*z&C!Ǫ +^W +sDtEArGMϋ] +Vlh톾H# +Ut&L?I,X ~g)PB砹) ï +i'[DW ܽ UzǓ3 r)Bhz1-X n<;?GxAX(E%x:]_e/b59rȑ#G9r+nw0MVTlU [ "LJBY 3\a!hN'C #\ =-d ,?Sʬ d26>Ḫ[UE{vLҹ̠tp 5LSX' CZ(G A;, Dw}fBQJNׯ_*dR\$a$0a 5ONI|M$ be]yxx)Xcw"f5 jbWlQJ]dZth<#OIҹlbNiW W,;{׷o>_|o_}_ON+СԤFi%:NEVd#^r,'h8݆\^/ H4 Jt}sgbϯu~|O|{go+,u*ĶY5lZHv(X!;V98$ȳ2D-D +'(&]!ACǛ"hnje36Ţw:8R7e+<\7(Es:T)sv/IPrؾbœۻx*CLh(L``,< EKхxVL#=Cmb7̻œܡp?MZ-R]VE"Ii"j~+J?觊jN*PAa`6O.o/ƓIo0,+/M,^[x2~x|o;=; +:BkXU3W~3X Sp4`Ǐw9rȑ#G9ruu4lAR-Vjx\>DPCpCHlBDtAn+jqTp>uSA +VV~֗I !8 wQbʂvNM,U`eV M[3 ~ Yt.4OPIWH *qS ߤ:,/onmolm'! N/!# dI=Nb*Xѡ?.T*|a2hSƊ7[r+BVj^e_q:Ď(ݚS*Gg&. tVxa#ד?*tkwokgj'St&[(˕rZeR)E/+FcL6R0 QT2]jEK םnG*E.3H .7|`  d:CV@pt +AOψ?HX(Ep~qS0E8o Xr9rȑ#G9r˜V'v@THʕ| xVrzxgllnerL>Ld8+}AչJAf $9.j#KXs\PLÉN'֛d6N!>/X|1[(l +bX*`JBǛCPxs%,+4x;Lf;;ҬHpen`8"x+hcOxy{S7''ۻ:")l,X;9rȑ#G9r o߿WIa V!D`jl,F;n2)1 0Mf+D+;Z@Ve BMܾxx/l߂."7q>JSfдT{ T33U2|žNXٮ}8ƉWLR- +؜إjf*Pd+E\X`Eb}cZ\9P,{ē)͌ +*d[&>R-w!?|9Kbpzׯ]\ncs+L9.'{>{v݊g[†v3VY+}̻aҙ\GZ=W(UJL.K"x0^L&_,=ȎUTT;={|Ec1d, R NW;ȑޅ VtBr7:Qɣ !\t6|zd,r{xxB7Sv>?^]p< F``JXӍ!LN`4qs|m_9rȑ#G9r_W^jViu{FRGMlU(WR:_HdmE?5Pf:g2Zhv[ 3@P_T%%d_&q%,a;x,P3涢 TfRyѸ,)BTy +]fW :/pqy@Z۱,n瓆 {E3QL@-B5EݟfT+KB!<^05"LIX qd&S(Wҹ\՚o8=2:'Cq@gT4 }3aJ'uuצtNR;A…-QgP +2|jvd©4|Q`"k"D:+ yЋU hW.08̗W,E((ZrB <`)Xj&_BBe.⒃*]ezhCGDZDXēl\"Q89UܑYH(`5 jYDkSV=l;],W,Wn0-T!בĄ^]M`$SeȂJ,BlnכmalWN/d)Bf"]VpNqy|9a,a`\4ol^@=O@Xo7g[;{8E  /a.^\^9rȑ#G9rםGQ0,vRoTj DeKP2D*!{5mH,y8sD+E WKaYM~1WpVkP# +Vv:Bo +إ.,ad"Zi\oN6^bB>_+͔XjE'Uc&+q'1((z#xVǝ Wx2FaWêJʥ`u:ǶBW };*CjDX2qsw +1KvodQ@\3Fls")2 FZ GnATZtr=l"DwLr#)p$%R\< HroTN/o1Yrwpyy}px  !j d:Mzrȑ#G9rȑ/0e07RVm4KU,[U1=[(x:'XN(4h?N8g)ѝQqm>0!HS\PT4a6lE3Uٷ4M3tkg7N#__T#/RJJ3l|Tih2?>ܮ4`@2CNK4EbOsR**sw rFW5E,CGβ,,)B(U Ƚ?])JxϏ?* +8$X(C;哰F0@Ѕe+䂠bML +bxv"[ajumy VS+,<$'DmWPԂ&+#jm"ec-K3 W|uiUmngҭP,1Gx;T9 +,eV2gMy +\Qŗe[\ Z\riSv*jՊj%:T6  ㇦>Fb7[u7hڳӋ˛RT +a`jIeǚ!h8QUΩEJnO4X9>c(+ +~-@(.UսRf#fx :PNT",G._<=NPªCT[^TJ^ć̓NS^9 + Y; 0 XVBVAcTExs_^ސ W_'zqy 7I?g)"G`_׷E9rȑ#G9rϧϟ?~7ZfPr^B +ea`!F51X# !bj WNsA ESujgr9^*W _6x^r8 NDV+ <(vZ\^Y0ƓLh2?<>9 whB w_}3"|z{8C)t?#cE8% d%,u +T}&hȑ#G9rȑ#Q$V_~ ǵfe!XJm)@;8'h VF؝`#sS9MAmX*&\2_V*E*,eJ²*DT y Bn$'xG +2:ܨ*³U]d.DH+ŘWfϠX)38+Ԭ={AAPM +]g@-a\X‘ ^p4$3Ђ+* +STX)hw/nJj& +}  KAbzҭ>ye]W9HYR+F +bA"6h`ɺ@އ2_JFCי&+$+$EETN6BB|(JH,LDbl+b2x;tv91iLR0_K$,C`46GN ,"=99AfZ6w۽8F+-DJ[@}nv6 =??>GaI[9nUe8^ãX2Q@[TTi$|aS-XObԷ4H-X/oR, +*VUSr5JAr0 tw'5b&+Nrr*ŸPrqP$'T܇ M? DKoln`p1Y]0EPRȑ#G9rȑ#G3[k;8<8<FV!U P5)X#B䱣Ap0NId +W +!mNPVX ]YZ YؾWpmd+U느y@Ra 9:BSLKa: +m& 5"UD,[!J .@\Qn!\q=fIBSyI*îLbvasK}csk}s3[(ȂU犥_~{ w*z4GL/ ,Z|VLEbc>ԩpT:Gifs +\AC.p$l*X^8nln]\^`h*O_> +w&urzXևio4FwH9rȑ#G9r  GNByR\M )䶊ē\>"[D즂A+"JjVveW P8V6D%3!H+R݆.aLu.!HU,lb,rŪ ++w.mvEU,QH +rQhc.,Mf *EybŤ'&ZbUe.d7ꖸ-4cY,Hwν:BΥ"yR9W,x< f8Mx@<9{|zE_~Op~trO:ا`lg-Daǟ/<^֯0_}k6P9' +C: sg*+d?ery$^UʕZTi;x2;\.pxt920lWN7:] >.,`cdP y8Og;GĂuw@ +Q"<M!ԯ8E@X$E8NW18m#G9rȑ#G0W7lUo89R +VhmCh2%/V. 55KSwV0 .;SS}DDȻXR1($pA2•c+sLV{Pz/LLS]'iRԞ6T71NSR/=Dp fWi*fy_x‘-.UBy[$r +P v^ʗJ2́n$"2Ӭ*RplT[!ML.OiVݪ/ x:x,%L.-RPdDiu:7w_~cs:;̫+k^?Uj5pM(?ȫRE)ƿrk; ^a@P*#Ukp)W+jZ2;RN,X`AxnW(EGP$'ih`4F Ó r$w"D_+dck{0ip4LFu r!{o4_ooowJ9rȑ#G9}ׯ_#,:k0S5NT-+Cl-+U*5AX#d+|ZQ/6`v4ժPBjPaE*Db_ު_>,-49Hj? wڪ͎B"h^τ?RlW\ id)fRW~-YA(ުY8N(jW̠RWJHBc gU oe:MLujZl23Պj|!gY#PtuzL. +5%Y?e"wө]@TWڜ_Kk4t#Nt{pT +KE OT"H!!GbRz|vvry G0n{eѲ+K?Wjԯ*bq0PXwƳ"@u^9nUStr`]Q^&SrYW5*HJajepv(I9YT`;Na7r9nq! +/ "!"+Wm4(ERR(?IX` W{Fo0 k4E)B$a S;7#G9rȑ#G0Ǖj}04jU,%l+hB5Ypb4XL)_(,vd0*h_y*;c=lѩhT0 +4}ZWT^hb+zU wy@S ڔݴZa:KT,aEUd{ n> +&:aa|ƥ)C͡ D3}vsΘyZ:UK$_+.jF-t9,dT(o<¶̄n w]_tپ(-rѿB-d@Xx2\._,|/l2%D"8r"eRT7M۽~8םyePOJr+h5ArwUS7!>^,­)J6|zjw|R#V j}"EQ( +ym>Ñh# ^oONϷvƓaGd<0SȂ_Vrȑ#G9ra_ݯ5[Nk ps%l>`P$ ݾuʰz`#XQQp5+HZ#T% +]ƪe\B A0%n 䱃u T90;`},ྼp6-KU^%k̲EŋϧAA9KAM[`, +RٹHq+MW*Ү ,&{A~IՊE.p?*F:hR4ǜj.ѽbOr^#ER8axK{ڔ &^.W8CxtVV3|rb*~x0K3 )B FbT6/%ψu|X7:A<#b݂pg[HЅ=]%ʕ!x+$t!)?xA +yV +{:3,x(Yj?IN2Yą(( )d= }@uFt6Af7Of[)X(E0X0EYtcsg8v>%"MfKUȑ#G9rȑozNNu۫6ZV\c*_|1RH"B^LteXB&+* ne$ iuT#D΢sn+Ҹ@SZ +ϳ_}΂LSTxJ Ik0cQA +c+[yJyfn*QhM|lPy#KS% +iàLTUB,;oWsBy +t tOfZ)8oҭ] ;\O,l:ޠn +"JD: ! n²_|t >Eb j/&| ?+Uj*k DbA"C1 aQ(S#pVVWsLgsrV_pLY|lK.+)B =Ѕ@(T:/PHC-`@Ilv?f7Ǩp1"Tȑ#G9rȑow_^?Z^Z5[zؑlx*[H s4趂bV]$XOl@DZE +AC`oZ-/#QWpA #{W e&rS 2êLT-BbM +ìtB?>*T:؇Z1J ڰ+E*+2vAV$%%^? Ns뼷? +E)QZ?j>ꢮ@LJuS#8/U︰ON:Bd.p2.tnlo˟69rȑ#G9r{phw*fZCU); %p~_j\-ʻbI-€QSLd+yw0o]`0cd:SP -r{x|Oܑ~%7"|x|)Ӎh +AX`@XM"Gp2̾x_O7N9rȑ#G9CyΕZR-VR)[ ZiVt"aO ߠdtރfZSls++($hJRP7e ؊Yɶ.,BZLqR@P h[`X|Oe1ە&0즴BwG*W*sIR;0+];*:uXq2OqWZ|`X|Ys)BI X"E9ai!*&%XJ4PYT}qςq}x<"m#֢ؠӚw(.JJ++T6?('(6迲PiE8-X6GH +YhZo !(aœЃUB)w+wS7w,"bJXu^7(EP : a4ڕqrȑ#G9rkpǓ)T*5+X#aB0D A? c2@O{afTp5}UXH.^$,̶ZMǾ1؉{:ZAӅeQ +nXZ6.3H#{&PݦqGM'>453?o+ +d)|eF5K7!>iT +*BՠCL.HZ䤲"YOg.u[CPV,ͷZUbc|V +g?"^*t=+LoD.^Kdzϟ"W`)a6[_r+l}f:<: +ÕZDAf+HIŃu*[DWԅeIH__RTPxK2}{(XWTŢ4.B8nr` !+J j ӍMHr?ۻ"|y!?կ +AX$E8]FEhdzx lnB'ȑ#G9rȑW7-N +Sl$RH4xA?\^?9=^ۃN&X\t$aiD2TLSx*5 @ ~[p,GCe+Ǫs}$G#= +] jDH>~\ղdP$xE\qb3en5f(\6B raœI4tvţy9{ ޠE,Bj,jA qyD +@ V,Hf9hj" tckk +y/_oPwS}"\]C"KU,Srȑ#G9rK](WҹBPJ狩\!ŒP,GI?+P`8h þ@9Jajd+DeaLةf,$dGRƩUR%8AL‚K5+f"倜l !ȶB ,RPH3< o25`x W&hHI"r׹//ЦLzVB S֍|O3}JyGߢ9G8TQ2)[ kߏ-pU鋷[YB~;RLyewW7(Wjukg7a;CR1?m<ľ)Tci|Gi2!xpggdW KH,XxPgf0A.dr"Z^__PdC2ٻp4⇺)h!A`M(v +?q0drR@.L_`A n!L~y{zxqyp4&7Shx޾#G9rȑ#G_|}{LJ"h<P$Iܧp|*W8 :#lLp R +E &/S +WW8QAbv&d)cvWŨV|BT0 bPca ݂f&X~ب#k>}\xjh=KPus1@I&ǯV U(1o'>⛲+/xy8NcDZU,V_Af! MN;C +ywx8"A`U\, F,\:1޹ aiy|>?C(&YZ5>#=?gj ׷OO/w0Ew0`2& px.Bp|oH9rȑ#G9rҧnHgSB2`T6Lb`4ƣT +sU*FUN:F[7jPLsD:MBa/t{9)㐂e+VHʪM`X~Y2XB!5p($0J!n+oeMoG Y{9PHB|nc9AE,$Ri 8f& h]$qAn4K P@_/(yt^6eV*!b ZT݉rEbZr0p{jCe4[9X2E8-[g0,; /T@+:YS0*ja9x||fU`q7[.0h,?Jj/Jao*כ+9CBՈẻZKRp b^DZxT $2o\9(K%D[P BH$OēT&_(U66ac;֯>S77wGǧۻɬ;vM'?tCp}/5#G9rȑ#G_漼^/UlrT&Hc`4'\\:P͝d +y'^hLHeñ?v{}HuHQWvp3zI5%%,! ~2E`iRe+eNłUԍ1 _9Õ]GkM&AU7CId1ξM&KZyЖu`7O麨S dpuNM|fdf'ŢJs>=9̸AuyL[SӥR{x+^ R9֚~aͮ@V4 l?쨚@R*g{"\n?oo+"]XFhz."scZ-l@SÁ"m .,jB^)77CT*\gr˫P8DE0(INt(鼂c9( WPBv4t ay<h<O&SB\mr)£cr W"-_0 v~z~yx98<]1a '$E}x|(G9rȑ#Giwx4X* +ٓh<bd:WZ"XwvNw6w'3HYivz//Sip/8kSucMn+Ķ-#"@ |v@{.[avF@P]pxyc[1,,12̎MKW) TūLwB.^՘ +HllWE&. +Y܊aYu ;1{G@*sq_Y*濫&a"ܽX0EW+4-O]S/8F,HV߿{x~zy۟߾}~{w?cxoOq}}qaj kL>?^V^XDC}TKkv?@BS:B$a/t}\".ɬOq^8ʑ#G9rȑ#/d|bx}x}{?[(A*Q rOej 4^]\sɋ󫣓݃pw-݂a(`tF\Z)f a-`+KoyPK Λ4'6 L؂5&"<8>? ;P9rȑ#G9HޠZoәp<Me P8Oe F7]?<[pZwxNoo~uwp=wJ γt qyTRVl6Z^1%,sYV7BȎ|vOPZhQ eaH3yV ETZ֮+LYBi -W⥪vn SE+XPhLvM`3[$)䮋 +16٨xՁ|QÌ +=x ZnbەE?U).1p.0H'}5w2d7Honl +T&UbR("X l pbz|v~vu}r~M&EMS; ~pp4OBZEAJL.oo:/p{N7TZ.かnlo{zx|w8VX&Yp?NJ PZA±AYv!ʇ%&pu"wԄ0":4aN- xG? bY!2G,ʆc}5QJZQKȡ)dibrqT_Tv!/[5_iB#!eTsN.Ӭ,+a/.TpP[ޓ򀊾@jsiA^Ie̽9 +L|R)[(3X"}~HEbT:/ %a)Lf GZ%棅.# +"'/Ë˫O?i}c}0 Fds}wt~ v^P(DBtpP, +L6Hd4 B^?5Zͭ-e˗v W2:|%5P,oMTW*dc$1_9ANYUnlk5T>X{:yGX-JnwIrr ]q,VP+7t[7qa!\XPߢ`0DD*˃WlC|oޣ "|)B_P!rsswrz7O{"x>zܿ.4ȑ#G9rȑ/?xe9 H '3Rݝ6N)L9>p8Ŋ &ٱXSTl_Y[#Uȅle#V+K!\? M[H,X:eY*ѸeJYW +]YD'KЏO.ta& ݘ__dz/-wP$X֛Lnl%J>>=` "W"6t{0E8gx1̆Io4Fg_O9rȑ#G9r{u۾ޗt?m+9l+K$"3)Q"ŨsP]k-:=>/{ Hɔ08k׿އX@8%Ú/~Se$Lng24v}CT*7l|GWnEpm.si 0bJ %3(ux՗dgeګXJ1E*  rEaD"Qn+٥pc҅6az02g)cJV WTbB=ίŤ2#IY!\<>K1Y)nf jT̥Z*F +e)UϩL +n,O- +ӗE ZemW&O MZT +pRxor%! 5ti~ʼnTN^,H4NG`$\S=1 S\rLJ?Z8cSt8>k|CӹT0Jub&JŸu)@0B0)3 x'Jْ{#]]=}$h3KA2T~ѿ#B;Xk 5z5Y4s^H2+p+xR E^P*.WV7l0Fww]_O? EZ(MT5QpW,kSCň#F1bĈg錱zB]ݡhX#Q_(y^_;LMM-,v>#hZ1!)㳔 +@r0 +H@0,X.X رME!W.PeM.B ]٤Kzd=WN7l0(ى^E+%s#uܣB#R~@KPk"B_F)DEmR;oNA MBr++JI+V6b3\IN$/ ߝI(hF +# !ش, 6J+"tl> EALen_ `,A i2P5h,`( t|zxd4;:DXB i A+^_ Hd\$WJML..-<8׷ÃC·ãթ|atbڮ.72/5~HR~E+N($,&i5!&_! 4HJ^j;d5Bqnqqem}sx`+J^^ H K"<=70I*" P|?d8iq#F1bĈ#Fɍ#Q_uu"]`D݊ݲEdjt|d|nvvF>Ɨ[+k +PbULFto`W'QȎЫ`;C\xH ij(NelJlti|BE0Z * +Ñu++L$3LTZ<8B &+tk|Da$ pD[ڍ5_q倒RەZX)O_>1w.Bh'_JĆ`!,;PY)$*([-|. bê3 A +HwsvF)K$yl {R| RP9ݖ솲+TMre.d~㕒J9X-c.I;<>Iz>̍.mDqQ"lRt!AfQIVo )p{~ dbjf^ٔ}p=rGFǏO~u4YL.iq B p63Lb<JVfxt472bH2 +1asjF9]˴ZLJ%F,S򐄠)[Ay + ҖЅ%0" "hW7` inx-gVV7wq!`ȅ9O>/gOtu "D;Q"#F1bĈ#F\^^Ot;h[UCsM-n}*o|,*-/-,/gAza|rfdl(8b1+d-'25s.$4#`iik7$C"UrEȦ%"qI@ZHD*jy`G+,|Y*V}*!agZMyJbR~AyE/KmȉH8\| $2+VbP!ZAr?%t^H[኷WHbPU[KaPqZkln ̥St"_\ZX\r9H_hblT$>>QJ yccәЂ@ Vf4X6rAQZwv{O܍u&;<9SȎOWܥaҲtvHF>?nW@b&43ƋOgɦN}XO_$*åp"x +B"—bfWc[E4. P5PW:T +^%,? A aEcXOoOZ2z wPe,PNq;".g_|;<<]X\R`!k` +y&~*F1bĈ#FHW0+_(mu77~754Ec}jxlbtbj|rf|bzlbzdl"72ɍ2CL`0 wFE` BFjG*݅d"X,,^@ +rc*;Nr+9(+2XDV棎2_Ț8N;]O1C٫,j"+Uap*0T'>GkD*r<#(WsB[d+J(Gֺ7}vHvZI6!\ϢA?;OP:7GG[Z1g`pXO 'MɩLn89]p2pQ"\1A4CP)BU:\hwE~&Z2:>N+dC2 +C +} vGcݱxWw+tEÑH |'Q5I_nnhNU1byLI +zpNWf]ج`YEt7_m_y| XOo JeGF'f5@-3!._|vzvBqr:?sHtbi2_)7ں#F1bĈ#cg +:"PBS x|ݻ/^<~X~٭_p1> `2փ@"; D㽑hqAo yn|F5d!*ڰ 5bam%c + +IT@l ?Ju$ HPWQ"~jSDԢAҥp)Bb)T+"|:MȲE^BrTSrY ~zȣO,M؟*ǰr[HR'Zl:}^XM~;y:0]'zC]B(HDdxK NS̎4U)s_QA +eCK 1Z6:XZuXP8J*BZX4{7>~@ EhRP'J~);+yӅBP-C{iv +[N~1&+F1bĈ#F1s~qaW=P w7V}t64>{'>|ɓ_yVL?FXOw/Dc!H/֚-?!C`+@W +V2v[YI]tȒhc;dHI4&(YnKHQ;k z) CYwq$vԢ~'YD%Q-AKρr1@f"I=p%p+?ʺhWkJbP m +8=XU:;ߏ@;{/,/cXD556ohx`\ż&m'*W܄pU'_(ofG +onqW +AI%`mE5]oW2L$?}jaQTE6)tX}RJ1B2?{3DmG_PchS@Y/mU  < +8=>#7M;J')`MNK z +-XM N6w@p +JURA3Yr7SbĈ#F1bĈ4PB{%۷=woݽ{O< X4>NB +~r 6W(Bv +X%+S AVrdP`"~@RD9(TȸE +pŧ3 +:(J}V|~Ѕ*e2mE+k t\,V}` OP'6*^CT1 w +IЭؠU!r +Y2Y;~ ]qRo%I(ЂFwrduM{qtbp|jjwf/5[x'WVO./B!LvFZZMs"58璤xOIiv6A)xxHA _8G96@tiv~?⽽0?:dO_Ϧ +Uj}SDRY%CYE,U Պ R + +i\du(cnA*3-,UkHBU,wմxȻO`( +Ck0aNLW66v>*B"4)X؂/.2LRVavP5SqO[X7V1bĈ#F1bNfd@* EP'AX3+#Eˤ`A?R@QQ :B_vӂEBf^*7-t 2JB@3GS[@:1`Sb WTLhbXqR\yUd,R)Tńeac8[$ElQAV$ +Yd+ X +WwZɼB%;Q oldu᪜fe'_5bX NTYKU>yxzv``"1>1DׯO윚o~o?qɧݽc_rfw<~,,jzSsK&xp咠0dbG"L6 J|)d/`c> Bdwvv76d+:1+T +( +PJʘ/5 ZY0B%+ ^9W57C0KLE>,O$t0a_osj+(a.¯g'>.LAp51cčU1bĈ#F1UkOz B!RYNȆ9=;eXTzd|byuebz<+[OO'}}]]H $Fw,{g +MW|<<L&uȽl66Q70a(A=SZDM"+&?$&|_xl*͗JSMͦ~EWHk"nƺh Ҹ<Tr9A>XX +u z,+:Xe +\>Bye\LP0 +:?|p(6Ss K(ESNOY;֯ã Nf<!H(-w2,nbĈ#F1bĈ/XO/P in}sׯ<~|Ν7n]V{,WkݸqΝ{<|O|7޼8@}̞w+N"T2`t9*$EXwD`%(WE&+Vb"N[Y+hTPx J%G2)bsK,*ÃDR$' L*~%N +Gksڕ:\HmI@7}ɶ +B5GQ*o2+խ|uuyիãp0+cY^] $K[\X^^Le/P2J11&d:70׿|/˫]q ,pF2 ֶɩT:Oǧg&K9ʔpP5 N$gCMedlKfdT6LC +K$2N' 2+jylZq>+Y!H;{Yۑ0iEW(,$_to\>h  ,q^`2ѱə|qnaieu}kgo$;;;D֯Ă%H~qL815S0E 3b1bĈ#F1b9X| AP +)ץh7 O_[_3ښuu׮;oܺu޽4s|r ѿEW(:Tv8e W/i| Y*ƶ@s +ܞo1t{].*[!)ɔ4KRLYf}T*Zs઼T"Zǣ,!Ƴc )y1Bha baH0ۑ.,/_C@ +G:?S3"xol)Br')BDqX@ ,"]{{Givaj0!9!nbĈ#F1bĈ/p4Ϋr^y!5O4~߿vVk@7_ymb{ѓ'_2N|2O$,8w/`iPCDujd\HBU *"dhWl{`݂ +e^IN@ȹR#rIz2i2 XƂEV4g yq[a ;_a2)]f&ƕ l+Q8Jv ANblYeƥP8aUe7YI*N.,6*9]l #ʕR&Th|o߿]& Qt&144/{-xT67<>>7T*1F} phX: hC]޾DXa`tq~a4;04dv"MI|00400H^s& ÑN俢'?ӈeTS/B?(TR,x"Lz{ƟSDxfŰk)YLZ<|Ϡ-H|0ѐd (,D-h-,?;otavnqye u gd)Bri/)s"<:>[D)B‚]@/`a( KҊۊ#F1bĈ#??~ H!K3> +IJCK7o?~|k7o^Z][[Q[sخzq;A5O_x h'lljnE)B lYG?ʘn,Oa S idx I,pyE @6JJAPk{{3xoo&3NpTzt|+z.L0@ԩFÃXg! ,$3 iw<TeʜK!Tvn*d 5 }`t.W$ZSmHЇj UT9vB2CS GBHW7za,5;l ˫k;{G'_|;=E!ԯH(E8;8S(MLf+R;狳s q#F1bĈ#F?gqДnUkqI~ɓ[w^qJueEMuemMEmUu]mm=a]a =|/^zYZ;`[+e|D ۀ"B"D-$E@XnJqg*YQsʬx/F,.J_W Ch璆ĵEӚeekc!"LY*Sk&͛6UbEB#xJr"KJ)s)^{w:,WSӱ*aR7\?S5T&;5SH(iCL"J|1B"PPd:h$ƃ2{|h 8RIRّxW<)⿂yM7~s3/5_O FF { +t >1Mqx32^ *)\eh + +Y ԩ8l:vD!IkƩ[ؔE$,݉[`uҖjg+S!As~}^]y" Y`24v拳>{1bĈ#F1b9xtWPv׻Ʀg܇kfU]uHX@)[nݾ}޽?yo޽ohljjmkm wE'G~A,a+̾F wtHXŝqaNzv.XZǧ VX ie,+LVqOs0ذW J.&Vl"WlmܘveUq*jT9JQ]1Ӕ2T+J*dRinRU,MqP1J>RqmcGH xnd,IJS[Ʀg^{uTUبյׯݸq{>z鋗/߾{,XnU*+ +" +eG",t #vjikkwpHxQJ}C!ݶAni헡)BKA73H+2B rv. !șT*@-(#ҐO JeU~@ŚFcb e"Rg%W4'J-Up"iċZO4O_Sp{ix4ۯ{Ưb^ $\,@*"|dfD4C)Bw2}S.wg{m}cj&/()JJͭGNjKãcx8 E|; C#c+k vpݮJm,,f'Mq.%vq4V&5GYlW/IY-omWfO37~eP3XdӹDH(`2 j&+svi%i~Lvxk{'BJ#`Z\ŧ 1x RgP,o|ǃ㓓ã8<>Yܚexdx?y}~+Rq3î۰٢t&JXHx qm1 @x` Zy TLV:xD] my3ABS"Zcuȑ) `uEcPNLKK+ۻ{X:; w"'"4O𕵍ٹũ|q +vKs@šEL޸q1n=׿W1bĈ#F1g!O z*R||ƒ.Ekd_oxս~uW5WJeeemUeMMUm-`_Z޽Ǐ< &"pd$Dh{ˋ^У@ AVIR  ]&qX1A}VnRx WȻB@Ir\bSuXk&Fy''RYU'ͤ܊5g׎HOEA?Y-*].˲SgҜpU]>'[D*Cnp"L6$@{ +ݽL6۷ꂉ:zi +-3 ?Je(ϽqH3观d +W*-u`8?848[0P۠1^ѱqgjB($+M )!팖e&ԉaIPYBaPECE8-h S2#pE)|I򑐠ɶ!A(td2{Pkf %`(J!+ރe"_,fVV׷oN/// w"4) EV(MN +4U("q1wa1bĈ#F1b `gЯrOdRVfW@:RU+5UUƪ[aur^z-Xmmn|C rk迒 +CX:Z;\uLQ-XJaM \S6q1Eh'By˶JbW:׹X}v)HT,O%C[OvS)jًU,V RG f 49LÂ{ #v1QA3biܗH̋kjvzBPiJ#gߋsCt>e:]U2Ui*í%,g>O}xx D#چ맒@]| #]$Ce%ChD82@6QKVX=M$S=`({w#-dW:Gn+ՔE*ZEST"2j$WHI#H""_ ֏p p[L !"Ƨ܈ň#F1bĈw? G Wv{eRV7*j+jTW_^ʊ*`2ګW^~Mdz}{ro۔A$D,EMI7Ѕi @}VTR@i8W>p ,J QO墮*B슝,;܌Şk>:+T:)tT*Ձ-?DiQ+R;y ƮKS^GA?յ +I+E2\vx$72BȷӳDBU ]ӭvг5|*|4ۅe㩓bF^WwwiĻE4%S( *Fh,708҈  +,,F}X,ACI6 +n@L'ȃם1biԲŊQAwVH"25yeҫ+3b^e`[9&S)OYǾ,t,x$jy+ +@O]Tnx|r:_[X\Zӧ/R?Pa]|?=;?q:^aLT4/O͠DP1bĈ#F1cݺ? "yeWRc[ۆ syNd;zf3Y%3HQxYQ_B),\ɔҔ/#>NRMm]_cu-(]Pғip#/_DT&CS#cƯ[B੨ ̨{]}>?G:CH3jÍJY/MaSf{e79ҫ(dVQBngX,6jL{N +͆A6L" "\aK0YBHbWf K5+R,X0? +SщBqv~v?!`] + SgGa8:_PawN.©<NEP1bĈ#F1ӳ3c;T|yܪޡ-Rcko>|nݪv + RY + aUVWUT `]~ܹ͛sރGO?{7%dR4Z[ϥ=D '䞂$,\ȂUUQT 1n+ָXWnd倷K|B#J@7CrY9YL2;RCJI)Cwd^Y|YJ+WJrƭkB9f'N;Vm&+;9ۑw5RhU{{Od'*MgrHׯ?tW:aE.%,*O $ \7}ԯtFRś=}۷]VEŕ⊱)Brs>}7o64646!`g`A; y! Qƹn! ࢂ2GtW-fb5(يrYWf ]\$YXXm@r?VrۭVE-;zʵɿadGT+Ǯ@cU%,|?}ے1dRu :reI(+kkX 3iJg2]hGeD$6EmW\B|PÕ潽T +;lnrjrumxT3E'ߋJR~D-FeЩu2.1b!_9,^,YaUwØ<|n:q +BŽ,b[|&K\ + +z~m e=@B]{}}09<:>5S(//ml.“O)ﴈ 4&")|Q܁4 %̯?0D?~c1bĈ#F1bĔHw Wȼү\PjMͯ޽Gnݽ{ͺkWj+JMŕʊꪊ*+Z`0A?{7{kS[{;`|HğӶIJ@]U,`ŵ 2v';xx$(*ޣc݉2T.?Xubt BhϠlCZ9lNiI6 +%gwO ZJJq KqP4!-9]2g iN̓lHЮb-Bȴn%'1\] +M㓓4TxtvX,&"UpuBR9fyPcsJ:CF*,f[(TNT5B҉ M*{O\Ib'gM +XX#L- ;Sc` _aN i +YHҡqsӂX1n+N2@feqSY_PXxOt񉩙;> "d@e/@2LN 3Bgip +hcSܔň#F1bĈcWDkWYJ[ݪWCsw|;ܸ}ʺZŠ*eU Wuu5uu׮^qڭܽ'O> H6457`)9iB* d R aM~ +kVdG Ê\1*Nb;H[LiRUIجňN(dP܆RLeaabՋ2qr+6+DrYq?M+VYVT?"s, +ǨQ@Me(4ЯL:4beG\ 1}HiUb(WC|N }d*A̧ƒ$GX/899 mi @;e3"# Ab"-Z'!Abœ+3 hn E`,w[t +$

C(;H ־ts-X0x@ߡ&iGI +Py|2U,s _0 G{zt&7269V6v>|<:@g0DSta.S"x578],M Bi8KS3ֶ##F1bĈ#xA)yd#ׯZ:܍m_kxՃO<0-XuW+kk*j QՕU^][ (X~XܽO?!Ƚ$Eh~tŋE+`uH&˝HX RÊnƹU}# iYLWJ$^2,QEQv뿲kVl=G˞ldr@AN*IVI$ EIn*U[9+=0X>.ItEg +hb(Et6 @8<} `]TAvJ875 ,a VJstv~.nbĈ#F1bĈ!8ʭzHrWHj,XЂuΝaa핚j$GeŕJcj@o޼u?|_z]CcCsss[{JʊlŽ@TR)B +U,I qOQ)tqj`qI@^5",*.S$iJ*o+os.9 VyVֿr+E*K*PIJvԜX JAyg?[QJ/$uu& @a!U:L&&l:77FaN8)~`25:>995  tvnj_4倫RX 4rD1CMsr*\yi!R,,.iվtBbV{T6*٪AsG>+gEXeż^,2%/r< }>Jj\hBWBi +o  EHW4ᑱ2L~?8<:t_\^]\@]k KӅd$,r)©Bir:?9SX\Yf1bĈ#F1bĐAMx?J+vjI2on}(X/^ (XoA V}]EMow aUWWB_v捛o'{_@M E +ABXą(XB ?@7sX")֎Sx !sDLZĻ][2GQ +gb{ .lr33gR#MZ|d']*Ms2dz{T.r9۩BbӔ\Reki 9220~r)?МJ"Qzʖ RLS9畮0$+T:HsLNL ˣ㓱x8 e,K.ⶌ >?7:> #cs0'10dclAX,]g e+$^)U9\hD4"O-NYНL2=5_i>baʇW>ޮly@ JU&iAb +%K;& Ñ@(vuǺSظ^(/,!"</.!W"|?H$|`rQ$IodoEcLvt|ru}sium:_O3p2aM׍_e$ NSup,ٶXt;b*CPXpwP ,d(ȝly74X$0jVy`G+5UW!P!ܯ]qƭ[Ȃ'_x;ނS. ,P& \2%X~ruH=N]gVB U ~WE2ABB%';NuɩPr)6ÕcO* +TT\ + 5Gvӯdd%[)Xzyte_F J)]*֯&HXdNDNTHՁ >j2\.P'%t'l$Խ^`  t:+ͯml_~3;02:Fc>Ain~jAlQogOE!r-ĊZVȕN3[AU6e 2FNW`҅pWJA^"2@T`^ wH2XxVgW>\ϋjsB?@`(wvuFc Eh/;26>//,om}8 /߾_.B\ _7gvp*_̣aiؘ.'f@p~iYܣň#F1bĈ~wO_[ +ZUhr+n[7~O};jUmmEM l!"1EXg,uL޹Ǐ={7o޾o@6ZX; +c# + @M(X_ϕ(X `ٹl[iF~RTGD5{a9QWjMNVNY鄂b,w\Bp4H$XCtvxdrzzaiywϯN?}:<>><:vv?x55)ds#T& %?_I1ZTaqUo:r;X6G*DǤTwQ()xklb*_]X\^[ׯgg)?~};=;z4gvJ@D q_X7k1bĈ#F1bʺ׭nꀴ+bmEE{&Pr7A Vc˷'X+jj* +LDaMuuYDX(X@wɓ'Ϟ?[]0E(vfPf"B30E(!;Я:.IJABV"*v:!9͸8bU c8'ԕ\O%9E u[nhVʺiYmahjtCwV1NQl;֋eiJ'~*+Z$٧`ehY^VY)vi,cI)\)Ru'GAb!P* L4:11:>>=33>19<2fLgo`0$IBPzy#nckM +ХtjŔr9g/5vkVUJWˈTᷓ c^, +UdkC̓X2U)V”`PHQ W#, rвPR +h\~0?$,= +@_b(A +Lmln}<<<//O>E@X(Eťՙd"@x7{&q:=)B1bĈ#F1bGO+ aNP+jVt%%A Vz鳻ݼ{RB +VMEMՕ+SUU _v `wCr͛ [ZZ ` u,hnn$FER;L.Yj’9AhʲғB| Z$)液?xi" .h,7H$8H..o~8U߾H؂S>fqnLK3E87S5.=176ssjqyEܸň#F1bĈ;`CV]Ά]v֯$rGEȂ)X=|tk7o^VebaA _@7o߾}޽޼y\ĩv͆"Xu[,X\*FUHVT+kY(X&SKra|QAuJrrU)w9 /3KEs`=˯O:KkW]y;i~D"Xd"|[k\Xиr"":?z7/Wͷ3f̘1cƌ3ljNR̊{$ + ȝEtzd|rH][ VWW[{b3FXmlᦶ͛Z[cq0H]-]=۶oܽgϞq"̑V 9&"ªT +%rYSMv(vuXwE,- *?;]BT)cD7<^ Xi8ؕ_X5ME+مG=TC]",R{'Jr! bCJvM]B'({p0"RQjkc5zd/أ'LF{ +]X>pEU9LjAZ&Q纺≠?Pz͞ +5vfJ[)j s W]mEV%|o SX{b<`+v=F(q YTipvŒA@-\kU`k( +~jbU^NqV}zvfv9PV.]z&n>~ok4wn>-{k.4V.,,/aEZkK+ E/,mƌ3f̘1c̿sN>;oWW,+|+EH#Xѱ;{i= /"ܼZ6o&D][HFF=ܧʖDG"ԋ%R"p=^GX,NbY\m}t3dIů)]{#rYazIsD~EVzTF›٪hb(* (0eGzԛ,[GξS,I-C'SKPb[T*B*rA]T(j(e:)UC (Z/*_TDT4z(SrG-F\8DG18q+Ǔ.¯"K 2 #]|rePLW{aқ<qRrWu 5Gt 1ΪצI +k%-“~Rco߻_z?}/_K Xᣧ7n^YDw.7k""-̷3f̘1cƌ3)N j+8v/['XNaQ Vv.x*gbbQڲu+`!^Aڲ)c-X[=8bݍEqk7 {&:!,V$pLud!E8#Xи- +,Ձ0XKJ[q-ꤊlVBb,V&AHѮfBTHdu: +M +TBxm#]nL +3;[E$?8ݲ,c-$lJ:Nz#pk  >r,A!VP)WKiJ4鐫X jIK[)/!(W\Cv:, Jbvn󚡺LPB-ˢ"JvQw]hOam _~_b̩EQW z4C +d!}k.xw۩",WIyWNx hgZקgyБ_;~s ˫kݸE[Ϟ\_'&>BDXB'EX_HG_rwqjyE.5+Ks׮\ n͘1cƌ3f̘WG"opmvߔl&W<( ` X254:>0870GV[ Q`nU_8_utu']==[{{{o"d2"wl*p9cB(]/U[DbHfd)IlG*VZeE1J*7UT阫QTBЊ`jԪr_Q(Xꁧ Jiɒ=YH(LQEl}(-*+-bQ(ž l64\ڝb螝.Dz: +*-ȅ*"4S\`EGl Ў'ʉ̬`+O UĔhJJnrATV r@~]mr ,i+XfVO=E~z~ eN{l !yЫO}s>rcO<}K˫ܸyO;`a gP`}˷Oy;w_|u2ؘ_j,6VE:Xظ0K܌3f̘1cƌx۫UR_=#XVXJ$ܽ[֖-xaDmZX;`Ggזn]DRX+yc9PAX_UW"B (eQQUm.E vd0lQ0TTŠ(v[o\գHy-R끶 Kd +$T`v,mL D*6Yы67PPi+'Bۮܨ%Eשx](U`\ˬ\Rol+BɊa+VS! >+ZYsqfՊ$Y,rB@2F/SRŸ# 򺟨j Az%YK7t cYX^U[A|=~էIpFGNŅcI>|3`E=~zKWpp-Ka]Xh/6?܌3f̘1cƌcT^ʕ-,`q{p`k,36spo`gO_`%MhkLSX֖XkkŁ+rM/%$d̾8tO/6.uO?wpD;o~ yS +8rt=;}_>]6,x͛wy0CU5WU hS8 Z8"FGa:+C(3♨]H V1X"rAUPb=-RW5hֶ;LT6sAp3Ze!W9ג=AWXȶAR ?kuV>O":rcxᩳXŻoݹf_y'v2w +-7o=}\[k.KE8֍[˗3f̘1cƌ3ψJ &WeKr0U[ aq+U2b:WdFɡ!f8`EvZ- +D:l޶ w "={'''St&-L0t*rE\XH׃:EH]abRlZ?HM\aUPWƗm jbq!UEY5ı4 EQ%>PoMzFʱ:VP,D)*r@j̕s*+,xVl0~Ҫ|MNLHDa1.Hw4D"Z~(-"Z^zJ i_ը +X!r1\99C` >yz +,I*SHra +Aْ2Es[evί"v鯤3˃8EETUMg0%Gr9sk7n!E>| ,".a} zOݼ}wu +v^-4-qX_j\X/q>a1cƌ3f̘1c=Z/ڨW8yUKH{dY<`3ta:gGvܶ}`;[MVl%֖X[ Wqr$DչEzw""ёI"gSb *TqKd/t]89"Q(prVYif\'Q[UyY k9EAi) Ufg+~"GGWuVON7֡#v +._y<}"Z_O)ÇO߼{{E;EZ+ktṋk?ۙw3f̘1cƌ3왝;X[>XAʯ #,KB²"©T6?IƋ+ljۼ䯂XK5-ŽDG{Gg'`m݃C{F FX|!7U*" E + E2`YVIgw6\ZtV5VeU +YiJKs9I[9#)-e\h@N[QQHȯ-Oj)$J +m/qߔ*A/WZZQ9Q(! +I'DMkQ8IPZNtg0('p**6[uu? .gP")^t(rnA M1wa`!йs{\_y7W !,b+z k!SW9P)R#VUX>wv9"A2 ԅaﺭ** Vs0dFK)ݓ@$ZJPp̓Q+nBB;"|Vx + +Rd\N0hrr &?w$F QAB^wsE7"Uxǂ,W(J0H=AJ(qb,'$wR6zbyґ: a UUv+ R )^z+²*#WL~EAEXZ>]ݷwCG=vp"NZ@PܱO";"||K l!m.!e_ZXZ-O?u3f̘1cƌ3fs]>̓b9[~U![tat T /"&p+982c`o-[u` VGkM1"l–x%FXq,rO$::;kkOOoov 2{r2JSXD + +r@[eTF4.BRedV BI;ԭ+Rw[bZQ+uWHZ윦8^!3[:V.kh7wn߁9˯].7\u>}qnFX~'"/a}͛wϟwkחW/..a%[4u~~|_c͘1cƌ3f̘Gmg%!`I + #T2OO޳}.E" V%8Zcqʯp0ݽm+ q&rOe|!w +^YIH +_GSXxapTITIJYҽX}5ev +* +lmH@9l[Gȏ TH'K8lLqzT/B e +.B39UXKn:أ|S'UE6>"TѝAn( +Lc\ $q\J+()t٧Jv [yhrdǘ/~b>$Wv. @E[$yEWW)ݪCXtG!%WiZ-½fСGz]zɳg/.E # Oq'Oߺ}weE:|qs׮_j5f̘1cƌ3ff3樼? bz+YD8UJesdrm;m#;H Z:Bj%.w\!G::lm۷ܹsn""w,dT>U*_B*ڸ h /)Q+&YAeD*p+*ɠDqz%0T:Qt-prtVr#4icA`-J'''RBx6@1 + +nSX"ftZ~v*dQ]@'zCS@ +Ξgɕ"cguBɬԧחhS!DAKl"{wlIkhWkx۠_%<Ȟ/*6קi̯wEXOv.,.-_|w?xً^~[Tܿ1~~"?}\qFhl]lťm75_f̘1cƌ3f&_-ׇv");U?I0l$T-XB&r/ +SLn,][+on"6rSX㱶x,EXXѾq``=EL&ST"$"RSXV{c.rK +!MzYwO1жtS%O XkmZ%0zQ`ER&;$rÊ#,? "%BV"%V:hB*q<ʊT([խGPHC +Ɨlq'"N)ංAZFSxlq\5EPZ +} R6^gtiշ"⠉FD& +Yv!-J(ڢ,U)7 /%Q+kUnġ,!cʓV+WڮXΊiHayK|pd`KZEW4EQU񤖨r{ܧg#"CGg/\XX^Yzk>{kçO|"wƯ_?|h ; ༱*[Ehƌ3f̘1cƌc+ B̾^i V ɕ(6W$%"T>?ΌL&Gv݆`6af,¢EXk["֚hw`oowص{(`M&L:pk²Y8h/bq/wrszJ} +iu pAZQa[P*bƟMb(5(VS e,xIJy'P#HW`?zGګh{U(PiTQ-wc?U &lrw*rxA)P  +}UEXq(`X +"$,, +nO2҂տk־]=[q /"U[aVk* jV a4Y۷qij*Es;6[w %ί\m`I'`;JV=r?z6]l'BξHI2$)z*RDIg9`VP|?^PbjU(]d-Biv-Uv愯I/<%.arjĂ5=o܁d!>{K"|qG",Q!d./߂g߽k"\YDVVIp Ç[ތ3f̘1cƌTgz)."7e/y%[l!MjQ"BfS Pݽ[BB\ĂJm'_uTݽuk};}^E-L.+`V-d.)*˒",XSrbm`qzhEԭ.!:CAU7m}埭HבRRlgu=0ĩlyM@7{k(څz||@]WF,ՑW4Zl| =TuA ]@|] O()Q&($-REn +`K/ek$F9b 9a>+OXy*_QX0L94͒9U4dVO$KT ` +FK%'WjŤXGO0(_5\I6HVZ5fq Vuz>M[s:tc \~?}ugh"-hpi.2E@[K;nUEoƌ3f̘1c?`KSvIas a1sUaXɐV2#]#voݾsvjmnkیX-kkq"Ύn"ܶMDHN&SL&-]SE,r",ʣSeY!Db[]DV!(p/"eE;_QݒHJh(r|D +n%ٮTd+)vl$+~)RxR߳C<(eDdr +z*nSQ+Ʌ(T$~g徟ă)DzҽBqA*ŃO~.xr*q+lȠdn#4I\>HA/<&K|HXh)AVߣ,@mdL9|m,`zz+AeD’BAR0d,DX,ŞeJ)0W}8]k1#]UgjگN4-쾹s.#+5'-7nݽ#"\ݻo_Oaۧ^ܺ}k Kr_c-{7cƌ3f̘1cyS c\$0*y d*3UF,EZH8e),J` Vߎwt&I [7c~CX,r޶u[__ߎ;v54442223XDipV"W%B;s]8U;&0ԊVxJktKr+mez +x +AUD +0+mt'e9Cn4trU (!j?"p/ +LYP*jtȁJ+MoXiK JyQYϋ*65wyRi87. W} UTJbR$<"T'(c1G`Jܤ|vngJvnnD0{v%)qaTBjr.Ӷ ʃDJkc+H슞7iLZ֧gY#ǎ3qaa"s'Oxh~"wʯ[߾|-7Ezi"",pŅrp7cƌ3f̘1c1K+cvdi V0*8`{pUDlS E{FwڶDl!?7ǂ-80DG`unB[v"]ãd:ƻIXb-B"*{bcBH#Xa{(4hV3V- kl%ѓÙ#Ү}=vw]~榰ݵm>֞]z> +fQP2VvR6 FdVS"RڝEO0*6L:E,/|E&%Q^z!YR ww\;9JAj=NUHeSvHv-"F/|󈝀N(Bo0sĄgAeK Oa̕/ڂgxJV  k̂%UkXo! +aeR[$mŪc:xpzv{;x_rS~|cy5"|_yE_4EDXE2EXY#-"tO_o+Wo{3f̘1cƌ3fGσGk +U➙* qs Vf +,Ղ%-\!b hK$66Ze3?q+kk'Žv:;tuvoBvb oVn'DD%KEJ",Z$$."`)+-UG՘A9+++ %Yc, +-bpDp+t܇=;3of}s<[ǎ8yE/߼{GB#XEEg_ܾso 󍋋 +؂#XIpe +[_m͘1cƌ3f̘;gϝϗ+E*K~%Xp0Wai-B*ʗT2HgF&Hkm[nmwonmŻ1Š%gpqǖ-=Ă׏EGFG'&Sd:dȝD",V!$ +eYJ +i.,ULU큲XAYGU;"jeaRd2+)Jv"7Z0jbPoRsU}OG`_A]/:MS8!X0|+oDǥq֮AAO#-Ȥs\HO]Eŝ% T(LQ/1YAZ -KRr(@Y'0_vy $s0+-O&`d +P]CUVUB!feP<d((c*µp%IlUex`)%v8Ɖ{Ue3aa>rX~痖W/_v'O_,L]]>}yW=~z杕KX>X^-ތ3f̘1cƌNOWA*[dW|%UFHEH ++_b +>aO8 b VSXyorC>' &q)dnx?eM&*)Up^tЁ(%\[M^)F)Wqs}kfVGJCPi + WJy6tO E> `q=/yTQ'hKsj j^R&g +9b|2P (i+Fo _DHW;TSW^O;tQ{1+Txզ/"؊q-.µ0"-B,r?#X_XX^tڍ[w=x.B""oȝ?~/?xBv.4HW. K +B3f̘1cƌ3f7?_3˯J3S%*D{ +T~U-Xȗ~GRp+HVV jmw\! ΎN"ٺo~,rO&E-2+hвOX\e +չd fAx%T&v m)]JYU6ƟB*%@%d_0(7tNR9 .-3萪ɖ@V+ÉX6 Bp*_]pwkb(W(Pk! 8q# +t|QDUIl"_n Kd2%CS\'n.,HWB=w5]dVv̵C=);"4|#HvUN-X4dE[~th. +>@nX5J##X,^+bU),̣ȯUaУvLh 㽊cW43bUk3{IkC=v'N:[KJūo߽c-BU"n>-«%b- a]WMЌ3f̘1cƌWSgfTl{U_QV++BI ,*aXAYDDٱdjhl|pΞDGGK<mmjۼu6bED"ޞ "v"r "m۶m#X# taT),,ªeW,e9 _!ε92UU]B].*h+@!ZrO;l %~ B& R "dQRa~ PIOamoc_9M[k4&N( &Ae4a *B,]+#&9h mE. /[fҺ~>ȓ&BJO䝴W0@En|զDURN`mPU$Z>) + \)J_8HtdV*␊ҝjMV*YhʋЪ9JаHCYʃJ)ߩJV>/ 5Ȫ{^%֦gfۻns9z"eOʕ H]Y__u%Т",o8+Orpd/"3Fm6"fj-x0$-[Ȟ1"$  R~EXMe.*GTPrEV*=ҬVrxŠFNHf%YR')'茖D-j壚^**Ufl0AϐiF,zq.)R̮J(8rHϕROQ#Xؚ%[,I."$,jھFz؂aV+.V [X")V{{{GGGWg;vP$EKsbaŚ*U(B-4%Z~̂U.,Bj`C +\_!abFuR!ȣ,R:,y5(OH^QR-UQ-BRNNl +m@7Vo.t7}f&U,儒ZA\OA^RŕPR)Ɵ篢"Ro+>*1%yQ]|'m-<ꞧ.blXnz5"*g*EB9FXEuy"+H +^.Lp+329982c`<Ղ#Xm~Պx_V#ݽgk__o=BJ3a]_vJ Bb3DH4 ctzPY +Ѣ,.{: V8 EB +2+ۉ(aj>WwS +r~j +70;]R-t.?X`_jɅ[lX}&AD }+_Cj=ut@F|ŲAfue\CXr1`hIr0dŠ.WM(-ϕJ+O."pu Lč3>6I"X,w*!Y +0Pe W%x#!`f6P(X4UEl *؊VA-4Q^ckJvW CPHCUT(ʲ`R 5?9O&\}ުTT՜PWiK]=@o(&U\V2qpDEP;*AjKvlW[\jtޟI'Nda* 'l/)i +?@J=łTTT^ݱ ݅AQ<}rAOUpR忲`apIi 9}VA@Ѫ[_cfY.\4vU d,BpߐldH*¼ ȇMq;Z 1*`ŕ@F ?(ФKE'tJgз4UbGDlr$:| +SZLY`àesJW N#T\Uc +*2533ot_zSgqHܸqO<{rw Eϯ߾]+=yW/.AXkKdŅƹ[wpZ7cƌ3f̘1c\v b?II0f *r.0*= RNUHf Y`i+"')`a.("w(ŲFwAJZd&;Lc mwtV+nn*ޚ .w;:Dtif}p "*Mb@X&JZ!,ZV-duYm?re\5HwEr&AN sVB.[ҠۨP[0r:jrd~ZtC8+ 8!B^&@)%mvNG~@_S s.Q,+5]vŇ}=oC*ZEG5@UKnr@FˁL"NuX 9qU)UN4̆|rM` +\z,%x|]"U2p%"mŸ_xGC<%ʆqr*3TR,%TU%[Ht4^ GyH^Kn'N7G~=~7"\|[xg/^z w~ʯ}?wW/]]lPBZ+k~ܷ\Ng2t& hq=e+_P=8̪@ UcfYaysKv(*!uH/YOf2ѱ!joMEmZ7Z6jD=8!{˖[v8`eaSXJ<%E+\', ;ug2j,l˶UL=AUT6a9 +҃R0sPi~-J&J2IE3H~gHwB e + Y,kZ[>XA +ǔ`)ePS?g|:1'Qǃz+G%l"IR)ɠ\~=)`)A!0Mߕ-EQ-t@gSSbIckr$M]v(9+5ADPV yè=%)ugk؈ +gҎ%=!Q+jʢ$,*lg-BftmA I`X?g7o>/8~3_\XZYt;w?|EH*r#w^.¥ K 8EDX K +3f̘1cƌ3f[ӧOǏ/^t/Z(l2riJJđ#«\.+YʯLO^eL.*GIa0@ҭ|!wW9bӢ`*VDu[SΡ~q+ +ͭ*іD/";8n;v=c܂ʤߘ!-B2ULU bràpaɲ+Bi끶ls"rB@IUxW`VpK+jm>Gqaȗ82 y+ %'H;H('2Qr;$|e)=uk{<줇DL%znxǟ Vq)0LU<.EUd2v.~7t@QӶ+{|# b)Π'Ayܗ%3`O\"e kVYAzJhD1P6XaP0+[7vkA̵33K17NLչê3W ^q;[)HǣYUUȶ¤EX.wfwO0b $5w`k8oϞ0X^rwRUrrФN +mdeq u|hb=[)G=Ua +K1ne$ +yZJ:t6u` 10[ŋF>׼P 'Xaoʫٳ^cfuI oz>[D'KaE +}j OKU (v R/zu0,4V8s4-pmik +Q7w?=v'O:Dž+][<{" ֗.?}"\\gW_I"m.[!f̘1cƌ3fl0G++33~_d&LӴ$VvI;ZgH^Ŵc,Jg'Ɂ˃䘤'd:_Y3WJ +E+E+_" `E/ ށ-[ĂFWT ,jۃ#َ-[p +k۶mepS"MbX*aْBvS;ZTIZHYYckl*")+D԰Vx`ij!׎\D(j3+e܈_ ;[~̀=ǥB*bIP PhGA;9pwT䨝>$vzzABq)q}h-$T6[!/$3Aɕ",[d\ 1Wύ[B:>H("50_B!)ʇATDXUQWuJث|@PO`ysI;bDZ&Y ++뎸Fu\nebA.x'4%dU#tacF,&B.ٻX~/ǎ]XX-B/^~`IfY_1=y+Wc|c+ "vKWϟ?I̘1cƌ3f̘[}q߁9Lv2Ngs),n TbNU +U&d&x%_2He&ҙT:8& +~%DI*P+,j"<b~ERESgՇBHʉ=wܺ}{֭Tbn$ +X{"KEHvuuuo";v544gtd|bJj=P P"!Y.F*J ȧJ :ǸཪHT&}Ox٫C*PYʫ +7 YpUBl1ijX"^0.WyC[ + UAmq! b"Y4EUN uʠ Ū>I*_YHEX䘡j,b]}{8x`"\^Yrƭ<Ļ_zM2X>} +E-¯?|z%w^_l\\I +k-8vfEΕ'f̘1cƌ3f̈y8W-Q/L% ʐ \Yz*SV$b+ʅڂB l2WIBVW¬W$",,"T)S$"wz|HsP"$ +/",2\c$YD70нG[ئŠnBh-B}׮C{ ]4`e E/q"H+2EZ|!W$U +E\([{dQjyP[;4QaB|VmA^BD=AW +@'jjΠ#Db+JK@^"%jv 4 ك'{GdM3ȂC^nR*śĕvM@%'9rM*usH4A)) ) ,xz:BEZlbU[Q % PW~zЇ}xʫcW"%SRXDدAJa;X"U*^5gѨSiXTh8ȝ&dFº_IO^U Nٷ"-B.o߃'dѓ7o/^WXNBcû_)f̘1cƌ3fSjZ rŚ*'T&J,L"BVp +BF +szXR^ed*3Ld +RYh0$\,Vd +Y + +"+ o",ȝhq+ؽgO][VWDB[X"њ%:$EvtuunٲXo"HNa: 7/VP$"wD UH 28U"jJWaiCv +kE܍~C6 +)U^k"fT> LĔRNN<φ2#XrŎƖQQ:~'q<OBJ~hjR=QQ(G$ +@!U@bJ"C5ee.wC"WĔK8KnVRUMAjaUE),fhQ+,~ϜWnJJ+*`gZx/2JU\MK~U aզgۻnࡃדv\XX\t[w/_y}TOv~~pڅEXK.,4W_,f̘1cƌ3fCz^* bb`6Su"v)??=ȩT%|@*Le'SI|?q0CfrHJ#V&O"[$wF!wEEXHXpWbGrǒ,ջcX?kԶo!a-zBO`+y=@XpA&#I”UMxJ]Ψ7D)7DPu._^URXK@G} %&Q UGeq0 %tU@0X>R9*oo<.UeC}ਉܔW*Pq x%V^b`"7&v6\/Hx{H8-Y4aE) +rYVw gfgwÇ*N>ypU"|B[o߾_]\.[_~k.,-"Rcay#\ N0ºxqq3f̘1cƌ3uV?ϋr:-V*LɞsL.Q01ƨU9X޳`|TTp&#d<&*MXD넔h􎁕Zl_a1QUNU.BKZ*ՄR%[,S}S=85ҿk[zwv"M؅k'q¯ڃ Eh"{zzmݾoǎ]v t&`)" +dX^&* (١dcw2TԧܩD [ӕz`埫DO z0peS\Qz#:Z."uu`nl乊*O$lћ%1F.DJD2j ~@ȯBKb]&2!'[P\:J% VOA!5LȣQ9KU +J\*X2UU)ߕCjX*TPێ~\{媋]'+SW +˺_ aINuE^zj%JKs`C##\N"pEHW,@GC~Uf,ȜLdcYnl U٪ k,TP_!XPaE6Si%>߻\TT t"}Dy|SF"Rp@JY2y+(\J4H e0v'"?@ +Npp T=}OS2ڤ!5*HJV󪎺g7n+ȃ/ɃW7%>vqUjCЃ:,+5AXTN +|ՠZU}` *ea\~eY>9a +1 R _B!",j"U#Ikf.£ǎ?y3XDMx!ny{R"7mDX?~~}ppieZ=8~|}cƌ3f̘1c_2t:?UJ@rܾU0.岢 fhC.B]l.ګtvl252HO?Hp,a(",Rb5apT5\-BZ$",j +, ~<=K "%$K}ݽ[RY{޻ڪں+˶Eԓs4at'vrɃH9&x?ߧ~ouut~ LX(`uwu76kir.Vhohe"`  DEgBN#XYTeOOD&D2JRsa:,v,j"uBX9nz'4DXbpZ-[T,`k<5D>"roiil!I~#Pptt,!`%әt D*r.NNMCl[apċ,5CW )=٥J02Y,uT$Js5 ur?^g@]_Az[%rkҰJ \; JJ` lWC!1JgV.QyE4$f<0]s}/2^;XbGZ7(u0 B;=-Cѩ3%ThPTЄW*Ųz`/NTo2BtXޔmtn"WdebS&3A@++,",r'8m6;H_U+^C&Gf=g)=d/ۥ0 uE.eԔjR:>6>,gE`X}MW$E-흝pv;0E@8 x<V*Ng3E8Yb),ίh+EJe[x[Vi?ȾJ5nѺ, BpXKQ#DU*J>L%g/I!LK*EG{sb̭YNVQdaPv,)Q{㹥(trxIbI^ejE.:] `'l*))²q|є2ԧ ȣ杉 y;O3rU˚0~0Zĉ&Pd*(QBh~u>jBu+K+zCH " +{ +'L 7/ a-B V.ʯlFbM[m޺}lٳ:rtiugEx Z ro~&,EZ}<棏:O9P +;/ "W~_2wx;pſ~L&S_Il.]<%fwc\%`W*-#-γ> <Ԍ@X_͕T rE"TVʳj ^X=RRX8UU"wį]T&Zj\53JYWaVZHd D5tE`jч(vڠ߂b 9 !OQ+SPagv_,d2䠞jq@QJt5 D&K)QҔjYEE.U7%ؔ]xc.V,cHBO8%> 8҄ݠ +J2+9D(]XgEc@W=>[mA4%’B*MM˦Q+Xg,BB"Xl +[a[~ѥc'NWݸy=h>~ɓ>&wT!T>||}y"r_]Z]_Y?vDV.d؉SK^;wx;O~'??o^Ke/q&všTV@w8G+VRtܼ+=O,H5ĔLДb4 13\Jp"U(Uv$dISRˑS1( G4]$^]LC%KfIEp;Upz* J?_G2ZEQYeS/<#h/M#jOl>Q+ݰ@+B2o&UWKrY$ɃIcʉF eSE  y:DhUD: UlЪXVU*<8oPaU6Svڳw߁~,,8 ._viO*\T"[-B*ZX^]&","\; +K7nv)?ux;w<ĉO_韎|(RXYĮJw )JBH朋lZZY?cd|"=4 EbH(V +akgG+T!@  AO' JgH2#[Lqvv"Rimjz pTe$W/1_i$U[r2TM[ʸ0hԘIG%]@t ʻt(?*>b_"s%UŐӁC̅^w2Rg*_QJ45,RXDZ.ez;QNPfWӕe=wrSkR l/W?!G S 3ݮ ,&*?* ӟªf psPVv-bqgD5ҐV»X)lC>+"da*vGRYTr|$~U+Hԅm]_$sEXBܨ@pۖm;ܵs}A{Gh\v;-B"$-B"[g]X?~K+Exll!T oݸk~=x;w<?ҷ^_mBu:+U۞e!IᳪYdw/bzϥ{୥3g߸ygt66X`ec8EX`ta!yE*5&tଌ`v!ar,%sS& +)Ng`3щD( ;ZasZZ[ X[I +"X܂5F‘X4HL$t:Φ\ !EE I(T!:,jY +jUWI*^}x"E蔎,`* Jji2+VOT“|ܻdV+Z A ۸NҧQ( ϕ.ɏ&VBN+Ȫ7Xruu<%qT!c{tSt2S +5[~c\I6%skCY[#NeRt5{r.PjL@|xNrLԄOF3SZV@H|Tnp~ $W`+)`'q,/ +AɈSlUдy:y"[N]]?\VV֏ +Dw9~wx;s|^y/ OTUSJO9H\Bҙlqzf K+Ϟz7D*'FqxaǢu( Gñ1ŠV΅Iݡ֗4HYOAV.&"w",f +,`g Z d!͍Rq +Vk{{ )jrE+uGw7a P8<FD2A"Xl.$j0=].L_%hbXű{v<#(SjWu?S (! 59ȟ[yOhJG* XVV:ͩ@Y:tXW8XGG*uQy*J|Wrsݨ#w!&R\R)+h!?tyH񨕁tV': dTꄾ畎V{5R!UGcI'f7IxHn}j+Н2L7I+ 6wϊ-HjBu(ab礋B0'ɯxP-J&f1ETeYq+6]1%H'W2erI|VӠ+WLx_٦L~ӯSh~%k~;hpe]V׏/9_&¥ο{yx;wxěznn*(@,#TbBF"Q:=;U +,8뤉L#}2(T0k)'jyTmIni8-*=E)+~f@),ȋ=:([%#UKOA`eXjO)+i,&h]xU)Q)F n5C:ЖEWR1$Z\S%B\vj2`7L⿢CvuD۶o۾s=?pС}걓ExuELOX bb),"|BZw=|gέ*i/,՗_~Ux;w/~\?_y_ԩ=A Ok'*| ٻ-_u?X6x2=Bc#P 8P$ ƢH",EOP;a EBUFd2td1X@>Daᬰ`!DұDr"X$hj5{cK3`؅K{'X;a "ŢJbrT*sٹ)HUV`&<YPheVGvIxOfuE< OL10Ɵz +TT Q  !$U!TS!z* 5n󺸩\op vɠTI6}rtWʨBax!zAn! ݤ?XYۂTNx7*+Jsw +2dWS&~GAmAVySPJdPJK2>P˔:):ү._W]ASv Mc1[(wҤג+fl9,ȳR|PZi4@KmbwAg - WLnӎa.[1M r߾D{;pCхc'a"o߾KZ>}`;?sEx>X^;&Z+r__\!a8yK6wx;yϷ^}ŗ_w ʧqFޞ <ꄯb.|`+hv;_rnڻjv[S3d&<jh808bXVXa%KHXl0d]qWs䒀 +iR%XKa1'`?`5@ *Z[}6zihoh#.)==Ԃ-‘!? +Fbx2HL*#Xũ`!ŲUY5.,zbZXl\@UseJ4Q+үsߧu0MX4Օ8I᫒ꪒ&+԰&V&2VRwjb]hO")Eg_J↎BVuz`<,G ++Ьqz#4j)Vsv*SV.TrMJN cd&G#r"KFgTPB=AB*v%Q6D*SfuS#"U6#KX|%ڂpar~%*MA4:%T/YΠn $"EYoh B-)ig,-(S _UD Yvuf{Ͼ>Z.^J[>ѣGO<"/ks"tskN,,]Z]\!"㋫k"\\^^]ޟ7wx;y^ϫKzo'4:TNY̲2`^\\-B{ _/Y ZL.ͱ^q?˝s5=WHfB@h`hdp?0HDc%8"pEEXbP ]` U!B¯=ME)%E(#W<5IW$5#XP/`uuȽDZZZi~ݽ=}}CE CDaFr45'kjo q0UI*t\6uB7G]2J A]Fs H@ kۂ|(P]dbiuR≮ rܡ)}@)PZŝI:ii<EC`hX'"|t݋<}Wbpڱ%ExdaDXǝsYx;w<KK/;=1*>P˂!ޣ e+ L6g?v¥wݼ}30=HgfːJe`ppHFBc`V49W[!VIݩȝf'ҹd&"X0D"wƯ}YƯ&3tF+{ڻ[;:LUSSϹWDCEH"XE8<"w`ED +ZtsB8])N1%V%w\\ ;bRY+Q)՘YXY| Pja᪠ W1 TIVD iM@eU-,X\ێW(LEn)J4yj"iӼWB}$UL.Y_y'P2i˦-۶l=8x;wdie"|vZ-/ !姟~NZ_q2iBY9|ti…Kο|wx;wϿo}PF9 E+"8#Ir)$ƥݦ+$9Je9R ,0Sr V"Xkjikklkm5CkjUkG vv-BpawuuvwCp`P0< +"h VL#ũ XI ӳV1GrLCRzݨ۪E]Jƴj< z|5-(H޻<;|UD&G -]> x^jtN`lUW&EjwTa!n&2L$Lme0-v4[%Ur䐟LdZul1I"!MRџ߃Vh dEVWl$QnHiEz2/h{L$VvJ7+lж(ɛA2I,(JuSu-۶o{?x;9~i"|[w{Ǐ=~D!GX宴^W׏Z"kmDW_'6wx;yΛ7:׿o/M>`)1rV0ה$;۶sGN;wdq:ˇƢb0'сa ^W;CX"V0"a<,NVI{ȅ ~5Y$),*pRXbiɩlL< CklƍM `YĂ\ vww @kpxxhxx$#x<611AE,"OBk05=537-U)xމ#IJlUKb Z"mŒT \ gb\v!N\ ,J*N$(OQ!8e*ߒ)-Tb2]v@.NpY zzܕ@vKչ\w8dZ빰\xJt5 +r54kQDOYCA'N72T1(%%0asc.Y4(A2+1zM OWO盀'p0,eD4Ltc 2˲ t]*%y*4S> `HؕUšUc( lEB( Dd +SJeRT m+̊JXZn޲y[wlݾc׮={?& +O-b㇏?a,EEXE'|Ǐn߹-S[\Z=","?lx;w|}/+ΐߟİ +\)vzΡ - sLD2+wٷr o߻zƝes`(erH|b$$@HDs G RX rr-BWq Dl;a1E"Xn),B +a9LL!BYly5bC}}"CĂBVa;:;"aGgWWwOOO_o@p ccc8DE[T^(,EX4%Ig3\] E + dy5**θȷ2`PFAHdYO2'aԶB MW5pUP>Wjq*>.Rؔ +xTsA(BaT5( l3Mm8e*5= + J]٨iSGڊJuӐBJ*p*ĩ,Lj]kHaPʲbv^DŠ +4ml3̊dIPY-y8tRP:b!5/; DjUP,ZlaB4)W6W[n޲}w޵go|]\^=qEx;w?x-B" 经?y7o;X.,-4zxayqeY^|;wx;iljr^x饗_y/!U³uVR.t0Je^'%}ϾK+kΟ?x#q20<O$Xl330?420 "kGFc4EX"rw.L+`EѹQDKG Oal-ӬE-Na FGށΞ֎jnnhjl!Vʯ@D .2DC-XC~H0H#XXd-rY` _4` G͖5}2.fqG>v]u#u7kbKR&:?аK\V+ M@T-?Ӎ::s^sa3XK|6AjI-TR^:pPX~w>zg1I<"FJ@~6rWe2J GY 'LRs4e1:z4?b0=A8g0%#EB,(8w^?- @X6K@B/QHVGONhKHeWfY@[nU<;(AH"7*Mjն "JU>5 u߼uӖm[wܱ o.-\~E" "XDX_~->||9CWWNsG8?kz;wx<^|W\(54]e,Wd:͒W_E=c.]uʚ +cxh,7hd`]}ݽŹ30,*r9",-BFd"dV\t + _az fȝ ,"+\3Y D8 GFHG"X -0Dcw`sio"Ξn:D8008<<}ll, +D/( +SLqhK)8"8,iLK+IA +Wt.i 춬3z s$DVfU\ őˣ^ ew a]Ux#g%+l0cFqnZ.µ0R[xJٰhv$3p.KNz7j񗥠-bF R!6ʌKU1 a!#Kwd@Y34me7PXKY ΚqPKxʐJv'h3%ʃ\ɄLdI]q#_q%'N5YOЮVEJJb~EFT ˲"زN(gVfbĚ[r\`ڴyo۱s{|WË^~i>|Od 7 "|GYgW Z\Y~ul Ë֎{x;wx9>#~7^xW3TJ1@X$! Wl0-BŢ+ʯ(Jf&S|I .,5#/<Ѭlq:E#Xtt D:[}4 vNatVH  Cccx<:#XL*C"X$g3s9`n`I&+ ũ.[$bRP]qV]dLwc(mʋJOIeҟhWP%V]G+ju`S:LBKLU6!om>U ۮxX5|vI,PKXYvO(c,aU8 $e&Tn93hbP}-W F eY@ihOqX<%eSH.߂ej͘ҠR[t}[,)2Yˏ)BQ%EXPQD"UKhW +#v5Y,K(2Z]A=DĸتRE +ش]I[pd-BReS+&kR'<~Se~bxpme;vCo{,.Q;i޾sރ-W4ŶEx8E ˫ąE"X/,AI/zx;wxy:o\~K//_dA^MN:PluB22ͦI +H- j<$y){~Cﭮttx;p$68oG۽=}==uGO/` FaA Fh| X$8Xk"LǑԝ7 +3,#"D(QVNA`!ɉT*2EbPi D_5ZZ}6J::: |"XL#Xa"C@ 34) +TazF`AD҉ r`II;Ve̲J'cWt׏2. +twPŏi8+%,%A©`MD.ڂ(eh>i(UYJzR 2MZ2'"Lnm8~wWRYm]I(DgTʆ%e6683}: +k)&sDڝLL3$R%#LR؎eB K7YS]Yg8pJtŦ%8.i|UPhYBNaH$"@b,Īi V%DU"pEXVS`IUsgU>%\UQˆ6 ugQ;O^R{ƴlۼm۶v޻glBʪl-Bjr3E"XO)k>z|kWo|pqV|pMW>8s;wx;iokCo_核Xj%T*`*;D"HFap|"7핵/^>}Wh`sk[gwoHO`W/nr"@p h,LEX d9‰uS~\XTF4bFaXEt~"G,d +S*r'w"!Bz39`AyX2|p H-X]6_󵴶\,X]]r.}}}$G#ccXI"W; gffJ҂Ŗq K+$-(yEHҲ._JWUG6P2[%l}2%T2s%\RPQW߮dh@dYwK-efR\!I:ZsQs4:)N_\/?vRQoØPɲ] +:O@I'$GoQ ΠQˠ=l 3g |$=Ꚍ]G(łXʔ?gf({W +ëZa+V0k W6ECx(дyDb!+LrUaMCXCƝ,dg8r>!+JvZ|s%lJފ? " + څj "XvصgNi0I.@hX)JS5AWLaP!,f +Ă5= , 0{~8`a"Xp4FFzI,XBkj57VkG+",1;`C`'c.!+_.@kE4R!Ԙ]$RGѱv +P"#Y 4Qt[ӹ& }%A02L*<"]w7u7hҌڶ*,zhYև)@KSRU %' IU[ ZrRl=C9%ۈҗn5Q+JIF"aH%x B&(&LeG%Y6d~rL\?,_S]yYߋ-K0GP  Lr +IXFK/"lWrg?!=Xim>ȗ-+>(BYq;q6%&ҷ0>}*2R!4Ƚ<,[B^eeX :l^dW@1p@,*Su*6] Xl ;v޳z +'N+nܸ}}h2d*r/ -Ǐ[_tu"\",ZXr\]?F}w#;wx;o}o\*+䨪Ʈ*$jWx$>>'fK+kg>:Jwtw:{[::ۻkW-m]]ݝE8?Guu_57kmwn4¥ a?# -B"X "a|x$|%4Q8NZtZD[)"wPxGd$MQ ,X.2DFiy;;8V7쀰H0'& Igs"r "t[!2FqCDr->#@% ǜWbq|;7 &e5C}WO7zgĢ0ɰ\>LnIKX3MTJ:, +q/k<6ܦ)mU_smYHd׺9 v)>Kd$B-F8 S)SU$+*FuB^3EB̚$tbK\n 792%_Ģ>+*bh*-HVtK(bb1;Y$ϝ߼"ٻ֡w;|tyyĩΞxLEуEg֗_ "Xw?~Go޺s'?X[KL~n^X>|i_yx;wx9mmO?? /8=CU%2LeǓI:5rɫH<>#X,3e3[\Y߻sgskk666vÆnx㍍ o46иƦF_` AƯc0G8 +\s +2)h"IXκ)"Rw""a2Kb:_aK^Ep RD:h, + V[G`Q5Z|m,A:;^uȈ?G Š&@N63 ` +,5;MD|aPӌڞ3dH{0tN(`n5%e?ͧ\ TQJ +B˪}z& t1(՘75ujQJBV%FBjXJ z|.n,znO`]+<5`ڲ0w+r\I!q@ ir鯎ي࿈arIV(d?Ibؖq@KTa= wahNH,WI_B[E\gؕ-m'%EBc*+@qUםhpe VٝlLY6Yv@57Hp{a-B" .->~(D-Bh~rGnaQ5H\Eqǂ_ ;*% "+fĂQBF<&-BiBHSXH"b:OfrK9o }$JXjnmmrh +S ,_-B*rQ "D4iNf\a*O3$ _Q6e*1$`sfȓT%lȾ=[, TMϨk Wя\=Y >Q*Ǫw@D £XK185l'HV3[x8)#:AUW^cy&v[\&j+J~g܂),+#zk}‘*Ejm"&SdTU v)Y' Q#@w}H2˖?RIju.~G[kסZ*¯lELD) ȦYP(WPA*Jgl4FQafE>KI^ĺ +SժfauӆSLrŰUe +LűBMemEsozEs.^v;<,"T#XtIGw޿tکgKED[KG/.?NXwx;qZ|>??oGS ^ Wh$@(4 2kw?cޑ@^׿kop.ݰ@ofڨa"XMa.4E[HȶYEƓa,U`.!aY u'39 +bPf(bYšfEާǧr8|ԞΞ֎6(KB`;?#T +!vv{wo/kxx$-±hd&|q")"+P^`!(T-SRU[,oXn[3e/I˪J]5bBP,xew"=S%K&Z⫵ZID,:+rXHIlAw9Țn"}d"RRWUr \ 4ńGlە2LhT T*_pLDЋwQI Ap>yFd"&b&+Nt5@>)BM2Z]6$%+'5=Hbed@*6)CS~(}?}м[wX6VWɬUeq\&_ۮ*03U5y-xR5d. \qJʼxq[iBr + VQ&¦[l-wG[ lw㇏-B"|Z"?a- /8-£+D侶BEk K/,9{֝;9wx;yʷ^w?'ҙl2EG!pŒW^IxH +!`p?HΕ-w;xhێ666vtuu645z5^o 7lx76657|Mm-m]==],74<0K+Š"1h9B$",EV45&29` +i"g0D IWB2#",_{{Sljnkmnmmvʯẋ{E(T9"Ҙ͒aZ_a +sqt]NҖpTU*_BNhf$(W z<ͬ2`ET<[嶩;W=SYX6uꪁ +M);}Pٚ*1ʄBVVm"HE@rPKq[hiRD^2dt^)w.SE)m5k0#2TU0[%Z /nP wY2ऱm$s{P=v]E^  &EŸ&+llOxS.mD.e? [4%e #~ 5c_%\eW(+DQ+"@(!cx|EF("+U_[UJ6mپeEg/lGWaZWݸu=EHZ"E<'|ƭίXXZ=FZ-ŕ.x-Bx;w5&tԼK3vpN)~ Նj$*hM=}ȊZY:N+iSiU'i[pT qީ")!>.U0%3\*LxKuIUt$?ER1śJo`QJXJ!+) Dٔ +PJF*7cc?UfRY^!U-`[JPEX$4k6 ZU{+"d[KEv̹,/@pʺgsx;wwR4N^`vVv^΅ FF^6o۱yNYo466tz/׿o~_{ݹlx͍}paO_W_?#+{h4@#X ah eF`F >Gw gH_g'as"r\q*S(&Y+: G#PpWX{CKcCsSc[`+ N"XP! FGCX,')؅Le\~Fg4U*;)s˺*~= qE WJ<̒uMJ>@hu7 VW Lz¬t%LU,'Fba-]ѡdL$SB6ʚ0{I:dZO:4CZ-RE|*g&[~:.aP +%X:~.Gg(`*}9#I&Y(݄~.EJ|Z\'4zJd %idU2%X߹BK%Fp5UAӮ,[4 l'>4%a ;\ټ'Hs\bA<(A-ڼu> +H(2WVo76oٺuێmw{]^];q]tꍛܽ`-B5_|gBZnC8lY\9D"X+Ex.;w_8wx;y>Ns_ŗ_wܜΫD 4yEU8CPxT¯#\~N+[lOo6l|acgOo[G7o__o __kąE\>_s[;auwtCgm A?D E]H-A]m1J܈:!!r","̐!DjXk675IORD&#ؠ?30H#XM"lnj5746|̀ڨȝ(`ST{aί:u~E" D +B05S&,:DHBVF "\ߓ-B2\VvUnTHFU5Q+C*]]+@l'*'S}*XhBeOW3Zxs-c⦅84n/bce=ӳ=3{33q{?H"A-؂ +(!AJSHxSH%IшFR5"Jdef%D|y>ߩi`JyXYjJ>FMKXc{^)W+5'(h'}1wvI)4?YNq +$VSOԺ }8VicF4)) xJ3;q̀d'whwb-vZنA@ Y]@Bb?Se+mWfRzumiAuOYlPE] 맢5V="<0]Tv=&S +Y.B$<=oʁ!iشd3C4D,b/%d GG&'L\_\ZY Fb۸R/_&"|E@X_~ճESE0'=Q`8EUkkƚ#GO~QS[A,^5v̼j4<5u89r 񪢲YYᬬoYoIM;_P`/>t'uɓ'RRNa:3slYĂUT\T +GqYYFk~ +Xj6b5B/!Y;Zꛕ Iގ @,wR>]XBGO^M힦f`jT +;;Ӗ򃔂_X,hS vLR +:jj'x<`jmnkkl Wy섂˫ӯ[,X^> U:Q0%TkbLV\q yWp>#3jPhL ^ +*;crSzT76#t1C&_@$p #v)U+U(X8_93d`^H4qaMF18fU 6S?ָcr>FCiU~x,9h'#q:OSuAqIQXd@ϊ9pXIȆ5==sjX~="|/x]| +w~^"k5Eǟ\ۿSXa{ #P$nnc5Xc5Xc͏ir/~[GdZ::(󪱩(R༪o` ^U,@r.`U8 Brut\ty+v>]X\vSǎNj} Su|:HXY6-(+,*# ~,wg]WeaxEYXu-:CHP!E,$a]@)‹]}"݄Տ)XZTUHqyyn+(ȲٔϮ,s EgD"`$ŕe?3t,āD˒ZE89(<4BN׷v߸u磻HS6EM~ݷ4EW߼x哧_|v[E +wF!B] ŠCk7wY)Bkkk~$/[5MyHbj`-8jܕ.p^~U ʕΊJ`5w]/)+OIK;s|~='/3'O:v$et8ƹC)4"L?kۋ^V, +G r aVRjQZ-HjH"w rVGܻ{;z"pWք~+rkE9mSpU+w[TRWX̌쬌,e (XU@WvBX+{i)`9EXB wOC#t @: +%BR)٤JX$Hxӯ4Ir:80P= ~Ȣ]21+xE j}\=3*WmAF/=-ǸrNbRxҀO"p- fN#u"opd-_rkk͑_7|myyM-P5iPW89XG*WlW*P^t9nBŋgϦ΁|\Qs'SSNd-XrOMMMK; ",.& +G@rW .,~U窫 ӠQ~YL-XZPFck[s[GKGgkWOkwO[O_{Ne@X>`w`{'XJ`! +V~vnn-;= h990'YTVPAX_XXhۋKK(ݩU*>NӬq^?yF,-'i>F +4e Tk:-G]XkPwTwB+sUTrY? \_ 'g !&_ii/ÑP8m]rEQ8$(Ude+×PGƩknaqyy5on\cERԂE$E +R߼|rpt EHC(~磏_rkkL~A#GOOqCW`wy@ +kjuA`!XUU-mݽ]}2srN(+ޱcGO" SOu"L-(+* w`]UE`Au&ݬUb!6 Vs[tao_HX8BHe+~`w4Y]SpKK󋊐~ar➟ūB$,*̷xUB**gܫnۡ<&H VwOw`]q+a ^! jT m.{JTiZuQJ=Dhbe.j>,,L@Z͟9 UFpOWՕf8=ds|:p|$//F kL'[7Ȅ8+B ]`L%k8Τĉ3yX! UD/;5t+&FfFrQb-4=m"Vi% .3D+sjߧӝ͍qCrGղT +dsL%JD+PTJfXd%M©?S3FFi$DEyppO? Gcp$F76߿ ,*^؈%Hp%#~%Lw`B$aa  MBOqW˧OA6Nn#H|=B`.p4];??nc5Xc5Xc͏f~_o-/ߣW p㪭T;x+G%Z# W䮼(5 ܂´s#HXǓ'N(Kӧu(Eh˵)*,̷^Va/+G8wg ҋDª!XȽЌ%,l- W4#?b.Ž掮Ξ޶a.B5Eū~_! (Xݘ\Y mȂm |+ + + Kytb;*"@V5`56 My]ݝ=}z(KC`Ѡ*.E0ja}F:4+Q ʬPKi=`[ 25s@_Bg[8Pܣ-`(Z,W+hw? +\bR.342:6$+3W +m`"|ŗȃYCB,aARSoll" @Z$Dbo;Xc5Xc5h[~9yyl:rUv1\ċUUE,XrXu -m-յuY9өgr +%Te\SjreL5P.0()1'.&(0D01d+z:'FH,b=(l}Mfd | ^g>+N9Lc53{v{y̧ GOW,p&Q;|gsH_!7xU"HY~d RyJ`jVf,V|skkgok+{&pàO?lvq1pڎ֕W :py;g2REYGwB.,YFBGFGIʚrōI.( ?n4Eð' ++U5Xc5Xc5hW'o|33'WU.-<+e;JYU8*Y>4[~A-7LD{RNHNNNMM9} - ^Z^\VQ\(uTY q)!Vp a b@-*Ƚ/j‹L#!`6" +V lDqUүpXv;p aqQqDM" M" VcKK3X: Fجȴ + RL_ᠪ>ziK*D#>NEP7Jq&"  DC;&}<+cOFliM_+8T:ӎWbkFEⒹ2KtD?c<{:FK5 +A2I pfaCiƋK>1y|}8ȊgzG&Yav<3,v2*('Z?0 Gc+J0,˫kK+X\* ?zdcg{ai) +kַvַP$ BpEegl}#cq嫁QS݂XAl¥ RTh؈1$a!M"T>?"|{ +ܿ]2](E|KH*o{ooncN(Ea4Gʏxz9Xc5Xc5'//OY[?{Ϳck 9誮& 躪 +E],w:[[ugN& +GOQ"JqQB ,^KJ @D>n"Iq9'\H_ƹd^wf3HeSID3ѣ/F/T2~Rpe}(U1trTU5v +J:h? ~Ab+r+?e"LyE4PV-p v-Q,jLɠBP$:8 -,GX׻/X8VHZ][_Xredl\;{?|/[DhT!<ŠڵA-ĉB$_Y!n34:6:+ G{nܼ}8X"|s"o6`A!_Bݽ! Ɩ=(h$SO_xkkq̯x뭷~sD!+W`6_ E`X Ve EuM - J*K>}{Q?vSN$'LIA)B+q>3+#ǖW,"# VCYJRgU +",Xn0bU:B +uGBҠԅՈ#t݄Rm m-]mk JqK݌[(I +YlY➅@XYlA_xU2rn"7A1ȽO`]+Hj'55Q:d~N fs +idhW1؅[9[.O4Q +QL[m^%c_hh vo<,!f nZe9{ %^ B 9d}|eRVҌgdZ&t)66NnVST:[/_E^2WDIu[iCz pd-ZXXTvGG'FFG1P >K?h߻h,DCZpnaqIr`\_<~r,X OWRAP-2b Aº֐r!eHX`0ܹ[w޽wy9J~ )W4 F_}M޻R{Z 1=,XE[wkkk~$cەѣIoouj+!$F,5HȴUpa +YZ^SW,XɧSgd8q䱤w{SU +%%4`?$YYy9yraAªDVu"QCqX_-˃]kYâ)¶;SDxIb{υVHv5{[ 55eNL*gl٨0\RDZ BXv0ŽDYJʱD D*ka3wvuu ,XBȘ{JQ0vpOyݏ+%YKM0\>TԹ*Ķ%Pߢk}x%;̨MtI4CE5h( Lo_bd'}f'SVdF絝ÁNzH2y所N>> +;^2M%xs1VdDH `k'S;9.TCӊ5JJjbsȪXL6PY ivAff"Ycq)C0ÑյJ!*( +S襌Ը%F=~,:Il5 @t}yppai񓧑X,8x( DD?`QAĶr@`[FFF'Ƨf^_\ZYu"}E H] 뛗_~ً?konlB.,Я KXʓolo)?7w_xkkq̿ox뭷IN=]][W WvUSU {=*jR6 +@XXRw]}C3ؐ++ӑ+t* ++GScǨ@:Eϟ)\i%. G25xJNە(1H+6ǿd=OIf|QGd'+C0MOKen*Jn$ؠNM j+SAOkJK02Dk  Wt&h*Tʇ$B6Y-GFF#ʩ.]1/H|s{/ E08@QZЏlW`B.,V|-,-?|h5 +EbJEbS~}ac~7>ɓ%`oCRWJhW@!"gx a +aB(YyF&&5;P8$7o=x9" +$,H~%tw>޽v.8 RkJ0؊m*?Ojc5Xc5XczJJKuMuoo_&͂[i~JXՔ+BXNgtU74˓3ys'N w$N" tJZZYTDu>3;ӖKAE*{yyqyEIү -@#v^*7x.VPY։ [P!0.Pc] +rdkGWs[S_US[樴 P-;7[ w²,!` @*R roA]]]}._`)zƵbU; 8 +ĪX$%p@/nyuuTSݤZXDiT UIJ/A.ùt26m}ț7I4 T+ckF2TID2)3KDW`db+d&:~L.'%zI@ZW g 2#>j} ^8jqKdQX֚ Ք$ndYWYONίoM}s{ʲ?(UbG";HdE'\mHPEKƬ7<|8}u6_W+s8'`B;QƥxÏ>Z\Y ‹++#cI4gZp%S2ZG ! 8g^:?ĔG;L!"Faa +u~ J᧟=@]{tkc3j8ƕ XXc5Xc5Xc?o~G~˓))5uU.F~;:4;HXUA+drZ\pKO?z*5SR0{@XIǎ%OB)S))ig0lzٌl[-7'R (XȂAXP%Խ][uWu *sݕX-u^b]X؂)޶FDTTU"BZDE-Xr%BAX*;*"D ,"u{.)͘*]F8I=N=ɛHh2cd!D/41Oyu$+9cO}4q;q<РC9m +4uKXqy +R^.~(0v6s[׷r0on- +F>v( GW}(0:ZVa7/D(J~=rޝ!dJbK2_ #/d?gafv`dlxt|tlbKX"\YYkk?="|grI+\D{MSp +EV0 ZQkkk~ru[?oۺUe B K[*jp8]5M-RSI;~ę+DrѤw8 ։''':}:*aeNϱ PB",+)w@\XXRnnLt V-( W\wR؂nh4!`!8 +EU‹m^ܢ.u:eyEv[>gg#;HXX E1HXv$ە5vaUQr4Ƚ^#,BH,X& L2&+E N$08ȼ۱h0'*VbR"YI d6T+W +Z2gL 6ϲnC\^>)ʄݝm`2Oa7}P2o;Lx?td3.&S;W2ybbKLqt۲fgutMd,%+Nn;ES4E rDV7|ey CH5УbԗWkPXyS4ާml#эK"#7 HyP'@qW}YzaiE9U0Gx|%,̭*OHkʯf X4JSjHv"D,DABr.񉉩ٹkw} ]>zs"1W~v~{_AkH>"ۿzA9$ʕ%ƯPi|$^?k!D'.JF`0쌊e(d#{&;3Hr`\8)h pRu]?G˫H$:ESJ~'{nɽssz|csrJ`xR*5 `p6%3v?һA4:lWWXFF>1=15sw[_<,X_!`%JH" V(f8Ap/9Xc5Xc5hϏ⭟USWn,aᅸ,XU+",P46753RΞ-(L>^ұ}= O_dRAђ^Z,Wԅdc( +AzMf5XIG\yz?Z΂E"RDٸ) &hGCSHC`0<26F;ePlcrgϞBp$nlvGK"֝<ɝk`8\t|zF861yCr;ˠ_Q +QP /9K$gɴjP ~/F_waa+@r_Y^ E;$E'"|H/1*a./q"D]H<[gSk C˅e5Xc5Xc{***7Jկ[[__Uv! Z1kIAJ:+) V]Ccy>3#95Tj*pO>vǎ{cSIIu"%%9--RgΜO?q>3;f˲w RRTA",u uB!X* <KrBVm#J HX=EV*a,ξ֡UWpJ** +Kr sr Y,e#[ +p0WjaqQX*Ƚ=jPUr]C ۃ,X9 Ȓth P4Ri6P0/#jEKЊڵD}럐nQWLd(1AP4*?:Ϥ{T’L(~|f0vc3կ #/ T1Ktr1^k${vHhQS&SK?LK>g|¬ Kؗ^D-Q#Z{ [&(j jmR,B|Hy+׮݈on#kdյvgOO.*6wãM *hxbjfs{w7opva eA +#tyuurzzdlLT*TY(*D7_]iVe?FӨLbZ=@fa?4ĸrCZX\^]> nA)‡?~W Z@¢)>ݽk8k"?[wkkk~o9[o_uMDž*"X  `aˡihonq奁+%ټYY'OH:v(֯PIb" s8Eo+(-*/F.򊢲CY+]ʢQ)!aX:(t "^ud)F"a!`u濢.Lq涎wPUV_Td*ZEy@*+Jq',Eh/) Y ή =/_jlW? t#Ui5S ,Z,YC zFVBd&245hD&s]G7tFI C()_=+"¡':9@̮+$P}؂''=3&P3"O1l& ʌN%IFUh2Z>J2h>㟧X"öBJF ~A%4~4/}J(DgfgC#y+(#Sauɽro޺FgAR"2RT6" dOO 015 DƳ"+jRo(ʲخ0 +(YRXd?ga_01% OOLMM_2;? c[ߺuO/! tz-~IX߼R/>>޽9sE۷|t^8S. +\gy58kX <:>ARvEWJDQhr)ݯګWJsg&F]ɈQ+DQpdDy\pzjչ嵵H4߆ E.¯)o^R+*aϞ|S7P0ĕu[7Q0#5ykkٛoo%\n]Nr" w_!{\+(L>z&-0,X Ex(܁u*"<|DrJ3 +#3=+;3Y l wbU:%L +J ]êq:k׽N +,X֦͞+d8K,Xronjkohimht+ pa-Æ rrss ?Ăv`ȽDZǃ@s/,W+oDa,ĒRfu2=Ib+ "@c`){JٽÉUj?S=cuq<="{b=!TbBvaE|}P0%WdqK + CL541Sb! "w@".K8:6k? ,p.sq.Y]ٻyͽ{ۻ;{vv`kk(5mlor>V;׮ܸ[;j0 G6w\;>3;\qٻGF$"krn߸[׮GH4,HDI*&ZuؖT8Joى }H (WCd,XpONLM\_\Z^[ S"| +)Bq}qշn" 5E=r>"TSZ$ll_xkkAϟٟ)O1w= MsEZ *"dUTQ ,X5`jo,w8ϦN=m{%AỌuԩɧNNIKKM;s3(XD* ܡY欂 aeU˅@_8!Uԑ YRWi.z`7.NdA)¾ */}+w6zpՔ8E%yE@ VVFVf $\j w"B;J+':Oa +VK">B(:UfP`+uR U̻E9A53_}kN̨St?98c`7gC+\MMht tx(K$'r.&;R6\Wf's1X $ .nV + +?hL7d6i$ݢ| ׯNYuWzh-FkE"~$2;'ʁ˃^$q3 x(]\Y]Z][^]]Y C%@/^Y][Y[õ\^N$ UXAH ZP 2YɔP)Q +$: aj,X + +l eI86*ꪒp<1}"zxtht(XSS3W6;Ln|p"|"+E-Ve./|O?{SQhT"z(_ GB{=kkk~7o97:!tc +kYN,XUʊ*Br~r>z =+DǓ RGɓ~u.#a{Ĥ| #:{$VyͺM E.B.%ߡ$K|%^"<'%ESC)Fdӻ=IПY fD:PVǥd]۠_Q} +dLVl|p ϕOiD7:؊׃p(YZ]277933533senaiy5Z({mc{ܼ >904suV9faiinqiqeuayynqqvn~zvV9rskg}sK9(TARE+W,.--./.]JAJ&<+YU4GF`B6k+0UH;ai bAB,| e!Y9-  u^#]>{@9X/h7.!qa}/zO>7ni)(# R`>ևw_xkkNYY?OyPi  )W.%,s8*5uOcsm}C\F:$geS0_,J:S)̹g䞙i',e)(.QBVEEI A *'8paa;Jb٪R٨)Ba55576aJv~$ ¾؂VRwVWV80+/7!Bk +T fŲ1ȽDw@.נa=`!{{{g7._tK^Z>t Zd_{Xc5Xc5/#??,XlFVX+e],w8+ƦF<iiRSϜW޽wSh,_W-XH[[/\fV:  +%",)+*]X,weKXY5M]X_a9 ,XMM͞ƶ6-EA$]]:z{[z,gMM` IXY`!WH,XȅE 1n/.++,\U555uuTDuA΂cYX%ۦzO hSKLYrN0$Glb,&n#N%#IGj|&!̲)˨Vɼt b"g|3ϕh>Ig#E$R#HLO}J^{D_KL/uO>LR?>Ax}^AFFG##ycAw A_4__^ `GڵDܓϮܘ_Zo\|Ή90}YDHR`h|rj%Rxpd5âD"鹿P)V$6!HG"?2+Lk'n+HXD +0\wqAr$N, èpbj@PED7vn޾}' / ܿX7PGg폶w"p4cp#DGw>V~ܼic5Xc5Xct~׿#'?^V^S穂.Zָ+iW5U.΋r'Ufeq=TjZZvn>PN%MJz~(X%%;q JQgϜK?q>+;#ǖi;²:BH:ȈUFAGVK%b9iKXT8wDǪE,z,a542)Br)KLt^hF6`"Š*Ȃ̜,ZD`.BlB.`WKynroE-mmr" KҫT֐JI΂%C}f*ȷ}_+O8>"9v?YkE- !hɇdT1>^c@tڎyN-fX|©["m,9A2ƇKIFw5ɬEeAfT kOX;D,[3I \] eikwo{ԴWE꿒h|sKH, +yʏQ!r8}j0ƔwH@ˢ߯9C3WgML͌ P4 +%ܜr!rr=_hPĵ +" j0PH 9A"H q ~&R~BYW!duX~52>161519$%r' [?{}rG9B₄o K9J9ާoܼFH<[G)B`){VCK/^~kk=?/~FPԅUvՠ a baWEN0bUyݞr,XSSSgf>{؉=N;z 5T=w6#$,E_``,2Rr.,vָʝc;UR"Vv6y[ZHY{)BE!D)Ž " VWSk;`Uה:1 ,XrɁ͖irȽ@|e/(Y¢baa ViiIyyYVa 46b (X=؂u[KUT3'ORInL>+IL)}u5a[e>>d' VzRNKs^B4½ѝ*HCدD[X5LdLDvҙ3&+g03{D.c<`\46KIe41r^~k|yI}4O'|O + _]ml|pk{`?0;__ܺ27/*YG_@|h8DR`Y("442;|ev.quaAXVQonl^ݿwmc{7WWeHJ"$ Ma YP xYT/I `v>AUR+"a%CE,XPA82cE89}ejʕG[;Ï |0]5b*_U}={|aQk}Ukkƚ_)_ȑӟ~WT\⮫sk+`XHAs]* QUF)Xʻ RϤJII=s&;/|&*"L +Pܱ$rG)T`9vܹLՂ 0+nGVY`9Rp"{%hYNbA)!@q)!$Q+|X ,ER +Vkg7M^0܁Ջ,X=ԂVEb[AAv^n͆l-s `a1ܕ5UVV ,ۡ|=-rolsRPD( AA'IG/D|^P\$U^?_̔7Q' Kd^Swe]Ndz$gn tL:Iԇ$68D&pғØ"oT4X4$撦&1~rK{; \ʠ_ >4zlk+u+:h@>D>jS?srArΩ1P>;{F8HkZ0*10?@VGƾ˥P4 eӉR `$yЅ$bml !Eו{S6Vւs ccl?rz&|bXђ(JmZ/Ў'P,vE(TlϠ`Ԫ!\'9A$RakᰄX{52:dщɱɩə1(߲+WfgVVC¹ܸy;CŗEXT+H*_U{чw^;Wkh0o+a r5Xc5?{Iry?C 9Ύ٬q~<wGP@ +JhL!HТtUՒ[>Rg[v 22C ^2ˬZZZ«ʫ/uu`W@q' ,# +bU]C#ڠVׯ_~V^^AqIf hDx1ϟօK~ܯ^@yۄ_\RTZ +aWUaV  1 j 7%TX- -đEXjXMm gD-KgwGo_go_O@PX"I5I\X1҈(XE] r NaiyY;xd;EXS)B,a547ܡ܈pbjr筶Ej[9z3#'Nq5zwOٟjMs߂I[ǷӸDmAO( ]ttvQn" Igx+q"ۋ3rW;JP׋|=Ν1Q3($Y=: Ѯ][9VP;X!EViJS1:1vVv^S:="A)JpX+C|p,Vvwcd /޵@2%Tjg7>"d~$g|+ v%f3#`&F..g4.XJrnCv8M$p4Hlk;x8֣:G,Rv +4= )D Wl%VTkx +݀`92颊D+lrlӥ$ +0 ++^-/kѲuݷFXkͭ`8D {ƛSa}|/P# M~|7>8<'w +R)@Cf3S<s_eYfeYf"`׿~M`UTX[T;`Yhd74a [**2.^|Fvai+W^q Xºx +")œ[y%D*-)V!`v "ڦfY"M - +!b5Aѩ>8BR4EHWENL bj V=`V.P EH"X*+E* UUKS M---?0 w_,PQAxXơbぶ3ySk2Ⱥ7@kfZjEΔRHFv6FmSpV$η,t H3{`T2Q#"4Mn"t3`Zbbw"F2/)ng+ׂu@QMR%2@DD1+Qdwv{9f~gmv胏>{A.B’ J!8LFIC#:=.>tl%8TVDCcRdt.0y@iAHt* !QH_.N5fHD"wɥ !fd%ЦhCbveͿVZl gF`# ?>y?䓧~_|E|U,W__|ɳw}G;{袄cr}z V,aEo2,2,Ph嗯\VcV;mGPvJ.z`5v-MhchDQxvL4r Knȸt8322KXu ,X97n`{^UWV=VTfa#a;చ!BYXD"v,paY$pGGǩkbftrvDE8%ѱO4ʚR܈+҈7")BB!&_UUY M d Vm}}CSS ^܈ppxpdtd$,܈PN-0`dŅeW,Aϼ2@NDotKU:9e5ֲzZbx+X}1$IʡF|Gu Kt3~D=߮K m OqR4YBQª'US7A36'sC.c(O==@I PNMp60A2Ud,{|`8Ot,Lqf_^Y/t,&ȒuKVt>y[o +';{Gx|u}*P!Jk݃CvɽpTdz|JiH)R%cFubFVX pUbdoMfcaYBfrA\a_]t{/v[=>׻/V+kk4M@]mn6m4hac+֣V։̵lKv{"'O}i//!X8!ߠ77g~G;G'wB81paA0Sh1mfcYfeYfe֋[կ^yॿi$\ ,,^5 ^AGB@ÒQ}#*"ƍ+׮efg\̼p⹌ߝ? /_+++3(X9ro/ jO)4",+/,VY5eWWb +w$$8:9BXl.,ڎ۱Z1 B#!aa.VKGW[ww[7` B,Xcc aMr +4Ԃ54C(X--%E +a!X +!`,Λb ԀR-BP5<2<:>:>,ڈpqnѺdS+Y,؊D*1WJVĜ]V6^bxڒ0*ZMzCwaJEP,p:_4D H`V#*%#FaC\!%sPGHX|JNݹHnK>=G' !`oiM3yv03KA>934pu; Өd,2K0.2Wdf?=Jb!+8)A$ +ީVpfnnfmvVXѮ0ǴcaD#hW;qLLc +S5kmI4#Jظ3 Y;i^ӂx{GوnJ +!:x?jF{#'yAϮU̸hUD`mQ z dzBzy_8<>7 AJ7E3 ENcT,Y*O.A7 Ec}4L7ߺI4Gr^/>/#/_}>Oއhctvp,`#T,spt?#2,2,^_W_K/_k,$E]XXT" $4B@pvtc +, [ge^vŋ3.ܹs.\E";gF7+6PUV^R+$, $l!#$ ,ً\ZqZD,sM [zں{;!E8074WCr'5bք#"tt6X*K+* +UWP(F!,/!V T,paT@-Vwu~5kzrfvZ@,ɗ0|( K-X 'who'R0SNSC cɃG>zw#Qs oJ+R"}=|4H,O/K6s72=;!]Hd% +KUD!(MNL"%E7,6X6%TvhAl%HJ`[ +JϠp=+~鳧>{g~O?O<Ï~8:x>H<O&vc,l2(G믿61,2,2+o9-K`BBM< KaC/B0vvt64 Kʲrr.^|t!,,E([]~*rnfܼ |!,)(-{y%U^SSQ[14"qՂWoV%#" N`  50J@S$3HĂ5<154>1X*k*KKI(XEy ҊRl)X0@") roh Z;:4"$np'ѮRb`,|>#RFx@qR2yDo&t`"R%xZÎ_ SM Vo@tjT{a`r(Ґ"h؍ZL0$2vK߉3&|IԽ\TZCyY+H*F)Rj43W\@"2x +KRHԧ&Y]ˆ[WJ&&<[JaN#h1F7$yvam#?}O$S;;G'w֛荷vCx8 +I`}ss+",:swmcj@‘DzĖ$؄J$RJE6v;kcWSbQT9o$֔%SE PVdhS2JRÃKn)ȃl%9mX#۠t{pcÕǷjV0V7kɾBXN84^ƓQ8oi,fGW +^"M` +^lnx+.Otމۿh{;{prރAG|0>A ƛo߻CXX +ET" 8zxz;=8|ͷпccYfeYfe W- zo~+7"$)]5YښZZ5DwBq]`Wd̹z삒[yW3Gfd ֥\%7sn޸{v^naa^qq^1c;`ՔWTTװ)BEXOhj-uM"l[aV+bQ{[GKG'!E8;0,Fą5Dc @'`tЈ0?܋JaEy"ŠjDk@V}}}cccssb `  OMNeQr-DBVͰc]#jPK%X&'H4guwQ6}`r2QQQ6-I{0;8DwE"Bfp6G9^4QAhGw򃇏{przowa3Ov$%m/d*KEã2,2,^` ˯okYYERm|EY*P0JXh`7efg+?4fNK3( $/\xҥKWP +,X9"u +KXUVR^A(@-Xa]} Pb{]S"$vEn½e &gN,XG`MRpw@kwwS[[]c[iEeQiiAq1QTX\\TRRRVZZ^VVQe;XSUU"mlkllljAHX]=@!ZJ,X8B8?#v]8HGDIOYm|#< QY:PF=6[9'};Dinq"/«76Ěl:3D5(:_DZ1ʦQo7c5{klI|,QиXax8XjSK +h^ ',tV(K{Dj}c˷È$eon#,gE uE9}z#v9H^O?Me_SDft:Hnٶ TaG$X FiЏ֝tV1OR"{YğJ_- T?TSfUIHXDQ`(?qˢt{{W}hjucCFC'AE;f[ՊVIwST:Y88:98>AhA"%Ͱ\^[W$ѱܖWV7轣̻{Gh'GGh985=53;37բujS(j.I:HHX@՘.t]x$9ZgLP:L$(vI&}tΡFw^2b7pY)*(dT#|^kDƌ>v悁9.L 9w7pBO7Dsaiiaqj+(\(9kP$ً5BǢĘ$ gޝo#|?v`A%zG6 &fǤkaԌ$9ղt*h]vXsß6変q^9l()  Jehm&:H)JR=W2̊MKʄIA I=- +BU +p=IB4!U0 Ec8$HV"~zW  ++WG'X:=89;'w݋Cgvoy +d[-ZlVjt}յF I4%#d8Gk67W\n/:@v8OF"%1gYfeYfeY/b7"я+eK{ #ה G# ZZI`u64/y[%%7s.+ΑKX"_Gz`ɽM,XK +A*SRcJ`Ub 8&b֬fPHP!7wZ:a FFǰE\X +kSkxop1UuuЈ4vaanAAnA~^Qb{eE)1 +pUU\a;֯jjA-l04" D痬J@~%,f2|a L*6Iˎ,.'oCI\FOXMgѪ^ H r*΋Kȡ~ݢR9$>up0¡ +\N$ J 9xALu[)cn u +4VLDKOd1Jւ"2P99Qh-,Y!['()6=(:]&8+ٹ%EbP$*H.4L*ȳ$KhW<|XһhJO Nvq8xz'Jo$$3JJ!_ ĥiEX+Wvm:Un31,2,2߾ꫯ~V\ C`5MQ,Mł[7o^DvAW.\d W._Euf͛7и]T Ң2*a_UR`#HTۈAX`:8EXLR칪&i*Z"*V 7Ƚ ܻz D8J(XSĂ50d]ٱ%ddezY{>Ȼ kquMC:gYƔ6)Qrt t~-ѠF_D-8n&MD)66p%Dz~|>n~Jn#i'X)/ϐ}HK8`}9T!hNTiT7t{%&'9Xu*F5tdPD~6)9%z$X^]*i'H=&_n |ʪ :VAG']oۍΌBQ+93v鹹%'O[߹ IAciѣV$nLVouBiX>CnW4.bҀeɋ$v2py|D}+ jcmVF0i#lH4l+p[ɝD +VXߡ@:šՑ,^)1b$wvd0!W~Z ֙陉I< mV;%qHL fG-$oe}3&bIGp,5gF2,2,zqP~˯|?8w!F%,|@[.-$H674576wt7ܺ}zVkn޾]T +/]r.#܉+2b +kYY97Ж7rso=@%eU0kkjAU"lH;&Ņ\GP K_ E?3078<0 w` kѯ&G&'q#¾f`a VA XnC#BB*ʊ2DwȏtT!)X]==r"CnO_eN ;x>gJRJxkm`gcMj[=-r S\=.fcNBvS9l'ؓtjVRD3A )I%q.IJb,RL7UD5FXa789KOI<9d͇|kLVl8Vj\iDxJv79Qxp,ɀ)UlD*P$L{'wV;{؝%8l {%LPUНK${{O?:t4s=6ےş&KI* P.sV>F؋%!TDuD.HdGTXh{#:Ary2:ô *6Gِ`>y"\,]2/J%*h70\Lu7iPӜ sgٴO sA ٩>7o޹wOr<^xNE!v8z LJAQ+Ar|?(wvv5-D/;=nM Ԁx]#77zf8UÕD8qLvg.d,UƂvLRÃSt$9A,jM6$mEdP4#0v[`͊ZZDazh|k;Z^]w{}Y=37?9=;>9 ZFk'&'&aLMϢ19=3 N hdu<~ G"Lp06,2,2,^~_+/ϝQ5v"YjGB &F}Sڦ4"+ȿu7uΝ9`˗ѸrjfW7oͽ ",-Š +hGXV]SF$,a=Xu!ܛp)C_AGBe&t"iS a KaajjD`ɍk~[,86:‚|Ƚʕ.s(W$?H$ں`5Y,-r% wb +mFIV*CFSvgАZ~F*P4L+AgR IW>A0tg$& Kx.!Ǽ)>CGwLJduT%nB:(k}1A1RM2S%;T {+Aɲ󨝼ȋc +ۡX뚪9؎xLīgƢӵ3@s{UܛO"e%ja[^ÏbɄ Ik;6 Ç%9[s'_9.B/ܻӻ4Ӷn7*wQTO$<%;3mWr$' vNd<̭(P8^7CG\^ÝA +@Hp+HVT#$I*[AAʶ:Z v]uȶc99xXD:8?DMvۑh [^uy}iqPO1<:62 +bM]Yc0Zc鹅%C#~%B8z}lz㭷?~2,2,zqW_J؂I4+Ka!Karei%͖F "-X]m`j+) 넂u p!`]tʕKW~u=;;;(X^[X_\L ʪRpab +WuhTvA"B@AjkV-Xʲ,dYaWkWwg_g@/"!)!4'&'d +"D +V?zyYmDXT + KKB,XXTWT^`jmmh V@ X0kbz}ɒuZTrA "'(ڙDݮbi;iVgJatNFL6ܓmIE1M(~=XT+ ܡM N|;564Nt-QѵT!K#! #H8 A&Hxy-lVɳ^"WN~^߲.n4;"؜ N + +M~8U}/3N:AH~JKAAtrŴ+K肼14t{)JLRԠ+d,;9-Kr2u.ƶcc`4WQMOUul?ǏW:"K%ntJe R=D횳N8kWqp)ݜ>Cu6LZg{][o{E +Gbonjgo=˯{{Ņ%AP7Oյ'O})_~'#6?3ʪ.02h (iN +%R~~SϻdAPrtٓo6ANs{vAÇt}З0'O#os>4''@i_dC4~ʳ,ksy'{C +jEEg" 4ʾ Vkk$F0 GmUX wj: lu1!xrztVwQl suJ!W2 + W̾^G`ih+ XZ +oVvve/YgprpU`yr rlx( ~504}Wv4WA4ԎYfeYfeY/x//oڻ@d iISBbu4 h474vvut5[Z*2s!y0Ph¥K.\ Vf\|KWA0RrnܢₒҢRB#^7 @X 8?X [F&UR,9Qʃ58L{+ )Ղ5>E,X a uFԂU[[VYY\ZZwhAWHA%4BXWB^!d$,`a{O_`A/ɩ l_X./['(W Ua%(.}A TN6( T~5I%j\jObwv|F IogΠ 2]n|D#;laMvsܷ+QN#pIj"z:Ss~ɿ G?⋵-Yr;O>+>ܷ`Vx0X893`KnFI_aV( Ǣ7YfeYfeY/t_/׿on+FjgAjiml7576wuwv7YZKodfg_~=%`Å;(2g\ NU'"#HΉw{f C o΢}afnjw<>~XG8&N܋9;7Xh?x+H[]>so3ַuXS\Gu&MɫSM:y9T{ Ǒ$΅uwXY vr"[*V;Ǿ`+*0v{ZD"+.$#~Cx0 +[Opm}s Y%cV 3৚$W [aZI)9V؃.d/,a mnde1<:615=fp+QīM4pو,2,2ˬ_/__? vt*,e))BF`56V=P;zЖafvֵ̬Ⲳyl +:j~jVv&f +V~Qn!`AꚊZ + 6"TX UM$ELYUlQ$: +r'YB C[z{0}|(X aa `` k ҈8v"/2u ,z1A ---l ]i,X؂euViN_9 +:) o783;?5=;61=:N(T[E7:݁-|zvb +~<88F?}YfeYfeY/\?_~۲ʪ^@ꔵ,j"PwR,XͭmMac /ʹL`+S-@k2 Dfe۠_A#’ +V˽d i/BjnhkxՈY8K+jUŹ7ua+Xd XǨ @d,X#hK6Bj VieeQYi~qB!,)B?PaXUY]]US:6555uvvtww  XfgfF~J BՅE@X(YHoF ٞQQ+.eg2MvC)9~H. cul9yA4S/-XlESr~_\;8\^]'\wEbX*XurV+Kq.?fKQDGe3 AEO9>Ft]^񯐐 =B +Ib1ZœD:IvvvqH+meيl3l +ٱrx+Op?ރ`"+< 7Ch8' WJ$ - .Y +jff[pNp*WhL_ ;ƒ a; ǥl/X6V2c,@16b[{:+ifxP%uWn+l4Hh,M(HDj'I<8Jm#xGZU+춺{3+Bhս#U WGG'{jN0eh0 +wy[vA}jYleZD$6\M6V|5Es ss E D[LՍ<ʺϿ +^/$,#T8F`~5B-X’UpM"# m"x,2,2ˬWB?~]iyEWOo5_hÃ,v-Xˢa56Z,- Mm]h4YZ*nܼy-3뷡^񵬬/,a]p_ :so  n~ (X5eU؂ER4EB‚axT,ZMv@"b,Xr V[{]s3[YeUQ)X EXQ!`) +,r-^Ra[kGGG`kPff-XTI+H bJva#¡rHvIOva5GSKgJ٭Ûⅈ3AOwixgdXIg MNKFy:2d|Gz \i$eC?/}SOfuJQ;Mҩ+psR^Fӕ\M^#dD94dwNOCѨr[95nlһ6Ap|:3lI"h啍-gXE:uNMrvLI; ?'_qBS.OFCHpuV +RE6D4'L>Zb;~dVw?Cd+y>>[B@Ѕso!DD ܜ|?{i ",/#XBHD[ܛ!|,^54C"&Z[_&J-F,RǤ"YSrǏL@k"X:,`jQFJKio0TVT B`)(rGEBz_EiX=`bc'Ȃ,'Y)Av\ZP{,"Ϛ'% NH 7teiq >ΛN;Sr>zS>Q^Wjj4.wBFّ>-"]j~U/jT4hO{5Rbjl^1$.yw>{g NP$L8UJC!ȭVzÏcd~Vl? uxL݃݃͝=v`k֗'*?EffmsӀ>!(y5U퐶՜}~`gs¡p4X^[^]_]XKn'%ג[#+b.rv [?@#cC#GF#P*+k^񽱽[/}K_җ|{o}*`jX rWܷ (rVԌ֞N"Xr<(*{ܛwn}Ư]#  [7oކAl \ aY+hB"XEXg7VCWT$d[erՆ+E Kc5$A`*P$;0ppӆƪҊ+ȂUUSBYE(\f2u!eAã4pf rB? +VlDXT1iKyߡ> tp)ɛI ҜJyu`v@WJ5I$0 n\["ӄ4Ӟ5)ćzT>Ӻ>|4K@LC)}%a;yeg+k Dt)-x" _Ɩ{S؏-:K5"dCMEܩ,N~ZF)>.glMu)`-OuqTA/Ѧ|Ӱ>5~}fgo0paӅurHLN{PX1S 4]pN¡gpq GՄ֨)^TXʞVĴ`XbO\__[XOAVTI[Q +씶zΓi+eJ*UP I+Cb p,c) +8pc+t[}fmjvvfpl *FX(ŗ* o.жrXJ(rئmsc#?80j|ljffna= F啥VxkG_җ/}K_?`덷޺ʊ;-V迒bȯbuv6veX[+kjr*-+*BX][QS[Q[[U[-XF`5""{ ܍-p˃F^$WX$$Jnvm#AT!$ ք8D0c"XuuRDH-’R +DH1y%9Ūc3Eab_׋ѱ j6k*+~,J`Q{ߪ:j=ӗN*JJJ8 Z +)#o6M}\HR6W+G ;-DRV7NMͩm|_}X6O%(U6_:5bܞlߒЍ^uTEkGLJ'Ovf?PvǢӉ!+vsnwBF+ٻOy7_%GEGXLI8e-Jq!4 Of%$n+1mfEn=mEiORJ=Cd­aV Į'{OpWOO;<Fbe$* ݃׍nW9Fl51MUAt[q +.f[bOSgDeBmҪ>هG;{kz4E3`8 + P` c <Xti%\ZYO^B}K_җ/}}oyՋo ye6[fKMJvbli7;h4aX-m2ji)*-{|`߹ƭ[o_k޾q:"a=xp7'A^^n"dX\RXj(2s{Mj+ BXȯZZ^!P,ҹ7j:!,Qvea,XCC#\>61<>5 kG&&FQN,G b  *lKbV+bY5r. 65kif_KwOO "}F=#,_ڂbKV` /n*M+wjS+Ҫj!E%ն'o֞GfSUiZl^-Qa$IeB +)[^ +/R+ȯF&g}@8/*"u^^/}K_җ~_7޸ m2e2j2;lwuOoi飯~^E%%`! + BX7nwsr@*QâG%e B`Ƚ^WdqG4W:wJaD6J,Wb BA}ãB 954"`MM  Ңbqa5Xq$ZjhojZf;DƧ!gq[`ɪ+! Q_y㺐f'])ͬ7uAIÔ<\LRwL3Nz{,넠JqQ tz 2H'1Y9RJ)Cf! Q`%_U +)k&ɏP+T . + +GN:%<2PN\\4+WU:)W +) ˧XޗFNׂWWגɝ}DX SZZ^v.V=Av߱[Eߊv~'t .e1PP)j/5b$i+RǖV]$iャCr[@IVV(cG %7?-JE\bώ@~D +\%7Poz+[U(h?w%JT4:ludK>Sa.dCTi[jBLeJwYRO.?*dϓZ#Aϕ60a72T}SxQJ+S>HKdSIJIrgPFnmOQ&AARhd_^__Mn +V7;;9y1 j V4!dr\AU W +1ɓ#  +W;yI'/"@(*B8OؗlVm|bz$¿BrEd+ _Vp0z+hYƗKؖUr0nnAǮ^ 2W}jdg}&{P8 +,;vTp(:gflP4KD_)Z[?u/}K_җ9Xӟ^z5#3^M} -BVfe,X|"!+t#NTU[aNn`W<ͽy7BH SX샷;Xr`Ajja!)4ݧ y#lmkDGR,BXȽ -B+zaakp|NA,WRk`^T]_o4T` \ + W5uk0Bm5(2]sA<-XUADX~K +YT! KŠR'yO{M.ET#RieSZ;_}ʾrYٗ7sFf&K6gz3/~}׍OxȊZQ -(5Ƞy|S8F A!d, rrΞ=Qɳ'::=y{(f_Þ`bemVx0ÈtSIWs3)"WS6d+ NloͱϚ_\ lbOh(kեԤ& p)aÝ}Ch!$(SW'b'U|A3;853;2>5Hёq/:ᨖтW˫ +: +,}K_җ/}ͷ޺| ߸!nP`qoaYN),bu,6ئ765{p? ޻뿺)q֝=ˇGUK**p! ,VWk b +DXu$‚"a b ըW", %4inch6uC?3874<0(g'_ YLVSPY[k(1`,X :A#kExUc,BnA2[{a$ "]AnT!+ڒ K +e!PK(SM؁",U.(M/Ig U?ɟ뀧2\eefevFF!,Y/]ps_{ܫ_z31/U)MI i+KBMIR~~ _W2_<^}R=Y.UQr{GVC!7q5Q(eSB*䖹(%©dNSi2rVu0eKRP=fQ5SR1.ߕ¸VgyIy!V( /-/- B$V B%;VT?:>}^r{ vvG{'lc +~526:>51m.! #q`Y^6*.%0W/}K_җg?|Jfv7F,qC +o^[.wsW"4Kށ +-MU5=VNaiYYe僼o_q7ׯnBxa+[ K UJCeeyu ە`؈1 +A(_`"as *,žޮ>""8Peק"XUUņ2H"Xx)U#Xڽ]jV${_6=-Xv',) L' +?I/JW *1D*U[|^RP3s׾v323ٺ'++;S/ed ZpRK.^:w믟{kIE?E+S̄-RdR2HBD WQh>1W )FIcRؚ(bQ4(L:xPiDx]Jҭl 0:ՕNV/it`%wH6enR'9Բzh~EnMJ[ERV++\]_]Gl cw6(mERzPCLSDlyՇʆ V~Ï/>\}$Elg"l!;&[Z[B`c[=¢S +\ +\MLƧf yeySHjQotS[!\et`!)- x] \!:c@O1uHo'nAjgu ʃr qy 0ۇi36_H|%EK J/O}K_җ/}|{_Wٛk7oV+BX",(ej5 Bs}csW܂>Yݸ׹֭;wEx "  ¢GE*/G~UE.Wqam#Dj_Ջ +&a[Zq."DQr;;LhD {}}D'5<Qbwp7`GJˋpa7TVT@ Mr +P "XlF +aK`Kw/ "  "crB_+@Sl{fi]k>?OROL'>jimw.a*+ W`FaFFįؓzW^}/|(?4DD(A}J)HY*i#HGi:3d ԓ|'"?L K4K×gQ|:)ݝ&Ɩ~w'o_q__EQѯZ>GOQDN1,؏/E j]Jˀ` +VP`݃=( >9z0I>bw_Vz >z!b+is4K+VA;<<恫mV7W˫ɥxb /F~'>z+ \M۸̊+0V| bمy¢nV_z#K B +ފۀvŞ `+]a +<pLl#;އfbe/" +坷;flF&FGGdž&ƦY,,~ux0rd )e kG_җ/}K_}P}㛍--](?vF,),3TaX:0#X9yw<'?-X7~}گ_{k@`; "XA^X"XUՆjقŶj!F7-j1"ȒXY,paG3;>"X178202*Aގ.,'VF{ۻ,0(U2`ʊ rCEe +A_ЖT!d`o"vb}htltbbbzffS ,.$BFBn\M)<5Ń^d%h"X*plbkh]H%ٗ-#,beq,dd}/~k{ճ_~啗_~j4)ꌐȱ(mDJ4<P,Y. /_ꠗۛ>E%RART")% vՊ^(BVM/ԝ\=W{λzS?y;lvjt)p ӄo3VL[gf}Z&81=bvv+f[q+ݹr8=<魨kBOpy)\0;'f%#,vgG .}76w^-D"K@D/A_MLM =<:1215>meޝ.[p  ŖBp|9"nXދOI/}K_җ~~?V+/\o6[{V+;Ȭx sV'*;  <7TV=,.s hސ^unN}DDJJ +K!U #X|!"4AnD{W`i1bWvb|!+`6YAn4,XS%dQ "vvv664T*+Kn(-.++,DH Z\Q_Pºb5vtV_yk6ެ "Xn` A +s _biG}jMJ JǾ7l "bg^\%Wu_y5 _}ՙ_f /<*d&@җ6URmO|z4qU0JF4nI">& ()y~OXĩ@{ҹhs_PRo))3+>-Q9jGZ 5Ft)Yy* +Ck3f +\[H-E{}nX<ODX[ :<><>Al%>V4VVZrE+U{OqSVOy'H(zH sWXty¢svaqv.'g[MjVS$l53 }j['q8=N3 >/*[b/VZ\O"ޣyh:VGrPV{<"w(bOI{swckwFbU("!r]!x5696939=vh ƠE6Xbkie}K_җ/}}>V4;|/}mm]="Ni:!R.bmj7Ca2-0!Xrܿ++)a_v ,7oփwssa ‡ŏЂUl(/!"M."ZN `6cK/ԽMDX\ +)`-®^` BDX"$~E'Gy{`C`׳c.+//1 UZUWU š_aª]X ",*6` ,X"V` yDZpAZx0j%VHJa +w.욁TOmhOqMTR jN$ VɅ-+ W""~%",e0CD^T*~u_+3g^:s//~}KǮljJä̎d£N2F# ^IQԖGI /aW%d"|FrJ#Ҡ6-Is~R^C5n_aS<@<ʓ*Чyr_HS$҈뵑01LLSԎz,;^_U +nXMi+`Y¢}ѹp/`+[EBJ*zYַ7a&+h}`V''Ĭ1{\Kn&7v7v6`#b/^:p$"r{]EvcPjt|z|6c;.vF_`#~K"J:a|˿ї/}K_яn_ξx?޾sw7E8ȲtG`t3Nl!Պ"6,XfsCSsqiYn~r*+ypx)DaD#Xd*E"Cyqy"X55dUCc^.!EJB +VA.,)eaC E#c rg,P><1M-Ak_?\&`56V֖C -Xeee(rD{ z#«B47 V[l6[ݽ} 5>6 ߙٹ9vT*DaK@nLUwJJzWw:OZr1_ i+W &寰HHȕȯ6+rF&WuWg_Bμ2μŁH)A,ȼEdT/ +!:Y)qBQRSd>Jh$txӗbWss#Zs > r)-O!q-R~ړRb1U&ͣu>EQcdSX~_oŒ"n[U<]IpKۻnbOK%w [J[)ՋG/>?HzO >bw!p\z[RO0B7 +u{[ʎn+\I=ABr5zYZt}^[[bn- +&dyO+3;;/}m_NcDmrȽ>baᣜ;=*))+Ͽu7s]!۷o{99h* VQ⒢2C*eB(Z_AEjk[W1f"EmP¦v",)gVp?Z0%*a O ¡`Y elVEuuYEJ)r~E+v[h.wa"!W MM4d" 151Y`-,t*{(+WPXJ4!u$Ip FU3R#(F~!=WY2b2+DXRJY!DuRF_E~uVW^z KgΝ?oĖ\^_:*r-%ID>5k+:[kMAT)UIE{ԁ1Hgi_KOb#RJC҉H3+Mx,5&5R$)J%V ~{Gqx)Q6qSM•A( (w[K|-L.ݭݽ# }L[$Hb+!!+V!~ODr >ق/(p=gzz!Ş` [-Ėñ!m8;gi+S ?1=vVy"Wv^t8#OzR4W‭֩*(b+\(l{ RUpT[P f绹 U4Gv1v`^<}g鐂~tbzd|Wc||5;8p-r* +(n0bA+]:r UJJܿw-_Ahu]`"\`aI!+*+˪kdUUW_SU8ro",HuBYA u f¢ZakhBdfYXYSc`_^^XVFPf+kl@OaQaFc}ܛ[Z!eZ{{AN т5,dBw0%{_ [ã5@ͼ9X LǯE_M+W u)W<}%b+\,X"y;I ,Wοzgqg_9""X/=o|cxt.EHJL)G4"IJ[ *fk< +HTNxbrO|3cToO'e@'FSp k̰||Rz 쑚>͓ɬtzP81jyu2Br +`xIɳOb+Aj>v"T~ǿí=A +*bOyvml^Mngg`$G$E+sՂmvzi>Chjk~[:)c"X"8CkbY#1=(r0[Z:LfDHb,rBXK=Al3B{M}]5>Ef2]ᑑi`AV$Z +JuBvW}LÞB%ZE'DUN`lhַ$W4[ʃ\UDXW%|+ W22.^ ߎ +8ł֫R#X_|Kvo~RB>rMJJ}GC4wRԧ+u-K`KI05tR0(_OÚ4됁4Ny>M%SkS?x)/,42pXdkZԄ ӁD^9=lDyI0± +/ Bڊcr[$]t[?Vzn+hjVK!+V؈ThyzL o|GH)f +ӸhHO}ҾHI:>i4ӄ$ xN8s,Q:Btkj_TQ>~pԄ!, ʓŒچ$ãV' S +ճK؊7S\aWK#U f'rV'ˎv}ckeWj$'^p8̡jvV0IPjNAj65 f= sQ'.`P$y+qne_gz-[mBzmko{V{\rw[bsr%Hɾ`J| +Wp"`+hG> r{[cna3|O´F$&0|8݂K`_ya`;"bW_;җ/}K_ܬW /7Y{)dV==`YDܭݘb]L`[;k>+ȿs^AQ*'/nܐ^ +"Xr>*(,A%8B`UpWȯpK,Ha5HB`!Ѣ tX'A,E]7o@P`Ok|jEXCS1t[jRPVTB(F-X#X uΝb l/V[g'F{50Li-X`qeE_I[(+|=)F *>mE$JNo;̬,2*ʃTrUBXW%;񫋗2^r~}X.f;s_%|D/ʙ3/#u3/_"XN2)y$!}0)fK |fIyb)|RHZ eO+36"i.%RR/EgP\@=J#"Z +ѽ**QĜ!|~!U,lXZ^YZYiL;{b:J| <{ݧ8FPV%A1gţVtږTWc +\;(f?%+;;m nnorlXE;A[Po嵻 <ƍfDncV ,krW3Y .bOW._Ao"J˱q&ې16#BJnVfGcW8<Jc_S.P8F}D<~vhe_p-8g4YSp3P`526 ATc6h;]vAy?a/.2",b7bJ.Ʀ}K_җ/}}n7-v #3oG, vYbu,++@X0DⲲG$r_VQ7nݺvƯ]ºu{}O9 +,Xʪ +`U֢ r[ꚰ6(~Ʈ0ՊV_AmVWν"X"-AWE(EE?,Vթ"X?~Hy՜G@/<§5+%n.Z0 crj5&?1*ُmuV zFl%5 FiVؕBr&WRٻ(fvxd  ./FˑR(zPs۝EQoei+hRV| <vCz+7X}` Vv/+z./ి$HԓheG1+@R;^Wxdfvt[0APo$TX]@c L[-qVa7^tz7D`+uS\5%AJ[MNpi4$y_-8݋n/ȯ p tXR ++]gҗ/}K_+Wf_~+K/EUND;#:jxݝ]֖zG9yyw/,,{߾qMHaΝwR*y=*-E{yqyEAUY[ 7TA^m VmZܛZ \/+b!"w(6bJȝ,X- + +-®ni!)5 Ak_?\v5[Zj55e*6J  +(+VqR!܂#DmNlX`bX܁_d~+xRV`"4.MQz&L׶skBz}찿^FV (3WJi$(!|E6 bS)a*-#<%#4 +#'QimBHyX@C̴/_Uzچ)(%|;c[P]d8iH-UAµR[i>8H tI0>EzoB᠈‭mnM [s[AO0$ l=frc mFhGQ$EDK$W[;Ȭ8B*/ J8Ny)C1_ *v.Vs\Ni+LH52 CWX!Ny$x_ A_I(7[H#XKKo}CG/}K_җ>OU,p}k_5{,)%8BQ9+_YV(Bvbaѣ9>2TUܺsM@X-n},Xo߻w-X*(}K***@NBHXm4biVi ؂V-#|"!N',X1APH!yE "X"A&,X1U^TVRd()Q "BW_ +,.Bh4655evw   2`ZtnIwi`Draa("",hӌzQ4No5a{~wW˃D+J[IAgyJWL +_ee_ɾ|ȅ_#lJq>Ml܂jVx(xB#]n~fnۑcb с[WbspbW2^-9.BfV +R, +bV'b0Onnї/}K_o|)3?~Q+^Ko *(W]"Bei7L@T:]ƦⲲ`ݻWR^^TZz޽n޸A,BX4^n=Da‡ŏJ + %8 +\55uuʺL^`ŝBRBWĬZ0ֆ_:;:vv^=>K!,}p|Er4P`ghjm' ``PQQ^UUUSM`7_qԢu1,XBd-X4gK$"B0VZZI,MSD,{5`<|G9R"#'R#~O)DPTHs${񧤰4AՓp%& +PW6SWZ~ :qf%)2>#R>?ٖ'ق\=<xx*@o% LQAGp`¢kvÆ+vFa BZ +1 +bAsHD[m +[^9\ N݅ +Wȯ2)("/ +/}K_җ\?_RFVG8ȢVP +nB{ggWwQYS[X\?7'PYͻ݄Ao߸q]BZb+'??>, V,X5`)uuF(@ B`YͭuŪkjibWT'$;DL$roG~թ` gB +kr"XQv -}VSgCKK F %K e9Ū)F*6i +! ,0#1--mmfj  "fogt94ЯB`SXh#1` qwBzTݷAH~?|JFF&_.) +/-R I~Wa_uW`Bx+zH̙W^}/"K e$If;)XPPn"/IIMXS*R1ZPy0, g RڤH05U Mg)N_O{JM|2K[; O[EwaZr VdnJ[qbLj.#ȣV\ɮh*KU7])WT$7ZN=gN}V;[ƉB ,魠.+;aYBl5=6{b +Vbj6`yt/:=A +`*'H=A +\mln2 k w[z u sOd{}c{m}D^ ( +@DOJv ,1m;\(vmn6ziL[M̐ +VcCkDf7+Qx5AW bO>h[p +Eт+}WϽ~M>Z.R%*,))D+*۠uϟA*.gSUǮMqqTׇ}OuU q%RrS3c^EQ%PB0v!{|` ե* &Iɾ#v$xpw@cp[$Ĵ1!f%cS6zU>&7;7\(f ;C n*q[Iod&uy&Tm( N@jvfP0Lp~ -,{^! C\orlieyeVkַ9nJ$#JA[p瀛wvEۛLji/1H[Em呔쐶A+4`[%A#*w9560,)Tsx5i"[;«E5LW>+[pI[cq,U0gW}Wї/}K_o={ͷ7UV^?4lKhBcfrY;;[;LŲѣ܂99W »w݀a!DP~DX|aAA*4+J+EXSSQ][UWSX rm_4nN؊f*V ۚ;:[L4v +^BXcbkJBXh0Z+F-+/-X53aa_ՉF@X--fj#X6mn~޾t-.@o2W(y+n<\+Xҙ̀lե(Ew(>αҪ2"uRX R)H E~u$PES +22FyJm&HrP,)P#zDT>~&?^Iy)eIIP=ΔC ,*Ӡ6Y2?&8oʓ1 z3“|E$OB%ٶƱ!`+:9lVdXV3j,2+g-zJu+>R]V;"lu|Bbv\on&!p%;Zp'837?3;J[MLITO}zfr +4ggv{=AGxrU$&q4%p*!1;0Cms41ju(O;;v {[{It[Aj}&$?3<mF3ی$$.,v;999N_ZKTI`'^;щBT(Q}4"i)iW{cq&Y]` n E\s# t bIs8=Y 2:E5h ChjFp[C9a e{b1>E+ROMΠhѢ`+ +_9v)DE),# w?T G^򒗼%/yK^~+_#G~10sMĊqx@$wXLxP+1%-9\n2zd2dbt#?DMxJxܛFqz`(? Gaw[AڊBMŒ-t[IU$XVj"dT\uL\Iz=y7oܺ}-vxkn^^X\^,Ioy+aBl7`OPz+ Wq'&qa3Z=`p me5[ :fN[KOHȽ gB"X]=0VYpJnAl`SB3T!Agd>M"` "D~UVV8*uj`Td "${#l"6K4Pl'$(p%%=՝[wonƞMv쀗6VV' |f`es}I, Nkf3݌譌fjجY}VUp. "*œ$WaK8+Mw2mM|? yr[ i+$vZ,m+ Vw[=xx / VSϞy29zG}Ż(fzon2Ao,=A[2[ub/xOpFCUA MLHA=A0\حn1mj9V / +шFV KKkZ]TD~uF8C]WW ŵJdqyJb+?`n+13["ft&[M RCX  \a. 8)\MA +bW:\QgWW<(F8Ųa:ȋXHXįHtq{>}}%/yK^򒗼>G+;_"X{Ccc""!n<ˍX<unjjq]==-9y80?"XgΟ<{gc=օ VAAnaa~ѕ+1{9EjHaq;| +!8BW0PGH+BAV}KZ( a  A^aN_kp6u56UTהVTJ)X*тBl +*յuuRR"X jniik V_GػqD&j)(l RŮ0EA",`}66(y%i>%jo +ڍj+w +_ٵXF%W +ᡘ +>, +*ݤp _K+BtƑ[vç"5J`MTU2t^ô#9K"[ qW3`%`qA)IAlDl%A$K0mufjVwÕ1;op'«8 WDr'K n߃ n#V˫챀 +OaRcwfYg0iuҡJ\M%Z٧f43`ngW:Q{bX'g_U0 pF4WP#rn5Z@2\qZWDlN +JD*IɎ؊r'mNmlEi+P#ۃ#i ߢ] W8RP j[|ؕ0gТ5Xu&q3ȯ-F6tBa(] XH=K+[[ٿ,#/yK^򒗼%OzK_:pЁ~nW,V?(Շ qȝa8vvκEYyn^^6"+% /9wy +DXį؅g(u9RN܂"DXPV%" RtX$oW7&Aq  -X:Z:ZI>`aLaq0 = -UUVȽ=ȯJ*** U*+eohB|F, bRL,nbo e4-VD蘅L!a+R`BIunw}IXF W?翰w/%\ˀ+BvL{׫^A +Pݯy ZyĽ}0|p0(ZWz^|o7)UxPCOo'OHƒܹ?v/o]$#v<…TLZ~L"{h+*@%A VkWM* j6D$mOpDY+>XP4\!z0OmھC޸~M .!UVn[AOЀ#ygV$f%A[ +zŀ=A[AOp^@o5oa(VhVy',V%jiy], ´|Pt. JYVu4LPV / I՘r5af=o!~5ANB& EP^X]2р*^zݻ_ ݘڅi+//d+k&YhV! j}^8ƭYS? /={7WPUJl?Ldw{Vj{VSkJLѣL}Ie HV $kWSjk[y.&%A2-2NcOp&ƹ`l`V#Ū0fRVӸQo5jl JȯT!43V [%ıBYbV¯@C`1Gi[:򒗼%/yK^4㯿~ȑ7?#lՋ#,* +^bȽv ",`u4;/7;'rvvQIIBqҥ3:~v +X`q?{sA~bv圜l])(.]+ʪ˪˫+uUJ֊v]u=ʯBEB,u3 +ɂ-B`p}b"XӔXZg_?`54-Xy(AR`UVVB~D ,paQFa!RVEٷ-Xc3 ZXnw8#9>p0AF +yT#<"3v^g43ݻ_9]zP/L/^~Ycw _{-c2ExdCܷ5Ѧg7bo/K/~տI/^ODO hGgpA=noes뛷^~ե%QoϯgpYfZaFy(`'%1[5: F3 :` V|tiaq%$p*HqfW8Zcu +\Ljjq$6`+輜‡4YFMoDIo:,Q %AάxOP '8LhtyUPg 7{\JW0m"Wz܀&~A,<ʚ&,ŠHlh>.=##/yK^򒗼%OwN=vl +jv RwWaںautv +#XyrKs +Ξ?y[?;u\)ΝxF{abQ^YE,N`AFA(R,[.}bSOVzX$%;b), rC4|v +JLho fG+@h.8q!mO2\ +Cׯ{]rl)cIp%] +VH 8+}gّJVfL[MVތi+=<^|cdeB;)g%«!Wc o Vv[Mrl51 Nj9zZ ʂ̕ɪm#m;&H©*Ư3+R`9G%/yK^򒗼>}㇎ٳo=}Bw`X%u>Kɍ== E[;**sr/ee\))pr3N~ɷalAYh"{QA1JJ+@^ZiK+*5!8Z>IX$"lt+ ^QM`,B`uCkh`x-XBpz[&Ђ">DڪjhVYٕR_{-XT!T^ +uABvZCzuCSSskkk{{z(5ٻ-a,Xry}^*_-WA~ȍ'M(P‹/~c^䴊p_`zμK/:.2C%[{fؗq`Ϟ}zu/,wfWkW'||<Ĵ=ؾ{ۛ[ABO`e_Z_X GB *XG[HV-XAɎ{|rz3WlCI`+2 &l4 z+Xٳ @xVP$yEZȬL%1g/;V6Hɾ +jai>` "酒z fh[ۊ NΠ} +V^E+; V1( jY +ε4 M3 +nhi+~dR,ac-BPł^zxE"wr;T +Wv&} ?r%/yK^򒗼)Xo3N:|x߁'bpdw`Pb +Wb +(V?`u8NDم !T\Eyy. "546>8 +-B>P*(~(,a"XUU(r'a+v "{-ZGX ^(98442>>65=ѱl[ % X! XkWBa;nG._Q]}g/~/ +W_|%WT*;v{*w~w㆛Pl*ǎMku.//J~֛xGJ )%!jM\'u*qQHq'ba2(KfhCg|l%(#K K+˫d߸~VWo^[[Pɾ J;܇`\ +>/ ƢViX#?|.Dl`5VK+k'HV9[tFVoh3T[i\MbW@N5tF+j:`ewz3y68B4ʭ ˫(f_1;TWt +7Ē`V>#d_ +=F|΅m;axlb+ެՙ[itS`Ł / #FU6Ƨ(mz+ +\i[-m=}]*`e^ɹP|'BVf&;st&sgiaVFrVa+܂ʪrW jP! F,XSX0Xpfc!j%)VD(;C!",X4-X)#XMmm+V D",/B{ʃh}dt-X N41`ut Bu=;R`AR`UVTFWHBk~.w`544677uvv ѱi zd[/+_;%/V 4,OgX=9\^fcg$ +vcI]f`'l7##c߾}[ fuaq:|#G9]nwg?? < iJɠ&JZ%# 8/)&gDFWHV)qyWJ`xTO.OdWJzxN=;%wx\ir8- pa*fo#4IpV$q(ٯ#wom.$1#d`L;+f'rwcbo{"{7@o"sО 1dwn6ɢI>9I'ѱ3: &\&'fr=nsU0 L[}FROIT,jAꚔbQ rVk$A"U8 +GٞC` =AmZ03Y$a#rftbzxl{B +Uٯe.yA^kb y +0VҶ O^Yya$(t cWFe%ű,K+>*f~E +wzN"ԑ%/yK^ׯ|?q,X?fR^au+@X`noa{ggO_[gw]}C47??;7WJ zϞ=V)+gR -X<+%`*+/AUVYCXa]DXV]zd_]'1\ImWҞpI +FK\PYXVmtB%cF,]Gh +!(Q%+Tυ|vx iXnݑΑ%/yK^קl8thGQaKP#X+T{:zzȂ8('/RVl9`}+ߋw}.<DvBQTZVR^^ +DA*Ha;jT)M!lդlD{soɯM.v#"X#ȯFƆ5+ V`{O/{6ꛛ1TԖUTTQ\ZZZQVQUYU ,Xz^Ѐ^~U[bpW˝Ս(ro dX`9<Wl +a'(|Aj;"vu?.?Ɨ~zR֬ pP2 r%#o"qItH,% MRsH;J ħ›?LTut*?ΐI0؋0`jiq Ɣ[D%;޿{Jޑ`+C~GpzCBJ }nݹ}g[W'xz K+deʇ$6fhQo5Cz+&8>53 )1jEAV0O{2D'hy^~ss +s1;`+\RjuArE@"˱!ȣY]l ًO[AIVXq VȬnw$xJL[#i?|Y"+VO%>~ĎW[7(pu*VI +G0e3`?\GtY&+&3t'8e1JS3Bi W:v}ވ-8Oʋ缈8'o H[ + +%W\3z VA`VKKKk K+ŕa+ +i+_s!;idg[C#l5LiIpd`VC섭\ +f riĞ^5AJ̱ gVVaO*WҙmZܱ96"D~GzB ٯ VO |O9OyK^򒗼%/y}:[>tJ] + t IE ;{z;{H .ʚڂ+9raaAYNb`A [+/;/?,X%`*PȽRXlW֪*`Պ +1BXP$J˃R"6`tvv`[AkPWppO`{O9DڲJ!URPUVTVWlAC1Wu)-+ʯjkkj(侬֎Xkhtllrzf#Xs +[BaWMo.ޏi%Jr> $q,}}CSw׿7CuG:vǎ8 +ձ'o+_7~ӿF50?b E<8"M혀JɅQBw/kJJw&%KR&`)s̷NAPW _t!;"X\~UTVVRQAZJWRS +Vb-:&B+":w@X $r,DX} bPE 5194!6`cA#RRZR\((U)B",T|t<%X;GF[ޙXnu.C;2+?+4_W rU"zJDzҍKn0Ѩ+(?wz_W~kƛ?}_?w9-m&$(wg}QV)ˌIۗ.%\ߗJ׊U}һudzF o.^`8IpVdGluV`+$HN* i [%欀Yю#WRϓ(pHW@on]vzKk(Z +bOd$V6Lf]OOa +2HqJi/=AA3ꍖ>k''H=A2PAOpq9+Vkҩ`X] +VA[=g_඲Ϻm;*9K3ScBl5*"‘}pl2&q 4bOPi+'hDle3\a*CJTʐ "b +]/i2B^p +HlG kW>}krP^򒗼%/yK^EY+Xk L/H80VnC VYPXq-X/^<}@3`e=+ "<K40??0Dا -XUU*Xgԍ<%N$T77K"A=`,jO*"A)C VR]_,EYY"Xť!O;  NYSXZD.aihnVDklbjJ-Xfjwg]+dt +,hz*gz63<H$wy|ZwpUžqu:Kww7.7*#sw?lfJh>aOz;M0Y|k;SQYDž%A\`$J5PcJPownVIKOD%;b+g?z.aVx?{ W=}bvVf=͎V`e__X^,@.}uZl4\Ϣ34z&i+-f'[AIpfjF35i+Qoe0Y +'`+yH@jٹJL[n}bW@VV6x +VRl%[j 쐶 1KSROj 'WC7\oZv!'8>9G'gF[}=Zݔ:q@T +))ibjgZ +[}"%1W4!6+c_kB΁+) 2+La Q%A"?%/yK^򒗼~Cv[w#Ȭ@Vb Fw@X:zz;{;{т[Jr s.f]{yrvsg3a ΀˝չ_|-X +`a~’RJ^GXW64so; aaGK V V{O_g`YXhPW?DWQUTWVT\REyYYUVub[`RXյ5Tʚ:®v`u B$X &EBG ,|"XDG$}qrojxQ8JOz|)qña1I֧a*E'9ӄ:١s Y`;p'ڣaXk76?x%/yK^򒗼~ן~DKKK/>{̷2O< ΁9_~[PWXvVieeyu BERȽJUzȽ!>ŃXuj,:ZmȽZPKhBpWǸ=?m=A1;ꭨ'z;nC@ + ݋,,E|s!o׳9Lf aOpZ39 jl'9NCOРF mfjς =A'Q~<Ñ\EbOp3T*T +\l:hBIp+q% .b+Vi+h`{ +{щIp[  n+Qj [0>$IoMbڊiiSjx%Y%T5@S"JSu0u|3솜q]Bs*H(Q`mN_Yn,+P ~g/=b #/yK^򒗼%O:| "U .$V듌#[ XZZ0WP});]q+i_b˝\;>ԋaO;WoVnoJV$$[1ϞŰՇRlN#?$1|ɻyّ jsZWAol'@Tsy|.ᄞ`¨;մvafzF;=c?Z/0peulNǬyAq b4DnvP 8Rz¸ի"Z˗c A؈" hZ c-趚c_Z.mlu93;-0+& %jh zElc͌M0A5I W#5?(L iUjl%6)d.x ++CSpC1"b-BpaFe#B +s~aXhĊDWV؏%/yK^򒗼%_g?;֛oۿБ#oOLN+DaA; тI܂ /)*.eq IDg(uBsEW KJVeY%PP wDXF,Xj"W"m66MjE1zHa57wjnq=a>Ђ5=0ޮn-XWJKA$r T)j"~"Xua*B MgoGƹhADF;Vįh`0 ZZSr 89KKURv w^\)Ku1r去øH;qyL&˛ +}rR«b7 ÑhdqiaieV趺~Vdq֭w[=zHɎ>v^irlE8l\ + W8UzyO ޹6olf~u" GaT?͡!+;~JĔfդ$=Ab?`eכFl5#RݿR UAbv3W- +je\#5V4*Y`?b{Aې;v'`+P[[alJp[AIp|j!F5(b=xri![1 fm5o >Jd>JV.f$!A"JyF1V a9 +E,V|"L!9R?ψ@xVd + +apDXelnڑ%/yK^קfQ5${w)X=0*Ud˽UR^_XtSO:әgyD.p V^nA! b*//% VM UY;+ bARXzrJ+_n[Zpa[S{[{{{A->`q"FGuؕ[;[T UJ`'NEX֩ UVs~.A-X5r,uSSSk+ܻwaE ,XFf90I`0 S`Ꮈ|isScGIxMLJBzKQR2* WN|ɌNtw)蕘1s'=pw'$1wWT1mJu[]7I~ VwnJ=|$H؊|O?*] (DTw0]w%'CI);u|;3(:ʕsVDOJC +o2sz<`emjiuML[jV6N}{l>(yݷ$+١L#!@*BUW~G +>} fg_|1dtkm[dauztie> +$# @VBlz+Da\i+NQo=A j Z0\FVvϺ"[a .B5YJȬHlE>vvH[m?0 m%qb5қ:{gNS*A,U_A+'?BE ,a QU"*8DXT$`+dBR`ayP, UZ@V[D a "wwp=']-m`UV`",~UQUUYS,uх>Tj1+aaK$;DZZZ;:zahl$XFa;)gfgs +FvʛhKܩU2{I:w: w +ו*>kCʟ2b;IJ0bG +fwYmNVFki+|cBIp KI1{#'8LbĒJBr1m%+G)s%aAR@^JUT@ SU><( n%«x&$ʜb+i.Q`y'UEtG8b_Aw?u%/yK^򒗼+~NgcǾSR~E+E8KzaV[G,X/,_,Dw`Au,c0+'rNNNAAnaa~QqaIiQY2`a55JUU +毠 mm==CãcSm^k0n;]dq BB$`E{PBAo E̕f +El=cuꍛjdq)]"\^?:vɂr[iG+jύK$fGVZt f>uJ Hu /PU0#*$VWx +V\!ڂkBI0nV + ! +ctym7W[lۊ2N: %A{lpxThK끄`eǪ \P)b>%!jSJ,=#]'L;(Đ^9+|B"+c( tI2cU2uW&Ae;-X>WX!bp>^~H BG^򒗼%/yK^;=zK_+,HW4P}ZR]̺\RV^X\|ҥ̳g +әg` +[palb -X+X!TW",!U[TUHU ܎+^)<y%ԼK"EX]l"w@XcBkxbJp VWWc[, +,u ZaճljT8P:,lͮ,` krFFf:b,Jګ?BaEݽ"SZ_*rtKlJߕ*z$#z +OIIpe4K鮓 +g?Or)<.X[ +qMc:V[ݹuw=὇VO[D.bT +G JRĞ[/ + z7V7V֢K+^ԽsA? +4m(*7j` &Ai+ړP2bLV NBOc+υ űz%W+|t*jxeJ[\h쁰I' D%ea+P%1R?}NgG +r+;! +UAt[!ziM/!aOQ[IJ6FVf)ⴊ3+[I-UB*dS0ر%i<8 ƦZp!!,e_q2/ +GE*A^10d̿뿲om),yK^򒗼%/yʯ/eƷ5:1504Ķ 3_ FwYBmM͊KYs + e9wo:ӧ_A/tbVlί UTP(*-R^^A5J,BW*jE $="A[-luwlhd`dtplM!5:ڻ{1Vm}o-L;3vq9VJrmK]燛r%j}$Apwb%n AD%Q.uKj3{\v<{{P=Tu::x>~?OUuyWeeȯjj!b6C + X$lnTըDj"`Z7884:::a:IvT gȎ1-VS+? \::Q[QoB*9J'^ 砢? _jpPsʭEett*n( JhF1zŲ<%13e|K]=ڼ#dKl i+.bR m+~L \] \=s[!˱=k[Wv`$YWV"eQo_E+g +tnCbWozvYK!usU2E5TZJaVT1Fg +Dl+$K$#Che_.L PoEn+'M9&mBu \ql5<2ƓC#YU&pcv ފV, pE+r[&/;-gUUzC%E$lſTLVi*Jk$6=r(O!S5" BZ/(X R`-c*ŝ $YE?LG_җ/}K_?Cvݏ>zرOXD0ae%[YSaI1 + .\Xf0֩Sį>V`A /^,(+(+{X*JFEXe!;xUoXE¦&>ji +r +7$ookjmmR,Xm0Pw "X" &\܂5/[jL +JcU-Zjenn +\&odCE"w]hw4P`!PfV SraA*_-"Dқo/ip. `g ;ExT"93ZYNP 34ʀE_eQEYfP+`"p4{WRMi+߽LiH~`%A𱋴sH[J!(hU7RJ[=i;Acgw.`+ bheGA4/,SNVv'DvƭrZ*=AVn )C*0Vp0^p'[&V 0ɵj*.WE%pClJm^ƋmU؍CUJb%B{RV$ip[isմ8[ajX%Wbv$WX‘qBleu@J2\\y\mLCM1P8:j;v I94*rj;NW9P}0ٞ lsaAs}ZQ`!";TCEk +wA'-d%i?g/}K_җD~?ddDXʄt^*' #`wo_Wo_/~b)7 + + +/0"X~LwNṋ/]/TPO+*J \ B64Vכ9Hfl+"ya,+ma[wo{/ "528264 ۈ-B`m75WʌFDXQ^\^^f4TTW@7+fl6I Ʈh6A^A`A˅)\`޿Ȏw@XįRXHtm0[ +Ov0%+''}HR,qkHL.SR]&kW.T$^ JkE2/59 j{LVpr1&t Ek.oI!m/+oD%;vރ;?|%A1F?}*!m%CVJ]Q@ F + +1RGw b+h_ݼgeu=dP!ҬsY$ZIi fCV@ mf|S3Ss3s[/$1{l9ifƥ8bL Dr%+s' +j m%p|1HJPV$Yt[M;'va9$HVv$Qaq:" W쒰AI]q::a'ap}D@U.vjؕS33V#AZőV,ɫ̀#JݤZuL!"M!HJ`q~5 +,BH +%T`w{K+\Q q&w<|ͣ/}K_җwz_`Z^aZ;<42,Rc)F,zE-BY}l t`()/? OOEX4S44"dF VA^aKˊ+ FcPUe;iMC#ܩEX| +!%p̖FB(RX&;MVDXFŞ:[Eba`GO/FUUYiPQYYY]]SW[ojW-_5Ƚmu&B",savttvwѱq#"XK A`S~"(֊J#bG@[bN,ZrSѬI4آ4NJJ*5z2"cKJI +~]VX^xN$vTI|!7E4__W+ t+$Z%Wҫl`?/\+ͯP luKiGpSt[I[!tR' z6 U+< W/yUK'ؽ+=A\ݺmm_E&譒 +,%[AOˇ b{0 Q+* ZV;,'&.k~&%̬ bjq)L*MDc+$f&"mjs-տ͔2UpW[ +† 쬮#Z +$Ȟ +" !|pU`zF \Aڊ@jƇ h}PìFԒ ĮF\qu΄}(l!W.Y ꭀ\))I*`Viw(x% Kd63cWr(ˡ[v3r_:,8beWB_iWSb +! \ }B* r",Y"XZj}??\G_җ/}K_?v2yjhxX`ɣ P;0N-ʂbD¢r`A듓'?>qⓓ֩ӧO>#X^P_T\XRZ\^^b0+ŽV`U7p VYpa#rx S,K(Zfx&"Xv%">hkU0V>(fچǭVWkW5`(e()//5TƪRFs3 +aA ,xEE†FB^J,X##cVt),;^XAhqO$)QVM6:)I,+LO"vJCJ/#;(T45]qΚbj+"IriB\= G1(Imt_A]BVF!R8N#Qh.oRj 컚̓c8Ig?%$lLoz-+[}:3sW$11psvr +ܻ =km\ &B0X@7=뛚qHdwMڰ'5+H[=A[M{0m5=;G=Aq $Q)peur A" \ 7[L|?CʣW̤SfP*#F!Q2HdW[$%{5S1E]ïB8+VD @̊"\`v?ͣ/}K_җwqGw>[/^ڝFĆ6܅5"v-X;EϾ,Xy }TVv-X +99r?sٳgΝ;{¹s/ȽDja։A8N-]QA,raQԢ+Y~%|oXKqSU%U+M.B/wx"XpI3da@@ROaA)q\K!J7n/}K_җ/տzoc6p3"űT^( +agOo;m4 UUEEEd*rh +'a ֩gϒ]DXRPRZT^Ql0p;k5Z-"V3;%;T(rЩ4DY e]B` v>"X]AaYi!VhV[gwsk[YGiWZ"wcuUummmC`@%PAX4 BUZZ;;z{Ogdn``< "sQ!TvOh*'mu-gJIl5:M("ywӵQL%SI*QQXRnP +NxKyaiH*kKya + +L'WF0ajjcc;X&& Jnܾ{Jvt[=D%{JعKVY}JVoz%b/UxPWD^}|.<\`w#:ܧ흽+;[Wd+{CV>[MzlE'+Ǹ>qW[NX٧ٍV sBB앏G@̾``r`uN +39BT2Nm#Dd +& .>4;7?#V0M9)W "RH[CȠ"c[а c$8>lJ gO$rTShLi +V2ᕬORi0g?Lsf?…;nI X4hr{}5Dh" N&Wf%y%a+"l.w6;E"X"Q`[q +b֐bl4[(UYI +h*+jj L!wnB# EX`.:W",D84:,XȬv.`z#J[=IV3YɜKVW_Ra͋7_+)bOՍ{ۻHoZ\Y['U(gR(j7I4Ybv+.r=AwV3s3Y`ο`p1W 'VĖZ21+2&]V*Bl=U0J +JRGOs5uDLi تP3(V) RjhxT[QO HA8ٽ`OІz+5p!l%FTvVf`_6Z%Eެ٪s+yDg(!,5CfW~5)Z%bm~?@EHS<|E-Bҹ+᫕5c]_K_җ/}]}/uO 0gYT')GX]E7Ǿ355* + +. O={T'(r?!UX!={#X*).,))B~U&R *0X"4!5WMD҈ik[EZBy E܇'c#hR#X5$r/(+7*FcuUUMuM]LlnjnxjiikE~e6555"bqB؈CsKkkEЂ,,X9vl_X\D≨Rdb|FxhRRD1ϟ}g"p%սn߻yx[nj7Mo_IFbZ }V`e!lE9$i L[bxXyj+\MMQVU J|q \%U +VJUAT|t `QBCpmW_/s0mV.ᆴU`+( N|1rU)&ÕleǞ00p5n>iuLڨ'b+8U쪞]! $U{ʩ';lc&f2 5A,J_eIXP!\ +!*qa"K>), +_!Z]c 7/}K_җE"{+,xgttX`a +z)AhaWoWo_wDLE%%EE*.//*-;s99`uĩOO:3hw =DXl0a`(-XR [HbMNRId۩HHB!r,BX WE`tt6,CPaA~EKjiŽ [ UE0D؏pҍgfpX +.A, +"Xp@hۓki +w8Imp4. U,(r\f͍hBG +pJ6TW^8,c"(NDꚻGerPL yW݈g`+dIyH8O$W)H[m^ik;{趂՝muqlDSH[~-_f|#\)؊ W/^)}>}:spƭ=EouV[}9/T@ =8Lpc+dIR9awR9J BjΏz#?%b#R"*(DMǞ0+"mE%;Pt~i.8i+$8 +/J[96;M$AV[PejڪF +z+ Vv Z]\+N xu鴴7*䜗 FXiϊۏyYBȣerЭL!$OAX~MKW~_+ *80^ (6++a>ŮcR%} ‚UPʠEXf,4k*kEXY+*"lƮ[J݂s _ +:Hej܇тC +[8"XCh674k#/3ˌRHaW"kGwK +EuBW치LBy-X0V XXZ$ȂB_ё8y[PK"LTX'E kP$yGKpQߍ2sS[ 3. aߴɱow+z"1ܬ61' ܹ%|7o^ $xxI|_RV߲٘+m +^:J p[a[UZ j +]XyFm胞 `I4\m`.Nɴ6<.P:_6Ü-)Z?Lyvge_e1LY}CJnEI_M+?Zfq! ,)%O!D~iXPKjOa%dDKƮ :/_-¿ۿї/}K_;7v>w{؇}TTVƎ ^q)rG"~auw Y;jK +.啔 9Ob'sr`֙3gΝ;{ .+,nq1 BaU( B.r'{s+RXłήVW}}=D +a2btt5[,2TUa!ZˍȯB`AȯmVZ,f7,B`5LdwtuAfs#xD83`R(D,U`))B#X~Z K"'Ҫ07hpVXN?G*abp:gERWیjWT9G[frӭ\X 7 [m_%%;w[]>Α1mxZQViJeVnC+V+cߝ5m]/bCI04`O005N͹!#JN7l &i b+VTFl=q7\%qS+N,ʣaV""oHi@pL}7Ž'К۵+>yf@w FzBe~5L!\KEί{Ǯ$?38ШF؊ӛ>!\CN]/o/}K_җww}/D3:nEjT1 #׹>Z܇z-*ͻ_TTZ^q)/̹s'B N:ui:s4X.ºbDXb,3+* Օ5_qU,ؚ f3R,˲4bK(He;F +BwcWW,Haqux|bpt,X}=mm 58h(5  XUUSWWP-BvaЂ MlC VCɄ M4҄p=)D蟧"LD5U"j¯oB0F$QR*fKiʙR8*4hH$EUQGx:[bEʒע{k@4a˯yAE`+WjU( $k4IV +wxGq[c+Ջ/|~2W\aSOWzV0OM j۠lE={{FLa6T9pHA魴=i[ZX /"KR8` @[ɒ+άSZhb #*ٓTH\X/qd~4ҐS-)J;癚){&mv[9’a;0OmwM{ p53z+pB8O0Dmhb +Lފ$WJ- r{rM`+Zŗj*`mvG`%;=;bVI|N7/ N +Vc[$ARȕRjJ$ BʉI[\Jʍ#QH7fbWq4P0)w֖)Xq6eJ|9Q(Y9^I0ʫ\J@v|\lv_ӦB,MPU`E?cor|,a+XD{ Sr7-O k/ؿ7/}K_җwtG;D^)"rsGx +kDXP$ED +.\NˌƼ‚3sN??qO8q +SXNYgΜ?EłϮ^RRTVscLX!%fBޔpoBxRA, ۩on1 ,\h&‚V,XC@FE8:l)Z AvEsk "X 55*/5TTTUU5uzSS#T[؂ SX-0]Ejɂe2)ήΞ~`C;x|yB0^)m?mM(Rp؞;J +eBj..ў[hLԣiit\2*"Oj* Ci **Sxz/Q-kWĸ4,bqMiQܸ[Eۘ’ bR +KnߕJ=V?:I_|B^cmSbwV?y}v'x=7]y#V+ʾ_ fXVVm`e:6 :&\oM ۜ/6^ [;ǑmZbl$S*"Up[-cJ!WbZX KZNx!jJ:U%0#؊gL[ cj|X[{ *ف\M&V\ij pJR5{咠䶚J*'2=_ +ȕ[:Ui}[?g&䜕]l%5 2+)篔VZPi-E5@~ +{#hZ!,ȯV` ۇ F* k멍k׮K_җ/}]_?okF'(O/tX4 kDH1" VPkGgM}}QII~aA~aK`ܜ3gT+A"ͅ)y + + +_aXY^UUQYe5hq"wcUv <["PBb5a'"!8oZE +k$6ãC]vPK;&#V0RU-?}"R= X$C!h]*EiaO1e_z0~L|NM-(Ώ\ 6.omjJm/M$x% +󧘶Ջ/^z -z}7[WJO WJO ɃGGnݾ~pxͫ׮_ۺu%LAOb'3st :&!Fe A,yʅs{=iq C a` U\R\e] [@%i[!@fAfűU$,Ű!8_[՜73h՘udduV& +Ds * +YVtĞb+?*gθ z](l5<<6U M,vkq+8`+8&mN G +ڑ8`6 OXq~ by咠¬d}}2Hn9(%:! /%ae˘9ׂ[W2ʂڮ"akJXTu7Ma[i"!(_i+Ks +a0O[4d| +*eJ';q EBqe{|/}K_җN>/RUmʯ((%(E KչȽo"Xu&S1 ",/,<[\VξGlJOx Z9Z_U&a-[J@ϸc'xxnϞ}6[[=pVvh w#h &[!rdW,gsyV A=E +zPZr%$W`v3IlX,tP1U& #KŐ~iο83g7W&= +%A$H%A bjVsRj _6\Ah%bEO[[` w[ldR=Of05+ +ըbv, N''Ԓ 2)#Q+++jV5dR:YY@Tϕ¯Dl,7?AW(߅W4!rOgVeuUi5 fHa)Y+KX! %q>7pAve"XIbΠhDDO7]gzP_җ/}K_X][j|bd\+dY\5RѱAE8L-‘!"$U`*.-/,,(*<{PBaaS9'rTEr/Ƚ,0XBT`A + 4aSpX &j!j:a,X"?;D"1E( 5.,2VIEEj1ģ[YX, [/^i׮kVnݾux$H< *ٟ}sV_B%߼zͣVi+VɛLZ|%z /\'x[a VIqVrmheϓ?`V. +VVl5avqzVffE0\AO0J0a`W"rخ謦sfA+ъCJcP8 ǖ± [037΀K$:$ȱWÇ!y=o>W>G +rl! pj=A =N4"7YcO +$i+ai+4RPXٕ47& ld'P97߼v`- 9}mŕI +RV!m%|_fb+5jɁ/3W^+jWBo{7nsgomCjy%K#p`zaB pql"w/Ny}39 <|0񍁆Jҗ/}K_z֟韲;?0_)B kL5DP)fZP!ӾfKkEeU~QQaqqnޥKʼBDW^xҥ",,,().,)-(AUU}CM ,&`+5|ʬ*D"Eڮ;"dnpEp@Cc#c}0p"X,3K ` U r7!m#[ۨBH-FjB`ՙL hw7Ƚ,hpܓ4p.X . x"SLZKWkKM/zD)&:YEcQ$!)u'[0*cDz0h"ۍK_xٽ>xx[wٿyw[Wv7V7WS*<_$wj`ew[YU`E%AY!mz+@o^gJQ>#yO0Ca ˢ*T W+B.2Wps1auTby-,Vd` (كr[A V}x^w]VN+;|\}htp& r\KC En+A#iE1V1!fbI;.7+eи@XilY2QV{d P=^Kzm]bZ~E# wi赧7 +v ֑´ǡQcU$j~"b;E囅-E(!,, ""Xb|0ag_O6 &:m2WWoDUEsUG_җ/}K_;~{lj),9%*įFH6jr;z]['XJJ + +K斔=?"!!O99)WP_ HTˡB"J"D , FBXMȯ̰57+f^P +K4X]DavuSU"rđa0Pcᮾֶ`*0e4VBl FZY4,C ::z{05,AFrBXZWZ~˦{RpP,aVrJ&H*RIǫJQxG+]VlXM0mR_FJv^$N{%iGdc+L[|VRKHJ+UD~%4TzϞcO3.fG>xtރCVz8魀gY/&dwZ!,* )p+3N'\`XRxU8 o!vdÕ80ȯVoN +JL ٽ )a +[  +U/^WR +B +>'G'*J'wLM* a r% N:ʩ5gmfd$ݺBVoW7J/f`48mƷ!,"T3iiBFFrJ"KWP$jF 9MPafX$TEd +,ߌXbG_X$ V\W a{Cr1E[Koa}K_җ/}ZN~?_;aw j(P¡::EB??<97 KK/]ϯ0VٓNɡIa9s"XΝpŋمKJ +e(5VP]-šZa DxH 3GX0bBK(@ߚڛ:EV0т5"T;x"X}35h((/(/3 U55ujn2j[ as&ªm,vf(wtu}xllfa +(A_#E_0!V8B$EO̘S<_4I\>o B7{t߼}ygw*w[c}V$xH~bG>&U&1/_cJr1iDOK lR y'ފ=l_&l+ +{BV'ʅVvtYN` W=u م0OP|3S)V"m5ZlUP8#Gbvl  <my*a_/΀j~z,$H [Q6jbxd|p}k}تW +0[qlE+COr. RCP\R103mD|@ٚv eueVַ-W,^,>ؕ,*+ͮmf7+ʯ#ON.).ǟ>d.,Wš" +!_ +,CD(`;_?O݀+dԙ%{n'DUl՗Y^iF +~ +zm !pEVoݾ{vo]suV络L_ʾ8 +73eG`e9]vDŽVr& :1s)=A>-,VD1;;'VyU0)gRZY6W@ix[/"lŒ.i+X [WVUAU̎XG0p\POleuBOHV(E*P92PTfe=^z4VGJ׭.ίt"Xpu5c +z+;nIa+7 ,]ZOJgBܙ&e֔bY(۴~[sh.Eb嵽믿O61ŕJr*IDX$̻&'x+SX[y/}K_җ.vooudWxA,밬sWc8Bl Q4X* + K /\T^YO>4,Xg6`B+#XEeeb!FUU]Cu}CU}}Md"{Wb X*j7plE"wW&*wA܂ ,W"U#X#m"X#=dhjik2#XK*`!XjM"4Zf"abA{Kh5@P^ pGwwO? B5ɂ8ґ,X8m]UopE DY +GlclK.Ax"2WD$F9et-/i4ev8i;׶w^%ux@o;Iw$Gb >+g_/_+Dނ\/%+Vop_x?Q ~v{heuܿzM[]fOƲ{4 V`d~)4X x'HVv Vl1+Ъq+'WV&l f;] =AoƇz?{GA)S0R0pŷr"fW"ۉ+Rx~V¬aS^ߴNj +Ǧb+V4LՀ¬T`%a+4\ !}G&@oű'W\.PXS\U̡NAL䨕vIQeui5 ae\f']vRVU'{:ܮ#Vݧu{剄N%Z%lu "wHa +,}}l7/_fX"!Z Br%&@*_Z[] Jm^z"ԗ/}K_;? +\Q B8<!@+  uu՛L UTVFs(uǔ"<{G5̕\| z/>{Jz?zܺ}߼wUVb Zy|Sn/d<Z]/`N[֤nMNgf[[}1U$$8%*ȱUB\iiUŅ*a*;QpV%JXNOzt sꀨq ~j s%;Y!aڊ=A[z+ r*VvNC"' Rf8#ی4 p∉$:Q*K%v~u4(6xH_jS)ň~Kry. +YY^nye(+ y),ydqWN,ܧPNgį٧_?}ӟ}1G{b9ߑ$sOabI%bJ6>xǏ/}K_җޡN?''GCJ bK),R`q ;bP78?`nm3TU]* VgsN>y "-BDXΞe۹\`Pl0VUmLp +zF_5*S-Xf2+jB2b5a*&Ki + @ ܇FQ- ,lX5"w~ EU,c *ʌ"Dį:[-Ehij17 h ȝ;;{(e]/`-@ V|[TZjgT\!\߼,"X @9ROTĴL|IMUŖlJމ{7ѐ+ + +&AɎ +Vu&L[wQCimD^T7Ȭ!0(mIG? :UpzW= VC[!:{]?`Og{뗯6hIde{g[ +PN\ـPa:6aW$WHnsHAW ` )pűUz bHxOX{yo5%jŝYV(aSj1s~pvͰ~, ^* Rj ryxlhΘ*4O3W +ٯ9D0b ;q`+ÝLy9d2rȜ-I)\Օ"Tڂr-S)6Nfޞzۤ +fRg3PHQ$B_>9_M),D9;ۋ7xe}r2g?O0qC[u ++ֱJ#;6x[|N7k}K_җ/}~ޱc裳/]n\!˲(R1i(pF0C""!VQQQiIn^^aIiY|n.XN||'"7wacbRwWfVWuFB#̎4?ҪdzC=ὥ$2Tu{ν`VKW=qq ,O~ B$) *Vv& `G+\R[J +`,% 䊝hcjbt{3㓳\AY3n~>7ǟ}9QJ[ q/p[ +$0KN'%L؝(a+Irh+'Ttz5 *Vv?)5 + +JE-R1v`l;{*X%_JW @VT.Oߘ\RH8¨ӊSq;a% jRPS'+5vn3(Kݩ`ȃXRXj +\̂c3K+0saeWo(uá1Gl>+5j@ՠknY`Mu%k :`YZmv#Xq' F&gaQȕ`+E8=7/1+;MK=+͒JA^\PS-囩mA +Yin~Cc$ܙs$A( ^u+0\E8ƻ]zٙ `1\OM| +KUN :ŮxT 3!cWU)mA_m7~ +Wq)m%GB룱w3Y_%CEHҴbw$Wt,,A-i!.h,_X8qm]7o2<{SQsp@:k#<ݗV֮].H_җ/}K_?{ cLJ՞}ٹ%\^]Ј%b"[%#`Qz,Xp2lhl6rEsGݿϾ}}Ϟڗ<СCǎE9Yyم*.-~UN,W‚ Z4WFS ]X!gVxPSϧ7 4(Dįx DN760yEbnojk4P80 t^e3BdaCBh2V bbכ-Vks3`=@(F;zh8Y)G!,v,WJkqyUFUYDJ0% N3Z<) 8(=W J,;+X;qzaquvnŋWe0ak^ W r_჊+ZY=N- }K_җ/}֡wΝW*<\;|.`)ak^`ed9v,(#+{C{߽7"TDX{u {zvNfn^vAX!E + +`a -5 L!AA:2rx#¯̂_!ZZ[m`갵1,`;Zd0 *.AŅŅE%eģjx"m7QUk4V,J`adj VSkk(.?,e;ߙ_ `/j}eu}y¢bhx*EtJ!Tbz&j%*)aAR){@ +ĭN<:<7/l]Bl) ֝{w=r%y~we#e 4o: +w%d/ł"{_[]җ/}K_׏eٳ?c/~`$F-B8CKe hln+(-?|XVnn~QGKGii`/ , Ç=QDSTW\\"r`TTBW86GXBKɃJaPcί*KKkc`9N`]-Xn`9-!eUyy*--‘uu`Hj*Vs;`) "wZB!D GGЂ5fkDW"Vր_4S͌oZ~2JВD5j6fnz$7N8ui:}V!mu V[n)i+ߔV z[!m+_H[%0Wۑ+J >{ލ[ՙ8}S+k`e}<ۍOު/v*RPbOa'ȶ?V@(Pms~vf{05}jɕJf痖Ol<}RQÒ[p !piW!mu mTS' >x%AH[=}A¬Z l*b3[=}{z JOʵ^ۺ|6awS7/bwt|*@ڊ0I#+/+Ah`7+V0O "1$s =O%Ri&c8I#V]bgpcw ' F< /5H[0A+J+FD[R>Q za? +#SVJ,BiOmIORrŠ^ + *6,Kc6w$X=(fFZR~8+?aP;Rv%" Ǻ#XZ&vF_'C5cw`htrmѱ7ow}oãgg >+؇^AXW?11җ/}K_׏h?,v"!+JaIEB_yh"pE{ns-UYY9yyGҏedgB {k""}?t`JAP!.()VIIaiYQYE Vy5*k ª%xUA,@X20Jt 1e),iE` ƶ`a,į|$u9Ĺfmn55XkL58ZE0Pk7Ճ +D`^g U5U@5:njjnm Ch,X#c <@kyU+k7f[~%)+oMyC[9񬂭 muի'xC5}"bOs[LZ)՛ +*QoO=A[]+.BOݩ [$ [Müo .Y +|[Bڞ`g7`ށ^GƇF'FFG!p5Tq$y]a +"a+p[aIz$`~#8 ؊ݣ. W}Qt[#@ +la|)ԓInqۚ;8jC~Y,.0A'=> (V=UvB +_z`N yV%xE AĬ ]/,Va$cwo!GOJV+aLZ  +?F~T6bWUW8_vA.B1dX8]^"{=\Yπ_}W_}=37?E'b\XB~E"X<|DA(,2֎oG }K_җ/}֟c׮g62Уx)N$tDSXv@w̜\vy$XnAAfNCh!ˎWH:x[fd +s +BXT",DXQYR +BHv2ԑ SX^\B ea wb26XL&WV63e"X\q ¦vsS#XA**-.;"3L&jo~eYX!; -XAx AkrEpFw?ʧ"Z `Q%Pn;a5"RMUab0L[V7/ln]Dl)업ڍ[7nݾyޭ;mu$A[=!aW^V**!p >lկv:w8m2B-ta8¢YIp emn6Yegc`!س磴={x^WSѣ\䞙* ($"X܂UWbxjȋBRZdT!*f@XN`I؜n`uؗ,:SyUuiEE ","V~QQQiIYE&-X&3`Ѡ""! B!"XX8ۇ,񊹝Q$XJkzna\hH{Zq/%iv΅$x쩳Μ%A$uy+ٯ+Jk7o]l%V[=lc$dVD49+e~$+ "z<Vhe߼tթO:sɕK"+; +HK[ȕ:R !b+'Gbh+þ[gw_w@O ;5Cl+ G +NMLLLL Hߑ̊j5136>=6652QQ#Jv"U2+bQvv b b ' :=P Dlb+r[UsZfz+N'Bl7p |!i`'q\R'!,>IP))75Zx +xۮG%-4)T G{,1bb/:sɿ7VUq7ؗ܅ᑉ /}T!/k5{BLaAZU!5Gvc-R""W7+k{!}K_җ/}(/%?O +~q,ܠs'EN( ޞ `R $+J ++JWb{ay%ɦ9ٖ_kZb_3H`~x6N|LOqsTfV<^* R3WjO WOi瀭?y.yݼ=׶.]y܅Sg8Z=~nIo537153:1542604? *Nxފ쾀[\SȕB@#p}!Gcxwz{\ \8{0@C$:]*Iir_͊%[䲒XqQ;Ăa4!%&_)q@$yd.v&]`u<ڠأ/_{pG); Fb]=)6208Be^vߢ/buósXMq,`ZCr=y>PBXpr'O7w/}K_җ#XgcǮ>؝7]N.=da4X[TB֐WP +hFzF`X8p4h8rD`g B`痔ŽRX raMYu +,*),cU-D8ct3\ZgmD;DhmmˮZnXr{m.7l3DZLKTQSSZQQ("X9%E%eȽF +BxE)zM US"jEȮ4b`4,`͒K(T !I-lj&1Y0`ji <}J- ^i˛]I[Jvm +$%[ITo$WPF + AoE<0OV7@oyŭ^9{렷*ZU,|(6pSn(‘Xsl7#}`h Bj|j\1\MR[WMr$W0VdeocV`BaV~8Ogw*넒 a+G DڔU+.1.ܹN&|0<;0H*ٍz&:ZʋJVl* #d2O}~VCdžFGF'( +Sqr%8ɬ&`rV`'i@[ v#Nd +c~P=*x +J툡J VʦXd7 SO²s **B@[I]3[vzqSV#c+͎TZDҕRuTXOJf\j)Zj-X~i@_knJ^+]#Xڡ..E%p~!za/,mKA +ث6{<a/[7_5<:>= c983ł"UyPL'_A['Bҗ/}K__fvرkCѨ/ l`#AWnlrSTW$R6TddeMO΁Q`aH-´Oѣӳ2spa^~NAQNQQ^1J+"rW^HZ0VMJEPuXȯ uRDښ!N#X,WL,kcm]}E5FJJEX[KJ!U]k0M4V# ,`Y7LC +KQ`U 5F_hmjnQ"X`v(`Mc +-Xr~¢EB%_*{ƧNV7!+;a3j%V.Ui୻ܗVOV%Aꊰ3zVP 7υ.RlQ{m$l 'W4ßJi&ī8W +UJ%+ëZ "X\ܢDX\V^\QʯasA>Ra!q,i`}mrD,6EPނ"G|j774`P^U]RV^,` J#2BWX'X:~lP` B%emnn\,X(;" `W˜\-Q +kG8Z865;ЪYmjV'8;3Ⱦ`+:sYV0A>Ip V׮Hmu;Bɞ$(_=چkqx4ODlɳG'( ޹w]nezm:{~6PoXg>JΞ8d:B*z+H(G>5=A1; ʁށ޾~ƪ 'W" J^aJNLc@ fIl%A^#1( S(’ EZR1{ݬXV :he<>( z4O0*Y:z=EDY@M +ręRdJ`d EVr4+!K+-')ucRa*zd|xMTUk IR,Wp?(X)IkUWHjC| A':z>vzIW(WOȁO^W"sűK= +V7HoV뛗'xs'~bi;mD+(WVg@.>5EEBbN_dC+77#;HzzNAafN΁CHP4`:|#<-œB_\ZXZVTV^\F,PWa";@WDnA,Mu "XVSc#VKK[c[{s E^ņf0DKXVUU\V-\q%`V=Epmb4Fh@~#XZ "l665vteAaDᑱ鉙Y8YD_^^='Wק15% bLZ8~gO=܅3xŭ˨d'lu +nqzp?|Di+VǮV0Cejl%Ǯ>«7/F;Zٵz+ *z[w^WzWq9 n:~ry8s #`^v XWwC_Vn&VvWPD=;{Zyp'w=h"['fƨ085+Vx=ıĮ'GAli>Rcڪ $ռ?C0IL80mģm%av-=AH[Y<8y<%A_EVLIKW r+/;m\G#@0ԥPZ% ))yQ@DG%d<2^ oReF0"D.IvO)J)/g%^&r``|WYJP ߉4@RR+_wz@B\e|^#͖҄6[SKm6؋6{A]>4^L.\/F~g_ܽ{l|rffgܾ43 +\X x@+ \-ΡX/}ayqi]={v.H_җ/}K_kϞ=ts;v?,8F+`XBS<(rٝnz[Z ̬-(<4`} ,{:vc_" ²r_K`½WHB~)%DBTSXJZبDE[PB0cWBCD+jjJˋJJ`! "@Xe55Dh)zWz_aU.BX& V Le3 JQ̯BƉ|G`9ܳ/-l:q̩JJ) r*o\Uխ7oQJatN֣v)ٶ-rIaJ==0-!XS ++ Gqw l „J`gaRyÿS*RHBPa*&er% i+ULktKZ?o MV6⬘c@=./{sZn44g e/ o`8_͗_}_J Þ!X""D*,La-.(]w7_|vH_җ/}K_?g;oͭ‚xPbyPs),kUoeg>v,'<|8m/Xakb!D8p!K,DSTTGAX*,&ŧ s7 +!aA1) +%^IJDhmmoD !)zB‚ +#Xuh*+*)-,),'~UVZZQ^),Xf+M EXoi08C`W#2ftt߿4(⾰*Bw𷟠 + `Ap +Vg셋.l߼tҕ(nr`w lDz}۴B$TF$rEUA1RKVz +'ȱ{7o߹v7.aOv_N;Yvr|}q,x {l{|*i+ +(ⱟbK0O0yp^t4\+;G M䊪r+V/xE>vVT$ouqfEw[EANn+/ b’ y$"운U «vjJOG +z}VwCU@ \Q D{惘ŴT$)Iƾz=BUU"2RU oJmUgptVB(KM^ jX퉓@V(S%d$W;Z>%f}"MXR3 SJت+ aʃX"4yڮ`fkGckv\60Ɨ3].-|櫯~ٗϞX8919IyD+\"w_qD🀅jї/}K_׏nرk]0'`+,lG ++xiw_ –j1'??+''7?H1I Vھ}тSX=X!!DӏeegggfS0,Ee Ҫ*VJAbYձ몌y7P ,ڤ`6ABj;i!Z+kU\VEEE%0TufUJ +lFSXc4T šjjkkF`5Q˅X-X#c#3BVWBB +7ؕ'O<}䙳P</l]޼[q%{z%AVyI3[=V i+$ի70eRO ާn] ` ΣJ`(֩3=L#/}K_җ󕞞./|Ν?}vNcAE.(E ]4I;haYyVnNnA^fvcr > A`<o^`:Q|DST_aayyWdn'UeX&T)P$4PKTMFe!EEfWZt>"wnsݠ#XFB W+_&`5Vl35FcUm-!jukQł5BD8/Dp_R:<i+[ 7/]lueʵKXĞkdmR?x%Ǐ?y' +l AZ~dDf:RVϞ?ʾuK]<#YٗWV؉警g&'GGz u"N3+L$:4OmVh +Fr1{:pӏdiWPr+*(ǮD] +@52b߼wPeV +H z+G1+JB +USKR0sTF +bUPDr`e+bv+$d"):œ6b+60+y Fbd;V0_7 _%Qɉ,oA8b _.)BJj,&%L!Z`jvI--+J1?6L0\ ogϠf^[[-MfKhn {Vk{nÑ`(2<2v/ +o>g\ +ۡ98óX `nGBE8k.Qsd-.,@rFH_җ/}K_??vsvor‚% JjYBhq> .ws[{WX4==#;'ȱc{G;{ +{AM8WSPST\PRJ¢2hVU +ayJ *HH +,l +K,BT[" ,WV`savfojk6D4dE%X!,68²XV\Ȇ+!fGza`+RBNE +W$H +Vo501, /a?@4H[ +Ӆ==Ǯ$HI\q1;Y٠c=A2y8r@o{>MOP!:\i:UDkPZʧP_R@+7B*v![&E +\\K9cWJaPN$fFm[Ao8hBg5 U`8E0Րɒn&T{IqJ]Q9(W~MHOv6TECDK ׊ =mN7,4747X͖hXagb/=}@=y]g_|ŗ~{di$W]=;W3sH8 +!gY_-!%{GEx퐾/}K_җ~//۹g;v_5;ob N#dB!"taKdNF"3;;'??'/h¢̜ݿ#R4.r߻:tȑ#Ђ +bmP`UP *58EJ"VHeB WD_!jgjAM-6"w}4v[CSZSB*ҲʚZUX0e B`APq RXX!4Lf +љ`=|DT _Wk'A~ /ln]t˔zJVO8z `+%b7oe` +U<}߼V6/]y&xSn.s7+;魆zٹ$fPo>^^qB_Ї + W(G'uƻ{z{z{?<с1hO#R8 1 `RO4I& Jv#SlvdVDUK;5ٶ46i (l+m$fwb+I ~`>\o*+cRD"T] j<~LpކYi)[Ĭ8JhJ7SOA^y2K;0-,՝zK[ߌJb%(RJA +$R0pӣ%Xr.K"WQMy0Ln#ƃ~ ׇc>rǼjUcdn u zzoik'=Cc]D\r'~쒽۩in";g(p̊ENHjnQa--,bR +k} x/}K_җ~.w>8(;",sHaqr Xͭ5lvy,3=#;;HX}1Xw}N!L/Z *z[wݸ}JOs6O+[M/L̎ONO slw Y`VUQ]hxAo}P !7;; C*1;z#C0RpS#)԰sx +XYҗ ڝam{[uت[(٣Oūg[=#VpMV짽r譶@oI^]?D=)r+`WO_K}de A 覆,f`0=p0ek1OPCWjWcãBruVс"5̊RI[ joF"BI mg?|A$n+dwVlQV"pĮDrtة/ z+ +WJ +/&M*K~I W)`/9STKHJFVT8a% +%?e| dK&\! KPbJbé,g=܆\iTTX XѿdTLGe)'vN"ңE%-|,lʤÒXD_C0|㏸A[m֦V[-F{72k}sk[{{aa/Urwvnn]y擷> +FAH^,B)p5C, J0AjB|eeu֝miatח/}K_җ~o?]~;v󏎤gC0^ j + TH8B?=rc Ni!E1 +',XYYE22{GMH/ {^1J*ŝAQ!*M!4qN! TBD("XYr;E:T kSnDXgfnl2ԛ 2ua!EE%ťeh5L8OE͍4D8l6L:cum Ȫ5!`mlnimNv#ή` Bv3 'Ny[W^~[7Vݺ{{޿}{X|cmP|T*ߛ7V$+[I=A[ݗV@ou+Houœgm<ze(˰3񩙱)&8ا V=ή;eg!* mE&v<iqp\ Hl512 +WQIꅴPw@'b+vDU3C|1`e=7/+"XȯJ UV6 ,`)ʃ2*FwAxXJyPU`i"!+W:`a +K`[mP!6p9[[L`UTWVT( -d-FNwaAP ),йWU J ,Xmvѱ?Xz`eW'O=sK._r[nݹ{|t!) A^͛w +lF)i+V/[x Uon#~7/]yͭ~k ˫&g&F[ alE +Vn2.7ZVl"`O]@p5 p EO$W]q5 +nƱ85[Vq$؋ AVAyiOi+ V"Xt)$Y"@S+ Ja&M>N?j2WlzOlJPc)"jџ F;UjCYQYr%s$ACɔ%("RSf,E8h E;阃,|xa] {uر?nmjm4ȯclB}`*h3g?}ҧ_>~u&Z܅}6%YHHE%oBN#gwAҗ/}K_Q_ Ÿ{;wO~r!^+`PBnbJ +%94ϚQ Q[g-(@ VAzf̌+"XX!L +^`80Lhfd"Uˋˑ_UVW#B{eX!#8Z_UQ + WJP _aP`Z-vkk[sc"EEX܂,r#X2` VKJˑD 1e ںjWª/3([QNp8]XZ\Y]xu셋/]a'Gnܺy{?|1װZlVvP󴕦ȁqr굦'z+vڞ`OQouw7Houe&x‰gֹ}UOL  >[uGAvL%AԸav@%;4Mdonor +V#\J)Az+|lW^EO@i[7@Oj*%jJZ"ڼV$ϊPūBs:}B]xTz+Rx*.w xNB(uD%f(a5K,'W ޗ*%c+a%fDFنM%_~J[!`% J/|hT(kGFbbuQ$z+p ]фHL(?_žDfmjoh4R*ՑtD*+7}mNAQ9*A%Ueh{5Zjk+4Ա4!y"wjԙ # ,y``F-vny>)v'YL `V~QQNaa^QaQ **kj :vf`57-B+E@^kAB.y557CX8OLͲյϞ=׮_y֝ +hI(xI+YƎQ[M`P rl >z­젷z+V׮ +z":v|~ief~V8L4L/a{$[!qPڊVN~z+ߚiCzĈ\y`U/ +W#-ș#ZpQ>Fg؞ oXU4QՅn+ݞ N\0+b`RT * +m6B$lBˇz+$f%5" gɷOV P&R!zr.[£`K]i[UؓkyS.TڑJ*^q@qVT= jP(ݓX&wNxӢĘS_C]V4A)2`XҗRDL"CUghUOamD~ՠ+Sh3k Nln]y)>}[ӳ8pA<,T`00H9`/PyWV) kg.{'+퐾/}K_җ~ׇ/~Ν?}oĻ_!#,ba +0*8 ΔWP_\u$Xna}}"BBxC>tcǎeffdf+Wb!aՔԀRف:(QL!AQ!-BDX  Vk[c[Ea},djohl6!UVUU\ +t~l<72 + ЂÜRUȴUzHԓZ2=A0OP[O41a +.f08#>w tBJSh(!q Z7hp4AlչSgM窎 '~С' +!ǡExqDX>[Eϟ:w{O`!+o(܅  1p,I=&r[Z`U(P,ί1c+:=AggOo `9HhG VK[[k|58,Wn ;=<ݝz!a`əuWRw~^z(y_|ŗ/5;_~vZU +Ǥɕ|wL|^yŗ'> zO^v•/KBa {3s 3S=.<4 +N6C;UBS4FcX'`8i W3sӳYH+^͈fjrlž-[AC0?>`2Õq$Pia">d@~MrWG +mV1(M!dɓO&uܹ공U0Thqok?VWWkGW[wOk'Z{zzaSV?x" тw!rZ/0Fb Uf?4h>ш"w`utuBj94r]ND}=kA{'dt=P,.pscS Kgg¥7nݹsϿ٫~^}gD_7rAQ/kUТ/[z^ǞV>gn=y'ܸy*X' zBqym}~iyf`踑GړlQ%j%7t)'3I)=A$F|$ + WsȠ7*H^-9祉ZF{ᶚ$D%{KHgme +vmKn+l$Av]̊[IAV +\gal# +zi +tp[ 'R,R):`eJ`u@J0؎"o%sQ؉r2V4>"!YQ!ɸMøY04N0TNK$̕Q<(u/u`9:T,`FK^;OgҬC0c&&!ʫUGlBm0ǝ$5rcvO#陸*6_R' N 5o4_b2Cs0|~tg}~;w~zaWP`:!MrDX"]ͭhm݌cQ +ul]We/{^Xqv~C?ovt|*&~:aڐBAůq ӂF?w8jkkO=Sxı#G>q/:t=z`q?q̩JEXC"Z67 +a[`V[wۺzbI4 +L^.D"wRˏZa8"h,ĭA+@kP`A"~Q }Br", Ƚw`vtvuv`opЅ*gׯщ=WO}_zxwÏ>S^7DKڂb]?&G'by!' BOO^¥+7wdeG | by+A}HVϽpWXٯݼu͋WުV\X^+,X&cL.fGNO'4QѸž`V1f !yiL6ᆫ|[ fA!BC;Į +Vf1VBlEn+hN Μ|ێ[ABl a "r%Jh_JVxŽ͎v<0,UD Q&M`` +KXDJ{a+c/d+["Y{iE!%OĮ`()MUJҭeE'%wHԹ#ԲĴRoeXߍ{ehN6,gZ@FKW+׽,{rE͗-IRczK+#ctKF+DX)CR,TWqD2yB+0arz]ln+F:`8+Fi#wkW޼rKWW +kt^6_AjZ[d*BIlolmnr`vm>E᫭])}SxS_De/{^:+v|G|L~4",La %#XiJ#J`_"8BqꆆO=vp_>C:t"<\QQq>'Ex%P +,`!NW"aOa"btG~ 𪿳O*emW Bf|" V [JYP4>rc|{:^lGsskG[;Z\N_}tvWOOO_ߠ}R?ed&_mm_`EOށX+R{Gly.{'_ O=ܓO=>/+W.^gKk0ȭS3s3`eRl0m* \E'@I1-x*U:pE "Rr+NHuř .R=mBVSV9ȳ.<]0I}zc#|!pT n+?ubWÔ+/+cOWal#F=(Ga[,f=#m=I$Ĭ4JԳShJɭ©Πŋ*^-ʚR5f4 nd`-20bTV2%i KVxtķZJaPߒRqV2{9 +iUW- 0nYʌҼdf1_Th=y +c_a"kX±a~[A^v(:7W@c^7v._|v% +RxV@x%RX@ȂEX$Mc +7d: Wp'wwh. #|s^e/{^_?w|{?#㓔;ft(C ᪜M;Л`iP8{\qT噚*1С_:+_=q!`9vN>qZg0U_[hmjnh>O,Gk+`CE]aQ+W\˽BW.w` ;E_k8 0-Ba),tuvt66,X MM-mmm]]A琋WYu" #[}@(ʮ酥EWw}_}yɯ~W*’73WـV6I., W,B-f"Xxu._Ѹr{ۻjkAxl噪g=~#O z"E"gϜVmU]}mY "lkYa,.`A"Xݽ\"^P`Ƀ(,3EE zRj(rV$ т:Gc=Mr!ZG v{|>B ,k,VOOw__CvE[Z.n\rWo"H䯈_7Ͽϡ-H'Vozg瞿3YHA$W)2zU6e='U^G'`U'8+\ʬ4b+hjtLrcF.O4dV`+a`8 6'V~7V!= r0t ՞ p偫ViQvPUxRUсb+5dSK1\( $DJ4!Zڅ*bQµ%KwK[KFXC ߔe%KYU+3eI`E*2(gG(#YvQ,xJ eK#X\}VJ%,o7>*H JjW+x^#Ha[v:i+lAz~lފ;k>1F :Ԓ00~V_A 8f@8 + \ >EcvnqCw.olB +Uq(aAUŮ_6p4VqsKR6a+܁+qsX;{[;w>{v^e/{^_gdz_#JEnLaq;aqC +W\Okv.{Mg58յ5*+kjj8qF#bqX~luMk뛚aŽMW""aݽJ˯xUACC\R BajOРa +FcpBklnmmhju8jDz{54x~?F| >tٝ?/C^fߎ&nܾ/ko{Kk,//3(rֻa7|7^|UϾAo]z嫻.!aY+녥鹅鹱V 37&Sq<8rM K29zbq"b< `+l 0[Z!ry|Ozv$Hi`dX {h/u P1 ++M5~̗{8 QX,r$`>lSN*oQuhr-ܒ +Y,WG1U(ZRfJpBθ}Ka V0kTHLNC-eb)wz]X~RRoQID[%s t0,%geA/+b+O |Y_y\ȍfslA+\\U,2j=ai -Ŷ<OɅbqs{{gckgy  +ba7sUV юe",,|s PՖ9|uX¢ (d{g}DoGe/{^? ;>c}{|t{rc)*+Ez"`HH +._d)8;qy]Uu *+CGɂu@`9V8y$DCΜٚڪzDhoj!y,X-m]ݭ]m]B#į;a.^aP9{@z(5,,o,XWB0VrVDEYM-8|Chx> P @Xn?8z}fٵ7ny_z5 `a//>;~{ierխW߸pE述8Xٳy* UBNğ(O[P'lE+Vp확z\n4' Wc&TAtc +]ȬBjj7'Ql5:1b|~m]>'3 -O$cS* 5l8q)_ @\^2+n8ʩ8Rd`8- dFp 1 \IvZ,dz*yŃ]c7ZZKN"Ɉ8JF*byvez\ +#H,tҭĬY,t+r*iJf +ˉu!Շ9+3+k2x +S\HKڅ<>'Yijm2~/$Qf!,gBҙߢ|1jI[Fp{:+Wu^!%j)#͏Q W|`:LN?y;bZ*6랦S&3^.؋zPY-0vW՚8aek ** +;bYr+pFC8 W{$B8kcs$r_?e/{^]zGˏ9BX)f9jwta%StizTQ(M Άƪړgj;yHE8rX""+N8q3gB fU78hjimjiAZ:Z:::_ _q> +  ;0AYfPGpa aa8:^'d*Cx0 #cOhnkr4656649 -D P(G#`FC0,@xPTӌzawҵ>,~=R`}g~gb+bw{z]"W//$Vz)ne| 6[m,-.-N}#cdeOf 2mWV + 6D͞HA (J"W*H+ +B +RjWSMOc +Xhba )Ql5қ%8L[KXcI0:6u[B^V\sV^Yn~ " +za>OU8]KH8*)m32uY4 )!+5T+`[`Q[\I~e,Ջ,-$ג+%dċ+oLJ͂!%%"[ґ,5vU¬߅XuREPRAvڂJxۻ({TxuAj[ Xi*mAIM]tc39RS.KjHHB#;6nP1-E+g 0uU435+^*m9W Q[ +Vש9X †DnMN@{csMi!ŏ{ĵw;{ڵEe/{^z~|/!,lrͦPR3b(!waA qDT{[gWUM D38R"Xį`:~رc'O8 " VMCcMSs}Ss#V#XK{zyG/,alwypraEqzN_"E# , aa c"XnCvr8_A"Xn7 "X"״X"؍áфNr08ƮwSK[^Ͻ˯[}чǟ~g|'8aO> @>w^s/goݹ{֓Woܼt;{7wv ۫ & g؇Fl5jG^z+VzH,Lz+s7;b+dV4RU +U.$Gry^cUpd+ά04Q>R1>Fp=g~fY$WJO+!kA%A$AU}0pV+/#lV=S + _ KZ +U$Lgp`*cY%vU +Lͻyʖ,A& EJJh9RV1"J'TDˆTyPUfjĒCJdB"’4CoTS,% %ixRie\{,JL{JѼg873*Rm +ˊ~ҭA*UVWϜU+3mWF `*O"$t;Hr8pV@s;Ye1{i-p#i~Ѝ_Jj0سOdU2ГޡF&ff<yL\^-oyU+YA/H{sr yjw[?Rwa-<|%څWZo^e/{kQyG h@[1mP+KC Ɉ)ȝ]R `ELт5\USg+kVWW?~ Y!u;OE~Yx>@:Ɉa!F|"5 a=  +F EJ"XM--ujms4:Ϸwuup(i)os\LHSD<^Jr@(l~tjfnyڍw~ao >x}\# +r37{W__aP+kչ%[MώMLX:.@ocxq-*& rZ(O[Q+ L*gdb׀jN+nIq* jbjtVʍꈭ``$\ +C* 8AS.}bvP#i+ Wadh uwrIL 9P[1Vч-hʯJ(V0`JrSX&PV2+coqY+4 HCٝ?3>3Z"JٗriR ja_Sќ>UW83[jiV9]dO= WWpRXiP3|cZegqyme042:^'əٹNQ+ Uῢ&(z*la  a*X6-[&@pamn u v^e/{^_c=yկ2|mR_фB &A H4m8otTVUcm}J`@Q`:r#:z8ENa=lM͹Zaj:_ԌwWMmm2ASHH",_xN'Yj,W4WB  ,ί m"!D"0  "Xm]mmr46698GDz"IgG#ccccc|6mm-~t<_`8eщev w$+/ګo۴_{W_W_W{g{ɧ +^OήͦfUƠj`+AhWa"ٓF2bl. sZX\:j?!fAv)N#䱒ZR3$M>[]1a(Yiȗ߬J*2xCQ*wND22@ƴRj)%%Q$! E8+%+ˏHdN,E,$=Y)N@9MMKfH(jɂ +ydb<{H,ѱuRY(n/,=i4fk: _prE,AEon`j6F,<"wvYb a+q#XpT`+xᥗ?e/{^5\?'?٣0;W7̍sʚ"ܳV{ ‚ U*ٛ좾\mmummcSSeacCpZįAX!V}CuCc,X-[ZۛE|{'ܻZ$B;",;{YupaADX.7!," aq"s !vmljior:_ &W}=!8d6a3T*Aa   12:9;ˮ6w/\z:ܟzg_~W^|՗^y\TAvz{;{_Z_l59=26ZMN4$A`"l{q\߮dBO)v*%A#7͏d\aO٧q4zx4V&@[MՊd[=?hm[$>vBZBada`0+˶ +%;yOcۊTi!:#8OV4>/Uy0/E ON!ʲDEYYR7JH4eNeA&_z` *Q_ٲ +@uFՑ%dy.1 얈]U!UL^Wx([fRڂ>K௃I2$;L7J&H&&Ŏ'h{@/LL20QFTݙ>4"2C5YUǴh{ґV(C7+8d#âƆf7a; a'smJ هkHTcUeaqeskwo{͜_Ze_1^ + \]+.WחWd^BU@A~NjHFbq "XM +vaq<.]9;}kglnocZ{E_Ge/{^ڮG}8th*2E#`"aL 0T`$7lln>WU䨮9UYYC'=-",@XUUj0XpQ,ֶV"ljAB-BAH~9܅W@dq;+nw8>"$?EM'(ruwuoks?_XP VK[KWOπDT&ONM/-,-]KH y܃.X`$3uvwk7|֝wz3>՝nܾsKWArw]㰋U~2K- cpz +U4UKhDRS -]١*odQ1V\AIPJnUӳS"jE9i2rf>g& 3q [a_O#Ac؃(c$W^ U;C i+4\ٷ'zy +9YPoP"b+S(D*Mm f8H-Ё6(C-EM䒒y#`*\RԇuRĮ|<8U"{/gJKp=YVZ5kWgX"{SEcq|L,*-XEK2.U154}.Zm)K=]xKe7թe\j i*hUԸ75I^I/}W)LdV+]N4+vAn%4VȂ;I`d ũL*453?>9 zHDg "%;!+W'%ÕdOtU. 쐕+V\Ǟ>F>vPⰫ]L˰'##J0DCMV+z2pŎv2_JD+{D) J+{B#m=A3.\)ʂdjJG g#RfJaV/aY}{q-+R_%i.UU2ccJ2jҰYYP",G m]d/{^ezG~ǒÌ`V%d[3wC + .f5 +ᄢ>٪ƆSg7@ر<毞8|#c'ЂuS܂UUW_q8jMM͍,&BX\نEGPEAEh`)Bb"g8 NC1qӂVk,Xb|]rpq#kLNM/-,Rf85=I= {|o`oph]yvM5;ՕB /_ރ}sk]+ŕx\#6{7f{` ;=Ξ>`9FW}?%19=4R(loonneXHį{z{{{ \l%3F6?:69==7?.֗ …յIVi䰋O[$h4b F"*"g,ˮ4=E؊ll>A*?JmABɕ*(ԄXd3!m1r4,L`+$$>ia |v{ADz܂zX/'&9#NgogOOgw7<^ T##ӓ3sg`OLόN0AvU;f:&įaίA:~4GX`|ٚZZ:a +!D:!aQ +]=),$W>ɥXI53H,guT V"͈Qñ0.w>yUEb#\ZY*wvvvv66T.kq9?t y}P87-_rJUB:T>)Df;b P$xpsAN*(OSs,% +7f&͍ +51y ,KD9ۤړ]5j2$AZ \Pnb+/jOppcv1mEVv´U I̮b'(Js&y`z{DT~z: C28FX=K[ +aG+J2y\*,UHytlJSlWڊēV-:Hu@K?j*n}S::QDRhw)CJUUD5٥$R9:E +4nDsśHT2R'FJqLDsi2{L2bsP7(P Q U9 4X7@dP +QDUEpTcG8h ++wc0p! m@ʳZۿtڭ7r崑g//X"M..aj{w_--cPD<vZ(7֋[6U Oq"F!V[dq8n}H+G7n-.6o?p}e|GOg}f9d/{^e#d-]X",:"`]C4%ƦGssm}ݩgja᱓'Ex?<Y~u!aS'Ϝ9}le9kq+҂E-BUW7ۈa'_q;_ s2-Be!0"wAP$ ҅?B8e8rgSj [[:{\P$d䌩Faww{Vqumyfv*?Kh p|k+ Ξ}~p녣X\5LX'0p0o8}a_ vvP8 + WHW0LPOkɌ2H. Wy̕*'!aE+J`+Y̍feR@F%dyRfGj ^e/{weut=ȣ=P؆XK/Bgeo6ǻ1'ь#/ Oy1G8I[/m؃i+PLT'C$'z[ +`#ɕff2U"U֨?7UgTJ$(/2imUBJyRuljfYql%&RRZa3ufâ`HV*n)G *]qU=L@,7)GW%~fӒ%ƨEbR&&lĔjs%Ô3]pԩxhNWhK}Bs"[4fEDa"fEL`G5d\\%:F]UDwqn 'W`VIfS@5[*A +uErb=C!8%=O6/\zڭ+n]xe15=LX<ӳ kٻUv入Vk+kkT\v* 4ؔo*1U#,^)eB`mmgjf`8y߃[gg_Ae/{^XWŎ?я~o|[O9JgŢ c! aV%kqjGSSM}ӧ**N?|ء#G~)Ddq?RQAc'O8}$"<[]]Y]]U[,E|`jn8),WmWbwf'ȯ AE?FW%b-E&PBC~cB.wp}[?Echhr>-O-,έֶ7wKjumevnfd$]--p47#jkp:AРr $t y|nÞU0GX"HR +\l:NbzQI +*idVt^EyJ[JGl Ap*G:Ao+t[=~ndVNkCIi+gVsC +2WL[y!'i8*'"f7 7\+IBS2rT\JhYA2LFI0S*,W""H*Qfʂg%C\`(Za~vxQ1YȲ 2G'KZ3*]L㞫\`DH)ꭃ|\ 0DQ8p^+JyΗ"{}F1''#)>j;IL˦dYRr-`Sw=h ˀTE̥@=3Klۣ{ mmfGjme-iz]]>w`o`!6m r5"L.dZ +'8= jRi#jue n D%zQwOf'&b&m3@!Ce[Ԋ!J20cㄭbAXEU- w6[rY LQJKA1-Tӊ7:cl%\y)M$).$RY 6*.rO%0#5ĬS+0ss҂z (() W0s&?ݟʖBTj%ĒiԟXb?dKw"Vjcgm̓|PJ2+N!^{v)b|$Wȯ .a#po>_k6vudg nkovwtv'5?8p0}l&W}4Wq2}ZV|ybVSs\j59S,NO[IJ}CiMr6c\m* A'(JZ`j VX ~%F) +M +V1NR!$ӳdb7ȪQ!U^X1ȩԑVJ[lA+5\s^a`S1MBAR"S䶂}I7[D>Ѝ>N0`4L shU)ʞå*N>ujo}|KFi^P9K͙Nxw|̔fN o#PL% +!OR?k(H@i]$Κ LO2=b\RG0Z)l"XNzF"' d%K92xRgʃ{O~򛧟'*i"WwAgO?͝GK+T6ϮZ7ok(ڄvɯj+p j!_,0pBj BpD!WY}1=~TÏK.^$lE6. qsϳg/]z^|gN` !**խ;w^~ƍ7^%Ԉ zPwIшL; +zې aÑ^p9m&WKk]ccEU՝ܹ]VVF;!*`5`鴹 ˉֶvH)X^t!D#a."DA=< {`XE+`a#B.B%y#8J@~ bZ2O"@HWouݐHt]CCX$,_؄.g{{s}cm[gXO_o{mhw8m66W3jnmm&Gaur# Z8260P| fGW*A[!Ҭ9k'g +Yqlj+Fc+4 B{B#W[b ;F#١*Y V'812 x+3JW2 *VWeEUJ`$vFxl+CUb@C4u"*yk)O*:^1-yQ4sWh6ZqkyEy%^JVZlqfsѶH&B /1d)0sa<-tDČIu22aeOz`45>-U%F-}҈s3fFi?VIJ"._$:+dYi>C$ J0*C?qm!Ɠ8hL8| +V +E'LM-ol><8z_o|h`eu857)S;|kO??>;˫&guJSOə{VWV1jkl[뛂_m~"+nsZ%m-vq,hD(r! +JfEW?8zV -w{…/| gϝClTX]H<{̙l.=/^z7T?VYeUVYeUV˪yM;W__ꄭSB%sݹ 'V^#xdjX`y\-UuY][[^Yyݏ1ŝ UY[)Xȯ@vAE FL1 X=:R- AX>jG(۩aс1` X(GƣЈ0'` +KOAhpB F({NWk+\--o{oo 8ԵBqbaqauun6?b*C#]~6;6[=;3MM&Pa9fnybu }*BH4m- Lv!WbތV[ iC= [!yP[A;D. 0 & ](SCVoE=9J\lvLeF0"UD fGdw⹤TV1pR(='j  Jo&Yj%}j9K Q1-##fV4EdʼnPJbH*qQhA?LHekKz&.aW2#M$yJĄ)nKSTU aeyPՀ݋x.sJs tVeVėKQ椯S/NKOyr5hϗ1uj)|)`INeq+YHP^>y\L'sh[Q(ؑM4X ZcҞlP8|&_[\]Cgxcdzv>Pb.Gs Kk$gzo>VV'g|z:Ǿ&ӳ3s @|5l+~p] juQ'Z8Hu ,3ᓧFbںڗ̗yŋ!xQ2+HΜ/]^~ƍ7__[?{**^HuF(Laj EB,bDnjMFCDry DuNp ƦzR\f#.JF==}^R +E>"Bn$5B`A;" V,d,  4RCc~;6txܾHRŕe6]7?5=eZ̃r6mp&ٙih@ek*,A +`,MP1. +8&|x>bTnO QI~*0t\ZWûT榛¾di%p[JJ8%gbD&yiD+(ɴрKL}O Nѡœ + ɡG5'\J>P:ŭbRHHd̊id\L +_D?qR; +1 8]&WV>:8:|O}pdsb&7MK7R~zvΣ'O?3 wI8bw572Tv &yoRlOnߦEW,T<-G*_m<;dGB6s_ٝ}ݯ_x_\G  lug\x: ^|o}WϬ9VYeUVYeUVK?`7|ʵkW]eTL7r#!o*8wJ $da0<^ox5 fNEyY9Hn.;ԅ%XU__Q)Xm`!DZ!XψpG` AW,YGG a aq `i@HHR$S(۪w`nmo0x/vgs3Z<7[O{d(iz]--Mv[CSc]CC]C=+Ч*f8N0  +r-[$W: W]WSlhTN!y'sb1H7:f[{Dށ +FaZF8RV-()$b*fV[78d, ʗj8"/!WiIyYzҝT虄QDVb("+3R(z*R0f\"Jj4A4^arRuҖGz Jzu ͉UL]SLQsKA[*,Û0TܐkiZ +UW;ƍ{l)|ȋ 嘉ō:AbT\LV l2ͧs?F(J`W2+%z70I:+R^E^œɅ+0l'ťG'HV/&VlT8=p1_mlKeEc_aZdٕ. K˫זWo6I%e~pn;_Ϗo|[/_g9s\₫Uge3Ͽ•WoꫯW|MM;**ʪ͛ox@(<9=[D:XSEї +ys@uA; +9Y9=[S]SSs`\V1",{",6_UUUUVp49vlDzeV[Wv!wW}؋"Hʫ~L2ˮE +!B(2GX(JTTKhldق`Vl51(*3 F`1 +V`C p.R4WH>A'a*wHH_S@OyJ *}J\B`SJ ;j%%F\EdTeI1!Õ"$AʵJFi)LbZt ++ %"TU:#W4%XP~\Wj6̔VLȦ%M/ JI%qsF`#+ OQR!?̘τI-)]s5K'cH>TM ȕCf) +VҬd6q 2+VYhOU\֢ZLf#APKƳ +%3v?㧟=;\ƮKh`ѓOc^c/E<`@vE%DRlbSS3ӳ sįVV?@~7amml +!E,rv[ۆypCB#~p[7^q * W0_8wճϞyƵk_}+W~ToUcUVYeUVYez6"|_7nG?fBȅXf + Wl*(Ă {=^oimۜ&nen!kHPUSjlįlfGKa UXF>jGHKX=0dAW)!{FL(E +b :M#h! G|}}m.zDW9[\ݽ=ã#hEST2cРlnnj^q~؈]n!lq{ZB +"|?aɯʀ* +ۉ_ax{ f ǎ \A O]- +9 t1_]FW&ЈBxdƸO0VVp5t!xgʠ&A:\M{ ! JUP[Pqfyd&g!XL0*e8"a`2/hr,i} 4UJ]ɭWI tqUY%O2qLL3܅ m"ӮieNE'Y٩_R]>]}*T1ؗ8 ݐ))dRӕJxPEs&)})RIL1r_ўLR2*<$"UDV!!o`N#Yc&1kQViQ Wb$\uG^2{6vwzSv-/[zhѓOWس$cדP]±x4ŵdBӓ NL*9ʃuV$fEڪMYa{BׅOV2ٳ$z7xwWeZ_**ʪ ~B_{啛>0<2=;AX()*LMQ(Q\g"a.]=BO_lw:ڼ^6khp55UTWFlB{EEEeeUm]U]5" t9ZZnOV[g"ݽ=}5Ovv-KPctvzna:[hp'7aWUmD%ө 4@ͮxEm_Xtmem _moI &_ml<`c : !,` +#v)w^L3 0lu9\a2/p+oW&z7UVYeUVYeUgӷ+Wx?\: Q&1X2Eޑ! UXa&'R4s64@U]WW^YY,WwE)X5uuį1pS#¶V_y!aRyp@L5ܣdAjD8,?x +X(Gx;oDI!kXb<uF aoht~6?04y;:ZZ[GCScM}]u] ښjW쎅7"QLv/D`utvR{O/ECh,AOd:fl87qDr BZDAjl4c;eT['0P$NN <*8Gn $ +P[CeUO0섭"qq5\aG7|Y#bI{D +!J+_):t ++NDMIMI(Mdd;|}s4 +>iB4YLTV~.vGWL-($܄(h0.ilo6'SSгqbKEkiC3t,8q6:g/ͶՑވ@]+/HTI}o-P'S).~*$JS)ՓQOR+$WhD`8BɅf[A ^8 E +ۏ!'O}tG+k$fTqjvyu}kѣc㝇?ӁA +N ĮK0dK(TUԧe735;?=0Hspc{ *<ks )dW`܂[;ã'/7n޼xҥ+q^HvEpuW>ŋ_z7zͷf_w'n**_gr민[3s EBX\5e$c""D V$X톯mo۫kkԈ;~į*@!I6[7"t{!Bkb +UX.$ A1,Ra!F`h,&%Fpp<}#]onolko5ٜ֖N LClv\r}}Um U`$ v!lljٛBg"<į-  tpӹtv"+'ӤRTVl+Ңm&} D( +UVH1$W[AV`;Bq0 O0% aiL1ڨxT&Uh*(EIP' b'AoE]!(SRHvvT2$?AHe2L@uhB#  UQfMcR/J$:zL;̤R)AžEFƗsFM(&0P"}4QJh |-`ѼNq+$LvIr?$me,>TNtz9I$M[i%$RDJD,ML 'ZĩTg4L'Įyh1 j&` [H W +fVٳL~v~qm}{wO>lĖLMϳMpDnxoù{KHwΌ + +$4DerD._(Nff }naqqieiyLzQ;k ƶ+6ot,m n??`{p5~җ~b{K8.˖Rpow^h/**5|?N*,BX8?CBr<=[(RGT6_𘿽$Xյ56tUC +Vr r/+++/)l9Vdk;NFExbvP%_BH!>S̍GP HX8b#B$_A{|4~oWWp56֢lqsm:|]39Q]UYSU,h5a; l=nO[[ "ܻ{I54<4Xc@-@W*䡍`:;grlIٽj2ٝ`46!0 $j5T\djn$FX l5*U`c+' b(B`L'H Mi$\ȯ$+Ss2ȶ*]!۠IpBC5@I9J&G)J~h*T +A3pd5nL 8b*݄K,UIRTx$O9<08jz Sd` +­82rR1Tu|D))L**B,]H$/~e%`I NR">MI MY:ER4$G2[L@)Ie943Ez)E;qxQQJ?QC%]$$.ǒ@Jĝ+)=ɧ(^/pF&$K 9Tdm ؊U`!I"` Q|I"B|+x+.ƒ $%som?:8zg|vtd, k*N~wxwppwV0ɮcmvec[Rv}cW$d b1>[泹"9878o+ZۀumJ评j!m~겶f}|. _8{.x+ [={̙3Ο|^O~b8**ʪG߾_z+`aiyrȕ3F_©44""!|R +"Les|2]]Mv{nokr:l暺 +`nWب",hDj:A񢅰 $X<ˇ-{zِBn$UpjP4"&9Vz i !~7(a EWԂ=; q{ښںFr8Z6746ձ_Q]U^YL^UEMUUmmM}=!,Sۼ\m6vy_z_p5.old#(Z2R$)@j {AVlj,rf%]jaV+̃'V"*-5NJWnVO yټcNeALPSQR+=#?8FL?h&1YwbȄ1H*">B[D.g(]99 dHIE&zlšwɗVf'ߝ"ވM ATޠ_-bOp'l2j䒤/4+Ϧ\7:^=S%ۄF3YI0"(!BK(TsHt<VDbqŔaĒ4f ' CQ' bq=-[O?Ӈ{l'gd:EZP\\^yDjhgw}sgf~!wإ i=?GQl`|<%`+4DpxM7WA|>!j +js4WӾ>?23\vaX[VqZ?H**k^}^u[4+b8,4v"y +&Eф?hnv8RoS#BuΝrn!VSUUUWWMqOM ؈c{,ʰB;By0  IGr.Јp(k4&~&BD`!DGA4:#j ̀ hچz.eSei`1,M M$"FQRGJ)Mʀ0 +Qw"#"")=KaTj"O(GhȊL,kDu2Аۤ8Z$izƫؐGE ȓT]Xb/ RbMMUFET%xJ{ *"\҄*6 kE#NhHHYV\SճxP++]ES4 <؏4lw8痤VGaGOGkӳ z:G<_zp"?;\^XZa{y;;{|}}u5~ʉ\ e`)MOCo\POPAU|VV:>8 AnhQ0V\mEx(, L0I)7lف>aKSr*VAC e[謒̞$vc7[Je7h.2q(oȨ@IRp2QS DUIw3I%.R; :' F~)i~wIsUߥj c&2O)J`M_S!RN%Q@kQ&V`SZ)}*IROɨPIqyY"5H<~T,]Up/Jr'fZ@T]ꬰ] a`@!HDPۀI0 +Z y&~1LVw>~O7.,E0&ճS3k~>{3x;<7co`x`ht`xRRKhr<踦vP&웋}/_-,.΃[khY#!XmlgChEe՛o;:_p" .ꂌd?؊ .< _***y6rW_}^gw"w(^™ƹ !a5#d:(kpjNgs3`A?J`) EG",*." r9Z[n# rbV¢,WЈ$X0\ K)X0U¯"]iD+.BT`,> tRBCWeE9[ћTܽS' pVsRQAk Ž, <.I V+_Vo"#(Cy ㈌7CYŠՠHlM? $"l+h)hx$FQ4ek`AhʀT|.VVNt$+ +fRVx0H*43?g~SR#1 nsDer%K?}fEIbJW¿fY*A&sBaezR_3zSrZ q~ʓ]D0Ni"f@X\JaSƁЪpSR|+B@r,N0Ok]9L"d(pGB) U[2 B:+KōtJ_ցQVd`+1#N Ѹx7!ɧw SdP"(N-pwc6`0:|6;h`lapҮgp,= ^g0Wq-YNz:hgff^[+֠tcs{csgH4fs8;߽ppե%ϣI9Nc[_zOOkOVYeUVYeUVY+߾vkg?'~#" )Eًp2/@/B_ҹlZh(\:8RTqMPD Wp)K(ľhh!.!%RL)8(r`f)6#c¢\i$*Q, X)HeB?`(Ɩ3 w>~ӇVV&fzl0:ldwheu05Îw`.\nvj+AI1=!Jt4N ٸHz:ǾRl6_N'S肟]8`y*u@XwKh֟ǿk WKruܳN\˗_}~\;nݲ~oXeUVYeUVYe?bӷ~^{ʕw{^XZQR8)ί$š,wPa`1U%X!:]5 &zB V`)WtFjlF7ikmkwyy;|^OHyك^ Fa u!%}#8Qp, 05lQ`GwOk\d+down)w|Tv>){LAXl%X 촐l a U{G;8+!ȝ\>6z F0/ fX)V +⚫Q#}{IVDlEErͳڊ+l'cg7 "25A 7 Ig H+>ڊ3+ЃaSؔ^9.9l '4KRSZ'"f^d&rJߣ$>*QaXɵSD[a15Qdv\d,1(.ۈ yvR[b*v"<6 > SUJOGC`+\A <]!Ҽ&;rG)0ȕøaaVQ +`C@r wjሆd)]g>;`o}'gVl==~OvmN.yOfr 6:8zd|m]ݽ}lk*ʮ{@s?42 {#pBl@ EblPU,vP^eH&^=; ';kfj +2g-,-,-/._Z^յG`f"VY<-\)X5uYik퐂lu‚F޶6o'"8ww~ q*?ac` *!OwB`Tv fql*PxWDPmeTN6H0Jt ,9(LHy9WXJSYѠxₐt3:)*A[oP'%F%)bfG1BDN:JV6Hly(RԤVJVH*(LeN1%)z*,{AIfE󰟤 kQ/A*!RDUDh9'Kƒ("B# 9Ԃ) Vi\P pEA +"1l,L yQdP(0Ih C3(xBK S +[{7w2ىh ^4]`}u{av9jvuz{Ap؊k-8?4At|dnѺ D{Jj)hs`#BpV:E,O;GXޮ *,b smOIg%V\pdG FDDi\V-e[Q:R2ɮd ;Wd*U)}#c[$HOBc \w^aPENHNc@HSdN¯3]I pr咅ʜOIR؈*9dجQ2\كarjSAJRE= +bR:%O\g%b$2-!EZ r'Ia}.l:; ji(Mm(IͅAީ; @ ;L sW`lHL + b ;YE*("< }|an~im}1l[Tvh%SM|t< S?vv{;} +Er+uץA38zcNDl"ʫTU6j+L*y6-/./~?w_<̳b$'xx0gΜ9{/͛_}m**ʪʍ׮_܂W%YX*L)# fcVX?&$X e\aE+6`{Ta#Bˡtٚ_Q;`u]!VOBW^ U?h*̃<X{G8B~@ Va +#"XPW/H\n{ UsGee[}>ْ[os֝;e`p VCcSc :Av !!,2B;B0BPa[E!x5hXO5**C@{) +"(>=q N J݅.6-ylI9Ja<4lAbI@0urLA FIymTFOgS|v2r{5ɾWַONV~wzҥ/? W`v):wVg=s-矿KW^}7cѨl**ʪ{_go|ܼիo64"\Z1#JrG#t~r +%XE *?.;1Ӓ}C ,\hnn+kj !E`ݽ˫*k*a7`[AvwG+jDBo7L;{EA\!~)XIJ wa! 1.(w,wȿ;`6fSQeoݾ ?C@XlF|K*aVCcSns8Alqe +EYX}>sCER1?a+6 +NOx0;XQm RTEVfUA<[L$vjD͛> ʬ$@$ +8iL'5T4tMt՝gbdw!?(%X +rK&JIw% +d[I%TQGܝ'BCJ~*RtP&柗@'RBJFXqT jZ4QBOT, E\" Qrbr{ OI,̀2G0Ɋ#QH"ЪҪ@0 +MCA&E Wlʖ<>d09o553p4Kuq&[ ࣽصwe~LxO +ؔz CH;8ѳ nx/U.>Ȯ;t f¯)\uO'?[oK/*ȵ*V:wٳgIpu^rkW]}/֯**\7n޼+//~|az"4ap,Jt'#!faӹTR&Cή&p\چCF9ދ.j*kEXWWX!t{\n!,r" VQAPlwWh!΃<,K) ++,_=lDl!{68g VtՃݻC;Bx[}x 8ºSf")Xu5u u L64E asgwBTro+7ơ! 0Hp%_@3AyLsLe +JUP+7#,lE@]70y)_:gJ0t,:BeDS;Nɏ"%tx)y)5%+'T<^*=2b"dK",+HBS!*|e0!] +iʆF,UH%W +* +A3BMoЉTX4Sq~+kFhIfϓJt=e,H\OHy]Gȳa($̊+8AAyf l'? 8;::zzt㍭s oEJfJ{O=^Y]LHO@Ww_$AnABXV[7 *EvSؓ)AyW=¾Ő\gqW^ٳ/\ Irg=sW |_翗_***7M6?7n\vk/.O BSݧg , B!6",K#lz]-Ђh,"We"Ž"PkTUW_SEhoi9]N76"z8aG=ax{R2TXF/B!B;,W" RA-QX#gOC$boq:[[Zt7X}H[le$Xh,+G oH)XM$ j b%XE(l; dm` *Dׁ섭d4:%J ` pCS< NQWgESҌ^9RQ k0oV'JTiA岡=35d$\4GK< w +VRRUfw!6KbPNdp'bJvNϚ#Г!ـBUO(Ѫ`SB$38X`T,)Jf(NaSRF +Wpp0%Q윖8 +=0c0CZ!&e[SDx[@%!d4: O1=Yxp|Ow--'&$[}w;{G`<~m3Qwui{x+He`v gr W~rr #0]!ͣ>T$_q `+29ȼ +EP^MbAvl+sKϿUfE9:YJ:/\v~L-Go**Puy`s a@Ja8*l-LfDPrxrB{go/+.Rh-wIvB?`W@rPb{4"jikc|={;55|*nmT^}f _| +J&~U_mdwٍ,!^;ʞAT^  gp +R0{$ ¾j$@&AT[q+RTU4# <uPg*:jUF`+dVY|~jxioϞ/|/|JD*~n2S2H,(>$?~ 1iPPN%LߧB<2q(:.tVRs%dWqYXY兣 +*GceBUl}b !@X_$Xa3 +O0gSs+׷wvCGkS - GDajiumӃ#V +.A'!v"~=̹ErOg: RcSlAAv+ bU\AsJHS|2½{|{ϿZ]$Յ &ϝ9/Bo< /~egB**ʪ؈pol\vmxtl"+Ta!6%>19*Ln+T\O x<Јhv75:[[l6+5ewpWVVb#*hD)XvhDhw5x_۽/I|AЈTDNk%XNqX2UX2k`T0,GnlBHqOGgboV]_O*9!SܕF :vB4wgXE9B;40HB6Bjg6j\ 1+A`Yw|F+<Ȩ\Sj H!Ê\aYqU<f`DhxoY^l.˫w'3;ratvb~qyc!6|rp >LoP{c"jwEâ`QIzQ = -!̞A6e/i=Ŵ\: +֎ƶچ&LaUgi #p<<"xEY(VVУں@} U[Gg[ خ,\V/J[Il+[;Z C+V +牭ph6X*V!ʠ؊SUVm@@lEQx*ud>U[ys2>>9BɔRG)ҡgQ0o椟*}9uU{Odm>KE?IM:>z?+@r2y +̕XI}A*3%]/\dz$*] bזC,+n Y|A ? >al + boQfx 8kztr :Xo +Kh>Av{c}sleZ] +{ڼ}li *$UO_Rq ObAc'vsep3h`"qrP^JC#ãcC# ~s_zi,a+v˙ڽozJ/Y=zѣG=z~W[=/5U4abknbv";YG@J;@-)9#h:--X"X%*@^YSS765K," +aSvcy+"wo+_ xP, +_u}x8$ 8'r'W>rx0nѤ'tP}JZZkjHXZQY\VEŐC;slg?Fl1q3g1F;ϕ VVZںچ& _ +<(UW$t +бCbv8A/og|z1R=ɕаnW5p+9jh꧞"`%2Wޮ@@ҶT6'U_QoI8귷%dJz],+C(lʷDVeadnPr܋TyST盩䱞Ǧ|=AfZY~tWIIkUlX'zI%BS%lW(UU2EV9+^ TU)~e%2sE",K,$WP$Dl &vDԊRkUҀ1,#jRZZx֭wP]uskӳC6ڱFƖW!ܻvehd7knTK>p+Z !vPG +1Que:ulwA՞ɹ\& Cap`x40Lof/X; Vܵk7w}O_=zѣG݁Vafjz~Z <5C)Y/5 EB^!dE"ɩ bME `յK+*j*kjϝ/"R`͹Ⲳs<šڦƦz6!.wvtp~)Y_W4 +{#T!LWR+bgG*Ş%G`4L;'> K++Q}ga_"xC+:[\"W4?jimo퀎Ogw/X*GUeC,oCZbvRzY +}@nT +8!,ZD]\ yVeU.YI%6yyEY/۶_T^OPD$*k{n_(d숃} 'ЬsD TΟE_lʅ7Poo_H+i)bR~Bc.{|94+Ë$'MX\M+Ǥ"[ȢwǏ }4Z&(ZK&`wb l ﺊHlDa:XINBP%z=kbڊ=긹ᑉKWol޹};+76lI~wx;ؼv\MCJK*Ð͏QyIgpZZuóT>kx[P8B@\ĸJCu@0YL'6ȁ"Wp˞/?C"% bʅt/g\Q1*‹10x+r[afc+KV7ַnݾw΃ͭW\Z061ft6?493wҕ[t#v./]>~tvvt{!HBrd`eG1{( +/Db   J)r, ǃ lDUpz&;@j`xdxt>fCC}^p/ WbMv8D}k_/zѣG=zknXR,$WaM"yҹOLLL{",XcSCÑxGN +w:įbDAXU@u}}@򫖶v<-" !p[ίdE7L^P<",%e/ +rb3R-w#jlk 4744V*jj+*J+*ϕW[^Q̊]«jUY X}cm5(A`ڡ h<O0AI[]ڦ^Y=՘B(s5(Ul55}i+l ۹"R; E(̞sO9Ye7HU!t;21*HO"R>z8Uj[3+Igl_@*'TT>EE?IJ$ҪO.RXjp##F'&/,@lq@}: t%gϝ+.++)+E5Ձz57!-"T-X ra rӇFw"n_!Š.!D0|*om$Ue +SNLoA-1~OlO5TSP TTC2*b倭jQ`_uM}c -mMb}]ds( EvE+]ɭhJVc2yկ\@jHTe=Ǭ(mŝZn b+<*JS2WY\)m_YՈe+HJAm+b+WS~rg&xtѓnݽ%Ә}PT&pxPVĞ`Ȁ['\%[ гMrPv iWIuw~_z_?PM=Av[8xѣ_/dq=zѣG=zu7;ZP·,?rGȗ)]™YOC +k|j"XBɔilnn訨mh(8[RB~ .",//V]mCS -X`q, Wp"¾>ɯD +AR_R",WI#j$f*8fab  l 6wϼ9̾.a7\Ea}=aTǐ\VJ4]|=ٮ38#:j5:!V>rEjU Si%7#TFFLRRUDT/m}@^a*6uo!, µbOŻUVYi& O[x{M4DYI%0aɎޣaM%pEh/Yʰ'@`3(𫔓-VVQ +/ oN>6Lf$#Ss+ר'x[w`pdl2dvy}='=קfٷ86AVI'˱UDn ]DHΗ Fb0&[]a[07aSLa抰ñ|4GkDOolqɏ~{]/Ү{j W{Po>v;wyׯs*9W-R\DX^]M>BGZBӎvί[mPs{O-B`5H!1+%|%"XEŠ郒cW7٧A 6㭈lCX$1vr&\\O[FƮFxjdLث[M҅5™=Qiʰ3W +ڂYi`Ɨr~RNrӟZ t=7UT0UѐxlnSH=?pۖ)*g{Pns3w)W2jzoʞHa(nrT @W~@y\N-'W"U# +}͘Iy*"Bbi).JbXS +f->2xB  {ʥ +@) + S/%LVPt r Iq GO>*KְٻWollݾu֭{7ϯMLdt6;0415}O>~zӛ[3 u;{$&;O[qZٹ +2Qp[#qVSOP-7,!1Bie6mV&3ʪ>=v^ܹscjǎWۿCǏթSJA=zѣG=z w]v~(8qKWf)7s#4).w"u`d{jMM-ml*{Eӧ?:+BXBX^2j`uuMu--U֮."A{_gP` XܻxV_ ?@v,ok+v w|Vw?s!{ZHܰz\` A8[[ eN%hL[6[%[E1mx@ە ƮpabWp 񑱉??jቓ@vĞ _#Hdz'Þqï~'O.W+RP=zѣG=l8QPXXxdkGʪ"ZX, 7bOSku"E89:1=0<K--5ujji.)-ԗ)*"XįB(U);%e}|@]M}C-,"jC «nv# +>!,JaEa ax;JœtVd\XFBTU\d7g|#ؓ9A ~UOh^agb ꪳWj!xKH\ &vWQZÛ*|23Jʛ{|)9}@ǿoD};Ty,5OU5YydʣX)DU^ϫ*tQT$JS5R kwΤgY']Cd0)߬H9LI!B!x|SXR,| U*.>-@dM5mAT${,;t@ē$e8">}"Wg٣%e*( +amS3;j$ V{gKg' AljU{E}UC B P;hǯ- E),ݹbA,_zqd>^s'CMf܈$ϊ4a m퐼+^J\]\Aj(aA+k:)\JЧl\RVuUeE09/R{j+[AX*ʻ&dAOZ‚''TWVzJ->Y$/Ue8.%ʘJ⅀T:mzPTQE.W|?Ur! WcJ^Ѯ\ao)TIB*x]CQ\Ē̕%M$Kv\^$:_WrHiE +r[œv,J !,(ZBliҹɩٕWݼq{ͭ;׮\Z0:>vSN&70<3v֝;=|;nݹ7>x/0pg/b +ROVpBD_8.TR5ēsl +VȬ|[!Kf;q +dW5:?4\UwXٻw^>v^i+ +\yUX&x(coEG=zѣGv8q7zcEWaY\JH83/"X r(Ekk;;ZʪJ>.. +3EgPlII.",*+;WQQ^YU@NFښۛ:Wyϗ{k>{UmytţN9+~ȷyIY`!sVDxX։ePr%&+f!cUJeIle`a?Ax&11Vxv&] +:QUU6) `I. ;d]$6ᛂK`R.4aLntljan޼ug[.ONes);f&fW/.칁^\Q +Bx_zQdVcX!U(a&(pe +V&`40+! ?g?ۿ8t[ɒ$Wbo8xhAA9_bWd=zѣG=zl?}[G7.^:<Ҝ n~E.9E'L#X MҊ%%g_>klz[Kأee%*E5uu5 fBXMmMj!,aU'hQX;-BoUڗP]R%)!Dr2yO3yʕuo kE+Pm*UAۓˠyd70cq \RaɵM4I․D +Oq߃S=,+ W%$§4JAWe:dexB*G 4 +q?tH'eJ]vͭ;[oZtufvpNfxd|q>aĒ]PĨ5CINo/ CaV8HNUATĴ%$L$HQ+^&5.^Dɕ vv*h6ͲOջ}i﫠Z>n\ܵ W O<曥*+_~9֣G=zѣG)[oڶraGq!x^,`Q gٙX0ihni9W^V]WW+.-=?:sBn?"aQɹ +!#X- `aj _t!D0vc +|<(W_IE(Z+Q&Q .yt~^HdqUU;%WWYx+z =r5 U?ᩔ'#O +}uDW̯)UKeTw,%<_]-Y,Ω,%Ueyu?_=lT)*Ws]ymE`%D%JT OH #M +U@Cd +PT#R3W1ev$ e+v,+兲U᷏X +rY 3.8{!B7;]yE@W HeU,J-D&ZE+(]ܻI4 &`C_:?<95v͍M nlݹru}qiudl {޿O>yvᓭ;WM6p=82mKrVhh`"+;:i +i7ql&7004R^i+ b]Hv`~'N|v֩SuJ=zѣG=?G + ]["XK3 dZ.YRX 䴓  *+j+Ν;3>}@RӔ*.>[r"X5@}M,"o~X:Z;d=-B[z;q_iF?YH/FBEaqxt<"b.Zj:+.,Z1ク شXGʥe|<Pj|Evvk8?$\rjŏÃ^9IoTsM)M] _e&kM@?GLyu5v{!z]ܾC#P[G0H>vzzmxT-dWR0AvmEعUg7!mbv:$1Znl?8ï2(j%WvC[ܵkk=λ]ԣG=zѣGw?˯rɣonm}kP~<,kVfɅ5 "]3Ccd\YYU PU(.-$WΐȽs$*.++* T564577ȝ"Xjl +vtF?vP~!bWdBT!f<%L;bQ$uBOFu*Ԣ7i}&_QqOM^Д +N58,Dj pT^9?\{Uj3JfJQRK䠼T^1[zL{@SD=Iu +CP$٪J*kWWWZ(WwI*տ4Y=FΖEBMU)V\Ö?e`7o^$MDAS!W0\&y O,.uAy-CxG:RtR$ rq{ (A`e%,P=+ y GYM,(df._ V;7/][[>~v$US Zey*F)Jd,o`V (,`U@bV +Q%[ٲ65ÇDvB<6u*.D\ [QP6H簢AڸV~)t''@) Wb5!V B*G`o Hߴ +\!xŁ+\u)OO$Zi>k׮ollܺssk +#6a뛷; + R`gEVvU pp +&f>vvˣV[Aώ}TlгOٴxhhjяzA'gf߽g.άvBpk/|eQ)=zѣG=z#G]ten W,b#X . hNCpjbzfxtlѤ]&+UxW^ٓBxm*%f\L,}+u\ST?WWҲ>Z)%6 J%NJW2T^CP#I򍁮?D,5XYR\c%Ӏ^J",^㰈+u&]=eY2[#ki+\!b(cgdASJ&& 5M@XV4n@D&P,ȯ̔k "M'O/.=;7\:>1 [r<}GO?ͭ/]鋴utvJv + +끄[hdۊ2WQ\)HmA +_n =2W$Q+:wFοaGX9zIKe,#%Vr(jqM('TdCfuo9 - xŨw@X~feq6 Bx08rKU$'(h-VՊK3ZvŊ*6xO0Kbvf'I+iN:7<21t7nnfu[MwIgG'_Xغs>}쳇mݾ{u4Z;:@f>PT +0a(؝le*mAO씶6Sp,;FnnƓ]|xW/PV*( Q+?ЁO:s#DYjR +AU[{"_uvt E.p-X!_(%V6իԥ_RWD$Ď9A|~C~GQKrRꪾMl<}yesS +C^r"/2'VF&Dt*JH[,c((>: >S]DzVIܤ@Ut !`u5r%QV-1a%t>+BR)e T]G*Ibæčpܠz Od xfn#a_A2_q:Ⱦ +7)aaD*3N%&ohQOЅxvr2#3y{cεՋWffF7fF_yGO?}o?νW-,;\Ww_K{ V`•!Iy +JSj[\j@PY"ToN*LP)?%VV<%B~ex z:O9VxY!]BGUSJy'iIG~I&倨Rˀ)["=i8"~Vt˾5 pE+ _*dGq[Y*5~@H[ +yB +bK` ñ]EG0m3861zƭo\[:;4422-74:3x{o?t֝ŕաщv=!p(XE`q# +-V_ )-=ACKz+vMn+vJg2CTV׿}^ٱVYeOp箝;@ʾ$XG_hѣG=zѣz`'?[^]Ě]kifuXKš33?%-XƧfٯQ=pm}}]CCGWgM}#XE**5!, b ~U\,J V-тhnaS[[sG(:= {? ,"!P$v0i/$܉7 +B 7"1Qs1 j䈢#Հg G}>v\GDWz['}Sm?U=!lJu[OlkrQ`@t^Jaya* 704M]WTHKZTI99bEd"WRZȯbAQB\Uge reEE +Ҫ(V>3bvV? d_2{Ȱm52>3zҵ7o޺q3e3+7o'=>-vutbʴ=H{g7 "BU/Œ`,QV" ^` ꔴU + 0+W(5X)k\H/8/+Eo{Ϯ=P};vdݿo~v:LFw9*G=zѣG~o-8VxD"y5"EPFd +s'g&&gF'&VݶvWTWVЂעBxZVJJ@UVv,XU55ՁjXDv.Bnqǃ-ž>La*BU/z",U8K,X&~(pG)o_IB>~+ ~]\I`KIeZ=SIr3V^*%Tٗs%:@m +4y//ί|]Us_4Qu%z@'+nǬD)vV%ix+N(OJz+5’`"y*RHM(^ +SXEACƮ犛Q~eQU0z$0vKTx0nq=nFbF8b2i}azX46Af?֮\]'1>丹tdlrqeV=~O߲ əT:':!pE;zv[ +*nV)V^C0nM J%WC=qۯyw^x񅝻v-${$k+`o۷o,(,ï~U:?{WI=zѣG=z7|Ç .akayE",2CZ\>3-BrONLό}rjjf6;0j::"†ʚⲲ=;+lqIQE*ʰEXVS"Xm-j  nς#X}`(0WQRZ۱J܉+CKĀ{ +,¦ (pZ'G*LEdm=-f`4[TJ-Rû@,ARB7!d$jP +cW&.zu%ὒщ ._~s}cͭKW/.Mُ+׶`+ \=xtlPvZ}&AJPU +,[edsk|K+(ص{ώ;'ڽKv|e^;p '_'O_ѣG=z/NL-9paq5;?9=+#Xz]`]}}yUUM;w+>};3g!,WdE5fR`5CCX +!y,XBs^= Ld={(U{ +[iΕ**89Y=SF\DZy\**3kUѺW3jJ[ʕ2U%QtKX'n]ӻUʀ$h3hz*xKE??M슏=I%6@u-I:R,;!Cf2+[ZٕOTU”@ W @KxJ`8nB<ڮ +`=W"mEb+JX@x3nH pV(_Qn"AU:+L+?82=v^rL&73KW6nݽɓO>{`'>]߼=2>7P/ w* +w[ +W8E\QIUAUFPx=b_oci"WG'؛+Gځ X>v-b+zu߾>QV O?=zѣG=zN̟g'8t=ؽraMDeߒ}+",&H8i+EZ[[;a!$u,XOc4aڽ*E@-X܁_5776){7_AwRT~EmXlJH T! 'ů"G Ao{+2%9iJ~x2);tJ?N2"Q WW\UR4UtHYb-(PҊa9PO_7LVvY``|`HbJD M\$c/+_FEX4 4ؓ*+:v:olw#8g^V{=f%K$9p:|'S˟=zѣG=z~[o/,E? E|^,  [th!'78~ 4454tuue㢢Ξ "XJ+*UڦzXD.,AsVogU! +PDyCX-%U6xEBB(WGYPBƎa;Ln!aPZ2v/Xȵq'2Jm࢔"wUkm6ue"rG)/d+pS&OQ +d=~7Sj[v;r-K|dZ[N|*~ %TtA+[ Y"UE}@V\l+me -z( [&ōBdA CI[@C`+s=a * TAY~3B5 2,' m؊{#_Xv[׷._[_ٿ1}3 -,_qZ)mg<[|=? upo(baPE⽑h_-`]?>=ZCPG|  3!?-=fen?Ğ`,aW\_ߺuꍥ cSc?vtvbjv>zɓO?#+nܺ;2>w{{ý}@0}D_XTcPd c*ǃ+z I2}t9+LFVpḎ1pҙ3g/BZ%V>7;.=xPSNطߗ?O~ӣG=zѣG?go} 9`d|r"E _-r~E:,u#!/\p( ԃ3 4ԗVT44VTU~\\|gϞVEJK"ʲJ- 5X${[WP!"`7寺H䮈ؑvvm),ygL eI~G V?N^)IڻRYl<#9r=92v'z),ū|<` +U*@GqeNu1WD_) + V+Kѭ`X(LVMR1ӷ7VYYv%oeʊ +-y+*L=yuaXU9bbI *Eh-j 1WpHA]z+Ih{`LRZ**\{fOڴAn>Al{KX߼qs굛/\L˱Rѱյ>٧>7}råդiuyC01^1j!Yq!iHrEd"z(&)fW Jm8]鬓βt#={+*RvW^Zw{OT A=zѣG=z+Bv/"_ KHjf@'A>:Iuvm:r !Ⲳs"ڪThjhmkn %Uw[ZDY1~uO=q] [;uRJ/rSy^wtrEoW_Dg}reʷ0&EucV +_5V&;"Kle9+J'D+{J[剭6 + \y+j('A(BnPA&~齇/_?4 /M RZ$rE'mA \ Ya*4c9\̎k 2W3q +X"+(xwܕGٻ'U{_}ѣ=zѣG=z_=~ȱc \ +]Z҅,/8EP>=393/"X u ]=u ˹lq`YU1%,U"#~T ,nq]"۞^Haalϓ_IpUB _2BZRN6/CV +\  EM]])9+?K[e*:q*(PyH,S1\I~J=D&0YP$+Ty9B`ŕVV:.$V<_)1+pGJMXYR%$*YHwzi+U$ʛ}f{LXbW +r!J`73EHl † wn 9Oya'ЗiqVD(B#8S$le{+i8pkW_qڥk KSn߰'|~٧<b?؟Kv.fzCR0 Ud[R@b`1pe(2v +\k[Y$%AL0McU=>Zqi7[/ҋ/[T[qx+' Pܱ݃=·~[ѣG=zѣ?qKS(]@f +)<2#֢E8.ɩ vJkh,(EoD>..X VmCcmSSa=+_" "6r)JhFY~c[d$:Cto93 90Oys=ʚ:gպ]]{m]ݴBh>Pi#XNqA+ގA,hY"XgoYB`,d6"^EmA^$d\ _ "PHxdjez%l+kPSr*˰bpeBX_c8*I(+O%': B#_Ei.˃ḹhYEx5pFv8*GȧV#&jcFuaȶ`x˳.*YEebȝR8kjfrf"X765AfIA`UT#X_!ŝyB ,Ab,;!"v??x-Xx&a,(4(?CD'Gr[Q ++ΈU4mde(R/?i~0g++J$VmSYU'%^liUE٪#U*xVzXKgK' aO%VwȎ" +}-Caӿ +%AFhe@_<\WTx,И`CVؘ;B^ 9+ }ܧ!v(h ba´4h02CsK'x/q=3842X230<=sқowk7o_yʵ`8cs8=~ +0sE A~jEc + V,mxqM9+Aey*N8ld[qzpH ;z^xO9ckwϞ1ABލn b=#Gn*JIIIIIIIIIII)K4D ɿB th5=8=K,y%SvG]CCwoᨪihhhm5.EXV4Ax(X%e"{ C-ro )X6[{ #XB1nl0 t\,fC +!ϱ +n3SX:L'@0,2WfgЌ`Q$*T3m Y@k0'H+Jy*ӶvL/+ƺ,Cm8ŤU 6_PS#ұn +!#Y;f*q('X*mb@Pz1Jj P [xzV(UdXnBVg%*hL·@TToѴVj`י aṵ̄b0+8ƛHJwAIs{1y僌,Eq&C3 _:weƧV6^~u߼u֝~p//G`vΕF Y &­FxbK6" Ft0Ǝ2Q_V^wlNn#>{}V o]99Ƶ} ܪYyxC.0Ε#  a[]7^NN/ml\<K+X<OfG.]7o߸u[l30EhRЍ{>I>$ߗ2[z0J! AY^ȶ"* 'JԄ񀺆Ɵ/o>|~׮]2 +ܪ=OPx999oyJٕy>z}ck,%ad]bcZspfZ#w_^kw:kjZ UZQQRVv4A8DXRQQQ]SYS[UˆZL+H#XHqsaogEBL.HAs2I9IRiB+=[-TJ^ [*٪z ZTGb2(]Hu1jV3*(qd YEZĚbUL7Ȱ@t dT+K7l+, Ҫ 3|A3^CC`eZXx^X,EtɰAeH%R#Z¶V.Oqp8B:s57Axjpxljf~ϝiܥյ际86Fw.\zw\qݸu+W6G'7. (af٧aQgEl+YaCP|W Ex +³xVɴq'R>'O$ + +*&~f㪲CSŠFPRO&ڂ>iLu *bBVۊ,2խ'*BSY3a@2h,y%mæsy1U` Ic*`] +\eU:YBtqя~f*ӞY[^Fu؉jDt7AV`$`,?0<15u~s66/=Dx+׮݀Սw?qŗF'фO :\^w +{Rdx/\B!J R +V4&(0Ȱ3btf`Wz|;gzz=xN,Ez{;wбǟsVoSO>_p9o޸E[w|= $Oz58=>C"uy\5uuMuue/blII ʌ**^_PJ n`{W % 4ثǐBn)%0XJP Wt-exyVҶHXYb+^ ޙj+MdG+*%Tczuqij2VULXU"I%ṳ̄,* hqX +TdU1*l^ ΕV_=(EbO6BrX0DC{VVtJ[ nzYCXk7=0;(eBaBe#t#sŮy[0@@ "=L#A . ==?8&CXpnqzo\1;o޹z楗^0;b%A'L<zdK̶b0v@reŮs%M*TƸMҩx"bqɗC8xs w>9r@TRRRRRRRRRRRs'?ɉyte.!`-"g"gE838<6#-M "Xe_A'Y +#X -Mj!n" fQЉBE),],U@jO^ _!Գ&cqK.%T +’M-?W)Eo{SVVKxv* FE=0%GEݪ(rU\cªJH6P\1~$ (Nq,MeWY0DHv@ b%Pl2OR[jJpEV΂X*\>MOE+ A;]`U8zO++`x+t]?M0A7C1x>=Tfplbzaqucz;7/O%P8O'g_|m_yk7ns+Z0js)16>XZ "*T0Q$ bUUd gK- =qǎD*iT<  ut|xcxVs%V99v29w'N;~xR-((PgQRRRRRRRRRRRWDO9ٳ.  YX‚: +WKR *3sӳTkh.W]cCeMMcKKummiEy1zV/=b1JKUZYU^U]VU] چh4ŝWDbw䯸e>?D*@ uY1>AA>nB%|zJ BNHF8t=%V!ڠ9 hoW*nxVbFV4^UQaRQO0N@?Qم1Exy5m+ n=s]:115 ЖՍWx]ym( ^q]O_{]4b4 ԂĶ" <+ZԂaAP4d l@ǒ +yQ[!x1U:d2[_P] +"rss|0?|BOWQRRRRRRRRRRR֟G'ٯ,or W +űWпfB8=01=;;0_9}[`*3EGt,BV1QMZ教+1DhܓnRk%y=P4H}`,k.0Y+ZfndFɣA3ۂ¡!HAYcdw"Si9CRȊӮDIPWؘ [r:̐p¶꟎xvaJi: 9i._ڂX Do9.@\RC(jќ.\ ɫG`7~6'GO +ʃz8MOMÞ]\]ߚ]DH<_\k~pVW>koNL͹_dwͫ-wJ8Wt=A  V[8?J " ɌXĶ`:$pg}c׿]rس8%&w?a:W2^w$yZZ,:yRCIIIIIIIIIII~_=~ԓ9h^mrp"!  +#\\]X;LNO-$3NDz{nW}cCUm]CKkummyee!ᰨHXRQQVYU^] `ut`[B`9p']L~%e]C @O+s#: +r]"\UJfJ[!+) +ĶPW.1 {'OeW,v+ƶ!+tI+~gtpBQˌ`to|1J! +!V!Ȫt't,rWӋ+$+r:g[ᖥ_ x'N +d +ꄱR+mD+и}@XQ +\pzN{AE=L bOpaqeccgŭ۳K#D& ~}{oݹrg;=s|PDƭ ]:vC4#Nj 4 +?-!ZQ +Vp q/ \N@Z&$ Fb'${"I86,5!+䁛T+ 3JxVZP= 0+i= +Yu{ +Vܛ# cWV9yV.9?ڢbUX^Xttc=s"^LQO 2Qڊã6V;KkcSF6_띫o޼}7n߽r[﾿}bHp<~"ӭȶ +QCl +C6#"&iO0 HΕ)V'Rp4 ?/ySc?.㭲+՞{*(,ϐ9O<RRRRRRRRRRRRR?fgP녳 -,H\("XXEH f&gf447U6UחVTP,W+ª,67 )XE"ܑ wZrfXd^A+&1n1bJ$e3J?pJ+`ʌc.HA nAZX*$ᆕ@R*(b+V`\}*P*xޥc{.VӌMdѮ|H3z gHvfY l+0(WGNmAcUAƹr A"Y:eX. cWte; )\Q +9Ns W>V^|pO0=p |pz@G㩁wcsōKS'嵗^}@8n~.9.~ +Ԃbl+ՑgH*ja+ qŀ?$"U4V#I0*;p` ?]}w{q W{!Wf{]$vvxV̹R* CV|.0lVt`ĂagYJr]+h!$(E L$%A#嬄I&lOtՊyYbY,HOQ +T^ODOXnY`+HXV> T+YteW7V'׌P$YX\]ڹuuY?dpzvŗy[wn߽G7n}+_y}ƒvgO?3S +JJJJJJJJJJJJ7SO=u4PNzų;.llA aAKK,,rg,`/L/nO}SSGwijmmjk/A:8wVVVUU޾n\!$~;UA`QsNK0@-nXW a$fH((>d0۹tfVI١"lvΪb2`, rUB JY*Nb=@2dzL"Zފ;TR4eXŠr; +@QxG .sůJD yfΊ~0(Ӑ@WҋPc_! +!HV~1 ΕgwzɰN0W mE`(HMbOpsյ͙šdxəoݺ{ʵ/fШsƅ#N% =@+NXV@"*d^^ıOe۪pxnizkG_y?+¶ʅE'rswxݞ=χOVSPRRRRRRRRRRR/|EE|xdc#X8w*c knX"\[3^Fc== MMW][[TTUS22EHD(uDqokl'{W[WWg_ {|eZV"+An9-+ٿ)JCk\8%|VRVm\, ~Ɖ+JnXUlaiXUb+lQy"g*\ n=@= ks+ƒF&_W^{oܼso;Ĕ9nÞ1|i+Ӏ V1ŒT*Ü i+ȳO'CU"1Nf`ppxxUK[ï#G> p+:n=gG=- ()))))))))))[~3_SNmg}se}kE9ԝpX ˫++徼<,waMO/]^oSsKgwwpSKsUmmCssM]]`-[jZ5X̆;zzL/_1{*`fm3],AL^ay&RB`Ukg +ɵA3sŗY*{W7T#[O4o%cV ZXC%b=P8ٿYcWr%dJŠH@ +)|v)s%VP8Ů-HG|(4'ٌ9ʼ& +,ZsbU_+ WEi%m+A'Vb9]r[[' +OSc@ׯP$Y\^[:OTətP4'SC#ck/]~޸}νyֹ S3sDڜ.ߋe!H+?31vŻP8g@n[%.pI` +$Ůl+<04k g?=y#r1Jevs޽{;_P`m~򼠒ҿ y邢Ç6] ky),^$D+#\"!t0iln;VEuuYEEqi gϾX+-ŠR`UV!Ž(Xjnool +aW6;W6kaG{صfux`$daV*WiY=b8u%WI +\,IMK[1L^lgE `VO[̴nxVVoJ. CC\MM*mbvt-u%j> O% +(V$T{{p¿b}@ڠ; Q}@V@Pi+8ͮC2nQ+^tzSц!VHJudG)  Cx*=8:>=7u~c{:53?0'[{?ƭ ^6Lo-upQ =A/ mIQƶ +G!#z<lQIRD:J`d*.J_3tĴ7W}>#90(VV(}8zyF<'|%%%%%%%%%%%w{E:rXyeՍmbaazYZ-E]BrRf"X ].`5,|Sp(X匂UW]&jDl^'0 @0 tN?):IT(ək7oݽwGw?RHE.$"zV? Dqk2؍o._H[y!xpQ6wDk/n0(XX,j1,`ybz&ww767;\ΞުƊjw<ťe%e3ڛ;Z:;[:Bh BqJH,EEZbаmjmig:`5UT,AQΆ1 whvvzN_?`aiVߙMq-+,˃t J$bRrOPdr;&,/`aݪ7>F>b 1Ǐ XUܛb6YE]T> #>&l~̈́UHDC GiV5 ` 4_!+°C[)i-@b[y^㷃V.rnwP7p@Zٜ؍{\2ވQ ј`X?P$ O/,k KkөEãƯW^{ʇo7o߽+C#z(ӂdaQC*z|_Ȱ%A :[ VxхɭJ؀` +OOV̶Jgpxlbʸų*:yrnF#Ut :tiuBQٕSO9zo;3U6}WZ.ܗ15 w`O./NNφcN`]Ξʚ:1DH'Z ;ѫ,T8Jt-ɼb+ tE?B?$ Yyޔ*U~Tv YnZXހɪr= +el>ێfmx+HbwA-I2#c3sK+;k|:31~$Tfupw޻rwsuoko(1+ҊYP rK*Ν+ H+WgGa*, rz+h*l=0I_I*YyyV΂U`U1*1`+o@V `v0@uN򣄑x _IY,aoy +bT~FV\8<ĶB +XXH=A`g =A7BXrphtjfnqyum}{}sgemsfvqph,Kjp,:wͷƭ[w߽lonlŒ#';Y " + @*ȹ + +xـ h"bH`,*$0v6#fl4O`bx#?+,,۷Mx+k*rrwG:TPh!\Z_TRRRRRRRRRRRR' +?h^np# X&}\,򯖐CK+˸E4əY"tzmچ斆 +`P\lZX",aY%T+BX_SV6wvvtuwz 岹v vA|D0t>(!S23d^%6Q2YsxVEUqי.VHb[+3Xo#kE1W Pѯ B¿2~ +%6xWv07 + 4\=̉m[ d*l("bQ.l se+'-q7Tf= +0."qT,zѶA-'ߞunmknaetl2p4>4:o_v{w$xG7n߽kC#rm/8ǯu #CV0Ķoŗk] P٣x*q Skk{Wnnmkhi.,.-}YEX\\+Hbw`57хկ,iiV,˃(` Jʊ`IfK^2. h1*b( yJX7PVQ7RJi1BkG _п")+^dف$:a%\H3G'0 f[g+s׹IEuYL45 +U2@&XgC+Ī V eˢA}l+COtlrvXY]Z\ZMgh(V.h[ݿy[os׼H[!B%ZX~T+[ў`$ +Y*fmMt WH" U)jLcԪN 3044:kwg^[1 +/+[Aj.z-,*zb¿뿦g?[IIIIIIIIIIIMgϞ5nO?䉂~kdAבN)UH<   ߿==M-vnoioh)()+{W`^UqJ++K`GꛚڱBi86ɒ *,K2=(C+J A"#j@DZEz @ +Y1U\YIlX"bj?; + ȕxыuV`XV>"Ǐ]ypCHV|a +`@m3W4rQkYo@C dEy@nB!mVNOE+\yE8HnҰG߃h{ K+k[kۋ+k3C#xRFb yʍ[wW>}b46ޑh|TK@㞀[HXaA;wܰB0;ƒ\xhc$ȢV1[3EbWLSTfWzSO?K°DvU0w!=Сcǎ3=Axv%%%%%%%%%%%%foskkU]]Sk[u}}yeeIY9ϖ +aI& +Vu]=V[[[j ¾CW +aE &D`q9WfJIAl +AU *IV0"Xq8k=.Z4DJ<=NupV*fL zD > p/ R76­yL'ϊ]b=@U· I p + +$Uv=JU!gÐUP~|,|dTv!C+O'(:{~'81e͙щx2 +Ǣow֝?'4&xڍW^{ktbxk=Ƈ Ue[jŐVҋX JBZ(P٣ j"gEÂ4N=Tz O;7s}󟗣VYUnP. +Vw>wq!xq䬤SN?QPg[,w)Ō, +bAj )Xp)q;53gtv`U]SSVYYRZbq1KJKJKEXV`U7567Ž}pw\?pȿzXlJ#vg' uΠ/,,&#&_=e!YAm Z8W@XmQ+ 2 XAi=Dc[0dD +Jb x+$ +Vhdi^ WVQDN;5pȘb+_h Txο +p,+Vmw`cvs~zVQc=A{ã3sK+k+ks +㓳fK_ywtO}^\z8c7>BmA2ZX@ 4z_jhlP,3jE`8WJAU0Qt`"oCTrs؛Ya*>r䴵JJJJJJJJJJJJJFEE_-[`aل[ bm}i],ag+`.,/{|ƖNRSⲲ!yU&K URQ R 掎޾ngbW_= %e巛B&tɌʂg۹EIoy%#ٵhEE`'^%YJDTY&\Ε`X!%(je5$H9+_LSa,➠`UE/b4ahLg +xס!O+ A,vxѡB +sV6W<+;ୈN#1^%Ҹ'8:15?8BX"?93w|x{}zOڍ[o΅Dzxv bnصCxuTbQ g%AY!*=A_Ƴ0|%V \dlT:lP(s/-kUÂuة*VA0^AٿYXJIHv١ˆZP2Xl<҈s>Ǯ8Jws;To0Μ+fR᭹' { +N~N +TrShCхɝ+ VgKAthRR^smkp,"V#T&KD 7޼vֽӏ>ǻ?~ _]X&R}0ʨ ` +=+30 + R +A`0¨HbOme\`ΊV !)X\]CӟS W{dU֞ ҾgރyyEE/}i)WIIIIIIIIIIIIIeeeS\X^]YۖZZ +#Xfpemai"X`a//L-D޾&p9+k뛚[!%*T,.-3G`A)u uƿjkkVM䯰BhR?#mkYf;$W(XQk Ev\=*a^E*ٿL{8W~-n/hI +9v +b0vMY 5EPXCRӉs`$%Ch^`fa,< #:#\YVd+ +؊ֈj>[͆ ZUY!{ ƮQ +*VFYA +VT dvY-\Ëda9r"u +Vh4'0Fǧf斖׍թ(Ə7~w?O0p?щh"mۧ%`]wVTD0{ꁡhBVc\clI41ge#${"Cટ@pdlblb3gv>\G +iLVh[mm}رx _& +skP$\XTgvayed| a/o(jhmmh.)(.)YaaUTP(-Mp{.8J7@#2BvS +!/ 9¬*4+ @V\qÊ^Թ[ +u/]rHX I>N+7YYVhX<cvMhXW>N|S?Slz7`':/&V6瀄c[9Yr^!_SC Fեťթh< G֫y;>"8o*|ZÅ~?¾p(g! iEKƋA#XC[0sV)È%ȫ$0W2¶JeG'ftiYw~'//Gمa*fΕ89={3'G'U%%%%%%%%%%%%qUTTַ + +N:=;s̫.!bm,/0;pp"XLp\^OUmMMCCcK[UmmiyEiyY2$W@q +a]}]SSS{{K'G;62G',,$/$J+a`ʼndm &EO\A+.Ƿ$V1XE*ȯ󯂬VC8WYA +'y +WdR1$YWfU##ܹ2.|XDyS㣁,y%A1hLмb |ʎFzCV;i7*rUcn=nf#Sh<584653?:38<:Hfh85~/W>uO>;?~̀) ߞV`a!] F Vӳ2Vtx+Yű$U! +WcO[Q+㖢V \Aj`pxlbz|rg~kǏߵ :{R=wKT]vطy?vOU *))))))))))))+3gx~]~5_q RK.pjiyv#X+҃Mm>-UVYRXQUUC/ + KK++K*+ª7e86*bIi+_-twE-[6!TcuӞ/&3( +h^Iɫ)vřWXEÂYPPaAB] h;Z>+3j%%|!hYE[IhXingH+k$b+Jq$Wb7Ml+VDkL[:pؕΗm./D(mew`+l:zz}^e[!` +~ `xlrfv~yiymie}n~ilb: cA ^z+7o߽ѧ'חV׌G,xPE + +E̹JCUQb:FB8[ F)BǒJqU&H'Tf AQ H2>9W={=kMn<ʞkWNNn* |aC ._rpv-B +_ApnZr>;9 kݥT:.׭i6^!lj:u SXP!dB>=F#"ȿBT!\+Nw_maEdW5#*)Wi,(kt +>j|Ѣf%A`btDe•V57V `9!9jU3U{J`vo`Mmv7ञ >1V2hd݃vv"\U~X dgN +:\DTwDV |?82~lI esMla^zvS. ]]H-`cV0\uqUHtWK `;]*jhW1}0 6dXUV~ "UUys;WX-b0"W}R +/<^k`VS"{'  VaDҊzv-H@``  +۸[iRdwA kzy&y =;151>C#B9H}pxŕ7}Oo|PoO?|Ro?9cDHbЂ`5mp@VibȧJ3 ɼP3 ɹ*`I͕xPbW u??Zf ѹL'm+v[wEBV¹w5֞~oe`ͮ*.s kFJa!}͜97u"X_OcvJ[f{3ZX'O>@jmnkkhW(:{n4nu:. :k"Xrsê%ȹHsJ"F Ay`$BgՎg|+xKQ ƿ>@BU`@I.Lbe•<7,JR\d%Q٫!vUeP +HV^".:|tEhin Vrpĺ(i[v`X9LjSXri.{G] ñT&W?3qnbrRo_zh,Y*/[_ܾ ]v_3@-|_QFH+#h[GrO0N+"\A +4Rl+L[oUUz9dgѹ*k/lczVUm +z@6m޵no@V #>Ğ}K/C.!š]XZXsܿA; š^A,Ts7b;ܡEޡPtuwjQo$M!|{%u WW*=Tw+u>JCk&(O%ūx*\ _"T(Z}x`l8U%8C^] H`+ VUaRyI`XUi%RD:OgآIgyaVgz Xʗzt\Otݺ K ʙs~=8(]HHHHHHHHHHHHWP953A'M FIѤi}fkS(Uek{Gsk+`W-[ZZ[;:]]]*Jӛ,FlwXnۃɼrWw ÒW<YhQJJX;9WU܇FʆγU~_j j+^S dLk8ɪֹ +H+y Y4OP2B +jrzxVnV[5";&؁-뀱rmNpزZ='oV~+s*L?846~VCb%FbD2?0;o_[wu>W_?39&,6xTs 0T|0<$UqɞKQ$F8:¨Uͪd{X)*\1KXmΟ?74B5kdjmCȶ";l۾X\Я9r?֮w?/]]XtAv䡄h^#XX$š={"X@tK[V[_ T:`Z+DYv_uuu)UJ pwX.mx^,w3-E'>G'RIS%{2gǫ+ɶ"f4|˒m+#+^b>(WUk̫U+we/KBA +_WǮnɰ]f YXDbz Nڜn;l.Z.]V V6w0lNYY촛pEΕ Yy!$\!=vy H<.*Ccgύ+l$[^yO>yέo߽?ߜ]XKJHbs +N# +Q<4F0-84R0&3'*JU@UP΂m[g)OٗG KV@^֖-[?swAVBBBBBBBBBBBBB!7x K.DK)řE`BEsg&&5@j(X +E(Xm4W_5毜ܿ!WP!€'9f2WIDbTvUWJüO[GOg5klmǿWP6oޱs/܄clwd:rEŚq$GH-Br 'ϝ>{n:_*;=Fp:}Jh;:ji9 w)ԄNZ f,EBdx{ ŝ򉄫Wr̫j +'8T+`A*UJ4pANk\lH5jf&U(T5[hU=F +JH| Aɹ>7jCUX̄)~^'8W>:W0@{91j%Urg%-l"ٍ&-nasE=Aj=~)y|֡Cx:/WL972zo(+h<GƖ.oܼuޝ{_޾%;/OĒ #pxu 5Vjmڴu=ַotxA!!!!!!!!!!!!!H76{V.-]X /BuYX`aa +kj|X$j +.Kdl +ak멦fNjnnnmmiogQtq +2B^!BūS9WpXrvaJT+B(W6+9pd(jETv(VB*ˀ5Kb[`U +0V0Q٫?$٫%A)jU^n^9~JSJn]6^t@b[AVL6~ <;zY`[eEn HT @O\Od"D2fW^{ݼuν/{Ï/_vfr*_uaY9I!+Z"*Ey*95S(:=^Zms8`mm'NSy4_tj+Bʎ ɹ;}*J_d*$NSN,wٶJ!P3g0Vo%zO0H`H(VRC0^5Lؕ7Jh &>@l+[\!+7WH+b; 16'C&22W0UƗӍx |V8ЃU,ƞٱ3cR%ʄx2]՗^yOn|q\_eb/K:rVP4e`UaJr Ye жJgeժrYesEJ[勽b1؏'O~ݞ=qnwϿ/[753_,ǒ`$yGʞ +xIiOFiv%Q'3QcObWo1\T-,).hS(GJe;YDy ++5vhGC4L篤^9m% +.Bx%v`'جDJCܳrTv/сn/lmN7opsewce +=+^4yv؂1n/{^'aPWBx2x޾T:CX:[?|鍷Ͽs/pރO>>D:^tm1 /b[z ūJs*L{4I0ɳ3&̞gs l^[f/kdP4򍧟޾cck֬0MDJ[I+[]vƍ[nݼem_B644?YBBBBBBBBBBBBBڷ޽'/]$Ex5EYaMBX2e4qa+Rutv78uts3~Sk[[R:Wvv>0dȥ  +uBvpjYXGyE8wthMKd%㫶!ȱWkC9W`U@j +2[ȳ`xWTB +Vh2 +HvZIrgE@XdϖL0@sUS9ϪPx(D- MfsGxgwۺmA!pƯ! o~Zvu7nڲu]أ?x])l+!!!!!!!!!!!!!Ըo[O[XZ +K,w/HEE8;陉i̍'zY VEk{;Wͧ[ZZZ]]]===`0-r]vh T؉se KvFy( +2||hCnSTIq)UC +2W钀YƮf[U!9?tI3e %QЭs% X9+AmN" +a%AY īFzVFhͲmI-P {~ qzo*2roY[t6t0~ܥ/G~~}{Qh d`z Wh<+2b@T&̀a0+ʞV), B*W`w\E +*+boxohD~Ӯݻnۆ&ժ:'fՎ;nGĺ={ğ#!!!!!!!!!!!!!3ϰkػC.]Y\^Y U"XX׶1,9`s4F]^J:Tj^V?.vtvv)*V7!e +W!/aɿo!edH"=+p|X,„v[18Ճ#4@P2d[IgXU#X> :SZ w~^ esy`+ǮX ;t;v :db%ț2`=ЀΕ`f;\ m-=7i1k9NϏ=Bptdd|dșJP&[ 3!S#;]s(m;5W  )d|H#z`2K 'F WQUP[4Lv!X`XU8W1_04660U%A9m%;WZ~Vvܵmzk( Ow`;~bz~ʥepla-},,bk +YdaMRkvvD"6Z! +ڝvGQkͭM-mmloPtuu+JFg0-fgee|&I=<嬱\< 6Tm +*q xQ+cW*Um σ*3W>($Ɓ]`չTv>IZc $HSht#!9~0C -, [lY!gţVue6\! W^?"8\Ē\7=3}R%Lq`\[xͷ>Vu>;uɉ&0P4DbOx +v^TM +;dVY!HWkvQ +K"|)UYKXskK B_3 +UBT$㯆Ъ"4I+`v묙*hAh J%Aڡ!++dulvBJKΕ Wh,\Y.'4C#T:WôxH/C@0Ϟz?A*bO>|j^xLiAI0a&9+2)¶`4Nrt 46!jO(v͗p`B*{o^,K_ؚ֯5$mAbsj=U׭[euul_4oO%Zջ-/9 "ʀ0&%&x%ŴPM +wC5`-ۊ篤قŒ_Bۊ7}ɝ$;_ITvt.>XPmNI A +l+ RJg0LAF?z0O }CL*.*}Ã#c#gFKL>Kэ/nߺs7oݹ篿Y?){ fEP$!9 + ` w2LLI@K;q`aXTYJ[ʎ=r%_#+HݏknXn/ \XA\} {_Wl7oj?껿ƽ CccW.QP^yh8 sZZr̹Y`!Vkw:"T =*]hiooS(߮bvnυA${ł8毼6ªcyG[6764,,@iaEļa+9|El+v'犻XRa 8 +1no*_^sEQ+\6VF$<*&Vܹe AmExv#(܈mAym7E0[w=j߾}oyIvEGZj]]R`Grw +)tNSnyy冂!XV60"XrUmp$*E +!8^-5"iI._[o۳__ڕZ}~O>\ظm?-_rqʅV.]e;#AX K`a-N/"ȝ&&S< "냑TRuvwyխTZ`2mt]n-`Ν+p\(`O0Of(vnU<'*cG2WڞjH{ &v + NmA'/$*;$V^ZvhA8Z$Aȿd3bI->:fr*Hu )a\rzn"T&_*  {3B$ +pX<]Oοz{}ko.,PG + +VK}WX*Hl' dDVR[PѰ*b +WV0C7804R,W.ϩ7c=V||5j4L]+۶mWf޽6}~= ;w˯JU5u^Mqdd]_.y/8¹鹉3S\l!+;{Wj4]JRVk`X6B~y~'F.2̖i;ȶ/נs4sj7Zmlv(` +yYU < $ q./mvNESllioStjAժ0|3fawNry|9]fbhvySHXn5fdf O+ %GG? +,pրۇH+ +VHbcCЉH%$;-h´41meqm%AJ3U%\Lzlv CP72jFH[!l{+J{ǎOlܴ5k m%{VUֱ;o޲u˖;v|!(  {7~AhJ;Ca J^{7`}tjMF6&-,Ghum;AKB0HcmE8KCx(`{8@at GZɶLfc4Ůp¢Wl./9تH ,[R A!X$ϊboΔ+Gx駷عyr+* y@Zƍ[m]W=|j[+BBBBBBBBBBBBBBZ/~Ѹoߞƒkr+uX.a¢ź,,.LͲ+V&g}NWg4鑱B1jZZz4Ѩ1FdBfwح6b1V^߭Vw[V*{==tQvtÙ"\ߥRhtJLrGŲ=V,bb +@v|>-`&NH+>-| `P +2W +JkbKg0n #`؅ .Yt;]eO$|\۪20\,e2H,h;5o][w}ս?է7nN:S# +T8`H<M4 ƞE*;4iE+%U>c +Vc'U^ʵ >Z޾Rhd̄Jɖ-[7nT c'պu k˖-;wbkxBرC|߅~[OӰw|{o +WWWP +VE,,uȇbg_`׏ +fR}g'TtkKJEJg0FbadbW4nG٦jdsg.gESVkUzhқzl& ('9QV+Vܼ;MrȰ0 ++݄Q+l& b 8IIH2H^{fjw<7vJfCh"/+re +)0Sؙ+/ǟ{ʀ?Ȟ9&8[x*AZŁjS*CZ*'0{Vh^2@bU&!0{6/i er^^PY7882^̏';wZ2TZZqӦ;w74رcwݞZ{CC Jge߷?լKr"Xb-_"d ʥKH :?85,vمd&kX|D"VvnnR`Y,b KTllPw47ws3P):١ٮ|-EOOJM),`a9'цY,0Uewb + +VUC0R7YU1fIY@vQ'HUrV@ʳ%e +J|rV`[h ,=r +eH^*W"{eV9\aVW_C*zցoڴy] w_g!!!!!!!!!!!!!S_w߾uuO=t ~e kE._%cPVš_r=jznx YR4077?J']]*Ne05jVVCJTtu+ͭmM-[N55<}'O7d&\ͧ[5hnimjmohS@KQk{:ޠ2d:a\JSBS -M*\xI7tF ҙh^meRjd[a"q{a?n/nƒlWl!OQ2+/ܻsq>F:YyT07UB&\eɹJJ0v +R%B70_R +l+b[3**+[g%O,`geo'O:>{YPOp}}c'O?y8NX!%YX@tW5Z= FHFL:xS#Pk ֛T:Rѩ eP7*AM- +VpƠk(e0[LV?.o@C=LbooeRo._%PD*38<~wmٺs};MSiEpT\Sd W ^*Kq \`{V)Э*3ʑ[UV%BsE ށ!`$~Ge7Tm+RMIp=V$v޴yΝ;8tHՉoЯ}97 ={3nEAXX',$_^_A - KO/,˗+^o 04g7nz/_*U {pR*OG)=ž _ Z,/ * WY"\YYex +F +gUe[%A!/W*SadoNg0_IjXmƍm>C¹Xr'w~Õ+W/]{i굕 Jxׇ.K >tav@XW^z`w;7;WC8(>sfK+*^ANttvk4JKRtutt48u`^?}/±c;v؉؉O8ƽS'N>y4[rKѣTt+3wn0ЛRu5qZN /egRΝݪ\JuRӭԨMChYpmb;./IlX,+l T.CH4Q(NNϾ?_~sp~[w42>%[Ţt89x:UV [=٪8V2sèU.S Y9:0FPȰ*b7 Eh8OLO~Y񍫇 * soٺuw]#G]THHHHHHHHHHHHHV~쪫{p{X敄úre&^Zma-,a:pq|WX|uf~ىKWV._^4[ͧNp斶.2=mSͭO>zO_8? /u/c/;~'N;yĩS')z&wvFVWOGwReu\::ۻ좢-vk:I:]=F+4Ojw]/ayDeG8H<r[R%-`(IJKǷރ}W<95> \aI2W4Fx8=0>vq 3TCV$s$;ϊy\_C= + +COo`xht_|XttleL+c#Sqر^| R*MgTS'!yOgO_x_^xǞv!XǢ VSөf5h +;:[;զ"k pw˫ +qDzG):;]nFѩ\n:.!NepAO 'X(2R, +p, -]\y??{ٿz㋗^y}rz\ENo c70b`SIV#b1#Km mBg"2Vc/N A*#ãc6񃿄o#>KG +Vkɷ:-[g"}[b#G-_ o +C-B)uHqKrXi"⥫/_[<_P$<4:^?8+ +!Ⱥea{XSl*BW!pz;v + Blu 'N8)NKO5g=BՃӧϘ=gEK/_QS]f1kG-[r?ƛyξY~+-X jIpa`V +p&E>apijI<=XmkWųk:*Ǟ:u!Zi-ۣ?/_.uꔛ53*7$tMVü=z93xeb+PE>eE_y՞ƃG9':㰒YM,}a{þֆ}aaCS<驧{ቧ9Gؾ{˧Ϙ1g6o۾uqu萫]v_u5pÆsĝ#GrG1b0Ρ!Æ:[z!7 zː78aCB#!Æ >s0Nw 7ƌO;aLxg>4}fX#8)IS8)<дPo`ᒥWV[Yvɲ͘H۰9w{ξΙS>ys.Z6VqFpx`joK3X Y}ztWu==L07T[E7 +v=G¢0+>A_~=4s}_ӧlђeNe`/a*8*ERtV}Sކx_z9IN~u [0}y ׮]fuuM&Lt]w]s]q?__.[n:~]w6݂wFτ/9*ݣFG3z1;r}ǎGUTX?iʄ)j҃S'O6ex`<SN}hʃML}hYs_d銪aBTuݲYN֮^[ߴԣ+zw='Wa/kodULpQ!8Qtͬ ;ʫ0=Wqc`CpE&RY! j Wq{`VWW$D5ukjW۰y뺍ONyEEQ^]u CCXR0k`n'عstߣg^={UpUn oV٧Oy(*⪫4TաiKgrOWq VtmrOCjVsg{W{ᥧ}>rĎ{X9c֬3`%/YȼS2rԨz5W◿_+2TdpӐ!C :wAUcFwԘ7v?zS=M4v'8y)&?0aJ8:3efS'Ny0zы8I'LN>3V-_Q.V+.^gΞ9+kvsg_x7z;[Ιonُ̟p>@0lq`ߤˮ,_dtr,\"Ug϶J0*_ųjxUje]'X^amO?YEeeaaa$Tf5[%'.޽{aQQqqqe?*sF|k-(-+ٳgUumت-a+:Բ@R"[RUX{o{^z^z_~{n8wӧOyiӧ͘5O2i{6_qՕ~e?/~+2p7<[ ; Guc Ac ?1&8i܄&N?i'7n½cǏoG/%wIC3K/_V&:y g̜9 /ݸyہO?z0*dVoyw=S=oܤjҹqՂqUI0yDZU2}'$Ω/[oW-[^lKak<}e^Oe_YjEMa[ԅԮ^Y֡. ~`nVYUΝsEKJJK + F.W߾}++zW7;xh::n'<+[4g,8}~k/Ͽx齍ͫ׭`S'L4iq}#F}aok+./_ϗ]?yW^y5\suFp7 rmnN<1;G1GEg{BuϘQcƎwcǏ҄SL6}̙Νh0)=K̝py3B)֢UEǟ|xw>3{o /.Y>sμG/J.w:iUI04qHUdaYU%ղ**+'Vf큵Rx*{h[n7mxUkydޔw{ƌ1no뮻ګ暐Y]uWv«ʫLNk'K oHo!ex q֝w9w;NF;f'0i)L63f͙9{#6sϘ3gGg˫jv{ԣ/ڛoλT3j̘=w֜]8 +OFęX$hKM!Š0j򕋗K9W&$M5ÐYUTTBc`Fpe*Z\^a˯SιA{&znUO0''sNN%% 0Ƚ_~啕={vࡰ@|mZM0N9==ίM8]>+7zp~ /rꛚ׬߰pӦ7~ݣF ㎡Ær뭃os͵^su\}tW_{uG5oip[|[ 2tmÆ~λq#Cl5jc'쓦*0=7G%YìVJ+*^>j?pHRXP,00J6onMRֆtռ}מc'_~_o;g~7:;/ړ4Y]tYv슾Ǟx~3:}6̜3w9a`*Y`8Ȋ0jq7pE2*=0 J汇 +ld{Um2jx`j5dbUk7DKWL9ƛnpmyFy*]p=QPPZV6pP`+?[uk[*}${(֧ƹ'%XR%Xut:"PUߴow}㮽 '}W_{g;ó|]y7zW_{珝:ڶeێK-=oԇO4s{{j]w=#FsQ#G9Q3{wcM?ab􉓧$gϙ7eU5u6lڵ!=S/o{gߏ~|_|ԣoߵg=w!zCl +e˳JRI3eI큩IU55Uՙ*5u+kWUk<*֬ZSzmkmX~ӒU3f?WԩgWR+ʫ:fv͉XyyEz7ORG㋗|)8%%=$WYXY㰎a"xet#a[1ίkަFxx????7zŗ_}O=ǚZv޻nkjjZxyg~dƜGf̞nfϙ9gُ̙;ŋX^Uv՚7oݵuN?3ϿkoΙ>?N&z_>yYv칳.X/ Co`j'O3gi8IxU\-]2 J &ؓSU"bI&gU*Jo UfI0%DQяR'OWqf-k`m<֭{~AAIi%_CYY#?Ze啕y=WTn?~уGу饄I/aPaes?oڿ1Z߸i_CӾ0k޶G|^㽳!A:G|G'׿7׿_'|љ?x3^~_z{򩓧k?vā[[<+i?vGO?O?/Ι3=G~G:9~q}Cb_|؉SOz݆zd޼K. Tjo`rS8Z"Ǟ>+SeWU邫*\%VU5Ԫ63*Lpmf`]3mڲq˶ s}⪋뒛 +\ vK[^~~tb+7:pРҲo?RT aRX6J rߟ^G:qVS%KW!jnٵaS|DXo/˯o$ٸ/4}/MUsKV7(zOIgV򛤲ÏGw_z؉ݶcu;oKrdz0Wɢ8Z,PtH̪*]d:ky̪&$mUάRWԭ UZv-o:}Ƭn>}Ϟw^xHݲFPߣGw +?5_W/kN*DXGIGX2Cvt-Ùq@2+TaBPJB/aSkcSKc\yocӮ w]vp}qPOD$YTmU8T'O_O?~d-ܳnKVT/Xli2*TIiEͲK\jIj$,_"x {2}ʚ&IUgI+kR5W}UծN Fnͺu7oپ+zۆ{&z*Jv͉[ԪGaQQy9{kWVWT~dޱBrpgLM򫤩-b?t(Nx8{ SK GXqXa5aSk}S(R;o߽gW}c}Ӿ-m8Oʫog?SY$9o~Gy7|N~, ~߷=l[asU5/ZzEu]<5nd8SIr㤫*&V/<'W*5ުvUdI0dVUo6ί`6o۱i뎱OO _޽;u9'';J%WIV99ѓܪGAAqIZVQQTTo|#~KKK++կ~Lxt::WYK wL:Uv(i$ܗHظ/ZVcKCsk}+bilиcwܳc~ަM;4۸9 +mؾ[z%vnڲ#[ajV]Y:NPq+_mKJµ:dĵXIr<O$5WM +UVD߮fUF0[$Uu6o۾kG]y5^tQYEE;ǑTO0p-*'ӥKxUr.m-)) S^YYZ^ާ_~c֑F¬GB +pzVj"Vsz{sz{cR%44nhSc5]}WnߵyM[jێi mز}m6nYa֬_vêW[_?]fU7֮]*)յJ$ +7u64j6ÞUɗY%߫.|d$a0v=U~¢ɮ*U0p%\%EY={*,,,)-߯_M[%w]VTK}^eWq V&5+==5={Vȯ;Z+uSPUߴ1]M{v58Jس}瞭;vo޾3i۸um;6lٶaӶuߴm-oZ!:׬߰z݆geY!G +U]|ieD*WYUWdjemz]`X]2[\%^uu—jͺԭYHl~)))+(,- `OҪ욫*T\f.]zջW}ͼb+࿉~L4䣏*:x=&q V{H*Yq#a|ͬ& 㰒D} ͭI!־0b5a=vھs;7o߱qlm7l^iM[mش6amuB~6\kd + kMr.ouumj ڪ.Xō!g \Y%Y۸ie+V^~U ́yyZu=7Z)9'[E={ݻwqIg޲Y)aL< wIIiy.G=ʜsʱSCR)F¶CqxX`k[Zd%X ͭ M-\߸/]{I"8ڻuǮlw&[wߴuݦ-6mnoؼ6_Z!:ׇ몸fUjTaԭ 'g%uY!U6TV 1YUa*Voڲz݆sɗ/ܹs={${[u^)%r{#KJK?c4󙷬-wݲ~ 4ޱN?ġG?aeeRd{2+jKbY,k_\IGa"Lo'owCc& +ծwݶcؽ%KƶoOa߸eIar֮ A֚uQ8*3+DO%YVmЪ55dVq\Pf{WqM8ׅozG/(/?NқSp1*i rrr,)+5yw PXXo++_).-7#ǎ| +P ȁY3vXI#a?5+jiKz {Zݍ8k{l۱;u6oj: +[vWa0Jo'&]~I`U&XMOOr*I֮Y&T .Vxu˫~ADҤ\u]WsD| 3oJQQL>}?h{Fz?_eY饄;LV&Ƨ%% ZM5 Ziܷ)b7Oڵ7:vN 7o۹uG(ڸ5nؼmpӖp )V<k}8ko\QmXncf{Ƞ֭%τªp<_.xackV/5o};tbg?eC&/?W>ì*XRZڳwַ[:rD*Jz YS ;: +JbJbHMjM/(LMjM5&sݓ M-^=ͻ6o;J u߲cAXa)-ۣN_CG-qUkׯݰiu<+==I%U뒪Z׬/ئ˖,zi?_+uܹ[UOUYF*(,w]/-+}/0 L*-xp'g`udEXՄIVa8|$t( 'uTae"NX-ZP`ܛ4b5K ٲ=JOts%MaPauh6%)֚d4ku'3଍I~}hݦk7nZloe_Rٳ'\eW!c.a~_^XZ^^XTScQ՞03=+:+FcnMX-q [$ Cܚd#a0% U⥄q%XC-P#5=X2Xɦ¤04EYa{ߘ<6jmL7n޺iUk1;F|)'Suܭ۹չ]rīna0{ϞY}r?}ߏ\pAxa7TXDx<+:vN!Vr`\d;a2ݽ-'%XuOF +n$lK5-! +X{4čqb^=w BPo'L"+jhd@V]1bťYY 7mشeێ]ew5~|&p5)ʞ~n`NNNnnn=z..8h`W]QQ _mWVov=N:.:|LK=pւC \9ԖTaH uo5+NP$jlji B MqX= ;wׇ +^M.ꈰj°pq-歙,+u6fn° lݾs˫7W\/]r^LN.r6 vS zݧomqq?0_WB ViYtOx9d˱~/JYaV{\aXPxp[\v¶-rdAak[cKf{kcSKCP]U( +Xq֞;lۑZP +v훷Lj6,kM[u tBeMk7l2fIig3u53=^e:;[$]="_W3~]׿yEEAQя~t^9zHHgc=]unup+>8$JfaE[X!j;c%VCsK8M-M8I'wݾsώ0+vORtʱMp,ܶcמ.>.]>{yaO`[u=bM[vΉ^=/GAAtz=A_c߾b+gDo}[}--/ջS8ؑT~u>IBP*jO"XI-[k;/Qk { [ՄI;x;ᮽٹaǮ,(L +XtZe{ܲn㖻\~u9K`\㭺tɉ>ߣg^}t˭_c޽-;yEeaϞ?яs#GOW'ʫXPh*~$;: uORx.I^t0uՄ{3XM{vsSsRW43vm۹;9?hPqIIn׮!?=*n\  +z٫׀i`\EeeYyys?y؉^o?v2n$L53+5MI#aj{{deb +RޓXvְ0bqXq~k46nh]w&֞S)֎d4={Oh=j݆.*-+QP9&?[:w(T[UT|V P^Yٳwяvm8zT\*8:~<==k@֑x;a|JEXqXYC*& UX9b++ڷ)l'o 5)}-s/]rI]xO0-ؑ\u'\uߣg^%%z׿c`e>Z'?In**ӥ#=~ȱ\"p2XYVŽOo'$WVשӼ ۏH~, "캬SJZP0Nx$b?x8 +턭; +?im~5Q?ϞX];3SKJ.?;~ /,(-/򥗶}++su>s։ӏLe&YG㢬#:: +vԀ+|񃇏oӟF?y:%9UL`rrtW?TVz7+~]/d .hOag̼=E>IcO~ɵ7NUW_{џ>5n>ܜ0*p^~^;7_V۷N?+;:y'ZUj4։#G3݅'O=ē<6s#\{W¢v2nZ)ح# +W93{>O71,c{_e]]/Ҳ>}~{S%Uɜt|SՉSTuO>ǞXbow/~yB`v2>.]r;Dy=z.-?o~e%%#G~gS9Ud7v\\DGuǞx^ޱkϝw͠AN`nSClb0T[ + .;W\]WV8әXv:m䣏= G>cぃ+7 v, SٓVqUn~={.,*]R2ŽAyۯ_a yX::vD+; +:u~go|W4knIlJsrt^PXXԳg޽7OˣߔUTWċO?h\tfz'}P{F/E^{ݺ}j`vUnҹs^PPسW򢞽 \=}S PZVַ[s/K_eBluԣ=O?;k#?OwV^l29](.)).)W^Q9;3?A?**KK/▶C'O?.z'N?ؓOpM7vTUG`nO0蜓g^%~aϞ}:z ߻[AJmÆ? I~uc0yʠ}S]-]}:Ԅ8nz ._ww%%_Ɩ'WT'ߵk?̟VqU>隫A^gߦO__˿袋';uBrV +&㭒aaQQyE!eS,%WTUT2dէZk(Jg0 ]x~ .{w-;rsstJҫ}?|iW뢋/.L*knܜx${v힗WRR2 2د=\^Ź魂DQ=/wqI}3ׯ W/.)+5޽{⒒/˙Ov7Gˮ,??GAA_޽~?!'(//)-ӯkO3p@/:t?yEG !a8c +endstream +endobj +429 0 obj << +/Type /XObject +/Subtype /Image +/Width 1600 +/Height 1600 +/BitsPerComponent 8 +/ColorSpace /DeviceGray +/Length 12747 +/Filter /FlateDecode +>> +stream +x݇.4QPIu32"88ֱ1"Y9RFID3qߟ>z]볮ZXus]J#'77~o/K24/yWʯh+N̬=vzM۟%՘rM-!@uwzxf^ݾ?4gJiƅdغ׀wZ; Zv?O3e6GkZmz4.S.S/jRC=?1Sn˟5HGLŌ:kqLTܬ_ICFTyn׿9ym4SV2dQ^TyYx4X{MT[Yz{u`[l|F\tkToul=O{L xT335G ț^934I {nfe39;Snmh,c3|67R$D+z^&61$u9K2ȰĶ,-ʄKm}ݔLD_3:tL\56Hieb,XGf{9+ + fxL" cbhuff$sݎ?>;$ :5asKWr@ x/.$ylyfj&lw#$mscfmōZxgolwi2ax+ P-~vع6C +Pv%EjNqI&T܂}f-*irř5 P96t# Po2w 6@e)hO.ͤC7@aeR㝍9@ozUCRx|;X呷 [I9v8f>@9u?o'3i P9;_g 3ivYPV>yi&fP&{=zƲ R߶:/+tC&@K[7cq;s`MӲ%֌y߼XMc%.3;VnZ¼mݤ /i OiCWxCu-k6o6C- z ~[ҿuG +4`5Lhi_jAiR]4] R^X݋ 嶿Az5eKjVBH,CV@*ͅ)w? HE/U{6SQ,v~tmGe[pA6k}sc:Y8Uf.RqTEd |DQj*kUQTlxF [>mFuwA6(7UiIWIRgT'ex|K0tĪӡn[QSFwAHڛ7~KMcC9k{Q,H1SqcGHmμobE6IH.||T"b /,"E,!z+yn-$"> '`l.}0H8oזLoڊp&w"%ZW<фJфU]4!d" e"{D+eE(YP' +( a[_B!)B`Ǫ)YB!PMLRDUt(B 25ETPkoa=HD!kk):.OD!za}B\Wh)/`pB\}uquQ+o"wE:]G%" +aNQU+B+$E`c +)DU E ȭ2 +Qli!QQ3!U-KH!V((!r{("{oc){CE=R +Al B +AulD)Pvl! _PD;XUo EhuR7SSk +&tSK5VOL!o*(bUL!d"Sid.SBb+' +̕SWl1?O6BH+(bNL!uB:F?bmb +!mmb +1QPe;1OĶ1>PP6BD9'b[pBH! B~"}Bj0DAZMb +1؀ܛ^ᅘYAڼbWA]9b +!5\A;bA$)Z=b +1PC+bjiBh3RE*NRٓl"ԱsTmc!<l.B +QhBd(DEE`4Rx{{ +^QĵBX}kO^+QRuvZ뾦" +q\jXk *RDd# yBX]]I  + RDu{RD_Chϩ)J>!mQuOm"r"ZM"XOӲB'&ncݫ|Bh /Q!Y[A}\@!n"$"khBTKz (D,=EP+ mjPliz-Xj>q-D5ET`Ad9wk):MB!d":K("J(ĵWZz "{\K]$s"QO%Z#NE\c6QZ/VׅJϕQ ⚶BX))G#^"Ejlq{Q6RD!6*~#]*חQ"Q2 +QܢlUB +a,Qh;!VQV2BP([_H!:("BPQQDZK)4GTI*wR5(X Eh +BʽDAڂ}b"W:)OAeBcEh+vS&El'v*(b,VDp)u~"O[)t +ElBn@&'ON!'bO&_'{@N!; Q[ݔ +,"Q9 +/4[_~"jH=!"ޢ*XnΒ +F;Su$=K;ݒ%9K;n +4 +䟡LQxLPNy7Qxcѕdl&NO/nrn"9*ar"֗U&dDGNẉl.麉(OV!M&:YpVM$do(E((Fo&` +\L75V$Bu!EyIQ ?B@RVsbGhj p6"SmO@R[wP[q*M?סTH4m>Z*lj̻k}'Bf%ء@e$k/oo9 )X< +>T=&V8@aoG_ITnl3ff8PeXhQј4*y>r66P.W7k-rgil2#76jq' Yc{+?_fOݮ T;JTo򍾴ۺ@ZP&ܲl[L&ГZ4g]&4IiupPcQT]zԠzKTq┬u.Pr/VR\uL\5S%'Ȣ/b!䟧pڈMY s"zMW >9#3A Dݘt0Qx +:g^=4"8FIz[@PgF 8blQ:hѼ{6-ML -Qؑ|۟.0-$Pg1u|$Ev ٲ r`r-@lY/(Z -Q5gE˚@"m6Rא_=$wLׄE_x\CH >տK;{@]Wϫ׌wevFwuGfLtFW3&j zxddV5׀Rovb_s&~d|z}ed:ʌx~ds|ޝ5;UWaG4ߺ@v;YWWWveJTR\& +9hyu&)ʰ|:N@+n3i}Iii"B(ym" y"P߹FR'nj)5KA}Yۛ;@m5(ۺ/_{ HjE(Yw'XJur-6 /XJS7lj)E5M,?%Ú[=cf +OYjXNiPl@^FBI۶4CVVY_6;V0k.s?>o}s`[h}9żX-?ps-@i/_P:GX8aګaPz}[kc.E{☻o ~"Ջ̟u!o@=wg>2]rGra52w}5.@EţzN{ikς\CP)rN3clm*MiX< +}T_ca40!3>aUYTd,]<}4y"W9{c Pʺ.x}X*,nUjߒY<| @d]CDLkcT4/Z7$xcęm/;@blb}9HkPzXœ.hn;j{0 q ~hW ǔ.k$V˪{;@5zq1\u,wշzgKW ;4>|׻zd]fVewI[|2M\i,}[c7i*d۪p-zdţp@u]_*Y=^8Qe ȄJ_<&kgvޒo+m(Zֱ\Qx՝7ƍ]MJX=Mz ]TpX`U +._l޻Li5shX:DVU`6c4{2p9(M&}[[ǵj_wqڡ{p@ v* Ǵ +endstream +endobj +215 0 obj +<> +endobj +428 0 obj << +/XObject << /Im1 214 0 R >> +/ProcSet [ /PDF /ImageC ] +>> endobj +225 0 obj << +/D [213 0 R /XYZ -13.423 915.745 null] +>> endobj +226 0 obj << +/D [213 0 R /XYZ 29.788 737.428 null] +>> endobj +223 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F44 227 0 R /F45 228 0 R >> +/XObject << /Fm2 218 0 R /Fm3 220 0 R /Fm4 222 0 R /Fm1 216 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +432 0 obj << +/Length 26 +/Filter /FlateDecode +>> +stream +x +0TH/2PHW0PpIp; +endstream +endobj +431 0 obj << +/Type /Page +/Contents 432 0 R +/Resources 430 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 229 0 R +>> endobj +433 0 obj << +/D [431 0 R /XYZ -13.423 915.745 null] +>> endobj +430 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/ProcSet [ /PDF ] +>> endobj +478 0 obj << +/Length 2220 +/Filter /FlateDecode +>> +stream +x\[s۶~I)i\Ioql'ivt< H$z?H)7CǗh&o,.C`V@0Q'ƙ~H$SLa?`kչ MȧdnjKuU0%H a]ќ}"B|[Ap +OUfnD|N0@ȍ)0/ba49EUZ$sxڑ QbFTJB?Ut+ IWj`"JU 13pӧm@,qz89|iLuVū&KE۠EUQi<FD ḑeD*TkiCu 84;u!h F>ԁv=NgՐgź*#PiSݷŰ_,1  P+eDpۥ2b,uŁ0/ + +Q]h l9Fe&bn[pj١~ɦ2 a +7(ANvĄAgT=#f|.k(;BѺOk9\H:ܚJ$giy#GȠC}'>:S)U;VqwR.-oE\mZwPj` X(X- 4TʳVZ&4d%j㱴Kn]%mS+j^ ?Xzԣp*kY72è!o˴qA4aLGQcqg;jan~Yܣ,HQ y;/Řj =Z^|W|WY}Q66AQ֙rݢ1 Tȟv=%NGoaAskOz/~0$}V3mv[NoSAva9 .n>wZ{{e>M@/nX!<>,q+kZ ܐ X\+Pl #)dܵ&`}zN.%[~ߔ[Ͽ^nt8i4pNa)_>iuYQ3Q746Iۛ?U{-*ӚecT/ުl?>QЋIQPtj>}m>辭(ynlvvi4tfL 1.MiV-* |"^efȎ}%Bi,_EfZfӦ'nY2clDnFĕe".[ =/ykG̲"mtąv!dZݬ8}eQQ斚TTv +endstream +endobj +477 0 obj << +/Type /Page +/Contents 478 0 R +/Resources 476 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 229 0 R +/Annots [ 434 0 R 435 0 R 436 0 R 437 0 R 438 0 R 439 0 R 440 0 R 441 0 R 442 0 R 443 0 R 444 0 R 445 0 R 446 0 R 447 0 R 448 0 R 449 0 R 450 0 R 451 0 R 452 0 R 453 0 R 454 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R ] +>> endobj +474 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 481 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +481 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +475 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 483 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +483 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +434 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 623.376 189.599 635.912] +/A << /S /GoTo /D (chapter.1) >> +>> endobj +435 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 609.895 234.697 622.398] +/A << /S /GoTo /D (section.1.1) >> +>> endobj +436 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 596.255 268.668 608.485] +/A << /S /GoTo /D (section.1.2) >> +>> endobj +437 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 582.615 221.126 594.845] +/A << /S /GoTo /D (subsection.1.2.1) >> +>> endobj +438 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 568.975 247.21 581.478] +/A << /S /GoTo /D (subsection.1.2.2) >> +>> endobj +439 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 555.335 172.024 567.254] +/A << /S /GoTo /D (subsection.1.2.3) >> +>> endobj +440 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 541.695 303.413 553.925] +/A << /S /GoTo /D (subsection.1.2.4) >> +>> endobj +441 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 528.055 210.479 540.558] +/A << /S /GoTo /D (section.1.3) >> +>> endobj +442 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 516.4 154.428 526.645] +/A << /S /GoTo /D (subsection.1.3.1) >> +>> endobj +443 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 502.76 207.773 513.278] +/A << /S /GoTo /D (subsection.1.3.2) >> +>> endobj +444 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 487.135 251.453 499.366] +/A << /S /GoTo /D (subsection.1.3.3) >> +>> endobj +445 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 475.48 192.042 485.726] +/A << /S /GoTo /D (subsection.1.3.4) >> +>> endobj +446 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 448.61 194.453 460.961] +/A << /S /GoTo /D (chapter.2) >> +>> endobj +447 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 434.943 135.893 446.863] +/A << /S /GoTo /D (section.2.1) >> +>> endobj +448 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 421.303 177.741 433.533] +/A << /S /GoTo /D (section.2.2) >> +>> endobj +449 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 407.663 165.61 419.893] +/A << /S /GoTo /D (section.2.3) >> +>> endobj +450 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 394.023 193.341 406.253] +/A << /S /GoTo /D (section.2.4) >> +>> endobj +451 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 380.383 215.933 392.614] +/A << /S /GoTo /D (section.2.5) >> +>> endobj +452 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 366.743 153.675 378.974] +/A << /S /GoTo /D (section.2.6) >> +>> endobj +453 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 353.103 332.856 365.606] +/A << /S /GoTo /D (section.2.7) >> +>> endobj +454 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 339.463 333.544 351.694] +/A << /S /GoTo /D (section.2.8) >> +>> endobj +455 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 327.808 126.195 338.054] +/A << /S /GoTo /D (section.2.9) >> +>> endobj +456 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 302.225 70.177 312.863] +/A << /S /GoTo /D (chapter.3) >> +>> endobj +457 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 287.271 234.119 299.774] +/A << /S /GoTo /D (section.3.1) >> +>> endobj +458 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 273.631 318.424 285.862] +/A << /S /GoTo /D (section.3.2) >> +>> endobj +459 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 261.976 255.926 272.222] +/A << /S /GoTo /D (section.3.3) >> +>> endobj +460 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 246.351 282.97 258.854] +/A << /S /GoTo /D (subsection.3.3.1) >> +>> endobj +461 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 232.711 336.326 245.214] +/A << /S /GoTo /D (subsection.3.3.2) >> +>> endobj +462 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 219.071 411.511 231.574] +/A << /S /GoTo /D (subsection.3.3.3) >> +>> endobj +463 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 205.431 310.242 217.934] +/A << /S /GoTo /D (subsection.3.3.4) >> +>> endobj +464 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 182.488 167.759 192.897] +/A << /S /GoTo /D (chapter.4) >> +>> endobj +465 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 168.864 158.333 179.382] +/A << /S /GoTo /D (section.4.1) >> +>> endobj +466 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 153.239 184.155 165.742] +/A << /S /GoTo /D (subsection.4.1.1) >> +>> endobj +467 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 141.584 199.919 152.102] +/A << /S /GoTo /D (subsection.4.1.2) >> +>> endobj +468 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 127.944 174.446 137.879] +/A << /S /GoTo /D (subsection.4.1.3) >> +>> endobj +469 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 114.304 144.13 124.822] +/A << /S /GoTo /D (subsection.4.1.4) >> +>> endobj +470 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 89.376 204.741 99.785] +/A << /S /GoTo /D (chapter.5) >> +>> endobj +471 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 73.767 260.202 86.27] +/A << /S /GoTo /D (section.5.1) >> +>> endobj +472 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 60.127 204.752 72.358] +/A << /S /GoTo /D (subsection.5.1.1) >> +>> endobj +479 0 obj << +/D [477 0 R /XYZ -13.423 915.745 null] +>> endobj +480 0 obj << +/D [477 0 R /XYZ 29.788 737.428 null] +>> endobj +476 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R >> +/XObject << /Fm5 474 0 R /Fm6 475 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +501 0 obj << +/Length 1194 +/Filter /FlateDecode +>> +stream +xYo6_G~ޚ%VC-+Gfl Jrw%[VltNx'<]bhZ("@ ʯCXƐhP33B78ksnbȫZ"-CɢJ-B&b #qoBs?"#a6n&0/|ʰL+F- m 2 1&qYK_FOL;m,xv ~@VZt{5)BsC)!B)7t3b5qs[Ꮼrb\y:V,Bp>xC!sl sCV'ˀP.\5NSLtkGŒvԛEF{XOtX/_U7>^RxOx0{{eet_*|`ă xxL< #<:xoQHa9.;j_t\jb5  /'X JxB:|'LjKX8 +W^+X<W0\vn}Cj_a ˫ȸ=XlX-]k΢P ŝSp\wRj_f!."#NM"> endobj +497 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 503 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +503 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +498 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 505 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +505 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +473 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 728.179 207.184 738.424] +/A << /S /GoTo /D (subsection.5.1.2) >> +>> endobj +485 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 712.644 218.977 725.148] +/A << /S /GoTo /D (section.5.2) >> +>> endobj +486 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 699.095 204.752 711.326] +/A << /S /GoTo /D (subsection.5.2.1) >> +>> endobj +487 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 687.531 207.184 697.776] +/A << /S /GoTo /D (subsection.5.2.2) >> +>> endobj +488 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 671.997 225.653 684.5] +/A << /S /GoTo /D (section.5.3) >> +>> endobj +489 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 658.447 204.752 670.678] +/A << /S /GoTo /D (subsection.5.3.1) >> +>> endobj +490 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 646.884 207.184 657.129] +/A << /S /GoTo /D (subsection.5.3.2) >> +>> endobj +491 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 631.349 296.584 643.852] +/A << /S /GoTo /D (section.5.4) >> +>> endobj +492 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 617.8 204.752 630.03] +/A << /S /GoTo /D (subsection.5.4.1) >> +>> endobj +493 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 606.236 207.184 616.481] +/A << /S /GoTo /D (subsection.5.4.2) >> +>> endobj +494 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.156 590.701 230.486 603.205] +/A << /S /GoTo /D (section.5.5) >> +>> endobj +495 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 577.152 204.752 589.383] +/A << /S /GoTo /D (subsection.5.5.1) >> +>> endobj +496 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.247 565.588 207.184 575.834] +/A << /S /GoTo /D (subsection.5.5.2) >> +>> endobj +502 0 obj << +/D [500 0 R /XYZ -13.423 915.745 null] +>> endobj +499 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R >> +/XObject << /Fm7 497 0 R /Fm8 498 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +511 0 obj << +/Length 2460 +/Filter /FlateDecode +>> +stream +xYݓ6߿G#K8v.c݋3\󱛽-uNUhI?7o߈_) X4VAg۫_?Z0ج)mw=demsJ8Al`R[NO=ό(e"JT tdKELd $o,N6K ) LuδS\~իR"V>xX,@_ڸ~,BiXR%Dt౩m*a2#޽m̡ˇʶHx=VmYHΒD*NȔD@Lu;*U{YM/F,' 3`g,&rg#_{?wyS`+k'qf ܁Iu4 hxgYX{cZ)q`j|_Sg~3ZbM8R 2ɧURk|oan8΋T092'Ex<0 .{\*B3/9Ajc9uo9~JR|UP^*Pa[P,S +O1)ľk34,#V42oJp1%t.w$AjL'JS&X\(=q AE8P*}cM^.wL,4Qb>RAi N{{|9X[˪AK?c/xt֗6s/8(h0IyLwZ(h$nZ6t>#P|yw=adtu~D<ۋ^5^"jg,%J\yg3tU qk\8ɕ?+܄RN<ªeETS}ƛG9U7u[IRXD-itʄ"S' PwE(W(y ZcjȳEdt6GlPu2GإeD)(P:ۜ6|877,I R:wFaC@;9J8 62tjTptM]@-ߴb笘rV,=6g*g\(RiL&߀fNTUj8J3@5uxlN]bv +t+$# ~ztlnmjƙӽ*qn57M`OCV>ɟE=4qg]fC9}KtrO#a*ng啻8~ 6MXJwLS]CigH}M3=}'klQ0_M8ݎ][B1*4 +xqޚG}\4qmM᝱d. +Z鞲0qdg %@{W}[NYebN_B~ ވ_q^ΰ,!×n^'qXyx7_?K[3`l.7J;{J}3z|d231QĘ^%ko~a$0(x9iI%;Wf)(b܋I\=-xTKL+T9MoRXD"mfwͻ.|Z6_Z;Noi|㝷ml2H7ɸ?`Z-E|WgIb2_$>&ZCK|6?n^6510m\|ٝ*B@b//Qknm@v%q:Tя 'i2Z5ouY jgsRm:sl93IP`E q'lBƷ,x\|6MMdNo}{`i{9:rb a=f9ݢT~TQ1ujeU +endstream +endobj +510 0 obj << +/Type /Page +/Contents 511 0 R +/Resources 509 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 229 0 R +>> endobj +507 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 520 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +520 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +508 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 522 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +522 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +512 0 obj << +/D [510 0 R /XYZ -13.423 915.745 null] +>> endobj +5 0 obj << +/D [510 0 R /XYZ 29.788 737.428 null] +>> endobj +513 0 obj << +/D [510 0 R /XYZ 29.788 645.141 null] +>> endobj +514 0 obj << +/D [510 0 R /XYZ 29.788 645.141 null] +>> endobj +9 0 obj << +/D [510 0 R /XYZ 29.788 645.141 null] +>> endobj +515 0 obj << +/D [510 0 R /XYZ 29.788 483.33 null] +>> endobj +516 0 obj << +/D [510 0 R /XYZ 29.788 353.522 null] +>> endobj +517 0 obj << +/D [510 0 R /XYZ 29.788 250.812 null] +>> endobj +518 0 obj << +/D [510 0 R /XYZ 29.788 148.102 null] +>> endobj +519 0 obj << +/D [510 0 R /XYZ 568.097 63.19 null] +>> endobj +509 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R >> +/XObject << /Fm9 507 0 R /Fm10 508 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +532 0 obj << +/Length 3124 +/Filter /FlateDecode +>> +stream +xَ6}BHog7 Zbwk:fE>~X;cbuWϿx֦=sZf\K$%gŁϢ@Xg,(L 6P$]˳pge}p#Њb Gwmxqs%? Ûk 8K(ז((!swMfsǏbJVmt2;w@(EqBkO [tˁ|nՔj}OİGlS?}>ʃ'BGނw?Nn+&>E.CU   (s©`T"#bU~p.;AHGf񥑙,ndKoYþC&qBCQ㛴uShӥ|d4SnvcbӜ)*@nQ_v'mm'/^jV/dʋeց;MJ!rJI-:I4W8Z0̋+'GP^wJ[e +z+!cD-A _`- 6`j*c5e$țqr5o3b8g "!d&ꗦ ㌵)g_xEEpEVr]6h29%v4Ղ*MuN (EY[JCDGEqHAcJ m-lHڪkGRq23?b*ѩc ?2 }.]:0=xm il:3~ig_.x9'`PP_^K.)>+(UD}Ab Q,AO3W*企ǐ_=$6?Nq$s7 BBWM.vLPs> a_N;H)鼑IJ)i"L;!dK`jcRGijefg,<}VAI<*F#]WuStO#!y %h4OH`emV깔T,)oǫtru}}(@'NxQkmmX#CX߆m/qCᆺzC Jϖ)04 +hU)MU\ jN0]RԳ@i A@Xqo^hd{+[(R6_49mw齝 !x(F@7G3z`}^J!@VĞIC/U&PiQ^u# n'?ܛ;E`zp`Q:ìj lt!݆Ȥ\CwZ5Pgh\S.6$ 3c4duGJ,qTldg2םҾ5K:zԋZOtHՅYjh rA,L\*KsPZL+?!3+y7=ݖaUwPU=x$!ζƄ9U`] +E`/WR(uĊu{|N#)AQt]uV=57jJʼ׹?lR+͋*z_JSm1V]˱Pan7Óz dw_0&v;1%*DoŪ(uDNfTMSM%LM5,45 +wmP|wYy9Ext${u]ϴFdDY~/Q~S]YxBԋ]J=@y/+ښ,,1<@f^Jr p*8ﱂï <#9ſrԇG sLGЇjQOhV@r^[Ls,2sBS)#( +@[CQMw~Y95\|NlN9SIv>xPn bA39Yu,~u.\n [?/o5qx3-I37VW8YOꀉ{@U#E6<&F/Q4|g8({:"!nf*Gۋ3R堇_>\L>[H?mCB ĂbU\ QT߼pr;΋ꓴT[~ۗuљN5rPVS-kU?ٓlrDF[i0F\ɛ bҔrb6f{#4KH8Β@pa"(& g;<@IW +endstream +endobj +531 0 obj << +/Type /Page +/Contents 532 0 R +/Resources 530 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 229 0 R +/Annots [ 524 0 R 525 0 R 526 0 R 527 0 R ] +>> endobj +528 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 541 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +541 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +529 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 543 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +543 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +524 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [47.105 229.798 169.497 242.301] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +525 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [210.217 229.798 294.11 242.301] +/A << /S /GoTo /D (group__bsec__interface_gac79a471c6e20fd8c17577f6f69a9469f) >> +>> endobj +526 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [126.417 136.761 247.853 149.264] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +527 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [241.213 62.194 343.853 74.425] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +533 0 obj << +/D [531 0 R /XYZ -13.423 915.745 null] +>> endobj +13 0 obj << +/D [531 0 R /XYZ 29.788 737.428 null] +>> endobj +534 0 obj << +/D [531 0 R /XYZ 29.788 708.67 null] +>> endobj +537 0 obj << +/D [531 0 R /XYZ 29.788 461.522 null] +>> endobj +17 0 obj << +/D [531 0 R /XYZ 29.788 442.979 null] +>> endobj +538 0 obj << +/D [531 0 R /XYZ 29.788 342.236 null] +>> endobj +540 0 obj << +/D [531 0 R /XYZ 532.587 219.312 null] +>> endobj +21 0 obj << +/D [531 0 R /XYZ 29.788 197.739 null] +>> endobj +530 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F97 535 0 R /F89 536 0 R /F32 539 0 R >> +/XObject << /Fm11 528 0 R /Fm12 529 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +559 0 obj << +/Length 2791 +/Filter /FlateDecode +>> +stream +x[r8}WI +a\әJbO$])J%N(\x?~."˖.?} Ϊ<Λ~P'\8tN>*$~3A'aVVqT3/C,ҁ +>tu+39~@ T?{w!z8 /50rw."??\.ϳyXf2+󢒋?.=yu1p`?:KjIՈQ"|*!꓁^he\Q.xSK8tlru:!_r%#Bz hPiU4=IM3Vjz47탾$yv%.󫼸E8. @Ƨ`B2UXyYtJfɩ#Ɣj/2+oJ07e]e[Ƞ&RPD)3]KY4447\YY_x_m+CTF ڭguo4}U.GD@R5 +Aoi" #q:.Ց5a,QѻdU,ty*:[Q- :ywet[S E҈\G +zjOz1-OŸqj:t#8_8I]}2[ps%DW4(o)akG4fD}tB:ʘ)QíyxNLOUm8b^c'z2~XG01&^? !>`E!_Wn0Tr +"D+b2뤌w!;"1 ~xwBdBoĐQý!6sd3dv'UzU&k>6c(96pmp~$Pp3A2$x q/0JG`l>5_l沺23 } 1B^5;ˀy)_fUF{U,03$8ZMX%%>*A{6"&`) *Y0l;$a(p9ɋAdaWcB\1Y WƮW)VX"}ϘB]jsB1YOm/y#‘2eziGp=ySXa5MBw?7?{cD`N{"v}7z]+z-zzo +Zz#w( NIC;&^ψDo =Dkx=bՏpDPz\} ] X]pG$zڷ`kջDoz=c"q-!t48x^ڛ +`o +{]`o +zF|CDpr$8C>&:{;wMa^׊{7^ ޽3Z-u>?F> +yG~8Q(`'r6XuxS )Zj}~;!B=AP3u\;VKyIssIUnq:glY\cA]sA׭ϮMZ,FBˎ>~# (!ޒo^*3ymE)oDA$G ۢ`n|(".EtԌy,3(n4elvs6y]7 ϥ?lDmQ(rmڬ4^#U8 Ζyo:Jl+6|wٍL ΐwZ7s$lt!jݞ~ ! g$qRM67QقBbi.vٝړ_UЧy:8zdvu_m졃]C`?^~b;L;ĺMZ7zFښU~RGLV}6\Qh`ʧmMs>>ɯavʓ$ڙhNw~ݽQMZ\paFjhmyU(LũQ#Y;3DKo ј27vBrj}^ ܻN+D\lqYBU;,NҸt +/.)1{F(&jeR+<JY\>!#?Յ^FU?V.u^ +Y^2_M:O 0/O߫ins =ƁlbD՗ 0[*fXھ%?_؇BOQ AqYSLQxM"5/;'w4ssҼ)1u T A gk]8';hvZm5|WEw+xؾ/~\íomI(AJ{HEjbGo%d*a&vvU/s\w ͧT +cLt +|&ѩ+IWkQsoXqH82oeeZ2.7y%Mp&l<"ת0-- +Wr3 + *yil`F-L6TA!G38a[+&Y ^{&p͑hO9?X +endstream +endobj +558 0 obj << +/Type /Page +/Contents 559 0 R +/Resources 557 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 566 0 R +/Annots [ 552 0 R 554 0 R ] +>> endobj +555 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 567 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +567 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +556 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 569 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +569 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +552 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [297.649 568.316 416.641 580.852] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +554 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [213.995 393.76 259.035 406.263] +/A << /S /GoTo /D (group__bsec__interface_ga51bcd13812ea62b35749284385a72f98) >> +>> endobj +560 0 obj << +/D [558 0 R /XYZ -13.423 915.745 null] +>> endobj +561 0 obj << +/D [558 0 R /XYZ 29.788 596.638 null] +>> endobj +564 0 obj << +/D [558 0 R /XYZ 562.881 396.823 null] +>> endobj +25 0 obj << +/D [558 0 R /XYZ 29.788 375.876 null] +>> endobj +565 0 obj << +/D [558 0 R /XYZ 29.788 253.285 null] +>> endobj +557 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F89 536 0 R /F44 227 0 R /F33 562 0 R /F30 563 0 R >> +/XObject << /Fm13 555 0 R /Fm14 556 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +609 0 obj << +/Length 3192 +/Filter /FlateDecode +>> +stream +x[Qs8~ϯU;2\Mo$ݺK\,0v?ZHb1x\B-j19+ZZf[ x/ˆ%CYu-.MC0ꂊʖS.ꀩ %.OHN/D ^*t/R'?OPg0qG> ^h`b40bٶXi&OxY`|q& yo`sU٬lGRv}D4w\i{f< +=Wb[Vsa{YŦ6GK􃞣8K׼U +Ph%4G' ^U8y5|R$pl@))'C pѾ'-ä< mgK0[b;Ll .Z>Ί6˼ ,nV/8 z5v{D#ܣ)v#9X=L/ JU9-\M (IW|K +MjO6YzS',Uũ+_,{8EU"Yq,ሺ22V");AxiOn(~ R/ҤmLWR>? N\2U +CsԎK5" J3,u +K!ǡp/D.j3LT1bTؕ.O#{hddSbϵ\ +T`d4i"13wQQݦwf8`w5EOu Bl2CME= +JIe p.N{Emh0UD-WA}X& +yF1Vny v_}e62jj nqQ>@\]ϯ_/N./.Nj~/;T=Uѐ<#` +gրL5ps<^_ #"hocǶ%tuĊZ^u(|p + +68OټcXCW7[3׀dp H\CAuz1w(|b1 X)|KQ?s_}<}{:,>z $lR@b(`!HVClCuu0|V97e{艨Oܱݭ;:"1O 4AMSC,_ߋC$Hwϓq%)MS0*pEMIl񵾃#j7LT3Dq#W 5st *6$ҡmBRB QI3'ݏJ'..ߟo>O'Jav/k6jRД`YS[9iföǶˣhnGA~ F~DWr,"T!B/2Xk.( ޗ_,FWc<[~s[10/1 ;](ڕ}='1;1$I]^~d0~ۏ@w!"9rA(n#.קN3}O{t59;l `*@{rv |M~oΎ!lS>ߢt9 -gէT*xUwuuLMd'M@4A%Iw):~E~/Eoz ApPZwL\mϏLRFw1Ds^ f'6s&V6R~ThdՇG$Fu*JL"%b: Sq'NuW-rD[/,/*u=t*fdj#"߀لyvMY8,aM,Ym0R",tkx+O8\nMΣk{]c!M\(ާalI+yNh]4tu:>ړ 13pSG;r\ 5Otxmz"mn! Ցa<3qt h#n /M"`xߛCHA"UMw]r}nyrgi"FH:!ڔ-z*Eӏ'_~:Q&}3 w~]Up>\jtp.Q$,8LRZluP^4e2O>FP47J ͣ "궇 P8kޮL[ziZ">KWN1ezmq8:dǞN'8vBB:z$J܋ ̌md6NF+Q]W8|l_Nfk=.KA s#(`US3QX \bL8i[T&Vy"7/ZSe/ӝ%(mC#Gѝ[߼/mNU,wy%qa]Vy_,!&<ɣz4We`¿nVi\Ң(,]lȟE\@W87[MKgKq<:vZ dǟu6dT?Y}V >2Q}onE> +endstream +endobj +608 0 obj << +/Type /Page +/Contents 609 0 R +/Resources 607 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 566 0 R +/Annots [ 590 0 R 591 0 R 592 0 R 593 0 R 594 0 R 595 0 R 614 0 R 596 0 R 615 0 R 597 0 R 598 0 R 599 0 R 600 0 R ] +>> endobj +605 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 619 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +619 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +606 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 621 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +621 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +590 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [35.168 431.876 215.371 443.796] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea5f42ad42c6bb71627b5ce91d4c410985) >> +>> endobj +591 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [35.168 415.696 237.789 427.616] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea792b0fbeffceea19513cc0bd31ce7ef7) >> +>> endobj +592 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [35.168 399.516 208.084 411.436] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfeab9d6e7e5bb1c5f99d339a649d588b3cc) >> +>> endobj +593 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [35.168 383.336 178.4 395.256] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea64d14f069c838de2d2c1f3f436ef6108) >> +>> endobj +594 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [35.168 367.156 142.64 379.076] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea2368e219ebbce4e1ede7209486283a6e) >> +>> endobj +595 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [35.168 350.976 258.693 362.896] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea4e05ab48912e70486351f5199910fcb9) >> +>> endobj +614 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [35.168 337.427 177.179 349.346] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea4e05ab48912e70486351f5199910fcb9) >> +>> endobj +596 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [35.168 321.246 258.693 333.166] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea1c0eee38a61b05c5239c871f9cdc85a4) >> +>> endobj +615 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [35.168 307.697 147.473 319.617] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea1c0eee38a61b05c5239c871f9cdc85a4) >> +>> endobj +597 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [35.168 291.517 253.575 303.437] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea9fe6dbe27991e3f9f1a444c40b30af3d) >> +>> endobj +598 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [35.168 275.337 213.549 287.257] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea1aac5358fbe12702647de81cacd6d062) >> +>> endobj +599 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.891 201.605 307.126 215.366] +/A << /S /GoTo /D (structbsec__output__t_ac4e7ef20f713075472bc953efb13957f) >> +>> endobj +600 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [112.486 62.194 222.391 74.698] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +610 0 obj << +/D [608 0 R /XYZ -13.423 915.745 null] +>> endobj +611 0 obj << +/D [608 0 R /XYZ 29.788 651.283 null] +>> endobj +612 0 obj << +/D [608 0 R /XYZ 29.788 550.741 null] +>> endobj +29 0 obj << +/D [608 0 R /XYZ 29.788 535.188 null] +>> endobj +613 0 obj << +/D [608 0 R /XYZ 29.788 464.237 null] +>> endobj +616 0 obj << +/D [608 0 R /XYZ 420.936 204.669 null] +>> endobj +33 0 obj << +/D [608 0 R /XYZ 29.788 178.402 null] +>> endobj +617 0 obj << +/D [608 0 R /XYZ 29.788 139.204 null] +>> endobj +37 0 obj << +/D [608 0 R /XYZ 29.788 139.204 null] +>> endobj +618 0 obj << +/D [608 0 R /XYZ 269.297 65.258 null] +>> endobj +607 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F89 536 0 R /F44 227 0 R /F33 562 0 R /F30 563 0 R >> +/XObject << /Fm15 605 0 R /Fm16 606 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +638 0 obj << +/Length 1949 +/Filter /FlateDecode +>> +stream +xڥXIs6W|D .c˓d&rQ$1p2?i9SAm͇8ug#B8cJrNXH*rw/JfM&tKu9ʜeqX&T䇍4b鯞3cƔN%4˫Z#IRF$5C8&7w$Hi$$N7i|q]k^pfҜ^4 7F + ȃA=ht\/ae0diw9Ї6p #}ݫ]eSۍCY(c= 9M f>"*QHbbyKƼZeպjzh+լ'C%Vx8<#D`)9^sKw7q; ]oǶޠec6+V>W>mȆNN^n`eYew;HCi,;#ܗG-bvQ@>?i˫0$1Mcf4:H"2b.. h؂&LB=$"])cbvΛDp,Opmy+ ?:Q^h#Ouˡ+]f{UOq+A_;!Ə{TDطwYpZ]mS{!]]=Jh*j-r묪lX , TeߩsAOY,ϛp.Hq&8~3ǡ)ruȥ~(" @8 Z^S(NxI4wLmS=U[6>JDpyGei_H潾mrOݫjf*Z^=X{@rZ=KQ4Asn UaE*+QC'9tm:U^ zCت~hk N#<嬍FQh=թGu.3vT/6;t π -,.k"Ҟ]` +Fi`gN3Gf2 uEF;St҅>gWsT' >Ѫv͡m:"_N}u9x+v=}렲ZT[X8xnY$ {٦.284Յ}Uq:t#%+i4ľ x +W=f50˃/Aͺ6Cb[5ku$6#+(M8nӭqݺcwcuv%)}nclV+(Tf5?8? ۺzruŪ%ro(F2|6u?\R:\5sȸjl/r9$uYC_\qn*z1t7wLs*w(` f릩nG,WelIy[*B]Ws9ItPmT(BW|L]E>4xoaJ~ѧ>wJPhnRϞ&l4VquEz>(aۚߌ%f*'>A+i, +BVe՘J6V_xzc#]/ }PsAMapc( ^pO бJ,^Fr;vUBWkުkF.swDOuQvǦ*CMp[B/|J> endobj +634 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 643 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +643 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +635 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 645 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +645 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +633 0 obj << +/Type /XObject +/Subtype /Image +/Width 924 +/Height 679 +/BitsPerComponent 8 +/ColorSpace /DeviceRGB +/SMask 647 0 R +/Length 26176 +/Filter /FlateDecode +>> +stream +xϯ$gy,zHH`b^`^@Bb^|YZ-$ `n1- !߯[ֵm\rQȦ cuoU}Cֱ""##ofƍ|uTʊ_O8yh@Կ~J0L*V荷>z?}㹿g.Dor鋗~K3^=ybn]̀y;xS'on4;w뇷y'1/$g*`ISoG~_c~e[ r~~}_xMG~\`c 흻zEH7>Z6d䀡O =Gy1JVB<<-iiO+O O+O xZ!xZ +{v;_ݻv+>ǟy|=kOO Os|l}6R[w_~#I}WWOފ|nby6ViXON5dځ'>J8iO,O if\%\Ӗ +is=mgzKeSCa+iiWɛtv8Ezg$g;Pd\ jڽx{z1ƊMGebCXI3=б ]m$3@is DKczI@z=ci#oYh<<-O OOdt3Leiy( )s׹ijRd>?g:D#aiT|Q-kŠZRgyڴ( ( e:=,SKzesO[.#v?_-Io 6zsbӦ5w^xxP^qGkA$kOiP~cg#V+WY.~JF>Ҝ͎2,gJ̟B,O'!? +bFf%JL_=O Fi)shJcAB2kh=mt&ӕ [rӖH+Y8+ZΖ5[Qxڼyn>C15@ ~e.4|WoLzX{;ͲQX0wxUZ\.mC:0y!-g{y(O OΥ]ڴ&+ȑr5\!]-c3՜^Ԭ_+ZS_(rHcO 66u'ljeTXX-`FJA2q{{p=q2>Ӟa>ܖ^?R{PڶTޘv`VDBK߃mYm?lƒ?md[f`!vWoں߳&-J2'I1=W(qsVH߇T+dnB9iQd[k(~tѕw/i-٦oicz+)6OaG`El]2_Y G])a? sI%Yl䒱E[¡e?+?S4J![hC|T ^͋d/9;YJvqXarƣkh x9zĤ&gc"izPoGK/>'WZa}isUCߑ8Myڹi v;sфKh@NSoƹi[\VTs$鯪6QcfMewmzӊEvNTvVO(1Ń!ShbʕMG'i"cJJ|Oy-lIf ::vG9o2g5Rf:@O+D?685"&iXc&ihOЎI9!zhȃjq ak`Z쌮 @97Ѕ|iO${(lf0 R+wۧm+7yZ!z&lq< *}xZR; XiOBmWn +0FA2yƭsi8Ol\ӺЖK^u,G<ۼciW[Ю<=[iO&vongl- iqО^0O{޽tȣ iWN4 7 Ѭ + ZC#Ji?1#;髞KőL:v.]ҶPYE{yĴ#p;/O{=;!bk]uIfOГ/Ә>1Bb_/(<{! .:6#C~cOo{#2FemMLM_T4ڣgk/(BqnȃF.RĨKܽ7^C\<t#=Vdh\opڨOoO{ytYJM_K_U?)l% Bd7&XYW39ue†][;f;El =/-stodpSh!*&011fas_`m%ϥkCă|:0aέpKt 9^c0aZs8_ںvXZh0E gh5A1>عknj9iokZ Cs0\Z@C΅Ӧ -,hkWu>v`k%ƠZ`JNQԅ LA4ӕ)Y20fG=g8ȣHߺOǟy[uق, A$ɛwW? \1wͭߧo) Yb@|,c(ʙ}nͿ~x*$.de!26ݻO>J1WOLQeA3|Wg\b~xA LsCO' ,YƦfQr@943Ox,YƦ)g|Ǿ.:1]dYzb-1nz,YƆ(gӊI +.9e!26!_B~bY,c7-&荷'ȲC2dX4dYɋIŴcxx, A1'\GoܼmHȲd<}=ȲdO3ԈM2Y,c'\Ybxb,fYreLJ!,/%׬ Gw]Ybxb,/_p ecİ BeO!'@ BO, O!'ȲdS e!2 BeO!'2Yd BOe!2 BeO!'@ BOe!20Rϴ3/ݸ W^K$hiYF$zxѫ'o=̫n:nI ~>QO,c3fKMt񡴟 O+YFgiC{ne/Sċ/MӶ!x.'|b5dY [w|o<-xZ#],VzqڭϴJ8+I W +DX^O}Kż9\B*K,5\G]Y'v27{ţ>Id>Ey#HFt:y!S# B3Q۴{(P.֖-eIZUz,^+o_oX7Vca)Wi;wE?5 ,O PJVWg=ubg&o˧Fg$\e2#FQvxZevO'iV8,)X ?ɮ}?+kfcCsM%L)/D/Z*Uq֪<1VlR+aiO21?rug]>5dlU-s+yЧr5XguM(/\M[L ~bgRJCz8-mJ^9DMv̞6NŢYE\3;Т̟i3-b< 1.UOL^%mRLiʤu2=m-%޸Nݍ.SX||<-xZVJd{;+'C g]U6T&*o,O>eyCՊoTqĬ 繦:N9g]4;e>qNg<-xZV@Ϟ6<^i*M{FkXV +4Zj^XƸ|- 2qT7= t2l'@O +2?ZiGO[ӖE=mc\ٱ6wYӆ$j.AŭݧlVi"IS5*gL|;,z"pYΏ+*w{mp+2\O+Ns7w^m)'[O[<*'-ieƈ.jzzw G3hA}4}ӊFWfAzrzиک<'6Agۘ^,i=-XgΪ +h4ou#XZB}<]\O;˟&[Fh%n̞>ڬ)2ˣ3UJdJXʜΙ@:NaY~diDodO^_ìl?x=XfDe޽?'}[uO[|s'" +y\M !{J PYPuXU)l,>h}h<-;xe~2oޚKM/9{mU`pbl{~#g؇n*y Qh\egWxYg%ӻ{;w[pG t5d\W>ifyE<duCRLf2^Wـujq>tq}/%7 ݃mOK<ưs,cDyږO%/v.QB3CGO[ZxKFXm??<-O #N 1Y0=mֳWî4N>P2Hv߇E=m@Yѥvci??޽-}s0 +ڧoпUe2i}´D߃/}!_>-_ڰ(x c}Ws]_-+isEMdZJwq{h߃YiEiA9yJ$_-i+|F1dO؟[iZ:7>u}1:]U7ȼL-z^s.ڟ1%9YiO PXjEYJ.х܇./Rc}"r"YPY~z#nsUE≍)k<%#.,#l_bUͺ'j)$?x05$dBl(NEò80c ([flNj/?% ѐeL,! rG1#[RU c!Ynаg6>)gQ V+f!O[yB}i 惊Yn +=i{_oPJoCn\mxZBt,&! 'riZ&4?(IU6No,˙ +J Ǫ=H*66 !1: 6MeNZ__%Q_+XUPV*YYN~@j +}8m}F3 ܽA]i˶0O^U=mcaCe^:-۪2 +8(̔9ؽمfl<9ˮ2-Ne}l=U58ut{ RjC+MgśyXe=}*cCѐ'gjtOk+l Ӷm4>_!xZ\ideBA%nzgP9O!i4bT;Y—xb3e>aݻv+9c.jl}磊#N]Zˤ*]2O ⹁vyZM +xJ/(<O-+1xy˖*QZٓؽ鮔"G.q4OyZX,ϝа2!`o|Wg;w7mQ0soM2`ey*5j}.}j:ϴ@,Bsc؍I}*L5[Ԑs8q^|@qyP vԞv%viu KXËY͆l*ִ e\| i'r 3OIsi{)fP CiL>8!cUl%>V:Q鴢,?2CeZ<PC#iӮj]fԍw!(fYʛB]c8ws\O;w.yZ`sR Belx.9`qgJ7wzCʃ.N8]11;Ν0.xZ!2&)KN;X:l;`.tbc\x'TZIʦwǰp<y2ge=Hx<d" M;X:N/4Zi(~WSmJxenPRWiYx*&O+YTsiWܩXMڢcf-> +,b˞ݧnsi3TO+YƄsiK TVL1\==<- +AA<*]r|ED˾֖-kgǰ]b.|m<d&v0Wopr1+?vքg=2B]y;gesX=- +A1a\ɴMs߃}3. UxcxVCi.*c9`ܞW,c⹒i+Gי;`4\Y s[9~֟/<-x~ϻ#vi1Y7s͊LJ!Xx?ﻲoixb,f~,cГ/s?L7vXL+e*o}fMs@|D8˼m;R}1?]sNĈl| + +8/y@+ΌM o8@?Z5=-UĀ^ڤ'9z}x4 NW_s Fήv^ںo`ckbH1-` 'X (I \OkP >q'O }𺉇)\ez[iw=VIxZz=ߤDD`ׯDX{vS{L=VKC iyZ [Mc{i5iF +'O O iyZz+exZO O xZh9 ՟iyZO<-<-iyZOۣ9#GN8=<-0VOsx <-O{;iv~ xxGOk=7F 0\vyZ`{A.&`V=0Z.$vxZ`I{9 `>!i&Ջ=j15x+>,if1byZ`pVx9@[[p` ,%y 0i+zN8`\F@i/& Qg#'0ĻakMxJ0<O ݐMcTiex{#LiTޱqN#/kl@ `UO $}tx  WLl]k|rig;/M$b4eXϵ| `s<-0.9<-``x^ Lq|4D;/`غrq%krl$6ҜX3 `0w>4@ X<|EkDxH#/`JR> ikmw@`ݞ> .p:뷵=C ݏB;=m]+( >=y>yi}½|@?U53'r]:9Iw]hB597㣁~~^k?#p\7@()Fu(+C/Vm<=Z p>l\1Q$@g^p·~K׷\q=u1`܀z01@z 8ODJji{]΃t?]q5{8+}WOu9FŴ6>]js1-O ~]tosNi!tuASe b*1{gZy`~jr臾;9_x;*Γ7G"w/p΁{ݿ^}__?&2YY\ YN] YZd3Ks~~'_/|?}F֥^7~o**?L%Y*ϳl_⏯o+W 07?ӝA @VΓ7|'_ ?gol޽{Wfӓbe12Y,a4?nۮJ1/<}{A XL_;w}W\bKw3E ,Yf*ɛw>=u|⻿:z-ie!26VE9dSZdY T5lKL)zEC0^Y.YSeCư[?ng^Y,c▓7N+&96*'Ȳ2֗ O~Bl@ ؄lGń~\r BeL;` |kD ,YӤbl{,Yƴ77oc7Y,cw[?\ BeL8!Г/?$ BeLX<]Ybo?O<1Y2 7W؜.| _ d8x~W؄ ,L+6GJkJO, AA< Y,x +A<,2@< BeO!'@ BO, AA< dYex +AI:X %s"iI~|ZyVTqz?u޵[} i#%zKRlIrxڤ獫M/O,&iOtP )yڹw +H>vx{Yx8XO$Yv?x%J?<0 e동<-O $_ˏ?jؘKeV}fYs""dGOJ̏+$v83?k,-k?Ϝ@iq43jwWr/#iiIY]B^/zTVy1֓w/mG]/<*xZ`yp}ed,e{gcUYpո +IJ^UcFw.\O]i뵩wƏ/j*q& ge'xڡE\Id"&U"7v݋, +OK1RO[1QOx1W򻲶$IOPg^g<؊LkN2ıJжx^ZuL/-F6Ңi>gyO$;z$񖴪zFr=xEK]Nf5FedyzBK?UM!x%n+J7&i++ݘS]tCeFO[|uOʬrO;wh2edaV߃Yo~SuV M%G=mXyZzJjͲ4y";s{Ϩpwzc r,6]\~=l?*cˣFO/C.ʭm: f6ӖR+_J׋Ky,i+dc=8sk:A-SϿ+FDҕҒig]lpӖ_Jf&BOPy?OK.iyiXE}wV5BOβ]!?O/Fau{R J#E@'Yr.ժ{vM">y<-xY*t6c@{,6zJ*VRӘq es5O[Ais؎Uz]&_~{}Xk#9kUai L|6j\+`}6Es镲N,Vw y<1Pu͍x,=[[oRhP},]n +yIZ;#w5nCӖ,x +AEhx8Ir& if*풞6SOiaKV6ڬ<-N#zPڞo<-'OӖ_ l<-<-YOWwYLVRztd~|Zw9x]&^qz&U\;IS{'︕<ȋ4Z}|d3>UzإY.z<-pYIWw)qIfH֟Wwg]c.v}hH6_z+L,_},P)̒Xҽ*Z/-4+YJ~EiԢg8yY)tizڊ֥:)3R\}i=ok:f);o1=m}pg{[C=ueqEjүb&-Y_˧Tg %_]i]"VNrab2{>yI'biJn6-SI3G iJ^f֓xcH6>G"^L\泈5T*V5;}yO"]w{^l'J$#0- 02i-LGꑪMS>Y\}^O;Ϊok:T26?K6Y.xxڹCr2xF騗'OOzd.yI撼h{ ve?_<-0"OQiP/lч!xڅy6{SP" ӛi1Or8\V5>=mEjYvg8*gL<-0^O7J vGWׇXVEok:.Gt/+icVovg4.A {Zެeac ƾ|mlXqH!od]8v|qrר-GZ>:1bQC2d Y&{Zя[QFxZ, AAQ^HY G\Yb̕x, A1TGuqM`-ȲdOחp<䋲 BeL^<sKLL5~'ȲdrBL  Ȳd&$XzGe!$oe5'>{͵&&=Y,cs3\nb2_$,߽{, Qם>_oY,c荷觘ro[ BelӮH m\V Y,cǟyYWp}@9A @2v[KܶlbzCȲ,E1[?$_vy_?d31dY Khb7˟'{#t办}_x&}70}ӷ+o~Me,20,U e`_TrJ eef‡`D MBw(Mdk>[ g ֕+>1[ sXya`S 0ZC l>Ack`>^?;ihhƅ@0"9'IwF=8y`xϸ0hbvڕp~ i-C >6D[+ %1F0ݽڍhFQ j: K0x[ۉGvSKTsf#g l {Әnbex|3O|ÿ [\?/ϼz䭊n\f ap[;DII19[[fN޼_^7~rδa{: mۼr|M_՝=Pa&iݒ̜6 d =[/|%1WMZ4u~g:}ʕQx_}a⑟.!Zv/_Jl(0{5w{Y#1.=mq0_ZXITZ[ ƦDC+&y`E9Ÿ㲹`!gEW!1"k}`ʭ NhdE^bo<7@O{a b[z8Dym6#y{P#^o[P,}bӎ=@Rï7`h=ClgBxZM-wtlCO'x1wuv -KC8tviLJ9GO;zUM7vƹxڏiOvxawlb=|+SmkN֞>3 +bc=wYU@ X> >v<@OI[YhpV{:O=_3n>o?__=y+mͷ樂g.ޝ7%#x֝_:Wwi|tfY+4 7BNi'o`?jZ-fi@VV;D2q:xKr󴫘Zz a)y@Vi޺xd+堽yY-^;LO;6 cT$l76rӺG8dkKiN1Vix_V}qi}8̹Hnn߃㿒] زpeBVczXCe6N+;<ӆ TmFK=-O݃#R XOObLt{6O|r @=K\'6Zn.2qtevE;7xsz%>̫dAiejYf\=y~e@0Αv͞6Y=(*f|i#!-imOtRm Q{u$V~BO>SN##V)0Ȟ6j €hSi.:d%&$%Y {ZӮ_Mf2mӦH2ƒ3>TƈEn. C%v}6~$5lyˮ2Wi6eCi{UGL;+<-S%F\=yӎ[ƈ0T'+GL5>i91x/+<`ٓ7|1xy<-RB7*<`s<;w?mHL)> 'o1: $?=Vu>1Bb_/6O ~cOo{ -ik>S$FmhXKj!Qܹ{ g// AA\[?鑟t b+|']weh@&x៾o<;G~1}9c0Z0&~sמzs?C0TW??U?f +]minp]Zeqq&6]V+ +endstream +endobj +647 0 obj << +/Type /XObject +/Subtype /Image +/Width 924 +/Height 679 +/BitsPerComponent 8 +/ColorSpace /DeviceGray +/Length 7998 +/Filter /FlateDecode +>> +stream +x-PY#"@ b@D "D +@D @ D@ *bR*f۟, yu +y;}twA/]g5Ӿ0nJ~vn7O?Ngnn&n nn&n nn& nn& nn&=}q@7{SK1OٟNfLzkvT79o>nsdіiJ7]ygѳgnIs^7;]wϵ ,xݹho.Yp4ΟG,ve"ϫ,WhLjZX}쎚KTlt.!8oa,ts zyְn}tOО|ҿvv[܍sb[8NlyC[^ω-f[Sytb[~q3nߊų;h̳K,ҡ+YvIE7:y̓C[MN^Y MN^ _Ck-Ϟ]w tu|l[gɫ7vuso,!uΉL<^ZZWYAnޟUYqӏTMݬvEUC7+6'_PtĕbiK7И(·O&"nN˺g7G___L-Ft;/LG6vY|. ?YA;۳&$3.>n6PgՔe&w]?yON7FݗNu6lb2Zn>Ƶ IS3u%g|FԊ'S);#'tn6Keކ陰V9u͇tWOțn>Fc_1I4|Z<ͮl4K\z3Ienpӓǯ?Kl4n`CE?r7_ w<5VѼ}l4op/%{'_ Oݟ8 fʎݵ;)OT7tl4 r3jw3 f>2 9htnv*`{鹔 _>hk~]TRjqp;LgV&, ۅO_/qu0nF0rbUsUty|kbФ{o8O~vs3<+,g:png֥VC|57ە2e+7V>ՎrRw]^d|5\pi/g7 UٟZS4~rRDɃiG/y(嬛"|O49S$;L^?hb5qgFnӫf{`2͝"wF'O~wZ5;%Wf)WT\Sjys/+BVr#V& \{BY'imglD g75 ~Mcy#{MZ'ns'7o {eJ$ΊAK'YȻ3cbw_'+yo}:g<,Nh*eJ6WϮkp{uBvf*%N}p#6{:ާLl&&tD:_Oa ?ttӪpSZFJn?-%tn̗#?tnԋx)~gv$Zl'KAnw;IYpv,n +7fY_MFm+vMF*Ml,KWWՄ=Fm;ܬ;L8w(pO,͋ý?k׽ _&'\O|M Wp+>'\O7p'>tSp+>'\O|M Wp+>'\O7p'>tSp+>'\O|M Wp+>'\O7p'>tSp+>'\O7p'>tSp+>'\O|M Wp+>'\O7p'>tSp+>'\O|M Wp+>'\O7p'>tSp+>'\O|M Wp+>'\O7p'>tSp+>'\O7p'>&u{݌Y]ս {| wRn%Ym'^ݻpǷp|up6p|wSqI6fݻ)\.7+$B)ܸ$yOiDI^}k$AQM0hnܦ;ɥיm$Bq[ +1[i$CqHum)3J#)$5l#1L?A*룍7_ށp>Hp#7{WT 7׍v1N6[Sx2bgƉL~z"X JS7Nh4d*`!8w)`>sDh&UYLSMTe}NBs8"dGĩa +yKD/ 8rWD5L] &*O)ȕ]VTh.;*mei!C9g4d1*AkCƉP!_ jX +R!A')wKATjcbh>X +Rj1n)jm2N/h) Z6L/b){GxoEWxkx&rZ_4N/zq"@L̄|0K ?vyM/iܦYJp_ ,9{+[8'{iD.v z=7L]M|0уK%7ua"a"(=cHD3L] +=r뼺_z`SbB1L8M8!{o8߬KFO|c0uDȦ+&sO'e%`0-i;=ѲQұmAD9o%mAĠM{%]Dol{0JϾQzހz$dӞQ`e"-e2e =sf0ꦍUi[K)Ilv_4LZ՝7gT s/c(jng&Geaz͖aB7_݆n#YJލQD#n&tS7M~a7=GD7uMD7utS7d&ٗD7uMD7utS7[7 Snz6ꦽ2LNzeZ7{ED! Z7Lɫ=au/G>f6\/ǀ2Lx6[vew0Qn޳Hn& (Qgyxyn\ti Q7?me@7&r{0 S Dnc30u=c-d[7ԅƢm-%ma"iyXa"~KZvAOZ*i֦=z4`f.mڣ'Bvxq7M{BvڲzU6`1D. SWp0\4L]l>BZe_ 9l=BނAu|7]&rQZțD!yꍻYk'T.7.کܚg(*& + U;_87Q̓w̪wvGi} eH&C8$)OԽazсZ*azѺqb߽![8%\JL\'R-G>'}L[opzDp[YÀ<6L y~0t3JfԺa +l8(y`PR 5b ܍0N"2!8MB>( +]n@!pfSƉ.7SfƉ.7=*h6'S]A/7= nϲ7x]AVB ^rs8t+^nkǗ!qy:]pc5sNŸnZYlp#6z8 +7f,?{aF|W%d=j +7f_TMFÚ=&_BGNF}9I-,[HZ 7Evze?;C;R[]1"24.Rxpc6* Fm')ܨ$_n̦tԽZ8uEws7pkJo W ='__{zpVbPn7?L|%\Op'> +W|)\On +W7'\O|Mp'> +W|)\Op'> +W|)\On +W7'\O|Mp'> +W|)\Op'> +W|)\On +W7'\O|Mp'> +W|)\On +W7'\O|Mp'> +W|)\Op'> +W|)\On +W7'\O|Mp'> +W|)\Op'> +W|)\On +W7'\O|Mp'> +W|)\Op'> +W|)\On +W7'\O|Mp'> +W|)\On +W7'\ᾚۄԽӻ{76,gʙ2Pib1QӠŦ{ٖA{vv9h3K:~AnGZ ďV4>:Kν};ecۇguv}v:Qu\ùwfLXSe7cU6l7ەVc2S<^dwӕR'zȓ)|YO yFoh`}5A?`f]=reO7Zd&wF5Tvi7/iwK>s%oP+sj`ZHR 󥮢&DH5l ݎ0v[`> dɹ)ZI]ESp!]4T3mEyVf䧀eL5H9o +Ki~,b'oTb|Xd˟jR׼[v3+b3դD9Os@^ͻsWIr]%+_k +Ϫrv|v3νb糪ٻ9/l^Ϫr>1)CtyYTΧ +Yݼj*s3/v3 `J[wE63jKW\y$/ ν,ͩcy$  OY7;D ^M=ݜ8/U3Xtپvd <,~ԬXmfn8hfk&kj>tzq͊eS5=Ew!t=t*3`hE>LQ|NgR'oo{gsP7fvdзul.+N}f`ܜ<_PU{%?uMnrٔ%n9'%N{΄oc~0=(gGMGi+;#wsxSlW+p|PoS&KOχy_O8iEjLEy3gfBGވY^8Ŷ8/+;s>K򚺾Uu1w0, 9tκ&x'oqtġ0S&}xb8tvO&eM^#@s^*uc,ӧ +׀ޙR8-z>t8G{C&Nlf$‰m]yv/[zVɎj{?C6u+x=W*=^wvVBX r3m-[ +74W<۵әי^S\tۯ +fI_?S6sޔoNZ}eb.,{ vTn<:Mr3O-RMMtS7A7uMMMtS7A7uMMMMD7utS7MMMD7utS7k݄QnO?;LgҧmVgv%}Mռ"\p=fRs'iV)-n2nHb5ɝ7r^5ۣr'ӝԪٙ:QXSjc"s"asKDc)ڎ&Q]s& õ&$r +-:x¹-Di~O-بGύ>6vsvRL?: +endstream +endobj +601 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [526.874 692.345 567.119 704.849] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +640 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 678.796 136.095 691.3] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +602 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 651.698 136.862 664.201] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +603 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [438.144 651.698 546.214 664.201] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +604 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [85.756 638.149 197.82 650.652] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +639 0 obj << +/D [637 0 R /XYZ -13.423 915.745 null] +>> endobj +41 0 obj << +/D [637 0 R /XYZ 29.788 737.428 null] +>> endobj +641 0 obj << +/D [637 0 R /XYZ 297.956 214.985 null] +>> endobj +642 0 obj << +/D [637 0 R /XYZ 524.558 63.19 null] +>> endobj +636 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F33 562 0 R /F30 563 0 R >> +/XObject << /Fm17 634 0 R /Fm18 635 0 R /Im5 633 0 R >> +/ProcSet [ /PDF /Text /ImageC /ImageI ] +>> endobj +653 0 obj << +/Length 1845 +/Filter /FlateDecode +>> +stream +xXYo8~ϯT OlȢb!K,:!YIX %rf8.QnZ#Q A28EPHT+:{D|Rbl@s~^i6?1EvfR%h<<Ĕ((ili^U}84ΌwkßeuUi'fQc)̧,"8vQ1?%!޻;Ӥu9_IL'5O KP 1Zl7vTbU߸Vvv5vEx.-&QNZSݨN>5FiAre~}wwg'W6^ŦK "Nߍ t +1ADI.Lh0 `Ҳ^Wn\)!2WZ)WW+Zfam,oN5mPȽmj 8Ƃ{Ec Wu;zqj44q=pphL+l8^zZ˵]R *m]Ҥ{;s0oq1ZwTnTs[l,Tn X̜vy 9w Â-6n3盪hzaMRݚ0;xfy+$'k# +@tpEf鯊7YF8`sc +8ӵgAO'vh K]yj|Y'r̡'u氋מ)Y'yk7(rv"2~~51$+̛(!L8~&=&1R*Ǥ s{դz.%_vI0O\ #) d0T9RR@֗l@HpH 0wJ T=\$Fp$8e{ R^buQ#.8aћ@KFAZb8`%y~~b+դuJD[NdLxX }JAS+a(N! *%I^6*ۦPጳ.%9aLq:Jci'O8=#=W@D`_WYhP"oT}j̩]ttʶ/#T%`,MQuDSVw+Uv[ӨnTo>YP,Υ|7/B"O0cX[ly +NWbapN6C *z}a8k yZ3+W1sB|ߢSr^w] VI*Ea|yvYZ^.t#T:3-פ[Ѻ孚0 vE&yZ*a*Qh|ٍx&6 lsbڱ嬳S7Mχ|kۿg:@ ݩuu~p/T@}r<%ǿUY +endstream +endobj +652 0 obj << +/Type /Page +/Contents 653 0 R +/Resources 651 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 566 0 R +>> endobj +649 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 657 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +657 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +650 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 659 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +659 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +654 0 obj << +/D [652 0 R /XYZ -13.423 915.745 null] +>> endobj +45 0 obj << +/D [652 0 R /XYZ 29.788 737.428 null] +>> endobj +655 0 obj << +/D [652 0 R /XYZ 305.067 642.616 null] +>> endobj +49 0 obj << +/D [652 0 R /XYZ 29.788 622.006 null] +>> endobj +656 0 obj << +/D [652 0 R /XYZ 29.788 551.055 null] +>> endobj +651 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F33 562 0 R /F30 563 0 R >> +/XObject << /Fm19 649 0 R /Fm20 650 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +670 0 obj << +/Length 3005 +/Filter /FlateDecode +>> +stream +xZYoܶ~$#R{I] mIq5Z&Z<1yylgq wH?z[ĵk>gq X¹E~`Һ>ywg3؅j@0H֫3GA[Y"_w"ƽЊb.^U[/os\+<ƓМ _`5{,ȺD¢89ʭ/MNevo'W3hEqBHk0|uS+5ҺS<zBڭu< d"+&._ u/mM"U pY@Qp2?#m \wFe/=_j_.DA.Ŗ܈Ǹ)ܖ^C+v"/ȷqIٷu&o&>-Ht۴e}EuaZ9nyHKul،E=ҺM+~W[vx~TrXϙ2F2 +D;hR=~6vwF]ٝ]5MÛ99cwz3{l%pܚzZORF#dpnx 4nItHslW2#ϢΛu@L% ܋|pptp F8~G ~V~,Uh@, cdUv=P{h( {nH[UK45{w)zez2|Sm`JߔV )9y'IϺ!Ɔ!ͷ74f3qz+@H"QDK`7ڳ)U'ޡ\<$ÛLvji ,/uZv8PC\ҖShCGq#ʹcr8bžY!Ε?qR̚t@c&d7ط29X6J=hz긞Lf\4I8L"5E&‹,46&1|kbCp߃1$>ЄPԍIA#7oD}[r ,<zy_c74eJfܷ9@ +1+c@+Yڠ,0)d蛶HlhvVy*zOO4eЀ$)?B244 :d?Ijdy{l\`R,GDyXdrT.MI?PM LJ%B{HcJH_V5LlO@)!}I0ay݀FN-#CvbmS4l-hcb}"23as׽c;^}]DaHfB-#ō8- +BE{E{P:)Y(t 2360xDg3Z ~"! Njpًg146΢uee㖗xe'Lo/:3'r+c~U>`~}* +7tOr EaT)09jAJ@"c^\:h-:k.S UkBGĕ0N`ic)X<:1c~ SCKJ yCJ /:@:UYVoP'* kċ?I~E< K<*/y|J&(C~bYάO(v $5P1J펄5QtT@e>Wz(@ՠz'IR}5¹&؆5F9m,ۺGPw3~nRnykSxVFKP5y=fnFRзzL&A<Э xLu7Dc;K7{cy`aL!oWMl`!`V31ѷT/F5R7Mz4;Cc7MM[a$W0Uꅎ^c2~xj= -J|=0= +Gs@B6m !Cb35 tBSi8 O{X/[]fZ~f/jSwr-ս +@x)FV_Nڙh`#1rUSRSeO_zYK}^Aat%. *Ξ6H +!is qHжdQQl:tӑDc :wϸ0F?y2_d@]T^|4GyZN,KTy= Bx 7k}_yp7lTv*کoKkumx3@􅊵jpǗM6ୌ!ϧN$TRj&(gl[;JS*NoQ|߳D|_b_QzR@) kzABM> endobj +666 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 678 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +678 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +667 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 680 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +680 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +661 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [160.043 485.257 200.094 497.76] +/Subtype/Link/A<> +>> endobj +662 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [510.593 471.708 533.919 484.211] +/Subtype/Link/A<> +>> endobj +663 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [76.072 444.609 109.253 457.113] +/Subtype/Link/A<> +>> endobj +664 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [111.704 389.978 207.551 402.481] +/Subtype/Link/A<> +>> endobj +665 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 1] +/Rect [79.903 357.522 235.74 370.026] +/Subtype/Link/A<> +>> endobj +671 0 obj << +/D [669 0 R /XYZ -13.423 915.745 null] +>> endobj +53 0 obj << +/D [669 0 R /XYZ 29.788 737.428 null] +>> endobj +672 0 obj << +/D [669 0 R /XYZ 29.788 648.325 null] +>> endobj +673 0 obj << +/D [669 0 R /XYZ 245.013 606.185 null] +>> endobj +57 0 obj << +/D [669 0 R /XYZ 29.788 582.541 null] +>> endobj +675 0 obj << +/D [669 0 R /XYZ 29.788 411.866 null] +>> endobj +676 0 obj << +/D [669 0 R /XYZ 29.788 377.425 null] +>> endobj +677 0 obj << +/D [669 0 R /XYZ 467.558 284.213 null] +>> endobj +61 0 obj << +/D [669 0 R /XYZ 29.788 260.57 null] +>> endobj +668 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F120 674 0 R /F89 536 0 R >> +/XObject << /Fm21 666 0 R /Fm22 667 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +687 0 obj << +/Length 3559 +/Filter /FlateDecode +>> +stream +xڭr6}rʢ [̑fyؚI( +# +kvIKsll{ᬛv<x +Qr!Xn$SkgG`W4c4廡JXWvZA4ؕpbB+9abDB'_)yU^s pE[[Md9+O((!nUm.~ntTu_nv@h/7)x:w<unT/T cW!<%;9(B 7_ߕ^iW%6 U=z)ĉ";s!+p%XFGiz#|0H Gq7 +QKo.;%-v[U8!łIHLC m\7(:KUr)Zrާ6]l5u< Ǯ*vV/ ˴~%6ۀҤFiȖY{`FqY#f,bC}yj)=VvkY ӭ >&>!wE`Pb&g7ENdz6d֐dznwIn?yA&)wWg=.$p#g,z!D`e&Ĝ pvWn;쀱},1?`AҖM̪M9MG+@P +Ȏ^uevH)/ζgBoRcYL &J##7-@j Q?j "t#RR%޽c5\cJ?~ଫs>:C{W<{i=AY[cvrݶ <@t4F O@Z\y|cӲ9y㊼Z ~>Z@g3ABkB]uk>X5~_Z91ӖY\ɑN~tv7 c*5T*ֺiJ଼wO Laq.r\lYDž=T'*fo&i"4 lzW5SlS;8QAuaOm4>2 "Vr|yv#ˡ<t9wyF!$ 1'M|Wj 1L=Qb=UWa)D. ܽIv5t@]vVp)hsx )qgX]g&lº@쭨BtCpT3݇˶ .EwUaSZ_(FK8.}|6!*9Ґ6~ocg6lD "WSy ++t :ipMr}cgmf)}#)lHJ'h o*ȸxFPMp՛+46]/ ;`3REPLKii +-6mF%a}<#÷g}D leG٧h*(#Ý=| +xв!1Hٍ|Vh#ʁCC)wyMG%11߃5 +r~_r{lP袪GMDG3f I6 q,g󂂈K{> + c=*${!&(D31,(iUh8 +p۳hË9Qu-ld6VJ ks9fɏDlנrHf]@C,- TR,ګ Rq,~#zLEzϕ#g/"$O p{'6 =^H H#O+򬆚ecKgϪyDmڴt'cuY|uq2=!Fbas1T?fFc4vsdr55|0]PIчыo$6g$> \0FL}yVx; +ѢOڞH@ h5I̥s( !u,t׺ `FڥMc'H}Mof!]6`.]IX1zmpiJWI4%ݥMhګ?(87KB{fȣ& +ٵyaKj4ϰ+G*h/nn3b[Ao3h(5w.[jXc,F/p,6h6o[K"s_md޽h|2l=Wb -Ts(|%tP\$3~s#ߗk{(b;ͨ̚^ J9cogLMݰ1|1w6i[Za5vU$8]?./ \6jN%saϋtL^K#dذ#1F\5k"5PSt*<2z_6Gc%{O7P& +8\ ?a;0nro4cA̜I|<`p;?6p~=OA<ǍJPw|+&x$ Y9+k95bWh Lagztl/!%1_ 0x[Gn*gomϩ:_oچ.HUuZM̛]դK:_v*ΠZVee=(ikSu8iwZ!Ff}eIYَnl'ڢ/;$0P|.Aq~ |iXqn\ +endstream +endobj +686 0 obj << +/Type /Page +/Contents 687 0 R +/Resources 685 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 566 0 R +/Annots [ 682 0 R ] +>> endobj +683 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 691 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +691 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +684 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 693 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +693 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +682 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [129.215 442.815 210.71 451.526] +/A << /S /GoTo /D (group__bsec__interface_ga157748484a31501acfeee3df656adf54) >> +>> endobj +688 0 obj << +/D [686 0 R /XYZ -13.423 915.745 null] +>> endobj +689 0 obj << +/D [686 0 R /XYZ 124.457 641.626 null] +>> endobj +65 0 obj << +/D [686 0 R /XYZ 29.788 611.515 null] +>> endobj +690 0 obj << +/D [686 0 R /XYZ 247.26 63.19 null] +>> endobj +685 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F89 536 0 R /F120 674 0 R /F44 227 0 R >> +/XObject << /Fm23 683 0 R /Fm24 684 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +701 0 obj << +/Length 2792 +/Filter /FlateDecode +>> +stream +xZYsF~@y_ Gfk*Ŗ-R $F" lo<9zgR~B[XEFǾSjE!JX7O->*d|~t s/tXaD]2$j|eC\Nv©< nEV+ SSY' #JuY5bu'((v }D&Y;tˁ}ʭ!׮ǨZ/d~-UZ@e!quBpY4J,6K{M4m3q=ge#r%S18>!"K"-9*]YstĢJ@zצF ֔ʊڑgd]R4j)UzIkėdsBC:fk֬*mB|yq:9#s5NUY܉Q _ZѬTuL^ViQՂ":{E2e-VlZJ8loN#71CGs\F'jN9H!UWj!#G3|{do'GqLyrTM[G^$b 4Ӹ+TS>dӒ0y3YSn;d gNX0, +QZFڬ!&$/ًCOs\-9TQ&gze[N-'^&( +V}lЭrns Tg%y+Q#Ekv>>naZ޻֓-*%^-e3)Bv՜i˝-wQRQ#l.3 +. Dys3ਇZty)@CBD%1Y%7oX?Xv{T,*k.{\ n),[ Mv+GA##=!΀Kv3w[Q!1wADxt[w7_CРl1좾D 817OߩmbdO*vigeǧUUVd퐙S#?RdơMI=~q3-דG/ž[?Ĕ7 E]7YQWW@ĕ4ix#ɭuzЀVYl#U#s'i/M2_- bV`zUɸIQ?U9V(f&+B'R ݊fdwq]mm#ɽ '2bo2H4!|J1 zctJ1f<FR??pbi9!"dz߬[&Hv\$*ƒ]Ɋ{>QZ,_;7F'R[gKDE^gpȦRdr>Et`wgzLZ)sH.1+VyJdzUYMg̛78LI$P[GL +<+s˫oVW5xZJA +`%kQS]1}{Ⓤvs,Hev}W)4fZEjYTmU%c.nUm^#j*(jy4*OVi,ښr1{h#hLRrp&w F;|pNb[ltq2l-{5ui5X7;NT#Ѻ nU*fӘmo٤G5f?:%0Gko>|i9MlTogeE*rd:(? p%O,`?5\1l)N]L%,_&'Sta,w<ף!Gf<vn@Af(-˘vHwWg2L6;],:=tE#F+)lcsI$2@JW۴ڝQKBC}45zDSsp y鄁 +ŏ:x?> endobj +697 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 704 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +704 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +698 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 706 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +706 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +696 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [129.215 505.197 210.71 513.909] +/A << /S /GoTo /D (group__bsec__interface_ga157748484a31501acfeee3df656adf54) >> +>> endobj +702 0 obj << +/D [700 0 R /XYZ -13.423 915.745 null] +>> endobj +69 0 obj << +/D [700 0 R /XYZ 29.788 737.428 null] +>> endobj +699 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F120 674 0 R >> +/XObject << /Fm25 697 0 R /Fm26 698 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +713 0 obj << +/Length 2553 +/Filter /FlateDecode +>> +stream +xڵr6_x(7LbI[yP\S 01!En4!).+Ut|v6 X|X گ0ZA8 cVs'O 鲀;aW{Ze7 +bO3sL{ľ9 (fN8?~[z]?t\+<%?/g<':xDqlE IpY/unVϤ{M48vɀǞ +K4Tz%V4RdԻY~IolS3D||Ʈm'*Y-U$r)'@:pѮnL^E5/s2l'3щp$CANbj^g4zZ' OjܟRw(:kDՖyۂAPf#&23YV^7y'>@jk(W.ub?Wr:mAB\m飫m; "˫ }o(O>vY/JYesL'ǮvϜuBD4 l8 R cwS!_ TX _', բ'D^BӛMx#9jw_Kj+q_áz|BЉ@c]йRDC_駟uM2Z2Ұo H1?Qf^깞z ?EEjlrQRMqȢ!nQd[xRJF> )БifvjVΡSaGRZN; 'CӃ܂á֏Z}g*)Kz1?f_$w;x"uZ\w +L8䕬Ƹ'KfZ-~@QGkw̦(qwy3 + :0RǠԄr1-.Max-ҴoDz^Lh> +*RI=H8s2݈ߤD$܃w#Zki?r#hĥ "/L&R/8ig)@pՐ(Y:ʺ*r;*WfgJdҀ3vC9a3Z|c?}:{{veҸ!$es?Vp!v?DzsF x[[`yhBUk;? hc#-if`R@_ J]~m8/q+'U 0 ^d!_Y[&qH9lxA/^ 1HwSj6-^V!W{)-9NlFs$IݸiHzVJ|Xto{ rdކcO`ͧ=ff觲P+/,^/k Fʋ4w-̷_5f۵^1F4!YVjAb˿vEwBP#!qd}: ŶrPi@y3[u_7fy#jӗ<W_|'u$\c +endstream +endobj +712 0 obj << +/Type /Page +/Contents 713 0 R +/Resources 711 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 703 0 R +/Annots [ 708 0 R ] +>> endobj +709 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 715 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +715 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +710 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 717 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +717 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +708 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [53.898 228.11 143.761 236.821] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +714 0 obj << +/D [712 0 R /XYZ -13.423 915.745 null] +>> endobj +711 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F120 674 0 R >> +/XObject << /Fm27 709 0 R /Fm28 710 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +725 0 obj << +/Length 3394 +/Filter /FlateDecode +>> +stream +xڭis6{~ a xt;4NNҤ:(H"UQH3NxM^nSg<;?<0;"$ԉF@8t~9Sc#Hw]Z{\m$b$6&Ó=<"NS"(/_mX⼬py<sNh : /fN9I(rfK%$c'J4}Q5cQʲVf~zv=En/@ڇ}g?9>ȗ9;Ap ;s;pFE +j=[ulM\ }WrQ]kͪ0G 1O/f[H{0JhYè`m0XuQ^h(Ν$`Cp |"x<"ˆ Ѡw?{{= A}W˴MqBՋ./+*Dz, qۥX+jr\hɪ ;7|ĝ\ݼn޽M$bXv I"EUʙ|N30<|J8,DU1<8;C\t)V`vGE˕jZm 6쓔&פp8+mNmz%[7m׍ݳZEg\Sbc{&GZMg.V M=.xؽ} \Q~uӻӃ6]*e92cЧ2waDYo4v%:č*RxMx&F8qVU9]|2M0XkXb +>cDa9& Tz&~GAMę) bOcs0z`u^I,LW$vK>$6$sOx0^ ~?h_p9e3CZrtQY)(Rbx=30%zY̷}}N  KkfLCN xbfAq#^zzf$t*}1XƐ^~7;RC> Dpz WKx>toZqj0:| 0;=T'&T@D|*aMbXdT!0 Ge'qE= ̊na0Z>ӅB4EgMY.L},;Á+QHƂ ^a9,7x9eo'`>#PN Yb 0o6 XeBQA8NSIp("߄( +"m1!'vJ ?dfe'|˾EAӃ3Y.1K̤t'sFޮV9AʼUzu@$TuwM~y> fm|D ,fI@RߗrqZ*SƦMu^zZU<klKȽ{D%٫Vৱ렮ZN~A|wmGoCfAf/v!^ +zTPǨB}՞*N1*J*8BpEITSL=+*NcE+DLQ$~]`( q]ɦD‚5df8ykEm+:6[p=S,v8bX;\$}γ(tGq;=hBvv4 &_HtYKwavauamwa]3(7vyE.O5r[Kv -Lߦ3oTkXzCz^ivTLhgɠJ1fPG:0Q"׽fl&׃]ZîukT3f' Q MmD.L.񜴕5Ŷ`+:. +؎5-/QU&tn~W&X6WuumjhzsT1]Ƀ6P F"`!Uv1lUژiZrMePSU}+d ҪUD6v oklem6VLΔߖ ŢOnU\PwajefqN +>j2-5\!XwnZ=ۗ-jM xT=bkjrH+$ѕfGY!cCJ~FڧٴO :@ŊeWf:8D)@ oEUqW-$ kh,d(r78G*Ϲ--kàN].i%\@N?œCP%2_^}jv}gcOB .phK3wݮ[9]ta~6[;nA\ hKFW +gx@BJO`\okY3TtghPMWО=Xh=Xd}\Z7fݘl)2Qn:v^K"[2b:2/m"Mbcyۤ\mFЇͿƂ=>|).Q d .*N᥄xx`<|DFOc M'} t\"xÌ>?B̂A(|{/K&gp9=p6$TThvC9fAca<V`[~} +۟||Y-7+9؂ǠPQl|T{LY#B#ر6 gV_ > endobj +721 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 733 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +733 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +722 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 735 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +735 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +720 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [112.478 186.253 198.157 194.964] +/A << /S /GoTo /D (group__bsec__interface_gacf6a5816306dfc1e3c0b26a6d459fc71) >> +>> endobj +726 0 obj << +/D [724 0 R /XYZ -13.423 915.745 null] +>> endobj +728 0 obj << +/D [724 0 R /XYZ 29.788 683.386 null] +>> endobj +729 0 obj << +/D [724 0 R /XYZ 29.788 651.837 null] +>> endobj +730 0 obj << +/D [724 0 R /XYZ 29.788 606.952 null] +>> endobj +731 0 obj << +/D [724 0 R /XYZ 74.046 397.525 null] +>> endobj +73 0 obj << +/D [724 0 R /XYZ 29.788 377.594 null] +>> endobj +732 0 obj << +/D [724 0 R /XYZ 29.788 51.866 null] +>> endobj +723 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F29 727 0 R /F120 674 0 R /F33 562 0 R /F30 563 0 R /F44 227 0 R /F32 539 0 R >> +/XObject << /Fm29 721 0 R /Fm30 722 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +756 0 obj << +/Length 3031 +/Filter /FlateDecode +>> +stream +xڭio8{0 ,"bD`?dLM- EmmeGɢ"MR(ᆲj#ZYXaƵ$ V3Usk'y,`$ ]Ԓ(P+ی ,ǐP/2 ׍Gg}׊=$n`S$~Yű%HlaD>rXۗUGgR8!!t,n_f֍{Va]&A {!<} Y:t1I B":")lN*qy/""?3C<BǞq9ڳ |5blV"VX ' ?rצN%OƬQx$QT5pydn͵&^"4} $=+K|q/i +TN-fT+&֌`7HƆUmA`S !8Fs$MIE!ȼā9WR|md/>$M !1NU*QϽ=Z8JT=8T;16M/E 2IX!zo + +1Y\_麜B]WS+%Z3Vx\hvZWmָhV <{enN% "tٖHu2wxЧA`tv.9GϷ5NXW;kTXK&:umξ{Av<[d:NO' +1dSgKD$\ 8\M/U0.; 4GbKBG`CH6I)pX ~H/,NYva.+չ?=j\&)Ǹ$|h<\/e =)=2&%75'&^ЌOuU#QT5y|2cbKLg< oL ,%ұ9ăej17SS- _̿uӦ>+ӏ?+-J<,.NL܃&/WpO ҥnO=._<=}9<{ub 7iǻ;~ ):D!&?`дй'OW*)?zÝh{/N@~%G}>o%b˳|gM +[+Z-hF&qjݏ䎌Xϧnl.95%NXs犯+.O߼<_@wggfׯO_=vcJ}1vᓗF;Y"݇2=VmԲ{"i=IAEQɄn RGF&}Bf2vIutvU[hY5Ӈ\o˗GS-2^Ⱥׯy C_סPb3rEu>(Xsܥ'g|5/3Q IQSi;ڢnU.]i#qUm!:P6 +EP0,^U*\$MXu/F,BקeqE~WQ'/Op̰dz^-0r!d"i G?&e(ё`"Â|BrQcj( +sYqI"gUb^mh7W~rD0ԏ/ga:ssuc%)7/IUd@2>H}H< JߥF#w^ž,OٸE5hUI%b.%$/<Ȣ-GY +,yPɷ] 9ؤ:mק6:{yZvt\*:$ucč6TlcݏM<+H#Mm{M7='V_i w9Z_Li4A7Wm:}G.kY4B> endobj +752 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 758 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +758 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +753 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 760 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +760 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +738 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.529 544.141 160.498 552.932] +/A << /S /GoTo /D (structbsec__sensor__configuration__t) >> +>> endobj +739 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.529 525.212 160.498 534.003] +/A << /S /GoTo /D (structbsec__sensor__configuration__t) >> +>> endobj +740 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [53.898 516.074 156.314 524.538] +/A << /S /GoTo /D (group__bsec__interface_ga847070d3ecfa970cb2f716a2d11fe219) >> +>> endobj +741 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [200.349 506.283 302.764 514.859] +/A << /S /GoTo /D (group__bsec__interface_ga847070d3ecfa970cb2f716a2d11fe219) >> +>> endobj +742 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [45.529 496.898 135.392 505.609] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +743 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [175.243 496.898 206.525 505.609] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a06af666972edcebef3302d015f1d56c5) >> +>> endobj +744 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [166.874 468.505 206.525 477.216] +/A << /S /GoTo /D (structbsec__sensor__configuration__t_a92665e4f2f3cd5237814488774c0f546) >> +>> endobj +745 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [217.086 468.505 281.843 477.216] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea2368e219ebbce4e1ede7209486283a6e) >> +>> endobj +746 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [166.874 459.04 214.894 467.751] +/A << /S /GoTo /D (structbsec__sensor__configuration__t_a150ba3a737fb75f56052c60d55246ae4) >> +>> endobj +747 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [53.898 449.823 231.631 457.825] +/A << /S /GoTo /D (group__bsec__interface_ga6c18af8c9be0813f7d8e3547e58428db) >> +>> endobj +748 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [83.188 421.182 185.604 429.893] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +749 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [235.738 309.149 358.003 321.653] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +750 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [98.253 295.6 220.518 308.103] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +751 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [427.86 295.6 466.962 308.103] +/A << /S /GoTo /D (index_intguideBSECConfiguration) >> +>> endobj +757 0 obj << +/D [755 0 R /XYZ -13.423 915.745 null] +>> endobj +77 0 obj << +/D [755 0 R /XYZ 29.788 737.428 null] +>> endobj +754 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F120 674 0 R >> +/XObject << /Fm31 752 0 R /Fm32 753 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +774 0 obj << +/Length 3176 +/Filter /FlateDecode +>> +stream +xڭis6{~Hݝ7Wq:nL?$EBcbgbqx +3 +I8bu"?am8<(?VV6ก?H"{ /_g0+<'oW +瞓Qd68Q[Q%Xևŷu.l7jϫ\6@Y/'?3+-u-Yu;޵<֋ "V-;)BǍLۗϵ oNlu'^2JkOͻW4Q._q|I"QǞeG$}-fvVt# N6 FCc~v,A5e՝b݈"(+zl%v7T.Pho*}i_4L =+p>Dʟd#Cm@0eG(-_}יD{V4싾z[7.I?ܼ_ݼ~sNls]ZjUO\$Bb[ӂѶTkӢif'`WU*;0]38*IiPޙ8X ;l/&+ꃽ~%bf2r/ -ԛ Diۣ}/VdwP#h4яX0a:Ppn\{wzy8ٙ9l4ى{#Ҝ^BR_xa2Qmۥ Y]mV͌}(FXnQ5iis*+F@eC:d'3IA><ص\;$ۗa98 oAQM,U=~זe:Ws?L밹M5' UI_R2O$tqg@ä8GN*?m!t,Q6PsN\(\x!tfCƗT?@-$R@K&$Ew^TiA#}hlÀ fZd:oj}mcR8'<cg?31=;ZrL\x\3&<8Ǘ;^po|o;2]$_~/(3|!Л3V퓒 Nj< rv!?gc|y#_}8/:g8Uv"ǃwt;_&<A{ϝH)"ۺo2J<"umF'tsNU ݩ<3LQ>2/: 1_ QX :f$LLMMQKAݧE/FdBޫn_7M]u͆i5:'3 =!۝>g YvQۍEgwH0h{}CbzЈ΍Jm6(*%Fj^7ۈhДu)t,V$ |ڝkV82ϣAe *T؈#0MN.^Fj{T9 }ߪ(Ē~"V3pB*ͲSYtD]@|A)5|nZK='eZN=_fA:#)c΀z'UϷ}wt+ZO>9qSj sQB[m/ o{I 'uT)!u\K>qi]*+zk5ζz-`5YkxR/$_I{Ze/҇]+Ћﺋ`J1)^ȤF<9db H)8LSȗ|:TtU L˵]!١q+uۺ軁J= c.zA(cP=* By*N,Gv&$[S@]xV٣67`Gcps4SE+Lhzc[^ץtxar~KMBs 1^/!IL-JU0 7zF;!X<їxs-rS_ u* +զnJs睨2i"H) +J,OQ@Te5x~ժC׮#a@$MeK28p/`=2^=]QE\+2@eLab" 15kE1BˡR5Kq$] ;a 0j qzN,qNsV`2x !M C1&_w Pݟ0ECo35>F9# /$恺XUE|DQ#Z K< B1B^?/+D]4+qZÇ[Nkܴ$}{pi<K檱}(AZ6F> &جC`Q;AMn`d50̮NK\kPws'ߝ,F4GG\ \Kl|NDllg>UGV^`:c#yoyo< Ezv:]1:X(>@7ǃ,c# f3{jϐa}?_OP4fUJ/!8A8+/ $]_]5H7 (o~%1{d~<2 WYc(>:̉$&?`xwz}Rp\kਃ7mjLY{O?^Bj&Ճ&ǺM>݊E-; SCR$FNҵ?SWlUzZ5Pͅjz%9IـV Dv e{w_q ||?ԛ0 +endstream +endobj +773 0 obj << +/Type /Page +/Contents 774 0 R +/Resources 772 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 703 0 R +/Annots [ 768 0 R ] +>> endobj +770 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 777 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +777 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +771 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 779 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +779 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +768 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [129.215 597.21 214.894 605.921] +/A << /S /GoTo /D (group__bsec__interface_gacf6a5816306dfc1e3c0b26a6d459fc71) >> +>> endobj +775 0 obj << +/D [773 0 R /XYZ -13.423 915.745 null] +>> endobj +776 0 obj << +/D [773 0 R /XYZ 29.788 351.113 null] +>> endobj +81 0 obj << +/D [773 0 R /XYZ 29.788 342.087 null] +>> endobj +772 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F120 674 0 R /F44 227 0 R >> +/XObject << /Fm33 770 0 R /Fm34 771 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +785 0 obj << +/Length 2112 +/Filter /FlateDecode +>> +stream +xڭX[s6~܆">8t\[}H:dKTw}"iݝM\spnr}}Eɾ=ȞxtHnB)FAHNvg#^7D6e!sWa2_{( $+g\sN}?r"QLݐ2d|S!y-}<Ka^a5(nDYK(Ih 9x)aQU+g翭>\@ Tʼnoag~9(O +r3F1 W @DF=yh 4\,3!n._iU7i'd"J{D~nQt%n$(v([A'L 2ߝ;! ҢЭN-׍]_eZn6E%:Ζhu`&mK!q* F_tM=XH\7~ Yg'ԟyYs81,nrD⌰kci?ۖg! jzWy|Wo>&prs}||5Eiz;Ј Osm kҎo +%gډ" 菓/pKUоzai̍a/[܈/`;D]^՝ތCKT (/QN]P& ,YQxQI3Rp fLm+ GQ!MvdQYjj;`鷺%+P`X5tT$MW +{aC*ut2pNƮyta+j-ɦs0p6kDД4q8ZlӲ.z쁳 +ϼ]]wƣw҄!YUOț=&}]ݻӡETu?m؊;8x_t|1>^8T/Wכ凫K/B+V,eXi ޏd`;#{<| )'ȏ&g=0zӦXR3ll]ev]8|HB +ɩ*ֺ–H{#>_Ӣ{TRm5&e]`EajA?b-0uk=xݦz{,‡ {PEx)Q sǙKM- g 1F'ƯO݈sW~]׮a~^jW O-^;NQA*"*xdo  ,ǟk%,A_nyù1 +^>Å]=<8bG%*5H=<b)\?`?=f{"} 'c#"ș3uf*$d)B>=_?eyV%,I07zzF$갓OU+Ի}k24D)q8 ff"c*؋s4PhH)nmIOmcK&?kmzMUnZiֹhk٦Z@Z ):#vw&Q)Y,PPp%i> endobj +781 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 789 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +789 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +782 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 791 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +791 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +769 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [112.478 710.784 198.157 719.495] +/A << /S /GoTo /D (group__bsec__interface_gacf6a5816306dfc1e3c0b26a6d459fc71) >> +>> endobj +786 0 obj << +/D [784 0 R /XYZ -13.423 915.745 null] +>> endobj +787 0 obj << +/D [784 0 R /XYZ 29.788 690.281 null] +>> endobj +85 0 obj << +/D [784 0 R /XYZ 29.788 682.267 null] +>> endobj +788 0 obj << +/D [784 0 R /XYZ 29.788 482.42 null] +>> endobj +89 0 obj << +/D [784 0 R /XYZ 29.788 474.406 null] +>> endobj +783 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F120 674 0 R /F44 227 0 R >> +/XObject << /Fm35 781 0 R /Fm36 782 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +807 0 obj << +/Length 2342 +/Filter /FlateDecode +>> +stream +xYYoH~4"&݇d Pd[B"V ̏K<,DZe6:{-#-=]Gz&!JbNWKÃ'@xYHQ&U'gϋxj/xfDC>Գ'̙@E + UO.7Lx3={1c$.7hD{"1rjq@EȲVf~; 6Ex'E@0A5ϼw35b1e<9Hz=6 $d"#ueEUȥGM4}θG1"F $DQqb_}8 Mp8 Tp8v5"f{nִ/jcZFf76qGFTlQbX!W˴t2N&|I0F1K(Çͪn.]Fi4*K)ȗu +[ xF 6L@ +Sn7ݢb\((2]7_vu*mWie-'j@K^oz/qԶȦM7[m4Z)vblwuZj<˴MU3jip`Ü h@l  4HWrz^UZ.dYivvIҮ߅vݯĺgWYErcŦ(JWF[VҬ=tpHF* =1"_W`[MK2$Q@/ [wc[YǑ +z#-8jf𳴙rȋϘ2@2B;)]eBĔ;o c3Ry=#,MDV[YӺ +`"aLN"H<5'FqNwx[@R.O'Z Uu6fTngzGCϱ̾8FJ 1p<gdb&&( +a@8y\xzG/2u]%7E5L n[uˮPJSoe V-vVun].e[1tJETBrr0Y-# +`+BYȲ@[9R>xg],괾L`NNȁČp_jd;آce(ϼGc8р㫲Ϟhs%KYj8+>-[2d1@;Xљ&,* M>t p%roƿ9BJ_ +cin2D[}u;GnlDZQ:M_mUꪯlG@,@ǫs(J{[*ypZ 0?O 7ő +&j/< +uZuvP`EOC:\nq (8S ^b j.g0s+D$A+gasMQg n% +3M>Da JVՕЎmȢKr'I zЈ+xG,1yj91UjHͽ,㞃IyGd4,t7m?~hbӟO׏ɯhqes%IF6bg߰miuωҝ DtЛ;E{+أ9@CHF_ g_al%Ո5DW'BxfO3|[eg:ᅾXTF- +2Ykn*7L\~kZy@bUڮM ]ur[Wy ueD[n&ml LKmvnܧ#WS;st7ݚ;nn]Z+}3 ~6p x2n9 +endstream +endobj +806 0 obj << +/Type /Page +/Contents 807 0 R +/Resources 805 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 816 0 R +/Annots [ 793 0 R 794 0 R 795 0 R 796 0 R 797 0 R 798 0 R 799 0 R 800 0 R 801 0 R ] +>> endobj +803 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 817 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +817 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +804 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 819 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +819 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +793 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [230.326 573.642 366.315 586.145] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +794 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [376.453 554.554 459.085 567.057] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +795 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [172.115 535.465 254.748 547.969] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +796 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [279.238 397.618 386.985 410.121] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +797 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [119.453 313.254 231.408 325.758] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +798 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [254.018 313.254 338.183 325.758] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +799 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [214.922 208.045 319.373 220.548] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +800 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 92.765 326.998 104.995] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a17bf2f98e8c59e29a8eda42c692e5b3d) >> +>> endobj +801 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [300.146 73.676 381.73 86.18] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +808 0 obj << +/D [806 0 R /XYZ -13.423 915.745 null] +>> endobj +93 0 obj << +/D [806 0 R /XYZ 29.788 737.428 null] +>> endobj +809 0 obj << +/D [806 0 R /XYZ 29.788 650.461 null] +>> endobj +810 0 obj << +/D [806 0 R /XYZ 29.788 650.461 null] +>> endobj +97 0 obj << +/D [806 0 R /XYZ 29.788 650.461 null] +>> endobj +811 0 obj << +/D [806 0 R /XYZ 29.788 536.461 null] +>> endobj +101 0 obj << +/D [806 0 R /XYZ 29.788 514.443 null] +>> endobj +812 0 obj << +/D [806 0 R /XYZ 29.788 300.701 null] +>> endobj +105 0 obj << +/D [806 0 R /XYZ 29.788 278.683 null] +>> endobj +813 0 obj << +/D [806 0 R /XYZ 321.409 211.108 null] +>> endobj +109 0 obj << +/D [806 0 R /XYZ 29.788 188.449 null] +>> endobj +814 0 obj << +/D [806 0 R /XYZ 29.788 159.622 null] +>> endobj +815 0 obj << +/D [806 0 R /XYZ 29.788 159.622 null] +>> endobj +805 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F89 536 0 R /F33 562 0 R /F30 563 0 R >> +/XObject << /Fm37 803 0 R /Fm38 804 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +840 0 obj << +/Length 2081 +/Filter /FlateDecode +>> +stream +xY[o8~ϯT I>'A30d%Wf?]L7$D œE∠"^$"#J \\Gݙ|`  N=۽(d($E]!~BIL/֏YA1'j +Ԡp㈇!~D,¡(%z7zB9R-?L9O;LQ.B} h eL6h + sZ"2}C{e",!&VT<.,UTFo5ѝ N~2y<̥a= ½L[uHqer0/8Mtj;W~FGۗ,.. +eyHBhXɆ} zgVj1[fT=hO31%nU$G:N5]i쌢̫EY`Pct-{NDĪ&1cš* CxLnJȏz]Ma%KVCDId@vb鬶rgmҰVY5 M#  E͘{ͪt:4~gGp cP+,բ*ٲIV z>AQC,9fiǒvև}֥A.-Ұ:jn,Uvx+歳 +K,MWVD&ͪŔdrH1϶Ǵj(3+yȓ`,ocRͧ*ޙm2IW8/Ǡ H *$in\ځ+'7pՄœ0t\apj"eqrcqeFEwH j%MHy_ 'xBLleM퍋""9Xǂ;+!VAv}Q#=L==Mio4f6&IkRL*ʶƺl + +QF04^$Xc7: !!tMW "1Pc SAƳj2t2\_ p*+dQuЋ,nүuU\&|}.VOsc]c7x݄mӞ 0ٕ|ރliVoّ0q:F3 .~Φ˫z<))A]3Èu4{ڑ=> -`Yĵ 1TsM*=G;zgu7D s4q3{p+|?.?ƛMv{B/J%>ad %$Eb`c!0c 6Yx䦥L1֓9n<$bV 2qu=LzHq~:Q.&ӷ׭,4gϻЋ&KC;pGa 1)`vhwŻx?zst:6[k5_!=Owa2X89 _fD'8 c*SOapQ e}(bm~M;Y(vųlQmUZO0^(vrHuhioB,Hs;HQ 4Nˢc=އh@CŠ?{нh> endobj +836 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 847 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +847 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +837 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 849 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +849 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +802 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [196.997 725.921 279.307 738.424] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +823 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [78.811 651.573 135.199 660.285] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +824 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [288.613 609.527 369.633 622.03] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +825 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [167.861 595.978 303.849 608.481] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +826 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [287.251 576.977 368.271 589.481] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +827 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [488.579 576.977 567.119 589.481] +/A << /S /GoTo /D (group__bsec__interface_ga5e4d504611e1c4a0219861bbcf2ad650) >> +>> endobj +842 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [41.152 563.428 90.435 574.873] +/A << /S /GoTo /D (group__bsec__interface_ga5e4d504611e1c4a0219861bbcf2ad650) >> +>> endobj +828 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [328.073 544.428 409.98 556.931] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +829 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 458.123 322.766 470.354] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a81fd5b4436be253e0ef3ebdf51b3d193) >> +>> endobj +830 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [316.431 439.123 399.063 451.626] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +831 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.207 402.633 227.254 411.345] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a3eb936f08a8f6f01d4c683a6ba0c9d3a) >> +>> endobj +832 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [78.811 364.775 135.199 373.487] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +833 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [324.603 322.729 408.848 335.232] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +834 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 60.127 345.784 72.358] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a5946f4a20c9ba0cd83fed96ce3103c06) >> +>> endobj +841 0 obj << +/D [839 0 R /XYZ -13.423 915.745 null] +>> endobj +843 0 obj << +/D [839 0 R /XYZ 29.788 545.424 null] +>> endobj +844 0 obj << +/D [839 0 R /XYZ 29.788 525.046 null] +>> endobj +845 0 obj << +/D [839 0 R /XYZ 29.788 149.495 null] +>> endobj +846 0 obj << +/D [839 0 R /XYZ 29.788 129.117 null] +>> endobj +838 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F89 536 0 R /F120 674 0 R /F33 562 0 R /F30 563 0 R /F44 227 0 R >> +/XObject << /Fm39 836 0 R /Fm40 837 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +873 0 obj << +/Length 1864 +/Filter /FlateDecode +>> +stream +xZ[o~ا({%EXI8H7DR%i3{!EJ9iٙٙޜ.fֈ +[!HFGP0Jޜ~X.OŋtlOGmi1Kf +|g;PW؃m[zܶO~n|iY~<$dM~VbnX4uo|&tm +1qQj/a7ERT6i"ȑ篬3vMlV75yQx@CCDs 04!.{|yً|6,:{t,_}]TUzu +*O=~%rU&ZNc y#:cWJ@/l S"9H ̋Lg(&ҲnB+zaTɏvd,䅝TVl?Z;]vzSlۙӠTuS新YNx .CծP#c.mQ ]=p77e3]]ğ40f{D9a֞&QC7ܢmԁthwp CsZCҗ$ wedA.{ą,=͚(:\/(g{ң>*>yEq +؃A$HIq,EdIKw܍>c:x:;,o!?o~ PU".Is{b\f7 :1@ΕzoƸà*څu\K+:I^[Mm֦xR"iV l LeWJ:`5`9ݵW'K[o͗C>'V+vZIL @\4\gï ؔ +endstream +endobj +872 0 obj << +/Type /Page +/Contents 873 0 R +/Resources 871 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 816 0 R +/Annots [ 835 0 R 855 0 R 856 0 R 857 0 R 858 0 R 859 0 R 860 0 R 861 0 R 862 0 R 877 0 R 863 0 R 864 0 R 865 0 R 866 0 R 880 0 R 867 0 R ] +>> endobj +869 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 883 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +883 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +870 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 885 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +885 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +835 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [287.915 725.921 370.547 738.424] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +855 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.207 689.863 227.254 698.574] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a3eb936f08a8f6f01d4c683a6ba0c9d3a) >> +>> endobj +856 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.207 661.47 227.254 670.181] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a3eb936f08a8f6f01d4c683a6ba0c9d3a) >> +>> endobj +857 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [78.811 623.611 135.199 632.323] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +858 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [243.057 581.997 325.689 594.5] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +859 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 496.745 389.42 508.976] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ab87b5a5abeadc975488850bece3dbf84) >> +>> endobj +860 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [198.788 464.374 281.42 476.877] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +861 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [78.811 418.852 135.199 427.563] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +862 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [526.35 377.237 567.119 389.74] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +877 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [41.152 363.688 119.868 375.918] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +863 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 278.436 351.238 290.667] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a0a7f6e18d053c4af5f26f3852ef6ae14) >> +>> endobj +864 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [253.355 246.065 335.987 258.568] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +865 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.442 200.542 126.831 209.254] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +866 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [526.35 158.928 567.119 171.431] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +880 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [41.152 145.378 119.868 157.609] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +867 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 60.127 402.74 72.358] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a6d707845ea3200a1a45726c2700333e5) >> +>> endobj +874 0 obj << +/D [872 0 R /XYZ -13.423 915.745 null] +>> endobj +875 0 obj << +/D [872 0 R /XYZ 29.788 582.993 null] +>> endobj +876 0 obj << +/D [872 0 R /XYZ 29.788 563.047 null] +>> endobj +878 0 obj << +/D [872 0 R /XYZ 29.788 364.684 null] +>> endobj +879 0 obj << +/D [872 0 R /XYZ 29.788 344.738 null] +>> endobj +881 0 obj << +/D [872 0 R /XYZ 29.788 146.375 null] +>> endobj +882 0 obj << +/D [872 0 R /XYZ 29.788 126.429 null] +>> endobj +871 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F89 536 0 R /F120 674 0 R /F44 227 0 R /F33 562 0 R /F30 563 0 R >> +/XObject << /Fm41 869 0 R /Fm42 870 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +909 0 obj << +/Length 1891 +/Filter /FlateDecode +>> +stream +xZs8_d,2=`(m8ɸH|q;@Ӗc%vW_N){MA'{0AOB(E3r +>FRbl@D}Yi6o($Eɢf%}k\ ~PR,(,}c v'<788aFp(% +#kh e2z,syQdalx^(#P& /CWtA}gTHC&9P1E۶6@EYH{FZfq]8Ӊ22iQǣ,\ LZ޳ ܨuNJbBx S$$G:BeE8҅*x[)f˺*ߖqY#ȝ.`Icki LD E$Z vrii)S$.{- u[3\Vyayc2k> +}ae]5 /G*sg +f|ؽ{ Nw 5\{B;d'ʪ.T?A4Y^7*^,T+!9GB0*%ݗ}̆ dp\y;S`YsyҰ^N +|V_I.UoTEXk +`jUyj|<>3~{`tܷJlge^̝S +y]%NTxn֟w S[UTuҔZq'8.,UqkP*.c# *ࢿ nfLfq6UY׎ ˫4QV+(O-zqC/dBx4b=~qH5e<ӏ^"=o&_m1oNG +~s~?J,Y@6lE wr~. Ieѝ o!*#fOho zB +ivBk53/fq=&hz=foK7d&Bo%iHcǹDD+us@j{OA+n~LGq$&k{zu5v Sy.^UlP%2ٟvd7b7 S>8Y\a7tlbsVәn#ghTCy1RzgIZ.2L/yZ +,IKr&@DUO\\-lsBeS".]u3|րZ+>v h5sW`ʱ.3aQ>R +endstream +endobj +908 0 obj << +/Type /Page +/Contents 909 0 R +/Resources 907 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 816 0 R +/Annots [ 868 0 R 891 0 R 892 0 R 893 0 R 894 0 R 895 0 R 896 0 R 897 0 R 898 0 R 899 0 R 900 0 R 901 0 R 902 0 R 903 0 R ] +>> endobj +905 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 918 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +918 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +906 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 920 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +920 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +868 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [247.454 725.921 330.409 738.424] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +891 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [281.871 675.347 364.504 687.85] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +892 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 564.331 316.068 576.562] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a465d9fc420b12cfe3d24e937c5e5f110) >> +>> endobj +893 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [292.21 501.049 373.705 509.76] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea64d14f069c838de2d2c1f3f436ef6108) >> +>> endobj +894 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [78.811 491.584 181.227 500.295] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +895 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [399.12 441.257 532.563 453.76] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +896 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [101.174 416.144 126.817 426.389] +/A << /S /GoTo /D (index_intguideLibraryOutputs) >> +>> endobj +897 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 330.741 323.366 342.972] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858aa5de81322b446f028934aa30c4826610) >> +>> endobj +898 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [292.21 267.459 373.705 276.17] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea64d14f069c838de2d2c1f3f436ef6108) >> +>> endobj +899 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [74.626 257.994 177.042 266.706] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +900 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [399.12 207.667 532.563 220.17] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +901 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [101.174 182.554 126.817 192.799] +/A << /S /GoTo /D (index_intguideLibraryOutputs) >> +>> endobj +902 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 97.151 305.78 109.382] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a178d85d77cf448057897e9b0e0932e33) >> +>> endobj +903 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [273.373 78.639 409.362 91.143] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +910 0 obj << +/D [908 0 R /XYZ -13.423 915.745 null] +>> endobj +911 0 obj << +/D [908 0 R /XYZ 29.788 676.343 null] +>> endobj +113 0 obj << +/D [908 0 R /XYZ 29.788 657.151 null] +>> endobj +912 0 obj << +/D [908 0 R /XYZ 29.788 629.181 null] +>> endobj +913 0 obj << +/D [908 0 R /XYZ 29.788 629.181 null] +>> endobj +914 0 obj << +/D [908 0 R /XYZ 29.788 417.14 null] +>> endobj +915 0 obj << +/D [908 0 R /XYZ 29.788 397.948 null] +>> endobj +916 0 obj << +/D [908 0 R /XYZ 29.788 183.55 null] +>> endobj +917 0 obj << +/D [908 0 R /XYZ 29.788 164.358 null] +>> endobj +907 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F89 536 0 R /F44 227 0 R /F120 674 0 R >> +/XObject << /Fm43 905 0 R /Fm44 906 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +943 0 obj << +/Length 1976 +/Filter /FlateDecode +>> +stream +xZYo۸~ϯӅ"%yp7͠I33 Plօ,Z`~.%Ns^HCq;{ /ưأ.1 @4gmEVL(J,/q)ʅH `{f03"_ҥZ(A&eT "Cn +3v gi󰌳 V,=Dڣa8t(29Bb[Ce4yYɤ.޶iV{\UM@L~2 Q ;@$nz&m>$1鎁Q[I|j|y5 MN-êC0_n?X6ſ: m ˪x¹E4T(fRT4W:R:#3tr}sJ,ӹ m+#c= i 23gyM7)`lV]RHPnvEjhю4+]\.> 0#:qlߔmw.8>ȂKBZ_+`~2`[AL +:k!fZ6 Ж0SQk`&tטH쏙koTLL0VainwR'" & V'Һ8zcZ@l;^$uJ0Iz(1s!eUuNšu{Q|ؘuAQ)opb4Dur'Pzucd4~Aׅ@}<~ N*qC0M~E5KJU*+;W*;5c=rא { d7؋;Ee*iI6W L=uow`dho~1QIW; lX;fL{YDtioհމ[4XOrj0G[{PV`x'ٴZFiZ^GCgk|(Dyq>4ޚ/ zXɫ9 +Nh 2p )Y?iam`(P? +mR8 /Or'X>fPmh9%R2Łe궱~Nсәu:.^߶Nw/hce5[w_]5K8Or)puM}75vح5@!F00c~R\Xq6߉)8vzv]x.._ {$1cy<_Y󇺉Y=1N Y\"Lً\%Y\ahgj +z,Ve]$<{$Bi+E-*b{Qt\/ +boER Ե +p^Nru`\ ʡ9-ƕ +endstream +endobj +942 0 obj << +/Type /Page +/Contents 943 0 R +/Resources 941 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 816 0 R +/Annots [ 904 0 R 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R ] +>> endobj +939 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 951 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +951 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +940 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 953 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +953 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +904 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [292.21 720.248 373.705 728.96] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea64d14f069c838de2d2c1f3f436ef6108) >> +>> endobj +925 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [292.21 691.855 373.705 700.566] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea64d14f069c838de2d2c1f3f436ef6108) >> +>> endobj +926 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [78.811 682.39 181.227 691.101] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +927 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [394.944 632.155 531.737 644.659] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +928 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 535.416 330.642 547.646] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a2175fa185bbcaafb28b5c73ca8ff2394) >> +>> endobj +929 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [292.21 472.264 373.705 480.976] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea64d14f069c838de2d2c1f3f436ef6108) >> +>> endobj +930 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [78.811 462.8 181.227 471.511] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +931 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [399.12 412.565 532.563 425.068] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +932 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [101.174 387.452 126.817 397.697] +/A << /S /GoTo /D (index_intguideLibraryOutputs) >> +>> endobj +933 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 302.276 372.249 314.507] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a1ba36727b09433f1ae925646864d8a61) >> +>> endobj +934 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [424.965 283.802 560.954 296.305] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +935 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [78.811 239.125 181.227 247.836] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +936 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [226 188.89 359.711 201.393] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +937 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 92.15 360.129 104.381] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858aa1a59666f0af5463087f528473d4ff8c) >> +>> endobj +938 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [257.093 73.676 390.669 86.18] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +944 0 obj << +/D [942 0 R /XYZ -13.423 915.745 null] +>> endobj +945 0 obj << +/D [942 0 R /XYZ 29.788 619.603 null] +>> endobj +946 0 obj << +/D [942 0 R /XYZ 29.788 600.503 null] +>> endobj +947 0 obj << +/D [942 0 R /XYZ 29.788 388.448 null] +>> endobj +948 0 obj << +/D [942 0 R /XYZ 29.788 369.349 null] +>> endobj +949 0 obj << +/D [942 0 R /XYZ 29.788 176.337 null] +>> endobj +950 0 obj << +/D [942 0 R /XYZ 29.788 157.238 null] +>> endobj +941 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F120 674 0 R /F89 536 0 R /F44 227 0 R /F33 562 0 R /F30 563 0 R >> +/XObject << /Fm45 939 0 R /Fm46 940 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +972 0 obj << +/Length 1917 +/Filter /FlateDecode +>> +stream +xYs8_tm{(8(Ц0o;=noavh774,VݟVEr"d>#$CCJQ DB^ >.Xj6a 9sQ )0bk嚱>|bIfx)|t߁!(p6 SChAj0IüѹʼT~lx +iVB< % /C׆tA|+5hJ*2Tж:P9̧%ΏYfQm8DuZ3 $(cp"=ʋBk9Iy/NV9x]w3ccC)Ď(4Ϛ[VsPF"f J[]e[OfTZ:)@tqHr6 +E@8k=`"Ucp=IqbūOO'>2CÆX2ny2YUTُ'*SE&t]W yk ~_;4 10hࠛa +0*CS ,xu^pնݸ?T a>9U]QЕ&ǍYZJR9u/--q\`dⓛβV-a\irm`;1jߌa[MAؤ*4eDz&b* P.7HVպtѕ#M8m@]!*Bԓ'ON^]N<J_(u{#H@ч.RE'[.0vfίUC6`݌"AU.mT.;tٍo^qˋɫ S'ǿa~ 1~֏׫;KgJ~gh&?Xp1cb4tC g'-?zt/r}SCXlNW*\JW.(" V ~heV4z0wc:J%ͪLTf1SMor4xS*.vؼ^Obi.[;QBESɎsyO1:Y^>ڷu%¶loEMݡ=̀2o:fQ e,$-Wy-̀p^-2 +*&T'XTEzYwDD6j\E]]ZV[=NgIh J'/^H&2X +Y0/C +endstream +endobj +971 0 obj << +/Type /Page +/Contents 972 0 R +/Resources 970 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 816 0 R +/Annots [ 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R ] +>> endobj +968 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 981 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +981 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +969 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 983 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +983 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +958 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [249.122 706.118 274.766 718.622] +/A << /S /GoTo /D (index_intguideLibraryOutputs) >> +>> endobj +959 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 613.457 335.486 625.687] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ab78d6a66fc7a4205a6caf69ce4f161e4) >> +>> endobj +960 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 447.021 359.704 459.252] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ab810ba8e0fc4425c37aa460e57dc8129) >> +>> endobj +961 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 294.135 349.995 306.365] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ac5899ebab7738c4c99b19ad9d934f8d1) >> +>> endobj +962 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [225.305 253.985 363.974 266.488] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +963 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [78.811 163.483 181.227 172.195] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +964 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [394.944 109.368 531.737 121.871] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +965 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [129.09 95.818 237.184 108.322] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +966 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [41.152 62.194 177.141 74.698] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +973 0 obj << +/D [971 0 R /XYZ -13.423 915.745 null] +>> endobj +974 0 obj << +/D [971 0 R /XYZ 29.788 707.115 null] +>> endobj +975 0 obj << +/D [971 0 R /XYZ 29.788 684.125 null] +>> endobj +976 0 obj << +/D [971 0 R /XYZ 29.788 540.679 null] +>> endobj +977 0 obj << +/D [971 0 R /XYZ 29.788 517.69 null] +>> endobj +978 0 obj << +/D [971 0 R /XYZ 29.788 387.793 null] +>> endobj +979 0 obj << +/D [971 0 R /XYZ 29.788 364.803 null] +>> endobj +980 0 obj << +/D [971 0 R /XYZ 29.788 63.19 null] +>> endobj +970 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F89 536 0 R /F44 227 0 R /F120 674 0 R >> +/XObject << /Fm47 968 0 R /Fm48 969 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1005 0 obj << +/Length 2157 +/Filter /FlateDecode +>> +stream +xZ[s۶~j&  tS۩IFCI3tFXrig:# v9߾΢<;G`x~a1C1E9p~}@| &Nc,:{nŽ&G4lcF+}]AD#\͚yz_wx ffqbE!18wXK0;Ӽ-;Y >>[LaEpa" 1% yo +O /QuuզtdM;K?բ\V"}U(NK1ԛyRIYO,mSU;ahO`t-ZB)+t;J [ +w)<4 +/MRvfp?M9Qzoq/2j) +lGDk() `Zeeڂu!Z~$1 @i͢>uV}Deެpd`?< 8,g1!=p{pJɨwnUQfaceTu>R0{se{iJQUi+좐. sH#(l'E30secƕcUQϪZaBr+S&ԫĀ0s?ղ1݀-6p롯lU"Mc?`CV\-r95`)֛ .TFF5O +x+60C%mU VG&V0&ۑ^doJՆcAafN;*EgMѼXF!$jFK?CWڎR$i6b.]ҋĘX_n]H)x)fU.swyvx@V.kgRAEf̆չX'| ZgիY*.4gm҅as S R;nJ`;^Y5 $JWЩ '5CY=iKF2*b"l|@N]pCT=kفQŌF1%4,4o ffS~'Z;jDST=bd'K>PO:\6]\_]Ng?go޷ i `\EK6 u{& W NS[P- +_>Ph)įo=TF{Ri%g뤲mmY {mA/it 1 OhVwİ RvH6x `c0|A^+1q ZR͑pY{S +348 C]S>{>&aW n_d +e-lOymәkWߺ"n"H[=޳m`JhQs5vql { /_dN >, G s4}=Ɯt\GRo #p8l9z^oך%-Y3ۮ.Vj1A>WPʿv{vjS+ +;FGf5CdnCDK#9m*؋5˫ x 8Rb=IHFcHh}P,Ҵ +` ,br,d_eRbWoJ*Ħ⮘K!% "N֜4-Tm,lHJn +yTuD%*mV4גQTAO/P50To0u})Z +endstream +endobj +1004 0 obj << +/Type /Page +/Contents 1005 0 R +/Resources 1003 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1016 0 R +/Annots [ 967 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 1008 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 1014 0 R 999 0 R ] +>> endobj +1001 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1017 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1017 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1002 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1019 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1019 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +967 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 676.117 363.358 688.348] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a7f2cea23dbdaeddb2d91d861c608f239) >> +>> endobj +988 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [258.22 655.737 394.209 668.241] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +989 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [311.624 635.358 448.014 647.861] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +990 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [292.21 572.512 373.705 581.223] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea64d14f069c838de2d2c1f3f436ef6108) >> +>> endobj +991 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [78.811 553.583 181.227 562.294] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +992 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [231.528 498.728 368.856 511.232] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +993 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [526.787 464.799 567.119 477.303] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1008 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [41.152 451.25 148.035 463.754] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +994 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 356.787 291.817 369.017] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a87428d7a4a5d52e48af8db92ab71c83e) >> +>> endobj +995 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [393.626 295.648 532.295 308.151] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +996 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 157.261 349.406 169.492] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ac2600415df086d1a9b36105ac29396de) >> +>> endobj +997 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [373.81 136.882 493.215 149.385] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +998 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [506.839 136.882 567.119 149.385] +/A << /S /GoTo /D (group__bsec__interface_ga70e68dbe60e2ba462537540d60192a2e) >> +>> endobj +1014 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [41.152 123.333 74.061 135.836] +/A << /S /GoTo /D (group__bsec__interface_ga70e68dbe60e2ba462537540d60192a2e) >> +>> endobj +999 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [82.988 62.194 177.741 74.698] +/A << /S /GoTo /D (group__bsec__interface_gae8fc6d614d6a40f0088262dccbb960dc) >> +>> endobj +1006 0 obj << +/D [1004 0 R /XYZ -13.423 915.745 null] +>> endobj +1007 0 obj << +/D [1004 0 R /XYZ 29.788 737.428 null] +>> endobj +1009 0 obj << +/D [1004 0 R /XYZ 29.788 452.247 null] +>> endobj +1010 0 obj << +/D [1004 0 R /XYZ 29.788 428.517 null] +>> endobj +1011 0 obj << +/D [1004 0 R /XYZ 29.788 283.095 null] +>> endobj +117 0 obj << +/D [1004 0 R /XYZ 29.788 259.365 null] +>> endobj +1012 0 obj << +/D [1004 0 R /XYZ 29.788 228.62 null] +>> endobj +1013 0 obj << +/D [1004 0 R /XYZ 29.788 228.62 null] +>> endobj +1015 0 obj << +/D [1004 0 R /XYZ 29.788 63.19 null] +>> endobj +1003 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F89 536 0 R /F120 674 0 R /F33 562 0 R /F30 563 0 R >> +/XObject << /Fm49 1001 0 R /Fm50 1002 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1045 0 obj << +/Length 1858 +/Filter /FlateDecode +>> +stream +xks6{~?*3'H=-'M٤{vȒbgK^=6N|A%鮝kr݉$}4P4/#.( P|ΰ*t##$G "b97sQ$OE >rC;%$Fo6|6ʼ7I)Ez`Hko&(o2Ѐ$8%rFDŽ %*詡Vp1@ѩ2yVi:F.Ѱ8 <cl\}.ŁV`mAHt4=~s~y1=O.o'_Tbo`rE&/tLEyV~s/`^c7P1۪!ap.,)¥5NʨHr 0=8ComTya+&00>r]t`tFYkKy}VudQ!J3!l^+C?*JPYi6, *UrY рZCZ%Tj:_St$Q% 4ugAdJ5q4[Y^*LzH+]H2 LgEXZ/5b<́@Z)L UsFrZBW4k*5o|j0/4FnW@OSVk=`ySI^l}-N4x${ڂQ2@N9nٌ%&~O5v +v&Wf0W֤a420?hdLiPbo f +AOz +#:V&.VՀm ʭR|Q?ᴴ,s309fHip VaSuId]q]i4C׬N`i)Ed*4 &;C2mm2| +endstream +endobj +1044 0 obj << +/Type /Page +/Contents 1045 0 R +/Resources 1043 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1016 0 R +/Annots [ 1000 0 R 1026 0 R 1027 0 R 1048 0 R 1028 0 R 1029 0 R 1030 0 R 1051 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R ] +>> endobj +1041 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1056 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1056 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1042 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1058 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1058 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1000 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 680.317 351.217 692.548] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ae5d8b5de70152c09b4153bcb41997ee7) >> +>> endobj +1026 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.93 661.627 483.843 674.131] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1027 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [505.397 610.698 567.119 623.201] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1048 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [41.152 597.149 112.864 609.652] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1028 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 512.681 323.933 524.911] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a89e2eec8486c2880912af108bbed3593) >> +>> endobj +1029 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [292.927 493.991 416.752 506.494] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1030 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [505.397 386.992 567.119 399.495] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1051 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [41.152 373.442 112.864 385.946] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1031 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 288.974 279.708 301.205] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a76ee5462e14060fcc889bd889b6f7b3c) >> +>> endobj +1032 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 148.436 394.853 160.667] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ab5356ac211454109eac007fcc458a6dd) >> +>> endobj +1033 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [198.079 129.746 319.515 142.249] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1034 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [333.286 129.746 415.918 142.249] +/A << /S /GoTo /D (group__bsec__interface_ga70e68dbe60e2ba462537540d60192a2e) >> +>> endobj +1035 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [198.079 111.056 320.126 123.559] +/A << /S /GoTo /D (group__bsec__interface_ga8798390d842b820e79e9cbf8ba4d516e) >> +>> endobj +1036 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [333.897 111.056 417.14 123.559] +/A << /S /GoTo /D (group__bsec__interface_gac79a471c6e20fd8c17577f6f69a9469f) >> +>> endobj +1037 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [230.002 73.676 349.766 86.18] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1038 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [371.8 73.676 453.303 86.18] +/A << /S /GoTo /D (group__bsec__interface_ga70e68dbe60e2ba462537540d60192a2e) >> +>> endobj +1046 0 obj << +/D [1044 0 R /XYZ -13.423 915.745 null] +>> endobj +1047 0 obj << +/D [1044 0 R /XYZ 29.788 737.428 null] +>> endobj +1049 0 obj << +/D [1044 0 R /XYZ 29.788 598.145 null] +>> endobj +1050 0 obj << +/D [1044 0 R /XYZ 29.788 578.521 null] +>> endobj +1052 0 obj << +/D [1044 0 R /XYZ 29.788 374.439 null] +>> endobj +1053 0 obj << +/D [1044 0 R /XYZ 29.788 354.815 null] +>> endobj +1054 0 obj << +/D [1044 0 R /XYZ 29.788 233.901 null] +>> endobj +1055 0 obj << +/D [1044 0 R /XYZ 29.788 214.277 null] +>> endobj +1043 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F89 536 0 R /F33 562 0 R /F30 563 0 R >> +/XObject << /Fm51 1041 0 R /Fm52 1042 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1079 0 obj << +/Length 2108 +/Filter /FlateDecode +>> +stream +xZYs8~VIUK+o>d|d,Mfv)E2gER[qQ$-'a* ӛ--(?A!!(`EGw??|\+t\=7S9s$_ 0 0uYӷ-c8]Bóuiocq0 =3{ SAPI0]㼌ge^T<>`4m-0Wh?!KFMpXVh^5v(qd "E=uSz'dtdg_Qj8v/,Q",pQ@ tK=碕:b`wiÀi +|> }gj>wfl^j\Ge^zvX9mJ/l6 +}Tdz%fq6]j'nm׆_ґHDUSUTMPJ5zIe{/H=3UzM/IZ +bEUqvy߳d,&c=`p.8v,yC˵my4;:W.Ƨ\p3Hb#XQ| |\̳]nomet_PK]؊gVj ^Ez7lK(dRIe?jۉj"hHt@RaWJ4L$  +Q\yezEa!T v[:dX(mB'yQxR^jdDz!ɅTQVօ3FF7XJgP)%5%*Q>t)59in^yo E@8Np!c jf[4>]+*Y.%أϳn#2vdwG/ggjz ͳBBaCWcӾjaصw; vr TYh /JR5^*qmjƇF/F/AEzq6:!q+&*(/©ߏ{ti/vja2:柚uN +0mb*H"/.2=a;W BUv8ًdrnLZ!dvrtq1/108>=?B>S? jA._T&3k ^R͛DQFBmn@,CPj%E{J5D}1q;bϸ/NYe,:&g氵.$u3b3uls%u leg.ʶKmHC,Dݨ<1(w A&g>[|>vo3{[ջ {$L{*wXGjyi*$Fz# 1:x =9b A?X|8)[t5FV[-*1 kw }.{!mHٌD-@\=Rq^f&c˧hcuGj^6?o'Q4@P{bmc)|&╷8n>A^$%h% ^IeTpVu4A*H},"-x}ZB:fMOysjL׫v*/  0a[VrWS2?C}<:E}Zv +endstream +endobj +1078 0 obj << +/Type /Page +/Contents 1079 0 R +/Resources 1077 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1016 0 R +/Annots [ 1039 0 R 1040 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1083 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R ] +>> endobj +1075 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1091 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1091 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1076 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1093 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1093 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1039 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [213.584 725.921 338.032 738.424] +/A << /S /GoTo /D (group__bsec__interface_ga8798390d842b820e79e9cbf8ba4d516e) >> +>> endobj +1040 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [362.1 725.921 446.968 738.424] +/A << /S /GoTo /D (group__bsec__interface_gac79a471c6e20fd8c17577f6f69a9469f) >> +>> endobj +1065 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 628.782 350.028 641.012] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a3975b1dfa3c35829ce97814e04c143ce) >> +>> endobj +1066 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [329.238 610.24 450.674 622.744] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1067 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [457.795 610.24 540.428 622.744] +/A << /S /GoTo /D (group__bsec__interface_ga70e68dbe60e2ba462537540d60192a2e) >> +>> endobj +1068 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [505.397 559.608 567.119 572.112] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1083 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [41.152 546.059 112.864 558.562] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1069 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 462.469 360.915 474.7] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ac2eca8b900ce91ee50004c549a409024) >> +>> endobj +1070 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [382.47 443.928 504.396 456.431] +/A << /S /GoTo /D (group__bsec__interface_ga8798390d842b820e79e9cbf8ba4d516e) >> +>> endobj +1071 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [380.503 393.296 501.709 405.799] +/A << /S /GoTo /D (group__bsec__interface_ga8798390d842b820e79e9cbf8ba4d516e) >> +>> endobj +1072 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 268.515 353.671 280.745] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ada34397de8a8e88ad72e8546748866cd) >> +>> endobj +1073 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [186.657 199.341 296.562 211.844] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +1074 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 97.21 371.813 109.441] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858aa238cfe9b905deda6f1823ca32378f91) >> +>> endobj +1080 0 obj << +/D [1078 0 R /XYZ -13.423 915.745 null] +>> endobj +1081 0 obj << +/D [1078 0 R /XYZ 29.788 713.368 null] +>> endobj +1082 0 obj << +/D [1078 0 R /XYZ 29.788 694.105 null] +>> endobj +1084 0 obj << +/D [1078 0 R /XYZ 29.788 547.055 null] +>> endobj +1085 0 obj << +/D [1078 0 R /XYZ 29.788 527.792 null] +>> endobj +1086 0 obj << +/D [1078 0 R /XYZ 29.788 380.743 null] +>> endobj +121 0 obj << +/D [1078 0 R /XYZ 29.788 361.48 null] +>> endobj +1087 0 obj << +/D [1078 0 R /XYZ 29.788 333.466 null] +>> endobj +1088 0 obj << +/D [1078 0 R /XYZ 29.788 333.466 null] +>> endobj +1089 0 obj << +/D [1078 0 R /XYZ 29.788 181.796 null] +>> endobj +1090 0 obj << +/D [1078 0 R /XYZ 29.788 162.533 null] +>> endobj +1077 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F89 536 0 R /F44 227 0 R /F33 562 0 R /F30 563 0 R >> +/XObject << /Fm53 1075 0 R /Fm54 1076 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1104 0 obj << +/Length 1195 +/Filter /FlateDecode +>> +stream +xWn8}WV շ&q)nx $E K]Yr%n~/Eq@'ș3#p|yAѴ4EQ +A28)p$$5|'|V4fv$áZݙ(2j$1EfR-=6n aC)%eỹz!Hqiv';h @88Qw8R +EC0jA"5eSխN>F-6zq&eqp]m{9R,@"XD)zhr/*C"q5:vVOͫ-.L[@/ ѽYߩQ@ Q2,rnXuѱQ CNufYY;KnżniK/JN:{nWZ{:U&4;g̸&uc$۫[5x4:|l7hS;U;\뤩.-8*TN +l&a;|0&.X|̵~9!gD| $ej7)?]I 7CV[1#$6\յN7w\*u_:Nu#nqBX>uRNz)>uO=cvKܞ+A8";+BWYnXHm)r!5jx90$m⶛H`x7c:sPZ(6OY<&X'~sD57>rBE2 +H +\*؟M;=pr$;VaIc4H؄H>@xM &*,~Q>=FƘ 1 + LuQ/*bD4E--#މ F:W[1D٦zI=OyOp"|D M^ƋlZ7`ȀOC5qmK>_Mq%-:5 rkt>m"R1|[n .Y~GhncY^NcR~wYTMRXx-*ojlPgy 2Yn$ZܾmV]{5F].Eo]Uw85Bw_u,9 d~SeWdQA, +endstream +endobj +1103 0 obj << +/Type /Page +/Contents 1104 0 R +/Resources 1102 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1016 0 R +/Annots [ 1099 0 R ] +>> endobj +1100 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1108 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1108 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1101 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1110 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1110 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1099 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [142.53 644.085 363.348 656.315] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ae8e920ecde96d7d79b8962da38233880) >> +>> endobj +1105 0 obj << +/D [1103 0 R /XYZ -13.423 915.745 null] +>> endobj +1106 0 obj << +/D [1103 0 R /XYZ 29.788 728.902 null] +>> endobj +1107 0 obj << +/D [1103 0 R /XYZ 29.788 710.36 null] +>> endobj +1102 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F89 536 0 R /F44 227 0 R >> +/XObject << /Fm55 1100 0 R /Fm56 1101 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1138 0 obj << +/Length 2726 +/Filter /FlateDecode +>> +stream +x[Ys8~\5q%c3UĞ}IRDܒDG<ٚ"iJ6-Re/t7$ZU8ZE8z{Wx#҄DS$,A+@A ˜HdR(5 +>DzL"’H*FU1qpCD'a^@o8aHs)ۈj$v,OETl[e-.M(…՞T%} GK{A4M79Ϣutݥ1JJ*r`F*:(D$J2`ow:[i[m/3Щ*^2Q +CYLD8!pC8R‘/c}l֙#Uh6ٶvTfq@c$b E!yMh:A2IZDZVT0MA+Pܺ*_mӵߕ=y/%|0*K]Gu0ͣTke`}͝x[}K ɳz`xe)TI.iպ4"9c`.@@sT熤0r2D.@qc6a.~]g46\ ( d.BE7vѺ#<31 h G\}ΚVS)p%\ vWK,|/qNyDKN(WCIen-gÈ\3_u+qmOrf 5ASYQ>@`yEXIyhE1ᯪ[8Ta ]N[cM0DO9bĂS2Cim)~ 2u\kMaS49~ț23Nd,zt[×ܹM72C#%0aBZPj>7BruZ% hKCKJQIXb a SbЂL+avQ=`H^)59|`GǭBr,$(2!wϯ;Sbܼs>}ݧe0ʹ:bS>%w᧱֗W2=1 60&'@hSBF̌O4n$0hH"F@G@Ĉ +I[9ݡt]THtaR01LxP Fy0 + ۉ-&`I|M(FL6X2v47[Gt~z[]v PmVmŔOꩴ>0 $D sMϢa<ˤ̪f۲4~Xg Ueʩ>T%7'Ѱ{* CVa5N%^KKer w*U +$=OA^H6lgkl`lYo{ë;[>[4ei5Qhmko +ÛEks܇t dŦ-}f'2󑽙L#6pU +D uޙ0%,(@ hK |z%*Q0y~1J HU2L'8Rb |s1b)?*8,f(P$ ̚Z[_BfERkv rs`*'mx wqo5a$}*#j'I>imN 1Oܦ{9LP_9PᡤoiSֿbjIL(haaehfUͮG zTR!e('="*h-vU[+=KrdJZrm5hgI1?J\cTb[=F9-jbH ]L;Op-~q4{/.y%q 7 kipU]lB!X;Pmγa`ֿXyqh39~ +؂2.Ux_,C0$fٜ6Ԍ1:{֩\5f=#2]]e^X)o&?`0qᜧolYe,)]\ +19Zſ1VnC9Ni~6P8&C,scDv'0˽|EĎo}5}D1Q1KIg3 Glp]12[ 1 N#.x92CXx?<߇3ǵ-Hh ݝ$/6ڎdNBiIXɷM5nc?emm{{3B +}zgo7ƶ g/kWw^g(88uU\<zWJ׶eEWe!u,Wj-sj I+l `Bz>[rTZfCZRQ:omhs]6NkOpѬNPnǃp$B:>p`\W +endstream +endobj +1137 0 obj << +/Type /Page +/Contents 1138 0 R +/Resources 1136 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1016 0 R +/Annots [ 1119 0 R 1120 0 R 1121 0 R 1124 0 R 1129 0 R 1130 0 R 1133 0 R ] +>> endobj +1134 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1147 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1147 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1135 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1149 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1149 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1119 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [340.729 466.292 393.034 478.795] +/A << /S /GoTo /D (group__bsec__interface_ga51bcd13812ea62b35749284385a72f98) >> +>> endobj +1120 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [340.729 450.111 462.165 462.615] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1121 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [340.729 433.931 423.361 446.435] +/A << /S /GoTo /D (group__bsec__interface_ga70e68dbe60e2ba462537540d60192a2e) >> +>> endobj +1124 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [338.302 358.411 474.29 370.915] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1129 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [315.856 282.891 425.761 295.394] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +1130 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [315.856 234.351 398.489 246.854] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1133 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [345.267 145.281 428.51 157.785] +/A << /S /GoTo /D (group__bsec__interface_gac79a471c6e20fd8c17577f6f69a9469f) >> +>> endobj +1139 0 obj << +/D [1137 0 R /XYZ -13.423 915.745 null] +>> endobj +125 0 obj << +/D [1137 0 R /XYZ 29.788 737.428 null] +>> endobj +1140 0 obj << +/D [1137 0 R /XYZ 29.788 653.104 null] +>> endobj +129 0 obj << +/D [1137 0 R /XYZ 29.788 653.104 null] +>> endobj +133 0 obj << +/D [1137 0 R /XYZ 29.788 617.41 null] +>> endobj +1141 0 obj << +/D [1137 0 R /XYZ 29.788 548.854 null] +>> endobj +1142 0 obj << +/D [1137 0 R /XYZ 29.788 497.059 null] +>> endobj +1143 0 obj << +/D [1137 0 R /XYZ 29.788 389.179 null] +>> endobj +1144 0 obj << +/D [1137 0 R /XYZ 29.788 313.659 null] +>> endobj +1145 0 obj << +/D [1137 0 R /XYZ 29.788 176.049 null] +>> endobj +1146 0 obj << +/D [1137 0 R /XYZ 29.788 112.679 null] +>> endobj +1136 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F89 536 0 R >> +/XObject << /Fm57 1134 0 R /Fm58 1135 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1161 0 obj << +/Length 3349 +/Filter /FlateDecode +>> +stream +xn6б tMKn% 6 ekP%UA>~%JweQ_XpўDEO%`z@e* RD[P0i:#.iPf,(3BCID$) OCx㉂Te1aaxALL|,L4H2|z_'LWmt8QL*$@i[S|ypmp _̧:ƊXAs"L!O،#?Vh+ܗ[mzn=Oi0Y& +C`P"(q: # Lvyf _X^L43h>?nNoOBmߔՅigcSm;%؊mA61mw]X`HESL)tX:˯Kʫ-趫HeT1C+iP 75Oo`wWU?|;6v +3[4}m˖[/+M]@eiGVy8BpȫnQ3#i,! [GXUÈ +!JYy/uMFWqF&<-SxJj_nTuՖm6?v啦QwyQNr4P0h+MJܗ+@+jGG^tu~[[ר\*w3^gUve/k-Fo{`M~au)U]ajˮG^Gw6/sd:%׺AFUI r= xW@kg99DI"uu]F!NH}ceaIr kSä z Y!E͚.w +#.ȂO# ޴HEc3e%Mơ4 +8 X-"ܷFw}S}&֊)Ee1 e vP vG `Nj9J +u0G@+m8fDXx q 7K LgZ{6E$1697ͳչ&r1? )I 'Cc d,D%HSLW*}ju@#Gx2f +ȶ&qId@ԖUN+<|}MzxltmMGK KB4l' `Eപx~&TRPgαHX[˛, +S+P }T*fctjZ\y);+0֦̒&: Jg^WT$.#psňOJEZ5m-UDY$S%q0z| lHVuV"@kÀPϐdze e RETDV; j\/rE6[L%/&_$_WT*zhHC0DPBh ^BWQ7c]m)Ғ<6Ygyǒu8l3 +䚓0 97eL`7f#QZR F 6b^@ڈEGc5~{*-8JETnx$b/F9l]d| +L-|!c-$L|)O@LK&,-pBx>lB} ?cܢ喖GJ  k[s u̩= $b5@RF԰U2łĝL_W[yyuav c\= uKiJ[/.z4;ƽN ggF?h[ }wDQV`m! Žg3u*> endobj +1157 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1167 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1167 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1158 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1169 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1169 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1151 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 542.488 129.639 552.039] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +1152 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.436 528.938 176.917 538.489] +/A << /S /GoTo /D (structbsec__input__t) >> +>> endobj +1153 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [90.192 501.84 153.38 511.391] +/A << /S /GoTo /D (structbsec__output__t) >> +>> endobj +1154 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [414.427 451.231 497.059 463.734] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1155 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [180.363 274.015 262.996 286.518] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1156 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [66.247 237.525 150.492 250.028] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1162 0 obj << +/D [1160 0 R /XYZ -13.423 915.745 null] +>> endobj +137 0 obj << +/D [1160 0 R /XYZ 29.788 615.164 null] +>> endobj +821 0 obj << +/D [1160 0 R /XYZ 29.788 589.922 null] +>> endobj +1163 0 obj << +/D [1160 0 R /XYZ 29.788 589.922 null] +>> endobj +1166 0 obj << +/D [1160 0 R /XYZ 29.788 158.82 null] +>> endobj +1159 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F89 536 0 R /F44 227 0 R /F120 674 0 R /F159 1164 0 R /F163 1165 0 R /F97 535 0 R >> +/XObject << /Fm59 1157 0 R /Fm60 1158 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1196 0 obj << +/Length 2224 +/Filter /FlateDecode +>> +stream +xZYs8~Ӗ\c@lL9îǥ)HF$5D +V亝-3\(,|V8u(**#v ]O:VP䢬x>PwCX7x]8cx8ÈpAc勉2L1ywE!yymz&yUXTk㚬\>.qy/Ecsʸ997Ág@ +)} Z3Y2;C0]v'& [p0F$˿Tsn`դM0 pQLzݼС:zl?3Y [`o ˗{Mk>M]ӧM:zKwv´o0:s~[QeUaeMH@?mRRUy»Ulo`_r(: IN"Ai$&Z"[A+l_d{Igxޮ.~˺waKݼ50onauml5CvGnj,fj~44WW"^zXtĽf2xg:z{Zqez;lr249{GJ<7ٮ>G3t1>OID←^-CȺteMBO8խMY6UU=3iV/;U- \SZKQ9j`ou=ѬId~\eYZz^m x&Ǭɲts1ﭏo*[Jc{1dSj2vas׎;?T%C>׬41_} r%흵sq44%r|Me|S W¦3]|Z&tygÜ[IYL,ɀ$y9*"Z)';}ZBا;qlYTq &d;Ƅ@] +I*qY 6|clYȄ帮La"#?䃎NeQEuo3ZRȶ@`_uY˃4DePEί<ضoLeUXgo\s80;65sJZGސlG'g[pWɻ'MNeu=x|NM|  +͈H8<2 =*@sB[F o"2X^7j5Y?DhmWR5JV[(}uK nG Ϫ$FJkdh ΢ O i6e@]yڹfn'um 98AJNm##ƊX\;5LjdEVYgq ϫ> endobj +1192 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1200 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1200 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1193 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1202 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1202 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1173 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 588.189 80.996 596.9] +/A << /S /GoTo /D (structbsec__input__t) >> +>> endobj +1174 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 569.26 85.181 577.971] +/A << /S /GoTo /D (structbsec__output__t) >> +>> endobj +1175 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 540.867 118.655 549.578] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +1176 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [66.451 493.544 106.102 502.255] +/A << /S /GoTo /D (structbsec__input__t_a916867811b65988853b69f729b91c262) >> +>> endobj +1177 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [116.662 493.544 210.71 502.255] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650ad30626f0de1be98802cb5e50c8b67207) >> +>> endobj +1178 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [66.451 484 93.549 492.791] +/A << /S /GoTo /D (structbsec__input__t_a000803d39a2be521f2b5e7017c31303b) >> +>> endobj +1179 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [66.451 474.615 110.286 483.326] +/A << /S /GoTo /D (structbsec__input__t_a90d515d57b274dfde74a281de469a3ad) >> +>> endobj +1180 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [66.451 465.15 106.102 473.862] +/A << /S /GoTo /D (structbsec__input__t_a916867811b65988853b69f729b91c262) >> +>> endobj +1181 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [116.662 465.15 210.71 473.862] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a3eb936f08a8f6f01d4c683a6ba0c9d3a) >> +>> endobj +1182 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [66.451 455.606 93.549 464.397] +/A << /S /GoTo /D (structbsec__input__t_a000803d39a2be521f2b5e7017c31303b) >> +>> endobj +1183 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [66.451 446.221 110.286 454.933] +/A << /S /GoTo /D (structbsec__input__t_a90d515d57b274dfde74a281de469a3ad) >> +>> endobj +1184 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [66.451 436.757 106.102 445.468] +/A << /S /GoTo /D (structbsec__input__t_a916867811b65988853b69f729b91c262) >> +>> endobj +1185 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [116.662 436.757 198.157 445.468] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a381b968290256e77d50c4f7e92bfb27c) >> +>> endobj +1186 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [66.451 427.213 93.549 436.004] +/A << /S /GoTo /D (structbsec__input__t_a000803d39a2be521f2b5e7017c31303b) >> +>> endobj +1187 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [66.451 417.828 110.286 426.539] +/A << /S /GoTo /D (structbsec__input__t_a90d515d57b274dfde74a281de469a3ad) >> +>> endobj +1188 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [66.451 379.97 122.839 388.681] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1189 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [83.188 351.911 114.471 360.288] +/A << /S /GoTo /D (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a06af666972edcebef3302d015f1d56c5) >> +>> endobj +1190 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [99.925 295.036 164.682 303.285] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea2368e219ebbce4e1ede7209486283a6e) >> +>> endobj +1191 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 114.804 129.639 124.445] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +1197 0 obj << +/D [1195 0 R /XYZ -13.423 915.745 null] +>> endobj +1064 0 obj << +/D [1195 0 R /XYZ 29.788 180.037 null] +>> endobj +1198 0 obj << +/D [1195 0 R /XYZ 29.788 161.467 null] +>> endobj +1194 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F120 674 0 R /F97 535 0 R /F44 227 0 R /F163 1165 0 R /F159 1164 0 R >> +/XObject << /Fm61 1192 0 R /Fm62 1193 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1225 0 obj << +/Length 2680 +/Filter /FlateDecode +>> +stream +xZYsF~ׯӆGskX:'v@pDbhʏߞ'Q$U*3=_ws\gag`pLagr0ؗ:FUY;wmԈQ"|<*\xrP:t;.)qw]ReqeZS]TGBI(p5h +} +ONQ&yq>TL8) +4m=\ec&=fAfz+S +t+Muru+1fCĈh02u\kQ2B0`hĂj] #P!E.gGέ,X~EʾDeɤ0?< oK|,kPW^0|Lwa2 +4$$\\IJ5$(n AiQ`"K0.O72`A72-e1Sʜ5?:2*ەY[Mc'TrNT&Q"=C<jC6,dCϥ/ƶUhi k-ȝmǸXlThbNh)B|ƚ. kIHPρ }e2ŎU1V2z$5ϹEUpyYy\*ߖ6edѡ- >.ºakEH6Q)-Wo*Ql'<[j,L*߫=Y[m|5ѿ" E,a ژ{`L W + ,v57Smw@ +ɶTխ{6\\On2Gμ@G׿nn_fwn,X:\3M`=Ev|vovӄ6NcJmbXY`.bLM&yqB@ "5,S37ƈ( +)~7 ]`ǂ +vW +ax7~lcѫC~5Ew 0B#^sS߲pa0 LrV^0xrnS) ?ev:I(t6xbwN=i(C3U? +Xat8+сv5 Pt5چq-]ѣq a #i,=Qb)=Xa)(,ɳI4Мm¯T=0U;`އ_MKz%b31VpvDzZT=U櫇5^@.w׋t< lm\v{ƆqJ 2R`]jaqXꝂp-vY"=-*C3UpDKEV XyY56zq/OC0O~ɲXl =whhTCރU%̂fO<"/H^D56 cØ.QQ~jQt*Y|D0vb=\.ꐽM,wH@ok_g Ǖe<(]1֓YVE(;BBOmu|fk Ҝ\ 7[(n5w}Ľ^(,/!P edm,˛"fׇ5U?R%j#]YiD n^F XLoT k=~ep&i7S[`2b1?cy^z#Y @7i0jմP nX3&.v8D"xb3qҫ>nTVX!BdĩCZތuemm{&23s9o)e0m7|by0xrܫ*OҲc>;=uwNau}ۥ +0;7@ h5=G/-t}i#~ϻ14nihb !` LaHݕx PIfI"w'5:`N炁ہ7G] 6[OGj8BB_A'o"4r_iQh&Kޅ>VSCq$7iTnur3SυL_>2M5_0:tI)S!_jB7vVCejP+4k Xׁޫ|Wko±"ğ48I=c0` +Dws6LXJ5?Ja,aV"g>xz*9N{VzU>Tq_)pǝ֭4 E7ߣsU래blulΫ%uN[ӉѦViךZL @ =DXssƭ+On2L>e)J6 +] :O0ӷ0fD/|Z7&vƅ(,]Q]Er?[D@ԟ6an Xih(0^盛 @ޱ'Rf@YacAK8̼63ڿ=; +endstream +endobj +1224 0 obj << +/Type /Page +/Contents 1225 0 R +/Resources 1223 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1199 0 R +/Annots [ 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R ] +>> endobj +1221 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1229 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1229 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1222 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1231 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1231 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1209 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [291.91 678.264 411.796 690.767] +/A << /S /GoTo /D (group__bsec__interface_ga8798390d842b820e79e9cbf8ba4d516e) >> +>> endobj +1210 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [403.485 664.715 524.921 677.218] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1211 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.541 625.701 240.588 658.026] +/A << /S /GoTo /D (group__bsec__interface_ga8798390d842b820e79e9cbf8ba4d516e) >> +>> endobj +1212 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [375.68 598.603 567.119 610.833] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1213 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.953 319.384 260.921 328.175] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1214 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [183.611 309.919 298.58 318.495] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1215 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [112.478 300.782 227.447 309.246] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1216 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.4 291.317 248.368 299.781] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1217 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 253.132 122.839 261.923] +/A << /S /GoTo /D (group__bsec__interface_ga8798390d842b820e79e9cbf8ba4d516e) >> +>> endobj +1218 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 161.172 129.639 170.812] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +1226 0 obj << +/D [1224 0 R /XYZ -13.423 915.745 null] +>> endobj +1227 0 obj << +/D [1224 0 R /XYZ 29.788 571.106 null] +>> endobj +546 0 obj << +/D [1224 0 R /XYZ 29.788 230.97 null] +>> endobj +1228 0 obj << +/D [1224 0 R /XYZ 29.788 209.939 null] +>> endobj +1223 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F120 674 0 R /F163 1165 0 R /F159 1164 0 R /F97 535 0 R /F44 227 0 R >> +/XObject << /Fm63 1221 0 R /Fm64 1222 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1248 0 obj << +/Length 2720 +/Filter /FlateDecode +>> +stream +xڽZ[o8~ϯӎD IL6`:i be֮m$m1?~onvb;(D /(.pxqℌq'^k$)yum܍EMxXDdaQκ*w N YyAqz"oGOv AC gn"Y^4GbSdy)_/ J{A!Hk?cgu0ȗ:Z6=g7F%<^@%)R'_8>}>Lzo7XqfM΄й*8IcpȈ +( +3^x (^B\y*~*Ty.6n[q) +!״tHxn,En:U+3ZgW8ҏVVhM Ld_< P`%! kKf>uu]V88tӅ('J\0#-Ctz˴"KTZB;Y{(Zקt]B/uʪ,3ǡY9l/-()Ѫx,Fִ%ߧ@XgIjO M.Ti.f-(26߭9M~%=ݛJβ5yIR+Kh&l +9B0!P*"OUG]V7]MK]nV4oiY花oi6zqa:V8Mw7܏owu;]O<E{Zʲ&ڕ7mե>ekx-eܲOY/xyQX/8uzqC4#Ș! )h1F$вH֕n= % Yvs. e7>d8:<f|n8S' *Zi\ ZN)ʀGgPP'R QφUv0\|uȤ^GiwQPu%Z I򬐯>v 7z4}dH(l /F)E=a\6yL8?,&6rgqd;~%=zj} BtgPG@_ʱj$4diLèMRV{PKDf/ z4M!7fA tT?W0;E y2z䏩 oi'$۷g:6ovwEb6/]NkJ%e{gt# I#ݬVY"abt%"sL10jm '5G=wn|#w|%+|NJG-/{z)NF0Cg|.}2jᏑiֳ\!t*wL w]ԅOgI6(VԇHi|5lWjR>)G-hH?Cwh{{{d7 $uޮݿ+Au|; "u& u72&bm=϶ +Ii7cCS4G??ςq*R HU]%l̸{a{csyE@Iyuڅ~Qtҥ(&>fSa|_hz_qE5#2YƛuC٪Li)Βjoz*/݀:KG;?n~f7cZ;aY0(1С'(;4/@WӎԞ9|3$ta4,<ogAD@M"jsw 8HJv? J1rODnfflhdsvnln߇;mK95lqf%]"-.DPyKbZ_ӤZ @ɴ1Mꛘ[mAlq\wV"u5QkFot䮈~ ]J38McoiҳfER]eiymͪ~!b+F(tZ5ąv6y^E\ظ +ăȫMt3$vs݊4pPw.! xS +endstream +endobj +1247 0 obj << +/Type /Page +/Contents 1248 0 R +/Resources 1246 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1199 0 R +/Annots [ 1219 0 R 1250 0 R 1220 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R ] +>> endobj +1244 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1254 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1254 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1245 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1256 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1256 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1219 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [526.903 725.921 567.119 738.424] +/A << /S /GoTo /D (group__bsec__interface_gac79a471c6e20fd8c17577f6f69a9469f) >> +>> endobj +1250 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 712.371 82.93 724.875] +/A << /S /GoTo /D (group__bsec__interface_gac79a471c6e20fd8c17577f6f69a9469f) >> +>> endobj +1220 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [458.194 712.371 540.827 724.875] +/A << /S /GoTo /D (group__bsec__interface_ga70e68dbe60e2ba462537540d60192a2e) >> +>> endobj +1234 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [381.448 659.809 551.391 672.312] +/A << /S /GoTo /D (group__bsec__interface_gab2122fa3909f67a2c786ecd2d8993977) >> +>> endobj +1235 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.4 388.862 235.816 397.327] +/A << /S /GoTo /D (group__bsec__interface_gab2122fa3909f67a2c786ecd2d8993977) >> +>> endobj +1236 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [171.058 379.398 273.474 387.647] +/A << /S /GoTo /D (group__bsec__interface_gab2122fa3909f67a2c786ecd2d8993977) >> +>> endobj +1237 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [158.506 369.933 260.921 378.183] +/A << /S /GoTo /D (group__bsec__interface_gab2122fa3909f67a2c786ecd2d8993977) >> +>> endobj +1238 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.584 360.469 240 368.933] +/A << /S /GoTo /D (group__bsec__interface_gab2122fa3909f67a2c786ecd2d8993977) >> +>> endobj +1239 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [158.506 351.004 260.921 359.469] +/A << /S /GoTo /D (group__bsec__interface_gab2122fa3909f67a2c786ecd2d8993977) >> +>> endobj +1240 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 322.284 89.365 331.075] +/A << /S /GoTo /D (group__bsec__interface_gac79a471c6e20fd8c17577f6f69a9469f) >> +>> endobj +1241 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 237.097 129.639 246.738] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +1242 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [90.192 223.638 158.088 233.189] +/A << /S /GoTo /D (structbsec__version__t) >> +>> endobj +1243 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [78.035 60.127 153.391 72.358] +/A << /S /GoTo /D (structbsec__version__t) >> +>> endobj +1249 0 obj << +/D [1247 0 R /XYZ -13.423 915.745 null] +>> endobj +1251 0 obj << +/D [1247 0 R /XYZ 29.788 632.312 null] +>> endobj +1025 0 obj << +/D [1247 0 R /XYZ 29.788 302.187 null] +>> endobj +1252 0 obj << +/D [1247 0 R /XYZ 29.788 283.645 null] +>> endobj +1253 0 obj << +/D [1247 0 R /XYZ 29.788 193.864 null] +>> endobj +1246 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F33 562 0 R /F30 563 0 R /F120 674 0 R /F97 535 0 R /F44 227 0 R /F159 1164 0 R /F163 1165 0 R >> +/XObject << /Fm65 1244 0 R /Fm66 1245 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1278 0 obj << +/Length 2231 +/Filter /FlateDecode +>> +stream +xY[oܶ~B*ZR4@{g{Oahܵ]iKIvRǟMK&$@'pf8͐{|MwF(^GF҈G9#H0)#.k6eU~^88v3lc1aE"Ljc_e"zޞQN)Ewóc +&DXG@"#QX *~vyBDMת^V-~:{Œy2`]F+)J$3;Mh F`-g2PDj=4uyT3D)VM/7붱z%B{DZu/1_DH;$C,Q Ą6Dݫךr$b4\r_Z!d.ʷU+o=nOY7_'pa `=_2ae9 +2AJSWuS-4Gń6ZayRõ(5w(ÈA|'Pm[my-rD."W:Nsbtry#^^B".(v۵mBljݪtkl[mlNoOF e"ma7^Te@7>=6]zP]kŝ[#njAQrkA!$)wjRuX M;iWr/lz;u}UdriF=XiMf)NώK ;Ӱя)<Ӗ?NC2QVdÀosֶ+.mߡO42m+nj 4`;AJx褱`Ynp&+p(Vxa|Hsbg7[];`Pv%4%`ڔYPW>Λ01@e_)4,fk,-\D@c3H[gR9ҲvGtWwf[Wj>v|Z:{Uz+L8R}Pxۜɝ)wlrĠ'v&'KhG6"{<:P)ymhk/pfZ0x8r8Y J lǏ;0!u7*wJ)Nnߗ)Z_&ABE&-,m5L6n)w \hqy˓@=b!߃Dg,8KL 02(9o"׭d6'*McɁ|z~Fz=ݼ`IQ(_Yu r&% 1bar}or4x[x`fTf_T0GD)̯7X&2!J?~O-ڷ61SƼC!L nOlJ2iߗmWn͂"۶ x!%] 8)\_#C,@J6 Nn]V{Ln)v Roou;^=YyVpѿbŬx7ʏ" +endstream +endobj +1277 0 obj << +/Type /Page +/Contents 1278 0 R +/Resources 1276 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1199 0 R +/Annots [ 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R ] +>> endobj +1274 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1285 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1285 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1275 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1287 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1287 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1260 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 720.495 89.365 728.96] +/A << /S /GoTo /D (structbsec__version__t) >> +>> endobj +1261 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 710.704 97.733 719.495] +/A << /S /GoTo /D (group__bsec__interface_gae8fc6d614d6a40f0088262dccbb960dc) >> +>> endobj +1262 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [208.717 701.239 231.631 710.031] +/A << /S /GoTo /D (structbsec__version__t_af823001b85e62b90279f9e6f3c478c23) >> +>> endobj +1263 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [271.482 701.239 294.396 710.031] +/A << /S /GoTo /D (structbsec__version__t_a9d47d254d17740222791fa0f53c7ac52) >> +>> endobj +1264 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [53.898 691.775 106.102 700.566] +/A << /S /GoTo /D (structbsec__version__t_a3d9b11a72027026f492a438342a2efbd) >> +>> endobj +1265 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.953 691.775 198.157 700.566] +/A << /S /GoTo /D (structbsec__version__t_a5daac4534748c6f0be9f009273613b02) >> +>> endobj +1266 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 616.142 129.639 625.693] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +1267 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [288.17 565.533 339.469 578.037] +/A << /S /GoTo /D (group__bsec__interface_ga51bcd13812ea62b35749284385a72f98) >> +>> endobj +1268 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 433.03 68.443 441.495] +/A << /S /GoTo /D (group__bsec__interface_ga51bcd13812ea62b35749284385a72f98) >> +>> endobj +1269 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 357.071 129.639 366.622] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +1270 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 137.485 101.918 146.197] +/A << /S /GoTo /D (group__bsec__interface_gae89eedb131288b72c267c02ec9dea8e5) >> +>> endobj +1271 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [104.11 137.485 168.867 146.197] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea2368e219ebbce4e1ede7209486283a6e) >> +>> endobj +1272 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 60.697 129.639 70.248] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +1279 0 obj << +/D [1277 0 R /XYZ -13.423 915.745 null] +>> endobj +571 0 obj << +/D [1277 0 R /XYZ 29.788 680.816 null] +>> endobj +1280 0 obj << +/D [1277 0 R /XYZ 29.788 662.273 null] +>> endobj +1281 0 obj << +/D [1277 0 R /XYZ 29.788 422.071 null] +>> endobj +1282 0 obj << +/D [1277 0 R /XYZ 29.788 403.529 null] +>> endobj +1283 0 obj << +/D [1277 0 R /XYZ 29.788 281.954 null] +>> endobj +547 0 obj << +/D [1277 0 R /XYZ 29.788 126.25 null] +>> endobj +1284 0 obj << +/D [1277 0 R /XYZ 29.788 107.312 null] +>> endobj +1276 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F120 674 0 R /F44 227 0 R /F163 1165 0 R /F97 535 0 R /F33 562 0 R /F30 563 0 R >> +/XObject << /Fm67 1274 0 R /Fm68 1275 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1308 0 obj << +/Length 3148 +/Filter /FlateDecode +>> +stream +xks6?3&BI[G/Kھ& EAǝADr:'b Y;p|='Q1TY]| h8%!Y| nG׾{,N?{ <8/BB䝷,C؉8.ts(ʢ.FxGϸ^  + 㯞K{Ep ?prO5 c "C2"uslfr> &n_{x[4r]%MV6[JS7>! )rCN:.Dx(-t9峬hB6o0Sx9MI+C0E^Y㾛ipqq/j_6MVkMPSp8#> -ex74fJbKemCgob1Pf>0 `3%A_"Jy+MfJ* {~$H1`œfyVdBl\'=JgҰYh̜ǘmb6y{XJݖKCLRk*H +Z%10[Y%ٛ(߫|eP*f{jDx%xFYrPۀ +u@Mv2P)Pjv1^Tik3ͅvI]NKW"pj*v(I/KȊ~)k8I#'}bB!W67ΥoW4Y}ӽRYɚ_ӟ sB9L ŠHCR%["҄ X‘Qe"qW`4|U&;AǏajȁyrO1Ȱ)ٔ $]B]nxs_€@?$j_. ??a.RVҌsT}+H^C$et{w1KvLJr)oА13YAo*$ݖ7fUe"3ˆ5MxTGƽ1JK{ j@1[!R5MnÔ k}VYW;QcHJC :xMaWmHuG#ISؾ(]eI!튘D=J|@|+>£ "!OߗoEZj k.ҼO ;jXDQ(suYefkOްg,ɷU!.1BQ[ ~R6otعeЖ 6`'ozN8j(T +&+&Kr 4ZB>]zl>mܢ~T۬݀qS֨g5i kе2 JQ~*fBGUB߆^Rɢ@]VgifJ%ha1^ǔxmE_lcotqZ_*@Y#Un:bgT_;֝+ahGiv˚~@#ln*AZK nnRx!I+ϞBy~=}k<$E`cy^3:ʿ{Ue?tnۅ:-8'PFQx$Dx0b@|5UolcBx6I0bAMfpFϤa>bO0HΊ-r1@`ؓi}* 24OH>Eqm諲t6VJI^v`TKO|\P/r$WL~e(a* )R?3h2kmoNRkcn}akk0:{tt-л2ɪ1fy47>ll|q_^ +endstream +endobj +1307 0 obj << +/Type /Page +/Contents 1308 0 R +/Resources 1306 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1199 0 R +/Annots [ 1273 0 R 1293 0 R 1294 0 R 1295 0 R 1310 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R ] +>> endobj +1304 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1314 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1314 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1305 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1316 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1316 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1273 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [90.192 715.476 181.624 725.117] +/A << /S /GoTo /D (structbsec__bme__settings__t) >> +>> endobj +1293 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [50.126 678.506 159.06 691.009] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +1294 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.944 637.858 183.008 650.362] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +1295 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [487.392 624.309 567.119 636.812] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1310 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 610.76 96.25 623.263] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1296 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [62.97 574.27 172.875 586.773] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +1297 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [250.911 574.27 355.984 586.773] +/A << /S /GoTo /D (structbsec__bme__settings__t) >> +>> endobj +1298 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [161.817 542.476 271.722 554.979] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +1299 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [41.152 510.682 123.784 523.185] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1300 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [290.969 492.437 445.154 504.94] +/A << /S /GoTo /D (structbsec__bme__settings__t_a300b00f9580b9af76d441cd4db8d7083) >> +>> endobj +1301 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 303.655 129.639 313.296] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +1302 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [101.545 198.939 222.98 211.442] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1303 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [375.68 146.376 567.119 158.606] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1309 0 obj << +/D [1307 0 R /XYZ -13.423 915.745 null] +>> endobj +1311 0 obj << +/D [1307 0 R /XYZ 29.788 481.478 null] +>> endobj +545 0 obj << +/D [1307 0 R /XYZ 29.788 368.274 null] +>> endobj +1312 0 obj << +/D [1307 0 R /XYZ 29.788 349.732 null] +>> endobj +1313 0 obj << +/D [1307 0 R /XYZ 29.788 118.879 null] +>> endobj +1306 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F120 674 0 R /F163 1165 0 R /F159 1164 0 R /F33 562 0 R /F30 563 0 R /F89 536 0 R /F97 535 0 R /F44 227 0 R >> +/XObject << /Fm69 1304 0 R /Fm70 1305 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1333 0 obj << +/Length 2627 +/Filter /FlateDecode +>> +stream +xZms۸_  ^CҸlϴ$(Hf+ +_s?7(ے^g/no3x0\@Kౘc/ ʼRz_w/A bJM#xҍ {_{zFnP rOD1L˿{~ᘻq#`p +-<#E ۢJ}"ɭ̫ezdz(L^=ň +s^%ޣ]+qz+ﶋdCA+)\z^݌3X?۫9rY&uV}ͥЩK +aV][|`(|L8Q"!b:)eYlVs$88”/uJGxvaU$4"HčA3eǡ큣xd$򋢩w, +cSg8!>Ǣt| +H(ˑ}q(9vtqL xq4-Trn\7IYItoofbr|Y4vCG!u ^qBvc摠FÔO{ܜVٿ~ c}?|YX Cʊ-r,_ç>:Oû!hM7nʼ= +=8xD=XO,x44UhVvcHbdY%J}/{j:07(9O[h"h>#lr5Yo)4U*uLC⾺7U&\d#-&hZ^^+[i%Y} +'- }m + g}z}?o߮X>N>ZI[@!q:j^@t{,fb!?R,CeiyjeVE27wl`ۘ"[Z֥lQ%KVg[m6oV-F}B[nY%Sx_;H} +X02gv[/4C\fU=pִ28 0"(A`;&e6_aBPk5 +Ž W٬LoRz`Am>$cLۄc8F0A_F1,Ie:Fop >Ahz)AIF)!bUU/18Gkw126l<ө7 ,NHB̜А;(6|wjp0x'&Ĵ7!r#} v6 E؞m\t^ڪmkoڧ6H2; +'j'P6 1aɳU@؆9\'ڎ4ZkB~ce6FA>fGH­-~7ղ,oڞ;pL'4!T~1 l<8v'y=좸5g؁ ۟!v*~7һH'|N ~(٧ N "\6D~P~'wu!wIU3Lk󠼒IRyq"/,FF"m:z&?`to?\(;SAC +BBUV36ei1"YE! +Ua\pJl?:pwR2dORo$%Rp=;!GCLӞTw +endstream +endobj +1332 0 obj << +/Type /Page +/Contents 1333 0 R +/Resources 1331 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1199 0 R +/Annots [ 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R 1327 0 R 1328 0 R ] +>> endobj +1329 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1337 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1337 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1330 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1339 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1339 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1320 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [145.953 571.579 260.921 580.37] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1321 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [183.611 562.115 298.58 570.691] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1322 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [112.478 552.977 227.447 561.441] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1323 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.4 543.512 248.368 551.977] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1324 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 495.863 122.839 504.654] +/A << /S /GoTo /D (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) >> +>> endobj +1325 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 410.766 129.639 420.317] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +1326 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [449.242 305.96 532.972 318.464] +/A << /S /GoTo /D (group__bsec__interface_gac79a471c6e20fd8c17577f6f69a9469f) >> +>> endobj +1327 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [450.874 292.411 533.265 304.914] +/A << /S /GoTo /D (group__bsec__interface_ga70e68dbe60e2ba462537540d60192a2e) >> +>> endobj +1328 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [375.68 226.299 567.119 238.53] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1334 0 obj << +/D [1332 0 R /XYZ -13.423 915.745 null] +>> endobj +1024 0 obj << +/D [1332 0 R /XYZ 29.788 475.767 null] +>> endobj +1335 0 obj << +/D [1332 0 R /XYZ 29.788 457.224 null] +>> endobj +1336 0 obj << +/D [1332 0 R /XYZ 29.788 198.802 null] +>> endobj +1331 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F120 674 0 R /F97 535 0 R /F44 227 0 R /F159 1164 0 R /F163 1165 0 R >> +/XObject << /Fm71 1329 0 R /Fm72 1330 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1360 0 obj << +/Length 3078 +/Filter /FlateDecode +>> +stream +xks6{~?3!M|4mjv4ټH@Zrl%s']`̻i_ލzo_̄^AƘ'#Q5[)z1Z̃$ΦXYh4A1o8nHJČO٤{S`OzRe=!:9`(MYJr0_ygu=y*gWjS˓_߽;D(6Ke$[w^޽hp _xwRb "qX^sZlߑwUn+ +'J>WE`OzoNEt'A$' KMDFAa?FFo˥ju_ƉU}*| N5MpY8֛/53#Y"3i"9rzz<]ow{: 2;+zw]u"? $F:UUբ` hQLo:CZ?..^cB>~Z&Q#&q8Sο.F}wqݯתHjD(c[Y%:_('ܩ횢7#moo ^ |=B$YLl-pqc߁]=\M!``wHAÄO, I+8b):iG222@HpUM<,cR3"eI4. +)+Cލ#2e]1^HԵ6Y7=& #Tz;Y!SQDAJ 4 Pp 8([Lh>/|q=#vOBjO[->hs霑Ž``YXbWE] g6v,APx'|=(}#43G%qDU!\]SQFވ/l*PTݶ`y0R*t(p'U/Gf/ P\eo $)rpmj]q7U^('׼s#'6QSQK>_}!;@׶xJ,0qKHɑT$K$p=OƧ+t>dBqҦ +FCtd +PoWZkR pz{K8|?͉R9CT'DDT5i;J 茁 PۺZ5XYXorL¶oc35H$9[bhfy{(v`G +ىrߐ#Gb`*-E8֣7yU$fFl~B0[]+!f'""B 'q<{m'(eQ G{i\l~x7mXP2Cƕq&B9è}ֈ/`>o!6-z6cE4P]IX~ gqIZ_\b.uWK`6{GyY-* =wKjeefE'ZN5RtM0D4:{@u:;F@J ^0fEhfd̒4[K;yKF:I)zvyHR,v3׺~Osd'x=ݚYpL'98I +ZD6ԳB=DB*VD.ݩxt-bZ5m'Րb@W6*_=P'L@웾%|YxÜ B 6e%`;!馩oo.X +*Y.&s?a_cJͫ#|_`5.PC*2 +E''I>Iv*`r,5Nhq~; djOC놬e ۨ*`kyn +|%0i{!4a ojep#GɑAi$GxS0Η;^\GBӷ M!4CA\2+(6$$=ܝ'l~ٛq*(}_Jpǻ2^/@(tw|S/|u⧜ί:?w> !a(}ӵPhsF3&& +淲11hELE uh) X[|LV2<,{-BD߼Wмhd r0ro,B)ڧDåʟdlX.OjBǕJP2||RsˍwT iRck"6`G0OCXs|g0{H']Lݣӄ5\ ڶY¹59zLQHE:]ׯy[Cm^{>jޑ SP`:y16> endobj +1356 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1364 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1364 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1357 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1366 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1366 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1341 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [133.4 655.664 248.368 664.128] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1342 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [158.506 646.199 273.474 654.448] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1343 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [137.584 636.735 252.553 645.199] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1344 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [158.506 627.27 273.474 635.735] +/A << /S /GoTo /D (group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) >> +>> endobj +1345 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 579.948 89.365 588.412] +/A << /S /GoTo /D (group__bsec__interface_ga70e68dbe60e2ba462537540d60192a2e) >> +>> endobj +1346 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 507.669 129.639 517.22] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +1347 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.436 494.03 247.527 503.671] +/A << /S /GoTo /D (structbsec__sensor__configuration__t) >> +>> endobj +1348 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [90.192 466.932 219.283 476.573] +/A << /S /GoTo /D (structbsec__sensor__configuration__t) >> +>> endobj +1349 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [51.163 416.413 186.75 428.916] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1350 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [120.472 402.863 228.566 415.367] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +1351 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [153.536 371.069 273.103 383.573] +/A << /S /GoTo /D (group__bsec__interface_ga5e4d504611e1c4a0219861bbcf2ad650) >> +>> endobj +1352 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [109.688 357.52 220.888 370.023] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +1353 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [181.35 325.726 320.019 338.229] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1354 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [105.688 185.213 238.997 197.717] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1355 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [458.318 153.419 564.29 165.923] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +1361 0 obj << +/D [1359 0 R /XYZ -13.423 915.745 null] +>> endobj +648 0 obj << +/D [1359 0 R /XYZ 29.788 572.08 null] +>> endobj +1362 0 obj << +/D [1359 0 R /XYZ 29.788 554.127 null] +>> endobj +1358 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F120 674 0 R /F44 227 0 R /F159 1164 0 R /F163 1165 0 R /F89 536 0 R >> +/XObject << /Fm73 1356 0 R /Fm74 1357 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1395 0 obj << +/Length 2650 +/Filter /FlateDecode +>> +stream +xZo6B1"EѢx76>]va2c*K^= %Yc;Ey8y9"?ao +5|| Rfdܸ? &ȴ1w{]Vcn†&CF0]Jv0b?\f\?exT#8ǍjAF>u]crog`27<\ciV׳ѤLZ| `e㯆%ƣĺ}ۈqkd[YL Aӎ"0,nS EL1&i@k0rv!/ UTBc.|Yϸ"ۊY,>)x"FMD^k 4Gfs52AϔA`G^o̵HR >*uQtZQk\*@ ^ʭ`E9̅9mm*ձ +p *ZyqAƓ$,95`b5m`M+]D}F8xՊlGr.>'mzbcӇ(+ %fDZYE׆74joCyDO1 52ia2B:by''|EtaE\ՊWsKEQ6fY}Vs`SCF8P >mHC MhY8IdzL95/W*ؓSwyarbi>H&Lذ1jX,6&fi>5`nH/kCP'݋#v)aHmcxOHVQeHHxֈ^~ˣ=^{} + aAt +O!(Ke^Zt/'~cxo?orsק%qpF>c^rϗ<bށ iG;5* z٩KXN]-\<n=^PZ~5v,vbԻ+__ŋubOxAA<$/t8|lߔQCؾ0kĭTLoqɓ*<˸ʼZ=FyxmJw6Anfv?,i_YLhZt{0PP-P/H`nQՖQ&TQ&j"ߵTA./MF`gZxʶAHhQIkJUe[=(\Tq|9Ǩ7zQd +Y +_94q)I$ۍ2ϷGԡ(v`̸SB=_~-A^b>HOmdkJM<жF>!:CtyOO0~إwH$?i<|wv4NFOoo o6݌@Ŏ_FG܎mFS]]ގz;f9^/Kz #U[g@-u:NUQ߬~U:eQbG/J} A|5a#n_Nǣ]l讀"6'b\ M+N.% +R{6z0?vBN Km퇴eOm_}anõēwҹV[]8 zγadƃă "P u d_~H" +x'Ust i19g8z7r"L~5vt3vs& 4%%> ު7<TF#] 3t6DY&Yc)[97,O&yn)~r2j=+]]y6&F7hon27(ijaKf+S_#^JmƕHx7/6gsT]-\L> endobj +1391 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1398 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1398 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1392 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1400 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1400 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1368 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [356.816 706.099 439.449 738.424] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1369 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [144.264 684.865 280.253 697.368] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1370 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 320.545 196.93 353.181] +/A << /S /GoTo /D (structbsec__sensor__configuration__t) >> +>> endobj +1371 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 306.995 173.879 319.226] +/A << /S /GoTo /D (group__bsec__interface_ga5e4d504611e1c4a0219861bbcf2ad650) >> +>> endobj +1372 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 293.446 163.57 305.677] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +1373 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 223.091 143.761 231.882] +/A << /S /GoTo /D (structbsec__sensor__configuration__t) >> +>> endobj +1374 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.137 194.777 189.788 203.488] +/A << /S /GoTo /D (structbsec__sensor__configuration__t_a92665e4f2f3cd5237814488774c0f546) >> +>> endobj +1375 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [200.349 194.777 265.106 203.488] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea2368e219ebbce4e1ede7209486283a6e) >> +>> endobj +1376 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.137 185.312 198.157 194.024] +/A << /S /GoTo /D (structbsec__sensor__configuration__t_a150ba3a737fb75f56052c60d55246ae4) >> +>> endobj +1377 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [208.717 185.312 294.396 194.024] +/A << /S /GoTo /D (group__bsec__interface_gacf6a5816306dfc1e3c0b26a6d459fc71) >> +>> endobj +1378 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.137 175.848 189.788 184.559] +/A << /S /GoTo /D (structbsec__sensor__configuration__t_a92665e4f2f3cd5237814488774c0f546) >> +>> endobj +1379 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [200.349 175.848 315.317 184.559] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea792b0fbeffceea19513cc0bd31ce7ef7) >> +>> endobj +1380 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.137 166.383 198.157 175.095] +/A << /S /GoTo /D (structbsec__sensor__configuration__t_a150ba3a737fb75f56052c60d55246ae4) >> +>> endobj +1381 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [208.717 166.383 294.396 175.095] +/A << /S /GoTo /D (group__bsec__interface_gacf6a5816306dfc1e3c0b26a6d459fc71) >> +>> endobj +1382 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.137 156.919 189.788 165.63] +/A << /S /GoTo /D (structbsec__sensor__configuration__t_a92665e4f2f3cd5237814488774c0f546) >> +>> endobj +1383 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [200.349 156.919 302.764 165.63] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea5f42ad42c6bb71627b5ce91d4c410985) >> +>> endobj +1384 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [150.137 147.454 198.157 156.166] +/A << /S /GoTo /D (structbsec__sensor__configuration__t_a150ba3a737fb75f56052c60d55246ae4) >> +>> endobj +1385 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [208.717 147.454 315.317 156.166] +/A << /S /GoTo /D (group__bsec__interface_ga216b6f4807227a2c6a183aaa9a8b8d7c) >> +>> endobj +1386 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 118.981 143.761 127.772] +/A << /S /GoTo /D (structbsec__sensor__configuration__t) >> +>> endobj +1387 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [53.898 109.844 156.314 118.308] +/A << /S /GoTo /D (group__bsec__interface_ga847070d3ecfa970cb2f716a2d11fe219) >> +>> endobj +1388 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [187.796 100.052 290.212 108.628] +/A << /S /GoTo /D (group__bsec__interface_ga847070d3ecfa970cb2f716a2d11fe219) >> +>> endobj +1389 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 71.738 131.208 80.45] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1396 0 obj << +/D [1394 0 R /XYZ -13.423 915.745 null] +>> endobj +1397 0 obj << +/D [1394 0 R /XYZ 29.788 592.073 null] +>> endobj +1393 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F89 536 0 R /F120 674 0 R /F97 535 0 R >> +/XObject << /Fm75 1391 0 R /Fm76 1392 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1455 0 obj << +/Length 2649 +/Filter /FlateDecode +>> +stream +x[[o~ϯcT XލMv-JJ^ϐelG+oqKY"?9 gHh@ [/nEo%@\Xo=Z| (H(b3A#dեsT3+<%˒ +^F:V9saz Bu~1tLfa CgJzdMO6u󡿊hO/|"\hD@h >la_j}U:Ϭ5K%ƒ̥X> j@KJv&c6K4*yq fP[K[ )Uل:{̲R8"]jZylW;y3?FI/`Ī#UPjTW-d^S#p(CS&2^FdĘʧ +y d_a29z9R5d*] sJ2VD?~ԏ*pMSXVxf[b(ժ9<<Nl,UklW+;qsۻG~q V&QXKL' x&<\OO7aSOZiO4 _ǪcaaHpI07HyMV/[#{.W-^a,3%eM l'œ5ꪐXAG -6&pᡨ<`j&!#_sfؽFvp +i$ -HְِyP"^a.]}gqɮ2 C۱%f1K׊7CBRÐZ_=>vFcde'[b(NrxE;p + \j^8tG~mw?1O"!fA~h/Kʭ"T\I]ŬG|T9%s6Lpsz]|q5TLJ߉6 + e|d= ag/7<Ԁ,[a[FoaJT=8U4Y0y5.y "퇤N93U2هaI]4.OkLqE)m1KQ^EXB:5ZVMm4GUzZN `fqFe,#:zr5p@(kǭ[ /ieҹfW3.2P\\*k ƫv{;eGĥK0\p(dDV|?Gj 4tԹ$R_T4nۮ<ۘ|d SgtcRȟlB7V zhʳ ZA M㇟Bp;v9*F\<2ضd!6)X6G?ݛVY쁳eT\w59 ȟn/KP(@Ж'm1=Q-u%#=JD^n:dKMY0}}&-N{\mj Bd E`, +&.Y SNw^Ϣp.%9V%4VXĀ h0Ij }i@X_Rp1Rm8؏>*^IFV=ұ ?JѪΓR:i`G0īp]+SA|a17w]v2ڝ>ƞ]@*m^-0s +ʑڎEHsC%V_GP#ӛsWub0^*7g 1ZD"\u3{3_04c\qj٥vkjܾ?WCfC=63sD*2Tӥu) +SiUeSZ'e._w$_?++_NbS#^? s~Omta ;*We.F jø|xD3K= uO.80s{Nv[XV m䠃w m,'DS,h +endstream +endobj +1454 0 obj << +/Type /Page +/Contents 1455 0 R +/Resources 1453 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1363 0 R +/Annots [ 1390 0 R 1435 0 R 1436 0 R 1437 0 R 1438 0 R 1439 0 R 1440 0 R 1441 0 R 1442 0 R 1443 0 R 1444 0 R 1445 0 R 1446 0 R 1447 0 R ] +>> endobj +1451 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1459 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1459 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1452 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1461 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1461 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1390 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [52.329 672.212 153.175 681.763] +/A << /S /GoTo /D (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) >> +>> endobj +1435 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [477.758 592.64 560.39 605.143] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1436 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [303.136 537.399 385.769 549.903] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1437 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [315.267 507.271 397.899 519.775] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1438 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [303.136 477.143 385.769 489.647] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1439 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [327.987 447.288 410.619 459.792] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1440 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [460.772 417.161 543.405 429.664] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1441 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [389.242 387.033 525.23 399.536] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1442 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [389.242 356.905 525.23 369.408] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1443 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [343.162 301.664 479.15 314.167] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1444 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [389.242 271.536 525.23 284.04] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1445 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [303.136 201.034 439.125 213.537] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1446 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [303.136 173.935 476.696 185.855] +/A << /S /GoTo /D (group__bsec__interface_ga847070d3ecfa970cb2f716a2d11fe219) >> +>> endobj +1447 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [389.242 143.807 525.23 156.311] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1456 0 obj << +/D [1454 0 R /XYZ -13.423 915.745 null] +>> endobj +141 0 obj << +/D [1454 0 R /XYZ 29.788 737.428 null] +>> endobj +719 0 obj << +/D [1454 0 R /XYZ 29.788 719.646 null] +>> endobj +1457 0 obj << +/D [1454 0 R /XYZ 29.788 719.646 null] +>> endobj +1458 0 obj << +/D [1454 0 R /XYZ 29.788 644.424 null] +>> endobj +764 0 obj << +/D [1454 0 R /XYZ 237.212 612.282 null] +>> endobj +822 0 obj << +/D [1454 0 R /XYZ 106.27 595.703 null] +>> endobj +852 0 obj << +/D [1454 0 R /XYZ 110.503 554.012 null] +>> endobj +854 0 obj << +/D [1454 0 R /XYZ 87.485 523.884 null] +>> endobj +887 0 obj << +/D [1454 0 R /XYZ 43.848 493.756 null] +>> endobj +889 0 obj << +/D [1454 0 R /XYZ 82.03 463.901 null] +>> endobj +890 0 obj << +/D [1454 0 R /XYZ 36.164 420.224 null] +>> endobj +922 0 obj << +/D [1454 0 R /XYZ 117.201 403.645 null] +>> endobj +923 0 obj << +/D [1454 0 R /XYZ 109.903 373.518 null] +>> endobj +924 0 obj << +/D [1454 0 R /XYZ 127.488 318.277 null] +>> endobj +955 0 obj << +/D [1454 0 R /XYZ 102.627 288.149 null] +>> endobj +956 0 obj << +/D [1454 0 R /XYZ 61.019 231.195 null] +>> endobj +957 0 obj << +/D [1454 0 R /XYZ 73.139 160.42 null] +>> endobj +985 0 obj << +/D [1454 0 R /XYZ 97.783 118.728 null] +>> endobj +1453 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F120 674 0 R /F29 727 0 R >> +/XObject << /Fm77 1451 0 R /Fm78 1452 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1468 0 obj << +/Length 3081 +/Filter /FlateDecode +>> +stream +x[ms6_L @w37Ȳ֖]INzf4Dl%R}߂)]f"b7|?cmJӵ3a~'ll5)BW{>=PALvc̮z k3 QkMDS:tG05na0_m]G;Χpr7|gql!C7iًn<˫/_o\'JBwq:Wn/ߥ<6@JLčbwv+I |uMQ0!!D 0`J#\M + X +|: 3$f?>fk[NSpF$&6L8qp%R. qu(HH>rմ ן=EblNΣ)ZV@]2Qmc~㽄P:`d;+t!j!lh8e̥`2D& تP!V(Y!%/)5jWB1)B\.Eshl6 ټ'aF)P̀6{w9w)(t_C : +^Q0'K[y#4*?]-P!,U)'D$c$1}0LF0ݏpT81ݽa;^= <^f 01 U) tOAt2jUd +p σrn㇇,h\O3TR+t6Ճ:C諨j80S!7 [6J~щݗB5rBS'+bU^zdYR"ЀRqGVAgaA2w?@ (TfbPU}g[weSGsT P +WP.xmtVP :"@&m4LEݎ~=yz 5;7v̉cnIs_@TK"7Dʉ2Gei=DeRZ(J>Pנ 2F*ݿT6+UzIG % +'@nver]n.8%=h#s2~bHH°X;yka^jWFjq`Et(xȭZ?{ @OM;CyZ:qHgK(/cՈw8βkږ1*^{O.ٮӵ, +obHZFk#J c -m`2Xefrh o mn"HVh28а+mĠ2leix{?~G6 Iy^0>zbiDm^F +46UkzH,3@<&p6OFp ׳$+҉=PSGb3]-U$!,6}ZΌ@ r1Q=177́C'aPuK/so7sA+܇8C}Qᤎڢ,g48 ]V I_\b9uֵt@$SJ#E>7% "Ep6n9oG8Z 5\ 'G^jM2usW步oYt 0 \MF9,|j&κ-*i2B#%f" '+{4CW; 9L >:J~uqC$xg=KkD6xBƟ`d)mE 3znJ/Nz[|?C1X孟Tp%RH0H.Ƌ/nTbS ^w,4OlOc%@d`Į:|/ӕWlO7m8g)HJt? JH-%ɯFvjo{νR/AgX}R-F20pEaDpv&F6s'Z($M1xZUO⥷L +vhU~gX ~61L" BoG^zw.,H/hD:`ޮ/BwdQp_8}8[(D +ߖD03 cy!xzG&j +endstream +endobj +1467 0 obj << +/Type /Page +/Contents 1468 0 R +/Resources 1466 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1363 0 R +/Annots [ 1448 0 R 1449 0 R 1450 0 R ] +>> endobj +1464 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1474 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1474 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1465 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1476 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1476 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1448 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [303.136 658.546 439.125 671.049] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1449 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [303.136 585.013 439.125 597.517] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1450 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [358.914 185.09 468.819 197.593] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +1469 0 obj << +/D [1467 0 R /XYZ -13.423 915.745 null] +>> endobj +986 0 obj << +/D [1467 0 R /XYZ 73.565 705.286 null] +>> endobj +987 0 obj << +/D [1467 0 R /XYZ 83.274 675.158 null] +>> endobj +1022 0 obj << +/D [1467 0 R /XYZ 141.452 618.205 null] +>> endobj +1021 0 obj << +/D [1467 0 R /XYZ 69.91 601.626 null] +>> endobj +1470 0 obj << +/D [1467 0 R /XYZ 37.461 571.498 null] +>> endobj +1471 0 obj << +/D [1467 0 R /XYZ 168.103 541.371 null] +>> endobj +1023 0 obj << +/D [1467 0 R /XYZ 83.863 524.792 null] +>> endobj +1060 0 obj << +/D [1467 0 R /XYZ 82.052 483.1 null] +>> endobj +1061 0 obj << +/D [1467 0 R /XYZ 109.336 425.874 null] +>> endobj +1062 0 obj << +/D [1467 0 R /XYZ 153.561 395.746 null] +>> endobj +1063 0 obj << +/D [1467 0 R /XYZ 38.416 365.618 null] +>> endobj +1095 0 obj << +/D [1467 0 R /XYZ 83.241 335.491 null] +>> endobj +1096 0 obj << +/D [1467 0 R /XYZ 72.354 278.264 null] +>> endobj +1472 0 obj << +/D [1467 0 R /XYZ 57.179 248.137 null] +>> endobj +1473 0 obj << +/D [1467 0 R /XYZ 125.666 218.281 null] +>> endobj +1097 0 obj << +/D [1467 0 R /XYZ 79.598 201.703 null] +>> endobj +1112 0 obj << +/D [1467 0 R /XYZ 69.921 160.284 null] +>> endobj +1098 0 obj << +/D [1467 0 R /XYZ 61.456 130.156 null] +>> endobj +851 0 obj << +/D [1467 0 R /XYZ 29.788 63.19 null] +>> endobj +1466 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F29 727 0 R /F33 562 0 R /F30 563 0 R >> +/XObject << /Fm79 1464 0 R /Fm80 1465 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1502 0 obj << +/Length 2060 +/Filter /FlateDecode +>> +stream +xYKo8WTH[ۤihi(ckaK( ?~"%a;Ͻ,49 9Asu9r@0"r8`1">.k6ebUG̍,2f!Aj 9=n3/Q jGW "y~#>O,B 4t9yxq@L2SyQjɬa޽@啋_~֤+M{h]G @20bvM]lpӀ |06eQ8Dt-h]6!Lx)fUa=L%^qV˞vG 3E.3dV,=nƓ1p!t8叓=$) ֒O@z6/L'Ui]6RǪ7B0ĭs,f+MX0)suQ)ͣBuBB1NJ#1UFhUU=[+>γK>j٪,T[}9p$'BUi͖\HYGE[ZUZȤQRɲL2S֫ju{wZ[c.N-Mp$49֎zG*  N̹6@#h<̻l`3i pN&ې>c7Ϩú-smW2+G̢bYоiګd7f Q2lWE,,#<K<4^b#m}pͰ+"!+)g׋p*44R +T#Uln !يQ6Vm ; +NתMb"/vozUja8 =ԛes$bhu #DkqIEyyz΃f 1/ϟ[/<;5a#0h>I4fkNq?㨌̴nqi~(ӭA瓟i+KeU?qW&IFo8׳C'mNMשsw_\W8MXQ + XܻX{1෇(/S҉s}~&u)tk}]uy8.KAv{.`c=$@pbI:ر sP=OL)`ߚ_ O4mvct fbJ7d6Bg8=\gЦڶs$ ulT_xVGۘCLmMƒo c#X3/C]*Ƌ ->-v>-O69]|2:s;aw˥+ ͔- +iQ4O<*:QvoX'Z*Z B<-kC\9$vHLdmK,d:k"eK[65q]޵pzLTZm:o^hs/7%0ȵVFB +endstream +endobj +1501 0 obj << +/Type /Page +/Contents 1502 0 R +/Resources 1500 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1363 0 R +/Annots [ 1463 0 R 1478 0 R 1479 0 R 1480 0 R 1481 0 R 1482 0 R 1493 0 R 1494 0 R ] +>> endobj +1498 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1507 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1507 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1499 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1509 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1509 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1463 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [52.329 699.813 157.883 709.364] +/A << /S /GoTo /D (group__bsec__interface_ga5e4d504611e1c4a0219861bbcf2ad650) >> +>> endobj +1478 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [118.296 662.753 237.803 675.256] +/A << /S /GoTo /D (structbsec__input__t_a916867811b65988853b69f729b91c262) >> +>> endobj +1479 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [331.827 662.753 530.494 675.256] +/A << /S /GoTo /D (structbsec__sensor__configuration__t_a92665e4f2f3cd5237814488774c0f546) >> +>> endobj +1480 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [292.551 649.204 428.54 661.707] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1481 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 609.879 196.93 642.515] +/A << /S /GoTo /D (structbsec__sensor__configuration__t) >> +>> endobj +1482 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 596.33 119.322 608.561] +/A << /S /GoTo /D (structbsec__input__t) >> +>> endobj +1493 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [315.492 393.102 423.586 425.738] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +1494 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [315.492 216.83 423.586 249.466] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +1503 0 obj << +/D [1501 0 R /XYZ -13.423 915.745 null] +>> endobj +1504 0 obj << +/D [1501 0 R /XYZ 29.788 737.428 null] +>> endobj +1505 0 obj << +/D [1501 0 R /XYZ 29.788 582.382 null] +>> endobj +1506 0 obj << +/D [1501 0 R /XYZ 139.844 550.241 null] +>> endobj +1208 0 obj << +/D [1501 0 R /XYZ 147.131 533.662 null] +>> endobj +853 0 obj << +/D [1501 0 R /XYZ 117.426 370.939 null] +>> endobj +1205 0 obj << +/D [1501 0 R /XYZ 121.048 194.667 null] +>> endobj +1500 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F120 674 0 R >> +/XObject << /Fm81 1498 0 R /Fm82 1499 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1551 0 obj << +/Length 2317 +/Filter /FlateDecode +>> +stream +xY[o:~ϯУT I8Nls^eV\] p~ERK ,VH u6LEqax7G!(ra=|Z|Td8E.̙%=#+Z@>=7!⸖ >|Ǻ̎s;"kN`;|AA+D4} +iQgi8(0}EmA|&D{+$âpُ"NݳV]^Gxf4 /5;n)`pՇ940c s9x޶aN8n"`G/>95/Wx\.;y\DhHTFD"5n[=n|e$ѓH7O܄ѱVꀑ4)$TEya9 } jfPHG .!Q@u\z9tp/9 0-J)l<+XC PT" #㾨~L:[WIxl*~iJPNvץ:C`{7UV}|_1J)cEWQYIZE"KvuXSjaD)Es[==-%)sPQej_Uj H).xPgqՆcn6n Λ$db(\#?e4A$=v[fwp AVppγ,8@rLx%ae6f=2;ۛck05=LCvc=O760]vjj7)}EaRlڲ—R넛}-۵VQZX%(LtR'#NQ"@UN׾QShIY_F8]hu|O"r2Ƭ  `ƃԜ:eZ{ +lA{Y+K. V]Ij4"&=azIwBr))]u=Y}8ȳ*:(U5e5y@4hR +1dL$k¦GYH>Իh3muE(C؊9r%B)4.AQ ^6kuE !Վ@PnA,}킋,kl&҅謰Nf }Է;}˅tI'ywy,KU@u 4j : PMCoH 4|\\>x* ʺϖ4Q/]Y-V3?=J Omg]ߎ}۠8?,Ǽ`d sVo)i98nimsS;w+p_rTu5ķA^2qFzUY$@T]NlsR=MD)NI_1"=7k6ۭ]rYZhoR4lײ +~_{i9!4ămok 52_6(ia`FV{8V:_ [_'\f ې8aawyX"kz'"u&"=!aRodROԵY*yaW\ Ddz',@s ͳHt2 +=ͷ\b=\m J2\\PA/v8ee jg: lH +endstream +endobj +1550 0 obj << +/Type /Page +/Contents 1551 0 R +/Resources 1549 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1363 0 R +/Annots [ 1495 0 R 1496 0 R 1554 0 R 1497 0 R 1511 0 R 1512 0 R 1513 0 R 1514 0 R 1515 0 R 1516 0 R ] +>> endobj +1547 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1558 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1558 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1548 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1560 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1560 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1495 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [288.809 675.124 447.794 687.044] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a3eb936f08a8f6f01d4c683a6ba0c9d3a) >> +>> endobj +1496 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [288.809 661.575 560.743 673.495] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea4e05ab48912e70486351f5199910fcb9) >> +>> endobj +1554 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [288.809 648.026 378.685 659.946] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea4e05ab48912e70486351f5199910fcb9) >> +>> endobj +1497 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [315.492 592.867 423.586 625.503] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +1511 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [52.329 443.666 153.175 452.276] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +1512 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [116.593 405.665 242.91 418.168] +/A << /S /GoTo /D (structbsec__output__t_ab188da3e58d458f4b94a64379404da46) >> +>> endobj +1513 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [332.395 405.665 531.061 418.168] +/A << /S /GoTo /D (structbsec__sensor__configuration__t_a92665e4f2f3cd5237814488774c0f546) >> +>> endobj +1514 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [292.551 392.116 428.54 404.619] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1515 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 352.791 196.93 385.427] +/A << /S /GoTo /D (structbsec__sensor__configuration__t) >> +>> endobj +1516 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 339.242 125.999 351.473] +/A << /S /GoTo /D (structbsec__output__t) >> +>> endobj +1552 0 obj << +/D [1550 0 R /XYZ -13.423 915.745 null] +>> endobj +1553 0 obj << +/D [1550 0 R /XYZ 124.091 705.286 null] +>> endobj +1555 0 obj << +/D [1550 0 R /XYZ 36.164 570.705 null] +>> endobj +888 0 obj << +/D [1550 0 R /XYZ 29.788 508.809 null] +>> endobj +1556 0 obj << +/D [1550 0 R /XYZ 29.788 490.267 null] +>> endobj +1557 0 obj << +/D [1550 0 R /XYZ 29.788 325.294 null] +>> endobj +627 0 obj << +/D [1550 0 R /XYZ 183.266 293.153 null] +>> endobj +1549 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F33 562 0 R /F30 563 0 R /F44 227 0 R /F120 674 0 R >> +/XObject << /Fm83 1547 0 R /Fm84 1548 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1567 0 obj << +/Length 2180 +/Filter /FlateDecode +>> +stream +xZmo8_/ @U/I$u=f@U[ [r%9Pduz!9|83PovKez3x0\lW \I`|9 !ԇ ,6G}(E 9Lo qM7%sf#,vJ~8¸Ow|l8!Z f8`4(0r6/u8x at;.8ɂGWEȭg;.@@{x103cmUQ#Fp/aHF_Ӭs DXڤɅZ4ʂegaWp jRr +03 waZٶN&XqRRqab!M3)U,p?)Õ20ڇd@o'{N`q,O7t獽tԵ N&H٬>J:X(w E'&ם}fς6Baad gʐf b9 ձ Q,d~qC&刺\{ ,ݫX1Ֆ _aa<dt-{YC!6*#eCe*@MǴmd}| ?Pi*$30wNsӰ 0$A:d"?0$:POd6g~ ]^#V&]-œ֖_@=ziKDޜ \rb) 6zbZ!El]=m?&dS 12UIfV7h_cE3!XXs5;w55qG=FG'~)Ko61amlN/K5Nną1?j 3z9^pBFRoAs2ŵI΍3j6Q{ѭlh7WriX]Bs0ua'=|cNL*3ڈ㲶7>}4vD\ Ȩ2{M Y@0jQ5H߆,&k.K{u K?YD>w%z8ՇufyЯ`İ)_ADdIU2!cBj[Ug*]&<)-ݮyuHaIE1 hAR+?N) D8di9k +D} +endstream +endobj +1566 0 obj << +/Type /Page +/Contents 1567 0 R +/Resources 1565 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1572 0 R +>> endobj +1563 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1573 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1573 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1564 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1575 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1575 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1568 0 obj << +/D [1566 0 R /XYZ -13.423 915.745 null] +>> endobj +1569 0 obj << +/D [1566 0 R /XYZ 138.408 705.559 null] +>> endobj +1570 0 obj << +/D [1566 0 R /XYZ 104.459 688.98 null] +>> endobj +1571 0 obj << +/D [1566 0 R /XYZ 52.936 672.402 null] +>> endobj +624 0 obj << +/D [1566 0 R /XYZ 88.117 655.823 null] +>> endobj +623 0 obj << +/D [1566 0 R /XYZ 110.536 548.651 null] +>> endobj +625 0 obj << +/D [1566 0 R /XYZ 117.823 518.523 null] +>> endobj +626 0 obj << +/D [1566 0 R /XYZ 147.506 422.914 null] +>> endobj +630 0 obj << +/D [1566 0 R /XYZ 72.332 352.651 null] +>> endobj +631 0 obj << +/D [1566 0 R /XYZ 112.357 295.938 null] +>> endobj +1565 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R >> +/XObject << /Fm85 1563 0 R /Fm86 1564 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1581 0 obj << +/Length 1952 +/Filter /FlateDecode +>> +stream +xY[S6~W`/I6NvKa-vdmC3#Kڵ3d\?9E%">;$ccJQ$Dn>,52p c's'"L eELQ)cNO;ƂŒ2: +ѻCP9q$D/fX!Z ؅`/ޛNW> #oʺ4*=`)EF1ALtA} +4k92Z2@+D6KŤ Ttd|pV6jI*ig3迆hg +S@?#?8 cl +Ԫ6U>vѡ1v1%0K1`AcA 6;XH̢`O|qy~>~9 Bac DKEzT!&2t4!PHBc)\]-f dqy1B,־^'D&C lpRIcziQh ۍ2_23JSBlLpB{!oUQZg:pݷ'i8\}.8{;"URGfyo>̂Ue;揫L #Lɝ=O8o7+ʼJoUځƴu/6_$:>j=ju@T&0:Z{@Ho$֪مUj~Ѩcp$r=|?5Ƈ fmǷ 4~VlaMG.z%EkBC 8CWh11x cx>꼫Uh[N;i ۡݨۍ44oUk)}$xƠXa> 14)ҶE!](e֗T:e}ɤ0oVP8jROp|WBKЮ +C Y@=;w0cc-ӧ +IGA8$B(0` %LJ N~/8ucKpFh䃽,U]W+9yXs^r o  2nѬ?ZVirG"wC+mqv;ۜ`I&QK-5zW8H 1 }4YKҡi | 1lS>o3J=Rl:xd{Oᝮ3pI*H&_e,tqu&> endobj +1577 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1584 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1584 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1578 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1586 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1586 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1537 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [333.093 564.094 485.412 576.597] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650aaf8083737123a5c4d012783ee10a522d) >> +>> endobj +1538 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [315.496 462.581 443.488 473.312] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a3eb936f08a8f6f01d4c683a6ba0c9d3a) >> +>> endobj +1539 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [315.496 436.17 437.761 445.58] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650aaf8083737123a5c4d012783ee10a522d) >> +>> endobj +1540 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [393.234 413.654 560.743 424.494] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea4e05ab48912e70486351f5199910fcb9) >> +>> endobj +1583 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [315.496 400.105 432.034 409.516] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea4e05ab48912e70486351f5199910fcb9) >> +>> endobj +1541 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [315.496 385.869 443.488 396.599] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a3eb936f08a8f6f01d4c683a6ba0c9d3a) >> +>> endobj +1582 0 obj << +/D [1580 0 R /XYZ -13.423 915.745 null] +>> endobj +628 0 obj << +/D [1580 0 R /XYZ 36.261 705.286 null] +>> endobj +1579 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F33 562 0 R /F30 563 0 R /F89 536 0 R /F120 674 0 R >> +/XObject << /Fm87 1577 0 R /Fm88 1578 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1595 0 obj << +/Length 1980 +/Filter /FlateDecode +>> +stream +xYo8aX3$EqߜIIZm- YfْW]C%N7qp8V3'}2h@]p$J@DGO M3+W'v^1(V0{ cx:.|ey~߇ q0 \C@^S{@k0O4{ciV䧣!B "`_*ҕ"DaT@xLp"C[ԁ +3vϴWI!YXi_\\V + +F&ԭ\\Sb;ryp+ bYK-:Ş˻&v6p\8'yɞAX:L ƤNYGfA|z{7y77p0^DqT|w04τCET&³4}MЁ i n>:|܎{72_N:v?ȰwQZBXȹY*W<.O?|}H.!f@Zd03ߞ^]8߳󽕮xعK|&)eIMk3Di'3fG?]ljK$2+ >`=xc7 :uABnϵltՔEhQ + &Pm=[5},Ѵ\ai^(ת+5< {qzt| Y{0]_U2![!ͬaT.ae:3xf10,E53@}Kl k`L^@ϧweXkx< eYMYg>:~L5Nj֛yAӅeFt*N 0phOua2d``CZGE5)jiT 1U!c 듗~㤳_r7՜02[sm v:i/ALK`ѕxXٖlcz9`NaJ^0ꞡ\"#,8ȓ@`zsў}ILnb{m;WܒmJ5bWY'AI0YJyZPJU=7C7l^ݢ66hmje`E%I78QW +~htx^P!SS.7YGu< 0z o> endobj +1591 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1607 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1607 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1592 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1609 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1609 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1542 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [374.689 661.575 503.968 674.078] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a381b968290256e77d50c4f7e92bfb27c) >> +>> endobj +1543 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [364.98 648.026 523.965 659.946] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a3eb936f08a8f6f01d4c683a6ba0c9d3a) >> +>> endobj +1544 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [364.98 634.477 560.743 646.396] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea4e05ab48912e70486351f5199910fcb9) >> +>> endobj +1597 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [303.136 620.927 469.998 632.847] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea4e05ab48912e70486351f5199910fcb9) >> +>> endobj +1545 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [405.136 577.643 557.456 609.969] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650aaf8083737123a5c4d012783ee10a522d) >> +>> endobj +1546 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [329.82 536.996 560.743 548.915] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea1c0eee38a61b05c5239c871f9cdc85a4) >> +>> endobj +1598 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [329.82 523.446 434.849 535.366] +/A << /S /GoTo /D (group__bsec__interface_gga832388c889417ed197609d9965625bfea1c0eee38a61b05c5239c871f9cdc85a4) >> +>> endobj +1588 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [361.671 325.771 497.66 338.274] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1589 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [291.318 237.223 413.365 249.726] +/A << /S /GoTo /D (group__bsec__interface_ga8798390d842b820e79e9cbf8ba4d516e) >> +>> endobj +1590 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [291.318 148.675 374.562 161.178] +/A << /S /GoTo /D (group__bsec__interface_gac79a471c6e20fd8c17577f6f69a9469f) >> +>> endobj +1596 0 obj << +/D [1594 0 R /XYZ -13.423 915.745 null] +>> endobj +629 0 obj << +/D [1594 0 R /XYZ 36.261 705.286 null] +>> endobj +1599 0 obj << +/D [1594 0 R /XYZ 88.706 488.007 null] +>> endobj +1600 0 obj << +/D [1594 0 R /XYZ 97.794 471.429 null] +>> endobj +145 0 obj << +/D [1594 0 R /XYZ 29.788 424.97 null] +>> endobj +763 0 obj << +/D [1594 0 R /XYZ 29.788 395.975 null] +>> endobj +1601 0 obj << +/D [1594 0 R /XYZ 29.788 395.975 null] +>> endobj +1233 0 obj << +/D [1594 0 R /XYZ 499.696 328.834 null] +>> endobj +1602 0 obj << +/D [1594 0 R /XYZ 29.788 305.467 null] +>> endobj +1258 0 obj << +/D [1594 0 R /XYZ 415.402 240.286 null] +>> endobj +1603 0 obj << +/D [1594 0 R /XYZ 29.788 216.919 null] +>> endobj +1604 0 obj << +/D [1594 0 R /XYZ 376.598 151.738 null] +>> endobj +1605 0 obj << +/D [1594 0 R /XYZ 29.788 128.371 null] +>> endobj +1606 0 obj << +/D [1594 0 R /XYZ 238.806 63.19 null] +>> endobj +1593 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F33 562 0 R /F30 563 0 R /F44 227 0 R /F120 674 0 R >> +/XObject << /Fm89 1591 0 R /Fm90 1592 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1623 0 obj << +/Length 1441 +/Filter /FlateDecode +>> +stream +xXn8}W^uY%i4Es<,P$–\In@?~dKIPp.C&kfA3Dt+!H"_0 r>>>,5L{dؕAwQv-4ߓ>EѲfRtk{ry>Œ2 v f?:c +i+L`68rC;>k$F'YJ,/Ute`8i(E4}BP 2toDZhM1gT =&]hP>CF6PbюkyZYIg$VƠ熨ۂfQ0 @32 #ǥ8jX`yHB˛hzu3[  b$Ud/L$Sm i /[[WewU.Wxe{Z4NY5XkmbEnV79 w.Mτ0<,S~R{?OSv\bx..]ӳ㽸$vyޞ[$) lT u%Z!2u#ttFd1Kb>Agoϵicll=S0ԃshJP#q&yg> AW Ζ6㎊bal+a\eWUfan?*n~qR"\ @ZdIiG*Wph(&T%eܮsj3N6Bi++9]eꓬBVdo[g\k@oXyp7=ܭ[d|KQ]ۚ +endstream +endobj +1622 0 obj << +/Type /Page +/Contents 1623 0 R +/Resources 1621 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1572 0 R +/Annots [ 1611 0 R 1612 0 R 1613 0 R 1614 0 R 1615 0 R 1616 0 R 1617 0 R 1618 0 R ] +>> endobj +1619 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1637 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1637 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1620 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1639 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1639 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1611 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [184.347 523.174 289.901 532.349] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650ad30626f0de1be98802cb5e50c8b67207) >> +>> endobj +1612 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 462.152 160.548 494.788] +/A << /S /GoTo /D (structbsec__bme__settings__t) >> +>> endobj +1613 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [207.884 390.998 299.316 400.172] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a381b968290256e77d50c4f7e92bfb27c) >> +>> endobj +1614 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 329.975 160.548 362.611] +/A << /S /GoTo /D (structbsec__bme__settings__t) >> +>> endobj +1615 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [207.884 258.821 299.316 267.995] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a9202c1504b464b16f432da6a4dd582a2) >> +>> endobj +1616 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 197.798 160.548 230.435] +/A << /S /GoTo /D (structbsec__bme__settings__t) >> +>> endobj +1617 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [222.006 126.644 327.56 135.819] +/A << /S /GoTo /D (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a3eb936f08a8f6f01d4c683a6ba0c9d3a) >> +>> endobj +1618 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 65.622 160.548 98.258] +/A << /S /GoTo /D (structbsec__bme__settings__t) >> +>> endobj +1624 0 obj << +/D [1622 0 R /XYZ -13.423 915.745 null] +>> endobj +1625 0 obj << +/D [1622 0 R /XYZ 29.788 737.428 null] +>> endobj +1626 0 obj << +/D [1622 0 R /XYZ 235.359 681.917 null] +>> endobj +1627 0 obj << +/D [1622 0 R /XYZ 29.788 658.795 null] +>> endobj +1628 0 obj << +/D [1622 0 R /XYZ 334.184 593.965 null] +>> endobj +1629 0 obj << +/D [1622 0 R /XYZ 29.788 570.842 null] +>> endobj +1631 0 obj << +/D [1622 0 R /XYZ 29.788 459.721 null] +>> endobj +1632 0 obj << +/D [1622 0 R /XYZ 29.788 438.666 null] +>> endobj +1633 0 obj << +/D [1622 0 R /XYZ 29.788 327.544 null] +>> endobj +1634 0 obj << +/D [1622 0 R /XYZ 29.788 306.489 null] +>> endobj +1635 0 obj << +/D [1622 0 R /XYZ 29.788 195.367 null] +>> endobj +1636 0 obj << +/D [1622 0 R /XYZ 29.788 174.312 null] +>> endobj +1402 0 obj << +/D [1622 0 R /XYZ 29.788 63.19 null] +>> endobj +1621 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F120 674 0 R /F158 1630 0 R >> +/XObject << /Fm91 1619 0 R /Fm92 1620 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1645 0 obj << +/Length 1218 +/Filter /FlateDecode +>> +stream +xڵWr8}+T/PV$Yed3 O)26KS5-6&IAtkuM#hQh Aاya J}I PP0maG]gՙ(RWx-w0T{涋 ףXP>|=}Amc; u'a7NmsE5b>v=`Bw$[nsLYr9:JQ.O =jѝmYSkl3*<]&h9PAGm̥#fƆ84$6Eڠ^Q8`<g,=YžV1ѧK]̆b:j+3ʴtlh3؎v&5-W7G`TQ 9Wɣ$25I1c`=msCoe6j.~d\(㭚Y'i}U(|e/kMVzcQNP] +endstream +endobj +1644 0 obj << +/Type /Page +/Contents 1645 0 R +/Resources 1643 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1572 0 R +>> endobj +1641 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1653 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1653 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1642 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1655 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1655 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1646 0 obj << +/D [1644 0 R /XYZ -13.423 915.745 null] +>> endobj +1647 0 obj << +/D [1644 0 R /XYZ 29.788 737.428 null] +>> endobj +695 0 obj << +/D [1644 0 R /XYZ 192.29 684.487 null] +>> endobj +1648 0 obj << +/D [1644 0 R /XYZ 29.788 663.877 null] +>> endobj +737 0 obj << +/D [1644 0 R /XYZ 228.66 602.651 null] +>> endobj +1649 0 obj << +/D [1644 0 R /XYZ 29.788 582.041 null] +>> endobj +767 0 obj << +/D [1644 0 R /XYZ 254.722 520.815 null] +>> endobj +1650 0 obj << +/D [1644 0 R /XYZ 29.788 500.205 null] +>> endobj +1651 0 obj << +/D [1644 0 R /XYZ 319.609 438.979 null] +>> endobj +1652 0 obj << +/D [1644 0 R /XYZ 29.788 418.369 null] +>> endobj +1643 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F120 674 0 R >> +/XObject << /Fm93 1641 0 R /Fm94 1642 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1659 0 obj << +/Length 26 +/Filter /FlateDecode +>> +stream +x +0TH/2PHW0PpIp; +endstream +endobj +1658 0 obj << +/Type /Page +/Contents 1659 0 R +/Resources 1657 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1572 0 R +>> endobj +1660 0 obj << +/D [1658 0 R /XYZ -13.423 915.745 null] +>> endobj +1657 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/ProcSet [ /PDF ] +>> endobj +1683 0 obj << +/Length 1961 +/Filter /FlateDecode +>> +stream +xn=_GX1$E@6 +h7y. Ybld~|7YVNqs +!E}!y~WAKD3@?` Pbpj$=9PBE "b;[^)4?1 EY93kya())DCP&4 "t}X8FQb4эwQj(dM'ٷ_\hEqC |#(ɟ2tAKhRQl1BAE%:4eTEtN.+ |\jNuѴ8b!J28PQ*xiZ3wMu}#e:#>A5#q* '8Sbl(引]WTvލ9y+Ye V'B8VqjćBv]r8ABҵ f!50:$QaUT] +DІ 1L@tC79D(Cs +'Qld%^QZg]ZnL5msiZFY]uMƻ½}b(%",b~{3ٶ\܉.(a nG.۬)Pp0hj.6i|;BAZzvr~% jׯ~q~]ɴͼFBViD~tM֍?u[W }sxK9ּQca8C6}5_{_ FENwJj߷#7~t4wia\:ѴZvS}?FyӬnU_y}UCDX.N%9!kLhKۺ\)7fg¢[ %x+yyj0.i8w]Z4B<ŧF&FBr4ߏ.Vw{KV=[-*,?xxefBxf" %X 8YRy mէ.-*79xJ}u3omoaz]kz^Ǫ}R$Ri>RӘ:aRwA]&j]ս:Ш~]V*!|YI;_ܾ[o[WZj|{Hu!#Y7ps B52+|MgZ.SϢCiP>hΒ_ȁ%\V$8'ct-LǡUwKőWT/^q|GIAy5o&îI6PYtlV61ۍ̺N‚MP~RBq#g}D +,5Fr^x;hx`7F;y.ɂԇ oDfST1ք]]Dv)%N,aD>SU@0;U^ylnAn =_>lNt֖?yvLPܩJft/~.Z}lVKB][LB6og~ZU>aLS_wׇzAhѨW; ) &0't +"@LWzϽ{lM/`|^x0\;}З%'EﴇjM@CPL B? `(<f̟d0ҟNOwɯjqus$pcaZHgՁS@A*o4/uXMã ۖfPf_P0{DI3UOg;/A F/rX.> PS +ʽwDAIRio*8u[e䦎ϴnHEt(70orvppC'RH@YG8fk)6ҽ;Ȼށ -CWJԒia[s 8cPEZ> ns> endobj +1679 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1688 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1688 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1680 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1690 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1690 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1661 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 555.914 121.973 568.145] +/A << /S /GoTo /D (structbsec__bme__settings__t_a300b00f9580b9af76d441cd4db8d7083) >> +>> endobj +1662 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [82.999 519.353 150.479 531.584] +/A << /S /GoTo /D (structbsec__bme__settings__t_aa197109b334a2a443d9349812865bff1) >> +>> endobj +1663 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [270.179 500.539 345.816 512.036] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1664 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [82.999 482.792 180.795 495.022] +/A << /S /GoTo /D (structbsec__bme__settings__t_a500cfa825fa7c6ead38eba7bf7b4b955) >> +>> endobj +1665 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [82.999 446.23 166.253 458.461] +/A << /S /GoTo /D (structbsec__bme__settings__t_afc3ab51b88f259e5cb76c10ee0732e5b) >> +>> endobj +1666 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 409.669 118.341 421.589] +/A << /S /GoTo /D (structbsec__bme__settings__t_a4407b04a0d403a9fb35fd322999113a9) >> +>> endobj +1667 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 373.108 192.293 385.339] +/A << /S /GoTo /D (structbsec__bme__settings__t_aecd99f57df2bc07663a7de83f877228e) >> +>> endobj +1668 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 336.547 208.668 348.777] +/A << /S /GoTo /D (structbsec__bme__settings__t_aed0450820cd910e06e26fba04256bc24) >> +>> endobj +1669 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 299.985 190.471 312.216] +/A << /S /GoTo /D (structbsec__bme__settings__t_a7984769929826a36f59e7b9dfd6e7447) >> +>> endobj +1670 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 263.424 182.595 275.344] +/A << /S /GoTo /D (structbsec__bme__settings__t_aa4a1eeae4e7fe44a8093a3862996fbac) >> +>> endobj +1671 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [134.294 169.017 244.198 181.52] +/A << /S /GoTo /D (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) >> +>> endobj +1672 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [308.144 134.896 527.207 147.399] +/A << /S /GoTo /D (structbsec__bme__settings__t_aa4a1eeae4e7fe44a8093a3862996fbac) >> +>> endobj +1673 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [84.31 107.797 320.65 120.028] +/A << /S /GoTo /D (structbsec__bme__settings__t_aed0450820cd910e06e26fba04256bc24) >> +>> endobj +1674 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [324.718 107.797 543.208 120.028] +/A << /S /GoTo /D (structbsec__bme__settings__t_a7984769929826a36f59e7b9dfd6e7447) >> +>> endobj +1675 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 94.248 253.297 106.479] +/A << /S /GoTo /D (structbsec__bme__settings__t_aecd99f57df2bc07663a7de83f877228e) >> +>> endobj +1676 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [79.408 73.676 231 86.18] +/A << /S /GoTo /D (structbsec__bme__settings__t_a4407b04a0d403a9fb35fd322999113a9) >> +>> endobj +1677 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [498.934 73.676 567.119 86.18] +/A << /S /GoTo /D (structbsec__bme__settings__t_a500cfa825fa7c6ead38eba7bf7b4b955) >> +>> endobj +1686 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [28.792 60.127 179.344 72.358] +/A << /S /GoTo /D (structbsec__bme__settings__t_a500cfa825fa7c6ead38eba7bf7b4b955) >> +>> endobj +1678 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [201.613 60.127 394.012 72.358] +/A << /S /GoTo /D (structbsec__bme__settings__t_afc3ab51b88f259e5cb76c10ee0732e5b) >> +>> endobj +1684 0 obj << +/D [1682 0 R /XYZ -13.423 915.745 null] +>> endobj +149 0 obj << +/D [1682 0 R /XYZ 29.788 737.428 null] +>> endobj +1318 0 obj << +/D [1682 0 R /XYZ 29.788 649.232 null] +>> endobj +153 0 obj << +/D [1682 0 R /XYZ 29.788 649.232 null] +>> endobj +1685 0 obj << +/D [1682 0 R /XYZ 29.788 603.186 null] +>> endobj +157 0 obj << +/D [1682 0 R /XYZ 29.788 221.409 null] +>> endobj +1681 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F89 536 0 R /F97 535 0 R /F33 562 0 R /F30 563 0 R >> +/XObject << /Fm95 1679 0 R /Fm96 1680 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1705 0 obj << +/Length 1397 +/Filter /FlateDecode +>> +stream +xڵX[o:~c*csJw +MBAǟ%$MY֎=3o3暢msF > $"#JQ@Dwg_,`\_EJM DyDQZLS0L=!ł2eMu{!('/,[w;;L,K8NoHj4p U]z*~*,i S'`_aC>df^ncV0gA #b| +5VOD)J(U p.%ZG!k5Nco}uZ& +8JDC伟20š/{~8&D`QweM{FFOL6{+;LԁPu :c=͋6ZY]Ui82#>Tv?TYswxeQjZYM7?C1Z.)Rse46~} eb#n(i}.^~C*BW ]Wu3[T ԝÜYb:/b8 w/0 { +MX_ A]of.e/1 y@=]GQQHepZVq {!Lߎl7Egl֝)#-%ދ K|z?5SHc(1LBVRia%WpRxMVƊh6 oa'2`qf3Dc)=fHzAM'FSbL(nc)w^JvnPݷ_m^ۤtUIݘP5^+DvWy١ZBϺt + 5/`dލtLRR:me_ y /gqT[5rWսz)kW_<&J0B9LTˈ] +endstream +endobj +1704 0 obj << +/Type /Page +/Contents 1705 0 R +/Resources 1703 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1687 0 R +/Annots [ 1700 0 R ] +>> endobj +1701 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1714 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1714 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1702 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1716 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1716 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1700 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [264.057 195.541 346.689 208.044] +/A << /S /GoTo /D (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) >> +>> endobj +1706 0 obj << +/D [1704 0 R /XYZ -13.423 915.745 null] +>> endobj +161 0 obj << +/D [1704 0 R /XYZ 29.788 737.428 null] +>> endobj +1693 0 obj << +/D [1704 0 R /XYZ 29.788 718.941 null] +>> endobj +1707 0 obj << +/D [1704 0 R /XYZ 29.788 718.941 null] +>> endobj +1694 0 obj << +/D [1704 0 R /XYZ 29.788 648.631 null] +>> endobj +1708 0 obj << +/D [1704 0 R /XYZ 29.788 626.563 null] +>> endobj +1698 0 obj << +/D [1704 0 R /XYZ 29.788 558.212 null] +>> endobj +1709 0 obj << +/D [1704 0 R /XYZ 29.788 536.144 null] +>> endobj +1319 0 obj << +/D [1704 0 R /XYZ 29.788 467.793 null] +>> endobj +1710 0 obj << +/D [1704 0 R /XYZ 29.788 445.725 null] +>> endobj +1696 0 obj << +/D [1704 0 R /XYZ 29.788 377.375 null] +>> endobj +1711 0 obj << +/D [1704 0 R /XYZ 29.788 355.307 null] +>> endobj +1692 0 obj << +/D [1704 0 R /XYZ 29.788 286.956 null] +>> endobj +1712 0 obj << +/D [1704 0 R /XYZ 29.788 264.888 null] +>> endobj +1695 0 obj << +/D [1704 0 R /XYZ 29.788 151.542 null] +>> endobj +1713 0 obj << +/D [1704 0 R /XYZ 29.788 129.474 null] +>> endobj +1697 0 obj << +/D [1704 0 R /XYZ 29.788 61.123 null] +>> endobj +1703 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F120 674 0 R /F32 539 0 R >> +/XObject << /Fm97 1701 0 R /Fm98 1702 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1731 0 obj << +/Length 1959 +/Filter /FlateDecode +>> +stream +xYYoܶ~h.57qn hysFǺH-v pfى<MyC|ADЇ3@گ0BHN(EqpHts@ EfM0dyQqP`&%o#GE1ł2E$]zCP9Ih9PB^)IEh{X8FQbT{[gQ]ɪNf/o'R@hEqC ]!(3tr]MƜQZ1B 5ԧU1B1:ZuФ]QWfC_R+>Z Y((O @21G~p@hSp!^'' wi,LK +pK(C. xA&}+(w: sNdqL,RD!gi/&s Y^<Iyp(edˬ3>3ۍin&Og\3[U;UpFD~njEu껝e~5}fldÇDfѻ^~~'{3 $y2 ]as܂DІ 1,@tmT ̟MICj{aPc%uKUZ಺ȶ.1o]W"~}HR+ai#vLWٹ-UZ CQ&91:\Ԭr'Nb)$N]˝߫!\~Pߟ `c=M?M7iii jVUP01-(i~ +h:quL)W)Pd˅+Ơpn( #JuY5*=x{z1 +iF1v 6"fhp5r92X2(@F%ڷu9+f!q7+ÛQ*i m)#smhS=\8>A) 82ze+Y@~ &VC5P A$`mқd}S{4t_1'B$L;%!^/d=BvrN8,@h$8Yea&-gymtj6b;}Y@:lN}nr m7vBe&*m{Ԕgxy cwQv?Ҏ|hǛ,^)&mnb };8h?IVd˻iz Jmo[MiG +XDC醆C Xpħ Ty>!)#bqCN9QHIQzw/.!^GKCO'iVItC-M|=2Fu3V X,2=#Ļ23N':/h̩E̕znoR: b\zfU( +L[ @U2]-wo:?|]]3(}c%+QDp vN$I%;'Oa+@&XJ!kZй*#4A^?˟@Nz11H 9G42R޺/x,Ӎ 7Mё?') ށst{z~~E#WFNsp$u`n upnaZ)qj:Mt{q ƛFao y#b酁+wfشn]Lw} +量Z/Wh. OOqˤU&ŃE9{<y2Xy*#o."B(|V]u{LSuoMuQYncv]1V9x0ݑ nJ +wJ6:/˭ +endstream +endobj +1756 0 obj << +/Type /Page +/Contents 1757 0 R +/Resources 1755 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1687 0 R +/Annots [ 1742 0 R 1743 0 R 1744 0 R 1745 0 R 1746 0 R 1747 0 R 1748 0 R 1749 0 R ] +>> endobj +1753 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1763 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1763 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1754 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1765 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1765 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1742 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 705.788 173.879 738.424] +/A << /S /GoTo /D (group__bsec__interface_ga5e4d504611e1c4a0219861bbcf2ad650) >> +>> endobj +1743 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 565.499 173.879 598.135] +/A << /S /GoTo /D (group__bsec__interface_ga5e4d504611e1c4a0219861bbcf2ad650) >> +>> endobj +1744 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 225.017 135.304 236.936] +/A << /S /GoTo /D (structbsec__output__t_a74a917725569b67eb14e78a34fa9c55d) >> +>> endobj +1745 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [64.803 188.952 95.29 201.456] +/A << /S /GoTo /D (structbsec__output__t_a1a046572bcb85189df10c9ac8f362999) >> +>> endobj +1746 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [281.258 170.387 394.563 181.884] +/A << /S /GoTo /D (structbsec__output__t_ab188da3e58d458f4b94a64379404da46) >> +>> endobj +1747 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 152.888 168.653 165.119] +/A << /S /GoTo /D (structbsec__output__t_a91006cd8f20e88a5ff2b6ebfbecdeb95) >> +>> endobj +1748 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 116.824 126.217 129.054] +/A << /S /GoTo /D (structbsec__output__t_ab188da3e58d458f4b94a64379404da46) >> +>> endobj +1749 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 80.759 122.573 92.679] +/A << /S /GoTo /D (structbsec__output__t_ac4e7ef20f713075472bc953efb13957f) >> +>> endobj +1758 0 obj << +/D [1756 0 R /XYZ -13.423 915.745 null] +>> endobj +1206 0 obj << +/D [1756 0 R /XYZ 29.788 702.913 null] +>> endobj +1759 0 obj << +/D [1756 0 R /XYZ 29.788 679.32 null] +>> endobj +1741 0 obj << +/D [1756 0 R /XYZ 29.788 562.625 null] +>> endobj +1760 0 obj << +/D [1756 0 R /XYZ 29.788 539.031 null] +>> endobj +1207 0 obj << +/D [1756 0 R /XYZ 29.788 468.492 null] +>> endobj +1761 0 obj << +/D [1756 0 R /XYZ 29.788 444.898 null] +>> endobj +1172 0 obj << +/D [1756 0 R /XYZ 345.082 342.554 null] +>> endobj +177 0 obj << +/D [1756 0 R /XYZ 29.788 315.467 null] +>> endobj +1762 0 obj << +/D [1756 0 R /XYZ 29.788 271.92 null] +>> endobj +1755 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F120 674 0 R /F89 536 0 R /F97 535 0 R >> +/XObject << /Fm101 1753 0 R /Fm102 1754 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1775 0 obj << +/Length 3167 +/Filter /FlateDecode +>> +stream +x[Y6~_GM AmlbobwkI(.%*%2/du͏7-0~"( ۗo ?z0[^}jK(*ǡ¼ơoqV'쇁nK--:ξZAtU=dI;++by0È<9zE'ޤ!ZMxć:gVu{7$C?NwU>@aA#vJMO]ԝ :˒|M,G(7mlڦ;Sd}oktjf2Xn]c6T}3Je$ 0 z6w$^lY/_ ~`1S7!ni0@ a|4Q@ A0WNBF[t1a(EtfA!*|Y}ɑ*1|+z<=8?^~p Cˎ|;Ђ ~ZΧ"HaĻjP,|䴫E {WTjOjq,3#bTܒh!0Yџ?|˟9o*.`J@]&v5wE1@zq귭KK/m*ցsePK@BFga F% +ŐxKxlիW?^8`=TD: ,R[_.]^j`& > aI8 0?$za@3nׯ}~q?-bf`rN0l[lcl[WZ6/nTu0 +4an 2 A"vGwoxEspoPfOa4F]EƟ,'8oql@M2GCQ7n%蝪t);DcD C~%K#* l]fK&|; iI~s{$vM9xIn3 Z`]]%mq24̏1L4I =6A])0}|ZB*#Mna&a8rFEխ䔑(hʈ#>yEDLD(bɔ܊$ #> D2}6rN c!K$$‚bf'Pߣlqh<0* +8"BS1!M0!uHDd4wl 4G6PZjk[ݳ,sT2-2 +~2O6CU#BD +NZOF23tiK!C̓ >2^= 2) +hpa:QDLE&0kQQλ_.}Y+Ǥ*T*YfvyF:Tu]3e]ջ}RC9R,WlV"_4ѥBxկNnpDk٣]殦uo(0 jMeޚMfkCt\^=ɒR 52ϲjI-[C.=)dGqW[, DmiОv'Hv/K;F φMh#G>M(Us25m93*( +>jrrݩ5K<"@1a_J"Ҕ3 &S{M $Xs8o{ :2j9S= $S۞.ϛc.%̼'UsmhffjRQ;ٛFPI@FQgO;$h12L2DC6;dTAKeV$iqQt$S0?Ϙi4㉳3LcMōQtgS +pI5T + |5 ,3YqAym{'Cg,:-+34e.>Hx5,$YB␫2*}DH#_Jч@RCÝJTaNRN}))^dZReOP?T` +rR@jDPtwmzL ;#/_Q>C(Շ |6ua):xށ%c`N8Y0I*jhsu4-:Qfqw䃾D֧7']ժ!.Fy|.49@ +7 F`l5+~j5~.;Zus#]$V nۖ_}6 ' +#>V.G;C46FSYcN ˁѦQjk-^`"'dX| G)o} ?vPF>lq7H7wUi߭zfoBl&.~ uZ2t6<5bآ"^5EέSm$"]֭>qi Vm'ݞˑ+!hmbXKj^rHֵzV66N~ ӟmbN$N +endstream +endobj +1774 0 obj << +/Type /Page +/Contents 1775 0 R +/Resources 1773 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1687 0 R +/Annots [ 1750 0 R 1751 0 R 1752 0 R 1770 0 R ] +>> endobj +1771 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1781 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1781 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1772 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1783 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1783 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1750 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [238.801 666.651 361.949 679.154] +/A << /S /GoTo /D (structbsec__output__t_ab188da3e58d458f4b94a64379404da46) >> +>> endobj +1751 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [443.971 666.651 567.119 679.154] +/A << /S /GoTo /D (structbsec__output__t_ab188da3e58d458f4b94a64379404da46) >> +>> endobj +1752 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [132.21 653.102 240.304 665.605] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +1770 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 613.777 163.57 646.414] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +1776 0 obj << +/D [1774 0 R /XYZ -13.423 915.745 null] +>> endobj +181 0 obj << +/D [1774 0 R /XYZ 29.788 737.428 null] +>> endobj +185 0 obj << +/D [1774 0 R /XYZ 29.788 596.231 null] +>> endobj +632 0 obj << +/D [1774 0 R /XYZ 29.788 570.989 null] +>> endobj +1777 0 obj << +/D [1774 0 R /XYZ 29.788 570.989 null] +>> endobj +1778 0 obj << +/D [1774 0 R /XYZ 29.788 475.536 null] +>> endobj +1779 0 obj << +/D [1774 0 R /XYZ 29.788 326.877 null] +>> endobj +1780 0 obj << +/D [1774 0 R /XYZ 29.788 177.703 null] +>> endobj +1562 0 obj << +/D [1774 0 R /XYZ 29.788 63.19 null] +>> endobj +1773 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F120 674 0 R /F89 536 0 R >> +/XObject << /Fm103 1771 0 R /Fm104 1772 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1795 0 obj << +/Length 1681 +/Filter /FlateDecode +>> +stream +xڵXYo8~ϯh:n~KC[ [ru$?~dIMNxp3CMS.Z#`(` IQBp $*;ry +\lda_FCis,4n fR 9= `}K4.0| B1uG9r @;"! +"!Gϰ N49f{Ii,H@K8}KUsӬ +p`r,jվ՛7=T1QY~%&}ZTu\ .0/|%e~XZ?"99+/ި\8cҰpŻN):_mGgFkx:MYZ^2]^ ܫU7x1O!5 H*m>goDb; ѤeWv)hW" x^GȸhpT?6Z;Um)p k;imWXh`3_0ZZ/r + ,C,ioO#v=?f d-\@ӊZb( +m[fUQ\ZݩBe+)dPLHtWesmRWee W$BXƎ#+ 0z(H2/0 flrg}{Ic; }~;:IH^ф +c^ cwpZ 9m: U \DW9v=oCub,l}\Qk:Rŕx4(tu=tU as`LCIl +,^CZm^ 3'עtZ;JBe)UY:z6k8q㬕ֶT7Ze,wq#̤N~Y;˼-~*;L̇# 1o̕e\#Gi +]9O̕[[f'#tC7% Gĥ]mlt_3,RHk"_P4RoνQ\?Qw!:>ϼzڮ<`w=V:b<޼41_΋7/zyL/a|_{< =ЗE?$пN%j Nh(FL\-ݚ!3M+t VסۛmF> +endstream +endobj +1794 0 obj << +/Type /Page +/Contents 1795 0 R +/Resources 1793 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1687 0 R +/Annots [ 1785 0 R 1786 0 R 1787 0 R 1788 0 R 1789 0 R 1790 0 R ] +>> endobj +1791 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1802 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1802 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1792 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1804 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1804 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1785 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 638.955 163.57 671.591] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +1786 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [276.188 546.503 400.067 559.007] +/A << /S /GoTo /D (structbsec__output__t_ab188da3e58d458f4b94a64379404da46) >> +>> endobj +1787 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 505.466 163.57 538.102] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +1788 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [64.803 215.194 126.817 227.697] +/A << /S /GoTo /D (structbsec__sensor__configuration__t_a150ba3a737fb75f56052c60d55246ae4) >> +>> endobj +1789 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 180.881 126.217 193.111] +/A << /S /GoTo /D (structbsec__sensor__configuration__t_a92665e4f2f3cd5237814488774c0f546) >> +>> endobj +1790 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [193.933 73.676 327.241 86.18] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1796 0 obj << +/D [1794 0 R /XYZ -13.423 915.745 null] +>> endobj +1797 0 obj << +/D [1794 0 R /XYZ 29.788 737.428 null] +>> endobj +1768 0 obj << +/D [1794 0 R /XYZ 29.788 636.452 null] +>> endobj +1798 0 obj << +/D [1794 0 R /XYZ 29.788 614.986 null] +>> endobj +1769 0 obj << +/D [1794 0 R /XYZ 29.788 502.963 null] +>> endobj +1799 0 obj << +/D [1794 0 R /XYZ 29.788 481.497 null] +>> endobj +1767 0 obj << +/D [1794 0 R /XYZ 29.788 414.01 null] +>> endobj +1800 0 obj << +/D [1794 0 R /XYZ 29.788 392.544 null] +>> endobj +762 0 obj << +/D [1794 0 R /XYZ 29.788 325.058 null] +>> endobj +189 0 obj << +/D [1794 0 R /XYZ 29.788 302.166 null] +>> endobj +1801 0 obj << +/D [1794 0 R /XYZ 29.788 260.796 null] +>> endobj +193 0 obj << +/D [1794 0 R /XYZ 29.788 142.722 null] +>> endobj +1793 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F120 674 0 R /F89 536 0 R /F97 535 0 R >> +/XObject << /Fm105 1791 0 R /Fm106 1792 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1829 0 obj << +/Length 1980 +/Filter /FlateDecode +>> +stream +xY[s۶~2sJykci-hhؑH$ŅHӎeL:c .Vx@0BL$N(EZ0DA7'Y| +(XZ6p,,6_IEBQS +S#)Y-% +UG 4&q~o`;r b VZ#xraj)4eSխ^}UTH?A9LH[tkm!՘3*5Z<2T}Sgy2L oylͪNۢ*žȍc:@@DJf)(E1ǁ0^Eya6[S9<6)6Ak`1MmyzNXNX`l&׍ɖ2ʛb"\_O>FQ :Kڳ鶸^uvuO7an)nEP;S}û%hJo[@v֞ԛ iuK7x";{4$XǨa_^>J?P9Wfg@;b‚skx-peZ,&-r,mE{Hf؇l+fr3e>l-}{6DSgmt:dYm>M6 q7 YK&Աg/WRy qB{_C..c\6&G" ȎžNSi3ѧ嬨`'i[]o\XWl_u @/mÂԯ_EQܕEo~}k#W~!:raZ7س#}8:8b;:O%mیd`0 zm1QWpfP,y5}1 +Q:3:gK]!ʭ{kL, + Dh9:ewр?ï-kI$ DJ4~EOjyr9]k +kgM^٣5pgf_WE^`fHI'${00x;?am H'X]֮l E*C=΋fW5mHnS&j.nH/L^؊BXp]w6pJGl6*ro͗]n)zkGn3}8jwnw/`T`k-2!7K +endstream +endobj +1828 0 obj << +/Type /Page +/Contents 1829 0 R +/Resources 1827 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1835 0 R +/Annots [ 1806 0 R 1815 0 R 1817 0 R 1818 0 R 1819 0 R 1820 0 R 1821 0 R 1822 0 R 1823 0 R 1824 0 R ] +>> endobj +1825 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1836 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1836 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1826 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1838 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1838 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1806 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [90.035 521.522 226.024 534.025] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1815 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [116.505 495.79 263.981 508.326] +/A << /S /GoTo /D (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) >> +>> endobj +1817 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [327.076 479.883 435.17 492.113] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +1818 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [327.076 463.975 445.479 476.206] +/A << /S /GoTo /D (group__bsec__interface_ga5e4d504611e1c4a0219861bbcf2ad650) >> +>> endobj +1819 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 405.792 173.879 438.429] +/A << /S /GoTo /D (group__bsec__interface_ga5e4d504611e1c4a0219861bbcf2ad650) >> +>> endobj +1820 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [55.476 392.243 163.57 404.474] +/A << /S /GoTo /D (group__bsec__interface_ga832388c889417ed197609d9965625bfe) >> +>> endobj +1821 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 283.55 106.199 295.47] +/A << /S /GoTo /D (structbsec__version__t_af823001b85e62b90279f9e6f3c478c23) >> +>> endobj +1822 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 249.291 106.199 261.211] +/A << /S /GoTo /D (structbsec__version__t_a9d47d254d17740222791fa0f53c7ac52) >> +>> endobj +1823 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 215.033 141.37 227.536] +/A << /S /GoTo /D (structbsec__version__t_a3d9b11a72027026f492a438342a2efbd) >> +>> endobj +1824 0 obj << +/Type /Annot +/Subtype /Link +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [76.934 180.774 141.37 193.278] +/A << /S /GoTo /D (structbsec__version__t_a5daac4534748c6f0be9f009273613b02) >> +>> endobj +1830 0 obj << +/D [1828 0 R /XYZ -13.423 915.745 null] +>> endobj +197 0 obj << +/D [1828 0 R /XYZ 29.788 737.428 null] +>> endobj +766 0 obj << +/D [1828 0 R /XYZ 29.788 719.646 null] +>> endobj +1831 0 obj << +/D [1828 0 R /XYZ 29.788 719.646 null] +>> endobj +765 0 obj << +/D [1828 0 R /XYZ 234.846 638.216 null] +>> endobj +1832 0 obj << +/D [1828 0 R /XYZ 29.788 617.606 null] +>> endobj +1833 0 obj << +/D [1828 0 R /XYZ 29.788 510.563 null] +>> endobj +1259 0 obj << +/D [1828 0 R /XYZ 29.788 389.752 null] +>> endobj +201 0 obj << +/D [1828 0 R /XYZ 29.788 370.414 null] +>> endobj +1834 0 obj << +/D [1828 0 R /XYZ 29.788 329.111 null] +>> endobj +205 0 obj << +/D [1828 0 R /XYZ 29.788 142.709 null] +>> endobj +1827 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F120 674 0 R /F89 536 0 R /F97 535 0 R >> +/XObject << /Fm107 1825 0 R /Fm108 1826 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1844 0 obj << +/Length 1056 +/Filter /FlateDecode +>> +stream +xڵWn8}WQV4ȢM-YmJr-+$-9d2LѢ@]`(a %֔"%DAї'@I#Z]Y57 + MQC=1@1 ̓vܘ_4~b]rn6|oμ%ymI nL+'NI&ܿX@z +endstream +endobj +1843 0 obj << +/Type /Page +/Contents 1844 0 R +/Resources 1842 0 R +/MediaBox [0 0 595.911 842.745] +/Parent 1835 0 R +>> endobj +1840 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 128.987 28.663] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1850 0 R +/Length 55 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ ̀$fr.P4 {+sZ +endstream +endobj +1850 0 obj << +/XObject << /Im3 219 0 R >> +/ProcSet [ /PDF ] +>> endobj +1841 0 obj << +/Type /XObject +/Subtype /Form +/BBox [0 0 595.911 9.549] +/FormType 1 +/Matrix [1 0 0 1 0 0] +/Resources 1852 0 R +/Length 67 +/Filter /FlateDecode +>> +stream +x3PHW0Pp2@ 542350TH* LHLB X@3D%+ p +endstream +endobj +1852 0 obj << +/XObject << /Im4 221 0 R >> +/ProcSet [ /PDF ] +>> endobj +1845 0 obj << +/D [1843 0 R /XYZ -13.423 915.745 null] +>> endobj +209 0 obj << +/D [1843 0 R /XYZ 29.788 737.428 null] +>> endobj +1289 0 obj << +/D [1843 0 R /XYZ 29.788 719.646 null] +>> endobj +1846 0 obj << +/D [1843 0 R /XYZ 29.788 719.646 null] +>> endobj +1291 0 obj << +/D [1843 0 R /XYZ 29.788 654.393 null] +>> endobj +1847 0 obj << +/D [1843 0 R /XYZ 29.788 635.851 null] +>> endobj +1290 0 obj << +/D [1843 0 R /XYZ 29.788 572.558 null] +>> endobj +1848 0 obj << +/D [1843 0 R /XYZ 29.788 554.015 null] +>> endobj +1292 0 obj << +/D [1843 0 R /XYZ 29.788 492.707 null] +>> endobj +1849 0 obj << +/D [1843 0 R /XYZ 29.788 474.164 null] +>> endobj +1842 0 obj << + /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /ExtGState<>/TRP.5<>>> +/Font << /F45 228 0 R /F44 227 0 R /F120 674 0 R >> +/XObject << /Fm109 1840 0 R /Fm110 1841 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +1 0 obj +<<>> +endobj +2 0 obj +<<>> +endobj +3 0 obj +<< /pgfprgb [/Pattern /DeviceRGB] >> +endobj +1854 0 obj +[799.4] +endobj +1855 0 obj +[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] +endobj +1856 0 obj +[513.9] +endobj +1857 0 obj +[777.8 500 777.8] +endobj +1858 0 obj +[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] +endobj +1859 0 obj +[295.1] +endobj +1860 0 obj +[1062.5] +endobj +1861 0 obj +[500] +endobj +1862 0 obj +[633] +endobj +1864 0 obj +[500 500 167 333 556 222 333 333 0 333 584 0 611 500 333 278 222 655 789 811 549 713 549 549 494 713 823 670 333 191 278 278 355 556 556 889 667 222 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556 1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556 222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500 500] +endobj +1865 0 obj +[500 500 167 333 556 222 333 333 0 333 584 0 611 500 333 278 222 655 789 811 549 713 549 549 494 713 823 690 333 191 278 278 355 556 556 889 667 222 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556 1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556 222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500 500 334 260] +endobj +1866 0 obj +[611 611 167 333 611 278 333 333 0 333 584 0 611 500 333 278 278 744 1042 1083 549 713 549 549 494 713 823 766 333 238 278 333 474 556 556 889 722 278 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 333 333 584 584 584 611 975 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778 667 778 722 667 611 722 667 944 667 667 611 333 278 333 584 556 278 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611 611 611 389 556 333 611 556 778 556 556] +endobj +1867 0 obj << +/Length1 1438 +/Length2 6052 +/Length3 0 +/Length 7022 +/Filter /FlateDecode +>> +stream +xڍwT}?RPIf*p)c m#TRDBR@ABBExz?s?9{v|=q޼kįh!X~H + A aHi Ǻ8Mah e4 T X.z + bR`q)(IDKU p{P aH7 %% +*p(ԅ``nP+ ðH-Ţ=== n$Qu00xq&;1 FH' p( <@@|uPCvpp`HG +@H7 G80 {A_8B\1H|<w~)!xah8 +]/0 +^*^C`1Thނ@z"|{ P& +o# I Ka@I𢀱7 +P1(|0~O?% C@;#wv[ ZA=YfDz׈U2_F%%Ї_X/$ +A"@q?FK{dD8 %.Po$gox,7-A ( ނ_!?_d_=pue!npW?xB?C_~o.X~IxE@"p f:&p#`wŃˆ= rgk2 jCE_줐FCxJ%Q0_ + + X|D.-&tǀ7ցM\(Q Ʒ&V]0 +@B[+=WdHͅ +ɰݪ6 FYS&jmzJ9sv|kkE&/'ܚl$xb&U&EN.omIWuDO.5qʒ,zI/ Mv}+ ~r ZH˸-zHZb +x#K*Ǣ"rt鵟4>v +/yR7nr';&9DXQ3tJiH0v^ig:\\'VmΑS5-{&Ȟ.|JWe +*}φC}q3! 4csjarku{/=imUrBDjf|3 +oBӫqn^V:nB2\ׅԏR@gm1 ʦJ J^ҿA . 97=S)ָiz0h_>@^iq!夨ԝcPXޙ i>4.cr;pqӐ6WGm`i觯ye>:\~lɥourS˵y =3al-6yD+Kk~ya)Aͷݱ ~4#I<Fc7hd0B-ATWbMC|cJ+)!W@C~OP7?8ыED^T)3صE^Ph'C] KT*u7)NNzw*ӆr?4F68.%H7bTdbn`>>i܋!yEϑy+ӎ&wE+]{mݹ+ۅbYq_lT(}wfY7q4yU59wgJ&( +҇u.5 (ӟ!GqGEC 1hȯi-6!G.<8Ǹ&sU]y3ZrT#y`=X  :˩TT4n׉k?|oZ s=6`CygvLzzbBg"!CV +Uf\S^9W2S{B]$t楍a5\GQkGAmB"b^ yހjOG5v.?Uy#;Kʯ6zFd]ǃ!ߜcH툔gAtH +I;k(KKC/ǮWU .$au]/2V# r 47GXmxTa@EU^TzQyۦY[!P'kCת +wʣAD^D4|&ȳhɖO9J"UgD _^ĢI(7F9 +S +F}jTN} +Pg?Yal ɾ͉U"ߕO]Z^6.f+wU)PkCv;0rq 3nɽYzҷHGJZQ-Ջ$˭|5+ ԾM]q`vYJ؀3"Nc1fˏ;JS2+w9PDe=랝>x@xNq+{!~O*+>pXҕtR'̭ç|RaSeidxrSr>OPӈq#1W LR7\gr8\n*KH3k]/>nTd6%07C(7B3G}sXR3iywd+pT_-FV>$ \'Pۊ\zjN3F~e9]ћO'0Gb3JxyE{U&HQ;.Oة't?PSSYOr~-˲[bUdq=~ Eb_)~'t*Fc(B^ےhMpeWU*5Rܬr5{?< s3ZQ8br'O;1 +t6AԜ%`J/R]E9Y]ڇId4ppmYVgԎm-(zqո|FM#{<3:ְ**Pje*yU-V[ Y>#[x{F??($o'8sr"3O>ʣ }CPB:5fAX15(`YfPr))*c%<|]{!f͵ިuT46pVhmtUb P#"BsgML㦴7RGJ{n2pd69)nJu T +1^HW+^$QM>;]̚};X]/g$*=ulӭqVͅ.M'UޠB+48j7G'_3fo_- #N? LO>8n21 tY ÿG0xb~wLWy>[1'f:1]dzHV fjE|' nwL=$rƢ>rEW@,|UeVW3t ١n qx_i'煐w9I;(|+:TԹp}ԄY:Le|r#6dx_H? 6Zz={uF'<1v+h;DM7ȵa-Fƴٓ> endobj +1869 0 obj << +/Length1 1420 +/Length2 5932 +/Length3 0 +/Length 6900 +/Filter /FlateDecode +>> +stream +xڍtPSk-HSiJkH^B@H.7E@zT& UzAK|;9 +*alj4N"ut4$0XT !4BP&w,_oSq:4 D\ +rK + D`ɿ1R +i4KΩqqG:8m~xDRt@ᎄЀ pwP!D|UGs`0r wO 0 sAA&D 9"{ ($3 +?.A:#*h8EC' x!BcpǸZga1? 75}'?K9Ն5(2y .!<2|WlMRYH6|3UfԪvqjof؁MUS')_+Jwaj#s2䤼]f:ŋZ-fݖm:fIo=F y. ,3tصdZɓRwkz,osDU{UHMf +EgNLgSf@ޣ\r)'1+¬/%cQhGDF8{C̜AP˩ȾQ}K(&}'廁NUp A!|$mA' LqR!U.eJꟊkgcb.@)Bo0(SLj|s +όR\SܓE4&/zBɛiwA*4TNw*j46{3Lb5 +23^{L(z /hf-ؖb^qEAk&(!Yt0s~Vڣ@fL? +V'ޤ{16&4 Kg+Jd:]</[27fXȩdA +R-APSUuAw|.Z\hP +ȨH]Uհ%ɆB\l,F`Xw_C')懧 `ڱGyx 5]f + $?~q+" ,S[\BYا숥}(.6TζGȴ/W9}ypJ{7/Zß,ImfjT6wú)Pqnmrp0?G@P_t;Q񞲻#Nv\Fœ4K$*a*Op2IjҪ@#wvS k{z +GRaWz3N@,z>T4_2:JVb1$-|+ޕFMX\odܰF'",~w'gSiyts\/l* )2Ci߾#T/k3ECkar:/LQCxra2S!7 F;Ԧ7?H<5~geX!);ŋ'} P&ܢY2tW_}Ms^; +Zwjи̍%ayb/9-"XT׵͏ەd߫SA‘`tK[捃i+(#FrYrՃJ۷$Ĕ$_W,x1?+8~g_u_;L)͇`™]k +1:5J`U/'޷0p +7NC/zj j IJsQ[$\u6䉺p"Fhbmd aᯖwG|Ip[ٮ"lF8{zY Y~Z?\K?ڒuЂ*m@9`U0çs*y5S#T?Do'Kh$+} b>>b8owxr˗ uMx7 B'76ƙ| +vP fǽKyB~7'Q U d#etc&7:3sJSw?}<ׁYl +{ > Wi-"K|eh[9~@$(6+Ll&Bc趤{ Z:4K~Rr*chU)-IzILN |4nv $o'fb=3"bzΒs4p [+YOh셢+;HO {x QƧ:K"v2W +-$J 3> k+&gqhl~FUlT%elWnF$jOw*B^BWR bo3t_v[NݗY&Ufǃi/Wɕ FOD3|%ۍ=5%H3/tV'3φ +Ե?>vHٶ9Tlݽ0c%-퍗C׌@d7woR9o3~by4XI`6)H N#8I#nd?'4|tȤ2 nI +nL sLSgc Aa;Z%ѽZBq%ls:Dm+ϗ{pzRqzaفмYhͣH'E\.پ0#BYyGjt1zlLJc' +-oc9\ƟH`NF8Ea'SfCiŴTx}gY$I#d41t lN +LIE+)tq}V:F5?@LWZc7x7⊨VO由mLA n![ZϧHlMMhv/BBb6/y+FhF(5#G U ^'xNN|RbS="R|P9rw?oHQ\``2{T|&Oey% +@G>Ü*A3Es/Y9zl!!@v gRx3lNvP`=Ǝ2l&S]yn!JKSŌRon8Z +&\d>.0dG;0,#Ly +tq9뀸cdL]2dӜq>ʪ?w4?N{WVgibvW g-8`IܓΦ4΄@\sm#ͣ34_ሇ4#᪼i[2/vy5/dM~-ΎmqY eѸ' s: {o'8@6~s_Qrҋk#4Wȿx>nx:~pc$RW~A} p8OjHtVzo:=]{_⏊2mW2ԧ.HER +BQ/.X $#F1yk5%+)&e?ƨ.;y.>۬ٹ:vu8qʄA*Ji򐳙3"6$d G{ PDYP>|{!9E1oh5hHmyz!54ίKAq2[aOӇEhʚECg;MƗoeV2.o͒F;Pyr!O(HPҕ7fe=>k*l\ ц@ֻFif+S1>^I7;D@&z3 ;wuz=eq +G4)}wTT ,cOsKy%5au '{{:)y:CU<NFK+4+^-fF?0O Mm}n0+nqL" "_ +oD0b/Aod wMAt kn'._TƼ#.;Ӌ5|'[ wdQ=7 b*: JwH''nRtPϑ;;r݊>^Xu\5śa +endstream +endobj +1870 0 obj << +/Type /FontDescriptor +/FontName /GNUTFA+CMMI8 +/Flags 4 +/FontBBox [-24 -250 1110 750] +/Ascent 694 +/CapHeight 683 +/Descent -194 +/ItalicAngle -14 +/StemV 78 +/XHeight 431 +/CharSet (/arrowhookright) +/FontFile 1869 0 R +>> endobj +1871 0 obj << +/Length1 1410 +/Length2 5940 +/Length3 0 +/Length 6895 +/Filter /FlateDecode +>> +stream +xڍTTTkS@qHA abfK:nDBZ);9޵]֞|lvf]}9kDC% +ZZj P ag7!$F +IA(LPwu E$E%@(W"!PAZu8 $aW;{"v(̘^`._9' +Z  3 rP_-8%P(g >>www^p!H b  rFK0"6(w8` pYCp&@;>yng#(W1 ;9`P-(kA`n/ nxG3\Іc p}30y#.@ʮœ# r:zIpх>ֲQ59-^)`0lkxI@`F"f_/C 0ɧ)8A}UPq-waIcc'D18"OO۴]3yx +Qްc3uu=u2Eр(QI Kvvbk}v +U]9 EՃ[+ +5iōW քZq\0{ʢ!zB^~}ovG[s҃~FE!rWYoܶRTnnY/r%Wiء̙tgumi=K͉k6U[nq(4:y7,/ߌUвm-*A +s8 ,i3YK7R牾1)b@]ɅMML,]/$V%67tI +_֢!f"^, xyit>jjSa3 uɑՏfbqdN}֠IuA(#'NUlP8v{,mXZ hV"lV+)Dw6^wdROHhE;BLyߘ+j%齆gri'YPrKr%6e7vJ=)iȲk4fdZ4k&)?Ui\xB7u\ˑ`7m]Kfg_"2Y{N*?JPxv:(v'th+BtNۏ@"5i.:%wm@"02C('NDqɭP ;I7@n7nRJyy~Lx>05k}je;%P|CUW٩ʃh$)ÕnwZ(8~f4%n#>+e4՘Vr*>XpVI0=~%["G)1A$ ל3ˌ5p<:AֈHW:5M2/pw.Wb7Z(:"! %9"1w"'?4Ve2ӝt$S؋3xNz$ں cXǎŞKdЃo`]3:uumH&N&]xTlGuX,DeLxI>NSj){#8=]3񒈵הyN;nŏsj/9OvM}v//`-M|ޝRHAHrX8(s5KAZYdŒ-jtS#j]@!}q4/B, S% ;Mu,䉾k=ܼҠÂtfLT,YxS*OFemd9_r~5Rl ?{LLr1cI}1mϕ#JDzBR̯I{J44aBWM}kTGbgRd>3>jo:T M:M|.j*7?7Y܄̑11w1M.yaa`ׯ|j~?Wvb9C}bucAwH<ݚpm7x6v\KXOJjWЦ־Bh6ŗ[J ڇ L nrn[f^>z+<x"xT&PB-O[1HyƊۧ;fT{ 5*#jy$̈{BMZ?.خVUS z*!1͹߰`QoVXfR`-V!-lq@k]!^\Xv-"=U}[-? Hd D%Pli}}ˑ{\7x|'͈G?v? +Nsb|,jl]wCLIJJCrb5=ʰ lڽe,dk)9_yeU -1KRƧR&Ǽ%ș$Fw [p'@l$5Gҹ^#C6RNG ׮b;.!Q +1d&/rpu5~Kmr?l\ET\ճwRCQ/tE[6Etu܂yHɝGЧyVK~gTCpn=Q ~mk .v`pX>[Qϙ佶!ڴ'e$di(O\4"O6i5KxcT_ecJbwWdZXCM^=]8u2-ϭ {]^CbI_=s!V6Cazsi;uTk k@ǼSA7g]Bi+$U&z['X0ME羆&=a6^fjSy":rx%Iwݔh5 +·7 QI i21qPG#~#b_|KRlڦ5["+o8GbaH +a"M,?8wB<#N)+-CV<2@segA,ƥYYM{'aJN[i9Ysk4 ^z +~z}{yv**e&"! ɤK+:q]VI!vW"cypn^F0lwqW_"?`T@"x-棚s_ c_v|RZ T^׃j}G2MJNoQߑhPġFEj\s~?L w[wz) SrVM7arNMxeUwi /V-vE%:B|Ȕr3-ϓop.X[ 5hfvT/ef ) s?bQ[5[ QSjd Xʡ5r GR~?YXnEiIfR`?5vj,RNiSeyIR ɣTTE$O+SƵ+ɺBR\ +U * <"!_&,9:}[R:;/{k>:}[J؃?2`UܘK5܅2(#Oqe˩9m7̞%CI}Y3cf.g"Vb#u/2ڷ2v[rl5pnָ`do Z.)VUC1mA(?DMC?\l25I+_Y*ب|8%wBHJ0|JFfL{se Xfh(ys~8s#_怗[` +D%#ru $AHNCM1Cb. O3{,9TѸOUw;nF/a.>tNs1k6Nss; 'FiL|}Fmzz`@NT~:Dz3 +[((*(.J+ +Ͷ +KT~wdi:ÙsXb[4I\MmnK7tML @ԗ$OAAoW1{ffFҊ.oԎHn hc|Jp +upW67An*{dtf7iMR7c-~7j4UXMYm,!_=-k?=rs,sGm@NFr@aFuYJ(#X!V)Yu# .7{Qh2>[&b +|uWp>| ZsyO1=iE8Ao9lfO LcT0Zb p U^Ňbg.OOnCv0۹r+ ŧE÷;LNI zAwH̓lIR,ټ*SxAKIgy"1l2GJ)tĐE-(L!ڎm;@<&Xm3 +t^3Y'rCtY;E1n@x%z9 `5:J{jH),Rtw9XS=MeCt ǭR.[t_D֒^DF}֕"4 +bƓ? |?@o%bYQ'"R޾SlxB: ?à5 + 5 bBe4Oَ"M +ͲZ +endstream +endobj +1872 0 obj << +/Type /FontDescriptor +/FontName /QMHUCV+CMMI9 +/Flags 4 +/FontBBox [-29 -250 1075 750] +/Ascent 694 +/CapHeight 683 +/Descent -194 +/ItalicAngle -14 +/StemV 74 +/XHeight 431 +/CharSet (/less) +/FontFile 1871 0 R +>> endobj +1873 0 obj << +/Length1 1408 +/Length2 6039 +/Length3 0 +/Length 6998 +/Filter /FlateDecode +>> +stream +xڍxTS6Ҥ#H7 & wAjHB$t^7J](]zQA{oed3̼;W8 (: + *Ɩ EH89Mo;  G!c6U0 E!<($. "@@4@tPHSwr`} @RRJn08107lE0FA0?R:c0B`7IW 8`h +Ev&D 0qr1`k@!0$≄<c-; X/@B+; H_8 G:Bh6#XףּJ0~hB8 +J=f5$TCb$ +A+H7# uE.l?i`M$901{@0uv6c9X@# C{OX:"P8p9$Ύ5ZcX>* B"| baS5(˩ Hā$3ϿNo`GF-# +  M2x /PX=<5P ~C;_YW=~GA`Ά. +;!h]^- ;#JH'Awwp8#a(4};zWmo ;YFPDL`]AY|~K ,Da!,@#ʃWcE`43/'? +@<=<3[ < Ϣ 2./;k?,-w$YGa=w!֘zlyl0W99|UnbfGUy_p+'+4.8fj/ِ +ߊ;|"BGtg]R7@)%[&^)k%2fҚ2*DtiY*ى$5x1Td)DP^+ڶxKU]}#M[A?^q/-_*>^1Jmyw(2qMھΥȪHrf? ͡-Ovws,Fji%YӸ?V3կ謃tpAYJd*6=ZZe^)=֤u/#b\CUgiE;A\NWjxGĺֹ-nE}|6M TkHϕr&#5v(dx@_{|AuԲpWxUUa9NB,ͰTjE{OGy% p4;*o+,͆Kx%\ՠHU|"f/c^ұ-kX֪@V2IAA{S#M [*UDzkEYY+#[_EU|WjO?WJ!%p1|}qU_JYS@JGڣ[_\qfK=Z`#9<61mj}ІJ֌n +%b˛f/Lv\u~~.ӘP&q#8DI0K\Y}}*QuVbx{Y90`Pbt#l8rx9~aӌ^y(Ξ3'[~>ݲ3еUf kcal RCL!"5әR8- =*|ŧ ;s3o|>'XZphgafVdtqގ7Fp CM)`:7& 5q6äg}ij/Rt Wmc".4aّ* ^z_5IKvȾ4 +n%KXYk59X(BHj;2[(ە]qw$BPMߛ^'ioJ~x@k5ցߖjM) .GUE׿^fkQZKk}ՉAtՍi^ZᘄtX" b`%%]8ޮ Q ^ D8{D^(egHCe:h]r?Xzkh62Ã7N* G{s/۲I]ol$܇yؖܟy·X*nc|FQ!ʥtWǥMX`T;‴W+gxO4@:8䖝\"  +$B~'w`ZWr."bT*C9'3){5)6˘ZGEX\!vfo3#C7Aڬ{Qں+- CneVRjEmtI.r$lyk(Dϊտ:MwSXQ*^|b|ɻQϒ&8ҿ%:5/?^YUW^H;~:9*` +/ +,l&և.Ѭ4Hm]vr}+G[ntV{I(?#t*qi=Tނ[:`Xq AGn~>eq'LuY\=O2pVqYgP.F/!UI&9EPqї+ˌyd#ch<AV Wm`2Dby(@vi.IZꫭ +4yuplC_nlf;]naw^FLyrї.6 #Q {~ +rz:d,n9XȳKm<u-=GĞ|h%z< &dJ݆>WK.}2ϰE%Ak̈=spu尹]Cql)^Cٮox8rC4ma͓T/Y1eG0>Rķ9Dҍܦ1|KxU䦝'#;ӝOvjx3Nװ􀛏E5!Fi&PH\č7df7}yj=e)[!k0 z츮\_5hOmi +3यo; B*lAE!6[338|̽Y2*Ч˙ׇ<;jA7]. ԩ)!hLيuF;/~5)\TEu3SY,Ӥs]mbLh=7/W]^hq{Xd$eǔeLFXɓ~J21e48JLC??*c?CEiHSeKMPjJwؠd6f +[o,r˵ (GΟjh8?kjۊV!7[r$^'HfTV\ahDL@Jd]L'X>Byޓ j8Z>~o;(.1\更9M*I-Vd+N!)I2X֒Q(`3y ь;5Y{"7ieX``]\M$j +^C[NL?G]!鼿$\NvXA*C{'twh2Uٓ}^Α +څSMj Á ӕr!0=wlo/? +>lQWQ7WU`7Ef?-]<ܗJhR"vbJG)#1qW@mbcw,ks +kt>/”.Ƌ96c6o#ȅ&TYuݚDɺB;tTM3GR&6~nPdGzXpJs?.vS~yƳu +Ÿ\4 7s@;P;SCO#>I)uF/eZ7XI4Bآ@~tL.ЃIK"06 Yԗq5Z\Tމ;bQ+K ].miwz%uPPw䢔QYw2&1PZ)~5}5,ha[kpÍw PF/G?o{i7ز $P}.R+9Rc &(&ꗧ~S!Zlh^ ߺ*'Kr;}hp_gzXpܫk;kx6%ė[v[";枊Zܺh{?q&k.naJ"g[V'{uibWcZE̥3˛}MǢʫBȒ҆/_fI +hub p,iyPbK?SpjXTk>ŚTkQsGwKoqXt64OH7vlXl탷z0B:\_l`-ܻn"F ˦(31nyӃR:GwvÎwB9XboD)-KeZT2/UknV~6~뤊qQr O7Ŝ\dRG#d)I~p^1څpc52/Uc|f=t}n0V TuF1HiǞ?B?I|~u_/W߉~Ы)3ؗUv(Gq$_W,zN$-鹶e3=3p-{[Omgd 7'~4*iyMt;ڰ[i"y=?]"aO.SwZW#[1e͊=0OD31/},!F/+E=I2`)b}܌D7ZKO2?;D`<ޯ5FPp(Wr +hY, _X=S"XLQB 4Lzt^dE~u*;Eyۓ0˓|~?ڄ -G.JKss4;[riY ĐZK¹ +oblh=&mI&9)OnK*kO<*|0}k<y97{z6HF}i37PPM\8+z]Ώ>9 _;ĺKN"hj}~f~'=7pf ќBRK}w:-*WUҪu}}-f]Aj335],Xh()~{Vd{΋5b#CrcJdQer:o> endobj +1875 0 obj << +/Length1 1398 +/Length2 5989 +/Length3 0 +/Length 6942 +/Filter /FlateDecode +>> +stream +xڍuT6RiPF0FZ:1FlNQBA$DJ DABRx~9{vf74Rw((HDob)M8g3"(Cpx:G:@QqPLDD@4F@€ Ю$o#TqcP +9]g UOsA\ 4/Dp,ޅ#Ho  x3 +Ga(7h \zfܟ쟅_( +Ay#Q=4yg C< Hg>!;*F@xX(ÂHOYSCQ8,ԑ8?voߛuB=QH' +V7!8,{A7vr4]xp=B<@>DE0$#(?f3~,(P?O6xz(gWXBEOo񩪢B"@!YII$PZZ2Y !?6 ?qx.e8[H@_*/;;rn O8,xq;[p忽8^*(B v$ 3D*=(!g:/ տjhOIJ!  'x^ 8| +h~U\ (B{:q?]c0xb_JýP*:BSMщQ8gz35GTJNc<nKz#XP9mAö!GF7(-&¥[ŗ˖ +ΛVk@*TC5XKvϸ^Kkx 8Tl0t蝝Hm+*eaKbS%Q*m^Jy<,!i%͎L׼@wj^QG)C=VF_Nzf %Q&A֭ /EC +KZ:Wy},W1<;iojNcVy)i 7?41̧*}nxSv龰0tFn8ʁ ebfoH**4M|wq> _?*<(| jud\C(֡ )LX*?ֳ]O=٪WY"nzzn +9p k4/ۨ繨aBYl + "$$Mu%ip 85hu #6];ʦn+a)L>Y-F 36 /9'W$CRA|CElKdOa sdF}YȖT#x4q©gC.E\U߂̺A=ܩ"D2qriAdZJ\ޡUFAl3&'l=T˲>YƋ0%iΪAOSI|!]3KW 0ذá!J 4-|zo̔j8\oy&$Ourwl~pv*6(c\'EˮI% m`3e~I8ȺnHX +sc YWߚOiB7T>{7ܸr{d3E _z\ +H lI|= Ld(51d7؜BAamXw}&&PƝD;o7p5HPnP:hsNHPǔyusw&n*g\|(/jRswMUHC;}4C0rn +^qCj%MbN,QͶ +u#qZ?QE4w}5dJ]~$u#ʞǧOψ|%Gi`J!nW1&3Mw9C'iJES6_}o h-2(!ʢ~iGIAӡ/㦆7~+I,5* I;RUSBF{ŤFXO +or#9.;jFko,ύa~@݅X:Ǐileo]y^Y| _|.pMɲSS#ߟpuN̔3(zNwYEBʡ*Ӿb-?x!5 ֳp?#ue)p1}Eʟ4?wqrSK[, +gD^y4Qϼ~"J iO\kg͊hV@>˒xRVehص ,7Ƌ]ͷb4I"-z=Dt +V'wZLFTe[=&>~:|xL +g]dlũin.pqY,yY\=WK``x;b..ir,$1|!&,%5joXQ&sk̎+6 \UONd픥=af{MoBR;zxYaK'4yxLWjT w!Prltp1pr񨼟qNMD#5JCtr!3ab|QS}^N-n0#cw@#=2߷I +KC~7+Lko\7&c+ǡ>YӾ4m`!ƅ):y{"P<vs]"s,2%p7/ Oc|2fD'#<ְ&6<ǗTfuxYOv25@&v9)+yieˋor(f~9 *)6zmK{G2fqVVΒ>| IEYtC]IQܧ[Ă-Hj Xk`\nٍo/GؤtZ?KK"4 iT%IRM s0g Y`!4`mCe|Ê' 5 s%zhN0oBÄ+L]B4 +bnRK$}o)ey[k@j QzFw<+:yR—FFȗ~"u޸ă>g"$ AŦSJdrŚByǣӺؿM< j>O^͗A=dnhw\hJ1 +ʍI Sxf0L9) +!}\OdQEN38[cDsur^[rmG +p𫶺jcpC'Mu$R9zaJ#\U.nf1iTs' >۪OQS{BaĒ_sݕf{v lV^e-kD}xy%O{ c`4XZIzd_@椌{CڮsnCG`f|*+lo1--5l^g[KAjA*;I8QC}8L1`xyQsGGEe;Ӟ ԕkMfU=QWXա6[Q;>pj֨06464x8!S^O?N+sИN@z٣nyʏP&,т0 gHҲgD{X޸'?~1ǣÉ\.ta9#nfyFK~:Qy ]59DQ{MxwJCV$W;Rs4HE^Y7sc}( wɗq}!&+w +, ڲʭN +KM甬 C9qZAiC qb~|R#ٿ^SLY`':5C2ҥYԸUCG2GΞ)/ h-5>ٹDO<ʝT4C 3/6F+SrwqGE`FqP:FgjECEI(.xrC*5%|,7)i*OVFW (ݏOk_=@OE[G|"Q/VĄXc-$lCz&%eBc"*R>0P'%1B鞄WCK=l}3;Zs>x-S*k- +hTTbӵm*WnMԮoX4]W⻺M4.aޑm~3AGHft_J%=Mp>k3}wb9q~ߣޕtQՇ N$ȖHAyW~w !l[ *B߂LD1+a(H4L!%*FSoޮ\wcK, z%<Յd; %W"#'7nȁ(flb`Q!Ij_%'Qɣ٤-ү ~8ڊUmDO^{W{޴(=gΒ-~;WFk]6+UKD3.T4u}L-Y cP +t&h[_G~(eZf.R莉<7_:_w +v +/aO YO:$Bwdǜ+d}qI-Gd_ +zAR>XGvQҸNS]r +'){A$# [S# LPjяS'SIAA U뇅P4k%%zA;DJ[\vJ=W>1G0eo,Sg^X}΁ %E{r/iTOhaIrGgج@;L7\XIn L<ܭޕ_Ub(^o +SNfմ#G^,o94n3s n}e^^Z8LhU=:ugc+XV'c֔,[ w4G6W\~M䖲 4\ׄŋޠYe͕a^iOA62{t{1 ԍ뙮K]PgoޕaljK!^} 9h{v4Juxw'{|"+;ѳTM$R! T~  `9"ʟ +}jqdޝқyFf'"KmlTBkCI &0&B2-* GYzy0J&sUV: $Vo*6UbmgIj( J}AWdK-vUkw\kMI(L\vJ&l۾}ALd8zNa rFoew&S掭Ty=*ʲ@;˓G.CG\ݷzxys0(Զ7Zk5헱yI-vc~J$APQ\gEӶ+7jf& x/0VԻ9Uk3IKTD访ƃcUe. ao,}ܑ*gA]z&*_a_wuٻw =㹒VP4DNPpq®ſymv4 @R\fKSugDIR;cNE.d8A_S9_gT31yq؝-=~kfJWۉd +BYg>( +RM~/9mޱae,E +JO 5"} +F^f-n-ܖ2uj7^ᷣSXpleRsN2 +}kh2e'9"{VT7OZbWÆ&ew^hU _HⲈ/މ8B|)VjS9TlF'lYgKVUD5sDESdyH!´iSp9+}-P&WS}:Mmq+X7䍄pT0_ > D;$m4ÚfR[œ8 @T,Kwp#øo–)ollЯQ'{m$bvwٽ){"vD7i<:=V[r.ԝ1.])~&e=Zt?mNϐchEc~X6>Ϲp#7 z`zR&k[_xU5I"Wɽu#TxF +endstream +endobj +1876 0 obj << +/Type /FontDescriptor +/FontName /HTWALK+CMSY8 +/Flags 4 +/FontBBox [-30 -955 1185 779] +/Ascent 750 +/CapHeight 683 +/Descent -194 +/ItalicAngle -14 +/StemV 46 +/XHeight 431 +/CharSet (/arrowleft) +/FontFile 1875 0 R +>> endobj +1877 0 obj << +/Length1 1400 +/Length2 6048 +/Length3 0 +/Length 6996 +/Filter /FlateDecode +>> +stream +xڍTTTۿDJE%FJRZr``fAiT;$iSw:ks/߷y8 (; +IUt ͥ $ 1?f -@6U0B@!4 +Da`w8#B!aX + +텁;8mBn$~\`8q0|G4DA0׿J:phiAA Vq`X ~#vC=CbnH( 7jj0`|?gܟ쟅_`#H=i + y@Uq*XYw;H +S}b@0$e +y7PPSx~@{s"@A0uO7 /_*nv؟9!ݪk*(%.](.Mc)/jѫ +)>R%.W Q?2&覦Ԡ=4h\PġVjgCT%%צ;I!g^Xvԧo*`c6&:VKʦ{^00:U6gʭ xf/%n!k~1Tf(ブ:e'js݋MYfld`Unvl^"*$y&mcG)fոMRFܧr-G2xIUzХ ܏U brnT˴w].tcF_XG2̅y /Qܛ+sB}P`u1 cB_ȓh3 7uɘf|u?J&ktVwGDeq*v}mÖT(~`#ʸ;`5'Mzwokfse U&,N~Yض׈eԴZ*Yҩ}H=Aܾ{EC5֖7QSSNꌵ̙uT8-\Fz{ *Uk3X7a2,XM +Y, /۝ 6 _nyY9sg/|\Y)25$0\՛rÔR%ø~;b}9s IQC'YGBN0=>H;():*#WJڭ bwjVv9q`Q+NͭG֠y1C&TcMD0DLK&K E-~k1z~?@YT0V#e5sJY6(6֏ ڏJ"wY'>oq[kv+YCe.a= N7z<2# -osO9&$ +SzIuYJߧ$tVb5_PT'as{ǵk]D);4Kaͩ\j"C '֘"Wk^ +_J"A1ɚ靁}܄7hFz_ +u J{$=/3١K{GqP#Ϸi/!r's"x:/7Xh)ȳ_:Nkl<R=[`*qO[NQ-j1v.X6:5o X{3:woV*Kd)^,q'su8dSFj<\{u ( #9_^)DЂ}oZ|y +&͜ңǫvn(Aj6O'ۆ<( C~fM3QG&GH3P׹(>ۘe><ĸ**ecS%z7l+M#+1K}JYgժz#xle"%=s,ȈQX@ @JގdIݼY鑛^(ܹsEڽ\H@NkSF}o7KMZX +eY=r n#zrbz |S+]zC/wf`{rץ}SaZ@}Jw3ŤNr--GYKu9eKVkR`^Ҁm1יMAl!W:A{XOi^a;V[<,R }ﯡ*I'³ +N1C=-aMW5r`؉ơSd''شe['%w#. >䬀:e!K5[f+o>:ũP18/U?̞)F,ɺ1߼u\L<~w2 0U+5?.Evqa,9A]V>Bp5& ovs4M +R TDT~!f)]ksQ ͧ54,1S=-P Oeg͒YxDX+~8,_!D)Byv[{9LTF3-~ YCfNH]M9MxM_< +!m.~FhuccmU@.7+/ +wQG8~d)KlSK@!˻l43r 7ZkgڑBZjzðԲe|IxMt髷 +ϿKU 1rM_INjɎ +D2l#OJd7bQq6  Dh&֓&g6Ss}u1a cEVGPConPV]q0 +D{)/ߍvztinsiեwSvt(h +CjnPަœ#r=$+t>G3 Z&Bj:,$4Ϊo7+JxTtRnq{Q e1bఆ6p?=oiMnBݠ gZO=}:&<:⫿Cc,? rB7n&621 *V^ ȦݢP}v wBk)Aq[ ?'0N: v|f^Xء5:E% S?01MvOAf4DimsU)WبL.91t =Jo rO{7#^|IPJ0>XI\lQ +C *_MS!T*_ĸim!7 P8aQZ^,(Zu%VUP\>}#uTaP3z!Lt%t5L&춒yAx+9n`t.I`)z@PNmƒϴL`gc9,3rൡQT10V^sg(*=<Ȳ#4L:`ո(kܿb`; $|u]nx2h Ksr^[*cZZu('ݖtͶ;rL1rqs+!'k1㼂A9woo/C> KTI qPѽl=ni28'vՕARXlLz3G>7C  o,d:"̠Qy)Tvy\}e㋇Y 2=҃O xljԔ)lOLoOMNx_"sDE-ʖ?:v[u m{֬+N"WR~KI +]DY3>nrןĐ7 H-Q+gSoY7kq?y\d$4AF( ,0d&gB EL%6K^ǐ>HUFS Q5]OT3 +\UzCle3)Mʻ=p^ uY"WҀRNeiLCjăl07C 1!Oϥ$W__hg"d]kv(EǪᗐO:$S^/o_ݣ֪iM?Eln`DK?^\۔(+C`W&NLrF傍*ylY8M`U'%zVf1PW^l훔At{,~);Wkz2fTAC.gI#u5H*1^77tN9}C-Zŵ,'PkLY`]l%#09c[npliwug7ؒ'K_՟h.:R ug> +<;o< zdj?l[c7ʝDDV xK ] +$ګ-6j؇5 +endstream +endobj +1878 0 obj << +/Type /FontDescriptor +/FontName /GJVTUN+CMSY9 +/Flags 4 +/FontBBox [-29 -958 1146 777] +/Ascent 750 +/CapHeight 683 +/Descent -194 +/ItalicAngle -14 +/StemV 43 +/XHeight 431 +/CharSet (/asteriskmath) +/FontFile 1877 0 R +>> endobj +1879 0 obj << +/Length1 1894 +/Length2 113985 +/Length3 0 +/Length 113889 +/Filter /FlateDecode +>> +stream +xts|3Ķ;m۶m{db;ۜ8ضmsfVժz~$J4v&v4 A;'#s9SS #%['A;kc#=3@PDVل h3r0289f"ٺ~F)3>͜84C!HDlllLl M,l*\Kɜ>FZf +gvcS(:Y;Ou5 V^_6vV303wHH@OK+N&ΟX;mW56q5s4 , lnadeky^Z35o M:5EQ5i E/Wy [ge6(9;YY;vra2Ύ1|:N珗;@)n6X +0pt4$S;]tvΟ!{go#_W+ N/ +Cl:?C:=N1#N1$gv?]}fCegvgv?]}fWCٕ3N}֢>kQCZg-!Z4g3CqF!33~0~-7Oa>Z#e;|?ś?ś{؛f))2|3g Ov _˟b,nfohbkmb! cu_}beß+/r1q/7I2|6鏪dtwS˧n'k'lYޟb?G?S?>ps }tk99aldO&_fS1mbnb4ogd#͹={pLXQyp;1D2\\Ӑ?"K*yH(Y|>gE" U"%͙d[t}Ā8}"5Kq8!Ca|lE~ ^8{dK惍E< P;4Ke{y+ȭsɂvPY[9U:𱲈Ҍ0 +U>Q~\v=׌}~]4X@x:>IkAF%EJdrJ %$;@tf5,׺xwMgE'{δh,ݢqizy: `J^-S8ʏ@JM݇Wyrt64ibd^fr!"7NwWF&65Bo> 3,6!SD7wsYԊV>7<$.QN$-A~et߸r.T<l^{4:8]ײ-[8Dޒ"yb +-DRAڒ1b᠉Tغ3/"_Ax9A +YlcՆ~6!:_yʕ\}PM:x(2F^ 3$]SV.]I 't\a]}[c B2-.3p#UN +e^Յ9t;-i'T k6L͊%*- D' +t,Z1~V%n:$p\לiFf[죒9$LGm&|ds^;~}<rf06 ձ^] +Ih( rZE7ŋ:dƑx;w120yUB]]]U=mc#Ly#UiH)fmn1 c(Agi>ojCsf-˵v0wUO]ߞ?"\")Lqnf'('#+xc5-@}N3¡bo.m[é|4YH$ޅ_eysjF)aMLlm2zwMfH|*g$8$=[ZoB KvRYu#eZJ1>r6})w3p3!B<91Pq46\|*dwLF޷;N ^,qo}ajUo hD MkhFڈPs=2 L8tz"heܘ^ٵGO+ ~gj-&ypSꎎq vnjcr%T\V7 +~bm~T?6qVż!sN9ǂo =Sʝ$O: Is צэ8|G Hlྷ^H3 G M4(t&2w!#07ߴ0EjTvʊR"Z˨iN}F@FQ>$2;/>~=K .Td2O%;NP 7,Z(D!ahƍMֻbH̱XwZL^!/ښ:郄Lyi2|o6+оhtO87ދiUȂ,O4>I[Թ\3VG@\w Z8]}X|k$QEijF!v.W뱄r: +&bxPWL +~dqQv)-H }0]qZ&(ޭ=WG zT&z*Hy"ƘWXjnXr8*=1 +Fs4h(Om|PqKdA~w*|!iudK.tD,?7fCmBJy{RCEx10NA!Xlj'Q$jI@rh=fxHKĭh_3w`chµ6KMRrJ"UAԐ[i!Y(- +)m;cDƳizKoh߈toszOW".ms+hM@n˟=e5ɨO{2WTfM#){~.0ۋ`: --) ir ^~''T}˽p>_>SN*M|̙a^#y1o<´z5-KmyS5ώN4O +<1gCr7wq'l;Ǿ4MW'9TO,qj:k8siRlA;qX <\̧D ŷBނbU M8C`1Qi.< T\ky̗߂R))t0Gw>*4gYx<*]>YL/߸#sKUf\r@ɹh,83_Bfw{\=­S:]w_.g1fT- '^erthNo^cͫ1?gՆ 0PV*2Cw"Ӫ•$.o#:(I4&֜um|p? y,FZWPr;]DA'w|&8f>( =56Xzמ5>cZwz5B[QA'HQ*t)Uˑ*T^P6%'E|1jwkC.L- Y2iv*W+{}@E]o75KЫ@B[(M 1P(qp;q2jLyMyh7uޣ@꣄o]SZ!OP3|bE׫**],MtIr>U,IB3۰tERjZ[I9вV,)?U`wo'WNvq64O/$: ?g_%e-9FMOb}UK%[I'me3=VeC+'<l n?PNSJfY\42[X5bMEp$_vcK~xfgr#DIKBEZS]*MQdefBp#UcEqaUJ,CBk5v= x 7vǖ,vTam﯐K7 N_9. +Ŕ^._aAPėވY ܐ93}1Zp/4zAv rR-옻g[-Rrp!4IzyHYLԮ0i+׼ڥz^e>s]S+'c &Ǣ!HWl%fM-(j~ۺJ(|*ȒwQN#oI:RYWQ_af,.d2RB<K_CdwK[7A~#,ktr_bXIO5f%)90p]3|wm)_Tj=%ۮAX_ +bDG 2X*Q_4~.DE5xUI t_LLv2zJZ\TrF@V-d.єl3>_<ۆD;͢j[s#A_jye< +twFK; r@f6Y)bÉ_@,e[3dBĤXx3p{kFOMo( M2c+6 +"c0]/Z2 STMůW7k٧`ibMd`/⸹+Rޑ{O8n)[JAomme5Q/iؿ[ڽ.yVW"O( +^2-kim.qI XvQ c+q;h~VBׯ@[p"11\/s5 mqA#lʋ%ɖYU(Cκ}i`y*s^E6cՋ~\I#wI7UbH M:"נ#lrⓚ,¦G4IA y(صRV|U/Zh0^mn7F~y;]7Z}eк1>sQ+,6PfcKp! H.y=g6;we}x<'x>\N +A˒Y}0~h<"|4 a{X=YX\@F/9iZ-ޥtk&PUb(lS|7㮶h)l=bvk8*V -C8@kh$%hV5m٢P8b$<[BSej)r}l/;,qL x Ъ*_qQkF[!?t117^5rT'PT|i=_XcT[Aeol݆1IN*8(q!H*Xe/KDŽ {\.S[zRG:*aֶk'%/1+h'9Bxwn~E3hdyٚ":3VD}Z$Rw.V1 ߹S ΜUE~N5@FvQTiM OU >Ofc'!?`V]d8f+`FH Ĺ#4ma\1*CHOkTztJ@dg83ɻSʿJM#ꕔ'GZkiMedE<V|\=Ja+sdӹ/2ţö/;0.N# 0bM1kucQpKG+2,j a ,]=r4s*J&QJnst$A8GNNȖL@8ݣucse,A+ VZM!N1V CB|wR?7~'y3h>`lQo Ȅu\+cUM ZO;ɫ/J&hn.1rit3[NH}!'0L wk-_ddLWKX^lo:9HTDs`52& r#]׋cI7ߘ7jA7l +=と,%c@MjBPqQ$ҹ^RBj$s6*\'=\ljS Dk^|J9NT'xP>"Y 6F}zI`sͬ/*3v}:I%.?} pڏ.t_D+r?,~/ w:E@**#؅U͜bg\7"%<7*:6Y#g釰3z\=d͠L?!p,wSFݒx@Ua5Ƅ #_"6R3.N+d +,1b A?/y1KdmCِ +Ն{m7A%aq#vs:ڐ,0,Ǝw 2t* N*ؐYt=b`\."#16RuъhZ >%*b}ZJFY9)JuuwEehq va\zme:{kPH +or +|tue6MຖT+} SOUCưDz+ڪjlëi3jMO㐳 ,.4HQ=ChPz0n/:}f(T/F:ÐCތ4M郄Z^w5Cf`bb#9F9.#]$_ytŷL'FcShv]+Ͱ^07<5uѐyk6iWZt0#RMpI}~Slb T Z3IL%yO9Ŵb!rTV an{njѨYq# @bE1,GWYv$DWi=Ԟ;R"ZoP v[n 8(ߐFKrPykdFF:M; +p[^c6qыjUCޒ"U O`ޫqit~cpT8a2{ X 9!3.1ApJY:[dV]l}۹w9GY__8|~v҅"Nu۱n;:q QؔO H]KQ\7u;}#dN#cpZ +p!+NF5FЂ`_v֥21u |ǔ]PAo2\<uyd"mMC] Y,m@D,A{hQ/{[а? ;};h+%$NE\sRōUq@gRՊ>,Xo7eBB1(2qdsKMc˳u5?Fdkgrl<ˬ%!#(FlCmoo*H}6Y+!=)]pcvzBDŽIbI̡#"ǘ**ٔB-" bOd^eq[Mr6s4E&5^m̀&Q~ r\XbORC2G04sdxTu0owO׍N# rd H>rEbfSz3G"8ͭL]2!L9*à}[ReqP*,J% OdnSRypB]I;=l~%6̓KGr$4af>D ~  +A#ןl xP+sf=kyGld3qʚbIn Wd\/Hй 12yc7S5glJJ> G*?%0p{d0RLjt3,s-SmY"H5>6cG?px U! >::_p+ BSWBr 30sLiw"㩍H<̄iGE1 W(6I}A˖&{"<&DtddNaW2`e-4)ںFUDxNn=K_RrfhJy,6|ׇSM"PD%)AY7U}sE-4́ 9|XI ‡sJs'@_6R(vsṳ9GJ a&pwC? +;ڍ!JHfl+2N(6=h0E|fz u6FR@ +(݊h[Y'a6!N) םR|R]U4qbT~9U|L8I DY}1a@yJu>YMKl $T +^ +@XDcJiOs̾B:q.U F铹yI|$:7ѻ(1U{uM%kQn( #m3dމy֏ 4|e}!$B acfOd`YHd+-W>~"ߴGsҨ@Ƙf+Q<1[uu>5g՛b]{tWwg1eQ6;=>J?{1ڄXkӗ$ +,ۊ6uW@ϓ?P*o_.T92m)X G:;rKeك=i:nN~dzu5X)$k:`K6.]->l.᥽ύxE[_d멗d4$<+W$üE*pJO}&)Yu"t:nm@QłnvD=g&YIRԚxG| -qsB9tsDMs1=QE| +2#j[`ֈHA%(:rV>`&b#;acZJN8_ǵUSW:>S{P,yZחI)YWbx&$ȳ U ̟-3EX ]2CpQw0R@ +A-}}ʫ!Cx c`` 9S݊X!h(D"Isyc#qyBn̕3v$׮unTZ/E7Dʜ:?$2~tsG`5oeN״ +Y}HnU:ah8 _¯ԐhWX1 P^fKVӦ#Ə%wze}bs pT&\1A[vN9#"*jˆ5tHJ1[ɰh[ !%V&v9Z`ل(Cx|ۗEG/3\Ep_Wj2g.mMC V0cwa^4,_\&yD tԊ_j8p[={|~=B,m%;ޤPiA - r6?!Ӆx\e?jFBѮVѕd 8J۩zgHGP%R8G. UL􈨼5](~Z~pSL3:ADBR7CE=|!}R "FBfAaInXUimgSύAHTUvntpI@hIs[-!:8tEH*_ KE0=Q](~0knXsM` L؛ƛ8s TT!oNSƥ6oxrnHjH tV*$XCb{? +{ED`2s ޤ&a&څ[~cwCb*Km0 +%^ Hdj}8L9וbnGʊƹ$oƇ?2$7ajq 5l潏\$]5(7V>ϲ"u@yE5v9һt.NQ[=8pPK_+[94H*&)PZLMWjm#D=]oZ'AF`It㨠fW2~^P鯌pggzRo 1 'o!jO-`D+U9k}uQ+qt<,Κ+)ފ &YlCI}NzjS:hS#Fs Pݞ),߹2rvKdk$`½r*"4c;*T`ZDSC[4čƨ dҨNQ`0;4Wc `47F^̰㭰(s{.LF\!mI3"b*B2]9Σ\C=. 3fJ|/r9فisvCRcP>φQ`vTh[?([{[dRT?=nJ/qM(ŀ[\ӌt)VAܺ/MBq[ւ݉3hdip"K5AtJ!TVcaIAnϟ4u}̕XZ0x8Z":#AN6o^k9n'..ĕyfT~ \ "/>I7'&_=+Jr|!*ItE}߽Fc(<>?Gh#OX[Qߟ/fWz#6 _ZP(is\)ju #+U.~4\3X/j0ݍ[<&ݏ!D>WaVǏg MHɔkQ.&f{{™[ʏ%B ] \)i +1P!KuH+$CaoI V%% .kʣɾlsMmPx>cM_:h#su/CqUVʣƨ;F;1&m@A(MN[ lm[r0lrhSr@㔳\RBpd4I5lpNAAwY`@Ao>K3|\&IeRI GAD /ƁPkn@dg +n[k3'qMCoR8Kq`ja"Y,@A>uk>CF^ 1my$'G\@l\<#Ì0KL[=<F-fP VqfvɃiV#B# @6IL9^uNk[c\e-x׭Ok5*"Fq&e}ԆܡJPl*ḰvPjLzMsras̄`:SB+=Au'-l9ޅ;m9,GS&D:{R>R%̂8b`Ţ!3K)ɠ3Rxr- 4pRzXɼLu:,5kTZ5vR7(bb麏G^yٖ~- aɗg.\;G(2sQ1#X;ux#1sOv3&LΙ-2!T0+= o|.>{Ө*ueS)"ϒP݃׺  hy,zDdzӧpDbJIԟբctOtgNc$3Sȏ>*}()߼Or=+x0{|:+JӎG[CϞhYvtZi}+~:mQnl۶m۶m۶m۶m۶muCW_gVPJk4e H=8sck\<̵"3wQ~D5/u)tRl*Ο͈GeCk(l/yXoB{N0YcNEb1;ӹ 9UKrBdn/2[Vjǜc7tJ>7ǾROiq rL5f9wF)3n@hF[(v >UTCC:` ++b5"*Umi[ ŭҒh6MW@ XtHoGF?;j l}$IkM. + hE_ %xඖ 3"aܥ^:o*PU`cCK%n4#5*Y$RbV[Xljz0%](;: +i ץ'5p'WȦx!?Su}1B6xu^=PU;m%|%\r䘝lE3֎xt8}㭊{#|]=R|PA_tea2ai]l"unY,y=tHx}9Xexo)ܤ9t7,>Zkݵ _[Ϝ[b!8}whJ}~|^\% uBl-tx{ M]aSHŅFdr#-n^ꠄT3~ӳ]|ǚ\ ]ZB&LU oSWTtPH$I,:6,޳WR2hC!D JƎVa*"+0! kwp\I5$[H$v{%s4~}2ysk6x^ ϒmr"8<Ƕˣ}qOJtJ5qJq*L5\E5U <Ƽk6l< + Mjś0 ׍$%MΕSawRԫ]vw*f+|zׇ<ى̨_ Ί2eG)/ j:(7R9n.MB($+jb`{^zAJ0~hS4='"G0W tcb/ؐ?л2gs1ϑmKv"8h~ v]8}%sG#=ʏnn>}ɳ!/KMyF$L%%&$(FxQHduןf4.FΛylܰ:h]&s_ʑ-UԨ[Vycݐ.dpe"ak+Y';_YY9tU\:* +X\,H>2jRb,`!/=P +rKUԞbc^ٗ tЅ03:O l594˽ԙ[i%{6#yAmCcitPATNX$GGof0{ ?Fjk7f2\(8~PuxZ}q>l9s6q&vDM"ZrA)'kj"WywVp7ce⃉V 8Q5+/݋`x/)L~bSe8 +ߒv `v7;~ Hf)n{wa 続5Ӈ("nJOhVtѧN:lkw^5~3o"i'@ȭARM) S(K+:9G&KX1sU*yzyG$b.!8A(H4樋~$[X<&<45 E։WX."|4] UDtk6ѠKgȫSKUHFhq?fp%)XcNPc `s{ԲkXy OdJ U~3)Ba.qVqԀ+=zopP/aRjnE HVwM&hTr#vTM|'漜~=S!LuS(\XfB{r#;Z;q3mT/u,UJ&.-Z L"QRLF/Ȭe*N%r[ɭ^. VihS".8YZ2n'ҰYr#%NzjQJCn@fYP0H5? xӯq};~/Ȍ_{ϓaHC%]/j\2<^5~o%YesinZa`ż> g%ls|=N36Tvػű| t si+0^%m5ħ| ?>_J5፶A)N Imv(*||ssAҤ:pB" Wo*de `Ģ&QQ筙-:TGѱC9eĻ7Nn>ʕ7񺱇[Sϒ>2;&I+ptul'xcI&O.J&#zd]F+U[kpR :si4&:HKz_ŞvOv, nLqѹN{](P j; +|9:1cET|,_։*]G +q^Z驧 k!q,13*aD혶Xgcp_uidºgC,cIx;P#AM +$F*(m35˶c[\5[,pAyǾԌ '[REzKZYfB!%ƛ(!HV-0OaEpO0xVv:ܮιS4 &H=4;Z]&8㙘_eP)Mռ^/b谻vEtسJ3ʰ`rN=e?P}iι Z4/,TPM!(,3w H[=Ab3QQ'/z?@&luWjK0(/+G$J9m7Nc@AP d}g?SUq֪~7_ǚS)KOBef0]9tuÁQ2\7"۾zx,^PzcU aH6| tS:Jk'e}Osg1I+T}^˲-4M/y,Fm4T}6`^yC @ًu 먪)˿VW"~dcJoNdG&*CK΂ LWJ9swIPuj|L:`ɾ"j`لX~TC\HXĸpfyM +Sʹi)m¡.B²"5XqRRCҌ>e҅ 9o?(א͠IzX7է.atx|oo'jP_- Q U0jXu@?*`!lnBʍ;lU N5X#4,' Y.c/f&9}Rf<2Y"C( dBh%Mfe~=%\{}jB9zo')Zn루$@v !&ԅX_9)(_~-WÂ]\a KFN}3S*;@7ƠBVH̀,!fwٱE\Lni/lA;}p4HΐJ:wC7dt(~ +egM஡S H + `/L; 6%=jgnl]@ +[l\ @U{ԿXcֺ|>>EB#=?DZ+seH0I+HMN#L% _Qy + +o% F|Y4NUXay)9k`͍~h5d·"5ΜUE[Oҩ.9+Ksd{g$^:L`dѮ<OFe< ,NLbt4Ys.]-T͢A?4Xu 7*ݪKg \tZHn(xUa\t)zpElu_bFS@X2##"X Gg!\8.#<6O ϨJ/ 5njb=w"'7_cGnAzh6|+I.4Vuk/fሆݏTӊce/LMbP9H8eyS=5$Xpj+MW?܄SH#L.zyY]![6xA†!V8Ctz -U!9E/[~[QA]zG,]k\ Je|j bk,ЭFƖfXbWvo>UNg5԰lUr)#RN"ӓUг>-e/S!@}fw0fO + +6Q Z#F18W.'PՈh9g 1x/4O0[hgF NǕÇ!nAxɪཕَ:0p@ԅ +%ûr"5, ˊ~9Y(Z?(hV\t0II9mhkaYDәZi-&9 F?]']^G46{jJV|͵:Lm2 wE]vb{dI.-rر2A4dFjz2f8fǃ{w^մ]8U4c'l"z# y7g=-- +`,r$7 s8P R*jb @6 +Q\杛?_iǿWj+Jʒ82p`4AqfSsVK5_KF 9c9}$J^ YIyQ7݊? PtYAXtrToDD<`BZ&Rx1ȶRLH._ڋk&_ȖØ& ;w礄/"=FEc^xAS c{Qɦ Xzh;Mp K␛JdhnO)~l軖J};|i|Pk9LB腇z}9QŴ~_(H̴yuR w#d}(4Mg 9{,^24aO_ں1ӊKuIzOV';E:#q  6O`%Ť }Z-^7PZ7Mft`O&_ܓyLBM:,qZ*ANb'Kȼ5aRlq|4 P +|QEd[|خ_Wu %-ʽ:srGsXfFw}, 8TcsS/I= +"®S|3kj*lӻE`LK> +L+KoݖPn4%Eqc5֗lY1+j]Q Hxp ZVGe@I|D^3ty EV._ 'U&|Se"LG3 ~)ĕ}'wKvq9:\}Z?:]#hUE*EMKà$\CgVDOnq35:ËʊcO9NENSSDG(VYqQ0J_b8 R[T'ƁC5ѕ|\(FQA2 kfh͊Ǥ3RIBL}gVR[M"1B+dB/F#st#ꬹĔwc{kQۭq~5" ~8w#$u@w\f +C{jjUFKd_J{=;UL|b'ݘ0rNnCx1#zy R+Bn[9M +r\,Tu>kʁ`crl> D>@7}M7]$fPk  ۿyH5P~ÜƯtOVkM^o_0vg_HfKoY=L>IնMfdb.t.цN */A"m5ZВ#[b^4o P-\Brny x+h1Kr]_msm'UF2S{RWP4ٮŎy79Ad;~-~+h&a^^gݢF8Tw5-\i"`=KbTlmnxXqo^_&kۇޘLC'RiA"(K +gtƂG_'TWIvrßJwMs^75eekie_%h֥(Gz"$0Wq[P}6P>mI`b42p7A9T*sv2F_Iwx+VnK~̓/(V!sIH Btcn}K븩|'Q5c8bbd;yy~TqH4 ,b@Ia93KFI]]iѝڹjrp'a\|@=9@Pug]@nF3lC)jŽn21{ˠ]E/?RNtŘdYr6&۴&oElb?2^͹Dih 5R$ /2$y_X>bǣ`ϳM_%D/!ʏikP 1տ- t)a&6?^$ja_ x\~m06eC5yr/7mwD`b!)- -yVK;\?Nbp7\9"FuCsqEE'DM-Xu8fjV2%1 !AG#OOM +]A 3:! +ɽht}v_1Gm@0f }?0Z0{^jo)5QF$/'0GзS!{03]pgznήJ]1lwk;SpyH۬UV$%#!bC9KgC=]|q?^?TG} ]%5`_'{8?oMW.LP{ۃ@} ԔŦ,b/G74Go]]uof Ά?Vg3BXڌXL·g%n{`,UEEp}^Yo WcEKTQr'N(FVQq\rUr۔ ;;ȂC4-zk3كp9l+Ol?iY˚3P& ,l8 utVs׿frs@EHp~hog4%""}®Czj+%'ξ";w=PJmpV(ݧ;J^{LlM%$!nPrlA΀b/ݺT+ Zk3{D' ?MU)P𔽽D J ~쟞fZ9k[ +@zQݲ @A䨽R#,1\@6˅0ѰgdeeOf6&YA^̸Js>F+]MK2󺄒 R Ƴ3WuAiR֜ ߲_I3ưL[JpG?3 _ +?4٢!CZᣋ{q~^j>IgU;, +3ci-9~+;q;Mb?%B&aҜfE(߫4OVԨm*!*t ך;]gA2$өi|g2FXmx90+h9$HA[2 +Ύ׆C +jchTOjڢC~`V/Bz6Hmso!L01vT}"?ZCMpF E[WD|_fcI'w3H:)VG)%bXN#Gh0 CuWd{]xzgө)8=uxor[5獖 ?Kkv 8C %+J5=݃ٙPʙYֈ!(-F_rXcUpM3*շ?Wlz ipWIr$.#>9(ʟ (RaT*_ocn1׻R,1/凋840O~d-" Κl qf' tQBHE:[4o KhXq>G|Y~>mڹ{y;x!>PAM.q>g0x/XBx:5600FrxB G6 EuyaTS0 .iEE8.J<&6`4bM1[T *Uyg$iw &@xQX݆\.vs<@Z*OrV-B`ex]53I"w(3o'y\$uwo?SgDwӦ͍l +]!PT!ĝMҵ TThܢ \m3cIɉE-qSjyK>SSb.y-dElx%#v:#矃ٲϵe88lO_bIkP\YEg'l|%At,t $L?^~BMRȫXf8hʨ c]!Ntqɀ]L(偵P+#_'w( HSY{2-M"NI_b.%JV[~y L7x$b$)kW4t_zZWyqjG@rًcV~|QVr %0ګP1!~m[3Ysoҩ9~Ә(3HcmlNzɠ_Y^%pQ +ojkڇΣtfe"=qkb8X<.U{kSm]$"7}+Q- 6.ȱ-[bOgtL^^S\ْt*Q}SDd^w\k3YRFSuYCHh{ڪ˸`5rei/AX|t7i=/S9̰1b#,?'4'L]atCw)j.ñ5?2[e!z=B1pu\ǼJ`7dVd!ŝ?%Σo1}:,_;ep-*|Z  ҤHy}ed(ovم?-u m'M4hDp* +8p`n#LdH(UDr;i YVa^᳅ܵlr`.NHqυ, Ͷ }-_5;a + W;quPC0S7' n1%(B3%*4ڲțS&bkˏ"ƈ(~o0Rt tx®୿It#iEAXδ7t FE;Be*)@?1|` a%q`8PQ$@).ZH5L |a js;D'J4R"yx8,Hq./"E[=f:¸I0Zg{~ l +A~& nIya!: y~]fKU?45pHD# c2YfGƦg'U{l[U:* (hsT͈p6 V, Ȏv%gPV>IXzGk1&>QO풭{k+-T[K=O~rˠ"׳><,&P²ar' nUMH<khӻĥPmb\Ć[X ~%c␟A:kLarKk9qEG蜩tH4q {D,tvJ}¬f;gAz.M6m۶+mOڶmVZm۶m6wztEU"sP6%K\ޑ$hƽåaQN^dPJRtk9#5KB)00EYg}/hHD>g7LFh25+naD[j[}ͳ ߘL䞫*`Bhc5"ϔM'6)r/<@ŭP@~7p/i+g '+w,nB2h7]5 Wx2krl*Huv=ajjԢ!)rAWR/a=ƀխE\ز7UhAke4kzsOkdBkS }Sզ 2+b[ؤ?As=óu }4p'φPXq0"}4YfC :.Z-[wר+_ou[u@7nD{@s^div̨\׎u&+(/RQ@gP@RIE|Ruxy +_cg +ZAJGa$+k:o<3~GXTB-?yx J_Z0l%cBկ07m@"iS`IፙښďŢVgh_IJJ|7B.ޮGR!pC M- tOe)vjm8o2bdݚH4N!p2I)ZO9"nl#ZM]ny)턷UsܡNCy-l!9s+b78_72 36.b5|] ?&AvYђZ# `KR@efGM,LWvaD@seLP;V&zt$8lztZxj|0uI{KLքX*b} &v6A@!04ߐ7 ˒|iG0OQr$OTo]A7{ ^?RȴG1_vi &Uw_s)ڹq&ϨBۺT+mᒔV{nj!WT+qvJzҹ8O֠{ޖyK M3R6(+2AZFi(D@[L=; +dz# l4|DK7iCm_o#xlLg79/){R]YH_% +k#Ds՘v 7 JoP`z_*\/N"M6]eqxq" Mx|ݞHٝ[&nYx]56w MKOUV]:;S=0 EMTP#10|Of7ŷJW܆&QEҧ%,کn 2-G"۰7|a4XKs̓b}jk24&Z7O j %l 4B3U嘘.|^IAM!*&T,GtD9>azPf <^~@Cx@Wڄ_J{ǠZq%θGvXQ{w-ri: \LG~9B&`ze%s4$!qrP.4{Rӻ9W0%wNd)!?*PQf% yY{<[)^%iUi=;2eSk {H9cM"c䜺x3@}|AO2?L+uɏ+K,_wT,,n:Y0 +)7>eŃk iLDQ$k"k0Qw${`ҁ6 n[ SEnFɖN[A$ZqIm;rz. ,e|dfu$+BcJroraG}/.ӧ}FffrW՟{RRDa-kV-ak7HB')n4OY$rJH~)YA\ ]-FƆ(8NP|M4,z}dbAtL un#pt>{ǩk iP家Vo*@+ƒM,,)@|!+=XՐj{@:;WHj; BvV4upOOh\vN7N~8S3W7%eV3_W Kk"+;I.#$$ӕA%[m鞢&O<\\$VWUm>VgZX -%^,.%b'N^UϒƮK])x[?m5)v1Xb#eM{#PWYx+4r3$DCvQURd|'EsqsKiP |M8cT/s{B@vB`urN6:9D.  .uON؟v°.kK98ɇk_6ڣheth |Vګ';U|)qD@T΋:zq7H9avN%a߅at/d!xn4,Evh'B OU(XvP#i'ya3{00Zi0qncAV;Fl;BQz!er.zi~(%a||a#d5^}H`]&*v8c&Mx6!Ľ鄾D7KV?σ>2.mBk ^ s$ =Ɖ_x%?yQ NvUExϥ_f">Ē6L>}' aB5ןŦ.wOWVa< Jyv"@1*7f?J'A6 +7R8=Kk?IHki%ǐĞTX^ {0|D1$ot3>ڲ۞BHX2&62? y18Mz໮2?Rq9_Lˢ+”G0WB}0ջ Ϛ)TQr6 P#*2"s;? gt> YkԤu}bEO.Z+FxA/ xq' 4Ԟ\VeH%xݙ㎬Sstђ0%<rQ }]^LݎL?F%Y*Ё˴q;t0((%ThӆY98J=ο QE +Q "3Ůq`nzH/@QTkb.TMah`׳?GѵZIIyEPBkqg0d8~r t8C-źXR522=-T'Х>˃OLQ[%^+V.^&Kf3˨ʷ%onOp+fj2O`Br{xt{@t䛴JQ@erhe'<5r)Rf5ܧi;q&~@Zqˍ^ /BԴKbZb>>xngYqW4م)"¹~2šzd^+i2rfSꞇd-Ziƽ#Ϣ@?((Hh8/˖O6>Sv)*42)X]"+ jmg%Z8L@sS޺C,_8 :CQ 3hZ+&w8BҔ9 5i@M@cPsݛa;Q'>~8 畔ӚFW̺-W$Z./GHYn|ѐs+Jz}sAcwm 2l'\aY^ Z[!kw*4g"aF=)Ƥ*~:1ܮVq:RPy. G dIRPZyvUN%D1/b!qk`v3N4wܷR +ƆwyK{gJ㯞%JvJ* $0{-"vErڄ=Aҁ'sJbc5}dKr~e G^QGI @ÿgH?Xsje +B׍צ/dŗ*=L}A)`xԯ1=D[2Nj鏸i)`*{o̺ .E?0~@ݨ FLG]P'dW+߮)Y!v}* ;쯸8lFLz&qL0AGԵl9u,?߅WcCU&LK)Ne>uo>3udL +":W~􉎃WߌTaݢpQiSzj[r,eeAfy@FđFgze΍*˂l !_t ~11js +5}AĜf{ R98tv ZDr1kї"OUYV n}6CPM1f܌  ZukzKA%[kM?%E2T+0p5A<뇫7=AGUL>:9ˋj ʋt{ / `v Y*I$ +ȹ\=pcV +&X݁>mU#A.M'6SgT:SMvcsBwrI1.3pgFȒԻޣ;{OjѤ;i^~8nRO'%K-h&I'e;1SOnmJ AYM>Iv+BMg?78ME"BQAz.o֠oQХ(.?1 TfUXe9.kTe}sfCqÒϨVʽmazL__`C?2-I,`gp@K:DјX vmX-J 螃Q,_#+^JFgrj&A 꿃f@f9.n +3!<_E:TB&rwPˢ@̅22Fj +W i0P@HDC@Pʚ,I]4Tz6ԯNAojG 7uH]\̴6wIKkW\<_̔Z+*u[Xsw[rè97Ζ4āQ %2ARߠy^# Apm]8t'XEFVt9ۖ~= HA5ˉ/Fi'=-ˌ 7@{?x'(G"/{\/s ȩSAޤʺP`PEFƙH=zLh&&MғUKw[BlaBEȜ֓7):"[: yۤ`QRBXp(tε??ӉMjWMƙs;^V\uCOɾeBE;m4,蔲d?B8T6Q_"EDŽQXp߽V-h(̓NB`Uxpbra9md(BFn +aEGjl(HYjzHqޕ yss]%mү_{R $X}&\py<'%T㗴alm\r'c*݇ +x nΦcgnB1Sݡp LN["ɟ=2CNUPIHg~y凊פ|Ŏ_fJ=>K 8#{!O{(?m5$:mݶv.&\ki^9&aa +wk~#ddh[ PS>EXvq =a^n +v؟tbxɞXr8hHJch+V i‘?]Tr5h㫓cIHs\qvby+VIM:1u;R@8dvݠܻ(!s,{ g~ꟻwRo7q{0{ + loE;JEA 2e|#V1SNfsZ<-^ǿjPüun$6yTrbk2M|kXc6ݽގA\f9 WG,UcND +o~ٸ,8)`}m +b/`60 Aq(+TU/G|?A +lU)Wmq{!z2zVQ>HL]DZ(,ALKf~|b|66 JUKk,>YD̄,Sy'[j~[B]i;6g@:aO DϺ/T"C9>zq`xi8N3|A[g_~J܊25H0Aq| Y$-୕Df|`47o5tq\P~=cӘdU \=ͮ:n/qoGFF"|ոo. r$S,.,zYjچ9(٪r6X71:M9t" ѼiRꉱX0 3bi$xsUK_HnN)""|R{9Is$erKhEҏe0yCBQd]HRW:c0L^W`zz>XK=n i/9zoXVh1^sKF2n㼟s{"^c5qH6ᇽ>ݢy6wy+oMSS$w՚^BשJ:\fTWuKk^K,Z#ogZbHTLPvUY?SM!ĵ7~)Ћq_Yޒzkn!d'pH. 1x0V%~Hc!t,czK֐)"78P̅B:TtO31l'lv=7Jh߾TYa`p %"UIfY4*8 W9l:_R}hI\R/72 gHvk)/6tO,P 62̃V;%)q|Tºdlpș MD+pqw!E>3O)ݱ,ErGſ!zY\iV;Mn&`%}δ˩T-ZTz p5h4h3Z'Zti#nAIj3[ &TLA{K&]jO . vC*WyYdQ1 /E[/ybع3\k4Rٳ*/jz}j gf)lFu3GCkPUWM +TP}>(f|r'k˾3D +NPL;߿g hG'轢w ˯.Xw,53,[j^w#HϠ%(coBK?><8e}10_}}/s16o2(8`,5`rm\[ju!uL`\n#a[іA@~ +iL޻ YKD+-,}!&r9om3y֣4)_Y|/ZvU7mX6፛31y+j \22y PW?rNڞ8m84c3~D6G1%zQ@&qyܴocL}Xv;~xib;ak!PC*pJ_;{ajLڵb`)!=)Rۺ'8?R +7"gP7М:UXD _+Қ3Ď]PU,&{O7\ɼx251EW9ZT)g A[Yj1s +},?XCCpZ12(0Qw<>6kF ױ3Te0Zn wNL)67yt +||MK8⽔oiU1-xpQ J5kYÜ@*>:Ӓ TeqA2Ul!6O1Tݺ+{Kf6'j5! mh^㮍M͊0ߝ39׃:s0\+_e#L׳.ŋc>W$.HO43Ϸ@- ',-KP2N:%ϾCm<-F3KXیqBv 8}AN5GOqS{R=٤W-K?S kCRhG_FjӭMz}=lH017^9F=vGMbsmt5Ǧ _ef·$Wp/uP }!k^%Z_4|„±@,{ +d,'PsC*cu9SE|]Fh3'/Bz nh b>]ء[ &˝N|ZM\ĊeyןgA"ׅ$>'e5X +h`wArzNª:|:juSE;ؒ3M-rwt& ,;|h <$"/Ihej|v9?k,T$^;i\IKx/mpFUP,cZCR׆迺 VG/qS OoD ~-~"_҇@ٷ DL|QHpHɔ2U) 5RwM ʽV4Fk`)i KQG`ydx9)b ?܀y$f +o` VI֟EʐUV {IpL*/|`.w$9ŐKZ33XT̙i`#r0Kfk#(‡Q&KEBp'83tWNeLsɐݏbDnkgcW0 +($XJ>cp F_L*>Ts.ڗ~t'yҺ?Y%?疀3~(D*  +c4jDfWB^n`5~>U;eCTC1ځ{T[0_mb^ R4L/K=У@-A|{w<hָ +΍TF 43f:t!n{BTac,;yzL{Lݽ^ƆHld<%<=H}mɖI'%|=ɛ20?3-GK?1@_NL#DHL)BR6@!95p[ _2Gs]QPӟ{M_jWO][$,gǯ!jdͅr/ɪ(6f.lڹD +W٩ :Po kE +4š&yL*\3yuQWJejjɅ0Z??8E{)0qѻ-M.~qvGi@~X REm'ѽUg1"b(wx S?q5o!x狗lQD,-6٫\Efl97Јb/ ,7AY©l_ )4!6Brud\7<!/zΗHs&>YuA2էo7'N\Y$>/XF#BQI=Ϙ'Uė9 Ap=qfu.AOOL T; [_f M`JJ{G3@#@+1Q!ic"T!Sp:EuOE910`V.n@{o@d&UƓgV *j4{HOK˕k0J>!Xjئ{`mYlEБ>E$-;MM`jsw( xl /8gVxVх;K##DJH,Ou:oiҁ}l.,=ڞ0@=2}rswKz1rNdы؎:."h:>3W5Aߧ} 2u+hB--5'!ﳤgq9mI$Rntsgxp*W(CrsDB5z+?VG_C!"ϽnD v6kzi{3quVi֠M^`rx6Eр &v [?xt +su#x(=EKyV=#Hc%bMThh EU]fd>0`988[ xeγ'lI.?:s@--۵9A]7o>mg]zt9D<[%n;5/`S}vUa +s5re)$^pK>=k hV츣$vrVTFj$~>e1p\lj{gWEEVA:os!. 11&FiQ>ODLD +SCBz aV+8 T`E v j&v:@.6AWgr9s:߹:e^ty74tM?I7PQgf}QvRax(F)@Q!4v Ͻq܉a#m5̟iMspY.CqZɐn&w*bV`.=jv0;6?U"C2Gbdr;DVKL;֕!X(%s<ޛt1]C_}b+.ť}[:|M@b#붬Yҕ1/J}TB ;3;t|qf/"y>_)њ`;Nz'/.!;v|bÀLxx̪岽%o @W iG[r^} 'ԟEK@pci.dFA`s6Zo"m%S\1`qUFw,;OWv8jbYzpIDyeHsڥU tv d9L@=\Bej]%v}No=>-I**!4e~ u:FP6 [YK"D\ n%&(£= +hM#M)Kʑ_!Iݘ捪 [q*[j2q:ZBe?v =M ᚴ~'K eH5U@J5+A%j; L Y0RBr͑5'AJ>9c|T~WTzۧ۳^C.Lo@Z9v"artFMd=i1._}j;_Q',cxKx|&ݍAn>kq+˺%SzaCu8y A2n--[0X=M*$v" +0uWtiHV`<>K2/SglFBꗒ 3n[6nQEݕAތm8^K~lrx=/V4ZWV3,k=. +w9Owâqq xN7Z6ßZͨ2IKlkQ~2eG.c Pf0l ܉,7`0ik%뼾*7sl΅atm۶m۶m۶mlǐ#:<)|;{_^kÜ'`+s^M<^h$鱕IjMB1"<›t]3~ 0x;U ]u%ҨLc-j' +wLO-"~+N/r +GVkOSHN3AUOb770wdi698I~eފ}HdGo8ܒxjzq*PX?[[Σ7)ﴲlTrMi-klͅmeW )sUF_jqz8?4-b9yhL2X +j{Rd ( *<ѲJr# ͙ { h&W?ĂLr'AdSm}XjdPw\zil +b9U$O3Ȼ~5gOP +lӐخX+\)yz>=0S͓C Nd3Ģ " ۾ T=mEM0/sA. Ss k*}'x?N8y 6.5.*ɒ٦Q}X7un"~gv?"BEc? B]¨6b#rI=͛: Yӓ:FwjĿ6/ +ϣ)֤4 9=}NpUGǞ4xgCWienQ:CEFMWm0H_Zu[2X\+b yFmÕ}gPNMđvW_6>F'{À@! l4c!ݎ\T\9Z^cB}6bPr< tR!jZCF%x*RHLbј}]D$Ҙvkrs?`(&a 2 #O{UQْ:2 eyi"{7i7}D&I'oڇ|J}ytSY4<58qAMATT`yT1n\?eƫ)VE!WZ7VK->\igy +ɩ@ND{jԳv:&ķ.'n`i]/I{J6Eo-;$cpͺ-6s-inj'zДmS lR{Grr%<=/MHnvպY3ߛ Ubք.~X1խJJ! +xt\ۗRh#/J=\FoѳMxbN}Eԙ: r,ĒuZtoW[V?-Fv/wƷ8;ti:O}RT$NIֹΕeb%vSWljЌ&cu@1s=/gknD\ʼ hDkC\+Z=B4Pgact|rt4PSBLĥY-@4qi4nLJ⾁^ࡀ-L̜܅?ɬW(ڼ'h%U8'Y'y +g%r3!Q_LIB$p8lLwo=[qlSC|#uP^ ,9ו!scT[i_ƞ+µ΍1ޒhIj)8p,(~*7a"3I;Kf@X4((Td +EgaBZ5̀א8MlS䅖%Ez ѭICB +co)7޿49+J)V.9̊@dJĶ f63T]uoUgi k=3a(Gݰrg>=_mV2<\ c\-V̍I99A#)PI,O߸:!O + b}!9<)'đҏD&猏u]u_+Sh}9J5 0|9.эQ/T!r[ZB洉_nNy Za]pE,# D: PA1eTƋڽN,+|8„VV+.En"4&t(LS/:K$ʪ. +%xsx +BuxF#.߿@B.[p: Z;oq7?^X,ɀaW lU/L`mh|[qp6|zP\}~̂$" t r۶eޔ/f֩U9D(IX8H2ɫTF&S tNg;zW2972@CmMA"d nU#~M|}7r&8{ +-ۺ 1r"Qc&.zfD3bl'ϖt[AfFuX +`1xɑ0 au3t~ioD,x͘Y?'zl]zq(|T #Ģ蹋I\3&ix +ȍ7Uشee&7v;:|C~w{ϟ נg#-R1BANZzG_e +` 칹3NZ ,V+S>jngd9v`UOPw8JBM,٥χ$1ݛJ&iz_Z61n&S4BbÙ5BG=**A=&(ZEPyvhZzgH8' pq< +' FL,4KT'o Ua)[u|'W2H Ļׅ݈{Jc+>P0G*i9(t5Ij ~NbjJ(e$F)̈Bn{iX bX,h3l2#8b-_9(kQwtZaw9e sZ傀{!ī9lf23߁,ZV(%+ŶBhYs`k}B Cd6p}t)%^ +rS}0"!S}KR2G0sFnzG0En7xW*;.]]rzjx+7;/E.+brH1( ʞֹJ;n]uH9^+R)ϼ5<>|i^~ +bʔ.U`Gm21OLeFB̬; +6qsfvH&>Wap YV43t52ef o앫h+&^(ǚM\Qej_%ER;gfJvw{#+Yv gJ䕂ַ*J5Ev;ˆ<9D{x4jX3CYf!z7EjkּE{yhG~.{yy}ypo`s[NI +oA@[9Ι`/EE+mٛ[}?*@$2:#0ՅmZ*X(g~i5b&(9vߎN +Zy'L4=`p>ˆJ 3eb#R;<(놵^ &+K/SlaqiyB)ҴM>=^6`[jVqbA/\]陃t*j;0хq%/NAsM 8?[cPgj< G49c@J`ppl + څ}?; ԔkrM|'Rb_.. B<=H (fZ qO+K]W:$߳,4. t-SS!pXǕ?jPF7E\ȚޗKh`G9;a8xlXu2-բ-~:yi(gE#tMX4`<BZ +_AYԳk~7st=0r1!Ea٠7ri@'_ wM gy/lȰֳ#u/-xgqKvOg6x!b eN7wJy|1EXBa(\}ygEF Aeڭ9}I?IP&}%}[WxmDM.?x]B,8U(Dyl*iN"4}S ]m}2lh7kn͵%vF=_-syQ조(_Q8hsW}9A}iMPH,bi+Rm@@N^Ir?C~J&iwvyX@W<%ď: <MrK*!l搡Tjh ӣSLt8F5iרV{. i+Iv~%s,PT +g1AqGx ʓȝmCefs%UJb)%9|>[Tc PO(z>XJ JLQDf~3)G!(ڈTcUTuRۀI~3=#bDuc܁!(mU?RФЖP}8eyZL0wƸ4G*s$!>TWU2KL,Cn#w_d C2S H<0 +P,ҒTj KpPWTrqN< e'Y6Q~df|9@4vWy;V")DqWF1jP:g.o~ҏYLf}gMJE|CA:n}ehaMo2x:v RY-Fmy^qk ;PEmǡ$0욽XڐIC{t7ې7\1f򴈻挂 !iޔ + kvU4+T }e $)&t*o8"cj>^Oo.3>A |]\VjlB3/*ʩAatg*Ptmt,ڝUFk{Rqߑ zZ?=qu)1/_(:8;#BWpXc"Œ఍M?QX+#se~L{qr/Lu2rI/z+Nx!ϼ>m:3^vȿٜҕ/z2A)L+D~x1_I 1| ϟP9^A,b!?!=*$nFc*TC2KJ;дs!*ŁG-V ^+alC{][.lh2k[x}7tax +7,e,|Y"Ijn*\8beNxxQ͢Dy~97RfU0\l Jx*Fcez܋LPJj"5 +BY@({jRJGLّ0+ʬojamV|`/m$ƒ"d@^j*| 4ë+ ̈ S`h.9JBӤU9 _C)heRc*d7aYBoFc:)4CM8}uNIGÕxu&kso++mPuO XAZMElQv^)n' N.1jvTTU mBOy '[ :Z7@j5Iݎ'Al+නEXcl־3k +\ +Bu+,‰<ݞ'&{y,^mKF h>ă5OӆF|;lOI";ug obm`~e:& $ + +a!Zb|_ZDu.^ߞ I֋JFǢ1ٮ'5m3%:%%3 +E7Uz*j:7LIk Eڻ1Hf;>|f + ?`o=X4. ~yoCYKuEocȯrKX&c Țس?,t6N2N$ ccEZ̥*Oo#{ɱZSK2/MwA>:}O|(2s{/a&jJ 6~削?fz濥}crMP߹EAFG Ҕ +X;OImNKG-*6Yj!Kj$;tZqꗰN +k{)gyU{ +YF3RBfC"ɔ>HRv?{,}Ox8j|$#Zra,gVUvsO,=(BDIk1>T!a8?@E܉noJQ6Sl^9R3 B%^2|"|lZ"<^95~aIӮ5Q%fwvqJhp35k-D"1:RχL+I7\;hr60.Ƌ~IeΔƇ,of`fIPe԰M"k8J]Qx^9#:bSϾǂmFh1چTLW8DU$QƂ]-ЇʆP>Tl&jzh=7DԾ.i&stlܶ}U$pΝ@*pEy95w ·r&M&_W" ǖ25OV^zUֶךJ,<ˍ.#O"-%`%"^r(Yf%+N<8H |dBp t88\Co*ۋFl7L S{rJ_9!FYSSD+@cZ +eC1PBT 'o.,~T]M+x#rt!=tP]|yB +vcQշe5 SKr;1Y^2]xy ަx9{2QT5A>N*}7K%ZKýt{YZ?fBs"fNw[U,tIvx+8 .q+)vPfth׹x5s"?ʘіaPֽbs%,;V\Pc!C`;庴7ul彥:ZZIx,< M' r+wݭM23fkiz%>&rhf$YU| +&jp-D {!d3QȑFXݿ]*%Pڛ*|`N>hZYO̰V"W0ZcML\w;Go?.WDuF9/a{Z~EF3][LaixHp.dZQ9a5Nʾo9NOT%[FjݽN}@ԍ~M&*IY:CA>` Ka2&/fD',pY-4=p;kʄ 8s.w*U'/1u6F""dCʨڃ p|XB#@4ǧJpِ?':eO WT| E07x=D[۸T m_2nلQI*)FCw:D-]Htt k)6٘DgSԾ#3{ 3}JYAcvf9s%Mt?:K4^@ = +Cۢ[thz{>hjBOA<Wޚ:#*cAG sBÿ9||/HV rCa$eŨ':&֜9c+HAe-*\3AI!r']Ik +~ +2ɷa W9jt߶J!a5'Iof._,HX~U|Fr?SMH$8 6O@\Z"k@zv#=rd#2M~4 S-.+=4&?[w7[;H1%@ۦ OI +a! +wp2-ni8Ѓ կ)d;YX`&>o5bوi&Sˍ`ҮL`^eex˄ob2sSib(wȬDC:EyzjDfڿJSH\+\T$!km]d +B.xhR̟ v/̬IJMIͩZ)3EoFHaK9ԣ {݌cQb,.Kl2cɴl4ez +d[ԉ_$?.>}\(![m!ynՋKO]cu{fANxhmޟ}fsp^u ,jA +垻ng+mOXÏ3-߬brUZEd+ wXټSvgϧ7@(A'[^K|sYfݞl+I!pKq[?hf|&Cs&_tL&}d32Z7} Hl Y8 6~»?զ*2cЬ)s(j2D(.Y{Գi|ROrCސlTQos NeL'VOWX,+Bɖ X]}Y:6Y+OSDօF4hQZ&c(;̛N͉} &zEܱgUV@}h4|:X; +SۘKth`^s8`g$9.S,t%.k(ƖMo``/+\Mb}ՂլL<5~_7|́ rFDiXZyg'lqm䄤N?.njԣ:6Sɻpɒ3D:WB RgE@-Rˣsy"kщH )6YdGNA:c#x#eL ƾ +.@L-k{o5!GmN#[7|4 P!O 2oUn{SkĊgׄ +p\aU? =Qrj(}dAykjWu*U`.#0\ݟ^,7"/J\UL3:T@TOmS@<#ܕFQ#f k?}5{</{ݩ#gMF5@uf4Q7S}3;2rVj8ƍ|r2?'kl᝺^Gv5`_C]y9‰j9_yrle$ԦkӒ??djJi@e^8sb\S$5ZQd- aQL)\j:O12 _@メHX={cvS7t#i "$6tC((.zyc{g⦁e 2xN;B̗RlǸ}ZĿK>2 N6 PL0(dp+t Mpk:OK?A49 IlV`-MWEEzYrG=Hŗ=q$d6G:3)٘zb}]f) z7jnp'SFyʲ~P4r!I7(WpfijA47Ki2KÊuoʺ JbIz"o 8dRM=HQ((8d]4SsGJ8p/.a5bUxhz]VY]ӲRЌF 7-@E[P~q.R eFDCp J2>0-6G[i{S#]fVJa7} h|^l^Is lt9TFmhZ"} Sh쒛+OE,'e/`*QϘWgIʽE%wrW5 ޥ8K%'Ql~u>2Bu[(6O"۹JE̸ם*c9z"c'4}kSrl|7-{p!O*8Eu:xg b$J2渟Jrog' b_QlQfsB ,|KlD{DPlʽ +&H]+]p7Z4rﶢ+0Zu@-#!7Ȁ$ +A<1l^fq`p@5T7V*q}rYGrؓ˻?mj-(M!:gCm5l Hn)ކ̖T(ɨ>'S\ ,e7C)[`5"qBfU&Qw!'l "X*yrѳꎂ%^ px8 E>g$^81=R 3+ sW^ֆKw2ъƴdTuK4t[ׇWp?8xpPcu挷dby7Q (/p'bzɌup"qSmkXqWwbڻ+;e.b)/n%kOdMBZ&37r`X-pJHb#x-(SޕCmT\Lntv28u0>3YM\ujZ}z'BzgSy^1'k3ZlSk&aDOҜM׉ƎJ4d QHcKTJ"O_br5ѱ}ʚ_#cDyg[zVf|oղHw1:Kdh#vJZ|[*2Qa`•r*oVcb09\Qb( +A($$!8vD 5ECV™4؛f/Ӝfg_Bxd +ߚS:+G1)\QԎ9KH$&ř~iแAQ?aT]ADlau$:*ǿA6IcK5rA ?N"Gnr>:%\E0*'} 1 jx0(rk)Ui O!R:KY.2$m{gI3R0[hC(V:w3ճvur%h +ͣ[z%#Zk~uv_oCڐ]W7.i& px1vn_ 336D@t/ +É?vU39߉ ᆐeIfUR,hΝ$N.Y?qt36nme@}`&ך[e3VOӰ=p-A!ƨ+h6Bp\We((+[W+n{3yŘA0\l!?$-IH|Q #Td]2Kz +E]gn39{`+dG O^SD}PG{z xJӬk('!p#]Y=.FpjEbh٨Ye: Nnl2&-ʡfr0j'NAF O95 +m۶]۶m۶wmSڶmrLI֒AT[LM[;/n{z|A ;`'3bmd p:yK:{H)=> JHteڗz̨Ӂ}^@ZF}xvX >ot1ݢ["<ݝ1 0QCrcQ2b nrw( 40Y5QUmEEn)JԨǧr[TSőSid$93 +Ig*mI2nZ!R@w'3ǔam +bJX D Nno +\_ +WH֓`^lGw|7PC,ÿ71ѻK<xa.?86z~7߯#i@ :_Wx͒Umw "y!i}@8nvRRãE;ھV(^"xfZ*4_&A~g`ֳį_R͑&B=9-jWüAԮ=Q{= rI (;h< `Б,'?'tQY?8 dr[l +fS/J4Ǿ;2"0W2u =="KOz\ㄎN`R~>Ɛb!ȩl!{3C<._cedW5]zV#ނDr0CȈ{'فe?k-# +Slq#l2BDE8l#lBEȮnf.26U Gz4f^#]q#9o}PdY3luE,62C:Hn!z?;pd7́.Bil[=7ԕo)lrT.oQ&{9|C4Ke~l1-h@߹^Jb|]6ѺHn6^^ NO+VrTrR$d8SPlq/ʤll% h|XY$]8o^?A +,k5j7)͐ %%BBM^*xKǎ .붷t|H[L0I-Z[xo'#g6=4zF@]T[Z%{En} [֖Us!md9|A> !, +uq3с1Ei.rQ/̊U>׶2]n&^tŴIsSGT>>~hfb?xA蘠^;xl%XӍ$"X8k@ ;,K=~Ed24mLDsRds'mX{OˢO9W`'5B cZ5$ڢzR?p$`^r K. +5XXfmgwXpۀHFRIrk#QިHCNCHǦpma-W&| ;8*~i9ƌm:ˎ/PJ3R8V,^%׮wV $ВpEWw"yl.s']FSLkV X@=Wci@y|Meo$>YVߤjI}VՇ [H-M L Z |XbqHe BSkE e-Z2=`">arRoeUոiRJ(mi +9mE,T*Pdp$sz٦RQ!s+F2D K^uXoj{Ssqf %[-1uΖj;F{ +`cujSnj{URKҝ)[@O=a ig@t葸>St6dG Z +`U_ٰXy赾:yvFJVl۴K3P/>C-֠D`6#|k:]n;=WBE01Df7)lVjp\3!jqADB<;$.>SDQHd8xO7&m1Te=ljG 辿lu\Lt3΋c\=l/xoĥ~׬uѽEL̦?:& +ޟƆ/^ף;-2^/C]Iv$[P hL1VA&~/:7S g}ǰhK ;6A]A\JYW?01a@H5Ud?KJ +yKIb{/ov +d73h?]8q0܏!t)S-nқ_ݣ<) 0d::uAf [gپ&Tׯ8DG1?uX .ӟO@()mg_al",'Ǣn2B[|g +'5&]p%cSu:[gO'JJ nkBC +5&|;hQi?AW>_}t]7;6%UwFٝ- *&XN0xmHP☆kf{鞋&_?n%šjnP,|~8Uݸ]fsxhG3AjlqtuRGuϘttSY+ޒFy7ӑ@KktNÉMgv(`hX/g_/d{hayJ|GVh=QYȊ&kIEaȥS! ?[|簗K:ZJ/:0QwDXmAv+sDOz"?vn%7WDzZ +'u#yb֞;\%MŒj#j& _GsZ܁ŋNЖ)1Qt@w`O{8_~&'`\lD"SK\1Vp#aCA&ށͳŶ!d\65l9Z:&r\ ba638C-NpT +{rJj? .X8_'L`XȋHjogl010Dz3~ -rAF慁]%vZIpG@4˩vfaa&LKkʫ]*m"=YKGf0L-O%}ymq.5tIN4 +sFߏ;{O~mlm O0̘xZ(Շ~s/J[1jSd.jGTH_ +L=$ n=iy4- ԝi,dde y~kiQؔUyCūRs}uM#Qþ[Uahs|T/:.sɰĶ#@[_ˋ3VQ@1W[e$hR  >_wSu=/v \of+}*<5hGB/h[CHaI[wϛv2VB0\Hb{{x\)F-e$ +0yB"NUQ=5D:m=Ėe{I@rFx P(Uܖ賀 I 735jT$EV'1\Z] *^+c#F47C4w&qhA8氝[?0;]~'I`/oDg)&FVH&d?$\a1T]%kEOpfhA o* +t;8 +@_ܕ +`$sSV[PG?*ꁉq 8<ԝ1=Xm*AC,UdDj{ݚ>l0fga.'[fNwf,M|Z9t1, - J4ES%a遉9ڑoTk8/@I7!N-A.ՋoIl*cDa:XBGmПw{wl!n@3xa?EFF-Ɗ= hYZo1*aQ|̎VGkS_6OAHcn,!#z W4񾘃Jm׌TML8`jhI8p̸آڀI(,'H>4aIџh 1[~BWV\ts ʓ!^.%._AīU1{qϢLϺIǀj{O3N˷Z>Źe,Ie)'o2DPٌUj{|e<UKKҷdc; ;"#*Fhb[Avſ +qqg&1BAUDBP Զ9Ŭu--q:2wJo-1Ԕ+Fd(N 9."`*^Nz Hgthdi:+W8$&mPu"t:idޢKҶd#X Ϩ<3Ɣ镀?فګٷRv X1i^zs5*gMrwqI|RoЛRE3X쎼BlIrǚŇV o97"wY^&2Q<>Ah& !W& HkQ0} WXޢޗ9Cxe5ݵ6I*9;g$U' W!jplhPxK 3ge>ä^1.'u̬9$+б죎Z'D$_<>mbIsYC^wЇ JwHSY)GUnN#}\'ƸmヮEŗSD^ɘnMZ*Ϻ7f$-$3o.>W9A^7 Vb?}q];-6m 2z7t> _FLPO~\ ,xӂ*s\-d":!46Vw~j^ @j7~1В$ +8Ku^&Ѳ|DC~2-E_>a ?L u%k9Q 6&-n1mĠy٠Sa5- ?,Ĕ_NEyi̬9qVekTCpʠ^h_y [G.o3r<)h,|/5ֹ=QW^MABA,+̮['M9YʱZaĘ-'JK?"+BNc^ aWO%喷2o <9a:Q!mv@oqu(FbOt]y&6CkA!073Uvcz +`ߒYm2PsE=y\T"x8+ lIRs #GqXzt!zOfD.ڏ3DXëze2oKkKaN=,aOce SNg6!xJq5tf \*w5@;;2E%ָxG"7YȆ87Mɍ3Vt(J* ljt+_2">[F:!TKzZZ6"s!li +sua_?geg ֽ *i ^k?>vq_l(@q5jo>[1IԶE.]8H0Ep[h2xPʛ.N }]Ņ\E躰߷E4ZQ`_rXzN1 uF:w_tR,u LrM`d=#Dk !O#vhqu^xb#&pC7Vgz~۝ d[t -2qW}%R3}18|jF/ 6Zn^m-J"=`tJ[=>~*/#F6J$G4[m>WImJYj\‘UK^5&v|y]#ePNԜP=*D9f(+/d5?{wkQF4$xp7㞀nk +r@Q-c,IGZŖ)~IOӟXB)iXY +@ Il]bN0C̥醣Fכ^Z%Ō"E?fQ4 x Hp4lwk-.XĨ0θ^Ϋ4^RPT 3ռzL!?c+&iSNGB,”p4LdmHYjD)R6&׈7w0E  ֦Y^'5r!֧[o(ޞlhvcT Cǧ{i)5 &f4u=L%Ӓ!Ԡt|ѥ]<)zMn6{:P(ʗx{O `HM2iʶ~IWҴZхh :cLb%]iICCy îL\5u>Af*#or?*Z[бSTg狤UZD +A:*&s+ V8?'/t=AN@SABuuŽc%.P!9E3CZOTDA:)ElY><*,Ep. .68@(pX>0Y5CM6`qi,;qHɗеxl Iآ¨Mɽ*כ㏪Ҹ̑ZbSd4"5*W8?Net,E'u̓%,]P0Hn௖87-ͻ(}-ejhG)b{dVZ`'w$. sV(f!=T/EqA&S]IS7IףPй0TRv_9(zikC#S4-(PvSJq1/Iv}Ι;ƩK [M!XE]uȜQ9B/ZZa9>hoئ#Y sjOQY(ݥrnx1 Dq/AREQAC Gq7-\XţS;\8zMj1 RSOhH޸(^ڗ܍JE|$Tc<@Q-8)PZb2@)taW kFl 7 :0Wd/h]Oc5$u˙vyc;Fe9j8+;:~|eSX8VrEj\p ׻וoSG`geKKռ&:pdXoL?k~]=N2[bw]kZU%_sw.X{?j92=:](&|V4 .VvE$*Ȏ +BMYgi&t9 i܋fl߯N=Wx ߍ08tĄ3oאwfZ)n;<?? em<~|šfy'左Q[Cf!uyY`pe~-VQ[%=@)]Zh _/r9qg|C5I~װȽv9pi5ELPlO;hᓻU6C[l[޿Wk_i:N^41(kTjnҔYȇi/ՕCHAڪqI' +vY+|=UA5~…겳hXYlW$k9Yaɛc"#P *id uJȿ"?f5J o3o5\e%Jֱ)J)ao|c1@?1AiKpk/z9% CRPY87M{siq&ǡA{A,73eP0f)njXM]UL ^7N#"0kǦ9e:Iv*l\޹3. 8N0"MFKc4$"?ЯD0+Ua]@-T׃/aCQn{X@(4DS eB tOT5l&#PC6`Mj;E! N |o&lJ:Mf( a(q5:?~ CGp]iD##]D0W!ݶ)+MWO*QtT#,B< CY=tr*sk$5#nBe%D|ዋT^RW:e K-Ӊ'+ܸ|||#ÃtgvlZ1umAe㒪Tگ:!lc]仈)GEɡtBa[bdg!@‹JbBk8ZӺKU|)b 5e?rqlE<|ufT_YA"(:A+6Cj/)?ЈSq1E +2g6M%g&ڂ޽~H(v>O/J6qB0 `FYltywoYFbѦ9N<JLRZIXDbT+Jqwpk{ِZvdI^X0Z,X)>=¤߮?oUQUlJO'.MqiU,+ԉ-xA*ooA3O\Nį <#9}|Vg +d>03.if[nCoU]D({Հ(!ɋ-y/3zZV?|Mib?vȕ5Rj1N"Gј8ubgHd S* `PYw!߹7u#ڎT`G 23SꁘLF3Җg_@_=# +%y2aƓp odz*P +=;qw`OX*LR N{~޲&>ZIYt +ɴ:Wg H+SFL`+$,ڨ/ɬV\PK+h*5z$O[d3lBx_x]VhN`CQF}*hJF1r6mT!7& *4sm#+ befT艶e JhS=,!iq$ݴ|&Kk)(#[N9c0S =X~C(7x@\ koc>_sGmS:WRqh[EacTNv~~ L$N3ixs-(b3Ar_/,]>#Uu,ؽp؉pTJƤ6F&cCsjBR"I?`i#&Dȧ?~+{;Ip{Q-QX{`qц@"Ƒss_.xx +8r Ku;FGŨ^ۍSp(DQ,^fD+M#⨠[ELD }dW0hz?|Y˓6sћ?Wq,'(;,jG@KLشyv\5<ǤW\Q?'ބy3y~uc|FQ6-'Σ$ +mcrf1Y{ |# +=M'l}qֺZ>W|1MVe}vpq ԺIf-)GeeWLk:=$IOX.LȰxg%: ְgl~$̎ SH˚]@'EBvGgW:l+iMmGȂ?O){؅,i@f [S(- n9K ET Lp+c9uiPlY ~^C{ei:E]zu]Paі%iRۈrO6;!?8vA0%VpA١DVsG}H JUgL ,S>hTV9aY:* +u+Xݶ kBā˥Q-!_jRN4K7Tr io#YU1ʞi [#̫%^E-R:=F*Z{w `ʒ$K:Y,_| .Rt+BT"Cop(,Oli㠖:>oҩs&Um 瑹qn:آ8X~0˧yɫH '͉(vFح`S Wo(۰Dn٪ɷjiOHO>b@) #\d=сڤ˯r:"DbO" I. 43 OGk@W?9]jQZ`lGz# vJT;R3J֬n {BDspIeqoc>=MH8uIv+"o~9˻-s‰H>y}/b01=mTu$ Ulq*jA.OJ^ Y zU[Aup+RJ5$f87Pt"/kCh H0#W6ۋ0*#YEoL$5RJIqI0zm=]M mH쇫-k1 4ֹZ8o 6W/o #(-K Y/QA{+>[oF#+@@A24?JfO/8&w5EQ2'S.OЍy;qnfT7l<>?1vtHnLN|iĔS ;2b@ۏJVkiM}?J, +<= w}'VꯋQ*SGyΞɣ8pgRl!Oג-i-|/Io3G!ES_P7l>qv +35ec%b n;eMk$DJ3-Aإ#\ng$@DDrۭ\Ej[ЎZO1Jqr]hqm6TftNN^@%4" Q8BGBs{NDc h)xK(@ל|G(Gvu 2ԃ+&ȥznK0^S$Œ%SDAZ9 [}R$/8d`E/L. 9$v )P4 n)܇rm(6P޲E`)߼fGHLN0,x4^&CVa#ۦ@B?5B!0l{][sYIjdY)1cHWv #|D$j#+c"x k.I൐wsAoz ޲@*a4g&T-~0!4Veٔq!Yx*x;݃@h& n̒|tnԕe7>Jyn +GCC%ӁNADIsZ?ؚQ*tjT^J=oX%\эH%R.PP=}ޗh H(29E `ޱ=\DXFQfXB!ǡx^PI@C +JL")'a!6ыo#anGbzt3 ~{ލDZY bu؏:'s׳jŕ-%fhmU6%ӛqח Ʉn(ՅoE +;u/v$ ;4;e<i{/Ѹ.$0/|1>i4EƘU,}mY*.oل11^Dwtjѻ_*y(72~﫤@:ʀ07$<0As;gN 0LnNt-ts²-A9/z()SEYgϠpZZʖMqS$r#OUV?"h|}gCG/(R%B0Zg L`nb)~ak\Wsr(*Z :,&T^#I- :j*HQҚjSIg,r#v6wErt*(wX?iUWr=:vEnbE`?c+^[ܟDN'dkgIg=a$AjfdigA].JNes_rO#Ss{k7 82 .V,+mS]]PHX՘1:2Km&S莱ؘgܱep +Za`:d'& ]ǧ z i,i=G{J$'I_!Lz-qCvNlre +UʐW?3wۋU(jhJ@>Igi9XtPAdʾ +,"a܌GX֮`6mA'l ` ,3if?G.HSq1Y͎]xpLr] +􇫸IE3>Ѵ^.鷮vwfU]0jw& M%ڡ J5u.qҝuߞ1:Fٽ#$%ke!0g CZцdu;6cifCotvlqȦ4wTa_h+juk jUiAYm< +UPUX=|*@y掞n8?HQ<Vg ңVK S +pN, +64W:IB_↉74>2=q@h2P>6mtzݏ4bLs |yN%`iuf&seGfUvԧz^fEఢfp#ـ9]A U_5z(.<_yH }s>ջJ{0 5'IL/XjiT,;ԯ0 + K +D/S:۴j4Vg{ߊl4hHU+9|<-Lt~,2f89Xt$g?} +S3qFVd.1亏"ʹKră[>J=k1²9# Op#a cIn39-.dtZs}2;'- \hDezl8P z_aβw6G? 6n|p^~[ 2)[wΎf $8FjMo'w An'ㅢ6oSY`uXdK߮Jv_/Ț1)&b3ON 3II NE|2@lƅw}3NwKcPv>.RLI?hꛖ_E7 +hq.셶~dvBalyŷr*j xzUL‚\le(>ag$m17:џLQ~آ9c*ٳ)Ll˩{ǰ8"la^k8V˴8 H}OũO-fXd%r$b6gRF[VqB1bc9p96?QHLA Y|騄҈ +'+ W!*('fknjM/ߌV܆',C=\ص>:,Y#\3XPI)֌ڂEznrT~%zw<тeUt4$Ȕ]ن;GM kxD1`"]C3;Av{Z1r.15ܗPu ^ ̧]F@D%SzǞt=P&8XQNj Gi*^[*0֋2)jz^8'TƈɎho-4:([]jNN1E`l=E9R#ޱ}R 1.mؤ*˺et}T擒Fw+;XAAu/B<ړ)B{IvLRY<ިW.Sˊh_ǎo~r ܾa{ JӦ!멟5QW+*ADL#Luu5 TRG6DŽvTH,|\,]MKI_~(츄$i?QoY;P2JӧuFQC ȭRzvynܐž:ɸ1(-i.pIA UdiN>Zk/ +Wm1` Ĉ7/hFw[*Lyo21BWpV F ]fSیIbER*dq9Κ|Sq_:VnWX@6D"|.}vaFn>-fWגqZL9cJG_ <>&R3rs7 $[1~ gr˵&!{R:^a t3f[Q[O w-qRu"&Lܞ]{^" | +ɑKHwht-bpc|i,,u+ϙ ,-oGtUQߓSCm+ lr'{%t(\% sVnMw5<F2rZ+3jEYzg;ۦЧK{F6_\PtTD]go~ + 4Ym~\bL3X}UTcB?6| TQI$$4(噓5? fpKxB̕Peiaض٣ +%SFDwծa Xm$r}X]ͪd[a )=f!KZyXV]l+ 9v%mbqYM[FlaF~3WA+E $a—*d@HC%S=`RtDdeÅ$#lBk QVV9:]h[QЬP +WZ m|' oGjӚ\*g1옹wpu%-(CWN|G2 `; Bwhzw8@vAG倔xc6D]1EU ;}Е=Q߳܌i|O3:&lt;BLj'[K;!JHy`(Y4S:>vٰ~C=!$'w, '3BMa@ (.G%_}dG"պ=a>vh %mtym0LY|-'Vl>tq(UhImln}ACň(sp^aע৹t| DA1jI=\p Νԝs] 48(ɸdո^1ƄS1-$ϻ1N!l,D5U/A!<%Z/ 7D1`Tj>wG_'ȅ 4%$"+cv +XĶѨ%:r'ڻľt "8]Ir"ɶ9L?wކoNczXU('~+Nx+J{1j= ;Bc?FĞT4Ee>mV؀E{IB3.s6Δh/fWf27E/Yb'On\M7z?Ίꐣ>4BF11)6t^m<ŸWUSP;vP@BiXDLoTP 8.gC\j׭V(/O۞\`73sB#? dlj߰>Gp5΁_4OcJ$U a=*@#/ E|GcpA Ϟ\N.k@^L8"Yn߽8ҵ/@Fxy'ЬhF:h3׿/S +@=PQC9Ǥ *ic=!l:E 2w |?q +_H4.:\Ǡ+y(9s\PQ{'&,>k+Q&!W|檷>Ak._˃emyKtfM8zD'~Խ$k9e,MPYm ۋ{vAHZjգـ ++o)2 S"kd3M\joߔւDTv̩ZI~W0EKEfI*Bͧ UFE%j2-usx{!R_ݯ^1dX"9‹֝]cw1wܪ}N3G›?Oœ~ŀhv }FљMnKN.kUav<"w_Wf4<#"h(z8bA ҏ`5`|q[7\{JFnx%Pe2#[T/64 u2z0TQ,HtvEt0z +cʫa}H-6N(6cנHƿf3 ;+4d"7=3(ٵd7U,~fZ+'S^zf\{Ŭ/db6D[F<_}_SMyX][Ygخ:Z''I! EbwMj@;H@'hm.6yk)-f\E2R LI;S5'Z! K~L㞙cj/ؿgL(ؕ•E& %+ݢՋyf + id!Yj%\tO'HI2P;Vr}1$^z{@YΆSp| +6ϗP 0֠KH&ma>M'hJ1-T@hQkJP{($JYt/>anyF$>ޙR{CRo#?.bѥC< TT94*iK1Q?j;Yi4K nxxG"=)ze+5-ӓh;c\*憰kF˵ëlTَ fx;-<AHrˣʒgǪNjBU0y}ܰx=&n$춱;PGnl?uzǍm29miY\x/)s~GlEk6Ⱥx[j叧KɃ "qgM +tb<&m01 *qN!5PNQ!L+7ɣRX7E^^_ 6drR~}PN FlsYP~DZh#n:"RU'*`aL\U3wJغK8q +>x@-2~G7JM" 0 OW|0mJ7_dl*zk XizPMaF鎡jG R0mi``4vZz7fK_3Y޿(爒ۑO G 1jj4'JO"yE$?#%௷r[_?  +&$ F[8|UؘۥT}tNrdH!vP$9̦84ZViu#4&t^-ir[ȱ<)tI@ +Vpf;ѳ;|lbl`F&UE +ZEɗB4oo6Z­VY\ ϐt%ف o@<ؠ@Q_ߖHBVysPI1 +uGoB_j.!RۧSs,%$kxl$Ud"?'lz61E<{)?ޥ aa2d\ |Mb +|(/D[4Qn>Oh8Q9J&Ki8N.}dr3Jd1эM(go8{'k7l\O\? -.!$GhڸjI|H [N" '(uiiB:⧯ ;xzWZ~(nW?P|Rj5T.g A|Tg^`zcpALZ` t|! +nx?yZ=$|U!l_s#Qu?=%qm_.jnD!J=-Ca:9P|g`:8h@oF2Hnlo_5dl*8U[{Kj7q^l $B X`^z!%Y2Ti(Z[D2& ( 7&52]ax2xy;kY(m '{DCHQur6ٽ"gAZV%" &B++jҡbcAa+L@.a5ʔw{^=J{$-evbѯ@dU{#s{05u&PƉ2=)b%ZAqC!=\W9١*+187ɛ Q ȱhEՂbXODDS+:!dm-b882z2@u.+"&'j{eC^~m4@,iـ̽0Y/y}ָ +Ո[H_y.Ui AQВi'gZo^А㬝J;ߨWꢤĢhߜ!|`pnj˩,<^40}x/BߖŸG6*Ri#y>W;mKtџ6@) Q H2*iyEɩ]gE0Kxs0ƘhW|wC-w<vمxTnJRuVX/3v֘N_'WIB7DJ`,,88jl$FUNMd֫HJMd6 KCKuѻM*1TL@d ~64iukY"M=j"ڣ⾀(^݌+uȯ tp2ˀq +d."#Kct1j`K.IAc@J+¢l[1Pf j}[i*4IR2F.wލ騔T#@e'pc5s׫?3V/Th4s㑄?  b^ľOÂ=@Sq/?"%ͼ6wv ZF":gukd!NHQ D*y͙3QmAAS^ˆ( Pe0ro 7le`7D U"Ȕd>-T>aST@%VK,2Ў9/tu KWRZO## 8^8P\+x }<6p8oؤS,p]VrV-K'Z`oяZrgЈ}B~Lԭ!1\P7vU> z #A)Bᢛ|tgVdk6vg +Yqvsgt,leɧCUD-%o BqLKL+ڷO?aNuʹt`0"xNx"G TNEI9(Hm۶m۶m۶m۶mm=yɼR9'+BKn FjO73bˌY:RK sQ.{ȩ^$Zls3}`sP5|-Jj@DA'Jh6=W{+{دo%gH5t`vKܸ- Z>74:QhtXoJNjyRʌY~&Z#+DAN| yr 4T( e zBv꙰ ;uL SBH8K%]^alge h4KМSPΘ%JfnoZ&>veRߛ?|95$ȧ +w.NP>f.V|q' +rq4.>e9g`$GPsj^|Z-)t"2&n9j_u@uI )'IlJ[4ɐI:65غ\&*_(l75%恁U'@.Cdׁ LN)0QRnH/M$ZcTDWw@LC.^U +وWNL><[,$sRx3Ɲx"E ?E~Bi >m{z\h`siJXJ;LTo2>#'&U'Y 1xS~XG{e7Mmu՜>#vVfs~C7me &Oȇ,Ȼ*P>ZlT1-&jvsb ƾd ]mܧX1('KڕK.dhbr. XTBb8?]j ۊ3#мZfX[ NMJ'&FPiHړSkK5* +4Ϣz< 4m\aK5({݂P1ͥY&Mo:x7~CxQJ8IZ +}P6sLERDg*g]J?δWOB8tH?fV'qAz̙@!Ӱ๙ua!S J>T=hZ6=25|iX_tE {n<\F@8l*v k~e)Fv>!+;mBv;{^+[7 yQ@1\R +ߪWsR(#Btu 'H~X˻(1/} RCDY I"#^~ÇΪw~Τv!B2d=' WS:ݬ3#M@~tn ZД +~aR=!L|d6~n3EmY{"Bt2vԞUltJ| ځH>0gzYؔja vRxvFAbxt B0\Vc1 +9,Ǥx~ZR^iv+-VFEc6r4'ͤL`67WNj="~ !eR|Dd0M2Q:}LpI׌6[xenѼQu~" ͥĀ @$RwTIx[yМz{FK+1#3[q A<%C'0>n\cl:am94̏zp(m77 +4cxpIm:pX ,)KH,tDҺ|(cmg {:Q$yB,TH@q-ZDulC_Czt1 qdk֐S\0MbcpR3gu_v3 q0Z^گAt_>_QOg k>1΅=:Ti;|6DՕC]M|MV%ʶG'T]Peɘ.=wBň؝'z.U2wr!}O@<'PziT'/b|LϚk6 B羕|Q YzXH'Gmeي렾ȁz<Owr&Na!;J$34`kbI:)If,眢OZe5"ڡL<8dXۍ[C-cYJ伨45)#C[ GlgN%I49hqݚe^3Op@ D"`&"ʌWi J =[W`j邑+ogk:](uKse@ۊbT&i5BQ~(zF9,s A8Dy7$fC0ќ/fZV8ïʋFy|K]v1GC2[hF&M +fn ZqcZ19 \e<l><\sfD]1tgO0&܅|>(5ig BE?>lv9Ls!Uv~)x_z1jڤ<> :xՙB6䬜vW_?ż`蛵Pǜ%~zt ocĝnNL!?ud'Kp +2B`_2~T _kB-0?t|ң9FVm~;w]I7z#t)z ˦Vc6Sb6izIFq¢xm$Q+PYjj3#-CдSvD:%C(;cu6KAYLw%٪2+<Sm@|i؛,?2 '\T~2'0cXeCV'O)3w}\&A܇ZDDv,U ?EFMݓI.b{diг1&SwkW८ +ɤ\EvFxO|:RW۵z_(vL>U GCRR7Bix0|犜Lht&2 L lnn&bRpdFD9, +3.wOy/#ά |LM/^B3Ŕ-bH.zVܘx{V A(+S2FzHMƭ&Аs o!"GQmc;'0ĉs@ zdcF&.5_'g|\FECŪVg8`ˣȧ8xWm`V@34"|絈VZBͨphۘ'xi ֥2EnB`PƩ +AY)5`+]֯AŲͲ݋4Ɉ$F>D8\xTyO4bc(V_cRCK\+EyxgJ`j#I++h9^GlUk1 8nNNҀ`ڱ @Gf`ؓ&vRLV-O*`qd5Vw20I@hs OcJV2W G)рNۏBN*T*b@Qz* VL;UA agy KHqn+z\mYǨ~ϧv;J $I22`wR]2D0ҳܝGTP# AKߣhL9EL=P;lXh9{)\UR=]3_2)}γ{9 x_t Xh-q;=,l;9wzY܋_bհ}(0D2Evy{CEФI"CP= q(@^LocjzkSDRxZg*Mhi hOtJ* $,Fm4>j +?IPޤ?ƪ}"Pp9''SqVT~rnt2~L6ڢ}0|Tx=RtiK̙o .754!U2m!E)rgzMO1hD6Dَ46aTUBY Kz X+8< @{i +e(&G_,L`!fnUc7I-_򟞋(.}憎2 TjSLڝ%'kow M_T_0e $ZF躿( YY[PS2ɴ^/?W%L3`H=3)&q jwxjQ^ -wo)oxBkq%Ү{[8b'Jj %n :^* A}uF&/˖ %&|hWZ%QZg\ Pd7* '{@ܛt*3e +LW JArmnݖNatJT<@bVn'88̸^M!JKfx* +cE%<w~ȅqa|&X({2YX]gG m z ԃ|0Sb\Ke$4K{]VRQ208{ӇuWZB?T.Qn%LI +#aˀ@ڃ5)T W5baD'+>|(IdDsw0:/!Tch.3X.O|+rs(2 +P,Ӣ9~6^5'KOZQb#8~&^c9a<$MJ<Jutb$UGK3);G;IA +)]ѹP=:9:W0>\r>;Jϧ@7%'uE㩆P[d]}[W8!@+BMNCGEr2 "ոen0 \YdIsb&uYk5zq'a%jn2E2VgZLJ2װkyV:&y.\#kCHX$!0=$8غjZ\ ?]5sio/(^FߓS[ٵL/~M+zKϱHl@Lq2oCwpA*4oLԐ&)-)]>Qt YT~PHqè:wp]Eg-NԒ u@:b&HΫeN6WY"]L]kuu؝FYVA$i1T9~pvAzX>fIQ"o c=?>{S?l]gb, l.zG3NFRURACAj Z;3&ޖ4h$//6RZb3j/cn4}?W +c0tCXZ&Ah>3 {hl2 Ք )FlC#gY&sJwm <]L,r\~RiRZ[ hZȜAF"f&|k\ڑ):L|ni+zU3-'{0k6v/6ΛZ*aQfH36w(%L)l@~bx\p2#UXVNsR HUʴ0 I<^}_gFy+W `8|=T98;lkz IjDCmAnKqhtC@}CӔ+ђ߆8f`y~bwnBjlL-Ȣ;(x>ۈ +)yhIlb!aYp!v?b7nazbk2-ct`D2L7H*V|v}t~337M#-EYBV6ORZv8<)E\7~:O͊5" D Yy!IԲKl +/Z榼ߍnfDKEk& 2Kx +G~0-ڠ[t2 +>+O+km9y {)  +yY~%Ē5oUP@\o[Am=|`{ٓTQƟ@r* +9޺+2.2q1qR/\w0I(mY!R#~̆LLt57]^aW%]xSdu)PPZ%u{H`X~:Í&RV;*gY|l0J +T(*Y3cG,Nʥhġ[B=ΏiCFUb?`G>چ)i} +9(*_phЖe*hoow$$N6ao'{%[Xܿx 8Y~ZE<ٚ=5#n8)>т 9+u{&|1XP,7b +ƖC%yƸC3ĚZ,!:spGY\KD*'UC}F7mv}?KJ"r ^<VW߰CY OguYC-S,!"'muucjB.v2\->R3Vńɒ\4nælgi˚_ 3G9[ڝI;ѿJhb1q6jQ~GB6{OR4˩YcN:ZڳtCz=G8jB LՐ(D(Ps) S"fv?@[BBs8Cǔhy>NFCwɊS&gn_@ДzH*v"?r.h1; 2 +B95IB+Z`9s#f;`lldp%2҂<$) ]![BY vE20k9|85ceKnL+T @utk :4C}1Ilj@"j&4 q3PDTqS},.LnqLni| ?6!W~/MHW|YI1v*Ҝ|yr2M _^l# ]ߣfKwqԅL뽵,}a#6c̈ަ=Z4^!q + }4]AeSpoID_ U eSO mKùx/ z9:A/$e"! 71ŭ_;) s&)$WLʓ&%oKhq.$r2Zʸ.>[Bڭaeb׶ć lmf.2fpVm(7ۣQMh!=GФ!sg$@CAlv^TCvMB3 b R$`gZRw`|@08Z@@m@*8:ynE?UBB^R2 %(xGw[*W;a 5xPKKf̧0k~18>M`p>G'*kN`r(y3"XO TДwI)(= 2kOy uC|~͑~s^_}"fHT+Yg cKd{OٓN冬;ҎoxWj'nzVz+{F$݆u Oxd%EBYj$Me~ ӭSOP@f.H`eq[X >-{13묌Xme#wjQM`љlʇUrQX#Q*j{ pW@[@C)Opq>*#:(ZRC Fg`;~2oPJPXS(rvHky7Tړݮ9ݴ Mb_d遇or]8h籄ҽhş1n! \K}XcN嗷 +z"!̥Og:+ ~r,=x$[sy(܈*О}(!]mH+4V6#--3)BF.1.| N>FA`ͥS|KT- -gD;Fv>eg*M=$$}0_Wt!bwWH'7DY4skLDTo8 T}0}Tsqˋ~/4c0S SM2'#H1WVqN!Gށ?e ¦' +Èi)堤 ǥ:#w$z:ْ>0THZSB zѻ,31@K[ +R}{I@|zf~k$v;|Z +uf# (;2Dۚ `̏DggD o6Nm⟝T<Ƌ-]vg׊`ES^RX˹kоGce7M<@J(E9KLz: _QA5SRz)6Sy&.*+R<“_Hb2@xoXɘCTlʨOKb~/țLAEFû,*@q@X-Qgݓ!?oWg/4hy(!e焯YjE.t1"p"P*~$o2s"fލ{nGOͿ^G}Ha?Hc{ʅ[`xa 1lOXZ,7n0Dv-^2[So*{Jw{n5 dz7biZM5L|xyy`s  UҘ2ޠsnLٟiz:NX,FYd{dFxnڜTOcsB+UN..4_j2rVrRGЖf"BﵖY_PԳMEj;E,ۖa"w)RӴ&ۘYu_8@ݦA̝G3*6c-3:yG}Ss&72Yc7̺rУz{8dHfG*Fu-1Uz +8O(j֫xIn5H:`;5-2>OcϹ6(z)<[R-~B]!gEtİ1qlV4<%5(&26*.a#Jl~#>flɕըxuDVQ` |aΤiX.Էή@wO;N(3 no$7eպ + RB#/}go~dqwXTi(e.-h1;ؾ`'=[ or"ſ* 5oD;Q;K>%r;c * ψ*_n@"VNi%^=b!QP[FH35w<~%)l_s4bzQ`u;rNJ@[P- =]!;λ<)#H~)wi0 A3[,g8,K13ڝ-&'fcr+h/--ĩi6<ĸ[܄WERyi4]R"Y 0D--<4nVT ܶ'Y"fFK>[@+gK_]Օf:+k%6$+^>8RJ C{`x{`@n6> pZ)5;,˙٭ +3WJ5c}.3<^7kȏ_otK/1*0o$t@ P)+u LdsE(^6+Iy1/trDK]{ٟnSflǣ($-XjÑz1Rs#|qy޹'r]hLZj0ֳG+koc1yEB wU&xA/W23]CVNp\rK^pɄ(ɵSs2C[^Ƿz~"9r7&_83{KA3\87֤v9̚_-R3 ~tJesC\Y<q>2*f_H5XC~ 55+=>˓K kp4M;zQ4l٩łn'w]; oHgex)wZjQ x<䉚ղ2|Xf鍤ڦc8 +D39'0Y.FWQE.u8X$ziD"M.D2LII6p1zFтzDTrŮѿ}XZb3M>T aymL1"G?/٩hX$/3 w˒[3Q78@ K}K?Í{3EPBƃ"naZh0Sp7YNxk,sGM3ρ{j4}jVAV'0H qo`en?.Fw> endobj +1881 0 obj << +/Length1 2148 +/Length2 105498 +/Length3 0 +/Length 106027 +/Filter /FlateDecode +>> +stream +xڌeT]ݲ3qwwww'ĂKp]C-;^5UoU6(HDMv. ,̼Q{gSK%ss+S3* 0~D;; ek" GA!4v7v$J.V / ;/?9(bvnfdrq1gupa133}G3/`07w6fBLh +0(`cG=f3Wv}s?,4fv639Gg{ǒ{Z 5tP[T`fd+gI+Gscgvf@'+;?``d_>uK+v@gg'׿\@;DŽ,+ZEC j.NZVf.m'BX@X>g'JT`` +9c_%Lͬ,c''cOx>=>hg 0wqrD18L $L$b0I!bb0!v">- +CТТ>-CТ>h-CТ>x>ucCg 叝?v=Gq|T6q|d7xsd~3Tjl ۇeclWanWN- ?tZQ@">lVPcʟASK,dXjqWhьG2c'0vbt2rfegS?`W=\ 䯽/տ? ?)hk??1@6#ǵ9;[?r| _ >r95]͝Mn`GUϿchtq˚:}l˿޻fs9@Sy{S Z_zW.kf=NI@(Uh]pT \2S0[}Ш 0]z`E&M&9Åb.K֕M]݅̀8C2si4 }.Ar|e:y̷݇[{xMm7‰h +B~RziT +وy\v{ +TW}"}R; +jm +lqޚz\ ׈N}d!Ӓ_AS;{s6vD0sЌgےvps-wۘ2(vƋ,븿!}궠v#>񎨁\f`]R@ÛJoJj(\t,ҤĖJ~8\#\Yl¬nfJ(;lytdkD&߃!6J{<$QDG2[?=QyTWP 8eArk! +EmVqӂq>Ki`c$81<#'q{) A OiB/i+FfKkpF= PZ%oT8B_QqEJN# pK bUe6kT%b8rخ7X$ %I`,y]Ry'U؟Op(&j*~9h?AgR;J8y¸]) rz5Vb>|`H +e~ Wj II6'Wue[ЈK#oSBYՄV:{ց (:c$7XV8=[P%r-1 ,#6R~ސm2<}^'mNפ%%pxQ!v$ EOتsцnW{HrL\qjbbRR{%0OC͟$|cXS\@GI"FwĪ``O%p Waի!&gM˺=949:^:f#~9 Yt7|Tv*-#U6۹i ($mNX/b %C̵i$; vLA +ʬ%ec9)?Bˎ͊mTVL]Ћ N{(QAez]S +Upl.geR!p@ +w"ަ7ޅWlѺ\FlA\ШW/a;G kcdJ}t\4T:zTl0ozH {n*ȓqo%piAQj&ޠ(mVC^&$Oum3MdTp.!3 CM|BN";xْFMV5#|Hfvzl浑F {˰"ԅ-61]spϙI^bMlW ^#A()'/6I/=۝&B3Zו1~> Sh Vfϒ8h$0Kt7"HQ4ɵ-84$>`f?!ND 9cZ HbM[7[& +|C^yqٕo{yr5k9YK~BuBI%)LFuO" +y_ +b$xTePS@{Z-|~΂q$5zF܅謂盽`:?ߩ*}`%A(:Fk| : + *lpE_1EVrYf;+j)OtZ"uUggNzZq!B z:EEv8ӈe` ^1 85`C}sR&WJټqTc0j[o21G/<)8fF 6J)bٟb`{묂?&1vx+.{\<gE*h5h y]/8:Wd/Iͫ3wğcžOli66 3UDز`w:yC! N8҅Ju)h\E`GO(>ļr!Z'ǴceL(;g*)(*!Rjw<ts0=ME 7bqi5z(x?Y{w\j)"$/!ǵa23)NU +zdY H'E+)gqmd3NK;w랈3Aƚ +m0D_mH ѫRܧ*H`ܑ 5l,p?aܝ*$;q2mͯG{JHlB'QmEILsxX_=/с%~UJ+a=?}lMDŽ?x 9aL1~mpϞ:j݆0~d/R@dQ{GO_fmudfм}"|ˡmF9jKAni=߾"͸-M\s3N@ Xq(_*?}i84KL3qy]_yc>w^Y^2$@ ބZYTa<6^*4;n!Fv1/֪^fӖQ!XqDʹi(-U^Nǁpi=;:2ăUXTЊIIsb:]K9~33fe"Gxx I7C+ݿAQ#ra- Z*+0C2LV5(M[eiڥ'^#Ei({[t伂Ɲh')*/IXoۛSūD؃LSd/PsPaq'&94UMcE_Rڷ7PY$.|/u +?96NKAy37-i(BK$PxYN$2`t9,l\\#0(kRlqS,ciP"@SO^-.4J2#uAbu a+I'g +{):V$ߩwD8t(%~b]LSH VS,~Z:_û?w+wcħgMt%zT\U#Jp% sWۋDNR[ !9' <;GlqN[jX2`C6RoUcLF$#CC J*RH6[3xߋu+!yv /%rO;D^h,?v D-NeŃ(Xń$v E*cӾc` ND`v\W5hY1JPzCw_% +s$Ԛv>Z+'RȢb.x$)<]cxUJ'1 m\۵˄}?p$|U/Y~F%CIgRNRwiM׉j-l<Z䶒7RK%o;dkx'Q5U;#2Y:c1hl͛' RHmqtI]/p=_a{0BQ;R5jZZ)+*ԱI{b>j 0BΕ|C'1Ue}9iޜ>){(/56@JRS}?2LxC`{RˌE^-⛗sdpU$NƓ]rV3CWbo;>=-sfl\M;f]u`H(ltR!tM2{F +$ߨ{7rV6<lo0 U7 n5-*,PR7\Vo&7+IH;m9*&E\t[Sab4svى\l2ռ#㠻 5+e`X/X#<˹ pXZkv}GZO# +ށ _tE̼#= ezdr܌ +g;(DqQgrnh\7q2(YhGUM3cP"7\zA>C_U0X]k6`r0$[9GZξu3%&])1c?7bj!Jp@DX?R&ORի:,29J__̈́U.*+b8i 3Y޺z,~,TMLF gg2Ŀ$msL@bq)ޓZ0}N7X~@/Uz֞J,QLn'5?\bZ|Mܰp +QN$Ĩu -yk###NIvb\|aoUPzr'FwT=\ی[\?#YP{\O~< (>pF9^W'x;١1zlyw~F: s4C!IƤ2 A=;2S+1!۬R㒟*^}HƊ~Q;9{+!}O +5ڹ~}1|eHawYe%-³Pq|* yI+^HÞiݫ8ח&?SǻUٕx!p%E>]Jέ{r?l*ciyt: 8$)xV,d=+dwKĵ=8"0U.j*Ojw|UO@3jLP `m@ /$\s+J/ḟLS9-Yz*Ha"ߌ&`#yd;&n`x: +4̈*G)[^[v UН׾N~&ѵ8ʟ!'7ByI=emQj5O5l_cբϿl;l3RqEjڽ$ d;]Rgp{@t.77J,b[DZM+ؖǗVU[.JΈ! Ϧ1yL6VQL)gѠј^ȭEg^N`$ $QErWO=]1'aƜ2ፌLEm&0ʀ*>!*\wxhޙE+s;6A{# kШLJ@wji&\4-q5Zid2ѷ<6D;pۯG!Ѥӝ^ xϜ;Dž"ֻFA ai+r9t  G H=Frs&1)xi:,'ZxqtS nd춹ƲJ~ct]k4!ճIX^Ut]Vӊ 2LdbkR;wMGiIL;x hxrUEhؓRX?0RO:g`"obcjLj:3&K +bںklk$ ;*|}r<#Kf+BƝM̵$%M8iUY}Px+情ؐ|7npѯkq~_KKmr"nJ2g? b^ȽSqN,RC(d1 V!4PwE7p8:j˅?#|W +xsưkDzX"٧bF#bF_:=~3E,N\]5J2rY %?X/WO< KM_;a/w~/݄&k|syEHI Cm1 r;%DF3ko!'/?jA(!q}g-J$1nHZڜ'Ml AT|tS5_~ +/8[TOwٗ`H@g@4%?V QDQܪzd.#>+P לغ"z~p)m9*Ը_uݪZ峨)tKkgπE7u VNȵA)Z3qzؾT qa2ID7B3ʥL įk+1_ hυϢb[<)F1;s[{)5r*N` {[7Vpt㬩vP$*;cQr5QܚhQ3; ]7i +%Վ.k;ybfkpuVըb-wM?V3넹|Jb!4}${[Rba+;%:),M]0[6UU9!4 +.3ͅ@u{w K +z|~zX y + RNr{6ac&dȆ5!_ȁ727Kg0?gpV>aQ?>XyÞN=Y%|e; Jy{eqB> LZl8[U~r FU?OPU)2cl4w֯/-sN752%G祌70X+*/H||CX%eQ̣T6!nL<#TS.NS\N5YtJ圙\1h`MɌZ 0^8%oN,,#ks+hM* ',( {͔7` 8#qam4be~o"3dͿoB%3Ƚv`fGeB W* ߴ( -.V{6N@tEepnڗ"oU+Vޭ2+^ŞOҬsoG+R^c .z:84Esܞ,ɴLG-QcQyQR% Zrc5E(r7I 3Rkv(aTMeenIe=Q{dHb.B{ýFC;E{F@"KaPTW .pGn@oZJbI=_wSɼG?!lT%7ba99='*ZP.l|%FnzIG3PX_i7_7LJ[7Fqk541YTk?gᮍn E,NZ8ϵxORhoWf4.aZZDb봢FAFiFӀIAEc;=;5yKQMo2һs2ZoCۂb8VjSġ.:c+b&$*g>*m>'N=v~MA/: +E"߮K&8z" ?vEPI l k%^}$T}k:"+.<5=j{Nev#j>ܛɭ soS9,J6 dl35 l<\Sf1w/-utzM +D%R.^8N[6ITDwK-Ɛn bNKm6a9yAͪ䡒ZS-px#dz%QcҬA0Ab?g0" 'L- [vK[:|0)f$r2 +ӑ9 +3d-|RpEhwQ.atTK.7RdkF}VqZScnbhḡ%-w^k~mq:OH%5ttiH!v!?Edx#: XT[+$IhCl X|,A#XT!Rv2Dc[`5x +!-UomYHP #lH>): zaߨ)aW`h./oD;10G 2J)k +%Oxeɧt2SIגsiFO6WEs#iM=!D!O vvѷ.yr:lLPtSGWe+\ +SXǸn3|D# b #ab +ӡLe :,!s FerOUY/^|(t'B|2w4! \9c#h|g-pI=g`Ե݋ /yGtK5dlYY{F4Ŏak3]5梙$&;K |&@sCͬgg hS=oE&[|&##_ R6`c ~?DI%~W3~Brbfz,YʛicJMpWXfj׷Z])3JŌ1]{r-?ZwqD+ly +IĜ"onRNd/‘9nGԣtaY)uMw֯yGA q -H/w:#QO~&Qoɇ;zSC@VT~}ګ|Cվ &oYoʢR.ܑ}Sr{p1zx>R|)Z9P7~y)YٮT( p_pBYl^䞾#BDJ^Wk3WpԧJQK9 +!bj~L.vB=y:=h4 _G]}!w{64#D30Kp?eMi뭰&:/K*#qw׷Nsd)8 % $BupkQ?eeC>Dg +ӓ޸5i=LU !̛WuJ%;O~"Ėޘȍ]mC&b^LJ;MmGBo`?M1yy`bj3poز4z*~.e=_Wi 9 {)ֿ۟v&RR18>F f/ƄŰԀU,T t}~7ڑSF\4,xq2Y: +6.?VvNե'yǾ'hUƞelbؾ֥Y|;(J;A5:|W9~2s.jN4B$;*$>&P +af`8N'ưV-r-5/~\xil{&3q)n^#޵:S IJ,C}NTlM7/SsJ3#(5PS+!7ãڝ&jɏ 1iw](<~u22ȧq=dp1a\8 Ilj/ovNLe"D +/KVJ.qyv>dKf;{a?+(J($$dZrn 3jmZ>#U$ja7#m3a9'e&%+o'&RRBRooeu}@|JA dI1)eWsnaغ:t%,]FOw6(PZ1LWH[\"VzaLTz/o)f=FKB_')L$"9njk.acN;A'Pm!@Ϻ',",C++FE[YTIke&gj1j^Fln;?KSņi.~؜.q|aa"6{)\x-][X dܦh2 /*Gs _?s 6!SjyW|>O_#jcnѠ3V +>pʘ򫌦FgYuIpE,^+# k(E$*RF])h:5gGv8>Or^qa\6E^(God:vRG[A@ qurñR!.;oXw#|GAT{HTf|^W T.3?'mM`sz04fW6wfK[yRB4.ۺ7gڼٝLJB n(2bB Zn '[v{/ɓ,B~322cBU=A S˒lU3!)49}^LȌ$\sTRe  =ǚZ_iDxC^i}u9qaOb`Medd pU 0 ]QU9;~&( &~v!4ɪ$ppr}J P[EY}ZP5b&-HHOrh6^pS=d>1>s >)D\P?6}UWc3_9r-SAްq)ELSSԱ |n#gցYxWd%P 3p'J/Xm t:=iEŖ^'Z|FWZC^Nc1Qx%8Ek:DO$^k8V(b7U&_#9(/vHtvNBCmp_ T|( UFtSyMXڕ~EAB9W*]F8@@Ew U iR>,hG_PcS/0% slQT )ܝ4UڤO @/ 5XCX9RO%doXn^|dhؚ l,sw1_򫹸KR#_J6-[~L^IبCNZxWMu S?[ܴ^ WD麐B<5"|m(UX%wH|mې_e <KJTrVC,sIG8uAϓNsLseH"{C%BTMuڇ5ZEp}94zm:jҟ(:tL&s#m 8:Ϸ\y6n=`1#V=*/fQIP<˟mkqa&91K5mY> \G'xech0}Ɛ0$ mYtUZq>6FSW֊SSp^Uq$އ;ZWs=FAJ=ېɄY 6Mu3L;J3H51_rZb*΄@ܳh^6>Yū6YA\ | ;`5-uӁ~&n+%އ]9k9ĖELk e\{& +Xd6/nNj;Tsw͎ʴ;; +OԀGٿ?{:jߧ} ‰Mŭ$@|?z5_ ȔWoGGJ`V7kfݠg]A7פ}Nf Y#!Y%JX}eԆkRbM™d'wbaTYRJL/c|fp(eQ8~mS|-8ڑ?%n6Mmџ?^<3I;1R9NNlC^|!V=v1B Op}kasU4F|Va#K}5В9}ӃQ=CY CȌr 2,7Tp__TdEZ-/iW3lEQn(DOڇ::W~頋̀i߾D(ģMr H,wW*6zo0n/&D@'bg6LYE#ej-+&4`|h}P@ 5QQp鬙y5DYWZX!Orr31Dk#jaza R4ˣ G2 oW]{V) y,3 bHJT`+>>Tٿ\*?0 +V 5 rѠ(oՈUk~UnVѭ1}F32[88]c4p"-#Z/W%X_ ~s/]jY/A 2ǽbcWnb]lu{yNpe tiy+5`gP$u"lvY;Je:O;tP}  TEn˦%Fz4A2.ř1/wV2ըCgo@5|zG뜫 )w_3;P҃zNW;E$t펐pSIY ^Bz +OUbIki +>< Uhoʒ'څp\K&1&2ojFс۶mc۶m۶m۶m۶StBt'=2žE͵k-gzSEtq^_e5Հ3z% r#m"EYYBFXWZU>HM-u<&e>#3 bZb?+jEL]H;y5^֞ ݣiblpoot%Y+z(vu}R &E+Jf0xUeEVct| 4ֳ^#YbU +9+Bq| +X@Aҟ\/# +JmVԪg3 TWS3,KGb D@ YP8EM~dmI˵Ȍ@p< _d` L'Zۛ;D™6v BϪ??ū5:֜༕@2 ɮ폤%m\lYs4OO$w2N#j$dr?Y+tqci[ +"^ul-ˉ!yhp/saRIdxp٥er1ROd%_Ă `G)^П%o6ۨB_{gsy~9B~=$%GPISRw(MPXt\'\Xv +M$ӜgҗM^Te@>c%^l +&blD B|D S\v*ͬ#< ~Ϡ]h'%f  'x1R\זwzX[B~t؎L3:TkE(NWfm)H" )kel$"2*݌gA/@HLY9XHbp(&`_VH%lXyƿǁEx劯 w(ZzV(.?;E)}|i G]N 0<szvous@ 2&S5GIlA@sx$ LXX!PM2PxٙeC!Z4p H..dI(j&'J S?ZvvsMT [-lvyY/]:2\֝`T*m0+3\ޛ9oi}q8};ޯDx?quDÙԷZm+@Q,Ɨ 0v{ +Fp̿Fpk+K LkzCWpg0Zp̦h@ %s +[4j> !AmmsYi+ .$;Ml|8儥8dϪosO"*PPV;* {)ʃ*t(K+W .K6ti00]0|/)V_B};'TO4E/tN4|Gj堚@xdԏʳH^߆?=󜣰W<+O},G$3S1J j8W $`BXdqePu<dd Yowlp`{VI mo1G%KJUf =kLsx^TaF]]y :y~!$t5^3Mz7!% wWB?w|<=b|CG2Op &"ۥ%L` A)a^uhɘ*?6 \VvHЊ5tv*;GAMX:$Qc/*M t=zϺ.*,E&y.c3YݤFinPnJB򾵁c*T~EێZ oH (-i}ob䝣 o5x.'Xh瘲!gj< {0OdynܠuMb@ VM +r$󇗀$]Rj7{I|M&-:-nH%!J@TtONav];)nʼ Ɲ+7w*⋹~e,+3-Mn.hְLFyhPBa=r2dYΒo +ښ9er[T,nz5T"hFskDYS\?7 r=AЀrN8/_:hW +ju'8(_6ο23 aQ/)L&XlQ +bnVkgL.A[l*gM9c.J3Dx@{Hw+,vJlh2`{gE[;ioʋ,U>ZzP_3s\s\MzC0Q rve괗g6JSsˈᱜp&~'+9ϴw`JV=@D2x*(FPm`ޤzR$iU= Z2v>q*X5{?ԡX2ǟ4~&;:;đ)mNtM`wB푲 ̥<=lM0&d+(ć;4@XfͶSWs=<YXbXUu b1#|~%B_*6y +rdV)bO5L YӜcuߑ Nclyk~12 -AktQ\ET b33’RSպ j[!Ŝ?W#9{}>IJT*Clwf{xg V'C$c&"рvܐY)J2Keq*$2}>Uxօ2=h%_ zdM>N RA={sg_ng6vP!,B,YÈJXږoIqLZt V\F,{JQsD /לg82Gp_6,0ު܃` ^mpu^~,0%}{!vl6+7z鄩dhq@Ю3[u$Fۇż,[ь*QjvSMf\hSS`h Aw$i +xq̀l+BBkC+'׾ܥ͈f#%RZiQvف$~MI㽥͕}W#`V.lx *) TݤU'ϦA 5) fI{'ggg\\n#*u6@Fw ,c;26Aq٪}?8# ј^UhYl,.Տ!-u&& +"7:./iãvZnyqnvs]JuWV礔Z o${|lZyՅqI}YR 0㨊xkoFW4tP 9- Gz ًt0]f0% S[Lѧߤo_nbulme>f܊sT5v`QG;#OjfuuO~ n]jj'y'dp6칽M +]3 "uM%\<@وǥ<@͒-Z#9KLJuq|QtBS=z`L=n"Iq2ކ@:5YQHxjl]7tSĮ{\u7fs-Tb9ܢL]h\cq""[ѤEHG/9){ +mmұwa&- ˝DntOIqDq%",RˡaS×V8D\yf0bڥoL4BuZJ +9{i )|* +Ȍܨ ?2?P9D_4c)jN50ZT!L|,p +lT4 +ȳЀ|Wɤ=o*a39̫٠=95Hr0ch + j兴/ XD"ş8IK?rkiRMd(s2U_{kswl&EǏK#RF"_T >[JZYL󭗁Fyp`1€;,hWt#bͅ< {F֣(es2{lıJMtWx Aqo;wJ_(R65nK,kH&Hؗfx@&sʴ(2XD;; =r0(Fl,iN/֍BaBX@kښ[ +?8خW0o1fX0 DYO1L'CWu6aYI|ؐSb>8քz9"y|5g^ny]I,T FV8W'c5rw2rRX %s2Ns3"B:bsw;I +?. p*ehˮ*yk'K8zn>H'BuG 3K[Fhn.޼^US8Wl& +lg`'ciUaB<'r88MpΫ$ӃT2֐,k~A4wTok͟ š >0x#sg&9lۥFBXW"@; FaPʀ_Ge=-HLЊϐ#֫07\=0=v:iFPxn!'Ne-v-?UtȧN{&92  , Nޗs$~ p*ܒYZjިɣfDtpQ mfu/ȡzh![&%Zg,=&QK5OPQGFTKRB6anYíieM][wՁ%4Ocpl Na -EaA1"X}fD.qмYt! +^1y&gbFb; MooVRb,^h,p\OP )ӾZpvG@NzܑCCo0XD? )YӤAq=xԚb48J?#G$.PdwG!J#/Z;BGAoy虓&'dӡ6~Gǫazz0EcvQ?72.߽%41!TmχSE]fzPm#Ht`9\=II4uZ}[/Gp1Q7ܧ8q=΅ 7!& FAccZH\~=${G в̈Β{FH?T{a,RЦEV,*1|IC4~v,yO8dyEa-e%sk>s:EE*E%xy{_Z}~B~XoE yn,4ÿuhX ᾡTsٮ+h#X3{Bru5_<,/4Q.*CGZ)Zv1_7vF1w/aVՑ5_ $qҳZ\0>vfktief&>fyw64ٲ:;&ڞ:ۮv16yj.gl0{ٹZQG^Uh/Ne1@녘t]SRY(`6Ͻq`,?wlR f0jH9nG&sA?\= KI"08߽GG&;o +Z ہ;'h|`)r[f`~$݉zUbYpO9/z7+M#ѫfQv13PrXKFE頑72 +L>YJ!kSjl?0r~GaF: +.;G򏶗eu3Q8g¾lkK*{_Qc%V: FP:6VRIJT(8R1(/ka.c_qWIHmU`aȐP'W%O\ ̓4L(#uƌ#E.. |= +p/ ɞ* -: ۦJF+,Zn]<VfSX%pW.# :zgb^2c (jv3NO7k%P+%4H2Ts͙-vZ24Z<$~rjyT,XnxC[!1Z^> SsUCnVQ00099G>mW Vɾt $Z*;f=Hz($,Z:PgcD19>8mʸ-Vi*;\a t&nܐUqlVҖ^"I*5X$|hWƒ(+dŇsb4R!]`mߩ\'-Zoo t=k}Нo„d&>uo򁉓%_02Stro?3]9ig_ΔB6U +?4ӭ3a1=OyOyXJON?b~Q +OA44=_ZrAl"gEqg i۱=1dL=D04b;v$5$ 4 VLg{=;נxi%~eKΚGk +IxPb]dk~;U˹!X,nټރu>&cIHԵrXiJ/wgJϜ-I#6|/7G9y3Y Vs4!?>.lCk&p>h,_**1?HtEy-9w+9XU2?O8k(6f! t(=Hg@ܙ +%Q`F\&cAgEaDJ`0t ++Y&bP +}[3Tث%4u|O(U8L8KzDXkF.wL;kɄer &5$:f"*ldgٻ]w R}O{mp6jg*@\-# @n`x̖(&xMu<^/Ee8֒f,p{~) <Fz;Dh'AUr[]A˞MAOm[V;_BJ +Tƕ9cٗqo/ ץt,R_B:` {[tv^zc"9MT:m˽ H9~@m//?v +tvy +1l)WfFxfqdO#/`5jq>E +~§d2."]gbOˏH*-Ϳ&qaʟJTh' oTV|Y+ںHLFVlSKݍ=H]VV\b (a%\ +4o-R&EʕuBW+N +ɪ# '^e]DǪ΅$4R`t?(z,) XiHV$8~Pbn5L.\^,-l95b,$Yo盤6XL {h+&CɀK<>( ^9nWS#PyT*a_F*j \t^uOXu/WtW޶C}:FX1: l. μG|Z6E, +!&b^ 1Q:qi n1`,OsnQaXB=J(ʼn 8HCri:ooSz:fw{u$uw5 SBW7Bg h8ԟsй?֌[ [F{G/Gd ׶TZ!^w\Vx['؃q0SWPn9|y"UY=5ۭ0!Q!$эag8OQ(c.#R3lֳڮycq#1 Ÿ8LHqf0/X\LTX[.񩎳{b !Y +\rؗV5n? q{}ڝhB"HLB"f#E"iϒ +駶jgr*rCL x !Lapƾ3gWG4"-aH-|H^;M+z{UDo^W$pnN Z-LW՜: qh{$-Xz(5>̲NMw{EZֹhLy7StQ5Mwm0BRs3BmPO"F*9A#2U4[+$% qn;qp ]mU=Z;cc/g4I3}k>̅ VP~,ˊқJQ:%O7+< 'Lp4DLB@;!9"cZ$0A)}Qft:/mnTR0Qw,&P%99gۏm] +\%WOF:ѰK_q6 >WIARᢣe~qy18d_1(VStDŽ ě,jspќД53L.!|Y<XZU(]a(ZQ/ves%fFfNl4>͡ɪi_AN`rzTaQR}tҭ6llk9#,`l*~tfT6`'/'g÷2[g oA܃H?;8TAKJ7 DIO1Wⶖ'5Jjz`>Gn-v*SxDvjE^D.E_=;R;p "6%0Mj(-҃=.o_d!Vvpw@ OeBcNI|ed\VK KFKDc?YYI@Jsɝ̏TږpjmPMa}r>& 3cv,gf肕Ȁreo5+PBO(#}2}]NS]q~[)W}\K(K6CśRsVׯ u]nEHPJ_n-_Җ(Q6ͻm( Q1-MXQG_eD"h{W%@~1eí-H42:dlbϤGˌqVZG՛J<-sz +&P>oQU|qٔΡR@w{wi%{aPlAsHvUL\K$g5ݵFI;Uj#H,fEr$&Æ4\Y8<^M(E剉>ju\ *A;buNٛ< vXW6{m+f=nxMK e +㤁E05CO;#cU +d0+"+}bUTϾ"ǭV'b{xM'h{<0 b8gWf?'-a[R6O>u虑P?0կTb2ꈑ 6-T*L!y2,7 +3((y{2P"?Ƿ4~B:;HIajqIG25A4/mºi藌>T?뚀"F>"W/J3(1 l ɷ~5T4pbn|Zg, pĽ1p'PufS;SÀY73 StҢiJqwJ3 DEQ(D7 sz}%rH.Pqfz]owqkҖ0;Zob;$cLzFa *VBCm 8-ߑ®ڈ_4$^0hĻ]Qnգ__>=DUij a@ay`1Hjjl1JkWd7 EF$5L ŸLo|!8T8nKQ)*Eb+gBle/'D7]" X)b'll eg:+o_o)ʳ+8{b! _S6Q&Y +PFHw-<욠Z(|}v$)Kc[jգŞ P{eD$jOgUW7SILaiίT*Ѹ2٬A֫{JzP7:|Ӭ:Ӎ+ܤmح_W>4 +a~~; hEw?h6UP}ծoA,}PeU.H2#ZY4Kiofw[%[㇙^){j 5!+ܪ#~urGEV^E- 9 +1:$ u]c]j=H!:}6-,ŧ(^: ZP7 qVO@f%vNUz/e$GN\~D"U>rZy2! +if,izs%/:|TteVFv[tLms2u7EK-ߺ,$`X)l^{E@KD|x'yϖu"blU\U<{`X  W6No Ћdstnde"of={JHAz#i80q.}xlR):]*Raw H"-#[!i!e\ "aR %Ηk4a\,;[lMҽq)v5q1oHo +RJoP=4.V53AOAhiDA=VR_eR-:R2ʟUZ?.({;[PRȗ^H7M7˥8JW_!.J%Kfm!B$^}Tgm=1 SK+k]VVX%l +A4)}^k&~IRF{6:ο!nb+Jq5u)Jy$צX2CrəR~ b&x]8lK߹ӕ`19@j5Wb@JQ%!'xٮ@e~J3yW,m*thsKpmȝY\yX֊eώol†ٍzpVZJos _k$?I-&(dlHGdm;\NH{U1nKu4AmΦ߰IJO0A(pYYt oBv5WU4|{k%:S]9$0Ґ,8u e eBߎJ#<4;Stօ:G!Jع&x?mR3]sLJER#KR97zpuBfFG1"ٹWPS⛦79#arqI n+PbF:-̇* zt{ҢSݦ&Z8SJ,YPxC'D"(~"&7 gwW5r5ZZX:H۵#> {|*hvCnWzvMF}UK!迅h͵g& KBef01I./HNѩGRIΖ_iAa50.ZJ9 DgG lx[MLFZF+\!!w|hwcȸ9;03_cO7r}B { ς5";6"KW(2ex[B; 1J>6Xv!̜5SK:t4$,G_PD) /&rlu!0UnmDu.")-y臊zw9PӻNYj&5=hxD27K;УڭISZƐ:„+ 8KjsOD^Q}J4IF{K2GV}/Ci 3` &VM`JB΋Gn(Ɩ2,];W9It*ÉՋ tU jmAt Ktz[HFiIԲ>/iTBow jW1fCۅ͍skDD8$yDP6Y$욟.9̉%i'W +*4t(8iueurD+o˨=p +xfԻkM*5!,d5Np3=@Me,ڈ^)C1tSr#+}[ң`9gG'~c2l@vGvYZ_GhwT4P4cb (9K7Z'g*!LhhN>/LU.E;j9iǪؚwV`r9c9#k֜?uSIKJT$x.xg?#9K:E9%yh2ݏx{&'ikMO{Zq%l@?cYu=]Z_STfi%Sfy%r +k'eTE3DIŦsg*/ +|;[4[2xZԀᄶgp8.ܿJ}]kAZ3@/dEv#QR:U[Ml*Y,8~JV.292v6\Rj˛qI_ChsltmOl۶m۶m۶m9I&mުS]72cx_pԓ`Ψ'ެD墖ȸ)oMaէbۂ_$4|%bE'FȠS*Y.v;s(I3yZh~d]aVRel[tI'x9\U)0A oq~"uX@=GCi_yoJÌhz*L !_'~Nk|6h?_2{S ᗉP+|*Q4zjY:JE?J-orRRi8ݣPqcY#>"}4ws' !j]1۬[1:IDZP\bveDjk6̱Ӆ%݇z/xon#TSS 2UK*P `Lܸ |ȍ8J$.Xn@mbs(P=DV͚|ɟ^v4,eW[W^:t>4QKՆ] ~]وVպf8Ev￳` +tsFEbQ(ռzy3`2Qxn["ͽcCI#SPYd>F5{ {TI/?sk\At +w#&Lk6~hbi n9^ٴ +yKM4=~ 0<3N/sz&hl{JYߎnmn[74уylĸ=p%Q`,h@1Bme -V0h!Ŭi{^iZ xS+m__HyoZclNG7\7tC4j^nC5ɋ6RENA6XNB :<Ǜ%?R?X $DBb]zxWyi>vipfi %Q(iE+2~dž(ԗ"=gyĊiY@tqضz*~>kr$){0>̡+? r~kL>e&r& + m~MDS*UG c]OT%?{ #C2<&PL8pBv +B][xJGPCPhߐ(L^ {?&+I#@dwUM$1k*.gw,w-V;F!8`i_w\f2>Yq _K]>S   *"y =G[@6IcW_k3ڛ}M(x'qԻV}g}AcAm +3LW*^(r*n%޸*ы~݅.+yq +JnhAQ$zVQUӯ㌤x5b=g'XNXnAb'1>+)xa^arRՙntwn8gO6'M"re[?چ'{TOd6'l۰җIR;Ϭ}c<鞒C4$Ta'=Yf 2>EBzĉ4Sj\4 -Ǒd4˫ ֥0!XfLoO^{rcMAqB-m6 !ђK ŰZ]LEHٗ낇)),r{v>2I’Uqte%WJ4+!䃡HX;{cvSYL!=EQ ނ>~Yf|s<$B?eD)ME{s VNwgD˷NER@>Xqk`X;̱@鯙WRDE(5CSs%\ jE)3lBpo ,w +^(1 VLJ}ԽQvN~]q*i͘SےEaެjH©Z?1>)ƿq-@9a݉m}-ZRk^Jc,tyʺ| h + /X2㌡C<QPDk4YV'SDR8 +١^x88djU|匁X!D# W"&]\ve\䟷d!F2NCz(d?X(6!kS9:p[ CǪ_sYҮEiN#`-6=!6(`83Rm &2-K^dgxI HؼdZ%ɲѲr{ʯɐK _^!6[#˒*UAgp. ZOn;x1U4$<ʡ tj\̩[KHS?zVL78/Jv8sz2\gK:_|0W'M-)!\ZΟ90vݳw[n8@:a>ŕEX#ra&8TjԪ`gtH"&dYS(|"-l3Q@#(ǣB(ԟ[q9HsOBNeZi?~ -r+!-fͱLACi׀Q;Ye`TY<*@+RrYЈsй2ᷫ>BXP N/NukB}vZ7ZZiŇ@NÑ%weT1-*Tcv8a#tx2\z)&W0r1 *+t|79k d )ZoИ}Uyk@sN7ڌ0A30Ws+i?FwZvL"j8:U+ KgC28jךt(3(QW-fq_srPi_ȃ*`c"$8| tQ' +w5V FȜ61ĮdD +TwUV9NרtE7:)J8)3ʇFD`b )]q(ul d,*,+ƴLq1Dfc]x b^A{)?Ebš*?IĎhNR,EwF&yoEqUWdgc׺[f=خL@1Of<7u4oK{9`ĉpݫG!c+t`NoV CVKHqJqi~@)DA^*خyQܱ9o!6$-ۅ}IG1 .Dr lCtgHMAB],Be='":jK-5­YުUs`UW\Hܮ( tRcXlhK V3ݨMjR,0,N853.khT=- h$uR\s҅0rpUCDY'E"XW#l*&olpG9#޼S .Ytt2%1 [8h#٨G[4sE;ԟ']}몘Ӿ[zvf3"λ [HáLPo+P]tC3UUdmPFE28S?T{)C6bhpAaZߺ)G/l4ƾrE4ODZ?'Xз9qYƯlrC<8hs;";=l}PSH|Xj(duA5Kk BG+Bض7VD q{w  |ѻVb%y5m +d<-ܳݛppV\RySָ|˯#N\:a]Erjc&>wzRrI5o[c{ǏBv5j:0XC-;- ߾kT- KN]k-^e\b*ˏ ||L6/`EQu|sc:1iߓz6v^G],j+RuUZqp)([Nru1aʻO`Ј6hrC=cl<RS0u+ȏ>d<fÕirpPvzJN=m}"&'eDcVSU +PyƧ4H0 0jUmCǚ׸{y% 1&9ÔZQ1`UaFggv㌼9{\7_0TEBumR&,Ӯ0m% qCKu00n>4u<.&LbbNoR6 qOASu:AY&MZ 3/ +dwiCӻ!s^9 +r&t3uͦfɹ3)?yaOB,s梩Ѓ1R9j<~`.O%|t3 +X!++\ /ky{L#όzPm);$[m,4MQ[nMob@>X!UaAAz"/.fX~" +hD4Xܘq -R>U1į9qVam TP!A/Y͎CSJ#(Z]1=):˂F + +BX)u 4n)Q3DTi Ř025dM86w^oFKc* T_5Zϊ3 ^(dy"TfYefk" 5IFA_[(L ӿ}ܯ\L/ef%]KHZ3ی$ufNVc:MՆSҩ6|ţ*75i`G'|{R1$ 8v"UytȬ Vg+Vt ϶]pD̠MhkmЩy0UOh-U WiY#YFdF(\zì,3Bl9iΈUVOWf~[UϕV2Bdf>45Jk'txjS˒"Ixv~o7[Qk9t@a+@ 0 uTadϭ5CָB5H6BzX"4K睪ӶR]ZHm<%Ko +9u4+ss9rXh6vUljDqЕ=ӈ.!fۿedܭk_N>pJKdISM tVOKbRXkJSmLW^ͪr2HGfiQe%fZyMsN5i t{Ӯ ȎrW؁ĻrZW(XWrrx_8R$6!y爯{mONoPiiX1\k"0) lx0& "ݒo_g riƐU?Vhp]TO\+7\+ϙ xy")ڒEj?"RC_,D3tͥ6}1^Va3-[zj#ww 93 uc[mH5:V cg]6A[@O_eS(R3vԺg$չnG4R# =wR橶6V&H?(2Tk9nknʝ[]3$Ǖ_F\h>9Ԭ7&X1JJezx~ MPc?bwfW(5{$0X/6%$B6SE^H̢E1ZL7aL \IUva\.}ah!\:W<6A +" qwo"CAμ *>G_/Zb~ ~ C+l(,?귙XfOS\}.. ԁ\le;[R +B&Og$zM45W2Db?cih H< {O1Sd ѯP]45;MJU-;m^zg 2Fq\L޻&3C81>UPES 7P"H2RAAOXXi$C"ѽKN-ͷ`jsW3jiT_6cπ)4OEBc JeY}'3X/!'z" R`S W;;a֠?UMSww[~Q`Qy**īeAyDyC *vQLOQZ0 +X[7lKKpM.QҎY ~pvؽ mWk|Gg/,-up_F@Lp'!Vm%G1z=aފ,*XaYШaӗq;0ل!'&eh/oPgu5t2p]RmZ=!=פF3s81PFIQܨ=)fט/5:1֗rNip54d8ko"H`FMk|k¢7` +G#bvSW`* qp7K 1]=|DgUFM-tvrk. =MلoAsYlЫRt*za5K z՟ۯwͱ⾊Y  O pj))ɚ KPx.ġ:x>6FRחpf9E_JʿP`Sݲh5ll' .2l[{km!J,㼝.a/z +\]2O4eJ `Ul?aKyZUNI{'mrн.jo#݀9$6w&_l=Z-O$e\]^6D5uL3RƠcr?&u0kֳwXS)V'; 9RT[6 }p/qj +;j! +f1SQ/Զ4fPXةʼn<*t $ m_2)@l`i쀺O'm^#hPAF"GT|"d#HUڸ<0^ˆFIvMeNzn9t2K3Y }$?/_F}2pXlv;Wg$!h^2BŏKdzy:~s{#?<.}\jdCvTk.trheWV㕙V/ /EC[o/f4B.-B+ ~n6=Y,Mw?!WI5έ_ +3&\lEX +%nNa!l[l}1 06yo$lɹ)DH`ٓ1Fk>Am +iINܯ_}ӕ7eƥjOIG07C{o'rZANT]ڴӨ8|г- F ,)S 8I[!A]cuAԣ*>8N+L}퇠}ˌ"jڃ0 PT-{} շgb i׿6g^؝4u^~yw= +n؝o񃬑##V(+Dlet1`ʼn +ef[za:ZG89NQ VlЯMV$ +Sz9$f8u":zP0,MjJnCt+E~!a;R8`T]7QsG+蒕B^dFw,qG"Hb;B㕢R*g<,1eLJ>}iT ;%F)_gz՟²~5ۼ/?S('%Bd989=Mߏz~!tW1ky\IwgbKXS\l1f+ڱ䭩m> IOl&9P[Ax[,2ritѰ?+E bL& ztGO$PcӸ) *Z ޱ1`cuo, ֳ1u]9sk-Z3G]U~*fy =ƕIS6att**+X0eEZ9H6CYgH'+鰦݄ؒL+y]& #10K)qHKQw1gj/'e4v$ `DA=H`ÑS=Md.H9 X%UR.kWǯ`yxgnQ_ң5)Q6:vn -@E}W,dD퉘M]qMKeuY0~>Jss-9nTF%wB=:oʳ \LˌM>33t0>' u۞s Shطa, r6KmZ{,YSQT(g6\iBVpX@FFe{io$-ZDhZ- m:xq$0u5VxgEx7֜m"(.`ٍݞ~2#xoTU~\:}g}yHt-tX#?BO5ևhЋ - +_@U&B~R g!#tf9w`mNW.mcH(_(_aa!M?pL(R<;<@Ǻ3䊢{WkҹC8Cv"\ O 4gKelqWU ?TyC.2!!etN`Yٚls vlQjTk}6,=$#l}LS4Z'`j tG}o:K}%m`;TOX `q"7z= +GX;MvGZ0Nvz&U/wiRmqk:/'˰K}G-BHZ n/Y`/j= +awQPnlQq,YRR2#J:^'VzG [g K96YRP14MlI:ț YD>FZhF"m^+=/<feQ-f_rց,RgI_X""|>1'+wMRb,9d\{chu[ujBj0LֵMktdݚ(}* GY)g_ 4~~+.vRe%c\ f +Kn,I(6#A1&Z= ʻIs!ܰ +yI u؊Gh+?c6c 6pvruX"jJx!ts+322m6JyzӠMaBPu;CgfPސZx^ehA pݟǁ~Gex^kMl3=Ob,9+8c?rVYA .[b~p!3p-h13hX۴Vvq1?u5mۅ`AK# +ݣ`lŦanfz=O}\ݵt&u[5F[ҢOlOa\s[R\p?bbRv& P ZM= +谮". P&'u&[4/$ zOWA=WJH϶/i"d@]-e1\Jyn{Q5>MUzlIZ8unc7_ rV& R0<;Ua\w{#r ?As^l`@ +AF{>hKtiٍP ,sxsGJ)Fܐ3 2L \ gFd.R82 >=#b0tWW [hR_Fð1_ FQ걋{ ӟX HSj?X{9Q.K[yבBӾG+Sx`ܻC8'J;j脜׾6Sѵ󝜔+GhG deМ$so~Sշ&tL)`B%YNNS,X_ {{`5`h-1#V3)ga+#9p xžRM|ײN`|9A=/~H Y9gu>#Gd,>-FE zⅡT-*ԑ 4^q"tCdPw#ղGFIQq%XbYŶh-EqWf +\Ǐ8t7O>Β3zO^\uٿKuNס^ ѰF`4Mp#@/46ZErb6|keD6=p/ ',]]7l?_|%9 *:$Fo)Z SdI'.XQQ=wk4ŲKJh/(8A7@d o|LI*> # SH`oCܠyzYS%m]`ƛ5JGKx[͞0ר*'`UawwuZ7,],scbv1hVi PGBW!@6B𢡄\G<,dg4M#DwH0MPxWJdpCHRk܏1ޞfW +%3 m +нCovNzu+ӅNR#t+؛mǑT<-@m`^%ƈ +y]D'@8#EF*. ׃BxE-7Ko?j]^K]WbD|8K#$)-%C!%TGl9CJrr`]O1˦wZs낸gިroi_m,0Qףb#w?h">v ,~/C *@y~z3Qw z}@DQhĚؗgrY; jqC nn'Yvr\37!K$KeK;@{GT_Dk!$d{RcF3*]ëWU<`pht d60iwƞ1'<\j~waEhE$2W٤Ks=d|ŒT##P*Cߪ4/īz~PFnU8ag@=;削vwgTN H+eE!;$,|s4DŽc d8;oz{7W)r GAc/U^|u Ӧo8aXovvߡ`m'7pL +2fA_6KәcU_-BxN!T\0ob@9y˄^if +mPd)6oӈmj,XʘM\N=ЁC?_}F?`UZUmnt˥{եmh"0۱ b\=DcN\ֹj`OH`ӿ(Vheu?H%m?6|t+\cHY gOKs{ִMЎYIh4ʂ:3EyB|<ᥴ ++jFȹ^{UI~df +¹ecVhLhgB gH/ZRJV" Trz +I6^\-ֱ5wJdvQpQNXS~>>Rքw9/i"ͨ;JsPrܶ"C ,L]_RI&{cv6~i/Oe/B7p)Ys82٨ilv_&Gtn!C jtQmA1ʐv/}/?tAQZ弸RծÖ=Ǻ#9q`6G'ЉM +^v] W4VkQV)C.BXXc y}2^OqT?٪gTfk*n1>5 +%PP?no_Sۗ} +ix@]2< In9GԺR6 #EYwO="lt7&tfV<&T~FQ4;*+2A`,7A*빡jP2 +$+>gB헹bH ϶ $?'`+yDB /p7[,MVEʽԄ`{ rS W+ak*Vo.>RɺEW;{8Ƴ& VVR[qgGGMU/O@[>JBieP#$>$W?V˟1/O>`( 8шRBH<-/CPh )cF3}Ġ3}[8+RK13}|g$ `6\]k;].FTJu?GG0QҮ ֥96|O˓u ӱMMFʸ@Oǀ~6#!I'TZ5gZ>vV-vE|R(ڐb0d)q jA4!D')^Ry\(B9-;TVej9hg,hz3TNoo M'|(.YVY.[ &|?J$R n ?` X}x(L [o^"( Q$̞Cv;"w0[w7z^@dv-t_[6R&b>3MM7#xU]}Fc7Ħ֦%%})X-1q:kl"VC[_b"e}/" ߦS6{S5yRMd^EEy} F b/PƏi2m']_{B5@Y/oMe;|Rl2/9ݓ ?~%S}T~}2 طy4ob/c<^^]l ` 9XQoX*(o_Fx gTR>k.T.52^##O|iQc<*R C'& Bjb& ᢫KzfA'7Z +? qOFb?(#郸ijs#%&=5tkA&Y@nN I0ޭ>έfoR('5d$*+DV*E٣:U6AYK!K?Nel7}Llj%'Ŷ90e\?K_Q_<,Eެ#EU֘WS$3h`5&$I5GsS>eG2(Md2{*C\g={ +XbNt%K,pER+ߒIeyJe#D\f2:t=K,p㢊+8`TcfAX4Yߓ/CgFH)??J" 8%ez1/ڻj(]"o? V?&Ʈ<k-ƔǕDj zwBe9<VMj⹕YvΊF8d)q*d覌To kՉ(vC?EXϢWy +VȒP'}M#W(L+3 Қ`dWUymw- jKRw=^ {Q$Zӓ 9҆F&zLBdy+Gɞ^؃_QG]%3Ƭ3*NWi]G5.S?|yq] +,^pεF +֊k#dr;z1ݬh-; ӻukr+&GeE$3h!mqmBUN׹>w %TDaf +Ssgy*r|!0IUqM8>8@ O?ˎSQ^TlWe]d(+\͹qS?{j=RfK\VUh \ > H_(gJƇJ + AB}`O}meSѦ _2<K0ΜSLݨΡow |j塈O"<#uv&mR>ؘߠWG-!36aT6S[VSs4}Wz2ʚnRJj:71[ըc%Rs•BfAB.l~Y(ݔTZ=JA5Y$O#onI=2YD̏ICT Vaן‡G@IsBޚpl#6WVy3bG$ݹq}qp˲\=U+vQS;q~OڬF@vlOD)VX(XY>V)?z@uwB=6̟\cBui3lyX{˘2?%/w_|0T˟b̗t}?ҮB?eM_%Oֹ*ߋ`JYy0Zv*n^bK.ְ͂eWdBo&i܉JO>0#J*\.RYeL7:fl<՛.ٻɴeI dܚ{ޒPo:G cWZC千(PZeY.o\PҲ@FjIFo6>7)Ldb&tնuG/ P1 #Pxޘ×mRŗ@<)үWu9\Se'@#*[|CWeP\*}MCCN}h$5/ `C>jieؐXs +si 4'nm03Byoq~:4.ԧËy/H L`*ntT;Hw1@!Rc,)r߬| {[u~~fdr?/u5-k%gn)"6f7;N0rz^7damT6t@v ThCDYKtist<9‡Ib|ţ.AߣG#}#%CYN>vtZ.u`QSF$Q!k$: /=1&EN4ژ3FܭM~fX +[GxmM+~B9^F>6- {9UuO\۫wo !c~)IYߤ4踇߆̉~GagҒoL) yW53{<Ј@Cy^{F\YiZJt`9}&GEQ{< lE:e/!{wtX^]XL0{a?i*t*/b-ְ> Bn6vjVu45 YRi^X *O?uҶD#ZxLI:[buj?g:_V4;xA@β|LL1qu[&㯼ڿ;4ߊPyM'[!R"lSVbkH U/M-GKVs +a`G:6x ma9# +[b10bF}/ +}(@tֳ7~Cyc1k218aJ77Vb_~C-PvJ `Blb: /rn{!#]{)os~*k>+l8DҦF;~VନB`7^#WE\C/'oR.#^$|gJwz#p,տC͌R[WU3$\ c21ua%GԈe~ Yfq0ۼgl[%= ro2C0WAxrm @mNYi"C%oDe19#P.ibm&q0a + $"-fhi[?m 61_kZb=)PiF&S`=XUqYkUQB'cHFt:+1=4%̙geQ^&Mw'"G7؋lM`[^J83_КZK:W{[T1OLrQrNI# 1rl~6B.8Љ: vtP?od7f H2NP63] ǣk +xp[+BO'*XF_\6Yo ˫(4n686с#ʜ2gc# b ?6ٱ_!H~#%_6CTI M-V( +YiA-ũ}XQdd$ 5Οֻa_=- uc2YOXp)_n8hmWGąr5"Y_1VŽhNF.džDlWpӘ -87!_W7mG9:^r)3xF_pTd7aRoJx puxC)neJϝ +bnUR'F 㘁`y\c@v*6|u4U0B*'ެbEVE~VPv:I'%gqkƮَC#r:pyCSh},^6Uk;J|ٳ֘Q68A䖌3FK6 M7qE̵`5K Cqn.92T"]k;w1@/T\& +9 CϿ +i9[ +Ɔ,: meˠD p'wXhcP|݋;~98:c{M TA$JݵjXD\ ?tv64>vl3W h$ c$?E΢P)b8~GrZ +%F.s'R%T{6;W].277YT04Y"% FJ8x\ Lz;N)aJGs.U@Tٚ2b|Cs1\A-ƸWg5)BwVӇ3i2VR%`S^E :@49!D¹ cQftzz$V NNd9DvRlCYp&]AqPgŧ? sU ac+vC/k|r8e5NvK wb ~2sC6{y(5Zc*Lzx  MzJ[ + n@Z,dƲCkJHNpv[I{ +;#MknV|w͏ CXaqيΉ!m[l&aeCh=ӃxOEe2'HY̼ w*-@>?  !5-~ +(gg.Ph-p +?!]2  ^|:GXPZ{hR/dd.VKsŏNV\td7 bX Zf.hV~cҏ5 pn+ Wr.LH7ZCp[L{ݗu'Qai; o_W1A=l0 +Υ\kJb%M~MA9!0HzV9[ <~?>Nc&szBR}6:&g`6JF;}d/5#6Ka(2VO'lB 6f7 ߅~G\cw3YTԸlkUl&$p76m-+cYh̥@^fMl 1'QmyA3%Nc*6%LXfZjmO١IyAسuZx9/>$tU>K'{ nA~gֿ;1%Vһܒ99׫m b`ijC2mQ3->D,CՆa+4Ne7э1w338<08s1LJTtN}^k뤏W5ȉ5XxHSŷ,(3Y:`z~SAtp:MwA #dWpU1icFMU [@ށ!U,Rr"ҝ> +''ṫOQ߫)d12~ܢ{_?ypGiٳ9w8#z5/8D13 +;WLG3y]`-,Ӛ5TJ<\;kEV>9i-&dY6i&o)Ph5 bu|k [ +Πd^˅ZU6`pWƃF{D:{u 8TV1'QQkӋhtcYܸN.h+ AۤApd4F ;0XE.z= O& +_^9ZbHXz% L{*hd6jJjނe& 'n%{t NG$6o$"J#%?I.FAhN('U^SK\n(;vBwBi@JyZ߿ha+{*Bn:g@>!$m-:.nIXU+{+9t{bd 7;;RDR/9Au0+ae !\ +!x(D :I"m@3H9?jZn e>:v;cH"lb&u9Ο_]HX,3sc~ek S;ģ^co"U|`uh-RNf=>@F}<6x`ܞ9{lWB?| +p%3(Z)=]i׍diկhF ʵf +˜6\9#6c=bthXSʨn#>P3/*>aO ַǂ (g~J̙zB}ͽs)>'8 A͒v 8=(-|1eH̽⯂R_PY L드0?flQ?~12¯Un}B{q-ǮniMJ}=NDKvƻ ϢFoC( l{(jd3 r  I)O4RG~Ƿ$lxF${M j|%$aJ0?7tGk+$ch;ռ1RFl)7NVΠ24lM+gWjLuo(o)-^Fg8e)g?,%V=-T`R8Sgׅ*F"֓tEAd qħXK<~[Tk[+ӴeɟQ]%++f* "cy>rE|Ǹq $j3KQNҮ$ ϻ)]iU bK\/`\19A轸GZiBr LU`fK55Ѩj23[is +!Qԓ.X5*oXk7HNT)¶T_ MuS+B$W7WkVs~S278[<7z`|F.Mfk^sGmѭPņQv?a 62,tUƥs s4q ƪ$B3aKrRK'5hl "<;.A%Mrhcb&uiw'mF}e\]q1mYHnTj])h+:j//?L,֪G=ZqXvd!vI9|c, +\=}!"up!Ws] "ޮrT?{TU(ZV/uGlx:NO<%yHj7& ̚&!ZG(>隙N*ESߏ̢˴X ݫ&=6֒{fAݵO^vsHX0Q Qc|ޤtx)s)<]ԧG.?[>ZS,vf<軭J<W[8ݛB+1y-R{3Mj@k_uճQo/.,6`ˀ@ڂ4)T* `N/s16 ȣJ2*Sڬʭdj2jTJ` ̯J(@rA{w +N_YD.vjErxs!l0N[Dyo]^jv v +LdBC~ke"0c^djWF }L_h+M>XH i3?΍L6q&{-M$ffgs-kBB\dxR)(K,d`1G~XR7zKj +:`evvf/YÅ dYfL=m,H"RH*Z3WJ, LΑF<Io%s4#MHb)V4+-ɥB&Q7SREPr퉉FmM>O:֮ө-꺿>cה띢nLG\(b}|-CS+g=pԔie%mZeLkJuмP QMfpf& +U=ݺcg^}G' {96hd9Vm߆#~;SF]0;OQjnHJxk޻n\5Snr`?V?tv!~ӗ "P9sȏ鸅LJk>1X:ow\0 "dOY?lӒ(`Ѳm۶m۶mUl۶m۶m~8?22"{_[mKYPgbI=~(  &`hBꞿ +&|lXd,&*y)r.Nix^@߲i@ddLRbS,ɗ7LΐQ-;k_Lf6>=RV,SrPoC"HsKK' +펚2V,4a_Ωi%PѲvm"a`fō7),B4G(SK$HVdrw@3S@h*ͳPc<ͫE:k.gs/[a~4[w|Scdysx&$_ i:8-G<qv,> ylj'25 ?F,JN^!3Y%2B`2\h+c՚j)HF*EUH*`M$N+ @( /Tlˮ^(6| 0 +o?PY YWQ05 ȑ<"2e'SWj$0̏(EsbA4.4hDLU MB H2 WMu}>ۅ}|;pjgW +k1cU.a +< Ǩ։M1cg脛&A-qE`GA}ĨgRyRì ?g[i2׆0Ba">^ {=`%^' +bNQ P!ѱ U#aeI ۬ב-i)V|~B w2Q·Vۼduߪ)48`X We7197HW/ [z oVK0nf/mߜN4%UCFjXIQEԕU6+l+Ln g#uI:xI4@a3z +écoYt-#;^ QTb ܂QGklT5]aAMm3E񜌚!er'y tICD>nkL(sҮ#8:5HK3]l&(n@Ѹx-&!m"+`6}H.Hر_ +Ο>E?]y4g>lc5:>ɴ>@QUU% i3"k]N. +a<$eOr Hh k)aA3`q1) 7~:ߒʛ K_kN_HHg0V5bQ0+0~IޯV چ1SO+=6K?%K %Vu)ީ< ҝ +ddCwdY4kcVޠuQ@ YA"rzάmu*4@0`3O?@}<V tGIHU*3uy~3zk@g993OVT(`{lB\LghZhOjRM" ~3/w5-ivt׽x,ȗ59¦^;!O ( M"+L~$[Co䠋ǿJQG?/󨀰IQN|mמKA45*Ap|ĵiIo*83deٺ +W DĘcԒ`Fbna48$:y)MGuZ9}E( @=hpO"M78LV܈&c@xVw}4O/՞nYڏK3sl (1˹+X$L6-ur1^4$݀on&8O5w (AWCg+;]dma7M|ΏɊ簁 ?deȨHu +]GILpѣTn1(^6^ @a ۟n *P>խU&uZCXY/9z.y~tiE}Lx)GŅ'nd6G廧Nͽ漏U z x%n]zq=pWT PQ&@3q}# +y԰px@q/Loㅏ 1U6sл\;J ++9 B|t/}u*էE) O=u&0I~3i1Z_wffLc5rZ⠘/n&0Ѓ*ZkCTq֬– Uv!L4MF R>8^qƺ>ıy@j?ۅA02h& nPU\_<ጢaz1U '$2.Y90xCk9a *|E/܉O*f8fH,Eej_ +ꈙ)M8?*OP 81J"SG{͹@ytNҲYc +4D푑}az;) +=g#Sƅ^mG(՝VN$L2YSRίe)ZJ9,x%~ +1`g6 m#s|[enk-WA \(s7*fbX0 ` o$0oY=:@.8f/"C}߇c˲ QJCcRdP.w4,|`(s)es\\i%IU R=t{ïےjOX Sj.f3?G;5YG[0qCt$1[$-xТ `mU!6[ 5RB"whP,2 +ⅸwh?!li'wygoƁ!Mo): 7X fЌd=Frq\sJCۋ0Pu@#i@~>Z,Efs{GbvVZ H]ΙH$8 +6O@*~+BcjJ8"dBT@u#Z'0 JalaTx<ܨr[u,]IKHVаQܶ0  Hȩ\߾lNT)Ί-vc~%g(Yɝ1ue~"թD,7P|'0߅: MT~eRIp,F.;;AuZ?7b& cDye>9~եfJhWmVLPfWW_qŽ"לinMu纫mk[4-pC̨a<~cJ~"5dJ$F}N(a +"l- xR۱d~KjߞT| nj7ks>r=5 +;! =}Wu5%JL #eE]ZSՀ-0F~l8{}m.7>Xϖ1k uq+W"~DgTp@nO_ @}1-`)?qŒu6PAr7>x.'+rڌ1.Up0LPj4s-a|q" ze8+ "1+|ى]kK? +ϊi ͑.h +COJ\"#w_V=U1o !ưuO7Pxw ids N(>u 36 +D|p?Uۂ7R>}4#7gUKbL2F]t#}<<^Cj*퀽"4Q%@K;k1B r[eۃSq [=ddi[!v~qSG6}%lu&DkQdXbUy*@#%ABͱ^X(uJNÜT@?t%h'"r#mBd_Yjg6)qȹ=߅^jEkUf +} LȻṪ_\~d|_1ɴ6I=SKԒݱ#tbSK@!̱sI"52r'A8?kB{qA2i'"\𨨅倖ci^HZHԑil\ْ>go YRK^!Jloig[u@!(cR~\^yWV<Od +=.C`I:νF0*y}"Gu$!UžFӾ;{xb$/*m~"c#mj0.オr4:P#!@}*0вݴnSj4y"܋z͎kHYm` R9V?Ӎa8ҠrZ '^jp< +=ӃH5Ti/*J~LΓWeOOזߣn3ǏVR†sۣGnN+I848ǐA,>xzvZhYrBp6PHiXKc*!OΪ(_$G~Yf=)gCA":Qz\_=w@[VDs cO%U\=`*EQwЬVFb ys첱g{rX2XSh2>kdg>rDN>sV$z= k"b?x' cIBn}/pj#e*YH2˻ԝ" apMHbE "MWzt-eFfWv72D7}sr衪b#1hΠQ]cY7O-rIF̂d.QfEŰUsU &8p!3 AaPXHyqhGg`?EL.\Mrz8v}T`! P>ÉRϑhٷƧbU‰-M-ap^L _U–)`Ka,6O6tź7*JVOQ/[bӯw$u+YћѰx88%ktI^vL:6Dm۞]* +)~X|% aaï=;L˧HبE޽-V?lnXt1a% +!MfW^'KUi*訢˞,rgxΰaR C.{');ߒ Pb]H|䱾36Ӈ]LY0Ipc`Дх2<>A LFI혳h+~k#]3L~2v &"%ЅMftUꭡ@ +֨#ST O&ޒQu+HNT\6&+94kՆ#sydG;*>'B4Q>XffE]CSME1]@]z3 +$Z?U͉QLjMZP Dܲ7cpEm{h"2{)&U :.|*^QID(l4/\zьYqY,/ڭnv zR_ezeNJzD 1Zz..z"l53~veptvEv80ʲj!Nf( j6R'79#,oǭipjq18L(P=%]G1G:!ӏ 0M3GIsCSN@*̉8-@KGoV; kH"M7uMv9H!#!dot^-.:%4NCkuLaCX* N?rPH.-Whb_Q:ĶyI&gKoܒ89[1z+@.}xq.4 +ȟ[a//L$"<m!ǹ!\w'fýv !xc#2\tM >Ĉr}mL߾/M_T.}O(\K@D~]FM9O8[5+_; 8XP. `OcV|ү_ΝjpD +`SB΃3 UG:&Z?y(R$Ic8PT.w; +~lߤzﺘX5;V$8D`/+F+ DxY6\us܆ߍ}/8 r\}D(cmlQmCslRP3[8+#~A&~|ȹAZLiJX{)<]_c +ӡ txNk^=fuQr;EN G]2M'jq)Kiwm=ѧ"Ə軈/G5oGDwwr#ȤLfns=FUC9&Ai΢~;NAfێXWk4?S;`bE~EI'R>Gd [G@Y}&A놔/\w? +\2hF$pVE Un=d;kMeX1ˋ )e6-uR9V +3?Om;_`&C^I/RZCoo$*iTCn R?Q@#B(,&ss7C .t8[uR5_`J 7h%r6q&p ͍"Fw /[[4\,1J#3c*dkjU[K嫅k&;3@ύ6/kr9"Pui6ʍngQng2ϛ)A5hJ;|Wӎ_A'Bԉ)E21urAmIF$Ŧӭ*E+Q[nC[ɼ^A^Ϝ]vGM\<u3OkROZu\bI Ҏd\'2R| jehgmEtc[u5Lhs S*\L_E"rI9j5màOuQZ΍y%ﭟ^_`u҈"V> e%;I' {>ҷhτlȳ!ǐ J;KkI݊s΍bZt6vWZHġLUQ"I_ 7EvJq!F&pc4pɜ=Qu\}/fCF-01fyM~0[5C Ÿ;L&xZgђsqIM=ܣEoОi{)  J/YכRHw +>cM L{ryƸHnO~e][XϸAF# S‰f +ݾ(9pvͻ<6`CTs1+ CK"q<_$o2'lI!@UZq;Gaa/ܧyܝEk2Gs&?w7/ &͞sXv$Ya9Zƕu +WXϲ]  ´Rb`X3L)Uh <٠7h2Zr\@<W;o9*6s( (hsac~2!] +fYDm +It!,Yc؁x &4#]\ y[1:^3$hb͔έl@ȅ+8b67֠-P?1G<+zӘHRzjYɁqhTa8] +c, + 6gydw9M1D_͜6}2w_@fgLiǤG.@oR4\/f +ǫ0,wT +XN(;&$Ҵ8TB'7`=C΋F)Bq{fQ憞o29ʁY)Ө]P|vaf%2ҷHb~vKB:m|d%QW'5cc%윖L J4@Ng@ـȋtM).^nxNa&D鋁=r , Lz8 k*"^a nFդO][3hSs82Ubܼ)a<j}lNy*k1y_dU ;)=tzGB"ޙXr ~ +~|:T·g* }MpylDBb1wٮL~vSOCx<WBOM tuGU'_~m~¿$0JcWQ }UE]'-Y_GƑo;RQǜ812[vFJR]aRx@~{c8VD@"l;tp2ITJC5(|~rF-q4k-*ʾ%Gc,k nӞjKVY + +iGe}-ĆeYB>{.u4eL!xWzo$jwToqulT]m=[&ɀ#Y$?\J8vm!C=萟Z*_nD-rjt+D&ىA-]́Exv júE:Wɕ*d"79ee$_|JKe|5CAĶ.9p 8豛MiPoŁC]"sgSϖ`9K' 6!?C<*˵7S7E][Fopgl`\_b f|#@3&{DE-֥sI(,>XtMXZBdR6Ъ9Mpt+|ٓsBIB+V˙99TB*b)e$(ALhk~ !d.9@<Q䀙?sFW +3`Co+ɖ4GN#N~>B|DJQ~ҎjH9*]!=hufZ'@;7Wf3WgcLqcN s4ξ\j.hMl0=:xЙ{}˅]*2;}q5X?df,0d?Wdc=y\k[~g^Y>]r®[\81T|ִ#0n,jlXisZ'Ѥ]6Z#Y9Or8rQR @*X!]cࣼoT5KF2 bvפt| Η+A@ 0*nO4,UVU1G1^t\t4?[?:I}z խL))k>ۭfFqHPCN0>` I1w'AӃc۷rbF) +#o{dD0T- + +8ϩ0aߵw, +ɹ5D}<2[6?~ +JEj -W=оsd{3uAIecj|( _Ϊ[-e+|gKQls+tv;_d4i bnHz~K MJ5oON2쿏\-Jg6 +4E jv|4Sٜ'[a`X1$NT:|e?jdCgNr!)N~+T(HݵE(/̈-ٙ͜Pޱ<le+P&hv`.8z.S-QBjH \՞ +8*ЀxXy,0i-QR!kȖՊ5KR'dZO {}ZЌRYMʚtߟcytJ}Ӓgf"F!SWPl}B|NR2 #VH 3WMHamfZ9r:Z +P ,b2H ]aAzZ5] 3xr8Gw-M |l3:^ހsBMA $_6)#.uDV|9pN0CxKE?9C7Z`)Y׼W2C]6vn@"5ߞ^FL ,yjMNX.'mѹ3>G &h" 'r>u2:&բMDQ +ʁN4bVY64!?@D=r+AIJ4BN0]*Vpc\<308 +c\* +ti/ 8}E7x>< vpa$ckǍ.tdҨG=˦M TBQD({u"Ztw| b~uLxzek]6ljYH̔Il9ز'B*飷.?T9+߳Hڝđ%T '$&6f:̜8Ǵ%,B|Be iWa0O vP]dH:Mb5^S#aOmf5;hBHFwje7r$rXD0NFD\j:}*Wx?gg2(˨7^( i2 +41C $|YrJXYaL7H+]_g[YہKKiTeF i<5͛v{M8@Ԅpw4U^Z3kl/,*Lcr=ѓ<@e8GΏ)\=(HR̕O ΁PrU4Q<cw͘&>ӊW_I: Chjԇ(];oy+=VXg'/]CۗX!~b*̜i7]s/N57d=` <0@3fiMC e\k [cDzC7&[6SdQH9c( +}Wܺ|:jY@F><*A.`vX9{ }6"G]TQ~Yj{1`ukTtt,5ɟ^jϫ]FѯIg!JE(2gnI6M`Y |89_{#Snm7CƕZukTkb6|Ja>&_'E#Va7Ko)3w8_HWX. ˢs"9UNl +N'r crZ>==E/F yEw-pC(C)u:#s{݉Vw& ]TMU [61߽DDZV\E|u1:psXlI]HѥRtm0 +xR뜲][:yL:2d`,9/g{|ź '_-Sk.4ذ YD# W)g J 0C +Vi-gE +5HLI#_]o26*zE]h*cGYS-=rRn[q{Z] X*{';̫OGy۸,07/D7V;*5a##v#({BBT욾ղPz[M3^mȂB u+n;ضaozօF@1y5Ӣt ޞ +eu@;MfH}Pax它ul>"5@`X)L/ށ|hY}r3U +  +)4N?F xw{tE/p}~RTf3˂J + +BP[!sD {:J.;NUrx 2˾%FG)8Lp_&iA d8ǒ$݄ÇY$B0sI3mGλ~Oڝ'B[ia"'N>N}YQFRT*tˍm\-FŰMȌ5h^଀&g/#cZv53dΏR2?:r߄ [D 00O,"4xH?o/ZP;kv?.8;g@y4@([u[Aĭ&8rZ 5fH!HKmlM$GgF)B΄?hDtWxƦfIW& +-:)4%}q^JGSgedt1j<̏B| + +`X8:2/2@jw0'`bBwIGʿO̻-+2Tw_36Ք"VTe'+i D 15PO>$"i:|LjMf/R`2j:Llbݞz#q!_TZCcQ{;5`sSM5]kT0XzCblD)(@&~}9Oiwѩ:Uo u:[ғk~FU;هkρysI@"] #FEJNb!Z6 + +F1OƬhfm#QLO۴:;oNbP\mH7F&lP%eq<4CCGe$dJ:%~8u Òi賲7tNuR5#24noɌV\dERZ[[mDtgq? nJ1-<}D(秳Ncf*xG֎I`?"f-{ @j s޶4c4z"SobadX +5ew'i <蘚$A nA14-}P{uwA-H{߀n L6(!L Tщ/&B*Tib\&߮tIcH-&D7t16Bbvdf|,9ELXe6wU*,%FnsWL.) Jv3>_ +L*;}i⃙KGTwkI/tvW^`ou߰h.,hmK՜e}|<ʟiNB2kU6wig t»dz LZ&LEd7f4Ola{j`i<\gj.y,E3>gl zCʼ$v++Pual$د#D<9kȬ7H\rY Lm_dz=e@0kf_LDǟ5pif[:8(L?#:D>BїgpA&//\Ygfq᧤TA6yXcenC>?VS¬Nss5`URԛugZJ'Vu@}= aѕ+M"]g>ze~tě'xF@uA(Ln۶m۶m۶mӞm۶ĽoYU=Y0zOOX`Nx29wQp`{m v%W7j׊p}qg=T qHKbs !5DZBHT`f%T\ .y]ewó+ؖ.@x۵os.u7c0$'5$J0 8/`IA) |U7eju1`So(y͝=*mg&'cj !ѾPSK m<^Z߮hM_=0hP;:l= $7!ImGw F=9"jk<2h3 -jQ̰sDhAw|ZI{ҙ{[^-h;іc w_{h iPb.8,]x۲m+"_~CÌbIBٚAli[43nrrDD@]Q|hYM9`j# ?Db[l1^_d?X߆A~$%] Fc*!0-;D&#I&PiLѣw`*6G'zeEsY>UȔů\jPk`bSzI'x:>}=G68˳ c\(YᲣMvIlQ,U3 yesԂ.a` غq1$ y$E!%_-g`yOڢr9y%4ZD]̫.k NV`[G&[Jp= ,qRE]ktq04t&'l4 x)eŭx!TS3VUSq[c`E>J.v)}oK=< Ԑ={M{@,K^< M~ w{m"v`[OZv~)F\v0)&8n&(]J!ϫa9Pr(2ֿhkGU 7_Z5@{_KvZc2RnɎodvJ) ޾飯? &VgG ʾv_:dS'OfM| Aȟ~Nwf㶼u.;{htWPJ:|Js@@/:&0k: o\mWèHiO~Ҿ>E#UXsd*F8wƦUhR~pzqZTА$ͧD%izBE~ʈhٲr9mż߄Ic,qJxkvbɇlvKV=_u? Nno}΀jM*B K5ݶCtW }zFxyǹf=ܒ\+ږ˛*'Ԩf&53 @A:bۦm|BCPd"!_hDa)٭SfDf)1 w~Q5S9ңB!#5A"`Mpۜ\!e!x% ~v{S UNpO,@0[l̡TXmB%8((!\ARafƤd9bv[sgpS+&y 4FcpNhDʮ: 8}qōq-kޜc6z(ڶcgp7V.Fr?S;<,)EhoU=T S0k/9+VnL"|pꩨ|k7Vs4pU8ϤU|8/=(jJ>\=v=l.EiJNũfs;5=qŴ3/R^Uք4J(K$q7X(B)Վ _O yy@Wʎ/Qs5A>X#ԚyYZiBxϤOl]}QAsՕz8EgGQzաpjwGf$i2G$T-NkIsr`?ɜ:5Jf"7]U@A P͝@:LF2Eu#SM{ Ճ9@YڜJ6._9(nС8^G6},)ѡIz宗s1ex\}|*uO#0'z3fa6e"Nχt1 lq4gP8/uV,GvsV'W١1" SXοl: GT2wUbDC/W2Z(>cж1`R+G@lte ;ϓV9̅7rg1W|?Dt}nBxs]3g:(eQ&C}kT>k>f (_*-!GD? +h8 fi1CB՟FeQBoi445:O&ШA>.VRK&ڿ` Z9m'z%!tÂߑ`fW㿍=K\E LmwA\Bh%-e&KLU] R$GIF:vM/,1rF}{mv撑2 쇁3fw%)W ="A잊.$hs(P!*&8tIȞYH )(kٷ~~/%' C- +&SV(^ϩ7MF0ͷ;ǽY'Sl^qBDa82 +SB@IWl8fWCS>MpBǻsS[gNחbĽlqҾk׵7c{q\aJL7Z"+";7؈V=c>}xyqmSŃ{^U|;^Z(5DUi!БJ{|?c9>y,Iƃu_ug5sppŁ*|MxH9hmnp[^j$-y؃-HLBIt k6notOH3h\2fAr5,}΀9gI;BI=gd]Th2o! +\–8 ~n@SBR'P?ٝă"}#;KsϢǷpL]QheZ6c#봿6:glY9{,BH ;9y=O󜚸,&A~ـ Ű>-&RwCM`2v &L`Si"9J[n*]ZrՀÚXNU0X!9c +@NV:tϒ{ު暍 W)W1(Gڍ2ǿsdgغVOerN]Xp NoFGTe_ /¿r!Y?QĦ͠SDcibG؆I"p}F(k=]VciDg0e=0@h菁ve㬖渍Wb+p"pkI Y!F.+ Gq~H"K.j-d3!JiaTI0M@T5ٴ&J#7[L60xī@m;aj3D14c}G?!  aDs12ٻmf~Y#l@(]A:D=b8s~/u] `C@=]wkl=vK@c#*EXAdD鞤52:ܧ(3!--i֙^_Ɋ6}zr1 S|0c'Y7_^9DD3YL +R<  0eWzLzSpW7+KWϘ^<>*̭Fzm)ZD[1&a=Cb'|,u;߰FWF,TQ̾&# ŜyD*,d$Ӱe\T`u@pyW>!I,-%U-w,֗LD:J%cށazVVXhxB2 %\ +nnj~sʐ8(ev,S6& ^籙sd(H!W]o:sKӦ0l_=|zgƄ7@*~n]8o!~Gݒ"V *m;C'sA+XZHQaF?B)Ef6Xa?ᵡ|O9levISj^:ԁgZ缺Ha&%2z|5^aJ]0S5xùSS~k+Bh:ɓ$!v!FZ:y^ڽIa6 +g9Q5h2ea O'. -SI@9 j ,ӫ;t>|I:q}4dc! 6yY`jW0Ќ%čRB=!Tn 5J_.ŲE%^Go^r+){!왲] _hAIm; dzm&v`,f-_{X}khM-P$YC|_% o 스OFkx gDVV׬Jr9{'c”:!8f||n鸽dBԚh!s!(U{{>GO)(['&.91T1[-F*7y +bt͏ -(r?ˏB?$vpR`ڪK\c(tA ;Zq)c"$##P>'dur"_/U2[cƍx xvڅW)Vkqa=4:.m}JpZG)> &Z]r't!RgKj,suFC|{24մ>e}5^]Q@ d_0V{:Eɟ~yTY 2̺Z_N;rXJߴ;%,zI7o0wְ<2^h.TVΣTWb>ݚ:rã8 + |ZKVhE.;gb,*qcVB-p60c(DvsoB1ZED`)Kڋ61C/e?X-s0K0ZGL:LDÄC͎Kp S\;y+! P(55;4<FkƘ=?+b[e a\@/Y4٭ %, )}w2\Д}SɁ*>(JB={eYo|h0 q]7g_\beg3pz/oS:ǙSU΀[X@yM<(!fiFŚ0u55T.ӈacPEuxlbݩzu?'!tH6x>լx`7׳s; e\01H*vDO@b>Xfz^n'sO”B[c EDXN |ǒA<0Sq/|v ㉹rDs-Qbrg3P2cs^9[+bn=[hn?h\eﰹ/fO|AV|v+mslYUV +~bdkܞ8U8"enŽdr .1oq&֭ G^fkdjMk#VO # {^Z~00v8vj{T`AE4PfpoLb|fW; r^[jļzHDy]ScW#-)! 0OAHЂ*t$ >ϧ h(_Z"~[8&Lk圉\)ϥM 3uc@O&B:5!~ōZB+!OJxF)0yfNi6yYmzi(+$fwgWWgBdFU(I seO0VȍI=u27 8R=pSZ+4I4qsB G,WRWYASRY%.jC)\T2 ?dؕpWh)VVL;>gY *~x]m MBaT:%BwMӪhD1]Dx 7+drs!`)$Ӹ!3-5I@d7Ui`w>nA}Oaca2&R5?Շ%G!T'hru\ k E]BK(Ғ?P,êJ^'P'E8Pi +۸$Ĩ7btCe=t4l# +xd&zDd,ޔR ?ɔnӪ sv(G^JjGjY%EDKJ˦~j9| +&>>;@灲*B[ulʬ'ZѼ(WdIuQ= &-1˲ KD3)i8-׽+a iB[#Ts,Wa8vGx7)Z^Vc:WJ0v_Kzkxz%"T%Jk&@]']o5%Z:J4ԃ]"q0Qɘs^;WK1-2-"](vk|=瓅-9DhiPf4.s@QK7#fUZME}6d\\G>e9HWL+hQY}I dO=S=tNx +L>F>NR2v:Byѧl]U 4G +BHMH LA}{P}yG- og+eN*y]"V!& Yl$N0V\Fh*? \WywHJmsNlF'qZQ[>6)y|IZo֦ӊ\pctJ6-nƍQe6}cOlDXrg^U#.T`%tYNx O*Tw; +)'46?JӛG.ޅ1:c +wA}GC&Hbf5Q dLme Xhy?;V ս^ s GGJVL s~lY-zm +RS@Sz< W*{[O {lAr|ڰi/L#ldPύ)1M'YIJEˁ,D0&7GEZVnZow$@'XE-wpp6>ޣ{T%C n LFZ<]8p:yt \Շ?俣KSJ;\'E[ &g?R#_2:ج4GeL7Q֐B}{NWӮ2ϡj 5]J'|u' 34NKdiU*:T{(}Fo@U~4 BƓ +;S,C)NrCW4eƏ9te(O+7Y$XS-1S ^fHLCg}rfU<PPğjgC>Fv`)SeʻN,{}zw"uHf <-K40Z=TtËciy̱|SxHSIEu`CU0#А_Ӫ|/(6|ltf<ըG2@`\ɸi0BǰLa9p,FTzH+ <7Zm  @jxr@H@M !ͫwʗQ,<=ga2x4SlcRY삋yjЭ^ȣ3a&S:OP:ZϕV%>L}#sb=4_;\ݾdi(F~]{轹G}όoMS2{LsDS"ec(f>5YmHאD/7^͠ASI\=zT}:މ}#K֗]>uK`H5&7)/nCi3"'L`$ߖi;,s8P~0P9ޑ-ǀD7 IHm+SY͎7e`h;wm-'3LDsbCOV=ҹg)Ӣ(S 1o8M!,{w:Z +Zd?+d~rt>pc|-'zYűTAցƳмE/ +zI UmH.j&(A96Eξj`HfԘEҏ\wTHf@!6wU%`տ(SThrhA}_OU:i6(=et˺m9S0:ւSJi ka ǟfR6u±TS46dG- .c-w_ ">Z[QRG\/^ۢ4'p<N 0r5eEaU2ª8`[$` Ĵ &J8^?gͲWU}iƹ@k:k"n"Pp] u mdU]9#).DΌ$7ucF (yLBgniQɴ +FJ~dV2x\T&%zV抚u:dP +B,RUgRh\̞Ÿod3I.Dbn*׀:EdGڜyQ+ƿiymF >8iڼHĢvj)l hXW&Q"R+L>&|&ؼ{(|Xt4K}gPھ*SǤuZ#;[ [#BGOgGM *91#5iI*@$Rz#rf0-l+y3By}1_ue%Ĭ. ò^Lhi|#}:K2\0BW5TWo f %隟zt._I.u\nQ4j{\u -x`Va Z6\z(xj9-¡t{LKMzf*>z 14 6U"OXޔz.kd#C_ҁ&HLYٸ}ke?<]dDܲN7.I¿EUQ{w8G#IC Mz(w@9Ή.䉌f[G y&j +"~wDGƋct`jFdz$kf_>4挭=// mn6ћ+̌Ԡɳ+Ol*3qRvG7.HH,q[ߍΰ i,e!1:'.ӌtu֑N\ԧN3n#uQȮ&bJBj7DXbзq* NcNySɺ-N6vPwyL+U_Ͳn"KYĤ. 'V MQ6&W)uO'U<T0T0dM77Ջ}slOi]oveQ#'Sy0A.79'B7ފ.i ǝF(qD<[bR6 zJ`"i^14-o3:p<`*G_g/!h$h$B.ةI7 CV6:*kBˊ? yd`>gޖރ,[m4 |!%}ln`&AC;;怂&yZkq! {Wc0m½{\<K+b=TfKnCG$tk9k50@uam +C븃b_npʺӘD*k"E\HFJw"jtݩF"Ȼf~@}N6髈 uR&bD[Yn=XX=Thdи*hՃr2$?74]o:-?)n~p6ѻs%w]+9H2(Y>Xb&Sa +׃AAD&0i n3]qn+KRV??U*\nd솏{%QDdb( _ A>W %?(TJkOKI aSw t?Wi@D a4/_]SߊrXH~Վ?U$BL+"pNړ3b&r{hOJ[CpU%&xoNGR{ޟbӉCŽ9^S̏2yg2ߋ&=@W uC I t\M_62`2u% /r,)4_irǎZD8=0T0 ?@r@< 'Ķʈ$B@( (I# ~ &}xԗu[AoL=pt7bQtAg 9ao:{C/X@?ۓZ+;'3AᴨEsO܀ Vk0\&:t ɓUF &S{qB$!7p+XFæK[ŸD+{7'5(o>Q 9~jU 4C}#~& }r©.[2{'ǺJ :̹%OF GYHƀ{hRJm1Ǩ.<1=gE'ƓdCZOUv:ŹlSj9gOLlȧ0 ]PS6ʌqrq9R z٬5fTI o/㐭ΝT +]E5wBl^n 74A,qJyǪ?Cf@R,b,d@$Sʇ}5^vP<$:'Kƨ&Gp;-r)S{K3`I/-m_YS+Uݕ>;%rpĦ$(t;E'ye"-8@05֛jN}eյ6g𿝢Fݜ4Uέ::c0glspVd^H3cd~a긵|[IL]fv ~T|cW+ѕgw^"f-ɯTKmT̙ Y}}wQ,K~;(\a"& +86nT4|! Uoyyُ(ێX;Nȿ1K8m@WL*pғu^=^ѱ FH #ᥗ-EZOe-Rq@qi XYKrVLc5r*I2[ +YZ:a |v<$-FE}f5J?*:FuPbC0lOyO~Z@Kx kSl!=ݛyB*8''DtPWMI E9,e8=f(U@0Ҝj{!/ J^rN83_4Fy_݆`tg)>ߏ]a񀝚Nxb +-pžmE-" 2>bzƟƒ4a]b*`#w&`(ʤtaXhnW& +3aV4f*I9D~6;GJdmzr)TLvq}moT/7: R3ha1*P +pAXM8S3>yDpE\c=d_{ $oO"9KdhζBFm"dY3.=xtX + :o\-E CG!n&65RbYiaw2rk.eȵ:J`xBD"I'\nwUdǔ|no1:fTvӝñNcJ:a`Sf.S>N1 }мKƅ#x$xioW|2Rc^SgCR2yq-"yxX/s4^_Ԥ݁a)0k_QWZHgiѳH*(vv,S5Pg-Ijsgn#ݖMKZsٟOѻ10nk|%c+x"(d=/؈,~7tK`dWO\? +T(,M~[pqP/QfR2GD^$UҜYN'~+o3 Fku%VQ'fY!b|9׮6TTNߔ891,.7ۺEd;$6"%I~yI* `18s@4QΩ3<4g!·!xY-KՙN f(j(Ka y2f׉u D+^{n{"AwFi)-בa1龜ayҟKK\)N$(\E}1Yz|OTj~B? 4ѝCz|`w:}+L2XƦk }:ߏ^0Ia=p?:8/U ̨=ݫj IG=QP|Ƕ@߾5PƒqjbG5)y {u~Åt8 ݦGۡEG׫xnH/!c\Vko".gc[4'vVQ\2L/zoOHqk@J%^ oF~fQV74 WVPc?Ƿs`FPmLe4{.匭G:粚4!]-߳y]8=i/ 9fjBAš< ><^wNA%j 4h.~IDBkkH8/@b>⇰b$ZB%7A^V˷y!Nu_3if%TH"DϭZ=LBu|Gl b([hs*KPSx<-R%s D!RY>H+'P/9)O˥BH2od.Κv1\S{OͱLcR_&ڛ)2F޻۟aJ{h znKǮ*Tvg\0)څhʈPr: Q:[dd࿐(Dp{-`V#XÿȊ d9V=i5Kfn*4atCG?vIը=./ka @]ɗ$0>)@Q$u)W<M/H~[nzUwxwk8P\UF\k(K?@7GX9EHg:_ TW|)6'p`{bdt@[Os&XٹLKe Zv ~ÝwHZZqne1 nld+886v7l -2ڣzU IJ l0_d\*M.Nh?BAK~ u5WkyYnWk!,cnPDo3T{}Cq g=SLivGX#:!d`>퇗RH$'*%H*Q*51{TrY +AQD^Rj1hw2%1H `)Ù_Yv +#E2gկdt`g{jSQ %4 W"/{.FOLjF}fTEr,Kg6*C/FG6m@kq~:%sʣU)h/uH]q4c`U9w/qx2.`8 hLm恏R -S(Ljn:Ty:P zy%PchB1]5/ fndTi["Vj,6i 3D 9@iFw=Tܾ;(!f&=,y>5ty9}xtS^ İTG9rр xGb{ZӽEi0cZ42a"JT؄T.)ޫq8dLT;Ħ4%L;|((xC0ſp24ȁcˌbrT~&^z\0瞅K9}l2ۛBgv#ae]F5 *<)Ou$U`z ((i~SV㍌L0-W'_yd<^\VC+W/ZmF_ʯȫ6J)jFRW/]D/HR}jM$`OsmYǏ&'X_G^\Q1҆[-mY,BCwlG[tXEvn{6>K;ok1:^;iY/Wd^oBJ{- d#v2nŷ:mdɵГ\oL.N GY:_[I1INX.64C]MҒ]mp'o}=_ZS +Wg?'rJNk/v(uIX)A +4B sfm +|H~%qؤ 4-EduʗMj:pnBo{ѾOcgʄ".TMXyq4vTr;X _MG֜ddPP^A@d۬\ܡ%^W%-)͉9o."1d$ʅ>W(⇭m:M:zdq2XC2|v_A)| (4vk8.S04Xؙ  ;tɧ-wmY`I c &25CǑЗM{fi3nq[ÿޢ"Ёu@mfwC3 GSIBRAƬ##,ʛjq _$#aМQSfR:} <=*By/ PQ8Eؔ`BIGuأ"Q:8 .0զ.Ĵ?~Y؆c_ <53AZx-2""[XB* fB:K1-qC' N3uHOڋ Ar%ɳAkDRKcc0r~K[!+ Д5 YDR1:_A RyX<>cGkG{K.۞ 4R4LE? K= Kj~\v/ݑ :vw#%X3.}ӮPOi3xl,t=hcs:ѼvYe`"Q:'1H'ydBaen8a_{L0,O(HXm[M1'  mEB>+o! 8Amj%cJ/*5QIi_zo{TL;TΦ'_0 ϴFao<~iLӍ1xvLzTȳ> endobj +1883 0 obj << +/Length1 1664 +/Length2 94813 +/Length3 0 +/Length 94701 +/Filter /FlateDecode +>> +stream +xts|dݖm۶mc۶m۶m;vq;7SO=k}v:"!S050qau4451174VԷqpҷ27gg`7pW6vp8$ 1'9>#>'3'?Y!Ilm\ɄΉ L9ii M li!16qrd`72``ljnI%lLl9%6r;wa*^#[+w|#cH:[f˿l5- _<ͭijlnjOT{QH;6FV6rXoOVS2371vtge=6A'.,(Hl8)WuNƪFNf#?MNn߭1|~I/+AA[7|O6V|XY_AX=Ϳw7vӷ 7?6+ >?D"V|: N/1ӉELtѷϿO?NO'})EtJ!(;>_MNV&Nə#w&w0C[}o 3?$%d:;~51w[b7oWۙ[f7^ 0, X +[dmmkkJO:߾v6m %Se.osbnoݸKǿrw4wȿ|u2s0{>w<\ᎆi׿Iw@<;ÿ.=Cg8L>K&'!꒭!WEZfSZfN&q<6uoCE(1>Go!th U!1Ҟ^ i$-R)xӗ'D[bkL)ޝ͟?7?UU%4NWXX$JSő rE|N҅Ҍ]{Bkء/Ӯ_ #!IvO^[%c~T]^\7jq`.031e=)p.~ҎU~(vܡGУD0#MGIXkb_&3"&М.wBUͭ:Ll3 d^%q1+B}jPT+}e}9?/ۗG F [܏v +">4Ⱦ^!!On>!Ybjl2(Ԯf׿˯BgDGum9sC֤*y׻Z$-؍wK\HZ_!oG-2N&jZ$mlj-t/Gӆ hf/(461jlBh/ ],A\gwAo=B5/,OyA<wرDX^6h…&ؤy0DNMJUX +7+)/}+4*#"(WĥkTcw-BGv$&مnK~]dԯrzq-O/X pfb@JҎ:&&ANwc]"f>"xkJ>7 TM"/ AhŭD?:|IѶd, snjR" @& dgT'c{vYT4ySo +g?dیFQGކ]\dZ>0F ȑ` ;5N7L``оH]dޑ&z B%_|_ֵԤ-'0Q6:[K9PqTuG"(p= tH$EfnzTm^KkѴd8/1L5T^vuZND0Hi \OXzI%b&ݾ +9 uFs& V\1˾Pǂ_g I)u$Mey\|O!KnVξf@F~tO^ȔIHEbuH?#P{jNbF,| +FHCB1cQjLXU*s5d +!頚FafKɆd*)2Zذ-y} M 6Q 1Hxً7+D8[2ۋWnljm!]Z ,փi,+Bl*= n;5~}_9Qd .Wx."c|X >Z3`U"e41x.[7ڊp$Tʓ,b/-\!Y3?a[jb#RLEZUpf ؗV!1G(pR8LJԯ@_ `sx#nx|oX,[?FTvY+w"vj`zV(F%n\A^3A3?씰GG6? p>͞zUF Qǡ^-a]fȖk(=(t2m-kJԦL/"}~y&䘸:&yoi%??"X :1 +c'/G|+wWÀ׈MhτvcpLruUoRZ|e_sC#62|ғrO=@kRcv N +>9U"B8c$Hn[};8uUt +GEWuY@o)YvWQ;;*AN2,]N{q:჋k% -빘 9qg#5,kIEȄ $0qC#@gSt` $F/DM:)9:*m%}_W3?ղ_T' MɃ5VUwjNm]kcƛ+Ǝ 4q &JQ(c>s%btj*^ij v jn(orR"!ԲkI?:Z$$OswE!o,{hҚk[MUUBٯ{͊j?FUKh{~ar|)P8] ߵACVQy}{ofSvjbuY~+IlI c:=v՟M\$M{\`tu޿C^BYb,W"q;j>{D ̡603HI6BLʸ{mX.m=X,!X6's\t"ȍsv.|mYa\baͰGŰ5Yϳf;Rg_ќj!<"0p$LpQHG*ħ[ia+ǻɩz_S +D:Ȉmru堖&e:rxh"5K!K& f6q !Ojiru99TsyaH[ SX<9 q/$^ Iw>Pi݊_/GȢ#%7\I ;gP}d6O \Dj'u -Ǐ2Ѩߙ`œM=F\^|f^ι/B}DŽ\_Znу,8 /V2Y&{Z [ܵgˈQ`VfYFgTEnnB&Һ_{aff=Μ` oy1m.%#zǏ +4Wc/`;kYuox` %`ia'$/M(qU1Jŏ& +r eO@aCaObz{vna3g!ZR;|{Q50RVKFS@K]]hcu,>i^:@\RΫj DHCaIKs-"W`1=/6j}|Oڗwc^* -9L?ړEVE3n\FS?iXWm[8NL+JsJVNmLr J 22W6A5+LE9x gb y r1 6 {ώ*EZ4uoprl}Cl_Ⱁ,^UJWst=p~bDj1/tTͩ[{nt2+/O;i }^3jDv[Hn`ϛ_ݫzʨ;)> -AiS> +`c{oI6XIO ."u/\#o&ܘYզm jeK?%KgMNu%J1Q~"l,P^\k."dcs3rgN]Z  P S6nբ =MJ"L\`N?7,T h=[os`FX@Ej;YeyAlMu^sWdDlKlȗ(#, +mR) ܺ5SgPS=+4 KfSba 9)|"pD#s@оSmTA~^b "FEz>)57M v"jsTU{Ws9~P4z{))=Ԅ>g ./~+Tgݎrjg񟫑On6|[5F_Q YI +kWrVk0mr3b#l[p(j̹{ f?U $_mxQr5痭٫ G,3׋d兆FŠ.IBu&`ԲbWz܌F]Oj>II55'XIT5/V^3 +*mg{cX3)F9zU`5 (w(&#e^yC?CM8RܷHp!uSW4.O4rTwY(:n˱%C~`VkbNvB,|!<>>i7oap䟰'ODޢ۩xP% eSF'uVo|©?t? &' pi@'S*K ٌ +&0ȧ8.c[-\匤v] -Փ&ƶ Q, +B h3u뽨dzoY-Ne8w9{(1YiοNx!tNe"d~X#@t5wZ =W +)A> -b@{cU%BRsSWF Q#$G}e+eڎ1EVΈ)$/]7o QW'J-קZxzF[tg w ?O |*tcDNjOc +xh-ijJ2CհwαRl˄+'<uxT,;(߹!Fe +9I%D [؝QvM(23oHfU4z g$[ h]~X?vR: 6]Wzm1F>ڣh%G\w^.XPw&^r.}?-?8Vփ; v2lmrֵ9]RˀJVSkuHdo!%GסdD"h)-WE12$[Ez2Ѻ0+J_ ms)K"zA%J0q b#j9a[[ 4w@:4it{ӬY(txm~|f[rEp߰px(B=;h^,#vRzGThoK:hrx^mfd4=b1$c ۡRU?Cewc!IHwǮ?(^G7. [,):ɮEYm$-Ӊz0 +.rGAijW o/Jc<%Må #3 Ltmja s͝y $t +3(YF6UnKY_4nqgG2eKGRԼw8dj,BUuJףU_`/nꪷsˌ=kN؞U֍?TxKaRfىy)@3lXawr.tb.2 :8v~@I_]卑% &Tߡ ).ʪ\"u`ԵeyA_I +FEI>2^>Wq_nN>2沚"C)z`tc +ߨ\J\Z?>:Vn\ )Sj;#9weY'?$H Z]m{(GQ?'D,ˡIlcװmZ+)G_2d|yu0 KT,hSm3uce* r{Rm71[ +QSSOV|׵'Tko8#2"s:y TZ*eRҘp+ 4ryu'͔~h߀IЛ%^A^j"M3.F-ūZnOPnACL Rhǟy:60dAػހrrF&N1]U0kHvRg} 6`,7V#z.w*A&¼D7Q'8*){N3l80%%2hfX>v%V @|c#?1D竨T\ =Nޑ֤SDːժUdqW$FOɕn øG U˷hUy +V×!~RC:\䷚Nc`kX6n `aW1WGIg[:(IxMra=~(k(4[w"yO8$-^mAk!-UkT,v ?c 'x9J0۽5>wϿz>s^4ޭukdzXL^4Ϡg5yL-fZQv]⋙a6`&57b.jB3q$~'3@&~~%)?K`ic%}tNv- d|XYڝ Oq]|y00q`z;0^$3bb!(~/]7< 똚yKv'=_0zuk2jIF%7onY U) %᫽Z -| 3B%vاOsZoȨ',^6B UWر-ҟVs!Jo'.+CXh 3†8 xTDf} S/ }E~ΠaC8H}H! vdePi$xpz/rz0dJ,צ>@n(u6 jMůp:G3S ++"shyjE}JHG9pZmbL&jϜs^::tb?'="R6rriMif8(?~.+Z ƴp3{TfRʏ`/,PH8q'cT[`, WsnX92\b"Fܜe&؞yJLo\|X/nn+) I<;-5#Jwg4 +Xk|hbZ@ bI1|jff?SD 3'A㌥ҏB rLB`nygga(ipOicEi㱂C" I.4j^G~7 C--&]V6uQ`j gpq#1~ZH{-=K1nepW[CF0Qi+%}IWיR +b tZ051HVp<_jBTH \ߐ fT9uô`ELXBe9$ >TAB=!JF "3KBZkc +s@-/Xzchq<ϓ1碃0= u<2I[Qo` ׊k /f)R;k oks>&ȼQzKƿJKjw{Z)=#p(M8KʭTw̻̽4=2"ƣS=/յ]jqgB,2KsrӼy,qgWZl/D\dda݇\&[Go+:_)@j)XpDni1~)gK 7!YP'r' >|-=T"/ke>rΧьJ vSVA+̝f +l+Bywad(Mo*ǮyW$>OTTJؼx~sw c2i#H5៤f 9zزIx(Ax^QW&Xmv/lAW?NX1!GӞnT=.N?n',/LN8?kTEilӐ>H-,9SmW2*@MA@azLHrgy/V~uY$uۼ;rgǭTnI+\  +UT!k@?]hE3Cb9+8eWƋj$2{K疍o$UkGgߍ=zp~Iҁ͇/8~wDXO!&C)^T~&r4YB +AR4*%M"h۽ { R5 `#73Z\]22 H 1hc+~sվד6X8$i #KogpҚxlt wk3"Ʌ .>˳IGWTQfw}*|Ë5=sqYD!S6B:8mYJR\ M GeBW-bYUk6A7>Q~$V K7MM9_X\@6AONN +K&<"Ohb@:H1#Zd~ ?`쳄AA)yb%`22.(AJ/P bH_U)bڜ6G<<V'ଖF2~cڜrڴR'Zī?گjНv_ [=wVg`4-=sO~`^lEy`J[F-k4̫ߒ +B?~q}3b[^Ʃ1;DK(:+@&Ggh % 8~3w7Q'кU"J!?)أf?հϡ~!><65峷k1t$2XOݵGqFJ lu3 2{f, +:hU UkcWhмJ0(byLmb: +_&%/Z@kdJfx ޛ[ui  I3t0ҧta2`p{^2|_nv&N?բ4Jz,u2x!$r湯<ǰ0Le I8q=,a7U-0A8J"g!O7vgmrX קNwA8sRYQEA/jklW73&9qj5:S +anr +~T'/S;NH{ 0&cj.ɿi+d53!&U4qPQ E:XaU:QAO۟X%cڬ"zt$tֳ(-R3gdYbntua;L^/'L liJnuoۿ@lh62Wë}I;Spf\7` |0}YB%8uZzBf-w#g_qe+~YeXC J"TWðk *X"" ${9f} P`,K2=EunukXR. 8W$cfdxw=+Eijk1ws暮#:hwVUԽO_qf\) P\ԑ浥թЫ +Gǯ.A?/rSS)Щta ՜BX@9~GLj *̨Xҫ)XVeT뿩v'ڝ%aՇHeaJzWedFFߞ-9b/Q %2@E}x]l ++.ӆsÏfFuM3^]{ ?[-6==uue^ZTeS?G,@i0]?}CM[`.=o7D<.sYܤQȮĴv5wR* + +-)[ukXu;p +T0v>cDS. D}ӟmHeE7br@(D)sۢS(=NդLj<1#~))xj+':S"].NB3s +/6服O # +H8ׇ'wx<V[?dr@x9KoME4*nF4}PHz[RxG322װ-8Ms] -4'x<]݃~\xEvd܌\ 6z?dj!["$$q]La{)kFnRpRRmm5MH:y@{_4Q_ y*rNyG>G{SmiI^M޽Bۘ\Ƕ1do!`tQ^4)Vm۝?r%n|PNe 3_j5سz9,RVDry%LG:?xhإe>'u~ue=P-d8GQ 8 x&x򕃜xs D %h&q}<b^%Rzd6L\IA.@FThc%EE{&}E])o]3Ez3ER6s`(ӧѸ3^AngU$c#D,YfQνtiP^[F1'YEi Klw"/0PCʁM-Xcey/n)tUU6V1 fcCCߤjQeisE;4G+]@MVޙǤTT3njM"aA pV/&][IcʅtݺX/O**Wcy 7Ms6kXf]u +1E-I 7{+s&$yuAqa[e/IS?_ +6/<R9kLNLY؝uB8NeJK5a6$3 OYMYEʹB.]F}b@O5V]; +BV>WzAzX +KO,\E:=LQ7OLaϞjeC)M  `e$cPrbYh^t>{#)n&ل&$%L@?iy9k::QH{@gX5ZKzQ?K6ސB42(' +8NO"%>q kD5ڮ+ŢyI=NlUyhiߜ%t Ѣߦ<p!N]sqjcN{Y{ <33^:#08)@wq?'_n0<֌ʢs!T)솢j sX9fB*ʱ[KxFhfǖm7s_;;s:QNL(aCXɀɩ։r jz,<}x,y GG1Jȕ[ޟJrAwM']٩Sӹ_ߊ1_g`^)b2q?^(-Ü2aKfTmLW^9풅-ԧ]@XsG bnFbmrwA;!Ov' DX + 74?-I@@Ԋi$N)ovܠzJd8uTXh az>Ї`LnUAַ˿GFK2coe^te3 nCQ?n'>Gsc" +U6Lz+Rk0|G-.L3,] ؔF4jqq%o2ޯr ܂{o~> \})zFk1rW?u )w +Kr9nZY@{\ZNhћW= |HA#q/I~|yfxbÌReO:LzL6(>z; wځ <̘_HOĕ$"Q蝹VY1ѸOź7⏲\]q ֭GiM la/jq IUXP /}C!%Bl16\1;G_r٫F~l੹M̑QH5e^8{;770Ns|Fk)K|(.,#ߡ 3$7iy< >7$:hǾܭ~8 0O; \phZs[/Rˊ 0zia^YѩNП=r\8U*B<n0ǶSH 2|r, |9Iy傎Av_2JDاj,YNkx6&.Q÷"S۽!.,9'@B)6%A$6)J!wN?U<)}^`ع>LHkUy5ytp"M5ш}L@asgVfo_Fjc׶JDRLqvlaKI&$Jv_ +(9N֎@q )Pb岞7[jP{FH^{fSG[4їr3Z"%$c4aFu/Zx4Qʬ9SNU;!وTAj$JX# LrW2.yapjms%]1_ !Vա7&9̓%ΜPKsD`k6l{ۢv{X{|Lt lBb]A4`C" )f=ߢߴQHS\s;1!UqZ7 ޳SJ_7JPx1rT_ecJt"kX Tq`-p +)OYE"-k^X3z' ~YD"H4*FH>2{m#MDk~~,}IY}r$fsm(Њq2~Gk}Wx30ڒdxzHܨv_G}14UPcqpJ`ͣ/'4 >S^iGfVzEd +iwo76'z #H}9E6RwP>9ylX@z􅄇GP|ޘ-O2=MP7ix3"{6q˱IG˃}|>Pʤj< +GP-6@g@ *-7eʂLoyL&.Q[jTFg$ӷ/X39<4M| {rxo*oF\F֋r5}(ݥo˜YvͫiGG +Wh0[CK E|HK*jzrX Taz?vc+6+֖vQɗ! ],mpZ0-^{-2Dߒge?Ҹ +& xg;&i 5=s7tEP{C9AD|[4"qjx9nO1ʇLդúO c? )iR:1nl69튾Iq6[sp]ф!`RlfyoI}t4 QUזi60uA8Y.mMզ-@lp폭H6<]C4s!Z}ExQh_'E12"K8` +HӾI)t|וPAjcgJ-c##t."sT7Dǂ|5FzS&Wae|]K-gsn[=òH^d8-#mVZa0*@ NB\w&cZBF1Pֻjk>$S{7ZD5p%Zĝ:>Rȴvok˓cO~c,ϨTs/D޵P`5Ǵxz#h|=T 4dD:s;αtwU~:C[ZLߜI/ԔEvpk XP,<ʘp9YZ>5fR0 ')'7!}xiO=W{]Y e{IHPl +Qx=UkNDt#?gQR@|}nG8Ua(7ZKg:tf;]v=@FPCB3ҜV˄[ΙyR%#]zFpǶHyVjSQkJ#9;K]i0Yo=#tK9= =eK,j !%$d<8Uq:=."Ɇ{vAd(L*;CS2B/8C+28  %'ȍ`D9 +LL)kZS( h➳PutUxâZOub_d_7*43P[U_RT%&i'T5 O`\QJejLn#nʺ!zSEVw646"27 W6-S`*`akN06 m >Yԗ]5K9삧T +{sqyYf;<S`WHO~XoM"LƳ +]|QɷiAŊz3sꍒ2ÛZ3K+@|BJWH!'R n/ +,]h(@J;g:}1,Df8Fq3R˿>P2Ȍ<_KBqX+##$SV:'c,a/!3#UNۢ|qDnS%vRJ/rwїS¬ihw.BpM ޳g KxZv/gsV)@Ņ5ƬJLn4Ћ6u~󚝥mlBh7ޙGMnt&  q'U&!:JQ0%ʅ>'vIqk"/r kEoqnjM9ԋth=I<0F^G]E`:ٞS2tbCRH&<|0F` +݈ Pt9\&K@Y`)Bm8}T +"jTyѩovM hv=kd=7ܕ{Sh; +]Siⴝ*GsͽBԓH4-s6G[GqnhLrgH9Zi0Ԓe3I8$RL%>rZM淂cxlj4tt,c)#dNRن3=PѠ{Nga6'+O Re\>T?{Į 9: U r~\lPrg/ldH,~ r!G hkj3zW +˔v+՟Y4Bc9!Shʿ-XW6ah^ tQVEb-LD)Ms։_W4ڪPH)v2s.p'B!yWw,9]LݼHt?}MCQZQdv)~U7|t36] yʪqat9`#DWF@V9䋴(vcX)B]AO*:FùF<]1qWh]EОe.[>/ϧM;O/銎䭏¯{~KƼafLKA͛!\'df ^K: JM)  \} gGSŪmu'bc['W5BuO`i;Y^MRdyop~K(Vfym.@'5}L !F=993EK!猺:kK1%d%3&& t l/&s/i"OsX|Ԯ!t|$] k`o,5_-̔ b2JFJ%00u汓C`qɩfnLmsEꏜ J_lQ޺כ +cbF@k6DI$bW9CyࢯS} +}Q$CFBt4}?I +r:Yv茍3,J%>Jn8RGdĞ>@㧀Vaqx9<&gUk;D='4&QԄU(&{fwP#z"gi)SvX_.zևi4N$8~HQ~PH#8 .4} }s~xtY'2: +6am{Y^tH\ Q_alw.CA,iOh{)-w9ž}RT|- +s +Be5F,0#G۷QLcV! ݛYfe&% _2]To Cr*'j۴K#wa›U҈3qE)᪫6`Q$dJ ۂ|^ + fiS|XQxʡ&Ё*:+-vC{ l(Nz]1P6X-DdXcb.ѩh ؕEg3!]הC:rVh# E7)[_1'پ7~2@kI֘[L%΃hDo%%- ![l&4v/DIذH`BG;?LnE|m(y{MՆaY^ vj= +dZ%r,צ=$⼛G*=RUwX<>&ιUoN,w-a-]|XM9z635lA%OlZ5 5_&U_8dGgVFxkɖ9m1{I(bWk3=!o]s~QiŬgCh>3g +ʼ=9̆-yy^ {b{-]C^MSN|&!xenCE?¨l9=)L"lFV]KFƍN ^ь;T>2: ~rIlOH/gbHѽ@jt5VeLj):\LXQ?϶J3$ !v$ l)?r +, :G&C/1^:%m5q^B)T>wH9@|*=l_Pz;ZW+t5*2JSAgm}3dM儏.@o>ܔ߹Qv~I%s'K]Y4DO[+7'IwPw ˜'BީCAY鼷Ww[Li6}ez +П Gw #dg|۲VN HKf09V`C0T*dy5[E#fl:Cf !q*q~$8V6*z/ܲ&m.æO52cRorL"#JopII%mrBA +{S|Cdw@λȞV??Zd㯥pqҁPlQx3aE0u_|`ME4tNqBnj࿳SыXP5QtymEFRuf b?;F +}cW;!reXL~*ȒId&plZv-Q +dnCP!;]V.%˭a.&׈:y4Vˆvj|s&59 qyҖS5({+ G}mIU鼾3"oAEkbZ> H +ӗv9n>u>x-V>ø2nHhwi PE,wO왾\Uę kyXIVYܒ 8åS9Si)=9BԹ#`g}"Ϯ598 X2 ü):8IIEtYW|d0sRйzwysx:OvwC'-'ר +/>ۋbth:tDHei`ߤ!/nut4]Lzx#+|5; +ם[=lre a +K5v 躣ҥQI Jgu +,UWWfieֲ_|bݏ'[L菙I5hr&"]1 +j-F'cN «be#1yws @]qskcG>g9&3z ˈvdž+6 4Ʉ[rw+ދmxuԄu;!.3Ey@ti"/^ -k4戒A6w.9n u/޹H3gyVo+%6n/,OQ>12 p,L S~ i"_ARy-ѺBkh.j".BAsbrR\DH܀m\s)F)t&'i紐(])_Bxm22d#o)/܀M'''k1#wnD2Y ȩb0Qp{cBp6WRewT] ;SP5Ŋq E]Ik)BK9Biܩ^E/TOn<1jm A]H7 (ϋA%'W +}DYΘhT֦u3Gn{J*dnTI 8&PN(Đ_=<%{?\RѷD{&f]cEBDZ +]u~?)Ay,/;:V~N?ʐgьQ: +krkeA:ܑP2v >\i*DM+ )6IZ1sF%H=ʠBIOZ?21 ^G1}DԾ&OU?b@đ0ןO8Lb 񠝒(nzZ/Oxxq4n;,/}>xiBz +WH e1^ +ޝ׵ +Mu6z ڰS]\0ܮ#xlwM}⾑Dzض儦J~Z?3ς]l]hp)tlP%x Uͷ:? 1?g!ܺ?%ISPiio>Ԓq=g SX3gR +a1ĂbFS,g-7.~ָv#)u)4|{Tp3n`Kr٨找b~wvk5Zl!Ka6urթw10LtVSX>f*͎v!#QbO8'.0S`HsptBFkyH o1pHh96b<R񨬠Ld:Nj')8fkns.41_Ni4r>X?9.ɞ"?Uպ{џ0%?Vxq^MBl_뵆w|wΡ +L)8q +N4EzXVw}зNTJ}&!ƓòJoe FcLIn슉(.P@7Pee*@2F <%,Åa4NJ7]'N57S3-r#>K1Pu=$O`*Njhy }s;mec29u|}9VY>>ֲsޓx,(8핪祻{If:&csVAi)O3Z>ADccDi<MxTsBi[GFLsl5=kZ0>8L7)|C=PJh܇m=cmCe ob7! K*JM*}R#a'-K&Q^"M azDzcn#VuBm# GIT,cPtkBwdNlZiCL +$WrTW4&!vB HX@Kk3@u +ͳNǑ-OQ'^pD d =4BoiLZ +խ) JO1i4HqzΓX"]L09r0J9Mт !$!kൗ0ۍoM0 NC\ ŵs-=䰄sUr$Ţ˜gH¹Om8BN~y F<}GB +\+д.d 04)@m?7ɯ2SҕA ]YO$. .f"jpAf1;msޤMf7!'h?%Ң>CFHv3['/C= RKUv`pw1dҠI ^j8 Rpy09yjH e]w<[@>Ić*E̮2%\Uӣ`/<}p74叒s"E!CI-VZ$9ӡ?&2?P#k,0}k@פЪG#*R+p#:;ӽʔJv%GȂ I"ԽKYY\[BvL: +O(^МFMR5#I1/Ŵ3M<ҳ%̗(Mb5,Uė_IZ֕@^Bs~/ﵷA4`H#S6D<^|,zĵ=\? DIim$g>b 1%K0ܬ qg+ OAB?%NܤK]awGCBN,2Y֎k2_iہA@!^|n'lT=d*);b&KԆZe_7g+).W컼TfuF1VE.P%6@ϋav=țs>}_}MmNe'8 p̞{ )I876B< WŤyjGB(jd[TFn30f :Шu.:)\d 0Uw)l)nŤ 3D (䠗hp93&"s? xKbXu1{ҥ]H4|͕AAzF[ߊn< pڦ [܃'fO.t:b~sf6P4vя8`#ł&2eгal0ѢLt/<9Wk,EsCҊMJr_m [o ќ )rO*Ie1 =p*V +qKN͛cmٸېA1){t,ҝk@oదb%߼o[x3yE6D[q7,ݿn2,F ^3p@Y-"l;?.Z(R F]3!C? (9&bxy0\mdֻt! As렚 tުqf :WO{JuCr̔N-"nFMAPgѪ+QC +Va[ypYh4Zӏ27Qx^2rj1J(OWP4B_)&=-2A<2 +Pu,wȲK1q"IF d{[m ތUǽ +=Ӭx̸φX +wZjRqwha9J `tqwCwo=٤qr?p@ΰ..ՙvRD#øw,?o\%ӷ".Xz䘀w +ZҫVIvp.*H¯( Q@ AaĘÉ7| 繭 lC6~^5)v<[4Ɔ'7RSN[i\MB6R 츒Kf SnC,U'q;|K䏰]/ihɟ~<Gh&ː?ܕdqfpi{Z1Pf2\?EfVLKl?բOR߀ +~#9Kkv B/L{:u=$ XœXq(䟳srɩW8˚Ү.XaUEϽv6wԱvF;þ5uS͛Pg<:I BWw>8l4Yp!9gް]E> O,"&_A1˛I"OU+%3d1kit AƠORYNvyPOXlz2I,Lt#C_zCVD;X(׸i*r5~ENuWB玏g_ܱGoHiguz.$lkƬ\w8*9N?M(R#!*}Hc-.C&+L9UB0d> s.XwӳpC?W\d{`E9^?&ys)5G2f_9ћf4V[?vIL¹@⼎rVj"قiK3| ʬ,B +{eٳ3'*d9CEi:;bBm)] a랚tapAm۶mv?mvj۶m۶ګmw0`ϼ""3+2K025h%_1 J+dflQƀ[}JZQM@r͂mbv#`BbUsdˑNfQ{Kf""Iac )V̷<,uMJk@ʔ9PjTO+(-}zqvD%ocTg) 3R`7\HF4ebhr +f*IAҼ>_p Gz;od?@<"J̒o.ufraH˯O(Y)W 01eb]5 hq?sQSZ=0Űw/c!PX:ZI q GZxufPk%e +𾴕gY2vZ\#HX}򋮖DF&mJ}+*12у:q6 +AҼuP(43of1],?%SztЄ+rakCʺfҾ9_U^@!9q[=?Փ7&OnhXI8xTbb፱"g4e_^!M S389~r2UnZv屢:i3a$ R xhv\WAU&#ҍh);+/Y N=} +twyv_W +|9|ԎFރ*jQLGTõx7W:˴Zs=a2\?289 U7|(WJIuAeuVec+@WtVC/;)V +mg!'BKMihqJ?q߶RH,=-2[S_V<Bny0Fs b𸯬M,I)3K5j+*ʱ^.$~%:?[]6_+P^‹=-פ"!oVPQ3Ob+9VQKis폣`{([-ǧG.'A]\II Q{SUv/KBK~I ct ȸ!ȥj!`IxGA+jt 80sVp7pT WУ)cVqW\v{#9jڢe D;Qjs+qLj?} +V~rTD0bt)q'.,ؤƮ_B L/jI;(3Qڸ4xpQSKNJf 8%( ,rwQ9| ZVʦbLnVOhE=%,oxIZ +– w{Di`O.핸UQiZc0вC[J>;A&ݑ| u\4=<=ba⁰*K bJ[my:LkPVix#Zr#P-}V:wb1>Mj:'yo4r gTiǜdlXxbc 2R kqjKJ&Q).'kKl˂F-ڭuG4"=H^Kv@A־Zc',7#?эϾr$#h.FS9A "C[F fX~ڈEZYO'57 ݼz}bS=Ke=W +-kK9B+wd#+Ħt'9 +bIǛH&-2qZ0<FW_'\TͶWaςZ`9]gQVV9; ߑ8'wS ׻*oUzj\PX/k*>nErM#pbZNe|/Y\Kwd3D,N}ZM'S|<$s]WSm~'܆qPޖ~>Y2sd;8yh] +Ƣe4 +#f5P3C]SCoU#aM{‰t/kpj F[mBN8ygaXD+@WXV JrPVNTCxWaw3De)q"Z\+jh%'@z\8! ]3IR'e Ag#C1-;u^*Kiߔzd.95:] MD#VKzhN5Di‡Ɋ݄\vr肀4Қ4R +\j,朵n?ˇں D=AеX]DB|nkRuesx l}2=BT-M9 6n h7AMBjʀY 6 HYu/73T i !9)PvChX$ HȝBjݜ4y٦a*U)HACP|kL :;V+ˉ{.T YQ!~͵cȂ; +=(MvSDzmux5|Q9&ð-H?fϤ(WoB󅈧^LErڇXIGܤfrmԷ@k+NP)t. C={ mH:73h#d)Sd8~P~On`m"eRfm"o\oZ5QWxM:*rMmr%t{U54R-b@W|ӊ\'5kD]`P<޺l,Ocԩv4[``t\!GxO҃~T7U(hW_oծ_)Yˏh˺IxچEfa{`޼CzcXcaѪ U%} +БCAD, b7}q]ֳtjr]9J17ڼ3 %/)FiH ur: !䯏^}k9. &6vU.X/{!m+U@n6U3w'VptEPHs)C*f1nO]VSV2˕/#:jᲄSִ[9EUj  բR_՛n`LQ?1LǴC=juc=;Yv,:;}_ExJ_{,=i~~561\ F߶ zg$Ex^g}r2?xaY` %s`Q4x8X8i1Ъ 3H")p1k +dϘ,FL_U, 䛳m!gl%8kKWIƑz/)ʐ?AZr(DOFAt{lhɐm/c1Ϛ{]mSuHTchBE(O]Mu qU[tu_MXt&44xigX#cZNS'D67i#,1d'a{4>v})j%l 9 z(Z݋0,(VEe "]2XՕr)2qE2hƪqmeTʡMT\Fr臱yf*:yޭWZ\yld< x{_FcЩQ:5eM ł_ES/Dޣ.h7cax/ݒX5oʂs{Wx{& +'ןs4e,rbKcqͮfFd% Hh_JMS]v "WCe`=yCXq?^4N''͞}lB8EJlt=eA}尵BpnDuyhqxRK[$E/:63EРiT؃]זqs!; +~@sy蛹6ca-i%+܏ؔus%LwߎRM-cm᤺Di$jM S +ug-DX;+`_Y"WW D`?L9/eY?$IêX(_q Xg*oO a0~DjF>}(WCQuM(z&fhQ\s\ Ocs/{^Y/łIÄb&cJ!( Iz;!TBD +ӪfU:ΉoqYuV{XHR#v_e؀=4 ꘞ6^jhLGIgu3n~ F1ҩ<#J2ߐӏL:Uu8R]`{#mP@ &R=ߵ* ש]LPx5cWGYpq jېђߥnniUyxf4Oa L膑U2Y*}VkqUR[VvyƗn'>Bwuz)JۣQ{U * mCI@prXNʢ%weA)ercr{@i\vT: ~`/߿sP0kJT3%򭷸YJ~B+Et*i]yk `C~w4VG[(C< +6Fzo90fH +p "Tϐu_[ O+ r=h';8x +[:Sx3fULx&){gYݜ6 ?2p-)m 1£ej)}5Tpc +EH~Qn(͐0H2V:bּW93 H; ݄+R&L Bٞ!J#u]wr SZ~`MthĊiLK ]ug [>ƶrlx G \QV=ϰ +)xN\ׁPm s6̎QpZ%+[׉ V}g1dJ%o&yxYUƵJLH$ 1+bMPMfrOwy!>#x I>gkG ūWP@Lۭ)ޑzQoxܮJT~.ʼnQ;W=/i٭UnA(YP=֥JF9lqMRy]YV솽t †+'GlB~H ?#twDR'n׹# nlE_d}jӭ7iq%Z<VuPȠI:F٦ [{?Y]b7TSg͕Q$OBA`Q,2?A^~칞uƭ[ud E$t´Xg|=:w}q#H~&.#ʃ|#F*\s,74'UH Nyݦ%'ή 7t'N(o%Wۗ ƶ ']ɺdQf[L`BƽFR_WmXi^Эpًg[RI-c#vL̕ZfO,<ֽ_k.y/ P1W.r\<PwWHr머LwҲ^3jZB IqKF?ҟL&_!ӌ1mAdxZ<Hd0ղbp v81}0ѢL oYewY0FVqvMb8 u$!zl:áH +R#q(km^䊭xfOdvN?\RSd5.svCLOîՈm[zd ؃RY>42g*^D1gCAr1ƐX%s<jWj\I'vOfxS-R̄k.wS00tU+GH/[)1kN ?:(+ %J4._ - ЁIm#^4[EoSN-$@=N6xt2Yb @01 \etlG唖L^B=n#2v +|V9ПNcz;[<, ݲqe(ǽ*Ike:3('eq3EШq/5YV{{W#bKZ/fK4Q:P +KKZf<+F+D t@I 6P7E3H\ܽ{%ֻf&oL҄R8({ڟ;QHB̦YATltd@]" 4Gٖ8qT(НDN9*ywU1EŮw"V Y,u&ȼ$W\HH,®lG:U턛Y8ы񦪔"`ɞt.S֍*\ +@ry p $X%6v줤\wRpN4#hVVtC˗e_$~Ҳ:TW+@*NYE)aU&Cf硴\]f@$HѸmXJ)0|1"QQ\ n'Jc;a~/' U/7w,SF^30 q% +b>϶O!C xILvoli9-R^{ ;zFK:dϣsm?2x=Vm>XPhp *'ušvYQ~=W X*C9 -/-wN/I\/;nKP5xNXY]j[-S/>~ٔ__mm^VvGs5|/lNG  +*Ε< Ec֤,>>J +%4| 0k{nnXGw&_ l].j̜ˊR3=ߧ|==+hq6R3^ᾩ y |f}?# X."Pmpsrg`)__A4L:pKo+T͇ +y=#l9nS|58$@mCI8@HT|4~~<&R/Ě Soฅ. %U:v,#82nm ߈]foAY7jWɶL jƌ  eǕ@MV*t:'U9 tU +.{innHP/p9,&4!FCl$*а~HLS2t"(iVjCc&;[31Nޯƻz9ҫT):ɔLej폣߂85@7ԄRW[ȹ@2(L5lMrCS-\岊q/-ސEG(>i/ >@P*;7 j-l8!fXbWhm j?=0"=kj,RĽE6(8O.I9,ѱKՠsE4Z Z}<q/G_`Jӯy5Nj$ +iBo(Ώ/'z)c} [5RLe4\rǤs*]=O\lYivK;˟jԶ-sVBÐy.lZHJ5~lB9^hKSUaSgkFM= <|G.e%ss].~B+iNy?&Lm/fǩ >w4W>@*MADjKZ5=i&Umg2H' 2`Qwxeo}: >}|PyRO]ETIbdJJ~CrQ㡢&w"}Xafq3ƏKO6/IM_JsPޓ‚Oא=NsܟSZr3Qmsƌ(y a5aDH ^|zWr, +v a4Vrjdnp)ȃH02~ qEEv8+sш:+v;=# ?frN_+}dzbfrgbRGH96'F-Uc +4m{Ur:W;)zNؔB`x.z0=`obXu]^T ) [ni.ǐn(VV0zɛ!yJpIʃȆҍ<5bnԾ_#$u(auw }@u Z>=NB=Vo]x +75ZDfI;- 5meT|eRujZv5X }"i̞篋O&P\Idbԇ̀H3H%w!YݐM̙^_:t,8]0|Fb-ZށzYShlAtVKDpx$ov5voBYҪNH$WQ#0225~@NFj`9wN31r R;Pg%H/'#W4+H}&rP^L{#i][aۜMW=:;2`o*#tTP? ||΃u.ΪųF%.'F;ڤvP9rZNN0ox!оTy895B9E(- dFtIϬ`\;pMAqwxa $XFc|u"Pes?CGq*Mk8,JE#>znLF(Z:mHPc19f%Z5t: +B01—oc`TO'J QOrRFyv7t;pSsWIКsf6`: E9bq߂%#ƒȼ;uOE`AJK, QK ֥Ox@@2&,o4mi h2k_?Y1Э,c넕ƁH ؿ+!UŲ|lnUSI#xXYG*ӄA\8CмkCo?0rNKVWEO/# )3ʄ_/_ŷ&N$cm#ئbN ixz-wݐt ``#QTd,^Ds.M3 =Sلw$`c}/@'0*ggbD3nSGi~3Z OoMTm@cHJ[V}¬U:ѷ'a C͔VI3 D[sʐ8*.dvRնra[ܾY,$\[i"9m!HHL⾬b f`K+mշp1yUHz9FU7{8 +08tsE2lZeSV.m{B@4/:Ap%l<#Qa/Ktbcz Nuz'`U!֠{e.MdoX.cK.jl=v#yjYÇ WaB8;nil#,Z>oKVpd~Bs^p5P(s= +;5&O.x (\)a+eDQLhiݔezR*ٌg o[CJ +h@Sjn.ƿػ +[Dygb8X.߱Cg#ŧHk&*Ykpq\TQ/74\xyrLk;kuNK,G}\EC<~>TQTt t)r][obzݩRPN&43aO-vDf:O]$/&NΘlLbo&ptr Ĝ7]SFt~X)Zך>%bV9=8)v- ~Лe{ MA3W;Z36zu;Ƹ lK񸞝ܽ^`vJR91c EѩIZaN쩶}3ejY{sXKۀ̅D MݕXlj Izk"WuB ,hGI \tq޿)H. qxGYb©a:;XgӚ_R4O߷9$sǞ1He\T ~W(P.- OP032~eΡ~f1v)z< ZcK6wb:+7h=9{n-q:wuP v~ZtV.|$& z샨 ab'_e#\"6jZ}ZM +,fvd[sf9M'7بʽUTi ;;-:grpZ~Gp֌͟<N Y&29(xpLwD|ǬjZu7àg%dL<&5Y#ecb7m &ҭ7-vbhY)`-~Q;78X4DamfdrO7^luX<9"VS19*Ԭ @GA<.e(SxĜ0KMzK#!bD_ mT S ;ZU:mۆIB&#\ 4 fv^.$pm K|qe48dwk:e{qyί=#&&<<'=)h$/VNf/7!.u0?L8p8inPVv2q(C7#䇞lb˶l+Z%ɝœ5ʶavNoK^=9<y׌BB_P*$sOH* 058FbYvo+HIc,k>{u]JR._ʚ4O!(Ѵsj(_[## "ksKΣ ₑ ̈́N%qYo|`0ǝiWYz}xW}:wMOr24u"_k{1yB7Փ369}", :72*=5Jշ_-oHS W_ áxCr齎ڵlnI2sִ[MN +n@/BR +-l: x\nD+5f8UߐF:c,ϝcc6R?( +k-Kyy:֏wAK3Bغ-lNEh szxIс} 3Û< $*mNWǽ$sL:#&qਦ1S0y4nZm>qxS\IBJi%nѝKeAi 7 +fcHȯUW6Z}ܣ FO oXćZ[$A`|Ԋ' VqSDH׺=6wr7ehzA4Moiy"H=;ۃ ',z%?7 +%lTJǘ"=Ta +P0&R"ěq@HEaCwq]2AM4*iIEIm۶m۶m۶m۶mݻmۜ>**cE$vv6eon*d'ku*>#auBd<0ǾYF7rJ9mR~5b _vimUoW fဖ{RWWߢ1m?c{ZqpE+Z!.'>b%)ezM3NBMK1Zֺp=JK8nN0-=Ms ^R g>+bӵ sG٘LF=P1vF׉&CR %Bʛe,*U=4vrE]Rk*0٩ftղ `!PZCk4%v* 5;_z01#T,wKY.2oûͦ +P8RmԆQCA4mr,z@R9t> +(o:R!BHxajN?# 0a*4:iLzlTf+FnpW;#K,~!_lY~ kHΧ ISWa6A#8#d9jITpZgZp~ ~$zW jBrZCotS6eW L/?2Jg8 +δu-2 ~M;[׏Vwm^}/Ecur,-|/چ**F/^JN̾G ?b&QxCGsnE>^o:,f;~FaV;xf'1Np <]07+JDQddiVIU_ I gdq0 ݨ D>r"&;.n%yb4'@/1Դ%x[Xf(gZT:sIV!ѭq#5TDJv#zK7TK! Yz-ݏ@a&L^y2=IB$ՂpC|I<:VR~xa/ LqcCS儁ZD-ˠYg$Jf5owоLlݠ.m*GAD=). ܓ7@H;Gvfe؂A 0^weցAyY2i@dк?27'Uacb,DyGx1w_?qյxBf "T0̫a_-"U@\yO=ݰaCfbMXZ)趕`3y_vj8(*{Jkad'?jۼ%U&%3R'fɭA:yX˻5(~!Ye)&ͩOo7? +`Kip{)JId~eQ@~} N-"uɺ u{ +AXz$h@M$´n"(^)5v<0ߡ13-d /qQ"Dx>m95(v.d<BvTj5?뵱%srZA;婃zU#]&UˆFRnUꭰJlNR:a"| +@qꤗx~Np,2^FΤoO.ƾ[NG& Zs@1*~=Nr4}9$_2SD+EclSB0ǿ]RĽƃQnO^0Jduڌz)|͉o#jr~PigA>?meHbtkM +HM-{IS2Aćֽ0py +U韎~ECw ^{mbq4Þ?ΟcUKtǯL-)0+YᾺ++2{<6;,kԖ; "qu\2,,5zC]xL* Mxހ㡂2љ=a!o!m]"]J/ +|ѓ4vgڕ{UlqFg2AD)wOH7giUo=}"磬r"7oM0q}6Xh!)h~y,k]SUdq e~JA{-<@,\貹eR&~$7[%HI*EzPmVė_10Ί΅Gu|8E* -jNPə +_dۅvA+5z7ع} v QnsR~'NDiRӃ(;HcKǬ^1VW C3"Տe +s)ZB-Az/<Q3^V~&9(Dvz!ZRǭ 0^ eL^ͩ]q-ܲܰĺ'0uP=Rn.,,hP5SNvC ơՅHLբtpa0)Hǻ#dY zBt@\ ޿zB77úM:M )r(,lN@xznٽ Ċ]w?Et,-; di˶ N4*l9(~3ʭ#XPL^ WS3^Vp}%韟H 7;ug(x.*נ$މ游aI  eQ8;9H + +˴s$Tzu +;nG2ľR;H~vAeZpum*05eA~}J;Xyॳ8ˌ\5R1čH! +qC*a:T3!."[mԛ'6rdG>c>v}.[?9Y(B/B@ +E?2{3׉Pk<*x(艁`{+IpK0^G,6I4Rq?/d(cUZ VC",*fʁ1՟8Eί6*a1ny懴Va;b:jJ淽@ +3h'PͰt¸*"O-Z%aG|XV=@IVf[Px4n-^ Ҫ $*jM;dDWZLYKe])qd4XJ( l|-B)̈́ޒևqT$&̧q$Q´Kı i~&S|;9jt_tF/B$N/f 7ĨNpG++r;W?`}FdRҋy_} +2}c' Mdg;QEI><#v%hM؉ Th,Mt 'EpD ܃;B8u+A]IҚ%ХfgЫ A"NReuW{-FGD xcĸxK Fn/iu;KY=* ,\?^+%U9Oza^X डTXjtsF~ +$!m SԹ<(4".4sXV&8M>b1O^Uz:- ղ_Xs{TX߹{nMb>!+ԉ Ս$~v6 7H:_e`y/9y6jc@8&w*[yn=c^z 螦)ʀ6=FhMĈ؎0zAݣ@i:J P˜ 0,PǶ[#- D~i_$F8+!Q1陶0ppzy7PsT='=p˦p +k2(TL8IbIEPҷֆT~L3wP4 H,ńŊ͇n]$ii  x֙`8,JzGQeF|١Шf)Lc9ۤX"v8K=O}X |9r!jryT'Γ]oPtBq\ )}a1 Mt@ޣVѺOGg`>9/I鵯j;*z"][yQ}q(VU,0|Yrw\p|\( \g L9tL_T*}Lm5~&!偝qJ09QN b|Nrr^Ž + i|uװ'-pĥo 4K qW]ݢד.29 +jwymn繅c+^" /F;u,终kܲyƲ5\̪^ vп !HPP5HIfRlIiЦXTD'lZjB`IOMb VvƙM;T/J-?4&,aTlY/to;_~0AKSHX9vX%Gܧ\Xq‚t +o>e~Nb xOl ^=>e0Dba+;/˄h gb'x@NybX+Zt$: +|U iV|ٗirq!QN^ +z~@,t]a<76Y\ߘ/wSԦPM"%ػN)|=mztc ,'6)͉WڢH^3 <C[ + 7oc|7GUk{0|`}0>ӹ1MwE-y̞TR2a9h +/<i! K6 TPND##Jiٷ% A+6=o`_6o/?,!P_^%A_%z!NFި/|BPmiAT]dAȣ2iFFԭ&Q3KjnĖG$fTC/.js^G"c0Jd1`1U.BkB5%,H}`Q+k> +6i ѺcuDŽS YL">~=8Q?& ccL#QX ^miйlAwL%)8Z',߀T*v)X($ #lcn7!ݺm]J};n@шmX9gvkcњS-F`hNp{1C,HPzyvNslwũ8xf oI]0uS/b5C8iY \)w^x !NM>T=.:[hLN>2:""F)>[OABeӼy/'>5Q+ ɡ:m6Z"94@'4b YEd2EI^SKu]S@_I?0A]{C̸KGx)([lB&RlbUEr&MKyڕW`G/ˋT;Oes>)C~͓ jh9I@/fO@{6$儫a^քؕ6iw}}OT =k*f<&-Ҭ"a)4%). N\LF$(MbZD'Ud?=+ԲHFoJH6ꁌZ1j}sh}0-҂Gt-gˢ}x1"'.}2k& S"(kq%">1+ DG*; aa)-Ӻ2#NMu6e8A*mmmN+a }nD #^vGD޴U(BO-@m&smbLE3^H#=.7iMq309iA^*>J5CoT9OY2xk* A~M`F f }b$;;>)_l~{4;gH! IX/c'{/ D=r.sHѣ]r_B_O]+(!լԜN2Mhǃ4W#@$Uf4MSRSr:E7Tv~NJ/7n@x;9+R65@C$=!yeuuIՄ+::bM` Ń9DyB+20ANF3繶|A(4]ʋ&xhnT%K~u$B;-l!rrW3JL/g$8ݶQͻFt/`q<1,9/,"E9:Ⱦ!]WH=(SyYReR,n ep2=R;J`FB\z /o\{JyqLld`8Op!qZ앥G}|6#;̳>`_1{fdȝ:G/ʽ٪~܅ ,jqGo\߈$?Km+"1wlDԺ-¥ʂGܕT.93wn?tMNT(V5,ŽaGxbax?}HGQ7VPP:E .(SlK tR7x(%7(obX~%B-4+8SOc$ D4#,o{ AnK>=>[8-0;ԌfO'Gq&suW˿҃tHC$u6 Q~O&amٔVxž?%h6QNUx +S URצIL)NJBx].vhDű5[ԥ`>;vDYfX>+j@- жحiO +n+ѪBN~airV j;Eh2ems'sܚzoNY)4a`cī|wzb +KU ,;;N'ࡼX񮢎tϘ|A9*yS'tmߎ7RX͚r_ीg}۱{0{. iw@~ +Hez,lN#0I +~š_߿H,b"-x,{A/^?|fE$i![9?8}!oo2W.BG  5\lw;SO3!hk^L~+az,3< + *N[wTDN#-=h|4l@ޡiS\@k3^{_L﨟=]Rpg g<0F7LͦdK1^j{QwVb~d-t)}Ce + +g:c(K +MkۉT|й[%C a>@&23!6g@6 ̨r^ $o/y;QMWQHE֎5ӤB*/mV`|U",Y,l4K[;_3A~%,?v*-T#*'X]1 w #ӐOHrҚ V:˴U|;ur˵pހE$ijv7tQd\qY6^ g'kN &k|2ޞs+͗ 歷 u8$U5@Ŭg7Bf+^9mEWWbpd?C#V5'eORw<1ݴif*Ʒ\EZb1{Y6^W;xy0bIrG<dAbE pߑ*`Db/Qܬ֓{BAwaxp}=}x!9@뺜{%2+W;;vޟhj_TÿG7J=adIG|!Nw)DALCh&F%7 |toI$&g-V{Mrc=Wi~B]({HP'[.:nKMuYaΓ5qZ4BćIJ28 :Fr]|( @,ba;bͱ +X. vm)K ۼ x_U_ +|pƿÄ y)Z30 +_ODD!, xOd7:s@ש s?')G_֛kO?^)k1ٞ,2bN6e (0Iu&MTQ%Yyo(yl TOU+n#XJT.,)SrMy/n@d)E.h΢GkmJ:-N#<Fe3(.nYMϱ?-^i({lsAPI$EoBV_;Oh\hߠ!]X/"=XOe>Au䙏ѿfL觺h{ Lz5+96 _p]F͎ (ИYagT(z2.o\& !m4'dB{gFBⶾYA*_+R~ X0&8laɽQX9K XҭlluKږaeӔ2CY'CϚJ|vןG[%e%^Zj1rCϖ*9zF * G;p^='MDwcC\ĚC%zuKunw[p FM~O*Jkӻ@ƮͺGܬƈ@`6{ټ`*_w2ޮvA,Op{qRo=MJy%!XkbAJ ́E]=b?~ kkcԼe8D2r @6 ܀iKUx0dHaH7=f{._8Ōv{/UR"ҩeg vvA!ퟍřjn kݜYEvCwYP_ٯwld4H3tY MXa\f"n =-Bs;CB f$lQ}(oϧtI;s^,>-Q7/Y-4 +Qdi~w[3bJ;O\4,D'xF &"QrͿ;08.|ģ=Zwfٔ2Dڈ=beI6(6~=Fߞ)A,UՃ`B\乛Crg`iϼp2[j'"H:]&3:}5e<>^eZ>`r4uzPN KK>Q9P$k~![ϔV%NKeFQ(zIU̎Јޭ`)nxM~!xz 1scuDv !wN:%M=OpFZcFϸ=:-$=f!Y^t04X Wߤg B{RkIETCjfVׂ9㑨,+O }P4a\} ׺*H4ʚg8,)92|PL޼^CCo5u!eDG?-ts]rs )1=^&!\ ds$Eاñ3ev1/Qf4b i y7iOڍp5T6tmdI7 `re?n:_6\B ;;PW gf[/NG/,ׅN`sSO@zm3T[ÿ2Փ B[WTeXnr/a.)&$Z/S$pve1p4"l(陏=3;~4e +<8BvQ9 +qwmߣZ,gUchFFga{ľۆ"® CKQp+F^B*[T(E8| m۪|L>#""wJv2Z 60شlEF.?+M(kĒI/h1ʴ]Zki*"HH>OIv#_^"0 n&V@f@#yPĀqװ԰mV.VBdP$*m7 "R7\2* CS.~GҍUt”>LVţ,QyqF&U{} ؂Gz&{ A~d{\ߞ9_,P׆clñQa>`;bz2`_2Ჽ*˵"6V~d%5ZFALW*Q>2ifa@$z%5Ehz:ԇ.'r=S' ?Hpk|tiݺ{ni.G ++ %djE] TQfDn51GH: +uٞ:E(-wLGѨ'Eܛ1K R +N+aI&8֎Vk/D"ɩaM(0efo',+ǣX6D~b5[FD}c7E3!s|J/_8I?}?)ŌDvsV~V7e(,C\^-xjVN_P=&ԩ- ݹkjvxeEUPHsDdd.& u<`r1Dm`: Chjԇ(j Q.;GmR50ۚH+t`ͳ}ÄPm!k`(o^.ղ1srS#@/R&"bZ sdSCer14ek"fkjO:\Ξݻ]+Ƌq_+K8j+2kj C`}aoe:*n;|n\4skB"SmLӖųVY̓H1ZZ 4IQ50fv9 aDJ`(^%=[3W4:|'W1~e ,))(J|jϫ*ܐgn,Uih^NПk\+#ͤŚK:tҭi_LIӮ1mP>2c&#BZsSPgof%%箬yzeqW +wʀ*=4Y6 'NXCR0 +[d翎Wӈ꿿o I,+ ?&=wv5Fd1 NIVOBD+BQG$=F0տo2־c2˘-=r \E Y-ǨuG=E ѐSb0 Zo`Io +OᕏsS~:$K^F0!rˆo%hp!Z C~vrIJpǒ^AVg[uztxa#3g%&|5SLpoa\tyy0bJMˏ;P DZ9ؾMr3/yAШR +mc42ƹ]׿&w}3e]AR˶T. (.:2G[)? +,pƎwԉD-|P",-n7sy*LTe\ 5| u B@-I^?#6|O`@ɢ:hbf+wpMޔqz>ROw{e u1A}˟}Y2`=J"nRшLl'x역Y?v/%RtUQSE_'޽TE?'M`5t~B鰨.V8D$@ h؋=(0c2(UB}CakI=Z#nOur)l2k$5L Þ.įKR!F[C'Qd?Zҿ].X &IA`e3fRW$놗`Lu +0>3PY, &:IU/~vRCmpg@~Ft袚Ic7'<) *`@¤pS,CU/F-[S? I'2tƳ#-Q]zK!ک4lfQlxԎk s +t|M'œ $!J,NKƎVoV + $c R!EnOSyY6mѠLOצo] L3LeV앸ٯ6KYOW 7N/`YmI׻% s! :5TR]:ɩraѮ5zD6u N;Ҡ"7Hn+V\> /4 +,|kQ鯓ȸ5Y "`3V6 QdEWz} n{٩Td\..?#lGsI|M`L9r9csTs5z(IaHm?泉BOiʿ)o)yAg3bvH?TݝI^瓮q.I}Z~|,F^l I֑c;>Lֶ,ϸzN^1DZ98pu='2'4B T}C1ם%X`΁ cYؿXL|r1C= _p2w,fQh#5\ډw&\X>J>zҒl%X}f*k(=: -nYt_`f< ph,6,\J2p/8(.3 r_"-5yb6aρUь#^i$H{, @?^>0>K,ڲ  ,⏑mkjpGP GR #ej5'L i=-Ue.ιFvgyjJa+ ~4i8W2 '!,6mЭP +jhe+<٦_Xvbv7@T\BJ٩)H%W8~Xj`mz¹<(pآN +]8u388푝anJZ}d@9u@d#?i 䙒W{^@ k"RFI֫**>#*mȣsǶČ7o +)I}D"D,>-|WVjJnu@SFaP Nd R>\ƍ2Pu܉UXnUc&A xPYߋ*3HqAcuxe$w6;ԒGc/Deo@Wt(žeմN[-dyB16gOM|T1=͚ p۠ɻi7bg[U c2IqBЙLk}3, 3뫨"?I^dXAYxِ/ݩcRa{u0 `&.}=U- ?bTB7҄z 7 ^I/AdYHNxWF;TZVc<ݪ{_3],?YYb]RץI>83'W7[xڟQx!,o V>?'aQ6d3Ur[Zi|YW6@'|&Wޛ>\oDH/iW-M _S0h< u' w fX>n*EDAA ”_ 6k'ZEA3 xrALy)U`oqx/)9QRDsTJImnjWǚ}r"V_W.Ghwa㪄T^ZUiqBR-0˜i#P\em-D^} c,}hW@ļos5`/\КYyJrbt[>YScALR&lEJv^9v?D{?N碘 ̿ ïosP{9ѽEן|6:͆ %$j#^D{8&ra77[4 NX=Vdg?*B|m[&=\,ϨIOL6TlG2ԝC%V&n}PI% rBbeLXI/aZh+{6"S$S⃱1j7|+<][(q&#?*:Þ0d >O}!mfd {b]"ÉV]K/Ԥe*<0zwHױs(^ o釟 nظj2dH T3^Gv wcl־k +\ +@BT+cj4Ro31Ɂ*ƙ^m1"$Py|f/X TB#]bC<5x 3~voGҚRf S2?B(t72D1;Hƅ5* (*>hM|>ؘ ,AɋXuW=mp]B%Y6Zx)3yRmXb` frB.[e957҈~?xc s]y EU+ޚͧv^SVz-tt)4lH!n⣂,zڬ|+)$F0 A)NI}|yȁr:HZfq/k h]er ( &‹kN f|iS.d9XKFw! hi_ꯦreb5M`P֐Sv 4>1O;uXd)Pa*YahDFI;>Ӻ>0ϩ&OtvDdIy; GFJW_7ZSR'"#r5z{2wؐT4jsrbLw~[>RVf2ʞB >LQ~Ap{u#oBA=ҴAM. q`Z+ꅺ  .oPvB[`޴0a87y26z$#ꢜ 0\1;CT9 ~s*CdUfA$Q3O\s]@_kb.#lTXDȐX9Y +7Z +tBI MD?ngQEՉm5rM ƭ!B1X nz*owrXA#|C g.)"c).SzP3ʥr2W?// LgmxQp! rdȊM;Ig[Nr?aRW _GlQm'xkV `fI3!mR 7Tc)3f[w`(݀ e NK$1iE(E_+\ 1nd&# 3a`d rpQ6R[M ٯӔVq/XcxC5^qb)?ae5ݼg%]O2=WpR/u'vLe`N+Ycյăo_iVҴֲQ ħ3^ Qu"в^eRۺ7ۯ]g0?>,R#GvKMʣO+T^3+H79>Qy\Bz!Zn )'[_v~Zd?[)uC&Z0!W*n^Mޘn K[A[AR|!Phs=S"Yr kیyd. 8!8MRB@4f\yux I Nw( yDZ!M̡&&?=!n7h}?  CEfIřL*L@^&iul{<֚5@KJRgt\iZk5OaHr3L#0G}&gH M<_fF:=L d֪T.^O)S^dsR`-ϲל-ա& ŔǏp 2)=Hr pJ>]"coW#R:$Me?| +X_&r6pkػ1>7JсoXgG Ě%eE^ɟ[uCEԁxZVK=i}awԕJz3Aa@fṫo:W}ğRj5TxJI`qÒ,G¢bqpwQ6e}b1tP/P2]381eyo]Y *t'FPd~ >e ~Cr„}!mխ +1.sޒTdЩ6a;.Nnmw1Z"q _q?z3cKLDĚ"g Aw5z{" P>s/NseWeN i04o1:\N )Z,`Vnlft8;>N] 0d&ZC<YO]#d8dn4OMɄQ7Y˞1EN+_L?0r0X&$fi`Jė6+\D:3(?;crh=9S3zvN[+i4!8ĊXqBapO`Nӫ1s-SR9N-`-%3*$?%~Z%R>r+6]i U%Nsɴy0r\" +7 ZyEfHhK(LP۽׿2^R~RNZ:x0&B6~jM"Ou,'\w ;}R@=\I=3Tؙ,_=We KԮUV vJ\^n;*$mbst.B=EH p +Ug(}Eq +E".˽N #w: P[_niZcvo48G0c?h;?F%ZySn~Bڪ{3[_{vԅ;+iw`|]= ##uxY }b"5^xl}ìmVָ%9D_},bP3IW@r>] +8b6sWՏn + fOQVK9"pͿ֦==!:Ā*Ow4TguH+1WvbȐٮ'T +/Z'eI{eG0pvA 5t ɉ h'Hͳ+}w(2` )_vђ>QPP\0zr+ +%b.<i!;\znv}DWCo"DpUN1 +sDKOs&NJ!J&URc?9`3 ᠊AY/UY6y"{6}Juk +fNPLAU#b*(? 49VLFv:DU:ߨ1.dREhO޳wv }V [$fo+qi6V'46YɰjB_X&a71̋}vKfvHG@t:Y EI*$[aٓ}:C6&0&@zbS$r:}ӚB6<QA.'y6D6vbn>x;G4b=Ć ,\ڒYԁ%inhp"WP22jc0D_9aa_S^k]P@Gw]B"WɎj%AE(-Jy)'{<}k$F76Dk- MO?)ҙى( HS_"n=s <[ 4sYZ_{=\ZPNj[JPBs{w͌1v|p(q8q>\\2S,$ ~p_W?tӡuݚCfOL|b i]}ѓ763A$ œoA,r"o'6UA= +UȐbFfa0 FVw<0 q ZŚ0Pr-F"s xbl1m[0Iՙv[ry$'qV24q]=ԡ" iY8X6Q/.Ua!ɷ*k觯Z=JIàoLrQ0ibΡy!ӇWF|T&+pnH"&ћ 뢈hWM=hISD6n +a).:>B3b 4ncck+_ 86.@82mk!6;BG|I$ej2<;&8i> q+tPt{=<6b < SכN «@ǦG!=fv=9#HlE>/%%5BQ,5p4E4([uxj; /Eqjε3=hSo!͂s=g7;>Dc Uw2Ϩ v tV,<iS,ד_n pBYjn(etJx Hx:[fKR 'PY*82$UIrJ5DE%La궈`*8$6߱p3p־ݘȰmr@wT)7Q+ƽMT02YDI*|$i ;*obؠ&S)j]9SU? -2T,0k;1rY~d>(5RHAmz5|Be6T ^=/GYCǮsN'}[l+J")5ozBPS;-?grW:Ћ V }|[Վ/׹h4*)0P+|fjuҝq`՗IaoРfU EoUlpk@pTP-G`U%i,bG/;5^_~g wzоx"EjS̿F6 0D={D啼JUvFWܧ*W +\[ɤde%jIJ:;Ĵ#rV}^!6pN[ӚQ]2 vܿj~Xƶyd +Ӏ141)Wa9@9sWwek Y9C_F7pD٠Bv?JUpB>pr[;O?'-ްRga7>fsO + X|Hnb^6ҾB"! *Y{}a~)R:p&\P|FF8 զ洞z..#^KϽ$P-!˦!xM/I~D eh+_BD[.v Chd݅0Y056+4 =\pё+u/~/%U"31g,0#gB(1neנ5zO>w@Cjd`̤RMj&<%.-h_B'+>͚ vG{ CEϊ`Ɵ]Gt׈?6_}p0)aT"3)0 V'(ޕP|wT +,$z5KgR(YI joRאgl'5{.~DQ[h2iD` dtWQʝN-OKOɎbv9j\wн}5Q [ +RzaRVĽ+ӱg.}nW)PN{U+6n}9zHǽW~޷Nc(Z-1TlK6’,U닶(PN>Bq/x*_yNW +TVYX8--QE}FZ]h0'=;_`w*Y#f7m~sقXKX/UYy`0y]rNx 'Xh]J]O[x9S8Z( <ك-N$3B97crE15Tϥ @'L6CԻ(;/|\_HJ-u7Qt+00_s}i#)U^;ճUSV{Wl"ωs7wD߆%f70n9:|?mf#j[eY\䠜aԍ͂%EO*b`xQP|>Hd~ësKxl6XPZ.R#P~9#;ꭾ|K*RX6fF/) n/seb%UWumլT#ݑָ{!~$l$Ř/lS? o&)';*6JNh}PYڍ qǶNșJ Xq7yzci>,<<@1tuH6Gf?ǀQC]J ;]%'*tȃO b];5hB8mѹWi_ +?3DOQO+`p:^ ;IJ%:B.pZ޾7,D5Ѽ[1*.'4P x7Hz\Oj]eg8_>,RL sO};n;HTRQ\ !F#HE"F.69*N׮׼ 2D_G^dC<ɦvb> +>[Q(N4{ҥRlȫa s~Rs%3BS^**¬d-2}%j>ɛ'owb*dU'k_`i1WC}@~yX4"3:r3t vK#Νq'E{fcnf7EZ7a8f.,SVbͫܒa}H 3x4w1MCp5ڶM4nnŖYG Xd]|@gKO+ع4:plάĨø=scVjƥjJu` sk ̕x(!Qx"{'/mQ̴`'ǹ + ES !@95XF5,OuFx@W*QЉ[1ٹv g/`d7QT"G-mKArVIErd]GyjD8RGH#Jggz'-L q<4l۱SZgq\Bӣ>kQ ]%?A"NR/,71ځ}s `tEčpKـTLL!N߯gj!8B9޻˜E1髼0[9EPeݳD&}1nщdKqX`ra:\R :v!%襉- C0k;RSh gJE ATD٫ewN{-4KQuv6rfKx."U +?H*s4H<7-4i/qZ30Q/wegɆt ۾u#9dES~'qkpi?ס.ηlzX\ZRp &Bkլ[-j7XyjWtU "H>pG[dM9X]gO+DV_͛d9*iuWnǢ]}8Hr%ɑ3cº;Lyna<^Ra?'Z*T0cks|l=WnyZzdVjkd~:"n| @)Tֳ̮` Χ37b)s.z B& 9.}'0B!|5ߥnwO7#3h^q`vn/$M4 tAs ,D:هd71)Ţ.y Ng}$b:YUč?9P,)]; O@)Ff|gOc:rxyC =3ʨ=Ha>KY0.AWCRsC i¬F +IT#jm ;۷r&SáT*^48X: SJС'*Qݵ_-2p8cީ#YbrzJ*6_JB}26,ffVj§W1pGF)n_, Nw|Pt kOƚry"".q>[%uog]ȟ1 /W؎EwnVڲDZ, ̵O iuzPY+]]bd͝5/E[e] tUb!bۥ>ɒ} FzV@lᢰē%Pk6c)'G͔L3*QJf @#);#Q谄Z8SnmK{Zp B)jQ?g\[LofdEʮc&$:oa yD)7 \?6gG7Qk8BWr^  +2Gqn)q-NTN|cQ7-=q& cv]kXJ3CN&#d?dI VIͭW XՠqAz<`Ke^<>!<62Nn![5Ȓ׷l& e z#͊k!ٓ&UJPkGaȏM_MTc\N'nS)QA{tޢ,Wʕ r<*졯8{ qpzU <\JRm2 ScҚ|95X*/2W0+}%gL0Gx¸;)[d;TF*l66;܎I3O5îS{$:J[9m۶m۶m۶mkbv&swݫj5;S3GEW]FSe|s8wrjSӖ.侍jc`?;(s)Bh=_$ʠ8^zuJg$s_h :XἯ`p//>0+ w^XZ̗oH.:^]] èMCi) #c'08'͑]/S;ӧpwn?Zq~7,LnGH7 T(tXb%F1ŸЌ@-mo^CQeb3@͖ +PW{ieS!Ph7oȪU +ma:eyeO6  A"K#y1zΣ6\@P֡ +x ܉I4dgٟbE7Pѷ>jkq+zL|>g2(+m,qC+&y7+9K߉f {$f5쐛S^0,h sRB-Wn;lĬ^Xx=|q>C|3rھڇ4(eZR/?&Fdm6o|5g>#Ul?EWO"pxߨQ^3>츈Jai&f}ϱgT.|D3zҢ!. ZnjV0rq\K.?>LrNz.lD1 }E0b)kapHo7QE3Lf5cF݌]2o)=jor~N#^lEFؗeHӷ hڬhO96܀ST+Mk~,_>7/3GHithf*&}ie?qXB[KAggẹ1l+b2qR3>W1I83a^ XRѿ:y w!Xm}4ӑD׉ʼ/͜E$@:S#9}<1)ⷹmG?B,Vw5&g;4LꕢgD.@nn1$$]Ѡ> B v7EJȼ4d7ؾf*q%`hݴ(: Vi$j4񈴓׫hq$vt3 Q7j ,S'H$Ms4ڥBrPE} r1c$ܢ*AsT|33cңaqZ4 GWDɪ"B*ƾ\MRdyq^ 2/Љ^Fpy5>=ul#Jɲ)Oy*3WVGqQM<[y88{ +M璃grqz˛2qDg7Labz7rK6iع m8<6[S8Z澒+/fޟ7Ҭ.!( n&"S80O: [؏ixMw` P3,vŀj[~VK =7 +zJRLIzlyVVxCb?vUJhAH3GVu/ϴ\q_,JL2}-[?mlu; fzʖn\3nxmj +8H|Ϗy9֊q RA6geY\eeL 6$UR(J@3ĕG:#}N8ӝN *q_ rh 0P +p\ Y.ɑlX]R*P z†Rm[09-o_Yb D/,v΃ fX}G[W_F,]'4Uhibӄ]/ETC4Na?z9 Qֵb!#"c\NF0JȹAhmZA[b qs h:;r[xٮ*#3<^ + ?Y^*F<4)tRVǿMlL8r4=;ܽg0K"z +P.lIW>O7ط~Qs4F̠KkY[ŰdUpzH=h$֜ {߫ԃ\GPEܓmHŜfKy*Gt`*IIkz4I?]H9a{be ؟et:TPuPj`QTzLtLVխku"dگks`6C({eFWj}c +qs]bp'QVbavi"_ɞ".M!!S%W%Ovԯ)(ckY^넟P1l+w~WRQ7[S`>>Lp_k3X_6z/`99.ӳPO"zpns*EP8եdwoiOfl0@J4J33n+,V-<&)nuQgfEkR?y66HQlMF† d8 +w\!S݃}х?ZcC+c;.EC%X?)ݘcjlD /(fO^;Sx +~9Z|OxBU2 sx÷s( Θ{!ۉbWyT'Y2Ss P +zσqҋ/tZL p{u+yr_5w/"""W$)x=4_6W54WJ!EL+Z}UEH)7$x\(]N-6.=Bê3)g-?ȳBjj8&~02 A?#̒5*?1"M|y?v-g% P2xU{R w\\eY, 䐿F %B<\3X;{$4v{l4/~JVM:e8ojZәabGqS@4#nq\LˌM>3ω=A?bjxt{&\07&گ)i`iC ePXk'4ܯMj^,d@^>kʆ/N +q'}98G9vv_x4H+~5WKtFuŸW)d9CQ Ҩ9?D:PUBa)uaV: (,;sgEpq-.8]߰[Qz 7'QMm=UBEgR 7BHCM49dڝ8H*.Jpt :w)B5Yo|P1b|3NGuf)O+-7f`.9Sztߠuw}cN00йq`Kܺv!TC +qv^ғ],&4VOCYGJmR dM0c~wENxBG3oH**L>kU϶4뒾/}%"| m<2rNMyi) _L6Aff TO?NYgnYJ'2잫eҡ0гN?{Վ:Go0nhe3IF;CB+pdPЦ ] mMN6Eǃpʋ!bkG'/ΟZW 6oWҦ٨%ּA +g +~EWrk-l'ftrRQ?C ^G (*QKEVke/GLl=ė<n_D hO}^ KurY&3ƻے3ѭof}ј _-EK^|t/G:w +kg#غ_1^kҕ?FlfOI?'kC͋)|(S5YMM3WcnVZ$)/3N0w5Oί)U nLVtRꖾNQRozſF7» {=-6?9xL7/9:Ӹ1KO40ojTD(h)n<.fQ5竈*=gFN$O#wm-fT㩞⧹QJC널Zy'\Jᴊ: uBf~ Kk'z&YA!*K^/< 1- viQiiygr >$̋GybLP:{9ލTXAVQ5L7x;7~(钂"bvF ~R4]Bؒ6_vÞK}7VU4{QV6)!~KtGhK^ ߶AoT 9`%opLt _QyCp?5qoӰ_C)mkbF=pCܦX&sa^ T C:;@e^utX>3S71s;"G41G\4>}(]Xswlo)~n* 8N~NDR )l-X "@ %Ʃo:Puz& wq$K ^_q(5۽GkeasEE>S*azFGbq<⺿7P觪lkr6xj!c16-T+M%y 8,9kAMm$)RHJ12j-wP MRB^~M`2./hQZ/[g7bŝ%h@\/&nX?JAN}4=i`b10u蹙[ #ނQ1[nݕ4m뙱0<..dcvf=%'S9{ǎ!4W9ΘZUs~6gyZ-$}s)98w,$ᦗe.;l#f^.JʤN +wna Ɖs:=K c=@LN"2`|ϘN{:}Ɏ.۪=aWGЮȧL|gyCeY:ʞa%{S(%+57Tl܅a(y=fv,0BTv3PZ>'StrdwܗGWyZN%ޥ +}=m$T#bzRzjAun{İΔu3]eE'gD!)RJcY$;M pr ȌHYYQYN[oS ;U9[ JA5?TT3o#/K= +T8$dNB_V) W^Gtc) dtl0qZ>ꍆ"Ț5dm W(oy9"ֲh}՝SA"K2ϕșZ`@X&bzbJC.fSi_r53yjT[=  VYyѯ4_X;R`UY5 zs~W{|Yee{ W<0Ǔ[Eq@1m}</׊:"*$ VnA jhq@gRFwؑ(#1 +iXFM$zR:_z!cyB@֯&Uqc,C& c+Aˮ_7Oa KL~R{MaMQG<1B^\5Vgu4cpxtp Æ"9>vÅH0ɾX}{pQl::E/'ϸ%Ax"z@I5!Iq,譧ScZ|2 Ecs LHkߧ<9v\&DS4O @/}?S&a4Kŕ%%i22?{i"jdžݩ5Lp.?c'4}kY\+$ 5$H{,U5+I$/Rvﵡd=9"}>=aփGT +e&\R]GOC ?`ԸٽlG\y@\Q9!/|ڝ_d/ NIS0'aW.+^8sQhۅxqi[U7 *hL^a7sDඞ{:\($h z>v/;_Ϧa,F$4!di {k hAI +IF P%Re=`r M7g2 5;Mevd[`&e<9KM-|QŽg\įnE'nf:b>sd{_@\'aq}DNg5eg]J0KPC#A%nt(ʧrD4ťj +Lӏ +$ڑ-GSXacc{@v͆*+upV2 CL˚,|#Tq)=JԳƃ4Լi*e[**2Y=B3GRC+<(#e'k64DCt|k$07N'u:$̐dR6j]Rɒ,<<UlDJ7:NiB@9\lS0)KqWha2۲gHa#GƇXO`*qC9;Ǔ +%a9\U?n}F\_.(s(E_Bc%4Ig$x).s)q.3U(^6+Cm4-Dp%-j|spI8>q] ѓ$F\N +W\it}WmO<2S>KCyq-oHQavQ6 +[Cz_^\Eg$B$\|Ck;|̤ +gYcZ|p Zcr2ł M?-YoѯUu.Qg+sFtԝ 3N7p)eb4FO;Lv:'%/~_CK>䎋M`SᮥH!fx8 +_f )=XLH[]9JѾ/1ԉ 'vʋA( ɘ, :8tᖃ׷Tm{!EEf5t\͝NHxz>Loe1Ed[F/|ۧ~H[\^&) Z X[Դl+ȓ៌:= qЛGĪLB"S6:}׻'ҧ?xV̏wM_ T.zc(Y{:Ȁ{&"'V_eύ7r86^nbSA{9Xw.ZvA۹×&FW7-1#[Ǐ- 04RŎn +H]ezWlt8ESG_2 - әi>"8 ٔ9$sބz +ctt@O/9_ ˌPF_ɯş.ه1+ HCMޱEKF_}l U6"fɳ-L1,Yj,FڻL{!3>(O:I*gRdߖ^c\N2`Ht1L<qAt'ɂۥVn#zں-' +endstream +endobj +1884 0 obj << +/Type /FontDescriptor +/FontName /GYDQSB+BoschOfficeSans-Italic +/Flags 4 +/FontBBox [-176 -300 1375 1139] +/Ascent 766 +/CapHeight 728 +/Descent -198 +/ItalicAngle -11 +/StemV 93 +/XHeight 523 +/CharSet (/A/B/C/E/H/I/M/O/P/S/T/a/b/bracketleft/bracketright/c/colon/comma/d/e/f/ff/fi/five/g/h/hyphen/i/j/k/l/m/n/o/one/p/parenleft/parenright/period/q/r/s/slash/t/three/u/underscore/v/w/x/y/z/zero) +/FontFile 1883 0 R +>> endobj +1885 0 obj << +/Length1 1199 +/Length2 806 +/Length3 0 +/Length 1564 +/Filter /FlateDecode +>> +stream +xڕT{TMY0+dHͪd=e<T({ξsϹ5ɔA&u(YL2c1i`E!rA 쀁z2^@' Мay$+a`,XY$$H1 l(^!)àl=M)c+l.YC:SQb{8QKGBAV4 2Z@OqJ}SVXא퀤t$E v`\u(SbSW R,&:BLa\+>˄|L!YBHlHwVc +6S  DYHi5'*u(MVL8_ @G]Ɍs`VJd?i(z!X}ijx^:oo*W>ڀS|t!3M2S7&W'G-^9]7|g '{ҭ~sb>גtu<{c2;Ybַ8RɺrA^|SycqrJJ̙W.v 3}z7A۲;biuݞm5~!Yz|ֳu&,~,{mmI$O2I 4gihͲ£OބcfpsƝ=aE7FniS$tU*Y'.#̽bnŦI'u.6{#||aWUNoǑK."Sbbmv/\$nEj=+:TEBܢf^Uе"U2Ɋ]F6VR;Ƨ׳8n>Kјo/6(SHڶNk-"o4/QlpW5l^R{;cS --/N:"֏˓]Ą+#.x޸q;<{y-d|E>y(Nu6NyRnշqG}90kWzgh_b-ϞB+D Gj_E_4#uƔ7Qu.[r,P(lQf;]s-TU9:#%~]NW6{T}V2]*M:~|Gsٱw\{o>ku{. ^>Q<^[<<הn"!k'rsrm웨> endobj +1887 0 obj << +/Length1 2139 +/Length2 9316 +/Length3 0 +/Length 10476 +/Filter /FlateDecode +>> +stream +x}uuTk6 ݝCJ )ݒ20ݒ4"R!ݩxff2%&qHI`j \}\sPeY>W +;2*P_7мg٥ *>xR%棹tC}wǚ.;wwıYD[?.S6LkywKIOa&Awm{8wXt {')^G̎|IbQ<+Hk9{uX Ž% n+{}k-~B`faQ`e\M!| (Q{׻IJ NZ +Q0De7[8DNnK]8)hž. +"6"Mޟnv;h}d-kO(WC@J^}(H CxlLKKîJP2j5 eBc^ d=m;ƀ'chZxhDFmG8?ݟ":Cre2""%:~VB)zm^JmzG:[:`hs\=PwC8b:Q H _ ,A1Wb11x#qfcz:jRnjGWҩ1gQ>\Y(cXWV0Y4ؖj1_qgݒ2|zr^pNiHU/!@o==|^6mֺ+crofPBR߃ A aOu:2!dX;7 19C/$w8!Z|< CՎoWiߏǢZȿ|j +jogCBސHDbאӼаe:"3,wg=1sA۾]FO=I !*YKijߍA[m-%&Iˤw3>)Ӵldo=>M.`8)\&-Ƥap@gr18 +ag@q 6Sjk=Ϣ9lN; ]=FMkՁ$IR2wA]Iώrrgp=l5)N7uMggJ)تfS9Y5numQRR!};3Φ866>b~j INd xrU]N0y3 +(/׸1<ɡ^3G,hBLsl8h0m1cC%'B饝K#4?`si;Ȩ #RG6) Y8$%S٬a@1n],Cl)\jWtTkn=Lkp}|]bV\$jwV.680,t1Ze纻UeȼxM DnsdcޡƷy}SR27"!Q1|  oQw?TRE`b}*%Ok\@p}H5=[u ٧/fNIYpB9.[h^,$5/*$!~\=W||dڢgNP7Q ,Ay_!o0G~8U!v.{\FN3~c'b V2#+>:Kg(%ǩGGrs Ϋp[ -|K:%xВm :6 1stk:&n }߼kO;e3 uϛCwrO .:(cۆ˝ +=]b4ͤ\?h9Li|eě>~HnH3@ G82vE퓉"hloIVOM5umh̪Hk_>R`e\a匠Z+@WpSFNuFƈd`Ή߂t2,+q1r0FSr UAtᵱiwV +B6N7VeU#fퟰ}g/Fx)0JIGxz?2\ 'Kz4Ή.gORtq*3*tH,-Dv$继~ݴW;L=Cj56%ius>H;וϜr^JΜQN + lVp˖چ {=+.8lds07=[Wn3Vi(i-" +nүmMoX"]ۄf27%GO\E㷤jyq fPm[2˛gZZf*2O[ +O7ӯ|9 + *ñ;tphj#^S|U2k$ 1._1s-j u<1"v%hAFO^dS/rF6hnVIH؉2? pg^Y,)hV]+{l:Dpa>Xlraˊ=5b>cQP֋,G|wPC>QiݸGH7?K#Y5B.yj5+#Sr dmi5G] +Q~|%u{^wI\wmpSʗ +jeg +TE*lwj65_Q38Q+zB.e*t 0>_0roѾԴ=7wb=Cm{%QIkfluP"UÂ&ջےTyu^Y\?]T28ە ^?]wmpnl |E78j),pu^Ǚq :zٕٵMc +F9r Q<̔Ci k)LRG9o$rs[>᮲q'<_i$ޛ=:G~hE Gη1!aTG5|ipȺ8=QrV._,2픷/+V쩽\}0!pCNWdN(5v1VJHZw}[Y@Gڨd~iSgy6y=pqm+t*BJ!kCJϴ"}f`8 ~YIZ*iޯ3xFlt/V]$]ѸX/H@ mb7m)сZEMy> GVmjv.o@r<}̉CQ%q!>K1Q܇OOVwP/|ԪیV5s[1ϡ']-} %zӌN0j|&VKZ; 3.5JDQH(_\ |v^W+:\àN ]PgO@$FsPdmDE`*:eDSɼ0E5]?Tf9L6犂{2%wJtcDb$_$y[ԧPrYe{IwNye#៺ѯr_bʔfm2bK4E$)Pg7?7v>Ʊ`μHs*eԑ:V*<<`QSuP)TDKD^6fOT2]ru3|p^nnDؚwթɟm?+a:` kT{ѷsQ[f떀0Ӏ+Eˌ쉥w<5>/25Rwz ah1b.j0HK 5ާxu6ImM#uيD;7c7r +c9[CзI{8h'b/?/0\YlsD;B"!-xoP2%U0ș Mǣlcјڌݤ#''%zء-gFڽQ/+ Z@ȯPޞ^L8L5*_ET򧞋AXDӱmS~+%4#ɷ\ /a&(rW|F8V' d*z˳p=*4tӏ.y$ "i%HkfrݷV#z|O pXɂޔ_M$H*K+q~g}<]uAR][aBH0zo [F wTF6OGܾޓ +ۍ"w;پfѬAv!f*qlXBQ7cȅfq\A)YaF'=` xヌF-06VPwL=otLry"Tԕ;j$3/r+N4]Kl='nV~V hO]""25 +qo6&ė3qKyT8 +mnFz[-\ +v~],I eıAlt +}Y |E7"w ߗ"s"jfُlQ/觚^BE0\C%f+tnz8a"}*yQϞtwU"/Cmݩኳ|zXs4тއUW\34Ww`( yɴm7#:eEKbr4{ˮ1T0IHɮ0"M'չl{lQ5$b@Y'/"63֝ղk)~.-,(CtE NbԣTMg +ЩW?G'*^߇{jozul]2Q k_+ܿGp:!" z~E1UTQz׃UL}Q^樍JَTOPHJ s`T|GcBg#$@\sdw[2jJ\^fEJ.rN.oA@/)G=KnP +R~MVv͉UG73J &">s=C8Y岁~sO^~ ҎfibEhK6\ČWL-j\4Q&, lRI$˷_*:p(M4)Ȝ ;Q.a' 5/G`q60MlAM ,-uPIu W_QS]%FLlUyEŻ,/[os}8xv*!wmu1eMWcJTj㯨-Zgا9#Zx H!UKb+.Y(lRF[gi̛'쨅IXaRYj +!+=/ iNS S^@ZH5Upqeu5WD GD;ulK0H)0 +. ̎Df$zxݹE>'AN…NU +P&>1<VIeVWKL L ޡO7 +}w+%, &/9e[;-ͰI~0Z1&+kܹ%\41GVt͘ƚw)bIE=8/R(,iiʽphӞoi\VOd>_V'COtRVl:rHyzB]|KSR*33ig (T38lDu}b˟?Lp7LoR̎ёb`#ȎIufOG[{,FfQ'(4SW(˽N$(wƧv;UͷA|,X6[Y9%΁duNZR Yv%J');BKHJoVH=o((~_n>\RT3E]kl+x0F>wó!N?}#?$ah'cn0X +w'J +*X2)5I z˝Onmn~2Xi$~י5[6=9,-dVSD2?S}Ά0oDsfy>Ӏ馴b6=I)1lu$oUv\ L5)wu12>sN{N$0yY@ Ԓ94_ +ٜ}O]XStvjJY|TSь|Q܋ӤhJzRZu4%e1ƞլNL3ϤʭS|k~#r~ŝ9V +endstream +endobj +1888 0 obj << +/Type /FontDescriptor +/FontName /BOOWFK+t1xtt +/Flags 4 +/FontBBox [-5 -183 1501 822] +/Ascent 676 +/CapHeight 618 +/Descent -167 +/ItalicAngle 0 +/StemV 84 +/XHeight 461 +/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/W/X/Y/Z/a/ampersand/asterisk/b/backslash/bar/braceleft/braceright/bracketleft/bracketright/c/colon/comma/d/e/eight/equal/f/five/four/g/greater/h/hyphen/i/j/k/l/less/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero) +/FontFile 1887 0 R +>> endobj +1889 0 obj << +/Length1 1134 +/Length2 3354 +/Length3 0 +/Length 4068 +/Filter /FlateDecode +>> +stream +x}y<}m),uY"یcWo2`2 c&[dG< +PI-al QElEMuOy~]s]s>=-dn%"8u x ,$ 8}ZF06V0HT/&2[7g, p,¸g+*Ȟ箢&zS Ecڕ5E_'a~ONΘQ2YqĻaр2$;Q;@"ѿ6xoOc(݄1.x7 Wʔ@¸5(}Ni@r8Ɠ@Q6/+ Vz+_Xaxe* 0yI$"8d((O }cCx I&"3SV ȟߤ@2q/t"pzAA(AAq݃rm؃t!=HWPz_%Az_=Hc ]T =HWEs-]=BbAX?H9=HW yH dd/f+àH{KL$",Xn,)s9.Z!y+Pyz :2H_+~h_ E5JExz&T'x]të(yػlz^'Tq*|(5~Ʌ._dž4;$WK2m n(["%D A. ,ē#~.Q=}^  +WIq9u_bDI tMpE)ݎ +*#j 2A'xFrfwFIz5G.DND]/=c#^fHlZ"ZC;]fPBo\(cBZ4ʴΏ β F!^_/$SloHlzJtcrO"E̥ Cy4Rde:>K:UIr+C+F + +Z.B.a|~jױʆg ys?lB؄ =6T/rߪ.['.5-+|$-YڣJkVS^[̦ARVzVЎxHWa⍠u3,⥲εog9$W'p'i]O/HxhXvA#z'$ظ4᝛M0bZW|\q+эmC-Ul^8GqQy]MgH^H + 3nsƊ圠H_hO)ytnz1sPuY'GE%پ9]{YcfhrAuo$sU>2pM'^z&UR)3Rq[ȲVt(uZP+l7)ma”SnE2Ώl֜>2)ƥr=vXHϳ%jf慎ayFzcOjxZ~~GՋ<^mݵ}\RˎZ|f,bȦ xpPǻ.Զ5G泹q@ݯx)n9xPKZ]UGP O +J G }xnnmq +ͫ ׊qq386Cpf2{^=)BbYXZt<_]$U)iPaumӋ4yA -gpKfա>NݪUQ5Q*s}#" #]i9 GF˫_viO-0fa5ٚ5f~-FՄ|n!ѶZw71Kv ~%mTQRF)zzRà\?Wq,f) +,J܌< x2*|+ۨ^7َY;8 +؏d{|y'="a/t3 ւcb4XңwmP&G٧dxJ .9&POm6=dvDqUÇZЁ*j3Wך rhG|꾬FHNQY ²?뼍ꐹ8Nz"^Mq ;0jt<`]ǎtk~mAHٕ\Rb7+ ok~úlI]-|զa٥ ?e¶ (`ƠM;yc{u۝ۨ"F6?TWQ]?b?6|^yC|j!z8mRcX:?X\%9{,xob#+`zKQXCY{'e agޚhVTw_0o:$/IE ~Nj.Li%QS*gUq^ݗbPd/w~sIgFEئ-]q)IȬ7]}Omv!ݔTڭjLDc:3ܼ "g_YM ulRy2p^cM ޖ%2j~5xѱU= +p)0Ɖ\h^Lb5 #y^G<]`;i#y=G{BIMk@٥(M;dוF%oZD[ͺWt= Ԋo\QN5F{YG)%7/J=N(p,Xɶxf3z%T7_[A#'z? zjB Q>/{0ZݨPquCĒ0 ysjLzȜ +6waa3tSHYW B <p'y:C94 yN +͢Z XZE-C33֬ϾSmNI=:,2JscgO+ish'U61Ϳ^kW:'\A7|ʥ6\򎶙ps: k6:'7Il˩ lH7vp6xr5Tyu,"N<=ik*|gat@+I)V=޶xz=?L"\jG> endobj +1863 0 obj << +/Type /Encoding +/Differences [2/fi/fl 19/ff/ffi 31/quotesingle 33/exclam/quotedbl 37/percent 40/parenleft/parenright 43/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon 61/equal 63/question 65/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft 93/bracketright 95/underscore 97/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z 124/bar] +>> endobj +727 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /SYFPBV+CMMI10 +/FontDescriptor 1868 0 R +/FirstChar 60 +/LastChar 62 +/Widths 1857 0 R +>> endobj +563 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /GNUTFA+CMMI8 +/FontDescriptor 1870 0 R +/FirstChar 45 +/LastChar 45 +/Widths 1859 0 R +>> endobj +1630 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /QMHUCV+CMMI9 +/FontDescriptor 1872 0 R +/FirstChar 60 +/LastChar 60 +/Widths 1854 0 R +>> endobj +539 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /UEIZYW+CMSY10 +/FontDescriptor 1874 0 R +/FirstChar 3 +/LastChar 3 +/Widths 1861 0 R +>> endobj +562 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /HTWALK+CMSY8 +/FontDescriptor 1876 0 R +/FirstChar 32 +/LastChar 32 +/Widths 1860 0 R +>> endobj +1164 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /GJVTUN+CMSY9 +/FontDescriptor 1878 0 R +/FirstChar 3 +/LastChar 3 +/Widths 1856 0 R +>> endobj +227 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /WRFWLY+BoschOfficeSans-Bold +/FontDescriptor 1880 0 R +/FirstChar 2 +/LastChar 121 +/Widths 1866 0 R +/Encoding 1863 0 R +>> endobj +228 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /HDQTIJ+BoschOfficeSans-Regular +/FontDescriptor 1882 0 R +/FirstChar 2 +/LastChar 124 +/Widths 1865 0 R +/Encoding 1863 0 R +>> endobj +535 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /GYDQSB+BoschOfficeSans-Italic +/FontDescriptor 1884 0 R +/FirstChar 2 +/LastChar 122 +/Widths 1864 0 R +/Encoding 1863 0 R +>> endobj +674 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /BOOWFK+t1xtt +/FontDescriptor 1888 0 R +/FirstChar 34 +/LastChar 125 +/Widths 1858 0 R +>> endobj +1165 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /SGLLBS+t1xtt-Slant_167 +/FontDescriptor 1890 0 R +/FirstChar 44 +/LastChar 122 +/Widths 1855 0 R +>> endobj +536 0 obj << +/Type /Font +/Subtype /Type1 +/BaseFont /WJPRUX+MarVoSym +/FontDescriptor 1886 0 R +/FirstChar 183 +/LastChar 183 +/Widths 1862 0 R +>> endobj +229 0 obj << +/Type /Pages +/Count 6 +/Parent 1891 0 R +/Kids [213 0 R 431 0 R 477 0 R 500 0 R 510 0 R 531 0 R] +>> endobj +566 0 obj << +/Type /Pages +/Count 6 +/Parent 1891 0 R +/Kids [558 0 R 608 0 R 637 0 R 652 0 R 669 0 R 686 0 R] +>> endobj +703 0 obj << +/Type /Pages +/Count 6 +/Parent 1891 0 R +/Kids [700 0 R 712 0 R 724 0 R 755 0 R 773 0 R 784 0 R] +>> endobj +816 0 obj << +/Type /Pages +/Count 6 +/Parent 1891 0 R +/Kids [806 0 R 839 0 R 872 0 R 908 0 R 942 0 R 971 0 R] +>> endobj +1016 0 obj << +/Type /Pages +/Count 6 +/Parent 1891 0 R +/Kids [1004 0 R 1044 0 R 1078 0 R 1103 0 R 1137 0 R 1160 0 R] +>> endobj +1199 0 obj << +/Type /Pages +/Count 6 +/Parent 1891 0 R +/Kids [1195 0 R 1224 0 R 1247 0 R 1277 0 R 1307 0 R 1332 0 R] +>> endobj +1363 0 obj << +/Type /Pages +/Count 6 +/Parent 1892 0 R +/Kids [1359 0 R 1394 0 R 1454 0 R 1467 0 R 1501 0 R 1550 0 R] +>> endobj +1572 0 obj << +/Type /Pages +/Count 6 +/Parent 1892 0 R +/Kids [1566 0 R 1580 0 R 1594 0 R 1622 0 R 1644 0 R 1658 0 R] +>> endobj +1687 0 obj << +/Type /Pages +/Count 6 +/Parent 1892 0 R +/Kids [1682 0 R 1704 0 R 1730 0 R 1756 0 R 1774 0 R 1794 0 R] +>> endobj +1835 0 obj << +/Type /Pages +/Count 2 +/Parent 1892 0 R +/Kids [1828 0 R 1843 0 R] +>> endobj +1891 0 obj << +/Type /Pages +/Count 36 +/Parent 1893 0 R +/Kids [229 0 R 566 0 R 703 0 R 816 0 R 1016 0 R 1199 0 R] +>> endobj +1892 0 obj << +/Type /Pages +/Count 20 +/Parent 1893 0 R +/Kids [1363 0 R 1572 0 R 1687 0 R 1835 0 R] +>> endobj +1893 0 obj << +/Type /Pages +/Count 56 +/Kids [1891 0 R 1892 0 R] +>> endobj +1894 0 obj << +/Type /Outlines +/First 6 0 R +/Last 150 0 R +/Count 5 +>> endobj +210 0 obj << +/Title 211 0 R +/A 208 0 R +/Parent 202 0 R +/Prev 206 0 R +>> endobj +206 0 obj << +/Title 207 0 R +/A 204 0 R +/Parent 202 0 R +/Next 210 0 R +>> endobj +202 0 obj << +/Title 203 0 R +/A 200 0 R +/Parent 150 0 R +/Prev 190 0 R +/First 206 0 R +/Last 210 0 R +/Count -2 +>> endobj +198 0 obj << +/Title 199 0 R +/A 196 0 R +/Parent 190 0 R +/Prev 194 0 R +>> endobj +194 0 obj << +/Title 195 0 R +/A 192 0 R +/Parent 190 0 R +/Next 198 0 R +>> endobj +190 0 obj << +/Title 191 0 R +/A 188 0 R +/Parent 150 0 R +/Prev 178 0 R +/Next 202 0 R +/First 194 0 R +/Last 198 0 R +/Count -2 +>> endobj +186 0 obj << +/Title 187 0 R +/A 184 0 R +/Parent 178 0 R +/Prev 182 0 R +>> endobj +182 0 obj << +/Title 183 0 R +/A 180 0 R +/Parent 178 0 R +/Next 186 0 R +>> endobj +178 0 obj << +/Title 179 0 R +/A 176 0 R +/Parent 150 0 R +/Prev 166 0 R +/Next 190 0 R +/First 182 0 R +/Last 186 0 R +/Count -2 +>> endobj +174 0 obj << +/Title 175 0 R +/A 172 0 R +/Parent 166 0 R +/Prev 170 0 R +>> endobj +170 0 obj << +/Title 171 0 R +/A 168 0 R +/Parent 166 0 R +/Next 174 0 R +>> endobj +166 0 obj << +/Title 167 0 R +/A 164 0 R +/Parent 150 0 R +/Prev 154 0 R +/Next 178 0 R +/First 170 0 R +/Last 174 0 R +/Count -2 +>> endobj +162 0 obj << +/Title 163 0 R +/A 160 0 R +/Parent 154 0 R +/Prev 158 0 R +>> endobj +158 0 obj << +/Title 159 0 R +/A 156 0 R +/Parent 154 0 R +/Next 162 0 R +>> endobj +154 0 obj << +/Title 155 0 R +/A 152 0 R +/Parent 150 0 R +/Next 166 0 R +/First 158 0 R +/Last 162 0 R +/Count -2 +>> endobj +150 0 obj << +/Title 151 0 R +/A 148 0 R +/Parent 1894 0 R +/Prev 126 0 R +/First 154 0 R +/Last 202 0 R +/Count -5 +>> endobj +146 0 obj << +/Title 147 0 R +/A 144 0 R +/Parent 130 0 R +/Prev 142 0 R +>> endobj +142 0 obj << +/Title 143 0 R +/A 140 0 R +/Parent 130 0 R +/Prev 138 0 R +/Next 146 0 R +>> endobj +138 0 obj << +/Title 139 0 R +/A 136 0 R +/Parent 130 0 R +/Prev 134 0 R +/Next 142 0 R +>> endobj +134 0 obj << +/Title 135 0 R +/A 132 0 R +/Parent 130 0 R +/Next 138 0 R +>> endobj +130 0 obj << +/Title 131 0 R +/A 128 0 R +/Parent 126 0 R +/First 134 0 R +/Last 146 0 R +/Count -4 +>> endobj +126 0 obj << +/Title 127 0 R +/A 124 0 R +/Parent 1894 0 R +/Prev 94 0 R +/Next 150 0 R +/First 130 0 R +/Last 130 0 R +/Count -1 +>> endobj +122 0 obj << +/Title 123 0 R +/A 120 0 R +/Parent 106 0 R +/Prev 118 0 R +>> endobj +118 0 obj << +/Title 119 0 R +/A 116 0 R +/Parent 106 0 R +/Prev 114 0 R +/Next 122 0 R +>> endobj +114 0 obj << +/Title 115 0 R +/A 112 0 R +/Parent 106 0 R +/Prev 110 0 R +/Next 118 0 R +>> endobj +110 0 obj << +/Title 111 0 R +/A 108 0 R +/Parent 106 0 R +/Next 114 0 R +>> endobj +106 0 obj << +/Title 107 0 R +/A 104 0 R +/Parent 94 0 R +/Prev 102 0 R +/First 110 0 R +/Last 122 0 R +/Count -4 +>> endobj +102 0 obj << +/Title 103 0 R +/A 100 0 R +/Parent 94 0 R +/Prev 98 0 R +/Next 106 0 R +>> endobj +98 0 obj << +/Title 99 0 R +/A 96 0 R +/Parent 94 0 R +/Next 102 0 R +>> endobj +94 0 obj << +/Title 95 0 R +/A 92 0 R +/Parent 1894 0 R +/Prev 54 0 R +/Next 126 0 R +/First 98 0 R +/Last 106 0 R +/Count -3 +>> endobj +90 0 obj << +/Title 91 0 R +/A 88 0 R +/Parent 54 0 R +/Prev 86 0 R +>> endobj +86 0 obj << +/Title 87 0 R +/A 84 0 R +/Parent 54 0 R +/Prev 82 0 R +/Next 90 0 R +>> endobj +82 0 obj << +/Title 83 0 R +/A 80 0 R +/Parent 54 0 R +/Prev 78 0 R +/Next 86 0 R +>> endobj +78 0 obj << +/Title 79 0 R +/A 76 0 R +/Parent 54 0 R +/Prev 74 0 R +/Next 82 0 R +>> endobj +74 0 obj << +/Title 75 0 R +/A 72 0 R +/Parent 54 0 R +/Prev 70 0 R +/Next 78 0 R +>> endobj +70 0 obj << +/Title 71 0 R +/A 68 0 R +/Parent 54 0 R +/Prev 66 0 R +/Next 74 0 R +>> endobj +66 0 obj << +/Title 67 0 R +/A 64 0 R +/Parent 54 0 R +/Prev 62 0 R +/Next 70 0 R +>> endobj +62 0 obj << +/Title 63 0 R +/A 60 0 R +/Parent 54 0 R +/Prev 58 0 R +/Next 66 0 R +>> endobj +58 0 obj << +/Title 59 0 R +/A 56 0 R +/Parent 54 0 R +/Next 62 0 R +>> endobj +54 0 obj << +/Title 55 0 R +/A 52 0 R +/Parent 1894 0 R +/Prev 6 0 R +/Next 94 0 R +/First 58 0 R +/Last 90 0 R +/Count -9 +>> endobj +50 0 obj << +/Title 51 0 R +/A 48 0 R +/Parent 34 0 R +/Prev 46 0 R +>> endobj +46 0 obj << +/Title 47 0 R +/A 44 0 R +/Parent 34 0 R +/Prev 42 0 R +/Next 50 0 R +>> endobj +42 0 obj << +/Title 43 0 R +/A 40 0 R +/Parent 34 0 R +/Prev 38 0 R +/Next 46 0 R +>> endobj +38 0 obj << +/Title 39 0 R +/A 36 0 R +/Parent 34 0 R +/Next 42 0 R +>> endobj +34 0 obj << +/Title 35 0 R +/A 32 0 R +/Parent 6 0 R +/Prev 14 0 R +/First 38 0 R +/Last 50 0 R +/Count -4 +>> endobj +30 0 obj << +/Title 31 0 R +/A 28 0 R +/Parent 14 0 R +/Prev 26 0 R +>> endobj +26 0 obj << +/Title 27 0 R +/A 24 0 R +/Parent 14 0 R +/Prev 22 0 R +/Next 30 0 R +>> endobj +22 0 obj << +/Title 23 0 R +/A 20 0 R +/Parent 14 0 R +/Prev 18 0 R +/Next 26 0 R +>> endobj +18 0 obj << +/Title 19 0 R +/A 16 0 R +/Parent 14 0 R +/Next 22 0 R +>> endobj +14 0 obj << +/Title 15 0 R +/A 12 0 R +/Parent 6 0 R +/Prev 10 0 R +/Next 34 0 R +/First 18 0 R +/Last 30 0 R +/Count -4 +>> endobj +10 0 obj << +/Title 11 0 R +/A 8 0 R +/Parent 6 0 R +/Next 14 0 R +>> endobj +6 0 obj << +/Title 7 0 R +/A 4 0 R +/Parent 1894 0 R +/Next 54 0 R +/First 10 0 R +/Last 34 0 R +/Count -3 +>> endobj +1895 0 obj << +/Names [(Doc-Start) 226 0 R (Item.1) 675 0 R (Item.2) 676 0 R (Item.3) 728 0 R (Item.4) 729 0 R (Item.5) 730 0 R] +/Limits [(Doc-Start) (Item.5)] +>> endobj +1896 0 obj << +/Names [(chapter*.1) 480 0 R (chapter.1) 5 0 R (chapter.2) 53 0 R (chapter.3) 93 0 R (chapter.4) 125 0 R (chapter.5) 149 0 R] +/Limits [(chapter*.1) (chapter.5)] +>> endobj +1897 0 obj << +/Names [(ex_step_by_step) 672 0 R (ex_step_by_step_exConclusion) 788 0 R (ex_step_by_step_exDataRate) 731 0 R (ex_step_by_step_exExampleCode) 689 0 R (ex_step_by_step_exHelloIaq) 690 0 R (ex_step_by_step_exMod) 732 0 R] +/Limits [(ex_step_by_step) (ex_step_by_step_exMod)] +>> endobj +1898 0 obj << +/Names [(ex_step_by_step_exPrereq) 673 0 R (ex_step_by_step_exSelfHeating) 776 0 R (ex_step_by_step_exSetup) 677 0 R (ex_step_by_step_exSimMultSensors) 787 0 R (faq) 809 0 R (faq_faqErrorSensorControl) 1086 0 R] +/Limits [(ex_step_by_step_exPrereq) (faq_faqErrorSensorControl)] +>> endobj +1899 0 obj << +/Names [(faq_faqErrorSet) 1011 0 R (faq_faqErrorUpdateSubscription) 911 0 R (faq_faqError_BSEC_E_CONFIG_CRCMISMATCH) 1049 0 R (faq_faqError_BSEC_E_CONFIG_EMPTY) 1052 0 R (faq_faqError_BSEC_E_CONFIG_FEATUREMISMATCH) 1015 0 R (faq_faqError_BSEC_E_CONFIG_INSUFFICIENTBUFFER) 1084 0 R] +/Limits [(faq_faqErrorSet) (faq_faqError_BSEC_E_CONFIG_INSUFFICIENTBUFFER)] +>> endobj +1900 0 obj << +/Names [(faq_faqError_BSEC_E_CONFIG_INSUFFICIENTWORKBUFFER) 1054 0 R (faq_faqError_BSEC_E_CONFIG_INVALIDSTRINGSIZE) 1081 0 R (faq_faqError_BSEC_E_CONFIG_VERSIONMISMATCH) 1012 0 R (faq_faqError_BSEC_E_DOSTEPS_DUPLICATEINPUT) 845 0 R (faq_faqError_BSEC_E_DOSTEPS_INVALIDINPUT) 814 0 R (faq_faqError_BSEC_E_DOSTEPS_VALUELIMITS) 843 0 R] +/Limits [(faq_faqError_BSEC_E_CONFIG_INSUFFICIENTWORKBUFFER) (faq_faqError_BSEC_E_DOSTEPS_VALUELIMITS)] +>> endobj +1901 0 obj << +/Names [(faq_faqError_BSEC_E_SU_DUPLICATEGATE) 916 0 R (faq_faqError_BSEC_E_SU_GATECOUNTEXCEEDSARRAY) 947 0 R (faq_faqError_BSEC_E_SU_HIGHHEATERONDURATION) 976 0 R (faq_faqError_BSEC_E_SU_INVALIDSAMPLERATE) 945 0 R (faq_faqError_BSEC_E_SU_MULTGASSAMPLINTVL) 974 0 R (faq_faqError_BSEC_E_SU_SAMPLERATELIMITS) 914 0 R] +/Limits [(faq_faqError_BSEC_E_SU_DUPLICATEGATE) (faq_faqError_BSEC_E_SU_SAMPLERATELIMITS)] +>> endobj +1902 0 obj << +/Names [(faq_faqError_BSEC_E_SU_SAMPLINTVLINTEGERMULT) 949 0 R (faq_faqError_BSEC_E_SU_WRONGDATARATE) 912 0 R (faq_faqError_BSEC_I_DOSTEPS_NOOUTPUTSRETURNABLE) 875 0 R (faq_faqError_BSEC_I_SU_SUBSCRIBEDOUTPUTGATES) 980 0 R (faq_faqError_BSEC_W_DOSTEPS_EXCESSOUTPUTS) 878 0 R (faq_faqError_BSEC_W_DOSTEPS_TSINTRADIFFOUTOFRANGE) 881 0 R] +/Limits [(faq_faqError_BSEC_E_SU_SAMPLINTVLINTEGERMULT) (faq_faqError_BSEC_W_DOSTEPS_TSINTRADIFFOUTOFRANGE)] +>> endobj +1903 0 obj << +/Names [(faq_faqError_BSEC_W_SC_CALL_TIMING_VIOLATION) 1087 0 R (faq_faqError_BSEC_W_SC_MODEXCEEDULPTIMELIMIT) 1106 0 R (faq_faqError_BSEC_W_SC_MODINSUFFICIENTWAITTIME) 1089 0 R (faq_faqError_BSEC_W_SU_MODINNOULP) 1009 0 R (faq_faqError_BSEC_W_SU_UNKNOWNOUTPUTGATE) 978 0 R (faq_faqErrors) 812 0 R] +/Limits [(faq_faqError_BSEC_W_SC_CALL_TIMING_VIOLATION) (faq_faqErrors)] +>> endobj +1904 0 obj << +/Names [(faq_faqErrorsDoSteps) 813 0 R (faq_faqNoOutput) 810 0 R (faq_faqOutputZero) 811 0 R (figure.1.1) 641 0 R (group__bsec__interface) 1140 0 R (group__bsec__interface_ga109bf6e051d8635725da5bedeecf9eb2) 1604 0 R] +/Limits [(faq_faqErrorsDoSteps) (group__bsec__interface_ga109bf6e051d8635725da5bedeecf9eb2)] +>> endobj +1905 0 obj << +/Names [(group__bsec__interface_ga157748484a31501acfeee3df656adf54) 695 0 R (group__bsec__interface_ga216b6f4807227a2c6a183aaa9a8b8d7c) 1402 0 R (group__bsec__interface_ga339df4596b1c0e02eede5d54aa0f2858) 719 0 R (group__bsec__interface_ga49210a8ceb36d8610075b9220a0cdec6) 648 0 R (group__bsec__interface_ga51bcd13812ea62b35749284385a72f98) 571 0 R (group__bsec__interface_ga5e4d504611e1c4a0219861bbcf2ad650) 851 0 R] +/Limits [(group__bsec__interface_ga157748484a31501acfeee3df656adf54) (group__bsec__interface_ga5e4d504611e1c4a0219861bbcf2ad650)] +>> endobj +1906 0 obj << +/Names [(group__bsec__interface_ga6c18af8c9be0813f7d8e3547e58428db) 767 0 R (group__bsec__interface_ga70e68dbe60e2ba462537540d60192a2e) 1024 0 R (group__bsec__interface_ga78ceba2853489683f274831b41460d3e) 1606 0 R (group__bsec__interface_ga7a53a20ee206f9b4c30c1d63395b3c49) 1635 0 R (group__bsec__interface_ga832388c889417ed197609d9965625bfe) 888 0 R (group__bsec__interface_ga847070d3ecfa970cb2f716a2d11fe219) 763 0 R] +/Limits [(group__bsec__interface_ga6c18af8c9be0813f7d8e3547e58428db) (group__bsec__interface_ga847070d3ecfa970cb2f716a2d11fe219)] +>> endobj +1907 0 obj << +/Names [(group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) 1233 0 R (group__bsec__interface_ga8798390d842b820e79e9cbf8ba4d516e) 1064 0 R (group__bsec__interface_ga8967694b8e412412977488e3e6fdb3ed) 1626 0 R (group__bsec__interface_ga91d06ad8cd57ceae529b66dd30ca4d8c) 821 0 R (group__bsec__interface_ga9de59ebc6a2504f15ba51d6d983faae8) 545 0 R (group__bsec__interface_ga9e190b85f103d75ede9477227567e799) 1628 0 R] +/Limits [(group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) (group__bsec__interface_ga9e190b85f103d75ede9477227567e799)] +>> endobj +1908 0 obj << +/Names [(group__bsec__interface_gaa8bb29e07b5b96d6f576962aef094466) 1633 0 R (group__bsec__interface_gab2122fa3909f67a2c786ecd2d8993977) 1258 0 R (group__bsec__interface_gac182d75bb2ca95c32ba4b98a136ad081) 1651 0 R (group__bsec__interface_gac4726411862aa2d383e3d3b9ca279a5d) 547 0 R (group__bsec__interface_gac79a471c6e20fd8c17577f6f69a9469f) 546 0 R (group__bsec__interface_gacf6a5816306dfc1e3c0b26a6d459fc71) 737 0 R] +/Limits [(group__bsec__interface_gaa8bb29e07b5b96d6f576962aef094466) (group__bsec__interface_gacf6a5816306dfc1e3c0b26a6d459fc71)] +>> endobj +1909 0 obj << +/Names [(group__bsec__interface_gad8f5b300b8cf00c73d837660a05e0507) 1631 0 R (group__bsec__interface_gae89eedb131288b72c267c02ec9dea8e5) 1281 0 R (group__bsec__interface_gae8fc6d614d6a40f0088262dccbb960dc) 1025 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a06af666972edcebef3302d015f1d56c5) 764 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a0a7f6e18d053c4af5f26f3852ef6ae14) 889 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a178d85d77cf448057897e9b0e0932e33) 924 0 R] +/Limits [(group__bsec__interface_gad8f5b300b8cf00c73d837660a05e0507) (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a178d85d77cf448057897e9b0e0932e33)] +>> endobj +1910 0 obj << +/Names [(group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a17bf2f98e8c59e29a8eda42c692e5b3d) 822 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a1ba36727b09433f1ae925646864d8a61) 956 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a2175fa185bbcaafb28b5c73ca8ff2394) 955 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a360b54bd3d53b377010d3afa29e04b89) 1471 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a3975b1dfa3c35829ce97814e04c143ce) 1095 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a465d9fc420b12cfe3d24e937c5e5f110) 922 0 R] +/Limits [(group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a17bf2f98e8c59e29a8eda42c692e5b3d) (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a465d9fc420b12cfe3d24e937c5e5f110)] +>> endobj +1911 0 obj << +/Names [(group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a5946f4a20c9ba0cd83fed96ce3103c06) 854 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a5fa05dbfcae3caa309d9f62422eb61f3) 1470 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a6d707845ea3200a1a45726c2700333e5) 890 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a76ee5462e14060fcc889bd889b6f7b3c) 1062 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a7f2cea23dbdaeddb2d91d861c608f239) 1021 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a81fd5b4436be253e0ef3ebdf51b3d193) 852 0 R] +/Limits [(group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a5946f4a20c9ba0cd83fed96ce3103c06) (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a81fd5b4436be253e0ef3ebdf51b3d193)] +>> endobj +1912 0 obj << +/Names [(group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a87428d7a4a5d52e48af8db92ab71c83e) 1022 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a89e2eec8486c2880912af108bbed3593) 1061 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a8d7a8938ef9616b935094ed223122914) 1472 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a978a12de4397b9c0814e07650f8a1b46) 1473 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858aa1a59666f0af5463087f528473d4ff8c) 957 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858aa238cfe9b905deda6f1823ca32378f91) 1098 0 R] +/Limits [(group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858a87428d7a4a5d52e48af8db92ab71c83e) (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858aa238cfe9b905deda6f1823ca32378f91)] +>> endobj +1913 0 obj << +/Names [(group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858aa5de81322b446f028934aa30c4826610) 923 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ab5356ac211454109eac007fcc458a6dd) 1063 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ab78d6a66fc7a4205a6caf69ce4f161e4) 985 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ab810ba8e0fc4425c37aa460e57dc8129) 986 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ab87b5a5abeadc975488850bece3dbf84) 887 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ac2600415df086d1a9b36105ac29396de) 1023 0 R] +/Limits [(group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858aa5de81322b446f028934aa30c4826610) (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ac2600415df086d1a9b36105ac29396de)] +>> endobj +1914 0 obj << +/Names [(group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ac2eca8b900ce91ee50004c549a409024) 1096 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ac5899ebab7738c4c99b19ad9d934f8d1) 987 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ada34397de8a8e88ad72e8546748866cd) 1097 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ae5d8b5de70152c09b4153bcb41997ee7) 1060 0 R (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ae8e920ecde96d7d79b8962da38233880) 1112 0 R (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a161b8c7ebab8fcea5590d37295d31b35) 1555 0 R] +/Limits [(group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858ac2eca8b900ce91ee50004c549a409024) (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a161b8c7ebab8fcea5590d37295d31b35)] +>> endobj +1915 0 obj << +/Names [(group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a381b968290256e77d50c4f7e92bfb27c) 1208 0 R (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a3eb936f08a8f6f01d4c683a6ba0c9d3a) 853 0 R (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a9202c1504b464b16f432da6a4dd582a2) 1506 0 R (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650aaf8083737123a5c4d012783ee10a522d) 1553 0 R (group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650ad30626f0de1be98802cb5e50c8b67207) 1205 0 R (group__bsec__interface_gga832388c889417ed197609d9965625bfea134c7c7f7bd544e304209368ec72467a) 1570 0 R] +/Limits [(group__bsec__interface_gga5e4d504611e1c4a0219861bbcf2ad650a381b968290256e77d50c4f7e92bfb27c) (group__bsec__interface_gga832388c889417ed197609d9965625bfea134c7c7f7bd544e304209368ec72467a)] +>> endobj +1916 0 obj << +/Names [(group__bsec__interface_gga832388c889417ed197609d9965625bfea1369c4abd0a13602b197dfc94ae6ff7d) 1571 0 R (group__bsec__interface_gga832388c889417ed197609d9965625bfea1aac5358fbe12702647de81cacd6d062) 631 0 R (group__bsec__interface_gga832388c889417ed197609d9965625bfea1c0eee38a61b05c5239c871f9cdc85a4) 629 0 R (group__bsec__interface_gga832388c889417ed197609d9965625bfea2368e219ebbce4e1ede7209486283a6e) 627 0 R (group__bsec__interface_gga832388c889417ed197609d9965625bfea4e05ab48912e70486351f5199910fcb9) 628 0 R (group__bsec__interface_gga832388c889417ed197609d9965625bfea5f42ad42c6bb71627b5ce91d4c410985) 623 0 R] +/Limits [(group__bsec__interface_gga832388c889417ed197609d9965625bfea1369c4abd0a13602b197dfc94ae6ff7d) (group__bsec__interface_gga832388c889417ed197609d9965625bfea5f42ad42c6bb71627b5ce91d4c410985)] +>> endobj +1917 0 obj << +/Names [(group__bsec__interface_gga832388c889417ed197609d9965625bfea64d14f069c838de2d2c1f3f436ef6108) 626 0 R (group__bsec__interface_gga832388c889417ed197609d9965625bfea684dc07fef8c1723e60211068365b30a) 1569 0 R (group__bsec__interface_gga832388c889417ed197609d9965625bfea78b917ecbffc8eac6875644c4136a26d) 1600 0 R (group__bsec__interface_gga832388c889417ed197609d9965625bfea792b0fbeffceea19513cc0bd31ce7ef7) 624 0 R (group__bsec__interface_gga832388c889417ed197609d9965625bfea9fe6dbe27991e3f9f1a444c40b30af3d) 630 0 R (group__bsec__interface_gga832388c889417ed197609d9965625bfeab9d6e7e5bb1c5f99d339a649d588b3cc) 625 0 R] +/Limits [(group__bsec__interface_gga832388c889417ed197609d9965625bfea64d14f069c838de2d2c1f3f436ef6108) (group__bsec__interface_gga832388c889417ed197609d9965625bfeab9d6e7e5bb1c5f99d339a649d588b3cc)] +>> endobj +1918 0 obj << +/Names [(group__bsec__interface_gga832388c889417ed197609d9965625bfeaf2cfe69583f70b1196660122ab5a94b6) 1599 0 R (index) 513 0 R (index_intguideBSECConfiguration) 540 0 R (index_intguideBSECSolutions) 537 0 R (index_intguideLibrary) 519 0 R (index_intguideLibraryOutputs) 612 0 R] +/Limits [(group__bsec__interface_gga832388c889417ed197609d9965625bfeaf2cfe69583f70b1196660122ab5a94b6) (index_intguideLibraryOutputs)] +>> endobj +1919 0 obj << +/Names [(index_intguideOverviewSensors) 514 0 R (index_intguideQuickintroCodeBuild) 655 0 R (index_intguideRequirements) 616 0 R (index_intguideRequirementsFramework) 618 0 R (index_intguideRequirementsHardware) 617 0 R (index_intguideRequirementsInputs) 642 0 R] +/Limits [(index_intguideOverviewSensors) (index_intguideRequirementsInputs)] +>> endobj +1920 0 obj << +/Names [(index_intguideSolutionKeyfeature) 564 0 R (page.1) 225 0 R (page.10) 654 0 R (page.11) 671 0 R (page.12) 688 0 R (page.13) 702 0 R] +/Limits [(index_intguideSolutionKeyfeature) (page.13)] +>> endobj +1921 0 obj << +/Names [(page.14) 714 0 R (page.15) 726 0 R (page.16) 757 0 R (page.17) 775 0 R (page.18) 786 0 R (page.19) 808 0 R] +/Limits [(page.14) (page.19)] +>> endobj +1922 0 obj << +/Names [(page.2) 433 0 R (page.20) 841 0 R (page.21) 874 0 R (page.22) 910 0 R (page.23) 944 0 R (page.24) 973 0 R] +/Limits [(page.2) (page.24)] +>> endobj +1923 0 obj << +/Names [(page.25) 1006 0 R (page.26) 1046 0 R (page.27) 1080 0 R (page.28) 1105 0 R (page.29) 1139 0 R (page.3) 479 0 R] +/Limits [(page.25) (page.3)] +>> endobj +1924 0 obj << +/Names [(page.30) 1162 0 R (page.31) 1197 0 R (page.32) 1226 0 R (page.33) 1249 0 R (page.34) 1279 0 R (page.35) 1309 0 R] +/Limits [(page.30) (page.35)] +>> endobj +1925 0 obj << +/Names [(page.36) 1334 0 R (page.37) 1361 0 R (page.38) 1396 0 R (page.39) 1456 0 R (page.4) 502 0 R (page.40) 1469 0 R] +/Limits [(page.36) (page.40)] +>> endobj +1926 0 obj << +/Names [(page.41) 1503 0 R (page.42) 1552 0 R (page.43) 1568 0 R (page.44) 1582 0 R (page.45) 1596 0 R (page.46) 1624 0 R] +/Limits [(page.41) (page.46)] +>> endobj +1927 0 obj << +/Names [(page.47) 1646 0 R (page.48) 1660 0 R (page.49) 1684 0 R (page.5) 512 0 R (page.50) 1706 0 R (page.51) 1732 0 R] +/Limits [(page.47) (page.51)] +>> endobj +1928 0 obj << +/Names [(page.52) 1758 0 R (page.53) 1776 0 R (page.54) 1796 0 R (page.55) 1830 0 R (page.56) 1845 0 R (page.6) 533 0 R] +/Limits [(page.52) (page.6)] +>> endobj +1929 0 obj << +/Names [(page.7) 560 0 R (page.8) 610 0 R (page.9) 639 0 R (section*.10) 1146 0 R (section*.11) 1685 0 R (section*.12) 1735 0 R] +/Limits [(page.7) (section*.12)] +>> endobj +1930 0 obj << +/Names [(section*.13) 1762 0 R (section*.14) 1801 0 R (section*.15) 1834 0 R (section*.2) 515 0 R (section*.3) 516 0 R (section*.4) 517 0 R] +/Limits [(section*.13) (section*.4)] +>> endobj +1931 0 obj << +/Names [(section*.5) 518 0 R (section*.6) 534 0 R (section*.7) 565 0 R (section*.8) 611 0 R (section*.9) 1141 0 R (section.1.1) 9 0 R] +/Limits [(section*.5) (section.1.1)] +>> endobj +1932 0 obj << +/Names [(section.1.2) 13 0 R (section.1.3) 33 0 R (section.2.1) 57 0 R (section.2.2) 61 0 R (section.2.3) 65 0 R (section.2.4) 69 0 R] +/Limits [(section.1.2) (section.2.4)] +>> endobj +1933 0 obj << +/Names [(section.2.5) 73 0 R (section.2.6) 77 0 R (section.2.7) 81 0 R (section.2.8) 85 0 R (section.2.9) 89 0 R (section.3.1) 97 0 R] +/Limits [(section.2.5) (section.3.1)] +>> endobj +1934 0 obj << +/Names [(section.3.2) 101 0 R (section.3.3) 105 0 R (section.4.1) 129 0 R (section.5.1) 153 0 R (section.5.2) 165 0 R (section.5.3) 177 0 R] +/Limits [(section.3.2) (section.5.3)] +>> endobj +1935 0 obj << +/Names [(section.5.4) 189 0 R (section.5.5) 201 0 R (structbsec__bme__settings__t) 1318 0 R (structbsec__bme__settings__t_a300b00f9580b9af76d441cd4db8d7083) 1319 0 R (structbsec__bme__settings__t_a4407b04a0d403a9fb35fd322999113a9) 1695 0 R (structbsec__bme__settings__t_a500cfa825fa7c6ead38eba7bf7b4b955) 1693 0 R] +/Limits [(section.5.4) (structbsec__bme__settings__t_a500cfa825fa7c6ead38eba7bf7b4b955)] +>> endobj +1936 0 obj << +/Names [(structbsec__bme__settings__t_a7984769929826a36f59e7b9dfd6e7447) 1698 0 R (structbsec__bme__settings__t_aa197109b334a2a443d9349812865bff1) 1692 0 R (structbsec__bme__settings__t_aa4a1eeae4e7fe44a8093a3862996fbac) 1699 0 R (structbsec__bme__settings__t_aecd99f57df2bc07663a7de83f877228e) 1696 0 R (structbsec__bme__settings__t_aed0450820cd910e06e26fba04256bc24) 1697 0 R (structbsec__bme__settings__t_afc3ab51b88f259e5cb76c10ee0732e5b) 1694 0 R] +/Limits [(structbsec__bme__settings__t_a7984769929826a36f59e7b9dfd6e7447) (structbsec__bme__settings__t_afc3ab51b88f259e5cb76c10ee0732e5b)] +>> endobj +1937 0 obj << +/Names [(structbsec__input__t) 1171 0 R (structbsec__input__t_a000803d39a2be521f2b5e7017c31303b) 1206 0 R (structbsec__input__t_a90d515d57b274dfde74a281de469a3ad) 1207 0 R (structbsec__input__t_a916867811b65988853b69f729b91c262) 1204 0 R (structbsec__input__t_ab535651a26b2e2c44c83e441385e3def) 1741 0 R (structbsec__output__t) 1172 0 R] +/Limits [(structbsec__input__t) (structbsec__output__t)] +>> endobj +1938 0 obj << +/Names [(structbsec__output__t_a1a046572bcb85189df10c9ac8f362999) 1768 0 R (structbsec__output__t_a74a917725569b67eb14e78a34fa9c55d) 1767 0 R (structbsec__output__t_a91006cd8f20e88a5ff2b6ebfbecdeb95) 1769 0 R (structbsec__output__t_ab188da3e58d458f4b94a64379404da46) 1562 0 R (structbsec__output__t_ac4e7ef20f713075472bc953efb13957f) 632 0 R (structbsec__sensor__configuration__t) 762 0 R] +/Limits [(structbsec__output__t_a1a046572bcb85189df10c9ac8f362999) (structbsec__sensor__configuration__t)] +>> endobj +1939 0 obj << +/Names [(structbsec__sensor__configuration__t_a150ba3a737fb75f56052c60d55246ae4) 766 0 R (structbsec__sensor__configuration__t_a92665e4f2f3cd5237814488774c0f546) 765 0 R (structbsec__version__t) 1259 0 R (structbsec__version__t_a3d9b11a72027026f492a438342a2efbd) 1291 0 R (structbsec__version__t_a5daac4534748c6f0be9f009273613b02) 1292 0 R (structbsec__version__t_a9d47d254d17740222791fa0f53c7ac52) 1290 0 R] +/Limits [(structbsec__sensor__configuration__t_a150ba3a737fb75f56052c60d55246ae4) (structbsec__version__t_a9d47d254d17740222791fa0f53c7ac52)] +>> endobj +1940 0 obj << +/Names [(structbsec__version__t_af823001b85e62b90279f9e6f3c478c23) 1289 0 R (subsection.1.2.1) 17 0 R (subsection.1.2.2) 21 0 R (subsection.1.2.3) 25 0 R (subsection.1.2.4) 29 0 R (subsection.1.3.1) 37 0 R] +/Limits [(structbsec__version__t_af823001b85e62b90279f9e6f3c478c23) (subsection.1.3.1)] +>> endobj +1941 0 obj << +/Names [(subsection.1.3.2) 41 0 R (subsection.1.3.3) 45 0 R (subsection.1.3.4) 49 0 R (subsection.3.3.1) 109 0 R (subsection.3.3.2) 113 0 R (subsection.3.3.3) 117 0 R] +/Limits [(subsection.1.3.2) (subsection.3.3.3)] +>> endobj +1942 0 obj << +/Names [(subsection.3.3.4) 121 0 R (subsection.4.1.1) 133 0 R (subsection.4.1.2) 137 0 R (subsection.4.1.3) 141 0 R (subsection.4.1.4) 145 0 R (subsection.5.1.1) 157 0 R] +/Limits [(subsection.3.3.4) (subsection.5.1.1)] +>> endobj +1943 0 obj << +/Names [(subsection.5.1.2) 161 0 R (subsection.5.2.1) 169 0 R (subsection.5.2.2) 173 0 R (subsection.5.3.1) 181 0 R (subsection.5.3.2) 185 0 R (subsection.5.4.1) 193 0 R] +/Limits [(subsection.5.1.2) (subsection.5.4.1)] +>> endobj +1944 0 obj << +/Names [(subsection.5.4.2) 197 0 R (subsection.5.5.1) 205 0 R (subsection.5.5.2) 209 0 R (subsubsection.3.3.1.1) 815 0 R (subsubsection.3.3.1.2) 844 0 R (subsubsection.3.3.1.3) 846 0 R] +/Limits [(subsection.5.4.2) (subsubsection.3.3.1.3)] +>> endobj +1945 0 obj << +/Names [(subsubsection.3.3.1.4) 876 0 R (subsubsection.3.3.1.5) 879 0 R (subsubsection.3.3.1.6) 882 0 R (subsubsection.3.3.2.1) 913 0 R (subsubsection.3.3.2.10) 1007 0 R (subsubsection.3.3.2.11) 1010 0 R] +/Limits [(subsubsection.3.3.1.4) (subsubsection.3.3.2.11)] +>> endobj +1946 0 obj << +/Names [(subsubsection.3.3.2.2) 915 0 R (subsubsection.3.3.2.3) 917 0 R (subsubsection.3.3.2.4) 946 0 R (subsubsection.3.3.2.5) 948 0 R (subsubsection.3.3.2.6) 950 0 R (subsubsection.3.3.2.7) 975 0 R] +/Limits [(subsubsection.3.3.2.2) (subsubsection.3.3.2.7)] +>> endobj +1947 0 obj << +/Names [(subsubsection.3.3.2.8) 977 0 R (subsubsection.3.3.2.9) 979 0 R (subsubsection.3.3.3.1) 1013 0 R (subsubsection.3.3.3.2) 1047 0 R (subsubsection.3.3.3.3) 1050 0 R (subsubsection.3.3.3.4) 1053 0 R] +/Limits [(subsubsection.3.3.2.8) (subsubsection.3.3.3.4)] +>> endobj +1948 0 obj << +/Names [(subsubsection.3.3.3.5) 1055 0 R (subsubsection.3.3.3.6) 1082 0 R (subsubsection.3.3.3.7) 1085 0 R (subsubsection.3.3.4.1) 1088 0 R (subsubsection.3.3.4.2) 1090 0 R (subsubsection.3.3.4.3) 1107 0 R] +/Limits [(subsubsection.3.3.3.5) (subsubsection.3.3.4.3)] +>> endobj +1949 0 obj << +/Names [(subsubsection.4.1.2.1) 1163 0 R (subsubsection.4.1.2.10) 1362 0 R (subsubsection.4.1.2.2) 1198 0 R (subsubsection.4.1.2.3) 1228 0 R (subsubsection.4.1.2.4) 1252 0 R (subsubsection.4.1.2.5) 1280 0 R] +/Limits [(subsubsection.4.1.2.1) (subsubsection.4.1.2.5)] +>> endobj +1950 0 obj << +/Names [(subsubsection.4.1.2.6) 1282 0 R (subsubsection.4.1.2.7) 1284 0 R (subsubsection.4.1.2.8) 1312 0 R (subsubsection.4.1.2.9) 1335 0 R (subsubsection.4.1.3.1) 1457 0 R (subsubsection.4.1.3.2) 1504 0 R] +/Limits [(subsubsection.4.1.2.6) (subsubsection.4.1.3.2)] +>> endobj +1951 0 obj << +/Names [(subsubsection.4.1.3.3) 1556 0 R (subsubsection.4.1.4.1) 1601 0 R (subsubsection.4.1.4.10) 1636 0 R (subsubsection.4.1.4.11) 1647 0 R (subsubsection.4.1.4.12) 1648 0 R (subsubsection.4.1.4.13) 1649 0 R] +/Limits [(subsubsection.4.1.3.3) (subsubsection.4.1.4.13)] +>> endobj +1952 0 obj << +/Names [(subsubsection.4.1.4.14) 1650 0 R (subsubsection.4.1.4.15) 1652 0 R (subsubsection.4.1.4.2) 1602 0 R (subsubsection.4.1.4.3) 1603 0 R (subsubsection.4.1.4.4) 1605 0 R (subsubsection.4.1.4.5) 1625 0 R] +/Limits [(subsubsection.4.1.4.14) (subsubsection.4.1.4.5)] +>> endobj +1953 0 obj << +/Names [(subsubsection.4.1.4.6) 1627 0 R (subsubsection.4.1.4.7) 1629 0 R (subsubsection.4.1.4.8) 1632 0 R (subsubsection.4.1.4.9) 1634 0 R (subsubsection.5.1.2.1) 1707 0 R (subsubsection.5.1.2.2) 1708 0 R] +/Limits [(subsubsection.4.1.4.6) (subsubsection.5.1.2.2)] +>> endobj +1954 0 obj << +/Names [(subsubsection.5.1.2.3) 1709 0 R (subsubsection.5.1.2.4) 1710 0 R (subsubsection.5.1.2.5) 1711 0 R (subsubsection.5.1.2.6) 1712 0 R (subsubsection.5.1.2.7) 1713 0 R (subsubsection.5.1.2.8) 1733 0 R] +/Limits [(subsubsection.5.1.2.3) (subsubsection.5.1.2.8)] +>> endobj +1955 0 obj << +/Names [(subsubsection.5.1.2.9) 1734 0 R (subsubsection.5.2.2.1) 1736 0 R (subsubsection.5.2.2.2) 1759 0 R (subsubsection.5.2.2.3) 1760 0 R (subsubsection.5.2.2.4) 1761 0 R (subsubsection.5.3.2.1) 1777 0 R] +/Limits [(subsubsection.5.1.2.9) (subsubsection.5.3.2.1)] +>> endobj +1956 0 obj << +/Names [(subsubsection.5.3.2.2) 1797 0 R (subsubsection.5.3.2.3) 1798 0 R (subsubsection.5.3.2.4) 1799 0 R (subsubsection.5.3.2.5) 1800 0 R (subsubsection.5.4.2.1) 1831 0 R (subsubsection.5.4.2.2) 1832 0 R] +/Limits [(subsubsection.5.3.2.2) (subsubsection.5.4.2.2)] +>> endobj +1957 0 obj << +/Names [(subsubsection.5.5.2.1) 1846 0 R (subsubsection.5.5.2.2) 1847 0 R (subsubsection.5.5.2.3) 1848 0 R (subsubsection.5.5.2.4) 1849 0 R (table.1.1) 538 0 R (table.1.2) 561 0 R] +/Limits [(subsubsection.5.5.2.1) (table.1.2)] +>> endobj +1958 0 obj << +/Names [(table.1.3) 613 0 R (table.1.4) 656 0 R (table.4.1) 1142 0 R (table.4.10) 1311 0 R (table.4.11) 1313 0 R (table.4.12) 1336 0 R] +/Limits [(table.1.3) (table.4.12)] +>> endobj +1959 0 obj << +/Names [(table.4.13) 1397 0 R (table.4.14) 1458 0 R (table.4.15) 1505 0 R (table.4.16) 1557 0 R (table.4.2) 1143 0 R (table.4.3) 1144 0 R] +/Limits [(table.4.13) (table.4.3)] +>> endobj +1960 0 obj << +/Names [(table.4.4) 1145 0 R (table.4.5) 1166 0 R (table.4.6) 1227 0 R (table.4.7) 1251 0 R (table.4.8) 1253 0 R (table.4.9) 1283 0 R] +/Limits [(table.4.4) (table.4.9)] +>> endobj +1961 0 obj << +/Names [(table.5.1) 1778 0 R (table.5.2) 1779 0 R (table.5.3) 1780 0 R (table.5.4) 1833 0 R] +/Limits [(table.5.1) (table.5.4)] +>> endobj +1962 0 obj << +/Kids [1895 0 R 1896 0 R 1897 0 R 1898 0 R 1899 0 R 1900 0 R] +/Limits [(Doc-Start) (faq_faqError_BSEC_E_DOSTEPS_VALUELIMITS)] +>> endobj +1963 0 obj << +/Kids [1901 0 R 1902 0 R 1903 0 R 1904 0 R 1905 0 R 1906 0 R] +/Limits [(faq_faqError_BSEC_E_SU_DUPLICATEGATE) (group__bsec__interface_ga847070d3ecfa970cb2f716a2d11fe219)] +>> endobj +1964 0 obj << +/Kids [1907 0 R 1908 0 R 1909 0 R 1910 0 R 1911 0 R 1912 0 R] +/Limits [(group__bsec__interface_ga853243e7f08cc25be117fca5c8216d99) (group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858aa238cfe9b905deda6f1823ca32378f91)] +>> endobj +1965 0 obj << +/Kids [1913 0 R 1914 0 R 1915 0 R 1916 0 R 1917 0 R 1918 0 R] +/Limits [(group__bsec__interface_gga339df4596b1c0e02eede5d54aa0f2858aa5de81322b446f028934aa30c4826610) (index_intguideLibraryOutputs)] +>> endobj +1966 0 obj << +/Kids [1919 0 R 1920 0 R 1921 0 R 1922 0 R 1923 0 R 1924 0 R] +/Limits [(index_intguideOverviewSensors) (page.35)] +>> endobj +1967 0 obj << +/Kids [1925 0 R 1926 0 R 1927 0 R 1928 0 R 1929 0 R 1930 0 R] +/Limits [(page.36) (section*.4)] +>> endobj +1968 0 obj << +/Kids [1931 0 R 1932 0 R 1933 0 R 1934 0 R 1935 0 R 1936 0 R] +/Limits [(section*.5) (structbsec__bme__settings__t_afc3ab51b88f259e5cb76c10ee0732e5b)] +>> endobj +1969 0 obj << +/Kids [1937 0 R 1938 0 R 1939 0 R 1940 0 R 1941 0 R 1942 0 R] +/Limits [(structbsec__input__t) (subsection.5.1.1)] +>> endobj +1970 0 obj << +/Kids [1943 0 R 1944 0 R 1945 0 R 1946 0 R 1947 0 R 1948 0 R] +/Limits [(subsection.5.1.2) (subsubsection.3.3.4.3)] +>> endobj +1971 0 obj << +/Kids [1949 0 R 1950 0 R 1951 0 R 1952 0 R 1953 0 R 1954 0 R] +/Limits [(subsubsection.4.1.2.1) (subsubsection.5.1.2.8)] +>> endobj +1972 0 obj << +/Kids [1955 0 R 1956 0 R 1957 0 R 1958 0 R 1959 0 R 1960 0 R] +/Limits [(subsubsection.5.1.2.9) (table.4.9)] +>> endobj +1973 0 obj << +/Kids [1961 0 R] +/Limits [(table.5.1) (table.5.4)] +>> endobj +1974 0 obj << +/Kids [1962 0 R 1963 0 R 1964 0 R 1965 0 R 1966 0 R 1967 0 R] +/Limits [(Doc-Start) (section*.4)] +>> endobj +1975 0 obj << +/Kids [1968 0 R 1969 0 R 1970 0 R 1971 0 R 1972 0 R 1973 0 R] +/Limits [(section*.5) (table.5.4)] +>> endobj +1976 0 obj << +/Kids [1974 0 R 1975 0 R] +/Limits [(Doc-Start) (table.5.4)] +>> endobj +1977 0 obj << +/Dests 1976 0 R +>> endobj +1978 0 obj << +/Type /Catalog +/Pages 1893 0 R +/Outlines 1894 0 R +/Names 1977 0 R +/PageMode/UseOutlines +/OpenAction 212 0 R +>> endobj +1979 0 obj << +/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.12)/Keywords() +/CreationDate (D:20180829115555+05'30') +/ModDate (D:20180829115555+05'30') +/Trapped /False +/PTEX.Fullbanner (This is MiKTeX-pdfTeX 2.9.4307 (1.40.12)) +>> endobj +xref +0 1980 +0000000385 65535 f +0000873905 00000 n +0000873925 00000 n +0000873945 00000 n +0000000015 00000 n +0000552304 00000 n +0001262859 00000 n +0000000060 00000 n +0000000222 00000 n +0000552485 00000 n +0001262787 00000 n +0000000269 00000 n +0000000458 00000 n +0000557949 00000 n +0001262664 00000 n +0000000506 00000 n +0000000730 00000 n +0000558130 00000 n +0001262590 00000 n +0000000783 00000 n +0000000926 00000 n +0000558313 00000 n +0001262503 00000 n +0000000979 00000 n +0000001147 00000 n +0000562892 00000 n +0001262416 00000 n +0000001200 00000 n +0000001290 00000 n +0000570577 00000 n +0001262342 00000 n +0000001343 00000 n +0000001577 00000 n +0000570760 00000 n +0001262232 00000 n +0000001625 00000 n +0000001798 00000 n +0000570881 00000 n +0001262158 00000 n +0000001851 00000 n +0000001918 00000 n +0000609721 00000 n +0001262071 00000 n +0000001971 00000 n +0000002091 00000 n +0000612942 00000 n +0001261984 00000 n +0000002144 00000 n +0000002325 00000 n +0000613064 00000 n +0001261910 00000 n +0000002378 00000 n +0000002501 00000 n +0000618397 00000 n +0001261785 00000 n +0000002547 00000 n +0000002705 00000 n +0000618580 00000 n +0001261711 00000 n +0000002753 00000 n +0000002845 00000 n +0000618824 00000 n +0001261624 00000 n +0000002893 00000 n +0000003031 00000 n +0000623889 00000 n +0001261537 00000 n +0000003079 00000 n +0000003192 00000 n +0000628185 00000 n +0001261450 00000 n +0000003240 00000 n +0000003416 00000 n +0000637167 00000 n +0001261363 00000 n +0000003464 00000 n +0000003627 00000 n +0000644460 00000 n +0001261276 00000 n +0000003675 00000 n +0000003788 00000 n +0000649129 00000 n +0001261189 00000 n +0000003836 00000 n +0000004147 00000 n +0000652735 00000 n +0001261102 00000 n +0000004195 00000 n +0000004500 00000 n +0000652855 00000 n +0001261028 00000 n +0000004548 00000 n +0000004625 00000 n +0000658322 00000 n +0001260900 00000 n +0000004671 00000 n +0000004713 00000 n +0000658504 00000 n +0001260825 00000 n +0000004761 00000 n +0000004959 00000 n +0000658625 00000 n +0001260734 00000 n +0000005008 00000 n +0000005300 00000 n +0000658747 00000 n +0001260617 00000 n +0000005349 00000 n +0000005564 00000 n +0000658870 00000 n +0001260538 00000 n +0000005618 00000 n +0000005837 00000 n +0000678647 00000 n +0001260445 00000 n +0000005891 00000 n +0000006165 00000 n +0000698190 00000 n +0001260352 00000 n +0000006219 00000 n +0000006596 00000 n +0000711917 00000 n +0001260273 00000 n +0000006650 00000 n +0000006899 00000 n +0000720373 00000 n +0001260141 00000 n +0000006946 00000 n +0000007077 00000 n +0000720498 00000 n +0001260037 00000 n +0000007126 00000 n +0000007240 00000 n +0000720560 00000 n +0001259958 00000 n +0000007294 00000 n +0000007400 00000 n +0000726710 00000 n +0001259865 00000 n +0000007454 00000 n +0000007580 00000 n +0000790432 00000 n +0001259772 00000 n +0000007634 00000 n +0000007722 00000 n +0000823216 00000 n +0001259693 00000 n +0000007776 00000 n +0000007839 00000 n +0000839540 00000 n +0001259574 00000 n +0000007886 00000 n +0000008060 00000 n +0000839665 00000 n +0001259456 00000 n +0000008109 00000 n +0000008332 00000 n +0000839790 00000 n +0001259377 00000 n +0000008386 00000 n +0000008517 00000 n +0000842678 00000 n +0001259298 00000 n +0000008571 00000 n +0000008697 00000 n +0000848951 00000 n +0001259166 00000 n +0000008746 00000 n +0000008931 00000 n +0000849076 00000 n +0001259087 00000 n +0000008985 00000 n +0000009116 00000 n +0000849138 00000 n +0001259008 00000 n +0000009170 00000 n +0000009296 00000 n +0000854262 00000 n +0001258876 00000 n +0000009345 00000 n +0000009535 00000 n +0000859595 00000 n +0001258797 00000 n +0000009589 00000 n +0000009720 00000 n +0000859657 00000 n +0001258718 00000 n +0000009774 00000 n +0000009900 00000 n +0000864748 00000 n +0001258586 00000 n +0000009949 00000 n +0000010212 00000 n +0000864873 00000 n +0001258507 00000 n +0000010266 00000 n +0000010397 00000 n +0000870206 00000 n +0001258428 00000 n +0000010451 00000 n +0000010577 00000 n +0000870645 00000 n +0001258310 00000 n +0000010626 00000 n +0000010821 00000 n +0000870770 00000 n +0001258231 00000 n +0000010875 00000 n +0000011006 00000 n +0000873085 00000 n +0001258152 00000 n +0000011060 00000 n +0000011186 00000 n +0000012172 00000 n +0000094709 00000 n +0000533743 00000 n +0000094452 00000 n +0000012553 00000 n +0000012292 00000 n +0000033023 00000 n +0000032777 00000 n +0000081860 00000 n +0000081603 00000 n +0000534014 00000 n +0000011236 00000 n +0000533891 00000 n +0000533953 00000 n +0001255598 00000 n +0001255776 00000 n +0001256587 00000 n +0000032708 00000 n +0000032633 00000 n +0000014346 00000 n +0000014476 00000 n +0000014700 00000 n +0000014924 00000 n +0000015148 00000 n +0000015372 00000 n +0000015596 00000 n +0000015820 00000 n +0000016044 00000 n +0000016267 00000 n +0000016491 00000 n +0000016715 00000 n +0000016939 00000 n +0000017163 00000 n +0000017387 00000 n +0000017611 00000 n +0000017835 00000 n +0000018059 00000 n +0000018283 00000 n +0000018507 00000 n +0000018527 00000 n +0000018617 00000 n +0000018637 00000 n +0000018727 00000 n +0000018747 00000 n +0000018837 00000 n +0000018857 00000 n +0000018947 00000 n +0000018967 00000 n +0000019057 00000 n +0000019077 00000 n +0000019167 00000 n +0000019187 00000 n +0000019277 00000 n +0000019297 00000 n +0000019387 00000 n +0000019407 00000 n +0000019497 00000 n +0000019517 00000 n +0000019607 00000 n +0000019627 00000 n +0000019717 00000 n +0000019737 00000 n +0000019827 00000 n +0000019847 00000 n +0000019937 00000 n +0000019957 00000 n +0000020047 00000 n +0000020067 00000 n +0000020157 00000 n +0000020177 00000 n +0000020267 00000 n +0000020287 00000 n +0000020377 00000 n +0000020397 00000 n +0000020487 00000 n +0000020728 00000 n +0000020976 00000 n +0000021230 00000 n +0000021477 00000 n +0000021724 00000 n +0000021988 00000 n +0000022236 00000 n +0000022578 00000 n +0000022825 00000 n +0000023078 00000 n +0000023331 00000 n +0000023579 00000 n +0000023827 00000 n +0000024061 00000 n +0000024315 00000 n +0000024570 00000 n +0000024824 00000 n +0000025076 00000 n +0000025096 00000 n +0000025187 00000 n +0000025207 00000 n +0000025298 00000 n +0000025319 00000 n +0000025410 00000 n +0000025430 00000 n +0000025521 00000 n +0000025541 00000 n +0000025632 00000 n +0000025653 00000 n +0000025715 00000 n +0000025735 00000 n +0000025826 00000 n +0000025847 00000 n +0000025909 00000 n +0000025929 00000 n +0000026021 00000 n +0000026042 00000 n +0000026134 00000 n +0000026155 00000 n +0000026247 00000 n +0000026267 00000 n +0000026359 00000 n +0000026379 00000 n +0000026471 00000 n +0000026491 00000 n +0000026553 00000 n +0000026574 00000 n +0000026666 00000 n +0000026687 00000 n +0000026779 00000 n +0000026800 00000 n +0000026892 00000 n +0000026913 00000 n +0000027005 00000 n +0000027139 00000 n +0000027273 00000 n +0000027407 00000 n +0000027541 00000 n +0000027675 00000 n +0000027809 00000 n +0000027943 00000 n +0000028077 00000 n +0000028211 00000 n +0000028345 00000 n +0000028479 00000 n +0000028613 00000 n +0000028747 00000 n +0000028881 00000 n +0000029015 00000 n +0000029159 00000 n +0000029323 00000 n +0000029467 00000 n +0000029590 00000 n +0000029713 00000 n +0000029877 00000 n +0000030000 00000 n +0000030122 00000 n +0000030249 00000 n +0000030372 00000 n +0000030499 00000 n +0000030622 00000 n +0000030745 00000 n +0000030868 00000 n +0000030994 00000 n +0000031119 00000 n +0000031245 00000 n +0000031372 00000 n +0000031499 00000 n +0000031622 00000 n +0000031747 00000 n +0000031874 00000 n +0000032001 00000 n +0000032128 00000 n +0000032254 00000 n +0000032380 00000 n +0000032506 00000 n +0000081534 00000 n +0000000396 00000 f +0000077311 00000 n +0000077544 00000 n +0000077581 00000 n +0000077709 00000 n +0000077835 00000 n +0000077960 00000 n +0000078087 00000 n +0000078208 00000 n +0000080907 00000 n +0000094383 00000 n +0000000482 00000 f +0000084105 00000 n +0000084358 00000 n +0000084395 00000 n +0000084523 00000 n +0000084546 00000 n +0000084662 00000 n +0000084778 00000 n +0000084894 00000 n +0000085010 00000 n +0000085126 00000 n +0000085242 00000 n +0000085358 00000 n +0000085474 00000 n +0000085590 00000 n +0000085706 00000 n +0000085822 00000 n +0000085938 00000 n +0000086054 00000 n +0000088753 00000 n +0000089688 00000 n +0000090002 00000 n +0000090373 00000 n +0000090893 00000 n +0000091403 00000 n +0000091800 00000 n +0000092219 00000 n +0000092553 00000 n +0000092953 00000 n +0000093267 00000 n +0000093604 00000 n +0000094023 00000 n +0000533814 00000 n +0000520815 00000 n +0000534562 00000 n +0000534380 00000 n +0000534273 00000 n +0000534500 00000 n +0000538096 00000 n +0000538247 00000 n +0000538400 00000 n +0000538553 00000 n +0000538711 00000 n +0000538868 00000 n +0000539026 00000 n +0000539184 00000 n +0000539337 00000 n +0000539493 00000 n +0000539650 00000 n +0000539808 00000 n +0000539965 00000 n +0000540115 00000 n +0000540268 00000 n +0000540421 00000 n +0000540573 00000 n +0000540726 00000 n +0000540879 00000 n +0000541032 00000 n +0000541185 00000 n +0000541338 00000 n +0000541491 00000 n +0000541641 00000 n +0000541794 00000 n +0000541947 00000 n +0000542100 00000 n +0000542257 00000 n +0000542415 00000 n +0000542573 00000 n +0000542731 00000 n +0000542882 00000 n +0000543035 00000 n +0000543193 00000 n +0000543351 00000 n +0000543509 00000 n +0000543666 00000 n +0000543815 00000 n +0000543965 00000 n +0000546629 00000 n +0000537455 00000 n +0000537770 00000 n +0000544244 00000 n +0000537011 00000 n +0000534710 00000 n +0000544121 00000 n +0000544183 00000 n +0000537701 00000 n +0000000484 00000 f +0000538027 00000 n +0000000504 00000 f +0000546787 00000 n +0000546940 00000 n +0000547098 00000 n +0000547256 00000 n +0000547407 00000 n +0000547565 00000 n +0000547723 00000 n +0000547876 00000 n +0000548031 00000 n +0000548189 00000 n +0000548342 00000 n +0000548500 00000 n +0000545988 00000 n +0000546303 00000 n +0000548720 00000 n +0000545752 00000 n +0000544477 00000 n +0000548658 00000 n +0000546234 00000 n +0000000506 00000 f +0000546560 00000 n +0000000521 00000 f +0000551601 00000 n +0000551916 00000 n +0000552847 00000 n +0000551481 00000 n +0000548940 00000 n +0000552242 00000 n +0000552363 00000 n +0000552424 00000 n +0000552544 00000 n +0000552604 00000 n +0000552665 00000 n +0000552726 00000 n +0000552787 00000 n +0000551847 00000 n +0000000523 00000 f +0000552173 00000 n +0000000542 00000 f +0000557091 00000 n +0000557290 00000 n +0000557489 00000 n +0000557689 00000 n +0000556450 00000 n +0000556765 00000 n +0000558373 00000 n +0000556286 00000 n +0000553081 00000 n +0000557887 00000 n +0000558009 00000 n +0001255957 00000 n +0001256438 00000 n +0000558069 00000 n +0000558190 00000 n +0001255168 00000 n +0000558251 00000 n +0000556696 00000 n +0000000544 00000 f +0000557022 00000 n +0000000548 00000 f +0000761330 00000 n +0000740633 00000 n +0000754100 00000 n +0000000549 00000 f +0000000550 00000 f +0000000551 00000 f +0000000553 00000 f +0000562308 00000 n +0000000568 00000 f +0000562508 00000 n +0000561667 00000 n +0000561982 00000 n +0000563013 00000 n +0000561519 00000 n +0000558647 00000 n +0000562707 00000 n +0000562769 00000 n +0001255311 00000 n +0001254879 00000 n +0000562830 00000 n +0000562952 00000 n +0001256705 00000 n +0000561913 00000 n +0000000570 00000 f +0000562239 00000 n +0000000572 00000 f +0000753786 00000 n +0000000573 00000 f +0000000574 00000 f +0000000575 00000 f +0000000576 00000 f +0000000577 00000 f +0000000578 00000 f +0000000579 00000 f +0000000580 00000 f +0000000581 00000 f +0000000582 00000 f +0000000583 00000 f +0000000584 00000 f +0000000585 00000 f +0000000586 00000 f +0000000587 00000 f +0000000588 00000 f +0000000589 00000 f +0000000620 00000 f +0000567437 00000 n +0000567670 00000 n +0000567903 00000 n +0000568136 00000 n +0000568367 00000 n +0000568599 00000 n +0000569065 00000 n +0000569531 00000 n +0000569764 00000 n +0000569997 00000 n +0000570195 00000 n +0000608665 00000 n +0000609062 00000 n +0000609261 00000 n +0000609461 00000 n +0000566796 00000 n +0000567111 00000 n +0000571002 00000 n +0000566560 00000 n +0000563287 00000 n +0000570393 00000 n +0000570455 00000 n +0000570516 00000 n +0000570637 00000 n +0000568832 00000 n +0000569298 00000 n +0000570698 00000 n +0000570820 00000 n +0000570941 00000 n +0000567042 00000 n +0000000622 00000 f +0000567368 00000 n +0000000644 00000 f +0000812564 00000 n +0000812502 00000 n +0000812627 00000 n +0000812690 00000 n +0000808874 00000 n +0000817446 00000 n +0000823028 00000 n +0000812753 00000 n +0000812815 00000 n +0000859719 00000 n +0000574119 00000 n +0000573478 00000 n +0000573793 00000 n +0000609903 00000 n +0000573306 00000 n +0000571276 00000 n +0000609659 00000 n +0000608865 00000 n +0000609781 00000 n +0000609843 00000 n +0000573724 00000 n +0000000646 00000 f +0000574050 00000 n +0000000658 00000 f +0000600488 00000 n +0000774874 00000 n +0000612239 00000 n +0000612554 00000 n +0000613185 00000 n +0000612119 00000 n +0000610193 00000 n +0000612880 00000 n +0000613002 00000 n +0000613124 00000 n +0000612485 00000 n +0000000660 00000 f +0000612811 00000 n +0000000679 00000 f +0000617345 00000 n +0000617518 00000 n +0000617742 00000 n +0000617923 00000 n +0000618127 00000 n +0000616704 00000 n +0000617019 00000 n +0000618883 00000 n +0000616532 00000 n +0000613446 00000 n +0000618335 00000 n +0000618457 00000 n +0000618518 00000 n +0001256137 00000 n +0000618640 00000 n +0000618701 00000 n +0000618762 00000 n +0000616950 00000 n +0000000681 00000 f +0000617276 00000 n +0000000692 00000 f +0000623566 00000 n +0000622925 00000 n +0000623240 00000 n +0000624008 00000 n +0000622785 00000 n +0000619145 00000 n +0000623765 00000 n +0000623827 00000 n +0000623949 00000 n +0000623171 00000 n +0000000694 00000 f +0000623497 00000 n +0000000705 00000 f +0000831407 00000 n +0000627924 00000 n +0000627283 00000 n +0000627598 00000 n +0000628245 00000 n +0000627143 00000 n +0000624270 00000 n +0000628123 00000 n +0001256823 00000 n +0000627529 00000 n +0000000707 00000 f +0000627855 00000 n +0000000716 00000 f +0000631909 00000 n +0000631268 00000 n +0000631583 00000 n +0000632169 00000 n +0000631128 00000 n +0000628494 00000 n +0000632107 00000 n +0000631514 00000 n +0000000718 00000 f +0000631840 00000 n +0000000734 00000 f +0000790494 00000 n +0000636661 00000 n +0000636020 00000 n +0000636335 00000 n +0000637287 00000 n +0000635880 00000 n +0000632405 00000 n +0000636861 00000 n +0001254734 00000 n +0000636923 00000 n +0000636984 00000 n +0000637045 00000 n +0000637106 00000 n +0000637227 00000 n +0000636266 00000 n +0000000736 00000 f +0000636592 00000 n +0000000759 00000 f +0000831532 00000 n +0000641585 00000 n +0000641763 00000 n +0000641941 00000 n +0000642140 00000 n +0000642340 00000 n +0000642539 00000 n +0000642773 00000 n +0000642986 00000 n +0000643220 00000 n +0000643432 00000 n +0000643631 00000 n +0000643830 00000 n +0000644030 00000 n +0000644227 00000 n +0000640944 00000 n +0000641259 00000 n +0000644520 00000 n +0000640700 00000 n +0000637588 00000 n +0000644398 00000 n +0000641190 00000 n +0000000761 00000 f +0000641516 00000 n +0000000778 00000 f +0000864686 00000 n +0000823277 00000 n +0000790682 00000 n +0000870393 00000 n +0000870268 00000 n +0000831657 00000 n +0000648807 00000 n +0000652412 00000 n +0000648166 00000 n +0000648481 00000 n +0000649189 00000 n +0000648026 00000 n +0000644769 00000 n +0000649006 00000 n +0000649068 00000 n +0000648412 00000 n +0000000780 00000 f +0000648738 00000 n +0000000790 00000 f +0000651771 00000 n +0000652086 00000 n +0000652915 00000 n +0000651631 00000 n +0000649438 00000 n +0000652612 00000 n +0000652674 00000 n +0000652795 00000 n +0000652017 00000 n +0000000792 00000 f +0000652343 00000 n +0000000818 00000 f +0000656432 00000 n +0000656632 00000 n +0000656832 00000 n +0000657032 00000 n +0000657232 00000 n +0000657432 00000 n +0000657632 00000 n +0000657832 00000 n +0000658064 00000 n +0000662374 00000 n +0000655791 00000 n +0000656106 00000 n +0000659053 00000 n +0000655587 00000 n +0000653164 00000 n +0000658260 00000 n +0000658382 00000 n +0000658443 00000 n +0000658564 00000 n +0000658686 00000 n +0000658808 00000 n +0000658931 00000 n +0000658992 00000 n +0001256941 00000 n +0000656037 00000 n +0000000820 00000 f +0000656363 00000 n +0000000848 00000 f +0000726772 00000 n +0000790745 00000 n +0000662574 00000 n +0000662773 00000 n +0000662972 00000 n +0000663172 00000 n +0000663372 00000 n +0000663770 00000 n +0000663969 00000 n +0000664202 00000 n +0000664402 00000 n +0000664636 00000 n +0000664835 00000 n +0000665035 00000 n +0000668706 00000 n +0000661733 00000 n +0000662048 00000 n +0000665572 00000 n +0000661489 00000 n +0000659327 00000 n +0000665266 00000 n +0000663572 00000 n +0000665328 00000 n +0000665389 00000 n +0000665450 00000 n +0000665511 00000 n +0000661979 00000 n +0000000850 00000 f +0000662305 00000 n +0000000884 00000 f +0000797592 00000 n +0000790807 00000 n +0000802784 00000 n +0000790870 00000 n +0000668906 00000 n +0000669140 00000 n +0000669373 00000 n +0000669572 00000 n +0000669770 00000 n +0000670002 00000 n +0000670201 00000 n +0000670400 00000 n +0000670797 00000 n +0000671030 00000 n +0000671230 00000 n +0000671429 00000 n +0000671827 00000 n +0000675630 00000 n +0000668065 00000 n +0000668380 00000 n +0000672485 00000 n +0000667805 00000 n +0000665860 00000 n +0000672057 00000 n +0000672119 00000 n +0000672180 00000 n +0000670598 00000 n +0000672241 00000 n +0000672302 00000 n +0000671628 00000 n +0000672363 00000 n +0000672424 00000 n +0000668311 00000 n +0000000886 00000 f +0000668637 00000 n +0000000919 00000 f +0000790932 00000 n +0000808686 00000 n +0000790994 00000 n +0000791055 00000 n +0000675830 00000 n +0000676029 00000 n +0000676262 00000 n +0000676494 00000 n +0000676693 00000 n +0000676891 00000 n +0000677062 00000 n +0000677295 00000 n +0000677527 00000 n +0000677726 00000 n +0000677924 00000 n +0000678095 00000 n +0000678326 00000 n +0000682284 00000 n +0000674989 00000 n +0000675304 00000 n +0000679072 00000 n +0000674745 00000 n +0000672773 00000 n +0000678524 00000 n +0000678586 00000 n +0000678708 00000 n +0000678769 00000 n +0000678830 00000 n +0000678890 00000 n +0000678951 00000 n +0000679011 00000 n +0000675235 00000 n +0000000921 00000 f +0000675561 00000 n +0000000952 00000 f +0000791117 00000 n +0000791180 00000 n +0000791243 00000 n +0000682516 00000 n +0000682749 00000 n +0000682947 00000 n +0000683147 00000 n +0000683380 00000 n +0000683613 00000 n +0000683810 00000 n +0000684009 00000 n +0000684180 00000 n +0000684413 00000 n +0000684613 00000 n +0000684812 00000 n +0000685007 00000 n +0000685238 00000 n +0000681643 00000 n +0000681958 00000 n +0000685863 00000 n +0000681391 00000 n +0000679334 00000 n +0000685435 00000 n +0000685497 00000 n +0000685558 00000 n +0000685619 00000 n +0000685680 00000 n +0000685741 00000 n +0000685802 00000 n +0000681889 00000 n +0000000954 00000 f +0000682215 00000 n +0000000982 00000 f +0000791306 00000 n +0000791369 00000 n +0000791431 00000 n +0000688994 00000 n +0000689165 00000 n +0000689398 00000 n +0000689631 00000 n +0000689864 00000 n +0000690064 00000 n +0000690263 00000 n +0000690463 00000 n +0000690661 00000 n +0000694750 00000 n +0000688353 00000 n +0000688668 00000 n +0000691344 00000 n +0000688149 00000 n +0000686151 00000 n +0000690858 00000 n +0000690920 00000 n +0000690981 00000 n +0000691042 00000 n +0000691103 00000 n +0000691163 00000 n +0000691224 00000 n +0000691285 00000 n +0000688599 00000 n +0000000984 00000 f +0000688925 00000 n +0000001018 00000 f +0000791492 00000 n +0000796458 00000 n +0000796520 00000 n +0000694983 00000 n +0000695182 00000 n +0000695382 00000 n +0000695615 00000 n +0000695814 00000 n +0000696014 00000 n +0000696413 00000 n +0000696646 00000 n +0000696846 00000 n +0000697079 00000 n +0000697278 00000 n +0000697677 00000 n +0000701595 00000 n +0000694103 00000 n +0000694421 00000 n +0000698437 00000 n +0000693845 00000 n +0000691606 00000 n +0000697874 00000 n +0000697938 00000 n +0000696214 00000 n +0000698001 00000 n +0000698064 00000 n +0000698127 00000 n +0000698252 00000 n +0000698314 00000 n +0000697478 00000 n +0000698376 00000 n +0001257059 00000 n +0000694351 00000 n +0000001020 00000 f +0000694680 00000 n +0000001057 00000 f +0000796646 00000 n +0000796582 00000 n +0000796835 00000 n +0000767289 00000 n +0000747408 00000 n +0000701829 00000 n +0000702029 00000 n +0000702430 00000 n +0000702664 00000 n +0000702865 00000 n +0000703266 00000 n +0000703500 00000 n +0000703734 00000 n +0000703935 00000 n +0000704136 00000 n +0000704337 00000 n +0000704537 00000 n +0000704735 00000 n +0000708803 00000 n +0000709004 00000 n +0000700948 00000 n +0000701266 00000 n +0000705436 00000 n +0000700668 00000 n +0000698728 00000 n +0000704931 00000 n +0000704995 00000 n +0000702230 00000 n +0000705058 00000 n +0000705121 00000 n +0000703066 00000 n +0000705184 00000 n +0000705247 00000 n +0000705310 00000 n +0000705373 00000 n +0000701196 00000 n +0000001059 00000 f +0000701525 00000 n +0000001092 00000 f +0000796898 00000 n +0000796959 00000 n +0000797023 00000 n +0000797087 00000 n +0000734447 00000 n +0000709203 00000 n +0000709437 00000 n +0000709637 00000 n +0000709837 00000 n +0000710238 00000 n +0000710470 00000 n +0000710670 00000 n +0000710871 00000 n +0000711105 00000 n +0000711306 00000 n +0000708156 00000 n +0000708474 00000 n +0000712230 00000 n +0000707903 00000 n +0000705713 00000 n +0000711538 00000 n +0000711602 00000 n +0000711665 00000 n +0000710038 00000 n +0000711728 00000 n +0000711791 00000 n +0000711854 00000 n +0000711978 00000 n +0000712041 00000 n +0000712104 00000 n +0000712167 00000 n +0000708404 00000 n +0000001094 00000 f +0000708733 00000 n +0000001109 00000 f +0000797150 00000 n +0000797213 00000 n +0000797403 00000 n +0000797529 00000 n +0000714576 00000 n +0000713929 00000 n +0000714247 00000 n +0000714999 00000 n +0000713784 00000 n +0000712507 00000 n +0000714810 00000 n +0000714874 00000 n +0000714937 00000 n +0000714177 00000 n +0000001111 00000 f +0000714506 00000 n +0000001113 00000 f +0000797466 00000 n +0000001114 00000 f +0000001115 00000 f +0000001116 00000 f +0000001117 00000 f +0000001118 00000 f +0000001122 00000 f +0000718904 00000 n +0000719105 00000 n +0000719306 00000 n +0000001123 00000 f +0000001125 00000 f +0000719507 00000 n +0000001126 00000 f +0000001127 00000 f +0000001128 00000 f +0000001131 00000 f +0000719707 00000 n +0000719908 00000 n +0000001132 00000 f +0000001148 00000 f +0000720109 00000 n +0000718257 00000 n +0000718575 00000 n +0000720999 00000 n +0000718058 00000 n +0000715250 00000 n +0000720309 00000 n +0000720435 00000 n +0000720621 00000 n +0000720684 00000 n +0000720747 00000 n +0000720810 00000 n +0000720873 00000 n +0000720936 00000 n +0000718505 00000 n +0000001150 00000 f +0000718834 00000 n +0000001168 00000 f +0000725518 00000 n +0000725718 00000 n +0000725882 00000 n +0000726044 00000 n +0000726245 00000 n +0000726446 00000 n +0000724871 00000 n +0000725189 00000 n +0000726959 00000 n +0000724681 00000 n +0000721250 00000 n +0000726646 00000 n +0000726834 00000 n +0001255455 00000 n +0001256282 00000 n +0000726897 00000 n +0000725119 00000 n +0000001170 00000 f +0000725448 00000 n +0000001201 00000 f +0000848888 00000 n +0000854198 00000 n +0000730527 00000 n +0000730687 00000 n +0000730849 00000 n +0000731049 00000 n +0000731246 00000 n +0000731480 00000 n +0000731672 00000 n +0000731869 00000 n +0000732065 00000 n +0000732298 00000 n +0000732494 00000 n +0000732691 00000 n +0000732888 00000 n +0000733123 00000 n +0000733319 00000 n +0000733516 00000 n +0000733715 00000 n +0000733949 00000 n +0000734183 00000 n +0000729880 00000 n +0000730198 00000 n +0000734573 00000 n +0000729573 00000 n +0000727267 00000 n +0000734383 00000 n +0000734510 00000 n +0001257184 00000 n +0000730128 00000 n +0000001203 00000 f +0000730457 00000 n +0000001230 00000 f +0000849199 00000 n +0000802847 00000 n +0000853821 00000 n +0000854072 00000 n +0000802720 00000 n +0000738503 00000 n +0000738703 00000 n +0000738904 00000 n +0000739105 00000 n +0000739305 00000 n +0000739506 00000 n +0000739706 00000 n +0000739907 00000 n +0000740106 00000 n +0000740306 00000 n +0000744754 00000 n +0000745153 00000 n +0000737856 00000 n +0000738174 00000 n +0000740757 00000 n +0000737630 00000 n +0000734868 00000 n +0000740506 00000 n +0000740570 00000 n +0000740694 00000 n +0000738104 00000 n +0000001232 00000 f +0000738433 00000 n +0000001255 00000 f +0000823402 00000 n +0000745354 00000 n +0000745555 00000 n +0000745754 00000 n +0000745955 00000 n +0000746156 00000 n +0000746353 00000 n +0000746554 00000 n +0000746753 00000 n +0000746953 00000 n +0000747118 00000 n +0000744107 00000 n +0000744425 00000 n +0000747597 00000 n +0000743854 00000 n +0000741052 00000 n +0000747281 00000 n +0000744955 00000 n +0000747345 00000 n +0000747471 00000 n +0000747534 00000 n +0000744355 00000 n +0000001257 00000 f +0000744684 00000 n +0000001286 00000 f +0000823529 00000 n +0000870582 00000 n +0000751131 00000 n +0000751294 00000 n +0000751493 00000 n +0000751693 00000 n +0000751893 00000 n +0000752092 00000 n +0000752292 00000 n +0000752492 00000 n +0000752692 00000 n +0000752890 00000 n +0000753090 00000 n +0000753290 00000 n +0000753524 00000 n +0000758660 00000 n +0000750484 00000 n +0000750802 00000 n +0000754224 00000 n +0000750231 00000 n +0000747918 00000 n +0000753722 00000 n +0000753848 00000 n +0000753911 00000 n +0000753974 00000 n +0000754037 00000 n +0000754161 00000 n +0000750732 00000 n +0000001288 00000 f +0000751061 00000 n +0000001315 00000 f +0000873147 00000 n +0000873399 00000 n +0000873273 00000 n +0000873525 00000 n +0000758831 00000 n +0000759030 00000 n +0000759230 00000 n +0000759628 00000 n +0000759826 00000 n +0000759997 00000 n +0000760198 00000 n +0000760398 00000 n +0000760603 00000 n +0000760803 00000 n +0000761003 00000 n +0000758013 00000 n +0000758331 00000 n +0000761518 00000 n +0000757760 00000 n +0000754530 00000 n +0000761203 00000 n +0000759431 00000 n +0000761267 00000 n +0000761392 00000 n +0000761455 00000 n +0000758261 00000 n +0000001317 00000 f +0000758590 00000 n +0000001338 00000 f +0000839602 00000 n +0000843118 00000 n +0000765425 00000 n +0000765625 00000 n +0000765825 00000 n +0000766026 00000 n +0000766225 00000 n +0000766425 00000 n +0000766625 00000 n +0000766825 00000 n +0000767026 00000 n +0000764778 00000 n +0000765096 00000 n +0000767478 00000 n +0000764561 00000 n +0000761852 00000 n +0000767225 00000 n +0000767352 00000 n +0000767415 00000 n +0000765026 00000 n +0000001340 00000 f +0000765355 00000 n +0000001365 00000 f +0000771851 00000 n +0000772050 00000 n +0000772251 00000 n +0000772452 00000 n +0000772652 00000 n +0000772851 00000 n +0000773050 00000 n +0000773229 00000 n +0000773408 00000 n +0000773607 00000 n +0000773808 00000 n +0000774009 00000 n +0000774209 00000 n +0000774409 00000 n +0000774610 00000 n +0000771204 00000 n +0000771522 00000 n +0000774998 00000 n +0000770933 00000 n +0000767773 00000 n +0000774810 00000 n +0000774935 00000 n +0001257309 00000 n +0000771452 00000 n +0000001367 00000 f +0000771781 00000 n +0000001399 00000 f +0000779006 00000 n +0000779207 00000 n +0000779408 00000 n +0000779586 00000 n +0000779786 00000 n +0000779985 00000 n +0000780164 00000 n +0000780378 00000 n +0000780613 00000 n +0000780827 00000 n +0000781028 00000 n +0000781242 00000 n +0000781477 00000 n +0000781691 00000 n +0000781892 00000 n +0000782105 00000 n +0000782339 00000 n +0000782553 00000 n +0000782754 00000 n +0000782933 00000 n +0000783133 00000 n +0000783334 00000 n +0000787563 00000 n +0000778359 00000 n +0000778677 00000 n +0000783658 00000 n +0000778025 00000 n +0000775293 00000 n +0000783531 00000 n +0000783595 00000 n +0000778607 00000 n +0000001401 00000 f +0000778936 00000 n +0000001403 00000 f +0000828881 00000 n +0000001404 00000 f +0000001405 00000 f +0000001406 00000 f +0000001407 00000 f +0000001408 00000 f +0000001409 00000 f +0000001410 00000 f +0000001411 00000 f +0000001412 00000 f +0000001413 00000 f +0000001414 00000 f +0000001415 00000 f +0000001416 00000 f +0000001417 00000 f +0000001418 00000 f +0000001419 00000 f +0000001420 00000 f +0000001421 00000 f +0000001422 00000 f +0000001423 00000 f +0000001424 00000 f +0000001425 00000 f +0000001426 00000 f +0000001427 00000 f +0000001428 00000 f +0000001429 00000 f +0000001430 00000 f +0000001431 00000 f +0000001432 00000 f +0000001433 00000 f +0000001434 00000 f +0000001460 00000 f +0000787763 00000 n +0000787962 00000 n +0000788163 00000 n +0000788364 00000 n +0000788565 00000 n +0000788766 00000 n +0000788967 00000 n +0000789167 00000 n +0000789367 00000 n +0000789567 00000 n +0000789766 00000 n +0000789967 00000 n +0000790168 00000 n +0000795792 00000 n +0000795993 00000 n +0000796194 00000 n +0000786916 00000 n +0000787234 00000 n +0000791554 00000 n +0000786654 00000 n +0000783923 00000 n +0000790368 00000 n +0000790556 00000 n +0000790619 00000 n +0000787164 00000 n +0000001462 00000 f +0000787493 00000 n +0000001475 00000 f +0000800913 00000 n +0000795145 00000 n +0000795463 00000 n +0000797652 00000 n +0000794982 00000 n +0000791819 00000 n +0000796394 00000 n +0000796708 00000 n +0000796771 00000 n +0000797276 00000 n +0000797339 00000 n +0000795393 00000 n +0000001477 00000 f +0000795722 00000 n +0000001483 00000 f +0000801113 00000 n +0000801311 00000 n +0000801525 00000 n +0000801725 00000 n +0000801903 00000 n +0000001484 00000 f +0000001485 00000 f +0000001486 00000 f +0000001487 00000 f +0000001488 00000 f +0000001489 00000 f +0000001490 00000 f +0000001491 00000 f +0000001492 00000 f +0000001508 00000 f +0000802065 00000 n +0000802266 00000 n +0000806435 00000 n +0000806670 00000 n +0000807140 00000 n +0000800266 00000 n +0000800584 00000 n +0000802911 00000 n +0000800058 00000 n +0000797916 00000 n +0000802466 00000 n +0000802530 00000 n +0000802593 00000 n +0000802656 00000 n +0000800514 00000 n +0000001510 00000 f +0000800843 00000 n +0000001517 00000 f +0000807341 00000 n +0000807541 00000 n +0000807739 00000 n +0000807953 00000 n +0000808153 00000 n +0000808331 00000 n +0000001518 00000 f +0000001519 00000 f +0000001520 00000 f +0000001521 00000 f +0000001522 00000 f +0000001523 00000 f +0000001524 00000 f +0000001525 00000 f +0000001526 00000 f +0000001527 00000 f +0000001528 00000 f +0000001529 00000 f +0000001530 00000 f +0000001531 00000 f +0000001532 00000 f +0000001533 00000 f +0000001534 00000 f +0000001535 00000 f +0000001536 00000 f +0000001559 00000 f +0000815974 00000 n +0000816209 00000 n +0000816444 00000 n +0000816677 00000 n +0000817147 00000 n +0000820721 00000 n +0000820956 00000 n +0000821190 00000 n +0000821659 00000 n +0000821894 00000 n +0000805788 00000 n +0000806106 00000 n +0000808937 00000 n +0000805562 00000 n +0000803163 00000 n +0000808495 00000 n +0000808559 00000 n +0000806905 00000 n +0000808623 00000 n +0000808748 00000 n +0000808811 00000 n +0000806036 00000 n +0000001561 00000 f +0000806365 00000 n +0000001574 00000 f +0000860033 00000 n +0000811601 00000 n +0000811919 00000 n +0000812878 00000 n +0000811477 00000 n +0000809215 00000 n +0000812248 00000 n +0000812312 00000 n +0000812376 00000 n +0000812439 00000 n +0001257434 00000 n +0000811849 00000 n +0000001576 00000 f +0000812178 00000 n +0000001585 00000 f +0000815327 00000 n +0000815645 00000 n +0000817508 00000 n +0000815137 00000 n +0000813103 00000 n +0000817382 00000 n +0000816912 00000 n +0000815575 00000 n +0000001587 00000 f +0000815904 00000 n +0000001608 00000 f +0000822362 00000 n +0000822562 00000 n +0000822763 00000 n +0000820074 00000 n +0000820392 00000 n +0000823845 00000 n +0000819848 00000 n +0000817786 00000 n +0000822964 00000 n +0000821424 00000 n +0000822128 00000 n +0000823090 00000 n +0000823153 00000 n +0000823339 00000 n +0000823466 00000 n +0000823593 00000 n +0000823656 00000 n +0000823720 00000 n +0000823783 00000 n +0000820322 00000 n +0000001610 00000 f +0000820651 00000 n +0000001638 00000 f +0000826501 00000 n +0000826736 00000 n +0000826907 00000 n +0000827142 00000 n +0000827313 00000 n +0000827548 00000 n +0000827719 00000 n +0000827953 00000 n +0000825854 00000 n +0000826172 00000 n +0000828942 00000 n +0000825646 00000 n +0000824123 00000 n +0000828122 00000 n +0000828186 00000 n +0000828249 00000 n +0000828313 00000 n +0000828376 00000 n +0000828440 00000 n +0001255023 00000 n +0000828503 00000 n +0000828566 00000 n +0000828629 00000 n +0000828692 00000 n +0000828755 00000 n +0000828818 00000 n +0000826102 00000 n +0000001640 00000 f +0000826431 00000 n +0000001654 00000 f +0000830633 00000 n +0000830951 00000 n +0000831910 00000 n +0000830509 00000 n +0000829209 00000 n +0000831280 00000 n +0000831344 00000 n +0000831469 00000 n +0000831594 00000 n +0000831720 00000 n +0000831783 00000 n +0000831847 00000 n +0000830881 00000 n +0000001656 00000 f +0000831210 00000 n +0000001689 00000 f +0000832458 00000 n +0000832270 00000 n +0000832162 00000 n +0000832394 00000 n +0000835604 00000 n +0000835809 00000 n +0000836014 00000 n +0000836215 00000 n +0000836420 00000 n +0000836624 00000 n +0000836829 00000 n +0000837034 00000 n +0000837239 00000 n +0000837444 00000 n +0000837649 00000 n +0000837849 00000 n +0000838055 00000 n +0000838258 00000 n +0000838464 00000 n +0000838668 00000 n +0000838866 00000 n +0000839272 00000 n +0000834957 00000 n +0000835275 00000 n +0000839852 00000 n +0000834650 00000 n +0000832607 00000 n +0000839476 00000 n +0000839727 00000 n +0000839069 00000 n +0001257559 00000 n +0000835205 00000 n +0000001691 00000 f +0000835534 00000 n +0000001715 00000 f +0000843370 00000 n +0000842740 00000 n +0000842866 00000 n +0000843496 00000 n +0000843244 00000 n +0000843622 00000 n +0000842992 00000 n +0000848764 00000 n +0000842413 00000 n +0000841766 00000 n +0000842084 00000 n +0000843684 00000 n +0000841621 00000 n +0000840142 00000 n +0000842614 00000 n +0000842803 00000 n +0000842929 00000 n +0000843055 00000 n +0000843181 00000 n +0000843307 00000 n +0000843433 00000 n +0000843559 00000 n +0000842014 00000 n +0000001717 00000 f +0000842343 00000 n +0000001738 00000 f +0000846854 00000 n +0000847051 00000 n +0000847246 00000 n +0000847443 00000 n +0000847640 00000 n +0000847841 00000 n +0000848039 00000 n +0000848236 00000 n +0000848437 00000 n +0000846207 00000 n +0000846525 00000 n +0000849325 00000 n +0000845990 00000 n +0000843949 00000 n +0000848637 00000 n +0000848701 00000 n +0000848827 00000 n +0000849013 00000 n +0000849262 00000 n +0000846455 00000 n +0000001740 00000 f +0000846784 00000 n +0000001764 00000 f +0000853946 00000 n +0000852172 00000 n +0000852372 00000 n +0000852572 00000 n +0000852770 00000 n +0000852966 00000 n +0000853165 00000 n +0000853363 00000 n +0000853561 00000 n +0000858734 00000 n +0000858933 00000 n +0000859132 00000 n +0000851525 00000 n +0000851843 00000 n +0000854386 00000 n +0000851317 00000 n +0000849604 00000 n +0000853757 00000 n +0000853884 00000 n +0000854009 00000 n +0000854135 00000 n +0000854324 00000 n +0000851773 00000 n +0000001766 00000 f +0000852102 00000 n +0000001782 00000 f +0000864561 00000 n +0000864309 00000 n +0000864435 00000 n +0000859332 00000 n +0000858087 00000 n +0000858405 00000 n +0000860094 00000 n +0000857915 00000 n +0000854666 00000 n +0000859531 00000 n +0000859781 00000 n +0000859844 00000 n +0000859907 00000 n +0000859970 00000 n +0000858335 00000 n +0000001784 00000 f +0000858664 00000 n +0000001803 00000 f +0000862961 00000 n +0000863160 00000 n +0000863359 00000 n +0000863558 00000 n +0000863771 00000 n +0000863984 00000 n +0000862314 00000 n +0000862632 00000 n +0000864935 00000 n +0000862124 00000 n +0000860361 00000 n +0000864182 00000 n +0000864246 00000 n +0000864372 00000 n +0000864498 00000 n +0000864623 00000 n +0000864810 00000 n +0000862562 00000 n +0000001805 00000 f +0000862891 00000 n +0000001807 00000 f +0000868150 00000 n +0000001808 00000 f +0000001809 00000 f +0000001810 00000 f +0000001811 00000 f +0000001812 00000 f +0000001813 00000 f +0000001814 00000 f +0000001816 00000 f +0000868350 00000 n +0000001837 00000 f +0000868550 00000 n +0000868750 00000 n +0000868951 00000 n +0000869151 00000 n +0000869350 00000 n +0000869547 00000 n +0000869746 00000 n +0000869944 00000 n +0000867503 00000 n +0000867821 00000 n +0000870832 00000 n +0000867277 00000 n +0000865215 00000 n +0000870142 00000 n +0000870330 00000 n +0000870456 00000 n +0000870519 00000 n +0000870707 00000 n +0001257684 00000 n +0000867751 00000 n +0000001839 00000 f +0000868080 00000 n +0000001851 00000 f +0000872374 00000 n +0000872692 00000 n +0000873651 00000 n +0000872250 00000 n +0000871112 00000 n +0000873021 00000 n +0000873210 00000 n +0000873336 00000 n +0000873462 00000 n +0000873588 00000 n +0000872622 00000 n +0000001853 00000 f +0000872951 00000 n +0000000000 00000 f +0000873998 00000 n +0000874024 00000 n +0000874360 00000 n +0000874386 00000 n +0000874422 00000 n +0000874810 00000 n +0000874836 00000 n +0000874863 00000 n +0000874887 00000 n +0001254311 00000 n +0000874911 00000 n +0000875412 00000 n +0000875921 00000 n +0000876419 00000 n +0000883562 00000 n +0000883797 00000 n +0000890818 00000 n +0000891054 00000 n +0000898070 00000 n +0000898296 00000 n +0000905415 00000 n +0000905650 00000 n +0000912713 00000 n +0000912944 00000 n +0000920061 00000 n +0000920295 00000 n +0001034307 00000 n +0001034770 00000 n +0001140920 00000 n +0001141485 00000 n +0001236308 00000 n +0001236737 00000 n +0001238421 00000 n +0001238649 00000 n +0001249246 00000 n +0001249830 00000 n +0001254019 00000 n +0001257773 00000 n +0001257895 00000 n +0001258003 00000 n +0001258076 00000 n +0001262969 00000 n +0001263138 00000 n +0001263323 00000 n +0001263619 00000 n +0001263920 00000 n +0001264302 00000 n +0001264764 00000 n +0001265196 00000 n +0001265665 00000 n +0001266061 00000 n +0001266396 00000 n +0001266968 00000 n +0001267542 00000 n +0001268117 00000 n +0001268691 00000 n +0001269401 00000 n +0001270246 00000 n +0001271092 00000 n +0001271940 00000 n +0001272785 00000 n +0001273633 00000 n +0001274481 00000 n +0001275325 00000 n +0001276170 00000 n +0001276608 00000 n +0001276973 00000 n +0001277193 00000 n +0001277364 00000 n +0001277533 00000 n +0001277707 00000 n +0001277884 00000 n +0001278059 00000 n +0001278236 00000 n +0001278411 00000 n +0001278585 00000 n +0001278771 00000 n +0001278973 00000 n +0001279169 00000 n +0001279366 00000 n +0001279563 00000 n +0001279766 00000 n +0001280194 00000 n +0001280811 00000 n +0001281230 00000 n +0001281751 00000 n +0001282326 00000 n +0001282645 00000 n +0001282885 00000 n +0001283128 00000 n +0001283371 00000 n +0001283634 00000 n +0001283922 00000 n +0001284205 00000 n +0001284492 00000 n +0001284781 00000 n +0001285071 00000 n +0001285360 00000 n +0001285654 00000 n +0001285946 00000 n +0001286235 00000 n +0001286524 00000 n +0001286813 00000 n +0001287102 00000 n +0001287353 00000 n +0001287548 00000 n +0001287746 00000 n +0001287939 00000 n +0001288090 00000 n +0001288240 00000 n +0001288435 00000 n +0001288685 00000 n +0001288906 00000 n +0001289044 00000 n +0001289163 00000 n +0001289337 00000 n +0001289475 00000 n +0001289614 00000 n +0001289758 00000 n +0001289890 00000 n +0001289965 00000 n +0001290086 00000 n +0001290207 00000 n +0001290291 00000 n +0001290331 00000 n +0001290463 00000 n +trailer +<< /Size 1980 +/Root 1978 0 R +/Info 1979 0 R +/ID [<564FA095A5F317C82705930A36691687> <564FA095A5F317C82705930A36691687>] >> +startxref +1290739 +%%EOF diff --git a/lib/Bosch-BSEC-1.4.7.1/examples/bsec_integration.c b/lib/Bosch-BSEC-1.4.7.1/examples/bsec_integration.c new file mode 100644 index 00000000..0dc5dc2d --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/examples/bsec_integration.c @@ -0,0 +1,559 @@ +/* + * Copyright (C) 2017 Robert Bosch. All Rights Reserved. + * + * Disclaimer + * + * Common: + * Bosch Sensortec products are developed for the consumer goods industry. They may only be used + * within the parameters of the respective valid product data sheet. Bosch Sensortec products are + * provided with the express understanding that there is no warranty of fitness for a particular purpose. + * They are not fit for use in life-sustaining, safety or security sensitive systems or any system or device + * that may lead to bodily harm or property damage if the system or device malfunctions. In addition, + * Bosch Sensortec products are not fit for use in products which interact with motor vehicle systems. + * The resale and/or use of products are at the purchasers own risk and his own responsibility. The + * examination of fitness for the intended use is the sole responsibility of the Purchaser. + * + * The purchaser shall indemnify Bosch Sensortec from all third party claims, including any claims for + * incidental, or consequential damages, arising from any product use not covered by the parameters of + * the respective valid product data sheet or not approved by Bosch Sensortec and reimburse Bosch + * Sensortec for all costs in connection with such claims. + * + * The purchaser must monitor the market for the purchased products, particularly with regard to + * product safety and inform Bosch Sensortec without delay of all security relevant incidents. + * + * Engineering Samples are marked with an asterisk (*) or (e). Samples may vary from the valid + * technical specifications of the product series. They are therefore not intended or fit for resale to third + * parties or for use in end products. Their sole purpose is internal client testing. The testing of an + * engineering sample may in no way replace the testing of a product series. Bosch Sensortec + * assumes no liability for the use of engineering samples. By accepting the engineering samples, the + * Purchaser agrees to indemnify Bosch Sensortec from all claims arising from the use of engineering + * samples. + * + * Special: + * This software module (hereinafter called "Software") and any information on application-sheets + * (hereinafter called "Information") is provided free of charge for the sole purpose to support your + * application work. The Software and Information is subject to the following terms and conditions: + * + * The Software is specifically designed for the exclusive use for Bosch Sensortec products by + * personnel who have special experience and training. Do not use this Software if you do not have the + * proper experience or training. + * + * This Software package is provided `` as is `` and without any expressed or implied warranties, + * including without limitation, the implied warranties of merchantability and fitness for a particular + * purpose. + * + * Bosch Sensortec and their representatives and agents deny any liability for the functional impairment + * of this Software in terms of fitness, performance and safety. Bosch Sensortec and their + * representatives and agents shall not be liable for any direct or indirect damages or injury, except as + * otherwise stipulated in mandatory applicable law. + * + * The Information provided is believed to be accurate and reliable. Bosch Sensortec assumes no + * responsibility for the consequences of use of such Information nor for any infringement of patents or + * other rights of third parties which may result from its use. No license is granted by implication or + * otherwise under any patent or patent rights of Bosch. Specifications mentioned in the Information are + * subject to change without notice. + * + * It is not allowed to deliver the source code of the Software to any third party without permission of + * Bosch Sensortec. + * + */ + +/*! + * @file bsec_integration.c + * + * @brief + * Private part of the example for using of BSEC library. + */ + +/*! + * @addtogroup bsec_examples BSEC Examples + * @brief BSEC usage examples + * @{*/ + +/**********************************************************************************************************************/ +/* header files */ +/**********************************************************************************************************************/ + +#include +#include +#include + +#include "bsec_integration.h" + +/**********************************************************************************************************************/ +/* local macro definitions */ +/**********************************************************************************************************************/ + +#define NUM_USED_OUTPUTS 8 + +/**********************************************************************************************************************/ +/* global variable declarations */ +/**********************************************************************************************************************/ + +/* Global sensor APIs data structure */ +static struct bme680_dev bme680_g; + +/* Global temperature offset to be subtracted */ +static float bme680_temperature_offset_g = 0.0f; + +/**********************************************************************************************************************/ +/* functions */ +/**********************************************************************************************************************/ + +/*! + * @brief Virtual sensor subscription + * Please call this function before processing of data using bsec_do_steps function + * + * @param[in] sample_rate mode to be used (either BSEC_SAMPLE_RATE_ULP or BSEC_SAMPLE_RATE_LP) + * + * @return subscription result, zero when successful + */ +static bsec_library_return_t bme680_bsec_update_subscription(float sample_rate) +{ + bsec_sensor_configuration_t requested_virtual_sensors[NUM_USED_OUTPUTS]; + uint8_t n_requested_virtual_sensors = NUM_USED_OUTPUTS; + + bsec_sensor_configuration_t required_sensor_settings[BSEC_MAX_PHYSICAL_SENSOR]; + uint8_t n_required_sensor_settings = BSEC_MAX_PHYSICAL_SENSOR; + + bsec_library_return_t status = BSEC_OK; + + /* note: Virtual sensors as desired to be added here */ + requested_virtual_sensors[0].sensor_id = BSEC_OUTPUT_IAQ; + requested_virtual_sensors[0].sample_rate = sample_rate; + requested_virtual_sensors[1].sensor_id = BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE; + requested_virtual_sensors[1].sample_rate = sample_rate; + requested_virtual_sensors[2].sensor_id = BSEC_OUTPUT_RAW_PRESSURE; + requested_virtual_sensors[2].sample_rate = sample_rate; + requested_virtual_sensors[3].sensor_id = BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY; + requested_virtual_sensors[3].sample_rate = sample_rate; + requested_virtual_sensors[4].sensor_id = BSEC_OUTPUT_RAW_GAS; + requested_virtual_sensors[4].sample_rate = sample_rate; + requested_virtual_sensors[5].sensor_id = BSEC_OUTPUT_RAW_TEMPERATURE; + requested_virtual_sensors[5].sample_rate = sample_rate; + requested_virtual_sensors[6].sensor_id = BSEC_OUTPUT_RAW_HUMIDITY; + requested_virtual_sensors[6].sample_rate = sample_rate; + requested_virtual_sensors[7].sensor_id = BSEC_OUTPUT_STATIC_IAQ; + requested_virtual_sensors[7].sample_rate = sample_rate; + + /* Call bsec_update_subscription() to enable/disable the requested virtual sensors */ + status = bsec_update_subscription(requested_virtual_sensors, n_requested_virtual_sensors, required_sensor_settings, + &n_required_sensor_settings); + + return status; +} + +/*! + * @brief Initialize the BME680 sensor and the BSEC library + * + * @param[in] sample_rate mode to be used (either BSEC_SAMPLE_RATE_ULP or BSEC_SAMPLE_RATE_LP) + * @param[in] temperature_offset device-specific temperature offset (due to self-heating) + * @param[in] bus_write pointer to the bus writing function + * @param[in] bus_read pointer to the bus reading function + * @param[in] sleep pointer to the system specific sleep function + * @param[in] state_load pointer to the system-specific state load function + * @param[in] config_load pointer to the system-specific config load function + * + * @return zero if successful, negative otherwise + */ +return_values_init bsec_iot_init(float sample_rate, float temperature_offset, bme680_com_fptr_t bus_write, + bme680_com_fptr_t bus_read, sleep_fct sleep, state_load_fct state_load, config_load_fct config_load) +{ + return_values_init ret = {BME680_OK, BSEC_OK}; + bsec_library_return_t bsec_status = BSEC_OK; + + uint8_t bsec_state[BSEC_MAX_PROPERTY_BLOB_SIZE] = {0}; + uint8_t bsec_config[BSEC_MAX_PROPERTY_BLOB_SIZE] = {0}; + uint8_t work_buffer[BSEC_MAX_PROPERTY_BLOB_SIZE] = {0}; + int bsec_state_len, bsec_config_len; + + /* Fixed I2C configuration */ + bme680_g.dev_id = BME680_I2C_ADDR_PRIMARY; + bme680_g.intf = BME680_I2C_INTF; + /* User configurable I2C configuration */ + bme680_g.write = bus_write; + bme680_g.read = bus_read; + bme680_g.delay_ms = sleep; + + /* Initialize BME680 API */ + ret.bme680_status = bme680_init(&bme680_g); + if (ret.bme680_status != BME680_OK) + { + return ret; + } + + /* Initialize BSEC library */ + ret.bsec_status = bsec_init(); + if (ret.bsec_status != BSEC_OK) + { + return ret; + } + + /* Load library config, if available */ + bsec_config_len = config_load(bsec_config, sizeof(bsec_config)); + if (bsec_config_len != 0) + { + ret.bsec_status = bsec_set_configuration(bsec_config, bsec_config_len, work_buffer, sizeof(work_buffer)); + if (ret.bsec_status != BSEC_OK) + { + return ret; + } + } + + /* Load previous library state, if available */ + bsec_state_len = state_load(bsec_state, sizeof(bsec_state)); + if (bsec_state_len != 0) + { + ret.bsec_status = bsec_set_state(bsec_state, bsec_state_len, work_buffer, sizeof(work_buffer)); + if (ret.bsec_status != BSEC_OK) + { + return ret; + } + } + + /* Set temperature offset */ + bme680_temperature_offset_g = temperature_offset; + + /* Call to the function which sets the library with subscription information */ + ret.bsec_status = bme680_bsec_update_subscription(sample_rate); + if (ret.bsec_status != BSEC_OK) + { + return ret; + } + + return ret; +} + +/*! + * @brief Trigger the measurement based on sensor settings + * + * @param[in] sensor_settings settings of the BME680 sensor adopted by sensor control function + * @param[in] sleep pointer to the system specific sleep function + * + * @return none + */ +static void bme680_bsec_trigger_measurement(bsec_bme_settings_t *sensor_settings, sleep_fct sleep) +{ + uint16_t meas_period; + uint8_t set_required_settings; + int8_t bme680_status = BME680_OK; + + /* Check if a forced-mode measurement should be triggered now */ + if (sensor_settings->trigger_measurement) + { + /* Set sensor configuration */ + + bme680_g.tph_sett.os_hum = sensor_settings->humidity_oversampling; + bme680_g.tph_sett.os_pres = sensor_settings->pressure_oversampling; + bme680_g.tph_sett.os_temp = sensor_settings->temperature_oversampling; + bme680_g.gas_sett.run_gas = sensor_settings->run_gas; + bme680_g.gas_sett.heatr_temp = sensor_settings->heater_temperature; /* degree Celsius */ + bme680_g.gas_sett.heatr_dur = sensor_settings->heating_duration; /* milliseconds */ + + /* Select the power mode */ + /* Must be set before writing the sensor configuration */ + bme680_g.power_mode = BME680_FORCED_MODE; + /* Set the required sensor settings needed */ + set_required_settings = BME680_OST_SEL | BME680_OSP_SEL | BME680_OSH_SEL | BME680_GAS_SENSOR_SEL; + + /* Set the desired sensor configuration */ + bme680_status = bme680_set_sensor_settings(set_required_settings, &bme680_g); + + /* Set power mode as forced mode and trigger forced mode measurement */ + bme680_status = bme680_set_sensor_mode(&bme680_g); + + /* Get the total measurement duration so as to sleep or wait till the measurement is complete */ + bme680_get_profile_dur(&meas_period, &bme680_g); + + /* Delay till the measurement is ready. Timestamp resolution in ms */ + sleep((uint32_t)meas_period); + } + + /* Call the API to get current operation mode of the sensor */ + bme680_status = bme680_get_sensor_mode(&bme680_g); + /* When the measurement is completed and data is ready for reading, the sensor must be in BME680_SLEEP_MODE. + * Read operation mode to check whether measurement is completely done and wait until the sensor is no more + * in BME680_FORCED_MODE. */ + while (bme680_g.power_mode == BME680_FORCED_MODE) + { + /* sleep for 5 ms */ + sleep(5); + bme680_status = bme680_get_sensor_mode(&bme680_g); + } +} + +/*! + * @brief Read the data from registers and populate the inputs structure to be passed to do_steps function + * + * @param[in] time_stamp_trigger settings of the sensor returned from sensor control function + * @param[in] inputs input structure containing the information on sensors to be passed to do_steps + * @param[in] num_bsec_inputs number of inputs to be passed to do_steps + * @param[in] bsec_process_data process data variable returned from sensor_control + * + * @return none + */ +static void bme680_bsec_read_data(int64_t time_stamp_trigger, bsec_input_t *inputs, uint8_t *num_bsec_inputs, + int32_t bsec_process_data) +{ + static struct bme680_field_data data; + int8_t bme680_status = BME680_OK; + + /* We only have to read data if the previous call the bsec_sensor_control() actually asked for it */ + if (bsec_process_data) + { + bme680_status = bme680_get_sensor_data(&data, &bme680_g); + + if (data.status & BME680_NEW_DATA_MSK) + { + /* Pressure to be processed by BSEC */ + if (bsec_process_data & BSEC_PROCESS_PRESSURE) + { + /* Place presssure sample into input struct */ + inputs[*num_bsec_inputs].sensor_id = BSEC_INPUT_PRESSURE; + inputs[*num_bsec_inputs].signal = data.pressure; + inputs[*num_bsec_inputs].time_stamp = time_stamp_trigger; + (*num_bsec_inputs)++; + } + /* Temperature to be processed by BSEC */ + if (bsec_process_data & BSEC_PROCESS_TEMPERATURE) + { + /* Place temperature sample into input struct */ + inputs[*num_bsec_inputs].sensor_id = BSEC_INPUT_TEMPERATURE; + #ifdef BME680_FLOAT_POINT_COMPENSATION + inputs[*num_bsec_inputs].signal = data.temperature; + #else + inputs[*num_bsec_inputs].signal = data.temperature / 100.0f; + #endif + inputs[*num_bsec_inputs].time_stamp = time_stamp_trigger; + (*num_bsec_inputs)++; + + /* Also add optional heatsource input which will be subtracted from the temperature reading to + * compensate for device-specific self-heating (supported in BSEC IAQ solution)*/ + inputs[*num_bsec_inputs].sensor_id = BSEC_INPUT_HEATSOURCE; + inputs[*num_bsec_inputs].signal = bme680_temperature_offset_g; + inputs[*num_bsec_inputs].time_stamp = time_stamp_trigger; + (*num_bsec_inputs)++; + } + /* Humidity to be processed by BSEC */ + if (bsec_process_data & BSEC_PROCESS_HUMIDITY) + { + /* Place humidity sample into input struct */ + inputs[*num_bsec_inputs].sensor_id = BSEC_INPUT_HUMIDITY; + #ifdef BME680_FLOAT_POINT_COMPENSATION + inputs[*num_bsec_inputs].signal = data.humidity; + #else + inputs[*num_bsec_inputs].signal = data.humidity / 1000.0f; + #endif + inputs[*num_bsec_inputs].time_stamp = time_stamp_trigger; + (*num_bsec_inputs)++; + } + /* Gas to be processed by BSEC */ + if (bsec_process_data & BSEC_PROCESS_GAS) + { + /* Check whether gas_valid flag is set */ + if(data.status & BME680_GASM_VALID_MSK) + { + /* Place sample into input struct */ + inputs[*num_bsec_inputs].sensor_id = BSEC_INPUT_GASRESISTOR; + inputs[*num_bsec_inputs].signal = data.gas_resistance; + inputs[*num_bsec_inputs].time_stamp = time_stamp_trigger; + (*num_bsec_inputs)++; + } + } + } + } +} + +/*! + * @brief This function is written to process the sensor data for the requested virtual sensors + * + * @param[in] bsec_inputs input structure containing the information on sensors to be passed to do_steps + * @param[in] num_bsec_inputs number of inputs to be passed to do_steps + * @param[in] output_ready pointer to the function processing obtained BSEC outputs + * + * @return none + */ +static void bme680_bsec_process_data(bsec_input_t *bsec_inputs, uint8_t num_bsec_inputs, output_ready_fct output_ready) +{ + /* Output buffer set to the maximum virtual sensor outputs supported */ + bsec_output_t bsec_outputs[BSEC_NUMBER_OUTPUTS]; + uint8_t num_bsec_outputs = 0; + uint8_t index = 0; + + bsec_library_return_t bsec_status = BSEC_OK; + + int64_t timestamp = 0; + float iaq = 0.0f; + uint8_t iaq_accuracy = 0; + float temp = 0.0f; + float raw_temp = 0.0f; + float raw_pressure = 0.0f; + float humidity = 0.0f; + float raw_humidity = 0.0f; + float raw_gas = 0.0f; + float static_iaq = 0.0f; + uint8_t static_iaq_accuracy = 0; + float co2_equivalent = 0.0f; + uint8_t co2_accuracy = 0; + float breath_voc_equivalent = 0.0f; + uint8_t breath_voc_accuracy = 0; + float comp_gas_value = 0.0f; + uint8_t comp_gas_accuracy = 0; + float gas_percentage = 0.0f; + uint8_t gas_percentage_acccuracy = 0; + + /* Check if something should be processed by BSEC */ + if (num_bsec_inputs > 0) + { + /* Set number of outputs to the size of the allocated buffer */ + /* BSEC_NUMBER_OUTPUTS to be defined */ + num_bsec_outputs = BSEC_NUMBER_OUTPUTS; + + /* Perform processing of the data by BSEC + Note: + * The number of outputs you get depends on what you asked for during bsec_update_subscription(). This is + handled under bme680_bsec_update_subscription() function in this example file. + * The number of actual outputs that are returned is written to num_bsec_outputs. */ + bsec_status = bsec_do_steps(bsec_inputs, num_bsec_inputs, bsec_outputs, &num_bsec_outputs); + + /* Iterate through the outputs and extract the relevant ones. */ + for (index = 0; index < num_bsec_outputs; index++) + { + switch (bsec_outputs[index].sensor_id) + { + case BSEC_OUTPUT_IAQ: + iaq = bsec_outputs[index].signal; + iaq_accuracy = bsec_outputs[index].accuracy; + break; + case BSEC_OUTPUT_STATIC_IAQ: + static_iaq = bsec_outputs[index].signal; + static_iaq_accuracy = bsec_outputs[index].accuracy; + break; + case BSEC_OUTPUT_CO2_EQUIVALENT: + co2_equivalent = bsec_outputs[index].signal; + co2_accuracy = bsec_outputs[index].accuracy; + break; + case BSEC_OUTPUT_BREATH_VOC_EQUIVALENT: + breath_voc_equivalent = bsec_outputs[index].signal; + breath_voc_accuracy = bsec_outputs[index].accuracy; + break; + case BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE: + temp = bsec_outputs[index].signal; + break; + case BSEC_OUTPUT_RAW_PRESSURE: + raw_pressure = bsec_outputs[index].signal; + break; + case BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY: + humidity = bsec_outputs[index].signal; + break; + case BSEC_OUTPUT_RAW_GAS: + raw_gas = bsec_outputs[index].signal; + break; + case BSEC_OUTPUT_RAW_TEMPERATURE: + raw_temp = bsec_outputs[index].signal; + break; + case BSEC_OUTPUT_RAW_HUMIDITY: + raw_humidity = bsec_outputs[index].signal; + break; + case BSEC_OUTPUT_COMPENSATED_GAS: + comp_gas_value = bsec_outputs[index].signal; + comp_gas_accuracy = bsec_outputs[index].accuracy; + break; + case BSEC_OUTPUT_GAS_PERCENTAGE: + gas_percentage = bsec_outputs[index].signal; + gas_percentage_acccuracy = bsec_outputs[index].accuracy; + break; + default: + continue; + } + + /* Assume that all the returned timestamps are the same */ + timestamp = bsec_outputs[index].time_stamp; + } + + /* Pass the extracted outputs to the user provided output_ready() function. */ + output_ready(timestamp, iaq, iaq_accuracy, temp, humidity, raw_pressure, raw_temp, + raw_humidity, raw_gas, bsec_status, static_iaq, co2_equivalent, breath_voc_equivalent); + } +} + +/*! + * @brief Runs the main (endless) loop that queries sensor settings, applies them, and processes the measured data + * + * @param[in] sleep pointer to the system specific sleep function + * @param[in] get_timestamp_us pointer to the system specific timestamp derivation function + * @param[in] output_ready pointer to the function processing obtained BSEC outputs + * @param[in] state_save pointer to the system-specific state save function + * @param[in] save_intvl interval at which BSEC state should be saved (in samples) + * + * @return none + */ +void bsec_iot_loop(sleep_fct sleep, get_timestamp_us_fct get_timestamp_us, output_ready_fct output_ready, + state_save_fct state_save, uint32_t save_intvl) +{ + /* Timestamp variables */ + int64_t time_stamp = 0; + int64_t time_stamp_interval_ms = 0; + + /* Allocate enough memory for up to BSEC_MAX_PHYSICAL_SENSOR physical inputs*/ + bsec_input_t bsec_inputs[BSEC_MAX_PHYSICAL_SENSOR]; + + /* Number of inputs to BSEC */ + uint8_t num_bsec_inputs = 0; + + /* BSEC sensor settings struct */ + bsec_bme_settings_t sensor_settings; + + /* Save state variables */ + uint8_t bsec_state[BSEC_MAX_STATE_BLOB_SIZE]; + uint8_t work_buffer[BSEC_MAX_STATE_BLOB_SIZE]; + uint32_t bsec_state_len = 0; + uint32_t n_samples = 0; + + bsec_library_return_t bsec_status = BSEC_OK; + + while (1) + { + /* get the timestamp in nanoseconds before calling bsec_sensor_control() */ + time_stamp = get_timestamp_us() * 1000; + + /* Retrieve sensor settings to be used in this time instant by calling bsec_sensor_control */ + bsec_sensor_control(time_stamp, &sensor_settings); + + /* Trigger a measurement if necessary */ + bme680_bsec_trigger_measurement(&sensor_settings, sleep); + + /* Read data from last measurement */ + num_bsec_inputs = 0; + bme680_bsec_read_data(time_stamp, bsec_inputs, &num_bsec_inputs, sensor_settings.process_data); + + /* Time to invoke BSEC to perform the actual processing */ + bme680_bsec_process_data(bsec_inputs, num_bsec_inputs, output_ready); + + /* Increment sample counter */ + n_samples++; + + /* Retrieve and store state if the passed save_intvl */ + if (n_samples >= save_intvl) + { + bsec_status = bsec_get_state(0, bsec_state, sizeof(bsec_state), work_buffer, sizeof(work_buffer), &bsec_state_len); + if (bsec_status == BSEC_OK) + { + state_save(bsec_state, bsec_state_len); + } + n_samples = 0; + } + + + /* Compute how long we can sleep until we need to call bsec_sensor_control() next */ + /* Time_stamp is converted from microseconds to nanoseconds first and then the difference to milliseconds */ + time_stamp_interval_ms = (sensor_settings.next_call - get_timestamp_us() * 1000) / 1000000; + if (time_stamp_interval_ms > 0) + { + sleep((uint32_t)time_stamp_interval_ms); + } + } +} + +/*! @}*/ + diff --git a/lib/Bosch-BSEC-1.4.7.1/examples/bsec_integration.h b/lib/Bosch-BSEC-1.4.7.1/examples/bsec_integration.h new file mode 100644 index 00000000..5155a001 --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/examples/bsec_integration.h @@ -0,0 +1,165 @@ +/* + * Copyright (C) 2017 Robert Bosch. All Rights Reserved. + * + * Disclaimer + * + * Common: + * Bosch Sensortec products are developed for the consumer goods industry. They may only be used + * within the parameters of the respective valid product data sheet. Bosch Sensortec products are + * provided with the express understanding that there is no warranty of fitness for a particular purpose. + * They are not fit for use in life-sustaining, safety or security sensitive systems or any system or device + * that may lead to bodily harm or property damage if the system or device malfunctions. In addition, + * Bosch Sensortec products are not fit for use in products which interact with motor vehicle systems. + * The resale and/or use of products are at the purchasers own risk and his own responsibility. The + * examination of fitness for the intended use is the sole responsibility of the Purchaser. + * + * The purchaser shall indemnify Bosch Sensortec from all third party claims, including any claims for + * incidental, or consequential damages, arising from any product use not covered by the parameters of + * the respective valid product data sheet or not approved by Bosch Sensortec and reimburse Bosch + * Sensortec for all costs in connection with such claims. + * + * The purchaser must monitor the market for the purchased products, particularly with regard to + * product safety and inform Bosch Sensortec without delay of all security relevant incidents. + * + * Engineering Samples are marked with an asterisk (*) or (e). Samples may vary from the valid + * technical specifications of the product series. They are therefore not intended or fit for resale to third + * parties or for use in end products. Their sole purpose is internal client testing. The testing of an + * engineering sample may in no way replace the testing of a product series. Bosch Sensortec + * assumes no liability for the use of engineering samples. By accepting the engineering samples, the + * Purchaser agrees to indemnify Bosch Sensortec from all claims arising from the use of engineering + * samples. + * + * Special: + * This software module (hereinafter called "Software") and any information on application-sheets + * (hereinafter called "Information") is provided free of charge for the sole purpose to support your + * application work. The Software and Information is subject to the following terms and conditions: + * + * The Software is specifically designed for the exclusive use for Bosch Sensortec products by + * personnel who have special experience and training. Do not use this Software if you do not have the + * proper experience or training. + * + * This Software package is provided `` as is `` and without any expressed or implied warranties, + * including without limitation, the implied warranties of merchantability and fitness for a particular + * purpose. + * + * Bosch Sensortec and their representatives and agents deny any liability for the functional impairment + * of this Software in terms of fitness, performance and safety. Bosch Sensortec and their + * representatives and agents shall not be liable for any direct or indirect damages or injury, except as + * otherwise stipulated in mandatory applicable law. + * + * The Information provided is believed to be accurate and reliable. Bosch Sensortec assumes no + * responsibility for the consequences of use of such Information nor for any infringement of patents or + * other rights of third parties which may result from its use. No license is granted by implication or + * otherwise under any patent or patent rights of Bosch. Specifications mentioned in the Information are + * subject to change without notice. + * + * It is not allowed to deliver the source code of the Software to any third party without permission of + * Bosch Sensortec. + * + */ + +/*! + * @file bsec_integration.h + * + * @brief + * Contains BSEC integration API + */ + +/*! + * @addtogroup bsec_examples BSEC Examples + * @brief BSEC usage examples + * @{*/ + +#ifndef __BSEC_INTEGRATION_H__ +#define __BSEC_INTEGRATION_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +/**********************************************************************************************************************/ +/* header files */ +/**********************************************************************************************************************/ + +/* Use the following bme680 driver: https://github.com/BoschSensortec/BME680_driver/releases/tag/bme680_v3.5.1 */ +#include "bme680.h" +/* BSEC header files are available in the inc/ folder of the release package */ +#include "bsec_interface.h" +#include "bsec_datatypes.h" + + +/**********************************************************************************************************************/ +/* type definitions */ +/**********************************************************************************************************************/ + +/* function pointer to the system specific sleep function */ +typedef void (*sleep_fct)(uint32_t t_ms); + +/* function pointer to the system specific timestamp derivation function */ +typedef int64_t (*get_timestamp_us_fct)(); + +/* function pointer to the function processing obtained BSEC outputs */ +typedef void (*output_ready_fct)(int64_t timestamp, float iaq, uint8_t iaq_accuracy, float temperature, float humidity, + float pressure, float raw_temperature, float raw_humidity, float gas, bsec_library_return_t bsec_status, + float static_iaq, float co2_equivalent, float breath_voc_equivalent); + +/* function pointer to the function loading a previous BSEC state from NVM */ +typedef uint32_t (*state_load_fct)(uint8_t *state_buffer, uint32_t n_buffer); + +/* function pointer to the function saving BSEC state to NVM */ +typedef void (*state_save_fct)(const uint8_t *state_buffer, uint32_t length); + +/* function pointer to the function loading the BSEC configuration string from NVM */ +typedef uint32_t (*config_load_fct)(uint8_t *state_buffer, uint32_t n_buffer); + +/* structure definitions */ + +/* Structure with the return value from bsec_iot_init() */ +typedef struct{ + /*! Result of API execution status */ + int8_t bme680_status; + /*! Result of BSEC library */ + bsec_library_return_t bsec_status; +}return_values_init; +/**********************************************************************************************************************/ +/* function declarations */ +/**********************************************************************************************************************/ + +/*! + * @brief Initialize the BME680 sensor and the BSEC library + * + * @param[in] sample_rate mode to be used (either BSEC_SAMPLE_RATE_ULP or BSEC_SAMPLE_RATE_LP) + * @param[in] temperature_offset device-specific temperature offset (due to self-heating) + * @param[in] bus_write pointer to the bus writing function + * @param[in] bus_read pointer to the bus reading function + * @param[in] sleep pointer to the system-specific sleep function + * @param[in] state_load pointer to the system-specific state load function + * + * @return zero if successful, negative otherwise + */ +return_values_init bsec_iot_init(float sample_rate, float temperature_offset, bme680_com_fptr_t bus_write, bme680_com_fptr_t bus_read, + sleep_fct sleep, state_load_fct state_load, config_load_fct config_load); + +/*! + * @brief Runs the main (endless) loop that queries sensor settings, applies them, and processes the measured data + * + * @param[in] sleep pointer to the system-specific sleep function + * @param[in] get_timestamp_us pointer to the system-specific timestamp derivation function + * @param[in] output_ready pointer to the function processing obtained BSEC outputs + * @param[in] state_save pointer to the system-specific state save function + * @param[in] save_intvl interval at which BSEC state should be saved (in samples) + * + * @return return_values_init struct with the result of the API and the BSEC library + */ +void bsec_iot_loop(sleep_fct sleep, get_timestamp_us_fct get_timestamp_us, output_ready_fct output_ready, + state_save_fct state_save, uint32_t save_intvl); + +#ifdef __cplusplus +} +#endif + +#endif /* __BSEC_INTEGRATION_H__ */ + +/*! @}*/ + diff --git a/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_example.c b/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_example.c new file mode 100644 index 00000000..b62487b7 --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_example.c @@ -0,0 +1,258 @@ +/* + * Copyright (C) 2017 Robert Bosch. All Rights Reserved. + * + * Disclaimer + * + * Common: + * Bosch Sensortec products are developed for the consumer goods industry. They may only be used + * within the parameters of the respective valid product data sheet. Bosch Sensortec products are + * provided with the express understanding that there is no warranty of fitness for a particular purpose. + * They are not fit for use in life-sustaining, safety or security sensitive systems or any system or device + * that may lead to bodily harm or property damage if the system or device malfunctions. In addition, + * Bosch Sensortec products are not fit for use in products which interact with motor vehicle systems. + * The resale and/or use of products are at the purchasers own risk and his own responsibility. The + * examination of fitness for the intended use is the sole responsibility of the Purchaser. + * + * The purchaser shall indemnify Bosch Sensortec from all third party claims, including any claims for + * incidental, or consequential damages, arising from any product use not covered by the parameters of + * the respective valid product data sheet or not approved by Bosch Sensortec and reimburse Bosch + * Sensortec for all costs in connection with such claims. + * + * The purchaser must monitor the market for the purchased products, particularly with regard to + * product safety and inform Bosch Sensortec without delay of all security relevant incidents. + * + * Engineering Samples are marked with an asterisk (*) or (e). Samples may vary from the valid + * technical specifications of the product series. They are therefore not intended or fit for resale to third + * parties or for use in end products. Their sole purpose is internal client testing. The testing of an + * engineering sample may in no way replace the testing of a product series. Bosch Sensortec + * assumes no liability for the use of engineering samples. By accepting the engineering samples, the + * Purchaser agrees to indemnify Bosch Sensortec from all claims arising from the use of engineering + * samples. + * + * Special: + * This software module (hereinafter called "Software") and any information on application-sheets + * (hereinafter called "Information") is provided free of charge for the sole purpose to support your + * application work. The Software and Information is subject to the following terms and conditions: + * + * The Software is specifically designed for the exclusive use for Bosch Sensortec products by + * personnel who have special experience and training. Do not use this Software if you do not have the + * proper experience or training. + * + * This Software package is provided `` as is `` and without any expressed or implied warranties, + * including without limitation, the implied warranties of merchantability and fitness for a particular + * purpose. + * + * Bosch Sensortec and their representatives and agents deny any liability for the functional impairment + * of this Software in terms of fitness, performance and safety. Bosch Sensortec and their + * representatives and agents shall not be liable for any direct or indirect damages or injury, except as + * otherwise stipulated in mandatory applicable law. + * + * The Information provided is believed to be accurate and reliable. Bosch Sensortec assumes no + * responsibility for the consequences of use of such Information nor for any infringement of patents or + * other rights of third parties which may result from its use. No license is granted by implication or + * otherwise under any patent or patent rights of Bosch. Specifications mentioned in the Information are + * subject to change without notice. + * + * It is not allowed to deliver the source code of the Software to any third party without permission of + * Bosch Sensortec. + * + */ + +/*! + * @file bsec_iot_example.c + * + * @brief + * Example for using of BSEC library in a fixed configuration with the BME680 sensor. + * This works by running an endless loop in the bsec_iot_loop() function. + */ + +/*! + * @addtogroup bsec_examples BSEC Examples + * @brief BSEC usage examples + * @{*/ + +/**********************************************************************************************************************/ +/* header files */ +/**********************************************************************************************************************/ + +#include "bsec_integration.h" + +/**********************************************************************************************************************/ +/* functions */ +/**********************************************************************************************************************/ + +/*! + * @brief Write operation in either I2C or SPI + * + * param[in] dev_addr I2C or SPI device address + * param[in] reg_addr register address + * param[in] reg_data_ptr pointer to the data to be written + * param[in] data_len number of bytes to be written + * + * @return result of the bus communication function + */ +int8_t bus_write(uint8_t dev_addr, uint8_t reg_addr, uint8_t *reg_data_ptr, uint16_t data_len) +{ + // ... + // Please insert system specific function to write to the bus where BME680 is connected + // ... + return 0; +} + +/*! + * @brief Read operation in either I2C or SPI + * + * param[in] dev_addr I2C or SPI device address + * param[in] reg_addr register address + * param[out] reg_data_ptr pointer to the memory to be used to store the read data + * param[in] data_len number of bytes to be read + * + * @return result of the bus communication function + */ +int8_t bus_read(uint8_t dev_addr, uint8_t reg_addr, uint8_t *reg_data_ptr, uint16_t data_len) +{ + // ... + // Please insert system specific function to read from bus where BME680 is connected + // ... + return 0; +} + +/*! + * @brief System specific implementation of sleep function + * + * @param[in] t_ms time in milliseconds + * + * @return none + */ +void sleep(uint32_t t_ms) +{ + // ... + // Please insert system specific function sleep or delay for t_ms milliseconds + // ... +} + +/*! + * @brief Capture the system time in microseconds + * + * @return system_current_time current system timestamp in microseconds + */ +int64_t get_timestamp_us() +{ + int64_t system_current_time = 0; + // ... + // Please insert system specific function to retrieve a timestamp (in microseconds) + // ... + return system_current_time; +} + +/*! + * @brief Handling of the ready outputs + * + * @param[in] timestamp time in nanoseconds + * @param[in] iaq IAQ signal + * @param[in] iaq_accuracy accuracy of IAQ signal + * @param[in] temperature temperature signal + * @param[in] humidity humidity signal + * @param[in] pressure pressure signal + * @param[in] raw_temperature raw temperature signal + * @param[in] raw_humidity raw humidity signal + * @param[in] gas raw gas sensor signal + * @param[in] bsec_status value returned by the bsec_do_steps() call + * + * @return none + */ +void output_ready(int64_t timestamp, float iaq, uint8_t iaq_accuracy, float temperature, float humidity, + float pressure, float raw_temperature, float raw_humidity, float gas, bsec_library_return_t bsec_status, + float static_iaq, float co2_equivalent, float breath_voc_equivalent) +{ + // ... + // Please insert system specific code to further process or display the BSEC outputs + // ... +} + +/*! + * @brief Load previous library state from non-volatile memory + * + * @param[in,out] state_buffer buffer to hold the loaded state string + * @param[in] n_buffer size of the allocated state buffer + * + * @return number of bytes copied to state_buffer + */ +uint32_t state_load(uint8_t *state_buffer, uint32_t n_buffer) +{ + // ... + // Load a previous library state from non-volatile memory, if available. + // + // Return zero if loading was unsuccessful or no state was available, + // otherwise return length of loaded state string. + // ... + return 0; +} + +/*! + * @brief Save library state to non-volatile memory + * + * @param[in] state_buffer buffer holding the state to be stored + * @param[in] length length of the state string to be stored + * + * @return none + */ +void state_save(const uint8_t *state_buffer, uint32_t length) +{ + // ... + // Save the string some form of non-volatile memory, if possible. + // ... +} + +/*! + * @brief Load library config from non-volatile memory + * + * @param[in,out] config_buffer buffer to hold the loaded state string + * @param[in] n_buffer size of the allocated state buffer + * + * @return number of bytes copied to config_buffer + */ +uint32_t config_load(uint8_t *config_buffer, uint32_t n_buffer) +{ + // ... + // Load a library config from non-volatile memory, if available. + // + // Return zero if loading was unsuccessful or no config was available, + // otherwise return length of loaded config string. + // ... + return 0; +} + +/*! + * @brief Main function which configures BSEC library and then reads and processes the data from sensor based + * on timer ticks + * + * @return result of the processing + */ +int main() +{ + return_values_init ret; + + /* Call to the function which initializes the BSEC library + * Switch on low-power mode and provide no temperature offset */ + ret = bsec_iot_init(BSEC_SAMPLE_RATE_LP, 0.0f, bus_write, bus_read, sleep, state_load, config_load); + if (ret.bme680_status) + { + /* Could not intialize BME680 */ + return (int)ret.bme680_status; + } + else if (ret.bsec_status) + { + /* Could not intialize BSEC library */ + return (int)ret.bsec_status; + } + + /* Call to endless loop function which reads and processes data based on sensor settings */ + /* State is saved every 10.000 samples, which means every 10.000 * 3 secs = 500 minutes */ + bsec_iot_loop(sleep, get_timestamp_us, output_ready, state_save, 10000); + + return 0; +} + +/*! @}*/ + diff --git a/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_example.ino b/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_example.ino new file mode 100644 index 00000000..705f8f6c --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_example.ino @@ -0,0 +1,291 @@ +/* + * Copyright (C) 2017 Robert Bosch. All Rights Reserved. + * + * Disclaimer + * + * Common: + * Bosch Sensortec products are developed for the consumer goods industry. They may only be used + * within the parameters of the respective valid product data sheet. Bosch Sensortec products are + * provided with the express understanding that there is no warranty of fitness for a particular purpose. + * They are not fit for use in life-sustaining, safety or security sensitive systems or any system or device + * that may lead to bodily harm or property damage if the system or device malfunctions. In addition, + * Bosch Sensortec products are not fit for use in products which interact with motor vehicle systems. + * The resale and/or use of products are at the purchasers own risk and his own responsibility. The + * examination of fitness for the intended use is the sole responsibility of the Purchaser. + * + * The purchaser shall indemnify Bosch Sensortec from all third party claims, including any claims for + * incidental, or consequential damages, arising from any product use not covered by the parameters of + * the respective valid product data sheet or not approved by Bosch Sensortec and reimburse Bosch + * Sensortec for all costs in connection with such claims. + * + * The purchaser must monitor the market for the purchased products, particularly with regard to + * product safety and inform Bosch Sensortec without delay of all security relevant incidents. + * + * Engineering Samples are marked with an asterisk (*) or (e). Samples may vary from the valid + * technical specifications of the product series. They are therefore not intended or fit for resale to third + * parties or for use in end products. Their sole purpose is internal client testing. The testing of an + * engineering sample may in no way replace the testing of a product series. Bosch Sensortec + * assumes no liability for the use of engineering samples. By accepting the engineering samples, the + * Purchaser agrees to indemnify Bosch Sensortec from all claims arising from the use of engineering + * samples. + * + * Special: + * This software module (hereinafter called "Software") and any information on application-sheets + * (hereinafter called "Information") is provided free of charge for the sole purpose to support your + * application work. The Software and Information is subject to the following terms and conditions: + * + * The Software is specifically designed for the exclusive use for Bosch Sensortec products by + * personnel who have special experience and training. Do not use this Software if you do not have the + * proper experience or training. + * + * This Software package is provided `` as is `` and without any expressed or implied warranties, + * including without limitation, the implied warranties of merchantability and fitness for a particular + * purpose. + * + * Bosch Sensortec and their representatives and agents deny any liability for the functional impairment + * of this Software in terms of fitness, performance and safety. Bosch Sensortec and their + * representatives and agents shall not be liable for any direct or indirect damages or injury, except as + * otherwise stipulated in mandatory applicable law. + * + * The Information provided is believed to be accurate and reliable. Bosch Sensortec assumes no + * responsibility for the consequences of use of such Information nor for any infringement of patents or + * other rights of third parties which may result from its use. No license is granted by implication or + * otherwise under any patent or patent rights of Bosch. Specifications mentioned in the Information are + * subject to change without notice. + * + * It is not allowed to deliver the source code of the Software to any third party without permission of + * Bosch Sensortec. + * + */ + +/*! + * @file bsec_iot_example.ino + * + * @brief + * Example for using of BSEC library in a fixed configuration with the BME680 sensor. + * This works by running an endless loop in the bsec_iot_loop() function. + */ + +/*! + * @addtogroup bsec_examples BSEC Examples + * @brief BSEC usage examples + * @{*/ + +/**********************************************************************************************************************/ +/* header files */ +/**********************************************************************************************************************/ + +#include "bsec_integration.h" +#include + +/**********************************************************************************************************************/ +/* functions */ +/**********************************************************************************************************************/ + +/*! + * @brief Write operation in either Wire or SPI + * + * param[in] dev_addr Wire or SPI device address + * param[in] reg_addr register address + * param[in] reg_data_ptr pointer to the data to be written + * param[in] data_len number of bytes to be written + * + * @return result of the bus communication function + */ +int8_t bus_write(uint8_t dev_addr, uint8_t reg_addr, uint8_t *reg_data_ptr, uint16_t data_len) +{ + Wire.beginTransmission(dev_addr); + Wire.write(reg_addr); /* Set register address to start writing to */ + + /* Write the data */ + for (int index = 0; index < data_len; index++) { + Wire.write(reg_data_ptr[index]); + } + + return (int8_t)Wire.endTransmission(); +} + +/*! + * @brief Read operation in either Wire or SPI + * + * param[in] dev_addr Wire or SPI device address + * param[in] reg_addr register address + * param[out] reg_data_ptr pointer to the memory to be used to store the read data + * param[in] data_len number of bytes to be read + * + * @return result of the bus communication function + */ +int8_t bus_read(uint8_t dev_addr, uint8_t reg_addr, uint8_t *reg_data_ptr, uint16_t data_len) +{ + int8_t comResult = 0; + Wire.beginTransmission(dev_addr); + Wire.write(reg_addr); /* Set register address to start reading from */ + comResult = Wire.endTransmission(); + + delayMicroseconds(150); /* Precautionary response delay */ + Wire.requestFrom(dev_addr, (uint8_t)data_len); /* Request data */ + + int index = 0; + while (Wire.available()) /* The slave device may send less than requested (burst read) */ + { + reg_data_ptr[index] = Wire.read(); + index++; + } + + return comResult; +} + +/*! + * @brief System specific implementation of sleep function + * + * @param[in] t_ms time in milliseconds + * + * @return none + */ +void sleep(uint32_t t_ms) +{ + delay(t_ms); +} + +/*! + * @brief Capture the system time in microseconds + * + * @return system_current_time current system timestamp in microseconds + */ +int64_t get_timestamp_us() +{ + return (int64_t) millis() * 1000; +} + +/*! + * @brief Handling of the ready outputs + * + * @param[in] timestamp time in nanoseconds + * @param[in] iaq IAQ signal + * @param[in] iaq_accuracy accuracy of IAQ signal + * @param[in] temperature temperature signal + * @param[in] humidity humidity signal + * @param[in] pressure pressure signal + * @param[in] raw_temperature raw temperature signal + * @param[in] raw_humidity raw humidity signal + * @param[in] gas raw gas sensor signal + * @param[in] bsec_status value returned by the bsec_do_steps() call + * + * @return none + */ +void output_ready(int64_t timestamp, float iaq, uint8_t iaq_accuracy, float temperature, float humidity, + float pressure, float raw_temperature, float raw_humidity, float gas, bsec_library_return_t bsec_status, + float static_iaq, float co2_equivalent, float breath_voc_equivalent) +{ + Serial.print("["); + Serial.print(timestamp/1e6); + Serial.print("] T: "); + Serial.print(temperature); + Serial.print("| rH: "); + Serial.print(humidity); + Serial.print("| IAQ: "); + Serial.print(iaq); + Serial.print(" ("); + Serial.print(iaq_accuracy); + Serial.print("| Static IAQ: "); + Serial.print(static_iaq); + Serial.print("| CO2e: "); + Serial.print(co2_equivalent); + Serial.print("| bVOC: "); + Serial.println(breath_voc_equivalent); +} + +/*! + * @brief Load previous library state from non-volatile memory + * + * @param[in,out] state_buffer buffer to hold the loaded state string + * @param[in] n_buffer size of the allocated state buffer + * + * @return number of bytes copied to state_buffer + */ +uint32_t state_load(uint8_t *state_buffer, uint32_t n_buffer) +{ + // ... + // Load a previous library state from non-volatile memory, if available. + // + // Return zero if loading was unsuccessful or no state was available, + // otherwise return length of loaded state string. + // ... + return 0; +} + +/*! + * @brief Save library state to non-volatile memory + * + * @param[in] state_buffer buffer holding the state to be stored + * @param[in] length length of the state string to be stored + * + * @return none + */ +void state_save(const uint8_t *state_buffer, uint32_t length) +{ + // ... + // Save the string some form of non-volatile memory, if possible. + // ... +} + +/*! + * @brief Load library config from non-volatile memory + * + * @param[in,out] config_buffer buffer to hold the loaded state string + * @param[in] n_buffer size of the allocated state buffer + * + * @return number of bytes copied to config_buffer + */ +uint32_t config_load(uint8_t *config_buffer, uint32_t n_buffer) +{ + // ... + // Load a library config from non-volatile memory, if available. + // + // Return zero if loading was unsuccessful or no config was available, + // otherwise return length of loaded config string. + // ... + return 0; +} + +/*! + * @brief Main function which configures BSEC library and then reads and processes the data from sensor based + * on timer ticks + * + * @return result of the processing + */ +void setup() +{ + return_values_init ret; + + /* Init I2C and serial communication */ + Wire.begin(); + Serial.begin(115200); + + /* Call to the function which initializes the BSEC library + * Switch on low-power mode and provide no temperature offset */ + ret = bsec_iot_init(BSEC_SAMPLE_RATE_LP, 5.0f, bus_write, bus_read, sleep, state_load, config_load); + if (ret.bme680_status) + { + /* Could not intialize BME680 */ + Serial.println("Error while initializing BME680"); + return; + } + else if (ret.bsec_status) + { + /* Could not intialize BSEC library */ + Serial.println("Error while initializing BSEC library"); + return; + } + + /* Call to endless loop function which reads and processes data based on sensor settings */ + /* State is saved every 10.000 samples, which means every 10.000 * 3 secs = 500 minutes */ + bsec_iot_loop(sleep, get_timestamp_us, output_ready, state_save, 10000); +} + +void loop() +{ +} + +/*! @}*/ + diff --git a/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_ulp_plus_example.c b/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_ulp_plus_example.c new file mode 100644 index 00000000..74507ad3 --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_ulp_plus_example.c @@ -0,0 +1,290 @@ +/* + * Copyright (C) 2017 Robert Bosch. All Rights Reserved. + * + * Disclaimer + * + * Common: + * Bosch Sensortec products are developed for the consumer goods industry. They may only be used + * within the parameters of the respective valid product data sheet. Bosch Sensortec products are + * provided with the express understanding that there is no warranty of fitness for a particular purpose. + * They are not fit for use in life-sustaining, safety or security sensitive systems or any system or device + * that may lead to bodily harm or property damage if the system or device malfunctions. In addition, + * Bosch Sensortec products are not fit for use in products which interact with motor vehicle systems. + * The resale and/or use of products are at the purchasers own risk and his own responsibility. The + * examination of fitness for the intended use is the sole responsibility of the Purchaser. + * + * The purchaser shall indemnify Bosch Sensortec from all third party claims, including any claims for + * incidental, or consequential damages, arising from any product use not covered by the parameters of + * the respective valid product data sheet or not approved by Bosch Sensortec and reimburse Bosch + * Sensortec for all costs in connection with such claims. + * + * The purchaser must monitor the market for the purchased products, particularly with regard to + * product safety and inform Bosch Sensortec without delay of all security relevant incidents. + * + * Engineering Samples are marked with an asterisk (*) or (e). Samples may vary from the valid + * technical specifications of the product series. They are therefore not intended or fit for resale to third + * parties or for use in end products. Their sole purpose is internal client testing. The testing of an + * engineering sample may in no way replace the testing of a product series. Bosch Sensortec + * assumes no liability for the use of engineering samples. By accepting the engineering samples, the + * Purchaser agrees to indemnify Bosch Sensortec from all claims arising from the use of engineering + * samples. + * + * Special: + * This software module (hereinafter called "Software") and any information on application-sheets + * (hereinafter called "Information") is provided free of charge for the sole purpose to support your + * application work. The Software and Information is subject to the following terms and conditions: + * + * The Software is specifically designed for the exclusive use for Bosch Sensortec products by + * personnel who have special experience and training. Do not use this Software if you do not have the + * proper experience or training. + * + * This Software package is provided `` as is `` and without any expressed or implied warranties, + * including without limitation, the implied warranties of merchantability and fitness for a particular + * purpose. + * + * Bosch Sensortec and their representatives and agents deny any liability for the functional impairment + * of this Software in terms of fitness, performance and safety. Bosch Sensortec and their + * representatives and agents shall not be liable for any direct or indirect damages or injury, except as + * otherwise stipulated in mandatory applicable law. + * + * The Information provided is believed to be accurate and reliable. Bosch Sensortec assumes no + * responsibility for the consequences of use of such Information nor for any infringement of patents or + * other rights of third parties which may result from its use. No license is granted by implication or + * otherwise under any patent or patent rights of Bosch. Specifications mentioned in the Information are + * subject to change without notice. + * + * It is not allowed to deliver the source code of the Software to any third party without permission of + * Bosch Sensortec. + * + */ + +/*! + * @file bsec_iot_ulp_plus_example.c + * + * @brief + * Example for using of BSEC library in a fixed configuration with the BME680 sensor. + * This works by running an endless loop in the bsec_iot_loop() function. + */ + +/*! + * @addtogroup bsec_examples BSEC Examples + * @brief BSEC usage examples + * @{*/ + +/**********************************************************************************************************************/ +/* header files */ +/**********************************************************************************************************************/ +/* BSEC configuration files are available in the config/ folder of the release package. Please chose a configuration file with 3s maximum time between `bsec_sensor_control()` calls */ +#include "bsec_integration.h" + +/**********************************************************************************************************************/ +/* functions */ +/**********************************************************************************************************************/ + +/*! + * @brief Write operation in either I2C or SPI + * + * param[in] dev_addr I2C or SPI device address + * param[in] reg_addr register address + * param[in] reg_data_ptr pointer to the data to be written + * param[in] data_len number of bytes to be written + * + * @return result of the bus communication function + */ +int8_t bus_write(uint8_t dev_addr, uint8_t reg_addr, uint8_t *reg_data_ptr, uint16_t data_len) +{ + // ... + // Please insert system specific function to write to the bus where BME680 is connected + // ... + return 0; +} + +/*! + * @brief Read operation in either I2C or SPI + * + * param[in] dev_addr I2C or SPI device address + * param[in] reg_addr register address + * param[out] reg_data_ptr pointer to the memory to be used to store the read data + * param[in] data_len number of bytes to be read + * + * @return result of the bus communication function + */ +int8_t bus_read(uint8_t dev_addr, uint8_t reg_addr, uint8_t *reg_data_ptr, uint16_t data_len) +{ + // ... + // Please insert system specific function to read from bus where BME680 is connected + // ... + return 0; +} + +/*! + * @brief System specific implementation of sleep function + * + * @param[in] t_ms time in milliseconds + * + * @return none + */ +void sleep(uint32_t t_ms) +{ + // ... + // Please insert system specific function sleep or delay for t_ms milliseconds + // ... +} + +/*! + * @brief Capture the system time in microseconds + * + * @return system_current_time current system timestamp in microseconds + */ +int64_t get_timestamp_us() +{ + int64_t system_current_time = 0; + // ... + // Please insert system specific function to retrieve a timestamp (in microseconds) + // ... + return system_current_time; +} + +/*! + * @brief Handling of the ready outputs + * + * @param[in] timestamp time in nanoseconds + * @param[in] iaq IAQ signal + * @param[in] iaq_accuracy accuracy of IAQ signal + * @param[in] temperature temperature signal + * @param[in] humidity humidity signal + * @param[in] pressure pressure signal + * @param[in] raw_temperature raw temperature signal + * @param[in] raw_humidity raw humidity signal + * @param[in] gas raw gas sensor signal + * @param[in] bsec_status value returned by the bsec_do_steps() call + * + * @return none + */ +void output_ready(int64_t timestamp, float iaq, uint8_t iaq_accuracy, float temperature, float humidity, + float pressure, float raw_temperature, float raw_humidity, float gas, bsec_library_return_t bsec_status, + float static_iaq, float co2_equivalent, float breath_voc_equivalent) +{ + // ... + // Please insert system specific code to further process or display the BSEC outputs + // ... +} + +/*! + * @brief Load previous library state from non-volatile memory + * + * @param[in,out] state_buffer buffer to hold the loaded state string + * @param[in] n_buffer size of the allocated state buffer + * + * @return number of bytes copied to state_buffer + */ +uint32_t state_load(uint8_t *state_buffer, uint32_t n_buffer) +{ + // ... + // Load a previous library state from non-volatile memory, if available. + // + // Return zero if loading was unsuccessful or no state was available, + // otherwise return length of loaded state string. + // ... + return 0; +} + +/*! + * @brief Save library state to non-volatile memory + * + * @param[in] state_buffer buffer holding the state to be stored + * @param[in] length length of the state string to be stored + * + * @return none + */ +void state_save(const uint8_t *state_buffer, uint32_t length) +{ + // ... + // Save the string some form of non-volatile memory, if possible. + // ... +} + +/*! + * @brief Load library config from non-volatile memory + * + * @param[in,out] config_buffer buffer to hold the loaded state string + * @param[in] n_buffer size of the allocated state buffer + * + * @return number of bytes copied to config_buffer + */ +uint32_t config_load(uint8_t *config_buffer, uint32_t n_buffer) +{ + // ... + // Load a library config from non-volatile memory, if available. + // + // Return zero if loading was unsuccessful or no config was available, + // otherwise return length of loaded config string. + // ... + return 0; +} + +/*! + * @brief Interrupt handler for press of a ULP plus button + * + * @return none + */ +void ulp_plus_button_press() +{ + /* We call bsec_update_subscription() in order to instruct BSEC to perform an extra measurement at the next + * possible time slot + */ + + bsec_sensor_configuration_t requested_virtual_sensors[1]; + uint8_t n_requested_virtual_sensors = 1; + bsec_sensor_configuration_t required_sensor_settings[BSEC_MAX_PHYSICAL_SENSOR]; + uint8_t n_required_sensor_settings = BSEC_MAX_PHYSICAL_SENSOR; + bsec_library_return_t status = BSEC_OK; + + /* To trigger a ULP plus, we request the IAQ virtual sensor with a specific sample rate code */ + requested_virtual_sensors[0].sensor_id = BSEC_OUTPUT_IAQ; + requested_virtual_sensors[0].sample_rate = BSEC_SAMPLE_RATE_ULP_MEASUREMENT_ON_DEMAND; + + /* Call bsec_update_subscription() to enable/disable the requested virtual sensors */ + status = bsec_update_subscription(requested_virtual_sensors, n_requested_virtual_sensors, required_sensor_settings, + &n_required_sensor_settings); + + /* The status code would tell is if the request was accepted. It will be rejected if the sensor is not already in + * ULP mode, or if the time difference between requests is too short, for example. */ +} + +/*! + * @brief Main function which configures BSEC library and then reads and processes the data from sensor based + * on timer ticks + * + * @return result of the processing + */ +int main() +{ + return_values_init ret; + // ... + // Attach a button (or other) interrupt here to the ulp_plus_button_press() handler function to + // enable this interrupt to trigger a ULP plus + // ... + + /* Call to the function which initializes the BSEC library + * Switch on ultra_low-power mode and provide no temperature offset */ + ret = bsec_iot_init(BSEC_SAMPLE_RATE_ULP, 0.0f, bus_write, bus_read, sleep, state_load, config_load); + if (ret.bme680_status) + { + /* Could not intialize BME680 or BSEC library */ + return (int)ret.bme680_status; + } + else if (ret.bsec_status) + { + /* Could not intialize BSEC library */ + return (int)ret.bsec_status; + } + /* Call to endless loop function which reads and processes data based on sensor settings */ + /* State is saved every 10.000 samples, which means every 100 * 300 secs = 500 minutes */ + bsec_iot_loop(sleep, get_timestamp_us, output_ready, state_save, 100); + + return 0; +} + +/*! @}*/ + diff --git a/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_ulp_plus_example.ino b/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_ulp_plus_example.ino new file mode 100644 index 00000000..7e2cff88 --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_ulp_plus_example.ino @@ -0,0 +1,342 @@ +/* + * Copyright (C) 2017 Robert Bosch. All Rights Reserved. + * + * Disclaimer + * + * Common: + * Bosch Sensortec products are developed for the consumer goods industry. They may only be used + * within the parameters of the respective valid product data sheet. Bosch Sensortec products are + * provided with the express understanding that there is no warranty of fitness for a particular purpose. + * They are not fit for use in life-sustaining, safety or security sensitive systems or any system or device + * that may lead to bodily harm or property damage if the system or device malfunctions. In addition, + * Bosch Sensortec products are not fit for use in products which interact with motor vehicle systems. + * The resale and/or use of products are at the purchasers own risk and his own responsibility. The + * examination of fitness for the intended use is the sole responsibility of the Purchaser. + * + * The purchaser shall indemnify Bosch Sensortec from all third party claims, including any claims for + * incidental, or consequential damages, arising from any product use not covered by the parameters of + * the respective valid product data sheet or not approved by Bosch Sensortec and reimburse Bosch + * Sensortec for all costs in connection with such claims. + * + * The purchaser must monitor the market for the purchased products, particularly with regard to + * product safety and inform Bosch Sensortec without delay of all security relevant incidents. + * + * Engineering Samples are marked with an asterisk (*) or (e). Samples may vary from the valid + * technical specifications of the product series. They are therefore not intended or fit for resale to third + * parties or for use in end products. Their sole purpose is internal client testing. The testing of an + * engineering sample may in no way replace the testing of a product series. Bosch Sensortec + * assumes no liability for the use of engineering samples. By accepting the engineering samples, the + * Purchaser agrees to indemnify Bosch Sensortec from all claims arising from the use of engineering + * samples. + * + * Special: + * This software module (hereinafter called "Software") and any information on application-sheets + * (hereinafter called "Information") is provided free of charge for the sole purpose to support your + * application work. The Software and Information is subject to the following terms and conditions: + * + * The Software is specifically designed for the exclusive use for Bosch Sensortec products by + * personnel who have special experience and training. Do not use this Software if you do not have the + * proper experience or training. + * + * This Software package is provided `` as is `` and without any expressed or implied warranties, + * including without limitation, the implied warranties of merchantability and fitness for a particular + * purpose. + * + * Bosch Sensortec and their representatives and agents deny any liability for the functional impairment + * of this Software in terms of fitness, performance and safety. Bosch Sensortec and their + * representatives and agents shall not be liable for any direct or indirect damages or injury, except as + * otherwise stipulated in mandatory applicable law. + * + * The Information provided is believed to be accurate and reliable. Bosch Sensortec assumes no + * responsibility for the consequences of use of such Information nor for any infringement of patents or + * other rights of third parties which may result from its use. No license is granted by implication or + * otherwise under any patent or patent rights of Bosch. Specifications mentioned in the Information are + * subject to change without notice. + * + * It is not allowed to deliver the source code of the Software to any third party without permission of + * Bosch Sensortec. + * + */ + +/*! + * @file bsec_iot_ulp_plus_example.ino + * + * @brief + * Example for using of BSEC library in a fixed configuration with the BME680 sensor. + * This works by running an endless loop in the bsec_iot_loop() function. + */ + +/*! + * @addtogroup bsec_examples BSEC Examples + * @brief BSEC usage examples + * @{*/ + +/**********************************************************************************************************************/ +/* header files */ +/**********************************************************************************************************************/ + +#include "bsec_integration.h" +#include "bsec_serialized_configurations_iaq.h" +#include + +/**********************************************************************************************************************/ +/* functions */ +/**********************************************************************************************************************/ + +/*! + * @brief Write operation in either Wire or SPI + * + * param[in] dev_addr Wire or SPI device address + * param[in] reg_addr register address + * param[in] reg_data_ptr pointer to the data to be written + * param[in] data_len number of bytes to be written + * + * @return result of the bus communication function + */ +int8_t bus_write(uint8_t dev_addr, uint8_t reg_addr, uint8_t *reg_data_ptr, uint16_t data_len) +{ + Wire.beginTransmission(dev_addr); + Wire.write(reg_addr); /* Set register address to start writing to */ + + /* Write the data */ + for (int index = 0; index < data_len; index++) { + Wire.write(reg_data_ptr[index]); + } + + return (int8_t)Wire.endTransmission(); +} + +/*! + * @brief Read operation in either Wire or SPI + * + * param[in] dev_addr Wire or SPI device address + * param[in] reg_addr register address + * param[out] reg_data_ptr pointer to the memory to be used to store the read data + * param[in] data_len number of bytes to be read + * + * @return result of the bus communication function + */ +int8_t bus_read(uint8_t dev_addr, uint8_t reg_addr, uint8_t *reg_data_ptr, uint16_t data_len) +{ + int8_t comResult = 0; + Wire.beginTransmission(dev_addr); + Wire.write(reg_addr); /* Set register address to start reading from */ + comResult = Wire.endTransmission(); + + delayMicroseconds(150); /* Precautionary response delay */ + Wire.requestFrom(dev_addr, (uint8_t)data_len); /* Request data */ + + int index = 0; + while (Wire.available()) /* The slave device may send less than requested (burst read) */ + { + reg_data_ptr[index] = Wire.read(); + index++; + } + + return comResult; +} + +/*! + * @brief System specific implementation of sleep function + * + * @param[in] t_ms time in milliseconds + * + * @return none + */ +void sleep(uint32_t t_ms) +{ + delay(t_ms); +} + +/*! + * @brief Capture the system time in microseconds + * + * @return system_current_time current system timestamp in microseconds + */ +int64_t get_timestamp_us() +{ + return (int64_t) millis() * 1000; +} + +/*! + * @brief Handling of the ready outputs + * + * @param[in] timestamp time in nanoseconds + * @param[in] iaq IAQ signal + * @param[in] iaq_accuracy accuracy of IAQ signal + * @param[in] temperature temperature signal + * @param[in] humidity humidity signal + * @param[in] pressure pressure signal + * @param[in] raw_temperature raw temperature signal + * @param[in] raw_humidity raw humidity signal + * @param[in] gas raw gas sensor signal + * @param[in] bsec_status value returned by the bsec_do_steps() call + * + * @return none + */ +void output_ready(int64_t timestamp, float iaq, uint8_t iaq_accuracy, float temperature, float humidity, + float pressure, float raw_temperature, float raw_humidity, float gas, bsec_library_return_t bsec_status, + float static_iaq, float co2_equivalent, float breath_voc_equivalent) +{ + Serial.print("["); + Serial.print(timestamp/1e6); + Serial.print("] T: "); + Serial.print(temperature); + Serial.print("| rH: "); + Serial.print(humidity); + Serial.print("| IAQ: "); + Serial.print(iaq); + Serial.print(" ("); + Serial.print(iaq_accuracy); + Serial.println(")"); +} + +/*! + * @brief Load previous library state from non-volatile memory + * + * @param[in,out] state_buffer buffer to hold the loaded state string + * @param[in] n_buffer size of the allocated state buffer + * + * @return number of bytes copied to state_buffer + */ +uint32_t state_load(uint8_t *state_buffer, uint32_t n_buffer) +{ + // ... + // Load a previous library state from non-volatile memory, if available. + // + // Return zero if loading was unsuccessful or no state was available, + // otherwise return length of loaded state string. + // ... + return 0; +} + +/*! + * @brief Save library state to non-volatile memory + * + * @param[in] state_buffer buffer holding the state to be stored + * @param[in] length length of the state string to be stored + * + * @return none + */ +void state_save(const uint8_t *state_buffer, uint32_t length) +{ + // ... + // Save the string some form of non-volatile memory, if possible. + // ... +} + +/*! + * @brief Load library config from non-volatile memory + * + * @param[in,out] config_buffer buffer to hold the loaded state string + * @param[in] n_buffer size of the allocated state buffer + * + * @return number of bytes copied to config_buffer + */ +uint32_t config_load(uint8_t *config_buffer, uint32_t n_buffer) +{ + // ... + // Load a library config from non-volatile memory, if available. + // + // Return zero if loading was unsuccessful or no config was available, + // otherwise return length of loaded config string. + // ... + + memcpy(config_buffer, bsec_config_iaq, sizeof(bsec_config_iaq)); + return sizeof(bsec_config_iaq); +} + +/*! + * @brief Interrupt handler for press of a ULP plus button + * + * @return none + */ +void ulp_plus_button_press() +{ + /* We call bsec_update_subscription() in order to instruct BSEC to perform an extra measurement at the next + * possible time slot + */ + + bsec_sensor_configuration_t requested_virtual_sensors[1]; + uint8_t n_requested_virtual_sensors = 1; + bsec_sensor_configuration_t required_sensor_settings[BSEC_MAX_PHYSICAL_SENSOR]; + uint8_t n_required_sensor_settings = BSEC_MAX_PHYSICAL_SENSOR; + bsec_library_return_t status = BSEC_OK; + + /* To trigger a ULP plus, we request the IAQ virtual sensor with a specific sample rate code */ + requested_virtual_sensors[0].sensor_id = BSEC_OUTPUT_IAQ_ESTIMATE; + requested_virtual_sensors[0].sample_rate = BSEC_SAMPLE_RATE_ULP_MEASUREMENT_ON_DEMAND; + + /* Call bsec_update_subscription() to enable/disable the requested virtual sensors */ + status = bsec_update_subscription(requested_virtual_sensors, n_requested_virtual_sensors, required_sensor_settings, + &n_required_sensor_settings); + + /* The status code would tell is if the request was accepted. It will be rejected if the sensor is not already in + * ULP mode, or if the time difference between requests is too short, for example. */ + if (status == BSEC_OK) + { + Serial.println("ULP plus triggered sucessfully."); + } + else + { + Serial.print("ULP plus request rejected. "); + switch (status) + { + case BSEC_W_SC_MODEXCEEDULPTIMELIMIT: + Serial.println("Request came within 20 s of a previous measurement."); + break; + case BSEC_W_SC_MODINSUFFICIENTWAITTIME: + Serial.println("Request came within 20 s of a ULP plus."); + break; + case BSEC_W_SU_MODINNOULP: + Serial.println("Sensor not in ULP mode."); + break; + } + } +} + +/*! + * @brief Main function which configures BSEC library and then reads and processes the data from sensor based + * on timer ticks + * + * @return result of the processing + */ +void setup() +{ + return_values_init ret; + + /* Init I2C and serial communication */ + Wire.begin(); + Serial.begin(115200); + + /* Setup button interrupt to trigger ULP plus */ + pinMode(2, INPUT_PULLUP); + attachInterrupt(digitalPinToInterrupt(2), ulp_plus_button_press, FALLING); + + /* Call to the function which initializes the BSEC library + * Switch on ultra_low-power mode and provide no temperature offset */ + ret = bsec_iot_init(BSEC_SAMPLE_RATE_ULP, 5.0f, bus_write, bus_read, sleep, state_load, config_load); + if (ret.bme680_status) + { + /* Could not intialize BME680 */ + Serial.println("Error while initializing BME680"); + return; + } + else if (ret.bsec_status) + { + /* Could not intialize BSEC library */ + Serial.println("Error while initializing BSEC library"); + return; + } + + /* Call to endless loop function which reads and processes data based on sensor settings */ + /* State is saved every 10.000 samples, which means every 100 * 300 secs = 500 minutes */ + bsec_iot_loop(sleep, get_timestamp_us, output_ready, state_save, 100); +} + +void loop() +{ +} + +/*! @}*/ + diff --git a/lib/Bosch-BSEC-1.4.7.1/libalgobsec.a b/lib/Bosch-BSEC-1.4.7.1/libalgobsec.a new file mode 100644 index 0000000000000000000000000000000000000000..d785a02ddde7a9b062d51f56d8c2ee13a1970191 GIT binary patch literal 181430 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 R8Hs2%neQi}k02!a{vVVfK0N>c literal 0 HcmV?d00001 diff --git a/lib/Bosch-BSEC-1.4.7.1/libalgobsec.a.Size.log b/lib/Bosch-BSEC-1.4.7.1/libalgobsec.a.Size.log new file mode 100644 index 00000000..23acb73c --- /dev/null +++ b/lib/Bosch-BSEC-1.4.7.1/libalgobsec.a.Size.log @@ -0,0 +1,2 @@ + text data bss dec hex filename + 23795 0 1120 24915 6153 (TOTALS) diff --git a/platformio.ini b/platformio.ini index c261bd38..b79180ea 100644 --- a/platformio.ini +++ b/platformio.ini @@ -6,7 +6,7 @@ ; ---> SELECT TARGET PLATFORM HERE! <--- [platformio] -env_default = generic +;env_default = generic ;env_default = ebox ;env_default = eboxtube ;env_default = heltec @@ -15,7 +15,7 @@ env_default = generic ;env_default = ttgov2 ;env_default = ttgov21old ;env_default = ttgov21new -;env_default = ttgobeam +env_default = ttgobeam ;env_default = lopy ;env_default = lopy4 ;env_default = fipy @@ -38,7 +38,8 @@ upload_protocol = esptool ;upload_protocol = custom extra_scripts = pre:build.py keyfile = ota.conf -platform_espressif32 = espressif32@1.5.0 +;platform_espressif32 = espressif32@1.5.0 +platform_espressif32 = https://github.com/platformio/platform-espressif32.git#feature/stage board_build.partitions = min_spiffs.csv monitor_speed = 115200 lib_deps_basic = @@ -76,7 +77,7 @@ build_flags = [env:ebox] platform = ${common.platform_espressif32} framework = arduino -board = heltec_wifi_lora_32 +board = esp32dev board_build.partitions = ${common.board_build.partitions} upload_speed = 115200 lib_deps = @@ -91,7 +92,7 @@ monitor_speed = ${common.monitor_speed} [env:eboxtube] platform = ${common.platform_espressif32} framework = arduino -board = heltec_wifi_lora_32 +board = esp32dev board_build.partitions = ${common.board_build.partitions} upload_speed = 115200 lib_deps = @@ -171,7 +172,7 @@ monitor_speed = ${common.monitor_speed} [env:ttgov21old] platform = ${common.platform_espressif32} framework = arduino -board = heltec_wifi_lora_32 +board = esp32dev board_build.partitions = ${common.board_build.partitions} upload_speed = 921600 lib_deps = @@ -187,7 +188,7 @@ monitor_speed = ${common.monitor_speed} [env:ttgov21new] platform = ${common.platform_espressif32} framework = arduino -board = heltec_wifi_lora_32 +board = esp32dev board_build.partitions = ${common.board_build.partitions} upload_speed = 921600 lib_deps = @@ -203,7 +204,7 @@ monitor_speed = ${common.monitor_speed} [env:ttgobeam] platform = ${common.platform_espressif32} framework = arduino -board = heltec_wifi_lora_32 +board = esp32dev board_build.partitions = ${common.board_build.partitions} upload_speed = 921600 lib_deps = @@ -220,7 +221,7 @@ monitor_speed = ${common.monitor_speed} [env:fipy] platform = ${common.platform_espressif32} framework = arduino -board = heltec_wifi_lora_32 +board = esp32dev board_build.partitions = ${common.board_build.partitions} upload_speed = 921600 lib_deps = @@ -236,7 +237,7 @@ monitor_speed = ${common.monitor_speed} [env:lopy] platform = ${common.platform_espressif32} framework = arduino -board = heltec_wifi_lora_32 +board = esp32dev board_build.partitions = ${common.board_build.partitions} upload_speed = 921600 lib_deps = @@ -253,7 +254,7 @@ monitor_speed = ${common.monitor_speed} [env:lopy4] platform = ${common.platform_espressif32} framework = arduino -board = heltec_wifi_lora_32 +board = esp32dev board_build.partitions = ${common.board_build.partitions} upload_speed = 921600 lib_deps = @@ -330,7 +331,7 @@ monitor_speed = ${common.monitor_speed} [env:generic] platform = ${common.platform_espressif32} framework = arduino -board = heltec_wifi_lora_32 +board = esp32dev board_build.partitions = ${common.board_build.partitions} upload_speed = 921600 lib_deps = ${common.lib_deps_all} diff --git a/src/gpsread.cpp b/src/gpsread.cpp index bc5d4613..dbc885b3 100644 --- a/src/gpsread.cpp +++ b/src/gpsread.cpp @@ -16,6 +16,9 @@ void gps_read() { gps_status.satellites = (uint8_t)gps.satellites.value(); gps_status.hdop = (uint16_t)gps.hdop.value(); gps_status.altitude = (int16_t)gps.altitude.meters(); + // show NMEA data in debug mode, useful for debugging GPS + ESP_LOGD(TAG, "GPS NMEA data: passed %d / failed: %d / with fix: %d", + gps.passedChecksum(), gps.failedChecksum(), gps.sentencesWithFix()); } // GPS serial feed FreeRTos Task diff --git a/src/hal/ebox.h b/src/hal/ebox.h index 201d81a7..75dff14f 100644 --- a/src/hal/ebox.h +++ b/src/hal/ebox.h @@ -18,7 +18,7 @@ #define LORA_MISO (19) #define LORA_MOSI (27) #define LORA_RST (14) -#define LORA_IO0 (26) +#define LORA_IRQ (26) #define LORA_IO1 (33) #define LORA_IO2 LMIC_UNUSED_PIN diff --git a/src/hal/eboxtube.h b/src/hal/eboxtube.h index 35e1c649..1010b9b6 100644 --- a/src/hal/eboxtube.h +++ b/src/hal/eboxtube.h @@ -19,7 +19,7 @@ #define LORA_MISO (19) #define LORA_MOSI (27) #define LORA_RST (14) -#define LORA_IO0 (26) +#define LORA_IRQ (26) #define LORA_IO1 (33) #define LORA_IO2 (32) diff --git a/src/hal/fipy.h b/src/hal/fipy.h index fd2341d3..319e37f3 100644 --- a/src/hal/fipy.h +++ b/src/hal/fipy.h @@ -18,7 +18,7 @@ #define LORA_MISO (19) #define LORA_MOSI (27) #define LORA_RST LMIC_UNUSED_PIN -#define LORA_IO0 (23) // LoRa IRQ +#define LORA_IRQ (23) // LoRa IRQ #define LORA_IO1 (23) // Pin tied via diode to DIO0 #define LORA_IO2 LMIC_UNUSED_PIN diff --git a/src/hal/generic.h b/src/hal/generic.h index 9fb9234d..953fb475 100644 --- a/src/hal/generic.h +++ b/src/hal/generic.h @@ -15,6 +15,8 @@ #define HAS_BME 0x77 // BME680 sensor on I2C bus (SDA=4/SCL=15); comment out if not present +#define HAS_SENSORS 1 // comment out if device has user defined sensors + #define CFG_sx1276_radio 1 // select LoRa chip //#define CFG_sx1272_radio 1 // select LoRa chip #define BOARD_HAS_PSRAM // use if board has external PSRAM @@ -45,7 +47,7 @@ #define LORA_MISO (19) #define LORA_MOSI (27) #define LORA_RST (14) -#define LORA_IO0 (26) +#define LORA_IRQ (26) #define LORA_IO1 (33) #define LORA_IO2 LMIC_UNUSED_PIN diff --git a/src/hal/heltec.h b/src/hal/heltec.h index 45dc9911..69df3869 100644 --- a/src/hal/heltec.h +++ b/src/hal/heltec.h @@ -3,28 +3,24 @@ #include -//#define HAS_BME 0x77 // BME680 sensor on I2C bus (SDI=21/SCL=22); comment out if not present +//#define HAS_BME 0x77 // BME680 sensor on I2C bus (SDI=21/SCL=22); comment out +//if not present // Hardware related definitions for Heltec LoRa-32 Board -#define HAS_LORA 1 // comment out if device shall not send data via LoRa +#define HAS_LORA 1 // comment out if device shall not send data via LoRa #define CFG_sx1276_radio 1 #define HAS_DISPLAY U8X8_SSD1306_128X64_NONAME_HW_I2C // OLED-Display on board -#define HAS_LED (25) // white LED on board -#define HAS_BUTTON (0) // button "PROG" on board +#define HAS_LED (25) // white LED on board +#define HAS_BUTTON (0) // button "PROG" on board // Pins for I2C interface of OLED Display #define MY_OLED_SDA (4) #define MY_OLED_SCL (15) #define MY_OLED_RST (16) -// Pins for LORA chip SPI interface, reset line and interrupt lines -#define LORA_SCK (5) -#define LORA_CS (18) -#define LORA_MISO (19) -#define LORA_MOSI (27) -#define LORA_RST (14) -#define LORA_IO0 (26) -#define LORA_IO1 (33) -#define LORA_IO2 LMIC_UNUSED_PIN +// Pins for LORA chip SPI interface come from board file, we need some +// additional definitions for LMIC +#define LORA_IO1 (33) +#define LORA_IO2 LMIC_UNUSED_PIN #endif diff --git a/src/hal/heltecv2.h b/src/hal/heltecv2.h index 6b8f83d6..29ecdced 100644 --- a/src/hal/heltecv2.h +++ b/src/hal/heltecv2.h @@ -17,13 +17,8 @@ #define OLED_SCL (15) #define OLED_RST (16) -// Pins for LORA chip SPI interface, reset line and interrupt lines -#define LORA_SCK (5) -#define LORA_CS (18) -#define LORA_MISO (19) -#define LORA_MOSI (27) -#define LORA_RST (14) -#define LORA_IO0 (26) +// Pins for LORA chip SPI interface come from board file, we need some +// additional definitions for LMIC #define LORA_IO1 (35) #define LORA_IO2 (34) diff --git a/src/hal/lolin32litelora.h b/src/hal/lolin32litelora.h index 55b7e10e..44374b8d 100644 --- a/src/hal/lolin32litelora.h +++ b/src/hal/lolin32litelora.h @@ -26,7 +26,7 @@ #define LORA_MISO (19) #define LORA_MOSI (27) #define LORA_RST (25) -#define LORA_IO0 (27) +#define LORA_IRQ (27) #define LORA_IO1 (26) #define LORA_IO2 LMIC_UNUSED_PIN diff --git a/src/hal/lolin32lora.h b/src/hal/lolin32lora.h index 62d18412..685c414b 100644 --- a/src/hal/lolin32lora.h +++ b/src/hal/lolin32lora.h @@ -27,7 +27,7 @@ #define LORA_MISO (19) #define LORA_MOSI (27) #define LORA_RST (25) -#define LORA_IO0 (27) +#define LORA_IRQ (27) #define LORA_IO1 (26) #define LORA_IO2 LMIC_UNUSED_PIN #define LORA_IO5 LMIC_UNUSED_PIN diff --git a/src/hal/lopy.h b/src/hal/lopy.h index feaf9024..b4cf3c34 100644 --- a/src/hal/lopy.h +++ b/src/hal/lopy.h @@ -16,7 +16,7 @@ #define LORA_MISO (19) // GPIO19 - SX1276 MISO #define LORA_MOSI (27) // GPIO27 - SX1276 MOSI #define LORA_RST (18) // GPIO18 - SX1276 RESET -#define LORA_IO0 (23) // LoRa IRQ +#define LORA_IRQ (23) // LoRa IRQ #define LORA_IO1 (23) // Pin tied via diode to DIO0 #define LORA_IO2 (23) // Pin tied via diode to DIO0 diff --git a/src/hal/lopy4.h b/src/hal/lopy4.h index 5e68c78c..15cbc00e 100644 --- a/src/hal/lopy4.h +++ b/src/hal/lopy4.h @@ -25,7 +25,7 @@ #define LORA_MISO (19) #define LORA_MOSI (27) #define LORA_RST LMIC_UNUSED_PIN -#define LORA_IO0 (23) // LoRa IRQ +#define LORA_IRQ (23) // LoRa IRQ #define LORA_IO1 (23) // Pin tied via diode to DIO0 #define LORA_IO2 (23) // Pin tied via diode to DIO0 diff --git a/src/hal/octopus32.h b/src/hal/octopus32.h index a2be5f12..292a0686 100644 --- a/src/hal/octopus32.h +++ b/src/hal/octopus32.h @@ -27,7 +27,7 @@ #define LORA_MISO (19) #define LORA_MOSI (18) #define LORA_RST LMIC_UNUSED_PIN -#define LORA_IO0 (33) +#define LORA_IRQ (33) #define LORA_IO1 (33) #define LORA_IO2 LMIC_UNUSED_PIN diff --git a/src/hal/ttgobeam.h b/src/hal/ttgobeam.h index 46411eb0..495b070f 100644 --- a/src/hal/ttgobeam.h +++ b/src/hal/ttgobeam.h @@ -24,7 +24,7 @@ #define LORA_MISO (19) #define LORA_MOSI (27) #define LORA_RST LMIC_UNUSED_PIN -#define LORA_IO0 (26) +#define LORA_IRQ (26) #define LORA_IO1 (32) // !! NEEDS EXTERNAL WIRING !! //#define LORA_IO1 (33) // for T-Beam T22_V05 and T22_V07, other versions may need external wiring #define LORA_IO2 LMIC_UNUSED_PIN diff --git a/src/hal/ttgov1.h b/src/hal/ttgov1.h index d9bcd847..bd572b63 100644 --- a/src/hal/ttgov1.h +++ b/src/hal/ttgov1.h @@ -25,7 +25,7 @@ #define LORA_MISO (19) #define LORA_MOSI (27) #define LORA_RST (14) -#define LORA_IO0 (26) +#define LORA_IRQ (26) #define LORA_IO1 (33) #define LORA_IO2 LMIC_UNUSED_PIN diff --git a/src/hal/ttgov2.h b/src/hal/ttgov2.h index afe6c3e6..79632ca0 100644 --- a/src/hal/ttgov2.h +++ b/src/hal/ttgov2.h @@ -26,7 +26,7 @@ #define LORA_MISO (19) #define LORA_MOSI (27) #define LORA_RST LMIC_UNUSED_PIN -#define LORA_IO0 (26) +#define LORA_IRQ (26) #define LORA_IO1 (33) #define LORA_IO2 LMIC_UNUSED_PIN diff --git a/src/hal/ttgov21new.h b/src/hal/ttgov21new.h index e34de684..73609065 100644 --- a/src/hal/ttgov21new.h +++ b/src/hal/ttgov21new.h @@ -29,7 +29,7 @@ #define LORA_MISO (19) #define LORA_MOSI (27) #define LORA_RST (23) -#define LORA_IO0 (26) +#define LORA_IRQ (26) #define LORA_IO1 (33) #define LORA_IO2 (32) diff --git a/src/hal/ttgov21old.h b/src/hal/ttgov21old.h index 523a967d..d90d9859 100644 --- a/src/hal/ttgov21old.h +++ b/src/hal/ttgov21old.h @@ -30,7 +30,7 @@ #define LORA_MISO (19) #define LORA_MOSI (27) #define LORA_RST LMIC_UNUSED_PIN -#define LORA_IO0 (26) +#define LORA_IRQ (26) #define LORA_IO1 (33) #define LORA_IO2 (32) diff --git a/src/lorawan.cpp b/src/lorawan.cpp index bebac6e9..ba3e11f5 100644 --- a/src/lorawan.cpp +++ b/src/lorawan.cpp @@ -14,7 +14,7 @@ const lmic_pinmap lmic_pins = { .nss = LORA_CS, .rxtx = LMIC_UNUSED_PIN, .rst = LORA_RST, - .dio = {LORA_IO0, LORA_IO1, LORA_IO2}, + .dio = {LORA_IRQ, LORA_IO1, LORA_IO2}, .mosi = LORA_MOSI, .miso = LORA_MISO, .sck = LORA_SCK diff --git a/src/ota.cpp b/src/ota.cpp index ae9dab05..83c8a568 100644 --- a/src/ota.cpp +++ b/src/ota.cpp @@ -146,9 +146,7 @@ int do_ota_update() { WiFiClientSecure client; client.setCACert(bintray.getCertificate(currentHost)); - // client.setTimeout(RESPONSE_TIMEOUT_MS); - // --> causing error [E][WiFiClient.cpp:236] setSocketOption(): 1006 : 9 - // so we unfortunately need patched update.cpp which sets the stream timeout + client.setTimeout(RESPONSE_TIMEOUT_MS); if (!client.connect(currentHost.c_str(), port)) { ESP_LOGI(TAG, "Cannot connect to %s", currentHost.c_str()); diff --git a/src/paxcounter.conf b/src/paxcounter.conf index c47b6c85..953f4204 100644 --- a/src/paxcounter.conf +++ b/src/paxcounter.conf @@ -12,6 +12,7 @@ // Payload send cycle and encoding #define SEND_SECS 30 // payload send cycle [seconds/2] -> 60 sec. #define PAYLOAD_ENCODER 2 // payload encoder: 1=Plain, 2=Packed, 3=CayenneLPP dynamic, 4=CayenneLPP packed +#define SENSORBUFFER 20 // size of user sensor data buffer in bytes [default=20] // Set this to include BLE counting and vendor filter functions #define VENDORFILTER 1 // comment out if you want to count things, not people @@ -60,6 +61,10 @@ #define LPP2PORT 2 // Port for Cayenne LPP 2.0 packed sensor encoding #define BEACONPORT 6 // Port on which device sends beacon alarms #define BMEPORT 7 // Port on which device sends BME680 sensor data +#define SENSOR1PORT 10 // Port on which device sends User sensor #1 data +#define SENSOR2PORT 11 // Port on which device sends User sensor #2 data +#define SENSOR3PORT 12 // Port on which device sends User sensor #3 data +#define SENSOR4PORT 13 // Port on which device sends User sensor #4 data // Some hardware settings #define RGBLUMINOSITY 30 // RGB LED luminosity [default = 30%] diff --git a/src/payload.cpp b/src/payload.cpp index d6d405fb..7808f3fb 100644 --- a/src/payload.cpp +++ b/src/payload.cpp @@ -1,4 +1,3 @@ - #include "globals.h" #include "payload.h" @@ -93,6 +92,14 @@ void PayloadConvert::addGPS(gpsStatus_t value) { #endif } +void PayloadConvert::addSensor(uint8_t buf[]) { +#ifdef HAS_SENSORS + uint8_t length = buf[0]; + memcpy(buffer, buf + 1, length); + cursor += length; // length of buffer +#endif +} + void PayloadConvert::addBME(bmeStatus_t value) { #ifdef HAS_BME int16_t temperature = (int16_t)(value.temperature); // float -> int @@ -174,6 +181,14 @@ void PayloadConvert::addGPS(gpsStatus_t value) { #endif } +void PayloadConvert::addSensor(uint8_t buf[]) { +#ifdef HAS_SENSORS + uint8_t length = buf[0]; + memcpy(buffer, buf + 1, length); + cursor += length; // length of buffer +#endif +} + void PayloadConvert::addBME(bmeStatus_t value) { #ifdef HAS_BME writeTemperature(value.temperature); @@ -337,6 +352,17 @@ void PayloadConvert::addGPS(gpsStatus_t value) { #endif // HAS_GPS } +void PayloadConvert::addSensor(uint8_t buf[]) { +#ifdef HAS_SENSORS +// to come +/* + uint8_t length = buf[0]; + memcpy(buffer, buf+1, length); + cursor += length; // length of buffer +*/ +#endif +} + void PayloadConvert::addBME(bmeStatus_t value) { #ifdef HAS_BME diff --git a/src/senddata.cpp b/src/senddata.cpp index 2331dbf4..5860c5fb 100644 --- a/src/senddata.cpp +++ b/src/senddata.cpp @@ -25,11 +25,10 @@ void sendCounter() { uint8_t mask = 1; while (bitmask) { - - payload.reset(); switch (bitmask & mask) { case COUNT_DATA: + payload.reset(); payload.addCount(macs_wifi, cfg.blescan ? macs_ble : 0); SendPayload(COUNTERPORT); // clear counter if not in cumulative counter mode @@ -40,33 +39,54 @@ void sendCounter() { } break; - case MEMS_DATA: #ifdef HAS_BME + case MEMS_DATA: + payload.reset(); payload.addBME(bme_status); SendPayload(BMEPORT); -#endif break; +#endif - case GPS_DATA: #ifdef HAS_GPS - // show NMEA data in debug mode, useful for debugging GPS - ESP_LOGD(TAG, "GPS NMEA data: passed %d / failed: %d / with fix: %d", - gps.passedChecksum(), gps.failedChecksum(), - gps.sentencesWithFix()); + case GPS_DATA: // send GPS position only if we have a fix if (gps.location.isValid()) { - ESP_LOGD(TAG, - "lat=%.6f | lon=%.6f | %u Sats | HDOP=%.1f | Altitude=%um", - gps_status.latitude / (float)1e6, - gps_status.longitude / (float)1e6, gps_status.satellites, - gps_status.hdop / (float)100, gps_status.altitude); gps_read(); + payload.reset(); payload.addGPS(gps_status); SendPayload(GPSPORT); } else ESP_LOGD(TAG, "No valid GPS position"); -#endif break; +#endif + +#ifdef HAS_SENSORS + + case SENSOR1_DATA: + payload.reset(); + payload.addSensor(sensor_read(1)); + SendPayload(SENSOR1PORT); + break; + + case SENSOR2_DATA: + payload.reset(); + payload.addSensor(sensor_read(2)); + SendPayload(SENSOR2PORT); + break; + + case SENSOR3_DATA: + payload.reset(); + payload.addSensor(sensor_read(3)); + SendPayload(SENSOR3PORT); + break; + + case SENSOR4_DATA: + payload.reset(); + payload.addSensor(sensor_read(4)); + SendPayload(SENSOR4PORT); + break; + +#endif } // switch bitmask &= ~mask; diff --git a/src/sensor.cpp b/src/sensor.cpp new file mode 100644 index 00000000..aaf512a8 --- /dev/null +++ b/src/sensor.cpp @@ -0,0 +1,48 @@ +// Basic Config +#include "globals.h" + +// Local logging tag +static const char TAG[] = "main"; + +uint8_t * sensor_read(uint8_t sensor) { + + static uint8_t buf[SENSORBUFFER] = {0}; + uint8_t length = 3; + + switch (sensor) { + + case 1: + + buf[0] = length; + buf[1] = 0xff; + buf[2] = 0xa0; + buf[3] = 0x01; + break; + + case 2: + + buf[0] = length; + buf[1] = 0xff; + buf[2] = 0xa0; + buf[3] = 0x02; + break; + + case 3: + + buf[0] = length; + buf[1] = 0xff; + buf[2] = 0xa0; + buf[3] = 0x03; + break; + + case 4: + + buf[0] = length; + buf[1] = 0xff; + buf[2] = 0xa0; + buf[3] = 0x04; + break; + } + + return buf; +} \ No newline at end of file diff --git a/src/update.cpp b/src/update.cpp deleted file mode 100644 index 618720f5..00000000 --- a/src/update.cpp +++ /dev/null @@ -1,375 +0,0 @@ -/* -this file copied from esp32-arduino library and patched, see PR -https://github.com/espressif/arduino-esp32/pull/1979 -*/ - -#include "Update.h" -#include "Arduino.h" -#include "esp_spi_flash.h" -#include "esp_ota_ops.h" -#include "esp_image_format.h" - -static const char * _err2str(uint8_t _error){ - if(_error == UPDATE_ERROR_OK){ - return ("No Error"); - } else if(_error == UPDATE_ERROR_WRITE){ - return ("Flash Write Failed"); - } else if(_error == UPDATE_ERROR_ERASE){ - return ("Flash Erase Failed"); - } else if(_error == UPDATE_ERROR_READ){ - return ("Flash Read Failed"); - } else if(_error == UPDATE_ERROR_SPACE){ - return ("Not Enough Space"); - } else if(_error == UPDATE_ERROR_SIZE){ - return ("Bad Size Given"); - } else if(_error == UPDATE_ERROR_STREAM){ - return ("Stream Read Timeout"); - } else if(_error == UPDATE_ERROR_MD5){ - return ("MD5 Check Failed"); - } else if(_error == UPDATE_ERROR_MAGIC_BYTE){ - return ("Wrong Magic Byte"); - } else if(_error == UPDATE_ERROR_ACTIVATE){ - return ("Could Not Activate The Firmware"); - } else if(_error == UPDATE_ERROR_NO_PARTITION){ - return ("Partition Could Not be Found"); - } else if(_error == UPDATE_ERROR_BAD_ARGUMENT){ - return ("Bad Argument"); - } else if(_error == UPDATE_ERROR_ABORT){ - return ("Aborted"); - } - return ("UNKNOWN"); -} - -static bool _partitionIsBootable(const esp_partition_t* partition){ - uint8_t buf[4]; - if(!partition){ - return false; - } - if(!ESP.flashRead(partition->address, (uint32_t*)buf, 4)) { - return false; - } - - if(buf[0] != ESP_IMAGE_HEADER_MAGIC) { - return false; - } - return true; -} - -static bool _enablePartition(const esp_partition_t* partition){ - uint8_t buf[4]; - if(!partition){ - return false; - } - if(!ESP.flashRead(partition->address, (uint32_t*)buf, 4)) { - return false; - } - buf[0] = ESP_IMAGE_HEADER_MAGIC; - - return ESP.flashWrite(partition->address, (uint32_t*)buf, 4); -} - -UpdateClass::UpdateClass() -: _error(0) -, _buffer(0) -, _bufferLen(0) -, _size(0) -, _progress_callback(NULL) -, _progress(0) -, _command(U_FLASH) -, _partition(NULL) -{ -} - -UpdateClass& UpdateClass::onProgress(THandlerFunction_Progress fn) { - _progress_callback = fn; - return *this; -} - -void UpdateClass::_reset() { - if (_buffer) - delete[] _buffer; - _buffer = 0; - _bufferLen = 0; - _progress = 0; - _size = 0; - _command = U_FLASH; - - if(_ledPin != -1) { - digitalWrite(_ledPin, !_ledOn); // off - } -} - -bool UpdateClass::canRollBack(){ - if(_buffer){ //Update is running - return false; - } - const esp_partition_t* partition = esp_ota_get_next_update_partition(NULL); - return _partitionIsBootable(partition); -} - -bool UpdateClass::rollBack(){ - if(_buffer){ //Update is running - return false; - } - const esp_partition_t* partition = esp_ota_get_next_update_partition(NULL); - return _partitionIsBootable(partition) && !esp_ota_set_boot_partition(partition); -} - -bool UpdateClass::begin(size_t size, int command, int ledPin, uint8_t ledOn) { - if(_size > 0){ - log_w("already running"); - return false; - } - - _ledPin = ledPin; - _ledOn = !!ledOn; // 0(LOW) or 1(HIGH) - - _reset(); - _error = 0; - - if(size == 0) { - _error = UPDATE_ERROR_SIZE; - return false; - } - - if (command == U_FLASH) { - _partition = esp_ota_get_next_update_partition(NULL); - if(!_partition){ - _error = UPDATE_ERROR_NO_PARTITION; - return false; - } - log_d("OTA Partition: %s", _partition->label); - } - else if (command == U_SPIFFS) { - _partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_SPIFFS, NULL); - if(!_partition){ - _error = UPDATE_ERROR_NO_PARTITION; - return false; - } - } - else { - _error = UPDATE_ERROR_BAD_ARGUMENT; - log_e("bad command %u", command); - return false; - } - - if(size == UPDATE_SIZE_UNKNOWN){ - size = _partition->size; - } else if(size > _partition->size){ - _error = UPDATE_ERROR_SIZE; - log_e("too large %u > %u", size, _partition->size); - return false; - } - - //initialize - _buffer = (uint8_t*)malloc(SPI_FLASH_SEC_SIZE); - if(!_buffer){ - log_e("malloc failed"); - return false; - } - _size = size; - _command = command; - _md5.begin(); - return true; -} - -void UpdateClass::_abort(uint8_t err){ - _reset(); - _error = err; -} - -void UpdateClass::abort(){ - _abort(UPDATE_ERROR_ABORT); -} - -bool UpdateClass::_writeBuffer(){ - //first bytes of new firmware - if(!_progress && _command == U_FLASH){ - //check magic - if(_buffer[0] != ESP_IMAGE_HEADER_MAGIC){ - _abort(UPDATE_ERROR_MAGIC_BYTE); - return false; - } - //remove magic byte from the firmware now and write it upon success - //this ensures that partially written firmware will not be bootable - _buffer[0] = 0xFF; - } - if(!ESP.flashEraseSector((_partition->address + _progress)/SPI_FLASH_SEC_SIZE)){ - _abort(UPDATE_ERROR_ERASE); - return false; - } - if (!ESP.flashWrite(_partition->address + _progress, (uint32_t*)_buffer, _bufferLen)) { - _abort(UPDATE_ERROR_WRITE); - return false; - } - //restore magic or md5 will fail - if(!_progress && _command == U_FLASH){ - _buffer[0] = ESP_IMAGE_HEADER_MAGIC; - } - _md5.add(_buffer, _bufferLen); - _progress += _bufferLen; - _bufferLen = 0; - return true; -} - -bool UpdateClass::_verifyHeader(uint8_t data) { - if(_command == U_FLASH) { - if(data != ESP_IMAGE_HEADER_MAGIC) { - _abort(UPDATE_ERROR_MAGIC_BYTE); - return false; - } - return true; - } else if(_command == U_SPIFFS) { - return true; - } - return false; -} - -bool UpdateClass::_verifyEnd() { - if(_command == U_FLASH) { - if(!_enablePartition(_partition) || !_partitionIsBootable(_partition)) { - _abort(UPDATE_ERROR_READ); - return false; - } - - if(esp_ota_set_boot_partition(_partition)){ - _abort(UPDATE_ERROR_ACTIVATE); - return false; - } - _reset(); - return true; - } else if(_command == U_SPIFFS) { - _reset(); - return true; - } - return false; -} - -bool UpdateClass::setMD5(const char * expected_md5){ - if(strlen(expected_md5) != 32) - { - return false; - } - _target_md5 = expected_md5; - return true; -} - -bool UpdateClass::end(bool evenIfRemaining){ - if(hasError() || _size == 0){ - return false; - } - - if(!isFinished() && !evenIfRemaining){ - log_e("premature end: res:%u, pos:%u/%u\n", getError(), progress(), _size); - _abort(UPDATE_ERROR_ABORT); - return false; - } - - if(evenIfRemaining) { - if(_bufferLen > 0) { - _writeBuffer(); - } - _size = progress(); - } - - _md5.calculate(); - if(_target_md5.length()) { - if(_target_md5 != _md5.toString()){ - _abort(UPDATE_ERROR_MD5); - return false; - } - } - - return _verifyEnd(); -} - -size_t UpdateClass::write(uint8_t *data, size_t len) { - if(hasError() || !isRunning()){ - return 0; - } - - if(len > remaining()){ - _abort(UPDATE_ERROR_SPACE); - return 0; - } - - size_t left = len; - - while((_bufferLen + left) > SPI_FLASH_SEC_SIZE) { - size_t toBuff = SPI_FLASH_SEC_SIZE - _bufferLen; - memcpy(_buffer + _bufferLen, data + (len - left), toBuff); - _bufferLen += toBuff; - if(!_writeBuffer()){ - return len - left; - } - left -= toBuff; - } - memcpy(_buffer + _bufferLen, data + (len - left), left); - _bufferLen += left; - if(_bufferLen == remaining()){ - if(!_writeBuffer()){ - return len - left; - } - } - return len; -} - -size_t UpdateClass::writeStream(Stream &data) { - data.setTimeout(RESPONSE_TIMEOUT_MS); - size_t written = 0; - size_t toRead = 0; - if(hasError() || !isRunning()) - return 0; - - if(!_verifyHeader(data.peek())) { - _reset(); - return 0; - } - if (_progress_callback) { - _progress_callback(0, _size); - } - - if(_ledPin != -1) { - pinMode(_ledPin, OUTPUT); - } - - while(remaining()) { - if(_ledPin != -1) { - digitalWrite(_ledPin, _ledOn); // Switch LED on - } - size_t bytesToRead = SPI_FLASH_SEC_SIZE - _bufferLen; - if(bytesToRead > remaining()) { - bytesToRead = remaining(); - } - - toRead = data.readBytes(_buffer + _bufferLen, bytesToRead); - if(toRead == 0) { //Timeout - delay(100); - toRead = data.readBytes(_buffer + _bufferLen, bytesToRead); - if(toRead == 0) { //Timeout - _abort(UPDATE_ERROR_STREAM); - return written; - } - } - if(_ledPin != -1) { - digitalWrite(_ledPin, !_ledOn); // Switch LED off - } - _bufferLen += toRead; - if((_bufferLen == remaining() || _bufferLen == SPI_FLASH_SEC_SIZE) && !_writeBuffer()) - return written; - written += toRead; - if(_progress_callback) { - _progress_callback(_progress, _size); - } - } - if(_progress_callback) { - _progress_callback(_size, _size); - } - return written; -} - -void UpdateClass::printError(Stream &out){ - out.println(_err2str(_error)); -} - -UpdateClass Update; \ No newline at end of file From 1a24689652c45d0a93999fba3b91817ae6868f1d Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Tue, 20 Nov 2018 15:44:33 +0100 Subject: [PATCH 03/15] rcommand 0x13 user sensor on/off --- README.md | 5 +++++ include/sensor.h | 1 + src/hal/generic.h | 4 ++-- src/hal/heltecv2.h | 3 +++ src/hal/ttgobeam.h | 2 ++ src/rcommand.cpp | 28 ++++++++++++++++++++++++++-- src/sensor.cpp | 16 +++++++++++++++- 7 files changed, 54 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 213e83c4..8a587fd0 100644 --- a/README.md +++ b/README.md @@ -305,6 +305,11 @@ Note: all settings are stored in NVRAM and will be reloaded when device starts. byte 1 = beacon ID (0..255) bytes 2..7 = beacon MAC with 6 digits (e.g. MAC 80:ab:00:01:02:03 -> 0x80ab00010203) +0x13 set user sensor mode + + byte 1 = user sensor number (1..4) + byte 2 = sensor mode (0 = disabled / 1 = enabled [default]) + 0x80 get device configuration Device answers with it's current configuration on Port 3. diff --git a/include/sensor.h b/include/sensor.h index 1b752dc6..9048a666 100644 --- a/include/sensor.h +++ b/include/sensor.h @@ -1,6 +1,7 @@ #ifndef _SENSOR_H #define _SENSOR_H +uint8_t sensor_mask(uint8_t sensor_no); uint8_t * sensor_read(uint8_t sensor); #endif \ No newline at end of file diff --git a/src/hal/generic.h b/src/hal/generic.h index 953fb475..96eca070 100644 --- a/src/hal/generic.h +++ b/src/hal/generic.h @@ -13,8 +13,8 @@ #define SPI_SCLK GPIO_NUM_18 #define SPI_CS GPIO_NUM_5 -#define HAS_BME 0x77 // BME680 sensor on I2C bus (SDA=4/SCL=15); comment out if not present - +// enable only if device has these sensors, otherwise comment these lines +#define HAS_BME 0x77 // BME680 sensor on I2C bus (default SDA=4/SCL=15); comment out if not present #define HAS_SENSORS 1 // comment out if device has user defined sensors #define CFG_sx1276_radio 1 // select LoRa chip diff --git a/src/hal/heltecv2.h b/src/hal/heltecv2.h index 29ecdced..5ee40f90 100644 --- a/src/hal/heltecv2.h +++ b/src/hal/heltecv2.h @@ -5,6 +5,9 @@ // Hardware related definitions for Heltec V2 LoRa-32 Board +//#define HAS_BME 0x77 // BME680 sensor on I2C bus (SDI=21/SCL=22); comment out +//if not present + #define HAS_LORA 1 // comment out if device shall not send data via LoRa #define CFG_sx1276_radio 1 diff --git a/src/hal/ttgobeam.h b/src/hal/ttgobeam.h index 495b070f..b5134fd7 100644 --- a/src/hal/ttgobeam.h +++ b/src/hal/ttgobeam.h @@ -5,6 +5,8 @@ // Hardware related definitions for TTGO T-Beam board +#define HAS_SENSORS 1 // test + #define HAS_LORA 1 // comment out if device shall not send data via LoRa #define CFG_sx1276_radio 1 // HPD13A LoRa SoC diff --git a/src/rcommand.cpp b/src/rcommand.cpp index 3918af5f..0ce4bb6a 100644 --- a/src/rcommand.cpp +++ b/src/rcommand.cpp @@ -134,6 +134,29 @@ void set_gps(uint8_t val[]) { } } +void set_sensor(uint8_t val[]) { + switch (val[0]) { // check if valid sensor number 1...4 + case 1: + case 2: + case 3: + case 4: + break; // valid sensor number -> continue + default: + ESP_LOGW( + TAG, + "Remote command set sensor mode called with invalid sensor number"); + return; // invalid sensor number -> exit + } + + ESP_LOGI(TAG, "Remote command: set sensor #%d mode to %s", val[0], + val[1] ? "on" : "off"); + + if (val[1]) + cfg.payloadmask |= sensor_mask(val[0]); // set bit + else + cfg.payloadmask &= ~sensor_mask(val[0]); // clear bit +} + void set_beacon(uint8_t val[]) { uint8_t id = val[0]; // use first parameter as beacon storage id memmove(val, val + 1, 6); // strip off storage id @@ -269,8 +292,9 @@ cmd_t table[] = { {0x0d, set_vendorfilter, 1, false}, {0x0e, set_blescan, 1, true}, {0x0f, set_wifiant, 1, true}, {0x10, set_rgblum, 1, true}, {0x11, set_monitor, 1, true}, {0x12, set_beacon, 7, false}, - {0x80, get_config, 0, false}, {0x81, get_status, 0, false}, - {0x84, get_gps, 0, false}, {0x85, get_bme, 0, false}, + {0x13, set_sensor, 2, true}, {0x80, get_config, 0, false}, + {0x81, get_status, 0, false}, {0x84, get_gps, 0, false}, + {0x85, get_bme, 0, false}, }; const uint8_t cmdtablesize = diff --git a/src/sensor.cpp b/src/sensor.cpp index aaf512a8..ac5459f8 100644 --- a/src/sensor.cpp +++ b/src/sensor.cpp @@ -4,7 +4,21 @@ // Local logging tag static const char TAG[] = "main"; -uint8_t * sensor_read(uint8_t sensor) { +uint8_t sensor_mask(uint8_t sensor_no) { + switch (sensor_no) { + case 1: + return (uint8_t)SENSOR1_DATA; + case 2: + return (uint8_t)SENSOR2_DATA; + break; + case 3: + return (uint8_t)SENSOR3_DATA; + case 4: + return (uint8_t)SENSOR4_DATA; + } +} + +uint8_t *sensor_read(uint8_t sensor) { static uint8_t buf[SENSORBUFFER] = {0}; uint8_t length = 3; From 12ad60a0a887234c061637b54359bf47171769fe Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Tue, 20 Nov 2018 16:48:35 +0100 Subject: [PATCH 04/15] sensor init --- include/sensor.h | 1 + platformio.ini | 2 +- src/configmanager.cpp | 4 ++-- src/main.cpp | 8 +++++++- src/sensor.cpp | 7 +++++++ 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/include/sensor.h b/include/sensor.h index 9048a666..6e6b837b 100644 --- a/include/sensor.h +++ b/include/sensor.h @@ -3,5 +3,6 @@ uint8_t sensor_mask(uint8_t sensor_no); uint8_t * sensor_read(uint8_t sensor); +void sensor_init(void); #endif \ No newline at end of file diff --git a/platformio.ini b/platformio.ini index b79180ea..5705b2a8 100644 --- a/platformio.ini +++ b/platformio.ini @@ -32,7 +32,7 @@ description = Paxcounter is a proof-of-concept ESP32 device for metering passeng release_version = 1.6.83 ; DEBUG LEVEL: For production run set to 0, otherwise device will leak RAM while running! ; 0=None, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Verbose -debug_level = 0 +debug_level = 3 ; UPLOAD MODE: select esptool to flash via USB/UART, select custom to upload to cloud for OTA upload_protocol = esptool ;upload_protocol = custom diff --git a/src/configmanager.cpp b/src/configmanager.cpp index c90f0f4b..7222447f 100644 --- a/src/configmanager.cpp +++ b/src/configmanager.cpp @@ -317,9 +317,9 @@ void loadConfig() { if (nvs_get_i8(my_handle, "payloadmask", &flash8) == ESP_OK) { cfg.payloadmask = flash8; - ESP_LOGI(TAG, "GPS mode = %d", flash8); + ESP_LOGI(TAG, "payloadmask = %u", flash8); } else { - ESP_LOGI(TAG, "GPS mode set to default %d", cfg.payloadmask); + ESP_LOGI(TAG, "payloadmask set to default %u", cfg.payloadmask); saveConfig(); } diff --git a/src/main.cpp b/src/main.cpp index 0fed89ec..d63aad71 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -158,12 +158,18 @@ void setup() { strcat_P(features, " GPS"); #endif -// initialize gps +// initialize bme #ifdef HAS_BME strcat_P(features, " BME"); bme_init(); #endif +// initialize sensors +#ifdef HAS_SENSORS + strcat_P(features, " SENS"); + sensor_init(); +#endif + // initialize LoRa #ifdef HAS_LORA strcat_P(features, " LORA"); diff --git a/src/sensor.cpp b/src/sensor.cpp index ac5459f8..2c338850 100644 --- a/src/sensor.cpp +++ b/src/sensor.cpp @@ -4,6 +4,13 @@ // Local logging tag static const char TAG[] = "main"; +void sensor_init(void) { + + // this function is called dureing device startup + // put your sensor initialization routines here + +} + uint8_t sensor_mask(uint8_t sensor_no) { switch (sensor_no) { case 1: From b8e7b4bf48d189c5d1e73ec7cd4d6c73aef28c82 Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Tue, 20 Nov 2018 21:03:03 +0100 Subject: [PATCH 05/15] OTA improvements --- src/ota.cpp | 6 ++++++ src/rcommand.cpp | 2 -- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ota.cpp b/src/ota.cpp index 83c8a568..ac409a0c 100644 --- a/src/ota.cpp +++ b/src/ota.cpp @@ -118,6 +118,10 @@ int do_ota_update() { // Fetch the latest firmware version ESP_LOGI(TAG, "Checking latest firmware version on server"); display(2, "**", "checking version"); + + if (WiFi.status() != WL_CONNECTED) + return 1; + const String latest = bintray.getLatestVersion(); if (latest.length() == 0) { @@ -133,6 +137,8 @@ int do_ota_update() { display(2, "OK", latest.c_str()); display(3, "**", ""); + if (WiFi.status() != WL_CONNECTED) + return 1; String firmwarePath = bintray.getBinaryPath(latest); if (!firmwarePath.endsWith(".bin")) { ESP_LOGI(TAG, "Unsupported binary format"); diff --git a/src/rcommand.cpp b/src/rcommand.cpp index 0ce4bb6a..bd417b0e 100644 --- a/src/rcommand.cpp +++ b/src/rcommand.cpp @@ -8,8 +8,6 @@ static const char TAG[] = "main"; // helper function void do_reset() { ESP_LOGI(TAG, "Remote command: restart device"); - if (irqHandlerTask != NULL) - vTaskDelete(irqHandlerTask); LMIC_shutdown(); vTaskDelay(3000 / portTICK_PERIOD_MS); esp_restart(); From 6463eeb415ab97fef76e82caa8f88ef67fd3a04a Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Tue, 20 Nov 2018 21:24:35 +0100 Subject: [PATCH 06/15] bugfix rcommand.cpp in set_sensor() --- src/hal/ttgobeam.h | 6 +++++- src/rcommand.cpp | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/hal/ttgobeam.h b/src/hal/ttgobeam.h index b5134fd7..234ff03c 100644 --- a/src/hal/ttgobeam.h +++ b/src/hal/ttgobeam.h @@ -5,7 +5,11 @@ // Hardware related definitions for TTGO T-Beam board -#define HAS_SENSORS 1 // test +////////////// test ////////// +// enable only if device has these sensors, otherwise comment these lines +#define HAS_BME 0x77 // BME680 sensor on I2C bus (default SDA=21/SCL=22); comment out if not present +//#define HAS_SENSORS 1 // comment out if device has user defined sensors +////////////// test ////////// #define HAS_LORA 1 // comment out if device shall not send data via LoRa #define CFG_sx1276_radio 1 // HPD13A LoRa SoC diff --git a/src/rcommand.cpp b/src/rcommand.cpp index bd417b0e..cf9101b1 100644 --- a/src/rcommand.cpp +++ b/src/rcommand.cpp @@ -133,6 +133,7 @@ void set_gps(uint8_t val[]) { } void set_sensor(uint8_t val[]) { +#ifdef HAS_SENSORS switch (val[0]) { // check if valid sensor number 1...4 case 1: case 2: @@ -153,6 +154,7 @@ void set_sensor(uint8_t val[]) { cfg.payloadmask |= sensor_mask(val[0]); // set bit else cfg.payloadmask &= ~sensor_mask(val[0]); // clear bit +#endif } void set_beacon(uint8_t val[]) { From 34dfb6d1d116f0d114143c54de747f55f53483ff Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Wed, 21 Nov 2018 11:12:39 +0100 Subject: [PATCH 07/15] sensor.cpp: move sensorbuffer --- src/paxcounter.conf | 3 +-- src/sensor.cpp | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/paxcounter.conf b/src/paxcounter.conf index 953f4204..5165cf1f 100644 --- a/src/paxcounter.conf +++ b/src/paxcounter.conf @@ -11,8 +11,7 @@ // Payload send cycle and encoding #define SEND_SECS 30 // payload send cycle [seconds/2] -> 60 sec. -#define PAYLOAD_ENCODER 2 // payload encoder: 1=Plain, 2=Packed, 3=CayenneLPP dynamic, 4=CayenneLPP packed -#define SENSORBUFFER 20 // size of user sensor data buffer in bytes [default=20] +#define PAYLOAD_ENCODER 3 // payload encoder: 1=Plain, 2=Packed, 3=CayenneLPP dynamic, 4=CayenneLPP packed // Set this to include BLE counting and vendor filter functions #define VENDORFILTER 1 // comment out if you want to count things, not people diff --git a/src/sensor.cpp b/src/sensor.cpp index 2c338850..53432bbc 100644 --- a/src/sensor.cpp +++ b/src/sensor.cpp @@ -4,11 +4,12 @@ // Local logging tag static const char TAG[] = "main"; +#define SENSORBUFFER 10 // max. size of user sensor data buffer in bytes [default=20] + void sensor_init(void) { // this function is called dureing device startup // put your sensor initialization routines here - } uint8_t sensor_mask(uint8_t sensor_no) { From db4f6c889e2608677bd7b4faf21d2a89b89fb4af Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Wed, 21 Nov 2018 11:49:23 +0100 Subject: [PATCH 08/15] platformio.ini: lib_deps_basic --- platformio.ini | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/platformio.ini b/platformio.ini index 5705b2a8..48a64f53 100644 --- a/platformio.ini +++ b/platformio.ini @@ -42,9 +42,6 @@ keyfile = ota.conf platform_espressif32 = https://github.com/platformio/platform-espressif32.git#feature/stage board_build.partitions = min_spiffs.csv monitor_speed = 115200 -lib_deps_basic = - ArduinoJson@^5.13.1 - Time@>=1.5 lib_deps_lora = ; MCCI LoRaWAN LMIC library@^2.2.2 lib_deps_display = @@ -56,13 +53,16 @@ lib_deps_gps = lib_deps_sensors = Adafruit Unified Sensor@^1.0.2 Adafruit BME680 Library@^1.0.7 +lib_deps_basic = + ArduinoJson@^5.13.1 + Time@>=1.5 + ${common.lib_deps_sensors} lib_deps_all = ${common.lib_deps_basic} ${common.lib_deps_lora} ${common.lib_deps_display} ${common.lib_deps_rgbled} ${common.lib_deps_gps} - ${common.lib_deps_sensors} build_flags = -include src/hal/${PIOENV}.h -include src/paxcounter.conf From e9cdeea2fbc609dda89104c1d34f28de7a0f0831 Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Wed, 21 Nov 2018 11:54:37 +0100 Subject: [PATCH 09/15] lorawan.h: timelib.h --- include/lorawan.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/lorawan.h b/include/lorawan.h index 3e930c7e..a0ea4880 100644 --- a/include/lorawan.h +++ b/include/lorawan.h @@ -3,6 +3,7 @@ #include "globals.h" #include "rcommand.h" +#include // LMIC-Arduino LoRaWAN Stack #include From 8f201e066f1e800e88338603c86ba3d2aff603f7 Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Thu, 22 Nov 2018 23:37:53 +0100 Subject: [PATCH 10/15] BOSCH BSEC integration --- include/bme680.h | 15 --- include/bme680mems.h | 23 ++++ include/globals.h | 2 +- .../LICENSE | 0 .../README.md | 0 .../bme680.c | 0 .../bme680.h | 0 .../bme680_defs.h | 0 .../bsec_datatypes.h | 0 .../bsec_interface.h | 0 .../generic_18v_300s_28d/bsec_iaq.config | Bin .../config/generic_18v_300s_28d/bsec_iaq.csv | 0 .../bsec_serialized_configurations_iaq.c | 0 .../bsec_serialized_configurations_iaq.h | 0 .../generic_18v_300s_4d/bsec_iaq.config | Bin .../config/generic_18v_300s_4d/bsec_iaq.csv | 0 .../bsec_serialized_configurations_iaq.c | 0 .../bsec_serialized_configurations_iaq.h | 0 .../config/generic_18v_3s_28d/bsec_iaq.config | Bin .../config/generic_18v_3s_28d/bsec_iaq.csv | 0 .../bsec_serialized_configurations_iaq.c | 0 .../bsec_serialized_configurations_iaq.h | 0 .../config/generic_18v_3s_4d/bsec_iaq.config | Bin .../config/generic_18v_3s_4d/bsec_iaq.csv | 0 .../bsec_serialized_configurations_iaq.c | 0 .../bsec_serialized_configurations_iaq.h | 0 .../generic_33v_300s_28d/bsec_iaq.config | Bin .../config/generic_33v_300s_28d/bsec_iaq.csv | 0 .../bsec_serialized_configurations_iaq.c | 0 .../bsec_serialized_configurations_iaq.h | 0 .../generic_33v_300s_4d/bsec_iaq.config | Bin .../config/generic_33v_300s_4d/bsec_iaq.csv | 0 .../bsec_serialized_configurations_iaq.c | 0 .../bsec_serialized_configurations_iaq.h | 0 .../config/generic_33v_3s_28d/bsec_iaq.config | Bin .../config/generic_33v_3s_28d/bsec_iaq.csv | 0 .../bsec_serialized_configurations_iaq.c | 0 .../bsec_serialized_configurations_iaq.h | 0 .../config/generic_33v_3s_4d/bsec_iaq.config | Bin .../config/generic_33v_3s_4d/bsec_iaq.csv | 0 .../bsec_serialized_configurations_iaq.c | 0 .../bsec_serialized_configurations_iaq.h | 0 .../docs/BSEC - release notes_1.4.7.1.pdf | Bin .../docs/BSEC_Binary_Size_Information.pdf | Bin .../BST-BME680-Integration-Guide-AN008-47.pdf | 0 .../examples/bsec_integration.c | 0 .../examples/bsec_integration.h | 0 .../examples/bsec_iot_example.c | 0 .../examples/bsec_iot_example.ino | 0 .../examples/bsec_iot_ulp_plus_example.c | 0 .../examples/bsec_iot_ulp_plus_example.ino | 0 .../libalgobsec.a | Bin .../libalgobsec.a.Size.log | 0 platformio.ini | 6 +- src/bme680.cpp | 44 ------ src/bme680mems.cpp | 127 ++++++++++++++++++ src/hal/generic.h | 11 +- src/hal/ttgobeam.h | 7 +- 58 files changed, 168 insertions(+), 67 deletions(-) delete mode 100644 include/bme680.h create mode 100644 include/bme680mems.h rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/LICENSE (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/README.md (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/bme680.c (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/bme680.h (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/bme680_defs.h (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/bsec_datatypes.h (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/bsec_interface.h (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_300s_28d/bsec_iaq.config (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_300s_28d/bsec_iaq.csv (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_300s_28d/bsec_serialized_configurations_iaq.c (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_300s_28d/bsec_serialized_configurations_iaq.h (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_300s_4d/bsec_iaq.config (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_300s_4d/bsec_iaq.csv (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.c (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.h (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_3s_28d/bsec_iaq.config (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_3s_28d/bsec_iaq.csv (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_3s_28d/bsec_serialized_configurations_iaq.c (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_3s_28d/bsec_serialized_configurations_iaq.h (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_3s_4d/bsec_iaq.config (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_3s_4d/bsec_iaq.csv (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.c (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.h (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_300s_28d/bsec_iaq.config (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_300s_28d/bsec_iaq.csv (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_300s_28d/bsec_serialized_configurations_iaq.c (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_300s_28d/bsec_serialized_configurations_iaq.h (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_300s_4d/bsec_iaq.config (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_300s_4d/bsec_iaq.csv (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.c (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.h (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_3s_28d/bsec_iaq.config (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_3s_28d/bsec_iaq.csv (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.c (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.h (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_3s_4d/bsec_iaq.config (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_3s_4d/bsec_iaq.csv (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.c (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.h (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/docs/BSEC - release notes_1.4.7.1.pdf (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/docs/BSEC_Binary_Size_Information.pdf (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/docs/BST-BME680-Integration-Guide-AN008-47.pdf (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/examples/bsec_integration.c (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/examples/bsec_integration.h (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/examples/bsec_iot_example.c (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/examples/bsec_iot_example.ino (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/examples/bsec_iot_ulp_plus_example.c (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/examples/bsec_iot_ulp_plus_example.ino (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/libalgobsec.a (100%) rename lib/{Bosch-BSEC-1.4.7.1 => Bosch-BSEC}/libalgobsec.a.Size.log (100%) delete mode 100644 src/bme680.cpp create mode 100644 src/bme680mems.cpp diff --git a/include/bme680.h b/include/bme680.h deleted file mode 100644 index 6b8e3827..00000000 --- a/include/bme680.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef _BME680_H -#define _BME680_H - -#include "globals.h" -#include -#include -#include "Adafruit_BME680.h" - -extern bmeStatus_t - bme_status; // Make struct for storing gps data globally available - -void bme_init(); -bool bme_read(); - -#endif \ No newline at end of file diff --git a/include/bme680mems.h b/include/bme680mems.h new file mode 100644 index 00000000..9714cf84 --- /dev/null +++ b/include/bme680mems.h @@ -0,0 +1,23 @@ +#ifndef _BME680MEMS_H +#define _BME680MEMS_H + +#include "globals.h" +#include +#include "bme680.h" +#include "bsec_interface.h" +#include "bsec_datatypes.h" +//#include "bme680_defs.h" +//#include "bme680.c" + +extern bmeStatus_t + bme_status; // Make struct for storing gps data globally available + +void bme_init(); +bool bme_read(); +void user_delay_ms(uint32_t period); +int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, + uint16_t len); +int8_t user_i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, + uint16_t len); + +#endif \ No newline at end of file diff --git a/include/globals.h b/include/globals.h index 7b68c88d..ef9b8b49 100644 --- a/include/globals.h +++ b/include/globals.h @@ -95,7 +95,7 @@ extern TaskHandle_t irqHandlerTask, wifiSwitchTask; #endif #ifdef HAS_BME -#include "bme680.h" +#include "bme680mems.h" #endif #ifdef HAS_LORA diff --git a/lib/Bosch-BSEC-1.4.7.1/LICENSE b/lib/Bosch-BSEC/LICENSE similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/LICENSE rename to lib/Bosch-BSEC/LICENSE diff --git a/lib/Bosch-BSEC-1.4.7.1/README.md b/lib/Bosch-BSEC/README.md similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/README.md rename to lib/Bosch-BSEC/README.md diff --git a/lib/Bosch-BSEC-1.4.7.1/bme680.c b/lib/Bosch-BSEC/bme680.c similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/bme680.c rename to lib/Bosch-BSEC/bme680.c diff --git a/lib/Bosch-BSEC-1.4.7.1/bme680.h b/lib/Bosch-BSEC/bme680.h similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/bme680.h rename to lib/Bosch-BSEC/bme680.h diff --git a/lib/Bosch-BSEC-1.4.7.1/bme680_defs.h b/lib/Bosch-BSEC/bme680_defs.h similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/bme680_defs.h rename to lib/Bosch-BSEC/bme680_defs.h diff --git a/lib/Bosch-BSEC-1.4.7.1/bsec_datatypes.h b/lib/Bosch-BSEC/bsec_datatypes.h similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/bsec_datatypes.h rename to lib/Bosch-BSEC/bsec_datatypes.h diff --git a/lib/Bosch-BSEC-1.4.7.1/bsec_interface.h b/lib/Bosch-BSEC/bsec_interface.h similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/bsec_interface.h rename to lib/Bosch-BSEC/bsec_interface.h diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_iaq.config b/lib/Bosch-BSEC/config/generic_18v_300s_28d/bsec_iaq.config similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_iaq.config rename to lib/Bosch-BSEC/config/generic_18v_300s_28d/bsec_iaq.config diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_iaq.csv b/lib/Bosch-BSEC/config/generic_18v_300s_28d/bsec_iaq.csv similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_iaq.csv rename to lib/Bosch-BSEC/config/generic_18v_300s_28d/bsec_iaq.csv diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_serialized_configurations_iaq.c b/lib/Bosch-BSEC/config/generic_18v_300s_28d/bsec_serialized_configurations_iaq.c similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_serialized_configurations_iaq.c rename to lib/Bosch-BSEC/config/generic_18v_300s_28d/bsec_serialized_configurations_iaq.c diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_serialized_configurations_iaq.h b/lib/Bosch-BSEC/config/generic_18v_300s_28d/bsec_serialized_configurations_iaq.h similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_28d/bsec_serialized_configurations_iaq.h rename to lib/Bosch-BSEC/config/generic_18v_300s_28d/bsec_serialized_configurations_iaq.h diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_iaq.config b/lib/Bosch-BSEC/config/generic_18v_300s_4d/bsec_iaq.config similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_iaq.config rename to lib/Bosch-BSEC/config/generic_18v_300s_4d/bsec_iaq.config diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_iaq.csv b/lib/Bosch-BSEC/config/generic_18v_300s_4d/bsec_iaq.csv similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_iaq.csv rename to lib/Bosch-BSEC/config/generic_18v_300s_4d/bsec_iaq.csv diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.c b/lib/Bosch-BSEC/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.c similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.c rename to lib/Bosch-BSEC/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.c diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.h b/lib/Bosch-BSEC/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.h similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.h rename to lib/Bosch-BSEC/config/generic_18v_300s_4d/bsec_serialized_configurations_iaq.h diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_iaq.config b/lib/Bosch-BSEC/config/generic_18v_3s_28d/bsec_iaq.config similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_iaq.config rename to lib/Bosch-BSEC/config/generic_18v_3s_28d/bsec_iaq.config diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_iaq.csv b/lib/Bosch-BSEC/config/generic_18v_3s_28d/bsec_iaq.csv similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_iaq.csv rename to lib/Bosch-BSEC/config/generic_18v_3s_28d/bsec_iaq.csv diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_serialized_configurations_iaq.c b/lib/Bosch-BSEC/config/generic_18v_3s_28d/bsec_serialized_configurations_iaq.c similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_serialized_configurations_iaq.c rename to lib/Bosch-BSEC/config/generic_18v_3s_28d/bsec_serialized_configurations_iaq.c diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_serialized_configurations_iaq.h b/lib/Bosch-BSEC/config/generic_18v_3s_28d/bsec_serialized_configurations_iaq.h similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_28d/bsec_serialized_configurations_iaq.h rename to lib/Bosch-BSEC/config/generic_18v_3s_28d/bsec_serialized_configurations_iaq.h diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_iaq.config b/lib/Bosch-BSEC/config/generic_18v_3s_4d/bsec_iaq.config similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_iaq.config rename to lib/Bosch-BSEC/config/generic_18v_3s_4d/bsec_iaq.config diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_iaq.csv b/lib/Bosch-BSEC/config/generic_18v_3s_4d/bsec_iaq.csv similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_iaq.csv rename to lib/Bosch-BSEC/config/generic_18v_3s_4d/bsec_iaq.csv diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.c b/lib/Bosch-BSEC/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.c similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.c rename to lib/Bosch-BSEC/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.c diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.h b/lib/Bosch-BSEC/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.h similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.h rename to lib/Bosch-BSEC/config/generic_18v_3s_4d/bsec_serialized_configurations_iaq.h diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_iaq.config b/lib/Bosch-BSEC/config/generic_33v_300s_28d/bsec_iaq.config similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_iaq.config rename to lib/Bosch-BSEC/config/generic_33v_300s_28d/bsec_iaq.config diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_iaq.csv b/lib/Bosch-BSEC/config/generic_33v_300s_28d/bsec_iaq.csv similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_iaq.csv rename to lib/Bosch-BSEC/config/generic_33v_300s_28d/bsec_iaq.csv diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_serialized_configurations_iaq.c b/lib/Bosch-BSEC/config/generic_33v_300s_28d/bsec_serialized_configurations_iaq.c similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_serialized_configurations_iaq.c rename to lib/Bosch-BSEC/config/generic_33v_300s_28d/bsec_serialized_configurations_iaq.c diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_serialized_configurations_iaq.h b/lib/Bosch-BSEC/config/generic_33v_300s_28d/bsec_serialized_configurations_iaq.h similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_28d/bsec_serialized_configurations_iaq.h rename to lib/Bosch-BSEC/config/generic_33v_300s_28d/bsec_serialized_configurations_iaq.h diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_iaq.config b/lib/Bosch-BSEC/config/generic_33v_300s_4d/bsec_iaq.config similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_iaq.config rename to lib/Bosch-BSEC/config/generic_33v_300s_4d/bsec_iaq.config diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_iaq.csv b/lib/Bosch-BSEC/config/generic_33v_300s_4d/bsec_iaq.csv similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_iaq.csv rename to lib/Bosch-BSEC/config/generic_33v_300s_4d/bsec_iaq.csv diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.c b/lib/Bosch-BSEC/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.c similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.c rename to lib/Bosch-BSEC/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.c diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.h b/lib/Bosch-BSEC/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.h similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.h rename to lib/Bosch-BSEC/config/generic_33v_300s_4d/bsec_serialized_configurations_iaq.h diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_iaq.config b/lib/Bosch-BSEC/config/generic_33v_3s_28d/bsec_iaq.config similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_iaq.config rename to lib/Bosch-BSEC/config/generic_33v_3s_28d/bsec_iaq.config diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_iaq.csv b/lib/Bosch-BSEC/config/generic_33v_3s_28d/bsec_iaq.csv similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_iaq.csv rename to lib/Bosch-BSEC/config/generic_33v_3s_28d/bsec_iaq.csv diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.c b/lib/Bosch-BSEC/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.c similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.c rename to lib/Bosch-BSEC/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.c diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.h b/lib/Bosch-BSEC/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.h similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.h rename to lib/Bosch-BSEC/config/generic_33v_3s_28d/bsec_serialized_configurations_iaq.h diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_iaq.config b/lib/Bosch-BSEC/config/generic_33v_3s_4d/bsec_iaq.config similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_iaq.config rename to lib/Bosch-BSEC/config/generic_33v_3s_4d/bsec_iaq.config diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_iaq.csv b/lib/Bosch-BSEC/config/generic_33v_3s_4d/bsec_iaq.csv similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_iaq.csv rename to lib/Bosch-BSEC/config/generic_33v_3s_4d/bsec_iaq.csv diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.c b/lib/Bosch-BSEC/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.c similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.c rename to lib/Bosch-BSEC/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.c diff --git a/lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.h b/lib/Bosch-BSEC/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.h similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.h rename to lib/Bosch-BSEC/config/generic_33v_3s_4d/bsec_serialized_configurations_iaq.h diff --git a/lib/Bosch-BSEC-1.4.7.1/docs/BSEC - release notes_1.4.7.1.pdf b/lib/Bosch-BSEC/docs/BSEC - release notes_1.4.7.1.pdf similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/docs/BSEC - release notes_1.4.7.1.pdf rename to lib/Bosch-BSEC/docs/BSEC - release notes_1.4.7.1.pdf diff --git a/lib/Bosch-BSEC-1.4.7.1/docs/BSEC_Binary_Size_Information.pdf b/lib/Bosch-BSEC/docs/BSEC_Binary_Size_Information.pdf similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/docs/BSEC_Binary_Size_Information.pdf rename to lib/Bosch-BSEC/docs/BSEC_Binary_Size_Information.pdf diff --git a/lib/Bosch-BSEC-1.4.7.1/docs/BST-BME680-Integration-Guide-AN008-47.pdf b/lib/Bosch-BSEC/docs/BST-BME680-Integration-Guide-AN008-47.pdf similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/docs/BST-BME680-Integration-Guide-AN008-47.pdf rename to lib/Bosch-BSEC/docs/BST-BME680-Integration-Guide-AN008-47.pdf diff --git a/lib/Bosch-BSEC-1.4.7.1/examples/bsec_integration.c b/lib/Bosch-BSEC/examples/bsec_integration.c similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/examples/bsec_integration.c rename to lib/Bosch-BSEC/examples/bsec_integration.c diff --git a/lib/Bosch-BSEC-1.4.7.1/examples/bsec_integration.h b/lib/Bosch-BSEC/examples/bsec_integration.h similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/examples/bsec_integration.h rename to lib/Bosch-BSEC/examples/bsec_integration.h diff --git a/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_example.c b/lib/Bosch-BSEC/examples/bsec_iot_example.c similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_example.c rename to lib/Bosch-BSEC/examples/bsec_iot_example.c diff --git a/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_example.ino b/lib/Bosch-BSEC/examples/bsec_iot_example.ino similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_example.ino rename to lib/Bosch-BSEC/examples/bsec_iot_example.ino diff --git a/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_ulp_plus_example.c b/lib/Bosch-BSEC/examples/bsec_iot_ulp_plus_example.c similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_ulp_plus_example.c rename to lib/Bosch-BSEC/examples/bsec_iot_ulp_plus_example.c diff --git a/lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_ulp_plus_example.ino b/lib/Bosch-BSEC/examples/bsec_iot_ulp_plus_example.ino similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/examples/bsec_iot_ulp_plus_example.ino rename to lib/Bosch-BSEC/examples/bsec_iot_ulp_plus_example.ino diff --git a/lib/Bosch-BSEC-1.4.7.1/libalgobsec.a b/lib/Bosch-BSEC/libalgobsec.a similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/libalgobsec.a rename to lib/Bosch-BSEC/libalgobsec.a diff --git a/lib/Bosch-BSEC-1.4.7.1/libalgobsec.a.Size.log b/lib/Bosch-BSEC/libalgobsec.a.Size.log similarity index 100% rename from lib/Bosch-BSEC-1.4.7.1/libalgobsec.a.Size.log rename to lib/Bosch-BSEC/libalgobsec.a.Size.log diff --git a/platformio.ini b/platformio.ini index 48a64f53..3054840a 100644 --- a/platformio.ini +++ b/platformio.ini @@ -50,13 +50,9 @@ lib_deps_rgbled = SmartLeds@>=1.1.3 lib_deps_gps = TinyGPSPlus@>=1.0.2 -lib_deps_sensors = - Adafruit Unified Sensor@^1.0.2 - Adafruit BME680 Library@^1.0.7 lib_deps_basic = ArduinoJson@^5.13.1 Time@>=1.5 - ${common.lib_deps_sensors} lib_deps_all = ${common.lib_deps_basic} ${common.lib_deps_lora} @@ -64,6 +60,8 @@ lib_deps_all = ${common.lib_deps_rgbled} ${common.lib_deps_gps} build_flags = + -Llib/Bosch-BSEC + -llibalgobsec.a -include src/hal/${PIOENV}.h -include src/paxcounter.conf -w diff --git a/src/bme680.cpp b/src/bme680.cpp deleted file mode 100644 index 22c7b684..00000000 --- a/src/bme680.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#ifdef HAS_BME - -#include "bme680.h" - -// Local logging tag -static const char TAG[] = "main"; - -#define SEALEVELPRESSURE_HPA (1013.25) - -// I2C Bus interface -Adafruit_BME680 bme; - -bmeStatus_t bme_status; - -void bme_init(void) { - // initialize BME680 sensor using default i2c address 0x77 - if (bme.begin(HAS_BME)) { - // Set up oversampling and filter initialization - bme.setTemperatureOversampling(BME680_OS_8X); - bme.setHumidityOversampling(BME680_OS_2X); - bme.setPressureOversampling(BME680_OS_4X); - bme.setIIRFilterSize(BME680_FILTER_SIZE_3); - bme.setGasHeater(320, 150); // 320*C for 150 ms - ESP_LOGI(TAG, "BME680 chip found and initialized"); - } else - ESP_LOGE(TAG, "BME680 chip not found on i2c bus"); -} - -bool bme_read(void) { - bool ret = bme.performReading(); - if (ret) { - // read current BME data and buffer in global struct - bme_status.temperature = bme.temperature; - bme_status.pressure = (uint16_t)(bme.pressure / 100.0); // convert Pa -> hPa - bme_status.humidity = bme.humidity; - bme_status.gas_resistance = (uint16_t)(bme.gas_resistance / 1000.0); // convert Ohm -> kOhm - ESP_LOGI(TAG, "BME680 sensor data read success"); - } else { - ESP_LOGI(TAG, "BME680 sensor read error"); - } - return ret; -} - -#endif // HAS_BME \ No newline at end of file diff --git a/src/bme680mems.cpp b/src/bme680mems.cpp new file mode 100644 index 00000000..6d98dd77 --- /dev/null +++ b/src/bme680mems.cpp @@ -0,0 +1,127 @@ +#ifdef HAS_BME + +#include "bme680mems.h" + +// Local logging tag +static const char TAG[] = "main"; + +bmeStatus_t bme_status; + +void bme_init(void) { + + // initialize BME680 sensor + + struct bme680_dev gas_sensor; + + Wire.begin(HAS_BME, 400000); // I2C connect to BME680 sensor with 400 KHz + + // configure sensor for I2C communication + gas_sensor.dev_id = BME_ADDR; + gas_sensor.intf = BME680_I2C_INTF; + gas_sensor.read = user_i2c_read; + gas_sensor.write = user_i2c_write; + gas_sensor.delay_ms = user_delay_ms; + gas_sensor.amb_temp = 25; + + int8_t rslt = BME680_OK; + rslt = bme680_init(&gas_sensor); + + if (rslt == BME680_OK) { + ESP_LOGI(TAG, "BME680 sensor found"); + } else { + ESP_LOGE(TAG, "BME680 sensor not found on i2c bus"); + return; + } + + // configure BME680 sensor in forced mode + + uint8_t set_required_settings; + + /* Set the temperature, pressure and humidity settings */ + gas_sensor.tph_sett.os_hum = BME680_OS_2X; + gas_sensor.tph_sett.os_pres = BME680_OS_4X; + gas_sensor.tph_sett.os_temp = BME680_OS_8X; + gas_sensor.tph_sett.filter = BME680_FILTER_SIZE_3; + + /* Set the remaining gas sensor settings and link the heating profile */ + gas_sensor.gas_sett.run_gas = BME680_ENABLE_GAS_MEAS; + /* Create a ramp heat waveform in 3 steps */ + gas_sensor.gas_sett.heatr_temp = 320; /* degree Celsius */ + gas_sensor.gas_sett.heatr_dur = 150; /* milliseconds */ + + /* Select the power mode */ + /* Must be set before writing the sensor configuration */ + gas_sensor.power_mode = BME680_FORCED_MODE; + + /* Set the required sensor settings needed */ + set_required_settings = BME680_OST_SEL | BME680_OSP_SEL | BME680_OSH_SEL | + BME680_FILTER_SEL | BME680_GAS_SENSOR_SEL; + + /* Set the desired sensor configuration */ + rslt = bme680_set_sensor_settings(set_required_settings, &gas_sensor); + + /* Set the power mode */ + rslt = bme680_set_sensor_mode(&gas_sensor); + + if (rslt == BME680_OK) { + ESP_LOGI(TAG, "BME680 sensor initialized"); + } else { + ESP_LOGE(TAG, "BME680 initialization failed"); + return; + } +} + +bool bme_read(void) { + /* + + bool ret = bme.performReading(); + if (ret) { + // read current BME data and buffer in global struct + bme_status.temperature = bme.temperature; + bme_status.pressure = (uint16_t)(bme.pressure / 100.0); // convert Pa -> + hPa bme_status.humidity = bme.humidity; bme_status.gas_resistance = + (uint16_t)(bme.gas_resistance / 1000.0); // convert Ohm -> kOhm + ESP_LOGI(TAG, "BME680 sensor data read success"); + } else { + ESP_LOGI(TAG, "BME680 sensor read error"); + } + return ret; + + */ +} + +int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, + uint16_t len) { + int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ + uint16_t i; + + Wire.beginTransmission(dev_id); + Wire.write(reg_addr); + rslt = Wire.endTransmission(); + + Wire.requestFrom((int)dev_id, (int)len); + for (i = 0; (i < len) && Wire.available(); i++) { + reg_data[i] = Wire.read(); + } + + return rslt; +} + +int8_t user_i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, + uint16_t len) { + int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ + uint16_t i; + + Wire.beginTransmission(dev_id); + Wire.write(reg_addr); + for (i = 0; i < len; i++) { + Wire.write(reg_data[i]); + } + rslt = Wire.endTransmission(); + + return rslt; +} + +void user_delay_ms(uint32_t period) { vTaskDelay(period / portTICK_PERIOD_MS); } + +#endif // HAS_BME \ No newline at end of file diff --git a/src/hal/generic.h b/src/hal/generic.h index 96eca070..1bf595e0 100644 --- a/src/hal/generic.h +++ b/src/hal/generic.h @@ -13,9 +13,16 @@ #define SPI_SCLK GPIO_NUM_18 #define SPI_CS GPIO_NUM_5 +////////////// test ////////// // enable only if device has these sensors, otherwise comment these lines -#define HAS_BME 0x77 // BME680 sensor on I2C bus (default SDA=4/SCL=15); comment out if not present -#define HAS_SENSORS 1 // comment out if device has user defined sensors +// BME680 sensor on I2C bus +#define HAS_BME GPIO_NUM_21, GPIO_NUM_22 // SDA, SCL +// #define BME_ADDR BME680_I2C_ADDR_PRIMARY // i2c addr 0x76 +#define BME_ADDR BME680_I2C_ADDR_SECONDARY // i2c addr 0x77 +// +// user defined sensors +//#define HAS_SENSORS 1 // comment out if device has user defined sensors +////////////// test ////////// #define CFG_sx1276_radio 1 // select LoRa chip //#define CFG_sx1272_radio 1 // select LoRa chip diff --git a/src/hal/ttgobeam.h b/src/hal/ttgobeam.h index 234ff03c..be946607 100644 --- a/src/hal/ttgobeam.h +++ b/src/hal/ttgobeam.h @@ -7,7 +7,12 @@ ////////////// test ////////// // enable only if device has these sensors, otherwise comment these lines -#define HAS_BME 0x77 // BME680 sensor on I2C bus (default SDA=21/SCL=22); comment out if not present +// BME680 sensor on I2C bus +#define HAS_BME GPIO_NUM_21, GPIO_NUM_22 // SDA, SCL +// #define BME_ADDR BME680_I2C_ADDR_PRIMARY // i2c addr 0x76 +#define BME_ADDR BME680_I2C_ADDR_SECONDARY // i2c addr 0x77 +// +// user defined sensors //#define HAS_SENSORS 1 // comment out if device has user defined sensors ////////////// test ////////// From 222dfb5a95ba81bc95d634bd42188798055523ff Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Sun, 25 Nov 2018 11:48:03 +0100 Subject: [PATCH 11/15] BSEC integration (experimental) --- include/bme680mems.h | 21 +- include/wifiscan.h | 12 +- lib/Bosch-BSEC/bsec_integration.c | 559 ++++++++++++++++++++++++++++++ lib/Bosch-BSEC/bsec_integration.h | 165 +++++++++ platformio.ini | 69 ++-- src/bme680mems.cpp | 168 ++++++--- src/hal/lopy.h | 9 +- src/hal/lopy4.h | 9 +- src/wifiscan.cpp | 16 + 9 files changed, 914 insertions(+), 114 deletions(-) create mode 100644 lib/Bosch-BSEC/bsec_integration.c create mode 100644 lib/Bosch-BSEC/bsec_integration.h diff --git a/include/bme680mems.h b/include/bme680mems.h index 9714cf84..4f3b7f30 100644 --- a/include/bme680mems.h +++ b/include/bme680mems.h @@ -3,21 +3,30 @@ #include "globals.h" #include -#include "bme680.h" -#include "bsec_interface.h" -#include "bsec_datatypes.h" -//#include "bme680_defs.h" -//#include "bme680.c" + +#include +#include +#include + +#include "bsec_integration.h" +#include "bsec_integration.c" extern bmeStatus_t bme_status; // Make struct for storing gps data globally available -void bme_init(); +int bme_init(); bool bme_read(); void user_delay_ms(uint32_t period); +int64_t get_timestamp_us(); + int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len); int8_t user_i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len); +uint32_t state_load(uint8_t *state_buffer, uint32_t n_buffer); +void state_save(const uint8_t *state_buffer, uint32_t length); +uint32_t config_load(uint8_t *config_buffer, uint32_t n_buffer); + + #endif \ No newline at end of file diff --git a/include/wifiscan.h b/include/wifiscan.h index 9ad06422..7c143b2c 100644 --- a/include/wifiscan.h +++ b/include/wifiscan.h @@ -10,20 +10,22 @@ #define MAC_SNIFF_WIFI 0 #define MAC_SNIFF_BLE 1 +/* typedef struct { unsigned frame_ctrl : 16; unsigned duration_id : 16; - uint8_t addr1[6]; /* receiver address */ - uint8_t addr2[6]; /* sender address */ - uint8_t addr3[6]; /* filtering address */ + uint8_t addr1[6]; // receiver address + uint8_t addr2[6]; // sender address + uint8_t addr3[6]; // filtering address unsigned sequence_ctrl : 16; - uint8_t addr4[6]; /* optional */ + uint8_t addr4[6]; // optional } wifi_ieee80211_mac_hdr_t; typedef struct { wifi_ieee80211_mac_hdr_t hdr; - uint8_t payload[0]; /* network data ended with 4 bytes csum (CRC32) */ + uint8_t payload[0]; // network data ended with 4 bytes csum (CRC32) } wifi_ieee80211_packet_t; +*/ void wifi_sniffer_init(void); void IRAM_ATTR wifi_sniffer_packet_handler(void *buff, wifi_promiscuous_pkt_type_t type); diff --git a/lib/Bosch-BSEC/bsec_integration.c b/lib/Bosch-BSEC/bsec_integration.c new file mode 100644 index 00000000..0dc5dc2d --- /dev/null +++ b/lib/Bosch-BSEC/bsec_integration.c @@ -0,0 +1,559 @@ +/* + * Copyright (C) 2017 Robert Bosch. All Rights Reserved. + * + * Disclaimer + * + * Common: + * Bosch Sensortec products are developed for the consumer goods industry. They may only be used + * within the parameters of the respective valid product data sheet. Bosch Sensortec products are + * provided with the express understanding that there is no warranty of fitness for a particular purpose. + * They are not fit for use in life-sustaining, safety or security sensitive systems or any system or device + * that may lead to bodily harm or property damage if the system or device malfunctions. In addition, + * Bosch Sensortec products are not fit for use in products which interact with motor vehicle systems. + * The resale and/or use of products are at the purchasers own risk and his own responsibility. The + * examination of fitness for the intended use is the sole responsibility of the Purchaser. + * + * The purchaser shall indemnify Bosch Sensortec from all third party claims, including any claims for + * incidental, or consequential damages, arising from any product use not covered by the parameters of + * the respective valid product data sheet or not approved by Bosch Sensortec and reimburse Bosch + * Sensortec for all costs in connection with such claims. + * + * The purchaser must monitor the market for the purchased products, particularly with regard to + * product safety and inform Bosch Sensortec without delay of all security relevant incidents. + * + * Engineering Samples are marked with an asterisk (*) or (e). Samples may vary from the valid + * technical specifications of the product series. They are therefore not intended or fit for resale to third + * parties or for use in end products. Their sole purpose is internal client testing. The testing of an + * engineering sample may in no way replace the testing of a product series. Bosch Sensortec + * assumes no liability for the use of engineering samples. By accepting the engineering samples, the + * Purchaser agrees to indemnify Bosch Sensortec from all claims arising from the use of engineering + * samples. + * + * Special: + * This software module (hereinafter called "Software") and any information on application-sheets + * (hereinafter called "Information") is provided free of charge for the sole purpose to support your + * application work. The Software and Information is subject to the following terms and conditions: + * + * The Software is specifically designed for the exclusive use for Bosch Sensortec products by + * personnel who have special experience and training. Do not use this Software if you do not have the + * proper experience or training. + * + * This Software package is provided `` as is `` and without any expressed or implied warranties, + * including without limitation, the implied warranties of merchantability and fitness for a particular + * purpose. + * + * Bosch Sensortec and their representatives and agents deny any liability for the functional impairment + * of this Software in terms of fitness, performance and safety. Bosch Sensortec and their + * representatives and agents shall not be liable for any direct or indirect damages or injury, except as + * otherwise stipulated in mandatory applicable law. + * + * The Information provided is believed to be accurate and reliable. Bosch Sensortec assumes no + * responsibility for the consequences of use of such Information nor for any infringement of patents or + * other rights of third parties which may result from its use. No license is granted by implication or + * otherwise under any patent or patent rights of Bosch. Specifications mentioned in the Information are + * subject to change without notice. + * + * It is not allowed to deliver the source code of the Software to any third party without permission of + * Bosch Sensortec. + * + */ + +/*! + * @file bsec_integration.c + * + * @brief + * Private part of the example for using of BSEC library. + */ + +/*! + * @addtogroup bsec_examples BSEC Examples + * @brief BSEC usage examples + * @{*/ + +/**********************************************************************************************************************/ +/* header files */ +/**********************************************************************************************************************/ + +#include +#include +#include + +#include "bsec_integration.h" + +/**********************************************************************************************************************/ +/* local macro definitions */ +/**********************************************************************************************************************/ + +#define NUM_USED_OUTPUTS 8 + +/**********************************************************************************************************************/ +/* global variable declarations */ +/**********************************************************************************************************************/ + +/* Global sensor APIs data structure */ +static struct bme680_dev bme680_g; + +/* Global temperature offset to be subtracted */ +static float bme680_temperature_offset_g = 0.0f; + +/**********************************************************************************************************************/ +/* functions */ +/**********************************************************************************************************************/ + +/*! + * @brief Virtual sensor subscription + * Please call this function before processing of data using bsec_do_steps function + * + * @param[in] sample_rate mode to be used (either BSEC_SAMPLE_RATE_ULP or BSEC_SAMPLE_RATE_LP) + * + * @return subscription result, zero when successful + */ +static bsec_library_return_t bme680_bsec_update_subscription(float sample_rate) +{ + bsec_sensor_configuration_t requested_virtual_sensors[NUM_USED_OUTPUTS]; + uint8_t n_requested_virtual_sensors = NUM_USED_OUTPUTS; + + bsec_sensor_configuration_t required_sensor_settings[BSEC_MAX_PHYSICAL_SENSOR]; + uint8_t n_required_sensor_settings = BSEC_MAX_PHYSICAL_SENSOR; + + bsec_library_return_t status = BSEC_OK; + + /* note: Virtual sensors as desired to be added here */ + requested_virtual_sensors[0].sensor_id = BSEC_OUTPUT_IAQ; + requested_virtual_sensors[0].sample_rate = sample_rate; + requested_virtual_sensors[1].sensor_id = BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE; + requested_virtual_sensors[1].sample_rate = sample_rate; + requested_virtual_sensors[2].sensor_id = BSEC_OUTPUT_RAW_PRESSURE; + requested_virtual_sensors[2].sample_rate = sample_rate; + requested_virtual_sensors[3].sensor_id = BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY; + requested_virtual_sensors[3].sample_rate = sample_rate; + requested_virtual_sensors[4].sensor_id = BSEC_OUTPUT_RAW_GAS; + requested_virtual_sensors[4].sample_rate = sample_rate; + requested_virtual_sensors[5].sensor_id = BSEC_OUTPUT_RAW_TEMPERATURE; + requested_virtual_sensors[5].sample_rate = sample_rate; + requested_virtual_sensors[6].sensor_id = BSEC_OUTPUT_RAW_HUMIDITY; + requested_virtual_sensors[6].sample_rate = sample_rate; + requested_virtual_sensors[7].sensor_id = BSEC_OUTPUT_STATIC_IAQ; + requested_virtual_sensors[7].sample_rate = sample_rate; + + /* Call bsec_update_subscription() to enable/disable the requested virtual sensors */ + status = bsec_update_subscription(requested_virtual_sensors, n_requested_virtual_sensors, required_sensor_settings, + &n_required_sensor_settings); + + return status; +} + +/*! + * @brief Initialize the BME680 sensor and the BSEC library + * + * @param[in] sample_rate mode to be used (either BSEC_SAMPLE_RATE_ULP or BSEC_SAMPLE_RATE_LP) + * @param[in] temperature_offset device-specific temperature offset (due to self-heating) + * @param[in] bus_write pointer to the bus writing function + * @param[in] bus_read pointer to the bus reading function + * @param[in] sleep pointer to the system specific sleep function + * @param[in] state_load pointer to the system-specific state load function + * @param[in] config_load pointer to the system-specific config load function + * + * @return zero if successful, negative otherwise + */ +return_values_init bsec_iot_init(float sample_rate, float temperature_offset, bme680_com_fptr_t bus_write, + bme680_com_fptr_t bus_read, sleep_fct sleep, state_load_fct state_load, config_load_fct config_load) +{ + return_values_init ret = {BME680_OK, BSEC_OK}; + bsec_library_return_t bsec_status = BSEC_OK; + + uint8_t bsec_state[BSEC_MAX_PROPERTY_BLOB_SIZE] = {0}; + uint8_t bsec_config[BSEC_MAX_PROPERTY_BLOB_SIZE] = {0}; + uint8_t work_buffer[BSEC_MAX_PROPERTY_BLOB_SIZE] = {0}; + int bsec_state_len, bsec_config_len; + + /* Fixed I2C configuration */ + bme680_g.dev_id = BME680_I2C_ADDR_PRIMARY; + bme680_g.intf = BME680_I2C_INTF; + /* User configurable I2C configuration */ + bme680_g.write = bus_write; + bme680_g.read = bus_read; + bme680_g.delay_ms = sleep; + + /* Initialize BME680 API */ + ret.bme680_status = bme680_init(&bme680_g); + if (ret.bme680_status != BME680_OK) + { + return ret; + } + + /* Initialize BSEC library */ + ret.bsec_status = bsec_init(); + if (ret.bsec_status != BSEC_OK) + { + return ret; + } + + /* Load library config, if available */ + bsec_config_len = config_load(bsec_config, sizeof(bsec_config)); + if (bsec_config_len != 0) + { + ret.bsec_status = bsec_set_configuration(bsec_config, bsec_config_len, work_buffer, sizeof(work_buffer)); + if (ret.bsec_status != BSEC_OK) + { + return ret; + } + } + + /* Load previous library state, if available */ + bsec_state_len = state_load(bsec_state, sizeof(bsec_state)); + if (bsec_state_len != 0) + { + ret.bsec_status = bsec_set_state(bsec_state, bsec_state_len, work_buffer, sizeof(work_buffer)); + if (ret.bsec_status != BSEC_OK) + { + return ret; + } + } + + /* Set temperature offset */ + bme680_temperature_offset_g = temperature_offset; + + /* Call to the function which sets the library with subscription information */ + ret.bsec_status = bme680_bsec_update_subscription(sample_rate); + if (ret.bsec_status != BSEC_OK) + { + return ret; + } + + return ret; +} + +/*! + * @brief Trigger the measurement based on sensor settings + * + * @param[in] sensor_settings settings of the BME680 sensor adopted by sensor control function + * @param[in] sleep pointer to the system specific sleep function + * + * @return none + */ +static void bme680_bsec_trigger_measurement(bsec_bme_settings_t *sensor_settings, sleep_fct sleep) +{ + uint16_t meas_period; + uint8_t set_required_settings; + int8_t bme680_status = BME680_OK; + + /* Check if a forced-mode measurement should be triggered now */ + if (sensor_settings->trigger_measurement) + { + /* Set sensor configuration */ + + bme680_g.tph_sett.os_hum = sensor_settings->humidity_oversampling; + bme680_g.tph_sett.os_pres = sensor_settings->pressure_oversampling; + bme680_g.tph_sett.os_temp = sensor_settings->temperature_oversampling; + bme680_g.gas_sett.run_gas = sensor_settings->run_gas; + bme680_g.gas_sett.heatr_temp = sensor_settings->heater_temperature; /* degree Celsius */ + bme680_g.gas_sett.heatr_dur = sensor_settings->heating_duration; /* milliseconds */ + + /* Select the power mode */ + /* Must be set before writing the sensor configuration */ + bme680_g.power_mode = BME680_FORCED_MODE; + /* Set the required sensor settings needed */ + set_required_settings = BME680_OST_SEL | BME680_OSP_SEL | BME680_OSH_SEL | BME680_GAS_SENSOR_SEL; + + /* Set the desired sensor configuration */ + bme680_status = bme680_set_sensor_settings(set_required_settings, &bme680_g); + + /* Set power mode as forced mode and trigger forced mode measurement */ + bme680_status = bme680_set_sensor_mode(&bme680_g); + + /* Get the total measurement duration so as to sleep or wait till the measurement is complete */ + bme680_get_profile_dur(&meas_period, &bme680_g); + + /* Delay till the measurement is ready. Timestamp resolution in ms */ + sleep((uint32_t)meas_period); + } + + /* Call the API to get current operation mode of the sensor */ + bme680_status = bme680_get_sensor_mode(&bme680_g); + /* When the measurement is completed and data is ready for reading, the sensor must be in BME680_SLEEP_MODE. + * Read operation mode to check whether measurement is completely done and wait until the sensor is no more + * in BME680_FORCED_MODE. */ + while (bme680_g.power_mode == BME680_FORCED_MODE) + { + /* sleep for 5 ms */ + sleep(5); + bme680_status = bme680_get_sensor_mode(&bme680_g); + } +} + +/*! + * @brief Read the data from registers and populate the inputs structure to be passed to do_steps function + * + * @param[in] time_stamp_trigger settings of the sensor returned from sensor control function + * @param[in] inputs input structure containing the information on sensors to be passed to do_steps + * @param[in] num_bsec_inputs number of inputs to be passed to do_steps + * @param[in] bsec_process_data process data variable returned from sensor_control + * + * @return none + */ +static void bme680_bsec_read_data(int64_t time_stamp_trigger, bsec_input_t *inputs, uint8_t *num_bsec_inputs, + int32_t bsec_process_data) +{ + static struct bme680_field_data data; + int8_t bme680_status = BME680_OK; + + /* We only have to read data if the previous call the bsec_sensor_control() actually asked for it */ + if (bsec_process_data) + { + bme680_status = bme680_get_sensor_data(&data, &bme680_g); + + if (data.status & BME680_NEW_DATA_MSK) + { + /* Pressure to be processed by BSEC */ + if (bsec_process_data & BSEC_PROCESS_PRESSURE) + { + /* Place presssure sample into input struct */ + inputs[*num_bsec_inputs].sensor_id = BSEC_INPUT_PRESSURE; + inputs[*num_bsec_inputs].signal = data.pressure; + inputs[*num_bsec_inputs].time_stamp = time_stamp_trigger; + (*num_bsec_inputs)++; + } + /* Temperature to be processed by BSEC */ + if (bsec_process_data & BSEC_PROCESS_TEMPERATURE) + { + /* Place temperature sample into input struct */ + inputs[*num_bsec_inputs].sensor_id = BSEC_INPUT_TEMPERATURE; + #ifdef BME680_FLOAT_POINT_COMPENSATION + inputs[*num_bsec_inputs].signal = data.temperature; + #else + inputs[*num_bsec_inputs].signal = data.temperature / 100.0f; + #endif + inputs[*num_bsec_inputs].time_stamp = time_stamp_trigger; + (*num_bsec_inputs)++; + + /* Also add optional heatsource input which will be subtracted from the temperature reading to + * compensate for device-specific self-heating (supported in BSEC IAQ solution)*/ + inputs[*num_bsec_inputs].sensor_id = BSEC_INPUT_HEATSOURCE; + inputs[*num_bsec_inputs].signal = bme680_temperature_offset_g; + inputs[*num_bsec_inputs].time_stamp = time_stamp_trigger; + (*num_bsec_inputs)++; + } + /* Humidity to be processed by BSEC */ + if (bsec_process_data & BSEC_PROCESS_HUMIDITY) + { + /* Place humidity sample into input struct */ + inputs[*num_bsec_inputs].sensor_id = BSEC_INPUT_HUMIDITY; + #ifdef BME680_FLOAT_POINT_COMPENSATION + inputs[*num_bsec_inputs].signal = data.humidity; + #else + inputs[*num_bsec_inputs].signal = data.humidity / 1000.0f; + #endif + inputs[*num_bsec_inputs].time_stamp = time_stamp_trigger; + (*num_bsec_inputs)++; + } + /* Gas to be processed by BSEC */ + if (bsec_process_data & BSEC_PROCESS_GAS) + { + /* Check whether gas_valid flag is set */ + if(data.status & BME680_GASM_VALID_MSK) + { + /* Place sample into input struct */ + inputs[*num_bsec_inputs].sensor_id = BSEC_INPUT_GASRESISTOR; + inputs[*num_bsec_inputs].signal = data.gas_resistance; + inputs[*num_bsec_inputs].time_stamp = time_stamp_trigger; + (*num_bsec_inputs)++; + } + } + } + } +} + +/*! + * @brief This function is written to process the sensor data for the requested virtual sensors + * + * @param[in] bsec_inputs input structure containing the information on sensors to be passed to do_steps + * @param[in] num_bsec_inputs number of inputs to be passed to do_steps + * @param[in] output_ready pointer to the function processing obtained BSEC outputs + * + * @return none + */ +static void bme680_bsec_process_data(bsec_input_t *bsec_inputs, uint8_t num_bsec_inputs, output_ready_fct output_ready) +{ + /* Output buffer set to the maximum virtual sensor outputs supported */ + bsec_output_t bsec_outputs[BSEC_NUMBER_OUTPUTS]; + uint8_t num_bsec_outputs = 0; + uint8_t index = 0; + + bsec_library_return_t bsec_status = BSEC_OK; + + int64_t timestamp = 0; + float iaq = 0.0f; + uint8_t iaq_accuracy = 0; + float temp = 0.0f; + float raw_temp = 0.0f; + float raw_pressure = 0.0f; + float humidity = 0.0f; + float raw_humidity = 0.0f; + float raw_gas = 0.0f; + float static_iaq = 0.0f; + uint8_t static_iaq_accuracy = 0; + float co2_equivalent = 0.0f; + uint8_t co2_accuracy = 0; + float breath_voc_equivalent = 0.0f; + uint8_t breath_voc_accuracy = 0; + float comp_gas_value = 0.0f; + uint8_t comp_gas_accuracy = 0; + float gas_percentage = 0.0f; + uint8_t gas_percentage_acccuracy = 0; + + /* Check if something should be processed by BSEC */ + if (num_bsec_inputs > 0) + { + /* Set number of outputs to the size of the allocated buffer */ + /* BSEC_NUMBER_OUTPUTS to be defined */ + num_bsec_outputs = BSEC_NUMBER_OUTPUTS; + + /* Perform processing of the data by BSEC + Note: + * The number of outputs you get depends on what you asked for during bsec_update_subscription(). This is + handled under bme680_bsec_update_subscription() function in this example file. + * The number of actual outputs that are returned is written to num_bsec_outputs. */ + bsec_status = bsec_do_steps(bsec_inputs, num_bsec_inputs, bsec_outputs, &num_bsec_outputs); + + /* Iterate through the outputs and extract the relevant ones. */ + for (index = 0; index < num_bsec_outputs; index++) + { + switch (bsec_outputs[index].sensor_id) + { + case BSEC_OUTPUT_IAQ: + iaq = bsec_outputs[index].signal; + iaq_accuracy = bsec_outputs[index].accuracy; + break; + case BSEC_OUTPUT_STATIC_IAQ: + static_iaq = bsec_outputs[index].signal; + static_iaq_accuracy = bsec_outputs[index].accuracy; + break; + case BSEC_OUTPUT_CO2_EQUIVALENT: + co2_equivalent = bsec_outputs[index].signal; + co2_accuracy = bsec_outputs[index].accuracy; + break; + case BSEC_OUTPUT_BREATH_VOC_EQUIVALENT: + breath_voc_equivalent = bsec_outputs[index].signal; + breath_voc_accuracy = bsec_outputs[index].accuracy; + break; + case BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE: + temp = bsec_outputs[index].signal; + break; + case BSEC_OUTPUT_RAW_PRESSURE: + raw_pressure = bsec_outputs[index].signal; + break; + case BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY: + humidity = bsec_outputs[index].signal; + break; + case BSEC_OUTPUT_RAW_GAS: + raw_gas = bsec_outputs[index].signal; + break; + case BSEC_OUTPUT_RAW_TEMPERATURE: + raw_temp = bsec_outputs[index].signal; + break; + case BSEC_OUTPUT_RAW_HUMIDITY: + raw_humidity = bsec_outputs[index].signal; + break; + case BSEC_OUTPUT_COMPENSATED_GAS: + comp_gas_value = bsec_outputs[index].signal; + comp_gas_accuracy = bsec_outputs[index].accuracy; + break; + case BSEC_OUTPUT_GAS_PERCENTAGE: + gas_percentage = bsec_outputs[index].signal; + gas_percentage_acccuracy = bsec_outputs[index].accuracy; + break; + default: + continue; + } + + /* Assume that all the returned timestamps are the same */ + timestamp = bsec_outputs[index].time_stamp; + } + + /* Pass the extracted outputs to the user provided output_ready() function. */ + output_ready(timestamp, iaq, iaq_accuracy, temp, humidity, raw_pressure, raw_temp, + raw_humidity, raw_gas, bsec_status, static_iaq, co2_equivalent, breath_voc_equivalent); + } +} + +/*! + * @brief Runs the main (endless) loop that queries sensor settings, applies them, and processes the measured data + * + * @param[in] sleep pointer to the system specific sleep function + * @param[in] get_timestamp_us pointer to the system specific timestamp derivation function + * @param[in] output_ready pointer to the function processing obtained BSEC outputs + * @param[in] state_save pointer to the system-specific state save function + * @param[in] save_intvl interval at which BSEC state should be saved (in samples) + * + * @return none + */ +void bsec_iot_loop(sleep_fct sleep, get_timestamp_us_fct get_timestamp_us, output_ready_fct output_ready, + state_save_fct state_save, uint32_t save_intvl) +{ + /* Timestamp variables */ + int64_t time_stamp = 0; + int64_t time_stamp_interval_ms = 0; + + /* Allocate enough memory for up to BSEC_MAX_PHYSICAL_SENSOR physical inputs*/ + bsec_input_t bsec_inputs[BSEC_MAX_PHYSICAL_SENSOR]; + + /* Number of inputs to BSEC */ + uint8_t num_bsec_inputs = 0; + + /* BSEC sensor settings struct */ + bsec_bme_settings_t sensor_settings; + + /* Save state variables */ + uint8_t bsec_state[BSEC_MAX_STATE_BLOB_SIZE]; + uint8_t work_buffer[BSEC_MAX_STATE_BLOB_SIZE]; + uint32_t bsec_state_len = 0; + uint32_t n_samples = 0; + + bsec_library_return_t bsec_status = BSEC_OK; + + while (1) + { + /* get the timestamp in nanoseconds before calling bsec_sensor_control() */ + time_stamp = get_timestamp_us() * 1000; + + /* Retrieve sensor settings to be used in this time instant by calling bsec_sensor_control */ + bsec_sensor_control(time_stamp, &sensor_settings); + + /* Trigger a measurement if necessary */ + bme680_bsec_trigger_measurement(&sensor_settings, sleep); + + /* Read data from last measurement */ + num_bsec_inputs = 0; + bme680_bsec_read_data(time_stamp, bsec_inputs, &num_bsec_inputs, sensor_settings.process_data); + + /* Time to invoke BSEC to perform the actual processing */ + bme680_bsec_process_data(bsec_inputs, num_bsec_inputs, output_ready); + + /* Increment sample counter */ + n_samples++; + + /* Retrieve and store state if the passed save_intvl */ + if (n_samples >= save_intvl) + { + bsec_status = bsec_get_state(0, bsec_state, sizeof(bsec_state), work_buffer, sizeof(work_buffer), &bsec_state_len); + if (bsec_status == BSEC_OK) + { + state_save(bsec_state, bsec_state_len); + } + n_samples = 0; + } + + + /* Compute how long we can sleep until we need to call bsec_sensor_control() next */ + /* Time_stamp is converted from microseconds to nanoseconds first and then the difference to milliseconds */ + time_stamp_interval_ms = (sensor_settings.next_call - get_timestamp_us() * 1000) / 1000000; + if (time_stamp_interval_ms > 0) + { + sleep((uint32_t)time_stamp_interval_ms); + } + } +} + +/*! @}*/ + diff --git a/lib/Bosch-BSEC/bsec_integration.h b/lib/Bosch-BSEC/bsec_integration.h new file mode 100644 index 00000000..5155a001 --- /dev/null +++ b/lib/Bosch-BSEC/bsec_integration.h @@ -0,0 +1,165 @@ +/* + * Copyright (C) 2017 Robert Bosch. All Rights Reserved. + * + * Disclaimer + * + * Common: + * Bosch Sensortec products are developed for the consumer goods industry. They may only be used + * within the parameters of the respective valid product data sheet. Bosch Sensortec products are + * provided with the express understanding that there is no warranty of fitness for a particular purpose. + * They are not fit for use in life-sustaining, safety or security sensitive systems or any system or device + * that may lead to bodily harm or property damage if the system or device malfunctions. In addition, + * Bosch Sensortec products are not fit for use in products which interact with motor vehicle systems. + * The resale and/or use of products are at the purchasers own risk and his own responsibility. The + * examination of fitness for the intended use is the sole responsibility of the Purchaser. + * + * The purchaser shall indemnify Bosch Sensortec from all third party claims, including any claims for + * incidental, or consequential damages, arising from any product use not covered by the parameters of + * the respective valid product data sheet or not approved by Bosch Sensortec and reimburse Bosch + * Sensortec for all costs in connection with such claims. + * + * The purchaser must monitor the market for the purchased products, particularly with regard to + * product safety and inform Bosch Sensortec without delay of all security relevant incidents. + * + * Engineering Samples are marked with an asterisk (*) or (e). Samples may vary from the valid + * technical specifications of the product series. They are therefore not intended or fit for resale to third + * parties or for use in end products. Their sole purpose is internal client testing. The testing of an + * engineering sample may in no way replace the testing of a product series. Bosch Sensortec + * assumes no liability for the use of engineering samples. By accepting the engineering samples, the + * Purchaser agrees to indemnify Bosch Sensortec from all claims arising from the use of engineering + * samples. + * + * Special: + * This software module (hereinafter called "Software") and any information on application-sheets + * (hereinafter called "Information") is provided free of charge for the sole purpose to support your + * application work. The Software and Information is subject to the following terms and conditions: + * + * The Software is specifically designed for the exclusive use for Bosch Sensortec products by + * personnel who have special experience and training. Do not use this Software if you do not have the + * proper experience or training. + * + * This Software package is provided `` as is `` and without any expressed or implied warranties, + * including without limitation, the implied warranties of merchantability and fitness for a particular + * purpose. + * + * Bosch Sensortec and their representatives and agents deny any liability for the functional impairment + * of this Software in terms of fitness, performance and safety. Bosch Sensortec and their + * representatives and agents shall not be liable for any direct or indirect damages or injury, except as + * otherwise stipulated in mandatory applicable law. + * + * The Information provided is believed to be accurate and reliable. Bosch Sensortec assumes no + * responsibility for the consequences of use of such Information nor for any infringement of patents or + * other rights of third parties which may result from its use. No license is granted by implication or + * otherwise under any patent or patent rights of Bosch. Specifications mentioned in the Information are + * subject to change without notice. + * + * It is not allowed to deliver the source code of the Software to any third party without permission of + * Bosch Sensortec. + * + */ + +/*! + * @file bsec_integration.h + * + * @brief + * Contains BSEC integration API + */ + +/*! + * @addtogroup bsec_examples BSEC Examples + * @brief BSEC usage examples + * @{*/ + +#ifndef __BSEC_INTEGRATION_H__ +#define __BSEC_INTEGRATION_H__ + +#ifdef __cplusplus +extern "C" +{ +#endif + +/**********************************************************************************************************************/ +/* header files */ +/**********************************************************************************************************************/ + +/* Use the following bme680 driver: https://github.com/BoschSensortec/BME680_driver/releases/tag/bme680_v3.5.1 */ +#include "bme680.h" +/* BSEC header files are available in the inc/ folder of the release package */ +#include "bsec_interface.h" +#include "bsec_datatypes.h" + + +/**********************************************************************************************************************/ +/* type definitions */ +/**********************************************************************************************************************/ + +/* function pointer to the system specific sleep function */ +typedef void (*sleep_fct)(uint32_t t_ms); + +/* function pointer to the system specific timestamp derivation function */ +typedef int64_t (*get_timestamp_us_fct)(); + +/* function pointer to the function processing obtained BSEC outputs */ +typedef void (*output_ready_fct)(int64_t timestamp, float iaq, uint8_t iaq_accuracy, float temperature, float humidity, + float pressure, float raw_temperature, float raw_humidity, float gas, bsec_library_return_t bsec_status, + float static_iaq, float co2_equivalent, float breath_voc_equivalent); + +/* function pointer to the function loading a previous BSEC state from NVM */ +typedef uint32_t (*state_load_fct)(uint8_t *state_buffer, uint32_t n_buffer); + +/* function pointer to the function saving BSEC state to NVM */ +typedef void (*state_save_fct)(const uint8_t *state_buffer, uint32_t length); + +/* function pointer to the function loading the BSEC configuration string from NVM */ +typedef uint32_t (*config_load_fct)(uint8_t *state_buffer, uint32_t n_buffer); + +/* structure definitions */ + +/* Structure with the return value from bsec_iot_init() */ +typedef struct{ + /*! Result of API execution status */ + int8_t bme680_status; + /*! Result of BSEC library */ + bsec_library_return_t bsec_status; +}return_values_init; +/**********************************************************************************************************************/ +/* function declarations */ +/**********************************************************************************************************************/ + +/*! + * @brief Initialize the BME680 sensor and the BSEC library + * + * @param[in] sample_rate mode to be used (either BSEC_SAMPLE_RATE_ULP or BSEC_SAMPLE_RATE_LP) + * @param[in] temperature_offset device-specific temperature offset (due to self-heating) + * @param[in] bus_write pointer to the bus writing function + * @param[in] bus_read pointer to the bus reading function + * @param[in] sleep pointer to the system-specific sleep function + * @param[in] state_load pointer to the system-specific state load function + * + * @return zero if successful, negative otherwise + */ +return_values_init bsec_iot_init(float sample_rate, float temperature_offset, bme680_com_fptr_t bus_write, bme680_com_fptr_t bus_read, + sleep_fct sleep, state_load_fct state_load, config_load_fct config_load); + +/*! + * @brief Runs the main (endless) loop that queries sensor settings, applies them, and processes the measured data + * + * @param[in] sleep pointer to the system-specific sleep function + * @param[in] get_timestamp_us pointer to the system-specific timestamp derivation function + * @param[in] output_ready pointer to the function processing obtained BSEC outputs + * @param[in] state_save pointer to the system-specific state save function + * @param[in] save_intvl interval at which BSEC state should be saved (in samples) + * + * @return return_values_init struct with the result of the API and the BSEC library + */ +void bsec_iot_loop(sleep_fct sleep, get_timestamp_us_fct get_timestamp_us, output_ready_fct output_ready, + state_save_fct state_save, uint32_t save_intvl); + +#ifdef __cplusplus +} +#endif + +#endif /* __BSEC_INTEGRATION_H__ */ + +/*! @}*/ + diff --git a/platformio.ini b/platformio.ini index 3054840a..8a08339a 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,13 +9,13 @@ ;env_default = generic ;env_default = ebox ;env_default = eboxtube -;env_default = heltec +env_default = heltec ;env_default = heltecv2 ;env_default = ttgov1 ;env_default = ttgov2 ;env_default = ttgov21old ;env_default = ttgov21new -env_default = ttgobeam +;env_default = ttgobeam ;env_default = lopy ;env_default = lopy4 ;env_default = fipy @@ -32,7 +32,7 @@ description = Paxcounter is a proof-of-concept ESP32 device for metering passeng release_version = 1.6.83 ; DEBUG LEVEL: For production run set to 0, otherwise device will leak RAM while running! ; 0=None, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Verbose -debug_level = 3 +debug_level = 0 ; UPLOAD MODE: select esptool to flash via USB/UART, select custom to upload to cloud for OTA upload_protocol = esptool ;upload_protocol = custom @@ -59,18 +59,23 @@ lib_deps_all = ${common.lib_deps_display} ${common.lib_deps_rgbled} ${common.lib_deps_gps} -build_flags = +build_flags_basic = + ;-include include/wifiscan.h + -include $PROJECTSRC_DIR/hal/${PIOENV}.h + -include $PROJECTSRC_DIR/paxcounter.conf + -w + ;'-DARDUINO_LMIC_PROJECT_CONFIG_H="/$PROJECTSRC_DIR/lmic_config.h"' + '-DARDUINO_LMIC_PROJECT_CONFIG_H=../../../src/lmic_config.h' + '-DCORE_DEBUG_LEVEL=${common.debug_level}' + '-DLOG_LOCAL_LEVEL=${common.debug_level}' + '-DBINTRAY_PACKAGE="${PIOENV}"' + '-DPROGVERSION="${common.release_version}"' +build_flags_sensors = -Llib/Bosch-BSEC -llibalgobsec.a - -include src/hal/${PIOENV}.h - -include src/paxcounter.conf - -w - ;'-D ARDUINO_LMIC_PROJECT_CONFIG_H="/$PROJECTSRC_DIR/lmic_config.h"' - '-D ARDUINO_LMIC_PROJECT_CONFIG_H=../../../src/lmic_config.h' - '-D CORE_DEBUG_LEVEL=${common.debug_level}' - '-D LOG_LOCAL_LEVEL=${common.debug_level}' - '-D BINTRAY_PACKAGE="${PIOENV}"' - '-D PROGVERSION="${common.release_version}"' +build_flags_all = + ${common.build_flags_basic} + ${common.build_flags_sensors} [env:ebox] platform = ${common.platform_espressif32} @@ -82,7 +87,7 @@ lib_deps = ${common.lib_deps_basic} ${common.lib_deps_lora} build_flags = - ${common.build_flags} + ${common.build_flags_basic} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -98,7 +103,7 @@ lib_deps = ${common.lib_deps_lora} ${common.lib_deps_rgbled} build_flags = - ${common.build_flags} + ${common.build_flags_basic} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -114,7 +119,7 @@ lib_deps = ${common.lib_deps_lora} ${common.lib_deps_display} build_flags = - ${common.build_flags} + ${common.build_flags_basic} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -130,7 +135,7 @@ lib_deps = ${common.lib_deps_lora} ${common.lib_deps_display} build_flags = - ${common.build_flags} + ${common.build_flags_basic} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -146,7 +151,7 @@ lib_deps = ${common.lib_deps_lora} ${common.lib_deps_display} build_flags = - ${common.build_flags} + ${common.build_flags_basic} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -162,7 +167,7 @@ lib_deps = ${common.lib_deps_lora} ${common.lib_deps_display} build_flags = - ${common.build_flags} + ${common.build_flags_basic} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -178,7 +183,7 @@ lib_deps = ${common.lib_deps_lora} ${common.lib_deps_display} build_flags = - ${common.build_flags} + ${common.build_flags_basic} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -194,7 +199,7 @@ lib_deps = ${common.lib_deps_lora} ${common.lib_deps_display} build_flags = - ${common.build_flags} + ${common.build_flags_basic} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -210,7 +215,7 @@ lib_deps = ${common.lib_deps_lora} ${common.lib_deps_gps} build_flags = - ${common.build_flags} + ${common.build_flags_all} -mfix-esp32-psram-cache-issue upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} @@ -227,7 +232,7 @@ lib_deps = ${common.lib_deps_lora} ${common.lib_deps_rgbled} build_flags = - ${common.build_flags} + ${common.build_flags_basic} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -235,7 +240,7 @@ monitor_speed = ${common.monitor_speed} [env:lopy] platform = ${common.platform_espressif32} framework = arduino -board = esp32dev +board = lopy4 board_build.partitions = ${common.board_build.partitions} upload_speed = 921600 lib_deps = @@ -244,7 +249,7 @@ lib_deps = ${common.lib_deps_rgbled} ${common.lib_deps_gps} build_flags = - ${common.build_flags} + ${common.build_flags_basic} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -252,7 +257,7 @@ monitor_speed = ${common.monitor_speed} [env:lopy4] platform = ${common.platform_espressif32} framework = arduino -board = esp32dev +board = lopy4 board_build.partitions = ${common.board_build.partitions} upload_speed = 921600 lib_deps = @@ -261,7 +266,7 @@ lib_deps = ${common.lib_deps_rgbled} ${common.lib_deps_gps} build_flags = - ${common.build_flags} + ${common.build_flags_basic} -mfix-esp32-psram-cache-issue upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} @@ -278,7 +283,7 @@ lib_deps = ${common.lib_deps_lora} ${common.lib_deps_rgbled} build_flags = - ${common.build_flags} + ${common.build_flags_basic} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -294,7 +299,7 @@ lib_deps = ${common.lib_deps_lora} ${common.lib_deps_rgbled} build_flags = - ${common.build_flags} + ${common.build_flags_basic} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -309,7 +314,7 @@ lib_deps = ${common.lib_deps_basic} ${common.lib_deps_rgbled} build_flags = - ${common.build_flags} + ${common.build_flags_basic} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -321,7 +326,7 @@ board = featheresp32 board_build.partitions = ${common.board_build.partitions} upload_speed = 921600 lib_deps = ${common.lib_deps_all} -build_flags = ${common.build_flags} +build_flags = ${common.build_flags_all} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} @@ -333,7 +338,7 @@ board = esp32dev board_build.partitions = ${common.board_build.partitions} upload_speed = 921600 lib_deps = ${common.lib_deps_all} -build_flags = ${common.build_flags} +build_flags = ${common.build_flags_all} upload_protocol = ${common.upload_protocol} extra_scripts = ${common.extra_scripts} monitor_speed = ${common.monitor_speed} \ No newline at end of file diff --git a/src/bme680mems.cpp b/src/bme680mems.cpp index 6d98dd77..ada4ab54 100644 --- a/src/bme680mems.cpp +++ b/src/bme680mems.cpp @@ -5,69 +5,27 @@ // Local logging tag static const char TAG[] = "main"; +#define NUM_USED_OUTPUTS 8 + bmeStatus_t bme_status; -void bme_init(void) { - - // initialize BME680 sensor +// initialize BME680 sensor + int bme_init(void) { + return_values_init ret = {BME680_OK, BSEC_OK}; struct bme680_dev gas_sensor; - Wire.begin(HAS_BME, 400000); // I2C connect to BME680 sensor with 400 KHz - // configure sensor for I2C communication - gas_sensor.dev_id = BME_ADDR; - gas_sensor.intf = BME680_I2C_INTF; - gas_sensor.read = user_i2c_read; - gas_sensor.write = user_i2c_write; - gas_sensor.delay_ms = user_delay_ms; - gas_sensor.amb_temp = 25; - - int8_t rslt = BME680_OK; - rslt = bme680_init(&gas_sensor); - - if (rslt == BME680_OK) { - ESP_LOGI(TAG, "BME680 sensor found"); - } else { - ESP_LOGE(TAG, "BME680 sensor not found on i2c bus"); - return; - } - - // configure BME680 sensor in forced mode - - uint8_t set_required_settings; - - /* Set the temperature, pressure and humidity settings */ - gas_sensor.tph_sett.os_hum = BME680_OS_2X; - gas_sensor.tph_sett.os_pres = BME680_OS_4X; - gas_sensor.tph_sett.os_temp = BME680_OS_8X; - gas_sensor.tph_sett.filter = BME680_FILTER_SIZE_3; - - /* Set the remaining gas sensor settings and link the heating profile */ - gas_sensor.gas_sett.run_gas = BME680_ENABLE_GAS_MEAS; - /* Create a ramp heat waveform in 3 steps */ - gas_sensor.gas_sett.heatr_temp = 320; /* degree Celsius */ - gas_sensor.gas_sett.heatr_dur = 150; /* milliseconds */ - - /* Select the power mode */ - /* Must be set before writing the sensor configuration */ - gas_sensor.power_mode = BME680_FORCED_MODE; - - /* Set the required sensor settings needed */ - set_required_settings = BME680_OST_SEL | BME680_OSP_SEL | BME680_OSH_SEL | - BME680_FILTER_SEL | BME680_GAS_SENSOR_SEL; - - /* Set the desired sensor configuration */ - rslt = bme680_set_sensor_settings(set_required_settings, &gas_sensor); - - /* Set the power mode */ - rslt = bme680_set_sensor_mode(&gas_sensor); - - if (rslt == BME680_OK) { - ESP_LOGI(TAG, "BME680 sensor initialized"); - } else { - ESP_LOGE(TAG, "BME680 initialization failed"); - return; + /* Call to the function which initializes the BSEC library + * Switch on low-power mode and provide no temperature offset */ + ret = bsec_iot_init(BSEC_SAMPLE_RATE_LP, 0.0f, user_i2c_write, user_i2c_read, + user_delay_ms, state_load, config_load); + if (ret.bme680_status) { + /* Could not intialize BME680 */ + return (int)ret.bme680_status; + } else if (ret.bsec_status) { + /* Could not intialize BSEC library */ + return (int)ret.bsec_status; } } @@ -90,6 +48,15 @@ bool bme_read(void) { */ } +/* +//Call to endless loop function which reads and processes data based on +//sensor settings +//State is saved every 10.000 samples, which means every 10.000 * 3 secs = +//500 minutes + + bsec_iot_loop(sleep, get_timestamp_us, output_ready, state_save, 10000); +*/ + int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) { int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ @@ -122,6 +89,93 @@ int8_t user_i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, return rslt; } +/*! + * @brief Load previous library state from non-volatile memory + * + * @param[in,out] state_buffer buffer to hold the loaded state string + * @param[in] n_buffer size of the allocated state buffer + * + * @return number of bytes copied to state_buffer + */ +uint32_t state_load(uint8_t *state_buffer, uint32_t n_buffer) { + // ... + // Load a previous library state from non-volatile memory, if available. + // + // Return zero if loading was unsuccessful or no state was available, + // otherwise return length of loaded state string. + // ... + return 0; +} + +/*! + * @brief Save library state to non-volatile memory + * + * @param[in] state_buffer buffer holding the state to be stored + * @param[in] length length of the state string to be stored + * + * @return none + */ +void state_save(const uint8_t *state_buffer, uint32_t length) { + // ... + // Save the string some form of non-volatile memory, if possible. + // ... +} + +/*! + * @brief Load library config from non-volatile memory + * + * @param[in,out] config_buffer buffer to hold the loaded state string + * @param[in] n_buffer size of the allocated state buffer + * + * @return number of bytes copied to config_buffer + */ +uint32_t config_load(uint8_t *config_buffer, uint32_t n_buffer) { + // ... + // Load a library config from non-volatile memory, if available. + // + // Return zero if loading was unsuccessful or no config was available, + // otherwise return length of loaded config string. + // ... + return 0; +} + +/*! + * @brief Interrupt handler for press of a ULP plus button + * + * @return none + */ + +void ulp_plus_button_press() { + /* We call bsec_update_subscription() in order to instruct BSEC to perform an + * extra measurement at the next possible time slot + */ + + bsec_sensor_configuration_t requested_virtual_sensors[1]; + uint8_t n_requested_virtual_sensors = 1; + bsec_sensor_configuration_t + required_sensor_settings[BSEC_MAX_PHYSICAL_SENSOR]; + uint8_t n_required_sensor_settings = BSEC_MAX_PHYSICAL_SENSOR; + bsec_library_return_t status = BSEC_OK; + + /* To trigger a ULP plus, we request the IAQ virtual sensor with a specific + * sample rate code */ + requested_virtual_sensors[0].sensor_id = BSEC_OUTPUT_IAQ; + requested_virtual_sensors[0].sample_rate = + BSEC_SAMPLE_RATE_ULP_MEASUREMENT_ON_DEMAND; + + /* Call bsec_update_subscription() to enable/disable the requested virtual + * sensors */ + status = bsec_update_subscription( + requested_virtual_sensors, n_requested_virtual_sensors, + required_sensor_settings, &n_required_sensor_settings); + + /* The status code would tell is if the request was accepted. It will be + * rejected if the sensor is not already in ULP mode, or if the time + * difference between requests is too short, for example. */ +} + void user_delay_ms(uint32_t period) { vTaskDelay(period / portTICK_PERIOD_MS); } +int64_t get_timestamp_us() { return (int64_t)millis() * 1000; } + #endif // HAS_BME \ No newline at end of file diff --git a/src/hal/lopy.h b/src/hal/lopy.h index b4cf3c34..30dbe1ba 100644 --- a/src/hal/lopy.h +++ b/src/hal/lopy.h @@ -10,13 +10,8 @@ #define HAS_LED NOT_A_PIN // LoPy4 has no on board mono LED, we use on board RGB LED #define HAS_RGB_LED (0) // WS2812B RGB LED on GPIO0 -// Pins for LORA chip SPI interface, reset line and interrupt lines -#define LORA_SCK (5) // GPIO5 - SX1276 SCK -#define LORA_CS (17) // GPIO17 - SX1276 CS -#define LORA_MISO (19) // GPIO19 - SX1276 MISO -#define LORA_MOSI (27) // GPIO27 - SX1276 MOSI -#define LORA_RST (18) // GPIO18 - SX1276 RESET -#define LORA_IRQ (23) // LoRa IRQ +// Pins for LORA chip SPI interface come from board file, we need some +// additional definitions for LMIC #define LORA_IO1 (23) // Pin tied via diode to DIO0 #define LORA_IO2 (23) // Pin tied via diode to DIO0 diff --git a/src/hal/lopy4.h b/src/hal/lopy4.h index 15cbc00e..4e6ea02f 100644 --- a/src/hal/lopy4.h +++ b/src/hal/lopy4.h @@ -19,13 +19,8 @@ #define HAS_RGB_LED (0) // WS2812B RGB LED on GPIO0 (P2) #define BOARD_HAS_PSRAM // use extra 4MB extern RAM -// Pins for LORA chip SPI interface, reset line and interrupt lines -#define LORA_SCK (5) -#define LORA_CS (18) -#define LORA_MISO (19) -#define LORA_MOSI (27) -#define LORA_RST LMIC_UNUSED_PIN -#define LORA_IRQ (23) // LoRa IRQ +// Pins for LORA chip SPI interface come from board file, we need some +// additional definitions for LMIC #define LORA_IO1 (23) // Pin tied via diode to DIO0 #define LORA_IO2 (23) // Pin tied via diode to DIO0 diff --git a/src/wifiscan.cpp b/src/wifiscan.cpp index 5613a5ec..d6eaeb2d 100644 --- a/src/wifiscan.cpp +++ b/src/wifiscan.cpp @@ -9,9 +9,25 @@ static wifi_country_t wifi_country = {WIFI_MY_COUNTRY, WIFI_CHANNEL_MIN, WIFI_CHANNEL_MAX, 100, WIFI_COUNTRY_POLICY_MANUAL}; +typedef struct { + unsigned frame_ctrl : 16; + unsigned duration_id : 16; + uint8_t addr1[6]; // receiver address + uint8_t addr2[6]; // sender address + uint8_t addr3[6]; // filtering address + unsigned sequence_ctrl : 16; + uint8_t addr4[6]; // optional +} wifi_ieee80211_mac_hdr_t; + +typedef struct { + wifi_ieee80211_mac_hdr_t hdr; + uint8_t payload[0]; // network data ended with 4 bytes csum (CRC32) +} wifi_ieee80211_packet_t; + // using IRAM_:ATTR here to speed up callback function IRAM_ATTR void wifi_sniffer_packet_handler(void *buff, wifi_promiscuous_pkt_type_t type) { + const wifi_promiscuous_pkt_t *ppkt = (wifi_promiscuous_pkt_t *)buff; const wifi_ieee80211_packet_t *ipkt = (wifi_ieee80211_packet_t *)ppkt->payload; From 165f2813f5f09444fdc264eb48043502c7ce6c4d Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Sun, 25 Nov 2018 12:49:49 +0100 Subject: [PATCH 12/15] testing --- platformio.ini | 5 ++--- src/bme680mems.cpp | 22 +++++++++++++++------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/platformio.ini b/platformio.ini index 8a08339a..f6cb3e1f 100644 --- a/platformio.ini +++ b/platformio.ini @@ -60,9 +60,8 @@ lib_deps_all = ${common.lib_deps_rgbled} ${common.lib_deps_gps} build_flags_basic = - ;-include include/wifiscan.h - -include $PROJECTSRC_DIR/hal/${PIOENV}.h - -include $PROJECTSRC_DIR/paxcounter.conf + '-include $PROJECTSRC_DIR/hal/${PIOENV}.h' + '-include $PROJECTSRC_DIR/paxcounter.conf' -w ;'-DARDUINO_LMIC_PROJECT_CONFIG_H="/$PROJECTSRC_DIR/lmic_config.h"' '-DARDUINO_LMIC_PROJECT_CONFIG_H=../../../src/lmic_config.h' diff --git a/src/bme680mems.cpp b/src/bme680mems.cpp index ada4ab54..2c18c706 100644 --- a/src/bme680mems.cpp +++ b/src/bme680mems.cpp @@ -10,7 +10,7 @@ static const char TAG[] = "main"; bmeStatus_t bme_status; // initialize BME680 sensor - int bme_init(void) { +int bme_init(void) { return_values_init ret = {BME680_OK, BSEC_OK}; struct bme680_dev gas_sensor; @@ -48,14 +48,22 @@ bool bme_read(void) { */ } -/* -//Call to endless loop function which reads and processes data based on -//sensor settings -//State is saved every 10.000 samples, which means every 10.000 * 3 secs = -//500 minutes +// loop function which reads and processes data based on sensor settings +void bme_loop(void *pvParameters) { + configASSERT(((uint32_t)pvParameters) == 1); // FreeRTOS check + +#ifdef HAS_BME + + // State is saved every 10.000 samples, which means every 10.000 * 3 secs = + // 500 minutes bsec_iot_loop(sleep, get_timestamp_us, output_ready, state_save, 10000); -*/ + + vTaskDelete(NULL); // shoud never be reached + +#endif + +} // bme_loop() int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) { From b85dc829a58df6789c9d7b59bc77fb9344731111 Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Sun, 25 Nov 2018 16:05:30 +0100 Subject: [PATCH 13/15] Bosch BSEC integration completed --- README.md | 14 +++-- include/bme680mems.h | 29 +++++------ include/globals.h | 12 +++-- include/gpsread.h | 1 + lib/Bosch-BSEC/README.md | 8 +-- platformio.ini | 11 ++-- src/bme680mems.cpp | 102 ++++++++++++------------------------ src/cyclic.cpp | 8 ++- src/gpsread.cpp | 56 +++++++++++--------- src/hal/generic.h | 6 +-- src/hal/octopus32.h | 7 ++- src/hal/ttgobeam.h | 6 +-- src/hal/ttgov21new.h | 2 - src/main.cpp | 108 +++++++++++++++++++++------------------ src/payload.cpp | 15 +++--- 15 files changed, 183 insertions(+), 202 deletions(-) diff --git a/README.md b/README.md index 8a587fd0..51f9c25a 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ Depending on board hardware following features are supported: - Silicon unique ID - Battery voltage monitoring - GPS (Generic serial NMEA, or Quectel L76 I2C) -- MEMS sensor (Bosch BME680) +- Environmental sensor (Bosch BME680 I2C) Target platform must be selected in [platformio.ini](https://github.com/cyberman54/ESP32-Paxcounter/blob/master/platformio.ini).
Hardware dependent settings (pinout etc.) are stored in board files in /hal directory. If you want to use a ESP32 board which is not yet supported, use hal file generic.h and tailor pin mappings to your needs. Pull requests for new boards welcome.
@@ -198,12 +198,20 @@ Hereafter described is the default *plain* format, which uses MSB bit numbering. byte 1: Beacon RSSI reception level byte 2: Beacon identifier (0..255) -**Port #7:** BME680 query result +**Port #7:** Environmental sensor query result bytes 1-2: Temperature [°C] bytes 3-4: Pressure [hPa] bytes 5-6: Humidity [%] - bytes 7-8: Gas resistance [kOhm] + bytes 7-8: Indoor air quality index (0..500), see below + + Indoor air quality classification: + 0-50 good + 51-100 average + 101-150 little bad + 151-200 bad + 201-300 worse + 301-500 very bad # Remote control diff --git a/include/bme680mems.h b/include/bme680mems.h index 4f3b7f30..4828a063 100644 --- a/include/bme680mems.h +++ b/include/bme680mems.h @@ -3,30 +3,27 @@ #include "globals.h" #include - -#include -#include -#include - #include "bsec_integration.h" -#include "bsec_integration.c" extern bmeStatus_t bme_status; // Make struct for storing gps data globally available +extern TaskHandle_t BmeTask; int bme_init(); -bool bme_read(); -void user_delay_ms(uint32_t period); -int64_t get_timestamp_us(); - -int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, - uint16_t len); -int8_t user_i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, - uint16_t len); - +void bme_loop(void *pvParameters); +int8_t i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, + uint16_t len); +int8_t i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, + uint16_t len); +void output_ready(int64_t timestamp, float iaq, uint8_t iaq_accuracy, + float temperature, float humidity, float pressure, + float raw_temperature, float raw_humidity, float gas, + bsec_library_return_t bsec_status, float static_iaq, + float co2_equivalent, float breath_voc_equivalent); uint32_t state_load(uint8_t *state_buffer, uint32_t n_buffer); void state_save(const uint8_t *state_buffer, uint32_t length); uint32_t config_load(uint8_t *config_buffer, uint32_t n_buffer); - +void user_delay_ms(uint32_t period); +int64_t get_timestamp_us(); #endif \ No newline at end of file diff --git a/include/globals.h b/include/globals.h index ef9b8b49..528291c9 100644 --- a/include/globals.h +++ b/include/globals.h @@ -67,10 +67,14 @@ typedef struct { } gpsStatus_t; typedef struct { - float temperature; // Temperature in degrees Centigrade - uint16_t pressure; // Barometic pressure in hecto pascals - float humidity; // Relative humidity in percent - uint16_t gas_resistance; // Resistance in MOhms +float iaq; // IAQ signal +uint8_t iaq_accuracy; // accuracy of IAQ signal +float temperature; // temperature signal +float humidity; // humidity signal +float pressure; // pressure signal +float raw_temperature; // raw temperature signal +float raw_humidity; // raw humidity signal +float gas; // raw gas sensor signal } bmeStatus_t; // global variables diff --git a/include/gpsread.h b/include/gpsread.h index 484aa9fb..7f432c47 100644 --- a/include/gpsread.h +++ b/include/gpsread.h @@ -13,6 +13,7 @@ extern gpsStatus_t gps_status; // Make struct for storing gps data globally available extern TaskHandle_t GpsTask; +int gps_init(void); void gps_read(void); void gps_loop(void *pvParameters); diff --git a/lib/Bosch-BSEC/README.md b/lib/Bosch-BSEC/README.md index 43abe55c..0a7e0ee4 100644 --- a/lib/Bosch-BSEC/README.md +++ b/lib/Bosch-BSEC/README.md @@ -69,8 +69,8 @@ fill in the various parameters as shown below gas_sensor.dev_id = BME680_I2C_ADDR_PRIMARY; gas_sensor.intf = BME680_I2C_INTF; - gas_sensor.read = user_i2c_read; - gas_sensor.write = user_i2c_write; + gas_sensor.read = i2c_read; + gas_sensor.write = i2c_write; gas_sensor.delay_ms = user_delay_ms; /* amb_temp can be set to 25 prior to configuring the gas sensor * or by performing a few temperature readings without operating the gas sensor. @@ -225,7 +225,7 @@ int8_t user_spi_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint1 return rslt; } -int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) +int8_t i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) { int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ @@ -252,7 +252,7 @@ int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16 return rslt; } -int8_t user_i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) +int8_t i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len) { int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ diff --git a/platformio.ini b/platformio.ini index f6cb3e1f..59663981 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,12 +9,12 @@ ;env_default = generic ;env_default = ebox ;env_default = eboxtube -env_default = heltec +;env_default = heltec ;env_default = heltecv2 ;env_default = ttgov1 ;env_default = ttgov2 ;env_default = ttgov21old -;env_default = ttgov21new +env_default = ttgov21new ;env_default = ttgobeam ;env_default = lopy ;env_default = lopy4 @@ -29,7 +29,7 @@ description = Paxcounter is a proof-of-concept ESP32 device for metering passeng [common] ; for release_version use max. 10 chars total, use any decimal format like "a.b.c" -release_version = 1.6.83 +release_version = 1.6.84 ; DEBUG LEVEL: For production run set to 0, otherwise device will leak RAM while running! ; 0=None, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Verbose debug_level = 0 @@ -60,10 +60,9 @@ lib_deps_all = ${common.lib_deps_rgbled} ${common.lib_deps_gps} build_flags_basic = - '-include $PROJECTSRC_DIR/hal/${PIOENV}.h' - '-include $PROJECTSRC_DIR/paxcounter.conf' + -include $PROJECTSRC_DIR\\hal\\${PIOENV}.h + -include $PROJECTSRC_DIR\\paxcounter.conf -w - ;'-DARDUINO_LMIC_PROJECT_CONFIG_H="/$PROJECTSRC_DIR/lmic_config.h"' '-DARDUINO_LMIC_PROJECT_CONFIG_H=../../../src/lmic_config.h' '-DCORE_DEBUG_LEVEL=${common.debug_level}' '-DLOG_LOCAL_LEVEL=${common.debug_level}' diff --git a/src/bme680mems.cpp b/src/bme680mems.cpp index 2c18c706..e449a8a2 100644 --- a/src/bme680mems.cpp +++ b/src/bme680mems.cpp @@ -5,47 +5,43 @@ // Local logging tag static const char TAG[] = "main"; -#define NUM_USED_OUTPUTS 8 - bmeStatus_t bme_status; +TaskHandle_t BmeTask; // initialize BME680 sensor int bme_init(void) { - return_values_init ret = {BME680_OK, BSEC_OK}; - struct bme680_dev gas_sensor; + // struct bme680_dev gas_sensor; Wire.begin(HAS_BME, 400000); // I2C connect to BME680 sensor with 400 KHz - /* Call to the function which initializes the BSEC library - * Switch on low-power mode and provide no temperature offset */ - ret = bsec_iot_init(BSEC_SAMPLE_RATE_LP, 0.0f, user_i2c_write, user_i2c_read, - user_delay_ms, state_load, config_load); - if (ret.bme680_status) { - /* Could not intialize BME680 */ - return (int)ret.bme680_status; - } else if (ret.bsec_status) { - /* Could not intialize BSEC library */ - return (int)ret.bsec_status; + // Call to the function which initializes the BSEC library + // Switch on low-power mode and provide no temperature offset + + return_values_init ret = + bsec_iot_init(BSEC_SAMPLE_RATE_LP, 0.0f, i2c_write, i2c_read, + user_delay_ms, state_load, config_load); + + if ((int)ret.bme680_status) { + ESP_LOGE(TAG, "Could not initialize BME680, error %d", (int)ret.bme680_status); + } else if ((int)ret.bsec_status) { + ESP_LOGE(TAG, "Could not initialize BSEC library, error %d", (int)ret.bsec_status); + } else { + ESP_LOGI(TAG, "BME680 sensor found and initialized"); + return 1; } + return 0; } -bool bme_read(void) { - /* +void output_ready(int64_t timestamp, float iaq, uint8_t iaq_accuracy, + float temperature, float humidity, float pressure, + float raw_temperature, float raw_humidity, float gas, + bsec_library_return_t bsec_status, float static_iaq, + float co2_equivalent, float breath_voc_equivalent) { - bool ret = bme.performReading(); - if (ret) { - // read current BME data and buffer in global struct - bme_status.temperature = bme.temperature; - bme_status.pressure = (uint16_t)(bme.pressure / 100.0); // convert Pa -> - hPa bme_status.humidity = bme.humidity; bme_status.gas_resistance = - (uint16_t)(bme.gas_resistance / 1000.0); // convert Ohm -> kOhm - ESP_LOGI(TAG, "BME680 sensor data read success"); - } else { - ESP_LOGI(TAG, "BME680 sensor read error"); - } - return ret; - - */ + bme_status.temperature = temperature; + bme_status.humidity = humidity; + bme_status.pressure = pressure; + bme_status.iaq = iaq; } // loop function which reads and processes data based on sensor settings @@ -54,19 +50,16 @@ void bme_loop(void *pvParameters) { configASSERT(((uint32_t)pvParameters) == 1); // FreeRTOS check #ifdef HAS_BME - // State is saved every 10.000 samples, which means every 10.000 * 3 secs = // 500 minutes - bsec_iot_loop(sleep, get_timestamp_us, output_ready, state_save, 10000); - - vTaskDelete(NULL); // shoud never be reached - + bsec_iot_loop(user_delay_ms, get_timestamp_us, output_ready, state_save, + 10000); #endif - + vTaskDelete(BmeTask); // should never be reached } // bme_loop() -int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, - uint16_t len) { +int8_t i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, + uint16_t len) { int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ uint16_t i; @@ -82,8 +75,8 @@ int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, return rslt; } -int8_t user_i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, - uint16_t len) { +int8_t i2c_write(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, + uint16_t len) { int8_t rslt = 0; /* Return 0 for Success, non-zero for failure */ uint16_t i; @@ -153,35 +146,6 @@ uint32_t config_load(uint8_t *config_buffer, uint32_t n_buffer) { * @return none */ -void ulp_plus_button_press() { - /* We call bsec_update_subscription() in order to instruct BSEC to perform an - * extra measurement at the next possible time slot - */ - - bsec_sensor_configuration_t requested_virtual_sensors[1]; - uint8_t n_requested_virtual_sensors = 1; - bsec_sensor_configuration_t - required_sensor_settings[BSEC_MAX_PHYSICAL_SENSOR]; - uint8_t n_required_sensor_settings = BSEC_MAX_PHYSICAL_SENSOR; - bsec_library_return_t status = BSEC_OK; - - /* To trigger a ULP plus, we request the IAQ virtual sensor with a specific - * sample rate code */ - requested_virtual_sensors[0].sensor_id = BSEC_OUTPUT_IAQ; - requested_virtual_sensors[0].sample_rate = - BSEC_SAMPLE_RATE_ULP_MEASUREMENT_ON_DEMAND; - - /* Call bsec_update_subscription() to enable/disable the requested virtual - * sensors */ - status = bsec_update_subscription( - requested_virtual_sensors, n_requested_virtual_sensors, - required_sensor_settings, &n_required_sensor_settings); - - /* The status code would tell is if the request was accepted. It will be - * rejected if the sensor is not already in ULP mode, or if the time - * difference between requests is too short, for example. */ -} - void user_delay_ms(uint32_t period) { vTaskDelay(period / portTICK_PERIOD_MS); } int64_t get_timestamp_us() { return (int64_t)millis() * 1000; } diff --git a/src/cyclic.cpp b/src/cyclic.cpp index a4776c77..b0bc812d 100644 --- a/src/cyclic.cpp +++ b/src/cyclic.cpp @@ -32,11 +32,6 @@ void doHousekeeping() { } #endif -#ifdef HAS_BME - // read BME280 sensor if present - bme_read(); -#endif - // task storage debugging // ESP_LOGD(TAG, "Wifiloop %d bytes left", uxTaskGetStackHighWaterMark(wifiSwitchTask)); @@ -45,6 +40,9 @@ void doHousekeeping() { #ifdef HAS_GPS ESP_LOGD(TAG, "Gpsloop %d bytes left", uxTaskGetStackHighWaterMark(GpsTask)); #endif +#ifdef HAS_BME + ESP_LOGD(TAG, "Bmeloop %d bytes left", uxTaskGetStackHighWaterMark(BmeTask)); +#endif #if (HAS_LED != NOT_A_PIN) || defined(HAS_RGB_LED) ESP_LOGD(TAG, "LEDloop %d bytes left", diff --git a/src/gpsread.cpp b/src/gpsread.cpp index dbc885b3..9079927b 100644 --- a/src/gpsread.cpp +++ b/src/gpsread.cpp @@ -9,6 +9,38 @@ TinyGPSPlus gps; gpsStatus_t gps_status; TaskHandle_t GpsTask; +#ifdef GPS_SERIAL +HardwareSerial GPS_Serial(1); +#endif + +// initialize and configure GPS +int gps_init(void) { + + int ret = 1; + +#if defined GPS_SERIAL + GPS_Serial.begin(GPS_SERIAL); + ESP_LOGI(TAG, "Using serial GPS"); +#elif defined GPS_I2C + Wire.begin(GPS_I2C, 400000); // I2C connect to GPS device with 400 KHz + Wire.beginTransmission(GPS_ADDR); + Wire.write(0x00); // dummy write + ret = Wire.endTransmission(); // check if chip is seen on i2c bus + + if (ret) { + ESP_LOGE(TAG, + "Quectel L76 GPS chip not found on i2c bus, bus error %d. " + "Stopping GPS-Task.", + ret); + ret = 0; + } else { + ESP_LOGI(TAG, "Quectel L76 GPS chip found"); + } +#endif + + return ret; +} // gps_init() + // read GPS data and cast to global struct void gps_read() { gps_status.latitude = (int32_t)(gps.location.lat() * 1e6); @@ -26,30 +58,6 @@ void gps_loop(void *pvParameters) { configASSERT(((uint32_t)pvParameters) == 1); // FreeRTOS check -// initialize and, if needed, configure, GPS -#if defined GPS_SERIAL - HardwareSerial GPS_Serial(1); - GPS_Serial.begin(GPS_SERIAL); - -#elif defined GPS_I2C - uint8_t ret; - Wire.begin(GPS_I2C, 400000); // I2C connect to GPS device with 400 KHz - Wire.beginTransmission(GPS_ADDR); - Wire.write(0x00); // dummy write - ret = Wire.endTransmission(); // check if chip is seen on i2c bus - - if (ret) { - ESP_LOGE(TAG, - "Quectel L76 GPS chip not found on i2c bus, bus error %d. " - "Stopping GPS-Task.", - ret); - vTaskDelete(GpsTask); - } else { - ESP_LOGI(TAG, "Quectel L76 GPS chip found."); - } - -#endif - while (1) { if (cfg.payloadmask && GPS_DATA) { diff --git a/src/hal/generic.h b/src/hal/generic.h index 1bf595e0..e8990d47 100644 --- a/src/hal/generic.h +++ b/src/hal/generic.h @@ -13,16 +13,12 @@ #define SPI_SCLK GPIO_NUM_18 #define SPI_CS GPIO_NUM_5 -////////////// test ////////// // enable only if device has these sensors, otherwise comment these lines // BME680 sensor on I2C bus #define HAS_BME GPIO_NUM_21, GPIO_NUM_22 // SDA, SCL -// #define BME_ADDR BME680_I2C_ADDR_PRIMARY // i2c addr 0x76 -#define BME_ADDR BME680_I2C_ADDR_SECONDARY // i2c addr 0x77 -// + // user defined sensors //#define HAS_SENSORS 1 // comment out if device has user defined sensors -////////////// test ////////// #define CFG_sx1276_radio 1 // select LoRa chip //#define CFG_sx1272_radio 1 // select LoRa chip diff --git a/src/hal/octopus32.h b/src/hal/octopus32.h index 292a0686..08be4da0 100644 --- a/src/hal/octopus32.h +++ b/src/hal/octopus32.h @@ -10,7 +10,12 @@ // disable brownout detection (avoid unexpected reset on some boards) #define DISABLE_BROWNOUT 1 // comment out if you want to keep brownout feature -#define HAS_BME 0x76 // BME680 sensor on I2C bus; comment out if not present +// enable only if device has these sensors, otherwise comment these lines +// BME680 sensor on I2C bus +#define HAS_BME GPIO_NUM_21, GPIO_NUM_22 // SDA, SCL + +// user defined sensors +//#define HAS_SENSORS 1 // comment out if device has user defined sensors #define HAS_LED 13 // ESP32 GPIO12 (pin22) On Board LED #define LED_ACTIVE_LOW 1 // Onboard LED is active when pin is LOW diff --git a/src/hal/ttgobeam.h b/src/hal/ttgobeam.h index be946607..4c06293b 100644 --- a/src/hal/ttgobeam.h +++ b/src/hal/ttgobeam.h @@ -5,16 +5,12 @@ // Hardware related definitions for TTGO T-Beam board -////////////// test ////////// // enable only if device has these sensors, otherwise comment these lines // BME680 sensor on I2C bus #define HAS_BME GPIO_NUM_21, GPIO_NUM_22 // SDA, SCL -// #define BME_ADDR BME680_I2C_ADDR_PRIMARY // i2c addr 0x76 -#define BME_ADDR BME680_I2C_ADDR_SECONDARY // i2c addr 0x77 -// + // user defined sensors //#define HAS_SENSORS 1 // comment out if device has user defined sensors -////////////// test ////////// #define HAS_LORA 1 // comment out if device shall not send data via LoRa #define CFG_sx1276_radio 1 // HPD13A LoRa SoC diff --git a/src/hal/ttgov21new.h b/src/hal/ttgov21new.h index 73609065..53c9c197 100644 --- a/src/hal/ttgov21new.h +++ b/src/hal/ttgov21new.h @@ -8,8 +8,6 @@ // This settings are for boards labeled v1.6 on pcb, NOT for v1.5 or older */ -#define HAS_BME 0x77 // BME680 sensor on I2C bus (SDI=21/SCL=22); comment out if not present - #define HAS_LORA 1 // comment out if device shall not send data via LoRa #define CFG_sx1276_radio 1 // HPD13A LoRa SoC diff --git a/src/main.cpp b/src/main.cpp index d63aad71..4f28e064 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -34,7 +34,8 @@ IDLE 0 0 ESP32 arduino scheduler -> runs wifi sniffer looptask 1 1 arduino core -> runs the LMIC LoRa stack irqhandler 1 1 executes tasks triggered by irq -gpsloop 1 2 reads data from GPS over serial or i2c +gpsloop 1 2 reads data from GPS via serial or i2c +bmeloop 1 2 reads data from BME sensor via i2c IDLE 1 0 ESP32 arduino scheduler ESP32 hardware timers @@ -90,6 +91,29 @@ void setup() { esp_log_set_vprintf(redirect_log); #endif + ESP_LOGI(TAG, "Starting %s v%s", PRODUCTNAME, PROGVERSION); + + // print chip information on startup if in verbose mode +#ifdef VERBOSE + esp_chip_info_t chip_info; + esp_chip_info(&chip_info); + ESP_LOGI(TAG, + "This is ESP32 chip with %d CPU cores, WiFi%s%s, silicon revision " + "%d, %dMB %s Flash", + chip_info.cores, (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "", + (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "", + chip_info.revision, spi_flash_get_chip_size() / (1024 * 1024), + (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" + : "external"); + ESP_LOGI(TAG, "ESP32 SDK: %s", ESP.getSdkVersion()); + ESP_LOGI(TAG, "Free RAM: %d bytes", ESP.getFreeHeap()); + +#ifdef HAS_GPS + ESP_LOGI(TAG, "TinyGPS+ v%s", TinyGPSPlus::libraryVersion()); +#endif + +#endif // verbose + // read (and initialize on first run) runtime settings from NVRAM loadConfig(); // includes initialize if necessary @@ -100,12 +124,21 @@ void setup() { // switch on power LED if we have 2 LEDs, else use it for status #ifdef HAS_RGB_LED switch_LED(LED_ON); + strcat_P(features, " RGB"); + rgb_set_color(COLOR_PINK); #endif #endif -#ifdef HAS_RGB_LED - rgb_set_color(COLOR_PINK); - strcat_P(features, " RGB"); +#if (HAS_LED != NOT_A_PIN) || defined(HAS_RGB_LED) + // start led loop + ESP_LOGI(TAG, "Starting LEDloop..."); + xTaskCreatePinnedToCore(ledLoop, // task function + "ledloop", // name of task + 1024, // stack size of task + (void *)1, // parameter of the task + 3, // priority of the task + &ledLoopTask, // task handle + 0); // CPU core #endif // initialize wifi antenna @@ -156,12 +189,31 @@ void setup() { // initialize gps #ifdef HAS_GPS strcat_P(features, " GPS"); + if (gps_init()) { + ESP_LOGI(TAG, "Starting GPSloop..."); + xTaskCreatePinnedToCore(gps_loop, // task function + "gpsloop", // name of task + 2048, // stack size of task + (void *)1, // parameter of the task + 2, // priority of the task + &GpsTask, // task handle + 1); // CPU core + } #endif // initialize bme #ifdef HAS_BME strcat_P(features, " BME"); - bme_init(); + if (bme_init()) { + ESP_LOGI(TAG, "Starting BMEloop..."); + xTaskCreatePinnedToCore(bme_loop, // task function + "bmeloop", // name of task + 4096, // stack size of task + (void *)1, // parameter of the task + 2, // priority of the task + &BmeTask, // task handle + 1); // CPU core + } #endif // initialize sensors @@ -186,29 +238,6 @@ void setup() { strcat_P(features, " OUIFLT"); #endif - ESP_LOGI(TAG, "Starting %s v%s", PRODUCTNAME, PROGVERSION); - - // print chip information on startup if in verbose mode -#ifdef VERBOSE - esp_chip_info_t chip_info; - esp_chip_info(&chip_info); - ESP_LOGI(TAG, - "This is ESP32 chip with %d CPU cores, WiFi%s%s, silicon revision " - "%d, %dMB %s Flash", - chip_info.cores, (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "", - (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "", - chip_info.revision, spi_flash_get_chip_size() / (1024 * 1024), - (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" - : "external"); - ESP_LOGI(TAG, "ESP32 SDK: %s", ESP.getSdkVersion()); - ESP_LOGI(TAG, "Free RAM: %d bytes", ESP.getFreeHeap()); - -#ifdef HAS_GPS - ESP_LOGI(TAG, "TinyGPS+ v%s", TinyGPSPlus::libraryVersion()); -#endif - -#endif // verbose - // initialize display #ifdef HAS_DISPLAY strcat_P(features, " OLED"); @@ -277,17 +306,6 @@ void setup() { // function gets it's seed from RF noise get_salt(); // get new 16bit for salting hashes -#ifdef HAS_GPS - ESP_LOGI(TAG, "Starting GPSloop..."); - xTaskCreatePinnedToCore(gps_loop, // task function - "gpsloop", // name of task - 2048, // stack size of task - (void *)1, // parameter of the task - 2, // priority of the task - &GpsTask, // task handle - 1); // CPU core -#endif - // start state machine ESP_LOGI(TAG, "Starting IRQ Handler..."); xTaskCreatePinnedToCore(irqHandler, // task function @@ -298,18 +316,6 @@ void setup() { &irqHandlerTask, // task handle 1); // CPU core -#if (HAS_LED != NOT_A_PIN) || defined(HAS_RGB_LED) - // start led loop - ESP_LOGI(TAG, "Starting LEDloop..."); - xTaskCreatePinnedToCore(ledLoop, // task function - "ledloop", // name of task - 1024, // stack size of task - (void *)1, // parameter of the task - 3, // priority of the task - &ledLoopTask, // task handle - 0); // CPU core -#endif - // start wifi channel rotation task ESP_LOGI(TAG, "Starting Wifi Channel rotation..."); xTaskCreatePinnedToCore(switchWifiChannel, // task function diff --git a/src/payload.cpp b/src/payload.cpp index 7808f3fb..301034f2 100644 --- a/src/payload.cpp +++ b/src/payload.cpp @@ -104,14 +104,15 @@ void PayloadConvert::addBME(bmeStatus_t value) { #ifdef HAS_BME int16_t temperature = (int16_t)(value.temperature); // float -> int uint16_t humidity = (uint16_t)(value.humidity); // float -> int + uint16_t iaq = (uint16_t)(value.iaq); // float -> int buffer[cursor++] = highByte(temperature); buffer[cursor++] = lowByte(temperature); buffer[cursor++] = highByte(value.pressure); buffer[cursor++] = lowByte(value.pressure); buffer[cursor++] = highByte(humidity); buffer[cursor++] = lowByte(humidity); - buffer[cursor++] = highByte(value.gas_resistance); - buffer[cursor++] = lowByte(value.gas_resistance); + buffer[cursor++] = highByte(value.iaq); + buffer[cursor++] = lowByte(value.iaq); #endif } @@ -194,7 +195,7 @@ void PayloadConvert::addBME(bmeStatus_t value) { writeTemperature(value.temperature); writeUint16(value.pressure); writeHumidity(value.humidity); - writeUint16(value.gas_resistance); + writeUint16(value.iaq); #endif } @@ -373,8 +374,8 @@ void PayloadConvert::addBME(bmeStatus_t value) { uint16_t pressure = value.pressure * 10; // 0.5% per bit => 0 .. 128 %C uint8_t humidity = (uint8_t)(value.humidity * 2.0); - // 0.01 Ohm per bit => 0 .. 655,36 Ohm - uint16_t gas = value.gas_resistance * 100; + // 0.01 IAQ per bit => 0 .. 655,36 IAQ + uint16_t iaq = (uint16_t) value.iaq * 100; #if (PAYLOAD_ENCODER == 3) buffer[cursor++] = LPP_TEMPERATURE_CHANNEL; @@ -397,8 +398,8 @@ void PayloadConvert::addBME(bmeStatus_t value) { buffer[cursor++] = LPP_GAS_CHANNEL; #endif buffer[cursor++] = LPP_ANALOG_INPUT; // 2 bytes 0.01 Signed - buffer[cursor++] = highByte(gas); - buffer[cursor++] = lowByte(gas); + buffer[cursor++] = highByte(iaq); + buffer[cursor++] = lowByte(iaq); #endif // HAS_BME } From 75fb08e72c7df0ad20d8274bdef80a6c4bef9854 Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Sun, 25 Nov 2018 16:35:36 +0100 Subject: [PATCH 14/15] v1.6.85 --- include/wifiscan.h | 17 ----------------- platformio.ini | 8 ++++---- src/gpsread.cpp | 2 +- src/hal/ebox.h | 2 ++ src/hal/eboxtube.h | 2 ++ src/hal/fipy.h | 2 ++ src/hal/generic.h | 2 ++ src/hal/heltec.h | 2 ++ src/hal/heltecv2.h | 2 ++ src/hal/lolin32lite.h | 2 ++ src/hal/lolin32litelora.h | 2 ++ src/hal/lolin32lora.h | 2 ++ src/hal/lopy.h | 2 ++ src/hal/lopy4.h | 2 ++ src/hal/octopus32.h | 2 ++ src/hal/ttgobeam.h | 2 ++ src/hal/ttgov1.h | 2 ++ src/hal/ttgov2.h | 2 ++ src/hal/ttgov21new.h | 2 ++ src/hal/ttgov21old.h | 2 ++ src/led.cpp | 2 +- 21 files changed, 40 insertions(+), 23 deletions(-) diff --git a/include/wifiscan.h b/include/wifiscan.h index 7c143b2c..d5e2f456 100644 --- a/include/wifiscan.h +++ b/include/wifiscan.h @@ -10,23 +10,6 @@ #define MAC_SNIFF_WIFI 0 #define MAC_SNIFF_BLE 1 -/* -typedef struct { - unsigned frame_ctrl : 16; - unsigned duration_id : 16; - uint8_t addr1[6]; // receiver address - uint8_t addr2[6]; // sender address - uint8_t addr3[6]; // filtering address - unsigned sequence_ctrl : 16; - uint8_t addr4[6]; // optional -} wifi_ieee80211_mac_hdr_t; - -typedef struct { - wifi_ieee80211_mac_hdr_t hdr; - uint8_t payload[0]; // network data ended with 4 bytes csum (CRC32) -} wifi_ieee80211_packet_t; -*/ - void wifi_sniffer_init(void); void IRAM_ATTR wifi_sniffer_packet_handler(void *buff, wifi_promiscuous_pkt_type_t type); void switchWifiChannel(void * parameter); diff --git a/platformio.ini b/platformio.ini index 59663981..58915b68 100644 --- a/platformio.ini +++ b/platformio.ini @@ -6,7 +6,7 @@ ; ---> SELECT TARGET PLATFORM HERE! <--- [platformio] -;env_default = generic +env_default = generic ;env_default = ebox ;env_default = eboxtube ;env_default = heltec @@ -14,7 +14,7 @@ ;env_default = ttgov1 ;env_default = ttgov2 ;env_default = ttgov21old -env_default = ttgov21new +;env_default = ttgov21new ;env_default = ttgobeam ;env_default = lopy ;env_default = lopy4 @@ -29,7 +29,7 @@ description = Paxcounter is a proof-of-concept ESP32 device for metering passeng [common] ; for release_version use max. 10 chars total, use any decimal format like "a.b.c" -release_version = 1.6.84 +release_version = 1.6.85 ; DEBUG LEVEL: For production run set to 0, otherwise device will leak RAM while running! ; 0=None, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Verbose debug_level = 0 @@ -39,7 +39,7 @@ upload_protocol = esptool extra_scripts = pre:build.py keyfile = ota.conf ;platform_espressif32 = espressif32@1.5.0 -platform_espressif32 = https://github.com/platformio/platform-espressif32.git#feature/stage +platform_espressif32 = https://github.com/platformio/platform-espressif32.git#a7b1fe6 board_build.partitions = min_spiffs.csv monitor_speed = 115200 lib_deps_lora = diff --git a/src/gpsread.cpp b/src/gpsread.cpp index 9079927b..e804630f 100644 --- a/src/gpsread.cpp +++ b/src/gpsread.cpp @@ -79,7 +79,7 @@ void gps_loop(void *pvParameters) { } // end of infinite loop - vTaskDelete(NULL); // shoud never be reached + vTaskDelete(GpsTask); // shoud never be reached } // gps_loop() diff --git a/src/hal/ebox.h b/src/hal/ebox.h index 75dff14f..6ebb93fc 100644 --- a/src/hal/ebox.h +++ b/src/hal/ebox.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _EBOX_H #define _EBOX_H diff --git a/src/hal/eboxtube.h b/src/hal/eboxtube.h index 1010b9b6..628e1a94 100644 --- a/src/hal/eboxtube.h +++ b/src/hal/eboxtube.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _EBOXTUBE_H #define _EBOXTUBE_H diff --git a/src/hal/fipy.h b/src/hal/fipy.h index 319e37f3..03ce818b 100644 --- a/src/hal/fipy.h +++ b/src/hal/fipy.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _FIPY_H #define _FIPY_H diff --git a/src/hal/generic.h b/src/hal/generic.h index e8990d47..ba328c3e 100644 --- a/src/hal/generic.h +++ b/src/hal/generic.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _GENERIC_H #define _GENERIC_H diff --git a/src/hal/heltec.h b/src/hal/heltec.h index 69df3869..761d2b2c 100644 --- a/src/hal/heltec.h +++ b/src/hal/heltec.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _HELTEC_H #define _HELTEC_H diff --git a/src/hal/heltecv2.h b/src/hal/heltecv2.h index 5ee40f90..36deb4d3 100644 --- a/src/hal/heltecv2.h +++ b/src/hal/heltecv2.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _HELTECV2_H #define _HELTECV2_H diff --git a/src/hal/lolin32lite.h b/src/hal/lolin32lite.h index f353ee1a..8e19f322 100644 --- a/src/hal/lolin32lite.h +++ b/src/hal/lolin32lite.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _LOLINLITE_H #define _LOLINLITE_H diff --git a/src/hal/lolin32litelora.h b/src/hal/lolin32litelora.h index 44374b8d..8a13aa9c 100644 --- a/src/hal/lolin32litelora.h +++ b/src/hal/lolin32litelora.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _LOLINLITELORA_H #define _LOLINLITELORA_H diff --git a/src/hal/lolin32lora.h b/src/hal/lolin32lora.h index 685c414b..4fb279e9 100644 --- a/src/hal/lolin32lora.h +++ b/src/hal/lolin32lora.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _LOLINLORA_H #define _LOLINLORA_H diff --git a/src/hal/lopy.h b/src/hal/lopy.h index 30dbe1ba..5fe522b2 100644 --- a/src/hal/lopy.h +++ b/src/hal/lopy.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _LOPY_H #define _LOPY_H diff --git a/src/hal/lopy4.h b/src/hal/lopy4.h index 4e6ea02f..248fc3bc 100644 --- a/src/hal/lopy4.h +++ b/src/hal/lopy4.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _LOPY4_H #define _LOPY4_H diff --git a/src/hal/octopus32.h b/src/hal/octopus32.h index 08be4da0..8e67d643 100644 --- a/src/hal/octopus32.h +++ b/src/hal/octopus32.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _OCTOPUS_H #define _OCTOPUS_H diff --git a/src/hal/ttgobeam.h b/src/hal/ttgobeam.h index 4c06293b..93c024ce 100644 --- a/src/hal/ttgobeam.h +++ b/src/hal/ttgobeam.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _TTGOBEAM_H #define _TTGOBEAM_H diff --git a/src/hal/ttgov1.h b/src/hal/ttgov1.h index bd572b63..38513579 100644 --- a/src/hal/ttgov1.h +++ b/src/hal/ttgov1.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _TTGOV1_H #define _TTGOV1_H diff --git a/src/hal/ttgov2.h b/src/hal/ttgov2.h index 79632ca0..fdd021ef 100644 --- a/src/hal/ttgov2.h +++ b/src/hal/ttgov2.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _TTGOV2_H #define _TTGOV2_H diff --git a/src/hal/ttgov21new.h b/src/hal/ttgov21new.h index 53c9c197..6e21a65a 100644 --- a/src/hal/ttgov21new.h +++ b/src/hal/ttgov21new.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _TTGOV21NEW_H #define _TTGOV21NEW_H diff --git a/src/hal/ttgov21old.h b/src/hal/ttgov21old.h index d90d9859..21cdd628 100644 --- a/src/hal/ttgov21old.h +++ b/src/hal/ttgov21old.h @@ -1,3 +1,5 @@ +// clang-format off + #ifndef _TTGOV21OLD_H #define _TTGOV21OLD_H diff --git a/src/led.cpp b/src/led.cpp index c67f1869..f8fb596a 100644 --- a/src/led.cpp +++ b/src/led.cpp @@ -190,7 +190,7 @@ void ledLoop(void *parameter) { // give yield to CPU vTaskDelay(2 / portTICK_PERIOD_MS); } // while(1) - vTaskDelete(NULL); // shoud never be reached + vTaskDelete(ledLoopTask); // shoud never be reached }; // ledloop() #endif // #if (HAS_LED != NOT_A_PIN) || defined(HAS_RGB_LED) From 320ec01c1457d6126d16b37f196c087b4364d4ec Mon Sep 17 00:00:00 2001 From: Klaus K Wilting Date: Sun, 25 Nov 2018 18:27:20 +0100 Subject: [PATCH 15/15] BME280 fixes --- platformio.ini | 4 ++-- src/hal/generic.h | 1 + src/hal/octopus32.h | 1 + src/hal/ttgobeam.h | 5 ++++- src/led.cpp | 10 ++++++---- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/platformio.ini b/platformio.ini index 58915b68..69d42cb9 100644 --- a/platformio.ini +++ b/platformio.ini @@ -6,7 +6,7 @@ ; ---> SELECT TARGET PLATFORM HERE! <--- [platformio] -env_default = generic +;env_default = generic ;env_default = ebox ;env_default = eboxtube ;env_default = heltec @@ -15,7 +15,7 @@ env_default = generic ;env_default = ttgov2 ;env_default = ttgov21old ;env_default = ttgov21new -;env_default = ttgobeam +env_default = ttgobeam ;env_default = lopy ;env_default = lopy4 ;env_default = fipy diff --git a/src/hal/generic.h b/src/hal/generic.h index ba328c3e..ad88536f 100644 --- a/src/hal/generic.h +++ b/src/hal/generic.h @@ -17,6 +17,7 @@ // enable only if device has these sensors, otherwise comment these lines // BME680 sensor on I2C bus +// don't forget to connect SDIO of BME680 to GND for selecting i2c addr 0x76 #define HAS_BME GPIO_NUM_21, GPIO_NUM_22 // SDA, SCL // user defined sensors diff --git a/src/hal/octopus32.h b/src/hal/octopus32.h index 8e67d643..6d8ffdc0 100644 --- a/src/hal/octopus32.h +++ b/src/hal/octopus32.h @@ -14,6 +14,7 @@ // enable only if device has these sensors, otherwise comment these lines // BME680 sensor on I2C bus +// don't forget to connect SDIO of BME680 to GND for selecting i2c addr 0x76 #define HAS_BME GPIO_NUM_21, GPIO_NUM_22 // SDA, SCL // user defined sensors diff --git a/src/hal/ttgobeam.h b/src/hal/ttgobeam.h index 93c024ce..8691c79f 100644 --- a/src/hal/ttgobeam.h +++ b/src/hal/ttgobeam.h @@ -9,7 +9,10 @@ // enable only if device has these sensors, otherwise comment these lines // BME680 sensor on I2C bus +// attention: Pin21 is also LED! set HAS_LED to NOT_A_PIN if using BME280 +// don't forget to connect SDIO of BME680 to GND for selecting i2c addr 0x76 #define HAS_BME GPIO_NUM_21, GPIO_NUM_22 // SDA, SCL +#define HAS_LED NOT_A_PIN // on board green LED // user defined sensors //#define HAS_SENSORS 1 // comment out if device has user defined sensors @@ -18,7 +21,7 @@ #define CFG_sx1276_radio 1 // HPD13A LoRa SoC #define BOARD_HAS_PSRAM // use extra 4MB external RAM -#define HAS_LED GPIO_NUM_21 // on board green LED +//#define HAS_LED GPIO_NUM_21 // on board green LED #define HAS_BUTTON GPIO_NUM_39 // on board button "BOOT" (next to reset button) diff --git a/src/led.cpp b/src/led.cpp index f8fb596a..8a90f9ec 100644 --- a/src/led.cpp +++ b/src/led.cpp @@ -107,15 +107,17 @@ void switch_LED(uint8_t state) { #endif } -#if (HAS_LED != NOT_A_PIN) || defined(HAS_RGB_LED) - void blink_LED(uint16_t set_color, uint16_t set_blinkduration) { +#if (HAS_LED != NOT_A_PIN) || defined(HAS_RGB_LED) LEDColor = set_color; // set color for RGB LED LEDBlinkDuration = set_blinkduration; // duration LEDBlinkStarted = millis(); // Time Start here LEDState = LED_ON; // Let main set LED on +#endif } +#if (HAS_LED != NOT_A_PIN) || defined(HAS_RGB_LED) + void ledLoop(void *parameter) { while (1) { // Custom blink running always have priority other LoRaWAN led @@ -189,8 +191,8 @@ void ledLoop(void *parameter) { } // give yield to CPU vTaskDelay(2 / portTICK_PERIOD_MS); - } // while(1) + } // while(1) vTaskDelete(ledLoopTask); // shoud never be reached -}; // ledloop() +}; // ledloop() #endif // #if (HAS_LED != NOT_A_PIN) || defined(HAS_RGB_LED)