From 981452db3b597e2e41e56f8efb4e2a3991fd7513 Mon Sep 17 00:00:00 2001 From: YunHorn Technology Date: Tue, 15 Apr 2025 23:11:05 +0800 Subject: [PATCH] wip workable for 3 min only then error --- Core/Inc/yunhorn_sts_sensors.h | 2 +- Core/Src/sys_app.c | 10 +- Core/Src/yunhorn_sts_distance_rss.c | 71 ++++++++-- Core/Src/yunhorn_sts_presence_rss.c | 207 ++++++++++++++++++++++++++-- Core/Src/yunhorn_sts_process.c | 6 +- LoRaWAN/App/app_lorawan.c | 2 +- LoRaWAN/App/lora_app.c | 4 +- STM32CubeIDE/Release/STS_O7.bin | Bin 258252 -> 259148 bytes 8 files changed, 270 insertions(+), 32 deletions(-) diff --git a/Core/Inc/yunhorn_sts_sensors.h b/Core/Inc/yunhorn_sts_sensors.h index fea4e49..9193af0 100644 --- a/Core/Inc/yunhorn_sts_sensors.h +++ b/Core/Inc/yunhorn_sts_sensors.h @@ -771,7 +771,7 @@ void STS_SENSOR_Distance_Test_Process(void); void STS_PRESENCE_SENSOR_Function_Test_Process(uint8_t *self_test_result, uint8_t count); void STS_PRESENCE_SENSOR_Distance_Measure_Process(void); void STS_PRESENCE_SENSOR_Background_Measure_Process(uint16_t *bg_distance, uint16_t *bg_motion_noise); -void sts_presence_rss_background_evaluation_process(uint16_t *evaluated_distance, uint16_t *evaluated_score); +int sts_presence_rss_background_evaluation_process(uint16_t *evaluated_distance, uint16_t *evaluated_score); void STS_Sensor_Init(void); void STS_Sensor_Prepare(void); diff --git a/Core/Src/sys_app.c b/Core/Src/sys_app.c index f23f63b..43ff1c1 100644 --- a/Core/Src/sys_app.c +++ b/Core/Src/sys_app.c @@ -118,11 +118,11 @@ void SystemApp_Init(void) /*Initialize the Sensors */ EnvSensors_Init(); // LED1 Flash 3 times for normal power on - LED1_TOGGLE; HAL_Delay(500); - LED1_TOGGLE; HAL_Delay(500); - LED1_TOGGLE; HAL_Delay(500); - LED1_TOGGLE; HAL_Delay(500); - LED1_TOGGLE; HAL_Delay(500); + LED1_TOGGLE; HAL_Delay(100); + LED1_TOGGLE; HAL_Delay(100); + LED1_TOGGLE; HAL_Delay(100); + LED1_TOGGLE; HAL_Delay(100); + LED1_TOGGLE; HAL_Delay(100); LED1_TOGGLE; /*Init low power manager*/ UTIL_LPM_Init(); diff --git a/Core/Src/yunhorn_sts_distance_rss.c b/Core/Src/yunhorn_sts_distance_rss.c index a0e4fe5..14cec96 100644 --- a/Core/Src/yunhorn_sts_distance_rss.c +++ b/Core/Src/yunhorn_sts_distance_rss.c @@ -57,12 +57,14 @@ // GOOD --- volatile distance_measure_cfg_t distance_cfg={0.4, 3.5, 4, 63, 0, 10, 0.5, 1.3, 0.2}; // 2024-08-15 volatile distance_measure_cfg_t distance_cfg={0.8, 3.5, 2, 63, 2, 10, 0.5, 1.3, 0.2}; //volatile distance_measure_cfg_t distance_cfg={0.8, 3.5, 4, 63, 2, 10, 0.5, 1.3, 0.2}; -volatile distance_measure_cfg_t distance_cfg={0.8, 3.5, 4, 63, 2, 10, 0.4, 1.2, 0.2}; +volatile distance_measure_cfg_t distance_cfg ={0.8, 3.5, 4, 63, 2, 10, 0.4, 1.2, 0.2}; +volatile distance_measure_cfg_t presence_distance_cfg ={0.8, 3.5, 4, 63, 2, 10, 0.4, 1.2, 0.2}; //volatile distance_measure_cfg_t distance_cfg={1.5, 3.3, 2, 63, 4, 10, 0.8182f, 0.4, 0.2}; extern volatile uint16_t sts_distance_rss_distance, sts_sensor_install_height; - +extern volatile uint8_t sts_presence_distance_flag; +volatile uint8_t sts_distance_rss_distance_peak=0; static void sts_distance_rss_update_configuration(acc_detector_distance_configuration_t distance_configuration); - +//static void sts_distance_rss_update_presence_config(acc_detector_distance_configuration_t distance_configuration, distance_measure_cfg_t presence_distance_cfg); static void print_distances(acc_detector_distance_result_t *result, uint16_t reflection_count); @@ -71,6 +73,9 @@ int sts_distance_rss_detector_distance(void); int sts_distance_rss_detector_distance(void) { + sts_distance_rss_distance =0; + sts_distance_rss_distance_peak =0; + const acc_hal_t *hal = acc_hal_integration_get_implementation(); if (!acc_rss_activate(hal)) @@ -89,8 +94,15 @@ int sts_distance_rss_detector_distance(void) acc_rss_deactivate(); return EXIT_FAILURE; } + if (sts_presence_distance_flag == 1) + { + + // sts_distance_rss_update_presence_config(distance_configuration, presence_distance_cfg); + + } else { + sts_distance_rss_update_configuration(distance_configuration); + } - sts_distance_rss_update_configuration(distance_configuration); acc_detector_distance_handle_t distance_handle = acc_detector_distance_create(distance_configuration); @@ -114,10 +126,11 @@ int sts_distance_rss_detector_distance(void) bool success = true; const int iterations = 1; //5; - uint16_t number_of_peaks = 1; // FSB first significant Bin + uint16_t number_of_peaks = 5; // FSB first significant Bin acc_detector_distance_result_t result[number_of_peaks]; acc_detector_distance_result_info_t result_info; float tmp_distance = 0.0f; + uint16_t tmp_num_of_peaks = 0; for (int i = 0; i < iterations; i++) { @@ -129,15 +142,30 @@ int sts_distance_rss_detector_distance(void) break; } for(uint8_t j=0; j< result_info.number_of_peaks; j++) - tmp_distance = tmp_distance + (result[j].distance_m); //KalmanFilter(result[j].distance_m); + { + tmp_distance = tmp_distance + (result[j].distance_m); //KalmanFilter(result[j].distance_m); + } + tmp_num_of_peaks += result_info.number_of_peaks; print_distances(result, result_info.number_of_peaks); } - sts_distance_rss_distance = (uint16_t)(1000*tmp_distance)/(number_of_peaks*iterations); + // ensure it's a valid installation height //sts_sensor_install_height = (uint16_t)MAX(sts_distance_rss_distance,2000); - sts_sensor_install_height = (uint16_t)sts_distance_rss_distance; - APP_LOG(TS_OFF, VLEVEL_M, "\r\nAverage Distance =%u mm --- Assume Sensor Install Height = %u mm\r\n", (uint16_t)sts_distance_rss_distance, (uint16_t)sts_sensor_install_height); + //sts_distance_rss_distance = (uint16_t)(1000*tmp_distance)/(number_of_peaks*iterations); + sts_distance_rss_distance = (uint16_t)(1000*tmp_distance)/(tmp_num_of_peaks); + //sts_distance_rss_distance_peak = result_info.number_of_peaks; + sts_distance_rss_distance_peak = tmp_num_of_peaks/iterations; + + if (sts_presence_distance_flag == 1) + { + APP_LOG(TS_OFF, VLEVEL_M, "\r\nAverage Distance =%u mm Peak:%d\r\n", (uint16_t)sts_distance_rss_distance, sts_distance_rss_distance_peak); + + } else + { + sts_sensor_install_height = (uint16_t)sts_distance_rss_distance; + APP_LOG(TS_OFF, VLEVEL_H, "\r\nAssume Sensor Install Height = %u mm\r\n", (uint16_t)sts_sensor_install_height); + } bool deactivated = acc_detector_distance_deactivate(distance_handle); @@ -172,7 +200,26 @@ static void sts_distance_rss_update_configuration(acc_detector_distance_configur acc_detector_distance_configuration_cfar_threshold_window_set(distance_configuration,DEFAULT_FAR_RANGE_CFAR_THRESHOLD_WINDOW); acc_detector_distance_configuration_record_background_sweeps_set(distance_configuration, 16); } - +#if 0 +static void sts_distance_rss_update_presence_config(acc_detector_distance_configuration_t distance_configuration, distance_measure_cfg_t presence_distance_cfg) +{ + acc_detector_distance_configuration_mur_set(distance_configuration, DEFAULT_FAR_RANGE_MUR); // NEW ADD + acc_detector_distance_configuration_requested_start_set(distance_configuration, presence_distance_cfg.start_m); + acc_detector_distance_configuration_requested_length_set(distance_configuration, presence_distance_cfg.length_m); + acc_detector_distance_configuration_receiver_gain_set(distance_configuration,presence_distance_cfg.gain); + acc_detector_distance_configuration_maximize_signal_attenuation_set(distance_configuration, DEFAULT_FAR_MAXIMIZE_SIGNAL_ATTENUATION); // NEW ADD + acc_detector_distance_configuration_service_profile_set(distance_configuration, presence_distance_cfg.acc_profile); + acc_detector_distance_configuration_downsampling_factor_set(distance_configuration, presence_distance_cfg.downsampling); + acc_detector_distance_configuration_sweep_averaging_set(distance_configuration,presence_distance_cfg.sweep_average); + acc_detector_distance_configuration_threshold_type_set(distance_configuration, ACC_DETECTOR_DISTANCE_THRESHOLD_TYPE_CFAR); + acc_detector_distance_configuration_threshold_sensitivity_set(distance_configuration, presence_distance_cfg.threshold); + //acc_detector_distance_configuration_hw_accelerated_average_samples_set(distance_configuration, distance_cfg.hwaas); + //acc_detector_distance_configuration_threshold_type_set(distance_configuration, DEFAULT_FAR_RANGE_THRESHOLD_TYPE); //NEW ADD + acc_detector_distance_configuration_cfar_threshold_guard_set(distance_configuration, DEFAULT_FAR_RANGE_CFAR_THRESHOLD_GUARD); + acc_detector_distance_configuration_cfar_threshold_window_set(distance_configuration,DEFAULT_FAR_RANGE_CFAR_THRESHOLD_WINDOW); + acc_detector_distance_configuration_record_background_sweeps_set(distance_configuration, 16); +} +#endif //backup. ... previous setting ----don't delete /* static void sts_distance_rss_update_configuration(acc_detector_distance_configuration_t distance_configuration) @@ -195,11 +242,11 @@ static void sts_distance_rss_update_configuration(acc_detector_distance_configur // static void print_distances(acc_detector_distance_result_t *result, uint16_t reflection_count) { - APP_LOG(TS_OFF, VLEVEL_M, "Found %u peaks:\n", (unsigned int)reflection_count); + APP_LOG(TS_OFF, VLEVEL_H, "Found %u peaks: ", (unsigned int)reflection_count); for (uint16_t i = 0; i < reflection_count; i++) { - APP_LOG(TS_OFF, VLEVEL_M, "Amplitude %u at %u mm\n", (unsigned int)result[i].amplitude, + APP_LOG(TS_OFF, VLEVEL_H, "Amplitude %u at %u mm\n", (unsigned int)result[i].amplitude, (unsigned int)(result[i].distance_m * 1000)); } } diff --git a/Core/Src/yunhorn_sts_presence_rss.c b/Core/Src/yunhorn_sts_presence_rss.c index 56c96da..a2d0942 100644 --- a/Core/Src/yunhorn_sts_presence_rss.c +++ b/Core/Src/yunhorn_sts_presence_rss.c @@ -27,6 +27,7 @@ /* USER CODE BEGIN Includes */ #include "acc_definitions_common.h" #include "acc_detector_presence.h" +#include "acc_detector_distance.h" #include "acc_hal_definitions.h" #include "acc_hal_integration.h" #include "acc_integration.h" @@ -146,9 +147,17 @@ volatile uint8_t last_sts_fall_rising_detected_result= STS_PRESENCE_NORMAL; volatile uint16_t last_average_presence_distance=0; volatile uint16_t sts_fall_rising_pattern_factor1=0, sts_fall_rising_pattern_factor2=0, sts_fall_rising_pattern_factor3=0; volatile uint16_t sts_roc_acc_standard_variance=0; +volatile uint8_t sts_presence_distance_flag=1; +extern volatile uint8_t sts_distance_rss_distance_peak; +volatile uint8_t sts_distance_presence_in_window=0; +extern volatile distance_measure_cfg_t presence_distance_cfg; +extern volatile distance_measure_cfg_t distance_cfg; extern volatile uint8_t sts_presence_fall_detection; static uint8_t sts_rss_init_ok=0; extern uint8_t sts_lamp_bar_color; + +static void sts_distance_rss_update_presence_config(acc_detector_distance_configuration_t distance_configuration, distance_measure_cfg_t presence_distance_cfg); + /* USER CODE END Includes */ /* External variables ---------------------------------------------------------*/ @@ -395,11 +404,14 @@ static void print_current_configuration(acc_detector_presence_configuration_t pr float sts_run_f_intra_frame_time_const = sts_run_filter.intra_frame_time_const; float sts_run_f_intra_frame_weight = sts_run_filter.intra_frame_weight; float sts_run_f_output_time_const = sts_run_filter.output_time_const; - - APP_LOG(TS_OFF, VLEVEL_H, "\r\nWork_mode:%2d Start: %4d (mm) Length: %4d (mm) Threshold: %4d (*) Gain= %2d (%) UpdateRate=%4d Profile= %d \r\n", +#if 0 + APP_LOG(TS_OFF, VLEVEL_M, "\r\nWork_mode:%2d Start: %4d (mm) Length: %4d (mm) Threshold: %4d (*) Gain= %2d (%) UpdateRate=%4d Profile= %d \r\n", sts_work_mode, (int)(1000.0*sts_run_start), (int)(1000.0*sts_run_length), (int)(1000.0*sts_run_threshold), (int)(100.0*sts_run_gain),(int)sts_run_update_rate, (int)sts_run_profile); - +#endif + APP_LOG(TS_OFF, VLEVEL_M, "\r\n[M%2d,S:%4d,L:%4d,T:%4d,G:%2d %, R:%2d, P:%d ==", + sts_work_mode, (int)(1000.0*sts_run_start), (int)(1000.0*sts_run_length), (int)(1000.0*sts_run_threshold), + (int)(100.0*sts_run_gain),(int)sts_run_update_rate, (int)sts_run_profile); APP_LOG(TS_OFF, VLEVEL_H, "\rn\n(1)FastCut:%4u (2)SlowCut:%4u (3)InterFrameDevTime:%4u " "(4)IntraFrameTimeConst:%4d (5)IntraWeight:%4u (5)OutputTime:%4u \r\n", (int)(1000.0*sts_run_f_inter_fast_cutoff), (int)(1000*sts_run_f_inter_slow_cutoff), (int)(1000*sts_run_f_inter_frame_dev_time_const), @@ -429,7 +441,7 @@ static void print_result(acc_detector_presence_result_t result) * sts_rss_result */ -void sts_presence_rss_background_evaluation_process(uint16_t *evaluated_distance, uint16_t *evaluated_score) +int sts_presence_rss_background_evaluation_process(uint16_t *evaluated_distance, uint16_t *evaluated_score) { const acc_hal_t *hal = acc_hal_integration_get_implementation(); @@ -529,6 +541,35 @@ void sts_presence_rss_background_evaluation_process(uint16_t *evaluated_distance int sts_presence_rss_fall_rise_detection(void) { +#if 0 + uint8_t exit_status = EXIT_SUCCESS, i=0; + //do + //{ + sts_presence_distance_flag = 1; + presence_distance_cfg.start_m = sts_presence_rss_config.default_start_m; + presence_distance_cfg.length_m = sts_presence_rss_config.default_length_m; + LED1_TOGGLE; + exit_status = sts_distance_rss_detector_distance(); + sts_presence_distance_flag = 0; + + // HAL_Delay(10); + // i++; + //} while ((exit_status == EXIT_FAILURE) && (i < 1)); + if (exit_status == EXIT_FAILURE) + { + APP_LOG(TS_OFF, VLEVEL_M,"\r\nFailed to Get Distance \n"); + } + else + { + if ((sts_distance_rss_distance < 1000.0*(presence_distance_cfg.start_m + presence_distance_cfg.length_m)) && (sts_distance_rss_distance > 1000.0*presence_distance_cfg.length_m )) + { + sts_distance_presence_in_window = 1; + } else { + sts_distance_presence_in_window = 0; + } + } + LED1_TOGGLE; +#endif const acc_hal_t *hal = acc_hal_integration_get_implementation(); if (!acc_rss_activate(hal)) @@ -539,6 +580,50 @@ int sts_presence_rss_fall_rise_detection(void) acc_rss_override_sensor_id_check_at_creation(true); + //+++++++++++++++++++++++++++++++++++ + + acc_detector_distance_configuration_t distance_configuration = acc_detector_distance_configuration_create(); + + if (distance_configuration == NULL) + { + APP_LOG(TS_OFF, VLEVEL_L, "acc_detector_distance_configuration_create() failed\n"); + acc_rss_deactivate(); + return EXIT_FAILURE; + } + + //if (sts_presence_distance_flag == 1) + { + APP_LOG(TS_OFF, VLEVEL_M, "\r\n RSS CFG start: %4d Length:%4d \r\n", (int)(1000.0*sts_presence_rss_config.default_start_m), (int)(1000.0*sts_presence_rss_config.default_length_m)); + presence_distance_cfg.start_m = sts_presence_rss_config.default_start_m; + presence_distance_cfg.length_m = sts_presence_rss_config.default_length_m; + + + sts_distance_rss_update_presence_config(distance_configuration, presence_distance_cfg); + + } + + acc_detector_distance_handle_t distance_handle = acc_detector_distance_create(distance_configuration); + + if (distance_handle == NULL) + { + APP_LOG(TS_OFF, VLEVEL_L, "acc_detector_distance_create() failed\n"); + acc_detector_distance_configuration_destroy(&distance_configuration); + acc_rss_deactivate(); + return EXIT_FAILURE; + } + + acc_detector_distance_configuration_destroy(&distance_configuration); +#if 0 + if (!acc_detector_distance_activate(distance_handle)) + { + APP_LOG(TS_OFF, VLEVEL_L, "acc_detector_distance_activate() failed\n"); + acc_detector_distance_destroy(&distance_handle); + acc_rss_deactivate(); + return EXIT_FAILURE; + } +#endif + //+++++++++++++++++++++++++++++++++++ + acc_detector_presence_configuration_t presence_configuration = acc_detector_presence_configuration_create(); if (presence_configuration == NULL) { @@ -697,7 +782,72 @@ int sts_presence_rss_fall_rise_detection(void) } deactivated = acc_detector_presence_deactivate(handle); - acc_detector_presence_destroy(&handle); + // acc_detector_presence_destroy(&handle); + + // ++++++++++++++++++++++++++++++++++++++ + + + if (!acc_detector_distance_activate(distance_handle)) + { + APP_LOG(TS_OFF, VLEVEL_L, "acc_detector_distance_activate() failed\n"); + acc_detector_distance_destroy(&distance_handle); + acc_rss_deactivate(); + return EXIT_FAILURE; + } + + + bool success = true; + const int iterations = 1; //5; + uint16_t number_of_peaks = 5; // FSB first significant Bin + acc_detector_distance_result_t result[number_of_peaks]; + acc_detector_distance_result_info_t result_info; + float tmp_distance = 0.0f; + uint16_t tmp_num_of_peaks = 0; + + for (int i = 0; i < iterations; i++) + { + success = acc_detector_distance_get_next(distance_handle, result, number_of_peaks, &result_info); + + if (!success) + { + APP_LOG(TS_OFF, VLEVEL_L, "acc_detector_distance_get_next() failed\n"); + break; + } + for(uint8_t j=0; j< result_info.number_of_peaks; j++) + { + tmp_distance = tmp_distance + (result[j].distance_m); //KalmanFilter(result[j].distance_m); + } + tmp_num_of_peaks += result_info.number_of_peaks; + //print_distances(result, result_info.number_of_peaks); + } + + + // ensure it's a valid installation height + //sts_sensor_install_height = (uint16_t)MAX(sts_distance_rss_distance,2000); + //sts_distance_rss_distance = (uint16_t)(1000*tmp_distance)/(number_of_peaks*iterations); + sts_distance_rss_distance = (uint16_t)(1000*tmp_distance)/(tmp_num_of_peaks); + //sts_distance_rss_distance_peak = result_info.number_of_peaks; + sts_distance_rss_distance_peak = tmp_num_of_peaks/iterations; + + if (sts_presence_distance_flag == 1) + { + APP_LOG(TS_OFF, VLEVEL_M, "\r\nAverage Distance =%u mm Peak:%d\r\n", (uint16_t)sts_distance_rss_distance, sts_distance_rss_distance_peak); + + } else + { + sts_sensor_install_height = (uint16_t)sts_distance_rss_distance; + APP_LOG(TS_OFF, VLEVEL_H, "\r\nAssume Sensor Install Height = %u mm\r\n", (uint16_t)sts_sensor_install_height); + } + + bool deactivated = acc_detector_distance_deactivate(distance_handle); + + acc_detector_distance_destroy(&distance_handle); + + + // ++++++++++++++++++++++++++++++++++++++ + + + acc_rss_deactivate(); APP_LOG(TS_OFF, VLEVEL_H, "\r\n First Half --- Motion Count = %u \r\n", motion_count); @@ -806,7 +956,7 @@ int sts_presence_rss_fall_rise_detection(void) average_distance = (1000.0f*average_distance)/average_result; // in meters average_score = (1000.0f*average_score)/average_result; - APP_LOG(TS_OFF, VLEVEL_H, "\r\nAverage Distance: %d (mm) Score: %d \r\n",(int)average_distance, (int)average_score); + APP_LOG(TS_OFF, VLEVEL_M, " | AD: %4d AS: %4d |",(int)average_distance, (int)average_score); sts_presence_rss_distance = average_distance; sts_presence_rss_score = average_score; // uint8_t pre_sts_rss_result = (average_result > (DEFAULT_UPDATE_RATE_PRESENCE/5))? 1: 0; @@ -823,14 +973,15 @@ int sts_presence_rss_fall_rise_detection(void) if (sts_work_mode == STS_UNI_MODE) { pre_sts_rss_result = (average_result > 0)? 1: 0; } else { - pre_sts_rss_result = (average_result > 0)? 1: 0; + pre_sts_rss_result = ((average_result > 0) || (sts_distance_presence_in_window))? 1: 0; } STS_RSS_Filter(pre_sts_rss_result); // APP_LOG(TS_OFF, VLEVEL_M, "\r\nMotionCount=%4d Overall Motion=%d \r\n", (int)motion_count, (int)sts_rss_result); //APP_LOG(TS_OFF, VLEVEL_M, "\r\nAverage Result=%d Distance=%d, Score=%d MotionCount=%d ---Overall Result=%d \r\n", // (int)average_result, (int)average_distance, (int)average_score, (int)motion_count, (int)sts_rss_result); - APP_LOG(TS_OFF, VLEVEL_M, "\r\nMotion Status: %d %d (mm) %d %d Rated-> %d \r\n",(int)average_result, (int)average_distance, (int)average_score, (int)motion_count, (int)sts_rss_result); + APP_LOG(TS_OFF, VLEVEL_M, " Motion Status: %d %d (mm) %d %d Rated-> %d \r\n", + (int)(int)average_result, (int)average_distance, (int)average_score, (int)motion_count, (int)sts_rss_result); #if 0 if (sts_rss_result) //if (average_score !=0) //if (sts_rss_result) { @@ -1124,6 +1275,46 @@ void STS_YunhornCheckStandardDeviation(void) } +static void sts_distance_rss_update_presence_config(acc_detector_distance_configuration_t distance_configuration, distance_measure_cfg_t presence_distance_cfg) +{ +#define DEFAULT_FAR_RANGE_MUR ACC_SERVICE_MUR_6 +#define DEFAULT_FAR_RANGE_SERVICE_PROFILE ACC_SERVICE_PROFILE_2 +#define DEFAULT_FAR_MAXIMIZE_SIGNAL_ATTENUATION false +#define STS_DISTANCE_START_M (0.8f) +#define STS_DISTANCE_LENGTH_M (1.4f) +#define STS_DISTANCE_PROFILE ACC_SERVICE_PROFILE_2 +#define STS_DISTANCE_HWAAS (63) +#define DEFAULT_FAR_RANGE_CFAR_THRESHOLD_GUARD 0.12f +#define DEFAULT_FAR_RANGE_CFAR_THRESHOLD_WINDOW 0.03f +#ifndef MIN +#define MIN( a, b ) ( ( ( a ) < ( b ) ) ? ( a ) : ( b ) ) +#endif + +#ifndef MAX +#define MAX( a, b ) ( ( ( a ) > ( b ) ) ? ( a ) : ( b ) ) +#endif + + + acc_detector_distance_configuration_mur_set(distance_configuration, DEFAULT_FAR_RANGE_MUR); // NEW ADD + acc_detector_distance_configuration_requested_start_set(distance_configuration, presence_distance_cfg.start_m); + acc_detector_distance_configuration_requested_length_set(distance_configuration, presence_distance_cfg.length_m); + + acc_detector_distance_configuration_receiver_gain_set(distance_configuration, distance_cfg.gain); + acc_detector_distance_configuration_maximize_signal_attenuation_set(distance_configuration, DEFAULT_FAR_MAXIMIZE_SIGNAL_ATTENUATION); // NEW ADD + acc_detector_distance_configuration_service_profile_set(distance_configuration, distance_cfg.acc_profile); + acc_detector_distance_configuration_downsampling_factor_set(distance_configuration, distance_cfg.downsampling); + acc_detector_distance_configuration_sweep_averaging_set(distance_configuration,distance_cfg.sweep_average); + acc_detector_distance_configuration_threshold_type_set(distance_configuration, ACC_DETECTOR_DISTANCE_THRESHOLD_TYPE_CFAR); + acc_detector_distance_configuration_threshold_sensitivity_set(distance_configuration, distance_cfg.threshold); + //acc_detector_distance_configuration_hw_accelerated_average_samples_set(distance_configuration, distance_cfg.hwaas); + //acc_detector_distance_configuration_threshold_type_set(distance_configuration, DEFAULT_FAR_RANGE_THRESHOLD_TYPE); //NEW ADD + acc_detector_distance_configuration_cfar_threshold_guard_set(distance_configuration, DEFAULT_FAR_RANGE_CFAR_THRESHOLD_GUARD); + acc_detector_distance_configuration_cfar_threshold_window_set(distance_configuration,DEFAULT_FAR_RANGE_CFAR_THRESHOLD_WINDOW); + acc_detector_distance_configuration_record_background_sweeps_set(distance_configuration, 16); +} + + + /* USER CODE BEGIN EF */ diff --git a/Core/Src/yunhorn_sts_process.c b/Core/Src/yunhorn_sts_process.c index ff33fdf..97c2cf5 100644 --- a/Core/Src/yunhorn_sts_process.c +++ b/Core/Src/yunhorn_sts_process.c @@ -116,7 +116,7 @@ volatile uint8_t sts_rss_result_changed_flag = 0; volatile uint8_t sts_rss_result = STS_RESULT_NO_MOTION; volatile uint8_t sts_rss_2nd_result = STS_RESULT_NO_MOTION; //2nd RSS sensor status volatile uint8_t sts_tof_result = STS_RESULT_NO_MOTION; -volatile uint8_t last_sts_rss_result=STS_RESULT_NO_MOTION; +volatile uint8_t last_sts_rss_result=STS_RESULT_MOTION; _Bool Motion_Flag = 0; //extern volatile uint8_t last_sts_reed_hall_result; @@ -355,7 +355,7 @@ void STS_YunhornSTSEventP2_Process(void) } STS_Combined_Status_Processing(); - } else APP_LOG(TS_OFF, VLEVEL_H, "\r\n RSS detection error =%d \r\n", res); + } else APP_LOG(TS_OFF, VLEVEL_M, "\r\n RSS detection error =%d \r\n", res); } } @@ -1079,7 +1079,7 @@ void STS_PRESENCE_SENSOR_Background_Measure_Process(uint16_t *bg_distance, uint1 sts_work_mode = STS_RSS_BACKGROUND_MODE; sts_lamp_bar_color = STS_BLUE; - sts_presence_rss_background_evaluation_process(&distance_center, &motion_noise); + int status=sts_presence_rss_background_evaluation_process(&distance_center, &motion_noise); APP_LOG(TS_OFF, VLEVEL_H, "\r\n Background Distance center at %d mm, and Motion Noise =%d \r\n", distance_center, motion_noise); diff --git a/LoRaWAN/App/app_lorawan.c b/LoRaWAN/App/app_lorawan.c index 8c72b4c..0317ebe 100644 --- a/LoRaWAN/App/app_lorawan.c +++ b/LoRaWAN/App/app_lorawan.c @@ -70,7 +70,7 @@ void MX_LoRaWAN_Init(void) SystemApp_Init(); /* USER CODE BEGIN MX_LoRaWAN_Init_2 */ //STS_Lamp_Bar_Self_Test_Simple(); - //STS_Lamp_Bar_Self_Test(); + STS_Lamp_Bar_Self_Test(); /* USER CODE END MX_LoRaWAN_Init_2 */ LoRaWAN_Init(); /* USER CODE BEGIN MX_LoRaWAN_Init_3 */ diff --git a/LoRaWAN/App/lora_app.c b/LoRaWAN/App/lora_app.c index b3f876b..a02a283 100644 --- a/LoRaWAN/App/lora_app.c +++ b/LoRaWAN/App/lora_app.c @@ -738,11 +738,11 @@ void STS_Sensor_Init(void) UTIL_TIMER_Create(&YunhornSTSRSSWakeUpTimer, YUNHORN_STS_RSS_WAKEUP_CHECK_TIME, UTIL_TIMER_ONESHOT, OnYunhornSTSOORSSWakeUpTimerEvent, NULL); UTIL_TIMER_Start(&YunhornSTSRSSWakeUpTimer); - UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, YUNHORN_STS_HEART_BEAT_CHECK_TIME, UTIL_TIMER_PERIODIC, OnYunhornSTSHeartBeatTimerEvent, NULL); + UTIL_TIMER_Create(&YunhornSTSHeartBeatTimer, YUNHORN_STS_HEART_BEAT_CHECK_TIME, UTIL_TIMER_ONESHOT, OnYunhornSTSHeartBeatTimerEvent, NULL); UTIL_TIMER_Start(&YunhornSTSHeartBeatTimer); UTIL_TIMER_Start(&STSLampBarColorTimer); - + UTIL_TIMER_Start(&TxTimer); //UTIL_TIMER_Start(&STSDurationCheckTimer); #else diff --git a/STM32CubeIDE/Release/STS_O7.bin b/STM32CubeIDE/Release/STS_O7.bin index ece413c22372fd18e82d45c452609815cbfc0326..35becba5ea0791eb0af3e46a658c34da0a493222 100644 GIT binary patch delta 59381 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 Ar~m)} delta 58681 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

f&gYL&MAemw8 zBRIG-3zEp=oPEJuGK?!&_{crfP^q`4c1Sf&eJ))i&{5UiLn~I{I1P%>0Z)7Dq=L~+ zVHuqX3V9Z=J(y|h5tjU`I^^-KghX=hEQ%Q%VE?g^!3;uAc0vWlez9>x5#8JlsvChr zvoK?XJRWaLOz$rn)dOs|Z|zm11@=YVZU2+5G%^k5Cl#7@&NGV?nqvs92>l_=(+JiY zbge0^s9#ZHV5qRr)pj7noL!e(6jOvn14fwD5D1;@I~q7Kr6{OQErcp#is-y_%avNR zP9Ta@>(9-!HF0PugE$PsfvHg#pXXj(+>^Y>)hr%$pH=c*f>M~jf>G>5t%niPRx30l z8B-7&+`yU@eye-nkQwlY5PIUO6q7vQw4#Vf?RUC6q{xyVzI2mEl#!cY?P(i=p-JtP z>Ly)ESWQwx&J?T;&DENjKG6*kM&C&9EbB-oDKXL+eJ7dTH&ccRUEr21kbNa;+>LM^ zVJX5Aghqrm1SJ*|Y^vf6o*tu~NZh<&8mKud_42+`ahi!Q20|kv;ych0b_OFd85@gYaAJ{Ie@kqe&scey{JTZ!}a$hqe-8DW9OrETyqC9^m6By}%{L zO6hee7g!K(1ot$CKx0~rh z-%((CFM?P@R}|6a=!r3tV(w8u1Z<4-(XxI*a4&^Pj1)py<(U!kW6ThtfD2n1G5UUQ zaoP=>M28tWL9ZdgB$Nr1%P8nXZwL{L4GX~invT)s!utM;^fm+)(&wJw3YQKU*WG)+ znSF)&56s{=(g_hFy=-qaZtF3#^~Nb?_SJZtF@@leY?7II)kjBGPzd7<#5o&oE^rr@ zb`Si;6SyZCITc5i#oNw%hM9+(81Ti-pe3O~tYfG-vqL`IG1xo=`4m4s$T7&A;m5BA zJ&TiFr#Jw22VLT5sUN&N_4|&3zUZ^t_Ox8zthGu?MT)wUl5-iGY#sA) z?nm#WrMnZ&aaJPy&ykRmh`SdLx)bm_)O1r%~S z__H(KNLS3P5WsC;o-if=*Y;kOJYqK&ZGVW+)jI|ICk7XXQ;Q~H@6i7;@zY;+=J|OX zxx?cdPO&0k>^E4l7J5D6b*GOu!{G%Eh}QWJmu8;>1W)bU&ej9qF2~b(0>8?4gOl!a^4kP9;a^c(Wev|x{>RR zF{gt2q7L{r6x;`SCGye0CnHUl|09r2LV6jl)zCZHxRGpE&?)9LlbC{TyCkKUlRHc& zkJx*eSPTiPAynwem8|SPBFycZuvEBO?whcxq$qP&|Aduj$D_fzNK96ASUFwCnzcD+ zo7DpjpTVs*?#9Y)$xW`e{j)0VGdjW0J}-k@v@hwz^FGo~uj2asE6PUEr;*jv1m^^s z4Ehk^Lw6^Cs=?h!b|+3T-JM=X7hK95wW(O|6#L=EA0zMj==iNfNREfeNI1RJW4UIG zlwH*(S42((csfPF6_yh&bAQ#1I&!q85TOiLf<@eNw*gsmckE zs}pfE{2K^qKn1iiTIn@|ufpIp)TiOHKirQ>F8i zu2zFbe1#jjs#h-EAJTOh^~F>Tbb<;%pzBC_wncXs^x+$Q;Ff?8k3ctbbR(BpGd^#8 zPO+Z)f?H1RtyMkxJmVZ?8kIveSn9(4Ne?}Mb&0uHO=sffYVQVvetUEV+P#YVWz`8A zZ35L-HpHh*qQXQ#heL5s>``w_Zp=iS*Q0~axT4`cbVz;SibBeO)F-YkNEIXXfh)qy zB*s|q3x}2rBk%7?Hfkq^2;X|NW-Yu1!5T3H2m18)l&7fc{;DWk8w^{s*fVR%qf|;p4?+k^kaYXa<4t1XNikD{6uf8X|6mGLy9@) z6Wvwo(FzOK{mCsuPr1gnmZm$!i}3d={c}Ws!_amJurs&-w(eF$X$+kKCV9os!;8&E zI0mmco%`*{!JT;5fGdwooR#On!`l8&nInI8Wn=xeULwW2txeY6OQ32G_rg>CBFsmb zUYb2>?D(Q5@0E0uJ>mo0f1m0b^^PkG1s=6xaolUCwb9xOMfQ8R@HG#Uo7|E$5m|Fx z30NoCPWvQqioe4+EYSKk$bZ1!6B;!9Youw9w3`Ms1rac#jr(}bL9&2*%9cb1SHEdf z5%NFoo#O7~Bkt4Uv0W06nEHH-=Pd=ZKWJ`mWiZ#XB!@I}^Gdoa9&?0opBKk-Zd67_w{=5FDVMbVU$zJE zR4)-X>>c?|vB~*qBdh#4J-CCFN|u;B-2=&LLjH)emhwNpwPAY23}{o>w}=I;nc?znch2~C)Fxw0PYB{%nW*$@z3 zDchu7iQ5{K@M1tC2p5Cmr336@clGF(6N!E;E_)=2i_s@HQXRqR1K=PFO`v)#^gtITTqN_p8KZjsYJeWlP@>)G6h0ydZE?#-8) z8Qe22<0fueK+3qfO|_(~ddcReSaOW}ZR>uLR=s_jf(*IhQ5#b&3L!wTHA{U4{ftYA zB%!&PNxa@{7teZ%yRpf?UQp;-sZP)h8xbr?+;^}4$fi|t$KL48Zmi^*-dNAN+}y&7 z?BI*;06Y)g>|v6#PIIFx;<)n_le69c@Ehrs^i2VVn{O7|Mc#d)TUhGv7nGOn;!E!1 zsG=HGyx1IT(F=r)&9{piWH#f$rtY*|w7I$Y+ed33k%7?wzIw)vmoB(N+xvwZWT4%R z8#T9AzH1jV-JG=D5YiRkL6!$ps;}*0n42^1&}+TW@F2@9mF@T8pp#r&(T;vYF5_XxYj|iwhP8)DsBQ)|1n~_cnU=+WJ`eRoL&6b#eKgcu6r$tj<9^E3P!>G zD9EOY7kW@NVYsAoU3RAGIM+8)Svu{(0OQ9`)iy0H(L=1m4YRyTAdXb8*SLdazm- zXWC^*{>@3RW!JlyHGa&ob6rLiGLIMZ8+QEo?ovD#7y*1?ME z8*4+q2J>4EZtYtGdtGp-F(7<(9s>A`gWBTn7aoF&sb%}reBrI0?7~XU@m3ES#qNH9 zUFG0b?l!XbIk;oHQ`j+%>g&7Jggs*CS}V)xT(xmeO85*sWB$pqMNQ6O>aMqolkMEe zJ-y@X;s|>J9-sbfi4+VF#&O{p}5cIcmL2s{Qe|J@{eS0g*4tH?6y~Beyc!Rc$ z%I+I0i6vg{vArqOKUnrn=dSII#*iobx&|kCgSSnTDfC`0abFh8Pzo!s7xvv`4?3#9 zcy}WkzNw1Q%zKy7tU%a_Q1UJ}|G;GS8y9!;_M@@Nt@g{msSo_-r6M_Cs#!XKUDUdXB`}98>P#7j?jQ zKUqESzZoQMxigR*dtF*Us+KE{4g$z`4So=tRfy0iab zPr0}+&n{vg_g0VoYAOl2a+1+J`x&E|@(K1SC%M@(8Te(lq-%I9j-7jo0cEc8`3qqg22@}4#8{WSI z4K33iLcira7e;rX($MOtWHS(NMZATZ^4-(Mf8{?6BNWe!P_qa_h3FI_a-_oB1bHB7Cs7_~4`YzXp0y^<} zZD(4(axXUVC~e`wZX~GRLmi)%aKmrt<>ZADuJA@y5QSDCw3KlBZj278LXv_sVAobs z?YQw7+gla|Y|am0bR)rb&R}>z;7bvHMmP&x)_qBf8ol;~VOhcHFhWWBD z@(71Odz#C+Wj3C}ZFw((`zE95)r!3c!bOC!x8N%gZX(PDo`&(a|49FWbeG>5%|wKf z->bj7^*zg;#ZsXyBS;p6idI?O*7gCB)kuZMYS`h?Wc;LjKUVG0|eS9TBs-y;lb)(TsM?N!(Sle zglrj^wcA-TMlq#bp;-JAs#H}QqpACq(U9NphJO>Ip|w!%d#*8>hY(5t8;rO!!fiB* zzA29dJ_PiLui7>Br}+VDGU!gLEBEq?)a0Jdv{mh$Wa2+nlLnuC);=FVhO%9#6h#Qf z5sDE`BA99~1d@NV9az;a3MPfDY!jwllwa+4A!G>KgSN0;6FyVItvblP5b#%8xTz*Smhqx7>yf9T7FeDXtezHXfg)T zm1vTRsB;YNl4$t>F{CG=DKVr!qLLWW715>`@<_ZklX@pk(lOQvG_8=+%H&rX0LRGJ z*2ct=NrYtZ^SY5EeKSD95JKp?UeWooYiOXb^!+#?wp_&HE`N*tMml6&LO zqzqowo%|Qkx$fkm>M}e{24B;IJOjw6oJe&wc_BNogtl_Bk@NG%tyC`aBl$3IL zdOTrh4R7tKZAvCVB%C5B0Y#2Px@u1?n?e>5Fk6yJY=~~A5~sh`n`z`7K(_TocNq9n zeaW}#=_nVqr}piBWTc|UZ{jeC;KbusaUEVM`4w+Y{3@ondJ4CtU&VgjTIE3UJqbFG z5{k8W^uCtAK8VD!qu17|GstQsE4)*?Hj{k71_|#d@OcD;J^Vc*NUS;=auqf4i$;)s zB%9whg5ZVz|0p!`*Veu;5^Vr%(*lepd0*v&nEUekmJuMSJb5AB)*n8S#YlB*;0@|BK%Wp*pT92zq2;C8SBlJgL%{!%O zj927wN=D1KuT+|b@lE%V-sC9Xc^Z7lQGW0=@(9~Fj9+sfK2CC!ubBp)itMk`h(5k? z7#*My#@}vf*DpOtU+Ytt+QjYl^|!R8^a;yRe!zX`%cK01`_NT#t_%P6G}zfue%pOy z9E;k1ypN>NIAppn9zLCnruo&=$?G(Zy`Kz;Z9+wieDL~_&MRuY#2kQQHBEifu-f_e zlYK;q@gebXGf95Xd60gOfT9~_k{+?=JW4%tn3Un=TCxF!8{NJK*541~kIf|g(3aX? zXOcX^26_0Av&cf)xVLAK57e}ASBLRSAA~U+<@Y{FX0?Mt9wM*H>C40T0}qkH7+NPj zz@dXboZw3vd}+S#!=&dF3S#N|+Ez-yH26q#9mtg((wYuw?VU6&Uu^J~=eIqKk&v;k z_Tz_12#LKm2B%23v?WUqDssPijtu&0Z3#NSI^o(F{?|uH6pL7$PkQ&Jbj>3$!C-3v z4jQaT^Xcl8!qNXreQADbK8EF2Zhl`r(FgrehW{>~9P{PTp5_t!jsmi_Pd7I`+t=a% z`0}woXklNuOhQCH4sTF{(tzIMClKdT4FkElk6%5TG{ryTJkl&+$WYW|gxg5xAvRG`1WagiU}@Ug?Q<}%u^;Z{4?jwB zX{>$>cJ<-z+JTReaKfHU;*E2OUOfY4&hO?I%_Re)&O-uBGkHJFE1$4)K5YzoaW{W( zF6q&o;#BZwo$8{E)(Pvf$mv=0q-HuPG7U5Mn{zQ3K$>D9)7x2YuweAe;P+Y}#|-`> z3t6n9OlI)I=8^uCc>X-H)(5J+IgfNA>?lvIXFjIy@G%&dMuY_j)*4f5*;qbnAt?`j zkolmMVa6?xAx#TOVM<4csdY!z@iqlPVDaQe7T<~sriZF!`lXMPMW&AQl(xqX^hmGr z3CWkUTmOs;^W$Rwgfq2%lEo)4A}?q=mN2y*%Hls>MAH8XRWBw(djd@bQ(UHmGOnU7s0c-Omd7_8I&C%nb(-cdP3aD_Qg>{yVbx z=a!S+kt^!&E=?85Po|inzr)C7R{b63_!5%%*E(+hEi`#4N%<>n;ZoB3uh8h;TuS8ct%Yr4mr@SDc8mS*kgsIfKmJ| z#Mi~0{@iXq#TL7^p4u*%!hiV`S>8cQfZVf&%7e3v!&+CZhE{LAY|R^&Kb*Hf1l8(YNJyuoh_L;ReFzqXE~ zg(m=GFlGa?60euFhzmS?@AX6<83?$}xE+uOy}?`K5l{B;53VQC+FS4^Cgdkz1KA>u z^ziG~ld0Md0G*6{ls5;zojiQgdeTq3(+?H#X@M5;XE&etG)dDw?T22FpMmc4sddmPosKa29TcdO@4SKN|F5+6z=pe~PXE{` z+i=&E{0Fp06f1N;^yiMl#E%lX$j^`b6XvJC!{k5nceT9o%->1$*)t^W?or?R46*)c zd_s<;rFX5R{F28$OM399ONsig1t==2qyYQu4okT|igjF>_@Vbai_O5@!@c7YGI|1i z*{P(;)cX1qe)F>=b$sjV^5|#d^Aajb7+l|~$Y<`-$Lq5HndKiC_~ZrVuMKzk1F#Bu zj-*G%xm(06PYGtc0kE?!$c^yu_dJI;o5%ZSi5Ag?n^l-ImjLHXd9F{Xew|8)bm|ID z?oTd-P*eHM;MDJr2KZ|4+M)IbrO-dsUMoFEB1s4By$-K(WGWxGk=zp`$xgaO%y#h0 zHxgY358|Wh;Kt~p+4$F~$0x#-JDwp?P%wdIbkb`PPdYXD@P-aKMuQI^1_kp0H-eZ> zWrorgai1e-Yk*OCBdF66iPdVLk~bY{n_oM>+UZ#Q9dlHRc-`J2e&KpYVwvD_=7vdS zLE$oo@`g!SP^vc4g3sc~V>(toEqHH+mb-x2v<2_Zv|!fFFRlcAkz>1`cG(@;qcZIY znf4H9H@hl|`*kX3o^25e97iOL*2jF-odUb$0`JHLDo|jpi$DH6Nwy7h43na@_-ZIB z9fUj7$+*_of{%+#!S7I9L__tUe!xZg^^u~Pp{MaFm`+2bZcK|9hmzg=C8O??#GCyn z6DyaTg_5IOEJ}7`Vo{P+4wWKN(rX_kMfys17wvYs>Y}>Jl8d@!y^Tguor_=p0?Eoe z?xgSM&IH97M~f&r>1(-oZ+XgLTyBnTV0yKPVUBp?4|p5B1z!%JboHS7$yw`pfgB=m zaJ6M*w4(Lg6kaMLX?`mi8Q&Eb#upqrum*GZj~53hqqirq*+l0cS49tMEl0pA#>aTNP-*g|+=T`1n!j9SyvX9NnPGZI|1@%=<$> z%mN%WV-nb^gw)FTq7r;)>ZX@X*2aB>7Twtc-b-h zWYpw;MwR|E>i9pSq<==GzxIz}SpFGR@z1F9|BTY||5%slpHapCj5_qUD9KoB zlnEXW)m!C7NZ4i)({-EAK#Mfhmo1a43oI#p;?8HczRr)`OnODr(swVBu>u88e$D2N z=M8c#I3RItCeht|qcOi4_xUY3ZPyAuYdb!+G%N8;cI!62{}!C6zs{St5PZh=A9$Nu z`xo-BZRxn=@V9~=y$$>Pt6NCyA6jci;ZqMCb^+~Bxj_Ebzbo+EKNtA^Zwsim{X-2I zf0btKKhehWUvDE(e=Q&j8u>bz@mJK7uao6}fxh+zG5rO|&v=7m!GCXggT(j#vwE4N z@(Gn|Ec-1M&Hiha8FkBi9r@!MBt6|0Pi<_xe_9`NWX@%#SK(zJMMunx%m4C~%BmoS zJC>6S%dsBGx1=QNWXsu9LHhnp@A}xuz58PY`H*bmcW)=De{IB%+sT+g{>@+KJKI3b zoz&lM4bkEJv>hb#uk5z&=(x~qH;nIhkmx^Ls~<|6ionuChGLwKR@JP>>d;)s$L+*G zZPY1m>Qu+u2=ickZtJiJK6@v*&fYhcPv1ob2Dz|V&>5S>$zFcpE)w0r1Dgx@vR!1! zh}IQYJrcsaG|xEDXvTM#e#K%Vr)`CSvi!6~8Nl?%OqUdLnMt~Pj|m1N-^708&Y*5J z7hru@$j^V1Z2c1yE9F9aJlxFc> zZ`FSKfwyLHxR*b^n?$9R;e;a@?V$Itl|tV-5AFjp$(Yjbnw6-W4;J!lB^k*+=H?BR zq=>z(-J9lex4wudbDua+k)Xs5O=ZSPb(hl1CpWzg}OP>5IR9QvVD4WG`c76j=L3VE+ zoF+AkyB&PUeq1$s(Gk6$(S6c(+*(zy!!o*Aye8$eZXuty<%Ow`yCRud9~*F@O*6Jh z{0e28#q&~b+YaoRQVN>z;XexbuS6}hNj%}DuSx>ZmYK=EGiPgYS zeg%#hb@YVm^R}EN7^(_!l7oMn3eqg@xU1qV9V&iauIA+q6|a{e&-yEVO0IbAor=BU zK^$Syk47!TfkiT^O}0~^@M?p+*`o>wywh;Ji)x%?lgC(~!&*l-QnVeR_`-2#JQiprZP!rA2Iy;`zw#l{q}H_sC)(1X zqhvoU4ULI~mNx^|127wvQZE_XhA%nM_8owce!^(z!8GObwlJtW$PWvV%xx>jo@mPh zjPb*iV7LeszYSO${9rPa?(q6L=2s8xf?M7y918~12FdED;y#0~xXRscL;ok^HQ6S7 zD4I!A8k0_sZDYuZ)>G)ECh;4up|zsm^R|QWP54d?b+S!(yC=8pEu3GbK-gn`*axU^ z%-AOJpg(`uFTg%eReifv(X#uze^^z8OxwFj+y#d1hV`1C!Dc^$7d%un&dWDdlU!wP z+wFWl<2|xmPSyVBJyNBa^R0sz?~{TU)r}wxq_iuCjz{kO{}L4Z)Y0iiP~c2S8OLJN z7zW58J3gxtoQ^$QlX%#Hw~n>#n0M@El*`2Kwn^OUI4=d?!MtwgkJppo+ET}TQsN!x zDmx!^jOewC0ZqCC&A0O-kHND}yNh-sNbqd=5;eG3ebUe4&dU-asQB-lVUfi%9uWkaHu43n?<86yVe6Hhi_C` zdT7fmc?PMyVLJHah zD+g78u~GDRgEvuSP=jG0TBq`1fZp`#1ZHdi8rmksBY(q7mGnbPXVNqiUt+=w)gXTr zlB+?|C@H}3N91%M{l=RJhQUlAzNgkCeoH^AgV;t}30iouwtg7Lb1;BDl~|Pf*kA6j zx3=_sGKZb^G(P1u8H@&bON?FcwR9ib^zDbynGR7GsG>Up}7a;>* zn54=ZfbG7es!=TTs6a#2+9-y5dBcaqz}mh1+7HPw%}bu3O^xD@9^Uj3>8DwWaodRR zaq??Ef+^~-P z;X2Q#?2d4)oBy7|13e=FZyzF!qTR&@eL{AzyIg$LCuC{%ayM<)JXgR?rAB2ezm`Q{ z2LZ4NL!pOVCox7=h?l-v)EVuhQ}_>>rI?>m2xPM2M1VPYD^k6g6g!_Em( zA~Rh|HK>f=L5Eb%ea;;G*0^Z;Z5$ka1~}E)4rlbHu~I6NQGU8b(dD}qg%U8l>!2@J zqYt;aqVT)fMF(P|_=58@Xjlga+bEXd8(ap&nF&Cu${X=@+;+=r#1U5)6te+CEp{26 zN_|EiW5+o8HJ=e3+t0~Yd`3)>flhrHzPaDm)L_Xf&Zfe==j2_Vk#FwVif2uY;!6(A z4V8Mjq)eM3skBO?7O)p_ywxbKcl;~ne!!Q^^g-9l&{dArF;f9u<%h14q3|)fFG!l^ z5t-*S2S4o#lBmg%bE6%6@fSp=q0hD&@obB){DMrL9OxWi@%d47x_y{2J-<=(I+o0A zhy4babxI@78K=Y3wL`B0YLpGN#gVXyH7=P!eRQLE-p-p&k;L%-I^teujnkz*IJBhj zdON@76w!qr{1beaov%7YGNy8v38?m-wp;V9Glv?nQERRZd zU84HeAoYtMaz&yV@xgxb!@dP9$Pc^Vhn!d4t12jXo{ z{EtqJ;v)N!nd$i&%!!ToHZzsfI>nbOun(9?`_7kpz|PM&jf+lgcE0p9_7^{*M`-+| zoj-q?ls(oco|by=CC18`svBy}Rq=gq<&>{mi0Z0^4zUj;J$fIv1cM&HtVsL%s#x{^ zb@ncBQ5J33`18!Oz>0`Kh(x4-NT6s)XlSH>xPX$PnQ8GBD4GW{FgsI=W(Unm%N#3T zGc(@~R_LptscA`N<^dItVXj4atkwK`<38XX~A*ErgG=~|sP^L+=@K_S0mn^w$cZ9VlCNPDE2 zcRQ$t2mh`=BIk35JKuHW^XcD`zHgFc^k5c|Z!ntA0xbz+9CITDi2 zGmS+8NLQ*Xq^6<;NyI{g9fG^|`Qp z&~)?L$icWFb+f;i8h)Q6A|N4y@~~E4A?R-kIs?7%i;vpTUla7_o4Eaunm04Ad8{L# zyEmGaT76t|Kl~rjl<7$EJC58UZE~6mrg{l#CI-)l7pSpV&F@QUvY_?>HCRxS zr`BQ<=xIrf6Vz@^d`GpKjP<~K9I=R779?mw8;6Vg9meX`-%XVAZpt}yW3~D(`1U-E zv_I-WIUp$CyLjJux)asw2hpW|BHu9~< z)$rWch1*i$_DZ8QA3b6DozudXVJxx? za7=IHu_rLGo!%H{y6NAwdX|&2{LV%`_XHZlTcm3r;TqM*H<7EKbPW=&K8^gZ6YA9D zr8ws~-2Q3APWvbMB;!T&mb5)3-b70$URBnqN%c zphZ^*IxfaNwR)8h^fCldH4~{W1icJ7;jMC>YL!!Tm7GxFYpsy8D?dQ#JEU&r7ss)j zM#A22;JZ(%G3Hu*F22>~n2Z;E6t7s5BVfcGRo=@T-BzZ19mEI*uRPT1kJisY|L+%0 z?aT}uKimYW$>F!va4=yi71l{`L$4Grs#d)>+S4byy$lZHa>K!5kr!j?4d5`~#gkfG zBk(-F4onV1-b?A*IvgyYIsuO8&Y%1RwWt=y73Y|IFU<2Mb_%d(J^vh(fLeSYm6`5C z?Mj6!b?LvTA%+ED;Nikr{epwXoKpM3ROR5~PpRFepo??N#b>EsI5o1H@rhOr z)rUF!pja%r)>?FFKA;=JlVSeYL8=!+^={_!}B(+TwkjPKn5-P*6KImbZIiivM8YSwYX1_=l!Zq zi?OXQ#ypm?H&U^7z@&xSHmYuZiDFezfaaDj#4=wVzwoPiBXcSh-oIhftjB!Sj*={U zOc2li-E+~wCS4aGp+~5*jr6H{I@1 zO~IB1-R3H5x2Pneo^nPFjXB^f+g7$QK=>}()}SA9(dz1z;qj->sL_dEx|GOD+lIj3 z^pBmt>8~`eMu-9M^NE-oZogzH!>BrQy(ovB^;{`w$&S>s*W+JsP5$!h@;97qx6~)~ z2|uUyx^@;!KX)yDWOSFCrcuJIcV07LkVnD1>fE)m+jRs2?|C)$+8R84UJbsQ zf5mz9Xje%gz4*EFYR9WdLZi?N*U~8Y0_yBlvY=52FS~H961d`;9;z;2SJhQw{4QQ6 zx*|pVter_|Izv`P!e?&X%sc z<~owP@Swl0Q-nkK$iLKpYsI(=pL=~zUth;lS6=tm^$QSKS?$_=3T4gkdRi|kYqwq`g`((2TwQv0Sg%_&vB~C| zrKbxYeCfIw@bsl?XFyk8e(74O@4IxZWI=Nj!n@h7BMJp^yeNqGI<8+3U$$LO`>$=+ z)xP06L3ZJN|GAc)Q~y!>Uc0z`_0M&hwP0@j=UV-jU!59_Rpx$mYA>_xkmz_%omH*7 zwXNTLuVmSd3YTwiMM!pY?mDdc%9gvWM_QJN3mg6itvKpN?0*k|%LaX2>MXJ&&_;12QtKjE_ zX^CS>K)-crT!#Z$wmPw#XS9$6ioRyaw2w$5(-Oys{3VW@hz*VhQoR>bp72DwnlBeW z>Cg=-pUvL7TzWt9uW!?i|6Ze~ue7UCN$neVf7X)N{VW^M=Xdp3)|9gCxr~SDYIxhK zyC@g)T79;7I{cQc1Oq4s_{@8gbam{zMSp z-H}BZhudR|Q|(@Xysje~+jjK9{zPDw{dLd$#7@+nWqmAZHe;&rJ`XzLsV|0h9w zlOH?F4u$YlomeXSBZSv>VhOA{gopUE!K`ZxALq}$L^k9+$^$yHu(mP?|CEd~C}t=* zuUS0GJ7|1NXZBI6zYrcAz=cpJ@s9|Bip#8D;y>M;@-Y5WxDYEGvpf1u-gRQ;YeOAeQTqJXw)h_Pi+meGrRg z#%6voh=rO@>&y{pvgpm2PqXMwywaJBy&b1<_W+(Lz&=sh^-+3n=yqC9wdl1?r*RYg z9FwlA;_2G4^+WB+Sf5WY?X>+KXwhq$N!D@5x(j$1JPAVDOh^+lu!~|KC_5l$738Gy z=Wk#=2DBCAtVl|n&i0Fm3`P0l3x*Dz8|K$-NDn;Gk|v23 zm~!?#t$*b}dzl4&jKghPBDp1)g`0hvY2M7DS0HLSjyieM`@N2SaA^>ee-`}{_&=>L zb_}&`dupf6djds#o>j@9DPjw5Cp)d5aRe;Vbtm5ZF<3{5#IKQl7YeC=;{`;6HC;&E zFDYgrb&479mUxQWgbT8C{iqPtONgqF9v%{+b_-EA3sGo#*oU zz?BR|=eyEvN?N6THgfe<l#;YAMrmo$AIBQG z58Pu!K%Ec}(k}w(sDy4WgSur+DJ+9fa)Z&U#6V<5D?U+J$)}qB^db3iAvh_G=+_g!J1elz)K4TGt7wgC*rJObno+;R-mi&wo_L{Xn ziPgWAlvzT`ge%njw9$g|k5rb;yM(x#gt(8Sr}0AE7F@rk;R#R5o_8f>gbv7>hJ0-F|9w}9#E&6U(=l51_$;Gnz zUPr`Ai@p!p;J?hGe~m?L3dM*BP{I6C+P}tw*`;V$ni?#+#Z`W(c}U(#gK3n#xfn-G zR(5`GUV8h{4s{Q+Z%(9gj~~0+;=jz$=%rY&`c22cET{!M>n1kQV*o{7mbCh4x8+jw zHg_jh9Jz@#sTis(EE#TJIg8ia%+8ymaCE~DntxwU6>5J2-kUAkg#~uwvR#eGTG#e)`H30NYg3w*cR+%qBCp78-sBtxwpx#9}|V~5%d~c>iIi8 zSeAKV(_FZJic+Cjn;dgY!OKoz_Zf{5Xnb%AuZfo-htnXBo{KxBmo{hP|5G?SOgl;~ zdXOA-BzTNEPU!^*duaU}NPZ5jv4+P14ai24l83hXls=)EG#rPgQQ&;iky}Qh{uCV? zhAm>qaS9!qMUSlKbEBEbBf91Ncy%=E)%N9MFYia?rn7x&5RE`S!6NYPVL|OiALaeT z=p&&g>pQV!oI!6GpVFT}OKR8u5S_(9%u=Vq?ct_5$YhGTZ4(=O-D*Rl0O&OfrOPj zw~BrtHkRqU6nN@g++1D(pE&2Sg)n|h6*+=?3DH1Fd%@VV|iJ+(p zJ*9UOk-bUs`~>OdQ~G+3E}LRtKn(mGr}T341eDGVt^MpNy~%|io-Fo8@uO6->z$D& z3{O+I52>Hh|3tfZ3U9i(dsFww<&^%b=uJ=QZ-@vzg%Ew0(b#VXfAAJ|lX;i$^quH> zPU(-Kl%o!y?PAv6t?~O(@cdWuOcH{IUy(A)olvXU8;QSJ`1Wh{&4uqJ(szbPo&TWQ zW7dWyAG1uJ7hF`1=1L~C{z&{AuSlI4cx~9OFA(BSqSCla$W$SIvh>+Sh<{Ru{|S+C zC;m7g{cg#l3F+rWw~*o<#!}*^AO;!Dr}VSv7bx))JraKa5`O^l(g(wv@_x!9FEPyF zsqrkFSH-e0k2;eJuN$GG9mmxue;$PvBf5VmP%zNmysLr5a zX=+zza^g^D_6ff~K}D)F&tRx**MC9R!mRyTQ)H`?%E4yIgV)%Qmbp#Wt}`ndPw8u# zsLpH=Qv6$`ye*_Gl~PP1q>s&l$%(S%$PB!aq0By3xqdAO0XZK3das@3Oo z;qxKslP<-z<1$x@$lg|-@q*_b$>Rm-s52L_(&Aa`2O|ciCX{>hgOtumt=;)4JsDY= zj2(egXDF5IdN#%h%(@&wxZAH=L=e#;FDOzp+CQa-!~{}zJgU7`As2B_ttI`a<}{g{;!*8>omsoKDz{1~_n!1QN{C-C zc)VJ9773nLCC{BgdbE(9(w4W6BL>f*ZbX5N62GXSWl(wwPiNwX7C4*xGfr3Bzx4HVH8*iaZzPJ2wLTY6nYtN~*RX1xp5 zEmrtDCO8k%SOgz$l$oT}ULozd#-A_}q3T&8{MKOf!mPKVlDfnEs*hl+5T0ol;Yr8% zGIx3SOo)A;5qnUuh1jT^!V_~9m3^2mW67z!>Q+{k&@#c~OA|~xvh2yCvkSoNRd18B z6tk4*nqErpc-%dql$=&kmVkLAT%h!7KX&sCnQ1!|>Y`I^cL&+^o{kKgfp6=_?hjOg zzr`8Kh$mH)d7ASx@VG=wi5U5ViEM;w;GZV42>`F#SZ|LJKxP_Gxs4@xi~uszvh3s1 zTSkv`z;fc5EPJMyeH~R-Thf3nUu5U2Ze!^l+2i)d>u$pZct+kmiM@`{zDQy>!?rhx zZGmlmfA*-H-@*|SJEDS!+^`By5tx*on=;$3A2JClj~T$$knaI34!-pPj00Z3oo$vQ zJvs}Mg)R7eTrw+^k-`}ia``@)t-X?~Y#>XBcMnD3Q@vZ6O=-G-*roCXq4!r z?XWTY^Ar{>Q_Stke@S6qr@N0Q=gjCBi5F>9H}{2fe5l{u5)+_?2|}b-+YK@8^!?>d zmKW@nGg5}+QghlNgRMj#Crt}_oV3?Hr z`WViJuvjd?^d7=8$57-BczRx<#8@)>=0{Qzhyy|gP-N1vUi48}mc5xGrFF1m*~2E0 z$zX~4fLQ`RP%K?Pa7TUJ7+yJqIXvnMGHO>UYq{3Jtp>NIwk9Uc&w(c*jlI#geP&XW z{M=a+ZOIgu6|`z3{8-Z1zIKJU;;VF)s`~$;-+^zClX_{>FZ#Ut3S$QArS)Hi5#2}F zYI;(CQ;bzk>b$9w^(nNym9~|EC-oYaN|)t4uPF4~*bC+Aq6}LA?>wB{%9m!cr{mnZ zWzK+W0NM>jo0?^hEy%L(8^c8Lg0^fEPH_uA-7CgtvFFr*Z4tWK8%2*iu?Q~;cvL=} zOGm(Ts9Xs7?Ef)LZou_=xZbVj2=>DNpP=WIKi?8`9QV76<^I2g--Ca27c1}oe-~wu z)`+tEG`t^wbtJo~U0tT6ji1QB8p*4Qv`7>l}g+ynXgpoQ;x$!*Ix-2AUZLBY^~GE0_JsCsKX1L-?GAdiG1(aV z8lRTSZqLoIe>RcD?XWWzy4@=-;6R4GQ^B{W$V|3CBGz)3((sw*d4>MYOZ8ln$ZB`32?1u~7 zA^wRF-+Gkq8_oI#yN`Y6uB+4MI+EAXG4b^UJYWn92_+NdQm0jP{Jd~lN(*)H7*@m_ zqxsq~ES)*>xK-eoiln<)xN1I$U0*Z_RD;p^NjAV$m@8V%p$=1LOvm ze&nL#>;Imrq4u-tPqzC<$C_%eeHyzt(Kf7ztif6)+Bpu1Jd^F5$p1 z`{F=~OPIwgE)KQ{D%oy;EebYO(EKdMxSL=*9Z59Yw;UG?TcohfnKaCnE#yI|iAb@l z>PPz;5mmxNC$Om=ibq|gc!jfl>cG$E6WElnTQFz&0E+7q_+W?#uF<>W%PbkW`cNb9 zdmjr8^Oy7oB;8xmM>g{O`&dYrz0vL8B#do|I}dT zZgGD1hF7dL`gf9}3phrd@10sBKYwa;Lt_GX7J%o!l1CFfy}&~Ui>UP38n7?buY1FM z>qj^oRf8`Iw?2R2qj1#uxK3bwOR}D9s7Sw`?PlG2H;l4QL7bmy__CgfOLS`VNaVA=_Z!2PKgg0i3Q^Kkh3NJ6 zw|d%>L>0^N8)hG!Kg>S4V3;wAi_k)+ha__?EQ;*c|P;FKE|FVbm)N57_D?4Y8^yV6OdNIeG6D| z+b&Yc9RluU;^MNEqG8zNXkYZ*GDAF?j{jW6!S@xgviM>45$|E z8e*>Cr_uW zGZs{S#(|{|9T|$r_9~SMg_{2a(??e{{~rnE3?g4w^EV%2Lp?IxO>Cd(HhsYr4Rs3_ zB`Eb5HvOrqI4IMnbL#|V;LE16qH$UFkBX5I%CnKWe$GilMn99u_N-``O}34bkjka# z$NZtVhM(VSXMF=qwtqv}mVRuw^QTK`rj`8$8=`Fch?Uy z*ecCdnZ=8W*iD-4SP5TH#P+aEg^z!jO_3|Q^oe<yTUiozLB&ZrvoGK0qd3C(RS>y5w=QGy8Unl&zi{wg=M06X-c-K zNgwLy9+3`(K_3cwCSN|2)p*|&kZsFU`E!r3+>q7*(T*Sf=^WsWLR=89eT2mpx@j#D z+t8|b`}95|a)EA>S%x8Qdq1{TKT5<16Mby8CL~K#aizDHO@-P+PJ z)%IjDeRAeHViMfk9|!Sw9%XrQq)2ljS-1^MS&TK#lD*h1PFy@_HcOT{Vwz!y08gs2 zNQn@%{Mjrc)Ez<_ZJ6zzTtVFmDoU#Q80*3yDD*LAl9M`_Qr$13_{_&x7*Q8I#*PHL zMPLV$%*{?$JyZ4_E`iM@B|B&iXJe1Wy+ipu)-~4MIujs zg2lF@1-8-3o?sE}C9Q>|#Fj$gmSMwt-jtE}G0Mo3=X{qM-~04}ui9aGYlbvD!NPLd z`_r+W=jm_S@0axHE*9Id^+R%~NDDXD+*LxhBX*JTJ(0!vPqKKA;_-$kOcSnIJdlPP zo@BA+?O4UomYvYIIJ2=_dID=uH1&Ey|1XAgesKQ+>l1Tf*D!w(0lbXKe*@eL ze9!qjTKNf}*yP0P32aZG;n@lO6oz4!u(yQ8_C7?*3nz4X120!_{|uf4(}~;ky^W|* z;tOx&44R}JWu2RL0u%L-V1E|vTIuK$`nJXs`gcw4r2Qs{zxEUhmA#h|nK7f%_B1}Q zPT&AX8vfrW{k#J|tE8WkLA?4Ywy$-LFx$4JpSWUg{nISPBQv-3;|))iQWp6cX)aDXpU{Wk zHQ=A@OOYCHz*L5WtF(o{_IyK{$SQNg3BAD8>Cy@{($Q7Ht^K!tabWMcz{%ORWBqw( zDVuFNgZ&I{34<^U4n%hKg`WV|O55=?`l!5Z;^Oqr9GjHjgO~I;-0ZW%`es>M`$nmh zZOcpN2TQSY@V^b;{qs`V?T$ckt>X#YiKAeEN7^;OM9VLGgmxFO@_#}-{5&?5LL=8{S2a*ceXDN>Vf?gO4+8&mK05cJ-G~Nh6`@yW*~(Oo$ZSPBKb4V zvQgvPY742hI^8V>OsHj-aFE{++gvx`iWmWE+3r*_@+fO7 zqMl;`YS5B;6*rSt+8hxl^mmX_I~sY0nXL~k>aQXvO{N_CR@!QZE4A=U3iU<)Wo&@| z;Y?+b8j)cy>IeEzKBkO)&c12jYz`aTuEb^AW{%;xb38VKx>I=D7`}84s$xtJC8+NCG+GMe&0M6 z-sUc4E*!&Op2x;rp{6~Z|22<=#_S)U-igHaHrMs~RO$JoMTstL*WHp}XKvu!u!@LeykXm8^GGm+a~VDYk_ zXepVVBdyyoxOm><8^;|^+?a~o7um74EzsGv^94NVW%hW2yE2fd^B9$CDy>an{o<`n znM!oqtbc}}XWO({{KU(60kP1TW8a&$)4pf)ah(66^75a?|9U zA}WayrenCL@3=mweuS-S$@AE!J-US465y6lpJQ7)x(sgr!DPWPY}h@n$JF!6C9EeN zPMF3oE8c5(oRt~ZJeaNh}xZ$57}zAJw1w|NAmD^R3_XL$erBOTYU~>+rOY;KWG&B>6Yx9 z?A}3b4iia`@Q`ia9>j|{>*h^DF%nsa~cB~6mv2btM$$pMOZHu{j6`LjHQ9OI&4%dex z`M3{Q%K;a6%=q#T*pmTyUX0F-c=;Tff%tamR}sCM%~V;JetgM?EGn!^KT6S2V#xfL z{y`IqZDHh9AF{7P-1Hu@SQssCA$;W;b|Ne(6n>4g)u+Rfj!REE63Ta9R*Hw(f(!VP z|9C7k)?#k`h(+Di(n1J&yU+5W=q#E}E74tk zZ5ixPc_1kni4+6;WDzv{szfv5;tzhzLOMd55%#1T#Fuv2$1K^K{A?V9yC~W85HepL z)7B9$%cKoUeDEjiYctW3Ci;2|q?9F_uu^^$S370f-@)F=w@Z%db;A6U{l*f!*R21J z{T_c|Bab2W&O?W>vOxPMk78@R5(~M*3u{|j@%Euqs~ z$x-Z|ZwsBD|CEK@{)`A|E;h;>)q7%`OaVRO5zwOu=usKaJ!9Gex??T&Xjt(SNlRpe zxI1n~mvK}dEEGSDjvxWH-X7v^g}7T?_+TzZ!!NSz>vZFLZry)a%d$9|3Y#jr=5{JGCqXc9IP z#ikxe#y;MoxMbzn7P?&Ps9xYKr`H0!41K9e_#Jv=1}?8a>mF!Iuoz%ni5i5<`LkGZSzLhtl&d zd(zM~=`U|rdn(vRJKB^^eTt^O#jLz(P5Q6LN7%CHgH9oC;^nVxV&h2uADh@9@5|03 z`ei%}vY8e6AI?F$7CFqmC{XaN+{}u@H^jm(H69)JI`S4N+fOWH4;AuS2gl3afH8Y5{xIh77n`!a<(TcOT?Ak@Ai`i)qsJfd$EweN`T z?IFMy0(@P@MFFULI}7N1%Wzu=<9^%N18kSVi?(5ivyi{Jjm33cI2*OXfLkVq7$WYm z_(Uj+!Xl6={LnUb>#!DLz!0y9M9ZIgX@e4*)jCa^Im09QP@#4fxVHm+ylPWse<7;7 z5S95g>w(~Ae9dl49DoHT^XMabulle>H!M?P$D54XvrJ(ts?I5y38=V7^qq}LthsLS z=X9^g5go%{yj~vGdK%~IOiKXQd+>u4YM0>d#@1kpk&P{q8lQGE*Z5&f5X{2J-<=bZ(^Z6C0}cNq_QPmCt`wC(JMwmB3q@Rzrt^vC+pj9Sy=UK@gq`BS*8BhL( zbqjLWhFeV-eG7M=AU^dQ*78P~o13rwhP6D$(&9fWh+DpC9Xq$U&JW^#-?H$Oc6F>> z&wRg0iP@C7#j^LD;Xd@T!+kK*!F*pmn`S^&ej>-VA%+)z%U+fPmKM3YgShis_CSlesh@K>Q54U#_xp+6z=M8bA%Z?4o%j8T#S8OO={)}@c2=0zr1Oz`FyBD_eoE(0 z?qLbSd?uZLzDM%IZ1FG$?QL_<@Gw8_VgAU&d}1$~B4loh;--BpN|=2U`OFq`??k>7 zW~2oFY9Gevq|2~GTJ&t-1ays z;t#VVp(WsY+?`JKFa>f?49=JLOL+KIIS8tukq3oEW&)d^G|(aVn^jc#P4_0Ks7cb)5_&16riB2At%L*NQm@s?y*7JzIOGa1!-Z9}#Gy(>fM zV>cCnBc+hHPx5>V9y(qUZXxNfK*l$c zvJn&xilMO^&iGo(3f{j^rc~?qK}fL_vKlNey7;D_+4%H0%;rZR@Sd20h{eICYCYDu z8FBD76;@GP601hp!U}fc%Ju}%9zYsY>ysLhnwV_bSW=A%6h5YgjWqWWltiQ-(iP#9 zL8TrTM2xB{OI>*(6B<;BZ4d^l1yjk@*my@_g+Z%h^>Hx$*!U-|LmOp(9@h`ADyYVw z<44TAZGi^iRXMi53-;J<2qXUT~kjPis)e+Ls>kKvTq#b$s($; zg?yCtJp{M{iMGN?3f)>o?;0tQ)i^LpEuj)a>jBlcYt_v;zoA;w=R0}RNjA<*FF94~ zNeGM~Fe=Jf*uX`TPt}-oA|+!$s}sF*HKs~v(jC!2|4xeZBSr3UE7DhrPlO_gPRbkO zc5L>1X^vPfuGWvi4^8dS7W-m&fDIut8mH?@F$Y)OM!M zz-Im~w%_AB_zt|0@X#5t zW486#LDFKV`1+#v&FH%;!t`e(o-}v1jCtI8-qX#kXTq2Y!+Dl#3@rDdN2gU&=v39( z8;^XK^T{?gR1M}I+gS6Bp=o&XIZLtnZCAGErMt~OWai)e!yaRMTs*msC9^MZPiGzb z#BflLujdh$+2DxjXg{#bsJ=a7l(jkWpq}AM*rG%!JyNmoc2K_!*J590IV{OlvF9>N zP}ww;Iy*ZU)NhSu?1SGx{QBb;{7S{II`dZ9qm32k9c+O*?mL|skK=dG6~Ak_9d$6H zhTmfRTKMawncQ34-gZ>%ZouueY?6xyIoUYxI}!BAH5D_RY`WTMHBx9=12b*_mh<0T z?EbjI4Yw&o6lSA}D z|A&A=t`dSr!||pWm91x0?GFF(XYkIo{Nt&y1n5c>2`l3Gj&7<5C_-yKqso&q(u3clpb!^t*+E{$#AV{h%)sC ze&XV#1}&8R$HkW#G^|)O@CYw$S5y)5`g!~m#cG}k?D7f~JF+{5JXxz5e_q3Vy|q*} zuaW0?YoXy!H10j;t;SkdjP1;6ALHSZ=K|EjLgQ52tL?4Dvfg+W!&~dcUcx-Qx7O_e zuLknrbE!F59gv5Z9MIpWKY7j@adgyA9-%}X&|oY21|G;fD`KVk*_cB5&YMH=-8%vK_*^kvO% z_pjleYTZz_CVfa<@fVZ=zCz>FdgBNRM~QNWliazUqF#yXRwyZRYxxSJ78Y|rkAi!E zdc%?yg?6JiKcIi+q0oe8{)oq!%633cx9pgjoMkhFb%ShIO`ASWf(ym&?h;_^#DB|APbi9 zQi7rCHoZeL(qn}2-)k=T8a_-X;%x`2@N@^UyUSfF-rj8!8Q91_@1TtgfM5r;cy69w z8*sCaw%XwRGm6-QYxtM`+8b&p&+e=}<4q;-;u^lYvo^TJ>>r@LC|KeCPJs5cG*>(j zs0~(I2&;m$Pkb|wu2R6b8?=KhjD3T(ajlFCx@e!Y5C(;4Q&jeDGhfwJdyU=Q%vXkK zA$~oxUUkF4rC)n8)9{x?*d57nYoR@lS?!r(Q$iM&QI zybSwon6~sP51m6Qrr)H+sA#(uhii}cQ%92rVbe%(Dfhow`vauQH)}`JOPf8LFJ-&C z0c&e`4(P@0IEZfC=pCV0lN@Tq0o+T&{kv;3$5If~@VOhtKs1d9^xxXGMsC>$^dnz8 zHhP;nn-uF&MH>FXU) zJ+ypuY`CE&d7F23Ec^vE^5_UHHl$}`@n$750xqmEYn|J4u7OXC&|(rtlxoK0ja~>f z8DmG<*;0kws8hjDrmBWi$e!eg?4d+z`9`>$tmj`vpy{b>;7-V9iyL@Mq?S9N(n-aT zG~ADiA1EGV-gegUx)SGC6KPe_+0e^X^Vc!Z?daG#0;^qoZKPHkWNxTFr+i9owDV;@ zE*{{kqO^pW`B%7?HASrZG~Bpdy`A;{^~{X$9#+-smowBz=Ki4>v+%=P9_i~ZHIJgl zpftqB_mB#Cj%J#4+pk~5Non^(&PuO_DkawY1W`}n`?^Yh2e;Vv(8hLK2U{xa57y_d z!)5hT2Ta|se+;(-xQ(di>w9Ruyz>y!_&@lsJ+ye=Z|f;%_Uq^@LZh`L-w&i6OS0pl zwP?1mo|i^zQGWaNrzB;Ii+>WWm9q0L9@|q3XFt2Rsi&4}E_aO^aX0p9y=YZ6FVhFO z(0(9tW54(`i4^*O+%ziN8!jI?>%zrQCKInI_m++sC zuhQp6qYyfHS&SAQ)klVS27Z&_qbH^p_UlotA>ZucU&m-+<{O)mFf%^rOxIcK(l=h( zpB_4E-QdMtUKlbJ*^rN4&X#_+`JX@8|DOLYNG|9&;Eqo}={5L{Pc{uH2Cb~5-;e`( z*V}j7vP&Er6RgTmypeH$j+^JC?#E<^W1AAInY0u8^%{JLUOt0cNk*}s_v=TUm(G-5 zRyxO>80BMKmIenGf8Z7^wD04tPKe-sd~|x7ez;^-GS2VFRjmCT9gx~vMQX2e`eai* z+OKbL@zu9ziR>L0KX!|j)c3X~Q6FM)g$M$ii2&QgP`@@1anAzy3?pvUSR>igj-pCEMT5sY0V6u7_l}gOG#~rk!V$9{bKr z%BIZdCla+3*%^g{+%$CAk7a*%mi52~Zs*OBrYG_FyIZ$iq0JF?CD^*w^+fO8;Nz8B`7oF8PUrpn9r z2IqopYop*-Sb$^U`}LP#r5HZn=y%2)=jVjL7qHDwxphcg{ue$% z%(KplpkCVaG*&c~KQ}`Q@lN}j8At!k-vmTi;t!Ogng%J^*e3ec!ePjE@nF=1A zJ@m2JgL)=aESag@>{W5(QEiFZyOVF)Nv>yI+L41I%f;xp%(_voFjU>Ddpigt;TkcMTmg_A{9Mgn7iU zuVC)vHYfZ5vp<>B?iS|GWFC2ULN(k2V7_nIm{HV+GMsBaTCVjoFHTjB_Y6^uucoQS z1Hcc5tB4}ZnW{0{q#FAVR*k1~RAb}_)i@dMcY()+-(m8D-}Csr0G>JcnPGkgzn+ja z8ov^lU3aO*-$DBfzr8Te2ae8AjmJSx%TqfVGxHE29G@M`-&m)8n{wAC)mVVvWB7fH z-#RChX;zItD$F>CG2^oaX6)q6jGOW6@579dMrQo312g`JAOGf4Ei`>EOo!%c#y{|D z#;@xF&3G$*1Mo}1ucR|G_PiNB@SE0+86U>4pgX>C@w<#)zle(S>$SmNX2XB!8%9<9 zfGRLp+QTJA15>-JN<7d9^dyNXlAa+kN8(tZ2EIHX$t#rhB1xYuu~Z;4EAwD5fN=@1 zo5Gakl3^`SRWxOTwC@piRjCFJQ4C6rv^#-b@Nd{4BLWl=0sf<^N;r_{(ZFHAc%XuC zk_1M3DH$*@I1~ZNW2qn*lz9?YZ{Wi>Yfa{h8{u()s?-sJ&k3ZM8oqS<^8=DS7)bPR ziP3`2lz3@R0a`)NkoFuwSCz3qQZ!Gx7fSacU~g3$pv;D$2NYchY+iws0+NTdK#JK0 zAO*ZtVkJ=JuWr(AtO(hn%~j1CDkKAtVp=Kfdn8r^DX(jQg`n3;_lrP^Ssjr4Ii=mO z$t}-MVz5A_gafyMFCO?WU=q-vAg@zkpghh2lBRh;%Hu+5FBNuGnFqXsVk+&+ffUo# zK=QX%x^Dnd9&eTON+6}g9w6m$wLnd&1wt*RIANd|_-%GG1WSzGT(N$e=Iv!3`<0s^ z4@e;uN-P3W(#)3jQXnPCJRk{NDD6umeYwQdz-G|bO8W*NmG-T`ZiWGkfu!JS z;10zMO<{{H;Q-G8Q83HwBEKpQ4 zpdaX^K#IsbK}QM_Qsym@4$CF32CnR^DQktDDV4xnB~hss?l&ogU%M4b*)9XzUh#CL zwn8cM3aNm~Y*A><6R(!-13~(LnMS zFWr-XR2@_DFqe+{eeq> z#J3!%m|<8A10~g3;1J*jU=VOCup5SSl|Yd--;*Gw_yKX}h7t~>!jvTJP*B*Rpmfg@ z?o632>GOckK<+|e*OVndGYMKN9V!Jfr3Ofa=c06X0;z=x{(%DSpo9Y{hK0h8yp;CY zK;kO}b_UJ^ibh`2mjfy0tAP}uwLfTPA!q{}yrIZeNvM`s1EhdzrTwC`*GaomqG1;a zG$?*RbVEu!unhiEfRv>fz#YIGpg+PH3nT@KcA4FIGFv!kN-2<<#w9>1OsgfX1+LVQ zH9#r@TZKECPGE1;N53E4F$)F`13er_ibn$##Y>3?in0SF#qxlpSfLpP(yRzL00GYi zs>)Dh9*_#*@}CHiML=I4G$=sInms^28Y2NIASaMwWZ2_IKZ(H-!+}Qlj|Ngx8!z0M zGAILvTnHQs>;Q&B$xtL1kcR@%Q3HQ~BFljk;D$XFW2!Y%M{`}3)Bq?nI3P6uiUtH& z2oK>vN`h!035W+$!;u7}q)q`+;m80|ZO8$Nwi-zFJr79o3xQ}jlp-M74YRUD5|&F` zEpaW78jcOpz7L>lO(1{%#fHPaje8ViG>o2B+iytDsi5~ zg@@39kOE7j!*YqMC9ajYLE=`4l@j+ztd>|Ku~yq3WNfZVS~gy0+~`P?R66Uj<`FGXdo#XFAymvF+*aG#IX|d+-Oz`r9+X# z*%C`7&Xc%M;u49=C9amZR^kSUTP0RX+#|7CVvRu5|61vAQDU7$r$ob1cb@u543-!! zF%fSP&zCD(l}!| zkj59QrTYdTRgSGdD!Y}^eGkwZeAUvuR^mlTuakDCM8k1+UGW1Npjh~E)bcV2Oo9Wo z^eMm{zziVO${ZjCI2K46DpZV}9(K=FuA8hF<6!Rd0^H!fxJWUcn}oScxL*dUaC1Fe zG3BDRUJErwD-rGx6s1`j$c-k{5s)RaM~SQqyD! z$M4_xmE%VOaOhg0y&be$gzRm5KNKEuPP>y^Y?@`jx-iYy4?p5a{T-VQ-lRp*|I?4# I|Ix<%fB7^_s{jB1