From afcdf1677d89819f305f7714bb3b6a18dca05cc6 Mon Sep 17 00:00:00 2001 From: brice Date: Tue, 10 Oct 2023 03:25:12 +0100 Subject: [PATCH] updated to 21.115 --- Sources/FitFileParser/rzfit_swift_map.swift | 451 +++++++++-- .../rzfit_swift_reverse_map.swift | 417 ++++++++++ Sources/FitFileParserObjc/fit.h | 6 +- Sources/FitFileParserObjc/fit.m | 4 +- Sources/FitFileParserObjc/fit_convert.h | 4 +- Sources/FitFileParserObjc/fit_convert.m | 4 +- Sources/FitFileParserObjc/fit_crc.h | 4 +- Sources/FitFileParserObjc/fit_crc.m | 4 +- Sources/FitFileParserObjc/fit_product.h | 4 +- Sources/FitFileParserObjc/rzfit_objc_map.m | 716 +++++++++++++----- .../rzfit_objc_reference_mesg.h | 20 + .../rzfit_objc_reference_mesg.m | 225 +++--- python/Profile.xlsx | Bin 209735 -> 216463 bytes python/fitsdkversion.txt | 2 +- 14 files changed, 1515 insertions(+), 346 deletions(-) diff --git a/Sources/FitFileParser/rzfit_swift_map.swift b/Sources/FitFileParser/rzfit_swift_map.swift index 6358f74..56e6bd3 100644 --- a/Sources/FitFileParser/rzfit_swift_map.swift +++ b/Sources/FitFileParser/rzfit_swift_map.swift @@ -3,7 +3,7 @@ import FitFileParserObjc extension FitFile { - public static let sdkVersion = "21.105" + public static let sdkVersion = "21.115" } //MARK: - Module Entry Point Functions @@ -438,6 +438,13 @@ func rzfit_swift_build_mesg(mesg_num : FIT_MESG_NUM, uptr : UnsafePointer mesg_enums: rzfit_swift_string_dict_for_developer_data_id(ptr: $0), mesg_dates: rzfit_swift_date_dict_for_developer_data_id(ptr: $0)) } + case 211: // monitoring_hr_data + uptr.withMemoryRebound(to: FIT_MONITORING_HR_DATA_MESG.self, capacity: 1) { + rv = FitMessage( mesg_num: 211, + mesg_values: rzfit_swift_value_dict_for_monitoring_hr_data(ptr: $0), + mesg_enums: rzfit_swift_string_dict_for_monitoring_hr_data(ptr: $0), + mesg_dates: rzfit_swift_date_dict_for_monitoring_hr_data(ptr: $0)) + } case 225: // set uptr.withMemoryRebound(to: FIT_SET_MESG.self, capacity: 1) { rv = FitMessage( mesg_num: 225, @@ -512,6 +519,7 @@ func rzfit_swift_known_units( ) -> [String] { "Breaths/min", "kGrit", "Flow", + "mS", "strokes/min", "m/s,m", "Pa", @@ -521,6 +529,7 @@ func rzfit_swift_known_units( ) -> [String] { "L/min", "V", "calories", + "min", "deg/s", "g", "mG", @@ -531,13 +540,15 @@ func rzfit_swift_known_units( ) -> [String] { "% or bpm", "% or watts", "kcal/day", + "kg/m^2", "mmHg", "m/cycle", "kcal/cycle", "kcal / day", "100 * m", "2 * cycles (steps)", - "min", + "mL/kg/min", + "breaths/min", "bar", "L", ] @@ -616,7 +627,14 @@ func rzfit_swift_unit_for_field( mesg_num : FIT_UINT16, field : String ) -> Stri case "ccr_high_setpoint": return "percent" case "ccr_high_setpoint_depth": return "m" case "depth": return "m" - case "time": return "s" + case "time": + switch mesg_num { + case 262: return "s" // dive_alarm + case 393: return "s" // dive_apnea_alarm + case 78: return "s" // hrv + case 290: return "ms" // beat_intervals + default: return nil + } case "speed": switch mesg_num { case 262: return "mps" // dive_alarm @@ -657,6 +675,8 @@ func rzfit_swift_unit_for_field( mesg_num : FIT_UINT16, field : String ) -> Stri case "normalized_power": return "watts" case "training_stress_score": return "tss" case "intensity_factor": return "if" + case "end_position_lat": return "semicircles" + case "end_position_long": return "semicircles" case "avg_stroke_count": return "strokes/lap" case "avg_stroke_distance": return "m" case "swim_stroke": return "swim_stroke" @@ -741,13 +761,15 @@ func rzfit_swift_unit_for_field( mesg_num : FIT_UINT16, field : String ) -> Stri case "total_flow": return "Flow" case "avg_grit": return "kGrit" case "avg_flow": return "Flow" + case "avg_spo2": return "percent" + case "avg_stress": return "percent" + case "sdrr_hrv": return "mS" + case "rmssd_hrv": return "mS" case "total_fractional_ascent": return "m" case "total_fractional_descent": return "m" case "avg_core_temperature": return "C" case "min_core_temperature": return "C" case "max_core_temperature": return "C" - case "end_position_lat": return "semicircles" - case "end_position_long": return "semicircles" case "avg_swimming_cadence": return "strokes/min" case "position_lat": return "semicircles" case "position_long": return "semicircles" @@ -797,6 +819,7 @@ func rzfit_swift_unit_for_field( mesg_num : FIT_UINT16, field : String ) -> Stri case "vertical_ratio": return "percent" case "stance_time_balance": return "percent" case "step_length": return "mm" + case "cycle_length16": return "m" case "absolute_pressure": return "Pa" case "next_stop_depth": return "m" case "next_stop_time": return "s" @@ -804,7 +827,12 @@ func rzfit_swift_unit_for_field( mesg_num : FIT_UINT16, field : String ) -> Stri case "ndl_time": return "s" case "cns_load": return "percent" case "n2_load": return "percent" - case "respiration_rate": return "s" + case "respiration_rate": + switch mesg_num { + case 20: return "s" // record + case 297: return "breaths/min" // respiration_rate + default: return nil + } case "enhanced_respiration_rate": return "Breaths/min" case "ebike_travel_range": return "km" case "ebike_battery_level": return "percent" @@ -835,6 +863,9 @@ func rzfit_swift_unit_for_field( mesg_num : FIT_UINT16, field : String ) -> Stri case "time_duration_alert": return "s" case "distance_duration_alert": return "m" case "calorie_duration_alert": return "calories" + case "auto_activity_detect_duration": return "min" + case "start_timestamp": return "s" + case "auto_activity_detect_start_timestamp": return "s" case "radar_threat_avg_approach_speed": return "m/s" case "radar_threat_max_approach_speed": return "m/s" case "cum_operating_time": return "s" @@ -936,6 +967,7 @@ func rzfit_swift_unit_for_field( mesg_num : FIT_UINT16, field : String ) -> Stri case "basal_met": return "kcal/day" case "active_met": return "kcal/day" case "metabolic_age": return "years" + case "bmi": return "kg/m^2" case "systolic_pressure": return "mmHg" case "diastolic_pressure": return "mmHg" case "mean_arterial_pressure": return "mmHg" @@ -961,11 +993,14 @@ func rzfit_swift_unit_for_field( mesg_num : FIT_UINT16, field : String ) -> Stri case "descent": return "m" case "moderate_activity_minutes": return "minutes" case "vigorous_activity_minutes": return "minutes" + case "current_day_resting_heart_rate": return "bpm" + case "reading_spo2": return "percent" case "time256": return "s" case "filtered_bpm": return "bpm" case "event_timestamp": return "s" case "event_timestamp_12": return "s" case "stress_level_time": return "s" + case "vo2_max": return "mL/kg/min" case "bottom_time": return "s" case "avg_pressure_sac": return "bar/min" case "avg_volume_sac": return "L/min" @@ -976,6 +1011,13 @@ func rzfit_swift_unit_for_field( mesg_num : FIT_UINT16, field : String ) -> Stri case "avg_descent_rate": return "m/s" case "max_ascent_rate": return "m/s" case "max_descent_rate": return "m/s" + case "weekly_average": return "ms" + case "last_night_average": return "ms" + case "last_night_5_min_high": return "ms" + case "baseline_low_upper": return "ms" + case "baseline_balanced_lower": return "ms" + case "baseline_balanced_upper": return "ms" + case "value": return "ms" case "pressure": return "bar" case "start_pressure": return "bar" case "end_pressure": return "bar" @@ -1108,55 +1150,61 @@ func rzfit_swift_string_for_type(fit_type : FIT_UINT8, val : FIT_UINT32 ) -> Str case 121: return rzfit_swift_string_from_bike_light_beam_angle_mode( FIT_UINT8(val) ) case 122: return rzfit_swift_string_from_fit_base_unit( FIT_UINT16(val) ) case 123: return rzfit_swift_string_from_set_type( FIT_UINT8(val) ) - case 124: return rzfit_swift_string_from_exercise_category( FIT_UINT16(val) ) - case 125: return rzfit_swift_string_from_bench_press_exercise_name( FIT_UINT16(val) ) - case 126: return rzfit_swift_string_from_calf_raise_exercise_name( FIT_UINT16(val) ) - case 127: return rzfit_swift_string_from_cardio_exercise_name( FIT_UINT16(val) ) - case 128: return rzfit_swift_string_from_carry_exercise_name( FIT_UINT16(val) ) - case 129: return rzfit_swift_string_from_chop_exercise_name( FIT_UINT16(val) ) - case 130: return rzfit_swift_string_from_core_exercise_name( FIT_UINT16(val) ) - case 131: return rzfit_swift_string_from_crunch_exercise_name( FIT_UINT16(val) ) - case 132: return rzfit_swift_string_from_curl_exercise_name( FIT_UINT16(val) ) - case 133: return rzfit_swift_string_from_deadlift_exercise_name( FIT_UINT16(val) ) - case 134: return rzfit_swift_string_from_flye_exercise_name( FIT_UINT16(val) ) - case 135: return rzfit_swift_string_from_hip_raise_exercise_name( FIT_UINT16(val) ) - case 136: return rzfit_swift_string_from_hip_stability_exercise_name( FIT_UINT16(val) ) - case 137: return rzfit_swift_string_from_hip_swing_exercise_name( FIT_UINT16(val) ) - case 138: return rzfit_swift_string_from_hyperextension_exercise_name( FIT_UINT16(val) ) - case 139: return rzfit_swift_string_from_lateral_raise_exercise_name( FIT_UINT16(val) ) - case 140: return rzfit_swift_string_from_leg_curl_exercise_name( FIT_UINT16(val) ) - case 141: return rzfit_swift_string_from_leg_raise_exercise_name( FIT_UINT16(val) ) - case 142: return rzfit_swift_string_from_lunge_exercise_name( FIT_UINT16(val) ) - case 143: return rzfit_swift_string_from_olympic_lift_exercise_name( FIT_UINT16(val) ) - case 144: return rzfit_swift_string_from_plank_exercise_name( FIT_UINT16(val) ) - case 145: return rzfit_swift_string_from_plyo_exercise_name( FIT_UINT16(val) ) - case 146: return rzfit_swift_string_from_pull_up_exercise_name( FIT_UINT16(val) ) - case 147: return rzfit_swift_string_from_push_up_exercise_name( FIT_UINT16(val) ) - case 148: return rzfit_swift_string_from_row_exercise_name( FIT_UINT16(val) ) - case 149: return rzfit_swift_string_from_shoulder_press_exercise_name( FIT_UINT16(val) ) - case 150: return rzfit_swift_string_from_shoulder_stability_exercise_name( FIT_UINT16(val) ) - case 151: return rzfit_swift_string_from_shrug_exercise_name( FIT_UINT16(val) ) - case 152: return rzfit_swift_string_from_sit_up_exercise_name( FIT_UINT16(val) ) - case 153: return rzfit_swift_string_from_squat_exercise_name( FIT_UINT16(val) ) - case 154: return rzfit_swift_string_from_total_body_exercise_name( FIT_UINT16(val) ) - case 155: return rzfit_swift_string_from_triceps_extension_exercise_name( FIT_UINT16(val) ) - case 156: return rzfit_swift_string_from_warm_up_exercise_name( FIT_UINT16(val) ) - case 157: return rzfit_swift_string_from_run_exercise_name( FIT_UINT16(val) ) - case 158: return rzfit_swift_string_from_water_type( FIT_ENUM(val) ) - case 159: return rzfit_swift_string_from_tissue_model_type( FIT_ENUM(val) ) - case 160: return rzfit_swift_string_from_dive_gas_status( FIT_ENUM(val) ) - case 161: return rzfit_swift_string_from_dive_alert( FIT_ENUM(val) ) - case 162: return rzfit_swift_string_from_dive_alarm_type( FIT_ENUM(val) ) - case 163: return rzfit_swift_string_from_dive_backlight_mode( FIT_ENUM(val) ) - case 164: return rzfit_swift_string_from_ccr_setpoint_switch_mode( FIT_ENUM(val) ) - case 165: return rzfit_swift_string_from_dive_gas_mode( FIT_ENUM(val) ) - case 166: return rzfit_swift_string_from_favero_product( FIT_UINT16(val) ) - case 167: return rzfit_swift_string_from_split_type( FIT_ENUM(val) ) - case 168: return rzfit_swift_string_from_climb_pro_event( FIT_ENUM(val) ) - case 169: return rzfit_swift_string_from_gas_consumption_rate_type( FIT_ENUM(val) ) - case 170: return rzfit_swift_string_from_tap_sensitivity( FIT_ENUM(val) ) - case 171: return rzfit_swift_string_from_radar_threat_level_type( FIT_ENUM(val) ) - case 172: return rzfit_swift_string_from_no_fly_time_mode( FIT_ENUM(val) ) + case 124: return rzfit_swift_string_from_max_met_category( FIT_ENUM(val) ) + case 125: return rzfit_swift_string_from_exercise_category( FIT_UINT16(val) ) + case 126: return rzfit_swift_string_from_bench_press_exercise_name( FIT_UINT16(val) ) + case 127: return rzfit_swift_string_from_calf_raise_exercise_name( FIT_UINT16(val) ) + case 128: return rzfit_swift_string_from_cardio_exercise_name( FIT_UINT16(val) ) + case 129: return rzfit_swift_string_from_carry_exercise_name( FIT_UINT16(val) ) + case 130: return rzfit_swift_string_from_chop_exercise_name( FIT_UINT16(val) ) + case 131: return rzfit_swift_string_from_core_exercise_name( FIT_UINT16(val) ) + case 132: return rzfit_swift_string_from_crunch_exercise_name( FIT_UINT16(val) ) + case 133: return rzfit_swift_string_from_curl_exercise_name( FIT_UINT16(val) ) + case 134: return rzfit_swift_string_from_deadlift_exercise_name( FIT_UINT16(val) ) + case 135: return rzfit_swift_string_from_flye_exercise_name( FIT_UINT16(val) ) + case 136: return rzfit_swift_string_from_hip_raise_exercise_name( FIT_UINT16(val) ) + case 137: return rzfit_swift_string_from_hip_stability_exercise_name( FIT_UINT16(val) ) + case 138: return rzfit_swift_string_from_hip_swing_exercise_name( FIT_UINT16(val) ) + case 139: return rzfit_swift_string_from_hyperextension_exercise_name( FIT_UINT16(val) ) + case 140: return rzfit_swift_string_from_lateral_raise_exercise_name( FIT_UINT16(val) ) + case 141: return rzfit_swift_string_from_leg_curl_exercise_name( FIT_UINT16(val) ) + case 142: return rzfit_swift_string_from_leg_raise_exercise_name( FIT_UINT16(val) ) + case 143: return rzfit_swift_string_from_lunge_exercise_name( FIT_UINT16(val) ) + case 144: return rzfit_swift_string_from_olympic_lift_exercise_name( FIT_UINT16(val) ) + case 145: return rzfit_swift_string_from_plank_exercise_name( FIT_UINT16(val) ) + case 146: return rzfit_swift_string_from_plyo_exercise_name( FIT_UINT16(val) ) + case 147: return rzfit_swift_string_from_pull_up_exercise_name( FIT_UINT16(val) ) + case 148: return rzfit_swift_string_from_push_up_exercise_name( FIT_UINT16(val) ) + case 149: return rzfit_swift_string_from_row_exercise_name( FIT_UINT16(val) ) + case 150: return rzfit_swift_string_from_shoulder_press_exercise_name( FIT_UINT16(val) ) + case 151: return rzfit_swift_string_from_shoulder_stability_exercise_name( FIT_UINT16(val) ) + case 152: return rzfit_swift_string_from_shrug_exercise_name( FIT_UINT16(val) ) + case 153: return rzfit_swift_string_from_sit_up_exercise_name( FIT_UINT16(val) ) + case 154: return rzfit_swift_string_from_squat_exercise_name( FIT_UINT16(val) ) + case 155: return rzfit_swift_string_from_total_body_exercise_name( FIT_UINT16(val) ) + case 156: return rzfit_swift_string_from_triceps_extension_exercise_name( FIT_UINT16(val) ) + case 157: return rzfit_swift_string_from_warm_up_exercise_name( FIT_UINT16(val) ) + case 158: return rzfit_swift_string_from_run_exercise_name( FIT_UINT16(val) ) + case 159: return rzfit_swift_string_from_water_type( FIT_ENUM(val) ) + case 160: return rzfit_swift_string_from_tissue_model_type( FIT_ENUM(val) ) + case 161: return rzfit_swift_string_from_dive_gas_status( FIT_ENUM(val) ) + case 162: return rzfit_swift_string_from_dive_alert( FIT_ENUM(val) ) + case 163: return rzfit_swift_string_from_dive_alarm_type( FIT_ENUM(val) ) + case 164: return rzfit_swift_string_from_dive_backlight_mode( FIT_ENUM(val) ) + case 165: return rzfit_swift_string_from_sleep_level( FIT_ENUM(val) ) + case 166: return rzfit_swift_string_from_spo2_measurement_type( FIT_ENUM(val) ) + case 167: return rzfit_swift_string_from_ccr_setpoint_switch_mode( FIT_ENUM(val) ) + case 168: return rzfit_swift_string_from_dive_gas_mode( FIT_ENUM(val) ) + case 169: return rzfit_swift_string_from_favero_product( FIT_UINT16(val) ) + case 170: return rzfit_swift_string_from_split_type( FIT_ENUM(val) ) + case 171: return rzfit_swift_string_from_climb_pro_event( FIT_ENUM(val) ) + case 172: return rzfit_swift_string_from_gas_consumption_rate_type( FIT_ENUM(val) ) + case 173: return rzfit_swift_string_from_tap_sensitivity( FIT_ENUM(val) ) + case 174: return rzfit_swift_string_from_radar_threat_level_type( FIT_ENUM(val) ) + case 175: return rzfit_swift_string_from_max_met_speed_source( FIT_ENUM(val) ) + case 176: return rzfit_swift_string_from_max_met_heart_rate_source( FIT_ENUM(val) ) + case 177: return rzfit_swift_string_from_hrv_status( FIT_ENUM(val) ) + case 178: return rzfit_swift_string_from_no_fly_time_mode( FIT_ENUM(val) ) default: return "fit_type_\(fit_type)_\(val)" } } @@ -1242,19 +1290,28 @@ public func rzfit_swift_string_to_mesg_num(_ input : String) -> FIT_UINT16 case "magnetometer_data": return 208; case "barometer_data": return 209; case "one_d_sensor_calibration": return 210; + case "monitoring_hr_data": return 211; case "time_in_zone": return 216; case "set": return 225; case "stress_level": return 227; + case "max_met_data": return 229; case "dive_settings": return 258; case "dive_gas": return 259; case "dive_alarm": return 262; case "exercise_title": return 264; case "dive_summary": return 268; + case "spo2_data": return 269; + case "sleep_level": return 275; case "jump": return 285; + case "beat_intervals": return 290; + case "respiration_rate": return 297; case "split": return 312; case "climb_pro": return 317; case "tank_update": return 319; case "tank_summary": return 323; + case "sleep_assessment": return 346; + case "hrv_status_summary": return 370; + case "hrv_value": return 371; case "device_aux_battery_info": return 375; case "dive_apnea_alarm": return 393; case "mfg_range_min": return 0xFF00; @@ -1345,19 +1402,28 @@ public func rzfit_swift_string_from_mesg_num(_ input : FIT_UINT16) -> String case 208: return "magnetometer_data" case 209: return "barometer_data" case 210: return "one_d_sensor_calibration" + case 211: return "monitoring_hr_data" case 216: return "time_in_zone" case 225: return "set" case 227: return "stress_level" + case 229: return "max_met_data" case 258: return "dive_settings" case 259: return "dive_gas" case 262: return "dive_alarm" case 264: return "exercise_title" case 268: return "dive_summary" + case 269: return "spo2_data" + case 275: return "sleep_level" case 285: return "jump" + case 290: return "beat_intervals" + case 297: return "respiration_rate" case 312: return "split" case 317: return "climb_pro" case 319: return "tank_update" case 323: return "tank_summary" + case 346: return "sleep_assessment" + case 370: return "hrv_status_summary" + case 371: return "hrv_value" case 375: return "device_aux_battery_info" case 393: return "dive_apnea_alarm" case 0xFF00: return "mfg_range_min" @@ -1451,19 +1517,28 @@ public extension FitMessageType { static let magnetometer_data : FitMessageType = 208 static let barometer_data : FitMessageType = 209 static let one_d_sensor_calibration : FitMessageType = 210 + static let monitoring_hr_data : FitMessageType = 211 static let time_in_zone : FitMessageType = 216 static let set : FitMessageType = 225 static let stress_level : FitMessageType = 227 + static let max_met_data : FitMessageType = 229 static let dive_settings : FitMessageType = 258 static let dive_gas : FitMessageType = 259 static let dive_alarm : FitMessageType = 262 static let exercise_title : FitMessageType = 264 static let dive_summary : FitMessageType = 268 + static let spo2_data : FitMessageType = 269 + static let sleep_level : FitMessageType = 275 static let jump : FitMessageType = 285 + static let beat_intervals : FitMessageType = 290 + static let respiration_rate : FitMessageType = 297 static let split : FitMessageType = 312 static let climb_pro : FitMessageType = 317 static let tank_update : FitMessageType = 319 static let tank_summary : FitMessageType = 323 + static let sleep_assessment : FitMessageType = 346 + static let hrv_status_summary : FitMessageType = 370 + static let hrv_value : FitMessageType = 371 static let device_aux_battery_info : FitMessageType = 375 static let dive_apnea_alarm : FitMessageType = 393 static let mfg_range_min : FitMessageType = 0xFF00 @@ -2128,6 +2203,16 @@ fileprivate func rzfit_swift_string_from_sub_sport(_ input : FIT_ENUM) -> String case 75: return "tabata" case 84: return "pickleball" case 85: return "padel" + case 110: return "fly_canopy" + case 111: return "fly_paraglide" + case 112: return "fly_paramotor" + case 113: return "fly_pressurized" + case 114: return "fly_navigate" + case 115: return "fly_timer" + case 116: return "fly_altimeter" + case 117: return "fly_wx" + case 118: return "fly_vfr" + case 119: return "fly_ifr" case 254: return "all" default: return "sub_sport_\(input)" } @@ -2296,6 +2381,7 @@ fileprivate func rzfit_swift_string_from_event(_ input : FIT_ENUM) -> String case 45: return "elev_high_alert" case 46: return "elev_low_alert" case 47: return "comm_timeout" + case 54: return "auto_activity_detect" case 56: return "dive_alert" case 57: return "dive_gas_switched" case 71: return "tank_pressure_reserve" @@ -2710,6 +2796,9 @@ fileprivate func rzfit_swift_string_from_manufacturer(_ input : FIT_UINT16) -> S case 143: return "keiser_fitness" case 144: return "zwift_byte" case 145: return "porsche_ep" + case 146: return "blackbird" + case 147: return "meilan_byte" + case 148: return "ezon" case 255: return "development" case 257: return "healthandlife" case 258: return "lezyne" @@ -2777,6 +2866,8 @@ fileprivate func rzfit_swift_string_from_manufacturer(_ input : FIT_UINT16) -> S case 320: return "lsec" case 321: return "lululemon_studio" case 322: return "shanyue" + case 323: return "spinning_mda" + case 324: return "hilldating" case 5759: return "actigraphcorp" default: return "manufacturer_\(input)" } @@ -3036,6 +3127,7 @@ fileprivate func rzfit_swift_string_from_garmin_product(_ input : FIT_UINT16) -> case 3134: return "fenix5s_plus_apac" case 3135: return "fenix5x_plus_apac" case 3142: return "edge_520_plus_apac" + case 3143: return "descent_t1" case 3144: return "fr235l_asia" case 3145: return "fr245_asia" case 3163: return "vivo_active3m_apac" @@ -3123,6 +3215,7 @@ fileprivate func rzfit_swift_string_from_garmin_product(_ input : FIT_UINT16) -> case 3843: return "edge_1040" case 3850: return "marq_golfer_asia" case 3851: return "venu2_plus" + case 3865: return "gnss" case 3869: return "fr55" case 3888: return "instinct_2" case 3905: return "fenix7s" @@ -3152,6 +3245,8 @@ fileprivate func rzfit_swift_string_from_garmin_product(_ input : FIT_UINT16) -> case 4017: return "venu2_plus_asia" case 4024: return "fr955" case 4033: return "fr55_asia" + case 4061: return "edge_540" + case 4062: return "edge_840" case 4063: return "vivosmart_5" case 4071: return "instinct_2_asia" case 4105: return "marq_gen2" @@ -3164,6 +3259,9 @@ fileprivate func rzfit_swift_string_from_garmin_product(_ input : FIT_UINT16) -> case 4135: return "tactix7" case 4155: return "instinct_crossover" case 4169: return "edge_explore2" + case 4233: return "approach_s70" + case 4257: return "fr265_large" + case 4258: return "fr265_small" case 4265: return "tacx_neo_smart" case 4266: return "tacx_neo2_smart" case 4267: return "tacx_neo2_t_smart" @@ -3177,7 +3275,14 @@ fileprivate func rzfit_swift_string_from_garmin_product(_ input : FIT_UINT16) -> case 4275: return "tacx_flux2_smart" case 4276: return "tacx_magnum" case 4305: return "edge_1040_asia" + case 4312: return "epix_gen2_pro_42" + case 4313: return "epix_gen2_pro_47" + case 4314: return "epix_gen2_pro_51" + case 4315: return "fr965" case 4341: return "enduro2" + case 4375: return "fenix7_pro_solar" + case 4394: return "instinct_2x" + case 4442: return "descent_t2" case 10007: return "sdm4" case 10014: return "edge_remote" case 20533: return "tacx_training_app_win" @@ -4394,6 +4499,15 @@ fileprivate func rzfit_swift_string_from_set_type(_ input : FIT_UINT8) -> String } } +fileprivate func rzfit_swift_string_from_max_met_category(_ input : FIT_ENUM) -> String +{ + switch input { + case 0: return "generic" + case 1: return "cycling" + default: return "max_met_category_\(input)" + } +} + fileprivate func rzfit_swift_string_from_exercise_category(_ input : FIT_UINT16) -> String { switch input { @@ -5999,6 +6113,29 @@ fileprivate func rzfit_swift_string_from_dive_backlight_mode(_ input : FIT_ENUM) } } +fileprivate func rzfit_swift_string_from_sleep_level(_ input : FIT_ENUM) -> String +{ + switch input { + case 0: return "unmeasurable" + case 1: return "awake" + case 2: return "light" + case 3: return "deep" + case 4: return "rem" + default: return "sleep_level_\(input)" + } +} + +fileprivate func rzfit_swift_string_from_spo2_measurement_type(_ input : FIT_ENUM) -> String +{ + switch input { + case 0: return "off_wrist" + case 1: return "spot_check" + case 2: return "continuous_check" + case 3: return "periodic" + default: return "spo2_measurement_type_\(input)" + } +} + fileprivate func rzfit_swift_string_from_ccr_setpoint_switch_mode(_ input : FIT_ENUM) -> String { switch input { @@ -6095,6 +6232,37 @@ fileprivate func rzfit_swift_string_from_radar_threat_level_type(_ input : FIT_E } } +fileprivate func rzfit_swift_string_from_max_met_speed_source(_ input : FIT_ENUM) -> String +{ + switch input { + case 0: return "onboard_gps" + case 1: return "connected_gps" + case 2: return "cadence" + default: return "max_met_speed_source_\(input)" + } +} + +fileprivate func rzfit_swift_string_from_max_met_heart_rate_source(_ input : FIT_ENUM) -> String +{ + switch input { + case 0: return "whr" + case 1: return "hrm" + default: return "max_met_heart_rate_source_\(input)" + } +} + +fileprivate func rzfit_swift_string_from_hrv_status(_ input : FIT_ENUM) -> String +{ + switch input { + case 0: return "none" + case 1: return "poor" + case 2: return "low" + case 3: return "unbalanced" + case 4: return "balanced" + default: return "hrv_status_\(input)" + } +} + fileprivate func rzfit_swift_string_from_no_fly_time_mode(_ input : FIT_ENUM) -> String { switch input { @@ -6662,6 +6830,8 @@ fileprivate func rzfit_swift_field_num_to_string_for_session( field_num : FIT_UI case 35: return "training_stress_score" case 36: return "intensity_factor" case 37: return "left_right_balance" + case 38: return "end_position_lat" + case 39: return "end_position_long" case 41: return "avg_stroke_count" case 42: return "avg_stroke_distance" case 43: return "swim_stroke" @@ -6717,6 +6887,7 @@ fileprivate func rzfit_swift_field_num_to_string_for_session( field_num : FIT_UI case 103: return "avg_left_pedal_smoothness" case 104: return "avg_right_pedal_smoothness" case 105: return "avg_combined_pedal_smoothness" + case 110: return "sport_profile_name" case 111: return "sport_index" case 112: return "time_standing" case 113: return "stand_count" @@ -6765,6 +6936,10 @@ fileprivate func rzfit_swift_field_num_to_string_for_session( field_num : FIT_UI case 183: return "jump_count" case 186: return "avg_grit" case 187: return "avg_flow" + case 194: return "avg_spo2" + case 195: return "avg_stress" + case 197: return "sdrr_hrv" + case 198: return "rmssd_hrv" case 199: return "total_fractional_ascent" case 200: return "total_fractional_descent" case 208: return "avg_core_temperature" @@ -7014,6 +7189,7 @@ fileprivate func rzfit_swift_field_num_to_string_for_record( field_num : FIT_UIN case 83: return "vertical_ratio" case 84: return "stance_time_balance" case 85: return "step_length" + case 87: return "cycle_length16" case 91: return "absolute_pressure" case 92: return "depth" case 93: return "next_stop_depth" @@ -7026,6 +7202,7 @@ fileprivate func rzfit_swift_field_num_to_string_for_record( field_num : FIT_UIN case 108: return "enhanced_respiration_rate" case 114: return "grit" case 115: return "flow" + case 116: return "current_stress" case 117: return "ebike_travel_range" case 118: return "ebike_battery_level" case 119: return "ebike_assist_mode" @@ -7091,6 +7268,8 @@ fileprivate func rzfit_swift_field_num_to_string_for_event( field_num : FIT_UINT return "comm_timeout" }else if strings["event"] == "dive_alert" { return "dive_alert" + }else if strings["event"] == "auto_activity_detect" { + return "auto_activity_detect_duration" }else if strings["event"] == "radar_threat_alert" { return "radar_threat_alert" }else{ @@ -7104,6 +7283,13 @@ fileprivate func rzfit_swift_field_num_to_string_for_event( field_num : FIT_UINT case 11: return "rear_gear_num" case 12: return "rear_gear" case 13: return "device_index" + case 14: return "activity_type" + case 15: + if strings["event"] == "auto_activity_detect" { + return "auto_activity_detect_start_timestamp" + }else{ + return "start_timestamp" + } case 21: return "radar_threat_level_max" case 22: return "radar_threat_count" case 23: return "radar_threat_avg_approach_speed" @@ -7684,6 +7870,7 @@ fileprivate func rzfit_swift_field_num_to_string_for_segment_file( field_num : F } fileprivate func rzfit_swift_field_num_to_string_for_workout( field_num : FIT_UINT16 ) -> String { switch field_num { + case 254: return "message_index" case 4: return "sport" case 5: return "capabilities" case 6: return "num_valid_steps" @@ -7917,6 +8104,7 @@ fileprivate func rzfit_swift_field_num_to_string_for_weight_scale( field_num : F case 10: return "metabolic_age" case 11: return "visceral_fat_rating" case 12: return "user_profile_index" + case 13: return "bmi" default: return "weight_scale_field_num_\(field_num)" } } @@ -7992,6 +8180,23 @@ fileprivate func rzfit_swift_field_num_to_string_for_monitoring( field_num : FIT default: return "monitoring_field_num_\(field_num)" } } +fileprivate func rzfit_swift_field_num_to_string_for_monitoring_hr_data( field_num : FIT_UINT16 ) -> String { + switch field_num { + case 253: return "timestamp" + case 0: return "resting_heart_rate" + case 1: return "current_day_resting_heart_rate" + default: return "monitoring_hr_data_field_num_\(field_num)" + } +} +fileprivate func rzfit_swift_field_num_to_string_for_spo2_data( field_num : FIT_UINT16 ) -> String { + switch field_num { + case 253: return "timestamp" + case 0: return "reading_spo2" + case 1: return "reading_confidence" + case 2: return "mode" + default: return "spo2_data_field_num_\(field_num)" + } +} fileprivate func rzfit_swift_field_num_to_string_for_hr( field_num : FIT_UINT16 ) -> String { switch field_num { case 253: return "timestamp" @@ -8010,6 +8215,19 @@ fileprivate func rzfit_swift_field_num_to_string_for_stress_level( field_num : F default: return "stress_level_field_num_\(field_num)" } } +fileprivate func rzfit_swift_field_num_to_string_for_max_met_data( field_num : FIT_UINT16 ) -> String { + switch field_num { + case 0: return "update_time" + case 2: return "vo2_max" + case 5: return "sport" + case 6: return "sub_sport" + case 8: return "max_met_category" + case 9: return "calibrated_data" + case 12: return "hr_source" + case 13: return "speed_source" + default: return "max_met_data_field_num_\(field_num)" + } +} fileprivate func rzfit_swift_field_num_to_string_for_memo_glob( field_num : FIT_UINT16 ) -> String { switch field_num { case 250: return "part_index" @@ -8021,6 +8239,13 @@ fileprivate func rzfit_swift_field_num_to_string_for_memo_glob( field_num : FIT_ default: return "memo_glob_field_num_\(field_num)" } } +fileprivate func rzfit_swift_field_num_to_string_for_sleep_level( field_num : FIT_UINT16 ) -> String { + switch field_num { + case 253: return "timestamp" + case 0: return "sleep_level" + default: return "sleep_level_field_num_\(field_num)" + } +} fileprivate func rzfit_swift_field_num_to_string_for_ant_channel_id( field_num : FIT_UINT16 ) -> String { switch field_num { case 0: return "channel_number" @@ -8123,6 +8348,41 @@ fileprivate func rzfit_swift_field_num_to_string_for_hrv( field_num : FIT_UINT16 default: return "hrv_field_num_\(field_num)" } } +fileprivate func rzfit_swift_field_num_to_string_for_beat_intervals( field_num : FIT_UINT16 ) -> String { + switch field_num { + case 253: return "timestamp" + case 0: return "timestamp_ms" + case 1: return "time" + default: return "beat_intervals_field_num_\(field_num)" + } +} +fileprivate func rzfit_swift_field_num_to_string_for_hrv_status_summary( field_num : FIT_UINT16 ) -> String { + switch field_num { + case 253: return "timestamp" + case 0: return "weekly_average" + case 1: return "last_night_average" + case 2: return "last_night_5_min_high" + case 3: return "baseline_low_upper" + case 4: return "baseline_balanced_lower" + case 5: return "baseline_balanced_upper" + case 6: return "status" + default: return "hrv_status_summary_field_num_\(field_num)" + } +} +fileprivate func rzfit_swift_field_num_to_string_for_hrv_value( field_num : FIT_UINT16 ) -> String { + switch field_num { + case 253: return "timestamp" + case 0: return "value" + default: return "hrv_value_field_num_\(field_num)" + } +} +fileprivate func rzfit_swift_field_num_to_string_for_respiration_rate( field_num : FIT_UINT16 ) -> String { + switch field_num { + case 253: return "timestamp" + case 0: return "respiration_rate" + default: return "respiration_rate_field_num_\(field_num)" + } +} fileprivate func rzfit_swift_field_num_to_string_for_tank_update( field_num : FIT_UINT16 ) -> String { switch field_num { case 253: return "timestamp" @@ -8141,6 +8401,25 @@ fileprivate func rzfit_swift_field_num_to_string_for_tank_summary( field_num : F default: return "tank_summary_field_num_\(field_num)" } } +fileprivate func rzfit_swift_field_num_to_string_for_sleep_assessment( field_num : FIT_UINT16 ) -> String { + switch field_num { + case 0: return "combined_awake_score" + case 1: return "awake_time_score" + case 2: return "awakenings_count_score" + case 3: return "deep_sleep_score" + case 4: return "sleep_duration_score" + case 5: return "light_sleep_score" + case 6: return "overall_sleep_score" + case 7: return "sleep_quality_score" + case 8: return "sleep_recovery_score" + case 9: return "rem_sleep_score" + case 10: return "sleep_restlessness_score" + case 11: return "awakenings_count" + case 14: return "interruptions_score" + case 15: return "average_stress_during_sleep" + default: return "sleep_assessment_field_num_\(field_num)" + } +} func rzfit_swift_field_num_to_string( mesg_num : FIT_UINT16, field_num : FIT_UINT16, strings : [String:String]) -> String { switch mesg_num { case 0: return rzfit_swift_field_num_to_string_for_file_id(field_num: field_num, strings: strings) @@ -8221,19 +8500,28 @@ func rzfit_swift_field_num_to_string( mesg_num : FIT_UINT16, field_num : FIT_UIN case 208: return rzfit_swift_field_num_to_string_for_magnetometer_data(field_num: field_num) case 209: return rzfit_swift_field_num_to_string_for_barometer_data(field_num: field_num) case 210: return rzfit_swift_field_num_to_string_for_one_d_sensor_calibration(field_num: field_num, strings: strings) + case 211: return rzfit_swift_field_num_to_string_for_monitoring_hr_data(field_num: field_num) case 216: return rzfit_swift_field_num_to_string_for_time_in_zone(field_num: field_num) case 225: return rzfit_swift_field_num_to_string_for_set(field_num: field_num) case 227: return rzfit_swift_field_num_to_string_for_stress_level(field_num: field_num) + case 229: return rzfit_swift_field_num_to_string_for_max_met_data(field_num: field_num) case 258: return rzfit_swift_field_num_to_string_for_dive_settings(field_num: field_num, strings: strings) case 259: return rzfit_swift_field_num_to_string_for_dive_gas(field_num: field_num) case 262: return rzfit_swift_field_num_to_string_for_dive_alarm(field_num: field_num) case 264: return rzfit_swift_field_num_to_string_for_exercise_title(field_num: field_num) case 268: return rzfit_swift_field_num_to_string_for_dive_summary(field_num: field_num) + case 269: return rzfit_swift_field_num_to_string_for_spo2_data(field_num: field_num) + case 275: return rzfit_swift_field_num_to_string_for_sleep_level(field_num: field_num) case 285: return rzfit_swift_field_num_to_string_for_jump(field_num: field_num) + case 290: return rzfit_swift_field_num_to_string_for_beat_intervals(field_num: field_num) + case 297: return rzfit_swift_field_num_to_string_for_respiration_rate(field_num: field_num) case 312: return rzfit_swift_field_num_to_string_for_split(field_num: field_num) case 317: return rzfit_swift_field_num_to_string_for_climb_pro(field_num: field_num) case 319: return rzfit_swift_field_num_to_string_for_tank_update(field_num: field_num) case 323: return rzfit_swift_field_num_to_string_for_tank_summary(field_num: field_num) + case 346: return rzfit_swift_field_num_to_string_for_sleep_assessment(field_num: field_num) + case 370: return rzfit_swift_field_num_to_string_for_hrv_status_summary(field_num: field_num) + case 371: return rzfit_swift_field_num_to_string_for_hrv_value(field_num: field_num) case 375: return rzfit_swift_field_num_to_string_for_device_aux_battery_info(field_num: field_num) case 393: return rzfit_swift_field_num_to_string_for_dive_apnea_alarm(field_num: field_num) default: return "mesg_num_\(mesg_num)_field_num_\(field_num)" @@ -9396,6 +9684,14 @@ fileprivate func rzfit_swift_value_dict_for_session( ptr : UnsafePointer) -> [String:String] { var rv : [String:String] = [:] var x : FIT_SESSION_MESG = ptr.pointee + let sport_profile_name = withUnsafeBytes(of: &x.sport_profile_name) { (rawPtr) -> String in + let ptr = rawPtr.baseAddress!.assumingMemoryBound(to: CChar.self) + return String(cString: ptr) + } + if !sport_profile_name.isEmpty { + rv[ "sport_profile_name" ] = sport_profile_name + } if( x.message_index != FIT_UINT16_INVALID ) { rv[ "message_index" ] = rzfit_swift_string_from_message_index(x.message_index) } @@ -10515,6 +10818,9 @@ fileprivate func rzfit_swift_value_dict_for_event( ptr : UnsafePointer> bits rv[name] = Double(val) / Double(scale) } + }else if x.event == 54 { // auto_activity_detect + let val : Double = Double(x.data) + rv[ "auto_activity_detect_duration" ] = val }else if x.event == 75 { // radar_threat_alert var sourceData : UInt32 = UInt32(x.data) for info in [ (8, "radar_threat_level_max", 1), (8, "radar_threat_count", 1), (8, "radar_threat_avg_approach_speed", 10), (8, "radar_threat_max_approach_speed", 10) ] { @@ -11755,6 +12061,9 @@ fileprivate func rzfit_swift_date_dict_for_segment_file( ptr : UnsafePointer) -> [String:Double] { var rv : [String:Double] = [:] let x : FIT_WORKOUT_MESG = ptr.pointee + if x.message_index != FIT_UINT16_INVALID { + rv[ "message_index_value" ] = rzfit_swift_value_from_message_index(x.message_index) + } if x.num_valid_steps != FIT_UINT16_INVALID { let val : Double = Double(x.num_valid_steps) rv[ "num_valid_steps" ] = val @@ -11778,6 +12087,9 @@ fileprivate func rzfit_swift_string_dict_for_workout( ptr : UnsafePointer) -> [String:Double] { + var rv : [String:Double] = [:] + let x : FIT_MONITORING_HR_DATA_MESG = ptr.pointee + if x.resting_heart_rate != FIT_UINT8_INVALID { + let val : Double = Double(x.resting_heart_rate) + rv[ "resting_heart_rate" ] = val + } + if x.current_day_resting_heart_rate != FIT_UINT8_INVALID { + let val : Double = Double(x.current_day_resting_heart_rate) + rv[ "current_day_resting_heart_rate" ] = val + } + return rv +} +fileprivate func rzfit_swift_string_dict_for_monitoring_hr_data( ptr : UnsafePointer) -> [String:String] { + return [:] +} +fileprivate func rzfit_swift_date_dict_for_monitoring_hr_data( ptr : UnsafePointer) -> [String:Date] { + var rv : [String:Date] = [:] + let x : FIT_MONITORING_HR_DATA_MESG = ptr.pointee + if x.timestamp != FIT_UINT32_INVALID { + let val : Date = Date(timeIntervalSinceReferenceDate: Double(x.timestamp)-347241600.0 ) + rv[ "timestamp" ] = val + } + return rv +} fileprivate func rzfit_swift_value_dict_for_hr( ptr : UnsafePointer) -> [String:Double] { var rv : [String:Double] = [:] let x : FIT_HR_MESG = ptr.pointee diff --git a/Sources/FitFileParser/rzfit_swift_reverse_map.swift b/Sources/FitFileParser/rzfit_swift_reverse_map.swift index f13b6ac..0683356 100644 --- a/Sources/FitFileParser/rzfit_swift_reverse_map.swift +++ b/Sources/FitFileParser/rzfit_swift_reverse_map.swift @@ -166,12 +166,16 @@ public func rzfit_swift_reverse_value(mesg: String, field: String, value: String return rzfit_swift_reverse_value_barometer_data(field: field, value: value ) case "one_d_sensor_calibration": // 210 return rzfit_swift_reverse_value_one_d_sensor_calibration(field: field, value: value ) + case "monitoring_hr_data": // 211 + return rzfit_swift_reverse_value_monitoring_hr_data(field: field, value: value ) case "time_in_zone": // 216 return rzfit_swift_reverse_value_time_in_zone(field: field, value: value ) case "set": // 225 return rzfit_swift_reverse_value_set(field: field, value: value ) case "stress_level": // 227 return rzfit_swift_reverse_value_stress_level(field: field, value: value ) + case "max_met_data": // 229 + return rzfit_swift_reverse_value_max_met_data(field: field, value: value ) case "dive_settings": // 258 return rzfit_swift_reverse_value_dive_settings(field: field, value: value ) case "dive_gas": // 259 @@ -182,8 +186,16 @@ public func rzfit_swift_reverse_value(mesg: String, field: String, value: String return rzfit_swift_reverse_value_exercise_title(field: field, value: value ) case "dive_summary": // 268 return rzfit_swift_reverse_value_dive_summary(field: field, value: value ) + case "spo2_data": // 269 + return rzfit_swift_reverse_value_spo2_data(field: field, value: value ) + case "sleep_level": // 275 + return rzfit_swift_reverse_value_sleep_level(field: field, value: value ) case "jump": // 285 return rzfit_swift_reverse_value_jump(field: field, value: value ) + case "beat_intervals": // 290 + return rzfit_swift_reverse_value_beat_intervals(field: field, value: value ) + case "respiration_rate": // 297 + return rzfit_swift_reverse_value_respiration_rate(field: field, value: value ) case "split": // 312 return rzfit_swift_reverse_value_split(field: field, value: value ) case "climb_pro": // 317 @@ -192,6 +204,12 @@ public func rzfit_swift_reverse_value(mesg: String, field: String, value: String return rzfit_swift_reverse_value_tank_update(field: field, value: value ) case "tank_summary": // 323 return rzfit_swift_reverse_value_tank_summary(field: field, value: value ) + case "sleep_assessment": // 346 + return rzfit_swift_reverse_value_sleep_assessment(field: field, value: value ) + case "hrv_status_summary": // 370 + return rzfit_swift_reverse_value_hrv_status_summary(field: field, value: value ) + case "hrv_value": // 371 + return rzfit_swift_reverse_value_hrv_value(field: field, value: value ) case "device_aux_battery_info": // 375 return rzfit_swift_reverse_value_device_aux_battery_info(field: field, value: value ) case "dive_apnea_alarm": // 393 @@ -1303,6 +1321,12 @@ fileprivate func rzfit_swift_reverse_value_session(field: String, value: String) return .value(dbl) case "left_right_balance": // left_right_balance_100 return rzfit_swift_reverse_value_left_right_balance_100(value: value) + case "end_position_lat": // sint32 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "end_position_long": // sint32 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) case "avg_stroke_count": // uint32 guard let dbl : Double = Double(value) else { return .unknown } return .value(dbl) @@ -1466,6 +1490,9 @@ fileprivate func rzfit_swift_reverse_value_session(field: String, value: String) case "avg_combined_pedal_smoothness": // uint8 guard let dbl : Double = Double(value) else { return .unknown } return .value(dbl) + case "sport_profile_name": // string + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) case "sport_index": // uint8 guard let dbl : Double = Double(value) else { return .unknown } return .value(dbl) @@ -1610,6 +1637,18 @@ fileprivate func rzfit_swift_reverse_value_session(field: String, value: String) case "avg_flow": // float32 guard let dbl : Double = Double(value) else { return .unknown } return .value(dbl) + case "avg_spo2": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "avg_stress": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "sdrr_hrv": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "rmssd_hrv": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) case "total_fractional_ascent": // uint8 guard let dbl : Double = Double(value) else { return .unknown } return .value(dbl) @@ -2253,6 +2292,9 @@ fileprivate func rzfit_swift_reverse_value_record(field: String, value: String) case "step_length": // uint16 guard let dbl : Double = Double(value) else { return .unknown } return .value(dbl) + case "cycle_length16": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) case "absolute_pressure": // uint32 guard let dbl : Double = Double(value) else { return .unknown } return .value(dbl) @@ -2289,6 +2331,9 @@ fileprivate func rzfit_swift_reverse_value_record(field: String, value: String) case "flow": // float32 guard let dbl : Double = Double(value) else { return .unknown } return .value(dbl) + case "current_stress": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) case "ebike_travel_range": // uint16 guard let dbl : Double = Double(value) else { return .unknown } return .value(dbl) @@ -2399,6 +2444,9 @@ fileprivate func rzfit_swift_reverse_value_event(field: String, value: String) - return rzfit_swift_reverse_value_comm_timeout_type(value: value) case "dive_alert": // dive_alert return rzfit_swift_reverse_value_dive_alert(value: value) + case "auto_activity_detect_duration": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) case "radar_threat_alert": // uint32 guard let dbl : Double = Double(value) else { return .unknown } return .value(dbl) @@ -2425,6 +2473,16 @@ fileprivate func rzfit_swift_reverse_value_event(field: String, value: String) - return .value(dbl) case "device_index": // device_index return rzfit_swift_reverse_value_device_index(value: value) + case "activity_type": // activity_type + return rzfit_swift_reverse_value_activity_type(value: value) + case "start_timestamp": // date_time + guard let dbl : Double = Double(value) else { return .unknown } + let dat : Date = Date(timeIntervalSinceReferenceDate: dbl-347241600.0 ) + return .date(dat) + case "auto_activity_detect_start_timestamp": // date_time + guard let dbl : Double = Double(value) else { return .unknown } + let dat : Date = Date(timeIntervalSinceReferenceDate: dbl-347241600.0 ) + return .date(dat) case "radar_threat_level_max": // radar_threat_level_type return rzfit_swift_reverse_value_radar_threat_level_type(value: value) case "radar_threat_count": // uint8 @@ -3692,6 +3750,8 @@ fileprivate func rzfit_swift_reverse_value_segment_file(field: String, value: St } fileprivate func rzfit_swift_reverse_value_workout(field: String, value: String) -> RzFitSwiftValue { switch field { + case "message_index": // message_index + return rzfit_swift_reverse_value_message_index(value: value) case "sport": // sport return rzfit_swift_reverse_value_sport(value: value) case "capabilities": // workout_capabilities @@ -4014,6 +4074,9 @@ fileprivate func rzfit_swift_reverse_value_weight_scale(field: String, value: St return .value(dbl) case "user_profile_index": // message_index return rzfit_swift_reverse_value_message_index(value: value) + case "bmi": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) default: return .unknown } @@ -4173,6 +4236,40 @@ fileprivate func rzfit_swift_reverse_value_monitoring(field: String, value: Stri return .unknown } } +fileprivate func rzfit_swift_reverse_value_monitoring_hr_data(field: String, value: String) -> RzFitSwiftValue { + switch field { + case "timestamp": // date_time + guard let dbl : Double = Double(value) else { return .unknown } + let dat : Date = Date(timeIntervalSinceReferenceDate: dbl-347241600.0 ) + return .date(dat) + case "resting_heart_rate": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "current_day_resting_heart_rate": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + default: + return .unknown + } +} +fileprivate func rzfit_swift_reverse_value_spo2_data(field: String, value: String) -> RzFitSwiftValue { + switch field { + case "timestamp": // date_time + guard let dbl : Double = Double(value) else { return .unknown } + let dat : Date = Date(timeIntervalSinceReferenceDate: dbl-347241600.0 ) + return .date(dat) + case "reading_spo2": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "reading_confidence": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "mode": // spo2_measurement_type + return rzfit_swift_reverse_value_spo2_measurement_type(value: value) + default: + return .unknown + } +} fileprivate func rzfit_swift_reverse_value_hr(field: String, value: String) -> RzFitSwiftValue { switch field { case "timestamp": // date_time @@ -4211,6 +4308,32 @@ fileprivate func rzfit_swift_reverse_value_stress_level(field: String, value: St return .unknown } } +fileprivate func rzfit_swift_reverse_value_max_met_data(field: String, value: String) -> RzFitSwiftValue { + switch field { + case "update_time": // date_time + guard let dbl : Double = Double(value) else { return .unknown } + let dat : Date = Date(timeIntervalSinceReferenceDate: dbl-347241600.0 ) + return .date(dat) + case "vo2_max": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "sport": // sport + return rzfit_swift_reverse_value_sport(value: value) + case "sub_sport": // sub_sport + return rzfit_swift_reverse_value_sub_sport(value: value) + case "max_met_category": // max_met_category + return rzfit_swift_reverse_value_max_met_category(value: value) + case "calibrated_data": // bool + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "hr_source": // max_met_heart_rate_source + return rzfit_swift_reverse_value_max_met_heart_rate_source(value: value) + case "speed_source": // max_met_speed_source + return rzfit_swift_reverse_value_max_met_speed_source(value: value) + default: + return .unknown + } +} fileprivate func rzfit_swift_reverse_value_memo_glob(field: String, value: String) -> RzFitSwiftValue { switch field { case "part_index": // uint32 @@ -4233,6 +4356,18 @@ fileprivate func rzfit_swift_reverse_value_memo_glob(field: String, value: Strin return .unknown } } +fileprivate func rzfit_swift_reverse_value_sleep_level(field: String, value: String) -> RzFitSwiftValue { + switch field { + case "timestamp": // date_time + guard let dbl : Double = Double(value) else { return .unknown } + let dat : Date = Date(timeIntervalSinceReferenceDate: dbl-347241600.0 ) + return .date(dat) + case "sleep_level": // sleep_level + return rzfit_swift_reverse_value_sleep_level(value: value) + default: + return .unknown + } +} fileprivate func rzfit_swift_reverse_value_ant_channel_id(field: String, value: String) -> RzFitSwiftValue { switch field { case "channel_number": // uint8 @@ -4462,6 +4597,78 @@ fileprivate func rzfit_swift_reverse_value_hrv(field: String, value: String) -> return .unknown } } +fileprivate func rzfit_swift_reverse_value_beat_intervals(field: String, value: String) -> RzFitSwiftValue { + switch field { + case "timestamp": // date_time + guard let dbl : Double = Double(value) else { return .unknown } + let dat : Date = Date(timeIntervalSinceReferenceDate: dbl-347241600.0 ) + return .date(dat) + case "timestamp_ms": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "time": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + default: + return .unknown + } +} +fileprivate func rzfit_swift_reverse_value_hrv_status_summary(field: String, value: String) -> RzFitSwiftValue { + switch field { + case "timestamp": // date_time + guard let dbl : Double = Double(value) else { return .unknown } + let dat : Date = Date(timeIntervalSinceReferenceDate: dbl-347241600.0 ) + return .date(dat) + case "weekly_average": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "last_night_average": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "last_night_5_min_high": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "baseline_low_upper": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "baseline_balanced_lower": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "baseline_balanced_upper": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "status": // hrv_status + return rzfit_swift_reverse_value_hrv_status(value: value) + default: + return .unknown + } +} +fileprivate func rzfit_swift_reverse_value_hrv_value(field: String, value: String) -> RzFitSwiftValue { + switch field { + case "timestamp": // date_time + guard let dbl : Double = Double(value) else { return .unknown } + let dat : Date = Date(timeIntervalSinceReferenceDate: dbl-347241600.0 ) + return .date(dat) + case "value": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + default: + return .unknown + } +} +fileprivate func rzfit_swift_reverse_value_respiration_rate(field: String, value: String) -> RzFitSwiftValue { + switch field { + case "timestamp": // date_time + guard let dbl : Double = Double(value) else { return .unknown } + let dat : Date = Date(timeIntervalSinceReferenceDate: dbl-347241600.0 ) + return .date(dat) + case "respiration_rate": // sint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + default: + return .unknown + } +} fileprivate func rzfit_swift_reverse_value_tank_update(field: String, value: String) -> RzFitSwiftValue { switch field { case "timestamp": // date_time @@ -4498,6 +4705,54 @@ fileprivate func rzfit_swift_reverse_value_tank_summary(field: String, value: St return .unknown } } +fileprivate func rzfit_swift_reverse_value_sleep_assessment(field: String, value: String) -> RzFitSwiftValue { + switch field { + case "combined_awake_score": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "awake_time_score": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "awakenings_count_score": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "deep_sleep_score": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "sleep_duration_score": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "light_sleep_score": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "overall_sleep_score": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "sleep_quality_score": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "sleep_recovery_score": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "rem_sleep_score": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "sleep_restlessness_score": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "awakenings_count": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "interruptions_score": // uint8 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + case "average_stress_during_sleep": // uint16 + guard let dbl : Double = Double(value) else { return .unknown } + return .value(dbl) + default: + return .unknown + } +} fileprivate func rzfit_swift_reverse_value_file(value : String) -> RzFitSwiftValue { switch value { @@ -4706,12 +4961,16 @@ fileprivate func rzfit_swift_reverse_value_mesg_num(value : String) -> RzFitSwif case "barometer_data": return .string("209") case "210": return .string("one_d_sensor_calibration") case "one_d_sensor_calibration": return .string("210") + case "211": return .string("monitoring_hr_data") + case "monitoring_hr_data": return .string("211") case "216": return .string("time_in_zone") case "time_in_zone": return .string("216") case "225": return .string("set") case "set": return .string("225") case "227": return .string("stress_level") case "stress_level": return .string("227") + case "229": return .string("max_met_data") + case "max_met_data": return .string("229") case "258": return .string("dive_settings") case "dive_settings": return .string("258") case "259": return .string("dive_gas") @@ -4722,8 +4981,16 @@ fileprivate func rzfit_swift_reverse_value_mesg_num(value : String) -> RzFitSwif case "exercise_title": return .string("264") case "268": return .string("dive_summary") case "dive_summary": return .string("268") + case "269": return .string("spo2_data") + case "spo2_data": return .string("269") + case "275": return .string("sleep_level") + case "sleep_level": return .string("275") case "285": return .string("jump") case "jump": return .string("285") + case "290": return .string("beat_intervals") + case "beat_intervals": return .string("290") + case "297": return .string("respiration_rate") + case "respiration_rate": return .string("297") case "312": return .string("split") case "split": return .string("312") case "317": return .string("climb_pro") @@ -4732,6 +4999,12 @@ fileprivate func rzfit_swift_reverse_value_mesg_num(value : String) -> RzFitSwif case "tank_update": return .string("319") case "323": return .string("tank_summary") case "tank_summary": return .string("323") + case "346": return .string("sleep_assessment") + case "sleep_assessment": return .string("346") + case "370": return .string("hrv_status_summary") + case "hrv_status_summary": return .string("370") + case "371": return .string("hrv_value") + case "hrv_value": return .string("371") case "375": return .string("device_aux_battery_info") case "device_aux_battery_info": return .string("375") case "393": return .string("dive_apnea_alarm") @@ -5797,6 +6070,26 @@ fileprivate func rzfit_swift_reverse_value_sub_sport(value : String) -> RzFitSwi case "pickleball": return .string("84") case "85": return .string("padel") case "padel": return .string("85") + case "110": return .string("fly_canopy") + case "fly_canopy": return .string("110") + case "111": return .string("fly_paraglide") + case "fly_paraglide": return .string("111") + case "112": return .string("fly_paramotor") + case "fly_paramotor": return .string("112") + case "113": return .string("fly_pressurized") + case "fly_pressurized": return .string("113") + case "114": return .string("fly_navigate") + case "fly_navigate": return .string("114") + case "115": return .string("fly_timer") + case "fly_timer": return .string("115") + case "116": return .string("fly_altimeter") + case "fly_altimeter": return .string("116") + case "117": return .string("fly_wx") + case "fly_wx": return .string("117") + case "118": return .string("fly_vfr") + case "fly_vfr": return .string("118") + case "119": return .string("fly_ifr") + case "fly_ifr": return .string("119") case "254": return .string("all") case "all": return .string("254") default: return .unknown @@ -6056,6 +6349,8 @@ fileprivate func rzfit_swift_reverse_value_event(value : String) -> RzFitSwiftVa case "elev_low_alert": return .string("46") case "47": return .string("comm_timeout") case "comm_timeout": return .string("47") + case "54": return .string("auto_activity_detect") + case "auto_activity_detect": return .string("54") case "56": return .string("dive_alert") case "dive_alert": return .string("56") case "57": return .string("dive_gas_switched") @@ -6772,6 +7067,12 @@ fileprivate func rzfit_swift_reverse_value_manufacturer(value : String) -> RzFit case "zwift_byte": return .string("144") case "145": return .string("porsche_ep") case "porsche_ep": return .string("145") + case "146": return .string("blackbird") + case "blackbird": return .string("146") + case "147": return .string("meilan_byte") + case "meilan_byte": return .string("147") + case "148": return .string("ezon") + case "ezon": return .string("148") case "255": return .string("development") case "development": return .string("255") case "257": return .string("healthandlife") @@ -6906,6 +7207,10 @@ fileprivate func rzfit_swift_reverse_value_manufacturer(value : String) -> RzFit case "lululemon_studio": return .string("321") case "322": return .string("shanyue") case "shanyue": return .string("322") + case "323": return .string("spinning_mda") + case "spinning_mda": return .string("323") + case "324": return .string("hilldating") + case "hilldating": return .string("324") case "5759": return .string("actigraphcorp") case "actigraphcorp": return .string("5759") default: return .unknown @@ -7417,6 +7722,8 @@ fileprivate func rzfit_swift_reverse_value_garmin_product(value : String) -> RzF case "fenix5x_plus_apac": return .string("3135") case "3142": return .string("edge_520_plus_apac") case "edge_520_plus_apac": return .string("3142") + case "3143": return .string("descent_t1") + case "descent_t1": return .string("3143") case "3144": return .string("fr235l_asia") case "fr235l_asia": return .string("3144") case "3145": return .string("fr245_asia") @@ -7591,6 +7898,8 @@ fileprivate func rzfit_swift_reverse_value_garmin_product(value : String) -> RzF case "marq_golfer_asia": return .string("3850") case "3851": return .string("venu2_plus") case "venu2_plus": return .string("3851") + case "3865": return .string("gnss") + case "gnss": return .string("3865") case "3869": return .string("fr55") case "fr55": return .string("3869") case "3888": return .string("instinct_2") @@ -7649,6 +7958,10 @@ fileprivate func rzfit_swift_reverse_value_garmin_product(value : String) -> RzF case "fr955": return .string("4024") case "4033": return .string("fr55_asia") case "fr55_asia": return .string("4033") + case "4061": return .string("edge_540") + case "edge_540": return .string("4061") + case "4062": return .string("edge_840") + case "edge_840": return .string("4062") case "4063": return .string("vivosmart_5") case "vivosmart_5": return .string("4063") case "4071": return .string("instinct_2_asia") @@ -7673,6 +7986,12 @@ fileprivate func rzfit_swift_reverse_value_garmin_product(value : String) -> RzF case "instinct_crossover": return .string("4155") case "4169": return .string("edge_explore2") case "edge_explore2": return .string("4169") + case "4233": return .string("approach_s70") + case "approach_s70": return .string("4233") + case "4257": return .string("fr265_large") + case "fr265_large": return .string("4257") + case "4258": return .string("fr265_small") + case "fr265_small": return .string("4258") case "4265": return .string("tacx_neo_smart") case "tacx_neo_smart": return .string("4265") case "4266": return .string("tacx_neo2_smart") @@ -7699,8 +8018,22 @@ fileprivate func rzfit_swift_reverse_value_garmin_product(value : String) -> RzF case "tacx_magnum": return .string("4276") case "4305": return .string("edge_1040_asia") case "edge_1040_asia": return .string("4305") + case "4312": return .string("epix_gen2_pro_42") + case "epix_gen2_pro_42": return .string("4312") + case "4313": return .string("epix_gen2_pro_47") + case "epix_gen2_pro_47": return .string("4313") + case "4314": return .string("epix_gen2_pro_51") + case "epix_gen2_pro_51": return .string("4314") + case "4315": return .string("fr965") + case "fr965": return .string("4315") case "4341": return .string("enduro2") case "enduro2": return .string("4341") + case "4375": return .string("fenix7_pro_solar") + case "fenix7_pro_solar": return .string("4375") + case "4394": return .string("instinct_2x") + case "instinct_2x": return .string("4394") + case "4442": return .string("descent_t2") + case "descent_t2": return .string("4442") case "10007": return .string("sdm4") case "sdm4": return .string("10007") case "10014": return .string("edge_remote") @@ -9649,6 +9982,17 @@ fileprivate func rzfit_swift_reverse_value_set_type(value : String) -> RzFitSwif } } +fileprivate func rzfit_swift_reverse_value_max_met_category(value : String) -> RzFitSwiftValue +{ + switch value { + case "0": return .string("generic") + case "generic": return .string("0") + case "1": return .string("cycling") + case "cycling": return .string("1") + default: return .unknown + } +} + fileprivate func rzfit_swift_reverse_value_exercise_category(value : String) -> RzFitSwiftValue { switch value { @@ -12579,6 +12923,38 @@ fileprivate func rzfit_swift_reverse_value_dive_backlight_mode(value : String) - } } +fileprivate func rzfit_swift_reverse_value_sleep_level(value : String) -> RzFitSwiftValue +{ + switch value { + case "0": return .string("unmeasurable") + case "unmeasurable": return .string("0") + case "1": return .string("awake") + case "awake": return .string("1") + case "2": return .string("light") + case "light": return .string("2") + case "3": return .string("deep") + case "deep": return .string("3") + case "4": return .string("rem") + case "rem": return .string("4") + default: return .unknown + } +} + +fileprivate func rzfit_swift_reverse_value_spo2_measurement_type(value : String) -> RzFitSwiftValue +{ + switch value { + case "0": return .string("off_wrist") + case "off_wrist": return .string("0") + case "1": return .string("spot_check") + case "spot_check": return .string("1") + case "2": return .string("continuous_check") + case "continuous_check": return .string("2") + case "3": return .string("periodic") + case "periodic": return .string("3") + default: return .unknown + } +} + fileprivate func rzfit_swift_reverse_value_ccr_setpoint_switch_mode(value : String) -> RzFitSwiftValue { switch value { @@ -12715,6 +13091,47 @@ fileprivate func rzfit_swift_reverse_value_radar_threat_level_type(value : Strin } } +fileprivate func rzfit_swift_reverse_value_max_met_speed_source(value : String) -> RzFitSwiftValue +{ + switch value { + case "0": return .string("onboard_gps") + case "onboard_gps": return .string("0") + case "1": return .string("connected_gps") + case "connected_gps": return .string("1") + case "2": return .string("cadence") + case "cadence": return .string("2") + default: return .unknown + } +} + +fileprivate func rzfit_swift_reverse_value_max_met_heart_rate_source(value : String) -> RzFitSwiftValue +{ + switch value { + case "0": return .string("whr") + case "whr": return .string("0") + case "1": return .string("hrm") + case "hrm": return .string("1") + default: return .unknown + } +} + +fileprivate func rzfit_swift_reverse_value_hrv_status(value : String) -> RzFitSwiftValue +{ + switch value { + case "0": return .string("none") + case "none": return .string("0") + case "1": return .string("poor") + case "poor": return .string("1") + case "2": return .string("low") + case "low": return .string("2") + case "3": return .string("unbalanced") + case "unbalanced": return .string("3") + case "4": return .string("balanced") + case "balanced": return .string("4") + default: return .unknown + } +} + fileprivate func rzfit_swift_reverse_value_no_fly_time_mode(value : String) -> RzFitSwiftValue { switch value { diff --git a/Sources/FitFileParserObjc/fit.h b/Sources/FitFileParserObjc/fit.h index 1dcd45f..63b5970 100644 --- a/Sources/FitFileParserObjc/fit.h +++ b/Sources/FitFileParserObjc/fit.h @@ -10,8 +10,8 @@ // Copyright 2021 Garmin Canada Inc. //////////////////////////////////////////////////////////////////////////////// // ****WARNING**** This file is auto-generated! Do NOT edit this file. -// Profile Version = 21.105Release -// Tag = production/release/21.105.00-0-gdc65d24 +// Profile Version = 21.115Release +// Tag = production/release/21.115.00-0-gfe0a7f8 // Product = EXAMPLE // Alignment = 4 bytes, padding disabled. //////////////////////////////////////////////////////////////////////////////// @@ -60,7 +60,7 @@ #define FIT_PROTOCOL_VERSION_MAX FIT_PROTOCOL_VERSION_20 #define FIT_PROFILE_VERSION_MAJOR 21 - #define FIT_PROFILE_VERSION_MINOR 105 + #define FIT_PROFILE_VERSION_MINOR 115 #define FIT_PROFILE_VERSION_SCALE 100 #define FIT_PROFILE_VERSION ((FIT_UINT16) (FIT_PROFILE_VERSION_MAJOR * 100 + FIT_PROFILE_VERSION_MINOR)) #endif // !defined(FIT_CPP_INCLUDE_C) diff --git a/Sources/FitFileParserObjc/fit.m b/Sources/FitFileParserObjc/fit.m index 215d72a..c61fc6f 100644 --- a/Sources/FitFileParserObjc/fit.m +++ b/Sources/FitFileParserObjc/fit.m @@ -10,8 +10,8 @@ // Copyright 2021 Garmin Canada Inc. //////////////////////////////////////////////////////////////////////////////// // ****WARNING**** This file is auto-generated! Do NOT edit this file. -// Profile Version = 21.105Release -// Tag = production/release/21.105.00-0-gdc65d24 +// Profile Version = 21.115Release +// Tag = production/release/21.115.00-0-gfe0a7f8 // Product = EXAMPLE // Alignment = 4 bytes, padding disabled. //////////////////////////////////////////////////////////////////////////////// diff --git a/Sources/FitFileParserObjc/fit_convert.h b/Sources/FitFileParserObjc/fit_convert.h index 7e28e0b..c56baf8 100644 --- a/Sources/FitFileParserObjc/fit_convert.h +++ b/Sources/FitFileParserObjc/fit_convert.h @@ -10,8 +10,8 @@ // Copyright 2021 Garmin Canada Inc. //////////////////////////////////////////////////////////////////////////////// // ****WARNING**** This file is auto-generated! Do NOT edit this file. -// Profile Version = 21.105Release -// Tag = production/release/21.105.00-0-gdc65d24 +// Profile Version = 21.115Release +// Tag = production/release/21.115.00-0-gfe0a7f8 // Product = EXAMPLE // Alignment = 4 bytes, padding disabled. //////////////////////////////////////////////////////////////////////////////// diff --git a/Sources/FitFileParserObjc/fit_convert.m b/Sources/FitFileParserObjc/fit_convert.m index 8965957..dc34017 100644 --- a/Sources/FitFileParserObjc/fit_convert.m +++ b/Sources/FitFileParserObjc/fit_convert.m @@ -10,8 +10,8 @@ // Copyright 2021 Garmin Canada Inc. //////////////////////////////////////////////////////////////////////////////// // ****WARNING**** This file is auto-generated! Do NOT edit this file. -// Profile Version = 21.105Release -// Tag = production/release/21.105.00-0-gdc65d24 +// Profile Version = 21.115Release +// Tag = production/release/21.115.00-0-gfe0a7f8 // Product = EXAMPLE // Alignment = 4 bytes, padding disabled. //////////////////////////////////////////////////////////////////////////////// diff --git a/Sources/FitFileParserObjc/fit_crc.h b/Sources/FitFileParserObjc/fit_crc.h index 81feee7..e52ae53 100644 --- a/Sources/FitFileParserObjc/fit_crc.h +++ b/Sources/FitFileParserObjc/fit_crc.h @@ -10,8 +10,8 @@ // Copyright 2021 Garmin Canada Inc. //////////////////////////////////////////////////////////////////////////////// // ****WARNING**** This file is auto-generated! Do NOT edit this file. -// Profile Version = 21.105Release -// Tag = production/release/21.105.00-0-gdc65d24 +// Profile Version = 21.115Release +// Tag = production/release/21.115.00-0-gfe0a7f8 // Product = EXAMPLE // Alignment = 4 bytes, padding disabled. //////////////////////////////////////////////////////////////////////////////// diff --git a/Sources/FitFileParserObjc/fit_crc.m b/Sources/FitFileParserObjc/fit_crc.m index f291c1b..883b49e 100644 --- a/Sources/FitFileParserObjc/fit_crc.m +++ b/Sources/FitFileParserObjc/fit_crc.m @@ -10,8 +10,8 @@ // Copyright 2021 Garmin Canada Inc. //////////////////////////////////////////////////////////////////////////////// // ****WARNING**** This file is auto-generated! Do NOT edit this file. -// Profile Version = 21.105Release -// Tag = production/release/21.105.00-0-gdc65d24 +// Profile Version = 21.115Release +// Tag = production/release/21.115.00-0-gfe0a7f8 // Product = EXAMPLE // Alignment = 4 bytes, padding disabled. //////////////////////////////////////////////////////////////////////////////// diff --git a/Sources/FitFileParserObjc/fit_product.h b/Sources/FitFileParserObjc/fit_product.h index d4e4080..06c3c51 100644 --- a/Sources/FitFileParserObjc/fit_product.h +++ b/Sources/FitFileParserObjc/fit_product.h @@ -10,8 +10,8 @@ // Copyright 2021 Garmin Canada Inc. //////////////////////////////////////////////////////////////////////////////// // ****WARNING**** This file is auto-generated! Do NOT edit this file. -// Profile Version = 21.105Release -// Tag = production/release/21.105.00-0-gdc65d24 +// Profile Version = 21.115Release +// Tag = production/release/21.115.00-0-gfe0a7f8 // Product = EXAMPLE // Alignment = 4 bytes, padding disabled. //////////////////////////////////////////////////////////////////////////////// diff --git a/Sources/FitFileParserObjc/rzfit_objc_map.m b/Sources/FitFileParserObjc/rzfit_objc_map.m index d14e35f..67ec71a 100644 --- a/Sources/FitFileParserObjc/rzfit_objc_map.m +++ b/Sources/FitFileParserObjc/rzfit_objc_map.m @@ -656,6 +656,16 @@ case 75: return @"tabata"; case 84: return @"pickleball"; case 85: return @"padel"; + case 110: return @"fly_canopy"; + case 111: return @"fly_paraglide"; + case 112: return @"fly_paramotor"; + case 113: return @"fly_pressurized"; + case 114: return @"fly_navigate"; + case 115: return @"fly_timer"; + case 116: return @"fly_altimeter"; + case 117: return @"fly_wx"; + case 118: return @"fly_vfr"; + case 119: return @"fly_ifr"; case 254: return @"all"; default: return [NSString stringWithFormat:@"sub_sport_%u", (unsigned int)sub_sport]; } @@ -824,6 +834,7 @@ case 45: return @"elev_high_alert"; case 46: return @"elev_low_alert"; case 47: return @"comm_timeout"; + case 54: return @"auto_activity_detect"; case 56: return @"dive_alert"; case 57: return @"dive_gas_switched"; case 71: return @"tank_pressure_reserve"; @@ -1238,6 +1249,9 @@ case 143: return @"keiser_fitness"; case 144: return @"zwift_byte"; case 145: return @"porsche_ep"; + case 146: return @"blackbird"; + case 147: return @"meilan_byte"; + case 148: return @"ezon"; case 255: return @"development"; case 257: return @"healthandlife"; case 258: return @"lezyne"; @@ -1305,6 +1319,8 @@ case 320: return @"lsec"; case 321: return @"lululemon_studio"; case 322: return @"shanyue"; + case 323: return @"spinning_mda"; + case 324: return @"hilldating"; case 5759: return @"actigraphcorp"; default: return [NSString stringWithFormat:@"manufacturer_%u", (unsigned int)manufacturer]; } @@ -1564,6 +1580,7 @@ case 3134: return @"fenix5s_plus_apac"; case 3135: return @"fenix5x_plus_apac"; case 3142: return @"edge_520_plus_apac"; + case 3143: return @"descent_t1"; case 3144: return @"fr235l_asia"; case 3145: return @"fr245_asia"; case 3163: return @"vivo_active3m_apac"; @@ -1651,6 +1668,7 @@ case 3843: return @"edge_1040"; case 3850: return @"marq_golfer_asia"; case 3851: return @"venu2_plus"; + case 3865: return @"gnss"; case 3869: return @"fr55"; case 3888: return @"instinct_2"; case 3905: return @"fenix7s"; @@ -1680,6 +1698,8 @@ case 4017: return @"venu2_plus_asia"; case 4024: return @"fr955"; case 4033: return @"fr55_asia"; + case 4061: return @"edge_540"; + case 4062: return @"edge_840"; case 4063: return @"vivosmart_5"; case 4071: return @"instinct_2_asia"; case 4105: return @"marq_gen2"; @@ -1692,6 +1712,9 @@ case 4135: return @"tactix7"; case 4155: return @"instinct_crossover"; case 4169: return @"edge_explore2"; + case 4233: return @"approach_s70"; + case 4257: return @"fr265_large"; + case 4258: return @"fr265_small"; case 4265: return @"tacx_neo_smart"; case 4266: return @"tacx_neo2_smart"; case 4267: return @"tacx_neo2_t_smart"; @@ -1705,7 +1728,14 @@ case 4275: return @"tacx_flux2_smart"; case 4276: return @"tacx_magnum"; case 4305: return @"edge_1040_asia"; + case 4312: return @"epix_gen2_pro_42"; + case 4313: return @"epix_gen2_pro_47"; + case 4314: return @"epix_gen2_pro_51"; + case 4315: return @"fr965"; case 4341: return @"enduro2"; + case 4375: return @"fenix7_pro_solar"; + case 4394: return @"instinct_2x"; + case 4442: return @"descent_t2"; case 10007: return @"sdm4"; case 10014: return @"edge_remote"; case 20533: return @"tacx_training_app_win"; @@ -2907,6 +2937,15 @@ } +static NSString * rzfit_objc_string_from_max_met_category( FIT_ENUM max_met_category ){ + switch(max_met_category){ + case 0: return @"generic"; + case 1: return @"cycling"; + default: return [NSString stringWithFormat:@"max_met_category_%u", (unsigned int)max_met_category]; + } +} + + static NSString * rzfit_objc_string_from_exercise_category( FIT_UINT16 exercise_category ){ switch(exercise_category){ case 0: return @"bench_press"; @@ -4512,6 +4551,29 @@ } +static NSString * rzfit_objc_string_from_sleep_level( FIT_ENUM sleep_level ){ + switch(sleep_level){ + case 0: return @"unmeasurable"; + case 1: return @"awake"; + case 2: return @"light"; + case 3: return @"deep"; + case 4: return @"rem"; + default: return [NSString stringWithFormat:@"sleep_level_%u", (unsigned int)sleep_level]; + } +} + + +static NSString * rzfit_objc_string_from_spo2_measurement_type( FIT_ENUM spo2_measurement_type ){ + switch(spo2_measurement_type){ + case 0: return @"off_wrist"; + case 1: return @"spot_check"; + case 2: return @"continuous_check"; + case 3: return @"periodic"; + default: return [NSString stringWithFormat:@"spo2_measurement_type_%u", (unsigned int)spo2_measurement_type]; + } +} + + static NSString * rzfit_objc_string_from_ccr_setpoint_switch_mode( FIT_ENUM ccr_setpoint_switch_mode ){ switch(ccr_setpoint_switch_mode){ case 0: return @"manual"; @@ -4608,6 +4670,37 @@ } +static NSString * rzfit_objc_string_from_max_met_speed_source( FIT_ENUM max_met_speed_source ){ + switch(max_met_speed_source){ + case 0: return @"onboard_gps"; + case 1: return @"connected_gps"; + case 2: return @"cadence"; + default: return [NSString stringWithFormat:@"max_met_speed_source_%u", (unsigned int)max_met_speed_source]; + } +} + + +static NSString * rzfit_objc_string_from_max_met_heart_rate_source( FIT_ENUM max_met_heart_rate_source ){ + switch(max_met_heart_rate_source){ + case 0: return @"whr"; + case 1: return @"hrm"; + default: return [NSString stringWithFormat:@"max_met_heart_rate_source_%u", (unsigned int)max_met_heart_rate_source]; + } +} + + +static NSString * rzfit_objc_string_from_hrv_status( FIT_ENUM hrv_status ){ + switch(hrv_status){ + case 0: return @"none"; + case 1: return @"poor"; + case 2: return @"low"; + case 3: return @"unbalanced"; + case 4: return @"balanced"; + default: return [NSString stringWithFormat:@"hrv_status_%u", (unsigned int)hrv_status]; + } +} + + static NSString * rzfit_objc_string_from_no_fly_time_mode( FIT_ENUM no_fly_time_mode ){ switch(no_fly_time_mode){ case 0: return @"standard"; @@ -4626,7 +4719,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_file_id(FIT_UINT16 field, FIT_IN { FIT_UINT32 manufacturer = fit_interp_string_value(interp, 1); if( manufacturer == 263 ){ // favero_electronics - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 166, .fit_unit = 0, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 169, .fit_unit = 0, .fit_flag = 0 }; }else if( manufacturer == 1 ){ // garmin return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 59, .fit_unit = 0, .fit_flag = 0 }; }else if( manufacturer == 15 ){ // dynastream @@ -4679,7 +4772,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_slave_device(FIT_UINT16 field, F { FIT_UINT32 manufacturer = fit_interp_string_value(interp, 0); if( manufacturer == 263 ){ // favero_electronics - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 166, .fit_unit = 0, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 169, .fit_unit = 0, .fit_flag = 0 }; }else if( manufacturer == 1 ){ // garmin return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 59, .fit_unit = 0, .fit_flag = 0 }; }else if( manufacturer == 15 ){ // dynastream @@ -4770,7 +4863,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_device_settings(FIT_UINT16 field case 94: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // number_of_screens case 95: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 97, .fit_unit = 0, .fit_flag = 0 }; // smart_notification_display_orientation case 134: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 22, .fit_unit = 0, .fit_flag = 0 }; // tap_interface - case 174: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 170, .fit_unit = 0, .fit_flag = 0 }; // tap_sensitivity + case 174: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 173, .fit_unit = 0, .fit_flag = 0 }; // tap_sensitivity default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } @@ -4996,10 +5089,10 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_dive_settings(FIT_UINT16 field, case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 0, .fit_flag = 1 }; // timestamp case 254: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 8, .fit_unit = 0, .fit_flag = 0 }; // message_index case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // name - case 1: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 159, .fit_unit = 0, .fit_flag = 0 }; // model + case 1: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 160, .fit_unit = 0, .fit_flag = 0 }; // model case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // gf_low case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // gf_high - case 4: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 158, .fit_unit = 0, .fit_flag = 0 }; // water_type + case 4: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 159, .fit_unit = 0, .fit_flag = 0 }; // water_type case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 18, .fit_flag = 0 }; // water_density case 6: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // po2_warn case 7: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // po2_critical @@ -5009,7 +5102,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_dive_settings(FIT_UINT16 field, case 11: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // bottom_time case 12: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // apnea_countdown_enabled case 13: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // apnea_countdown_time - case 14: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 163, .fit_unit = 0, .fit_flag = 0 }; // backlight_mode + case 14: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 164, .fit_unit = 0, .fit_flag = 0 }; // backlight_mode case 15: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // backlight_brightness case 16: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 41, .fit_unit = 0, .fit_flag = 0 }; // backlight_timeout case 17: return (FIT_FIELD_INFO){.scale = 1, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // repeat_dive_interval @@ -5026,17 +5119,17 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_dive_settings(FIT_UINT16 field, return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = FIT_TYPE_PENDING, .fit_unit = 0, .fit_flag = 0 }; } case 21: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 8, .fit_unit = 0, .fit_flag = 0 }; // travel_gas - case 22: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 164, .fit_unit = 0, .fit_flag = 0 }; // ccr_low_setpoint_switch_mode + case 22: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 167, .fit_unit = 0, .fit_flag = 0 }; // ccr_low_setpoint_switch_mode case 23: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // ccr_low_setpoint case 24: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // ccr_low_setpoint_depth - case 25: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 164, .fit_unit = 0, .fit_flag = 0 }; // ccr_high_setpoint_switch_mode + case 25: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 167, .fit_unit = 0, .fit_flag = 0 }; // ccr_high_setpoint_switch_mode case 26: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // ccr_high_setpoint case 27: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // ccr_high_setpoint_depth - case 29: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 169, .fit_unit = 0, .fit_flag = 0 }; // gas_consumption_display + case 29: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 172, .fit_unit = 0, .fit_flag = 0 }; // gas_consumption_display case 30: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // up_key_enabled case 35: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 46, .fit_unit = 0, .fit_flag = 0 }; // dive_sounds case 36: return (FIT_FIELD_INFO){.scale = 10, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // last_stop_multiple - case 37: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 172, .fit_unit = 0, .fit_flag = 0 }; // no_fly_time_mode + case 37: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 178, .fit_unit = 0, .fit_flag = 0 }; // no_fly_time_mode default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } @@ -5046,7 +5139,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_dive_alarm(FIT_UINT16 field){ case 0: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // depth case 1: return (FIT_FIELD_INFO){.scale = 1, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // time case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // enabled - case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 162, .fit_unit = 0, .fit_flag = 0 }; // alarm_type + case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 163, .fit_unit = 0, .fit_flag = 0 }; // alarm_type case 4: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 46, .fit_unit = 0, .fit_flag = 0 }; // sound case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 31, .fit_unit = 0, .fit_flag = 0 }; // dive_types case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // id @@ -5064,7 +5157,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_dive_apnea_alarm(FIT_UINT16 fiel case 0: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // depth case 1: return (FIT_FIELD_INFO){.scale = 1, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // time case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // enabled - case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 162, .fit_unit = 0, .fit_flag = 0 }; // alarm_type + case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 163, .fit_unit = 0, .fit_flag = 0 }; // alarm_type case 4: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 46, .fit_unit = 0, .fit_flag = 0 }; // sound case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 31, .fit_unit = 0, .fit_flag = 0 }; // dive_types case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // id @@ -5081,8 +5174,8 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_dive_gas(FIT_UINT16 field){ case 254: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 8, .fit_unit = 0, .fit_flag = 0 }; // message_index case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // helium_content case 1: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // oxygen_content - case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 160, .fit_unit = 0, .fit_flag = 0 }; // status - case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 165, .fit_unit = 0, .fit_flag = 0 }; // mode + case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 161, .fit_unit = 0, .fit_flag = 0 }; // status + case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 168, .fit_unit = 0, .fit_flag = 0 }; // mode default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } @@ -5189,6 +5282,8 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_session(FIT_UINT16 field, FIT_IN case 35: return (FIT_FIELD_INFO){.scale = 10, .offset = 0, .fit_type = 0, .fit_unit = 27, .fit_flag = 0 }; // training_stress_score case 36: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 28, .fit_flag = 0 }; // intensity_factor case 37: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 77, .fit_unit = 0, .fit_flag = 0 }; // left_right_balance + case 38: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 20, .fit_flag = 0 }; // end_position_lat + case 39: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 20, .fit_flag = 0 }; // end_position_long case 41: return (FIT_FIELD_INFO){.scale = 10, .offset = 0, .fit_type = 0, .fit_unit = 29, .fit_flag = 0 }; // avg_stroke_count case 42: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // avg_stroke_distance case 43: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 71, .fit_unit = 30, .fit_flag = 0 }; // swim_stroke @@ -5244,6 +5339,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_session(FIT_UINT16 field, FIT_IN case 103: return (FIT_FIELD_INFO){.scale = 2, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // avg_left_pedal_smoothness case 104: return (FIT_FIELD_INFO){.scale = 2, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // avg_right_pedal_smoothness case 105: return (FIT_FIELD_INFO){.scale = 2, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // avg_combined_pedal_smoothness + case 110: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // sport_profile_name case 111: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // sport_index case 112: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // time_standing case 113: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // stand_count @@ -5292,6 +5388,10 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_session(FIT_UINT16 field, FIT_IN case 183: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // jump_count case 186: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 38, .fit_flag = 0 }; // avg_grit case 187: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 39, .fit_flag = 0 }; // avg_flow + case 194: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // avg_spo2 + case 195: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // avg_stress + case 197: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 40, .fit_flag = 0 }; // sdrr_hrv + case 198: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 40, .fit_flag = 0 }; // rmssd_hrv case 199: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // total_fractional_ascent case 200: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // total_fractional_descent case 208: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 32, .fit_flag = 0 }; // avg_core_temperature @@ -5471,7 +5571,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_length(FIT_UINT16 field){ case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 23, .fit_flag = 0 }; // total_strokes case 6: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 13, .fit_flag = 0 }; // avg_speed case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 71, .fit_unit = 30, .fit_flag = 0 }; // swim_stroke - case 9: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 40, .fit_flag = 0 }; // avg_swimming_cadence + case 9: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 41, .fit_flag = 0 }; // avg_swimming_cadence case 10: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // event_group case 11: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 24, .fit_flag = 0 }; // total_calories case 12: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 78, .fit_unit = 0, .fit_flag = 0 }; // length_type @@ -5497,7 +5597,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_record(FIT_UINT16 field){ case 5: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // distance case 6: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 13, .fit_flag = 0 }; // speed case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 15, .fit_flag = 0 }; // power - case 8: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 41, .fit_flag = 0 }; // compressed_speed_distance + case 8: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 42, .fit_flag = 0 }; // compressed_speed_distance case 9: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 11, .fit_flag = 0 }; // grade case 10: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // resistance case 11: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // time_from_course @@ -5547,7 +5647,8 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_record(FIT_UINT16 field){ case 83: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // vertical_ratio case 84: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // stance_time_balance case 85: return (FIT_FIELD_INFO){.scale = 10, .offset = 0, .fit_type = 0, .fit_unit = 12, .fit_flag = 0 }; // step_length - case 91: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 42, .fit_flag = 0 }; // absolute_pressure + case 87: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // cycle_length16 + case 91: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 43, .fit_flag = 0 }; // absolute_pressure case 92: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // depth case 93: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // next_stop_depth case 94: return (FIT_FIELD_INFO){.scale = 1, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // next_stop_time @@ -5559,14 +5660,15 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_record(FIT_UINT16 field){ case 108: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 37, .fit_flag = 0 }; // enhanced_respiration_rate case 114: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // grit case 115: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // flow - case 117: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 43, .fit_flag = 0 }; // ebike_travel_range + case 116: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // current_stress + case 117: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 44, .fit_flag = 0 }; // ebike_travel_range case 118: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // ebike_battery_level - case 119: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 44, .fit_flag = 0 }; // ebike_assist_mode + case 119: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 45, .fit_flag = 0 }; // ebike_assist_mode case 120: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // ebike_assist_level_percent case 123: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // air_time_remaining - case 124: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 45, .fit_flag = 0 }; // pressure_sac - case 125: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 46, .fit_flag = 0 }; // volume_sac - case 126: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 46, .fit_flag = 0 }; // rmv + case 124: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 46, .fit_flag = 0 }; // pressure_sac + case 125: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 47, .fit_flag = 0 }; // volume_sac + case 126: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 47, .fit_flag = 0 }; // rmv case 127: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 13, .fit_flag = 0 }; // ascent_rate case 129: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // po2 case 139: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 32, .fit_flag = 0 }; // core_temperature @@ -5587,7 +5689,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_event(FIT_UINT16 field, FIT_INTE }else if( event == 10 ){ // course_point return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 8, .fit_unit = 0, .fit_flag = 0 }; }else if( event == 11 ){ // battery - return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 47, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 48, .fit_flag = 0 }; }else if( event == 12 ){ // virtual_partner_pace return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 13, .fit_flag = 0 }; }else if( event == 13 ){ // hr_high_alert @@ -5611,7 +5713,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_event(FIT_UINT16 field, FIT_INTE }else if( event == 24 ){ // distance_duration_alert return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; }else if( event == 25 ){ // calorie_duration_alert - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 48, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 49, .fit_flag = 0 }; }else if( event == 27 ){ // fitness_equipment return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 45, .fit_unit = 0, .fit_flag = 0 }; }else if( event == 33 ){ // sport_point @@ -5625,7 +5727,9 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_event(FIT_UINT16 field, FIT_INTE }else if( event == 47 ){ // comm_timeout return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 107, .fit_unit = 0, .fit_flag = 0 }; }else if( event == 56 ){ // dive_alert - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 161, .fit_unit = 0, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 162, .fit_unit = 0, .fit_flag = 0 }; + }else if( event == 54 ){ // auto_activity_detect + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 50, .fit_flag = 0 }; }else if( event == 75 ){ // radar_threat_alert return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } @@ -5639,7 +5743,16 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_event(FIT_UINT16 field, FIT_INTE case 11: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // rear_gear_num case 12: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // rear_gear case 13: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 9, .fit_unit = 0, .fit_flag = 0 }; // device_index - case 21: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 171, .fit_unit = 0, .fit_flag = 0 }; // radar_threat_level_max + case 14: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 72, .fit_unit = 0, .fit_flag = 0 }; // activity_type + case 15: // start_timestamp + { + FIT_UINT32 event = fit_interp_string_value(interp, 0); + if( event == 54 ){ // auto_activity_detect + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 1, .fit_flag = 1 }; + } + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = FIT_TYPE_PENDING, .fit_unit = 0, .fit_flag = 0 }; + } + case 21: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 174, .fit_unit = 0, .fit_flag = 0 }; // radar_threat_level_max case 22: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // radar_threat_count case 23: return (FIT_FIELD_INFO){.scale = 10, .offset = 0, .fit_type = 0, .fit_unit = 13, .fit_flag = 0 }; // radar_threat_avg_approach_speed case 24: return (FIT_FIELD_INFO){.scale = 10, .offset = 0, .fit_type = 0, .fit_unit = 13, .fit_flag = 0 }; // radar_threat_max_approach_speed @@ -5670,7 +5783,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_device_info(FIT_UINT16 field, FI { FIT_UINT32 manufacturer = fit_interp_string_value(interp, 2); if( manufacturer == 263 ){ // favero_electronics - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 166, .fit_unit = 0, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 169, .fit_unit = 0, .fit_flag = 0 }; }else if( manufacturer == 1 ){ // garmin return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 59, .fit_unit = 0, .fit_flag = 0 }; }else if( manufacturer == 15 ){ // dynastream @@ -5685,7 +5798,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_device_info(FIT_UINT16 field, FI case 5: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // software_version case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // hardware_version case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // cum_operating_time - case 10: return (FIT_FIELD_INFO){.scale = 256, .offset = 0, .fit_type = 0, .fit_unit = 47, .fit_flag = 0 }; // battery_voltage + case 10: return (FIT_FIELD_INFO){.scale = 256, .offset = 0, .fit_type = 0, .fit_unit = 48, .fit_flag = 0 }; // battery_voltage case 11: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 63, .fit_unit = 0, .fit_flag = 0 }; // battery_status case 18: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 88, .fit_unit = 0, .fit_flag = 0 }; // sensor_position case 19: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // descriptor @@ -5702,7 +5815,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_device_aux_battery_info(FIT_UINT switch( field ){ case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 0, .fit_flag = 1 }; // timestamp case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 9, .fit_unit = 0, .fit_flag = 0 }; // device_index - case 1: return (FIT_FIELD_INFO){.scale = 256, .offset = 0, .fit_type = 0, .fit_unit = 47, .fit_flag = 0 }; // battery_voltage + case 1: return (FIT_FIELD_INFO){.scale = 256, .offset = 0, .fit_type = 0, .fit_unit = 48, .fit_flag = 0 }; // battery_voltage case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 63, .fit_unit = 0, .fit_flag = 0 }; // battery_status case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // battery_identifier default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; @@ -5717,7 +5830,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_training_file(FIT_UINT16 field, { FIT_UINT32 manufacturer = fit_interp_string_value(interp, 1); if( manufacturer == 263 ){ // favero_electronics - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 166, .fit_unit = 0, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 169, .fit_unit = 0, .fit_flag = 0 }; }else if( manufacturer == 1 ){ // garmin return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 59, .fit_unit = 0, .fit_flag = 0 }; }else if( manufacturer == 15 ){ // dynastream @@ -5798,9 +5911,9 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_gyroscope_data(FIT_UINT16 field) case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 33, .fit_flag = 0 }; // gyro_x case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 33, .fit_flag = 0 }; // gyro_y case 4: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 33, .fit_flag = 0 }; // gyro_z - case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 49, .fit_flag = 0 }; // calibrated_gyro_x - case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 49, .fit_flag = 0 }; // calibrated_gyro_y - case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 49, .fit_flag = 0 }; // calibrated_gyro_z + case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 51, .fit_flag = 0 }; // calibrated_gyro_x + case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 51, .fit_flag = 0 }; // calibrated_gyro_y + case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 51, .fit_flag = 0 }; // calibrated_gyro_z default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } @@ -5812,12 +5925,12 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_accelerometer_data(FIT_UINT16 fi case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 33, .fit_flag = 0 }; // accel_x case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 33, .fit_flag = 0 }; // accel_y case 4: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 33, .fit_flag = 0 }; // accel_z - case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 50, .fit_flag = 0 }; // calibrated_accel_x - case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 50, .fit_flag = 0 }; // calibrated_accel_y - case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 50, .fit_flag = 0 }; // calibrated_accel_z - case 8: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 51, .fit_flag = 0 }; // compressed_calibrated_accel_x - case 9: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 51, .fit_flag = 0 }; // compressed_calibrated_accel_y - case 10: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 51, .fit_flag = 0 }; // compressed_calibrated_accel_z + case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 52, .fit_flag = 0 }; // calibrated_accel_x + case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 52, .fit_flag = 0 }; // calibrated_accel_y + case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 52, .fit_flag = 0 }; // calibrated_accel_z + case 8: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 53, .fit_flag = 0 }; // compressed_calibrated_accel_x + case 9: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 53, .fit_flag = 0 }; // compressed_calibrated_accel_y + case 10: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 53, .fit_flag = 0 }; // compressed_calibrated_accel_z default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } @@ -5829,9 +5942,9 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_magnetometer_data(FIT_UINT16 fie case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 33, .fit_flag = 0 }; // mag_x case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 33, .fit_flag = 0 }; // mag_y case 4: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 33, .fit_flag = 0 }; // mag_z - case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 52, .fit_flag = 0 }; // calibrated_mag_x - case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 52, .fit_flag = 0 }; // calibrated_mag_y - case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 52, .fit_flag = 0 }; // calibrated_mag_z + case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 54, .fit_flag = 0 }; // calibrated_mag_x + case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 54, .fit_flag = 0 }; // calibrated_mag_y + case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 54, .fit_flag = 0 }; // calibrated_mag_z default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } @@ -5840,7 +5953,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_barometer_data(FIT_UINT16 field) case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 1, .fit_flag = 1 }; // timestamp case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 2, .fit_flag = 0 }; // timestamp_ms case 1: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 2, .fit_flag = 0 }; // sample_time_offset - case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 42, .fit_flag = 0 }; // baro_pres + case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 43, .fit_flag = 0 }; // baro_pres default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } @@ -5852,9 +5965,9 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_three_d_sensor_calibration(FIT_U { FIT_UINT32 sensor_type = fit_interp_string_value(interp, 0); if( sensor_type == 0 ){ // accelerometer - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 50, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 52, .fit_flag = 0 }; }else if( sensor_type == 1 ){ // gyroscope - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 49, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 51, .fit_flag = 0 }; } return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } @@ -5873,7 +5986,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_one_d_sensor_calibration(FIT_UIN { FIT_UINT32 sensor_type = fit_interp_string_value(interp, 0); if( sensor_type == 3 ){ // barometer - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 42, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 43, .fit_flag = 0 }; } return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } @@ -5918,14 +6031,14 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_aviation_attitude(FIT_UINT16 fie case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 1, .fit_flag = 1 }; // timestamp case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 2, .fit_flag = 0 }; // timestamp_ms case 1: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 2, .fit_flag = 0 }; // system_time - case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 53, .fit_flag = 0 }; // pitch - case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 53, .fit_flag = 0 }; // roll - case 4: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 54, .fit_flag = 0 }; // accel_lateral - case 5: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 54, .fit_flag = 0 }; // accel_normal - case 6: return (FIT_FIELD_INFO){.scale = 1024, .offset = 0, .fit_type = 0, .fit_unit = 55, .fit_flag = 0 }; // turn_rate + case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 55, .fit_flag = 0 }; // pitch + case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 55, .fit_flag = 0 }; // roll + case 4: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 56, .fit_flag = 0 }; // accel_lateral + case 5: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 56, .fit_flag = 0 }; // accel_normal + case 6: return (FIT_FIELD_INFO){.scale = 1024, .offset = 0, .fit_type = 0, .fit_unit = 57, .fit_flag = 0 }; // turn_rate case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 109, .fit_unit = 0, .fit_flag = 0 }; // stage case 8: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 11, .fit_flag = 0 }; // attitude_stage_complete - case 9: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 53, .fit_flag = 0 }; // track + case 9: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 55, .fit_flag = 0 }; // track case 10: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 110, .fit_unit = 0, .fit_flag = 0 }; // validity default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } @@ -5974,7 +6087,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_set(FIT_UINT16 field){ case 4: return (FIT_FIELD_INFO){.scale = 16, .offset = 0, .fit_type = 0, .fit_unit = 9, .fit_flag = 0 }; // weight case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 123, .fit_unit = 0, .fit_flag = 0 }; // set_type case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 0, .fit_flag = 1 }; // start_time - case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 124, .fit_unit = 0, .fit_flag = 0 }; // category + case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 125, .fit_unit = 0, .fit_flag = 0 }; // category case 8: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // category_subtype case 9: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 122, .fit_unit = 0, .fit_flag = 0 }; // weight_display_unit case 10: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 8, .fit_unit = 0, .fit_flag = 0 }; // message_index @@ -5999,7 +6112,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_jump(FIT_UINT16 field){ } static FIT_FIELD_INFO rzfit_objc_field_info_for_split(FIT_UINT16 field){ switch( field ){ - case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 167, .fit_unit = 0, .fit_flag = 0 }; // split_type + case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 170, .fit_unit = 0, .fit_flag = 0 }; // split_type case 1: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // total_elapsed_time case 2: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // total_timer_time case 3: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // total_distance @@ -6012,7 +6125,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_climb_pro(FIT_UINT16 field){ case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 1, .fit_flag = 1 }; // timestamp case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 20, .fit_flag = 0 }; // position_lat case 1: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 20, .fit_flag = 0 }; // position_long - case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 168, .fit_unit = 0, .fit_flag = 0 }; // climb_pro_event + case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 171, .fit_unit = 0, .fit_flag = 0 }; // climb_pro_event case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // climb_number case 4: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // climb_category case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // current_dist @@ -6231,6 +6344,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_segment_file(FIT_UINT16 field){ } static FIT_FIELD_INFO rzfit_objc_field_info_for_workout(FIT_UINT16 field){ switch( field ){ + case 254: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 8, .fit_unit = 0, .fit_flag = 0 }; // message_index case 4: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 23, .fit_unit = 0, .fit_flag = 0 }; // sport case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 62, .fit_unit = 0, .fit_flag = 0 }; // capabilities case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // num_valid_steps @@ -6268,11 +6382,11 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_workout_step(FIT_UINT16 field, F }else if( duration_type == 1 ){ // distance return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; }else if( duration_type == 2 ){ // hr_less_than - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 56, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 58, .fit_flag = 0 }; }else if( duration_type == 3 ){ // hr_greater_than - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 56, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 58, .fit_flag = 0 }; }else if( duration_type == 4 ){ // calories - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 48, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 49, .fit_flag = 0 }; }else if( duration_type == 6 ){ // repeat_until_steps_cmplt return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; }else if( duration_type == 7 ){ // repeat_until_time @@ -6290,9 +6404,9 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_workout_step(FIT_UINT16 field, F }else if( duration_type == 13 ){ // repeat_until_power_greater_than return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; }else if( duration_type == 14 ){ // power_less_than - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 57, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 59, .fit_flag = 0 }; }else if( duration_type == 15 ){ // power_greater_than - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 57, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 59, .fit_flag = 0 }; }else if( duration_type == 29 ){ // reps return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } @@ -6318,15 +6432,15 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_workout_step(FIT_UINT16 field, F }else if( duration_type == 8 ){ // repeat_until_distance return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; }else if( duration_type == 9 ){ // repeat_until_calories - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 48, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 49, .fit_flag = 0 }; }else if( duration_type == 10 ){ // repeat_until_hr_less_than - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 56, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 58, .fit_flag = 0 }; }else if( duration_type == 11 ){ // repeat_until_hr_greater_than - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 56, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 58, .fit_flag = 0 }; }else if( duration_type == 12 ){ // repeat_until_power_less_than - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 57, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 59, .fit_flag = 0 }; }else if( duration_type == 13 ){ // repeat_until_power_greater_than - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 57, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 59, .fit_flag = 0 }; }else if( target_type == 11 ){ // swim_stroke return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 71, .fit_unit = 0, .fit_flag = 0 }; } @@ -6338,11 +6452,11 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_workout_step(FIT_UINT16 field, F if( target_type == 0 ){ // speed return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 13, .fit_flag = 0 }; }else if( target_type == 1 ){ // heart_rate - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 56, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 58, .fit_flag = 0 }; }else if( target_type == 3 ){ // cadence return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 14, .fit_flag = 0 }; }else if( target_type == 4 ){ // power - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 57, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 59, .fit_flag = 0 }; } return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } @@ -6352,18 +6466,18 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_workout_step(FIT_UINT16 field, F if( target_type == 0 ){ // speed return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 13, .fit_flag = 0 }; }else if( target_type == 1 ){ // heart_rate - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 56, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 58, .fit_flag = 0 }; }else if( target_type == 3 ){ // cadence return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 14, .fit_flag = 0 }; }else if( target_type == 4 ){ // power - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 57, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 59, .fit_flag = 0 }; } return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 34, .fit_unit = 0, .fit_flag = 0 }; // intensity case 8: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // notes case 9: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 98, .fit_unit = 0, .fit_flag = 0 }; // equipment - case 10: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 124, .fit_unit = 0, .fit_flag = 0 }; // exercise_category + case 10: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 125, .fit_unit = 0, .fit_flag = 0 }; // exercise_category case 11: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // exercise_name case 12: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 9, .fit_flag = 0 }; // exercise_weight case 13: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 122, .fit_unit = 0, .fit_flag = 0 }; // weight_display_unit @@ -6390,11 +6504,11 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_workout_step(FIT_UINT16 field, F if( secondary_target_type == 0 ){ // speed return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 13, .fit_flag = 0 }; }else if( secondary_target_type == 1 ){ // heart_rate - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 56, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 58, .fit_flag = 0 }; }else if( secondary_target_type == 3 ){ // cadence return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 14, .fit_flag = 0 }; }else if( secondary_target_type == 4 ){ // power - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 57, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 59, .fit_flag = 0 }; } return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } @@ -6404,11 +6518,11 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_workout_step(FIT_UINT16 field, F if( secondary_target_type == 0 ){ // speed return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 13, .fit_flag = 0 }; }else if( secondary_target_type == 1 ){ // heart_rate - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 56, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 67, .fit_unit = 58, .fit_flag = 0 }; }else if( secondary_target_type == 3 ){ // cadence return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 14, .fit_flag = 0 }; }else if( secondary_target_type == 4 ){ // power - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 57, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 68, .fit_unit = 59, .fit_flag = 0 }; } return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } @@ -6418,7 +6532,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_workout_step(FIT_UINT16 field, F static FIT_FIELD_INFO rzfit_objc_field_info_for_exercise_title(FIT_UINT16 field){ switch( field ){ case 254: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 8, .fit_unit = 0, .fit_flag = 0 }; // message_index - case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 124, .fit_unit = 0, .fit_flag = 0 }; // exercise_category + case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 125, .fit_unit = 0, .fit_flag = 0 }; // exercise_category case 1: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // exercise_name case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // wkt_step_name default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; @@ -6431,7 +6545,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_schedule(FIT_UINT16 field, FIT_I { FIT_UINT32 manufacturer = fit_interp_string_value(interp, 0); if( manufacturer == 263 ){ // favero_electronics - return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 166, .fit_unit = 0, .fit_flag = 0 }; + return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 169, .fit_unit = 0, .fit_flag = 0 }; }else if( manufacturer == 1 ){ // garmin return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 59, .fit_unit = 0, .fit_flag = 0 }; }else if( manufacturer == 15 ){ // dynastream @@ -6475,24 +6589,25 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_weight_scale(FIT_UINT16 field){ case 3: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 9, .fit_flag = 0 }; // visceral_fat_mass case 4: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 9, .fit_flag = 0 }; // bone_mass case 5: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 9, .fit_flag = 0 }; // muscle_mass - case 7: return (FIT_FIELD_INFO){.scale = 4, .offset = 0, .fit_type = 0, .fit_unit = 58, .fit_flag = 0 }; // basal_met + case 7: return (FIT_FIELD_INFO){.scale = 4, .offset = 0, .fit_type = 0, .fit_unit = 60, .fit_flag = 0 }; // basal_met case 8: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // physique_rating - case 9: return (FIT_FIELD_INFO){.scale = 4, .offset = 0, .fit_type = 0, .fit_unit = 58, .fit_flag = 0 }; // active_met + case 9: return (FIT_FIELD_INFO){.scale = 4, .offset = 0, .fit_type = 0, .fit_unit = 60, .fit_flag = 0 }; // active_met case 10: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 7, .fit_flag = 0 }; // metabolic_age case 11: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // visceral_fat_rating case 12: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 8, .fit_unit = 0, .fit_flag = 0 }; // user_profile_index + case 13: return (FIT_FIELD_INFO){.scale = 10, .offset = 0, .fit_type = 0, .fit_unit = 61, .fit_flag = 0 }; // bmi default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } static FIT_FIELD_INFO rzfit_objc_field_info_for_blood_pressure(FIT_UINT16 field){ switch( field ){ case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 1, .fit_flag = 1 }; // timestamp - case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 59, .fit_flag = 0 }; // systolic_pressure - case 1: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 59, .fit_flag = 0 }; // diastolic_pressure - case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 59, .fit_flag = 0 }; // mean_arterial_pressure - case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 59, .fit_flag = 0 }; // map_3_sample_mean - case 4: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 59, .fit_flag = 0 }; // map_morning_values - case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 59, .fit_flag = 0 }; // map_evening_values + case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 62, .fit_flag = 0 }; // systolic_pressure + case 1: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 62, .fit_flag = 0 }; // diastolic_pressure + case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 62, .fit_flag = 0 }; // mean_arterial_pressure + case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 62, .fit_flag = 0 }; // map_3_sample_mean + case 4: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 62, .fit_flag = 0 }; // map_morning_values + case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 62, .fit_flag = 0 }; // map_evening_values case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 10, .fit_flag = 0 }; // heart_rate case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 64, .fit_unit = 0, .fit_flag = 0 }; // heart_rate_type case 8: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 69, .fit_unit = 0, .fit_flag = 0 }; // status @@ -6505,9 +6620,9 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_monitoring_info(FIT_UINT16 field case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 1, .fit_flag = 1 }; // timestamp case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 7, .fit_unit = 1, .fit_flag = 1 }; // local_timestamp case 1: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 72, .fit_unit = 0, .fit_flag = 0 }; // activity_type - case 3: return (FIT_FIELD_INFO){.scale = 5000, .offset = 0, .fit_type = 0, .fit_unit = 60, .fit_flag = 0 }; // cycles_to_distance - case 4: return (FIT_FIELD_INFO){.scale = 5000, .offset = 0, .fit_type = 0, .fit_unit = 61, .fit_flag = 0 }; // cycles_to_calories - case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 62, .fit_flag = 0 }; // resting_metabolic_rate + case 3: return (FIT_FIELD_INFO){.scale = 5000, .offset = 0, .fit_type = 0, .fit_unit = 63, .fit_flag = 0 }; // cycles_to_distance + case 4: return (FIT_FIELD_INFO){.scale = 5000, .offset = 0, .fit_type = 0, .fit_unit = 64, .fit_flag = 0 }; // cycles_to_calories + case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 65, .fit_flag = 0 }; // resting_metabolic_rate default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } @@ -6535,8 +6650,8 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_monitoring(FIT_UINT16 field, FIT case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 72, .fit_unit = 0, .fit_flag = 0 }; // activity_type case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 73, .fit_unit = 0, .fit_flag = 0 }; // activity_subtype case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 74, .fit_unit = 0, .fit_flag = 0 }; // activity_level - case 8: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 63, .fit_flag = 0 }; // distance_16 - case 9: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 64, .fit_flag = 0 }; // cycles_16 + case 8: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 66, .fit_flag = 0 }; // distance_16 + case 9: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 67, .fit_flag = 0 }; // cycles_16 case 10: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // active_time_16 case 11: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 7, .fit_unit = 0, .fit_flag = 1 }; // local_timestamp case 12: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 32, .fit_flag = 0 }; // temperature @@ -6545,11 +6660,11 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_monitoring(FIT_UINT16 field, FIT case 16: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 6, .fit_flag = 0 }; // activity_time case 19: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 24, .fit_flag = 0 }; // active_calories case 24: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // current_activity_type_intensity - case 25: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 65, .fit_flag = 0 }; // timestamp_min_8 + case 25: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 50, .fit_flag = 0 }; // timestamp_min_8 case 26: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // timestamp_16 case 27: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 10, .fit_flag = 0 }; // heart_rate case 28: return (FIT_FIELD_INFO){.scale = 10, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // intensity - case 29: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 65, .fit_flag = 0 }; // duration_min + case 29: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 50, .fit_flag = 0 }; // duration_min case 30: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // duration case 31: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // ascent case 32: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 8, .fit_flag = 0 }; // descent @@ -6558,6 +6673,23 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_monitoring(FIT_UINT16 field, FIT default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } +static FIT_FIELD_INFO rzfit_objc_field_info_for_monitoring_hr_data(FIT_UINT16 field){ + switch( field ){ + case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 1, .fit_flag = 1 }; // timestamp + case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 10, .fit_flag = 0 }; // resting_heart_rate + case 1: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 10, .fit_flag = 0 }; // current_day_resting_heart_rate + default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; + } +} +static FIT_FIELD_INFO rzfit_objc_field_info_for_spo2_data(FIT_UINT16 field){ + switch( field ){ + case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 1, .fit_flag = 1 }; // timestamp + case 0: return (FIT_FIELD_INFO){.scale = 1, .offset = 0, .fit_type = 0, .fit_unit = 17, .fit_flag = 0 }; // reading_spo2 + case 1: return (FIT_FIELD_INFO){.scale = 1, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // reading_confidence + case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 166, .fit_unit = 0, .fit_flag = 0 }; // mode + default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; + } +} static FIT_FIELD_INFO rzfit_objc_field_info_for_hr(FIT_UINT16 field){ switch( field ){ case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 0, .fit_flag = 1 }; // timestamp @@ -6576,6 +6708,19 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_stress_level(FIT_UINT16 field){ default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } +static FIT_FIELD_INFO rzfit_objc_field_info_for_max_met_data(FIT_UINT16 field){ + switch( field ){ + case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 0, .fit_flag = 1 }; // update_time + case 2: return (FIT_FIELD_INFO){.scale = 10, .offset = 0, .fit_type = 0, .fit_unit = 68, .fit_flag = 0 }; // vo2_max + case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 23, .fit_unit = 0, .fit_flag = 0 }; // sport + case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 31, .fit_unit = 0, .fit_flag = 0 }; // sub_sport + case 8: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 124, .fit_unit = 0, .fit_flag = 0 }; // max_met_category + case 9: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // calibrated_data + case 12: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 176, .fit_unit = 0, .fit_flag = 0 }; // hr_source + case 13: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 175, .fit_unit = 0, .fit_flag = 0 }; // speed_source + default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; + } +} static FIT_FIELD_INFO rzfit_objc_field_info_for_memo_glob(FIT_UINT16 field){ switch( field ){ case 250: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // part_index @@ -6587,6 +6732,13 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_memo_glob(FIT_UINT16 field){ default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } +static FIT_FIELD_INFO rzfit_objc_field_info_for_sleep_level(FIT_UINT16 field){ + switch( field ){ + case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 1, .fit_flag = 1 }; // timestamp + case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 165, .fit_unit = 0, .fit_flag = 0 }; // sleep_level + default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; + } +} static FIT_FIELD_INFO rzfit_objc_field_info_for_ant_channel_id(FIT_UINT16 field){ switch( field ){ case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // channel_number @@ -6670,9 +6822,9 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_dive_summary(FIT_UINT16 field){ case 9: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 36, .fit_flag = 0 }; // o2_toxicity case 10: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // dive_number case 11: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // bottom_time - case 12: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 45, .fit_flag = 0 }; // avg_pressure_sac - case 13: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 46, .fit_flag = 0 }; // avg_volume_sac - case 14: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 46, .fit_flag = 0 }; // avg_rmv + case 12: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 46, .fit_flag = 0 }; // avg_pressure_sac + case 13: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 47, .fit_flag = 0 }; // avg_volume_sac + case 14: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 47, .fit_flag = 0 }; // avg_rmv case 15: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // descent_time case 16: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 1, .fit_flag = 0 }; // ascent_time case 17: return (FIT_FIELD_INFO){.scale = 1000, .offset = 0, .fit_type = 0, .fit_unit = 13, .fit_flag = 0 }; // avg_ascent_rate @@ -6689,11 +6841,46 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_hrv(FIT_UINT16 field){ default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } +static FIT_FIELD_INFO rzfit_objc_field_info_for_beat_intervals(FIT_UINT16 field){ + switch( field ){ + case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 0, .fit_flag = 1 }; // timestamp + case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 2, .fit_flag = 0 }; // timestamp_ms + case 1: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 2, .fit_flag = 0 }; // time + default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; + } +} +static FIT_FIELD_INFO rzfit_objc_field_info_for_hrv_status_summary(FIT_UINT16 field){ + switch( field ){ + case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 0, .fit_flag = 1 }; // timestamp + case 0: return (FIT_FIELD_INFO){.scale = 128, .offset = 0, .fit_type = 0, .fit_unit = 2, .fit_flag = 0 }; // weekly_average + case 1: return (FIT_FIELD_INFO){.scale = 128, .offset = 0, .fit_type = 0, .fit_unit = 2, .fit_flag = 0 }; // last_night_average + case 2: return (FIT_FIELD_INFO){.scale = 128, .offset = 0, .fit_type = 0, .fit_unit = 2, .fit_flag = 0 }; // last_night_5_min_high + case 3: return (FIT_FIELD_INFO){.scale = 128, .offset = 0, .fit_type = 0, .fit_unit = 2, .fit_flag = 0 }; // baseline_low_upper + case 4: return (FIT_FIELD_INFO){.scale = 128, .offset = 0, .fit_type = 0, .fit_unit = 2, .fit_flag = 0 }; // baseline_balanced_lower + case 5: return (FIT_FIELD_INFO){.scale = 128, .offset = 0, .fit_type = 0, .fit_unit = 2, .fit_flag = 0 }; // baseline_balanced_upper + case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 177, .fit_unit = 0, .fit_flag = 0 }; // status + default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; + } +} +static FIT_FIELD_INFO rzfit_objc_field_info_for_hrv_value(FIT_UINT16 field){ + switch( field ){ + case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 0, .fit_flag = 1 }; // timestamp + case 0: return (FIT_FIELD_INFO){.scale = 128, .offset = 0, .fit_type = 0, .fit_unit = 2, .fit_flag = 0 }; // value + default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; + } +} +static FIT_FIELD_INFO rzfit_objc_field_info_for_respiration_rate(FIT_UINT16 field){ + switch( field ){ + case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 0, .fit_flag = 1 }; // timestamp + case 0: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 69, .fit_flag = 0 }; // respiration_rate + default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; + } +} static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_update(FIT_UINT16 field){ switch( field ){ case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 1, .fit_flag = 1 }; // timestamp case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 96, .fit_unit = 0, .fit_flag = 0 }; // sensor - case 1: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 66, .fit_flag = 0 }; // pressure + case 1: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 70, .fit_flag = 0 }; // pressure default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } @@ -6701,9 +6888,28 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ switch( field ){ case 253: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 6, .fit_unit = 1, .fit_flag = 1 }; // timestamp case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 96, .fit_unit = 0, .fit_flag = 0 }; // sensor - case 1: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 66, .fit_flag = 0 }; // start_pressure - case 2: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 66, .fit_flag = 0 }; // end_pressure - case 3: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 67, .fit_flag = 0 }; // volume_used + case 1: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 70, .fit_flag = 0 }; // start_pressure + case 2: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 70, .fit_flag = 0 }; // end_pressure + case 3: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 71, .fit_flag = 0 }; // volume_used + default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; + } +} +static FIT_FIELD_INFO rzfit_objc_field_info_for_sleep_assessment(FIT_UINT16 field){ + switch( field ){ + case 0: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // combined_awake_score + case 1: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // awake_time_score + case 2: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // awakenings_count_score + case 3: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // deep_sleep_score + case 4: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // sleep_duration_score + case 5: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // light_sleep_score + case 6: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // overall_sleep_score + case 7: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // sleep_quality_score + case 8: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // sleep_recovery_score + case 9: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // rem_sleep_score + case 10: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // sleep_restlessness_score + case 11: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // awakenings_count + case 14: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // interruptions_score + case 15: return (FIT_FIELD_INFO){.scale = 100, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; // average_stress_during_sleep default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } @@ -7318,6 +7524,8 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ case 35: return @"training_stress_score"; case 36: return @"intensity_factor"; case 37: return @"left_right_balance"; + case 38: return @"end_position_lat"; + case 39: return @"end_position_long"; case 41: return @"avg_stroke_count"; case 42: return @"avg_stroke_distance"; case 43: return @"swim_stroke"; @@ -7373,6 +7581,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ case 103: return @"avg_left_pedal_smoothness"; case 104: return @"avg_right_pedal_smoothness"; case 105: return @"avg_combined_pedal_smoothness"; + case 110: return @"sport_profile_name"; case 111: return @"sport_index"; case 112: return @"time_standing"; case 113: return @"stand_count"; @@ -7421,6 +7630,10 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ case 183: return @"jump_count"; case 186: return @"avg_grit"; case 187: return @"avg_flow"; + case 194: return @"avg_spo2"; + case 195: return @"avg_stress"; + case 197: return @"sdrr_hrv"; + case 198: return @"rmssd_hrv"; case 199: return @"total_fractional_ascent"; case 200: return @"total_fractional_descent"; case 208: return @"avg_core_temperature"; @@ -7682,6 +7895,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ case 83: return @"vertical_ratio"; case 84: return @"stance_time_balance"; case 85: return @"step_length"; + case 87: return @"cycle_length16"; case 91: return @"absolute_pressure"; case 92: return @"depth"; case 93: return @"next_stop_depth"; @@ -7694,6 +7908,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ case 108: return @"enhanced_respiration_rate"; case 114: return @"grit"; case 115: return @"flow"; + case 116: return @"current_stress"; case 117: return @"ebike_travel_range"; case 118: return @"ebike_battery_level"; case 119: return @"ebike_assist_mode"; @@ -7762,6 +7977,8 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ return @"comm_timeout"; }else if( event == 56 ){ // dive_alert return @"dive_alert"; + }else if( event == 54 ){ // auto_activity_detect + return @"auto_activity_detect_duration"; }else if( event == 75 ){ // radar_threat_alert return @"radar_threat_alert"; }else{ @@ -7776,6 +7993,16 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ case 11: return @"rear_gear_num"; case 12: return @"rear_gear"; case 13: return @"device_index"; + case 14: return @"activity_type"; + case 15: + { + FIT_UINT32 event = fit_interp_string_value(interp, 0); + if( event == 54 ){ // auto_activity_detect + return @"auto_activity_detect_start_timestamp"; + }else{ + return @"start_timestamp"; + } + } case 21: return @"radar_threat_level_max"; case 22: return @"radar_threat_count"; case 23: return @"radar_threat_avg_approach_speed"; @@ -8409,6 +8636,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ static NSString * rzfit_objc_field_num_to_string_for_workout( FIT_UINT8 field_num ){ switch( field_num ){ + case 254: return @"message_index"; case 4: return @"sport"; case 5: return @"capabilities"; case 6: return @"num_valid_steps"; @@ -8673,6 +8901,7 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ case 10: return @"metabolic_age"; case 11: return @"visceral_fat_rating"; case 12: return @"user_profile_index"; + case 13: return @"bmi"; default: return [NSString stringWithFormat:@"weight_scale_field_num_%u", (unsigned int)field_num]; } } @@ -8755,6 +8984,25 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ } } +static NSString * rzfit_objc_field_num_to_string_for_monitoring_hr_data( FIT_UINT8 field_num ){ + switch( field_num ){ + case 253: return @"timestamp"; + case 0: return @"resting_heart_rate"; + case 1: return @"current_day_resting_heart_rate"; + default: return [NSString stringWithFormat:@"monitoring_hr_data_field_num_%u", (unsigned int)field_num]; + } +} + +static NSString * rzfit_objc_field_num_to_string_for_spo2_data( FIT_UINT8 field_num ){ + switch( field_num ){ + case 253: return @"timestamp"; + case 0: return @"reading_spo2"; + case 1: return @"reading_confidence"; + case 2: return @"mode"; + default: return [NSString stringWithFormat:@"spo2_data_field_num_%u", (unsigned int)field_num]; + } +} + static NSString * rzfit_objc_field_num_to_string_for_hr( FIT_UINT8 field_num ){ switch( field_num ){ case 253: return @"timestamp"; @@ -8775,6 +9023,20 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ } } +static NSString * rzfit_objc_field_num_to_string_for_max_met_data( FIT_UINT8 field_num ){ + switch( field_num ){ + case 0: return @"update_time"; + case 2: return @"vo2_max"; + case 5: return @"sport"; + case 6: return @"sub_sport"; + case 8: return @"max_met_category"; + case 9: return @"calibrated_data"; + case 12: return @"hr_source"; + case 13: return @"speed_source"; + default: return [NSString stringWithFormat:@"max_met_data_field_num_%u", (unsigned int)field_num]; + } +} + static NSString * rzfit_objc_field_num_to_string_for_memo_glob( FIT_UINT8 field_num ){ switch( field_num ){ case 250: return @"part_index"; @@ -8787,6 +9049,14 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ } } +static NSString * rzfit_objc_field_num_to_string_for_sleep_level( FIT_UINT8 field_num ){ + switch( field_num ){ + case 253: return @"timestamp"; + case 0: return @"sleep_level"; + default: return [NSString stringWithFormat:@"sleep_level_field_num_%u", (unsigned int)field_num]; + } +} + static NSString * rzfit_objc_field_num_to_string_for_ant_channel_id( FIT_UINT8 field_num ){ switch( field_num ){ case 0: return @"channel_number"; @@ -8897,6 +9167,45 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ } } +static NSString * rzfit_objc_field_num_to_string_for_beat_intervals( FIT_UINT8 field_num ){ + switch( field_num ){ + case 253: return @"timestamp"; + case 0: return @"timestamp_ms"; + case 1: return @"time"; + default: return [NSString stringWithFormat:@"beat_intervals_field_num_%u", (unsigned int)field_num]; + } +} + +static NSString * rzfit_objc_field_num_to_string_for_hrv_status_summary( FIT_UINT8 field_num ){ + switch( field_num ){ + case 253: return @"timestamp"; + case 0: return @"weekly_average"; + case 1: return @"last_night_average"; + case 2: return @"last_night_5_min_high"; + case 3: return @"baseline_low_upper"; + case 4: return @"baseline_balanced_lower"; + case 5: return @"baseline_balanced_upper"; + case 6: return @"status"; + default: return [NSString stringWithFormat:@"hrv_status_summary_field_num_%u", (unsigned int)field_num]; + } +} + +static NSString * rzfit_objc_field_num_to_string_for_hrv_value( FIT_UINT8 field_num ){ + switch( field_num ){ + case 253: return @"timestamp"; + case 0: return @"value"; + default: return [NSString stringWithFormat:@"hrv_value_field_num_%u", (unsigned int)field_num]; + } +} + +static NSString * rzfit_objc_field_num_to_string_for_respiration_rate( FIT_UINT8 field_num ){ + switch( field_num ){ + case 253: return @"timestamp"; + case 0: return @"respiration_rate"; + default: return [NSString stringWithFormat:@"respiration_rate_field_num_%u", (unsigned int)field_num]; + } +} + static NSString * rzfit_objc_field_num_to_string_for_tank_update( FIT_UINT8 field_num ){ switch( field_num ){ case 253: return @"timestamp"; @@ -8917,6 +9226,26 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ } } +static NSString * rzfit_objc_field_num_to_string_for_sleep_assessment( FIT_UINT8 field_num ){ + switch( field_num ){ + case 0: return @"combined_awake_score"; + case 1: return @"awake_time_score"; + case 2: return @"awakenings_count_score"; + case 3: return @"deep_sleep_score"; + case 4: return @"sleep_duration_score"; + case 5: return @"light_sleep_score"; + case 6: return @"overall_sleep_score"; + case 7: return @"sleep_quality_score"; + case 8: return @"sleep_recovery_score"; + case 9: return @"rem_sleep_score"; + case 10: return @"sleep_restlessness_score"; + case 11: return @"awakenings_count"; + case 14: return @"interruptions_score"; + case 15: return @"average_stress_during_sleep"; + default: return [NSString stringWithFormat:@"sleep_assessment_field_num_%u", (unsigned int)field_num]; + } +} + #pragma mark - public section NSString * rzfit_objc_string_from_mesg_num( FIT_UINT16 mesg_num ){ switch(mesg_num){ @@ -8999,19 +9328,28 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ case 208: return @"magnetometer_data"; case 209: return @"barometer_data"; case 210: return @"one_d_sensor_calibration"; + case 211: return @"monitoring_hr_data"; case 216: return @"time_in_zone"; case 225: return @"set"; case 227: return @"stress_level"; + case 229: return @"max_met_data"; case 258: return @"dive_settings"; case 259: return @"dive_gas"; case 262: return @"dive_alarm"; case 264: return @"exercise_title"; case 268: return @"dive_summary"; + case 269: return @"spo2_data"; + case 275: return @"sleep_level"; case 285: return @"jump"; + case 290: return @"beat_intervals"; + case 297: return @"respiration_rate"; case 312: return @"split"; case 317: return @"climb_pro"; case 319: return @"tank_update"; case 323: return @"tank_summary"; + case 346: return @"sleep_assessment"; + case 370: return @"hrv_status_summary"; + case 371: return @"hrv_value"; case 375: return @"device_aux_battery_info"; case 393: return @"dive_apnea_alarm"; case 0xFF00: return @"mfg_range_min"; @@ -9062,34 +9400,38 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ case 37: return @"Breaths/min"; case 38: return @"kGrit"; case 39: return @"Flow"; - case 40: return @"strokes/min"; - case 41: return @"m/s,m"; - case 42: return @"Pa"; - case 43: return @"km"; - case 44: return @"depends on sensor"; - case 45: return @"bar/min"; - case 46: return @"L/min"; - case 47: return @"V"; - case 48: return @"calories"; - case 49: return @"deg/s"; - case 50: return @"g"; - case 51: return @"mG"; - case 52: return @"G"; - case 53: return @"radians"; - case 54: return @"m/s^2"; - case 55: return @"radians/second"; - case 56: return @"% or bpm"; - case 57: return @"% or watts"; - case 58: return @"kcal/day"; - case 59: return @"mmHg"; - case 60: return @"m/cycle"; - case 61: return @"kcal/cycle"; - case 62: return @"kcal / day"; - case 63: return @"100 * m"; - case 64: return @"2 * cycles (steps)"; - case 65: return @"min"; - case 66: return @"bar"; - case 67: return @"L"; + case 40: return @"mS"; + case 41: return @"strokes/min"; + case 42: return @"m/s,m"; + case 43: return @"Pa"; + case 44: return @"km"; + case 45: return @"depends on sensor"; + case 46: return @"bar/min"; + case 47: return @"L/min"; + case 48: return @"V"; + case 49: return @"calories"; + case 50: return @"min"; + case 51: return @"deg/s"; + case 52: return @"g"; + case 53: return @"mG"; + case 54: return @"G"; + case 55: return @"radians"; + case 56: return @"m/s^2"; + case 57: return @"radians/second"; + case 58: return @"% or bpm"; + case 59: return @"% or watts"; + case 60: return @"kcal/day"; + case 61: return @"kg/m^2"; + case 62: return @"mmHg"; + case 63: return @"m/cycle"; + case 64: return @"kcal/cycle"; + case 65: return @"kcal / day"; + case 66: return @"100 * m"; + case 67: return @"2 * cycles (steps)"; + case 68: return @"mL/kg/min"; + case 69: return @"breaths/min"; + case 70: return @"bar"; + case 71: return @"L"; default: return [NSString stringWithFormat:@"FIT_UNIT_%u", (unsigned int)fit_unit]; } } @@ -9174,19 +9516,28 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ case 208: return rzfit_objc_field_num_to_string_for_magnetometer_data(field); case 209: return rzfit_objc_field_num_to_string_for_barometer_data(field); case 210: return rzfit_objc_field_num_to_string_for_one_d_sensor_calibration(field,interp); + case 211: return rzfit_objc_field_num_to_string_for_monitoring_hr_data(field); case 216: return rzfit_objc_field_num_to_string_for_time_in_zone(field); case 225: return rzfit_objc_field_num_to_string_for_set(field); case 227: return rzfit_objc_field_num_to_string_for_stress_level(field); + case 229: return rzfit_objc_field_num_to_string_for_max_met_data(field); case 258: return rzfit_objc_field_num_to_string_for_dive_settings(field,interp); case 259: return rzfit_objc_field_num_to_string_for_dive_gas(field); case 262: return rzfit_objc_field_num_to_string_for_dive_alarm(field); case 264: return rzfit_objc_field_num_to_string_for_exercise_title(field); case 268: return rzfit_objc_field_num_to_string_for_dive_summary(field); + case 269: return rzfit_objc_field_num_to_string_for_spo2_data(field); + case 275: return rzfit_objc_field_num_to_string_for_sleep_level(field); case 285: return rzfit_objc_field_num_to_string_for_jump(field); + case 290: return rzfit_objc_field_num_to_string_for_beat_intervals(field); + case 297: return rzfit_objc_field_num_to_string_for_respiration_rate(field); case 312: return rzfit_objc_field_num_to_string_for_split(field); case 317: return rzfit_objc_field_num_to_string_for_climb_pro(field); case 319: return rzfit_objc_field_num_to_string_for_tank_update(field); case 323: return rzfit_objc_field_num_to_string_for_tank_summary(field); + case 346: return rzfit_objc_field_num_to_string_for_sleep_assessment(field); + case 370: return rzfit_objc_field_num_to_string_for_hrv_status_summary(field); + case 371: return rzfit_objc_field_num_to_string_for_hrv_value(field); case 375: return rzfit_objc_field_num_to_string_for_device_aux_battery_info(field); case 393: return rzfit_objc_field_num_to_string_for_dive_apnea_alarm(field); default: return [NSString stringWithFormat:@"MESG_NUM_%u_FIELD_%u", (unsigned int)global_mesg_num, (unsigned int)field]; @@ -9318,55 +9669,61 @@ static FIT_FIELD_INFO rzfit_objc_field_info_for_tank_summary(FIT_UINT16 field){ case 121: return rzfit_objc_string_from_bike_light_beam_angle_mode( (FIT_UINT8) val); case 122: return rzfit_objc_string_from_fit_base_unit( (FIT_UINT16) val); case 123: return rzfit_objc_string_from_set_type( (FIT_UINT8) val); - case 124: return rzfit_objc_string_from_exercise_category( (FIT_UINT16) val); - case 125: return rzfit_objc_string_from_bench_press_exercise_name( (FIT_UINT16) val); - case 126: return rzfit_objc_string_from_calf_raise_exercise_name( (FIT_UINT16) val); - case 127: return rzfit_objc_string_from_cardio_exercise_name( (FIT_UINT16) val); - case 128: return rzfit_objc_string_from_carry_exercise_name( (FIT_UINT16) val); - case 129: return rzfit_objc_string_from_chop_exercise_name( (FIT_UINT16) val); - case 130: return rzfit_objc_string_from_core_exercise_name( (FIT_UINT16) val); - case 131: return rzfit_objc_string_from_crunch_exercise_name( (FIT_UINT16) val); - case 132: return rzfit_objc_string_from_curl_exercise_name( (FIT_UINT16) val); - case 133: return rzfit_objc_string_from_deadlift_exercise_name( (FIT_UINT16) val); - case 134: return rzfit_objc_string_from_flye_exercise_name( (FIT_UINT16) val); - case 135: return rzfit_objc_string_from_hip_raise_exercise_name( (FIT_UINT16) val); - case 136: return rzfit_objc_string_from_hip_stability_exercise_name( (FIT_UINT16) val); - case 137: return rzfit_objc_string_from_hip_swing_exercise_name( (FIT_UINT16) val); - case 138: return rzfit_objc_string_from_hyperextension_exercise_name( (FIT_UINT16) val); - case 139: return rzfit_objc_string_from_lateral_raise_exercise_name( (FIT_UINT16) val); - case 140: return rzfit_objc_string_from_leg_curl_exercise_name( (FIT_UINT16) val); - case 141: return rzfit_objc_string_from_leg_raise_exercise_name( (FIT_UINT16) val); - case 142: return rzfit_objc_string_from_lunge_exercise_name( (FIT_UINT16) val); - case 143: return rzfit_objc_string_from_olympic_lift_exercise_name( (FIT_UINT16) val); - case 144: return rzfit_objc_string_from_plank_exercise_name( (FIT_UINT16) val); - case 145: return rzfit_objc_string_from_plyo_exercise_name( (FIT_UINT16) val); - case 146: return rzfit_objc_string_from_pull_up_exercise_name( (FIT_UINT16) val); - case 147: return rzfit_objc_string_from_push_up_exercise_name( (FIT_UINT16) val); - case 148: return rzfit_objc_string_from_row_exercise_name( (FIT_UINT16) val); - case 149: return rzfit_objc_string_from_shoulder_press_exercise_name( (FIT_UINT16) val); - case 150: return rzfit_objc_string_from_shoulder_stability_exercise_name( (FIT_UINT16) val); - case 151: return rzfit_objc_string_from_shrug_exercise_name( (FIT_UINT16) val); - case 152: return rzfit_objc_string_from_sit_up_exercise_name( (FIT_UINT16) val); - case 153: return rzfit_objc_string_from_squat_exercise_name( (FIT_UINT16) val); - case 154: return rzfit_objc_string_from_total_body_exercise_name( (FIT_UINT16) val); - case 155: return rzfit_objc_string_from_triceps_extension_exercise_name( (FIT_UINT16) val); - case 156: return rzfit_objc_string_from_warm_up_exercise_name( (FIT_UINT16) val); - case 157: return rzfit_objc_string_from_run_exercise_name( (FIT_UINT16) val); - case 158: return rzfit_objc_string_from_water_type( (FIT_ENUM) val); - case 159: return rzfit_objc_string_from_tissue_model_type( (FIT_ENUM) val); - case 160: return rzfit_objc_string_from_dive_gas_status( (FIT_ENUM) val); - case 161: return rzfit_objc_string_from_dive_alert( (FIT_ENUM) val); - case 162: return rzfit_objc_string_from_dive_alarm_type( (FIT_ENUM) val); - case 163: return rzfit_objc_string_from_dive_backlight_mode( (FIT_ENUM) val); - case 164: return rzfit_objc_string_from_ccr_setpoint_switch_mode( (FIT_ENUM) val); - case 165: return rzfit_objc_string_from_dive_gas_mode( (FIT_ENUM) val); - case 166: return rzfit_objc_string_from_favero_product( (FIT_UINT16) val); - case 167: return rzfit_objc_string_from_split_type( (FIT_ENUM) val); - case 168: return rzfit_objc_string_from_climb_pro_event( (FIT_ENUM) val); - case 169: return rzfit_objc_string_from_gas_consumption_rate_type( (FIT_ENUM) val); - case 170: return rzfit_objc_string_from_tap_sensitivity( (FIT_ENUM) val); - case 171: return rzfit_objc_string_from_radar_threat_level_type( (FIT_ENUM) val); - case 172: return rzfit_objc_string_from_no_fly_time_mode( (FIT_ENUM) val); + case 124: return rzfit_objc_string_from_max_met_category( (FIT_ENUM) val); + case 125: return rzfit_objc_string_from_exercise_category( (FIT_UINT16) val); + case 126: return rzfit_objc_string_from_bench_press_exercise_name( (FIT_UINT16) val); + case 127: return rzfit_objc_string_from_calf_raise_exercise_name( (FIT_UINT16) val); + case 128: return rzfit_objc_string_from_cardio_exercise_name( (FIT_UINT16) val); + case 129: return rzfit_objc_string_from_carry_exercise_name( (FIT_UINT16) val); + case 130: return rzfit_objc_string_from_chop_exercise_name( (FIT_UINT16) val); + case 131: return rzfit_objc_string_from_core_exercise_name( (FIT_UINT16) val); + case 132: return rzfit_objc_string_from_crunch_exercise_name( (FIT_UINT16) val); + case 133: return rzfit_objc_string_from_curl_exercise_name( (FIT_UINT16) val); + case 134: return rzfit_objc_string_from_deadlift_exercise_name( (FIT_UINT16) val); + case 135: return rzfit_objc_string_from_flye_exercise_name( (FIT_UINT16) val); + case 136: return rzfit_objc_string_from_hip_raise_exercise_name( (FIT_UINT16) val); + case 137: return rzfit_objc_string_from_hip_stability_exercise_name( (FIT_UINT16) val); + case 138: return rzfit_objc_string_from_hip_swing_exercise_name( (FIT_UINT16) val); + case 139: return rzfit_objc_string_from_hyperextension_exercise_name( (FIT_UINT16) val); + case 140: return rzfit_objc_string_from_lateral_raise_exercise_name( (FIT_UINT16) val); + case 141: return rzfit_objc_string_from_leg_curl_exercise_name( (FIT_UINT16) val); + case 142: return rzfit_objc_string_from_leg_raise_exercise_name( (FIT_UINT16) val); + case 143: return rzfit_objc_string_from_lunge_exercise_name( (FIT_UINT16) val); + case 144: return rzfit_objc_string_from_olympic_lift_exercise_name( (FIT_UINT16) val); + case 145: return rzfit_objc_string_from_plank_exercise_name( (FIT_UINT16) val); + case 146: return rzfit_objc_string_from_plyo_exercise_name( (FIT_UINT16) val); + case 147: return rzfit_objc_string_from_pull_up_exercise_name( (FIT_UINT16) val); + case 148: return rzfit_objc_string_from_push_up_exercise_name( (FIT_UINT16) val); + case 149: return rzfit_objc_string_from_row_exercise_name( (FIT_UINT16) val); + case 150: return rzfit_objc_string_from_shoulder_press_exercise_name( (FIT_UINT16) val); + case 151: return rzfit_objc_string_from_shoulder_stability_exercise_name( (FIT_UINT16) val); + case 152: return rzfit_objc_string_from_shrug_exercise_name( (FIT_UINT16) val); + case 153: return rzfit_objc_string_from_sit_up_exercise_name( (FIT_UINT16) val); + case 154: return rzfit_objc_string_from_squat_exercise_name( (FIT_UINT16) val); + case 155: return rzfit_objc_string_from_total_body_exercise_name( (FIT_UINT16) val); + case 156: return rzfit_objc_string_from_triceps_extension_exercise_name( (FIT_UINT16) val); + case 157: return rzfit_objc_string_from_warm_up_exercise_name( (FIT_UINT16) val); + case 158: return rzfit_objc_string_from_run_exercise_name( (FIT_UINT16) val); + case 159: return rzfit_objc_string_from_water_type( (FIT_ENUM) val); + case 160: return rzfit_objc_string_from_tissue_model_type( (FIT_ENUM) val); + case 161: return rzfit_objc_string_from_dive_gas_status( (FIT_ENUM) val); + case 162: return rzfit_objc_string_from_dive_alert( (FIT_ENUM) val); + case 163: return rzfit_objc_string_from_dive_alarm_type( (FIT_ENUM) val); + case 164: return rzfit_objc_string_from_dive_backlight_mode( (FIT_ENUM) val); + case 165: return rzfit_objc_string_from_sleep_level( (FIT_ENUM) val); + case 166: return rzfit_objc_string_from_spo2_measurement_type( (FIT_ENUM) val); + case 167: return rzfit_objc_string_from_ccr_setpoint_switch_mode( (FIT_ENUM) val); + case 168: return rzfit_objc_string_from_dive_gas_mode( (FIT_ENUM) val); + case 169: return rzfit_objc_string_from_favero_product( (FIT_UINT16) val); + case 170: return rzfit_objc_string_from_split_type( (FIT_ENUM) val); + case 171: return rzfit_objc_string_from_climb_pro_event( (FIT_ENUM) val); + case 172: return rzfit_objc_string_from_gas_consumption_rate_type( (FIT_ENUM) val); + case 173: return rzfit_objc_string_from_tap_sensitivity( (FIT_ENUM) val); + case 174: return rzfit_objc_string_from_radar_threat_level_type( (FIT_ENUM) val); + case 175: return rzfit_objc_string_from_max_met_speed_source( (FIT_ENUM) val); + case 176: return rzfit_objc_string_from_max_met_heart_rate_source( (FIT_ENUM) val); + case 177: return rzfit_objc_string_from_hrv_status( (FIT_ENUM) val); + case 178: return rzfit_objc_string_from_no_fly_time_mode( (FIT_ENUM) val); default: return [NSString stringWithFormat:@"FIT_TYPE_%u_VALUE_%u", (unsigned int)fit_type, (unsigned int)val]; } } @@ -9453,9 +9810,13 @@ FIT_FIELD_INFO rzfit_objc_field_info( FIT_UINT16 global_mesg_num, FIT_UINT16 fie case 51: return rzfit_objc_field_info_for_blood_pressure(field); case 103: return rzfit_objc_field_info_for_monitoring_info(field); case 55: return rzfit_objc_field_info_for_monitoring(field,interp); + case 211: return rzfit_objc_field_info_for_monitoring_hr_data(field); + case 269: return rzfit_objc_field_info_for_spo2_data(field); case 132: return rzfit_objc_field_info_for_hr(field); case 227: return rzfit_objc_field_info_for_stress_level(field); + case 229: return rzfit_objc_field_info_for_max_met_data(field); case 145: return rzfit_objc_field_info_for_memo_glob(field); + case 275: return rzfit_objc_field_info_for_sleep_level(field); case 82: return rzfit_objc_field_info_for_ant_channel_id(field); case 80: return rzfit_objc_field_info_for_ant_rx(field); case 81: return rzfit_objc_field_info_for_ant_tx(field); @@ -9464,8 +9825,13 @@ FIT_FIELD_INFO rzfit_objc_field_info( FIT_UINT16 global_mesg_num, FIT_UINT16 fie case 202: return rzfit_objc_field_info_for_exd_data_concept_configuration(field); case 268: return rzfit_objc_field_info_for_dive_summary(field); case 78: return rzfit_objc_field_info_for_hrv(field); + case 290: return rzfit_objc_field_info_for_beat_intervals(field); + case 370: return rzfit_objc_field_info_for_hrv_status_summary(field); + case 371: return rzfit_objc_field_info_for_hrv_value(field); + case 297: return rzfit_objc_field_info_for_respiration_rate(field); case 319: return rzfit_objc_field_info_for_tank_update(field); case 323: return rzfit_objc_field_info_for_tank_summary(field); + case 346: return rzfit_objc_field_info_for_sleep_assessment(field); default: return (FIT_FIELD_INFO){.scale = 0, .offset = 0, .fit_type = 0, .fit_unit = 0, .fit_flag = 0 }; } } \ No newline at end of file diff --git a/Sources/FitFileParserObjc/rzfit_objc_reference_mesg.h b/Sources/FitFileParserObjc/rzfit_objc_reference_mesg.h index 1c0525b..2c3f1cf 100644 --- a/Sources/FitFileParserObjc/rzfit_objc_reference_mesg.h +++ b/Sources/FitFileParserObjc/rzfit_objc_reference_mesg.h @@ -86,19 +86,28 @@ typedef FIT_UINT16 FIT_MESG_NUM; #define FIT_MESG_NUM_MAGNETOMETER_DATA ((FIT_MESG_NUM)208) #define FIT_MESG_NUM_BAROMETER_DATA ((FIT_MESG_NUM)209) #define FIT_MESG_NUM_ONE_D_SENSOR_CALIBRATION ((FIT_MESG_NUM)210) +#define FIT_MESG_NUM_MONITORING_HR_DATA ((FIT_MESG_NUM)211) #define FIT_MESG_NUM_TIME_IN_ZONE ((FIT_MESG_NUM)216) #define FIT_MESG_NUM_SET ((FIT_MESG_NUM)225) #define FIT_MESG_NUM_STRESS_LEVEL ((FIT_MESG_NUM)227) +#define FIT_MESG_NUM_MAX_MET_DATA ((FIT_MESG_NUM)229) #define FIT_MESG_NUM_DIVE_SETTINGS ((FIT_MESG_NUM)258) #define FIT_MESG_NUM_DIVE_GAS ((FIT_MESG_NUM)259) #define FIT_MESG_NUM_DIVE_ALARM ((FIT_MESG_NUM)262) #define FIT_MESG_NUM_EXERCISE_TITLE ((FIT_MESG_NUM)264) #define FIT_MESG_NUM_DIVE_SUMMARY ((FIT_MESG_NUM)268) +#define FIT_MESG_NUM_SPO2_DATA ((FIT_MESG_NUM)269) +#define FIT_MESG_NUM_SLEEP_LEVEL ((FIT_MESG_NUM)275) #define FIT_MESG_NUM_JUMP ((FIT_MESG_NUM)285) +#define FIT_MESG_NUM_BEAT_INTERVALS ((FIT_MESG_NUM)290) +#define FIT_MESG_NUM_RESPIRATION_RATE ((FIT_MESG_NUM)297) #define FIT_MESG_NUM_SPLIT ((FIT_MESG_NUM)312) #define FIT_MESG_NUM_CLIMB_PRO ((FIT_MESG_NUM)317) #define FIT_MESG_NUM_TANK_UPDATE ((FIT_MESG_NUM)319) #define FIT_MESG_NUM_TANK_SUMMARY ((FIT_MESG_NUM)323) +#define FIT_MESG_NUM_SLEEP_ASSESSMENT ((FIT_MESG_NUM)346) +#define FIT_MESG_NUM_HRV_STATUS_SUMMARY ((FIT_MESG_NUM)370) +#define FIT_MESG_NUM_HRV_VALUE ((FIT_MESG_NUM)371) #define FIT_MESG_NUM_DEVICE_AUX_BATTERY_INFO ((FIT_MESG_NUM)375) #define FIT_MESG_NUM_DIVE_APNEA_ALARM ((FIT_MESG_NUM)393) #define FIT_MESG_NUM_MFG_RANGE_MIN ((FIT_MESG_NUM)0xFF00) @@ -391,6 +400,8 @@ typedef struct { FIT_SINT32 nec_long; // FIT_SINT32 swc_lat; // FIT_SINT32 swc_long; // + FIT_SINT32 end_position_lat; // + FIT_SINT32 end_position_long; // FIT_UINT32 avg_stroke_count; // FIT_UINT32 total_work; // FIT_UINT32 total_moving_time; // @@ -399,6 +410,7 @@ typedef struct { FIT_UINT32 time_in_cadence_zone[1]; // FIT_UINT32 time_in_power_zone[1]; // FIT_UINT32 avg_lap_time; // + FIT_STRING sport_profile_name[16]; // FIT_UINT32 enhanced_avg_speed; // FIT_UINT32 enhanced_max_speed; // FIT_UINT32 enhanced_avg_altitude; // @@ -910,6 +922,7 @@ typedef struct { typedef struct { FIT_UINT32Z capabilities; // workout_capabilities FIT_STRING wkt_name[16]; // + FIT_UINT16 message_index; // message_index FIT_UINT16 num_valid_steps; // FIT_UINT16 pool_length; // FIT_ENUM sport; // sport @@ -986,6 +999,7 @@ typedef struct { FIT_UINT16 basal_met; // FIT_UINT16 active_met; // FIT_UINT16 user_profile_index; // message_index + FIT_UINT16 bmi; // FIT_UINT8 physique_rating; // FIT_UINT8 metabolic_age; // FIT_UINT8 visceral_fat_rating; // @@ -1025,6 +1039,12 @@ typedef struct { FIT_ENUM activity_subtype; // activity_subtype } FIT_MONITORING_MESG; +typedef struct { + FIT_UINT32 timestamp; // + FIT_UINT8 resting_heart_rate; // + FIT_UINT8 current_day_resting_heart_rate; // +} FIT_MONITORING_HR_DATA_MESG; + typedef struct { FIT_UINT32 timestamp; // FIT_UINT32 event_timestamp[1]; // diff --git a/Sources/FitFileParserObjc/rzfit_objc_reference_mesg.m b/Sources/FitFileParserObjc/rzfit_objc_reference_mesg.m index 3e86534..4f62c03 100644 --- a/Sources/FitFileParserObjc/rzfit_objc_reference_mesg.m +++ b/Sources/FitFileParserObjc/rzfit_objc_reference_mesg.m @@ -573,107 +573,110 @@ FIT_UINT8 arch; FIT_UINT16 global_mesg_num; FIT_UINT8 num_fields; - FIT_UINT8 fields[FIT_FIELD_DEF_SIZE * 92]; + FIT_UINT8 fields[FIT_FIELD_DEF_SIZE * 95]; } FIT_SESSION_MESG_DEF; static const FIT_SESSION_MESG_DEF session_mesg_def = { 0, // reserved_1 FIT_ARCH_ENDIAN, // arch, /* session */18, // mesg_num, - 92, - { - /* timestamp */253, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* start_time */2, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* start_position_lat */3, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, - /* start_position_long */4, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, - /* total_elapsed_time */7, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* total_timer_time */8, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* total_distance */9, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* total_cycles */10, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* nec_lat */29, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, - /* nec_long */30, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, - /* swc_lat */31, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, - /* swc_long */32, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, - /* avg_stroke_count */41, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* total_work */48, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* total_moving_time */59, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* time_in_hr_zone */65, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* time_in_speed_zone */66, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* time_in_cadence_zone */67, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* time_in_power_zone */68, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* avg_lap_time */69, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* enhanced_avg_speed */124, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* enhanced_max_speed */125, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* enhanced_avg_altitude */126, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* enhanced_min_altitude */127, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* enhanced_max_altitude */128, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, - /* message_index */254, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* total_calories */11, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* total_fat_calories */13, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* avg_speed */14, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* max_speed */15, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* avg_power */20, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* max_power */21, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* total_ascent */22, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* total_descent */23, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* first_lap_index */25, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* num_laps */26, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* num_lengths */33, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* normalized_power */34, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* training_stress_score */35, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* intensity_factor */36, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* left_right_balance */37, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* avg_stroke_distance */42, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* pool_length */44, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* threshold_power */45, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* num_active_lengths */47, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* avg_altitude */49, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* max_altitude */50, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* avg_grade */52, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, - /* avg_pos_grade */53, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, - /* avg_neg_grade */54, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, - /* max_pos_grade */55, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, - /* max_neg_grade */56, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, - /* avg_pos_vertical_speed */60, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, - /* avg_neg_vertical_speed */61, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, - /* max_pos_vertical_speed */62, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, - /* max_neg_vertical_speed */63, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, - /* best_lap_index */70, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* min_altitude */71, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* player_score */82, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* opponent_score */83, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* stroke_count */85, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* zone_count */86, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* max_ball_speed */87, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* avg_ball_speed */88, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* avg_vertical_oscillation */89, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* avg_stance_time_percent */90, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* avg_stance_time */91, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* avg_vam */139, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, - /* event */0, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, - /* event_type */1, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, - /* sport */5, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, - /* sub_sport */6, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, - /* avg_heart_rate */16, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, - /* max_heart_rate */17, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, - /* avg_cadence */18, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, - /* max_cadence */19, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, - /* total_training_effect */24, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, - /* event_group */27, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, - /* trigger */28, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, - /* swim_stroke */43, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, - /* pool_length_unit */46, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, - /* gps_accuracy */51, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, - /* avg_temperature */57, (sizeof(FIT_SINT8)*1), FIT_BASE_TYPE_SINT8, - /* max_temperature */58, (sizeof(FIT_SINT8)*1), FIT_BASE_TYPE_SINT8, - /* min_heart_rate */64, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, - /* opponent_name */84, (sizeof(FIT_STRING)*1), FIT_BASE_TYPE_STRING, - /* avg_fractional_cadence */92, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, - /* max_fractional_cadence */93, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, - /* total_fractional_cycles */94, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, - /* sport_index */111, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, - /* total_anaerobic_training_effect */137, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, - /* min_temperature */150, (sizeof(FIT_SINT8)*1), FIT_BASE_TYPE_SINT8, + 95, + { + /* timestamp */253, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* start_time */2, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* start_position_lat */3, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, + /* start_position_long */4, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, + /* total_elapsed_time */7, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* total_timer_time */8, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* total_distance */9, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* total_cycles */10, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* nec_lat */29, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, + /* nec_long */30, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, + /* swc_lat */31, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, + /* swc_long */32, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, + /* end_position_lat */38, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, + /* end_position_long */39, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32, + /* avg_stroke_count */41, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* total_work */48, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* total_moving_time */59, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* time_in_hr_zone */65, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* time_in_speed_zone */66, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* time_in_cadence_zone */67, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* time_in_power_zone */68, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* avg_lap_time */69, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* sport_profile_name */110, (sizeof(FIT_STRING)*16), FIT_BASE_TYPE_STRING, + /* enhanced_avg_speed */124, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* enhanced_max_speed */125, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* enhanced_avg_altitude */126, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* enhanced_min_altitude */127, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* enhanced_max_altitude */128, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* message_index */254, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* total_calories */11, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* total_fat_calories */13, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* avg_speed */14, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* max_speed */15, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* avg_power */20, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* max_power */21, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* total_ascent */22, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* total_descent */23, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* first_lap_index */25, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* num_laps */26, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* num_lengths */33, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* normalized_power */34, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* training_stress_score */35, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* intensity_factor */36, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* left_right_balance */37, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* avg_stroke_distance */42, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* pool_length */44, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* threshold_power */45, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* num_active_lengths */47, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* avg_altitude */49, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* max_altitude */50, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* avg_grade */52, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, + /* avg_pos_grade */53, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, + /* avg_neg_grade */54, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, + /* max_pos_grade */55, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, + /* max_neg_grade */56, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, + /* avg_pos_vertical_speed */60, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, + /* avg_neg_vertical_speed */61, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, + /* max_pos_vertical_speed */62, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, + /* max_neg_vertical_speed */63, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16, + /* best_lap_index */70, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* min_altitude */71, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* player_score */82, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* opponent_score */83, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* stroke_count */85, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* zone_count */86, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* max_ball_speed */87, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* avg_ball_speed */88, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* avg_vertical_oscillation */89, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* avg_stance_time_percent */90, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* avg_stance_time */91, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* avg_vam */139, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* event */0, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, + /* event_type */1, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, + /* sport */5, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, + /* sub_sport */6, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, + /* avg_heart_rate */16, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* max_heart_rate */17, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* avg_cadence */18, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* max_cadence */19, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* total_training_effect */24, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* event_group */27, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* trigger */28, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, + /* swim_stroke */43, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, + /* pool_length_unit */46, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, + /* gps_accuracy */51, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* avg_temperature */57, (sizeof(FIT_SINT8)*1), FIT_BASE_TYPE_SINT8, + /* max_temperature */58, (sizeof(FIT_SINT8)*1), FIT_BASE_TYPE_SINT8, + /* min_heart_rate */64, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* opponent_name */84, (sizeof(FIT_STRING)*1), FIT_BASE_TYPE_STRING, + /* avg_fractional_cadence */92, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* max_fractional_cadence */93, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* total_fractional_cycles */94, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* sport_index */111, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* total_anaerobic_training_effect */137, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* min_temperature */150, (sizeof(FIT_SINT8)*1), FIT_BASE_TYPE_SINT8, } }; typedef struct { @@ -1414,17 +1417,18 @@ FIT_UINT8 arch; FIT_UINT16 global_mesg_num; FIT_UINT8 num_fields; - FIT_UINT8 fields[FIT_FIELD_DEF_SIZE * 7]; + FIT_UINT8 fields[FIT_FIELD_DEF_SIZE * 8]; } FIT_WORKOUT_MESG_DEF; static const FIT_WORKOUT_MESG_DEF workout_mesg_def = { 0, // reserved_1 FIT_ARCH_ENDIAN, // arch, /* workout */26, // mesg_num, - 7, + 8, { /* capabilities */5, (sizeof(FIT_UINT32Z)*1), FIT_BASE_TYPE_UINT32Z, /* wkt_name */8, (sizeof(FIT_STRING)*16), FIT_BASE_TYPE_STRING, + /* message_index */254, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, /* num_valid_steps */6, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, /* pool_length */14, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, /* sport */4, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, @@ -1560,14 +1564,14 @@ FIT_UINT8 arch; FIT_UINT16 global_mesg_num; FIT_UINT8 num_fields; - FIT_UINT8 fields[FIT_FIELD_DEF_SIZE * 13]; + FIT_UINT8 fields[FIT_FIELD_DEF_SIZE * 14]; } FIT_WEIGHT_SCALE_MESG_DEF; static const FIT_WEIGHT_SCALE_MESG_DEF weight_scale_mesg_def = { 0, // reserved_1 FIT_ARCH_ENDIAN, // arch, /* weight_scale */30, // mesg_num, - 13, + 14, { /* timestamp */253, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, /* weight */0, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, @@ -1579,6 +1583,7 @@ /* basal_met */7, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, /* active_met */9, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, /* user_profile_index */12, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, + /* bmi */13, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, /* physique_rating */8, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, /* metabolic_age */10, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, /* visceral_fat_rating */11, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, @@ -1657,6 +1662,25 @@ /* activity_subtype */6, (sizeof(FIT_ENUM)*1), FIT_BASE_TYPE_ENUM, } }; +typedef struct { + FIT_UINT8 reserved_1; + FIT_UINT8 arch; + FIT_UINT16 global_mesg_num; + FIT_UINT8 num_fields; + FIT_UINT8 fields[FIT_FIELD_DEF_SIZE * 3]; +} FIT_MONITORING_HR_DATA_MESG_DEF; + +static const FIT_MONITORING_HR_DATA_MESG_DEF monitoring_hr_data_mesg_def = { + 0, // reserved_1 + FIT_ARCH_ENDIAN, // arch, + /* monitoring_hr_data */211, // mesg_num, + 3, + { + /* timestamp */253, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32, + /* resting_heart_rate */0, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + /* current_day_resting_heart_rate */1, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8, + } +}; typedef struct { FIT_UINT8 reserved_1; FIT_UINT8 arch; @@ -1809,7 +1833,7 @@ /* time */0, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16, } }; -FIT_UINT8 reference_mesg_defs_size = 65; +FIT_UINT8 reference_mesg_defs_size = 66; FIT_CONST_MESG_DEF_PTR reference_mesg_defs[] = { (FIT_CONST_MESG_DEF_PTR) &file_id_mesg_def, (FIT_CONST_MESG_DEF_PTR) &file_creator_mesg_def, @@ -1869,6 +1893,7 @@ (FIT_CONST_MESG_DEF_PTR) &blood_pressure_mesg_def, (FIT_CONST_MESG_DEF_PTR) &monitoring_info_mesg_def, (FIT_CONST_MESG_DEF_PTR) &monitoring_mesg_def, + (FIT_CONST_MESG_DEF_PTR) &monitoring_hr_data_mesg_def, (FIT_CONST_MESG_DEF_PTR) &hr_mesg_def, (FIT_CONST_MESG_DEF_PTR) &ant_rx_mesg_def, (FIT_CONST_MESG_DEF_PTR) &ant_tx_mesg_def, diff --git a/python/Profile.xlsx b/python/Profile.xlsx index b0694e67874dc41e413eda33474ccc135c1cf8e1..3587b3050174582b528597c7d06fa5ccec1d7773 100644 GIT binary patch literal 216463 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
b0ZK`TI5ry4OgHQ9(kHUvPL-Jl|_83@>d)MQfz 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 literal 209735 zcmcG!1#Bik6D4M5W@ct)X13S%n&C6EKQl8kGqcx>Yi4G~H8V4>Df{0gy4>Y1i6UjB z8mVWhN;R))UU$v3iaa<31_%fU42Ybom_`omECwK?WfJ@vvof2Rhjp1A#V7 z9(J}QMK~Zd1^-e1zaFtFf=Yud7(G!(xqOO0MSg5CF%XK#sIzp=I2&`ekPEjWTA1w0 z=z;RfF3&}d-`u=E%&xvzFJ^}2^cB0MExs`nLsYwzwqTZz7F-jZnRlN@H9drPJ42)0 zFkw*t+5h%awR~Q!(Yu=IZ zTZkkgIYn5eMa)B5T+XkTlTQf^LO_+=e~-jFio(jfSNNXMysd<75%_<&8akQT zIx{o<=lp+%=}l*^fbf5CcQbQxwgTD@5VzTwTl=dB}u?1XRsz zja>d|I9pmdIFtM{v3C|EvvhHB;A3WXHnB9bGje7EI+)r2yJHS?vNLk|H*~UKb}%xr zF|sgYW@BODV*VG+fAc~1-}@v{_jEA(f8!BoZf<2_CIK{YwKKDK`JXsu{_i!&NYss- zEX-U4$(a9#Vk0AwH5DXNH8nQpF=jR5;WX#v;NamkAtPb_|1C5#4;M3gQ!`UW2d95v zIk{MwIsc#HGXcpCiI^I|8K-0K{8Qj^N%#jz(GJz{uTKD zh}HjHmFFfa{$mc5&^oj(W~N_azvT2uMU27K0|1dw77IEQEk~JBp;Zn4;f~SJq%`4v zdx3|y=?As@`^TJkY}ZsyoG~7LH2w|W#KPrT7B@aLXD07=<7%hdL0JbPaQqSmg9Z*; z4+`@sKN`w2+!c|H#Ck`q4i)fGlMFe{G^vBc#Rojb$t^#BWh|vuYZu?A-Nd16qSx>9 zy`Xt4t;dgvVwpVTuDTegIG|d&6tr~h;iX4m!^F`@*HQ5$<+&%zN5S97Q#YM`Rq@bp z$5^^TGKDGWI!Yy!Keto>u!^odqu?z4vFm_(-y0bY6a+0S+{{rAf(Xi%%d(F9AYY;=0{Xs*CnC4da3Fv-nYaz6cU9ZS^K9* z0PSqYyG$inz^fPu2n5)x|M$)JN$*E%XUBxS-DwW+>u-5^{>}$&lj5HI>gB&t;f~+) zQ~uY6|0lD%|5=9+{m0y+|L0X)*4&WS%wEa`$ohy%zw#F|x0Hfpm_i z@vfH&pWP9?53u`@o}Z!vJL=o%ykj%9_+mOC3}=4Pzt(4Am;MZX`~}gUoTj@6S`5uL zt)5JOuG+5+#peDQ_2gdq4SVTl@L0`JyU=I%m4MoYHUrY?%5@v$MxBfP!p$^s?|9JD z)9bh+sroS!yYn#NO8>_jTl?w>{EUg){AQx-c6#M14B)W(3CcKeBHO)n)X%}6y&7kC zb$tD#xzKvqgz)uO2wbCeZzT}oyg;bj5+W8`0BkY$Qv!C>j8Q@SYx|@WV&NccaB=H*N@75p+-1G%b-Fy|z z``T7pLJ)OBb&(ed$Ttl09SY?7Gpb)hBsd6&5_%SF6@?CB= zcC^lOKIZikQXoxG$mE`eTaBaSFzN*bqYcj)8PBCm7?7jEdB zZJgIn1J%kJU_-xPY<`CmBG#KNfvP3+^>n$a;_$2*vCB?&Digl7*U#GMzWZo;YQSe& z-paGLf}K<$;seDp2WPvII7r7foFI~ToUq6nGx)Q5)&?80gbdv5(u2D=OV6~28$rYc zGxRV5yTOg-vO6G!VEQ$R3>x_%cQAV(pV6~8C5-~r1YD3aq=GJA`oS1+Y!^LuCDhtu zt8ur2o=+d_Q1npz)cB~mHkMWZ*@A2g{875ng5!t`62d7AB(Ad8%qY9s0|%zZ2io;;&;{@t&wSNu0mft^&+Bk)ENtoZJ2p)= zwsnA^*!g;TnUL_l2R5ru;G_kw|fTg}B%Eh_=4?O8cUO zC$)AWMG@>URMQvP_-{5G%?1|=HS^(vOx7hsGsoLl;YuwAo8&WD0sy>1S7!y|LS&G^ zi@yGAbpS%?3z$=oh!O?1$B+lXwzI7%=H0~eUDB+}uI}qLIOA@|r;*YB3|2VP7|LPP zR3#oDn{iXOZ-H^%XEeVG&2Cv)%RVDb!X?$lmR=t5A4`dA2u=F+)PmVm+;lVCPCl=}Xd z9?bf1aL)!05cH`L%*%z$Io|67^IwO*LHB?qEz#XJA(`LPAj0rF$V5XB!oU$i$wxon zTH)0d)fzefEkKB8v&=KgS46H*TrUGMfse5 z@hfmP1jrl$G;G>oDi6L|p~R_L*AEh04Q!xee*>jR9aaCmNBA4x@~BUj2j38g5FZ1D z;eb17I&w$lYNV6B^G79Uzt0<4f#?1Y!`N=|)!R033;5v|PMAb2;E%i8F|lMms4D^u zzMrtO&#wlD)|c9TW)$gdfVO&yWJakf=n}eDL+HI3#HlU@-!=GWDNn!STAeFR|8@I1 zm?ZpjZ;0uAu8_Hyzn+m?#Mm69L}ZoE{{R|gCBPN!)ueIq<=B#7k_1GhSk%hn3p`;Z zVKgN8)}yumda95|2Hu6`lPGS{3Gn6*bIL5NgGc)@eLo1pJA?O;8$@8i+$wMgJO+T> z%t4T6_ExZ!*2ElqZfEcEp(qA5)sRaDZ*_&Hny)PJbS%_ElWfc0xohB~2lN0v((4d0 zXSwi~zN=AqI8sRP-!f3UD6F0xIBu0LjmVpO!&~&70ldV`C$SE?*FSpqjtp=i^55oo zwykdqG@CXdtf~2p>{$4P*f`b}_qd%e)=a>*9;yj0eI3`{qmD3CmhtjX;|dh;Q9k=;x@$H9_ldE9y&+#mf0C*3jn0sZU602=ka(SdF$2f++l&%LU`?OSihgWQ5q zuMDGcJ({Vwm-y^TGo)L#B)A`Hsy4M^#l@z$V+>BoWYsd*Q`;uQe(L6xsQP+J%V z4P7Jagaf|XI@qS~bZ_~$1CG~rrz;C)s2hZ6KDb@W9raqnhwZ!WPJ1l6h|b0!sI@)4 z{|4cGa7A=?pdYUg0!Z^zAJS(FTWRO8;y{bm2EXQOiWG-fsd^SFL*Yuo_4YeCu?@%x zd_CdD37i|}WPN|`RGxmB?#3E2IKfTz8rULNfih#A)_Rn}4a9iRs_}^%i`TOsWu99z4mly}kG_c!?zYiT)28j&64)6HHDOT>3 zX%jlxpQ$NcA_=YK+cBC>csXLrGFcZz*YThmGHR`0oPmFaMUovuh5=rxn<=-yl`1uIs(w{a`N7 z>3J=W;V+hIkZEmI66bvpf%5D4(@(qG5%? zC8j{g9YJF6#=o+9e-qZ}?aC9XD9SZp11(r$ZR^|%lgB@AC;1UcIVy#;f>nQ(yd(>n zf0GZ?P-Yt}QQl$7zjvM~qIiGyl80O~)cHonS4{YH&81klL(KSjey?+LuT$TEjNXT5 zhm|CuMSX1Ail!^&^t$kvGLx6^++UyaWoB-ZN<5zf^Z(6E$DUN8Bi^!!Yu;d}-W(jY zqp2WOeG`K3sU%JA5EZ(og>?^wiV42o&*OE%Ra_`uCC(j3hmu3Wpj6)YMvaEs4dG8C z;Uj+qT&f$M8AW9{82B<(y$)Z<6U+k+2)kr%Mq!%FAC$bw*6hBfx$jr%b)y|Axz1mA ze3HBU@!jE2P`Gl@2e>}mCjIuiLjVZQJ8pm~cr1IIEGdsTwVWt9znaCdmYt14r_Wad zLD()=-(b@D0>VxWFETi1tyQsJt}^~LKNGqy!7OIDZMJL1EaFR-Rj!Hlnipg8MH4Ew z_^fjhMZa4XTntrQB~Nz;u<8mO=)Z9YOPpUab;b}GyYU07cIFTuj z7J^k4!CPqiY;6VEWP~^(QHN;%8=46&^)yv?d203|X`13~zTVjN9}GY0tiFb0YdyId2Bo=}8@KDnC0$EKrFniIaDOq2 zKODL)>CbCt&*=veFqZ~k>>%=(g~mgAFR%XousfjFMioP5fwRN4rYOn}*?p7WUHY^< zi=Q^oiUq(=Neptw1>cqE!OQ7n;;~PAz**)9X;)~>X4TO7@X`~^7i_gXqUvUHDQBwO zpzW}N(3P{N3SVF47I&eQ3z)%nEBlNp23uh#g~U-6;D_2tb6i@JYaK7*Yo}E`J9LRt z4;Q%Pt3tppQTjS%kk^EOzRkXB_cD&VG`?AeJFD#YKi60S?5w|Flg^;jXy2!!*{9f( z3Pi!re2K!Sl)Z_zsYxT^;vbUB!aHps+s@WQsDPL&bUMvN0^+((kK_&{%;SLx-Q?Fk z_euw}^|=m~VPwp~DCplh&3ixe+`#M3iC+LS5ep|f($VMR%#CLuZdMb(d$FtLwP~M6Sd=XDg25m8%l> zHy8DL)I837Oe*uw!AmIEmp=D>&3j(jUzbz$O|Tgmh$7(0x3ilabHyAArN@u>JS*@* zUpK4vQxqbZfR4L8UmLJraJ8JT^t%@?w^8Hnbr?@Y9Zdo{dfrNZR6%M+AM7>&=mr6c+KFH#9+ra%`=L5BgdD`MW%KK*P$|P|-lY`SU@v~a)diivN~d8j zH1x*jv-(c9bya^jB2uDbSHj2G8Ry-h8~7C{!JW|NufXz;UY`()DB3k;&$329QJkTZ zTx{rdEEx7VvLvSUPk``Cn`4#n<2G>{tMv@mk%-^EU|}R7un#tpN60#tE;^mNwnQH! z(%zLf?$|r??tMCaRICsYTJCFkBS0Ur!7HQX_R__SueQx5+l6Q-1ZSo}ZZSGdEJmtb z*Ik#$0N@JzKLiM$^NTWMlL8++k4amu%@Ot`@kN@Efe9*|uL?WU zKLHykT31Qvtif7Qu+(NMyeR|ffW8{SSMWqWVD3-VFrRM*xKiWvQpILfNk#R<+vKz( z*qKN4_IA4fbiN&J^n0409&tl5Mvyu5KVXz58WC*iy{pzZAkwy{dur8mhB5%^1#G1> z(bN(92MYKbs(z$MhS0xS4oKPG3bP5>qWSc(F;UP_e=Hyan9k%#76*doe6A zDMT{iy5AdA)sVogbICj zIakv*$*VnpNU;Tgor4|eT)N9gSZwuH7rfg>=zQ$Lqx1lAo8R<7C)gc{3)1idr7fig z>>u`s%%|q7IzMo?1F+E5b~b&7sVckrIXx!ICn*M0eQ_3V=qHuWw8kLRT$-4|&)(RM zqmF)e!&(z3k^E#%;HC3&5g4K)Z-Syks2k}1bMuyt@9kq~Y9dh#!bN9yiDrTV-J7o~ z0DT8nRTSs$`J*+pK#zHslKBu4FhS`Fnu9k3S#OSaLvDHe2xh?{pz#~skwcNT;sSPN z`DXz?Gzr~SnE(N$494SIEdi66je#u5fbdOof--QaU{*80ja~z`vmo5B2hM9ahxF8% z$zT-Aw^gS|{ZPml4*zVQ(Q_KDoqk+J zmPqa%jNcO{f9a{8xCH;lZ`+%>vJgrxyT8D*JN^tyf$MBe}-}Nww+RYmW%_)TuD}CpYEAH7Bv>Lwb zPAgL%uf?l-v2Mn*Uw*tOs!!N#H@q1doxui0zj3*$%Iht|mN7mAH=dGB59UJY{ALu& z@4<9!G8t@OYYFG&GgUL21O*v0*AGPhm@6A>Ssi^vjBNR&XLsR^s!&I9ino-@77B=2d|k^%kjVT2u|4Kb=9yU4mKN zFSKYqAaP1Pm8_t}hJrclkU;($yB^}(hLV%~wE)krelE|cJhCp=Ad}X8LWmxISiHV% zP4JyyEzG34s^9J;=UP{TaA=#+69QK|*41 zI=v%n<8puH-9c2MfeOWA?a1?Bh1q`r#Q9`o_n&YK3ylinAul>lROR)44Y|8ojAfYR zgCiM?p*A-W%_4u58fHd^o5XOY7wyFh=C@%t2O!>2_kXIMxcyGt(RtUQi2{G0pC9j=Jm^U;>v?u(;Kr=|b!d{h zX^r1>vU7(i#Gy6x$gLZ&ZtO9tan#~QZi$T_Ur_@20%^}8HOG( z;YMi5BqnESv3Cf(2X|3s$krel8oKGGebsSi8tU90cEgg2q8--4eZT-m5G_WlWNa$~ zXAP_HxNH~Q!>SytWNzOH3L}R`4@J+XYXQ8>;d||I*f+<3)$q)omxQc9`46eXy>QP*@)E7OH1uJDO__6dcAnUq2^%F{O-YFz3 zDnVWSTM)BSw<57^L9dp6xE^T!87jKuWo+Nod=7)kHQ;HrISPhOxe-rzOw9$pWQ@rc ziS?Y5csjArU(5t4(Rpa;2e%-;Jb{e1CA@xd_X1TyH+0pWesJ&4Ho>X0R3=Pd!(LPm z5ARd@?QtxAdxvjB^z@WJac)3DXH#HTv+%h3rUR8e8baEM5m)lu`70J+aR_Ypxf0rH zc3Ju?)<+_814gbQYa~=X)P=O}S00!e5s97|I&(a{{Y*>87K8pxn5>`zl(Dtnf@V%Z zQ80SEFpx&o7r$zoENT3CI_#L;Af4X@R=`75XuRgN@Wg(stQ|Ac7m z-&nj@2JEngp0>DT9 zc*S?7r^x_ry{FeT64Ujv{(PQ*K9z{c`aZ0Ah+fQAT+(?(?9?{={M_JPM}9g6+V<+Y z(_;|cdro|VA<*4S#2G+$ZWK<^+JN@riWnXiQwO%wrjY->Xepx$$aR{?8yD-A`ZcAx zkfgK}ZN2Kz4@LT!_9Un|n0v#zmW|1I%F~?T5!ss~W}(Av+sb7d+Pbh&SV@C1AcL)c z;9RQyCy#Nizt!`8!q^DE2k!^%rp2X9PWnGKYpFDnmlMyN37Mu9MhGHn<7R|G6pAfg zM44#nJyO`Qt5cHXnuIZ}4ju2b7l$+Qv)Ui%*8%l7m*6T{Q}%dNKJ| zLb;P=zb!nZj}&9b(U_VV3`5iC%hv}!#3DxzZ7AHMFHVx!eLC@WxgMak>_GfL$G!}Phn@_=w!xWitUWBsLsyN&E!v;OWIaYi|cfo|wE$U5MAuT*Y3 z@M;8G3Sxdf=hZmTG8(+@w|4@F0Q*R`<{HjiinSi2hmdtK$zEMfkU3PKQ zUmOlDGaU9XF+1@8-eBG=CziQ4`);P1)7|MEjVV~)VIkmtAAV#}aH`GKegXEH3Pbn0 zf_ySs4~3o$b=~c~O)nAvi{D;MA?~xSJi)1g2)a;!Sfa*uSVYIeh}kKxoGPO(o&Zxg zm5p1-cPuN>K1H z&+?m9TyhY2;KIk>$1v=b*6Xx^+o4p1(^AxJZ}3QP{_;N6>LAfyPJAO)J!rP@onj4+ zsvYZ19H|zxbWPRQYgq^!ws%VT6qq&xf6}l`LdMhfGuA}MIV;9JvQ(}u?>rJYxRbT8 z^x9cm2I3+w$OaXly&Ab;HHxot)qBX*jRB}Mv~ugiLhPzY99pX>SHa!lR`e8Sql?Nc z5U;>w2&4AY7%d~meEE~i$GfT%!&@geQk|i8-1eZW&qw|HU%=}Sal%aQVTRcx7Qx#V zb+}?5bG^3T(efTY*j(39H7a}0*W$P=9!mdvEx1uA|O=(y%2RKqc(_31Or~%N+H639^VAYloHPgO}Hh?ig}z7e^Jt!5C+R1>6hE zL3bIm6nh*zR565g+3*tu z<(7gO3A0E^S^^1rl%x86^1*wSg@*LqhNDlqxj27F5g)&c|5b@H()lp0>0Uhmrjdg! zguY{AZWr(Q{rbrb4lBKmEAwZZJ;6M;{(=CdJ3AS(-IG5WZj$S^ieuK_&$P*KKJfjw zPu?_iBMA4oVPuaK&U#GW*?Um$9De+8m-}l^qVguD`}G{W(vm-k%=5)N0-(|T+q9hn zD{1_W(c~%$2_3SmjNPspJ;j*Hl&U{sW(R{TD^(FyB5F97Kbs2;R$;TAJ*7D?pj5PC z6JpZoYM?T$E7_2uHO}~7bCAySTjW(J-RnV7EGLTUCkE69tT;99o!++X8|vUf!rjZ! z^x_BoSDdL(Q0QWq#{F5WX`*O)h#8S0?c0(9!R`+Y8o;#+-%)to(OyKCz7YL0mAaB! z?C=#0e&Iu&!tD(=EM$4J@pis!kW4xiGllNwFm@2M!ETJ>dI`_%O=PzR9{W3`>-evW zdK10-j)mIp zSEwpMmx#j`?JHXSfREot#RUInfpD)0Qh_e1C~{DSu0@E&283FM23-V>k&k}1ln0!Y z3Q3VIZQ4^zZc_4koV30Hv6kj4#pP=!?IxySPxA5}s?1k4DXG8NvR@aF0s8BVYg^Ng z+DG~$&A%+{RQMtPWbvMtDy9zd{ldou#*YsJCQ9uRUI1NH_51>2uKfb;jNM+krXG*G zlxS141*4F)Bk<^OSPCnW!M$nbtnFT;}>5`U<$JF>=y2^Rk(zGQ@ zSUP~tf?mY+d+2?dP zOhvD)8q$Eg9Y**552rfZ(5Y(mtZ13jt3BMGv?0B3(R>-ad)IhEaCgzuEV5SzSwZuBvO(4)*i_8^R&pQYlivGAiZ7l|maL28EqRpHi_B|VT*MAO zV^DHSb*5Dh^lw!J1&^r%I-hc&PSgVo1Lp08=I*Xf=}7eJ|MomxX>pz@e{*_&O|!fC z$VXP2R%08}Xd;c6?2P&p`jaBlF!8-u@6%1IS;1+LnHw*Ibi50Of zs;4D{;Y~b7hG;UT3crho*jfd7fcPHUt|7|byA?MGmDSzVLDDQPU-64smp@Zd0Jdw&?eRt70V)SQT2E+2hk-QS#I~U`a z!=VR!=moRNo+3@ELf=avaaQb5D&w~A&bAYvLVco9M(%5iGUAd~1b)ColW?*a3)a?_ zKUVND4d$eoM3Ny%C?&F8^J4L~=@zo#v|K3hiue4Sj1p zn1=!4i*bYE-9&e;NATQ`rzm=kN$|Xw%{OOd(d{B;Uh}ov1T{#MeDo0&y zyriA|{|da9pGEtwTz#sfX3{pe@h#(x>t)*I)_@d`HlAu}keF^vT&|Uvs42gy#AT3@ zVU6&mn~o~Lk?Wdj)iEpwsC;mgS@juf6K_TBZhzTt8WV4g!1u(`77vedkwSDx^?pcm zk#vu|fzrSE+Jeu9K>1}>fg0?<;jDLSt?|1ZgwDlQXz*%8>_eIiLf2l0@Y#sP?yD=h zAqb?fZ${v$9f(h(yOXYMk?8qh)syA^g!R%29&i&&J=ayc^K!W0XH_vxlJAo5W^J{n zHs2W#*Q!hnxF!Pq5zqo$MRN?VM>NH^pP#=|BF#RW+^Og8ZHKc~Se_8eO+uR@0=M=X(bk^uarrY*;CT zIM=>oADUyJhAe64eRBpNk(o~E6FW+8f-9l#y)(B*9|I;%*u)j_*$n}pM8j=HLp_j&T$GP|9rgF`|+7| ztyU>poq)#huDj6(Q_4fs220>fIwQ493*BF>oY?>jC6_?W#x#yYzb^Clz+)n+IJrl$ zHBk#VAL5q&KefVlVT7fknDBGPZ|SwleFz@4c5l&7Y&?ZZv7HByeEGZw(;HK+nd2~o z&uot%CH`S)<}L;WLRqe5E!yl$_;UaeCiRx}r}sD|UwA3Dk89@jR<#%5>7LvZ@UL#1 zxAOH1D>~unj^c_!(E{M#sqh6T4S>oN(&_B}8*CDxTg@K({H%J15qSp_RoeudBcC^q z$XYE=zgYmMq{-I5q*E;38Cqfnf%l-y@L@=Rz}%PG_^K_4N*}VfPK)&UW&N1{RUDk` zV2KoalD{K(sl#-clihhz_m=Cq{uX1vt6C@$XlzRFn5aK~Bc`IfC(+vfcK>iGU4#km z%_S85F-k-we~Ox7HnNbTa%zHU=Jpw0cK92+dTGS}3VH)JKfc9QBESz>F8@BCdj-^nH=v(FWTviKHf4Hb2EmTgb6LR9iYj-F6a<8~M_I4*ksS`E=p>FZtNnX@8yoT^uGuhgLu_1SD z!D<#RrTbP~Eg=@U6_p6t2X;XZZSkiQKVtLv-qck`(@YyU?6SZkkJ%X&&(E>g*{V)^ zR2C>HGd4B&It=O0Mym2gE-3^Btkcnk8yn;!wtI3Vue!#9xfc+gD394lr36?5S( zugU9QS*cKGMAw;2raGRq14QF#Pkue%{>O3KhUojWH$izwlO)s zbPXmX5%tdd=I!+T;KdxWWhN0z^2ST9<0-X1@VU9Uk{I!2YxvA$PZq1i4GpR$yr`>u8U&r=(Os+tG zi2IvFudpTd#J@%K;|xRG?##8<;~N-`2^RiHTK0a+vTossnv zWGKZ>=s{B3rGX{))B1y*v7)CB5~8}J*qmCbd3BtS7+&|yw?uF~ZsXfN0NtHIi6(Kn zv1$9su0gybpWImX0&A9H#3<%fxYZ7W+5wS~UmOqKHulP7Lmr}x)hZ>VqB-w{Bqt@==@5O%n#9Py3Tz13a7n-R?@=$9> zCRRX^o7Tw$>2MM*z+#e(S+JiY*nx8oJh)B7`!2IQ^=jun6;II)A!vjpqi{J6bhSfS zpo-%!L}?T@_GgJkys?(DRZ;bX9?~w5`i7p2IR-d)ZWXP!2CkQV!3QPN7+)#&0OgY+ z)o?A`QcP@vQ;+I?C46X{$`J@Fl$l$e??t0qiv=Fdh?GQ3@!!ee0{HLjxf8EW$s^E6 z5y7rmt%4Nl>-QvaRXyfF)I{2j3rYe?F#0bEx4qQ(xJi3t{-*6>{h5i#A8jgfD|PT& zboa(Kst~dOOM34@M~AT<0wbJrA;!s30af4hIOPg=qp*_lRs)N;D(5PdAQj@I3tE5X zwd`?F_lOa1m7*d06{s_}%)v<1FW%37%If~lmQ5AQC0@_v96{h4;Ub1JyS z46d=li@@-oEuo*n?@yofex`E=!nLww+}sS~t--cu0GWvz0EZ;n`n*fA2_{e?T&UP9 zRxpe@arGxh>gh1qK#U9>AsDI@rwq^NLQc>Y+VeYJQV*gjn_*du75CH*0+TzSNbAu>qRL9z#tDEk5R zT9vch1Epqqf{)K7{b4PN0kP;A6xe$UkH+7kuMhk&Uglh-b#J4{iI6X1nTKnI5Sflo zlza``U2uZ;d?P{f<0kbY0{@z>-=Lzq@5vBjR5&abJ}i_nF4RL}w(nB~u7}23g4uWj zFv-ELvhKQUXIMx;%qvG+Rgel;0&ty@vq+MAj5t#l=T~^hT}x`#B#l{PirT!95jb6I z;x527&gv8I8qt1BjLJVD8KY;DNKhSjPpb`nm?#kw4?Tp^9X}A{1h9h7jTC3m5x%^- z>8iAg=D6bUWdk8lS%()rgb+NTxxft1J&^@boFxbaCUJWo@^y^(x8O)`m+Ns)m^ml! z*n}FAN@qpc@r<+!WX2!TE?`Kt>rCqSye7jvCx=u9w;}f0b-6Fy>W{%dy7N%7Ux`XY z`uZ+dt<6j^=5T0bu8x#%>PA0iHH-WvTiRjv!KwzixGuGF1(wI+cbde&I1cD5zSKl0 zKl9&TU&0{zWi%)XJ+V4%v<>ogz!DhN2IO$X+%aXadJv8k=z>bef9uy$!genvaY}-2 z&<0>pY89dz@wSr1M~b+j)Vj|2{Zl-h9o zvkgNdzyGEWb|6++%`J5A#FQ)nNDqC%&?Oe_pq`b}MboE(k$(Spfq#07M2tt_ooHe333-ApJKlhrKiPcUPerq+Hqf<|t%Q{# z&jSZDrPy=;`G`hG7eW4?ZHu=#WizJTe-|W@_ju3LbtU&FMz_o z0b$r8u5Fo)17YSqF$rEy64I3dX`1Y&8Y1{>cm4YjRN{0S8LAuB0zFtOLADt}5GTZc z1wuZ}5pUIm4yMWHW_$K)s(Rc%Rg#qYvyV^NjzdEOKdD0ZiXs7Wp#JCJN1G^atFQZD zKXK`vW4aiR&m!t()~@z$Wwo+EvL|Rg>PZ(~ZHvm`#L?&Y<5njQX;oDYoP~beV{kV3 z!5|(1WLn3mz5Wn8pYf3j?d|uhn5TDAt@F*E$EN#;oX*Q9V<$1W_7tUW@JjAR-dLA( z$vuWx_jiC{lDeuYhUe2$jhs}-ye012Q2LyA40lPk>@~r1X*k&YEn*?ejPR)pYk<^H z_x8~PmdvF}6y9{Q8423YkK9B7JY7A2m5em>KIXXK%}1LDt4DB|9}T3A z^zvL|rd@_z`f zZyWj@Nfa{!rzc>F0l79cQH?SxqmCL>=B;o(?=|YY5;jokp_>d7nJP~pBzbW!NI!a^ z^B2YfvzJc`6hDr1N`=Dy!qM%`*vsNaMR3qEz`_)PQF0X1-|L`Iy#G*_I)Z}7#hk>? z@2s%hs`{igz2AfS3#NKHx9TnB<={k58nU?SRju)&^u`1p4Mr+fm&0brTP5JnUA(H` zSUP{2$z8U!^P|CBCF?~|u3lnf=7n8x=w|S}t14K0xm2Fkwl{#b5@)Eq#P$b$Qcz9S zu17hm4_2c>(qd{}?Ymw@q7t~zbI`Kg*}f9wzy$tO5Tm@KmE+s^z|f6YHS0CQ50up} zjfJv)TQvJc$I)dE?~G`L_zA=epMwYh$IYF zVT$hcMMR0L5D)woZ_@B1*O}$S8Oc0z{??2i$|#5BAX`O7s#;dm5ote3GQIO1fWDPk zwYyv5s{d7c>l0(1(&Imln$CVq|Ho&DQ>fq9xfZ;vpL1)uUx&ghm!* zVZ+BpE-&lkN^1`#G~j5<{)G0gbAgmQ2hA|Xce|tP{lMW#PO|p!q8CZ}lWJ9uwLF5^ z?nHk{cZitSdP11M_siZ!s0qZ@skyA7(vG?-NXEDK=(EQqkdIm~PI--Ytz7}#e~_Sf zd~ZksoqAh6&ONJ(?QpJ3*1-oF4#kFKf3&|U>6o?17=&VAzB<({2pwrYu_hhwm#a=J-_WZ*K2=0JbbH}*5b{or8CGPrpP`cL z+3mw1L}c|sFEIz9e3eQuz$^r%ceDj`Q#}IM=`` zM&O#*mlfTgP}X#5!s%+)@3CzBT9&F!N_C9BE(2X5>l!Ua5YX1WDS`)v;eSgGcm*t)2Fi08J}mIzjzBKbljXR^KAr%%56>aYaeP zSlh-b+|oA(s~N~lUX2m&uh)=PV~l|F0{7k~5YBV5LC@!*v36C@uESrTO~+b7wOV4V zUYcu=7dW#9o?{-QIL5t@qhNtL1tP3#aK<|C)HM2pGYN$iC~Ky2#el9DMYQU4qGsba zl=%B-%`Gq;J(x)Le+|;u88ito)%1~1<8c;aN{rGEc!p6;3Wa1z1OGPEz@)<4=$Tp) zat44Q_^$K9Gp>h3(>Q0)-}tO0j}R815eOOWH>{bfBAJBl4lb|#Zs6mY&s!o18uJC{ zdZ&OT15QgW4LhnKI$qQOlk-Knhq0PBh*JKx3Y0et_CA`5HRzWxIb}@|9unBQvpkZ7 zII=L_b>>M|l5V6?X(j&xW(*zp%Eu9sawNr=CCSqffsfvoqE`zyWlo*#Jsn_aQKm*& zsFQpT=y4!Ysp#s;%h|K$UaUiV9NJvdGxTwdmWm#E_S#&9qiJvL;I19l$|23*6C<`l z@V6~p5uFFXGl)Q>d3%(CE}|S00cWOBW6T{X0HDu~Xtw&~z} z*rca51-LXZF`NtoMh)*TpY&8rf*|-A&YGJJp3)cKvEnzC!x+5&D78UZ6$4^J`f|@m4g|*wq zH2&wiuXO)c;LIk6WbEKG-lJ5+a%y;um{AE@D(2zHAhBnai5<6EY2h3r9&4z zx@C~^JW*)Np)3;~Y~jJg8<%)dNjK5aad$zSKk4z!DPMQihXcl0@&Eya0$EQAkk~Ql z&T@4AM7LnDLP1&*`&-GFj+vPy>5YXh$VlY?T3g+^0?RxL#|!1Pl6*h}Al;)^l~lTz_tE~!pAxI{-8&loIkh#N@JwhA$HmZ; zLS2Oz!=iM~#O;+Q;$ET(EyKVx4izZnbbTj-;0&KFPRr`bjgvH0%^}uyX&eLz|63jdVN%N1v;%L#wc6;CU65{pxV9)23&YiltVS-sU=R zvNCC=If%O0p;bWI9j{58wP6+btTVR`9avpHDk^C;?V;Men#6>lTz?(-^#fUrNn(N) zSUm-3v2>nQ(9p`I{^JMX` zXr@=LW=laW!cS753#VM7)rI$N<-)ARTq3M;hp$Ckz$@ncv1Sx#{oV&tpc8<=ECpXL zG}~lz*Akc_&y}OnnXmVZur+g)m?j^UCn3q}c}CK(9X^#Ft0`aD4APNI=f?E`_M36O zg|{3jJY8V^lFGwC@pLcdKv+HKv~#IkoeDz%Y4@%{{_YWUck)f(-V+u3X(0z=JX{%w9 zFU+7Wgbl44zyz!3j~OKmI?jJfm+*<6Y<)P6?_5gFY%T_eVr%8Yk2L)WCuX66?Etuo zFj4_?amA}>r#g{7gIUCzKEzBL>8&(lahWC37f&wI zjPv-*j`U=@CsenQT#U-UCFJ-=1Qq*7;6k9H@x3(YKrG!In` zc=1+Z90$l;;jQTzbxqF}k~6*%LrZsWt8GdQ;@_GEsDg=fx43XfTsMT}doLX*JzP<) z_ai9R^zLFIM-4tmmj+8eKv~h1p4rsdr3TFjy{^@zppKMF6xTid)xuId#R-Yal$HqH@2=x)_HHa`Y0nQmk8 z8ju22RZfnFO{}GG50SJryt4M)a8=7{0u0{uW7bo6?D1vy`(W*d^ftQ!_k7I@Qgz+t zT93LA^`{2*m`lQ#(3;eZ<6{NB>vU#*85%`qwT`zDfED4EaX|KIk!B8_sZ^LQwxqn zDic7qMj|eA2}(Cwk^!NJ^GrQ@n7(6@V3hiSUU#KlD=zbPY1Q0jyoQdR%VZ`k@{w=& zOi|~E!35wuD!ts)qikIO;e9HD8MQ)1w4fS=V$9^_y^KfGvz98%LW?k^R>R=`IW8P) z3t@`%gV3Wk*#3hZuWoTFl3h|`v;mzvd&<W?m)R**Svw&BG5^S;zf7nN{|;d(C?2FxHfRT0%!C3c*~JLpu(lbY>Sb z#iU{5ok{|*^1)e2rc()_e9l8HI~V3y230p_@Y{qpAU%-En&u*KM3G>b9BEQO#ltvm`q1hI|2>OrO&byAbn4c{*qi0JZ1(|Mfj&dyTY`haW*~# z(M;_eL8e`crTMLbpDaFE#!gu{gq=w#_pV`|BgOS&Zj0pPr$LG36OZEeh6)7HYjn`~ z_)Q$0!8-YV@qkeBA@4AwSnWe28I^I_rw{-Y%ERcNm1vV+B{cvw97Qs&>dZ3sQKJ&> zb~cP|3&2n{ajonB1MmPw4r&^i9Va^0dH9$)1*!Mws4*tMWqj7E7PN>9Ps|J}UubtZ8XL6C~iK{Ul0IrO}xDtQC zdMlabdQAPMoen`X&{bInvxZTjHY>QLuiDu9=^%UpnDe9IyB^8JYu90Gw0GOcXB6Zz@ge1Ooz6H`W)t|Ya<#RE9k4J&ihRR z992sdWV)L%1v!i<_-fP@CCak}Cqsc$O+d_%{Het~L#|of^Ggfe@;)?Cb>J(YMjy58 zWO(?>;<{m9FckW7=~|g&Bz8kr;3v&!=QNzOEoiT=V7>*`RT5%1G#z@xQ>$Bkl$RdeXhZN1Sw|G zLwPqZpYDqG51=)Xn2hw~3O#6Cjd>s8x@P1i1`JN>&c_K@0aESsb1N$myS>}?b2<>Q zPchT*6tACV<$EcL^@uA3y0X`2eIQYmY=))sCLmiCpxx1GuPPM?3piN4^NjUoRU2B| zhli*#m;YMC&TY4GR<$duf?tHKTndr&Vo&>UG&+^tT7_k*!_op&0qc(a30l`{9rXOd z@2no^Rm)}d*OgDhFjGV<4N>6zkqUk+BB6m_L3%7u0rq#gJc6PJ^pQC6HyhZ4^pSbc z^&lb$k2}vV=@PF%=P~I<9xEXULlS4@tP-i9lB1+(R-EMf`lUD+Dr+Z=;n9FNk>mm+ z@~9Si8KWoTBxioXl}W~n@i;3l@x=KbNa?*!V(F}(qik-E-QQJmUjhC1oa`;RIAFO5n)73aRcM%MhC+DH>yvC@1FtTe%DYK(E8$o4RoTb5GV$6m%`tkE1*E&K40Vk>T7lKI075TCl*D!La}*$DT-8xlqdbHh@6M<9 z54|5WV&bF7EDKcX#-~KM4|mmrAsr@*K)fkA&K_W1Bc`vXu|%bW1y>a7^Q#oSW&X=uH9%L>B~eG5={>xh1nZs;;1+}4#MBHc*y+M?dqxqf zwSsZIzW&FG@QHP3)6FhH%2C#Me-&F%K+oMtgU0KzmX>(R#pu--boq}lZK?@SL7xM4?Oj`eXt}ldm5lKisWkc=ePc~KO2_oj z)*wx=v`?ukiUNvyocW=P>hY%v`toMyTr*%F{E@$XxIl^_U3+!vlCCmrweyScuuC+# zOBaaUe%OK`tz+HQm@!r&M*1}vD(TaYe^%g}K|4%8NTIBX!uRXYDDBM9>a!H0k{WT? zC3rr^S4@d*Ft3e7G&f!6Iugoz=rixXUz8zAK%T|C8f5{g>G(N5Qr#6T##D6!dLS0i z9iP(ehfpefkUH@BDqJ%MGw{7f>>6AROzrM$xo*AnC=1AurPmNopj;H&Ne%N}KD^Yr zU%I7Iv>z68Nsu3Hd*zg@gHFNCF{B#qI74fjS7U63&|0ges{==&?8azBNq}Ccy&8mr zYnO0Ix=MKcvL+$VnJ~2bSdBrEnA#%@t5WtcusfaFY-t3YlO~MqB?oX7_7W-D|Ch?o zHH}|EXTE+@H>k!aDl;*kj$2UOeK8YE&pik4YJU4=2#%g_>5 z!aru}tD9Jl``b`@HGK{6IhIvPREuyati}`0@GqCHla8yf=1Q7M;%ng(aFa@)4W&`S zPhf2|C<5ISz!S{11&6N0zd)OxzpO5e@o{A4J9O=uYY`R?W3J=$YY8j@AG9rLF+lDX zhdKI0OML~>SwUT=$E?IVEA{FIv>40lFD-2~%0oz<5Lk()U)v-k9CmGmzJ1^7iLSsw z9cCS?=uuh|V8(3UTfNe8mP%J3huKV8)zmt)u;%R70Jjc3`*Aj<6rIO)?`a>ceVV9D zJC>cqtSX}`i-SDp{@|%y2HUv??0^{Yn?A|cqi#)M#k*6 zLZv&I=~2z9d0vIp*rCS@C^D@d%}}ODMt{z;oB#&4-Puw_JJ`nVOerQ#eza=31dn-c zQ7BYX#%d`tJLW6Z!fD2|&|cDHAAwb+y;>lyVw;tC3-AjbS~(9au5PTe2C{CbtI#M7 zmk2;^b{fH|Zmh(+caM|gpj#!}+3~Js`B~j3XYJ}>mvi*Q1tAtSG+38Jgt?bfkS<#L z(e76v>LGQVrs8gtYFU>c?!qN~Ils8%;_I90%&LhopFMGzp-#imsCuI@{V5~-eN2FVyIQ1Iw(cI zr+uiS{4f=s3R*{eDwsp3XA*L#(89D}3Ckr=Z3w0xy1dvM7i6+$-duq+!>%MPgU|M5 znkPEftK)?(EGEKBc36*cuD*Gz3b9dvZ-yS)-&QAWe=iV(C>MGz(PE+q%Dtctc-7$$ zD9&D}J8jQb;Ea#_l!R5#d)%!n_(BQ4Oy(y7UfxYExlUq_`yu=K7DTF(J6I-&-qs#t zFJ!REPNwu|GH9S+Ckma_C1TJbOm1JY1vM8oI{4+w`}29e;%)ME_;||p7#73_{mu~i z)EEy+i5X4kyT8^Pz4l*uEXr~F&p^0s~4H^?oV^}LbrvjZL4X>$1orH~9!rhcuS3yz*KWE~fdys_mcRIj@4>tw6SGT@MEv!q0 zyR29wo#`VuP!2shf;63>4A?rz6+K??*xuTzia^- z3s6<@uE*L?Aui15E0w&Z*FT8`cJKfU6IebN8hdLSWz#BPgSIcMeqE;xG@1r!<1R7; zU6=$K1dSRom5Y{jh)tJN8zKvkXMD=%Dud1`6B;pL!W48npFG_Za$I3bvBpxq1<+5% z*2zlZsNrL+TYDLDJEv14fA9Rb0zb`Zhgj|cW*_-jcl|@}mXmBIgN=`$)j496@UsL; zG>^|GYI6{_)Eq)8(i!Cv?N3EyzXm!2jVZ6Sj}r7a^BrtIOF4C+w<~b*{hV#PbE17E zkC6^iI<0XoKrRKe02bpzaK}pp2qRRyFMlvJ8R?uJM~gQb3aMV5%Xh8o*qGa4eb46m zOvM5zU?-5VKPyKO!56`TF;fL)L)YPs?XGO`A!}m+yz_hT$eAmH@YH=c-$_g;VoR5) zMG#VQre8o`&=;{ViaiN+FOqOQ^W6_WxthY&>_6f!!VMoTWSYn$VUAaHB~m&26k^w| zCUiCcOBbUjB_)VAA2rwuB#j`^fsf_6R?3ib;JvCR8tBJjJ=gZ?K^mTqCa|6{dOW@G zb)RNtG{6t#Cj6g53sV?L*|JDH!S@w+oHmpL^r|upExmsz4#E?)#ukUXcNMSKfo@h! z>H8Bvr4OCMWbQaQ>5Makvo4r6zKNn7sc2LmPQ32Y=LJjw?4q+ zmn0WZouMDbTj^%UJCcKUji9N|0rh)RV_Hf|ofE8ZFLieD!lH>eVrf~Y8Rd`h$8y~! z6yrGgbgfMoQa<&=G_xh~7+Cg;7YtZgZRT%644A`-0Mg%H}~v!CfQNCCfQ zk`@jX*OcAf*$Uqew*u$%dml^zr$y3HG}f{u^Ae9V-qyQ-1dBWgNoMT?Qa`AVTG&n;xJ&E(2AAlO*!r>o(gpX&K)veU_3%xPlNSK zyCL8+3HE?$fr^PWC82c=to6@wI1*S!#P0=6C+)2yP$fKzbTx?T3Jwi+F(@T-0;B+I z&pJxBvkCrSc{`p!VIDy>;yp=bYx`5oqac%8LZ+w|O-FMoXf6nXGv*4zmpkr<6d43b zkuhC?%106m=N;?a)sCVKHmCexS$=*58W&g)gBydvtEXf?mJsX$>LiVx<02x zM^u)&?PHaPai^I9A4W>gxgUX-w!(b`5K#lBqSiMtVn~fpFYe>HUE>2kSrLlf8Rs4h zDbia8CmroGJo#736b4CwA^=y2;{}imKn7sSY;U>@Kr=uU_i@~I6^K278|WO!5R~X{ ztZlLsP79)Res#VX{0X#2mg(P{u(N&k9m=WfC8B08E6_eO(0}7KrQA+W_%Zc72l-R% zOZIK-i@m0u#L4h3e!hk>DOg~J^KgFyi0mCgTtmOYyd)C&AAwn}pibw!L0D1c5LYHP zb=(72nXCZuXIzsJM&`O~4ANSKj1rSr6;{0IS|<$PQT!;`GY|X8#(xG->##TWu7Ej8 z%m=D16?y1U8DkeF!LX(}niCd35%&87StT|2YiC0?N}n#9FuN?uMP9{vM<^M}#@f&k zQ=PJnfknyuxKK$oQ0kXPXkH4+d=zsW^wxlaijS8)*u*RpW?Y96fywMsAmzY<#4tUH z`A0p00Qn7~03xTzEmkKg@CiW@3>5b?Ep#ABi7ZF3!h10h^`g-N&0&_CWO@grBBe{gx%CzdYhKPuOtN(2}&mF zBNRu=n;i%G859$CEakA3M_Nv0#CmJO0fhD5M#;ScxwOmBtk0HvC+mH7u}_{1D1$&= zqrfe&fK)hT-NCW!aB#62l(@?f3fEi&io6E`CdcR#Uc`)wG)pF7@Sx}{eA5keeC3G8 zkSJ@&SjUjo&aejl&m+udQHIZ2iwoJSb6Xttt*?e!r2h|sKri=N+M&MXKK)|x95=m( zC4TFg0gmI?4u{YiOtjOWH|W;&tT+m$#Jkdcum)pKZWF$f5pZY@jUWt1sKz%bLJLbv z51DTbFOC|Y<3mRB3P`6e?MV~ZZTxQho_zsyx>5F%?NQuijsFZ9$##P)C9g0= z06lw=@BP5LEnfpr_UuK5Kw83YfrHJ?W`oT2_ zUpRp8|KsJ`pMU(GUF@Oj!RXA$6Oq;9(u3IFy2^geZW~cbii#mB#2~hMkdfh2-4DC~ z54CGPEl-WXiw9FL{+WAQf7+XZFMnhM2DLW>7DQyni5tBLbWzUoQ3HDlI4RqLNrSV7 zhb`~Xph{8NTUS6&kQ$nFX z{>u#CH)MXB{rdh@Hj~U?W@nuV|IwYg-qs6%BbdObkB3s2?d_Ni0XQw$+t)Mf+$C)I ze?_+iLYSKnu^-~9M}_V)XC?_U1! z{X14AmSq6F_?87{Wt!apry4t)|M}DZ$*KXJ%_jVO1IK=Tm*L^pp;rq8?;ZNBKqA^Z zoCAaE3O~WE54_%hEfK`WHZz*cUEU2X(&JAqSic61NL1m|(4cSf7tf^w{zChKKlbl( zvLYpb&VAs+d`~^Uf<#%gEyT9B6aWBR#43{CzkmPcryt(wST@@D(MtFrm?>{)L0toa zg!V4N#>MT})gAgG_oC(+_1b9RFE-@o*)R6@0ll@4in9ms2nAw>R{?Q!*Y$)I3$AM` zb0Q^zw46z*iG9FXOLPR`XmTSMiuk8bMx)3zpg7f%74dfJ&g^;?7alhgCP6ybkf*NT zy=RrB?;|R@cX~Ss*r|bRY#`eX&3IS}W_SU|)FGE9^71^H&ODr|rIJTYM@ZO<2HAN1F6g@N)&iuyJ z0~!JV1V#-s1PwRYM1gD_55_Nh4qvn-apTlfO|Gcx8mnNdkUwva5kZ)G8F8c6RL33E z*k=&~w?a>T({a&9^4Uy2+k*84Jj@C=eAhuY;6qz^Q>Oax^5Q}$;=snlK77kt^MA8d zR7}yYX#?={7{HKiPFXP)XeIXL{TEf`kKH`ruC;~Rx?&PN4%UMvW)?-`42|P?Qo3&3 zTag0WP*mDLa_8fA=Ky~qK-{I1T$m*W?T0e%N>=TvNk#NM4kJE98ZmMo90-0fobMfC zXFn~lr}i=hHu_2FPDZ-f{&f_$#71=FnRdZg<2<^X_X7V^9`Ccx_raG~Mp6iOkKzE#7V$L6@O?$=OIi%V$s!J@j<9H;NWfY8!_Tb!dLE}@Ql>sr z=)DxH|I7G2qZPFwdap+h`DAj?L!WpGrY1vt6YM}VbZwbfE&?lz3JjwUrNK^kKcikdx&XLamUnm5l4=2F-#LPe4vY+%E8gpJZBHQ*wxB#fQtQ0 zwHEL}yezand;0W-)rDAP=pHXBw$weg)M8w4s1|9-tO}f%V{M0#{DQmetg#b(wv%+s zGjMM$93`M(lL3oJaG;Rmv$3J}{Iz_*{^&b};Bue3y{k>*!BBXX^x;&4?Lpq|Q-CO# zzny?dG%x+Hll{o2z?|E`+7xS=!syfQVFq`n^{pafC>neD)BE+bD{_*eBa0r^%dH%N z80KxkI|ouylP;zSgFHG(Xp(5N|4wJ47Z`bADb=h7e2Qh$!te0mYrD6#4X#sTxu$R> zMsdv%V##)bA6i<66r>dL0v56Gj-qrshpA&^DAO3!*JPkzw>DVJ_fy+WFb^jvx;Ej! z$b;+}P!UB>{R9>jFbyO~VrpH29UG1D=^Ko2H2ek1xoI7I{e-_QS@dlpCej*DdUe}- z(liS3B+;43XZKwiwmmAEefRUCMf}zh(IH z^09BvzTn7>1~)=|{({xIrYC&T)2t<>FGWiD5{KP>iw9oGTb&+tdogx@gpphc@ofni zODOx32iQGuiS+pm#fIvUG-5WG79%9d7N5e)*{Q~R!;S5a_=qXK=RrpS-WXYmQNFmu z(oD7Jlfl-&gpBa<3DqZVJ9(o2%x>3Nl8mObC@>yCD*!=j!ZO@>yg1X6kG?Vm4xH5( zO1m@cqP>|y1tMrRJr$V({MeJB2=O)3ikB~Mw)7b8=f6M8Vs-(v=cjjgXwzT3ZPB*O zE_!^;hON=NqIe~O9Y|q57@N33<8wK@1dR`LDA?!R2wox2X zUbMY#R;de`X}uiZ+IhWbMnAFl!}k-{Kp19>I|6sX0xdp1JKrLGp1t!RR_HYED7F$G z$m7qh%s{yGra5FWOdpRjid5%=HClX)oRZvc#`|0f_Cb?{q~y?MfJ@Kf#>?t*pb$*l z%R(H^Ey<~-7x#81yEa%IiqhJ7o2b03l&F9d? ztNAh5eSB4#O-C2IR%elkM-)C>lv#MXApNBNGqo4rRHE39*zEk%u{C3N5j#fQq>~s&1Ib6D;}cYDF?9zeJ-vEQAxpqY|8N`o;FesRMq*V8a$_eNAjUAbnOb&q zRW&`G&G?(wIKDUE@%mmnBsIBrdl2~swn^tOAOLVagKZf{2OCoy-q=M9fFP&ey|%P3Lf6FA}*0vO4WuWk%Iovy6UFN^;hN2BH=O}aQOYloOJPT#Y>VGT zTQx2}%Xl#xK!QRs1aiKlA!JIj#{Kfu`#1l1^Zx(POuj)e*5<8i8kBJVrqyP>|dd`;+M9xEY@aeq(x9AyZk#y(K`g zZ{+Nk=Z!!#(-r~mPueBAX3lU3ihjv@?YIFFigg@PFfn1a-EJ-amNlmDswl`)xMV_I z0SC#p8Fh3P-4@cp_!CGx&@I3k2mK*5FtY&c`hoYH5JBN^e1sxEizK_F*vEH%0E$Pe z?;{Zu`uGUNR3B*>D8Pfil9oUJC-e`DFcgmr2MJh({3DK;kML1)*X5X=m6u7p6W(pb z1A}koFKS(DE*KdAH0Lx>V-u93tWHoupd=-1ZV_wDfw6f~u@MD+ zT=?4GQoi)W$&DjJ8x0-rXB-w5}Z;W#Yx5)tq zItH%k0nGg$(*ru)>=p|{hTjJ}8g`%~O0h3ws#BcIS}ba+wIv?SHAdm;npuNU_cFPInWaW(y4#5@6W|0%Gt-J6cTy`o}r~{A5@Yi0us`&0YG=^d^Q-M6Ki_dN;0vex3;7 z(TVzB*(=qgJ?z?I)-aF2AJx4PII&k}4yF!K8xi6EtL|E#+cuK?zcOF0D!GMaQMO}e zQ+HRgB+J^BEte=KRp-jFKoFv^CI|!oWobX$-+t4N!GmP?3}tC=w~|UEq31o*)6y^CW7PkXcBd!s1<#Mu{XXFgg?7o!(Gz!x*ut%S6We=F*WXw& z%-y)o;2?mk0=iky zS!+&fWFk&vn?1NrD4(hPQq21R#pSPfbuiYhLmZZC>gfwZ3!$lJ*9LYe1W$?G8`z-` zz6bp}yW+r#xUHa@=~K(OG`+#t|roLp4-$!!KTt)D;}$<*o>zfy<@913wq2wT5BHhTCwJO7jzMi8#AhVcQ<-xGUh2l zDrRjw335I6j6fh(lTx&WIG)~G$1U=|$LArKa0jbdfW>TQ_4n?o@14}%yQ#c)R(Hcx zj1JyNpZ#`DW?%=e#DjHS%v)6q7>0Ucko&X4jfDi(5O|iC_F|Z38eD6*wQ(mq7G3P$ zW69du+{F9r*(eapNf{nsBl`3x_93lhZHRg~d89t`#rf{ilhy#A4S@ zR*H?zJcVc$Y?-)xYKz2f)`-pSJjLudWouoC45=??wm{6u4X7MMNhVNF+{wEkSF1V?GqL=E`gv#VVrT(P>!N8~Qp8DP%!SGx6B*@26tbxfcP20snobJ2F>5`= zsa^3D0=XdtV7jbjNWVdil!eXbf|Zd!zn$Bhw4m}aue2B3S~ffvjBV>T0aloEt?FJP zydA6UXS*YaaSrGgr-RZWs@OwvD(E8)ssqJX1`0Bs6X15bOcJWW0?V=d`h%}>3y5Gw zxDBdW=vV2(ZB{jq`5T6}1Sd^Rq(<#-6y~ZqlHZ=ApOn`w;s7Gnc{pBIgNBGo&?=S5$q+hLVa*b9!IMT=C0u#UiqyZ=u3?<`P-0vC4 zB48OzO3$F_Jtmun<)sMv0>fnib){ZSNg0xOlPW&2wcc*s*4mzV*FuG|ck`YZ4bVU3 zyfIJIqjeZl#3%iS_u|r_mHzWh3j(R?v$Fl5J#v>FSHU!@+xi^TJJoLIVPB6tpkZs$ zu!8y;&PoH2$C6b(DNr2o#mZPAD+QKomg%?ll?Mp1_`dT#8?8XrC^%&#@a}lA0ek{p zX)arxDm8=UvdT&YD%<7lAj)als}ybL+?*&?LdG)ifXy@XCepE*d0r6OHM1K*?A1|G z!HcMXr-AJpBnq{qV9bm^i>rWgpQ@yX5~~tWLe>U0|C6<1AjcY)DpDgSHPNIGfP&}MT?%JFljUjBlIh)3dQ_Orco5VWwNK5DH)y#}rh!uMy;^756+yIU+fUHW%b6MBLd2cW`|~ExX`ZA)-?D z+HY}%_#@`GxJhmzb2z)rEK9zR%ovo6xdxV1RLgi)SW0LkHCHz)d$8==p{R1p?wUm8 zm|~*b7Qsg>DkW3(mxNr9-dwAnTWp~Uk1HpSEe5$Bv$ZDMxHXp#9OTVmHpweMKy!Hm zfxu3bWd$?ZdQkZE(-@uF#r|7iu+TjC-1jg0ze58Hc#ZO(_RO#DCePy=+wn8Q{#DKEZG@(|6oMD#ICE*KVL`VTv zWayH(XK6Cjuj2e9@d7bG?aii7)hwOMfbvIeEwrb2216T_@oU!z#bG?~0I*vqeWe<8`z{M-n-c$KM~Y{&8sx6BQw|ENyNnbY3L3IH*>PlEmhj_SAPmpN_egP z37lp4oZMjsJtasfUf*PLK>9h57$o5-Z&S46-(Wj*%K`3&;O}bXFwHhdPYUhGoPmEB zIWw*g%C0o*W|wXJ&*sj)ukY_7^LLR6_TEaC8#PrXQhxbabccRn?#v5Q6;zL*ddv@1 z@y-7Hx1tg;Asu`0Y>c<@?t8ACrp>jNid)|AT2@^_C%FN+QJ?79A{B4rg zy@!4ydIEMX(C&o~+__jarJQ%`-If?1S50K%*^G9i_gQ;E013AEr?X?nU(J{7cVaCa zW-!+Br?ubh2+<@4g$9gx$cd%KOZiFvDTXPArI%6TE#Fgp3N9^QEZcfCO4|{vX`DTu6y zSR`5JOv@Mk0MRq~4?jG6V@}b!1^<_EjuybFwRBY)ta8tc2kFWOA8WH8nGs&A2Xwg>ki>2ar4>Y`_vY~Z zr z%O-?;OwNT!{8o3`ppcjDxrmMG^)~69EQVtoI{O76YSn|gzuvQ6t$M*^k(D075n_BOvmbvsAN~dTN-SP1dgF;|l$mv(z_es5)YEC6@(J8xN zl}~qTyYi9kL~6dcUw@yZcb3m)b&BYz;_T7rT|PDy)!9Ad#Ja!@O%+lP88L!@E&zW4 zUTz6RSDL9CA=JakR@yenFVltA$|k`@mQOuLj%d8=Lbnly14}d?K-Dz`XNUP529Sck zjAajCxh%o3Pa&%{ir6B*cI5QLP#wFm!U=}>vWoiLKb(BL3agBrYR=fH zhJBClHA>8;PUn<}FOxUoJ5YMf7WW2D0`S;uzGTfEl@|A?;(YM=^VxBCO{mq3Q3PFo zk%biG!MVhc_#}tdxhe=+rc{A6iT)F1mF2O$g}$cZG5jV3tVqk`jOQ->bEGwIA*qm^%?5%UT?#Hn?&i7;)J?4XKqfK8T!l7S$BPzIMVMoMM19x{b31$aB)* z#m(b&h}|NSs<-Y5%atwgLukQWMMkwU$Bq>7hOhaC)5rIjkweA{Zzxy{I0Zse4#)a^ zZ3oB*hfXq}wS2VpzUwXz>&&+6zOy5q9q)4W|8{Zt*Ne}Aj0O^up$ZM3Z6)O5{VRmvqZXfFzC9Tj&ykjtRzeVBPI;f*L( z{~H8CO-oVja#Pu-U|mlv?^#ASaJ+&2RQS8MSzqecmJn9(0h9R@zsaHi*xM)e{?8V4 z4kk%nE}CfYppjk_RJW@j!uMDj9BIEyO%i@xC~%!gF$tBCRx=@kx%FaifLEum0kn$YlYGZgcyg! zM9KwlBjnXFDi~9{hAM=;1z1#D_c#ngcSuR6fTW0|qzDK~N(o3v2%;dRG=sEK(v7q< zNQ;D^bc2+XGy+o6@$ECiy|4Fu@9+Ql9PnYCbyn}a*IIj@8CKGbJ=^CjKcz;N1l*6t z>F?uC%zfX!%FakC>*;&<@edmEQif|f<3t&j8K(?hqMt>D&P&f<=h%NtE>Ez{s~p!6 zA6nJ8`B>{*c;whf>de&O%UAvDg+AK9*wK&E$GexuewM5rX66big zS{dKfDiMEoah+(6CuMwS=Qo*6dvXBpbedc{w?E#@4M}yiV*h!^DWCR_W|6bz-w&~Q z8?RF-sj&FBeK+){Rhg!7c*!KZyh$o(9pb4cxLt}8a_9Z0a;z&4`AFhjZ_~fwy}dbr zGqXn1l9yQ{LubcQK)JPfNN_|o;Z-`j<*f9n zx#HdkXP@0Wu8Qr_i!+JY0a3rNzuD?Pj-2aVf(vP1Hp*0areXIgu|koh*F&16$4GTZ z(ZJAC^4+o{_M9^{Jh8e`)~S}2uFyZ>i^RY?EZ!o*-d2+gsTvw80XfW?z|Qf(wK0L* zt35Z^JkQtX*LF{%FEh~j7p2`|uh&-l9Y4S5neBEqY2gH`FIF344Ko+q;GDnl4SQRQ zAn=zp-E)GVTJzS>V(qK$l98X3IuehmcN;Ik_}{kaY8DCZHt;o^VI-*#lvBl@etM;o zHp){!9JnHMwDKh}7Q89;bi8HIG=lBY7ZPXw8rN7X{})>9j>|(6H|VbJY2A8}pk4Ts z$oY-6mi7zw=3CR*iS&<+YYtU}RcxnZ&~o!4Yxnj}e*749uPr~`-!Y%Dz-;wOQee3M zETw_c(l+MHyNb*$d)UpK4wRh%1-jTs%1d9Ld#6*IJY;-^GpV|LtuzXSVkKv7QZ#|1 zw4NdRb$Xl=W0q7BF5 zz$+M%AM6j&^b-QtuAmPmZQN}>kg@j&x2O-0SuDFrV*F$CzHEY^Qtll1{;Nl$oQzWp z{4BGPLcFg+WbF@IZR;kSgV)X%La1if;!bd>2 z^e*W>=&UuZP+h^WVYMb~LVYn^WTa8^I)9%%){_pS&T#0(+Gwyxoo=HS!=hLa-W#vM;}80 zF`i2{@u=N${*}EQI(eTGeaGV0Q`A|w)1SFn|9A^z3E83a1{I zzT@8=Wa-7l{}H?BJNn1Q$SVN>Xaa|%pHqhU*!ydJKM$&7qk+mYgdZO$!xkgAudWnofd)+GTkwS|e>On?Xe6Do&P=gJHsC7j? zA4`Pt$6)tQ>OWsx3#t8}!6KE>P$xpn))4Y8506sLch)QGv#$Y9Fc&k&Mmal?;5+#t z)bMg#y_DfgxV6MtJrgeZPZEbpf6V6k zku-5O@zE(UHOmU;tZBE_Th7EZ6)ius7!}1bB0aC`?rY4Xdwn(V1m6bN?KdWGF}xPp zgzw2&dkf0)(0@rXqb*aVA0Q`G3H?=muXYU2D$=S-h#IRh=YPYT84VpAn?k`xQF4;ijw$8LSOtHnprN2p zqtK$fwBa+dH@9)%dtqz;#MIXI3Gd6NHoOpoF`Wv9BMo};fB$t4cB`~75@T)ZFga9d z{!|#^{z%E^Htc~ao0Bz0fqgyyWA9>9ZNiSgN?%;$;DpVkgZ^1tPR z0%mR`>D=Jh7Ak-B>jrJ6_(yoR>u>3d2zQ@JV!Z{5Ug{*px?5&H9}5`xDN6owWV$E6 zE%2KvWHK?O07{nc2YVUqr(_iRBj8*2&k@*28Mez_vicpPPI~A_((l z=z?~1q|8%&0;`FKKA#ul?5S7S&5OwW^VtY`nbyZh?zA6V^{UfP!ByKKlD@}OtE<6U z6RXs1a72sOy1v%=+i2|c|#UKp9gN*_u$#+z9;&bz1R=6A?v6)Yq#9CU+x-OnSm z_l5h(;Q{;E*81_5mA-=`p3-$r(wmcs#^}tEqL<8lD6?NWd8?|1POvCsBryaZ~lytm8psNEH>hLgIkL<(nS-!)!R=U#PrD%deE zOEvLZI!N|;1pDaMOSCENw4`rHL`APijLP70YCp87)~p!_?W|iUAX|>vM$fsAW(lji zB%XPkmZFlu9BFVhvqP|H=dk76^mW<|^ttODdU?7-l;sxgmmgRd+8F*ajK`cfzkIg< zy`E}G!sr-KD|`3Vo790TUAN((P>eIvqck(~69u*R%l2Y!pRTDW_iPjExCoiex=)|Z zJszB{jJPrVs{YZJ58+DD69q=S^=WdV8ChgeUeDamoPN~QT~e9l7A3b;+|ZZ{VU6amkdS4u(W#JF_XOP=^Mx-PO+wJ z^=}#+q!*97ydIvpid$}Vux+iLleXxYXs3C({Mok7fOyyglM|%^8GICmD8caf5|ShD zgom%HyPh%be3{54cD|B#{G{x9K1#*M ziME6GsnDmsyGG(qY)y&iS=}V;!|HMB?Yp*7f3EmEZ0n?V7H0*8WxV8(lZw4@&cTS(~8F`+y zo|_!6dmZebZ%m)<8F?M;c%61ioo+VwHXM?j9K<%9?f|@0&$GkS^Su`h$DPyXgG63O zr$%RsIbLV8t-X)V4+c}ucaKx0&X-cpJAZi|wR)X2PoHmY4NjkTrg|Q1ElvOCGm4o$ zJq(aKJ6r1YTH`z44e&bav}G7RTUV-RIN3?{IyjX&sR)uf-HJ5@#2GwK)<^cvj*QL+ zQyb12q)t0~0nIR}lN_n@MZWXx9I4Z@-t*ISKybG>b;?uxtl0}(hdHU|M+~0(zs@Ir zrL+JgdsQ0Fcs+NP7|ynSc^)%NOm7U9@pzrKw-TM%dL7Ifop0|pc<%g;-SIlv9rQXq zk~&-RI`}y4dH6*2{N$Ly>!7>gwD|m_RqEvAx76ukgVfn{uh;%k>e->!;Vgrf=lN`y z*U5>(k)@^7`5EA{QFVR*?)C!tfA&h;*ss{!IY0W=bbc^m)Soj6I5K#h^Ld>dN}cZ( z12Yl@>||^;oUep=xtvT-pR54iR0IIkrq7PN&VLh~Z|+E)PTC&FHt0>nX7w5+9{%z= zv9UN>w>>*EI@{h+^*WmNIt-u4<|^Cd z-G=yjcO&+ljJA`>A?oP6rQ; zi_Z_GJWqc$oQR%G+MaKZoCB#&V~f9>P4KaWrMe$4upbYq3LUk-$QxT>m&#p~ld93| zo)}a;+bDkMWnS}o;cP@>Q1ks|p7ZTUqZChjnacdf66@`Q)_k2*9i}nr(3n9DEOUjY3lBp-P8Rtl$Wi2qhg>T46nTv zH+z%)1$V8PW@6m<&`@@^(9yn2{AeRtQK&eDgdY2b>1t8-hV`n-xg;Oi3x2=77gxts zDT4RDeBGq1_$?w=AH3R+#z&!Q?s@n1LXWv>%)aP9Qwnm&eK6>Daoz*eXKgT;x{vQm~V%`4v*P zMtS8Sg?Lst4IiEEzH=G3^J}KbM~eGY+aiu`8}QgK8jD*WPCR~+-Fh|{B>X9T_FASJ zz6YWiKk<9KEB{g_)#P>g{Wtxbc;C(5rM+n?rA%;fG7U<1OJ7dm5Mv9z z?A6aecL_thhM1!kBX|Rz?v}PJcwnhF!>?8nIb!iJS=W7;o}soiK;@C=V$=wyq@Alb z1l3)pr>G6^Q@Q1_7(T+u-Bx=t-t{`NJ-unZ-+22me?NArOUqp{f&*7l!JX9>pT>C^ z<84O%{>Bv1Bo#*qA3kQ8>%}TIYpRla>S_$6Z1l;VE zUtSyzzIWK3b26{#`I)oV#XOypZ^SJPxK(J8ona?3>@eu-$!EBE`nBnKeJ_(9RiP#J z)SbxQ!=S|zW-nvGrNfSM!pXV^r7}{7X{qjgs)Eauq1=}UTx*swC+l=;#xffY5m$ev zk;sSdj|X<1zNV{nsW8nrTSQ#)8J@F!_8IEERh-U{Fx^Lqz0gI|?OLPYlA$*(>MbK& ztZg$o?G9a(!*iM>T!L$dS6U#p{rB)pMr21Tr3XD{(Vd%<@#?5dx3+{f8ACRaS5(3NNy6? z;ryH(QJ(5C-YdConY5Sm#xh~gUK|b5a?o?nO6s^g z)oQ#L0d}Xf40!giaP%+iguVPVx(q9+Ed%%;;Mc1revw<6@y)ma?ntr6a!%IF!?`)`5wgaddtsB z>Tk&t_PE&R;|n~ovF_t> zTiWe+P_V31rb2fxawM=~{jyKLa#0~^{227yvTEonUz*-+^%>bZ{0M`B#j4?;+{k^L zQtRlR*Ujid=Rp(&r5a)kf~$`2;r(bxun+v)og-`+D*z6Zc>D9)DRnmEG}- z^f-RWbB-5A@px(YwWK$3iZpf@V_)O+%Nf3x*Us^b@LoAT{50BP<5e2yNHIZHt;2Z^#%k8^e!X!MLx+L%7jCj-V;9y&$-DK@$#J? z<`wT6j{1x|mWu^N@c^?rKZhpK#M^~=|@ z)kj{xOB)788+JyGtk#6b-eRxUxt7*69DO(P*q|J4#_K)J5ty!P)4Wf)cxLV3^&4@^ zYGc}EqgZ6$MRl6+5By@m{a-itb&`(lyJ6!lzfJ#%?tUq?_aP+BQJu-l8UCBk6&=ob z!)SkekHzCh80|Q}_jGvaOv&NA$HD7MP4Dp|XUGWM5OCGOE33w9sixt__a#F%gt8xM z8VCHI9Bj$fo4)AV>u>6G0PFMepVVGDq%$23zN=bvAB zH8=H&D?2YQ4Zk5c>&7}?eASTae>vqu)u}#yHqoT7H~(_tNuugmH~YDKWP`_Sf5YtZ zk_W!{?vC|W`SZmLuN?r{lc;CiDxFFw1kwck@J;_RL+=A;9xt z_vq%d`+=?Gi7@q4Ym8t`0U;}V$)sNv2(JpYJFI>8{&Edn+aKCcySlS z-TWyelkR_RgnKBxP(n%8T={PfZ-TWmMYPz_?t@i!I-go`Y zqxqawe+_h-8`z>lDZzjC=x@-j*zpN2V zVHxiV%#&k&u4bUBmDhIyCIM%|!)Tzrrc95Q_e@tHn;hd+&+9f705-?;!0AilgH!Kf z49ZZRbx{UmC9kN7{|0QxciBpO>d|!p8*KljBOfN2XEK_q#&>XJj9|>m%Ess(O__b7 zoHupExZBCCR&lsFIhU2CF+6Yz(!hCCe8D{ov{wdk*(r^0VStQmU#vIwkadF zqTTg~D>95SfLe{T5sYeCnGwySY0bE;oR5lr-jw6_u66r6-yo&95?^fMC=Y4|f_C3z z2A#3@>?QO3pXFHYipbt2!t}buY!a)CGjvIJU^kr6H%KhlrU?O(@-6aGppdY5WBc)XG({t*M1pP9$wj;qY-FUDAAzB@zt2v4q;}N}Bpw zxR6Nu^-3gZlvhFgfq_k5iEKOseeqT5%)N4eQrQ9M)ORyw%2+r-F!NZ%hQwY$)sM$#^`Qexht-R`!*6;c&LLPd0Z*^t-z@!1+y&zTl z`x~wgD2wok+>0x`ev2RFMteHhu+!-dxRda|;<3Zbe-;U{uX8($tYnf=u2~sfk5{#o6 z5ofN&`Q6O>)KWZn9psoMn%E|IWS=Scedly5SoP}fyPlNW;AR5-7Q?(*Y~Ttaq2$V+ zxALREsw&4c$gvQFPHu4;=zms4iX`Q@eI}pA5&hazFrZ3MXPX4nK zW-~#S^uDv@B7+(=MH9Rzz`{>U82@q`y|859JFXF)D6LUgK?%kKlVO5e_D(o(ziql& zS#FzPZW~1gn>V#?PcR;dcv4f&?mswQ(Vv%YnRIo1c)KZcG1&XM4ct=KDNG*ynKoBQ zYK)ZJdk=~fGRM(yy-}(tV91lrwMhK-&)0%K{&u8Dje?KD&`U9JO^1^`-p1Y7jhr9P zNzKeA!lc_)>8TP@4<;6L;yFE$u`U_AgB2?1j;>^i7uWKMX|=5o|kWOq5y=dwQI^-6Dxg4(UuB_lZf3&h7= zMc>`kZ$83v|4M-pqP5S@Di`ekMm~O0hbrVAQwV{}>ySfI+jaTU&u8=CW2A<}dcEv* zc-=Yjz!yS1!YlcjN7I0<-sc)MRIHZQ4KtF#;a}#|l}mqzBl1 zs|Ftwk85uOpC5&Fl!EE3rt!6)Ld|m*zr|6qrBPUKDMlKEU3QEfA8H@@3wN-TbEp&} z?-8DEYaWe1D<|WadQVYNI9*~ooxZVnB?@?pF@OoKD>yISLFdQi-kR;*N`W25!$_b1 zjH+yeec%egSo(9n?NPFwQP@%`Mju4{Em`>Q$26~t8|f1V==B>VDjVGjYG)PGVayEc z75O@GVfWsJ@u)HAH%e+x+Og`Pwue=E{KP#f)nQK*IUlrZK$6M0+hEu!c~ut835rpaiAC)Y+19htRWKXS|{D@X0M6I7>G^oMsFrQnu>P(vII2I*%3WY>h)}Wr4lhMzI+I zNoOJLlL^?#hT8;(+rXK|U~(785%aAv&eki#5k9Q?jCU%%-$G&tpbfCDqgHbXwr7j9 zQ@ni3gTe-B-sOGwj!Ok;1$wC9b@V(lJl%H4c-I;A22z$k%Es6P$JoGm#$X0zt6yEY z<53Ua`ov_#G)7qXOUK!uUV}6-!_2&kYaH_crjT$MW?6>O2ifTD^SqEC2c8MNDG)R(M>|jsh}XEMcK~bg8qb^L#9OJkD1P}2P;+#uXY_P-)qE2 z^GI{)r)h_R?@3Qsw;6qW-J)u+k!z+Sd%lCBFPf)>tF_enj!%pK$E)j2iChOA*(V(o zC^0<5+z|Y2i@zHO1SjsyChMf&kKwUHz|&j&#jikcj?QfEP731~o<0P;tVRC#>PJKG zYFN3AQn?MP)fjBho;E**^=_0>^V`fIF5S*-gHDRZ7@lw*i2guJ@}9c$NA%|y&&Hyj zjlrhMFzOdXw0Z6%aYXyGwO`U9j=gs|mf(4GG9OW0#ph2qFV_?Ho#aNR`2QmBGuIq2 z$II=c(2bqbJ&dy1`I>AW7&^{X-I-n2N#PyKL(B)UD9ZoNDY2aU3HHfG>5~nr+Zb#g zArbN9HHp#OPd@cF9rZS-o@21n3$Um}8^CU~QEIe7g^$6|93c6LClN$^nru3nY*2m2 zU^o|GQHV%5eeGv{H*b?YlxEu2JT^kP3Jv-Sux6L-_Mzc_z@l0NDm`b+i{8%70?S`k zK&V=0&q(3)5v3BUkoA*wqphc+w}|+==#As%bWfv1=7yDAhBQ?FgjTd% zF4peIh;fA}$I!c8a7^JDn~HkC8TJ5V8hWnFsQzPU_>g!a#Q#PBp8G!p{vRUu$gfB5 zrXggKXygY54MI~dbQG{IZsh;?nO|I%M|@h%<7bG5cjyDGr=CMfsu_E@_#e0+tu25m z&kH=2-fmGFxrM8{Vfc@cL!w<6EG|~Mh_+bE%fFt*&u^bRF zA0sy(L+dERiZWM-%6iI~htNFATqnw$h@+EUErw1#rZOiNp^I9Kp?Zu&8n>IYp0k|Z zcy{`O6`;6`p7U+!Z|AA+2j3dd%=NgW_+~@PSm~$+)`-<0d_-o{=ZV$vRt$D4ffk0~ z1}&74MH$@hGjwhRm#v{9qyWogyy7&xEHkt*JR7t1UcD3e(V66D-Ff_ZGSYNe$wJM> zoM^Ozz9br2l?4+X?__d+?<1iaXqlmEuiBt$-v?`_8HI#a2P4TUHonzEY>^InyC?{m z)ip0lhIt6!me07iRc*Mp?dQ2snPN`0I%MIKz5^UB{G?OX;5Whi8lDs*^%n^Z?5K8n z4ltGCx8FI`yg<#GO$%BKCtx(EKE3f!nk-a(sy8%&-Rmky#_}tZJ8LE zw{aDH!PHGn3F9rpGC(YvlvI?QF0;6NWn6q^;=_Q%FoHxoo^Zzn2~2;KH*2U=dQL{#4p5X|CHYa*PV9^i_Uafy^+*_jc|v>}%ukpW%;BPIoBHibRu z&^0)%o>PWGJHBFQd18r9UxZVnKJz zM7kuN=>pe|H6FG9Z{@s0*HGz@%E>AGt(;gHmg9wTbQj8{L!9=!Ly^j*|3^8xF*LCY zX zZyJqqdr-0(z+$2!p(6%T%WB!6HKm|6IO!M~8!}%0ME924LqX)W0?qRAa7b=MHboU7 z!Ox5cnG$u2nZKB#%b5`cB9*j>x_qz)y!%N^L)MJQw~Zbf8TZwif1pd75qTrgzjI#S z{M(TXWmuBPDBrlC0_Dh|c3^F=b1#Mx+-A)zkd69tIkpu!w$U$#OY|`zgt5!%YW&;t zc5U=C;adC3VUe@Re-eTdjG@sWHGR>6{~zc3ub~nkMx4L+ANFFrwI}V57+lTC0%(5+ zkT;VX$}MO{il0?M+GXH%#+{mQ%^6u0I36HFV(Gu66u{Dh4-8h;#gD-~PgVj|8qY0W z7CDOi=#mD`>%@uA7#+}H1-;)-H$Kvqb)oWeyHDsmkR z%Qk^#vbbt4{ueUd;hHG_LI#c{ib4N3x@xn% zMH(1#=Kh>Bj5*$~fEfa>H#=kj+qDptd4Q%KV!V1KMV*OY9Ls817V--WWRT4D5nr$^VSNWb40A_&nv?R7hZEHv7rl*>7>KF+ zcE}sO?dyv^XQ<gN@(D$&Ub!dgHf!twMsIVP9BM_w9FYGDW5gMAL1CSOkm)P>PqZ zHbJF0;Zul&y>$9qOIX&Ydwv9movPOxtF+IC`Q|ge9S)Z!I~ps#y2S{2UC$}Z$QOhF zt4s&X(+^#g6UQExwT&|zu%-e$SQYi^i~kuRw@7Ki(XC$ZM-Qd3w&4VYUXpsdCqyn} zc1CDLf0*l((r`;h;FS+!4ho1gY*69y$qJzPFs_3S;=RU!WsghS#%YHj-qJ{`DCCHN zCd!Fvk4x3YX^eo@c~dDK5*ogfR#Ac{g)fS1%{{i&oR$6hD}0Ad$~rmcS06d{d?s-l zr!?RIB5mt+c!4)D^oWVHN(YD!G<#fp5L5p1)M(ckzw||CreU|?r~@fq11UMo&LRi# zx7B~%Ja0F=gR2Da5gve=KzDEzz00LUi%#l%y>E9Dq9TWRi2OWyazwak1lM#Aw{-&c z8{if&9SfR%z`Yy+pnR4TH;m99&y%HrS(iFO^OmoCN6@?bQ!3n7Z`nvCj*9w-f~dWYYO_wKdd zAIIQ4?%+%V6}X^jC&3gi$!lE~3BzZCljzzDWV#?(rY>E;EPka}7cr3YGvsTcba4{w z6C_LJlyO~zJ4==-C2hAb+)@-H#e6tK-lnO^jhoaib9W^;1C^baH%Gb}5~NV%<=}17 z&?rfL`zRMtjKu}AxLC*lY*_KJ+f$gFpOOnjm70=Z7!J5(U3oMiZ3(Z)?z%+2ik8%O zh^Np9*j-7;xW?Wmm?J%ikVo|38)3Vs!I5X};^Q71_ioP38;}K_5DL_= zEh(-H-cWE*VSJ_nuZGO4@32V`K2OW(fk4LZ;p7)VB0p@6NCFlZq3srhcZgzKwS+9t z-BjhJ*b^~e`6Sd{ET?fL36}E#^4%h1j^@;jrYu{do^P~lFI3>)MKSE5C(OEK>~rco zJ}adbigs)#!8#pqxqFdD;8t~E@Ix43LlmQSiEKFqX@r%OZGT*Z5q>$~*7b63N+ON0 zExC|Pu6^X#-Jf&`J57_(8`z-b8?F0b;5;qwqzXb%95IY5j}d~(gjWBpRa76Rnk-VQ zw_pA?!HmBOoaO=21gETT9e`gGGDO+K<#MD+3n9OXzHC;qhy3ag#UqAMxlA^ij+AgL zecKbCbF%jvZB~d1Tu2OK9O4O79nY=1){Ibwx~;Ljg``th!jS<<-9a>o^; z+es>@&&4oWtUztNy^GJRvT*nQRjG49-627eIPgRYG!*EiWES5i1wNEXQ3<}84BK|Z zZ3DIeZ+~D!H0F3s<~4h=_>T_wW}T>|vltE?c(4s~*&EOxB*{Z^_v6uhx{*gsO7$ z0R6P&DcE}XD!u=IPfQq>k3zSpc{0>{+rFaZ1K)Y4&iD~`5GoJ>?sRo*P`c!P; z&OlWXq6rASm>EKs`~yAyh`=hR?0N(!G-4>8!JS?4%7HkcB0S&2ov$7fgPOwZ`79t^ zB`sbEa-_M>5c2%Yi|bUp~(4gYyn@8865TmCogLPh^gJE?yq>yIRh z0*p3_G#WAR-87_Khu9~KZ!0_{2;X&i7if;H$RkTJCs({&C@?@*ef9oc1yVak5RNP5 zh~~bcShS%HQafo7>0q#5_)aFL%rXR_U6TBfvjg>t8^TXlI`GSGA>pv)T?%NpLz@A8 zoWH0?k%eqH2wg`Iy1;#`$pQrq7Zoy)aOgs6r;Z7FWG!sRyfV=pl!<8mSj2&>yguNf zbY9z~FutHY%4zF9`acm0`Ecs61X;s30);k^3I&QU6cSxjoYA}Mi}wdWek`G6QLS!4 zEFy-eMA2tfcu-XHH)aEk-t9iWHN$DdI*pW_Sk)H(@uhM+$1aSo?u3v8l6~6x=sWcc!|kY3 zRX8Q(SH)hj=N*QMf#T5hZ-cHD8j-gflcr#cjogqc4!Kgnukw-WA2%h6E|zVQj8 zV1>u{UTdl8oxOk&rMaD$JNTeM*-e4^$Q6%j@Oi<5w_0FVR`-XY8)6&50Nn=QD??55 zm_rRK-M4ygW(Ecge+Xm5PQj{oDH^lpbZ>C}GtZ&;=x3wGGi6i}k4V7ZQ<*E~O; zcb__Dehn9NrV~V9aR5CN+V{28$r>nOjX(onYEf7qa6bZ^g8;`v-~>_PZI`)`ub(Dy zgLchm#RqpYv|XuN2L?}Vn)Nlm#(l!TsJ4DYlZr^z9b?URgIVFK#TPb z)pa&}hE^R?f79Exs9dgiy8X`!bjzM@;a$O}xj^PfuaYJ~BIB{+U%r5*y{keYxPY?Z z)73+SZ<2slU>mU^sAwd2w2D6;I2IwOiq5*s!zcq;hI!z#i|k)e*fI~X^nXJc4ILIo z;PsOf9T;NnbXShlxg-dTR#seAP$LugVOu*CfvKRo|D6?!H|nnA0c6G6|=_a z9lh;KXtWFpl@x5d9(`{Is3$I$8NK6+e*xw0(KmjMgleq(MM2tj3g-IXbkR+DEIm7S zCZ1*)q&1IlrhwQR+>B1?;f?0B-l0%StnwbGg`6X5x4=aq;Qo%iB-4dC{Dv*O0MQpm z)2Sa|YNmwT%nnoBp^#31f`Y{A%T1HNpu#&8)$vH^0)Xx-rKsIqwUqp$;PjY+pzUyM-_G=x_rr zOb@1_9=qVlb?P%dfVj*ziW{wj&${_pfsY*qhU2k?TU|)?w{CLAK;vel#*?C|ZJVED zOY1nlY*TQ=R7saYJ6}PHFQ%lJn)h*Ax3g(G^=ANn>)-gJo1enjE!gyW;AWy&Z=r3z z=W<|AY!liOTL=;@;a+MigNTGGg6*?IPtTGdsusZO8@3^HpH75q=yshzz979 zD)U~&z1&{K>iH&RIyh4&sRN2Z4=RAqMJ~J)ygs9W|9l~`>S>o!T@u=sJz+~H$cybN z<04+Rw|~BxT4(b}8-0?(l8rPSkyOYpvAZi{@<{O%yDRd;=ti}td zx<$d!TJL_S{wl}~?2p>~65T6x``%S}z9?3a#W2BZcbFK9PGoOx)^^S9d%URSqF8+p zSU`}ty!{R7d-rGRAMP^R_Q2~v8;?0Ptw(W+EWI{LazA(LN{Pr);}6i(QO9H{6Y(qM z&FYn~uE%lg5$zMrfA%t}JQsjrPwmM~4jh!4)Xxr81MCwhmTd4IIJy`XDWU+9WX8FV{Y(33 zDC28VBW5xhO*yCy1sEa-u6DiP^4PW*)w6o%kmlC|r+~_?csfNqa@@LT$=|u6?3=fi z8i}B)tBY_x0GDz~DHT!Vs5=tM_2;<>GV}Xg4oa5|jvZK{zp;e=b(xkbLreJP_?k3t z4Je6#)D9|Xp*?Uhu(D@#6S77t_tePJB}a>iVXZFH<^o*W_I73sg@wwvD9Pl54yI(Z z07pXF0bnU}YUY5UjmYOKgIf37GaVQsd*F8=DtB+OMvjME=k!=r*Su#O-2>M`2<_i? zl^pX^w4`{XhU*ILa+X6{EL4CL2{3=UpS!DZv}>d8lI<`P-vhUN08S>&H=SR0$^QHv zSWC63M@b|ZZPt;{7o=+;ZJE-a--rJ!+cID*5XefRS>`U7v0NU+?~;y6U0*RRqZ z16okN>_8QwuuN(+PDXoG0eM+Gyy>cq2N$pw@I+Y; zyyL>f=H%n`(UM~iB)M{&2$Q~v+C6}X=;VeEUOfTm&Y=Zy-^SGQY(He&pGHU{e`v7c z+s2or+8Yr)Acm#%la`|pxVnQpk7lDeBB?n`wb+TH(ur{No2aoq6#rw_GdOuBd{@8E^@$UQ>|+%EunmHOR3B9}+m1u*Zy`s7|_6UF0xR z3q|$L*82gRpBGT+Vh5B@2qGqO9uGOlLcve}slo5SzE@5=t->9d~#9Nb!t9ClDdV4W|{yvbTYvBSA__?52`w z4Jw4tqRNx>Qn?`YRtKY;a?e(R7^&jUh^- z25I=svG2eHBzrp{T2LHoV2xJs15ly#Mx+2fS_inXsNVm*+}Xz7suuh?u6hvZx7{5XKc{pRrl;{!mz3T9lyhoyLZ}QOB!wzITr+9kL5oGF)p-EU)Xk4-A&wRIbU4Jww`)II;7v$9UT&P8dZmN(SP!Z> zU>%-BT1cilKR!(!zFxpMA?j_jgi;2&5sFv#O|;E*p4(+uusXKmkgT4KOq6tpQ=ndU%T6V2c@I%|8c zuZ53QjWK=rrL}*MJdrXSLh5JG_zE;Iz6PM=C!-Zqu6|_)*TE&NS>m~2J zWVF0W=%ij~ow|0o<_cHZxSmYKj{F_?v1?+4FqcddPBlYCkEU9+?EB!){aoWxPS~^sYj;O# z(g$0puPs%>ZUp08m97OAImvI47#977p-j z#`VU^KkPi3wpeOKoQxO)UcMvb2Q=)lhulg6EV`TO9z-7g;aGwrK z;BP(p!q6M7Qno^lxn6(|n8m2iaucv<~!k9|-! z?&XDp*cR=S(CKgp)@_FF^a=ZPyP6CG8Vd#Q-T-qYu< zYi=O&(6O?Ylw3HW(;N%0+3c)h8?&Hx7uukY!2^9I-uc(JYs!^p26*Ah`c6c*V8IW< zm7n0X`ni{K_&MW{jkBpe22Hac?xl==-(rIB4o%e;*GS`lCOuFaY^0vTtj9hx3rU>V zB33#MBEIv*$5$`3e5gO4X`!7L&i)ZS#b#K-bLqr!wbkb)bO)R{5rh|f^8>F)>f@>k z^)M|Bcn*oFI$(n>nGd&&zwpAz^_|#pi1kVZ0@7IcGw(2ko5V`{7uH5L1)J%{-+~Uf zWD<*%D9jH_S?ye`_rgJEHpwa-z5VBqc7^dLf`o zvUSw~8#;1B2J3agxjB+2ez~B{AzBn2B$oGZQKxFrUp^U5#@F_(8mFy&OBOX$i>~pL zR1vH}_*=ZE78x^^)@f8ZLRv;V?xr|QFWRNiHQo&!BdE<%JNds zu&ezEnxRo-(pZoPGpnTD`C7uBByY)xtFPWcMG9f)gyT32+KjB6{DxXk9!n7Q`m%IH7dsDj2Fk6XMY@;?b{dHY6%U4S928PcLLeVgUDONxy zg|x6Wq6JYQWiG)JYSFE&!9b}j_fkM2;><_zcHMiafAss9x?+20U}OJ=A`tE#I{hl? z%Um!mu#^ot&c7QU@MOEkLFj}dGQ>8c24>V7ReF9R_w~l#0S&E~OH^YUCBazExtdD+ zK^1H*3BF4kWb;;ug}O^7ZIbVPRa;(&0KTR(4{F`My%KJHwNnUkhB&(K3Mp|m)J1l} zl8fsoBS4rQu2YNt&#!y~Vaj-;(n~AoBB0YGmma)%a*3xDwMwZS)@M{hU zXv^#{Bxi?Dx{7^FEeh{vla`M~xeS>UU*GplN9w!#k}kN8>R*?Aq*cH2)$>&Ssur2u z8~}rR1v6@w6uiNWD-WFJba)6OO4$fYH!t%#sYfl7s--JS1457GFlp1}*fj4fL|RHv zvIX(NS!>bXLP_^i_ti6%r6YJz zZ$n92J4zt)UvfLZf*o-zU~=9_oPcRnabXg+J;JF40vUC7M>;=xQMcJ z@OE4=ge5xS*bL+yXOT=g2HI%2Ok9brFPVSb1%PZNck(x4o{S2@(!UrUi7t71BPi>vU78Lq_m@ z-9e91s-d_x0;nt<33(%iRxYwbIX83naOpqfXVr@w858b5lx2g8&JLW%18iw`prkwM z)ng48oM@;({acn zNBCw(bZE3`DB{L>p>-F|!2sKgGNi1wj3i$mU$l;c-3lI5@TISi27(FW<^#;e)>rEe zC+9H^WcIb_Z7ZaVpoM%>2~)a_bDDarW)}l;)xIOncTi%{FAU+<lUo#{X)n8mM;HGy+VuV!gEtVcJk7^cIyW-}(t*%rnd5)~NDY zMk}WUn%}maFVeK1EaVu5pjIe}@n^oflBON&{Q%l`D=~RVSD^$=b^NFmwdh08d@XcX zl%b6{1Ny*_Ht?uYg!nf&56N`d;YBdlc44j014A+hb(K^tU#s=?w(zZy_%&!fWds0a z=|V6u`I;%RSZnnR7N==b-Y(?*o3cOzNyXK7bGX({>WIe?*!-+>lNqV5-6B7aDbi7!?WiS{2*H4O$gF;MceQ z_KI1pro8+))oJb4RFDWh_MPi@$T}%Z2WwGfyi9l#Pn3hdz41>|b!kpVC2+=iIeVj_Zx)StNG>VIRKD8@XMD;!U^ zV-p9i{Y!GHxBR}jTKZ(X20^;y6}8L)P79GWRTUl}lL>?}nK}-GJGj9Q4ABseJYUoH zBylgy)pk7*jJ&-!K6tPaxpbiO1$eTd7V`w^MA!(KxXygy6bG;I-9asQf>Kh1+9(zp z-FvU(RmH%g_u<`rpl>*U4#)l$UCdQiI1M*0j83iBM{R-z2@W%(?ufTB7$o|!eMfZI z+R)i$A8hPzHyCw6`B^4l*MQc97&*kK)wP&2(8z&c)fcehTFkn?V8uvS;2p#Gs{Kle z8S95+vlkox}68u8XKM0;4V+C$;@vriDg#}0dSVwHFZ9EUz3!Fjn^GccBJ zxA5TA4=tUR%%bn36A!%e4^?|2tSWkTQolzRq`e%zG4uZs_tsHWHBrO3gaRU|(jX}y zA&4|eBOxIm9f~M%=|%+vQ9wc(l~hVv>LMW^A)z4MsDv~~s-WOEbMDngpU3yN-u3(b z_}1EMvDUu(?Abkg=FA)*AFvn`t_}$Dy0{%v9iVS|6iTr`w+aKPEtO&N;z!MugJ$j* z5ge)>Y_v>iUNlJHnY?(F)bwRu;XNpbJBb%;38&Yo{)#?=yOvvX@(v~ge-Y#VhGhuY zK}+BxMWeDtxV!woy97C;o5J~NlxQ?X(Fsm3{ngyOf7HLrqB0t+|IvpV7L$w*gdi9x zkYH39Ntvs{{iOCd!i!N=oeCL=RfT!_Zk01#iD`dYgarc63 zNyAZ(h1{h+;b%I7^&0TCqyKI}tH#lK8u*Tm7hf0Tb`E^GXdt7P`=JSLFW9i8T^PKj z1YfQ7;Fet2&jjCbh7;r5sXA~3xbhq&HTj(rPX*vUiW%W_uW%%Ioi7$$b8A`$=Qb1q zPkvu=ArA6x68`{x^1%aP@ckwY?w}iq3G$9qkatx#P-WVm&+BTlf?adDk7k(vR#{#uk8KaC5nDYTM* zO+kIQ0pgRIg?HrWc1rXDT!n?O)JqNS+km$MDe)SlmNi#YFKM~V(zPa|m_7Bz8zW6$ zTDfG?R7F!C>8(6)ewI!Ed?EHMi;7I}e5^77h{14T|F+5l$E`rJekL;Y6XkUWO9DQ8 z+*vxpB#OT470DdYt-9Z;fgPx{KF&EEfn0@m?xNcL^+!V zu1cu(nBb|nlCXEcb<}re6`dXi%&O0BhVB{I#XqF-S=KHqP#m*740|Ii01j5sM8D=} zZ7oYw>H^X5lsxzWirE4v5JhgQ&u%fI&SnjQOpoyUYvI+CFd9~Ge^;xv!3Xh3LhSER zd0+(I7^9?$^so^PPlKV0BO86QWzF8S?n-vLyb#>U5F+gIKL)6;R33=9+J7d07%eny zFjC^g!OKp7Y9ujh3_0lNEtXt@>1zu|$YN(a>x-5Ihl!*9Vx(Qx{ z3yB!Gi541w@6dFi{n0*PM!@z=<$=%OoT@zK^Qbf2R^-q+&&XwBQ2W%Ob^PgNV_Xiv zRanPC{}Yu5aus#%AIjm?%$yG4R zz^tmZ2%TDm>%oaT}2zD!Yw6 zc)E*zS2uMaQ0O=m@#?pOL@pO8r|Fd8Q+neD=&Nz^lo`CE2HxLXYXLVfHQ>1_eEO zJ2d;{M{vV-Z_+e``rdsLyt6JOUt7TpkgOti?s|sLr@{>4%yWhQOqB<&gLBW{TlZTA zo*PM6Qhl!FHGS`?(mT;FXkP-!5-Q)l8?GMg^Y!(>2)N-Tpm;vC%)K#OKzx^FFA)8SSrKV>nrEb1DmuI)z^0u* zlPAkrus?KD1GrU<()fd%19I-0e0GDRGBW9H4x4~w+Y;zo-;f@giGxLo`46PY8+bcOiOma)+_0mc;1@5tKJki z6C%%W6O4($r#;($aGHt>nD>zL=Xa5~ZJv+dpeo?%cq^Y4JhwW@RUx=PIvp3@rVxxY zu9tDZ!GkB<74|pDv?pJKrCX1X0Z0gl#iH|XF(_B|o=37O0(EngVGtZ6COhYnGgsNu zhM_hhWN+nzr*Orh%fKmIZz*^p3S9j;=t9he9GT`9IHTd~PIXt3C8vcqFFGa2^s2n0W$){}jJmB`&5rWG74AWFj z@Z7wLrS*;9CB$o19FQ&dBk!_P9G)1^|B;XQ-RDXOmf#xlPSQAf5MM$VbM+zxY0 z+@QrCMqk?r02c@5TGYECtpm=k0no95=RNr@*L_ZS*h)zLlC*)JEfpipP?kZ%i!z!QKM2q%ioBve_84 z-^t4&C#L*KEB8xa4){lswyEtR7e=I}sa8R>Vy;)j7&r$Qm>R|4VG$rr2wt4*E%84(ws155P!4;N&)~%0W3P_LEzfLrwUIEHM23hOJ%v zeCElUdMGx$p@KtJxnBwtwYSPHjQ{04@e2!DfO|n>xJ)j@UWiQ#X{@4(fcR+T zeqBf`VqY|s`V=+;u!g!2X8<+tS`M*tYioZ!sx_UJ*4p75;g~qZ0CJKh8pTDNNkBBA zFB6p*z*?~nJi-OExf{s$f`zL`pvx#yjIrsy# z1wu_5iJ+O;L=^!wZ6*8;0JyJXa$Vjs!@m7RK-kz3h@7U1#9k5n|BV(O2J=M;oG(CG z(i>yq2DeO3yXaU?Q>8^2-@@K)d>n=5{&G;*MaOoU>M3wO7M&Bd-bs$BOGB-EmoWDN z>xY!V9h>J-i7spv_2FZI<%uk`DI-`FblMU4IYgaKg$M7KsIMzdAO0JJ!8 zX9RwG4U2dWn$}$QoWnhUlyD*bbsw%r!fZO!3s>>H>3OqJYH zF2t)~+Q42?TvZ;`y?F=iNqEsH@bBWUvIL{@fDf-|-Dq}Q?c z(2`Hxwm(tZ5IGjhQn~-`G!;!Wym00@@ywwWJ_6g>H{_8~#xhvzMn$1>XfO*F78l|` znEqf9!U7B+52v2nuJrFkW<@X)$3#RT3;3FZtenHWz%g7(7h+{B`C(`;e>sPPcgAp$ z$pFLUC`7*m)OW^`-T^bdz?uA8Cxew}$gF5~69>3oTo3Fw4Kg zqlLP59`a9rnMf2A)`dv0bAZD18D>^6uPT#Ac>;VX z(I0p)3%|J)tn4dx8GH8j=b+KF_BJ?zn2J{pw!Jl2!c4AM`GVMF72Z)$w2>M9iHFB-f!r*if0f(vuW|?R{!Q*0f4{#8LjM(M zW3CbYq2w>(eStLu%t(2qB`0iy#NYxVF3TqzLT@q|Y+{f{i>_i@g|3}3C7dmco1;3X3ukJ{}`QIAqe<1Eo zw>*F^w|-y`oYAN$*eygnh6F4)7~=|p$9M_tl(dHDdNhlxEjBg zY;@f{;~yq>*&bE~2iw(TBcJqo6 zzO0h9a$fw&TH#(YJS@$Q%dyVH1quak+t5{2cE`o{1)n!GZ>w}r`7?NvO@m+wZyl3! zv7AcYtL{HbZ_*x7L*Oxe<{6k7PP5)79*znZ{qYHIhSpHbfy#0pv`{L?se9PyKkdB- zA3MufV_jwY2o6Q_7H(K6q%LZ;lUY$BhgejaB}wtayI-D{@v*_0^q(~ zlSHEF_jr318tv+2UYho}8iK;sJf~UJq+K`?FA+oL57{C)KKb)P=1DFrh9yK5 zk;qAJT;p}7p=hYnk_9^B7M8Z2;}Z@)q&0bZ^m&G51dm%=bq{!+-``I zZ?eF)+#3dzr`{zK#RQy0zDO2w>p=}c6Ua<8m&w*(l?iHX&7$~NL2t6Kwi}nu!|R{( z{Xy3ycf>uZz%|vsG8($vY3B3+JU~wZ2LyE&4qfUMo%DYJ}5cB2MLnuTK zp2hJ*fkV(d^DIusKf&9G;F~xE)8|F}X~0)rRC?w2slUUshNf2`BYb2hCx{tM=1~nn z4`#H;)5G{zpdRXEIKtj!Poc`}XP9kEh*}T>GvT7vnG9ksetE_oRwG$*JnaoDf##q#A-rtjuD=_*Ph%#l6W|u`;`q5WU69?7GhM0DSp_SLM3Q zjOF1p7Uc7K_;b@|WH{mF-OXEFZO0X`M(zUwYv_%qx19`lUCriELev}i2v?Kt7_R3! z)AN{%o?g-4Z+&Pxt}Ac5&>s`c`N>}jBuiVaq?F1nnN7>Xg)GARQ%=j^e+HStnYXga zPJ}xVquzSA?}%3qKE+(j7n#)js>T=v!X{0T%kBK4`wf^D9{()r@8#ml+Op zP*(Tn>>&4-@g~D>hm3<|@UI@OMHnmKANY7ifD1C_#$}0BCk%p&k5F*Mevx?$88;C& zX?d^-m`-TDi<9>zV`#teK}&CZLd69?fUBA!v@nwElj@Ti0?LnPBDuh8(Nlp;Pq?ZD zLkpjAeQF1Is*h)$A>74rFUO8QRn)hRHFtgR;5vhaev53$))T3l&hcE$wJ%Zw8}UVy zI(apuNOOe9j+|_7q~*M)y_6^vab$=_yi{vVETdCOuZD}vDv3w6*s)X0;L?@pH&2?U zA|*DQ)}BZuIadKT;!|G!;ZZ`wH238f-mtw2U3Yp#n||cmOql!u$ov|@oDN|g4w*B( zhRmNK%pDNsqLBI5syhjOOq7-b+O1QOkG2@rpD>IQHWnWFb}c@J5Hbpdj5OIGqx&n6 zQ70Q@q_7U9jDd_KY6Rm5soP$sE?xfdXtU2Q?Gh8gFt3Y%bain~5c?bcR`!#AB?-GI ze792W8hp8#(Dk`julCEGs_u$?Cg?IV!Ex)<{o9jajiFrwP$J$Mlb2V0N&HuM?us@H?nKIvqcP zhEfur)E9VUE}tf;Ho*~j+B`N$DDgUB?~>fBhF7f*Ipg;ANs-PW=q*<2dS=?e!{7Syl@I5;6YtB< z@Yah$-t_NU-!I|zLf$RW^&cSb2#$a=2yX+IJ5Afd?*J1u+%Sa6M7UHZzZ0KbSdup{ z(fQ7)G_ffIR+=&>b|{B_Ym&K6m84oRd%d`MY~#ZZU5HWQO<3G~&&WDiamV8;&jN2> zYor%XHcc}I&e$-ZG)Qidb$(T>uxgz-Bx*&aR!A;cmtyxEj#-9`x!BRVyo5UeCA5mH zUx5;KG6$$35*~87^I?0-vN0Ka*@rm=c>3X0@@X#*e;26cg%m_hDX8Xa=GKiR+*vG> zO)QfOKbb83Wb)xBlN%oX?w3LE3MpT@$wbghYeoJtH_qaHlHq|$xt;IVJEuFf4-h?j z3*F{b4)uS{tRI|e{`TRRVLLO<&Nc{k!vnG_R@A}NAQq)=-{kh}e z)kq%vuAXpYc1Wc;%#ise*da514M~ipKIul; ziKV`VrGE31diobNna>4ME4jp<)?(h-N@_z){se3CU=7^QSld#bK^)YOf}zF*nf{j9 zpZPk&5vwFwFP(vNSXmglvFhKV#LA-XMmd6&6@3!N0}QiO6!WvI@O zmIzsf`bv}@3UKRIQ8tHBbck|aI*cM(g?;{5dMzbDUs)O}i)+0J!~ak~ez(eVEVUDs z+6haY29lYUT|fyYvrw=Wo*GQ%+cJpz_l08I|IT>p!aX0?YqZk`O*a?CVJM0IWrpNHaxAq3mO2bWjZcSXb&$@7;gl7Q@D3(~ zM&{US1Wx|=KB#u>Og#R9d1tLRF1!?-mw*}bo1=M{dy29ztnfBR*Rw)1+Ig`>xKXCj zz?h52X9d(r&b$;0m$*feI`X96-A#@Xe#@auvuj8GL-k!mD)^rf8#jYicQbd2d_|9) z%=C44I>$i^vhr(2i|qCrv3SDU&yGl@td^54X>(mrnxBf?QGJXrn3-B@=f?I_x9*De zcaJLF>#9VnJyU50A7fch*J&>qXuVm;412P#w}oXZ?$p6k=cRq-Ytq9ktZ?<2v&`Q< z9n)9k^1lMqyE#lN`sDnw)Q5v@n~U4AI|q4trZIWzi7@+<{F+@tZ_5MMvmsmk!n6OJ&}vOEIbJk3EmO z0{rfFMTaybn@TPJ>%4~FowT#0IsI5h?>a-Fsa=g5-if*y=lKbeV9DIMRx68+c`605J-$>d^-kP zz2z$1`JhM%*BhG0o)blj2&VQ=MqZRQO^hAh5z8>sk(0AS#ZXiF#9CM>bDZ?6665aJ za#rrh8VZydJnp!*&D9*yOX+j=%fa5QMelq`HE!-prZ6O{75yy-6VImJ*uT89#Xgdp zsdZ$o5audh38B}E`Hf0_!Xk6c)^WpoGC1on(1zVfr)%E1O|2g7S{&4I@r=jSyz~MV z8WCRdFI5X2)I5G?`J~qH3725}9luaW7H~=5$Dyk|^*-@^DIBsJ3`a^CRF4GT4m9v4 zYlr};KqiJm39wcSvR@r~kfcx6Roiw^BY1N{>a%m}n*%qOFw-fX*Xn1Vc(_Df;;-Wf!(!yxFUlp7rt zfgyaQwl6N3`HAl`pP9km17eQ3yt%+d%4VGyom41eU1xU41;ss!Pr4ks{_L92ZIv?h zRLAEHPj;_gZ7ax3JM2^j%=3tZ1i#0ZzuH5|dB4iHt&(_Swc_JiHefP);_}bL}qN&0LR>AC5Fe8hI19!5F4@dK<*_X5LL2(L|jZ$`LBbdYH+fWv`Ytk}H+pcEph|clWz`t7o_b8;VZL zh_xTBkXr!cI=^-|13a;An%>#^=s;||Ryp5e+r0H>$2omTE|jMpD+#n-2+OyjvkAF4 zN|}c~L57M}qARhLE@(R?2U1?0jqjzcaX`P`$II$H%JK%wvq8KS!%xBJHW?g7_G)Et zbQL-qUAjn9%WZCdo`z#_zz`Jk<&fo z8sGz_A1>GKb0BTrboMK@ueu>ASN z*-?hGqm(z%9AB|d+=NdQn5wdAq}qpopM0Q2;*}!Le%odlHK`6vwU0=(Cz2ke^u_!@ zF8ysgvFp=F=IP1r!|`8B`PQuRTnvP!HRbn~W*r-5=-iYBq{7)p?9|GJfu#)TWJi{= zg)0rt0o!V_5s8jcI$#-zj$ZS=%I0xkAPFEH(H!rv5;>wfzH@&XqBYz&9et~m5622) z4FA&90bXlU)=m-5PP9UjeTbNGT#&FDn{twUDgRzVWNAlKDIbfKv0Nu`T}KZgtCh6h zSS>2yL21XsQa(W|V+-sLr{E8hYaDZSu5)&3UBmHdrNBX@rvti%(KJONAe>T^DBaN< z3s`yF(R}0l#byniA}yWhz+`(ON#nT2M=$;8EUZRZ9Z$4?Fw2f=O12LHcqmY7vVG`_ z)1eqXUTBV0EFUj4A9^BC0uQB;Vjm(kO6iTYwA85H4crG9^50#FE?9T*fZ0o@vNRk& zgcWjWSQF(DZ@=~Sv+?QKZgf++eaJcExO1W+%~9t@^}I!eJb?Yv*qQCsWMFs=A34Xo zoGnc6uJ^-E)6-SiUM+GYp1J&@c$MJNd3j}f<859isDV|yLXLfiHq;=|S2@Q%?}b4W z6v>b>3(axf9z>Vj4oeo={wyp1RjS!ObQ7S~fz-*q4-7?Kyt+xGJIbItO8FEGQWQ|T z?OeV#d|JVrwO@o2W~P0JE|zz$eWFI4+S8Glrz5{|^V;lWaPDpy_>*8z-eFkIS8Qu+ z0aLIeORU6p^jcyc$eI}(j-Qzc&Q%Q*aNcfN*86fbnQcwUay~(n zvBdx;3{Rn?3k;=d@eAxp3+#!EMk&j%;co;u1q^W5+Pm7?tM!eqkA84&{r#KyzHTSKGwOc-@|w@@oW=>A$Kgs3jLi_dj?6 zr>$P)fPOT79>&Ij{T?jWuz7A>&esi#G$?vD<)+VHVAL1W{Jbp2H6Rwg>RWYRd+FKn zngXokMQ9E)`-^Au-Q{l!PxpIx62za+jMj^^Rc_^|v*~#fC?KZM9TZCG_g=LD@rC0`L-Oj7kmt=s>JWO+XX@3#`#$ z;9!lOzr22_32PUvQOd{IVA2}>IPZ_uC<@KNiuFYl`t{jOEczCjV;>U2xORkT%O&aF z80Jlh_93De=B`^^aUljVG(nP3{;5*wBO=5?1US9t>aRnFfQ5a(aI;0?#IJcu*t!ZGUX&@f+ z1DG*CTgh82&IVn}ev%Me&=CUZjaku{{Gv3LE*Q?4qJGA0k)gBz-Zk*`P3UdF>1MJ~iAa6sU4jBDFQ-B!ObD6TZT(Y>F6EO+Kqrep*0VZd%kUIK{6X-7N zcBL*nYyR=KC$fci`}i{{ejgh10D(3tp(pq-92Q7b(0;jNC>0Tjm&u$J?eUifO8%!2 zOqKpNLRpqyBMe%&v&~mm=U{Az4 zofgX>%_E0HF>E56fptDxU%<5G#h;rju;sPb*Qj*b4^So}#GF)Ezd%0xY{12(1~)8z zr~jO2CiA?>V)@_vN4B<9`;eB|ApcCU0jBa8=KF|ja$tm~LTU11g{MNLZeOUymhaH= ze+Dgot5leVWB?c;q#0AyS}j0hw)T}Wv|JLQg=`oG!kR~-pi*@((*G?aP%6#+FG`ia zy{_&07d%k56SiiCP;{U#rU;f8RM&n|Ta-SB>$K=Kkg}S8X2LKJ>?&u8O&Wg7A4T&| z7*S;P+dD72AV=9Ey|Q~PAO<*yL)UY zF!~?;N&f8Gq235DP-Z<+T#4R}Fe0(=^9i98_hQjITELBXs=tlf6n*v-}q=|MiU-AcZ6%2qvP2h4;TI<-dN=^Is$Kh6|*)3+^5Hcl=$JTC|8fjtM`+ zG|24G;5DFlc!NU<<%vWpu-GrOXNGA*sYeSm)iTjrqc}2DjNo}mAmIxVr@xMgPxO~D z8(!LBr(X;g*ieR9nQj_w|83BVZwLSFqD+ccrG?jR*8ioxAstYty`mA@t^J`<|1Iku zC$D~q&lKz7z2K#q`Fw6&HGNxiJ~B_+*VhECZdOFX#Hja>n^x}T)8riMF(rn#BMfgJ zak9~sQ*@L%c$J!lSlPcR6={Jm(-y2`udtC%?<K>7wEgC77KrHYg7tRgnJLnctMb&?S2|=o#M_Ze17@7;*`kb zAJ`VpmA{R+<}v-Z5$*Q=(51-Q@_|T4>B`O(@$9jO_g>jI{V9nfjl{=J-O~;uUARYJ;2$niPAUH(OJ2}a>M;Y05`Ya$h1()M9B)T{bcLUX z+|f}hUIPGti_^m0+Dbo5kK`d1w_^j<3IK=+S^D{Ct7X4nIXz&2XW?!wFlRx~9&5q*R3&0ts7w?}5FbLptR`M@dGNLFNMhPU=#snl_Z~Ud`6CVN3RgI{tIuR)`g7zt~zunm`>Qe%N^E-cAHeiXb%O8F^ z1~CK=9c>mEma&e}$2uU}m)}6s zW2_HK1{{-(eDKFv!{9Pr*uepqX&WL*Zq6JUSwrDD@9qlnc~S*E_Xv89;CI<4Mv79FE3v+8sR8`I_Vr|7CP%p`AWY$0W+RBWMKase7Z;+x7sc_YCatQ|4* zz>cMws#*(vf2G|a!y zyGc_|6%w8fcJ`q>5daCkX=I{ZlxqD|hsT}jm+(-S=NV=o?*+800vi59eptx#3YFyH z?jiT(P6!<_`lm~dSG$=?Tb-1Ui#HkUEJS%CfYkYn#hnnP?4{_%k>Ott!08OochA|k z{sk}T>m7x0VP)ZXC5$HE!a`6#Ud&%`F_o-_$UpGOgQ|rntHE+f2$(sv$9-2JeZ#2D zeR-+MV-^Bt+O8^0%?c*?p-q4JKje*#$~ocB7DtjHVCMe$DqmFrCM8f0Ob1s?AV_V~ z+eZoyXF{d?P#lBhrT==s<2&hTP!_>lf(;P`P|QpRHHorr`~6KC>#xLywru|q(pQt< z$6rhXO!mS2zcxU%6eVe6!uwAXG_qO#MW-j-ch>&Sd_?&V8F}aoV@!d`taZ!&X5pIn ztkl1n7)De%g$K+LBu%h3I9(-R_Fv(FW8ME22H%?A&c^;XnnpO^W$68v3o3Od3ysZM zjHh51q&&EFn8eTa+1}JH)%h15=OE0qp+qfDd#Jql9P&vm?$3m9qe|!l#`M&I#!UMs zX+zZ(%8Lwm)cR0XFp+=eGJ^hkIf-&>zPI2Ou0`lHt3i z3q`4AZq83L>O2O_t9v1UCZe(QIWHIe1s7W@R=QvGpo$op0P=*)&4BVh=|KVLGY7GD zQ>({Z@;?vgkLmKL?Vzl7%OxQoRV`F)cS~n`-m&0sjN*=g$#egmt-+N|2ym9+<=-0A z{Ftp{s^YhtU+0kx0cNO`b55P_lWy;S^YJ`TwpZ0l&6$5bZFk+X zixd%mg^T?Z$Ck~=Z+tt})Q0W$*5Je@1f*j+R8Y4vc_)Z?weWCu@}anHgJW!I4+vLCRw zwB9{h7p(9%^4n)g(vYTzR>O}`!w=MIl9AS~okiLAUop+nzwnPgDIv4lFEQ8eDWNCe z1F2jW|2pnjrRDPqS9aaSAYh81k>43*BiIFkHuxW`O|jS6n)W}?uk_|)3$_O3%_|Vw zII#T`GF)RAGVy~${>DV&Dr$GDe#X4VoL~_e5o5=0ZsWxw0*V~WjQZ0oO4)V=bxfOW z^q8vHYaRqb5_B;#uYeWt%!}eS2VX*qV~y_CJ^+;TOu($ee%U;w#GSs|x{2HK_!Ge` z2?hvA>XZm?UAI1snKi@32HnMw`d@V`&2;c~?TQYj!7~}00F@hA6%B4NkE{Ieu?j|i zqZRxQHlw+4wwL5FM)TP!QaIfVok%XpT$I@BDq#Nu9}Fx4CYC4N%~jEh5<~8coe*F| zXb$Iwhe_{5%z!$ka0M!Z)kos0+MxUQ$HwfiwR2$m`2g@vk2|B^rq6L~pIlkkh|HJ3 z6IF#%WIms6|C~pE$KOBuB*g_;s$eC>NEEUEeq`BRuTS9ZoWY5w5Tv}9?`}4;f)rLzn5Zf*fDVhG_DMXr&KLm!=|Dj3V)V@5!44fkqi=V-!qU0xF_o$p>EsFM>~1I3eBRW`i+nVQRwQ zSDoI)>`;pneAGvNx(xQ>i#sZ6R?bFsXR{ z>uF}v8)~e4rNxcK5WG)$$e-hGd*$2Hvv}F)#~N32^pX<4ZHP<--M4Pi`Najp?n_``Tlf47!pGy6^$7*l5$-sXH~4x{@@x zjHD2tn+n;LpL)2-Jw~EZggbho}^uZ6>MfQHjYb$gnQ3M<1jcX9RPnC3s$gh`656{i&t)mFOl{aof z@Lq3MlIx1}UFM`WyUc}yzKt_Fu@8b2?eN?YE}YTNR^8HbIu7brr%p}bk51qtKbYe1 z4ef2GOFO!^7v$KPm@-_JWVoEj$wr_2M)>l#Hl^`Q%OO$`yC5M5P^QvK5j!w+tiGHb z0UNrJ1p*Xl-h>ssm}K-r?Bjs0NZ|>MVn&VPj+m(MceIiBmNiALGn!b~5eT6h1tEY3 zE}V=C19+*rmp?wNxij~o#dUX8W8O;7sdmx$I;Kq`RbB#%`!)-j@BDBS6qVk^usgZuf-hGb%^-6VBzgD@P`t zLy)3Mi|#k=m(RV$LOsMnMKqNJY?*qV zG@~LoLOh-+NG3smMmr+y%*|+2d%(=Xnn0+mQ4oUn`X>$1npyJ`WyE^TlyZ_Zj~PiJ zbi}MB21}pvesR0D#?bye$JETkp%DO5v~5p$RBwAc{^X!XuhaJYx>$gRSO6IF)QQmO zG*iOwx)6Iq%-=)IUqsWaEpjLt7vxw5ei!Kh>!53v*&ZckYu`Wdyj*{_``&)-(_(%8 zXo`#W$H|q6&0zpiv_Dw;s4~xnwlr&RUApce1_7|=2kcXt(=BqmpGit4K}h5*GVvNW zt19(6pMT_j+uV{H1W-^?sog&0bQ>nC*{gkQm=r9hm)zns0fS0!Z#&JkF8VP_tXr4| zkqYNLxxDp2BPm%UsUxP2;9S*J)}o_7jyrYB19cl01R2F78O1N~qCezpZa+ zd*uYJ-u?NSVE|Iw-{b<#Y-Y+?X;0rQ7mPcU*Wxy|uZ(AC#Wcr?;xt2WzVZ+kys2__cBMHC$#Ezz?y9W4=D2E|zOurwu+kCuJ zqi4r-|3TG8zUCK=^CC9cLJ&ZVQE8F|k%k7*nFgY>jpsOd%6qvXc&|%PH}F(}r&37I z(!ER`?Pc7I86TM+gCOO-YdP}L0Czmy-Ff~jrM%We?tQ)(I-7K4!owdmTD zN2hS^*^kcKL6GvklbP;p#3Q0fz@cFZn?uwgmfAbrN&`GDVH9%`%OjTOBwA$YIvBsaO zn;$upUeWs)g7+z3lU0Yo*f~Cv-ixE!mCswm);uKEU;uf2vQ%A**I43M@i^rv$p`^t zJ9UlgDGpC!M~z(j9FsAPBzMVVci?o*p-uHd9qkHTb=A&g%UKWG0;*cFT_F04@<{3* zXKx5TxdAF*C{K{QL$BScp`t9yvhwQ@+K=dak`lok`V)Ob$ z9#kaLJRuhF)D@Ya14 ziM5>p)Ol((%a-pvBp`@r?lG~hd8H2Av)sfj$Qacau+Q#=urVDM#!v0;vmdf?8f|;N z>;?g_H$RvA+0^{xOH@C{n8zsxNk#}j*>Cu@0U9X9QzybWMmab(MpFm*9(xAq_pdY#j)&snU70!s0bw^DnF`#4Z~Y)tzl{h`Bt%Si1m3$^nJeWH0@_8(L!Q)eooH~WMbHjka!#Y z-Eg`huf63HBD-&%eXemtWv0^Fyh?^7-lM4yg1WP^j6l{6{Iq!7S#9cuPf*(=^C3zF_{rYP;DCsOGEBpaUwAUmXiDuF)BlG_ne5_lf$Ysf*=5M zQ~QuQsrJQ@ZgOzIxqF;t+Blc1+)D~}?h&~2hSZWyCf5#Lmq?8p8)$P_bc29Osj=w3tWZ+mCULv` z*nQSRl^O&P!1j;OCe>Xxllkv@7ABlRg}s6hyw~q37G24hRL!oSoRpw-P9}u_X0YP2 zyfqEfndEWRz(vajcL@l>ny*yI{Y-MhyFxpoKS&rlC2K$c)YAMlR$2!O)khC;7M?wJ zpKVNuy<=xvw)Oo(eW|(uC4(@Z_j)@HY#jaWB?}VC5FT-+f_-b#obcH5gKb%hZV*r@ z-_LxQ_$C;o#&> z2putl*XC$=LJVw$pM7@KS`qIIOYRHCXY3|a6ilcJMJ(U8Rg$w+zTUHnjKGtaAY9wmz3?h&x$*a>cCD!xaZ z@gXMV1JdzCr#oh+JA&q+V^vXr`~AA&vuGd5;o4-QXQo>T^)-{*;kfEPy}Zy0MsE(#ZvblSxnF$u$Y{9QwA`qA z!SlWO+IKf|wj3+(?adp(cV=T_PSA=(_B&VPO*s@1^u9=;cPpqF_|zR!D}4MD&t7w# zU(*R5kI4S*io6ZSB7$>Ujv6lt`sZ#muGg|I9;UA<@vXMC^yqIL=1KYS;_6PAyxE!E zhDT;kj$ag5;>e3}(B~XCBa8RD{E;(N-v`y`J!&BJV}7?UE_1YBr2_n3M37fkY*fXe z#qud{kN$Pna_*Voi+;O3p!iDmmOlAbTd=uH%yaxAzk@($nQ5|3BIlGjKEI^T$I5kh%+@7?Y+dp)%nhDG(YYF`~1tf}M zeGSzVgFcS*x0UC`fEDQX(E5v6z~+92YQjOoBXOp~`cj0IZWNCl-));Mt?8Gpb7#bL zkMut-&yxq_(@z@sx{a<6>&v0^l~DRY1BIjoprR7Ly}6Kl{JCxsI@87ZhO_nZLKkT4 zD?j*TUd%1;GgY-+Znp*Q8tKmgYg?D@$L6`^PPAsAou1U5{Do~Z2H0*>1p8!p_@Xf* z5PKo0RdZ&mPV;j9BQZG_@1tX;-4tznJVY`R#N0e{$##Z z&b&H?I@EeK!XHi^&0yV}w*f>~NT2Km6=0JSc}vI?@ywJFu7c^@?`IVj3&`YvO-kq8 zOIJT1C6haCDt(%3yOxitd+xlcww=D7oqqOEA?!UU!s!UP(Ck{daAR67$)Z}K8MK0@ zPq3s7QOf3c9Dh;_Q6BF1V4PpP{`SPlqtZeWn+fEjaTKHdEa*IW(5QTWBS6Q6cDu>T zjppG&=jlN1aA%2;_=qtp7a|_3MzLwK1r+ZE4?!3oMJ${+JtMC|s@~^Kj1>fgA*z1h8$tunGMC!5WpAidH$v zEK1kTzkI&D;56Dl0T$C9x3eX7smOk8$1M=4p?OfHMP6FxVh*fW<++`WJh(Euy*aDj zW2Zj=R2eSRCYG(KzwZxEC<8y4_@1hNQrnCA;+b5b)0a=85vW zM&KR0IJ1u#&6C@1RM}gpVS{n9qjAmf0ULL#$Dh*LLz_3|cS7J3$<1r!c~i&}3qz5~ zSNnqpkawh3moFo(8#kQexwQ@lF7DmY6m2gI8!03$H)RC-1Xo1AQsa;dL8t$$Kk8!J;ipqQVK4TMMpoTPX!iup6&-$ z77mR`fsHZO>DZ2I-{fbNjeg9_SMt1mo)_b+&p8F3GL=oNTGATi9)8X<`kZI690X=` zTVd($J!YsM|Q()1w7O5pYGXtz44xF@R-$HVP_ZI zGy6^-w`G-nzkXuptzY_BaMqG=;$G_jC=k_(K^^bD*k^wFBC3|P(w?=laDKf1VHHRX z#nqF# zt;=61b^b%`q-<*@Pe^>udz<3y>L}IPmG;_|+_y;_{~4 zVI_H8A3c~UT|`+_eF|_f^K`FqfbCMW{(6YqGZy7Tbc7JG!h{foFyhP_B_kh2Mh z?!f$J91&d&7l-0~=$Y{){Sr5Qw41)wd|_t~?E2ohM?T-~ZIv5eMaFz#{(PZEuW51?+z1FX%8%~lxT&kX+VIne(-%!Zb z`~;0C>FjJ_=UcdALKlSZw&w1x(q(GcWtyB;Eg>rkwoGyvqPsX$5C)wShsOJ95eBo7 z!Tc`;A%g_c?72dXZpc72NY||`xY2KTheZ<~&STzKiW z-1WItlJ9dy{ZqLAC7JZ7T0$6(wZItN(NC?2Y#N0Ixw`7lf|w#yYL;)P-1ITEHD{%f ztju$D(Vv|L?JJFs^vm4GCbmo#Pz|!#$->TN%*Ick^E|4x57`dVPTI92tF;CGs^)jI zxfeAK15HiG0&J{IP7ICq7lZZk7h%F$%cv#3UH=f%90L1y=TfmFHRz)BAog%l8^o+W~ z{JO$JWk}2>9^4@hs%nze7gOC?Y~NX2*c|MKZ|LA~J3Q~G^e4?lXUs)g>Kr2A8?-|Q zTe5cbtr=h#i9~eZJWIs81UCuog4J=KZN9q)V&-n#l`9!rU@j9d6<5Cd)of}0#nJMU zM-NH1%n%NBP&@;{EIT`tfur`R0LGGmgh)`m1F1h`uG*4y)WDh%GDk;*Cl4Tzx5#{W z@Og8W&d`adNETAMka$`XZucez^%{z1gA;2!G!NMl`wX|#A7Qk)z1@d6 zVWUf|U6PLqFpG5>2zMUnn8;6T#0lWQ?^$LwpWSAy1R0L1?;6hsYkXFlc zUCIC9e)kpDZ!`lPf*2X+fQ*uKSo6vQ=Fk3Ne)lKyOXCbLG0gctoyeTIfNLOnz(ADX znFHx1#LwsSfff6_ke3cpN##}ID2x?Nffe-*dq423p7RllqIRZ zLp;xWU394M;d892+vr6>*1}NBYl;S?fY5zV`}#{VRVauW)tUKMGxIZVdOIFwBV#@QV|p53#$<4;5`T9Z ziAD2JMG%pg$%ylzgT|>}ylWq+VN$a**T~%SRH5pcy`;B`>PlpPYyEeCvWDQ2O8f9)~dSdEIP@DrP52AZelj_!ZIJT16WG41vS(IzgfoKpSDRW?r2E6uc+YRo=3Pbk-t0@T1-ki>kDezh5v}a$leh@_SW;AN zEk{vYL&K|-+IXic!*0E2=L)0>f(`DR8|P&m ziP1Qd-f+|2j>@b=S9P#M;Uj`ibQ+~v?Dj>)vmiIa#DKxAN_-AzQ_Vu=*4xFc$hURW zLql{n$)Qsmc7(oxJ>r=$<{{$a55&hAT&u)qKt%FOY^%(~cKUF9bh`o|coR&b{NsAT z9pBBC{EM~W#GkL6w^=H=O}2e+b}-`m`KNI6>3)u@&K5!%9@rnlQ zy=z$>>Qt2({Y$i+yFi9^+ke^P|1kI7VNEa1-|&6ZBi5iOVj(C>F@S&#LjpD|kWeHb zO*$gQMhR6B6*W?%hmL|IG?6AA1q2S#1O+hxMHD@tq5*+}1`7&4JKqF3dVBxg`@Np) zdEWQBK9_%Nmf6{v+1=Th*{@}HR8Z%_Uv&;v#PWo0#MgAs7O*g5BFi(x(rzZHYcZ)y zD1CI^NQ#km<`>GO9#Kj?qEG5dp@ZG+#Sv0hnwnkK-;}ApX?N<8a1t0liNVs3QdBa} zTDC7M`I`PFr&Kr(n-V)o?1zTM`aXZ?`#7Zzwm{!G77h7Vjj}OMpFD6w7pAr1>9=_`T(jWb^l+B~;T}MDC~iJaoBu>vU8~DPlVbu|1<6<5@t& z@O|q;!bVYxu`fqyj<44BeByQuBjVm#uMag}qAf{pzw|8bx%rN+)bnNJ`6xVl>J$C2HEES&?>*vc>7$K<)FMi5CO%c4zSKsvVraTvD)D5@&$&l zKVC~+XgG5ttDUQNRzcBp5rZ{|)4^&w4DNh%$}Vp0yZ?ITk+m&)U8%`QP&sii(tpYI zgy`h5YsqEgOX+xV*;9`6wH)aieA?Dk3dhld$N#a_*!-7$4gROr{1L7d zIS>Vpc({aHpB~{={n!O$TNE~|8>ubIDR(e}^xF2Ve-QeZ4!Rry9mmgJy;@6*!o!|I6U>{*jDlR{@FtLoh-pl6znor<-S3F0z z?s*Nm)U5OJ+21#K2Z&_TwbzLUic(X9>e{-3bIKPO!J2E4t}|BnCadb@r0V5k+c)?p z*40B>l^JrPk=pf`+Lan#Mpl8egR5jGm2HVqd6s>HH`}`0k&ryl-P2ORYcx8p>{?tI zd5xEk1!BOG-)G^PW6YzP^|hGw4HmX_+2tT#sp)N9+j7c-Xeb_4lD$)BHM8@0qfXajovzfFGO|2y;qPEg%Aqfh z14HoAI+(?nJ{yHkEj0I^841|OE0>B(XiH6O>spIM3RFV(T!_|H7`sKG^tDj>24ma0 z2pHcNqA3dPHDb|a>!ZuaGG0E~z_)RROf+Sra6fDC5Nptaq`AT56WUD2D;L{Bo?!fo z!u%Zaf}HYIG@sopEbp~cHrV*<7lrn@i)cRbtU-Nk*ueGg(X{KT3TR!nE4&`v+yw~P^43odNwGat?P4k`Fq3nFNdn`gxr`yS&kIrm8^3Eec2^4g6C zdPj26! zaXW;7F0b6Xx9r5$(EAP9Ppwj}m64sW6)35ay0?tAHS}nNVQCA|&&%f>nsQew&#>tV zoq1|e;OOeHmPP&fJKMFM|B23!z)R+f#y)>WZQ5uS=`<#ax_EjuC)P?UTBNt-Bi^ope$9uXx zbjxQ&@`C*GRhB-xv1b)lHOw=L7x&o?kF8aRU&SaJ#G&H5qGhgg#JuV}XDf|MGVew? zSo<{Gft^lCX2D*dG{8*9aQS*GDnw5 zl$f`5spg1?xQ{eAsJ<^O-(@XIEBqi+zu9a0L#O9Au2+(^8W~-W8C|KO<>cikNKiG? z%aT{qqoSlV-r;T@)|I-roV*t0pu6UtV7^zbHp`tOtK#jX;_YMocJNk*#^>_;jSZ5Y zKd)%oTQ;TE^6lWwjxP5iR1mduVUu#HnZi`rHQr8Zyipc(u%rXl@jaF6W~BG=g&nCy z9bI-sx^+aBgTsL-~^>5nZysU77#PRD+y)D{K0)@$#$V0Ur(|eLxw6#UI5O4THD{lySVT z+c2)DmK0R^%?wKQ?0Y_SbPc1p!5@^7b!$-6bCu)F$gU-kUFN<4bwTs=Y$(#PYakjL z6aukL$1|Fb&_(Y7pS?iC<)HJ2w1SIR{b_`=&f3`sP){!u`B7bFuwCi}w4--x<`8M3HRe?IqrXJ3ZU385@~JcBQT;CvO9d zko>6I7DYs|@5(7bNAv@PSyFGYS5V{iD5u}HoPL{+@6aNf!7iXWbfnGkBGS)FiP^>F z3xGJbk-WHt1|-`2Fkn>Z((}J+efC%6X(jw?Dn=U3qiZG>8B#n|Mj@*H`IT8Cvw8JE{a&juB<-scJOOQ*Jm)?v-G$R z4g}MjqpHix$(y}>jtc@wGRs37E+8LH)BDl%x9L?DBdA7XJiso|@3{#j&<2t4eLMJf zM^`s8D&%6?pQ?30fi})2+#e32P7P8m;mt7y4HvYY6p`XPp;~+p>IA8puls( zi(TxalDhR$;bEGROF+x~8m;Ie->0ib<}Pv&m9Ll5M;Y3v+4;Ni7GY;CAyW8pZdQ$y zKA7_C(QaukGt!asSn#jpwZC)Okof%q{HBCNI9xU#iCxhVB;8T7t&kC9iyd6gBj+jM zH#rYy`PAYv?L>FiNQIw+t&y~sx-2C3VGyCIU6{&l3aL<62h5g9f{m-}ECm~e(_v;Z+pBrfFDG2XK(M(Z4 zM)X9}Dv(S4%2KB?nxoZ^6{;W8R{!w+=*~xK3$*%0W#@Ea3ynhQeOuj&Ea!1e;x!bH z_L|d03e@(93zw1g_+abt!R_VS?mLf>Ri%x*=0G|l-t&hakf(N3$0N?Vg?Z<3P~+p8 zsB4T>PRLW(JR*@^$+a*j=%w_$t?qd%-PLh_3+ZW&8-4Fq{%Z!>`!C{_<)4aeeH`@Q zaZUO)hL#gDqnOrLV!=IXqum0)dy5$?Bw%q&)*@hB_fvP zmlLZ@^m37jrq~=KRw3n7%}9MUURQus#AOrnKDe2o`X@`i#h^{01(@N!;20NCc`h=; zvsrzCF0%H>me-ds9GpcPT2Ylk;J4tT&118*u7DvtkGy&COGaZkn%}3(jGa$D9?lt> z%1AJ-zUfA^``~u_?Z{tuzRB==j^&aqH{Z{Cz7vX$$RaTXknZ)uUm!6`oVVQ1qRPqA zKG@PexUt@LYd`L<-nW6InFSd|zin^PQQX@-<8jUWVkj=6%TXbpsAmj>?lM+6i0-bp z7JYX4!M4EM&f>hKMw_u$gv-OvYf8>PrkRl85<48QPwApTmMi>);`vo*i@1&b1+}=u zOk??dSN5XY)82N^=%|@rh?Ot>VX}PHxW*;r%8=AxXWdGv@Z*}2pZzs`Lw6l5XV>){ zy?`6H$1=L|x1{uaE2M7i%vkj@*W%vm&-613u_q^mH&FmeI_b!&GpfDljfDYvV7TK^ z(9TCS!TF2@Rs|xS8))H>=2Wl%LO15i-;~mK!w6lz-lw*1_~_NPU1si@th&+9%Q;<( zuJkRWSDXy)fJ3{}hGr>hVkw%1{=^-vN|n=$-Chz(<4mUi48?qg5&Qz0YuM$5KSR;h zao0qIQhNM}b#N;v!>trI)u6{N{h_bOanv_y?+<-ZOyY|=DlBTyf)q$OLuTKW@{EsG zGM%UeJpg7_MlfWHMr?~l-0b_iYf%LH+e+hiHv;{hvum$Q-McOoeo#~L5xS5{q$X7@ zI!2O;%X=7f^(t0LkE4GGi2?%^u zE!QtS%)OsP|MqxXMf^vp|HuO)945$yNPBbyD5qRgv)ScJgc=m_tL=pifCgK zn|Y6YVBb z@))bkM0ca8{hgg>wZ!s_=TWEiS5NEjp7F3|KBlei$Z3k=wPMx&s@495(XeRZl_k&r zC7J8C=O+q^kG2U&C{F8-c=@l=6U#ZJJ=>W5YD-G#-P)m_Pp`hgM%V050W&<^yKn04 zQnn&;>?>C^p~Kmjcw+f&OH1OBm?)}5cu9iFc@N}rj9hrmP?az_{q0Ch)t56W9l8fU zpIGg~wm0lTG#uQ!ZtB%XP;GALglh7&Ai*`VROcOQ>W+f>26F131DDOwuP zo)C)K*PXB}Tb@}b^>it8pVa`}XEz*Pcba!PVbL+SgD+8_##ORP)K2w?jB7tX%wqTN_G8r|#Ds(RL+o*%WR&<3lkiIna^1bteoT5AG2se+ zmwkmEN^A$y?AtHR-2#~zWvP0r3nJ193Q~&4U#eUcS4qzC!Q3wLoZ_V@Zt9on@L6lj zbk!AO?3sbG)H!45t|T?v?4U~#WT@YwL|c#DzuHlLFsJ81(PQeCy@9o3u@GkUS-f?l z)EUcSA0>-R$Ffk`XCyo%Z8U@Cruv8+mgWx}E@Y?WZh3hEvTEAd&q)`w%ckdU zSssXGY{+vG5G$&0@cd13)y89MKVnIuXLhx1Xv}RxX_>3*i~~4in9d;n+-~4+5Rd+Q zWNg4$5u+~-!hmxkgoGnVP}D`l?IL-ui4b+Ic-;u{Zl{FVHIYY`P1vioV zJwb80UF~~^TNSFYgy*p8s0-8$47bLsKEvdl(Q|2h@iNJK;-W7uJwvv#QGs{K^-wn! zxc6QBFC=f!h8YDUD6XmJOkCH2sr2DoWuf zNQqA!*}bFNHs5#g)Dbn5@-)<$DxN)CklCDX@M7DH%w&dbJpq_($BLT{gojUUDk5Y;OBzO*B8k)x_7M zgXIw}ZIoj_ZekA0cpsyi`T}jF7K{Unp1BYLGxDCsQtFsBf3b&GusBRDn|MD&-~yt% zQlf`lC2FV~6pw@|v6m1WPm9U@i@im1;cJhxL4FUA?L>tpwHcoc3Nfxz9<#ebjPGAo zuZ&iovI5O$WNx3K_)UJp%^u7ABa3e$NtI^r4p{Sno^fdBnz5pr#Q5?SyEY_~mzS4r zZ1=*s8j2V58DCNF!;6dgYJRV#d|kKZgKyTM-<8Iq%F)7JHeCr8HtCd}`KIin#y2_3 z%R+-nEA4J#a+TWn3ePqsDwy#iy6UPeyH(A2Xh$-PN_rPg>ys4E<%?lXk0larj~)ri9$yOS7)Jw>@a zr%LZP?J=luZDA|K@X4_-ORjnoOZ4}jt#nyqSPHazev3Lf* zVfeOf{pt%SS9my9*<$C3tU9TqaaUKcx13un;@KR82VJ5^RSj}O1e94eqy(;54?`LX zhcu=PA9y^=X!J!C3^~V0FrgH&7fhSg;!JyI5Z`9|4U6>5(j zFPVyd&_c^YhTA?hk`dJ2}S~2eH9%;@oKy>!EY04OM{*B9>wP!R4HJfgp z19IJOyjf;X=iiHRXBm#ZNJ70g&oRV$Z{A=S@^R1JNY3(0VKJqnc9EPXFPU?035Y9L zBJ(-3PQP~)GoPriQO17CvS&N@o}vVXq2^iVPoWt_h0QvD1~u>6n@$OgMa@gkr(?}a z&$B4Yjvr(`MXv|Mcf@3b$|azHcIRAsrF3+k#P)%OrSlZg26V!Hx+2<h7=4a29*fiH*@f?1`tsb*{_r*C#{bP%!Tu)tetZZA}O6GW^DPnN$DvUv| z9Rwy#D^HufrAPd=hlEC$v48Td6LW`cv-5rSXew=E&(>mx22mtLP!9Q%d$plM)E+|D z@=VB$Juyo$E+ghZZtP7(Xe@;{t_pdr{`#J5PMslSd#jl@cGB4NK**q<3vh5Z;q~M} zZaD3uvX~Rf=zw)a*WOlPHPK^m;3 zh?q}zw?t{M+=b)8jmN0zbO?!$?Ce)#VCRC11Xb_K6w30M|{McSwr2Q^CEEa-eFqI)||Hyn! zpzSDrQPW=Z>=K%=zAr>}wOc!|jmZ=<-tB*IVK~%kMi>bfGbvLA4zRhPxU2Y)JJa{veF0f@7YFAWL5ALE zV#rH^x%}Ll&HgC;3o644YHX1_dJJz9afc0pBLP+n9;enPasAzd!ut+&947&oGrIrMGJF_=UzVlpNpKLeAMDP#{t-q#}=~ z6wyvEgsi2q)OW3T9SdfPv9dvf!{0TSJ(Zdldt{mk%-VOtX!ITECGjSNuIYIYei(8S z*sq_s!tqQ0&hWdBBD*#%UX!H2er9-?B9Tdv*v(W9S7?q2+(hx|R9UKk($c3X66ato zDdSMP`(J-via$fi@rq63oK5G{ZG(jdT*ur0d*}IK)X=RbXT{a6;1P9H}@%8QJ{-t7qEB5H4WkPg$cZ}gj%Q*_zn!RTYI3Yyn;Gh$3t_jG$I)xsmv;*;HmkzdT1h$pnbd2t4!K*Zu|X|& zNjj7f>tRrm6Sdwr@T5SxVZ?g6dl*ze__mlh?g%`An#HOUfCSdvy87>jGa3{6B8D!3 zb00syAwfBOEpUSkdgA{8He1V zWOQxXp?UxaWAiap9sO{2C!&7g^F%2gw{C4Fl)o)M9%_Vsh?ya*YZ4CowKkikg9h*) z#msbKfUo5b?q50nb+0k1yz3KI-U(${ZxB{?8O>`q`R93A8KMEW+#d&+mXW`DiBW** z{h#NhNcs0+(Unphv|ZvaDE1Q$IW8qWtd!}`7{Aj;@R7A&YhOmJrMsVZL61Bhh!5pO zpUWAq?IWP*f%|~l8D7r}B>XA{e`?GbtQ~Gk18%7Nbs8uoyOUaN9B4lxSe3*->Fy`7 z%9#OK+uSXWQGqDBS&~z1%7|6iM$oUfh!@{y;EgS_N4SP~sUz|N5ulGr zP$jbBLA5&#``DukA~6wM*IK~Rdp^t$fg8`}<7=t|Z@l{U`ciMezWzWd4ahQA)O4dg zm5NHI!j@SZ>mIDzB8{SeAtEo>v%g%1M+-SUYyWOfFgAz}-qauaiF5Wdr*0T6Ui25t zFx+yNtJ=F9i>4(g&q+|msai?eqAwHeZ_DLaAjix;Sk)>4wb_*sZ*MRdm#fh_VbM=H zcjJ2OJnq@~+&byZP%T|F@Kyce{U~tI_=av`uPZTWNmcu-hA#w{bcoM=uB)JvIh&dp z%Gchq+o81DRO8!+k5g`XT7UZzR!{3giH8l!()#PIQVzgzX*k}xDfMNYl;~I42Xwm! zboa}=o*hW;58n8<`1Sx+73@j)B$M4Z@B5oMDL2+&cOHd3PUzzC97p6qm=k`iS6&~4PI}=-sWq2 zR=Oad55Tz*WK_I&W=OcgBb~UY-ZNYT#K&Lu+SW=ZT;2XQ1u_>ltYNAJ%tCLtxzk6k zBtQ*7YSDWO8>d4XbE55*xZu^I9)=mEUnyAnKZtrmbBE6Q>Mtx3~?$Uv;HS~20M)XUKePe1knmHSh!J-r*DQY4q zy^Z~Eb*&G?{7FbnqE@;%JTFlPAOo%n;d^E4q5i|zu<~^Cby>5e4M1RzM6WW{#-h=a{ck6J zpKE&Seb4iPOG^w%Y&@Qm!ci<1^XOa* z`ovUfsysT{DaSM-$;Cx->+iUDVt~?^MH@XRrIfm$3*6o?08|vwbY3isV6Z!@F-d{2 zP)D+iJLS<0>TMT??hZ6Ec6Mw!+ya1D z`BDa7uUk`3@P&aFddV-)l6ZOf;L+$!YzceWu9Bi7ohbmIFfz9>x#!?(v7?;{n+}Hq zu)~z`QjfO`s~|ffDQq=Wo#K+rpJ>jP6b?5(Oo6dbf0*g1Lp-dMq9zZ3Eh|-PRu=!l zIWVVq-1k=YWb2K|)~nFUM15B-o}JY^6M(J~h69ne2?1GH#aczp_tv4w*1E~o;mOwK z$=3J(ZR@*PyKEkIu-qxnT`*tsy<5GDXFcrTZ5scv)yDN#egAVSDkyjFOaXucvQg9} zg%iItS5U0|L+g$I-PWFfqp~kbCPyn+pd9eZBBq}3?2{b0((m2UTs+eR)01%y`B=f+ z%B{zm{-0VYHV1{1{x2xp5Ypu;xjeE-`G9Joo=>g5w9-}uRhspGQ9d8-+-bJqus#6Y zwd}%CtVWOb)$*P0vSXReegO2{nav`>XY@QW>E6mNnHM&4Gxa$6QDx|~`0{bj^U(3< zhe!Aa-)z1|QII*X|E{9&|*qH)Il7At8p^EYCoqL>^V`sv; z!{Go}FMS0p-5i-X8E$>F3s=hJ(NHR?a(?wfLoMm!;j4TRlRin^M77<3-o~mWrebwT zvAV;ed2PhS>ki`psJ2C^Y~>2P(dZY2wV4-|a5L9(@}Kvi?LV}^Zx`+P4R&SVTxyt$ zLw$)lV1q&ZmYL{36AFXU!-d@X5EoAjSh97eLguGXGX=@81T_W#awIByW$Y;;qtSMq z9jb?00Km6(j&@C~^7Pml-1;*vo){1X->tFFt*E7xvq8Ued#3@QaO$hX{zpdIl?A?IAUp3xEq-XVKkq zogAOozd7~3E}j^mPFLcyfJS*qkyU330BDFuXdxQS89U}va&`$BT~&9f zI!mDvgDyI}6R>;#CY&%3PJqiXiPte)@sO(-4+TeyB3jPF6AsHV-&ToSc)flfBU6__ zzFb1SjQqo{H@j5Um+zoFQs?#V08i@5?nh6ZAI-Us9ta#`s1=Nl;0{~&_2Vrz=A5=0 zd84l|ppWj_!v<3vi>SE^MWvX%4-ypy!U4$OXP4POGA6vrT^P}_$HfN&viCjWUJE@ACR(7dVUmItrCdu$ zA!?FBEN3v5qv7}astaXQ_5^2s#LNHCksX0Et3ET=Z%z`ee+IEvtkKK$MmH@L~jZj9KIA zfkUz0P5`j7>sm|MzBt9}I5|rBDgbPL52b@?8fTdlk=bA!LIdGNZYQKxQ?|M|rInBY z7*R>F)$9dkjq(F;W4vDj(5nau_cp6h7Qd;qHpaVGr~Cx~$kt2y(fqqDf3O9Vu*c=Z zaQb_HFovkm(Q~yr!yy4PnhL0c-QNc*8pI*sF!x9-Lkj2twVmn z>gonyHWo=FSQn{uvr^qTgKhvY2T$#kg#{h)Zk!g(m<0A@jO;1I^evU>;*?TC24Jed zi^iJxE z&`9?ZeACD#S>XqkzsaD8hJMJFLfWuxatRp#f=3oC$IdjntV8Cqx*h;v5f4RfAc)sR z>vo#U4d?@4y}L5vbfisZ$_>nk@s5M6$V<-EAj!U=x{LXGOfyc4l8X<9i(i{Jo=+d- z$g<2@xW8_s*`?OV;DDb45u~ z>q+}iNym%pIfC(UasxOt4-{Eo#Oe%p8V4g5V!U?)z$BPjPgrg06ijvNmt!Q}N(TM? z9DO^aK#%!PJ>NRbtEon>)O`=XdTwxVWeeKQ30haOQ%!_-e#lxC+!aRws+sPqWbPoq=?%d$$=(>n10 z!3qzK<*3-tBn*VbdNTm9@Y0K|Ru4SUd) zkQwyP!@)!Q5_GJu)^PE`fI8BzYQ1CmZdDS;P0Ag8vqjpAMp_Z~PbHz-BN1)xkET-8 zT%5k!yLG8{%m6a@yT8dMm8{q6!~-xf;B;a*?I(Y-_*uwOc=lTbCNC1>ErKlN&Q4Qx z8C}YwDHLTFr}z>w0NcTqab)X!q^919lxs0{nLh$hHT<=as zdX&wO{5ptJbBTK7^g{~ygIwE&jHH`q+VFn`C5jGsdN;DZUItYSu$dRV-;U}_893h5Qpwh?+ znq;9A?dyrLt^q%cb!R6N4b|31Rpr?x(1`$0IC}Ia$EMkM=!leqlrcejRI|gSt!RCG z**Ll?l_Uv(DU8f*j;3|5E@B0lbGpp{aE7=!$Hgw)9W0B#7maHGz)Qd)mew_vu{uSG zXA1%r$~adtNtWGWXs;u3ja5?wfGyy4s}d?j5TlY3Wbxqu*jXry13D-nkxm4FouZlnIrfk$=EC_Aljy`GL2I<2 z6?tHC_!fY`hbz(Hkd)%Ykm{%=38?rvxEhPs zrvG=!nyU1(P1?b0@b}_y4FE8O*M}P8`j+9bRLb4+o>Yb>3ho~*)Tw+Oc_gQjE0A~? z@g|*k6C_S@I(Rd-Nn1x5uY`hi009v~eBZGNA{kVM;PUJF2a7t=94>#=nmAR}i6jX? zB3DeUmvzcLdJ+@MpnS`Ee9L;UDg76m_3b`e1qsCkB1t%rBp@y^PsTa-=qaqX@+#a0 zJPyTx=7%+%pQbmWDadp<)}G3&IfVihrwx}xrR7wLyo2=HV(9um^hTk)!Pk+(?kGVV zMr@@MTVa+8tHd_6e-v;MKmR)?jyq0gj!NAT3U({Edn*K$v%|Dojh|1&GB@ZW8_pz2 zXQ5ps^&MLw%u!9%V@yTCRY>HaY!&nbW@t(8p2#?j!1y3 zzaC1#nP{U8V1K*gnboaBbt@H_QPJ+C4kEq<0C(=D4_p^m(Eb)(3^CFJmZ}S>i9W=H|bZ-SE_$Pg(#yb$8^;3c`3Lo z05}8URE4ZhA|?te|Iv81!Qanw28smDGtp-l0pJiiEz2~@9YwG13q43F0PJ8;%t@hf zRR~!@Om2590ItPUoma6TCw>}BI~nIL>~bRsyp%?;Y3Tt%M_fqKEo4$-G$OqjdCSr zU(*XcNhttO`Ci;W3hni3^{k*&Zg&a*y9znKj-~8wRL8$f!Mz56QM0wkS#2ar3vd5x zItc(~=ZrTZXYC;ioD;5k76N!70|}k#XP;pY*M|~X)KlT(1*WPV`dQxk>Au+4do(gV z^|LU>g3$M=J!dszRW-e9Q$0zk7-t(I2&qP+Ddkw~#$j?mDI-!AQnldWI=zKQ$6oQb zYGfkP!Z-1gq6}y}XDLCjs8Nh3_)^E4gVpGa;=X>`j`G9az?^_TWd9S4pi^pF z7Izya!P<#(C`F!2AH2UArsgDk{^*1)frNcR@TeSQ$y9%TES4U2zL0zA^QK;%5F*X8)Pre^=ap#lwW+e$9lt*RK?JtL#^bv;IM76N)SNh0Jmb zTv7#}ENV#BZ$RmEu+?{&qe%~iuGB3a{g!Zf9u;(6x%ho1cNhTM^ZUqKIhC1S!g7tH zB>Yjq0&Pt0J7^)S1QB#bH7JxL{jvXT_n&E}IFeFPY6wfmB~H>d&*Yj58Ht-@MA$hn z$m@1?W{K{|#;d||7$q)G3GG2!*5(>>*0nz>!9LlS%vhvjdiW0Z#hi-d&FNS5I?M)T+ZXf@7e?WZtm z#rBhytV_iKAclR}DeH_b@4T6Zt~@!Ds}6vRVQO?Z0Y8r##@k;{CjrpLqwH!Fy_Rii zFIz`1wkM?mkN_l@gsTZC>iNpHmQDgd&pw*iTJ|G5*&2GW9Vrz6JvZW95;%8N;rZ8W z#(PQ@s_jB2{Xrr}k!@-xn@?Y7O2Px6@5o#pGx{(KHsx+NYaZPiw2r|6I8l}HIHgn^ zRslv~OsAqNU@fQ7o<|2@21a6;h5TU{tdy!7r@tEj#&}&Tn(e%dd5_b0fJX;lUCAtS z)OF^X)UY^x1^~L&X zt(a4yuH_lYc-b*Ov}&o2@<7ae+g-)DSZcG{<%-n_Y7tQ{IS8B0QS@fc{}-(*67I5B zH39;PPn*BrTH1DKRcGjFzxUc6JZ%q`OL?{rHTEcPd~*K7W!q;O(UzoW%T9U4gpHyT z%x;R1i4T{F|Ip~9y2@OniG5(%1M7wNl108`1kDeLAN^FCVK>$n_%YFMjGj|f zUnb<@TjIiN0UsKh9IppGrrq7xPO@Bs*8vQ~Fz;H3Pr9f<|7t>zJXcie#fAzEN=? zM*Q9^5r4M#hA+kP7qi%5!kcs7ar9PGUK`B(PaQ=Zpv5i=b0A$ z3B?q~KK3ee0LZ+5>y+L?vf1EnXyeP#9$PDs@1>yTrTydU#4dM?9R6NhcbS!~jU*@m;*FnQen~T>`s? z$*F$$#@4Nez4=73cIm0nQ66o1Xj?3eWJ$p500v@42t~I~QF6p{2rN30MiK)66>;1S z%2jQ>CG46DoTxAWh`}w*&~>M4$ZEWPZ1@fUaC~-ZFinwWw4LXcPL}}y$BL4xV=bbR zrl5cfd)03M5JUIYw6>78SOd~id3+-P#4tz7X!Y$ zJXY8|&hbmr%Z&)jJjCf%<7oqs@f9R&B$VikL_LVrBR!SFHv+(djId&)}2+$*}N{PScmb1wdyed_MGJH$;Qi<=sjlD9OgtF0)VONr~exd$3?x9 zQ%}*j(_pbS zubRn55Ny!t#v4x&F4KvIBr$+sGnS$3U68Pj!dS*$wFDsOngLyZFj_SJ4(LjwFcjIV z2mnD>HgsjvZ_-H700C9w|BbF_WBJsMmW}HaBMQ%rO_u?Ht`16N$L7kZvSV?kl-)D{ zCanKcT?t0(MW15l8HJ}!5uRrRN7r6E)8|jL6q@=RWrW90vBi>YH)BT<8CC&uS3bt< zPYmCmh?a@#*t9i9n}7fOC(_yXRwq?03lWRVIUEf)q@OVv^UPJ|nIOq6+wR70OA;AG zMt7-D+yC8{=jaIBa^jP(rb$1ouRn`A))gw6!m@p45ba2ccI=ezH?oHT`mKy&d2UT~ z834AQ$!jNC3?xPCGN_rWbO5lr$##ux9?h{aTxst5ZJAD|bM6BeLHwl#2m#?pm{}8!;ZKjhw)>q17rGo-9^xJPgT@S_p&RU~T0?E5C>)zjitQGlS76zjlR8e(T-u1d4UoK#`KMzU5M_AE*JoTd9}}C>(G!)(qG<;jL?!nPrseB%DZ-V_guz z2zhp7%XOMvO9OHwWYNRsRTf*U--e2mlq`DnuCrQ_=d!*3@gZ(OW%U%Lhbrxr)tRnn zwKzp1Yd}*$ln1sp8dp_kTKuE6$?@t`S);M($;hWjyr_dFxF1b0o{5Xq9a(lL*YoCn zf4N4!ZZwjb)M~+Gh)`rg3J+Na2cCUMdx&hB}D5Q#KS;{1{|@2UTOPXeWqo~ zaJm2Nd>cB?`?>Qh5lW`_7F)_XO)FpkjfkzcR{zWUU2jYk(BNKu5btm3;l6im`pApA zO44s@e^0!KOT0L9o#q0J<&n8(bVsJu#_snoo8;NnglM+zdi~m+i5K+~F9xH&0{!7w zSYJo~GDm;839B$sZ(Y~EV4hI|kC(tpROPO>6Rxa##s*t;T{5!{W;$_n@3SzwU{Bp> zr1{(0y2Ohui12#N1x|vs^%5iOdlAgdgxtCw2&eIQX}rX(-1Vn2!P888 zxL_O5kWIR%oODrVgJz5~&=410sD~!9(8ZtR;xEVH>#_tU8@T~!uy{NcFHxJjK1yix z9AGXgGb<+3X{Fx%9Z3SC)d9jglP>BfT@2o!xxhtWwKD(r2p_lMujBA{{Qrczxr@M` z-xRR}!~uI)l1Oys^ib?-w)+RM1=R^$j3^MN;3#J0RNKRD+Z!biJ5rrCcY%)4f9UEl zQed9QWpZP#azc+@t7>a7xVYb4Yh;AW-h6R?B2C}GRR2CJ<)V%{=1Z?T-IT-3BfR9( zU-EVD@Dd~8w8{%z;o*uu*hJLqB5KCC`^&w+&cKz_VzFfH7-Qoq`%DH}p(8Z^B@pa31iRh!wh_N$iM_gaI z&f27j-=w+Vh`-!Z7_I!vshc@oR|rq|^e24XKX{3Uu)asr4(H07XCC5m4|CT)&U7lq zh17f_oE3Kw?!Myp;O>jaQr2i%t+6D!-mUs0G{EmCDwyXM z2h9D!r~kp%J;Y1wz&v%o75jknQx3O_v%Zw=1h;iK9go22c$4pOlTUHuG5>tWYUJ;Tw+=>e5^>$6hO_jX)cxsbhH4Rt zkJ+ZhKslz@J>AMx-W*wNX7dY*FOT^*x}DEC;LAJfJK3AZHswt8ww~;LoX7kmWaQ32 z7_sq}tr9XaI?2e(cmFHCzUD9V_Okv@e%5 zx>_^9nGn^hV$xafoC=4;%T$#tYJpI$%)6ZnIqVPT94X2bmdX_qN>ElbS{>i{h54h# zO7p1Fmaa!lk#_HPaTH70rl8$d#R_MS*TMaE~M+`lY4u5+pdgfhCdU3noRNa{O^%14Td1gwfi^huNz4X_%tI_|+vbYBB znI_K(`Fs!P2~;ovtuW1P_i0kBc&bU9(_BPVMkUwQ}y){s8oNFBi$QwI*M1Yg=$<_|uq`v;;Lk!yrR zd!wF$nZRkU@o;vRkib!?naUMn!ocB~2?BnqTl|ZzjMA2G@#8j|w>>h5ANA!Po~2wN z37!3AZF`anJR=xzAtr2A^^SQ?W+Jn(LNE6*Z4JibW{gj~V5&Q-^Xk z{zbUX_qfid2o0?i#k?$BfA^iWrb2Q}g&4BQ5>W9${P{SGZ>j63Dx0VU`{S$|ksKk~ zl*Bd(%(}z5+sILjVwc>a0Iy`+p}KKXGKpm6dp3BN}xW_(2g z7G?fEzk^a}e#@sB{4`uM8g4A;ub-#who&7kPvciyh@Q^+rGp@kh?3|D*kT;t_IIqFf2p3oY%(7en<5K;sDZ*xTV`Cmt)tSQQ*b868sch#xDTRX zMB=?7@tAauBE;a}VwP(BZG~@$d_{_Ug_waqDjzo39N4|ImA=-%wb`LbzT&BTMKo%^ zge=_jo`U!&3#e@6z1qrSp5!P(B=EF3dwW`&^D#jzemjqO2HO>A>3dvDGzBrO%Y4cX zZ29FxuHM*r5ffdsp}%Yfn8sN5sX)@fW`|jX3Q0nR7|kD52_sKniNY~y+II?UJ_QSj znB?pse5ZiAVu6|~#@VsO>F*)#u_=NTYYnkbwAY9$un)aKVUHQT6dp5{qbP_VvA45h z=cZzD4?md+vM6&vaMXHz3X99>5Gp3)N{?Ip{(^8DivAR^gwZZ0O^q&f6LUMilYPJS zKahR({=)aL4&nkFfc&>-DTIBK(H>}q3wau?spH<%k68L*Vr~$GDpvb>Zb>2v?0d}` zZUy(NkC;-1Sh3HrIU`5p0)=o4qm0~^7@EI4CLkB7O$zKeEf4}io`^n$mx_(Z@_UMi z6EWgy5oGjc0}F8>za@j#^b+HwQ)BQ);>o`z9`+M)Y?g?Zj9+)Z*Zxah){%bAOCRFp zv~51jvLfbt$S*Nfpc)4GGDJdO^xEaWZ3x|q;&v#IH-JqN%}HS9?AY!^q0Te;`nrOZ z5=n6M>lNs{5fO%nJBlCBDTx<_IzLSrnug9!2sNbB{%{iNoW&vQVCTlPhs)Ts`ibUj z4%tvRS}qFC2}iqvQf$I?so;1*IND6biUlTu(dsEz{d8T}Hx9CWI7pGg(XP{aC&=F9 zkm00;wVEIMd4g;KUtf@D(P<PPS38B1X8M@hORygwhF}kj}h*p>(Wy1J=CMTO6{V zkZ{2y;X=N?E%NoIuRlMst8lWph_7!in8qHZ@8cnlWdV3BNN6(DiSb14W^AguhCIn{ zFBlP!?Hfk?-K7Tw`{01NEwmeiZvg4BKZVb!Z2cgJVu@ zr1hUSvgZxh^HOU$+maa^#rX4(Q^n+AA%%9s9w9RUW zHT5qy^_QPemkF^$5yd=SF`o@GpG~R@_knWNL)VXe;~3lL9cAbxW(CZk3R=J9k7Q9W z5s{_*8(EY?+vo$gl4mGYhlay8&|3ctQ`f;+f@tDuVKi}i5kwOOtv)gnd_5#j5U|!j z-laTvm#T_VbK)%CCx}sxN>GPn;-2YXE?kmGC>wWo)68A<+?$jtx|Awn%>CuB zfwR+(caF0#Oj$=gx(W32OyKOeB4_8}f~F&$R_3`F;n~)FmV>9yiIVeqf zy_Rr|@BPowJke;f?jcGQsbI4H^2IRP6-n(li`^+d%#V3@sYnRhWPaA4oF~;B@+r2@ z6wI~Shew{aR?0id(T|`Xq&slKMyDTRn-Edf@ks?NCZs#eFRHfA*%(eJ;Cq93VWGk9 z?p|o>%5*?pau=*pOh@1rAusv$|03=^z_D!Kz~PFL5{2GWR#~CUgk-erQ4|Rok(v3} zs;4) zovZL)z>and`0dK<1b>11^)C+AN)tI^T40v*m+!%>XlGR9FF+2~8i5S1gPGB99~=TH z*ulc&-;uL>qVjw;@pr)ea3g-dueApo0j|NX8!@H@_)h+gZzRO`+%I5(Lvucr|Bu(m zJ$%crfkZGf7v7E7kXB&y_$b0>+_ZktB9QE@BTPh`fHe+5zsCV{XGbG)f^TS69ndUr zNc^I(z`g>_iu_%(TFwE5?f*kz$$-Mz|EjS1T$9pff4&B1$JSpH%V?6-!uw1cGGdS4 z?9LK!liH9GW7>g`NMc#UHQ6*7TW|J%pzEJpEXtj(o2rTWlQu;<%E^C{A+Cf(r|{Dj z)LBuw#M`uk*M@a8!`}i|ExUhwC2-ed|F~h6n+3+`&|)cJIgk`SzuBIRLzW5sA z5{dZa><1C#I?uVO+yq%2Q`#MwAaaG@N0h{v^bm+=)m@}-S>Lk#n|Nk(8F8O~= zHjalyO~3A(P$^?-nQ8A|Z?J&%h?USmWGYHxo6Hux(82TK!Oy&KJ&EVV-+&ivK#~q; zPYr8F6Uo#ugkymG0;lM-jOqmk{Ov((4JsGlFfa+X#ZNgqQhhH`oZM}M1M&+T%x1+< zf4qZvplyvMzBwAHK={KgWV&d}?O!yVb5mOY@(V0gF0fQ2>I*YmAKWqh2fnUtq7);0 zOc>mE5-o9yGJl<{Ttg#R=F>VF{%dGRuA{-Rj)vtL8hwf_>uB_@p%J)-M!*Id>UcE7 z@`HsF@O~~~K3?8DbnhNY0Xlf67n|#4L3@(Vk3I~q0#`Wn4&d<4_IVCG<&LSYQ7(U- zazCMbX^nDQqMTIXrhb#tk}FsSy%*4~Pw`9uo_5`@*6zoh1dz5h{LKVJ(jWAE$VQ1C8hkQk@NN0DG*k&uS8Oy9M?bs5&cF zh|>NG=lbX>4<}s-C&2q~7?}mYyND%whMOV0NZ5Z;H`$r6WU5h@DSO7%4OhyAB{&qX zdrQwm1R@UcsyFutD*yp? z)y3ZF1BH#PJyQ8tcVXs=e9+FSm$!O#PeiPQ)*jg{ow&D0l1%+^p#4tbP#}_3d2SCH zfO!y(u=WR2org1{S!8G!4HAL)MOg1|k-g9R9&FRr|7`@^rqBa{G-R7Z5#zF5w6$QH z=iT&?Z4znMUlUV;fQg8oAb{N;G_3<}m>O(1SOp>=Crj zRz5adm@)qlgdruDZBz&fsXeJDy9b zax((VKU zNO=gNi-ePb6uA?AMWl$-?Je$jDJv8UcfxKc7GKVLn1XMvXkxT!bUg)}9hH&2zFXU? zcjM*9YkMunGjDh2I_|ww!-fd%^htQBxFmn*s=NiabUzK_iKOYLj6I~soz{sS-k6(Y z9s4+nusGiie}M~Ib*ocQS$(Zgw^--L@o1E2QkJ%s00fDOLj9Af%W}|-|T~wTq zuee>i?^0qLhNp=qk&dyca7wGN(VmR1b_@VKoKQX4dTsd1 zS75>GLX3zAk|yMVB&4n^v|GxBkWR}XKu}N23aS?U!SaQ69)O5oFuyZe$_i6m@+SGs zULdY1K|`=o?V0JqN?^Y-uPp_x1!MC1Wnea3GSk$$+k{%^RtZhbXO zg+WAa8^HKH+#pIS4<8BG&!3a@5ubfEZv;^AL5eR;v={LHcBx#LM-)DKVxi=?OAhg1 zi6NQrF@tw^;=*SE3y@UIa$Z^Ton*e zJda?3T;j}+2qZ)qenKPs1dO3TsS3~x#xOoLMJ`jC z6bP6UFt(wjULZ@)?mv^GBia|qF%rp9#itQyjFeLHX?*0%xh48OlH)@phc}-FIe5(; zW=*Oqm)4??ocJguQASZNECG}nRO^MfUx#%m0@PrcQ2}EU#LJlaLFCQkI3Bq}{BmKs z05V9qgQ`pGCx%8bE)P#@M4#3mH!NVp!nH$3B_lsu$>P&t3AjK>D3+<_^oB2BIs+JXtvcRIG@Nj`l zCg9w*f^l<87%4P=!T`A0(i=Xn=T4Grd@t3=w1M2WEs=v|27e-FOuHpu`z-rq7o(Lj|-#+D8`YeT-zOSb37bOH`SL7dl$~( z4XXrejvVAo1h(B)K&OE59ZKo}R4Cm&%rVoVq~yLcI(fixgY#LwKGy<;|Fs498v(uWus1O+Kog^K0DTD)-%EQ~1 zBF3TMwltfDI#_$HfH4^_6emIk0fV2RES{mHuHXWn;FBWs*PbT{B}QZ4$6%QRF*25G zMY!_Gu_NI+(uee=!`=mRcq18~NFp8tFsp_-tHzfDuoMs6l_ym|DPBz@4M+-nlg0%G zW0^owVB+v&^oK%NJW_D`A*)6-s|LAJ0b?Q_k;-6*ND|5-2_+?u3yj7i@~{NUh3kxm&nMWO0Ih z>Oct3l{uJNJLC83>T0oWsMnv*we*IhBXR`NPY-Xg65NORF2l(iK`I5zNG*UNExQAT zgi-`aKmET892nMj1y5D}370rCr?0p6*Z#CoK&*8XLFdr=KEbVU9R_F}TE`p4Io380 zYT(y4i3AJqn*oKh>-77d!QMq^`tM*79R#F1iIDF1uTcOxgYsjDEJ|)O85BQ;x4|1R zkMpT?obVyxww z7+9Untj}RKKwub);gM;D2^AR0s8bAG2m2Ar2aOp7`!YCr9c&It&Irjd`B>}afJg?g zhiBCam|vmfkRlC`cR!`~9DMCOm#s`|Z)kcIQZN=tRDh8^2!#kxq6A~?1_JX?_RU$9 z5Q#$?!6JLt^hCY-8X}&s6Rdz4Dc&-sJrTxpeU0vnVd=2P4O*k>O|VrM3);hei+{JtVuniHZAiLkOA#R4A^FmsLc4Ysgr! zjf;SFC$A6D2_QvT`6xNq^rql_oh?`fG&z-EQpzAvS_zT!r%Pvd*v-*!OBt0-8iMwm zgRe2*V6*|p&pNr)Tav)>)547jO-~O^mpY{pge2jbS+B{Yp=AHYq{L&4FUYjwlW=$U zG{BtH9o*m@Tx2bl4`z5QRUb z9)3A!76Ud3%2y8vr&E$aSG8|bsVzY`{UH&&VOW74v^5<8ooRgU-GP693#7`{3>0ik zi~M#TUQj^)n+86KnnOAzEjJDuU|K<^9Ae?>wU}$u@k`Hh%|b=O8@^fxkY-4uq-?U3XHrg43yp59hMeXo=s$+1)7{l}ulwz&5J@tbYK0cUjgkio+s2o3&6~>bN zPvY?hk`2fW^Jd_*FbG}4pO*NP29ibv@yAOtc>F<81mrAU+Mll>8YQ74)A|mm?5tLl zMJjt1@_K)52bM1%V+?EOAXcUuSbfFvK^F#Ua^4!HVdLedzO7N(o^eeu0j8iE6QT5P zI=GIh6cm2Eml(W`DcOt!zvp$$!5$X6j|GpACO5i|@}M!c25M$2?A}D`@bj;sZDbFU zc|mbcCkBcfQuC0g49d1`9+2%^lpLtO0z&9-eL43U+ETWeR3Gj(9bf)uLm>jfsmlU49?Xo5p7crZPh4sQL9s^w!veS0A*?S@)-OWA z5!|}KsZH=1oZ8kAIic zc`I4?3GCH5bOv(88pGpq%x%1j}-O@jkX0U7ciwkj^SvI8et}a+(ARpO`%sFA*RGI-z#HO z;dvu@rQN=r0-K$D>yojju42@nyVnESc1cyqZ1R0}kg ztOLbv0>y0rRoeubwh0t;qar}#N*-%=tN|djf-rHR_*y61CyGY7QZS0}9(4ApDIyN? zH_%$w!3?||xK(z)GbTq94?FT?R znPU{C`BmWde}Xz=dlDZf+8`Dv;%Zv)Md~Qd{rau0Or%VDeYg5tJu3WwT%$J(IAM7i z*wq@n|7#G?QwmXB6oMt@z;*d$6X=QyNU&^!H+*Dk9|OLRds>6f0i@{Sd${Qnr0C*% zIJn&Wga$0SxWd|OmYMvmTM`%Qk3Dq^k*0C6glolRpicWJMvVtZFVgZ`NZ_Lgx{RKK zK44St6CJQo6ZGuf>hM32b4QdZ*pvg%>_kW46?jgA1~uulHihk&C<06r1uQJ;{e~@h zi30&-6%crF!qz!sPt7N&O@O{qXd^|En-^H)P*!m$84+Bl6Jk#-pC}lmxm2@sd|~Mb zR49O@g)lBP5Cq~<6H@%MQn|fBruc4R5SLN_ajDkeVz|(Ih|gzE ze+34AJg{~5v8RYJYUGGamAhU*B2&`*EYi7`;0}?&2EnG1!4O6~$|@cuBaRD&J<+gz z;VOjTkF5)UG*i2Pz`(jnLKwe^&`lzCcsmZp)`ehw08c;{6etXzty|;CY~3F`5dx~9 zd0R;m*Z(t9z<^^A{GKM|hYT?Vqm98?=0J1=Gb3a2@I*&606};u$sxF_D7-497i4M*5e5iCzhjyd^ocKx2Fn%X zLxcf>NQebi&`uWr4tNp(u3we^4RGDhfYZHTni-7j`0yNRMA&!q?_2B#TZ~S1SF~QDH z*6yG9Q^@I+HIpu=&!r#0-)v2MMwUcyU=G5>evhNiU}@p_{&&HO1^MuFz#oS2Rs<~O z>?EaPfgpIDfRd3!&d6s}tVlJ!5BAhyXak{{x^Q1SdD$lR_|GN+2s9-*W~Rno`b391 zw0;Fl$S8yqr4v8}`+v1P`KfZpt{4?Z{$~HMU0O|oQ~Z;%eQhx;9TW-$EU>!TD&lnk zg92M|xFK*1d~Vx{PGN2Zt25E~jdc&9o9PWTc03I7lnQcxupjO_@)3bSGy@y-A|xA9A%GqAQ4aRzp~ ztvdtw>Sn|lIJSHJ9F5(mre6C#bO!#9fr1E&VgU;Vr2u>^P!;Q9ErG$)1}O=j#rsoG z#PM`AqXlR7dWo_!ED~eIyk>`=|M#UpSP}MsZY%t^;7t!47YHjsdt)%94F3A{-+%w# zfI@dnK^g~%1^n!#LEnF%wo~>9UhDpgeHE$BuGirI#IFqqBM;W9aK=;CB2rt>W&_5% z;E~O!?gor1K;4Zx?fE+$_{;)uqggiMu@iL#Fteb}))53=gV-{V#xg0N zptxSZ@*HnUB}0(aAVOfzn1WK+sMPL@vR*6Nzk!Rz2e|F&m8WGhwO-Rpf2HZBb*Bdf|kG;eD(B}5oJ2or0H?{}j6tJWh z+WrAN!mvURtVCWTA<%f0P2}ESh4Dd=NwJJg{A6QzK}3PFd)$<4*OxY$a>vr;^! zx`|;eRv1Q(VCP8oCWe0lD}lrvr0*NxG2CC+Jk@n-UybXzCzi)LMfQwVnI_U z5Z&4zz9t*{0Rxz3dyz0?$es?x4Pq09jldWI>Y( z6H{-Aliw*|sRi1ZeMIy%!=38fd_=c+0=XK6@!kE0&({WzH~wEdY1{0DW$wq^2Lq#;$o>Ag$2P#fry&kPc$@2 z#_yCK<3_;q5#Lj3MRjfw^i&Smz&R1s0hEoxtVl^fpV<4Rg|T3rg4a3)EbmbY4-vcs zu5jm!2w}oU(!)ojxI2P$pnuS@4Awp${e3O}74GXDrVqJ0Vz@gfZWpkWL;Jx_T^at| zl)o>0WF&l~3P8XQ@*qXYUeAqkleP7dwe6QA>pu!;$0Ah7n+$!c%ti&NL@<^@B2d;3 zKdeIXyTBEm5HoHV!uT!_sO!MEJ{01KE?bv2bW}cAFjh@TBBLp=f?!}p-_gg&AQxZ8 z2wG$c1sLQ4=1rg+@G!^$j7oqY2acNPLLwFiU89&DNncz5enN~DHJA{SlmsTk*!VJV zCraQa#C))zzs(jC3u82bz6s&9_z5v=6<~x39&nEUxsC%Pm=L4PVMtAMd=2pZ9!XDJ z010GYFKvaZCtSSOQc&B0v2;q(10ghjI2VXfUk<0052y9!5{9YbxRM{E#H7r!X%?~v z61^xAC63F2u`BRy;p0xM1crQh;JQ6<0lOO+4j_dvePX3e?~I^N@?8>nk6bV5wT*Q6 zV1xy={xR6+%Egxn>v=lQl0zgALr)_a9(e;+%w*84A;2EqOv)%LmkNt^W_>R~#GplU zAR

R)#M3qfM0F6A&v=q!_T;9S551D}8V=V{9k|{|zj!0ek92iHG zD6lh}mNcA}7|1akG88sVN+_FlLVh0OwTO|Jkn!t9@>P=3a=97r0#mf^4r4H${1Ncfx$3`_v_HGj%He+r}#kinAqsZxKd z8||~$!y!z~Aq@Je89`sQh}B^}M|$<=-z^fqV#~U*AoC}I&-@*~Z=M`m5#c5SvH*UB zVW4pvx!Y2fVjO7oe}Mt|Y!r8g4cbS8kpbp;Q+A1DlI24OLh3^0uLHpoCu%1Jno&#gelq5Vuw3Oi)!f;k86xSV!3pm-h zHgxOI`I>8f1G1`#UTTRFS+ah*;J|w)EntXm3FGh`wAkjpi5?}mBcqn8i1auxNc@sW?-xQ% z%L#vv|lY9L+6E#X$4pTTxR5dMV$vuA5F&jjwW;Q4^mOCPz}1 z)|UunhAYZJgI}JC18Ag!gD;)B8YN$XmhZ((ZcGSmdI+tFFKMC+$Yy=KL#w6dWW%QjXS9b?n3_|V90G@j z@9QK0qT^NEZ;K-je#6+by8Nmv>ca>sn z%;ETnn*!o%lU>1xH|`r8A>}X%a+ex_MIgIL^-xKMeJ;5SPH@9Mswxf|Xw6^=uh{D* zQVx($krk={rVk;V7FKW<*a{x-S#hk41QuRcg0S3IICI<|!C*`aH@W6na!u$*JQk*{ zT!%bNRmDkzAKhY9AqJ+gutLa=6_WRGlJ}q;!3yo#k!T~0pnOi8Tow$FgOI;*1Iw=T z5Keq71+D~mUMdvvTMH$MfcF<4LT~aL7(fReV3@g#uYqB8$KY1%$0glx$l;*X@(jNe zq>DC|mZV<&Tg%9c5}%hLP6X5D;4LlwLP--T#0>Zt>nLQ4-v{&O6cdn84r914Bikgl5<1j zhjbD`S-EyNIPj1kVYn}>-CKazzHNGWs&JvAi!`|TwIq+61P>^)z8kN3Y4G?ib6j&h zXSRc|R4q=j77+OEk6Zzsq&t?l=27taw$ubpasueF>Ft6svH7NOj>3frJ!MXA;)^uI z7l(s#e3tvgNSb@W>lr=eQNAh(nkotSdc~yFJ!NL7D}80Uo;l;Jw=9jfEdKq4yxJqK z8p}g*a-A-17idiW1~y0`h7)&a)x0P{6IV7*9_gX(`^?t^KF}Pr9VNMREp4&#eT53k zm}mBLhD`VXy?>N!+i~@JPCJ+EE8p=xGId*J2}}5ZQK;j*PP+8jMumR+S{t4zNe@mx zm~Sen9ssqIUve=i=^1h9Q{(NH)fzM->At=2K|Yjm0HreBZaFCKlbynl2_K+QpM)>! zs!T_j4~qDtq___^mAr#sdW$a(D*!M}D>U*Qi54hpM)>4_qRq3P_FX)!G97m;EMmNm z(@y1vgd%)E{b2Hn&D-ynLxWRf-LJ4Fs~j%BPINQ@4(wf3RtmA0oOTWJuesh5a1A~p z^GlDp92Y>-LbGTKYp}II_1S1SWR#xm-fS6Azn6lJRAL@753+uddiDlA>@J@h{kY=! zN^`kK^wJ?sq$VbqG1!_hI0uemF+IUk{d|=?>85u|Dnl}Spd7QG54rAlL@qP6OtqyX zZ&1r)3IvfyB%VfPAX{USZzk7QmC%6?JPdx&oXtvIh`;?jRG{W8IeZZJiCkB8x~sdX zjA3(aU)Eo4CsR7wVs%u#vQrr{;R9)@u}fEVn0bb>=4`YcjW>LNKBzCqA5~R;tu6dM zi}Ys@)vf?U^zR^I3;+o6so?6f>UuO%@PT&r2+{LYn@0ORdNjUSz8>&_Hu65fRpr+u z=k&5j`Bf!&-~+?k?er#Dpmmu?)hjBMAp$;-7TsDw&7e4^>g*R?nkx7}=jjMhRI0LI zqHIey^N=KbjG-$d*ruEFVLQ<2QEFl>8e%QD@+=WSs`A;yZ7to~h9u!*45OnTthnA9 z6~F&6s3}qfc*O`Gz>hOCd!yu(7whh*tWGp!@}@Cx!^b)6Ri>s*?aR;gA6OHu1sczi z!v~N!eEHSw#AX+p&&|a;ab7iP3{~&}8W8h{Ht=>{vr8n;UZD}r(eT%OX9MB$nZ@|% zVqHmSii??i2vx4SL>7GDjiZa&B>(1cbe6i8TDtpX<;y(cJsRj$yVrGnSAGm7u{*!1 zt|aoqLdy?x&_X_NMUhGx?zso4jn9nF)noC+8s)#FEUWr=?T?RiJ%3WRb(p;IY=t^G< zGh3Z#H$^XXbxMB)pBjoA5?xxD)QnplLNCs@YNA(ib5~Ko<1#CLv+9MOpZ~6jUL`Z5 zQ#rJn(dDx2SG>{<08Y1au1;61P7mj1w3@|vb-i+0?CK;;%k`U2(p<5L5M5ppby+~K zEDa~27fw})E_LVn7w??!J~d&+>AV<5x6;E|yfU-8$|<@uiCzUu8&?;<)1jAVa;eY@ zeO|?B%Vg-e?`G)v8qt*{v(=gQHZx-M!hDk1>X?^V@zTU3XYq29=4Vnr-!oQME=LaVRzSr z{wdYA6Hnmp{`@bsus!fcc?4#jji=M^CBy!TEXAB@-v=mxrEQ#5sf&>eSD9|gBs@-# zzP@Z^#qD=GgG=hp9se=)t_$T&1LBNft3+NIm$uQJ+rL`BI*nePL@xq*_o=L|G~0He zmxuX_mvttG6f~CxQ_NPzhUtn|`ny~f-*=(s8dohAz7;Rmhyqbq?r9%gX`Mx{45rYz zOjD25&8|*$m=(`Wl8G)2$GJ>KjRKjFI#(`ff^pVxCE_4(x_qU5K z{@OJaSl6Byf1K*m<@&484@> z4RB@pq*=VQ5XI?YGMcpdxoB}52<##mdVV1)TnO4SgHJuiclZu_^>r{#t{JK_$IWZrZCuo8F>F+GbyWquybu-VFgFwi#A|i6XGnBq?0c6>CeY8G z{>JW#e3#WS^h#fTME4`jz)8I_tTUOBxK-qYB=N;+#2 z*OIj_m8 z>bkYdY_Y_VZ;qIUuIcL-&)i2ck>@20)ILE+sI|vb_r;=)ma*^&;A-8~OH%#H=~Z65 z)yj9fzAvi9*ox5^OZ`d3k(x{6COAL+MWr7v zqO;Xk>(z|DX30+M?R!|gFI!k!R!r}m$$=2!Y^KLmR7zKp2ltBtn>ZPhiMrUQxd!IV zWUW~2VT0#!UYfeg{npPX6jpc!+>a|Lsqo!cng6m2b?^+$mBZX>m-I?ah;Q?hQ(j|Z z<83iCvhS6e(d4cey)wV-*cXGb(M_hgX*Amq%PG_y*m%q3oCY10WBcDpFNW?_KlpT< zjpB|BRSPkj-}op zSJ+|CYtm=5;sL;n-yW%J;_@hNmXZIY~E}ess5;h`rl*?XFykf}M+7VtRpHL?DRl!+?ACv*Tt9ochBA%LktBGMibb?tXmc?JEK{ zhC7d*$%dcOmMsr=lfHlP#OlbMlO0WwX#zbGS|q9C6b?PtZ~hfX=NQIO<7|YLRuMds z&VESlh>8dl?H{))y8Q z(c|fsQ=uH9XCx`(^5)-SD~TCoC|G2vLj<3{xCVy7izdP!dbBIB-#NeM_0`8?C+bmg z{I%NrBs!`E7Nsn{drta9b7h^jD1CP|B7Tod2qwaq?^vN`&-PZkuN0;9UlQ^S!}> ziS`Zn6tTa)8;-Udb;Sfwh=(%EhYPS-UDHm^I&GCUUl_*b-aJ%WxV21U7>H`-(*mx*7f?73CY$0pIZ-0vB{WJ`DBh@ke5gvHanf@a^2 zcpK~bvYots_U(j=OaFwNInx;c1=G_8%2=dJT9U zefnx-lNWg^{f^(z%(3inpNu=-Q$8&i%@mc6HyORdud1@Y^$Ok;) z)4^B5Tu}9Vv3cTK$O|!UnTw{o0AEdi|(Y8pM}9lrx2c~UN#%i>!9 zvr^CM^O8*7rWhrD~WmY5IlpSHRP2;Jej+fs{AaE!U`{4wsO z3k?_J&D3YSqxNl@303)n#j1qy-6@y9G}O}MoOkWb397nhbGT{#R!?$kCRUU{uCE&F zLm^^uZEMyaVQ{0ig0yC2q(Sp$QVrRB+B9#T{;Iztm2K8((#JwS8_ye} z+xsSl2_7wU3QLL+F+XwtBD-g%VfWNCI`8U+sKU-YHb<%4EN6cr%DRbSK4emN_`x|M z@mTi@1`GT2!_M>8$GaFD2fFC67kgK$zpCRmQ;nCQ7kv8k6V#LwO-YmW1Pt}A0W327 z@^kO5ZuNwl*R$9G+l^W4wm8dJ!L9`LzxI4o&)!UEg>n05lRY-5GrduWb`@8So z-{rMWJ7;6{>=&=yQ^~Jt_!f1B6mUre8USBQMaHu80BFJJS!b(4o2I|tRX_qf%^95;$Acj+9r?Xa!G)Au)l*qzRE8HV|H%5{ z{C8YrO~X{WZGZTee>k4A!H0ycYK2ETzQ~X#b6(D{oZ6Yy4^deV0D5kx`db@2mTAMNN_}XU{}^p-zCqq0aBZXc}if zr;&d*9+PGy5p;(gdWQxacZv}k3G>Xo(l7W&VH9;qh;dAealBlAy6H2!6LI3)*vIx* zL6%&a&5du`a!kuf*J!KyXscrR`jJroj2;hmZ$H1n;Ruvv&lbu%%KLRfE*%$XKbPBD=a<3$GEp zf@+HTIT@c5F+V4g!hP+L*T%Z9%zOeDj9h|?*Z)vdd#Bj6r|5wPHT;Ec?8@gqIB0!v z@Gl+IO@5>p`l0bb7Kk^A~^83%u)y>+0zP76@8#o0SmqOk%S zV9$kjus2D}MkDW>U(*+*UdESA&m+RaBf|FenZoX{_@~iCK4R&9Bt?y z9NdTdPFVEef{G3V#`6<7cQ^?h|Kjv*WXmJ4Es}TtH0|MO+Jk>Jjoq#9GR(Z zKrt=uAL_#qhL$sA-`c#RV8@$hYt@UYE^AnkWpy%ScgE`$PH@aw1}BV9Npa);LzkPn7kAA^S`G4p)cl`o0sm9>e%zs#J-1L8|^gTpVn7Q}N!~ zz9|3Bh#rrznRjC|2?B90l#V#;o7haz5*1gvBhG45nWu?<=lk<>V)gwW+s6>s--9*LZ_ z()!(p0~_S$M1CdcUmP1=9LxCO=-1l6xBpP?N~>&my`4iay!a2Qz`H4P!mPYlr-M$X zL!g2DDq($J0zZ1kw4K4!u*ck(cl&R4`a0c{pcT1jpnruAXf31tGh%yZ7pK`R6)J~0 zSajY0!&QKLz?*wOYDJ#nja+Yn08OD>FR&>TR#!|#emZ40?g9>J%i|2)=eWDiv6d3s zK8>ur%U2c{Kc0I?oH_x>jEaJ}b zY4DQieB{0TG5bs4^Ew7}zm%C|$nEar<%k0(_`xN;{zF5#HuGmG+nxclNej`n3qEp3 za!5a{FV;h15`CT$``~5G#Ak{(HOqjImnmYbUu<s5QywAMIKfdY^iFE$#Z-yMXgVyBq z?@f5B-)ZfjEJQh-*qGgUP;fw>)$;VMH#~xC--wwy>l4#yUCl%uhC~4nLhMwx+LP7H zo86qPW9^VsuR3~0T;E|Y8gOGK*@lc8Cm8Cbl!s9O;Z~2nwO@w((gk|iK42M)3 zm6ru(*(BnxgH?z&fe=OJo*oqrBt!wxYh=&UIhc^4pO~RvHF?@ac&NjFVSMSjuXqX< zx(|Q%h5wE-yab z-Qq{(J{Y{L>Xl{Yh|1G>Y4q|_lkp1&WBJ2vtnL=oPmBy-wXhTjT`s2B=1K5E(*`TF zQ-A;CGm+5^20>L3vg&6n-WxOG9 zd`jtC4C1Q}`<#i0u6n0Oq4HSS=S-BtzQ4@sPE_h@GV(lp=X9ia+PhPpbs@BWPucY1 zxLJ+7LlRdc-)93$@pw6AeIAQX?+(UakFQI-<=(7jwMX&uA@Atpn#9k|f)_8@CK4;)c4T+>6wUPO0J2N?&e;pB!h` z^XvN?izIaq&bOE@son8y?zY?%*Iw7+yDB?QT=e97_0x$mB$e*_+mof0% z(ff2?>S^(F$z=tl+H>{&1J;ZcS(x+ zh&?bfk508Yu&1$7I1b-+c(Jz~6(Sn}Ws8m0dAY-~@j_!t(clYLnln^h`>M6gFE%q3 z)E_W?)@zPx)1vmI*ex?mKw8F=*{V$AsllYg3}x)0geIE()60)j&ojl z)h(o1n&N{N{hI(YUVl2KxUOA~#5tUwY8t4-cgTKVp*XaaEC)0H74vDN{6$9{!zlj% zZ{dn-*=eVTP31 zPF6MXJT-UoT=H(CB$WM#{C2k#uO30Y2C46qvHz?D<+*C^X1R1|rVDZ3M=0C2F?pFy zHTt$^1$3V9?9AFiucyAH9l4JiR@N5v(G@A)7i!C`ru*nW5YPGRWxCo=+IGDhi8U`R z4^37Mv}Xl%9u{!ddfCwXSUgJhgYLI1Z+7t%@hG{%L>05?skd4v(Uw!?M7+1xpHkrEdxT`cYT=Jp8=1^VAC0RBtw)p)DlQrdD++FqgFKNAT=LVSBC zr&ps8f2a>iyqoxsj}fGxLH`fPmg|cWcZGyNJQS2{5qXE zP-{SxU1oE|@zjCVeGg}jr#tFS-9;48aw`P{>{1{j5Ypq4KYZ!bTWgKj#l!n)7c0Bx zg!V!!|8>ig4ro+PmwFqCtPRmc8!ziKbJ^D^pEq+7zXn0QS3jQSdjDOJ`YZMLKAQ~Y z_@zdh6DxI;T)2Iy&~Iw{&QS&WBr2Vnf01-M8!kJWD;{K>H2enV z923|(D{MZIde%?;6W#cdeuUSLki>Neztw+z&Nk_7&SUBi@~SAT;Qg)7?y14Fv-b^u zeE5;ok?a#Wwh|Kaw4h$z_4|EGfnnXY!&)`VUYJ)ag}NLRj(3NjhrO0gl-)S@r}ktN zcyo__(CUoYaeqv%F{boYy{X$MeNFcOGl6~n>We0kugqo6LU)_xcI~u6PL2)DXnbpW zw9mQhYgsr*cs4!#mDTr%@Qqk!^pTjHBa(K&g+ON&My(MfviDLK_H9yZhYnA z~ zcbM-~3zY@i2FmQX*2yZnWWqdmB#PFzJ=JCx`y}O-9@ojP$m>+>qa@0mQUkly?UV9( zmd*)~=%-MX*1q$Gx7Lm&nL(^4#5@`3H#{jF4eS55AngXQIp?mn~RY&-ZnjZK|)n5KGV zUndd#H?$}^k21drd$<3|*sY7*6k^(f)EP#zo_i)qN)@w(D$9$?op(%pJ_)8qPFJBK zYJY6<$GE6J!*!XD3cc@X%U>rf!Um@8dJZj3n~NOWSFRBl)#wiV`6D*k8*?svx%ktcatM!+MMzIBjttc z1M)klq0h|*{6Ujd?{@xn3?mAL@xH7-;K=oH z_Q{K58Yu?-j-E*bKqF~MrnWk__ZD;10%AN#(I@GDOH}4cHpDotKWRYXw2K7ji#-X^ zpR~At(Yi(RYoy%XVTQeIwPgl#S|7*GKh@^)V=Viwfcl#q{_Mz~KYP!xx7Je)Pr;XS zS_b3iu{vC2Tyl2TSiL5XHj;Y&^^Zb7lI;ItPj=rq)-|3qF{vxf9efdH=^I~Xy|KoXbV6=h0Gyb^S*s@zZVZe8VF{Zo1 zK>GJ{{)_Zaeu?kSmw3PMHF@Uh@$yNQw`L9kLhpYN{z(ReM}-b4Yxh)oqY{Q69Q7Tn zVmediHq~0uZd)5#yyrM$@M?;-Iq{0!E$3@*XFsu;PsV#?E0NUw$=Qw1Xcsu1M$Mkk zrvKUz@8SPlL2O{k{MEyf*Z*QT@8nCAS^AMLZ?6?L>Xqd5X({`}wyS^QpHG?aFSPse zg{40d4a_{-&QR!iiwvAHsG5H{W#k>Ny}c$%xwLfVhKQ2Laryt`x5=vedFIg`%r2uV z5@dVuP}FJNHTTTh%J&bR={(HBoXT?XhQh;!l0Jj5?<*zSHPu4O`1O~|d~@|!VtDPg zzF2~5n(Q?N&u6hM5nt**e7tnMSnJ1gFSFbMl8e{=v`8=*AP0YPMZxn)tbe`6Lf&hN zudI)$SDbwB(J^&bD;BU<+s>nsb741bDATAQQceYYkyBPlVWFa~H$kM>r-hVf@s{fA zh-d|7j;$PQR=L!(K@CC2;#uai+=We!oi%L9C+YDRKmcKj$Fw$?~L|l`L}8K*zgL*{XdL-2|SeR`@StwgGyzMwqq$}OZK5ul8P2dvL*XAp{z4VXi+Ma zeNQSe3fb3DvW|VrHrcl^7&8o`|ML#YDd+q9e?I5qoKxNBectD}pL@Bk>weGK>+2yL zm%^{!eiJU7zCheh7XJ|tfXWd=xqb`T(Hjt860^Fr&lH>qLL{VO6-^3nxTnt@5DjBj z7Ue%9DB#Zc9_2Ej!;vKJ91VjFEUn$T-zMD)KdL2&w#LJHCEBWn2GM!q#+V@fCoeqf zPg}sERo7pf1ao>_x=EbHm*cppQJ$+JU-mTtw1wW~}Bjf-YeQ%*((B61v=Z*2VT-H*7_WGcR+SKcp?M6b?6*kllw0DCm> zyJ@==j%X@=!W)>tj1zG!{XXF4^a5oBUd}?DEl7UT(DqjyEc`Ou>LaOj7us~z6o~*v z5gAOgNKc;qKss5P2b8e~ba)lQNA08Z3s8ls-0g1E${%HesZ)nA3jW=h0Rnaem zIx*E`+t5ipNu#;JT0NKCm56VG5X)uwV-b6tyl$NXxUBl z9QQ-Lsdn24ut6b&4Ke9AYOw)aM~{BPc`7Kt2SwCE_4pQ~G#B3P{2W8HnH0Jtw5GYe z6rRSRHk9sDYq22;r>|o1AQG$JHncmSZ~io=v2&15-G|4>utblWn-%B6tWuw!efbMl z6g?Ljz(Z`87*1d0RaPBN_pj6Uu5+BbV05kXRg_q+r_}l(_>9L;;Dqq&I`QXszDBgj ztC<4^+`A0th3ilN4M7uf045Mo6v_wFHV0Nhg59kwsMci#XzPG-{M#kkJVutZB>g!`1 zDx=AT{|mx6f`gUi0d!FfHDNH*1+TB_ow(xrFj;_|EM9fW-BhA#Jsk5=xCAqRF@b8C zKT*;!qtRpH#*fqj(j5}_a4&FqpJee3< zZYO)#V5dkmtBW8&1z1ncI4DQXkv~1F6;bk86Yzg^2yeI?nnlhk%lf<9Z=Y=nqAn=8 zB+wN<#cVaUg%SJLkE8{z$)`*<=020S=ruEDmzM9-zB@VZ|G+mG#VN+M?7kAAsKAb) zTZ52p7GMr88}10M2Nx16Q=)l8Z`;GhIzJTsn6U^ExswwhD+)hC`8=LLesC;meV`(W zz?y(%bI?XM!kuRt2HbXO7Tt&s=tGB!0pPFn`-R8rp>dt@NL?F(leP)#07t7sRyhh}8D>8BX1&IwaOAp3D_|%J4x4o6 z>h#a-=bD@OZj3Z2bwJ2;)bx8w-TIGPUC$G3&!*HhDx2MK`@v!<+%QB*0{G8s7k{6m zb^J#L)V?wMtIuaGo?DWgFm3&Z60zuN5bwW_zn!$k0#1x9b4+`<@!gyj@!1CR|Uh)c<~& zFz_44PRMT1?A8dhZFoXVTIuGm65dhc7RkG3D<0x1E?4)3n zR`yR?Bq$&$aJlLQyjz=rkT+%goI;D){fpTJy##GzEGBqQun*ZhE!lGQKie61HYtg_ zyS8s`7MF&~WpeiGIZXJ-$Bg)(>i=XJ0r^nPe+)XDgh}-gN3h8ZkS`Mn{Ght;41_ zK*C&{K`Zi|d)8({R$*{`Qm(v0qR#4TK}4hHD+HY%jEVD1~a#RbDU7+65JZK2d(Hg*n3h(@yo>+>|W>g13j#1%5_#{ z#k$KI^3^a8d#do9mDK7A6Ma*(O4F_4M9<9y+#0LxZHbD%MN!96lpK;a%}rfZj#Tl3 z*)Owt4miv1N}U_%6x3m!?#gBFKoGHtZhevwJ3(g<$DM<(W^aq?P-7K8@m@MJHR6s%LsHiHEvV(Q%} zlN=?Vw5Ap|vtj$B6y8cYqr<;Z-9%Qh1fh$kH}6uh?oZe?z)lI=ka3)w5>ruz_Gy8; zcinyJ@UR%?nZvUYx-@TYEX&e#&SEa+m5&sU;!1ID>0KW?O=PuMLI1qDHclFH8WyMz zybov$(iDes2%Y$PIRxSzUCGP@{D5qS4?qlY%^vM&34RqV67$shEj`#m8RpMljXy|= z*wEEYZ0ky)N8f#gnSU+GZSfzJN5eho&~7|iL045&sJ8?8VY$FC@8u@~>?~G!wCZzx zhVF$>WC`((!|;Tm{Rbw`yw(%XjvlDMxjN;^5?`&4_d^!f?>JqO4Zn=s<`~r^Q`N4p`kb66$h^W%P z`k_R|7U2K=)$oHZ;yLWckD;U3_ZSlmVlv;-na|aHSm}J1N1QKd*^Ww zUN$rK_|g}$%*Qjio_4M)*2Peh1!}oUnCGSeOt0TnQwBmqL6o_bEaxhr2`+ec-yjqk z61cYu!bIRA+8>Ijs1eStAtskjM>+T%CGLxW;Lxbds5HP%z(wxc!olAMmtg<}ihAzrqg(VWOE18laWL-{?APS& z-P(Fgt$&}vMa}zxf>!=}AW~wXSUtR?GU_wsnfYnyWpv~RE@{l3F~*P7eNo*XtIik` zv<;4NdT_WNc^=V~5+JBjA`p4^4hhhN4) zxl|@o;7OiRkpJnwnWi7l{Ho0CLDWPH6)qw0#1MxjAC zTZ(p?9^6L-*=*ql+CKC!IF4`@u(d>NL7Q(GaH{HM_aMypiTZn8Ad5 zg%r}l%y-NAo5cHKMC*)*ius#A)+5rw8_M2GZ-Mjf_I#llYIw`_#r+U(!oCFPy)3wQ z|M_0X*U?&A5k||eCNZka+vIWiZHT?|k=#V#E=RfNuM+4BXvsulbI1dbs8#kK>Rc__ z5p!5!R|7`q5ct2y%~>J{7wkot)kOu|>R1-vt2<&5NZQ>%OZ-sgDf75^ALKI)-*3{M=XBY78bhv~ z*E}*$3QLUXg@?%lmIDAeNWfpL3YDg=GTz5Q_Zi9j8EZT)y>WqVW@0+O%WuofOU%?^ zoBGpU?@Rt_s{I%};Fw+V(C+4!-Y4JOGO4l0aCg3N%^oZv_8Ld|=I-D<`G0SZ>rEW~ zzP{xdPIHq|52^1Dw5$~+J>AH!$?4Jbvm-d$ooYURw}{{}Iax#3BGj*hP~nXWX27Iv z7<@f7z$0*J4A?OG|9{wc)-XNA1)mDG$Tfe4X+Olw_V@K0Rm)_|SEki2`rMRg7*Sbc zcykl^^|!tYD%M4#^=FY<{uEkZ^mg5vBQnYUcoed#VqrWr)x?;pK=q3GFpGDdk}94%SP3uy=2?sNj?0;hV)|Q%dU_S zW-Oh)Xk9n?w~dcc?wJRJP70;Q`6tR)1RTol=lyB#wG z|A$K8^$*qqP;1Q%^FJy79YG&Zu6Ea;>vl|Haqly|{wi}B9z00ZuhDwOa(RCBX<^6L zR3tR56B3+PCe%A*Z-|?Gbi)2wo$jR`zzOeQSITcmct$y_I8syEpkfNM+L`h&$8U_$3)}PPHF&-u4Xbpo%6OHjrM191A{=?)aLyM&SbD z++ABBY(;;QoxQ7TeDEF0{A~aS3(~+7EHJ_k_hCIi6fE#*8MMHYH)b3A;n=Y@peXjn zu~6B2Xr=tw8|%S)pfLAon>`7>G@(8c$ThKl@`MDw!-hN)u%xVVX|Uo2>wg51aX#j^ ze11bmZ07)^(f#bsgPm~W{|yPkj>|HGf$EK46dNA@xb3R`t2_5yuR8~Y@#0`}8h}wH zw>T&47U_($-+r%=%O9E?eq}&BEJ^obJzey2pFs_%x1}2tTxi8|jWtJaC^o^>b;+uKl#bcE;oDf=E+W z9+w(Bn-&kB0xH6DU3A=jESZjSd|$jT{GB-=8FAyIEbHxW;`!80%07J9aQg#_&j+PN z0+fq-1|Q?eoMqJMPpu*(6+3%E*8jf!_N~nkQ42~A!rSvtxZTVeg%p&`_t)J#NI^+I z@|CXPF~e(jeW#cq`|Y^{ZkEZTKolv;{B&I#NRj0;;!l28XjOI1{Sq+3Z&w|0l#99O z8u31CU6u{Jkok*4`&tfNECevxr&rx|okKZ%Cnr&@m>_rcF|cFYnHWX zyu^GkrTavV&%|zbx%o0xJ-o_#Z0Ja){w%9ndy3B|{RbrPO8Xs_U&Nnc5c#Lud8Pgb zW6jfc!1p6imD7iVh8QbKc&*N^GNPOX;c1uF$J5xZIMj$%n`en{)Pn!?YVM!$dXh)# z=sMzDS}djY=Ioy_3_4lBh29ZL(SM*c@Xr7cdz1!&I=X>nQQ!E#^DyV5+9qe4w?2|F{=3 zEh)H^??FHNbz_Dm#9s=`R^TWMBQ%zwBxPNc_>K*nhdYa%Ig9;aTS?-%kRh{idgC!h zUx%v03LyycpWO?MiAQ(7*9^^M_s?V({27LZW2@TsDG$;lp6ZjFm}~3azKJWy(hs*K zKHQ$0)AF2k!?y+?Zto3nAl$og`rvvQJ5NjB)szW{mw@`z!gvz)RnhnD1`pO;C9-IP z#woUPwC!QukpkakAp6hx1b67JkKfkjyUgKO0*R8h*cVeH{tr=dRK=JvDVyCoVn2%2 z;wdbo@ZPHUff@V971R-YH#BoNUw&C0;xJzDQp7pZ(_pZPWqzUsEvN?sQG+I= zJn3;@v(Tjxy1Dfz2MpSU$EL-9?!qtEW4=>id|m4PHC4AfCG?Ychn;XK8j;3ITAzLE zNTJ-@Gg+IzXq;52!qLO^UG(ar=d^!_;5S@$u(gG%1f&U_jk-*OBxH6;@#7Dy@ZU;{ z(+N-mMZ1mh`O+uclIZq(*4rlK2v0NvJ)jA*$P6fn7rZerQ+$R_0MB^!GEV9|H;a8& z0{|FZWV1$b&3z-MnZ0%yR=r- zV2IO^m2~Rn8O#rk-4;7@e$swduZOLp-1iEE#V>SM>(q_M6)!Z_R3pa6TB|YrZWiBW z*yRTSLM3R}3uL+;Ut-Pe<)A=qitZBL=Ws$8B7Jy*!t#Sf<*pm5TyAW(&9&B?z&yFJ zw?O)YdqD9_LwQ${CRaa4L9x$fl`wyr*aLFsXQ8>;&ein{s}uktDcpbD6$jhHnY8Q ztvL^CA~V08{O6jV#ZeDG=a`?-K5wgVw!&&nEA6U>UCnv_Xs6#=iW2u!w}1=t-LcaJ zOz#Ls%+Y%D(Riu=rQ~yg$-qjNR6uIzA_Xr+&Hr+U9YHeVA^kgfKTL(kaKD;l6YJUM zQb4>#7OkI%x!Gqai20g>TPDwdD2Z_XFers#EXPp0cgPh}?&~x**j|HN;?51vLfJV_ z@sa~dmEUdJ@&bA`zQD8_`6sOi2}vEJBNYVaHCX-CI++;>(H_2wg|e?b(UPg%NMtjn z{hwaW|*A}t6Gx-0#uV_+h$W5kDUjx#gjFgM@>4aP$?TnzW4QjP5?2;sTDJv8nhJbZd6(q~8J*m1 zVvCe$qwMzL;)rhDbwo39(x?jO>H~f)++xeC@SaN9@V#Ji&T99X`Mi;V>zVBPMtzSp zu~2tzO?v`peY*3n0~)Q$w^;v=dTp?t1(U!r{df<-ay*ttw7~uphj0Qn|H_S8H)Y1o z8>`M7yKtJieXK#)U3yc&=d zKdO#=gI2P^)Xe{Ds)@1Bm;Niu{3j0A4n!T(JROrB`_Lp#5O#b;IX<4bz_YC|0K2+_ zUwqlb9}n#eH|&>D1Jmw;Y+wjJ_HB_e5Cn7$ZJacFiD}nIjefm3E!e zf(SLI?BhmG8p>?H)Rz$VRo#zg)@28zgyzS+S7(>?m+D;6#e-vGGb@%{fq6^(Wsf*+ zJ|{l?J}&ehK{ieJ0n*!|6j$0a&(iFUge9#WH=CKI)T-U9?Kh#s@h#b(w@uquvMCm} z!8=FOIc8sH@fZ%lSY-J+i}O59<_!Y!(D6H^s}b=>oPXDR=kZ3(d~0FzT6Iih(58!{ z4&Mxc*jqSKi;jH&kr8|hm@qR-#z~|{!kE^++s55d8B&&ZCc_Id>YIL z{+#iq^193El}lJeL!%Q~2cgl4h5p`%jDHP4(1_pa#2|l7!5tkV>+-XU zr^9(YYc8!j4dFh2C8czZVo8|2K(9^B^#Nu}Ng5W>0fu0HcMiH09iu~`xb~Fl9*O-6tHaR9_(Y)SUM`w@Q( zrsRy2c`n?XBWc8GQI9zRXd4EP#$6hR`1^fP5vv)i=8kOGfr`t&^@fJEI%5(QaGvML z=jeQYzJ*}_WZ~?Otr*-1XDR*&VQ9qML%&^><4D3g-z#Uc7gyh_4?kH;?sg zg1~uusV%?`(hh;87N~{ZPhKmVahKOkkxskKY#Mb;j|D%Tcfw_?n6yRSv(7;x56D^y ze5KdlS!fDQjB@iTQKLi?xi=de=6RoqJ??T*H(`$kmvP(i%&eTc1U4x0FVAdRxAB(( zzb#9?a|4c)@}#^bB*LA*qybsJba0D2zr(l|v-YpJ|NSOmx}9LTCi2q?Isv4V66LjV zB5GF?a6Xl8RX@`gPmEbm+WxLMwxs`K#= zoY}N{l)Sz?ki_&EjLZ#0TK(k+K%Kj$Xq9yM@)h{z|c6;OO4kfujuu zG912yV0xUepT=y&2Pm3Z-MddeKKrIh+_%(i6Bza46!9(9;`JL7f1vf|-?LsI!`23t zVwwG7b|@wq<>I$>QJIAI$wyK%EE8uqwf2CiBb8e(+iYx5Ki;fW3()2x;HaaXiywyH zp>#UHhLJgondLj@Dz-RAAHQlnhLXCs_<>cP0{(sNMniKI$5BV`EsA;lvu)$N9_O_5 zxPLI_aSUwVkSMsQcww~~?DKFiXK{4sx9YWV?R1294R9qD`hw@cin&iXlJ>Mxa9gfW z@16UXjO4K{wG2VE?WO2F)1@jDf;-x*mFBFgyx6Wqx4o7by@Hs7^6+TCfNyKgn(?oP zsks4ql=d`Y`f)VH^A?DlL9+QRr`cukk`htBLT8t$vBDbNv0=RqS>mh;UnuI81dlOA z@AyQGuxc2f5Fg0%h1Wt9BGN?`;&mu`{wf-k|Bge@Vl5YK>*n;1X;VLa1&hTCw|(Cq z5Mi^Au^c)^WU;n6hO8Iwu()CCuUdZ@^2xUr5$du~%f)UA98InQruHJn->Fe=Uo`oDoEex8EhMDF5 zD|~?la??Ed(Fy;HwwH?-ra>&>J2P`eIZ^-*a9C>D+;?c8+hd|xiI8yW%^4}3-y+FY zr)I@(xkme^pZtiWq&x*R&-b49OKh)`1$?oz>Jxep^ZNe(=Pdrnct|;=XW4M67Y!szPhYvO)1} zdS{Pap{o?YUzHq-5&*Zoo*sgHfZ>Q;J`!!>j;tTJ;JWVM& zeN*y_!K~sTDCgf+LTbZHTSB6Uty9%4AssA>Wwr&t>&tAr*2v0%20>+yzSpyFTAT7l z8_S^4cVR02!9iFncK+34;+-3x?AIGth9s!ps-ce-l)j^MB|#OX2!&5dA~LYFjDHNI zagLyWgWWSAzH>`w+$cA;1CGYy!SSP@n_bVX#6CRuN@@-I?J$N2kq7ISM zko)}5i}EdUSW#}f@hY)`eLcj2_HR#U-R5!^M4?bOtTe`qinbE$d@nF`J}yx2rRbp? z$$wO7P$KdY?V||_XEVVU0#@t4#02yR0U8Z!*4_1$$+^INiD)US5nsD`OzeY@j zN&ddhv!IpFbl?t!QoiyN#Z7-t4W;Z%6c=xX|Lc-N z!?P9SuTLi*--x7`X+h3(?gXpAo*q86LfY_gbhvAhE4rYIXZUgLde3d+WBe%l(05eU zb@{pK+L&8{gI~36qmNy+CMP7u*ap5i1Go?;@L3#dsnw_tzQFLaEZ8b;M90Xf?bQgm zrEW5X;Vq@c7%Tw!Bu)PkyLteis`xr5%l2`o=r&E>b0`==q;<_Jzw2(Pc!nf0)I zwDmsNIkJ3-zp-+p5~=N#Q}iW}l?9}?7#=lKGT*JVQt`VNJDs30eu46fEr_|4_zX(( z4QRX06FRjygoBhn4@E*#CA=Toc%{%D@v<7frj`>2>O%5pqP(ktxW$&@`IH-36g$&p z<6dC=XoRiDQW7(k6-1z<;AV4$KZoLGuP=WqqiPTOi3N>UO7lNnFzi< zyj_W|0aIZ*O+7F!={uFh+vi&j`_iiX5&T@K2(Gi|{*W~`vMe=)O=mIpJNz@$>_EyT zhT((bHJ8-85rwv9^@G7-pe}H@^wg^|;oVk`2^kLf&L68v2wDh%lzBNlypBaLVY)>F z_y&vIJeIlw{#v}`aC8zVhQmEz**#|vSiEF!^lt>`oYiEPw8Tq6*h|6vG0hG+dEl{l zAN^zU{9WnbJ0=`Z$+UxvcnnG=JnpaO-4cY|65Q|6tUgYAoWSTe+_->mC#^`!DW@YJ zqj%{OVC-B|h(HrGN01UnkWceMXE%=@M!w1OpxX+Wp>%VgSF{1^_0%5j%r1|0T2p9& zw}XvGmtqF)dRi*`us*FJHB@LmUQ`cqCONM zJw~JpsE0~}ibipBcka?#jnj5@%t5#pq;|uLQ{P#$lUEdRvs0c+nttjSNQFh%-ZxRw zJ8{hZcuP-T0dz2TElS+wyyNIc#)AKzX;DgbTAU@ zbFv(kHb4uYT!nAi=F9s8TJr@-NOgeQ{ifPCuG;r?H6^bo1m1|e=!{<4VkSUD*}1Hq5$JErG4D)RjW)`p(=fvP}AxlLenm?-ocic?h$9 zUb;f1E&uv`@VSA^lLyBP`}Dv-*fI3&0WQPfl#i|1nJc?~ORrZU8j_zFnsygR=X(gd zWufv)mW|7+aN{!b6a*>!Sg)dAacjQ0cD8MeYfUVI_Wm6|HQRH{L{pt=KC4@7KWgmS z^;FbozaG`0=G~OAt5?I5&@-bl8HYc`pO!xK$Ts9l=hVW^hYj~ym3FBx?o!cINX0t3 zW`sS_2vbBUcXm$3?1*GerWYr7biR6b=pX$$ttVIBemeGY<1N+J>XbB-p-Wdw=4-W~`aVR1LDw zAx`9+T&3@bdC^ulCq{?P&c3SY)x|?|SrpGOw#sGO z`5J0IWb69d7WNp}hQ7#)2}ydXuZ8^V)QMewtk%1o#g~eEkYUTqEy{CXSvq_KCyMRC z7WZJE7mXzx5wLsH`g$o_+0ii@N$1MEh)>#Lo$`~eE=2Fzgqe+p*waaCU#YD>wpq3t zqFiJ*oG?Utyi|9s=A=k(p``C8QoL!;e%)TPH^3u^K9+oGVZB|cn+}@Scq~mnU4lJb65CS%Kh^#ah0%HNvE@G>E3w2Nv9#ADAO3o<-dv&Zot#$%j@iOMZ10jk4^y4_ zx15ZQDy1g|^9T4Y(_WW!hOZD0IR$M{%|AwE0f#ZttUN zwTaE{B>GT%^77dx*0ieh9KR5rh8>=ezKc9%CCJzqakl(5>}&|;(3|(ytf;2Y@ytx$ zMSslbI2eRm8na!1`$?-(c=S^v@25ulMVl=WlsnD_AYrgNOcavtDa~q^HSUpE z3Mp4PH)rB&VbY2d*WG!m3o<}oJ9$GJ`Q(iY$m4AZHO|@Pk7uG<~lprS==!b}*<@7R(RbNp>)bR3Edk*`&I`%!z@Itsm zkZ`;1?si>`PqPdvz;)bUTF)`moim140ew`=>d&dDfEyX_^uT8<kwjm?4w%v)t+onfm!<~r&0LN;GB_o@F}CKZlU1ha;X$$&ay7&+-;U}ZCNoTF zZqL*71hU+&%Pmp?VQ6}_D1u=VU+ES=-iN&LuobbHq!mquT6wLJ~Fe( zY{lIsz8qDt9)kih`?RYogOZYl(g$(@aJll=ok@@3{@)cg&ZYf2NQ(sWX|%TaO4>89 zMS2ggAKISC%HnoHiGFYN{=F?8J&^ZY94yHez%Lon?;$N8B)y$qBwyJ{D8(Vlzr=-fp7s-D*uSTl4u2E$_T2uaGUS zko60$F|DLUIGmzmcGmW~n^15>YSL@kXQU?5i7%{F1jree+AQrCLSi!Rnvad&UAR`M z6lW>5D_E+hl!$QRFu2{IP+7aX=~@r?T6%*u`p$%}Q%}>H3j!s`vU%pR`8W5|=dUbT zN*7EdaQyHJhdd{8#dFH$g&w45acr^pce2uobWn|ScqkXaS3|p1?G|wXiVJkNz)@tj zfImKTYOI50cZT?yaFZ4kP$zp*dX__&IwK&)>z46gN!{ZvX@h*xp2JWs-jK1w(S8fp z@A!1p8T;6w__4!7J`M_(GIaBQYEc8!^yc^nVNraX1>&4vz;7Ih5^ zx(^pd3}Iw@F|uC*Sg5|AK{y-(pM6EOTxXXpx;(Fw)o^VC-N#m1*&xY7E@uk;xV+5S zFAEDH*FVkex+dcOEYE-X>OAw+`8R2w^7Jl5Ui!K5`%G|&(QU4j5IPYL5OTo%?eF}Z z8{>6Tho0xDm%FHzyF7T3sTr=MVk-PtDn{_}()$HV&mRjMP^|gGMN#Q@N`(cs^w4kV z*|Ga*P|@Tz?WKB^ylIeK1d|kdO;mj7I$-i#byvRStceujhOHt33*Gb!-8)D!E|M+} zcKsagIqx=#Lvc*)dW()Zwj2?6rArR6P*z=`9Sh*1fGi`s`l=pQh_IBl!<_#Wto9B}^_)3?ZWrnVMb~S#cy3q|%Xg*0x zVg<1VGp^YlEZH8qh*sN@9KMV(yh9U0f}_|##TR;^kSk;1EZV8RouhtphfI)qo=cmN zr|!a|8hk`vCxN1_!ipNjkzVF1_8O`9XxmVw>47A_*^unDb8s$oHM9)Ks%L{VZ8)2X zQBp5tR4+WZ%_`cXXTZNr#r~ilKYkZ8ce~c^rVep_=9@Y7x$KN><5je3&t-m=qk6pV zcztsB?a(2tOE1>NPpBqgDsO+h7cnSSX%;al5sO7JfJ%r%76~q`A#-}f?SBQ{;T`zg z3e1pV@lf80P=9#Oz~S#I6k%;p5@&JJS+2gTqLAtNY0_#egi^2M=E}jG#gAtx>J5W# zHlro3d@k1wk&`I_ifC1wgQeVZW%{IIxD^g1wD45XAbgyBeEi``xo$UL-ZwAy$q)_?g!?U6J%-VZ*6m-Chyn2)ClAaml-K4`h;T z)b*;V`{dO%4!jqP%zW@OCx& zCIjEULWQ;nDWqmC_zDLoP6qbwQlz;lI92!ZSM9O1>hx%ehg;n@gmaKXi0arSC~5J>vsFzb9d$9QXK$6@nU;Si{#5$tufWEjhZX91~(s3 z%))9us9!9J!}{o};Oxa9xc;n_zhaf!Rr|5g#=~Q{qO?f$(Ug|V$PeRULp+LNdMjOr zZC!e#*|^H{^vKsKlqtiA;R2$$$7=z6w@|X8mGaOYMN3+y8W2JFUY8>hsYqN(TZCK%E)Q=hLH=C$An}+9yAG+WNg9 z9_%Z27y0C5aB$Sv`D>G|66`d$Ul_5UO9=Y*t4#S+&@vq~4zgSNS7jAFDPXRm_l;uN z_e3;j(tX=K{RP)8>})J6N5aD*tGqEls{T3?>y76*#gvC;mR13;&ZJOV&I@BJwTdgX zp2v?0W9;HhHHa1F?%A`t%^H2;t6n&URQi>!Xzk#JiLi3hDNbYPuVC}f?)oIq2^!Li z;rZB?tD7B<9IGV3gt(hcraoEh5Ho5-C<++`p4zPZrUkR-0uabi+_ zRPBAVdA3vIM*B~kE7e$Z#IH^rIt`-Zos_-@bFBC0Gz5qy0<}>`!de_ARB8|wyLSJ6 z;HM|wbC}lNvHG$0*(d7Xg;l=`yHy6b$+z#qaZA;0`O(dNmoip$X2Z5CYI;eYTQ6`cL_8>eFl@u*fDutuKA zi3x1Pq(pg(EU>OL-Znqj8|GFUZ(5QW7{6BD_=DbZYB$FwNpi98jnJgzrGvx_%39fiWI`XdV3Qd!p z;22bV#VK9GL(3kLKu4ba4-bi6U@u0p__5EP8&5dryoi)iL=X{VGHW(EMs=lw8M;w~ zWZXnrX+N7NWUW}g_>gQHVXXj`Sd8!SKuSu7dc<&O!jk-U<<7z(CA!@!m9JGM`6f}Y zZpYe)9nY0vBY+KLG5+cs|Ag|gA6RC0`||)OB7Ni2kI4tW!)6gm42YJQqGA1sM7vKO ziYdIe(9ZLlx0r0;Tn=hT9d~wq1@~3m(a>N($wkN686SYPEx?i=eQ+<8u|$)h%BRhbhc16Y|z;c zU=$K5xcg+z@wMI1uneAJMMUwIXeCSsyWQ{Eudvt;4{SmZ8aJXoK`0eDIOS8uwN|aq ztMxbS=JUEx`%UIHN_bv=d%1@J9Be=g%=Rg!M9UjPh1zv0lbmOhTqlJUk-esFvFV%* zF30WbC0y95LoHjV7gAWfX$Zd7RiZ^#wqkZazdjemV2xj{I(|Lt-TcNT&&$0!F}2fR zTTxQPGwduX^s+P@jm-I!cxsHo+MD~wqXNeE70+IHri<*a0{%K3te2Z4u+*x>E<$Gr z3|E@jqqWN3t;;RVaz$L9>Y=15=#v<ryS1$JFkL3opD5cSRyeR7s@EWWFCqU63WFHP#t;eA9 zrrxG=rm;O?N;-Bb{RD>jvFrnOl`v$cV|I}&z-nMLtj0kE!fHa|#@*Ztlh?pf#Jw(T z0~%zW(_}rL3p0vMcJUZ(<|~yrV-eLZsDVP6h{X0-XcQI1d83xwpyiVDn}M1e1<6c7 zUb%T$@GZ2Z{!$qi*;&-+sSw6P+N?&u1lL@gVB0YF{dW&Md=k%VP4wq2(N2(hQPOh` zdYCSF*xRizGk_>faQS~Sdv#@uxAIQrGR(KUq5Y|GN5;Vn(2@gz5-Jkt{h291@9|R{++nfA(ia zLMC@C@yvqX7w=Ta)I0T0(_9pDF6xTd6_rl+j0c9YWM4%e0}feRD$KS^>%Zgjhy~q< z#Rk1uH*0Y5Z3eXP-}sa}c{a%9CfnRejM;Hb*5mHL;zV?B`u>SKTuHWN6Raez-KCp^ zmhooFdm_K<)G(D{m>U0fyg8OERR5jTtGe}+d?%hYRl!PZc(q{>m(3A;M9?|2UbzM_p`J-_asSl!D@cD&cIe(qI<&oD)F8m^Jc|B2>O%45qA)7(U8f^kE^)Z9FTjEq z!x#SF-P6(F(GWBcyXclrn~0{rz%gDj2GEUEyNQMLqcs*cwqp@ zF4Qxsau8Z-i!!`6mkKY|KrVPhUZYJDP@dZdp zK*`aWM|XRACECna;;zSR4c4C4Cq`pZ1-y*ty^MAoE(l|hI2TXmS5NOzWzS+yR7Z^-?cFh zdnW9=H^olB(psLt^ucD(TTJ+-4k>vTF?bgp*q;2X7gQhB^|ntMFi}HrMgr9(Zc!o)S{=Y>#p-_+6$!jg`UA+l{A>{V#FlIn9zfg9Z0Qz( zMLGz0FRZ0ue#&6`E2vEUsEaV&n4l$ag$E^#_6;CxqTdI9Re~^hg~2HqkV?YJ|KJGR zlwQQpRcbvP8&$UgYc&y=F}}b~9;81o33;N0KrHcbiwuXi$C^ZN#6*B&RG4lym?48= zIRmOAi69?V$81@SadWaXC~%}XROdC0xk+%Sy8X*4x<0~!X(q5ziFxyp2i>i@n1&<) z`yMz5rZoWl0kq@$kK*YW9a;y#KdjP@dPdlpUeb{{h($?M(vG2ftF`I%Xu@4^Cgh=K z@cbz&{|GcSII*Bd;!mvVbE{7GQ+yrZ(+Ce)aGc%*jcwXgFEWjWBXL&YmU>$&o_9Ee zt^)XQJ9~TCT&U%Qz&zW-q*xcO3CJArbf|+9F`>b54(X1kp|R8r(kx+$EG5y-Dgi6? zi^9gV%;jpS=8HflyC{UGBA%8vaTaQ@+U0Ul^k zRhS{8xw5Ev*9>o(O*^kETiePiCO&0jWs2L6a~jUbc`!sOS0Jk>RRpkzvz1-P=gT?9FZ`j$UuJ8Bvy`RXPk;(G?ajnV+&oS+a) zO6&V86vLVHO_?N3w9LRkbVW;ktEbHh7HzJ_T+nI*A_hdNixts}6;+(8qZ}Cn=7jK^ zzE(^Pb?ID*bs8_h30-3s)^QPhU{%c6Z?%OZ{fHpvdji6(^g?uOk9TZO|4s{Jy8QqnD=*Db1GtMr0hEwZ9h3R`fK@AMc= zPZ>pBSx%#8GU=ijmR7_1d{@DCf=e8$mfI4FaS0W?XfSC3pnk((N*_t70!NzfVI$;0 zB;C@C3a#QynZUw-p@%du?$Pxc4erXmIlkVxh_We4RRefe?#l5~Pcfj#{JJ1|@7jW2 z99><{{#ddM`6gi4`;;5%QldET4>(V- zmdVcN7e}j(M|2uH{^}*u2bI0t_Ifey^$I>=ScHS%_n#kZ6yX4P6bA`33Eapb@p-l6 z7Ncn%A2OG>t4hu2bWgQ*1(Ow@lJoXY3afPkhP!oJpSW^oS~3V$hO12(Nh*j@r*IX* z$#DinUkOAujQ5#Pb{SI)N}Z86A#S9t+>^cuFwVw9IjhL?>^Nh8r!I}Z9c*BuARYlk z9pW1L7uow44_D;C)1W9YZu%{U-#)CVE56$y6r51)pp%iQRi>^$-hAh3khD#u_MRUi zK=hB=<8JMJ+}1DrrF!!#z(&J~Aok>86Sgkigo2j`$sY~1br*i+Kd9A$mdi80i+kQc z$`J{t(3Z>Z1k@o5#e+_?QelB^Pm$(v`~>5@&fk3j#Etb46nhDI`x7bN5Yd$u zkhD3V5oBii`b(lm^1cyF$qZ(^}MYh?BRu=xbP*B!KU!$YmswoL1UO z^0pDKhAR-H{M!jHE=jvkO`nm1UQf)lgkKB4tkiLKa&xMz4nXJZqH}{glq8_d62GMl z%Ben;fNm-Ff0d9x^zbOdYrloygN)g&DG+TfNad=5xsaw#^O=J)br9sp(ND1v)XItb zm*iom)z8zl@NHIO|DXV?w=nE*%RO7I17J&DXH9ZG{o;|`A}2+PJ{^nRSg@jDIm3zP zDeyRjz>0Jw%-@a}xq5=CbdH0J=P6NsljiK^&4bl8r?*RSB6XV1oESc|%9A64zO<@5 zcM2+Nbyw^MF65c5NPdgM#P$d+z4x%1=%YWnj3kFXUYgQc-631?&u}Y#$nV)dF)gS& zvOi~9h-bY635B}7k^_8wl`#JDD;S!`(QwpS#(i}c-J*JNP~v>oNI ziPBr7JG580$?$MOfA1U`siGBp#_AGv2L9e!~X+_A_w4q^)im;PnOVl~g+{;A;B z23s!l^4dt~;D8!vjcN1H8q@S*dS(F?%PO6&t|y}|+EO(_}7)BlgLF9C;geg7YOAzDb5sC1|(L?mPF zlvJV>$(BN?Y+1*QDMBhLEtU*IvXgx$BsODnvsV9gF4$QN7*mp#4nN0%O*~UYk@D zW(rK|e>hK@Bl8Ww2*jxvf#rTE4aY>SaV~_>;6gj9$Y#G^m=-!rYpd$m5Qb{&vj@*| z$`R{DRqClK6kmEq$4?#lJED)nB$ydO=4uV|Ehhk2NQOOFAueIV zfVeETiu3$QXGLu!KkZf$ZZ*F|Xdo6-tu%jQGq6(LVkHMi@q&nym2;K$20y~5Hik{bxbc+~9yj#~?2+Ixn&qH0ZmQxveTK?CCTDr350S>0(sIAh{ z87kw<5izXu4G1CBj(43h<${>NE*`$H>TkEpDQ_2+#(u|EY+B9<4syWkSeWc;cp_9k zwJGC9&;qy#MsYA5@Pgxvl8)MvJm6m~KixeQ>MrS`>%oQfBq}9F*UV-#4l9Kyspc|- z8DQO3I5oQ$mk^JBqecPJZ9dn`TYL=Ase(v3=kB*1i&@#cxOnM@_IH*605q+7g9?%D zvQ6SSzN$*1g5(f$XxB|A%g=c`HN|;Uai1Z)Yf~9$3#ZeiJ|?144DI%}+pS%!zu_8j zZT7xiWei0C&_6kQ-?l#25I?31HXHYL2by~gl9%F5RrtJ`TTvmWB=Z&pK_O1GALwHH z>gp3exTH^AQO;&e-v<*ZFE8A%I2=L|{cdRv?z0`D7i2>0jX) zfJ_TRqT`>kHCtpj+M+;Z9T@GwXzrhpAlkFNYkE+ zb=)cI;`OX2`Mi8}r;6O;ZoB*Hk|VvfCK0*2z=a7|^1;#qnlytK=o){!h<5fh%xti5 zz9jkW-Tqb)pdQ;0E{N-7xC61-SFwsJ!RjZ1ixttqzaYI(?qMiMC*fx+@yYpz(&>Ub zoW?-2v`659MDFK7n22)kilVD_%P}P_kM0%jGHTO$UOnJS9-DU4$bF&sV`P zB6S_|W~P1u6VQLTv%EsElD^6+Pv)ups#&8Fr42K@^)q_mH{Bg;S-Fi^>~asPcf7T! zRe6I1{wU{0n~vVq1hVL+ufH7I2DZ*4{-QPJyK2l&1l6!{o0lO(XD>#$q~*KQSI2ML z5DScvtlm zY58_Oj`}n!Wty6y+wm;UpH=oa`6p+dA7IeubQtMbQ*WN`+R;kj zyffP7O|Cx+<$7D@-IFLuMuls9&i8_2G|liblF=F{@C-ACM+)qjRiQKs_3H@Yz7lISj=d zhI+Huv>BhO*6+XY_@ZLFn>-^1jD&<@zxYSeX$s}Obo2w@8uaRX9S>omjnL6Xdr?PJ z@-+am_MAz+lK~H8&596RL6VyS-!QqI#3@X^U$>gFQ%MB9eoQ#rv=C-mcKUnX+(B{KL1(54V%|%m|mh+-sP_FNAHo=BhIyb1hyW+lgJci_%$w7{h^aRwQ30&qIF zsY|>r$QTwRUWRWjgl#U|hdy@f<9_1P4!NLyYd1EIf7jIJhSJ2+jk~gc#!R4mlCEpo zHZ8V!I__Z53zQIi;6OGwxX7q0-R1jc)L|k~v;8zfyC);wLR%wz-X%g$( zQHlM)3D@;hD4M*8=sHN?cFLMuIedmSZO7YwcdU@AVuZ*&OuUTakt0^=JWK5=UbM}^ zb0k|qDb}Kei{~DIkS-^8Rd-1IK^w@pNIx@%WE^sbz?_!J3uo{$B_V+)CH+HG0Fdo2 z4`uGe&%UjOnS1beEyt=<&_>9Wk8b;Ul zIuO3=&KAY-Cs>N8wEhAjOIWv@6*MuTGcn?x{+@&e@)$7Np{??r!5cScgsK9ac_8eT z5%)J{X}WJTq>!p|c6op>3xa>cz;0>zIE+qS1j}L~Vuv{Br7wLsM8<3eLWHIKLBRr; z^*5}W`j|EZ#-oUr$~cRRr)RfnbK)E)2du3`VC~SdEOos<6fJq2rdK60tzE;Y2`r=z z5yoxYOpM&{5%p*anC%e$=B#TNoNW#^ODJ|R@;;<}9Qy-v~?7iY96y3rp#Q(82lQ8E(O27B+7>&Jy|q?(N1 zF-TNv==Oe`!Sy$RtIMO@do%Z4=#MGx&x;YNfHp9=GxVd@ImJMDv5Xjg^g-C1!>4x(Et`WBTBz+PZz z!t8A#a4^LFY5`jvC;DRujF%7>>Ms_4fe6=$NTag=2ExsT&B>r&xcB9#)1)aP_$W~iSKg^&?Rl`em^E@SX7 zngz+~%*s?MQ=p_18aqN{1h+2hOV}jHjEXzu^0iPVw)FEWgNv~KpRvZ0McB2$k#1N7 z#3;^Titk~(v1o5Bmt>RGc1QU;QrsDOBTg*TXP1PRAwslhhbI2Asd#?`V2+QTr)Uh8B3?)X)8h~svDypV1swLP{m^SA(GReG8ZgkEU7@w|Tba*MD@h)};e~YY!u_9OZ_PtATt(47`OeR?!D=l_ zPbHLNv@Of6A}KUJ!eFbmeOvpK`tsZ;Yr^Ux-+b}hlnM+r!F3DibPM-?iG53iSh@a> z#p)epRz8;QO|T3s*PThdP0w@hY>H?8+C__`4tfIGu>M0bCP(~QtdFCqkk>gDNb z>f?8Pc1vqo{GcnRy9u_aNjHyaf|XP?7u`np(wrzL@9P?8@Z@QCOK>2zQaD;EiJRk5 z+CWE?KNN|@BY?VhF)7x6&=3nb#bpa_Dnj2eQ7gU*Qqnx!GsIjkPKvx!l5DVB=h-%( zd??Wx>^9;cqUdXJ0Q}wL_U>+TYI-5oxuvITC)2=hFgtQf4q@gMh2s?^(K~Kwi42`Z zd$~Jm9GPysljt@GleO;-hR8X@K+0sz{A!KNM7rF^&k*3fDC461tS9>XLPh7TBYTB!>3f6?&ALD!{!4WK9-cXVVcy+PKWQS8iSk^Km{y0HnlDR6EP*ekhSvcCm%i1bWZ z*qOXwU}A@~0?rDMm*N*Wh}dt&$8%OO{hj_V1`SusYk+RmZ1w|G2034zI;D_2mAjaJ z*0Cc#Y|P1Cy{4kKTR9mpIuPFSaf{?+Zt3)rrJ|%2jf@-{b5g_&H*cf%>=7aE1CGTipw zjmd1*J&iTad~9gPhaUwR9P=0eJYRr-=XtSzq`&K4ofr^xJiwgxJ4o*={uMy0&Rk93 z<*K2GDTv%0B8aQ$Qqe2yd>L$05C5zB9HRzt_ zBo0mo@Ih#`xu9PRK&!z&e?zO`5ps1K26VZjqj`J?cWiBPuZW`m)!EGj`YwQ4S?n!nvr?xPyTW! zX85Bh{(DLBATAQlXG;|MP5Ut?zDsTqwI{f!l!6*7UoY7``3)!t^2Jfx1-BYtSjBbM(VuxguV3D>HeWk@5rV7!#}dL`@G8ImE)W^_;K>GBNSagEq32Fbe}(Cxx1=@ z=q6tl;#~uG)BIpOR5{0m?mInpPsHOexRESXWn~71|Ed`TAFk-vo7t#4qw(nmCAJwb zG)KQ8-Ix25{XizFf_^EMupG{4o!wyQ3tSpnZZ*S0QWAHiLDf?O&a)exW;JF88}v@k znjwdlfYpb}_tdN~3G~R9jHJlSGl})T)lQLG#_!pkhR6&+peYABWn?0A|iNEU+qf`YL8I zPM>YTMq*1hrgXYaSPB^b4O<<4J(hE0?htSBKc<<@g@<^{K5OB!2StIDUFm9Q>kX& zIgowmJ%D)GY2^|)dIq{@A&^cKi%9Ub5~Xi*d30BX2NXmoBwY7s|(H z#>krhE$dE4+Q~)2b4E~$k4c|&-7AVo7DV=g6ZIEj(y@GZ=F*(fie^GHMK(2;=9^pU z`U%_>y0Vait+!fHe|JW@Ra#PI7=u2%(nwq9wRuIf!qvm-BL)J&yo&m>CyaavX7v5z z+-s|RA2*H_8u#V4(jx3J4TEIui(Kbx-QOJGj5FAT?m@@&a~ zgQi;!sw|6weMgvF$rz&_NnJ09E}M4?JLh2 zI_RlPnopy8bc^9n$;--;Twe>c=&BkQ)p5 z)^At#E>I~eZ*4~Z=mFvSnJpFz`{Fq9Ng)+4BrWv;8N0GYsjSa2>0w`4$!pt)}Eq6ldbS)z!@JcP4FsBN;JDr?V_k zFE9ELGW&}fk%fTcu{py5M_z(=S(*NQG2vQ552F2wfQH(!hSO%Wq1%`?Fh?PVT2;1W z%W~p4#EuT`Ip&76E?a%fv82@U5%VJGN3#==;ko~7L$guA>f!iyTe(YwzotQJA1D{H2=kyL3kL3zj$wOlWx2&Z|&e*qDMGjwt?dkb9d;m}Fs z>#m{Kd^k;WHaC!TEITBZ;FEIH2AI;C-bm%TA!98rRum#CIOJ}8Pa<*{Ko&O%H&bSy z{){2JNjEE_1yMO#-wqmSFYq6uRwJzt-HJEK;owY$ihafX7>k})xUUD&^S%la?^ozY z@4eCNn5xU%l)6wof$33Uc<(RoE5q}(ZOAxV5Cjt zCsD0nbv9GW*PMs6s5StuKV^2)($>&V>Yhx0h27v3Iv$68x%r_m^y^HbbZak3{cHFP zefwx-Ywqrzp~J87tt@fRC(0zF)#ndA`Q|YJS5szCQx*%l?Q5eTR)ARQ>wfy8Wa2}f zw50w2s`Dgfv_(uwhfSq^em~eBkxHL#p4tZ~?pU17Rr(5+e|bHqj2sB=P>et^*HG1# zT3dDz$EJ;Y@-S@B8|ZW`eFn>Uf!Z|XT$8%#P8y~8%Z)gg?PfwBkk!iPHcy`=)1M{p zaT9OQRTsQyYZrNeLpfx?pj4;p)YwjR=Q<7#fZ=%GrOQ`9xe$KbrTq8=o65u!kHEoq zFQ5E~D;c?0;0rDTa7fgU+03B6$c4?&{`e4x3vFs?`3W@QzRV zZZsQU>Vsq}69=>qM#2a!VbuS{(9XN!#O`nY2u&QY0DIvCN3`7E%9CVF*g5?rVEz)f z-zIuWfEz={BCc9V-ZjnqwgFn=kB$JJ@;?ole+4qSBnzTx+3Wz@)WDPWw{coqQB;j~ z$-aK;Go(XMk@dQDX*1LXn$OR+s=0&Hujc7r&A(TPAm0smQd%0JWH1LLhqEvdD3|(T z#B9C~pjKo4-wN195UcuV9wQWY8#O`Rr{yo9;xECfoD=GoZ87d_<0x+%mwtq6>IRg_ z862lG2DRkjX!+G_$klwGajhCTDLfG)WyD>QS9x;Dne$EE#o&LJBNSE158q)o^ZXK( zS0xDhG{tkGOLW3YTKs%d3QjBC@k@DAG9lHh(^ImV-a4H9lDFJf^-D47d!01Li*|U| zc~;kXQZe|;6^Jh4xYkLxCS+PO-Lb!xb>}8(ot*UF;(FM@k}~FhK7J8f_+~IcQogf0 z_R_PolPNS-dYvE!mFn~vlu8@Ykqu4Er!Qac$nD<0w0LKp=hBj=?=J~ZgQgz#f~Z1g z-lM+U_V74R$IqkXlBD92ln9YGLlmiOXTTF(K?_lr+c$a1NRSM8dZe z&~GXD?AsT&H^-6U{&e?*iJq3h zA1+y98S9zuIV*i7;OQ?D8*(;2PlgKI*Kx2e6FExL@kG{mVyteGsf>@TuRp4Mr__YUk6752|ei+{6Tp+wOL|lDwD4{96`uGFDN$w}rdRjl>acfBp%aCsQU)$ zODSHU`3~z~9O!9MU;JxLUy#9&(;hh87R>j8^UiiaQY}y`g?#}|=p7MQ>E8tfhIxtS z;j9=KlNKv~P^OsZiNkdfsKXRcw?Edi?fFXGKA=l;yA{jVO1~%4WhHh2CAHy?#1J?y z2FeAxPGCcJ&P3RG9srje^C6B;bH8flu3yO-65;d_ zg_Zex_zZ5G->W(_VCLY4qEaCEZO={rLV;Az;NyP;PBET!dU>rOZ%lC{KUQblc^zVw8G#VP*?>X7_hZmpS}%_Twd9NDOW{XV{P>jSt#D``3fCXb zOV959Gpq0b?uo3S!I9}r!_%5uPEj_@P%8%v+g_JU=)e7idH?G&8DYOgyI&U%uQAycTo3f@f!^?`N z3WDiM%(Suva8~!NR6PH>7_!vGpfslXMVHBimB~HYiU+8UYy;VB$gDsV$dj`_Z?aBV zh1l}VP>n`+sAcFOlS%cdkmlD z?Pnb`diJVhBJPEpamI>A{)4x~)p(m{fd4OdVqQS@1$%Qo%K}ur3<N{iZ-Ll4C=U`%(gq#4*X$N_XimE~|ReyEoej-KOFSok0AC+FOBGJzwRkZ2K_?UyY!?;@BqIO#8NuW+oB zu8BmeL|*T+pn98+gv93~dzC*ggGh$8!)@QE^!GqU`ms#G-mHB9im{?L3O(&+5q33x z8tRI_br@ej`r1o~(`q_Bwq1c*D!IPMTEYlO7VKITtXp&6I}FCv8I-6|s+=JK-fT95 zJAUG?j&USMb~+Ewk%#Zb<}4&>aw(@<<)99e;&2i8jrCXla)fD(LejfUIwlM-^_H&h zwL0x5B`SMy{4+a^<7qVS`r>G4m%LIP(W#C{oqG?Rk4L&qNA&(JrCxe3Fo89i)10Wk z1Qe1_SkfF}X^w0#p}U<37aXMwklyPf5&jj0{KPB^;nv`oeq0CKjVU&L#S=S=CMfO< zJ8(XwB!(S;_=c72tWTgB_b<676^PSG>U-58bmpep-icS4S6aTYNTxY+L=P)pa>*k9 zxF&ajpGjoB?t;oXmW}b1skI4>D7%>-u|#lQaf@jGce$!v{~nGM1LJd8D8@P4aAN zuaUiIg7f(L#7)mAws5dPLIz-(5*97+?cbM9)xweO#3bkHwrrfcI_~YxaZx|>bjg(t zD2RitSc&A={NDh|nP4XF!IXJ|y6xck4ceyJvUStT$7l5w7iC5q9~VH7u@jo@_X2YV z9fz082LXfzHFqgL+y&v&HmZ(Q5n2}l=H8l1cOr34AJ}N|8KjHKHKDnS!8v~jhfJj= z{rcl0WNmV+8cBfiBOECSv4_t+S~{LUsmnf3>e;sspd({$FUT*1hu4c|^jH^#<>mHY z|A;+gIV*7Qo5J9nbtY%*y~uQbug~k+-XKiyNhYcwF$R*vH!y(wD){Ukwfou*FX!rV zlyFXbScoJr?l4=S-?}=?IUmvB^b8(-tC)u%diG&L&tbNOqPK-|-Ts~=k>TvSe-tV0 zl0^}Z<-0ZB|A$~_&2a2~_+#_P&7)UIN5f?6Ot|ue)i^UJvztTG&ixT2?j*%8{c|5$ z)w}03x8SCW78r{bBBvsiI6l_QV)|;dh2%Sb3~uW&`=3`gQ?t2~yv6$>VsG}?`VU+C zEWA17wVYqvfS7|K*&2*%DeK1U%#!lkhE)3yI{SKOHueBS^VIRTTC6@U0Uf7kg;j`}FDOppuShtgBJwM*5G?}3_%~@O-NLvw z4)Krn_6Y8(T+R8L?Kyi)e-@uzzmhg2=;x<3SiCu7n1AU+61XGRNut?o>c^Q1q^Ag1vP}uqI zhxvMkLZ}QHqJt>@v<1UGoqh6?uy>Bbg+t3p2$^T!-J(GkA4&i(Z1#`%@+m*r%qr9> ze9=ttkt2LyCwhj%RzGFhH$2Y_@kRib&+zI`Wpme~{NOGhWG-gnkAyaFLw30Nv@K4oO1=4AxlH^J=q57j1zS%u<+FXm!OWsy~8} zU4HLLHFgHy0w=YIfEE%^I|V<`d%|dPrfx)evUr9(XWZMrEluLfNxe%Jn+y7|^;aSVl{2*px?dZyPe`(1T1$91&Vc)LpB zYAsXq5w?2cpXLbhKsV>+92rRp2Xrm&Sq8zq^r|^_$ahkfth-M2aYF*Ad56+?QA9&h zy7*o7q%(HXUW&*4`OmJk!UR`D5iNK1u;PgKUV~5Y`@#pTWjh1_uOkvxOyy{;lolYi zV%!w#N`;eu?exj%p$_{TLGL}N8GYWSs<&U(4n%ShXGXzsGG{tL87DPJr`Bna)YkS^ z^0)kHpJu>H`z}d8=cbqnyH3KGQS-Nw37$E?Ml1egqr*~+>eu=iA`)t1{-IV)2-SJ0 z8-I>a^B%1E(D3}s>}MZ=C1PS5W#Xm2omc8&;qoSbP}94tLT@b|{IJlh=;aDaqf?qU z`~zy=Co((k^lDsJcBT%Ie4|`A*)$2MT5ILaw$8`XNUZH$seM~or{}jQ2r8SF+h#2{ zGLE-u?Os82-Gb0NY1o6F5xmY9YVrA51+&wy$hVvm4B}M)Fv4A_WYeGWd#Ul()oqt; zsr_V1t?=|S2anM=&ENn(u){Scx28{M({ilBEegZ<-|8NsHkvzW!|C@4D#OYm7|YC& zVxU-$Qd_r0WhDt;pQofPAL|>Bnd1F8wZL$ovtRz5$lDuCHBAf-MRId z7c+(V=XMhtsSc60$ZD7Ie0pO$PyeE4);h$Fs#3mny-6`Zks(0Q?LKTuFXhTIHz50r zOlphFR_+v66NubjR$slDXL2$+sqMiCv>(iT`43J?*3XlZBsDSJI>3UFk77s`U8b~d zbGOpLe_K7IZPygY++QF;18Dp@&f7Y^;C>uk_mUB_98m59S_b%eg!wB~%<+HVqLy}s z-)C#qE;3oMfTV)m2dE~rug;{-`hLlRyZeJWpP{9Ym(D|)oQ|G3u4enfG7X`c(C|xa zLyZ~^KefrA^d4ceGT5oE$f-_9V7u#^@6(IrdFMeT-tk*Kw>L3Ww^-Wge*jf|Q^kC& z0ZBB0O|}c~Q|2=eaFPVu@tO(`IZbpj)Mmoo<8P-4UiUbi4#wV`)e3 zP<*kC*eZ4F&|(yN77``h`g{Q+6#76YRQc$&`S^ttr9)#eUhYxfzZfNR?Yc>;pS7J# z$>h>Dqq&!ku}N{J9zBcY^zUWvLu}}wC-ik@Jm>s}0$whB0BrG@%OP_I2WaK9ucL0T zbzdl0X<7Oyf9cBw>N4%uikAq|t>SzOE`0x_6u?pl|7|?bUny|?H(nxii=}+$)-krt zmaEYlFp1vjtLmkA35;knb%wA8ehWs1XP;F(bwSmNPA4=DNf-C4<(M8~mRxHdIM}Xt zeF8E#+;l04zLYdW2PQlj4^*3&I`8z*3)D{8o}{O`32B&i;@RS z;CE9Z=`DacX1v;?h@k(vGcKRSH!$J%+qzwm=>C>=p#U`0gqb~vg6BU>u#@v z3u-%I?kWej$8!sOIK2b`Tzy~D`xdL=72UIMc7VF&nssG65cCqD6eX+NeM}5JX1QG6 zx@7OC8jTxk7VROCc(Vu>S;L^3cZI<&a{$PTS>9W>A8xBTfdKYwE*{} zS>|lMIXi2q_%4aH#WS}7XdC$>3B2h0`+P2PYYXG z?pIlPT41Dltk2WyJ)%xp#cUBj!g?mqJY5rGdU|lbw*bc*KIPO`AuBUpIEaqAv#N4J zP(q^a&>XC;R*-J6Fj90^^R~^F|CLc(>Do57(HlRvB?SY#hHchA(18EL)$P)X2fw(H zrPKwuC-Av7wjG--f94c6Zuil^X;B;OUsE^}PqiyWjINeSd^9JRi8rOWBm@B_Tiq$h zbNyUx<(#C+RX4&2W|Ev`TrhfmG1Cr%BYp==m)Fk9F88wNfRD;@D(`5yPUzuv|JB#4^nf-N+Py zdy`Lqc*$~AymWQ4U@cK<=BdN-P&+F;0NqjP)C>0e-oZVw+RDCc!y*lV#<)m4r^4D!8RKf*QWUk?D9)u1dPlgeHIdd3(4c5iig5 z6>?d5hh37M_PlPuB4upKxvDMYZL^4;2NyT3cC$nr#&HWksmXaGM&hlY>La;hAqs7Y z-VX{38UXx%fYZ&&y0Uze_N1n2U*SbbzewOI5A+llP$^xYkU4wv+@4wJR*F9XyBOFz zQ)QnacD={fDh=ewm8k>#$palMqR38}33zbJ0WkLPuBx@>ltE9s9UH%B==2JZ)`{hsKWb;&?kK$~$w$Ht{?X6}TmW&*d`Cakd+5*>6={8=T+{z7`KG}p zA+^j9X_i0TskJ)QmK)-IR8xW4g8>faX&q#s z<9%DEcW$0G*nQnG=}vN#i7V)%#<}bIZ*b1y@~eCemp(ZEo$R+)i;x#0+f_Bcy`kH@ zDP_6oQgeF3^0pl|`<(fl_&1yQ9P>Ek9T#>4VceC@F=ZUSG092Ll|j(;BD__yAo$B0 z0s<%^cxyJHlK~)lP_34+onBtLl$$!_M%QB|baFjF`ZpKs&v2@@vY?O^t{N@rK3o9U zhb>C=+PV?-S3b797P-=8+R1O+8Qe*+?0xdX8)h`OWW-`5Zol{tNCfxvpN${{Jav~S zx`Pa)x8Y9vz$sY7W1OJ|cC(tmTo;`cGj#Fj{QK6VGre@@{J!Su7#-tvfpGay<8upzZru@~M6&XL} z-pyy@cCVj_?6j5rsz4RIquk&4YvArgm1|51ZKersUpb*wA?qGpJSb1jD=2rYo(*`J zJMTQyu(|G8p0SYD6IEzF^87^J>Qma4UlsDDz8oRNVqV{t;7oajfF|selgNJ3in1Zz z*#W@$C(orHWT@1#+c5n&U{NEe>!>%bn*1%pP~K^?D{Ql?_AXszj14qfws>>Nv&$IL zj(DgCI@P|2)q@3>7FJgi@v+AK6Ryb@xR6v=G5f8uKZ5cE>d+Hqdb5Bi6ng?3E3y!QQd ztXhj$-k6A=FDKfU(<-db-SaIEgH`|3NZn<#LS@Ipq>ZOiTGnlJ^K(8hjLjv42!O?D z)q7bK;W}0~H}$bId{xJkRsZv~dJwQ4gmzJj(YN7fhK@6Q6m}Nk?*7d2&wy^F+Hig( z-H)*RL(|=B~K632pe=tRdo>HYVanzU<-2A5G;AW*f77xlhdJ7xz*>TCP zhxR)puN!@U3@W?Ct)cK3dOJxh?vTJ>;51#pw5pV;9b(bA{zKd51700GPm~>J9+shn zm2WL03`jOhvu<;#!F{@vHs={dr}8JLYN7jYXe(=1WosY$O66S?KjEF6Grc0+0}R&# zSsugVm~yTf(I^322=RMG!R%t>=Tt(_tmmj!t$&E~&_eCuSJW49(5uep04sd2)gBYw z;_rqkOCnsW>Wm8IVp^6vVK;f4gJmcmPp=qo$*Fm12p+iK_fe>3v{8)XYjukUA69?K zi8+abVUH4@C0icjtP@2K`TvL=>|Tnr!ChWvH{fJx%*Xpse*;021#KY9^nsxWM_cyX zJ+=2?tx;PXH02PDHO4u5-w!L$d&2$p2T@Mh9u2sMs=M!Sp;wO_IwErG_0cORhmg@x z?7M-z+lLRVIMuhMi`ri^>(jS67!0W{GVVfM=xiQ87$9?~fHzXaOUq4UWCS=7i7bxR zyp|ujgKgJ~29Ya=ZBrWesC|AI5C{pN9#Y!<+mjA13n_nrbIxWZF>PJWJ@~3|L~#<9 zPlOx-LOsK}>HF<9r-zvD8c>!*Wsiaeiq&rPgUb5_#I<6COfjKx8Sc585qh(YkTxXJ9(#Q&Q`v%JQ!s{msX$7?QnN!lKrf;x$(=+)=s_vnWTad zIlkfE#?ZEq_U?|IICGjW^DD+#hpu=)hP#hky5fg1h{X`J#-0V`8RhxONegF$%cn5X zwlszQ#fMq2s~+z*rZL%?d5b}o8kV4)B&Hdk6Fs}FeqjXfg?#EP7|osdiX45+63J=!YBXv^VpnMh{8X&pL;`ReC4Y?|ii6TG`j$ZeFbr z_Sz|Fs*_mnQ9PvKU6=>=>R4|FDY&GX#gOD9L8p>@bGZHtiD}!4Um?bR>DooOxne;C z-C%6k0_4$=@Mz3{;h6FaX$g9xa4CH=(tieTBq2_zM8ouo=q5^mkDpYdpIfIyD3%xL zhP!d!6VyTeo+BV5mqPZiPvQ^W&ksXjHO=Y}<~{kTpWO!!*uTjmMq2SAgL*wbR&O^! zse%pxzpcl(%@O`iS2hEQp+tN5M92d|ExB{jt@%aPbfi%Ie2iDgP4V$+ASwHclQqmY z!M;fLDbGmlluFp$hQ&6JK9|y$YSrVO&$59F$`)IZ`t7UX=0S#9exgjuC?=>@Mbo^j zb@9<-*HfPPlFp`clx+V7UX@e%+jpDO-+l0o_XjO*Usyhu&zuc8=K3xz9!^d3Rwc!_ zXKA?4|KhNC9uZKuAW0WLN(&l4H_OZ~ZsA0(RruIIXS%OwlJxTyXE)LD<#^$WxI#&1 zzr0!%Lx?N*^VxK)j!hT@f_~PD2llxf{d$B9auLHo_CQSH**piYcSb|@!K2mS%`ffJH4%73WndnkMv6_oVr&% zn_5rUe-=b1)sZbb;y_1}-}jZ4$vu@qm{uD<)kE&%HLY&nF=)=>k~Le#UXToE+us5U zbbbtOedZAi6{HIl-ybpdB1SE{QSK)@Da_M&`~IHW7Hi5{3`Eg?>*LY%|8fUI;p#o%>YCp>o4ire?-1JH!&(v->AXp_%=c%? z)u=v-mH)ih{{>8vVP93Tt-=4Mt(#l=+t$|SL*}O)INuB0Q@)Pj67~I@~@MpAVIvO(mPnHA6{eL^z~F_|w#7dfDqN zw2CaWd>Z)rZC^fZhKK$DjTU$cMU6p&h;>YyOS@5}=v$ZI0tm5Owgiu+$#3f{E&=44~bBR=zjKD8kH zK5&DJ*XZAjrT^y3Am82+mzfzl-5)ctG2=6)zgxrW#@;3Sj*pP*ymv!}6>X68mu%5P z3f`(n*Q!|YEYYm+o5qjwTehJpFUPK$!&>lvb$#D5YL6nk5pQHJo4OYkMhrZ|>~3^R z`#(HiKITC_W}uIulV7UVXDf+c5uE!(1oPr3V63TU#`Lh~ck*i9OFR3WKc>fcr^fVp zb?h$NT-iJoUw0(bWlm;<=++s^&zn!r*lY}dafB(}R8=#WeF7&FQsxhO5Qbf&-GL`yAc0Xv|qu}QkV zDfNBaAZ|);PvL^ay$%37Z*M&?26*`2+-!|NTjLFsB2FJ%r_81$@$8cLcVi zEHEqd5OeCs=5u|Ky`o0>+`0;P#iovXyw{87=;Wy;Qj8p~z2U;hv5>M}%k z8Fm|I@|-Xonl05DvT_j`TNetNx^GtcBP&U`D^I&tDthw?p!NYFoxVZ2#u7u-^!mBktt zHqp+qA?eqJO!gDaR&K-OiLKqrsjABmngTOaelQh3QNZ1(101T|zVTPK*y=S#7V%bM(4w#^Y@*z%#=3Za=~{50#%wCOdC>=P|qVSiUoa@cDbSL zO7C{g+Y+$b5>|OuWA7iw+&U0Jc(XYG9v_1ef)XoU7u8D`lo!!At2E|=?@ zT+ay3EC!Wz(Sw%JdYEIp)sXCjIu%CGb>%v`<}-(q%d3DhlD~Xa zV6bZ4`SXg=(Kv#~cmsF&4?gQ^81e7*K<0#1Vek z8bw7Q@_7g2`MU)e=H(mt7%7V8f0k_>TT1%2Y|b@%maaqv0K8l(F@HohC|tPRoc1^m zznV{fHUD(l?Wgat^ii2YKvUd!|E16^;?TL1(J(#ypLdS2rVe|b@>rdsSe-|gyL7Hm zJT5w_>u?Yy8gnXZJ`kkjAZQl?hB)C4MMJ+_J;0@32?x~A@?)Ehj%nIlnLXk3b=KN% zq3kWlG@gS@f zy5ydluEsN0<39w%E#PZ4rCZu0bwC%33$PqWx%B6;km&AyU3HgmGO&1G>c^X?Z0UaI z9c3!I@{8CbiN&*8Ay3bx{52vP<^y&10R+PV#KlX^i;P1bV#e=$j2GY#QgW$^$^EjL z960yvW>)$YsWGgli)AG`okh4SCds7_HH}}*yVY|v_+X>$(Jb&0xIf@fC@kVfCk%6( zd=U)32>*Tc=+0o~>{PmJ+oQTnrxHQ4xIc4f{LIAFGXGBg=bgbG4?J@_Wh(7E+WM`R zom%;muK|YW&kYV9=m6rkY&qj>ISq!LHyR{c?wU20Y^uzstNgp|>E$U#IK4tJyh8Z< zJ+Xg&BDFKZBpaw&M%fi^{Pn_d?}}f@%MsGm9BR+6xp&MInoxWh~Kc@Uc^s(b< z@`)D@N>AO|_LwcIhD&eXrF@rNuu|8s_x+cYnKC@8%k=m*9N; z5wEhQx%`rnOe*&w(gOFeow%}<|FKxpxS2DtKw+6JRfedZ>d>zK za5=@FIcHGS$_(D7p~Sa+ykB18vCYL>$^Pp3uVgRY2>*Key0A@DP}jl9f)KOh#B z3Ng)S3!KK0oQ7}q31}fTp1zWOk)_>!_Qj(;VvnDdzP{~{`ifkevIrip_B{J}H#+PM zmv?q^n;50L6^X{sAkGK>YY=>1o$R(8`oy6&)2Rs?bEkjkq-*P`v z5PHJ5?`@0O4+V_ONwGC*iaMq!^phyM_ummhdWqqI&n}P4{O!q_ZI>D8-w{;a5t2EH zOQr&41``*1tDT6tS>bP=*?Bj*{JGvnS5FTJ^rW%;NMm6lcIJn>_ov}_ZOrnJxR(0r zFUJ^f=L3Ul_g1#EPFSf;Bq&%P83@WBE6HkB=`Ugtl78tWI-?*CbWnGi_S+@*!O1Ku-wv$z~!3qxtCD z$;AbtEhqc?FNZH5;L_8$vp4ZlYVbg}BhT{zh8F|wdtP#E5#$oXNDQhUFw0xYaTL1R zmi46d6OV9|=H5fUou~Nz0vq%}A@74i{f+eRY`Sk$*}{_t7*cL3KU29LnfAE!(Kj<6 z@wGY9JI$-MB@aAqor(00T+$m5X{;NsDqmd^En701$Yz97+EU+h{Oi%Ed?}0t=ZP#LalJ69qX2ivN z>bK)s6JI(Vsn>S;?*07-Ab=uJN#D#y$yQly$KeUXw_m5N4Q9Sqe^GScTkpqI$wPw9 z^;d331P^pAXVFE%w_Lz>P&~hD$c1BddD{Qi!kZ=;O_)zc014*LbM^UVZ(TXZPMXU^UPIqH5KR3f|5a zzB(xhjXP`jdRb|E1W?wSY@j=#PV;3{!uOMMRk@QQD%IO|5030Ch3_|8w0e&-XSK~U zuihqQru<~xRxRxqEBCv|-xZH52t@DG`uA0|qxVeYhUvn`?QGT*TUkpHwMx|Xb*r%` z^`^%(N;XHY3n@)^6XShYYf^hq<9uJAM&a;}#-~K({NN3T$$IM-qr4RrD2x-=acns& zZ9Ej1JR7ea)e(5?hRfOS1~L`XUL8V2_nBz3lX44xu45ZAaQ5!~)I9P%`mKtMN<(@R zzV>obo@f0Y=ag^zI=$T4pAlT+AT-HCJ1sxGda&|W+}6&_2I>)WB8WR@q>-@Y7B#8n zKiUlQF1Abfu>bA|&93|iJ>UPR?5B;KlTMuq$8sw6lTs48I4QMLWN@1Qw2>8G=ys0I zNpV{qhP&&2rkYvV<=!ja0-RGWB2E+0Th`9xXQy1cMc*yk_+O7p zzIfJG`PzgQy*Yg=>Tl*KvLKOrfu9mJaQPlRT5($uhPxM&)3+@5w_6hp4q zh*4c>(vTx2UCJ`U#YQXTRbTPh(jwP#4g~*yD zkKEv~j^Qs1P-O@^3H;fB4lSyS`)$+SY~DP${k?VFmSn8}QQDKtJk&9K;nEkF8gj21^3sOJh=_H z!-jLq?Y~8nsxGZa;hte(Ma05j0 zYqL_p?9su9J&8*!4Itw}Iqdy7A-aXxW|^g-KpR8|meS>2?Q(Bu-d>u8fVKBGeO>VE zoeJ=k(b%n#RB+75@4%5D0(kW0cgRytQPw@M@h3ms0{Z9dnYe5-M|K=iT% zi!-YF{tniJoByO_GdSgBh1h~$!_iuxLHAK;<3}NGTYL82k0z5%s4oR9-$6Cc{L)Qc z)OC~1M!WRXKjS_~pZVl!z7nYl{~ux30T1>6|7oC-Ss}Awl&tKGE16M*63Q7Nd&QY| zO0q(d6}d!6W@K|#A$w<>v$s2E9nScF&giT4`+pywhc6zzz1M3#U(eU)#H<6}+Qc*J z&J121r0$Px#8yul90oW(*<8Bjq~UzmTlHFRH?WG`(|(b)C~)&>KT ziYt1)-|al7gOASkj}UL->8&Or&H86uJQ=e1(x97hCreTc3Q3I~#lAZWrSa2z8oZry~RC zi+{D#+aYG^aH*ANIo!7#-fu9+`L&&Id3*>%j-X7ld~y9yf50E{+h*&Hi^KK$F;OoB zKdB0t#%PNTu9(^*R6>Ra7c4o(fBbGTwq_xM^RFRG}`w8ep|114xM0;)jZCsdAO2l z!iAETyA;hO3;Yznz~u>6B!?P@lx6DC+825N%ep#2JIet2xKV+wJ-}I@u^Q}gJ%jq`!XJ`_VkeM6xXw$oZ*h^+w6bQbY7Yv!t zu1K7RjT(hc3fxvm7;&~KNYaz9TLtFsL%EC|15DVk7)-EhPXTxC8dq9E6be5Q3TM}I zj9E{u!GT}}4F~NdR|3=u_IAsv@d~VSD&_UQFpUS39_<+m_lt#3u3j+pMr<*gL5^@# zd%2KB;L{HRF@9p;O5`g^5T7PsD26DWOJ-<6l9!xn=2Y-sV{< zj43q<)|)S&R2?u-5opnyzI0QU_SrVwxd$-fXb^2QNZEPXdMSoIX3GdQkx;D*qkevG7(;hasCoXtyi=|!s!;rW}v$oHJp_;Dh*U*~Q} z#fYuGxkd|%lZiU|Q(Tc#XyENQ8&Ucj+D~;LnDJD4EMm*Z=hmn*KWz)}f2V|EVx z#;>NBZ(9xs4jS^Q$bzG6&a`6A)K4Fo2G34JEFZr{aC~CLdzXmNjoF;=3B5$P5Q60% zqbzc(&#{RwI*AhearhnH`yF0R<{l*8RBAG3=gRklbA5BG}n;2cgkJ(=FMQ2DH^h_1nbUP@pszL=zLlEESzH25E{L88r+WH1w zq)-?0z>WAZg6c7Xi$tP8SB&oF;4J>iqO%3x)483ntWCb}3!Q*7czYOOI_pyql(L|+ z83$j(cV&u9%8x91_Ic4u&eI>FiXZOH#>%(qR#&RNDa#Jhg z{*o4W_u-DK%^$lxAK*S#5I;h9vv!GdAc=tzJW3Y&NBq2_c%!9`M4n(WPw<5Qv5|`K3rkfN-@jd@7u9b=zMs3(8IOeffo@}7ZEk4Ibxd7mio@p#A`vE zKGfW}g}w8r^bOlNj|OI3TZfbaYTJ!mnK_!eej{}~ML%UTXdz2!$u<%n_>PH^!fndr zapc~l5auy%S@yNu=%c-u(<)|s^VzB zbGKRXAb=fD2mj`q0fdBj-h+MK<4&38mh>zjT{y$VDYhp}7?`mm`^s)?45-0{NuL(p zJ5Pz(9_= zajGsGvZi7vug87eMM4@{y7SK4E_2&0e{v5^9-h%^=(Y)GtHE}@lI?zAwu+*Cjx7pz z$ApY&d5_h;N};n+GF*ZR?7}+^kC%Cl=x^T8-%R0}ohe(t^K`kg!HOtsc;i7Ox1GyR zweJncFW&Ju+o=E{5A&SUdOD{i_i)Lgn;^HQ3^?Vh;?Oti>`d33LBagKcvb8iAx9UE z?3c(@GujUc_+w7bkdSZ6lW!(^rb06-2!gARe#~C&RUTW&aC~eW2p3WMglMsdWFc@@ zjGX0tDS^4N+yjy2OGrkZj*|%Q8u(Czb zibYX5`=ygDJM*ywGpUlCQ^NqWVGnyz7b27%Q<9u>!t9G0{4tD{Bwh^Q3F_sa!%E+h z;rCmrQoPfF8Q8fQn1-Sj$YTHyK)VTMBj65iCNSE;K!NLeIa- zD6ks+G*_W|#KyjDc`!IWnP7h274MFW+2jzH68rTwluI%E1B;?Vz-?G9rBwh*?NfP4 z-XpXP<=cjL0fMBj28X6>XxhCh$=dhtbHt4T58+CyEEOKk1l!q05-%A6BgqvyhD$1A zix`+l7RbEvG5pCud=*>yE?eb4M{H7yV;)o5$TMM1%%5#}xhBwoiR%i!vL-Y<>%Hk9 zxK&h9su=CwQeVMVIwbCiOBaO9Qoh|UcN{-(F+Modo23|;g0ETn*7rxivr{N$YY~x9kSh%DMt_5;mSFZi36x;Q+g^}1)h5+>juWkc0y3N_ z&@D2Qml9nL>S^cVN_ zp$`(Iu!(x(7}Pgx{c~iuKv7W{}obS1do-|8Ymdmeb*}JY42Srku?YOXS|*x zpS7+q({q`CJ@hR;+eQf%I-r{!{@Sgt;pS6;jtsudAACtRQtF!pQGuL;EX2OsVWANp z?u0GZ>yK(bF+T!Kv%cYJ)9^;A++d@56xcMY;M?>us3!}hmXWOlQ6iwHVaj~@%>4fN z2tD8z`#?rOQR`6@z^2PjFm~#mC)kAuy=6;wRzX-ew3xENlAHu`@akU^t4?vEaS+uw zh->1LDhqJ2sQ4!I-BI02%ym8h*}e2P{50GiC0>T1tin(pMNU;SdswP(=$$Rddp?QX zq?yz|vj8A9DB9s`hoT1$pKdb5Pw}AGTqGO61PZT$08Re}W@zJD&h~EXwW|4_~#9Mj# zst1tn%YZ>Ds>==A7p7mrl@@uHvig>?o^b96_SphdJiqQiP#t!F_Xn7=4N#hC-k}-N zuido|s=D`EBeVyE*c3!%3gQxTbBftuD_FgT$zBl}E`M;SXG5rh4P6*ehG#<;1>E~> zjlB9;QbR21SKu>OzOtUD+8TB`HHG#01RZPhm@qNo`vIf;i~N1zXhiWO0M#VCp2PrB-n^iAw3Jnh$ z1+oG83w>2JBF5xX$Wb8qnRdomUw^b4+mF%7Kt*)`I8rhbR(ik^%4P{wOTL3383s(K zfQH-K&CXtJcy#x@pv=|Km8YX*36w*nqrPdoQ4!xWm&0dsS^`O(ctnY<;beILfoF;n z3Ii72s0li;2B3xEZssOAF@zO()U5)pVpH$>)cAAW_ItbV5#O`o<$K%n+lUV=(%P*l zJ<;8`7{0CVpFiRCJBE=!kk4Q82W~|ufi$S2B}nPlWyzuHYIkjV0Y!HetG=x+)qll@ zs`#HHOi9M;M`EW_U(_W4gt)aOUB2YC;GS&b3j_i zPu%IiI1&6yeZAx%nP41cnhV;*i1qz8;9*q-Z)>>&e@wTRU^-NLw4z`DDy@85{Ak&# z?0~y^>e3MKS`Wyp>6>wI6G?IZvVy&E6UQuf3Aq>Js%{1_4LY8=s6c!RPL`zVU#7=& z3x58VsFoZsD)T@AYu}b{UDGAK==v260y@DGqTh?3j!o0Rif4B7EH8}K(vvLBWtT$u5o)dxtnup)x-k7 zI(FNIGIL$_9#ma%c?fvLvRP)o^@7(>zEb8aH6{!>5W73bwxOUmN$-nt#= zuHfXG#Rl))HLHPWli??kC1PqI;T#Hjn zl-U6@y^4s@1dx&9;5!g)GyLS?(kt&k%2#2w7*3Jlw90<>wLthiHUaC4$0^*V)3VjL zG~%|C$gc8h+9-LT6!n9gBD&Tf+dlH(7Ld;>sMz;$oW331H+vmME+Bu<1_ew0eZXZH^wvI=AiB zqrpeqc;s=U&j5MEk(v~O_&?zfYC&N7cVpI4V8>Qh`vD}oP9q*H^m|ocERtDOYxP=* zIwJtWN!oJjC+ZSs7oN0r%sXHbm@v!Y3dFENmPM3E%bDwW2a31LQ^Df30p;EocLRcT zyS$+Hy2LV?K~Hsw1(8Q1JJN_YWM2YGTU|f1stC&Nm+*J$+)Zg1v5;G94cKFMcG1=D z;q=Mx+xWWz@c{hDT+`9HXNi;R93SHm23aM z1NlsBa>kkL)72$%CX2f%KH@n79^d8NB4!(pa>PW=|tM*S=yG_(D%LQ>sB?361VYg*Tnl_ zX|7YoLZN^78Mhb0r?ml>b{B$DDa%r=%2Kt**57vp&ADR{ z5EEE_>D>}PfMXSL5A{x%l;d_m#Y^7{bW5%$R?8wuIK^4kg%Oi{5?R|eXx;eh&vGt0 z6E1w}0kGUt?kMopELGVo)%i0>v^+*heP)3bcSkMAC*vvSkr(9#vbozP)2HR!!+op8 z%{CL9BGci%HCf#%)%o&13f`E-O=CQ*i+H~cvsm|RBUtG78uBK6QOV8HKtM`a-XW80 zE~Q{x*L~O0eF&xC;4SLax42tjrOE2Qm8y1F5AH;^`141yi>B>9uPhpcn)5$DiFv&o zaF&3!{>i8~Fwo99)XsVMGS9JBs;XHL92vo-l!2C(GB0}mMDVRU?Y7>Z@?7-uTvRH> zwROvXR>y}aNpp-QfSCuIaErL^yH%y3xBup| z5V_-2nux?dnR>3={AButwaZ4w!*r)8)H6Tx^%wHdUP1N%@p<>ejYiWi3Z2N0lFIor z`U3=r@*HC?mEiJUVr<90yyN^Mf&wE85^iss{Et>@eH49;^0_PW?Tr6lrhu8ThuL|a zh5Ma_pLBbSV3kt#C+AlS%0ngip2aKuRs{bk4ZK%F_+&%)jtUiS%w13PvFnSyD%H<0 z{xPgY3`+A`y?qDODX?L>`i)NJ8=W@;@&i`xtWlFS00c7~__j^<=nf=YOcU&tspy_t z+F?%>;E;#aR%O&y&$3Dn0{vup1}%Y1n3e|bcc1^TOM4MBA^tVoSfm>#kSUPlA7fhr z>He1n=_BY25p-XVNfj1wMNYRgNC1hUAmb-0{L){J_e&qpl8i5DjvWZ-p`B@Nkh9j3 zn)Z=^zQNk^t;=}+_`Mjsvke{`#vANO5B8-8FJBmj6`zBnY;%KG!iM==aa{oLXvBQr z+n)|$IU-zLoYWKR?TM9>W~&rekWN^!Y=Hx)qlDublbIbj{4Z=SViWf>Chl4E^G39* zw*Ey0Y}H;GWHk8nO19ED9VhSwt18Sx;2RWB;{M92x(e6Xa8~+p+A&w%)Po8PVI~?s zMm!#19LXA8Q=Q6#Zea{doA%}39$x0=D^58SJn4y}dcGXyFBP*U6ZZx?u0&ze{^LgA z(lz&P2QB>$EyE7201!wdgtDmsV{5-&zOI73^%apkyHnJV9vkWZHcJ4H*IOLMg+=ww z_Q=0YYu5(KMN%a9@Hg(^&Cg6!bIc1^;H*@GaO1*Yd_W<^4uszn;U9V*=Y7=pqUKCi zHm87izffm#R@mujua&}bPfM_$C76eMc$gJ+No3lupsTC~OS+I9E^%_}eePa`E7Z*)HUp?oWhpel zZoP@;3D%2mygQXjIW*03unfvx2K`dC3>z)(T$PKYUyT;ARk)VGmt;1G22Wj0Pmq-!*QR%aZ7y|PN6PJlmPN0F>k7(UseZF zpSQf<0L<>?u`r2@Zu7_>hyne(Rqi;#^GUukyU6ccHGtJM?9}{rz0i+yqs)olz>8AL zV{{c#_TO;S(E`nNmRe$7@5UOZI`paG|yKj`7vO40oKXi>xM=ccPEPPEo1;+TLBQMgTbqD>msT&jQzaSlo@ z-noz-U&QnTS`SYs6uQk6m!D4piQmF7?##+aF18T}Jh5K(ZTB}PL>Pe@(&1{l|D;rc zv*>U&p@j4!-qePtFn+f5+1gJjeGfbL9u^Og?>}D-Vnxnch_hIO@k8Ktr=1cKZ2X}O z7*AmJxh)n~*SF+?X?!>EjcdS33FvQ$8g4&Y`+37SO?rlq9G*C^QaTNk#NQn; zT=QCaYgszUY1Llgm<*DazGN~H!D7>7q4uA_ zfdsU%ZVa_-r-n1-3lyO-DCEzv6x(Ad2xB){5<(3gxE61{A=_u^PW9`MQ%P%HT%K?V zP3zAIzIE!+vHNkD@>!QKSekDX*RO7s~e-)J2kOb`hjp84nbuvEb;03>s$y2eMN zzLZIdCFTGdOCg0wHsIn@n?$@?=gPLwOfYQBW3}r52v715`odkT{-ujlEblaN!}VT5PykeW5vim) zlz`)K?KgByDlH-WL~t8O!`Mz>cZNr?-@WFtY8Mxn%cSlOr2!1ru)sm0POraEo!N1L z!v+A}9~jS{=5n(?a?&pSa-Peg^VXxXae(Yg?D{tV@(a_-%ehA4Nc@vX{57oB5lN6p z6iYwQJ+Qb^c{3P6+3=ztyTcXvBPd0-H4@)jdvb5>+S5A=imd`2O)d|eg5BM0)&anC znECzmUrcshWKloy4Jg|UsPp)23{V?zsYc@4hG(^X-WB{ceEE1=b7Iw_uRYQnO!0R4OV0IRr_}h+*63vcl#0ImMU_~u?O7H z)$HHg(3sK-Kxy&jtwrOAt2<7}bL`-gv4fIZ#xLBNL?PGj29f$uYcKD2Cs>8=S7y@2 z5&4VgRla5mf(Vkxu3eQ~BkHZLuBo= z`&l*Vmb+Lb8!PFe-b?n9Gd)ZHnW@djT6E76fq%6*p&c+8IEW62x3T>24Y2;!0t3^u z*d;%a=c=cZz)ZIyh6jt~#gGu@9ry~aOoRYtC-@w%appvvcM)Gu>25eyNmQx&Y>=~u zPTFh=YS;cC$mc;(=?dMK-JvM)Zs6w~i)Qa3+&AIwqGY@3Y z`eS8irG$ynRCoyY2bFX;NwQ%cn4`5@0l04oSj<;DXK|Jo8K!;+Gf+*Mc9mHGOymRA zoPI5WZCnUTTv{%S6$!v^Z|}<01=_e(zvlG>zqzk*F5BRGf{Re?K=_Vv?~}O?HC5f=0!q-0*cacyZ6UKQVb1m zzQ2W@!x-fYy!EdApR_{~!5{jGf(@yq{gbF5n5F$jtn!RcFXK*9^W%4N@-9hbli?8A zn#v)MyFwjS#BWayd&3nA!2Mn{;UgD8odUsXb`YW^XB@3} z)YSsG>^@D~>kb*m^$QYXw9yifZ!KiFVBw(Cl%T`#lP_ZV)=o9jHSC~8qAhnH z!+&jsfg|BQO;_{AZ6;h=plhcx*4}iDg75lO`QF*o_2>*3as6U|tT$loPH%AEfVaELNm#xQY%%CrDN{a0j( zy7+M^Dr@s06U;=!A01(pG-};@zEdFQ_ zYXZP+E;!^NwpB&8)#QPAw}-X2pA5pRKeIyCF7z+!_=)|Qg*(*Os5}cFB~Y}R=R=z3 zZxbs)B&L&FK0_62lNdl?>*aP?+wR}fNtliTH%a`nSln@T%Zs8>N++roffVkPQ>jcj9cmWi|(6^Zi0T3Az z`A;kV&_*9 zOH<#LzA!d{R*g9^Tl}L-=KJ6P`+@H}h)|pSy7=*R@j~$1wO^WthR|+DJm>v9=ar}x z+^E^%t%G8XI{+6awaUK$u9w5KA;Y0Vfy)-r{U6;O5z67igG{m$KlaFC_y}d$(A`QM zz<+d)w~3EFjKa|ojnNX1g}#4~v{JW#>U8||w^QCwX zz{XAY>X<4kfRz5$7_v=1IuUk^hy#9v13udJezwFfyI;`)BtGH{vl&tm`zcdJ5oh+Q zcRSq5Qs6h^3^PKZZ%uADBBSXqZ#Xvzyb+a0`N)gh`m6yIceY66z(82aYO^ZJwYEPf zjsDt?JC!*im^HE>ZM`0xx7gVI34ex=V`)^q+Bgr?lm>X;*O|&ijDLbg_sZ-ig2BuR z!iqe3;eNdElVOh`7aL7D(~4$4RO>>h!ONilA@^yKuNY9RFCvrK&miiwx8sb1u1bPZueL{*uO>%udB83WQ|q{K8HbP0%1mCjRs$Q!N2J&MAdvb#`yQS zi-o;rbl%-t;?>CZu3@D1q|ACBVUPXVwE&gH4wpL8yIaXzz4Nl#kGfBy#N9l+=KplQl%bM=}%pb8I(8sma2y_D> z=h1~nBG*QvvZ{<9~vVfvDvD(zJ+fxDVPvVf~_P6^Oa^KWop`U8KuYTF1C$MVR=e4_k*nd|Z zIM96}WiXjC_yo|)7bRq}Ib0UUfGL)}2Z$8GRctfgGe!=@?U#){4?f~&rBu&KXB=v` zoRzK{Z=B9hmFRczW6RkItAM7264~bN|C$mIIr$aJTAqzsPaC!5E+R#f&$JEKNIZV@ zjge34%VpQvy~&F7=6`9i_=?2Q=udDPOnj<%iGDhnk~PnYYnKoNrsCf})sKBs0nrYQ zhJTD(VC>V=m)4;*cg~Ilco+o}HubD~Zyvnf*@~HcS^^k&GZMarkq_Fh9du=Yrnhq# zqHJJ@P-w)=w%sN4a+{N@mF+0{8XgpY; zhUMHnduaC9PgZ?H4_X)a?C7v%TX09BUS7nbnnk>7Dy9&C=Y2x^7d(JaC(_T!&h5|c z*9IN5E-BSgn8+h=N6>@3I}<7TIBf7%CkLFyupj0O47}$fmixEj7(np$v;g~AfKTEc zyLqSkt5@=9i1(u|m(X-9?=a8*!xBt_v-*j%)OWkl%)yg!ZCb7qIooAH?IPX8|0S@B z;L!lGQTq*#7oB-38K;8&S1@~&uFsPl<;#vbubi8w;&UH_Vqf1`mB*CHqW^xWRq^;$ zY9XNe)}Em@&q8hd#R_#3MZJBtm|c9VfXIXQ1ta$14$urR(4zgEKkx8w>kZa%0_a$# znVsV7Vc%7G-_=~zGh4%a1>CEWMG8Engj8Yy@imvv8z*?|{I{DQ${iL-WcNq;098Xu zFyE8|S6?Bu9Bo(P#Ku3(eaUuDJjR>rO9b9QtiTYT<&# zIc&{#!M%;xqm7*XLDKY5q;3O^Jp)@f_R6`BK9xhV7rTVGB;dvba6o z(|XUnHtM`n?=LgkPBGd|MH@z=m%AHm&E1%nJG14jWdTD@;0FTI);oBf?-{OWDgU*Tk$_DF z>!8z$#y~8u07&%#VrWh~87XYC#$t)m`ry-BJpszQ{Nor0K+eFe$`bG>c(6R4gnN&3 zXF@Rps;tfE2mVgr!R6!Q0&96D$8q1%X9U_Xuq{idOG35RFj0IZ&~`b5xS0UZ8Rt*X znRD;9tAr0;juNfE%7~=bN7=A^0#HGlQ{SPMXJOL3OQG7*4YrwdGwsh4E7^ujp@gwR z2IG9d>0}U6UlbTwjpElEbUPJRD|%5Bd1btJ0EyTLVOx zBlY1*j3G(++oVkhf4QMavE-Y;E4m-E0e~OgCJEWCWR^mr%PadsZ`>g3OY@@Oy zwismn2K!A#wd94#{Ekr+8A9jr6Y!3o%p6_h13}^oAgT)>MKyEudf-PEpMH<;wOFU> zRR=*vQR<7ob>xgiuJRmdmWKcY7LI`d(xCy;f|5Suq=aItN1GNs0r=E5f6OL?CiEI? z>A|-v%&shp!v=KbyX;Vtpcw?^5lBYUHtkWwtJ-A#N2=sl*~rT&0YOrZQRn#|DlFLx zgkZDUG7j*(QYL%6fz>enURWG~;US=pA~i&j`pGcINKOPcoB|rUM+DxZpez9Qdyc*w z>SQq3?SwNQE`G4bEh&ZuRX!Q1O@SHea@x=6~O0b z?^u-e$!7Gl*Zy?tLvsDWg!QWl>ujQ#z0;RULUdTCR0V;a4z24lqv`pUBF)9;?%X)f zTYB6D`SOBx91G9^ooB$8wjitZs zM8JtehA?+Ly=F>x8Hc;r$^wxlh)NU0g-#KjatA1F^+qg_Q{N;oRCj(hXF+@p$@r!0 z3*|2yT~N8&!uft8bSTx;XaImoagXqt%2IuB=U7*UhT)&xU<>(4Ix=x8-ani22zL3A zG_??ck1DYVFvUw1;KDaogeuD=s_F^d-t!&_ijFjX$Am-nzn#RGnQerY8puQKOOy#M z7TBoK(xqr@v;J3S-q!2#mJuACS2~gKW6DLYhx5b`l>vX#TtP#rV-1jMW$(Emz+KSK! z$~QB<43u@&#m{e=I+yNmbx_xY9)Ldf@(GRjM@q zi-=KHOFKBCH1rTxl_=0PT<5z%q&_@L8y#EJ?dvYsbI-R1O*Ys?#D|3+^ z$d5g8zv<}xBDb{cvF1&3PRLU?(o)=jZR8G<78+{xL-)}y8j;n^zSu`ewWQb(pt14$ZVfBDp1ad`f|V&rV!>3bclUh++X^-O#G{Uw3Vy`5 z$v!l%+K@y1JVDNz=K(Xi6Eoud_aB(3pbFx7u-z z>4ewoTp>Yrn|7sn_L|lfFVV7WNk6wx6wv*S|2ust`$Tm>sp<})mZ7Y{bZ9JlXlz+1 zQDCJzL{*#x`sp&Q81AoivlC%=JYO}*){bv*YHn3uJnagf?W)ORQQGXQ`*uOLcITBc zc(|@??N7AErI{}WAl$7V8gPFOG1&Bg2ip|m?dumKBYTlt)s3q2MHg)>>`@oK$w8h{ey!RIyfaA_^^yN~> z%Oz}J#DkzHD90EJ&FZ%ad~?m1rmXF6T)l$pPU6am+1s4lT~^yvXuY^;IBi>!KhS0N z4z!HE&d0d$N6Y;}^^c7y;EfyvGkf?Z(=vhPy)J9} zBWd?NS$zhG`%H0I!fRl$l)jGolw5dRVY8@hx#*NR4)Pn%q{Hi zS=}zCpy5dj_a%m(IOqh1-SU^~ft*GN1Mh*F-@4=ERAR-bO~1)~4OUihg4@3@;IK$m zea7m6!ZN*2S#Rhat*+nBdj#9~o>lp+azXlay3Tl%L*t8aVc`XP*~VuwP8rXcKg=GX zcMQi8-gPF*n+q@v9r{J^fv&9|T-(+A5pbaD8U~al0pW;HsH| z|Kk&rM@XKAm~+tTT;#fTnEe6o4U6Mv5ud|GT{oCo!QGd8r)ha?Tm{?wnG}>W<8wC1 zZ(UdC)Oq|NyK)`45ySeq5vU=ZP`gj0 zEhcj@Hg=Qh8|1vx0qYMQ)ZR|uq$iV4iK=?WH+`%gDI8TaJ=!(mk;FH6IYpw+#4W$F zBs_iO`0@BZ7n+zo*7}NKCEw!8NKr1uY6^0>$NrgW>+Rq|q2AEPshoGp0*O0V7dmZ} z5q{QpC28rkE8a8a-jPO$wT_dM68cfZ(8XioXj-LHuQOwbGFZlhR zGja%o)oF3thIEab&ETQawjQ>k)9(K&)Z5na-L>lSgR~m$&dlgL-`iyyKi`s2Pl#7k z<)?a~Dd;zuM%QuZ)W3mQafvUH&Y)$IpxY`upJrCm)R&^N$&u zde!zV%$T`S4`s=RTRSP<;7Vmh($qaYy>sy7X1^Ug`IJ8et5yV)boxwomVJgzt`EDK z9B(d*JmI3H%Ad3botWfmr6oUfu0zGN;RE|yngoqkkG~&VUeiugx&pikGnaGn^_bkX z^w>MFc0KSGN1--WMW2S^GoyV*MyU8y{LUpmBRd7G<{s*#HmZZ&C!E{v-QC%xhGo|b za0o6d5N`6jN=%kr3 z3A-#D(v;S=Z+(WYbigDlePPCxr@US3mE=gnxhFs9(e|nLF#1~_aeAH0DW=vFa+X=n z_30D+gg3R%!pX~A(`#JQdBrpDcXwvHON4f_NC(xpcE&&Y^PelJjLuh6-)lOl-PFNO z8p++}+TT7!&1vGMM!~HA$B1iNK^=Lf|OZ%hLN_J}AkWQTY=0{qjxNIrHnrxqPC5R~FY31q&W8 z^6NbPL+NQ83NA5cCW?+}k5t59a2gJ7$BRS4Cxpv+K9t1OgzGDqxjjAjf%!t~o&u^o zswH9?IWAtqSm&r|F%US*RwtaH+nq_BYgTxs;z4s}s7Q z;1O71Nf}-r-B_P+&i_-=k0}F)=0{Gk3F}B4SpLRXa`28px?=H-=gAY@;xl>9M%pjT z9~5UHhjfr}{JoVQ{Q3-~{Qt7LDotK)(!QbN1z#B#(w^K9U#5P9|8leIy%d+vt*if9 zp0@Y^xy{6(#cx;EQ_zBzGx4Q?S2m1t!4JBFeY;KGMk)F986E#a{mzfsYhM}Qu&KG( zfA3U6LFp=gosg13dP3UrCvLaVl7=e_51<<6qC%g;^+i9u{^-YK@^+uGrD-cl<*EMQeB}ZXrt5WZeemwN?hUu=Aw1fD9gzPW^{Qd_AUkywmn(r)`NP=Vn^WrM3j7FH)ktmCNflP3zMAgpch=LjA*kNP<2`*F%o3@ZRKp z&HKj$wUOnQdo%pi^&BTGKmXM{8uCVbIM`@+(=^m#VKHT%++tzC@&XF+C>MNkIq!3> zwv9>888_|9KP2H}?frI&9}U9Y4PPd2-{@*yjGpFp+-kF=B)wsAIc7=hF9)F>T9ELT zgnazlXT^XpR~_?n$nTWd_fh2*Pyd&={irzJT@h$@td28TD7@vEs+vIWH1O?1@@czm zEpHkSI=}Sn*aNeK8~=GEW$A(Aq9eyeBVrV+FJ<7`uaCAx&W>L1WBmMliR~{-17eQX zG|$vuseS*dnumF&-Xn86_eHlJLJD&eY;xnTf&kcI^|Cdqnl&q4afQCfPMb5BXVJ4u z_@|7Yp-Wsnt_kccx6|mN0R-TJ{H*EO(ap&Qzx4&OOLEK$+;BtB$)=HL#Ng zF}9uKo$(?8OoZYKNx-Oxc#SK*upB1mRellkaL4^Eswnz}6j)wWHq_@3eaHc9PQ_Y9 zu;67iPyI5R!2B!1tV2mo3dU;;_w|fJk*VB-K*uYVWJ$yj8Te2}89X2+IwB?-!34He zsV;cQiE3D06VbZx?Ij9g!pZF*PZKj#+$Xr+tc=iNk@1Do{%D6k|OWreke5U zi9GfAOjAYl>@}4Uf-PgXe}Y!LmEry=+Nk!zS9?K3R5J~2Wb5&$*1%DtHvu0gvsFSP z+c(IIN^(MLLOQ)33FarW+b0X=r?Ov8b7cP+`wiY#2I-lFu6ZBf@$fQ5zG@P@sYBDG zLp|#q-tWZTMnnF-Vc==_I~9KBwQ+S6N+L^QA`w>J$; zbB&I%x{9d(x4$@cu2~-h{{^mv^;G_<1VN{9SZ;A`CWMNYU-;dI|I0-|1#!@60KP*JZ@R6*6Gar0bg9d8>|R~;{Z zl>xBbCT*uDoUxUo#&pg@YTH+`s1k|jQA8?ob zyl8G^ZXdm5!f~0u8CBsROTywx0ha4bt!E#;HdkGLl0c7@$ynDqS`7+YAy>1dGw`)#r z1}vAfqQ6%xHd(k4LwI_;zSY=v?JT^;i|-O;tdKlQar(A2xpK6>2NSfqmHx;4;qG~F z}l?6M(k#(z>$fB zYo~ODq|G*UTC}hT-F@|Kgdez`cmeH?@ba&62z0mN&d>(g2fmf=%>?B((#O(;vsxnR zmVlgTqTWY41vBvX@Tp2={a!}9wHjfqG$djRhs77XN9#ZJHhLSAX)PZ?TeRFSO!Rh< zzF#U!{k#LnfC8vpmfoAL8OrLF>}+)k@*tyLT7F8N=Ka03_jAFAopIhSvBg55oPO1Y zuN_DFOUeF6x^|h!tAx#~B$M1}Rc=tSYfzB zpJj++XPs+2Hs5%xP9g&SFxTLdR?A&C{FnaTRBpl9mk#L$e+dzf944Q8NGwI`@ksXP1VI<*ajlWQ9Pi5YB#8ED9K#lyI1@$iX$!=pW@`^5^_O_%bu_mI=(_R zkQeYrkXgUjZQ&<8#qUE=pN_>odu95j{X9!CUyrhIh(jtNvn3Y}iHIpT77i)d@f6!B z@ev;3ClSSG`G9p@SDjZ0ebc_-oLy2H{N>f=*zrKX`ZCy`9d|YsuTHvlLmc=++dgJz zB%*e55yc0`;fI&d`EC?0SNf!whTE`c>|k9{Q?O4Ff`v7x2v3Rk8Q#o9Y`htP;VZFd zqvc>YuBf-jN0rZ5ni*}4L{@H&CS`cI^mz2(k%Mi>3z&_~2n~hwP3*dVO(im^sg1I_ zI>}}Wzc7qlS?OI+osJm6S58wRB&AuvP-kmV_AN8m`o<)(4Q&QnnM7x7Oxg?yO=$4J zw=k>tgeI$@L5nxN)gYG51(z)<)pM(ZNVAtoPiA6$+-2}!Cj^RBbqNDug>B#}XJH@| zGY;%y=k~*6c9{|*jmBU=lAFuD7l5}-_*DCBP-2#SDu)Lb+h&mwNq8h2-`ka5@_1v+ z0uJ6Bg>ISQuuapI=-@WYG;$CQNdgbVA&|u+Ob`$X(}uQPpGOZ5V<@X_5EX4I8(8O+ zrD@BJ=`A(ogNIHK5fPCQ-Efq-3$=RX&v%fBD4v{%h?0nj$k~$5$i~Xb*!r;pud|gU z+k1Kbw_=IS`&*>;28|rWI8ZL(BD|j)%>8Ptr(Em&;jt zM$hY|H8j^sb%z(AbaSiEJI9Wky~H4P;6p=+pI8|8s~cZbGER1+X*`kk z?qFd)QR8a!t}-;mkor8M3=N~*sWnR(L0;O5-x;Z?cB#$J9Ij!zXsnI)K4|MrTXgd zfb+tDT<)#SxF-O65I48xX_rc&hItgnkRfoN#&po87?PpJh4dsbm-B12jd0T9DZY2o zIh*Qar)+T6W$@wURdxknOE)B@#3nyt6l}%dGpy2Z- zLVSnWLSjwtTQhGhSy#cneR;||(IX+nc8tic=Mo8Mit0##_vh>dlxli9UsE(YYPHgV@+xI6N{oe(b;pwl}tP;M@M;GC>V_2|xcY zUHtM=f}(<-N;bpLDp*vFNG4Lq>=89xW=w-Z6>B#~SvQv$jaHfaGhf+j*YhL<@j^Y* ztDozG3yq{!n|03V*9+=De9fb)aqLI6xsZ?hmp(O4qZ`i>9iM!lr9C7hP2(kQ4RM)dV(0xjRuwvwsY8ywW$N2la=M}_q@Qj|La_4-_%<7@>4wrd+Vn=r8Yz}F^~ao z<#|lp!zM-YSyuPOg`hL7xv#XQe~--?@GxlgSGGo@nHhRev^y z^4{#FsjGM4H=c$R9;Z7a>kOV#JI_#SBv5ar?&(&ma}THGxk~|3EpCdQ4zCnTmdNO)Qr-wp zX^v>dTAMu!xb2X^Om^|Y9KYTXeK)036ITyExGg`b5!oWd?rxXxv0g@$%*j54y0G@4 zSS;ApNZ6f4J@(b*$BtLbNoB`grZ^6l9D33DI_v*hyB2sR_dfoNaUz#abQNZWbYe5k zjLanxp$H`+v*(#yW^2!uNN(xko+6Y;ok;F)k|=bu6p169IOr{$5|K+c;(a#dvbS@3 zdu#UCKA-3R`~L3#=lA{ z82xfv!H2t{$EwvW)VA7`)ZG)2u)8ptuSbebk>EUDk!{C+{FnctdyDsNBVQ;j z_qtt=*#tH03bwV}tYVsU-sz3ZvO9jOF3R0Vc5KhC+aA--Y`Wed8^{n%U(@r%I}Nm1 z-G*Xug*)w~H%VT70le>7rVXDg4QM=d;qD=CGo8SiJ5EF;`InY|?4utkd}-R|cQ)Ta zgz+%P&0kKdAv1u`thwXgrR=3i6~2*q?`q!HG)Q=NtT!)N(f6vN=xQlPr9gOG4xzVBO`j;Gif|!e7Jw);Dm+rJ4Ly_f_)}eH+Su*99eVidT@*I zm}>RwbjLCE@$R58xNNLEKP^6xfnD zMe(jVA^=b>2LSUYGmgCzqC+_T|F2a8ecP<#T1}B#HOo7kxfZFkt=2i#M9+-2-IwGd z15!ycdruT`Po(q`b($37kIWO(Ae_rP! z72z>w8t2_Q8Dd&;mK?(VJN@{U>$Kfk9rTPAWR?91?bxoa{Tg!s_R<+xs#KeS{ zD|B{o#Slg~LG zv>Mz|?)8_wmBT#m@cqN^+GN}4tdRtpcV|-@muTzc`z)H@GgmC9DyXvKCb&f0`dr<&hv`5%n{v6bgEMhlU;ycYQ6P|1sFB2D_P7#C*~dTNvpqxEZ+HEvB-XN zhc1`HicC$wXepGtGrUP(MWz>(f9PiXX;NZ{j##rVv^Q;go8>K~7h+3uVn>3aGmOM* zUq|)F?$9^k;?fkz0YSshxo5d?aS9*Z&RmUHz9TDeq%JFX-^kA&h8{mENDFi|#&D32 z<4nAJlx~<~v`YT{U{qG6Vep5+dz;4Jy@?R3R30$rN_(2GC^M02P>_}xmB8LHPmKo` zyE$R6ql~QYRETf5vj(n>uF_B&9Y_l)aWidCCa-)^u6Q`*j7n!7X0?(Z$-_mXme{u8 zwkNR;Te-F(`9&2uS~~jaUQ63o_3n3kyug;Z<`xfKL_@g-5r@~-kPVb?nfj$S9u4+8 zuUgtEbKsR-)9t3-WF>hut%uf2*M@YP$t(3JOZWY0;&MM)sHDbtiTHxBlz26YGNZjp z>ww9{W)i43OxzM`+wk$qz=qf)@vv7i)waP_ziH2JTQGF=?qz)ON?5eF(BJW(__{2! z=k(euQf=M8yN2BSBUdLzNPa9Wb#1kK@x8=t(ysX_pd{+LEvK{J_RM|9UPT*2ys9P3 zLuF%GK(^r_?EsgHG}*F|br)T|nwRbRv~}exEXJcM0vnQW9|pZw z1@`%F*LHJG&#^m5={iEri0;eLU49vADN}w_tXVvBt5-A_t)A)})o)^QC0AC=U($Y`8wguCJ3$0JvU<;uej@G+JnRB;*HXM|rJS z-MrvY>0rszR1uc7f2^}o{l07Z&O>TVqBm+z3THXgHzg?0z|=j4&zSR1!Ep%^1Ib_p ztG0v`!`b)9ppA3lYD{(OU1!xTWmU99qqq8D4$hLtuQ{Dsy{h1W(#q~;m%09=SB^4^ zuRb9}hh|tg&8G!573n8#gT3gu*6s19H|Di;A3fq|eklej#8@)AaL}0>;bpB>f1HYw z%p5PyREQ}VD(Io$)+bx3+_GD+<~E_6>k)bQqg&u%Gar>V_?_+B!Nahx5_l1FuUo zH`Y_|igTim>i0QrKObUZ7%AK%iMEo>#@k33(|=QsQZ6WzfoejVZ!EN0C|NJvq%abH z`oV}jX3k@Wlyg~3c%vS;MPW%+?z2wudwX85!TuC3c?|2TtWjul+E{c2)nxymq6vtbAOUbnuw?hKkeicKdDQpVT7_uOBCX2y@SZq(^gswIo z{8bC0(FpE3+9V>0LIr(q4mOumSeGzN=KL7HivXrE1sAQAu8tXKnmkjfWGkII55YzV|4 z0_m~+nGhNK`OH==6H|LLtN{T}&{D?}kf%KXucuAWBj7c3b#=6en%YkKh$&{_Oas#q z>(V@b0P<%b1ATsUOgqScSIticnQTIRL^@Ji@D3Ry$ec|WzHG!rJM0m)V3)5I7yo;h z@bM-+{>>htPRgXtGc}C3!4#rVI6iF5x;==flhKJd6pQ&JJC79^OJOp7JgF2m61=$G zzMz2H)fqGzl0+bb%Hc(%2FyfU3i2B}q^sk;1ls>8Cj3b&Y(% z;GLdK_@7uHUDUU65Ks%DH=S(Gu$V6^F}W3d8UF{GWo%oT&al{-0sLW(R>T?z<%5 zV@)x{@wZ!KuSW@~1Jgt0RJD3pX{4O!MGooz8XO~8!gHZJgW=6fkV)d{ONBcXZI&to z0K8-FEMi9lZgMilpN9!@HO1V`@J5zoB2%Mzvj}z303f(A2vSR(Khw2*KLGS=3iCCY z26%;Bv%Zwsf(XZp)Xw%GWE&CwOQ*?^cRM2Z2$QnU)cuQkl*XDouS1l7y$Ap#XW^WR zoRnlLwFN~;>^7jTwm|{bIuZavJ>yXn!zZ1}oln!nX$MSuueW7rC|nN(D27S^i)TOp zfJQrtX9+@0r%*2sa;^PS9+9dsSaL+EbXVQzR3jg@hTaf+iGHfP$Z#CgB6=gP-BBH!y QQpjHm64zUK_lki30P4k diff --git a/python/fitsdkversion.txt b/python/fitsdkversion.txt index 7c95347..2a00d71 100644 --- a/python/fitsdkversion.txt +++ b/python/fitsdkversion.txt @@ -1 +1 @@ -21.105 \ No newline at end of file +21.115 \ No newline at end of file