From 3575ca68f59ca4fae76c176b820dc312e5719615 Mon Sep 17 00:00:00 2001 From: Ayzen Date: Thu, 8 Oct 2026 16:24:01 +0300 Subject: [PATCH] Update GPR and SAR3D processing --- Makefile | 20 +- README.md | 59 +- .../common_cpp/config/include/run_config.hpp | 1 - .../common_cpp/config/src/run_config.cpp | 5 - .../data_processor/include/data_processor.hpp | 7 +- .../include/processing_live_config.hpp | 43 +- .../data_processor/src/data_processor.cpp | 61 +- .../src/processing_live_config.cpp | 85 +- .../include/locator/payload_builder.hpp | 45 +- .../locator/include/locator/tcp_server.hpp | 2 +- .../locator/src/payload_builder.cpp | 94 +- .../processing/locator/src/tcp_server.cpp | 4 +- .../processors/include/gpr_processor.hpp | 11 - .../processors/include/sar3d_processor.hpp | 2 +- .../processors/src/backprojection.hpp | 231 ++++ .../src/gpr_backprojection_processor.ipp | 465 ++----- .../processors/src/gpr_legacy_processor.ipp | 1066 ----------------- .../processors/src/gpr_processor.cpp | 15 +- .../processing/processors/src/sar3d_gpu.cpp | 36 + .../processing/processors/src/sar3d_gpu.hpp | 3 +- .../processors/src/sar3d_processor.cpp | 208 ++-- .../tests/backprojection_fixture.cpp | 113 ++ ...y => generate_backprojection_reference.py} | 153 ++- .../tests/gpr_reference.npz | Bin 0 -> 891607 bytes .../tests/native_regressions.cpp | 6 +- .../tests/sar3d_fixture.cpp | 89 -- .../tests/sar3d_reference.npz | Bin 83806 -> 90046 bytes .../{test_sar3d.py => test_backprojection.py} | 51 +- device_firmware/librevna_protocol.md | 20 + .../gui/controllers/config_controller.py | 29 +- .../controllers/live_settings_controller.py | 9 +- python_app/gui/controllers/plot_controller.py | 15 +- .../gui/controllers/renderers/common.py | 15 + python_app/gui/controllers/renderers/gpr.py | 117 +- python_app/gui/controllers/renderers/sar3d.py | 70 +- .../sections/processing_section.py | 124 +- python_app/gui/controllers/sections/views.py | 10 +- python_app/gui/result_payloads.py | 47 +- python_app/gui/runtime/constraints.py | 2 +- python_app/gui/settings_defaults.py | 8 +- python_app/models/gui_profile_codec.py | 25 +- python_app/models/gui_profile_schema.py | 54 +- python_app/models/run_config_codec.py | 3 - python_app/models/run_config_schema.py | 1 - python_app/models/run_config_validation.py | 6 +- .../orchestration/live_processing_config.py | 29 +- python_app/tests/test_gui_action_lifecycle.py | 6 +- python_app/tests/test_gui_profile_codec.py | 16 +- .../tests/test_live_settings_regressions.py | 4 +- python_app/tests/test_live_settings_schema.py | 2 +- python_app/tests/test_processing.py | 55 +- python_app/tests/test_processor_history.py | 21 + .../tests/test_review_gui_regressions.py | 5 +- python_app/tests/test_run_config_codec.py | 6 +- python_app/tests/test_sar3d_plot.py | 103 +- .../tests/test_socket_speed_controls.py | 4 +- python_app/webui/static/app.js | 2 +- run_config.json | 1 - .../run_config_librevna.example.json | 1 - .../run_config_librevna_multi.example.json | 1 - .../run_config_librevna_multi.example2.json | 1 - ...nfig_librevna_multi_per_point.example.json | 26 - ...revna_multi_per_point_lowband.example.json | 1 - .../run_config_rph_radar.example.json | 1 - .../run_config_rph_radar_rfg.example.json | 1 - .../run_config_simulator.example.json | 26 - run_configs/run_config.json | 26 - 67 files changed, 1187 insertions(+), 2581 deletions(-) create mode 100644 data_acq_and_processing/processing/processors/src/backprojection.hpp delete mode 100644 data_acq_and_processing/processing/processors/src/gpr_legacy_processor.ipp create mode 100644 data_acq_and_processing/tests/backprojection_fixture.cpp rename data_acq_and_processing/tests/{generate_sar3d_reference.py => generate_backprojection_reference.py} (52%) create mode 100644 data_acq_and_processing/tests/gpr_reference.npz delete mode 100644 data_acq_and_processing/tests/sar3d_fixture.cpp rename data_acq_and_processing/tests/{test_sar3d.py => test_backprojection.py} (67%) diff --git a/Makefile b/Makefile index b25b138..0578cf9 100644 --- a/Makefile +++ b/Makefile @@ -109,7 +109,7 @@ TARGETS := \ $(BIN_DIR)/data_preprocessor \ $(BIN_DIR)/data_processor -.PHONY: all clean rph_radar_collector check-native check-sar3d +.PHONY: all clean rph_radar_collector check-native check-sar3d check-gpr all: $(TARGETS) @@ -119,19 +119,23 @@ check-native: $(NATIVE_BUILD_DIR)/native_regressions $(BIN_DIR)/collector_regres LD_LIBRARY_PATH=$(abspath $(NATIVE_BUILD_DIR)/rph_sdk) $(BIN_DIR)/collector_regressions $(NATIVE_BUILD_DIR)/native_regressions run_config_examples/run_config_simulator.example.json -SAR3D_TEST_SOURCES := data_acq_and_processing/tests/sar3d_fixture.cpp \ +BACKPROJECTION_TEST_SOURCES := data_acq_and_processing/tests/backprojection_fixture.cpp \ data_acq_and_processing/common_cpp/ipc/src/shared_types.cpp \ data_acq_and_processing/processing/processors/src/sar3d_processor.cpp \ - data_acq_and_processing/processing/processors/src/sar3d_gpu.cpp -SAR3D_TEST_OBJS := $(addprefix $(NATIVE_BUILD_DIR)/,$(SAR3D_TEST_SOURCES:.cpp=.o)) -DEPFILES += $(SAR3D_TEST_OBJS:.o=.d) + data_acq_and_processing/processing/processors/src/sar3d_gpu.cpp \ + data_acq_and_processing/processing/processors/src/gpr_processor.cpp +BACKPROJECTION_TEST_OBJS := $(addprefix $(NATIVE_BUILD_DIR)/,$(BACKPROJECTION_TEST_SOURCES:.cpp=.o)) +DEPFILES += $(BACKPROJECTION_TEST_OBJS:.o=.d) # The sar3d processor on the real CUDA backend against the notebook reference; # without a usable GPU the test checks the warning and skips the rest. -check-sar3d: $(NATIVE_BUILD_DIR)/sar3d_fixture - SAR3D_FIXTURE="$(abspath $<)" $(PYTHON) data_acq_and_processing/tests/test_sar3d.py +check-sar3d: $(NATIVE_BUILD_DIR)/backprojection_fixture + BACKPROJECTION_FIXTURE="$(abspath $<)" $(PYTHON) data_acq_and_processing/tests/test_backprojection.py Sar3dTest -$(NATIVE_BUILD_DIR)/sar3d_fixture: $(SAR3D_TEST_OBJS) +check-gpr: $(NATIVE_BUILD_DIR)/backprojection_fixture + BACKPROJECTION_FIXTURE="$(abspath $<)" $(PYTHON) data_acq_and_processing/tests/test_backprojection.py GprTest + +$(NATIVE_BUILD_DIR)/backprojection_fixture: $(BACKPROJECTION_TEST_OBJS) $(CXX) $(NATIVE_CXXFLAGS) $^ -o $@ $(LDFLAGS) $(SAR3D_LDFLAGS) $(NATIVE_BUILD_DIR)/data_acq_and_processing/processing/processors/src/sar3d_gpu.o: NATIVE_CXXFLAGS += $(SAR3D_CXXFLAGS) diff --git a/README.md b/README.md index 3c2d6f3..ef46c90 100644 --- a/README.md +++ b/README.md @@ -66,9 +66,10 @@ controls, processing settings and a copy of the live plot through an embedded we - **pass_through** — magnitude and phase of S21 for each combo. - **bscan** — depth-versus-sweep B-scan heatmap. -- **gpr** — coherent back-projection GPR imaging with object detection. -- **legacy_gpr** — ellipse-intersection MIMO localization (point and extended/region modes). -- **sar3d** — 3D SAR of the reference notebook `Multi_antenna_3D_clean_v1.ipynb` +- **gpr** — coherent back-projection on the ground plane, as in `Horns_motion_4x4_ground.py`, + with object detection. Radar height and look angle define the slice in radar X/Z axes; + the wave speed is 3×10⁸ m/s (air). +- **sar3d** — 3D SAR of the reference notebook `Multi_antenna_demonstrate_depthnorm.ipynb` on an NVIDIA GPU through CUDA: front (X-Y), side (Z-Y), top (X-Z) and oblique maximum projections of the imaged volume. Its settings carry the notebook's parameter names; the scene window is @@ -77,6 +78,28 @@ controls, processing settings and a copy of the live plot through an embedded we (default 2 cm). The radar motion is corrected from each trace's capture timestamps, so the sweep timing needs no parameters. +Both coherent GPR and SAR apply `PAIR_DEPTH_EQUALIZE` (on by default) before the +per-pair median normalization. The notebook's 1.5 m sliding median estimates each +pair's depth-dependent level; positive gains bring the pairs to their geometric +mean while preserving phase and the common depth envelope. **Subtract mean of previous +collections** subtracts up to **Mean count** preceding spectra for each pair before +motion correction and the IFFT; zero count disables it. SAR uses a causal aperture: +`SAR_FRAME_RADIUS` previous frames plus the current frame, with the current scene origin. +The processor retains enough history for the aperture and each frame's preceding +mean; transport ring capacity does not shorten this background window. +Scene width `SAR_X_SIZE_M` and length `SAR_Z_SIZE_M` use 0 for the automatic notebook +bounds; positive values resize the axes about their automatic centres. `SAR_Y_RANGE_M` +sets the height limits. The depth gate remains independent of these scene bounds. + +SAR **Zoom (%)** shows the full scene at 100%; increasing it shrinks all four +views uniformly towards the brightest response. **SAR_CLOUD_THRESHOLD** hides +values below the selected fraction of the normalization maximum. Both controls +redraw the existing result without recalculating it. Tx/Rx markers appear on the +front, side and top projections in ground coordinates. A hollow square marks the +peak; its size follows the contiguous half-maximum width along the volume axes +(FWHM, at least one voxel). This measures the imaged response rather than the +reflector's physical dimensions. + The desktop uses a light theme with dark plot canvases. **Mode** stays below the **Actions** buttons while the settings sections scroll; the settings panel and runtime log can be collapsed with their arrow buttons. SAR3D status, peak @@ -88,8 +111,8 @@ first, then input, and wraps to the first recorded pair; it is enabled with at l two pairs. Desktop and browser selectors redraw the cached B-scan immediately. Tx/Rx antenna positions are edited in tables with switch position and X/Y/Z in -metres, on both the desktop and web interface. Coordinate and legacy-GPR medium -changes apply to the running processor and recompute its retained result. Profiles +metres, on both the desktop and web interface. Coordinate changes apply to the +running processor and recompute its retained result. Profiles preserve all three coordinates. A new table row becomes active after X is entered; desktop, web and profile geometry use one Python validator; C++ validates its own input. GPR/SAR views wait for a result marked with the current settings revision, @@ -431,6 +454,7 @@ backup to `radar_system`. Restart the service if it is normally used. QT_QPA_PLATFORM=offscreen .venv/bin/python -m unittest discover -s python_app/tests make check-native make check-sar3d PYTHON=.venv/bin/python +make check-gpr ASAN_OPTIONS=detect_leaks=0 make check-native NATIVE_SANITIZERS=address,undefined ``` @@ -441,24 +465,33 @@ also exercise mutated frames, ring concurrency, locator input and ADC whole-swee Firmware host tests check cart timer rollover and SBUS packing; they do not validate physical timing. Real devices, GPIO and the CUDA backend need their own hardware run. -`check-sar3d` runs the real CUDA processor (`data_acq_and_processing/tests/test_sar3d.py`). +`check-sar3d` runs the real CUDA processor (`data_acq_and_processing/tests/test_backprojection.py`). It compares it with `sar3d_reference.npz`: compact float32/complex64 inputs, the three -maximum projections of the notebook's volume, and its joint peak/level for four -compensation/normalization and timing cases. The expected values come from unchanged -functions in cells 0 and 4 of the original notebook. The same test checks the published +maximum projections of the notebook's volume, its joint peak/level and response +widths for six compensation/normalization, equalization, background, scene and +timing cases. The expected values come from unchanged functions in cells 1 and 14 +of the original notebook, with each frame's previous-collection mean subtracted +from its input spectra by NumPy. The same test checks the published status for invalid input, a result too large for the ring slot, an empty and a very weak signal. Without a usable GPU it checks only the CUDA warning and skips the rest; the notebook itself is not needed to run it. To regenerate the reference, pass the original notebook (it is kept outside the repository): ```bash -.venv/bin/python data_acq_and_processing/tests/generate_sar3d_reference.py \ - --notebook /path/to/Multi_antenna_3D_clean_v1.ipynb +.venv/bin/python data_acq_and_processing/tests/generate_backprojection_reference.py \ + --notebook /path/to/Multi_antenna_demonstrate_depthnorm.ipynb \ + --gpr-script /path/to/Horns_motion_4x4_ground.py ``` -The archive records cell-source SHA256 hashes and NumPy/SciPy versions. Another build +The generator also writes `gpr_reference.npz` from the unchanged Horns coherent BP +functions, with the notebook equalizer inserted before scalar normalization. +`make check-gpr` compares the CPU processor with those images, including motion and +previous-collection subtraction. Neither source file is needed to run the tests. + +The archives record source SHA256 hashes and NumPy/SciPy versions. Another build can be checked with `make check-sar3d BUILD_DIR=/path/to/build` or by running -`test_sar3d.py` with `SAR3D_FIXTURE=/path/to/build/native_tests/sar3d_fixture`. +`test_backprojection.py Sar3dTest` with +`BACKPROJECTION_FIXTURE=/path/to/build/native_tests/backprojection_fixture`. For older GPUs, pass the same `BUILD_DIR` and NVRTC 12 `CUDA_ROOTS` used to build. For development, install `pyright` into the venv, then run diff --git a/data_acq_and_processing/common_cpp/config/include/run_config.hpp b/data_acq_and_processing/common_cpp/config/include/run_config.hpp index 0d79507..9bd5e4b 100644 --- a/data_acq_and_processing/common_cpp/config/include/run_config.hpp +++ b/data_acq_and_processing/common_cpp/config/include/run_config.hpp @@ -92,7 +92,6 @@ struct GprRxGeometry { struct GprConfig { // Initial GPR settings; the data_processor can override them through live config. - float relative_permittivity = 1.0F; std::vector tx_geometry{}; std::vector rx_geometry{}; }; diff --git a/data_acq_and_processing/common_cpp/config/src/run_config.cpp b/data_acq_and_processing/common_cpp/config/src/run_config.cpp index 674295d..fb44aa0 100644 --- a/data_acq_and_processing/common_cpp/config/src/run_config.cpp +++ b/data_acq_and_processing/common_cpp/config/src/run_config.cpp @@ -277,7 +277,6 @@ void validate_combo_key(const ipc::ComboKey& key, const RunConfig& config) { [[nodiscard]] auto parse_gpr_config(const Json& object, const RunConfig& run_config) -> GprConfig { const auto* gpr_obj = as_object(object, "gpr"); GprConfig config{}; - config.relative_permittivity = optional_f32(*gpr_obj, "relative_permittivity", 1.0F); if (const auto* tx_value = optional_field(*gpr_obj, "tx_geometry"); tx_value != nullptr) { const auto* tx_array = as_array(*tx_value, "gpr.tx_geometry"); @@ -375,10 +374,6 @@ void validate_combo_key(const ipc::ComboKey& key, const RunConfig& config) { } // namespace void validate_gpr_config(const GprConfig& config, const RunConfig& run_config) { - if (!std::isfinite(config.relative_permittivity) || !(config.relative_permittivity > 0.0F)) { - throw std::runtime_error("gpr.relative_permittivity must be > 0"); - } - std::unordered_set seen_tx_positions{}; for (const auto& entry : config.tx_geometry) { if (!std::isfinite(entry.x_m) || !std::isfinite(entry.y_m) || !std::isfinite(entry.z_m)) { diff --git a/data_acq_and_processing/processing/data_processor/include/data_processor.hpp b/data_acq_and_processing/processing/data_processor/include/data_processor.hpp index e209e57..381dcff 100644 --- a/data_acq_and_processing/processing/data_processor/include/data_processor.hpp +++ b/data_acq_and_processing/processing/data_processor/include/data_processor.hpp @@ -46,12 +46,7 @@ class DataProcessor { // value exists, so the speed from the live config stays in force. [[nodiscard]] auto socket_speed(const ProcessingLiveConfig& live_config) const -> std::optional; - // Convert one processed collection into a locator filter spec, derived - // from the live config and current processor mode. - [[nodiscard]] auto build_locator_filter(const ProcessingLiveConfig& live_config) const - -> radar::locator::FilterParams; - - void publish_locator(const ipc::ResultCollection& collection, const ProcessingLiveConfig& live_config); + void publish_locator(const ipc::ResultCollection& collection); const config::RunConfig& config_; config::RunConfig processing_config_; diff --git a/data_acq_and_processing/processing/data_processor/include/processing_live_config.hpp b/data_acq_and_processing/processing/data_processor/include/processing_live_config.hpp index 446baaa..e3d2def 100644 --- a/data_acq_and_processing/processing/data_processor/include/processing_live_config.hpp +++ b/data_acq_and_processing/processing/data_processor/include/processing_live_config.hpp @@ -10,19 +10,6 @@ namespace radar::processing { -enum class LegacyGprMode { - Point, - Extended, -}; - -enum class LegacyGprReferenceMode { - // t_ref = midpoint between the first and last event centers. - FrameCenter, - // t_ref = center of the first event. Useful when motion offsets should be - // accumulated from frame start, e.g. for tagging frames by their head time. - FirstTxEvent, -}; - struct HistoryTarget { std::uint64_t collection_id = 0; std::uint64_t capture_start_ns = 0; @@ -36,15 +23,13 @@ struct ProcessingLiveConfig { float bscan_gain = 1.0F; float bscan_start_freq_mhz = 100.0F; float bscan_stop_freq_mhz = 8800.0F; - LegacyGprMode legacy_gpr_mode = LegacyGprMode::Point; - // Absent in legacy live files: use the initial run_config geometry and medium. + // Absent geometry overrides use the initial run_config geometry. std::optional gpr{}; std::vector gpr_input_positions{}; std::vector gpr_output_positions{}; float gpr_min_depth_m = 2.0F; float gpr_max_depth_m = 14.0F; float gpr_range_comp_power = 0.1F; - float gpr_comp_power = 0.2F; // BP object-detection stop level, as a fraction of the global peak; peaks // below it are not objects. float gpr_object_min_frac = 0.7F; @@ -54,29 +39,15 @@ struct ProcessingLiveConfig { std::string gpr_motion_mode = "int_minus"; float gpr_speed_m_s = 0.0F; float gpr_look_angle_deg = 0.0F; - // Motion model parameters for the legacy GPR pipeline. The direction sign - // selects which way later Tx-events appear deeper (+1) or shallower (-1). - // Intra-sweep phase correction compensates the motion that happens *inside* - // one Tx-sweep before the IFFT — it is independent of the per-pair coarse - // tau shift and can be disabled without affecting the rest of the pipeline. - // The reference mode picks the anchor used to compute dt_ref per event. float gpr_direction_sign = 1.0F; - bool gpr_apply_freq_phase_correction = true; - LegacyGprReferenceMode gpr_reference_mode = LegacyGprReferenceMode::FrameCenter; - float gpr_snr_thresh = 4.5F; - float gpr_snr_comp_max = 25.0F; float gpr_start_freq_mhz = 3000.0F; float gpr_stop_freq_mhz = 6000.0F; bool gpr_background_subtract_enabled = true; std::uint32_t gpr_background_mean_count = 10U; bool gpr_remove_sidelobe_objects_enabled = true; - // BP image is computed in the y=imaging_plane_y_m slice of the 3D grid. - // Default 0 keeps legacy 1D antenna layouts imaging in the antenna plane. - float gpr_imaging_plane_y_m = 0.0F; - // Coherent BP object visibility (window + the draw limits below) is applied in - // the processor itself, with no score threshold. Only legacy GPR thresholds, - // on a pair count. - float legacy_gpr_min_visible_pair_count = 0.0F; + // Ground plane in radar coordinates, at this height and the configured pitch. + float gpr_bp_ground_depth_m = 1.25F; + bool pair_depth_equalize = true; std::uint32_t gpr_max_detected_objects_to_draw = 0; std::uint32_t gpr_draw_top_m_objects = 0; // Cross-frame approach filter: an object is shown only once it persists as a @@ -89,7 +60,7 @@ struct ProcessingLiveConfig { float gpr_visible_z_min_m = 0.0F; float gpr_visible_z_max_m = 14.0F; // 3D SAR (sar3d processor) parameters, named after the reference notebook - // Multi_antenna_3D_clean_v1.ipynb (SAR_FRAME_RADIUS, BP_GROUND_DEPTH_M, ...). + // Multi_antenna_demonstrate_depthnorm.ipynb (SAR_FRAME_RADIUS, BP_GROUND_DEPTH_M, ...). // The band, depth gate, antenna selection, speed and look angle are the // shared gpr_* fields above. std::uint32_t sar3d_frame_radius = 0U; @@ -99,6 +70,10 @@ struct ProcessingLiveConfig { float sar3d_comp_range_power = 0.3F; bool sar3d_use_compensation = true; bool sar3d_normalize_each_frame = true; + float sar3d_x_size_m = 0.0F; + float sar3d_y_min_m = -0.5F; + float sar3d_y_max_m = 2.0F; + float sar3d_z_size_m = 0.0F; // When true, the data_processor ignores socket-supplied `vlc` updates and // keeps using `gpr_speed_m_s` from this file. Mirrored from the GUI's // "ignore socket speed" checkbox. diff --git a/data_acq_and_processing/processing/data_processor/src/data_processor.cpp b/data_acq_and_processing/processing/data_processor/src/data_processor.cpp index 14679cc..f612cb9 100644 --- a/data_acq_and_processing/processing/data_processor/src/data_processor.cpp +++ b/data_acq_and_processing/processing/data_processor/src/data_processor.cpp @@ -22,10 +22,15 @@ namespace { constexpr const char* kDefaultProcessorMode = "pass_through"; constexpr std::size_t kBscanReplayWindow = 50U; -[[nodiscard]] auto replay_history_limit(const config::RunConfig& config) -> std::size_t { +[[nodiscard]] auto processing_history_limit(const config::RunConfig& config, const ProcessingLiveConfig& live) -> std::size_t { const auto preprocessed_capacity = static_cast(std::max(1U, config.rings.preprocessed.capacity)); const auto results_capacity = static_cast(std::max(1U, config.rings.results.capacity)); - return std::min({preprocessed_capacity, results_capacity, kBscanReplayWindow}); + std::size_t required = 1U; + if (live.processor_mode == "gpr" || live.processor_mode == "sar3d") { + if (live.gpr_background_subtract_enabled) { required += live.gpr_background_mean_count; } + if (live.processor_mode == "sar3d") { required += live.sar3d_frame_radius; } + } + return std::max(required, std::min({preprocessed_capacity, results_capacity, kBscanReplayWindow})); } void publish_result_collection( @@ -68,7 +73,6 @@ DataProcessor::DataProcessor( void DataProcessor::run(const std::atomic& stop_requested) { std::vector bytes{}; std::vector preprocessed_history{}; - const std::size_t history_limit = replay_history_limit(config_); std::uint64_t last_replayed_revision = live_config_loader_.revision(); runtime::CollectionErrors errors; std::uint64_t oversized_results = 0; @@ -92,6 +96,7 @@ void DataProcessor::run(const std::atomic& stop_requested) { processing_config_.gpr = live_config.gpr.value_or(config_.gpr); } auto& processor = resolve_processor(live_config); + const auto history_limit = processing_history_limit(config_, live_config); const bool socket_speed_dirty = current_socket_speed != last_reprocessed_socket_speed; const auto was_removed = [&](const ipc::PreprocessedCollection& collection) { @@ -107,6 +112,9 @@ void DataProcessor::run(const std::atomic& stop_requested) { }; if (live_revision != last_replayed_revision || socket_speed_dirty) { std::erase_if(preprocessed_history, was_removed); + if (preprocessed_history.size() > history_limit) { + preprocessed_history.erase(preprocessed_history.begin(), preprocessed_history.end() - history_limit); + } if (!live_config.reprocess_current_result) { // Socket-fed speed updates should affect only future preprocessed collections, @@ -120,7 +128,7 @@ void DataProcessor::run(const std::atomic& stop_requested) { live_config ); publish_result_collection(replay_result, results_ring_, oversized_results); - publish_locator(replay_result, live_config); + publish_locator(replay_result); } } else if (!preprocessed_history.empty()) { const auto replay_result = process_collection( @@ -130,7 +138,7 @@ void DataProcessor::run(const std::atomic& stop_requested) { live_config ); publish_result_collection(replay_result, results_ring_, oversized_results); - publish_locator(replay_result, live_config); + publish_locator(replay_result); } last_replayed_revision = live_revision; //record the speed we just reprocessed with so an @@ -156,8 +164,8 @@ void DataProcessor::run(const std::atomic& stop_requested) { preprocessed.capture_start_ns <= preprocessed_history.back().capture_start_ns; if (!fed_back) { preprocessed_history.push_back(std::move(preprocessed)); - while (preprocessed_history.size() > history_limit) { - preprocessed_history.erase(preprocessed_history.begin()); + if (preprocessed_history.size() > history_limit) { + preprocessed_history.erase(preprocessed_history.begin(), preprocessed_history.end() - history_limit); } } const auto& current = fed_back ? preprocessed : preprocessed_history.back(); @@ -175,7 +183,7 @@ void DataProcessor::run(const std::atomic& stop_requested) { ); publish_result_collection(result_collection, results_ring_, oversized_results); if (!fed_back) { - publish_locator(result_collection, live_config); + publish_locator(result_collection); } errors.progress(); continue; @@ -237,40 +245,13 @@ auto DataProcessor::socket_speed(const ProcessingLiveConfig& live_config) const return locator_server_->latest_socket_speed(); } -auto DataProcessor::build_locator_filter(const ProcessingLiveConfig& live_config) const - -> radar::locator::FilterParams { - const std::string requested_mode = - live_config.processor_mode.empty() ? default_processor_mode_ : live_config.processor_mode; - - radar::locator::FilterParams filter{}; - if (requested_mode == "legacy_gpr") { - // Legacy GPR emits its objects unfiltered, so the socket applies the legacy - // rule here: clip to the visible window and threshold on the pair count. The - // GUI disables "draw top N" for legacy, so we skip it on the wire to match. - filter.visible_bounds = radar::locator::VisibleBounds{ - .x_min = live_config.gpr_visible_x_min_m, - .x_max = live_config.gpr_visible_x_max_m, - .z_min = live_config.gpr_visible_z_min_m, - .z_max = live_config.gpr_visible_z_max_m, - }; - filter.min_score = live_config.legacy_gpr_min_visible_pair_count; - filter.draw_limits.reset(); - } - // Coherent BP already emits the FINAL visible object set from the processor - // (window + N/M, no score threshold), so the - // socket forwards it verbatim. The default FilterParams passes everything through - // (it only drops non-finite rows), keeping the filtering logic in one place. - return filter; -} - void DataProcessor::publish_locator( - const ipc::ResultCollection& collection, - const ProcessingLiveConfig& live_config + const ipc::ResultCollection& collection ) { - if (locator_server_ == nullptr || !locator_server_->is_running()) { + if (locator_server_ == nullptr) { return; } - locator_server_->publish(collection, build_locator_filter(live_config)); + locator_server_->publish(collection); } auto create_default_processors() -> ProcessorRegistry { @@ -287,10 +268,6 @@ auto create_default_processors() -> ProcessorRegistry { auto processor = std::make_unique(); processors.emplace(processor->name(), std::move(processor)); } - { - auto processor = std::make_unique(); - processors.emplace(processor->name(), std::move(processor)); - } { auto processor = std::make_unique(); processors.emplace(processor->name(), std::move(processor)); diff --git a/data_acq_and_processing/processing/data_processor/src/processing_live_config.cpp b/data_acq_and_processing/processing/data_processor/src/processing_live_config.cpp index c6465a4..c783972 100644 --- a/data_acq_and_processing/processing/data_processor/src/processing_live_config.cpp +++ b/data_acq_and_processing/processing/data_processor/src/processing_live_config.cpp @@ -19,28 +19,6 @@ namespace { using Json = nlohmann::json; -[[nodiscard]] auto parse_legacy_gpr_mode(const std::string& value, const std::string& field_name) -> LegacyGprMode { - if (value == "point") { - return LegacyGprMode::Point; - } - if (value == "extended") { - return LegacyGprMode::Extended; - } - throw std::runtime_error(field_name + " must be one of: point, extended"); -} - -[[nodiscard]] auto parse_legacy_gpr_reference_mode( - const std::string& value, const std::string& field_name -) -> LegacyGprReferenceMode { - if (value == "frame_center") { - return LegacyGprReferenceMode::FrameCenter; - } - if (value == "first_tx_event") { - return LegacyGprReferenceMode::FirstTxEvent; - } - throw std::runtime_error(field_name + " must be one of: frame_center, first_tx_event"); -} - [[nodiscard]] auto parse_gpr_score_mode(const std::string& value, const std::string& field_name) -> std::string { if (value == "peak" || value == "combined") { return value; @@ -55,24 +33,6 @@ using Json = nlohmann::json; throw std::runtime_error(field_name + " must be one of: int_minus, int_focus"); } -void apply_legacy_gpr_algorithm_alias(ProcessingLiveConfig& config, const std::string& value) { - if (value == "backprojection") { - return; - } - if (value == "legacy_point") { - config.legacy_gpr_mode = LegacyGprMode::Point; - } else if (value == "legacy_extended") { - config.legacy_gpr_mode = LegacyGprMode::Extended; - } else { - throw std::runtime_error( - "processing.gpr_algorithm must be one of: backprojection, legacy_point, legacy_extended" - ); - } - if (config.processor_mode.empty() || config.processor_mode == "gpr") { - config.processor_mode = "legacy_gpr"; - } -} - [[nodiscard]] auto parse_f32(const Json& value, const std::string& field_name) -> float { if (!value.is_number()) { throw std::runtime_error(field_name + " must be number"); @@ -192,11 +152,8 @@ auto parse_geometry(const Json& value, const char* position_field, std::uint32_t if (const auto found = root.find("settings_revision"); found != root.end()) { config.settings_revision = parse_u64_number(*found, "processing.settings_revision"); } - if (root.contains("relative_permittivity") || root.contains("tx_geometry") || root.contains("rx_geometry")) { + if (root.contains("tx_geometry") || root.contains("rx_geometry")) { config.gpr = run_config.gpr; - if (const auto found = root.find("relative_permittivity"); found != root.end()) { - config.gpr->relative_permittivity = parse_f32(*found, "processing.relative_permittivity"); - } if (const auto found = root.find("tx_geometry"); found != root.end()) { config.gpr->tx_geometry = parse_geometry(*found, "output_pos", &config::GprTxGeometry::output_pos); } @@ -206,25 +163,16 @@ auto parse_geometry(const Json& value, const char* position_field, std::uint32_t config::validate_gpr_config(*config.gpr, run_config); } assign_optional(root, "processor_mode", config.processor_mode); + if (!config.processor_mode.empty() && config.processor_mode != "pass_through" + && config.processor_mode != "bscan" && config.processor_mode != "gpr" && config.processor_mode != "sar3d") { + throw std::runtime_error("Unsupported processing.processor_mode: " + config.processor_mode); + } assign_optional(root, "bscan_axis", config.bscan_axis); assign_optional(root, "bscan_cut_m", config.bscan_cut_m); assign_optional(root, "bscan_max_depth_m", config.bscan_max_depth_m); assign_optional(root, "bscan_gain", config.bscan_gain); assign_optional(root, "bscan_start_freq_mhz", config.bscan_start_freq_mhz); assign_optional(root, "bscan_stop_freq_mhz", config.bscan_stop_freq_mhz); - if (const auto found = root.find("legacy_gpr_mode"); found != root.end()) { - if (!found->is_string()) { - throw std::runtime_error("processing.legacy_gpr_mode must be string"); - } - config.legacy_gpr_mode = - parse_legacy_gpr_mode(found->get(), "processing.legacy_gpr_mode"); - } - if (const auto found = root.find("gpr_algorithm"); found != root.end()) { - if (!found->is_string()) { - throw std::runtime_error("processing.gpr_algorithm must be string"); - } - apply_legacy_gpr_algorithm_alias(config, found->get()); - } if (const auto found = root.find("gpr_input_positions"); found != root.end()) { config.gpr_input_positions = parse_u32_array(*found, "processing.gpr_input_positions"); } @@ -235,7 +183,6 @@ auto parse_geometry(const Json& value, const char* position_field, std::uint32_t assign_optional(root, "gpr_max_depth_m", config.gpr_max_depth_m); assign_optional(root, "gpr_range_comp_power", config.gpr_range_comp_power); assign_optional(root, "gpr_object_min_frac", config.gpr_object_min_frac); - assign_optional(root, "gpr_comp_power", config.gpr_comp_power); if (const auto found = root.find("gpr_score_mode"); found != root.end()) { if (!found->is_string()) { throw std::runtime_error("processing.gpr_score_mode must be string"); @@ -251,16 +198,6 @@ auto parse_geometry(const Json& value, const char* position_field, std::uint32_t assign_optional(root, "gpr_speed_m_s", config.gpr_speed_m_s); assign_optional(root, "gpr_look_angle_deg", config.gpr_look_angle_deg); assign_optional(root, "gpr_direction_sign", config.gpr_direction_sign); - assign_optional(root, "gpr_apply_freq_phase_correction", config.gpr_apply_freq_phase_correction); - if (const auto found = root.find("gpr_reference_mode"); found != root.end()) { - if (!found->is_string()) { - throw std::runtime_error("processing.gpr_reference_mode must be string"); - } - config.gpr_reference_mode = - parse_legacy_gpr_reference_mode(found->get(), "processing.gpr_reference_mode"); - } - assign_optional(root, "gpr_snr_thresh", config.gpr_snr_thresh); - assign_optional(root, "gpr_snr_comp_max", config.gpr_snr_comp_max); assign_optional(root, "gpr_start_freq_mhz", config.gpr_start_freq_mhz); assign_optional(root, "gpr_stop_freq_mhz", config.gpr_stop_freq_mhz); assign_optional(root, "gpr_background_subtract_enabled", config.gpr_background_subtract_enabled); @@ -268,7 +205,8 @@ auto parse_geometry(const Json& value, const char* position_field, std::uint32_t config.gpr_background_mean_count = parse_u32_number(*found, "processing.gpr_background_mean_count"); } assign_optional(root, "gpr_remove_sidelobe_objects_enabled", config.gpr_remove_sidelobe_objects_enabled); - assign_optional(root, "gpr_imaging_plane_y_m", config.gpr_imaging_plane_y_m); + assign_optional(root, "gpr_bp_ground_depth_m", config.gpr_bp_ground_depth_m); + assign_optional(root, "pair_depth_equalize", config.pair_depth_equalize); for (const auto& [key, target] : { std::pair{"gpr_visible_x_min_m", &config.gpr_visible_x_min_m}, std::pair{"gpr_visible_x_max_m", &config.gpr_visible_x_max_m}, @@ -277,7 +215,6 @@ auto parse_geometry(const Json& value, const char* position_field, std::uint32_t }) { assign_optional(root, key, *target); } - assign_optional(root, "legacy_gpr_min_visible_pair_count", config.legacy_gpr_min_visible_pair_count); if (const auto found = root.find("gpr_max_detected_objects_to_draw"); found != root.end()) { config.gpr_max_detected_objects_to_draw = parse_u32_number(*found, "processing.gpr_max_detected_objects_to_draw"); @@ -297,6 +234,10 @@ auto parse_geometry(const Json& value, const char* position_field, std::uint32_t std::pair{"sar3d_voxel_m", &config.sar3d_voxel_m}, std::pair{"sar3d_bp_ground_depth_m", &config.sar3d_bp_ground_depth_m}, std::pair{"sar3d_comp_range_power", &config.sar3d_comp_range_power}, + std::pair{"sar3d_x_size_m", &config.sar3d_x_size_m}, + std::pair{"sar3d_y_min_m", &config.sar3d_y_min_m}, + std::pair{"sar3d_y_max_m", &config.sar3d_y_max_m}, + std::pair{"sar3d_z_size_m", &config.sar3d_z_size_m}, }) { assign_optional(root, key, *target); } @@ -306,6 +247,10 @@ auto parse_geometry(const Json& value, const char* position_field, std::uint32_t }) { assign_optional(root, key, *target); } + if (config.sar3d_x_size_m < 0.0F || config.sar3d_z_size_m < 0.0F || + config.sar3d_y_max_m <= config.sar3d_y_min_m) { + throw std::runtime_error("SAR scene sizes must be non-negative and SAR_Y_RANGE_M must increase"); + } assign_optional(root, "ignore_socket_speed", config.ignore_socket_speed); assign_optional(root, "reprocess_current_result", config.reprocess_current_result); if (const auto found = root.find("history_clear_before_ns"); found != root.end()) { diff --git a/data_acq_and_processing/processing/locator/include/locator/payload_builder.hpp b/data_acq_and_processing/processing/locator/include/locator/payload_builder.hpp index ed13015..a51ccd5 100644 --- a/data_acq_and_processing/processing/locator/include/locator/payload_builder.hpp +++ b/data_acq_and_processing/processing/locator/include/locator/payload_builder.hpp @@ -1,7 +1,6 @@ #pragma once #include -#include #include #include @@ -10,47 +9,9 @@ namespace radar::locator { -// Inclusive bounds used to clip locator observations to a visible window. -struct VisibleBounds { - float x_min = 0.0F; - float x_max = 0.0F; - float z_min = 0.0F; - float z_max = 0.0F; -}; - -// Limits mirroring the GUI semantics: if the number of detected objects exceeds -// `max_detected_objects`, the result is intentionally empty (matches Python -// reference). Otherwise, at most `draw_top_objects` rows are emitted. -struct DrawLimits { - std::uint32_t max_detected_objects = 0; - std::uint32_t draw_top_objects = 0; -}; - -// Filter parameters for the payload builder. None of these fields couple to GUI -// state; they are resolved by the data_processor from the live processing config -// and passed in explicitly so the builder remains a pure function. -struct FilterParams { - float min_score = 0.0F; - std::optional visible_bounds{}; - std::optional draw_limits{}; -}; - -// Extract observations from one result collection. -// -// Mirrors `python_app/orchestration/gpr_locator.py::locator_observations_from_collection`: -// * Looks for a `gpr_points` TableF32 payload first, then falls back to -// `gpr_region_centers`. Both layouts encode `[x_m, z_m, score, ...]` rows. -// * Drops rows with non-finite coordinates and those below `min_score`. -// * If `visible_bounds` are provided, drops rows outside the inclusive window. -// * If `draw_limits` are provided and the surviving count exceeds -// `max_detected_objects`, returns an empty vector (the GUI's "too many to -// trust" heuristic). Otherwise, keeps the first `draw_top_objects` rows. -// -// The function never throws; malformed payloads degrade to an empty result. -[[nodiscard]] auto observations_from_collection( - const ipc::ResultCollection& collection, - const FilterParams& filter -) -> std::vector; +// Extract the final coherent-GPR objects, dropping malformed or non-finite rows. +[[nodiscard]] auto observations_from_collection(const ipc::ResultCollection& collection) + -> std::vector; // Serialize a list of observations into the JSON payload format expected by // locator clients: `{"ver": , "tim": "HH:MM:SS.mmm", "sts": 1, "obs": [...]}`. diff --git a/data_acq_and_processing/processing/locator/include/locator/tcp_server.hpp b/data_acq_and_processing/processing/locator/include/locator/tcp_server.hpp index 1a8f1f0..80af34c 100644 --- a/data_acq_and_processing/processing/locator/include/locator/tcp_server.hpp +++ b/data_acq_and_processing/processing/locator/include/locator/tcp_server.hpp @@ -138,7 +138,7 @@ class TcpServer { // Build and broadcast one locator packet derived from a GPR result // collection. Never blocks for I/O. Filter parameters are supplied by the // caller so the builder remains state-free. - void publish(const ipc::ResultCollection& collection, const FilterParams& filter); + void publish(const ipc::ResultCollection& collection); // Most recent `vlc` value received from any connected client, or nullopt // if no client has ever submitted one since startup. Lock-free. diff --git a/data_acq_and_processing/processing/locator/src/payload_builder.cpp b/data_acq_and_processing/processing/locator/src/payload_builder.cpp index 4611a99..fe4969c 100644 --- a/data_acq_and_processing/processing/locator/src/payload_builder.cpp +++ b/data_acq_and_processing/processing/locator/src/payload_builder.cpp @@ -19,14 +19,12 @@ namespace { using Json = nlohmann::json; constexpr const char* kGprPointsName = "gpr_points"; -constexpr const char* kGprRegionCentersName = "gpr_region_centers"; constexpr std::uint32_t kMinTableColumns = 3U; // [x_m, z_m, score, ...] // Locate the first TableF32 payload matching one of the GPR object names. // Returns nullptr if no usable payload is present in the collection. [[nodiscard]] auto find_object_table(const ipc::ResultCollection& collection) -> const ipc::ResultPayload* { - const ipc::ResultPayload* fallback = nullptr; for (const auto& payload : collection.collection_payloads) { if (payload.kind != ipc::ResultKind::TableF32) { continue; @@ -37,11 +35,8 @@ constexpr std::uint32_t kMinTableColumns = 3U; // [x_m, z_m, score, ...] if (payload.processing_name == kGprPointsName) { return &payload; } - if (fallback == nullptr && payload.processing_name == kGprRegionCentersName) { - fallback = &payload; - } } - return fallback; + return nullptr; } // Quantise to one decimal place (0.1 m = decimetres). Equivalent to Python's @@ -51,29 +46,6 @@ constexpr std::uint32_t kMinTableColumns = 3U; // [x_m, z_m, score, ...] return std::round(value * 10.0) / 10.0; } -[[nodiscard]] auto passes_basic_filter( - float x_m, - float z_m, - float score, - float min_score -) -> bool { - if (!std::isfinite(x_m) || !std::isfinite(z_m) || !std::isfinite(score)) { - return false; - } - return score >= min_score; -} - -[[nodiscard]] auto passes_visible_bounds( - float x_m, - float z_m, - const VisibleBounds& bounds -) -> bool { - return x_m >= bounds.x_min - && x_m <= bounds.x_max - && z_m >= bounds.z_min - && z_m <= bounds.z_max; -} - // Render the current wall-clock time as "HH:MM:SS.mmm". Uses localtime to match // the Python reference behaviour (which calls datetime.now() with no tz info). [[nodiscard]] auto format_timestamp_now() -> std::string { @@ -107,66 +79,20 @@ void append_u32_little_endian(std::vector& buffer, std::uint32_t v } // namespace -auto observations_from_collection( - const ipc::ResultCollection& collection, - const FilterParams& filter -) -> std::vector { +auto observations_from_collection(const ipc::ResultCollection& collection) -> std::vector { const auto* payload = find_object_table(collection); if (payload == nullptr) { return {}; } - - const std::uint32_t columns = payload->table_columns; - if (columns == 0U) { - return {}; - } - const std::size_t row_count = payload->table_values.size() / columns; - if (row_count == 0U) { - return {}; - } - - std::vector visible; - visible.reserve(row_count); - for (std::size_t row = 0; row < row_count; ++row) { - const std::size_t base = row * static_cast(columns); - const float x_m = payload->table_values[base + 0U]; - const float z_m = payload->table_values[base + 1U]; - const float score = payload->table_values[base + 2U]; - - if (!passes_basic_filter(x_m, z_m, score, filter.min_score)) { - continue; - } - if (filter.visible_bounds.has_value() - && !passes_visible_bounds(x_m, z_m, *filter.visible_bounds)) { - continue; - } - visible.push_back({.crs = x_m, .dst = z_m}); - } - - if (!filter.draw_limits.has_value()) { - std::vector quantised; - quantised.reserve(visible.size()); - for (const auto& observation : visible) { - quantised.push_back({ - .crs = quantise_to_decimetres(observation.crs), - .dst = quantise_to_decimetres(observation.dst), - }); - } - return quantised; - } - - const auto& limits = *filter.draw_limits; - if (visible.size() > limits.max_detected_objects) { - return {}; - } - const std::size_t kept = std::min(visible.size(), limits.draw_top_objects); + const std::size_t columns = payload->table_columns; std::vector result; - result.reserve(kept); - for (std::size_t index = 0; index < kept; ++index) { - result.push_back({ - .crs = quantise_to_decimetres(visible[index].crs), - .dst = quantise_to_decimetres(visible[index].dst), - }); + for (std::size_t base = 0; base + columns <= payload->table_values.size(); base += columns) { + const auto x = payload->table_values[base]; + const auto z = payload->table_values[base + 1]; + const auto score = payload->table_values[base + 2]; + if (std::isfinite(x) && std::isfinite(z) && std::isfinite(score)) { + result.push_back({.crs = quantise_to_decimetres(x), .dst = quantise_to_decimetres(z)}); + } } return result; } diff --git a/data_acq_and_processing/processing/locator/src/tcp_server.cpp b/data_acq_and_processing/processing/locator/src/tcp_server.cpp index a65b070..e9c94bd 100644 --- a/data_acq_and_processing/processing/locator/src/tcp_server.cpp +++ b/data_acq_and_processing/processing/locator/src/tcp_server.cpp @@ -461,12 +461,12 @@ auto TcpServer::is_running() const -> bool { return running_.load(std::memory_order_acquire); } -void TcpServer::publish(const ipc::ResultCollection& collection, const FilterParams& filter) { +void TcpServer::publish(const ipc::ResultCollection& collection) { if (!running_.load(std::memory_order_acquire)) { return; } - const auto observations = observations_from_collection(collection, filter); + const auto observations = observations_from_collection(collection); const auto payload_json = build_payload_json(observations, config_.protocol_version); auto packet = encode_packet(payload_json, config_.device_id); cache_latest_packet(packet); diff --git a/data_acq_and_processing/processing/processors/include/gpr_processor.hpp b/data_acq_and_processing/processing/processors/include/gpr_processor.hpp index 18567b6..e5299ba 100644 --- a/data_acq_and_processing/processing/processors/include/gpr_processor.hpp +++ b/data_acq_and_processing/processing/processors/include/gpr_processor.hpp @@ -21,15 +21,4 @@ class GprProcessor final : public ProcessorInterface { ObjectApproachFilter approach_filter_{}; }; -class LegacyGprProcessor final : public ProcessorInterface { - public: - [[nodiscard]] auto name() const -> std::string override; - [[nodiscard]] auto process_collection( - const config::RunConfig& run_config, - const ipc::PreprocessedCollection& collection, - std::span previous_collections, - const ProcessingLiveConfig& live_config - ) -> ipc::ResultCollection override; -}; - } // namespace radar::processing diff --git a/data_acq_and_processing/processing/processors/include/sar3d_processor.hpp b/data_acq_and_processing/processing/processors/include/sar3d_processor.hpp index a203d31..48c3b6d 100644 --- a/data_acq_and_processing/processing/processors/include/sar3d_processor.hpp +++ b/data_acq_and_processing/processing/processors/include/sar3d_processor.hpp @@ -8,7 +8,7 @@ namespace radar::processing { -// 3D SAR of the reference notebook Multi_antenna_3D_clean_v1.ipynb on an NVIDIA +// 3D SAR of the reference notebook Multi_antenna_demonstrate_depthnorm.ipynb on an NVIDIA // GPU. Publishes max-projections of the normalized volume as ImageF32 payloads: // sar3d_front (X-Y), sar3d_side (Z-Y), sar3d_top (X-Z) and sar3d_oblique (the // notebook's 3D scene view, axes in the plane of sar3d_oblique_basis), plus diff --git a/data_acq_and_processing/processing/processors/src/backprojection.hpp b/data_acq_and_processing/processing/processors/src/backprojection.hpp new file mode 100644 index 0000000..77882fe --- /dev/null +++ b/data_acq_and_processing/processing/processors/src/backprojection.hpp @@ -0,0 +1,231 @@ +#pragma once + +#include "shared_types.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace radar::processing::bp { + +constexpr double kWaveSpeed = 3e8; // v in both reference algorithms +using Background = std::unordered_map>, ipc::ComboKeyHash>; + +// Mean of up to count previous collections, separately for each physical pair. +inline auto background_mean(std::span previous, bool enabled, + std::size_t count) -> Background { + Background result; + if (!enabled || count == 0U) { return result; } + std::unordered_map counts; + for (const auto& collection : previous.last(std::min(count, previous.size()))) { + for (const auto& trace : collection.traces) { + const auto key = trace.combo; + auto& sum = result[key]; + if (sum.empty()) { sum.resize(trace.s21.size()); } + if (sum.size() != trace.s21.size()) { continue; } + for (std::size_t i = 0; i < sum.size(); ++i) { + sum[i] += std::complex(trace.s21[i].re, trace.s21[i].im); + } + ++counts[key]; + } + } + for (auto& [key, samples] : result) { + for (auto& sample : samples) { sample /= static_cast(counts.at(key)); } + } + return result; +} + +inline auto subtract_background(const ipc::SweepTraceBlock& trace, const Background& background) + -> std::vector> { + std::vector> samples; + samples.reserve(trace.s21.size()); + const auto found = background.find(trace.combo); + const bool subtract = found != background.end() && found->second.size() == trace.s21.size(); + for (std::size_t i = 0; i < trace.s21.size(); ++i) { + samples.emplace_back(std::complex(trace.s21[i].re, trace.s21[i].im) - + (subtract ? found->second[i] : std::complex{})); + } + return samples; +} + +// When the samples of a trace were measured, relative to the acquisition centre +// of its collection (compute_pair_timestamps_for_snapshot and +// compute_frequency_sample_times). Traces sharing a capture window come from +// one sweep: at every frequency point its stimulus stages - the outputs, which +// are numbered in device stage order - take turns while all inputs receive. +struct TraceClock { + double start_s = 0.0; // sweep start + double event_s = 0.0; // sweep duration / (stages * points) + std::size_t stage = 0U; + std::size_t stages = 1U; + + [[nodiscard]] auto sample_time_s(std::size_t point) const -> double { + return start_s + (static_cast(stages) * point + stage) * event_s; + } +}; + +struct CollectionTiming { + std::uint64_t center_ns = 0U; // centre of the collection's capture window + std::vector clocks; // per collection trace +}; + +// Timing from the per-trace capture windows (snapshot_acquisition_timing); every +// trace takes part, so the stages do not depend on the INPUT_IDX/OUTPUT_IDX choice. +[[nodiscard]] inline auto collection_timing(const ipc::PreprocessedCollection& collection) -> CollectionTiming { + if (collection.traces.empty()) { + throw std::runtime_error("collection has no traces"); + } + std::map, std::vector> sweep_outputs{}; + std::uint64_t first = std::numeric_limits::max(); + std::uint64_t last = 0U; + for (const auto& trace : collection.traces) { + if (trace.capture_end_ns <= trace.capture_start_ns) { + throw std::runtime_error("collection has traces without a capture window"); + } + if (trace.frequency_hz.empty()) { + throw std::runtime_error("collection has a trace without frequency points"); + } + sweep_outputs[{trace.capture_start_ns, trace.capture_end_ns}].push_back(trace.combo.output_pos); + first = std::min(first, trace.capture_start_ns); + last = std::max(last, trace.capture_end_ns); + } + for (auto& [window, outputs] : sweep_outputs) { + std::sort(outputs.begin(), outputs.end()); + outputs.erase(std::unique(outputs.begin(), outputs.end()), outputs.end()); + } + + CollectionTiming timing{}; + const auto duration_ns = last - first; + timing.center_ns = first + duration_ns / 2U; + for (const auto& trace : collection.traces) { + const auto& stages = sweep_outputs.at({trace.capture_start_ns, trace.capture_end_ns}); + const auto stage = std::find(stages.begin(), stages.end(), trace.combo.output_pos) - stages.begin(); + TraceClock clock{}; + clock.start_s = 1e-9 * (static_cast(trace.capture_start_ns - first) - + 0.5 * static_cast(duration_ns)); + clock.stage = stage; + clock.stages = stages.size(); + clock.event_s = 1e-9 * static_cast(trace.capture_end_ns - trace.capture_start_ns) / + static_cast(clock.stages) / trace.frequency_hz.size(); + timing.clocks.push_back(clock); + } + return timing; +} + +// apply_intra_sweep_phase_correction: one phase model includes the pair offset +// and the intra-sweep motion. Focus mode removes its constant and linear terms. +inline void apply_motion_phase(std::vector>& samples, const std::vector& frequency, + const TraceClock& clock, double speed, double pitch, double direction, bool focus, + double f_start, double f_stop) { + if (speed == 0.0) { return; } + std::vector points; + std::vector phase; + const double factor = 4.0 * std::numbers::pi * direction * speed * std::cos(pitch) / kWaveSpeed; + double sum_f = 0.0, sum_phase = 0.0; + for (std::size_t i = 0; i < frequency.size(); ++i) { + if (frequency[i] < f_start || frequency[i] > f_stop) { continue; } + points.push_back(i); + phase.push_back(factor * frequency[i] * clock.sample_time_s(i)); + sum_f += frequency[i]; + sum_phase += phase.back(); + } + if (points.empty()) { return; } + if (focus) { + const double mean_f = sum_f / points.size(), mean_phase = sum_phase / points.size(); + double cross = 0.0, square = 0.0; + for (std::size_t i = 0; i < points.size(); ++i) { + const double f = frequency[points[i]] - mean_f; + cross += f * phase[i]; square += f * f; + } + const double slope = square > 0.0 ? cross / square : 0.0; + for (std::size_t i = 0; i < points.size(); ++i) { + phase[i] -= mean_phase + slope * (frequency[points[i]] - mean_f); + } + } + for (std::size_t i = 0; i < points.size(); ++i) { samples[points[i]] *= std::polar(1.0, -phase[i]); } +} + +// pair_depth_eq_z_max: cover the far scene corner, aperture and half a median window. +inline auto equalize_depth_limit(double max_depth, double x_min, double x_max, double antenna_x_max) -> double { + const double x_far = std::max(std::abs(x_min), std::abs(x_max)) + antenna_x_max; + return std::sqrt(max_depth * max_depth + x_far * x_far + 2.5 * 2.5) + 1.5 + 0.75; +} + +// bp_plane_y, Horns_motion_4x4_ground.py: the ground plane in radar axes. +inline auto ground_y(double z, double height, double pitch) -> double { + if (std::abs(std::cos(pitch)) < 1e-6) { throw std::runtime_error("Ground BP is undefined at a look angle of 90 degrees"); } + return (-height + z * std::sin(pitch)) / std::cos(pitch); +} + +// equalize_pairs_by_depth, Multi_antenna_demonstrate_depthnorm.ipynb, cell 1. +// All time axes start at zero; nearest median filtering uses the upper median +// for even windows, as scipy.ndimage.median_filter does. +template +void equalize_pairs_by_depth(const std::vector>>& pairs, double dz, double z_max) { + if (pairs.size() < 2U) { return; } + std::size_t length = pairs.front().size(); + for (const auto pair : pairs) { length = std::min(length, pair.size()); } + const double step = std::max(1.0, std::nearbyint(0.10 / dz)); + if (step > length) { return; } + const auto d = static_cast(step); + const auto n = static_cast(std::max(3.0, std::nearbyint(1.5 / (dz * d)))); + const auto nc = static_cast(std::min(static_cast(length), std::ceil(z_max / dz))) / d; + if (nc < 2U) { return; } + std::vector> levels(pairs.size(), std::vector(nc)); + std::vector common(nc, 0.0), envelope(nc), window(n); + for (std::size_t a = 0; a < pairs.size(); ++a) { + for (std::size_t i = 0; i < nc; ++i) { + double sum = 0.0; + for (std::size_t k = 0; k < d; ++k) { sum += std::abs(std::complex(pairs[a][i * d + k])); } + envelope[i] = sum / static_cast(d); + } + for (std::size_t i = 0; i < nc; ++i) { + for (std::size_t k = 0; k < n; ++k) { + const auto index = std::clamp(static_cast(i) + + static_cast(k) - static_cast(n / 2), 0, nc - 1); + window[k] = envelope[index]; + } + std::nth_element(window.begin(), window.begin() + n / 2, window.end()); + levels[a][i] = std::log(std::max(window[n / 2], 1e-30)); + common[i] += levels[a][i] / static_cast(pairs.size()); + } + } + for (std::size_t a = 0; a < pairs.size(); ++a) { + for (std::size_t i = 0; i < nc; ++i) { levels[a][i] = std::exp(common[i] - levels[a][i]); } + for (std::size_t i = 0; i < nc * d; ++i) { + const double pos = (static_cast(i) - (static_cast(d) - 1.0) / 2.0) / d; + const auto j = static_cast(std::clamp(std::floor(pos), 0.0, static_cast(nc - 2))); + const double w = std::clamp(pos - j, 0.0, 1.0); + pairs[a][i] *= static_cast(levels[a][j] * (1.0 - w) + levels[a][j + 1] * w); + } + } +} + +// Scalar median normalization follows the depth equalizer in both references. +template +void normalize_pair(std::span> samples, double dz, double min_depth, double max_depth) { + std::vector magnitudes; + for (std::size_t i = 0; i < samples.size(); ++i) { + if (i * dz >= min_depth && i * dz <= max_depth) { magnitudes.push_back(std::abs(std::complex(samples[i]))); } + } + if (magnitudes.empty()) { + for (const auto sample : samples) { magnitudes.push_back(std::abs(std::complex(sample))); } + } + if (magnitudes.empty()) { return; } + const auto middle = magnitudes.begin() + magnitudes.size() / 2; + std::nth_element(magnitudes.begin(), middle, magnitudes.end()); + double scale = *middle; + if (magnitudes.size() % 2 == 0) { scale = 0.5 * (scale + *std::max_element(magnitudes.begin(), middle)); } + if (!std::isfinite(scale) || scale <= 1e-15) { scale = 1.0; } + for (auto& sample : samples) { sample /= static_cast(scale + 1e-15); } +} + +} // namespace radar::processing::bp diff --git a/data_acq_and_processing/processing/processors/src/gpr_backprojection_processor.ipp b/data_acq_and_processing/processing/processors/src/gpr_backprojection_processor.ipp index 034a537..7501820 100644 --- a/data_acq_and_processing/processing/processors/src/gpr_backprojection_processor.ipp +++ b/data_acq_and_processing/processing/processors/src/gpr_backprojection_processor.ipp @@ -1,5 +1,4 @@ constexpr double kPi = 3.14159265358979323846; -constexpr double kSpeedOfLightMetersPerSec = 299'792'458.0; constexpr double kXMarginM = 2.0; constexpr double kGridZMinM = 0.1; constexpr std::size_t kGridWidth = 300U; @@ -7,13 +6,8 @@ constexpr std::size_t kGridHeight = 300U; constexpr std::size_t kAscanOversample = 8U; constexpr double kRangeWeightMax = 5.0; -constexpr double kAngleWeightMax = 2.0; -constexpr double kTotalWeightMax = 8.0; constexpr double kCompensationReferenceDepthM = 5.0; -constexpr bool kPairNormalize = true; -constexpr double kPairNormPercentile = 50.0; -constexpr double kPairNormEps = 1e-15; constexpr double kSmoothSigma = 1.5; // Gaussian-kernel half-width in sigmas, matching scipy.ndimage.gaussian_filter's @@ -55,15 +49,8 @@ using PairKey = std::uint64_t; // IntMinus — full intra-frequency correction to the interleaved-sweep centre. // IntFocus — remove the constant + linear-in-frequency part of phi(f), leaving // the focusing residual without a net Z shift. -enum class MotionMode { IntMinus, IntFocus }; - -[[nodiscard]] auto parse_motion_mode(const std::string& value) -> MotionMode { - return value == "int_focus" ? MotionMode::IntFocus : MotionMode::IntMinus; -} - struct GeometrySelection { - // Per-local-index Tx/Rx antenna coordinates in metres. y_/z_ default to 0 - // for legacy configs so the imaging plane coincides with the antennas. + // Per-local-index Tx/Rx antenna coordinates in metres. std::vector input_positions{}; std::vector output_positions{}; std::vector x_tx{}; @@ -76,11 +63,6 @@ struct GeometrySelection { std::unordered_map output_local_by_pos{}; }; -struct BackgroundAccumulator { - std::vector> sum{}; - std::size_t count = 0U; -}; - struct SelectedTrace { ipc::ComboKey combo{}; std::uint32_t tx_local_index = 0U; @@ -268,20 +250,6 @@ void fft_inplace(std::vector>& values, bool inverse) { return axis; } -[[nodiscard]] auto clamp_index(std::ptrdiff_t value, std::size_t limit) -> std::size_t { - if (limit == 0U) { - return 0U; - } - if (value < 0) { - return 0U; - } - const auto max_index = static_cast(limit - 1U); - if (value > max_index) { - return limit - 1U; - } - return static_cast(value); -} - // scipy 'reflect' boundary (half-sample symmetric): the signal is mirrored about // the outer edge of the first/last sample, so index -1 maps to 0, -2 to 1, n to // n-1, and so on. Matches scipy.ndimage.gaussian_filter's default mode. @@ -314,7 +282,7 @@ void normalize_in_place(std::vector& values) { return; } for (auto& value : values) { - value /= maximum; + value /= maximum + 1e-12; } } @@ -545,67 +513,10 @@ void validate_collection_trace_order( } } -[[nodiscard]] auto build_background_mean( - std::span previous_collections, - const GeometrySelection& selection, - const ProcessingLiveConfig& live_config -) -> std::unordered_map>> { - std::unordered_map>> result{}; - if (!live_config.gpr_background_subtract_enabled || live_config.gpr_background_mean_count == 0U) { - return result; - } - - const std::size_t mean_count = static_cast(live_config.gpr_background_mean_count); - const std::size_t start_index = - previous_collections.size() > mean_count ? previous_collections.size() - mean_count : 0U; - - std::unordered_map accumulators{}; - for (std::size_t collection_index = start_index; collection_index < previous_collections.size(); ++collection_index) { - const auto& collection = previous_collections[collection_index]; - for (const auto& trace : collection.traces) { - const auto output_it = selection.output_local_by_pos.find(trace.combo.output_pos); - const auto input_it = selection.input_local_by_pos.find(trace.combo.input_pos); - if (output_it == selection.output_local_by_pos.end() || input_it == selection.input_local_by_pos.end()) { - continue; - } - - const auto key = make_pair_key(output_it->second, input_it->second); - auto& accumulator = accumulators[key]; - if (accumulator.sum.empty()) { - accumulator.sum.assign(trace.s21.size(), std::complex(0.0, 0.0)); - } - if (accumulator.sum.size() != trace.s21.size()) { - continue; - } - - for (std::size_t sample_index = 0U; sample_index < trace.s21.size(); ++sample_index) { - const auto& sample = trace.s21[sample_index]; - accumulator.sum[sample_index] += std::complex(sample.re, sample.im); - } - accumulator.count += 1U; - } - } - - for (auto& [key, accumulator] : accumulators) { - if (accumulator.count == 0U) { - continue; - } - - auto& mean_trace = result[key]; - mean_trace = std::move(accumulator.sum); - const double inverse_count = 1.0 / static_cast(accumulator.count); - for (auto& sample : mean_trace) { - sample *= inverse_count; - } - } - - return result; -} - [[nodiscard]] auto collect_selected_traces( const ipc::PreprocessedCollection& collection, const GeometrySelection& selection, - const std::unordered_map>>& background_mean + const bp::Background& background_mean ) -> std::vector { std::vector traces{}; traces.reserve(collection.traces.size()); @@ -637,15 +548,7 @@ void validate_collection_trace_order( throw std::runtime_error("GPR requires unique selected combos; duplicate combo: " + combo_to_string(trace.combo)); } - const auto background_it = background_mean.find(key); - selected.s21.reserve(trace.s21.size()); - for (std::size_t sample_index = 0U; sample_index < trace.s21.size(); ++sample_index) { - std::complex sample(trace.s21[sample_index].re, trace.s21[sample_index].im); - if (background_it != background_mean.end() && background_it->second.size() == trace.s21.size()) { - sample -= background_it->second[sample_index]; - } - selected.s21.push_back(sample); - } + selected.s21 = bp::subtract_background(trace, background_mean); traces.push_back(std::move(selected)); } @@ -653,112 +556,6 @@ void validate_collection_trace_order( return traces; } -// Frequency-domain speed correction applied to S21 *before* the IFFT. The measurement is interleaved Tx-by-frequency -// — Tx0(f0), Tx1(f0), Tx0(f1), ... — so each Tx occupies one interleave slot and -// its frequency k is sampled at global step (slot_count*k + slot). Each in-band -// frequency's phase is rotated back to the centre of the (full) interleaved sweep. -// -// Unlike the offline Python script, every physical input is taken from the live -// system: `speed_mps` is the socket-fed velocity, `look_angle_deg`/`direction_sign` -// are config, and `tx_sweep_time_s` is derived per-collection from the acquisition -// timestamps (capture_span / Tx count). A zero speed or non-positive sweep time -// makes this a no-op. -void apply_intra_sweep_motion_correction( - SelectedTrace& trace, - std::size_t slot, - std::size_t slot_count, - double start_hz, - double stop_hz, - double velocity_mps, - double speed_mps, - double look_angle_deg, - double direction_sign, - double tx_sweep_time_s, - MotionMode motion_mode -) { - const std::size_t n_full = trace.frequency_hz.size(); - if (n_full < 2U || trace.s21.size() != n_full || slot_count == 0U - || !(velocity_mps > 0.0) || !(tx_sweep_time_s > 0.0)) { - return; - } - - const double low_hz = std::min(start_hz, stop_hz); - const double high_hz = std::max(start_hz, stop_hz); - - // Absolute sample time of full-sweep frequency index k for this Tx slot. - const double dt_base = tx_sweep_time_s / static_cast(n_full - 1U); - const auto sample_time_s = [&](std::size_t index) { - return ((static_cast(slot_count) * static_cast(index)) + static_cast(slot)) * dt_base; - }; - // t_center is the midpoint of the *full* interleaved sweep for this slot, - // i.e. between the first and last full-array frequencies (not the cut band). - const double t_center_s = 0.5 * (sample_time_s(0U) + sample_time_s(n_full - 1U)); - - const double theta_rad = (look_angle_deg * kPi) / 180.0; - const double motion_factor = direction_sign * speed_mps * std::cos(theta_rad); - - std::vector band_indices{}; - std::vector band_frequency_hz{}; - std::vector phi{}; - band_indices.reserve(n_full); - band_frequency_hz.reserve(n_full); - phi.reserve(n_full); - - bool any_nonzero = false; - for (std::size_t index = 0U; index < n_full; ++index) { - const double frequency = trace.frequency_hz[index]; - if (frequency < low_hz || frequency > high_hz) { - continue; - } - const double dt_intra_s = sample_time_s(index) - t_center_s; - const double delta_range_m = motion_factor * dt_intra_s; - const double delta_path_m = 2.0 * delta_range_m; - const double dtau_s = delta_path_m / velocity_mps; - if (dtau_s != 0.0) { - any_nonzero = true; - } - band_indices.push_back(index); - band_frequency_hz.push_back(frequency); - phi.push_back(2.0 * kPi * frequency * dtau_s); - } - - if (!any_nonzero || band_indices.empty()) { - return; - } - - // int_focus removes the constant + linear-in-frequency component of phi(f). - // With f_rel = f - mean(f) the design columns [1, f_rel] are orthogonal, so - // the least-squares fit is intercept = mean(phi), slope = /. - if (motion_mode == MotionMode::IntFocus) { - const auto count = static_cast(band_frequency_hz.size()); - double mean_frequency = 0.0; - double mean_phi = 0.0; - for (std::size_t i = 0U; i < band_frequency_hz.size(); ++i) { - mean_frequency += band_frequency_hz[i]; - mean_phi += phi[i]; - } - mean_frequency /= count; - mean_phi /= count; - - double cross = 0.0; - double f_rel_sq = 0.0; - for (std::size_t i = 0U; i < band_frequency_hz.size(); ++i) { - const double f_rel = band_frequency_hz[i] - mean_frequency; - cross += f_rel * phi[i]; - f_rel_sq += f_rel * f_rel; - } - const double slope = (f_rel_sq > 0.0) ? (cross / f_rel_sq) : 0.0; - for (std::size_t i = 0U; i < phi.size(); ++i) { - const double f_rel = band_frequency_hz[i] - mean_frequency; - phi[i] -= mean_phi + (slope * f_rel); - } - } - - for (std::size_t i = 0U; i < band_indices.size(); ++i) { - trace.s21[band_indices[i]] *= std::polar(1.0, -phi[i]); - } -} - [[nodiscard]] auto compute_ascan( const SelectedTrace& trace, double start_hz, @@ -804,7 +601,7 @@ void apply_intra_sweep_motion_correction( return result; } - const auto start_bin = static_cast(std::llround(frequency_hz.front() / df_hz)); + const auto start_bin = static_cast(std::nearbyint(frequency_hz.front() / df_hz)); if (start_bin < 0) { return result; } @@ -842,50 +639,6 @@ void apply_intra_sweep_motion_correction( return result; } -void normalize_pair_ascans( - std::unordered_map& ascans_by_pair, - double velocity_mps, - double min_depth_m, - double max_depth_m -) { - if (!kPairNormalize) { - return; - } - - for (auto& item : ascans_by_pair) { - auto& ascan = item.second; - if (ascan.samples.empty() || ascan.time_s.size() != ascan.samples.size()) { - continue; - } - - std::vector amplitudes{}; - amplitudes.reserve(ascan.samples.size()); - for (std::size_t index = 0U; index < ascan.samples.size(); ++index) { - const double depth_m = 0.5 * velocity_mps * ascan.time_s[index]; - if (depth_m < min_depth_m || depth_m > max_depth_m) { - continue; - } - amplitudes.push_back(std::abs(ascan.samples[index])); - } - if (amplitudes.empty()) { - amplitudes.reserve(ascan.samples.size()); - for (const auto& sample : ascan.samples) { - amplitudes.push_back(std::abs(sample)); - } - } - - double scale = percentile_copy(std::move(amplitudes), kPairNormPercentile); - if (!std::isfinite(scale) || !(scale > kPairNormEps)) { - scale = 1.0; - } - - const double denominator = scale + kPairNormEps; - for (auto& sample : ascan.samples) { - sample /= denominator; - } - } -} - [[nodiscard]] auto distance_3d(double dx, double dy, double dz) -> double { return std::sqrt((dx * dx) + (dy * dy) + (dz * dz)); } @@ -894,7 +647,7 @@ void normalize_pair_ascans( const GeometrySelection& selection, double max_depth_m, double min_z_m, - double imaging_plane_y_m + double ground_depth_m, double pitch_rad ) -> GridDefinition { GridDefinition grid{}; if (selection.x_tx.empty() || selection.x_rx.empty() || !(max_depth_m > min_z_m)) { @@ -922,14 +675,14 @@ void normalize_pair_ascans( for (std::size_t tx_index = 0U; tx_index < selection.x_tx.size(); ++tx_index) { grid.tx_distance_grids[tx_index][cell_index] = distance_3d( x_value - selection.x_tx[tx_index], - imaging_plane_y_m - selection.y_tx[tx_index], + bp::ground_y(z_value, ground_depth_m, pitch_rad) - selection.y_tx[tx_index], z_value - selection.z_tx[tx_index] ); } for (std::size_t rx_index = 0U; rx_index < selection.x_rx.size(); ++rx_index) { grid.rx_distance_grids[rx_index][cell_index] = distance_3d( x_value - selection.x_rx[rx_index], - imaging_plane_y_m - selection.y_rx[rx_index], + bp::ground_y(z_value, ground_depth_m, pitch_rad) - selection.y_rx[rx_index], z_value - selection.z_rx[rx_index] ); } @@ -946,10 +699,10 @@ void normalize_pair_ascans( const GeometrySelection& selection, double max_depth_m, double min_z_m, - double imaging_plane_y_m + double ground_depth_m, double pitch_rad ) -> std::vector { - std::vector signature; - signature.reserve((selection.x_tx.size() + selection.x_rx.size()) * 3U + 3U); + std::vector signature{static_cast(selection.x_tx.size()), static_cast(selection.x_rx.size())}; + signature.reserve((selection.x_tx.size() + selection.x_rx.size()) * 3U + 6U); const auto append = [&](const std::vector& axis) { signature.insert(signature.end(), axis.begin(), axis.end()); }; @@ -961,7 +714,8 @@ void normalize_pair_ascans( append(selection.z_rx); signature.push_back(max_depth_m); signature.push_back(min_z_m); - signature.push_back(imaging_plane_y_m); + signature.push_back(ground_depth_m); + signature.push_back(pitch_rad); return signature; } @@ -983,67 +737,18 @@ void normalize_pair_ascans( return (ascan.samples[index] * (1.0 - frac)) + (ascan.samples[index + 1U] * frac); } -[[nodiscard]] auto attenuation_components( - double r_tx, - double r_rx, - double dz_tx, - double dz_rx -) -> std::pair { - // Antennas boresight along +Z, so cos(theta) = (z_pixel - z_antenna) / R. - const double geo = 1.0 / ((r_tx * r_rx) + 1e-12); - const double angle = - std::pow(dz_tx / (r_tx + 1e-12), 2.0) * - std::pow(dz_rx / (r_rx + 1e-12), 2.0); - return {geo + 1e-30, angle + 1e-30}; -} - -[[nodiscard]] auto attenuation_components_at_ref_depth( - std::uint32_t tx_index, - std::uint32_t rx_index, - const GeometrySelection& selection, - double imaging_plane_y_m -) -> std::pair { - const double x_center = 0.5 * (selection.x_tx[tx_index] + selection.x_rx[rx_index]); - const double dz_tx = kCompensationReferenceDepthM - selection.z_tx[tx_index]; - const double dz_rx = kCompensationReferenceDepthM - selection.z_rx[rx_index]; - const double r_tx = distance_3d( - x_center - selection.x_tx[tx_index], - imaging_plane_y_m - selection.y_tx[tx_index], - dz_tx - ); - const double r_rx = distance_3d( - x_center - selection.x_rx[rx_index], - imaging_plane_y_m - selection.y_rx[rx_index], - dz_rx - ); - return attenuation_components(r_tx, r_rx, dz_tx, dz_rx); -} - -[[nodiscard]] auto compensation_weight( - double r_tx, - double r_rx, - double dz_tx, - double dz_rx, - double geo_ref, - double angle_ref, - double range_power, - double angle_power +// attenuation_geo_at_ref_depth, Horns_motion_4x4_ground.py (no angle compensation). +[[nodiscard]] auto attenuation_geo_at_ref_depth( + std::uint32_t tx, std::uint32_t rx, const GeometrySelection& selection, + double ground_depth_m, double pitch_rad ) -> double { - const auto [geo, angle] = attenuation_components(r_tx, r_rx, dz_tx, dz_rx); - const double geo_norm = geo / geo_ref; - const double angle_norm = angle / angle_ref; - - const double range_weight = std::clamp( - 1.0 / (std::pow(geo_norm, range_power) + 1e-12), - 0.0, - kRangeWeightMax - ); - const double angle_weight = std::clamp( - 1.0 / (std::pow(angle_norm, angle_power) + 1e-12), - 0.0, - kAngleWeightMax - ); - return std::clamp(range_weight * angle_weight, 0.0, kTotalWeightMax); + const double x_center = 0.5 * (selection.x_tx[tx] + selection.x_rx[rx]); + const double y = bp::ground_y(kCompensationReferenceDepthM, ground_depth_m, pitch_rad); + const double r_tx = distance_3d(x_center - selection.x_tx[tx], y - selection.y_tx[tx], + kCompensationReferenceDepthM - selection.z_tx[tx]); + const double r_rx = distance_3d(x_center - selection.x_rx[rx], y - selection.y_rx[rx], + kCompensationReferenceDepthM - selection.z_rx[rx]); + return 1.0 / (r_tx * r_rx + 1e-12) + 1e-30; } [[nodiscard]] auto backproject_coherent( @@ -1051,12 +756,11 @@ void normalize_pair_ascans( const std::unordered_map& ascans_by_pair, const GridDefinition& grid, const GeometrySelection& selection, - double imaging_plane_y_m, + double ground_depth_m, double pitch_rad, double velocity_mps, double min_depth_m, double max_depth_m, - double range_power, - double angle_power + double range_power ) -> BpMap { const std::size_t width = grid.x_grid.size(); const std::size_t height = grid.z_grid.size(); @@ -1076,9 +780,6 @@ void normalize_pair_ascans( const std::vector* rx_distances; const AscanResult* ascan; double geo_ref; - double angle_ref; - double z_tx_ant; - double z_rx_ant; }; std::vector contributions; @@ -1089,20 +790,17 @@ void normalize_pair_ascans( if (ascan_it == ascans_by_pair.end() || ascan_it->second.time_s.empty()) { continue; } - const auto [geo_ref, angle_ref] = attenuation_components_at_ref_depth( + const double geo_ref = attenuation_geo_at_ref_depth( trace.tx_local_index, trace.rx_local_index, selection, - imaging_plane_y_m + ground_depth_m, pitch_rad ); contributions.push_back(PairContribution{ &grid.tx_distance_grids[trace.tx_local_index], &grid.rx_distance_grids[trace.rx_local_index], &ascan_it->second, geo_ref, - angle_ref, - selection.z_tx[trace.tx_local_index], - selection.z_rx[trace.rx_local_index], }); } @@ -1133,16 +831,9 @@ void normalize_pair_ascans( } const auto sample = interpolate_complex(ascan, tau_s); - const double weight = compensation_weight( - r_tx, - r_rx, - z_m - contribution.z_tx_ant, - z_m - contribution.z_rx_ant, - contribution.geo_ref, - contribution.angle_ref, - range_power, - angle_power - ); + const double geo = 1.0 / (r_tx * r_rx + 1e-12) + 1e-30; + const double weight = std::clamp(1.0 / (std::pow(geo / contribution.geo_ref, range_power) + 1e-12), + 0.0, kRangeWeightMax); coherent_sum += sample * weight; incoherent_sum += std::abs(sample) * weight; contribution_count += 1.0; @@ -1151,8 +842,8 @@ void normalize_pair_ascans( if (!(contribution_count > 0.0)) { continue; } - coherent_sum /= contribution_count; - incoherent_sum /= contribution_count; + coherent_sum /= contribution_count + 1e-12; + incoherent_sum /= contribution_count + 1e-12; result.coherent[cell_index] = coherent_sum; result.incoherent[cell_index] = incoherent_sum; result.image[cell_index] = std::abs(coherent_sum); @@ -1503,7 +1194,7 @@ void apply_depth_gate( const ObjectRecord& object, const std::vector& selected_traces, const GeometrySelection& selection, - double imaging_plane_y_m + double ground_depth_m, double pitch_rad ) -> std::vector { std::vector signature{}; signature.reserve(selected_traces.size()); @@ -1512,12 +1203,12 @@ void apply_depth_gate( const auto rx = trace.rx_local_index; const double r_tx = distance_3d( object.x_m - selection.x_tx[tx], - imaging_plane_y_m - selection.y_tx[tx], + bp::ground_y(object.z_m, ground_depth_m, pitch_rad) - selection.y_tx[tx], object.z_m - selection.z_tx[tx] ); const double r_rx = distance_3d( object.x_m - selection.x_rx[rx], - imaging_plane_y_m - selection.y_rx[rx], + bp::ground_y(object.z_m, ground_depth_m, pitch_rad) - selection.y_rx[rx], object.z_m - selection.z_rx[rx] ); signature.push_back(0.5 * (r_tx + r_rx)); @@ -1529,12 +1220,12 @@ void mark_sidelobe_candidates( std::vector& objects, const std::vector& selected_traces, const GeometrySelection& selection, - double imaging_plane_y_m + double ground_depth_m, double pitch_rad ) { std::vector> signatures{}; signatures.reserve(objects.size()); for (const auto& object : objects) { - signatures.push_back(bistatic_depth_signature(object, selected_traces, selection, imaging_plane_y_m)); + signatures.push_back(bistatic_depth_signature(object, selected_traces, selection, ground_depth_m, pitch_rad)); } for (std::size_t object_index = 0U; object_index < objects.size(); ++object_index) { @@ -1849,15 +1540,15 @@ void add_bp_score_metrics( } validate_collection_trace_order(run_config, collection); - const auto background_mean = build_background_mean(previous_collections, selection, live_config); + const auto background_mean = bp::background_mean(previous_collections, live_config.gpr_background_subtract_enabled, + live_config.gpr_background_mean_count); auto selected_traces = collect_selected_traces(collection, selection, background_mean); if (selected_traces.empty()) { return results; } - // Coherent BP fixes the medium to vacuum/air (eps_r = 1); the configurable - // relative_permittivity is a legacy-GPR-only knob. - const double velocity_mps = kSpeedOfLightMetersPerSec; + // Coherent BP propagates in air, as in Horns_motion_4x4_ground.py. + const double velocity_mps = bp::kWaveSpeed; const double start_hz = static_cast(live_config.gpr_start_freq_mhz) * 1'000'000.0; const double stop_hz = static_cast(live_config.gpr_stop_freq_mhz) * 1'000'000.0; const double min_depth_m = static_cast(live_config.gpr_min_depth_m); @@ -1866,36 +1557,12 @@ void add_bp_score_metrics( return results; } - // Intra-sweep speed correction before the IFFT. The Tx interleave slot is the - // Tx local index (outputs are sorted), with slot_count = number of selected Tx. - // tx_sweep_time is derived per-collection from the acquisition timestamps: - // one Tx's interleaved sweep spans the whole frame, so capture_span / N_tx. - // Speed comes from the socket-fed live config; look-angle/direction from config. - const auto motion_mode = parse_motion_mode(live_config.gpr_motion_mode); - const std::size_t motion_slot_count = selection.output_positions.size(); - const double capture_span_s = - collection.capture_end_ns > collection.capture_start_ns - ? static_cast(collection.capture_end_ns - collection.capture_start_ns) * 1e-9 - : 0.0; - const double tx_sweep_time_s = - motion_slot_count > 0U ? capture_span_s / static_cast(motion_slot_count) : 0.0; - const double motion_speed_mps = static_cast(live_config.gpr_speed_m_s); - const double motion_look_angle_deg = static_cast(live_config.gpr_look_angle_deg); - const double motion_direction_sign = static_cast(live_config.gpr_direction_sign); + const auto timing = bp::collection_timing(collection); + const double motion_look_angle_deg = live_config.gpr_look_angle_deg; for (auto& trace : selected_traces) { - apply_intra_sweep_motion_correction( - trace, - trace.tx_local_index, - motion_slot_count, - start_hz, - stop_hz, - velocity_mps, - motion_speed_mps, - motion_look_angle_deg, - motion_direction_sign, - tx_sweep_time_s, - motion_mode - ); + bp::apply_motion_phase(trace.s21, collection.traces[trace.run_order].frequency_hz, timing.clocks[trace.run_order], + live_config.gpr_speed_m_s, motion_look_angle_deg * kPi / 180.0, + live_config.gpr_direction_sign, live_config.gpr_motion_mode == "int_focus", start_hz, stop_hz); } std::unordered_map ascans_by_pair{}; @@ -1912,9 +1579,30 @@ void add_bp_score_metrics( if (ascans_by_pair.empty()) { return results; } - normalize_pair_ascans(ascans_by_pair, velocity_mps, min_depth_m, max_depth_m); - - const double imaging_plane_y_m = static_cast(live_config.gpr_imaging_plane_y_m); + std::vector>> pairs; + for (const auto& trace : selected_traces) { + const auto found = ascans_by_pair.find(make_pair_key(trace.tx_local_index, trace.rx_local_index)); + if (found != ascans_by_pair.end()) { pairs.emplace_back(found->second.samples); } + } + const double dt = ascans_by_pair.begin()->second.dt_s; + double x_min = selection.x_tx.front(), x_max = x_min, max_abs_x = 0.0; + for (const auto* xs : {&selection.x_tx, &selection.x_rx}) { + for (const double x : *xs) { + x_min = std::min(x_min, x); x_max = std::max(x_max, x); max_abs_x = std::max(max_abs_x, std::abs(x)); + } + } + if (live_config.pair_depth_equalize) { + for (const auto& [key, ascan] : ascans_by_pair) { + if (ascan.dt_s != dt) { throw std::runtime_error("PAIR_DEPTH_EQUALIZE requires a common frequency grid"); } + } + bp::equalize_pairs_by_depth(pairs, dt * velocity_mps / 2.0, + bp::equalize_depth_limit(max_depth_m, x_min - kXMarginM, x_max + kXMarginM, max_abs_x)); + } + for (auto& [key, ascan] : ascans_by_pair) { + bp::normalize_pair(std::span(ascan.samples), ascan.dt_s * velocity_mps / 2.0, min_depth_m, max_depth_m); + } + const double ground_depth_m = live_config.gpr_bp_ground_depth_m; + const double pitch_rad = motion_look_angle_deg * kPi / 180.0; // The imaging grid (90k cells x 6 distance fields) only depends on antenna // geometry and the depth window, which are constant across a run, so it is @@ -1923,9 +1611,9 @@ void add_bp_score_metrics( // backprojection workers join before it returns), so a local static is safe. static std::vector cached_grid_signature; static GridDefinition cached_grid; - const auto signature = grid_signature(selection, max_depth_m, kGridZMinM, imaging_plane_y_m); + const auto signature = grid_signature(selection, max_depth_m, kGridZMinM, ground_depth_m, pitch_rad); if (cached_grid.x_grid.empty() || signature != cached_grid_signature) { - cached_grid = build_grid(selection, max_depth_m, kGridZMinM, imaging_plane_y_m); + cached_grid = build_grid(selection, max_depth_m, kGridZMinM, ground_depth_m, pitch_rad); cached_grid_signature = signature; } const GridDefinition& grid = cached_grid; @@ -1938,12 +1626,11 @@ void add_bp_score_metrics( ascans_by_pair, grid, selection, - imaging_plane_y_m, + ground_depth_m, pitch_rad, velocity_mps, min_depth_m, max_depth_m, - std::max(0.0, static_cast(live_config.gpr_range_comp_power)), - 0.0 // angle compensation is fixed off for coherent BP + std::max(0.0, static_cast(live_config.gpr_range_comp_power)) ); if (bp.image.empty()) { return results; @@ -1956,7 +1643,7 @@ void add_bp_score_metrics( auto objects = find_bp_objects(display_map, grid, static_cast(live_config.gpr_object_min_frac)); add_local_prominence_metrics(objects, display_map, grid, min_depth_m, max_depth_m); add_incoherent_support_metrics(objects, incoherent_display_map, bp.coherence_factor); - mark_sidelobe_candidates(objects, selected_traces, selection, imaging_plane_y_m); + mark_sidelobe_candidates(objects, selected_traces, selection, ground_depth_m, pitch_rad); add_bp_score_metrics(objects, live_config); if (live_config.gpr_remove_sidelobe_objects_enabled) { diff --git a/data_acq_and_processing/processing/processors/src/gpr_legacy_processor.ipp b/data_acq_and_processing/processing/processors/src/gpr_legacy_processor.ipp deleted file mode 100644 index 46072f4..0000000 --- a/data_acq_and_processing/processing/processors/src/gpr_legacy_processor.ipp +++ /dev/null @@ -1,1066 +0,0 @@ -// Legacy MIMO GPR — ellipse-intersection localizer with motion compensation. -// -// This translation unit is included from `gpr_processor.cpp` *after* -// `gpr_backprojection_processor.ipp`, which defines the shared building blocks -// (kPi, SelectedTrace, GeometrySelection, distance_3d, fft_inplace, ...). Do -// not include this file directly. -// -// Pipeline overview (mirrors the Python reference Ellips_motion_remake_2.py): -// 1. Pre-process each pair: optional background subtraction (already done in -// collect_selected_traces); optional intra-sweep phase correction of S21 -// before the IFFT — compensates radar displacement that happens *inside* -// one sweep where the frequencies are stepped linearly in time. -// 2. IFFT each pair → A-scan; find peaks above an SNR threshold within the -// depth gate; record both raw and attenuation-compensated SNR. -// 3. Apply coarse per-event motion correction so every peak carries a -// motion-corrected (tau_corr, z_corr) on top of the apparent values. -// 4. CLEAN-style iterative ellipse intersection: build a soft Gaussian-shell -// accumulator, take the strongest pixel, count agreeing pairs, suppress -// its depth band, repeat. -// 5. Optional extended-mode region detection for diffuse reflectors. -// -// Sweep-event model — radar topology matters: -// * Matrix radars (`librevna_multi`) fire one Tx at a time and -// receive on all Rx channels in parallel. A run of 8 traces is just 2 -// Tx-events; all (tx_k, *) pairs share one timestamp. -// * Sequential radars (single librevna with switches, rph_radar) -// measure each pair separately. A run of 8 traces is 8 separate sweeps; -// every pair has its own timestamp. -// Both cases reduce to: there are N events in the frame, each event lasts -// `event_duration_s = (capture_end_ns - capture_start_ns) / N`. What changes -// is how event indices are assigned to pairs — by Tx for matrix radars, by -// trace run-order for sequential ones. `event_duration_s` is derived from -// the collection metadata, never from a live-config knob. - -constexpr double kLegacyGridZMinM = 0.20; -constexpr double kLegacySmoothSigma = 3.0; -constexpr double kLegacyCleanSuppressRadiusM = 0.07; -constexpr double kLegacyCleanThresholdFrac = 0.05; -constexpr std::size_t kLegacyMaxObjects = 15U; -constexpr double kLegacyExtendedThresholdFrac = 0.75; -constexpr double kLegacyExtendedMinAreaCm2 = 2.0; -constexpr double kLegacyAttenuationReferenceDepthM = 3.0; - -struct LegacyAscanResult { - std::vector time_s{}; - std::vector depth_m{}; - std::vector amplitude{}; - double bandwidth_hz = 0.0; -}; - -struct LegacyPeakRecord { - double z_app = 0.0; - double tau = 0.0; - double tau_corr = 0.0; - double z_corr = 0.0; - double snr_raw = 0.0; - double snr_comp = 0.0; -}; - -struct LegacyPointRecord { - double x_m = 0.0; - double z_m = 0.0; - double score = 0.0; -}; - -struct LegacyRegionRecord { - double x_m = 0.0; - double z_m = 0.0; - double score = 0.0; - double pixel_count = 0.0; - std::vector mask{}; -}; - -// Per-pair timing snapshot. For matrix radars, all (tx_k, *) pairs share the -// same row; for sequential radars every pair has a distinct row. Indexing by -// pair keeps the rest of the pipeline ignorant of the radar topology. -struct LegacyEventTiming { - std::size_t event_index = 0U; // 0-based order of the event in the frame - double t_start_s = 0.0; // start of this event sweep relative to frame - double t_center_s = 0.0; // center of this event sweep - double dt_ref_s = 0.0; // t_center_s - t_frame_ref_s - double dz_motion_m = 0.0; // direction_sign * speed * dt_ref * cos(theta) - double dtau_motion_s = 0.0; // 2 * dz_motion_m / velocity -}; - -struct LegacyMotionTiming { - double event_duration_s = 0.0; // (capture_end - capture_start) / num_events - double cos_look_angle = 1.0; - double direction_sign = 1.0; - double speed_m_s = 0.0; - bool apply_intra_sweep_phase = false; - bool parallel_rx_per_tx_event = false; - std::unordered_map by_pair{}; -}; - -enum class LegacyPeakDomain { - Apparent, - Corrected, -}; - -[[nodiscard]] auto find_legacy_peak_indices( - const std::vector& values, - std::size_t start_index, - std::size_t stop_index, - double threshold, - std::size_t min_distance -) -> std::vector { - if (stop_index <= start_index + 2U) { - return {}; - } - - std::vector candidates{}; - for (std::size_t index = start_index + 1U; index + 1U < stop_index; ++index) { - const bool below_threshold = values[index] < threshold; - const bool not_rising = values[index] <= values[index - 1U]; - const bool still_rising = values[index] < values[index + 1U]; - if (below_threshold || not_rising || still_rising) { - continue; - } - candidates.push_back(index); - } - - std::sort(candidates.begin(), candidates.end(), [&](std::size_t left, std::size_t right) { - return values[left] > values[right]; - }); - - std::vector selected{}; - for (const auto index : candidates) { - bool keep = true; - for (const auto accepted : selected) { - const auto distance = accepted > index ? accepted - index : index - accepted; - if (distance < min_distance) { - keep = false; - break; - } - } - if (keep) { - selected.push_back(index); - } - } - - std::sort(selected.begin(), selected.end()); - return selected; -} - -// Expected geo*pattern attenuation for a target directly under the virtual -// pair center at depth `z_app`. Uses full 3D antenna coordinates so this -// generalizes to non-coplanar antenna layouts; boresight is taken along +Z. -[[nodiscard]] auto legacy_attenuation_at_depth( - std::size_t tx_index, - std::size_t rx_index, - double z_app, - const GeometrySelection& selection, - double imaging_plane_y_m -) -> double { - const double x_center = 0.5 * (selection.x_tx[tx_index] + selection.x_rx[rx_index]); - const double r_tx = distance_3d( - x_center - selection.x_tx[tx_index], - imaging_plane_y_m - selection.y_tx[tx_index], - z_app - selection.z_tx[tx_index] - ); - const double r_rx = distance_3d( - x_center - selection.x_rx[rx_index], - imaging_plane_y_m - selection.y_rx[rx_index], - z_app - selection.z_rx[rx_index] - ); - const double cos_tx = (z_app - selection.z_tx[tx_index]) / (r_tx + 1e-12); - const double cos_rx = (z_app - selection.z_rx[rx_index]) / (r_rx + 1e-12); - const double geo = 1.0 / ((r_tx * r_rx) + 1e-12); - const double pattern = (cos_tx * cos_tx) * (cos_rx * cos_rx); - return (geo * pattern) + 1e-30; -} - -[[nodiscard]] auto lower_bound_index(const std::vector& axis, double value) -> std::size_t { - const auto found = std::lower_bound(axis.begin(), axis.end(), value); - return static_cast(std::distance(axis.begin(), found)); -} - -[[nodiscard]] auto compute_legacy_ascan( - const SelectedTrace& trace, - double start_hz, - double stop_hz, - double velocity_mps -) -> LegacyAscanResult { - LegacyAscanResult result{}; - if (trace.frequency_hz.size() != trace.s21.size()) { - return result; - } - - const double low_hz = std::min(start_hz, stop_hz); - const double high_hz = std::max(start_hz, stop_hz); - std::vector frequency_hz{}; - std::vector> s21{}; - frequency_hz.reserve(trace.frequency_hz.size()); - s21.reserve(trace.s21.size()); - for (std::size_t index = 0U; index < trace.frequency_hz.size(); ++index) { - const double frequency_value = trace.frequency_hz[index]; - if (frequency_value < low_hz || frequency_value > high_hz) { - continue; - } - frequency_hz.push_back(frequency_value); - s21.push_back(trace.s21[index]); - } - - if (frequency_hz.size() < 2U) { - return result; - } - - const std::size_t point_count = frequency_hz.size(); - const double df_hz = (frequency_hz.back() - frequency_hz.front()) / static_cast(point_count - 1U); - if (!(df_hz > 0.0)) { - return result; - } - - const auto start_bin = static_cast(std::llround(frequency_hz.front() / df_hz)); - if (start_bin < 0) { - return result; - } - - const auto start_index = static_cast(start_bin); - const std::size_t min_fft_len = 2U * (start_index + point_count - 1U); - const std::size_t fft_len = next_power_of_two(min_fft_len); - if (fft_len < min_fft_len || start_index > fft_len || point_count > (fft_len - start_index)) { - return result; - } - - std::vector> spectrum(fft_len, std::complex(0.0, 0.0)); - for (std::size_t index = 0U; index < point_count; ++index) { - const double window = point_count > 1U - ? 0.5 - (0.5 * std::cos((2.0 * kPi * static_cast(index)) / static_cast(point_count - 1U))) - : 1.0; - spectrum[start_index + index] = s21[index] * window; - } - - fft_inplace(spectrum, true); - - result.bandwidth_hz = frequency_hz.back() - frequency_hz.front(); - const double dt_s = 1.0 / (static_cast(fft_len) * df_hz); - result.time_s.resize(fft_len, 0.0); - result.depth_m.resize(fft_len, 0.0); - result.amplitude.resize(fft_len, 0.0); - for (std::size_t index = 0U; index < fft_len; ++index) { - result.time_s[index] = static_cast(index) * dt_s; - result.depth_m[index] = result.time_s[index] * velocity_mps * 0.5; - result.amplitude[index] = std::abs(spectrum[index]); - } - return result; -} - -[[nodiscard]] auto legacy_peak_depth_for_domain(const LegacyPeakRecord& peak, LegacyPeakDomain domain) -> double { - return domain == LegacyPeakDomain::Corrected ? peak.z_corr : peak.z_app; -} - -[[nodiscard]] auto legacy_peak_tau_for_domain(const LegacyPeakRecord& peak, LegacyPeakDomain domain) -> double { - return domain == LegacyPeakDomain::Corrected ? peak.tau_corr : peak.tau; -} - -[[nodiscard]] auto is_legacy_depth_excluded( - double z_value, - const std::vector>& ranges -) -> bool { - for (const auto& [low, high] : ranges) { - if (z_value >= low && z_value <= high) { - return true; - } - } - return false; -} - -// True when `z_value` should participate in the ellipse vote — both the static -// depth gate ([min, max]) and the per-step CLEAN-suppression bands must allow it. -// Mirrors Python's `_peak_in_work_depth` + the per-step `excl_z` filter. -[[nodiscard]] auto is_legacy_depth_active( - double z_value, - double min_depth_m, - double max_depth_m, - const std::vector>& excluded_ranges -) -> bool { - if (z_value < min_depth_m || z_value > max_depth_m) { - return false; - } - return !is_legacy_depth_excluded(z_value, excluded_ranges); -} - -[[nodiscard]] auto is_matrix_radar_model(const std::string& model) -> bool { - return model == "librevna_multi"; -} - -// Assign an `event_index` to every selected pair. The mapping depends on the -// radar topology: -// * Matrix radar — all (tx_k, *) pairs share one event, ordered by the Tx's -// first appearance in run order. So 8 traces with 2 Tx's give 2 events. -// * Sequential radar — every pair is its own event, ordered by run order. -// So 8 traces give 8 events. -[[nodiscard]] auto assign_event_indices( - const std::vector& selected_traces, - bool matrix_radar -) -> std::pair, std::size_t> { - std::unordered_map event_index_by_pair{}; - event_index_by_pair.reserve(selected_traces.size()); - - if (matrix_radar) { - std::unordered_map event_by_tx{}; - std::size_t next_event = 0U; - for (const auto& trace : selected_traces) { - const auto [event_it, inserted] = event_by_tx.try_emplace(trace.tx_local_index, next_event); - if (inserted) { - ++next_event; - } - event_index_by_pair[make_pair_key(trace.tx_local_index, trace.rx_local_index)] = event_it->second; - } - return {std::move(event_index_by_pair), next_event}; - } - - // Sequential mode: rank traces by their run_order so the event index is a - // dense 0..N-1 sequence regardless of any holes in run_order. - std::vector> ordered{}; - ordered.reserve(selected_traces.size()); - for (const auto& trace : selected_traces) { - ordered.emplace_back(trace.run_order, make_pair_key(trace.tx_local_index, trace.rx_local_index)); - } - std::sort(ordered.begin(), ordered.end(), - [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; }); - for (std::size_t event_index = 0U; event_index < ordered.size(); ++event_index) { - event_index_by_pair[ordered[event_index].second] = event_index; - } - return {std::move(event_index_by_pair), ordered.size()}; -} - -// Build per-pair motion timing. `event_duration_s` is derived from collection -// metadata as `(capture_end_ns - capture_start_ns) / num_events` — it is the -// duration of one sweep event in the frame, never a live-config knob. If the -// motion model is disabled (speed = 0 and phase correction off), the function -// still returns one row per pair so downstream code can index uniformly. -[[nodiscard]] auto compute_legacy_motion_timing( - const std::vector& selected_traces, - bool matrix_radar, - std::uint64_t capture_start_ns, - std::uint64_t capture_end_ns, - const ProcessingLiveConfig& live_config, - double velocity_mps -) -> LegacyMotionTiming { - LegacyMotionTiming timing{}; - timing.speed_m_s = static_cast(live_config.gpr_speed_m_s); - timing.direction_sign = static_cast(live_config.gpr_direction_sign); - timing.cos_look_angle = std::cos((static_cast(live_config.gpr_look_angle_deg) * kPi) / 180.0); - timing.apply_intra_sweep_phase = live_config.gpr_apply_freq_phase_correction; - timing.parallel_rx_per_tx_event = matrix_radar; - - if (selected_traces.empty()) { - return timing; - } - - auto [event_index_by_pair, num_events] = assign_event_indices(selected_traces, matrix_radar); - if (num_events == 0U) { - return timing; - } - - const bool speed_meaningful = std::abs(timing.speed_m_s) > 1e-12; - const bool model_active = speed_meaningful || timing.apply_intra_sweep_phase; - - // No motion and no phase correction — populate with zeroed rows and bail. - if (!model_active) { - for (const auto& [pair_key, event_index] : event_index_by_pair) { - timing.by_pair.emplace(pair_key, LegacyEventTiming{.event_index = event_index}); - } - return timing; - } - - if (capture_end_ns <= capture_start_ns) { - throw std::runtime_error( - "Legacy GPR motion model requires valid capture_start_ns/capture_end_ns metadata" - ); - } - - const double total_span_s = static_cast(capture_end_ns - capture_start_ns) * 1e-9; - const double event_duration_s = total_span_s / static_cast(num_events); - if (!(event_duration_s > 0.0)) { - throw std::runtime_error("Legacy GPR motion model requires positive per-event duration"); - } - timing.event_duration_s = event_duration_s; - - // Reference anchor for dt_ref: either the midpoint between the first and - // last event centers (frame_center) or just the first event center - // (first_tx_event). Matches Python's `MOTION_CONFIG.reference_mode`. - const double first_center_s = 0.5 * event_duration_s; - const double last_center_s = (static_cast(num_events) - 0.5) * event_duration_s; - const double t_ref_s = live_config.gpr_reference_mode == LegacyGprReferenceMode::FirstTxEvent - ? first_center_s - : 0.5 * (first_center_s + last_center_s); - - const double motion_factor = speed_meaningful - ? timing.direction_sign * timing.speed_m_s * timing.cos_look_angle - : 0.0; - - for (const auto& [pair_key, event_index] : event_index_by_pair) { - LegacyEventTiming row{}; - row.event_index = event_index; - row.t_start_s = static_cast(event_index) * event_duration_s; - row.t_center_s = row.t_start_s + (0.5 * event_duration_s); - row.dt_ref_s = row.t_center_s - t_ref_s; - row.dz_motion_m = motion_factor * row.dt_ref_s; - row.dtau_motion_s = (2.0 * row.dz_motion_m) / velocity_mps; - timing.by_pair.emplace(pair_key, row); - } - - return timing; -} - -// Compensate for the radar moving while a single sweep is being recorded. -// Frequencies inside one sweep are stepped linearly in time, so each frequency -// is sampled from a slightly different antenna position. The correction shifts -// each frequency's phase back to the event center; after that the IFFT -// produces an A-scan as if the whole sweep were captured at one position. -void apply_intra_sweep_phase_correction( - SelectedTrace& trace, - const LegacyEventTiming& timing, - const LegacyMotionTiming& motion, - double velocity_mps -) { - if (!motion.apply_intra_sweep_phase || !(motion.event_duration_s > 0.0)) { - return; - } - if (!(std::abs(motion.speed_m_s) > 1e-12)) { - return; // No motion → zero phase shift, no-op. - } - const std::size_t point_count = trace.frequency_hz.size(); - if (point_count < 2U || trace.s21.size() != point_count) { - return; - } - - const double dt_freq_s = motion.event_duration_s / static_cast(point_count - 1U); - const double motion_factor = motion.direction_sign * motion.speed_m_s * motion.cos_look_angle; - - for (std::size_t index = 0U; index < point_count; ++index) { - const double t_abs_s = timing.t_start_s + (static_cast(index) * dt_freq_s); - const double dt_intra_s = t_abs_s - timing.t_center_s; - const double delta_path_m = 2.0 * motion_factor * dt_intra_s; - const double phi = (2.0 * kPi * trace.frequency_hz[index] * delta_path_m) / velocity_mps; - trace.s21[index] *= std::polar(1.0, phi); - } -} - -void apply_legacy_motion_correction( - std::unordered_map>& peaks_by_pair, - const LegacyMotionTiming& motion, - double velocity_mps -) { - for (auto& [key, peaks] : peaks_by_pair) { - const auto timing_it = motion.by_pair.find(key); - if (timing_it == motion.by_pair.end()) { - throw std::runtime_error("Missing motion timing for selected legacy GPR pair"); - } - const double dtau_motion_s = timing_it->second.dtau_motion_s; - for (auto& peak : peaks) { - peak.tau_corr = peak.tau + dtau_motion_s; - peak.z_corr = 0.5 * velocity_mps * peak.tau_corr; - } - } -} - -[[nodiscard]] auto build_legacy_accumulator( - const GridDefinition& grid, - const std::unordered_map>& peaks_by_pair, - const std::vector>& exclude_ranges, - double velocity_mps, - double shell_sigma_m, - double min_depth_m, - double max_depth_m, - const std::vector& x_tx, - const std::vector& x_rx, - LegacyPeakDomain domain -) -> std::vector { - const std::size_t width = grid.x_grid.size(); - const std::size_t height = grid.z_grid.size(); - std::vector accumulator(width * height, 0.0); - if (!(shell_sigma_m > 0.0)) { - return accumulator; - } - - for (std::size_t tx_index = 0U; tx_index < x_tx.size(); ++tx_index) { - for (std::size_t rx_index = 0U; rx_index < x_rx.size(); ++rx_index) { - const auto peak_it = peaks_by_pair.find( - make_pair_key(static_cast(tx_index), static_cast(rx_index)) - ); - if (peak_it == peaks_by_pair.end()) { - continue; - } - - const auto& tx_grid = grid.tx_distance_grids[tx_index]; - const auto& rx_grid = grid.rx_distance_grids[rx_index]; - for (const auto& peak : peak_it->second) { - const double depth = legacy_peak_depth_for_domain(peak, domain); - if (!is_legacy_depth_active(depth, min_depth_m, max_depth_m, exclude_ranges)) { - continue; - } - - const double range_total = velocity_mps * legacy_peak_tau_for_domain(peak, domain); - for (std::size_t cell_index = 0U; cell_index < accumulator.size(); ++cell_index) { - const double residual = tx_grid[cell_index] + rx_grid[cell_index] - range_total; - const double shell = std::exp(-0.5 * std::pow(residual / shell_sigma_m, 2.0)); - accumulator[cell_index] += shell * peak.snr_comp; - } - } - } - } - - return accumulator; -} - -[[nodiscard]] auto count_legacy_agreeing_ellipses( - double x_est, - double z_est, - const std::unordered_map>& peaks_by_pair, - const std::vector>& exclude_ranges, - const std::vector& x_tx, - const std::vector& x_rx, - double velocity_mps, - double shell_sigma_m, - double min_depth_m, - double max_depth_m, - LegacyPeakDomain domain -) -> double { - std::size_t count = 0U; - for (std::size_t tx_index = 0U; tx_index < x_tx.size(); ++tx_index) { - for (std::size_t rx_index = 0U; rx_index < x_rx.size(); ++rx_index) { - const auto peak_it = peaks_by_pair.find( - make_pair_key(static_cast(tx_index), static_cast(rx_index)) - ); - if (peak_it == peaks_by_pair.end()) { - continue; - } - - for (const auto& peak : peak_it->second) { - const double depth = legacy_peak_depth_for_domain(peak, domain); - if (!is_legacy_depth_active(depth, min_depth_m, max_depth_m, exclude_ranges)) { - continue; - } - - const double r_tx = std::hypot(x_est - x_tx[tx_index], z_est); - const double r_rx = std::hypot(x_est - x_rx[rx_index], z_est); - if (std::abs((r_tx + r_rx) - (velocity_mps * legacy_peak_tau_for_domain(peak, domain))) < - shell_sigma_m * 6.0) { - count += 1U; - break; - } - } - } - } - - return static_cast(count); -} - -[[nodiscard]] auto find_legacy_centroid( - const std::vector& values, - std::size_t width, - std::size_t height, - std::size_t row, - std::size_t col, - std::size_t radius_z, - std::size_t radius_x, - const std::vector& x_grid, - const std::vector& z_grid -) -> std::pair { - if (values.empty()) { - return {x_grid[col], z_grid[row]}; - } - - const auto row_start = row > radius_z ? row - radius_z : 0U; - const auto row_stop = std::min(height, row + radius_z + 1U); - const auto col_start = col > radius_x ? col - radius_x : 0U; - const auto col_stop = std::min(width, col + radius_x + 1U); - - double weight_sum = 0.0; - double row_weighted_sum = 0.0; - double col_weighted_sum = 0.0; - for (std::size_t sample_row = row_start; sample_row < row_stop; ++sample_row) { - for (std::size_t sample_col = col_start; sample_col < col_stop; ++sample_col) { - const double weight = values[(sample_row * width) + sample_col]; - weight_sum += weight; - row_weighted_sum += static_cast(sample_row) * weight; - col_weighted_sum += static_cast(sample_col) * weight; - } - } - - if (!(weight_sum > 0.0)) { - return {x_grid[col], z_grid[row]}; - } - - const auto centroid_row = - clamp_index(static_cast(std::llround(row_weighted_sum / weight_sum)), height); - const auto centroid_col = - clamp_index(static_cast(std::llround(col_weighted_sum / weight_sum)), width); - return {x_grid[centroid_col], z_grid[centroid_row]}; -} - -[[nodiscard]] auto clean_legacy_find_points( - const GridDefinition& grid, - const std::unordered_map>& peaks_by_pair, - const std::vector& x_tx, - const std::vector& x_rx, - double velocity_mps, - double shell_sigma_m, - double min_depth_m, - double max_depth_m, - LegacyPeakDomain domain -) -> std::pair, std::vector> { - std::vector found{}; - const auto accumulator = build_legacy_accumulator( - grid, peaks_by_pair, {}, velocity_mps, shell_sigma_m, min_depth_m, max_depth_m, x_tx, x_rx, domain - ); - const double initial_max = max_value(accumulator); - if (!(initial_max > 0.0) || grid.x_grid.size() < 2U || grid.z_grid.size() < 2U) { - return {found, gaussian_filter_2d(accumulator, grid.x_grid.size(), grid.z_grid.size(), kLegacySmoothSigma)}; - } - - // Suppression radius rounds down to mirror Python's `int(0.07 / dx)`. - const double dx = grid.x_grid[1] - grid.x_grid[0]; - const double dz = grid.z_grid[1] - grid.z_grid[0]; - const auto radius_x = - static_cast(std::max(1.0, std::floor(kLegacyCleanSuppressRadiusM / std::max(dx, 1e-6)))); - const auto radius_z = - static_cast(std::max(1.0, std::floor(kLegacyCleanSuppressRadiusM / std::max(dz, 1e-6)))); - - std::vector> excluded_ranges{}; - for (std::size_t step = 0U; step < kLegacyMaxObjects; ++step) { - const auto current = build_legacy_accumulator( - grid, - peaks_by_pair, - excluded_ranges, - velocity_mps, - shell_sigma_m, - min_depth_m, - max_depth_m, - x_tx, - x_rx, - domain - ); - const auto smoothed = gaussian_filter_2d(current, grid.x_grid.size(), grid.z_grid.size(), kLegacySmoothSigma); - const double smoothed_max = max_value(smoothed); - if (!(smoothed_max > (kLegacyCleanThresholdFrac * initial_max))) { - break; - } - - const auto max_it = std::max_element(smoothed.begin(), smoothed.end()); - const auto max_index = static_cast(std::distance(smoothed.begin(), max_it)); - const auto peak_row = max_index / grid.x_grid.size(); - const auto peak_col = max_index % grid.x_grid.size(); - const auto [x_est, z_est] = find_legacy_centroid( - smoothed, - grid.x_grid.size(), - grid.z_grid.size(), - peak_row, - peak_col, - radius_z, - radius_x, - grid.x_grid, - grid.z_grid - ); - - found.push_back( - LegacyPointRecord{ - .x_m = x_est, - .z_m = z_est, - .score = count_legacy_agreeing_ellipses( - x_est, - z_est, - peaks_by_pair, - excluded_ranges, - x_tx, - x_rx, - velocity_mps, - shell_sigma_m, - min_depth_m, - max_depth_m, - domain - ), - } - ); - - // Collect depths of all peaks consistent with the just-detected point; - // they form the next exclusion band so subsequent CLEAN steps cannot - // re-pick the same target. - std::vector matched_depths{}; - for (std::size_t tx_index = 0U; tx_index < x_tx.size(); ++tx_index) { - for (std::size_t rx_index = 0U; rx_index < x_rx.size(); ++rx_index) { - const auto peak_it = peaks_by_pair.find( - make_pair_key(static_cast(tx_index), static_cast(rx_index)) - ); - if (peak_it == peaks_by_pair.end()) { - continue; - } - for (const auto& peak : peak_it->second) { - const double depth = legacy_peak_depth_for_domain(peak, domain); - if (!is_legacy_depth_active(depth, min_depth_m, max_depth_m, excluded_ranges)) { - continue; - } - const double r_tx = std::hypot(x_est - x_tx[tx_index], z_est); - const double r_rx = std::hypot(x_est - x_rx[rx_index], z_est); - if (std::abs((r_tx + r_rx) - (velocity_mps * legacy_peak_tau_for_domain(peak, domain))) < - shell_sigma_m * 3.0) { - matched_depths.push_back(depth); - } - } - } - } - - if (!matched_depths.empty()) { - const auto [min_it, max_it_depth] = std::minmax_element(matched_depths.begin(), matched_depths.end()); - excluded_ranges.emplace_back(*min_it - shell_sigma_m, *max_it_depth + shell_sigma_m); - } - } - - return {found, gaussian_filter_2d(accumulator, grid.x_grid.size(), grid.z_grid.size(), kLegacySmoothSigma)}; -} - -[[nodiscard]] auto extended_legacy_find_regions( - const GridDefinition& grid, - const std::unordered_map>& peaks_by_pair, - const std::vector& x_tx, - const std::vector& x_rx, - double velocity_mps, - double shell_sigma_m, - double min_depth_m, - double max_depth_m -) -> std::pair, std::vector> { - std::vector regions{}; - const auto accumulator = build_legacy_accumulator( - grid, - peaks_by_pair, - {}, - velocity_mps, - shell_sigma_m, - min_depth_m, - max_depth_m, - x_tx, - x_rx, - LegacyPeakDomain::Apparent - ); - const auto smoothed = gaussian_filter_2d(accumulator, grid.x_grid.size(), grid.z_grid.size(), kLegacySmoothSigma); - const double smoothed_max = max_value(smoothed); - if (!(smoothed_max > 0.0) || grid.x_grid.size() < 2U || grid.z_grid.size() < 2U) { - return {regions, smoothed}; - } - - const double dx_cm = std::abs(grid.x_grid[1] - grid.x_grid[0]) * 100.0; - const double dz_cm = std::abs(grid.z_grid[1] - grid.z_grid[0]) * 100.0; - const double pixel_area_cm2 = std::max(dx_cm * dz_cm, 1e-6); - const auto min_pixels = - static_cast(std::max(1.0, std::floor(kLegacyExtendedMinAreaCm2 / pixel_area_cm2))); - - const std::size_t width = grid.x_grid.size(); - const std::size_t height = grid.z_grid.size(); - const double threshold = kLegacyExtendedThresholdFrac * smoothed_max; - std::vector visited(width * height, 0U); - - for (std::size_t row = 0U; row < height; ++row) { - for (std::size_t col = 0U; col < width; ++col) { - const auto start_index = (row * width) + col; - if (visited[start_index] != 0U || smoothed[start_index] <= threshold) { - continue; - } - - std::vector stack{start_index}; - std::vector component{}; - visited[start_index] = 1U; - - while (!stack.empty()) { - const auto cell_index = stack.back(); - stack.pop_back(); - component.push_back(cell_index); - - const auto cell_row = cell_index / width; - const auto cell_col = cell_index % width; - const std::pair offsets[] = { - {-1, 0}, - {1, 0}, - {0, -1}, - {0, 1}, - }; - - for (const auto& [row_offset, col_offset] : offsets) { - const auto next_row = static_cast(cell_row) + row_offset; - const auto next_col = static_cast(cell_col) + col_offset; - if (next_row < 0 || next_col < 0) { - continue; - } - const bool row_out_of_bounds = next_row >= static_cast(height); - const bool col_out_of_bounds = next_col >= static_cast(width); - if (row_out_of_bounds || col_out_of_bounds) { - continue; - } - const auto next_index = - (static_cast(next_row) * width) + static_cast(next_col); - if (visited[next_index] != 0U || smoothed[next_index] <= threshold) { - continue; - } - visited[next_index] = 1U; - stack.push_back(next_index); - } - } - - if (component.size() < min_pixels) { - continue; - } - - LegacyRegionRecord region{}; - region.mask.assign(width * height, 0.0F); - double weight_sum = 0.0; - double x_weight_sum = 0.0; - double z_weight_sum = 0.0; - for (const auto cell_index : component) { - const auto cell_row = cell_index / width; - const auto cell_col = cell_index % width; - const double weight = smoothed[cell_index]; - weight_sum += weight; - x_weight_sum += grid.x_grid[cell_col] * weight; - z_weight_sum += grid.z_grid[cell_row] * weight; - region.mask[cell_index] = 1.0F; - } - - if (!(weight_sum > 0.0)) { - continue; - } - - region.x_m = x_weight_sum / weight_sum; - region.z_m = z_weight_sum / weight_sum; - region.score = count_legacy_agreeing_ellipses( - region.x_m, - region.z_m, - peaks_by_pair, - {}, - x_tx, - x_rx, - velocity_mps, - shell_sigma_m, - min_depth_m, - max_depth_m, - LegacyPeakDomain::Apparent - ); - region.pixel_count = static_cast(component.size()); - regions.push_back(std::move(region)); - } - } - - return {regions, smoothed}; -} - -[[nodiscard]] auto process_legacy_gpr( - const config::RunConfig& run_config, - const ipc::PreprocessedCollection& collection, - std::span previous_collections, - const ProcessingLiveConfig& live_config -) -> ipc::ResultCollection { - ipc::ResultCollection results{}; - - const auto selection = build_geometry_selection(run_config, live_config); - if (selection.input_positions.empty() || selection.output_positions.empty()) { - return results; - } - - validate_collection_trace_order(run_config, collection); - const auto background_mean = build_background_mean(previous_collections, selection, live_config); - auto selected_traces = collect_selected_traces(collection, selection, background_mean); - if (selected_traces.empty()) { - return results; - } - - const double velocity_mps = - kSpeedOfLightMetersPerSec / std::sqrt(std::max(1e-6, static_cast(run_config.gpr.relative_permittivity))); - const double start_hz = static_cast(live_config.gpr_start_freq_mhz) * 1'000'000.0; - const double stop_hz = static_cast(live_config.gpr_stop_freq_mhz) * 1'000'000.0; - const double min_depth_m = static_cast(live_config.gpr_min_depth_m); - const double max_depth_m = static_cast(live_config.gpr_max_depth_m); - if (!(max_depth_m > min_depth_m)) { - return results; - } - const double imaging_plane_y_m = static_cast(live_config.gpr_imaging_plane_y_m); - - // Motion timing is computed once per collection. Matrix radars get one - // event per Tx (parallel Rx); sequential radars get one event per pair. - const bool matrix_radar = is_matrix_radar_model(run_config.radar_model); - const auto motion_timing = compute_legacy_motion_timing( - selected_traces, - matrix_radar, - collection.capture_start_ns, - collection.capture_end_ns, - live_config, - velocity_mps - ); - - // Intra-sweep phase correction (frequency-domain) — happens BEFORE the IFFT - // because it modifies the S21 spectrum that compute_legacy_ascan consumes. - if (motion_timing.apply_intra_sweep_phase) { - for (auto& trace : selected_traces) { - const auto pair_key = make_pair_key(trace.tx_local_index, trace.rx_local_index); - const auto timing_it = motion_timing.by_pair.find(pair_key); - if (timing_it == motion_timing.by_pair.end()) { - continue; - } - apply_intra_sweep_phase_correction(trace, timing_it->second, motion_timing, velocity_mps); - } - } - - std::unordered_map ascans_by_pair{}; - double bandwidth_hz = 0.0; - for (const auto& trace : selected_traces) { - auto ascan = compute_legacy_ascan(trace, start_hz, stop_hz, velocity_mps); - if (ascan.amplitude.empty() || !(ascan.bandwidth_hz > 0.0)) { - continue; - } - bandwidth_hz = std::max(bandwidth_hz, ascan.bandwidth_hz); - ascans_by_pair.emplace(make_pair_key(trace.tx_local_index, trace.rx_local_index), std::move(ascan)); - } - if (ascans_by_pair.empty() || !(bandwidth_hz > 0.0)) { - return results; - } - - const auto grid = build_grid(selection, max_depth_m, kLegacyGridZMinM, imaging_plane_y_m); - if (grid.x_grid.empty() || grid.z_grid.empty()) { - return results; - } - - const double shell_sigma_m = velocity_mps / bandwidth_hz * 0.5; - const double snr_thresh = std::max(0.0, static_cast(live_config.gpr_snr_thresh)); - const double snr_comp_max = std::max(0.0, static_cast(live_config.gpr_snr_comp_max)); - const double comp_power = std::max(0.0, static_cast(live_config.gpr_comp_power)); - - std::unordered_map> peaks_by_pair{}; - for (std::size_t tx_index = 0U; tx_index < selection.x_tx.size(); ++tx_index) { - for (std::size_t rx_index = 0U; rx_index < selection.x_rx.size(); ++rx_index) { - const auto key = make_pair_key(static_cast(tx_index), static_cast(rx_index)); - const auto ascan_it = ascans_by_pair.find(key); - if (ascan_it == ascans_by_pair.end()) { - continue; - } - - const auto& ascan = ascan_it->second; - if (ascan.depth_m.size() < 3U || ascan.amplitude.size() < 3U) { - continue; - } - - const auto min_index = lower_bound_index(ascan.depth_m, min_depth_m); - const auto max_index = lower_bound_index(ascan.depth_m, max_depth_m); - if (max_index <= min_index + 2U || max_index > ascan.amplitude.size()) { - continue; - } - - const auto noise_begin = ascan.amplitude.begin() + static_cast(min_index); - const auto noise_end = ascan.amplitude.begin() + static_cast(max_index); - const double noise = median_copy(std::vector(noise_begin, noise_end)); - const double z_step = std::max(ascan.depth_m[1] - ascan.depth_m[0], 1e-6); - const std::size_t min_distance = static_cast(std::max( - 4.0, - std::floor(((velocity_mps / (2.0 * bandwidth_hz)) / z_step) * 0.7) - )); - const auto peak_indices = - find_legacy_peak_indices(ascan.amplitude, min_index, max_index, noise * snr_thresh, min_distance); - - const double attenuation_ref = legacy_attenuation_at_depth( - tx_index, rx_index, kLegacyAttenuationReferenceDepthM, selection, imaging_plane_y_m - ); - - auto& peaks = peaks_by_pair[key]; - peaks.reserve(peak_indices.size()); - for (const auto peak_index : peak_indices) { - const double z_app = ascan.depth_m[peak_index]; - const double snr_raw = ascan.amplitude[peak_index] / std::max(noise, 1e-12); - const double attenuation = - legacy_attenuation_at_depth(tx_index, rx_index, z_app, selection, imaging_plane_y_m); - const double snr_comp = std::min( - snr_raw / (std::pow(attenuation / attenuation_ref, comp_power) + 1e-12), - snr_comp_max - ); - peaks.push_back( - LegacyPeakRecord{ - .z_app = z_app, - .tau = ascan.time_s[peak_index], - .tau_corr = ascan.time_s[peak_index], - .z_corr = z_app, - .snr_raw = snr_raw, - .snr_comp = snr_comp, - } - ); - } - } - } - - if (peaks_by_pair.empty()) { - return results; - } - - if (live_config.legacy_gpr_mode == LegacyGprMode::Extended) { - const auto [regions, smoothed_accumulator] = extended_legacy_find_regions( - grid, - peaks_by_pair, - selection.x_tx, - selection.x_rx, - velocity_mps, - shell_sigma_m, - min_depth_m, - max_depth_m - ); - results.collection_payloads.push_back( - build_image_payload("gpr_accumulator", grid.x_grid, grid.z_grid, smoothed_accumulator) - ); - - std::vector> region_rows{}; - region_rows.reserve(regions.size()); - for (std::size_t index = 0U; index < regions.size(); ++index) { - const auto& region = regions[index]; - region_rows.push_back( - { - static_cast(region.x_m), - static_cast(region.z_m), - static_cast(region.score), - static_cast(region.pixel_count), - } - ); - results.collection_payloads.push_back( - build_image_payload( - "gpr_region_mask_" + std::to_string(index), - grid.x_grid, - grid.z_grid, - std::vector(region.mask.begin(), region.mask.end()) - ) - ); - } - results.collection_payloads.push_back(build_table_payload("gpr_region_centers", region_rows, 4U)); - return results; - } - - // Apply coarse per-Tx-event motion correction to the peak set produced - // above. After this step every peak carries both apparent and motion- - // corrected (tau, depth) values; the CLEAN search uses the corrected domain. - apply_legacy_motion_correction(peaks_by_pair, motion_timing, velocity_mps); - - const auto [points, smoothed_accumulator] = clean_legacy_find_points( - grid, - peaks_by_pair, - selection.x_tx, - selection.x_rx, - velocity_mps, - shell_sigma_m, - min_depth_m, - max_depth_m, - LegacyPeakDomain::Corrected - ); - results.collection_payloads.push_back( - build_image_payload("gpr_accumulator", grid.x_grid, grid.z_grid, smoothed_accumulator) - ); - - std::vector> point_rows{}; - point_rows.reserve(points.size()); - for (const auto& point : points) { - point_rows.push_back( - { - static_cast(point.x_m), - static_cast(point.z_m), - static_cast(point.score), - } - ); - } - results.collection_payloads.push_back(build_table_payload("gpr_points", point_rows, 3U)); - return results; -} diff --git a/data_acq_and_processing/processing/processors/src/gpr_processor.cpp b/data_acq_and_processing/processing/processors/src/gpr_processor.cpp index 43172ce..6882c4c 100644 --- a/data_acq_and_processing/processing/processors/src/gpr_processor.cpp +++ b/data_acq_and_processing/processing/processors/src/gpr_processor.cpp @@ -1,4 +1,5 @@ #include "gpr_processor.hpp" +#include "backprojection.hpp" #include #include @@ -22,7 +23,6 @@ namespace { // Algorithm bodies stay private to this translation unit; the public processor remains a small dispatcher. #include "gpr_backprojection_processor.ipp" -#include "gpr_legacy_processor.ipp" } // namespace @@ -39,17 +39,4 @@ auto GprProcessor::process_collection( return process_backprojection_gpr(run_config, collection, previous_collections, live_config, approach_filter_); } -auto LegacyGprProcessor::name() const -> std::string { - return "legacy_gpr"; -} - -auto LegacyGprProcessor::process_collection( - const config::RunConfig& run_config, - const ipc::PreprocessedCollection& collection, - std::span previous_collections, - const ProcessingLiveConfig& live_config -) -> ipc::ResultCollection { - return process_legacy_gpr(run_config, collection, previous_collections, live_config); -} - } // namespace radar::processing diff --git a/data_acq_and_processing/processing/processors/src/sar3d_gpu.cpp b/data_acq_and_processing/processing/processors/src/sar3d_gpu.cpp index 113ea6c..dec6acb 100644 --- a/data_acq_and_processing/processing/processors/src/sar3d_gpu.cpp +++ b/data_acq_and_processing/processing/processors/src/sar3d_gpu.cpp @@ -226,6 +226,34 @@ extern "C" __global__ void peak_planes( indices[y] = index; } +// Contiguous half-maximum interval through the joint peak on each scene axis. +// Interpolate the two crossings; use one voxel as the resolution floor. +extern "C" __global__ void peak_widths( + const float* volume, const double* gx, const double* gy, const double* gz, + const int nx, const int ny, const int nz, const int px, const int py, const int pz, + float* widths) +{ + const int a = (int)(blockIdx.x * blockDim.x + threadIdx.x); + if (a >= 3) return; + const int count[3] = {nx, ny, nz}, stride[3] = {1, nx*nz, nx}, peak[3] = {px, py, pz}; + const double* axis = a == 0 ? gx : a == 1 ? gy : gz; + const int origin = (py*nz + pz)*nx + px, k = peak[a], step = stride[a]; + const float half = .5f * volume[origin]; + int low = k, high = k; + while (low > 0 && volume[origin + (low-k-1)*step] >= half) --low; + while (high+1 < count[a] && volume[origin + (high-k+1)*step] >= half) ++high; + double left = axis[low], right = axis[high]; + if (low > 0) { + const float inside = volume[origin + (low-k)*step], outside = volume[origin + (low-k-1)*step]; + left -= (axis[low]-axis[low-1]) * (inside-half)/(inside-outside); + } + if (high+1 < count[a]) { + const float inside = volume[origin + (high-k)*step], outside = volume[origin + (high-k+1)*step]; + right += (axis[high+1]-axis[high]) * (inside-half)/(inside-outside); + } + widths[a] = (float)fmax(right-left, axis[1]-axis[0]); +} + // Orthographic max projection. The volume is non-negative, so float bit // patterns order like the values and an integer atomicMax does the job. The // pixel is found in double, so it does not hinge on float rounding. @@ -417,6 +445,7 @@ struct Gpu::Impl { CUfunction smooth = module.function("smooth"); CUfunction max_project = module.function("max_project"); CUfunction peak_planes = module.function("peak_planes"); + CUfunction peak_widths = module.function("peak_widths"); CUfunction project_oblique = module.function("project_oblique"); int smooth_radius = 0; DeviceBuffer taps; @@ -510,6 +539,13 @@ auto Gpu::Impl::project(const VolumeRequest& request) -> Projections { const auto plane_levels = download(levels, static_cast(ny)); const auto plane_indices = download(indices, static_cast(ny)); choose_peak(result, request, plane_levels, plane_indices); + if (result.level > 0.0F) { + const auto widths = gpu.peak_stats.reserve(3U * sizeof(float)); + launch(gpu.peak_widths, 3, volume, gx, gy, gz, nx, ny, nz, + static_cast(result.peak[2]), static_cast(result.peak[0]), static_cast(result.peak[1]), widths); + const auto measured = download(widths, 3U); + std::copy(measured.begin(), measured.end(), result.target_width.begin()); + } launch(gpu.max_project, front_size, volume, front, front_size, nx, plane, 1, nz, nx); launch(gpu.max_project, side_size, volume, side, side_size, nz, plane, nx, nx, 1); launch(gpu.max_project, top_size, volume, top, top_size, nx, nx, 1, ny, plane); diff --git a/data_acq_and_processing/processing/processors/src/sar3d_gpu.hpp b/data_acq_and_processing/processing/processors/src/sar3d_gpu.hpp index 7236a34..623c15c 100644 --- a/data_acq_and_processing/processing/processors/src/sar3d_gpu.hpp +++ b/data_acq_and_processing/processing/processors/src/sar3d_gpu.hpp @@ -10,7 +10,7 @@ // CUDA backend of the sar3d processor: A-scans of the band spectra, and the // backprojection of an aperture into the 3D volume, smoothed and projected. -// Only the projections and peak leave the backend. +// Only the projections, peak and its axial half-maximum widths leave the backend. namespace radar::processing::sar3d { class CudaUnavailable : public std::runtime_error { @@ -70,6 +70,7 @@ struct Projections { float level = 0.0F; float raw_level = 0.0F; std::array peak{}; // joint voxel maximum, [y, z, x] + std::array target_width{}; // contiguous FWHM through the peak, [X, Y, Z], metres }; // CUDA context and runtime-compiled kernels. A missing device raises diff --git a/data_acq_and_processing/processing/processors/src/sar3d_processor.cpp b/data_acq_and_processing/processing/processors/src/sar3d_processor.cpp index c26a6c3..09a7457 100644 --- a/data_acq_and_processing/processing/processors/src/sar3d_processor.cpp +++ b/data_acq_and_processing/processing/processors/src/sar3d_processor.cpp @@ -1,4 +1,5 @@ #include "sar3d_processor.hpp" +#include "backprojection.hpp" #include #include @@ -23,8 +24,8 @@ #include "sar3d_gpu.hpp" -// Port of the 3D SAR part of the reference notebook Multi_antenna_3D_clean_v1.ipynb -// (cells 0 and 4). Comments name the notebook functions and constants each step +// Port of the 3D SAR part of the reference notebook Multi_antenna_demonstrate_depthnorm.ipynb +// (cells 1 and 14). Comments name the notebook functions and constants each step // follows; the parameters keep the notebook names in the GUI. namespace radar::processing { namespace { @@ -32,10 +33,8 @@ namespace { using std::numbers::pi; // Notebook constants that are not live parameters. -constexpr double kWaveSpeed = 3e8; // v, eps_r = 1 +constexpr double kWaveSpeed = bp::kWaveSpeed; // v, eps_r = 1 constexpr std::size_t kOversample = 8U; // BP_OVERSAMPLE -constexpr double kPairNormPercentile = 50.0; // PAIR_NORM_PERCENTILE -constexpr double kPairNormEps = 1e-15; // PAIR_NORM_EPS constexpr double kCompRefDepth = 5.0; // COMP_REF_DEPTH constexpr float kCompRangeWeightMax = 5.0F; // COMP_RANGE_WEIGHT_MAX constexpr double kEdgeFrameWeight = 0.8; // SAR_EDGE_FRAME_WEIGHT @@ -45,9 +44,6 @@ constexpr double kNormEdgeMargin = 0.3; // SAR_NORM_EDGE_MARGIN_M // (x_ant.min() - 2 ... x_ant.max() + 2), Y is the height above the ground // (SAR_Y_RANGE_M), Z along the ground follows the depth gate. constexpr double kSceneXMargin = 2.0; -constexpr double kSceneYMin = -0.5; -constexpr double kSceneYMax = 2.0; -static_assert(kSceneYMax - kSceneYMin > 2.5 * kNormEdgeMargin, "else sar_norm_reference_mask keeps every plane"); // The 3D view looks along the camera of the notebook's 3D scene // (sar_scene_layout: Plotly eye (1.7, -2.2, 0.85) in its axes X, Z, Y). constexpr std::array kCameraEyeXzy{1.7, -2.2, 0.85}; @@ -71,10 +67,17 @@ struct Settings { bool use_compensation = true; // SAR_USE_COMPENSATION bool normalize_each_frame = true; // SAR_NORMALIZE_EACH_FRAME + bool pair_depth_equalize = true; // PAIR_DEPTH_EQUALIZE + bool subtract_mean = true; + std::size_t mean_count = 10U; + double x_size_m = 0.0, z_size_m = 0.0; // 0: notebook's automatic extent + double y_min_m = -0.5, y_max_m = 2.0; // SAR_Y_RANGE_M + // Everything the cached A-scans depend on. [[nodiscard]] auto ascan_key() const { return std::make_tuple(inputs, outputs, f_start_hz, f_stop_hz, min_depth_m, max_depth_m, speed_m_s, - look_angle_rad, normalize_each_frame); + look_angle_rad, normalize_each_frame, pair_depth_equalize, subtract_mean, mean_count, + tx, rx, x_size_m); } }; using AscanKey = decltype(std::declval().ascan_key()); @@ -127,6 +130,16 @@ void select_antennas( settings.comp_range_power = live.sar3d_comp_range_power; settings.use_compensation = live.sar3d_use_compensation; settings.normalize_each_frame = live.sar3d_normalize_each_frame; + settings.pair_depth_equalize = live.pair_depth_equalize; + settings.subtract_mean = live.gpr_background_subtract_enabled; + settings.mean_count = live.gpr_background_mean_count; + settings.x_size_m = live.sar3d_x_size_m; + settings.z_size_m = live.sar3d_z_size_m; + settings.y_min_m = live.sar3d_y_min_m; + settings.y_max_m = live.sar3d_y_max_m; + if (settings.x_size_m < 0.0 || settings.z_size_m < 0.0 || !(settings.y_max_m > settings.y_min_m)) { + throw std::runtime_error("SAR scene sizes must be non-negative and SAR_Y_RANGE_M must increase"); + } if (!(settings.f_stop_hz > settings.f_start_hz)) { throw std::runtime_error("F_STOP must be above F_START"); } @@ -152,73 +165,6 @@ void select_antennas( return *lower_it + (position - static_cast(lower)) * (upper - *lower_it); } -// When the samples of a trace were measured, relative to the acquisition centre -// of its collection (compute_pair_timestamps_for_snapshot and -// compute_frequency_sample_times). Traces sharing a capture window come from -// one sweep: at every frequency point its stimulus stages - the outputs, which -// are numbered in device stage order - take turns while all inputs receive. -struct TraceClock { - double start_s = 0.0; // sweep start - double event_s = 0.0; // sweep duration / (stages * points) - std::size_t stage = 0U; - std::size_t stages = 1U; - - [[nodiscard]] auto sample_time_s(std::size_t point) const -> double { - return start_s + (static_cast(stages) * point + stage) * event_s; - } -}; - -struct CollectionTiming { - std::uint64_t center_ns = 0U; // centre of the collection's capture window - std::vector clocks; // per collection trace -}; - -// Timing from the per-trace capture windows (snapshot_acquisition_timing); every -// trace takes part, so the stages do not depend on the INPUT_IDX/OUTPUT_IDX choice. -[[nodiscard]] auto collection_timing(const ipc::PreprocessedCollection& collection) -> CollectionTiming { - if (collection.traces.empty()) { - throw std::runtime_error("collection has no traces"); - } - std::map, std::vector> sweep_outputs{}; - std::uint64_t first = std::numeric_limits::max(); - std::uint64_t last = 0U; - for (const auto& trace : collection.traces) { - if (trace.capture_end_ns <= trace.capture_start_ns) { - throw std::runtime_error("collection has traces without a capture window"); - } - if (trace.frequency_hz.empty()) { - throw std::runtime_error("collection has a trace without frequency points"); - } - sweep_outputs[{trace.capture_start_ns, trace.capture_end_ns}].push_back(trace.combo.output_pos); - first = std::min(first, trace.capture_start_ns); - last = std::max(last, trace.capture_end_ns); - } - for (auto& [window, outputs] : sweep_outputs) { - std::sort(outputs.begin(), outputs.end()); - outputs.erase(std::unique(outputs.begin(), outputs.end()), outputs.end()); - } - - CollectionTiming timing{}; - const auto duration_ns = last - first; - timing.center_ns = first + duration_ns / 2U; - for (const auto& trace : collection.traces) { - const auto& stages = sweep_outputs.at({trace.capture_start_ns, trace.capture_end_ns}); - const auto stage = std::find(stages.begin(), stages.end(), trace.combo.output_pos) - stages.begin(); - TraceClock clock{}; - clock.start_s = 1e-9 * (static_cast(trace.capture_start_ns - first) - - 0.5 * static_cast(duration_ns)); - clock.stage = stage; - clock.stages = stages.size(); - clock.event_s = 1e-9 * static_cast(trace.capture_end_ns - trace.capture_start_ns) / - static_cast(clock.stages) / trace.frequency_hz.size(); - timing.clocks.push_back(clock); - } - return timing; -} - -// Band of one trace, ready for the IFFT (apply_intra_sweep_phase_correction and -// compute_ascan_bp up to the IFFT): the radar motion removed as a phase, then -// the Hann window over the band. struct Band { std::size_t first_bin = 0U; // k0, the IFFT bin of the first band point std::size_t size = 0U; // IFFT length: 2(k0 + n - 1) rounded up to a power of two, x BP_OVERSAMPLE @@ -226,7 +172,8 @@ struct Band { std::vector> spectrum{}; }; -[[nodiscard]] auto trace_band(const ipc::SweepTraceBlock& trace, const TraceClock& clock, const Settings& settings) +[[nodiscard]] auto trace_band(const ipc::SweepTraceBlock& trace, const bp::TraceClock& clock, const Settings& settings, + const bp::Background& background) -> Band { const auto& frequency = trace.frequency_hz; if (trace.s21.size() != frequency.size()) { @@ -269,47 +216,24 @@ struct Band { // from the collection centre at the sample time becomes the phase // exp(-j 4 pi f offset / v): the pair and the intra-sweep corrections in one // (MOTION_PHASE_SIGN = -1, direction +1). - const double phase_per_hz_s = -4.0 * pi * settings.speed_m_s * std::cos(settings.look_angle_rad) / kWaveSpeed; + auto samples = bp::subtract_background(trace, background); + bp::apply_motion_phase(samples, frequency, clock, settings.speed_m_s, settings.look_angle_rad, + 1.0, false, settings.f_start_hz, settings.f_stop_hz); const auto last = static_cast(points.size() - 1U); for (std::size_t index = 0U; index < points.size(); ++index) { const std::size_t point = points[index]; const double hann = 0.5 - 0.5 * std::cos(2.0 * pi * static_cast(index) / last); - const std::complex sample(trace.s21[point].re, trace.s21[point].im); + const auto sample = samples[point]; if (!std::isfinite(sample.real()) || !std::isfinite(sample.imag())) { throw std::runtime_error("S21 contains a non-finite sample"); } band.spectrum.emplace_back( - sample * std::polar(hann, phase_per_hz_s * frequency[point] * clock.sample_time_s(point)) + sample * hann ); } return band; } -// SAR_NORMALIZE_EACH_FRAME: divide a channel by the PAIR_NORM_PERCENTILE of |h| -// inside the depth gate (sar_pair_ascans). -void normalize_ascan(std::span> ascan, double dt_s, const Settings& settings) { - std::vector magnitudes{}; - for (std::size_t index = 0U; index < ascan.size(); ++index) { - const double depth = static_cast(index) * dt_s * kWaveSpeed / 2.0; - if (depth >= settings.min_depth_m && depth <= settings.max_depth_m) { - magnitudes.push_back(std::abs(std::complex(ascan[index]))); - } - } - if (magnitudes.empty()) { - for (const auto& sample : ascan) { - magnitudes.push_back(std::abs(std::complex(sample))); - } - } - double scale = percentile(std::move(magnitudes), kPairNormPercentile); - if (!std::isfinite(scale) || scale <= kPairNormEps) { - scale = 1.0; - } - const auto divisor = static_cast(scale + kPairNormEps); - for (auto& sample : ascan) { - sample /= divisor; - } -} - // A-scans of every selected Tx/Rx pair of one collection, (Tx, Rx) order. struct Frame { std::uint64_t center_ns = 0U; @@ -321,9 +245,11 @@ struct Frame { [[nodiscard]] auto compute_frame( const ipc::PreprocessedCollection& collection, const Settings& settings, + std::span previous, sar3d::Gpu& backend ) -> Frame { - const auto timing = collection_timing(collection); + const auto timing = bp::collection_timing(collection); + const auto background = bp::background_mean(previous, settings.subtract_mean, settings.mean_count); std::vector bands{}; for (const auto output : settings.outputs) { for (const auto input : settings.inputs) { @@ -337,7 +263,7 @@ struct Frame { ); } const auto& clock = timing.clocks[static_cast(trace - traces.begin())]; - bands.push_back(trace_band(*trace, clock, settings)); + bands.push_back(trace_band(*trace, clock, settings, background)); } } const Band& first = bands.front(); @@ -354,10 +280,27 @@ struct Frame { frame.samples = first.size; frame.dt_s = 1.0 / (static_cast(first.size) * first.df_hz); frame.ascans = backend.inverse_dft(spectra, first.spectrum.size(), first.first_bin, first.size); - if (settings.normalize_each_frame) { - for (std::size_t offset = 0U; offset < frame.ascans.size(); offset += frame.samples) { - normalize_ascan(std::span(frame.ascans).subspan(offset, frame.samples), frame.dt_s, settings); + std::vector>> pairs; + for (std::size_t offset = 0; offset < frame.ascans.size(); offset += frame.samples) { + pairs.push_back(std::span(frame.ascans).subspan(offset, frame.samples)); + } + const double dz = frame.dt_s * kWaveSpeed / 2.0; + if (settings.pair_depth_equalize) { + double x_min = settings.tx.front()[0], x_max = x_min, max_abs_x = 0.0; + for (const auto* antennas : {&settings.tx, &settings.rx}) { + for (const auto& antenna : *antennas) { + x_min = std::min(x_min, antenna[0]); + x_max = std::max(x_max, antenna[0]); + max_abs_x = std::max(max_abs_x, std::abs(antenna[0])); + } } + const double half_size = settings.x_size_m > 0.0 ? settings.x_size_m / 2.0 : (x_max - x_min) / 2.0 + kSceneXMargin; + const double center = (x_min + x_max) / 2.0; + bp::equalize_pairs_by_depth(pairs, dz, + bp::equalize_depth_limit(settings.max_depth_m, center - half_size, center + half_size, max_abs_x)); + } + if (settings.normalize_each_frame) { + for (auto pair : pairs) { bp::normalize_pair(pair, dz, settings.min_depth_m, settings.max_depth_m); } } return frame; } @@ -406,7 +349,7 @@ struct Grid { } double z_min = std::numeric_limits::infinity(); double z_max = -std::numeric_limits::infinity(); - for (const double height : {kSceneYMin, kSceneYMax}) { + for (const double height : {settings.y_min_m, settings.y_max_m}) { const double depth_at_zero = -(height - settings.ground_depth_m) * sin_p; for (const double depth : {settings.min_depth_m, settings.max_depth_m}) { const double z = (depth - depth_at_zero) / cos_p; @@ -414,18 +357,23 @@ struct Grid { z_max = std::max(z_max, z); } } + const auto resize = [](double& low, double& high, double size) { + if (size > 0.0) { const double center = (low + high) / 2.0; low = center - size / 2.0; high = center + size / 2.0; } + }; + resize(x_min, x_max, settings.x_size_m); + resize(z_min, z_max, settings.z_size_m); // Match sar_build_full_region_grid and reject oversized products before // allocating the axes. Every downstream kernel uses signed 32-bit indices. const auto axis_size = [&](double span) { return checked_axis_size(std::max(std::nearbyint(span / settings.voxel_m) + 1.0, 2.0)); }; const auto nx = axis_size(x_max - x_min); - const auto ny = axis_size(kSceneYMax - kSceneYMin); + const auto ny = axis_size(settings.y_max_m - settings.y_min_m); const auto nz = axis_size(z_max - z_min); if (nx > static_cast(std::numeric_limits::max()) / ny / nz) { throw std::runtime_error("SAR grid exceeds 32-bit kernel indexing; increase SAR_VOXEL_M"); } - return {linspace(x_min, x_max, nx), linspace(kSceneYMin, kSceneYMax, ny), + return {linspace(x_min, x_max, nx), linspace(settings.y_min_m, settings.y_max_m, ny), linspace(z_min, z_max, nz)}; } @@ -584,6 +532,7 @@ struct Sar3dProcessor::State { } struct CachedFrame { + std::vector background; std::shared_ptr value; std::string error; }; @@ -594,21 +543,28 @@ struct Sar3dProcessor::State { std::string last_error{}; std::uint64_t repeated_errors = 0U; - auto frame(const ipc::PreprocessedCollection& collection, const Settings& settings, sar3d::Gpu& backend) + auto frame(const ipc::PreprocessedCollection& collection, const Settings& settings, + std::span previous, sar3d::Gpu& backend) -> std::shared_ptr { - if (const auto found = frames.find(sweep_key(collection)); found != frames.end()) { + std::vector background; + if (settings.subtract_mean) { + for (const auto& member : previous.last(std::min(previous.size(), settings.mean_count))) { + background.push_back(sweep_key(member)); + } + } + if (const auto found = frames.find(sweep_key(collection)); found != frames.end() && found->second.background == background) { if (found->second.value == nullptr) { report_error(found->second.error); } return found->second.value; } std::shared_ptr frame{}; std::string failure; try { - frame = std::make_shared(compute_frame(collection, settings, backend)); + frame = std::make_shared(compute_frame(collection, settings, previous, backend)); } catch (const std::exception& error) { failure = error.what(); report_error(failure); } - frames.emplace(sweep_key(collection), CachedFrame{frame, std::move(failure)}); + frames.insert_or_assign(sweep_key(collection), CachedFrame{std::move(background), frame, std::move(failure)}); return frame; } @@ -631,22 +587,20 @@ struct Sar3dProcessor::State { frames.clear(); frames_key = settings.ascan_key(); } - const auto recent = previous.last(std::min(previous.size(), 2U * settings.frame_radius)); + const auto recent = previous.last(std::min(previous.size(), settings.frame_radius)); std::set retained{sweep_key(collection)}; for (const auto& member : recent) { retained.insert(sweep_key(member)); } // Prune even when the newest frame is invalid, so a bad input stream // cannot grow the failed-frame cache forever. std::erase_if(frames, [&](const auto& entry) { return !retained.contains(entry.first); }); - const auto newest = frame(collection, settings, backend); + const auto newest = frame(collection, settings, previous, backend); if (newest == nullptr) { return {status_payload(2.0F, last_error)}; } - // Aperture: the newest 2r+1 collections, centred r collections before - // the newest one, so the image trails the input by r frames. Collections - // that left the aperture are dropped from the cache. + // SAR_CAUSAL_ONLY: current collection and r previous ones, current scene origin. std::vector> aperture{}; - for (const auto& member : recent) { - auto member_frame = frame(member, settings, backend); + for (std::size_t i = previous.size() - recent.size(); i < previous.size(); ++i) { + auto member_frame = frame(previous[i], settings, previous.first(i), backend); const bool same_axis = member_frame != nullptr && member_frame->samples == newest->samples && member_frame->dt_s == newest->dt_s; if (same_axis) { @@ -654,9 +608,7 @@ struct Sar3dProcessor::State { } } aperture.push_back(newest); - const std::size_t centre_index = - aperture.size() > settings.frame_radius ? aperture.size() - 1U - settings.frame_radius : 0U; - const Frame& centre = *aperture[centre_index]; + const Frame& centre = *newest; std::vector offsets_s{}; for (const auto& member : aperture) { @@ -761,6 +713,8 @@ struct Sar3dProcessor::State { basis.insert(basis.end(), oblique.view.v.begin(), oblique.view.v.end()); payloads.push_back(table_payload("sar3d_oblique_basis", 3U, std::move(basis))); if (level > 0.0F) { + payloads.push_back(table_payload("sar3d_target_width", 3U, + {images.target_width[0], images.target_width[1], images.target_width[2]})); payloads.push_back(table_payload("sar3d_peak", 4U, {static_cast(normalization), static_cast(grid.x[peak_x]), static_cast(grid.y[peak_y]), static_cast(grid.z[peak_z])})); diff --git a/data_acq_and_processing/tests/backprojection_fixture.cpp b/data_acq_and_processing/tests/backprojection_fixture.cpp new file mode 100644 index 0000000..2d5d8fa --- /dev/null +++ b/data_acq_and_processing/tests/backprojection_fixture.cpp @@ -0,0 +1,113 @@ +#include "sar3d_processor.hpp" +#include "gpr_processor.hpp" + +#include +#include +#include +#include +#include + +using Json = nlohmann::json; +using namespace radar; + +namespace { +auto complex_samples(const Json& samples) -> std::vector> { + std::vector> values; + for (const auto& sample : samples) { + values.emplace_back(sample.at(0).get(), sample.at(1).get()); + } + return values; +} + +auto collection(const Json& source) -> ipc::PreprocessedCollection { + ipc::PreprocessedCollection result; + result.collection_id = source.at("id"); + result.monotonic_ns = source.at("timestamp"); + for (const auto& entry : source.at("traces")) { + ipc::SweepTraceBlock trace; + trace.combo = {entry.at("input"), entry.at("output")}; + trace.capture_start_ns = entry.at("start"); + trace.capture_end_ns = entry.at("end"); + trace.frequency_hz = entry.at("frequency").get>(); + for (const auto& sample : complex_samples(entry.at("s21"))) { + trace.s21.push_back({sample.real(), sample.imag()}); + } + if (result.traces.empty() || trace.capture_start_ns < result.capture_start_ns) { + result.capture_start_ns = trace.capture_start_ns; + } + result.capture_end_ns = std::max(result.capture_end_ns, trace.capture_end_ns); + result.traces.push_back(std::move(trace)); + } + return result; +} +} + +// Runs GPR or sar3d on one request or a batch, retaining processor caches. Each request holds the antenna +// geometry, the live settings and the latest and previous collections; the +// published payloads go to stdout as JSON. +int main() { + try { + const Json source = Json::parse(std::cin); + const bool batch = source.is_array(); + const Json requests = batch ? source : Json::array({source}); + Json results = Json::array(); + processing::Sar3dProcessor sar; + processing::GprProcessor gpr; + for (const auto& input : requests) { + config::RunConfig config; + config.rings.results.slot_size_bytes = input.value("slot", config.rings.results.slot_size_bytes); + for (const auto& row : input.at("tx")) { + config.gpr.tx_geometry.push_back({row.at(0), row.at(1), row.at(2), row.at(3)}); + } + for (const auto& row : input.at("rx")) { + config.gpr.rx_geometry.push_back({row.at(0), row.at(1), row.at(2), row.at(3)}); + } + processing::ProcessingLiveConfig live; + live.gpr_start_freq_mhz = input.at("f_start").get() / 1e6; + live.gpr_stop_freq_mhz = input.at("f_stop").get() / 1e6; + live.gpr_min_depth_m = input.at("min_depth"); + live.gpr_max_depth_m = input.at("max_depth"); + live.gpr_speed_m_s = input.at("speed"); + live.gpr_look_angle_deg = input.at("pitch"); + live.sar3d_voxel_m = input.at("voxel"); + live.sar3d_bp_ground_depth_m = input.at("ground"); + live.sar3d_frame_radius = input.at("radius"); + live.sar3d_comp_range_power = input.at("power"); + live.sar3d_use_compensation = input.at("compensation"); + live.sar3d_normalize_each_frame = input.at("normalize"); + live.pair_depth_equalize = input.value("equalize", true); + live.gpr_background_subtract_enabled = input.value("subtract_mean", false); + live.gpr_background_mean_count = input.value("mean_count", 10U); + live.sar3d_x_size_m = input.value("x_size", 0.0F); + live.sar3d_y_min_m = input.value("y_min", -0.5F); + live.sar3d_y_max_m = input.value("y_max", 2.0F); + live.sar3d_z_size_m = input.value("z_size", 0.0F); + live.gpr_bp_ground_depth_m = input.at("ground"); + live.gpr_range_comp_power = input.at("power"); + live.gpr_motion_mode = input.value("motion", "int_minus"); + live.gpr_object_approach_min_frames = 1; + live.gpr_remove_sidelobe_objects_enabled = false; + std::vector previous; + for (const auto& member : input.at("previous")) { + previous.push_back(collection(member)); + } + const auto latest = collection(input.at("latest")); + for (const auto& trace : latest.traces) { config.run_combos.push_back(trace.combo); } + processing::ProcessorInterface& processor = input.value("mode", "sar3d") == "gpr" + ? static_cast(gpr) : static_cast(sar); + const auto result = processor.process_collection(config, latest, previous, live); + Json payloads = Json::array(); + for (const auto& payload : result.collection_payloads) { + payloads.push_back({{"name", payload.processing_name}, + {"x", payload.image_x_axis}, {"y", payload.image_y_axis}, + {"image", payload.image_values}, {"table", payload.table_values}, + {"columns", payload.table_columns}}); + } + results.push_back(Json{{"payloads", payloads}}); + } + std::cout << (batch ? results : results.at(0)) << '\n'; + } catch (const std::exception& error) { + std::cout << Json{{"error", error.what()}} << '\n'; + return 1; + } +} diff --git a/data_acq_and_processing/tests/generate_sar3d_reference.py b/data_acq_and_processing/tests/generate_backprojection_reference.py similarity index 52% rename from data_acq_and_processing/tests/generate_sar3d_reference.py rename to data_acq_and_processing/tests/generate_backprojection_reference.py index 76ee957..db90345 100644 --- a/data_acq_and_processing/tests/generate_sar3d_reference.py +++ b/data_acq_and_processing/tests/generate_backprojection_reference.py @@ -1,12 +1,12 @@ -"""Generate small SAR3D references by executing notebook cells 0 and 4. +"""Generate SAR3D/GPR references from notebook cells 1/14 and Horns coherent BP. -Requires the original, untracked Multi_antenna_3D_clean_v1.ipynb; a missing notebook +Requires the original, untracked Multi_antenna_demonstrate_depthnorm.ipynb; a missing notebook is an error. NumPy/SciPy execute its function/class ASTs unchanged. Only parameter values are replaced; plotting imports and the interactive top-level runs are excluded. No production SAR implementation or hand-transcribed oracle is used. Run from the repository root: - .venv/bin/python data_acq_and_processing/tests/generate_sar3d_reference.py + .venv/bin/python data_acq_and_processing/tests/generate_backprojection_reference.py """ from __future__ import annotations @@ -24,14 +24,14 @@ ROOT = Path(__file__).resolve().parents[2] REFERENCE = Path(__file__).with_name("sar3d_reference.npz") -def notebook_functions(notebook: Path, parameters: dict) -> tuple[dict, dict]: - cells = json.loads(notebook.read_text(encoding="utf-8"))["cells"] +def reference_functions(source_path: Path, parameters: dict, cells: tuple[int, ...] = (1, 14)) -> tuple[dict, dict]: + contents = source_path.read_text(encoding="utf-8") + sources = [(str(i), "".join(json.loads(contents)["cells"][i]["source"])) for i in cells] if cells else [("script", contents)] namespace = {"__name__": __name__} hashes = {} - for index in (0, 4): - source = "".join(cells[index]["source"]) + for index, source in sources: hashes[str(index)] = hashlib.sha256(source.encode()).hexdigest() - tree = ast.parse(source, filename=f"{notebook.name}:cell{index}") + tree = ast.parse(source, filename=f"{source_path.name}:cell{index}") definitions = [] for node in tree.body: if isinstance(node, (ast.FunctionDef, ast.ClassDef, ast.ImportFrom)): @@ -45,23 +45,24 @@ def notebook_functions(notebook: Path, parameters: dict) -> tuple[dict, dict]: except (ValueError, TypeError): pass # Dataset loading and the interactive run are supplied below. namespace.update(parameters) - exec(compile(ast.Module(definitions, type_ignores=[]), f"{notebook.name}:cell{index}", + exec(compile(ast.Module(definitions, type_ignores=[]), f"{source_path.name}:cell{index}", "exec", dont_inherit=True), namespace) return namespace, hashes -def scene() -> dict: +def scene(f_start=1e9, f_stop=4e9, points=201) -> dict: """Deterministic two-echo input with motion, vertical baselines and four pairs.""" request = dict( tx=[[0, -.4, 0, 0], [1, .45, .2, .05]], - rx=[[0, -.2, .1, 0], [1, .3, .35, .02]], f_start=1e9, f_stop=4e9, + rx=[[0, -.2, .1, 0], [1, .3, .35, .02]], f_start=f_start, f_stop=f_stop, min_depth=1., max_depth=3., speed=.4, pitch=13., ground=.3, - voxel=.4, radius=1, power=1.5, compensation=True, normalize=True, + voxel=.4, radius=2, power=1.5, compensation=True, normalize=True, + equalize=True, subtract_mean=False, mean_count=1, motion="int_minus", ) # Match the float32 settings/geometry accepted by the native fixture. for key in ("tx", "rx"): request[key] = np.asarray(request[key], dtype=np.float32).astype(float).tolist() - frequency = np.linspace(1e9, 4e9, 201, dtype=np.float32) + frequency = np.linspace(f_start, f_stop, points, dtype=np.float32) members = [] for frame, offset in enumerate((0, 180_000_000, 510_000_000)): traces = [] @@ -91,14 +92,17 @@ def write_dataset(directory: Path, request: dict) -> list[Path]: ] (directory / "config_profile.json").write_text(json.dumps(profile), encoding="utf-8") snapshots = [] - for index, member in enumerate([*request["previous"], request["latest"]]): + members = [*request["previous"], request["latest"]] + for index, member in enumerate(members): + background = previous_mean({**request, "previous": members[:index]}) snapshot = directory / f'{index:04d}_id{member["id"]}_ns{member["timestamp"]}' snapshot.mkdir() metadata = {"traces": []} for trace in member["traces"]: stem = f'i{trace["input"]}_o{trace["output"]}' - values = np.asarray(trace["s21"], dtype=np.float32) - np.save(snapshot / f"{stem}_s21.npy", values[:, 0] + 1j * values[:, 1]) + values = np.asarray(trace["s21"]) + samples = values[:, 0] + 1j * values[:, 1] - background.get((trace["output"], trace["input"]), 0.) + np.save(snapshot / f"{stem}_s21.npy", samples) np.save(snapshot / f"{stem}_freq.npy", np.asarray(trace["frequency"], dtype=np.float32)) metadata["traces"].append(dict(input=trace["input"], output=trace["output"], capture_start_ns=trace["start"], capture_end_ns=trace["end"])) @@ -109,7 +113,7 @@ def write_dataset(directory: Path, request: dict) -> list[Path]: def reference(notebook: Path, request: dict, directory: Path) -> tuple[dict, dict]: snapshots = write_dataset(directory, request) - center = snapshots[max(len(snapshots) - 1 - request["radius"], 0)] + center = snapshots[-1] parameters = dict( INPUT_IDX=[int(row[0]) for row in request["rx"]], OUTPUT_IDX=[int(row[0]) for row in request["tx"]], @@ -120,9 +124,10 @@ def reference(notebook: Path, request: dict, directory: Path) -> tuple[dict, dic BP_GROUND_DEPTH_M=request["ground"], COMP_RANGE_POWER=request["power"], SAR_VOXEL_M=(request["voxel"],) * 3, SAR_FRAME_RADIUS=request["radius"], SAR_USE_COMPENSATION=request["compensation"], SAR_NORMALIZE_EACH_FRAME=request["normalize"], + PAIR_DEPTH_EQUALIZE=request["equalize"], SAR_SCAN_ROOT=directory, DATA_PATH=center, BG_PATH=directory, v=3e8, ) - ns, hashes = notebook_functions(notebook, parameters) + ns, hashes = reference_functions(notebook, parameters) tx, rx, order, tx_order, pair_count = ns["load_antenna_config_profile"]( directory / "config_profile.json", ns["INPUT_IDX"], ns["OUTPUT_IDX"]) ns["N_tx"], ns["N_rx"] = len(tx), len(rx) @@ -130,7 +135,9 @@ def reference(notebook: Path, request: dict, directory: Path) -> tuple[dict, dic for axis, values in zip("xyz", ns["positions_to_xyz"](positions).T): ns[f"{axis}_{kind}"] = values antenna_x = np.concatenate((ns["x_tx"], ns["x_rx"])) - ns["x_grid_bp"] = np.linspace(antenna_x.min() - 2, antenna_x.max() + 2, ns["NX_BP"]) + ns["x_ant"] = antenna_x + ns["x_min"], ns["x_max"] = antenna_x.min() - 2, antenna_x.max() + 2 + ns["x_grid_bp"] = np.linspace(ns["x_min"], ns["x_max"], ns["NX_BP"]) sweep_time, _, _ = ns["estimate_sweep_time_from_meta"](directory, n_pairs=pair_count) config = ns["MotionConfig"]( speed_m_s=ns["SPEED_M_S"], look_angle_deg=ns["LOOK_ANGLE_DEG"], @@ -143,23 +150,118 @@ def reference(notebook: Path, request: dict, directory: Path) -> tuple[dict, dic motion_phase_sign=ns["MOTION_PHASE_SIGN"], ) timestamps, _ = ns["compute_pair_timestamps_for_snapshot"](center, config) - result = ns["sar_compute_volume"](center, None, config, timestamps, verbose=False) + grid = ns["sar_build_full_region_grid"](config, y_range_m=(request.get("y_min", -.5), request.get("y_max", 2.))) + for axis in ("x", "z"): + size = request.get(f"{axis}_size", 0.) + if size: + center_axis = .5 * (grid[axis][0] + grid[axis][-1]) + grid[axis] = np.linspace(center_axis - size/2, center_axis + size/2, max(round(size/request["voxel"])+1, 2)) + grid["XX"], grid["ZZ"] = np.meshgrid(grid["x"], grid["z"]) + ns["x_min"], ns["x_max"] = grid["x"][0], grid["x"][-1] + result = ns["sar_compute_volume"](center, None, config, timestamps, grid=grid, verbose=False) volume, grid = result["volume"], result["grid"] iy, iz, ix = ns["sar_global_max_index"](volume, grid) + from scipy.signal import peak_widths + widths = [] + for axis, peak_index, profile in (("x", ix, volume[iy, iz, :]), ("y", iy, volume[:, iz, ix]), ("z", iz, volume[iy, :, ix])): + profile = np.asarray(profile, dtype=np.float64) + width, *_ = peak_widths(profile, [peak_index], prominence_data=(np.array([profile[peak_index]]), + np.array([0], dtype=np.intp), np.array([len(profile)-1], dtype=np.intp))) + widths.append(max(float(width[0]), 1.) * (grid[axis][1]-grid[axis][0])) expected = {axis: grid[axis] for axis in "xyz"} + expected["target_width"] = np.asarray(widths) expected.update(front=volume.max(axis=1), side=volume.max(axis=2), top=volume.max(axis=0), peak=np.array([result["level"], grid["x"][ix], grid["y"][iy], grid["z"][iz]])) return expected, hashes +def previous_mean(request: dict) -> dict: + samples = {} + if request["subtract_mean"] and request["mean_count"]: + for member in request["previous"][-request["mean_count"]:]: + for trace in member["traces"]: + values = np.asarray(trace["s21"]) + samples.setdefault((trace["output"], trace["input"]), []).append(values[:, 0] + 1j * values[:, 1]) + return {key: np.mean(values, axis=0) for key, values in samples.items()} + + +def gpr_reference(notebook: Path, script: Path, request: dict) -> tuple[np.ndarray, dict]: + """Execute Horns coherent BP unchanged, adding the notebook's equalizer before its scalar norm.""" + parameters = dict(F_START=request["f_start"], F_STOP=request["f_stop"], MIN_DEPTH=request["min_depth"], + MAX_DEPTH=request["max_depth"], LOOK_ANGLE_DEG=request["pitch"], + BP_GROUND_DEPTH_M=request["ground"], COMP_RANGE_POWER=request["power"], v=3e8) + ns, hashes = reference_functions(script, parameters, ()) + ns["N_tx"], ns["N_rx"] = len(request["tx"]), len(request["rx"]) + ns["OUTPUT_IDX"], ns["INPUT_IDX"] = [int(row[0]) for row in request["tx"]], [int(row[0]) for row in request["rx"]] + for kind in ("tx", "rx"): + for axis, values in zip("xyz", np.asarray(request[kind])[:, 1:].T): + ns[f"{axis}_{kind}"] = values + xs = np.concatenate((ns["x_tx"], ns["x_rx"])) + ns["x_ant"] = xs + ns["x_min"], ns["x_max"] = xs.min()-2, xs.max()+2 + ns["x_grid_bp"] = np.linspace(ns["x_min"], ns["x_max"], ns["NX_BP"]) + ns["z_grid_bp"] = np.linspace(.1, request["max_depth"], ns["NZ_BP"]) + ns["XX_bp"], ns["ZZ_bp"] = np.meshgrid(ns["x_grid_bp"], ns["z_grid_bp"]) + ns["depth_gate"] = (ns["ZZ_bp"] >= request["min_depth"]) & (ns["ZZ_bp"] <= request["max_depth"]) + member = request["latest"] + duration = (max(t["end"] for t in member["traces"]) - min(t["start"] for t in member["traces"])) * 1e-9 + config = ns["MotionConfig"](speed_m_s=request["speed"], look_angle_deg=request["pitch"], + tx_per_segment=len(request["tx"]), tx_order_full=tuple(ns["OUTPUT_IDX"]), + frame_acq_time_s=duration, n_freq_hint=len(member["traces"][0]["frequency"]), + intra_phase_focus_only=request["motion"] == "int_focus", motion_phase_sign=-1., + pair_order_phys=[(t["output"], t["input"]) for t in member["traces"]]) + clocks, _ = ns["compute_pair_timestamps"](config, ns["INPUT_IDX"], ns["OUTPUT_IDX"]) + mean = previous_mean(request) + H, T = {}, {} + for trace in member["traces"]: + key = (trace["output"], trace["input"]) + values = np.asarray(trace["s21"], dtype=np.float32) + samples = values[:, 0].astype(float) + 1j * values[:, 1].astype(float) + samples -= mean.get(key, 0.) + frequency = np.asarray(trace["frequency"], dtype=np.float32) + samples, _ = ns["apply_intra_sweep_phase_correction"](samples, frequency, clocks[key], config, + ns["v"], ns["F_START"], ns["F_STOP"]) + t, _, h, _, _ = ns["compute_ascan_bp"](samples, frequency, ns["F_START"], ns["F_STOP"]) + H[key], T[key] = h, t + if request["equalize"]: + eq, notebook_hashes = reference_functions(notebook, {**parameters, "PAIR_DEPTH_EQUALIZE": True}) + hashes.update({f"notebook_cell_{cell}": value for cell, value in notebook_hashes.items()}) + eq.update(x_ant=xs, x_min=ns["x_min"], x_max=ns["x_max"]) + H = eq["equalize_pairs_by_depth"](H, T) + for key, h in H.items(): + depth = T[key] * ns["v"] / 2 + mask = (depth >= request["min_depth"]) & (depth <= request["max_depth"]) + scale = np.percentile(np.abs(h)[mask] if mask.any() else np.abs(h), 50.) + H[key] = h / ((scale if np.isfinite(scale) and scale > 1e-15 else 1.) + 1e-15) + raw, _ = ns["backproject_coherent"](H, T) + return ns["normalize_bp_map"](raw).astype(np.float32), hashes + + +def generate_gpr(notebook: Path, script: Path, output: Path) -> None: + cases = [dict(equalize=False), dict(equalize=True), + dict(equalize=True, subtract_mean=True, mean_count=1, speed=-.2, pitch=-7., motion="int_focus", power=2.)] + arrays = {} + for i, settings in enumerate(cases): + request = scene(1.01e9, 4.01e9, 151) if i == 1 else scene() + request.update(settings, mode="gpr") + arrays[f"case_{i}_image"], hashes = gpr_reference(notebook, script, request) + arrays[f"case_{i}_request"] = np.array(json.dumps(request)) + arrays["provenance"] = np.array(json.dumps(dict(script=script.name, source_sha256=hashes, + notebook=notebook.name, numpy=np.__version__, scipy=scipy.__version__))) + np.savez_compressed(output, **arrays) + print(f"Wrote {output}: {output.stat().st_size} bytes, {len(cases)} GPR references") + + def generate(notebook: Path, output: Path) -> None: # Read up front so a missing notebook cannot produce an incomplete artifact. notebook.read_text(encoding="utf-8") cases = [ dict(compensation=True, normalize=True), - dict(compensation=True, normalize=False, speed=-.2, pitch=-7., ground=.5), + dict(compensation=True, normalize=False, equalize=False, speed=-.2, pitch=-7., ground=.5), dict(compensation=False, normalize=True, f_start=1.3e9, f_stop=3.7e9), dict(compensation=False, normalize=False, speed=0., pitch=0., radius=0), + dict(compensation=True, normalize=True, subtract_mean=True, mean_count=1), + dict(compensation=True, normalize=True, x_size=3., z_size=2., y_min=-.2, y_max=1.4), ] arrays, configurations = {}, [] for index, settings in enumerate(cases): @@ -187,9 +289,9 @@ def generate(notebook: Path, output: Path) -> None: arrays.update({f"case_{index}_{key}": value for key, value in expected.items()}) arrays["cases"] = np.array(json.dumps(configurations, separators=(",", ":"))) arrays["provenance"] = np.array(json.dumps(dict( - notebook=notebook.name, cell_source_sha256=hashes, cells=[0, 4], cases=len(cases), + notebook=notebook.name, cell_source_sha256=hashes, cells=[1, 14], cases=len(cases), numpy=np.__version__, scipy=scipy.__version__, - method="Unchanged notebook AST functions; max projections of sar_compute_volume output", + method="Unchanged notebook AST functions; per-frame NumPy previous-mean subtraction; max projections of sar_compute_volume output", ), sort_keys=True)) output.parent.mkdir(parents=True, exist_ok=True) np.savez_compressed(output, **arrays) @@ -198,7 +300,10 @@ def generate(notebook: Path, output: Path) -> None: if __name__ == "__main__": parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument("--notebook", type=Path, default=ROOT / "Multi_antenna_3D_clean_v1.ipynb") + parser.add_argument("--notebook", type=Path, default=ROOT / "Multi_antenna_demonstrate_depthnorm.ipynb") parser.add_argument("--output", type=Path, default=REFERENCE) + parser.add_argument("--gpr-script", type=Path, default=ROOT / "Horns_motion_4x4_ground.py") + parser.add_argument("--gpr-output", type=Path, default=REFERENCE.with_name("gpr_reference.npz")) args = parser.parse_args() generate(args.notebook, args.output) + generate_gpr(args.notebook, args.gpr_script, args.gpr_output) diff --git a/data_acq_and_processing/tests/gpr_reference.npz b/data_acq_and_processing/tests/gpr_reference.npz new file mode 100644 index 0000000000000000000000000000000000000000..c137e878a9a8e1b0131a9263541178cca80e9a93 GIT binary patch literal 891607 zcmeEsQ*$K@ux*@4GO=x&JGSj)V%xTDXJXs7ZJRsB#P<2>*8KnSSe(9&KUbVWq zmZA(e1U(1{$glsB7zE1#)b{892NDPxh_RuwsXmjwrLCd4DTAGZCnyLKNWUNCf4v|e zQ$gVWul`$m)0S7*hQ3uV5i5~vO;VOhyq=rpdhwk@S|C9wP@U8xktUPbY$EEp3y!ZrE(~ zbdm}xF3d-IhZDF!##h9S3l0XJ_Tg#wTeIce|J0mOzt8ij?`>vx3Q+U?Vr#=?I!V^! zkC-gw)%EzTfJTNDX83>jUryjV55`-C7U7ncrdL~$($DWB(<7ycW#d{P{jublT%2L1 zc>9aKqfso-?g2-R&<9W;Wu{UwWSw6hRs<<9;_|(bp-QrnhC!bvR)JmEJ0-qAimpG- zaI976K@!pppCJ?nkSCMMz&M(abZ7Z7;i#}YrwHx2Sl&%33w(>FTGf?8Ol2%0wEcJX zVlAH1F1e_bN+~5YhfwIa6wofci=lwuB;jM8UeOMG244t&@)jF&HIG2}OhbMfXM^pV zi9>&Wn?a_yT0_2vCw$G#k@IoX=e|j4$Z+p7o0EuRJ+Qx|y(QOv?|`^Qp>*%a_CCm+ zd{Yf^bk|@!rO3`1g(u)RfwFGldQ-->3!IYSJ-k=*abKYBX0HFmGrbx9#2{+iuwd3r zVMp!9w@e_B4tGbbVEm7Y2R8gleT=kq>d+4ea*w?m4O>i@Pn*X;@>S3hVaFTdw{~1m zzKF(lMt(pF?|YDXorgTTkf2S=YJJf8|ey6kSxx%k6{Cbdf#WX2&= zB+UwI#=rHe2tGZ~azgoR>jn&Us(L_A3$ayHdXW1rKyW|`wi80cpcSYQ*n8+H zH1&xmRAO0}|7BXS-z1UVKXIESD1DVISokj~U%y^oQ3Zv(oIMu#@#zGv+bbS!T4Wa1 zt1Snes?H8wl_LigqO=)K-ZBS;ERLUu2(lo^`k*5yp1phjeC{nM{;D7dW#sojT%d4Z zn_El2^mTSV?Q>-QPa2u%Wkv9xCjNhY%;*g7(_mMFV*ATI5N;M)BK~mp7 z*9D2M%vuH?Xf;(H;jI>u`^xZKJ`_VQRpRb+5F(KQbHhUVGbOSn9mp+-x9 z2~9>j0lkMJ*u79Uyu}wZZHCWa^9d@)m&M2SGB;lL=T9F79vAR*6RbIWk{$<)%n^-SbS`t?G*^h==lLmWu75u9SC2qt$3T z#!tsG5Q}@_jx%4~kv+FVWHgv^W}J2g@OtD5DTiQAyrdBh+c;p!^>GGKTrZYhHKCvT zi{D6QPEw=TV971+!AganSg^GFa$D9(5>vzPkcl!SwfeS}#fop8xk~20^p(z6rr)_Z znIO3;y5~1(oG*Q{d0y}wG_4n$#=ctn=Xs>}ku^wXh}O2+Qli$aAxRbaEgIL!6MnLl z<<@Yha?HlYtsltMRoNDI{o`1=G7q-&7sIlRiY+`JNPMhSM*1>skC>eY6dbz!kU_^S zqg=bOy(#skjZeNM-P=kHznkMq>6MBecUZcJRS0~oCkdj$vshZ$a_jEmh}2!{h{PVy zoipH5<18zQkl^}^Zw_ghL+Ne1%`HryYHgVoCaxF6dt*dxLQSS5z;8 z4B;vpNCWiI`ZK;?Oz9sQ+}k`m%-gB4(%aFQLOL#oFa&qa;BEMJ{aZECw|?m^c+1$) zn7+HQ#xFG^B5jPr@2Rcr@3p_?Y?((X^hlZ86!0l?v7&;>dJD1n;uA9O@l8(m0)L|` z5w^=qfn=m;uDdfsbmr0rz3ojG9QQIz3$PN1--a4S6+ zy&*Mt)C_J!z~`q|py_eRsX88H9UKm^2P)cTz&4KCAS+t(AX=ms4c4gO@NZ0s42pg? zEE9!TM0{pf;;zqf~2@ zqw@MVs|6f}2h{K3b<T>oNQ@FUSWW5&gg(g~dYc`f=-6QWw=MXOPX6=DscKHJQ} zOL1)f^|nDMq}`2!w6+)sHT#(V@uFYEvcOYp`i82zDS*c4yxK3Ri_7>^5FFj|`!*Ia z`ED5<&uy0nT;R-ckn)CZ><$k6_BJE&wL%-#?vk!QtYF1sVUmOQ_KHA#`6IyGKIPDk z9&2KTf#cX=itSoBj|WiafeCo@KrugXi1=t}3iWP(K&HIY3<5N-0e`CZUt5-T-nQeY z_^*9o1Y&mg{Wr&dIlsuFaNlT>@>V2L+C=m)e%_lmmp=?>B_8C_Bq|qXdsIJ>G#L3- zc+416FG~E2c)xLBk@m^@dn>&>HkZP!sihSA)w&#-Cr??EDJfu0yC5;*K3?OQF?@UJ zqr7D!&4A98aCL1-CUuU{kX0_JLMc})lT>q-BMkli5=D={5?2naPh2)zg)X$$7uvPI zr6l~sOd3w(6ZM@@OLCVE*J@!XmEj**f*~+fb@oKv;k(BpKU7#8@gd$x#gcmY!>Ke> zcCu{Qhf<-%Aj6XPg+X|oOgv#MH!;*p#8TfEb_>`;jnvk96eORI+k|AZ31(DN+Y~!q zB0U=(wRmr2h{O4}DMMOYwuHIFdZzwFR#}8Co7dZ1qI9C=GO*KSVs-~w2w=`6gO)%V z=*Dw8`3HZ`B9qMD!;`)%fGOl|a;#kEYPxJD&6Ts1r0~)mTMF75Z2|mVXkNc2c;jHn zpj$qisNMCud+Ywq?D&^~Kl4Y%q@z~#@nB7Qq0+RIBrhm^(3atNu%Wdp^vkL#B#mh*eg@;q0{|DhK`%a12649G3W~EqC-^KxF>VL|*kK)Ihz(B31v_YpjbeeR0xNpa3J?Ab2#T5ZGC~26G z^SQN9ict~KCXYgXr$t@*K~Z)A33etUZr17Uj&Mps1UYYg9RJ3uqoO` z23LLjPipk2CM-@w8VvApp<;qRxC)wXL$LDt%;AhLqXAM+ihl=u(Xi%E!NNmsf^ea~#Fg9x>9Vh-+9&`vmTh6ANcil_Gm*W-uz%8uZ(nBM_^ zQP`IsMF@BDtRu<1Pl$%F^i|K0;{J&b6E#SINhe5(+>Jn5)a3te(XS9GL7uT#2}VFe zSqjC&-OcYv{wd@MV`=Y|Brw0U*#EtD=P_ihqQgCmmvsbt+hfRjyK?E=(CNVJ=j{r4 zy@?;8;zHt(?M8Cadb}?eXS!Z=10iqU9RofpFvk7he+bEg-XX_j%oR_bwhhUJdo7!S zS?10b6W!Yu|ADGIxDju6ylTmJj8-ahCll53wte2ui0F9SqB{8IUHRdex^?=7^pN*i zs%sp&6*hxOGaZF_0>KW`&{;jMvn74R&hkf<{k_*>l+U=~yhid)1XsJAMLhb_A7 zMo21if|%4L1mzMqVAE;#%3{^#LVsoRQvB6sQ*pNhCNGN59qko??-3}TcWGE0<>6!|4!<0I%k(M8(U|lSx z2^!PCD2>(HXmJAKuQSqxR`80>>8TOlQ}q7!)mxPb+*8RW3eRqC<<9L$O-vgq<79f>k4&gxSmP8S}@| znDQ^M?Cw?~BK)*Qus>zZ=<`%a-qU;t-#S>E;reKE8q<+(XD&3c1Gea9&mJCc>&E}l z*|2h+WjFoZCa93H)qM-_dpzK>o9zgMuEM#KD3Siub3h6wkQ?gtRlN<*{oO?Tq0{mS zt<&;pBqU5yEJA;SaW%VgC%SxT9tEH+lqv1yk9`n(=yJm)dYUFcojZ7`qZOyx z1)O=$GHov79Bea5`Z7V#gR4=wVJRwA1gfh^w3L0-RJ_I15EZFHvh}WJDhS~WnEbl=RFK=3j8ZvGlLc(SqDUYAWYN*%T38rLmJ7 zi;GOYaz+NwiC8HS4)f=t@@d#d(|u0q2rDsim~=&tW!+`xHpHvyk61s-Nh8BpFpe{| zF~6C^yJ}fD9nBzzs4}D%#Oc98I`hxNRA@WwKB%fM_~FWQ(%bPH7*5AO7_GRE zcaURn9+Pe1?H?Z?wLVNC+V}F&&f{P1bxwJ+eeeZ5wLD?nM^hW0S#!7^E80?@u#rVRop&PqHq}A54S}H!od?`Nizgq$vR&N* zi_>2V_4}qIbA?7qBgq1Vfoe^|cc{)ILTdui=G4&>k;P;rEvGmY8SF8;cMwsC^o1Nz zyN|xb0KQ%?7<|U5rJu>=^VQRxBULAiNWOFVZ9hh$-Zz-ylTA|=d4-I$z2@RD^BhaU z>Y@o#TuZr2>CA`uwA?d71^t>=@oCa{q;x}Iu?l~tWC~kifmP+>^uCXk4{aiYTUAl^ zjvS6p{fmC@MafQGol5*Wj+Y7`aZ|l(-qsIenPMkGwAeB+lP~z7`nl{tg+BPedsJnj z%@%0#dS^_wcS--2UnYNJE>|*Soo%rzq3>m=^NYS4Q|d|Wz+!%_$K~#hPRlY&fl%f| z@u?mn6JXBgE5+3Fs+1-z%Pk>X-6VCfquKZ|&RF zePdPWD_=U(G)>N%*G*CX%aZN06i=70Ch%y~hD;fQRO+#ajRqW3N zHlvRf==LE_bV%N%6l02XakddwNiL$e*JNu^ox%9N&;XW^try79`zMSn<+R8^H%fR; zUW{r2&GY@TplnTb;f{maW%wOc7T)_8th1KT;v2|69aKnhOrLz3S@=wsY(uk0x>px} z60}_9ur&#PIJZ&BK%XLxm|ZKFXK)Thz#7J9CS*T7J{%vE)-97KTJ?4*qP$fY(w5C{ zK5fw2*(|uwWS;=%b%d^T=zxp{QaoHd@awERIDS8V8qQK3I*aNGOxaTcSjBP@i*6{* zfVH4V>EE9)vY``e&jUS^XdV{5n5%XQVKLE>OxF^0zstpgR6LnnsA__*-5KV4hHysf z0N@*?$PTYbU}UnXVQ*_C`%vXW%UclJ-EG0Ald?z?cp-f7*!h)xxY@m&Le8+E76UpC zJl zcIMk@EqLa=I?-$1AIA7uOxwvw;h40ghGV7R>vtmT1lKD;U&;0c_+1*BHY5WT;WW;Z z)~;M%=wJu}4adqDbf?d1VUCcHmfLb&%JPOraBEtRe?K>xU9X^O};!a8&wlzEBE6mHgrI zdWtU+t75O6rem8;OsZ z)6PkNN05djL}HEt?}^00Efbpr0$04o%qXp% z$H+nnwyU$nj&~PnI0YQF(d0-3<>FFc+H2K~ZUd5@NB@@y^Jy--VRHvelfn|gd9 zTzvHTc$Q2>ZIQqZ8M^eTe`I0!o9M+eTTbrtR8gMa=^|(wTGVmd5>w~~+rzX&=i)v> zWTscduQ>7qd$S3$GX-{Lx>somuB@e1)XOv4I#sK#C#Kj>ZJC=CH5E8Jfh)JDLR6fS zg}=v{kFnFHC`PDq>SCG5JYNzArp%ECm^nlQ9JhLCi++MG-c?;xG{!0AZWeX(+$Z(( zt4yMtC3b1^kKYyr8#{#E!Ya`E+FFBs?(v80Wz`41cJim;u{r&h<+KlL-TV%)3boG9 zDma{xeQ(>T&ziNBj&N((N0VP={IOGr9LF4gVh)54(A%rN1n%l*(>*@!vNXw?VeGTi zV)yLnN2NJ3I7OPF?UlFU*7)y6sz@*o8=T94z%Bav2M^=z78^3ZK5^`ycDne(;PCwr z{JsSH3)E)$EAGZ^U(l}&FO*m~D)BZy^L+O|)Z<>RC>I`R;s1^g7s6Xbo0BQ>^P`o{ zj8(BRr^1U4cnmEHE;&?JPNOLV?!)<|rfm<@@c^MIjQE z#M&PB2Tq^TL(n}Ri=r|#FOBt7q8pv4S4II zw&3qOa-;(z5av~TNGJ+Qh@7@dNEia$AO=L3U)aoGyrV>#5jsFe6(kS;=#bHchTGRZ z55;t;u$fhAqO4rlBKd#d$(J8Q2evHPUZ{{1a~y)NpB?#zwx9*6MFZC*EGGQvLD!lv zT@5Dw3MHKV3e#73#iJT&!6AujHpuOFb3AfD_nl{xHYSR+r z@5kHE2c`%}7HD8l;;9eLv^6&vl`<1-#ni9hGS9MRMUsXy_OIM%>?im3w!3ao=&(3r z_U5Am@A&^4!Ax;#xcnM=EnS7N@wo!yzkUGmZu1|lIyC9nD#g($%tChmY>RkUa5!M2 zwAp{W8Fi@oa_ZPYt>l95lb3Jo%i~$1nmf(LojTn>;(r*1*OewIci@}l$9PF)=f$urhhVy=q(eN z_)w9lZ23l7diiP059e#?>PX^Ftu5=Ls4ixRdS3SVi%kD3IbUs+Qc_u!DzHJ`>s6>=Er-uo5+8i-w;fKK}U?MLrzb-qvPDrF;Rhu+xg5BBS0+yO%B%{(- zmw(#arZ^L7_&B(QvbtRSG!UKSnHus=U5pw7J-$L zmL?*6!AzVJ$V-^eemVo{0Nz`Oa&evs3IPbKiUUnJ7dh&p>FSh~~VeTKYW&PUjP zPV!#jK6E)4xCh^gt5@H4=Qh>9 zmnGKs>#CRco+A+cRAjc%NF8tKzdblU{ClHbn|^I)gU{7|$l7YT=GU;<9i;D5nSSe& zJdusRIw_^7IXa@;aAMFXbpl2|cBDYC+u4+(rF%b;*0TAB)OB|T=u52~wmqSHYz}<2 zyK0~yOv8^nHGSTh$|%^h?Lj@H{?b5o=5-nH=%&;L|L9R3ejxZgVrO3LIC;}XwSNb% z+SCb;ot7&s(M3DIk?YfZY(cSklo!{#Swb@8OMPZ%%YCmrBg{IbqQn^`LTg;K;8A9Q z=1GO;`?wy(VXGN0-lG+slvg93IWRjenod-*964_IgQe=Ogiim(5UT^-C$fAKpK!DV zm*Zti)WMBO0y&__?F|{D{|{1O+(>b2L?k7gW8Cd`U@DCk6SoOYw$CLTG^>aq6AcJI z`g&kUFoB7lG6c}l^wrOU%;Jh8tP(`#l|4-G5Z3$Gy<519hHt*OGrH>6U&x^-mwX4~ zIzg>7 zzsZ%==DiD`zN2eEM*8vUvoT?+)Y3$98rZ9Q?V!*zx$8$230kSg2MaZdh-|lgEWA+Q z-VvjLddlo3w1h#9X3P$h)8NH8HpG=S)cM2>ilpV?EjeEf-P+jftMTHStg?zdEJDWo zbmB7$xCwPeRGa(h0oi=_3&6|NaYsKs>1i8bZ+?BjaJ-xRWV1P?(ru0A&oZ=LgZu!E zUEDbEl~G`a7lx*cLr8G-}xD;_N zW%WSvKkWvs57&SGH;^1LxWnc<=v@ALO54BhOc>alDBQ_?sM}`UcmVfiENzSR30b`N z5bg)UnC`O|n5SPdp?!YyfBU#C#xSklA8MLj?nTU(Z!^sJx|e7m4IN+5fW;5H!fU}D z!dDG#p=QjPg&LE!B$3I`qU?;l5u;EjcZC6L4a*(;4TCl^%B9#MapgKh3lk#e{-qc$ z?Lc8G-k~h@otF}K623DrbXqTJZ?-SS(mY-_TJlJG+=#(+NR#1vDijmXG%}skB6khB zQte!>1=kh+W)ESI8t0dSsiT~;Pi0naPOUU?b@s&UGfg9Bx|nK&DiWWP-&f3eQn-VK z6&G#NQBAdr>1SNA2DNH&0=e=(hm zc6j=X&s^TxHo5uobSSnHvAs<9G=(WTx*rLz3~D91D_}TjEeXB3ry@OCtqXPPi7r9% zD14v%$=6@m5@V-k3+$K1mJ@y3o8Cj&%8)RV06-!tS@dU`JQ0OZ$FP!1Dw0O*R&Bc^APNk#=K=&U*7*nu1GK8De!MWQMM-DSZ{*k-gUO zV`p%YwEy&4Rt+bx)wE(zn)fJlAI@VxqZa|bX;OX#@l5XFp_E*QV zGsU)YLo38AAJDZLrNCSE~^PWncn)g>hQtw zo+`-IPxIiRAo&&&s44rY>bQvs`H4OS45txDFn#rXY%hV2J>v_F+Qk>!*&QhtX(pU` z&xx1)a!y>_rBl7rM{ru>3dmi<$lu~RKU0w>;m*d2*Qy&K*?|L&U#^=q7mYwy?COOg zP<0g|TdhiVPT{R&ofn#3SxFM>;pD7+|6<(A3*N4Q&d=~7(8`L=H`PE3VZ04&ao#q( z5`zBg=>of6f)H*;{>Ov73=;0itUv4Y+u#fXh88Ng;IkUFyNM$Z5o&0FO&vS!b0MG+ z`4H&0rAlR$2~`RD>`*k0t$NZaY!BqU{V@i0en=tur`!etGYjL@N%)JV=m_|Zt2_VB z1+)3$T+e68pb4l6{wsrAU&DaSc5NbZ*&|{g(12rfofnoRGb=LR19$tm*R?xg#Kf5g zA+vfDz-~&rKgGghv2F$R1-{ATUkY_Zof(jJZiMB758ix%1d&%BW{h2e#LO1GojGz= zs|FwS#~bWR#|P@|QAaEulV7-%>t^IU9#Ud8W>};)V}Gd(Ne_@}Bxe#$ zxzPdKIrsB8jIUWgy?4{u#Sg^qqd1r_#BM*81XcIbjthUz9d;&g+po>GtA6<=t-VhK z7BW;i_Qj4l!xk|CDvb~T)Yk0oN<2wC7X1nCuF(5L^ueGH`_R)|tjKMXwg{8f)o7Ac z+9(AEM|9`P;{%{Pi;3(xUSUD9T$CF>nFfZHGPx)7*QXP8j{hLvzH+Jc4 z-in3gARo#nWinpE3kl=*3YmS9xL&4Ik9$X>?S z?o7qI4b-T&CP@?!f*QTXTzvEJr|?NH$LmK^lre8h1{LnYaxj#~rA~#=_wkGT>Z(UB z?~Sm`|CCJSDGhR&L^}9lgrB@j%~)#I!``UcUV1myhtjT*pPT{5Ny+D@kxl9uK+dy* zf!x-yAnI+7pBVir4NEqrbXAz)@?!3;)jJ#SwH7v?A=I!;O%uDDFjKU1<9wDaBlXy8 z3o_Fwbv7eOj-&0K`g@vRauW_^qNtkfp06x2q!Y0~X609p7sFqEnTbLL3iU;e4A;l( zW8}?Fns9ZAu=(e8Y?pOHNG;rX$rp{mL3syIj zSgU!YiVrt9a62^E6`3|z;E4-xj0nGA?-umCOM=H=p(f&G6KRN1Mtc^Jo9`3Q0P5eS zlE|q0k?YNM$=%jdo!f<}*dMF&pP|9&_X$m3mou9^#ai1&&{nTEUK>P}Q;wAK_WFaq z!+tkq`*15b+~GyTX&EdXxqbky_u<`VIFIAv*i*YoGuqbq%-|fJ2d^+)zdgC!ZG*h6 zO+jtQjQcoH#}j+Jis~uCSPC*df)NmYl1Ld;m&b3+62?4*uhim(k8->&Sv{3(B zuKA<|?}Fz6M(@l`pj1i2W=Yu=a{w- z5@j6LsT&Y*k)r5Pa)~&{hi~Y8t{PFz7GMwe6!2LFZ3aK;K#~Stg#;bZyAN}EV;`V* zC(gNXijYO;!Kqsbn|1R7YelJpT0Hs;b0C{SWcS1A(KiCdk-ilm^5li&O%_n*4*IB- zGN7#mkC_@L!ny~+-8Czs3?wh_^C$RciwmMn7-aiX67*S$_4mVvl1hsqy!Hh9_OS=M zdff`FEfx6_zXxlQKrHAwEqK1r@ArG<<$nLCaQQ@Bc+mEh;x`|f6HQ~ll0}d^X>MR* zA{zI-3S26pteBNr+}VDGTKS3rZR29JP$r-;G0g}&(@r_MeOtw1r5?fM<$^Ee<{hUd z>lMyYW8$FZZt^v=2SdKQI-b6%%%GtRNrQT3m{0`6XsC&Qo!=4{0lNvVP5>j$*a!7? z$`*T_l8vxynqgoN;QH!3_s2*2f#SRS9g?5m1^Py_p#RM^cHbqE8Zc{v^KxCss$qfL z4~ZCmdYy6V+!@Qh{jgt^{TZW>y+sYluk4MdFkSY5N~``*V9ERmHG%RSbE@X2lNzG< zu8(2E)u`BB%_Q{d;GgUu)YB}flpJw1c_=y=UmJOlcM&y~4jpZ*pM#!dZJqo(~msYjhN*^x?q3r#H>LC(}YID5m zhkLTO9+ZntH{w@qrp&31bpeI|p`vfj+K*Ll`uCe_C{%%Tluu##`<$iABEO}UrGMII zcd7!%OazIzu~`zih{?qCC_=;KqKuK<6=4GaU#`*IfQ4i_79zDQft+4rV$pJ_d=yfK zro)K8=hcOLMi#!95}forcE#IruN}|J(~V%~xGkPL2Bw6xY__BEw%s8iskAGL`spVY$3??aWoIDQ|X5(HMy#&;aTE5dI!4v>x}Qw>=NvPO*gz% zY>&)x=|E}(1~lXBS=xt!Rjzx^Df933H@#M8jVxN$8U6brv)+;GM~`AhqxkwB2Klzx z0hP-n3(~W+44iH#;4NyL^mFjJ$47Qpoc}C_{^o)!QXsW__7whSCgZ1lZi2uPC|sN3 zu)3$hIkN-Io))ra;Pzmk1dcgpLCLnOnUc2S|GD2r8xpdq*^L+ZZEt*hCD*QeOl6m+ z8gl%h!u-RJmxXCFx>2MKToRVZ&IiEHZ44VHo~q(u0uUJ6YlG0O!}hJbr9Ky5_^ezy zgFlxym25mvX&x#hq@d#pjf8@OwP0BDWl;i1!R_*6>d>r zkAK+Wa91Y;h`U@1_S9(<3IWVr3|8n&faZ~SvoR7XMXvM1hcx3?0x*vs+obCp*S}+| zxWQO#q4!h$xK(|2!HJ7L4W#4Pe-XrnG-<#1jTY35cc`HbtoOp}d&q1+6{Oc^Xh%U=?!To}$4tq2( zj&40ch-vx|sH7=|`}%o2hhc(>9cZn8#su3%k>`=&6Y^KVV6JO!>3h*n1USKikIf4N zsvtifE)B(9u&0?P!`C(}4cbVN$#%nr?&a;VEV&Ue_zE4k)1b=`n6W-}LBbUwvSk^e ziiTI0ecnE#WNBd*OsoJUYV3H5w2B5t#8FW%ayS!Wy*Urx^yfbNWzQ%D^ zCT|28n^5OlpWZA?m9Qt7Yeho$(IIz|2j@7&{#lg8jkFpwDd$C) zV}i-UmbQ~yBcx?C#k9PI8XN2@&-67B&p&R9$U(^NmTTOnB zDP*x{rFl~J}qu>86lyN-^L|QoE|M4=#B+kP~^oUku@m!Z`{OUw|@?%Ss&jG}LPwUA{ zQ9#WXY4})LK9JA=bOb56Xq14v@{L5Ej2(Z`g^zy2M#|lQI9`E!_4;AbXDG?~x4S9M z5i3+!oLX0^Km3iu@y@kdSCcgLYE#y-6Xz>?No2%~mfBf3JlegmVUaizi%YXiZrq9= zzO!^6F<&B+oZ`bjcvwtv;mwur)!7yPbR#6+>GMlI5d!xz4PsBdbuR(8yDYyMM0&UM z=jG$!Nha9KlAt9@b{bh&elO?g!LgM+#`jB*^OjF+f0aGBqfPw#hDX9aM1UF^+v(E! zq1^c-hL_sRCu$vRZISLzZ~LJs8&4op=x?L0T+uShb}@~+sFEcy%fpip!(rKYG;8QM zqJ-(F8`ju5sb4~gAum=BG zsJro5dV-|qo5U)x`0I5>LgJ2a(Zu7U^>kaVD0(|2dL?_R+h+F8;rD5NXQ(r+18|hD z?Vxc%mEjx6$*>;`+lE-&k*}cdc)UpI;r8gsyZeB3ZN(i^6K`?|AIYrAjc7>VP=?UK4pS2isc!~z5I%`4 z;b0V<64oSgX%>zcj~10zai8rX!=t&1gUY$S{UT-A5~`?#$ee66Y`2HX-e|zonGGGR z+>%dl_2td>%ZJEYY%y%630)P#6`Y~RnbndQU{=s)LfaDg9y+hDT18HnmA0_D4}B@< zz2&kXJv#~?u&DCAZRz@@3N>k{;Rx!GiELoRi_0&!8Zi5B53EO!T5)wHgas4z%&s}8 z?bO#mVOWootqV;3g*_;v9A0*N({L!>nJ7sB+|n<$zM-DrY_f<+qZ2Pojtj!a5&S*h4Ru!&4jjBW7ejt;8=J)|~u1SGH+KZrHaeyZ)HI7vMk^oPn6M5EmE0 zsEdSPlKX#_U;(g=C*6cfZZvYdzaeOw{}%j(-5+)S1+(#AiT5r&7uv0Sjnj4DSxV#z zlKy5WGT5V}YPlkHs`y9;ADcW>*ivnnR>ijwfv+!mLDTt1JDfq$bZZk&&iT5xODnJu zxm6nuRCoNH3rq?FZ2TL;a2nzKRDxXnasYF;a@qIR(rx!}BCOTpj36gLYcIRn+&+{U z-Ci6qva3u+UAtXLSGkNmIkIZv6mcZSr0@;Qa(PEjCuI%M|HGZ+4m09onuOaoN0xo+ zbno%-W$ppoi~l_O&>DoT!5(zYED(4)2hP?AAhkW&JN$DIWuw&C`$U1Z=tef5Nubo~Jsb~|gu7qK zOOn%2PcjFEJQ^C(Q*O3~SRpt%Yt)qRvh2Vd(FQEB#x1zWjPqyiX3D%s9nWK0!l3CZJW$l;aIOG^S~IPyBj)Y9ssHt6}1;Go{T{dDxDDaq+I18(*z8+a2*N^F%%&GykQqUcT+ zLSYgd<;2~r10Q-0NE2K(;wk5AK*P|73Cl}mb~w{dtAdRW-%pQJk6k@J9OHlO-`pgnUvNFLX)F-m{fslhgNQ5DknY3_=gM#RHc+??>YoDRUNn7p#E035jCRJPb) zdR*k-dz;*#u6D85g~)K>*la_giatX$cV7%f9RLw6+9Yd4-FGOmBMURJS6!HQ_BnaJ zlligfSQZBhD5W1-Q>H<>y2zsrcecb2hvTIc*&Ej`-;HoXDs|Hn5x1p<^4T6h$8{TI zGh9?Yg-6Sc=Dj#}pLG^~B=`7*%y@ACNaoHa6j1|olXqrGkL!Ig9bD!L#t~eTJtwkzF@Nnem_A-+J+p;Xq_dX=-#(YY>>2hGcT@e*+u=qBa zvdLNIDwt2?s%@)T(nn#7A3IWP*IFDoUM%TeEhY2Jd|MUP?eMN1MN)*9{3M{<=ww68 zp^`sSb*@Vai3V`kIJsoSb|^xRnZ6XZ+JA&@2&#(Sd)3$~$>PoKfX#O$^m2U_(x<%E zltoiRFx@JLe}Ny)}VB+)u3Ll^^o{3+e(~2>rl)dR?Pq{_Rq2Co;Rn`GuJFzL$-BR z&cM~|_7Gn?dOvzQ;|asJ`3O2*{gF$|V@K12TKmee@^=3OW4qi5@%QJ`Z+SjA!Mf#6!;B}{xJ z)Szb)wOk!5qPI9`aGRH^X)ZL-5_`Ut3!mZHbm;3-=WiPkx|6oMU}h@c5&YQz_?#hA zmnTH^io|@Y2XV}!CfvF508%q6l;4=SaD@)_Dy{k|-(Ot3eY70EdH0icHUOu=BahP>9Xiaf4~~W?fp) zp7p=M*IMa?!;X|nUjJOt(!arW{9Yk_-O~CKkMBLImmU6H@xj^$!n~Gzt7g9o#rU$= z+#L$kz9v=?+6nZbLVrjY4a8z)-a zhw&;ky=f~YfkyE4kwu_ucaG$(;wGogc1_5iE*-V>p*?vT3ioYHm*nbIS$>~BJsttk zRh_c%eE|azrLIzoAy;z4pF(WRmyV=SD_fEGm0E?xx9J|&Ooco&CyFb?))p1gAbj=C z;IYV^i)*mFd;mjEHOp?1ETr+`)TZ-rpoz^~ZZPy)HiG|Ah!}M)kI0_T9O?Mmgk(cmNOsnb=%H7( zm_^RoqIF0wb6H=QeACJ@-xj`SU0HICXL#Y#Ue~g*l0fe4f>=f2hLl-uX@X}Y@4z1X zV?=vw4i(on71e)3pApu2i$ROYB+5c`!+)?^ZDtVFZbEpE#NF_Y+!;8+Ee5Q*iGQo} zgzqj=;pppk0qD2+Bl}k&-a%u=0l|gCZc{_+I#|-Hw##CSw}o=RYBdsuCn&<5_}yqb zqQ0K9vnnIJ&+I3uOD&yYy_~jVE-)8e0p6tP-tM!>L@iKg3;f}dB*TE25# zW4`g6UiOu~3yzBUlGzUvPDswIiP{brvlO?bE>rT7d*cx%Znt~ge;lhd(zIq5$90Jg zrZ|tkqE8I3Ge^-W!IK)h_)5K`^A)=!z{6B!C~*7(b?VX0EB93)R=Ji;roH4B7Suzf zVqgrJ`a;cbqQ^=~<|Sr!;UT+b4j-dt?XPhF`xSo@aDNBxAe9Z0u3*;x5c-41LHYX~ znFNp2?c@VNPk056r7Q1U{iaWtrDNlZQ)6 zCNYMt2oMbRFftk_o1(^S{`o~fSx9`TMx^;BI#hpzay#RL=;#|fkq`qjY~BiEsjw|u z?f0JaRaYqWS*RlVhbDenwVWhgp!M7NnWs_r7cY`&8Dyh=i_V)K;ZI66C}q5R|I^-{A@;-OO>T6;hmnY>}71P6mHm7b*wY_ zI{v00Cm3Dx-I@Ja$epYSv$W|eURJYVz{>5R0q)Wk-e{#(>Nga6eP*2YwB@}->tRaa zt;eAQP&P#r%ga9}|9eoPeuaxVJFyl6jKLT6-F^-EPkbgNY}X~VmH@AWs_Sb{xph!M zyGu$FXK}3}UaPiHBd|VHw31q_@ysz#^zO!HcNc#)=Y`#|X>F3T5_I0-7&bfUG=P9B z?ySj;o@RM&FheB#fbb#S=OviVuJM&fz;!JRcMIz7i`0r!20wzb$9!MB6))a{$EYBl z_1$MZEcJZKA$S_Cd6PbVOhf%X*ooL@SQoL^#TiPVa0xLhh#afzDm1#bXT|xc+v`+#~ zXF)6d=NHyk-!t6_U)b#DBD_C;GtGY&`Rr+PMQR<@MZ5^k@A~uDUjm&OM!P}B<+#TI zO$eUGVm4%95R?Zskar$uVn}Wu_9M-htPaSNhf@}X7K z|8P#}XM%-98@?@~Tu&NNpQlqD$D;=!qv%fYg)?ZWLN#x2Eh)KeFT{MWeN}N8{c|!ZTE-{{cBb#=oDQaxJGOoAT&}hBRuL6-~b_ z^``}UJ?NB~`)O_MdOAC5K2;5zNmETH(o)NjwDF)Ct*lX`_snFe!t8$Z{()ZN+y0Y` z9n_DST4b^A}{EatpZzb)?3zitKd1MkdLWlHJ=fh`(YyX`c~B z1|9Y#GaOt==x%$mbJ#NS`K1YY&w-509!{DM%aiu}S1>L7CKU7(!mDSg@LK0MWHx)i z;=ik*q(BTmH%kT7!oPYvMho?D7u;j8o{5rV=|`1 z{Czeoe-;B~R({YtU?+GwEd@1q4u`f$;FH!un5nQ0?)im5dS4;*Yq<}q?>eE=^#v@; zz6lG{GC*l`9O(Wy0j@q}@NsV^xa}E4UgwM_kKLA$xV9t2K|hjQj5|T@T{=sAw_PLy z9c~dF#pmSU?+@h9mw)d{gCgD4rA`~Z4Wl~8#?d*EGijhOn?}rEOht4peKvm=weUGi z6JPnz8_wbMjKxXXwLF{dR4$~?mX%VSj5=DB`j|E*bmD@xz?UXcjJhzPf_vI0bO73HCtW||w;_<>xVWDs%d$+J$ zCrt2}mLoj6`#@N$Ehl=v%TRR4(njQ*c1*O)^QvfDm#o+*l#6A00>vvvHHfvnhDw$t zI!h`?UzSYzqssl?t>sUKr15KtUEC>14;v@W!K86^7_)Q-)}7ym->+EXMh8H-|5R~K z+9RIcm&oS~b>xqtxAF~@3H(9zGv4Z=jk9%U;n@mX3=GS7LctYbH03yw1DJ-|!!I2H}_61{n63VWG$bgYwPs)fzkWG&+RYPN8TJ9FNPb z5>Y=S9CZ!$xd<{jVx)%x7=MWbZFdOykQz$ubx^o@A6 zUb47ZeT}&Em7e(4y4RwdcUdBvy84M9J*Aqonu?Sz(6L@wbl}5e>I`9YdxIDCTIWW?NA93jmn|qcFVO2> zCeeK!W2kS24po`1O7n^bQd>7gny4#FQ<|k|q>Vi7{-Zz_4wI$@U%rq#25*QF>mXW& z&q??CX5zN1mJ}YVCTBNXBThZ%Nwa(^QTumiXTSK7EeQumT*d~{dcumxx|)*)h54i+ z&WPx%X^^BhZ($t02IJr5gVBi$xNms^ZcgzB6Tj8a_phz$J{dxBmKfp}Il|Tl$H8w# zCUh!fgO6K0Oo;M;0oLn*=Bch=ltOQeouC3$UWI3Z}`_!|!uf zVXVqo__NvvltPxk`tg%szzhR;ICCbr_ge(9<88rMvK#gs3V=UdsnFM60p(+x!8Gg% zsO)Zs;dvdfF#R1=!Y3%}`2e{)Uc=Lf`|zT=5-jR+;l#vb*n2J%R(v}Erx)777F7#S z9%%_Hf3AX#{@cNPU@%;nS^$n!k6}b!4|pv60pFKBgR#HMVAhP&@a^9>ZGRbj+xHUo zSt^lD?`D$M!?%*Q4?#rDAf8-TI!UHH$smKLUnb+nH<8l17i2s6LO@T3!eJE}v00b) zYL1~gWGZbxBBr|zETCG(%jw;HTd3ZXeY9NHiz5jU1`sLs`TK6@dPOd4YQ?;sT z*Y-!$)T)zyHvCMNl>VVHX+sFmWH;uGTOi{FbA)_~+;Vu-|a?;}aTo3Y&2^)R>Se~IhA?uVns zjl=FMi!jiC6Q)ksi6NSs(4lV;PVk<9j~nIiX3q^iSQ5rVvo`W{gM+-5=ko16KX|>V z0oM0lhiPx@-=2$QW`WqX+7#=06|n135&!nwn-6~Jz%xx} zW57*A3|=IK*CWnzRZAEC_@bDv{2}2iAW2 zJX+rn&^X>0zsxelPHSr%IC&?Y+wG5Wvtn?KY7$e>OF-k1pK)hRV7%(k&Hb^!$%} zdelChj+_xoP4)cglPO22LV*+Yy0(@^^`A>`oS#nF=W%pa%t+dztxX+z)alVhYV@t1 zGF^JEKaGhQKoz$r(_se&(Li+>dh+U5V($2!oQ!+(?~Q*#oL<}^Mu|7c^3T`FM7uI_ zt}v4f@{S|Q`+|u6l_O-P?iP|h+KN2RSwtdo%t+?|Br7ZQ$-29J&?$cdVlU*tLBkAq zR&WY>&xV5i#LbYGD8QTDQ(&jLIh6GI!I9!jaM8UAT~TE~3QoeQA`f_fd^M=Jtbi!D zE%4j!5X6`HfztR$i2a%hhJ#8$PVO$G?R*CP{%e8rA4(xl^*Bt{u!m8)6goO)fT^Du zB;HvMnzg&Y`sV>S^*j&)Qcpq5*)rI*_6{6f@EG3bw!^*RPMG?!3lg-u;A?dUln;Fc zx;D=s&GbGjJyQiHuX3TlCKiHAy`Z~dJN$lO4|2p79)4R3tvemSqc<4JKV5|1?VaGi zS(dagIpR_O0k&SXfh zdo~ffRg$`m_sI9GS0q#1OBx>cr_+`Wq3qiTdMbN7-E$tO@eeoAjG)@q2dg>}3@%6koIYm+8 z5MwFXq;^`8vZhaxB{!Sz?>NS-3h!{gLM7bpJ`)rFIcfYn2mCl=2Zndrq9HfNK+_R8 z`}#K?ky^wT%6Ri1a398lV5#jexw#%U%_H~f#=^*_U>Z};VU%su&|dTSge65|jTH9Yn34wrcm!k?&HaQE5; z{Ofv0{<1%nNtJB?Z@tjqIM^Vc9iWFwS16>yyj|&?tl7E__e88IOBgt zs972$kgTmj`>OfEl zv%WQiHK&YW&w^B0m7+9@@cKe8{C-S-I9E}J8y9GAW)7VZaFXKmFq)C%K}Xl@rJ)Zu z(Xo@3&^Mz+RNitbtyCUI-Pez#e1VJ2*aL4~Xg_;b`g=h|2#ALroP)g@z*8-|`t&W!->tw&$QDC>@mc zT!ZuxJ+QfPG_j7iCV^G%#4SCT92OlXa_K2#e^3#L>|aAxw>%_%5%0*GT4{QFTMn%yNq=GnzS+>0cYmwBF5RmX{Z>Lo#cb&ktvY1_3N|LOiRN z&SsL<>#Xv}3-&WlO2`|lDJXm4jpAVc;S%eoE|Tq&%O%KYq_fTX?~`? zlXn*DV%xuN@$$CCfs!4V?&yG%%vWGXF~z7i>bNlBIsdJEnr|+3u?RnW%fw6RF=#Yr zANtN0qt+QYEH1sk*QxK}caIL`B)Lv9yTMBmoiai4LFScs#mhu7yk8~u?9&w=EPf@b z_-DdfpS(nN8H+`79-~D8AS25EcuzRnkuTT`ixR94?-ynrwiG&!5W#owFyYiMdBHO4 zBdc<~&l-=FvZmHlX1x43yQ1dD4mCQmZSG6hn=&!eDVWHl#%QxUOo7QS_(}hM?4;p! zcj%haWmF-gfQGlG(=pFtXt9+qO<25-y1j9r5#g(-XP*geM@Ho|rqjII@iZ)C3@zSZ zKusiu^yZ#X)a0-ZJ@;FKKJ(Y4-(}V5SlI#e)a`zB&Wm0${FMWb!XPBI_khDs-EmrZ5Ly ziIbpfR|MDyzA)t0E_hzF0=6VAgV26^AbDjXTrIf<4dWg{#hFI1mn#BsOE~no?S;;c ztq|>h2pT?x!R*5)!8$q%Y`5gYEZg%S<6a7yS`{#`>mnSgJ_RjmKJcc^0=ynD*m>6s zuIC(pKZTL-Fgp=`OXA_vlvuc=pA6R`bKpYKRXAJJ49(;=h61@?@gMAYQxBCp;sOao>o6Qh(azsYyp?52up!anxfhp*EjQ=(Qj#dh5$ZYH`Pv zu6p1__vHuCySJn1UYpbOuw^c_+gnWIf~x7;!ZwOaKGEpcKd2xj%|!Z2jLy_$i9uu7 z1IMY%zIqn(J8i`-T5V%PPkXSZo5R^o*;JNhd6A8bYGf{IpV_S4{e{!BM+p8&62bGZ zy|5t9Tc}!^EHtTJ7y1={7KW>7ippPdk{;%i2>;w`IBiJz%| z5r?`m$s@NgiPh1^lK5wae9f>U{L()Qp3Llr^GXa+cg`ZT7j42%mOJs*vrYKX*&Oej znuP7)ia2cFExzhh6mQtGgICXU4_aNM0j+@W&^(+Z#B{!dTP zQ@H_W^yOi~!4RB3cNzZ8SHaFFm3+Bv3=iy$;lba}@HuPTvGvAA4Esw_D^&sG1IqaA zmp;5nyphLh9^m5_#_^V#%Y1e9D{ic+fF<|zP(gkgYG0Xy$CsGnOY5b0U1Wy4@6JWH z*^98rcr*T7>x+>^(U{vW37>z9!Y|vs5RO~n&P}86wCqhjQ>8i?P8toQB z?Oq?IR~&cI`fcm!(a2@=@VL2jk(`9)Zvd)qK80TUK8X$=KAnF4I*pz>Wk`>g52cDz zw5d_%5IVU)l`bEkKsUzqqrVpaCXU0ulV#Ulk|C-Mg#GKQF{ARx+@Gh&WvwV8kqaW{ zWqpXM(?Jq2ay@CVnoAaj7?L#_swC*{cc^!{3q#jmfH`-Q;oI3@5Jet8IiO*X!Uc(+shpHE?TfF2ou|gXcFt08<~hAQudy^y0xnCKHYu7X$Mz z2fNw|2+k^p@URk?xh)Ii!lGes(teO`SPcElITUGH!@6ECke!kMZVqYS^DPZbWY599 zj`Q&GQVp2IwZWl>@8R#NpHNF=N!wl}axg`QJX$c8s0U0YV*CQ6qslm4!L^4VCi)XtmehT)tBesW!iNx)OiC5zhub#&x+*L{C>o|_Zj$l zRe{C!3b?cOKFl|jB{IrmiHz0)5;Ac!vE1xK`s|X3`{xT}@5mCGr`{91lcYsz z%A-Y{!z@LHZvsVG?=Olnmi3BOS4|bm(<9=+t(U~My#pofsw*X`ug*y13;#&OZF9Iw zT{u5#-^i<5lu&WcOmxv-j#I@BSbby%Ud^(@hoN(Ei;+GiwEg5u@-FfEssO(6%66W9 zEs!VaUgvwBD&p#+(=kNa8h5KWqP^Z;{3+vzEy320@*|4K`7>&|9un)wvXeIDYjo7eG7QW|>IdZ3A(7*{>~!*Av1 z^J5mVe8bJN{E0<5-)0twCk+mu&yz*?^Pmn6DQMwK*2MD3J+3^s*`4_eX+YgN)@ ze`mLHVs$e;uo^TybQVQk?$= zOzQ7|6;{B)*%_dD`WRSTbcT1t4s41x!K@h`V0}Fn+WKFF^G|QX$DPfvWNRgiFinT0 zIWbV_7zO*C&}*gZHaK$XBR@4~@6s`OZhMGvW!{?S24{R$hl{t+ODz!XMfe zuY<7Z%fR^EMmX2u2V(npP_{}1+mGj9zT729vA+j@9lt<@whRg0qDY?38%RpDRETAc zCb^5lN!$tpB4;p`%s4rW&=MsQcBmIb-Om6cZi9}01ymU4!cOZnxGg#Z5n5T$<(dPE zH}gPk{8gwhc?ID)@QJIfPbL`ByH1R1uQsE8t5#8yncL{5 zCkLsa$d^uW3Z+>rj^;_7p#i%2^h8-H-EL7&Hy?aKb=Q5RjemaA)}8X~=M8l>?XEs6 zvYW_S|2gnLp9vF8Y*?4kPWJYXC(DtIV2w_xEacS%X6JO9W!JxFb9N{QK?8>hRbfCF0Pp$8edOD^_oqi{nBxP&fGrpA>qIANqNW-B|Lt+Ehn= zv`~lV#@>{uE%TJ@Sv_8IZQM(-=7U6W_Zb_p<$$5$-)$YD)c1}HmztX3%fdub&Max&c{iyn&56auI~wrT6UdIol`)64^OAn z9}{TN(O}wCc$8|6+Dq3}Z>4K@tf9V1*3{&HCH?5Vm<|awrujcOeJeAE9>X~_MTJsc zGmfsGIg+0B9ZL6U4WW7d18HrwG>shkn}oS^le(045-h1Ft<4vS+2yk&e?cr6wIh(s zSnWlQKk+2%`W+=wj$6oWZ!wY5P$8Eh+u?a-E!1ROg^4zWuvs@Arez+6uQB!zJ$^gL zybFO5OY?#JX$JRUU9fk>E7*Fw27010z@jn%2F^YS&kyCole3rLbix(z6yJch?|0x- z!V8#f`5ngYlO`{drO0jF4`8iT1B#nYg5nx4SggJSvPT?%)}&zAZx9C;w#a;ohszRwo3HTZ z>kClSx(j2YD&gR+^YD3J0VrNChQbM#K@@)x8mjYQ#@#F6r}z$ZV^m1af)T`i*HALU zU;z26_Xe_F-UbVc2XHU37xsVBBJNj^L@4efQ4xv6tMMY4o_>S;`OrWDvf9YetKY~} zL6M%{txj`pji9Fa(`Y1}OFMckY4*bPRMg-^-OD}c)Zsz&e%W!lSM4O#_RglSbc*Q& zvnsl)|3lil|2=&?^e0`vLxxpS6{de_IMa)qz{X!NVk^b7*xWoz7A?1xVb&qG{e2)a z5GAl5mf7sFbtOw%(8jjWU+mcoRpIL*L&3^!p3v>FP1rg;PzWeLBb$4Mc{%wxxCv$unJQ-){4!|=X8hO#Hc>e30E6-i# z!T4s!PO`ZpYAE(FL_+XQN*9AUuNAe8c8wUK$$6|MN@W%~|EV z-?8_6N5x=ldprdPcr3&nmg_M-XE(Opc0#ei7Bo6&fuGOK#;0Y*m}_c_pN4s3s!}x4 z;Ynz~qj7w#7k3-xNvaDks1a@jg=mhZ=-%ck+klRG53^P(jya*ZY7u~L$n z+xg;~S*~LHz$xOU?|((NMqU-ks6>jcN^KN<>j$DC{)0to{_g}`lj}mRTbeLEEl`-G zzfE|bZzlK;ohFPvKSZ#fEG@WSf5YZ_++if7h&_%-VjrACSy+ZU`##g2sd&z3{eKa5 zaG)W3BB#L)r^>Mr;eFKVU;F#)zC+E!is|g18FbOF6uO~1lDfzEQR&m}^l-Qfb-lWc zu8CVmwMML?CU5MhzUp$S*=tH`|1+V(jpkDgn>lpzoSD>7G>-0mJc_DD45xd(Yfy_5 ziu6~|Uou$Z8(EpvNkZo|6MxwXGDjhYM1MU&2CfPta^E~jyYE5be#n*F&Dl&kb&bhQ zPfgO%@Cr0cuY=0#OAwk{0K(D~I62K9s-N$Gx657Nt5z&XU9W=l z=@`L*?(8{4?F0R&Ld`LHYi=SPxZ@nr6Cr#tk|&6l(!rkkEm>&GS@9KcfE z>9BnNaco=MbhdJom@Qhon6-wkXH8KqtmKFfqgNtXf=(Jc&~uTw$lPXaqIXPsjlA$? zfUeNpHbY1rY%N&ugThXODB*$sd7-ZPiEw}_ir$q?5PkDqD@t1xE{dIWMYPFHTI~LZ zid_XCabZ!Vxa{m;N%9zbiLyhMqGi5=XN30Fu3LaHFFt9&%ZZyKakJfm<)DbOR z_u>zUBPw-UV{Y_J4EdmpUmo7&9oDhDTH^>e92mo!9NKtH=_m}**no*Wk+|c2A&NkJyEGckEat(PDg1*&8K188k)Jr#AN>kX<60pO zAC-CIlR?%f>KcxAt?j(aHk~`fMDQc&iTo{;@vN;~{Q3OB_@r$b+Ff6Y?X$yWWoQd-$D`MZE zI)3&?BJccmj5qb=agUHb{-ezZ56JC8<)@L@wfr2WuPDMP9tG&5eH!V|V7#2V7F~Qt zqe%WWzc4X@FPpcBZ>W*wSz+0dq=0o2(;XU;uM=y z&}wC=?!L zn!P;W*heo|zbXavR2xBj{4cbJ4?>;EM`3FX;$`DOG8R9(qJA7W$0`2n(;lR^KaJ=aa24eytNih)??#+Z; zt$gq>DuOEcE3oYBeGs{ShL=^cI!O0_t)NFlXZDT-|9hgWS@1H`} z`Hmwu+_Z_&9cj}0>@j3&mcyBA+2FG?16XS|gqY;QHTNu-eli~pE8d3WU@4O4Jd`v% z9Zy8wqsiVC%H;2xk1&0H3%Hg%1FwTJWSOxcS)jg#m^cNI#k#3v&Co&;+5Z|TF=!<# zPxp`x8$}vnqDEc%hSPnMr&FeFLW^Xq=&fVxsMAp=`ozVHS`7-JyUJszS@~%il9f+S zUM-^&FW1l;Z(Hfr6Cdd5&OZ8hk~|x(s=-WljbR5>r?Kf<85_N0K0A`VhOL^ihwc30 z!O{i_Xi@Ds3AVDZY3sL;>2qPzYxbBnIL&yozg=5_d+su99XOxU7v~Se^c=K+Yl@pv<(kVGr}u&QmFC%GM~Oa ziMMMcb1ml*{=w`OcavAa+kVrqJ<$@wo%dj4mKRp;^25(>JW(!k6)(EM}J){T(0(Q&;B~eN9}vgho$Lb zQtKKly&QzXiBvo+EYwhmvKeN%Gw zzNe(;>;#E(%4>1#&lBPWi)_XBhKvw5zIrFB)GQRmTLp-;7OoJDP@g2Ki5(zPt9v21 zj4v08U!({bnZCmOfDOVhz4^k}2a|*b2X!Ij(I2+B{3V;KUB@Pt$*b{6}nT+;!1tMU*{sN7AP;?~mT)=Q~&-a@|>zenfAfBB{NoK=x)ylZAtRf%wfg_^$Z@ zezrb_cAsmY)qDnCe-8njI8S&nCkW2J`RBud7hrpH8RQ))h4*tS;Hms=z!x3hze!1U@F=32IG$w4&LD5pXOW>t&B&D0g=AkiCy(!sA-5V8$-(G$82+ac@K+85 zHl~5R)fvcb$b`eU@}X7bGOQcl0`J152(!~B-`5%tg|bm(N{BkSRxU-3fBOjEYPw=q?iJ@UNo# z$`i!z>zu`T7Wv|3Yh)xpG)*NJY~m%^b8n2l zavHUaD$u#R0jKV`gMVjV!_{sXcuF-0|9rB*rP`YK&ippF3`^q&bI)`A|2}a0R4ud$ zo`jcAwekGhWMsk;tG5nrI4G+{FjKzLtC}?=$fDei2)tZAx7oEpL*K)AM zFA=?$d*b+Yrr7Y$!EM^Lyn3e}fAn!0-(%D%3EvkZdH2~wQsONm8TPSAye;pLcu1&` zSWIQa+w5dlL z^DtpYy}YpW_y?BdbC30pyu|t@pJI3F!&!WgH>@ckjx7hR*fCKuAWe@;lKOQy0l(X_@Tf|jg0M$112QvVlTwEK_;^)mLN zi-SDqfB!bireY19cY7HhycLEG5srkeOGX z5v^ypNJLI4X_3n(b1!C-K?dpMuy!m-nsAt`eP&8dS&bsoT?P=PgWa%m!UH&6RSX;c z?UnVEaPS-%0xnJA@CQyoO-Ut8T=X6y+vLg0_Wq=O@^4s{-3nUjSK&_i1sH633AS0? z1fR1{VBy#vXswhZ%^3rTM(Y65Y^+H3OqC(#LERvi*9w*j<)B=D5|$_iL$16x92*t} zJ06~ad7+n}ZTJ<~^}HN6{!hSCy z(fw8st9i?aVvB^deAXv>cPkRpRd2!4_cj!VU4r;&xiB{`AFg{|2AKsn;cnAycroz_ zbQbi1?0GdJz!)-7X99Wlc@zmgs6kS1Dv+X7Ib!-soy2~gP7ax^BIDvb$nd{$#7Zb7 zzC|xcP^J`(A3c!H|E)@^cIi?3{7KaQ1=1C-&FL-|TROkaiO!tlLpv{qQP*qnbWHtO zI_g;w)pWQ**QVa0pO-$RddELgn?HZ)b%*|}@{<;`ePYN8aR&RW#o2PzC9LQ8W+tb6 zh}o(6vO^=o*+tKjEFrUyMF-ztt9CzO)nEG<->M=EWn+Z@EN2NDz19gYuXzixYA1xA z@mGX36j~qm)v2h|_QJrY?kpbcb=5xiLeMLTY&k}y=Y#i4xe#8Y-!}u`_JJMF7?dI)x!)FJMRkFk4Zex^Pr;k&{{NZDq zuJXcn5nTS+VgB}hI9H3P;rkN@;-Ju(nDcxEo|oH+EzkC1=f~|BZD);rWG3#{Rly6! z_juQxI9}U%m@BFt=l+lG^Y=!>(C~l_j;IL1DHk%aC!rFbpS^{rO=|z`RS6caKY{bC z-LTJ5j01gTFlSO3|NGz!k0_|&r(VmWxBdhyx;yKi(~9uF!Yr)HO+u9N$NdVc5v&bx z@!$XWLcPnJg=g?bf6nuWi7nh{hdg>Zj7Pr{%P?j1KK$}N5N`~N#4Yv_xU10*!dyUrEi)fEL8ayk{GjtAkr8*8v&z-ZKOe8q?DOW=`9 z7W0>#a$N6Zt|UislVqKsC3zgsAdWp4Cho8@6RR9i6R#zYMJLS9ihi%~5T$=vB>EjY zM$~&lR+M`Gkq|bhL|9UlC`{Dy5=sPHA+39kpi(tXm{Ou5{88#I*6&2?`IP>+OQ?J=CZ8^2+OV>%X&N2n8{CRcI?Pks?gO=y{Fu!m2)psw^apn z=+<*o_GL0%Y93F2r^V4BMltl$qA>dPf*+OY?@Q6#m(~yWpv_kuY482jbkR5~dMt1; zoiS!MZC+qR!~Qi^uI_01X`~LlRWX3h()md?EqzT!ZoEqjTq{WB<~$N+oJs0?&Jla_ z6k;nAKuQv<$f}Bwg#Z0#AJj>ee3^Ir~0H)m?`4_EJcUyaA@l&2VMg3#ilh4{C#@$ZIWYhN>1N9TZ!Z4{{ag~Gn~@h~|i4>p=sK$!Mb_%^)~HkCHPNz1QL zoi&Jf73q=IjRvHRO(GY~W{^WN5)!m(9tmw2@bRdyEra@NOPbNy;OG)rWcd`Oc5k2EuBxrdz(ON1`ePagFPFFQr{A?th?l^-U z?V3x&7FyAmpIhk4Mt3@}B#1^2iKasPN$MiXr3EFW^ttX$`el3z4H3PisVn>F_t$dl zblYH7AEeKc4W_anL14kl7cj{eTjsUFmED@|%}#s^X8F?+*Z|9HHfdf3J7{{BWeokm z>Oaa0n)`Kx^$F92V234w@&hMf`lc|!XIPf-IJZ%7?D->L+c43TVP>M%-Cm;od6}Zf zqF16-p~J;@I@gJZX{3rZEk21?tAk{wU65pS_g%@#XCru5^lmQmDwiARbn^w9M>A2Yr%i~YQ_`{FLA`` zFHyK>Yd&6Da2>bpuf-cjD)H^i9Q5c2$5}5n;OX&WvEKC!|5%yJhX&^I?4R76ISQnYu{l7@!SRD7)x8HF;kGs=wYE&QC{ANP-Y&$;uQ`?$}?Irnn$8hn44 zqD874{w})40`Ju`=bH^|T}LNVx-WrdCOR1V&=wcoSdWwQ6Yy)`ZhUON2MbQ5;QsGn z_`_lW#$*GQ2MK7KvlNY@cj9%+J-9YJAG^KMaf9Agy!mA==1XXx_+~Gw>@H{hOOly} zdGp0hLS^ss4zCl-xMMA?WE>@2CpW!d%k?R*7p@yb9o{~+9$#^KopN&F?${$rIt zlQz&`2fN$E#ml3`2h&W&=JBsZ;cJUUucTLsz7t*15Q)#ihNNS{!=*`rZ-j?1+}m8Z zd~bxX#O5`>?$J5^dPF&YV0$8e`m8^{#omt36`AwBXVm$1IfHq(BQL4*$qsthx`7Tm zzL(w}o=X3lwS)dVy^3C3WJmqWL^NZTDZM*glg2!dqo?zKk#CP)lapHa$oW?n$m^pg z$nKT(Wcc+;(%M->QXTgZ*~vwuMIoQy(lk;O5l8yB?IPDTV@OB-7P4a6Dx$E>jZCar zMB0DYl2uk>65DJ-uKDYdzNZ=_JXetzmP(S(2j776mwVu5a1olHAAy0t6B^UigIDI;fRfWO|;P5^$Fb`uUb~sr~FGuAEO_SqcbLYB60rEry-)N+~oIJmh=1dVFbVY{s*B*)Ewur>y3zXPx+6L8!x0oGWl!l}w3 z&_4MKm*4n^dw=3C$GP@$SFgO|w)DN@&gJxS@1{TEUf=z})n8GE)=@mX*f$r{9jzdJ z#$?EERfS73@*rV05>hAq^G-tt_@=!RE-tHv`x*D(SHchQoi9bkhRc)P5~Io3B?jd5 zM}choFo(omb|a70hL9VdVu(06m0b9hONx$^lhN7@B<=PYlDoT;#4PP4^=@Cu3b(;j zXXG&YSVn`UJv5*JjvQ@XHG>WgT13}I1kyn^k#x|gI7(|XX_-nH{V(ts?NV!_BQ`&# zGsFMT$LS;Z{n@(wrXb{JU-IC$uZiNxj$HoOgX8?=u3o+^xI;5hY^~U%ONLmlhGgh*x$v`?37MCd)L&+whfoSf@lN0 zmoN`+75bvgrx4V22|~4{?pX03;)+tJs}4hIHlV2i|SHlpJU`)}TVZ2qBk<|X}= zRTgTX%-vZyr8pS>Tui{f%W_bc+lxnL@4-J!yU>5J7jASEqeSjh^zpXCd7Hv;{Ok-o z_4OaGTC*`EYA2?aEyd3wW9(k_m%W+&AM@`^V{P|#vm3#e+1%;Mn0~+x>uqno~DEdqkU%zwx}h<)&Avg486hI+t%}QYqR-{ zES&Fu?99i`W_&!a%QvVG<<*=%Q=7_r)a*wyB{$3I=5f1e@wGVGwsa%?GS`LLw$Grm z`^@RK8@e=WgAz3;8%$sMeIX&;&q(Fgn`GZ%emX94{&>ZuW}WWWZ;;yF1&a(6@0E5L3NZeSQmcgn%i%3 zKl^TSjZ@xo{v(G#L5d1|I;8=1u9{#nX)L_!oB*aTj9|jFDbP@C1Tovx;ZE#dZru7S z+!&?9+||n!+}lB?xyO?CxtaE_xz0DQxB>fT+^v0Yxw#+(jkA=Y{PP4DyTlCqPx1fQ zF$0opX92(DU#Xl0YWCLf#bPeh?ze%Tn$zHWl?jYhQUi^_QZU7qB0)MUdx43FPU- zEb{i=K2mVFiUch^Np?rIk+BvJNcF7uq)%Rw&PtS{%a{u7{-{I8C`_R`>&0{rv8Tla z-c zC!fSiIacud?Jo0{l0W#%-s-{?1xsOXz!t$+xkOlb_l}^TrXmu?FA#}V>=vywd?0$_ zrzc+gBuqT7s7d^0=tyRE(3M#}DrDN_Pngk8RcyK^!fx{=n6>OZsUC*#depzhk{T)o!Hk(b0>tOm!5tk@Ye00GTm$nC@kIj1gtL=xm zHy5Bp_EbFiZ5TdScY|gB+QYVA-pV#cr?G=)t}$&rb^OjRKwZn~RqJvf1q4g?MX!8X5&}z!}sUuU;_2yyXl}?DWO>4T-qIKM!Z@&BLn6$ynhY zjGn28y}Tk$8`r^pmE^J|#VJhAv5{RKB!yqU^LS)nEu&Gc-&wt)aNJ&=83(0&6Xzq)|e9hW<@MNyv>_ei?Zg26`S(U zT2y#jc}ZTX;Tf$MeTAlU*3s)`1@vb?3YGgDMRmUWP>&aLss19KhI}-l={q#&O)CZJ zv{{12e)~Ww+n*49zZ<0VLOW@YJWt%uo*+e@wd8wh711R%r<23!rsU4}@#NZ2Rg$|*jx-+p0iEYw!AaHw zp>PL=*qnnwiIo7D0(AXa=)O4z{_5+2@?~kbyZaG$clkwb$B{GK#qJhvzVjLG?)T%| zs^O=(Ib9F9&t>xP%10j__DzLFW=3$YSp^>K`^_0uJ>gdTbHI~|zqncFM#8?gy0FL3 z3@%JCgU6R9!IKR-5M?j{zQ>M-B?mO%Mb|;)L!I{G#%oast<9VewVoTZST21 zl~OPQrJ?ltUv8`A05{K33WBRf!0wuHQ2o>tw%LfG`|E6YHp&hfhb@5HkKAC;PhXJU zwGIXk4Tc!82UHZyfYTN_aCe_PJl*nz)4TPIlT_{H99mv*O}}1qjtBd>jLL6ZqQX$P zbzdK<%4fiixAUN**&5eQc8(m=?jkB5 zUy}Ws2Z(E}4AqMtL2E~9(UDHZ^oJd#UDj4~$VWHo@_jv>V-Zc|vlD5=(;O;&^$@M2 zO;o?GgRW73Mzaef`J_Ke{Kr}P{NG;WOE-J)+ulX;D~IRs+I>g)v(b-ujldy-X^DYg zy~RZsBAY0vE<7p(-TNxc-DxBW>scon+FvE|n=2`H3z{ijP?IV43x6Vxkuqc(W`(mm zYmTy`1;1IpgdVO6vcW4`yzoHB8oV>Z7hlva#5i{j-{p+LQ*WNL(uXzdom&#i){bSv zjVjr0kJrrZlonpQI~%nES76Vxb=VrZ4%Jmw;AKS{RDGm}Pb4H!dC)2LC?SE#7HnfL z2N$!v@BQqFnIR62U4bIl8|+iW>%>!r{<>_vaR4G{oYHn~U+y=5aXJ=_%6* zsb!u8jqK#@4~*>B$Ld#$vAua4Hn+y3l6EzYdRv8t5eISnz9KAJn2MWY*P(m(bnF?f zjQet4v6GwHSex!erk(Vd&2W*&+xAm%ht@KDy?hs*+n9@+&+W&DTg&juxIE;HV=%0F zF%C(aijVrI;Gn=oXr>yCCoX2=lF9-!ypoBPHj!9#z!6_8(8i%QuUJ5N1*^Q1#8z)9 zWvk`;m~Z7owAERTs#%G6rMd*$PS>LRg?juusS=H(GtqL=S`5t~_@#a@Djz?>-o~wE z5I&AoJ6{t=sKtr5TXW(O+FwN1S5=B;st1Z%-F~-(sn!ZYUkK+LBcMM%GzcUGPjY8+IfVS9IGc2I}Q-@`T69#dm3rfPbB@#J4tt17_qKfO?>)1$f~Nv zWXa$;WK$v#r+0c}$#iwnb!8|iZ2JR~zW0Hq?^Cev=mBT*+pzS|378X-4T-S<5WkLr zVdyv*oi7JVjQTkXsSfV;?k2AP_i65e%Q&e_y%z8p^Oc&;SOc%pmpl z1n~Vm3R7r)dN}hqAm^l2P?qy&!fS0 z^F+AA0bJN`3EO|#f!k(hm>TR2uE`tW`TS@YNZAD!Uq*t$`&F=_e-+X)Nz`WGa8d zXC7a1ESQ%rOXL@vD&r?Cy~NMC@|oAvRuv*M#DcW^Iw9plzEEr5A$Y79ChGYyTXght zqUcT3Wl?v6npl3$DsfI?wRmf}6q`QAnyEiXXI947*n=g*aQ$R+eBZJVA0GEb=}T)+ zLF|Q(md(N9DF*0qK^7HWTxT6}B}{*L9Fz1*W8YRbu}zIqn4)2dpFky<9h)4 z^Nnb&cNBX(4&rj9-5B#U6z}0Q{OK?h8{#js8-EWor{@=$=WKcG(HG;Pv^6*{BOb3D z&qB|LN_?(y5UpDeU|w`7YG>`nMSYR@A#x!GF404-S`s%7++k(L?QBiq9TvP_5~XYP z{$(U5oOnM9ANcRV$bm9^wB{gwEGxmnhbfr)`k!Zx6k&~x5r&t|M5ez1#cJtjTvLDz zGPzjT6^B=}y>aCEsp#4=7_FY2U^7pqvF>%*%uKI?$x5r@)9?2GTy_VhHRhwAP=&kF zk6nOkK2M{YpF1{BtqEpz)lEj*B64`$p~EsAMjNRj`Kr{_wqO2MDy2T zmhqVxGx^+)hI~Su65qZ55B)O#DIKnRnPykl(!_UpRDDb`&AJsyH-7V`#;@kmt{|Qk z+ZfZnu(7nKQ;}M|m7xbDC8(qPdopEjFNqgDCgFAu$+G$zq`c!SQG5I!u?sv(;$GGf z!(U~jpfZOPUq~Z`T1limH-?Z4JW}_D5$BgiMALOFnWH+AsMQZ9 zk*aTDLhEA~D0~Ey#1G)_f{U=^S_wpIY=o_j0!)umhi!dw;J5G>N7g;&Tm##-F-38c}70{{^0`)s0VM)|Z zu>KtlcWpPqwq958jS<1h5FPLyrUai(NP(=|56)!JZ!X129wakHLo3sSDZfU8(+w3E z*f1V)A_VBqUkEAc9&p=e5&T>^9n3mR;bpfeY&EfhhkPJBSey)newFa%Ne6f(3?eHJ zYLWD!spRP`(f|Lm_n0jtlimD@+ObGdyeW}f9F#+9uT>Cv&Hsq~EQPFK%YU93~ZX3UucI)n>i|?n7d7xm;>h|534iXXBL@%*8h%<-HrJCsz( z>~6kc`X-v#b7VT^Y*~t;{{nE8r$2tNT7naPGfeH)M4$feY});17U;Ey>HdymkIxq} zEx)^Lx34nZfBughiA%BRZZM+9dW?$p#eGv9aMLL>G|N`Ng`u6y?s_)sZ`{hB1*EYD z2AxbcSru!X?C{H$NWA?c2Nym$h=~X5Q50K^D_r;CKJPeGJ+l-u6b(>c;~P_LJHZU@ z*0BvSJuG3Q7GC_Y03{uxFfl(1|61+Cm$QoTK>U6TnplC+iThDyb{8m)0!-STh82OE(8|&ZUmsJ()w(xXUT_|ZxSGPU zh96_omr7&nI{~w2ugAAnGjXnSCHh>e$MC1MSkYdBX>N%aO_w3pG7-;Z^t0%WBBpxX znKkbj&NTf`h?#4sc#V#(xL@kANajVJ=w!aTs3<{O^knJ>!TrKfAMXiV}H3Qux^ z=-?<}Z`eCN)Z+pl__~rGvpI#=ITXx)n>?TIf5Gu%UB~kG#IpR#ymvI&;tmbUI!zBO z*-xj{XV9+XUDPajJzf0SnaW37QjatX`f2n;I$uSdew0kS&?%FpLiPZ}tvZFo7 z2-yYX%!8R^jxd#U&zL}B7OIjjz4GKS`2`~kpMp{L9k_3O14ch@h5N}B!0(L&e_w>m z02Q$Ck%riTKb+stkDPe-V=hvqlUuKJi8~~^%>~&>!p)Q8;abvku-rHwR*koY+-hSe z+ouRYfq%Gki@#jkLpfNvOa&A+Xu;u|dXTi=1ZG_!V3RTnPJeI!m7j~@(s zU_4a)bH1IH-JFWS1@6B&SGi~5Z@6?j8Fg8+-?kmsX1G~`te$jzO)=}2ie2^7#{ZIPlAFGW599BaJaHX z4m2Z1fR~Oo+&ydz%G-^gw?hkJ%2Yw)@dS8ZYYDq7R)SJ#2z2JGh7W!7Kw&(Am(Av& zDz<@~kpYlXmjvgQ*1-4f9`Mc?PDU!|lb!$0*;&MsL&a7^>FQE4eCkH>HEbubeV9hv zUhE@Pe`<+V-5H|yp_AxN=q1jZzL9fo(sV(XA{81nY11zwIw^~%+v2V0uLu{~R2f8% z#YWM%Cka&H>mF*&4$;Z_&2)}wCzaOfp$|^{rV|ZE@H6Yi^MiJAd{3|gUz)X!A2mIR zKkZ(|559hZKgT}u^WKdTYBQ+dnCUOL>+BIq&R-CmI9XAgiddvO5G@*Vu}O4MdbpUg zT`XQ_Q7mpO`7E{yB`mRe7xOP^VYh!vpu*E+U z*QjsCh|RNcS*#1V_hRrNFOcK9*G)J|=et7n75`H85uwDHCnpfrEFQ2{G zdZYx4OG@#e$zHs9Ck3;9hhkpY9K7P7jjgjJu`;Hc1?OF7Eve5~QTQ;llb~p_-5(Ro zQt;Qw66~s~#x{)_JiDv}%O1t!#UXC!zugQ~wGHu|fjxGujzk@jjT^=n;@S_{IAv=L zK5}1z=dC8WNI>dl)j(69QuZRSTqTpKQBW=y+m}H@^Ad8TC7n#f-e8o zY@C*bVbUA$L%s+fc+2Aa+s7Gv-@?|1=`)Wl_r-fLRa`rMns`-!q*&XsUKDD$RkU&$ zCp!CDM)ceAim=zHKnSziAjDpnElgiIUhqFPNElasi$7D}z|Tp{PNu$7 zb?E4h(X`%wBuzM^Kx0M@rW?(^k-aXT$ljn&M0M{gLQA{IBIR==A?*aw+|xixbq*3m zi9+&tOg6Eeo=$S(2531cVDgeV&o7$qYCd+NS%4_5!=NdGtP&51s)Q2qgDnBT*l zRT}~`yG)?6-Vw5jy+Go+D|DP^5FMZeZH)>rU1um9xI6|mfC6JNbS$#*3*-&p{Mc@7f8l%dq%GiTI#kIO3P;aQR8IJ;gE zq-%%5;0RT)i#Gz-la>&?d=YdHctL!@8Zgb@0I+p4EUVrGEh9I8w)I*N-mU?+3SThx z@__R}^I&0@01r$i!n9m9Nc%TtM6D*g>@@`GMdnalYXbf<<3K?{9r$!ZSnM|+%2U=s zqe}$%-3)@RNe=Mt7C_)m3uxUm2XtQrg4>-8_?medN`pT`hxRBUZK*>>GZRuiO+@~l zTtJ=_t|8I)Bgur)1QJxXhe&O&Bv;Ij6SGN|NWhW1Pvn&%xw*hIpK*F)w8j~R}bx9NMV*&C)3(q$}YZ6W_BUD?D~Z^R`*06@BcE#7ISBO zA{~g@RvU2F%>X<))fvN5D9U)Lpl(Gkd&HNqdp{$YUdT?CTz{0k43);nGX!&r{P9*~ z65gmO#LeR?@j`1k-n{WI7xnDIBl(`#y4@6Ib`L^x^YhGgMI8&N?_$S}E90gZTMP}4 z#DfMoxLfl8wmz=I1@ftA_bv;k{L4La&KKcw{X)Eun2FDZ?ZBcyH{3sS3QkWLj+#sQ z*{3^QY!1862B{9htf)yi(!>p~@Uf^qw-Dc+sls(Z^;kOkAnrYpgQSe`ECU zikk?Fa|7|g`BdDSxEBq(@^P+0GD>9!Vx)!$M_S5Ze>0?zo3(7Iw0op{l47 zZI9DlMWOuLJd~(AjCYHV;QLY4DD$@fbuLC@(;^3yh*ihEdbio}D`_mq&61TQOR$<5 zmE!jGo??fws^aSMtD?4}siJu%^F(Vlju!oNdnN>gRtwTGyM*yI&O+5YGvTbdqG0ym zC0~4`g-?_z<1@!4^7gs`e8mYnUY=R-8#*-jXbBnq`15{BWpC5okEiGa!~HaFYX%)T zdlyad+CV*W-RPyAHuP|yh{~ZUy&pcFn*LU&ehRA8-9(XQ=u6X_*8`+I?BZyhrZD+0>q_ozKYp z<3_~bqVv^h)Rrf>Y5-2t2(WRxFQz=l?wL z85apR8vps=y=d^zi-SY{@eunb8s;ot3psZjVej65ylK>ivHI#z^GFlg*Xl#XXJZKK zH30b;52`>nB_w*uL>vT-8+fgja1_Qv5?H4QA_6aHj_>3I!Sm& zFX^84gQQVeTDM<`+JDui`|>8!Th>Uw=h)KdYfEWZ-g-LoPc+pQQmEG90@}BwmX5x6 zj&|L@Nh?xb(x9b-`Cwj!7m4-xwT$PNeq6|3cM9cwpCt3H%7RY`dE zjT0n4`UsO#GKDn?Ekd5>AkkT43(*O$a8Z3sgQzJ?T0Ga?Ml5BTEw0+!D^_zeWEBgy zvaXK}Z1bFGif#p~*unsT&48hvp-uPyP9r6`MsH!{!%`4iOcz+g?9um&l zdehlWqid`tLIr0(w#GvvH{KEqeJoO11r?EQO6$v&)L@_ z$5_L`;|vErvWaPiXu51A2L6|Xijt)`@oydG+aAaGqcNBhl8DbduZd1H-? z34Xi$m8nmvWVtuI*qmHd_Nwc=IDOO(ar*;Pan9?vqSnGPQNcNXQRO#7(OYW?k!aF6 z!Tj`Y;moc8fu&Cq7VOXz947wZPn^ESA5g2~AFs&fYqxFV7dN=_<1(l561ykzj%O8l zxg9_0n8YVkSkXp%lxpez-aNYFb`o_R7DdM&^`p7Ui|EC(R`k8MKx57t)00Oh(7x|l zRNqO1?)W;AUOy~D4`fMD$;-bQ^OdoC7I@=C zs0#Il-~SjRy?p}s%E^Ig(N}K%*RPzYY0y9ClZArKGH`aBJoIO4f>ewMCQfjM`NNih zL(W2&dQSwIPWm8@)PUFT#=;m|69^5qg7SmQp{`~<6g}JohJ%8kz{?93ggV0>BL_ID zYy;X+|?+N<%fP%RyXG~~fX)e`s{JXnsb-lIis9TJlt#vbJM?~P=I?GDnX8c$B! z>?W>UIa$zqlfh_mBOUk_7k(954=nci;^rof;{gz@#=ehATCDMvY1uv#UM+eYr zyCUhW_5|AWHk*D*t)zK}PEoyASLwQWk7<7VPfD&2=O@k8=97gf{G?KAUj2g)fA@C` z|9MIt|GA}+zaMv>KX*$?I1w^INVBsQB2PpL6Lyyi!HV6&IvZ6{`WQ#i{W}>Vjq6>a z&-q$n?fgLTrQP*nlWG~J(rLr^=^5ElCkaQM+JfSwg(!va8`FY%2g(#-y07cG1?S=QC$>&n2pP8!!e?2 zH(u-6hgJXO;fIWPTrsc`HRUH`kLds_oKnNio29a$x69b&+&8SHXd+%4?1@j?;*otQ z!WF$W_-xHTCrmtuUtVY9`DXRU!N?j}lU49fcqF422491)+U?FCQQ@@nthh zc?YA-EC$`x1IobMZKO<+~D1RgtBg{*qMV@&Jj?eMg)u9+3Rb z%jDOzb0j6;U(ULFm~__{lCI7yQV+>w;nZkiv@wW`F?S`_<~HQX9E0a$pj~peX#BN0g#cc z2A8!JP+pM@2hF13Sf4vMOr8cmCmO=g0!_#tH3p__)&reG6pAXWz^uv|_Q=kFYJ=%u zp)n6;H~PSQjjd4R5DD*>Z-%gKtN$@_8SG;IU^pTcu2h!7vaWL=j(!0WH{^*=tPvTc zcxR5U>T?vbNb+f-=Aa~&FC zXHGX;%%B;M=hM}lE2wKm7?o{_rLq4!P;Ff?-F~-$9^P@0_D{P@d(z&~?K(qvRbdQ& z@0cNPo5%PsGOqkwwXOWZm^9x1YXu)$dyzl%>I1L3Pf2L6wh%JqRtimH(}hv}r-a5$ zzXcyzQ<40}5YZg3!yC2aYuT2Ivxqr#_8iF@ps#0_Pk?1liifXf{yKHM{Vvh!+IsmW+IHd z?v9fuuEn>p8}LGyAD&iPh{w;EP>d^pZFTFRiyEe_p} zuEg{mJ29*>6L0(H;;x+CDE}o61MLG50%l@CnmWp~yk>{BPO(pJN7<8g&sdbycucW! z$4>1;JQlSdkDDFEJ$srl=7C!0QjkcMosIY1WUf8k% z4;L~N9UX&1vIbb=&)dvi{RRuI_|ANO=%Do@7d$j97I(fVL>IjpTwC6N-3tGB_;wFc zwGHUAPlVg@$72S^;qf7>aYKFzek(0R$;tb0omvLwNo~PZt7oH9?g;GZy2wcDZq~Fc zm)Rs-V^g|R@Oq#v?sSU8g$}u>QF;iU=N!TF(`s=4?0uMiV;5#fJL85Y<4}0`giTS) zW&Mfs*m`F<=6kR~?BpLT{;*@bI3oI?XuV;+NCQ1Y?JFjTM616DyH=bOWEQ6hC+)q3 z5)VNzUalrwF#OJs8+DbhJ5MPBlbKHui7$Ok_8L62O2Oj}qR zjoeU2U!UDer@5t3-SaWDc}EDnSFnt>sV$yl9RT#$<@|&vi<#8GHv5AQvRTVc+2FGz1!1B%FbAl)UlbI zNLWtV2j&syW7A1t?PPMeRg1LijwDBx%agFxQe^1(x6s{n1{BAo!QMYE5P8EKWW4mj z-D4bVI5rv*T}D7ziagw%Jp`l^6d^2AANJ(Uh1bPvz&LCh%%JOGo9QBOe_;-t&&ET) znhw+(nn9Hg1LfIs!G4u9^pvgyTcx$IMQ$q`m>dNYx9xzhZ4uz0w+5CET>yb079cdL z1L(+rVDyK3d|?Po`Je^4E6u?Gd9Vzf0>T(WXr4Y9LRQRz!zN2%V8}XH?71DDeT;$K z*$JSSlnyO#av^C-3CNpOfRlY0!0>#Kf13bi5~0wnumplqW`XupbEq3O2@Gc$g5Oaw zNOdj(iES(4-7OFBHMWBhgJ(d&AA1-g1VhucI8ghM1`_j=;P;E|ur@dlWL!gFm{vR- zoK^w{-=Bf}yf={YN`;toiHWX*Cz%-$LS)0j$p@32L^>vuyk1sDMi(@aVKdJY*HQOK zmGVb&@vamVv`5h4x?^ejVq^M&i0HWLIW+E#8{Og`LLF0L=sC4i8k?U_hmWtKpX1Na ztVh?WndNgDkRi#xE*ZtYJg&?Ci0Ak}x9s>Jr!{=CRUF^^ynwfBKE`h|>E@+3OAC`$ zO%SespCd5a?SiNBeqrSHJHn^QN}>SkxuRn>$)aOnmqizktBSLZE*DSms1!G@{w>~o zK+Kl!if6wZTG{8n(zqei2>a*TX8mQ}0JZN&n7Z)1UfUXQ|wEpOQ7v8R~d z*1gPCCYSvhevB>N^OZSy>R|Ecxj5;&4+f6hfFjut3`+1qy2Tn7uhqw&@q_WIeJe}v zOlQKrZS11gZYDjui`5CL_*ZK-Hm(ZBX1h3S^3A}XXEL$zUoI*<9fk)EIHB_%Bb5Fs zjYW8ksW=~DKc}5z{I0=h_M74}i;d`Pl!HY(YjDr!(>T5D9O@luMU@bHEZgpe+b!4O zqvR{`h9H$fw6y3X{ealp>4^!lf6}aMkBBEFV#iTb9&g z_ttU@IG=_KI|J~Vr3IFqlEhtHJqtUxmYww(&y@IE;`slP#0t7hY(7y^920s(@$h`+(T>%ZjgOk8yWc3 zOgvB4k){pB;yEsnWF$rs0}nrPZpR|hUu#3u5s7$^8F_y~gX|N@lhI>-z=4)- zm>YB)n0*?=7cK#1XETt$s|_D4CcqX4eVESa!NVj?$o5u(g2&46sn-;Cd{_eE{!t)5 zG!bytPDo>Z@a@qokgG8RqlhVxN@oJO>H@#cuZ9(2A@JnOMi{+nE9icS0=fC|;Mti9 zpW@QsWojH$4qFf5i|4_K6Gm`nx-v-B41?zy>d>*-6qK_N6iN_g4Ks&|CB`sZpMb|D z2e6v72G*U4gfYc&(DFV7hMvlTod0tr<__!BTZWch1OfDo2q{BInIGFukIH*4I z1=-n7kS}2gxAs$znllaHyAxDA3jmkS4Ir!T3+K4`aM5TM?8tS2F^N%-9Fh&sI`=~B znr-@B)2gx*kPNtvzLxwlX(*>ETbm|vf>KSQ4O(JGe?Jy^LyVZ|w>4>DO zUnbH`1KBi0znpqbKTfl1F4O+}hxGicZ}jEip?qJY7Qg$fDStZNlCR42Gd>&I(C}o#?I@lBk1w7Vcj&n9UBVG-}M)y!u&7#`oCYSEKQP>O!39ABWAo`!PJ}IOz#Ht$9{9T7sx&otVD*lyNfn9Nv@y!w)?DDn5 z2}WCRkoRu%>@UVeWA-mH7j+PZI^lJ)XkEB_M=@ityy{C*Egc zJFlTr#XqN+ykquezHifFe$8gamk0lonnp$b+WueE@m3GjIeMA;&TgcWElTOA^Vzh@ zBatrIu$_Ln5=8IrTSYDFJZPZ*JX)I1sQCzvYE?|3UkVLq`WOv5uyGi*&5)++KK>=a z!`>7BhHes~+exP0IZy6uoFE1L2M7pxL`X;>gBHaQ%~R{h13t)-kf_VJlIMx=Wgde<@>^Tz?S*j^hGtUjNk#OQTs>Xub)NphJ9O;AerkAInpeI!n*SL#i5GtIy!F_H z{Iby-_}Xzve4wa^AKH0>-|F|6Up-P*m=mfa)XUBl8h1tr!!DNy&edIl%`!#NcE{PG zeyw;>?c!F^tJD$Vck7+Shjfa>lQ+BipMi47La^ul2q z1JTvj53g-;Mzwtce%&+%m1g~5_W2jtb(`^)R_`;j)^_>ECEhLg{J(j1M<0Wyh{#90(RLA0vonoFxzq8@KW@y$Hh{g`t zxaxN;8qPh7bGKeX$w3!TFQo7By=*e5<9_3L*y9(48G=Jo4lW-s|2MA>M%+k7v%Y<(^QiZn0&* z_p;~mg{-mhI=kSYjKSU3xawXwp8B4R!$%)P7vCc|`%o>8=Som?D*^BIdE#7;Nhl`o z*@%hzS#zBSYv@yEg3@`h#Ks+Bxvi7MYdSuPw5tz@DrG`MC(qWdfVHD5fKGK zf!s#nZi%%pa9T&`KOilbuY16s6i)DA8TD4# z2LCsHv(1_uIRMpIjo=%!aH@7m%UUPKr z#>v!wyBrK#5C-$e3h9~qN=hja2`37WJTw0&H*et;5n|g3* zurA2kPKJno&U8M7LGyD9$S$4=$317m{Ijd!%e@$IkxqoEYhvI(Aqd8Pb%LCE)?i>{ z3mwmvfy?_yh^^0rq~AsGam#*49=i|n&9lMHJQV_45@DWQJS_Se4U?lbK-_H?(A~?! z*`edXT5$}Ro-=@|P1Z1F)-q7&@`mfrT%pL{7OFaJATMZkGz|6{nk?XJ_ufVd(OxPoqf$co zMbaQM$qLCPWn}L%i!@P@6w;8;l!nsy`Sbp|yVu=4_dJ{lx0m0;O?~RaEl-T%Vix9b ziw7FGZl6JJxt$`f^mH-Ljkf0Vc8Bmyir4rN8@}-l4w?d`(A|QeBgq2ZrcanVH~RxO;lWE|^wx{js2zQ8WLf5K2&7FBu{VNU9LtlMFS^ItpQF%uiq@ioWZkhvH( zB#rI8UF^S>Ys{r6nN<&^uvw|MS+M#@ter3yo2IYDnX2{($u9VK>_ODNw++WHHbDK~ zYS=S4#Eio$nERz*raaG+b?l2}6aKZc{?W?lwbuwmUG4CFxFks^m?OOTQSNCu4cVJX zb%K+qc}gVh?K@4K4tUU*^=?%D!6CZa!-{UqG^fAb3F%ke#ng4fT$-1yPBY3CsKg2> zx^>P-`u^BYGB&V_B#mt%k6+f2%{#9Vz0ny&-Rc5yNeU!$R-Yo5oDPsXt2U72O-spA zIens4Dj=RS<`DW)hFn#83b*bjf=J+TSf0EEyw)y-^f-V`{R^OO9RbY*ge_b2VV18R zl$RJoKG_Kq(mmj)>aZ)VIRka+C*VQcPI&ah97@ia!29OaaAu!1xJ!6|p>Zh4?@WYc zTpEZ8QeobY1n9_)gpJdJz+i_jXh4RIY`FvD?6Dj5Ead`+~Y=I7~K4fKSI#;o_StI2uy~UU(gRLmFXE z=rf3Ie+Dh$^`Pol2*pwtpy|0MoOxjdJ)SEeku!#oU8|t-fGuntJPIt=6J*~XhiMC4 z!P(?EtaLgJulGfQNqZb@X0b3UCL9)5o`pTzf*?mC7Od`Eg*3hkTyYHf6|7E1FJa`t zxZUKpXdo#RB$M{=9AYL?LUx$lAX&{VBunfwiMS_5-$aa~I#Y++UTr?TIa#0jRIZ_# z2773am=c!2hB^va*l-AeWr!wO^spFJyRO#~=F6!iD&O>_+_gGwyvtGW1 z8^7x~=Q=Kwi|tS0jK5ZKhAZE2zrx4x(S92IS{pNdlBx%DT z`>j3k<>6CUVCae`Zdu}ouRJ=-PsF(=zpzD9YMEJZCYza5%$lX&v!<<@*brrl-gei#K2ofA1&bw3`9HGMH`(t6zb zcnU6w?qrvjUSP#HSF#O(lFaT}sc^fxi*VlpP2sh9-GZfA$%4ZTdj;bJvjnM;B7%ch z$9G)0z;9T2h67=b|zibmrUJDB5B>_(=@r=lcwB0PB-0jruN%*(CkB| zbZ(k}9#7Gw9)8+1aH9&1w~(XNTO{egQZf2>+ZXcgS38;BeVVtfO*POA@=t|cpqB7d;z&qp2!<{bZ#bBF0_N5GL00Akn0_lAq{MQdXBRx+{$%V@=Kk2ma#eN(+{Z=DoSMU5E@sX|UTPBM-#oG5 z*GvxOZ|hy-^X7l$^D1WuR_j^|&R8S}WWu`y^X_U1|E_iuX79Nwd=oH+^^2OZ$H&ew zP2Wb=I!_9{<#h1-oz=K%_a1z=({Z>#_Mj45gJCkd_{UKJ^T{W6&#{&bZpmO|AeCKv zT+5yqir{+%Eo5RV(15o?cV`!j*yW6=a#q+}vkWcPXyV-}aa2sX%Y4RMVA}&uF_XjR z*!@%Y*rc!0=(dWYMu;WunRyuhUO$17rblqDgEjuhG{XNDOv9E}qS)5e$ReL)v*z7t zEUu!CO;(e@!;|&#XqYGd97@KX$VzNVZp6s-P55HVT?`MphO_muafiJOcIhhMw^b^r z7Nm_i3k6v5U^QOK*@MxUN6|^~6z*Q)ftp&5*wMKL5rq+7@O$7HdF&fzuR zm%^Vd44V!*;alS%e0(_`MIT&7fm#Z#pA~_}+m4{0pp6FZfXT~k(bhc(k6I+- zfB#a^d1(Sp-EsyeOx%TwjI^-$XfG2k&SbxLU1lC)&Fss2IXwQ{5U*}<#j2Wclx|ML zmWKuSSgim{V=kjsRtOrt+lP^Ix;TBgDC!(2U^)KIY}W1RtYB`NFi$m1_+h+}u=C(3 z;fbDdfk>LKz<9t=z;BQf7(ai`)1XY=;kGYtX=1@o$y&gleJsb%*7(G=wcO@z7iMzx zH_mahE*#~4hFWkj-Flp6o;DYoJ)WC+K%6_~+fPTAwb4L>I;!7aOz+Rlrom@Z=r8w3 z`XuNyeK*F78V;SH7Dt?D!q3e#Z|O4XTg%hUPZvK|bSRaQn+~bOD>;%Z);L4rV!X+LlSfIjxHTzSYD`Xv%_oifCKKl)qe*?i zb4dT10U`q)fVGRc)SEG#j8Pl*KL?4+6Zf}JOufr4IrUW3;$jeLgkB# zaN;6?j2@ETtYJ4*{8LpB9^YvUk#Sq3EM+=PY;Jz)4jk~I9DL&Vf9$un_3QqypO zXjG(-8xlEWz1DRySn-T3emX#|ZxyH8FOH*yeX3ODfex+SXh{DZTu(O}@1sH=PrB;L zSt@lrnl4qlLOYLD(R8~e8Zh{Vei-~sQy0o`&-2tczDkG7pS+Y?C1%B$6`kVb9))xJ zCDXb6MmIU<>UUgz+gSdc%S?WQ%u2p!zb9|loWig9*vu>P(t>O!eF5+7BluoZF8G`$ zA)H)eDqPtVAsm6vg+&`?un&Ds>~BUUyFT=R)r3sOPs{Z%z`zof`t8x-+X0+!wF89{ zm*SZq4RpuRxGl1sA-T$K*Q7Dcm-)=Eqn$YoJA>{Nit{VCV5!(aR5y0TT@?qAL~TN& zcn-I^O+>W)#P%#IV*KwwwpGH1@!gkL^wM5-?0_n^9$1D=0$UW*b-|hHuDHQ%FYbXOB@XTM-$$ExCCb3y>U3=Wg3o+zJ!I*5qLV%4L!p2a2-mZ(e&$Vdc!5A zyzx4Fkvn`E0v+7A)*7Yuox$R^B+PHf#U0&+_<0}`C)h=!O|u7%K5B|d7suoNLl2qf z+F+&~V!*Wih_e4~X9*u1-z&_1H$`|@s$K8^V+9I%I|YB&Xb85c4)Kd--QZO|M)Etv z9C@qHhWy1Gb^c|V7_Yi;*s)ZuaaUI*ayJ9~xy1!`T*tu`ockT%=8c@n9o!?s^(__U z=HLff_^5?Oudbn%(@W{A?p#{Fyy*NL$LJlhkHYHpRCT@)EkT~L z)cJJX=c)Aj4n=BSF_yj)8A)I5`bI)+`ni^tb8bm)0sfFZvO>!iynY#TpIKq_l6893)p>cIXoQpm`$p#K+d0ni#y%n z`y*?3^3eiJ;vHd_LZDus0X-v2VC*n))_TN4ZS86JD(Mc3?T$mQ)fp&R76*scX2F10 zF{C{%ftca99@Lc&B`U=r_PrbwPG1NA!U{OQH3!1CUI2Y_Pe^>Y8CuK?LGR|U%gx;k zMnx|0H^B=&p7j6)Lk9?8HjtF<1gCucAigCEUU#K}`;kHz7gq&;Ki-DyvId|c4?wS= z9?HMo0n_<)@JRj!^oo>2gl|4fxpD~vUn1c>ISrz(JYc@F>^1%p|1(xJ30qm?YIkN7N1~muRKxK z;E7o39wHOwM{*J)NWhG1#fjEjCUf?pUrncufVz&~2Cm*4a$j1PHO#)tNNteTfAUy}MJ8JkUc(N!{A8Jbr{dJ5CivHAH`>2F zj0STKqh*0Do{up@g;%rD{H7!Z)VDC_@5$_xxi7QS3}Vv#6|Cf?I1VPy!xx=vaoddj z$hSD7pNc)UD{jQ9i-3Ooczpl9m)QufvGw`!%;Q!pllxc3f~hFBm=erbbQFL6OF-|i zO1yTY3AJB6L(lXk>ol{BJL|&0daV?o`}A@*|T=$Y-nN(pg9MWA@Qf0Y9BFK&5>L@R-eM zoG*4B|5J&>(~=i3qTw_aKea{eJ^}tcG#AqjF2#SAN6_p!TZT#Xoz*Jq**kFkbYgM1b4&G`IPF@=zv=8Tndy7Sc?`w+$y=tcfKkb;{ zxU`I5RK+uX!~JyLS=NUS*t(H7O48v^Y?b5hDSqOtmfqpywr6p@55u{Fp5xq5oh9e( zV8m^(oyQ4YD|3~;lH830|LB!3y)^`0KSQcAo1=#IbLgbnDKttpP$zW`LBRj z-b*H2btnD+l4PGDzA~3Z4#G5OFpJjw|@W zuMgIc8oL};%9z1HTU#ir_J%$#1gxe8!?JK6D7fJcrA8+q=Y9aZ?~I0Q!%Psft$@hb z`!F#12}Ip}2HRh?g5-!6IDD%G%yR|G7V0A3I`>b)3Dvc z50=FTL!C$*On#gSquSFz?P3C)_!OytDjCvm6hUeEbvXE=5`wbxV8H(}lub>8 zfT$Aing0k{M-Rc%Pm{@?w+3X#&~9>B+l!n&eU4N<$RI&W?vNh;Zo-%SB1)m+G$%ub zK02yO-9PKlvt@>KUcd(Gbi$s7&Gw?Zri9QDtK#VkgIwy_S4(>%T4~Gochn=aqPV%i-3knCDs>zWtu zL{j-VA6xjV4bp^qp{j_5b@ zq`GI!rdJWo#~>2A4HL&YpzbsW+%;=E3O^X2ov#|&Sq-rtbv4XwR06Ba3uTTpiEaMe z#N=$1uwQ>2MkfcN$B%3r(|H$nt!=|3+JSyY9-#A^Qv7~59#7ev#kZ{zX!1(}l}?Yr z!UvLgV^A6$zbNAEcN)mIF*Gi*!2fI<@Z51%4D52m<4ZPS=7)`eI0&H^JjW@!A z@adb2!#$dbttywXzU>@(6dyv_83gAa6~%O|N*2y?+2EDOY)+R9-boN*&ooE0P7J|s zC700dQa&bI72@Qj8Q8us67Tl9;!0V4>?t0LyS;C+^YVVoz8F~4-)};*z7*lD$Zf)v zwiASAs?CBTgYyC_k1c|&Ia39TTfXz;a24+;jNnsL5AZEN4fum=)cNiPF{bcxh}K^!Ipr;VT>gNrqct>cSvght zokvw@5?#_8LXG=;=|+DKDqHGA`|~VmkApcii8Y}0u0Ri0Ytfv^%5>ch8LC+{lJ4B} zo!H#%Ao|peOJ={BW0`?5Es-xNu=4X4uy;;5x_aGF;rd@>3F}aW=PUbb7(dmV_ncpDaTa>uZ8%g{=iV}~2kMMNQ z1JK=>50b;Id;IMTX!ZNRf-9%t$cjjyuP?zsVh$W1n*-@`X;5x+5l**UhW)Q|VRgkd z*u1S0K9rO}vSTS6@wf)HkvAcB!E<!%LU(NmIn8hT90L%2w-x{YFJu>7?$pziScWeqffdu?(%ZPkc0biL#hS#{1#xhr3(7~`Nygg zn%QyvtL)^JJoe>OEen_U#>9S1L2E@LRM>5ec9RdIj;9OmuHK7d?yW+Xr;M>_2%7$kjystA^<7za7U`Iblo6 zA-vMK3-_DrBh^(z7x!nZASs(k%qd}Cqu()&^OJD;6@AQqY>heNJkdZe5NEs(!H_+H zXkvB@V-+^wjzYi_&WkZ2ZX=4;_+Z4gcw9Iu6HAM(;NQ1#m@n>&tA%UuF*gBcMn7T7 zSp}@!u#QdW6v4WJS=c{oD{k-hMF-J%yp@rSH|7?14M;$3Yd@6Uy9wudPsQsw z-7MWQf$4->u##o+>~Br2@X17Pp{uH{P%>mt;Ib}PpyhI0uwxe|aITRO=*hJ5LkrS) zDe&eu$8O+DoOSr3EIEE%%4crD+IyUDcn;^V>^x`k)RVK`Yt6lMGvie47jr$m>YO~0 z=K^yixQPaTsH=V#%^1^2CzaI<_gy(%`#75lCdSe4M}z3idp=Zg-f=p`b04kQxrtsq zYfAIpA~h~tKua2@(k}7wG)+a4Zch-Q;UT?bm;FO>uA+(*<`4BXD$ z2i1tDz z+|D4#e;f~0-xA?)*LhgDGzgOBo(02Ak#OVQB`~{Q3~wjbLEYv@u=h|KbZmPKsqr6R z=egftCO4YA3YR8vnbO4P)JSq-@<%uwQx8f3dBa?c1%2rtkWTT1@>>DmvN;y2&lkeY zPj!$YxC@f}#hnJ^geu8_hM2QRbqj&*thS7#DDE-SB-m#67MI z;GRv7<1AAOIBkO_E;D+F<4VW#m;H74ZC;!BcccCIL$w*avh6dz`M+_3^&brcd%b-G ze@B)HHcO5Y+WuQ2Jn9f4e0sZCcyEgeGn{Y3ytZ9r6Wd<0@fqXMES;jy+D+&ywI9#6 zI$~9$4UTCtN5z4;7|oAEiSl>Md-iP>(_X|*oW05>EqKa~O_9X89`o_4(>jb=egJ25 zyW$t)LumSEJFc%X#Q2nHIOY5Z^eDQ^-fPCO2buotoWTY5u%nS3GaiSJ{}OCJX@Os? z_hIPOeJDF&3vN0o#5m`PXg{lu zi@?n|K zZTDGDVW|rzvwJJ&J7+1kZr*&3wWx5Tj>vJQ;$yfCJBO%f_Y0c5zMd|Stf7PJuTr(4 zbgKI&iZ(`|>on zu08|*>cXLVXDlp|i-pv#Fp#?D2X>NvaQ<`@xTY0DExsKttau2DzltHtH5S|z zf+4Rf6lS``gG56n{3m`D%*1P8Q~EtPxvmLT&3^{d4PL+`i!Lb0d=1&2Z7}8NJ%}|a zhB2)P06zl2U(Xq;$L|2+7Hha`=Lx%9BH-AzB$)X<9-a)GgAtX1uqHedXh$M!uqc3l zH8o(oyAkG&cnXUbzJkHH_wZ-*PjCS-5_Cy|%%hUTzGozfe*FVRFMJN22{&O`RUSP0 zlLUM2M1ZVxD7bBnhRWJ}c$V}4&bxO(h4X7@scwKHzJ;Kxk_Pt*3P2>X5m2EQG_v~P z?~fih=-Liig6FVf>JP}VlO=bT&m>KGMx?6Ifw0C15-w9pD(jkvQ+*fFKQusGRYuYM z2@~m;nRDpmheGpL_bgr?5#%h77hFp36x=ACDlA%dKsY-*TWBs2VQaGm?DBO#CcV0f z9WociLwOqbKdicFj4Tp5Z@W!`iY+h#-b9XOczu^{B zQ5<0Z$xTL)IDK4Rw-Y1g|A!A;T+zmOKT2*}hoia{VR_tm432%r?yo9lRT##S_5`vD zpDcFc*k=|PF%_5oGDf8bR!F|tqx)AI9ILnjZQ5qxh7%)E#OoG2q!GcG>|v&K(~Y%m zOk}z(-OSrs3m;tDi%0fG;g|kvxNU6cpcuM;T8!@YjDaAIiW1~jk1UFR_m*DZw?R7ZCd_S(Zc^p5#JcZUzj$?d{Ep9$# zjCE~`ar0Mw9MrW#IzJd~V=m!Y*IeusX5sS*arkVv7n&I?$5ki-n^936= z^35j}@S$TBcrm%J+&RrgF3hihvs)3vRZaHg)avcIgV#22E3W8qX6myztEfrb<`g;3 zy;_31e&GiVe%MYEX5FKkJF98theCQWKZUktM^NYFGt?u&i<*}^)8_K+)O_tqdU=W= zHSk$PtLmmx-(klZy1iZ10~ zgMvLUuH0gk;+0@H##2wiXsM%g_BDf@0%X5I%HpL^hS>|3Zz z?StpF{m^pk2Nd>xg;8PMU~{kmcB|%t$I0_Bb+;D``TPePY)`=B%wU-AIn1h>G$7td zu=R zNgzp=%82QWMiN{8lDvKNo6H&`Pov5-X`ql$;w4p+Be3Fqpxm3x2Qozu7;%zevG<`R6aam(G> zIAiq@{Fr&ld`|abUNK}lpKE%CSF+6EZ45j4_{H*q?dnSfZ-jn=$C2fN>pr7|p-+|w ze^dtx`F0pU3&$7jC=UL&V+iZiaBpx5J2(3~!Vr<7g?D=7jCueNKi(B;Y z+OkP_XjdN__u~qS3G!qH&#YP8?^7(Kt%S)pj>hG;4RPZPZ*;Xv!@6&`(a+=s20rb@ zF&VGXRI(B2v0S7LLAbuu8b^*Z#GFs#aoiGl6t9-SOH2xV6-VLwX+!MT>K(iA8u~niA2T-tA429fzScgE8ED*3!2$NjX}0|ssg^N*2X*~ zJ+$muhx4cG!3>N4P}==4s!iB~c4{l}X+DP&E(q{;^A_Bm?u(t#2{`>^4t5XZ;pNiH z7;F-Pd%xOZT)8%`^#01qr0bZ@@_MGO{+IoCw`uB0Y@cV!JSVFaZzAC zc79L6Ejd9bcVZ7pztq9SHX>;1SHRvqJzfN$feTty$;}_mFy@EG+63+Wgbl}%MTEbh^Oyd*#NAYK4UvUK{HJo}=IwyNQ zjFaX)I99fs8{E5wtGUW^xKfjQ=%LJg^O56zPaDlizV4^fZCa^R>1}GBQ$feI=FqxN z3ABuzqt_1y(7XUo8n)yBy?4cex@4PDpFcvn;lNxvt8p^@+c%b4{Sc+cu6-nTZa*f= ze^!!F>+*@IZZ?T+NhNP0B8iK=D=}WIN0y=jNp*e?61!^Q5q}9PHikj^`Y=dZn+)1L zg&=GygLdtFQ1wa#yVmpYx9}pQ8CF4R@lzOmu?za8Iv_y%E+qFBgO^PvNTue$JN@f0 zSF{7_l77MI)eYwuv+!6=37Un=ePA#medJ$AJrIBA3ydaxQ0mA>uwM`_xA)$|b3j%2Zl3cOi8* zL#px4oGOJ`(=X8{>G=oFhCkixvycAfbPZO5s9uP8;E&TcYuTbkF$DGxDnSEtB^P2XLy(pcI z`m)Qg;PXz@TH=WNq#V#bbsM%3L%e%#8eS+KiTlRAVEYPgvcv8b?9;Y;?9+b(?C~aL zjQYW_-D^9F37v7C$`Pzwc>u?*+laGwQsfU$#1m3q+47N9?DDb;?D(r7rY)DjO2725 zgLkIjZn0(Pm12!@(N1`(W*^>{Uyn8;7UG6hDRemYfQ5WM&pHkEvqlYTrlJ+bL^rgu z_Fgq~joyjf8^Uq>ixRvX@)&ERd+=D?J2W`hiAz=MP<7lTxtO& zSP@%a$>FP`GH9|-*4Y?g(NAeCQfp-w-riwHL;BdX z1&Y{Ih1k8*0WT&7R$9FMd1HnA45Fea;Q z%w!jjW^Zt?-}R#}Ccim)%#niDQ#E&%!g@f1yV>-EUT$k@pJjwI*;SHq*I|h>6^r zg|gfnIdN{moOg7ZRWrT6zK&iKyGEz9Wzd8FV(5xFp>(dlKaGz$MsEk%QiXMEsqbzh z+UEmw_96{>DOG_sS&gDqYCnnbrPm}{>n=HNT1d1#(#VU5WMc97Jjva0iZt&rCyHqk zNqS!&Y!j)4?t|H2nVbxhG?D@0GlA{C3jZ!wz^O&W(EdIH_@Xp8pi&HNZuh}`S_gcu z?|>TB2ax1m3Bg(U@SNttU6B${NV)}XuCL%pttfd}FH2spS0e$LAq{= zkSAt8V4lS%2$6jQwpowCN%T4h<B0 zP&F0SWnTul!hEPLtb<>Np2Nq%@33?CD6+Flnk4ngk{J(W$=*M*q|R|X@sgQL?8Zzb zqU)!UZX;##ahW6;u<3`=gO5PJr~*dqD1uLgSD|F$9q2gJ0U}%8!~Go}z##4=^pa*+ zx%DB4oo|D4!~SM$J^(rjU!Y>z2Y6ER5f+U64PVzwlFyQ=#8#P+{mb@{G}{1T>5xD? z-xiT>l@_9TMwE76P^PipXVb;o2#u0oLSOW5q}h89(Nzh4bZK=2?UlPsH&3`mw|;1( zQU|-~R4WngcBd>?p*@|uPZx79SDSMG*4S`=^u4&BVG-O;g>+7T{tYf_XBVg6Hi~bt zRptK%3VB6-4?ku{2;b9H$Zw2%!$)f?35H~s3$oM$1ixyk1lM&WgrzP^g|@pwgbS3L zgw2D>EXHI9^P8W*@|y{a_C%0@p#WB^tZFd$FnR@=pn#}ZOZs()<0I#{+>w$4zfh4F=$(=h-&-PQDV_- z>^@Gh`KB?pA777+vn|jdX%(tk>*L=HiZctAq14g?C~h5s7J;cKTUCgkPZlD3a~b6> z40}@UPF(M*f#;qLu+eK98MW_VrVAv{W%*p3F?|bCHy>>Bjm7N7EHrc|LUJSz4+baW zP5(0(-@g-=%FRZ{ydTV1HH)RY9AKtpQ`vi;HsQapaN%mUT)2AcSmD62TY_)zg9R!! zYXuQGQv^EB1N`2sN`B7bNZw`9LEe6(F>m@ygFg?F{LtoJZb<(wXMR7Id%XGr*RaQz z+j!HNn>BVP*J^Cay}7o4uH3I20c*W_XUcydO&=5+$(k!Ueg>nFrolJ6x`5fqxp;;lT4kIKQC~R{y#I zzw$a@|FJ=sI9iOjToWM+IzEH_r5EtfvJD=EzlJ4-191DU2=NjfNz{ku+oChz}ZopmmyqW7UI?9<_1ao$B z$=ptZQtohS3ny~q59j@PJTHH7K5yu}p4Tq-;w4X{@YN9wyw4kPfp370KxDh4K;0%q z!13Jz&G8z-!R1cEwgWlB{NjJYJvAH?obzEv0?Sw|{$X-{)9}hmBkb4MiG9QoAAEAa zu{(F5g{2W1r_aE{A*1oeyVtBWd+_JWPk8-DH-7oih|>#ma6?2O#-G}Z_wQ<>5M@!hSPi!xQo*f1Ctzawc$^m^ zkHln{S;1oX^Y|NfQ1lMNqI+y-z%O<_a5_eZnc(!B+lKdUiS>TQn9w>C=l+q#yi5^% z6DW!go{hm4Dvu){O~AT96|9$zD~T`-q78C6;`|C&Di~qs&`p zitu`U?Oa^mbxvw>I=84LjJsZXiW?W@#GOpC1^p5Lv>&-m+s6B~>21QVATp%5L%9FlYwvUQ_Uq^!ym(XJU#k76g3_AUn z9KBL4PAj#Bh;a2sqUYaA9J;O%lcn)wtbWO>JiBpMN#vt5sz5~b3lmYp7 z6As^Rg*mQoAg$#UoIUyg{F<*qrBfb!UwH%ECcXigrV+&Ul>`}jD@x9M?E-_Xw?Kc? zHE3B-1txwCK#e;=C-Ec1HvR#LxKU)5n>5k(mnRY-iX`u_5-H6ZPpksRk=Bu;3DX{g zO-?Vsvi>#%$K}Dx)L2m19|HCR;lrHFfHUDWa98~yh-|+P{y)m0H8~HyEG&d)Z8hLI z+>wgyAK`C=2pO0vL4GF45IS3tEL5FBLi;sI{VyGI_yi%30)edcokMCPCllvt3F52P z59+0@Ah)p&{$98Sat7s~lKBvh#D0eiZ)tKaQiA|h7bEj4d%(574KiQ%!i>e@ zWPQIJ8D%$tggGk`+M_@!{ZvR;fG#<&zMh2DyO0yXLFABl2HAP$5i#aP>E=(0G&gWM zb@C$*LI@Gi?rPWk{o>Fjs1C)53XnB7)O zV#UD&tf*cWUA7!S<=8~LhBX)?(TR`Vf5cCrpRhgk1*#a_M6=(?I7#S%qeG0)M^+g_ z)kffgG1IV4N)2x$O~Tkk6L4g+BK{aR9=G?6#Vxi&Oik(uYvJoy?21k%rY?)SB?ub* zScf~aEHQ7_YE*vDPF^Z&)p(iVV{dFPKj92?vKWSTTyk7 zCfY@QX74eLDH!izEkCEQ=Za5+x^iK{wj^Vrf~J)4X-J)5+x=jHaKt)6PN}Nk%cF1n zG41Pod07;{e4z^;{=$skdu0~Cy+npb{KB~fH*x12u5sx)$sAlh%Z1MH;4F z;&z=tPIaa>_o{d@_sC6-+lwQ)!Kt5Vs#P1!K69VS->jhUI+MPOilbdNVf09dKb1M+ zMy;xL(4yew)TNuJ6Zg-iCIV$z7a&1-<3D7L?N_oVxQ9r;Z6xJ;vWU|DGi1~`Ikaze1&X>oK z%}kzcZ}#*G0P2T8Cul!x&h zYJju#z}d(IdRAD#Vb%&(p(SkVG=+7ubwPKAB1CA2gW1mim5DHw2C>+W__4E{NLF0JZ5a!9`Atovf$KZc#R1$9%D6Z@T)juk4dpXTNmz z(C<9jd$0h3Irko~Ej#)2b7V)cwr}eWhoBwvp3t&YiiK=(89-$`|9g zl5ni-c1F)}#u#xy0xNP}Q@-XdRZ_o2`TdXSLE~ZSxIi6m9pdq1b1=?rNy3KPtMIW@ zBF3f8!Il_`m(_K!arGF~DY`>rBM;I=N`+MS`w^OH`jWN{XkZ0(#l7+iaR1|EJZY7J zi(W26*TGpx9c*#kTUor{+DlJ-siewhQmI<+7JBOMB`P-BapRMGF*3*#T^y0aPbd#SD#%wo2Ib~N2Dx8gBnF08%!4c;hm6ESoQ1>e)7o2TZflnzbE3Pt>dtB%?-NVJd5&4l)jG= zqF*hJ3qGkN3jFUF2_7ZA9@QbDa|ALI;w-ohoivBfRh+h^rza)~oP(-;0 z{W{$2YEf=+=WBAwtCjdZJV`YE6_dr8TZqBewIo9%j^ys}CHK-;lC{)`6zHgvlwae? zPB|gs_~0!|20GZ;ZnxOz-Ue29$w5}mdk<^*G>08KHI03iy@)k^?9Wbjbzlu#ZP*|G z^x6I_S++HF4D0vpGboC^1!vj~Nop6MjO+%D%2>!$1rVOA3j417V=9xnnZ)LsOzDJn zX4ciujL8>KIC4V*40r!wb`|z9mWj6*nT2i4kjrOAC`tk@D#^i}zHuvl7SO4pe*?F-B)lN-!` z5>J_!-eE>QRSH(`PyyRseK@&fBGl}h47Ju%plQrxu+yFdQQOVH=BF{to;U%n3v@wD zOBH_GjRUDkV<4zwkkS79f_b+5J=1F|0zIQ_EiIV<=xYK&JG5XhO$s)p4l|$Lj4%av z#)0v$7MNT&gb!bUycH?{xtAw-v^(9uYuylcQEOX2&;Nb zk!|%gWtHMwSoayRtea;F8{NH)J+QfuT{C!?-NavFC2Bg@Bl4fw_yRGKtfxi-jVBU8 z&Qx-^cs6;oV-=Y@D~GHV-cQu)>&bo1heS+!n8-g@;Iya(Hze-ODGjaTqI>po_6}FM ztSdh`S9=3qcx@2>Yt>HPYQk+^B~Vr{lHe_fKVKktF|JD>@k5KI-ie@ppOw)I1wC|% zmmGe&I|Uov{Lp$%9NHgF!rdP6*xBKa_4y3mkW$6H(Zf`JZ5P$+yG<|0+^3oQ2WYdg zH0tJ?qpq(PelUo|SjUxEvu6eRKn%VJnU3cVT4KeBEKY75piPC1^kzUA{UKRKUzc5_ zTOCC4@yKL+1)=yUVm*pZOh-wzG`t$W6f5rgVebzsT(w~w4rg@G#G-QQA(TZA*Obxj zvH|+?k_Aq>pNNJ>_Tqu;i>Q>{i)YS##JE{QI634sI_urR#n-Cwa#kiP#Q0*}1|1wJ z`c4m6+^62LhPdE~KFS`_!DSOPar^^y6hlpX)TfEp(!DI1T;SXAG{FCln zE{fJoN~k{509{7kX_~qX3hOxG!mel>cFn@Et`+!dUOk>((uALE&SK>BgV-#*4VMfB zVgGpp?3DRSRiD10JEx4$d{b3?BgErO`xt~%TQRs{KlTWnz&eq7oV)QDey%CSf%%G=-4TJ}RmM!J!adv${OmEOc$ujpp{L%%aZ zZ~ihua^Dzjsb|d7z;;G*We2nV@;fGzj)iA;6kz-z12{0+e)(!V9Q}gOC`%#XHw(W_ z0IZq`Od3Xb_R|4IS13sQHyJtu^&rMn1_I2+faKjF###3V6SPhQE^SbNbW>eOG@byd zlDe>1ObOagN<+WFIG9wY2;mtE`IJ#U5#&&AM{sSg3!JojtPd?E6Yay%-$cCE3 z)o}Q9D=c~Y4&+-!*tc^u*z4N~>tqzlTK2DD#Y!?*&)7WH?(9A`!mplflf26+)xKh{ zabw8%hjJwBvLRV@7s%ev-lV{90a?2zgKUs2A_szM$)TQ`q`>AqDIO=yN$xY?EIsYH z&zW(Ys#`7>^0JQW@_NR_AD83z{hP{9blSvU);rE0H2co)xMeBu*tt$HzqMXqBOyZN zERdc(m_aMdE>Jn8zjQ{50WQg(hT@;+;zcjJ`A4 zY0>u@DnF)_Hs{yUbLst*J+6r||J+e}`x0ETEgcOCv(P?rGhVu%gy+j=;N@=?nEP51 z^*=qJf`9vIg+c-4&YY)~)zbKp^FWuJO#GR36qh>O!6`DYQ95=ATeg0}t<8P7y6h5m zKP|yV*_Ei&%wy2r@wjhd550NhEIn^)fRT6g@y7#QJYS}TC4CyGmam0B`*l&wSr@Mk zC}Z#{QGAj1iDu3FLYwA|LkGo)*mTMT_0b>mEPU}%h!frmu|>;&=D0n>1SP--H;mUs zYkNh^x-b?O2EU_cZg$iA7SHM6+uu~eR~9o&b?~^CIj&RWG4^yJMfK83mS(POUzOK`b@OzOGc-tLdhJfj%FwQ3#%p;xQ$2|=QTrLX6PJfw?bH~6pG@ar-^y9vX7a2`7d*#SR7`Ive9n-59W#f8^*WdH8alq2Qzh^1o*_Lf#Wt)$TebM zX$L}^r6Xira)fRLXON%k1#`E|f+3j*=yi((uM@Lijhz$h`eY7WQ}a*8hb-O2h_m7b}Fi7pH)4yAMIkM{s^F&AyB^XTQ(!W|wSO$gXzS#AXY!SQY(3 zwqCu4-Dq%)RS4;25A}Ux%20X^U&YS-K(kOGOxFC6=uTxlVWrJy-YN(FI~jD9cbs*$SDif zO9l#N78D6I{yY)HY}BLe-ScR(bUDS^J{mn)9=q1qV*Euv%sLZ?ua%adX-_;JTor&r z@_+#zs;JyQOcz`BQ2l{>bZNt5`g!*!n*D4%&iguXbVj`J_oEnmr?V0}f3LtB`muPZ z#2Xz{t?}Y9d7R07plVAl)4>N-^hi!6Wz}y`xfNm*=3Gtp5pl1@-7{7rGkd49-!BppVObZ#&|p`4i}#*#M4_F@ql3$j{o=` zSBQMYPq*J<`O61b-B*WauWd&YxiGXoZGv~7jZoif%~W3G5G^^Xiw8^faIA|SzPzQ4 z)AKZO+I=nb-Jy?tbBu6E+W`9?DPzTlc%;w-@9oq;)msv{&2y0U2;HGE*;nY#t~Tnh{2Mjz9giaky4YxJ zgFda(ac#{CyfPyn)5DJ9l7tI*f8164vAPj=A3uo4gSX6As_vJ(PCx--3hq6?qeQPdbKI|IosjmG9@I zJyW^D;$SZRG2!k6X>m$TB3zE(Ey-EaM!qaPOHMTIBY|JGkuM)Nk{^}{L|Mn5*gp}F zo-5`=ZkaYYvR#g>JtIs^6h5%02D;hFbuFy_$Qib9S0%e$qJW){x`mzaX)Sy9b~sy_ z<^VlF!oSMC<$-O}uw-{mF=Y8xId;tAui#L53l1~Ya8xxPfwi|)_jEP`Bqz|%9vd}u^ zAM@YFuS}uhA4a=a0=C#F!oW&x2(L7Sdv&%TQ#KWP6kQ>z%N=@z+#o5!5ym_t@W9pz z=9wFU*J%~#ogoD>ox_aw>nDs?cQdnYTmv&x=qmGg;R{A{KnS)ym4uVAVxTKF%*3_6 zXGXq%Vg{px;G(cB=*`iF+X8clT4xLUdw7uE=>SDeZt!-_OxRU87tTCSfS-R8!7C{q zPG!%A6|3!`8ZePRswvTN0@V)zA~R5|6@KMQ-I_c3)pY$2uF{4fc6w8Xb!iA zS9`UfAwdzAIBLMFbPHH~b1JmzdVzD9FW4QJ4QA&Sz|`z5;Ip?JS}o7RueXn3+2`Ld z^MX2SG)BOdYz=1nWS6kxy;Inm9oyLz$12&owinnV(;l)Z`R`cuAz|`+y%H&%WlBbt zQ?kuCkfaPQBY*9-k#`k$xff0nc;& zZtuCslWP1xhzDPNA%kDOxPh0k8Y5_)&j<`%Qw7<|7X+!V#p#U4j`V0y7R?!diRvVc z!DVL+QDU<*lHzc5luyKyC5d>hBLXjtbw#o3#yC+|5|!fz=#c$G+IgaVv~l|Bf1Af* ze6BXGRH10NIv9sZ68;)>t4*_$Ft0iUSB|&GeUnCQBwPfai*!%H&D$v0`4K4JG&_bm^eXN;eiUa4&@wDdztlz7G z<2OlRCnJTXsE*t1Cu7z}7yS3y7uVVP;%Ye$+;Y@x>3Swo4xMM!6Pz*AcaPV{up3HvD(23aRQjY^-g@Jq1^A zr1&IG^D4rQbt|!O3&m+$6fvjgAJsPz!pl+$n5}1pr#k|%u0I8<9Ey;XAH|mT(>U$S zN%XBffJ$5*j^HBfIKyI0galquxI$&sGH7f(M-y$w(By~51g^`H1Suk>0_ysS7p<@1 zD_uA8(I1gF_@lswG``_RY#X>oBKh31!eyK=_;7i7R@|z4irk6Ee~9^~=R{lhHj!Rb zN1VHnUsj z9cO1ql(0*qbJ&)jDePUkknL~tWlN%X_N1{DYpiL?ici;K``pA?MadqBT~ssbN7o!h{Gtu3Cy2vwx1UVX{jnfvrUBXl zYxr`8z!9}6pmSFrUU|wv?F(_(P$~_Ee^lY&Z)3<-wuKGB6s{h01TQ6Lh&$#2;$H5s zTzon>cKbj|i8nkLae)_-1kPETz^*hUP#$%)jHcJj`&suG$;KPZ-~LBTUd30&%uO7; zTBYFqim~u$+ZV>BYk(1-@|~%gA^~x$RUz=|1Q6L^1t$-&Fe$Z|Aqh6W#)S1%a$)74g|ahdFJaL)gXNFyWkp9$vwtn`u$8&b+5a4Wv5nWp z5lJ6C^4r9YOmXre#iwJ5!jjFzOi)NdLu!bX-%SFG21)K*DQ;wuKKJxJ>EAR%sdIq7gN$Xc@ih$x+8lHNz)$h*o0W_#(>>MT&jV)oeOm6miFR#c8Ot zkRNr@Nhr~+fff#;_~v3CZLK~-|5;SgNzaeb<@`fBU?Gfq{WVc14sf6-7@K?3P$jq& zjqFe371E6FH{HMo%@nt;a1>YH@qe-q9VAhI_+jqPDayS_QwRO=9I#=x{jo`lmtlTpkJX zSMCt}OZE_?HOL5#-MPb0F5Sf+nK_qVzsrpOy-S4Ow)+8Rz#QW8K4x-Kljn2IYo>8G zrx&%u`TC=3oh+V!+ zn{^YHWiS2r39d+3?GIO-KRUcgllZiWn^H`pS@b@0q}5f0z~TW#G1p9vm&P0z-ESzZZBw zQ*R(dOGW_WIeMmY9CVw+fc@!6a8C+>&Szb}!s~j83)1!N1>0)32y7g$ z3F>6W(Sd2h&+22= z3Q?@;>Y<%y&(ipSYUnxI@u`d-8co@RipD!}C~YrVXY9qn`S}=MosQcs zCSY#A3q}v>V#wt0^wr=M>NKmFeybM7v1$S|y_t-UNF|C?G~>GYPf)My1Nzy0LYVUc z4}09giuOa8QlE~Yfj(%lP77Zy{y-H+F3@G>hiUBhN*b3Xhm(a>P?>1q=kifrebYi0 zX-%x&rH$hM8DZi=YuxJ1V6pHNoT6ij_x-f7Dn=96?lZ!Q)qp=s-EhGKKRl2Th?DLH zV0x4vCSUi)KewIn?^3|(UlWk^l*8>h->J|@3qA6*n%YWKQRj1wbW-ITdO{$BQxYd) zRHZlGJhKLa4(>u@<``D=UB*7P1;-CwLp77rxUjtlzwTRwe{1dW08z*4S7JDSi8wCW zuY!h=HW+g%2%YApVd>#wjH<3d52tz*O+SfWB@W>9m|UFSv;bSH0DJF<_HbwyJ3Rd++dknGyJNVN9e^Cx_)!Y`_;Dh;^GzUo!i;C< zOob<}R>FU=39utP8XQC;z@Rb&o`WB(Ep&o-H!Em2Rfks} zL}2Z}N9K#~Afvx!45)X=!;eckAnL6POBp2)ULyuco5#SdQFh@>WjOW71VnszP?hrm z_YV=UN;(PZZCAspz}0Z?)lyKsx)6@ZB!E4;0Dku@gy#zrAYCC6Du4UJf;faz85XeT zfIjTpHQKhbCxO*32RQ6H8=!MOY_FaV-zLol!#mR;^)!L>6bhmB9w0Fk05moTcCmAy zBP0sK&aHuO@;Ok@wGZAkoPqO4J7Ht1Fl%&1lU?3y!;anK&dw@~Wp{qdVzYl$v3hfx z*xI}I+05-PSd)1pY+8gIaWFO_DtR37zBiLhR!t%;=~?7>cqw7#ohE^gACP(1ev;Kn z@*ERk#zC_iH|hOSZokMb&Z4e?yLtH)*LF*RZ_Kjiy+=0kcA`glg>QqrNxP9?|CR-U zRK3H3u7zI&r_?RzKiy@tWzG>Amj9ZrU9XJ8<}50t24dIB1dRW*1TP3BptooMPWx+z zgJ+d-g6n_OuCIs6WIv|cZ@r{plgHq{K4m;wI~iXt_rWsge*FbyRukLz>w(4n3y}@Rapp^t_UdS-1D1^vQBux}^-& z4GXYSGaaXoi9_n-h)w95zmLoGUt#g= zkEosh7F!)UFtG6)TKn!ny{<$ID+837FNJnZkEjlRn!YtZPTec(sb-KQPNs6G(yoSW zCE9qxL>r$KYv9bOnwS+~fD`>Kaq?J#%d`Y|{ed0U-!Vs>wT7r+VT?ET+u-}}j_7k} z29EEXje(=Qp1LUn8%Ad1pv(*uMF(7zXNk^lHE_WKaa1gML%r*-(%HLe>Fa$bX{38Q z9a0uXEpJ`?(&m8qiVINnRu1;L973Va3mDqcf+DYO<2=D7yqt9yZ%o>TSx-aosbCU5 z_$P<67D=FGt1NC!nt;ojopH+9By1bZMPaQ2s9basL&ECuL2nK2ykCs-Qc^MNm@ld| z>)^Z8*K~PRIsM}sNp%~wsM4lRfx)x_LAs`oVA28wLG!(K{!dmhf7m~U-)?NpKSC+~ zKv^%xA34tb*teZqkded{9rxi%W=`e?jw^Hg+A-W*(SDMW-AcwDKSi8fO369VY?7#% zOcch)67PLJq~HigUf(t+=k{rlYUS}HF7!96q5YDr6K-S6+MC$a!-v_lqXq1dTN&)( zy7g>lLOkm^(}xXtZ_O&Ds7SNQbfa%E_V5gH0M0jz~U%-G4&qIo| z6UYd=gZUCyh=>+I(pw97KhFSuE;Izm1(sm5hl8s#5k4~vgkLlPsd6n4uG0XyGCi1) zVGi^50~}^Npj;seEUh=d@VG4KG~W&p*LGAxK<_g!(r@;Bj*X)UeJV z_s0&leKr6+eHqYPIn2yd{LEN;2!ocl3jDlc0?thq;FCB37F|{W-!U?9@1-n!zM~1w z(=4IWZW>s~1;f3Ki(&SW^)RDm6R2ryg76(1q2NR^#0{iDUuqWERAs{<;jPg8a}$`R z#=&=eZy2l2!iI2jP}y$;pEjGr%Y5*jzZS-ZX2FBWh4886Fl;#54C}`Yg7sNx)?<=BTR9%sv0eV`f%s%L z(5sl8PfoGgPp`94F&*qbxlim3IZ2Y#t4+4Qupuuz+=-InJo4pgD$%36$!FObGU@LP zGQ;y78CWXG-A&iys#Pi1^(~6aZQja#yjjg;OB0Yw^q#Fx&Svy(2SE%e$kQJk1#irhkX>~M?1_p6f7`%NPD zLIln!az?w;6Y$(yF`TFPnr16>&xP0whW+Fe@s;V<>=wMBcn8r53M(CNZO zOt$XA9S;UD_u3!|e|?7PV_MM2q#8SVwjgN;K&eiB6dm)Ox}LmBkDoh9_5W+4GaK&F z+5jP3o+63j;Yyf!UK3-)wefC(2AW%|<9%Zt9C&Mn{r3Q&(;hFS*yAB17JFkY@%%e; zJRv_B^}P^1|9at+j@cNwJ{*NVL}9mkBzAoXLeUc*sNy-gN`D#R_jd}|^-37a|Ldni zmv2(%eHZ9*<5qgzXowz`Q^GyIb{KX)6r1|fG3CrY)Lqzs{j+XiOzAy5JM$I_#LnQp z;bIg?S&NSgopHXR9;V62;1|{L=wPUUeamgpBqVJ(P1IKscIY~U~E zW%45Pr}I=nm*=GaaA%*jaO(vXoM1&dC+jkgn||Awdl+iU)s@L`4aq-=)2&{zU-uf( z%B&%46Zp1Cmj%=zmCfQF_iNq3dA|3OYt=rhePL999?)ZC> zP2OM17F^xN?h#F4-7HtI>;6WvZlhgzYm6bgrcsnV)czbgq_4o%zH(SqmI@!cM|(%o z0U8RY!7m7an8VSayDt_F-3|fq>(jt|qXl%$FaVaZfT^1tVfae`Yz>_Qp=+nZovi@f zw~S!R1by&*U<&WP*uiRdC%AQD2Gj?J!;_Uupj{~iHsxi)0;8?4_P`df)7=aUUap5o z??i|yj|7F#0Eo1AgMC8;3U`{qTUH5zp9#U(AK#d}6=T7EsTv4%PK3czHqekg5pGV^ zf$D|IFd$Hc?Zgli*4e=aT@Q#>4TIEUi@^53)!?a@3}+UnK)h!<{QS2KMm!5(WLq(4 zTrGwGvwVF9%hLbhsOt2_ITF zfy<)=IA#_AzVki7Hq;-SH5R}m?KEh6vK_o`6~eRC70{!72JUHez@yH;u);@?Em&;A zu5@-}{YLkO%h4Qm?}CHu?<42fIPcr+Tk98WkiRgIa#SU9@)ktyu02s~4DG26%GwKj9Tso%K=nc95OHE%x2 zWD6gr-M}{%kMPlclLe+9)(ZX@o)m0}{3{r@%9egSvVmSHJx;S1e4rA2YB)uk$M%NV zIPJy)ESR+vB}?OR!muBvFSW&ruZk!>^E>TU=%L%Ax@dRhJDM*kivGhISo_fqU*SxY zAC5yGy_NVvdj-DIj={XP=~(gF3iIzN;7yfp)G_BSo%5uD9_~6vAMWX+#y#?AZS08V zT`SN+btfLvuf$~@M{%ojHTrES$3rXgQCTe&-)4lN`g4;B z$jTKD=QyEU7>6G|+Mu@56tq3YV-xF+VtTW%H6jxC&WS@0_jpXOio$^=KlGn86^nEx zqD-zP_8pMLmaSuPsrY+(rr|Mtqx6uX`#Wj{(pYfS3{}-`sFBuqh-AZcreIEVwM3`0QfSQ9e^1Ck%AK-@!w zNU;4YHs<0zc6{Ciw%qeDTQfVKWpdKkj@v8Q&Y^gA_-FvT`lT(KxLuBooAe5#!q0=> zyfUc0v>76;=YoumE1W@3m=PZZW4hMC8c2l&jjP~F1lh0S~MNg>A7g#Q4J#TYIQM3mA%1gQNu#kQ*=-SgY~CZPEkza%<3A zKLt)qG6OzR6B3h^!PZ#|Y{M;}ws0zZIOq#4dJ(WdaS{AhTn&ClHo-Fg3`jP~fvT+q zU>sEpYoG6hJw}DVAIJt>uVhH|kAaEP{NQb-6F7x2P#tUumzXJFsOt%JiAx}1M>c3j z7QxSqBDms~1A?5D(Cj$}#@h#i%cg~pygd_MkL-f;mZfm#X*t+zt_3%^0X5q1AYg|$ z>m#ATYDQ0HO{e;^DaxBz!Kp%acfe70Yx@QEh4v%X_~B1B+*qEhd~ZZzctU&^_>fxD zg``n>3nBYUh|KUQQakgwl8RmIpc^*6pcMYlFH#D4@u)dI z4RFD_fN-2zxdcsvSD|dfV$4222OR7PD(9$jbt`?MCWLOn z7WjT<_-J=!q5SzW{2g0^fBQ~g`mP$BvA!J7KiPrH*knBMDFBO{O!1x77>v>Dp?^Y# z>7PZDFxVgwr~N2G_j%`VvY;IY>tCSu+}F5IwGY2(-o!ZNYFsU`6+cY~!gXdwXi@%) z{5r(3Vn`D;GX3HZ_*5i7-RdEvU{HQ{c#9YjYS%_V~Sj;Gq#2pRSsE77e+N$R`%1&|W zm)0oQFGvxHN`t_7%UHq7_m_Bi!|l9A_ADMXO?bI9QGVO54zA~64Oc~SxRg_gT#(re zZr(c^&d))Ot9KmB^-dZf;p6TRqnGuB58O|D0Z-QfyKK9k{Tuq`lq zJRt19NcbAQ7#hd|c>OR8xcM_6D&HMULww-k_6RVWw-&D7%>t*2d^l#h2hz3|g0Of2 z+$_ignKij!-;@VywRb{hP9E4#-3qDc$#C@Ge3(}32_IT)pfgSfb_pv${116hY|?@K zgVykBz5s4B1U`wFLw|z?oDEY2R@e|kw*VNZPY2WYbD?5xB5e7+5h`|Oz_e94&?%e` z4^QugsZ;lWOLQSz6f1yyhwY$oJOg@VH-c{MVlZ-u0MCw@kfP!Orrr)vQso7%$_cQ2 zXBH&yDFLCA2f)33Kdhs9aDMk%m^g7hEMpeK)wvmkyPbJq!J2 z9ndWQ3tB42vs2X#*c%U~vR*%8*v7^!>}JCfR%YHYc6iYZc5%Zy*6Ozu33#nbEX-_( zUyCz&TpvzK6jI3gnY&0w;ZefH-5_Hl-jcaGlH94=dfX%lt|9PNm=h z_u5E=S6^+;r`(#$KheqOmtMTi7bZ#wtURU)zPV)x?ENnaYE8tcbSKjH{hR5w_y!vD z{yUA9)<(Z8h_#D@G2egDXu~W;zh`kMKYJ!NTic-7YI*$Y@P&@4=%Shmy>!*%FSN`@ z3Y)L!A&hXCeI)>mFDIb&f|Y0;wj5P2&cjRAUT7C#iH;BDamK`NbbM+X-6?yKmVUfS z$2Jbo$p&gz<>HP)NgJ_$TOqy~^#)6w(-`{XG%nj-i;w5*$1wX`tPEO(>)&}`^g=Ck z+&)CtCiYX~m9jXb>W(Fr8Th;C5RN_9j2oYH;-AtNc*y1%I;XXv&eI0mv8@O@9g|f(&-&nStT(RybzZ*sH&cc86c(@p59#+Q? z2Nt=5;n=Y<69+e!9@n_Ug(hvKiy{uxeGQ?AreMtY@w- zTdjrc#5oh#bBdzu<%{>AS?d5K)@Os1F|?33U`{nIZurj>t|@31x9ndE zw~*V%U7g#^dANS#hD5daOL?ArtU@}!WKJDlBs;{X>Y54;Tv#B8kv%x7go6T~_eS)^ zlsG!4Z9nxq*G*6HGU&C=8Y8-W@O@qkrUfmB5% zcGAkdZ|JPRv6wV=v_lH4apgEq{AnMBtDBbMui=%Wp0xBBg&Jgc(5xJB{O&LX_vgpr1gq`HbywjI;nR3rc62sL19q9!qPbidURb#e zHBKzVo3|+b*&~Nx9)q+p_CI=sF-En}`IuT!fLUu!;f>|3*yP`X*Nvaz&!NYtS9=w2 zq#i;P%|c0|Aasy5Mh)_tx^y_t4=17BOb4_N_Q9f7KTJO6gUg8<2Ay<5sVOd) zp*90I9}mM1B?~dKbtM)#u0r?01gv)QM~f>gI)69BpGjJnouG^7Tntf+=%L1P73}^! z4h>tRaXeAQ=mS>xy37xMr6(h6TZEUMoW%AWw{W#f2R{7Jg)Ncy(eqm)zFfQy7tKz^ zW$yksd$Bd%_SC{3sDgDuIyh)%hbg1G$E$QR`cE#wkTJ*byWSZ*JMI*|%s+rLXXN3F zqQy8Zp2vQPaoDcjLZ7we&@FeXxhD+_M(m)7m(Tlr|d zD94&lWXJP)C9k+h=X2cE{@q;SvJITtzd2lp73Ex%47l^hr8&8d@8sIiZenkEnLK%M zm_YJwl4!7nXtb;#xq5R*X@Wg@ZZe6K^lFo&TjR;XOaHM?-*&SPt!}Wz#%I|#(T7-j zjU8-7!*bTYXa=jZkzp?e>an7Y;_Tk{-5}jo3+``rg1KM|oc76tlQmmmx>PPK{+o#Ld)fYKVV5Y*SWPm_@goff7us|~& z`YTi6NB0hJ=-LPKm8+pC_ZYaw)k2={5pc6V2#19a!K|4_;p_e5Agyu&?30hcqoxut zv(AB&KQ=;Q-U7H{GY`a%#KWAFbh0%`g?92A&M66^EoKPrr0)=H zR=g`H=#-=G8$IdSzHBatqhEgAp(bVDsZgFSnr-&Q520ze`ELo1Ieh}#{+!3liWgC9 z)Qb#4j-pjYF&>+rf&R(icsald3w*^!XYvExSuKs9Bkb|n>rJTIT8`fpn(!jmhM$*o zV_#G!Dh;IO`kXG!9*dh#$)k?08rnQo!8JMZXmU{oHD@T{{e6aLJB`Jumpw34DFEF@ zy;5tGQGdleaMd3-e80vAk1Py9kN*;Iao#E%A?tAMq9u4(E*Kv-3GiN!A$tE)Ls=Oe z>^fcS%lD8SdI|9*d1>JG?gYKm4qVHv(Gv2zLBX=6cH-QoFO8~n3SQA5)ly< zp@h<;q#~(IrIN2QB+5+4?CaOr=f_^pT6^t%-`6GC?%XLYo8%-#EA^AA_2i}PFRR6d zf2m?Iix8j1`iVK~oW&3RBgAu04a5QGlthd z3gKePRN+ny2_N^H30r&j6fSxx3hrlG7_+&{^kvtWQu`%#I6t20*6m^|!{@R=ro_-@ zzy^I(V1w!!saiLaQvHt52A>FWZ;hs*+v7?1VKOx|o*~UIM@jeaE>hmHoZ3daQ?GN2 zDBrOoQ>?@3G)%)p6CZrBUkigfz6iSJ4z~k9gi|jlwEf|eq||sj?sbZ0>-%;4SaRE*S?#9053AkC9hhLi?z~)W^tba7(vGfpCRDg#11PofU6Jn|d z7H$&|re}f+r}g3N-Ul}y4u{pfS+G(IMfdl|kfNN1`n6d&kduL731^U(6NRugKivBX z$Om?T*WmlSd(8nJ(Qhj6W!{}f-Kvo7njIli*)vgAGrGIXY4{__=9Ip zt&X(Vs^d-2$;!Qzq-Z83LvXVKjJm2g41LRgS+S#bCj zCwOhzC!EO*5+d5>3wMjg3%8wy2nMEogsI20gs5*n+3(wRY|iaMHuFR}Q<`vw`P_?U z#-#zwcE&h1U#Sl>36p1~g-77)lxo2GIv5(p$~xb3ul`2Y9S3fyOqXW z-b3BRhWiYmyZPit<_p{aLCS9nPMmRHirC%4GjFpJJKCDMM^ zgH*nMH;t2mNGV`7gVBhmDF!QNZEPw7# z<{F_T3~%ov=*=7<9M~{TFy693P>PEb>VG8(Vrjl0&TbGs6?PUYXBmiY(``jhgV|!& zl_BD*+LNN+?h^5ZcDwj%X>aMa!({2e`B2G!&qc{K^_{fotclDda)Io%TD)xj!zZ$y z;l23H{Mr2X!Wh2#O9fYuQ^KA?b5wtv0CgR2oUUFC{|+80(p`*G{Tz|$I|xGp)!;kx zC0Dst&HL#*=LdD<@MvaFEETO#Fn9udj(T=5!zv8@7=Y5mj=TS69=e2#$7>S{93Q2H z%)rmQ@7o%FZgT~nXIaN55AKXTCIhg!W;RltcVnze0*)Q*==_*ss05ZE?#FeE{*r-% z3lb5!Vn5y``(f**QCODV1KRaJxKEBMCVDcws#=e^yN;pZQ6{<-mSW=9`$)KS7nue{ z`133UeO#iD{CGJUjRll1(nMH?$9g=u$aNG_x#yxg+_tqd7JloCHXVi*t+6;Ubqf!- zJ;eJ5;tJM<^^#Oc-DG5DxD+A39$e7_5h>Kk{k9Cf(YBq+X^0rd&9 za46mtD+8RN@x~bo{b!-{8X#V% zz^LYQtT-Nn8Fhi^|JVup@`hqwUn6`tWq^yr`osGE81x;o3K@!#NU1%ImeUzHdOZu7 z^=VMeK8|DacjCeO+1PS$0FFBR;GTWbx%H9F+%$C*E{yl zxq^+3&tR3gNi6L~3_CF)gnb$8#x~gxWCrdk9gg^dK8(6ayDU;@;Kw+sUK&rkhhL=2 zBMK?lH!tpBP7K2FFOF4Fd{>-Aj1@<)S`*=z+ znn|a2ucnNBJIFOPijEq^QMZeysqtwVwdZA%zF{E^Of03m&39?=;0H9u>K={PEG64t zdDM5|MY@ohNR5TDG_pLB;(qO-?NTt!FAt{uUn1yM%2`rhQ%Y0XpVEf+t(0#4lnyqP zl5g`xs(*2s&IDhgTda(}jcKC7{5I-8 z|rrKB3FD+^HQvS*iD+&O(tm?`%7AF@lse?jWl{~cbU(uNwQ6y z_Q^a=OJre|YCNrM6kmNel=IV>{DR779@NtSW^!AZQnXR`$!vKHAo9fE||g44ajkx0nhn9cxt~6&wbY+zjP^5VqNg2 z#RlQ~J378gXN0Ra@n`oQ@Wgo!`QhuIc=btL9Hnu{zqt{&mmGo9pNn|vTZj_1+xU3( z7J}-pp)%kio{v0^_fK}=%2Y3C-X4OA#*Um?)(Ia^8lw803+6xD4eD|R`>*F=DsDro zv>e5B17|j*L+-~>n2ydf{PTWruGoz0eYRlI-xb($)Dh~l`lH)0 zRhaKl!2W-_$S@y)o%s{cecUAUpKgbji)=A-kTsrvV)$4y1*K=!BL00O4*fX~y>~Z| zU-Sse8k-PP*96zGk1#^M7~vYp=rwH*4w)}O@K-zBJ7s~(^Lv3k>WzOptufkqCYH&C zKzqtD1k_x>nd~eq-hQQHell|6qLCXAfcXVu(Ar5GbGkg@3&zHB!EQD;S2y5ge;>)_ zM;(?O_%l=Hs@6*uD7})dbh;opmv5J1krA7ul1r& zp{r{h57+e!rmv_1=V^V!8~lTz{U;}R%aRs zgA2O}Rwp_OmaCqzb;bou>ueGm=oQU=9}Ho;;=S3qJ;b(@bYmy3f1oWk56I%gHA?uH zPJ3TnrnItL`nu=_U5hOthiiG%XnmIE)g7Qm<)QTK)ONC+8b)JAM$zcDgEWO7r0#MD zXhuaOow7VYdm0bZ#9N8f$v%q)WZa?s*Pl~F`A3?z>kCDkc~8fWHqk%xI_m$sk__(N zryJJyD8Ram3NIGWg&`Mdz_U1tp>PW7a6*l(v&qBOi5@FVr=<8Lq-njCEbKz)Yt3eQ zJZ%w$R=ALCp)(Cnnold1bU5m}2+~P9PD&qANNwO%TClQ|!tYg*NAx3l=2Ayi7B#d- z`2hu-?8wgRB{avfh$6q`k%e3)DO^sW)%#A;*49IGL_U&w9*?HcdWqy(mPeg`)X*U1 zRvP*B4T;82XkhO$nkVE^-(k6=pK_b@`ZUt_b?<2O!*-f{NS@i=@6Pn@TCh(8$Fkf; zPj>0_W;WkBntAWK#EhO)GJ{ENY(kr=a7)2RaG%SC9k=HTEw!OS)4Ib#u2YJTQCA{J z`fmjFE9&By9%f?di7}$>jAf$M>Im_3YMR(*`y;VATUpwD&r+Iw)Js|!ctF}Yq*xl# zA}@RK+(wogNkFJ#h_Y zo>>F&^8&ox>VPBf`@^EM66TdY;oS?W_{;ard|16AjI4Si=AjLq=s6+d?0iHt`{CQ$ z0Ay`h1+O_Cc(}w4^B0;SKUE#(FF$hsYjwQL@*(e;(aaM!sv-8iHHMik#F>zN@LiXT zzZrSZx?hSb&E-%$S%TK`T(~Sdhh-&)U^^@b?(d!8oYxl)UlibOrG}gJ*6{hd0{dzX z!tmP#ocArjps6MJZ$UAPEVIznF##LShhh3*FT8cPM%riegtH_XoTf>%#pOq{wAYyaB< zxBvX$q3((aT?RvanF{<*e&@U1Xkd(nC1g+S5xH|Z#txi{mg+IMc1OTjM-jQv4tVls zF}`#-Vef~h!1MEPb!rt_GM?k^+gDIec!u$p?&FVXHmX98L4IB^jxU{shhG_N4w+!C zogu6`T(}{76n>6d0fSEwI8CQ63-L50_ZT%_w9+FCf*5}g{zbaa``Yp}Wl4E7+$}GN2iH%q! z$JD&rXuEndol1X9b@^4)wDb=7{JcT)yXKIXbCyzCV#t13D7C09qpnY9QFWRpc}A|I z{tmlo-@g4csOw((r5sGxjeIHX+EUuHH-L6*-cA1{#FG8CRLWevrxc%DPd#QgkZ|ECweERNpOv1_;E;#Z`P>a^+mlX1>XRs7#0lE#c9O;j zDWutuPh)RBAZgt*8ovG&g&Q;x9@de<-zuscTtl@L4dh+hOz%A3)1{g}lGnIt^(jfBeRjF%mG?(Xwl|iV=T4QLW$l#a z1z(nmO+QFkM@(e9v%O{M>*8dKmp_)B3)kh*4laDlPa9Dx6_hz73w8ez(JL zCogh7u93$FYU0c&3+z}ap}O4;lVu$~c-VlOFgt!oFN8;hrtuuldj2|B4wIj0A+diC zP^uQ1{S^`5|A)WYBnRbgT`^>1e;i>PSO0Uw^&hU7G;bz0Zkd6f25xxNdoFgXFN6B& z032)GjK+EE@UYw+1`kJIgPJD3e*DZAZBxMTzovM4dOXI+&&KCXb5PSb6(5zxqQDEV zF&&S{jUK4pvkezRk3c;+9j}B6custR_!X^~ySoKNf%T}HdJDlHQ*iKkB;*gQL9e38 zSlnqS<{s$-`^a9Xm~4f4q0_(sPe8E0mj$DX^?jM?j>edoL zDdxPezWku@=SZmVE_kI-;5Ah!DIG2ZZSNy&XzMC?jZzfK;@+^^gKx6_?@q8Q^S876 zljkz?xRLB$X>7<7_MDV2T?$fn@s#dN7(C4~%arX=4V zwBnQktJ76s+fFF4f>m;CSGTXU#N`!rS^Xb%TK9kwJxZxD=Ne7;c$wbBC6M9u{bXOf zfzlM_(Z)HRl)rNwH975}oXi-y_cVqwv?AzCO$fQA1W~s`p=9qEMcgQnGSjnZX2Bg= z;PjOA=^ZIw{Y=5ypQ+gY1EsfopmW;aD6DHI)=g4i>w*;6!ot5a&;JeS?0iVm-xttG zvr9B}OEM`;Nur^N$&}lWL06M+)9K)6w4v||y^Q@!J$wG6J5zrUzI~)xo!4~W=xd5p z|3MB9)md^y(4A zYOb%KJa4zKb^1|Z`@PG;Gqs08tLb0CqO7NA5^61~{&Nv8Y}_j5Ej%Xn=zm>|>HA)M zFrlZUZ#G(5dvk;IpiiRo)A+H(<+NpK@{?tAr|y;M?Jt%Uj#uXIT_iqE*v6Z$rSZ=h zEj(kRHu@~E!Fx=DLG4mFy7=SoA3x+-c;jLBama`_#*KHKa4Y8#he0LJDS6GE#;RlB zDO2?Q%Av8u73r^*z;m`gRs{uMM8XRAzjVWeB^-L6`XV-61+~LIaQPk${L{yJ9$eYR zW6FA9iXKYM}UR-<6_ABV?*PW%Wr<(HHf^2Kh) z_{;R$Jo#%I_x`R5rHpQn{&hjUjWWKoU;JE;Z~XHt1uXBahYgp9AU1mp4tJW0%Dm}# z+;KLsDKoIt$Q`qS7oqOGAJ#c-#I@n;@kwt1F8v;f-kWvtV#;s6y<2A-8*T(UaSYx@ zxZ|nZ0`v)Shw~LDjGQ+X#=8dmcP{p28r{UGRul0PWGEp^vUOJ@WF_kzWwBj) z%F=E;mG-?pCwV>#mb9%WNyjRUrKNA>rPTIE;;{D1V%M01;y9zN;xE5B;_wPd^uN?s z)Oe&WI^S*=*4%k4M8xF_V=NMc&(HP=kFiy_b=X^&WII+^G9oZ<)?kmc%VQxR@NX|R*-0_qu%&Vxtsf6@p zIW$c19I3g-P?_y^^6k2W>@ItglTILANZU(En~u<>sv}fr97%2mcarnF5ZaR$P5}>& z(B6aRX_DnNY7DwZdc_TNF!vQ@WWJ+89eEWw`8%n(%CW;LD$MbTCVO_j3v>OW&iX&^ z%v#ucTAW);(fvzks8bFp8KjZnvoka>FPT*PW_S2z4b^}AMRZG(<+tjvLkZe!X|_6> zGPM(1W7$Scw||m+j0Te&`?1q!iLJQmz!b~f*@OjwthZehYt>6-@^z)mBKZY#aFiEz zM;i+B8YN-q`MH8&w{3!$7}e1;XNC0%w}raLpM}A}UB$syEyViu_F{6xYVqUE1LBkD zD`Nhbr(&;I4JjdYxHM$@5^36z7|FtwU5QE$(!(}Ed~+p=it2{9SaT8p}O>3hquOJ!kitr zojeyASB7KlX$^D^sN=!!Q~0#KNBO#4=Xv3xI{v1cI*jzpfk6V+?g8XhiD)Ppfx}g` zGPNi*{ylgsuiLqsU!Il8Ph5G<6>iHT^qUs0C3c0{9#t&<@tX(kf6wpi|H`*4R73M% zW0d<4#<)*F-i|3)I^G3pP1A7Q*$ujry z2=Y-!Fl=cm(3pkv)miv(H3cQjN6?}Yi~ zZI@(*8#c=<9^1+sjFe^XP$8Y{e@wccwo2MjBa?hO>q&>ze~6bqSBO06tT?xMpLkx* zU({LcB1SJBE;bz07X>RNalnmtLi)M;!u2cZ!qCE4VeO(_LVeI$K}Fw9cF2XO)YEl4 z<@5=mma+&knRSw0#imn)!VRL4l{BHCk@o*;r2$*NP*c}`^wm(2l_#n(?=M$1Idsl9of_}vQ0s|GvQ_y-i)Zv;U;CM` z#|O-r=@TQSU*45DB*`<|csaJVP?PO^+K){d#@N|M_N;uY8=Dy5%Y1#p*r4`PYzNP0 zW%0GFq4pb_KeLqs zD+@%k8{y*7rt{*(r&Z#B?g|nwHkWj#xJlEG?UAm>WlJyieUoak%w-pn7RltE9G49} z`dC)Er6)I=JcS1~@8wHgUE`m&{@{;(_kxufN5ryOP^egeFPZD$QMMY7;yrP`cq9VX z8)9(CH(tN+0e9&CfaiYt$h-S=LvzkxRECX5?l*U6o3DiKjsW!7xDHP5mf~69G~5U! zm^T_CB~TF+*WdB;Q=aiivsXOxl^j$C^nrt&J+^9Y!awsPm>F>i<)4cIySup2a1So~ zZsUMeKF+;Q!J8$q*lM){Z%w@LZz^G?w?3GYHnO%@;zOD{=0@(q#UF8yWuL=D`3txk zpN#c?kK(pm7%X&rFmK{WI6TnB)-`YW3b`CUGyN$4y7U-dIwPNNu>8u$$m`?Kr=jr4 zlws<234T3?!7I=L{f_0zbbq{&SqGZ)=FYzSXZ|TZQRhBadhng!zN3aoHeGS@KXv5Q zbb_nvTmH8E6`#EJHxD@69o_ORkRLC@3N3q77&yXz+Z2qMI}HUEbI{9kQHR5=M({;{ z_-3v^>B||=kGI9rN(0DW?~WzLCeYKe!|}0maYo4(vY?f)>FANGnJ##fVUM)-iSVv+ z#|P~#h$=b=Do=xI2aE2Jo?sV$2jhO9aNYDZe1q$tAQd5Ea58q4?!)#0t5A5z0cAS} z!8O(Z&pdkL_y|JW%XcK9)p9>Z$E`%C(K6_4(!!Qs z_xVEKL%hItCNKG@&wFXt%N8ld$v&!h$+oGP%Cd~UN*`l$C8IeJl4HE5loUNwy64_S zni=p$?9o~%zOg?k8aD0{{pT+emBJmws$qk~!i(KSb-zwx_Lt|vpR}98{k3O>2iv2B zG{<0}>7bABY_XGYQGbZ=BCNac-SQVJRcmAhMa4|H%V{=m#7-9TZ8i&>&e$VO6P8?~ z&5l&5GsCT_O!uh<>v_8?d%3I&dp1&ug-m--1NPq~tz+4AcE)9D@XRLvhlM1VmQs>` z8SVa7Ml;gN>CT3`G_gkwB~NLl>Kni5^L`CBuw9?UnwT)FKV~elq9407q!&ARUWYw8 z(~T*Q?8<_}yRe%on#@aAnH8=4MMK?QkdA5v+270{Ym0cQ+P|MB9p6p+?(C&5?y+>_ z;%UlHK1-#p@uZ!zpJo~EAR&AgW!uD%?w0fP^=bj#wW_4^{0N_EnSl=c=+qHAN=P?8JmU?bPSRJNg&?oUYea(`@H*GTVEbI;+-_ z5C2N#d0H&d+nAmGG>G}!AIOr98nKMTZtO^d8k;|=8;cs&kA->Ju)JGi*&lls*6-Is zw$gDss}4WHCYfAj%ZHUSdG{8!ah!?}J<~)Oe#1_vzUeK*4-Xc4<;Dn`^)rRN6B-2f zZ3<$6hoNYgZX@Pax{06MLqvs63F3?5QgL;+AEJwGZ^`$WgEaI-u(YMmdFk87=ThhK z`m%0i&a$L_`(I3!ymeGJd_QFkg|k!8x@a-%d;0^; z{@Ai~2@;AOF?_>7JbA7J-2;z#?4>epc;N~6{;7mI1rzA50J?0M0ol=|=v&a?kN)eC zrm+gcf4O6PgdJW|f4mISM4HQY-n{%J@Aj&h|BL*=l}7b|?MXt9Ba4w6u@CZ;jOqRJ zF}$=4CQbLS>U;&}9V)`I>U50SbP6x7L_i@T0EOjFuyY)QT>*OdFsm+J;1GQj)7ryvXZ>pY4z-8JLSy)=|K*lGCH!SfJYUl%nrFW_&9`2u z<~!_FVY=N6zA6lNOgQdbv_W8uIox;jLe!WXDfvarFg`{NA((eq?(dKlkGm z_ZzN=QS-HMVV@>u$SdGv_IqCZ>ItU{E&P0q0w!!U#I|)qv7-jyw&M{I>wq2Rj=0x4 z4b!H1!ZB|tOtn_y$*GmtUQnMV!|V>fzk5X&>DNrLEYTk8)i&bqrWmvjOF>3<7LISt2K~E$tHa~4 zSz`zO#LU9V>H%nU|IK^nX7Lc^5NA%UsS& zoyUeq)6Awwz5bXxEV7^MnsAV}w`Qro!x2CE?J#=dAU=V)pp@Syu6EA5+@n z!^FR1SlnSNmhaM^MO&CMZwC{$M&Fpl_#3jr3f)-V%g)T~S}T?IsiDCu?o#;fdsI5M zk|svqrxv#|N*sQZiZe@Shs8ZgNqkJHAunnC(JvGproig|>(0h5GhuBe!50KG_>Hi5ak7Njl8sZpWNd4YswHA`7NJ&Qf!97Wr0PCC?9+Y1yAsG|D`NE}xB|spk_(?_V}W>)oe-MJ<$6*NI(r*JSrh z^;p~(BlaxPn04N4#8mzmur+6UGG}*fmNQJ7>7LeRCyw`E=MHyaH(XR$ao4}}Zu(og zZ2gSpPklx!4!ozQVe(9EM|alsy%CEEF=y}H%$ehPV@3yiv5S^{m_e{Po7rmwI}taM zU2&bnn$LQ$pPx6fB|D;6(yX(rrR+M}u3pa`rgajUUg!%-!6f|aH$$l1yiWL779lLp zNf92nRtf{-ehc?TYKzO|EX8+s9mQWp8^tcqV#W72uZh>Lyb<00>mhmklSyWQYo#al zC!}M)9!Tf!YsmU#jg-00*e<*JI$aj)@=X?he*jPIyO`JH9pj6{`&?g739p9r$1kUG zxOr(V{P(TKpHl&7dFG2gG#f&&fX9K_FtK^f^Q_Cb)w~CM!jtcOgRdS=ZLopd<|*)s zT7XKkHCSO5hy{sj5oo&*Hj0i|eQPK@9C|`;aA)-V{+2I!@{*?wZsRfSY8Vt}0iT!C z(QiNqG^QQL+kscG`P@y28h5ek^Bt_1SpreWLG7Dl9H$t}tPH`e2lJtKcqB^mOwr?8 zZ!FiahTB#*)GBPpxP*gP`{@M26iy=Z%@N$$)gg6i>!2`U3M^GEuqi|d8*Qq%%eOQ9 zqe~=jN;<@6J{)u>e<^T`=pS=}rwO5| zpU_(P1?Sb;eQiAxH_;$Lumau2y(6h~IxbzG>@VG`8Z9+k>LnHXb&~GuR*8caUJzr7qQtiH zjpAZgH?jEuiCi=k<+dq`1AD&~?5nSW)KAOqxUC%BTOkwiRZCOqBQ1&9+mi^tq*)My}s@Du-KNt65|I(G1 z+^3f`byf}Sr+Qkp?=7XjX(vUOuhj4IOL96?L+-=xQ-nh;X;r_ZV6>B8QfIcPMwRjC z9&FC(zAW^o6;rq(-XA654EU}sig z{h9PvJ*K471>`#U3?)Pzp(A6DQNj5X+IOyiF8bW2vD0r-iETDDI;T*U%{h8#kU`s~ z-=bdrPsvpG4}Dpo$&$JnvP+g`%t2=$>s@ET_MYy~Ce)j-BZ4VgZ8d(bB*cG-Wd#KGq>5W zN#Tr5(vetJIA>3zMzN=b6WFg(H`Xa@9m^IX*r%h3Y*zPNR{OS+na%pjD$!jqakdh4 z5+(^nn|y@wJ-dYTgajd)ZV3kqKL}gpG{r{;OvR@CW5klQmE!A72Sn-S715{iiRcuj zE^Q02mcIU2Aib@MmSntGdZ*r5=BGMTHhIA+S)_BKtjy=Btjt}X4>;}2|193eZE%er zAJ@(|_Ao^36%l4#W@4k)a>%m)bd~eRg`5TGd~X7LJGy>;_&=^b=RW^^=oU||dcl*7 zHSuxlAT*^_ap!@eU@YDxfyVEkZ>*92;*L>prZNI?* zti{eK7bN@}fslo!u;dnCJI7*P`*JiHhJnwCLFL7x_}TH@ZLkM6v)1EL-ZXfgu)>V!W!ArWNmI-=gRM|i{=+H3we2$w>srmCo+Z{%-&vg#@Cw5F0L zM>g;`{X5~()fYh(d!hW_ z8N9z&gke7(V_wx;j7t5Aulx)Aez#zkLJj!pYZyH}3EsE%V12|gIQrUQVL?B9_tQpM zN*@Ft9*vFb*5dl}XgEiogNsWRvNq-*dHyBv>Ud;Cbeyx#e4JV}3=IWJI9`8~k5-T1 zHGduX$PjH_Z&M?C zB6}S)yyFdPvrF}Dq%^IL-mQN^u{Gamt&IvZd8W<|r6{q`Q$K0&+qV?a{FW;8I@Xy= zY+zXzHtI!BX4l?}c^)-kO|n5uqi7hj+RNCiMG^}u64~o}wrtI`p=^Nb09I6O#7vIr zva27uuwpkA*4OeM6`yFKga;L5cK#xDeGo_5Nyms8r%-&!b^0~@4mBPxC(V`DY1XqV zv@J7(y7?DST}T!E`uLVqhbyqCwH>Z@suxpqHDx`93}C}UEZDX00~u2p!uC$IWe(@T z632{XJ{!ldGE0eV@v&sz?E0|t%et|_9h?>0qcc1G<0qN?_(rS#{w1|&4W?0Q%&uP& zSXQhfbNJ7V&9#}$mUW)aW(}RpHrPyJw<6rw&L95F`r$q{YkmSd{yLL2zNlcG>fW$f zS?a>2QT>IlE_Q4YxtHr;)6(nzCbE#2lrqs4GT>9&lDH*T)Bu!b-PqyltyDTdEkZj75JF>bT>b&I* z_^jM*JmX&~zx$+#$M|%Gp5ajZt8zr!w}rUdz7|EV1F*?(1y+UO^{nDEw#gyNw=Z;`0%oah@K9Nfs)PUpv;`vI+G_YrpNq^5h_Kgk>2yES31Fp>A-lfEvj6+;piO(Rr3TKZ^(lCy_;x1P>v=2ZzHUv0G$#qK?Nsq zV()$!uMEP;M_xE!Hx359hQepkK#cgnF!P)nCYx=6p|lTk;|`+MJQ|z3hGV5oAPNI! zAZ_k2=&bLG`hU%QoLwgW>=n)3>q2=~vq-*ZM;1Sn@{!+9>WR6{R!~1HLH~w`jA77whiz0Cy1|~oXQ8L*74B){_==8H4Hnd zj$PY2Bm2%PzIpw9{(R&;{y4vd&vjA7z`wm=2$!AoDmGCQEUiDEqgpr_5sV3n_Vfn&jAR zmvlvIhGb$fSlaTRhBVUdl~{fwUz`#fC#qJ3ig!OR6r0|S5r6zO6_{IKoSqyJ~{4xo(Ky8!KNj@>pkVO^1v-AC%a@dy$K@`pD55L# zfd(rZpv*p(E3)Cc)!2lq+N>eem^B}?WRv1;nNOp{Y_d4JF_*LDp)$60ql{H_toNvc zy zSlxzg?!nnV`EhLdxQXnIY$BWbcnrI=o-x^+K}_ME5xX-)mxTv*Ws1L4S&fDQdmY-D z-F~me-hDM<+kSF3exN&hsJ@!5zrT*X`MHASPxE9`_fBW)isrB}``59gyZhMl=ckzG zw+xmswv>I1X<``(ibBQKKEey{nj2G!G|nQyt+`{_?{dtGno`kskWfo!|9Tk*WK(Ds?ME4HU>humb@uj(+_ zgvWU@Blk{xZk!eOH(0@2mYm?FYLz^8ni9NH%}^kXg+jC^tOu?}L-l(6=dlJ;^ycAo zpFu}`(>iBHb%9U;J@SQITWtBU#WkUz%$Y#km$UdCZ=d1d9 z@M%Sd`Id(_dCAB3+-ryud=IFj-*6>l5C6oEwN>#~ze~8IO*L2l{)1oH)*az?Cb+9K z7_})@@Vh+(c_)YC;6Dkerzb%0n1&fo=D@6VE<%@kVdt|2sGGAAYxK8ZPR>r;joXXX z`+HHcYA2dX0X&d+KZxF$w+X&fwF7$*q8hsLoT=D z>Ai2b6!8{kS|8)<;T!m7oq}6S4&cLxb?~@qkMpf2xc{~*&V18FeVl-p+U4*ri^S}` z$*@Vtgu#qlP*pmLE+sBX*P;~Ko!{xCPDxp^jYx;>LsK6PeZ`|Q}KzJpon9c`AEAkSvH z{vhS{-xOf3z~W+5*{>~{EVNr!Hn_1HGqTiXn{4&j)ovziM6Y42a`0H@Ex59D6)(0_ zYax4j(u>WhnZ?Y?omtYx$*jt2BD=Z6fz5w9o&}qZVoq;Iu>KMK*<%G=_A*bI<(>FU zZ$ckYkI^@14q*M9*T$1m1pXP2=DiEG^SbuG8~q>Sky7BGL(;VYlL z@KkRNN?bO=?sy=CpcPoC?FOAP8TNNJMu@W-CdYo~X=^@k-rUZ)kt!_m`l9yw7&tnt zf^7SKEMIU2C%tnzGVTUO#FwCAVj*gCI{M$^G!$PRghRj%tmx$jHS0Nmf<5$GMX(Hp zK&^53_0|LD8aH4>>@Kt(-GgA4UHI}d5G@mD!>cFZzxUdRJok zZfp7cIeYk~uuL9#;3MBRr6)d3vBJLz5`5((oUpROY$-g&61{BIZ_m4-G?7aUt##W+juqmE(Y!RfUc5~R4{EE{dAg2(IuMXzd)1P#%a;s zz?o!w8OVN-ImOOdO3{sLDCU;~DeQKmFIv77(-%S!pN>$?g;=^86H6wkk<{N6K+4}7 zNaBV$J&Dq%M=!N$p1ld_jI^cY*89m#FM$*fUn6s>qn)2Wk$Xia{hQuP;+-8-w)qqN ztb0rbHw976@l!NU^a{0=U8kpt z*J(oSCHmTbimYuzNik+Etr?|5mD9z@ytfpSvJYd$nML>wM`HSfXTq=CL?I|=lh7}v zCA|LqkAHFeHqT8u!O#1%jbGJ;d{fgno(me_Z0&2g8NFFtQuProebFv%e6}?w+dh+% zJg3O*sQSaEt#4#5Iu*>t;w-D!cZeCbZe$?}0=t(mk)?f z#Ds(Gw-9*0G!P{Jc!HgsGX$=)f#K5-6iu{1#C<%RJ2DFD<|u;pPkE>}8xARBWuZSq z2K>Jdhvdtn;n;9BaBP|eDX(=QMghUF*cxo&oq)FbfX|B{*mOG>^au8XEA9dj+6;E9 z*Fi(?a?p`m3b8jAfw<-z7&pui>Nie-DZwLQ_){@htMbKU!0m}iN!tUHs-}9A=Z8O= znD}>@)NSc9(f0mi;%E2R#6jks$@$s`Cee@InLJMzFwws}93tjV0J(KDp*M@*T#gm& z(O3=P1{>g)?*@3baV@-XSq?+TEP*voETL<)1&Apwg1;l?!xPy#(EZN@zC_P}#$i+8 z%$`Zm+NlY{6&Yj>uIE7OX3(nkf;sp0LE3&FSf{lUlxuc^+=@W>9uWoRn^WM`@JrzN z{3iIuJ%!QRf5UZg1-8#ni=F@ZAInX!XL6w-?8?kEX1K0`!HrLBYo#Rjv2`Nnt2B>` z=-b0}i=W_T)L-W&9Q?p(cFOUlrbc{-hbwPsa)OV&ewW|7PF!dpJs~)5yRhq8nh^B% zrO+{A6spf#fFB-&qPAEb78`%ThE4^lex*laTdk<+xf4Czu!nYK`jGkk9rV>}4UKLF zIy704dK=&3r!O~g@|t@XEZdD?6I99hA5p-vwZu-kQ|<#_ik-5TrjOr6`{r*XlZEr> z{&y|v|0ho$WJE~f#7|tivkNPXhf?%tWfHw;LYWR5=|fr=c|1=hm$|v5tXxVT8gJ43 zurj*5<{C|o&!kJD@wC7&jHGYuqNWl%+IDI&T`@2t!+N6XA?B2swSp!Z4R+DTAUgfz zAhnBxk;Du?+Gn+%?A1B?Dl&!!JlgT_%3@4B9fu0{y)fd@CfwNMjTy?xxUT*&COwj* zqiZHp%wU_w76~-X*qHuAOdGaP6MA}<;EB3(IDJB=Fl*#%!CB#!a451^C^UR0 ze7>oQy2_idebOl$R#%CEQ9tnAouPEkTbi;>#OTZ5`$687X!PkO1`VslYcAdRu2i0i zRn+JZO`)N`CsFe`b<$9sL~NNBz2uCDH!-6)qorg&egoAX+fJ8H1<(+q!?Z#@j+)#P z>HWb(`mijP`mcx5#?P*_)pG&ey)lDcK2#^gg;Qztd!8nrbs&!$;dIR+lT>qW(S(pj zimLcdsg^xtZQVlyo7$;v=^OHPuclA0a;f0gNecB0p!Ox!q-8&qlDEr|MuR*_H0aT6 zbfo)6N9gMKv!s@hPYz;5q>b08EB_qXm&VeG<-YVhaUnISsnE`at!Sim5iPIzV*GYv zOzj?mqhFK@n%I0>Q)0z%E1swyjZt*_mn} z;;adChRpymUJITbRRf19V<2YIXxQzo3cBiAFxJ`-{I(!SpP2_Uylp^rx)WTV>H{4U zLcr|lAsEO$1PhjjfRp(?u$k`;g{wA!!td4K|98;k?k)t0Z>AuB&;U%hDKO4Y5u~g{ zz*P8P@<;udiIsbkNk-%^lUWx@YKMO``8N5p$&M2}Cf0#6;4oAL zHmB)A8=DJ3_g6yYR%ckUeFwPz@&LNM4VKk7L#UA>*cm#3?~5&v5V0LfhPgxUBNu2` zzYd&wEn%93DdejfgY*jn7}sh7wKL~{ga2aKyvz;?jkm+|%YL9@5)2>D9Rv}{qY!@J zBs>dFhg`pGm>+fnw7x$Ak;^}zd$AldUORds$ zN#(hY6#8`@4fLzinu*=0cHlO)FD}NT-EVNNm^@__8PKh@HndlMD{b@ep~(&V$l{3? zb>}$KTSsd$lrbP9%dzxe_Yk_6*NNqA9k|O-j6O(>q>7Xo=)3VW?Qm~ zbfH^L`)F}i2wnXbLLr0CmZA>it!7GdFOH*U&wk+?-NAVei@}JB?dY=87FT~=kI6j; zvD2^s#k+sv*wE2*L3$?L_`y-uFrFHo%%p(z%4GiVAErF1MXRn$sL-2)S_Z>VCAMEs z>Zli*RBj3`epSM5g`xPk%M`x{hGE;QJPZwejnVD@FbO88LndH53-6x3or6rsbX zGJJUc9X3Cbpm8ZD!ni6q9_C5>(UZ$v_$%9hyi--$&2_*i97=EU9U?HpLH&rkl+pX@2Qs`frIjeG=V6 z19y&-|Dvlj@ya7|t^G(5`kiFw(M#b$U6gvfh5lSL9NuD&AZng$AM&YB8GugeRcWnc4uPha4l><~Si}wJCU8=>2c_R@J-2iR&uM=g&uxenAnXYpcP)iAnHn=`6_EG8@K8&IP%j0t_wGhr@-_!T*5{?C3Ivi%aLiL6aqrGIcfV zxW5ssuWo_a<+~x?Gyp^=g}|@sFldYmgNW<{5OQrl#LwCdvv#|H!@l*fEz$Jd>hRY^7DmkaVKUq4g~>9>S0*Rif0)>u83HQJGO#C63M3ASLgt(vlZ63) zOiuRsf>5@r|%xzzsTecL8Uz8~)q63uZR&hP4WQkmDZ&QKn%4 zGY>&&Tqx|b*bipqZm_g_4a~i71@6t}ARRmh9{y(v?x$zNsLX{h({MeUzvu&T#Sx%9 zD-jH*oP}$R7oljz71*hp2Pd`_!MwzW(46=kRNu?81EVIf-J=;(;%%AiG#_RZ9>=Es z&SP1*^-SEMk0~x!;(7~=xV_&ta_N2H-0Pn6Tv+ZSjvFS*N8uEH@=RMk%Igrn)h3r; zx}t@5?;Izrby^~+`{WH8_Sfw;b`? z)wyVvWRB+Q+t8RL1s4UD;Hc;6 zSoSI&<6$z^NGoD|%TK|_sZuEHyD6-tX2Gsg9lJA}Q6VH5%VMgr;^PlgemsP(%1F|A z=YEWoYeezwC73Q#fZtx$;HrooR54Q^zjRf4W~fFoE0k%Rh9a$AH-hv;Mv<|+I;FqX zr@+tiNh8Ld7CZS<4jdts+ll1VmqAi2lbT1QQRTO2@&kYRe=1&%BP2#XZ)lwU*A(v#v}SP{5s`B zDy2LKp-`(8biqS|3RcKaR;o13@X?^W@-=itE1dRGI;C4*r9ECn^fa!JhSpysFUtg) zksM5i6jqW~mnPZo7NIq@CD<++fgj#mVwv)2v=V6)at+gjq@CM@>h=19{!a-Jxp)Zw)!+rEJtK#^;2h0;PV(Z)LT$J>t67|@`AAOs*Dsc0 zRl~-;$YF=mPqHqlKo&1)!}O2qu*UoH%)_k*emm5|r^EsnvnK=k#Z%zv(bJHA>I|rP zroygoN8$dv-7qO^0aQKF2LJe}Aep8I6F<*}l@l#tjmu&XZ(a!5bLN7rvl#^0F9Or) zt03XI3ye|rh6Ser;Yz~+SV)5`xEKoAe?#GGS{QI!55j~i2SF!33JQB zk30wP@w5f2(0SkyU;>ZtPKAvD3Xts7Z{jw*+2qQo4<^d-T_$Qbhr%3h8CX3;681m& zXCk?+$3%ad2&CB!gWOIP7$>0%L!)NH-_1)vwrD-bjc|b#`R=ev+Y{=u_QBoP!SLwC zArRM&g76E+pz385WYipjLi0e-JLv&`LLK2@$y%8H+7^bFS%LAl`CuHn5GKA^4cg26 zz^o$%NHh!fPPze+v&$jVz6_Lx-vsrmrQmSv5j2{9hqD`HS#*awdzx>|v_Dz1B4HP;(h=O!T{Ah?y(_tf@gdyl&!;(Km3v&IQ8!nkrpjwQUBqk5 z3+A(*pXV)1oA^LuMIo}wOpu>=K=>$;E41+K!lwvz)YVyu_Vc1p5HCjQ{vUYzp%RUK zX+W#mtm%-9GnLQwq$U4+slsU&tuMEu|9pu)1dpM{i=WUVrwH%4m7r+mH_U8Rru#!p z$w}Fc`m%S?qI3Sl?)p=)(QbOJu#qlko72c;nl#CN1SKpTz{3+eaIt3}DomB3CGitz z+B=^3>-Hq(8A`!75^1GYHfg^ppy$hOP)X!f(h@yKKGWi61M zH=73jm{GHnCFwY=qPfSM$$qXkjWi6VaS%$<--Bp_vj@o}ETzhe+9Y*kD9x6uMA`5d z9AamOd2L2mSThriG%eA%HVhAaxQ=o^IuYiMp?5Mf$?QBw>c2SBo~lcYqsGz7N)b|U zeT)tgS8(CzB%Js&4wY`1;-;I^@k6LAihgJk=B1PfG9Rjiee#khXJdxByAI)dw|pEW z@dhuPAHcrV5;WIHjD|&h!G$SzQBgk+Z#mq=ikkO0Em(?{omD2=^=kC*=s1dulc#+X zq-fnv3G!%`qiWR&tVZToZVr1J}r?nz0OiHSVBjEW;xaDmL~ z3h7o;5v^ICPv`HPr3}Al3NrH~%$i4w4~(Nm_ZFPrcM%H={joHK!`5li=(D#<_@xjl z{4-xG+!UEABwp(0C#}B4#|Fjo-5=ffgH;0WcuJX1e%r@A*;T`B^v~p8HivW1zij2) zQxytR$s&`1Ho{xgS{@m6sBtPLbO zu7pGP*1(#j_V7z#JKQY`0LS$a;50uTir*%~jm$KF*C_xtiD2b&9F*ImA$#L7xKw-; z#u!FHFC7L4=K~;m)f0B6IzUt8Vi=>sLzT29j4M}y@*5K1*Z$XJ;D!j8{gHyKneveS zbp%xRNW$ewe@*7?=r);ZB@X=|5W7{Bttgs6GvD)^uxb(#!oEJ9mnk9#+aZoowUo*No=5 zo&WJ4oc;J-v(x;u!;kr%12RJ15GLr$`3NWCG6n5NZ-t%vMq?o?#K!j_xOCt$4(?Z+ zR3t}l4{FnE!v%D{Wg~^&+DU#B{Yat1iv~uxP{(@D)uNzyfSFXuySA zhf&J&S(NFtoce!kr-cdoXzu<1+F|QMcMdtzo}X6q;=UdoX;31Sqhj>5uLH-obmQMN z2~uwxOE!iEbfauJy*ueoefF^wUwD=pmGg+(SwK(b=8;T#Che&|PE+0oQ=ft(JzT$l zy6l0@+%%*Wsyv;0G@q<P1&>6>64ZzZTh{5T75$(=14qk);&YxeJ)UM$T`|G z@f4jDIY^?f?C6!+4AP$=P9HiRp@>cy{;_z8O0VUpeJ_!9yblFP!eB_YWzwI69Y}rWetJhc{^UkQ~~rno0)_hEr#a6CGG$Lf)I?NG{b1wsfxr?thaI@7-xr|CRZt@y2?)k4L?7qYm=Ij;69;fePPgdKo5A`!ypT{V6 z*<}bbcIkp`S3bf6vw9dCdkfYpcULHEX7LdCG7FTvia~tsJ$PtP4FeY{VekHGFmP^wITF9XPezvQojZY9 z@6l(AW9PFMJx(k@{vewhc$$?am$7fh-!r>;5?tl}N!)ym1>7G6FYfQ+cuxO!A!nlf zk>h44@Vnk~{Mp4Gyo*O7KTW2JH!T$xM7QV)6RvC(1lMF?`OK%ntz0>T0Rhdm{V)d3 zppjiYb{h?{ikwZ;cCMkxzT4@Nm@l1g@TEUN?lkJoN@_i7MDOBzK{Tn~ zjsj#&X}6*_SuLJQSx0rq>YqSTf0j~owKElT_)))lC_Qfrr=r4eda&RCc}{YtsGk<3 z)iIe~8up@*>s9>lXD^;CFhD~OdHj{9g#VPxFr@wv+BKHoJ^x;m3>iyyi)WIlD@U_) zIJ&5%OaJW0(G3$(x^MjirLA-Di$p4NR}*n(^eH@_cK~M{--^rc6aHya#O6isg}ObZ zg5&uBJwU?0`$FVmDfC`qj=X(1$`$5g%jDPCq|}eIdd2CN$zR;Q;SIWI-Na7ai`b!7 zgqKr4;?X2ox+$efxpot2m9;XBm?A@`cKyZ&Q$J(et9C4WDNT}{8WeG3F;aWItciKdb+h@{J-vQio{svyiO+;PevzWE#1$GV@OLx{S zp|r1Iw4gteuKDBgRrLO-Hslj;gPRTN- zoi9hzSkD1$d-c8u8Ri#+F!z1Jt!fmsvgL(G5pVdf?%6!o7|QGG z+VTy1rt^Q*W%-q(KX9Yp7H}3@A%PTc|CX}iOA-2gaI83xA_BH@933`D0Vg7)@Icw>|g z!y?NeN3;sM?^eM?hudIeTm-|6bD-M)95|g#gWm2$cn-&*cwH2XuM36c&EBBiwGmcq zm=9mK>B5p}6ToopSg>%L0KVU*gUVq;=qfM-@2A=jl%@{-`^LkAZ|YFdp$jTf=5W<- zJ-C{BL(ZIVm^bmET4#RuSZSbrf>O=t1NTp z?%a;%d=}<$+sm6ctEt2I5@|zz@kAH?{-QYkPkb5gd$Nz;EUFbE$ZZUxhmUQ@GGPm8Gv3I zNPqJb`W+=pFJ*gCaQTI4t3+t%u@N-&lyZB(}$i@*-xEd0;nIIb~s&O#qI~ z^u;o@G;Htxg0|5bgRF9-eu^QR8@aUUYYn;hzo(6(+iBy54if*|PF2+(X}{$&a&@gB zt%59CksU?7^PNb2#Z1~LCP`=Hd(p6SB(crro`n)Stu)2sUt`(E7Qa+s- zewIw?kJ0mcd&tFXKK&T0LVMfV@bK_l+&b+5=6*8639}W@Rjxs>_?;|>jByk0SLh4T zx>7=9*JJ+5t#p21=zf0s+J*eWEt7byt3!C{Vb8foCYQL;3Xxn;_7*PggE{vnMuXei zCBs!#zhlnP1uSdX3FfgsfX$Lw#SU~Bu$IcPEE{B4y1fM3w?u+@UlL;*quXJzb`3Z~ zCP=J51iSk@;qE+NNKXodoi~m^)!3t8H0&@uQ$GN|GXh||WiWK~hr_K!gRV096zsX2 z1{%*j1Ixw?H zA1*AP4ZSN@fD-2cP99-k=W!f#+SB2;{3YNL^FX}hD&#H8gKWKAm^L`Cy0k)wP%4FG zZMR^*-fb`_C;`t$SK;Z2^YGd=6-F5+Ld%yZ1u{GEXeS{;5SWTw&$<2f1WQ`&JqzW`uI35 z{0wrxgSK#w9v|VpFS^9V=`?Uz8IpW=(+vL7^9_7PWfY$@={m1r@{^ayRTH|ZmJ1Wt zMhOF+r9wr*fN-u=6QeUWpuR#33YSYz>G4l|B&S5Tzv@$lz7tqp{_d|@%uT~=d^(;#6w8@aCOB|<1a>Hm#<@=y zqSyMPC_4Wxrmp{oaudgqZqZD#)!?XZ4o4ea&!k5S$I;V4w=!Mx1ikZfaC%P~z6(vm z@PTtERdg9uPUK+Zk7PWe8H5Ul7Glq{G3a9dNnoC3g5>A>f^n%74sSNcNb7KPd~g-t z{eFeUD|^sYSCr=Eci|2DXZS<=D%MAz!D&+0aZ>pgyt{S;H7QJ@>fO`mWV#AD+elOC zxG%W-Up4MJT8(~D-%roA*pDUzKu_<(5elQJfx1e$@Wh%MbgBwnZkgqV67J02Fd6x(pzv>JP zs9vMPTW%6r7E#o*E2Q!)g({AQ)0dB%$ugrY6?___xP{C-Cd{?e;dM+${sL1}jbhn4yO`2jD|R(_2Ai%qn(bOA!|FvP*#fnp zYzO^?E%oo=U_>c=h)se4oiK1K2!Nk?p^&F}43_;m0d>C;K!5oOxY8aA8}Gz|)uWTp zWSkDg{3X!uD1eas643OkfMDy}a5CTyeEE8JkPnrhF{~O47gj^b?n=n%zXhi{is6Rp zRp?L3g70=|Ai4hpm=1Q?v({i3CG7_P&RfE;iF!~Ws6lV%1Xv}Z4gVGbIBY@)(`C?a zI1BvR^x)q&22PtTq3MAm+|1bzymchhSD%Dc%QGOy=pw9j%K=;QeE3;i2-7@DVE?MS z@Ur_MnAz3CrQBz*?nxc2Q?3Nt(qiz^&4Z+w*$_A(3$Q;E;K&(>w9J5t1Lwd{ya04} z)`85CPUw3vjLi~PWix_%n!hXs zFX51|L!v-f@$Q#!`i455SZ<5Z+=ujj;2oqhtn_Di7WLt|;)<}h-XcB8jH&B#uDJgvFYigSc4Tps3*clep;o2QJj z!;DcZcQ3wAyo?cIpYdwJa8m4=O3NM?(Yif6>17zvCbOyZxKfUu`?lZ*{W4Un%*51f zY53m$9A1BN6_clz;P(DXytyfVmIrP`&L2&fQyy67vS|otYL5^IA>&2YY$ns2K7TO`wUg$LWVn7#WP) zNGt0#>EO~Y_&M(+>h9WrXHG7{kVOudA|H*d!b5y^V-%%XTGLX)gLHMqIg;1DO>X5c zNHg;@ZAxgPGPQ5yG`*SbU4KU3!*A2Op_eG-a11Ry?MCC=4d|Je6n!`RiEU41Y0Ec` zPFQ+Uu46oXo10BH9d8gDT|!qL7t*Hh7wGNUlT@%dm~P)%MO{~PXjRfs+Uiz~M~}p# z%XP+`&877xQO>qj{M^M?R<4h|f$K$&U^E z$yHsv#i^y9;ub~vaZ18s&fP_a)15BQrH8gL+b`wp+on_&w)-G!&2(c`6RlX`G<}x2 zX*`S4kz-lYhp-#rJ#b9)BOH!=0A!a7wPQ{}amo>xq;VJyt4G1jW5>aINHSQiOb0tU z3$p9a!6>(jAeMR+!c5CSZ+Ba@(gb0&kxRO z9M=3-4TlpRgY<(JFna!Lh)8@5EiNxXqxmtU`BX#miCgeuRVj3REC$)tH$d*vHTZQR z55|<|L(laJnB&$2yCX!|*m@P~?V0Q6VAi?%6pIKd zV4WN4S^2eI)~&0=v1%jkV6z?fVfaDL<Bz2GNSmfn zD3~PS=JgJ^Ds2|_95FyM=7_`XPGRHnT5Kb6nl`wmO)GWj)DK24uQ6J`bS6EmSEe0L zMCfSdV;r_M2aCR)9`vCz__rk&*LB{)6R#g(VC);*R&*b`k}sgw@q;*j?^5*qrh>bV zeHBXomJ3mp_l3FuDO_o8j(=Saq1KyRe3kzkm!9mvmm~Yp<$D|MkF3F`UKdcaEg9F^ zUPH&$R_v-%B-aEDy6iQB;MHXEKQNq@h_|3!ZwY#i%R`&2I@G9^rHo&U!i-%=#VV9$ zyow^9gd?=sFo^W}SCQO~$)xrBE%rp5#CMW=(B#z)3_cx*;>(Vq*7Y2WdE1WHDl}-l zj3X^{iKa8HSLphxYO1Yhq<-hml;P1zzNbEs-t$I!`J;x~9BxqMp3`))B9zKgmyuSH zDrL?3gWU37w4J6(g~M!U_slRFIx&rc&gap7{hRbJ>?SSq&ZoQKXX#I6G)a8(rggy< zlq5BgCQj+Wi^WCw=uQN_zOoEs&#U6WonM7b(=Q9_?Scfy*Jgr_w~}yG<}?3HFOTp3 z6wXg>U&SZh(cx!#4&z`_>#abo)dhkAgF$X+G^E{6fsujP zur;;_BGRj1Qv5S;nD`FVg)boL`xT7TzrshkFR(QD1K2%#4S_1J;Nbn|FkyQGq}{3q zxkHb^HLnKZ+^V4UcNMrvJq6jxt?)v7DElNkhW*+*$f_beHhQlyYuzrebdQBh>$3x6 z6$jX;>{HD6=QTF5>

G`kU!0j^xJQoW(`mSi@a%2;r9OJI%%axyQYK`iI;9UX8bq zu;O=E1@q0D&+-0aU-AYUMhFwjN$5)S7a~m03wbx*2qtSsVsG^vEa=^bTi;~hid~Pf zbBZ{fe=>nqZ{f)NwhjHf>Ov1Sz3BYHeI%0VLo;o*(&e0Gq%va`jfxyW!{xr9N8w|f z|Mv@;{8gY=!+-)OtfQZ;p7bg(h@R92k$$`n4e53u_c`YDF>NYY_{z}bg&pW)^bKo2 z{Kch@<*DYBCTYB%OH-yekz02#l~l%(mELJeRy|KKrkV8cX(IWk9Hjf+c68+7bfT_a zy!_}Y@(xGvfI<{n?J@V@+WVF55Mf4!>8YUv;{qc5fy{Dyz}{;-Qq$Qja_Pa`Eu{e60D{ zjPJLNqsn{pDWzjOt@8{fIk^y0x#dX)_13hiNtM$5ny}j>4dpV9;;#jX=nLo2-YgrJ z@4bpcE$eXMODQU=mvG9uV64_P$BAttkvDA;wm;1fHumfhp7=4L zQf|0l+4_oqxHF4C))mbE6kp7v+7!Nb?NI(z`U~!M>SgYxRs^SWej_Kp$%H%beGHed zq>rV1sbMdloM(rejhKXz(#!5W_QDeGsUHC;8;-$${lw>wDcYv z*-!E z7mx%xS%)Fs#~bc}BlO;~1LaGbp)+|GXx;Dy>o0qtRNn=Ro~(su|JJ~`$y>mGeISS% z9|OO`r(v92KG>&J!siu@@YV1;e81NRwW*?PnVuLkUN6Gd8TCQS%ir+#a2NQ^?uJIg zKd|X-A57K#1EV84A=>2|w2OQMjWzEftNb(kXZsrzR3%t@ydryTIDxIs&|t$`b=kma zj$O~OWQkE*So_X{tjH^cMNKPY*VjH_D`$7HOSuZ1Q<)xD*s+pJ4-4j|j!oqnU*6_I zqknUwKdJC4Zx`_5z5#s6;SApY%2PhuPgdAEl?mU^cnVi8rwe)m4T8&WIsDIx!*!Lr z@RNQr&R4I-IKO_p>!?iDRfZJpvY7gH9mz~%H>n)nOAng;Xpe~pB{;7m87WiJ@>it| z{6F-Oe2tH^KVqh+4Bd;KL5~Mn_O@sTxw{3@n2W)be#D<5ptKuk=q|zsviiU84nU^ZSWxL%rDV)w=B{S zQfSqQBXoS*9=a4_LGOM~B43Su3{}60o5w}swQZa5)h0W9n|=VF?*pq)z|rigsQ)CeV7QmjLZCmK;f;tYD!I+jk@ z{J|AD_fSmi3aT!tK-Siea|WhSWz=FS-{eY(w2NGIH&f|mbMkUhrWteI;rR`DxT`$} z=iaPBXlcT1-#7U7-c$U!@-ZIlZ$qhh$`rTKik2@8p~B>Jin(x;OtkALj%y;(u6Oil z$XjX_p40P1_vu31bvnH|on}rtM7NF%Ixs(#MkI=nsX-t19Ue=Y^%jxA*Ff67@)Sv| zxk74^#q{c33Ds@APG8<%q$24=`r8shlV)z9=bsG7?E5hKPw6?9hoqzZ0#9sM!!XrG z7Dp!63W~{zLTRmwFw{g(;2kA}wJ+=VfzZ=@?_xiGQMVcI_kBEn=XpPO;Cc<$mUD(v zv^>DMMA>rw4Kp~+_7PmaPaFHWx`G*Mq_GC22=-hdkX^pDn{~T7GWTT`%*sHUODF2I*?Urf?p!75U{ipT8H$( zib*1@E>)b(d?v-(XOCcetd!V39c89>Lzy}J7|qJ_71)ENvTWJ=AuL*P03MZgK#X=P zwCTNtncJR1!>K!fhIx>ro($nj55b=Nov@+F5v)91Vet!JxUlvBWW|TTiHtyS8t{Sm zIXk3$FPGpY=tUbD=m(TPV#YUl_s6gGRHc z$_dOlZaVwwB`{x~6|DB9H&e_z%6zTPGV_39=3r6J&W3fdU^@kFzq}qds%i!2ni#~z z6()0Io>y=SVmr7OS>yP~40GPiZ7*Nsl*W&TT7D5PC73!J3P)eK3yLktLhs5tq1IL! zGn))h_OC0dZaRUw4=XU?W(SIUkD{a)U6Qj{NOvANMh%H>iHE+nO1>x_uCFiytJGq zuQeh!xzXhOrys9Gf5w*c-_iKYpby2VlIjnjm;bFK|C?S^V;n)hE+mkVUj|)jI!j_* zDO7SQicY+8r(+8^%DyK>sSoa8acwN7Mtb4*Lw?x(>kKC4_F{aLF`b^fn~LVg(S;A^ zs82nQ>>lOOgWe02vNwq|lEW!+&<`J}&!K;I%GCYhD^5I=gCa`~p}vO)7Vi#3{rM^Q z39FIw{)583QMBc;CXHTWOw+PB`aIi^KIKiOOS6WNm+L32tGbD23^Vb&MF!6Axq@Yl z_wbQlGbTBUP-3by$=s8seit#?_Pqsnx!uF<`%mMdMt{t*nu8)ghvT&w&xKo6Wy0LH zX5n4=M7%R&Ge#~-z<&j0SlIpsU6X!bUBEXiS9^jNEiU7j;qjPqB?V9QKEV8k5|nN= zg^KHpXxIf48tpxu#;7XNoZ_$eRH_VHwDU1P<_QMNNR!vz8T6D{&>q9p)F^60js1+G z97a=O^EWITR*P3z6LwmQP_5^1GBuQ^ND~SAsqhP9?zQ06AL1mTtVKngc68%%B!$e( zA|3y75`SAqg)J{>vUn3|wm+xZ?T^Stx}2U!UZQ=4$EkdlH%KVLlC=RYDWSl#n}KBa5NuD9$8~HYV+-oxwJgcwCDDT!zq{ z`_^zN3C^tgjk0d;j7eo;Z~!Dpld5C$Y)gYo{JKBvuE!7&MJ;S zvwRd^TH4O7T3^9^6HalfANz3P@e8?wRa3cb&C=YuIn6BCp@?nzn#g(|hcT%pAEtk2 zD@$)&!=9S{$69TtumO81c0u_oj8t!e<0%wvD&HHgIV3RTv`=i7Z z8syo#qcSY7MVv+T{DEZ+-@#z-d&n8_6vCdD!}XIFpejEGPWkx5#|&q1UG5A&!Ggo;f_GS5aR=9d1JK8>l^~6kJE|%)7rCgak_8rN@PYiZ(&2Xk^D$llW zQDhGzMzNtKV_59R2`nmj28*pRXA4(3v*xfcwv(M=ng1@cgBrKkEV&nK&bDq=_f3Iw z^U~u=f3Dypb_Q`fb(6V2rRCi9Za3V|G9J$)>47#Hab1T zhh`fLvZ~aZ?kaC3my5O(cGHAn?f=KId587%{(oGdO|*puDh+MCU+0|H(}%Q*mK9ASqaoyMHf#4N#n6&Hz z_cxVCuZz9V;nfgKIzJ1OpR7e*N;vj4hGEZ>)mRtoi~H*sp6A-1ag;}0^b3Ay+1`#Z za$pmOci}Ow5ATYgK9*>`Bq4bjF%chp4#V$d z84Mh%Ah)CfAEJs7`#l}H8+M?pVjvb&x*&Lj5h8PcvS?JrbN=n*#CcQs*ew$_`S?>( znsidqSKKPOFY}VJh8al)E5D1Mx}Fx_#>I;s9&<#~<@Vx?WnDy%D^G-mpCv-?-EqRo zr2)bk?V$qY8VbkODF|MHkLdpGa$4q>Oplj2zX+EZFWD&D-etY)=euy( z%1*mv(>P0(qgpQ8Y1SY+mHtq+-SeYtr%?xTu2CR|i)!@lfCjZR>Cx96hEzY@l;$Z} z(VE^iR9I$BtNK~e)h8zORNt6d`rcPoDy`)*h2wm_wtziKj`45D27d0XgsLXSS?NEFaM_1p8;a0vOC@G0oW^9k zQZx?9#iz>Mc%~78kfGi4J!w(+mrcz$Ydl*c`|$rszXy5hYq z^cGqmrg9L*lYlYK4hWvz2bCo%_!RntD7LJ7sqfFn(ybwe zeBsb6zLJ-~x3`?+X+F34de2twa`P$s4Zpa+FTKG zo@zMgVT@%18J9MW$0(kP-&LMiF;jp|d2g7gDYf@pXUKZ@L}ZaO{&wB~tGj#gZFdo7 zx1K|Sc>`+GuRx(|BW~N&!Z)=Xr6sv=xEYUQ)xq$c?*fM;186rW;=HvQJhd!gIC(03 zyrWR$aR8INi*WjM1#AXXp}9*rKCH~gw_7Q2`WlTx)(c?z0?>S^i!LMH@S9h~ym);y zSN-R~mu~mwa+P<|s})7kmY@h}#4{JE#ifTd@y8oc;Zup|IBdIkJ7%gl_NImCK3q{O z8+=>1QrCwgSvkqosIsiwLMIfrUdP)HAo|I&-(FB*~YNHe2bX$Z7}hsQO7)J>}Xf|P%xBYoQZThJJPpNwiFX+MKivc(rE=lGJT>&Ggc_m zO0VBCD~G4Dx+j-q56_p%tOsPves4*VP3*f%_APCf?E9_VvLvMh+2M$tGWEStGR=?( z8OLvxt@2Be$xl5dvyrQpS@(Y+>(%f{w*R+0*;J_!73k1lA0xWf!<-7eZRz9Yf%I~U zj3!sfNKJ1ry>xOUEVrYBWj1s!(}r@c+0q+pd+OcJ+tvg2bV%KizMm85*VfUL*=r6( zJ8h!WrbIe3>JTN2DyNpP3-tbZ3%z~#i!Rt|35sJJgflfhLVkF-F#KSu5I*OO5UKG& z_%>5lygz)X7&ALi?3k4-UVmCEj!~AE*7dZMew+G9M%ue2uXX37KKB2l4l+~r(Vol~ za$-1mW)V-0f52^3O4xL)5BmKRar>heru?0QlUG*4a{M|h+P4nfItOC#?AZv<8H-WJ z?IHWChlkCIu&C;cy%)7m{=*ixmAo)@%u-C1g~Hch6Sk^^;Pc!?2w5=}nbR!s>60qH zX1?J)*Y5M0v+udmT@6=`o591#8BaFN!F>NPq-e$Bi$e;w2W8?$SSC^`li@IY3)UOV z!9yztEDu$|gbvU7(&C%^`q3@c9NogkbZ2e#pJZZcwJD5g{|i? z;MiIGdwBx3J+d(F-VWqmTmhp*XV@?8jb&p$bKu4b&Ofz}H8d01@<J!T&#sO1lask0^0opk>H&TDboMZPiN2#=4?;OK3Kd5ObW-Z|j`_gK;a zZ57?2a@+_VcAKMfFLewr>w=M=l;9`+WiyRO9A#0-Z-4CJ9EoS2n@A%n% zJv?x5z!SA$809_`QwG?>&_^F@T>o<9kt-a#`xL*vQp4kNp7P9_@|e@6hO2g6G1XWV z?vuJ;dnM{~pIt72?R^dun2&T%f!<0w<2(uXu2TLQQ%~ipx(W>~_Vgj8$-gxOB zfz0Xqk>OE{cRS9)=HUe#s;kFsof=$=sep2EKH5I*!@g^q;k$4aD#s2)|E}7I&sIV5 zc6}J64aLob6*!r?3q6%`@Kde?smm*2=2VHJy-EP%LpX6h35G{EL95>kZ2UD4ua-gKN0r~Jt_`xiV~CO zdx>6;`-<|Fa$?lmMqzDnwy;$Cy~nb45rp!_GHuBl4in~2I=%5wSGEup}p_Cjg0BQ4s#mRW<#B{9I5Q~ zU{M}4S9JYXlx-FufPv_FJ_r7#yiJZ5eC0)1gHnl1v+p6<%lX+d!>)&9@$m&RubQJWUxz$d zd~mv~_xBW8)`$$57+WN>A5bUjH0PmgX6#SdjYrBfUOwEOHh8t*@i z%wMdajQ&w{&pCGEO>Ods>Pf@>|+IwJ)Fg zGoE!DqS$ChKD(CQ;oD7}(YJl(R!o*5aG*Q>uJS|gXUm|wEf^QF*J0xB)lgAi2$#5t zIBE?%us6Y36%DNSR>hbsE$H;MLN84>toSk?!8sd{_Bk9I_JqRFYdOs2CP4MOJ*w;5 zzu(4>d}4kJr#iggF>4gir`Q;|NkehVXC?yoZG=+jb`<~HiGlNog`gE0lbo|VZ zFRCCYtS8?7?vI~Qw%8h|ifc2};5w|m4{bUlxx;6U5U;UWOaV83jNz_o6Z!d+-u(UG z3(3XoyyV>Dk(49$;`KJuxcjVK+#~KdZ|HE9qX#_V&dK+<)~l8;y~yE$Jqf(zS33K? zXyUxnN^mSNgPAhJs&xcbJ_7u{TVc*(O?XCpWZ`2SpZi_H#rjnor*@sE*tGKW1K-(h zxjddEsAJvp{_q?*7C(yv+kJ8ij$POVmGoG+4&98UyBDEp`fw<8GJtKnS86nLL%gjm zV%nS9C2tEJ%uUBK|6=@&slo=iYB;Ywi%!>1Vn@?a@ZU7_Xx;(YxYe-Db;H+}rf}QV z9cqS}$PH~@-+)QL+)dEFo{VK{@^NxSIlOhN@FJ-K;g!b_Qji6@9tYc18?ocn1Z;UT z04FXhBVE0jKiXxodGK1c%L02I?Z%@f-;so)8B(j_D#`tXOqyiSMUvCIBOX`D6{FI^ z#Jx{l#h9qxVqL{g;g)=za82%j@Z;eI;qKcp!b%Sd;e3mx5Ph+u&}l;}%?qldZi?Ad zwP-Wt&he*&{$pv{%u$qI>O$#NE_6TLi3+L&TDjGpv?tk6+&+8SyiB0;`cAYf-j%`z zjit%??qu@ccnUY1LVs2LN%nmaC8(~TZyqaY>58SabI&|_QRqtxw~nW*;iD-)Z8%A* z1bThco+dmnClQ8Z@25dOH+3Y}!!Km61{Y({C!5Iw*HLl z;OYw5!P#Z9vWKT+#v3lmzV3M_>;B=FZ2cxR`uC$3MfJ2MmqgIWy<_OYl8NNzI+Z$I zol3D?+SisknR*`aA@$e3G}U=FEm*RUe*Iib5owEQ%bx{wbm<(*^!6vO<8$e`$#Oc? zJCuAr#!%5^yvUDCOql~UWPAClQnWA1g& zga7S_!m?iI(t9ALUvxvQ&J2uywiu)41VQ8LT3D*DfsXGId{m!~ zxXmso>t+W#t=;`iXKc-WSNSo3tG9M8hSi)qN+vl~C8 zFgO%U#0`@H7~Z6Tn(wOUY^sT=1AAlq@IH7xyC13-T4P4*Xxw|Z7WZBDqVh~JR2^!e z)!G2{M;Gz^VHJ!vAHl+~MBHs}L80CgpAt+lVuBnZkJYo6OCHw_&t|WL67CUnlMCrD z$7yQftCI8RUCYf^pRrPH zM~u3xg6x0bIx`+&%y3#-0*Wfo1JAo zbXA$B+`cN!OuZ=GFp=kKBN>|yU(YEyY232p3>)mZ$-&+3^Q=QxSU?H8Oh{$N0m&Sy zU&e;lKk{Ag9vJK4h~)Q9n9$uBgea zF%}-jO)>0kM|}EliT}<@;q;JY{NLokoHbIF?dYncoSGsXRtS)m{I!$rd{LB!JiH?Q zw@dpr%fIF@?bjG=2*9^}4uGFkqb zMZfnipv|8bQ|^+blv1^n%C;{f^T-vn)_4`I84yJNbArh0aUj|IFQqNh=FzQlzGPN3 zo=pF_lHu#2wBYk#iuyc&KI}K9ztA9MzYY`_*CI>NtCEc{E0Fb%&X>K8DUlVNJ1rYD zr&>1T+c{ak;PbLd)dt!5eh*|3%fHKP=BZF~mOdqIv840AMAFzhnyR%Y(yuaKs_5WH zQxDFj399pnRhH1bAFC-OGlV3q2r^%~na=gzOmB{EqCX{})JZplF4>0C?THaod^Lvh zw#3oV&&h=QS)^EUjL`7{^)hdztluiagIQ)mBS8JBEBecO0v~ z*u-0U=CWV-HBNMwgYUl{(D$@Q_9+)sf0&B;)`eK`D-g2|1>@!JHJH6{IZpPQja4b0 zSUp5S(bE3-{H!OE5_>{R(;Rv>!;t6Ti$_VTFlA5}Tr9)!VcS|1Z1=+v`Qd23V1NtD zJK$M<3!lum&A$u3@zrVCu^7`PXtv;+z^nrDj9m4xd*l#%m(e=YH$j}3R=a=JpO)O@gJdCkzXW{pw z5wEnb!o{o}u?xzve0LU(*lb7Zk^oo)055H|ak%44p1G)kH_ggpcjaUJe%B>7Y<LnXEH0hg)Vk?h*69apD&66QLJ2PnjpOg# z{rQ``8K+J7EbXekAa%L=Knne&$Fjc@*g9?-|CK9X^r+{$wp)DiN;5aVJI61iL#*>J znTO})^8J@L_-m^&Ty6W~m<90S%_vl6j)3{Wfw-=0fPy%A{Bpm_Pc-tmCNib{o%?y# zszUxd={lb)Qoy*w?Yxrr!(HVV6eA5GhYC>Br5N@a`56B*6^m`7;j&;R?6%k;&!{`x zA1Yx=eoqWq?u26hKvb=5cd-i@m>60ByQpGl#U6ud+7Udf%s^9h0v`KrMwf&DbpPmz z=>}FXTceN7%X;EKy)CYb6Y;J#6lGdTFgbb%Er})A^yL(U+EeW_s|4L$4x{4fK4|7{ z!MiJq@%hh4O!73sl;}2I^Q)TwEK6jsntA-D)s};T6?mQEMQNo|l9XXITbkI*N?NtB zqqJ>zz4$n6pV)u%aHjjC3Lx(B(z>%DLg74F6?wR6h56+6f7>j zr+#|PG^MnHI#^|pR>)QgoU(>|M$Dtpll{r}(Ol|tcM-jtzl0J#E~fC50J?o(F?APK zQjPzARP%BZjgQ$v&4$~_vf~c=5WS7IAKgMb_irW>Sp@x85l)&FVRT|jC}nK@kCg3K z(WPGtXu6g!eZA^VNuP&PM_~|YX7{J=wms-li6V&$Udy)5xFqYTS|-!{cT5((x>OcW zd`hwd z+8GtY+nwsob(WIfaH5?$jBIQW?BI#6v;z4)Q5c@H8~r;Uz__1TsCblxUD2s1`m+Na zOV=RO%>$PQwe!^24BNeJ(694wY)~7InaWe~Y2Y**x;YaoXW@E%1y;Yf zj7zFFaOv@%$?{x<2Mi#O1pGzF@ z;|&MQR)lqhE|zUD!LB%KTv=m}J*Ez5UHXjoEc(oybUGqqi87AHD#P=sJRT{(W#tE# zI3p;RTl6AXv>nak)@$%)mlnz6`(^2oQwN?j(t(F`3FIRuk~#KP8UM3xfS>X8MS%{jl4F##$Sh}PXTOCd#WzZ=sUVIcf-;)u0 zJPgCndLSXAFQz_F!X#TI6s<6Zr}`LNOkaoL*LR_^YdWS!9zy4+!_ZR7#g)Nnm?I|O zY+DqtG7v*^CSXIW3~I%FF)pwdeErN2blwU6{}#bieJhsv9zc}KQEZ-Fj($#+2sW%h zVnQ)o*5_c#g(S>Mio^n^x$S3j2y9CAv3$oDp082KLr3jm`@S{R}9nVH8eS#i@f z*_|QRW&h4zm0k6{EHkaTAUh~D$;tzs%JL7&QK#jabV0|2(v}URPvIj-^@|tjE}TW8 z!!ok6*hmN7L{dc4HtKRej+#@GXj@h?b-lQc66WutGQVW%@NO@)_Si?`C+sIT%B0L& zxfHX#fIQzGCmB~!gI*)a8@7@{x}s1#%}CI(V!?R9G~v|0|Af0scL|)CC&Zp;5Gq6e z35nB<#7}mk#oKo_h}Zuf5C`dA78R^INl{8xQb^-WDKB%EG-7?Fv~=A!X{N3rt2`dV zOAyYwbFpe~EtC=4*Bo1ayJ2UCC76&I2|w3(6dCQu@9$Y?_C1Jxy6ITnyc<&Y zP3@jF3(I|m0UaIisNHd9{vM0;eseH+Mj(1=2IJweV4SN8L1W-n{JXdxHwK@;qNocH zpI*l%lV*hHT!!DAQ_%i)5Dm9?v;Z|g%D=bV64q9rE#VAj9X-Zog{Rn} z>?W`1@QWubRL5+2W7uu8!SM+)n3c+Ka)1r;C-y>4a!16Sxxo}r$U%3~xyI!XKO26A ze;GdH^oJcVZcBFu6XUOrlrY7lc`U9!s9&L7YbLZgcQ9SVLL7rW8hW{ir z@%IT$>=}QCCr>}ZvQrss_N<6kJKp14H&xN4sXweDfwetcv3d0+r9CCEDup zFgP|21G_HAom&!ejkPf4dItndQo^^5W*BpNJa)|rfpW<%+V%yNrq z(YI4+waXrw+$Em2+i$1ydYh@I+kaH-wvcj+CX(ujVI=!AfND&7QB7qRy64u34z;(T zZFUDbcu9`N?e9RPyMM}>oIlGXi|?{WM>>)2QBCT4%Y?Mv$f%#r7z$0EK}Qt>$u)ly zB~02u@6Gm57n?M?QDh1HAlg#(MP3EPB@ zV(s02;;^;uqUzi*F>6Am=Sgm`~xv|+py*Xgu$_uqF(I&a7WCXZ$3 z;o+>`J)6%KHE`Y8-~1q08?%mCVUX@{$OU-g`U^jtkrpFl%}TUXuR=eoK;*_O!IG=9 z;U6;z$Je{S{f&SSH3yh2cEoL+p|IRK9`}M5pfq(IG^d22cXbGwJeQ+O*#yLYvd7YL zbzIMR$zMM;vPtM&?mo98rt9{F=OJgzJ+}aX9V2j}TO2Ox&Xtm!-q=9TSi%vg>~(>5W>atp%kW1#gi1{c@IV)cKixU5x(z82N^ zJn$-^?#a|a@@`4E`c>Mfp zJmJb0UgDvOL7()&lgzMjkTrJsTI1q&bL>9X4>R|iU<|mxp+3)8?cP6*ouY*4>MFQ< zs}n|U_{?VdH~8e@B3@Upox@L0X19U8d1LohDR9nJDQsPv^pmW4yW1k3?7y2o-znt4 z;2Pd_pn+9})$!+=53E1xfrNH;31>++mpM!tc*mc%($YMl%EZzm}u9@dC{6T*gqFS`1oQ zg04nskb4!0x|Ne~GRzd|0iDqC%4be3Q^t_115oQe1@$$d*x5A}{kQFb>Fi`2Nlk=m z#SX-KMqusAm3Vw}Dz3PVgnNS>o}KN7u`zv+xzQQ}b6wzPu^2t>ZNZJNDKKAr1Zy9b zAn9HOl6F;K==u`;u*pZATN;Lk$0Bp?Mwm4EpyyUcMAUW1*NM+r-{ctI>$-(K8pre9 z=f)gu^G*75w@kXTEk^QB^OR(<29iI25(k@=i?M1uMEfIC#WZybaa^u~SXzBom}g%i z#C%8+PW-n{m}uoD^!(LVXd9~}G_HD29wzt6$mTi~JgXDuTE@&0gzR|^$x$`*Pw=AO*EtORCrUZ8Db>*>|_TAFNhhPvsO z5g$8BQ4ezH%EL68KR=oNJcy^Fylu3=D}oX%f~cbVEIPN)m0Eo4$@ZZEZT{JvZs>HO zc_+J4!8r};+NMR>wpw)Ph6ZWg)S`_Ay{LSS1sTOlqnnQPMMV_=}vk3I#sG^{>6G4zU2yC`O{2gC3k4_{(JP{ z@gusi?iHzd{GxZM%7Svaz7SbsBb478C2aoWCp=#hDny$n2;a^Z2}h3K5x#mTiRfV| z+HamH?jIg0{y2~$mbKgv54b5yeSX?W@muCe{=Ny))9|y>m-1iIm_f#Der_Cpy%)|u zS7!6U@&?{D?l-Ucq=nl}mdLm~6gQ7~p~Lx^aJsY*zvPxwBJ)+Q|P-UuVB>zj=dEZ)lAk2CsE|BV)590EF`(eB? z77LDVM26~gD8#zpWUog~E7subq!@&)+KtQJd+<7L4>XmN@#aAq`n2W4eSQ_P z)f=#9YBPFXzk!!iF5zUzNvNh~f%UiHg!z1|c`8F^({8Z!dcr1?PqTqWDc2^Q=c&IQ za-X$wupgy~$PWGB7Ho%Uod|O^W#~I{0Ga}NpxL$qvV0r4zs3>%UXjLfb%*)%(;7}~ zdcoh-I%CIJZ3L-ex&77yDW%9gQ1S>cHa_xN!~lB^#|MyoZrXp#&2JrCoU_yc@M zr;OKkt>fvc^?d$86<^v@$lW^};rZPvdF+MfyrH!#{*AIgVb3AZPI85OSo=Qik#M44 zfBZhu6_z_&dAUUuyP4#0e&u0a>3Ee-9aBST84#Kf495d|aeHAgZg|w-`IfQ2wv3R$032Ive+}f*-t+!rt;m=mCI--V*DUJvXpMjrGLV=oXSXQtLMTiBp zGib(yQ0%!A0Oua<^Uux+*|Y5tyUG+EUVYGgj5+%CVDynqL!fdf9!`wM*Rfe}&@aNe z7iH*tr~=W|vzxYDwwWEl1qYu$k#SF4MmrRyQ@s#j&3#~lAkvb>Np~sRd6|b|V&dU1KyhxpF zwsobw-kNkHLyy|p-D{+iAzkQfLW?qN=*_+%R6W$2V%G;yTUt2HDvhQ56Z>gV>|vTX zsDz$;siYZ?&rzdXEiIR;r*AtOX!+h76kKzkHtv2&-@ARJITyas<|998+@#;c*?;Nk zoQ{G`4^^Szk&ZBOrK!-(iUi#|AmWZ~(Ha-m_wbHOD=UDRFeAYR=z zLoC;f5z{{%5e1bN@$Nr0>3YB*$-XH-8nJYb6s1}tEjaa8Dqh}~2lV&kM;Z~lYx_Zt zPio}Pmwt2i4_eR*w#0Rnp)g+IiSECr<3ZGX>|DPDBbF@3hU?4Gt9B{ERTkmP3V*1F z_+ZkbaR>}{#_>2Ocr15;)eCPt|2PNp<5%NLc?cF+heGNS1oOi);I23X^BVMVf50~m zi)iAGLmGMhuaA6Yf-Vlf6yaeu3rcrGvF7zoG}xu!ic&V-CLO}*&$%dBkby<|iIB^U zgyg>nPquksrNS79U#8&YmtZ8_+78T2fx)UQ9LPEduZV*vOUuQR$48NRxdN%zE?~yQ zYgl#h22|@CapBb&R4C^oeN6)D-mZm<{%90UH$e1=@2ufn&wDqO@|81{e5vXNKgj#a zOXjE{Hnleb6RohUWe{r035r$@NPpD_@5ia4Q|BlAAg7eSzD;Mh8Cl%=qMSD$yuvJVPVv@vF+8ss%M^Q-^%@@ABC=8G2oll6+Rozc zTt2Y%6o3778YyjsY5+7W-3S>smM*|4~<9gR-8aGrSzqFEiB0_rgK zbtT4LIs&)TiD>rQfMjV5HdORRtnh`^M_uRlTF*Hk3*9v!Ds&fe7WBj`NNE`v7-sjj&sD@h2yZabQyM7#9-j7eaKjv zhu)#bVc$@W$^$2nw5}A-t`_3q*Mo>POGe`570?03sRo@ zm|pI9Kue!Iq?_u`sjE{I`|^gg5?|0N-zPM8-9wrvyHBsC z-K9(Q&2;ixBOTJIrA6N=XlHa0om`wlx_eV;-Mo0x{v1X9=LS*CKOg#@Dbd|ueaU02 z7Nrz)r6V1>5nt9MWp_R5)Yp)zD=p|@Z;3VpdQo=Q06M=robK7jQr6^DnwxNlYGaO* zu1Xb|jHo65XALy}W4k|1eMlieuPG(*JEbMc2{o)BD9MzCq;eG@s!mmCY3(9-rfLXz zjrzi@SW{uX??6H0oU?G>d8+V8dzGN0w^iuTnkjThsTF*!z6pby^+e;xn!*=H*falCl4a|`1D-fJn9O! z*tc=aLT#MLw8ZR7LvS|F1B>E)5w&41rhQq2;dM)JAb%E(4MFRh9k8v~hvjD3h*+P8bMNyo@@6*9_S}chN~uU8b1Kpw+BEo+!O;+^l&Xp2?fi3bDV)c$LVb14zn|O%l2Acy`h!; zZpmStnKBwHl~GvR&X@8J?B#rw{UQq3$T@~<9(!=uOC7G!Zk48ueI~uVug*q(!`Lcj zEnobZ#ODSb<=zXbIJ)^9yDqEbm*NTD)N+EY-0Jy?(I?(DKof7e48YxsLoxl(Xw39< z#i?Na|9|nMZQaql`3uVmu5kLObDU@2$bqIm_*k(4T3(HTS5*k+hwepeUIC`vsleXB zr_uFc8QL=QP$4E^@}MxBshSAYJ{EAlDUZ_^n)uwe^ZaxDE1q1fhm_sJu=Ch#xTURw zg<)9xIopWV#mg``U@Be>ABn6^_IPI04;k*gkQAqn|Dp^Lnr(&UicYv(Hwy|iVF)-G zk1b0wG1U1el=hck>i+Wfd0GbD%g52wl8=GCvM^*%5+Zj;qvMq2Xv`c7JvR$%4^YNr z>)UMCJ-5Ag!`NKcg*Tkm{Xct) z3rqTnYyJKS59}`s=KBr_eqOP{zsz7^x$Q*ZtC>ttl{Xf03%d*5_bCf|3KWC^qJq$` zt+QbFvXfBY)=`j~C@<&?>L`S}D+rpcD#E&8b>Zt&4Wa)g4WaCwy0BAJ70$otEJUiv z34P}MqSR$y=vLD^ihTWo(u(fWYt?JCuJAmqDJ&t+mRvf$d>>gk?x3@cq4d3AJ}FqZ z)3!#Uy^fZIqP{flwh=XUFrw3e#&p@WKi%s;m{Q)3rINM`M6Mpk3VZ(&U!na=mf~NW=L92J7FwwC{IKKI&;3w-Oo~-U8s$Lx> z&N&k(o(M<~FTW@kXV$(JFI~}*UMCHgmc*@-Zabz+s*{=|?`fTRn70L6KAp^7Bcj>u zaUS=qxyD!i`^PrEI#3&Jh0~pe!p+MAzayvNY2IwyT)F_y?=OPmrvT`iEk?a-IIt;(^BXGQzi%Xji zplz;>(>G>3G+y`ty*D5!>~UP|YwH`jC0b7HqfMILkPsq}l| zAL;zzek}Fy;cT5K-qRP(ZxVbH4Mhk&pDd!dJ}S@Wd6};L~pq5|aF(xiT8g z9;ujl<1oBai{NEY0MmjDD16=pwKW^@aQUwrN}!8lf&EbUL57N# z-srz;HS*QB;de+1tjiB!X4x?mE-FRi%rZ1gD1mch5nSHpK|eAb!mk04o=?SL;dI(P)dI)Lvb%mx>9bx%T9l_~j4gX2C;iGDOBoZ~$n=E^U4J-=uy73dyz-&sh-K7V8A*RK63DzT zn+n5D(3v?kWcaYTopUcq-ryG*zU(X*>va`2X=@8>BlQKNnFhkxuSP=9=RU$t7Zc&* zhyKEtQfuL}{9s|!$zg)ShH*lHy00*%ZLu&vF;uWt-YF>W&J?z8IwNQ#z7*E`b`h@) zwi3Svdy4PdHi#}B`@{_Av!cTMui|c<-qOCP(NcMKm}IJuBfTGZQ@TD|nSU$Tu#59_ zzA|DfFYQ&pq;r!8`p9ACMO`Q_8i3iyhC=4&f&c2KVs|HhC_bGFyZrfhmbL%`*DplK zphbAze-UPHTYz};xp2KO3za+_F{gat)HDnITo>Z@i$I*e_aE9;hu~t$S|l1Rz;Tta z=<>xJ1IrcAbo3T~_CL?pa&PmP5=Fd=vcj9`-pH807Kb}-hxUhL$ZyC-tN9V^oL+!a z+Ycjic_!=@Ct`^CX0*w-d!GL!ybc}@OKC2w-b6srAO+WN72(;jvk3ZFj~#n1q3e-) z?9Q%3TXh{gf7D}=-euU?UBZZ;=h2cy-knbWJdi`QfR7x9vfZGYiFHi)wpIp zI`J=;`Rd_xe>?0{8-dm_V=-o)8x%SXLEnoODAUtK(AHn9d9j5TH(z6$>5uvJ_l}U) zGe)hwGwhU>qPlDgR*v6;bMXg|>a`#KQxcGF9EDRGmSU)$J1p1PV%cR4yqNQr4Z56T zH-i#hd-*Ca9jAz&Gc7UR(+w5IGZ9cd7oUP>V7tXwtZH<`gqU9NHdn!CS2+Ytl1H_l zDq@%DqvKy|JPUHg@5u}BNh1<_KPA9wWEOIA3*c3H9KTX{nSt#^;b;R%JJo^y;ib%u|q)xlhB2_?{}U{< zOqwOgWMhOcvn8Qho4t@Q+eWaQYa@uxwn9!Yay(gmGHF5LfCM?QV5%4EnI$K zCsZ$X6cVEy11eD7s)RWh_}q`3qK3&VbdFw`L9fh+In@iZ;@K|D(7(1G#$p zFiy6TN|I41Qg(!X_kF%s38k$FrO;BLG*lW&2-yhs8gosko9ztnJ(%xJ1|9D=U zSLe+c*L_`|&z-%ZygzZG*qet%RWpu>^mERNwuZNf%s;#mNzW2v0qyKnjFCNCHSX%IVrx)=t<)Pf~Vh-QmeT84&B_>=e)e&y1ISDP> zBLsXuCX_FGEX+3>NalGH$mrY(`t>G`tcRbVPu36Uwyy+C>r^pK(F8XhTSMq^fQ7dk zQV%S}W#<)evRH`^r&i+6OD{C^tcK@LZ=?3t2I8p@gsk4}h?ekyYJ>xBdl-W*%cE!fBYL~9i9&C;(%(MraCxVP9xn$pY~PA< zjToFvOvCche5ijeMOIfi#{WEqrq=~%dYXpogQB4|YYR4ZEds*k!oO${W}Mi8rsYXU zG(LuccjwT${1yg&ZpVgs?U@$$@7P+xaRrCoyFsPiZ*uYr}^QS4Mrf~0&P zRtL?&k>*j5a{5EJ#V*sr*JULCr;H>`&r?P56N=c{5B^Jr;_wR{JTNeWUZV(OAcCc~ z34UBx$BTvi5I4Dnb_5pFtcQo`OUzMPCVP>__P!z41+sV^JRG*9i}mV8(2q67(cNRQ z=RY;%rpe&(k8YBAR7)SX=a5mR7=0J1(c-Y_RJ1UZZtf|hiB{LC?)^KuI#vQt6Xg&U zCWpy3638$8K&Kb9P|VC@q~o-Ysy57`SZ`%o`ss_1V)vi$FieZs&$+aE#va<8oI+8K z#Wc^lnjV+eQSs$E`mKJ3`tP|x@@4PIam7FwT-QUxXF|@nS*WR*3pF)+Z2o46oL)`j zILRV>^c!0K=q`N@y-(x)KhwaC1K})bfcuiO(C?8iGVX++%P$JONl{o95sJ>g>tRr| z0LpCw-kOa?>3n54&ggU7VGpS1XCr+LZl=tjxAbQ5P?YOVfXuI1SmwPD&thEAm~D@Y zG*c)aQilGTzZ87yDgAMMN}ln(G)8hDQk``0xD}XCwgl;?cO&6*+jUQ1 zp-_dJBdbvS-wE8QD#sA-5*$p)NAdPP4h%ei==8ma{osu;bL_G7fiAQ=q_8l%m5O?D zX;tDbx;x8;;yw(erx8yCpS?$g$@c?=S?3_wYY!Gev%7ddhjQMk8^yJ>-S`4ELmqD_ z%P*-vVqOiktjjf*op_MQ#P>z80meJn+0Iq$?{QZqlAX(%Zp~nBo->#qpUM9AT^2sm z*;f6j>~rZ9wpVvD+c#(ub5)qcE^1CXhe0mNFy#tBtg4Ht4e}JHZI|! zZQG(nMo9@G3;8tB$5;8HRqLxnODA0x?Z46~dKvs(wC$b@8=O6qm9=Uy{Zs?C)NukU ze9TzXl}Rke%9bH&I*WVdzB2ANcc)_|p`CmrHix z_ShiU8}5L@T3;;icf_DoW(dAJ5Z4mBNoULjD%*3DxZZ!X`pjrVRL_D^oj;b^M8kY? z8WJDoWBRdUcw$|Fv!jpW(SJqoeUypAd*k6gau=@ny2C7YCSr!nftc-T6dj1fBF#K_ zi8r9@#x3|RdjN+&kMQ);eN;SbLs;hx6uiBR(@q!g4rgF-^CU{;3Sps^i~$;Z`aE<2 z^d62wPqhSwyWAiH(J|_IQ$RQGRMF;@t#mTrJ8e!-fS?_?#XeP1MnbhVQLG=$>g@BZQ!jY4DWd6v5F0}5a>v2^i8gZYj%TrG3n%Z6~+U=e1VU^IeWy*8dQaloV*E`~>o=Urs-^?W49a z8D!N~N-Ks`(}#Ptq-5AYdXkq3BfBZmN(#4rjexUYiKc7z5bK%;&x*OwshNTy8Aj-q zQpWmee`%n_W9m$3CsAw{-M;#Vie;3r?U4cY9kavMcW(FAVlLaP1ZPx%3>>E8QjK`Tx=Nvf)sSnSkYPj+ph+A9m-WaIGl~A%%s=FgT9) z!%t%D)RV~X>#ju_dZXsYG(3sY#f$_gtTAt; z>VvuT+?uqci`>3#MbD;2f7zA!TNLcy2lRJ+t<9psma@n@UJSxV7 zr&kT&j&Ghbp`nSDmmg#C*vZMs~y?gu?{SB*lhMYdOGv1v1PVaU`Nd@+1V*ZY?zu3 z8_(65QOywMX(-P|eiUN^U%eF-OludN!)Z~wPp)Y2?|4zXN2sVibC;;8E=aVjG)%-J z;zY9_r;5n%sHncZRbet3#N-cod^C3GDRE6t9~Y{iQv_V3+8<|O-< z-4|El?wbtx;P*4RLG~uDoppeJQ>fwvUOhZUXRx4CCK3wD)(Tnq2L;30v%)-suY&C= zHH!N?g}VJW)7N!}$nH=*dHX%54VrRzBWU82*aR5gwnOwHM}$6f!`Iy&c(c(166H&v zy=pOjS}%b|t0(sPdtp|dFPxh;VCFS{jBehH2WK{ePuhatO9N1&v=b)vyP-Qh2;xh2 z;NkYQ=z6dKUSgK$x-tYykG!POdKXEr;~JT&{G^HzS}^pT4jG$`m=GL=*4|V+P$OHWYy$}cP7~`&% zEQY+fP2%|_v_LnDE(I3RgbPjNv-1Vj?Ush~)!|qtJq}j|3+SkGeBCw?$1M#JJ4ywI z5B#J_kDDneK9?%Sr&G(UQX2gB2HB7PPU_hTs4*UauL)xzoo)w@^tc*Hkt7)?FX{v5-qBhG8`eyu#-subl6O3SNX@m2@^AI&*0ZKQ|#`a2%3Uy>)m&4Ag61eFEH=aN4MLw|39xlGgV{YT>>M=+9x}2h zDv-ygh9TJdSOt?(hT_mSIh5}BOK+{e6HAo9O1EK%`)LRvdlD{;v`4(P4dPA5d8T6QaZveBw*IIy?7+$gMS|OsB6)MQ-c&*{90+` zm0X&gvWsFvY$$uCGKp4n3&nGagqZugg!vyK%ugC5WdH2sf%D4vnYJi?qrj8%JG|bV;(YK||QbSWPzkw*kBG#)^F^uwhvdbJ^i9ZfyJPHLR&) zD{E*DVXOa(VyP1nnd^UPEZzJF`>R#NK2;uP+`EniNnU0$;~z3x{++2v4B%VLwYmB_ z&RuCSmp2RHIsG&F*7Z&NO7eGJu}(u!a-1fpTnH5O#IgmMq^rVuKQYpIp-p0)Gby-p zH*NCHBxlM zV|3K}SE9kX_F$atQrM?|LNA^Fj`0 z$K{Z{R|2jFKhn%4x9R$wV>D57A4%)aqOWzs>6fhprEF3lWqo71m*Ps}PVXUk`6Md6 zol6$1oLa}#kX!LtDloc53k=`VwrY9AtsV{abdHyPb8t-B70+imV~Oi@_{W)J!**4? z?-YaXw@0L?d7UKeZ&0-ULz;8-Bgv;rAlg*{lJ!Gy>eC<$8Y6=?@y~RA#Upax*G1FW zKl-q-kFO?~gK47CiwSmFl=x z&`Y0d8c1hE25EiD>Dz?MWMV1~#{t@)uh!VEz5*kwLvVgz5=N}d#i7nJ44F`cW7gFu zH>kuZ$uhLb7NO>3K1_}C;D=oF{LRMUW9j(5@&IzCgh6k+FHT2H$H(F^*tk#{RkPdZ zmtP*e&)rS-{^^KKWr$~H6Y2|mp8y$72$#E}{G*fLca zOXj7o#}2g&XQ8wEGrj7+qA&3;L{px(i7K6&MTay`ivkU+L}?o;MUH0GqKWEfL^lUr z7tQm2BKmCpTQuKn0Q~Q_Rs#PAL9fhb!wB!bM8J zqG@Va>iV5-NZq6h(bq`#;U@~crv`BsTU_0=4)fPU;%#v%yu%8RoL7#GCr+Z!sR|Jj zE6`we6la#EVaC>d7!v4>7fWm*gy=&hZ46Wm2@yTscsTq3_7)sR#j~quGwsBVw&y5Q zdJgZdM+nnz!P|%D5d5qX31xK8-IV_p*2j zjo(jUv-9cA{)=Q6@tz8d`(t+d2>2uz!EEhB>}CSO^sF#`&sh9S9*jTV-;#Q59qoT` znC_>gQA$h&DcN?=+2dkpu~35SV{I%eGk|-A3Eahuu#}HRyp$3uCjOyw3O7hoBAbrC z-9*-HBFYL?qw4N8!s}Pjg7LUIA!^}&!qZeEk}6n5HZ4iyKBAWHK6pr9Z~vsgGHKjR zlZT3zERrI{5ZC*HE*`r`x>s}P;@s_YZj*?N4-TSNaWYiftwyJAgHAQ9BJb_twB>9H zIko50=3~dne?uJ^i(e*l-7YE+1=7^s9A&zsq8@IW0g zBK&83q#u`W(QC8w3>xW6@TV~d9VZg7N;ra_>&p?GT!WI1S}bd* z#>KJ6p?&cvlr?iPWnVVzbF(3RAO}iMvmu{&823*nLMAsHx4YLNe#1<-sgA{rr7~!2 zYNtgz^XYGD5FI>iN4uA+5Q}{-gf2fOd^8LZ0`2XDXZgxPr|kF)o@V|OYci%+z+-U}TF?R{Oo4$c*=Y%kg-dJ|eCzVavl*jr-l(8b08g}yS znZDj_X1D6DvvSEhY+6?r`?>W4vs*0A{}d?j;x`(+KG}rF?w-oWOjyqUXod3hl63B! zR?jySz2fJ)1`9)dtOPHaRf4+1e&OocDj~43NBFl^k?`J}Mg}jX0}avi#qt>0w6^u_ z{eM(0KMW^-8zAb*Bup1`K*hsF$jJ1-kWKDbcGeXiwC7>py%~7eZjX}uSy=pa0Vs}+Y39-y_o(e6q`PWV2gGzN?z{-%kqQrrA6qwjfU0{aFhK< zM#}A^KI10&=zOBtzN#> zequD7QvC3Cq#brQj)I4s5-#zP7?5X!fgg6jq3tkI>g%A)TJdDt6C{N{!=|ZS@KS5T zKfNZzIiA3@Wk+!EXd;fR4a55Bet0-A+fkrP4LJ)tDMC7Jpq zSJBoXo#b~~0;|JR@a^hY%&ND5_G|%@;~4HPHo*y9bv(E!20gk)4U&0uuj(L;TbNI6 zXD<;u^O?e26p&Os0{#oeLBYcWm&Hx+wn`7RXH}u$Cym`d9@7rx3Mv>9LAS+c()Msw z3V8QVxL8WU>B5!5h|z}x+u#gInc97&9w$Y7Fc^!>+{svG;)H2$+_8IyJ6`OakBZL%uHV!~YTiYVEoMlmw8ZYO1PhBPcs~HhXfj65DrHQT_&^4# z_4LoYkk;AOP_e^v(sLSusF(>D{+|o9Lv~`sgYS9Q;09iOAdRbug87lX zOL*};@UYioc%!N^|8z-~H#`^Pjjw;OGa&)#QnYh{f-*IA*%WtMQH znQ3ikVjuGxS$beSTV7esRAb9o?cqY!5uC*&DpFXu%YNqN9LeGrhp-z`0qpy;RqUdg zGrO#4!Vn07x|HaAt0g%?P%wMB9)b(tblTs@45kJ4o6&}Z_76Iszm zd)DBzm>pBz$OiO=GRrgj*%;|eHq*9*v3oVFf|^(yzrnOs?y{DY$ISojOBUk(mEDgJ z=U&g`x$EX(oXykW+e;_#tP%Fy`kn_L@-2{WZA{?b?Miv`hg_VzJ2XT( z;gp9vJWH3t?T|YjWjf>N{#p2|Xp8RMlVNz@29LkZMqSNftdm@e&wc)PEI0(6Z^KZ# zC<5OWM8JJjIO;C;`Tv9vT>c!0i!;_k^0gcCPEAJLL~XnnCIQ=|hm>I6Mzfkf(;G=u z1aw+s$pK&VlZwQYwp4f+6=KfS<5=Wdjr-?oAQyHLF+rv1Uz3HkVR6`#wi(B}?U6V@ z3;!iaVSkte`t|j|fsJ$VOgkKJtP0@%<{a)v-hsAM7i^RtW5mREcu%^36T2%g=2j+7 zo{PopH@om$V;S80*`YFE47&bGL%gwttnXyfW!E5jXTP3$?Zas2=Uno=aE_i`9ETi9({;q{5k6(tcaEsyF!^4POP z5}`U@D0EaiNhu$v%~v9+%*TOTbF?ULnj*!E1IY4Mk2n8vfSh7vr-0~4k{+4 z#iz)1=~YUVc}_ojq;P)c2qfLI#LdFlxOiy^qCPK2Yoa^On$JN@m<7(Os6v?chum6P zNHhB+Ntfo5MokLE9Em2yrd>4i&}teYvz)$$@1(g-*_1W=5fxhxL-q5?@O$lr7yp8A zj)&vQx4lqt4TMb6YDDKd!NF=84!cajg&Q^)vvMlxX4t~TO@!y=I*`hdgZ<9O)E$48 zwjVx6Q8hheXEhL6%T2($=3`p>RvdpGi%EyFadb@uo{G*OU#=Nca{&@r4Nz*Sz_R*0 zY(*Nrj7!Gi;RkU>GaXfDvmv%Q7v`U{5u0)d_Y9+PGiD3Q!{g;Itc)>9CWsxFtX&=bk4=b_k@fxf)N{?+?X2CAqw__iMEo38puVYdv zA#6%UJexK>gK5~6u=OUjEH(Eci|}k?)@!=hXv4Q`=FVQGW+}nLLi_Wr`;_??A8r0e z*Mx^32bY}Vz`tEv!5eM`@|^Fn{J^|i-mBiobL(F4GfNbNhNZ?rle?=>7ZWDz*;ODk zAG;;|9^a29){deR!87SZzg?7=c9;gIHPYafuj#^!{&@6L8?sGSSn+lS?&L2-s>d?S z8@U3xf85a!=7iSfY3MjFAYi!_E-EmjT(d=+*8&8(uf})t?NHDU#gWDcn7)cc;_xUO z?b!$2W8t{z9f~1*H)P~Cp!VfrxRy>q{YD+wI>YY zJ7XeYt(AroX@$^mt-v158f-as3eNRan59;Rz^gfsGfqI0#!j3mp9@c29i&|sho|y$ zdY<=>wpxwB$`lXGl#0hU*JJqZ(+nkQ$Iq4buwq6lBK|aC@yX-Z`#v4_J@?^p?s^2P zJEHfe6*MJB;2FdbVSAP2SESPK(DkJ0=0bT=zLeLLK%VKU7+M?P>9wI4So@il?P(y(q3LwzSrT1MD5mWnZ_^^9|7c#I5*!|nLi`m& ztT<|lx?Usn#^}KN-%u#u5W|w7HtHxXpu4TRXlJTG3ZC**IscZ>Em11mp7n#9ejFxD zb)G3$Dnttz`_2ky6C}vw$9Q`3&4+##9;87l>L`BGBYJT6C;6mGBfUW$*9OSp(^YX) z3vWoh>k36K&!a|bkJ0@U!>AC1SYQy5LRo8fjSG(xnw1hA9!KLP~S~_;CxFK6j+jfXU?jU>1eA1XIDvlT_F7hZ0_oMV|NqEV#K7x;tW^)t-dV zv&s1LGamAVVHkK}GeY()MS7+auFaW?m`QW++i(_?CfZ`pOLJ`9qk)mDB@pEKgf5)E zL$0&m(D6e9u-MK3Mz3c>^YKO`o{2{EoGd)MT!9e1bEr|hhQk+bpepb(-p{Is-N;hJ z<1h?|C%|H7EX($!1mJ%;Pk@;cT5#9U}z^* z+mz7My%4peO0YAC5>%f$35_dtg!LQ6g@M&A+*qTC?Ip8o0ut;F94u-RWOWW8f zl@-kU{v0;0fU`M!3|Yvy(d>M%7VBQC!(7dbnfw4^3p^cIZ1O5*{WXZqHH~Ad#4^~_ zUnR`=ULCu-=L+lo*TG76zv%P4@2q@)1n*zgpZoYIbCobH{&J)dKVi(dZq^JwDAbK} z=XJbVE0|Xm#PJO*oA0Wv;p?3`_-9jb;ctnC;QwioAQ9;+Tx1DC+r*QCx7HIu&ujn{ z|1hRiYZg(!`*3RMUq~_j*GX;l54vD71l1Db@T&-T<2esO4jveF-wS`fcwu>-2fpo| z57SFiu>Jc4tlDJ+ttlorxSQeFgIUPkv<&6bw<6Fm6m|U~F;qGRD-vTMV;hYriTg0M zY%dbQ0CRSw@4NOeXD}v*^D*##-J0NkF#0Q9!Mm+NtH9I8LolfkVSM zxS3nQzL%iBQ9yS7c$7UH0jr%7$cep4_kDBe-0uWh7?4S?%g&L1RNp(#R=|J9N5V8i zA8Ns-i2Y)MPp8IWoq;;)Hp@cK@EKKqsV2wv7_yOaqG=K8^mfZr!Jwx|_E>+p(9rarzRX0b}hIoxCRU%rQ^2L@?Q{@#vY;GpUw2%>jh1U5X0_hSw#2B zV@j?J($D^-ZAZK5g7#U8yncuv=0kP+Cs4_5HHz!dpiW0KO0S$tk>=~Dq<^A~dO&2#uh?P+}3`YC++Kk!kmoXc;r*b~+xy3HoYoM$ESmF!t_9_!ef!eqUo z*|QycSosq_W~1rJ_WC<9)7;ridCDxt3LMx_IXAX`w-4+0Du`uf#IglEgLVEs##+tJ zvYne-Sm5z)mZkfZd5)6cCoc`)^^;WikFrtxtiB1?EfRR)@R@x6@6AOs%v(NWWSu|~|4xwYllx@TPXexwRiSdLZ{O{vV(J!GP{c~CyzPS*R^G@d@I+y; z1Mb!k^v)aNVD~6o3>l4h4HG2j*`UtJ4J$@(!uXgFB;`gT=U^;07sp|oZ!9v_MB!F% z7}^KzfoaJ`sGM|1oW@kV2-io);6aeP^OL%6z9+At5|FMMi9cPoI8(3=dAd>XFiyvl zV@F}FV*EQU_NJUhbj zRKWL*B`!&h!QfR2i1O&B;w|O$-YAjsM}7K9Y#@wl`B2fkEUF+GIG4vLT+Ee3Fz;#nN)|MKspXh~CW}LEK;rEgeYI9qURl#r`zDHiEoIrqGv7 zN2z*S1L@qjM~+Q@X|%mE2FDwtx^f!Meq4-$CEj>5e;w>zctLXJ0-V$n@Oz~u{{N57 z6x(Q^ZV`FMhLdC7A{sr@hVpzC(baj06ndqV{z?x)LI|K2?t`|(NNlc2!#v*tctn*T zrl$yztB#;XF$H&aMPcHMAiSNq9(NCT!Tg~o`gJWrP_6?kTqfiE76Z6lABOUCve>&? z8eF1re>hlDjJnth_{|d(Yoq*Sn zG_11?$BZ}Ip_HO*uY<^)dePe2koZ5Q@7(p*`CZ6*d#GJy8i6 z&Iy`cxR2~x=aXH5HZ_;`3bXp175=?S6#nI}7V4BH3SGyB3fDD$@CABp{6~8o z-!r?2U$05$w>|dr?uc-nIA<4s*twn`eeK2nyz}6WXBP3H9~SVb}R56+v59<$xjmJ zVJimk?=yz;WEEY0vcrrAZ?opf7aaJ#?Vfzfs`b2SY7oDb8^Jf%?B_`q>3qG`QJ#7I z6n}O9CJ!6^j;Gz16KY?K62$*b5te282(y;O33=gVg1bbApc5@c@~3slUTO}-o!?E; zKM&JG??!5AeMJ>Y{n0sl6b?Fx@Fji@tj#^Kc8M=~-8bN!+&UPVE<^Uzx!B%45tsVh zP3f8n#KcuF^U^5Dc~68uY!)WG=Iaing@N3s7wTzb0~|D0Fh_I5kWI5!SYwhY4-T?JfK z-w2zp3`2v=cVa#?yyqAuMjgcGstflz)Q)qgQZheh8<|W+X}%b(p9S~{Cw z{xyYPUOthhI2iNU&vp29Sq+}CL5W|uDbL?N7v~%2e`0)pC#&pA;0t3^XShjT)tV4tFQZW+4-^JmSO#-$g?1#zvSWI%;hxYVfH0|}rw;i6?=QbUG zl1%Y>vnup{$|8Q1BnC+`!T0lVXif^c_l9GQ=32x?%tcSH2$eUD@J2x&(XEDPn`42J#kPnY>jwH9fHPgu zhzm%=kMvwvMCU@>7cvceECvS#S{X^JmP#=-BjI#MRfp(pGG zosp@daEJY5)4Pa{oYJP#E8hw?P817vX99!+suP8cKEs6b%Y3-br+r-iV+B{<`Gp5K zj}=LH*HRTMn-^ z#PR0A3#!|2fh=Zcl5fdY`jTctLoD=3X6-m~7&(!`Cd{Uem=!en@Gi2u6id6>v#I~3 zQ}l992iaWzM^D0sL1U~b)U&3;E5-wnhu7ixe1EJ@@Po%|PlSZdz`#NijJlzOoi<-+ z7%tG48=16YQ#k$f2%-G^LnL$l3Vk>vi+k2)NRxI)Rc{FF$0uX3axUaHm7wbEF?7r- zM&OJic$Sxf#~CqrGa(dLhwnh6`X-F)U5hM*)i9jo4yCPg@x`B@y44Vk8QPGm(}K{Y zk3F?Ok@6zUp11?S2jh_wp9i^;I_#a<0u`AaocQ_?*Db!m=J0tX&sVUT4sEVF&lA~pqY_0{pj z`3rUFou(Zt;%Ttk61wN5Pyg9SQc}cCp{XTTh^h}2CT&T<0D0({G;VAzIEp&-u-VC z@89FbTMy3VKay>Dn=p|Z;kHu}az_DAI$ zOSyH9y;^XYDQ<6LBS$`Elas%)Hdjgh^t>W}mZ`zTe(3Y!^NgSWFq7*zx$`Sk8~EC1 z!CY@-43F|U$RirExw>l!?>SPLQ5kLQikg(Iyk?JUiCE4B<>A0^jvz!K4nyx76Tr>2bV#l@HDH zDR_|;f!v4<2tMM1l(W;YNy!E;ZKk31@?2!byCTHS6W6O&BkG|)6yF3xv^yI6EE6GH zlZ@`-{Wy^w3cVxCuyem9-ZLJ@i3+M1rSlFpehf17DHYbuU-zy=NA2&!b=p8*t?}rh0aEfG75AaJ|?c_h)RuG0g!faJSGMi!ngl;SlCTM zbItOT%)tO2}(9;cePwR4H9R;?f$NewT+edJ&m-T`};%wpLBy*wQv8GT}Ggzpw zkr8y~{Nn}tKXUo2Px&j0yWGC^3O`!bzz@fs;Ae}E@+E_^d04<99kWAfAQtj|AM$edlaAcHkmh1&f%w? zlycSIr}&e{&0J$pJI|l^jGG$u@*V4CgaR{VLHoC^usDVZMF=6>a z=(1+vuHpwlWz%5FvNogRGu^1ICybWN$s=2t%hYu76TNg-gc;X^g7+kxjdF(nUvJoa z-i~uKgYiH+1g|P~;gI{uaz*cHGHf)&<7Sl;?pZEH>(34FGY$g!^6Ql!3YWqVjQ0w`N7=o2eIy(WNfC&68w%_5 zn{i>|0<5byLS%?Eyc2KI;F@A88kIqpo~6=>fF!#AFN`{Wc#^Ki1TrBl(vq^GjpMe{ zt<+Nb68@Crs`?{u(kOIPm_w!SJdE$LhUabpGc}CyezOXM#P8(0qJg%4O`^!ONIGqh zNsq^0q0WjwRHLU1!E6kq9ZkVkm}A;u6R2(P^T3D7NHgvS$)*n4G`WQ@C9xZm_+rP+eD38O?k@GHFN?#4flc#- zy6QNA<(wBZmq^lvx#KBRat*oHCX%gOHBFe-K@*35qdQCrb}Iex&AUH-zLCP#jBk`J zdxsuM9j8f|(bP}EgLcdjNYiyZ-Tr1t9*wr->gP;L;(f_iVlQd6_c>f=1zj25Mz#un zXihm-3qC_cYP! z#lB~mf^k~>jO-8g#8n*9G#o$v(s2>;$r2~7h zam!95H*LhDnsvC?ybie!{NQwG9meIa#E<{U{z__)4(Jl+W1Qyu@K=)A*v`rk0#)U?x52&qJahCb*0+@A(TL}?)_BO{|h zsV_=XduW$-k)kb%jHDE0MnsX4y+TI(`u%^dbDirs&-=b#uYb;gYUg{b_&baz--P%* zZi4*D4qvhA`a^8HT#2!lqtUV71&g=Xp-RXVo6@7vWKfLDcdz2>v)eeTdLJ=iw~!-t z3E^Xl@kt>8x9Sg|+iEHFR!@g+&|gv>yhf6Tk||}=4&raor@rZ9>6c|c^V7V@8qzaa zcXTK#c<0Kle70r+PK-^vK8MZuF^zq>Ajc*Tk7X|R#o6mhK~`{okaJh-=j`7-rq9jn~TZGX9v8+Y4`8%{Lfh8JjZ zwGAp9+os5M2TkH6GA42@GbVB6TNOF0-7`4Ju{xa35T84IVI^15xs6l4dYD_iKY~;G zl*}DFozMB6DChqCsOLU(+~m>|pKzbk-*PH0!`z`O;_R%Y3_EjLh54`7WhsMZ?2Yjn z2G{*;aaaWVSe?xRPS-Iv<7e!-l_*`!P@z}r7t!0N?nLqlv>~91%;r5N_w_;;N*eK( z-?|uZw}g0-GlU!WBW}dkoMc0BJ}?vkOGo&7?LN#LwHhJ|3~^w)42*q0)2gSB==z_2 z`m{?5*H!1j`?WQ$eR0EW;b8Q5N5Si99LA=^M|r z;n)7zh_aXp{WfLXf;!%>2V|D6!zDw1>IM9EhU)e;@Eo@Z70O=Ndp8t58pqImEfr*yhT6(ROp1%f-kMM( zW(Hs#?+}jmd0?!cGb9JiVY^ZlTSn$lbi0KNGfvRQ;&hTxI8N@1GfDVrB3<}-gtnEf zq}3xG*xIK{PWhYZ_><$bbKO0P$`(Ohr4q`&X`|&kgK3Bbk-g$O2Q zw3B6F7A=?^M&<#>=&bU2T2l0uuI?U#iLX>Z?pk;`l68-Ibum6b1C`E`@xE0Y5>l_o z$h?k}&EskP^L3;&L6yc#_{t{Ml{0~7{!C!M5fd~S#Tp*Ba94^?aZbr%oKo#n?o!e+ zZtR&5uE(W{a~SoVo9?2)mOk6glm|1J>hXunhBuxn=9y5B`+xK?J(GUaUZ&IiJ><~; zo5X#@&@?24fo4gVRtTeh!3Pp6xk;O1Pf*F~V45Voiu~^~64x=H6ON3=RW2q~-_^wW z+(=C;jGUKelXZPPRSv(T=j$XOGhqh)))HEZ9H8}VCk%_c(P;7Ch;#3UQ?m=Se%e6z zsuBKnOhc!R1kO1OP)gQyvKU)I7Kh8I^+hA;M0_UKr?Mz-Ux1WPtHIaxf|^+{j>U(A zdl8PAeIck;@`sC#I}BcJLFvZz*tuanlxQ>LFYG|dvOS15+Jn1++i_{>dQ3`O3Ew44 zu)TE=y1JG?KiD3+ueYIB!yj*LV{kSo2h)z8#h(MWa3$a+3f>PvzD}5ba`z~H|3YDY zm-AQj)ZWLgoKj3@QLx$KhNE(OFsO1AL8f^Ke_jv6fA?TFts8d9-PrzL2i|lxqEx*M z$=%7gzWOjU!dKvNwkqyF7lifd8&tg|ot#?SNWF7praxtAip&p|DA&#$wwALK7t)y2 zpQG$g>3(LcxPdL#vtlKRd^WptJ`>zMo6UZu!X76ou=pwC*^)!zY}x&PoaN?^+$-fC z&QkL(SGKW{)7^NU+uL}WTW^)iJ%5|T9c_)^-qI0ntkqs_R{MI6E41N?j2CnJ+Dy4M zmL}YcSTpX{{v}*u*Gf*KY6G|9(_U^z-4X8Us3`8~sZ`F!^#o@ieU{7G)X4FiA8<{| z{oIaQKe+0(qO3f1EL+~B$n3_cv7Q1wHnY`?HNLWAbF#Lxw6}h2NI9CBG-oljC1;ts z^*#2xe~8Vgl%dcw^Qp384ej&^rp`0D#Mf`6o1fm%yCP|L=Fdb#JVDvk0VfadMsKY@ z?$J@~-yMl5VUf@kJ&L<)58+L%^GJS-Fmv)`7{vUd({-J+Y(qEgxg~-bsjA4nv;-23 zJFzn)0JkzCpp+L2$@v~RXcR?ZMr(BPYpYK z=3#G|1q?22!JZLU^RqaH$!Bvgf68fi{H(%jmGhW#{5%r(pT&pDQn>gRz;0&>F5C!% zrQ`vW=5E2lH5(u`xO0RL18{uRv5{=e!<1jA5w21W1CJ7vwC5mkdjh;{LUG&t0D}6q zAa>XqQI{5!0%P0~dI>>1ztp$)<3XGQzu+YRH>C2B*bd(Cy$7GH#Ec zjWQARY;h4Sl6*|7K8~>5RV8G%YvSkn`3OjzkDo$wv1j`Tut;wfd(->rURqisj~KZA;{^T>UpF{y7~N?Oa;lHMLK zN-B<~oo9rejSb|1&=|6c-Y%w{AeR2m8^V9=EnwuaHxD3tN zdXQ^S!rv{Upt7=$wy(cVT|cWRA?_@l{d|iAeh$&YP4ZayS07fD)~L9%1*eDiBH7Iy z(poz)EVB;ck;`%Ouo)`K_@G$}(RY9ONOw9Rnzs$M{kw78eGi^n?Lbi7MtG~OLX(Is zJPK^lbaf3fzHdWrsV~yq!mu(h1;vf0u=Cp`+!*RW>bdtY%@yDeD~s{dtHk+Zj79kV z(qECBdk>w3C5gZY2quZad$Vu6kbSliL?4SxAJ2#5PhWE1=-y6)~Wd(ba zmCc6Sl$G@u7 z`oMzTt@I#Ki(^!oUqKqq52-#&056*4us>P{65}l)F>5oPZ}CNjVklBQqjAYK9*xW6 zQIj2o{}2RmnccX$d?~IUR>R#X;`qAlH7WM>QN=-F1k6@J_MjQkA8x_CB0sF&5Qexf?==GZaQ2#2od!t~-ieDWH}%LE$~b?k!3 z!(iM|N`!7kF7(V!V{=3m9xpqGT@mLHWLu4)(lgM%mXD_KDbRcp2K5&Q@JrqW`))bI z>eycF_!NR>fpk2dKGJ!y_4v}$2(`-%Xc~1M;*KZLVL0Lp?Ew%B-wJ~_OK{Rl2dUn2 zDAE5%nYj-~)T5rBM4u&VhgxzNyhMilixe((nw(SPs4aOrnJX-!;m+mcwj!8#3#;kM zws&-;b{xD+)zBxp06KR}aN~j*)aMdb4$npCJ6Y`bJ4oxqE>N^@JQZ#Yp`8cQ>6uqE zz04k_zt?1OVWT?g*Udv)tsb8K(T3F55kI~pgZeiDI9}92%f1&=x3={HkYm4>dK@WG+6zQZ`{7sXSqM`qPPf4Pi|}EHQp-OUfy{3v7DF&$GMApaiN>? zxOX4AIPHUSOm~_!dny{ucH3TN4r>Id)^QG*mN-*WPYmU)EvI`ycgcf3k>E99d>)X5 zR-!aknu?=s`X92I@{C;TYU%ffWNKXMP14s^l194;6~}{KOfsV(2P^W4+dzBT4v|n@ zBF$2-CXoeCY1yGskWf&;Km@~*r4E>R)D`0|`oM+fhoR8_&>XlIGv}ptvhlbYifTM9c^2TkixEI%pzUn2(xTOFaF)3~dVLD9&8~ zkJ%b9PEy7hp~;ZenE~??^KmoS0zE=&pnG{6LL~O0`oaId59kWBh^>$g+X$~^8xX9p z8KZx@;>-~rY-tWgyHgxmzh&X(%W{Z4xsFF^PtpGDE9RRE^EKrq_&QG{_?rqv_|5KL z(Js<~AfI!PY0twNzfAZV6ruS?J?dvY!oaQf__*pfq?-StO=AfAJ`UjbihC$)JP(c2 znTQq-!rXcXT-~4vHqu`~^7p8HcLCMP22w_kEzLZkO%HM>(S$-FGKn2viPd-5i}ZTt zEpvvwi_c<8z47eIyHFM;cZj73>}K!!*R%EGS2DGii`crqM$Fn&i`n0p&IVfKSeXB4 zrZ8579UuD6o!b10>zvfdMci)XV!|(Rd!nnj75^1;ozn`qG~-;Z(<+a9y!a$n(^ST7 zn00|$)Nq6I(d^`6)ZTEc?9YfFinFFo6Ir_XRCap$9M!+f*#tSp<{_LbSG*N|Nu; zqgl78^ZgwX3w%h6#2(Oll}1WSKS`~VLg`TD8fv$*roK>LTFFk5!>VUg=_`qXozoHX zLJ!Vq#yDTH5SjlOV?)z?6#Slo_+DWIdEBD?lE+DMTnK$GjHS++8u}LfjzosXB3gMS zB=dEUZK{tiZu9U;NCUC5inu#f4CC5+Y4GYfI&dzQgc8=$s2Qph+ds%=Y^h>KR|46t zW-!TN3FgFW;W~PgxvvLzbF-dUazinvdEI{+czu#zc%z+_IH8(loPJdZclK;0cT#_l z+nJ@t{-kVWX9v?+i`iYa`m!|bw&juC3wOFukV4WLwbXy&F})o9gWk^{g)g$wa9AV_ ztM#MMn*5E%4nH6~uAmQE@uV=pgAR(=($VsT)W6JxSD;Up!%d`!J@j_ebbsAM6~-FzdgLIC$Cw$C77b->-=< zP#>n0)(-m9e2%IrPm=qVVp@Cg3a$IsPaa|t@U&OLl=&LiIC(DqgsLHzQ^dMd2_&Qp z(eU^$6xS(){Y&LQ$vQZsvIJW+*Wul*o!DFGj>;+zWNNsf;_)tA-t3Cin|8z5%oCpH z4#J^62s6J&VqA1GzRWLxzU^6P6tv(|R}U`5f5+y9BK&a$68tD(NxsPq5x(S(Z@A>x z1>swbSje4+YFRDjir&D$%V&rV{)WZT!u<83;`}oQ#Q51$h4@9upTRTkL}&3u+)~TI zgWO4NtIT$5CEH(Hz%r6jnc_e+>-7z03q^d{LdTu#+cqcGIk1ck-2#&}(Pf>XGnrw( zJaY;i!_In&vM*Y{x$kG*b1xiUaAw;(x$kcGxFqd6+?ZweI9K_{+|_-3+^*h1uH%_7 zOQ{;eVrvzdf14V6`b?j#c(IVpX}4pilD4ve>E4W29K^PZk91*1GJCu=hgtg+vxxC$ zSxMd%<}}#G(lxr-n~txH?=MEpM-@olS(iR|S<|gK2WZsO1d0@@q-FITbnnMMN>z}< zBfbu1owY=Dz*fZV@k3Q;1fK3ngj8k*)@;m%)Z}cebV~<+O+56L1tYR_CybI8!(g2T zQko}V!dVF{5gUgIhiAYc57=w$1ckJHFqjyG>Y#AUI~j$e6CHwLxFq@^p#-vWd)LMR--Vp z8ajI`Fn4(g0MH<~)}IE8+_O?}!TFd6a4PaAb%(+|uUUWjqx zX4rae0j8PG!oru*SkT-}9%ZNK)~s-vQyNC|9-XA;_D^VHggDAXr((k_Ei6>m$Dj3j z5I#N!s=`x|_eUD@4u7KFO^xK@kU`SkZuDDEpZ*Gok=mmsW_Kf=sb<-;G1ZDJz3Dk; zf8_+{r*N2?KFOR@{;tLy(N5!i98=7@F5kwh`7XpI1*g z7C~A42fAt8Mj8`KsN`uBZP46HHFNApagqgPzBi?FNsH*?L>toR+Ci~$;UukAM5l)D z(9LW?G^;D)eufb?_}ZaY+7+h`}F}S7m znF`k5pr`XsQQJT&tyy-Q_NY}++v|sP_U|x-d>;)3jY-h{Jppet#Bna`6V;EuPdC5Z zpsiD$&?8O=;a19Udb$8MudLBvxfv6z_F~M&{g@@@jn5%ous8O?t*_oNTy+o%IY$sb zH3VC7Baj>skLSnJ@$ljaTnw$j;Jp?YI`p71>Kp#V3-iOf#QD`O68zH7B7B|YKXH9g zKSUxPqVn=x)b(}3IqMB%^Zr34P=X&QHjXbRFo7Q`HI`o$BgVfuFa&CTiXPp|n7l0) z-&hFB|E-3~GcAZ7lfv_~ZjxD3O@}0sXu-O}v|#Ky8uVO9^J;V{rgb{;&19)@jubum zAwY-gKQNQRE;jL6D^p)|fvK6DVfN)Y?A6*N_TqO0TVWQ!w)}KwLTVe?mboif+j>6Z zPuFF)@6KdriWJ%Ra}(IiAJXiZodk2eE5`J~#F=cK6mwZPo^A3{V8v5rGV4*gtm74* zHThUG7tc*>R?L3p(HO)8C&sV^ajER!%zTzubA~N3InOFu8<_jSHYStP$;z+vvG$s; zEPs;_@mG$f(#FZOVT?A($){%@uF=faH`JjZg&>O=sM<#ORJ96f zn)~qFJQS@)$FOP6aa>=Uk28uV@%ixyh%C=TmrokHA4EaB?I8S4I>D}*VWO}qPJNJv zd9Wh(9#ltR0gzVXi068Haa!XDL|%uYq&xyD8IiCZ2*=ysA&77}g6PKm2+!J%TGMs- z5p9ok(`=C-?TEH4XH3=hfL(MTEXT&cc5NDNIpt%HaS8Uvl|x`k75bi4V#TvE%+)A{ z8@$eO0R~U@@BHplpRr@~7wAe3 zptAHnE)Ug0JuVZ8qXY40g9GaS=pgEhEKXOCLb&)p>Z};1x>P~r3Wz|#MF{hg2B{&o zgTj1D>A=G_Z z$SV0mA1~h_UoWDk^JM6bQy1G+o69<9?qO}e=dg{V{&3Z6YPkbSk(}&f zJ8qVnDz{Wfnp-Lt%A2|>k(bFU=gn{L;vLf%!{rnkaoy>j+yc)W?%I`3F7UbxE7-r3 zostY^0!8Op@8A!Xpg)srogGN7crL;ygAMSC@x&Em6#AW*>{X$$s2Gh-7pgRRhY$pG7&r=s$;7=j)>r`En2 zvVNINrix)SO+J?L3s2F!jCPu*@Rep4isGCaASP!J)gKU}!7Izd1CDZ(%9Uk6b0nuh#sBUd^w#zVRK_ z=Y7Cst6#{QIf}oqWh}ojUXCxCHJN{SNRgivJc(cTP>TPddl*Nhd+@n6&kNawjcF|AOf(BA3uHh0JQ!QHkv*Me&C-WV z+0>;*tjBRaqba(~#dRKA``v&E{0G)>eKEUJWzQZ>-^!l8@?w*>1v6cXSk~O1&dSH1 zWNYK9*f^al?DK_NtbP1rc3GjHE$aNt)V+pTVzvkgzLX@2}j5y7(i2-UX*pY;H9jEOYy9VJi07&5aA{Np_Gsa45Fa^Jc6jxE z2U_e7V)g7`v}A=r*pa~P8rz{g2IDV@(DXmTTPD= z>pDgu*>&Wn|C!>mCqT4m7OXnwp(MxvHLmkeP@)FODmfHriePH{Q)&&Uq=52B8l&n+ z?*>)q&C}0JGq95Vo*cxgYK@tRi!{6avW+Vno6dFA?c^2)&Epm)NpUhSKJfM@Z{zJ= za)cMNCza=}c7Yc;;{$KLt0Lz;!;&lf62x7REawgvedN@OX0Q*P>zT7d60@6jgSi%n z(lT)!GQ}3+`^1vN=5pG!>MpIf`9vqii@@7M3a;}<@w`%akj$n{w%2 z|4}+|aW}<0bf8g(m(Y#VW;A=e1sN<^MYs1JB;hsbG?3aroaZ-+9C2{f{dy?Ov&N6k z?YLX*i?xdau=`N}bTbcQ{slLz`Lhmz7K?H9pAPPK$m7N=0i;E=ljX-eQeP2FiBG+0 z&C77|3NN8ak`HL|t|6McRt$w6lHmJ}!kPttsqpMq(pUOH7VV-i?2tv=Dos2vHO7n8 zws_4pBi&{%y03a8#rqH@z41rM)IeNp3&t1WFjRO(BC{+8U)|%e_+A3?4<|#UbcD0M zjI%B;0Qf!9n9?+ zk7qZ(kjTuCIywxc97@E<+5+(G3d-0vxEN#+`ivR-JB{n+VLUp|Qr zzLFq|)5EOA=ryyC=wL#}8dK{ki7v+fOFopV?XVOngO%gVpM^o4E=y&QuGIL!?KV!Di>VJM@(-B9iGm2=l-*p-_ z{|$M_NW$x@3Odag+SaUsgZ+Ly8Xbm^sw6CVmkaMdC8(QM1-~yfXlbee{a1GK6#{}NH!M6%|YK!suPZ9-eY_75G)t|#At($n6aP>rsEngarO!9{1JibliQ)GG2(5fG?6}g z3f2fIz&=VI8}G0W%P{Fqen5ZUpCp0iU|RXpjgrGdsZPC=T6A8LT5)SUsq3(ZrW%C3Ihqz>I*`l>Mfjc%zd^qiH+!8|u(ERT0t}-^fHC z$1&+A_H0-}iS1a|$F;02=FSxy;YQai@T5jBuI4)rRRqkK0Fe`MP&rbGxu=MU+cH-J2=H@h(=HKQ> zV9lFOpyO`#Mm zy@yh=9cl5=CG^3~j8-NrCfKbf!J9#}*rt%yDc+;tT_TWqs{)HcKDcjdaK_9X@#K$V zrGe1u3BW(kgHV&+4aE(sp)X{Hr=Mm+EM+|WZ+#$_{5m=q8cRpJ_E1-{8%?N=r_6sB zsP^w`+L$JW$1xKj79bCG$m0l;#TQdqJUpw2uy-?1c1{QDH}Uat;d01KT8k;ax1sWc zJLYZn!LA`c2+t3MUrh)?v%*n-A{zBe>g7UYTNinW^IZ_B|5(c~eL8wK6C2w~bNaJDr-zPjJ=b zzs=U-r!AVxuU1gwi$yE(PbG}upStr0+}X!?X?Y%vacPi$;)l{ncDQ##7q{=qAz-Hn z-fVhH0$TUUM(PTMSC-K)pImDGmq@yQ!^v~*5lRVkqr!m=WT#|JmCuan%#?Z5^l1jI z_mib@za*$*+%U5V8espe>tKZ`*V!Ar^X#$t8FopikX<>S&BiolGLKE!%qzZtIY^&j z|E$h4?YiqMyzT)z(cZ_7rF~}#ABD-VMw({FPol4`Q|Owu8clD~raJir)FEk1^e`cJwG#=JZ=$Cx@J0c(_6alH$qmXt9 zhHS|Z)QvraQ87MP``QPNhYzFrP$15ZxDu>{56N>8pk#nl zH3P^OYawEs3T}vvMREJ!$gZ`}l`T2+{){gj?gzy+kELGQhb+@Do9VM%%%g7(``j_i ziI2I+eSH(n-I%A9|v4`eTk7g7Fxn{N_@m? zz9GeRh#7J>*1K^V9%gdhkM469OvbU6Vl!5h7swJ0ma_M51I%%Z0_lWUkfXOBwQtCx zdAXO#vAl=I+x($`S>pI1Fd9pLN*2N3TOfbyUqobV68 z)LtL-nD4;cn|9DDAmnK6uZ30b zUDSKLf!yI?IByo^Uul)#3;2xYj}o82PjZvz%Op+XtJ-Pse|*&8PdcT~Uoqc+U;9>< zfBc;~|HGTfd=D{czJ|d!s7u_1%upFrx{ty8q&M7Vu0;1#1MCl1LF1SSC@K|2Z7T0dqX_m^FOuW%gq}GuK)Hy2O*DM<-Pn89^aRq!7`m}Tq%r&)|4Z-zQP4>y{$3fi78U8 zf%&?oSdz62gEO2^V(ALqU%t>=6a;zaFjTumB4k|@s<%dBreZiwEe?gpy%C1;3xr8? zAlgS5+je~zoW!G%wdfdzj-_C1#Bo%;%t5zL0gMb!!cO`WK0Y}Gzx}7+oPH8#Clugb zO%{enuFd-q1L@olq`mwP6Ta`o{hfQT*Xchj9pNS6q--2sdJbNa?GPO9fv?G1OkDX6 zv(#UrX~uo%pRLDGS0Os0V^HPpg=1G7F!_fuYQE2hsp4Ebd!>%C9W!7yqzLz8(n#I? znX0QAXvX+7s$Xz~epd&O>832YBiT;T*M*>JsRZ3mI_NdvBYzNg1?M z{-Yx42V_`SOnFWrxeGKL(?`U4^{zZF0QbH`RFRXDoPr1D?FsTq5t9*Eyc2_8Xq~ za(T}2vISSH7RbGdIL&dj16;17GCN>k$BsUTVj|Kbygz1$y*@Xc{>`?fYpx;Wlu}5S z9yd|pf>+c~E&%W25?G=;8gXwVAu&rBpH_Szg_b*XN2;1UqSDD%Fq9sj*+Y$ijugo) zCeu7KQkb`b{ z#_)r1eOoxT`o}`-W+D>Sr{e6AG(^2h#(x&^u*(leZ%!bjzWL+zf)Gd;CZas61gmVC zkz(14tABr@uSt|YuR)qGV>yxE8m`DM{5qXq_*;{I*iMf>ZUc|6eUkAj&3OEw!Fl}m z8ftv@SdRZ;)hK?6@c<69MnsAgVw*uEE}eEm^)p+j$MUiJrVeKOn+ZL4MVMKQL*2Sj z`1;>Z@}pPOvABcMtFF`P?dQm1ZZR2L$)x!Hcv|KjN-{YIX#T9tbf9%P-I8Z?6FP{sizD#(~ci?`3C-XK1O#9PrM?X~px?@r1q z^P#cBf#lN?PFt1ZsNilA{kon`<{ep7@hq3l-^izl=>>E(qJW093+P>90WDp8lGdx0 zlCaVRT2ObJGJn6PClZn{<*OiHlHpDAYGm{rfSyw%`uozsZ8(Mg2{qWY@(SMhHN$7} zO~l=4h2GI7gzdZpwJ((z{iXo9+mo>AQV7PJcf+#B0)tyT~cH0)3y; z&{~%Qk845r)4d(Lc3UHMn2*bi`cVC-g-2%UNPjv7e;dZZW8!b>`gn^JALr8jQ6VJs z=?MLDN~O&g8)?zD-(+}R4(na!j^rdm`Kd*?r)>eA>&Se3^q}@`8kB6s5hT?`5u&AJ z`Ck%gO--lA#dY*f{yp8?F%JJyRpIn?9^!%x@w{<9CVx|hYlA%AP7=lIv)xqIR86Zk z#n1uSb@Ww2o%ZGqvz>nREMGjD9e-rQrf*bad;4E34)@t(?UhOt{XQQ2m#;W$i33PG}8h zKNQW`YhC0d_6~C)`LkJis+(~wYlZrFe{M-q*;1F!zpM!P1m(e}18`kPS zF&Sd~NABbJf2|bwJEN!bU#QLDn;Yx%bq+9ol#?;vvxUzu=Xm^wceVK&ZB_X1{*2}K zRsTYyQU`)&R3qs}D)z?)qjthxWZz$lqsi8Y|1;8&w+Tt|dU#T)fs~I^AfzV)*$xRj z7Zrd+&U?D$&_z%FwvyTA3v|@}G=*KrB&DoalGh9*Z@1m_KFE=5OBd0(FAGTTi!Qa+ z>Co!ydZeR9Wc+k7l}b3$MUicE#O?s8Ee)pU)zQ>rltTUaIdu2RDe8BqBze_3vL3iX zW^0;gx?wAMo7^JLCAVl5wbE^iCNdGeN>J$}0$hC^-)<|k%h^QtrOG^j&kU?T=k-h{H&ZKyW4ge+72H#ZNW(;FO01Y#7iy$F@v$F z4opDxr$ngcCt~u71bn_2kHowKNu0L}0OWFm62d$LDwc z5Gf2nuVOs<&*b2qdj+&auAn%m1y8kaVf*oBOgwcFrfO$!z$F6$HQ@+;wIABvYq7R! z3C>k8Jlr@RC1W&kU0el@Mia53T>wda59m+qDGL7-PPhIZp`FVU=*6sy^f>-A{hdA$ zPpULfypM;1;Dr!Lw7|n~GZY+JfDc`>5cGU327}*`bkIeT70;pvy6F_qT}jGaJ#<=2 z5>fZ2LCjePp(ciy7p9L-OXuL*TxGmakc7PK8*;dEiMpLrC}+nmN)FT`vpR9wXVk_P z#;38LnOoT{PYot5`UWC1D><>M&4UqIB!AsDW0?4L!P#b6qnMf&&eI#&28MC&IN3_#m!+7 zEWg{3ZRp*{1X^;K#I^fOEnJF*1r2DH)lRw@c8vD8RZ*bc19Hv$LON9D0OmEn`^TQlQU+17le;hWX zyrh_h({wa6lm;jJQs$_5n)c=rRm}KB-K2ow^(ZS;hdJSOge&x)9>h-VPz>wFV48g*9+{+I zQDG7$6~v(Ua3BIsZAYxB750xY!I~?}vGMT%2p6Qo!@3?dpPs>F&To7^Bf*bNk>Nj3 znaVFXronIdZ$3Yznd1jcHR11HWXiYj1ivgupPw(N&UcWM<9q9f@KZxyU}(x^td__} z&ea%L30h5WoW(#*z9^rmMQrO!J=#$S(; zQc1$d9CJwO?P=OmRZHVco9MXHJ^I`9j8>Sxrop3M$Xfpwh4uX-BnzVAfgnx<3E=NY z-?!iSOcC{cq^bFclv7*jO-Tcpx?H2I-rICD;0;aLEsizQRKT=>rRM8#O~4;!zhd#n zAqRWcm*MN$i*PP(!rt?3sFA;muFyMJ{P!k?tFPgq_IZ@)7Q?AN9fw3C@jJm6vyM9B z%!lPDQCo-|6(%^KY=Pvdwj(^Y8Hzu=pgl7fIgg_-_D%wxMyEnbCQyyh|7tL|vI3g>PonB?8mcTKVY%!ea%(oDY2pZ58Jl41kUpkp&w*5o3igeb zflQ(h+K)aVec5s{9EzcGl|XtKA4?y@s;OUhfVRbs!Tw%V{H`&C)Mzs_gb78a20M9NMV6%=k zPME3Szvp8RKVy&{hTovF6*-i5<3AFcX+mnZCy*RHV>dURVB^Jo**tS27P4A`9aC)M zJpW{H4w-J8#*_tI-_6mSL_{}FD7cE}csrgqs?Lo!@Xm%eDdUyV>Y;B&X@latjLNCJ za8*-Y!%8<^P+kJhr}G?-s^0KCWaK$pV{^`Zz@Jl4J;@a{JmrK-CbEEA3z>*@0Gsb! z%%Z>bu**v)Qb!4&%v<(T$JNs<~^aR4L@k{oKd*=Pzs(3(%3ak41JBiDgItB zIX%8XE3TH&42v{!9pNnN{M}S@&yK8REJ)DblJ+%krRp=$q>yrsG~_?frPY&QwNDS- zQ8uuhyA#9S2eGs?5Fb_s!+LWd7M?nYaQod@leHRm#+$-#f*RWQOW?TRLkilPN6AJ( z)Kd~bRok*?)7d-ZY%>bmHcUr^qY+MQUIM*uHfY#ki^GqWqqJucRNZ)J57QdC&rF2n zD#2)-0u&!AqD@8x0|lBm^}q-sPb{&#e;rK!x?|__05l(u!01cIHIjK~^X< zKZU@nHU!5P1!KwYBha4Yi@4vrk^NvJwujlmD$X2FM0g0gJQv+@D)?hR2}{K!pyl_I z#_xJgxBXkFw4|DrE9H}pOfvC{VrYw7G+8V=Mw%YSsWZ2jD*n4bziZpbeA9C}bM7m( zWC&s4k|fNOCO|k!9*5p4!(MWPiK}K}Q>iLk>t-S|O9gjzm9S}}47M+pg!IEd^mEKh zQmJU8veK*c#j}wF&vlYU*I!!jOCAHq4I%2g8jJ29#65{va?tnG?}>f2QGpUlF7_qmw!BM*u8d3aHm1GDxl)c-jSh3y$w^)n5t z{8N$Hos8delW^uz0#;2(fLuWWLRyn>JbWaxBC>E^vj8VEPhtD?Qsih<;J#-iM8qpG zIH4RC=TGD3&`Bg#<)ZX+8h+`=V_s_*6tV(gm3#yr5`wV3DFV8k33$_!0qYSS*Rjii z?!gQ!et8Uz5@C4v+ZQ6UwjzVS5=IYAVYkBoR;ij0ikgN)t`qU@pAgJ{JR|oNXQ|>< z0@a%ZQ^KlfN@S(f9NkTwvXYoStOC;(JzQ97g6SjqJ*;hx1sQ-zi4JI{GFn?iv3^_^ z>3^uEYm@V7=FbvxQ)#1Q{bBkREsN`U8c^=hL(dvR@RN0+^lK)zZ=Hy14~EH6=^lyB zI7KJpg6T=875xxYrrG;Gu(}OZ?9aYXcBFa<^J$yJio<%i6Wyn{Xrn+*W&0A2*R9Ac z2>ilpxqFotK0lMUKHrb`p4sp+pBwTXwKW+%n9*r8!|R(-dCh3v*F_qN$?wZKVjV=WZ1j`SLw?`kpe&U1GxyeGX%+ab^Gq;|CBrcFK^V5^>CJM1d+gapVzooPA5o6d@Fc$w56= z6T0J!@HfZ`5^I3VS7u_d;e32J;fkNn-SDNt4ZkE^@$T?kM>~6{NEInZ zMKBQfl9bQaQl{TET6D9Dq?lgX^i&GmSYw>|wE*G{TTvDo1O4{&(ObBLS)pY}J6QwI zX-&BGqZv)N?qXV6J;J+hLQ}5@7wpbqw_Oqf<{v`atj$;^H7*bp(-9Vqy4V)FB%aac}#{(cgI%QpI^#?so;=u~)I-c^RHB zE5|k0a{PH+24kgbVD=YbW8Ou)a65zZZOQ11JUqIyAutgNf|}PRbmeVBZhr_aN*u!C zJJF*X7>$GOhtS#;0&ZgcOekdqK{LtoJK#bp$j znM!45k;FzEAw$nxdf)Yg=H3&#TL9@%NC7EWM_`AV)t$R!(KXOzz>@5&HuA1 zp5L+aCSQ2#5B}SKx>PXMjgFc`&>N|2YHzNiqucxFara*`F_b`spbScDq_Fgp2+rAl zBcoL>=#gdvMQtvihL95!^CW_L*$q@#>qeIbooMpAMRefTK4Pb4QQgND+I&b1*Z1o~ zY3p=cZ}G<4b6eoMJOmG)g<|{5P^@YUL236k+?(f%NpoE=*2D&ehcs~d^EdkQr-DAq zCeXaD{d6|wFrD~WNXuWorUyl`cq2Utp3T#MCJu(ZcF?}b;Ars_tV+{DYPt*@biR^M zQadesT|?pCH|fT*I@;0JL6_TpQDLkCekB-y`vZJCw-`|^8xScSjAP@&kslY1>E^*u zb6A6OpBy1KeG-2CQ$t&i0S*Yb;b%-FDku-r7B<7K=RGt#M7RiDMQ+tnEl%6ah}&3a z!R-{V;k?UjxM9<&oW%qq?unKL=YCk6GqrsK&&Aa!u+BzMToP`v$MD=e1*g_!B4Rij zzjt52qCGh2;Hf6|_k9y;9AO7!+I3F^I~q#M6U%~BS#q$WT)+Y&p(W`OZo3{%ZDXuKK(`}_NG zB{CE%bt3R<+#&p169Kv5P@D(|hR=c^R0prZpn?mMS>7nuX=6f$2;T00LcwQ>sccUk znO>`;q_j^IHAfwsD2Fq)YtTC@0@b=Hm_3vO5rq_zPI%E1!rEUdnE5`({zu){7MfuoMOK`0VE zLJ=s+kH9>)XjI-liW;v}$c#G!w^tYO@^T5D)s&;YwF;}h)*x|T9n5aj;dxmt=8eCN zY=fKFAybN#Ub*0JO2dD((fC}m4N0rLalXI>^4c!gGVB4Pc|KV8*&pMTH{j+1KU{8J zj!CQCVbwkha(h`ce>cMrqmTLF8W>X|i*Mxu*pT~zT6R{9`a}lpX+KPg(y@FcthsD^wnm?%xvnIaAXdpA_GK0|%o6NXe&|-e*9p|z7=Xk|g)x45vuX&Lq&SdSG1fE$H6C25re;eQWQsS9Hbr7H`b?mLL82krgTYFMsO!ONN9< z?!#odmA{lsjvuCF>3Nj?vx!{u2B_pF=C4$`r2a^QCAK~BgLLRV}Mo?;E{2ooHBJsuHh(&#AsNQ`nLRgK=&!CNV`n@uEv zrKidMa2b93^_&cwh49fv9W^h^aXV}_zL+nA0e=%Tqjo}AcL%zc`Qvr73w)+q;oMnm z?4PU+`4n3Whx*~<>jV_06(M2GBbcZRL1cy)7xhY!`!h+4>+&|>j)a(Ut^Q`*J0lZr zaN$Jm)>LJVM1{F8N?j=ZbPY$-(y_AXDAvwT0IQvjyK8fC=5#T{Mn6mKE`?X-Wz;yG zgF15p!uyWmB}HNNjxZ#uAHXzr4@^7);s4VI-h3%`JyHs_I@au&NU zWuPc@)SJv=keL7V03t`5%c-tE0(%XGz00n|{1*B-2h2RPv2+s>}@+ zZT6tMH4e9GPr>}&#ZfLTMXPx^6#FX>eCP)5%qcag9xZ@n@Ku~yd;_Kv%i-Zr z1_}F8e7#bDbcI}WUe1EdofBv|mjI#Lqny(dibCmx2XOA@T? zvhYbOA4<*FU=d!0?ceJWKld&Ue7pzVvIkgx{{ij_Jiv-6&Cs4%j~8<*pw^s^F*8ph zWBDN{)cL~L(-Cuq&5)rz8U7p0kPyLx#wZsCFPVib`B~72azKa)3m;EQ1c(`7QHC~l z4k%-Vl{8L!{h^Y7-Lzb*l3M$-MqThIVJMD*htE>ivnJBD{Y{d~Rp4P|jGx&I`Uj_D z?dzH7yE+|xc??=v6BsO0$7*pAjF@!OLW?T$xKm2J_qQogqmS&|B~TSJ9$(T-;rrSe z@|UbJEzT6jAd#pJlT)9tYTS^0V3hEXT1b&Lhl{m37RD1E-m*YY#Gx_HK;iBnxIpc|0@e zo)U97IEuGRKapq3yTn_sd7sxk?JLi#S%Hy}H)p)t|6^qQ4>8LhW;2V|HZyK+0_>zJ zUG|%>GkeQElwGfx!#=ErsC$AqR z%i9GsKji`0ItY)95m*@q*W`mTUG8SK|Eg`mO0Zv-^Vn}{FVoXCYAbSv#dP1VFQ~;hLSw`TA9ylwywySSpR-BsVmNVeA@s5^ncn$UQ~3O0`o2g3lcrCE zzxEXDoo@kYSyQ;W>Vgs!k-GXHY2JQ9V=as5_s=9cUT}!Mtv^KEkK=UQ>=Ip6Z>G4% zpGo?FEL8gR5Ic^=w(kotvBDby!K-ol(+a3vUkD?HkP~i*L0@ew`foC3Pn?U9n|m>w zk_PR2*O4Ib1U~COqxF?2XYH)OwfAUnU6*vYMG1Obc!Vy;zSZCYn#XWTe%~=%I-38J zdFWjpkK-+e(03^onj5=*NRA(h(=;vv8YUN?& zf&%<@E5s!0e6-BWfsbuE8s+2Rs2+wN{+p2M<%RVka}jyc0Ws0`sEnV5{Sxkw5nO|% zi}&Kf!)U~7rr?C~IiR8d!Nz3>DXhet&$n^+-EF*jSBZ05Zs49wF_uir8|9|cNUKT0 zBDol}{yu<})P=Vb&W-$20OT4cPvJL+=} zN4e-RzNtMy_Ud*tzimgia64>cS}~8;jCoR3cvf&386Bxu=zRd(f`w?SGeT*R9IO+? zuvuFgt@BkdH$(?*-wa`V!x)EGPsZ7ClW^~sHZ-c$us=s04Zh;&fA^if>U2}bwQA~q zn?py>C(>%WW8{AJERE}^C;8eDDyddPT|-w8uS!8ph2endhqHyrrKXnNrB#^(lf+33K`X9M$>fANI4~HWjh^!w$2* zFMG0*Him5QMiI7u`(q|kE1#*=KEh0Ww2Eo3W|^1=6PUtES?2vQ5oVw%j90k*FmLys zle~rX*Lhl>x_R+IqKx677IRg{p4s>`fN^&@#%K-|G515BGdT+-*=#FQHsFjGTT>s! zn*YsbWncENXA_-;M|Kivx4`-`qO*IpK1&`y4|7>YM0LbRtdLR6;n@N}mx)5o2m`TD@R~R;DhNDp!ZTykPMiRb=FuFMTH|Y%7fRlRBU0@&_8%^X(MTIM zUHynb9bxW8lML4^G?u$lpvpbJslvVXk>_Rxh;aWoy@9t|CH^L*A@Te{SgP-WcYh=_ z)HAV*cMalgcd*OpAyUNd;rPWWbOv3hrm5J41%puNSGc2i)m5# zeLNWRd{)A?f{)KnHNX{#quyQygAIoGRJjOEJz-e=E(4OkOVJ>57mI^BA^z(v^!5&; zf9MBN*Z#uCuir8M&Sxa53_w!vIbP4Wiw`fZHB8iCb}PSrle2NknaVI&N!cL3e%@KDuN;Hzf&1Vli-P z3&!ufwRm-IA%>i%0&HSnm8b+&>4arKFICe3I5n9nC(hJ)yFfqm{$Og2RC34 zQ-j02Mhxt_3m^L?oV;I$=;T|_*DA%v?p%z_&A@{=m4b5;!$Bg+NTKxDEeH1pQjs8zTyGO10UmVa6A6`JVV9Z4!Djyhu(%x zv`u)9l$<9xcJ?0L^D0s1c@ZDq9z%UiAja9eAEvYUT{Ne(mbPubL|+HfsCFosWWJpv4eweS zzxosX*&v6O^Llu<$r|V4?BIE223)>5VqXC;+hrW_$GpS{MGY+urk(_EcYal)u{1jcl2Ac9^JC+!1g}of!hs6 zG&F@7vv@m`>EOhCPaIu$K}BZm%0IlMN3VFpiTijCpF??v_8;ZF`)$GuoI9AW7l-+vh9jm`e zgRg8em*2ZRoWJ~iK0iXQkN>w`ndaI$(1SBONcnpzRi#{~YvbA}^7?1;*)I&uQND8X zkcQ`b30V9Tg3aw=dOYq0MWo-Mzlm4KW5P)~9dd{k`fMa7|35mfu#|d*_EM33291At zmmcmHg3N>okagvw3v&ZYC}Wr$pbi)oB`2>8z}wu08)m} zV0g3*Wf$wQy}JORF3HFYH~>R#9US)fV{Gki%qfn9!T!;^e0~(&zL99UvI(Le9KqW; z9=d^2*gd2Q{W3>XuRjRc$aC0C^+-1BgRA*pB(_R$Q3Z0`*a9U^=KWYs;II=`i4wMO1$Q#?zU zf|_SGc&9TPb53|8;J|kLcO?=d2}xM-|Nk8472;2I1s0DwT1wJ=_=>e6^ldAin6sFj*-Y8m&PXyuTR3zwEHE&Kk9{Hc-Cei1?bN5Hj0~KbPaM zX!B`YeO`#oZMSeTzY*7`wxF`44TnbBF+BVfa_666b7}`X&OIOP`saud=z!bVPRe*B5X*-{Q~6IS<64VE155N zXbqotVG94lfC%4FyqQ(9%wz`?_pp}Z9NCdUbvDWGE0eBuhhcV{Wn!j29_XPg+cW(Uk zHi!8=drJ8dA3yM4^o^r+flj2A5KN1{rqgn!g64{LP+Z|Ko&GC~7bTJ~Bx#JfCjn;x zVHC3?ls5E&-eoqDNWO_qc6h!Q57>SIc<1KKb6;X+juBp#f?=~X3AzIF%MgB{p<@h#>m4ddna5e)i# zfSTrW_(a^og1>2ye7yyhs7GvP&}>Fl<`rx| zcnqucH$j!Z0P~dRW6>*LOcx4+Hsayrk%;)^vB=!C8{NwDuz#;E1m-D0D$NA8Z`VOk z@)Ybk8XN$+%$C)F7}N97uz<0Gg_p|Nj{P0Zf5;~ z{Ei-+8ui8Glx(zoiUM1^3{IWqaJV`Kdvk~A^s#>Wu<$R%LK*ijo1=2>JP4g!jq-#Y z`19!i0v3khb^bv#Ox}%|P8S;xZNbrF6AY{AO| zk+@rz4C}~jNCgyQwr&+pO}mRH+K-_%s{@t>T~P7w#IdjKsQdi@d7ZUzR=I|alg{I8 zOcD~`heD*m2R8Zkc)HgJlTK*CM`$7}E?J}3!wq{Ib|7qZ9F+gd8fESx7%r&7hteke zUDtx$Rgdu^q78RDA4BzLD{3lRu_fR!EH<`bU{f2eG(Ljlz+GtFs6_g&d^~eZ!86gl zFsOFKtJCtxeAP^!1=8v8a01OT$|jACwY2VfFIne(qmKoGkVqAV^Kv0v;Qb-<8AG&x zeh(!txJPVN8BJBrBd@P#$;j{$4GGnf#_|DT2PDyVMhiQ}nqzSiAL-%KQS#Cee}wHZ zxYQP!hmFx4Jr0Xiq(*c1g&K#R)2o5UG=EPI+4TRW{KfLfx~_xJlqu-kY6Y<%OEk(E z;cl5ai~_~rS=LL-1g?`%R|3_it)@Of`ED_iw1h4ps2&34ZF%T{eM;9K5a$~TjY=bw?j z$=?w3ojT5&DwXGuDexIv|lF~Ghb=U5)lN{OQPRg8nP`C(3>iZWSOs2 zq|{3){Y^BZrI_?(GH8}g6wRLyNb6RtAQuCFVvV9`tw}yj5O_h8crq9hV2EQc?P1Wk z7*{OUK;Y>nusuOIp0WiuW^KS_?Ui_8?+S-LKHM|(z_yOQ$HXpD-F<~xkEc+3MH21N zyGUQ!ACjWqU+OF#i;lySps71`)Mt3u{gy#S?=%>UI^yFq6H$Ln1$A1Ikht-U-0HfC zl=EXJVuh7^wGib5+{5W_0M z_|h{5PWlt^)6pKrYQ9)_BOFgfQW2k&2l0$@jCtRPHxF8&=+KVSwvX^`S`EBa^YAo2 z8reJDkvr7{rK249=fO%0_a{O$y9^FSZAkg>67oU4&~k1W?Z#5rIv<1Np4HItWKb1k z4U;HWTn*m?gZXjrtV}|8aXcQ*JAi*)ix9KZ4AQ?0QPky(%X)Fp9lfuLf-ev@Q{aAd z>v1o~TX8z!;Oc}Nxq#b_+-+TZE-;hFEo+~`wd~O0BrFs;$6`Tl?9v`wJbVk~{8P{? zIe_Rm7mQ>Y;s7v{4?~QEIs2X@VgYC-@AnLxJldboZv9W9tPpp1X#*c6E3-wgo4; zI&hEo5+(U>V0yP7^^UKhF7g6?)@^voy94)Q*D?Nn4w8e9L)#++4c(qt>}rj_i^sv2 zlSjp66=ZUz=-lj#o%K7g`{GgDFg=T}awV`1szys!6T0akroCXp!2bFMs6V*_o0E4SJ*N(N8*k#->_Q0t%D}n3kx&#|j?Nqt+%Wk^g7W3Gt0a{^ zUQM9~LHTs)QWLpY_R-O8U#Z3VAILS|x;vz|B zUZK;&b!2|`4QV|SM}mMR4ELGBU^fFV0|z*4a>Sm~_E>JiU}60f7*Cmi*d95A+6v&v zss2$9?4s&}eN?#YH_h25i?5?=rm@omg>F-koN76mi^=dZ(!@}dBoucJPz0A7%&W!zgGbYVdh1s3|n^$Sp!egR~c~wWUdG4YXywmGu z^NeCQ^0xnr=0!GS@;+!)@IGn2=8 zi3vDG=}ysPxG{)syjev~XEssuzF4XaDxoR-e&Q+0qjQEa(k!PV&UrDC2Umd^UXQ91 z0oY}_0ljZmqxF|3%p+zap<^m`HI9RbvJhV6Kccq8d}5xTq-&H#i>H=T@0ypi<)}Cc zBsAf8(F9{mZE;Bhczp(F_Fp;lBnt)O3~fD=v|B zQXV~!FC?$havJlaiF}TC&=UQA`u6byJ#6_vUuO(Ze@`z>$>^n>ejn-IQ89!Z84syA z22($K;rYJ3aBPT$vs(s?p5@`$s}l4lm!bW~RcQNO#9XIjWUt)@VHp-p9V$4LJ|3Zs zF4%k`7LYB0V|xp>@U*I~y|p5Kf~v4^q3 zB@y3uBw+oPFqCff!MA%eaVT&;+7u38*4cdYxA%d2EX!$+H{|@r61TK=9=E4-F(>)R ziwpDokISxE$W_l?xv(6_j!skXK+H0yS3suN+Pe~y8qNGO~%6Rle z8F%+ggl0LxWAaLDIueGdH7R)fG7smcRv>B3UFffQik6A5!0dSsDWlIg_GlO$6NVvk z|0DiBc!M48&(VCV87`US=t;f+wZ)0xUkJg0C8OUxVHy!J>*E%Pl=8d z^z!rf?xn8%l_)Z{NR|I7-=-(;PulGsPOo7i@JVjZ5Tu;IZY%)qrq#{F3~ zlO!6+EcRT^q{{Od#m)&#v!DdCO{bT)Rr3}vRw<8H%bekPU!TNl8R7BxI^Mj$Uqg9K zg{izJX@$IqzYln+T0eM&mlT=cFeB#S@N{OY>l$Xl@knM|TP8Edw46D0w2QfXO^kgg zG>J{Fna^sdhOnhYr`f2Z57^6t68vex*8Jnw0{H7sp5*rz+~xbs6{TluOvv%a5~}f! zqFkjMD*9AI2QI&$r`q31wN?b&kR%TJOJlveBzWo~&`JGHldbybrRRN8=3k?$a;NEQ z>|r`|b{ko0ttFL=Z6xP^jJ}JPQ}>FGbk$S|4_Q+@iJcC9uRF?at-ub;wYU}Rhf7~p zV_m~iTsCk)_zVsQlP06sKnW!(U#V83iB#P$(Yk48$Sppf6my%X)AS1+J1GmhG94s# znM3F+gR*=M&p8hLwhWBCEHJ!FAG>y{BAS!H)T2YRiq}e3S!ML8C7Wg}KS9U-B$Bsz zDjhM)qJ2iAop}E`?NP6$2=iJhcDzkz6>iZ$Mg?tas-gFv+9^l!7pW~73yYB{@Le$% zMe2T-^XdTJd&S~}RSM=lOh@06bbK{Pgxc~jeCzSV)UZk5jfla=Ll))P9Nvr%N8yRQ zQO|C~yR1%p*6l@4^Anh8RpOugDU?pxi8m6{F-F52qKoV?Z{1qRhDPAU)Of7TI||3B z2)tjl1-IV&;@gzH*jJZ<&D9Se6f4Rl6zX#NU3_lTl(~@7m0a1ib)3HGMsCImf9~VQ z<=liDuAJZ_j@!A`nA=dG%gdr|L36qW ziZ|$Ce~URZ%?KB!%tH0gdHAw@KE{X4M%Tnq&##;cp?5~OIjoOauZ?j|7Z7z?ikg%I zm^mRC$;U6^-tJ2DNVb3*et}%mK}c47Mf-_ASpGnO3!Wv&HOUKbE=E7mdHNGVDqrI1 z@FN`RsKQ;7d}I};;{4KZY&*Idx`WfdAg)$LUX5Tg)u#*rZPWU*7S%FPHF{vcvp) zlNR%*$m{V#lm4)OCf2j>H)gOgXZEtWHM7|@izl#}tAyCuwNIFz=dLhjD-)P9_07!S zR3~Poj0schrpO!>9pIQJIO0ZFysYRS@CWtx$wGDck=diCh)e= z1>TaI)x0$36)$kJ81tcI9HV&3g8A@kE+ZWtz&Ij?nSbmIv()=0vv+n6qj5)qo$|qu z-CFC)9+C`YyIitay9-a)iPEzC=>shPY3dIC7LzP~Rp=vrk(VT830M%*wt_a?K1{sv z7btjN9q|f#Xxzo`B=uGV4P&KnFh?3MZc5_URS^u)Pl_^oL%op?X}WJ2u`jadz=IeH z4cb9nm;EXA&TcwhpG=}nRkX!xgnA;C(cm@(&;B{!V$?#+xU>}C6IP<>@JcLuvlM4u zy1}w|CQfBp=W+H)U7qpS`+XkP7 zTyVi_4W@|hLh+e{X!sP0LudD4Y{qK5%mDI@lu;}-LRyA`P)aaGZ0;6prVNY^t-zMW zEzq=jh7OljOgvkKEvwH#q$(W78XlPSnBceE5erwYzy*a6`0a>>HXDNt!iOL&eE`lO zp-A7Kgag~kQ6xJACugO(O~jNXd3dW^g)wH2 z5uEuNr5YnRJX3(HJ|Mz5P8a9ca0%|GwFH+7G0x(s5VvO8PmFATk6$l4Fw6B01Y=6j zy6rT)#9}eOWGC_>m!LX$7KVd3L@_han&64P*zJ(hID*e(Phrit%eeG(w3ANOz)$rK zmfGGy!1!9!XjCA-tq|WgoyCXbB&-gM#(#nbA$npj#vj;+|NIXi=V2)BJr9Na%n$@b z2O{Xp614a_;JM>yCx|QHh2lS=jg zFMm;&{~*Z0Mba~bznzrmMl?{l%)>8#Sk0xO|-wInj2v!xN+?r;O z@&1J2tJVmbVvLF+Er?!GfSautPH+4}o;!bz-l7oF?Z==eO9Kle3{YlohG+*1#E&}n z2N4~NoR>%1{Ga41@sP4jE>Oq*aB9?arZp?HDOYZU|EZ{)FOGQrv%zKjv>%iC_4*?G zoMZRd*syc#wNqj2iI;9{^l2k@)+b4JBNQ?@ zMhowq+6d3kLzb~M(q+zkn8rjaxH2l z5sHo2Nl9+&X~FCLG`uH`jLy`Nx9U$ynV^c3aZ~Uj${ufLJ0rK)1Mg**K=tZ>SSjv~ z)wAbdRRtfpjmEerKv^qslJX*O@2*9DWVv>uL{W(2GD(E ziK5*+B!flAI$L;#S>TzG0e*;R;NBf66zm@+>-ZLOd{{^WTaMGnv|SYa$Ai?mXA;-$ zNV`wYCzE|%6r}Goy>Isd-Zb(RfV+N3M2~de0lWdR`sBs~6+!@*^lbnTJgO zDr_Ei7cwUr;k2d#&7ZO{XKW0jZ>$BIItM?bMsG9615$f7;e+}CILd`X&@dc#1|wkJ z84vM>Jjk4SjKWk=?(s`qu4EO*Y3=vq<}KR5T`%6n2?&I6Rrk8*KiRT_@`7mb&bf)F9#fqRXPD02gj&bEh9z-;KbEI|1*XQW?o z!c!NZOwtTxsalwEUk>|UiD0SBUphDIHwh>RV*UqF?5UJO*q<>N_fQr|(qnL@PXa*? zgs}R_SE`@-hPrH?Qj5j|`e1dR;$O5=@Pa|A5f=r!Oc@qa^r5uE63frBn6TdtK4a`r zP(#>gVS^G@O)leoU{wUZM+6qv*tz#S~G>QLO6D0``9PYqrW)jsIr36aR~47{Ao#BH!{%H(zp&JO%8trS)_C z=!kk8nOx1I55^578s1C)MmwwFp9rcJO5wDv3>Msyg1)sF#BBZ&C;y(V4z^M0j$0I! zoK5euV(HJ3om5f3p5}IikZeE(rS5AalOun~X;>9)L#C)U<3JPU;#!Ld z8k4b>9x2?^r+d1SDN4|ko{l%AreG5?Z8f8ZnS9!Hdol6r_miJ)Diu8`CD%7?r1$L` zxjD#Szri@0Mk(hH9^*&3CItW!4KvQdCJt#+}K9qDufZ3VS~$WgYZH=392{q zFg*Vn^tP4Z`n)Sph&hdgt%p&dyb+SE3-Dk0bi8nygHFB|T-UFIg8O!Oc!VGyQAh|% z!`1vURNs0Hre_TIPIxkR=({7gWZhEk@yP(LZo_WQXHGEJX0eYulDU96LU`#<+O}8( zkrR|)l&Xi`IBN_A&OmR`BAl%AgIrh$qCdq!Jv|Hjt5-!ON!2=~lf znp0dR&n2}galL1hxs~n8obmRt+~s`=+}dFo&T3GMv(otorx_n`QRq3ecz2NSv=l$u z&VfHZ8GB+6gZUMT7orC+=fgqlSQ3S;vyY+Q=oC`z@(}#B1e3LI!dv_{T$k0rMWGr( zrsc?OzJfJ6+1Rx&2~5POFW&XRCkep6R~u6%j=}jk;wY7s#?jS^C>*1Pt0C&6ysrY6 z&+?c#Lke{#MeuoxAbQseVv?N*c6^k;(0Ey_-KL1gpU0wJW;9cIitv(>#nx1DD1H4$ zby}ZjpJXrHJk?J6-EEZdzKdeU4$-&sqPX8Z79V>jj=nc@toy)&w=#!f8#~C|Caklw z1&_>OxM~utFO5TQf&wDGN}{t+46~j{V3CwO7#|JnAJId5l?f#Fnt}Oij8IoyOx&&n zFIho22|uIIIag@Qn0Vq-H4 zSxx^qHaUDPyS;#6@2IJ<9hJWs*`!t`^i?5ay5bmf;_x=6NYIthoovO3ZdYgacnL6- zg6+H@mm9pXa_4wQ9>wy!&Tir9{9MdC>a5B8BsH1$`akflx-8~(yKd*Lcpb;9y>pJ& z)^MGdm~oGHE_{HOGhLLC)KXzQ940Y^KW&-((uGW|@>ZtG^a$f#m&K&`++_Tt`H z8k2g1CIxGbC9N54WEs0_SR zse*XMAjIa$bCFq-IrnYTxzbyn+^X+>+@tY9+~RB7xykK8T;!PbTHC_{B(v0pWgP%es$jw5GiAIc`U!=l|7?n4q-`m2}PzP8fCR<>;5VisTvj zSa%}}3h~FWP%aGHV^`sL1R*9+9T~5_(c8Eddi|(|o{zdieA#`vp8uHMPim)t!%xXB z~s1~ zzRX*yy8eQiwsg_JygpJpK0-{b7=k;;BJ_tYI;WZ;c(j|?7($c|huwaJt$nt*qHc+R z1S52*Pr&Uy6=)upLu#uub~VVre5E25>W@S2k^gaYmQh)JeHW&?JEf&1Mb6Cm?b||Z z!B#M^2|M}QNr;4kC?$fRf&vx>2sR>u1qLQ!iwKH{{qnq@=EKaInKkE}y{~J{S~Iq& zuXe`Vm|pm^#u*z|S$EH8J$zjz1J$^vp&_paWe>w#I~QtKp9W?Y#lTlP(SKiHZF6_4Xd zN!z*Cr;~iL-FrS`pgy$`QNARC^5!SfBL5?_TjM(Q{oO>q6S~N@K@M>%RG?F!~@c}KI#j-o%fXFE3eRwNr!2~#(1(nw~To8JbHR*Be@vlP-DO?dN)%FR&xwt zB5^`oV;`*0>I+vIfWzPWVdpE36Z^d}sL~Phs?11?4SN7&whCt(4Ge3w!z+tVh}B12FGy-9{OQ7Mp4TC-6aP(^|-so&bV{ru7*io3G*Bb%vY%pYc4=lE| z!Ej4A9J$sP*E=Sm+-*Ig7Nnt{dj%qvyvL~+HOa^%Tgin-f@E3A2+7v!Aj!8;vm|~k zb0p>0W=g)T50Xqa870YnAdz@#yGdTC^^i2ys!L8j{)1KK%_zHb1EXG^z#z*^yg#=U zrvih}VD5t7?y`s+a+?M`y+~f6jby%50U?4NG$Z{`RWJv-zqeqM-yYr}j^|5q?8TRhB z#TN}{WTv}9@s1OokFmy!D|$#>Ba0XFUeKFqXUXVgGNsFh(V4K`bn=EO?ecuUJ5%!b z^MG}{;9GwlVPL@jgntmDn$L+%vr|RcSu4as3>Jr8v=KMYP!dPtt)LcqMOdPiCrG=; z3goaX&0u~`YuWJI3GA?2E_=J|B%5Dd9}iAl|P$o|grm;jeRA_>t!Z_frH>L?XR!FQg-@t0-dFYQlEt|CZ}j=<3wmr=MOsP)w0_eLGWfoTW}Kf*ucJ0nltnIerQD|U z?#!BCV1SKo_HcaY33X!zv!w#m_Vt1BJP%wH*qrWyf=&;d`r?HRA3c#b!VS)g9dRbn3R3qC z@qD2g&W!m-_rEujfzEZ>^}m0A_eiF5_G@U?yz%t9)`w1fGNa;BB^ny`jZe;b%kKoe z=VAOOcQjX{y#p*MX0R`fcN;?=WfzfQ<~E8_Os4(LS=6#PhpvvzqPu4j>F3K;^km~W zS~+tJ&HA#L+&-V7+*f}nW4|>HeeH+EN|T_sayI7mn}dB)!N@cmf=h=z@KxFrQ#@60 zB~%8dC35hn(tupH6^8Z&28PUqQ)~hbZ8(mdUmH=XD=T@qz(_Kq%~_J_%_Z4xgC)r{ zN>c9>D2eJbQevs$FFAgQOD;OOOE#XimUs--mrUKNB*_T=fn48auq(CQE^``_e`g~r zB^o0Nree)qS9~}mhueh>RFqOfuIxRnKdyz^PEVxgPe75yI!su#3q9QqWAy7v?0Iq@ zIy#>qUnV87N>G+8J*g$Jku{L)UuG=vH!_v1Q!$mi3OAPgH_1RU?US}7#9vJkmLf0t z;_(|Mqgvqa{{+`w-GtSv3Pip5fG7sx5Kiq<6#CSU(ZBJN;Yn7Ie_(Lhj4!S z5&W$z!i-tP=xJSqt15+9F*+Yrp4m87zX$b$6H%P74Z)LF;{Muc*l9Wl`R*?GX0Ho} zfFJbW);-EeIz_9bGDz+FR_eK80R?`E=V(~8E;uIbgfDNcAbF{WG;28=jDJa+RLZHoG?ijP7t(SYfn<(q(wWgudHRR~ zeyMyDKQL%8&w6Fd^NK!;3(_k@*Xe2Eh{vnNl~YHEa|bzy2L`E$KHFOb^?x;j=Dj0A zcxaOFc+N_}?C5x*LPHcbkFXS+S1Jn01#j8LK{d?9{sdd-oW?BXY+{F&&tQS7fo%GS zVeE*Z3M;DCW9zRtvgU^aSjP1rrslbr5xcAis)15ugnd^?6{w@%u>@eY~DWt}0qido9Dt~s8 z@#to9F|8*{#hc{ax0Y^1JfvqnEp+Xc4C?1=VX&P!>Qe2IBjbjPeY~K*+#7|CUifz2 z4MoeGFd@_i#W^Mz=&pqs{&Hx{Xr+1C_h{YqGo;dMA0-`*B4N{Py1J?#JoS->m3$T@U(i;2??$h@;Hgmncl(HzC0gcUqkg)WZh}4!+nu)B|@-ZE!G73$J_p zqTxH9kko@3dgXtU&ecAnJ3VC37-j*N(!rRzbsa`t*oP9AD=6;u0S^-tC0*V|lID+g zlAEvHB$tYMOV0Q1BeARVmh7>1lT0?Wm+Z?im$c>RN-E2gC38qhQbnzRUseduYyS#GD^B$h%g72V+m*_us>?Z_9zBV-^}>)6sZ84Y`NXad2rSW+&`J zO2B?hw$H)K)BDltX3GzkrIsrrG2$;Ch7ZUs4IJe6k`kKz@Yh{Nu1r``pZHh6QOt5gE8J@*k z;!~R)?B_XQ-dAUgHgUvkSfQ>!5BJ05VE(t6iu5W-Lp6=w=q#i0Ge8CYx|D0%%(p)( z;%eU8_^Y`ixaKx<9=5YX)P8YMd|HzsW~glt%_jzmu6LZp*8!U1Q%Q#)Z*y0euXpW@@MUw^y$%1drt%nO61bO*t3Svd{y5I0*H^HK zmu@jh`Wq(P{=;f>m4!u_211_{Ct)G?7eYsd3AZ$3g!Y;Hh0O1lgxT?5gqLJ2_WjaN zF@QUYx~?YIpItk>|NeV;fK5MzpRRlzu0iCb=h2sciwZ z2V5n2)#ucn_l*o5$f8P51u4PmkX%$pSA;4iM=0Q>)gOw{e@nhcZqUoN!<0KAmfqi- zM=KOV=)AazTyN&l{tR*kbRai)}|X^h>bPoS~%miwg-ADc;j@4 zH_Y=q(XY1~UiEdtzRNcFm~9HXo7(s`TLJwyf2A#F9@3HB=V|SLT#_$|r3<>D-Tv91 z=4`g6B{P)Crlys9)j#BmU)_^~E-T~Wca75}KC zvWfN#xkL-{50d5aRQkJiH|5OCr&-$7M3z$Mo6r-zS5AO_bTp=09767v>$sHk7E?2& zCCRVVB#FxU5`Mv0QlW1u`7+N~vSPBn#G^=4GR0O|qCQ4OGTrz)QjfpKVA&^#7*~tH zu5!HIQ2^6{yK(082B;cL!~=gXJQ`|*+-0gjmIj9WwLnsY2;p}ymUwN%$bb|~oL2y| zXO&q0ydI-BzQduWAE>aElc?t?OH9YAOLh#>lswz5DLEagAvyU*Rbu0%Byn9VE4iHb z3nh$Hk&%)owL1;+` zK=t3u&lzBN~Rfa8~YSqot7AWzxM4X2W zCVSY!VZ9Ru4(UFJtpn7iTSBzc!-z?8&@FpKH`Z0sqQ~i^*s+od^!w9>7z65vf5)v| zPw=rjV)(e(qxo$WEB?gihp2MrinymLOEk&bC|c84aox0DqT?!U@y)<4LA~U@;N5UW z=oghKEGyn78hrJYq^}@Vf>DHxzw?)OD9?A%rtg#*Jd_k?Ob-` zejtm_ldz$`Jei8N0mFAA=HzC@ilaQ(y*7X5;WUK}+B~1V8@i6|{T0iWKi|Xn;sfmD z-y`h7meXuj-gTyM?imZ%(81h~%L)6Y>j>W~?1iCaenM+`s1WBLBcyH45xzxV6|_Eg z3gQAYamR>3;^4^D;3;*9v);APJ4?9GL*7rzG?>8M@r-2Pij4?8;2b3dwV5go5VovKI z@vJiHM@V7g^;VJzd`<^(kAm}SDCK4~J#MU{7o#3i>-ttw@Rh|tBQ0DUYKF$uJ)zO) zibzLKye#rU$q!H1>~qI@Sy#CBbAXAbHGES|Fv(9F&-y9ACHpJMH9n;Bu=CUsokK^( z7}}IFi(YNu)ZT1D23k_I&)^|H-tRnD>MY`a!;bKRT_<^G?p0p7>j}Ro|Bd_Hk|QZU z6`JIrM3esg;1^yt@Nk(^-00qMUSj&1TV1px<7@NiQ%EWq=a$mAC3SRd>=Uw+dQP*p z-=_zAuaHvE5egf!lT>V0(yYmoX^GQ#YO-8J4f?xDVZ$|AdqWP{uX-V{bQ*3W79HOX zV61-ySb9A|3*TT}-dC)|FI1oXg9(p+LH|N0X5@UvtetPs>hm1J@%wN)Ui<&wvN3Nw zjhnv?!%i&?c{$P8T{9nJ9t_7nRZl3tvBaqwQ2K>m7bCICWhq`?2*;(>v!EV16{Sg&p<^@&+pbK4OHDbnv7Wi zW1!aG9~V=6a4gmeJuH;5>E$yDQYfLhhvTXGzfE*n*g?ua4$+d_8tN0*LQ&DO=<`_( zw%I!Pte}tJ19}Ko(?OpOb@c433_Tfnw2hYmIm)2miyS^DtDtkT4z@USKeH+uxOzF` z?KOAwo#2f)8z1b>^1%)lAFTM}jRH+C_>XhP;}#br4{^k5$DUA{WQ%3Nwm4zd6Os!K z=+)qa@bga4v$aS5XbWVF(}nwISv__+|b}{WB>v|Kz38{mKEh+N_uzJ$!+k+OI!nx(j-Tc|r3U08vjrV(O zK=1yE)Ny<+&08Bs2V3&#)A@^()14P*)xMC~L>c5WWlY|zjv{+acq?ciu0|PWI;F8p zY@tT!TKcx{FfH?nA&F}karaO%DvhSc$%PctdXL`v{Gee?DhOPmi?Kci5N_)tZM8ZA z&&t8lv6H^kHIw$tdMfWxOVdZq) zcRx*B9!2rrr_t*(K7<-wdV9B(uW-K1ZK4lwr-wWFfyy2H_mf>*-93j(d`|K{c~|(} zo^|}P%uViJUdA&nXLHRn(Y$Ox3_q=Ng3n2kp{?ut(BM%EsD5Pvox8K2ehoZA7wV2u z?@jsC?_esuDcwwe#|KlPn-BTvnA7x^h7|bJnciFvrWtd0Q%rp=^;)5fId&fCpB)4* zlg;R>mx_?6L#T=>#i95Mu!+8gP4}*M=gf8N-f|UomoCC;$9c3`oW<_}C((C#5l)yM z#N%t3_;1Qi45Y0Hj#_}eVPm?vg+ugr#zZ$8B%iZ|(poqCQS1+o^vSq(a3xyWx?NB@ z6JG`v!TU`G8g%Qh+T=0rE`5zHcU#b4+YXbsFDM_@j@c(Zp8j8VdE+O+d2c7AVgO;Zn zn#O2h)H!XWKh?sWDH=GUsS1NmMR;2(VB&lQG!0iqaGD0b=IKLgjyZ;3wnbF46H3Or zfy_KHJI)Iq?7h)G&KsY5dm}x^3o27RF>RDP{vCHkm#H(R!Vz5=4tOVVL}9!W3Z^@w zaD)?zyR*yAqz6VwbTGM>ET(I}qEX{7(AArnbXR*V#U%LCj7n2Vt7zv(9-re)r3u`v zF^E?`wdbpBq`BVM8{&ES9P#YM&7x%G1hMm(yEs6iE1viNCD>Fo3QO86gjm%)A$efD z@b>;H;abuZp~T-$c$MNJ9Cg>lb^9jXL( zXDLKb3;j`fNO~35C~o#S8ZLj50`8n3qupmIUFRxY{@XyKj(wz;K{9BXp@}=&O>tqn z9e%BK!E=3gv>kBA#4o)N+wP2h3mtI#wk;f_tgvH?8Lpi*K&^o$HqVhqe#uvodiaQD zrB%?fDY?XhV(6gkOv-uWOJ*kb99Kw;<0>C(`HAaVw6sm6f7UZd@##8}*&0Q@+oGx8 zhE4SIeFP0C98LqyInvYhD%5uW1ApW3g2%M};k>UM_066|I^FAPesw)zqcRr6I3Z~K zFs!TzMZ4N2$gYh;$opM*GkXutPEW(gZE2X4ycbILdq6vOq-z!nNqZ$rLx1rfwk5kF_F}bk;`oHhu*q}N{%Up-B@B$9ip2qvRMTpKk zfSr%i;IlmmbERSszF;HTYnJ17Nf=6a2o9-C!jZB-tp7C>UW*38?9EA||6!?_%H zj2iBNNot-@>F~szaxeVX<%LP(yiniZf$C>&@Kx`Hrq?dWigAH;k_(m_xnR;aNBq&W z!;>;IbiL6+qp=KZkG>@HipuW(%A{t`b+n5Op*N}K6czZ5?@+7YL+0(|3eMAcw3##4 z3X$caS*^HpXRcV7xJ7(2c%o?Q>>(~Q(-j+c{S?BNH43xxDg~wU`NFkXi9)vHTETC` z3_;s-n4o;vOHf>HCb;M-3q5*%V;kl_VY=caRv31Wb(kcv@h%%#%B{KV?6RTk!9i!{ z7pcp9d=!~NSch*{j6Bnd&|@YiEm)kt0~_7p#q4tjuusl`jBlC9!VXSlvqp!rI_q^T zC^Cw@sE=cZZtrAGHv5=u$8k34Xf@mI{G2WC)yWnfQWb)B+X|s0{DcKOT)4MxyYRB) zps;G;Eg@`)teD$uFTO4sC+^%ACE9&EBEDMtO!R5c6lS8MMms3i411&CUAw3%@yl7FxUkzCY zR*Hia2$aq%8|5s&GG5{mCY|=!3M){Ul{{UZrCiPe@$(jc)f-0-L9ge-ABT zw7?OLYkHyKj~m3Dy&yZx89&C^Lo3S$v$t8I?5;WVs!U)VX#nP`1>2p9Fy8xv#+JXJ z<6T$jer*B8?@A<-qD8bN!;gw8Eot!z8M=C{fy=a?;4Sf4JZ#-A{@=I+{y;XKS8dwP zdyU@0|2~S~pVj<%VSjsGG~1r1x(0EZ3E8}>u!+0n=+L=Lcj_zp(@)j0G{0&bomfAd zEUqxhNwcK)1LetQ^CPb7euirpkI+=7$Yy#=@d`Dh4{u#-cv+Fp`Dh@Q6?xbq>Y2)_Ew>o`BEoVz3b%@g5qDge_5&x7604S1%w12^yQ zf!@SibjWveQuJ}Ol$OGB&l$vzJ%g(brAV7}9A(Z&q46{y4-f3a)$&v2Q=Zj*rkqtEMedt3BY+AVB9gL2HN5?V#?U#g+)w zP(yabN7}pX67AoUOP(W>X|DWk8XcWSSvBQ!{B8pc$#0=AYyQ!>76lA>t_sgm4fL+0yrGxg-hS+o34B771NPp22mwcRHXX*meRu{~e=n5n0UN9Kp zhOL4J{!RD7Rjb}u+R+=42YN$gPPZqX^+b%V2S&c^KBlx6_IJ2oLa`&x{j!0TXo@GJ zHKBJ}3NjflsCIRCe@@G!MHAOizV%S*^|}Xj*md#c7cTIQ8_9gDJj7G6I-+@9moTT{q2TwvLI_blD0mM~5}pOE7tX897RrQC z!W}0j9L%;BUVqmRP8drG#h>1?Pbccw?CU33@b7dMv^AE!N{D1VLW9}Oy_^M{vtrRo zIxKUz8oTo2jc?ZMpT6PlY7DcDna4yc=Bw<$oZfk|;L&}VRl*SFr9OhW+zDi1o2RnH zOBS)3(d*fa)Ge%I{&u!#>Rxs}tcbO(y~^hOX=E`Qzp$nSD#ANsTR}O-Px!ksLb#@~ zL%3U2Abd`*7iRb>iuH{yqRp8gQA%mMh{zJLPkxi=@m7mFr!h`7;XGq$GN1h5ET3)s zj+dO$q7B7f)TTCtet+9a)qEeVH#tlBUU%vHnD>;K_=nO>714XRI>vQ(ME)>sgkDj{ z^Kim@40T0IpgYP6+;Gs(18>o$^^YW8N$;;7ex)KF#9Tv z5Q7%-I(vuQ7MIeri|O?4`6lukGKv10d(oj{UAiIF$w&F!;bkLF^O2+Sc+=NZuKIL4 zFVI-SrEDhgv7g=frNNqfsI?LwVd>1{Ua#N@5l4B~swSRLuSm0)F;!^UbbFpH#f&qj zKL(ogRHch=zgNe1xfk$F4N1JuzBpcPn9U<~Zu4<}HRzS0nh2{rC1W zjdfMRx?Fu|-?6~dqMn#_$_ZgtTyU+?6?d-mg5o1L_;hnegS`h9*SO*6Z)f})Ylr0; zX0S5R#yn{SwA=ik*NrVC75JVs=reJHzf?R{1xj~~u=c$pz9|xRuL(p~@EjDz{fF$u z+c3s09@lJ=p=+@R6U@?3E2QCT@g78`kBuwEa3618x|Sru2p<(f#E$ zbm!7(D%U(n>tAKjaE}9&rFMoSiVx__qF;3LktX)8)+Ds zu82?hqHX_e;_J9cV%K+faZ81^s6V+=SlIWz@VKj77_FW!C`%;?KGW6<0mo(w$zq@| z`UMwC!tDj)r@BJJ4LRYk)HKuVh7y`7HIvE>>Eyl`Sq@z?vtFWXikT*`7mY z?1hsqJJhAgR{VV9`*cjZ@0n;>cA!9uEzmGwCV4&BfG!&*`@@xuyW-0xnSohoOW2ls z16cn2KsJ2POy)CdG5fWDHS4^&l}Wr(*iWrOHdgHto9pp_rFXQlvwf6>ix+JK&)`9V zwB|x#(8&bh&bVUXcGzQKR+Xw48R{t-ehd-EI>w9Uz9+%9KmJagOx4}VGHfFK*4s?$Ytt!3JVke0>ge>&*R&+zC-rhsK$5gNZuHVd z!FO#u%+SDsYz0(I@1T$Y4P-U_6q)H|P>FORnf~5IKDl}HCaZ!zPklgNcDyG||909d zej=Z#>(Dw==l2z6TRqML>5DKvXNi9t)L(k+TEj?AD@hNX0@_H?#lc_3SQ}vi3oTRRbZ_qm8DeaA zzOEe5?V^c4D1Ov)%HDaI^pp;fgH}9k446-r^#du$$%a}zlxXfB+LCg%qw&X$RH$cP` z2X~m?w1Zui8SX#TgLa|@zIA(T&{TQo-IB&=`#+?v{GG;Yx0AHWM;f2=iuNpgN{8hd zNY<%_Qt1K(m!G23l|@vLSWL&F$|!T!T}qH?r-W-tD9tuRp}q|?iyU!mwG-C5*Wsor%I@TP>mZpxw|WA>7FXf~ORE200MU7>dgjpRJwGl_4dFrrckr&}~o zFj*I|z6Q{gHv(H`3}tUq6dyK6X}4Ee>DprE!=Bh2>40S?9I*A0J=O&EMEnXntp09? z$k7gPpX`F5(H>~;?So2H0pmP5Vxu`)gG4NKVt6;v2d=+8!EW@z?mmwAU2KItwT5tA zr;4{uKj}#KJ%y^Dqvxqp6nMNF!c)0o4$wJ?F!>-5v#PC`$C0K3U9Zau*MO&=UJ*d=q{=Y*I)xx&cw1mVH(wZfdivxLPx z1BKVw5MJ!@4jso3hdq?EjGc!fc3L7Vh2jiSlLTEX5rC` z$>qDV7kTci<%kbk^V*NKVj@%bpTp7yE@t<4Z)EeoCNXujL+tq03O0b6E&N6u9(55}>>3dTuJ!veVW5w0vys(K1*>|ef zl!xhBHSBlMhW#iVSUGCKYKkIK_I1(>okvugQbwu24$$m3X+*yJ$lR%z+B2@u`CSj` z*XY;uBH}HDwLGOECO7DQ&tj6hl|(|-LRz(JB<<}tnCz>j5D(izwSL(&qfaH37CtAF ziBgDKs)fl$7D)K*1f9>G`0eR~;a9zp5$T2}ukGN%_cv@4GvuVWZ?!FVkpywCgjha2BbT4{J;f!H&+~do z8DF=qm>a5RaDTTgeD1)BeC`W(K4XdrAH2nspYs#=@Nuj8TD=l3b>s{GebSOvOc+LX z8Y?KHF`kay-AAUHN6CIjDZPGEMr%J-(BYyBR5OvZwd|F7S*z(S_-~%lX~mdQr@px8ZhV<8D`!l z=Yl&lZ{%HSYrad{*Vj|5#v^Ka`I7cc|4Qoha(FUI8*?noVII;Gm3y6mT4xMS>522c zX3#EI$C~p$=;_-BWTRY0=_?OXOwvBe)5#_2jm6ab-$fcGb)Sa*{y>86KSHJwEd8}` zl^eitjR}5EG{>Jg7Rc^z1^)mWEKBUp+iZKZzj467CIeC*b@i%%(X=AGkvU= zD5Ln~H+qwKpTggkQtG%p^s{;uUC|y)jZPM16a0(UI9=sER_*22UqtY0$9nVa8&rAZ zl80h>et~!*ELuFgGDu92^ANW|OLY3#Cg_yk5;j(s3Inb73onQ55FSm96dHa^7rtnY z5~fXukRtCQ*j_ajuDw?g>i7L)S8YGCNg4Op%=&Ze>EApSo4uP|`xVV@JX*qrS&e2Z z*Ysgo5q4~MhXEVzqr?mj{`B1@`_Z@Wf%m@eN+#)p%s)AHZG##M+N{Cq%QV<- zrpx#}Q+8mGHT%@thMAPvuy?PV*<2}Ne(y)I0oSIm{_3Hu_3LU@dNQ7k+i))0XLYh$W=)CYa_mdFS$3PrMB=)}_E`DfA5)ag# z6n{50iC>L0c$Kyncla`$SLej>8-t3uyICW@ze17fHrUfPzY#Rsc@^!7+(lKt3#qj7 z3XN=jLTanOQd_Ak^omqbdq)fNhUmb0o+jRQDniNd2LK98x zvw}$3-4MFK4)eNQ@XH}R9Ej6K za-0sPtv0~d5vI_--2*d+S)lH@DNHx%LI0{U)Lnj1wd@lz)vKUm+WYChLEGr7))Wd_ z?M>(J=#bl&R=)nmC9ZHVi_i7i!0qP`=UT&T_^fbME^DC5EALtHxxW6q@b^L4@Pk`A#o=A|#0UHDiynhy`QLlJ`6>TRd}LrL zzrOt|SIjh_eFh?ps+dR*G8WU>ftyI`STr4pkE6jg@w8`6B5hi;lV<9tQ2WbN%I(-o z%rcD*%}%8g!;-plD4N`i|0BEvm%;4 z;tCn7Kc=2R?WFNt2A3*Tp&O-x-?E1IU}ubF8phbIWC*<#x;S{M+o3d-vHPS96!v_l zhtlt9kZB_o#MO|zLj@(BI!+tP57VU3Tw;6oQBRpHx-&hC-X&#IpM(Px8B{<~ACJ*` zgEG38c$J(wZj*WA6M7>5p4y_m(TLg77;|0;Fw(}dP!o((wZ-o`7f_%V`UU!6<2!G( z7x%)DCpK6=LLaiRayaSpmOiYjrnk>eQ0T=&v|;WcGITyhGT|5KQt~|-llP7$YX7A- zq>RNQbui_OG2{nWz_Odw{BrHE^1p81`{#gO5+~eib;7V@Ck(jlfRTB2Se9dj&kxOU zIN1~(pG=V&Vgc)PJ4}yug-3C3Ox@2hVRAo6<_&;zbAObhF9s@b^vv{uv8g+n0vxcR ztp}Pf>f+%I1=yTxqlrd$>9g|*%HEPf?w^;@$8&yU{llDmH~-`xC0DteMjF@Muz-u9 zeYmf_IxkayEN)6ZB5p5^5!Igui@jEPh)qv4#qBp+1&`F5g8J|i!h>6x!okt8g8b*D zLb7tOFxPpQu*jPWbF-X_e9_3ps9t6@&yKR=CRr@yLn1S< z+{8?m%w%Wp4Px0RJ=vt^)@*u*784tO`sQ^!_nq+OiLag0bKe_(Uikhu=(X>u!R@|U zJEWN0eK|JFK#pY>$ugH}CFV6on;AYbU`^W%*^(Gzwo2KS?Jn|RPRT=9e$sfhYCs6< z>#>ZPK8R(h8QJV;V=2qEsbycjy=PM=sR~*{T?Ch=@xt_|EyAge{eoW2HDRRVcVYH* z6H)zVU-66pLqNR0$^ud9Ns<^g@Pznp;WN==uqy8|cjHUygZTHb7=FjOkUJc$=W$nL z$#ac0tvo!4`Zq76pXu?WSd>rg^C~I)+XJc$_)N=8WUxG11&6e?Fy^^7&Q8_@U!sJg z*M3pQ-Io;TTtf%?pQF^e6ExiF3>9`=Cf~bvsPx%m;u%j#tDv5SeZ4@#cORgGpEr|x z@Gy$YwxRuR%_u(6m$potPuYi4$tAdq8eLw{q9Zam@>mb2yXV}qBVJe*N7!T5A9Z*7 z;+c$qcj|6fC|V<8v;mqws>7;S1#>FZAYGt?pRLBY)@*^IHP)y;Y6*uKCNS!wg-&N# zSYLWaZ4K3Qczz+x{vJ<}4Pj)k7u0)|G4(g=n<$>)w?@6^j^%1pGRc}$wY}+wQ$M16LuiA^D6%UVP4=V4 zQfc~&qqaK^VLZ>Y^6{G2ub<^F?E)ngF)j~#&T z>i`W4UwmEVj_gExX!h^+%Lr{q%;g|6@FS%wcXMTP5k>UcNl$DRQSz?-bivGwcup6O zOS-~)7^U&*X$!e)o-g;Dp}}?LJ{2RE7l|^8+r`MZsp6;po}$>ODW;D3BqaQ-7H+7P z2$SZe33sHUgz$Cqg+q_W2@|UPgor?2L1v|+uq4h{*jb?}{5UEt{J8yv4SevNZHcL7 ztGAtG3*rtimFKB!k5Mce;JJ*s4;|0m&g{!BXuGrZ5k1&~U}ZM%{YT&WaSgsxLazEA zx>M`hIIzL@=gtSdH=-WS2kza7I_P3$&yKrxg3(LKcsD(hJOqBiz(leX}7 zXK&%U$4ue*ukC`~$O55x;VofB|9`?T*&gD(s{Z20hWTRP@kxiN+2+zllO^(M`CW;E=VJuQw8q(Iv!Iv^C#^$oXZVF5)`ERBg1AWjJyY7#88eqa=oxhwg+n0YNF3JdDNQ8AbycNc2ub2dZ!@@ zA6Q~aiya34v%~&Bmheh7#Kz|;*rwA(^2;C6lIAm{+L}fULF?&b(kNQ-uP23Xlc)Uy z8u-M(LT+Xg$M=g1`0$Anc)$7pZhveXKk{%IznmS)mt-yAs;%L?B49f2=QW)F&i3F6 zCVHGa+r%*rS48I%1)_Y{L2-0Tr8xd~re2i)OU^A-!XG#7__SC55O4|o{Q2rMWYWd|#wcL&-oHU}XYgNdw z=_j{)@s5}IG;{OBkNiWt6b*f*MW)$ywDc#@0@F#9_G&o=&55BB=~N1D%%LZ}j?m-S z;}m=M6ix9ir96X^v`w~z6k-b~#rObC`Itf1lv7A~NgNgUY^LLmOKDoiG>UvSf^?n} z$)>wg#*&_7^VNcSukF#Dxwh1!)Qd(e8bM_pi)dP8Jl*(ukhYp%p*GW(H2VK2IPbWS zzCRAPr?jWGmWDRx+tYvG*G2q9RI%k3|`|O!mBAYV7<8l#vZr?uN|+$uCf-m`QsgAh>XC|9%;Oj zql%lV^sw~U1k};9MAb+eT=&KnqX%q}du)Rq;Z|rKZH}o=jL>^P2fx>-p--U#7COpe zWuq)EC|APS!CF`qWP*_mwkYrb&|Ja=wXVD4vM=s9{MQA4r8}afFU9sOD|~sx2&V>* zLxWeN_rOjNLuPh^=xDd^R4<0BbN9mj4N-8b2q7t39TryhGkvw2Y-G=zYdJpr#3yd%xI3JZ{~2zLLnim&%yte>hI5g> zytz<+2X38|EjPZ_kSozr<+e#nalHowxb0cr>2c_y+5PwF(qonMztSRl_h1hFESyH$ zp2pKF-izsiZZE1l2Iwj+b2@3IDjn_=qR$OJ5ThM0NQ1{YGB3M|NVwILy=sl*jPX6< zF|mn!AODo>Tl1RCS<*q6%QN!)!As)m^o6YL5ul6w#Hhq)ajKIuhPK~RrxmBnsoFzE zH=DT9syp6PKyxA0ov@w8zB@vbPG6$0R<+Sd0{`eQ$8p>f(W#tR!zyl|`vCWvlyRb2 zZQP;xLcC(Q4u5s_RKC@0DKFHT!WU0G&Hoy1<(oZ4ScjJpoAASz>1S?ZVRrc}GxQF- zAN`A|wW)yhrpcggKOb73ZHEn7M__Y(IXDe8Lgpv)0{{2gJ6_v6e_;*ANCIl6dL zS_yZfC>r^E1c&0g5RAp}+&Kl_N-Tl48V)j_C_{*LAIomP&bC(NF^PqVtY2y^6T241 zyxZopl}U4%U&l-~O~jYo+wROxJKHfnLYG}tl4c|Dg@4uG#23O`z4$H?loJj+Q~lpbh2|+Z&^|AN7ixT zCo8%BkFEVI1SjH!A;e1np5Ok?#Ey2b-9H+bLr5k2HguN7(X;G(+9lQ@*1)6<-?H>j zA^7v3G8}6&h5t590Z;MS@c830Fe`|GHu0VC&o2pb_++>#o(xZol3=sOE-;$C9o_}T zfVIauu%5dV7EcX@9pC&R^pqBq+ z?zSqzpJ8{zQlJ{WuUvorR!{P>Q}%YGhA^^lLwYh^TbXocl3F>oBh4IH;&3LGi#M2$$gCOuPydHGgBOk7^kgp2gm0 zu3!t7Q6}|GmWlj$&Bs-g@>7nb@QH2<`O{f;y!tCS{{8JwoS9rbcf+@Yo1Br(2_22& z&io7EmiD@FX0r%a*=){{ySm(*nTlM9xHuOW@Q2!-`by>dJ87GAGj)1%h3@w_LuWoZ zM(qz}&`-w_X}HT88dpD;nukrJwS>}WW=I|G%hGMv{*j<>pUKCI?}@tUadJ)eG+91) zi6}p=A$x>si0krd;Im1Bc$wRw`Mufe^x^H`}R+GY27p0h_7JHn-|a`^BVHszJ(t;J^Ft_pUG z8lmJmE3{Z)hYG4T7#?7XQ$n@zL$WMZuz!%c@CB64sfLrAvtdt392|e{3sc^Xy3JfM zSY7;tNd%l@{Xf#!n)jQTseTBPGMvutk3sgf)0*WyFl1-Psk6(Yr&<1)0EkOK|5lBtZg}O#{7!#!kAN*y& zFhc@*TEwBwR2E#$>x1obXPEYN4FqRrLh;K=5D)5r9lpXSGgcKX6ircg2ai6xJW#-S zCT<&?j~~V?z<;_S_||+jMyE{2S{cB9U8eYR)PW7(i(re|2PhqR0D>8{@Ts91rY*e= zU%Z;3bk93Tc`ASn8)flCg%;j-GevV^hxHOXJ~@kcca;Mkx&UZ!lj6WtTf9|nhQV+2 z5F}M`U*Z`2<2-sMj0EuZCPB=PmOxHa33qzxqgJ04F1ZW1hXa!JlpxZU%uIcq~B&UHwG6OSFs?d}rdOpW@fo5e?ZO}v8|oPI!E z6tB^5@L~Gia4!|!A4{9}h10p!0n{MOg>KqyLmTQe=@}I%dhqBUA~&^< zbgcYHirbHqXBveh^I8#EZ(2(B?kgw32hWmKlZwfBpR;7`?Mvj(&=qpUvziFUR1@8q z^+XF_64u^Fo}~RIMRbsez7e3wAu@CY)227joF)w0Q)NFV+Ef`rL-P{pl*z?(K~gid zvlyaJ%9Xi@Q}$fywqPz;WfwQU;wZP!?h3cs;RUzAUx<(TK8`}z@^tB9>+A$^^!i%7z0MmU{O2Cq}s!cbTWY%e_pf0FLPMei?A z+b@M`89LagYKPLAZn*8kOuSLB0R0aw#*wTAxWFY4M;1>(Eh`h0kCMSZ9-kmP@&VNB zz6XnLy@qRv!Wf~djtXbYu-%fNTn=C?FdPxJM?HQ5UZNU!eugC8nfn!v?`VXG!zHld zND64Xg@ejB0)k8td@?>T?sFvzs5!`ftFC8{V|>`%Mq760iVjnKC&#KPM48`;A^yPb z&%Ei&H++=XOFnm3JFjp3oOjgd<}Y6x;vd?}GPw`NY{mr__IUPUwslcFYtl_&UYFCE zL|-Or*__FY8`Ig3n`z8bV;?g+xsQ$gvY*XzKFC_O9b}eWX-xU#Zni^o3!@7|n5Cl| zJC#h?j&U4&&AYRxpis7PIEFdfrm@wog{-B$nu(`9Vz0R`Y|=Vm*kLyoWW!XzW5qbw z?WhIv(==gKs5)exREE463eYu64z8KYf$kA`Sp8QKgien-(=>IMcWWG^*=WO=TwR#m zuMexW4B^NWV+aT|g@=V!u<#xL-5Ln~0-GVN<{*T?1&DEY0!A)>LD)+H%}Wh2?(t;2 ze9aAA{|i7dG9Q<^FF;$DP^{9Ni`2je6|^1kyxm09d#{1dK8a)7@MkEQ(F)rp-vC3w zD1I7HCj#wA%jGM}wF}-&RMy+O;7Hfxw zE~aQ{qmA8;^7u`;D!uw0T zv8vw#;hhuq8*u2DFcDRb>tXU&Mbtejiq+%`ND8-r)S3&hao!=gA0G!9?*c&Q(L~sM zXe>k-_OP(;mF$v3I_t5BVuq(DGl^HSEOvhve{P_hcW6)LKg)&lp&65TVF^Y4vGZ5X zb4NY*?@keC8te%^@}shsnWrN6FZv65=wx zl&JTdC-*;=lb_Bv$nGUi$)}AU$dhHC$t3SyBJ}7x`TI;rymZnW-mH2XKk0NX|82!h{>0-S{LHUvY!z`}{|1(^*Yna?>(BG-b8;J#{2&Ou zqi4Hn7+^+F7+8rU!qabg@J^r-zC3FIg*WfPVbLGxUo48g+axhzp%h+PA%P9~BIv(B z0IgMq0Dk=frRk%cW;6(<%Ld`m@1OAP^aqf#eFFXwHDKg@0&?uqU_fjK6vQTgV?rtj z%N&ObB{d+P^cu=)gmC>`75rOjhOo#HH_!4%;fjUWnX(M$>P6$O$&vVa z#<+NvB-)OD4YNaTLZAOFkkRUdWFK+77Ndi2+idY%`V>6e>4tr>Za7of5yhw-+P*Tt zu3$yvz6+oNc?nI^s^FE~VbBfO0>c6xKvH#Kf9PMHXJ0c;8oj{FaJ7emeWbe~uPnZx+b1k#ao-VUyW& z882q&6T;TAWh}IA4O3R#z!rSmz>=&tvbw{YSa;cfOx84xUHcx#JUwF=r@V%JiwR-> zv|O0KlL^y2Cd*Voh!u#4ux)LMZ07_EHaFRmJ-o7v71$)QuGvS};)HW7xcVluU)IKw z8oL=6*vFQc_Op~3KUsYF7q(pd9Wy!mg2gO&%vKzE$YxxB%wi9{Vu6=>*}((DtfN2- z#z875waI6N8pjsGf)(kCm?;)~67>$=HAwDp`v3|BlY7tF>U2((bX?XjB^3QfO8jrnZ(K~x9ZpHRnCtJ^$Ni94&#gW^gA?nW#64eW$o)=G=ep02<&t!SIfqMq z)G4i#o|0>)#Oxt0ZK$Vr1}kZf{26*y<2e1wa;Q{TIxSz9NYg%Vq!sVN>BYHo=(FZ& zblDMmx=~t>{+=UG=M0L{Kihti{)To^Z*`l*EjmSFDvlC!flRW#XFnzh54&zpp!WkEsf$D~{rGDKE!%LC22N_BA3y)44Jpc;hxbHodC7F{#OGC9#FG?m z{M-U=>-|bjY04w6>iaJ)Vv_>Dw%C%74fW@*Da7*GN=JB=#%sI;_nFsJR$|^3qs}V4 zh#lLN#BR2qWMMZN*cXw0Hr`1IJR)tu(t9=>^pA(2(ky86DFwsMyD+KkH58=$gzXK2 zIO#tz%$g>F8 zRL(#|Og21HJP7?$v*5+-LXh861s9atK&kc@^golqU&8wML1i*FcX*)q}J>!_Ysxi~ew_+muCbO(c#?1CkVeO)B%=e@h!>mB&XcWvQCoN`= z-6NUH+i>>&U=TC?G>!dswqo{niVXF>@#4WvqfD&l&uo6hbETqeulRU2X|XfAnHa$a z!*;PB(nnaG<5{MCs)ps*BoB8%CtKzEJ(HGZP zs^DFgpZ1i=PW{AE&j>=)i?N`0MGJC+CIY+b2)oq-;lH${pdG#q^1ki^1H*hcc(($i zW<7wVH+!M7LKH;~s$kQ3V{}v}nAYHmOKqN3d5H z!}nq8nCobc3LXrNNB7I##v9#reK17F6Ss&uq4tx>cs|1v7wT$avAPVp_YT9z*jJEX zaUF6W7sBxVWJoVt3PaDFfSuO^qb3oE5N&5|YUi27@f4Q-bOF2j*M{}f$*^q&oxIt# z3;cJlG+w|pl21Fu@fU9?^Tnk%S!a&UR<>0=3DD=a?wiM zM*~SN<^2$?jqIk!Bid+Td=oX4ze{J-)l%}}0_CiV=&p&!Xi@bM`m`yXD(_69uhU|v z)W9;D91%*-Kl7u{yc}s`yBWO+<7n4HS^DR;Fr6&_k=*mYM*`z75vz4a$QJV~BD8fM z@eNHRQX6)Xn7v8l{)7}#+_Rggw(cOR61&OFwdrJd{ZaDjd?7j6Ur5ZZ78Cy+mBgU< z9x=6fOfuHA68FLuQnuk0`6?km{}`)N-^@wW{@6?!H*PC66Fo$~jlD_-$G)d6=2G0? zX&o;4z$9*Gs2}%b+FDNWcQThb=_q$O>H-(~ppkpk{F%c=GW@@dru?$m-u%PhBo7qF!J>@c$ic}=b~m1SlbIDjiR_xM-6+J zIo|M}f~n(X;*1v&D1C4PKGKZCw=r?pczh#jJP*gz^V9L0n*~mpI~Hw`X{Y{?1 zqTC8-Y0iMUS?fXbfE#2;>p`BL5X}AE$^>1{v76@UY|5=TmXROMx()}hq6hA*RB{S) z-o~>9KPNGtb2dyOdm^)(XvWk{ConD932c?0DU0(nV}JITvSMiyb|T)8ZEZ7P#j?h% za*H|p`NEFn3puc!8}7_J#fKf2p21FMdot5A$Tkg`GKUrgX1Vhx|90JdUOujh*Uzlw z!*;&nRlCI5xd+CKxAS7+>({eYulKRq@Dr>nwu+T^-D7gQ+gW^P7hBQQ!|sWFV0xZC ztkU8wdz;hA!q0cIOa0w!^@}gew_})XvlN59!dI`HFN`K+X&{$SHb#mC7ABJ0SRVpke%=y4$YE6Jf?}Q zb0=bF=V;HrorVe9W}xw`0K669hbKg*WANcAcqP*or4#j0e32|B_6y15{9_aPo6cjJ9$KEPq?9Nfc zczH?mqCcROJO<-4mqB}MF08t}1G;@e!QeaxDM=bIzv>_R^R}6}n-w#I4ZB%_Ll85J zw`7s+(rnz<4*r(k1^#?;8jlO3_(Unj?;@)FhK0X4_rgYQZOm!z?(H;ggX21GsLq=U z`f1JC&C}-8_Q`Q$V@0^1rG0eZ^fUT>&ON$z&rN!N_!^z-cA3tVK1*{m3utU&Hq}{@ zMSspcK-YC9(aGoH=#8|MR7hnpbt;%ckJ?Y84`S^p1{=`#W@>aDlc53E{t9{GIX0deBr63s4gnrmS~zc2Bo!ddHS zRcsn^ZTdr}h$wPavyC{X%^X)KE#*jjhPMz0Y_X0j+}qKELu4$r@thIProsA|6odmhGOxM>24Zb-nflj2bN*a|co z3c%!vqx(309HOoSPV^PR!vRvLTBC`cHg=e{#uE=63C6VfOL1P)N|cd^#-**{crSDg z8p*k%w3{7H@zcS3zEbGn`w3PF*2A0BLMU0D2v*S{u;9QXuq{vqYGaL5~9~yK2u?NK9lOpG{yXRTJ0+bqm%#&xU10OlGGiacsbXvesp`3_qGMl^q&v zz)*^P$m!>I+PvoXIX~ldcJ%Nk<3*Tmw>HbJox;Y2E@d@5X}Oy!~L_dv@M=etjqyU$yjj>R z5saS|L-AhVd@Q&Sh`F1lp-l+IwHZd(T&;j}BSxVA^(*Les)ysBsvx|p3andi!$jwo zaPjFdB;Aw6iRt>dH`NZs44v_$urH2GorTe><{(X)i4WSmal_rI81vQ!rSIyXXrdG@ zhL58yUk6L#&cGFoQ&2y<0+xw9hS|e^!Cy}q(;rX3&&?b*6uY9;t?9U8ycf#)xZ{5& z4!H8B4dyWe)XGpo=c6K6()|HGyuSz6ThGBhi41s}w-s)d1i+ms*04=Y5#~?+!M+&Y zVfH5qm|9H&v#ktd1}shM* zr;x^FWYg>g8FWk30XjuJqdi+!QD?IyRJ>z8{n+b6ZPS4IhnmxtZ#wi$ zsWR;xlAw$1e~@W@Pl;O39b#T~llbipA*p0Jk&E3#q86_wF&CDQ0nZT9RJer1s%|8! zbK{8O$5>J?8b_A?*h#jy93W~>vx#F;E_tk-L(C2zBN{SiN%~+lQ952nW_jEv13Ax$ zy5=w$I;&0x!luyi$t&pF(iB?p@iyroL5qTCxFHEvF|2?s|gSAWKvOIaDo z`5Gi}gN5mwg7``9;L2+po6y0n1TlVo*?4|lsvG}3Zxx@En8r&kKgVy0dBm^w5M-9? zwV14_1Izmp&a~C`uzRs5S*KG2du7nijy_d_`bawnv6}<75Dzg6GvUqf87R7S6XvdY z0&D*Ez|xmL;rrBo5Sb{1cictsb-y_3*Gr-PN*NTek;UhFvgnmK2Iox@#}{EE;6D2c zSVz4AD0m2-n)jh4y9rJ_X@l`n-B6PH8!}TRa8;lx&e~>z&6Pafu=K@s8DZ#ZwgDgZ zZNq-QUD)z;7iJG^$DuVFFj6TLX_E_@&zy+s7U-bVGEKa`!Vtq;CZiI1VN}&ZJY}&K zlOkjBb4@%BLmc|3Zoty@5t#Zj5Rd(G#NkF$e0M|%rStxQk;SM()|Z39hjduKbRFnx zcz_vi3`!rRVGsMlDt0_z_x4w^n$^Y3V#84;>TsByzmUP?gbp%{O=mXw=}f6FovD3F zXFDa**_HEYENx2)+aIxuNk5JqWn47-C?3Lk1AW;*o--R<%GldQlbLOy9n(^@Wi3ao zS=Sy*<`8AhO4Uu6Nu54(Rn=k%5o&D3ITf~ak_MZlYsiwG6K3-uke&12!sxdHtncz^ zcH;AGb~B@sS$`X5&#R?i`X?38U#Sl-tSz8PWiqG_I6%cAHweGr1y}oLfcb;~*u6dg zbWi)k_E>*#$e9UkUZGHZVhu?8?1qy!a^Y%vB^){X6h2)Wf^G|0Oc&9^7aBI$m@@^F zE_$QXzS&qA9gGQALr_~g2yg82$47y#*fGZ*o8IbSd9@7weA*A!L`Todyc^)%T?u2f zu0fkZ6TEoP1M7oCaQ+7seD!MrR=?-*A@7NuMKe*(V?OE>1modTbJ4S42D->P`{0{D2y=QBFH-muoSz;rL^k-1gIBxFN^Clzi-@)yMDBuC15pP}DiP zr>>ZaMHEsVa_EelbUH>cm2Qzqp?c1HXw|ZvG@^1VwLTI}ixR_WP*4axsu@6UpLC)Y zy*BjFN+YWBMw9-Gm#3AjLiEUt55(|#8_|8*L^SFeiDsS)QF`h_{#_3yiYvp3RCNe> ze#V~|-0>spuP-1f{cFi!OboHf+Dayh#gc+gJBjy({bahtVX|iOVG{5#i^T89Axqa6 zk^8Ne$>93CL~_haqO;{U`DLjo@FFZ!r|izL^z zPMs^bXvDeBx8t}dSMFn7FqgmJKW=TyUT*ToW1J$b;SJu#yaeOGcn#P#71QO5jyC2ESgC#XoKG zxS>@Zd#Efn8cShfkT9N^@Eht@_QJ_eUGQ_L1LEFv!3EL_S&M&zz!*_nHc<{IS88Es zg$2HS=YSSj{)nkda7bY@`X(pfY`5L`CO8R;=k3Dgh&bG#y&RhpXW=S+7gWvS@L4Q} zEZ!NFZv^54<0x#&--K0%-Bx|My|<2{3$)Kt+R&2nklfxY_#v^YFjRK{#>aY&@swgZtE`V0DNk+O8UhBW~gt^Q*8sz6#ofZ-L~cr;w)p3yu|!!80{F_@UJXqgFYiw!J@o?;Yh-`68Sy8;1FP z!Pt-=fX1aRsM9?9&KpgfVke3g$DV^wK{-T89ER^!2O;J530SeD0jfR>!1wivI3>;m zmkUyCc;|%4?d}*W8vN{M|2T_dk2w5Q#tm=E;Dk!HaN*DWxZSn3-1!hK?n=ZMZe!IDO{{)N zMfGn{zOIz+PdZ6`#PjK`dD--Ocsd<0OQu57yXb%CchGa%JLuw<@icVq2Ku%)iVm49 zqQ}L9DcKiDak(2^Tr`=!Tx>?a@7JeS&ZJ(LhRii5Rvk`rqlIB%Jc2BxS^0J?i)VF`grV9%6b&Ca6kqMv*m*Q!5*&%9I zf0o|Jy+JoNwNrh?Uv&IKNltjL3U|9#mn#u8=Oncl_cqI)+w^1=cQ`MJ`(%>GnPgw) z-mzy~c$hHnw_1nq+3Co?u3pR^IlYV5dyvO>(W|_dK^OmlNw6dB25ieAH&(WO6{{Rc zV|Odgvs1K1 z4_<1EVnx{)l%Jx4&&KNGH(x6>{q2Z#vHqC;ARMnw*@W(q30PFM8%1mP;7s`>?EjL0 z7LPWgdPx+j)Xv9;Ewgao@?2E!Sd4)s>+$`K1bi5sf(O1GK+%v)4EN2%nfDH$u1N}V zzqaGSx>dN=Z4PEOIpCjEBOKg478ecm!KtTr;j7~*un0~D6`^Gy5IhYYEwzN6-I`!3 zCktQVL_vDSU-sAg2McNKWgo}CV~%$^*}lcE7(4Nt)lO_@GjiIPNm?rtxb%P>c+|iG zn{KhC#aCH)>P41Ud7ABCS-=#;4zrwR``DR9iEN)uJPYdBz#6u!W=~Ytu;}(pOh|4! zJGp2Nn>6zvTb+B9=?0%+hh(m>qfYnP!Y!T5^~Z0v^^qi$l&Qh$wChe# z3`Jopq4jJWe4&YOFJLc7Y}yZJjMAa^&wglsy%#QzK6k@72y|Hu8!MJVZf784GW_pkJ>K-rOIESFLB_^4J;pKE(}P-V<~= zYlJg$6tJo1FI;qe0dGrh!3oJKXfwJBXTLVWv+wUfOjQKmHml$@CsSOl2k36#jh+fY z*wwli9S%fc`jbeUm$nG^Da=OMK{qVcu*11KwJ^F^6hBzKgw{nB@bGdDEbq$#<(EZ} zd8HBP!9nnO_Wyt0n&9+jlQH7K6zqKFf{HHAIHMeJ!x&pM4mCuhd&;OgPZYbqe1NFq z4Y1<&8SrdB0QPE|p|rpcw0f<8_$t8(tKV#J%mb#|Tf%NUNnzHp5$ya?V6EFV*pd7{ z{Oc1B_|||DK7U#YFD??n57z=8xoI5llO@2f@_WL~-*}N*pP9v(Tf}m28Uwl0+LO4m z!`hsqvJ97GH$>Hnp40EmwRDfe8CqX{jOO+orb&_MbgOzY{rGS@_20XdX71cVOI7}( z+NK+6gwF~ZerOSmHJnckKFy&AtOKY^p*!8;!%>g@6Y1IAM)V%hroo^OfuY^M^rAA63^Yuq-Mb|aY|LD zR|6(eUA5_S<@zzzBXWh;9%t7iqd+MM7IoB*9W5NuOKeP^#T2o-t z9YrW|(vy9vz)TA@Ox3!dxuLFu=@aP*ug$~Q^l)KWRjFI7a%FeUtbPXVt+jW(i@ zG{#7aqoIfhUe6OkK~Z7cE+dMunM$jsIm#MCd>!lG%diR zR%_AUeH(_ZOvInndvN&f9?a`X#3N%8u;t-ayn1*&Hq2j#L$kKvyw2@tq@9dw@26uy zXf`SxI);YD1-O{yV_9$x_O3XHB?5b}XwOzO{<#o^kGrAIOLJUNtcc@E1|hYv1ui(B zhe6$gux&6FDlJ1{`*(LhYXY++%;D${eYo8*4obCEVDWT$D7TRT-!e%US1ty^nj-M! zfgrTZ8DVe74YOm}zu4uhZ)~8gml>FLv*Oh+8GqstvwPXVa6v7*UVV`rsVQMkwimGX zPPwc|KZm8iIm!g8ir8M)ODwJ74jb6?lI^?plWCZUL$rc2v>F;fM3@~Mt#N^i3bSFK z_EHGg5d*$&6Jfo@4=yzDzKe>3DofhtTAYZlaGJH_WrTB=d3=y^PPkP zHSQ?=X*L=+EXJ^~6?pCUD)dlYiK{O}ppa=0YESUQqEnMFs8a`zERw)SF>j&Tv=*u| zis0(%LfET)5pw1}h6CCoFsP@Do0UyacF`o9tL1>b%2Tm1*8$@e5ghQaK*wMmgi={N zdhj1S)_Mh*^J_rXxd3L&NP@+_k?{je1TEw$)Ij&SI)6kxQ}lAgv#>ml}UepqjHc(uT6- zwD;grI%#+rz4ttdx+pH9U%$_xO_u^_k*z;HCF4u=C%MsuMI60RYe`EFnb3mwdh}$q zDs8+aMU~J0BVVJwlKzY?GW@=oBu7+}=HDfx?WH5p?z1NrEfYwAk_lP2*M{iFJCGPP z7ZRi8Ou}}#l5`e8N<|_G%-ukyRBRxpHmxSVo~$Fs**5Y!Cy9JkOd}C?nItYfkGx-e zhM4=+lZ3~8Qy5gi2jV|$^z19&l?)Of5&MKQ)%ABJs<*riq?mKjR%o92*|0CUG zG(x*JNN}9992e@P!JQU0;~EWII88o+oA4r$+xaw)V`Y`x{IgHFky#^LagZvn-(kb2 zOr61pMX%<^DJJtpQU(09ZMD47qj&t9AJS}ErYW-&^kqlYwzAeEhnS9f6{{8RWSP0* z5V%7hP7FFijPpXcP_PZkg3@76Z6W9+RKTJ0w;?dK4H}odgH6+Z!INeoY`r9j_a@7t z_iY6vhD!J*UJ(md%VTWwSe&zI4E8HZqvaPVtQwKVE~&BTd{+(+D=Oicf2z3bgC-tZ zGal7unPa^nL7_jcxPIzvoShSepz$9jd+op~nP(j;mNm& zIAuu+3OJ|ZmQhwc4?K=X>x(h+*jYSje-8Dgp2iDr3ekUCHda;b!E;4FGEOwF63z>!EST zhBz31Ga2eivY?P1hXcCjV9~G3(BgL;?$^}A;FWujS=R_f^BUlr(k;+GT?vsUCGd|s z1lM2gfc}(7kVy%Iuq(5G6I=tgg7(AN<>e4y-VROr0=T|c0Ua-nN5j?D_>kwZC(sdV zCOhJ~Tn;asw#3g`y4V^cgEFgr!lm^OVQNVgsQx|={}on1;bwZ!5fv8syhOw?IQ9g46hWBp5OP%Y{f5QqqBf9_}Ec3y6$2iZSC=u@EXz8btU1nNRI51<^FWne^0ZZ~7fPsG_L{z3xAa78*NIv!jG2HczC3`6jeJ zV?6DQ97kL0Wa+vb5jwGdkaPrnAy4u zO!GfT5^m-by`(ZyH0BOj*xXAB3*@MtpC#R=;z_dt7g3(Z&`|k(G;Ur#9q=rr={;3c zXVDGnCvczcd;WqNulY*noDtwO_epY_W-D`Lawc5aRA;VhRwOrJToRW&c$AwSRLQ*| zk2ycv0WK?Cj_)97tA%vf~fRUK=dnNvv>nsnEf2W z8$LmG=3jW?D~7v6#^ANRa_CsEfSG=ZIHy4YqkH9Xb+A0DB+KK*WCdJeql7vWR4`Fp z4ac{rN^TJ@7(t5Sryjqfc}kdhokYf7G@5$L&RN zvs7$Q--qKg_u~)244nP*2)ZsWK(e?5-LlINyDp)iXBEm$tHej87jWT))41i%G3?4p z$IMSV@R{Lq{O^P}YSdWc`2(u>=9d7vUw#3pM{6MCZxLAUKMX_dsZc#H5f*iC11FcQ z@X2UBMD;|&@u^YpQf@KWjCvTiX&x9i&V*Cqe$XJ}1+KTKR6#024hpLzq3)~*EU^)Sy;K-N(?utOw4X_VE4LbQn0d1eR~x z23->SAyOWgX#KwJ*H8ycJ%~%!4V)bud@u6J+N|V3C+Q>N*+W z%T1Q}XUGUcNX7#06m?xGT#R zQO69Y&Cx-7lt-gRL44o!1~Lb3!8f&2@KkRvNC`)SY_dBvFE)YfN*ORv{K}@)-errs zi&$UyUN+lxIU6|Y%zp3HX9am;%vJFrL%?-RZ9YKS030+f(QaC#0vG9O$#Tj@0xd zqepo=y7RIbt;#Z@N6g042O3(mK}V6^J|saW=n2xx{R1Q=>mx}_Ya?><*NN)&Qc^Em zLTaw4kobcdje*`4i~77jATQODLUh zu#T2J*g;d})9LD$`SgAH8LDMdPNP&VQNO`!ba=ykYSa9hW_{?VE2fEYXEKyH2geCq zVWuk=B(RK|DYu6ktT@VDKUKk56gF{B*Y|Q+>Ee9bZ%w{E#GbE7_2mt-qWQ+$B>qx! zKCfARgI~G$6FFM_J0hQXF!Nu6vx|pYj35fi1xkD^PH0vDI_y95>m#iWRz&DkTf(j zXebq;r6h`!q$JXik_si8Qt0i&{qlUe_c`bM&hKw@19>iGqUS^$epL@ezMCHSL18IA z?lZjA8)4nW!{D&uG%#tYkY#!k!VW)#fR+xZO#cKy$vkNM zO#}@_r19b8eUD#P#&xwSsIpNRMOb-UY$u8D1NqT%d>BN9pMv3$Yj8yGG>qTc1VPsb zJTA3@yzULKV8dx}QMw7=xptVQ@(-rVOXKzjYIu0#Gz_txfxIHq@qLUo&NNoQ@702+ zGWR{yTRw!|@O)TSdI>6dufWQkRq(8M02bDY;+YduF)*LtRjuV{p}TD|habRi<9=A^ z6@;#pA=sG}f}#>Zcyh!SWnK0nYqk;HQWl|!k_lQbQOC^RqImb&2&|p?4iYQgLfyh) zxH|b((Jto8U-4fhH9-cy*2se9yh&BF>a^@4{2Kc|O71%lOUQQa{2OZ&Kl+!X{Ym z!wWXPw~(y}if2XcA7_=$tzoq#%~+$aitLK*JnV|soy<>*3MNeXB4glkl2Q0?2NPel zkSUyJ#872L#&?j9S$nXT7H|(}ncG#`cPxbp+Mc5`cZSeKw-3+*k{jujVSDHl`!CO;VG;VYJy?gHyR1#O7pv0)m*nYQ z1#xQko1Yr~`A0lw{2+Eadx^%HC#2%FFPRhJEpy52rwhsREsKcd{bi&sbtB=4+DYJ+8~GUSMx43*q}BL1X}cOh z0&k~~ly_z1z^it0Y~Cp8u9)Q27F`-vZcR4`ZKOwVKYcvsI6ZOZB;8aRO-sg8Xabu> z-xOt2|EMeU%e4a9G3y?6Yiy-@7GLR!*Fwy!-AYW=*i5G7*%GEUaxb&|Pz2*EmC6+I z-C#cSJz%0UUNLR0V~iy$!#W?+XOsG@*%i{8*+0Vm>~8b(Y&=)UYOQN$519*cA)j=) zzzs_{=N@m){bwu}@$)9PRPzO=;y2EDjLJd0vLT%QJs-lOHp4UlA82278nzB3gId`& zaQCT#;v>&N|MmcsaU-CS#D})iMewNgG!b z>EM=MIyi0dRQ!Hk1NHYQW4X)}9M~_7toLR7sp9eaLDqjUPCtLXKD;czo}o~(n>jrYNB={14QLHeBSP_DQJD4#u;4=jS6YwbYCcrBzIb%(L#LEzpH3y)N3#uRzgY&q9aY0A>-DfJa?*KjnqjPq6?B?;*zoe{1|c&Z>({_8pY)}%u#f3*28-$@;KTr zgh@~S0y_ML;)fH!cnRau z`abwQ^bkC+=E90AQDCd$1tt#mU_WdC{=1|g`}Sv!X4G?u*?HWU{W)&Go;O$2w~TwZ zZYFndmJAp3>MI*o@tBP=$!84`&ap99yxFsj%h@OEjM=werm*8%|1!@UI+*A0Z!_ES zFEUS3!WfrUH%2?wmQnv?%xnY|=I~)bMml$ZD!i(tsfP;a@A5Rd#VeW)dWF!gU;F9d zd+X>_!Nv4uGt#5>EDaO2qV(Bp+PZKCrB&1DRX=@trPYA0cxFHi%=D=AVJ&(iT%CGr zsZ$lSMlOtz_6v^Kys$}IME%KHzBp)RRx$$=%NfxppmbjR_D0U#Hi#L+l^R|=S zMLWrb+XEukuthJPVtGkz7 zC~=An4bEb9t?O9N6+hV;T_x^?FvAH3Zs#f{02P{vtq8o2oMR1|8ThTfC=vsObNc^>Lu@LqLXb8!mtw~6A{Kwj+MJ`Pq6ycqdM z63V=}r9+)rI14qrfA;Y5!_LOvhyZ=ilaCi>#XPO~uYZD}9KY_=*4RB`g5!kjrgne78 z;kH=?h|ev8xWviabT$pHm&d?s1oNXp!KOPN^8a3iIk#(} zZR9P~yx_r@VQCz$)x<+XGx1sv#h0^f@UP2q^c7!&A8VX&$=vl=V!amcTyns~tv0BT zY=y&V`grDp9EN(1!SaJopeZmNu8JIoqjIaj*JC++*!CYRYdH@clDA>%#@8V5_79jZ z6~n{Ya(FmY0Us}s$1r~>EWIg!pB28q;nC+{;&lh|3a-N^wHq+v^#E+#-h=%gas1+> zkB-4}(Kgo!g&X&xt?vnZUKxrxFHhmv=SUp>a2A#GBC*`?6cYas{M+G+ZTEMhnQeP${i6x74LGxYF&*<>z# zuZqH^vZ!n;h+e&)VavM~@DaNOk4~gOq)7-gyE%hlBm+_9YVd3uAGmDki`UMW)#(oJp|rV7@fjGwarvGAWzYnYqRyjN^eJ`gvvpon>7_{Y%s7 zl6|pM<6tNq^7@b7Ra{4p$k@;zK9)Mpw4enA#`Ip3-lTVE(5r*Ww8TP{+TYTkyDn+c zWG6K$-mFMf2IOf`tpe4bJojs5>DUi3nrbXaS4`)lkBa}1!h7F{ZA1^5_N&`KXJ2(B!VkaNaXNMlK<^FQF``|=-bKB;sI?M z89SS5j?Slr15Q-??QY6sAD}V|57OL%qm)Yyr0ds(Q%*XPid00=Id*aMrOG9`+OCvN zjcuhBv&U#*nH1yQuEl)vH)UKMmoS%qxia-}0gSUn6eAv%!f>Uz%%_Xx%!A`knaYEo znBP8PY<}KU_Cp%SI%{oWGfe~7;_yVa#jcDMN$zDE&xvz&T}GV7%$1zG;&E<9P&_BX z+~ne9nm8W)Pn^>)VR)6O3P;Y&2I~Wh;c1NvjJEp2@~(4m;&TQlE-L|R{W^Hr*aivj z-@(s=KOw)52W^XmaN%AFd}c0(XT+5;@Qwza?bN~Z75Z3rY6iycnvMnMb7dJn8P)&^>tPk?Wr5=`z~gE)s&a3@i)vGOE1cANxZ;b<^y z%!2byRq$qgFRWk3kIZ64oP`GH8Ovhv^`-cLcN0d7>_$s_FBIPBg8?0WXcXj!yhcZn ztNjoC_PFAlHLLOI&|K_qHbkRIUg@^{fH0AVkT#kE=|2OYZv9@EchDE|Mq?oQ>P_HY zJ%cs5pFxG?$Lrt3kUvEVy%eO-C|DHLCwGKj&?jhE*$y^7bujzCD)>-P2Pe&YAZigm z?#xg_9&1bV-Ms?G7rWu1m&fpNOXy_2KZAFx&*5ULSZs=q#g#9kC)po~bV@j??GM0h z!~fx~Lz{8alO-s(+6wnOPRD_IRg~H;hvL>!*fT1L?b$Ne&aZ$iDJnQqQv=T&*2JCs z8u%kr8UN|a;;5rA?p`_qD+{_{jn#ednsxTW|<*Hb$D(1h0T7|_d9lk%F#)8;2qR7_u* zdg;p1#oQFSyI6)Q%Sh6hqvF(OSduk82yJ%dr}758^r7tpaf2&h9-GnU3;)wS8`Glv`hOBp6M)>YIk=2qeM0VO9V%_RbK2M1zJJT}BmmQ^~C$yPd z@facVGiB(r%~PrEx0zJ+0-<#Qwp251Jr%v+N*kB#q(Aev)Av($(99M4=>6r#sLYRG zDm3d9eOnSk-w9;Uvf5T|3ePw`wnoChCa1Sbf z3dT7zqH)#IRJ1RHLA-f1~=*+-J>Qk`ukua)P2;hf4A5Y_%G1P{ss;^zk~CW5#W3A7pl+jV#xzO{PTntf9(4M_sc%R)t)ZsGp>Vv`x|g6 zd(s8IL_^s~92|Gb0dwU#ShM0QZ03`})MGPH|J7W)Y~X~UaeHx>g+C4oh2gt@XR!4B zIjl;GLH@C5)cAK66$>NKhXkQxpcf_@Z^m!)7UJs~13Vxmjr_ZZU}fN4$iI~eCH1F) zcl{{{%u0X_4cFmcX+8Yf&<7Wze}nuM0dx-*!T*#+QF6WzYQ^zjfZI1Pz55o*^4h`q zZ5!|?_CrtJ1XM;(!Gs4!Sn|>a8@4#(sk4VLd{zifn|cPHNXFphujg^_NdnHjlz{6! z&SR)$G>T0-je3WIv3~kt92axN(&kCV-9`L8YK)(qba2ah71ZaKN1so!_xnPPGJq)|D+_lFEQf zl^S^U^TLRFJNHz-gp)Xt$O*RxaHs4xae@rX9sf^@BZeZ}3GWZAb!Q!`s&JJRc^}KB zsGMLK|MhIj49X@mn(SI95w=8pn3==d#JmkHVyeoM8Sk2tjIZ$?hM^A3J#i~$+wrN) z_T`dHYw%CX|NRAhWO|2cYUk4JgNZa8BB;j`Z|W+ykzPHpnC3?_G^t z%KMV^jFd3-kP)I=hlJ@%ZxQM&EJQav0& zF3C7)rM-qILc&X|0wMJ*B^f zUT|=rfwm5GSHyZ+^x1>1z3fl7`kkV4zsJ*aVOOY(z@DRP<6~MK9NNoQ|6*05`Zzp}%^Q@CFvCY(dYYEDVdhvVyw;>xaOaqg|RIZJ%bEi?VX z#l(rgu!Z_$FPXu`d&}U!m^+Awgh1a|EQIuA!u$P2FeULmygdF4>RjHyzKAanB{Ml2 zk|O9UErUnOl(4{46aQ}2#a-TdSP-p?+Z)uetx^V6WhcFCeg_!z-GaGI*&uha0K99T z12ZIq!r7DaZDNln{&^t3TnI*XM&pU3G~5=Lhpv$&cx&%HoDorn+B%IGzwar&sc*#K z=XIEWq7t`GEx?Ulsi+zsf#T+S@YX9Etl6!P(pzP*m`?<&14Qs$trYHCr-+6PYS^+~ z1C^6iF@nnDv-9FOGno&op8tZhtDj-|p|4QMI}Y=l1<-N2INJV}M&D3b%n_BwZI&Xa z<2we)qg^obRV7p`%mioecvzX22Hn5!fNH`poNbwcOV!NKB48zc3H%TD{tdydKj+Zv z)dgI-ECWrIa!^bu7j?KR$bTveH|V6{0`@#k=$%5om}3abw_^IO`6#$h5BuXqF<%mWyA&s7dzs z-@Jeem^}X>_=|(=^AcgM;52{CxUwt=+4RKF5(0w47i9m8E#9>DC;}-CA)+7Hp|4O zv%!6**|QCvY=_bcwn*BP?f7L$IfEONj+f$)``BSP;5 z2!E9biBFRtp93Vxg+CI+G*OypbSaYJ6iu@9n+{1op-(o58j~C`LVE65lLtnNNq6^Z zqE)?%jITLDvQ7jO#dk3z_CY@3xl~Km8g>z;;S1S+PmoUZDAJo|`ZO=gm^zf0&^|v4 z+BOyF{qcn~_U9tn_I@6<{lwC;a-bizmeQSTchJYz187Z56us(|Mtf%6poR5y)I)TD zN|^I8Gv%b26mMn5R!W;(wGDLi*5cS3_VFiS?sTFK$2)5-C-upho1N>= z-6GMPo<@D4tJ~ z$B&1#F{N|{R?acP%dXQgRZbIk|CGUm96mJo_7MyZcEi;E9{6GN1%ih8aha|R_7|&Q zZKfu!YSO@|_Y|=JX?<{;{JH- z>N)J4c?o-kuHpFeQdC-AiD7nC*in5CPt;dnS5z@>-kFC|w^Q+paumAh_#>n5jCF?) zc|L35-Nk~qORWbU-KYkc@tfdYejS7aN??OZHH0013g+3bVbS;?m6-gi*eIVD~we$#IaN@ zJpD!qt3%}Q@DC}}_Le~RMPe9KB#dG+C*3vr9~`Lu3PQZSAXwJ~4XwA~y-YTwZ-@q$ z(PPl3XG8~f+OmGiFRIyRVcyw8=mZ5#Nw8C`GK zEKUCjH8WsGNt6~n(>m(f`(!`wdlmu{2lrXSZnq#DdkihD0oGpDmO$>TU}9&@1? zKFjIrN7l5{$c&b6)1xaL6zOoS2o*}5Aa_zmh^prgapl%!^Ir2Ni8QWW7x9;v$#X2_ptgr6dZGU7?g_Ix7JP)FA3y(OiWev&{De(ISm zMP0wEQ+fUw)c(8?)t_ld_o^AvJ6nvYZH^f=X*8$r7!xXg*_b*?SM#bsv8f_uz%yFTXRb5S-pU^;u!)t>z^;LTRQk72WQZm{*1 zEo|wrG1g@F6fXO*5tsPSh8ujkjcZRj!F5|jaWcXgT={}B?nqY)cW(E0uJ5lne2USA zJ@QsiEad>Mx^8e@DgXxkBBA$CGR)P;1DV)zSo6Ie_Oq`*4L*Uu* z@MQ2Id^76=*77ezwaMV3YAtj>Jp-L94N#+62j?_Q!A%i=U~TVXctA2?)Gz^Tf(oJc z-#73*HVvygSK;N5036AV$5VSI-B7mzOBOuBs@>0U-TIffmcI?Bggi%n?I&1jRgFSx zi*R&$Ch~blqq3?$b_s97w7Cqfi&4j=TLp02uRa+4_yqRNsRr?>cj4QEDo9MLg^g-W zP`dUd1YYR|f$i^re|Q+u^uNRUTO%;r{4ad}!G~q$VrcH7fPed^;q=u6ANVat>)Si< z#qwiVzbOn)e2>EDgm_e$k&G!9Q!!mW4c${ykZ)rWUfUCgOL@+s$EuU4>FI~grXI-m z+zBHVFGk+2R=Dz}0bUEx#K(6OP*zqNtw%-CqeBo+sq^6+mp|~+_B(u9`W`HGI^q0_ z$FQNg98&#qz_20?&RGP(75VM3c-MST7@r0evf}W_?gPjEtL9YG(z!3eCpiIa7tU%O zaMkCvxXLDB?!fyG?ACXWS>CWhcJ**7TbFa1&8a=ic2_yE+Y>nUOQ$YtRVT&%CpE@+ z-sog>KHX#H_vJ9TVKGb*31G}kTp9gc_KYF5WZb%S7>_s^Cil<;6`{S&V*wvf)mPLkcyO{V_$nutE@Bnut8$j^ZCxx7vNFll}TdhjZ3|PIA;30qQBuHht9D&Pn zWYk!Wq(&=}{3Z=@wOfbux9F3@?Z)KJc819BSxAPKI1r0tu0+5)keqUfCgMD4#6#g4 znb%!I26p$7E3pM-GhEwQ9-8>pER!XO*)X<+R+Nj&gk2InD4?Vn( zpIP89#3+`EG4ak*m{M6CX3Dq)la{`evCG-cEV$^ye36Y{nro7nW0f}<385FvjHkTp z^As&MEq?(kv~MrlU=hhmF3(}btZG<+x&5r4g8;YZx)Nvna3*Khuz)jk-pp-^_Tm1x zMsi9;>D%{0kVHe;(E(@=neSCO%p9DIHs^A|b z1AMxg!|hKUQDC|o>NNUc`Smc2?2p2urtvsq?*(L|QYOEpVBqitdn7c*X^K6mVnG zF`RDFLC)I6o;!Wnfctn(iaY7`jlE^o%)VtxS!K6$R`hign-2l(e`j~F6_@PT99dI# z)&_M}D^Zla_39h*W@jt2;6?=_usn-d6cEMCJ>$nPo?97m(Uv)FY0i8-J(Za@Aa}E)DSJ;61XsOUW7UGn3 z<)yM$eh~-BVUowaAyA5tr`FAooo0LR8K6+}U zVby8Hto~v(@JEnr36>>C3l+%BCGsRbMxM;!S0%1~+Qe>r8qp{=B3<(d@sVFdmaKA| z%zxX+xg>v5BN9jY_g^Nq7Yd2e#C>vO`782a#xJrhfu9bE3)8LqVzkd(hAwbdqT#(N zG-j3py|Yo0UNaY^L&g&H=6~|^PlpEW->Of$ROV0>$+@(5)drefPgY7yqH(j|nmchvgWlZ_}7s0hY;eUdik? zaA#T#0~yV(XvXosT;{fX1C#RaH{=;-JZ&vSvBEewTrxy*z7cRm2^*2FS`2nb#w1Py)J7_ua3-T`VVB{A*Y~Ra^ z(vuF*)YcDEjGDn<_%00px&?wWs$e9c9Ufet09h9$JTGd3?mYJBFxwRm|MSH{o^Vuq z8I6WY7cjx_61F>MVzNLcItQlVb>H*2a3~B@V)x)O>QbRuG8#LB6fY0=1SXDU+ z1EI=TebEfjcQLk0Ib!c72MjKmk7wg%qRyB!%6RtydY6E5VHU8rOCe+KTaZW=$GO{e z@cup%e0IVTFFcupzFpe5#7q>OeY#=jUj=+^z6Z+$e?rTot98!VhDVGdQEGoK%68pH zLHBm7TRw;ncz){)G!GsI6vLnV`;fHxIS5q_ zz%1i&_~$<9I(|yXXEXyHSFo5)S71if4zxY%gPnPyXcr!d^cp~ym$qd8k=EF%tP34zZ_;5U4yLq7a_SI8ir^vDEWH8JI(>d+|6PB88t8-6#&Q7 zH=M9mCHEWBxUn0-+@1BCIG<`u?k1lyXVm?VeRZ^rP5E5To;S>7r)x&D^}<1{i=7AS zm9Ua!uCnahMt%0lB6;?rhyc55(Gb%o*39^4++uFaq%*YV3^Tm+C=)imiE*f~VN&W$ znDkUF=IsqB=6k_E+BLh69(nVGZuBXqiCc51@cZ+0Q9&r3`{V#sH`+vVgzV|@|5#e? zVMI&3)#%b%Nvh8)K&N(%5iym|aGvxpi6VI)o?AH`ZMPEn+i$h@#~&*VHwj`WqDTzFmB^2H1rm2ziM$ukB<1zG zB;cF@@$j}FZ8nQZ`=)gyFL(!utM()3&0@&C(^tqr*>d7J{UIru(Mpcjek2kfcqrdn zL7LqpNRL(t(igm<)Q4A+M)^rl`*(u${r+*X*Yzi<3g)54wG$gDIx%9NO$Wya)l7_0V2%&I-Vm<(Mdb|pVyKdj!w zUeO6)J7>kRYlO4ecK&j9m2e~LySjmi&I{#N*T;p@E&qf<#C6KIc}6#iaKl7{aE^>#-Ipm-3*6 z{u7WtPzW#FD8*`UjM(?ZV@R+Y3svp>d&VzIDRE{CWr7GhlJ5h94{R=ki>j1yPN*MRZg2vC$ zP#$y&ZXS<<+>kU#yj%pm?F}IKaRA^HFK$+n#S8m&@Z1>-bojmmr{3CvZbhCLy*Uu4 zybH&pX=hP)eGH0<#^Ka^u{bL;8m|vT;?Fzbh%P~>sD1=D^Shy?^g0xLXM>L|EpWjF zJ$xCVg!2}NS|Vax;5*{Ka&lpQ)TP?#M#Rg!E7IpU^2Krbk+A>`Yrbf_2$1#e;vL;EqoJb za8Vdlb~!{9FK?xy&C99#Zlsl;X3>wLn)FJc47F4hrdyDQF17tmvV`A~riQ2F#;Pik zS#yiXiIkF=ZKY&>QVBVC;wE`H>pJoJS3ph}+#3}IvrQtI@Qx(!j)#)I@^-5=wVhURpWj%uc7L%t zq$fyD2g{Lc2NmL*piCmFmB{=(>f}$LF7e)PK&FVBk)%&HB%yl~NnEs_)K&Qt{k>6S zKslSJoU9-(EbEEsw-z!>wU<~d`$;aS@X>O6etIKff^2yHo7~(nPAp6&NcQwUB-!%| zF}>MG`seqPQ03ob`E4osTxuE}(zK#ws}|A6c5A4+^=`W2Q~*^8h@=|p;;Ao9qDPM; z()w?S)Z#)KZR5$KM-GO=GH;&HTvkh?(a1Dp%C+8mkQ&5--Lm32WCO9 z7xUx8S!S1b9+T1Cz5qa z?`>^o*A4z)PpC<76QVktwH3$ZSZ?5U?eOLLV$O2T=hC^tf)Y;9xPcS%ddoG5{^imi zN`OwII=uO444Ow5fKSZ^u;cdz0ikfHI+HMYog8S@Dh0_i_hFYp1Ed~of_9lFaOGGH ztnVs^xZVQzPc$DAxB@ujc^AAi+QI+s7~GGMLFV2xyw*t&W-Y~J%`Mn3xDPk}@xg5$ z18_7e2nPiN(N5qf9z44P-R>+wmmYnrY~(?w*Ojn>=K{pIWWp}FR`3~;M7d3KFzKp2 zZq43=2BI#=)NI6UU3T~^%LGl`<*}sbJD5&yfsW%(L0aE1}yiZDU> zb;f9OS_fx#%3_5cKRz4$2gE@NHQh}xj?WeUnx93hzIQ0g!cnNIQN+{ zUg|KyeFfHdFMSpMuGoo1KMteXtRS>Y3&XopPh&^U89cD?3{uro_Cu=62XnNijOl0563ieVh_Dz)Ie(&l~b!pR?V?Yqyowj)Ii*aiU+yU23$#RSw9Mu~*{JMv2HIXUt5KH02YPI9M|kdmT8veo!H5%J0))hjc|kIoEYt(QxN z6K@c&&qbt4w~*{&3y5f90r4FuBwmM#$+Wf`L}enEWWCNJZ&qfKhrQ_}Z(0gDWfViQ z*MyTdg+Zjvx5G-`vdik}jW4 zq>)B@y`Trr_Rzh%f70L`63n$+eI}`42{U`CH{&@omPuWBgOP$~On=J=lebis<)jSQ zA9Lrk9Y;2@Dm%Q`sWrju@f~N`RneURI5_KrGcOCLLRNxr&K_7~ z9Sl;Y(GVz=1}dknz)`mXkgL84Q#=cxZci@64yQx=+!QGJn+&e6GU4z2Vlc>Ugp#Gh z;1wr~7IG?Rx55yGZ!*XvFTp|EwRpYA8GWz1qQZ~uXuWF_PP1BuN2Xa~*@O}rJsyIi zpRPjI!c#z3#K7jQ_kk}+0L{jy~QTl*D%# zBOow!5Vq?4fU!S9sH35X%8MplMRo?>=k&3pUjr?BFRNAQY2uXWKO0qf|a0@j%Yyw)FEN6~fuAnMh(VdB*qTrl${ z7VS*KEhG|Und6vY=ZeB#mtjp8#S^FWF|9}rwKtE$kW&-rsb_*z&~XTHT>(q7Y@z($ z4k*`;gnZ%apkCSxOErE%MWF;%?a)Haqo$bXVS{Cd*P(RTE|g#6jhil>z%^hR#XIHZS;aFs)C zT)Tb+R~&eW6P_2&@fhslge>QAZiU)h;2}Y7-@?}{<6O>e_?5!i<(*`?b$i&r$IMMfz^LBxTfusH)vxA`>}8RASo5)+2Q!Ri={6n173?Dio5| zU3uieyGvw#Y7)7&O*AeXhWNY9NcU?N&94T~-I&dabs(y|>z)|J|x= z(y`M0r;vG1)XB!z8l>)n26^f?jVSQXChuQbkpagAWMAS2a(~2!+;u)hv~pufhj$vu zF}^{x(`$&IR||Q|-$qskcaTx3Ub6Gq5LrAjOs@LBC7n6X$hNMBL`L@^@mT+aIL5vp zslJ`$y=gBIhp!|$M3}B(H0Z%4=Je!!8`{*le3DtK=-bBi)a2q0x+v0%-sAP7>H5d1 zK-^K9+kc48{OL!nriarl7Za#w`W31rc#HNoRnb?!>gY!07WyFI9ktyl#2k*$WrB~{ zGe1g?F)3C_OyAp5X6A)f#^S^;X1kIE>ocyw&c85+^QN6caNVSWf( zz(liBed+9xid(Fp&2#pN>rdA0fh1S(MTcvBK{<}BzXLy zdd(hjkLUJqN?*q~ekn#0)kMH>au_UcI|T=(o(IFIY}nsh39^&B{7m2oBxQ+Vj-Cn@6zSvjd{YE74#(N~ zlQXyg!xmbjmyJ0F&e1_>Pf;vyZ-Xi3>EIX<0Fnzsp~$-chNgc7;|W!a9w(S7=78#9 z8&UMzW^5~4i$|OmV^O#%wt1*y$R|;>b^iym_m9KBY<^UhmBhMS1w6S-6`Sv=;7)x7 ze5WFVp;KirVOSM2o6PXK_6Fqp5{&t;Q}N91Te$Ud6UH07#S@>t;?-5-ctw2z_wV|P zZE3&I=J*gQ@^|5vjSXmgw;Vf`PTJIP0=}3Xfg?wKP_b+~YE5y#qb4jaZP&-scCx7U z`v-iCcnD*P7hrVd0SMAq3g1na!w1$2_<7^OzV8;S_|gd$%O-#)Ko-{@(8X?L3v6$- z!ENtXIXK zN*A)^6kvylFcjba#x1mI<08r{IbN5`+@bKZTr{6IC#2=Twbahya%@nr9ONe!}8f7m3c*nSG>tN0lJz=!`?=e4= zZZdsE>C8Wq7{)gwn9&Q}$JlhPWllKGV@{dPVxl&wG82p_qfz&RZlCdrZX2wndlO5j zN$X{rDV9K2dqvO;SwFfl$Bi04V$ktWN{EG3i(~O)cb##WUi^(@Ja{I!Qop z8+pC)F`3$1M*JJElhm1ogy+91!sFROY(3tRC2C)Zqa`oBxI~&x>CvINFD+@^yoL0` z0$VCmx`h;g|gG$dupIf ziIz$#3KfwMh3vd#hRUc^uMg)sAI_)eI_KQiegAW=)AncqY)1#rxuEzhF6h+^7qm^? z9c{@xhNw&=dUY!udG0MlYwRk~PLl>CySW{$#~;zb2~q5IZ$AFbt;g>x0&&;1v)F2S z9bTl_g&X|7<5vzsq|HT&+$~cf!W-rjEq8r#YU>KpX|K)^TLMKpt@p zt0hV0oy14yCkfspPW{4FDVwKD^=wV3nb8)?Tj)cdR)8tD`##I;h;& zeww*&GKP1Yy-f(?HkVy!zTamUt5bCUi_+*$<|cnvZQ%Q%zoLW}&QTeEcbU{xoZEh~0Ejtrv>?~iZHE$FB?u+P>copgrB}fA+ zUl2ow8nSFbCizb@h-~ZKM%EV_5|^a8WLdW~;eW?Z?udNBX9u6-&h-1(>Gdr<=SD3~ zc~FKu4;J9lKhvT!s2~OSSMH%S2hfx_hH>=NmDag zsZ@!cnB*go`V^#?5suDYZ04`(%R!*g=Ouz6$-mcCqz*GNCY8|&X=xurvR z#xNgYA19MV?ULj~kRqx4ra^WH=@ac_3-X_wGdXSOPX_7}h>=wR+4!WEbUSvCh8bUp zN`(;hHIbz)9vbwQA<%EVmUKp;6YW(wLD$WQrYE(}&^sr~>F#r_lxyy#B`Sh!U84;1 z)tW2|a!fRRS{hiDrFObcgpTZ(p z5&Qc58r!+BgVovgvc1cHv-%YRoI07r8J(WQ2_*?|@*;!mLsci6cD$T<&WUDzIxehz zk0aB{3}w?CE7{%EUszm~6u0B{T<+>7ea_(!$Nd`OxTL+ntzNf?Q+T1mS@%xi?wuNE zDNDYv;Hn;0qS(WRPWG~?HlJ9_vajs^lpoBedW5y=h;VGLG8dA|<7OCd=8E$DxlZ*I zuIOYTcYWtoPPw~W9 zFK4!K&T`L|K&dq%WOZ7$_=m7upHzL7P~tz`1+BJyWd9LeiFK<@3eA{Q;R$*UeY65h^F zw2lA6wV~};_HF}y@v{oY+$zD*I)!-O(`>v3rQx@!u{iZiFdl9`gtN3=u!f8cZtgI| z3fy8050&wgKryU!@E01%d4ZlQw4m6M%V_h)Jk*w%jQT>uP~5Sj$W3`C5_oNks;;j@ zvi|z$MZ-KagjCT)mkhcVEROU=1<`K9A=rAP2R1+_lnJ)Mi=$1TBUcBMl|XZU7Cc*& z49{|7z|uDg!d68>>8vm~N&-P4`y}Y|`@_@Z5Lnz41#d3KLYr1BOznz+#Oips5|aWc zL#N=cRSIml9tStPqoDj^1WZ(hLFj=Xa9!yKF5f@!_6qd!(q;bR#kGFqY0dh@u7$x(3eEo8Y@wBkcNB1?jggL00xf*pW~InFSXi$+!R<#?FA(z*&f+mtgGt zZBSa(2d3X9AVzjFQn@IOJY%Mz`P)^|I@@{Zgq;@Jczr(7o2G`m_A8;QW(9`Qt==w+=8jHMz5<@tuC z^0+CUmgs@)v?K8hfo!Z1Rf*pfHe)f|f$eg-apmQ=xKsTDmhbt2Pe0}(@hww`!Ddww z7OY2-&aWbk?K{aekw6muGl87Fl1tv^SCSONJLI|aYw{`RH>utuO3$BBp!VMLX_P6Y z-<#J_$w}_?(YYXcqc4TJgcQ?-x=pnI?Q8n{^9Yrc6=Qw*vh2(P6;?YklZgw>Vkae3 z*{0VDY>Coz)_q2vsg})TyNtEj)|Qp5`o+TG(xR2wL3+JNs(zxEQ1>DaQWt{D{E8O%QwVX!Q zRZjj`73UOI!hH@c;LO)&asfBuxq;)MTwK>N?x@{v?(;wYDG9dVZq{MWReb>`@2S9b zJQwEl?R%N~x|__kHJ=T=j$T-p={>U1Xk&h$Hb~?*rihs*uPd{zf~q!eX$r< z^HP>uk)q1ASk2)ov*vL(?H6zoUh_FWxw)KA{46eir6QM+F2!B^Gl}y&G0cjNzGr&g z?F{!{W#wDWvESOsETA!n8RmJgKOb$_d?f?cP^!hm1ZJ|Qj?-AflF96{&IpZ7?xVAo zchX0rO>|926^$-DM<42?Q7gVkdQ9#pO?u!+r$n!yZM6&OtQJ{n`Fny4{CQ5)La!1R z`!l3-BABdOw1fN%A)QeOEKEcR~uDBN>mC z>mx924aA14kKnh+9ZTXZ*dyNx54_=U%oi?`>C^9lXjBvLz%IUK~f_qn>wbS*{qs8-)i`)$4mMV)Z--x5ns)EQbX9(s! zcn{OAJcUCB4?ykiZJ4cg9S*CPgT_EEq{1mE6OD($MbWU!B^(y{2g3CihvE0MeUM|Z z4{~!4!=?d$;QJ5+8Y4mQeMc}bnQ*X}`p>@<6Je%t0vOB1z|(UPV01nlw(bdo@gsqd zbH)d>F75({ZJ&6BuRib&tnT9#OMT)U)EnT91&;7`p5uq=AL1}~?F=Ycr32k%0O%Qk zYh@mw;Bew{%b#x z90=+DH;cn57?(Z`c8ytJERYSxpR%C-asec?R)fs54w#cT0D2pRQ2PZDB&{oo>P^Iv z;5KRGdrASVNL5DHn&i>jmy$?POblf_5J%&k)6p`cd1&`Wj3m`f(ce9*kj_eTq<+#A zkwh!h8190E4u>IZU5I{ee~b=V2;ydm8TdbEgiAAQvG(NyIC&%-=ewrkBZms{;KoWE z$6t>ZcQ)X$)*JZve@*zt!8SZ(_yW6p9K=}`Vnios2I-DmMyj-}2npIr&Zqj3^oD41 z`+Nr3^Q?&YKCC4|pYD@%>-R(){*q_m;`Gj#5*6H{MQ7b!PJ3*&((kMN=ukl-75;Oc z2K>23*Z%IHf0TRam&!q^8#+oml*j1)rNcB=VSt8*eWo^2pQ!BpA9OH5fbABa#$K(N z%Vzd7wmit5O&juJ$7Y7G_Vff6e)=>kS1w>y&x@E#Y!SPtkjGO0HIuY&AlveHBU@v* zgsms)OfGjBOFy)W-JhMtx_J%k!`&X1@_mB&EfeKl&6MCQTEw}6W??Sz@E^9?=`H(s z?+$AnzRXN{`K;S9gXxT?uwgEh2}@-%_ZtOl>|70d{JP!Wy2jF z-pBb(3g#-hV!4mcQaRnrnOv3i87}X?Oit>_Dei1p0#~dV$t~^=;NsSKb2Q$CGaj|$ z#`l?XF?%SNVy?}--lxX(#7^TL*9&kB692KH&L%eGUc};eC9|}qFvdYJiyaGR_FBno zb3h&omaJmmB5pGW&2Cl(UzzZqF*en35@$as&V4SGGP^}Mhadq? z^5;*s4*p~EejTiMYa{crDq))|PP51TQEa&UC@VPP$eyOJWHn|w%y`cXmR=~yH1-Oz zDE$GdXYhtPDL$aW`i=COQ3cJKQb4bGr_pzg(ezJ|KOGM7pjrlYv_Hm>PRn0N4>rov z{j-Is@8>?El6RZ5>@Oxi3=_%fmq&MO7<6Tp* zgzOmFUfP2!a2v`Wzk+5*7ND75lF{(~P_!x42POOLKyy6Sp)EU%QQzIAXixS$H1~@t zD&8!MKG=w(BfA7pa>XEc4Za7(Z_hwj;t@4KQo{WqAIz0G|EMfbY+f;KZ+3 zs96>P!$JX|_SOsdMx0@p+YZ?E&S3?NG3t6$(15LgC?;KnTh_4AQ_Qj7uB@jo*PlJHtWpZX76AWP+t$A@KHG z0y~)tAgx>g7Jd1!aQk@(`Y6*@AJ}jcZ<+oa z#}xg>&FdwI!|7S1_5M<_)6SgyP;eyao(D)be=u3LJf3)6KSSEmFA|^8dQ!Uj0l6OW z9|^FYAbH)Av~lYk`lFN4(wPp_RLz%8{v1ay8|Tn1$z^nxPdyE4zC{gwHd7hvTQt%7 z8cjS~O_yG&px!D~R2Mf=xARZv1w25nxQVgBGpg*+OI;?m+l1{qu!)^`?7@!yJ;sv9 z0~pyH#PVhQ85#FvIVrX*GII$Fx+%kyUkNaSuj0(5Lx(l4+{OI1CNXW}a;8|{$_lHx znUeZ@7W2A?xt;4~eZp;w>R)AI@A6sO)dZIPH{hSQc`^$RXXeUtVtmv0Fj=Vpb}crU zC6AP`X6Y{GoWReWD_7(?4D`4;QRbYSoFnI+zn9B#Im%5v=*P(``E#=xeK|MBLtKpP z9xhB|JJ+>wJ?Ht&l#4c_+^DB67b2(0wOml)ddf6oLppEL6#ZLGrKI+Nd1%CJs0(~(SIftvzZ+NIsBKXxr^>;P8W zrOpoClV&z00&H*87y8cpDg6}OLOpeA==9yibYprJwb-3Z9m^x=VOKvICbEa7No}Ho zou+iMr9M5lQ-kU(lB4zo!W7^AN;Z9eNCqEP|GT2Iq+2bVOwZUw{%%=Gt~}Hr<4WSh z*X|RJ^=`p#ImH+ipTZi;Bk*@=KRjCMg=G|W;{IMoymjLSd|JT<+c#Tb@oWp67rYW1 z*>d=_?^68RVjjLxqlEngByfiqA3kaF0gYQeLMQU;QTpN{RK4mHx{(lu0&0AakK%Up zbk!Q9vCt6R{HTXQG&PY{feJb(D1%nFi=v2+d`QCk2R!=F16h5~z-jLz*!s5>_S-bV zj`fwWOS=#*hM$Eb`7{uEo(Nq%QIMn&2**}Dkne-3~@Gme5szB`26-wwK3j)0sW z^Tw54^S$lG@9D{tV}0MC5h1aI!1NpM(d3e=J5V3E848fuL}q;DPMU9*EzoFlmA zdBK!hLC_T!1#5Q1!2nHx`w?02`*x;G%R z?kzkw_zbZbzo4vO4AuorfC8R?JSBc~ZP8@ZS2+!>|2+#GPtihpW%?*n)&Oa?S)zxs zu1MieD7vV64jC?Zh}J3y;J`#xoL0uehp(>2^J^S&Nvu0|81cr!CMR*k<3KELABv6V zN8r07QCNC$JeG7kg;N`H@us#4{LA7to|W_le|h&l>Wi zcnA5Veu(_p9zwp}jVG^XpCL^vi^=RO^<;zRW0LJSK%Tfvp|@YCQ@bXPT83_>p+64M z?@eL!(w_u+G$DWS_Nwxs$eUZU1C*3IjpoJk^SlnVE3(@*`AZ8 z%zKd@GaJ)jI`7n(-RL5w^Tn7+(Vgt2Ml>_ByvV-VK4RuChM7X96j%CTHdk^m+jxeXuKf;dX ze_&PKk6GT;Yi#%7^X!dfBKy9;pCy*yvtiG*-=;!zT_ zk;-E3cZ=9mugh%GwmNo(|6ljMy~X;k-eOC_8d-91EmKjiV1}R1v#tA1vuhB~gs%rN zp_`uU((MiG%XcI8U)&I=|Cw*Dk6Ybc32^lu_vkv zRJ`jD)rxSX`DO5HS3MrA&BZCpW3lCkFP@mZ6Av!8#X+%Vc#)VP z&L75D{xsmbLpSx2kDy7KJCMd3D`fnHLuXWVQQ%As-f=+rL*QMtHx&PHh9%3l zz?$U_ASLbqQ!+Qe-Uu5wmuU_8i#9?2VmGjw;ti+PABE{1hr!YE5J+A)3JufzV4b=|AV&;{p1O%Pw-qeiNMNTQt(4k z0d!?Gp|aNi#_rm~^FvP1I^qf=`JRw}HUOTyj{^IucwkEsVQOe9d&fCGN~ z==zz-C{1V@%C((|3_fck(`pl>e$5pv@d-m!H*!$X!kcJy^CvXfZ3_OIKL^)-!T8Ej zOYAyfhZn!vjGO**!1-|wSnr(!7BSh1Wqv#3XJ-4b#rBhU)%^&Zmvah#K7JneSJ&Wb z!FyQI`!#;NdkC+q5GLdMrxC|fvq;%g9rEp%A(^~w9T{`lL9E*j5UJyVMBFTvt&MQ=*&rY^I$(mF+3 z`YB;8%|C2Qdy8FY{lA`c8jq(CSwI`Q>Zs<-$Mo*`&ooY#pT*dSv)>9bZ0S6CW;t^@ z^L{&(70K|kqXI8z`TYudJMR>Io1RY3ZfT$;h@Z)o&toU7*D!A-PsWW0vKRRgtms-K zlMfGNmm*Iv2^$yo^td^@eL#z4hRL$FJ^XC(z-Q{((@Q_j`$ey7PG#o*&R(Z%U?wj^ z*wbfuENaCq)*{ry?kY{N*{%tm8-&a@~d#SZz*u;X)@fXfdsdB?<8)- zV}hM|Jiy*a_pu9U-Aw9qJ8QJN!Cu-_utm8!?DE?<_R!6j?Y41b1MMr=t<6hWR;v~p znXAJRY!Pc6HDT`a>=}QE8Bnw-_F%@7HnJ+blA%d@Ec43De{)V{vDRbsbM_nB>Doe@{wt$ps#z4( z#?zE}A+*Q#2=x))MP=9~>aK1{cQ|wO#)u9*J8ce?eJ4-nMNXlik^)qy;5)IjctspD z?vb3OwIuXOAzAEsidZcQCEZs&$kLaVBq2eY96l~ba-Wakh?`y5S?vnmHT?`0ydH-6 zn)c$E;x^d)Cd0Sl7h`WR4QzN~7H)eo6OSgT;WY#5_<@!Np364}D-6xV%e)kEk*hS0 zYZSp&{Crr*q8|x#ccU<$+bAOHGRjlWMw7S2qECW;D9*zbMVPEZW=RI9*+&P>vr|V- zE%HcWzXa-56++_$zoEADBgo!)1t(8*LiNgaaIkEFrxo?EWm5%&tS*92qIux|#4c(0|Sq?nd6?Z5@8V`yKqA zr>Zc-6JIjId#lU`u7M&j=a&o^JF9}rkS4^X5m=LE2eEJ5Vb-AoAXniHw`Bd`U12zQ z@#10lQUYAM5)TfL1oqi!@aAPY2o5H|uPwn~JJlOzaC@QO-wR5=9Rw-;gD~d0A0+q= zL5fN+IR8ljdhG)2ExHQYuGax?zXl!i8{oCgZFn2~5bmmWz_@TLyy5D=#;F3-qbi|) z@CJyabwT9N7pSWn1&6i?m~m$mOy2y4jW&NFy=4;GXdsV%AUzcDVZ`^|)=l`F>|-ox_8;y|8OC0RMaVKEIb!HPo7^eT zCZgGtC^%SQqU(S$comYwe-ELysGC{&7O`|t%&89n(b*PCVrq^sa zD#OPpwCK}}AT64vJBQx#nn5q6%%m3%&8Hck2@P6lOA9t1pqrOO&G)VKefgz? zfEnxS#p7+cM#On8nOHzy1ST#S5amaWWn0f?OEdrC$^^2gK29XV6P|n zuyzS=Hon}Gsr}i>Hr6_@N~<+Y?Svt__E(2lI;*iOn$wthq9E(Y`%J||A5o{&t27`z zpQ_s@(rdp0>5i_wbhvpFU3t-hirX+ckfux7rMXmFS%sn-($uG6GF_GYmvl}4Ocu@P zCe-&H8SS`6KIWDYzGHbrN<5WB({NJb}$fw$LP z#zNWY_~qIl>@>Io&l_2e@6|5EyH_aTg*zm%h`ShmsV0V{?@Yn{u2MK+u?+tGQ3hx6 zrs0=|rs7r)Q9MyAh%YT2MbC4-qNOump$#GTkbGzjN_8thCyytg4QGQ;q}*OK{?`uK z&0daHJ=aAy8)l=NvvR0wjTlNQ=R?XqKS1#Ad+?C$hC_B8kTH4})@I*?nMzk-PiZL_ z85Tm&`8<%Q&xY71r@^};1v-C4!HNd~P`%v;KA+wLAu&6Ff6NhLZLOj0&`M}8=OEqF z2-XR&g7?AeLGs83@Qt*G`|fcv&G*5vp2OhJ=L=#U0pR~85^DN0p}D36+J0OGgTq&$>v#p!9WQ}A*$Q|v zDg5;;2CJ_n@M3Qryx#W!>YaMwi1IJkdSC>`X8i(L#Q~V_{~L-^ zC!sk;s;JF%IZ}~5f-;OU(L$FxR8sH^-N_k5pJz|P>no;VD>@TP3NFA}#X9(0x-J%- zScEf$HE{G?Rh%xWh=2Jhn~SUOT*O^# zYp~6%7QE1_3kP2Nh-V9oVSObLvL-~DSnO9OT%jgWc?aZZ|2nd&_#nBE6-O3-FCurs zTZn+pdt!cMoGcI)qoCz=fEa>8A&Qwg(Hv*k>Y&EywjYP|3C z(fYg8Ex(Xfe~6(sg^ttFP5bHZbpe#`bvkvKb(6ljG)&7YRoTfQBjzl!lcnnfv$BUt z?E2npw$HJMO}8&$FAtWo%I~|*XWfb|aPt_nA znf?O>jtwE-(oy8~oevjP3gE%V0vILnW9fI}sB7;qI+;9xrultD-n(BSLCgE-i%30k zo_+zfJWoSwbt6!0=3%sEU@Mw&#~f{aybQ&w%|Sh{WYM9yBFOvMDC7u!f$6Gm;EQw@ z-1TUO^~EhP`0X0_r&mHU?;;pDo`Vs~JQ&-S13lws;Np=}kl`B(ud+j+gZY8?%fm2l z!VBIExk99}J-nM|3SUDQRL*AbW72Y%(qsm`ZRQ|iVG3~%OyF3SCDc^f!I3$R@N{$w zsGQgU`l;(-be0{=xV#b8DQ<*L0UHo`ZwcbYuXqnOcJm~>-thS54)A);3cxw($*^ER z6inP?V277FL@4M%k}d=5N=xut?gESRPJpO=5NtCFgt<-ukhebsVr8R1qbv$$YzT$p zFa4oa)gO+w2Eb&0KadRF2Z`4=!rDAbP`GCWg_|5f`^EvVE)M_=%}}^HD*|rC#)I#{ zv(Ptj5waIt{@1yeKv^#rHuEx}%KQvWi_M4D$O|A>eGvi*E`rp%i?DLM6ePdaz^<%2 zutMbp9NPT}=70STC02v5=h84J-V{bsDe@@d!!nc>?u3T3Vo|?b8G0`B5N!$ijHHYw zP^REytZX2GM+c|ji9mTgFI*A({glTZ@-q0>^C|eAx(NP#aq>S7Nnq6)1$@|lKK8uA zu&1RB=5ukwZ@(VHEq_9A`OR27V^$h&FUrN2!%DE8eI1tCd&?>Vu*@*nBH^O4}ZUQ++-1=&`2 zpXl3OCs@CN1U|h)Qsz{Wu6@m<{nZ`7?JQ|zpeCI!Doz)ynoMg>Y0x3t?X-PX3Uzx_OAP{F(8!S?npn!u z3J(kZoU0)pn@Y%R`lBFUldK;pu8m~5Ty zMy6e}C*i+Mh}h3%}o0gE1!xVJUEHxEwjgxQp<3` z4Mn`wQW$SZ>qka1uTbdcP855j6RCAPLwXxup-HRXp?Hb^(DvKC=vHeV66@(heR{p< zTjX2xQTZAA_U9fNUwjRHF};L3vd$pm-?3<$a{x--=#I>dY|y)0iX>I%p)9BANaXWm zq_BS&e7iqDO8pBEaO;2|)w}RH_6BTqt^xO5rI0tj5CR_N!AkL57<`ru;caKYu<;Zq zw8cTz(Qt^#4}!*ae~|if99W|#n9bb^^LMX?l6yu#5;+h(U#71-%|M@YGrgLQ9OnTW&QR`?duRFYtlkks$b_5(+pu z5b`qo;k|7Te3%;wC+7Y0ExE%W6uBEL&DXp{RyCUFbZz|ih(YJR8V@I1>jQ% zmBl4+KffGy^;dvnSv3rNZ-5G&`*6m$8&+w2fZmUPV8KUG6#7IJEocM;8y(ONpI|gy zI0vo%(}4PpzC@#vgQ%xv0u}8Mz=EX$*k4)zkErrv%@q^Kv10_4{P>AB84RLrWj|3q z-vn|BpNzq58h+6?15dfQ2rrf(cwUn^KJ$A6cGuj6$9j)qYwb{6d@LT%FUi2$|K{O8 zuZ!{Mg$iswwHCj$X~ulR&+vTH5gc(>mYmL6LVmrpCyUScl2n5P(my4aSj;OW_g7va zzrwDP^)*$*_~1pd!9I(uo}NG?O+v`qNI#Nq9Y}V5iXl%PXA|FVHRMM46Y`;HkfbS! z(U)UNH15+J*ZF3n`cmSZ2=nL{e(nF-X$My{3J>e^XMbd z9duVv3{5gWPo3*)sq2mw8Xeb4b$2(>zb~#(#rOhh-w;Q43Lm5*au#%J{yb{iCPO32 zrc%FXWxC-Ip?xp+P{SFgXs^a~`o!=fO}-?`0I4#S_gYNyEM_UUjah}E3DexYlI>S9 zV(kH#UFy+eGdC_|1&MQ*{nZ&PWVa%_@Ir=ZFP30>r9#XJ57Exu-SmZj1MTY1r_s4F zbjOFI)ZfdE`Yv&$Gl>`F!UJeyZwwVZnn`_66;b2nD>UDunfl&-MDP85K~;3$)Bfr{ znzf{lK0N=9KJtD}e?mL8xY|fJbe7X1hg_;Mlt`aX3#QNh?xAxp+E5EeLX%B3=#+A4 z`nQ*l8tC?ty@?OVilYt0_`_u)7*tF`KjahX!LwxOLmJ6FoJc&gqsYwIU~+HhIMLVG zN0MG`C*PE8iD0=I@jO6DFi(f9daq72+~rByO)=8 z7x%Q=;h|4UF=wxcU-b%NqeUN3{;o&JTPSkN9W;9T zJ`&6BK)T+Y=w0U%v~A=8I;C_QnQo~=&C5%W8h;MDsg#T&eZx@Q!$as;vLnJDRwA3B z#VGfy5_*s#hMZ;oLT=PY7=PFeVlN)R{V&ZBF{K{9*;c^d!y-6yCl4a;Wy6o(SrDy} z1+_~~!+&w9;CLktw5LVF?(d=S%`^nm-2y?#?uk@hW3zFt7lv1}osUtcHub&7nWd z6cSa;pk>czo@m7IIhn9BTOITG-^i7R37PV2#!$ zaQk2j&i7Ztu75MU;n~2hd+wm*84O)J;$Yw51TaIfV4)WSw;B?F+jk0f>ilDOS{&Ry z9107g1EKJF2$;pjLfPI7SiayqcrGjl35zQDxw#TQ|ujR3l8%egF&Z^upeB zVRZE2Oq5?@fYjx7ph?>U(Ie$kNa14%Qc=Ex{Hk6fvi2K#w)rP2a~ME9n?9m6^a>d- ze2hG`+tB0iR&>y$4e9cCq80PsqZikIBJXKJczNj*eC>!VKK)r4w~VUe>RVd)m@dXk z3(awS^Jc8U+lL*8{BZW8Fgy?zgYm8eT!&Nep!I3YH+liz6=}vx*M7xy2c(Ew&0^C0 z$BNvv-b*$O1(9iyv822sncR_0C8KJIL^3df2x*=m(Q};0(l3@I$ls6zJT@YY=Ih98 zD-WW2Ih05XXOimZaw0YJE(zEBkGxttLEaw_r&gx2)WukVzR8uN;`-t=-FkqOZD}G; z_|B4V?n%VHs)9&Q8zxD|=F@Z&d#Y-5lD3q`(1)d|R7)8?}y^yK&5RJApc2FqNgD~CGh3B@0D_f;Vl zS}VcK=g6>+1G20;T83FxN-_Z#F?Kdbh~4)ar|KJiQi?3O!Yr#(}MT9bcADcqni~yd3Fa?+H{znaS5dfnF;ji z>eJNYegO?~zC@LsDrl!!B|XqxLGS66P}`Dow7lmul{uL}HBbnZ@j5`;#x~J&P0Q&6 zwZ+s^SBWM~7NKoX-w1FWg3R%5|P?Jjm)?rO2m)xks!sdc*nyo ztaz{y&%IQHe{4&_lcRtG4uyd124F3ybYGc zu7~0iRxs(IIjs5TSRWIYL5k*lFj_Gi?q5)cC+8Nx2_;>aT&V}|Z|i{lzjeo5AGUZJ zfaUv@P+o5W6N^`ZK&1(&pRk18gX`e@SU0b+yO;NeeBu67%Y9lVNPiTj2MT)Qn^5ok_&)QUNCHSi-P@MQei-^05aB=!^~aPAoH{m zbgU|1()LPtV0aC*wmg7MI|e}Ss2qCml%PA0UC@4m5QMu^5T9uQnjcn$x|>=M|A{WN z`utloov#N4e|e4+C*4ERLs!wB&;9|<&GtPd1B{>-dIxJ56|L@ z!X2a8IK<{AzV)CVPcD!mV#^m2hyE4h#n#Q_{2>qGd!RV$tJH?)?rS>zmR@!N^4-vFipg{_~hr_Pry; zOFojIN&gW|=f~t`cs21)NhB6#yGhG~O=Rt+P?8~Yo!IgVQl*@^bYjCwx?r{geQdCc zdiA^01uo9?#1k93b1kKpPR*jhp9JZ)Egj@BE+XhvJeg_}L!OUjlX}xO61{XXjl85o zeHLw_QxwAK&lB17=8$P zs_3nAW%QErMXDL~ukYH=(v?e-sX}EaeJABfr!HDUrNVV6)={8wOq32Z2+>3P|LyUz zwB1IXUU;^IHghZKBME!Dw#toOwmw2nybk=wuW;&K8AVg~N7FyPk@V|C2(7m9qs629 zXoKb!dd1%SU-vDeA*r*eOpg>*E#RZA_j<@)(>wpVyNrz0o+iCqG&z^*M>MwVBj3lI z$Z@MJ#6)K!NjYsx7Rs$7O&u0w*DL36O7fdsy6K7fo= zAD~romr-#18Kl-1i_De6&|rNCQv4Eu%2^@`zk3>O*>oNSHJ75~sB>`w(lQT4+Sk32PyJ@}yxka`s#}CUnkk`rEROQM$6#qyAMBm{ z7@XM+P!pJ2$OK`zOpwCq(DgYP9PQ%3<3S|soF4&=a*=Rg80zqHv5ZvJ0Kudos9QNJ>%z8b{vo?cq4<3}9(1d~0GvLhO8L(bW9j0%e3mQ{3 zVB2jqIBGTdA`)`X^*R-i}c&!QxUID}7xqx_yIv~NW^ zLe?dSjJSlED zK4@u%b8{^*zmXlzw(!8~mPTNoDd%yi@_oE+#W2qLZyG5d)+AeJVp36WN?z?>LtKs5 z622$qWJWzDmunV~^KYh;4^F~l()6Erc+LPWmggrMPD>GUeGQ_zg^?A78;G{TA(F=z zMS9LbiW6sM@$&q)4Gh-32IW8l4+E0$uH9Qs)@)Ar;&8GeMIEC2{~$MNEY4S zN@BhwkhN!8$j0TuRNiqR{jto38rB@4+sC8np@s}b*_{Xw? z>D1(QA{AO4LvOE)plybsRNFj=W)nY}VtSB%7Iva9-dR%HHA`qwj{8CSKL;q>*|I4fNq z^9A$c%Hrq9%%mD+{Clq#{{|tYS)Qo6-4*?s>wyMJkE4wCa5S|t8TFkwi*85dBT{q@ z8N4q*TCI5~#VZF5ygZ98sb->sBgrVSEeahU_d|lMJ5j+}D`Yqc5MPxBvOG5(#k+~3 zg)YNzOXLka&uxL@!R0V{aW0(skPhqrZ?I0hsX*g6jMwC3ETfRlJ(8^~cWAQvzVGin zC8t#k5-Adf$|aRbWviwe!!0dHmzYwdGTNgNWjJUrl~FT?mYXS|+eS@H<9~S0=RCa! zpjux5c~v3q98}_IN)CRhRe*=2PrWLu!Id=gBVDbDXS!niXA@X9qtY=W$O3YxNO^R6P*<&pJ*W>J5!Ev@${TmAzQ_T#b8`$ep zEv!@8z*KSPm``Rgv(r$pGYKh7>trH(xoSJ}+ndJ*QYzW;H!ZC6=T0`m0 zhFC<-NZzY4nx~fO^2LTm{G^R3Zw|NSmC5$}%4P@d)#Acch0}(cUC6CBCG&dI0)8R4 zmXCg?;>yLNDfOC!+Lzdp&Mjw3{Em~?LQY46T&Q)2Ed>Wj==b%bDapB)*NI1b=g`C9 zk9*FmoBrb-3Hrn?S(9boG?E!Cp_yqLi4JB_?Yn&1Sag^S7nIUJgNG>3FNf}TY$lcA zEIQe4LZJc1bgE|_ZL8ix{B0wJcn^@WV63oOX(o2Pw-&Cg*22cuOjtze4?8kMR-Uc2 zHMxwcT2d+e{dDT9HYSTWL#ha#Lf5CnP^qMZdX4_3t$JgG=4MBsvuA-Q`D3-XoUmP- z<_eMDn=QHNX=s&$7#s?N}dn@1?Yx0GVa&yxPzCMxmnpl@#WQ%$d?sL2~Awtq4g>PUO> z%@k(p9mWMEl_Ylf`Lb&<6iX3k{;pS&1`dkb|S&N29m%X97&Nf;jyGrHe6{Po6 zN!nSNbkZS_{tRDAHg@x9^(aoB52lj+B`L+&SyO4sBwFQVPKTQ((5+S@Qa{k6IdV-} zTrz@cQ$KPWn;srB@&!+$PVRo<5kEEdKL2*zb)FS*h3_^#%Y9@=xFRT*->BQc7rCtA zevgBA*pq4exYCAKpB~Ho?|xv1EN-v~d1Y))bS4`Lk+F%ofvn}4Ka*})$`(#p$Gldh zvqP5q*q5LJW@uB)F0U+Rf9V%73>LDZ^@Xf5wvahZRI+T!VP4BKS##oMrp^yzK8~~5 z#-E&6d$%Qf-DSk~xoEL)(*Y=@kJ0a62kr7>Xy2)X{*7FeKi`kXUkl);dk`6p`8Zv) z3%U++L@n8hppkN%Kc&E%hCT3`l#Mm^a?ISY77eeW&~30BD>7oymb3!nl>wMj?S>k; z8M-Yc2peOHRZFY@=_Dl8kH_E|Z6pM1!!uce{T<1T6pn00;m803iToUir2E|NsC0|Ns9I02BaYVRL0)Fkfw?r09=R&000000N@@0000000PMZZu58JXow<9eryw|?8mK1XKTZ%m?wJHl zG-wcoLW-Fw5va-}^QTl4!Kcs*_qkAfxL?>cbKmA_byi>81On&WID5OhnVT(JwtPqA zfB*OY@!$Q2|NDR2{(1ZBZ@&KK$3Oh=o8SHFH~;5l9`CQ)^WT@}@0aJ_7&Dv4@BO{r z|FEv(;QGt+^+;ZC&)0`*@6Y%6{irp@F;5daPa2sH79aWLLP_p%SS=fCmSWy@pY+xOQ$yuW_jbiI3AQrRB&KQo?kX0)89$@^uR zPIYD~6^*>ZX`1v*WsaxG`<;{$Z%AkgNaduK0@F0*9cFUUN<@)RQ2|Q@OOYuPydf$E zDF_;IQA8h{d7j_%dVas>_lK|LUVH7e_xkS3+Ux!KY}Q5)3rjZ=yjL%waCgSzR&Esx zOZ6K@O@sS}rCXq6bHpGgsG3zoHQKnbCiUSKuWp=9It?5)H*6-$yk$u>E+idVjm9`B zJ)Kus;D9B)yU^tpG90lXld&+%OZ<@dAJxQO=H`00DxN4ea%<(r*@fn2l6+(JQkN%QhROx8N>9UjE88Dnb9E#p@E^UM%lq>ekse)bN;h0JZU!iX{Rm!9M+tF6hD=<=g3z*uFw_kUYrSFJ;d#zKw3leJp z#jvltm76kBY{6BT+v5LP9vYz&oN0b8%v2#u-d5x$G_C(@#alqEA%zjn%bgS~ziDfl zwSZ8@Ocl19)@MxGvsz@P3a3mNI#b3sBt_*`g#|9@X;C2U(lWxA zhGcOK5E28H%W`F9xd7dXxuK1Z4W0UL`D6X%Bid957c^Ws7oc3(%6x{2MbG|K5E@)- z>^&H3@TSQpf=Cne=1yoEb}JymrsLO>DG(RNw1{0=kfZ2IgXzB|btc7g;!_M;MKi-n zzcIW$*QH%OL#JWiKRTpsnz6tv-on^nE0;*5$+u%$VYvaK!{Tr3q8Yn(DF2G~>$en4 z0q6k@J2p)x$j)|ZcU7CVT(((zO~KHZjf%REr3qbI(~3=6G}RQBW!){zq4jNN7AJIL zrrO|L+VehslkBYs=`;FGZSZ#WGjL7q0YI0=wo+5Ouz$5}`|H2rWT8W@n*LU9{O@*S z;e-)-W(Xl#B-|?UZY!LB7YSQ_@Z#q91`h4nN(su?%vtIx%F|7R_rFiuq-=%HM?=9J(tk_7tRtAB-~wBi z;L_m#yRo##FF;$ZR)pqmzC9PNh<;jbFg0s~{5^DY;CBk9rZi`1D;nYbV`-aP*T;(N zN~bBvgOF&6+xthc24~Yw5+=9ea|7n9U7B@mb1S&_hPx#3dG*%wY#r1rg=7W+ajqLG zxU2<`^3Cc8?l)yf4$@$rdb(+sR&ibRW$SE*Q2R>Nv zVTij_kG`#2n$-JzE8J;#rJsYITlasR-kQSsof7J`?6p}R=c}Y$`4T@?TFTKO=+Yi5 zBj)`$u;X7oXKIs<;Gyrc(O(EZv4Y@Mx%q9`Q4js)s8a- z94+Ep-*H84D-)Uq+qaw{P^o{_qv!wCJ|yv%#zNL&{#1v{HDi5W%XTZyzrRMhJ8#dS z8)GD6()_t;)&~~TztHnz1gSMEo|a`2=ue7~i!|z;E3L%f9f&2L{jf4gU~Q>?%drsG zYiivQ!g;Xx?Had}e8XXLrT=i)&6Da}&hII|@4jBGNZiwy@Uh`plqWW(O?aiU|C_dR z)e4y8(^bBIT;|Ydq0&6aPP~ytsl7ut3C8tE3!UA$CN^};D(6b3G4JBEmsQgA5Xrfm z?vvAPBTx=k)!jOec-=^8aP7cmldiE-{CfZ|Vr+~@lKx>FxiknF)!g#V5+ldsbS1#u z63?AIwlmwk<-WE)hY|hWU#h4$z@r<|m@#HJv2!LrdFQ{+ z%Czg63|Mfl3S-f2VsnlH;?Et7%HQtI_9W zDK4kkLRQpi%o&2gYg$*(={(y@#(sFP>?HYlel2PCfVR=Qgm2p-min*r=u-h1Ma?Yn zl!{`2h&TuLq3IlzuLM|$nk7BXgzwl6PE%n}8b9hxfJ6U>1qsZ9IC;UZ-6`?uC&)W) zJ0!YDI7jmR!~AE|AN#Y(K(gTv6i+vFrxls97D(<=KIiQV^wIfTbZA%_K}teo6+X}Y zGxW9%KJq=c1D=MRH{Vf zpFv`Sd)IH#yKDeOOD~Vsgh-njvV!S4&)|LX=MXm3_1uD;)HXDCn;8{6X*k9IfHqJ& z=1Fai%=}Dai9pW1V$4)jYf1#3Nt>lS>Op7|N@FSf0`cK`n(M@YCHJ)_ z*$-tDtkzgL1@x}bG@%eYoe_{bJyZ$(K>(-y;fm%w z<*9wcPb}vKAye(){(vyT<@SfkpMlpWeHK9(1nuW^ORcTW*<)jxYL7b;r!Qo%A-~lnw%n`Zc)A>5Yv0=3HUtJ(xg?;%yRw>-EU6q> zeu{GQbgGR&t2mfshJLi}NVhP&j)2vU`NPAkJeEE>{Ldh=A-eFn9yX8Lbs7hylq%kw zXaBD7&ImTXnKzg2VIIS&yy!m1C&`}F@EaIpvuigxk!G~0wiz4L`qvfKy=&Ol> zK^{9+0&bT9$Pc2zdzux|MUi)NX7wKT##G7^AQ{xdk=)V;N#+>~ZfO80n? z-&-gktbzC`_4 zFD_dcdTp0h8j<+R7TKlnmn9;LmP~e^r)|Q|$mEvMD-H-ueRKz&qjp38@aC0FYq`B( zUVIyNy}?d5c-aE|QD9_vg7OsGalu+?jseZBrHkH_qqp}4G_LfG4aO-(-AhoyP(*3%ALkO%XbIosMwfQ7B%k(kyvKy5V-uop!)1JF(4VNKM8_)drr#8%Nmuq|m z&J2EFo)m9r!=!>i`Wn*HtnMnm4vObyTtIJr8-gc0Djham$iDT)f3u=Dd8sF-a<$i} z`-%`p@}^#Tk{xzi;E!DugSc7EO8PHd!@^YN zUHoi7c6Vn`5Rm%!fO|QQ%i@ z51Yxm$gE4#1CT>I3iU@f+lH?)=NGmDi(0J7#qAxQY979932U_xWfIMfeQx9AB>8Qn zsWh6OGi16m;^iRQf>fgSBE#c|8Ty?whY4{)J+TxrsyR>Ha+#ZqfWk!Mp~ZH=jqcp7 z{HGFaRs1k^Lon(wMY`Qfv07&?hS!`PKF@y>HyH(Qn?A*FadDz48k+~7w4WI)p~}_A zgjIGy#!WfRR`8R^%H^mP(D;$Ks`=V(N?u>O=_ci+D7&Plj|^YB4jCoBOND7o`<9-KDWf>+ zeZl>Z`#G~USuqS~5{19g1t4Rh%s&!#xGo+y%_!?Q2)H5U^|R4l95?mhzT;^@b{b!@6*aK?`&0@@ev++8xut`95Y`&Yb`UVAv16t~^1*8=+VEA&| z!^FOBP30rt$~R{{cbJ`_Wel#7;YuHNiEk0|w<{Y7XJmfb#vT)^KnJ}JZBPq{2 zV3u}^SuNfd{+P+XY$^OQsg%8&rtdUFelF||>X1Ivm7SwOJxUHHarDVcS^WGue4=sE zun_f=mF}&r;_}Jh=S=(=(vg@l}My=97Zy zm!8Wg#Sxx`_F`5gadu^AK52EV>jgiQpLICT%F#=i429wIix3)n>18K4Zew$;(o)dh z8PaJ(;SR#Yb+D`K(0v5Qq+c^bN0tZu#YmeCYS7@9oSFuqdjoZDP?w0lm3;Re+%&bT zBH=?rpBUV(>RleAya7em5x)a%^+(q^u84o3f9!`nfVMPC_v-s&wzE|)J-aj1f^!}9 zx30N~OIP5v(#1ZgzZ}3GZ%l3x<1vP+?&-QjcUM@i>9-+r!u3aAxhH{tSZETsv(YYr zO^Ge>iaOvydCmMYXD3q+^wiV?Eoc{Q%ih=riH;ImnmwHgS43vlvC<<7gW~X@Z_%pn z>LtqeppIPPf-RZnTL^ir{UMx%KFEpTX5s!q4oLFc| z6|6pas$DqcL5c9PUC0PEbt8#86|_p`#Oc=_%f0C+&G%%eUB<~H`-oi~@yV{bDAI^7 zsY9Hbo`X9oH9g!qto*Z#&ki)N4(cH2_h3|O5Vs{Pb&4LBcDQP^=nVG*=)fNNrU2sM z>;Nn)Xp=<|FOP+u#r`w_Ni|!o;i?eD}axC=`{G~l>#TEW!5wF2rHR?fBM}U zKM(CCJ87j=6OWN0$|cG&D8U2-gJ3LtBQaYu)_HOz;zc;yXr+&JlB7o2|T;*KH}*Z6pHZF_KH~O z_(10L8U9S13c_J~;ARl3EX#E{h%-?M%d@6c)<2~SP7dK>A*OtD_xI203{N-qsePh`f%4Tm@BXQJ;gvJ$!WCp>L;rAT_ccRs(EX zz2WomRN9YxkJw&cH^V&W7e*j6ygprjcpS{{OeyNBY@59T#Ac;KH<%OKwLz}guVbWt z#-{f&wh?J@%k;(GIaZfjPP%C%0rZnt-feptVVc=^W~?>CYvkCF-_6rHzW%xfyUHqK z)PD%Q1>2un+dP_oD7e@D8qC^T?s-HPf0y!MN`%|d+^p^kXzDBAloe`8`=NmmB+S~` zf%PzNI6E|ai46Ph@JFYos=J(*UIO3BAMWRT1N%j!~f8TM2TjG7g*k_|HJ34Rrzas0; z7;~K8i2IDcKs|Osopohrhh|peh1(SBgw5i3EEd2rU?9NI)(l>O+01f&>}2%5B2?_7VR^gA+a9+;!3URu2f;%p7*ybjUm3b2f6sJe`+T@qsT@72_ zpPFB5O8Nsbpdgs5li_~K%PrXQKUoYJfs~mB-Fozk>D54tcmO2t7j2b>{&y=$zGpFt z1{EsCWC*4beMo;jrPIT7SP{ELex#M(AtYe=-PONQ%1u81^3vZ3p+71v7o_ubG7QCb zsgW!F6EXFe{||^cI(>zJ>R#LeF!46=TTExFm@_sG2Ahvlt(NF865rfcdtNuBRdt(~ zQq()s2w(p#C0D1qPjWJBp$GkXBkcdeVHiIRZ$xgYCQQ-U!ZFF~$!%CN73L!QF4pwZ zN&;&0vy$-*(RSVNR$Nmr3qiw=I}I{~438<;`Op-|`(0Zgh9u85owwLz691~77Jgtt z1pb@Eph04K<_-4M@Bao5?k3*$4HRnF!ZO>$O=BjM!cB&n@MJOF~?;M6$S z1XoH)4sR#Cd>b9di=9Nqx{z3^sm%oxn2F!~A1nr}9u={7=_<#!xQyw{d~-0x;Ps9- z02)4N!c41;6in>KoUEl&%QL|kiCxEEj6|nuHAP8w|8M@3n!8!i0CO>>2wAX-+-A)A zGkmS8vuU=J#9P`5Oy8;8&2@hh4HLYgo2EAlQ$)}H#ZpqB=kH=R(vr9!?ZYnYxXhs4 zD(xTNWnw(oy~UlT-OrigL}Wwa_dsYyHT32dim|X2(^XUxtlHu@1QRxEN$+Rv*?0zY zGHA1GCS_1oURx#N4}DtJdfCrl8N7f+Xqx|+`UNTWs%ok&+|js<_8>WRWoSGXl+VfI zTs~@z_K)%<{+$d z0hIkKz{$$oi0htGkDpqX+D_1h^`cJ;@crw{S5uE|WZ*rb zpz~MAm9{xYoD!`ipK~dmePzPl8n`k|wbXnitXI`moTpU;L|or2@s#aB&iu|EsScAT z^FXB+4oeZ>r4DBdi^wpRJ-vkLcV)}?ck`HWji{rfP(AI(NXwcn@B{A66Y7V9(S^;+ zK9C6|%+^N94s985{8KYI1svS;c7-Kk3h>o*AAZja zA_De=q_HiJaVgm=OFC~pH+GOW+f9#?Iu52bs(*!b5CA3no1Lly;i(0Iwfpd8lYLix zQuj0{A#RB=!V~JkG8(6wTafxY>^g&gUdUk*fIW@`fTPX^w^>i}+?izwW@6Vb6vUZe z`^JF7!$O4y;5Ax)p-@H)P^ve0cFJ`f}UOZY4^j%=~dq5u%aUWkHR zBEM9QP`S;6+A8QCovvf%EcudjQ9n_Uf&T?le${YX5O_GjN)nB=UoxDOFv2=BB8%T6 z4Cg_++@wTlxAdcg-31kIb|3Rixu3Ibqtf95e9>PwUI^h*hs3z(I@S3PB-D`#?!>@( zwGZTOdT#nx?cJMFGaDmFzBv|>e>#mGk2%oe{A0`>=cJ|qe^KWRO)6KXFzks57X?kW zQ>vhvToyGFq62Aj!cNnh}DC;D*ODLy1 z1=62U-5G{!wtI!ko~-_GB|L?yD6ls~Sgb79ueALBY`c=Z01^r!__&Z!U!M4(5afs0 z+>!Bl`+1x@e%yR&w;>n?MZNcuH5eiZ4lCB|WcdTv306dx$TQlkcJyd7H~;n5WiIqj zD2@6uWFRNY(&^{{YP&gV<#(XN`fk*>!mH%KG2J|`T4|2O;pX3x!R|rXZf~cTc1g)k z+8-W_*oSCBDDp&}#DugYk-$+@46xaFycU@RUi?8&(sW|DBUe#A6zd3+o*Uk?%(`Wk zbZ=^94Tn`W1gv|_iDpOhXdsc)l7O=NInq6>1{cE2hHdfyG=U&;RO z38noAdf|7NHY-Z|9Oh-ynd&N}l7sp}622(NqA;Aj-CCIhND#Y{t1fuG|C^mx(-W+< z`TleFI$ES%2hY~wq}tamhz`R&?jzW(6%84X4yJk;l;;tNic;hU;C@YVlo=ITpomgL zAWYAJ2Ejc$u;9XUF8VuvT;AHB71BQhx#UZ`57NAW#RoQOf|SM~<~ISo^j87D@adGv z#^62e$ISCb8efT*q7@G>d&$EDo8(kWA@AIH*qxq#(w#aBUUR&dRfv->J5Y z$7JkY{r>g8_Gw!vp}|?0-1KAEWUHly$lxp^LG}>^GHkK_1>~v!3*e@pwnfpz~aa_PIe;wiV8G%)9wr(wn zKXQkRP2gCd`DzkRT$OPCAh~eW|CxO`^=aob1&SX~#NSnxtgLpd8_#cIfG#&1zD%;l zM&GGyDvxL-j5{c(l(z+6bIc4UmDl%Ao!ALJYNg5jiCJa=T^TRpBBmo6hu#fB5rWL2 zAo6YJqx^?~-rPFn+p2k*m6S3!+Hui&(Kb1xXD$+xkjeXGINz#k{Irm9n|N)By0NR- zj+?w*NlZNA&8dU^V{A66rvIB`lh|P=;fIQ<+OInsK7iGh75T~jXEw!dmSWW4J$a70}`VDl*WJp1h!9Q>J3 zFFoI^lf3vu>oEw!tlQzKJ=2joc(g zBp2vH@CRYHXF~hUhDL6p<^;%>YmU0ID<8B0?$JYG|D=Yuhh6M?L{gfGpdKure?PD} z=`>t3iXQEB0MR*7D<7o6yQ?yzPJ3AMTkdX5=FP9Eh;EApI8%EK&d>jZx-hYQqlJqi zViD+AV3EXYF62RGpTBN(+m!@MFDsYY=l`WWrBtx>>kqMa2JLK?qhidu4GehJC%3MkXR3}C$$?;Fph+%r)(E}sm2^2k$jBLI>tzqALH-;} zC-=z)ulu$xnT7OkbzUT*!c+eNnQedR88ekB>PJo@hmiNs&hSi0u?Dby_H2b}=%_2= zbPESL5Ho`O#3f9haKsMVVZ)VGhWU&nl@SC*QyTZDSOW+6#uUvo-fmOz3Yd43U zP`Hj1TAcj23MxN(z}8Skpc0a%D+>l9!bK=yx4?H@wX6AN6n5T4+K{k74*ah6V~1J0 zIMnE^zZG^7&nZ$Q}edoyK*v`(PFDr;Eh}?ap_X7<{MuZ3&LK!@odL8`z9o9Mth$ zTo-9u;WyLiY235R&wW2xHO(=!unVJwx_)|$v6&M)Fn34Op?h->(vf*I#Hs(G#C)@I zGkQ>McUL`-Q*9REkX2wGALH=Y8>s!+YY6cQ)i-t=ao(|K%8eNMUyB;~ZQ0V(S9g>E zbFXGC%Ol*nQR_$F|IUj75QI4%a;TO!-C0F1-lsO@p1-na|Dkn-0nVmoz1|mPv25RT z{JV4k-IsGnpJ=>I9RmxM54nV+-oiNTxZ}Wth?39l$KHLjHk|y+UDWb#`FHSHoGR#BIid9=?dx#x1^i43F4=-mG}>H`*NkDg6C74 z2`8)@$o(vYC_DYKaUWKPuII}>QwA?T;9re6EjYJ}B&Zl_ij6KS9XobwbgVbpC2{Bu z=c8W7-EgM#oIpE`H z_Bmb!Ru%qeUqtO;y2IY&3ec0O;uKjxpB==TAj4xj#s`)i*ep4uwx4_WI9`etoaG70KF=81_sxQn z{yAl$(v2{9#lyV*s{Vr2n9pm(>Zz|;kl?bV3CUCv>l^NU=b4EFyqxyOW72ctjwgXB z_@yWpgpXtre?onD8WE61_*o;uHx+Z(sg~>cBQetNBgs+m?fBV^7g3gyFnjdtKyvt0 zukD!1@we^a{9hu^F&D-9UgIyYq%fBpJmmz1qpZ4KECyG#qV1&Mg zRlADslozOjMowtQ%Gc`wTJO4!eo*#6UJ{!KJWz4xl7rNB8oQnv3lI#3PPHB*?f2cD zl##r;M{*0!lVM1x&tOMszNqmy>Zt4^!N|a_wWF}T=ZE5uO+FPsQ-qa7EWue;b<#Q1 zuW7J@gkO1K5b*A&q#bU{iA%iB)lPHuPuL86z)+STzcQU0nAVPMT_^Z9}LO#JgP2Zz($?fOT)URt|fkc>hpz*RZ=$&}e_^~1_F^b2F$ zya-Rbql7fg;MG2<73(I&#~Q>~0Ljk@C{4-Zd}TUASTz#6*|tNvyN>uWsuM<1e>yzd z`CQz(mh7K!_?hLgr#iUI07|h zI2;P*Fk4{18MZ+jRlK8i@~GRWsu8F6&IQ9AmTd?(7J`8I(>7F9(f=$`Qq6WyI|->$ z-*)H82A_W`Nx)(aLg}zDE#TdxJv?{P`Jeb?PSt*C2bBNbksSt;{^*8Q?oT?GWd z=c|=Q2fFh*%<1}-T&pV|t9hXEXH`7FT;+9OO1h&m2`oHy>*UdOc3M=Z#w{&13S5O27sW&X4oep(k?VU(RkP-vCZu1|vsg*8$D8+#DbeXxnK(m?pZ_DtnxrE>ZH-EB@1SdI%B`Pi%z9@YTlvh)#sb`1g1jZshSaiC&)WPjB zlrUwLSSR@e>z+$LOZa}O%G{7vS<|v}h?v69)~9jMZ%m4idBmn&Ex<3t&OD}7xy?Gt zz&mQCvI6y4fnbn$M{J#^A9p?04e=GiRS>hVeSROJi`eQV1?U~u?fM^Swjr_*F6f2) z#HL5DWD%rh-E;&S?!4OuMZ9w`g^bZ39?82%c3e0Wj#Ck}znjFS!;&YVAyi5VdB5vW z0J-^s(bm)-^sK-PqJ~giAZewAayFw=8`S_94o40#AJF6FKL{=jsRGfZ6&F0=f<*wNGsD7nUUP1&}XV~ zgp;CH{yq7PG>)@4Zs$Y&M0!P4lB_EXHPggJZqn1|1(#5~H<3e8`*K{T?l7iK-@%S< zOu7n3ily@yZFaqrH(%koj`|qVL5v4xKDgn~I1WLl)_8*m))S#X$QdjJgR6m|> zbv6*o0o6WbqJ%fjJC(k@`9pqlk!7-`D;+C6j?Pp250G)Y?szttIX)#(!#$m^)`fO? z$-Y#^Hawjg^Q$P$;*}62A(M-a?$&VJ>IK0Gk7jPRcn>fTvhc7N{q_bpvO14pz$A6} zxmvzHZy ze@8a+ciopR)Hq$bHLgpDYAlVoi2KOJpgR?PfVkYKIi-$;*a-Q{0$)qyj-eIjWoOjv z+Klt7n$nd4FYca*oDtX`SjWq5@&sNVU^QuDsNjPAe_nUCj4%T>fGpndcQvK+J}B$F zVxt}XACnnFU8#rFS+IU(cwkM9W~^NRTDeKRr|Ap~=l{!Ya4J{th_GS<*@#S~H!Xu# zb(3pLd&w4Hx--jW(Jg1s!K*B7Ov6K-GS4Jj;}H@ zL*u5hiJ0+MkN>>7OwP@ka>%uvbezAx+UlLq48f&X!X8s<^|`9txmA!#6so$GPIVgu zx$MacRRoC$dCGCmHp(LfNzwz|fwy!2X5@?eI0{|11O$;kDVr0lFS9U{*@ybUqx{f$?tgYIs%cXR}Tr&~yz5gT}T`3=8nGYJ0$tlwkt$nl| z2_EY{91GltRdLldr_2#NTD(AmfH3zq zhMCVfxV`$Uy8Pj7PIo2T0Ya7&gf2*@Z0`|ejA7`LmZ#KIr80uJ0@rB;D^u-}Hre7| zR^Sjb7{`s`CS||=`SwQQnV#ZZT#WKs{JwTv%}dSe_0`|t!}f$uABlxB$k9M1`9oA+ z5pS2C4_QE1a?KI?m}j!j&QJGGi#k73M}+hogM@MRimHEU-z6(yjv3a70b9BUM&W0PE+iq^Waj<71Eh}DzUvVC3pbDe=hYvUPCKe5Wow`^gRCKaXr)*u zjDP0O7HgZ0?TMgf_!HJ5OFf6K^L7&DM%TDy|6IuFvQ(lD4?!JVX15iE>1wTIw7_;D zYn(`sLZ&E~%u+SOW)em+tPP{Hv=q$B;Z{$VfWKXz92N5~+b5ry#bv4SK8=Q<5kC{S zEd{Rq<;^QYE_uopxAX+hG8djHx$TCOn&`M(Ub~7enx?uDxqmHpC|;N(0FOatDo9@E zWO(ZrwpHqK^_IxcZ=VYV$=OZ@vN(53Pk3<|#V7es1r9x@?t`He#+4Pnc;n8c&ONT|_a zv=Zs7t?bH?ZK(~bX9(r|s>c79$_Kh z`tes=F`1K@c68ncFv-518K{N3PS6QV(_RMSJ4`1brR}_SmGRirveKNtw1rXMeE9k3vhg7qYaozE28j$WCqmmS)^^CQ_4PGe- zoNK|LH~L82mK5{A$RHQY*&h8*Ax=7dKdIRxs8s#{6sY7ouUht^f6WUdd3G;GVKc7L z*AQ;6w+kGF&%MdlG_73j(x~;~*M`fEm`wK!V|h*5K4q%GBn`J4e`+;%<=Uo z8{hQR>1wxY7*0CLjaH7QkLyqgHh@c_r&pG$IG`W%-Y^fg#Wwd`>)OC&YSGPwd0*N} zpu$IqN`hl!8wtK%2C}u-sb9T_zWZj6B#>9LHd{5IfBh*Ja$}S8{^2f@Dm=Qu^~Su_ zdEpkE$AG}>@JUN)@4iT@wp}`_*wg7GBfHgcM0r`3XKF7!FH^QzlE{(kn5 zTY9*F-ABE74smR;Y^4u$)Bn$oQ%0I=lJl%%vRluGpy8ZPk8^mD{VPe z;BoBSMtTdUq`$9zb+@e@Y4bqaH_kJ@i*d`{OwM*#aq|Vnp4D$)0jY-tL5_YQ`he&| z5IaLsK!S@%_KO3Gb?CV+-|Z>YD>f)Sdnr48|5?ZId7H7qX1B>h!}!IW3}3lQzcsMRJM`$%>m7n!kgEnoJOYs|w4XnLz_VNyj+C8l zYIU6leH>jD-c~(EBNprc*RlLYw%t4@LDaWLVBN#Q@_*JiDG{nI4FS;?YbU<4P_7A= zKI7w=p`??d3(Z4xLY27#**Ls*7&3B_?Pnh2N&XsImGU~2ysPTaZZpBtptVNLA7kdu z?}^4#R#~QpQ|}cQ`a#5Yih9b^X`eRL%6OR#-S~BN)OWXL@gcVBo)3%cgh!v=8NIJ{ zBTx~^Kf1~5@G_){xEi516j#_Wrrvb9fSI>lQL)VMKa6fq%i1tZ^=c-39SbT(kE+Au z56F}2qmJWrSNWd0w)7gLTZ&WB6%s~B(cuGhA&?uIzQZ}O)k9v-Lpfg+*A;pAfwQr* zppkqsGDCYLiGoSM3_`b2f~C8psVEjfoOh->9!NC6=6+kW8xYettvd-~W{#wneAc}P zASe46yI@4)=MrJnzjP5n9huFbHxuKVBTMP1els*i=%_s2*!gb-!^ZCtTK8V*5_1~b z{SxUeP!C+<8F{0J6#Xv4c`~BU-PKRkLrG(9>Vt9w;A{j!3WE@h38D(){-6|K1=5>M zj=%0Q9U|XTDSaAeOA~GGMhG%yp4)kONvGO`5r~*^lHm5(U}$WwZoUqoOr)CJi?QEP#aos)~K>~2$E}+s_ zl3S%$)b1YH$`FS>XUn_9Ts@$`Y1ki ztM?>NF$X}`UBcFCVHJoT`wK%ha~bvG$aoDCRG6hobp2s65jMP@ z7Eoh|**(W#&==0+E_(~?2aX%;(9W8BdVIxKQnWRUS8JQV8}~dX%@7Ei=)UYGI{v+b z_DkX+>Oti=FL!{sST;14bQlm+YVa88n>y%(BmsBHK5eVHg(P0yA*Z`dogPn-n%Guv zf$h0vFN0Y@6k^~qK-Q5?zb7|-Lb2v0{BG|cula4=Y&CSqX0U`tbcKByi?MEZuKd6 zqP)b{F=BDW@igepqv7}6Hp5O=aB?8LtJtEof%7dQip`y7IEV9duN1(3w=#>?`TNSB0 zlg@NsOhaVx;{%EZ;;Ms!;Wv83UN3aE`Xs3Q-r?GJ(7+WZfh^Ql!-Vi-fX}>thDbV^gYL_ z+dGx^Fmm$PMhRTHu54}*fvOiyyoSl+K`MBB#@QdjStuEGc#g03^>*R+E!FhS zoSywH?XSvsOpn@woK~L!h0iz5eA^y>N`D_oQ+T*&AA3f8yEBEmq@@SWJB;f+D za{C=Pr%Txm%5+N8T0Vr~4WAXXmdo6s{jerU@7G^pk@4`ChB{_@TMBE|7Exwz6(sYJ zR+qg2aqK%7Dq?5CPU!|9HP$4pPRKz+RV8X`L)md@s$KZ|j`>b(ZViL$d2DzsiWIOq z)$8*-hDO`TNp2oeIfYP)E5WqQgOBs*j9Ynk3_)nXNc;VaL4PS;kTV4-dv7cI%)p7c z9fXS4p}ns9{Nh8SJE<}sz$5)UiaQqL=6Y9-y=tG!yN&(tCa$3y{L12HR|(H#CoSdM z230IFb3+^%HGD!6=Eal$&WQrPG7LIW9`wDRh9Z?~qM9*APgJ8VF!uxS!|(eBPpXrw zG>Kt`rZ*QRwn3=nirAt@-I?o0Gp2zJn(L3XL1&nk{3Rdw{6hz*zrZ9*_GN#Ah~v;m zK^ieNoiaB@y7X>z{9Zb4qx%wQ{o69$BHL&2IAk}tZ}NN9E%(!^yHsO#%du=yQzIQvCAZ`sFhhsB&V7F+08xEb{b~2HF<^ z-G%>Jeid*SepP%Zb|mW4V~_^96{HF!DZGtsf^>NOBOX^xkt>29z^*n)Kg^tjDJs2I z(-Jtan8F%!MWqoV2-wpMaIJP@nByc8b%60cqaMJc?^GZ#DQP+@DK6mwGJf-NMr+Zh zg*-LCQ?Pazm3o*1?fZVnOBby__719JjGdVtTE1rB*@%LAosybA-I-idgY2`j|Y2u=z2h z%4!%C4?XL=;^^`n>y#p81DJB0k-55mFOX!aUeo?)B7T&l%Sir#{VGJ#?DJxCck*2y$`R$GZ_mQ*xovX zAHfNT)P1Y;>T!kq=RAMv5G_dmfr}?eQ~T1VLT)F7f({hyW0T(}Lr#^&3U}!4_KlYu ztPoxyE$;>Ow3AVni!#ygiIQ+#IcJ?og<+h|lukWoKG0k{#YSwxL{@$!0D188uL1T% z-A!tftWWzWs%JJXX85*g{LpaIA~x} zpq57WQ~L=YzG&AELv5*8#M!Dl=V1XwHdhu+zB0?Pv;JW|GNQe>wmk%4-(440mQ_xz ztG_t>1~kUXH9jUbJZqnEUP+ry+xf17JhCzuQR1BtD~t-$D6S#DK&OeuF?I&9FE#;$ zPQ^Wq3MP~KzSRzqmOOV}*@;*UW+-)bMk1gWVmp z>j}|bcHk2Pl9(nKQE7^M$-8qoVStSaHE?q8{& zQ8Ggtach5|ypj%O@6!dGKbsdLd2?J6N$9ho3V!tez$K#YvfCW(0A&7cr5!1c8b^Y( zfX!na_;yLyi?M^L@@(ySEE#;qzId6QOh~kAJ;vjeU2W?S&#*qT2OZbG(;d>0= zNkS$LrhnSat8%q%3F>k;r^PwS%jwHy4Zmy(HfpM0=D;}nh%YJx;IhdvXUHL<%Sq>C zkd2&~p1hR6E2*>h#B5)!H>f6IHOZYYGCu~2&)l%#D?3uc47gq@82lEad{+p_5_`BD-w~k zjMtoG_O10O4sY*q(MyTNiIfZIusa%ROvn@}WXw~p3&(*CpkuNoL@^-GD*8UL7US{&c?R|+ z6}r3z^@j0!Bl|j> z^dk;I<{C=qNFDAFkV&~l?*)t?CH}Ks6l?IK&1@IgHgmm60)qFnjWkE(X0LNuKgA3S zsul{#{T*qz{`|fY+IIzWh`{wvpbcIhu%Tke(<_w7z6VQ4(WA?U>3-QF_ntBAf@#QxIrhBCSHTDxRg4@4E% zh_3k4Rw+5mf+i zGIks*tbSPiBeXDd(6hjnG^V2|ClU9SK)e{Swz|teBx|b=wFCjesp94RY2#;kZyb3orXjbxx4`K|qU{wCyF*O&H zt*k``KiHkLS$2OullBj^vNcCsBehzF=5UTDY{)y}{eGTq}u1`d3A}17G5lviV7-I zxP*usA}v#DB1|>qE?47BTH=D_g1f1xDKe#kI|>RV2oee^g3oE!_4_@)=RS`6zK`Si z3q3dwJQvZE&-?p&z5SEwt;1P2)BchUrdn}NqH?4a_%?olFU00;3n}mmF>t#})u=_{ zIK!=KSv8;w(XMGXq?*+-6_+imrj*FGV%2@}Mp2jg-(HEe7GZ^otJ|}hQEWq2voK4c zdV>3w++qP<9n8x>Z*9KFanvqrH-5+ysV22`TXusYFp1+godheA)jEWBSGKCAv)4QB zEVlK&Oskh4gw0>Z@~)zxDpTCj2c$s^EbyKIVuPG$(J80bg6FbcQ4a|C%d$8@>Xam3)i^q@dO&koyR~N7+B6^{!7a#D1z^H8{#1s2>L%k(QOQj9L{{v~@GtkKG(K6-&kYAX- zrjh?`mw>lVZf_LD_>tvd26z`%soPluXSr#coIouOBGcafTb{6C-R7SZn7@rAYzGi8 zL)23hi9$^EFpWJ`=L}5M)9lQ+znHve0=D3sZdQ&nN%&t#a#L0E=zlpSwvh(5C=jQz zftJ4DLSIO#@Y}M2=eQ_!(hO(0hh31c1RSb(saT^hK=igH$2M{S55f`kIqkVgS4t^B zAB_I-Z!^Nmvwzb9z^-o#5(d@=qPNm6Pte$+Mj(R$!UP|EV1_?AJCnanNaRQ-ddE|M z<^5^D06E81ti;?7AV~hRydUQ`E<)NkDc4i7hP2_^(uB2J?H`^F`-%HOxIqMT8n4F3 zwc7ziXOg87pf}Lt0F+TNN@Ew*At;pofDaJ?aOCOx|3LBHQsX1GBL_Acfd%M~Y)V}4 z_VZJMgr&)0f$zVS6PrEk(5h`V!gXr|c=`X2Tf*-7|3A0Hrp{IF_BB?Nn5Z)!Nr6}< zaS3rIM4fC02r-Um|GDkvNc8m?-`$A@s0GuSWue z1d*j=vn`XhFUr}r?WEyM6uuNaT(lXe zk6o4uhsk_Nz8lMOj65TP?ou?S^UV_ z+VpCsrntw7Hk*oh?S5yIrWN7$JfOTg`?%&Kh-IRi=$g6b}`Q=Ut{m05$t|gjkU6P?40{e2wmnu+Eo3i?x#e%($^x$UXv(IpYmha zdGW`Yp3-)4+e4-txAqe9wNevIlPL|yF*P?fd34ptK4rcJf|BU#w)ibP7Jmn{bcuJ! zqWrG~&B5o9RGc)w6*d_c8wTl>$1eS@@}Mn3AAqJ0O@m3GiS_wZQQI4AmkXOVxS<+J zOG7wMmpN-QD-S*`Pz9(#d+g#mUFrA+(sw!zrXiwIp%40S{3H!O$^%pfpE^fvp1&rf z^6L6U;ld>!otiyW7~!woC334E)XGh8lGt+XjZ1dxVB@K_rr7E=QQL92nJQ-kiqXGz zPyDT9XO6DWap0P zlh#FDz`}O(;jBu$hcyy1nDVm8!;mJ=pV|?(c^U@Xr8r&-1}D8l+Ah6x`4rZn@4c61 z7yRzl{E4)#rV%$qjXMRj^h{TX7Ru-E;okLm(v7o=rd-AfPNl({8Gs>-P{O&+2~5m_b@8kzPc2sW@|e@jHURY0dp9!oMO%1Kj2oFtC}YFS94b zse`wPjM>Au!k%(D7kQ54BeoRQ1X%YJku~n~0nC_qhiq>YL^^DKvUv}$wC-B0Jl~tEXeD5PRq-?*B&%{opS!34>`uv zOX6HzX%gYmqrOwj+|oB1Dmxf@Vs{9+l2(9B-l8iWXI8H53q813nswZjy8KG8v6;QP zzBvHsJf1HiSUahaIM-kgR(6!=c9q}!-MUU(GQ0JV%*XhP_>lK3jWz`HGnOMLurC6i z#6@V+N7e$WBd13}QD%G;^W<(C;c!D0PiP^$#c?bm9Eq!|5yceLuJM{24}=wn!u7gDL>v?`Gkb$WUXdjovYWMcDQ{9ukLRisWz z`&@kquKb<)5Omy~K?cR@TbkX*er}_yInSZBih(0{`Sh6+)}I|IYcq{&$!fsR|Y}PX`E}7k+sYU=Jl<|m0*&|s_!Ox zKjwW~3cM#W%Ud~L-wHpiZH=o2XXK43TxhE&ug}m#^sG`Li8c%Ez;-JdeQ`76jv4Bs zDiG;}=quU}o_#BJC@9GX&ITWJ{W)z?P`h7}Xv*LrmY|2IFD^w_y|7YPrk)q_6k9)I z_t|fSQ)&%ART4|s*9V*SKWGrvhk4Wq%Ucb8pkqE)c~!j|U*Fw`+#ikK<#Lvp|1c*Z znS;`bHxQb?T^`kBhwL=;3zts-YbGx*c~tmAYexHrF)7)g_!QoqqIN@6yaL=NId#*k40U zd64x;+;l@Zo^Lbh7haXpkWz+2Dt;E0uh@`dtW!rcap95*?LObAU@qWOxyJ@&J{#LY zHvYC0I?`GSh)91!)sB6vR~qFt7^r^fDt+f()Cp-N&oUJ;!~kXy>3hPjhFQneW@_U_QGKMC7jZ7;;LsdjG;4 z9^}h7`#Y(N(Srr!Xk1S~^jUIU72bBek23k z3i(BcqDy0zzt%rgOV6;f!S8=Lad~dTyXbR5cMfj;dqU4+MC}mpPryRE{s{q5HCQIR zSmg$_MB}k$J?ziC`co9Xsc_K^uo0gi6S)rBj5%XIQ=E;iSWA>ZrYu22A&Mq;;nl(V z9B?6`sR0|8+jGN_47>>~E01;i=Zz95JJ-?$+3J-`e$cz^LE;3j+Z5f6{JCqAgDgF& zZb^fmRnnQtq3#Y-5kqws+*G!cfTR>JGcHQzs0RMx{-L;NSJgKr14VsPeKZ%`{{FPl z;2xI)TZls~UkRQuPb1!X%bMe`AryT2%ivM`P3-e#<{mNg4tE<_vZ8i&%guke|O89WVZis5|b*XfB0Sd%riZjAYRkM1Pz zEAdCb*&(?7;UvH!v}=kGoKUT~{;42`KRQ(i$#6Sc#dx~@96eAsVVK@R_E$2vg+c@L z4mK+1FI)O2U?6Fyb=Cjc(;le5Rb!=IU4 zF|a?DyFT4=EZa|X55t)-)lVELqR%)j-h$eEaX0NTf2uEGhb#wc#FRrBPvr%8=FCQU zo&ELMCyq8jB)|IUqH(-2j?7Zp)(=8+cM$4hMaI~YpR%*)-sDKg$;Gdkgx)10vKITR>-9?|MYXf(*H9lq9?n0cEvD)rY-x?)KztN&c)4WCGu}8(OYlD65L6+C2 z!)FXsq)jfu_$5~1a-g7Lt& zl3?ipW|FITW_aUg->%F<@%_Pq##X*H$fGUFKg>Fb1CdAXiC%T&nOdVv7dGwfiJDLI z?48|C#!ZC=2;h|*{CdFEyRcAVC^sN&(Z6K$?y%BOH70@0Y&=*krS730jW&&_@~liq zXP@7-d38_q;)HRoidS%k6OwSU-${GjubU$Gjb ziZZ+)5iJ)wVtSk{_Y0CgvQHy@V|Abbslkz>-sV}jv#O~_?%PN^Z9UlqHR@xsBl^Cp zFwZmr8pKj(&YoK9!IK$RO)T6k1K1J@|U~NQ2O1gp3@3}x{ndl-up*vv+R9H8?kzccj-vH?<^Hf+veLYISSgu7VU?6rH_{5TrzC;^d;<`T&yz^xI5hxx7E?Q zlz~?Uk(~})tI3$nE25=ZHuz*R(8(dE<{Pr3S9Bp zzc*yp6w1NAcIy2`bZ*RYe$RJ=!qp(==0j#@?ua$&%_Ep3{cswlm=>q{MIW7pLdbzX zdw20IDCxZ}LvHj|fWSeo@u-n94LKXGK3^YwyDn7e$h_%D0f(t(V9xS6L#JUu&fNS{ z%mn@rV7hu-%w|wTsfbV0U!;GnLmqlKy|-4xA(`kgdtNnE*$l0h_dBLfd*wh;2XOkT zRpLACcpWr8Kz#!@*f5Q8NUs1qFAAxyycl&NMe0!Xe!x%%b-wy(eV_teS%@~M?iF;a zBzjw|i-%a2e>@g#bjX73-+=we?87ErQgb-rD1w7O!dRFwEX=9v-V1WP7a&d2eVGQG z+==XaV&yyT$9;HPm^nei{SKjclZ?+^Bh5cxz(y^)(^voHICzKJJNxh+JBlKH?=t%c zbF1YK_e1s|SY>re2+j4y?zpA66~{=yF*W)%uG?efA`{_nrv68pyNR_DTct;56M_!W zOCqgbCJQe;GTlSYYAwcs7XQUK1x{j%9%hAHdxAZT39jmi^O4l*&VT9u5y#&a%r+a{ zLzekx*WE2*>V;K`uODp}Rxn*LSGgY7Hb045vQZp;-|s&d%<(=)3cLKZaj#SKOq`Wb zG5)%VT#$#o6oj&8^6Cwf#?54&E~S~s3u{qqF`Le<*5o6iYV;8j!L)7pd z`V;S|f`%Ta=opYN<_LY3`JF01G+^%zK{<|&iB$1P7>*(8F5~*02ITdH+FwNajer@F+w^cqj?JoNtcy21K6yGACv zEmZ1>NagkWVIZnI-a*6(O3I%4K#vwwuz-1qeu7;|$ZL179(*Qn!fSVwxL-y%Cz}z7 z@LY5zh!bhTt#3AaR+9~4Sr7r0>fgbf)ToWx)x#=#&gk*7T@CIV=Ws{XCqo25dK1GB z(Kh1xsHhTwVZ_kyJ-1M1jELqOE^~UY!8F%D!3KUQ!KJ2b?F`P2)Rg>Ldypsre_e-s z?WLPwEVl|NzqG5}xABNNirLfPeTD4ww@x$FWOk2=#Cg6xZ8#(eaKsoQ*8rijbb;s@XUKydzpEMvx<+Obs5S?#2-}sYw9A?8T@`7jze1RydzR`DUn_24Z9yBJyz2nYEQ^r6vJ zW131iVCSz(3cQqPCkc#;ou9d#c9tXH>Q=YEv%qLpHLGG3*Nhh$>Ppy}R>Z-EGgO3B zn95659S2B~pgi^B`V8fz23El~qWcwzGDMApzk^NHs_-QqM6|V@(q5e-01yb}3?hi| zZIwOpy6$=UYN2SNROW~OpF*YCf%Y%cUG_7TVgP%Xboq}@Dc|+EIyPGY#1G|>qj-be zgMjXuy!^*WpKa_xk^dT|j>16;Y~pVK0mJ*}O}f;jF^`zHLwlr&OM;R|>uJjI?Eu2e zxD3Iw;#RB&i=33jNrM5?9{<+gNZSF&&ulh!g@l)Wx9v?D&=GiShX9+g+xn!N6A8bvWx7$&}fR)~J0IL|M{U?CEaz`1g6y=LW$#kl5IHR z$yTCLmy)pL*0uEiimlU+mT$)|fURDJ*ofV2g07TE}F=o&;$h+PPymUB_lyV3oR) zfU79F9$`jfe3-V|CYk`(42T~@RA=S7P9vR=ez{_MH`dmHgZsa_twkbNXJtM;QKGPQ z211GTY|8lCi3Sm|Y5Qo?r7xO4sJH*yZ>{B;yAGB2eLvEd9BVlYBR2JD}jR{SzdD z;1{UvliYTi8KusJAb=q4NZL+8^EUtSA;S2;e$-cPV9DWH%0K8F8738^&vk4sZpxn`bZ~hWP3~C>bgw+(j=PDo$l)Q?Q6LRXd^F zTZA>tCt;H%vY!+RWLS;jP0QPVF#s{5a?Is58w4ov5w?TXg z$e;`NJ(Rcd96s9e3i*h5!DWqVF;J0dqn$EAhv7w@HX_u~3XVA(dh^7LxjK9W5=Uht z^O)!vfsFdsy(`MQ4#zHQoDpyvw4M6$Xfo$0?kB?IHzF%?46&kntFQ{WB`7)g1AQx0 zU%xlyT;sj1q11yJ-J!%QlmCd~+g?A!(=RjGqO-0HJ`-2OAlprTfR-K0 zz|VYbOol3mtwTN-ulRdw$mvoxIq*uv34WbIkp;l((id{ z*k!)loZEQKMK(~frFTf|98;Z47;dQw3PTh3s5xv~xVd7z=z$7ZHxR7PTgN=wEUcR_ zqbZSfooI1t{QmZbxuo8Jn6NYH`-j-;PJ8+biE;Nms6CpqP&-Ol`xp7cqo+ zNjb7PuDQ@H&ya#-@tz572XqZwsn`CY?lh%zHKr>IDM#GTwj**~GRIOTVO&U1T=(w{ zXRAcCcDmDC$(`0OOj+b9=RnVf$LEUDe%o#e!d zH<%uZ-e_6QMafP?!GL-_w#G_v)ws|J(c&6c4I+CAeU5Cshe$^|K37Slr)XE1SC8Ly zcs%v+mJRLh#mNv=XL;sdOlbhsklpE@mc)Z;Vmy0Wzn`CJA#nUXrp1tRdX>q35?2Ph zt%D$J5U%=AC)_s>@WT|-^Ch4dW_!pkT|;MKE9hlw?5M@9$dQ5yskwczZq*!M%W&}s ziAxuYo|Wg*{4(nWS5(I&rHm@|0eI43y0os}d~)AYV4A7YuNKNyVkCOTufaw5`PSDe zOJ^@&ce&ESG%0NE5#w9p56bemq0bhtHl>U&<8Cua#RJ4jpm1BFBz zrDWp{&SXQ6wE<(-t#9|!OcinBai-c^64*5dMFGc%i1uqL!rC!0TP=`Bl7fuU#5k9(>?RO4B!C7*&Fp>;~AuDlvAzv z7V0VHo<1FRzvm1pfn0xVk=O@7(?jM?~{r;?IM-oyOieqf!h!p50z!w-^jM{xWoJ30iiR*-d|v zr%O*Wx2wc=Z^m00U8%*^hE5r&qaI1rDO?6!zoghXnrZ(}|T`HKC-?n%?v<*|{Z4VKu|l6;e+d9{c?r%X=%*Dt;i< z7Szd;v)|&5u-x=}gJ0qQROI96w(*!i&fC_xbi|-lEPg0rsxDnTvqv3(>p}bHs_tSH zDz&mH{XLo)w?CYi0poa7hVy0jct3__%5F0gLc?>y{v_nNy>un+k{;_j$Q6GdYUdYr zW)S_lmH7{D$^9rX>@YD=*Fb$5J|#EAC2){um_@pjK)S)|gP{{#)YfF(l<3C*suQ#$ zM%vT9#@2w^k@(BTyv@-uIP3nJy?xdMURhjBEkv=@on6FS={n)tJa&K{R_b&zv-93V z`tF)8!#ncR@wMYyT=H7HR}2g>b8WgG-xSkJ${d%NgF8`dj)5j?i;)3}Ef{D?{qyFS zsQWj^TGU^P>Nk3Hg-7of>kEe8E`gPBzaw1bIL8=Bj#~lGF)?S4k}gL4h5zP^5MWL~Y|LxCxuy&KPSat*3F~}yusR2P z*cemXbW*_(vWF70hBM2g4>Ju^N5;;l3cHMR(C1o5tWbwR}LJ%A8DPR|dJ`M^n9@&N(IG zp|hqp(X4m!YDabXZz-lD3F z-J6Sf3HX7PAC{A!;t%Ya5-9ZH`jRi&bJ(K_ALapvyNrE_&3XmJOE+wV!NLPAdxrdn z`-fC?bmn(wcMxV?V(G}A{;*3LkxBbq%2x9w}y{=6|qeO8sUHj?;F2&OxxNGvf=mj{p;S&Yc1 zWZugGTJ$9hECS4}E5g^u?zK5ypG;W=5qeO6R4r`G!uq$7i7pgXvp#rJh0oavksHE0 zoqk`n79ADjIkS@;al71UiK>*ADX)lRR7khO1!}Et<4!2u7vx0fD3kuh>Y4Uq&YTvX zh^bEb4fMK>wTk)kcB3m<9!H7@wo_FMB~B40+l5&pCzD?+O(?cNWKlBHo%4%Jjdf)4 zsl_9-dXJ&+tOIR2xVC4$ls2&429w}q5MM|{#m>@oIHs$a0Xjy_)SUrcD+aevl{mXe zc3X-o(L*;xP{-!$=`im4Q5}_D#GR9*Vv?u0bBqO@aHX5(I2nM?D*u+Vl7o@^97~Gz zEyoV2-p^;@B4u5sG2O<$)2b#>vD2%~pon=CCXkF9Q8QgdtEPmYVVd^ZzE}7{22EUy zDrOYbh4RHuQbQ-l?|}ta&6!05CRxXPY!AwkW_I0_VLG^CQH8DqwK?`q$GKO! z4xc4Lq+5d)eBQA^Q+@X>emsKbyM#Ts4h!;+}5p z1i$}-S7}hVhqgbh#RGNSD}KZwEM|Ub9$16ALltw-Xo}0f{k_G&3uDwSeB*W zrkn4l4^5OGtan^oyib>{6KHfhY1Y^RbgHiQ6&QowjK2J;%}^9#sZ3+uz)tAZcj0g& zY^pZC7_0;5(GIAsdItvCRmk~b#;53=?v1(i^@mbE5yuZXSr;V4Up?O4sG4S6s7m!>?NoJJGZy8`8SJyuX5AA}Rbf)>NGr$2xI*fPWIsGtf;n{! zBlPa}SZzT_jWQKDM6KlU6uXF&a@v1c!d$L|OtglWVgLn36-2 zi7UlSx-aFOzi5X!F-LkuwbDN30rN*H406E4&)Tb+?4_DXWdUwp<|AX3Od@q^eqU{_ za^@|2C@*z{aJwprKEnC=fBto9ES)LWaEb&tq35X9wgC(0?xyqu4paPuLg!d|ZImFd z^=kC{kAo^i0fP(42Gt$kV=$Yw7QM%XhsWKi*fnOwbF^L2|Y;XGB557%?4Kp%wKX3> zV>O-mcC*tgtp8i{2KOakLEpKpJwRSlnqcf-cDy7cPHw5Ka@c31!b2Zs1?GXrAx;d& z9U8O9`P#I^jpNlsF;CCLA}UvPg{JS!q!-Q+6WEB5h(B`z2e7f9Z*}K^iT7vTYLD^) zOFLl7;k6+2_4pg$X0y)SqHiUNsErJE<`f}7(O}xQT3Wy?C@SSFkJ~EnRrzQ`)w#7v zwP#Tcg>-*hacusU8msV71dIFkux=8h1sM~>7=tpj$-fevL+Adgx-S`*IL}`W zPvZzory%)^_r#RpJ-NqG?hKoZzv?*20_Je z_B+Qx%^$mcu9`@y>#m6#rK2vYOQCkUu6NM+8BH@BZYWfwN%S&N$TD!@uK8j z)beT5qWsDyffRPp!cZHxLDeeWva?k5sCa{nTS63jwm$!fN z`XMM2Z`n}tajs)Vz(aKBMk)Igki~sj5>3b5^|x#UP*5gK`L1oY1qjF{)+7c;D6RhO zNrafG9I#ahBHz!W$`cBDtiV0RnIsgePjGi|hMcDCugBEKqJHPxqBXO$%Fxitjn+(E}_%QH<*Ak_apdJ66~0 z^utJR7FKy|*e#@V+-Q*Aq}A_L9d@wp`?S}FFVu>B=}nt4 z6yhX0rue0C72ke2;{6QvrNgD-dUqGG`Lv>zK*V$Pr8}t)BMUNcL4v}%&lIjQMP}|5 zBvDNAqdW?J39N>mb?B)U8mx_D9^5vMnQGxU#JVI_zXSh_B+u^vE%-gH)VGL2l7~R5 zobDPF@{u10ynb~`xxPmp(UOO+_8BRc=rVVEpsc#Qjt0SEDvDnzt3jbTuGWg zo%my%yU1<|5yG9QT?f^jP{bHd2H(Nv@y=z`Jso>!AGHq=o{rS|6DY? zv!%Y2Kbe$sb($w4NRN1EsH2`%nGPpHZUXj z<$W&!-ha=${i61#)t70JO$_w~b#^-vWCZ?6l?)BKXWZE;e`{q-fpsO%<|4+{a@un~ zR^Cj3;KDaCCY^i2l$pA}WmhTYGabtq7ZP_%9cUr*hXjES&&TEA&9YKj)fw5$bGt)V zaesxc>DJL;)6y zDY&0L=a5-+X7RqT$yUpExn8~3?ta6FuIyd8wSUm@T+=4izZ^UFa6khf?swdf-kAVd zID$!MftHI`;i3TQ!&0^Y_8=D@X3~q)2?*^|lP)MTHOOGV1!lJJyXq$7>{g^s)yI?1 z+kQiJIC0NxUfox$kI?3GcAqQ^%ENrq`nyA2C>e44r>Ay^$SD=VKsBuv5psuuOsI?+S*fgdH*md1ZpkLT?8eww&uA`3J%ciT% zm$umUTWexv4&)C^96M=|L5`=)Zo*;w8vYs54_qBpfcGTa#P$+)>BUgOs26<10S2%o zU-0`1z#!#Q0JRCw`Q}VkUE$vRjDtvns;0R5^t3mcIK%cg){v*Dh!OTU;BihFeLKZ6 zG)WOa`{b7-LyPS=TTu&$Oi1mOvyrbisBfHx?tfWVYN0vydn5+k$4Oj#n{f zSgCmk%lMr@b(nOW*ogln+IDSMKzI9L2ds z8xWK(y-Sez%J^zg)8nOfd7nIf#2+N0T5M?)K-Yujf1_k-z>i${4;Zmn;?^hvnm|Ka z+ta@iUN<(|{oioJ#Y&{zOaprrudiZzP38%7W!3G!rleOhqN;g!*P|7`;79SIp7khg zxilN1m{9|L4)?Nb-@bt0m zIAZqQ^!n_b5H)o*aT}IMc(V;jL_Wrirg4Uylus-wx1olWf$dD;2MJ3xB+>$v6Oheq zbJI`j5p3Xruh`sv*?$ryirJ#qCh94R53eM~Y=ada3LiM1J1J>Ekg}~sI`jdzXkyKL z=-#AqtG1;~uBG&I0OCOH`k-h^E&aD_h#KBo0{%>^;(SQnR&8i3Xp_+7x zyYPV<8M^V`9i#v5;sj2|=3wu=?fQoQ5l{Tr=B~~knlyj@KM0xRI#+&#%36#dC=Q zqcu^Fl}feiw)!979QJVlf|#?J|MA0*QmzLGNFV43SqvawBJ6&$9oo43AL5BY`~Sof zB;L(#!*SP1%-=F%24oc3HG5*@BH~kqqP~?c4Igmr>Tcw;O{u#W4(6E?HtYvyqm)}0 zgegzPFm$M-!>@&ce|$!*^}5bPW?eU`dEmcH*BLJmAQSy9A&>A^TeDK4DEm6h=1bKE zHUDt^(XTubbad>{wM@#mooQ_-@lLwKhKn^SvORb!>mcWs%X4g7lLqqo?dj{m1enfN zcmsts1b>Vc(9cROVs7KE4n@_rCYjPaNFj*j!m3Egxa!`VnJaQWEirT;J(6O^Os^)l zk^;{dzoK|D8*tk8CnN*RIjwt@;V`@?3PQo2-+ZNB%UUJ#M<#ZyMP827h7-{`V^J6n z<*#edMHw?Xx`Kar&_TSwzG&bf|5Upy;=*0-TS#-V&JYs&3~Nw)iF5O_E$ZvBi&g8k z0o_)#2R&A8sc$V%z|48y=I+O2xE*Opvx^=(7w0p$Vf?OKZGx17DnSv91+>8-TnvSh zvVuHs8I6r*98GOsn{K%!_Sg!I;vA)X*M7IXP~404-J+aR1rWPrOj}hXojunaiy@~x zNg41_bsJ~v_kp$cd2ai@(0%5XA4lI(-3LbsUIC*(eE|tGp!BGU+RERXx|NmnI?3*H z^|B=zNq5!%wBRRXh)odij^CkHE*-C3#-5 z^{va@Yf03Zl{nGgF$0LXr?{G8?EO8$`1w6JJGJzrszB%_Rctyg4cjq4L9LpyaTll2 zRFHN?R^W8aSX6+EaP5)?D*|Or+@|}QKJX?pb6O9_C-9C4IOR$W7m?lkOZcW%Vhip|9!jWUE-}U{9Zva>&h_j z)!EQZV+`_kU6&IV+G5-LJgToQsP`b{fDuf;tI6u9h_K#0a&D>O6}M`@9relrWA^UP z5`z@?pMu8^9l34UX6*syZG>3aa`Qj^-_;0_28GWVM;;|tW63* z2D4^7hpg>w8(4z(*Z;czVklr(A|4qqQk9zq=??B<9~)_xsC+dSF@>syNF0}^+~}D- zsC<5BqT#tw0}OFOow)HWI&AAHASNiOtCP|(E1aXd*-ceXXJEqY(bUzs`3>dK^?w$t z^JSmd4Iw>IY1sA68mGd;s@BkBrbucO_i}Ikn7-*@HK(}bkj1M>A!KS5(v06UO1#&A zJfFZ$xR>$FyU_XC??_D=E%b6`$oiA1qr9QDl*G1k?#c?BLHo7%3iXAjyY--{PfuEd zWd`l{Ej(eNIR|Y*w(ju`i-oz#k($7TWrKG4B_ziH_caK?tW=6^)PKVJO8y0u#}=~b zXT*QDW;Ok!wcG8h>h8Xfol#|Td5IygLau!g_kQY|;&z&g9@onfR(03XwZy@qVdhfN!!(RAhF`M;p-#Gek+4xtc3?%=-#4D0nAg{K6hOVF2lz?(oyM83>7!au2CMnqj zXK0w26|#=^W84|`(9pM3i%OQ}A(`OPCV2I|YNNljuCJLDqI%Klw6SF+WDn&1V67I* zO$L0?fsh}EU+Df)-Bl)(Hqp0k|13FtWj%qDwl1>192Dw!JaNpdX^Rr9q7L~~1*%*` zpI_;ES!`;HEnY4MBtdB#n-W65zW~P6UnD%VT-wMx!af>W>9}}m9Gx%}MhYYcmgb#N zWjX^Z2hsB<4=E%ANlujl!@@YStS#GXfKlmKq3{qikHxi?9Aar(RL1LIqimm)i;c%s z=ZBJ-h)zXy&6<3$A4__PS3_yAuen?KLOq%?Oq|wb;uch#A_^=Y$sM>9{oCF)*EVj3 zUwTw7o1Is~JH%entGozjdGjI%pM!qw#1w0$Rx?6EHzTSi+T=E6&U~ANXyvof=RT>- z&+C_lqUR^7{%X2%sd8fmsr9PTG`oz-qs(e6KII%*J%I^`0R=k<&Q{VVG(CBo`b~Z# z^F}ak!Ytz<;cnc*@O{#;sAr&nhO$_j-k{N&@pR+-mcP>$U#GHHVio?T>K>e=2T6d` z+2hWvPV@Vwz+NQyi$X7j5;0u~C zeE*IOdW`qQNR#UYZHl(*V}Y@QY=_|Dl%W|8?8nRDRMYUQ2%#D7=eqW^`=0AKy;5nJ z|Hy<$n<8A*dHkFvy3IMi`cd6<2vumoh;4fu)Ia=w)t0u=QyN@-l4bfXhf-miqx?3_ z&(;r_AS2a0hxBDU*!0OJAke;;t!AVnY=^F7cPsY3I{7SA$lx>jTs-eS1 zly|<1H0f1tkaJE$mZoa7Bv2ZWKG9t99i`_Pcs#H?s_f**n6u~Crau`g8(iqz0#&B! z+3i+no9OS6pzeXKUgtrrSPG$oNLm)5<$$ z!e_0;j`k=xrix>w?DKx9114VoS_e8{iTiWYaa97Z5Z#*_)!bkBmxh9m0_Bnc_i)}B z>9f6=x=NgMfs(E@5xkSVBh%S<4Np?-n(CtUey<_ldP4X$b;YAXM)*>?;xSjcWsgz2 z#T0XuEFy?nlCxcp3R$`PzdkB1f1ycu33pQ?%th^gUI*?`#WVqGtG(a~~mli#|cZKk~;w`*yOapJ(G8$5sk+;58{S<*{*Q1AfD%QV( zvZdbZe3i0BH5PY7#7=YluC>mPq#2mEeMk?~yLSjNcW3)8rZhrQ;;unBJ^igO8-)~q zwJSDm^wG?FJ=rPKtukrA05fZpvnD*K>Z(IZccw)egY{N3XK+6oMNxBg7lh%r7fbmi@Moz?TeuVD>;{F)9YC;qINKZ2C3{JzvW6gQ6o`M7GmW=dh{*^u@;c6xK# z85>`hAX23kNwY{MI~7Qy_L%TiqUf;pZT@UNq*?bg~P0^Euf3dwOslMoMB2mx?;a0 zqM`Mu8{oT{u;2#DZ)DN@7Epf~N4DKRlehG6Y$mxU7b4z&sQY%>Rl=}X))J+08Q$094AO`M>In(f&v?qo z0q0aluLcJ4$%iYh1-(yI#VYAn5TV8BSG%&0;ljnu;H9r%lU#1E3R0hlm#ZZniD~Ya zxlK!v3$yS@6yff0+I#JL>W_itZqZ!MAecpbJJ6qU-Xzzrj3f(p^cPMV-Eij(A%P)}31 zaRVS0hLRoEIWE*(!N3 z?l%f4)s)6bg`$tSmYeuncHedI5Pv>USdA4?LS(azmN}lq0Va|qIRu)h`BUGD8!(#9 zam4kQZ%vTrUB!QaUryP^B~H-6RFF{@Y*PD7<1En4sbKQi{EL_02&hTAaXF9DT(N^T zLgxxB|9(@nxUf3wiltSoXGvkd>q|pM(W>mN_Dfs{BX6S|TPN}@cnEsR;VJm^)vtzg zRj0;+60EEB{KDb!q(YVb{C^vWhGX1=M44GAK~&-X^`iRMT9@S1*a$CrgkACwut)$ z?~lHp|1(ZV#UdBw@TpR7-v|(hqAe&i6j~k2r%*E@NND+A5C?H+ryV#MzPR z7Tq7IpS83I?yI_%@n9A}g^lRRr~R? zHSn6bR@&T;8?{*B_sYr@S~(Q`1HF_vFOs2Wog720ziZT1-*@*$#>zsTh0J5PeTFeY z9%>7vf9Mg|<}AA`9{00ocN~jGpH=5nhzIg)zKQvu)p6?mxiS5v-K4UXxy$fKg!cKY zs$N5)xW_z)Myo(`bEKhhJm)O-D89UM953`N+v6)ws9o_8!Opsp4mU28q>ih$+Dw{i zd%DWLs@6KQLAIB@LlB#BMIm*wYo}yVJl;k=c|^3fXvWWB8HnT|KfBR_wypLKv9o8% z+jV)b&rP!}ST&xpgIs4T%o||au~__06Aahe6=;+94&kecY|hALkS%YlZ9G&7q(c@U zS-yA`$ubZq<&R@HZ48)EC=~Dz||X{ zlXxEP1F104bUh!*@ibZo0%4OF4vU&79d}02Go(}7kjtb-kezCrc~G12Vz*`a#W9}( z0hoV*%tJZAcn57~Siviw)iQ#lyD?D~#@8?`FUB(W2TIN;@iuIF+ra6)jT(KfBP^tq zzP{UKhO}O@g;iLPf0|`n>%bbFpbB8`;Fb{I^-lbm>pQjgvVve%U5rH~BCWqui0SRI zfuk2@Fa{n}jR3vvJKC4|_4+{@(FI`b%QEcJm%!#S?3oj_1z{OkR@%EP}MQtX3?ZfP5R$Qhvcx*VDMv5qjyUp&D(11 zz#7`2>Zv4T4}R$ZR1KW(tnwU(m1kYD6|sR?0%qM!uWy45Raj43UJsrC0*YpIZda>_ zk<5%1)9WNLdvzjsJ%&Z>DL{B#TgbG>%VI1+)r<@nb}7bE;F8;eZ*dS2#K2fPo5#8**`PK|&*I|y5f28PrF%nGo+ASwdxJ`-l18#=M5*I(eJ6wMa=``1Vk zlcBHFyAmy6CGiMqsYvF=nr8$XlQ_;Y-H0uJCI)krnoQxNFD_4_YS`z2^~FuE_OS}3 zqcN8IvL&0KZI+_h$9nrhKXHxYrs%-(-}Et*q`7jFBx#1dXBn9e#Bi}cc;)`+WvVq; zH+~h{T%JrLGZ|^p7~8Xa)a!+@o@VR}JYT@#{XkxpT7Z){?*)|X4_-OmQk-ue5G|Ks z4UJHBqiF?%kb2z#W*C+MS4faEGY$B6eichvejAo};GFtfURPmJE9IuW$rO#MGXvgY zx(TC@LH+%BT)Mgg82fE>sb&&Y$}W_yI$74HM}R*efV^GcQ_zEFyO~~d(5pb$9AGRr z)5@{+XaftcznB8XU&?+%@HB!3le+m97NeJryj7I*dJXee~7A0uw4@Yf9UG-Leg0S&pnhiPX+1hAalePM9 z<01D;o0ksadTz0yxkPu6W5x3&59@PeC`E~V&m3jt^3!n#;Vu(>G$H&PNXM#}ImIz4_IC9O&8#2E%W!^~uSN9%$iY+dN@{X+26?>;33+QIq?C{}lgo z|DKa4F?2j1Q*{rsqFt#HE!3IRq&b5}TAT&6Cj$2MA;M)5*@s0>3oFcNT76L=O8qJP z$1Hvwt>BI1DeCwat8rvp}vxU4v)B9Eg9UiED4$?&gJ3kfwTDSElGP&OM#RVWACRG1jO&J zL2+0JVHGLR;tuL+m$+@gyk-P`s)*;b7s6DR>aUfQw}(Qc%lm8eCAbZbO6&KY&57QBSJ8RTP>CoL`IC}feye@%)`BIs&_CggM(!fBr$qE* z>m+LjTkwxGI-*Lr1TKU?ecIfc*)-DJU*_^-SmSV$@fIhg2xSC?3)9o)6f*Sq2MCy% z!A$C!u`&E`A-3rj`b)F`wJmr7 z&qy5Q&J8FZy@URzAA@?b*-S3z-1{_n$May@X?8|Z)4)>~;ub=eXq9wmZ@RJAB0_}v zNP^JW+{U02b?1%v$Yd7_qT=iU&vXl##w)z2h~z{i@1SoAskEUNm?sCd|N?jW~E z{07VRqQTcI!RB`-MAb}D=Tv{wYrIu>VA)Wb>l&dcz87fp1d4VSj7?G@NdmmStq@2N zLvSW^vM=AA)8q_D*@BgFT05I`K9%;aDBTUZk)Jv-?Ypd|jL(QsWR`MDvKRH|)Tqxx zJ^bK^^|HgI@r7c<7ViROeznwPboJj&Bh@W|qWAD4aYePvQ2h-AG2nnEo@~v<;jozA zmz|JJZFjba2ygDSG{Sc<663Xtc~Hy}HWbkf{jzpKod83&YX~VFD-*VO<;2e&47dT7 z^yBz1GvAJX-xSv+V&*!kdM5@(Xk4t^!US@UqrG6+#G&Okzh#o$!kZUMv~5T6kDyS6 zXI1oWY|6Bd8Q;e2=vyq*?Z@VK^M-2$Cm-cnmQzzi&zVw`S^zvUy3`)v*0 z#&Gf!hFhfGwkmx45myeep>-!QfVi9inp(^@Mytc?ZdKLu1z%TX+-S1vwOA=t+Mm=k z>Fj#e#a-666E%4nf3-SRdvGZEWgixeqd0g*6yUrZ9-)i=^g%FR8K@dVY$E}9x_3Jt z&eoh0B@^=#6#B~ns7KpW_7Pul(&AMk-7~ZB^!_xXhwR^>bmEOSWA-m>`}qm)`ckjPsKZ4|*JeMDLj{;Z{gL=3k3ej>dRP zXYZC{sub!<6u3FfIWl*HQXWihH^nLnXotfS-8;g|#lkVF8? zBp_p>u^}T;*Sg#LT&8R|{?z7P=vO)L?C>o%nhUIwyXp~Hc(KHNaX@f^z6J518zPNo zmph`TFu$z1bBH_ZSEeTgC|Y@Y?zj!P^ia3LttnA|vq5?$X6hw}l~l@dU;a3+;MvzW-x%JwcbF8xbWF{AfX={glP z3dxW&?ocQT^3V%SD863p1J#~lr|b_P_{DB{X};)#0u``ht=a9dVkuI&atmlAW%ougnOH-gv-RwfuA>N7$D7 z^L}Bk*;;S^&H5ljehu_{$WnPAN^(&~j}+@b2l)~M4ZL=OUg zYbR>OhRuNLyWLV!eA?Q$o5~m11oZJoe>=}6EH`7f4EHPgpy;DWrin%nD@N%ZiqL_h z*fYXeH$vbfG;I1AjxS&RDks}6sm+8~@OQi`+)3BBJ!Gt;3I0LKValn2cnzBW)PAW`^ca&1p*;Q-+oY#C1^` z^l5Nfm<>~~oezdq2)DiLWV0bF!$hj@upi#9ndmWk`mx%EaZX5aY%x zCMMB}6v%y9dEP!{m-V|o&z9ha2eneu_4~zMuHF8C z)kxMsZs?V>UFgK#)K0iz=_}3?rHqlIH;WZr9?~9B5gs%2ejt#~t2M4950+bv97)$j zyf8SvZT^t_dOy=O&xy+EOT4=?Gv|}!KNz6_!s*J}7x#KBfs8`+LWJgCWOr=o#&@yUkl(Cs>M6ZHEbOn1)P+mKO>Sq${T@s3U}!*nR^KVkw%L^&vljeJ$q3!o;I3ePtXnrt33xD%Q{WlNe9$ z80v{#Qo%hHLGe(~AXokWF&n&m~5VEIK%HRdj~N$@v!sS%U0}ySRsD&OdNR{ z$;x9All|9L9u%hb6x8M{Z4Whl9-e*Gdwwuud&Z&A)%%LA*Gk&EBn%DD4Vvq@cP-To z{RLXDst-9D;e0U;nhboEhwol&4&<+(=%4t16H!J~z3-8zd32E!-FkgnCoix}*}9U| z+;w=%t9lsyv^wc*zR@MamGfM&!gR}WVi=EQ>@vO)j+?ZsR^+>ejmT~Uu2Ngxrc+nA zpJYrtO(*;EEvl?oP}(FpHZ80$2g^Z=K%eGk2R}n zQ_F6u8MS&;Ly1_}CNgmSLM7Z?X_KRWj4u4vkffaDbi~(LoRU|XBqMR1H;(8E(6N-m zxX;<*#hrwhBCj(!r@|4Dd|r0hSAOGhb~R_d&+|Z>^-$)0LW2VrVGDXFig9;g@$?s+ zllc%&FQPnky0_YROgFe^Rvmc7HTghjBEzeJX&GjcbA_|*e-AH|`6+KUJf1%T-`T7^IX%3)p|x*Y zN$hHGh;l)@+i|3Qu6reCbEslLLIjJ82S2sWOcGtM;X8uw{x)tqoSoYpA$o!v&e=7z zf;bRbe7}dd_*elcBn9$Pg$-wzHW#F_dM*XJYd&r1i8=CszQ%_?M`MokR$8wq_4MMO zdpdcLV)kU-EyQ(lXh`DhX-8$l{7*t&%z)gKS>X7v!=Jku-?2G#b$Why;a3C(4%VLT zwG%Pj+-~sDC=_lXb6>i2P4yY3UtTICn|`44U830CP_FI@QaO;BRpx2CfCY%%NcxBA z*N^GU@KrA~3LS2EvnLB#wHUxD#~j&wn=&;>HI!L&hl^g+Cm&RM%O@UNW{P31*Y|`5 zoYpumi*t5v)Qr)d^$Os)gF;o@#LSz~C@-3`T&@~|9|(AMXoPS4OZ#Xmosn+}n|i&9 znd}p$qxaHP+02a6yvuX{3HV?GDu6aklF2I8@aFd5I=ER;(KcC)(VgVwR>@Ss}GBWSKL9=`}l14^6_S)JnpjJlgVE^PdI{}&+HX>LDI9s zSd3?>0z72M#r&*^cSjXCMy6vKuP^&Ft}u>Kt?DaK$K@_1|mlTL&sk z*N1}D`AbT{C2lhlN@-TZu~1e}iQVbV-@QGs8|!swj#T43i?@O1p*A4ac*0qeMf zhT@)Z_FrA$EfLsnnc-H;kDixIqhCDov~V2dlY-wdUbga$;uiyz*heWCSkavu(5m*0 zUAzzOGer}*^Bu-jJtnObTGiE)Nxlm{l^xdEpgrMr=*~`xb#Q)^e@3!Y30BeO??s~o z%f_FV=K`U${yy(W`&+m${eOT9b!>#~%^F0@f|Jd?QmI}9Fo=9T&a%Ad>0V_)vB}mP zf0?)u;yWv~vsjQyi#K~p=!(}*$sj`^_HsJU4Ie0fE^jrcNoYo(v>s9*!p=73INNhe zX7XYF^5dkd6LLG?s^C%LOn$T!#|7u=Mlb{-pffjM@>${> z2tvwl)N^7;lc*a?hI#%2s0xiv<;~>l?s)>TxU=62;<`GXs_MWB7K8P`qHhJH0iXnT zcO^9g&7?1^p3gFrVX6N8Zv}tUTjCHn%ACQpRHIiug0R=&LAxV;y`i-Af8ApGGm+xG z`y~&9dVN}P4ZaQ}W*zhL0SWr%-u%;Gzx$rXB4g3|`f)ZI4m5c;HZsf;d8A2E@$wiT z7f`IJL8QCs_aTKGvFxESUzVs;)7To7a`| zB)=!64W{LO;>ujTAjZn99u>f7(_R-!Xnnnre^gB%*SVj|QicKB@ zVTMrvn<(?Q8?mj(+ZqFmqulfZfDTU5`|;~E2XO$ZwuDTU`&yP? z*S-yDbIkuBn{1dEqS3N4fOu)C7y$ST!bbik0&^c!dm068$+R5jG`K~fXeX_Mg@-Fd zBNnu*ecK7J@bXyC%sP!(1Ob=%MaG#H6B?C+RQ#x)eIc;ZB%t&bHT_4la6qr$h2wp( zyF)QJeQ*ld17}r(!|Ci@d<$m)e$V$0L3|~%?<(zUSRt&;6cD1v-{JJ+eXo}K9<@-o zSp)ZI*7pWg<-`Md!0$JepHOJ~vY;D|bGwD9Lv+j6Fl+QI$c|$`MGxgGM(z}mG&+=V zfRN+ln8Yaihbb5rvuUALzAqhZ-T$tne6?8F*W#$e5`GxS5-Q`uR;Um6XonhbM)QXn zQ)7$&zC&#X)T0%p;x-JRspR4rq2t<~lf+yh&RpNX-5<*7GHE6I*kupg*KF661EJk@ zS-e($&-Q4|T9zH287RuI57O3_C*iW8 zqZTaS0jAMWBJ3~*hIHb3WA(;*J4fUPtJVabK7dK#Ii<(Jk~EPv+(M4w$t?Pf9abR_ zKC?}39QG@FClK00{B&mvVUR}~wN%+0Tj0$L-^nhebWs#gA4C`}a^X6>O8D#C{Ep-o z%p1Cgm+2g~NnQGY*q4PL85MrvVIM{aU$)j|g^QhIN3N}FRTm7%3p8UQ0aOMxmZnO! z`hSUna9uJ$UEvj;+38~}U$`w%%NwqYMKsyYha1%d_u*rAARau4}G|{wQL&mx{k% z1<_k)U#h%G`55}&xxxA{NH;lkX@1t+55mcV|MjLZ@kBBKvLNtGz5+2M$bw26hPU*( zLfw7|8_qIRYtE9KYH5*YydUP!6Vu9aLZzsb-DmLejm$+4O>GWe6TMH^Rcg%5_)GWN zmp$^2y|pV3j%0nyisotF^a*3fZVc*vPaQ30EIGwCGzATSD*X1&dW6oHA;i zC?d5?Yrs;jAf5`t?b+Lra$Odj#apYbohn_N+AR!9r-)bN$F--J8Y=^LSp72($T*`t zSMb02-b`+|8em*qsd6;*`M&!|5Jyhm+yZ)Xm3Lb%b&=3DV8#%4DWdeq5s63DHx9{W{iI7cKD;I@b!mGPebMqyWuL>w4NFg9rmBxAZJ+or*U2h}47xkAnWc z2c96hn)ALdBI2evM8!vhVZ)Q^yxxNt+7ImrIA;{rE})Tu3B1sl+aWWio6U$PC4T`LMZ!+`(jU9GW5 zC(W&sNrHc(pA0h@1;Y38|44oL9=x&zv(IiDo;H5UZxSqc=I=3l#~14CD#V>FDdco} zdeUelke5p-yp!7}H8ybK=pV6&Uv(88MwaL2$WUpYx3p+~SG~V$VpHY&$~bh-Gym?; z&CI?!&?W0~)YwSME?8JKY?AC}U+xsL+N`|}QAf^h=16?uqmp36Ed;+s+*=MU`dRe2 zT7a0S;k_2DAQEY{Mem+kTL$Wb?FS3m)rzX(_@OMUddNW^aFL(jkRDzn0}1$RVz+ke zvhd9ArUnXVVC|IylJ8qTW6%BgnqYHc8%DbW{Fl*1ewkuEzWckZj3I~aqE%s?GRHh7 zwzmz#7CHihilTeMXP(TS+|4uH*pNrY;3g1Ln&CaFBWh3?ttLHjU=*1SmN>p)`6hY7 z%8AB*37;fKmk0F25jsRJYc)0bw4J(o1-@%r!hCOrNd16hYH0YDb?*jo*x4UG&FPC8 z+U7iO;zZT7Sxrv>0MZ4bh&Kapkvh!WhL9hZpO z|Ke{}#SE6$c;&P#*GJ=c4&XLY!TB3+0Ij&(d~4;k>U+#4DIh!WMipw`Dbu~MEJaxP zXbZW5xLijTq)Mn%OKZB_$SE}5N_i?SrqMvU=_5(um@&L(rKi1@FMPbV8@x*t8sAy` zYDmV<{o4Ncsya9pGg?=>vEF_4rk}gv-7eq6;~QQpMr90qbzeo$FMvIo-nlyK%L5ht zx<;C8VzYguUhM8@?1{}kv*KJ^1Ygsdj0L(eF4eyYq^=M_XNlXha!ytM(iK>?!KaAZ z;kwvt3TK|lxJnHj&5?NV7Zqar6dI2q7a8B={lmaW>Ku8$+b*MUiOz&z3)|i3O5H0_ z+y#Y!aJp2V2U_$|x)Am6x2zxKJMs_)myec6kpMcGf| zJv3fqL5Rv3ovoWma`Z)iuPvIpxteYM#5vLGSU>lD(vb*pJpQ0)2bg*AM*oWr=r0?j zoHK>M?;S8r^UjOiaJWxL`fXdsyMNzljfJG0*PW9kFdw)enB;O=5XsOR0v#-p;+{>v`3$nZ5lnlNr&p8cNowok~ zdq$y?B%@a?m)gQYVxTP;W~kC}W9-R{9HEBylw~4hqVJIJOS3c;7yM^EapZ3{<%7-F zt@Xth>BT4Xf`nLEWYUi+>C3a|kicI-IbdF7DDAvXno+7a#Jmyt==J4jeJ0BIL>=0v zsIQmubWeoSTwx^v&JE z8Q+S2g&MdigGU>8Jz%f6up1r~DIysYNf}w51yvcp zS>mzp6ZMu+8G2K1si!qhNNlGbipWhLb7F)ResX9^))R|<2Q3cZUv>M-KJPl$8Q)0* z@*gd`F}v_wC0e+)v~lS>F|s?tZ$WsvY9TnkXUSGIC_xr4zX5Vjw;98Um{q*e;#I|a zAL@vp2U>W2{OQ)X&b!#SUJe*}>Nd5^J=zrW{7n?7NKW0AN`Xh^T}?#|QOC|&eAE82 zn&+^g2FMgBRKID68i4*&%#OectlC5__3ykv)=Jp6E6T@dpp8xa?U?1e-fJAon7iQ% zWfm*2JZ2~+I@?NcbRh?0KLPLSJrvsIArw(hX2AqP>I|*xo9UR&2p}=#bM3d4ii*~- zru(r)7Z=DyCQVU)*AFUEKjicXEr?37Ap3 z1kURS9VRBhEuO5UQOv8^7*TcVx0^FbRKul&r94kUsx*k+Zdk6=@={~esZOEB-ylOP zjD`&M3*24ut0CRo4njty9`h6KkXe=8Ja^d&Ev(Tzyxu#6q)B}@qR*HH>OM-l!<#EK zcOrC)j@*4Wbaij#uZ$;HiPi_cpc-qm&l{RcFsu&v3>}oZ zNfG3D`s&SUs65DmYf1fkdf(m|JpD@i+`jDH)WYXDT5i#Q#P!FN(a`(&vzUBE(xx|H zW%tf8QC+l+LWJs*A8^&hw98Pg^YezbLMeyb!#bx{0nbh*P%EwI=<5d>qkD#U&cYMv z^3u+x-b_4FxvWBi<4Y#(TtoCVXz)o+uD%hkzDn`8w9ld*ZQTob-PAdG05)5XYU4!C z#$Hl;6HBJONlSXedD>R8bRN9{cv*uJT&!pNm-zE zb;Zpy#pc`co6nZ9=a|%_`z?uvOFC~q6O^>kan*X)A9#+wTk}oJ3eh$YG?iH`;Tzj1 z9uc+|W?$aI?8%l8&3*ew8^f}zOfNhWZZOY5T)~Xq!&%*~SKx};***5Dvx9;TZsCG? z?f544YhczMWva_<>(YnnEYYPl3B=FeuvMF^id#HV`ITr}LB4^4gUX}O z{zczwPvc_R%4yARAxP31iSR1Hl!wB7>ffAy>tvHTEwN@}Fq6|1^?cP;R_qp++?4y= zo9mf9TXev^yH?V()VjB&QMok~!cBymX4mE$jKsv_gRcRbdgP3UpM&LgBzGgCI+doJ z_;qis7r5kHC%QRaX0?M-Ld<|)s(6PXh*!h;yAr;yJY zYG}u+&5vUE@R6rQtb6gTp!1?ey}G6;P`V06EX}XwF;ZuDe#YAF3GaWcV!{f+yJm~B z1flK6E{%6ZsXf-N41K%--jdJjUB=q(ITAqj9g#7uG?TjjTokiwbydYYyf6SRJdIIQ zd3G&3bwgDe6p0#3yl|lgzPjL$WAS94t$mtF?R?8e9If$4TVXBfAIo4{R%F#`3zDvDc!gR7ZrB zsQ+6YLwyWE^Flm18Q!M%dMI~T9Fpy1o95;kAa5U;-JZ;ENo zFwlP!E{Km)Kw1F-xQDNy@X90SW>l~@Sw?oH&lFx6CyLySj&X2>lJp}k!a5_*HeawlPi3N6#0IEJy(M$%oP9D)f^OVq^S;wbTrA zD118s)&39Q!nH`;zTZ-`ogrvP*$8QksMW}|2HY?BgYJ)-xW60=Dx1l>8(<8J4j*!v zTHFzhh;iJk0VPB$f}ejg|BFWvgEcmeq$)4=u!t|2|54 zb|}6z5hx*4c*s`8qv+cYZBJX`awj(;HRl8TKBWH|^qb2sW6fHT@N9S{R!9=JgeRe$ zsLSJu!daZBz2_pej&`GmK=vUe3SE*7$<)$X=faD!*~?~l%S;ZF?Gl=une`mv*_qV5 z_2UHN2WFay(7dD3@-i#!atZ11X0!<3EVEbyH7BYX zk%*YK)LFtpPoN07|8_h;{)!7-?L;F8^3qHncCj>S|6TL;UE}b`l$Nxaghiw-$9j;C z*FNooOMTyzm?XjT8WiDLqxv<`Ele8j3WfT5@s@`^g6Mw3-Uabw{0Wf|&^1uj~1usV;$k@i!5?7B90(|T0!^uAzFNb$A z{66*#H6h1XpLd?kT0V?9#X+g~G-AK7c-$Rr^=-ORJ5a4iY}3-_f}(SZcZ(YM8Mnnf zgS5aNc;kYKKV%Au+0=-qlAk#0JHuLvmp?f=l|yI_y}WVNyJd_Jz8iNtxO`FmJ%6;d za};j99YPFMc01ZQgYi8bNVWEj{t?;4L01=#L1*DA39@}CVhfmF4Zh+%jDGmRkTJv% zCPHS?agRzZ9Q`%cdNv&EKQEl5O{?%VKk=nZ^^fBDPF*15lawbvixA$A+84`pX@m{C7mMYL z#8&fs1>k2QI~ z=reZY1hlT2bKG((-B>~iffY`5idicQFQUS)B=B*kZZBTWrFzF~+qYL|w%e>)sSJ)> ziLehz753^2mB=-~=fF>H?Xve5;(OxDTPOw%4rX~{O_Exz z8l~lVpIyhu8rOQjY>J1~aHU#Xn+6VCd%9X6V$L*ata40?zhcS^$(%_t<)?wO)^=9E z&PUDcII1RX+(4d0^(aF1VrmjaBN{i)C-5b3@AId@T3Z>`SPE58bC{{?=pjzuLeuOQ zq4WZFB2A;d9EcLN9{`To!g^G)ye=G`Kn-r&wCnI-VF%$J1JIlc zh3DSF0(azp!vZwJtg0nVw#fm&5xnweEN*@CaWX0&>{knD#M0??lS5PPQmYxzo#RCU zpgGpS7nle5vNG&~s(F3A|IvCg8t0{wA1m$8fGOYNizqy6-2!no94g=D4&VrY8vLL( z0i|F5U#^CUha?G{TzndgZuT?|Cjo8@08Ef}zS=Ww&OHa@^tZzY%DmU9=|F0Wq}TEP zVGsYU!0TtP!%dOnD`i-sFBPteE@7ogmm7crI$Pl~LYp=!Nt6o5Z3z1JoA;3-Bkb~XXe0c(mF_wnL_b<4n<^}pT<@DFdjmDyh& z1K3MWEfsEg>vS+LS7D)APT#< ztYUq~|2z7ivHrJRp&zdS@Y6H;tGCt|?2^EWAP|j$9Doj`jafRej5_cX+gyKPopQa! z15Tb$6B%siz;-QkU|Sr}xd4)}0g)51sML=C4Rn0lpul{>jzAwWhXBIHZL0B>0$wGMPCGpp6v-b|! z14A23@ACOO9@ofs#DUH8e*6y_^#+r60*z+l6Yy(mF^GUw+h5LWr(p-6s4Wngu#RXC z)ITr)lFq5fnVnVOK^g1S5cfo=3HLsvEisdkjrB3tnO=3br8K&nGZqD!Uru~9|4$rY zoSB`7ePUa!-xm0H!>hH##it5-hbiwM1V0x9szvbOss@Lu-HU)6ykJuK@Ch15$3CP@vw>ryu?0S@GS;e?F zvM6-6rALCdy6Z$hdHa4p;#V%jCGUktUWW==795?|_Ui_qPkf*15ZwDFZ|BifD(Jn^ z!SU9BL-Gmy{4aSB&5WOP@1c*CK#GM~yF&0MoW^(wgOm-fFCAnFvbD@OHh(f}nv3X~ zyJ4am6DcmqO<2WGxu<4XzEz4|!A)a6Eji1pnlqVk)@5II=aSZS$_G$fKZ6kWY3j8H zMG6oSN!GQSZDaN?Ut=auet9$jz}|lHwssn>Qq4AHZOblFZD zIK-kCgi&k-6Q26lihg!{?i+U(G>aXO&?Rniteuk!-!s>nbObEER$-OjRiFv{#%;cP zJKmB1>UZ4j?$M}Z_mnyeab?8?`A4mu+AF+JpO!(<-OPLBTaCdPu}Gn3;IE0FPK{nB z53!aK8gxIN==#&_TDi}z zP}XE3C^q29;AA&S6-B5^3zbHZX9$iF5qEhAo2synHWEU;!*75#HRtBiey78h;+G65 zYx}YXi_wT7)~dN90E}FK&(G58_DsW=q`8GzpSsOgnjiMTQ$>l7$r%%~ z_S0EX4ryiHc9%cdTjL1Fq-SiMi%5&iRs<3dLI*CMzBEg7NG+n|{Xr*eZ1;FozUGDM zF=kjqg)I$rl(mN;p{{?^hN&Qcj}Crs?S2kYp#&@Q-wFPP4Y=)Xvcjm|@+&g`bmWQh z`49%{0dVGO_D%y|YikW@v_{|vMR(XUrMn&ZIbu)mkI-ZOCiN@4kJw|>UGUK(Uu^-& z7yF{bC)p)>tlrh530#(hekfdfIKUIF&QN3akFDOkxVIO&Ve1|qtL0?&t%6jDlk+wW zilSt0fVg;A$~Wl4ry&Vs5MA+`@0JN<8!tfF>UVhm)#td^)4OEuxuHe0{Cjn0+|W!y z3nHsIwRhkpV(mJSytdTW6}ca!nuD+v<$KfxIwEZBw(!|BcRbGhEVI35XYE3$ZS8>{ z1N_W(FyzWc%)wAhC@Ig#E`m4p-oe%Szd@1JyeA~{IMu&{QI8FHn#scR2l016-dfEtVSq1f|3p9y*XA-@N zT|KXJM1N}jHK;vc&rq@4{=*-5;d}bd!YfLNvh(1yn_pEci_AL#0*zAnLny+PW@>Dm zgIO5z+$L5sa=1+^0x8^{cG9-5tug*4NLVKNoeH*=a;-$Be`wXlSfU zfckVKc;Rp0Ss?rz)Hyb7YVh$@S}69f!YRQ8-4o;)TA49y6Zo042is{wh^WWZvRamV zP+jX#)N@n#Jd&SJFt<#C0XMH3&5>9bGw5SlpbPHBc(oWdLR?_r{$Jjee!dD$Kg{)%Ue?{Pm% z6@SbExNjQXaC?#}?+p0QbRA-#i-li1WNLct zsuKgLBa3;lyI-XZ95QHX+)}cBnHqIYsVH8Faz*p@K*v3}4<^L1*tv-hJ!&Z^vkO@b zR3VNZ5-h8I?i1@K1@CAD4STlVElF_a75;|3x5fxL6bUZWWHaSavV~9|J+{IgR@I&s zX^YO>PR*;9Cu=wO`C9z>jo_h>u9p>~BYyqMy(KyieTViK#rf;tk?ez(TLM<( z?AQ7kx6y_vaP!M+=$o-A%*K_z=Ly|xYY!?K*`2Ol?F{T0_-QSwq{g`i?&<0mI{&5d zW#<&y}IcZ3%i0 z?<>cenmP4)BMup&JYt)Dx#%Fe+}tHzIe`Wxkgay0cGTGr$Qd;ehai~bj(!LEgh%Cj z!fK}C6%#}AeDT$s$~f)M;rCCDd1S;bj8a$Z4+mG%`Ns!Fq)-ctH%1*){n>JR=CO>Q z`t5AY?A?uPF31`OJ?7Mq2gsW^+aZp39IT?^eyKc{@tg2JJE}cN8Q~O%`-GllOzHuz zLj<$?uX%VSo>jvrHUiJ8=7{j~LM_IM)Dl{gk8SaIci@pbpqb}q z8VkzmswrK2p-JjGkUfp!-%+(-KotQDRPxNkWKNcmHNKF~=yM8I8SaO=nq1*+pGJ&b zbufPD+m;-KA@M$p?f-+x0-e*wY;t?4e)DpouyY4c@8Z`P>lYc4xvs#SP;alQ^N#t) z6}|qR9up@D;N?L6F!IZ(sXgd0b0M3w&>$uynD%~tg4O$C%ge)ulpcs8rP9w((VU*v+)!LmFkha!cRyOLf4{5O<;D~Z zW}b?t%Tl8o^_f4o60AyJ`W*<2>$2_IPO71^_($^vZJ_KM2#`#!ziLb2XSE26A%)hg z3idNdCoKclHMMfTRC+drIE_ugP|juim9z(^W*r%f|AgByMXVt#RxBm!3Vmn>2~3mG zz$E$oFbe=yjb7ku`ZRu5mn`Em^Jn0Jhhp6?;3tOhYhCghWx#6kMJ~UZ^Ppm@B6a)P)}>%ht{;0GL^cR8u?=KsanyN4y2=>6W$JgqgYwQ6!&9W;+K<4iVL znq!^?W~P~(nM$Wj@yw(pDIP*XMNVs0)5&9Ho)xB?G({vMJOfh(<_Rhl1r;VxNC8O^ z5E0n7&VKfOu6^zIz258n%i;oo8`PWM_xJgH@7O@6_s1qX+J-IGfeK=lUnwe{KXNJ2 zV3vL5XWdT6l9AKhaR@9;uwX1^EWgz*F2i+Ue1|cODj;XNEm!L(Ra749t=Q(AQYVUF8nGe0w4w%<_3r_QJo+?hRsvs4O3PFkRG-0}s%yE`h_L$i zGd~EgC#{LA#GiKD;Wrzb%b<|`6;=2iyNl-W24ESk-n(g)W5fLbHQcqnzP7q3iRU{L z)#f7ijG^zxPViV;>!;g@FEX=s$sV-jDCUK|LqSG%W!u7(8+7eym@W{rqLg95jzF-c zeTE%RS8v1fTgh>C5B5OxO-LK8dingqZ=y^q^EF~jGWH=9hg^QAk0AW!@d+%duBz!& zHw!9X9RTph8wjS>8F{3q@!E$ZTHX=04>(^ba0Bm+mA|Q4JXe^5UpmUaQ>}UE{Nmfk zbkPwXKYo7kTJ;`c^f(k#f%XnkbnA{0>Z+$^>-5G*|D z)PReWA@FuCg^c^E=Cv2FiWn7#8q2+<6EeLM*p;#yyCz}QpIW3^RBuLRcRrN=ySR%t zndhP%&=e;M%p-09uAaVXk5bU;z3(h1v_5R_c%4ndg)y!Gl`j8|g{ScCxz`@(HA;PQY7`~GOM)S}LHAHV z8h`2g^b%A$r!|;2Ju@DIwwH19KH}wOUyg*&1+9(b9qGCkIFZUsw2raHC1Y#NXt?r& zisxyH@GZWP#XP&Q{%4=HWiJG;$qx0aVjFzRoP_7o&o;)-kUw$z&>=q_f!90ERR)qk zFDELG;bq?$+C3@|>SKs;Kcl!7{JQw@_aK@gRd zUYV;7ECF?O`e3fDS=>-SuGfxiQ>I6v@0mTs>YFeZiF%={%mcdprbO#FQ2jX!JnH)x zqp#CT^|#{bfR!dcrorbW>LdOc-lFMDK}v}jfJ$1b?_GP;v-KrzSbpi-G=_}_l*db1 zAqVfDe$`l7qgpwJ{S8p~zwjCRH8Sw&50Lezxg(#Eu6Zq#QoyH~-&vy5juyvIyRt4@ zQ@wlx9(6t7x(Zs3_BBOMS_fmFfF#a!pAERG`<8zOJ{TR^1#1i&&v^c|Zc%kn1!tLl z?@T?3t$#OW%trr?-d(cv%RsdBoLUj>^deK;wDu4lB0ZPgB0UR^JQO`N;)c|>K+d{G z!Y{H0pek|>av>^#97Z`UxI_16xQtaG=}_)nSJkBml3zgCYRaLT6?`1+JB=TE%4H&* zDdJF=WLA2*@v}6a4D!=){U2Amo;&c5j`cu6z#@9)5Z$x&u;zJHyyh_M^p=ZO)#t%} zxo?a!fkkyqoC2ftlm;T5H2x6!uAt2xx+ChOs`IC|6pQUHI^+&LxPIrP^2XH>1fQW) zWP|SGt3@eG?zD$o$gU2u>>T-ZZxMT8C$QU>t+>*3J2XBt19#b`n)$7z7Jd4I)9dlN z1Yt65hG70_J0KJ=3JoS5YJuhr7!HV2CUNaK>CW~+s3<8w@q>4) zu8m^)Qe?ybu)vM)Ur2N1`QYW^>(}+6F1^|Ms;dGS+6-pcbxq_CwYw}IldFHXoaW^-yw_!XoX>Ji7x>Fq{s(u^&2L$tw)iw&PF6+MT$R=i zeb0ta!A>!>LS9&)2|1q62w2g2H7KZcZnEg}%suQm4z&kAxitCi;GqK(v5oLJ{VTYn zR9^Lq5fLnj-dw zLHcv)L@_57GvQA?RU5$$2)YtIAEj?Li;!int{0y2 zvaL_}?kDkcFCYO878yW(#(qY*7Suu+CAD2Il59Hmk2!-(k+G0_M;m-3`4&UYX5o zRqE{^^C{LM=6k)N7VZrzG_r}rbw8PP0*D+|)k_=U!V=(0vg%h$B+gcgNlVnNLOREM zh{4-Ec9VRpQ-ml%Y5#GSS z{cukpIq=yY6G2=XR=m=Jhj+1R_zA#hJ~M2%t0y!givx_S?;l5QOvCSUfdbf6?dE`g zAJ=6B$QYzoH>E}VcfZU4j-1cLIUA8dqGmH!$SMZ{g|S51WFvSpQ23{WwW&jbv%Y{~ z3FEAzSO3H!Lh(m|Y@o>xAkBdV7iK|#zi!ERRE}vyO;-OQC7du-0t3#A}PB9$xPlJ(`+jsWCA2gjq>sT ziW8PvEX{ZkU?W=LV2VKE|GBNdbU{1;Jl7}7?j{937HAEQll?bOlGakc$#!V=^(2z> z^uWH$F(75wPyyv819qbS3&>z0yPJT>U}NV0e`E$K~sp?Dw4%t#I@Jw=6PgGtWXKf77 zQ>H0;b(TKOx+w*c%xt)i>?)vo+6Jdl3lJw_4Z5ENc#yDcn#eG`Pq)c+m{T^V_#4T? z2G9Y7Ds!HCf2bPU&_A;gF7)=R7A#IkvbPENE{58TykZyJlrvl7YLesg_@W8%#vK8C z1c03+Pw`lb(4JJ7;y%>yU%A4D2B~Q?Tj?ioSZgCd@==H(1K7bR5PK{Ec}!gaKv)2& z6ii%Z-mpx;5CBM_c$!cv1gu750HN@wD~bFuK(1gfqpb_!n|#FjdOrX{ysOB1+q~&) z;$xd>lN|+ZK=h;i`(~1GZhcdbwEF+Sl(c~Dp6*zw=^SoxAY^}<{;tRf+vivO8Vm9~ z+hOGJxj}2VQhck?AHBM+0ofKcnPG*ocpYk=rm)84v8F$fTBJ6Awf5Rsz(->ir>2W~ z))rrJwJ5-}SD_}fCL8wI_UlnE3B^siwK(iFxKnJ)eL{|zBV$u-rtNvGp-ky=?I{1> zx$G9Q>)=*>6N(*IvsA8uF8$FtcLn|*#=cI(ND)NVE`Cv~^B&}~Dl-UVK){+foV${l z^Z)}Vjac6#siJz6WI4!pQ7yD?UFe2#8Medx%%tgh{+&~fRS11L%vUzP~Gf zA$zCJaNkWNIdzELA{}oY6Z8K7)rC|dVB;+Ik>kpdY&3n3yp_lG_qlS?2aLfoezZ`UyG3+7A0Y&{0A%@#BZG|?B@e3JxPP1*#RoYb28 zCe`Ystuw@I6B~tb3*l>71kJIoRc_@tU7wWI_~?%+jW%xlnhp0*!z@NRUg&1L*3F-F zX3Fsmz#{34w$Pe1EYvJCdB3lEIs-Gp0ir_K=fwF6neLHi%`i3cBob7e{Iv0)=3?uS z`#zeiLF8ypcYAM@kGzf@YuZ5pcX~{TJP}vO41%ni&QD`|a0fClwTye9Xlk@+WJG?T zJZ~iCGWSB!R|uBR9H7E#XLzpV>OV@nspzG_mc`6KWI!F2)uxW1m+~zbT-JCeNK;#UJy4gMv%w;0x_gOvk4p8u?6OR{@ zWra7nkL7uUb^U4v5%*-GgynXu?qsN&+g-^ob<2NQavyHb*<-7HP}^uMUO3j~Z9KR7 zxcL}}Efp{9oqK+8?|wy^impLbAs&|irI#hr3w!90e%Y0_IXl6eG@Y|EQc^#ar|ut@ zx3Er8ULj5^e`bbz@`*wU2+e0Hf6x>{V9+f76os=WG zZlK%D@tpa78J5-j@rcN^oeI2cQ#tsBRRLR%(2I99_MP`S5^Yi3et&JmHqf%t~w44t(>>x!yHs@Uw2u@}rW|wIc2C+D;bFdHo^( zV93~={JwW!m#JN~z!{G1@;1}G#FLO%+ib_!!(*0jPyIxS0M#=mPdEVQiPI-^H^z-$ zY099v<<5JrFW?798B6dXN)0-Ytq5D)Rr?T!X5cw@dwT*$MLv-@!I0_-!?p zvHz-!a|!FtCC`6@Dr{ner9H8Y(?ttrk7)35k{JG4Gj7Zt)-T}_5Qjn|W3sWJfaX8~ z4gZDWbln}lstM|`k(c1)#t#U~kN6*GpQj@c*H2TdjSZ0>JLiIb%rIH%#Wck89CViQ zu9tZ`?VpA*&M^HE7o73ny&LSz!iWTUtPzgP-MwYuJ3%-mdQ!13AN@nIhg-Odk4s}H zJ;>$KwCW7}jOk*Ly59W8BZ10yuPxP1<uV!EfheMV4r=>D6H#$VA*CmtFjD%OP9 z9Q$mU+}m(WtRN}qUDnbqJn(NmLtAH;nFbZHG0J=BL{}R_1Ww{M;ktbGD9(lZz5qoA zGrS74f{LD&vl%OqS3+!2r1_?x51x777r;jbtv&P{3uD=X84IZ{J`nHsserfE%E;XdnC8tfxX^Gd3QhM-d-hHrkd3Eu6 zB8K}Ak;3l7GPddVP2k70O&4M%4bE_O_#$ob?^TL`~~(5f;c}193T_tH1*XH>sO1oF|6C}=lMHn8N~c1z+b!?$9XCgD-8hgjZK`!9zXwq z7X{$HQbLtwxyw)OjJ{U#yr8wey8<$Hsi7T=xfc9moUb1~3=yo{;^r0sc_hCEW#?wB zp-G<2)Ddm9^vlpFb%5*$t?+^;b!5R^Dp+7SDD#!+Ey6AQZk!%+V2rlX)Z4Urcrj+E z+4C$7IW3K_7V%d)xg;=I9AxVgKp6h!QCO6>k|vdUuFi1u92P+J?=1>f)rk z8Q!RMlsyc|lhgkyr&Xu0_73IG*Xf;|+aqP4*P4IwkRVRsxso^KwFWmCCgGe$D$;&y z_em=O8PBfK(1tq-6p1|49esm;Y4}lV@l=!pFbEpC)^vjT&h!dXD7uICg-j_Fdl zBQsr2pN!t6jxApK25WtH5VlfnrUmN%0awSzPPNcd^>YX%_?b`;<&0aZ#Q%yoK*}+| zkJ8{a3x8$qZI4vu1V6Q$=XN5_#2W3ijw!#+os~^i^d8AzwOK(yTN#FMh?V0=^$VTU z=-K*4HL)_WB-u0Fk}Rp(A&x0@!$6I0?O`8;O)0wgW5kwNVFb>p?&s!@%Vlq#nq=74 zf!lx(8hJjf+(!NR+$}isH@i=0jFMV-MHX!)Aa|)TvO{`azdIz3yG}js8_BA*FT%`V zBZFUo|43R-r#^Q3hc|!arK%P~^HA&?EAhH+-wIw$jKg$H+9%iaga91G!E4h&*gNFm zfB^OErR9GKWfXkW#1NojdT}xcRyE;$T-V@aB^jyLev;JN6t5*1b(FNVUGB*J3A|lvRcWrDK+J8KJs*{VV4o`|O69>k!C3 zH(XU7h9TW|7^g?BjpN6m+@JORnZc!5wYIGl*p|*Wj($^|OiWMSWGKy6!jaf=JNEDG zA3jzlbHlB$*ZmqR)OCX-2pDV)W9ToC75cc`f$Oz)OrAnHD5)H-<)MqyD+4iub>2S z@FeL0o3f|J``!AF;8S2H-gP{D?W(!fYuvFFmH_f8uhJ%VYdi%TQW$2ve}s)T?S70O zHjL3a)3w}h7sk4%NmAKL;JviYqaA(jsKIJca7gaK#sePJA?ftVzYURI#mo{*Pl&b+ zr9kn&1{~C5TVFYbyU&cfn|^hPGaw41PtLoeSDo7BZpKHT^T?040wOp6i^|f1f$LOn zbDT~v_t0_NGGFG!%B8jC%t9wF*xU>KwDFQP+Y8YfIx|vzF_SI(7lpsIvI0`o7b~g!C*I%}RZ-&tp&J)LPkhn5@t6`8>UY-T>Brfk zAa$Yu++&DtZ2ngIZw#s|M~HYHfWtq4bw;8S(dnj1F6KfnJ(uCRlRqR(=&-fXK;hqJ zMd)Z1UZE(bx)fiDtwtTV6bVj9mz-0MeKt%qT3c-c3&ODyTX~yvlr86vh|Hh(jqgV; zKFKVqV#f?s?e{l)_W{M9R~(=}7)lwZh6R(Dg}O^+;k#n1dzj0$jd+wzHoRI7>@qDK zD~hT^*;4djB=29gWcDi3dvk0X^&Y7q5WCUo3O6$HKXi4ELh)ZG)OkLuiLVV^{K@7c zF|TrRN!8?+8!F6uE_64S>-e>)JCdFf)>WuR^_A)v%sJx2Ye}cZ<*jw-sF`Qp*X#BM z>-K0L>h|v9FCen+b{4fkl=2_EgJsRqYMHV_-j-QvRj=&zv8dWZPfbTo1(=F!kF@&W zzGxKH)LzPR??QXQ)RpUTi}yocnu>X}!X>HNR@Qqc!82JNLvf{NRyqEtdc5E94ST)S zKslUG%pC3sV&6HTuzI$Z^@kPpAo;wwx%0~eB^$KlDKEJ0f}BYFlFdF62?ne}E7#Qp zd4G&0bfyNWmxQ3d$O*>K44nlNM7vP^j^ z3z_DXk(wnvhB(q1xm0_Kool__es4#;zzyyZIu*vqk7r)w$I8Y&C3->IvIHnJ6WK}z zK}-Q8;!KN=l>(o15nb7hWooK|hxApHg--;(wF>K;C_~Nt148w-9DiT5txUv3>@b8m z#*SZ?`zFsRiz+--Cake z#+16%OwbAszwg_=HXKchsvWv8mfy0JrE}VvS(oLdT%7%gl;nsPP|W;H!5Aj{3vC8^ zZzj+`ZfrwC;i}Q%#nIv|c0oG#BC5@@u6XDMXDLis=1*~k)vER4wLt7KenIl75Bsvs z(&rDFzB+jrj5|%aI7(wqH^xxhYvJV`^1y4cQlm zn+uplA^IAcy3bqkULx-WbnLzYBUvEyCq{bce7XM|&9AB3n-rGBOqfrC^(x9jI@_L2 zN@H6S2zbCF-(~@KPt5CYSocgG+x6TJqqvJ}=r zGW4#Y@0J0HtUjSQ9d?V&e^Q+IlfG)v+5({(A41QL9`K7n)vlw5J19)ldhSEJS3sUy z64yK}ToNTVb-UW+q{$Sj;e?DMZNDe*nBhZ{Gq4|-=BUD?!=Z392OTo)PHaX$X(t%c zKFfFb7W%C0Kel?c*%?Y3}3dUepk7v9Nkwn9#;`OL%(1f+5_fo7=H0nVg$00YB$ zLEDG@-6$pYa^Hw2LxOAEf9U$fY47RBt@5eF!CLQ-Vrj(TZ_?U`tI{s+G?I&XU(6a(j5W;? z-{5>(7iCrWj<~oFJ|#|)!Sxf7{4wwG>m%DHKH`r}2nKHYaqd>85F-{_6DLIp=})$z z(i4v@y>eFJR8grvsVmx|rk~h^7`~6*qSDZ3oMV|@fPdBjjWPDCM#m!5xA{j)RPKJs zkXa2C`{31$omrPr?fz%N>oh@qf0sy{Pm!i9vF^j#am2j#6E zgNC7=wCFleRY&TF@v^RGp7PR(y7?ct<>srw6XMKNy}S9C_@e3|g^}%LtJ4$6}~%DjLg zM_Bsz;LeRmXVwX_3M_vXdoTa$suqiMy44JLr2w%+8OPkvceusZw?{7eB_nh9(n?3W z!i)?Yeop7@;ca*?CjMT%;mOdN(*c0fy5&`T-O#ZcI?d>4kipOQGeU%W$LfX!%T6 zC+K8*cL>Bd#ah@N>*hB=9*LmlDlh?yKiH5(H$k<&cXO5t_c%{_0)HSJ`50$7(c~kh z4|;W#Gyi2;0h6ZYrHK`|j~vGTW#8|kUter_N_YkcB$}@S)?(2G7gvw`pXJmTq$%e& zG_F{gZ1V{X-@f1OgfOy@A&ADR=Cg6Jb#$LF5Vcds@J?^&EUgb!)tQSFft28IO*HZp zriIa=DE2R`<*!C~{@C}$HE8gDVhrsuAJAJD1i;CEN5{`Kv36p$nz3Ds_|R6%7mUBB z8{*!C0Ywb!|1YkjchLWbA_fS?y!fV*XfTPa+1{kMwW=kH#h^2%OcRYW?ef(cAfO14 z8(}3{oql!53pTN@1G;HTGL0C)nY<1yF&Cf)lw6!>)yMgqbg|pTPf-v8v;u6plIrM? zBnhoX+k^%oV3U{8VE#K`&)+9UPSFE{TOgcJm6HC%6$WBkCk^`NwLQw_W1HjI)MuMt zIFk{k*$11&32-~&MkLUd2~6>waF}aus#YKgp!3-qqNMMMn_{H@ElTp-3=U4qdN;0o zQwgifB#na+6q6J6p{LFCi4GfxzJ{;AMgV>LYFK(x2pnC!hqn&i>_lz%7&qc!{{oREY@UP>HhyoEAX*6;Jx&JEM z>6njOS+Fo6fSpKjAK(LkevT#}#J~WQ1{eIF)8RZR0SLt*(U9=d4SS@(g-KZYb@|S-=6adtT8Q$<-FT+=2MFG>1dTX2x7)% zW9Ih_JD_-)f9F1JcPZR+{hju)rq`-NT0nmzeKmIFx0L>wUN|sJHlrdbK8?`~&qR}Z z5^MQyLEtb!i{>%R{JnYUs-fQ|QaR!qa3+un-y+Vjg%r8e;mIM`*I@t%(Qj#!OighG zHs|2Fd+fQgxq-0OXyfW0*kwM{Nx6{1*#cgkuCT7_vv}AX)QDf`SGU7@*5)V?z{dT-udMD-4*J^e4%DHUG#NapwmV zgtJkgRJS-ejK)OPL^(>B%Mp>nk1h zu2$i-bkQy1a}xZ>1Zd5R>uVY6hbGh@f8{4|O`I>ZACrO2cFhA%32Ze0`4ol3Pvr{# zNorOs!LVC2&C^ z2*u3YYHYe^?cwpZ_(LsVR}J&i@e`WUkFMPWxo>xGRh@1*oP{->^~%|8vo=QXktCzq zq$X&bpG(XxIPD!U{{PfHA*qnjO0aFLrW+=)&P&Jncc1ri$Mgx5Y_K+7N)L-@yy+=- z#p(yrpVtUtoS~99tlcZZ9#=jtyuOnn%?7vb()P0R*+K#HO#bXN??_z1>Lx%ZN7dxHWUti;GFBU4I#uTH4bYv8A1K9U@5bDNGea zPY<3Nf2p3DD_+an)4}Y>9nWSUj9()_ub1NL*Rqv}9TN{p9r-X*pbsg+#S8WBM!}x2 z#FM$Y!CGUp!44Y|DDIb;2(#ep`%2>4@n;%dgK-;E77Y2?E?>Rp+y%NV*QJRw?N?s=ttSk>p8jYYaW--uiv#R z>G7m{&WzU%BITpuwiYJo!fy8v$(6$sAM(d8FLT1U@pbig6>sjcexx6HzwZ}U6@#2Y zq{h$P!6e}{(%*A;Z(Y^|L%g!dM)JSnO;?Pnzhc8!5vG}xTa?ZTmxTdXiAJZWvZlAV zaA=7qKIpUH(9VbS*Iz+gBumYpx@yJg;HcQ5FeTN$xnWf6t`3$oDI&K#JC3S1s00DJ ze~Tgf(Af`-X|^3);?gZ5bL;QDsZK}FF|%;DZQA!h(Ia;_vYiae1L`yca&aqyG#j zj9WE)Zf*XQl zwN1y$S2WGL4)k49d~9!fq~XgQy6u)^)WjNA7Z&f?Qq!BWC+S?PVmPZqb;GtUWz^em z`KwOWYt*u&d9MPt^fIJf(fDXmEIUAOBWLbF&_pd!RH9pG>*b1hIGU6Y^g2XtiFKIU z#hI>>!z_bk)G~d#9>TJ0w+w2YZ$r*lLYT-LS`(-XbQw#uCBj`A)J5)|ccx-WV1OZ` znGq5{<4A_TfLozYl|6#M2^8{}Nm#ZRYe}wWl9pcOxg|T!yHc0>?VyK6^h2fxWtp6o z0oO72{BIcoSA5tP?)c)FA2VsZU{(Va1pnVrlxKU_I_ zZEWkaotQ^vlqu(|%ky$ULv|uTII4LU+3N{ezS-M88F4HyDC~9*&g)t)w6#LgAb7M! zPRlF=p`#||So}bvlC%gu;eF}Ez`;3{k^vpPSO}VS0K#)d-nAn}O#}ktXufkGy zx*vWnI=uH`)!;p#3GwhZr?~$3bG!&*cY!dArlk1Ezs2r)AM`9`?oie#(`cepruTL! zCfQVp?pObU8&1gTzW{Gp=n==-0Eo!K!uC_~Da&6m&P*HtJ9FlPU4U41KxK|Z|0E|O z{;61;me`M69k&FvGTY-G;3GXVRl)*V;&>EU5hl%~x!3;AikQB|FW(}(x4&~VSe5k5 z2KzlCQ}^z6C&O^DH><-x-4R{W^z-}`lO3g(Za54308qm|^n~{C#5ZaBlW$^ud8=iy zQ=WseXXEeIb~2ASopw5oPm-sRo#xS{HrB*o)2F6ksp2G1J8~CZ^l^3vO*rY?DgXr> zubo_TO?a3>N-5-w25E0>)d$KGl>vDkG%SdJt5mTKNzKL1Ry8EPU=3;iY3hBK+RvFg zOMTGUE-~9{fdPo*SQYvO>2m5ILYCw{C52 z>_H>g&e{@svS^}v63%RfQ)O6sf+@)u7ninBxH#jg)U6-i;hGUkZXTh)uQar#;VSDF z+&Ge|_xF>YCSY!_nrsT<1R{X;Y|NfKa?XV(SO!*n5G>M z((qZ0YtI-i!{Ls(9;1%jf8&z%nflLmT^XN-GEVGhmVbP`BBy-IvNm3GAm{Ca5{DsN zfeHLi%3@KHus(F8&rEiV>&h z(Mp`j$5>Q-8;2BJo!_FJ*6u-6f`v#;7rfMP)H3@CuWP}9lM_%4zTrA~rQ9!MDaKq8 zcGHF`K@BCQ?V(VSq`$UvvwrQCMh~5CxfZeZJySj*ML*vx%5s|!`|F}#y#jr%=pW;QM*US0bNiRSX`2b`kZoDWOC3nvX?#x7f9F?eZZJJ` zrtUbsj^^j@dg4j?cG9KAe_mKc4;~UP6m+eWO<%I@*j2B+2fwq>xljPd8&oBIZYI${ zTmDTap!DE(@TmVXE;u-FsI8Ox{5^E3c*<0!pup#!uO`NBKSFA`Jtuud|1Rt8z|A=r zx3GI=p|%T;EE3EJs?}8M$1c^SEP0RK0+hcaYJ@o6fx-ZBrg14kF^CR8B8?{66@(}3OD8q7T?uycs z)_-9bk9u3=72AOyUaU>g)s`mN)-QmJL)xAh6hYrt^a`FeLJ%n+%Q=Wy$eYSaS3jiM zUF@_snXNc#eBFtd;k?*sh;*yOi)R7Owly9^ZjRq&E6#v;wXHdeoy}@{pBFG(di*djKjdLlPHM zm~QFJXPtFTfsLp0NJdqR*Hh6!UbH)u@7y%UEHTVoT`R~XWP`y5W^RPUy_I(Krqb8oM9VK(y z6(>Vt+GJJU=USrD%}NPnGL3h0o{Lu6_C=xxk+C(EpYZs(p3bueDRz&OSw&dRd>Zx} zPg1a<&TH_mjNLk_&|zVV&q3ne@HhEurO31yi$9 zB1}}1V4LYZbYa=?w8MMdMb_LN#b0y8E-7~Lv4jrDLYx53#}q&DGjX#%hFo_rh7<<( zjdl(Xsok9KnuODprKOs8?B4eN@(!O&uqQ8H=PkAumnCt3#@|9l;U_^Z6JWb-i8m`h zh5^vAY=%Txy*vU0sH;))`$*qLktO|X&W%fN-X6jvqL9Br29r!}@$31XiT4>X%$~Nn z-+)0O1*nwzrwu2QxOllQHNPv`k#b^R4=Dh^=#wHcr(OBy6DpG$oth=p^;u`Je^DIv zbung?i4rEy?BK5*DsN4U`e4fcrLCETfpjh2n3x<5Q$O_SVuy&X88gVQoCj=&AQRYz zr@Lze74w;xb0`;N2LHs^w=p%HDZIKRd(>#ukES-ckfK>W=>$_Fi~X>`PCSD4>~rjA zNlJq0rjxrliai)VmZBZgRs`vPYZ_(;;~iXv&>>xd>BUf9=7w4C;*Tuf>Sk&{nDk)z_P0 z7&qw0dsHx0`dqp2-FGc}!==sUD9cgeh_z1tYcfJp>p7V2BleCfqfjzq>a`f40_scU zgRYD543{&dF-y(DZMg}f_UhQd&loSpqmM`36a1=wZMl9WwH_`3olg32N_|RRB{{9` zaC=g*>L@!Oj_jT?3{d9Q5(|RG+WYnJFY?m^E*gb!yyaPE$wfO(y@<-JT|Jvn6;=d2 z+)mqDnjGgVh=%Mb=6oNAFiJ78DE1M}KTK0(!JBFax}m6!Sn`M{a7`L!t(IX1Wi#6U zT<`+g79vBNt_k=dtiB|^AKIJY5HMVI?PE9Xp|3%W24TB)X+abDf|%zC@gS)~pi4)5 zZVBeZlUri9j(^}{bhs$^B}k@lz`qH0-yzG3MP=L51awuPiFDWQ^Nzdy`?k<|yj4c% zRL@X!V>X#x{OC;`GXJy*9dJC!!KP=j%z;p{#JNd{DYpws0?sqsew2w)Rs`3$Im0G9 z4N%~lvLY{299T}qhM?;rSQl~(ywyx9_eLdQcaNq}<4F2B>Us;6f(D#wPf~vy&xG*x z^?~PRUS+DU=lvE%{O!Vgeb!M2b^lBc&iqy)dknc~7M%C_1J@?=<(Ox+f?otv6kM>0 zH%6P{gVqwaV}@S^{9BJL_QpD3ugdXBEV}=TY{NUH-kZc|@=rislI7{&EbK`AY)<@2 z`wf?|jvy@^E$<%7u&Nb{h4FFoqc*KU%01Kwse1O7`N{k0wQsQB8!zT!;k@M>=(YxZ zL&gLl3d*_G1W%#odMet9)n8hzVLYfo;K~@Yse>W?sM|WW7tzmK3^?vFCe< z>nJ=Cumcc9K#K$L4ai9(D<%k*Nwa#%m8_edC1S(cEG{#QXIPrW1zE3q^_W=X4eX)c zT{SafP!1Sdv?YIH4?c^)@;9m0)3GNJW=BMW8NdpEw5gS63yjDmic)R#3Fkj^3F_*Q ztNv8{(jbn`$B(h#?>V<>aG;UdR0Vvu3c-dE3aE!B z9R@n4f%<0@E_ow=*x23&=J6+(uYjas-&M+giIm1ZRM_LW$vGQWb?8kc`zEw`7F`l2 z0lCBmHqovv+`Q%M5MXM*kxPi?{;R-2k!DTE_>% z56}+UD8Og}U=I^UAPB^2Gh2%}oY)F_C-?c7Eb{Yccz+qZF^ftouzZx9)ig+OF5Q8>u@)~%b3{|BE znexi#Hz|Y}cE=QIL!#uZ2i`Utu>>FfZ`$N$E@AM})c=`Fh=BtOL>GJ@Ct&UV?-nJO zO^cHEpZ+5_JR-;>_iir{O*jK()oWwG6Mr9usKUnNwznfaWM$*Nl zQ4nl>@k+o{>H27A(F7~GMpCn8pJc4NpBB94%yVLw^T(|?CH)K+sjO7$urx^r+5b(~ zExzTsUkS_eGQ8Jjae!S^28odkHcHPbAVsgbm)p9242DZyNgPHp6Ti}pM_r^Yt1G4g zGo~{6=;}UJ0^SX1Xrap);yFG}sy&kW83BHgVDkWBZav#JW=|i8gBf$AUwe)FYXf>z z2J8bPhWp%a;`$q|Xr0*(SdrGUOeb2HVnX7nBm*YPc)Q&>QI??)0&(#+`{xGzeTy#}a_ z=Kc{vlzpA?%2IP;7p?GTU?~nD$^w5@!TnScUm?Z8@;bBK#2S zbG>ctg=FWQAt8Or?P$ZA@?fY!OU!bbh$F;M_!jH-u1ejB1n6|^P-I)oF!3EK^*9~s zFB2|6vUVfB)IOnQ6#}BKzu zvJPgvJ)yuj$yiIqd|Ep>)ivv0CO2yC4*px+q2LrpH41Rswk}SE`Lfq@7QEn~h@{YB zRd6a+|QvYw<06&C5?5)1in`tR9X z&GVP?IG{9IX-HSK^?i=e2g#hw%%0^JU=A})vP_?7eRS62LJ{55TfeN_SxoS5T>33j z(+jl~>RyAdG*GkNQ_rLIe*4@SKi}V1iu>G}0tz}5VN)CPW80L7(P$SmI@uh?E%SYQ zMQ~(-;=IDuxP>rm&br%N8M;~Tqc{P0?sMN5^zqAqvahEJvb?sZ316pc4|q5lYD|5* z5L$Qg6ufoC7ft7;5%*W@9Mvvm)Md@*aLf8c9ZerN&i5^c%Ot_1H58!0Xd7A*Zky83 zF4qohiL~!pn#EkecD=sEfA`f4^n;TwgCO|gsp9lgFW3uz@h+h%fNnInd@CZ8Kv%F( z>M_spK4~JS)#4*Ays6jU=-)jhkIX${QhLfoDYgsktw~aHU~RWNI_%Lddy% z{HRxFR3_7$z&uq-2xCuxZcP+8AF%3#SmJ!(A|u%eF{gz0rpMWt+;c@vB#&v8txg67z(3!7wTgP4>Hv=Kzq1B_qO-c;g4K+^e@nK`LwQWv8$Gy zdn-wZqP-hLLOL@^(A}AdIsTOFt~JQxgsyD;-sMEp>~_jCrLbQ((OhJg)T7Hkrbe62 zWu~PgJ)P(NGqKZ*KsGN8?ckVu#vP8NBg82F=_i@lBwI zj3^4Xoh(*^hqg5E*i%HW6`s4K$tiC?Qqb{)v_LUmb^MszK{O^W+nPUu(@WmvuF$1Aepl@8hacf5vxIhbr4F6!Y_^BE_ETd#sNmGR_P) zdB4ahwqz@V8!_-+eQePvDQC}?Ikx@n+91fodr?V|afsA!nT6I8ubhB*;2h$K^p8Xg zHp-DQ^w6dUalO@O-o%_Vz%N)%|kj~kl4XbD+(-V&{zQN7Y~+$N$XTAtE6 z$UxP}M-w*0qSAWOtIA6ANz?vzpBz(HUhAXEHMHrbvedPvl(SrQJoAIJL)f!u9G2x| zW4o)R%ZSl;P|+2Ln81hSo zCWZ?J*yGQ#?WJQSs`SPTi3Oly>iWdpt7lAUt-^Xh)Q0HBSAvEMe@;}t#eCwE!MEFZ z(FvpuU{49~S1qU+;Hnr^{uQD7oNQ0WO<4J8N!BIf?~Wm@mv`4Ml@C0%pO_?fD{f~W zO7LYHKO$BJPAyjXVZYSf1A5pnUb(yL^$z2%%Ab;O%NXRNQR(o=>Puj{%q~8XntEC= zrymrN$qD@+U>3lPL8KSWSb5V%>+PsA*FkTp7n0d}+pW5OuA7;K@nv+i24Q`}(;|b; z@X0>d2Tz6A0a$FQ6|-8K8JSoqxc~u@zpbRdp3s#b3>m zXkU38pR;CNRDNapZAZ_bbzFE8U!yw)iVpQL9SevEfU8SS_?I~1IF#AnQ?Ybtgx2IN z8?rWp73C;#Ms?NGZR9!*1%z%JtG1`(+FDh4?nsYmx;0(RjR#8U7N2Szb*K4W|AW1A z`mUr4yM3qAv2Ckk+qUiO*iLqww_~$ob!^)mcWm2svV$F*oHNdU@ZEkjs>ZshtEx3t zJ@w2r=Woy*JWYXAqjTdk-Lb&haG3b&lsomvk=qhsQRx+S6SM4!|>|;f#&S6`t3v+_!e{ zfnT0qD#`+~)@v457~EmV`(xAPPs>LA8o;MH61~;Jtmm|?qJujKJI{>4T5TxynqC>VzVUx9=&wDSHZo=A$x#w1i?A{PwVGO_xGjuj^^L>wVAd(RBJDuBX#V zs7$kI`0Zrn1+Z5wl7su6RIGLkQdVA%HMb+S!8cCMbkttAA$>)^tU@mwy|}!Nj}gTPhIVN9+CVsX zpXzGZQ!}i($v?NzFfG`+g_B&Z98iB|d|5xJW#@9c!zu$ZP{MW8&preZi27Yht6X(z5fWd?}q~72P*~K&Z-Z~yDGt!gb~tC zW`rKu7ybnMM1tpkt_T9Lz(a74c#l<)5VrJ0$(g;-i;2o<@Tc5^F7%#({a4XFL>E)I+ zwmR+yEX6oqFd!eC=N|uSy_6ifxp8lHv`c=Jzg!K>inij*wvq-!^)ML4Vwjm1<7gfq zEG>yo6W>*KZ)7a3dI5A=rtcxW+XWw@mMzZ@oVNY0wy*}i5`kA09z`bVuiYj={Pczt zz6X%DjxT$`tORz)`u7x_3o`w~n#{S|4K^bV2dp5SZL_VVs$3t?dyik4@@4YDu`M>g z;mjxJ;1KPJGKzLhO)0U^)~!IWSOq@c4+42kJak>Hk<@hV$_VY z`XZWSvXV-LTrP2*k7Zy#^}XM*Oyk}epEpBaw_Q*b6PRkoN; z;S=x+Dk)V8sa-m}?MY7X@0)>wk5(5R7m)An<<3=Tw7?l%cNP=CBC_%8>hqxxfx{GU zPXhzT(^VVaVj<)1(UQikSp!$$F*IIVp&YN`P1_QXYy=h;o^+XVPa<$K{lzf?7Xdr*SdY} z_a}L4Ds||-+(oX{YG+nvY`wSh?mBnT-o6FnF7r*%d^&b_uGupFmi9DewLqz<@m%6Q z8W~o*Z*uY?*cT3}JZ$L_nJO!>4s4Cm^p0btd}1P=m`(8{?Hx-6Sr4cAt@8EGAFL6u zsvDIFS>$}lD^WIPa{kv~5c_BRLv;;S-l0!z7qzkAKpFG!jY5IWSeQ46^|2c3s(CBY zVQt4C{)B+uLGOyrIN5EgkrKRWpV!gLnV+61aC_oS1U5EPpIm=zHLf)BJX5(8ZJys! z^f%R1H!S3}U{G+Z+K#`GHPX8H`a1%3>e>;%>r?K{9Rx1HaAxE<{_Gv~Y$kqjX-lY` za&Ob6pHycZ*Kvqz|6FRXqYA8`DNBCTW%Ycx7^kTnW}5nnEE_#!tn8xe834W6)B<9g zsEGyD-Fx3XwpO%pVT|{Il|0r0zJ{D@-X%M$qTb#QT}yK63FH6JEPH3yJg2kPq|3BV z^uapKPmON))8q$9FIH=bwVnp+8y7z3MS?nc-Yp&_BvDVf?CHyK>npbPl~yqq6q{c~ zu-vpx^|A{Av%n~*PFsP09m*phw{VM*03;!^zuRAX&roCLV^@^QQX^U?F;LnG%jcxcyBcT}z2a6hf)!j{%6W3`x_BRQ^L(;O@fhJc=%MK7 zT0){(i)Ur=py17YaoXs(lKz6; zYNoL{5qw%0wC-`PG7A3=pUAV78yZyYsyHocesS7f|5U!nbSbW>ti8M)I@t8l4g`*O z?0@vKd%9fUt*dTC(GOMff=2y}_n)ll&tFu1f99peubC?Svkf|;z3UN3(t&-#t<;l3F^Y#)%yJPs7f;P*>+xtSD<<$WykmQt-ES~Qq; zxp+C00hsdcWNaZj-OuNoFUDG3+SIVeUM1i5W3@lwnE5Jo_;QKm=}|=a-)mH#p$Yc! znF{F!4t(D?!KuYqZ)mTd)VBM=8XoX3f)u76?Yf>W?hZlAE~KDQn3(yy`Pb(20qQ5r z@Cy>^YYlDvQ+Ja69>3GA^3nA|5YrkpE%+#I>r@>7d|27 zildA8^n`VeJ#5z-fneljXm6nRYOa6m^pwx=aMFm5I@r&a%t~+M;LH|Py|ga;qJ#az z0marRRPw!Ng>j?<_#_~m{s*)!7(g7Cl4dncoWg9Yx0Lh7%DbSH2j1bc3jr@YyLPcp ziaYp%xT>q4h9)ae=0Ap;m~FSKg5v^yzGU8ePusnxb!7#iXx;N-Qn%77x8G_ySkD)9-Bh@^&C9?%Aiz4iwV~&aT?tC= zaT2`p_GWFbba7%fHVC|N0vB*^)!L@|=dT=j$MpQ}EMKgCwyV#lJ_<-7$esNs8RuH@ ziiiAVy!?|buGHfzHS9K-#+u5hHCfZf7p-kJ)U7Q&_w?19(VDr|4_^}%!qFexYD`ZN z_Nqy*agdmRHW z^A`20kI(e>fafM+o_YGimRVEz;{2<9@*e$0Y{vZUa``&b zYXVS9U-loj-|TaHzodliUgOU@@Z;0haC2-GIDY+k`gCp_*!%H59r)?;`3a*U5BY=f z+qZA9Ul-Z8vnb)y&;Ng*e#87`25_@5W;M2P09aWtIXZhod_(>AHvsDE-f!Pjf+7Fk zc(J^yuVlOeiJYqg0~q;Ui-iI+J^j#n^ez{a6Es(~4aDVY&2 z_EY>NGA1!XA!GmX1L1nsw@wHK+yUZSf$^<=?7nh3Ghdcf7sTwSI%{wYsojRp+d-QX zr8xLVLMsWDdS*s4!V_>B%`Wci3Ha<30&Epv1$-`P|CrK0db;*6D$d9_{S$~{HZOV( z^PX4cxyuu`|G($|>!El8k=6nmGQcPXnIwLeJK*&}Rz|qRm_m1}9aaUY#(*%=Tt@!&n#KJ1;I; zM?(GLf=LEnI=1}@M~24Dh)XYw!K)mhza=z6W?z`yx@KEgrB9nE>3nu!*2X;+q9U ztFdJ`X3}c@FRcsLaTMOc>qKoH{_#^WsCK2T0A0O?@C$nzk_;>V*o7ClO!p@zlJdyZ zVh$9JA~50l&_pVo%hjF%YY(lGJJTIn;6+N5?YX;T^c<7vYn9Y);WS+SQ>X&qd|C$} zzD>H@oRYJHYC*TrvWT-r?TJzI+*@)#wWyY$JyUnzzA#A^+QJx@zn{lg?5MtZ`g2@jo@{ar-H9ACqnGqq6>*X{8t|V)G{T_Ep6J{-Mf5YG9M$CfUgYp? za}m(71X(_iCvwu-T?IG07@JH&pjCP2U# z4G*v^a?Y3&eG9tu!&MO^=-`VB508aL?f$GZ|C~-kHv=;#HH8aPj%ympoGs-fE#yol zbaiEu(-NzadpkT!h~4$dFXj2tzxeHT9qc@7j1rHijMC*HB|ZC>CuuT;Q@WnYjy9&0 zQn}Gj$#OVp%DQXT%AOf%$Y?EH{nqi*p?x{yFe10rk=0T9uZY~d(mX>dcd%m}FdCFn zoJ25`M&&dmki3wOzL5k97O$25J1{_g@p6P{sn|&7-OY`NfA9lf7E2Zo3D2`>pZJgA zN(SFCJF)4MB!Q4^DwR@`IORm6`*)R2F%rc5B-x}0Jgc}uK8FTm1)Y#gYLQUNMEM89 zOF|Wt)kW2A|MKC@n<{x(bCIa6CezH08%yIM8m6uPf9(92|6-N>N0*8VW!}~B%3JHm zg2ibP3dZLnW=q>CWvJ3GE?W|xC*(=D#9NbCpMdD4KOgIq(yL4)EFaJqs zbkl^j@<((%5{#}C%cRKp%+4q3J*-TAG;#K&#}O-^ng`!<@Xm!Ab>Pax1})9oy~;lP zE3>yX)07FO(VpXn09s#ncvhHhYO3IFYS(qLi{W0FGN!M!AwV~3!77E02CWAh08XCe z^7oVrcWAXS<>wv-0d{3&i$@f%pKH`5Lq?dB#}5es_(H0$&JrCDlJD%NXX&gBTVmM^ zJkKpvdmxpU?__ELexk7g#j6P(^GJZi$-^q=eDs)dLC#zeyHXgx`I%$75h=v8N^ zc?zkWxEb+I4PZ-*b#4Jvekugluht&|r5Z&-bM0sD((dx6@(#84V^?Ep0aaj-8dv|7p!#}Q z=nMPE&eRV(g*!Kq$S}b<6fWGlA^6gxmAzbNU(7s(zXLeM=_`S-nX;HOO0IE+obo1a z%!-zrz7slQJP4^0mTbFjeCNV#za)ER26>UcTMl*rA_qx21t0nVbn3UcJlNMvYNAQr zq2;Z^4QlLepqV0F$40NLu7EgF<@f;l&ipJY1hx!vx7Jg}=!o(Zt&{5{+ib*?j}3lN zpIO`Vg)S{gJ+nInLR}TI8pJJHr5=2;9*u0KDq^v0jafFF^gYD^|(?`kBcRVP`2*=UFglVzKRo-R|$LK+M{Ia^OO~rEV`Xs zc?PQi34T4z@rd}1DGa?BN*$H8r0RY_GBP0ux=Zjkvwa;p#3EwZ`vGTo0-CH?4$TLIydNaJsyG%4i~?I zU1+M4RQX^3-f!gpsaYmD5s_?je=0G*YAj5Gbc>fe+hmgUA@O2>JHMA~7{7`iJPi3> z^z*0qW*|HZb)%xGiUHLq@-|~%-z<9a@@`VlFFf>P-cm|>y)W&~_f^+bPytH|iR4G3 zEGD!TfABDj)6eV{#0hDq5O87g?i7gQMqBaM#n?};Hg9BxNr{n z`-mkT=oZ#Alm7i9sU1=L5qPi=qA;9*cR3|9vN#21%_;yT(b z_-AkH?(dD4E^7Ja2f#LZe4VNwrb~b}L>5iW-?|cxklq&^4fh|+Oyko2o1(~xmf7ZyE%oOAJ%roCEwsQx7L?rW3y$(s-w z_pwjGI&{!hRx0az^SsVYaJ~ZmgSOGZqhigg>CeJzt%eq;5gpIo_=`thL3?ZLI+HDp zw*~;$mC<3Syz+#E-)@vt32}P66SCu%Z7F$vqpp>HfP4IbW#|IyOH0mk*y@PV6!Nfi zkiNiEF#MZqur`Tr$a$gLAEOG9$os zbgi(&+k)e}(5pc#v@RXcs433GEX>%rK}@awkA!hO|5^N1;k=2XfKL+Ns!61xc|b2y zmrdrCR9}~`^HcoRR-^srON-$GEee*eLOKIJbu3nN*b`RwL@#_}%6Vu6LTQL`G!U*3 zV=vVBqc12pywdrsoz$S6MFY33sP^Wgsi4mO)=n?WGwq{{UwTA{p=e~x)w(i(uJ}u0 z0UaGaY*CZgf~R6lbC3i}xih&+kV;0hPgPz^`MbAoL)(nK6q$Sks2v)elBQx14*WK~ z_nbdC>PLkou)!s0m4A8egs77wP>e*CTBgZpt7{If@9`*2z#0uyCTy~kZe+qnlhj`v zm86OAWY|?(X=Ec3@jElbV+Se_p`@i|q}cD$1B^n8+Cg1@1Z@tkGK8 zK-r0w?8Gd5|>jTtV`N^($au7Rkr~@rGE75uMZM52F&BXkmoFAooER9u1SB~ zZ?$+jT=_$KH=*pbuR|g18vl;a!3o6~K+O{z2Z_fbRQXxJxDVla5p1Ef*lUKS$K$hb zjpN$mD27rLE(hIzNSqKP!Bzm5`@+nX+vIMt~lLxAGd$#d;*1k>t=^fDJ$=s zw$_+WJws5k`XZKlm<@iBr4zBMNR#$-&}^`oe5I?1oP9b-xjuiIHV z%H!@_t`=D8NT*>>a#Da{pjFq*Zglck>Yuf+Z-{@((>bg;lmKHt>#NK|Jzeb2yI@=F zfN1jCTEk{NEjmZ&(E-?!Iu)wXcK%tnM(PN|L@y|-VEBzz7DyZd29a1Pf*4w5lcy^t zOJysxrE@QC>dhHCC)|?Zq$Op*Sr+^1P6D_pt(p%x9T28>5@WnIF)ZRjOt<8d@6=3V zx%ntIpd!5BPZZLPGChJ2n8Q+KN(rjI3bJC>W}&M5AvM{hvl=<7U`z0C%g4N4(u}y? zO#uZ%@j~@>99;vez{TyFr%9j@VxQR;F#Up!yU|PU6I*36Z?Dxj0twB&zN3F_mT}3q?M zrjaH>eKL;3P=3s$uTha^^*Xa*MGwh0?SHK-%$@`e^LnWv2amEkl`X(V&+D(d2);cQS6ML}HC1!*yAlr2ZLak;W zJxDf0JayyGeoIGJxbwhC7|#)vpkYa{zfM=iuDT@)pJJpWsbwUCN`8|uYl2yQUQ7w8 zY)d*(Rx0ud&nCn*RpPspO57$1N1b2lIp{1#KYf0~rtVxC@L!*=8x_L&>Ro>KrcIpT z{R!*GJpFCp5tQJX&{v>Hee;})uduR2j#j&!`n+M6+NE#?MJr2@Pd0*{+C>Oa+VL2g zbh!D~TTEMJ>Kb_{(C2SRV9xoeqWDSs6gq<#;h%z9gf77=M1-Ov7CSj+XZbc}UhmV0 z!2!EG^D^;z^XEr?^t{QjZ~KY>zb2d_t-=3%t?{!1GT@Ns8%&fPu@RA0;PCFIs~|rw*~x@G+5A)I!`*S5eov&`Cg1ABAI)9EE(kn@(JihNt7hb| zSs^5{ZSrCfJOhZP$vK?7m13O4>?%DtH1ac&pvk1+*8UND_R%9GkuI$)o>^M5?*OR@ zHJ_>}eX-ritE1NS{YF*Zp~XoT{U~=_f8TTG^j7%7ihuru*lR1y*~8^(9)GXOT;Dr2|Pt`kxyK zo`f^Wj2j&)o~6JH1v`Ca?=&4{Z)>T1gL4ON?00)UdEC_TrK|umquA6oyJhJ#6W1eoypB1`{*mJl0O+ETA_lLR?v24Pk3xa zwU)b=JBQB>Qa_Q`8&OFHGz6Z;aL?sFSfZt=82Bku87JgS`NwPO!s6G`fh&;rFvYv~ zttnn_w-i;kPSW$z*SGg!;m`e*-#O{k(d3Tz`^U+(fa{}Y%0qQN>e8SSpp)nFVTJ(j zZugtoqw`Yfr)|mafb901m#K~p6tQOFC9nBmth^Vme93!;Y_JJ6b^BERR=D4d|NM7> z0M2iLh+ml=OXz;rO9-6fjtx}X^SX+U-?g3q`0UxdX&&b-DOmU$CiEx|QsGXB`m&^! z0c#QC0{g5MCYVaL@PjmRS}XPyk;TKU>B{=#@{iv=H<~mZo0t^?nrV`civm*(FM74L zTxZp}7A2KIr}OOPi|G_|2byqm#Qa^wS}g@%8+GIvJKoSb6+7rtTQH-kuhu2XhtY3$ zePCQ_b0c*ME0}WiZbeU;A6jN8g~=v9Q>bK?hv3Xw88D276>(|~5X8hUodK5hsdY!O zNjG#)g56aQ2~v~2Vqp3d6_*`|%!1#FC?)Uo9CiaIRS!c8JS)+9zlc(Fvu24A!e-}{ zJx(8}DjrgzzsJ^t#rePk6O=siVA4YIeCFQ%BI;GSPi zy?TlaAs$5s%RZ)dJ()WG`cg?GP|4zuTFJj2>Hme7d{eXMk012Qk|wtBMmwHOmYEa$ zwUO>5R`Cv#*cGW~ezsk6uzJbNaTC^MIdgyHC3y6MtMIKCxZ`TOW z{YO^fy9?HC&a$o{P{8kGj!L-cjhZ{ci%=JqNWp(u^Qf-RrsWUvlw`1f8>dKI`qI=} z`kSoMp!vMP2mM@@XcKVemk6~CHUw}foFyZnth42BTJj5M%7xMa*kk;1zA?s|n$$@B zC`yz>ZM@nhY?k^?vW@g(J66v*;}I%v7{Joui7x;b6`r5$non`e664ncGq*h~TKyt$ zL%@SY-82!d9lrO+%n{>k*U--%X?fr+R_#=EBLk6eC~z^*8wHLhAtD!tyKR z-!;Gz_K%J^7kS7s4=Y$fr^a8@v9bBx0E8UeR9Qx?gE?+#NpBBEn(5U~wd z_SP3A|LRv9D(|XZ&0RnIiZ4Zz zl3#5{y``oXB`PSre_ZOMYhp+|f4VX3SeC{TT$!g^uxHYh%muNT2PWTag~!>19rE6V zNGI9w~s^WW==#(G=Ey)+3T zN{rn4woC)A6-&nP7!NZ99Iv{gd)AAK|Kw6X)$o!(8vimeZmrm2|AMF3bJ6la)H{XR zj~0+d)WrSolqR?Fb%Oz$e=)LM{x@#!c$#*td&+cRC3$OrHeJ>OsSX$LTqZ;P9LGlG zTCRK_jCnc`7dm$kxnHC_87{|-2~5tU6+lbb(ux=!X&6-G?;j){DT&SuW*9PNe~m;) zd&jn1<%IVZo`$6`zQEAxq(OkGScYHJwnE6WxBqcBr(xaWL>d#Jigou8pwjumT<)tx z)NEbzhbtOo9=_NA!B3h_vxiVpdjp{)92z_an>M=eik~moFEu9|8}?vbOnqs#6-F9tv9PU)+Fd|?=OxC~zLlYH<0imchAvP1BAFOGT{!xIb1UI% zD*zB8ki~goVVklPze(Dn}mSjs@;;XwDTbnU{6`8 zGn~kTd`LkI+`*6I@AWX$;&0~c&&_feT8fv*YB@qGZ+5T=>SljV;6&Cv?f$hN!;cq! z6&k;OI%gBXG14E44R+6(yzSHuI?gGM-oE0Gwp=?=0o8nh)ca6bIwKOu@({KW26pAs zD4*}#34U8xirf?`v>jw1h5KHIuy?wOc{K*xCE z{S8mrn$amlzKk5$6_^SVd3TsOwnN(xGJ>|_fG73RL&rrYNxx!6S}P|}Fi87x?=KIy zSl3d)FO#ik4o@}{p7_^_qE&QxuW%=1Lbci;l=wfRl;FUt6rFQoD56pwzAwQpyt}HC`HRFaYCnoiQ4s2r9 zWhjc36#}ugHbNE#Hv&Z#2-a@JCBF_>{q>zi1zlf}8L6{ljyjkBM9gID*~Fveg1N#3 z=XFuqUcECiJ=>CZySs!oMR!T)F{-A_jSOw){DpDzsj3fr2#N8q~MYc2<2=ec0~88u#(qykILT$0CaT~AM`M6pOvMd>i8TcYv`N?msLpg;Q zXT{^&IVYG7SnTd1OfdWzS0X^$cYD&!u8)QBhp(O;47;YJ1b1EOygSTXm-DC$2zA54 zvg)kYi-;S9JV+^zC58OAgQpn*ZHIT?AGX<0a(Y%M3euhqC%$Wup!z3YA1 z4Ryr_@Gbc|5@<*K08{GHJ5>TW7d-%^0$IXT#n=Izk>)bzX{_YH_`%cr-bUp#gw;`b zp^N@sJrhgdm@dGWt9NN~kKb^R9UDq8Peve0`9+<-wr10||$PNw@CY zzEPl>rG49%0*h%c>n0p?;>;0u1RM8Yeh1kGe`ODh+DzBX+()odmbLYjILMP$&BOS- zl9uV7i0DPLx!+#A)J`LX9OtI8JeG0d&PM)eoP>(Yxew;Hq$f4mHf?(~fgfxDIIlj2 z7af=KMK0$_jSd>iCFHJ<++D{(#J9p$*h4RXnL}E-6P<;9FbG}7|Lbi9_BEzMI?p`( z457*kNdQ}!C@slGkR+pcLhFk>y|A^ZapApMLFoKM2^*yc|E<*Z?}HoeuVRO&Bcp^g zniho4^UMz67lPSEk`G%a61~|rP)8LHQh{hGCGaSLN z6;2yeGE!{n97*~#P#^8Tct22%FS*(BuEY4MVT04dkpKE>T?G zNaO4fsq|AUl zaLSyv9M%lL**#TnN;F0)Xi}{<2!a?fA&$*zed8WcH~+?sbqa8)3}R()wg!(7G$E&9 z0oW*^Js&y!;>Jj~N#-GCuFFbYrD&8_0y(65v5ctUFB=%)*%~QhzIw7qtu!*N#=X=j zwdXXA8<#ZT>t54UFHJ0OzdiT%yFP&zU4N+5Yt}^XQj5lBIfo1X0@^7=!=UYZw%aB* zUasEuu;?78y>jqz{U08Z&xweEs_nS4CrzYf>1?akLmT_{0VdCqWxqhNb+P~k^OF8v6_lU~ct8>qOVyal&U*1uuckGx48@GkYjTw>LFn7^ zqZ)^Mr+E*UZuki|;@~8eq#H_qbus)S&!WuD2a))#D(HT>xdCrWdxbc&U(Sh-E!f8+ zwd`G|=gQbpFvR%Ij*cyrD0Pf3g`}SMso7bcYiF-15?7T4O8d8Rzs9<3dSgG-bos=< zlT$FuVHXJ1skoL zh}=KUI+79pK15R-n^jKV)|+JVlPV^e3VQ0n)(+d4K85;}i~-#dshATbke^C_G+P-? zQ=~9DERI$1e}W1}JRklv!l#_xl`uV2JnHYwKT_N9xhAb#@W~x1jM9t~xWN*o$_hPS zlMdC+k9LujAAslG#k8%GvqE(TyY%5t!HmBaUPcnjR#}UxYy?+tt>JhB>HgD@^^*;L zQn+)>WyCw-i+X?*bS1K$qc%0(EetC`iuV~O@VYbxl?hP_W= z2(M&0L)0iwC?CPfL~x;4MegEr-h8nEi*^Wq4ogChT-}YEX$dpH~a!FEe?(>{|iE!i%|lKUE$- zPowXBV`z2tKrRWPZbVH*60&bTNekZ4<_>kdx>>v#8mUl;5nm?Xc$>%r7gH|XOwSMn zbsoj4Vs>V5_}JhJgEux0%L6SvunZJIH3cDM_~KB z3n=<$JC-O4?XX(8(E7Em^CD>r&YoY3r8+xy*-MJ|qU)BKHgaj=-*h8Qn^z z2plkiI7$rKM8G<{1I=dWtZynpNgzgupm{0F?F8B`ILub`8W>%tT3E>g5+-tSY-nHM zGVN&FIimZr=40L}FTt_8J4UCUmC#)3UQlZaCNXxG->98!amaCzam!iadm380u80V^ zZ@RWu-{E<0CHGux_zNGY=}m0qsSXqPXtnv;P*Q`&hp67COw*bObl8ibTQ_U|lICni zlrHDD7!1N}1?r}NRgau)34D9*NeM)Z8tVxVoeLTmK}^}<^TFaQ>kde^K!(9>gi_K~ zHgxH(k0B*NCd(ryGac_|YEK(SPG7@K6f1?h!5cgq9h<+Y$#uo`W9AUm+SKi=q2~Q3?ctL*Cum!xkKv z1|~WH!~8zE?|xCxQhuTHq`$sBle5^lMV!}t7i2(uc1(#){Tz5k@Y zSJci+)H*$_j)xg4Jnhk?vd!hRKW2?6y|4E7M?2NgQ6L$deg#>Qp=!DpI`8**F-%AI z?_p7nUKy(1I2nX~h=N)3DFeEihzNuUbEH>K$Xp2jnriu|(w`IsD=$tk0C z_NLV_eG%f`JcfOmCKq^`FRnFL^DDRrpgN{j>W?yH{7N$flg~f+YO1`PQI%4k@WPHK8hHA)|50aD=>fMD<&Z zD=*X)M$(-b=8FSUXWaArI=n@wyBD$LdwUT}a;WahtNS&49I9ikuqIDRsR~a@=S1E2 z5RuN<|IiZ=&V{Ce-X!Kcu9LActYlRj;k*<4(_`M-@&sD9q^TK4sir+#Ba=s%)V328 zduq27U7MfKMi%);hk&${ATzexHz$lpVhm+_ivE8ut)i5ScF2)+o)k~ht7!ZVZUsbq z2?}|CWa0aA0Ya7u(FiO(&>|>HzmQ|9-WQ~dH5(zd~M=b7L<7QbGNg3!6 z>}K^O`m#g*6M;FDd>P(3%^-~4%}(@PN|3={4W^p**kok$dqTGoOd&g5U8ylo*%SzJ z`Xvr^kv3@6lJ=RKuP^vke&^&*HL4hLU*mS^j<`5)m!8Wv%ia}uAh(3*V6aa5&&gk| zS@$=dck&VUXL9&JWYR;tm;+ibv~%XZgQcWc^P+dH2Ay2_3Q%eiJ9s()p}TT)C-`yD zF94x@`zgnO%JB3a(PM2yGJLI@NMf6jSX`Oe|&7+zig!0Ya~WHW3!Ax46;FJblGJ{^U{0u&kOpD+?o`z@D>1-B+U z|Fy}j`wI-NQ+LU_DR#-LQ*1PFZfU3g(fdMQyLL}tp@g7tn3h9Evx@7UuV1g8~SB! z|DO2*b8RVHS<)B^*3{8BQEe~d)DC!*ck(95Vs9u7AFz1YpS1W2|M(~H$RwMlJo)=< zI7Eh~okuS4nl-hj{ESLd)|WA0(^WNF*fS6JnMUu8*Q3R&SdI?#$s+Q0uch0>9m}ucQl|eO=RNF9C z80?!Icjsd8tK}WB_5>u#Y_C=1w5x8BfKB%TV1NKGV=JXRTUb&~n#X9Z(b=F}D+Yec zcDQ#9&CWulJtPIZya{9S@1frJe8w@Sg=q| zJOd~v=(NK|qK)MlLOe$W4Y5x4SiTK2qncdpd$ag&PZF#2q&6^8JHDt!3Du{zAL!Dl;0u9tRgD_?YKQbbAR-DC)bIO7}UMLMZ zPZz1+klZoVfNGRl{QD3gmwwcXV|_vmo0Icx+RExzH%K;N+9^oYxFh*gi@J!# zn=QkiBEg!kmO4=0G{WV)*XV;fFUFBa>0>FEO3H^@me^M=*YHDvm{{}AK!L_-T+$bx zR3i|7lPAd1gY4nlU*9(IQXwnOOYJ&*{Pdx3)_p7Shpo%c457wtCGp`y)o@u!cS#3Y z|LuLk?oH?DE1;i3vrp4Jo=cQiKk#dv-u@8lNiP2rxGaZzutPqP-6g|vjX~e#(_@Ic z;G+`Z>uDt8b1%{6-WzS5yCF^JXhKfCu7nwE$%Nj$nLL8TipyeDdOo)I)3ht5vYe8PJ6}FJ!x8Jixc)LX#5fhcRk-bWo23zrBJ; z5!Eq_R(8uyBG|JbVxxobg-VIgs%Cutb4pFjDHL&_`6Da@-4A`f@57zgjE;SHPXdMU z%^sZKKXR!62q7TwHv3W8d@Mo>f_6L+9q_`Cnf{|wm+R)kYxVyw%vhyYGFF$P$vumaNn5PW$u)Rpv`FiJ z7&ZMtngYP960eQdy0#~`hUa~ygcaU?B@TBIGChGyDo+hR)a>3(?9>=qjGCTFH1tj< zbUvk8wBHz3aJu2caH318L7VAhL6UM#yTgc*yAQvoA8re!A0iLP1<47Ep%lRYA6KLV3#?e_lBcrj3XkIG!oLkcktTaZ6_V=jW3K{)YM<%d4;lU zG?dyJiQvmM8SD10Z|-CEJMn46I;X(!eDNkS-Vo8dy`j1x9&B>Wg54o@V;O6cn*lS9 zCgShks^M5lUGa-RH$QO5P~$8m#U{!)>h!Z=(n_#I&h8jaUOfd3CR={RS?S%lrjy6q zULd!NKkgiC%_b1rpa{n^K`jE;MRdXBf8XBFS zMrEDPe*Tgg8Q4ilLqJnn2l(j_+MjhGHcff==a8uXt#Bis$lLw#tGs81-<{roT>!4d ziQsQpIUK%_arhJwL@?=Sv_^Ny2KMEz9KcE$awzH))KiK4?cm%=GX2n#oiBd?{ZvcpCdO}!Bt~S zc(P+Tc}3@Vbm@bwuD1q@;_*K!vnT7r*`GDyf()x;QhXo&c5Nb;eNaOXyv6Op6#70N z%n)o~&Bg(;a(4;i$5*zkaG31$Ll$iZoUbRKL7e=-P>3xfG>|d%)%P^>XGVkB%GD-d zF1`Bs<=9o^wB3n!_`0(c(W-k}V&8{DtVZw>3e0=+peW4nE{AQnV2vK2S2x12cHK-( z8|7m1`wSoBw=7dbR`-k_K${A{==!?-^@x27r45xjF>A7oKb+}MwJt+VaU`wxSz&n# z_ks{k)Sw#+xLTaHd3S(+W#quNcvfQ2ms7@(qk@STv z(ZG&cv>f!(D5Cud$$bWg+t+`>LF)0;0NW#PfO;PU#77A%^`UBiHPNsB_Kf5Z2K@|^ z6dpNi_eCu7hE9Ze;g2GI13hc;1tfUw_^+xO@;AQu+<))452f~;{>7aU!%B}O_r3~6 zbF|;zQLUAVYo+J%DBP`+YuPrnUo-4kZK#fti4%85n<8 zjTXe6A5{8dvF5l&ZS;Eoj=A7bVCW#BRF8Q|xS#h#y-am?rJ+elhoVAn6v{Ub+hs5% z%@8@-s;5j04^J=-^pFwlz>@F*5uDS=%w&u zA0#@%rwZu^gA#6mMr>k{^liS;^Ka+{W_m9*W-dwAw`8GMs7qIfJHb-XE=kgp8ht1i zUbLMaN(j>}r|{!el)t5np$TQ31V^%kyD=FUJQhg*VRSB#UIY;nGB*7eM2wLyXU2u8 zfB;cAEt?R)4Z|0UEWUfo7UAWN{aVwDcuP^SE7qs^+|&z=PGOr*+lJj@uH7e|w~tzs z3Yo8MmOpQghWXq+fNv)~!&vu!05(9$zkxWb39vgn2y&Blz=4cQuw(youpQ6>Zr$pj zY<3|$U%wd+G{iwyg&mN3xe^T9zCg);1BvOraisErC)v6zkUZMFj_3_D}tIQA6k47h`!~6<*t@{=FYGpmWb>?3W^!Q9CA5#)`|L84L z?CCG8SvgAhtBQh}^K`-YVW3c<7$w{@NfU-Y-Y@97R|*ri{U`i6{X@uUR}(K54;3B9 z*@!;{A8~T;7;(Sr9oi!`aru7n$Nd4cu-y2~Qu3$DY#NON@f?=w5I@F4p*CxtmFA7g&szp&6zLs5OwM2!3Hk3kio=&@)u{#YA` zh07hWe&kRrH2%b-?+>!PUQz7UrewAt^*S3fQ5U6WJ#j=qDppRaz#_*+tY6fI7bdi! zg;FDq9ae!R0jX%?GZQmP`k;?aC3|r!g85&Yi<@3pVYqj1oY}RC&0d(uM(WIDPJ#`q zj6~MvJ()fJv5pnx7BJD~CHtGAg-L&;1l<{FzYLLJZllHqa{e{8YX zh+!+^@q~XgUb?&(k7nB8;90up6Z4SmY)oecC+yh4@m*Mg(ti2o88hVT7plk~tUE4K zbq|rr%}2@BjQb%S`|+&Qp*%x+(=k}OXtaZLcbAdU=fypx=Y3nm+h;C_20QkO4L_nq zndl{&*2u&*m4V`t)NbPa_pgQe<2AyrfMVfyWR^e=B?|l7Rte=NX9~e|oNz@$B8Y6Rc{k{Z5%LlL12RXOm7YsgM2UE`H!i;0_@Ml0I==NI=N{vCVpxhp=JsJ+T z2I;}YNOMSfvH+%eror_gc`!b0C+J>|f*o_FgVIKTH{(Pw+BXB7m#u)nu`#e~bRuj$ zxe3PiO@SecGhv)&Hms&w!L0vEm~3wY!*&?J_cxlLv|u>QxnKvle^l^9*)ZU4-b3x$sU* zf+t^ALdw*CU3Tq6`105qR=#(J!lqEz@_9GhZ>feQi7#M(&@1@Sy$;^qEdt-9R1o`Y zhWG1t!(RVtST^M1$D802N`|r;nCOH8_t5+0>`kF?n6LN``VlnYNae@4beLyxD zw-epgPIBmMS6cH*omy|yqcLlT(IQ22suPVg(9e-NKX9YNHU?4uJK;3kFrM!ElT5Wd zchD_RKtHOVphX`m=n%t;G*06-EmD0>s}tL4(bqq8`)*a?&|n>*On;bQDVGQiN9~1Z z|Jg$KXDfyJ-igBRN!fx`OmxJ;BOh(kAwM__ z*>+4})!|Ld!+!``8O+Cn4yicHumt_4RAav67TWnOi@NuWMGP5~x`<E&A@0F54C)X{u!^a(hXd3Ub!;{{caPPF-1gHFQ2#uULiYIWRNutu_RU_jBGs?NG`j3 z5|{lBWL?c-Vn)nKPn{9DbzwO9G*pFT>B^F|wuLI8%gtN- z)Q@1EWaG(S^iJn5GQ0VNn+)@mJ#e8*Dw^E6i*;Eo=se>+7Vd7wnuoXXws;yFFT3JM z3u9ao{f5UDhVyd1n7@Z3_&sYU{?rw4u)i$ImR{sNUB3LAyA$7H>d43cIm8X?BDm{| zJYM7WiT9DwKuM7aN*>O{`_t#*H6?Sr@P^>)zJT2&W|;J78D_NG;f0rWsBX6yudFsk z*@a3NlU2z(cE$3ll%0HU*>b-0*iP(RHj*`a}odsO;;z54LPmenB03ucQB&UBkk`)V=laD%c3EW5G;5mu-jMpO8V`NDm z)(Bt57Q&>tr(xgvaBx}R3)KsqVP3#I&|N$UjJrnwu{VIN#g?FQ!V?riVxeNtDVVDr z37ZBTg3kr3z`WN&FnF~DLWbMI5XF5^qv8*z4}`;1%@Z&rF9{M3oPrdGSa`q9AF7Vn z!nPk2dTfTlxGGI}>OCG*nr8t&vKm%x+YT$O{6P0z0*oD)2hH~?pwX)VZpXHO*7Eo8 zrm_Q+#>~jC- zZ06P;)-qX5xU|YZusT0WsNJ?%$W!+h^aD-{B{mfTIU*-!RvC$ngI&echRfn1@7|Jx zf?1L}+i1zBwAYfo{fwj|s{N$un$^;s31j$+_Xl`$-Zkzpr#~+IH3tzAJKF^>9%lG{stocs7kGNvF|Jg3mfL^*$a~00ET3tCLh&Y? zvSJ@z0T)d2^MvBrD9^>Oc^-`uP-n-A^r<|WsB`KH)>9?_E_~o-d`F)ikxO*?)@wszwZnZUr&X|Sr zN(>!_7-REI0j(3QvGTSpepK0lEj}yp{4kD~q=BJFTluy18NBF?Cm;WPCI6(oiT|#O zK^9RlFlHgb!1f@+2H0|^iF5F!wbU92F8rO~%rhQQqT6cb7)7+|=bb1b37?8-CMuoA? zd0s5|;0D&5K8Ia071*Am`pj_QKqg6%Wy?)J(I$987oGTbCvTmnf+U4%AC95P>i$%% z!iDyUcc$IP*3nIB7Sw5y5!G9uONEqS^my?=%B4!QW?vtA<*Xc4gC4Se${!-#+lwAa z=uI=T|B}FwA4zeqRw5d_AjaqGiF-r^*^+aUSS~0f+K-BeXIByo<~lF&muC0NK_KWk!jY-Bsjbg8cQyLk#Q14861bUexb0Y-31Qi&V#Ux z69E6ej-mq&= zFt{I$gYvQGV9%x^`09KUYQhS@**F<)-#QHa`YwP+-jiVbK?5-LW)Ml{gVEFVaHV2D zt=1BJJ??8yVRR@)&|k8bCI;e zG=(1gdzq%rEvBWpx9Iq9H8e2lEnQ#oi)Px(vc7?eto5xrGuSek9e6Z}#r;7xp>Pq~ znPbmdq#i8rRwy&?PGkjUm)T>x3YKj0fh~9LBgC8@B2?Cx3hfz-1=sMs!ntcY27A?BKz*nQhVOv(=tEx%NXpS`stGJ1BBK6A4q>n!D^_nufvW0T^gA1;2EPEh6i z&X1$qK)I27Y#oU=H?PJ1rD5n%dI3KKl;PL4mDrkEhR>a{F(xn^9gR2PS+}v+-0_lM zEjq;q@kp-mx{$y1ki$`AA|5kaglWo7m{{Y2Uw7`sD^oY%(Yezx$W0q#cfI7lcO~*? z3*EW+A(Uqhc*rZ7hvJblE3xUsG0dbnxZryYHtM{>KQ~%Y@xLnUTy_!P7zg9pqWL&f zwm)9Kn#ZRu_TQaGj9>)=A%R&8zAB*7RV$Tt9%veLBV)`eyJc z>npgoOAqh&dl;515pc#YD{Q;A1h-ku!ysD;)@x73XTB!*EN&()yu1oa)VH9iiY*>D zo{g)>7~B9|Jm*k8Ps%;Q^Pg|vfhnu_!Bl@8+vQj2>83NZPDrAE`h?NTJsvdi)pnY@brY2_TS&dXGrFYLIGSTQiq3sE zgwEMHkcOD5(yzn&)5%KD!iY$Qc>hw)ZnJk8LB5Ubm1z>Q9Jj z&OIWpcY{oDxki3(zDhKgrI78fjuAf>Z*mNFka3PH$g8_^$V`(NWbRWla(d$wV%JNP zoT+YuzkM!)wM7E__vbjsJq!oqdM~)YVj2ACYXmcW$H6T*E67myhy3wpp)s=<0wQuj zyEPu()Ox^wFE_#N#BE@2>J6e-C{zVU!NxxEP_jQAZnFYtn*9(uZJxroRkiRmBOm-^ zqu_n}7U0p-A=hpyxbImES=n1*QqVz2x$Or-f?{FH(5o;s42a;qb-W^n+# z{Sp9)HgS+ySqe{{euZ8=ibVId63JEVgr<-O@Kf(1jG1@=E)BZ_A1;4~$K!^R7l*9K z{UshGCHWX}N{l1N8_KcIhGTdC^i4oXB> z7Wb6@2+;oH3F)LZDwEHN2lo&~N z`1?rq4!AFQX*pE-A=*)T$S6m8=YBVjlurJi;uK^td+?0w3B0bAhw-KN zuzz9&ZZyA+gKngwwQ~US6$^3KdUd3!<^0;T<2I@z;QAf`B`a6qj$b?R zN}4P78MqTCxv#*s6pA@_`{SRZ6};D{Fut_qAYb?R1Xosl!yUrMW1g!MYVME2*8hre zg6|Xj`K}e;7Cyu5Q@7E*A{AW|JuzA$!IwF|xqe1EKeWt)AGzwt9~tK2qEpFe;NgX8 z5s3ANdgHUKBAzE7%Y%Eu`0(^to_Os7e`i z0FRuN#jmdF=8t2>qsGN$_`=K;-=iO9hx%c6%K>~}zZ{KCCgRw)GI;&MWv&>#lV4LA z!By8+N&{4Uq%6u%Dn5Q88RHl&k+)bVS*D{dSzp#9cGsR0%gO@9wbO0I2Z~(WQKBPG zH|#CG`0-S*dz~k2x)Li)pX4Ek1onNX&KP=Lu!~3aGQ}=#! z!6y~!WUERg6^c}`sE1^1{z`W2`bb8Eydo)s>&Og++vI{rFJuQf_$=54 zXG7cLE3k)N15?Ke*uWpd-Rdg%v??F2Z;OHPX*9LbqR3}-N?%F(wwrY#?ruu9;e!(&tGSZILnz+!nJwEjC&=Bfs977}S zrqY(hSE%jaYczP%U8*tbDV-ztjSd(f%Z`@HGY{6Ex$oCzGW`vh;s8@NE!&K#j#$c+ zUTk59;2yFe^TR*;NdH&0SCDo!$V?R&}EUnbJ#*Z}EGjasQih%O(r z{~$LHy2cwSRPbKcYz)=#Mc3j~^jT7Z(p?ppVsRfAMdqXbs*_l{;1GV0Lww*Yj~1hI zxm-~MFOR_Thm`%FyO>Hq!r&;*pwVcv(pkdl}d9?BsN=q8!IMc zw~=cu>Wkr258W=Aqt1C7oOovgj^nE_QEm?QI%0wY@(l1RF-3zcOI)$u7LOWl!99Ie zqOOJ%7d}$QFWRkqEz97~)I7QMkd^#mlLK#UkLN2gTe;{v9KDat#n3rB(0_&xUOMKF zEAM)ue#%DNd{4w>zg1Ar`yMX}4d4^JfInOGLF!x_Tb zdXhs*-$lI{g`%H(q}ZvjQ>^(mTYTDgocP*MMa++QFLbRg6a1A^g%>UXLhENc!L4AX zP-ea=im7%AETG>wR;;ehzNq$Q z{%60@U*BF(vp08W+Kel7mD^c*w;+kGPC81v`yHYx!CUC;RjcW_(NnpkL z^NLu7Rgo^)>*Pk{Rnq$OEU{OLC(fUP$YC#3u z9+CxFlS1L8j4LFW9)zC45SWpf0!oW>p>bLXOxyrmbDXEZ3 zj(}vX9elO41lPw1`QHJYg?i!0YkF&}&F4WX45;?~FjO_VR`c^1k5x z|NmolXF}xZ8n`{82ekXEkW1_Okr!3Jp?dRUP@Px|CUr&7*S;S5-cumKbB)NKugi(J zW}fRS_k5~l zx0Y(a4r;N_i%y;$M7O;Qr#Zh*QvaOu^uWb@`g`+Dx_np-&0PPUGTR=yN?)EmKA_Cp zPG~aEBt2$w%!t*!m9Tp+=dm4j>)Dv?d)eJ$KUVJ(&8917F!Rnr7UEOKJb!&>2L~w& zQjZaWQnV-pn6D7leRC6b{EiaV2j&S2W!?&3j%bP(_AU^YlthR@PwK>}ABRgWUvQFy zF1##>4pfjX9<)IEWksU&Yfp!CSu=9I+A!{t*2tZQ~otsis{IJy$x6JlO+Hdrd#Wr%$rwlU&wv zgR&5AJ-LF9av6XF>p1!kw#T14yl{4wKmK{{jbnnG(T~r@zsIzZk7?lxi{kh=?fE=n zWnW(5nF0{w)74GCO65Liy5hf;T2_qiM2?=)Zm{U##i)p{WivPs1 zw#~uJ{;n%?dAyt{FPp}i_D*K=J`7{exDu;e{+sqw`atDW>gclKBI+J=o@zCu&|U5^ zw2b=F?v>lAdi#3%J9Q~7**%L|C`)K$G|;?BMpS*kc-rDOj`p21iH_Vki7pzfM>PwE zP{kvI>7ep~G;f0njepjgZp`>g!j!s6V4rVfw$cmY6LObmWaW~Q&6&hN^(2}7_$X0b z>r0N_a3^W*+ez|&%Smy633)Si1SxpbhuBYOg+Znzu)RJNEcQge03~lIeYFKL+ZV&* z*152zYZ(}Q_JrxuRM_5p8=iMpgLd34nEW^$oF|8Z!x=BA)%J#o_m6_}{?ovfbD?_D zO-OGogU6DaP`k7Q`VGwoE$?&i0) z!lgN>Ah~b_2FaI$tg4>+&!in`3!p6ayg}h6Cf@M&$up#)K z@Wxt3oMtgzG@Z3goLO>4d|}riCR$R-HdHm8#Zx_NbL7QZ*qk-r(L%@>s3m1-XJl6rnNkQU8rl8l}m zC3$sdfn?fbb;+FA=i>1P=f#7KLE_*G8^x<0Q^hdNQR4kQeZ;+&n+1|vEVzw3DWnbc z7CxXaERoPqS|5=wK1o6yj-DfD#}qd%XU(t8KS(v5oB^n;fMRmdMm8|0L!nVcMb zwD~V74elhRZSP5$el6LhaE+WPI8U5163M6W$H)gYKQh?Mip)+yYZ0e?+4k&n_%6Yd0=8~4L5Y0z+_1T?D?Aus^6;NooXGZ zq+SE0WjD$6in~Lz^3^ra4qpNB=VauHKqz2CO1Oa(I%Lm@EETDW7x{p zG|+Pk1ZjyKxG5|ID`6$rJG()4Whe}J83RwAoPxYFSL4axqVdFsjv}$;1IRer9w>xYu+r)gY|Sfy6&+cSel`_8+)alY zkr%*x*;Pn*RtSUg9)Me~Z*bs8KO#=lBEvJ)2~kxb+T;to@p=Idc71~4`^u!uP@ibr zo<$mW?I80PM3IGuuM&6NO7fURTRy6oLls-?N2j1-&rMHO<5m7yZTMRyRfEp8k?^eoG~P z+><18-+zJkTt{498Aa#HkyKd0A96Z&{wsb(gmBU5|!i`0iPF@Wm#a)4UIx zrn+MJLr1K=zYtGYOvGfb-gy0bAwOy1&t+b?@&xBo{Atl=K1_2WnuI!H*^(FxugF2$ z&6Sv0Rfqe2R3dH2#fb3Z82!x&?==~sY5qHYA|v&mmqqbCYMFegZW%W%eTTs_>d|>Z zKK6SNj_WtC#5oDW(7^UJuPiR&9#)t6l-DJ^%dMG*UsgigWr%0utZ>zH2mJN;AnJc| z!*NQEm=-e+Pkxw)vh5@B=c@^Lu4FcL^|M8-iY+LKT8XB|rD%FW0~h>y$^Z60!=;No zc+(FXK3j1+|EZb6t;c`j=S{|-*|GV!ylFS4jrPUS`~7iCg9qy6uSdmDih63w=pa|d zoxOZ{{&i!nEBi(|&^byv`kcA6|CzrMgIi}L15LI{-1m)@OwIfuN?sL-1`5%l&#*n> z7sYwv%T7bl>Z7W-ru&QF_4d9n+WxGNs~I8;(sCC54zL#DjE#h{uY(2W&9Xwmnb&Oo zj=OBisZ7=}Duz{91+bCRcCx_Ti`c?)DGUEPfgRd2l$GZwFteGz=`P2QG~jL>t>0Bh z^J~x0s2_=R{pSd(lj%e6{JYyvn(V2~jMa3%`ywinVMVW^6}@y|HXSu(DqYbc(mC%q zT{Hyg@OD#rAy$t@UK>Vb9%|9Erv_5T&k7VYWU1YvF4C;pPP!7C$kv^=iQd^uMB!~R z>F*vv(wlrq$^;Mcv#&ep(B4m;M6Mz}vPR^Z*qcaIsvzIB0Q_7ofw(0V(u|IRhwOH^ zwPhiseqIJHj}OEC4Vkd3UmbXaeT31?uOW2SZJ1M*4CgwJ!ik<^aLe)}%r-js`gPTDwy#vlh%aPuvdXX~KPw-ji4z$fq1iN)!Fr>o))PL`WJ52$QXc!H? z?(r~NH5JSc6@uLM=g=-MOYXn!M?M%1B9EVI5c$JHNw9?uX}LR+tUol89NIOEY`i#_ zko!tx>=;>6uh|ZhY@b6fopM-|QV2_b=79RwLYQfF9puGgm~y%h3PLMEJFFAlNHoZT zxnqg{M_n@96^qF123_z(RY~5iWcS*FC#3gRTEaM)fW=}nhTy~w!+_0-om**@xpml zDx9qPCScGAF*9wI$R@>$`%GHI!TrWcPCL0s?6wq2+?4uDkCyx=ttm*69=Gn1&c867 z*S1CQ#x>7*lgnt_(y!vw@Y!=-h+6_;v_l_C`3EgN{k)w2)BN}g)=6c!?H2Km{YtA z(@$!lL+(R9=W;y%RhPi6cU<!kg+ z4wT+~P%2R~@R2;YAxc`y`%27*JP?&blg0jz4vT5`Y{Zm9RD3jcs9674M)c0F7rZQU z1On+NPIm)DEC(ojLx>R!rWS>d@6?x=}KTcG=%kicZe04tYIrl zXE498DeTIRF-$RR06U@8iy1HdP8V%!p%bNd=-T%e=$NO;wB00@-f#-0N2htx-+H^L zu*ZQ8$zMys(uRhdTtPi6SJ3PC7ShmfGpW+Qw|n4mbK0EFspD-U`u4ppZP`A8UQ^Jf zA-B}1nsFaGvaOpG?rkTp99zkds!CF=oKLp;WRTJ$v1GY^5K+5#h{S2`A;k-vNqpW) z(y0I>IY5Cd`SB2X3a@~5#d&B|O@rprC@{+Lgrp4{z}&$edgdR6`6I8xxj$b(V&9wO z)ck>wyPiO2bQWxMIS!p!Cm<{{3%qvRgrc*L;GJy)nEz}BrSLBhZ6-%_pZ;^1ZWVG` zMUEsqdIm3DvO!<&D7b1KhOUW0u;*nwobt+q*5GV#r&r;cV;Ou~(gF$fJ@DFDne_D@ zM4m?sAuct;NucuxvOZOZ$gderYWfW)2TuW}Op6_+ zQ-9B;^xeFTbjZlr<=FmThFgq^34Zd$BXS=HSV+F9xwzg;?gk{VaPnteDv+)i8~| z?aVk)LAYX~El7r&3g>(l2<9C-1f4-4!ivhX!du@OAwaILxZ>m#@xg94@zI~lV$t1R zlBlz0lIGW8k{k7nl9)U_sdm6Ysnvv1>EH3{eCd-7JnL{K*U^>15Ic$q2lu0&TRdJ) z&%=9z?xT+4KVE5-Vj`YF)AK>tZvP*i@g0V!-N224llZ$n30!8A_qYvPC)m`XgvI@5z6H(>!Kn&kd$H#U@@xR@>dGO35JoM)s?i)Q2XI-?!`2{{$ zGc^Sp>WXpd{c;?B=05&+s{sG|nTSO5h6FX#X8 zsQfMj`VrUgYCPVWg~COD?9*osKG7YBiPkOrxM3Ne*nW#gq&(xJPxV2qX$E*e-5ML@ zc3``z4}ORXzzy==SQEPiJARm8OPjNjK_S8QPoKq zSDmZke?wz=_GL%j=Zg)0b<2nA=3nDYa~1I0WWaM<*JAi*clzn}sL0=LiaeCJ6Jn zn&9#3H>-H}g1y~$gWWov#`5Pxuz@i??7z8NS-+{)ET%xh<_?(1I!%YNf~LN#{!%Bs z>H3a_S=CV8=zJQ|m`)e9C(u8|5maeb04=ulq@mR=bm`Dwso?(N zB;+rQg2)*GARFQeM=rU6M_epy``2eq`hTImOo@yO?@ex4w!+|*`4C-o3ZC3Q4Y3{h zpuOV>7=Qc>A7*vI2cIrjP~HUzin3&Ar#zXZ(1*yp?F5Byk73L3Y&fnG4ik6)s2_-e zW~~cQzU3w?H@gR8w%&nBTICS^x&gwzeu3GGdXvv5RLP7rL&(OdBgr&vU2<~0K1np0 zNHmuN3B4nd!Sg98_-sHf{Nvg@mu~oTzaHitzXks#7Q+1cJlM827uuHP!o~7Zu(;X+ z4V_A)aOBrMdF)YfewMlX+%k^Rq-!>bC& z&8g)?ea35I|Ew1cexgbbr4OMyrjMm#?l5|H%{;nLeHDF{=s+KTI!I-^{Au;3aGKfc zBwe6-j>>fAQ}(!wniba2Ys=qIm7?FYWnv!|{IWj-hvDpa;v{xiUc!ogOlQGY7qKrd zH?#Sp53wk9f7X#7&Wyh#vk^b8F#X88Y{8ZmX1zj2P@AeI>^iL{*fmcTE<9NyXuEg{ zPZN&|2Ac~6i@k4!V_!8yR|{+L-S;rj>fS@qwp~-wcF9&^bmxpjbGeK(y~<3waYTgF zB(+uQv|tjSm*CAI>^8U9JrILStkBTNAFD0Waf#$QZf>bS=kWWubZ7x~+9zU5y9Z8` zOvgnf%Gh3bgBKi%;|F!ma8v0U?wO>6<8N8uEzurbZtcgS5Le8-?}$5|F2vwF6Vc;{ zJoeJO#=o@r^LtvmdF|5UTq)!^Uwn8ZdWEjQO)*E1^*@98y-V=-+Pk=`><0R$UBKTi z5!kqR3qDCS#H1~sc}#02FWH&EHT#xuom)TnO_l!tI+m zz%>KLh=tuZ`05oteBwDH zetvqJ)cIc%CfiMyjRPel`IWBXpEnD{hv`P* zL*2omu;!PrcS5z`TzXNMw=6>NvD_~#!DYgy6ec`5t1VQ^%M1ONy=S8gA27S`*=(zR z9D9B#h-of%VVzAjtV3%$8&)!fdCk#fU$h6XmIxWPGxsy~ozO&8jmxM>#|8TB@@e|~ zSsb;@3Zs6z1L#LbAG*!kliH2jN4L+~PFLL9MWasdrDTmGeH&s!A85^^>F;L!>&R*J z+6kaOeGTc_zk2jY_9)sDqDie(6luu2U&Pv?jeLl#BeoZB5SOM)#4PU&nKLh$gl9w% zzjfY(yjf57enGP1$_Vn%L5_U==Su6MbHVl1Y521-209&&LPS&`1g`OgwXcJ~?PDse zn_LT7t}aLR|E=^av{~Q5Pl6Vga35vAji2KKJV#APBxDu(zXfY-TLw5wSzW! z9<4}z7XO8`>R!aFMT1;kFD1muiDXrU5WhpoWW%LA@*=+iX1)M*hd`LK>IlHW=9)E=h$QhMZTC3QUcoJx(q z(~(2vm{e1lEgGT8UX3+i$5v7Hfts;H>Q)R-t!D{?U07PB4?CJj*&vPTcV60cK%PftTk=e+ST48tHO~wmi(PyZ z3WFk0+w3BKTYMV_H&y;)$8EHEauK6`MWXq3N8I^lGRmoRa{oye`J(-Ce8tfM?jz}i zo6{#^ywwu)nD2}h4hOI!Y9Fq8y%7zz%)*bZBk|DLFMMiC2H&>8ji-M;z^A2V@X2W% z{N#>FxI23@K8Qbt6`toXq;@@R!#R1h)ak$P1@pylEapl5h!G3s&;G3K%1Wxb~ z(iArc&tJ_DESKsF%tS>PG36&)F{gpWSQfE%*JKvh_ZX9_JGV00dxH9r-&K0svFO$?1XOL4rlS#kf;pATAPI5P!lZL(OWV%x){N3FM z$(1*t?P(^I6vjZn?;x02=LZu~f?%o`2gU6Lu;)n|d>SWDwpR5eFR%ZE7xN#%?ZO3EHbOSuf{024Ya>Qzm0x9)XAinGR5Zkx1M-0v@&oQ_wI4x_RBBv&i%cy*IFscxVhoeq?1@Sx&VVp?xWaQfxrB(qq=_v z9x@C`7xL5d6tHTL6gBhqU{Yi>1~_G*k#Q0B+g*g( zBQN0iJuxV@?Zr!}67|7`!pBjyanch@JO?J}9E&HmlEsrDmg zE7szG8y8X5>j)MFEyC2_!>}Q;gTE|(!aJHD^S;x5aD)G}u;$h@)PK4atK9r?$@&O< z78`|`Yl6{d&o2BqZaONV4w~)Jz-y5caFpzPEWK)v8Pow~W0v8n`YEV-zCSKEspFSk z#qqAeTlwl58*ZKF&(jaw;@{3HW44rG!Iky+J;MWK{QS}7vM(yN@5TKy7omFMSiGsy z!L8{zJ|}Jq@0>N1KYx2ydd%gpwCS*+)OJOyWM5nWLqNR0tmL)df0Dz`he|%Ryb+)8 zx+=OD91|BDa27q1=ZN0-#*5PK{-VXvFM^e4g@pK(Mnj6&lnu zg;5@|!jqA&*bKG1Y}Jx;Y~-sLcCavzY3$j@Rz3TV%?mMO4H>5F`Svkv^i)-ryX`N% z-u|9G32LMg$J;c}=_-9?mr3&`oTeA2$I-$mQ8cAJlK#vKr`oTBXx3D3I&i-i&Aj79 zi(3v*^R1hy%B1CV)0PFadD?bBN`|GvvdHG?Kb8m8czyBYn!eh~7L4GD2f8Nqh1cbe`422ETH!j>&_$d8eT6 zZ77WD^n>Xmj>0b?6ZGQhL8iPnx%GA+2|KJxR)%!J=+h73vVI-}jLL%+pIh+zWi^bk zYyoHcuP|n6FOqjdnQSQ;Ok(d2CATz(l6LI@eS48(!7@ay<2PKV zeaT;=;Uvh0kPq22h?S}tc_U6HW=FJ%*~r1f``rj)*d>yCjcdqKdq48c_6(_hUPqqv zmZ7Vy`q6tyYV=@-7VVy6Ky$MsbaK)>>a%VYJ@$4xeX8a|cj<@GSu;=2oln!Lw^|PU zzT+lc(^5qRhgMoO`4?TaM4s7ntFY&eLs_rp@yvd)z;?;cU_&o1V!uZ@up`qvnccuZ z_N8w)`{|m*mfpFFuBU#`B zZwu0*U&8Etqs7sO*NTM?<3+i#&0?XfuEfi4x5RmAj^yqzMX8yWwNz_!y!2?>7pZ3$ z+8 z%xJmIKTk^JPi@b0S*s5mzKld8%enY{>lV!K=ZY@5uIMz>5iK7tK@z$MXX#$Sk0qyZ-=iQ@2wQ^> zZ;Zv({7-zu`fOf)K80(4E9b#e6!C(yAzG_X!=aP^U?A0k@Ao|CMw^xr4G~e&5SgWDX%9-2l&DljD5K1>DmzrjCgW8kWy|Z2^Ur-< z=Un%>&UHTb=i84btDa&=`vvqnybEu0VQ5ofiA|x>xWcTPeV+J`J^I?iG`^3-J%=c! zmImSx#}qVg%*VUpMR@Awc4V4~_;sl#ew8)Cm(x_x?Xn)8&$q^|w8c2BJ`88MFT&Wh z|17F~EV{{kVvq7_n6%nvHZ#tPZRuRk9;F>&hxy;^rJf1ynlu+rmu$ce$rPL)nTlT~ z#$n|Vf83WNz@`EjJhAdJvmKSpGKtl{clb|~d%ZyP+R{OE0EdYrHIE7FNZy6l#A4Y!67;Q!e5yG~R!uxYw5|7(fu|*8#oJ=?R%Z`6sEEd4Up%$tGm)V?DCmZZz4dBu{o!{Dw01H!!p9 z9?W~v2&>=JK>EaTnEreZxQs6Vxh+YM(CG@x>ouTf=!0O*#CrmV8`lNeXPX2o4j&c# zv@RCB&Dkm_IJQ$@^)K^<3=Rs+M{7Wc)C8EiOb7JFO2ehfXM(1rD}s-YS_Fy-PXvDo z{`u1`ad^FRIIKJ;2Zdg$aI#+yLPe9HkLG3fZmGVBZ}(Smi$pZ0(%E z$k++&3>{$3yVt1$)vg5hWx1aAcnGmMDtlJdH6AdJlEez4*2gQIxmipWhUpz zx<}VZ+tV(xfc23WUkPd~B}d&Ss8P$S<7wWeDfI8bY4o0hGwu7ah+6-MrsF@Q(7+!# z^!4>3dM)%Yz4Gt^-7%|;5_n5L+DmY=zbbQ1$0u-As~H#3cmfXS*3@{}+nq40d8n-f_&^(SoYOZe!H$t7x8k3{M`|j<@!Q;LSt}yvP4y z!u2PaM?xu^RoKWjKb1s}t(LgY)C=`Dt-^UhF<9rm9w%K|g6R@=nCz#EnVUYb9NTIZ ztsBjvIwP6+j8b-G@>?c^aag4`7yqok)&p$XqnzH9*VUEW~FmFw71TZI*e z5;6XwJvx_b;D!%_>|W#(raRQlE*Z<oiu##I}sfX!_aMoE!xf-jb68(Fq^DGHvF0k zn|Nvj)2%xu@@QWsD$^P*+FW&A=>9B2IQy2Zu*646IO+Q%UP*A6f1RAci)9D#*6B9< z?5YWTVXQ1a;_!QJvUCd39qYs`bQdvDQ>QnfU1bIIrjhVN|IjxK2 zxa}EoYHuA`HB?P>1QjHEXg>)l+E3hkib=WOR-!vEmHcPEg?wKaM>_Ra665B@Wcf~C z(%>_PRKK<*-Y2X`qK5$qoS{V=BbCU-r4qz^PcPV&J%O3Ax54uIIS7zH2!WkNFf2M7 zE+-3`zKb;``kSiSj;Q}M}xxk5^ZeaJH2bku&gXTI%_*zcj z@Fjil*q{Vn0}>$qY)G)aPy*K342Rs4lF(ZCVjddY}9l8j)uew3e`8P0b1UbE0jbO1c>FE{`!)Z<= zdbBU;wpvMc$7~^{o3@de8oNo+nkwR@af&Riy+SU3yieAPza#M}e~6q=nr2QIMeTyM zsr5HATK}4-yPw(9d~q?>@HfGT=dOPX4q5U+{@-)p{f1NrXctXFLe4~4F z<+z=%$8z(WCUXgSPF(whQ0~XHRPM#AQm*sSMK1rrXYS+NvApRmPu|WkpBLV`$3HjJ z6ncIR5Xu!-3y(eiEvyV;qBrF^B5l?ss=aQ=M$Cy}AGOc1pJ!xo+FlzBS(SkC5BA}h z1?RBgEB~-hzs*pi z-XFJXr=h%836>2zh%J2waY1t_E@7FdlM#pqJtt%OJ_&5(o7lnqm2C94CdO_`pqhyp z9yscTvwN4|*6v>1>C%rIRR^%Q;sb(d2Sym5#J?5W@Q{)}K1?;n%2p}#%Is#_ZC|j$ zrQ%pl4e;xH4{W&;hek8DAX&L%uoydwb(B z^>8X)X-`JxwH}LmJn&D75l%Mw!EELoVXu~kv$_CnX4G^`G(k5-n`gf`Nj}uf)ZV%0xx0NOhOQcc<0%^t(N4jb& zP_?TQX`s$%I{eKDx_9+YqIls0c_RLpwENv6p2f{1t?VM{9nnBu=^i16N)D0uz#4M# zdo`*4yqjQa4)J-JN>*G?B83AR$)ri4Wc&|*5*Ft}^157!jXoor?wAl8kv1V}$|NIS zicA>lhlfqC;OVz6_~Fn7>lU4Z`j|4<^&}1S)Pi7ih6wJdX~5;AF9LqyZ9(0q^MWnE zPYdouoDmSQdO=CvQ9<{?CaMwjkXiv9%luaxszeb0#mqu#1MW?HiSeCL-3uW2ODgaA>;mUL9KSXpyBZu z!5jZ`f{3t(f^yj*!EPm4xN%(uW=2W^aT^9%Yh_{gD-HPi#|R!hI14 zo!I&Cer_O0+>C^@GcoXSVKi)B6Aa5QIDyyNNg%LRgE_rY|9bf&$b0ltu-x&lK($32 zEP{tYwYV(Is2>9!@c?R4ZtyJC8=M8MPzwaCLiNG?$ryO#U<9)-+QHkTC2qYdUy#HdWVMMhCaW(X%Jh>6N*8 zG_b9dj_$9cvFol-u8jstC8g7HmGs?GL5)fmdI_FoX@r2iQ#fh^0>&5BitXm z4zBU;a6U-dinn^SmOmzcn6EwZmA^G=s<2%wS*Y9GEDSoQD%zIoFKYNwEgH87e zY-4*K^B(A8-^c3WowoV-^G`O0+&qlQm6vh;%UkHb>>3`8tw$B#V$69JgK77sqi(u9 zHaA{lH`i9MQ9Z|5e99O0<(dJ$ly^nhkT5)6x)JNjqS3rO1U1WD@%{x9ypl8wXS_el zM!6)j_^m-KH#VJB_+MrtKFHwk4uTsBgE3=W237_a;||6B=&DtQvn=v)zHl=RFLe3G zGHoP!?^s?-9s4xNDoOVt}>Qk4D`#J3K(wqp#yOwCvi0f4Fk|V6z(o z6jIUM(HqxJoq(qO3OHi^7<`#H4YMK^qpMB?&d6MfvsxT*ra&Kcy}z-M4Yka6TpSzx zG>By)hldF%BZ5OMElKU>wF)N2mev(EOE>9w}OV*Ra13~2I z8$VJM;Yk7{?TK`c6^ZyXj+FjVC9cuZsqpX;fy<|?;90W?Ollbq zS4V3@(nS@>m_HnJr}qeKL^lNe3r`8+?w=OCTli3L{e>9pN>c#5rvT~`rQuiOaLA5U zgiI4{P@HHEF7gOhoSopi#XM*iE{3L|2q?>m2a=Euja^wlzokIS+|}^$wHxe;umrOL zO@KiecrZc?eBS;PjQr8X5_T$- z%+pOIYaeG5mA8e&u&$C!QmZG0W-Ua2;{)O^(L)?gi&1k|S*q2bLaztuQR{9CI`tEy zhlgg-i>dh?? zHqH4U6a-p`PIx4Vq8(dB^V>(Wd5?nF7p22Y=I0O_9w0zt@wG@?i%?K|3U5xmhWX;R z(L#6y`{y6QZBDru-4=vZp_6dR_+M4%dQ*pA^e0<8*U`cQ+ zhNY~-ti6kI&Ma%Ze`72blzd=i1^XHIX$_0i3t_hXJDIc51GYC_6gMzBmQlDjr|92;(+U6Tx*ezo4Po8I9#CVVP>&K`*y>qg->$I19&ofpdg z2*<{sp(u0T6K{D>#_M{rIJn{(s~?}k1aJMAoo5i^luFq5o3B~P-LWV?!4VT(SK#u9 zB>Vtr80VRU>z9S&G-G>Q;jV=~=Uy<;@M3l>WDYYMAqrPCVVVZz)Z=<4BEu z0DYTpOlMST(L0g~wAW6Ojveuf7{-1e4K>e5xY!f&v9^l{v)jm%r%hzxqf_La$q8~S z`6xMfv77|g?Ia~na)`Hl2APqPNVJYclD)D4L^INhXm&ag=~|u?s7)jbWHialCGtda z)DQ?|-awA~BXG`n2(caa!Eo3GXe%m&9=)ZYUSR@_&*j1X%aFig;Riv$_YT3@uU7;$ zy=Mg5oEijm#uo+GG@l7(v`EA0D+VBTM*zApR-k-G8#e5f0>1g9AZJyN;A8U-!SeFq za5zmF66N(^++j2DKO}(eDLg!D;UP&xKxknO6V!BJlbAfD4E729l5YzJTmSjh!wUkv z(#L{1K4K8RK^ANt%fLLD5zy-_4{i-(;98gke0n$?qHA2BH_Z#|%NBz}+X@(VW;3iy zP6c*53wA4Jf}bD(&bbG{E_p}r$g+g23|+V`r3_n$3`knaLhu1K2uU6fUT2M=ni|2H z`UxQZ%>q7Z+CyrMA1KxZL0g_b4CcDP#|a2!?$cnYhZo4n#lhs7ovC*+Q_fpFUgvQ zZzRrSI4#+uMAHVfsMcp=s^HDhz7%_U<#+I|1n)z_nC55(p;jcCYQU#g!9&(&h3l!oXQwU{_t@# z{Z#yY7ZZitVFq?A+<}+fc4GFoEZnCbg%yJ?C^j?>mF>T>t%?`e z-hsm`I{zl~+AW7_+B`1(8;DL3iFjW>6QxdE#^=H|l&XG#@hKnh;=Fel*V%#7bWh^~ z*#d0r`NxM^!0UYqXc_e%%bxt4Jsc^4J%bZ5YyEtD@G==Kq>8XOeLrrh+mAE43sGlb zJa(EnU}x}X{P|Q4heeG?KXoVch+d8_D_5dl@FMi^n2rennz&S$JV|IW#88M zvYX2@*`h7inPQM4N_28~WmW+Gu8%{{%2c#4NWq)+8}Rx!PaO8u7_G+)G1^?m+A7zu zvO#?&JFHWbtC}UUoWY5{b$k_$EvXVlRfh_tKTQ-WeEZEWbHB=u`CGz2@rdU~lza1= z%{jg;eJrniT7rM)`GnJ$a*o@3rG(pmIgztcSj7FI)?9+5A=hZGz?r}NMpb*B(E0pD zD!HMO?rqyn72l`Ot8Z4*vA*+Y)tc!vd8QSOt~Q_t_o!37WAfB}^>BJGW{C7${75<% zz9n|b?})SbYw|MpKB>8Tk+hF(Abrip$?A?nq&T>g%ws#q@S9u7j}aNUvAkiY+@An(*4!K)z|*fK^PMwIG;#y=K(`)&?j?@^dzWCtaR?r^DM9w>&* zhJlR?25a?UT>1z&dhoR%HS)F~dvv>CMogaoz72=k^YUQ!Tm~-M$UydCRZzTc0Gtc>)C3ZGoJVNg(xfGkhCb0iWA_AxGU2W`t09>tF&^ z_q4(Fw+8HctqnKsnnAe@2l}-XCMivVPjM6AoYG{-b#()=LlLkOH-o#~I>7@O*8@YEsnCw3vPj1}H zB&`bzNa%-3Qrgi#VwYYc3ql`}@!`E>@@#QBa)BIG`Kv}d2gXxL&8c)%q%{=|pH0cF z09vWNk$$XGr>f6Bn^zv0T2 z4ux~mf2DGZQ}%Fg%g%G9J@2_W`&Ief4)**w!!+J!cOxION=8T|X9`8C`NHIPkA-92 zj~6*euM-JZo)+y!1-AQ(C$mrA!;T;Nz>@Dy#8q2@aI5Zi)OdFcd9`NL@cHLfimiC* z`3dZrz6*~#tjDR}M3_5V4l8%wV3T4FvVh0u*z@5-te2Xg|;?`BN|uR z2IB?J38l=9{;^C9B{$czAAb|r1Pgzrhe>SO>3ZfoG{h!V8ltw68;1Q{gR?Bt(7|IX z#y!r$8-fHB*)PI@kANpsmGGh3V>aIZICGRd$%=j7vS^VG7H@M!gODivE18K?9^~Qe zpgKI<)r87c9VmUQ8^uSwN1roKFuC*!zO1dlY|A9v9`1}w9*)JnIp3M?zQ^piZy(!I ztBE(7XW<{%j0PGzP~lTKN?KN<=lN3no|}QEm>+(bKLKOZ<#5v}4HURC)V;PCXOl?W z^k+HtRJo#1*BHG=i(_d^JyX?8U@x9{v8tpP2BPC^tGgJEoN9_K6Xs&S-UjUHNygP} zsi#Tw3$<+~w zlU3y0@7=_4Q9enJ*h=(LQ%T>BDAFFbgczTnLo^=Sk)vHx$;iy{Bx1M*Ntmuk24o~j zhWbY^O>YN_kc*J*bp*n>eCW+v4yuKdAa~jbIDWoQ(3JmC5dPqcz|j4RVAR?-0WDu(yN|O*GQpyh89dvmw}{_a-iIy1=H=#L2U|yC$Y9* zm1++Qy=TIgx9(7@;1B!zgW+CA5L^iNgj!_+I(Zs!M0QBRDUE66aL2@6{0!z8T`kda*ndHXg)e{up`s!M=JM)4qu*aV(; zqCxNOT6p~+3|ucSgsrL0ps&F})jyXKt~G!cW~QL_k$}_OX|SV_1DoY$;HEwie$V4U ztaTx*D~JQrlgXeG9Sc1P3&3fiE%dZo!_~LmP}Q~>WTK0~?oKOQiV-8~DVoG2!I;>8 zm_q6{+mI&x1!Q(s6j?8wO7=Y1My_#t$k?Yxi6G)4`J{4}Je~H6?2`CS%Fhm`1MZ_} zj-d`s)HkQo+ZjFL;6#58`BH7=RdhvC5)G}*rXRi*((U68((+Fi=%^EI^#1M_)b;px zx~@{5(?6%pS-6>VpY(0G2a*2VU|bxRD!HA5uEX5p4{co6atYq+_e6f@%s{@YU=Pnp zz2IGbj}sO|t`IIRIVudyk`R3ZYtb0{T+#2GC!%)_Ml956BkL2LVM!OIQGe-lqz-Xt zu%#4*iD&Sh%ni&wehb6&E@7|HA@q2Xjmwl5JV}2rkMMIWV{;7~{Bf6!*HA*= zOFT;b^+%h<>yc-haF)_qTpYO&e>x+MeLortox0gZ*?nx{?QoWtx0o$W*~)w!ud#G< zY5Wy22~V%|KuhP<_(6RO9zBza4ql0PMlTF^OF815+;O;A{SO=Sp_v)JI?75GTw!Md zhGAle73zj8!M^dy_^K}t*H`SqI@!Ir;oVV`4Q;{dZ;ug=zQH5EUZB=L_SV$YqV3IX z_$PcR#x$Gb5$EA3-}aQLJ3VKqO|rQ56-9HG73h_pgNN4c#lMx+`1))GCLQ07t7k-F z-DSXJ)sYyGt%R-fE%5YQFFdkpB~Dacg{M2`KG~ef;OO=lNM7h5V}WX#Vy)4_EfMYh(xl*A4*KtaYJAQSL`mT6PcBIp|71rrPzwEi~^ zGBT7QN>UA8F8s%{(=*_Gkq`d^7CYLR+ zW?dy52xy1R3nj>lZdGz^@p!U93yAMj4`Q}r6*;pjiCn#uNk$IsAjQx3lf{}1Br>p- z>|FMc+#T6VCY}+eH!sN3=(^Fgv)+ixnNoTt*Pd#YdD0ormQl|)o2jjK231VVr>B3G z(MfMlQP(xssm=N>>e%ys!U;T}dGKhX!>mS1Z(+)->zEvQ2EAABMdp@>P7O{NV>cQL zzC35b(&Nmew4SYq=w(|}^w2167P^fO#n0|B*m5xjxBbgq;<|G%b*m+wj+4cdAutXyVm456(XV+3(VwjDuAC#c`fqI+} z--gNf0>fNh;lB0`tcp30&ll`LBa=;-pKXJWTU9Wp{4GoNX=nf4{J{dl4KX@uKCa!D zf_u$&W3*xwO75@1*VA@mR(m4;<(=?do)(^xl*jc&`Z(|DEVS|t#T2?0Jw2D9dzd3$ z`mKlWMSU#YxQdP5x00Eh@nhdJv)GX44YsUT0c-Lo?mWH-XO4-(=Siu!;b01$9lsF| zulB~$Uz1RK#4z+~IL%JgZDw&IQ+8|QE76vN`68xcCwjSIm}ps7o$$r=jl#;2Q-xaX zQo^sl@9=K7D)~zNRDPX&03Um8I-g`^z`Iq*@J#$2cOd*K7dgC&>w1>Kd9MlM=5KW2 zZ;*uc}dEzG-66+_u8PCY%h8rXxwu#($+CbtT)DW$W zdx?(sPO|RERuY$xN`3@Iky^{eBz3MUF&&F!ld~ClE-{u&O;aI%K8+%c){11Aj5zr) zw*w|9RYKgEII!5{0yoZ^z#WrO(DY+S5X$uld`t!f28CkKyGjDghl_#v&SB6sLj!Iu zB(Otv4n#EjLdH2~P|}%Q zkkR7_d1KVg|bosKYSLVc@iAKw!`>0cq)4pd~W}Hi!_GRC5qzX#t-U zOkv#$D;WOM8uY$;LAP%>w4K-tFT9gMwjmu}7v?~5)=rQf+zaC44nUvz0jP-F16Btz zVT|HR2)yG0ib((={>I>UX#)8E>+wmr0G=5!7-KmdB06p1>Uj^iZn+!;gR#(Em;hRq z8{y{AGKfm^fq-{Dp!+%;4@lb;PW>$<3e(`&?;c zt3MsRXB|D~l|rjuY@>lnB~238K7 znd(yRXioyC{63#EYOCQyVt2WVt>V1x9YbDk%_82=w}{vI@Q}Cc7$aOce5r7(LzS?g z|C>-Un~1WvrHS~1w?)G6u}m*9ge@tmVFf4tvT@P^eBHPjxjDPA_QXllJ=2O0l5XRU zA6N0TbuG55>_Ff82=vV-*q$YgV?N(x7aD5W@%&bnq%a&cT_)qQ5&w8Mb`AbHw+T(2 zZ9vPerP!BYkFy>1@$0JZOlo8;Tk<}JY0mUw-PW;ejG%_OPWZswV%1P$`&7(5I~)DX zg0S9XB}Q%x#WU&NIQ@bU%VWo2QpZnbTzj3}xn0K=xHPi(h2L54DPwHAz5plrCgXOm zoml&_6vGS3@k7Bn{5mxg;}=w7eby!PJM{o>M7==knlAJ#YQg@XL-=HUCO&!Ki%-i8 zP;~7ZTXE|SJO1zmyP%_rb7uZy;PV*#XqAsImX{-&SB;ad@5RB5S!nfl5&mf~#?QAE z&^&K69!_F74VIv>!8**}u@bwbys)KYGR_?)jqRJ8*v@ImY(f5f)~B(VDR&%auk-&h zn|fn37(WN4=B>lL_+%{7OT#OU30RaDg!UGQqiU7Wa9TS%B(t6Q-gIChMJdKh9To9k zmWc-2G)4J2cZ3&|w+Xkly9n>QstafPzTwXtKgF-i-Oh(UT+K^~x$-X^EqUwfs{F4L zKe&@u?{h28pWt4a7jQA*o4AcbzFhqm0EDuU<*wfeH9IbUUqukR8)NhdiO>EYoV$RC+!RX;ML0XIoqka(I zg+0V%_d{ZE{~EdEb&+IGZ6JY>2g&qR#l*KEj~FXv65l8B5*YD-$)$t zYsH~lUjl5#Nx`%rW!TRq!K}Z|kf^g5ili69i|6*BX=DoJUp3+E8Vz`Cr3>N?lR&3q zIxJ520yZraOgh$rvCKN~@{9n@(m)U!^nv(rCpgo`!PMP`kab2GE{Mbdy!r)ieu%@7 zlbX=E)C%rKFbMfT;fb6jRPM2W5oJQaRcI-07zvA*H`TDvWrs_==_Zd*1LTUSU|g;h~8sk1cVUo1%ALyJ!E z4^_m3qIN25y^Uamn+WxLdmsjUHE`w_iHOCi|f5R|EX{bC9`yX=Lt7^=!?l=j`Tf zb^N4ZjYiFZ=yoU?GYd9h+2KfhrQ(bDm*Sav71TQXm`ODkF$sx4Chh6NPRXUSjrWJ=Bk3H&9h*Z`Em^F8+Kb{d@5B`+cZ_Q>r=l_??9#SaZH$y3pEio-~Y=GMYi&i3Hx~S zrAhpn|NQubDJ#_ciBn;}W;~UfFpc zaZWnmE$z8_i-rZBpe<#k^kQx<6orm-v}<)ghkxe=(;Mtxc(x zl`%Du(4+M;Mp3zRDJos|mt1-^NR+>KlOuoblW`wf$&~&kQlfT}40`P+J1PoD8sq!)SGwcXBhL%IR_I6mXFcE&73k98-Uf{FJ9@fhX zAtO};S^2I|Z5IrhK^s8ZdksuE835-)yr8@z04$v1VRp+lc&Jhc>Z7*94*67Y4A~5| zwn?CPbq5S+9D_RTJJ2-g7reQxO>Sq~5w*l%a;YhX?Ann?g70RK3-gP}#)&ngY5#e0 zYvL`EH1Z{Re&8pWS0F=o`>WB6pZe72r4=>UVokqZcBgiqmeQ7uu{2yNgI;aQr*%I2 zsEOQhnt8IBUe|p{x7hd4CkrLHxf9j7vrUHFi2~qeGH33|+z{^I#AL2_X94GW^C*{; zeUH04MS|DXHsnViUBEYH7Vt`+@AGo=G=$Y-{Dgk3dxfJ5dxf!MEksU*2_mxmvdA-A zgYSFVh}F{A$NbvD6CuZP&cp=0dYm5r=^#}a1fpTnf9t}`(&dHmQbz}S`r`21%q z))=Q^i(4x8hi$_7GZ)~9f+^^pD~(eZU1rW3QkZ8tu-u?8qTSAWMM{(AiUvVZ^mENc zVaDuKVb6JM;fK{q!oo*Sc>H*bU$S~DZ|bswHybmH*Zpe7JAWO;YhNAYHrd?eUN+Tn zpVsZ*CcoLpb-Md-vtBaJ>aIQ)B`e1jKO3O_YLBV+tV{H>{UQ4Bb`hOll0zR&OQgNy zSJK#H0W|HI4~;EzrmOr#^dM(Nt5;ai){`c5gPsnx`=LnXo=MU%M~2At%b!W(qUYrF zwl>o0)zIo!1A24g+xU91D;0lmL^J;F*^( z)Qs?g_NnpECYAxxqqcy}-DMy#(gxUJbMP6mgo-|EC~Ncvesl=Lku`8fG78eGV&V6` zM3^y<4mmd4U{lpL&<9f1l^_|mA2`W3s4i47@W^Km02-U^1ASze$u(iI$IJz?d;A}`RbiHXKwZ3te$`-w*OJ4t`B5Nhi9s{kepXk`H5K%T~;F3c^pXEOF&BDRd3I%{0o+u%l)V*u^7?xbPH*aee-n7qbEP zyxxrW&#goMiHmT2%ye9-J{Dywds*d+Y8Lru70X!S#%6zC%`V$iu=!6Pu)DRA*u6~? z1^Z3#bOWGgs1VC?0DTN5;vG%}zij`(Cb!*Xhui9z=kz+3e*Xr$w`@2HF90s=498(_ za!@N}FRC1NkE5q6iY#4YLBctfTHe+$b|{eB6)w9G=q zZGreLVlp=RsNwvL+Q{Uma4)M$-H!PE^nt#c7hdniP`mXRoLaEl!b%x2$S1hOrW z3GA-s36^;FHw*Y;h?bY!aB{$E%s;yYEtjRCUR@$)dWT}VzAgH6kH+N*&)Gt&VwSpn zE-RN&Vuc>(MJ`e?BB7s===1iM!X3Mcg=bp*g_fK3h3`$i@*O6ZcwVN2Z=Dm*JNA3? zUz#|6@mFoWu33^lS@VMH|J%gv8C&7Kc^qzjJ zZKD&a8Yo8Zr`voBsd0D~HP?)%%l5CN=N1Q3exX0jy5&mMw=#M*Zz|1uY)P-3ok(S8 zYf;rp^7P?(Njmw`A7ZnsmyBEAMN~|0k-6tDlexL|WMEVkx$aUxc5KZg){_#*D6cRg zwPr4fyW~JNjZ#IOf8U- zGy$hQQ=oskIqce?3%NRDz~uR4I8wO~4B!0ovGi;hP)UQ0-y^~Dv^$*bMv&F9hVF82 zxDmAhK9{Bc%T&3rIWG@xxNn66ZrL!Dv=x4T-VWn!cEBHve>LRx5 zrvty9m_bjz9UOe<1*61#;O}J@`2NBUe05x)c2WQ&Vhkj0{WoB`^Wmp>DL8Mfgo)h; zV71->7}s72*3y;0SQV(;s)DYd3UDvj4O(6~5Rn`Qwkg42_rVW5@)v{K#7Ni`5)UKo z6Cpn;3R-V1gN>Jhpk`kj(3AO~RZ{^+I`+fxGlg*IYbxlkj0fe_sgUq>7pO#?0u}v# zZaQWp5mrwo^7CCt+@Zz9RAvKt@iUW5@7zmD>g&i!^+vMg&kdq2{esj-{v>i~GE~M} zjVjrVr`xKh(DzeqsiMPN`Y=qjmyULDjg`ar&K5&H?y(<#PH!h4 zJJ81O@KO~j#m*D%|Fc`jH+2ig7EBcRSVxOKuR0^j4VGuyH@dUGQAG@fy=E@;`lw>R z5Sv!z;JZDCF)H9P_IljLV7nVArf?SJLieHU?Ib+5Xf{S`>SEE@e)cl(3Y$3UGFx`_ zGt*Pm!+?lc*z`3Nm7c|-^wLeZ!X^SOeLeBhOe^GODqxQ6U6!P^oqdv@&mMnuXGeb~ zv0%kI_P+Hct1OkmYpc~z&2StZRG5fe%O>L7COu5PGz#N){9*GxJz!;K=a{+fQTDF7 zffZkQ#Zm;C==aeD<4-5xiIKbTc3BlVd_9CId#W*es2ta>{>G=~czXu+AC<1zj zFJ=ZO;SuW{IM%Wh-Hz?Sm4ZC%%iVzUD{Qb(K?lzzX(C-W6$huzNByJgafRw8w0IYe zPsClY?wvl)^8Uz_!^@dGTf=_0tzly;_OhOpFPZ%K(HNsR1MlfB!wU5TEFPDJ!r#fb zzI{DTo$QINjmD@b`+CS$^*$=`QXl%clWXsAG`^OTE6nF+w?}iP zyS=&3xr_^6FrFJomFJ=#f2Um7b1GQWLM`sq(v8o{=*ox!TJSD|o{x&7f8Va5(wY&} z>2Cln>2;;6cQDF>fVQr(pu^$}=uUfedSHVbT{R#{!=C>l4Ts*5^^qMUy04Wi)VM&} zy^oTXv3rPX+*WeTdJB=ex|$4G%_l1#IubK#O-A@nCyqftZWrs2knw-u+Q~+^8nqn? zmq$RLlLHv4n1HUw7?3y70b!&WoCu&G9Y#RjeG(LGG6nzq>EITz3<^eWf%`S-u+}3H zly-%{nlyLtld*>rLrx%?v;>YVPlV|ccEGI(Ww6A3KjgnEg`T+upeT_GM@SCrQ_g}{ z)hV!fWi;H{zW{2?ra_j=M5qcL4+UqZ!ob8i5Uv{r+r=Yc^s^v%%6uTHa~|{=EP>ME zD6k4j2irvj(6_rB*0dagtENZcEO!iExE_bht}`Gu`wECzU4y+JFT*0q6X2z>2aFoh zVEmEQ5V0o!Hr@0Gi;cl>++`hX-MbmqHf(|)OQOKtEfxj_Q-N0QgmH5FK-9b!s-+5G zoqMapabl}@|YWSy= z{@8eoJ`cV^KmAX^c}Mm9{Q)?sh&F{Xq7V_H*S+ue=W}01MlwT2B{R~rS9|ZhLp$xg zX{nS_Dx;!A#Mj=ljGy0s_pf`-z4zSbJkL4zT?$hz9=WDHI7TC>YRu460UrX z9(QY`8E0wW#*Ja&T>8OuuBZGuw_x>qZmZRJ-u?JeUfAKxtD6__h4J6{RJ(n3h`!mBwqe`3`PDEV3(;ZCO+wBDvot*-2FRj`JB->>&+s3 ze`6QEbUTGh7dhkm1?RCh#|$?uTZ13M)o|0T8ndXTm7LzZ6 z)}~sxM&%H`+Zu>B4kY8&!@2l2CKr=@)9`Lq00Cn8?yLpbSG0i7s5_$UB#@7#MmCcd|}#g3*mLk$wCM2p5WE?2tn6=LjgZyvH<+w z@v9eB^V`qF@(GU|_#dL%`3I?lFI1n*8|)d$mvuej=C#*y`u_lD8{^G+pET!cHP>+~ z#TRiaw@&1oQJkx&drwP6d+3&@wN!O?9yRMqrp9}tsj<2r)mh_0V-n8O+jmY-$(aY} zfjjHz9xow{-?D_p{3DKW@if{#aU4zU97Drg#HfP*cVfQn3F&#zLHNi9^1Hl@G>=Rp zH8UfLqM8rU_-s$K;>^gxppB%;U>Py`CLqh-0I9e-llbY5B0EZ&p;$T$CgUNnpS1=& zB>+MW&4XKP9yIP=4E>56l$H|U6?9;l9l~sTBe?w15ng%t!8<))NSYc={z5z$nnr?nR3OZ_=mkZEPN3;%1#KpV z@LOF7i&o8sLlQH4tNcp1{}LPvQQjdr;Y41-hS-KyRl%$W@<(;FAa8 z=a4aMD&G%(cb$QzJzmi8GywkO27vfVKX8lo2a$p>c=z`rOe;@<6Vgf0xbqTxuZ;nx z%8QWlF$*N+Z^FKd-yqFjfh6b7Awd^blRWREWS&?k2`^12UjF4T8*wU*P$r2hHAquD&%dc(Q0=ZxH*{Wzq>$XZ)H-BRnuhtHXY|M zNV8T9(K=%(&aZe1xA?()t~7cnw?$$Xrx$sSJM0(0`L2)Wd~3?MCC7TX$_Wzu=Ryr$ zx_dWYKPrls>F?lQRVfJ4KW-6Jl*S02sy!CGtXC7tygnuzI$132xF*58-SpUJ=WwQy zcb_TcsGxY3ArAKWqD)W*9xJ+rk~z2j`9~Z6X{^C*K56*qurI1GV^rhj;PJmBQ1nqJ zlbPJaR4iVx9<523V55th79YlpjrJ({%L%{OoWRK|jZk?$hq)Q!vAO9n3(`+uPbpkMfcJWG>MMEednUEO34@f`wruzA`V>?r{Rqjbu7|diLTR+ zVAE7*thIE;=ie={qIeC~_^ROg<&W6$hFErO;b|rl-ukpYZrDK@qyAC7jR5AbCJJu?d!JauBW|bo*v)h9m!gpFj+w(p@9ueHUWIJxf?OohCrKOx{+)VCur7Sm#iEuglUr?`v4tjlVB~6^2M`s$Q(&3g@RmCs&a`C`9LzYz>R1PoFu0Yo01hD){wu}luR(xB13ys$>Y(Z z$?3ihDCvv@@1+M|$+(qpw1t6{@iItyxDvFBRzs@Ca@gQVA$}qUs|Gef?E7=D^=}BQ zxp4u`C`Z67XIGg2*%S(f*FpT0O<=jp6z<$H@K`m1qWyE0*_JzpMbfb`(-95FCkFwxE;&|M`6#kQ&3@J0S>Nv z;AzVNaJD`R(|KPgwvPg-B}p)`EfbEm6+-m7$04D*NA7ek=; zVFC!<^TEil47M*Rg5N7Mp|?B@s%1+cy5%-x*Z+XDAvq$OrAZDx*-DmZx|3PLOQh2_ zha68RA)8)oU>A5))+`HdOoW`x$9PFi>vcX2KC)|n)kn`ex)<$tE zrrDfUV+(hE%vbKW`UE~DemNf*?!wP5F5uHzzwy6&wFJjL+Y1Uc%LQjfNC+MER|+ki zLxe`+_l1uB)7hd>TNWOk&-$i_;6cSDsBLu&6Z4|+%(N1eeRTte=6B#WuVx&&Sc-wg z7x0g-JuZE{3h$*%#F?@0m~_)k_S)zUb2>N@mDDtG=EJSnt#cetjdRAp3VS@W+XCks zZNRn@a}nCb(XQY+Q?T`8Z)O=V1%(alhJ`CLTbs=$5C7wy;!8%`Kd`U9@7Vn_FPO@R z0hYPCi_ImCOi8YY<*Z0%TlFq63{GVmw_IcE<$kd9?`NU(t=+i$q8~~(B%|BeLJUzW z!PvxXoV7C!HTHyIi$yX!GbxWf$mwKj2F7Bb_zDd5bwzqI1!wit;K`-!m@ujX)gtR~ zZ&C(sMIZd}bUn%vS#0)eXZCqDY)9=&HgiZB*9@(~B}Z&9|GgJ#y$i+Jry{VxBmfr& zpT_FkwJ85?Hhw-f19i1|G@q~sH^kcG)i17?lyw$c40hqYCt7H^Wdw#jC}NkY+}VC} zXZHMQ5)-`bXU#ju6ovg5v(p)GW_aTcMQ`*T<$#AmjL}L-8?B>8;r)<$HYV7M ziQOa2P3F6B`i<1(DYHQ^fA$1{Q_Tzh<^< zQo~$zO7Bddd66xw-t97K{W-)pCF`49J81a7PMb>O~A%W2+ z$fm<4#4mU`xo~3+$=RexmVWyKUX?fDKfP#p@aq7q{KqMu$xESrXd}dL*aM3#55PE= z?eO&K3P_!>6k3!_puO80J}pgx8|!o6xoaxyhz^E3H%>wE!ad+)e*i-J&%&xF-jF;x z40P_tz?SK8;PEICJT%ilcWo{l4=sjO=_OFQBNuw#$3dl}ADmiX1KpwIdi^Mu20qHOWy6*CvfE!3(bRP#o_gzv$Nx*k9_1Q* z*4~C}Qakqc)S>PBEZnvy2zQM&Lq98RR5>~ZQv{FLYqd5e@%%Zfxit=Bv=|-?+>h2L z&ZC8$Gp?vTjcIH5VD|c@n0iPB4Z_~B+^}q>yYeLaDZ83Es~9n1V-S-FDQC-lx>)VF zCyd|lkWF#wVD94@nDxLF=Jm3G{gJ=S#yQ5Y%W0u(ty2_p8p>h`y7yT2Cn-GP#>L z)40wt3b&8S!MW9C_~~v5_K(WI5Z5S7?()UnD~YW1YZANRT*!Pg2AG)c6pR@%#xa{i zP+(br<4c-(i3ECp& z2~MmP73ep$@e19Sd5vsuzBv3K|L2b`FUo81**Y@3N#_SHd1E{0xUi6uIT6XVWI1vQ zHoLjj4=XsEk8`*kz2mtuRSC}j?ic#JppQ=JZlaQHSE=bx5j7}Jqa`GY)-Lg->&o2d z$8>voS<`|Fb+*w_L%K9LpQA%XTGa80D*fat)^;}yJgt^&g;5fHCq4hwFr zfMx$Jg^e!^!M*V)ETHz#wcZw5$_!zI$2#~MYzE|S0LmdI`NP4kIQZ_J2R~<4fOyswC`~GZrM)F^RI&ng$JfB5yn4u4Qv;d_`Ed4r zEUb@kgH0uSq1<5|lsIkx8{>mu+3F0>`@A9ho(Bx&pM$(7N8y;XBYe~egoD=cz+cP- z!>p?y6Ws(JcRIo0cn_#9eE`oCd*J1?yO2H94l4_8Lh0~zSiiptD$W)_onA83UW|Z4 zvjX5td?08%jfEs(HfULt!?V$4V00!Oy8sSg8*{f>jKfS&mgZJR1^20Uh;R~8<92_ zr%%qy(1{f)R6K4zwOhW77R=p3>l_ZzZC@R!iko)@M1b5QQmz%%i0;fH>fO{{~$;nOr#T~q?%zsr| z#pj-Ni@LX1*w!rXZs*mvS4{x|IkKAf3=pFg`IzSxN7|(c0il9;AOw@ARh?<{m&^+4-i|ZY+b)5}P3f_Vq_6t$NPzp`TZ?ia=NH$B& zh~59PlKJG=u-4^qtZZLB`*gpXt^VD`bQK!exr}@^bz&luH;-YZo5I<9=Ky9K>cz&p z`mn*b(QK+&1=*7h`c-GXCcfgkoo0uv|Zb ziET+@U$-VQn-di*`SK96QC@S8ZC@36lOznMn=R7@^ejwy={;KE@i43G7}0!u%W%i7Bh_G17$ zm3i?RQT|Z)BW~8hYn)A23a2>7kK41xmP=3E!s$%pxQ`{%Ir;5!99t&Fbx!+8zn1jS z=1-0Ei(EB*<5ofyZ7$QjVi8nlj1R?NR~kP44E^(IKmC}xiOy|WLFN4@U42NC#%E5Z zRkHHbwrDh+)cuEimj93Zx!X<_PO2t#@_FREb{ugI2_WRK8<7onCV$`BkwYceVV6VNU>1LronK^}92_E>YcWWNV4ik}AI zflvs3lLp7i@}O5T9R|imL(V!MDED@S8`Yk0Q7Jj;fRyA5z8{~mle{s0UO@51Q! z&2VUc9gNqmh1|dYSS3*j`3?E--{Ux#^V;ylOKayRx7;CF9EJI5%lFE;ov_e$xOKjKlY@B*+!6)EpCP8LBn@RpYTTkjdkCXKi ze8~9^G33qCLel-Vlem94odKH*SZygmLbixJx+a zE|zyQy~}&}j1!d97zn)VqXhS~dj*B9Q-$Kz z=E8x`S;9Ay{t5@ug^d03WgjNrWNQw{qtrz`ObvI#E!jz!mr;pcZLK)!Sv%V9y^d>& z^Dw_43?JrLV?`W~_Hz|bHs}repmvXata{EyOUa?~2ZB;-O));=EUxZ%My2d?*p_(! z??kM`n|jmHTXC4(k1c1XZ@RLD(Q8>y-v&16fjgVNE{6rjw=&nDE_TGFnbC#0Y?);k zQ#k0(2Fsk;>50zFZ?7GDrD4aOmwB;nqeSNJ(8h57XcXE5p7{E&%`Svv`O9pS(!Ywg z?pC79g#yf;dI|L+J+Xt?Vv<=I^ZGB7P1|>g)qPH2B=ZJ)C?bc|$(!+udH_1vrukw2u|PU zjIzuV#gDk*i&r+NK5_%@X;_493iEN1(h5|GI*8VbT=3$2FDzW_ieY#dWn>wC9hOGL ze@^x4M=0xC>CJW+rLf6|AF$#JviPz`2jjmPW21sSp1G)9OsQ9reX*_(N*y~ZTybxfaNC$cfsSH=U`48#;N>C>0ax&sAC$Yv zJ8P!$uBl#pi`@bK_-S2UdAtU{&t8TfEBA@>dDOwZ6D{UcuSRnLlU=zVeh0WZvX;}{ zvygk*ufj2b42K6ta#LTwrSRn*J-oJw9uBCXZ$gV{mTEFRwJ4PGsb2I~n=|z;JxX7M zo6t(5_0({~a!N9F=;x4GbivaJlq{8|zOG{Qj_qd>x%&Zm(9u9n$dr&7++}iddIb5_ z?Lo|$9T_WriYUA@Cu@V&5%pwM@>TN3SYRF(s+*Rw(NpGU2q7YG9j++p`wH^{a2g_&EUAx|;~ zE*-iKt1KRXlf*N)|KJHoXLN({iWbNZtby4t%0MX~AEvcl29?+tNIC8U=M#@XP`wez znVG=Cjpw1;AryKpBto@hGMH4vz(Us`$olLLrt8At=!YbjwXy`#|dJoQ-*ukp~^K4F5+&z z(dD$3nQ-d+?KrWift;R0Jg0HHlpDXbhpQeb$`{|6%9kqW^In0T{OfsTyx6s2ew)cc zfnBn_p!-azAgg$!@T>Mx;nMT|!cSk@g>APcv5J!YZ1(EQOuO*|+wDIGEi(?H>#q>Z z-kOIZ2d`t>uXa2%)Qaa-s?g?7GAc-TVgI%5I2fXVKR=11>azj%-LRKEn)ZiX*gGA) z8rI^OdzKia=!8Z3&X_uI3=fbU*ifT`b4M#+{iS|p(4WBcrygeJk-98l$6ls99M0VR zD%pghyX-o-%M5!enNoc$tNH1`>K7blQ|_6wu-(>7@1QkXiKp4#K7V%SU_MK{^B=oD zOXZ)hY(!B5cPu-dfGavn@N9bx*4tL%v76cWVMzqWap$pet1)U@HM8B1E7+1lDNI8< znjL(R#;X4gGKJrBaL1hEI5z(hPO86x+gw^uRlfyC6kI{+S@9?sK97yNc;pAiV6W** zb|K|8Tiqp&CtD|@LN#F1eFK!9X^FAp9q^~SGit0pfgxEt(DI}JSMFVa`U*mPJjob! zMD1~Wxfd?^mauZ@J@@Bp(*) z@0So(@3|`YZRH_YoVr{vDo9R{;6A{gSy;+vPKw|)_0RAwr?>DaB|7}0O)7l<<&pf@ z*8`kyT|H-9kj7oI4di?yPjlJ^Mx0UIGH&0lIo#~%iJW?aG-q-}l(SEKMQtD6q0u%? z^yZ^#I)7vVH7t&!-tj^7oTDdgs&$}MVHVV4+YVZNWG$Vt52YNp+PB9_A#j8kA!VI$S)))9@ zTnNYC`9aYtd$<&D2Z!If0?hOQiHCmhH^>Wa?r;R7uCuT{(F;y~j)M~SQaI963p*ss z;mXJ);8Oh|c!nGNGVlbO`N814?;@OeoC)tnRYIt48)*H!4`T27Vcvm0s2F_@ZX4YM zhvl_!wxtL*t-1_vM@B<%tv9F&jzgn{F?^kB461TxAt*Qme*aE@%JWIkdNu}nQ-Yx` zGZ@O6V4?B1Lu_ z9fs=-4`Al6YS6rx32WzE1ecd#AT~D=j+Lgu5BVyvTigNJf%o9eqgMFPS`9(ZN})da zDopy=40Aktz`5rUq%L^`?eF@4{(K6SYyN;>wi40HUPO$XHV}sl8)Ca4n8aEZ61PY9 zh}Yitq)zuYF>?~9er^iXb=yqpWlw2h;aWQOi3!zpIz=18y=k*iB(1hcrTZS0QB%`a zdW}7%((zxZ^Y78zf@o#VUT+?^&4_V3oVIYiGi*06bR}@?k*(Mk`A1$!1=@mG*P8F{Fen^<2nJKLD9~MTN zbBxpQW+G0F%=G{NV~$>l%CDReB@=M>r7LLl;wD~k@4z;3)TtjaZ>VOT(D^^##qk6$KoUL z^v!yvqT|mtE#JbPbn3D9*X-CGoitYZ`zDJI>0=Ltci5cGC2UQ02-|-4I1`&@#_mu{ zR*`1I?uOa0oKudhW^*(vi@44NA4j5VHgj|E;M;n1 z-*^)ZkJRDdg)DqI%^%O6-;S;$r(;ds2$VhaiFMhEV9aA#)XG%DLybHh4cLk?$B&>z zBBI^&`uZ^YH!=(WHR^O|&sb*#z>|xkT0BDXDwuws=~~OK7n@e1wq&Ty@I22X9^NsfAQx}HSmT|V)?2LCKgmfxuS|2OYp6n^ul70BF6g8S);H3-*RImpty%P)c`P;R3!u;ZJ!t3ob98Oq zK{_^b3k`m=ipHmMwCMF5s^mC{T9--D7d@i1_wIXA6w^hT_FN;`pNffvRW{Ksi6=7_ z2N18Y6U0brD_N#a$hFIph)BanP<>SlMSA|wKgk{x<=o*_d?*}^j)Q^vc!*RFhxRe< zaBhhsT-X}~E#Grtzh5gHwd#TJq&CnlF9K!xSUA}m0A7h9@FXt|l7%^-npOc?o%IlW zrWM3~-+|J+f2_!V45l4}FmKr)G;HjHsQOmeytf=&o+g2QeIVGawgdeshafWA96a~B zLbG-RY~Gy!0iQ3yrdMIG$SDxYmqfs|Td80&ssc(pn&JDhE-2`I42|brLsH3iI5lb{ z+2A#XDD9IY7SH8L`$B0F(jZC>n!N_+DR*F|SS?h&%7>o#6fkaygP%Jt!+gF99{WE4 zqYv-EV)1*3)9C|QuX?BpD}!T`>p-a12O9If06FvvdcD8Ego&?U#pic$D?yxC-BKZP zR!hiTGXpX@!k(DgUn1)d)RJ}U`^ey`w`7ap7a909hW08>rOF={QIX&k^sVYvDn0)Q z%~Q=4siYL zE}Yq+P);j4g=;-k#r?PBF}Hq=1P{$>yjbpLp1$(s{}@*C!Xgntugzk?+TTtBxmo3c z?porS-67T(lIwrS-FO(*-aaMcSbJJwDVA31*S!)(5n(xJmtRTF!JO@)08}Q0t zI~wTU!cl28xLGd^mpS^P#*y7v_*V=68cE?_tGDc@kDrCu_@=&_(PLw_>|(z|g4lbltL*akUZ#EV z8GE&=i>-<;WtD-EtZTG8v+#Cid$L{FXXeN>%FZ)d?#=vcGnlpQW5#(a;qJ&aIQXx{ zuIgPvRp}B`^R2_BRdpC&RDz>@;&4QpD^4@oiW2j5@Q2_dTL6#Qz<<{nrf0DTnTyO> zBAuO1dBVzzG;pNpF?@9R624Twg7sf-VA9qm^wKNEH=42d=GqC|vy{i=jpJ}m@d&I2 z5tPXsh1N^PV~fK~oMb4#o`fx^_4Xio{;%zEiP_Ah);&07m=H*dpf-KWre znJ4;%`Jm3Q8;<*6g_G3R;9Hd`7%%mT4IH}6{LY%O;U6mO+uz&5em+pxn7UN>U#h6E zKe$v-pWrGew?x6yUKv5di${E)O9}sJIGhjdJHt;uy_L^@1H5I&Wd4V>IzgISb>R;UR(wLANVn6}vU<8i zq>L)ByG$2|N6~2o{xo%&J5^ObNl&DkQVWTVbeijOI@w||OPKd*_58Bs=d>*ka3+cW>&p^Ic$q6g90xQnca(IQ{crAg=ALD+Jn7*?hPL4}Aj zNGt`|b>*i<+Z9|Tg}9^e%i4y$uZ!1%^JI4wR1s`b6F#-ah5UuQwi z_c#!bPJ-UeMeul0Gu(9QgZDNspk~3Ff6e#`GMZk3EgwPg+h5S!`2!Z{K7!uw*THdOEmY*(fos!0L)Bg} zqMx_s!2XHhiSGL6=6y+ZTnw$q!72kE(Gzo=)a zH21f08fU*^5oiB!1@|mt7dKdchI4ZA=X5hKal5A!aq*6w+)V4ATpTFzV`T)qq4P;T z$t#8TUG#{5Xfa7J9d-&lUdIaN8uSY?Q>F=*#~c=Vf65SE)*lj{zDw9AUr#2Cu4nU7 z$Kv~Y%P{DV13FBK!@Eiq_!@8G!ZDqwx1t$s6H0KZcPxIz#WjvE z*ao$COr}~2-E|h?_OsjZl>ABT9&|>#dk&bMX@McLHei14Ts)IF3RRNYn1oXVQ#3MV ze@E%F-Q_1)TxAODZ|q<*)Za1*qmS(NzDLYgzmC~*Uzt5DQhI!~^vIp^(S($4SyWAy>vsyP|UW`B1T+Klhqk1&aYDTxB zYFs)Y4X;FaD4(N&4?oM`?&;!a8Z3sqt|VIgV_5SiHFSE-p~mA)cu3R~P4!H1 z^mYTBa&Z~fD)5+|yc#1G9YEi+F4*$Z55u4M-=fw_vTMnxJ85h%f$fgLgcd!khGa z@dPN5raG~AntZCGm zom5kPEmavUq#J%|Qnh!JXjA?eT2l9iXuNqrir%)9!mbJ;BAZJB#%B`oKS{)*E0`!P zu_Vggi-~#SX!2O&K6Fnlg7qW{1RuO%)Wrbsc$EMNL&cy_d=Vc5QAQ<-t(w<5Z(M)Nw`}!DS za$k(>-7Z43F8qNjGepRDgFj#_^BGROcnCusbzqQ|2L5TGK%e?R`Q2dn+n)@j;bm~U zqy`>jmP2NKCPe*Bg6H?rp)Ixo%5rakjPxMbz5M}a1QJB@i8L7~l_&8g@+8_%hPaHE zBBRU361h|<;v`%DZgHUYW`igmfZj+t7@U6y#iIN(F@fV0DzN&`Rp1wTRY0^QgcHXv7p}|n z7b>LO5?WVIVAGXNS=7Ts=4kMeW&c$}@zc98X*d8Qva+ybL_K;HwWH3$b}SCMhBJFI z@aob4yi>a$pXn{ZSzqPxPWBJ>a^!1P5GjHant`!&@ZiZLv?a^$!3x2zO8r@c! z;=QK~?faB5w)7(lu_-RbMg4*$`#zw(u60>8c=C{A$m4PqMhq;JUDGRuC!7`xmPmCG9_?@ z?MVD#ERGKU$)J6&D%PhG?7XoKvuq4;jE4d4G+BlHlNhpJx;XcqF;@B6VQq~sw)h62 zpQtbHy?P1@>ek|oClj%BS09_~o5q}EFS0`AV&+iul+BnekB@b9uwbnb?%01G>yCKg zTyr1XALxqmYs_&~)^c3bIsx^j4zN#G;@R%~CTya*5<6aYQ#ilDM<}_E7mhjjSI}fs zB#?aWEU+vT3iKAq2+WHf@x~8I_^`4F{>8g^AGl8AeJn@wE4RMkRAX*& zk1iB)N|rI)qF0`rY~u;;MTHT!Npl%jKRB1$zJDsG(J`K@EgHpLZ~H)_YIi_y!`pSK?|2>BY@kN9Y~`uO(~;EN{xi{y zct}RrHjvtoJOU0WM16i730V|M%D0^%K8Z+HE|VhRi@Tsop-c`}Od?-w706>=lK6cbLH73z!NRuBaP-AX*z5BE{0FYX zpJTc3&?W{x^aa9M=LmRZmj$biHbB>tPPjAY7RbJ+0m)}Yuw_vZsOD8eq4jNeX7viZ zu8tsK?Na0h9Z$BuQX(HrmB>4FC6aw;5_vmYmF!HIMLuWECOd3ZiSl#>@`4IXP z7E83lSZstZBF!+Z>mEFM^B*+0d;{YzKcVLGCwSxg5|r5sXxZ=q-n9)uZpmM`821}K z9v+5>9uYFiQIZ6XoU{Kp^M zG*w{XZYo&wI8Lzo^AmwH%n)8Tv=BDvWeLA+7#1o%A#C zxcDOOdRm4Fu`SrUtP>|&x8Q>CG8`Pdh$_;~xMBTz41A}C{LIlfo7Gg2idoIlFpB2*&+{}^$Ct09= zD(j8tVW&onKv%1=s55dbt~DQtM%%wIrxnkctbQ*We0`J6oL#~u=OwW4Pw{Mtb~W3v zb%^zTnuXmTci~G*AAG$%72A`q;##XF^y|Bh77NR;?_wN|-t2;f-`3)H(xV=n|-K#&VB{oVZG{&Ok;8rJGJcvTfA*D;y5Ebd^i~Q#pa>dyn5U`stLoE zU&ZAwlJQN07f!lkj5nQhaOw1a9o8s~?cYRELG&lnS~kq0)FcsGr(pFK9gH7ZjT>Xu zqoMv9^jWeDk7?*)1}`kCn3qK~3&)~Nl*4U$CkM$Z!-d~39d4W z3RlKYTg;x`_$-v#n<`A`-6M>!o+vc#ydx<17AaVA$XL+ya)!WOdzgP;(aZ=DfvYJ${t9Z2V1D7rY^2+q%g~zKVR@bea6Q9Z3cheaUmrW2D=B z1$hx9PrO?1gYR$=kjf0$G&UEG+Lc4jKpi-VHiBAJ6^L!k`^T&_xbTl#?|-yFM*ARi zhQEi9u0beKXa#>k3CJzahOYGmFkD>)9?fkqFW?Dm%KruLAB-i1&59%fCy^&xl}Mk1 zEcxy=irg0$A-wPtsD})~zFYU8Bc%ai_UD6i)dkS|9SFTiVen;cCP@Fi4vVgJ!5(%G zj>I=Xr_xo}mrwyy1{>gOTMy)J{s7++N0R;t(&U4~IHF@Ufwb;dA^j_6kb=B<I7Et)7{ORFN`EXd zOBEx|qkcmEnh%iN`WZ^~M2Jh>DDt^pn%tIDApIRmq?b)6^OqAMp0$g});p7VqTyse zWRUKYH;8o1S2FhNIQs7OY-;prG2In{wExd$`XbeeO0DsrQ-?z7PR~Tz`@4wh6g1PW zsgLOaqaUeww4B{5f~IOI+Wm0`BO&R&LbTPu#Uo zIey%RMSM&C0bXQV6dyVDChzGeDOeqb0&_Jl!OXT=fq|~1&?{l3Ft{L4m~*>BxUFU) zv%O-}FsR$fiHO#@=asXSi7wr+ZDrXA>sk2L%O``!fcog^6MM zs-JAb^2aQ&tCm^WXENoiJl6ZRn;FZ=;uvv;uBFGZxH|%WzsW=Xd>z(t&Dd{Qhi^~j z;kyIjsHSU;jg^4gxBhFr#<#38ZX(|Hl*b@D33S@<>NX4uHYXGaq!u^} z&`K!i43!aBN)7PeEz0;->nL9Cq62T3xr>LLj9++0jgLPq#pm7q!dXOib7PNR<^HTl zu}dfFoh^12BN z?i51Jy$qNwRtcJSAA_IK2y(@D6uDq2LXPwfz=4bgaF|vOUdq+rt9A=Ur96VP?)UJ# z;xAlDA4MiEmm%M-DUi`q6-l~o|m(@i>f4!yE;bPodWks$@Y&N%5kK=aLZRFN|x8M#<@#J<$ zM{&vKZf=5L! z1!Gps5*9IAp*PJH*2Vo1Dur_FY?~*GNv&habPT?rh*wviN86tl@ER?{lWSUVf@dd= zGrx&5=2qaS);OF!XW)6kFnblfZTva(A-`5)abEu=Z^t3aM z`sZO=SK6YQ_*OKVx(Lg{WYBZ&L#D5NnVHwwv4`r$EGhpSOS_uRva_Es^L-P|08$=G^o^ z?|?+yFgk1MBtXWstz7>YNu&kOD|iO3PSNNqCuxM^dc4Wjs_<#_3m zF18PD#0j>C@aQI2EHey39fJrw9}1i2F(#A3mZV6+38}el4BpkxMI6Xc}hCQv=DF6G?G!~PFj?=5ns*ur0j(hF%%hq z&r7aAMD#y@^12TDcRd61SHs{?GX%4Y2cUgwEl7mq!@1;Z;Q93>RO}i}T8ib!+OuOx zZ|V?ih)zcft0lYM{OM4HRwA1(V z+nIZ+rr+)B~CQ zx}SGr_zZ8^@9VtSj(a?n z4ycwJ0kyDz0drdzokL(X05~qU0?8yJ__$dEHg(Cu&mAI=`tJwtUgK-tNA@vKMfMes zuOkTVla(Q?&lr{-v;g>H2&=a$!1PQ(FfRGUyWA-b4pmwpwrLtTw3))_HpB7D01P#4 zz~aJ6sYW^X{-=vxPCLLy)oHb+Q>B#(N8_38jCNW79wljjus+onK zPBN1w-eFeIKTPdv6?Qa{WhEWgu_lWu*^CFbSdCU$PFT{3bL-3Fl%MxUJmis2-Y_UyP zWV0Nn?z6{SF+IF8?;q{H*F`%j3u#Vz7?nP{igs)6pxdtX(Z}^d*t$;}_hee4Tn53u z5rSWYZ1HS}Ig++1xIa-In*+X6*JoE~ickl2Zn#G?UrOQ`j^H=faP)h#9e?OFqL5A} z%B{YL_BlQ1uGx&Q3U_0&Tml|?I}4?*$m6$Dk7;8_8{Ocbi-U$5=xHO5H{ULrk&sM1i|mxVOI!{~SMqPu+TOXHEy2Y-vKx*QMAPn~aHj z{l>H7B`nhyGi1fqpaX>pe#2+!~;2jT2BWTpO!8tkGSC;%MtEoO;O>2bdtN zmD!AQ=4{3HjwRR{Qi8Jid8qhfJx*12z=K5!xXR!ml?*&i`{x{`Srhx|)VN=?^^FEv zx6i=6Uzeld-6Zrg$VSf(S$M!G30uDe;-nY`8>YzN-@~`4%()UOR$G8hTXXFJDNM!)$nEe3W>iJ~cU$wQlwl9Xp0 zi7->}V3a)m_mE5o?I%CKw~@q_dLlV-7b!K(C$WlY#CX;k^8K7UaovIB?O$^;(_fpE zD@&2zx?}KQ-3aXUdI1}pZ$aMGW*C^44`**L2CEJu5ZosQ{{Am{1M4sFUK_XbRw!KM z?Qed^LO!U;ba7w`X=C$Wda*Q^g(yG zDtJqY!Ngf3Jf~ItyZ}K!zQ3T>7Ty!7qrA}F?Y#4Cw|UFc-ta!{9pzc7KIKK8zRK%+ z-pgzBxXJTg`W1)hF@^dF2aJAJP$netzo^Y1+3CB zg;VK9@Ki+??mSWgD;o(&6&8SZg5P=f%mg4#Rt7}ObfJzl2lYWq_`o*=$6bmr_+cV= z9~1}Ad8#ly(ir$3&EeqssgN6`4~CbGL0X*yQQpNd?rJ5KvO6;DV{!j&CD=vN_x zik|ZLVVyaC?q7fpCDx*?MH0UCNWw?w)*)Zs6WNV6xXW@9-dpsXKFK^pFCR{)M~;Wk zi9#v#X-*S0)f%Oa=TtCnfi(`!v&W(PbMWZGx#+Cugtr0_9V{*It)(g|Wc{L2rPt}{ zh5ht7ex@mRw9#Y04TmgKaH)3%s!eOg8R9+oR{J68|E#x*}ZkKj|mbL-#P<5ww$T z8Lp#agEwi#wTXCXU^0fhnU3-;GtjMK4nBVBhg*ANaAji-+6$N9vGY68s=p8eg40k~ z%?~4%O-0d!KlCZ|&@&&7Q4P^^H0a|?+W$@()k`e!obMu>`e7rM6=vWW_Z$?Mla4bU zuR|{{SKK*u3Jz}nMkoI~N?Sg}(s@g!QPY|?d;@+Je{Yr#f2WEvp9#Iey*Dc57%zXW zxXOUbFB0ISYp${O>_PTS=Qft7v7SA1--Av4OW5*09hSW+!M@1&#)uw%$b92EnAP+4 zG1<2YmT=COj7EF?1{Ivv_Ud3UO|MD(L^6n)vt51;0 z(bXhSshDhDokJe4OCWFN29niVoQRYjk9dDIBA=aAh{0E3vh4Q=L@EpdQ*;%2T26sT zLn+i8TM7A|rZBxx460X*@NOzS;LSaKhd1}(bKddLUp#?u5%3Qdh8r)w@Fd+I@%S5V z@mv=@2I0lxP?I|WJWhP()fEo&;!WT1%C3IpnS2n1>r2((K$HcHG4?RH z&JCU|c7wdo+2Ecz{=3Op!l$mO(3NZiCmSZi%{yu^Fen8dlYa4jOn=B*9M{EL7-uREVbo3eT(4nuqv?wu9lTd}a*~YMB+);!7 z?BLWgM+m*?07egILV@56I8?_N2=33d*|4LgEV7zgz@6%-e$!ptNIxG*FHUo%Bu zWW0Z!nl<3fek1VTVhZ-s#*n;98)9~=z$9Tc=*`oGhB-#S%QJ?#$%bID#Tee*wt?9a zPH_L!QrL7i5hf^=z-sSi$ozT-E|`1;r(5DAd$SICEi;4s{Je~~E=(e(&N<}x(?YV+ zpoR!tI7R*h4G_1QA=2_pfYDQ(#I)s4VUk99%*kO_rXneX5sXV?Cax@Ibo=)+WluU7 z>5ESoH9ZlwW1SAWZ`o{ii}n`wOm96KQTv3=&rsnu^eyC+-xP9>o(yosRDoaNzmTu` zzJxz${gA)96p zHQ`L59q1_*jwe1-%<9!brB4!=vOyR*e@P5lp^Hq<4E)v_h|zQ6aQXaXobqfFzGz*6 zUYloQioz6pEHMG~pIxLoe(a(Xo^7JPO*c|K*D^YI>^dEil)}V~W|-pQgz2-rQA}qk zdVTQ64T_8L@0q#S@}7sb_Ufn|_mg@Q-=<+skEqQQaoiDQgNUD7&eVa&=p2fs7swztYA}o750DOu~2m z63D)qh+L8c-tCsf&G(hZx7m0un-D+lTa8Nc1^A@40q0k@*YR>> zPh_FNj4!8oOuhdTSBz-ldfQ}aDQUTS2lo{{pU(RwUA!~v{Zx}2{a>AN# zi}C)~$Z>aNqD)^A)}7pqC3|<`;wxM6Y{`1Owqq7%h$^7NyZ>n5i_>(V=QQnoaGUPS z6~u5UT{Qe;j|YcVVV`FT7C*|y4;QoWW7cMrcUg+z+j(f5FO6m$1N63L5tRs;M-OXB z(Bam06x>%N$KL zU?QfgGKYSMGxtyYAZnMM6Epdnq~J>@IVf?6#6R0j=0)X`5!W;_s1iXo1-X-~8IoPHZPH6#gP@t=8mb4Gdp`TXQ5 zc#D8^h!pJZlY+QHVW{2pf#=utl(%@xFwfU=0^m|P5O}BrmtADRYmXpUn~(4Y_KfdG zmr>rww!ggdf)XIKLKP%GPKA*G1e;&3FlUWB+zE1n0wV{IaU;agvFW{muxXhM<`PE`D^yv?8-{n!B+m2CQ z(Y(LB-{n$ZG^`0d31(1R%z@x}2N+CuhWG>*5N2ILS9lQ|?+Acx_g6zeQ5f9y3j$Z2 zdC)0h3+K1#z*-$SxG^jW=lg^Jb;V%)4n>GxZ2%D~ZQ%430>su9;G!u6cIiXp30=^; ztp_oijo@*tC9HhT!R-!bh@9>X4U*x|SD6XX347tWatEw2eF)~uen8b9ITGD%L0rCi zkXPdCNz1)d^7B9**|BvO8QXQ3C>8Y*vvvQGVb^cuxs(Kxp`yvOMOrW$ogA1y8UBo$ zTLKgFejB55yowRt(ZXm)-eL|u|Har&Rbs>PY}t(^D_JwIQg(1}AA3?%l&eq%PDEkc z`2{DqiBJD<8AdjIeeEQE_JUUaFK1C2I&l`Y>CUAs=6%##QW}fT%*2^G2^g7Bj=F13 zV*iFqcu3?1Hpcbilm0fG*H(pYFH%wHtp`R3nBk69ifEW1hOuYFaM=Q7^!2tx!NCQ% zcWwlZ+}(l_>yq%#$w*wh*$abIY;jCX0SA8!(XPhhG~8$_P0)#@V$-wfm*N&`{^1wR zlAeMC84g(P=8xAT!twoyNE{npi>=bDP^j4x^BP!OB&~+qN59hH0}tuf-cNMT1$BJn zM^smMLnh0hNiR026muS$VQtGf} z6aD*38=JGVQD(UY?&?s)CpprnGhYIW^rbP+R1wn;XyWtJM!3+0!-&cLIMFKu2a>BW zJFNvj4W7qfpK)WQwBld$1DI}Gf|}(i7$oP9N5(reSyciv?(9IhwdHtLbPuNfF2ciCP-bPy4Y(hiKhWR_LSMsCp`0yJ)D)U#w-{SJ8@8pKmgE;n=F}E{I zh?9PQi|v;|A&BBU#hs0c45C#xMuL-KU;B4`>}@1jdYyQN9~%6H&3uM1A!tAUEhT*%_Df_+^) zID9}BXzLH&kM(0b=be&p^`|jdtfU0|4T zhRaI!P&tQ#{54h(OAX;xtvb9LlY!>A2@v)1HE$WY%1a6E_OV9$Iw=hsvV+Vl}&hR2{J}k@if!2l) z$T_$X^ljte)wvB2+qVq1*3E$?I~!O!pbJOb6yVnaafpZz2I~rO_;0%gL@cz0KtWe{ z{>l?v4$g=DSrlaJO+a_24j4NcfOS6)KG@8GuL<6uHGe6HK3EA)yAohZ*$x=p*a-2S z7XSpG!fz=d!b<6oj66HiFB?RfF^0T8okph5-a*os{p5CA2O;b4kQS{G;^HpExUW}a zPV^Wt+r;?HHa8DuiRd~;aAOve@@^+HX5GY0SQ zO4O!MvBD}kam^sDYgfeBQyh9$`JwmM^>{KR2`g5n;8epTl-5{}&zgPldjN~XRtbkc zf25{~FX`htQCv8~9QDozV2EN4&eX5LD+4ESk5M=7ozR2D#jV)+qXu2qXJJdXH})y$ zV&Y9T`-idiFcL_ z(crcQYTl4TSM=pjBZ~vHX=IQlUzbF$8HQ;1ghT$we0*ZP3P+lfQ7X6q{guiwR%kEg zUM)ul{d}~$w;ql8v+&(71&mnulAhV#L&f@fXtBkA^vb9(3NTYJ*3b#bl~5dBl!`jG zIXG)m7H<2RfEQ=^;jR4XnDjytcLiRheTR0?3qR-5<-4S)1W<-|93nq@87%^2c@7ZMib8JPlY;nTX0aH0Y+8MP*~#* zNo)NmU^;kG|!Ph7u9-V(Bh4_-Zvd*b>yI;T`p$IWun;H zc)SrfZZ0n#+U=3W@3rsggZW?Rj}^+;s%VcUylAXCUWAfu2T^+947Pi8V}(E`dYK== z+83qhpB01qOJ^c^A&1=W+q9>@lI{rJLN$w4Q2S%bDAlBf>AN(r@T)3HZk0z34Qaeu zE{!YJDxv)mJzVj?96vfy-1%@JI#x&GEB$TwkgLU#@>6Kt*@d6pb>py8JD%}AjO$%0 zu*xV4=UE4#^cG8eMubtvt%rVf*+WIz3hA>AH8i~NB3*j@51sC>jyFwh@Wv?@oRS@c zrEDVZ*}WAV9`3@Xqt&=|dNm3_84e#!$B^y57`A6BrVdQN)ZW{4zGW}nA9|Cj?*2l@ zlfutWY|(4G4@ORk#{iiuG>*+dKTN}FT!YJ}J0q^t!S0J6=rXG&`sBg}x+%+q?(ZGu zzr0(;*PiUp7c^1h-(7!?n^jZJ6}?%>eIGF6dUs9aBoqhPj<6QCthS8JO-NybYJ%BE z@pIWv7FO(|_o{5$j40H3i z36uL;oe`6lWR}yPBeBqW|ConiH)LZ+C!QOqPk52HzJiyuiiWJgpEnvv|^ zlgai3by8?AN%AF!puOxE7`)Ad0K3J|C~ga0q8gCpB>|&d;^1^q4aB}#z@!lhgNZC$ z-f9RBR!YN0-M>8bQ^IgmKn;GTnZdsIJn%EJfkVMYaDJl({F74#`%mg{Tx2S&*fRs9 zJ3S%Fb|stOt%HcQ5F6f&H_BLD3-^9>s2ezv}|wB0C!vJg|W?=K+-8yMof}<&bT$2KLMg zgLLmO5Z)XQQ3Kmxi{w7wNE@6hx(#ce{(-RzYQ*-2Em@j3kE{z^PX5*;k=(~6WT*a7 z5?9zq4v9P@8bza|Gf0Fnex|}a5in)!Kh9+Iqn0qIb7C00mB+kVQ^}lv+RU&~H<{Rx zAIzIA3T$SjHT%^ih#h*lgKaN3#|9Y+a94*-x%XCUxh07qS{2vXq zeDk7FzW?%RbZpy3df)3Xz0moc&UrZ%b)=VLU0*)-r#IrkurAC=9>93B>*y%mgB#X1 z;RDSb=xQ5|LsB!aeuW-J^W-t8RR+(ADWl2;WBk%%k3-9X@K;V%r*AX<3JN#wsznp#T?r+ko@=_Sh4yjE^6` zqkg^Ds8#D#dL`}!{i`_)L!JxTT?)tSNon{!JqPW4vhaaS0)ABR#enrTcur9g zFDG81FT-}w56-T1<|1j@A=AZIUXsDjN@Vz+_XYXCwAwhYnOU6MpE=w>mO1?E z*Uyg5XkfROeV+Nk@X2K5S zGTr70Oxg25M*EW!ezXsmnr=h6yw~E5m75X-HC6faW$mSXFHX_wy~_hN20~d8P}`muteo zEG=*~Gypt09m1nsVb)Lx_$)|KAa(KS#szC#B@R)Bm|0IaR? z1e2cGz|~km+iXpE<0lTQCyenj;1^G^RSYiZsDs=KLkNpCf{JUJaNwFOj7CVn?hSHq z`?WS~GO+@|a}HqlW-<6p4~NvP@$ma@GIU%{2BVvaAh|RKrf%2(T{Rn_U~dd4yxa(R z8`ePC?4@87Iu`!%tZP3t^#3A}((L2)wIYBE_nks)!5 z=9BY}*AVHXt>k4?JxSl)NmRGpAXDp}lcPPqiJz$)W8$aJ==KukT-bc(Ut$=e5tzYr z?muZ{IN6&PuSU%M4kuUN`pi=5%)0{V;py*DH2NQJs6$?apnyu!CFQ z)6az#$nYH|Ir9@&Y~w4g>*u?klBZ9;ETlHiis`GPx9EVUA_}BAW9Y?XG}~8+RcBgp z!-LBxz3&FP74#$QXv12kDvWSX#r3QQdXGCOda@dxvz>(h1{Kh)Z+sV~0Im{UgvNU! zutjwX8cj>Whj$|}+sYf)5gy(@uZRU5@95vj?bPwsE_zsGEA2Nar$=M^X$mKW0!|D* zt`Eksz3I4!Ux?GjcH!EQa-3tn6LaJ8$9K_YEUxpw-@6U4wp0jx>c3O2bP_f^;Ly-G z0zV2Bpg7dwKJk-yVo3*{?>&Q)CLc!qt7T~LDIVX8JEFX?GPd9RkG@#EpRUTurd=7S zv|cxh?l+Ubn}%|@dfbbUuZE6al~5s27KaZ@;#i+7hFfZ)l$IIJ3q^Drn2%eWf^l(i zGWzt4_vw-Y`2JlR-tF%}TbDk}t~igi*P3x>cQq6;g4 z=;g9@YASV^){s~9P4YzSlGVk>oeZXa^1x%_>u{fQCVH(e!Ppbks54NHM||oqzGxSQ z-^{?BLjL%4)D$P(6h%9+C$#tS0F9dSfIj>02POBFu)7RUdV?PhoKC>a+q3Xu(fBT$ zn1);8!*NTb6FU5-jq`jz(B6ejbb04S8g^?ct&1Ju&tF`_FWVf%-*82f?-TwXmz%Yh zd;ctwN?V%D;K-JYz*V~%BvCbQksrP<)~V@!tN zQ>N3RhZ(Rs$Q&i5%zrjn%*KKZ%#pu~8TT`GOuzz5=HDw_rp;WAiOl>*dV61zvfLXa z(zk7{0?#v+S7dDZdpH~vOopVXXLNn6*OMy(@CrDgdpF`=*4%nks1}oo( zf?nth&~Gq@gM}8r|41Op*#QcS=Yr%eCpg|kV9p5xV2`VT#Rm;gY%_r+YY6O}Md7WG zEqLk~g1^27{1s4#*}{6z^K}};{$U_)p<7r9<7CLXeQH22J-95N9|5*2lhs_BwfT zYru#^*izyUbof$ zN@&7|?cLa7a2-GLuH&}7-I&vS2+LqQ_QZsuhZG`Dd@`<{s)X}yDBxdpO*DOKh7(sg zVZX$3eB2g`@qJ17sbt(10m0~b#}PX<3~=ER5j?AMo8r<&YO}wHHm4WUXLc>L;MX^* zs$zs+W4zE4lF{qQ4h-tugXc;H1DCiym^l5H!t9XW#ubDJ^xX$?NE%Ee7BL1=%&949ylVZeXq=|kgE z+FqJTmnP;@yYuCAMp(FGQUMd+~)y z14_*~h^J@`4#e%i9_<+H-8&nHICZSi{y{HKeL&wd+@XPP!&HB#81Bz9#QwfH_-b(k zYSpIU(n0S+dd}UAn$D4>dHEOk0iN0XAIp(% z)+fT>6xqog2-wOgns{&WR--^b`_7BXyh8gpr0IMYuSGXA3+z56d8*)KD zFB_Duroq2CiNI*AgX#&(fm`YYqEB34hAAHgVy3~(pDJ*rUKErK1i<^SI9&1329M=d zU@t+Se%w-WSM_0$uND-A>cS{0M=JUm=ObCn2 z)5V^Q<*fD0SvHqZOy9$}Xf-qMWo|HQu76|V!{ymk^;YcEfdH0q-Ok=xbe84o{9>0( zG2)&~4Cdq}RdOfW1~~(1HNK*c7yqSI8UJI^ef~sm4QgTQPo=FZC^!0u8r@Vwm(BUuom+`tybfS)c_ZqC9Y9i1i4iZh;qK#WG3^qED$#P- z5%-(^og;-kGi`9og%#NSUk=W*uEMDckKpS5Q}{UYByMXuh<6v3;@Qawc+cD!1r^jV z(BlOi#Dg@nE{|UQo=aDqtD@bO&9pE5D;1Fv!bxs2Xlbg9tey%6KAD8C1;%~#MGU{p zmBZFUy7;5W7H@~oLC=7tXi~lbHPW(BUtLxVLq^L-}JFI_4RDWw{2|1-Z=J> zMgUta|Vy-?6T(JeHae+zqec_Hv7*z6O!R>4^ zJhsgQx%FFN_-7F;|5py2O${79z7OD3C7k(C1mSU+u>Z|Q5M8kh)J;5~ThtM@@hO<+ z%!J8jykMI`B4~>gLS9@I?2O(E<*$lCwJsHw>|712j;w&e_;_gS&j-=rJy83-4xG0( zf~#38w2s_>X|>jXE)~K!PHfFK!%UOV|w`C z85NxUQWZV7PsZL!)A8-cxtJUkjIE2~aBFT7&aQ~V12b0On(o=C<*tuUOhvHm(j7|g zAE7xj%IU!gRrCaO(L84%JblFyeHEAE&&X^PajC!vyMt(#eGFay9m6XPjVSD0i5ouT zp#7I1d_QE030o#&exd+sN2%epC63tc6N{0ug}A1$76l$2MeWXJT-I|KyXRJ6z;HH> zsR!Y&Hx`&ZNd&u9FVHC`%cx3d7VU8?q4HhLG!U-Q1BEYW_lIxPBv%Z3f5@Y2nKC{Z zzkkb>M5b62U&=_};q%1t;e!Uc`z>ENZ8f+%?C z1=Z_%L{s`kXz3hrJSt^`AJgVyi0xWTnvjm$MRL(OE(-<6;_<7#@3`Y^uvSqDOQsJ{ z$IxP$t>{jLQswF3@MXSt!&ZL3?QDLGf+WACY8DG2vu)PUIX_p0e!P zc2*#6a8+=ipmHr^hzB=)bspUOqcFFfL;@=N3?Zvy8JkeZ+ z-yg$lH}_$DUfVIg8kWpN)Mci{$}nTSKgj5fhvb(|FWKaMf~@?vhlGmf5T{og$upA` zL}bK+IM=h}g@-D^V7mVrkg8q{af*IWI@Jxjot$Bc(0n-cJqWt|5+E%# z7oMjVLzTrY7;fDOvH>Nau3regwmU#Ms}Me4DS~{_LI{k@gW&RH7uSU9)@jgeX$Ob?dO_dw)o`PD z6L8DZVOI23uoNkVx30V4^4>~FPTmV`rB!h0ZaFxYmw;6NHn@5w1KxLT20`ISxb|Tg z1po1br6~(Q?Wqq0EQ^JR*9EY&zXrxe8^PAD9^wSc;Lz7JSZccwwp`i_H~sVB$?-~f zoKg?sX$Rq=<}t`_=mzfAGx(P~fy~{ZKujJQk$Z8o$-K>L$ntr4q|vpK{QP}{ObYHJ z-+sLzm+K^$q^H_Uf|4ckpYbflcFc#ld^MhFFD+oc4eevJxOQf9^&lhVGJzHNqQSP` zn860m-M|Ju+{1Q9U1Np3#JJDDc$^Ct&mA5-#D%?h&sm-^;Qwk}#b2bgkMF;2m`?@` zsJdhr9i(;CD`=QPr7lLi^2D1yS$M^>7Kh%qqbYk8>&$QBlZ?yg=ywXMd@Jw|F9}&$ zH*EPj4KI{x;9QAuSM}*&@NF}+j-G{HUw!asY$P&bTTr@XGcMk}77d>-!dVW}QRSop ze)&2|J!ls_`Js*ma+S2O;W(8Zcul7#Y2jRt`8dxZ8JEu}!^5Tx=vm&3?E>RA@i>X! z3J>A;f^uB8KMgH37NYD`EtH%qh@Y!OagmJ)W*=ID3nbI=Vew9sY_G@ATSt(ucLZfV z*P>`a;kW@~QEt!?LtWKyiNq^9FR776Xy(zD)*QN}s+N8_-A~Kbu z<;b41#n^9?uzKJdl`Vco6;oc&X4^mX@>^wm_LQKW(Ng@od^1W<%f_7dImmNPLtE1| zxT3@v$I^7sDDVqy+jfk4cO}wagH}{z{tv#N4Oe#0j z@5sF!Rp+K{_|1a$E%v0`arV#ZQkH)sg|%87!b(}qXPbI$+5gP7**XVFHs|$s=Emm- zjIUe=6Vtt)Q4}j-nCcA1?(Z7r*Xae!J`I+Moo2#(JEF=Q_7Y`QIKCmGI@d|c$_{cZ z<`7xhR!ZhfOd<1m%Za7hJaRsd5Zjkpr10Et(6i|Rd86I1wlNK^j737vyH((OG7PXi z9_-I&!1K0j0LN4~_C6HyZqI|3j}*GX?O=uWLRe)S0AAOZ!K=Og;8*JfGv|81tY%NB z&kulMhxM@ja2D)q-v#eI4#H@6GdyTK35}-5AcQ>tAAR;h)t_>hGTtS<_B&y+ND(~E z$br<*c*q-B3ZF{sA+OpD4k=ECLSX}lQM83XX%|q5SOnj-7C_G58E~w?5|k6o;DbE_ zBhGH{T4yEXPuUFbY;)n*j8fQjc`uYctOw5IAPj3C0Hd?}U{gvJgnX<3yUudh54%Av zs}%0uD*%_$OjxTQ4;9D4;C;s`sJ^-$E-lW4|4hr^p?)3A*>n(uhH62$s|>#R<-zx# zS#ZI!02&VLhC8QfAV+yWED>u21*Q$&n%{)Wu^%DDNsI{ls*~N4(@D01H@R!EnFKp- zCmMgNiCt_Pp@NS{&~+hZV74lg``eg_a$p$m*7?kJwYAJY@f_y)=?dl%Il=4`yv{hz z{Kj-Vm1oZh*sxI%LG0n??d;~)?d-=jKiISS2Hg24f!tx!-Q38~ZBEosf!}B3%Fn6H z=kGapnSU=ujt)k-Qpq(1)RA1K)&HchdO6}5+ZfDO-ihM>j-#!29~M^K!0zS&^iMmF z*@+Dpv}r3gFI|o=4H+Er)YAIq=Pm8T_f<24rhE!X0%M+Nv|RvrF0 z+l*HHvv?(}1CxDQQEx&cO3yFFoZYdwY!Twgf3o=W%pclUAcxN@S!|dbjsn?v_(**Z zvatuyarz-N*Qv*Me!H;tYdW6W?}yFr%+Pe3Fs`$^K)*Yd(MI(Q8s}9=%MP8Q^PfDY zYZL`gCasfhO1@1?)_tYC6XJN_p*&W8Rlx0|(x^^EaKT;yY!VPf?Q&&Q&Ns&elbo@y zF91EuqA~VICR*}KvF=hm=9ISKmu(kOV(kt5>3#$Es`O&1{1KeDA|GcS_re)lG|=MY z7@cJOhgz%1px#$?)Y8+zS%u@>&)3JfO;+eHD-d%^nS%C)ie}Gksd>QFm9}(=(Tvv zDjf?k7oT0o!k_;o;L8<$IGAmV6_2E`{pvW3#?4vL>`k?_RH%Z>O}s@=O>SjwIcH-P#^t@S;f$ZkaO*ydut&D_u{|{h*ucO7R^(SaOXCCCBugi@*Vde! z@2AST{u5<454~qL#@}ERHlAb*HLICd8QU3^p=9R5$>mIwjT3Ww#ENmZ(PNs%WEpF> zF*4I~khoX(l8m>f$kWaH$>f>>vhr&rQJ&;V3dF6**q9pm_EvygzH|jfm(_s5iyWA& zlnRpW=@3(r3mdAo!-Um^5P5Ygw9ih4vloM5vxNs#Cb+|w;{jlA9Rc?rMndwVRd6X{ zF)Zu1Pn)N z0Xp`;!n~bu+pY+HT93c0F%`ykt%dD>7Qv!14ni$W!Eb^YsCFXoJ-p$TK?n?chrpLm zA5iUcfzPvN!REuxAlc{x7Pr>J;mjyiuD1oatvY@+nGpM)6z@3u`a4skVF0R=DOXVsd@63K6 zc?Te?q!#S$s=z6}0v?xCK-b|tpnk0i-Y(n^J6<${W^g}@#k~UGO#>hRI(eT|LiRszB=#a#Nk;c~QoBTsarvRkx*nSX()xbvD(FOpz=I*r(A!V6hDg$%aSy@^c=e9m6|sl*K~o5O7p&gH~5c5ubM zLVR0sTfX$Y1b%ekF@D{X-~3OztZDM&c$#2$ltwyyr%MKm@q6b|bZyAPB=G}ix~CIO zYp>ync{lNO(j}CRZNZnHcA;%}Jg$1?g6~^Ru#BgP(N{E4QPL0#wQX@!(gnu~0`Oh^ zdR(Qn1ubSL;xXSfXcpp*{$kb`Z7PqcdZYAuWDiyCZlo43>M8xNld`{lQ1{n{7{U5r zV^b!czFUdgCLYKAWgW=&cjJ+q^C&rb3e(>1$2%?g=u*7`uSiWp&G*7seO&-sJGF3G zu`5>XOTcK{fvXo+VO`yRjFsJw8X|kpGO&_t{Fa! z_hwY!p!qt?2sK64N*I+-{h_~h%HrwsdYIp7f`JhxXz6BxXR0jm=r=nwQuD*T9toIz zF&|as_M%bcVN4r1g@--cQ2NU;bWy9pFO#<7fX8Zlq0h&r^Q!3NE{LJC-q6!2L-g{u z-!zRVqr3+}iO>GX#cf8Ph1vN2e}>C5uE#bCz$xvaQZ$v3&=AtOpXdMFrxa3VMny*@$r9Ph{0gT`fYW?NqELbPGa|%Xu;?ehJ~a?~%Q7N=Dw~w}BoO|8 zJ|yYCZ6vU05qZ`xNAyMif|5=PI5ph{rI@Qw8081k3_@W0$wZiGdK)xX-2%n;F>v{y z543;W3$4F4!EWhY&~?-W-i`W!O>+PUaGtO%@i2rw-3H9^31+l7falWlu%*u%zJ0z7 zMUv6*^Xg3qn41rSGs@v}WhKPFE(h5&MUcNB6UM%$!i$tRxUCxjUqr9K5A+2`VQ08K zXE)5duo7Cj^kDl=Z8#jsL2-i>yx4dI>c&pM-GO}|Ed{I@Tzcq4jrDl(W;@2MYQuchDjey#jaFNIaQ%oeF8nkFVb3HSYoCHmy&8C- zcQNi+sE_svi}2$0#i%EPsQ+sdddQwcp-cYwHYgU`o9?1;K@qA{l%hM{!_*Jy7(k55nXT8I2?dZ`hFN? z>57NWPTZ;~1iM0{QAPAQoxCNEnpoS?^ZKfEd(VHI&*y0F+wrZOH&x;)L|*g0mfhfG zRy*?+1sm~#tEck<`$k!;ZDm(-dF+;;DE9euZ}wu&A+~U<1*_5n?9_kitn@J{_REUD zOsaPmb7)Bg<4JEZiEFPhg)zR&kls-yxo<6#q^8ff+stIQ0{Nx-8ypPUK-C}zvSvoY_>;?U#4-}*j@*GcUrXTm zt5Wbu%YZXcp>ROxBuojghLb&ep?ilHT$c%lm8vmt_G=iN`R)t97db(T$4O{Rxd2}$ zxTh~34&QFX!{d!N!0Pv12vg35a`PgH=q~}^;!@b=S_&qa_uyDV9;8a%g@qnTU>Otv z?M(r2IK>T2o;rZUtTo{EcqtfUEQDh+2n!vpAnofx*yVl%D(&px4*w>2C%hiKUu^~P zxML96?FF%=!636B4kmlwfco3%&|{Sgb!NqoxUB+ab=1N0JsqG{^&i;kzl7_>P0-Ev z0B#PYgGpXI)b9=jhlBoL^~wW2$y@~Hk2lb1QP3Tn2gh?7;LGb*@Kf#;#O6GOl>3EH z=6DnA*_)7@Rs^+cU9x%}hd0 zw35rmMoH-=NhUZ!g|RrI$F#VtWuARI!F*^8U?dIWnfbxF%pT_^rq}c*BX?bn-LGiC z`dqbV56FhGfdLQL9p5f7X=ywm5)unEZ%yl@X(F z{w$*@s+VYvUm4vwB!GSw7h{0Z0sL_z7%#6#$ArX(xK6VfH?C;K4~jMTPcRP!-e1G% z^Bi$+&T{O3H5bV>73_^s$DLQSvEmswv6~xkLE&E9uX_ehs9i+K2@mVoeh|(0*JJu8 zUF82cWr7=nbdA{)s*sUGJ=Jn)rE()xS|o__#d?_db}x3F2tvnMH!yFg7~d#9LF0;g zJXTSQYt~g@>!mFG8y1Pj;~Y`_HDLBBQKa*JQei(Ce0iN>>Z~Kkjr-vh>1*g|6^E+F zWAT|<7zWSx#zN~oxI~-55JegE{P!Pyzw9RMoA4@0VNYr^BbFxFRMQOWpY%bzB&Kvu z!`$`0v`;Xeu6|WXX+%HW{#p=cl}^F$gVLxqD2ks~{iQQU2Iz_BpXghU$!M&gf&$fm zH=b-nK9R$C{EY|71qI`etYl<2=i|QSD!jM56*IqgVAk9Q)Cn!b{a)c{pkj;l|II>u zJyGNwWU%AN1W%<{JRO4g@iL1u4g$`|w49Vows@~+udo# zx|Hd$d)6qk*T0Ff-+jL`_PlmxJhq6@*^$h2o(X0?N4PTpS3s!0_7QeWT&OWKW0@9n z1eBOv&qNs&!y(cr@RaOx$s@@vDP(MN1R1JuCuj6F60hlV$oLt4@=x*wNUpjM2Mbdn zIxZR>y-0v)*=&gUQ2`2fssI+>1JA9AaLd^X(&YC;#a46ryibtu7^>nTIh%lD74%YKsfM2$Ou>4#k$d4w2W$j(Cax8$KqvgOT)IiJDW)Lp#1oJyD zU{=I45Srf%NiC1T0*XPVCLMNKr9eYR3=}V$VDq*>2-_D3dp}3Qh)E92S8RrJKl(sy z$v4P8-3QlxG{c*oV(?MUf(1)UVAhE?nE(6}Tyy*fmER^4ydXttKdO`bIXp7$nic7A zJw-0g^C#+$lSo}z1(_oDo(w$TX9Q4|2~?lUtPnF{Tu(bN`p0}2zdzR)C!;%zB>IFXRic%LsE;iE#AUbiusT`CZ7jjLuj_G#WE+0e zYD5LUGF0eH!Ncml_&UrA|Fr61bIA<6v|$E%B+tXe(gcN;nB$)I9jMP9N8Q^lcw?t4 zUjB9x=jGX;nJz^e8&$kE(I=@LoizK-eVU-0Meu9fPi zYqDNb)4m~kH(neKt>)soUB;NwvmJkyoWZw8{E#+AO?cE@yrWi*QP~X`)!u~hqsdWhQd%CYTTHd;K2!~4QMm>|3ZC2#BF%J=ek?=v5&za5~; z1E1*rqe3_-b2g@`n_-{GQG7P)g?q0BU~z*VsxWSN!PXA1dhl@WQaOC`xtj`Xx=weh z9H2&hbLfxnAGwX2Q@C4q9Jr9{bGR>tL%e%eb9f=)zPu{F4LlLS**uln$-K-D-E6pQ zIlI8(I;+M6vBJaW*rE^HS=?mI%1mCs{*s!;PVp0Db@mQ0Dv#=z?73OYsckXL^6&o4 z)QgUcx6)?j`vG9yESb$nsmU?7lqWN{2Hue82g=F&kreWospd_{!!jI*^yp4Hqc~>b=l`7zqtAf7FV)(f}1wsNYLuQ~m1nRnj(sDo8 z9vckx0^x9qKMdr51cRJIF!0BR!c@6vSRQ)=8X}7!(7Fk9+}}h0@oykHHUj)(U!ZmT zJ=E8|1c^`W!1cGnyTvVVuCpGzK3Bk3y&O;;OaS%3Ah4Tq9*n;3g5C{VVEtMf5RW+q z0nHxZVC4(1%{?IF`BCVr+W`ZIcS2#{2~e8&7buB<4Nj?0B$fyMHI?9+(*#*LFJbSO z9$5M54Vaa71GD)BjJdVJOT$Jey;=+XagSl^l5*JUQ~*g2@4za{B(QLbfhA+{pieWP zEwl=X>1)`RJ`9pmzJoe{FDP5KfbHIgFem&G6#i=iDC~o=d%xh@@=4@fnFv|&b~;I} z)FnAjR}s;X-Gq0^jciU1C)+pW5Vz+oq;G7P46PGk3Wk*#0~^A8v)RrV6}mB^*MpgR zYpyf7i%OW7d9Rr9=aX4yvzcuBf2QoTi>~bI_7pb3uY)y+lHhp;@puagTzO$b={(=k zL0%?1ldJ!-gX_8%%}M-y#?^kEPM2=pOrwm$=nTsSYF8qOQgsvu$4}!m^J}O-nvHv3 zSD|)l3mS~HVDaK7SUZq~2PQmaNyriG^F@5*G8=ndsi0=W9Q?6+3H}~gjtbRQ7-o17 zGrP~>;=isKA?}3xBle-#eRKRLpoPQpCGqo;e#)C#Lo3IMsDfG<)jH8dhg_sEw3kJt zRmafVKLr0yo#?0PGTiv34o#Dq@k3@KzTH!WQzQ#;$(wi_t8vG-5fk00E{#3ghiRsa z5c1{eU|ypQHnh0m(3?Q4`WcM#_FhHJ!-bw^y9xDjJBv{84j2=+xcQ~m{s^zdd6 zdaC0B&De8|?)X+oQwE2r{t|JtJRpzD7AWGX&nC2M^KrWQa2$1CSxw>e7b@>9jF#$C zu)&Q>EZdJ)i_UMAMR^)!}Xq5(I+t(eFY0J zx8(`)e{V&<86BuUw+@e8&%wshtH|fK1AQ_VqSv|EcvN5!W`0|a?O)d8;F)!(;<^$u zbeEw){0b~~w#2C}Co$olKW5L1#~ZV<@V|f6MNsWU0Xjth_YHT8l-4iV9T4RHLf*0_*i61(D4?yePKDa#Q6b`)J zfOfCvBZ(8hcU2GR-y=cvub~;G;ZoG%a}C#7ahbDKH|IWy$Z(Hh+j$?1lXx+eXLw5m z40%W1Pv?CX`OT^cwzI1z6|gZRmYt%1iQTPrf;G3?!aB9Gtl{<9?1w2b>=D69?8)an zOszpBbMNs@Mo%-0IrQ0+asRlFDLTE9`F=;6`4Xwj%-54*zI*;5%j()m%*rfs*d>(g z3v(rR?Y0y5qlAopk|WcneS?ZK?T|3%DWvH&0pE@ea9a2R@>M&*@n|hn3Kzih*NKp= z915pAufl!R2nh9xg?9#VptkWCD)?gHl%^lp zC!dBr@9Y6j90q2)2lz`~g~dN3pz2I0^nbVnW%{mgE#3+4rFnv{N-$)oCqvAveAvR& zz)0|a&?P+xlas!K{^B3-v2_UIKYxTDUGE_C;Co1K{s>;e17I)x5iV(WfyVO&aMdV- zkj^al7jzqVFYZFPZ6WCVc>*dYUck(*kC3(JGjI|85LfjE!X9=(;;uKa@pM0E4GqKl zy`xb0Q-Dv~Y~ItpD#xJX=j| z-lR?Yd7`W0d3|P`yi=O8ob(q{Zex%?w=AWC)7~je`JQl8$HS9;{!u_z?)pQY1TH{B zU0b{{GZ0ILZ=#%QIeMBlqN8^kdN(}9rFTm3%vd5i^n2jt-|O*nv=&OpsG@D0IzHd4 ziwVCBarwE8$mQHw(SDmta3s9oyTxc(F!{P3BHU_#A)n5diP`}^?vq%w$3i4 z-@}{fy$h32WA{9Ko4OSz#rtCRz9bwtQ;6A*pWs~aW{iH^g0j<|;{1IN&_OI6?RJOa z&S?j6tX2m#NBGgp|10&%kil;W93FeK4__pDpmmTxN@NA##bh5O{O3^S%T`=GVt~b0 zr{b)r4^*=|i-sonQ@YTRN`CaFhfdw1KVqNJMJ~w4@DLM;X7}&lh-f*UIn{uR;@gqGu?YhM%aGqT3HO(}VSvaw96-SJi9B5M zVl|GXSmB#yD^xRCk5}|pVshhhlrC70)rq1?_I%(i7FU>8C}G)M=M4eN_CDbMMaN8myhTl`)IB zo$vX$inR}TmoA0yqMzFF+|%`Vve%_}wXUC8ex*8gTWLBg`y-t7%l2edFC1Xk`>kbn z*)C!KdZ@BLlqJ}$ZoinvRh`VVt3`~&l?0|+IEWdnabm(ktQoD{3{sU40dt5V&`tFCQCE}JC^?aIV6l8?wFcY_q~IsD!50j>o9gfAz?A)#vo z@+7)IEA2jbjU+&Se<=7wM?+M_ZFn%J5SCgN!iC;DV67AfxzEDDJ@gvD!ep3nD+7do z7sI~P#}IhG4SIj~LWS}lm|r1CQu;;6Mm=FN@L>|ES~vn$Up_+O%~!B)X&WSa*TKJe zm9Rdf01~`!f+h`z)q@_etl$W|=s5y9Q$69WXDHk;u^Fz8!pHCivp{19tR`fu86X#8~`$H9Y{)*f@ohJv=wGU->f`Pi7f+vpJv#+=_9zl`VG$`1V}{VWHP^$ zpY&G!g^J@NVDR(@*mzGO+NY#Rj*14^SMCt(NsZSQ3^ zQ>K_zHW_BSnr85PdN%X61YYGCI6vYIs0ngs=Pl(uBr<jUfT4yfFk!wEp6rgm2XPtr)TaU!1sbrDX~iM2W}Noy z38t$R;Wu6~p6;0FoS_Z)@{$sYANWZhg#4p>kE-G0E;GEyd@8ayxN#~T zag)Jg+CntGNShXlpP;5cl4;kQ2D+u=2c45Ig8F?s`I5 zjdxW2ktk06GY4BVj4*>|gBf1uuxf4)3LHtqdy#o~%dZNVX)PE@S}`Q)35M8b;XBz- z++%zK%``Tm-IX;sxZV;&Eq38bF*|HvtufAe4c;zTfsf9bqsHCs*c5jj4=7#5$I2;K z=vshZ93P=sNFA24wfJ++1B{N!z$I%U(fo!R&e^#Iea-Z+U3e-EJN}^_&py(Mv9I)o z;uJKwxd^rUt+D8WGnxqb;nb~x_|VB0BUR3#?d~n;{zezihKrzEX+0I|4Wo@RTj-{W z>9iN0ajyrWIB8KEZq!tj3s&sqz2BL^Th#5%bLm*myPh(KC)6p#tKRyS{X1B}UZyu# zy8~C*jrGNdbJE@^J%k?tF7$>6G8L}7&s5m^~Z zw4BljF{ma2r{0i>VK6stOlQ_ME@hnMtQduBXBd8w0LIE8fq6cDpK*44$GEGCu}Yzu ztkJvmEUouqEso!1k6(YyTI)~cxlCHlo9gYwTRfc0I~DYeM}#%F{&#lV!Tqt^z1z<@ zU&HCt{h;e0`ysW1pj>sLF?vpOl^FKxslB{lGcVo@9Qv4u?SPP z#$x(!XUyGTikmt#aL#sR4A+~DL7w`UtG5cJe{DnmoI_}J^Bm63bH(dn=doenAg=VW zz&5cZXbJLoeB~$&oz+Pfgg&NKa!+W1%WJy7M-0;o7h_Vv9(?vQ0FUOUpmcOG&Tpwk zO{N(ocDLXyuX=1;`~cg&relS61e%VX!h${qM;HlIEBQ`8&Jx8pIyz|5wFx!*j^V)E z3%H@h1z&GEfdcj0(JX8k{%N0u@1{-0PRk~`?r#!3?&wZK%nwpASr2-nIF(*ZYopHZ z#;M&~Nwk)bMW44)xX4!w8}Gj1^3`Rj;*s^#dfrt!+37wt+46zDPZYo(7bNg=h&cL6 zOu|Q}dT8eThZKs6Xl!sbl{zv+e@&Ia-C0_A-+U$Z`|rk8C*AQogyGHNG<yYtpKnb5}Y~6Sd^~G;s=F`g<6>$uC0V{F9 zY7X*6h@v@uq075^>B|T{tXZXsDPbn4#eWbteey(sq5wQ=9)OFcdt$uP0sJv{1y*jF zfweNMjymjQ6x*73i zcq#ELXYlc=<~?UEb``U~jwi4S4+OAr{b$&`jIHeOdCJ9qBBh!bwiT}cK;?N&W+QiS0ccrVy zwa*Jk#$`FO?h`+mA@d!Y+eTrFw=k)HCQagI%8u+uXMZk6W1 z(by`mz19q`+M1wjcQwd3l*4f1eRv!G5Y`=Ng`M5KAei|Z*4YV??Keb;My(j(e;^00a7-3x{)&T}`vWI>&keMr zFT%H1eqc?mf#2kKAOlhGecctfbl$^Tx$;^WQm?p+mp zoBsf8?H+^p$bS&Nik~bORUmrfn&eZWHtG2@hYUWICks!DkS{1i&QVz+%F`ryTRGx& zcMbUxYeORDo+QgR1dwswb;5?+CyV{sNm}Ap^0i2k(OEK|Dc-t@8EMzQk8WG`lS&<(ix>B9MftExxPD0rHm<&p zWnNG5flxbUPi@9$p%wTgAPrl$`Qyo`ZFs3kb$g z<%qhkFQDtu3n)JABwpaQWAS!F6#Ar&@%loz{p~w?!uKgXTlR!H=yp69UYb!piJdA4`PvC5kgZOLnR{Ynz3{6$%ViAhs-Kqc4*1vbD@2yL; zCVoFXWPO-Ms9&W@W+k+FW>awoY%S=RL=$jk_quyGr2X1%g<%eSn@?T1|BiXVcN3T&i@lk*eZ z82n~64xc-S0*1aAkQ9T$Zdv%`S|!E_Hejx2Bii;q#)?C^ct0`@rA-3xe1jXd+B;+X zG-ni8aTc{6AHpwRx8Vlc)mV+oalv78loYhZS$P++@JlEL45gv?%M#rDx(0t|G+}pd z1GalSLh>^Q@BWBI#~a?LWNC{M?+K<2D4@d~K2$dDrK+C?si~4Uie~HJXw(+WF>peY zkW2WyFc5bYUBbEg&bT0Z8}94W#}h$Pm>1DWTgT$)klh|?_FxvBkA2)(gPYtbzhfLd zqs^V`_`@@sSH?5?6U;lqw}`CxNxJ37sQhqbguYrbogzz_+eXtE5tDJ! z(%wxf1s;)#4XFf%y@}B#YofoyfDCV$MGj@ilL2)pViF@k-qlPYor$t!s9_3`+8{{m zYx==8s}@`{^Px#B8w~A=VCI5Km?TsU4_a&B(8^kve5?*S1{(lPJHg3#f)fYEVb6Ri zqFAU*MhE5)y%J4w(sd4Ld!tI;oSIH{UY<%~7t0b6dl}-JDn+&)7a>b0+G=&m2Ur)= z0OvXi!L{x>EKU!D_TeBn@HrS-`{Uqf;w|XgaTjcpuY+22IEV=bLH+nuxV1JBHpJ$E zM@}^?lb>Kt$sl0NKe(YPLc9m3kUwSeWX4Yg^3_F=d`q8BdUWK-yYwmKRI3;npD#qP za}seZ9D`+}Log@!Er^dkgV?4HsLFT?ZlQdnZ?znG?=zR&%+Mnvh6~B^PqWFe$TV{7 z_!Q#tTb@krn@c>K8Dd#DaRY+4kZl+ClV~|FB9s$Fjyq(NKMQII&*2@}-#eN4pfZD* zN_kADyEU`-{u$=<-OJ3~9k-dQOe3T9eT+FhX*wH!oUp==_OqJB5v-)gBX+7XAI~vp z9`KuRD`tu-lP)w#fGP>x)htn|U z-Ae4#y@2W-(YQ<_58o`T#*)}p6g6tYX0sYJdytDO`y)^)^EiG@qKLQDP^L~1TlME+ zxH1n{J=lQV343ty&68*z=7I_$7xB&2vp9av9#0OLqg1{&9^ER9d`jQx-Ibm6jA0$^ zF>0ad>0f9N-elfPmVOxcb0$YhVK$M{8JjkH;7}T8y|-L z9->F4JmhjM-g3>!3UuzIt<-*^BmMSP(!uouRBB{0t{4=@S{D%vav7nimd$ki%53`R zZz`>+&8N;+UeNX1CS#bj3WE7kq*p9(v%@Jo=o5tXeaVac*ZQI*Xl0rKKA%>WLPP=Sw2bW|-#9 zc}p(~k5ZFD1w3VMh$EHz(00@V!=nN)UMUb~w|QaarK4D~YBd(UnuCpT;}pBgXy|Ky z>KSKBhv*c#cKj*#UM-BfsIrBV$XDX-?S0Q1q8U7wcpsiX&PLug%Xz&0{$jknE`6-9 zUlm*RAGa|+<7FtN|WsV zrb*WMX%IL)g9!eXA*>8P0j&=Z5ZVGkOY33HPyd=7C0M_DmG zJ1~zw3C`#w!+=~Sl>VxO-xbfnW6D<;X%i$5qhv|iT~*>Pu0cB7HA&4m4HD3+PU;V; zkb7Sg$?rTx625Yx>jD+YrU7~4GIh>)%pc~PN3IK!D_m(6T)x<#A#Ol64RD-%+fvyL25*hO--Um%yGLr8vD8u4l@ zBO@!Hk;2Kp$=M%r%raX&=E?Ro4Bx2(%$zyC%-$18%s|*9CfD>cQ>ih96&2QHeQ$1K zH#i2d=TeJU8P_jt{Q*_pYD){=^cg|C@w|!KwvUg~UZBG{*B;^&mnL)860f z>}G1QC4@Q))KKAM5jX*RXMEIh5&Q2tqqXrwTl#OA=nR6- z-z#D2I)41?`i4$@(?s{TG|{hj-qV6?QQXY0gA0@c;Ij>Uh&96^~`eY9;n8T zkLoaUYc+b9m80#!Y;1N&K<=I&zIwYGjaMx}w~8s~WhH>?7e%%+xeYGEGsLeg9&>lwR`%X~OY)J(p_t4a;Aj;?z)3&F*w8c#b zBgCY!_^%X7@d;wZ;m=gY>jiBPtmC+%XB>4Gq!G~!O)c=Cfdv`VL-+;#@!~K2o+FAS z0b&?&iw{#nUeO%~3aN-}BDHEtrUqlB^ti_dI;t;<2TIgXWt`w>vlS}ZT)^bfQ1lAA zg(^Dt(ez?9nsfEIX5|yClfI9t)fpIXdL3oNWAJ7{7-mESVRVfrw#yttsR@@YS!05G zPjPr=WH}zG+m5@By5T302wb6e7t0&VahqZT(w;WlHmMb}Z&hQ=kwO&jO+wut{y4An z0A9#khEJx+tfLFh8sA6@e=qEqfJ z{8+%lwm^Bzc6~>eeN3YfIj5=b=t9bG|CbYND&PcOdvcR%kZWoY=awWi^K1hWd2z>` zc)khCd579(@TLe&=Cy99TRK^q-8knT zQhq{SO_d0*(ZTcDJ$hPf_bQWcnJXB^D296Pzu&3ndo(xj`EsRV{bRyFO zHjrI&3DI7*gs9}ORKqXGPZuDYbj6APa(UtxJ&PFdEh3&l9I+QPCNUmH zq~+4YZVxRa7aiu3&iymUld^j+}QADnpHIhDVh#d2fWPYB}WMru^bL#63rk!(RR#ZhYM_Y=SPdj@U zf!)Gv9W#f0*0h!lo$1YT;u&l}^c!|r`c&RLT@zlmq$ls=a2C&058sWtcZ za2Qu|yq?=oEI~i4T1F3Mc+obY0{Z*+Px|q@27c(YLeu5G$Ob0k&7ym_JH8$#pKV7K zhgK~6IniJq8OR@g6&DWfnedt=n7&gH59cai+PC?5(#9As7i`56yTh1t*aS$IQjo*Cep&geWdu zs)Q~N7Gr723jF?WHEuhy0{_G=MRH9Yn_WavVCH+edi)+0>5iaT#*Q@Q??zf`Y(b;> zCMx}E60KEjqB8V1Jv?6m$L~sGV~ZFrG8v;W%U@8-fJgKdc5_RgyyPB#ALa(TXV93T zT~y;{G@Ui?2~C(jL|;@0BKuPe#i=0P(Ho%3u9bBE-X!Xvd5vB@dy^{I)=-s}FErI$ zVq$JHas6Ws2gY{dpGjWmFfSTKV~>}|Ml%Mw&>kU=BSuTjd)?3HXfQGjC$|tsA^O=J+a!F?tH6E6-|4%m15U9 z35CPl{9!FlE#@CD>hS~KvV<^Rm(qUT?_-4bI%*nki|HS>>1I27;aomz`67m$8Gngg zr*o2hb8#~}rVFg7w<^0jMwGSv?<-TL)ynM2&tW3?A{cvlcSc#mp3(ho&WQACGaJe! zm~DJ$LEYWt{ru(R&XWm-JYPoC4sRg)?W~BC*E-TFXh7n_<%wPY zS2!K>4785D2G>QuLGGj|aY~aQJs*U~2G=pLd^rev)_;O0V!z>yy)fawBTar!QXo;g zW)M?z4N@klLoz+|iQ06QJj>+B%q|{r>jtvGX%UIOGoPd$nMoX+6v-7SS@PkQ7#R}e zCwz&Yz(=wLZXPdy_ghln+P&*=-aHpff}a3A-wNhw%^=xR1v=KHaA0*QEN!WV_|>oA z@8AfGa-w91%QUh$b|$&Qn@_%p>X5X9x@6N7J(7P)pB$gfkzGHR6R#iUM8?UStl42q z>dN)WyeAr@9u!H_1!-a$E=F!l79t*}1c>VzA)+fNOJt1Zl8Qb`uIX$fJ)=8_O@b{k zTD+C8i5rOawRJ?UeH*!^eU@x`ewlQqB$LIG`DFdJ8uH@xd!jO3n3)}_#+2(ZOmE;O zrY+|bqj=#e)4^pj2?1@4ck(zRDyGcpXc)8gtDIRk-xT&0*THUA7U%I-81Tk6pXPOz zrttg|U-7z<!O1Yr8 zV-)Uun}dSf6Z{z6igGpW_$Id=%U>1Y;l^0})o>oo9~K zL=(gPn0(|c{`hziH67e=^MiA!tK)zd?ySW)b3Jt0A%`(}f2dRWYkF}{JH2TBl8#*X zL2E*$Vp0%bzvv!ZhnH}ejl(TxGjP1@-b7bb;N{Dec;BcD>sIGuWNI2#t3_d-o-ZDH zx(}1Z3=uBRz!i(7u=kb>c8kr%m&yj{U}1zy$|$C<)5D%^D)@O&5aXh|>E`W)^ovM1 zO}KoD&Um?wKC3jLfk`&>=KerhqFO|=v_4RgC_%J!nSwLMq;PTVWW2olBQ+^~OgHb# zq^}kKa?2MFaEE?>;NDIZqwy7nw5`F1zS7R6y1!mc@Qx45-9_=3y$I@h{G!L-HPLRx zTQvG*2rWNisj}N?R@I?PZ%xb=mk&<~B9F&G)p;0K2?~8KU2a#Sk!-p#Rm_v0@ql>{c1zWJF z;{v*@iNLakbo5_ei5jxam?8fR#SV2K?_@m|HI(40ksDZh_9}k9bQ-N5o8!iYIp{n? z5Ks5@P@6fg=*kp6Y??9~^-izBYw;&Bf5ZoU)q`;U+5r4cJ)DSN(pe{)aQ2{yCtIk$pFQPg&Pu(}VP7`Lv(BCZY_#o1CP1i$aZXBO zPUr?QYwM3PkIz^z_RD|~zoEp;oAH}Gw5uiV!fB*?+f|a7f1Zr(vLVIRX5?|_DiU~M z6A94YPTm<>6Z^Bv$+YJh#DB9eSu5BFrTy}{hdqhc`B1Y6KV2XPLMqMJPc{#onRqZ3a;PpK=1S0u)w?sHmKFW-T#{4flVDK zttba!qax_|RSLhKH^MaX5o9KuC?ZsXT>3PPe0ZcrOf)9?)>((pswL!#I*+U?H6fFh ztRbHpEXd1#3$oF3H5ryQA~pXO6W&ct(r>3m4vH(1iw|T;W|9QCvtNv4R>~0hiT=}7 zHzEI&?Z~6Qj>IR!nQ(q5N!;4qZK> zvCaa#ff_BIcFbPh$onXsxkMw+H&u+|Q(`%O#)V6BzRMN+4RUSWGpW|X9aKf`8m(x3 zO8=FL;gBZa0>^`B>~a+=?%&1`z6x~Q-h^}Zbl}_IW^^yEK))ktXms8W_kY@gd_Oc% z5~rf?b_M);O&9YxbDZC~8v|QTt& z_tPT_UQn+?FQ`t}AdNXBh7S|xqjszX=I^+GY6+ou)+QAzymK(X{T>$TmSWGNdpNB# z7pvCYLcayE_(~}VmEWJk-h?e!YORm!6jkur_NmyrO$qN9&&N#3rT793&@@vE2kRBE ze-l3%DLtd>w`I|F7FVdO+#%XbO=(~uP?xghbknxe^wr`dx^;IWz1KNPH@S$T;%RBL zULcOUBgW{5-ID2k3<%@8j@zL@0)KD#LYaXT# zrU~KHB2ip3J_(ODy{2h{`P3*PoJKFWOuzFdQr)gHYA~mZzWFvrrTC<9t(69zQC*4s zTaRJy#mo4(JO!UWD8#K9k8#7uQ`FLJM$NrVXu+#Tf5%6-ZG92e9lwdzRUvq4w-Z|M zS)kg?C3xiD9F&LosAp@4f9PKPX6lCx|B_IXzZkP@>aaAo1LcyRiKwdk-UTfyY}KnH6BJtPQ!o2U+HzbPTJW2j^1A+iP=~6C;DT>xP7uuG`31)k8xq(L9l0Yf0 zdSxf?y=N*fsL73YciU>-0+%_w#s(4Ig&DnUj^jgiZ%Zn>TmA}bTII}MZQsGZ?D`fc965$TgY-)PL$KNN&E{rV)IIXC{FkjS3C~$eFO>5 zM~poCD@k+@NRusAvgE(dawK-O5=nQSL(*R@A-9&VBzMEDh>774Z>L~kwGzF`gNI%7um95p7MpAAUJ;dz8_P=P$C7A22AjX?gx|6r9`HK;8r zgN%ihkRZ_nQaS&@`0ZDab+H-L4px9gDiS?s8SXg=qx9Z{q02U)d)$Ck!Ds@YBEu83>jC)?ab3=cgEQ-mZ`}vWen@yF~_9E z*=yRmY+sliYb6%ODtvgrZsU!z@1$n&va>CDwI)}2oMI(UuWJ%FSfIlh8y)0)d=j`Y z!xvn&vOINJvzjXT`qMG@`_#hgA8l!xhj~3)5z2jW{9H1M;XPDUug8ch?O1cK4F?CR z(dJVQhIxeJ?8rlS+k?C()DgQ5O5k* z+icM^Z#fDDYNCsuB%Yc1gMN{HO|PDKNoTtEQUgZ;jQpXBGewLs-186?@AAjTTVqjQ z<~II&k%R6x3$P$RA78p=;r{BI7;`Na_rAJ<8x%ay^4&hHRWrjg|LNisnHeaVpoD+r zXCbGojfuAxVm_URHAB4=(xjr;G=YI;$J1)fUi{oviy_Bq!C^90Q z`#jG%ib}GRkxjC-6v=Auy$~7_(NadC6qN>|`brX7C@CSE{QCWSU*~mS_dd_-e9rs* z&s~QFlQ{Gns*lI3rlW@WN^G7Jifzid**m7Pk0z3qe<9aQOu@{H+p%)c9?xR9bB6e;KL5ZU=xS%ErrIa3E=7M%SxBVAZN6S*oj)}w?7Sb3!cZyGoA^na^ zbT_Avq&li8+w4EWzl}6zppnY6>xupUO;Z0GWPC1(hLJx#|Fn*7C>fFF^U>6ur$J`J z^(cSO0+LrcKsUC>(zAnERI5}<-BERPa%>Zch(4!xMUUz9k7644Erb62jH80}$7ycQ z3X1xwPko1mkh|1t{5AhS)EM;@&t4ow$+s+Mf|&ya75P!1Vi<+`g;Mu5Us5o4AhEKA zq`X^~5|@dQqhvYeP!v||TY(A@8d#J0TDU8u3Wg^g1j}R7giDIz!iR(k-gj;Sf99JL z&sNXjpN${IKfEKxZQv}XPsAY;*zsDZnGx0_?i^wo!85R z_jPRMwrgyUS1haF;LNnvSu%~`lUWogG3%B6(5Y4hay6Gg`shiJEQy4!y`f+m8vqKq zp78mE1C;Gv4Lg1l%vaZk+lxoR)H+oN=u!r$t4dH%AP=cZGElo}I9OkmhjpbR;L4G4 zFe70Sv~|n?x4m=Vo|`o|pV!`jpyk8F+TI{w{cW( zk8x~Elkqb5!Q9GiG>+ElHCA3O3F^KoFkD3k;4B zvlRyZTMw(2uZD+BD?n$3HRRHAXt}%urcGJ^$NfzpVAX8UYBzvA!en@TYzD+AnZlf! zRbY8-FJu@UfzU`#*uCxu=t{Z4!#p?G9O(_|vm+sCViI%*XTs&UTkxX025RDZz%E&u z)%c8KA^yfpp~RZGJUz&U7{syQyld=*L=!Xjk>Gw*OyI^ITE%sigmSe9^0}_tAGnIG z8vLVOR(wx!0Dm&+2A@y;{NJ|mf{?gY*vQ2SfmAKTej0|quJYJD@i_ijl!bv~-{bBV znl$RT746JDMzw|s6ry>RhGUbHaXf zk}T7pPj<7Yx!#&&RQ6Kve@E!^N^e^H#*4xtCYtxelCL{s*1hR7iB&EIO{Sjt(Y!ky~aAwHBvPi&zGoa?K&>Lpf9&l|g!2&(oKh z1j_7)pyAHGWN+t8qfKn7=7K577)+%-iw2!4U_4!XG?5mqnoOx)y42w?g4%mU$ocPM zl!0^j#`!R2ou7}YZR7AaM&_!KemrNhwrXE#$7r;@ov8~sTeEJbf4kW zy7Uh=_cq{Gtt)6Q8--ugJTYm%Iqv#yfKs}$xXGhe2rvF6Y~QYnW3%^Smv0J21w6vY zZC~*7cS$;JHk4Xl{YBTFXV~GCiSO@+Bi|Q-x)I4Ze4r4&{#TFld)rZK zr-Xgh)Kcq7dnccw*DrEt^!!pf6kJES3NLB$h&DRt)k2?)o(<-8IXx`QBGtGkT2s86 z9tU&u%U6Sr$;r?JXJr~DI+gAxtR|7EepFwYL^4o7#it+8!t2lI;G!2aXLAF&s#lZU z-U9j@mr71r1 z!bo*(Fxd?EB)5z$WP1-O>8d(~ul#_jrnxxD%p2ohAiCN~W80Eyp-nYbSi00!c+fpg zkaGUa-+ptG4>pSA3&ghail=7r(?eAFZCyXPBc}D-aFskx)aC>ix73F-k=ns!A6>vT zES^(6c{8w@)74sdXZ1^kZHgP9k`K*#Cva4%^x=)au?-z_GCckMVh zE1?cswMPK7je%SJ`mkZ&Y_gOUk?_VD?#P?BDnl|E?8`y4Yy?{g1);d{Jkv>eL>yEZhv1Juh`yc z+|u^f_aYv3A^j%c|{ZZq=wb}?wPFTUvZ5!d} zGzU0ib`a*3xx+LuUUx|<^9jlJHqg?Sb@X6D8CkSsP?csF z-9NvUssbib?O|Dp9H&5X0~2Y9s3pnh*pp1lA?n@lO+oW~Xt~C5GVXIA)2XW|u8^ax z=3}V#rWCnG_2LrMRvhqZ$MhRt(c`-e+25E%S7$9E$to8bwIPJwT|Y&zAe9uP)9F=U zI?Z-VqmfQYWN3JTZ1ckC*%u#DS9ha7HCrh=U>P0PnL~ZPGw4sKK27P-qnO|NG%$A} ztvWrDPOp)qxW)#gl2jbK!v)>4jL_Fj5pCnd@R#HejMzL5SG-@2e*?qta>h+Gzx@VR zo|d4)XXQw7h&*v$CCQSyaqhoTT;!gF4gJ0dhK_jo=1wdrScEUOXk)~A5qz@bgD_&V z9J0lh=-?WPrOyhm&$10uUy4wX_)r??5T_TDy3jAL2;(20z;|ncFwQa_bMEKjH_K|= z{r(v)h-yJcqtE#GxeSf_WI%3X*HZRmfASvWr+aq!Bq{Qc9?xs0ztwMP=G!iMBGy5( z-T$L%^FoR;O{4&$qqMtY9;xQ5Q`~e>+N1doUB4(%=yzi}%y!Xkxk$=yyiDGecgftM zjy9cdqLmw(NJFEJsvSz{it`oPJ^D0NHTlw<*7fvq#tho4DNQyh%@}9*0QF~eqDPV{ zeOX{a$8i@03ci%|D3pdLhmo;f0HLQFwV$)044LV4`|)rp;T!OANfMd`?Z$^ICnGER zCCq5g7mWV-3*vt*gvMPe!aKWG{$6Dke|&lXzaZ9zFYMCiKf25E8lk;h)bc7$I_MHN z)IE}G%RkH=ci%8LbxpX(i?z8wmf{?cS#u7aKq`0+zXYF`UV@FA6JbCz2(sNbLB&@inAbKQEPm@k#Gl!4 z!p980{j`8HMFg8)7=lgBWbo&v!m@gRSw0qEf7%+1^4CH9X*(EGz8A7S9R%}-UeFfo z4DVmS7AE@mK$0;1?hdZ}nwCccT;-92bSjn&RNBDg#~5MnZ~}0o;o)g`ekF zg0b=r*uHN+eDpp9%UnI+_oYLSYkn9$G<(8034gHp9Sm%27)0d9o+y!RcTFHi7{K7)ckKn|#=5h8u z$2q6?3tVSM0~b;x&3_p=n;*G*Ki{65%H#Pa{`6QypxiA*z4ynZKtCFGmWFh#<7^0d88hn_#A9oRr!RZr=5Wi_Q2UZzg>KZRILKADz9d@fMK#fGbT(oW+4j$) zzBXObx0fY{x8E?cvjg)T+tK!OADYk*x;ik1PJScWanO!d?f0Q4|DwpR{xn(TCesqj z6q*&DNZnSaC~#!-Agcw@>{(v)>!k~=+G$UQBW-DM^CC*sG^LW4#`Gc0kk(62r?n}Q z$*5o)g}BPni`;j(rr-+hwLXTo78~Lrbum01`CQmF{FPwtE`^Kc&%}->H=OBk9s}fR z@r24xj0u&di|^#=X!39h@cfJ0G8^$iMlR|bN1<_uJDxjlkJd`Tm|Nz8+x<*Xxk?e~ zSFg}m^IPyqpM+E9IAP?bR8(!L!JZpmaKvC{mPJdEl+q7OIq(G2veIzsj}Wwf9ga#T zFXE`prKoza9*=20!+H8m_@nm&Zt#|+RWdV4Z1B67B@br8<%_iORSE6)ZlG`JZ>d`O zBP~zqp-;N4G;~fi9S+W*p9_OXPi;AQeAgTRM?kp0%%FZW;9ufA?hC5!P^a;0Eoh6? zQ93>9G)3!NC;O@@s_kl^p+{d(^TlVhBkm!M992j*kWTCUqsdC#o!U=W(fbi&$tv+H z&MJCM7Hj%8-klGrjIU6k6qlsP1Is}`(i-OCdgMz-Eu@HA=nDE4-j_?0@j$c3W7;ocj$=l0~ z=jYs&;+I*qb9Xlsb5}G{IE%+YT%WNsm%Yk{%l0(pQlE_EYDC32r}MAaEQ@<=H=oWv zLKwU3x1G6;6IfE_XjZm%2-{iS3A!y65aON-5;HHsm*UHi9h34E(*EVx{TG$I*mW<`em&Ddk73okb%qVhC!#8I8?fe!0QK+kaIu@ z#%gOkqC!YFq`{n%ltC-T@}6AAo>+N1$Z6H^`p}fS1i-FlJ8-XsX6T)0$Yw zS`iK@^?q=!$pfln9bjRyJ^Ym01Uvq&hWUBR;nj3&`1xrwv~To;8i{y#e?9|f%Wat5 za~IA{E`hF)+pu(FA*?K}0z-NO=07D^$wqbN5;K`ij4@^9uQsuNll|Dg{mE?jlDq8H zs`u>ZNkwjc7snOtaphb$CUK9`A8}U)FFyB)0e`$_2mkHiX?}w06JGqqFv02eY{B+` ztFUo$ny^K#MM%jWfyXNs;TqLo-0|@y_GkXUqI_+7xzL(UJ@%&1)-yD{>l%5QSJHf! z|44DqGdiX8gz}v4(Bbc?lrhAYGDH>-mT8dbVkuG`bftU$8IahYW#m=hKpCQ5B5at9k{Wm2XnrQ(ew!;=;4u>BSMiir=EEqXex3IeOG6M}0<8^v&l3o{28UrEimQ%x6CoQ*glZ z54WPn^7A;wITGWaY(u%-`e^7VioYd32#q`C5wBR`yXG+b{q`m%2eo1DRuLL?U5eUc zMM?8+8xB#;$8#TJa6x}Cs%M-yp{n=qX;xALHANJV=j&LK&f7vKqO=KSd_>z-Ww@@s z0(EYF#lrR4)NZhbHmwRGkEdzmIQI^17Jov=f}WG@{w8{Hu%51sy-y;`t`T3BM6a@g zDBjDSmiQTymcA@qo&5qeKitF5Pn)nzRE`SAGAi`9BmD#3WU@Jw#$OF5?b|`rG3O{{ z&)-N5mpHO;P@~lPE}VPv3O4k3V^5k1`V`2bWA_tbs6v9E9%d)FI_e3TMk2za`Q`k2 z<5T>^`HsBt7UWwyH24XdMEHJ-M(#)Cbxyb8B=^z8hjX~Rof{>+keii1mD4()#B~|> zGa0+btbYDgHtE+XcHn_0w!OmHeVcR2hh;$tWPiBci>_IWuyjB{jHz-2ZBtzz*TlWhbJ7D2jP-@m_+U^!5DE6HB(N7Okj(r z++r;it!x@6!)<>wlY8H_n~OF$#Wmb4=U#ps;H=Vh`E8vW_~`ane)5g`JUEF9=Pw!v zAJ*&;rk9=;f}Yh02Yd%TWvB^`ndF7HL$YwER3~y88ua3fIlYKGNGr?Y=;GdNdJm;^ z^?EG{RnO?#zk0g!rkoO&WK(@%1Pu(^NcoYv6zMpGu1p$2A3u+!jvw=Ae78NRj6X(? zC;L&qzaLo_d(s(EM=J7PNzcuJY#KC4QALuX*7st%>KhdI@5bKvf4JkP0=3rZ(XG#x zbbi8adRRA@b0*;wU=~B)*2K_{zY)|@8B9?*zLc$egmN}J&^L*#Gr}mQ2wch{B##|9CsdjzSiLQ zC!eu$jsy+Kk|6iQ&-lc+8qanlm=>^l*Q?>zHRN$v@*zTb=)j~dWkq7l>R z<)N?GD^-BMYtwP+u`;~zPK@gB7}A9~dnrISmiCwD(1e%eq_*@w8g0--fw|A9cxVlI zcHg1cF_{!Ec7i(gdC~_7Yg+n8o0?Aiz|sj7*t4n>T?;>A?2j?D+jSwuE9|Gh3jq`n z5>6|6!)WCpfBLAspAH&WQ?S-lvM80NF(03z>dRzIbacS09n&zjT@*LVl?Yy+!UPi= zYhj$nXyHT4N4{$JO}@|~lD~Fw3vXaPlb^I*iQjv-pF4T`5!a@b$$feh$@wom#BFw8 z$DMg=!ril;z!iNN#(52NuvI(nvgfiF*xbA@=HtJYtyw>h4K<&@9z9cHrDun*U#I@S z?X{gCJ+cm%`E7XSl?KyqMuXKcUl6_S21y+|p>Y2uSZ%%{lc5SzD|F$)Y#v^gECtsdI~Wn^4n;rwA#7h1Ja$Nc3Ad8L z=xi!j&P@gTxMZ02`V1^watbD$jR&*VSO^V@fs!*(;1A)jlLf)pM}v3q@Pro&z2Vus z5XgC*0Mkxo!JE-{AgHkd>O!hu&7=EJB3A+TvTC70rwh6+NHB+VRd!^lF6&ysm`KA4 z=5+ZGGfR$Rw^XjNa?d7aT|9)#{$aq4)Uo3ZDaUeaMip~;I^VeJpmF?6qm{hf!*G82 z);oOa@!xzv_5@+iyLEzfc#IHjSs~0nCWSI>v+&M!7d)AH4j-96$9IGMcu|z20+-!n z-5pMIe_SM~4@K0zqK4uWpHX>K12u{~B+E1TbaV7+dV9&0=FTvtzf)z&Xoo1R?NB1k zTqAniyOzSIyHiD+FI{}#Pd*!b=+TS=bm8*`y54U>V|=wKHeQ-m>Gh+x&s($_oV71* z{=%;5GUU;%MNg%Pj=F9jgDMZ|VuAE7FpShThS4zdAmXfj$X3OJUO(7JTIaS9%~?eY z-Y%x^!xxgg_!5emVnZLoZ0R|zqxGI^D70ZY*=(Or6{~?#tFkXAf=Z2+@}O47$&186bOj9L}B=yWy;&xwYkYSjfibfpT9D751A zC2goQ$XHFyCHQblDNaAxg_;jEX-cUzo!AjXOLkr!{9lz+;n_-k8~P|E=`#)c{FXin zHPl>_L9hCJ$s%hGHEBwaRN`&ifBiJpEj^EWd}=Xiq5>UKF{k=WPnsK%NJ@tbXhy~Z z3X5x?^zKF~cBrS86BVR9E}yysQpv9_jFcAcqrz+?|1<@ft@;A5&%ce0iyz^Nr;_w! z)C`JywVq0OPtuMEAJA=Kc#%?E-saue=?s)q1IG-g5D}0q1}9*aOtm-U@)PTzj`8@Umz05N2#vlw@T>q$v(sR>bNfMXniTS z3{tsiLxQ+P^?SHAtCw=SGL5)7lQg*m5al+yH?U>Hue0o539L5Thiyt)$C_swv+E1S zvL6?eSy_-Ai)b6lGMfLu+R~Sh{P!kkswaSjj~_I99Dy5^$6>=fAJA&`1}D+OkY~6T zp8ehmCvVup1KJPX&fefWE*N~jMu6+1I8YW6LDJ+hEHNkm?PFyyw)g?489#*4LH9w| zun5`>uEMa;%OG8u3I%G3pvq1{>x?Ma=N$-M6OO>^McbfY+(LNrcP1!TX+z_yF`(c* z0jBoMfV=uUbSm>;vEC4J%O=8>CEAdsq6fCa0sgfug6jtMko4_19GDpnzBA51#ng28 zIqwQwTyqs%pXb8NTUoI5;w3m%b`g5h(;;w52HaQ6f{kXGaQ)UrsF{@vft@G7IyDNm zXGFl1_GlOrkpPZ$=i#$w4kW)SfPJ@jS@DYU?c_*8rdo!>u= z)Xg@M^{zm=nUq3V`wQsak!orPc}ns9&*)vj6Z)N5Oq*-dDEfyVnS8XOy(uFoJLezf zRt}*D-MSE!M7CS?ItIZdYZp$ZgV^9!R_b>iw3 zop|Q*HP)?t!PKe%{QgF-xpHtjy2>ld@DH=*^~FntzC7zJ%C%6Hlc;rRg{s7LA!;=(DbwuelOUMn%W*X-b9L?s`sM0cQKBc5s5cO zxzsiEsP)IAyDbshRB-Q(m%?0^^FoAztFTIOw(#iIFu|aup7%;T&re(A$uHZrfPdwp z#ixvvAI7hv0z3t??hkZkJ%#&y0BS{Mf1 zmtrB-FBayE3I|aee_)Z`@O-r&C|iX=?EQFHotp@&%+Evcw{+P2FdJIV+<@%;#V}(= z1-wjq05+!|z{ABAFjb`l4CC`*f=&)NJ6(i#QOR&rBLRA}V_<7gFf`{L18W02(0^qP zB@qVT{6Gt~cuasj7Bita(FClm%)!ss1TN13s981(jt4S$C0N2HlZ`NB`XTs!Bm^45 z6X1$kI;=I$gR<-SaH^~TEav6ISj8KVpO_D6euWUNPzv4(l@J|L30Bsn&~f1=d`Zp* zjT32*@16{xl>}lk$>9Dm1;$KF1Fh@~Cxz^3t$(O^L!FN0%%L;a?CJJdPwICLAot?|lzqvI;wL&#%3^CWIx~~HzN(S(EK$nO zdyi4?-{P8gpK-%tNzyo=Mz*63s8h$1*1okP-Bu3@>hd8eMPC}d?kGJvx0mWg*3)#= zrId8RoEC1yK_(ewxfRo?&EAkwBar$Pmy$#8W*W15A4P^ZQ^!+_b+xISGLe@-$)Nu67oa)XMSJ*Y{X@LxT35 zlqJ{cgKQ-sMc;LMFe2|h3R35=p9&5&_+Sl>+q7v+j|AmewlW5(Tm6Z3|gLEL6Ml?mx+ojDqK?9D4<%O$NQRrT}`93&Cc`Jveo=8vK^jLt4voP+$83LeDh74e>`{ z``|7#ZY%(OuRO2_%7LPdS>Td>d62u(;m-XGI2cg?@9LhwJm*g^?cFdo!Cjp_Upbx~ zk)6agt~FqD1z?Za61HleGm9G^$tW$8$y+~Rf09JF)DmrOe4q_C<$Dlk@0QDHxU_T9 zM#}u*2c~@fJ5RoMTn7JsMk_zUMOpCtX)5G>^%UH?GKKO9ox)@jO|+?Bg2RG>uqyKg zZd?8d18hdq^v9N@JoOMwOpc>{2eN46i@S6;?Fng!Hq!2-26AYBKvj|jl)UN;mAyDf zk>ZSQ#t)}N*B@B0T!zH+r&G)hTXIwLptL}LYAX#S$>YA%TIWVV-D}BRL?D}|qiIo) zB;Ba$!RX6xuwnd1-0v$!ODvV>U$rjDpPWP13WK%g&NMRdIO!yN(tV=?RG?-@@gtVf zQ&|(bIn9`^Z=ONvVxPtZod>GMtJN{;tEO)^N-_eGPA1YQlS# zgWRAYP4%^MwCAfdEv){F%O^JBihWm6erOCv7#_#_cU^Io&v6X%4?@T0NNl?^mE;eP zrsK+Dq)}Ccig)8sh+T!@hU$3v?nmLus5?VPWhO2y%EoOs8EFC zQraLNOjlGhDZ8?gmKD4pnaEa>eceb6)%VDJek$D#@g&=pxuh1TN@o-MF<;>sl1~L5 zx>$h$CGDuwrbK=#&8hIbC-HnD>1pKCk?=~IA6iRnc^%#S^?>BWOKAMV9E!3(L&GBd zNv?AP?Q}DsYht2w;^RHMcI*oF71g3@h%ANO<)}N}o;Eo9&~%?LqP>ySb1;0I%-AK5Eebi!Ce93E?N1z;k>?WDX>G{%uN=d4k0`R=*M~6v-%r@$^csdPzXw)r z=@40U5-Rt`KcK;&4b+>v zLCg9hM2htQ5AQ(Xc?X$}PSr$EHeIB5JA z01@G?P+zhJ^wmsZ?!%cd?#@go1_37Rod-i;E{y)dKxx|G`jy!r^T`5g-*19~w8OAu zSO{2j#>2hP6i}O=0i)Jlg9*cmAUUlZ=5DKjgQCwM((M)4jctef0qu~p@-=ikdIksf zJcf~Jm2fJo46d5ogZFoeA-?N2+_x!!UhkWr)>Q_cb}wOxmIxDnq{JfS$Fu!%lbK8C zR3^vIU|r%In^(Ss6>fEAdG8|_jn8C}R*zZvvVUyWkn!B}?B(3&Cjs0yhioou?rUxw zQ{dO_LSAprVZQ0?1wQF}6K^tFUZ}0&g*Bht1yAP-!iqnygtPyt;M*tWXl>|&7oKO~ zyd7^)=dvm}`_7>~7aVBYh)BxRNvATKB6<+`hw*s+s%jvz_PKwZWr*9_?led{Oi5*=}>l)2S zb)O-9=$=H5SrZ1cZ9FlV(Ug!of{GW9q-srl+BwRctQXtSw5r1tb;Or$SNl?h>2Wf? zu$NSAZ0Kn$P@1a^X5oINFXgQpG6ro)o1P{>ClKUSM=b3A&b)V%*j* zSfn3+d6^Y6@?AOr_P2Xq;6!Rou^~ za+eDfJ}a7L?mbARUh~OZNu8>uwcxF?JX|ZDj~=(XvB+mE`Q2GW1@m30+a{3a--w`z zijk!8DTrD{j*{WcjpUFh&;t39bT{J*s+Zix)=A-L6|fQ|b;qIYvOeKM-&H|)e8w#rQ+)R@7Qnc8O;VYsaxiBZo7kML$60 zOFJCh^&k8iCBTIN=JMgDOfg&O5f?8&lh{z_?1x3!x?I3gJHOQ}f2`3Gj;bw6Y{LOd^)lI-CpB!Fx~CM4Yx_H-x1i{6O_(U8JGDs1)|?5#aCV7Zv0 zJEu_PPkDOQ`wcZWbfDtWcPOI%3t`uADp)j{baoq(R{a7>IJBAEEuAT~^#EO*?LhvW zYe-sz$ir+Reel<$QjL*h-K0tKhcw8Sl*lVXmW(c_lJ6@6@=shw9(w!ft(re=jSC@u zR4_G&`OwX`jx@B{hNf&WCP^m^vX%LX+D}Vyb3i=Gp523S#}=W;BWujBa>vcZr%)JO zh!XOzv2XkU)=iP7y9ebc@~|{v#~*yZ{yA1%%fqRMqOoz}akSGvh<`kM(8(hj7ydhk z8aml{c8LvL%brJKPbQL8*$}!@Rf|JzokpW=8*zi#D6IMMS@@LnM<}|ehnHd;apl%z z3|FYcu$oQ`>G+LquYMu7vK=E#3eiIDBsQE0#XYl9v46`G?B)I25$VIqFr@uk#N{ zNvx8}PZW{;m28^0?hL)!5I`xVo9X+%>GWp41SRU;$6Z&laNL^;+}$Ke`Ta9!v<`{*_>`--<@u;3XAh>#oKr`e0~`FrsvIWIBaK^HRiFn ztZ~ewPLg#`{Q&DMTj1w}SMVeM1;|&{LoZdpSlipM`u%kn9d#2nPAr4gm?v;3wh6j? zTft{uCm1DthQ{%t?C)7=7PVQKJ$?-(_faY~+X^M|tFVo_G9`4eJ&`rvZs zJ1D*J5*|&gg)pOgP-2}6D_11J($p|$QauW~w{}6GvOP4d-v>ccJ)r-HCv4X`0*+#i zu;zvxym@H{%{yGc{GA^t_{M?q`3qnreG@cKJ%pMyEg(1dGwf{t2h;M!nf+o3w)U_X z)3^Hvxt+h@n9EO)mHiFZh7Q2t!J5a12jJ-7xn2(a1X8wLAlm;1tYzOr=EZNY?TZ8} zXpm>(H#AuGaxErzVj>fLF^$d7Bz7xwHA|5^%!04PFrLq5`}!WUZ(Re-(ol;Fy}p!- z|KP_RT%Ey5o@(MYUzg$E{W9k7D(~m_IwkY>HR^ba(xHNsr=hTN@*ZK&@-u?N?k7U4 zpEQatG{*7ooUz6;3CGvg;>#C9X?@l-dNFrBRcZUv@0p2YxbYe-I(MJGOs%Ji$VN)3 zeM%5kP4?3HRC)9aMVKF^=dDB=PbpGz{y%j5C__Wrr_p6YTWWSXOmW2ll;0FY;w6I~ zn7^N_WLD83IU_ovqeffp|6<6a4s3L4M-j7r?3g^16azJ=;gA8HJur{{ZL_5V1G{PL za~JB%-Ag5~hU8^=D$N>8-=r1jOqCqXw^pTGaSd92Q<+2phEaEh6qUSGCH=X^6i~RC z5-PoEi(fcJ=|$5-uW(9V??)>K^Dphy3VQu!7Hw8lqniglVfDpAJUl)cZ<#ybn28(l z_gEJkyEYQtX5^sPgC{tDpbwQ3BuRnEQr==&x}q#eJ%_rnWLi01%}GY6_D7SRgQ&Fa z7&`0=#f14uXq1_U6OR?6a*`b-_}Wk|aul|IB-!ok$1TTh;svz;Ot_7BVC_(Ba{efk z{gcPQ(+hA_LoiPJlZT=<&oJrgCsecfjV;C>@t^c#{BijrM&1lZ7k z9LyzqmAmA(rIMU~R8Z&8yENnNHL@x_PdQ;xl=k@`)u$~WjSZT#yZtRzPr89z(^Y(; z)QXBnM$qw|d1Mf=m;T)LqZ5tc)TI|i9pYisw8@8htoP7~zgCp+V-o!xJCt^rJ;iM& zQjzOAh~~q2yf{J@lg|Dp$b=*bT$qD!<(Z+Nk~&04%zMIDRHpDp&w20zCUg1pe09Fz z^*63I{2>>AsOett`E}3c7V8MBYaV9t zP^sMx=k@y_YvV5v-6O*6`^4BVJ1M4daySbeP-MAZMlih#n#}HxCY$zGooSy?X1Xe} z%qdceRb3Qe3D3X5Kg}Mf?QerABF|v)-wKF#z79#-lcDuZ2wWO)hvA#|g6>Th$UEx= zXGoEys-6*}v#@5!eMdG3y z7L4Z_jh1ue0sh?0)C^8;UlZqLD#PQu+5FnyPJF}pME;lAW8NV_N|2v9O{gEaUD$v0 zq@Yk;Ez};7!j8xp=v=i6zgM2Zfe%%vktj~v74%4NhYh_b^CFX+Q?!4?6&fR7O2=xR zP*&SBl3DnSOoMCaV}236$xfqXUV)Ug%7$J>Xp!4XNjkr9C@F2xA-|)GXu$_(S{dX= z7bXXjy=nk0S3XR8vNn>^5hS5=6op?9qc+>OSk?6!BPR6XkH->ZK1_{LR_Ia4G@?_M zD=2M|J>{D?lFOXEv_WSr-PtUVe)A}@_%Vdq!X)T+upHSIY0!l0BgxQ3o*I{lQICT- zDK`vq*9r^rN^qrwq)-|YA5VVeC+Koc6utBEr%OIgba`MIy-J-<@%;+4DeEmZ`d>w> zM`2hI>55A>yW%drU@Ub!j~_0VVne{kMXwwT=K?5KBXpUVnAg!m?+QqbGU&^Y1oGDOr-OSolTp1P zX$&%@Qs5(epplE$>q@b@U&(k>cq{a!!mS-S}X-HR$XXo3_%> z3#PPKa~##!h|ng-O1yFQ6z){sg_F&vqvbqF43Mi5j(><3YHGF!BTnfFhTlbmlXds` z9K8fSDA<9ohz9;ny#imjuZw$~P{L`dBy+(|zTAXK>$o{8z*!6#!>yDb#yR}!X5J&K z*c90;W}BG6D&|MB`o2JxbLtp#>)gUb`iUiKjbUc?L)fozzroSqH(0oeGWCz*jIR=7 zF>QY#>F76b{Lv3aCw{|R6A7l8F`S)!r^s%g?lg4JMmCk{L`L#TG6e z&4N~qX0P%z*^@Eqtfxkajoc)|rpHUNhdKkWxa$*S?0*C9FB%|qR~gLul?A%0@u1u6 z1wYU2gTCkcAUgF3R6O>B#Fc@tbe=!Fp6m;HkNjbdcqIIInF!eqxuEo?9M&nnfISmG z!Xgl14mnb6(`{+C{g(_Ytde8S*@|p|ryBFE9>r!gj%RdKm(4NKWfupun4y~{TdFX4 z{tg9p?yNj3Tc^OrB`C77@k*>|qY9ILqQRofby?(Xp4nZoWuk6JS>4MhW|W-90zcel zEd$Tl!AxcGe8fviOA1MO zQ-u9GTLt$$al*do_k|le;%HDY1^KUA@$>&EIPbWe{x=S5ph!iRnT1FBg6p8xME;5q6_a^h#?~mto{(sKrzV7RKo%1>$lKFr| zC3hS8mrpsEB5kQFH1==6$B12>9e4!2w_HGtv>xX!v_f9_7RK*r!Y!9d3}`rt%)>j7 ztGX0sCRQ+=r-6~vy2IyQADmb-209)-=(i#qg_$wfd^s8lEn%I_;Db}Dj<`OwA8ICd z!i!YLXuzJ-OM|_nrrtBvV-J*bc|ABaZa5j1bMJv=I=oKGlytcwVB4$cGxRwy^Bn6AN&zBM$0)bC5r@1l=?);K;y> z7`y8%nhzaAZcY~5qZ456vKnhokHbXni}yM2`0brCezK^9^H;X9)ejAPSTCa1aUp)k zhvT^zkIBJFa9faw$g-^{TN?zgWOwXokU;CB4wO?rac{*kuDQFNubIx_!1n&U{o-%w zglpx}z)^|P71Q0M<3|`v`(=L>CncAO#=mxm;Um07>s`ad%6LWbk8-=9o_I>g7E^@B z(qLho^+e&)YYU-5>@AG=r67E(cu6bT{-fc6M@T<4l|CB8(z&8A@)*91hO4+yzc~Wg zr5MpGJvAzjSD;T7ax|-|E1g}hL<7=Q=-NXSdR(qTaUN>qSjCh2u6I(^rYDuRcQp`JN?l?)&S)BaSqsvph0XGEd5_2^S&54yKUk;12Up;;&2 zNj4VVm6S-XN;V!oA?dz8L*f)2D@nc?D(QA=gXGtwaEZp4Et2H0C`nM+W{KCuFp2Wy ztrG7`yCkPo3M3OM$|TE5nk18ypGY3;_#*KukRhAl-6=*}jk;dfBB!6alyT9BVh#?V zH$FpYK$0a*u(qV>=|gC;!vKnKHK7%=4XL8kfJ&wrlHWl?(iRM9$Yn$7^Q0fi?i@i^ zTb;>$ls^R+#nAM@=`=8}kiy1P(r$|fwC_?^;gFoUkUnXau+}M7Xmma%1YT$trl+ck z{t2T+r5P*4yLK63vS+P$Q&nE--7!cy+SW_@L3^h(Bju8Ga!?mu`Dh?3%=Bb~SKE1K zL>YGv`o?h%2FM%lgb6!WW5?+v@R)ow^*#@s9W~hFa07#f-$F`73%1{^MvpruVg4lz zXDv6OyU{q9EjK{Ja~0%k>0nnMYt)9!!ErGJrB=~ccPa*BGCKYK-ZJPNoQU@i2czt$ z3i<`T!W%W*aWX;O0Bc-)JRT>WdqCr%FDAJ9BiC*LdT2PK`0+pp z{z~{|_=686%VGRdT_lYiisx4?aizcrb0&4iN%@}~`%(>qzKWRMGZ5`cNids{3DemJ za3g6S+&1jQ=GaJ#x9?m84A#(#<2-!6nhOV_haW;EYwO=GXR6MU?# zj&sAGa+$^#E?Kr7eGOOR=#xd5HFy&E({N0`r3u}`Pk8*|!`!*W+1_L@oBGT0_{*}q zWu-YABrV}N>U;TWCy!PT+;dp?ld#tSB&<^101Y;K;+&nyn}$m(0XcC-TO z4(Xs{njzl4>;vO`4g71BgSyEtzVKcinuqmK8*dA_&weo98-w9nb|d6kHargHV#|R7 zRR4DbM`jfvbYn55Pb`AYoIEtvq`>;~CVb9uh0!=u^v_enGP&M3{{QcrK3;+SPj=v% zOFjy_mf&6HIsCg_ioQRO!+TZ^?)Be=$qT|U___yvXAj4Nmx|bb;|7l#e})ZfF0*UG z4?c6q1o;~$V5a^mY`5DAow!8wicUgyay%M$MPhE;azyl)f~>8UXbaLn{pY7___dfn zSjF)42b0-4-+-$RevoDqosxP@i|8Fs4Lwmz7n-=oD|b^<3yd=v&6Z528fGV zWW~YNO+wPH!-6;?UT`s7B8-U|D~LS?2xqN&3d^S|2#@G3byKdV9S@Ju)2AtPZAcW& z)(@nL-}C8~_Y_*v&4%t<4h)CldON-AhC}=D;ZmoC%OD=k7U;Dosuudc1p}or$~BSNs+vr zmn8Wr7b_WE)5)qsi4x~~S&{{}N+ctk>Lf?|J(7Ii{8eITB~PZeRcXLc9kLx`On1MU zQ=av33fg2%k;{o3UJ>=Om(c7PqbPXd2r`{$NrUeXqwCq0q#it+F3uQE9iEmHkzz?n z38P5w{#Y6}a5kk>ucNo86R7W+EIR$=IK5d`MZcCkp;_-0g>n8vg`a0Vg@+FDg5r{5 zA^GP6;k%={7$zn0Ue!ub{zQhjVQQ`T-%&ZKyxJh?z15!5#7#+3kB$pce(+m*@|GDp z-krtBiRaHZ&al|!16RxGA?vp-MtCm6;)w~Usyv9$8)u;V=s!G+Yk|q_o8XZ*Fmy!? z%x;{;9ovJb*d2ps>2n~XJPbXPDl?FiWVIO3B1EOgahjN^U&{|s+2 z=*Lv7mKg=@)4k9*NfyC#<>6SRi=t2~B+RyhiiZ@{Urn&;P&%Aop-K?BdDPCE4}9UPN;1%B3&tVewdkw94BGGJpm@C){hc*U3}>_7D#`>cD){>;5Jbj~a(d^9-;_P)9TV}<7b8+LL=;OOGh7Y88j7EcI|SL-YQgN#eqq?6C?O}xLpakuT6q1+P?%bwA>4q1AZhwY|HfUX z#RVsc7w;z9(g-U1vW%hv7SK3_+2oQoi8cn?(oEeEr2ox~OmmE=?TQHnUNWcL_~Fzt zVl+9f5vVMV>HBm$>NdocMzp!p9fQTB;Jl0m{asGyO#NuU`S~>Xv>UzOGJ!sgwx@hA zCO&6PYTbv?q!cp>n5Re8^{RAkO&4lWeL6M!v+M_^{-#%5ljr znPSP@IY%U8-yM*s%4bR5wC6}%yiZ9Ao?MgkyY)!&t8*(H${m+zz0E5~S!aTTTZctIf})r2)qM+yabi-h?JNkVgD ziLgBNsSr`4DOUaw#nBn7MK{?@QP!hQbowDD_5E!weONU|dOK&kv}Jm^G^XcIsYjM6 zFIqi=i+XM2by}x5{Mak*u~Hk&fehm>z6fyIhW0(#==T9tLv3Qv)om-h=4`|| zGcOF)lA?B!F4{|f^6Tb1e7v@m6-r;RU2|6~cI<f-V+`8n4-0~&B z3=cT8*rM;ieu(a)hK^<>B;V1;z6b$HUpm?NrIUl_9B_7Se;gU64%72J;R_LKcL$=v zDj91|kq$jWZQ?NkdScu85?&H@VlRBm6QXg$L^eDb;r!9-&sz(g~PWT;pvCs*=_FzezIpHi;K3g zwNe)QSDaz{aV@;_@*CFQ(*>B&6~1w+ps%+Y_j<3wmQ6nRZ8QzxQ%2)ciw?|PKXB#B zQ+&WboVPkzv-43!w%**8A0(Nx_mxHL+BbzYPn_YIr8juPspnkk_L8U9-(pp*^PKlA zn>#$x*m7495AM^(%MK{OQAro0=bK`3rYTNF^ucIHb-YtjKmo}i<*h0LbO+UV9bF+=@%FcVYeSHdJ!zaL(im+H=z|sBbWax&vQ(_J*vB z1~!-t#FL~MxRely^L2ai{c!=x8j7H9ScFkM3((Oo0~sapP?itITg$0%888Iy-4tI%Mqcl{pNDv?<13rM7Nayd=ipuG;O)86!ei^C#U})5%0?BbjApC2y#AmV zy*yNW`p-@bTd5;X-1=6SGoxI1^=z*YD252T8Yc;p?JR^*XL<`IhAKjanw+3G<0I*5 zwNn3oCA4?kUQ*o{MNXGi)5tIWG*4Vg?@AXE4!cwKHWw;Lw4u-a1R66}N}G?_(b|VD z^t5COH6~A|zti35=U#Wh3on|S_Y3VpAar{;$dE4!> zn`PRlEf()H46vV8NN#vJM;^dAF3*t=2)J(nuX`gL9?`Sn`R zoz_cS^~XkBExS$(amp6e;~T^&-{qxyYC0Q`Jf&;5ZkLAbFO!CC`XLP)X2RRmr?G`) z3`bcMbIY1%yeCQvrFn!QQx-zVibh=JKGc3MM$@TE96Q~Bkv&_n$e|UF3>$IqY9$&k zA4i>e8V>1(LvPY_RGC_0?;InXR2m5FzqWXw?G2j~n=tajR@7KT<4sc-wj5oI>7(sY z;bsK?8X1V6?(*@{X8zUih|l}T!fUAxQg04H+}ANEmz{<~&*o#JzaMO({W0SB0?d`2 zh_f?BqH>2m`f2up)*cf?Dv!YrIWN4;Uyl86eDQpXE9T!B0$07hIK6!+9=)86(LxM- z#Vkm)j$-o1LLAD?!@N(O`+iL{zRp{UHGS-0v9>RU8~xzY=1LxEaDb18rgBDM1}A16 z<5Neg`Nx}w+%e=An^$&&kFhGGdz2C9D2tlSPuQxwj6Zj_+ThY~zA!78U2-G&Uq=dC zL=fn%m3fR1;b4FWyVCWoxpJgkNYrhPxJ?CL)$T+mW9E9b4lyQ8} zE!J%SIY7q0%4EMY^SNcc5ueuS%9`fAcvG%Dhn9zP_fa`4Ub@Vl@pt*W^f}9ZeZY?6 zYS?9D5uZJs$)B2Yd2DJGpHTV2?kXDil4OX(?Pl2V#RSU-=wf`U3W_S^FmtXPj+d+9 z;&wCq)Nz33?4{^-BL+DZS%}P}BQ z8cA53rVW?yPh9n-hU2DGa;8c1_?yeGtR14yHZw>Kym&bzD(h?!~Y_i}oI8X?dItgZb`U`i{HHCHY z3PME1Pg+>_g1&TXqKt*7$UZrZ3g1VQWOpc8bXiAAM}o<5(pq{TyPVeTSV;E+JV=^7 zlNM~9O?})K(93W?Dm}G|x-DBvwWEXR*Uh!`UNMMDB7qcr=yOBO;ts~3I zKzcjPkH$@yPwlmCH2w4hik)mn4r&4&EFVU@HBHHGrWToxl%c%O?UIpc7bPcpAD1{i zE0UIinDHQznS`PY21wOdHa!+mH(zCTsSt)buNLTO=S1kKzRMXP#7(N6zx$`}($mp`qe z)VTHJF)NI$Gor}REspkQBvUbEQB-p=?yqb^;UkNSH!N4kNKIX3E32DTn?HCAI~i?b4o{;e-XA$tw2F}9XwjDBVW4}lEqDU z@U#k7{+2-8x*rRSw_)8(AN-0LgN2cU@W6Hup6*~YMSGy-QZRZdZ^0b5Xk5A%j`3>) zkYh9f&ie=8)ZMO#+x38(TN-%!tTwhi@ry0(w9t`hj!j9xPs1s=6g3Ziq90^$FT?Vm zzOer_3kkn$vHt#G>~%GUpXMO^GIc=Ty*|kL6^33vBJgg^T3FASfjM_aWB#+@P_utZgVPppBBJq-*KdM@+z(0L9G0<6GPsFK|R79BhC$n+8|XZWViD|vlIN~cLt|s zq_cf?0jIToq@e^nY?#yi6J22dZM=f^Mjr{Dr$jHgFH60yfjw#`}+~wECsCs)43;X0CAax(k|J;Gv_Ys|) zw-}n*c4$~(jQ+>v(ErRGPFZ(__XXE;sPi|zcS8?@^~PY^vW2)eZ8PRqZNtg?+cEFR zb{svm4eB-FIC3@sj*U|=t7Rmnp6i8H77uB>m2HiTLBKq}Zh^{gK+DWIo?jhsEESj?U2;Ep!K|>OsQ0;RSA#coZ!7FjDFr+m`kcrM0 z8pG=Z!SjzW!p2aXdcs9~JSIXMUz{&K^}Z?kC@M+=e_2Qs=FgWlEZiZD_*5=kU-Luy zC(@XYn@r)5v0GWYsgS4XJY?fUb%Y95IJ?*ry~86>J!CIBMij!?>_TVj)nME57Tnx+ z1FL&BBYebFd>wPHbN2J$IA zcZ@`hOCXk{Ov4$OVOY9S1+R`hV=1G{l%?ov7 z{4lb81x%(a!?NTBNLxJ#^WF+r>1}~sNh4r!Z9MpoKU}0+F;u!8;-Pq$r-kAEi@8X- z<%FmkE-;$pkF6Ktv1{f5M6D>o=5NLLDRTrTwD;laqiq;$vm8Dh4v1+sz_;`cc2uw8 zMT_!y*S!q39G%0~2B%q0tmoev&pGqtU!HudJ9b&C;_wqCSU>9mgXRbPyrPsJWu-Z20pTcYOZED_iBEUD^#7ExIEp%?XZW(_sF`8&zMH z!Mopbj0yF|rgm4TZXb>Yiym-@eah>khj~jvAnzDHlpnoOezVHH{R{6jud+X44h+zOD6sB zp`#CO-cyI;KzTUF{o;?xGN>xn!13clv7m4!Xy+F6S)GHXvsX~N?=j~6{t3N7@;1v` ztxIZfj%ykM7XZ&`0bZ2Y5_fgMrlv=n|O*^Iw^m z^dKEC4()`j@fPG7`XhFfGwdDB@w7x4!J}TVr&|rbj;m(f%?~)MS`h^g1|w?IWE_3J z5_@E}pu;Kw#WqQZT#|^kX))-zYZETG`k+461gzn3P{5A`J4R~t`;t7FL5D}q#x%VD=ekGN5 z-%FwFWvLYOZV#F0>?2>>1C-%VK)Y5Qr&%f&$ogR`CEfZ%N4NG7%xBmNmn@bGR}^*# zqmqh*hwpC)H+RX2inGl`71wEE+SRRMQ0q~#N7r_-pPq{JzWWGibI(Q6* zi}Qa<6QYVs8RWwn)8PAcRzPw%r`h#L0n9DyQz5BRG^V0O@MteAQPUxhOGs9b}V zY%^wGyp9F-&B(oc4Ucx0!^pl6$;bC1Vs{j}BzYs_ssp+&lweN@Do4!&H^TMoQrkFiQ9U1Ea%y9r8vTw!)+ zE>4B{p{8^d9G~2^{BJknn$odk#x6`N zio%3peyHm`2U`~T;$}+}cJ=LS)<=i&dietZa68atGZY(kMP^hz>$j)y-NxyhZDGJK)@gFln8Cck zVlL+w$Mas*BW!P8#b<8cgT8Txt1MQ9>R|M55jw+{A7`q@R*O}w+@gfnWM`B733N}=IN(S z@Sx}0cwN~{UKV4gps({inK1bwW*~-Nt?qP4!E~6!~~@%yTz!(N9yc zXWSoQbNf}H_m*5CJ2g%SxDp`T4|5b|TJ#g-!xV+_Pv4Vk`(1jI+Cu9d)>6ycN-BDI zni~5bCbKEoG^HV(Uhm4FA70t?d{_<**2<%Vgyi)vQ19f+ z)Eaz+tm7)Er~X-L7LHTvm3*>2mQ6dG(rAQh3R# z+uwrDpYB7_1{F$HkfX-8eG%R`sY=HZX_S7dH0f2P z)bYX}>B&Y@wvw5~6RWqf@t#5+S$v}WwHyL+l`QVy= z2-N0AVSz&wURP~^QOGB2hiltb!}Rr9m~~r)E{2P7%+L+-Q^sM-2YU>3nu;-QE1-2|8?1I_U}j|=);!6D zX<8cUzQ^Lii1k?ZY84v1!qH>dk$)=1I`&{St9&b3oS_aS0DPo74DrB^j(75q05AnFm z{eGY1FZ*}!{XrpoTUf^#Z86-alEv~@N_l8=3(vawnp>*>vNTy9gVN-&sjUlsPWs8G z+6|zhFbqMPoG^5AC!e(g@VLtg=ssDDj-YASaYlm2GJ41=`og`}pJ92ANS>M`<(o-5 zJStG1=WCDU!DH6(-Bo*ez_1cdA5_a5gKn|u)LVQ_qmE0ymGM};5_X$a&h8aAdGL&1 z{B(vo9)#+{{fr4_M;c?@7hOd7s-bDIEXL=2;UmYs@)M)(&{8tP&xKP_IbbU?UKike zZXE_)e2X40WNiv2D%u2jE80{C$k}Xc`+zv#7MPnJ$GnC(ygxe~#g2yfx^ITNYNnp<+-A)&oU$_MItjd4uf`V#|EwKXgR+PZ>=IRXyj@v{NsTia<)i2 z-46>+c1KLlb{_V$kaLGd^I_GgY-?f6bKSm4d-Xjh9jg#8tr|H^y5o0WX~^!kqW8ZO zV!?xGam1@hqL-|Jm=gC{2>4VXBs|L!zD|!3T7CV5|GGE{3%;2NQ~i{Mjsu^`_1;4o zbFPg%X5FS4N3N4sOAXy=yGW&Zr%Bi01Wg)sl3w|rA(y)Il&O4yoZHH&>{=Q1S1l*y zzZXf>sfs>m*3tuoMp9nVNXA!cJ2`lTh7T&EE9NI@L-S$Uyx<@m-I77Qb5f{KKapeu zw$Qu%!8E#bK5ZK|o?NVkQ_^F7n&hoc4Yo?O(oEAubi^x^bQZ-CR_-CaPOdsFETmYQll0$}68iSGgmPz;P}t!T z8lqZCk(p%_mr_Zg$FGvl_j>ve&_cf3Z_y`@hji)2N1D{Vo1nE>U-)*Hgj1L13W7(J zFm7z7z;DY1P0bfV&rj;&>TjdO#}j--o#DyiqpEY_#(8hVW7$2W@488)dxo!&E-2b7 zJ@uhldP_@&`wr>Pch}6|u3cjI%ZX!rq0_gQ4OYX)MZ=N*WERGFZ^li#6l5MLK$6p0 zOp&jKE;ZoOp=QX0HsOVOEwXDbp+m0(CBeDyyPAxlCE;kzT!e)KC&Mv#JPMkoAaw3R ztm_Cy?8yi`>4?Np_fRzFEkad^9ggK0;QhZ}yg#dnH~UoaP2bzRqN5AOjMam|)se6| zr9zGtYO0Zl(&pb++v0+wy2~ zd&B(i3V;8a$=41?a@CzRJmF|KNBgDl+rne~Qui9Wbnf}L{DYg+H@HIuySv~9y9EFbalQAZ25#)-O`0t$uouSSMJUkSm#;f66K|8N1I>2L2 z`7*yB%(qQ-S!>Wx4lSF_9|B|eUTh90=#=wd4Z(??&I9_ZuH6(7}qu#U_J_OtoJ*1NT!@mGSg^OoUt zkKO2b^&F->YDce&9r)OwV6)?NcN?X61)D?SPk2sy2)iejFtkrLa(``v`6giXqaK~S zm52ZEURbFvAo-p*XWeB?y~%Z@nD z8H(pw_^*+(jeqj`L3-%&R_t_dPq&n>(K;+M8u#ZcQeX#mt(2@ zOw4MQqPn*+dKDMFf2rzg$2 z`CQbzbWHS4j}l)eI*Sjc>5AVzyb=_@mkPaa?GZxHMhJU4yoK)}oo!fQCd5Rj3I_Xr zQhC-Z>gVu`26#WCBBiI4)_kAN%iN-E&l)Kxtd0g&*VAD?szM>pw!%}wez<2oIET~FSD)t#Iv@BE!21*4<1K|6E<*KfML|tVSNJkzn4nTPL5OczA@q?;5M)Q^ z3%7S%6|M~VCd7p5innHr6}26L#F>TZVoKL5;yJ%>Vi7w3_vo?Gz`H@x9Tu6=O?q`w z&EImIwaA=j{F%k6k7L>Mz;WK^_K4rTQNycy!?E)FET~y*#)qrBu=-s-yj)80u=NVk zKi6UPx+Z+z--xNtY7kpliMah|aPs~k1gWRttXC|wkF0^`z`0O-ITiQPW?kO&;Wsy-Z_^U^MUBUXq<)z1EsH9d8|?G2l0B9-bMU_(JWyU6Gm|WFvUMCJ zHlDB;8UUwGMuq+fK}l5zuCEM&(qMo5SmA|;&a>Dvc{Z-S41k$#G}60fV9Ssqe78K0 zj^;9`7@dOs%^aj|O+ohicuZZH2#Y>@P^y;$he=1VM6nR}QgbnG?rvo6kHVW}^HDx$ zG|HPa@T~X|2Od1l53cOzo>|!(Y*WZ4vo7(l$lJW7$48DEA%`8$m0%jAiY`4Bk-YvV z&-vZTNz;$9i%J4-PYULmp!IBG8_zkRIs8v@k>gG7@WBrsxZ+h8oV_HEoh`CZ{_%~A zCq3q0-EZ(-nb&;8rz?(iGeK?tF*x(Z9VL&J!fnk8c=un5M-q3;9Ww?ayiHJ_CkxHs zYK}d(o$Hk*vG)>FZf`f{|MuDPyTyV0Sa}y;uPo%s`bu8irHMc4T<61LJ)a1;!VP(s zc+87hwyS%>FNev(ajqs>`sl;d-U!ND`eMCNFX--6#Ek6U+~?XmZj}GTo}as7#yeA# zU6_mwr=yUxBo7(USMhP%bLhGM0UOBMoGO*G$?f$Ue|=s+{b4<9mmh~!ZW4NRc%#3L z1=3?waamOf@4p%$!rBp5OZ*V`BOJHqN8?+56q?=#q5SY{1Zoqa8>$u5>o^4KD6?Kxh$ zWT&=NL*}ul7z=P)(YR~va7I(i=sOKkoIN==y2EL*4=yz0R`-KX_f01>07eQM_ zRr!uW;!rxXD~@!x@1YARIpk+oMA>sY9ZI8u-2Yb7+@TGWlYWzmPCum3 zA8+W5@()tH*hM(*AulA%>L&EmRTft6&=mTd)fakw7%I3HI|#8Y-ogrlNFk%^USXog zDWR*~ZDEAGf@o>bUu>wGB4(vWif2-CMeRckV#$v#(rM?7q_%^crJFW~NzL~kl=fQJ zA`RHzjia^><%Voe-ncfNKP@@QvcsQpS7#0ADv!j&Mt5vpuo?AdcLBTd@jCYmVqRZH zaziat(1-!s8W7-A10SW!*y(r{hwKYcR~#X3 zn}dML0NmDDk2PswF!b7txQI}=U=0rVE5H5F3hu^|oD9K8NQ+g&8Pv_zLkIu&Zn2RUp(vYXP4Sz>2gV$Jl zXuIgccjOn|@VWC1Qob;;k-d7q-~;>q@*SV<@OM^4^;>0l4V1$= zo#(u+{Q`fTwwI6m31fr#tNFfC6knQ<#?D$LEVmCaMb>4 zmibi6z2)wAa_A?I$Wp=ko4v7mlp(gI8Q|}69k`~eVBYR7s8M>)mW8i)z3DI3?R2ED z0&6UD_JyDI4#fHwV`Nby?C-q5_locM`0p3K_5KFw-{%<8<2p2loyQ=rY>Yk?iPNX1 zU_qD}nzpNBZg5Z37FgiH!6`7!UIClf&G=Rkj#~?Y(SBhr_Bt^>hv*{a)kl7I@*;11 za*!`i&E(<}NBM+r9h-;!W2v`QettsAQFvd z*5OR(V%&K&3BPw+>xGWt0gUcbx(|XSs*INg^TjWj$+BnUZNC_g^997!uN3r!utG`LjTLt1#K4yL6-*! z7u59xrC3#An^RZ8tcSc1J5xb8(ArIyu}@JjYgZJ8^-&Zym30>;^;QzP>{b<~ujwIJ zYU&8DPU{LD^K^wg6>VYAF%3bZP)WF9t02h!>LOek_lvaueW76Qw`Ab{m;$f1Qe)VE ztY|}$86BKzK$;nSsLfc9-hJ1l#ia%` z=k;Lv(`rkf4|-Br(gy179Y<})y7YJQ* zs)Wf+Z-w!Rnxe1MD6#uyZ?P>hK@6OBTx_yx6HTXelR|xG``+QX`$iQX}0q z>3KC3ZcH1&*Oqzn@AB`bGw$|G!MDtOXwE)^Uv`)A zuc-#b|LQS|>v2H5hMPw!F{8&hJUCng-ggkLuBrHRE(X5SH^67%Qar5jM)MgTEXZ4h zsK8J>7#EJf9$^?ea5-`=O-1|AVc0EI#`Y)ey!O8ep3}9OhiAQD_aaryX*S2AM0@a2 z5A365IB(efIl^-@pqpruDnph<`1e^=Gi^oHSZfsJrtm8rh@DcRYccz!_JJa zeCl8$&%c?^ALV1X+ITgexVVvzdM9yE{$b7&J3Xl80k1Xx#ut5LG5Vc6j_;Pio2wuA z_1hbqp?8)GKIL(w%|W(os^A%JUwQmrT|Cbsc)pyD;~hSz;uTQ2?GN`ub5VNV2`Uo@ zL#|C36Vh(6_Sj55J7N*re;m%{p9gZb`dD^WUdFLk6S>wWkGCy4$4_Tm<>Yk@{PSu( zivw%fsH~o^ylvx4H$Ss{LU)XK)C*S^7{H*X5eDDT!+1LlsQSp^;*<}Zr~i~ozPx7p zYI#HmMi}Tmu9LSL@X%{74k?_*ukr@;vwDa*AulmJ=>>BC-p5#lW*l5|5nEM{;OgUK zbaLkT{**h-#_6!9%^WrX@NMmNw~5p0Q*YAk$oT*WBn6gRg{3DNpa|{ z5RED3;po0{4Xm}jp((mzTBsG;%=PfKIc@sp%vzWimQPT-%CeWy|1SbHCS7?cvM$ttJfEfnHdO|TKftG1ZXpM!Gwu~j3 zeo>@5&z-1t@LYPiXaj|o##8yZ3>r4>C|xZ$PY0INlFRkGbpPaAN_YQDIxo5kgZHTl zJ$1B%j1@Y<42wR(5W!HWZ|EnOO&BWtcusa}*D4Tr2jtyITxjeqKD|_FViZRg=z}W-0B_&r|Ae7AG|;DVEMO zej+WJqR9)7OV}@PDfhpU%=x>|^J(>Wyz4! zhi2nr)H1mGhCn|)qVpU^q5H@vEHetnx}odw`t~x&v@XW0mp(9*2}1UnSSS`{Vy0~g z{w}$p*e?3>63}h{{Xm;x>~8m-=a27#*(LIz6P-S` zvV$#}A8<-#1%G>TfMbo5c-7&p>~uMse|NHPk4;zf4eyULZT6Td@kHxne`GnWz=c=7 zaEqIX*l1w-5hKXdcEP>ON>1&Uz#keW^NKPH{u5`#YmUs|K1(@&Mr|7WL{m|oy@ zl50#^^=$F6o=u)KvTWQPb_{#R6+h+CM^y`pa{FS!H)D7`Gr+#_y%1R14R!p59rGV@ zk=}joGxQ^WZ&pEw*$}KYRg1Vs!Irr#PY94H(n1WX+%oar`75O!G! z-3N^n`fMB_WEYPV#+|hmK1>yaji;r;gH=-D`Dck>eQ1Pm^TZ$_a8&Sxk!T4% zdsGA^<*vdn1qKBiiN$Y)aQB5 z{g#%L(56Tw6_pXuAe-z>*}FuNXrPQxL@Ehs@1&t<=lk>f@4U|I{B_QKU(a>@akhns z?B^a6y%Dz-v5(tCO~bc|^mTTKd=6NM2Hds~DH-k-Np3qJ`n$nP^nFLT=z(;aC``Xl zgJ!N6a~kxB0+MlmEf8bDJWN#2om={39dmSY1w;iin?=v3{ReDtQ}RDK-?4eBr|upYCOZsGLj8nnn&pk1RF>%9vw^lvsC zccwu0Z8V;348%NjPu%?L46i5$+%@f~le z$*+=R?_8sAHy+XfMJW_&Pr}6hi%=G3f~VOw@V|Ks`mNr$nCyqE7yTg4eDE#Q9j8nV z!v35!Ug__``^){(otAiZryh4uSmIA?QCz3Kxq$)6n^~)a8*%shM8%-y}O4t>#X;hB34~ zpn&3QZqthLxAc48A39tsj`~*;s1Wr7UHd@sV{cQWbuJ}-38uwQoT%B+oT3N%Qt;Aq zbj#=stxFn?=A(0g-QSDM*ItURoG0;;~&wZ;2-2_EsrBt=i*!2X56dx zM3#RnrVQwtooPkzm|cQy=~8@&xPohLMaWUjN6z}wV3rA(-yVoF2klYNYJeYMBDm&h z;dk;9G(Xyew;QbBW@v|QaVxBIU5D1PIp`WT7)#|EXyU&}`r~I$_g@~S(d$moF2f3v z!8ejSrif!&TKJ&35ew@MpvK%Alg0)jKQ9w;6NBWBV*f=OED79- z*)vumXw@9pSu3I6%fA$_TTgR6Q_17tQL?+PLpFi}?bCiP&wjQMhyG1+LPtF*)Zqu9W2;jGaK!{mVF<; zitSHZ##WwK!WyuQQI|bDrORy7beZd} zM3+BsxgcKI^dPe83*jzH57ljK&9wo;JparWj|5JjP!U zxw_mIoqhIN^fkLzH2BLPc1~W2eV3fXrt3{-bKcKozp@z1eWAn37O!Hj<{Gn6hpgDY z-eYXHToBV58ppP|XS2&nC9J>S9hSVilR5mA;geUX@UGA$yzm5t|_F^{f$6?fwXfkH^vQoh!&a$A!GsB-7B-H!0Nf4>gP# zgQ6Z_@B~Y|H}%EWGba(EnuE>$S1|hRbzG{gMf}EFc&=LutCA|TJnZw7W0x`F+j%%i z=it$rbf_f9!E$XlKD!;q+yoCG`6y1f9f6LcD=hlCSzEBgB4bSpu{$r#7a*`T`H4I}#b;_P~V%=zYzHC=wli1k9- z#G^R!|9`D#S>m&jB?A8(z!`(%Sa>86T}z5ka<2|^lG-pi?+JF`kz=-UWvjrm2ga5832zjuDHL_9A_?Y=&FrGMAZi>D857XsCIf+TMQ{%I5bT3%~=>rC1rKv3H#RkH*_AhCgw$Xr$e7e3Mm=3)@K&^8fNoRNv z)i|Fbhx#hI81j^s?CYW9B!-y9l30013|XQcdROw0j3chlpXM0qoq2$o<{HxI<^}X? zj2Z202&V<5l@wX@k499CgUm_7tjJBsGO~hMlpQ`~?L+WUS~`HIZ#QqkXaK>GJubB#|FMdb(L;JL3{%{k=}bn)TF{dzT)4X{C)f-w@aM zM<1>Z#=FANm~~SXmV>9_ht?!q6d#GHi=V^&~(2A^AG~p+mD2amZyJ z{u*t>eV0S9^9#hg6|qQaPC`ge8pa>Ugwdl@XkL8=2NZMgChHVvRuV)bLlOAy2*%Dc z?em|NXkMiUpZV)C;`md(Z*gCWi0>rj>d_frd!^gwD9>+`tU50 zJl(I*a`|^u@k<+=LJ7T>|I#&?deT{xO0WALrQeo1wC<}sdDT1< zPG)l<zSI51#7l(VmnUxvI+Mh zS>EC_HZ)%WoY{;_#k-^hxX*d?e`gM z9G?k4!z6_H#9)Jc2we32u*lF8V*TC0eBDr4?1o39U2rJF4&jTpAmgTh8plysq0mKM z!BvEJmq}$^Bgy^krA^jjA>YO!VY>;Hr){w2usce`{4k>>07E|nqE0^mqvrZz`bc*y zylao@w4IQTG{ao29T?;7gdJMJnB|m#ml>t#YPkdJuaA&Z_ymK@9^gh^4c1I8#C)rC z>|PrSrH;@(4hP_1l{YM=IwN?t8I~+1(1p?XH|ZO7jVq-+JeD-l{K(5GkRoLgX?If* zxxKkVH}HWL8uo|JjDctlm&K_&gHiEL97A2+k$ZSKZQ6N~ZZC78V9ovXv)z*>@&q!{ zDyG3@4`}4IPeil(;bNaxt@e<>$FF}$Vdfi(;Wud1lnfgF#)J3(eYz=3ry2hgDewAx z%4xErguFC5F}RhUpB{+ouIfI8g>?gt&s z>l7@6Ql5heJ!2qCWnJpYw4}=tzO-c3Nvc)Op~9`j^lM}djnBDF!#_MA+a)haT5yz+4rek)Xs`qPLOpQ!i64d^4uNT73{=mjVAYpwlrA}k)V8x2Rg(d`tI@bp;f-CZ z_hWLK8S0mrqVa+S6o&7^isJo9eq(`y?yJ%BVLFy3O2e_Oj{a*+ptwOH^yg4Kc~J?u zE_qF^>joj+Sq%vTmgA`PPSk!phQY)9VK*=Yo4rHuIX4jd^!yOg&kJ9+xgl@)5i~|S z;@G9V&}}t?PV`Dl{yqoWJ}E(G??1A#si$>Lsgx)jrH&vSTCJ!+{gs{zhPl~7#SvHG z$Phs&KRQUbcK;5aBa_VEy>sGw!xwXd>!bOV?LV1%Z5{iqoWnNmi)C7Wg4iVAw?0n%ww&}G3TWBT2{4f6y_3L>o zs(X7~Bt0fawDnW8sQS3CXoTHSQIPXNk=BnxqL#OwqP(vmB9)n`qF0rdMIVcrMBBPQ zi^L_R*zX*9cJR*xHd}iJ>({}VUBF8Ata3B^w{Smm;2!LkSuh*Z8OLTMXETM_SD3@u zTBcLi&hCusVtSaBQ_-KnA z9)YmZNrK6XmMR`;vLfjQNXUQ&jHE0G54(@2d1(yIv}*HfnCuvDGMT$YA3d>8)S zQ=knGmXX^TUwY_WL?>r|qK8h3Xseo!RfcPjaMBVHqwJ88ZHvN$ow#<`2(^Cm!R-}s z{8%S-X`H7o5?&OUWJHHEbFqeR`9ID>jkGjHfjA z%NJ_tmcW&#@`&1~g5!6lBTjb~t}AK4A$%-M`Zyg`(m^9$-=uFbm*~jMViFsCn>@5W z()X7#xSy*GTXRhekRzO#y$bf)oAKk*erQ>HeoJg?iNw%2cbO*$FxH<69mr ze_TT;<35m8`5;7vO~#7Di*X}-8#cPSK$ztZQBo*g%7kOx^bmO5Iu41UUKnEGimm>K zFl3SwW({+IveG`3YMEoue0``|&BNM3qhbEDm;Tu`&@81i@|SiYb;ZS0=%YXiJN&(-s3HMQ@He(!~De0<^1gAiF~@V1Yh&|F>}-_WA_ttn9<7= zHfDbUGtrM{zEbgQ@q##Zq2>fT6&}mF&&INKr%$ryN{KA1EQQ(1r!$AoX>5jg3NwBX z$D9vDv7_&TnbJEyW)$YhmJd40(roNl-R7Mv@6blJY=ka*|3r(;4xGYXCn~a{-O_Bd z$ybr($yQNeOr_}G%JZVrqccT|d=f==$tOiWm!1@vJWmugrDcmghh7yucWxE+7W@#k zZWzogzmH+%XEj;Y7qAMOHEdc`(M5PRDsiBm66I!pWN< zI3T3rC54zwG0#V*F%2ULCoqOfdO4P*dbhpxzGgFZ>?B&p$Y1%sxdX~>__s1Qkp$c}C_|uyt6%uLQ*kU@J z*Fwt%e4`6J64>817_U#uVSm5D_&2XV!bd%$hs_u1L|PdAv9+gf4SUJB%$F{2PA5FB zq@t})X_54Ia!D6M!YxUtR*B>-8DI;UQ1X>#GNa9OGBsq5oReb0WQf}T5 z8W(&OF5R6-Nr7hc=uHf*2(Kln{bGIlqyi(oMR4&jL06zP9&fRSuHk+hS22fj>Pg=gS0qm{U1_i@fAu6K10%FXUW_9 z8vT}eKu_yGk&1*kCVw1)SNBKZ$0&7d%wLSq+m^_FbsT;ceU7!X2;ai4<7NI$tW>SS zx`Ipi{VxmBPB9Q}`{PWaC&u1(Ls7abVyE}@Wx6#~Bi12r#(ac7R6yapZ?x&;Jv#LM z7WI>Cr;0N_>FZND)GSj&^_;~h*kz7&3NBEb9st+*5jg!X3YQ}zV74U)o_XFl+vofa z%N#LB^8ixR9B{k$06sq7k43fHQEJaOB7PuDk?kvQMC4#1RFeG zkHrT=1Gdee?9Yr)itKVn}2?S zlFwy%3VnU2NDWA4y-$e3r0M^VQh3Xi~^ zybP$WDn#Pca@^T;1793#QU9O@@8Zhw<>+PP@5{%5foIS@CJQDzGT>UBj#1Ck&=!?~ zBHIM~S094~abZws55TgqzIZvx6Oz_PQCew(sAGK%7`O--m&RjX@n2d$sFpg9UZA-e zm9$ayGp#tHh)C517@)lYajiDkn(Kk-dj81J2*IueVTd#h#lXBk9I*94lNs%|^w zkoSjRFnc>HrHzoOz6hF|H4!>Y5%TgssJpd-vZ|wKvz{&4Ej6Pv@9k(&a41FSpC$9- z_4Mk;drC;{k9XpOAX_O1*`u;>)Rw}OJ)cNBxrP=;CDOZ%u4I~crGsv<)EIk- z%vL_2NgouRFZ{U|ZhfY!|%O*2j3 z3+az4go_uFh0}+x3m>Y)DgWSn>ghQ|qij!8)8;3Xnm+^1Lk!5Z5o9L1MOZxlvC;3hth{JD2L0e-QRCDJ+VxtJ@bLJyXdMf6hl84pBAEdVA z7SXgE>KdCsf$<46zA%eqhZj=Dx(af$Z={y=mn0)8j-RW>WAu&{xINhg(+uKpwWbhN zyJ`_OwHZz~A3$YLBYdLE@nqFGu=&Y2J2?_>ZU*8{ydPFS^g?mQQ9SM4jSjWdXn#Hf zo5soGuH}DJ)c0P;o$aAoB`L_hP{h4g8fdw;6svN#A;RAk-=7CU>O?fwYQ~}K-3j1m z1k!&W$Bw*X=$B`Qg~Aws+WNwlVcQGZ=Y>of((L_G-nk{gDx@ZbBei8{x(L#hux* zNqyX!vW69J;Ot(lD%0LB$LeZ+i^@`;i=NDD7M1R}FABKPE?U_Cov7l;50UXADVEVJ z&n~M?W>+;BJD#+brLMMN@u9x#hfOS7*wrvJjaEb8s t_ac&e0w0Hsu9%}PU6 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%0DJNk4Q4+g`I^6ET%(Oi%4_hmdk22!A4Wh!5SDBX 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⪼#5nb0qZfqqRWPS_p9ffjd! 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℞DRs!CJjbSNIurgPlK(V9j%nl(>|1|50< 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 @ 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 -#include -#include -#include -#include - -using Json = nlohmann::json; -using namespace radar; - -namespace { -auto complex_samples(const Json& samples) -> std::vector> { - std::vector> values; - for (const auto& sample : samples) { - values.emplace_back(sample.at(0).get(), sample.at(1).get()); - } - return values; -} - -auto collection(const Json& source) -> ipc::PreprocessedCollection { - ipc::PreprocessedCollection result; - result.collection_id = source.at("id"); - result.monotonic_ns = source.at("timestamp"); - for (const auto& entry : source.at("traces")) { - ipc::SweepTraceBlock trace; - trace.combo = {entry.at("input"), entry.at("output")}; - trace.capture_start_ns = entry.at("start"); - trace.capture_end_ns = entry.at("end"); - trace.frequency_hz = entry.at("frequency").get>(); - for (const auto& sample : complex_samples(entry.at("s21"))) { - trace.s21.push_back({sample.real(), sample.imag()}); - } - if (result.traces.empty() || trace.capture_start_ns < result.capture_start_ns) { - result.capture_start_ns = trace.capture_start_ns; - } - result.capture_end_ns = std::max(result.capture_end_ns, trace.capture_end_ns); - result.traces.push_back(std::move(trace)); - } - return result; -} -} - -// Runs the sar3d processor once: the JSON request on stdin holds the antenna -// geometry, the live settings and the latest and previous collections; the -// published payloads go to stdout as JSON. -int main() { - try { - const Json input = Json::parse(std::cin); - config::RunConfig config; - config.rings.results.slot_size_bytes = input.value("slot", config.rings.results.slot_size_bytes); - for (const auto& row : input.at("tx")) { - config.gpr.tx_geometry.push_back({row.at(0), row.at(1), row.at(2), row.at(3)}); - } - for (const auto& row : input.at("rx")) { - config.gpr.rx_geometry.push_back({row.at(0), row.at(1), row.at(2), row.at(3)}); - } - processing::ProcessingLiveConfig live; - live.gpr_start_freq_mhz = input.at("f_start").get() / 1e6F; - live.gpr_stop_freq_mhz = input.at("f_stop").get() / 1e6F; - live.gpr_min_depth_m = input.at("min_depth"); - live.gpr_max_depth_m = input.at("max_depth"); - live.gpr_speed_m_s = input.at("speed"); - live.gpr_look_angle_deg = input.at("pitch"); - live.sar3d_voxel_m = input.at("voxel"); - live.sar3d_bp_ground_depth_m = input.at("ground"); - live.sar3d_frame_radius = input.at("radius"); - live.sar3d_comp_range_power = input.at("power"); - live.sar3d_use_compensation = input.at("compensation"); - live.sar3d_normalize_each_frame = input.at("normalize"); - std::vector previous; - for (const auto& member : input.at("previous")) { - previous.push_back(collection(member)); - } - processing::Sar3dProcessor processor; - const auto result = processor.process_collection(config, collection(input.at("latest")), previous, live); - Json payloads = Json::array(); - for (const auto& payload : result.collection_payloads) { - payloads.push_back({{"name", payload.processing_name}, - {"x", payload.image_x_axis}, {"y", payload.image_y_axis}, - {"image", payload.image_values}, {"table", payload.table_values}, - {"columns", payload.table_columns}}); - } - std::cout << Json{{"payloads", payloads}} << '\n'; - } catch (const std::exception& error) { - std::cout << Json{{"error", error.what()}} << '\n'; - return 1; - } -} diff --git a/data_acq_and_processing/tests/sar3d_reference.npz b/data_acq_and_processing/tests/sar3d_reference.npz index d6af539e09d62a06e56d19c7290aedb758e293c4..841b989bc92eb419b43939fc19573c86781c3248 100644 GIT binary patch literal 90046 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

qJM85EU>7j+2+iekOw*s+Rlyu4XEqII0;zv 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 literal 83806 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�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 U1rjG2Cz%)(85zSRB9QF=0ZtcXHvj+t diff --git a/data_acq_and_processing/tests/test_sar3d.py b/data_acq_and_processing/tests/test_backprojection.py similarity index 67% rename from data_acq_and_processing/tests/test_sar3d.py rename to data_acq_and_processing/tests/test_backprojection.py index 2ffc645..47de655 100644 --- a/data_acq_and_processing/tests/test_sar3d.py +++ b/data_acq_and_processing/tests/test_backprojection.py @@ -1,9 +1,9 @@ """The sar3d processor on the real CUDA backend: notebook reference and contracts. -Every case runs build/native_tests/sar3d_fixture (SAR3D_FIXTURE overrides it). +Every case runs build/native_tests/backprojection_fixture (BACKPROJECTION_FIXTURE overrides it). Without a usable GPU the processor publishes sar3d_status 3: then only that warning is checked and the remaining tests are skipped. The notebook is needed -only to regenerate sar3d_reference.npz with generate_sar3d_reference.py. +only to regenerate sar3d_reference.npz with generate_backprojection_reference.py. """ from __future__ import annotations @@ -17,15 +17,18 @@ import unittest import numpy as np ROOT = Path(__file__).resolve().parents[2] -FIXTURE = Path(os.environ.get("SAR3D_FIXTURE", ROOT / "build/native_tests/sar3d_fixture")) +FIXTURE = Path(os.environ.get("BACKPROJECTION_FIXTURE", ROOT / "build/native_tests/backprojection_fixture")) REFERENCE = Path(__file__).with_name("sar3d_reference.npz") VIEWS = ("sar3d_front", "sar3d_side", "sar3d_top", "sar3d_oblique") -def run(request: dict) -> dict[str, dict]: +def run(request: dict | list[dict]) -> dict[str, dict]: output = subprocess.run([str(FIXTURE)], input=json.dumps(request), text=True, capture_output=True, timeout=30, check=True) - return {item["name"]: item for item in json.loads(output.stdout)["payloads"]} + result = json.loads(output.stdout) + if isinstance(request, list): + result = result[-1] + return {item["name"]: item for item in result["payloads"]} def status(payloads: dict[str, dict]) -> tuple[int, str]: @@ -87,6 +90,8 @@ class Sar3dTest(unittest.TestCase): rtol=2e-6, atol=1e-6) np.testing.assert_allclose(np.asarray(payload["image"]).reshape(expected.shape), expected, rtol=2e-3, atol=3e-4) + np.testing.assert_allclose(payloads["sar3d_target_width"]["table"], + self.reference[f"case_{index}_target_width"], rtol=2e-3, atol=2e-4) peak = payloads["sar3d_peak"]["table"] expected_peak = self.reference[f"case_{index}_peak"] np.testing.assert_allclose(peak[1:], expected_peak[1:], rtol=0, atol=2e-6) @@ -112,6 +117,15 @@ class Sar3dTest(unittest.TestCase): self.assertEqual(code, 2, message) self.assertTrue(message) + def test_cached_aperture_updates_when_previous_mean_context_changes(self) -> None: + request = self.scene(subtract_mean=True, mean_count=1) + shorter = copy.deepcopy(request) + shorter["previous"] = shorter["previous"][-1:] + cached, fresh = run([request, shorter]), run(shorter) + self.assertEqual(status(cached)[0], 0, status(cached)) + for name in VIEWS: + np.testing.assert_allclose(cached[name]["image"], fresh[name]["image"], rtol=2e-3, atol=3e-4) + def test_empty_signal_is_reported_without_a_peak(self) -> None: request = self.scene(previous=[], radius=0) for trace in request["latest"]["traces"]: @@ -135,5 +149,32 @@ class Sar3dTest(unittest.TestCase): self.assertLess(values.max(), 1e-10) +class GprTest(unittest.TestCase): + def test_changing_tx_rx_counts_rebuilds_the_cached_grid(self) -> None: + with np.load(REFERENCE.with_name("gpr_reference.npz"), allow_pickle=False) as reference: + base = json.loads(reference["case_0_request"].item()) + requests = [] + for tx, rx in ((2, 1), (1, 2)): + request = copy.deepcopy(base) + request.update(tx=[[i, 0, 0, 0] for i in range(tx)], rx=[[i, 0, 0, 0] for i in range(rx)]) + request["latest"]["traces"] = [trace for trace in request["latest"]["traces"] + if trace["output"] < tx and trace["input"] < rx] + requests.append(request) + np.testing.assert_allclose(run(requests)["gpr_accumulator"]["image"], + run(requests[-1])["gpr_accumulator"]["image"]) + + def test_coherent_ground_bp_matches_horns_and_notebook_equalizer(self) -> None: + with np.load(REFERENCE.with_name("gpr_reference.npz"), allow_pickle=False) as reference: + for i in range(3): + with self.subTest(case=i): + request = json.loads(reference[f"case_{i}_request"].item()) + payload = run(request)["gpr_accumulator"] + expected = reference[f"case_{i}_image"] + np.testing.assert_allclose(np.asarray(payload["image"]).reshape(expected.shape), expected, + rtol=2e-4, atol=3e-5) + np.testing.assert_allclose(payload["y"], np.linspace(.1, request["max_depth"], expected.shape[0]), + rtol=1e-6, atol=1e-7) + + if __name__ == "__main__": unittest.main() diff --git a/device_firmware/librevna_protocol.md b/device_firmware/librevna_protocol.md index 78019b8..dceac3d 100644 --- a/device_firmware/librevna_protocol.md +++ b/device_firmware/librevna_protocol.md @@ -273,6 +273,26 @@ runtime-бандлы пересобираются из NPZ при Start. Ста не меняет. RSL2 отвергается; Python и C++ обновляются одновременно после остановки процессов. +### Живые настройки backprojection + +GUI публикует настройки через `processing_live.json`; формат кадров колец от +изменения настроек не меняется. Для coherent GPR и SAR `pair_depth_equalize` +(boolean, по умолчанию true) включает `equalize_pairs_by_depth` перед медианной +нормировкой пары. `gpr_background_subtract_enabled` и `gpr_background_mean_count` +действуют в обоих режимах: среднее предыдущих коллекций вычитается до IFFT. +Плоскость coherent GPR — земля с высотой `gpr_bp_ground_depth_m` и наклоном +`gpr_look_angle_deg`. SAR использует `sar3d_frame_radius` предыдущих кадров и +текущий. Размеры сцены: `sar3d_x_size_m`, `sar3d_z_size_m` (0 — автоматически), +`sar3d_y_min_m`, `sar3d_y_max_m` — наземные координаты, независимо от depth gate. + +SAR публикует `sar3d_target_width` как TableF32 с тремя колонками [X,Y,Z]: +ширины непрерывного отклика на половине максимума по осевым сечениям через +совместный максимум сглаженного объёма (метры, не меньше одного вокселя). +`sar3d_peak` по-прежнему содержит [уровень,X,Y,Z]. GUI использует ширины для +квадратного контура цели. Зум и `SAR_CLOUD_THRESHOLD` — настройки отображения +desktop/веба; в live-файл не входят, ревизию и расчёт не меняют. RSL3 не меняется: +новая таблица использует существующий тип payload. + ## 7. Почему поле мощности читается, но не используется В парсере стоит: diff --git a/python_app/gui/controllers/config_controller.py b/python_app/gui/controllers/config_controller.py index 59f300c..c65b459 100644 --- a/python_app/gui/controllers/config_controller.py +++ b/python_app/gui/controllers/config_controller.py @@ -10,7 +10,7 @@ import math from pathlib import Path from PyQt6.QtCore import QSignalBlocker -from PyQt6.QtWidgets import QCheckBox, QComboBox, QDoubleSpinBox, QFormLayout, QLabel, QSpinBox +from PyQt6.QtWidgets import QCheckBox, QComboBox, QDoubleSpinBox, QFormLayout, QLabel, QSlider, QSpinBox from python_app.storage.npz.paths import radar_config_filename_prefix from python_app.gui.antenna_geometry_editor import AntennaGeometryEditor @@ -61,7 +61,6 @@ _ADC_FIELDS = ( ("radar.laser_control.variation.delay_time", "_optical_delay_time_input"), ) _GEOMETRY_FIELDS = { - "relative_permittivity": "_gpr_relative_permittivity", "tx_geometry": "_gpr_tx_geometry_input", "rx_geometry": "_gpr_rx_geometry_input", } @@ -97,15 +96,15 @@ def _set_web_widget(widget: SettingWidget, value: object) -> None: if isinstance(widget, QCheckBox): if not isinstance(value, bool): raise ValueError("Checkbox value must be true or false") - elif isinstance(widget, (QSpinBox, QDoubleSpinBox)): + elif isinstance(widget, (QSpinBox, QDoubleSpinBox, QSlider)): if isinstance(value, bool) or not isinstance(value, (int, float, str)): raise ValueError("Numeric setting requires a number") numeric = float(value) if not math.isfinite(numeric) or not widget.minimum() <= numeric <= widget.maximum(): raise ValueError("Numeric setting is outside its allowed range") - if isinstance(widget, QSpinBox) and numeric != int(numeric): + if isinstance(widget, (QSpinBox, QSlider)) and numeric != int(numeric): raise ValueError("Setting requires an integer") - value = int(numeric) if isinstance(widget, QSpinBox) else numeric + value = int(numeric) if isinstance(widget, (QSpinBox, QSlider)) else numeric elif isinstance(widget, QComboBox): if not isinstance(value, str) or widget.findText(value) < 0: raise ValueError(f"Unknown setting option: {value}") @@ -192,7 +191,7 @@ class ConfigController: config.input_switch.positions <= 1 and config.output_switch.positions <= 1 or config.input_switch.driver_mode == config.output_switch.driver_mode == "mock" ) - if self._scalar("_processing_mode") not in {"gpr", "legacy_gpr", "sar3d"} and static: + if self._scalar("_processing_mode") not in {"gpr", "sar3d"} and static: config.combos = [ComboModel(0, 0)] for key in PREPROCESS_ASSET_NAMES: asset = preprocess_asset_model(config, key) @@ -224,7 +223,6 @@ class ConfigController: def geometry(self) -> GprModel: return GprModel( - relative_permittivity=float(self._scalar("_gpr_relative_permittivity")), tx_geometry=[GprTxGeometryModel(**entry) for entry in self._geometry("tx_geometry").records()], rx_geometry=[GprRxGeometryModel(**entry) for entry in self._geometry("rx_geometry").records()], ) @@ -242,9 +240,10 @@ class ConfigController: if binding.spec.live in {"gpr_input_positions", "gpr_output_positions"}: value = parse_position_csv(str(value)) setattr(config, binding.spec.live, value) - config.relative_permittivity = float(self._scalar("_gpr_relative_permittivity")) config.tx_geometry = self._geometry("tx_geometry").records() config.rx_geometry = self._geometry("rx_geometry").records() + if config.sar3d_y_max_m <= config.sar3d_y_min_m: + raise ValueError("SAR_Y_RANGE_M max must be above min") for axis in ("x", "z"): lower_name, upper_name = f"gpr_visible_{axis}_min_m", f"gpr_visible_{axis}_max_m" lower, upper = sorted((getattr(config, lower_name), getattr(config, upper_name))) @@ -279,7 +278,6 @@ class ConfigController: if binding.spec.widget: write_setting(_scalar_widget(self.fields[binding.spec.widget]), binding.read(gui)) write_setting(_scalar_widget(self.fields["_log_level_combo"]), config.logging.level.capitalize()) - write_setting(_scalar_widget(self.fields["_gpr_relative_permittivity"]), config.gpr.relative_permittivity) for name, count, records in ( ("tx_geometry", config.output_switch.positions, config.gpr.tx_geometry), ("rx_geometry", config.input_switch.positions, config.gpr.rx_geometry), @@ -292,8 +290,8 @@ class ConfigController: widgets = {binding.spec.web: (binding.spec.group, self.fields[binding.spec.widget]) for binding in active_web_fields(mode)} for name, widget_id in _GEOMETRY_FIELDS.items(): - if mode in ({"legacy_gpr"} if name == "relative_permittivity" else {"gpr", "legacy_gpr", "sar3d"}): - widgets[name] = ("Geometry & medium", self.fields[widget_id]) + if mode in {"gpr", "sar3d"}: + widgets[name] = ("Geometry", self.fields[widget_id]) return widgets def web_schema(self) -> list[dict[str, object]]: @@ -315,9 +313,10 @@ class ConfigController: entry.update(kind="select", options=[widget.itemText(i) for i in range(widget.count())]) elif isinstance(widget, QCheckBox): entry.update(kind="bool") - elif isinstance(widget, (QSpinBox, QDoubleSpinBox)): - entry.update(kind="int" if isinstance(widget, QSpinBox) else "float", - min=widget.minimum(), max=widget.maximum(), step=widget.singleStep()) + elif isinstance(widget, (QSpinBox, QDoubleSpinBox, QSlider)): + entry.update(kind="int" if isinstance(widget, (QSpinBox, QSlider)) else "float", + min=widget.minimum(), max=widget.maximum(), step=widget.singleStep(), + slider=isinstance(widget, QSlider)) if isinstance(widget, QDoubleSpinBox): entry["decimals"] = widget.decimals() elif isinstance(widget, AntennaGeometryEditor): @@ -357,7 +356,7 @@ class ConfigController: geometry_snapshots.append((widget, widget.records())) else: scalar_snapshots.append((widget, read_setting(widget))) - if isinstance(widget, (QSpinBox, QDoubleSpinBox)): + if isinstance(widget, (QSpinBox, QDoubleSpinBox, QSlider)): ranges.append((widget, widget.minimum(), widget.maximum())) try: if "processor_mode" in fields: diff --git a/python_app/gui/controllers/live_settings_controller.py b/python_app/gui/controllers/live_settings_controller.py index ff37d49..64bd391 100644 --- a/python_app/gui/controllers/live_settings_controller.py +++ b/python_app/gui/controllers/live_settings_controller.py @@ -17,8 +17,7 @@ from python_app.models.run_config_schema import RunConfigModel from python_app.models.setting_fields import active_live_fields from python_app.orchestration.live_processing_config import ProcessingLiveConfig, ProcessingLiveConfigWriter -_GPR_MODES = {"gpr", "legacy_gpr"} -_GEOMETRY_MODES = _GPR_MODES | {"sar3d"} +_GEOMETRY_MODES = {"gpr", "sar3d"} class LiveSettingsController: @@ -84,7 +83,7 @@ class LiveSettingsController: def commit() -> None: self.validate_mode(self._mode.currentText()) live_fields = {binding.spec.web for binding in active_live_fields(self._mode.currentText())} - if settings.keys() & (live_fields | {"tx_geometry", "rx_geometry", "relative_permittivity"}): + if settings.keys() & (live_fields | {"tx_geometry", "rx_geometry"}): self.publish() self.config.apply_web_fields(settings, commit) @@ -171,12 +170,12 @@ class LiveSettingsController: self._log.show_exception("Failed to update plot display settings", exc) def locator_changed(self, *_args: object) -> None: - if self._mode.currentText() in _GPR_MODES and self._publish_changes(): + if self._mode.currentText() == "gpr" and self._publish_changes(): self.visual_changed() def set_mode_page(self, mode: str) -> None: pages = self._processing.pages - pages.setCurrentIndex({"pass_through": 0, "bscan": 1, "gpr": 2, "legacy_gpr": 3, "sar3d": 4}.get(mode, 0)) + pages.setCurrentIndex({"pass_through": 0, "bscan": 1, "gpr": 2, "sar3d": 3}.get(mode, 0)) self._processing.geometry_page.setVisible(mode in _GEOMETRY_MODES) page = pages.currentWidget() if page is not None: diff --git a/python_app/gui/controllers/plot_controller.py b/python_app/gui/controllers/plot_controller.py index d08ed04..22ba0ed 100644 --- a/python_app/gui/controllers/plot_controller.py +++ b/python_app/gui/controllers/plot_controller.py @@ -55,7 +55,7 @@ class PlotController: return self.sar3d.grid if current is self.sar3d.widget else current def set_mode(self, mode: str) -> None: - renderer = {"bscan": self.bscan, "gpr": self.gpr, "legacy_gpr": self.gpr, "sar3d": self.sar3d}.get(mode, self.trace) + renderer = {"bscan": self.bscan, "gpr": self.gpr, "sar3d": self.sar3d}.get(mode, self.trace) self.stack.setCurrentWidget(renderer.widget) self.sync_display_combos() @@ -114,15 +114,15 @@ class PlotController: def draw(self, collection: ResultCollection) -> bool: settings = self._settings() mode = settings.selected_mode - if mode in {"gpr", "legacy_gpr", "sar3d"} and self.required_revision is not None: + if mode in {"gpr", "sar3d"} and self.required_revision is not None: if collection.settings_revision != self.required_revision: return False if mode == "bscan": return self.draw_bscan() - if mode in {"gpr", "legacy_gpr"}: - return self.gpr.draw(collection, settings.legacy_gpr if mode == "legacy_gpr" else settings.gpr, self._geometry()) + if mode == "gpr": + return self.gpr.draw(collection, settings.gpr, self._geometry()) if mode == "sar3d": - return self.sar3d.draw(collection) + return self.sar3d.draw(collection, settings.sar3d, self._geometry()) return self.trace.draw(collection, settings.pass_through) def redraw(self, *_args: object) -> None: @@ -144,14 +144,13 @@ class PlotController: self.sync_display_combos() def clear_gpr(self) -> None: - settings = self._settings() - self.gpr.clear(settings.legacy_gpr if settings.selected_mode == "legacy_gpr" else settings.gpr) + self.gpr.clear() def clear_current(self) -> None: mode = self._settings().selected_mode if mode == "bscan": self.clear_bscan() - elif mode in {"gpr", "legacy_gpr"}: + elif mode == "gpr": self.clear_gpr() elif mode == "sar3d": self.sar3d.clear() diff --git a/python_app/gui/controllers/renderers/common.py b/python_app/gui/controllers/renderers/common.py index 893fe41..bab5a46 100644 --- a/python_app/gui/controllers/renderers/common.py +++ b/python_app/gui/controllers/renderers/common.py @@ -3,6 +3,8 @@ import numpy as np import pyqtgraph as pg +from python_app.models.run_config_schema import GprModel +from python_app.models.run_config_validation import parse_position_csv from python_app.gui.theme import PLOT_BACKGROUND @@ -22,3 +24,16 @@ def build_lut(stops: list[str], *, size: int = 256) -> np.ndarray: for channel in range(3): lut[:, channel] = np.interp(sample_positions, stop_positions, stop_colors[:, channel]).astype(np.uint8) return lut + + +# Same Tx/Rx markers on ground BP and the three planar SAR views. +ANTENNA_STYLES = (("t", "#ff595e", "#ffca3a"), ("t1", "#4cc9f0", "#e0fbfc")) + + +def selected_antenna_coordinates(geometry: GprModel, inputs: str, outputs: str) -> tuple[np.ndarray, np.ndarray]: + selected_inputs, selected_outputs = parse_position_csv(inputs), parse_position_csv(outputs) + tx = [[row.x_m, row.y_m, row.z_m] for row in geometry.tx_geometry + if not selected_outputs or row.output_pos in selected_outputs] + rx = [[row.x_m, row.y_m, row.z_m] for row in geometry.rx_geometry + if not selected_inputs or row.input_pos in selected_inputs] + return np.asarray(tx, dtype=float).reshape(-1, 3), np.asarray(rx, dtype=float).reshape(-1, 3) diff --git a/python_app/gui/controllers/renderers/gpr.py b/python_app/gui/controllers/renderers/gpr.py index b03fccf..8e94f8e 100644 --- a/python_app/gui/controllers/renderers/gpr.py +++ b/python_app/gui/controllers/renderers/gpr.py @@ -6,18 +6,14 @@ from PyQt6.QtCore import QRectF import numpy as np import pyqtgraph as pg -from python_app.gui.controllers.renderers.common import build_lut, create_plot +from python_app.gui.controllers.renderers.common import ANTENNA_STYLES, build_lut, create_plot, selected_antenna_coordinates from python_app.gui.result_payloads import ( - collection_payload_by_name, collection_payloads_by_prefix, - filter_object_rows, gpr_object_rows, + collection_payload_by_name, gpr_object_rows, ) -from python_app.models.run_config_validation import parse_position_csv from python_app.models.dataset_model import ResultCollection, ResultPayload -from python_app.models.gui_profile_schema import GuiGprStateModel, GuiLegacyGprStateModel +from python_app.models.gui_profile_schema import GuiGprStateModel from python_app.models.run_config_schema import GprModel -GprSettings = GuiGprStateModel | GuiLegacyGprStateModel - def normalized_display_range(start: float, stop: float, *, minimum_span: float = 0.1) -> tuple[float, float]: """Order display bounds and expand an empty interval around its center.""" @@ -54,8 +50,8 @@ def object_label_candidates( ] -def _title(settings: GprSettings, *, objects_only: bool = False) -> str: - title = f"Legacy GPR {settings.mode}" if isinstance(settings, GuiLegacyGprStateModel) else "GPR coherent BP" +def _title(*, objects_only: bool = False) -> str: + title = "GPR coherent BP — ground plane" return f"{title} Objects Only" if objects_only else title @@ -63,7 +59,7 @@ class GprRenderer: """Draw one collection from explicit display settings and antenna geometry.""" def __init__(self) -> None: - self.widget = create_plot("GPR coherent BP") + self.widget = create_plot("GPR coherent BP — ground plane") plot = self.widget.getPlotItem() assert plot is not None self._plot = plot @@ -75,17 +71,14 @@ class GprRenderer: self._tx = pg.ScatterPlotItem() self._rx = pg.ScatterPlotItem() self._points = pg.ScatterPlotItem() - self._region_centers = pg.ScatterPlotItem() - self._markers = (self._tx, self._rx, self._points, self._region_centers) - for item, z_value in zip((self._image, *self._markers), (0, 20, 20, 30, 30)): + self._markers = (self._tx, self._rx, self._points) + for item, z_value in zip((self._image, *self._markers), (0, 20, 20, 30)): item.setZValue(z_value) item.hide() self._plot.addItem(item) self._labels: list[pg.TextItem] = [] - self._masks: list[pg.ImageItem] = [] - self._contours: list[pg.IsocurveItem] = [] self._geometry_signature: tuple[object, ...] | None = None - self._selected_geometry = (np.zeros(0, dtype=np.float32), np.zeros(0, dtype=np.float32)) + self._selected_geometry = (np.empty((0, 3)), np.empty((0, 3))) def _configure_axes(self) -> None: plot = self._plot @@ -103,13 +96,11 @@ class GprRenderer: view.setMenuEnabled(False) def _clear_annotations(self) -> None: - for item in (*self._labels, *self._masks): + for item in self._labels: self._plot.removeItem(item) self._labels.clear() - self._masks.clear() - self._contours.clear() - def clear(self, settings: GprSettings) -> None: + def clear(self) -> None: """Clear displayed data while retaining reusable graphics items.""" self._configure_axes() self._clear_annotations() @@ -117,41 +108,25 @@ class GprRenderer: for marker in self._markers: marker.setData(x=[], y=[]) marker.hide() - self._plot.setTitle(_title(settings)) + self._plot.setTitle(_title()) - def _geometry(self, settings: GprSettings, geometry: GprModel) -> tuple[np.ndarray, np.ndarray]: - inputs = tuple(parse_position_csv(settings.input_positions)) - outputs = tuple(parse_position_csv(settings.output_positions)) + def _geometry(self, settings: GuiGprStateModel, geometry: GprModel) -> tuple[np.ndarray, np.ndarray]: signature = ( tuple((entry.output_pos, entry.x_m, entry.y_m, entry.z_m) for entry in geometry.tx_geometry), tuple((entry.input_pos, entry.x_m, entry.y_m, entry.z_m) for entry in geometry.rx_geometry), - inputs, outputs, + settings.input_positions, settings.output_positions, ) if signature != self._geometry_signature: - self._selected_geometry = ( - np.asarray([ - entry.x_m for entry in sorted(geometry.tx_geometry, key=lambda entry: entry.output_pos) - if not outputs or entry.output_pos in outputs - ], dtype=np.float32), - np.asarray([ - entry.x_m for entry in sorted(geometry.rx_geometry, key=lambda entry: entry.input_pos) - if not inputs or entry.input_pos in inputs - ], dtype=np.float32), - ) + self._selected_geometry = selected_antenna_coordinates(geometry, settings.input_positions, settings.output_positions) self._geometry_signature = signature return self._selected_geometry - def _draw_geometry(self, settings: GprSettings, geometry: GprModel) -> None: + def _draw_geometry(self, settings: GuiGprStateModel, geometry: GprModel) -> None: tx, rx = self._geometry(settings, geometry) - for marker, xs, symbol, brush, pen in ( - (self._tx, tx, "t", "#ff595e", "#ffca3a"), - (self._rx, rx, "t1", "#4cc9f0", "#e0fbfc"), - ): - marker.setData( - x=xs, y=np.zeros_like(xs), symbol=symbol, size=13, - brush=pg.mkBrush(brush), pen=pg.mkPen(pen, width=1.0), - ) - marker.setVisible(xs.size > 0) + for marker, coordinates, (symbol, brush, pen) in zip((self._tx, self._rx), (tx, rx), ANTENNA_STYLES): + marker.setData(x=coordinates[:, 0], y=coordinates[:, 2], symbol=symbol, size=13, + brush=pg.mkBrush(brush), pen=pg.mkPen(pen, width=1.0)) + marker.setVisible(len(coordinates) > 0) def _label(self, text: str, x: float, y: float, color: str) -> pg.TextItem: label = pg.TextItem(text=text, color=color, anchor=(0.0, 1.0)) @@ -161,34 +136,6 @@ class GprRenderer: self._labels.append(label) return label - def _draw_regions(self, collection: ResultCollection, rect: QRectF) -> None: - centers_payload = collection_payload_by_name(collection, "gpr_region_centers", kind=4) - if centers_payload is not None and np.asarray(centers_payload.table).size > 0: - centers = np.asarray(centers_payload.table, dtype=np.float32) - self._region_centers.setData( - x=centers[:, 0], y=centers[:, 1], symbol="o", size=10, - brush=pg.mkBrush("#80ed99"), pen=pg.mkPen("#081c15", width=1.1), - ) - self._region_centers.show() - for row in centers: - self._label(f"{float(row[2]):.0f}", float(row[0]), float(row[1]), "#d8f3dc") - for payload in collection_payloads_by_prefix(collection, "gpr_region_mask_", kind=3): - mask = np.asarray(payload.image, dtype=np.float32) - if mask.ndim != 2 or mask.size == 0: - continue - mask_image = pg.ImageItem(axisOrder="row-major") - mask_image.setZValue(5) - mask_image.setImage(mask, autoLevels=False) - mask_image.setRect(rect) - mask_image.setOpacity(0.0) - self._plot.addItem(mask_image) - contour = pg.IsocurveItem(data=mask) - contour.setLevel(0.5) - contour.setPen("#4cc9f0", width=1.3) - contour.setParentItem(mask_image) - self._masks.append(mask_image) - self._contours.append(contour) - @staticmethod def _place_object_label( label: pg.TextItem, x: float, z: float, x_span: float, z_span: float, occupied: list[QRectF], @@ -203,7 +150,7 @@ class GprRenderer: occupied.append(label.sceneBoundingRect().adjusted(-4.0, -4.0, 4.0, 4.0)) def _draw_points( - self, rows: np.ndarray, settings: GprSettings, objects_only: bool, x_span: float, z_span: float, + self, rows: np.ndarray, objects_only: bool, x_span: float, z_span: float, ) -> None: if rows.size == 0: return @@ -217,39 +164,33 @@ class GprRenderer: occupied: list[QRectF] = [] for x_value, z_value, score in rows: x, z = float(x_value), float(z_value) - text = f"{float(score):.0f}" if isinstance(settings, GuiLegacyGprStateModel) else f"{float(score):.2f}" + text = f"{float(score):.2f}" if objects_only: text += f" | x={x:.1f} | z={z:.1f}" label = self._label(text, x, z, "#ffd6d9" if objects_only else "#ffffff") if objects_only: self._place_object_label(label, x, z, x_span, z_span, occupied) - def draw(self, collection: ResultCollection, settings: GprSettings, geometry: GprModel) -> bool: + def draw(self, collection: ResultCollection, settings: GuiGprStateModel, geometry: GprModel) -> bool: """Render a heatmap or object-only view, returning whether data is present.""" objects_only = settings.render_mode == "objects_only" accumulator = collection_payload_by_name(collection, "gpr_accumulator", kind=3) x_min, x_max = normalized_display_range(settings.visible_x_min_m, settings.visible_x_max_m) z_min, z_max = normalized_display_range(settings.visible_z_min_m, settings.visible_z_max_m) rows = gpr_object_rows(collection) - # Coherent BP rows are finalized in C++; only legacy GPR uses GUI filtering. - if isinstance(settings, GuiLegacyGprStateModel): - rows = filter_object_rows( - rows, min_score=float(settings.min_visible_pair_count), - x_bounds=(x_min, x_max), z_bounds=(z_min, z_max), - ) if objects_only: if accumulator is None and rows.size == 0: - self.clear(settings) + self.clear() return False elif accumulator is None or not self._valid_accumulator(accumulator): - self.clear(settings) + self.clear() return False self.widget.setUpdatesEnabled(False) try: self._clear_annotations() self._image.hide() - for marker in (self._points, self._region_centers): + for marker in (self._points,): marker.setData(x=[], y=[]) marker.hide() self._view.invertY(False) @@ -274,13 +215,11 @@ class GprRenderer: points = collection_payload_by_name(collection, "gpr_points", kind=4) if points is None or np.asarray(points.table).size == 0: rows = np.zeros((0, 3), dtype=np.float32) - self._draw_points(rows, settings, objects_only, x_max - x_min, z_max - z_min) - if rect is not None: - self._draw_regions(collection, rect) + self._draw_points(rows, objects_only, x_max - x_min, z_max - z_min) if objects_only: self._view.setXRange(x_min, x_max, padding=0.0) self._view.setYRange(display_y_min(z_min, z_max), z_max, padding=0.0) - self._plot.setTitle(_title(settings, objects_only=objects_only)) + self._plot.setTitle(_title(objects_only=objects_only)) finally: self.widget.setUpdatesEnabled(True) return True diff --git a/python_app/gui/controllers/renderers/sar3d.py b/python_app/gui/controllers/renderers/sar3d.py index ebb4606..a4425c8 100644 --- a/python_app/gui/controllers/renderers/sar3d.py +++ b/python_app/gui/controllers/renderers/sar3d.py @@ -9,6 +9,7 @@ away from the Y boundaries: - ``sar3d_oblique``: orthographic projection along the camera of the notebook's 3D scene; ``sar3d_oblique_basis`` (2x3) gives its image axes u and v as scene directions, which places the scene box, the ground and the maximum on it; +- ``sar3d_target_width``: axial FWHM [X, Y, Z] in metres through the joint peak. - ``sar3d_peak``: [level, X, Y, Z] of that maximum before normalization. - ``sar3d_status``: [code, UTF-8 bytes...] with ready CUDA (0), no signal (1), processing error (2), or CUDA unavailable (3), including the explanation. @@ -23,13 +24,11 @@ import pyqtgraph as pg from PyQt6.QtCore import QRectF, Qt from PyQt6.QtWidgets import QGridLayout, QLabel, QVBoxLayout, QWidget -from python_app.gui.controllers.renderers.common import build_lut, create_plot +from python_app.gui.controllers.renderers.common import ANTENNA_STYLES, build_lut, create_plot, selected_antenna_coordinates from python_app.gui.result_payloads import collection_payload_by_name from python_app.models.dataset_model import ResultCollection, ResultPayload - -# Colours start at this fraction of the normalization reference; weaker voxels stay transparent, -# like those under the notebook's point-cloud threshold (SAR_CLOUD_THRESHOLD). -DISPLAY_THRESHOLD = 0.70 +from python_app.models.gui_profile_schema import GuiSar3dStateModel +from python_app.models.run_config_schema import GprModel # Status codes published by the sar3d processor in its "sar3d_status" table. SAR3D_STATES = {0: "ready", 1: "no signal", 2: "error", 3: "warning"} @@ -93,11 +92,19 @@ class Sar3dRenderer: self.plots[name] = plot lut = build_lut(["#081c15", "#1b4332", "#ffd166", "#f94144"]) # the GPR palette lut = np.column_stack([lut, np.full(len(lut), 255, dtype=np.uint8)]) - lut[0, 3] = 0 # below DISPLAY_THRESHOLD + lut[0, 3] = 0 # below SAR_CLOUD_THRESHOLD + self.antennas: dict[str, tuple[pg.ScatterPlotItem, pg.ScatterPlotItem]] = {} self.images: dict[str, pg.ImageItem] = {} - self.peaks: dict[str, pg.ScatterPlotItem] = {} + self.targets: dict[str, pg.PlotCurveItem] = {} for name, (_title, x_label, y_label, _axes) in SAR3D_VIEWS.items(): plot = self.plots[name] + plot.setAspectLocked(True) + if _axes is not None: + markers = (pg.ScatterPlotItem(), pg.ScatterPlotItem()) + for marker in markers: + marker.setZValue(4) + plot.addItem(marker) + self.antennas[name] = markers item = plot.getPlotItem() assert item is not None view = item.getViewBox() @@ -108,11 +115,11 @@ class Sar3dRenderer: image = pg.ImageItem(axisOrder="row-major", lut=lut) plot.addItem(image) # Hollow, so the response at the maximum stays visible. - peak = pg.ScatterPlotItem(symbol="star", size=18, pen=pg.mkPen("w", width=1.5), brush=None) + peak = pg.PlotCurveItem(pen=pg.mkPen("w", width=1.5)) peak.setZValue(3) plot.addItem(peak) self.images[name] = image - self.peaks[name] = peak + self.targets[name] = peak if x_label: plot.showGrid(x=True, y=True, alpha=0.2) plot.setLabel("bottom", x_label, units="m") @@ -146,15 +153,18 @@ class Sar3dRenderer: """Clear all four 3D SAR views.""" for name, (title, *_rest) in SAR3D_VIEWS.items(): self.images[name].hide() - self.peaks[name].setData([], []) + self.targets[name].setData([], []) self.plots[name].setTitle(title) + for markers in self.antennas.values(): + for marker in markers: + marker.setData([], []) self.box.setData([], []) self.ground.setData([], []) for label in self.axis_labels.values(): label.hide() self.status_label.setText(message) - def draw(self, collection: ResultCollection) -> bool: + def draw(self, collection: ResultCollection, settings: GuiSar3dStateModel, geometry: GprModel) -> bool: """Draw four maximum projections of the volume; return success.""" status = sar3d_status(collection) if status is not None and status[0] != 0: @@ -174,20 +184,44 @@ class Sar3dRenderer: peak = collection_payload_by_name(collection, "sar3d_peak", kind=4) level, *peak_xyz = peak.table[0] if peak is not None else (None,) + antennas = selected_antenna_coordinates(geometry, settings.input_positions, settings.output_positions) + pitch = np.radians(settings.look_angle_deg) + for coordinates in antennas: + y, z = coordinates[:, 1].copy(), coordinates[:, 2].copy() + coordinates[:, 1] = settings.bp_ground_depth_m + y*np.cos(pitch) - z*np.sin(pitch) + coordinates[:, 2] = y*np.sin(pitch) + z*np.cos(pitch) + width_payload = collection_payload_by_name(collection, "sar3d_target_width", kind=4) + widths = width_payload.table[0] if width_payload is not None else np.full(3, settings.voxel_m) + zoom = settings.zoom_percent / 100.0 for name, payload in payloads.items(): title, _x_label, _y_label, axes = SAR3D_VIEWS[name] rect = _image_rect(payload.image_x_axis, payload.image_y_axis) image = self.images[name] - image.setImage(payload.image, autoLevels=False, levels=(DISPLAY_THRESHOLD, 1.0)) + image.setImage(np.where(payload.image >= settings.cloud_threshold, payload.image, 0), + autoLevels=False, levels=(0, 1)) image.setRect(rect) image.show() plot = self.plots[name] - plot.setRange(rect, padding=0.0) - if peak_xyz: - position = basis.table @ np.asarray(peak_xyz) if axes is None else [peak_xyz[axis] for axis in axes] - self.peaks[name].setData([position[0]], [position[1]]) + position = (basis.table @ np.asarray(peak_xyz) if axes is None else np.asarray(peak_xyz)[list(axes)]) if peak_xyz else None + if axes is not None: + for marker, coordinates, (symbol, brush, pen) in zip(self.antennas[name], antennas, ANTENNA_STYLES): + xx, yy = coordinates[:, axes[0]], coordinates[:, axes[1]] + marker.setData(x=xx, y=yy, symbol=symbol, size=13, brush=pg.mkBrush(brush), pen=pg.mkPen(pen)) + if len(xx): + pad = settings.voxel_m + rect = rect.united(QRectF(xx.min()-pad, yy.min()-pad, np.ptp(xx)+2*pad, np.ptp(yy)+2*pad)) + if position is not None: + extent = np.abs(basis.table) @ widths if axes is None else widths[list(axes)] + half = .5 * max(extent) + self.targets[name].setData(position[0]+np.array([-half, half, half, -half, -half]), + position[1]+np.array([-half, -half, half, half, -half])) + if zoom > 1.0: + center = position + (np.array([rect.center().x(), rect.center().y()])-position) / zoom**2 + rect = QRectF(center[0]-rect.width()/(2*zoom), center[1]-rect.height()/(2*zoom), + rect.width()/zoom, rect.height()/zoom) else: - self.peaks[name].setData([], []) + self.targets[name].setData([], []) + plot.setRange(rect, padding=0.04) plot.setTitle(title) # Scene box and ground on the oblique view, from the extents of the other views. @@ -213,5 +247,5 @@ class Sar3dRenderer: if level is not None: x, y, z = peak_xyz summary += f" | max X {x:+.2f}, Y {y:+.2f}, Z {z:.2f} m | level {level:.3g}" - self.status_label.setText(summary) + self.status_label.setText(f"{summary} | zoom {settings.zoom_percent}%") return True diff --git a/python_app/gui/controllers/sections/processing_section.py b/python_app/gui/controllers/sections/processing_section.py index 081c28e..8c4342a 100644 --- a/python_app/gui/controllers/sections/processing_section.py +++ b/python_app/gui/controllers/sections/processing_section.py @@ -2,7 +2,7 @@ from __future__ import annotations -from PyQt6.QtCore import QRegularExpression +from PyQt6.QtCore import QRegularExpression, Qt from PyQt6.QtGui import QRegularExpressionValidator from PyQt6.QtWidgets import ( QCheckBox, @@ -10,6 +10,7 @@ from PyQt6.QtWidgets import ( QFormLayout, QGroupBox, QLineEdit, + QSlider, QSizePolicy, QStackedWidget, QVBoxLayout, @@ -51,7 +52,7 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces group = view.group form = QFormLayout(group) form.setFieldGrowthPolicy(QFormLayout.FieldGrowthPolicy.AllNonFixedFieldsGrow) - processing_mode = view.add("_processing_mode", choice(['pass_through', 'bscan', 'gpr', 'legacy_gpr', 'sar3d'])) + processing_mode = view.add("_processing_mode", choice(['pass_through', 'bscan', 'gpr', 'sar3d'])) processing_mode_pages = QStackedWidget(group) processing_mode_pages.setSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed) show_magnitude_checkbox = view.add("_show_magnitude_checkbox", QCheckBox("Show magnitude")) @@ -112,10 +113,6 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces gpr_defaults = config.gpr - # Medium permittivity is a legacy-GPR-only knob (shown on the legacy page below). - # Coherent BP fixes the medium to eps_r = 1, so it is not offered there. - gpr_relative_permittivity = view.add("_gpr_relative_permittivity", double_spin(0.0001, 1000.0, 4, 0.05)) - gpr_relative_permittivity.setValue(float(gpr_defaults.relative_permittivity)) gpr_tx_geometry_input = view.add("_gpr_tx_geometry_input", AntennaGeometryEditor( "output_pos", gpr_defaults.tx_geometry, position_count=config.output_switch.positions, )) @@ -178,10 +175,9 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces gpr_visible_x_max_m = view.add("_gpr_visible_x_max_m", double_spin(-100.0, 100.0, 2, 0.1)) gpr_visible_z_min_m = view.add("_gpr_visible_z_min_m", double_spin(0.0, 100.0, 2, 0.1)) gpr_visible_z_max_m = view.add("_gpr_visible_z_max_m", double_spin(0.0, 100.0, 2, 0.1)) - gpr_imaging_plane_y_m = view.add("_gpr_imaging_plane_y_m", double_spin(-50.0, 50.0, 3, 0.05)) - gpr_imaging_plane_y_m.setToolTip( - "Y coordinate of the BP imaging slice (m). Use 0 for legacy 1D antenna layouts." - ) + gpr_bp_ground_depth_m = view.add("_gpr_bp_ground_depth_m", double_spin(0.0, 50.0, 3, 0.05)) + gpr_bp_ground_depth_m.setToolTip("Height of the radar origin above the ground; the BP slice follows the ground and radar tilt.") + gpr_pair_depth_equalize = view.add("_gpr_pair_depth_equalize", QCheckBox("PAIR_DEPTH_EQUALIZE")) gpr_page = _build_processing_mode_page( processing_mode_pages, @@ -204,89 +200,22 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces ("Approach min frames", gpr_object_approach_min_frames), ("Start (MHz)", gpr_start_freq_mhz), ("Stop (MHz)", gpr_stop_freq_mhz), - ("Imaging plane Y (m)", gpr_imaging_plane_y_m), + ("Radar height (m)", gpr_bp_ground_depth_m), ("Visible X min (m)", gpr_visible_x_min_m), ("Visible X max (m)", gpr_visible_x_max_m), ("Visible Z min (m)", gpr_visible_z_min_m), ("Visible Z max (m)", gpr_visible_z_max_m), gpr_background_subtract_enabled, ("Mean count", gpr_background_mean_count), + gpr_pair_depth_equalize, gpr_remove_sidelobe_objects_enabled, ], split_index=8, ) processing_mode_pages.addWidget(gpr_page) - legacy_gpr_config_mode = view.add("_legacy_gpr_config_mode", choice(['point', 'extended'])) - legacy_gpr_input_positions_input = view.add("_legacy_gpr_input_positions_input", QLineEdit()) - legacy_gpr_input_positions_input.setPlaceholderText("0,1,2") - legacy_gpr_output_positions_input = view.add("_legacy_gpr_output_positions_input", QLineEdit()) - legacy_gpr_output_positions_input.setPlaceholderText("0,1") - legacy_gpr_min_depth_m = view.add("_legacy_gpr_min_depth_m", double_spin(0.0, 50.0, 2, 0.1)) - legacy_gpr_max_depth_m = view.add("_legacy_gpr_max_depth_m", double_spin(0.1, 50.0, 2, 0.1)) - legacy_gpr_comp_power = view.add("_legacy_gpr_comp_power", double_spin(0.0, 5.0, 3, 0.05)) - legacy_gpr_snr_thresh = view.add("_legacy_gpr_snr_thresh", double_spin(0.0, 1000.0, 2, 0.1)) - legacy_gpr_snr_comp_max = view.add("_legacy_gpr_snr_comp_max", double_spin(0.0, 1000.0, 2, 0.5)) - legacy_gpr_start_freq_mhz = view.add("_legacy_gpr_start_freq_mhz", double_spin(100.0, 8800.0, 1, 10.0)) - legacy_gpr_stop_freq_mhz = view.add("_legacy_gpr_stop_freq_mhz", double_spin(100.0, 8800.0, 1, 10.0)) - legacy_gpr_speed_m_s = view.add("_legacy_gpr_speed_m_s", double_spin(-100.0, 100.0, 3, 0.01)) - legacy_gpr_ignore_socket_speed_enabled = view.add("_legacy_gpr_ignore_socket_speed_enabled", QCheckBox("Ignore socket speed")) - legacy_gpr_ignore_socket_speed_enabled.setToolTip(_IGNORE_SOCKET_SPEED_TOOLTIP) - legacy_gpr_look_angle_deg = view.add("_legacy_gpr_look_angle_deg", double_spin(-90.0, 90.0, 2, 0.1)) - - # Intra-sweep phase compensation toggle. When checked, S21 phase is - # corrected per frequency point before the IFFT so the radar's motion - # during one sweep is removed at the spectrum stage. Only matters when - # speed != 0; otherwise has no effect by construction. - legacy_gpr_apply_freq_phase_correction = view.add("_legacy_gpr_apply_freq_phase_correction", QCheckBox("Apply intra-sweep phase correction")) - - # Anchor point for the motion model's per-event `dt_ref`. `frame_center` - # spreads motion symmetrically around the frame midpoint; `first_tx_event` - # accumulates it forward from the first event center. - legacy_gpr_reference_mode = view.add("_legacy_gpr_reference_mode", choice(['frame_center', 'first_tx_event'])) - legacy_gpr_background_subtract_enabled = view.add("_legacy_gpr_background_subtract_enabled", QCheckBox("Subtract mean of previous collections")) - legacy_gpr_background_mean_count = view.add("_legacy_gpr_background_mean_count", integer_spin(0, 10000)) - legacy_gpr_render_mode = view.add("_legacy_gpr_render_mode", choice(['heatmap', 'objects_only'])) - legacy_gpr_min_visible_pair_count = view.add("_legacy_gpr_min_visible_pair_count", integer_spin(1, 10000)) - legacy_gpr_visible_x_min_m = view.add("_legacy_gpr_visible_x_min_m", double_spin(-100.0, 100.0, 2, 0.1)) - legacy_gpr_visible_x_max_m = view.add("_legacy_gpr_visible_x_max_m", double_spin(-100.0, 100.0, 2, 0.1)) - legacy_gpr_visible_z_min_m = view.add("_legacy_gpr_visible_z_min_m", double_spin(0.0, 100.0, 2, 0.1)) - legacy_gpr_visible_z_max_m = view.add("_legacy_gpr_visible_z_max_m", double_spin(0.0, 100.0, 2, 0.1)) - - legacy_gpr_page = _build_processing_mode_page( - processing_mode_pages, - [ - ("Config mode", legacy_gpr_config_mode), - ("Relative permittivity", gpr_relative_permittivity), - ("Input positions", legacy_gpr_input_positions_input), - ("Output positions", legacy_gpr_output_positions_input), - ("Min depth (m)", legacy_gpr_min_depth_m), - ("Max depth (m)", legacy_gpr_max_depth_m), - ("Compensation power", legacy_gpr_comp_power), - ("SNR threshold", legacy_gpr_snr_thresh), - ("Max SNR compensation", legacy_gpr_snr_comp_max), - ("Speed (m/s)", legacy_gpr_speed_m_s), - legacy_gpr_ignore_socket_speed_enabled, - ("Render mode", legacy_gpr_render_mode), - ("Min visible pairs", legacy_gpr_min_visible_pair_count), - ("Start (MHz)", legacy_gpr_start_freq_mhz), - ("Stop (MHz)", legacy_gpr_stop_freq_mhz), - ("Look angle (°)", legacy_gpr_look_angle_deg), - ("Reference mode", legacy_gpr_reference_mode), - legacy_gpr_apply_freq_phase_correction, - ("Visible X min (m)", legacy_gpr_visible_x_min_m), - ("Visible X max (m)", legacy_gpr_visible_x_max_m), - ("Visible Z min (m)", legacy_gpr_visible_z_min_m), - ("Visible Z max (m)", legacy_gpr_visible_z_max_m), - legacy_gpr_background_subtract_enabled, - ("Mean count", legacy_gpr_background_mean_count), - ], - split_index=10, - ) - processing_mode_pages.addWidget(legacy_gpr_page) - # 3D SAR page. The labels are the names of the reference notebook - # Multi_antenna_3D_clean_v1.ipynb; the shared gpr_* fields get their own - # widgets here, like on the legacy page. + # Multi_antenna_demonstrate_depthnorm.ipynb; the shared gpr_* fields get their own + # widgets here, like on the GPR page. sar3d_input_positions_input = view.add("_sar3d_input_positions_input", QLineEdit()) sar3d_input_positions_input.setPlaceholderText("0,1,2") sar3d_output_positions_input = view.add("_sar3d_output_positions_input", QLineEdit()) @@ -311,8 +240,8 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces sar3d_speed_m_s = view.add("_sar3d_speed_m_s", double_spin(-100.0, 100.0, 3, 0.05)) sar3d_frame_radius = view.add("_sar3d_frame_radius", integer_spin(0, 24)) sar3d_frame_radius.setToolTip( - "Aperture of 2*r+1 consecutive frames. 0: the current frame only (needs a vertical antenna " - "baseline); >0 adds aperture from motion and needs an accurate speed. The image lags by r frames." + "Causal aperture: current and r previous frames. 0: the current frame only (needs a vertical antenna " + "baseline); >0 adds aperture from motion and needs an accurate speed. The scene follows the current frame." ) sar3d_bp_ground_depth_m = view.add("_sar3d_bp_ground_depth_m", double_spin(0.0, 10.0, 2, 0.05)) sar3d_bp_ground_depth_m.setToolTip("Height of the lower antenna row above the ground (m); scene Y = 0 is the ground.") @@ -321,6 +250,17 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces sar3d_use_compensation = view.add("_sar3d_use_compensation", QCheckBox("SAR_USE_COMPENSATION")) sar3d_normalize_each_frame = view.add("_sar3d_normalize_each_frame", QCheckBox("SAR_NORMALIZE_EACH_FRAME")) sar3d_normalize_each_frame.setToolTip("Scale every Tx/Rx A-scan by its median inside the depth gate.") + sar3d_pair_depth_equalize = view.add("_sar3d_pair_depth_equalize", QCheckBox("PAIR_DEPTH_EQUALIZE")) + sar3d_background_subtract_enabled = view.add("_sar3d_background_subtract_enabled", QCheckBox("Subtract mean of previous collections")) + sar3d_background_mean_count = view.add("_sar3d_background_mean_count", integer_spin(0, 10000)) + sar3d_x_size_m = view.add("_sar3d_x_size_m", double_spin(0.0, 100.0, 2, 0.1)) + sar3d_y_min_m = view.add("_sar3d_y_min_m", double_spin(-50.0, 50.0, 2, 0.1)) + sar3d_y_max_m = view.add("_sar3d_y_max_m", double_spin(-50.0, 50.0, 2, 0.1)) + sar3d_z_size_m = view.add("_sar3d_z_size_m", double_spin(0.0, 100.0, 2, 0.1)) + sar3d_cloud_threshold = view.add("_sar3d_cloud_threshold", double_spin(0.0, 1.0, 2, 0.05)) + sar3d_zoom_percent = view.add("_sar3d_zoom_percent", QSlider(Qt.Orientation.Horizontal)) + sar3d_zoom_percent.setRange(100, 1000) + sar3d_zoom_percent.setToolTip("100% shows the full scene; higher values zoom towards its brightest object.") sar3d_page = _build_processing_mode_page( processing_mode_pages, @@ -340,6 +280,15 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces ("COMP_RANGE_POWER", sar3d_comp_range_power), sar3d_use_compensation, sar3d_normalize_each_frame, + sar3d_pair_depth_equalize, + sar3d_background_subtract_enabled, + ("Mean count", sar3d_background_mean_count), + ("SAR_X_SIZE_M (0 = auto)", sar3d_x_size_m), + ("SAR_Y_RANGE_M min", sar3d_y_min_m), + ("SAR_Y_RANGE_M max", sar3d_y_max_m), + ("SAR_Z_SIZE_M (0 = auto)", sar3d_z_size_m), + ("SAR_CLOUD_THRESHOLD", sar3d_cloud_threshold), + ("Zoom (%)", sar3d_zoom_percent), ], split_index=8, ) @@ -367,17 +316,14 @@ def build_processing_group(config: RunConfigModel, gui: GuiStateModel) -> Proces geometry_page=gpr_common_page, geometries=(gpr_tx_geometry_input, gpr_rx_geometry_input), fixed_y=pass_through_fixed_y_enabled, y_bounds=(pass_through_y_min_db, pass_through_y_max_db), speed_controls=((gpr_ignore_socket_speed_enabled, gpr_speed_m_s), - (legacy_gpr_ignore_socket_speed_enabled, legacy_gpr_speed_m_s), (sar3d_ignore_socket_speed_enabled, sar3d_speed_m_s)), trace_controls=(show_magnitude_checkbox, show_phase_checkbox, unwrap_phase_checkbox, pass_through_combo_filter_input, pass_through_fixed_y_enabled, pass_through_y_min_db, pass_through_y_max_db), - visual_controls=(gpr_render_mode, legacy_gpr_render_mode), + visual_controls=(gpr_render_mode, sar3d_cloud_threshold, sar3d_zoom_percent), locator_controls=(gpr_max_detected_objects_to_draw, gpr_draw_top_m_objects, - legacy_gpr_min_visible_pair_count, gpr_visible_x_min_m, gpr_visible_x_max_m, - gpr_visible_z_min_m, gpr_visible_z_max_m, legacy_gpr_visible_x_min_m, - legacy_gpr_visible_x_max_m, legacy_gpr_visible_z_min_m, legacy_gpr_visible_z_max_m), + gpr_visible_x_min_m, gpr_visible_x_max_m, + gpr_visible_z_min_m, gpr_visible_z_max_m), frequency_controls=(bscan_start_freq_mhz, bscan_stop_freq_mhz, gpr_start_freq_mhz, gpr_stop_freq_mhz, - legacy_gpr_start_freq_mhz, legacy_gpr_stop_freq_mhz, sar3d_start_freq_mhz, sar3d_stop_freq_mhz), ) diff --git a/python_app/gui/controllers/sections/views.py b/python_app/gui/controllers/sections/views.py index 1e8f5ef..ee5ebff 100644 --- a/python_app/gui/controllers/sections/views.py +++ b/python_app/gui/controllers/sections/views.py @@ -6,13 +6,13 @@ from typing import TypeAlias, TypeVar from PyQt6.QtWidgets import ( QCheckBox, QComboBox, QDoubleSpinBox, QGroupBox, QLineEdit, QPlainTextEdit, - QSpinBox, QWidget, QLabel, QPushButton, QStackedWidget, + QSpinBox, QSlider, QWidget, QLabel, QPushButton, QStackedWidget, ) from python_app.gui.antenna_geometry_editor import AntennaGeometryEditor from python_app.models.setting_fields import Scalar -ScalarWidget: TypeAlias = QLineEdit | QPlainTextEdit | QComboBox | QCheckBox | QSpinBox | QDoubleSpinBox +ScalarWidget: TypeAlias = QLineEdit | QPlainTextEdit | QComboBox | QCheckBox | QSpinBox | QDoubleSpinBox | QSlider SettingWidget: TypeAlias = ScalarWidget | AntennaGeometryEditor _Widget = TypeVar("_Widget", bound=SettingWidget) @@ -102,7 +102,7 @@ class RadarView(SectionView): def read_setting(widget: ScalarWidget) -> Scalar: if isinstance(widget, QCheckBox): return widget.isChecked() - if isinstance(widget, (QSpinBox, QDoubleSpinBox)): + if isinstance(widget, (QSpinBox, QDoubleSpinBox, QSlider)): return widget.value() if isinstance(widget, QComboBox): return widget.currentText() @@ -114,7 +114,7 @@ def read_setting(widget: ScalarWidget) -> Scalar: def write_setting(widget: ScalarWidget, value: Scalar) -> None: if isinstance(widget, QCheckBox): widget.setChecked(bool(value)) - elif isinstance(widget, QSpinBox): + elif isinstance(widget, (QSpinBox, QSlider)): widget.setValue(int(value)) elif isinstance(widget, QDoubleSpinBox): widget.setValue(float(value)) @@ -134,7 +134,7 @@ def write_setting(widget: ScalarWidget, value: Scalar) -> None: def connect_setting(widget: ScalarWidget, callback: Callable[..., object]) -> None: if isinstance(widget, QCheckBox): signal = widget.toggled - elif isinstance(widget, (QSpinBox, QDoubleSpinBox)): + elif isinstance(widget, (QSpinBox, QDoubleSpinBox, QSlider)): signal = widget.valueChanged elif isinstance(widget, QComboBox): signal = widget.currentTextChanged diff --git a/python_app/gui/result_payloads.py b/python_app/gui/result_payloads.py index b9c8677..acfd295 100644 --- a/python_app/gui/result_payloads.py +++ b/python_app/gui/result_payloads.py @@ -1,4 +1,4 @@ -"""Result payload lookup and GPR display filtering.""" +"""Result payload lookup and coherent-GPR objects.""" from __future__ import annotations @@ -22,22 +22,6 @@ def collection_payload_by_name( return None -def collection_payloads_by_prefix( - collection: ResultCollection, - prefix: str, - kind: int | None = None, -) -> list[ResultPayload]: - """Return collection payloads matching a processing-name prefix.""" - payloads: list[ResultPayload] = [] - for payload in collection.collection_payloads: - if not str(payload.processing_name).startswith(prefix): - continue - if kind is not None and int(payload.kind) != int(kind): - continue - payloads.append(payload) - return payloads - - def gpr_object_rows(collection: ResultCollection) -> np.ndarray: """Return object rows as `[x_m, z_m, score]` from a GPR collection.""" points_payload = collection_payload_by_name(collection, "gpr_points", kind=4) @@ -46,33 +30,4 @@ def gpr_object_rows(collection: ResultCollection) -> np.ndarray: if points.ndim == 2 and points.shape[1] >= 3: return points[:, :3] - centers_payload = collection_payload_by_name(collection, "gpr_region_centers", kind=4) - if centers_payload is not None: - centers = np.asarray(centers_payload.table, dtype=np.float32) - if centers.ndim == 2 and centers.shape[1] >= 3: - return centers[:, :3] - return np.zeros((0, 3), dtype=np.float32) - - -def filter_object_rows( - rows: np.ndarray, - *, - min_score: float, - x_bounds: tuple[float, float], - z_bounds: tuple[float, float], -) -> np.ndarray: - """Keep finite objects inside the visible window and above the score threshold.""" - if rows.size == 0: - return rows - x_min, x_max = x_bounds - z_min, z_max = z_bounds - visible_mask = ( - np.all(np.isfinite(rows[:, :3]), axis=1) - & (rows[:, 2] >= min_score) - & (rows[:, 0] >= x_min) - & (rows[:, 0] <= x_max) - & (rows[:, 1] >= z_min) - & (rows[:, 1] <= z_max) - ) - return rows[visible_mask] diff --git a/python_app/gui/runtime/constraints.py b/python_app/gui/runtime/constraints.py index 41c28b4..019e0b0 100644 --- a/python_app/gui/runtime/constraints.py +++ b/python_app/gui/runtime/constraints.py @@ -26,7 +26,7 @@ def validate_processing_mode_constraints( # sar3d shares the GPR combo/geometry requirements: it images from the same # multi-Tx/Rx pair set selected through the gpr_* live-config fields. - if processing_mode not in {"gpr", "legacy_gpr", "sar3d"}: + if processing_mode not in {"gpr", "sar3d"}: return configured_combos = {(int(combo.input), int(combo.output)) for combo in config.combos} diff --git a/python_app/gui/settings_defaults.py b/python_app/gui/settings_defaults.py index a01b3bd..6549c2e 100644 --- a/python_app/gui/settings_defaults.py +++ b/python_app/gui/settings_defaults.py @@ -5,7 +5,7 @@ from pathlib import Path from python_app.models.run_config_schema import RunConfigModel, ComboModel from python_app.models.gui_profile_schema import ( GuiStateModel, GuiSwitchStateModel, GuiProcessingStateModel, GuiGprStateModel, - GuiLegacyGprStateModel, GuiSar3dStateModel, GuiDataActionsStateModel, + GuiSar3dStateModel, GuiDataActionsStateModel, ) GUI_SAVE_HISTORY_LIMIT = 1000 @@ -91,12 +91,6 @@ def default_gui_state_for_config(config: RunConfigModel, project_root: Path) -> visible_x_min_m=default_gpr_x_min_m, visible_x_max_m=default_gpr_x_max_m, ), - legacy_gpr=GuiLegacyGprStateModel( - input_positions=inputs, - output_positions=outputs, - visible_x_min_m=default_gpr_x_min_m, - visible_x_max_m=default_gpr_x_max_m, - ), sar3d=GuiSar3dStateModel( input_positions=inputs, output_positions=outputs, diff --git a/python_app/models/gui_profile_codec.py b/python_app/models/gui_profile_codec.py index 8d1288e..fe0bdcb 100644 --- a/python_app/models/gui_profile_codec.py +++ b/python_app/models/gui_profile_codec.py @@ -10,7 +10,7 @@ from python_app.models.json_fields import finite_number, json_object from python_app.models.run_config_schema import RunConfigModel -def _decode_state(model: object, payload: dict[str, Any], context: str, *, check_constraints: bool = True) -> None: +def _decode_state(model: object, payload: dict[str, Any], context: str) -> None: """Read known fields recursively; unknown fields do not survive re-encoding.""" if not is_dataclass(model) or isinstance(model, type): raise TypeError("GUI state must be a dataclass instance") @@ -19,14 +19,14 @@ def _decode_state(model: object, payload: dict[str, Any], context: str, *, check value = payload.get(member.name, default) name = f"{context}.{member.name}" if is_dataclass(default): - _decode_state(default, json_object(payload.get(member.name), name), name, check_constraints=check_constraints) + _decode_state(default, json_object(payload.get(member.name), name), name) continue if isinstance(default, float): value = finite_number(value, name) elif type(value) is not type(default): raise ValueError(f"{name} must be a JSON {type(default).__name__}") spec = member.metadata.get("setting") - if check_constraints and isinstance(spec, Setting): + if isinstance(spec, Setting): if spec.choices and value not in spec.choices: raise ValueError(f"{name} must be one of: {', '.join(spec.choices)}") if spec.minimum is not None: @@ -39,33 +39,16 @@ def _decode_state(model: object, payload: dict[str, Any], context: str, *, check def gui_profile_from_dict(payload: dict[str, Any]) -> GuiProfileModel: - """Read the pipeline config and optional GUI state, preserving old GPR profiles.""" + """Read the pipeline config and optional GUI state; ignore unknown fields.""" profile = GuiProfileModel(run_config=RunConfigModel.from_dict(payload)) if payload.get("gui") is None: return profile gui_object = json_object(payload["gui"], "gui") - processing = json_object(gui_object.get("processing"), "gui.processing") - old_gpr = json_object(processing.get("gpr"), "gui.processing.gpr") gui = GuiStateModel() - # Older profiles kept both algorithms under gpr. Root mode and the short-lived - # algorithm selector choose the legacy page; explicit legacy values win. - root_gpr = payload.get("gpr") - root_mode = root_gpr.get("mode") if isinstance(root_gpr, dict) else None - algorithm_mode = {"legacy_point": "point", "legacy_extended": "extended"}.get( - str(old_gpr.get("algorithm", ""))) - if root_mode in ("point", "extended"): - gui.processing.legacy_gpr.mode = root_mode - if algorithm_mode is not None: - gui.processing.legacy_gpr.mode = algorithm_mode - _decode_state(gui.processing.legacy_gpr, old_gpr, "gui.processing.gpr", check_constraints=False) _decode_state(gui, gui_object, "gui") if gui.version != 1: raise ValueError(f"Unsupported gui.version: {gui.version}") - if gui.processing.selected_mode == "gpr" and ( - algorithm_mode is not None or root_mode in ("point", "extended") - ): - gui.processing.selected_mode = "legacy_gpr" gui.preprocess_dialog.median_sweep_count = max(1, gui.preprocess_dialog.median_sweep_count) profile.gui = gui return profile diff --git a/python_app/models/gui_profile_schema.py b/python_app/models/gui_profile_schema.py index 888430f..3c4ebb2 100644 --- a/python_app/models/gui_profile_schema.py +++ b/python_app/models/gui_profile_schema.py @@ -121,7 +121,8 @@ class GuiGprStateModel: remove_sidelobe_objects_enabled: bool = setting( True, '_gpr_remove_sidelobe_objects_enabled', live='gpr_remove_sidelobe_objects_enabled', group='Imaging', ) - imaging_plane_y_m: float = setting(0.0, '_gpr_imaging_plane_y_m', live='gpr_imaging_plane_y_m', group='Geometry & depth') + bp_ground_depth_m: float = setting(1.25, '_gpr_bp_ground_depth_m', live='gpr_bp_ground_depth_m', group='Geometry & depth', minimum=0) + pair_depth_equalize: bool = setting(True, '_gpr_pair_depth_equalize', live='pair_depth_equalize', group='Imaging') render_mode: str = setting("heatmap", '_gpr_render_mode', web='render_mode', group='Display', choices=('heatmap', 'objects_only')) visible_x_min_m: float = setting(-2.0, '_gpr_visible_x_min_m', live='gpr_visible_x_min_m', group='Visible window') visible_x_max_m: float = setting(2.0, '_gpr_visible_x_max_m', live='gpr_visible_x_max_m', group='Visible window') @@ -129,48 +130,11 @@ class GuiGprStateModel: visible_z_max_m: float = setting(14.0, '_gpr_visible_z_max_m', live='gpr_visible_z_max_m', group='Visible window') -@dataclass(slots=True) -class GuiLegacyGprStateModel: - """UI-only defaults for legacy point/extended GPR live settings.""" - - mode: str = setting("point", '_legacy_gpr_config_mode', live='legacy_gpr_mode', group='Mode', choices=('point', 'extended')) - input_positions: str = setting("", '_legacy_gpr_input_positions_input', live='gpr_input_positions', group='Geometry & depth') - output_positions: str = setting("", '_legacy_gpr_output_positions_input', live='gpr_output_positions', group='Geometry & depth') - min_depth_m: float = setting(2.0, '_legacy_gpr_min_depth_m', live='gpr_min_depth_m', group='Geometry & depth') - max_depth_m: float = setting(14.0, '_legacy_gpr_max_depth_m', live='gpr_max_depth_m', group='Geometry & depth') - comp_power: float = setting(0.2, '_legacy_gpr_comp_power', live='gpr_comp_power', group='Detection', minimum=0) - start_freq_mhz: float = setting(3000.0, '_legacy_gpr_start_freq_mhz', live='gpr_start_freq_mhz', group='Geometry & depth') - stop_freq_mhz: float = setting(6000.0, '_legacy_gpr_stop_freq_mhz', live='gpr_stop_freq_mhz', group='Geometry & depth') - speed_m_s: float = setting(0.0, '_legacy_gpr_speed_m_s', live='gpr_speed_m_s', group='Motion') - ignore_socket_speed_enabled: bool = setting(False, '_legacy_gpr_ignore_socket_speed_enabled', live='ignore_socket_speed', group='Motion') - look_angle_deg: float = setting(0.0, '_legacy_gpr_look_angle_deg', live='gpr_look_angle_deg', group='Motion') - apply_freq_phase_correction: bool = setting( - True, '_legacy_gpr_apply_freq_phase_correction', live='gpr_apply_freq_phase_correction', group='Motion', - ) - reference_mode: str = setting( - "frame_center", '_legacy_gpr_reference_mode', live='gpr_reference_mode', group='Motion', choices=('frame_center', 'first_tx_event'), - ) - snr_thresh: float = setting(4.5, '_legacy_gpr_snr_thresh', live='gpr_snr_thresh', group='Detection', minimum=0) - snr_comp_max: float = setting(25.0, '_legacy_gpr_snr_comp_max', live='gpr_snr_comp_max', group='Detection', minimum=0) - background_subtract_enabled: bool = setting( - True, '_legacy_gpr_background_subtract_enabled', live='gpr_background_subtract_enabled', group='Imaging', - ) - background_mean_count: int = setting(10, '_legacy_gpr_background_mean_count', live='gpr_background_mean_count', group='Imaging') - render_mode: str = setting("heatmap", '_legacy_gpr_render_mode', web='render_mode', group='Display', choices=('heatmap', 'objects_only')) - min_visible_pair_count: int = setting( - 1, '_legacy_gpr_min_visible_pair_count', live='legacy_gpr_min_visible_pair_count', group='Detection', minimum=1, - ) - visible_x_min_m: float = setting(-2.0, '_legacy_gpr_visible_x_min_m', live='gpr_visible_x_min_m', group='Visible window') - visible_x_max_m: float = setting(2.0, '_legacy_gpr_visible_x_max_m', live='gpr_visible_x_max_m', group='Visible window') - visible_z_min_m: float = setting(0.0, '_legacy_gpr_visible_z_min_m', live='gpr_visible_z_min_m', group='Visible window') - visible_z_max_m: float = setting(14.0, '_legacy_gpr_visible_z_max_m', live='gpr_visible_z_max_m', group='Visible window') - - @dataclass(slots=True) class GuiSar3dStateModel: """UI-only defaults for the 3D SAR (sar3d) live settings. - Values are the reference notebook's (Multi_antenna_3D_clean_v1.ipynb), whose + Values are the reference notebook's (Multi_antenna_demonstrate_depthnorm.ipynb), whose names the GUI shows: INPUT_IDX, F_START, MIN_DEPTH, LOOK_ANGLE_DEG, ... """ @@ -189,6 +153,15 @@ class GuiSar3dStateModel: comp_range_power: float = setting(0.3, '_sar3d_comp_range_power', live='sar3d_comp_range_power', group='3D SAR') use_compensation: bool = setting(True, '_sar3d_use_compensation', live='sar3d_use_compensation', group='3D SAR') normalize_each_frame: bool = setting(True, '_sar3d_normalize_each_frame', live='sar3d_normalize_each_frame', group='3D SAR') + pair_depth_equalize: bool = setting(True, '_sar3d_pair_depth_equalize', live='pair_depth_equalize', group='3D SAR') + background_subtract_enabled: bool = setting(True, '_sar3d_background_subtract_enabled', live='gpr_background_subtract_enabled', group='3D SAR') + background_mean_count: int = setting(10, '_sar3d_background_mean_count', live='gpr_background_mean_count', group='3D SAR', minimum=0) + x_size_m: float = setting(0.0, '_sar3d_x_size_m', live='sar3d_x_size_m', group='Scene', minimum=0) + y_min_m: float = setting(-0.5, '_sar3d_y_min_m', live='sar3d_y_min_m', group='Scene') + y_max_m: float = setting(2.0, '_sar3d_y_max_m', live='sar3d_y_max_m', group='Scene') + z_size_m: float = setting(0.0, '_sar3d_z_size_m', live='sar3d_z_size_m', group='Scene', minimum=0) + cloud_threshold: float = setting(0.65, '_sar3d_cloud_threshold', web='sar3d_cloud_threshold', group='Display', minimum=0, maximum=1) + zoom_percent: int = setting(100, '_sar3d_zoom_percent', web='sar3d_zoom_percent', group='Display', minimum=100, maximum=1000) @dataclass(slots=True) @@ -196,12 +169,11 @@ class GuiProcessingStateModel: """UI-only processing-section defaults.""" selected_mode: str = setting( - "pass_through", '_processing_mode', live='processor_mode', group='Processor', choices=('pass_through', 'bscan', 'gpr', 'legacy_gpr', 'sar3d'), + "pass_through", '_processing_mode', live='processor_mode', group='Processor', choices=('pass_through', 'bscan', 'gpr', 'sar3d'), ) pass_through: GuiPassThroughStateModel = field(default_factory=GuiPassThroughStateModel) bscan: GuiBscanStateModel = field(default_factory=GuiBscanStateModel) gpr: GuiGprStateModel = field(default_factory=GuiGprStateModel) - legacy_gpr: GuiLegacyGprStateModel = field(default_factory=GuiLegacyGprStateModel) sar3d: GuiSar3dStateModel = field(default_factory=GuiSar3dStateModel) diff --git a/python_app/models/run_config_codec.py b/python_app/models/run_config_codec.py index cf9496e..8b67b4e 100644 --- a/python_app/models/run_config_codec.py +++ b/python_app/models/run_config_codec.py @@ -343,9 +343,6 @@ def run_config_from_dict(payload: object) -> RunConfigModel: if model.preprocess.notch.taper_type not in ("cosine", "hard"): raise ValueError("preprocess.notch.taper_type must be cosine or hard") - model.gpr.relative_permittivity = _read_float( - gpr_payload, "relative_permittivity", model.gpr.relative_permittivity - ) model.gpr.tx_geometry = [] for entry in _as_list(gpr_payload.get("tx_geometry"), "gpr.tx_geometry"): entry_payload = _as_dict(entry, "gpr.tx_geometry[]") diff --git a/python_app/models/run_config_schema.py b/python_app/models/run_config_schema.py index cb86731..9a3745d 100644 --- a/python_app/models/run_config_schema.py +++ b/python_app/models/run_config_schema.py @@ -304,7 +304,6 @@ class GprRxGeometryModel: class GprModel: """Stable GPR configuration saved in run_config.json.""" - relative_permittivity: float = 1.0 tx_geometry: list[GprTxGeometryModel] = field(default_factory=list) rx_geometry: list[GprRxGeometryModel] = field(default_factory=list) diff --git a/python_app/models/run_config_validation.py b/python_app/models/run_config_validation.py index 7d67ee1..044c50c 100644 --- a/python_app/models/run_config_validation.py +++ b/python_app/models/run_config_validation.py @@ -288,8 +288,7 @@ def validate_gpr_model( ) -> None: """Validate stable GPR config against current switch dimensions. - Checks that the relative permittivity is positive and that every tx/rx - geometry entry indexes a valid, non-duplicate switch position. When ``sweep`` + Checks that every tx/rx geometry entry indexes a valid, non-duplicate switch position. When ``sweep`` is supplied (the load and GUI/save paths share this chokepoint), its bounds are validated here too so sweep failures surface alongside the GPR checks instead of as a C++ boot crash. @@ -297,9 +296,6 @@ def validate_gpr_model( if sweep is not None: validate_sweep_model(sweep) - if not math.isfinite(gpr.relative_permittivity) or float(gpr.relative_permittivity) <= 0.0: - raise ValueError("gpr.relative_permittivity must be > 0") - normalize_antenna_geometry(gpr.tx_geometry, "output_pos", output_switch_positions) normalize_antenna_geometry(gpr.rx_geometry, "input_pos", input_switch_positions) diff --git a/python_app/orchestration/live_processing_config.py b/python_app/orchestration/live_processing_config.py index 59972f3..f7c8ef0 100644 --- a/python_app/orchestration/live_processing_config.py +++ b/python_app/orchestration/live_processing_config.py @@ -21,8 +21,6 @@ class ProcessingLiveConfig: bscan_gain: float = 1.0 bscan_start_freq_mhz: float = 100.0 bscan_stop_freq_mhz: float = 8800.0 - legacy_gpr_mode: str = "point" - relative_permittivity: float | None = None tx_geometry: list[dict] | None = None rx_geometry: list[dict] | None = None gpr_input_positions: list[int] | None = None @@ -30,7 +28,6 @@ class ProcessingLiveConfig: gpr_min_depth_m: float = 2.0 gpr_max_depth_m: float = 14.0 gpr_range_comp_power: float = 0.1 - gpr_comp_power: float = 0.2 gpr_object_min_frac: float = 0.7 gpr_score_mode: str = "combined" # Backprojection intra-sweep speed-correction mode: "int_minus" (full @@ -41,28 +38,14 @@ class ProcessingLiveConfig: gpr_object_approach_min_frames: int = 3 gpr_speed_m_s: float = 0.0 gpr_look_angle_deg: float = 0.0 - # Motion-model knobs for the legacy GPR pipeline. `direction_sign` flips - # which way later events appear deeper (+1) vs shallower (-1) along Z. - # `apply_freq_phase_correction` enables intra-sweep frequency-domain phase - # compensation that fires *before* the IFFT — needed when the radar moves - # appreciably during one sweep. gpr_direction_sign: float = 1.0 - gpr_apply_freq_phase_correction: bool = True - # Anchor for the motion model's per-event `dt_ref`: 'frame_center' (default) - # or 'first_tx_event'. Mirrors Python `MOTION_CONFIG.reference_mode`. - gpr_reference_mode: str = "frame_center" - gpr_snr_thresh: float = 4.5 - gpr_snr_comp_max: float = 25.0 gpr_start_freq_mhz: float = 3000.0 gpr_stop_freq_mhz: float = 6000.0 gpr_background_subtract_enabled: bool = True gpr_background_mean_count: int = 10 gpr_remove_sidelobe_objects_enabled: bool = True - gpr_imaging_plane_y_m: float = 0.0 - # Locator filter parameter consumed by the C++ TCP locator server. Coherent BP - # objects are already finalized in the processor (no score threshold); only legacy - # GPR still thresholds, on a pair count. - legacy_gpr_min_visible_pair_count: float = 0.0 + gpr_bp_ground_depth_m: float = 1.25 + pair_depth_equalize: bool = True # Visible X/Z window (metres). The locator and the desktop plot both clip # detected objects to this window, so the socket broadcasts only what is shown. gpr_visible_x_min_m: float = -2.0 @@ -70,7 +53,7 @@ class ProcessingLiveConfig: gpr_visible_z_min_m: float = 0.0 gpr_visible_z_max_m: float = 14.0 # 3D SAR (sar3d processor) parameters, named after the reference notebook - # Multi_antenna_3D_clean_v1.ipynb (SAR_FRAME_RADIUS, BP_GROUND_DEPTH_M, ...). + # Multi_antenna_demonstrate_depthnorm.ipynb (SAR_FRAME_RADIUS, BP_GROUND_DEPTH_M, ...). # The band, depth gate, antenna selection, speed and look angle are the # shared gpr_* fields. sar3d_frame_radius: int = 0 @@ -79,6 +62,10 @@ class ProcessingLiveConfig: sar3d_comp_range_power: float = 0.3 sar3d_use_compensation: bool = True sar3d_normalize_each_frame: bool = True + sar3d_x_size_m: float = 0.0 + sar3d_y_min_m: float = -0.5 + sar3d_y_max_m: float = 2.0 + sar3d_z_size_m: float = 0.0 # When true, the C++ data_processor ignores socket-supplied vlc updates # and keeps using `gpr_speed_m_s` from this file. ignore_socket_speed: bool = False @@ -100,7 +87,7 @@ class ProcessingLiveConfig: def to_dict(self) -> dict[str, object]: """Convert live config to JSON-serializable dictionary.""" - optional_geometry = {"relative_permittivity", "tx_geometry", "rx_geometry"} + optional_geometry = {"tx_geometry", "rx_geometry"} return { name: value for name, value in asdict(self).items() if name not in optional_geometry or value is not None diff --git a/python_app/tests/test_gui_action_lifecycle.py b/python_app/tests/test_gui_action_lifecycle.py index 83c0a6e..58e8fce 100644 --- a/python_app/tests/test_gui_action_lifecycle.py +++ b/python_app/tests/test_gui_action_lifecycle.py @@ -15,7 +15,7 @@ import unittest from unittest import mock os.environ.setdefault("QT_QPA_PLATFORM", "offscreen") -from PyQt6.QtWidgets import QApplication, QCheckBox, QComboBox, QDoubleSpinBox, QLineEdit, QSpinBox # noqa: E402 +from PyQt6.QtWidgets import QApplication, QCheckBox, QComboBox, QDoubleSpinBox, QLineEdit, QSlider, QSpinBox # noqa: E402 from PyQt6.QtCore import QSignalBlocker, QTimer # noqa: E402 from python_app.gui.app_window import AppWindow # noqa: E402 @@ -532,11 +532,11 @@ class GuiProfileWriteTest(unittest.TestCase): value = not widget.isChecked() elif isinstance(widget, QComboBox): value = widget.itemText((widget.currentIndex() + 1) % widget.count()) - elif isinstance(widget, (QSpinBox, QDoubleSpinBox)): + elif isinstance(widget, (QSpinBox, QDoubleSpinBox, QSlider)): value = widget.value() + widget.singleStep() if value > widget.maximum(): value = widget.value() - widget.singleStep() - value = int(value) if isinstance(widget, QSpinBox) else round(value, widget.decimals()) + value = int(value) if isinstance(widget, (QSpinBox, QSlider)) else round(value, widget.decimals()) elif isinstance(widget, QLineEdit): value = "0:0" if binding.spec.web == "combo_filter" else "0" if "positions" in binding.path[-1] else "1" else: diff --git a/python_app/tests/test_gui_profile_codec.py b/python_app/tests/test_gui_profile_codec.py index 6df1678..bfa7eb9 100644 --- a/python_app/tests/test_gui_profile_codec.py +++ b/python_app/tests/test_gui_profile_codec.py @@ -110,14 +110,20 @@ class GuiProfileCodecTest(unittest.TestCase): with self.assertRaises(ValueError): # combos_text must be a JSON string, not a number GuiProfileModel.from_dict({"gui": {"switches": {"combos_text": 123}}}) - def test_legacy_gpr_payload_migrates_selected_mode(self) -> None: - # An old payload that selects 'gpr' but carries a legacy root gpr.mode is migrated. + def test_obsolete_inactive_settings_are_ignored(self) -> None: decoded = GuiProfileModel.from_dict({ - "gui": {"processing": {"selected_mode": "gpr"}}, - "gpr": {"relative_permittivity": 4.0, "mode": "point"}, + "gui": {"processing": {"selected_mode": "gpr", "legacy_gpr": "obsolete", + "gpr": {"algorithm": "legacy_point"}}}, + "gpr": {"relative_permittivity": "obsolete", "mode": "point"}, }) assert decoded.gui is not None - self.assertEqual(decoded.gui.processing.selected_mode, "legacy_gpr") + self.assertEqual(decoded.gui.processing.selected_mode, "gpr") + self.assertNotIn("legacy_gpr", decoded.to_dict()["gui"]["processing"]) + self.assertNotIn("relative_permittivity", decoded.to_dict()["gpr"]) + + def test_removed_processing_mode_is_rejected(self) -> None: + with self.assertRaisesRegex(ValueError, "selected_mode must be one of"): + GuiProfileModel.from_dict({"gui": {"processing": {"selected_mode": "legacy_gpr"}}}) def test_modern_gpr_selection_is_not_migrated(self) -> None: decoded = GuiProfileModel.from_dict({"gui": {"processing": {"selected_mode": "gpr"}}}) diff --git a/python_app/tests/test_live_settings_regressions.py b/python_app/tests/test_live_settings_regressions.py index 6947d78..c64dc51 100644 --- a/python_app/tests/test_live_settings_regressions.py +++ b/python_app/tests/test_live_settings_regressions.py @@ -25,11 +25,11 @@ class LiveSettingsRegressionTest(unittest.TestCase): config, gui = RunConfigModel(), GuiStateModel() config.radar.sweep.start_hz, config.radar.sweep.stop_hz = 1e6, 9.5e9 for settings in (gui.processing.bscan, gui.processing.gpr, - gui.processing.legacy_gpr, gui.processing.sar3d): + gui.processing.sar3d): settings.start_freq_mhz, settings.stop_freq_mhz = 20, 9200 section = build_processing_group(config, gui) self.addCleanup(section.group.deleteLater) - for mode in ("bscan", "gpr", "legacy_gpr", "sar3d"): + for mode in ("bscan", "gpr", "sar3d"): for bound, expected in (("start", 20), ("stop", 9200)): with self.subTest(mode=mode, bound=bound): editor = widget(section, f"_{mode}_{bound}_freq_mhz", QDoubleSpinBox) diff --git a/python_app/tests/test_live_settings_schema.py b/python_app/tests/test_live_settings_schema.py index c5beb31..cae06bc 100644 --- a/python_app/tests/test_live_settings_schema.py +++ b/python_app/tests/test_live_settings_schema.py @@ -11,7 +11,7 @@ class LiveSettingsSchemaCoverageTest(unittest.TestCase): def test_bindings_cover_live_config_and_select_each_page_once(self) -> None: config_names = {field.name for field in fields(ProcessingLiveConfig)} runtime = {"reprocess_current_result", "history_clear_before_ns", "history_removed", "settings_revision"} - geometry = {"relative_permittivity", "tx_geometry", "rx_geometry"} + geometry = {"tx_geometry", "rx_geometry"} modes = next(binding.spec.choices for binding in GUI_FIELDS if binding.spec.live == "processor_mode") widget_names = [binding.spec.widget for binding in GUI_FIELDS if binding.spec.widget] self.assertEqual(len(widget_names), len(set(widget_names))) diff --git a/python_app/tests/test_processing.py b/python_app/tests/test_processing.py index 7035f48..491adfb 100644 --- a/python_app/tests/test_processing.py +++ b/python_app/tests/test_processing.py @@ -1,4 +1,4 @@ -"""GPR object filtering, B-scan transforms and live-setting normalization.""" +"""GPR payload lookup, B-scan transforms and live-setting normalization.""" from __future__ import annotations @@ -26,8 +26,6 @@ from python_app.models.dataset_model import ( ) from python_app.gui.result_payloads import ( collection_payload_by_name, - collection_payloads_by_prefix, - filter_object_rows, gpr_object_rows, ) from python_app.orchestration.live_processing_config import ProcessingLiveConfig @@ -43,32 +41,16 @@ def _collection(payloads: Iterable[ResultPayload]) -> ResultCollection: class CollectionLookupTest(unittest.TestCase): def test_payload_by_name_matches_name_and_optional_kind(self) -> None: - col = _collection([_table("gpr_points", [[0, 0, 1]]), _table("gpr_region_centers", [[1, 1, 2, 9]])]) + col = _collection([_table("gpr_points", [[0, 0, 1]])]) self.assertIs(collection_payload_by_name(col, "gpr_points"), col.collection_payloads[0]) self.assertIsNone(collection_payload_by_name(col, "missing")) self.assertIsNone(collection_payload_by_name(col, "gpr_points", kind=3)) # wrong kind - def test_payloads_by_prefix_returns_all_in_order(self) -> None: - col = _collection([ - ResultPayload(processing_name="gpr_region_mask_0", kind=3, image=np.zeros((1, 1), dtype=np.float32)), - ResultPayload(processing_name="gpr_region_mask_1", kind=3, image=np.zeros((1, 1), dtype=np.float32)), - _table("gpr_points", [[0, 0, 1]]), - ]) - masks = collection_payloads_by_prefix(col, "gpr_region_mask_", kind=3) - self.assertEqual([p.processing_name for p in masks], ["gpr_region_mask_0", "gpr_region_mask_1"]) - self.assertEqual(collection_payloads_by_prefix(col, "nope_"), []) - - class GprObjectRowsTest(unittest.TestCase): def test_extracts_first_three_columns_of_points(self) -> None: rows = gpr_object_rows(_collection([_table("gpr_points", [[1, 2, 3], [4, 5, 6]])])) self.assertTrue(np.array_equal(rows, np.array([[1, 2, 3], [4, 5, 6]], dtype=np.float32))) - def test_falls_back_to_region_centers_and_drops_extra_columns(self) -> None: - # region_centers is [x, z, score, pixel_count]; only the first 3 cols are used. - rows = gpr_object_rows(_collection([_table("gpr_region_centers", [[1, 2, 3, 99]])])) - self.assertTrue(np.array_equal(rows, np.array([[1, 2, 3]], dtype=np.float32))) - def test_empty_when_no_object_payloads(self) -> None: self.assertEqual(gpr_object_rows(_collection([_table("gpr_accumulator", [[1, 2, 3]])])).shape, (0, 3)) @@ -76,39 +58,6 @@ class GprObjectRowsTest(unittest.TestCase): self.assertEqual(gpr_object_rows(_collection([_table("gpr_points", [[1, 2]])])).shape, (0, 3)) -class FilterObjectRowsTest(unittest.TestCase): - BOUNDS = {"x_bounds": (-2.0, 2.0), "z_bounds": (0.0, 10.0)} - - def _filter(self, rows: Sequence[Sequence[float]], *, min_score: float) -> np.ndarray: - return filter_object_rows(np.asarray(rows, dtype=np.float32), min_score=min_score, - **self.BOUNDS) - - def test_keeps_in_window_and_at_or_above_threshold(self) -> None: - out = self._filter([[0.0, 5.0, 0.5], [1.0, 1.0, 0.9]], min_score=0.5) # score==threshold kept (inclusive) - self.assertEqual(out.shape[0], 2) - - def test_drops_below_threshold(self) -> None: - out = self._filter([[0.0, 5.0, 0.4]], min_score=0.5) - self.assertEqual(out.shape[0], 0) - - def test_window_bounds_are_inclusive(self) -> None: - out = self._filter([[2.0, 10.0, 1.0], [-2.0, 0.0, 1.0]], min_score=0.0) # exactly on each edge - self.assertEqual(out.shape[0], 2) - - def test_drops_outside_window(self) -> None: - out = self._filter([[2.001, 5.0, 1.0], [0.0, 10.001, 1.0]], min_score=0.0) - self.assertEqual(out.shape[0], 0) - - def test_drops_non_finite_rows(self) -> None: - out = self._filter([[np.nan, 5.0, 1.0], [0.0, np.inf, 1.0], [0.0, 5.0, 1.0]], min_score=0.0) - self.assertEqual(out.shape[0], 1) - - def test_legacy_pair_count_threshold_uses_same_compare(self) -> None: - # legacy GPR passes an integer pair-count threshold; the >= compare is identical. - out = self._filter([[0.0, 5.0, 3.0], [0.0, 5.0, 2.0]], min_score=3) - self.assertTrue(np.array_equal(out, np.array([[0.0, 5.0, 3.0]], dtype=np.float32))) - - class BscanTransformTest(unittest.TestCase): def test_mean_ascan_subtraction(self) -> None: history = deque([np.array([1.0, 1.0], dtype=np.float32), np.array([3.0, 3.0], dtype=np.float32)]) diff --git a/python_app/tests/test_processor_history.py b/python_app/tests/test_processor_history.py index db6f79d..e2a4070 100644 --- a/python_app/tests/test_processor_history.py +++ b/python_app/tests/test_processor_history.py @@ -130,6 +130,27 @@ class _ProcessorTestCase(unittest.TestCase): class FedBackSweepsTest(_ProcessorTestCase): + def test_mean_history_is_not_limited_by_transport_ring_capacity(self) -> None: + self._live.processor_mode = "gpr" + self._live.gpr_input_positions = self._live.gpr_output_positions = [0] + self._live.gpr_background_subtract_enabled = True + self._live.gpr_background_mean_count = 60 + self._live.gpr_min_depth_m, self._live.gpr_max_depth_m = .1, 1.5 + self._live.gpr_bp_ground_depth_m = 0. + self._live_writer.write(self._live) + start = time.monotonic_ns() + for cid in range(1, 61): + sweep = _sweep(cid, start + cid*1_000_000) + sweep.traces[0].s21 *= (-1.)**np.arange(len(sweep.traces[0].s21)) + self._push([sweep]) + self._result_for_revision(0, cid) + current = _sweep(61, start + 61_000_000) + current.traces[0].s21[:] = 30.5 * (-1.)**np.arange(len(current.traces[0].s21)) + self._push([current]) + result = self._result_for_revision(0, 61) + image = next(payload.image for payload in result.collection_payloads if payload.processing_name == "gpr_accumulator") + self.assertFalse(np.any(image)) # Exact cancellation of the 60 preceding spectra (1…60). + def test_remove_targets_exact_sweep_with_reused_ids_and_preserves_missing_targets(self) -> None: start_ns = time.monotonic_ns() sweeps = [_sweep(cid, start_ns + index * 1_000_000) diff --git a/python_app/tests/test_review_gui_regressions.py b/python_app/tests/test_review_gui_regressions.py index a62f609..0d05f16 100644 --- a/python_app/tests/test_review_gui_regressions.py +++ b/python_app/tests/test_review_gui_regressions.py @@ -150,7 +150,7 @@ class ReviewGuiRegressions(unittest.TestCase): deadline.assert_called_once() window = isolated_window(self.addCleanup) window._pipeline.timer.stop() - for mode in ("gpr", "legacy_gpr", "sar3d"): + for mode in ("gpr", "sar3d"): field = widget(window._view.processing, f"_{mode}_input_positions_input", QLineEdit) validator = field.validator() self.assertIsNotNone(validator) @@ -161,7 +161,8 @@ class ReviewGuiRegressions(unittest.TestCase): # A trailing comma during editing is harmless to the shared CSV parser. for table in (np.empty((0, 0)), np.array([[99.]])): result = ResultCollection(1, 2, collection_payloads=[ResultPayload(processing_name="sar3d_status", kind=4, table=table)]) - self.assertFalse(window._plots.sar3d.draw(result)) + self.assertFalse(window._plots.sar3d.draw(result, window._config.processing_settings().sar3d, + window._config.geometry())) self.assertIn("error", window._plots.sar3d.status_label.text().lower()) def test_stop_or_close_cancels_paused_actions_without_error_dialog(self) -> None: diff --git a/python_app/tests/test_run_config_codec.py b/python_app/tests/test_run_config_codec.py index f4e23a2..7e9cd0b 100644 --- a/python_app/tests/test_run_config_codec.py +++ b/python_app/tests/test_run_config_codec.py @@ -363,7 +363,7 @@ class RingValidationTest(unittest.TestCase): class GprValidationTest(unittest.TestCase): @staticmethod def _gpr(**overrides: object) -> GprModel: - model = GprModel(relative_permittivity=4.0) + model = GprModel() for key, value in overrides.items(): setattr(model, key, value) return model @@ -371,10 +371,6 @@ class GprValidationTest(unittest.TestCase): def _validate(self, gpr: GprModel) -> None: validate_gpr_model(gpr, input_switch_positions=4, output_switch_positions=2) - def test_permittivity_must_be_positive(self) -> None: - with self.assertRaisesRegex(ValueError, "relative_permittivity"): - self._validate(self._gpr(relative_permittivity=0.0)) - def test_tx_output_pos_out_of_range(self) -> None: with self.assertRaisesRegex(ValueError, "output_pos is out of range"): self._validate(self._gpr(tx_geometry=[GprTxGeometryModel(output_pos=5, x_m=0.0, y_m=0.0, z_m=0.0)])) diff --git a/python_app/tests/test_sar3d_plot.py b/python_app/tests/test_sar3d_plot.py index dce36d4..42cf572 100644 --- a/python_app/tests/test_sar3d_plot.py +++ b/python_app/tests/test_sar3d_plot.py @@ -9,11 +9,13 @@ from unittest import mock import numpy as np os.environ.setdefault("QT_QPA_PLATFORM", "offscreen") -from PyQt6.QtCore import Qt, QSignalBlocker # noqa: E402 -from PyQt6.QtWidgets import QApplication, QCheckBox, QComboBox, QDoubleSpinBox # noqa: E402 +from PyQt6.QtCore import QPointF, QRectF, Qt, QSignalBlocker # noqa: E402 +from PyQt6.QtWidgets import QApplication, QCheckBox, QComboBox, QDoubleSpinBox, QSlider # noqa: E402 from python_app.gui.controllers.renderers.sar3d import SAR3D_STATES, SAR3D_VIEWS, Sar3dRenderer # noqa: E402 from python_app.models.dataset_model import ComboKey, ResultCollection, ResultPayload, TraceData # noqa: E402 +from python_app.models.gui_profile_schema import GuiSar3dStateModel # noqa: E402 +from python_app.models.run_config_schema import GprModel, GprTxGeometryModel, GprRxGeometryModel # noqa: E402 from python_app.tests.gui_test_support import widget @@ -47,12 +49,13 @@ class Sar3dPlotTest(unittest.TestCase): def setUp(self) -> None: self.renderer = Sar3dRenderer() + self.settings, self.geometry = GuiSar3dStateModel(), GprModel() self.addCleanup(self.renderer.widget.close) def test_all_four_projections_have_visible_images_and_correct_peak_axes(self) -> None: - self.assertTrue(self.renderer.draw(_projections())) + self.assertTrue(self.renderer.draw(_projections(), self.settings, self.geometry)) self.assertEqual(self.renderer.status_label.text(), - "SAR3D: ready — CUDA | max X +0.50, Y -0.20, Z 2.00 m | level 2") + "SAR3D: ready — CUDA | max X +0.50, Y -0.20, Z 2.00 m | level 2 | zoom 100%") positions = {"sar3d_front": (0.5, -0.2), "sar3d_side": (2, -0.2), "sar3d_top": (0.5, 2), "sar3d_oblique": (0.5, -0.2)} for name, position in positions.items(): @@ -60,27 +63,83 @@ class Sar3dPlotTest(unittest.TestCase): self.assertTrue(image.isVisible(), name) self.assertGreater(image.boundingRect().width(), 0) self.assertGreater(image.boundingRect().height(), 0) - xx, yy = self.renderer.peaks[name].getData() - np.testing.assert_allclose([xx[0], yy[0]], position) + xx, yy = self.renderer.targets[name].getData() + assert xx is not None and yy is not None + np.testing.assert_allclose([.5*(xx.min()+xx.max()), .5*(yy.min()+yy.max())], position) + self.assertAlmostEqual(float(np.ptp(xx)), float(np.ptp(yy))) self.assertTrue(all(label.isVisible() for label in self.renderer.axis_labels.values())) self.renderer.clear() self.assertEqual(self.renderer.status_label.text(), "SAR3D: waiting for measurements") def test_unavailable_warning_clears_previous_images_and_labels_and_shows_reason(self) -> None: - self.renderer.draw(_projections()) + self.renderer.draw(_projections(), self.settings, self.geometry) message = "CUDA unavailable: драйвер " - self.assertFalse(self.renderer.draw(_collection(_status(3, message)))) + self.assertFalse(self.renderer.draw(_collection(_status(3, message)), self.settings, self.geometry)) self.assertEqual(self.renderer.status_label.text(), f"SAR3D: warning — {message}") self.assertEqual(self.renderer.status_label.textFormat(), Qt.TextFormat.PlainText) self.assertTrue(all(not image.isVisible() for image in self.renderer.images.values())) self.assertTrue(all(not label.isVisible() for label in self.renderer.axis_labels.values())) def test_no_signal_and_missing_projections_explain_empty_panels(self) -> None: - self.assertFalse(self.renderer.draw(_collection(_status(1, "No signal in selected range")))) + self.assertFalse(self.renderer.draw(_collection(_status(1, "No signal in selected range")), self.settings, self.geometry)) self.assertIn("no signal", self.renderer.status_label.text()) - self.assertFalse(self.renderer.draw(_collection())) + self.assertFalse(self.renderer.draw(_collection(), self.settings, self.geometry)) self.assertEqual(self.renderer.status_label.text(), "SAR3D: waiting for projection data") + def test_response_size_antenna_positions_and_zoom_use_scene_coordinates(self) -> None: + result = _projections() + result.collection_payloads.append(ResultPayload("sar3d_target_width", 4, table=np.array([[.4, .6, .8]]))) + self.geometry = GprModel(tx_geometry=[GprTxGeometryModel(0, .7, .3, .4)], + rx_geometry=[GprRxGeometryModel(0, -.7, -.3, .2)]) + self.settings.look_angle_deg = 30 + self.settings.bp_ground_depth_m = 1.25 + self.renderer.widget.resize(800, 600) + self.renderer.widget.show() + self.renderer.draw(result, self.settings, self.geometry) + self.app.processEvents() + baseline = {} + expected_antenna = [.7, 1.25 + .3*np.cos(np.pi/6) - .4*.5, .3*.5 + .4*np.cos(np.pi/6)] + for name, (_, _, _, axes) in SAR3D_VIEWS.items(): + xx, yy = self.renderer.targets[name].getData() + assert xx is not None and yy is not None + side = .6 if name in {"sar3d_front", "sar3d_oblique"} else .8 + self.assertAlmostEqual(float(np.ptp(xx)), side) + if axes is not None: + tx, _ = self.renderer.antennas[name] + ax, ay = tx.getData() + np.testing.assert_allclose([ax[0], ay[0]], np.asarray(expected_antenna)[list(axes)]) + view = self.renderer.plots[name].getViewBox() + for marker in self.renderer.antennas[name]: + ax, ay = marker.getData() + for x, y in zip(ax, ay): + point = view.mapViewToScene(QPointF(float(x), float(y))) + self.assertTrue(view.sceneBoundingRect().contains(QRectF(point.x()-7, point.y()-7, 14, 14)), name) + rect = self.renderer.plots[name].getViewBox().targetRect() + baseline[name] = np.array([[rect.left(), rect.right()], [rect.top(), rect.bottom()]]) + self.assertNotIn("sar3d_oblique", self.renderer.antennas) + self.settings.zoom_percent = 250 + self.renderer.draw(result, self.settings, self.geometry) + self.app.processEvents() + for name, ranges in baseline.items(): + rect = self.renderer.plots[name].getViewBox().targetRect() + zoomed = np.array([[rect.left(), rect.right()], [rect.top(), rect.bottom()]]) + np.testing.assert_allclose(np.ptp(zoomed, axis=1), np.ptp(ranges, axis=1)/2.5) + xx, yy = self.renderer.targets[name].getData() + assert xx is not None and yy is not None + peak = np.array([.5*(xx.min()+xx.max()), .5*(yy.min()+yy.max())]) + self.assertLess(np.linalg.norm(zoomed.mean(axis=1)-peak), np.linalg.norm(ranges.mean(axis=1)-peak)) + + def test_cloud_threshold_masks_weak_response_without_changing_levels(self) -> None: + result = _projections() + for payload in result.collection_payloads: + if payload.kind == 3: + payload.image.flat[:2] = [.2, .8] + for threshold, expected in ((.65, [0, .8, 1]), (1., [0, 0, 1])): + self.settings.cloud_threshold = threshold + self.renderer.draw(result, self.settings, self.geometry) + for image in self.renderer.images.values(): + np.testing.assert_allclose(np.asarray(image.image).flat[:3], expected) + np.testing.assert_allclose(np.asarray(image.levels), [0, 1]) class Sar3dIntegrationTest(unittest.TestCase): @@ -100,6 +159,30 @@ class Sar3dIntegrationTest(unittest.TestCase): self.view._plots.required_revision = None self.renderer = self.view._plots.sar3d + def test_display_controls_redraw_without_processing_revision_or_live_fields(self) -> None: + result = _projections() + self.view._history.record_result(result) + revision = self.view._live.revision + widget(self.view._view.processing, "_sar3d_zoom_percent", QSlider).setValue(247) + widget(self.view._view.processing, "_sar3d_cloud_threshold", QDoubleSpinBox).setValue(1.) + self.assertEqual(self.view._live.revision, revision) + self.assertIn("zoom 247%", self.renderer.status_label.text()) + live = self.view._live.build().to_dict() + self.assertNotIn("sar3d_zoom_percent", live) + self.assertNotIn("sar3d_cloud_threshold", live) + schema = {entry["name"]: entry for entry in self.view._config.web_schema()} + self.assertEqual(schema["sar3d_zoom_percent"]["value"], 247) + self.assertEqual(schema["sar3d_zoom_percent"]["step"], 1) + self.assertEqual(schema["sar3d_cloud_threshold"]["value"], 1.) + + def test_inactive_sar_scene_is_validated_before_publishing_gpr_settings(self) -> None: + with QSignalBlocker(self.mode): + self.mode.setCurrentText("gpr") + with QSignalBlocker(widget(self.view._view.processing, "_sar3d_y_min_m", QDoubleSpinBox)): + widget(self.view._view.processing, "_sar3d_y_min_m", QDoubleSpinBox).setValue(3.) + with self.assertRaisesRegex(ValueError, "SAR_Y_RANGE_M"): + self.view._config.build_live_config() + def test_capture_preview_keeps_sar_page_and_uses_saved_trace_settings(self) -> None: self.view._plots.set_mode("sar3d") fields = self.view._view.processing diff --git a/python_app/tests/test_socket_speed_controls.py b/python_app/tests/test_socket_speed_controls.py index b387850..fac0678 100644 --- a/python_app/tests/test_socket_speed_controls.py +++ b/python_app/tests/test_socket_speed_controls.py @@ -2,7 +2,7 @@ The data_processor uses the speed a socket client streams unless the live config sets `ignore_socket_speed`; then `gpr_speed_m_s` from the GUI field applies. Each -GPR-like page (gpr, legacy_gpr, sar3d) has its own checkbox and field, and the +GPR-like page (gpr, sar3d) has its own checkbox and field, and the field is editable only while it is the one in force. """ @@ -31,7 +31,7 @@ class SocketSpeedControlsTest(unittest.TestCase): def test_socket_authority_controls_editability_and_published_speed(self) -> None: assert _window is not None section = _window._view.processing - for mode, (checkbox, speed) in zip(("gpr", "legacy_gpr", "sar3d"), section.speed_controls, strict=True): + for mode, (checkbox, speed) in zip(("gpr", "sar3d"), section.speed_controls, strict=True): section.mode.setCurrentText(mode) speed.setValue(1.25) for ignore in (True, False): diff --git a/python_app/webui/static/app.js b/python_app/webui/static/app.js index 5b74add..097fe9a 100644 --- a/python_app/webui/static/app.js +++ b/python_app/webui/static/app.js @@ -218,7 +218,7 @@ function makeFieldRow(entry) { el.value = String(entry.value); } else if (entry.kind === "int" || entry.kind === "float") { el = document.createElement("input"); - el.type = "number"; + el.type = entry.slider ? "range" : "number"; if (entry.min != null) el.min = entry.min; if (entry.max != null) el.max = entry.max; el.step = entry.kind === "float" ? (entry.step || "any") : (entry.step || 1); diff --git a/run_config.json b/run_config.json index 38a241b..64adb95 100644 --- a/run_config.json +++ b/run_config.json @@ -184,7 +184,6 @@ } }, "gpr": { - "relative_permittivity": 1.0, "tx_geometry": [ { "output_pos": 0, diff --git a/run_config_examples/run_config_librevna.example.json b/run_config_examples/run_config_librevna.example.json index 9fdaf42..14e8995 100644 --- a/run_config_examples/run_config_librevna.example.json +++ b/run_config_examples/run_config_librevna.example.json @@ -142,7 +142,6 @@ } }, "gpr": { - "relative_permittivity": 1.0, "tx_geometry": [ { "output_pos": 0, diff --git a/run_config_examples/run_config_librevna_multi.example.json b/run_config_examples/run_config_librevna_multi.example.json index 703f024..2d8b8bc 100644 --- a/run_config_examples/run_config_librevna_multi.example.json +++ b/run_config_examples/run_config_librevna_multi.example.json @@ -145,7 +145,6 @@ } }, "gpr": { - "relative_permittivity": 1.0, "tx_geometry": [ { "output_pos": 0, diff --git a/run_config_examples/run_config_librevna_multi.example2.json b/run_config_examples/run_config_librevna_multi.example2.json index 9d48a62..15d0e94 100644 --- a/run_config_examples/run_config_librevna_multi.example2.json +++ b/run_config_examples/run_config_librevna_multi.example2.json @@ -145,7 +145,6 @@ } }, "gpr": { - "relative_permittivity": 1.0, "tx_geometry": [ { "output_pos": 0, diff --git a/run_config_examples/run_config_librevna_multi_per_point.example.json b/run_config_examples/run_config_librevna_multi_per_point.example.json index 4411b64..37e6c45 100644 --- a/run_config_examples/run_config_librevna_multi_per_point.example.json +++ b/run_config_examples/run_config_librevna_multi_per_point.example.json @@ -188,7 +188,6 @@ } }, "gpr": { - "relative_permittivity": 1.0, "tx_geometry": [ { "output_pos": 0, @@ -326,31 +325,6 @@ "visible_z_min_m": 0.0, "visible_z_max_m": 8.0 }, - "legacy_gpr": { - "mode": "point", - "input_positions": "0,1,2,3", - "output_positions": "0,1,2,3", - "min_depth_m": 2.0, - "max_depth_m": 14.0, - "comp_power": 0.2, - "start_freq_mhz": 3000.0, - "stop_freq_mhz": 6000.0, - "speed_m_s": 0.0, - "ignore_socket_speed_enabled": false, - "look_angle_deg": 0.0, - "apply_freq_phase_correction": true, - "reference_mode": "frame_center", - "snr_thresh": 4.5, - "snr_comp_max": 25.0, - "background_subtract_enabled": true, - "background_mean_count": 10, - "render_mode": "heatmap", - "min_visible_pair_count": 1, - "visible_x_min_m": -2.91, - "visible_x_max_m": 2.91, - "visible_z_min_m": 0.0, - "visible_z_max_m": 14.0 - }, "sar3d": { "input_positions": "", "output_positions": "", diff --git a/run_config_examples/run_config_librevna_multi_per_point_lowband.example.json b/run_config_examples/run_config_librevna_multi_per_point_lowband.example.json index e671c66..4d160cc 100644 --- a/run_config_examples/run_config_librevna_multi_per_point_lowband.example.json +++ b/run_config_examples/run_config_librevna_multi_per_point_lowband.example.json @@ -184,7 +184,6 @@ } }, "gpr": { - "relative_permittivity": 1.0, "tx_geometry": [ { "output_pos": 0, diff --git a/run_config_examples/run_config_rph_radar.example.json b/run_config_examples/run_config_rph_radar.example.json index 1891de0..aadbe72 100644 --- a/run_config_examples/run_config_rph_radar.example.json +++ b/run_config_examples/run_config_rph_radar.example.json @@ -175,7 +175,6 @@ } }, "gpr": { - "relative_permittivity": 1.0, "tx_geometry": [ { "output_pos": 0, diff --git a/run_config_examples/run_config_rph_radar_rfg.example.json b/run_config_examples/run_config_rph_radar_rfg.example.json index 20ecda8..2894727 100644 --- a/run_config_examples/run_config_rph_radar_rfg.example.json +++ b/run_config_examples/run_config_rph_radar_rfg.example.json @@ -102,7 +102,6 @@ } }, "gpr": { - "relative_permittivity": 1.0, "tx_geometry": [ { "output_pos": 0, diff --git a/run_config_examples/run_config_simulator.example.json b/run_config_examples/run_config_simulator.example.json index b7aef83..97ba7d9 100644 --- a/run_config_examples/run_config_simulator.example.json +++ b/run_config_examples/run_config_simulator.example.json @@ -142,7 +142,6 @@ } }, "gpr": { - "relative_permittivity": 1.0, "tx_geometry": [ { "output_pos": 0, @@ -265,31 +264,6 @@ "visible_x_max_m": 2.0, "visible_z_min_m": 0.0, "visible_z_max_m": 14.0 - }, - "legacy_gpr": { - "mode": "point", - "input_positions": "0,1,2,3", - "output_positions": "0,1", - "min_depth_m": 2.0, - "max_depth_m": 14.0, - "comp_power": 0.2, - "start_freq_mhz": 3000.0, - "stop_freq_mhz": 6000.0, - "speed_m_s": 0.0, - "ignore_socket_speed_enabled": false, - "look_angle_deg": 0.0, - "apply_freq_phase_correction": true, - "reference_mode": "frame_center", - "snr_thresh": 4.5, - "snr_comp_max": 25.0, - "background_subtract_enabled": true, - "background_mean_count": 10, - "render_mode": "heatmap", - "min_visible_pair_count": 1, - "visible_x_min_m": -2.0, - "visible_x_max_m": 2.0, - "visible_z_min_m": 0.0, - "visible_z_max_m": 14.0 } }, "data_actions": { diff --git a/run_configs/run_config.json b/run_configs/run_config.json index 6924e91..bc24489 100644 --- a/run_configs/run_config.json +++ b/run_configs/run_config.json @@ -142,7 +142,6 @@ } }, "gpr": { - "relative_permittivity": 1.0, "tx_geometry": [ { "output_pos": 0, @@ -265,31 +264,6 @@ "visible_x_max_m": 2.0, "visible_z_min_m": 0.0, "visible_z_max_m": 14.0 - }, - "legacy_gpr": { - "mode": "point", - "input_positions": "0,1,2,3", - "output_positions": "0,1", - "min_depth_m": 2.0, - "max_depth_m": 14.0, - "comp_power": 0.2, - "start_freq_mhz": 3000.0, - "stop_freq_mhz": 6000.0, - "speed_m_s": 0.0, - "ignore_socket_speed_enabled": false, - "look_angle_deg": 0.0, - "apply_freq_phase_correction": true, - "reference_mode": "frame_center", - "snr_thresh": 4.5, - "snr_comp_max": 25.0, - "background_subtract_enabled": true, - "background_mean_count": 10, - "render_mode": "heatmap", - "min_visible_pair_count": 1, - "visible_x_min_m": -2.0, - "visible_x_max_m": 2.0, - "visible_z_min_m": 0.0, - "visible_z_max_m": 14.0 } }, "data_actions": {