From 3fa2f81744caa41d4430ead2d1de7245e1dd6df7 Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Mon, 10 Apr 2023 11:03:04 -0400 Subject: [PATCH 01/28] Add driving-smarts-2023 --- .gitignore | 5 + docs/benchmarks/agent_zoo.rst | 6 +- docs/benchmarks/benchmark.rst | 40 ++-- docs/benchmarks/driving_smarts_2022.rst | 10 +- smarts/benchmark/benchmark_listing.yaml | 19 +- .../driving_smarts/{v0 => v2022}/__init__.py | 0 .../driving_smarts/{v0 => v2022}/config.yaml | 26 +-- .../driving_smarts/v2023/__init__.py | 24 +++ .../driving_smarts/v2023/config.yaml | 35 ++++ smarts/core/external_provider.py | 3 - smarts/core/plan.py | 2 +- smarts/core/smarts.py | 1 - smarts/core/traffic_provider.py | 2 +- smarts/env/gymnasium/__init__.py | 18 +- ...tion_env.py => driving_smarts_2022_env.py} | 37 +--- .../env/gymnasium/driving_smarts_2023_env.py | 176 +++++++++++++++++ smarts/env/gymnasium/hiway_env_v1.py | 9 - smarts/env/gymnasium/platoon_env.py | 178 ++++++++++++++++++ smarts/env/tests/test_hiway_env_v1.py | 2 +- smarts/env/utils/observation_conversion.py | 9 +- smarts/env/utils/scenario.py | 53 ++++++ smarts/zoo/registry.py | 2 +- 22 files changed, 557 insertions(+), 100 deletions(-) rename smarts/benchmark/driving_smarts/{v0 => v2022}/__init__.py (100%) rename smarts/benchmark/driving_smarts/{v0 => v2022}/config.yaml (68%) create mode 100644 smarts/benchmark/driving_smarts/v2023/__init__.py create mode 100644 smarts/benchmark/driving_smarts/v2023/config.yaml rename smarts/env/gymnasium/{driving_smarts_competition_env.py => driving_smarts_2022_env.py} (93%) create mode 100644 smarts/env/gymnasium/driving_smarts_2023_env.py create mode 100644 smarts/env/gymnasium/platoon_env.py create mode 100644 smarts/env/utils/scenario.py diff --git a/.gitignore b/.gitignore index 7b73dd0d3e..abc9cab2a9 100644 --- a/.gitignore +++ b/.gitignore @@ -120,12 +120,17 @@ build.db # run logs **/examples/**/logs +**/examples/**/videos _run_logs results supervisord.log supervisord.pid xdummy.log +# Argoverse dataset +log_map_archive_[a-z0-9-]*.json +scenario_[a-z0-9-]*.parquet + # replay data *.jsonl diff --git a/docs/benchmarks/agent_zoo.rst b/docs/benchmarks/agent_zoo.rst index 4cf250d055..0e522025c4 100644 --- a/docs/benchmarks/agent_zoo.rst +++ b/docs/benchmarks/agent_zoo.rst @@ -50,19 +50,19 @@ Available zoo agents - Remarks * - | zoo.policies:interaction-aware-motion-prediction-agent-v0 | zoo/policies/interaction_aware_motion_prediction - - driving_smarts==0.0 + - driving_smarts_2022==0.0 - :attr:`~smarts.core.controllers.ActionSpaceType.TargetPose` - `code `__ - Contributed as part of `NeurIPS 2022 Driving SMARTS `__ competition. * - | zoo.policies:control-and-supervised-learning-agent-v0 | zoo/policies/control_and_supervised_learning - - driving_smarts==0.0 + - driving_smarts_2022==0.0 - :attr:`~smarts.core.controllers.ActionSpaceType.TargetPose` - `code `__ - Contributed as part of `NeurIPS 2022 Driving SMARTS `__ competition. * - | zoo.policies:discrete-soft-actor-critic-agent-v0 | zoo/policies/discrete_soft_actor_critic - - driving_smarts==0.0 + - driving_smarts_2022==0.0 - :attr:`~smarts.core.controllers.ActionSpaceType.TargetPose` - `code `__ - Contributed as part of `NeurIPS 2022 Driving SMARTS `__ competition. diff --git a/docs/benchmarks/benchmark.rst b/docs/benchmarks/benchmark.rst index 3e5d0ac70c..09db1c5ec6 100644 --- a/docs/benchmarks/benchmark.rst +++ b/docs/benchmarks/benchmark.rst @@ -24,8 +24,10 @@ benchmark version, then the benchmark's latest version is run by default. .. code:: bash - $ scl benchmark run driving_smarts smarts.zoo:random-relative-target-pose-agent-v0 --auto-install - Starting `Driving SMARTS V1` benchmark. + $ scl benchmark run driving_smarts_2022 smarts.zoo:random-relative-target-pose-agent-v0 --auto-install + + <-- Starting `Driving SMARTS 2022` benchmark --> + This is a cleaned up version of the Driving SMARTS benchmark. Using `TargetPose` agent action has an applied 28m/s cap for agent motion. @@ -33,19 +35,21 @@ benchmark version, then the benchmark's latest version is run by default. For history see: - https://codalab.lisn.upsaclay.fr/competitions/6618 - - https://smarts-project.github.io/archive/2022_nips_driving_smarts/ + - https://smarts-project.github.io/archive/2022_nips_driving_smarts/competition/ + Evaluating 1_to_2lane_left_turn_c... Evaluating 3lane_merge_multi_agent... ... Scoring 1_to_2lane_left_turn_c... - Evaluation complete... - `Driving SMARTS V0` result: - - completion: 1 - - humanness: 0.7 - - rules: 0.9 - - time: 0.2 - - overall: 0.504 + SCORE + {'overall': 0.424, + 'dist_to_destination': 0.925, + 'humanness': 0.769, + 'rules': 1.0, + 'time': 0.265} + + <-- Evaluation complete --> See available benchmarks ------------------------ @@ -56,7 +60,7 @@ The ``scl benchmark list`` command can be used to see the list of available benc $ scl benchmark list BENCHMARK_NAME BENCHMARK_ID VERSIONS - - Driving SMARTS: driving_smarts 0.0 0.1 + - Driving SMARTS 2022: driving_smarts_2022 0.0 0.1 Custom benchmark listing ------------------------ @@ -92,17 +96,17 @@ The benchmark listing file is organised as below. # smarts/benchmark/benchmark_listing.yaml --- benchmarks: # The root element (required) - driving_smarts: # The id of the benchmark for reference - name: "Driving SMARTS" # The human readable name of the benchmark + driving_smarts_2022: # The id of the benchmark for reference + name: "Driving SMARTS 2022" # The human readable name of the benchmark versions: # A list of benchmark versions - - # the version of the benchmark, higher is newer + # The version of the benchmark, higher is newer version: 0.0 - # the entrypoint for the benchmark, it must have `agent_config`, and `debug_log` as params + # The entrypoint for the benchmark, it must have `agent_config`, and `debug_log` as params entrypoint: "smarts.benchmark.entrypoints.benchmark_runner_v0.benchmark_from_configs" - requirements: ["ray<=2.2.0,>2.0"] # requirements to install if `--auto-install`. - params: # additional values to pass into the entrypoint as named keyword arguments. - benchmark_config: ${{smarts.benchmark.driving_smarts.v0}}/config.yaml + requirements: ["ray<=2.2.0,>2.0"] # Requirements to install if `--auto-install`. + params: # Additional values to pass into the entrypoint as named keyword arguments. + benchmark_config: ${{smarts.benchmark.driving_smarts.v2022}}/config.yaml .. note:: diff --git a/docs/benchmarks/driving_smarts_2022.rst b/docs/benchmarks/driving_smarts_2022.rst index 8283b15496..20f8121a2f 100644 --- a/docs/benchmarks/driving_smarts_2022.rst +++ b/docs/benchmarks/driving_smarts_2022.rst @@ -3,14 +3,14 @@ Driving SMARTS 2022 =================== -The Driving SMARTS 2022 is a benchmark derived from the +The Driving SMARTS 2022 is a benchmark used in the `NeurIPS 2022 Driving SMARTS `_ competition. Objective --------- -Objective is to develop a single policy capable of controlling single-agent or multi-agent to complete different driving scenarios in the ``driving-smarts-competition-v0`` environment. -Refer to :func:`~smarts.env.gymnasium.driving_smarts_competition_env.driving_smarts_competition_v0_env` for environment details. +Objective is to develop a single policy capable of controlling single-agent or multi-agent to complete different driving scenarios in the ``driving-smarts-v2022`` environment. +Refer to :func:`~smarts.env.gymnasium.driving_smarts_2022_env.driving_smarts_2022_env` for environment details. In each driving scenario, the ego-agents must drive towards their respective mission goal locations. Each agent's mission goal is given in the observation returned by the environment at each time step. The mission goal could be accessed as ``observation.ego_vehicle_state.mission.goal.position`` which gives an ``(x, y, z)`` map coordinate of the goal location. @@ -72,5 +72,5 @@ See the list of :ref:`available zoo agents ` which are com $ cd /SMARTS $ scl zoo install # e.g., scl zoo install zoo/policies/interaction_aware_motion_prediction - $ scl benchmark run driving_smarts==0.0 --auto_install - # e.g., scl benchmark run driving_smarts==0.0 zoo.policies:interaction-aware-motion-prediction-agent-v0 --auto-install \ No newline at end of file + $ scl benchmark run driving_smarts_2022==0.0 --auto_install + # e.g., scl benchmark run driving_smarts_2022==0.0 zoo.policies:interaction-aware-motion-prediction-agent-v0 --auto-install \ No newline at end of file diff --git a/smarts/benchmark/benchmark_listing.yaml b/smarts/benchmark/benchmark_listing.yaml index ab40af7e6f..0d5ca56044 100644 --- a/smarts/benchmark/benchmark_listing.yaml +++ b/smarts/benchmark/benchmark_listing.yaml @@ -1,13 +1,24 @@ # smarts/benchmark/benchmark_listing.yaml --- benchmarks: - driving_smarts: - name: "Driving SMARTS" + + driving_smarts_2022: + name: "Driving SMARTS 2022" versions: - version: 0.0 entrypoint: "smarts.benchmark.entrypoints.benchmark_runner_v0.benchmark_from_configs" requirements: ["ray<=2.2.0,>2.0"] params: - benchmark_config: ${{smarts.benchmark.driving_smarts.v0}}/config.yaml - \ No newline at end of file + benchmark_config: ${{smarts.benchmark.driving_smarts.v2022}}/config.yaml + + driving_smarts_2023: + name: "Driving SMARTS 2023" + versions: + - + version: 0.0 + entrypoint: "smarts.benchmark.entrypoints.benchmark_runner_v0.benchmark_from_configs" + requirements: ["ray<=2.2.0,>2.0"] + params: + benchmark_config: ${{smarts.benchmark.driving_smarts.v2023}}/config.yaml + \ No newline at end of file diff --git a/smarts/benchmark/driving_smarts/v0/__init__.py b/smarts/benchmark/driving_smarts/v2022/__init__.py similarity index 100% rename from smarts/benchmark/driving_smarts/v0/__init__.py rename to smarts/benchmark/driving_smarts/v2022/__init__.py diff --git a/smarts/benchmark/driving_smarts/v0/config.yaml b/smarts/benchmark/driving_smarts/v2022/config.yaml similarity index 68% rename from smarts/benchmark/driving_smarts/v0/config.yaml rename to smarts/benchmark/driving_smarts/v2022/config.yaml index 13c24c8b24..66bf71fa2c 100644 --- a/smarts/benchmark/driving_smarts/v0/config.yaml +++ b/smarts/benchmark/driving_smarts/v2022/config.yaml @@ -1,7 +1,7 @@ -# smarts/benchmark/driving_smarts_v0/config.yaml +# smarts/benchmark/driving_smarts_v2022/config.yaml --- benchmark: - name: "Driving SMARTS V0" + name: "Driving SMARTS 2022" message: | # A useful message given at the start of the benchmark. This is a cleaned up version of the Driving SMARTS benchmark. @@ -19,7 +19,7 @@ benchmark: headless: true envs: standard: - loc: "smarts.env:driving-smarts-competition-v0" + loc: "smarts.env:driving-smarts-v2022" scenarios: - scenarios/sumo/intersections/1_to_2lane_left_turn_c_agents_1 - scenarios/sumo/intersections/1_to_2lane_left_turn_t_agents_1 @@ -31,16 +31,16 @@ benchmark: - scenarios/sumo/straight/3lane_overtake_agents_1 kwargs: seed: 42 - # bubble: # reserved for bubble env - # loc: "smarts.env:driving-smarts-competition-bubble-env-v0" - # scenarios: - # - 6 - # - 4 - # - 42 + # bubble: + # loc: "smarts.env:driving-smarts-bubble-v2022" + # scenarios: + # - 6 + # - 4 + # - 42 # kwargs: - # naturalistic: # reserved for driving_smarts_competition_naturalistic-v0 - # loc: "smarts.env:driving_smarts_competition_naturalistic-v0" + # naturalistic: + # loc: "smarts.env:driving-smarts-naturalistic-v2022" # kwargs: # scenario_dirs: - # - "./scenarios/naturalistic/waymo" - # - "./scenarios/naturalistic/ngsim" \ No newline at end of file + # - scenarios/naturalistic/waymo + # - scenarios/naturalistic/ngsim \ No newline at end of file diff --git a/smarts/benchmark/driving_smarts/v2023/__init__.py b/smarts/benchmark/driving_smarts/v2023/__init__.py new file mode 100644 index 0000000000..84a9e0a91c --- /dev/null +++ b/smarts/benchmark/driving_smarts/v2023/__init__.py @@ -0,0 +1,24 @@ +# MIT License +# +# Copyright (C) 2023. Huawei Technologies Co., Ltd. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +from pathlib import Path + +DEFAULT_CONFIG = str((Path(__file__).parent / "config.yaml").absolute()) diff --git a/smarts/benchmark/driving_smarts/v2023/config.yaml b/smarts/benchmark/driving_smarts/v2023/config.yaml new file mode 100644 index 0000000000..e9233f3b96 --- /dev/null +++ b/smarts/benchmark/driving_smarts/v2023/config.yaml @@ -0,0 +1,35 @@ +# smarts/benchmark/driving_smarts_v2023/config.yaml +--- +benchmark: + name: "Driving SMARTS 2023" + message: | # A useful message given at the start of the benchmark. + This is the `Driving SMARTS` 2023 benchmark. + For context see: + - https://codalab.lisn.upsaclay.fr/competitions/ + - https://smarts-project.github.io/archive/ + eval_episodes: 20 + debug: + serial: True + shared_env_kwargs: + seed: 42 + headless: True + envs: + standard: + loc: "smarts.env:driving-smarts-v2023" + scenarios: + - scenarios/sumo/straight/3lane_cruise_agents_1 + kwargs: + seed: 42 + turns: + loc: "smarts.env:driving-smarts-v2023" + scenarios: + - scenarios/sumo/intersections/1_to_2lane_left_turn_c_agents_1 + kwargs: + seed: 42 + platoon: + loc: "smarts.env:platoon" + scenarios: + - scenarios/sumo/platoon/straight_sumo_t_agents_1 + kwargs: + seed: 42 + # metric_formula: smarts/benchmark/driving_smarts/v2023/metric_formula_platoon.py diff --git a/smarts/core/external_provider.py b/smarts/core/external_provider.py index f725f84cc8..982ff9a5a7 100644 --- a/smarts/core/external_provider.py +++ b/smarts/core/external_provider.py @@ -20,12 +20,9 @@ import weakref from typing import Iterable, List, Sequence, Set -import numpy as np - from .actor import ActorRole from .controllers import ActionSpaceType from .provider import Provider, ProviderManager, ProviderRecoveryFlags, ProviderState -from .road_map import RoadMap from .scenario import Scenario from .utils.file import replace from .vehicle import VehicleState diff --git a/smarts/core/plan.py b/smarts/core/plan.py index 5b0fd8085a..00a28aa782 100644 --- a/smarts/core/plan.py +++ b/smarts/core/plan.py @@ -330,7 +330,7 @@ def create_route(self, mission: Mission, radius: Optional[float] = None): mission. Defaults to `_default_lane_width` of the underlying road_map. """ - assert not self._route, "already called create_route()" + assert not self._route, "Already called create_route()." self._mission = mission or Mission.random_endless_mission(self._road_map) if not self._mission.requires_route: diff --git a/smarts/core/smarts.py b/smarts/core/smarts.py index b53e87dea7..8cf7c23f0e 100644 --- a/smarts/core/smarts.py +++ b/smarts/core/smarts.py @@ -55,7 +55,6 @@ from .scenario import Mission, Scenario from .signal_provider import SignalProvider from .signals import SignalLightState, SignalState -from .sumo_traffic_simulation import SumoTrafficSimulation from .traffic_history_provider import TrafficHistoryProvider from .traffic_provider import TrafficProvider from .trap_manager import TrapManager diff --git a/smarts/core/traffic_provider.py b/smarts/core/traffic_provider.py index 0b09119da6..eef2560acb 100644 --- a/smarts/core/traffic_provider.py +++ b/smarts/core/traffic_provider.py @@ -19,7 +19,7 @@ # THE SOFTWARE. -from typing import Optional, Sequence +from typing import Optional from shapely.geometry import Polygon diff --git a/smarts/env/gymnasium/__init__.py b/smarts/env/gymnasium/__init__.py index a766a429b4..78633a58d6 100644 --- a/smarts/env/gymnasium/__init__.py +++ b/smarts/env/gymnasium/__init__.py @@ -28,10 +28,24 @@ ) register( - id="driving-smarts-competition-v0", - entry_point="smarts.env.gymnasium.driving_smarts_competition_env:driving_smarts_competition_v0_env", + id="driving-smarts-v2022", + entry_point="smarts.env.gymnasium.driving_smarts_2022_env:driving_smarts_2022_env", disable_env_checker=True, ) + + register( + id="platoon-v0", + entry_point="smarts.env.gymnasium.platoon_env:platoon_env", + disable_env_checker=True, + ) + + register( + id="driving-smarts-v2023", + entry_point="smarts.env.gymnasium.driving_smarts_2023_env:driving_smarts_2023_env", + disable_env_checker=True, + ) + + except ModuleNotFoundError: import warnings diff --git a/smarts/env/gymnasium/driving_smarts_competition_env.py b/smarts/env/gymnasium/driving_smarts_2022_env.py similarity index 93% rename from smarts/env/gymnasium/driving_smarts_competition_env.py rename to smarts/env/gymnasium/driving_smarts_2022_env.py index 41ed666cf5..e3e15118cd 100644 --- a/smarts/env/gymnasium/driving_smarts_competition_env.py +++ b/smarts/env/gymnasium/driving_smarts_2022_env.py @@ -21,8 +21,6 @@ import copy import logging import math -import os -import pathlib from functools import partial from typing import Any, Dict, Optional, Tuple @@ -40,6 +38,7 @@ from smarts.core.controllers import ActionSpaceType from smarts.env.gymnasium.hiway_env_v1 import HiWayEnvV1, SumoOptions from smarts.env.utils.observation_conversion import ObservationOptions +from smarts.env.utils.scenario import get_scenario_specs from smarts.sstudio.scenario_construction import build_scenario logger = logging.getLogger(__file__) @@ -52,7 +51,7 @@ MAXIMUM_SPEED_MPS = 28 # 28m/s = 100.8 km/h. This is a safe maximum speed. -def driving_smarts_competition_v0_env( +def driving_smarts_2022_env( scenario: str, agent_interface: AgentInterface, headless: bool = True, @@ -122,7 +121,7 @@ def driving_smarts_competition_v0_env( An environment described by the input argument `scenario`. """ - env_specs = _get_env_specs(scenario) + env_specs = get_scenario_specs(scenario) build_scenario(scenario=env_specs["scenario"]) resolved_agent_interface = resolve_agent_interface(agent_interface) @@ -161,36 +160,6 @@ def driving_smarts_competition_v0_env( return env -def _get_env_specs(scenario: str): - """Returns the appropriate environment parameters for each scenario. - - Args: - scenario (str): Scenario - - Returns: - Dict[str, Any]: A parameter dictionary. - """ - - if os.path.isdir(scenario): - import re - - regexp_agent = re.compile(r"agents_\d+") - regexp_num = re.compile(r"\d+") - matches_agent = regexp_agent.search(scenario) - if not matches_agent: - raise Exception( - f"Scenario path should match regexp of 'agents_\\d+', but got {scenario}" - ) - num_agent = regexp_num.search(matches_agent.group(0)) - - return { - "scenario": str(scenario), - "num_agent": int(num_agent.group(0)), - } - else: - raise Exception(f"Unknown scenario {scenario}.") - - def resolve_agent_action_space(agent_interface: AgentInterface): """Get the competition action space for the given agent interface.""" assert ( diff --git a/smarts/env/gymnasium/driving_smarts_2023_env.py b/smarts/env/gymnasium/driving_smarts_2023_env.py new file mode 100644 index 0000000000..562d747f7f --- /dev/null +++ b/smarts/env/gymnasium/driving_smarts_2023_env.py @@ -0,0 +1,176 @@ +# Copyright (C) 2023. Huawei Technologies Co., Ltd. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import logging +from functools import partial +from typing import Optional + +from envision.client import Client as Envision +from envision.client import EnvisionDataFormatterArgs +from smarts.core.agent_interface import ( + AgentInterface, + DoneCriteria, + NeighborhoodVehicles, + Waypoints, +) +from smarts.core.controllers import ActionSpaceType +from smarts.env.gymnasium.hiway_env_v1 import HiWayEnvV1, SumoOptions +from smarts.env.utils.observation_conversion import ObservationOptions +from smarts.env.utils.scenario import get_scenario_specs +from smarts.sstudio.scenario_construction import build_scenario + +logger = logging.getLogger(__file__) +logger.setLevel(logging.WARNING) + +SUPPORTED_ACTION_TYPES = (ActionSpaceType.Continuous,) + + +def driving_smarts_2023_env( + scenario: str, + agent_interface: AgentInterface, + seed: int = 42, + headless: bool = True, + visdom: bool = False, + sumo_headless: bool = True, + envision_record_data_replay_path: Optional[str] = None, +): + """An environment with a mission to be completed by a single or multiple + ego agents. Episode ends when ego agents reach their respective destinations + specified by their mission goals. + + Observation space for each agent: + Formatted :class:`~smarts.core.observations.Observation` using + :attr:`~smarts.env.utils.observation_conversion.ObservationOptions.multi_agent` + option is returned as observation. See + :class:`~smarts.env.utils.observation_conversion.ObservationSpacesFormatter` for + a sample formatted observation data structure. + + Action space for each agent: + Action space for each agent is :attr:`~smarts.core.controllers.ActionSpaceType.Continuous`. + + Agent interface: + Using the input argument agent_interface, users may configure all the fields of + :class:`~smarts.core.agent_interface.AgentInterface` except for the (i) accelerometer, + (ii) done_criteria, (iii) max_episode_steps, (iv) neighborhood_vehicle_states, and + (v) waypoint_paths. + + Reward: + Default reward is distance travelled (in meters) in each step, including the termination step. + + Episode termination: + Episode is terminated if any of the following occurs. + + 1. Egos reach their respective destinations specified by their mission goals. + 2. Steps per episode exceed 1000. + 3. Agent collides or drives off road. + + Args: + scenario (str): Scenario name or path to scenario folder. + agent_interface (AgentInterface): Agent interface specification. + seed (int, optional): Random number generator seed. Defaults to 42. + headless (bool, optional): If True, disables visualization in + Envision. Defaults to False. + visdom (bool, optional): If True, enables visualization of observed + RGB images in Visdom. Defaults to False. + sumo_headless (bool, optional): If True, disables visualization in + SUMO GUI. Defaults to True. + envision_record_data_replay_path (Optional[str], optional): + Envision's data replay output directory. Defaults to None. + + Returns: + An environment described by the input argument `scenario`. + """ + + # Check for supported action space + assert agent_interface.action in SUPPORTED_ACTION_TYPES, ( + f"Got unsupported action type `{agent_interface.action}`, which is not " + f"in supported action types `{SUPPORTED_ACTION_TYPES}`." + ) + + # Build scenario + env_specs = get_scenario_specs(scenario) + build_scenario(scenario=env_specs["scenario"]) + + # Resolve agent interface + resolved_agent_interface = resolve_agent_interface(agent_interface) + agent_interfaces = { + f"Agent_{i}": resolved_agent_interface for i in range(env_specs["num_agent"]) + } + + visualization_client_builder = None + if not headless: + visualization_client_builder = partial( + Envision, + endpoint=None, + output_dir=envision_record_data_replay_path, + headless=headless, + data_formatter_args=EnvisionDataFormatterArgs( + "base", enable_reduction=False + ), + ) + + env = HiWayEnvV1( + scenarios=[env_specs["scenario"]], + agent_interfaces=agent_interfaces, + sim_name="Driving_Smarts_2023", + headless=headless, + visdom=visdom, + seed=seed, + sumo_options=SumoOptions(headless=sumo_headless), + visualization_client_builder=visualization_client_builder, + observation_options=ObservationOptions.multi_agent, + ) + + return env + + +def resolve_agent_interface(agent_interface: AgentInterface): + """Resolve the agent interface for a given environment. Some interface + values can be configured by the user, but others are pre-determined and + fixed. + """ + + done_criteria = DoneCriteria( + collision=True, + off_road=True, + off_route=False, + on_shoulder=False, + wrong_way=False, + not_moving=False, + agents_alive=None, + ) + max_episode_steps = 1000 + waypoints_lookahead = 80 + neighborhood_radius = 50 + return AgentInterface( + accelerometer=True, + action=agent_interface.action, + done_criteria=done_criteria, + drivable_area_grid_map=agent_interface.drivable_area_grid_map, + lane_positions=agent_interface.lane_positions, + lidar_point_cloud=agent_interface.lidar_point_cloud, + max_episode_steps=max_episode_steps, + neighborhood_vehicle_states=NeighborhoodVehicles(radius=neighborhood_radius), + occupancy_grid_map=agent_interface.occupancy_grid_map, + top_down_rgb=agent_interface.top_down_rgb, + road_waypoints=agent_interface.road_waypoints, + waypoint_paths=Waypoints(lookahead=waypoints_lookahead), + signals=agent_interface.signals, + ) diff --git a/smarts/env/gymnasium/hiway_env_v1.py b/smarts/env/gymnasium/hiway_env_v1.py index 26c35f1eef..4c92649adf 100644 --- a/smarts/env/gymnasium/hiway_env_v1.py +++ b/smarts/env/gymnasium/hiway_env_v1.py @@ -489,15 +489,6 @@ def scenario_log(self) -> Dict[str, Union[float, str]]: "mission_hash": str(hash(frozenset(scenario.missions.items()))), } - @property - def scenario(self) -> Scenario: - """Returns underlying scenario. - - Returns: - scenario.Scenario: Current simulated scenario. - """ - return self._smarts.scenario - @property def smarts(self): """Gives access to the underlying simulator. Use this carefully. diff --git a/smarts/env/gymnasium/platoon_env.py b/smarts/env/gymnasium/platoon_env.py new file mode 100644 index 0000000000..130e39d1ba --- /dev/null +++ b/smarts/env/gymnasium/platoon_env.py @@ -0,0 +1,178 @@ +# Copyright (C) 2023. Huawei Technologies Co., Ltd. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import logging +import os +from functools import partial +from typing import Optional + +from envision.client import Client as Envision +from envision.client import EnvisionDataFormatterArgs +from smarts.core.agent_interface import ( + ActorsAliveDoneCriteria, + AgentInterface, + DoneCriteria, + NeighborhoodVehicles, + Waypoints, +) +from smarts.core.controllers import ActionSpaceType +from smarts.env.gymnasium.hiway_env_v1 import HiWayEnvV1, SumoOptions +from smarts.env.utils.observation_conversion import ObservationOptions +from smarts.env.utils.scenario import get_scenario_specs +from smarts.sstudio.scenario_construction import build_scenario + +logger = logging.getLogger(__file__) +logger.setLevel(logging.WARNING) + +SUPPORTED_ACTION_TYPES = (ActionSpaceType.Continuous,) + + +def platoon_env( + scenario: str, + agent_interface: AgentInterface, + seed: int = 42, + headless: bool = True, + visdom: bool = False, + sumo_headless: bool = True, + envision_record_data_replay_path: Optional[str] = None, +): + """Each ego is supposed to track and follow its specified leader (i.e., lead + vehicle) in a single file or in a platoon fashion. Name of the lead vehicle + to be followed is given to the ego through its + `agent_interface.done_criteria.actors_alive.actors_of_interest` attribute. + The episode ends for an ego when its assigned leader reaches the leader's + destination. Egos do not have prior knowledge of the leader's destination. + + Observation space for each agent: + Formatted :class:`~smarts.core.observations.Observation` using + :attr:`~smarts.env.utils.observation_conversion.ObservationOptions.multi_agent` + option is returned as observation. See + :class:`~smarts.env.utils.observation_conversion.ObservationSpacesFormatter` for + a sample formatted observation data structure. + + Action space for each agent: + Action space for each agent is :attr:`~smarts.core.controllers.ActionSpaceType.Continuous`. + + Reward: + Default reward is distance travelled (in meters) in each step, including the termination step. + + Episode termination: + Episode is terminated if any of the following occurs. + + 1. Lead vehicle reaches its pre-programmed destination. + 2. Steps per episode exceed 1000. + 3. Agent collides or drives off road. + + Args: + scenario (str): Scenario name or path to scenario folder. + agent_interface (AgentInterface): Agent interface specification. + seed (int, optional): Random number generator seed. Defaults to 42. + headless (bool, optional): If True, disables visualization in + Envision. Defaults to False. + visdom (bool, optional): If True, enables visualization of observed + RGB images in Visdom. Defaults to False. + sumo_headless (bool, optional): If True, disables visualization in + SUMO GUI. Defaults to True. + envision_record_data_replay_path (Optional[str], optional): + Envision's data replay output directory. Defaults to None. + + Returns: + An environment described by the input argument `scenario`. + """ + + # Check for supported action space + assert agent_interface.action in SUPPORTED_ACTION_TYPES, ( + f"Got unsupported action type `{agent_interface.action}`, which is not " + f"in supported action types `{SUPPORTED_ACTION_TYPES}`." + ) + + # Build scenario + env_specs = get_scenario_specs(scenario) + build_scenario(scenario=env_specs["scenario"]) + + # Resolve agent interface + resolved_agent_interface = resolve_agent_interface(agent_interface) + agent_interfaces = { + f"Agent_{i}": resolved_agent_interface for i in range(env_specs["num_agent"]) + } + + visualization_client_builder = None + if not headless: + visualization_client_builder = partial( + Envision, + endpoint=None, + output_dir=envision_record_data_replay_path, + headless=headless, + data_formatter_args=EnvisionDataFormatterArgs( + "base", enable_reduction=False + ), + ) + + env = HiWayEnvV1( + scenarios=[env_specs["scenario"]], + agent_interfaces=agent_interfaces, + sim_name="Platoon", + headless=headless, + visdom=visdom, + seed=seed, + sumo_options=SumoOptions(headless=sumo_headless), + visualization_client_builder=visualization_client_builder, + observation_options=ObservationOptions.multi_agent, + ) + + return env + + +def resolve_agent_interface(agent_interface: AgentInterface): + """Resolve the agent interface for a given environment. Some interface + values can be configured by the user, but others are pre-determined and + fixed. + """ + + done_criteria = DoneCriteria( + collision=True, + off_road=True, + off_route=False, + on_shoulder=False, + wrong_way=False, + not_moving=False, + actors_alive=ActorsAliveDoneCriteria( + actors_of_interest=("Leader-007",), + strict=True, + ), + ) + max_episode_steps = 1000 + waypoints_lookahead = 80 + neighborhood_radius = 50 + return AgentInterface( + accelerometer=True, + action=agent_interface.action, + done_criteria=done_criteria, + drivable_area_grid_map=agent_interface.drivable_area_grid_map, + lane_positions=agent_interface.lane_positions, + lidar_point_cloud=agent_interface.lidar_point_cloud, + max_episode_steps=max_episode_steps, + neighborhood_vehicle_states=NeighborhoodVehicles(radius=neighborhood_radius), + occupancy_grid_map=agent_interface.occupancy_grid_map, + top_down_rgb=agent_interface.top_down_rgb, + road_waypoints=agent_interface.road_waypoints, + waypoint_paths=Waypoints(lookahead=waypoints_lookahead), + signals=agent_interface.signals, + ) diff --git a/smarts/env/tests/test_hiway_env_v1.py b/smarts/env/tests/test_hiway_env_v1.py index c6d24a6784..31cd1b7ee0 100644 --- a/smarts/env/tests/test_hiway_env_v1.py +++ b/smarts/env/tests/test_hiway_env_v1.py @@ -104,6 +104,6 @@ def test_hiway_env_v1_reset_with_scenario(env: HiWayEnvV1): scenario: Scenario = next(Scenario.scenario_variations(scenarios, [AGENT_ID])) env.reset(options={"scenario": scenario, "start_time": 1000}) - assert "figure_eight" in env.scenario.root_filepath + assert "figure_eight" in env.smarts.scenario.root_filepath assert env.smarts.elapsed_sim_time >= 1000 env.step({AGENT_ID: "keep_lane"}) diff --git a/smarts/env/utils/observation_conversion.py b/smarts/env/utils/observation_conversion.py index 8a64595dd0..c03ea862fb 100644 --- a/smarts/env/utils/observation_conversion.py +++ b/smarts/env/utils/observation_conversion.py @@ -29,14 +29,13 @@ from cached_property import cached_property from smarts.core.agent_interface import AgentInterface -from smarts.core.events import Events from smarts.core.observations import Observation, SignalObservation, VehicleObservation from smarts.core.plan import Mission from smarts.core.road_map import Waypoint _LIDAR_SHP = 300 _NEIGHBOR_SHP = 10 -_WAYPOINT_SHP = (4, 20) +_WAYPOINT_SHP = (12, 80) _SIGNALS_SHP = (3,) _POSITION_SHP = (3,) _WAYPOINT_NAME_LIMIT = 50 @@ -945,7 +944,7 @@ class ObservationSpacesFormatter: AgentInterface, else absent. shape=(3,). dtype=np.float32. "linear_velocity": Vehicle velocity in x, y, and z axes. shape=(3,). dtype=np.float32. - "pos": + "position": Coordinate of the center of the vehicle bounding box's bottom plane. shape=(3,). dtype=np.float64. "speed": @@ -959,6 +958,8 @@ class ObservationSpacesFormatter: A dictionary of event markers. "events": dict({ + "actors_alive_done": + 1 if `DoneCriteria.actors_alive` is triggered, else 0. "agents_alive_done": 1 if `DoneCriteria.agents_alive` is triggered, else 0. "collisions": @@ -997,7 +998,7 @@ class ObservationSpacesFormatter: Mission details for the ego agent. "mission": dict({ - "goal_pos": + "goal_position": Achieve goal by reaching the end position. Defaults to np.array([0,0,0]) for no mission. shape=(3,). dtype=np.float64. }) diff --git a/smarts/env/utils/scenario.py b/smarts/env/utils/scenario.py new file mode 100644 index 0000000000..749c887bdc --- /dev/null +++ b/smarts/env/utils/scenario.py @@ -0,0 +1,53 @@ +# MIT License + +# Copyright (C) 2023. Huawei Technologies Co., Ltd. All rights reserved. + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import os + + +def get_scenario_specs(scenario: str): + """Returns the appropriate scenario specification. + + Args: + scenario (str): Scenario + + Returns: + Dict[str, Any]: A parameter dictionary. + """ + + if os.path.isdir(scenario): + import re + + regexp_agent = re.compile(r"agents_\d+") + regexp_num = re.compile(r"\d+") + matches_agent = regexp_agent.search(scenario) + if not matches_agent: + raise Exception( + f"Scenario path should match regexp of 'agents_\\d+', but got {scenario}" + ) + num_agent = regexp_num.search(matches_agent.group(0)) + + return { + "scenario": str(scenario), + "num_agent": int(num_agent.group(0)), + } + else: + raise Exception(f"Unknown scenario {scenario}.") diff --git a/smarts/zoo/registry.py b/smarts/zoo/registry.py index 497298d56d..2ba3c053bb 100644 --- a/smarts/zoo/registry.py +++ b/smarts/zoo/registry.py @@ -88,6 +88,6 @@ def make_agent(locator: str, **kwargs): Additional arguments to be passed to the constructed class. """ - agent_spec = make(locator, kwargs=kwargs) + agent_spec = make(locator, **kwargs) return agent_spec.build_agent() From 83a9a0f5ba2a448a5553061f0ac630a84f17aea0 Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Mon, 10 Apr 2023 11:16:10 -0400 Subject: [PATCH 02/28] Add scenario attribute. --- smarts/env/gymnasium/hiway_env_v1.py | 9 +++++++++ smarts/env/gymnasium/platoon_env.py | 1 - 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/smarts/env/gymnasium/hiway_env_v1.py b/smarts/env/gymnasium/hiway_env_v1.py index 4c92649adf..26c35f1eef 100644 --- a/smarts/env/gymnasium/hiway_env_v1.py +++ b/smarts/env/gymnasium/hiway_env_v1.py @@ -489,6 +489,15 @@ def scenario_log(self) -> Dict[str, Union[float, str]]: "mission_hash": str(hash(frozenset(scenario.missions.items()))), } + @property + def scenario(self) -> Scenario: + """Returns underlying scenario. + + Returns: + scenario.Scenario: Current simulated scenario. + """ + return self._smarts.scenario + @property def smarts(self): """Gives access to the underlying simulator. Use this carefully. diff --git a/smarts/env/gymnasium/platoon_env.py b/smarts/env/gymnasium/platoon_env.py index 130e39d1ba..02194f4db5 100644 --- a/smarts/env/gymnasium/platoon_env.py +++ b/smarts/env/gymnasium/platoon_env.py @@ -19,7 +19,6 @@ # THE SOFTWARE. import logging -import os from functools import partial from typing import Optional From 4df4c4e6b17362d7e7f94404b31c83b8d5220d7f Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Mon, 10 Apr 2023 11:46:25 -0400 Subject: [PATCH 03/28] Add changelog. --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb8b43c801..31617897ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,8 +12,10 @@ Copy and pasting the git commit messages is __NOT__ enough. ### Added - Added an actor capture manager interface, `ActorCaptureManager`, which describes a manager that handles the change of control of actors. Operations in an actor manager step should not cause conflict in the simulation. - Added a new entry tactic, `IdEntryTactic`, which provides the scenario the ability to select a specific actor for an agent to take over. ++ Added new driving-smarts-v2023 benchmark consisting of new (i) driving-smarts-v2023 env and (ii) platoon-v0 env. ### Changed - The trap manager, `TrapManager`, is now a subclass of `ActorCaptureManager`. +- Modified naming of benchmark used in NeurIPS 2022 from driving-smarts-competition-env to driving-smarts-v2022. ### Deprecated ### Fixed - Fixed an issue where Argoverse scenarios with a `Mission` would not run properly. From dc748ce2fc795beeb3f53ecccea51bf7a16b728b Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Mon, 10 Apr 2023 15:56:34 -0400 Subject: [PATCH 04/28] Add platoon rl example. --- examples/rl/__init__.py | 0 examples/rl/platoon/__init__.py | 0 examples/rl/platoon/inference/MANIFEST.in | 1 + examples/rl/platoon/inference/README.md | 0 examples/rl/platoon/inference/__init__.py | 38 ++++ .../inference/contrib_policy/__init__.py | 0 .../inference/contrib_policy/filter_obs.py | 178 +++++++++++++++ .../inference/contrib_policy/format_action.py | 42 ++++ .../inference/contrib_policy/frame_stack.py | 63 ++++++ .../inference/contrib_policy/helper.py | 0 .../inference/contrib_policy/make_dict.py | 23 ++ .../inference/contrib_policy/network.py | 56 +++++ .../inference/contrib_policy/policy.py | 58 +++++ .../platoon/inference/contrib_policy/utils.py | 15 ++ examples/rl/platoon/inference/setup.cfg | 23 ++ examples/rl/platoon/inference/setup.py | 4 + examples/rl/platoon/train/Dockerfile | 39 ++++ examples/rl/platoon/train/README.md | 39 ++++ examples/rl/platoon/train/config.yaml | 25 +++ examples/rl/platoon/train/env.py | 32 +++ examples/rl/platoon/train/preprocess.py | 49 +++++ examples/rl/platoon/train/requirements.txt | 152 +++++++++++++ examples/rl/platoon/train/reward.py | 194 +++++++++++++++++ examples/rl/platoon/train/run.py | 206 ++++++++++++++++++ 24 files changed, 1237 insertions(+) create mode 100644 examples/rl/__init__.py create mode 100644 examples/rl/platoon/__init__.py create mode 100644 examples/rl/platoon/inference/MANIFEST.in create mode 100644 examples/rl/platoon/inference/README.md create mode 100644 examples/rl/platoon/inference/__init__.py create mode 100644 examples/rl/platoon/inference/contrib_policy/__init__.py create mode 100644 examples/rl/platoon/inference/contrib_policy/filter_obs.py create mode 100644 examples/rl/platoon/inference/contrib_policy/format_action.py create mode 100644 examples/rl/platoon/inference/contrib_policy/frame_stack.py create mode 100644 examples/rl/platoon/inference/contrib_policy/helper.py create mode 100644 examples/rl/platoon/inference/contrib_policy/make_dict.py create mode 100644 examples/rl/platoon/inference/contrib_policy/network.py create mode 100644 examples/rl/platoon/inference/contrib_policy/policy.py create mode 100644 examples/rl/platoon/inference/contrib_policy/utils.py create mode 100644 examples/rl/platoon/inference/setup.cfg create mode 100644 examples/rl/platoon/inference/setup.py create mode 100644 examples/rl/platoon/train/Dockerfile create mode 100644 examples/rl/platoon/train/README.md create mode 100644 examples/rl/platoon/train/config.yaml create mode 100644 examples/rl/platoon/train/env.py create mode 100644 examples/rl/platoon/train/preprocess.py create mode 100644 examples/rl/platoon/train/requirements.txt create mode 100644 examples/rl/platoon/train/reward.py create mode 100644 examples/rl/platoon/train/run.py diff --git a/examples/rl/__init__.py b/examples/rl/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/rl/platoon/__init__.py b/examples/rl/platoon/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/rl/platoon/inference/MANIFEST.in b/examples/rl/platoon/inference/MANIFEST.in new file mode 100644 index 0000000000..105677e865 --- /dev/null +++ b/examples/rl/platoon/inference/MANIFEST.in @@ -0,0 +1 @@ +include */*.pth \ No newline at end of file diff --git a/examples/rl/platoon/inference/README.md b/examples/rl/platoon/inference/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/rl/platoon/inference/__init__.py b/examples/rl/platoon/inference/__init__.py new file mode 100644 index 0000000000..a63298644b --- /dev/null +++ b/examples/rl/platoon/inference/__init__.py @@ -0,0 +1,38 @@ +from contrib_policy.policy import Policy + +from smarts.core.agent_interface import RGB, AgentInterface +from smarts.core.controllers import ActionSpaceType +from smarts.zoo.agent_spec import AgentSpec +from smarts.zoo.registry import register + + +def entry_point(**kwargs): + interface = AgentInterface( + action=ActionSpaceType.Continuous, + drivable_area_grid_map=False, + lane_positions=True, + lidar_point_cloud=False, + occupancy_grid_map=False, + road_waypoints=False, + signals=False, + top_down_rgb=RGB( + width=128, + height=128, + resolution=80 / 128, # m/pixels + ), + ) + + agent_params = { + "top_down_rgb": interface.top_down_rgb, + "action_space_type": interface.action, + "num_stack": 3, # Number of frames to stack as input to policy network. + } + + return AgentSpec( + interface=interface, + agent_builder=Policy, + agent_params=agent_params, + ) + + +register(locator="contrib-agent-v0", entry_point=entry_point) diff --git a/examples/rl/platoon/inference/contrib_policy/__init__.py b/examples/rl/platoon/inference/contrib_policy/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/rl/platoon/inference/contrib_policy/filter_obs.py b/examples/rl/platoon/inference/contrib_policy/filter_obs.py new file mode 100644 index 0000000000..5a35defce9 --- /dev/null +++ b/examples/rl/platoon/inference/contrib_policy/filter_obs.py @@ -0,0 +1,178 @@ +import math +from typing import Any, Dict, Sequence + +import gym +import numpy as np + +from smarts.core.agent_interface import RGB +from smarts.core.colors import Colors, SceneColors + + +class FilterObs: + """Filter only the selected observation parameters.""" + + def __init__(self, top_down_rgb: RGB): + self.observation_space = gym.spaces.Box( + low=0, + high=255, + shape=(3, top_down_rgb.height, top_down_rgb.width), + dtype=np.uint8, + ) + + self._no_color = np.zeros((3,)) + self._wps_color = np.array(Colors.GreenTransparent.value[0:3]) * 255 + self._leader_color = np.array(SceneColors.SocialAgent.value[0:3]) * 255 + self._traffic_color = np.array(SceneColors.SocialVehicle.value[0:3]) * 255 + self._road_color = np.array(SceneColors.Road.value[0:3]) * 255 + self._lane_divider_color = np.array(SceneColors.LaneDivider.value[0:3]) * 255 + self._edge_divider_color = np.array(SceneColors.EdgeDivider.value[0:3]) * 255 + self._ego_color = np.array(SceneColors.Agent.value[0:3]) * 255 + + self._res = top_down_rgb.resolution + h = top_down_rgb.height + w = top_down_rgb.width + shape = ( + ( + math.floor(w / 2 - 3.68 / 2 / self._res), + math.ceil(w / 2 + 3.68 / 2 / self._res), + ), + ( + math.floor(h / 2 - 1.47 / 2 / self._res), + math.ceil(h / 2 + 1.47 / 2 / self._res), + ), + ) + self._rgb_mask = np.zeros(shape=(h, w, 3), dtype=np.uint8) + self._rgb_mask[shape[0][0] : shape[0][1], shape[1][0] : shape[1][1], :] = 1 + + def filter(self, obs: Dict[str, Any]) -> Dict[str, Any]: + """Adapts the environment's observation.""" + # fmt: off + + # Ego's heading with respect to the map's coordinate system. + # Note: All angles returned by smarts is with respect to the map's coordinate system. + # On the map, angle is zero at positive y axis, and increases anti-clockwise. + ego_heading = (obs["ego_vehicle_state"]["heading"] + np.pi) % (2 * np.pi) - np.pi + ego_pos = obs["ego_vehicle_state"]["position"] + + # Get rgb image, remove road, and replace other egos (if any) as background vehicles + rgb = obs["top_down_rgb"] + h, w, _ = rgb.shape + rgb_noroad = replace_color(rgb=rgb, old_color=[self._road_color, self._lane_divider_color, self._edge_divider_color], new_color=self._no_color) + rgb_ego = replace_color(rgb=rgb_noroad, old_color=[self._ego_color], new_color=self._traffic_color, mask=self._rgb_mask) + + # Superimpose waypoints onto rgb image + wps = obs["waypoint_paths"]["position"][0:11, 3:, 0:3] + for path in wps[:]: + wps_valid = wps_to_pixels( + wps=path, + ego_pos=ego_pos, + ego_heading=ego_heading, + w=w, + h=h, + res=self._res, + ) + for point in wps_valid: + img_x, img_y = point[0], point[1] + if all(rgb_ego[img_y, img_x, :] == self._no_color): + rgb_ego[img_y, img_x, :] = self._wps_color + + # Channel first rgb + rgb_ego = rgb_ego.transpose(2, 0, 1) + + filtered_obs = np.uint8(rgb_ego) + + return filtered_obs + # fmt: on + + +def replace_color( + rgb: np.ndarray, + old_color: Sequence[np.ndarray], + new_color: np.ndarray, + mask: np.ndarray = np.ma.nomask, +) -> np.ndarray: + """Convert pixels of value `old_color` to `new_color` within the masked + region in the received RGB image. + + Args: + rgb (np.ndarray): RGB image. Shape = (m,n,3). + old_color (Sequence[np.ndarray]): List of old colors to be removed from the RGB image. Shape = (3,). + new_color (np.ndarray): New color to be added to the RGB image. Shape = (3,). + mask (np.ndarray, optional): Valid regions for color replacement. Shape = (m,n,3). + Defaults to np.ma.nomask . + + Returns: + np.ndarray: RGB image with `old_color` pixels changed to `new_color` + within the masked region. Shape = (m,n,3). + """ + # fmt: off + assert all(color.shape == (3,) for color in old_color), ( + f"Expected old_color to be of shape (3,), but got {[color.shape for color in old_color]}.") + assert new_color.shape == (3,), ( + f"Expected new_color to be of shape (3,), but got {new_color.shape}.") + + nc = new_color.reshape((1, 1, 3)) + nc_array = np.full_like(rgb, nc) + rgb_masked = np.ma.MaskedArray(data=rgb, mask=mask) + + rgb_condition = rgb_masked + result = rgb + for color in old_color: + result = np.ma.where((rgb_condition == color.reshape((1, 1, 3))).all(axis=-1)[..., None], nc_array, result) + + return result + # fmt: on + + +def wps_to_pixels( + wps: np.ndarray, ego_pos: np.ndarray, ego_heading: float, w: int, h: int, res: float +) -> np.ndarray: + """Converts waypoints into pixel coordinates in order to superimpose the + waypoints onto the RGB image. + + Args: + wps (np.ndarray): Waypoints for a single route. Shape (n,3). + ego_pos (np.ndarray): Ego position. Shape = (3,). + ego_heading (float): Ego heading in radians. + w (int): Width of RGB image + h (int): Height of RGB image. + res (float): Resolution of RGB image in meters/pixels. Computed as + ground_size/image_size. + + Returns: + np.ndarray: Array of waypoint coordinates on the RGB image. Shape = (m,3). + """ + # fmt: off + mask = [False if all(point == np.zeros(3,)) else True for point in wps] + wps_nonzero = wps[mask] + wps_delta = wps_nonzero - ego_pos + wps_rotated = rotate_axes(wps_delta, theta=ego_heading) + wps_pixels = wps_rotated / np.array([res, res, res]) + wps_overlay = np.array([w / 2, h / 2, 0]) + wps_pixels * np.array([1, -1, 1]) + wps_rfloat = np.rint(wps_overlay) + wps_valid = wps_rfloat[(wps_rfloat[:,0] >= 0) & (wps_rfloat[:,0] < w) & (wps_rfloat[:,1] >= 0) & (wps_rfloat[:,1] < h)] + wps_rint = wps_valid.astype(np.uint8) + return wps_rint + # fmt: on + + +def rotate_axes(points: np.ndarray, theta: float) -> np.ndarray: + """A counterclockwise rotation of the x-y axes by an angle theta θ about + the z-axis. + + Args: + points (np.ndarray): x,y,z coordinates in original axes. Shape = (n,3). + theta (np.float): Axes rotation angle in radians. + + Returns: + np.ndarray: x,y,z coordinates in rotated axes. Shape = (n,3). + """ + # fmt: off + theta = (theta + np.pi) % (2 * np.pi) - np.pi + ct, st = np.cos(theta), np.sin(theta) + R = np.array([[ ct, st, 0], + [-st, ct, 0], + [ 0, 0, 1]]) + rotated_points = (R.dot(points.T)).T + return rotated_points + # fmt: on diff --git a/examples/rl/platoon/inference/contrib_policy/format_action.py b/examples/rl/platoon/inference/contrib_policy/format_action.py new file mode 100644 index 0000000000..9c3ba69f79 --- /dev/null +++ b/examples/rl/platoon/inference/contrib_policy/format_action.py @@ -0,0 +1,42 @@ +from typing import Callable, Tuple + +import gym +import numpy as np + +from smarts.core.controllers import ActionSpaceType + + +class FormatAction: + def __init__(self, action_space_type: ActionSpaceType): + if action_space_type == ActionSpaceType.Continuous: + self._wrapper, self.action_space = _discrete_continuous() + else: + raise Exception(f"Unknown action space type {action_space_type}.") + + def format(self, action): + """Adapts the action input to the wrapped environment. + + Note: Users should not directly call this method. + """ + wrapped_act = self._wrapper(action) + return wrapped_act + + +def _discrete_continuous() -> Tuple[Callable[[int], np.ndarray], gym.Space]: + action_map = { + # key: [throttle, brake, steering] + 0: [0, 0.5, 0], # slow_down + 1: [0, 1, 0], # slow_down + 2: [0.3, 0, 0], # keep_direction + 3: [0.5, 0, 0], # keep_direction + 4: [0.3, 0, -0.3], # turn_left + 5: [0.3, 0, 0.3], # turn_right + } + + space = gym.spaces.Discrete(n=len(action_map)) + + def wrapper(model_action: int) -> np.ndarray: + throttle, brake, steering = action_map[model_action] + return np.array([throttle, brake, steering], dtype=np.float32) + + return wrapper, space diff --git a/examples/rl/platoon/inference/contrib_policy/frame_stack.py b/examples/rl/platoon/inference/contrib_policy/frame_stack.py new file mode 100644 index 0000000000..f992dd26d3 --- /dev/null +++ b/examples/rl/platoon/inference/contrib_policy/frame_stack.py @@ -0,0 +1,63 @@ +import copy +from collections import deque + +import gym +import numpy as np + + +class FrameStack: + """Stacks num_stack (default=3) consecutive frames, in a moving-window + fashion, and returns the stacked_frames. + + Note: + Wrapper returns a deepcopy of the stacked frames, which may be expensive + for large frames and large num_stack values. + """ + + def __init__(self, input_space: gym.Space, num_stack: int = 3, stack_axis: int = 0): + """ + Args: + num_stack (int, optional): Number of frames to be stacked. Defaults to 3. + stack_axis (int, optional): An int specifying the dimension over + which to stack each observation. + """ + assert num_stack > 1, f"Expected num_stack > 1, but got {num_stack}." + self._num_stack = num_stack + self._frames = deque(maxlen=self._num_stack) + assert stack_axis >= 0 and stack_axis < len(input_space.shape) + self._stack_axis = stack_axis + + dim_multiplier = np.ones_like(input_space.shape) + dim_multiplier[stack_axis] = num_stack + shape = dim_multiplier * input_space.shape + self.observation_space = gym.spaces.Box( + low=0, + high=255, + shape=shape, + dtype=np.uint8, + ) + + def _stack(self, obs: np.ndarray) -> np.ndarray: + """Update and return frames stack with given latest single frame.""" + + self._frames.appendleft(obs) + while len(self._frames) < self._num_stack: + self._frames.appendleft(obs) + frames_seq = tuple(self._frames) + new_frames = copy.deepcopy(frames_seq) + return np.concatenate(new_frames, axis=self._stack_axis) + + def stack(self, obs: np.ndarray) -> np.ndarray: + """Stacks the latest obs with num_stack-1 past obs. + + Args: + obs (np.ndarray): Numpy array input. + + Returns: + np.ndarray: Stacked observation. + """ + return self._stack(obs) + + def reset(self): + """Resets the stacked obs.""" + self._frames.clear() diff --git a/examples/rl/platoon/inference/contrib_policy/helper.py b/examples/rl/platoon/inference/contrib_policy/helper.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/rl/platoon/inference/contrib_policy/make_dict.py b/examples/rl/platoon/inference/contrib_policy/make_dict.py new file mode 100644 index 0000000000..f995c93afc --- /dev/null +++ b/examples/rl/platoon/inference/contrib_policy/make_dict.py @@ -0,0 +1,23 @@ +from typing import Dict + +import gym +import numpy as np + + +class MakeDict: + """Converts gym.spaces.Box to gym.spaces.Dict.""" + + def __init__(self, input_space: gym.Space): + self.observation_space = gym.spaces.Dict({"rgb": input_space}) + + def make(self, obs: np.ndarray) -> Dict[str, np.ndarray]: + """converts input into a dict. + + Args: + obs (np.ndarray): Numpy array input. + + Returns: + dict[str, np.ndarray]: A dictionary with key (string) corresponding + to input obs (np.ndarray). + """ + return {"rgb": obs} diff --git a/examples/rl/platoon/inference/contrib_policy/network.py b/examples/rl/platoon/inference/contrib_policy/network.py new file mode 100644 index 0000000000..4ed514d1df --- /dev/null +++ b/examples/rl/platoon/inference/contrib_policy/network.py @@ -0,0 +1,56 @@ +import gym +import torch as th +import torch.nn as nn +from stable_baselines3.common.preprocessing import get_flattened_obs_dim +from stable_baselines3.common.torch_layers import BaseFeaturesExtractor, NatureCNN +from stable_baselines3.common.type_aliases import TensorDict + + +class CombinedExtractor(BaseFeaturesExtractor): + """ + :param observation_space: (gym.Space) + :param features_dim: (int) Number of features extracted. + This corresponds to the number of unit for the last layer. + """ + + def __init__(self, observation_space: gym.spaces.Dict, cnn_output_dim: int): + super(CombinedExtractor, self).__init__(observation_space, features_dim=1) + # We assume CxHxW images (channels first) + + extractors = {} + + total_concat_size = 0 + for key, subspace in observation_space.spaces.items(): + if key == "rgb": + extractors[key] = NatureCNN(subspace, features_dim=cnn_output_dim) + total_concat_size += cnn_output_dim + else: + # The observation key is a vector, flatten it if needed + extractors[key] = nn.Flatten() + total_concat_size += get_flattened_obs_dim(subspace) + + self.extractors = nn.ModuleDict(extractors) + + # Update the features dim manually + self._features_dim = total_concat_size + + def forward(self, observations: TensorDict) -> th.Tensor: + encoded_tensor_list = [] + + for key, extractor in self.extractors.items(): + encoded_tensor_list.append(extractor(observations[key])) + return th.cat(encoded_tensor_list, dim=1) + + +def combined_extractor(config): + kwargs = {} + kwargs["policy"] = "MultiInputPolicy" + kwargs["policy_kwargs"] = dict( + features_extractor_class=CombinedExtractor, + features_extractor_kwargs=dict(cnn_output_dim=256), + # net_arch=[], + # net_arch=[dict(pi=[256], vf=[256])], + ) + kwargs.update(config.get("alg", {})) + + return kwargs diff --git a/examples/rl/platoon/inference/contrib_policy/policy.py b/examples/rl/platoon/inference/contrib_policy/policy.py new file mode 100644 index 0000000000..0aeb3c1b41 --- /dev/null +++ b/examples/rl/platoon/inference/contrib_policy/policy.py @@ -0,0 +1,58 @@ +import sys +from pathlib import Path + +# To import contrib_policy folder +sys.path.insert(0, str(Path(__file__).resolve().parents[0])) + +from smarts.core.agent import Agent + + +class Policy(Agent): + """Policy class to be submitted by the user. This class will be loaded + and tested during evaluation.""" + + def __init__(self, num_stack, top_down_rgb, action_space_type): + """All policy initialization matters, including loading of model, is + performed here. To be implemented by the user. + """ + + import stable_baselines3 as sb3lib + from contrib_policy import network + from contrib_policy.filter_obs import FilterObs + from contrib_policy.format_action import FormatAction + from contrib_policy.frame_stack import FrameStack + from contrib_policy.make_dict import MakeDict + + model_path = Path(__file__).resolve().parents[0] / "saved_model.zip" + self.model = sb3lib.PPO.load(model_path) + + self._filter_obs = FilterObs(top_down_rgb=top_down_rgb) + self._frame_stack = FrameStack( + input_space=self._filter_obs.observation_space, + num_stack=num_stack, + stack_axis=0, + ) + self._frame_stack.reset() + self._make_dict = MakeDict(input_space=self._frame_stack.observation_space) + + self.observation_space = self._make_dict.observation_space + + self._format_action = FormatAction(action_space_type=action_space_type) + self.action_space = self._format_action.action_space + print("Policy initialised.") + + def act(self, obs): + """Mandatory act function to be implemented by user.""" + processed_obs = self._process(obs) + action, _ = self.model.predict(observation=processed_obs, deterministic=True) + formatted_action = self._format_action.format(action) + return formatted_action + + def _process(self, obs): + if obs["steps_completed"] == 1: + # Reset memory because episode was reset. + self._frame_stack.reset() + obs = self._filter_obs.filter(obs) + obs = self._frame_stack.stack(obs) + obs = self._make_dict.make(obs) + return obs diff --git a/examples/rl/platoon/inference/contrib_policy/utils.py b/examples/rl/platoon/inference/contrib_policy/utils.py new file mode 100644 index 0000000000..b5771ee90a --- /dev/null +++ b/examples/rl/platoon/inference/contrib_policy/utils.py @@ -0,0 +1,15 @@ +class ObjDict(dict): + def __getattr__(self, name): + if name in self: + return self[name] + else: + raise AttributeError("No such attribute: " + name) + + def __setattr__(self, name, value): + self[name] = value + + def __delattr__(self, name): + if name in self: + del self[name] + else: + raise AttributeError("No such attribute: " + name) diff --git a/examples/rl/platoon/inference/setup.cfg b/examples/rl/platoon/inference/setup.cfg new file mode 100644 index 0000000000..a5962664aa --- /dev/null +++ b/examples/rl/platoon/inference/setup.cfg @@ -0,0 +1,23 @@ +[metadata] +name = smarts_agent_ppo +version = 0.1.0 +url = https://github.com/huawei-noah/SMARTS +description = SMARTS zoo agent. +long_description = Trained Proximal Policy Optimization agent. See [SMARTS](https://github.com/huawei-noah/SMARTS). +long_description_content_type=text/markdown +classifiers= + Programming Language :: Python + Programming Language :: Python :: 3 :: Only + Programming Language :: Python :: 3.8 + +[options] +packages = find: +include_package_data = True +zip_safe = True +python_requires = == 3.8.* +install_requires = + setuptools==65.4.0 + stable-baselines3==1.7.0 + tensorboard==2.12.0 + torch==1.13.1 + torchinfo==1.7.2 diff --git a/examples/rl/platoon/inference/setup.py b/examples/rl/platoon/inference/setup.py new file mode 100644 index 0000000000..7f1a1763ca --- /dev/null +++ b/examples/rl/platoon/inference/setup.py @@ -0,0 +1,4 @@ +from setuptools import setup + +if __name__ == "__main__": + setup() diff --git a/examples/rl/platoon/train/Dockerfile b/examples/rl/platoon/train/Dockerfile new file mode 100644 index 0000000000..d115db4102 --- /dev/null +++ b/examples/rl/platoon/train/Dockerfile @@ -0,0 +1,39 @@ +FROM pytorch/pytorch:1.7.1-cuda11.0-cudnn8-runtime + +ARG DEBIAN_FRONTEND=noninteractive + +# Install libraries. +RUN apt-get update --fix-missing && \ + apt-get install -y \ + software-properties-common && \ + add-apt-repository -y ppa:deadsnakes/ppa && \ + apt-get update && \ + apt-get install -y \ + git \ + libspatialindex-dev \ + python3.8 \ + python3.8-venv \ + xorg && \ + apt-get autoremove -y && \ + rm -rf /var/lib/apt/lists/* + +# Update default python version. +RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 + +# Setup virtual environment and install pip. +ENV VIRTUAL_ENV=/opt/.venv +RUN python3.8 -m venv $VIRTUAL_ENV +ENV PATH="$VIRTUAL_ENV/bin:$PATH" +RUN pip install --upgrade pip wheel + +# Install requirements.txt . +COPY ./examples/rl/baseline/train/requirements.txt /tmp/requirements.txt +RUN pip install --no-cache-dir -r /tmp/requirements.txt + +# Copy source files and install. +COPY . /SMARTS +WORKDIR /SMARTS +RUN pip install -e .[camera_obs,argoverse] +RUN pip install -e ./examples/rl/baseline/inference + +SHELL ["/bin/bash", "-c", "-l"] \ No newline at end of file diff --git a/examples/rl/platoon/train/README.md b/examples/rl/platoon/train/README.md new file mode 100644 index 0000000000..e27d079372 --- /dev/null +++ b/examples/rl/platoon/train/README.md @@ -0,0 +1,39 @@ +## Instructions + +## Train ++ Setup + ```bash + # In terminal-A + $ cd /SMARTS/examples/rl/platoon + $ python3.8 -m venv ./.venv + $ source ./.venv/bin/activate + $ pip install --upgrade pip wheel + $ pip install -e ./../../../.[camera_obs,argoverse] + $ pip install -e ./inference/ + ``` ++ Train without visualization + ```bash + # In terminal-A + $ python3.8 train/run.py + ``` ++ Train with visualization + ```bash + # In terminal-A + $ python3.8 train/run.py --head + ``` + ```bash + # In a different terminal-B + $ scl envision start + # Open http://localhost:8081/ + ``` + +## Evaluate +```bash +$ cd /SMARTS +$ python3.8 -m venv ./.venv +$ source ./.venv/bin/activate +$ pip install --upgrade pip wheel +$ pip install -e .[camera_obs,argoverse] +$ scl zoo install examples/rl/platoon/inference +$ scl benchmark run driving_smarts_2023 examples.rl.platoon.inference:contrib-agent-v0 --auto-install +``` \ No newline at end of file diff --git a/examples/rl/platoon/train/config.yaml b/examples/rl/platoon/train/config.yaml new file mode 100644 index 0000000000..8eb80791b6 --- /dev/null +++ b/examples/rl/platoon/train/config.yaml @@ -0,0 +1,25 @@ +smarts: + # Environment + head: False # If True, enables Envision display. + sumo_gui: True # If True, enables sumo-gui display. + seed: 42 + agent_locator: inference:contrib-agent-v0 + env_id: smarts.env:platoon-v0 + scenarios: + - scenarios/sumo/platoon/straight_sumo_t_agents_1 + + # PPO algorithm + alg: + n_steps: 2048 + batch_size: 512 + n_epochs: 4 + target_kl: 0.1 + + # Training over all scenarios + epochs: 500 # Number of training loops. + + # Training per scenario + train_steps: 10_000 + checkpoint_freq: 10_000 # Save a model every checkpoint_freq calls to env.step(). + eval_freq: 10_000 # Evaluate the trained model every eval_freq steps and save the best model. + eval_eps: 5 # Number of evaluation epsiodes. diff --git a/examples/rl/platoon/train/env.py b/examples/rl/platoon/train/env.py new file mode 100644 index 0000000000..2730d0f3a8 --- /dev/null +++ b/examples/rl/platoon/train/env.py @@ -0,0 +1,32 @@ +import sys +from pathlib import Path + +# To import submission folder +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) + +import gymnasium as gym + + +def make_env(env_id, scenario, agent_interface, config, seed): + from preprocess import Preprocess + from stable_baselines3.common.monitor import Monitor + from train.reward import Reward + + from smarts.env.gymnasium.wrappers.api_reversion import Api021Reversion + from smarts.env.wrappers.single_agent import SingleAgent + + env = gym.make( + env_id, + scenario=scenario, + agent_interface=agent_interface, + seed=seed, + sumo_headless=not config.sumo_gui, # If False, enables sumo-gui display. + headless=not config.head, # If False, enables Envision display. + ) + env = Reward(env) + env = Api021Reversion(env) + env = SingleAgent(env) + env = Preprocess(env, agent_interface) + env = Monitor(env) + + return env diff --git a/examples/rl/platoon/train/preprocess.py b/examples/rl/platoon/train/preprocess.py new file mode 100644 index 0000000000..b45ac8d1a2 --- /dev/null +++ b/examples/rl/platoon/train/preprocess.py @@ -0,0 +1,49 @@ +import gym +from contrib_policy.filter_obs import FilterObs +from contrib_policy.format_action import FormatAction +from contrib_policy.frame_stack import FrameStack +from contrib_policy.make_dict import MakeDict + +from smarts.core.agent_interface import AgentInterface + + +class Preprocess(gym.Wrapper): + def __init__(self, env: gym.Env, agent_interface: AgentInterface): + super().__init__(env) + + self._filter_obs = FilterObs(top_down_rgb=agent_interface.top_down_rgb) + self._frame_stack = FrameStack( + input_space=self._filter_obs.observation_space, + num_stack=3, + stack_axis=0, + ) + self._frame_stack.reset() + self._make_dict = MakeDict(input_space=self._frame_stack.observation_space) + + self.observation_space = self._make_dict.observation_space + + self._format_action = FormatAction(agent_interface.action) + self.action_space = self._format_action.action_space + print("Policy initialised.") + + def _process(self, obs): + obs = self._filter_obs.filter(obs) + obs = self._frame_stack.stack(obs) + obs = self._make_dict.make(obs) + + return obs + + def step(self, action): + """Uses the :meth:`step` of the :attr:`env` that can be overwritten to change the returned data.""" + formatted_action = self._format_action.format(action) + obs, reward, done, info = self.env.step(formatted_action) + obs = self._process(obs) + return obs, reward, done, info + + def reset(self): + """Uses the :meth:`reset` of the :attr:`env` that can be overwritten to change the returned data.""" + + self._frame_stack.reset() + obs = self.env.reset() + obs = self._process(obs) + return obs diff --git a/examples/rl/platoon/train/requirements.txt b/examples/rl/platoon/train/requirements.txt new file mode 100644 index 0000000000..72c1d1db69 --- /dev/null +++ b/examples/rl/platoon/train/requirements.txt @@ -0,0 +1,152 @@ +absl-py==1.4.0 +alabaster==0.7.13 +astroid==2.15.0 +asttokens==2.2.1 +attrs==22.2.0 +Automat==22.10.0 +Babel==2.12.1 +backcall==0.2.0 +black==22.6.0 +cached-property==1.5.2 +cachetools==5.3.0 +certifi==2022.12.7 +cfgv==3.3.1 +charset-normalizer==3.1.0 +click==8.1.3 +cloudpickle==1.6.0 +constantly==15.1.0 +contourpy==1.0.7 +cycler==0.11.0 +decorator==5.1.1 +dill==0.3.6 +distlib==0.3.6 +docutils==0.18.1 +eclipse-sumo==1.16.0 +executing==1.2.0 +filelock==3.9.1 +fonttools==4.39.0 +future==0.18.3 +google-auth==2.16.2 +google-auth-oauthlib==0.4.6 +grpcio==1.52.0 +grpcio-tools==1.32.0 +gym==0.21.0 +gymnasium==0.27.0 +gymnasium-notices==0.0.1 +hyperlink==21.0.0 +identify==2.5.20 +idna==3.4 +ijson==3.2.0.post0 +imagesize==1.4.1 +importlab==0.8 +importlib-metadata==4.13.0 +importlib-resources==5.12.0 +incremental==22.10.0 +ipython==8.11.0 +isort==5.7.0 +jax-jumpy==0.2.0 +jedi==0.18.2 +Jinja2==3.1.2 +jsonpatch==1.32 +jsonpointer==2.3 +kiwisolver==1.4.4 +lazy-object-proxy==1.9.0 +libcst==0.4.9 +Markdown==3.4.1 +markdown-it-py==2.2.0 +MarkupSafe==2.1.2 +matplotlib==3.7.1 +matplotlib-inline==0.1.6 +mccabe==0.7.0 +mdit-py-plugins==0.3.5 +mdurl==0.1.2 +mypy-extensions==1.0.0 +myst-parser==1.0.0 +networkx==3.0 +ninja==1.11.1 +nodeenv==1.7.0 +numpy==1.23.5 +nvidia-cublas-cu11==11.10.3.66 +nvidia-cuda-nvrtc-cu11==11.7.99 +nvidia-cuda-runtime-cu11==11.7.99 +nvidia-cudnn-cu11==8.5.0.96 +oauthlib==3.2.2 +packaging==23.0 +Panda3D==1.10.9 +panda3d-gltf==0.13 +panda3d-simplepbr==0.10 +pandas==1.5.3 +parso==0.8.3 +pathspec==0.11.1 +pbr==5.11.1 +pexpect==4.8.0 +pickleshare==0.7.5 +Pillow==9.4.0 +platformdirs==3.1.1 +pre-commit==2.16.0 +prompt-toolkit==3.0.38 +protobuf==3.20.3 +psutil==5.9.4 +ptyprocess==0.7.0 +pure-eval==0.2.2 +pyasn1==0.4.8 +pyasn1-modules==0.2.8 +pybullet==3.0.6 +Pygments==2.14.0 +pylint==2.17.0 +pyparsing==3.0.9 +python-dateutil==2.8.2 +pytype==2022.1.13 +pytz==2022.7.1 +PyYAML==6.0 +requests==2.28.2 +requests-oauthlib==1.3.1 +rich==13.3.2 +rsa==4.9 +Rtree==1.0.1 +scipy==1.10.1 +sh==2.0.2 +shapely==2.0.1 +Shimmy==0.2.1 +six==1.16.0 +snowballstemmer==2.2.0 +Sphinx==6.1.3 +sphinx-click==4.4.0 +sphinx-rtd-theme==1.2.0 +sphinxcontrib-apidoc==0.3.0 +sphinxcontrib-applehelp==1.0.4 +sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-htmlhelp==2.0.1 +sphinxcontrib-jquery==4.1 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-serializinghtml==1.1.5 +stable-baselines3==1.7.0 +stack-data==0.6.2 +tableprint==0.9.1 +tabulate==0.9.0 +tensorboard==2.12.0 +tensorboard-data-server==0.7.0 +tensorboard-plugin-wit==1.8.1 +tokenize-rt==5.0.0 +toml==0.10.2 +tomli==2.0.1 +tomlkit==0.11.6 +torch==1.13.1 +torchinfo==1.7.2 +tornado==6.2 +traitlets==5.9.0 +trimesh==3.9.29 +Twisted==22.10.0 +typing-inspect==0.8.0 +typing_extensions==4.5.0 +urllib3==1.26.15 +virtualenv==20.21.0 +visdom==0.2.4 +wcwidth==0.2.6 +websocket-client==1.5.1 +Werkzeug==2.2.3 +wrapt==1.15.0 +yattag==1.15.1 +zipp==3.15.0 +zope.interface==5.5.2 diff --git a/examples/rl/platoon/train/reward.py b/examples/rl/platoon/train/reward.py new file mode 100644 index 0000000000..950570560b --- /dev/null +++ b/examples/rl/platoon/train/reward.py @@ -0,0 +1,194 @@ +import gymnasium as gym +import numpy as np + +from smarts.core.colors import SceneColors + + +class Reward(gym.Wrapper): + def __init__(self, env): + """Constructor for the Reward wrapper.""" + super().__init__(env) + self._half_pi = np.pi / 2 + self._two_pi = 2 * np.pi + self._leader_color = np.array(SceneColors.SocialAgent.value[0:3]) * 255 + self._total_dist = {} + + def reset(self, *, seed=None, options=None): + self._total_dist = {} + return self.env.reset(seed=seed, options=options) + + def step(self, action): + """Adapts the wrapped environment's step. + + Note: Users should not directly call this method. + """ + + obs, reward, terminated, truncated, info = self.env.step(action) + wrapped_reward = self._reward(obs, reward) + + for agent_id, agent_obs in obs.items(): + # Accumulate total distance travelled + self._total_dist[agent_id] = ( + self._total_dist.get(agent_id, 0) + agent_obs["distance_travelled"] + ) + + # If agent is done + if terminated[agent_id] == True: + if agent_obs["events"]["reached_goal"]: + print(f"{agent_id}: Hooray! Reached goal.") + raise Exception( + f"{agent_id}: Goal has been leaked to the ego agent!" + ) + elif agent_obs["events"]["reached_max_episode_steps"]: + print(f"{agent_id}: Reached max episode steps.") + elif ( + agent_obs["events"]["collisions"] + | agent_obs["events"]["off_road"] + ): + pass + elif agent_obs["events"]["agents_alive_done"]: + print(f"{agent_id}: Agents alive done triggered.") + elif agent_obs["events"]["actors_alive_done"]: + print(f"{agent_id}: Actors alive done triggered.") + else: + print("Events: ", agent_obs["events"]) + raise Exception("Episode ended for unknown reason.") + + print( + f"{agent_id}: Steps = {agent_obs['steps_completed']} " + f"{agent_id}: Dist = {self._total_dist[agent_id]:.2f}" + ) + + return obs, wrapped_reward, terminated, truncated, info + + def _reward(self, obs, env_reward): + reward = {agent_id: np.float64(0) for agent_id in obs.keys()} + + leader_name = "Leader-007" + leader = None + max_agent_steps_completed = 0 + for agent_id, agent_obs in obs.items(): + neighbor_vehicles = _get_neighbor_vehicles( + obs=agent_obs, neighbor_name=leader_name + ) + max_agent_steps_completed = max(max_agent_steps_completed, agent_obs["steps_completed"]) + if neighbor_vehicles: + leader = neighbor_vehicles[0] + break + + if leader == None and max_agent_steps_completed == 1: + raise Exception("Leader is not present on ego's first step.") + + for agent_id, agent_obs in obs.items(): + # Penalty for colliding + if agent_obs["events"]["collisions"]: + reward[agent_id] -= np.float64(10) + print(f"{agent_id}: Collided.") + break + + # Penalty for driving off road + if agent_obs["events"]["off_road"]: + reward[agent_id] -= np.float64(10) + print(f"{agent_id}: Went off road.") + break + + # Reward for reaching goal + # if agent_obs["events"]["reached_goal"]: + # reward[agent_id] += np.float64(30) + + # Reward for distance travelled by driving + reward[agent_id] += np.float64(env_reward[agent_id]) + + # Check if leader is in front and within the rgb observation + if leader: + rgb = agent_obs["top_down_rgb"] + h, w, d = rgb.shape + rgb_masked = rgb[0 : h // 2, :, :] + leader_in_rgb = ( + (rgb_masked == self._leader_color.reshape((1, 1, 3))) + .all(axis=-1) + .any() + ) + + if leader and leader_in_rgb: + # Get agent's waypoints + waypoints = agent_obs["waypoint_paths"]["position"] + + # Find the nearest waypoint paths to the ego + ego_pos = agent_obs["ego_vehicle_state"]["position"] + dist = np.linalg.norm(waypoints[:, 0, :] - ego_pos, axis=-1) + ego_wp_inds = np.where(dist == dist.min())[0] + + # Find the nearest waypoint index, if any, to the leader + leader_wp_ind, leader_ind = _nearest_waypoint( + waypoints, + np.array([leader["position"]]), + ) + + # Rewards specific to "platooning" and "following" tasks + if leader and leader_in_rgb: + + # Reward for being in the same lane as the leader + if (leader_ind is not None) and (leader_wp_ind[0] in ego_wp_inds): + reward[agent_id] += np.float64(1) + + else: + reward[agent_id] -= np.float64(0.2) + + return reward + + +def _get_neighbor_vehicles(obs, neighbor_name): + keys = ["id", "heading", "lane_index", "position", "speed"] + neighbors_tuple = [ + neighbor + for neighbor in zip( + obs["neighborhood_vehicle_states"]["id"], + obs["neighborhood_vehicle_states"]["heading"], + obs["neighborhood_vehicle_states"]["lane_index"], + obs["neighborhood_vehicle_states"]["position"], + obs["neighborhood_vehicle_states"]["speed"], + ) + if neighbor_name in neighbor[0] + ] + neighbors_dict = [dict(zip(keys, neighbor)) for neighbor in neighbors_tuple] + return neighbors_dict + + +def _nearest_waypoint(matrix: np.ndarray, points: np.ndarray, radius: float = 1): + """ + Returns + (i) the `matrix` index of the nearest waypoint to the ego, which has a nearby `point`. + (ii) the `points` index which is nearby the nearest waypoint to the ego. + + Nearby is defined as a point within `radius` of a waypoint. + + Args: + matrix (np.ndarray): Waypoints matrix. + points (np.ndarray): Points matrix. + radius (float, optional): Nearby radius. Defaults to 2. + + Returns: + Tuple[(int, int), Optional[int]] : `matrix` index of shape (a,b) and scalar `point` index. + """ + cur_point_index = ((np.intp(1e10), np.intp(1e10)), None) + + if points.shape == (0,): + return cur_point_index + + assert len(matrix.shape) == 3 + assert matrix.shape[2] == 3 + assert len(points.shape) == 2 + assert points.shape[1] == 3 + + points_expanded = np.expand_dims(points, (1, 2)) + diff = matrix - points_expanded + dist = np.linalg.norm(diff, axis=-1) + for ii in range(points.shape[0]): + index = np.argmin(dist[ii]) + index_unravel = np.unravel_index(index, dist[ii].shape) + min_dist = dist[ii][index_unravel] + if min_dist <= radius and index_unravel[1] < cur_point_index[0][1]: + cur_point_index = (index_unravel, ii) + + return cur_point_index diff --git a/examples/rl/platoon/train/run.py b/examples/rl/platoon/train/run.py new file mode 100644 index 0000000000..58a22a069b --- /dev/null +++ b/examples/rl/platoon/train/run.py @@ -0,0 +1,206 @@ +import os + +os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2" +import sys +from pathlib import Path +# Required to load inference module +sys.path.insert(0, str(Path(__file__).resolve().parents[1])) +# Load inference module to register agent +import inference +from contrib_policy import network +from contrib_policy.utils import ObjDict + +import argparse +import warnings +import yaml +from datetime import datetime +from itertools import cycle +from typing import Any, Dict + +import gym +import stable_baselines3 as sb3lib +import torch as th +from smarts.zoo import registry +from stable_baselines3.common.callbacks import CheckpointCallback, EvalCallback +from stable_baselines3.common.evaluation import evaluate_policy +from train.env import make_env + +print("\nTorch cuda is available: ", th.cuda.is_available(), "\n") +warnings.simplefilter("ignore", category=DeprecationWarning) +warnings.simplefilter("ignore", category=ResourceWarning) + +# pytype: disable=attribute-error + + +def main(args: argparse.Namespace): + # Load config file. + parent_dir = Path(__file__).resolve().parent + config_file = yaml.safe_load((parent_dir / "config.yaml").read_text()) + config = ObjDict(config_file["smarts"]) + + # Load env config. + config.mode = args.mode + config.head = args.head + + # Setup logdir. + if not args.logdir: + time = datetime.now().strftime("%Y_%m_%d_%H_%M") + logdir = parent_dir / "logs" / time + else: + logdir = Path(args.logdir) + logdir.mkdir(parents=True, exist_ok=True) + config.logdir = logdir + print("\nLogdir:", logdir, "\n") + + # Setup model. + if config.mode == "evaluate": + # Begin evaluation. + config.model = args.model + print("\nModel:", config.model, "\n") + elif config.mode == "train" and not args.model: + # Begin training. + pass + else: + raise KeyError(f"Expected 'train' or 'evaluate', but got {config.mode}.") + + # Make agent specification + agent_spec = registry.make(locator=config.agent_locator) + + # Make training and evaluation environments. + envs_train = {} + envs_eval = {} + for scenario in config.scenarios: + scenario_path = str(Path(__file__).resolve().parents[4] / scenario) + envs_train[f"{scenario}"] = make_env( + env_id=config.env_id, + scenario=scenario_path, + agent_interface=agent_spec.interface, + config=config, + seed=config.seed, + ) + envs_eval[f"{scenario}"] = make_env( + env_id=config.env_id, + scenario=scenario_path, + agent_interface=agent_spec.interface, + config=config, + seed=config.seed, + ) + + # Run training or evaluation. + run(envs_train=envs_train, envs_eval=envs_eval, config=config) + + print("Finished training ...") + + # Close all environments + for env in envs_train.values(): + env.close() + for env in envs_eval.values(): + env.close() + + +def run( + envs_train: Dict[str, gym.Env], + envs_eval: Dict[str, gym.Env], + config: Dict[str, Any], +): + + if config.mode == "train": + print("\nStart training.\n") + scenarios_iter = cycle(config.scenarios) + model = sb3lib.PPO( + env=envs_train[next(scenarios_iter)], + tensorboard_log=config.logdir / "tensorboard", + verbose=1, + **network.combined_extractor(config), + ) + + # Print model summary + # from torchinfo import summary + # td = {"rgb":th.zeros(1,9,128,128)} + # summary(model.policy, input_data=[td], depth=5) + # input("Press any key to continue ...") + + for index in range(config.epochs): + scen = next(scenarios_iter) + env_train = envs_train[scen] + env_eval = envs_eval[scen] + print(f"\nTraining on {scen}.\n") + checkpoint_callback = CheckpointCallback( + save_freq=config.checkpoint_freq, + save_path=config.logdir / "checkpoint", + name_prefix=f"PPO_{index}", + ) + eval_callback = EvalCallback( + env_eval, + best_model_save_path=config.logdir / "eval", + n_eval_episodes=3, + eval_freq=config.eval_freq, + deterministic=True, + render=False, + verbose=1, + ) + model.set_env(env_train) + model.learn( + total_timesteps=config.train_steps, + callback=[checkpoint_callback, eval_callback], + reset_num_timesteps=False, + ) + + # Save trained model. + save_dir = config.logdir / "train" + save_dir.mkdir(parents=True, exist_ok=True) + time = datetime.now().strftime("%Y_%m_%d_%H_%M_%S") + model.save(save_dir / ("model_" + time)) + print("\nSaved trained model.\n") + + if config.mode == "evaluate": + print("\nEvaluate policy.\n") + device = th.device("cpu") + model = sb3lib.PPO.load(config.model, print_system_info=True, device=device) + + # Print model summary + # from torchinfo import summary + # td = {"rgb":th.zeros(1,9,128,128)} + # summary(model.policy, input_data=[td], depth=5) + # input("Press any key to continue ...") + + for env_name, env_eval in envs_eval.items(): + print(f"\nEvaluating env {env_name}.") + mean_reward, std_reward = evaluate_policy( + model, env_eval, n_eval_episodes=config.eval_eps, deterministic=True + ) + print(f"Mean reward:{mean_reward:.2f} +/- {std_reward:.2f}\n") + print("\nFinished evaluating.\n") + + +if __name__ == "__main__": + program = Path(__file__).stem + parser = argparse.ArgumentParser(program) + parser.add_argument( + "--mode", + help="`train` or `evaluate`. Default is `train`.", + type=str, + default="train", + ) + parser.add_argument( + "--logdir", + help="Directory path for saving logs.", + type=str, + default=None, + ) + parser.add_argument( + "--model", + help="Directory path to saved RL model. Required if `--mode=evaluate`.", + type=str, + default=None, + ) + parser.add_argument( + "--head", help="Display the simulation in Envision.", action="store_true" + ) + + args = parser.parse_args() + + if args.mode == "evaluate" and args.model is None: + raise Exception("When --mode=evaluate, --model option must be specified.") + + main(args) From 736d749d8d6f16edc3c12060624a417ac05d6e0b Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Mon, 10 Apr 2023 18:08:32 -0400 Subject: [PATCH 05/28] Add docs. --- .../platoon_straight_2lane_agents_1.gif | Bin 0 -> 486686 bytes docs/benchmarks/driving_smarts_2023_3.rst | 102 ++++++++++++++++++ docs/index.rst | 1 + .../inference/contrib_policy/helper.py | 0 smarts/env/gymnasium/platoon_env.py | 2 +- 5 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 docs/_static/driving_smarts_2023/platoon_straight_2lane_agents_1.gif create mode 100644 docs/benchmarks/driving_smarts_2023_3.rst delete mode 100644 examples/rl/platoon/inference/contrib_policy/helper.py diff --git a/docs/_static/driving_smarts_2023/platoon_straight_2lane_agents_1.gif b/docs/_static/driving_smarts_2023/platoon_straight_2lane_agents_1.gif new file mode 100644 index 0000000000000000000000000000000000000000..cce8f2df042a3c9fac5f80e175342b918ab55b31 GIT binary patch literal 486686 zcma&NXH-+|8m^m!bOHpVgdTdAfOHW;?+}oVU_g2kkPbpZ?}jEIh@m4z=^YKds0fOP zf*L>s#S#S-D~E5bz4uyY?7h!8@2~vJk2&8tp69-<+r-RRL(@|QN&tKZDgpS=fFl49 z#S6y3At){g4-&?WL?Ad3Tqp!L63K~TMY6MLsBud23JZu~nONjRWfhpYPI?EN42e{9 zJ&#k-#%bV{yaSa&E-8gZDZ98UU+_N#0G@JoKNWIGB|1^n(??BTQ_a*=&B;|QC`|2A ztUA$0JvmLoNK?bfP1DI)D>C-<`3t8n#c0PSXLc>9}# zMwrB2Hc8DewKF$$^)S6sYG!I-o|0jnOR=!FwQzE^2)<|$9dGI7Ynha4u%JBb77axMaQ`xA8$X8yh4w%%JU|s z=MzciQ!>t9tt9dY5kn(9gTp*CbG-meUS(BY&FvTT3@%*oz7TxTySUuDy52`h&PPSV zC&1q~IMg@%l5bR;Z)UE45;-s{FR-XIu(2)3$2;iw6qW`DUko`uiKI|{!_er2(DJI# znx>0*y^8@s7b7l(QHsN%$Z!|e@WiADVetq##Y-C6m*V3urDaA&Mn#cQqw*=y<(1LZ zbul^lF|~~`Ew|(1;^L1_PJW`k(PfR(m;L-NlgXDWZzN^sCso%bCnuA|Wyo1MDQsLR zxv8mnS5k|vrd_+9Uf-PFdOIT}B{MTK$IU(G_!M8u1*39Lspp1;=V|HY-RjKOGc72f zP_A7sE-fi;Zo4WbeYK&n48>7aO}%!lqEh2bRd?@oQ_JeGh#F;$nwr}BriMmw*=BZ3 zOH0eGvhrKEZr}C~>`+wg)HCc{c-+Oo+jY0MUskz)pnrIDY-D8Q&Ye3nE`c#$|FPMb z2~p`uNrlOwp_!SPSp(yRJ9nN6iLbWZTDuq~a>Q(HWPjE`k6@&H62}At001ICzz`$= z2#`Pi4fyAp0N_Ue7+k=#gF2Q9KOuW=wxebu6D?+5W!hOgm5VtQxIWuiH**DRkRxE$ zRX9C2zhivQ&Hfx|m=rvt45E7_eRH z?0a+j>bdB*+hxQInK$L$Z?aN=SP9ZNcW~d^H_to~^cP|>} z%5@0el=;xR>f8FEZ#{bNLq9!3?&HAgX|r~dm8-2Ehc0h!oD?db%rz4|SaG|^clah~ z^3LyXd!O$9GG>PigL#4(V{oZ9#`tXYn(YwEM819a%ZgpDGRCh>X?iU3{pXp{15kuw zQ;DVGopbeVU*=_#l{zMIGxFU{pH|+7R;sP#U3!qUd*63KeWs$jN{89~)Y7Mgwu48{ zwC=M{MokmaVfIef^`H(3Bp}q~;tSQME}06^D^6!WM6LQIxA(1R?oubv1_LbpYmpQ9 z{xy%-&P+_?>!a)aYjWU|he!#O(BZ032@d!~Smp2dmQ)qv@O8=EFc9Zy?>h!3tneF} zoY(!Vf3T?kW=x!D*0nWczgZa?&)hM?I=pvNcVlR;>z;MOUjGp#;r;N_q+g%<>pZ~R zH-hdMY%9L+7~=3ClG9&#NPCWcjoAx3bFlpD&j?581Yz=PT&3r<(C*{T%%5*!9{&8L zIjMN`TT{Aoh|969(^w#UmpxMyfTD{2Zi4-m*dW2H&Tr^Y$SlEFhzuRbR&G3o{3z@9 zWu6LEm>y$|4!eLw)xb?O^aCmA3zF;3NY%da6GM!2(O?mj-m0D@_(6)s0hdq-Is1l8 z9e2nOM(AiY4IzZoLn>no*d!RKmWN~Ta~fn+%4axIT#uz9){s+_C(j|0h_rW3Rqn%) zPl$_Rd^A$lVx6buM!YyoNP5s5=QMu%G1mU9G=Z4ibP)j&NYgF^CD{S7{5{5e)>Mx# zekqL&GscpW#l+FGIHfd;MUKr*Vppg@ZNdcFik`wgAC`9}mSlChITZ;Y-8%bB2I@{d z|C@-@9Kxc)qDCx(fKZkLoxcqN1+-|CN%PDH)12N39}wxt+hz5c-SMQ{(bJq zD)Hmv8w;YK4z*Wgrv zWvX4-{BlDhH+JNWELUS zATD6U5Y?1y%X*QV3sg~f5k1qgZIfBbUw~ zHn=tJdRP2-{rn#L6>6EFs3#0(UxPH6Ww6`RHdqr5C$OxYnIh7g9A%gkKGRO9sel*a zn}v(cgNxGzf#)G>8fPnG6-UBWCT={VSP|idY;}xuZSfQ6Z`)Yr^t@DQg*&j3}6&z0Q=j;~$RXXv8F~p2#&GSD;Cu>f%*}!IQA{mS@eG3jO?`f4V8SB z+dtkISbXO79NBNOk<&K4cB0B3h;YS$D<4(=q`xXT`tTT?g%8{0E`E?E{+kYy6CaDL zA0A`2e`$L)^Ut;nJ!~fq-SM#?cWvoSnBY|}4j#M6??5>KQ*0Ty&k-WCAA4AusNv+U z#goK6Ah(#wj$HKTStYl7U7qSg4llyosZ5%*7}Z73=^e7XMhHkuZ)!$S<_%tz;;BOi z8iZ*D(P8macsdncN`>z|h50N(oH_!NGh^)}A%A-l>`7pzJ|O2}@=%0FJ0&d5gna*L z%DG(`-dJ`KBHK?IDs&w6lgd^}mwXeJaj`4o4MWn;G$W)7;a8p!;+64pG2(r^cfmA^fkxfNBYn}Z_cYd*gfw>=q#Bz)qmkV< zn|o(B=YeVVL({yy=A7MuoTb&AW=wVoChtpmL7)GX$NqWayIBVsSEgpKY-4ig{IeEK z3zlaKCJu9R{0p{M3*gzg!~T>X7z*<36`l$Tc#y*IFYG;pcxAC(ej0d-$o7rE5=e#q zG(f)CWj;KBJzC7yq8z^}VW*DXvWTHCaikSZlKj7BUHLp)$W)O#D}AMZm+}W*cr=@1 z_@jW`ENi5^#3G=?amF#!F{M0`RjI=@JHcSzAk6wR9!`n%)<<_g!* zm zY`Ib!4H>uytAsL{KgDxWlI5H$;om~^(U;JX0TCvusatCOC8=gaNFXgK36CiLitMLc z7rlh+!z!v@0RMd&9CpM}y`1T9s1|n?4ZU<$L%{?nz#aM;Azk$}PRTD?xj*?&N?d$O zqH}Yin{$;dmIQ`_?ggmQo<@j7C3`>hTry4%9}hXIy)mgN)#<|CtyzP4E)x@-RF6mA zOotfZ&ca@wXDhGqH1f7t33Mko+lNJHVm0W+>I5`Qw;3Mg;8aY9MH69U0Q8h!ZS0p6 zZGfIwL!_q}#6eRw^FlB=Z`8346i1*cO;zDvcLhZ!(Yeq z?F16l5*(h_%TGWoko6&UHJsr!p;}E>L2+Xp%(udjfdnY*zy+T(P@_KN2nLG$ZUI;!>0O0YqoY*pV`q(<(juxaQG)=`WVka(f&`S{iVigaO7sFD zuHl*;B=2kC-B-h1Nnp3938N~yMQ1hmrXpBNyad#$e4;A<%E%veCHt$V@`sVgXF+#W z&ZcgGPS8||QqdQj+QH2&mv(@1SlvP`$XVH7w~ofPH-Xiz5o%$rBax>kRg&d8BH%4l zq3C9PI<;3H`pq2r&`I`Nx%tlw>cE(>;x^IjJlIaO4|q87Xu0W8dpx} z!VFuxhI(DY@R}H1J|k66nBL)A#bCQOZNd#%e3wRLx64EX#9WmF&>Qo;+YH}$J0s2C zT<$nJ;le{t(O`!^<-@etBlxTZ}`t+S?Aznl2o>xVJG!DZwtJUieq;X)PIyyvElCCM~QdBnSa_DZ? z;qP%k!wVPvda(w&udka_4qWT%VBhNqc5SFispWoi-gB|(&JUo{UaO#_>T22bXGe1g za+s&U3Q+cHi%1j@?rIn6*B;>Hbs;8zhZgZHUe*4z295#hQW}*I?swk%HE{z}W8Bev%H(#9SJi9d4Vm$c7Dd3>7vUikWM0SEO#nOs0B^>_|AeuL zwXwP^%K8(ThtOnS*9gby|s$AFiU z(vt)pLY~$Wu0`>FpBwEfioqd@N!QzGGr}iOw@6LHgptB9A!P*S7r{VK*cylq_)J{@6MF9Jzil+~#aQo{Y>W9X@&PokS`H>6nrEH15 z9BaDeS5)+a(b!umfNjCp}$Y z0GMezX;fCx_kff$tM5A4);pMMj-(KGXe@R3x-|;R6eWKK$GU=p$1kGR7Ma^_raR z8mk4CG6L~M-^kEDua>Gvq(D!*LKClnFV!(E?1Ntvze&X-N+^|s*-d@8sAb5u+shBG z9@~gddiY+3sy*}B>y>|RnH5oC+!sIpse=XK;9N(ajuw!^9Z0K>44VRm?McN@3hYE* z6HGk0<5Y{%>ASl}mB4e4L0`&JM~pqI(1@!oN?4)I=d2IkJUMmH@cK`-ewrUc=(T>T zNv!39o|A_C2~&521_xsu1IJH#mIYs3lD9c9`pZ7dOcxoLZf4$nrPYeMvZ~MV468Lk zSS|_G!$9a}p=JR{02tXrVi{+!E|Athi%gHPDk9ZSL>dJ8iZtI&(b@VoQNP05G4WNe1GPPyeb2U=E(Y zl6iIH>uEySkbyv)i8kqky3+;MZ()@~KI%&vz8EFU)#KxnNjk3&V26{Ir36IOS7Zla z3&1X4uI#f67c%rmZ;Yq+3h1;=b%;!6GII&lI~Uf_JVqt0T(?Z>g^eVvWLrwiwp-1r zG}>La37dvF+`RfF(u^l^cJ=0u*t?|)FsH&d+w|T+-ab-wp2Tp8H7?$;DUFU6cV>R< zsO>hA1mSml@7(3{pxUU?@q=q$$csDa{7xUw4Mlx;IaTTO$wm9}ulcXP)I*752`s`V zgA6+hG5HSuyLitDZ#E%Zn{)V9W`U|}QKGdzWX@04EDe#cV@V4Ho;glId0y+CUhO@4 zY`C#BkmJO{S8K>FTHpDURlat>_MDi}Q%+TGe%m_`n@eK)k1(D!V?q1$96bWVwIMuD z!Jnp(>qqVdz`kwHwG#EJN8-Mg{xJQ#W_oSc%@79w97k~C9e5@-!!R0{fN#@-38&%o z5mNOX`pk;;_gK_vq`ExipA513`VlNUQu;nE#gNM(u{MkQ3CTA9WD9@^b#j1)GZADF z3vO*!=8!Hg$Uxa)eS+g=O>PZ6?=+LTk)~`e(^TJOE_XX}Z<@cMx$_>s1!AWYah~??mPO6I5?QJzdt?8w?&3c;Toc5c2f32 zJ6{EE_d1Iv?+j`2k@mSbYrfrA#LKxef%3Ke#&1*iPk;zQv+0 z@Yx%B@@4s03a>1Uso2W66H?qwFs0ij@aLB}U;e(`e?IvLqCq6XBnOD8Y{rLUrxs=< z%8a!%)2>MO&4T2mWN$@nW^dJg_qZbBgYzsjksS0cwlUW9DRuH4^eG!n(cn3!kJzRd zIDS05aGlF})8|GqRLj36Q*y|^?uxNi0CO1uzjHmoQ7iCfQ{&K4VC(H^t)TY)leqy+ zx+kf?&Kb$!;O>XUr$c(5`VNQmzsfirI=Is~96J1I`t-%o?{9`L-aUe9hmFCcM#3i8 zOtizNc>G4fXM{7gBj%)-1_Qe(&~- zPQr)&ojVDi?!t5vKhH?rP27KIqI>!4Q@^{HzrV`VP5QCZboV%NozYGH^L^)T^3f5D z2!LqdLEMWZm?06wHGqezEt1*Nh+qi~J*4Ae3eO}Fsyd*@8ohXwDh&378)@isTwP3) zGW0|`4Cr(BEv74`d7^wY4ERVmz{=^BQj+)G&|hF%<{1BQ}n zOW8JQUYrdYMzW4eIZl&a+`R)vC!?2g&x0>urZkL|uP){J8D8KUZ6-CoxCgkXLgL%j zFwt6BDu|i9ASB$I;~9G&P)AA=f@qrRb3dYF8rHK+DY2?OPvPyO8Y?F)Ap`TgFnRg_ zEhsV9F#1vP4X}^2k>>o*@Cm;At5b>tN(J6|`n*VVCMc-}8!1lYs-N^Z88v9(@hzfc zg>DS|X-Wm>)#8U4KFXzomcD9_E9~ksKrfxKO#TJs4}&Lt)p`f5LZcs7z5@GcOlew2 zTzy=%W9X;#WY9Xg@A36dX@1(Wj&&QQlsWm-8fyNK&dE8MfHGe_C1VVbv6@z~sxh`L zBKvYb%N7CK0hE|7C+0jEqhC#73OU1>Mc{S!na|opQ04Qdlz7jUD0Ra`q4Kvqc!8Ic z6`2)EIoZ?4-aM(FIwcb7TrBgLCKwz_&bCcoSX2<-q+H|NwpeknmRfpd&@)x-UX4%HEn*u-!Cb8MI)r(F^!9!6BT-q%{W_Bu z8;PhJ&A+~9g}q0IT!;VR{P2_xTCUz5-!lHI?u+^;f8ZH}fH4dsY!K;S`g0UpDXkOiwmg1@U`gl{Z zs%ErZ4(=iGaaQd(=TRgLNd1=j@QiKAJMnz>8g`n*x^%adYBjbtTe93=87bN~LZ0Jy zs@5`)xtW&AB9azH1B$%kd<_8hZtgEM4_%vY4I2_Kwt>8Nr5oawox3eKm+xP=J^F+< zawB@lT^-HqPdtm%S%4Ee00Ne0(Z|q#-@5%ueGMnV4Bep5qAGAaQp?wSPEP8gOHqC13+k^o;Gk&EK>XXf>^dg@3Nhs zB;4hK1)%r$xK+nIL2RMrb37Xef7JqY3X=Pb-PU?yG!K`p@ z*o9o-62{SH?zxKl%E5}G@}L~mc?yVG@%FNE4o|L1H&Uvfws}vn_h2JeX&QV2B~8up z%2oY=X7oZJyk{aG&8&xC70m%NOaM8PDJW?m=NE)RPZn^BuSc87^7P^TKpf1Flao~> z!tk+`%3HO^c?xxhpR-ll;p201GrzmkWuB;P{gAp7Tz6lgKTO9~xPx%YT(p`1x+mRx zsAsO!Pls5@ug41IDVDVg%jd8onte7;)KaH4zkF5&nUeim44#j60il9mEW(UV;a(_b5LOl?>f>+G)7$yQ*R^(08RBMYX^KMOw! z#EXj^;4+C}OLK`tQL$w#MDukaG_m89?_nKTpM(W|!RjSEBg5=}f>^|gnj_Yk&=IE9 zRfqTtbg7*A&hv5pNIjM$0UC&_1JJ!WHiN|0=I+myl{j)1o&${M-JCTN(<0{*ICC;C zme>g_5t07lseF_0>62dw%u*U6Y*+9wtz(py;38Atf+>xxJz=KMZf71hZzpj6*}UuX zFINZdH=K+)22el0l+jR)xJ zpQ!{0A}Rt_M;d``V>J%HyDdOm{y=WmT(CG5`&1qe)QVin>^nsjh}cQ*cx$VSP^lLe z3@|&*iT=-bH4K0O3_||LclG}U_S4;z1MmCS{{!|F|NnvgYY}xzb^L?U?(-`7C5<)} zvJ(Fb>?7F&rpX?6ktjJel2e+=QmCcBeTd7ge}nx{5{g%Q_r*OY#g}&yl!yS7h5>0T zQ8>x@UtnKK$l@=-D}DQ(@VRsU0s9{Y!FeYXt*MTJq~3QtIO6Mag@k{B{jGw_r|}^# zXsL?#MNVgb7B?u6JD;?E>tA3$#;otZ!2XBF|A76wc3aM!ZypNgbNF-?O3M_yW>DBC z@@19MOf{ACu<7Ea{*)!K6lu%=h{rMi3+zWl zAA|kaw_Jf9&bEm)&v_W7O6M=DN3y4~6Px>t09bK$C^PR(Un0u=HG_;7|4o3Vaa7a% zkv`{E-y+-@M>GSzt58M_w|qx`Gv0@Wd&k{S&4+JjG4@R1wkM(SoF`04TL7a!2oJq7 z4|9Suj4Txr?^n~SB} zw|g@~MIe|m$!i(xOyn_tVLKh8r+=XavaFNN055{dO3A}Uj zktQG+E6NjK;sJL;pxJ2fW0dU~^a{j?T_2#r-yTi%ZvXIY?QQ&%!lz-MD&1ei?u_2f zj{kmi#@*Tbm%}fQK=G4bMert1Gxz-5Z1H>d7La=aKWE6Z7 z2&Te#KkGqle@3{Q+L|9oA6m?5`gmr@yUH z;IvACLl3}n8ql-3F5__5P%3Tww9n94F~N#5HW@&Q+F^ivol$;kF~P- z%HQ`;#4zweJxMN3Wi#HhS^757*x+*e=#~;PB9bbEYJmm0Qfx01t)Mq~jHFlE_brtn zoLD_sf-P&JJQ0X-2Y|tkSo8rv9%2KDEfCH04QGp$!2}_dYk?p|`nvqD_UfKIR(zpc_>wX}45MEM$N#}SY! z{F@Z#Q?CD6GKdGUTU?>d@QXLS_Z%Rt3eYC-nfl(d5joP>uh2Pur(^caTmnMeXe_tF zGKUKbCUcAU7pu^^jFe~6JB`ATId;B3uagC99L#1R*pK8ZSfT@fSp(oS+?f}Urq89^ zW#Dp`{w!}9i}GaX8GA?KL}+BBTG&O*a;5Y`Wm#x+)~CeYu#Uff@ppZi^^D7%&TGJ9 znLlkSCM46Oxk_qKIs|qI-{SLx+5=|U>(@UNq4`CWJFNyUhZq!iIg1GJw9HA6J-EA5 z)=(R9g6~uCTc+zm{0&V+XBjU48SOV=j8vAoTUSmMNvA}Mpg`IAKHRU-3(?WorP6V( z)AzR6UGH3X5PWO<~@-Tc$yfuP#@Av#IGB=3Dw+^`Z{_G;m zwOG=1df1iQA!ZN9mO#&5-yd4{6e0FmRepHSmUqJS8Cfsw93di#^!_ytz0}z+Y2m&fn-7doA5P(4r*%)8v0l2*a+ghhsfTa1 z2~E-8i$C3@z%|xib`+q}VEz~@fn$L(k87vA#>0TIq?79iD9o63?bj}oSpa1iHzq2zq1GI(=cAR%FL0Lov?XtOWSMC2WwAed#M{hj z{j)IkrR~#92(tG?!2#zapNIt7)DQjTV&B@IkFjOUYEHA6PsSVSK{EK4Fq^}1{=bay zIE%>gdG2Ykzn>{rMqW$V{Frz9`=$Kh$Q$*CKNb@H?o-)DcTH@5KC1kC&}=jM>RL zmEpf%JFbkr_p|x+eC_YIfrq0XV;=r``Rng@8rvO4rp@n7{-eWwbrKL;oA~5{^{a6&2{g2vL$VBW-|k$~ibG7@rtG`Vw`b(d6!0~}|&$Kh!!NsWmJn82f3 zsk*2`G8U84^PMD)A>E|_5NH5`e))kqT3R{uQcu+yNYyTn6VFNw zDofp9NB@_7DSAAlL7~$BUVi^?L)x)@>AODuKkUnc=Fa~=_T}zkp=q(G>i=e6j<)pt zpX|#5xBs>;*CGP|g&?!PEW86jo|H^YR^t(kn|MwH6cuanAN%sug**RcU+Nw(4}^P- zd7PgJx&NHOJzM0k_wurq+CTQ?&Vl86Cu3{2_?7+pAcBoB!CCVrQim{I~q& zQl4(+|J%OQH}s$wKDR$t2rW#1U39m1`gr*jIw;inS-!O-Y3nOfqXTq)wj^n4t*!A+YA!Rt34rn$bUC@Vi-baUqhAp_!HSS1ng0w4QV)nD%~ zV&2my*Q12}43!o>O51LmEu+H)E3L;_uJ1Qn!D9xv&1|_x_^Em9r07 zZ597~UG=+t#$)9a=l5^)OvS&4mS()zT80L&Esxj``$(DTX>1p3dmbqZ>8Y*Qbb)o?I?3H)F278<|V*B-15p13}6{-X2$ z^sD(7Dh=qQh1g}dY1I6sCXJxG3~#ezzuKt?!l$7xj=pl7pp`!3%QEAYB!|3$X1RR} zcJBcN$z0gu4t)ji-M%)(PhD}n8}W9*UDjb|#0w0DW6_Ep4&if2;oZ=u*LwS7wNv}1 zLyGYaB22Q^PCE&7FWdkYs|gMr1cVoWTYN`{-}_Q}tzd*{h2DXQQ6{YGhf23+&$8;6 z{+`xQ@EpbN{B;mG3?-wpqC<{CT2TXCUqBE2bg%S>{MwINVk=Ab73TfA|jYL(uDfdSVOq}iW1V7 ztFk-+f=QT~+^swiMt!RsgHO+t*`kKBrl`zoYyx;hT=qvZZ=Bz)n0ggIzv@>O{bP&= z4}S)fEGuQ&2yeLRqBFU2l^FfZr<6O}#j)Jacd!It|G?lr5bPN3;#&t-GnZq^*T;zV zdS{v_L_=LyuE%|R=I4?La@?WDzVqG1C;IZp)DFr#_Xou5n`6rSin1lI24n^T2R8s*8pc+TaK0n|CpK;k|MIJ!J5aXD&)!q4i}YqO+~j0t)7~W*SjqLid-soD zecFx_WSc~L%1u3`AILCIjiZKPBP&JP(57zcC6`C-5eNHUqe)w#;;~=6!qD+2k zCeG32-t4JvhlqxuoARd~h$&V{OmNv~cRut1hJ*nv@_I{)K2J$Kjf;58)mvg|GxKWs zEVI+s6++YZvgJ5it1XXM|8g$?AFJD{!$nn77JrrTGpyA<=Syo|$ag8!u1BcPT>BPM zwJj(r#6GVeCZw`iN~Gs9_pEDR&-^`jTGBn;yZtUMKWf$W#&uSb6T z5#{{W^U{cWaT2?v#9sPblk>Yvg&90KaWcEL&&$KQi68r3NL$xQd`nVGqg^^7n!Y*f z;8~~je3eMY4q<9Pms-CX{(8Un+wa`=y1(Kd_ZuW$y?rhL9ggnhM3a~>Jc4$UUr(hS zJ^ZcSqdWOSZuSUpRze$vll~*d2i$M!sAeIMkp|Q)Ofv)gpArn-OGRoXL!ZUB8*BjP8AF}w~AJ) zYyPV{Aw3uKVF4}UWbJ$tYnWoVYtk!=OQw-{1p`i!3ITTV3(vBo?ydaOo%nEQ&7TST z@G||xH|odK7Ka;uEWQTMJui5`ipKC`Uy=bSinSNM^&fX9^j~S7z)}TuqKajhX%<{- zTE+vBD0YnvLoVyvEwouIWA2KWPrQ+qQq5O3ah;TQtdhkf=~OGWu}pg)&Zkv^eUYgG8b z&wAt3N7-V~KDm&?q!!lyi-kJoQ?`SG-hRvW%5 zpi3M!0RzP;O>z|Dc#@v%@8v*zO9-z@Q=g%}T z8veoT1$V&keNZl6IrON*^n@KaB2URnJYY`L-G1r5T2u*zC~`TEHm{a3%a{_Io!rbs zT*1mgc|s4pP=aQBb~6G>m`kskdPt8D0C9cE6xWngp6;>rFEo>ogwIW9n~dmZb^sUkU^M*$eG_&vw|+L# zreGtK)84)a!EBpI-W`@Hv2Da>sqq@{XeK^yJOvZLmwKN$JME&o8kveb8Jh^<#(>Uz zfnd(TCn1>gzj^SnR>_4KkL+-Qq{nW|%TX(yspd4|l2y|?{8LrIXt~1J2Z{pcH#X)3 zJ`F9IV?7Z^oTksnvuEbls$;L4$i+#2FvEfdfo7t%Ff>B^ytLqVe09kOgg}13a^_~* zU=2dt+<;?l800R5=gS5x!~txzi?SXOaje7q-OTpChHVGfO<%W3oupvXrmBBE0`;Ez zw%QT&BBt`W03F~^t{FyJjQpEwe$rT4Aq_oe@_7{hDp?xMrk(cc%n$m6(9}<0-Y1>k zHLhqu?ZDf7B>qncul{B-Go`WeEv8@%Yv9}8MSeJdc?PqLPh!Th)Nr-zE&da{wPO?h+G2e9 z&eOa{tiXyqf`I_ABOR|If;J=?3Ydb;*_%wKWF5tMoD-oZ?K_PewChi}BxYdzy3lf7 z;z-~si0_I2wA#?;{II+_fgRHst>>Q$V(-@peV?7t`T6+@3004Una%3+eW7Go){FAY z%^GWcDWv4pi%Xf!nVTy^bcp(>LlY2Uasj5(tcL`5ky$Vz>_i-h*_ao=(m_qQDGnUP z-<&fUs3`^k8>AtR%$!?_N^iZd#?t7iEO0{>_hvnm5IcZ>k-4Ha&zsv%Q`Axj>s#pXwznV4~-y} z_^=XGgV(q~v*mz``|kZ9NKHk8$#wuR3s(wWw>Cq0)stfkGsTwFkxQhAqTXKk34uX!jn-NMI48XnypYtLw%ppPYGu>-oie zeQL+JvsvLY>9$(52SrxK)He0ypA9xQrU?bp&#RW+qTzz~3^CxY3`@@M19L1SHq+0@ zt4W^CIJpT|rsG^K*a{xz{K;gQ8MYRn$6NrXiN7ai>cG8`K8NFV9Agh7GRRS5j5Kaa z#}gb)4?VVO#Lj#+qrSw->dfAOw%ytZXP>R)4S2*$Ph^-!-rhURTTNOUZ+E1LyKP8ea z9rK<`-6M1}FAQmCSyNS?W%!-LR>rVfKjr&nC)CN`uK;%yS-yNVMF!Hw90R2RN_0Jx z7vm8pi9oIV_;SU0Q80Ujp5Vqb7KT>{v`gSilO>Sx#snsZ)-RQtmwUAz6G6nfi_4%T zQrURwd%*HC+?LRW5BfR!u~Vz8>MFHMcQV*bijx$8-qmC&&j^CKCFxKBd~p;>@-h(& zxSxu@Otlg#8GcfEtB?KBWgVQ#8q9+ul2r~My$n9(Y+I8PFxW090c4-TFo93|rNxT#%#t^WHSr5SPCv5ds8*?$5QV<6qsaIPPI8 ztYRD8ib2iHcoIQ_42n2Gv2=Mcz2)68u+^u@QH_uHP`1o;&9T0N2ZVLoXzT^`a}k4qOyUly%a znq~luFMl_qL*(yhbEKo9g7>qK?wnrP5xiN2R>H=nK#0Ov@CH@!jv@OLBFg!aCr@th zfDts3^8$?RoQmE(S;_bf3klh3qAAXn2+xs#w0C4FMSH^_{FT9-V|*3zzWu2Id<1GvRzra^hgV+O|m;zuIS0}MHN zH*6`&{f1o&r$MC=Zh*nY z_S#uQRjm0lLSgy1Od>cniOj%U4NlE&9TDiB=drRM$U$C~2O(A65<9$=wCim%MYiYX znB_wkgR;_PExX_f!@O9P}q|)vyt6aD?sm!UHC5DbWdV_ zr%>9@P>4cDXo~mJJ7WM%(lb*6*R(~^0(lqN)A=c}MN=Q3AKibxN&(ZS8J+xB5`{oy zpqbos^4RHv_7av%!5pC*$6AFMyXn^DCf&@mi8WgaJ{wbb8M~bveh2?;LYTHJp((&K zF9`wo*2}sLApPf+DgheU&`W!nT8khQAA^dORZd|?ih@Pp;;H z+bwoBueojKi~bMafV+5nHO6CYcZqr`S>p=3Xw@^E`tT!%0|TK9MkZF=lanx!%DhPl z)R7lqO_c_7A?mXwm#KJ4?6{a?XRvcs?H>@$NTKL+u2ZDw(X{ilQs80^(BBKdHf78f zIEfn|7^y@QG8^M+S@QhBC+*0&{upJxhgr~*mP_#a^%=bPF(v@-yUF!qPNe?B}U6^z@|ZOsCKjGeTHQT*d^+7O)V-P zjKzv)?HXRD+ZNb)a`JNNv&gy%2%jTY1O5O-!S7N5&13b_5@H+_fQ|4vuuUsd1t~zlewQn&2tfF#F1nc}wS^*0?{!&0ET3h&4}Q zH?O30dsfoKzGagpqe_20d`n3R60GyB1#X)ig;~$5zt9;DPm56%Z%AWAKTd)_<78sq zd^lj#3!FBhlXQZW3)i>Jy|-%%!B{IN^p7ff4O7arpf*lAvWyVaH=sC<5`b!oB9 zB@sE`xF4+HXZV)0F5`~tisf^ zK-%Qho$a|kJed6;5$h0EZxm-HeCHXJZ-SggEFDAY$;X?nk~+vmkAxxp$b!HtR@Z#h z5Za1NPs7b^nC5m?{!c9b&hZ$%MoH*_!j_^18-??pK8n1JZcbWn%x~$Qf66?tPW8fl zj--E|%Ql#nM*9Q{^zO;v?4L^Xn?x_5hc7znrYec-?jSsnjNx5dv{_98y*|pC1BXVW zqSF)lPsX6So`N?|J7Y~Rdz#slsm?mBX)rGO;OBI5B0t<{ics`Hb;>%^GeT(<>q~cc zM7c^LxKrK8&@kid7VWlr7k$;|E@v|n{?fBn1?BB47&-JJUJ_Ni9<|UW9i&{kjDwuG z*2QYiX$OcgxrB~KYz>avmSwDE6Ek2a1`aFEDW9`>0(fU+9yNsy3BM;pp&Yn|&E>F^ zk~mCkS(rATS_i-09(l84Mo~IG<$HtQ)bn$buyS+ERJfcOu}VFIrD~Hg?&B2zhBV684V&J2aE;jnVUed%?Q3%@6yprcSfDE)#Wh^RABTx@V~K~S)t81bW-b4sE%+k8R7hz!4 zPcORq_Rzr{0`k#IsJWLkvIfoHNL(i!m0t)oZP(;XG@|+RG5U!MfMk_SGb1BZ1vWkMWBZ8ch!tN6Z&(WbpZdojx}n`wU0A zuD(}$gP_kdm}M5HZL(+dRXb6mC8~Va>TJX^rw=VSrL{w)z|uCVdH6Y*%?}9xg4SUR zTq-FK{LSxEBYN%j(jz*pdd5_KCPpZ-%Cd1TMnunt>a$QOL-ibnC6pU%;G=Be0Dk3I zz&?SXV(H&}8j)|c5IGAneE{284$Um9=w#iRKqjzhX_cK)urW?d595|qz&VYDBii0` zu|sx&Z>>#Z+dfSx!7pcCn)=>t3@s4$yeTiV49QV7mN*163yibVKoIk@VId?_QH8p% zt}vE%1O~0O<8B16RXk(8f65G|Zh&$FJXB`$v_MiTB`*N?(*OcDOCvBFkGI613p#c7 zenls_*r|TVkmVFRsiOm7*12E+Zx1PNJ)RWf*R$^r9Q%4#!u#a8?&k$iD+XIWNQlq;A z0h<2@HLFpsP6syB8UqHzXed0;DM{eUh8eK#Eq+;LwR)-a(?ip>e~*8}P&39zTzopY zg3So6HKo^s$ejsz7);}6X5*o37Z5N1$VTIk{X-Q0bP$_Z&8wi0dAja{)*-iP9^}FZ zZLN*|OPP&yK@xbvaBKVg)mGCCG_?1LS@I-%^vJeE|6MB()a-y{^mO3CLMij*8013A zMRo=p$aP&X4^1ocDa@*Q+b8pEmQ!A?v?Y>?l{ogN#o0i=iOR z{-d=H*Uk~s>s6|a{!^yMJs~EX^9Sm<5Q~>|e@Av5K4n_q0uclNcU~Z8>t5!24o!r@ z8;ZCbD$v0vLg&K;Xo1g^rsVa;Ib5uEQq1<=R86=*1=uo-1Ro@+be~{h481Mr zeE&vl1+OvPORpk?2-2$5huDfHDh>wc&B%FRK_d?pu7KFEz9M&;$AndnGJ!CAs54Pj zl^|ytSOtQE((Qp52_7b=qSl8_{PEPG%RJv0W*VW=hIn=2P$!mI6LhswfS2x7ZX#*g zR`iY0Y1V9S&o`Qts5a*Rr;ElEE7(bv>RL;IXUcKbEULavD z{Dt^Nip0DmtD=tJ1cX9bpb>%E$ge8$rl=DHTYj9P8USrA$x@q79iQbIu753OwTyw z0q-nc;~%7Ze#}M}I#GN%1hm0olL4DEQXrHwa3FQ!8#%WysNBh#;~=qc09`MM5g9;# zf&wbaM5V26)*eVd;}l|raGu9B4#F|X>uH5T?!6OiP9B+K3gmufVqr6Ww*Duho_#xj zR}t2mxRz@P=J_1`$Je2h&7pP1tUM8lId%>h9qss_;!}!a$aAE=cjjX<=+-euSLOVAeef5BYkrn z#ECbn&dIou-lEJN4B6&4A3Tg71rF^$(>e~nGr0V*8(=;Ds%B5dkn=Is&SN_Ck1I-s z1FdK81RwCwjU9d?7&Ec%E8fly<#S8sHWRg{wgYLDGSwDxQJ|pCvdKJP));D@6GQQ+ zY>C+l;Y~D>x1Qaqb>!sA-Kw=1w)IT<`bT{{SDH(yTS^{gWzXMod)!k36AC z1uMurXP1wqrpb_%*p1u*N=S`#ekY#AI>_`xUE}T7-p;@K z@#R`1(F`{(IJVh+2Zy35jxfnaz7z1HG z2<6F~wBXcy!jDa|08uqJDTW9hX_3&K@p?+~0~oi!8B|S(VYniv^LG|IZ5c(mJi^gU zw)4U`PBDBtKYj3t;U0_iNcY2ZHirZ^B_vEjvIz&9Lbm%Tadfd=c*~uC?62(AuP4y< zUeiErhUVfCy)@~B_@=LvuU}vUGhp;N(g--DX*67uC*r(1B7;J8lthyyP;i7+oP0vOjz%eP!@Sx z1UT%pq92@p27K?Fz^Wxa_J(2FsAeDH0L8`^_(6F?jyWYUNG>@i)Y&3RO5Bi-V5eCd$83H0#z#kNrIdQGLO=tQk{s^GJ{7^PD+^QkN9Qg=* zQ}y{)`skB#YgWK~2$xt6?Ky9kjO;dg0GclEr*D1oWB)CZLFwawP`)a3wbFc?endxM ztGto=6@sCf2-aYANqHN)Z-bB|{{Xhs?e>Y8F^Db!I{a!IaBk*m`Ck!dZh5P1PG8#^ z7J?LAqVr1QzZu^6yY|Y*TtCYX(;+yQb8+oZ>P+Dlq9 z&?EH(N%J_aHPGQfPsoT1)_ZUc7N!VLf=$%qQY{v6q#P}fTjATeVkWq(cw>axxV;Q% znX>B!Xt8QaM~GwoxD=D;+)f(L2$pV1*03y-M@KzKUN zIt&>H)Jt%IE6yGu7lJqxKzO8#4(`<-=&u~9i>#P52uDT$SezIS<>M155=&Q*mJ6z0 zuL>*CJrc-T^kYJoKI;JAf|0e#1e^6Us05#StZQg5{>;EU`d90D0toBx0~2aF z41F}*N42A5jSQ`s-HM(|V^gI{txza0A_W`4M1zV>gDQ;Hp#g8uAY`@D3h+cJ?c^h9 zK}PFAf&k_50h?E(nxy2aSu~3oZ|)GYmUxpxJ^8R873GgUsN~qpVkR^PJMLMzF5+8&nvdIS*qMCokHj<$_=~HuIpQCp0^w7`Orss0{D* zw~QHyxo|-tzVTK81#`2sC-sNMlgYdo>7IG5Mw3&>WT&)cs5pEBF)$(DR7CfXL6s$d z0n*8Jq)h;wq#Y#mxF9Ckofd(_`X>*K9(k2zua6-&M@bD^)#5j~jYNr=)?OSI=tKk|*>V*QJ_$KnXWn7Ad4Lxq?iu}3_wOt+q_+r1hM~|J*_ZLC_+pNYDBjXIwMh6S; zt*>MJeL>9aDcSk^^j)3YVo_x_N|&hYg`4yw2>s)$*_$qOezcYUE30wWorE(7ca(!=)qChTsGzjh*It@2AZIMMaWH-tJ)g=3E-161P`#w%xOL~^ zPgi&kPC{%437x(6 zyfW}IlAFWUzZ_|`OerbO{aC+KXHimrMaY%T8y2kKb`CHM50$oLLp6K;qjMVPMgHgn z8^2$DPGS_rbA7*;hmR{HM9I-XmqE?0Z2iYoGlLd-VFPf}1s^ide}Hy}AZ;GnSPdH` zR_Fm$AO((Z4$ic)4u~tA$PdU`Z}8h?FkG=JDhFnU5Px1}RzJ9ty>gLKomohU@>jJG z!N%o%0VcY5q{a5CMJXo`wKcdHHjE!=5}rQOZ(XRwWmq*F@CpOWeDwe_dm0@`gmu&f z)|#R8B!$acjMdgPE??4SGswmJp2x+^i_lBqGRV|Mr~c}Y4^kn0=tn?L6M zy|L=@`w+?V3I_ItaM=Rs>~psDNeyn6fzyuOHf79Hu|D#dCJ9tOvzOz&E)}#zDO`vH z2pa&5mow)0x_f?4)mOr$zSEN;3WoK2*4Ecv;I9*BMv!{^Z)Bq z?eDhro+;!?>;E5b=mWG3*~*E@p-LP|v(HLU3+PWg50|9@@heeXIQP!HfZ+ujwrCFZ z_2Y0o?f_Cq6<~ynrIA=*<{=2<%K;HDC>N7jop=dIKOk12d0A3Wf8gVl zIm!V$txgmfcwt^j9}G~Q3wC(Tw1w5f$iXYHkyL@x7fP97G=D{AFvw+(dYL69khqEm zt_AaghN}eCpzJAn)<8LlpQd>h0~{-s-kW>$gVqoCx%$d4IFAA~;1NF?S0-v-!g;;s zIgT;BeqORqQIAsbdM$rZ@d;P!F{hAh5^6@W>a7D1Gj`j~6(@CvZmR>WS`C~j<8ptH zaLMf~8qr|{fOa8kiM>|8sH9M}X0&5*6vChIa<~kmUj%bnAqb7-Gj+|Z#4fx);fefM zT(!)|g(tWh*==R0$P00Dz=dtV`yD(*5gB>DEIFPE)t=AU+rHx;kPceQ;L!tA4CME=rI-RqxNE^iy95jnBzvpmxcD$wX_o)3(M zH4o<;hLjUyrJqY#MNC(rY?E%rnYkqc$AO@45*J(*@MpjKU(bMSX_op4$I6u^sU#jC z7dUq<4w%&Ye!9han_k)-hh$9-F5RX;8$d5)-a?~AsU8wg0bK904%7+uz65Vk8D_gU zTu=#Cy%gM>U15NrL$>L47Q?Li>{x=}+M|60l}L#*8c5QYLqHn7J#PRvvf(s)VyDJ$@vmVU zq&~*Tc_*p0f3TwZJP|AOPbxTj^l|RQuex0aV6P2>XFjyooWBuiu?X~Xs0F)n{7Tn{ z=AV;;{{$oZ?fUuXJ*Z&I+-S^h(_%6TF^41akWq8 zkYT{@VC2pFEi#n#{+)TcOOEF7#W%CO(m+R_XGJ|g{-NX6))vply$L7U+htMayIM(w zHNn+wm011T;J5eB9=&~L4`JQ8sE3uC4ie)YpC*LkW3(0}anxOo*L*sAw3bWG7r{9g zVQ`kdd-+XAAAShbc{Gir(!XXl#m3u7Nu}2IW;lfN!vuh}a6gjNqtgnVn$SP5)MIIK zQbV+D?ax#nMkFdJ4Ve7+ivojdIab4nd~6()&mAs50$qP4G#?l0PJ`QqB*|DdVLk(J zJ0F0exjV<4IEIVP{>s5SY^#%KC$7-*19%D$>(El-h^o{shv$#Ce>pCoKMu#`VZqC} z+?|{xbv#gTyt*9W<>?StXZ#bWr$tQDdz@NkC!)8$^FgeOx)U%d;&bQ6Y3E^>p0h1mL zP7!?z+p1+^tNx6wrwKh~`$_oclcX~)cZeT)wDQyL2B8w1z=I2-nl<2W9|4q4$d{hi zY;U`T(rcXbyjWwIqFszY80{x@-A|YGIrU>Mvh<+;zOSan4#)*+xOnu){9h>;f!LssMw};-7>Y7U3?gJ6?|r1`#uPvKzVLeTr#+o)X`YZ-WAFh z^jm`kw18b9IpqOX&_Gq-ZpA^jl{t!=cAH$UkKG9ZqWL31&Q*ChP7AwnqTl`?IuvbD z^(wO{G;}Crnd9jI@NSdBW-IRB55w30;9gDL^3AZqZk{#M_xPIlLn~tVyF)b6JpgE0 zqZ9Z!dWf{gA_E!kZ?V(Ae1r=M*6sMbf5SY?Oeo*m!B!*qUuOieCqF+d(z7)z0y~Y6%MB8h+0)1f<1IZjKrw^|#GdEW8EiwK+i9`TBYHN|6 zp_?XS9o^ZVXL_9<2+$*#U$(yx+2N78^Jk63#P?j}l35~FJG?+W!e5a~9lw#(&$u9Gfkjmd&`rf!Q>60!02bcc;e~@qT>1(B(e93NP_Mqf5 zO8|9Ff-T;|&GVIVjx_Z{keUcn|1<&Ex4p{@s53B&POde>~Dm+l>fPhuN5<#?7OxMLA>uS^Tj%ZOk^-gq6s7nWKYQE za`o_yhc$82^uhgbYraC`{zJmb#^q;n?;+L@80H%#q67v1@ zCNmxmU7N%mF3EEgsvwK!MluaJzXhkj<5Pnh)OH7zRr_O!WeN4&6jSm;ZNg=w& zoO?Y!sKs``n)aCS9@;rS*pjpc6DB{;vi4Av2Vu%2c}{3RrJh7toj4s#wZ?DS&@t=7jBXzz%)UfJJGAEn3YZxrHedPBzfF2~ueFYY=lz~n0K zRgp4_XOmR(x~d2!PG)YJP4f6`5J-shv9xTcqZ{N^2)+ zhxJ4Gso#rIIonW`WBIPJ0flkxHxRjF&KB3`;s^-@$2c`hY0D4=Z}!$c{2nVm)uJsF zkqjTxMc9`a>-T*l-aR5YOipAZ1`!$v;2Fr78SLV9IPK9h6vz6J^Dv8yNrU}Zjd(Jhkn^U?q>)Z!ASQ-J)^DC!ZZ_sz?*tT|Ds$5$L7EIIGF~wUWa}Oc^E@Gq! zbOv(U%0c7t&O@}a!LF$f^6QDv(=poVtwN2#2jNCMAzdA@g;?ev@aK-RyQ<^Y6Q5*U zaW3+}4jLZ)(%)n|UcBKD2=t$1!~eK~@Y1NF|3n@%XZ&$P-yDriu~o63E&=Z0Z`KJ`Co^3Zo0U=Bx7wkKk%T`i1+qN5!BjmtBv=`un^k?7NGmWRcGgq z=qoRb#}6oeXhHKU$==>-ikn~G3e1W#V^_w6Cx)$-n)@(=&6oSnaBL5TF$FoX3e_{m z%Hi@Z!wXKK8!$rmRS3+FuMhf=$(RV4siM2S0FGZ^1vg?>#td26s4w(eU-KVg1Q_`saY%Es^qH>T@Pj`w4(iotm6C)N zo5tY@J-8Ljulot%-AV}Io&i~<8_>uT;q7vW)9^rIOd{U0mKcu;z%Yb#eJJ)-E#c|G zCYwm)JynzuA@)m;mWMTUgfPFK3gd#cH0MTA!XX^Qt-xmaDU98%+uk@{5@Mc zHU2S;{V@Lsua=jD=ci13Faon`nZ|w`KCY@vXY}K3lTV_+&5f`JI>|>;3|DOIm@P)w zhVolr7W;BY3vDwRaWvce*@z>jr>ee~oV}i{$6@SCny=uPY((oJEkdN`NVAPgx17es z<+Ut&w2vGM-COqds@SxK?&@Vxbva~?A^=Jkk}FoFd%ZlibpeMV->g$e#OcDc^kF4> zffk2$y9O}e2d;^yz=z*lo(h3xBod?XmA%goSz7$CZZ{%ltJ5)-NH#Bnq{-5ljp9C3 zom!p@gi0%aeoju>aDj2vd7OV=$87jhPd1eOVs5$L{1R)iXmrz> z`@DSO=Zi4XSC_p^*V2D8*mYoP0+${x7wv>rIV7Q6X=7}7)2YE>}+>ELpV_aO7kPhzD!%mgBx3%Bp& z=G#{eqWw62)Lp7V>YU7QP@QLZC!=Wntd-VW#i_`LgHk4*>D$QH*!O@j){hBXQ+to| zONXNo@sqgZ*DN>)@cy&O>FstPW0e9ik;190-tO&hmf{vq73ISRM*^-wjy$ZDB-=0Z4BY|I%@a{ zlgc3N$hl4jVY$SW%IJxSSPx{4jJ)L5V={oXRNoLSpV3Lf?rfGpO`a_EQ>TGjx{f`E z)WO5&=~eU#UCFzP_8a64{ODlO8lRZmj_jB>4$V3c@3EsOHu%6&1)p_LKSUZaCs^9c zcY9ZfD_-f}Y;;fJW?S)>m+vy8+X{&Yr^hH+E3YGFApyr&<+X)nWKgK|Fl#)Hs)l(E@ zYcJSKxU;G{pV!n)%;qq(XE)NZTv^7JB2d#snSk+hCCtI|F*1dhw#nQ5@#9}ITreGE zc%bTTHsxa3Ipe1D;rGV;f_8BC$(CB@s1Toind^2xy~)rLO+YLsYTC89LbPBv(goR0 ze4od7qdWO%fyI}Fe?p4m%ve#C5>W z+vtEsomsBUi=SBcE~Y(>eh+tr`r7niqes1O+3I#G(4c_PF0Qz7>LS>DYYWUxPAYYd z$g_WmRO&|20?u4EKj74&aTfkw;p9;-jDg+QA!x5NOMutem&Yf5bvb9m{kiE$yeod` zT<^t-nbLh%oc{fYvP2_PjQ`JDi7)c2NW)#0DMdNnf$`ZA-T%RXF!bAj;D+-%oJjy; z`P{>VPV)YQc!p0l_{TT##!-4O$c*&!AECln^B+P5(U!BOR3lWzYQ3z%r2iBu4m=~j z{}3vbq@q}overujRvhXpS$nGapI)o6CdT#`7Csrr-yilKs2Dl(E+E~U%3Jaxz0Q;m z2vjpqkkm~ig;Mnzv*;h8Qklw`Q=B_n3xIAtJMr^p)W=8Ze-Vy#31iT<-rSSj*irPL z$T|C0w-?i4J^#6U20Q=vU%M3T@t5V!A3~1>wWP$_`k!Dq>gZ|jYc@{Ndx3LVpUUAE z^w?efY4}9rPiR{0`Kh&K$mFK|)&!%w244kR#W@e3?f}bHt2RT+zC7}IWgk~! zvwPcoOn}=%DG6dRIvgr7ae|)LmTqX?f^pfE#veEpyDbEEdRtCSDrryS@Qr^%HLEk? zB!u9`7^#bxKli6qR<{P^1ic+MbCxNpIln1Qv1!X(eSsF}^_srYJz@GvZP~9(F)H~9 zGm%jw8(`v3Nl9>{kjj}LGd-x<%>0co6Kzh#9)!T+_&R!q(Qt zhGDg`6T5rpxv}m^nj9}|XkDa28Oqq~?!aG|{AsHa)Z=m5aN%FFJ0+%UB$;F4szYWm z3N@BQmuG@SD}9=N9oN{;Xcq#>g*iA@h=4D6O4-*K1GPAfoR8fR((t;Z!7c+ooo`q8 zHh70gcxmXDry!&+Y9jw)g~szw*ONTimPZ<%mLm8PyR6OS8iteiK9HE73J$yv5;^av z+K!%PKLbz9wA1%BF2E85L}Rfj=&f1DSO)^!M~~Yw-TML@2L z3oX*>kjo}J@j?ZS;1kKnz!fD;TNy}s{-*N;94g%1$^<0I*E?EX96dyKCmuw*$wB)v zi9(Ya4Y3(Hg36RYEYzC#zo8j)z>}96zv0xT$oe9#PhR2jFxY}e@*>-plO@63EWfbM z&aVTMeCR`_p-kTUo6RhWAzA%jZ02vFGSq0hXyE@XRKnFf4OuDBazHArBQrq859`n# z90ntY2mT=tz|1K~gEDR&VYc88SW5!caz^958Q;U>K+vK>geJ{wk5D4=IDEGt>f|`C zVf>ghhbrc!V6=MNnMA7zNK7nKo5K^j-Q77aNNT%#aG#RlQlg;<-8pe7bH{Na4VTN8 z5pyYiZr`nklY-n~;pf0w7X8D!P~C^nPZE}1}4yU!Hpwp8awUe`NTjugl#ra=AjgIwN z-B*gkH56v9oZ4qqFbilFZsi!$S!Zz}p}o#TMocp)jll%X5rNTa znA2=;QA$oH95vazk#QORc7CqYs6q}(aqNBsC?{JJPK%yB;oh^9SK$wf$D&>=)Cx_z z5OlC#^i1MkWRDaj7|($HVWD{w8e;SMW!82?J?yF$NGD7o;E)}#4qO%41KG8fH5vA* zOsJQk*Z{cJ!8$(G8g)p;s1228l}hD2#AMH*Kl1tSPz46J&-XTm4-aYz zG>v?DbTEEdRm>x1*jne8*|mN0$u5-BQi6|Ma3LRBNLGByo>ybx2P`ZtI9wsC)9=$? z55H%8(OG|`ApNPC(`(vtVmSher1wW)51qE1Lhw=mfbZDWj z83@Hclz!Rf<1+K@)3_d-!l?q{r#Zw1V3_n+Bpzb}LOJP9YUss6LMGH+*4*BMJ)i)` z5#3z1BB0`~l5uM0cpk`| z#>R)pxo~slpNhU>CSR40N%y93MN1wP+W9%YJ&_3T(^~`<2b1Ufa9-Jpl-t@DjOrtey>Q7^Apg!LKrTl8xQ zkq;chBL5KF)-aZb4tjQouO;KHOT~mic2t4opNY#|hX}EpV*%>eLZg)nz=Ilpre;gD zeY{0%(9%6gw$(X0Y3+2tM^)C-Bj<@6b#~WwJDv9|3>dIOVEYDTczuYjtI1@qq1)cC z@dMlIgAv6t!YVOVNQf;QDwOTu09gxz$ISZJdtl(Mj(}a9A2iIL%xsTFZsKs(E&@i zy?NxaT_K=b_$j;g@7!NG(@ z^7<~rjx&g%NdK?nJcNilyk`T)?^h#`?}91IAREVMv6xK3_;S$!(-n*bc?UB*$3Y_g z8sL}P*0}N~YAnW;y}m{vsE}+t_%O5+Vu770 z0()8E&=*7kJw+`5j~EHGt%U=DU%Z%J1Sf$g-GMfU&(u^DYSj-%_Qaz+XI$% zmLpJarp)L2S^h=wWlW?JFxcX66iM6b>fWDl4qL?jy?+7xtqCLf?D2Z-6H1o*>aWtI z##pYj}ju@BIsR%BZxz@gH#Wk|_W1YySmDG>yuItu$0Kt?O}?4} z&D*)(J{|?M<(dM`VWG*a47ps+G#VVv_nxi8mdO3>f<}rWXX^9H+6c!_C%* z-yCqgvrnfxt_E!%xXMIzD>?m`)h6wr%dhkBRDXzX`y{S_4$cq0wQAes34`R6yUs~; zG!G*(*mX&ae=>oj$?k@}>4q$hu9HV1^N`@tMJS-4qAGKb;$emQp_`#5^R=HgS2m(v4`2Z1xLKD~KSW%U@026xznzqs^= zfaFVr_3nDLPCtARF!ofKrOUx^Ta(ch<1AV!RvgX;d@YAJLG(nzX-nPc44_ z?CGNG-`}16Lr!C@X*beVS8X=NU{Lx372!%d#Lw^v@5` zs|_g==rFrZBTMJJ9IaQW8^VH+jfpIL+c09o+sUFry%wgALH;r1UU}9Rp`2 zTdJC5@XTPZ!{4Uuk6H*`vN;{MxBl94@?VtB z3Usp;h~!P~t@UUFKw+*&ReoI=XA!DkZoLp?nc-=f&WcdLF&M zhq&NN!!tjjXTYTS%e*x&muXdCCX=_!fWM0476yGCoDxg5jSCbDW6+7@E|cL+utkyO zQi04GXj5GI(|Ki=b3~U(-w)WLp^&=QDZZb;UV9u@-`;(HU;51N&-?KGgj$oQ~-@N3OsXafgVq9?HjYy+y(ex3_QkC^(n{YQQHx>Vo4 z4xkK(ymzf2u)hddm;Q6I_t+ZUDvn5p)^lSjrBtJSves7nMI2G?lxRRtSlhqq!&g(< zOix-Y;ZJn^ak4KDv1EMkYQQ1`jpWjKS+Y?8fVyYY$c#;@450g?JS4Sh*Evmq~LJola4nsp#Yr?o$AARzm`c|y|ZzFwB~n+D2wkn9s|gq&zXa z1m(HqWV>4W&4n>UhS*|q%vGgT9{n-MU=hA<4CXhhTINAM!YlEJ365de+~>Kfbb8G6 zk%UFVs^!jlKj?+-ZT^`;%p`VyCoYvAt8HOSkCD=ZoEAS|lxL;VKWg@oqp{hv+_a8* z&p^i+<7WoRY|f03FqqcD(5na&-a{;JXTHKk43AW5yf(3#qztO2W*`MKSwOc`sI+ux z8nVtD%=k8Fz|I(fGFFip0=f%)UJ23VDa#lqmIjwIPuk_shp}X2B?yCL*=u~1X3NSD zot<13W~Y7JGQVo4F|O6kp>w^u5riqUp%<4{?2_^%LvwWMF89|vI>!vs@#1Qv(qDg0 z6uYQ{CT}=J{!l|Njen!vSb7&a10YUzR~6;{C^R(koz2M$5;j0T1{rHPxZSeajh|XB z0xNAF=NctS#`5n=^!uZ1i*SK2WvWt<^iakf)W-w_FuiPonDIWI`Ro)5PI;gcg zZB>b7LNjAoF}0sJ9(5U`gLL(IeyD6emj;t0xIhe&QHc?1l13nG?2vPC{t*p zAfCTr2FjrgWA!qE-Zm#=Mc-Sl zeYw`GUZ)-}Tb1oT9hMmdZaT)yMz1L=8$6!MhOA-*3F5QFvsu)1wy z8%*v{QNhs)gX%djVH{vuHXy<_dcS|VrY2eE%M*wMGU4n2`kWFZ9M_7VEcYVKV2Av1}-PAjn234rzV z1TLM3G`bFGxoY}sqB3FtC<*IU-$>dreON21b8#i0Mh~EL63p&se_le@`TMT`2R?CW z!6!)UJe_4|CUnv;Iz&xfGTs75LMwZ=?Xz{S5L3L-5hU|`fKP>`1{irYmSN zsxKtk&(MDfbd9Gfimq<8NHaqOjGe|G$#C(kgIN+Iv=bCvWFf7n?uF*kLdlaFiJ;D! z`ueL9f4y7<5&w9?U{c=Owwk09mtlpel$=Oludi z*XTO700=I=+lcMg|Am#t!Zm!b5@q0^LM@hOqW^`{VjV_z5M!$UUXphj>oBKzp9UV0 zB0{Hrv2L8ccM^7?vhLjvuWU3LyrKP~_O+A{m&bReKDQZT(zPy{=3L-zKX)o2(Gv;w ziX0YNSJJc=&#jL1Mf#Zt>r$MFF^mKx#LQFR=8^ROarWj>N$-94_m@#XR6tamL2;gE zEi(jEG&LMEwZf^?%(Tp`tN;;lDjc&iL$kCrGqbYs;5-+amX(#7m5oPj@-!TuZ=L&o z*7dut-~Ft6J^%CPm-X3e@BM!5DB|OIPjcpWeY<@%>W@M4*bk0E@~6j&J-A-W#chSD zM16(0<$2hh*rD8{;OBVFb-pUWN!aA1XpGiDmw_moL!t1S>JQr<=cO1TR5meE-R85R z9p`dtq>UeuXLAi85f3zCN82<+P@QPt94YNcbGbcK-d-jK zZ)}fhh;C`xs>2?Cyn-}*_v}L<{rgO(8zwnyKW6XYA8l_o!m{N;RDM)Jou=HsT~&kj zlEiUP42W(F!Lcx5K;)Vh>E1i%AtWhS8e9U}y4LdSlm5soFjn72fTH`*CES z`4min=lfX=81C8xEAswZZBIKBXEM(^^_G# zqm>VQ`*+w7NA2B=Khlx%%kA7G8kVa=G0iul47Jki`CTGwlrBu&pdO8`iM) zqqS_mSPID}pq1R*;+7YA?Jj8qx5nV@{;T$KspB@WvPHC3Q^G1$XNhJw7aW}%+V#lk zZZl4(eW6khMOyT zmNo7I%MPPvWKX$cYT|pb$DBPN9yX)1zz+8MQIx#xCgy^>@^kSXf!aO}fh*^8GurF8 zZ9%FQA~<%YR~6zb>$2bkqY>Ir?|JxdUP!g`Ia#(|D5{i4f^^}yM0WGV-13dFH6Fxt zetsys*jF16$W!GzM!O`?!%WZ8A6`DWKB4 zX!cjXsH;ezlD7mMR9L|R1>SF0>^5g1OXE@(s0*FA-o8C6ucj>V!gbS+g z@c3$^t?`?%AqQ~>t=D->Yz;RUh0l9b*zFGJQEn~B>XUOJ?ewE2RB}WjUqwFFDMCv2 zw0jUdf>14YwrI6_Fa+7G{g`b>C+(F!yi5v|2f=2>#q$EIKJxO8R?6dvV!Ha~cd3!N~Ou+-B zr26Y%+uK;9TMatyl5yT8E$Ypa7NqpoHjnfjx=Zsr#68Y@AE*XNU5s%fI9E%jBI((x zQ2Mm2Jh5AbO~WS z)UKK_6{6!mEwbP=s}O(CHKtOuaE8$;efX}_<@B!%W+euD#n~Si#i5pdiUS}S)2iu5 za+qO?S%;e^-yO@qfeLZojjSv(DNf*Oo(fi*SSpAa59YinkizYxO^QYKWU9j5711X) z+j=}zfD6nZum!;>TniJnnudZNMA_Kf3pUq2M}alM>5W3^018dyB4X{7GJ>U0b7fYJ z405>F*9PO+cM2!q^gCgwWoLL2wBxV(Pc2`eoHx9>zP4F{{Sbt=SWxA zX-lQiHDTu$%l0r)R@pd&vE@$cy{;Fm@N0wdHM7SA_IV6yv3%q#RAn0(iq~itv8|zM zkosqKH46po3aFmg1my?iE~8Q_^np_;`g)U6Y#f!L9&!=m5T2Tw^4s#73yr7Wi3|%S z>!7nuQ=&(wC}L7f!V+1dw^~)-tFrIHkrK0pttBC~FcAu153OaFi`14LD#D zKyyDr5ly; z!<5*DrZ}e8F59B=1A=TeS(Gl^LR=V-A}sv{$^{&xU1B>XRQLsZb9$!n0%ZWz z171jHAsVW&Q4)b|64+7yrS!O+xD@L$6RkNFJ;Mc4ew5tGQi$sFdXL<_MTM!E({gJ` zInE%S%}uK_Az0Gk*piy(^252$_dvHpV|zBmm8S{9MM`>ka@6{$fjVxd5{+`od{fM_ z%BK0n(n9MTn~cB&OiUxsu^u%%>=uVQlU zMjC(J+KkES@ADXM>o@50mkhM@-WyTpC_wte2^x7F%mF0`2=8NBkCFv0!82pfYJnu( zYi32aR1uzFqk|7b0)H5x;b_g+e@k@CTYtA* zu~a;AYXjv_^!#zc^QoQ-?^6_re%08aU$t*G(%aY-%iP?f3e~R2U9GP4b-8MX&e92V z-IL=US0?zX)DcJA7oOVN8@ugVF77bJLOooYVflyb5I$qB3Z>4-2Ol;RCXoU_;2csf z0|04o(TxW(oKQc-xzD?%6fbZPjdpmz2`eC$nd5j zLQurV`U#5Z)>mlnP#p*KXJ__BvPv}$dZqUpKZ<>n<7t=b)$KD?G9}3QrPQ`i~1~oGA4u?#?OX(L~s=!eUyi`V?jap90%N& zV&`MD3^THvml74D6kO}ELqOIfZl_J3f;q}#OpJA@5IBppBE(o89^fbz6A`rjm!ct65|mbS|>L z<@DeY>zIK`@12s)91XK77pip(Ggn#31(GmtcqaUceZskHBh2O0^WnM2y~<1-HXlj^ zG0MMX+|{RodVf-p-KR$h_dKaAF$(&<|NXk{+WL{}^BjW>@A9)Z&&>?O7&I=|bzwH7 ztXE;{#6QX9UsGXjZ+uowrCiwbP)?%Tbs~S*a^tOt(qX$y+Ptg0P|0XxWzxF)18qCs zmcO$G4C5-I;V9VFLM0_;5ph_ke3@kZPTIAgYpwxKJGI{z}m^pg( z0>vGABOM#=_I`%YR2p^dO=Y*Lb$D{yF1v}*UbA8Nr~uoLa;jJ3aaRlpvVaP8kAeo{ z)&e2JF~gQsVKKwX3}48gV^QUNyXDLh4^9Y9i5ZqNLIo;V?f)Uka+oA8fXvF+&VG4i zj-Ee-p%vh1H*UY+u5rI>Moz_z-8rmim4fegD4yg(3@6P4!6|Gqx*MLsj_KD3s+IaU zMuTcfzb~@}fyfApK@mB%?fEur4tUj`_KuWAzEyAyVR$g3XtPGUF$kYMz@j4%IW0UR zrMR0=4`jsD#T>PeE;7?9+E*r1I#^%C$LAJMvS@Cx%Pm5rf?o=h zDBWmf6j&Hf@Wf~59!`|%osO8uYoOi4d@^Gwj@S5F*rd7ln_r^ZbSeLnVGe=2K2CG& z5C4^Lf_@(L_E3$7BIxlAUVHsb&s)(&JR^TIv@76)yi>i+8i%T}-6ywv>%PBf^(?>| zHhU0zZ-^9=Wan?57pbh2gbVbjh*FIX3juDlbrd?M{s3oM9ujx*v16i-xf%R#W1tQPg;(1sg zQ!PEV^Ch|>j4`MiS0Ed5jHz6nM>zCJYkH9MrzRfcUXnf%nPJT6eQfiI{sx_+O7K!Q zp^mP37TH$hZJ5XvA3Gh$`Q~#x=fg!WHJjQIc}-jUU>3;w=X9CGh}u1f;jw|aXoV9g zTbtsf^X`m4T9VJ&FWN?&VtKSSe@ z5yD!sc5j#SQ6OBu!c~g~z?;R<^?FKs!cM82B6(>QSSUPEROA0}yNuin~?zK-b z+TWcS#swTW56n~*0`438JLb4bVzmC~W9Yo(K)TwJbPB3_jQg4q;iIGFZIk>K_^3GI zr7fnl@eHnJ3bz&9w|;bUv*Xn%zqrDWIpjjCD=#_KI6ab+s8_}bG(HdLAHxPto-otmGP||C5P+v)JWT4c&<$72{Pe+ z<*T3)Om;nmZ*zv}n%@&&w|TB6itkpN#{qsxbmfW^xVNksVI-kgDgWc$RRot}uSq>D ztMJ^yG`dPP*VOZ*`}mewJt7XB`@MGkSkvCm4V?XGwme~^`Pk>ic)y152Lt!PHPiDc zg$&kX^tmZxxMAbhfd{w0eZIg|XynMPnds2?(k$|8j8+?*=t*}t`FF#~<@-+S zp9O!(6b~C2n%-F7?`hvs`uW|r0XeA!8-Q2cj8h0~UXKBd!1NRbkwu2ME>BSq;DP`) zcFkj!&NRxwxYKw(<&h5G9c4bp-L@eDwz8l@p|!iqI8*%C)b;AsgnFoQm^7Rj&qXxm zF*S2#DT3 z-RaBbwXC?AO)Le`LGh?<3FW zW#6S#D`6`5e})L;v6pP79XAg3AUiPQdOXh2AS=C76Dm@a!jd<&Eg@`l9`w{`(Hhi1v z4(B%Q6<}^Jnm{}}<2vLNjk1@?0_i!QMtAbBzWq(n%w4bc*;98@NRm14i=F4*9{xtJ zL@X|h$Wz~sKlhH4;Nm=R_6|7vkWh?>doqse(ayzHtggSf%Ap(@FokUG+VFP?)I4R4 zI?K%AOoYwUY7GfQZ6e0Tnjay9Xw%keWJEZS;d`Rt<}|Ym9Lzxq1G6534Bl0$)|E2o z@=K&c+9qq(0d{cK3BH-BH9td^6_65XGGU@Gg-*adJS!sTQdm{30P2vvHl80)fea$? zmC7R3RkK*}P;#4p94gy3OnB{u@AGj8xRS0D5C7W$XYfTBy_B^wEauy19&Cj7m!`*&+nKhI7SM% zGF33@9Q?2H^A{2L{}LVB|8f!CGU4gJs`@k$Ze>F4ud04Fc+Ca*cNYGK4aCS9T zQG9j_l%F@t9{>5oEm$gaoHV1+vNJ?xxcCiADbb04Xas?Pg|Epuo_g(zS^r`lBC%28 z@AF)kssTZ#HM7|M3CtjDVt?4O`o%GqIo9ANE=B+%1X@sr5wp!KoAh}yOM6#R z3j&=jB?$2e1yOza0ZTL=^H6(uHl=bNm!+-aXx}9=s0x!4Q8O34NdavwZd!rX%DwmdOz#iRF zbb*eyn?-}c+U1jAMyqs> z*Q=V%j?Bi@&B;d-Bv`d>ef0~!U{Tz_KGlraNM9@m2U{4-o{dB(-GXyON4J85P^t>Q zrVzFV(&dPDD(-US(Jk#l@xj;*x+JC|;gsIMwx};!g|`B6^m)+3mo< z-AT+RUZpFjAh5?&W8n?qMc}oTxicsY$%h1c7)N4kOK25b)ZUjTcHX}Bvi79Ey`j~G zr{7eooj&=y$Z1Vs-BQPI>qh=O3+uBJlSbGYyqj9xYWJ;K(ybp!j+#-z5Mw2W8;#KD z5;1iYM-n>|5F=vQt?oNjwIgD3QRJVVUmi1R+^8|h?W+ozk0JfO$??$KzanUa+=b+M zrrzda;ip0?g?W84RmVoTk!^bL>v1#*IwCeS&{ME0qLYX0OK9u?e%Ue3vq>q9$Bi<4 zzLNovjl}KUvl(WBp@mTn{F%7R_RR_|Y@mImoEB$yExLF0G8cl?AF~F)Fc)zOSCA3L zQ4FBvIMm~F+gW{%@Jq;;@^~hXTEvEWN3x)_dP}{4+~;pg)v^K4Kod(!q-!+c2n%Od zPCc|W=@coXrHe{n7FtnCb#;S!^dDJMqe1(v2HZhttyW-iy3|ufgz-~)8WowI_Gfs? z<5ElDGDm1wj7KnUPAdfL$#Xc=Oy06NYN~{J?6w|M* ziCUx>q15|XeG{G$zZVZS`;?pf=i37$`td3)B%yVIm7!Z z4Pxp#d@3~KsOO(-M8z2j=JfR}C5=%YAhXV80qzX@N7;uwqfjWY{UI05I05xql?bD!8lQ`h@Kvi;Aaqg8MlFL=D$VD{Y_;0!KcG*|1cEVEe7neV z%AHWE3>2RETuP(Ojv@{w6KNe}g_d!DyeYz~-klyM3vwP{*7}NgFKYBw+&R=` za&%{2o=CM!I91(R8`3lA-%v2LCtY5$jg=JDfQ?vAQM}x^O;orsAm|rPQ6vIS7u@q~ z?U}#&Ja~aLcg8VRp^W3<^+aYLmqhXD5yN%rDa+`?H@k52#dVPcP zVH4Hf5+HlmsoDH>xbq1bKF2aPeaQ{8&+=>ly7ibB5vyCj-hv_${iLR<9Vg^&3f&kMIh~QZ)Cug7=FQycQaZ|R!aG-^Rt3&K+cb;bVLcHWc+bEAm36|g;nCgDhm!LKdA6SU=(r?o z`sG{i%TA51sB3K++!Bh!-1rgaxb@-k^@!#GE2&KEV>}}tLAKehS%VCepX_P7hYo#C5gG?6B=Lat2c0&{9rUZA9IZgu z)o=uyB|bsx3&JM8LIhrO#?kcg@4mggMI&~S>U!YjnbUUq#4NSi3UrfwtRRTJ6qgRR z4NbG7?a&m$1$K+X8*B;CKt>diu zgDz2ko;nX2iXS(l-0O48c*ID_$s3U!W)7a97@L+`*Ve9G3{@Sn0SqO;_5IWs-jYO2 z)jp?GzO}2!k&4tBe*u1>5{Ns7g0u}y1Zt&;`W2C9-IkL3ABLZ6O?HRrZrKGS($<~6 z4_t8cs%EuI+MJK8)N$tbJe!Xe=*uo&@WMfr3Rn+I)={28IM)WZ%2JEcZC*odzKdZ~ zSK(4KC+r3bVXOCt5_@Kp!iJ79#xc(LJkvO(DJA0G0H5-Y$M*UuS0`*cF5pJlIfExSf zW&zxQg4AH*-c@JOtYwfhI7ssXKM(R_#Oqi>0jPtZennkKs9y>lh&H8W(<%dL2!aMN zw#$cnU^xXUvPmmqDE<>|N`FP0)FP(VZFoupXqL_NDum6?$g8fNU6HThGB=fP^ZVct zGJg!#atYOtV|Dw-JQ$Gr?qdKC=--F!nPYW%5oc58IZ7j$LZwx&>-BIB16PNz<+iVeD$e0w*lOwuSh-x=cvg;gj1u6e!Bm8;E{IEjQ=)s&3ZUDZuk$-+2<< zx(I{hh$%`m)w3h8B`-BB&{xG@gCOnq#zwx-r*9>6<8N{o;e8f8IGWAM?RYt3$P%Zk zM0j(EZdewqZlYOP;44Rj2k>La2a-W9&C%f3J*1eMjZl+33>=|d!dli&02IJ=D3b(3 z`qwh(ep4CRDAwa!T{-TpRL zF=fMkS6bzE{Y|wK@z9EeFJjECRg;hJZ~5e#h0!{9V?l&hFwwu81sO6t+^M8TNEPUYG&@|rYU(-PwiYS`x+rQDWY*`GpM=@I01F~7>f2) zI+eTh*_&JhoYd5#fcJ_J0({RVxE!kO+lJR%&kT4jyu*<{sYH3-xrux`1*cDi^7VrI zUS;Yd`u=)JwMTn7Kbi+zel+Qx1v+m1_*gFc0aLLzE~70MNN-w*VsxO*G@V+nRS@%l z=+^2UOD*>!-#mCCD4vhgfa>u%Hk3`7Dry%dR#~JM1=G{Y8V1@t%=TW~XP|ycH78zR zw@5C;{57NHlI^*oLmYVP=yQ2LdPx=NP+j8)!XL>*k#GsV4MnrB87bUS8?C;jKAPcw z1RK`|!QWrXR!$nh8nI(^7V8ULrxxTND*OXYhzaatlLWymN|B2zt}|7h^Y}HIdGUe z6o1({`wMDT5pHAZd)Qk1GByCEsv4#sB2%1704SJI9?Y1|yrwf=st z>aGh0?`81faNcrjx;%XfZZaUltp>M}cBO&z0~tr3CqJXagS-~=rM!0G0>A!9INy#{u2v@gs zPd5{TQ5$iWMKZ9_J#hN(>9}D75Oh7_rk_H`hm!lu;4?GAF)}uen*`M3>axhyeVCES zHTGMY?u3Xh4;X73u4t$+xx4PtK)pxV8cpuK7F9{u<|n1yl`kx^%CB5{zvEb4rmb>u z^fJcO6lTJ%Z1jLc`=Xrs!+kq_|!N7!~kQ zo~g^^bLdfLe4%x=BKH%DkEJ!pP#=NjsRGF1C6x>^JSzxzk**;^YFLUTe=LNcjQ;A_ zb$h1;y^jm)EB-P`zJEY`?uzofwtT1r3Kkh z2E>-$m{4+9SqzIyZWq+4Q~?o{67+S%nR|8Y-@6WP=tryR*~<6NDBRl7;e$s*YyG$f z;z!QN?=F$Z_6++YaCPXBrp?2V=LtrNI<8v>JTG4_?LIgC8~;>*Giw6J-9x zu@cBG70*v~`T(m*(BCcpTx$EC9Ny_y&M7{F`{$Pbn$_QX5*YUm>;Dk7Z|)|QrdRea!I?eH> z+MtT`wH1o2*BEM47<&TA%qXhyT2ydXu^;H@aWa=u&SpXukCaH`@ln`EAYUc{kK9EqW8Y=kS2Z`Cq;L z;2-mX#;{o+$vhD(eKqc77cnV=j^C3AHRMshU$Lz2fp3@F)x+<(#^l&sxH-DU=GU%+ zMZ5JJS@4m?s?KhyR`#_n4;z)?BugCvd;*C;(+OyvH&^jfkM6gy_K!xFM!1fol;Ywq;wW=f|y$EAm~ z9$XODt3;BKnk8^414xrmWVnN3LbL|_G>)rBMRg%H({U@%+H7KLJQ@BMNac1Dn96E5 z%r3KKD*3jTU%T%;Y$}rzElObz^-i;U&aoT}aE2^&TIp;Chkxy5`OYT009e4GJug<2 zRQ>hRi;|uDQnUXn4IY0sC@q>}12c$O9&{UH~>&x_xq3NB;kR-D|ccZ;@@X}jVJbk8W8xTm1l>&vk@Z59<)ROm*k znh^GW-nXw<`1Fpl2v4xd6W|iI^Cs34Z{vU-b&8Uh)u)eXadWa~QTHw^25h>Cfi$}OG7s%SP zaH(W^*vY4G)H(1Ml!>4j{AvTZ^23y^p5}eTY_`X(RSQ8L_I;`)eYcEJQRE=4T*9@9 zVtb@CFTArR#CNubV9GSa^&>37$qBty9%>6mVETxgA3xP$H)D6v~p- z?H`r9Ytpp ziteztBxdD?PGfv-#d{V?JsgraWT&#%xTkH|MBi$%x&oj!2v9NXb~4p~Rg0X-D!Hvf ziF59tfhk}1Sn6*+W=+c3Gv}!x4%WvRP_}$ru%gnTZJ5|KYC!LYdo6xvv)$}8*Pqyx z-g5R*Bh7x$W%v=j#%&q90)dm@@8L)dQNqttyMo#0{a_MuKu1)n~8P&d)0ykl+Y9U5b2dlp5->W4W^> zws*a`VQE1AnRjiy(A1=OlZJ-}K2+>n{Uvpa*_zmaK*fH@grJyr6EW^{=<50zh}p(~ zv%pw+G>n?9s}YC{{6t6L8U%Xjs+(dWtCvj<%xCM@aNuj_`2@e$Sysusm##x}iL15n zIC|(2FyV4-biu<)My3$!5px*9I$v+W+ zBeq_hYN53@*YHZKPk&y?Qt(W|8I6Y-WVgVsplf8jV=F0VFGaek?ft;3J>F6t;}dKZ ze)?30aSx}d@_i1z>K=EpnaDNQ`tB!zLm(_rw!?gb9)?Yt>_0GxKZ zT{xd|`2JKr(Fw11gS)-(Pfc{u$-yPHl`@{0Po`*ZkaLgvQxBe(*0b%AH6Dn$dEWNv ze3&;x%f{04U4m4IsBYWTDOxzJE68{D>OZ})X(-b+OCv?aPrQ21-KKp%O^Y8xH(jyD zM6k2e?>p}^YXg@jS&G__=I#ft{C9&hz{&|%J#7!PEA0GHGXNp=s&ch}Hu;MmM0NXu zHKP@h;ZuJmQ$&->Yxi7G`lMENH`5sQFUynvBe}s86f>d!Y0LQj6F{v%%%#=W{0gA5 zM^Q!CqyIr}SW~K~yXeAL7&^*Ovq{FPoU180439}hHzSlZ?6=FbTs5S*qeuP`GoUSl z$WGp)#%1YmnH@;T2mS>S1+pypD}q(GhuEdvSPXpYu*KhQ&*DpTRd3-#gMScFZ5Qe1 z-}I$sO!;cNWy>IM5x>6Mf$ zIVI@#Uv7**BWyo6NBu(>NsCN=u&e0*-u=vq09%x%Bv3uG}ihJBW<4w)s(F#9H|sidSn zne0ebJkEm{>qh84x^J#|^Kl=f6bW{N5{#;1=8ksYT>v#2(mEK=#RbBx+u4L4WZ4Nw zCR==pvI`*8hIENxSeM#!Fsq)--+|LI-RB&*$}!k*QR5ekVTb^T!QD$RVq!0N1D85z z-oVuk4X#z#k7iHvOG~MY=AJG*_hQS_6h`dg$d+gO|2jMFw`v>LZjCuK7j)T6CioIQ z)LPWLAMfwH*7k-us8lrkL6)V00wm8W1O@Q|gtK^r{OvAiEq58|n$j+3bTb9m?y9xW zMc+|FF@xZ=xa~c`QC(WlTX?S0Tc7?EpfUI_pML17DDMGJTC|8FO8VumERkiTxX^2j z1nBE#aGwi~Luo>$DE1?6%mu{g-gC5mosITC)5iEMBQn`hRO_yqfLiXEQ@Tu0og4)2O;1+Xr({364A=kX$?5P~?XAJZjxR4bHU;MF< zj{D?B|9bq-z28#C4zk~(ilC%39qC^(gak zFN-CJi<{FI`_;B3>5CLht@eYt4NbttVVh)v-J={#0PAXRr7XLI0If4D6OTL0`a6$J zDK2j%6_ejs?`Ohu@i~34l0Ivm3zI_BH7fP22eAq$nr3STh*i)7S(ZZ5NuEdKWUT#$ zV}s6#yhDJfGi9t9=}?JN+7I5}1Py^K%RaBNcn|Wm452B!22%yLg|4Ay?NpDl+@@y9 zHtuk}`FW(ylh^(VMO1?kZjakxv+mg&0@q?c#KJUDf@J-1u7>}yO9wEu*p~&+72s*LE<6|(&Vu=%i|?t5r~GY< zr)XT$F(bmR(<@db5>vYPr$ZfbAZ=XwXx*5gLQ2)(@Z`1iaQA}kXd-zUH_3+Bvq4em zOlre=1V8jTlB2xMAaZ;r{60`Qej(i>GN81&K*+8pT&Rcs`S-kB*Ep9@OA7)(^n|H8 z1y@V%W-A`AHJ*hKCDOO}Ogwib3QoLeT!jmpmJh>v$X_xRx;@co9a%2_(khwnstuEu z2iG1|ABJtvsd)|Cv^1j_4m+Q`?s53Do*IpYoeksf5(+G-YDBC3_gldKcUY4CbxB<1 z2%*8DXGMV=RTK0~QuC@61vfWw8mpq4H}D$O2p@?8_bIbyXTNPHhlf$Lgj1t}%;_`5 zt57N|ptOigsdp1>=1#t8YhBT#%4iqZT2HRK>Ys7^$<3`or%GoKAk$S2OLA~1n6?0A z)-5SV!`24Xu)tN$y}aG9>If=uDGFTi=(Z4WKp50uPq(#@32Qd@%ebq2Q_{u$HYFd; z!4byvFiOQYXMMXm`XSs!D!c}{iFUQ`BIf}+56`tc=(4=ON1Xk&HRi<>-V)h^;s)L- z5E;);5mOCW)=ib0c{i6-VOW}>?X=L_V@73JL23eD6ah=^GP-{&)%0SAm)G@7#2yHsip>eRx6P6fBSIn-t}l7`sA_b(K!vu&8B0FKq*uqS_apM zM?HzAIoiCJ)j`+4aA+LNe73Kq>)XSm3Z{y)YLK-%&J3)xEbefCYxhrdSYF|1rY1#cLB!8r zKvPzhfB*4neQvIUunD`lHCk(uV|M3SQNf9zQ?F@SK{;Xz^C%lwnXxT>FT4IHF7!`_TZExG)#8PRh4WE z=q>bpeB?UDUi2~F`b$bQ&f^$rt7)=dr;NkREe&WHb0|c3I~bL>IL6 znMFzJYYZ)Jlb#Eq4@J*aA>t(;zzqr1=36KBZ34hOY?OAlMaN)nqzKQ|45*d--ou7! zLPNaeh~VK{j;@JhE)FCHdY?HOABdJK-}ZN^S7oHVyR4!QVciZ!WdD8MCQ`KbAZU`h zvT6!^zQqH-uiZ*Dr~;yuuQ*HIX;ut2RzUI-umUtphK%5U6*B-(XymIxz->HGPvB?` z#qUzU;)_g!rUiW=$)cW5T*$g0y>4yZ1f@ju8NK#Z?t*F67KfT@ktZ1T$EO)L0;T_5oA zNK|nRtAO2XgD!)}+~tZbh;&Se(ZTg~BP_Gw)_YJ7zX3c$iP=9Q_SE3k=;DHV&LFcB zagP!&Z4f_(FNk~O6IQDnqh&ZRJKzlW%M1GHETnArGz3TvoX+61bgM;Ne2~@lvwk$| zTKqQ8yH52o@Q`p5)mDx-0OxXUH@`Qd{c)kcWXSSx#*7OIQqY2!6KCj&@vR_r-AFX} zVIOdQ@^6n1H@;fp=HbKsHy8TsO!|y5!#du;`l+UsCAsXAvbrsr$(dySyQ*IL)V&YH zIY{Z<*}qWNibO<-OI#)pvL-W-@$S{1dwe+c8p%F2Wy#H6ilu81xS=@R%V{rl>m`t- z8XQ8OR85(&*1rAe1^NCpPo0+&*_!6YI4~VL7(hm$<)Ch={JR2U`{@tiECTVISctjE z!Dd@`{(NGIv5h4tE~CG8lAFX_kJ)P6ewMqw;zg>v7Dqulx+s#VuU2ooMw3(|A6W}k z8xi${Ru$#NRZd&jqq)vW7v;Btyr!`U51mR5WNTmNre+o+GVP`cf{MCrD6!LMC0V_LT9JeS{-0LqPKM_v*conQ@JF|NK0U~axS z0g{=12C{`K9^S+JWgn$`ruojgZZ02M_KMgfb+nLqS7YDTF%X0ii&}2=@fxlNj5{JE z)SmiiAHUiwJdpQk8WUgn3Xh~ibTboAqTJ6aZNBb*T#Z7tt@_BHH)jsT%eo^;(R z#_7g$sh$=h^nM!TI|Z$DT9ftq%KH4STiq$XHj$x-mJnXrF6B)MlOer{;-+Nfh5_d~ zGRqx94X7qGHpAv-=H+@pH32b>PY2Q6`;q*n{r5V|^QzZ5!2x1-1H>xhVk=+_C63AJ z%rd9tZ`|o16{?8dQwQZ|!W>n*ftk&Rr`OBE&!o!v|XQeE1(2>Z#%VP52r!@s0Z;@`2NElMb%f znmJB3X>=#`MQqe1D^lKgh;UO9#I6;BMvek)UGKHw_Hn3ph4F@IAGNlh{BE$PL`7{5hK1CU-M>y2mC_3ENQ=eIxu^s7hXR%xjOki**hXXc>iLH77ajg)X ziOVay`s0=PAAhR0;djp9yY@k^xyX*(N$q;bf6ZQw`Bx03{r}yw0IMYb9l-qC&DOsM zFh<&LV_^$J)qpxBy_oa{t8PSA7?^}!svkMUDly$KP?I&^bi>i!QW|Q*v8;$84Xfj=jGuHeulEg=c?oVOE&~UK>mll^#t8 zy?WOUQ>5KKfcSDA|B$yC7KUO&PHc(Tvl!N=%&AJaH`!K57`lFWYrBpsM>^FmIVNyc zOthJMj{d;k>-Lv*MQov!PkNI;pGxDd>ls#ao-@7n_^R=(jDQ^_b^R3^lFv0S=WXH9 zUhi30v^Q#A|Mc~q$%>;FiRM0ewvzj(A8aF984ze5jWfonVmz;s0!GFC@dgLF}3 z7zimQ2N&4vKB$k_JH3V<&?n;%l{}rJveh=XO{;3o$<>Gy)1z|Lp_jRO!Wa^rlYjJ` zDi<3=jb`Rr`?mE`Z2)7OP6WHz(=ZAL4n*02WCtpQ(-sS8!`Wz+?-y<2u*)iGOmJM+ zT?`)egM1|AN&u;ZI*|ZZL-^sP$01!NxL>p+9*ywB+5_V_QX5b$O9A?oe8(lN(jcEJ+%>9_pg-pEaHE%_M?ced>c9>TA*utPH)qG}<9FS?_ z35+LI^Jx!}Y=MC)29iU2UjBBC!Rw~SO_;EreXv_4WLj4Gv;B!jbG`A z^}fHRR4Vr#iLhdmBjm)wV@)1^Biub}i-h7If0!Tagz9?(I2o@Bp##IphR$bT#kC;dCgo@2@voXcXhQ zwJ@wVcX9?4K4&DNk8@N}xeD|k-v zv6&P3G+~PqlNqHp2O18`6#YPlZCA~dIQrb=N&*-vDUl3xzp6e}?r`;8bVyYCT^I^KjYF^T5{7X+@XKCL^#pa|@ z13MN~*eB-KqMa3`2Mq zdYh2$9EH=fH({!=dmkyQTxSn~J0d`z)*TgOix6xqWd?~h0|PX_nDBN5g@`jWdmOO6 zO38PHdFP#>*U0bncEG!|I$SYs8K8%jz+V+~ARe4W?g#BZ_}Pxt-c#3jGs@_D3=w_b z9zT1J|A(^oaA<1X_O)j!AqkL#0HKqN2+Jii$4Q;!a%qoU`{i``qt-|HM1SJH~H3&qTDInQX}- z#a;10NlaTchZEpWz_Prl^K_KQ`FmVbiwdb08X)^90dZ7Xp-T%5<5*|hPmA@|r>h@l ziws2bXK0jYLaUL0X2}>A>+BNv8~s(1V>1A1T&f8I21+m$SQ_D`lk1~O0?y;~c_;~% zzQ(Qv=kqMeFq0smwq9+)<^&pQ=ljE=YPemHa5}X&L`MJlQ)l=_a23>rRXiS#rSPp_TFH{9((*QK><$~hC3XfNn2)&H&1{3 z*bB+K3@edVrVM9nz|i;Xry$4Xx`7A>0GcA~e$t&C9&uZ(rqY#B=ARjulYOIecwpB$s@~=(}zpw#{R{M;ilfq#*J`%X~Q%6aSs>R`UjQYbzwi+byvcjY*NwwoF zEoWj#f#oXdDQHgu7a}~K(xdh(r7+V;taWZZ=UcBdFFH2dNGqATTvulG^9Y(|%Gao1 znQ+S>MHl2Gy1qs*mGeZ-Ah!2ZS^ZL94Eom5yn@c6Eh+cOHNX&_W)B-gI{AnzN+ipH zs^cS1S7_tATAWMFITOY3viCz6?C1IiNakiJZYr@JFYtO1yTXxEgVQ?^Qt@HtH7w}o z{-UT5Ab{FO9vGIqj}6hd?o9Zjmipj~YvWNYiEDa&39WUY?gGSgl)sxpRZoITRHrp| z>=BC+Z5K(o@^}qM&|G=C;jA&~A+f_qBY&PlWoTZ*U!!`1x|o$CoDVyW@6BM(IV^l| za~jgVfLyjKgqp9pQ#0;#`R46?y*6=e23stY3yEY{9o0+st-az z6QfP7gRktU8bihlErV}e`g3B$Gb3wUadur{GWMa@L34i6(`pS}>!a*#Ppi!gcXr3# zhpIi!#A|x^zV%ouYy@OJU6vw(NYW}w?BK2!LLL6ng{#uA*Hoo;Z?3e$VkTc#otzKZ z!EdF7_nurfn5u@Sz!|j4R|gql6K0F$;Cvp3bd8A4aFOra6*v=_906++iClS zZVoU=HKA{Tri%5f4O(2Z5x1Rs=fj66ppLVMI3itP@-johUtSji>>Z~H(I1KJ>EH@% zMF~DUpbCC?L+slPcvmFQab#U=P5LhQ36`q~gnB_i;Q?}LcGw;P6a%GHyc8HvIWC-# z36Y8j!z8z=x$^VdPA_;$0F7Xja-O zo`YZT@TmR`!?AtELg0 zz{-eeHxin_;1@d|FSs!+$uZohBq$uqD}X4l z)*Y)%eP7Ry6FyH?g&oEji7|z)CYhkbEqJnz__6tm{g;i+Z%IWtH_u{jZnQz3pcC{G zsz1xXgu#1R;8JaSs8blXmc7q^Jt;G6c4G@aA#VG4PAuIE%@&f$pvU7I%u>A!#3Z}yCS`ra8|-{Doq1)HOTkyN41Bv9&n z_h(jsvNiQj{SombZo_!18Rh}`W#YJjJf@wa@t!s&o{M^t83Yq2OPXXg0b{zRN?atQ zY50^9&Ro8g-_F9)D@xtRG75|~yiKDAmKM$KPimE8h!%@yPHCKyWDEH(^|x;30cZN5 zi;Q1u3EflqSl6Oae9Z`+{#hhjuShj`J)ILhO4Hie7)7q}DKmN_=vq>Tw3$0)*#Q|b zq;xXb2Q_caWDa*ZLhs6ijB~OqXN{1jEgwwNem;!83SD*XhI)&_+RU|69e>9yt_TX8 z7`Vz{^&oVChwuO0w)NjO6#p?jxE=GZAR`@7!mZOUxJ9ejP8*Vp%!x;lfG-@zq4!f; z4GP87U6m4vU;?p7eqYUjbv7q}HH$U1S5Xg+w>o!3wC;wy6EhKS@GndW^N@)r%d#Zu zZ7fuak3ua$C4Yh3bf+lP+Ye#Eb3uS&5(%mG9WQdT0DQ&NP%Lti$x&wB5pSkJ5BNHc zfC8X&CQE`;8%gTEX_US%YB`1$>l|e0p1$|v($Xy=Cv!3dMj4HL=P0{|_E`kr$pM3^?7gI!{yuBB17 zhH~yf`j2O=r!>vvMa>HBLcjaY!-+tQJl(1mP?vbNRO+3B?aN}Jr6$U0 zlj(N>k3ux(L#t~<99{DMF=osCCk4B(@5p4N#C+KDSTZXkSj&f6s;jK@wArfdn@e@p z0M*c~l8K%`jEhEQwV3(-ZP}B@*7hFPa0T#93;7%>v&t%2nTx_n4V-7v9Mo3Et-iVq z*UfU{73AZ$1cV!1C~?hEjV!4?Rz6I*J57&l)rgUm>-IqL&11p1;oS03m)Bnzn z8xD+xu+1G6>ZG-YpE$pCo*KTrdwG}WpF9=I|33!=|43*S{QFSDK`7Lq{$L!RPdzb> zR1Q`}9jB%gr$l7FIdWlb((~)VJq=aA5}Ia|gz_b!{KrqXoYgQS(lzN*hMwPE)VpS2 zJD*A{j-CzaJ4QR_aB;|jHZamnZQTv~oG#w+rRrXNVYl$ZvE8sx8^95D!KuLPfV#t}q(9IfgL6OOVL9vO(I+0rX@1K)W_`ni7iCVOffSFx*w^gEWu)KWEe6Otvy z!=APxC@w0lH$a*JdTm|fh@iIKnK&b6BT~*G!s6&svYBtaOV-UAiVF}fv-7~ZVFp6c z!U%0e9`$E4BrsRdRmj*_ZA?KJvIfgJh-pc~rz5pR=petk&O>1`3QtF<5_f}_3h&W5 z7KNoU9sfG99Jv8Qb|JIvCzaq{qyea&=tU9{eUqA903>OO0|ZmVV;tKFmXN$oICo(} znK~n|@PbZH7B@VO0sN4&!`TKG3P_4yIF@R-4;xBjj{Tk0axSO8O&YjevHDYU&N_eNVgXFfdM9Y4Q1n-is8?!AGl{M*JqTY#-U*@1>;6+H&c8 zf}zy|vJf(MXmXqNwvb7Ncw96+fsPN0IA}u=2Cy|v7|t!d4heDbT;NFqy_{~2o)A+W z)J%sNkA}=h7sAFSJG!121$NTSP8orY&J{G3Q=zXuK!+)65*Wz~NPrz&$G5LML>8)a zgw;TS)kDZ8gyCh;ocCO5A%wi=J2nAPXW|;^@U82GNA7gc#`TiWAk=s~1G}u&P-gw2 zIY(bd+jIOY2>=D|fP^kgib7)a7E24?oXcE=?XM7{YEUK#*upDN>$PD8qr#cUt+cSo&jnNI?L!|ql@BR_QZQDe^SLEYq zt2< zK?dk0<7XfXGWZ0f_PWZG-;rU`*&p~lD2rj3&1Fy`py6=&twx$11q<;O`{?ex3SHkD z_LNXZ(<+bocXY(m%3fH_LF1^uh??w)P$7H-re(mc48g1liDPX*&B`xRx3LhvsgHz` zrBo#PB#YrSPz;ta3+A(l88B6-&M9W4)(%@+7=^5pJJHb_n3u)iy!5E4>^OqY%3+e- zy{HA*(PI)~V7G^2C>A2Kn_>ir}-7+u03bdH+;ly zqJotHwG1c6QZ?f}csbpDQNONg&)A=J|NnDUdpnX{K`qAt=4|y@*TB*G#2GK6HI`kv zi}(Y7XNP(6L6m zdS)SD^tE#P>j}P9;Z%h~5)-#FA8r1#q#O}Xc13jvGqA|Aau!@`Wi$FG3anJq0F3G= zsm0i_a(iRJ>UeDtWAPg`NeMrlRq8JQJ^V)|CJK^&5g%g?0oreyC?0Zk&oP+6)QZP53PNel4xT7k~1m;a6 zS#J*OZiee`Pv#JTRmBfIjJd7zn_5qGm12Vpw(|Ki;;X)9X$|%fa&P3|5(w31 zFz6`v@C&0BvXrG^aT!fftzLH>WX2yo7I|s7S0HUm!RAzXFb%0*yF?b>#(LPc(nJ4f z`1|6|>Ngc3-#Qn&S|3nngVepds7tqDpxmaZ4JJb8ZeyEOT(Pm;X_`jR1R`%A0lo5R z*vddn^cVAZ{I(Jr5Xp3P{49F4N`{yvI@j>hx7ep)!Vi-obp@1joM-m!6yn*)G@HFT zL$8cp@|TbE9O{S^8wQTZEkf+D?b|5kQ||4@C>#v_9DlR&s{hOblg5=11e>@=8aMhc zg2>Vv4t}jI&cjHKT&^COB5XlS@)mO0DBq%PYVfx62esKghc_Rfo^4EBV^I_!MNXYm zPj;m1umcB-8~s+1xcD$ou3eCiGQfCY16XBS%7dtu!YVKZ?A*Q^&{#L_2MCMd{FEAq z=z+m`30$>>CA1SiAA>O=pLV`k3cN(~wC@gxEn=>1M|1L@lfFyQiz@e=$vK z0Cmhgpy`oKxmZ;CEH8bFz!23B(+#Obo9PKw@z@Vja|~Z@GDrse6d%Nj_)*KZ-$D5E zgfRAT!}}%}JL}7t0A7Alc;KqO_E~&_{g_@4G-j0b;-dyy-@!u-Qckb@R@cim51N0G z-E=a?y|L`W%NnEm@@?O)KH7Km;Apx7T!oFAl~8}Xd~LY<&il3aza~!na~9%%4Px@4 zo+apijydL*8f_WyrN&rld>F8t@*@%3NHm=T(f#)^$NYIcPw6%Hj@oUNB#tK7hR;8~ z7y{8*>`1?-uZc4`0jvMJXF1`qbGR>q@<83Re|*Ezt%EXTCRlN5sQ%fzM)jRvOWE;5 z=ZG)Um1`a1PdaC6t6f^SB)&T+vdUwwXOU?e#y(+f`H$^}_!VZ;UHH03GMkq+qsNS$ zQ zG`OIs1La~?KR3KI8Jf#jQVlLi@@@9<+A@hSfnQQbnCwL)}wG#3|5Yp|> z^C!i4FCHoeu_&}o&OqOG7L70*)(IxsZBOxOFDWnileE3?ueu^*u7E}`UneYaHQ$e!;%HY>S|WhN5Vp!H zk`nrc0*@|nG21fT?Fu+cEzrioJsc1Hn3EG?=&HnCx&syg@N{4U$qa8p{vt@G6*n6y z&BYAqgFFMOSUPt@3nA%P>OAyf^6^x#)5OpX=nTo{ovN*#oaEW|45Sr7ERxNra8p*QmifzlH zgbV96tdIJQ=Gso_+d>j5ieKWzOH7(fF(te_o`fsswu;6{f7=R}jo{wMe_ih@zfL6dcb)(m(ILV9JCAvXH zRDwjY`~;#}BhckOm_*6)9lneXNdc7EQgsu}P{|wJz~NHdydMi{MBsF86R7xWYZTW0 zJhI%&ra10%Hv51xJaZ8=Ebr?08CgtQGBD$N1dJY|$;lz0G#?J2S%Yv5B!>^Y_sb4S zx%gWhZ1}T+r8b0VC!Q5j0mEqph-t?}7rg+H9D*AX5bvr((U+^CSK(Oz#i%rYGt~9W zY}Y&xhj?CiS$_AyL~62OGK+g>czT1Oexl~SeYmED+^vQrofzZLkceMYyaGGd9clZLJE#g=v( z{$L^<{>)bsdxet+r#Z}YY3{aQhWj_Be0iRxd|3|M?9k@gdufb$0*?L)j+eV{Z>wV*j)10&anRI7zyMzPxh&W*nX?H>eUxHQ`l@MtXD3?5l9V<>lhWDD z{Y&85d5SheJQAJoeWel;_G#m5i$)N(YQB+AC>&d4L@4W>A6MWen%^h}LwG zgoohK$~C=l$l6(GNF&&M0TjB(Y5QfD${UNUP_0tR;Dba2@k4Oval*xq#A*wX@m#9Q4J;{*JrQ>@WQt3OW2Rn(t4hL@0yi4Hs}^X8@InX^IhgQK?~ak9Ckx|)L$-?ijt zFaXjt-6|EDJQEpX&m=|?P@}c`kEf8z0qANGlQ~f}Ccz^u;^8WEO!IMYphPA{(r2|R zKog4%p&8H7z$Vl^c>Zrf!cxk2+^02|8iFr+_~h9Ju82peIac_VL=@CMSXXfa7j5?? zj{2mL>W#MEAfd!0!24x#E67_b!!YPbarbPdFGHmBN2U{`PISnYh8y`tnWdpI= z)<%?5wv|Xsmb9n-IENv+G26Ok^wK#P>7yIU^!$e5*ciykP~F^_fgq%BMN+l${%FtG zB24e?cEydVA5SbWm$Up#4TsOPS}zZN->Y8Hbm$E7+CDII_vNL!ah~>81J?48K^6e* zeDY(4GuFj%se3fhYY<)p|H556lSW(G)O^!dW08Hza{j{4t|&`;{zLlg$W9;(h+mdq z)I4J-)0K;$b6id$HF(OyWGkVh)t9z>BYsb0KU1T@7qiD$paC{_J>o1xw}f2*eMKH; zEm!A&}?CokdGu#r9f;<3X=mR43OjqaGxA6yDlTO5LQKU9}iAi**Yy|5T zNSE#Sb4=#^{)9hMetp#mRDx;`=kbECMW6Ojqvj<712+lHz58%Q?`@u+S|S%pL~zme z>)aa6bv^SV4q6XC;P`?&y$xv9m{*HA%f0x=2(||h(Js5U_WbdDQ+$%$5ORrND{hOh z&8Vc-h26A_kTCt%57oS{Ymk2rc?JZXPL;KpHUXxEWEiZrQHc$RJ zrokV8Q96FSnN1mbbMmk0Pf`CI2Kiqbs+Iri5NOWI^)Gv)+WWNS5xQBg9+XftUQnYZ~r$i8jZh9Oq* zRX>p^ZHvEVQ8AT(+4;NMheH9v;33LxOM~&}^u5-O`)QXnyx&3%o(n;r}TNAPq zbApE6BK-mlJx!q&R{`yx9=vQxHA(pWTlsg5Ls1z$uZh$+>hn>o8q!GkbkO#4#7aBd zyp=O`881!P5rkYA@T4C+B z5sCA#O18~X6OJrdYqKZt9H5O9_M+XXrD%t|lp3DHLK_1r5nwj~OrE3q z56N?NnCxXb7_ah;Knn>C2*cw@YKu191zJ$G&nZO%@MB_d*EEx0uD(yEvVu{dom03o zT}5_}r4}GpB>sp5Hed_e5@1Plj)ls_1k~%?_BTX}F=|x>%l@3JCgLr}g_K5MKxZms zX@}PS_Aml73!j(+mZn>(91v?}*%4+@bJLu!iHMezD%Atb{-54$^OoNqrV|!DwJsBw zD`h+l!`P(zC4km*$5KFNLo==bR$S!mxNQNKVAfyA6lS_1Cy+MqeWGX}zrvQ_fYg+D zaRhhn@i`qBWIFh8FpLYFdTI#ZVG*mn@fi2j1UfvB>&b?t45K*08X7@87(Lvnhq#i@ z)kh|Wpo?8+3>8fEXJwx`yOkE5l=Jw)vjWDHI#UTtnS4_M*ME#^Ly1F7a7cH~Gp)!9 z)sj*7DK6;JpYp>m_U{~N3$kZ_R7TOub0lh%WTv(# zl^}`V+LY5hdk}AKtw%;F#RC!OH4Ea`oaTo@Qk|{J%7#;b| z1dM}6nF$$i+Vd-%jZ1cTaF3p6bQtB|N4iq|4F^=9S9L?Om+WjPKi)LIF)dKjnyNNb z1;jViM87r z*mTYFUEA1SGwqM~huy9S(<~_*Df}c&rx^^f*PYJsW3`f(-8rnGnMw!;~F%yC`iuz(u0jBGsO~ zDOa&LU^G5PnL5F3~WL7|5neJs}$AUeR*&+CHN|&IMeQXkvpO+gv zQg%9Coy?8PDgU)MdOVqz1YNdl+OZevz_W64xj&7M9@ctAPnV4z?flsiI)V2sB!_w?sC_2tKg`&ypoV)sCgJBCr__V z#Pp-YA`+>rx`o>1muf-b?+c>Jj4_`Pi}*COGwTc(YvG(vkWnG^6ACWBD2D37@&F8m zJZiR?)P8toDdwJKCIJg6s_+Q{4uhxkGZ@<;>0AGROrO=iW+pue6QUnMOoYfn+Hs^i zAJ{`&Dk)h&DW4YKL37o`SgFns%b!~ymx>jo_!^2E=l#R^dbzRG*Go}GKP&D5!Qnd8 zKX|PS@1m z%&3~UMBGqMP@^}zyI-t3w))8W%?mZzYHQ;TnakGk%<$_7r_>qvk*RUBa;#cUmUMHm z3npqradVFcktT`2_`hE&zj!o(VG$z!dZr2{sRU8}cJTRU0}0nnq=k7~DnKs~CYuz6 zt`W%4pSQ?2Xi9&xX0kXj=SbK^W4D-rm%s)+L>US!8g`JV_h-weQ6&gu_r|<5)o8v~ zfdZpmlXrCUi{a<~;MWFJ$2aAexz*Ty4UU^tlOks=B(9{pxB*2i8h?~M><-cVG7t-q z`{G_onw)HU`91iUfiDJn3rO|FEl<0wE{`f_PSl?~9{WP^;m2L(KMyAS{(ZT${zs_N zxFBhq(4L*b-T9A0P=r0%Dctq2HSJ$O`1MiT46PqVOA^j_%k3z%T``I2K62j5<@9!a z;O?c3vcen5<<>)n@uR~nyhR5L?c5w8K7?me^-%q0)M%{i()#0$ca(>$+@uf@|HH)B zCr=hWz2(;|Bn6+hKB>JjK^0gI2{uqL-Phg6-I7hNUy8Qd^1Sa#{hQNU5Dj}3oT4Qu z-%Tp_%a3fowQZJC#cqafVQ|pYAX`r>AArlv{7<^s=nvji9<=%nWi!!u6Ye>p%=G;+ z?w$(bl(r&UgRv##$859}D5~GRxA(|)J%vNl&Op9~(N1o>CX2_< zw@I$;;{F;HJWX?=bA8EvbBrzf7IkEcoWn6@ke_i4863IPmr^Px`WDYk3C8BGD3Eh# z(3H^#Bh+mY07WE;BHIm3(i~3wc)W_9azovZKSd*pPvLwHVY zu2a`_Zid;n>C5Y!;pg-e5r=4k+fLO;0AY+H72eK#lCzozY^iDY1|VJ1%Ct!GtPfO# z`+QVr&f(2MJ;Vr2Zu>|94WFP50G5;Jhw${=+gBuq^gdAZ^C*RkxTL0DIgD5o!4huBYWd1t(Z=R89;L{oz8UZ_Ph^iLN8P1pe_YOU*=!6%x9Zge}d(FBf9N@&=okJxt9 z4VZxVbqDoAW5?1vM#JFZlqJK8Js&31ykqNa8(hdf6i%b595ySu{l`SR-uCNWQEw!k3+`bWe3+2`NM(1$`AZI;(D6}t zb6uf5;(5`$g?~+t9ohcZkMXmY{`&d;@~6N4nCODW*i(W&=Xx`#;E#E0Wyx7mxw0NJL$( z5_!ss zajEmVYSsC=4DBaQLGw4#GdBclY=Xb#0Sp>6V{b7lq^6bLAy@2x`B>X34Fsv z@k%<7Pf+Iij%GlAMYZCj4i^Lqwe47kTBeskf8`p2X$1%O_-UX0rq;sam- zlYDjKL7AOK<|}kv8fC#)FuXLlDJP3i@ld2T*e^m$Wdse4H8cm1|9V3~2jM|Y>H_i8 zC02a7K?T*?A_V5VI&87FAU`EnTWwUfgwkOVeo?FM{D$pem(oj84c67TST)n`Zmjk& zx+OFMzxNDwn%C3%0Hy;(dx)1I_<*sS6?wjY*Pf=@(CRb?AnVcHW8dm?abWbS-p8+y z$p1>*1wp0Y-=G?yQt+QYCwT_|p&DxiwX5e6cj&lgmx}Ix`8ko@Nu!;@O?L?D{qEtN znYniw)Vb!K+>9clMuS%sZ;zktDfnA$xADS6-+!p>vW(xd{2R7O;jA)$O`Xyc;Nz*| zp5NzL%8~Alg^&6q1pk+nueuRka7b32iR+WNYmkDTZM7Lq@MF?Y~2Bff8c_JpP1mJp&|huM_XFhN<^=LfYAup zAdKWEl(%Is9xllM;oBUtIZ=Kjl69giKF9uzm)#r^NN!Afn*9Albo>kvbR5DoD4m|p zOsZLb8Zw`^?;9=s)cyeqq;b}_g9MTFW)2FYk#<^#bDSU@<|Yk`mCP4jP+OzLXB}B`+6YRTm*;=e zU~PuJSw_hNvuqE8RFoD?}Hl+zX}@_e!+P(GW`lJoNo>~O6|xRbFY^ZoBEB4 z@P+AQxW4V?2wxHB4D{&cqcadDX@RE8_^e|~TAkv~6(l|j_t!n35y9uVj%_)QO14kc zTr%kwBHnsy!NY(XuRP3=Sp{#G9&F3EF#<#=7b2=%eIB0_6ZNW9Un)qnz_h(6O zE_{EU@_qKh_ZK3y1=GV)y=~JYviTRMM{`W~TL&E6l~(Bf*u$BCTFxS3I7R#os;2q* z0V<1RRtlkG;~&Erb?X9+6a?&=mQ;bCXyrK3!6+hGVB5EW&cqaa}pTz2nhmmgk_emJ3B8j7vR@WA5z@@M7A#3 z9N()EHU+5N!Atjz^P%uDi zUOrU1UOZGmd&uh2b)3XS3EK>wPP?$HYfj>vN$#4)b46)Q0~{x5|#de;!E~7ghqL z?DThuvQ_Q>16$HtpgFIg3L_Q}=$oR7-!|BWm%DCyTtq+E5z=Q zLlZ~$H=cXa__uPs$xz#xpt-E3V{6+;3!-WJNR#KGtVu=rXeE&vLVJE4&{?Zp;&^G- z*2M9GqbK{WUEbbBVI@tdc6!s6^}DtPg}0^a1nj%IGohxW%kDDY1Va#>`>-zMli$ef zl5wkmGIRE@!;=jyjn_Xssk+jXdnc$S7QR9$*s9{?r8ZLRIlyfsfv2PHZmY61_!a3P zw<9R%A3MANAN&|bu#{|%vtFa2RM%SI%|sioai2)#_(V{Ad1T>#uArLZc$&^ZX>%Q? z56LEr3D2_cAFz9dSmu>_Vi#QWZGF=Hfl!sh5Yo=ocv4uue#@8ZYNt|~ZXaB?@BvcM z0Vbg)+Ch_XDhVGptk-5_OltQ8;_waLfVq^YIDlMl7n;^j{oDbTOCyv{@Z=F3J2_w{ zF3o0=rDmMSd__{X(w$1nrv8es)KFFGiweetYu1rx$Ev`3$v_r#5+ioEX?(A(i9D6u zr4Lg})H7KAVT|MrNXYhB=mZMp>ijS^L$-H99W>w9-9Vypn&ch?^Ya*K374pebQ3{G zE}a$#_0L;@1Ok7=93HwvNPmU3ce_d*;>b-W{z8+CZW|bhZlc}KPh`7^bzsQWBsU}h zI)*vDF5cy!#|D)CJvo8fo+?Ng%v-#1YgHrZykPWLgp>$VIqPdNmRH-kJDKu7-@$Ss zi3_d}IDDk`?}^HlSH`#ord(pApI0B1p11g=FjZhOFm=eSC^E}*WjT0c?ulCcEoQ!V zf<2L+5!b%!{uOBfPCrFDHtJ{dZPtchzJ12m^J3$ftcnye{7T@yDBzj0Hc(D~@dY`L^=x#h>r0FMs^`drjAZrQ_MRr0)Jn*Ov%2 z;9F~3(AWo57B`Z48isRJ8%Ch8hYS&)?zG+u14zt750e#Ie6d#kz+S=>Y-axrjs=qC zu2-=ZOH$uLNWAH(fg;4LiJVsTqi`L;{h#dAO7^aqew@WN@IAjA3F;RKxFm9ahCg&2 z-lIT}kPZY(zcO#N7EgS721h(Fii3tW!0SkPETv^HqLwQr?Z^epMzmo}*Uv~_1Olzl z$i_lLhSGCs3L$kLtJ7h2_;Ry7>%5tmin73NDxeL5v|!adcXAQ>*q;Ziyu93P68%x) z#VlZT$uOr!k+}gQ#eOhVTG5lF5@{#_bFY>9S3AOK3bq1KmG1QJbeb1Is`Cg404j+h zd*LYMDM6s06;B}fl%<8>MNYd)HdEMpIF*o;<@~=t!@lBI>b*NMP4uf^H%}Gf;u2>-5;tYIejh4zxE* zoG-2r6=7hh${010F155MfgoA4xv+Ut9rDQirR!$UaEtU}bN%f4G1eofmh zW|Lw?P7riJ@frgx32MP_8(5J4&8u?R0cfrs_fikCuRokH%d=*t8cgylxr>5UrM#2N z|N4T3SQS3o3Z^QS{_~p}@vH4K0szb`fWR0DYD!vCG1`{DCIFHYy2twgi^7iV6wQ2E zeNB1S0qQ>|5cK;?+hiFsf;u;%^Qc{hW?=h+$~XF}S30p1hgg7t{T!xYoDI)r2hIaXKBjTKhpl_VjhV&vP+AAA#C5^>dtJ`57Hn0d`yDdDv z7QtCTfD!{Qo#}G@hLmx!-XkxrkOhkkNn3b|?BHq_je(B2aW17|-9xdv31nDESOL+O zJchD}j5q|TL?G?3Aechr>98W?Jk3STa>UwpcW8a6N{8^_s?^;6RGp!N!s zjZ#FXvayL!zOg7@ovmc<*s$mKulG*^pBf+Jra-uX9H(oTS-;zkg+e--{oaU55N|Uo zD%qOmu-VITJrcT)gy*Zmfy;8IPDfY~A>9NPz*9Mdh z3cUeWq)JK~6`08vCL19w9AGukIksGKLyJK+z0L(lk667O!cEp@f*UAPo@DFkQh^!O zyOn3)oiwnG^IJ)k`SBk&)qRWSXyI2~PB+xJl@kVfz@!|yIj3=820~93?^eJbiyq#E ztts5C=Q`#pOSrbf(_>(RMH`-09Vx8%8C7}b1`WunxwgZbYZ;6e7yQ6K^7_{7yC;tRewCpe9&eGUNN9Pr z>J)OmpauKa9SNnc1ieVvqPb@xm5MLLxCvTG$0nq|2Ik6E-K!IjvZ@rnNzi8Scp}}Y zuT*olvd!e@L z;-Ii#m=GZ;3Zc18D~Vw&k`18(zh*Puq@Ij|CJWT2^Bk;6f&A#siZy)e5-{p;Qz{dE z2ow5JSD1?%8dkwj?PO(Q|B0*cO|a_210VS6xje!yw4(UlE#Rj1GmSI7=ZaJCC%ebqX91X9$?m3 zsucJ>sXW7(BH+99E0$IWm3>na*n)`B6L4CG)q53Xon?FUih#p}VFG%d{PQ79^efOy zAIR6t6S)LO3PP?lq*vTlgAoc|HVkI~*4B7mg7rcDT8OcX z5f)zt3@65RB74VhAtI<2D z*3^^gOv1G=^@_`iKktD3aZ5Eemn2^4jfnXYqLhrUrR6#cK5@gIXfOF*=Snz@T->XX zBGyXbRdn`>l+VANJR@31QCrj`tpAJ>8O&$9Sp_Z5yLILJt@magHWQJ#5i?w)(P`oN zzS^{eV+aLd*Y+M{m`2JEhgQlr@BgP&Z!}c7*1-Np<$^3)rM$Vyg;&j0E@HPlP+9xm zDi{8(Dzu%)mmz68qB@Ue>Bc)e)*q7}%vCd95+C;aqlM1pEQ^l&9)ax0r_F&+q;GHc zoDcZhqUA5P;q83q%2XWP`=MrWwmOY_>vG(!ol6rcLwaqB#%?cm*mR_E$b`104|=l`~7krSnAYegjOpNiSKv`Rw) z{P-VL32XO4inHyvUVR=p8_*;uhRcX&-)HCrz7L=Ru$tSey|y-Wq&{(eSmTT5?5Eay zKua^K5bNg5$!7nmO)w0tLlYL8+J$zHpxmopaZP z6Uxa7_-<^BjU=Um>>Quh5i3ljG!AJdj*nkVe%GpjFs|<^K)bJ2%}3Bot%qM+N4F7OIYw0f7G)Krnjo1>b)>K-k zVh}%wsKz*5x=JI_ys(?>n&)GB>gCTsG=AvMxHK%xzCzyNpr(iilHOYrV$_y-s_tCK zVXK%;6hBX!Tg>`CcG13X@8DX^{=eJZod|sZhA70{x~>(qp3ZQRjADy1KOYkIkQMIP zKW|Z#EyQ#Pn*tm0(r!z~C$ltFS7!D5t^M#<@jdkr_c3eug=V3^&2_AF8WiKFT!t~X zM>4^D9_iBaLYEOVC&ceBL$}c1CSSkBHCA{q?@a+P;w5M-4lm6-3;_owIM9yc;k`^_u+?ua2J*dJP2FSBx@jR?$-JW@oI3%ejA8NK5RyPcQ76`5&@~jM z5W7bqHC0S**)i32g9*ST(;!X{3+i13(ln6Z4uut>2d?U|Y8RQ3OW<5qV49?Q+fsOb zzZ);hb1?VighkIZCY}uWwv&?QMeIgurk1~h4Bp%R3!98LU!eb%$e6gv;$lu6>E;E zpCYK4uhj>Lulus%h4Of#4D4b9nWSX@l!6qQf6f#DgWR{!dQN`HkN^||+9qmsL zBaY+M0bg9f?YdDL=F{ML8y*H-rVNIXE)A>5t`FwJ4&{>6hBU{RBZ z9WOK85IT{z62;AlZJ?LzsYz$=@6G}$desV;_rN7)ayG#f_+IzU(Um4Wb8hF-QX6#I zjLO1!c7R&?h$R?2%xF+)9;P}gwN}-$P#YU?8#sq5AjA$P)+7RZSN}xtBSmql>R_1B zB+uOSyO;8*Bk;^dpuhHQDogtH7)C$RV_=RacNo zXJizW(|T&s{8W==JFkkR6tkBtcP`2ytPs-NA5 z_I}!Ut_<1HS>73a=g3wWA#k&Kgl1#X7t&qcrVBd%Fq|J9@u{oY6Sw*Prwx})v`pfZ z4o5DozaDzvqZy%udp+qhl2EiSU~;tcP{Qxey@#Mf`o+j|L_s9AN?eP4ry>py9s~{{ zP4vdMl<1`1Lo~3aEx>d<{89C6O{n?9lF0i8@kt>6<0cr~somz;cKsT2SRJaQ&h_@$ zwMi*J$A*bOQ9$g3y6|||D5I^%p)uB$qdlY~@pN3EzYRcg9)YgkkkI`+%()Ck+CvS` zmi~x`ZsUZ=5`4xgBW)2e7}MZQw(u%dS{Ff=bCj-TOed#8$`rEZ4&j+4!DcF3F@}~# zK^ebvBl{p#NCwR5N`@X>tOw#<1w_E`IKD7b7k)w%S+qXqD8Ufb5-2a~Lk)A{)V9i{ zTvkz)j#hB-1c$uX{wl^8=9l3Gq>;%uc0aPF%cOs>G9y0T-i^S7MR*9!ej`ss14juB z%6Vz3SxKMmuvdA{p5m|2l3^mg1iNpl;-CkR?$_pRmZgyNIrh|W=nfOF;zJ}@dS?jx zQt-h(T^1oZ>Q|WCgdtxn$EU~IVR1q2+}TbVz5)S)RiyuJB=pCVDsqr&6`8QG%nU=&qHN$eUiHIz*J}Df9^^K@=PKp*^c>_0IE+2R2*+Bco^eF-P^!X2+ zV=iBFRqx!N*!t3=C(KEd6~Et<2Shx>wqN=)ktaihYp>9Qq9(0vV6Z_bpU1@z7o{}P zWH%aZehCVtC@7d4#Xov^qS(}5Nsp&+HIau zE+-f8pZnIuiP-82+75BHu(C}1gh=TEk@18SmB`*l#+!xLr0G-Q(ZL>N;Dqo{d(}jm z@P8?e{|`B+@5-)&tgX~lcIvMQBxM2qGu2)H|4{bkUrps-_IKtva1#QAFeM>Cm}Evo z3U5MyfPeu}5m5tzf+7M=sHm9;VbXwTfg*-MMMMQfMGLJ2!k~hJqT*P9XgM1chpN)z zxmvwG-QVthdUgK;{E$U*_WPW@UppB#5eB!l+BKJ>hVfQ|`Z?p#d8yiJ z|MO;MAMkMSupLT^MGV2Ne_A0^e1+}w6!Ym+FBFx8+K+v)+{J_){un%6T|^Te(D>C~ zqqH*j&F*96t0ULqRG7v*@&y$m_GSct#6C()I z0|nEF6k-!0T#Y&Z_J z|5AHZ(v6gY@D{dnf+5($hvh#6D*Q3NsPTf; zs8Qh?YOiIk7+WyCYg0hu*)otDQ@XZ!9T{1B0&Mg{$CDxhddaYL*!NDEzyw1eK#1l! z12U)c3^n(WbHf4_t`_n@EZ1?!> za%=0HWi~vjtgcETdU&s3K5JaF|8w5T)_A$a_uEvv=dR_b(bR_{d@n;@TF`99z-O1F zoCBYpN6d9#{)cG!hW}wn>Xl+-Jszyw9TG%EEAP{r<{vHkuQ4sC{D*U^&=|TJs;ckZ zdm-u-l`;;d&mY1ER~bz*JH3OMv6cT~+2YDF@ke(FEyZK^&mxB%ged;lpU2)57%y*& z!<0D}pD$W)YWaSvv#TB6?zddiUzzUDhaAv*o?0UitY|>G$#?OJ3 z`~``qHJgWiP4U2HoF3@vpV8Zqte|<(p#(Xtkz(zzBvKpdUD%MNptm(sC8%Xq-i1J- zPm&6>j31k8Pu>oJXvC;2lyzGmRf1iavc8Vye4k&-IFoX75D(8y7Lec&Qr>L#-!WESn)U6ejg z-eLwxR`98$Li-c1+g0GsT}il^@JdY>tkr;D$M77gck7!u;8puL?^P$P2@(H1-(lvN5?j~)Q`6A3NQ*BM0%_~tAnq3n?0?Z zH~YfGxXKX%()Dt)*TI!D2LMolMr1x%D|^m4bB((k%TA#!r}-495%?TJ*Opwbh~V`j zWm&YuT%(ITS?+jfaF(FX?{~F02)MtU>eK5SL!uReG3_xT&Pr&7YJeRstCsx(NjdSZ>RM65t$j!E!V_$n)$4mP}-6WA_>IXCLm9%`oPSDQ=)c;rpU zn4BG{T4*#>2*ti}0+kl|V+fCv4&oA>V|A(xl`_%?J5}Peo+4QaB^FMMpxK*Z;KX>O zq>)$PyQ8f0hpU)VxDWvpY4h1IGbxU^nC|bc>|_&Ybpuv1Rp6+Oygygr;3LIDi4%q# z!eb?57rOpn&vC+K+&(_zy;>F7z&5|~e_+prUwvMs-;1lNF54VMRO$T zPmsy*;31AV0EsWXU~~H96bSj^YvoX>ZV}Uj8pl~tbwp&i%xjy4#EE$oTP6(tCKTr< zV@CI!vlcK`$juW@jJCTY`1OHK;;5s{T&<9Gc9M&_j`7F zl3@LfX`~Yhddvb^#aVChu>?s-`szSwM(`>W#6d4pMZUMe}UX`XWh!F4g)1bDAuG1LzD1zC#ZJ761JEZyO@ z^@&@W2ASz!ONkTDljfcfxr)jge!3^8NT<&+; zXHMT4h&`8=zs#hs;ui@h_3*idztS476Rmn`p{rvblY$m26?O(!*q=*1g-b{`o0D44 z!s%g&2@wyLa^!m}ueT9uCxG=|lZjVHI>kLhgk0`k#>wXH!@dKn7tYCNJQQMl6FhhQ zgwa|>L@8a6w_Ywgzki-6S?Rm%ZtQZ)B{Sjhe|Li9LIZi>f8G85fWb-&0?Nj^eh0c? z2l?p_Ap`S&o13-{Xc&18pxDqro@ElV;%F#%qw-Ic=!n)rxJvsk){C#xnX#YpD6+Kq zcTZYVswvf%UWJ`Iba7{6O)4wi)Fg1;lYVqx{gpjuGip}hEy*f&$Wz zZb<>ST!?cfXmB*1FG5ai&{K;~$-36jCPQALNqJvTI3{gZvmATBd*!sz`FH)NBjg@Q z_hSkcFlTQ%-F=2B0ngmc!lj)8-ksgKx8udg#u2I(v!>rm zNQO3C0l4x-?a$(5!U>oOSynIwdp+JzgsC~$*#B`n5jN{3IRw}!E{rCh}F zd(a+pVZFfAG2S7K04uv;3ax5y3g=_3N7APkMQr}&-y+$xq;%0d%h4Zf_~E2*@9vKG zMKj+Hu7XaH9p8>B$Kz^}X_0=(a| zhn{v?69RJpINb-9PKZPnDQ1j(ynlh9(|8eZX%JsQWq`q+y5S@W+U*U%a+fcq~wBXH3DrhNG5WE$+@ffU8d2Om^R!i$%ll^}mE3lX5k zN*65jpY|v(ri>7W0Hsb}Zw)V*UwwxD`Os3eF^j$$XPgVG=Z?-}@&Os2+MbX0Gf3g8 zQB?0j9)^EantV$m6ts5$5m^dHy)7oZ9iTJ~D(tdZwPJ42>$3*M@0M4R<0wUm4dX5p z2?$JYx>*=K+F5W+7-AWjjZwFRI9yeS(K06U#jg>R7*Jv2DpB3}5@z$TGRo*j%!lGo zJS3cv!vcy7Qqn!LV2B09-XZNP~`~Q3TX^7Tux!fV{Cmm z^P1)!F|B+d5BHEVvphNxe|hAunc*hqGj;oVXp-5m2y z0~(ZyW4Wk1qiRjTGVmo4+Wk5}h*RGV84ZQ+@j>zkv49D_>UsCx%OX|uy1PcdB6f(yIr4EPJr(LC1(vdyYJT>24s59;4xIp zOR&VHe9%g8soT168FNJ-L41F5+3n}4uE~p@SP~nIJK~qIA)dZiR(l@#$2wT1CCpcyoO5yQTX3ti zi}&Sc(^I)e_Y&(;rBI%DOP^pTetfB{#QiPFCFC(LIqQMnF9Kr17k>KCHhN>-jYcS! zKMEVbb; z;GY|4W+Q0H5lKw)2Obtj8hpAx+weU)?Gth`*mo8@CiKPhKTrMiDoW60OTk zdM?D^bdbkkt=eJjls#im8*Ev)ESsi3wj}or7|P0Aw*Rk(MP&_~HA%aa+$ZJ_TQC6# zEpz}*wnEOb3>+MIx8u-V)*X$~AM!G#_JuNQkD+JwSi>%S`D^UCpYx?_QR)*$`f=cf ze-Z-m?-F3gfBz=`flh(tq25=0x2cQh-tT7#l>MFmuW{+h>8HX1BS#xHpMxv2Sasbh zKtWkle`r@TBFm`Ol-m`GrpaE%GFv1&iLp2d-s$W-I*agWrf1s?>xI^ z(JiTb)0aQ5y!rgvwmuQnn@m05WZ|-5{5`Xrjk<0HmDxFcFS9$`@^60i&ekP{v)fuU z72gv}s%5avnZIUzeETfF&`APu-x>#sdrKs1iEyg>k!K^P-~Fa_dL^k14&#M5E@}o; z$W$Yl`wrLrXIJ(b4Iogt`wslH?Zt($Pa)H_p;w}rycIni+3OXtfkYHaRBXOGVe`X_ zrc36UiOaO)qJEhm*o!`1NO69c1eNbz5aV4uad0IIxfFo8CP36!IxQ5MjhetAkr zqmF%d$AbVpXklwCA#6edx8Cr&_Asx_YChma40j&zWkV-nTZ}2c*hkZ%!)!wM*Bfnq zwB7Np_h0mBU8!fw)Xid+5-{m^x!dvcqrA3_j$mf-z={EP)LK}PyWEE(@_-O@;ViOg zQn)A7Ls!V!hr?fWO&WF@bh7D0L|Bobc3e*iKN)Y0Slrrd?12%h9Aa94xvp^kzcjm> zH~bO;o9AjNIoG~}l5c!Q?=@<6Bu6&N*#NTCMth>K^w3?L%L|QT^0HUK(g<-V>pcRx z>KH1OfAnB#`FkuLwUMGdw8)v`MNAOEJ8OeBO(sS-Rg9(migZ-$1y7Vv%iY)u?A3NB ztfpuVM(LZh@ay{9kijYU_p^zOXImrLp*|=KCwFuVw79TZj z0n?y)Y&8uILgQZg+#2>9mVi<^BA<>;fm>~ZT1MfK_rCn5mecUh=08i?GQRET&@7=( zz?$C29t9K1r;w#}D;sx#H=8fc;)xhL=9ziD(-kVJRuVft?n*QgFwdoLJV+^`q_0a- z0OXKKVPN6c2-`>ZSPNZe-odf;k7Gdh!6`!e2y_=#ulrl~#MUR3CL~hkOuef&F8}ts zWz6L>$e}^u@Okv7vUQSu-lOBsd&?jHaWc<{RKxe!Q=Hf+qX<+IBojbYC!)+R2=j3_ zV5Qzbh--6UnA;8>Ih$F`IH$p|6TV~HpD3TFb-NqXXgp+G0!i$-(_H9Q+=yW3F}nl- zx;>(}7Foe_1(htbn8`#Kdsphla5#|lzfJl=8}1+dGNcA3HvHe;qU!T zPkjrVfE7n1%tss*rVR{=p`IaOhJe4G+XG}82j8Yx#q&v-K4SMB?8d|q13)$7E0;yS zr^TEecQi}8RYtg{U&tvccN^wg#6OVPIKvBH;AJ#nJ>Q-gcXW=#8RiQ)Xs-^c{lCK3 zhGylvi-!QWe%VG1EMKr)OI#u7#IX;=&~meitNc=c*0i1}X4!nHmCn4UMc$5(xSOIR z=G)VR4#_bk@(XOULqMOYCIOxO!Uq=k6g~I6_7oB?H8p4Sxfa2%2KxBI=6%c$B2r+L zIkE@@bcBsx6)XJ$YbaviN>zjr817RZT%>1^h&N^2*Er|fj?|GVwO>>gFWIro&7{kXn0N01;&MPw7ZO2NL$`cBJ=pB&M98A`zqm^yS+Lu%;NVW@fI7w#qp_cC z*C+ARD0faN}KDNny0@GQ}xqz{D`+HN@p&htDRMlwGE zZ_nR~-B)-QKXwW!b-Yj5Jl5eFl_c;zIsao-xl@Zj>~K_g(rb}?w=21XT>HlC`Z3n? zKSrw?P)ERc@r?t2a4`cY3)Hu{{dS`_a6#PDPjUzQ(f3agu~9nH8mm;<$SIb!$m_2^ z1^sTTuHzQv4uP*7!C;H3z5NYSzgOJ~RJ-7G>y}=&s55GUd-7U(p1(d=u~>WAd5vl( zddu>fMZuRpQ8?(;f2;7+as-pufZ69)_$@h0WM$G|HlCKUtkM%mxwNmWF?wT+NLUK> zz|npcW4`oE5>w;lO5|85Y{Q9{%Z@X=@8Gol%O0#w!7GM4jKG#-W3N_zzF+oG{Aoh( z^#)db|K7;1$p4jtOYuL9@Zf`N0(7L_trgYAU$QRagK@Y{xzQHo8m5*(U3;>Vdb+Sw+N)BF#O-V$Bz;QU+mlblnJGZPF9~`3aqRk z@A2A8+e`W6sel{vJr+G^v|kfCuvZ;8@Cp(-+s1aPo zzk&;GND{(g1Y<~djRaN;ZZZH!m+AbG0s@9z$)=Kn=tu_nmG74HN+6CK4= z&>SNnLky!q2$`HYt#IA~6g1JXhs6pg7e+y&K z0~5tyht(N?n=w4i8(fEC$xH0B^}OOu54V`t?}`yw>sT(Hh(y%{s%?uv7?jsmkfx>(~cMb0p0g+wLW!ev*%2Oz)nCr8r zrk+R=v@iPuUQ!g%!X}n=PG8`&tXXMejy6rT`+P%LC>BW&d-wsrAlDpi*LO^Y!^ai@ zjpu}02AQ%591c0EGrC+VADyehdAIXu8x3+Zt1E<`ay$2xh~)N>tcdA_X?!Wr$}y#} zznP8iRs9eI;})xB#nE3l=EsC+JE#@LQIX;kT@~iGiAPTLKvGm+&=xx>#@8uI#^xpe zK;Ap`F7zwt8523UpedA{<(P1WM{LDOe-2?CD6lbjm|7a4jG@)O-5cSLN*6mGDcq;< zO7xE!+QZzi@T;-^`--^8xXXrJ#O%k`p3(xhhBO>UNHKmrDyR7fh(QK18g38pJ$dLG z9Nx^ove0WXS$MxehdgN96VjwadYjDuOz3rb!=T)=J^0Sas_7`ZI8n``jxNe;i+sls zNgmSkC_~Le?L0Z3`8EY%9E%cdU0KSso`5?dwAbClALbQYO|bCKACktMVZ}X%xHu98 z1K5B=&*Jj}{Rd=UBuq{_I1{N3DsgUP(qK}4C4f{6YpV%EFk;|ywPK`>^PF*IemHf( z1*a~v>l?ak{}%aqJe1L%bp|_lwFcTv)lm}wm8~%56t}q!IC>H4u#dsumcFKh!h*eX zhYFN>wpp{f!VQdZ4mZ@%om8?9S&PsszSNz}{qpLiVz6ZKa~@MUkU+x_2@9;@{MO3u z_frY#ctLWV+|3pGV{(|kJ2?g>_Y5_;7e5`yp9gP5-A90g%s=9eG*t3~X)%RQ@k#Ya zUi6aR{w$C+YBz4Vgy!|^$C+JE!ubJ0a;I4R2bxKmX?i!)I48djGm1q!1(SEB1DrG| zKPsf}VM%BCADfX>A?xd(w#*@_1V^N?7g@#=I=f2kJD1 zi-Dt^=GR-?5oR1?W4(EM*JL45i(k>#xwf)BUW*uP7NB8fms^&>ymXJG8B>WS3jyQI zNrH>5e{3O?OW9;Dd1<7dHaaB^iJ>rNu%=|pHQ#E$HVLX;J&*Xh!% zvbWEUZFw$VV64E--i4qByzv$7nKx|1@#SqDSvBv5?ygmvW=qtgt^{)dF058knVRyL zR&if`JMSDXS$mASTFeY1frp>!W$P^8KZxLjxBnDXPIL8DZVYso*`EE|5Q@1AKHB3@ zbmiTS;t40R1!Vaa7bo=3hTYMepOxTw8&+ut`}Fa=-u`Vxj7PA=oiE+)dR^&q6w?B- z7+%79?J7L*bwX?`C<2>xq`f!LPd#q@KlbkeNF)3=F7LR1V(9_aF9oe8haf^pI%)6m z6(@rWm^1#fMp#kzy+*b+^dQ0`Ab6s`#QUIMXxHt@5~nhBItHYPdrG8aWJcM)G(tf6 zvyhFQR-h)#_<%QCU=;{ygg56mGHY+9_|1S_T>6V4?Y+S5f&WZImFN7>6Q)Q0r4f`y z?ij9pi}mHrPi+F@M>T67r2Qtjx{*5r21l5VcOUrunHG*vK~VTG%Y*I9cSAIpuwEcJeC*R2y-70CGMp1aW!3HIPmpI@E3 zewE=7__{-O8e#0P0p4#L|I-cG7Wfv!B1`WUtNLEdk`n$k`U0rY#j`kt32-$PwKB@U zFe{kWKQLZ^!9!!85;K+EZ)1}o#kytqREGL0^O&aG;tFULUqinspv5$L7TYkL{W0dD z8?s5(RE+ovdy$?g@K$y()oe}U5RZ2Jd0)M8!*iarC_@EbPTIqCf`meRnt%xj1rfEV zv6e@ZyrFkf8Y;)6Ub((zCdM*lX{M0w@WVsBuRKmg(WCd7t+adl)487@MxDxuSX9pj+6^+d*8V;1TG{((01)S{NhA03tedYihymYMaW1q{7K&uYB@$KQ#iG!i+ zJ5Q1d-e-z`QZpU8=WS+p6Ja)p$xCu!66?;I0}Hj9z{eE|2l546E*ns6dMLN~oFz#B z@9x{EctXkpaJx&y9d4?6i)Rq&eB2&(f9Tq#hiM@+;rDV`)`FQN7(RRiu&Ho{+2z%c zr$hQ`WrjxRpSaJ+BuxK%*@S9|A;~1ava5_!rVv%If#Ucs=NS`4vtN%#X!=au0tPw2 zL%t|Zr}EQ0CHdnCGyKbo;@Vm%(af$i2HPmRnPhzj)X#WtC?>>f8E0zE14dihz5l6w zi@ez$nur2T^D2cRK1;m|2(c6LtfC%6P_ce3xe~hL+f3pj{p(C0jw*dChl=J3|Jn2# z*J)1ziegV*|BUZc_y1T`|L;XG2_N>4^dI>_NZtD3z$odce{cBpoc$lFpGO`Iu)BAy zQq1=xA4?2Ac}GUXHIU{v@(7INX*pRf!ifi01vg4iEIJP-ZT$VGYa%&4k&HDTjUl`p zm2c1Fk%K%M0e=dt_@tB&nf2U`d2x`@CO)3nH63;*O8|D#EiaGZ+87DfeDOuJbH|kCS4)*~1`};#5Y}2BM3|J&(V*u7;uT60 zvvWU}<1^KS9&#MZ1?2NuA;Do-5*7v7=r^=tkhNg^S|I|jDra65;cOaWfh+c$7Q98q zY;v($+a$EOnx?Xp#i$&G`LqT@Fc~70g*4aZRzJ_5J8KC(gl0^-^rg!fHBMX}*;#uV z7GjlmCn0|Ni(i(vD$|r!JWdU!vAACJs8ZhLjr1R+MwQ%s!Ap?T48_c8CnWBzKi< z-aeH$&F@NsMliX*x!};JU08sqW#;+KSj^m#+8}=Km#cG%w33_4Jh;Bet<^9?=QO=q znaDP@m9=NlGt@L%A~VQi=C9T^5|@xMr8865u{lk)b+e~4t!Q+p=K(`fjVM#Bw)ZEa zli#mjabayB;n9228h*dRS%d>bpL+ru* zB(o~ZXcquI<3#+?k>2R?Mt{B49qn2dy^fqMs`r6^$wyq^eY*JIAT#}Iz8FFmEh&*( z20XjSOV0h=X&&_Ij8Dh7t;K)v+3))QUtt7)cLsi!C$>S<;D6*v^nWK$_CfL_vL1F2 z(Uxv9(O*?)xqj?r?vXMRFZ6j-T6|6q>EB!KG3kCCjnQ-z?(@~Xx6Bkm6z<#2rf+xO z90gBQ>YpB4xy!OH>_k)HfhXbr)^h(5^KUKpC8AemCl8~}b$vehP=1Xv+_e49r@BU0I^o&1C%^U0gLacwgRRLSM9Yd?aw5{DghyQ+dO5c&WuMj@ zx%VNx@`a`f)_^)$c$j;|*!50E{FKlGW~yU+8eDqh6{ zVQY?h*4wQ4(2iN+^{cQRN3|Z+m9iWKV@mg)+%cWm)j>pvsi&a4lx~6(%w>f&jE>Q5 zh5ke?X*?+k7A2sdoqFTjL)_X_*@6OFB^M}kYA7QYQDyH784ST>a!E{NPKky2uJR|l zY)+R+!JYb;I!d*M3rP{CMYo;D)%YHlWooGQBtxZ3GCifrh5)0m^zUlLkXjjDeop|I z4tNp!5&7|GW6wBvSM~Qy8Y~cMyeWcbs8Q7L&`BNmqh$tTA0evW9qKHi!F`He*fhVL z>}B7@O>;sW`h?ztP+F}n45lfGE8u0|+Hls$A-*f`E?T?>_QNf>&DG1ucTBL-Cg}OG z-kNRS6ehbE`Kb8=z8x(QDcznugF}(+p}92(r#h9bgP^qtOcZ3Vw4!E6@s`M5aRKP@ z)oN;RD@NSL33s=aG^~2dg7XS`2D=*&Wri+OXF420#jV!yY0H5MzQrNs^!*Sc^URWFq>SCPf<7&PwN|p9&oYabJ3DQFt^Q%FrHh9h&pSWSo|1a?5eKXHX@cQXCO-7 z3vJS&a@&h=k@vj7%y!}_=_ywGRW77Vy16y|ZXy@d76i7*W4GI&Qz2?Mv=^bziEz;o z)TlXMKf#$)@Dn^YR%BC&HEf4vf{4N|ufp8(#(RF5#Qi0e1cxJ7 z$G-Zmje5yq+sSgP$a|ZEdR<0ruHVL1X6JP*>8EfxA|+~#%a5^ z{Y}~B%|wf0JY)v`twZ+@9$EVG-ocJWUCB(nC^y1FRWc3H9$1v1 zMKZs-UBC>82^EnfCSm+;dp`v>(Eqk^8COxh!Be@MWJg+bGejndDamkM0Xt3a_RJaN z?0O;Keito(6c+*ycg&(l;^^g+!8C!{vPRR?J~<PVA-1T@Gg5*N%>HME z5ouLVSpdYE(rbm>94c)01fR{ePz8HPv5sGp&4116;`&VDqSDxu$}GM6j-=v+qhsW= zl*3*>L!~n(IjZ^%|JTx)8(Z&xsQJ?WyLFY|+Sm_LdiAsQ|Y6BD(BcoQYd}8tkeTW!g?V651lSPFp>{n!&@B8FaB*i%<>~8%*7;aWSPA zwXBn+M^_u9KuyzpS=`x%-QWxGhfNxaxEw16BPd#d9!7o8}E&N|&$)G(g8*S6hqUYx#)`auK zvc5>>y`}RVyeNSl&`!a`NU_ZGH5yoTl<9Q<09*|yf6qLZgHKQ7&6o)cF*w<^vs4v$eyTM759Z83{A{_q$~Rjpq$T-4*~1;^S|CtFs5vZuSo5^coERxKjrwR15gK_0pl zy=uLA$zaJ^62IxJKgRx4Db}8E$>J7g~T8)MFGD8lTw33%e zw&n!_C*6Biu3ix-!y_j18<2)o3}e9^62ljKkPtE9M$w5pcqmqH zsGOrIMj1UX0^imN^QFxQytq>P7c0vCIh95O?7*LYJyXdiYn*k4V`wp$%CI;JUZeZFQxE(Df0GN9y%Nf)3YwX zvh3cejlVs9@|bW>_4m}F|Hy$Yhh$8`fAv#Fe$Uc-r37pwm`1Q|g9?nI8Y+*km{Iay z0}d|MK^tzSvF+HUs(%0Vjmh1K?Ex=W(?TFKh3c^eFFEGq5T@F(w&^yZ)b8Kof`nAR zhLKW0;XQR9(lZ>s!tdMo)o<7gO?;$bzi;sQxmITbV-@{ZOdyM7*ZWaOnV_5h${ALwd-XhfT4`GZ5qp7N0vLeB=c3tuC9>>)|2d8iOp6HdrvgZ&1gGBhE{gvoV z+Itn_@QjFs+!byTZFScG(DHcg1?!bjUU#g#dx-(@T>~b;R=gsAb+tjq9slAPLS3k; zkHmPOvZCA}mMdcBgG3L7S!;&;3f2*27i|&ta5UflT&}u{bGJISj`V~Z3^z@%S}|Z| z@>x|2%`nvJp$?{Ixn!!3!`E0B8MB_zQHIP%WsSLURzA5^RW>fUWJs{K95khC8QT&_T;ERy_-}oLen;8vZUta6-g-b9jmGNgr#4{LV}qK zAta%F^x)uk{JYK!u1yorayr$#;Q2Pw6l9gz$)@ji4CWxpQKAcmiQ9{s!1)b82<`0Y ztpX#P*JH13HUKne=|b1fJ?TPYm ztRC$5zpNf)9XE+nwyrzm@yp$Q zf&y!UI?GqPLGdvYHfL5{2dFCX`eK&rdMkX3vF7fL+1Fix{g)4KM@BNT+G8$RZsD-i z%x~Xj-pF`G0p|DsPYVGF|8j(&{1ARZW1XT z-WWo&s>Fi!9+J!~F=Mq9^k62NZbEcfg$@;wkFcmV)f$X79S4%LjE>W*Y0pH&$P5qT znnn$3It3lA_c*lRQSMl4@v;4%g%-cn6f8{TX0(H?^z-KxH?v7+HwYpoew6q zZcjmVy>7xOmFO%+80FR2je+4}%`|doxR94$HTM zyJhOuw^lzj6JN-WyqNRz*$mu_ZBEygzxUdE{GrTYu`R z#z;XgP&4Aniez4$v{fy|k^YN`QKDdrUqO^_MiM!&4MLYl3jQviq)puZ@S}(365B+j z;F}`f2w*e#lp;-=9q)pQ-%UjaYFJKbS@qG2XWgv%bLuEaZW0wl4A(I}HVUJfVt>9m zd?euGF;Qt#+|h{JO$i^H;s=@*p1*qg3yjXOE{;om z=MYC_5{-6Wl$3|bYo_BCc6zaJ4yf4Td~O$)@vH@UO983eu4u#yv}5O}Jb_zpoYWF* zDx;KCK4sBQwFJ|zipODTEV7RcR0UxmW-I!QDhxzLU|DHKb#kx!5~S&$S)}X|_R5EJ ztm~#g)*2>@r0Wayg{p3hN>>n)RC?d$uX4vx*J*0Nr*8k%Qk2^i+w#trPT+5*(Hf{Y z=aeDe-!S-WZHgUby{OBx$CJQ`*U|6B=hqNDjph_csiF4~RIj8oC#VN`tN-Mo4|lY- zdU$jom;>{xP4@-rbC&0J+Fp+PVU?B7m9b@IIF?pQjl9PvbIYEPul_mL={eF#IHV3Z zfA?;1X5S&oc^zwxrIBl20&g6DJ{#*AtS)}~hv@#xZuZ15F z2xX*VSns28mxzdW^7h;;2w&`Y-5N&U7GrUCP-YfNDOsk~8Too-TXd?G^9>0^VPn3( zI0iF&MCZObzTN*^naXR5b?wdc_2664JhU@6*s9r(TfTQp?jdeuq~qj_2*2#;QIav? zywd-f2X=M`-|9r;1s8G6`iQsy%%;(@k+xCn$qOuUD&WJu`M_shgOsop=yi{cDqNFy z1-sz)9#|K%(A(*fxx7B0I`5~#MJF19(`XiPyX~gY@^ELIB7HI3;4XzaPN=%Q;9ET z#(O1Z+9fVzIyFk2j~(I~TO0_FT!w|Co5UD2&v^cm?R!*eB<7NZZf zJBfKQ`wz)}|DY-T>&>^pclp5A*ZWQya&E)2_ZaUWZ_pO*@5sno%tT$CH%)Fhzt&v& z?%uOo8;SRN=Q1?#LUi5&kDV2ci~daA-iej;#76pRmftg9gh)dC`E*u|*Us+E&aghj zIeP&4e6I7L-syeh}IwWhFV+I6T_^c4{J)sVF2qa2L4 zXdDNgiHXpb+kS=738pb3iHvH+_XCPp|NO5GW>C_|$OLwM1^McFdH<*!QAQdD^HbuL zMxMa1m|QPXW^iNwV`!%Ge-L>=1p)alhhGe`g7O@cgu@XFP9|FYplKKvn>?|FZo9Amt{!Ki8_&-={3@Tr`*oH6K;ZF*wq?6`m7 zQ(yiaGJmfnxJLPeVJLbx9jJ1*H zt1C`Px2{ax`d(3fYU`Ml>+{;HYrps3R7|h_>(k>)q9e^HZ9`Q? z+yT`St)} ztM_uZC#!u>;ojG5w+Yt|%(?fImS>mgi>QIsUOKy&dyU5L^&f{asV;Z*-eI|>BP%R- zAf6X2@iH-*xaMz+5tsV+qrp@P68(j5GG6jQ4dO^r|#P5HZ@hWelw=-P`P zuLs>~lsz%y<7(^j$T!y8?f~qL&~K(4J-Fa5YLaGeZX* zK4RFajHs_UYl~ci%pb7W{zy?-T{&ZW5pbnm1=o;Ust27C4WnIU z+`VfM5rrb5?Q2Kro@QRk;xSwPYgj`*G~XO!Vn~l2zIV^zxCwn2T70>(VHD>}S7G8M zy8Rqf$`h}`ZxQcjoWcpVqhmrlUWXO!`7*{lD^fBbWRUSUrUW(C<3ByDMkxZZtO1pP zDlnB;f0A;pGQ(|4JdNy(6orUCbhdGO)js`63^qv(JrJrwr^~c{MlL7<-y5Rp_ua zFJ(62ng#9t}ym-d>Dg?b$^AWbfthZix^#zmd8O z!rCD$q!I740EfV0<}=Pj#JB~_Ht^J%clx3t5L^IHkM)2#FY z_7^I-RNganB<(*!RcoMM+UWoGIsKib|NS}LG#?g}XJlPYXU3h}eIdX);lKRSa$Xo} z_k@~QP|^h{Jr<>=!DCl_ry}j-zUNV(PyGw+e((B-ga1HP%b+Y{DF7Vea*4T3MpCK0D2~$Qc8^x3 zGpql)SwKLV(eo|O(CRdn59sW!!k#buF|)sYYm+#=m6J)T{1ShrrAdag*YyyyR%&_Y zhmoNpr^KA|eW`8nUexU(%2V~)tV~N2xF@47X@`dnV3WLtp?WfIzB{ptXlCP)hPQ_H{{4Q*d197ZasPw4#a?;YOz!Fy1Fm~{JIliw zeV!ZI*%Q~L?D|{kwT?rR3$M9atZPo`?WKPxK*gSBg_;JAK#^>t6%hSklO7i8p3yf5 znHElq1s*GWCPQdDQtAruvx+^B-T;ZSHVlQGY3;h1|Aq1r?-)7o-JmcC+)p&9`4)TX z2*Kuo1~rCci<^eRj2{R^pN5&DTJ)U=bW0O>GFb*8yGafG;4dS|u@l&}t$23(SoTc^ z)L9wcCRdEO?o}4G?+)}D{{J|8^S>t2b$z#zR7L_+LVz$QAwZa9Rut4EOkq&NAfTW! zsi25}XoI3AVG5H3LTyj;Vh4Cn+U>Dqv+sABqUC#cu1jvIL`cArUBDFecks&d;^|g50|( zo2%e^VvwFq#Fc~aiA9{}{&gH{Uo`=l>mdYbD~r*h?`o!6)Qq0R_iBH?lzTu318K3q zkhsr!xuPf_hHP-%zEAz$NWlU3mpZBi@705WCA$)N&!1NKaQ`3`@5_#*fCDIxq{(9m zL-knGCqCv5WqGmhUowAQ;L#JyHWt{_TcG%N{#MWS^(gXNM-#y=*RB(6T(=%8h!okx z(C&!Kw!9}nJK~s@Q&8S3Wwg5I7bNLslK_1w+Wo0KmeS$d@J&VE8h0X2+F)fPB5lrP z03LL|W%fvti1|ug%wDsy}woamzK&UayC(rItF&=;*;BRsvptN zM~=(2{nJA%>0Jrl_EJrq9J~vy7ULlBS6ilpT+$F11H;i8Oi3SaT!^+zwhB@27ipyZ zeqockJk($+&(fZQj_&P3SA^t#e@jtO%iLbrY@5epnQ&&D(o)P*zKxZUXTil6@Wo-K~_JQ$w8fxBm|M$+DiF zKI3IqHi25f%A)LIZMGLp=FpX5O7UeO`{|k7;AbN3XcfX(;h?s5A=%(zc-D~{4uyV{ zV*RCUL%T{XPTs9yHSQ&-0MCa-`7jo=1LEofyQ>%hS8WuDN#bIzs0LweOaymv*c<}&KQq-IBF zj(&D6G2z1l%?e$V+w^rhPl^1P4Pb2-*t8?dPFEjgLu{>V<$;9;OLX@ZQ746dRtI-L z+i_)C(No&Bc%1no0|2VIu9*yVAAHz6vH4l|rMcBtb$~}|q2slfiitjlF?r{~-w}#O zuDQ&Z)hz)ugy-Y*WTL%;MtBn<>Zf>blZvR?*u-(%@0%Tqk8$!>;wC9SCAXI!Llp8< zf~Su#;meBx!__P^c1>bZZ2OH~?U7GCsc^;EJyZW}w@(*!xB|THfOv7}7t9zYE?Ri?W|iV?l_x0rztOduXcF$?s`i`5 zko9}Fj@gH}tAElKYjy+J(BaP42PSUlq~4opq|864+=u)4^r?j8x(*ixcGa~@u2U5- z&qE0uH-5FB-XO(<&DTaB-rZ;13apQq>D~}alQoxY!EL{jr73;dbM3Lb2$^xn;}}1S zGu8DWup;<&t*yXjEZ_m8=;yc+FRbE@P8J6{xzVrqUwu z#wO*DHyyWv-5=metqWRx>pN1>d*TW_0vE_T}Hod>ctx4ClFjOQy3Tz|1T^L|i9ALV}cQZlr+-dlP- zr%&>x_Dp2u)!CQ*4u`@&a3BkvMkP?uJU_Izz8S5#A^*4Uuc` zXzXNE5`up`N+jo)-?M8QLtr#FQiAg|A|?<7)&T_#v@WbtO0=&o)OH2tI+MI8+YN(p zc-zfEKH3g~z#)dc^L&h+6*Z-h?)XLglBSP~>!(IiQ?eZjopt4mLIuv-sc>2e$3@u* zAanKKO?@`u1Vt{@;(|SV8pFwYj2#FhoPnM5e2>X45Xv!#4bjVi6QwPPpzo@wJb{ew zyPP9LcxFjOmwtXob3R#7TjX*wd~VQstf;;g$e1y|pNGs|sBpPWjlmhZk4G1odA0G> zSeKZa0$SFKkcId_zG;g=;5@>-w1OJrTO^FjN-4CvRVRW>O5oFz-7!P?GIC?I!UztN zB0~^o^aN(%Z5=q)a)Xf~`u_J-zBVlt@ZGwnIvuoxTQ|@TrTyuHXVukb^Oyx|9CPon zVTuI)K&t~*6ON1C*^l~pv6c%o7SX*a5zJaKlX;Y`yw_x`u;P{!f?4M-oJ;A(!$}Pf zJxd%67)Cu54e;vsZjqQ*Bnp)*cn`sUi#@#TA*($~bjRQq&j%Q+A;93TSS@?x;Y=L8 z8sIFE!NE}pyDZP3g0EF#iZ?d|+==&JQsbZ%FZh(xo-j%)D!n@$D3!w}Dg@|w1dxEO zx6CD-n!d~zjU>D-Dx(a`Nv86w$+?LlPzuGRk)XCdLq{b+yxvW*5#<%Z&>4kJHR z8{l}i*j0N)ctkWX9(EG-10DKefP1Nm$^!_~q(v=X4@I5p-0FL{1ZZ=r-&E!Ow0d=R zJj!$tnOw3H;x1Dg4O=TOC74oc>0GG0SsnN%Nx#-y}?P$@rFCc%*Fc;I2jKLBa+l6Pg{{ca zc8SQ%uy!9J9EI;^f$Jlq8zSQ0`lEzdYRa)jhvrd!y;S7Z6hhn0?)FEgkY(%jUOx)yQ^PfY2Q7ef_1N^SR6Gz-8do9TUELFmA)6cxT0E#6V zVZ>!!Am%Lc=Sv%o@8Ry+y-LLL&@*Y+^RAsu2wJGc1crOjJ5^}Y$wJ4rc%7^1*`#}5f$My)?kyI^x03Yy zY+yIF8AiqJn9X+|I`!j+Ueu$Q>D*mo*Xd&;dnt*et+g#kdGPqtgYU4pyA%wfZTC}V z-Ma~H(J9?m+WjVf+e;!OjGhSTGQ`=7IBUs1#el8Ch*d`h={d0|KHe*te`D)X z(?gprT78-hj@VJprg0VB;%H@mO_qD9jHUnJ_H)T&`Nurx^5ks*#zc&)k&mIsMh4`KZA8@ zO+n-jn;#`{iXCXzGh)F!m^uMp}V$)$SJAG$``-``D^c z64r~`?-@4lcUpPJ0dflNsTFVd!rjsILmms}Z#NN~`nuH9zlii7HK8Za-9-SjbylkR z<4&Z!Xqz~evZUrHbMSB~jHTV4;m_<``&X`Rw!zuPA3tRMYozo)o_sFDC!c>)h4K7H z6$Z>DJUkC)P4hJNpQc)!x)XU;!}fnvVJ<9XO}#f>fW?gP`#rsYvTt%O{T#{T^m?WA zNnQClkA_Xk{{L3>xbQyKt%@dzo>_;jkC5Qh4Cf>6{;_R^VFqWplQCYO?-)$p53U$9n zB9K_5*0KQg*`>Oy+mYERMLvB;jJC5Axj@cv!(0$@lm(o%7)$k{6TTCg;diRt@t~z4 z9f4f-a&b3y&E+@O-ZeiYz3dw<4NGx%ZtF?X5RPR&QOmk z8N+aX!oJWM@!kPChhQ=Ibc}G9(&CIxb^vF8caX$+)MoCEZEyBsFd==a)IyHhb@sZ( z@?4M|VBbuQ^`#H8VgrDEIGD#cdnvT*$X9jqV>Zo0t-0)6YAQh!Zns1Ng+oCB1y}m_ z$Jwm$Q|c`hiW5+$3`O=IwAwmYbJ?>ScM-z)w=1IYzVG`?Rdt5;98jL`K(Z zXwLeW+oZdCH=t%MC3}Sjx}?4wlaQI({AyM2@$?A?h@lqkD0ygB90Wa1FB%=>rPD;d z56@LFc5i<*;q)At{N|nB^6`ll--jjfQ@)Ifs6|F}>%vO4%Ta&-+FAg+Mc}xG!9h5S z5al^n%NCA1JmqE-#emZYn_JOL5w0A=Tr{Q(z{i!=oU-)vvRrnuC%Kv3s44S(EA!~< zFhF!ZKg6&$Ys~Z=oKfPK?{UTPiD*->m7>0sRZ35lm?9}nHSX;g)PxSy+?p)aLz`z|`YP|e?2 zTlUG$3^i86CRUJ9ev*TZH)t4t$5X}5T_^ukjx>j&%D zS6s9HLA;3NhOY2F3Gx45-1h&0c<~PkrCkasL1)V2xP(OC>F;ZHy}83bG+xb;<)Ixj zA)`y=z7EY#~oz3cVX1=W}LF9EFo@6<5FjZ_A@}f;ha>nK5f)C z5Z@^5AfFUgaEDmZoTL_2MHp4A&27J7T_ioh6Er{?L3b@!mW0}(O~8(okVzVwMxpYF zxYPmDst4t_U=GGsy+wJ7j^gwJMZ5|=Ge9&?9~WNHaUM-*F(P9QHVwkT0pEU#OlMG@ zZDBBl4eAt?CoS}toD0nflf)1%-t{!k-kH4>o>HJ?AE_=%jW6KV`>4GY)9M)ZVMi=fvX+gdKe(9YPkRJj~vQH0CNUVGPI##>jB!#CnO=2#Lr0g(A?O z*iQ?gDmfC`lgply@JkM2(J-iNvtitR(rWQewYqD<01Caa2(aic<0{eD7$#@pxvj z;}^9}0d_z)9v0FC7I8`gwKiDg+A&jZz$#nZ-vqY#>yHnTwr})Jh)>#*L4OFmX8>6c z&m`@jS-=pSK783_OLV*mFJZ2r13b;8PLeR9XG5ofc(3-{b0BJ}eZxU1`&jcir|P(i z4*7|wS3E7$>p7fzx)f6-yG@n40+>r2``~2o>tqR1eG)-UbeB|;Rk*IIiBHQLg}Qgr zX;&%TlIw$m7{(@ASLEEPtVD^P?x#LV)po)a)wHNQgJv3@Ql{1)mmM$Ia~8oD-qD!3 zUy(r`_Ijv}V?|Bb`8fiQ?6G0fbwtNhQ=l8J@srSLKvZt-`JpXZG9tj|p6zHY2%DkGz0{62@K+>4^s&RLJyHGahSkVkz5DSo5)F&>%lYLF%%415l&U>_ zAs`Y+yK-Q1WWK4gV|O~}7<;a0v$fCW{{mJ-UQa*VEX6L*TmVvBlLgAB?R#I|Yp_f* z{zn;Ax9B6nb9QO3b1dSb%~Bb4cp>LEUF2gh+$oNB-Uxfx$YYJWTxwvo2V|3_L0vAP zO~g5unL8zi-+{Qr32A|CDR$~%`~I6Bh;188!9nVA)^MrY%vAo`=7YwD$f;K&CVR$U zVW?@KjD}~0;$V0bau%Mk{&Y-@)O{1wi%+p1AaVOVzi8V4UI>6k-W5G z(_#MdD(ccymh<@pKk_un^57C$YA1t&(u~AWdUe2jJwc6KgFQTpo1>d*L2dYz9W~5_ zY>~sFA#Ms~4$nD+OFPf#=b`Qz9}-v?W6xLQRRh(R8;`BpncSmhiPT$+;o1M#IaTP^ zEA|oW`Y1z40pvaJ2*(;hjK8RPs4l)Jw?D`Ws0wf8MfK|K%O=@lBzbu)3P)VcesE$i zzZr_lHS3FWg^VMJhyuH#Yml|(f#LBO*a}6KSB{bucdtp3D`Kg)hTsClKK{yl4h-PT zJ{kG$Z67tZBXBQp=n`AmO&&$`vU4QeI~d4U3p>nKXtdF}Ve?JfYqsI$dwYc^Iq^U` zXbzdT(_RNzn-z1(#^R!~kLG`MUX`O(mp|QLaHgT*-of7_J^hYsO$y$;qN5bEYIx>p z4SEXC9u|C*#;RLjRx|kelBibnF$uf7ktFFj%-63bE|z;U!3=IHVDN#(Z%6&UdbI34 zEE%Nj#RfnV$b`BDP8OEtMN5w?TJSq&rzarg^VYj^lH%5k4k0gBg;Tc4X6^TyrJTqK zi>ej*t(~_=f}8IJ{QSu6FIm|GHWxP{IrTEzR(|DTsqOP8-RFjfUrC0IyylR44uA2u zl<6PY1Ah&8oVB#QeR!e%XvydTqWtLWC)uj&I_Z)z>U+nIsm zEWkaAQc}sZNO;aQi-+shP7&AZ++^puLc%=vFLg+r=G?^WhOQM~e)}fNYv5{$Ct^%% zo5fyH<0R}3CiBVeegjCDtJi_hDw()zx@bQs4o%K7cogMry{x6%eAR3|KZIBlBs#;| zJX;VxRHt*jzjxXHhB>urM}gaJ2F)i6e>PA+h)mw*5ya26Qpo*1#NosW7%YMFM6FS6 zozoBT61qDQdS}U|sAN#cXRG=9JvY+O0SHZ#1eE1H#$8B2VYhPrYV{~sriXd*^Y^qG zLy>x?47qu;BM`!V#STsIvvuE1Th8}0iL!*qo{6+OnP>jOP4%zws`VpqL>Nk4xnr{< zU@$J=Ry42887uU2N%kdV@=^Y)vT0`^@jVK8vBEN@jyWh9(Aia6l*zbC{*gbe^L)O* zYGOw7sETREVafK*32u^R!~4bU4Z@+Ia!#xa;MJs%|XYI z&G|WV-7;4sn#BkqiiixLcf8tqekCMXwG41uCG!1l6BN@HLd&W^+r-#Q&L&L~ZrPt_ z)BKR>oyvwnr+0=I1k85ew*W0&%Y zOGZt4Ido$4lO8^z_EE*mOCA!-%#A)j7bm*C47(@{8FPK}>!_(!Ew zANo{sjRS&T{4j5+XI-+lpax`r?zrBsue1a7m4dI?5bDD6fulxHzxxAzqek;w=Fjg( zd#^wyaJz)2zA{+bYG`o!p}Y&x(fwy8G`ZP$@)W8one!zrJF#qUCWT+{3*>%JSRRy# zseB{Emvv&W6*QOS;)>MH?~NV@(f^JZI$LDu)qn$y#_Vx4pTJ<@cwb4BhLdmkD6}s; zR_%6t4!Sp5{iZz2zB!oUqeHZMz3Qh7OO2LZyE0DkwlCewZjW=>yRZM(yCg)(Mz$ zFLpY0`NZYWmseiRGBv8VrOlLI>-Otto`k~@7Gnh$BTBHEAAS#hlZcqUnlSQ6t6e6I z*p9%7&*|80ZALZO_QQJG-`#iLrrfPw=QdmTlN~{4Hpo60u~3!sdKoj?eA-| z*k(!&WWdKUyG#%=nuLmKkmfRcaq~z6!U_1PnfE+h%H}sC@*qn?js&|hgd~81KzkwE zK$ahrWU(%ptL;A4)mINbh(50iH)CkUX$V8q7C_1~Rj)wMocKkBl3nl{d$!nN+29*DZ??-BFN zz#(1obvCG5-0W*AZa!W#!JxouBEBf5z^M(UEsL>?@oR-~)04UxFlA{@y85xa{ty^Y zO9<=dp6Uk~wfr1UtM0sfo+rz=r9V(#gtu^|lai8qh>On!_;v1Ftt8mEr&8sb-$H2S z?ymjj?K{m>3(Owuy7a#sqTgf+Ft~Bk8Qarw3HV9F=;z!P)rl@FvKG+BaYcYL6TL>M zCFZG6L$ed5*arZ4PP*1wv7WYZT&DdDLK~0U0Y)<@!zv5Vg9OH-QhIcP?9n2Aln=@> zs~X8hxJ2>;xUER8XC>wP+Ec5xO&EnqWpO-`XjD(avd(6$h0m7~cf1S?sAmGbHVX?6@P{WrwyoddS zp0yZDEpaMlN-Y;HAY8Q<=h9Zf21g|2ru;Fdz+sh$oqDd^?Ol1goFIaS^Qab=W)*ED zT1cR68%M6k*I~oHzIELW_3K;B7No9ut9f+h3<(O8>|iJ~er4jdd2GyaxHLFC)X0JI zp(6xPN=K-3a1rDqFdJhsNqdtp^3?tcMllNQpQspj+~g2gA{$ zt_XeCkz1nrY8a%T?#0j^Z_pBDbAg0AfR56+4fk1+NIl={rZlf}ViR$WgnXecV`SK}Xsa9^NR!?~qhLQ>a<@cD3 z;Tn>C=Ush4ZKl5DO-(jGr}IKEt)deW&s0VmC%VEy`4=SfD%aPa1V_%S=Iee} zz*Hr4L3@v>u2Jc3#=M-#ok+siIBnh_wM1>sPu=ha(=w{d+J97dTt-9B*E1w2fyR>^ zyn`nVMskN#CZ-4I}Ri&tK1$=L>%OI|{GE`43ECz47HzFXf`_oC|lHfEOIA+0v{ zcI#s<_cKN+`sPnxt{o3Jv^nQrcjle{akAF-zysBn_|OtCS)=7~o^ZnYl;@g%%TrA2 zf1~X4-jiHi=|DPl|5)wGv-kmJG~h0Vek6&PT6~v}6z|%2x3vEMwD^!amuLP7V-TY! zXGZ+d{awhN?_eZycg#&3v>4r&PyBd49bc_>!iq--hvwrJs-azkxgrG&9T^7;AFfy zQ#)$Ipx@>rZ8-KoUja~nr0E6O4@iL*sO&|OSdpu}^>FT&@kSV$WIQrW&X_oomazY? z9bZIdZ%0h^_7_d{k+xHNj-f%wJ}(j5vC|-_V3WsyLl-C&>bEEuO6-0R;t{vlI7&bS z6&CyjIgte2ro*{{$ig1lF zmoSGefiehSotzH$%tzv5_5vP)DK&CnvoB;Lb=LzZC*~jk21pvnN#4mENUgHd7qZyr zJ=elxvdE@&rRPWjf=ro$8Ysg9AUd32hTJW_oI1yO6TCTTd zp{=V6x%XGAFxLa?Ue2*4uA)4Hq>y+aK(Nx$Yy%Zq_uFn3mBF4at&qDqfys+>v4zUK z?79WW5lQ4IUlQAT9md{=8T!;6qGli8qBJ$zl<)J(^J8(kf6ditZ$^ar*C2URg`uHu z%pOiC$dNu=?^Xm%vcabc7v1sm6QahYODR-VGJf^IPahS*!b2(diw#yNWFrxQJj@3E zOT?EoWiT7hPH_^UnwZ_&6MOrIuyfZ#e*EK&$*N!-$feG2J*O)AsKr^sQC}aU{jEd9 zOn$M4J-uY(c(?ulY!hkn85!wf2b& zhYts9!L(txz7_sGZKJsBcfx^ek<#H1SBWH3L@?}7j@{lQVlR)%aTlK_217V>6OcDM z$)l~I>Xq?S4Z?YP*`7g!Se{6^bO47SW%cL43+gTnYPleo_F$*ciC7BebByNMuXyW2Xf6_Ymuu;swe| ziD^_xHOj&K&!Q+K(>d-0EF@a+UJe~x|F|ONM64Z34z9*Tfoo_GFIGFVpwO$%x7`)3w&M#!PZ+q{5!tMciOA|^-J8wX;~s1D z*FxsM4z=$8IMkM|i{R_Qe{MZ<2xcjaUXOo!U1T12IA!(ix)|INEa1a=uhkD&wL`$t z*0VJP-g^2*|M#0Kxg6hSK*xE0_}MgU87~{_`T6{oo0=y$jS*95*N3n$WY^g1X_8~! z=FSYkoBXQ>eE*BEBiY@UwA$D`{_$^Tod)6`Us-4I{_=zLV>qY@`t5rd?+-4h+f-DV z_BF@e4SgoVQ&>nReA`@4z$M|~BNz2>cMIg3OQ+o*{!|Y?4qQeq@PiZ9_23hyUg>SnPtKXW@Kw9QbwD0NG)MhP z77)-G>^lwzh@SrT5wH@^?gYHFBqGAK&{;@&2a*G4Hv7%t;gV;^!_9BCM+sxL0Cv=% z0Ki?|!UJ%GrQ2gNOyk=%|$cZ<~FxuiC;A zJs+7en;Ngd9A@Nv;lR3{W;*0}mBmoHpbj(E0W}n|yc+a9K45$l#``RVvLHva_5};a znr|X^S!nh4w++{}9zvmy4_I8Kc@#VD53e&hIy-J!f(EYWP*)A87Q6jRkeAE2CSWm@ z?GQ?cTbF~h{M<`L-k{S(UO4A`c7qi>Yj4G`;5$Wt>;W5TN4%K5bQk1w@?$*p;fGg0 zz((*He>Hc$m05um(v{_?VJg`S#wzEr(?bsN8K5Oya_TODw1dn1!uKX15=mZwrfxQ_ z-B+r$vB=yB84WRb? zj=#$pXwChNdzKuuh^OfpMvjd z)on7k<(`|WcmNFax?n$wBe~6v4bVH990U31s#-ib$z44~E9)JPV;SO!?d#qOzKXE3 zGmYQ>{khsDEz`na_0d3Y)kSiF&yC3Pm47&Twe%8!qKaGwh7Ih9KKkBYiq!3w3u(YColBZ`K7CVnQ0SKv zl8-0i)Y4~8u@`qupoDxH;KLF_g%t`Qkp>3>vNSJvAxy?OTd|d%>du}>)>IRmlkH}W zM%@&J2x)K|nph#tHQ(byJ6q2Mp!7bGOe#jz3Jir#Xu~97G>_7cDRPoHPN$U6p8)t# z9f7@bAT3g9#N8}~+*`jda1nO}66ad7sy65m;EsuROkqKOoZ2AYyM)Cd2x%NmOkkhR zE@^HUQ9(FhRZ2UVMPp{xQHS|;*O00LpUf`8lkPxfx&vejMj7IQ1;|7mhmuITc)pQy4&B)1zeM#ENYTB3A{_(?RxX7dB5tKbvn#h3fJ+ z#OaHKSs44|(BTfU&w`~O8wFkGmUZv>Xet0GXcPL)g8v~ zP>v98obHKzQM_0EY%4xuOr(DsHqc)xeGzo*6z!Shd%;b&$lY<@$#ELN?0;GR{l{cZ z|G%G6HcR-FHUH0xm-oNFcx9%?$2Ki5ehNQnp4ak%@hMX=)7hHbJVg6H`d*a||K0a0 zx%X`DgHb6iwR+^2Qv^vCs-gS$h@Uq6d~5jyVv@T36}?rVx1og8v4F_sD-fFidmf_~ zg(n9}am8^&bL9oKeZUfx+ihsQ9K;hGRiVww+kBN!X0yHBbCM-}^I6?*p znS(@tD7S|+qikaE=E#hc0IE0Bl@FW69hF#kYv=)smQy8^SV>%-Sqvo&?be($;N^)PuEkd@99@f?VAl2OOHALBup72-{{TV?wq?W|V^Mo2aTN-2$h2sIkq6 z+Cnrvm~TiSwB0d59-hl%AZRbu%I^^8u`HbST)y*Tn>nma68BS{^XRzmS(Ikf^-!y4 zc%@$YyQX~@r$YqiT>2BrM}nm^eP2N4$IGw#4iER&o2=@kEM8UTv@x{+A}E9(8JS-u z3+>3uNx%vaVWngsn!9@p`*lEnF$!TW$wx3N)u|4i3@FcbffeNP!}=KCt3T>z^8oXi zz-qQ{HFBB>5#W?GT+LM&?jkVH!FR3^=JE3PT~UBnh$Wx)NrTdNa^TmWDo9aP$=$kv z&N3(oImsdS;ZhQntad2dz<6m;4g3WH3e;*KOLI-7txDcd^J`DPGv z8iu%dWi(uz1+Nvp98J5u=&KJ6PJq}&{;ajuTY)?Z7K>idr z;?=t^Epr3SNH!LbL=*K9_re$-^V3mNIP=RBm=%|13;k)inYaLWMpZ~YI>5-V{~t5z zo>GYEQj7+)_FSmCPhb6IguN(sg4{x)eVGeFm_>;a#S730$y+##E{2drO4`NtNcBca z9Rm>b&1|Fw7JiVN=n}3V_v`<#10wKiX`!?MBLWh}?@EjO3XsMq=?{)@Ek>V>eBs$D z%YuoczT>f6AOzJ<3q&G01TNS7xM=Bu#OG<61{Vfs$aJ@<$+d`c1xHp3*C&XDMuf8b zsO(glAzAF;Odm8S$-c^}!8XQ5|sg3qnLkeHD$!x|vt&9RneM;Uw)-11B zq!iMp%W$(Y4)BBRaeivi=B{kV7(F2D!(5q5#nMY2v>yZ5?@RBs#*G%TbQIXvPjcJV zbQSx+&z}TgugwuUv^Jz(_Y4uRAjTB?5VI>l2d=&qY~7vU#~#K34kyirgdtg{Vf@z} zOpLK8Q;S|UVae%xo3|gvk&#{cX@`>oa*D3fB;jG})$0bI&6E@N2GF>sS96T#iqWPQ zI7W!`!pC?z#({c~6Qm3fEsQdwBryf=XTmxf92&jtIcw2DIl`ieX2gOicjC0<7G{EA zO7o3HY?A0t|4u7cXA{EN;m3IgXxB|~TEnNq2{y_agcP%?T+|Zk=bEghAmduXclA8~ z9BTcwE!P!>+eU=P8s6F7XP0|3KvwoIU9k`bx{a1%i5Vt)=Yu>xC(O^B*#4$O+>WmM23Ci`F z>NA)s_U;;OSaRZZ8JwWss|jGni%zYt*CXrzMwVUkUa6Q1PEC(tk23nm14C! z{nOi2v&i#T?>%o=TzxTP-|ggazl!J+KGF)W+sohD@3Vcr3E8yql#axr+I@U3{3F2z z9SBRu31?|aQ#@rbf;ygAKmQZK`nk|z>)Pqs?OR>%r$-OCqBe00T?XH`h*$i97i`<5c>nmt z(Pn%)(FGx6LDU4CVjcGpuS0Bh4NUG~I}jB!>|0PsG53JVUSf+8(jf;BuPZO@HC%KC zSq~#qru?iuw|jCtzLetCOwUSU0e7pur3Nls9~sgZ8)V^)LdoXHNryqRdphNB*-HIv zU+Zg8b%o2`@%~_^FHC%tqb^lG-mn7BR1UPmCelHjbQxXjBGkC>VpAS6UcF;1mBhY| z^y2=?u8t!CBJ^cPrQ!1nZI`?7=T||-U_t=@dL(-)pPP_4tJ(;e!VhQ`dq};yg+EsH zUFj&LJPzIB1$nOgt?j}3O&ZX|vIu{Hw}hmQr+eCeeI3S<|BZiEFo3n(@{#AQEOHqR z^+~xFVD2+{Ehc8?*WbA*E^UFVq8SRfA#=gGoPWb`RIKH_)9kc6qI0p+-(LJh#4{H2 zKk6rb6r29~q-e#5g_mXxt4B5>x29 zyX8G+&A3FVPc_KbAODW*BBuj4M{Bs_*xN#hl(yYf#CDeEy2r1he{d3=51C_^(PhMq ze7xE!Nd;v=im}8AJaBbIXfpG#+7r)f3=2ulh}yDid~dY~M*dcJE-qQzW3p(^aoHN_ z!L9lsi@oMm?XIf+6}Ws44o)W70!lF!mA%W!bdbY$pts=xORkqBrf5&@5hdg9rJ%KC zYzDA}Dc0o85>CJ{hBp`e)Vui@n=26AO{R~~MSAEVTWRla(usJ6?)GQNw8I^}w$QiB z1r;0sN$AwVU64{AxiSjq4wrh7WO^W?fn5;TAWTH%%AETf33ZsQAwBAdbcHS{rWXiE zrDciHPPjS3u@hao55?vF_P!F%>FHtwypyBrk{7M2f=+^M)kzYX2d@h&ZjgE`Ksc=U?$*}@dQZLn&l zDPX6*?)D~UU@WQ+_Dx@~O@5hq{PcPL_RoA@^?gme?UDcb2Oj;pcTNcUv=T( z1)UYU&KUMS8~kVKP~HCOtbFx#1OyU(vW;704KyV$!)D}T!ELDBa2oLJQ?$g;Y*|LrTkobsp_={g!v zzm}b`JF)}5mcFluh#Qh;sa^l_^3L&>8#EYtLCQYvR%`^kS;@};R^Nf0ay+vE_S@+6 z%Zs(GiTb5jO~Y(+CR-jk_UBAxS-5iitn)r;xajBVKio5ZB}vc37H`seV$B5sFHZBq zTtC-Z*+n)+&jMHu8B*kMu7)s_YHB|Q<&t0rbAOg?i-S@h5nnng!sa`8Q?M{tfz9R3 zc7yVD$w;a@OumsEWrf56QdS+#7W@>XbV0o5C@pfJ5OH3=+;KbIpWrOB8>I#Nu3Bn5 zBH#V4rE%!P+1%5acX6J>?1z#2{Ot;rF(v4)y&ty;bX2b^TyKIZKm91mbPhX%*j8+A z)j*O{!B3?Uqe74$4-`^OmAUwQ65C}X2<3D7il}0GZW{wCME|}R1m&3Ca8+92e$aqB%d-Zejy`9Pg!m<)Aoc~{;lN3K?G z56c{Zk4Q|U(BTfNWI~u{)GPNE0DmLKtARxl>z>`kC`XCW8OV812ld497mh9|l4 zt|@gzRaO$yY6=sECN}#kua+H5^aLQRB!z2$mH05WoT!4RLK}*gN4Ib3OfoZ}Pmi_- zBAF~tUP;Tlap2X7K{7ZC^$ta-AfEfaHlN~}In|TrNnm$RKr?c-+2$U@%(V=PF>sjc zM@ZF|`#X;s8a~gw#ds~B(qHgCaD;c%j#o~-LH*v*E!yNKgEMf zk`D@85%#eej)>c&KVMgU_u)o>^X$(9UeLod@do`I$Adg#f)3g^gXY*X8exBV?9CE7 z=L2dayz-~c{~bDK@86#ksPFk#O^S^92tX=cO1&R}~{nZpl&ZG2l3_3$| z*U+-TP#%x0kG4Iw0!CJ2aC45`D8Meh2P zvM-fPDl%V>`%IO$HhB*{goeZxvMRVg_C5}4TWyB|gUyk&n+&o7PBX}q? zVs|V2VOkZnj$LG*mzC&8zABONz~wn*m*_e}fEgFe?E>0@Xjd23aXwEJ+7mqek&|9d zyo&~y}SH3qX{J_Chw%B7+i7}$ zF*1;5M$ElEE^=(Q*GQ_U*Zzo;Z_FJpFgZDY&MaqAr@5?X zGykRT6hHT(qBJK?mPWhXY`OlFU(kfZ%ff(St2fAhQU5;r_kZJWF>F49dtQJ1t+IA~ z?XnB-o?F-Z-+Keo#DN=4z4wUQR_xZ)g$vk2og>Ae8{_{>Oq}FnsAitb3d~udedTtNYmt} z;pBXGz;;zq$Nq>TvjhOM{E*CvoLn@UONj*K7bx?$W;+NA{vPf=Vf2i%l!e9C4|c2OIz;-bUb8jvuETl)#E$ z7MJhf050vmZDd`vt9%Y*;ZE_DfJfoQwl1Qmbb1Q~BZ2iYBc)3wV4(y=CeZl*kN~fm zZ|4&?$|YUKhm;&_HP;W`2ITzrHlTpzSm^v1H=pkea`f3J;CD{QmaD&uUkCTJ*BR!N zW1}=5$gXdV__b@}Q=PGe)Brne{l(T|$I48ynp-k3{&crCC7l-YQQG6@@RKVp8aTrj zzqCTkljMw>AUsieRmt^qbnjH3E_mKP-%N@N$u{c?h*22sADg|)z9o<06Ws2#ZU?>> zv?vXcXUPK1njts|e%(_KZ-lzW$9=~Yz(4yFd+6RkqhKZ8$PXvWszeXp{GMYaK{i$q zdX-)pCOFv`yPj5_I*4Env~uhU#|VR%hf7$SqEsj21yChNWv2xj(+q7?f{6MPkNO=Y zOc?T7IxZS8tpLgLqnFgjtp&Fk=J%GJQM~t!MeTX(%(>`3sx&;1NM=)#(pU0nPFT4u z6HFlI1XU+4R^~l3eK>siAu0p8<4Mk)!;s-oY?SBA(5}FGUQ(61BR4R!v~Tj1H5dvk zctW0*_uC$5(Dq2QpT_S)Y*$Qr<3^PEQGff$4LAQ)FcJMayx!H%Vz~mPi98!0MDgFB zul%5iw19}XOEiyne~FJ1X?>|# z+H*_(FV5b?uc>_7_Fd^40<44pp-)2SgFpa9L|h30LZ_io5l};?fJgzNqN0_A0HF^E z3W^#!#U2oqqEJICAZS2T>`FkiEXxLzve2@Mx2(O-dHdaS_IdZ-zagKj`I~c$@f|kr z=>z64zl+nY^=~AB*<82bTCLp!|4!#VUvrK_{9(iTPY)bzuwvwDcRVIbh_NwfAo;pI zd?{0RN`wHREHjdT;VhRVY|V^zqj1OQ3PyM|J=9Tdq}VO<9Ea#8coerygp@w1B@*T& z5IiWP^NdntZMQBMlDk5dreP#N@|xw1+19P}JCX9;FT--yd?_t*6>vXz(g0d+J&2_~H^$SQ)Td@l5MdX1psA{TddjFL66a~MVI93GA(kUNp z1Wu|jywC;DfYkw__2?3bbsqhmjhwB}Z~Csht_GR!?PP2Pi^=81*g1qlX4+z2ZaA0R zg@+7qJPdC%js81JVBE=HDRJTWRv6-$8kFqyiaOGw4$`<=Dafl})uuQL%4PZOWi09; zrskFp={5?RHwp9unWv$>wZjrsIj$zNk7ax$UnI2FY#!JGw0n_k+Pk!EiIApcG)bBz zH7W&phL=A3t#=#JA0?_v3P!<(+>eEbb~W6#b8FaSMwgnj8aQxjB>OLzis9IAg090> zC+VIx`n8Wspkyc3v2;+uEIavnkTH`{_op+@&@HL;f|_ILOcoHsmMaXa$}yif1G630 zyqgBKSYJV0{CPh`dsz#eJy8P}<$@2lbA$9)19)_LySXIlO6E3_ie+(B@lY#_QDHJb zmfm`l-76+woErVY9Xs#;wY24g=7q%$e(iO9uO9WxUyx>6e!0ZRT32Mv}!!)_1fE_g+2NY<6JjZ0<+Th^~ZHhrG= zD>PZL34>4lq;=^NhU|WJ@y}1B0-D6OgUZRq-N7w=btKVB`7IOlDE97!ptqGRL5M66 za)m3`AO^~B_NEhJR^_deYptWgA{IgjAv;|T;(7gO*rkm9T;~lNs#Focx8izZ7l-_!W{SMoq=k&IJYz&P3lN9g=Wj{lf`z(u5=~Tq-QRy!j!?)0;nIzIfP2Ix&cZ~Wi~=W zW0#vWR2k3&{bY&8m>ledNv5${4H%85?|izo*EfOCKJ-KBQGvX|#h>ep1)X{J8ZsO+ zw>qZ4{U9baak)l<-to*6*PMpVBf05B%S^Eo&V9VuHq!87e}|d-;JLc|5G2C{FjnB> z_@;J+=)qg4V?4F(#@pn4Xqg^$DYq1q38;cSAt6skuP+9{)uk55R6xY9R!6VX-P8j0 z=MEp8NX#PlJ!f%GmN@g#!CK4TR-hy(a4$zt2N5w+{s9S+Z`Jz1{aEf!AT( z`bOLeZ4cG<6-63BC1JcD3LD(H?LF4$?|%F}<@x*0sRNcTm?M|_7{xAQ{RaGRQ^`2~ z#5J4R>Lu!^X?bknm1$wN!1R42G;-kbhUfU-7Jk0C_?O*=@8#a~<-L)AS%D=qM{3q9 zG~e{OVwodGdvz+@>sFi37a?_yxJB3{r4f4P-v2FB*M@)>8hd5tfBTxd^*a7VsQ&+( zN`HrgDhR~W(_Puaffkx+hadrjlr+$Ruap50y%aQqqdgIHJS9t6L0y>CS_=sbIvhIz z8h2;B5M>CPj%|mh_F$Z1xnm;qPnFTct%1*>T$Qm5&&CGgd&svl9VJa&*fc+`0f}=B zz>ne9y&B`5ne@np3+Z>xE5M~T3ePVotQ>YDgsxUjy5=H1MM&*B3UHCZ=jG|-J7^;V zWnpPPk-}U~%*nj`dt%B(njk|Oy&@!&tusmySPGo#4OQK=eigYe&Jx_L;!z{zx4+$* zR2TpXYd=`5x86ZAi5K=|qP4{{i!I!d{M9I%T(X{i4vp^&?0Yf>xj7Z)e^&ZneuxA_ zQySZ_O3Ec`>^#1^z-=s)-eB!zTdZuB2x}?Vn#-(p%JZ;KrSt;>y}9sy^DMB8ZWctM ze4SX4Hz2RU&o$cLJ_T;R{i=XykQ9=i20OpX=6B}Y|L8*?LLHYN{QbCqFzdWuL!MuVL+~vJWHWE*@z^2 zSGjpKs=RClg~X85OPCB&oKC%?FI9hd@;p9MOaJY z!@~d2x)GwK!@B2#wQ-0qziC(vcOkS+_nvu+TU{9}jd05U=yE&iO7N9eTW&q~Gj`9M zRo6b>Mfj&5EBRaF*%>!dpL6p*w?APkW?`;J`=aa8z-s@#=*ttS zGB^VZ{a9_<=97VaWF0oVn$AsAw5*{2^e8cDnlM~#_5Qccja{&B7z`N?RyZVm14eZ5 zVNb6TwnS+l+Vs7+EPPll8F_C`Ks6+N7^G{y1pzzQiE$IwCT1c5IN_5kxzShW4FnfC zDTqs8va|)_TR1jX9xNmxQn|1?9>(+L+Qcl}WC^g2K03q@rLX0N?F=sidRsK^5G)%lowmrrsl zapK2GEAfG^pY;R9sBUg7VDN?KXSf;94>EM>L>6QqAhOu$ThS_TXo8{wm9t~MK*xpAmuM6~F@~-AJ6cFQ^^y#1^F^o-*nrW#K#P$>EaTT+<;ay3 zh}aM&jk)qsGdKttvSzy)Q#yz}yHA$O5emqB<*3(iTo_}U|4WP8=755|N z*#`pv1&K9~r}>aUNBs8m@UsJdUR%5pV0XTqagiS2JB4NC?F^;tZAJ^`;x%1|CrV2SB_od|zQ+qnD?nh&3 z*Rp45OGbfg|DfO1*+Dj3KK^jwb3>c3h-KQ_U{)@IbGV_a&g1mg5M%%p_L`U zG{#AgC+qdR@k?PM{|~E?#OuHAAo9QG&8$DM%J02~_{;dI8-HT%*#5p^(pSX8a^Qy~ zn9#$x4Ulm>7EtWwW#sOJ@^ry|OY)RlZ~o6DPZPrPf!u2;@gIJy!)^_dtY)S6f|?+Q z8kooM-d2ly1-bPuafz!1GNUJssKS*zog=B)=8kh%kIt!r@0x1=&cN!$tzNt|l-w!k z=Ny^)Kc-OZyNZ#DrW0)v8+i2P6#wo<#vyhOdFHq5Ll_~Qno0TchOe-l$={IT*!|~8 zI;fctO-0p8b&nsCa^Uq1*}?@fmVst2tO^WEV0{q=qZ4||k3NwuS!p9%(ZB|h=<@Ga ziJ%>x?~NXXXg>OY-ILRYxRikukSEzn?5#P;A0VIUy_jPyuP|HATe<-P%@QEGAVwNM zU`_n5j zb4)(y7x~VLb(`J#$J&H7lHO^ZLA+R75M8t$lo=pIT+2*^hDS12dxCK*Y_nG4Uf+&umHzfK_4V_A7zD8{o7Y2sGGOxSd4R3)|4FRvB zL+8yg+)ZgiQU&k$DDq$xNXc1C?ba|u{0u2l>$Blb3nC$V`6^0|gYZ-U$+d~g^k19p zvV>7?kB=uXANHG&Ydt1=?cROU_axNx%0ytVQ%7K`AN@c(hGsaO7rrR$(d5bbPGN>( zj;hWu|EMuL!by?TT*rX=f)h})1*c9+^uPL}*&GYS7CaN!vmkTm?aPkACvc;>Pm?KA z>>MmzubD2`*V}D6bib!)>rGO~^X!c9o4*-5z1W){gZi-TA}&}#uoezUfITg!>9h*})(IO2 z+3|NpNPJkGryhPoVR>?cM-u})9eiF7Zc|OeFiSSGKk!FVmono}P_aF$UiUeOTUOyz z0w{a*#@l>qa6zxWPnpt>Oz3ksP*#-2>KSpm+&=_^poS@5#tLdOfZn`cR^N1_|BJiq z<-gq@YkP#p!d|?l7L@j_My|~n>T_Cey;kqP)0i>@E#&&8+nH!ax~2XFpuMiqzw#{k zf^!ylnfB=m4Fl|0tfTXx*4G~#cK>Ee^Rg;Fz2>A?@KshSS<*n`wJI@>_5Kk}Z6 zsC<#hU3vYS{vyA%|8Rqu`~96ezNuDMi`^YX z(8Hru+Z$h8iHyA;#<^u1oS^JyXS<-ifWBEetn$O;XpKS`(PX%j#!*|fB)|~M*e05o zxI3Hz=X1g-5Q&Fos`WQ0K$TrQjiF$a@~5()Fqbf26Ui*t!#Y&OQ0OW}`eHiLn+yR6;iVT;Wr=@-yj>lm(KdaWX$D0)thaZTfML^ zCMA$TG7WwV)Houzq3GF|02>;^d&A$&qK0px&zwf@4-o)kRF)=tA8nBzz#X91%b^Fx zVFSzuZHB7z7vIgn(D1MRg)TR%BGxQBo~9sXeW=cTwDGkfTGQc#wN4QuHw@19bQ;G_ zZYSQiJPc@g(x%wM{Agq$yli4jjHR_mi$fJO73jV?hEIQTp8`?XS`_#VcpA{K&Y2_w z*S=LiSixsu&>z(X04Jk@M*Rj{GRVje5RTek-8Er9S=P5~|OUD45EUnWCH z&IqLR+`!pa=N@aYX2t=@^EUCYGl82=L>4>cLVnieegly%UlIT_fgxmQRU;CPuq(@? z+`6PLDHL4nQlP?LW->z&$vI=zSnv3I)|r!wEv4>Is@ltTq4Qo3QbT?Ck!MjLD!&Y& zLijyPndAlmILr1)gl7LorN{j@NI$R}3H)Xe(yw&0Xf7 zAiK)?9$+4p?E{XGzE`VH;wEzsXzKQEOknp-IQrtgPY3`o3depc@-7 z6yJt&Q`@K&wL~XSu2{NLX5OG=w6LRrlVY@F;)B-O%u$e(F3U}x+~yM=4Y-SC9tpNY zuV#tUt<*dz`~4b3IECEO|sMzQ; zC7G7Rd*JFYI?17ofTV%ZmvLQtnGyoX9b*&LDId^oq5CkkutXt#<}`Z4+8@u%768ds0K2YV z9pzLQNsuj%Pu&P)<~f!1G4(DuB5CrebyBKV=oKL6I;*QNCN8jPG0qz>EgXMBsH0T6 z+1Zdjgw&^S$-9oxxc7x{BswE}>T4pm7k67G{M#dFDzz{$0S;aX??;nV33(=iH26-$bI9{|;i*X9%jo8-853iG4J9;dXDJVNF zDGHB8DDKAjbrs09;M1j}{BwI~ATx=p(Yk-|M2b;P2DQks-eOQUWG|jrx_;gTU_3Tp=gE;wVOF) z+Wi_S=lz|-guzQtiRy)Y0)%oXx75(zuh6fC)}Rd%k8XIC?Y6i;|2p4-Mc8i{h<`{| z$>x!fF{8Ai`I1w^M?6}$gr39DyCcOnq1oJ$kS|{zaE2qi4mgzrw=oR{X}D#>WFUo| zR)9?O1~N3?Bt`x>==`})Z;5YliWTa+v7e-_cuv8sjek73|I%Suh2-6?9Zvr`#^3z= zG48dtmgzI&b@DDl@&hNSMzE#!=Kr!EhctNQwWqr#!Ra`VxwWp31lq4X6LluFY^o*Ts|@~13 znkjT?OHLZ}d?CNz$oOr6&&L|7Hc7+?FgANsziR zegJ#{767>(G{CxL!70uJaW0)@ozn|b8ZWwiA-2PtH_^ctpH{%g6$$#-*B4qauyH=b zoIOvBo3wLkO28X&{9pAbP~O404wtO+30*ZF1_YyU;{}`r0uS3=VtGx1W4e?E9K;P9u`s!a!s9g93e%0hDr+^EdN0WY)*6fH z!OO@uR%6hON z&WfhcqUbDdUP!n}lwj}a(AzeoyEn}h79swzABQse1*8U@W8u@FHo~_sYKEglP?0`0_0V3Yl{$yl({cZ2 zV?5-@hl-}aM%(p+L+d&|RPI3>=MKLjMSd zVqlCp$>7WBz6tnr_~^`NUY)p!hvX*D4xir`%}2H%9Z-|mxd{x?I92+`n+D7lpDyAZ z5@c{eft1n|xLxh2rFWJuDj;F)(cNxHw^+A3-!Rbv$1S+G{G64p&c|{2Qirz?7_$X* zrwg}eVj~ph_#GO4nOj^nVx%;GG0Sk^k)Mi>B+wj7L)Zd)y_mwX0Sar#4R3n#a=?=x zx(;8YdmF%8Xkh1Ue9Zu#hUF3cdzHNJ7qWw0_;&k7q_lgiTv_vn{BW1&~&WR4IL16WUG&tX;#HIpvgz;c|jcNy6%uBW6)HJSwm(a~-{*i3>l+ zY#ECx1mndYh!P(u+Fr@Jx=Lvos0mk?IG&^5)D@&@NGoe7y@$*;EQ#IY?`6JW>1L!2 z$|iy3QVT<^jD}_1$l3L=fpv`LS&TF5k%lC$h*npKDMw2iAT}wiL@qTch~D(Yut#@f z2gc!1M-E5k0OaG7flo$&B|DJ*`SK$Z{4~+1pVs5Ms?Z3?k= zOce6Dwp;KklkRB!WCJMD!@OP-EK%ugSmr#p7Ad^5auf{QfZa+=Qt)i|r8Z;_bW&)h zy4Q-mqibzs8*4BjC{3UD0pZ7;-Ad_kD69@6#!`UE``ozVxxw(#Kug{Ql8rS^H3Fj| zS6<>ED-)EXdFbQ8!_iujuROY|CS-p_q>)5In;-^^*;|8tz1PV%Moe@&By|<1!I<~^ zc@xe#5%J1BPd9*i?wcT=mVZwLEUre<|(q_+^$+onRd56vLO{>xJzh z-bRn!ZdevoTmzd7E?F}9nQE7vZvSsRA{-CP8c$p?`OQr9r!ff9f%A_K{MrqV`?iyA zYfeS|Ha5R4_f*pEmHF9Qi>q5VpZ_Ui?vJc@8*wDywMhuON(fzhG>s8?^^2ol9 zO)!C&9pg*lfw6d!fpp9_50&5KoljMU`vQ`08~bu&n^=-)Vgbob%1Bj0Z(xtHDK`ay zF%r#!*(Mp2G_lq`&?T3IEK|x24Fe5g0AB?KM?fSqgu2vp-c8)MG6=E;k_8)UXyy;kNg(8De^?lN79)tbZn6W>_jEGwv6xId|=P)&t~FR!fp*V z)-y%`oaF~&9h8}pY38BM?l`AIPYfZ3k!iH7cxMB-&+w8eooRUpUarZ{5AAEPICyT` zpkmi;o<9)*>Oj|m<0t`a|+?~M@H$__&Cui75NpV_!%Fnrvk2j&~EMOH{Nue zhr41AvWiky^iY!?xedgP z_8|U{UauE1en!j%VD7Te4%gi>12(dC_9|l_eeG-&LsUDIL|M zhR5uNRa1E9Axpv)n7*9YBU$a7JazMk(fz-Cjog16XUfStc@#WPl=&fNunf-wSw0?u zhQTB4o*;~fo8kG4M_5_R?Rc=<^@C@2K7rX)FCwQ%1{$d_2K^0!CzfD;iTS|_(iZPF> zH`qpo4%n)f1Nqs8B{U@@qswIS1Ui-d3?K-=PgSyvH;Do)s<~@wXX;i9MD#~^vYTTd zagPzhFV6ZJ(5CRW4jaS=xOEXfVRPR*4~8wO#&Y3)2Yg;TKKxK-u8*vayp`^i;vaf& zkKEkgM`b^XT!ve+PHYIY*166)_R;@7Y{&ZN4&-@d)am$RK^{zrAi5xe`rX;KRgNs z%W!03Ek+*{5KpSmy3M$1Q<7LaL=D<5h{Qa6uM38Uu@`XhxK`7B@J&&J5PGyamwhN2uwoW#Xn@p zAshv7$2#a0ueu8xsYa4EIRiYPhm7SRSd(Bi`ZSL_ZZiUtiyNf0CdhgcW!VcbT&)KH zn_j7GL5v(C0Xlkhw@mM=YP~n&XMQ?K%2{ZQ!POe^jvrCPOmhu}RK0pKb>XVaXjm5x zr>+aeJ7gi^5%j+NS*6@xsZF{@&+$Ob=7&F-&Orc}GssEYW@aOc~=i%AD%JBLIo%~R`W*PC=qEiK!&3{Njl{4FQ8x^}%pur4gJsgLc6Sg|^+ zN58^EFsM?Kgo{+)BMm}*?rmG}vS-uzQD>e5z7?x3xqJ>?%je#9A3L;Usm`8(u&7ug zz&2{?B!0uskotFvoP=n2ZAbZ)+oIiM(aJD_CHK%?F!IfZ?btHgu$&F$XFgNT_PKQ1 zaOR#$_;stR24rTplky^)r37mx#^QF8Of+!$s;2oE}T6uTLPv zIZdpALQfLwl5S0^<@gp{EEUyNrJNXCy_Hm%OVevMKjttlR1iC2EMWh0Gf5)l@V%r6X^20Kp^AFOFOR<7mBR$%2acMvv{%VwEeTp#px;f?#$romN~^y4>{sr@gtx9 zhjpG47dACi8Nf92Jd>V7^#1lL$og+e7mjBvIL6d(J#9EBff~q5qPEu&-o7l`U?g)v z4Trm<73Q>=_!ND znIDmN4*H&7`_C#*+AsHo$2xw?Y!)RyL?zs7-FQ?>H|o4g<%qfXhlib+y;>k$fom4+ zxldYlJm|+O(|YZZRQRX7rTw%b`5azpeaKK!fqX>}VP2d9gi2$hghur_mcu4i_EODc z;MQAM?#@*1`FJ%d!xNAG%{Qou-*ur+XN_vUGX~vjUSPFmwll6U3!dyEFm^x#sf#Qy zG^9=Wn*_nax89{NUYA}KT8N{0Oaup-xTD3e$W4Olp?1<~VrfzX*tZ11r{x%4e^raf zMKpIs8}zg5HUX?7^11>gdqP4+4$^B`x|`%UqnOkt9uN~pSLpA{fB}?}=GtlPx2{!k zi1I}-XoyILhoAAfIseM_?-=0WO+@s|G(;)`EH|WcF&Jc!%2FHIC5r!68zohug3^R1 zzSrX?0J+2&uGZS#W?#m>jE+19AwRK*D>%vO`Q0Nzfsuv?Hkd6B0`KGGHw@B{{27P-stF85cw@R$W~kn!U? z%bWNVIVATe&m|{C=m7gaMW40*{x6Fi{=mB!8o?O(16gHW^BghwqG?;X+ERgUbLt6B z9vym(Y$QWW0d|t`Hf7?t@EzKG?P3&i}k!T{ZH13GV3mZJRvaqSCal z^KO5y?KA7uGxN3oR~(4Bzr+vW({rV|?VjGoo#sW*iv-{0LtGhhDKC970j+6i!7xuP z*>vLUx>v0h;_aXF49gs)GQ(~Z)~8FN$&kxdw|3cQq|&w6$MN-0_fOU8Y^|Du;JT1* zouT*HeLCHwwIMxz-i>*2F|`4U8E)NQf4OL>zue3GHiRyVngR8vdMI9La_8A8=MIfx zj~XQ*Lm5lGp~Si#nL;O#UP>Q1*BL$-=wI3)vjnHS0C%o;8RS%ed?>JTPb255;|?TD zNOhKm^E{LYP5-p|zpwIFWI4Qy|KTeC?_UM&!!N9NTOE8~-Fw(B5pTN73hg*f$7qg9 zwT-RO+_p(1(x!)6rIcEGOjnQAbUS%juQI1P0|QT_oN5ES9pntexA%}^L_u~6`jOY9 zpO1Ii;LRHRYCb(Fr>CYa-p;si>DUJ&x%SM%AO>Gbe@-3n{9^+)DZ&|e&)@1{)P0m% z?f^v4^nsuB8h5>(!1Eg2H#K5-k>ST%fBud=E4r3!uuz->qk@V*~2nJc1B6B38cm?gng zl*7|H3P+^X8APGWJ!w3`u{$4LB*EOs4ll2jt}4DA(045cY=cBLlt|x=yv@ z3FZ+UVAY}m8O1cl+pIqN=pHjJ_xoAoy6=uEIEtMbev>1I!VfFVqI507lt`XJnKSY< zv#{qngrxQU$y%P}kThkAj@Da;TywSE+pJ1# z9^P(8PCm8)cy#2xQx|d#VisdHv-RN%^rT+DHTL^wU-B2R;q>hz*<@0YXcJu95ZT<% zKBR+*4STMu^C{>1dWC#DaENZG1vzO2DzbgLTAMgd7FCW>=L{IM2Cx~5`TD3xYeq>s z!{7KewGfzXzZM>VQhZ!KGacVOa7CBD{|5L}+Ps^1w0N6gcNS}6(bFDa z$9r2p@+BfK0(;!uQIo9}Log7W>C=T46CqqIJpUV1-e!S4PPlX#^<)=rua=5jGP%_Z zy;q&{6A$OEhP+RSM@w?se7K!X#AXGqdT73O#kB;651u z)?Ysrx^z8vuEzuJ8H4Y3m9lIGL0`LwS~&aJWB3y0yBwI)NF((+&Zb^f;V%66>!F<* z!+0_6bXie`k!A1q@cZ9tNoopFX7r-5y??t72rxdQF+>0Xu>Y+W?kk`RY(kg-0Dcib z;f)2&%C2m@j&0OHb8Sx^aw}9LXsPQfq&X)&8EC1$DT(A27#n<0!`J`xoy47-ckQxVrOvKVb2F+xz%@@HtucwX_#G0NK21|^~aF7)L z#zz1%FzpA#ZBS_}~*~4{mU6iR;f&M0e zG;n3^%2@!747!^gtN8QN?Uh;3M>HYv?JQ4sm(Y2Qb0+~fVpKv_JxOe`=+QK>dNdm7 z$_W(byDHB~WP10*FZB@MLis?Jg9_4IwuTgpWj{_$@5YTMKgUtR&UFQGbZS69*Z$!- z9@*Q+Km_2vy=(MY^+Ox1eRYz#e{&n)=X7PaqO zKFJ;_p@?0+$ID2Z6I9s6hk!extk5kCg$3g4lq1J*O_YEE^S4KCw9r4US$1`~(kSnG z&^iON!MHm7vgfq!e!Ko6ly+f>B-giShuTfs{eJ2t0eNF*xn`-AwYir4wgd)Y*<(3l zi|d2t4@l~LdFVhxe_SZ(WN*>Oe8aFTj+QH@W-;}a>%EDzY}$0{^FHu^Aa-Pll}k&p z+kuLy9E)k;M=rT9DwITX7!UqI(=Se1u1#vGULc3)3_pnI zzcl(%?M?C#&utNWYZ});Ui)l6yF3dl|24kmRt~iJoDoE!%b!UyRoO18Nfa_|BW?D# zoMpdh>ww01(>iBGFsngNk2+xK$N)WxnAugd9DCbvFbHI2AH}O|ZRK5rX@pKDJ|Fjc zixxBwI4!7rm!&L-P3HqS%LDsd7AF;0{y38&6^rZ-?Gis1nw!oIc)^(nv4=p@GcM_(Y_w#WKt>w zm&U!y4^EycVfK0%+!bngq#{VRXkFS%)lF+vPHA2P%aUE4$4lwLduQvDnFy zVRk(gjr5nx_|<=CK+dHbOmc?d?2;db-pngaSMq3}7_vDqQM!BbIVZr8Cy>$6W!B~e zI~3hZe99K{fSNjk<9HuVL`yzQW5-6)iP|4@DM*ep(MR#K-mA~Tf&-j7%H@RXO!qr` zQy81|`VxFr`j3YFhVxA}VazQllR zTL;F>ty4CbB!12pp_Kg_;{p2&6lFV}VmWh^!9W?*jpcjQFn}z;&a6MFyfV{OBd)5L zQ(kLJX1bhNS9~_=Xa5IM(N2wsmHAK-^M1>&d*|}hX9P&ci6*@(7vw?bV#ts09$)gQ zMNxb%&MM&HP{gO!s*!VBmfd=Id+(=9O3m{Lz5$QMj(los3Ob*({??=W9iJ{Y7oShw z8u0kh;$M9&R(RJW9!C;pHJ!|$`;%wCg@)TiJV@sEkL9HWM#Pv`nY(lJ*a^QB1ksif|Q zz~=0%#$Px6dZ<=6Qz<4CIT9W55{yZeh?u34aXJ~qvF)*>DwUK|#QTvg;AiJRQdU-G z_eQzQ$dN4xZjc;zwT1&-P_*MrK!;OJYSC7b)V|xTGP0`KOgwCiRTv10wP#7h%hE@Qb=zgTW1IGyzuN_p#NI{OroFaV18JN&8f z@E5b=S63$xKUGVOXOt)UetIPV+}(5D+05Zryz>6};hh5qTr4YUZ6&a#@rmVaHc6KS zon;W<^OZd_I?r%;B@n;RZ7!Y4ueo!K5-;|mpRpv^XGshnzVe>BhAs4Lh}M0m%r#Vq z2`L#rY3;HuH*0ewZc8?&#J}>oXHCYgc8N7UheuH!ts{-!s7oK&)aO<(C!a9;@!_c^ z>@RJTxCa_Yt%Hu(Wyw?792aw=;{q?5sAZX%OrrZhiCr|Ux}lj=HLCqffA;STGRc|q zY--twUb|UO%&Kv%iUahVGiRO^Zj#A}9oe{LH;ETPFHh0;LAn0bfGtj7J6%RN3u4&o zGsktYL0JC?F`ALKBgYC1Rb+yV`&0CQpK!R_d`wugq-j0)C(7T?R~jvnB5N^+uEJM+ zO6OXTI=-u?GMmtnox3Z*ks}mgk?k?$wWzfn^!Ql|FplQ6b3x8Mge;oa?5-cjp3GrHBLl

Er((DdA**Db?oO;X|%Gnlw>(DnV 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

HEI%KK#gI{`LpXoXDrx z$YGw8sU-?d?#ijC@FVOUP+Wf{Y@t09XY4ksuCKUuyW)O&S(~ML^DgJO=BUVV4@!t&R|L8eFcrMU z4i;jAd?jDqLf&Zwv6bkQ9t8CX%W*$7XZ_5Gihj0ml6UmsQ{^6vje@y{jCd?T$!uzu zRWpKmd*9VFl$0WwekEHDJ#60o%gyE1EHSP32^9A#e8}D4tI4@Xf7{Y2!`k6c8Urp2 z7Eq4wOUKkx7Vtw9pzLWr=)h{LcV8Z$r!-pYZvaS%wqlPxlF3_>M8CB89})RqxZ4FR^%9EKct zl!}1o?5sDbs3G+3J$ck;u`NOs_Zb;N?Vt#o? zs2%BO?A9;xi+dObs#2GrJg8I;Jp|?KM+t;JO#eTg9PFYUuEIzqBQtW^G z)*r*ep=pde)(6P2jOCXTnXHvZJSW>%G&dHqjAn1rpnhDi7XO_U2q z6Lql}WrpjREEg@$bEv=_=!H@6=BGN>=h~+eD}#&ptX$^8kf!sJG8B~V+0FcYN?)@jTAHHg6*11DE1~6j2~%T6VaK_dtUaYu(NKPRHCE5qiKv| zT)+VwA)7^UHW#~E25oARXcrHk7XaMkF8lKeM5f2k(<1m4hc4 z+R8E#A`TeTWuiQRyxr1F!S;tjH|L~aFufMenxnK%9Wv&hxhD&;;-KPHjr@R zPkqX!N47hMHte1CH)8JEyLrJ=SN4K)@@=>O{77MZ-h6pPGVgELON4FykDUd-4Sv4# z-udb0+p?^3s2)>vUCw2f;&>pJon9A93K z)+%L=wyhK(HLDq}Z-C~~htj_e8UARSM9nPhP5J%ol~Ot2D0i6{qDc_!X!Fg5pk1Nm zTQ<`>+=M;a8>g8#fGs@SB9g<@MzS)Ih_dGCdzCr}0t2Jjd2@A*BJ<%B8EQ623fHXW zCupYmKtX_v1c;h_zFu}*B5sw~So>PFvC%Z-IV9N_Uo7*qtq!z`WqV{e(fBG3z8=J` z2bt?9qSW`ZGb~femBZvLeT&*X~28{~PS61aZVX8>R*tFp(D-tMAMR9QSZCtz5sN7gnk{*IJ(2 zxSwBaRD^X>iP;>lRkG0D@9IZ}RGyW*klH;wE(CKl$lq1@lI(1}z znXcb*U1+YHW4+mO!!LOs#CJNSbgdPG5C$E@iBH}iezytEQ7XfY;XG~%^syCc`uuka~W61|4{zHA8C!wy%{P6E4 z+K(_EiwmI@CK#Bid+!@9pb_OR7WEU^0t3)*(V{ZdZ}QqAM-^zT0fx#2ovSWqOiFvq9fY*M)30p8xDg`-TzC8eW?f4u(rcjA~s}yj|8( z_tZ)MyV}iKm}ye7a&kzeZV3gY9Yx1R=(kcLv)bo>kyF_G7Oh-~#KCNsGGaW@@Dlmi z<_eSO%7+IyE80_^Dd+r9Z`H1orTXN9Eu+((5_2zGs?$(WkTj6zXD>fWC2Y7H0h!x7WvCmz~vexnG~(KA!XK z@xD4Vc2mk zO`bcMzX;T6g76l7c~U=PtzGKyn%J8X$Nr-U@x@-}^_J%(q`>CgzOSLivCTdH%b47` z`umxE4)h*iF7o(U=6S=zZehDuOS9U$qbM5=BPkk}ES@$l2}1>y2onmX2^)Bf_4Jg4 zxMSpXYfhRh75ZL`d+{XyY>LfYze85!W_E_{%W@T6w=$J0{*uDNiS8{34ww}OwJ&Hg z9ATnyWY$76c6Xoho4hmtgYvRxg<6G3g}P>+z052G(eBa;^2OdM^CBYt(4*%M*@wPZ z(x`F%;&QbE^0g2c_wkt!YMch9WkNtsg-4V6i8`cN7aK*xRw=o;WDhJ74nzgr!`Spf z8|LJoLS7YLARM?(5M6sL|HwW3TPsQ?UTCvQY5T()glRXa3FP*vtEPE`aN&Eqy)(3? zSaX1``SY&(TU^*4t08!qe#?sRg)0m?9buo9UiaSF8mVIaq3fyBpOaF23?`F4Cimeq zDH+Meo548On$V!+qT11e6NL|E9$qH=7>2y<0H1c@^H#t^@6a)3&!qE}wC}0io}E6R zefh8o!Z-#a)B4HHusju|drB@cxwB&Sm;097<1PrT`p(R$XS1^qnGbj2BSQF~b&e_K z;~Mz@cBDGZCy)i|E&@`BKnq0S#RA<%f&P%da9RM4FO6MWgQkAO2Q*m zfbSSg7O%rB_Vg9w7%I=}aF^?p`@yv&U|q76L5TfaDp{Q+2_^6s-$F!rx&GI7}$fk#$Ftj4bcgpyTb-5Qc@U_b%?jzIVapVXNhI3%_*LbCf})p~4~nzze* z(YQM< z2`1V2R&?s3hTHn30DRf4L$P zfg%pm{Zyo90|zr@LJlLxcn}AZ1c4U2t}*JOtp8*11GR89M6%h#_)U3OS>4#2rMm-O!B2^m;?GH z^Q$gjuasl}(L6ki>rYGL9D8MxOxsH>Z~Sf|4He}tCY~xGLu*nMrn`+A0DuT_IglJ# z|Kh3lY~)p@#^*ghw6O0s6J9C5wdJug)eL!~d-TGu686k4SvVRRM!F_H=27Z0lDaIP zH(X+V{wiZf^!aP=P9Df#^je8($Qb9heoBQd-toEi-W8GlYohM4_RI&trRD5T9Y8&P z=~?jkANBZWs(;OvKi`HnUikCD7l75qD{ZzA^< z4}a!k{LA2#nVG9y;2KAJ+wAs(m6c$b?j%_bor#noQxzgg+N(WyA$Au#T2)xw$`}cR z!9a=x%A78&Ic5<%&Ez>;w=r^`5{3eyJ2|ei&*d$yZCw6%W4Zd_PS1C*32LJlzVdpD zHrGZ1(WfNS*hfI%6NU*{N?HoYcxv?69~pXyOeXHd3Xqm`3=%}%WEzOPf#`&T z^tYHRBG-snk;lZVD)4q-)<)|%Op)wf$CI6CVWCy|2Ili5Q z8g4l$Wmt6;@3baprIYE@Q-AtdhIwTVEITjZeKoBDwQ~kc2%R|Srbw;lk$^r%P4=i0 zFhWu@$&8I>ZnV4)`A~tXM>1;Q^|?$W3oh*WRywGjwRB*f`<0uuiQRgM5HKn2Qeb#a zG0F~%Ni92Md<-_UVL`J_KpMuF@KfwTp1y{pv6=JSe>JP&gG6)yHF8gFF*E$9x#Gk^>k*pZdR#4dG!unX|%014kKblQ9G4ezxk2AC^Ef5 zOdvq0vCl8hi|`%M=r2p4uv5x)r4@}4(0Q)qu!d-SSmP!gt_FwYM#o8TCx$v~E94n0 zK79En=M0CZRar{z#;77W(xzb~GXx~%mp@)uohDO`ZW78+r%+4$hLyv~RfOE7B7)0s zE_O?^+O2ADV+=m03&C#{9nsA>LX?o@{0!X&qZJXZva^10iG(<& zR1=Pk35oQasLw;!#MTQn!MdUuii%yr2UJKhX8z@${Ch%;S)*w_!up?bc#B#QCAxTR zGH&q)CQw*N^INXj>p8|6b=BUs6VHd&_X}?ggm@XdI%KV=ZosFHOPaz|tG5YhtI)lH5d$n_cHrT4TjCktw9>$b(B4fd z2cZY2-L}ny1z0>aC3O*FH;knCpA`3z z0gEhi`jmZ^R;Z`EL71CGq8$#E;|qA6#_Hu6u8-jl=GlAG&)%w0T!hCKD+FrlQ42&Z zPAT5ir(M@_7Ti3-Ij`+7qvg#-JY+goy44+e8A5+d>X#e;(QkSsrtHc{c!_aXzv;~` zIj{3;+0^&oFwHkQd}2>h*Miay`yRwpNh%C{FhgoWy8RM9?8>}&a82K(rnQ+% z68GS`=SRH@(mYA?R7;iPxATk$&(NN;F1ND__Vj-_bkG0xuY0GvZP{OSsfsmpdN=GrSm=hpVVWB z5FAqeFVgREH=ru-IRXRH2%GXAY9HuG6?R|Sx2W`|D%R115(lV-=(6(+@U0D zrT@QL-m9V%kkUUb?^9J->i@L7gY@qXH*-*AqJ$s$wS@xQJ126YV@72Tl)`D8i8jyZ za#)T}P*heAAJR^QPs)iFZv)&d^SH1s2Z^qiAHJpR(Mr?q)4DDXQ#8E1bWVq+OuWOP zs+qXdsHEoL)A>P*+ux552~QKM9j)?891)Ueosbh5J+;p?dTf_1z<0oq&Rr%R+dB=z z8?Jt?=xD>}`8#fs`d{C!u5$*yDNyxRdiS(A#uwj7&pLyUtz2^^x-%3W0yDMr=KDm) zcw)KYB5k!B@3OMVWrInA;-X0PET7$qPnU&jX4NR^idN625DTO7r>|(Zse z%PiBmKP!7W?7#0J2IaXAxABW9}w zCf1h)`L8b?HmdSGm?4fi3H~aem`rpg3vscGX-oRTAw|eS4oS$TE~E1e^I;Vtf>m_( zdRO^nOh&Pdqq3z{6>;5$Kh_tz zvDe3h)}OS-zU!1+{WbEzu4x9ZX#KcIp;=2BlDXIh2CiQaE|@#`?q>v(jEYSzED<&sMGunj>ad?4IzZ2{A>eHuq5? z<`OLA)KSJ5u2IiyWSIGlQ9NU1v+GLEM(dq#mfzf7-@Y{lah-+fOC-f>e3fa&sXg&*RpQ(ZoBO zryl@3+RnGdCZ8@bO1G7MAA<##y1Xkc_&fjo$36LtFSaOKyL_lCsQs@?iT@al{}ZWr zL;JZNkK2lO9q)Oxbow8>j&$*__y&?|4}AbA;(6NvKoQsh%6@i9*Nk3o zxT&~Ohl!V|DM1;^_nWi6^rE#M4>jpv#M!GSJS~EV`;uIvb@p*gzNdPr#P&z!juI*v zL1Z=Y5#qi#y+;kTEo}^vK=+&DX;&xMx3#E}1n&G1C6oE-yo*M!I=!^WeoI`ZyD2ep z6al$Eb3ILo*gu3cZUacc{uZqy+DW?ym8~{_!MQ}vuoO?Krlp7oAa68xe^LCsvjo8ifMLdp$HLy2-{?~@BAfoh9CBg7v0P7M zfE;3naA)V|IAZ8y91zSXi|An6L(2}rY=Whobla7<+bUtb+#c;8w5 zVT@(nQ7sfPj{~YExfX3&-EwrkRuMvL`FLnG-)8T5j`BQTCYgaVR_|Gk5n@EFZf>Sv zT?fw1c9}NsI?^_{AH(oE%glNoRJE11)c>SVE8!RB4632pl7PW-Qm-(cMVAG+*ONdr1L9Y+&kAedbtiMtIK$?@A3Tu&NY8<_y;4x z80v1dv_|mg!lJ1UpWI#HHmVoN@11iZOQCmYcLEzfL0BiEM4qFp^`icTjDu#ISjf-6 zT8)CE5dqQ)JPNS4=?6ofCN-n0LJlxVf!G0XWOt;OwfXbZc@_yE7%i0Sd9d8@cDUAg zu%4vu@a)}cnD6!1wOa%?ki(^LT2k-k%?Horg`|yym&Bp$`MGHO7k5>9ATMg?7u+ZK zRjpU6RLEHl%3g~0+iz7+7Fvb#0!T_)GyA-3QX>(N@(?9l*iO8{&c(X3*0n2;d)_8t04bgKi?*x{K~I%q0P@#^UaEDkNSl19)&8@9ikXfZ7w&oa}Uk0KNI=N zCUMTdL{&R9=Rz)ePbVZ2`!Fhk4LiGnS9rA{^3VtqVII^bZ;o{SBY`j#+BF;@V}EYU zho*$ZYq|q?TiY+wBG8*|yjO+omY^#vM#ju%?c3a5!rC0qDcyrp+KxV6TQK&$OD!D( znSYwd^e>vKYUg=f*sqrdl|*TZsy#1o_T+|6b#Z%Gh5>TLK91Om z+n4R_1kYJZHvJwoaPQOZy=(IEKC>0;AfS(kCt_(Po1l!oh6c{W;I6rO)ZOCw(jsy7f zN{%}KUOu7EDMYY~4FEpQJdr-T3rO%vO4&s)5$am z(bC+FoPBZ5UYuiB76y48S+WSoKp+(f^b`)6HhDS^XTs@l@;lR9V5EXNmgg7U78`KH zX|pi$Yt&mKcf&^*)Av3^q{w~iof%knyp_NtR*PG?49yOg$*EV#@ zrCxOt3g4BdRZrQ{+}a<)ANN*TSbYj{JP_Nxezm63apbWo7+XXy$ zu$uIy7V~ohHeuH2!k^TiA4kwu{*Aqy97hit*)_RBSuL0DHZc>}VM6`|M2=X?#&Z(M zmlnbgFxmPWS5i_K!;g)sW}NPjqZ^45wIeYjA|~1KB;1ndI8I4StaG4Ru8pjwW*(d- zv};-BYqnaOR$RVAQ#<8So*CFUToG1f0q@h=4lXCj4*pSh!C9k2n@v-i)-mdp#6pBc zJzhN~u8o0GwvdpEVjNZ}Rbe^y@!<=PMu`#y=;EmT@dSfI_Ek`wWY9jQA%(k3nnjO6CIF5MHlWN@MAfrLG$`LIR9uz4@zDV`&HG z(V>nOxWHyB6x1{6%i<1AUc5R~p1Gd&oVd@>ko7=!is5_V>{Mz4m2~++V4b;`5FBA! zLk!caay}oJaE~YGAhZ>T_QA zpRJ?_wU-Oj1dkW(gpw+kOb=LH_~D`~>hSWcNZqwc}Gp8AwKFn((^39T(hO=Fg+U7m@_O*C)>dU|EMe{Aa7I*WMRzUrU zqE5RTjZ6k|FuLIW_u;v4dV24x@ZE36q6HAtVQSnA!=K}x zjD-EXVn&RLiV(ZaDO!~^j$E{37=dY|l9PCCdK(m7QC&%gly{-sKv5j}u4MF?3rJ~1 zRk!aZ`XA_TK1;7j11V9Y^)V&$?<`!LWQ91Y8g~jB?^E0EyAnECZD##=cuGt&EpPM5s!Jl;+1Flv>K`#oqvzVfQphF%T;lV2@n^%+JT7IzHIa=Qw zygTY=X=zeq<>KvD$Z9B~(6js$-m=yI!cyU(FxctPUIw{%>*d917B%Y{g+3P&l#Yc9 zs@7Z<>cKh0OXpK+yc>_|Mx~-JKkP@rcRer&wlcMr4q$euSchNuj!;Kj!KcT5h(1k+ zi)hVtyEKJsk&XjS>`zp|aky93DZ?pgSA2c&@&00O!fCPSY z>{p+XB2^Az+I$C}y|gV^aFZEzAtOkUqofArcQ`rLK$cqk6fE6=*}vDPHP`A48H7l} z9eZHPqBNH_Z>|@Z0ME9aZr1Mbt=C(fIIQ)mIY0t=%>$2V-Dl)B@ixic$`k}ec~?73 zAt+P&^5dG*<}8iocSAnsn{;5%ek~`&VXbK zHTQ04w_6?931&g{UNDeUh>8xbsvw>PKJFoyN@!Da@3|o$HS3lA6OV!!$#%Obc_wSC zP~*V3lIlQNhHE2LrKGNi*~Q3Fu#7d*i=8c9nlHNsvxs|cNNTQ1vscsr`Awb-JP1>c zV7F>!bCEXh8<6X^8E-bgeXsk&z^Uj^iRe?8Ym;j~gi`W{jwp86XRJp>v`s&A$`2y* z1f!lZW35b>hl4Ot3O1^>95+ZDLL4f0XoxJcvvyv7w~yQInT`JK_C@QHibDT4Oa0Q0 z`H$7ZMHZgp)|_QTK?Z7^J&d2v)}>2o-KaP6w?S5_V; z3enVUhn}AGb}=Z8FmE>KYO^*=e!q&KySk_Pj?;DGzTmWI-EWZ3qO#`gTuhbLT|(#X zGv#?dzK=}6=(w6B>O|~L3v#o|jlgIxY>@aDDgH5B6+E(-7|@*w5g8^1=C0H`II$&j zH=P!U(l;DF9rhI#B9CG~&=ZDSqXP+W(&(Firrq>(`gmU(t z=tGrJ3qSaB))E$K#c_V0tlT&ID4^r%Y0a3FXL`36UR59^X;dhJq4dSO^TDrYdk=ib zeER3dgT2n@=Wm~Vy!ZbkoCfw{<6hwUVS#My723r?^f(B}#&Z-0bDl^bRviRKg>|@A zI)0FjTNI-L$}%{P3QP*QG>X5?gMhwckBebonvtX89-=%dQ@KHad|g!MlOa@{%CR!B ze@Mm)4ao{JD0OEz7DL!FsFtGwjKx+0C|MI?EJWuR85@Q&J46|A)ft;C2tl2h>Ab90 zV8g;UOEfN~Yh-0fhr~hT>>^(lJ0!c9_rF)7Y52!<{I8oj|7?lRHDy4FX0D6Whw3t3&t*|xm#EUKkgLoYiteI~H7`E{|GWBk!c4!1yO zzc;*oSEO{QX@$!Z1}vJ^ZtcL3910|Ap7J+3Qa2K5a*C=Jkm5!rEt|h@?E*l8#GXkc z>g^Zg*b3{BE6ct1csG`Bz~uC-slz$6H^dblCku`al;@o8HFx(qsH5ImkFRN#SVy2d zdZc*KiKw6N2$06HMca5omRbz-eO6hAZgMOpzKCA$_Op8Z=>W=st2QqPH)A-txVT=5td#oH>jp_Aj+O0GeYjZBSB|E7- zWR`VjiBa*v#7&le1zzG&F;0sCoK-Gf)cO;7>rG$UCNnP3TRvH z$$|;%3%3h~Hc2UhxDOf4pWG_A6s2RKie}=m4*)ZsROoFyj-vQ>6vVOWn+$H0`%zww zOmPuQc8*5_M-0b`@+*T&)V#Av6mi=n7=Yh8SM*yG4N>?XwIkJlUJE= zo#fB*H{Owr%&cy4<8bblzQ&PE<@yM*zz3w#2fJekZ?ZS3^2UGYe!4bR*-cB87kJq9 zj-{WrYn*`9Ex9&);s4_7-TzvC{Qv*Q&TEI-I<9osYSmI{l^6}%IxWIVGD_Boge;07 z*|F9^tph?>hbKuW$0)3$N+^;LRy@ghQl+SA8vfIWqm4nZ7cdv_VD)hkv+}}c%LEqGZX(kpPu*4TkF~Cv@(4& zs7Ozo{V%4@kVR&&Yc~yM#QfX?Tlz!y{S)}Pi&FzA{ydoqfqGJKCR1SFqfh) z)ANCF78y?PXHG(U^I!xGbW9xcr`NO98f5B#<2~PJl^gA*!;E&u1v1@OV(@5M3Q?jU zaDik8&2!Jaq6(``+<$P9=~_SMXCfs}K4PiSWZJf}k@Mq)duP@L{6?P41Ix)qEO;E# zkPJYY=$WU1D(XCLre&EVKa0_739|NPr8-y*qaEjjurn7dDUw~RMmR-)knoN6w)q6K zCBnD>GjqJ~he?ph(ym2cKhRD0lC$VmY88C%v=lXo@-)pginL~`gTg< z&#t1awj*hHiW!L%Tt#W33%o@V9{&YmG+G^WmylEP^UDd$ZHQSlc>G!0Z+e86Wq}|7 zhminj9$y1vJ~ndmq9DB}%~_XJQipyr0@(*(ao=a#i8bVa1Sux|o)p_jMQ+nU_?OiP zyV8%uO+Lz?{^`XOuDDiOr+hX*S4M+<>Smh1b;Qcd`RNbH!DPrsC}o8VyjJqjB$64eoS>*82P2@9lsHEW=nt$XBJ6!wd9a4QJ z+C)lzyYrqGoP2T9?hR45eP@5U;I(r6;N54c<(IGE+iutb5JZ?tif;A<9w$~=m;J=W zFjyykrpstE&Y!lMV4Y1s%ZzYRxVv%@TG%;b374G{91vrs&`G6EW0-{-Nk&VJ4@@)u z1(&G?+i2f7w#LNlwR)*(x4OeE793{iVYE+Kf8c;n8I406f%Gxk;Le-izEjRX-=z1r=9dwlB%Q!|2Of$z|H**bS+^Ad*)xXWps ze)_)N4*%(CM0~i~-l7J8TZW7wnQkyE?H!qubtrZrsAo^`1KhuW0CYi%VOgoaT^%3k z(`FfEb;;8O4q=2;1+b-~ARC8A3gdC2E?IelUoF^(!E*Bf?mjPR=-wp4&SYw)Yp3iHmyfXw=b_vM7g}ck6kP7V2~;bngm6l;usb z;@T4S-lZx_le$EP5j|!vKc2(hmw~9>0Kt~Wogmfm{9^L@a0@3UZs*Qbv^VlftDZ24 z{O>Y$a!g*V*y>Fk-}Lcf{P$&}$rfGf|4zTk)-d)`P+4zd6cZmia47d(8+d^S$;*cW*#rh2gH$Ntvb*P*Om9PkO7qO+ow

$+q02MOPqCLSt#4aeze)>FmUlJO2 z|DKM2W&qe8D3DC9zbr7$vTC!x{w@QP1kAJJX}1dK3syvO=6rpUmO7ud&@^KDD6|MQ<<2RRK_ru4|x0HZjBay@KzGB46 zI^Q+DfeX>$As}WP6p$oE7()@xSNuPxC1V+x@&BKj=Wk~MI~%efb$Ac~jv*+eAoP)- zJPqDTHsdQnR*pC;Us&q5t04<4az9W3=hoq$fLlL2JWOB+idt~A{Dm5*)G3d1{R&Ch z1>oeQ2G*T$_p9NMoBOO>2(oaK`1 z-kriDPDS7>uYP&up_Th+x+))JqFFN?W4ENKA-nmeOg&)f_Z3~+jC{dA=a4dHD2rID zaPnQHUe8;A%c)Ow28kTL?YCgGN{?UUlmvs_x9SMpnY$ zHIK<45k0^%6SY7iy5n#=+XNLnK|4Qo>z4=RmWrwWbLB{6YJ6r8WzQGNGJ4qX>mVl( zl8A8HSO+PwIomr1SqitJ`Fn)fTnKb5Vko;vRhFS0t{c$}H*IUjdUKcBPB)G>h1Dsbv-U5kCyRR1GHDvA0QKSgGT9qa-?W+wtco&;%S#W+*!#sTIsTglAkMV`4v)n<`Nj~Bmy|KuhS2ncNPM|CoBcV8Yp65$II)D4DCNI=4-p_`bc&2;`wlq9VFGl$iK;mIDX&e z_m_XUm;`I|q)w0zfJ@_3GmRsKS>M~2+BV(~I&BZSn1^)ox>mV6Xmcj_Bw4>P5hGq$ z7$r5Gg^mH`AA2Q+rayHV6Am!T$+@0{`6`JK*FP4R+n3D)upI*OvKwCrz? z6Q$*OK_C@pTL^Vr*Pz(mR0)z)IKJH!+&X_Ux`h|CVAi98?bUvTKjL0Gj+Yy(P2^ZE zAsf+F>|h4YHAX{+S#y}#dr=^={LssnzTNfkh=GDaPSZY*to2R!jo{RIrv?>KCrztv zgf|kDWEhB2e z;){#llCv1!yC(0(V6c32N)^l&Y&jb$-hg1oU(Ux+kxK{n?{E1l)#tNvD zxM7gC1KW`LRc5EX$&4wzZ>~}+d?n=;2TM(Cx9mh^BP$8f45b~HGT`3N0nvOjJX3SB z*Yw0rz4^Ur>d^sON^SpXN!p|i_2L^S3s1}K8_X2111+wpayW~hY=H06Y!5o99mxD6 zeE#Ou_8a;bg{Q#N*}td7LP(47iDe^>>RT*IR5Wi^JzB<rTfI4RRsU7XA8$?**j@isdk$z7M~Fllj;;qNdqnC({` z3$Aqs&OTa?6Na}KMZA~Uol&5e)oiRDY%aZ5KXccUar$6?`kzKc8ODCYDPcGJPixMM zjUyIy;`ZsF)Y}9GzTJS28+EOGSv&`O_&UP5R7Vcu+21QRKeO-3gSRU-|1>MpHp{#y z1~dHGgli(i>4zLlbmJ;4(go&X-{&4ecrsX4oq5hK6&F3IZ(GJdyQL2s)IEZFA&2Fj zIqVG~dZ`7u(bJ=@Ns)5k3Hqoq!13O-kK2Ah&B@--e4Bt|iq_X$rrquxt5dIRv)8uK zGZQYe4Aziw&mk%~>!&6+_PzTH$kr#WHF?p=i=C6|CZ}^x_J-J$?0Ve;DScpiA7?16 zsTk08# z^r1@4F7g$&1N2j|rVdT#=YE|IRVhQoJ_sMpp$B|js4ZAV#XaYQAP*q-Ra`(8ctf8W z8Ox@Rejv~91%l+l?@g`qbg7fBi<)00wjahDinezJo*vlVS@8wE?lS}dZ;{Q3k3OG% zV{{FB&1`Dkv)RY*{)+TI@$>Sz=+tcI-=%UJaof6lvg+cYQI&XwBx-o;HRsNk&oH9f z2L~crT_3E9;vk(>>=lXnmR08pGG}Xp$j{!N=+)m``e*#`zI6pR zCSHRTngoOuED>c<4VC)TZK0e${;+z?83G=dil5W zGJ+BugH#M?rq+Cxqa_AfIarGUOWQm~Ccz&cFUnjS4#X-mH~x1EvK170{{NURo242{3DWrD#62Qj)*kcwAY( z)S_s>Gu}BcFE&>|ih|V?U??h_k3n5~cP*RzlvK0K!n~S_{Qm84VpkZkBLY-=ZcYmU zMW!q(js(d_?8=$Y9^)> zGvo6d*OD%vX=klFawwVpeI#1F9#nAgSBdRr9pZbOFi;i-whLc@o#v83ELb?!%p9lXZ&OP%wL(H6+RJkJ~y4Gt$?eV4SW zc7?9nl}qltn&J`nvuMMa<8Rka;|inKj~HCM2nWymK9?2;QN!r_vz(Ki%(86`B|)>B zRQ^&oTMKVwrn5(om(c1cld}nssH0MPA~nP3R?v-1t#>8+7iF^6v(93W_cgJ z{Dt+12x1WphEq5yrNC&+r6B6dSC2uK`ndHUh$j?0rD z9z5Z+xwj2P_FtR*Oxn0tZ@#hd^yMe1pVgx0#m;}Wzkp~LGm`gtKbz&$+|(Ds>~D+v z$^5K-fqZr7@XCgldpwr#xFT%4d`ImIcaPWgAV2ZdS}eTjV@uYDT{;RlG4`M5jSD`( zEgIi@8G1I7&*dVZ;RK_%FDqC7{tu_|gHa>GdmJucBh1OMJDE_lki{G)KWFx!{&n66 zHeoE3wm&SXzFP@m)^s{SM^sxvsCH*bQ%)mz-WacjU9QUp&>Sg*0X%?%P9wT5j*?f7 zTL(Ig6*o7;zsvWz6N)!Og16MlAYgJ_2tZ#BD@N+3nlNon=ZyF-db8&Hm*;Ms;E^rL zf`F(ogo`NFc8J&Eu~ysWl_8WPDKe|R#Ex0r7^CsS0^4yhI++TCCilwOL!Ci}6)9M6 zaw~4FrenTWio8b*- zF6tH3Vi*%k2&N?cZi9t|gu*9g8AOo)~pp@WdVv-6f(*tl3Xr-m| z`rLUCgAgr*w@P&YL=R&^cxE_FwM-k zk$W}160k46C@#|Yrxi2KtAkkz9R55Qw={h}^w1j|K>T9~_DSuD0$P{F)X?}O2=(4g zA#5@#k$TCSQMj-+tGcwDXce?UR4uoErGd?cR}z-;4cr9m>|l7@G&K-F-v-Hz<4ms{YV_uZayub~dXLkbUPhvYqM=sfN3IP`1iYjTW#Ms@S9YeMx5 z5-8lb-EQgiUjM9s)0HXFeY{AqG%QjD_YhD7%=qmI%NauHn4oN*Wx3^b9xU#s7RwK3 zG(xXPJwz$;r3k%ULs{@=X0HzUt09#B_<)J$<;fBq0FkCKDFG z$)p=t|Ey?7SE=$u#NS@AL~&O;V4FLKWxDlgBCQgbE^!MT~4Gaezy;6Oguo|^Rr zoV5l=nZyH7W4D|qB$7XN6$3m96=Ye}%1tvEJbNkIKpQK)S|-}$Ehsb)*tC+`1qhLV z_=X0Wc*TO2N*Budg)j?Bl~_i|Bjkl7Hj}}2HC0qs6jCyma8017@nmBb3UUYjehLji zc)nXUc*yg_tG2q`yUFbER?_mpN{^8Qc#?j^aBYR$Bg%8bQa#5w&j4P%{ItP~hG6t< z%_X*=SjP(B zC+>|3fmt+kp7))T0=|{64IDXxaIEpop6T$DSRj~L+4Tywu+| z(nbBN7GF@d9PzAT&z=c$r&Xf-qhHZ!vs+9*UagsP;o7Id$tHj7u?Od)C8&%iO{{@G zJ8l{@+aEZ)8aP9jO3I#Xp0C!tg>7E>Ib1@XUw4E!5lz^C_;gSIG>X-AA^D-@{h6Vx zR-E>YTy*dA&%tBP%*6+Pf7~_sOKWuF(f_W<;}T$W0Gc93)`^iqF{)H-*dT^dBnZA_ z<`*$UEk2{c8!9C>4HyKO&?t~lX?`{!fn9)~GVKJ|esF_PgKq_CF)ArI+&uzTorN;T zK^ZPp3R6j2$%Z#TCy#D;15BLNzyPS^z?ITMJjjw^j>;k$SZFRGgo}d+)8O^i&_ZDT zHbs0ji$o(}c%0c_6NU#c69Ec8bIaiT|FrbFLAA&Ex7wRJOaxcIU+M&OSl&OY-=59d zOe(ngJt4GTSRx0L<}WG-a1;GneEOg?xbIM2X-Ss|64-l+OBti>8h_DQ7+tm`ooljj z@BX}tC5u52&7IpS&mFcdCL2q7{hM3Js+il4iz!L5D|dY<5BA=W zkS|&pk1s|!w&x*=&Q%)Dj+|DTJ~zUZ^}5xdo?np}B(;d^fCsM+J26w?Qx_X^ZuN;$ zHEA_wWy=Le7A3AYk85cnSPtM1E-;uZBfl~)AT3w-uKf6GIauF51P=Q+0=ClcsAp&A zsrIBvga5ufv<1@UPi7-*;(3?^w+lqvYMsW<%DGGs3f7p$96&x>2aN?$GQ2=br-;%luYJ{QgmHIgTfh74YdW?n8W-9@z19#mOl#&= zAj~4*D=E&GhoDH@ZWr%1quou$A+}~nlb-NkxX?VNw#jP%%P$LPG0M=}FQI#|V(^}A zn$|l$BfMq)#IsS$LhPOEJPmz<*KW!4Su(5s_N?NPVTI!m?M3tEhhLyb)3m(GJbXmF z6t~%{zaHD5t~=PaQCgT%V7Dae8Vx;_rINc_n?hQ)IDg!_})g) zA`JLf8^*>8jwB)9+&X&${7t3%{wkucNZ^%)L$29B*ErOgu^+` zq3TvY@9`e*0_OOrH|CCVqYXgXy7Ba8TLh9EFnGGZEXcmH6W8Hz$_*7rj@?t3^>E$8 zBU#S3EGJXGJ3w#81i8Z4_bxq>^h>j@OLR8k=as+=0u{w6QnJ?Bp>MJ>oMYvzt*=)c z8BIXZ$0Q#IPF>AFoyj=+=0{)*yp@9s4sJ{$Cu+MCLirvNgYAXY;N-n(cFCSTJFfHoNb zC5W+WxMywu$(1WiPjCYsW)qAKC{gxs0$|?Js&oyn_*J`huUq(7USde4)kALk{TO?f zEinZ~{Am1VGVn8)c`T>8hCgkgrLq z(w-`(+3Q;mcWuVL>dl(dE6h*l3k>a9Sq!oknUKgafl3^m*L8KsddK%qn;15S{;gay z(IRQUy|OZ+_QcjKInWWZ)++6aBFf(Zs0NVq@WNa_Ymmo?2J9}K>`C7F`LIv?+8M_o zxHHUmCuqUt$HKSRa zU*(3I20xb*7CX(40c6%M$p*pvpxKY0**2eq z8fej=VY;@`21;fbU1f)*y|08D^HoNmUMv8m3z1EePUV}ny8GFE^pjFW_V|m3IkA^}`=^IDS5sAMl7I1R zFhk}IoZb(+X)J}W^$KzX@1yBQElk2YKn^$SjH1N$+cD^CVQdf7vK424)unF#q%8D(m3oOS9tC@wP$AciqI3HwruhqvQ;>_u|>$_=U#A3nvXIT7gz zF8(Ab`sq*!Y5YUuPm4%Ra;* z>B3&vmA(l~P|H_rYs!sALk+`wWh(${1OCu@^irK}alarTNzcY#>kRa-)_Bwjg$r&!2Yui1FR_Cs&^|RSB$_5y`{O#4PmM8|xrKRtF zT4Fod6J(qx2~>95I};3!CXw`MIf814!D=6*s}s?{s8wp(T$fpT_a`<91k(r!@`K=^ zsXOh3c_C@LD*20IIoyG0kRNQ>LJ*!MFrCT>+wJa*$mpy$rt8J^UQUKt(ctyUg2`d!^0^sHJzfe)L8xgty}7e}=hyj7xLIwizANrd1=f&yGhr8Qe^3;~*&NihdL*?P5TC!l`A@aFFcwUZjY`n0Mj2>9 z!d(`Dp0j&kN@e5thLc-Pvp?t&P>l8?)058&-F~^>y^8gdqgpfh)!7{O-t_D(hwp1yu9=_8+#GX zyBPsT7+?;KuLO@SHTd)3?WES`37LSX!-5+=xAc2?so5|!0NR@%xMs^t0!#%URKR0C zfaC#MMgil$VQTuImf%p2D*&J;0T|kvTc>W8p-rYob=H-)W)U2wr!RZAw=I|Coix$Min%k#1iA-(itALw}mYfiT3`*Y= z9B{F*MQj*vR!$4souMLO{%-G!42YQZbqiGyUK8ORT)~N1boz|bhbF20z?)k$uT=*& zS8|P(T#gf2xqR-0z`ZJiCg|bN1DgV1QUmWdll1N z?#(>q;E*$IP5s1$-vOtxySO(;m8&nHm*D89669{Cix%Gr&Ft{c4tq6tv{fW}^5bbw zZ>}nZWmzDN+9CGpFy8?ZpHAeLzhUOMcN52N9`l+GWm?^zD=rAxFjKW6!ZlvJ>ZO4^ z7=R)9THbGiwqtt`F%>-$BPV##9=jvFd%>$;vhJHxC;mYp#>6ZR2E9y$^e&_c(t`LR12Zz=iY)kS zPrx#FMcY_8`5L^V#6G9GxrO)TtADraTI|(ODJiPXuUc zUTlkb*}&vjfN6>RGIZH~zH!&)2PFFr^S;|*2G~$S9M>k9ZgCXbV0F%w)XtCX5bg;n z;s78D5iD^h76v;yy|)m6I}zpDJruLj8SGd2u4>jrowM4jlrpoN8_5Oz&CvA1OjA3{ z!j4)y38W+F_wksvpr7{dKedR^Ub^T~67Ic&(F;kJHEQ!%rvnD&Iu?}7gd#08PDPn5 zR$D{7Itkc&DP5EogoFB5uEm^t7LKLgUjVF16{Y0*tXOa-)n;bENT)6rotVJ z4Xn598dp9QY2Cj++xE*QdymNf+-6{XwHv`!La=3-7EtdsTv5dt&y|&4z!r8Kj|#U4{2w2?tRB)*PZyMNkhof`Z;|e&IBh@mbQ|8M!;XdbT=A9_pj}ZAsT=g zG%chYv!b&llgEo2*QfzFw1qJLG?Zdm!ptaCnE%vev2YcH$vxFqMSY7bhtL}9wIo1a zUjV>)$3Ov&yN@5s;rCRSUuLKr1~_RVV88J}^nwi&6&7bY{pdwwSpP4oTwz|N_3Kg1 zy-*>xt24`CTnkU)!;Cif!eyh}PL9>M%J`6K{uiQn5zoP>5o}aD2X`$rAJ3Ov00nDT z*OHy%#f0W~?%d`qKqbLlg#9&rMb|=wa-6W20Vj6SVd2Nm?Q7`y%h^W_9u$(1o_h5B z$3%%Y6J|Cj44k>8JSU3bZCb8{S*8ZxPP!9{T{SA5bxNE$TPw4LLEv-h3Ndr&QeuN( zt%H=6IeXRTBRX8H*@Z`ljq_WGZwW}G9bpn838_RatqfX#oZGvoNn+s12hrQQLQ{~! z?V|7G>_GV{z1mUK!KZi3e-iEVYRooK+YHQDmH^&LI?MAT(ZSbtsd&5BX9#-kTbO*y z8IWzb-14{}G^DenLQt2;u5esEbLnI1k}&)OAu4G24-ftv|YCvJhTH$EXW zq;JZn^b5=M?N7r-Xb%(R ztcM#AVobRBZS;*74@u}Y3{`7m#7I#P(f-(_W?VAamr&E;3^2@;Iq3qvZ}f~j82bY| zB8aT0yOat6j(hC*q41cjt~7=2U=iR&7%@g`3%8;9q^2NjzidD+(EqDGll~I5fLBV; z5|DPdzl_8AD?OCM2oHgDTBkT*|E1==3=xEw+!49F3zog66ErGTT0qs@|I;%AVl2O0D&Dpf$A0%RO z%-G(iJiHC;U09WXQwavziYqOh+>TbawZn5}zhoHNd<*alBOoGq2U|MC0hVI3T)ws8 zB;!2ak87L$0;q)stwFQ!w(nsn7qQ+5sA}|&Ls5#NEeBGEV2>auJ^dqnswF`)uCkRU zQoz&Lf5zy=TEl+R1D!Gg{5XP|PDQRt`)FP_$5ryR9J}a+!fsn%?#6H@lWuip?HmXa z^@EL_KLtP3MkTQLF;2gyFMEqcIWV}!tI%EUnX5O3;oLDN(3$5vn>RX8?MX%SG(hFQ zaoUyb5zoKLwq990XS3`{e-^L`m3SEi>+X*5TZ?8^=d;(4}>O zDf$h0NxEqfH${l6m)SWp=Of#5(}1s!{kvV+PS!8Xk(tm;GCI%O9KS8!dJ)U|VAZQem8i?B zK13n1cgoRJk3XzcmT&YOvv;xph!EWBr?ecm(Z0!0L##xL{O$YIhzIK*7?y}G*iDcL zNnc_YU&+w9%-@f;OI4TqXl&|4SFGtINU8FsUDRbA@A0tY0L9bbhRhThyu}wV2c}*6Zs7L&j@b>xbB`c&u}SA7F<;Yod)^wdkNVk<9U#KR zFkU6QP%&ZWwMV}hf`@Ps4p+hTTPAGUQvf|r1KC1|(mcR)X>el~#JEn*NmERX4hNQO zG%C!`1DK$IVhX2pJHrt7;=BUJWwR({?CkUf+r9)sE7hj8np^2B@+h8TqVkMeyNCN z;F1`btGNWE4xPxzB2-O{i$erci;;~w>?I8j+<|PZ!=4r!g0^U@3K$V8QwNpPLSnMe z+MxbkOe+ijLW2W+(Nk*NVY*=+1Bb4|=Zz|>23ep&l^X-CJVHM&^Ata)ZjcCGbYp~U z&<;hi2n{sCT2k)yPQrgWqW@!udk{(jgYg;vlk&7Gle}8tn$&%cJJeZUd9#4*mt!4# zt}0kkx(dOXefDqWZmXr;Wx?l zM@8dN70Ut_g_zlvoy%^nLl94M77fQw`%Ka7=bWzzT$xZETtdr8fAgrf@lx-MN2Brd z>*x|5g(F;DKh|5b)whGX$Te?4y{QWz@(V!6%XW-jsXxkc z(R&_A@u(xBjUWQ!a+Zh`erqveQ$>h^@K;(nXU?1Oz@;nxg}Q;Xq8NobKg$pa2)$Y3 z4}qGksuSPOTLb@`W49pvuRPN1)R>#@mut}xl%*vp{vOvlg)QdYJ^SL^yNABEJDlZ> znDJ9h`vO*8Hf^r(3TZ+Ay*kCEA}GHA?v32L<64+}X?I<{pM_^ri)HRbQ)5(K79Nr_ z=SD-(%^72wKmcNV8kR4+iHRKKU}^L_^?NB^S~-rER7Ys9jujFSZr4pG zq0$5hX-h2iCcnrJxGvcegbS=oilV5~D{2;I_LH8v^;5#$Su@)R;xiq6u?DVxVj{Cx zOT{C(H3e{brX)xO7KJ+Mhskn_3|hGtDn(hYpgEQdWRjCp?we03Pa-22(s5lNloS)! zPfVke7++86%%PhlHy!?1Nl;G0s?Zk>1*UE(_6Cu8!EGih(#NcEo52f9%nJ(Fs^dyu zeX~eB@u^*aV|v~K;_N#$k)1>1w>%dVWtu`j3v_QvsCNMZiY~dyno5x?i^ER~o1rp);_f`G6s6kiLlJxX8wO#?}t#AiJbiM+B{p^3)9 zrX7-DgW(3>)=rK_yJv#IIIbKWMB;=9f-Pwm zGUq^h=Z)X?+hSJ7@{ENUCCAI<|FTM3Wwc83QnbD8WT$4Y2%K6{RwL}I*?VV$gV%|r zY@-w0_UWraos5P+?3|}j5*lKw63U#$Pn>lUFY~Cy{K^}Yg83huemqpMi*LA z9>W(v>kNGV%PK_$|D!zZd+hBkx;g`msksTMRaECUK@$p^MJXIkKU$arfNhu(++VaE zoroE9cjqe_1bt>UetFdh?wIvoZtH$DQ>hfx99lDqOO~ul^)rJJk#ipR8QRZ;lAbmM z`HqI>hcjhx3r+ApZXz@5z`ZYQe3)>tLA4<+aByu@x?161R$FtX|-%?GoT%(Xj1 zJ`La?t06o#kWVMzaSt{X`h)z|3#u!|a1*n~8qnL77;CgBKhU|gYKBNarntTVg|cO# z1z*52yC!Jn^)cDKjpfLgI+@Q69eB_PKfmgGX{4fidUp*Ci zc8jVlYI;J8(d3A~M_tmvg|+PSgJ0cjx$GxavJJZ5NK$Rvy@1{b|p-;oLpVrt({>G`&6>$S9*4TPzTJdZ+{Juz$qjoAQn3(DB>P~+rZ1O*g0 zTh)Gxfe0OERWVh&h9OEeu43AFU4alj3|YPvIbYYzfqW5I{pN06&_7n-MJ}II$LOcE zRI?CeVv2F`s2{;GG+V%TnAR^sxMsxQgR3d{Y;?zr3u5`Bj+N+!i&As9xc$Y_cB55; zVIKUL^$ES-)--%bcITF7&LL6yGDO}^$<1%9!~w{%>@5~>bsF>;UBIQwy{NdliYFJ9?apPZ@o{v?)9cl$C+U5N7j1(kXFkh4 zs1((F{fIfChUfI^VeX1>HaUZ=m_~3e??bS<7te6Ws%DnEIKUO(Cpi>M%98}NcqQ;b z6a+jDy=a^2cYDLLEUOEIHo6Mj4@X}Gk=OCm9|nq2Lrr%cK}O=bA$)jGZ}0_XOxCru z8gB^Vi-r4%7i^f7$dGaP&zI^`Gs@W4u3o&)O7q>mI#z%>O6a_fs6I9iPkP`qa9;q$ zQ$K!)RQ?(-{rJUw=FGGmKuwC()$KJ{cmS;>d&_gx99_vj~1(j>t=2gdc2E0h!F zQJALg17>eq{CuUHPjfG)3CPQYYk=Pm`>mMky71YqTw5iI*}%4WtMUVEHIi+tOV-OB z{24;q{IuTjAH9=k>SdPUmX}bob!4g6^I;qmtv0>2V(TQMg;+caUOyUTyWUtURFWCP zxV?$~)59Qn!n_~0zqvPO_kz1WepJk{HdH(TQ?ABQ!BaMS^HHxtdfY#faq(gA z-a#uLjMOAmIsS5eaR1QlN^Y_J%=KaFE(7P9HZ24hh%7eF2ni-S{v#r*Kz%9e!qKZR zgx$F#?@i4vVQ5e{>Re&4^CZlp7G+5%75>xtBaYkXT@%om)G8Y1!rZ=06d}aSAs^XUYqS8xIwD_Jok3BOlv^=vqA8+4_&8&;{$9!|QCm7_CmSqwJ{W07OtA^tW zmL1O2&mxsIrnM`sB52GnHc<&q8K+5r6KZ8R&mH|&HDOsK<6^skb80heIXzuq47R|V zA6PImC=r$k2f-1_`Qxg}vV-v)|{o3>y`9y3E73p3)+{cUgr zvDLqH7x&vs*RyEpank1cgQTK*L?y?v{LxDIQ4rn@omN!8zw4ND+bh0hbpMVe01BNd z7D8sihOEasy{%^t^aN))j%fSJJRgZ6fjdX|la~YCI`d|&p4C{z>)72-ziF4c9_YNC z^zlb5(KIvOZ;jpe59bv4+;BewMH;;K9r9QYG&dlY6ow~F4>1O(C-6kEJg^6Z>)bii zd)yA1Em{P4`g2e=(2G2@OHdh26)@*Im#`OVQ8mKyGL{GJGngi?%nuV&c&2Oo*BQ5i zc&79Re-M# z-{2dl1x>-Nvy+<$*J0q=W61BpiShdjp6?63XY#2@*Sr1V?vJYtN_Oj=w|v@VpWWZG zcmT?M_VpnYP5&nBk7r;1T8^S;j6w0AuDyc*YyNygHT_8|*aHDXwouzTEjfAztIh zv?kursvRtMsFALdQBS4q_s*O1|1BBaGyAAD=m1)HigF2D zj8o)QQ46+ox@+wV^B6F@GN3CMG%G26Vq`1CVMj zQHb3oKyMgGC@i5QYC`<2j)%#%CO02mum1}k9k^s`#WLvI_!GV^+DRC@4dl!uLgs-} za}J%}#K6wgzH2&`?)fv0s?@;d-0DTm-WYSRk}Kmp(D3a1M~?Y(+RU9EBZ}*sDz8)~ z27LlD*Q|`m-nvF_KVZPw?qZ3OzW@HQNJaOvAcW}V-DstoQb z>cZFlZcT1w8H5dOL#LpTjA2%`RdRVlbj6?vi(;76KNUb{`c$aooQ;)M9Q8-f+Ij=( z=x|fMzGYk7a+r^9gd{!>rCkceIcOxN@2-7x&I`pmq_c_YI;3q9SmMym1|mSJjmAa! z{w0VgqzCS~!BfIFmm?3-ksk00CEwH`u1rYJQvul97`Ul=&{_rq&H~kJ;u>QP8BF3O zQ+q?z(i`wgh)B~sfoDyOUk%*B*Pnw=;Bt(+d6__oAK6GOW*zU7=`X_UextW82&vDT z!z!rVA(W9Bp4r?%&ZH$XV-tPbFvASO2@FMcD$^NG6S)bF}zX3tftfzE?=v7T!?^eWlC#&jyjjD|QUiDwX4yEKWDbB2MPd$E;{x$CZYD9eR-0=M zv@_QVg;JB{lRxE$qn}`zkH8k#3>zI^4LLa=5LHm^T;62&Eof-i}qN$#PJm6Tc4tRSns(TfNkb_ zZNh>Y&ZD41((@;5-uygznLWK?ByHW&UvhbU;agfe z)Ea;YR>ZO|D*4GSQy+tm$1A_O3Y&+$o9aB^dY~V<61xC;=8|>dLfFA z2;)D_=qShqZ*;8oR^9X+P1(IO{>Cre>x_KPiXw3WCHqL;|H)Kj!=9;o%Q1-^jeryY zAXA&lmm*bC+Mr}cC&7UP*fW5SJZY;?T1f}aXwg#*8J6@^9o~Z>$9T%@szG>+p|2?*c* zj~+UQxLr9rS?c14+I)0z0&VNtp|0~M?jG}9iCH|WX8)Cx$~H>3iQ`>}|JcUIrUww! z4^HtdFlJVjm^_@D;{>CqMOk8E$4};hhT<*IQ1lN@p=P1>TM7nuq%G`Tk#MnX33!%i z`uKmHWg0j`pB{SYo@woJ-_>{(v%9u#QxtZ_fn`;1cWSC?JNHgsKKEED@c5R> z#bpV?Z^KKX%YtxP-TpBsu5?B5_2l{v_haJM(CYTwtkE4utHatueP?wgyKhKUhfmhu zueCCL+|Sx^aEtu$CBQDPRvOUVjSLyUu|1=ENF_K3&u@`+JUi?*X?+Z|+c_yw9F(z` zTZnY)Xd7k&7x|nZGf()v5E~D;7)66r_pz|OksZv6lM*N%3=#xQc&80M5Y zl?rV$jL;mCE2R;VBuX`<+HA97X(XvsPD!YoDxJ+Kq#Q1l%2gwky1K4LDjlxN_oeIo zxqW}v@ArG(zQ5b=53n1zn{AKR6bTG05|E_Y)3p8Er)^#%`q zr1Vq}B-*=A*Ocb+z?_>t-M8f7V6K_N!J2oc4_^uhdx7jr-6SJjG1`PPF@y6o9VD{_ zP`hU%ln(vNgV0>6m1;9bcYRfi+)*;-b0~XvXIt-*7b)dDps+#V>jD{Rw6g#44KHvg zCh2g1-3{%&*Z9O4>2=oZgoRJYBUZr?J;U>HfcrRw+iSf#eee`*qkcTgKB&cqxUq_Y zSmj&QXtgR-pwt=ILSnj-pp*-<`aTDzWeQ$uc>w`ZRgkUl>6r2z@a2J7;3(B}kHMOa zr#?N3BE4}NH7eM)WNeeD(aMV7>bYk)&1L@9Rf3T+W>)_&d}jdl*m2#qoq67R+HUQA z7JAG1@)^{NN|braqDr3g-GLH$p~mYh(uS|E1cwV{LlBSQ0P@PUrl{A#xosK45ci2* zW8$^)-h6YGPS1%Z7n3&Hg*Ks^X%>9=hLyrz8%@>s1bar%vjrTZ)y02PpNAU772JC% zxO9wrBW4Vm122mk3=`(O4GDP<};W4)vgRVZzsD9(C`$9vAJd*zw@xGlO0!HK_r+j@ko{!eQf|B zaH!t?o=T`*8w}U{QfBkhHLNu1+GANfnq{`LM1-#*=WiglqeFN{Es}&tcKtsA%bmmB z#k7|?7v{jNaL_eeK2xC6`{V~1yjQQADf}6*{O4X>2D*lR{(Ye*W{PS87w*-45!ZFh zw^6+TFaYT_7+Q=dKkKlu_g?e~YH=|52R@*~tW|~N%Pp^PnZ5l9?M;eFlm?wUgz^QO zHLq%_jjsd=sSk-(s zP3D40p}ko)?F+$^Vs`oRm>5)2@PThTOTq1nWd^w#yDsKyys z7Ez%_tsuD};=gb4vltf<+iGh3UV)!uWV~4*<*Ykd8QyDd?luQ(1%9h#^rcEIP?LlR zvT%KVsF@$pwzo;!l#mfX5bRTl zV8&Ar`pvIFnUUif_UD~ct9VnRX5e?Tot*$a_U=2c;aVW^I1%tw*g zkMr7<4jrdJ3#~KV3U?@^+o*;o^;dt^I7aD8ypekDx%q4TQpTV0KguMorCH&(5QozL z;36WPyvEj%yQqq-*m!ur)+*NGMBDOg=gzj9-ZhA&nd4GtZkEvmty5bkM4mj$()8nI zyT^`ed`PJzT{+*in-e4boLq^IP-Qt^gkV=1GwZWGlavJUHLXSD6i40oG<`I@{0(X!lzb2Ioz-d12@R?H6 znyltIKIof~m#j$5(!1Ik=7A_gtq!cf+D|h{9x<)1i4gQ2TW^vo6%(&wV%L#;=!>&3f=A1>`_V-6ET{bF*>dDJiH}*!V|l_H1pRsj zVR`Wa54m5d|BUPlW+lv`=a@<0Xtrf0;}6hbe0pxQ+q#`c-$dM`^W#eP&Bx(jo4ftO zWjfzfYaK4KM#*bH0e1X`(#Xu%pmX!!Wx5uyh-`~}DKl(k)Z3#dq;cY`=ka4P=~Q9M z`*^#ZI(?;aO``SL`YEziQu|VS4P3y zuVptGIa$vfoVg3VnoL2sk;;&Le`b@^s`uci+wxr{Ls#!^K>2Uo_vC&47l-~0i>FuY zd*WO6`7+j2JN4>{Ra#~U`k2Wd3de24!be{SsUxq!I~al;mvQsuxH_e042&TK(hAK=%a_1vBn` z@LS#O&7U`$4F16Y$&UvmEeOy!Jl}?@0dVM1q+Ee*W55q74t`y#`72#O>Ip=UFy#X5 zc{OgJ408>%7!}xoHsL5WW^l3xJPoOY+>tqqznh9B^R=k3gF}*1|EW~;pfyx;iq=J1!?@!$+ab4ecRU*_T;ptAJ-@5(aexVsZW-}O#X%nstelqC(35_10hLz=aV zFEh2!ue5+a{rYW@_2RPwXBZ-kNdVE(C--E3$UR;1Vcm3hkqLP)@brU>nHs&{`Yvy6 zue7}yCkU}bYSZb?f&Wk^LxVF*evTpjq?Ir2Dxi25#hgfOe^BSYX4tl_>q_pa=z`$D zwyO8N+SGMfo`ol^O3v7X)9kHq*}CT!Z?Ul(8YeZydGy`H9iOlmwYlaS5kI`+*p4H* z>vam=Rd&GMn=h>mf7^xb7CT%nIkj~+qfC$h9mkXDZ)$^gKBno--|e_RoY&M{%M6Li zi!i=g(B$?Nk03O$_WYLI%wCDHiQJkDm^j3SE4`_AOUm`lTi%E0lOB?snLrc`nrpN@ zBbK9^ao#D<)F@f0BJtFzaL4pGMmec?lpw+z{mB^DK3G)F0(hvRW7@fMZ(k~ubQQO!Lu2oWa&Lpf zjWg}&BE6aTZA#8JAK-XRTJ`BWh%dQ(Q|`R)UCj;lkFi8&Rm}ZmkKo)5KzRJs4SSyF z?9_A&;L~&6cM(IjE_uRmI_B0wgeEvXBek#H*Ic8_vUs9DEm`zFiUVh2#mU?$A4<^} zspn2|Xo$a+m&Xrv0EBEqJ>p{|pLy#E-$ zTqH!Bx@;HrS}dqd(~_wlh><7(1UbSymzF-fYUwuki2qBa>j3Z9_uWGgcBgtCY}};t zd34*IQ_{h{*&Thhb=*xsj<;y@-kL72=WOw7KEk>E4bSh39?&kJ4#}*Sr4;zt@i>$T zo1F(Yw{PP);5-_@am4u?L=EA?d`It2=My zPaU~)0C;h7^^R!W_>2SJUNs+{|DN&3i~Yn;FNKWmH!J_Twi*S^=(GqX;5^ar?T_tD zP1Ou!O6SY9V>V;s&WT4q%noEAbK1Y7IJfN$>6z~>dcMP(SaXn6tX2B>T%@c`BpA$I z%pPZXO&v7_laSbDee8K#z7iG*5N?$D>U_jYJR%XM+)P9K&wKQAE}Sr--;+o&ozy(xdr&;nQjTJTH zD8F9;tXzSjlgg1c?nVpig|=W5=Ghq3G!!%!tvXeNl+gsDX`0xgE$p-v@7#)C6wv(- zc4lt9XKj@^IB*bIbdq02^Z0a4s3~8K=Z#LWb(7$VfTD`O*GGF@O?_}^K~9p)tY5cr zr^qpMkU2Q$P!B!3P=QVNDywOH$exSSZov4?G1(L z^{I1t@(GQVHQ?wn7raMj?lfq)536ilmpu|%?$VDIX~#u9bfu>nEF(daIRxYb;YYOh zXqGdFIbwugitg6DsLg9Wd20H;^YGb=c@YHMlVstdo-%gGK}x<4Z>jcUy02NL0F~C? zuD#-!uN!h)^s)M}&yCS;^NR0zo8~HNzCpT-cIyM1I2CusN)VR(g&bqWo%|9Xd!1tG zHk!LXvYNf54ubJ)@YlK7+8}f7cX0>7JOfyU{Q+xng1}tMTeFP{pU7VMgGu%xBW#iw z3iEABe=7@FVHF?$o&sND`}-7vGZ5Ea(SR|)Zdlsidwrmh6Xbxm7tz;tF`Z6?uebdNeeD&M(&+> zXV7yJHEy~bw}r!Y+#Qn`Ut^%f;#|-#+lgKJSm509SGz^lcuqyA?=275IU@x=+O1!S zs*AXgerY_{nO?3x(ZeQ%pE{H@CPbIu?>c>JYfeZO-5K`mCaZYjuw)C}mff9hxzh~?*Bd1nlf_y!L3(9 z0aVu}(qOF6B3-lp}v9@&KKc z`0w`}F&-t}0|;lyHLU{|cbcezH6~zhAgQ$w_j^;qs>!F7Y=70{$v?k7nt_E|L+9H3 zmZCs6e()xk&(LsBh4jZPpZ_``vi%~adu0y31hmR5JzFR^UKLC4DQV~Y%D%M2+?tB7 zgR58CZ8)B{K652%b1Kvf+~jibg&cq~?|l1mDd6)PsKK>14NzHrTI%^@kKn;(!A|i( z)c=>k>;K0+y2BNK;Q?oN5rnMGn$Q6$;Gk1@rvZJErwNY7VA^nCIh$T0#)XJnL2$Sl zHPMEvOcjGd5QL6Tm4O^a92jK;4aK@aNq~E{Mu^BQ5$K=;`Je~{OWuN|5Jh%f8vz;v zq;j(P9DD*z1e%M8HW5gL%=+1jfq@+vt`w}yc$Y}?@$Pu%Iawh|r@%d@_}^*9Sx_W0 zArAlL0!>Ld&T#@vT@#IC_UisiBwE@8cNPUcIq#8?RnDC3S?5BTp1l8T*=pmye?(%- z6!$1`>G8_lZ7d098rq5V6##ChR~$72MWUT|RaB_4upp*FYW$N5Inlw!gewwD=EmU$ z7O}l2?i1dwAz!gBipi?847=c97B{=j@^dyRK8pHd>iZWlPPwSCrdPb>p4jA;X^sQy zjrz&jBl3n@a_f(;ADEq(4RAdXyjeSdTlZYq{YbyH(01r((ECz1D75foo`Lr29ZAy- z5zjvN>^zm!a+qK4X4`Zu`O>2$^G@&#k>18eHTm{pj?Xcl;*?*PCHQ^fzgYBWu9nKp zrbL8Psh^v_yWAji+Fid!N;wrm@3B8HyO~4xtx1(y#-iBm=3O8U0APHbZ0$E zZd6(~_E(%fx21-jV_96YRBYMpxdGCGwfl_CZ-9B7P??&7y zr$MKv!1TUz?{xwlE|2ZVbL&(42fA&1K9TF(TXJNe1{&F6Y~K5-{9W*)ep;9D6cUrhZgZ*xTdEHI^9=k0I7wA(y<4CID@mBu$Ir3tTT?prN!y*WK zG5(d+#shr7mjT_Y+D(T0k{uVPeADN9yf?R^J*me>hOlGceJm8=2irr9Z&G(+8-J*E z^&IgteUANmKMquS{FsfRp4mV9AWHi${VuZ?`#&iUZ~QTnLyg_!n2-WWQlUIcx+taQ zgNM~?c-!YS)9y!s$!xuyk=yrMVNDKQq2E-YJNKc-q5*t~mj$XS6C>s!97(q|g9rJB zlgba~iAte69q9Fz%|cboOReAq+5;7NMS$GeUkQaUIt@BOye3;{bh))JcwR-(I@76^ zaRMuJj=4KEP(?itdGcR=iIQYt@dzZ$B)Mr97v;4POx%kp=4s34w^@pc`AeEa^HlAfX-TyMFS zc`AeaKyY>*J}BDK(qslE_|R0uONR*)|O~nrQFh zR3W>noIf3|jTpW*|A3Yp=J}!jT+0&P>dd~6OTAF+mHvZJLHkFP?vsRETxjM4xHDd0JNH>FKRoAvita&~rPSOhZ`X^(-=svwn15i`hF;)Z2gxhvK@x~jbuA@p zPCzDdSYZ-wcJss(4@-H;6dC%Aj^B(=x{&WUY<0Owu>tfkWiOK%T%GVJS?nmIi~4rE(SCnv5@Ep^}4Rp+(?haCBUVremsVN%Yv-W) zj>GNtc%r}&UylTPyM~EX8a`DuyQ;{NJWK?>^?9BzVtRWnSM)~)2U^<&Am|GK*ABE!(92iU-aotyG$2} zv)V>;3ktSnT9L4J7CMlkA6WY4ro?8BLaG~ll1MocItN*&lWf$oSCKm9H`RYq3LY3$ z=bGEuPqk7*2Z%I+{Kr}4$x}nK>FW2=$hlmN0$R7*au-Bo@+O1jJ1^B`GIEmYzl=0D zIBL5W*nOH+KB`8h?#Tr5k{Vc>kC#a5z`D#OWSJ44&NAnZV?WVv7zqcTSZ6ZbO~=gF zm*?T#SjS|#X8i{D0nvl3j}q#G21N z5aDLg&j+sV5eANn{Wy>plGIzp+LM34GBzXjm+=jC*cXx0jjZU-a}Vq~^sjL4y0pin zF^VP(&+|GB9}MPj)fAKCoF`ESTyNUs|Q{)gss_5VckS@}bcE{Bp-^I-2}UPAzSeU-e_ zZ^r~wAuy%FKo~xtn|C%=6GF%JGw}UtET&ZmHd;*QgkT(S3``D!utxBZJb3V>VnN@L zYJ|ol5f+j~9>suM#y*DT*(NNq0lhR5f3jh@v%45ME`%^dzU}~M8^Y*#Gme<+F5+-R zCuJT7uDo8JA0PO;+uu1PTpY+G=#XWkizU;(rDV7cUGLRzT2t7z684pu@sfkK|Jn zGo!E=u49A--{eMY1^d^>BYeK9$3q&N{nBY6_M;E%f_bXY)BCCdFL5$F!^*QdHQwq9 z_kLXlH8|pIxx98XV}C5vG=BAg5v?n>mk2>s?bIi#eRr|+H6{1A`nmxR>-4Vdp8u;> ze&Vu~^%(c%tIaZv_(xMj!t;8gB6LZOaK`x+r!gsZN>A=s^+S^5md$`WNkkM81LFwqKwGZM^7%Yf|^MEeeXUjBplJ(5{EBx4qY;6)fbmB_)F0K1$R)b zK;jHjnC;r}qmsv9(?yx3A1+88LW}esNwm^wuZ3Fwi6esAu=sp|KV7Ca?B5(er9#AK z>hE2Zlw;!pFRhy0fjM&nUa6tCuBMT8CUuq-V74@KzM;lodAgIoWBtw4tnHE?W!Xj} z++W$cmEk*amTC3M`|jBdX?ae)B^{?2zafBZ{>J+j`EFzKw07Df&c^`4GMdE$b05%= zTmqct<+-)|2=O(1nCy~`%ivmQ+9U~hDFDVfF;Ji}9Lh2K`w94t?HiowHL~|$1pz^+ z;I~Eh;5buUJecN(yBZfJ)iGME16bNphvk%ABVThI&w#W_=VTc(((n>oE%e>@KE@As zx3{Fg!6u>8@@NRAN-l>=^op5xCFfg4Pz4zUMBYdSfwX>o9NTCMDb0;!;4|$rx@mLV zlF_i(Lp>J!WC)T}!fV=Xv`r+G{TUQrtUKFzQku%2h z^Yh4q<4CJ3sqOy2>!7E38MkKJuesHg?g+5EjMCx!)>|4DwC4qauD3QCadwoJT2($y zI~?ehOWu+x^s_6$=lfGL#D{u6#JyC0pS*w?{y}TqNqI>Vj=aqz^VYw(L3rTj?B{#9 zrBF7`XB7S=JHfCTq%~E3@FzpTOErVfIrz%rFe&AaZ_Xz|i{MjKr$aVdVkd@y>2qyP zF>r?{d=`FpIsqNcCi~)};1cc?T3kaG3*VFP)yl-AP=ZXT<#5mg00*mp6-}z6;UpI6 z3SMkaEhobpb9wgf^snMk^YdC#4Ue0t;>D9H{q(f_Eg9zwp~rvYXR$PmpVCFpf->~R z5~k7X!Gn(dv6?Q4?XLSnZp=Z~(cFJ_qW|A+%ri$DK#}*BFY`{X(2XN^ z*zW;v%mI_Q%O32-`~CZ4FU}NS=|?OEJJI2)EYrVa39ehqS8ZDN@kCiE)8YXjb^(jf z0tJlVP7c~qA=DlXJh!~7@Ge(1Ve$uxfnP8X!5%aSC-UlhGOxX+CiWDdNeg*uh{;Uc zL>4qydm$Ky_Z8_Hl!JW@>!iXaLrM_%y||(@O#s-pL7-?q8#r08`+eAnLEx@kw9*(< zJi2_25R3?C<#EAnk0Nr=OJ9f?orzD8LD5to?6`9|j*qW}Lsj6VO;AmL_#bCdsbNH` zUA+lEQl3Job_s$6ZVy;f*Hl)`pW1@FVGGgx%Bwq^+QIcp7h4R@)`i|Lo6Q`AT>aL9 zOEamJKgX;IY*9hO53!9Nf+IH(^vQ&$Z{i~pm4;{`p|3V;%TSm z{qM}(P~N1>)Pg7CAXF+1W=VW$5HTC8w~^GYtABLkUB){N?~)>u_hcS)D}|t(LKuS~ zOP?SLt{UA<15e=VXx^G1-?djHh{hkk-xIR6jAax|iPbT)UcS4gz3Mbw>qyr5ICfN_spk`q)OMyL`KnbLg&_T>`K(A$E^UiQ`1mh#&N9v0ggBQ$`IBOSFRs! zS@{sgCe^FOi=MM0w6EN9&KQFRFKWQ9Ge_W>j5XCTVi@L4JCEd z5uqQe%)@Bjr*21Ndx?8B;?-<=Z~>@Fh0eb%2`X_P>u~K?YQ4TF(QYqG*?lL{FdhXn zPAru@nM-J&s}5}4Z!BlOf7}UK4a@c{M^NXob>ioqRE(5K9P20avl_fLGk=xRGnFnk z=0_bn=G>&ws$Vq2`D>lrh1<7Adh38!^OHB$i)=b7v|TPD-G1=WwyIe=sVKNxYe7!F z#!E0p1=H1{zB#hA(r|A#+$EohaYrd%ok5AR1=ZjlSY zHg1CI-*lJY)q>rZ{l$-LH3e|L|3a>s+KW1tuz`jiTpAH-bg?704e90ZINZg_ zbOPic5GS-P~IC zfB{1NWzDXTgInlPm^oI@-Ge+u$VSPU6;R|BJPgj#y`d_;)^>_kV;NqD5}|Km8!KM&GOr6kom96{hn*^;{y_D={*<39* zbV-{sUl68e?;ZQue+jGZI_Yj5dSvP5eEeGF?vTnQcUcnt$HE7{O3zjQdX8Hea4KL; z(u2C?ut;*-r<&XR4F$G7QtMR@n-hO^?zB}`i_QGNfXa>uQ31_J!7ZnQW*psvF903N ziD#|8RXwC;jH8a{(Qiwx>Ct@kXzBEA1?tJ8CY0Q}iO+eKN6zG!oxr;kPN0hWqdfT2 zI3vu-peWAfVI9jpba%+Q57W+0FyhnD?|sr8;D~GLZp;Rn~6MqOdk(L^-WFmCtxl%+@(UO z-AE#ITbZAg*X)&1aTKotX9abW!~sDMS&Ac=M-}}H&f+aqNBtIe7H8=%)U9nM_bk+{ ze~M80P>BGI?9kB7KvxrZ_WB_1u_h!3T+4>Q7F``pD>FuU-ZvSs&T9YD z@12AS@uEXsJ)T99SdJUDDk%)V)G#C zFYB!qw1IN56SYc-d53SaTQhbKxhQB`8A?%=?}RJ}X5~y4LF!8|z6oPh!qCZK98T29u`U5y zTht4xainR6M{JN+R=RZ?|6{5TqiGVHOMIm8$h<<%E?h3P-eBz}F?wg4zMZq8>MB?Not-DPO z(>53qOJ8OGQ6{ypYHh>BHe|fo8qJ)i&E5GMQb1<1Q9e70*tpYbvj6%X-9@9`mm@(~ z&xlS$YL-Tt9BQh@gIrEkb_8`3aYW^7mlTp`84vbf7GOOxm(r;~iX}KS@$dc%%P2HI zj_hr{oRG_<&L|d6)PIr0px7jwa=%Mmfb|Sd7C;i?7W*0=TF(}l&P_>ezZc}L=PwA; z_`iDSq9t$v>JX1@3$6|`X3I?K!q3{Sx49Q<6sCx3>9Kf55To1yXl=Nk&GnbKUGR^K z2HdNcTs?m`E_kwFj^75;R|9LZI}ArM{pe?gG*hmBJe8!({X4czM641(7q$8UTB-Ab zKU)@-v%4F`G56PaRhsq+&an)>5$jWh*fl^0v7Ldig#%{zsdGS|P&>1za>ZF%&9ZqR zD*ME2)#Ao;a1OY(1FmJSoD=G|3`%4XU}=+_2i?@d(EZ$O+sIEEzgYfGV9bgxVJP*RBm=)x z);^-yC!$guMBsoSL?5_cOD(G_d+;us2KT*$85Zb|Er;7xebP!e1Vz_#M@jT@?J!Qg z(F{-gcL)R>ayfX7hn;?T7+$R{Wdc747gf=P_DpQqd5F*W0u ziAAh!K~YH6=i;UxH?{#Z27=CY#CW4ZfKa-mm3tUY9o<-f46XVyn~x|-0YHe z0J$)ny-o#l7>&`n+S=u{;~QX(7aBip%cg^m&uehI46mWO7S%RC&OM-~6*Ib3vzB9_Tgt>iJdP#Y+5M8?8V zK^|nHFSc&^a6KM6lOKk#xUGqpfR& zZg%JwyW;mR3DxBt`z!W1!qc|jR||AcPAuJ<>5JLDU8zwtg%})GX>dHpw1uJEu0IxwFie^C{;S54pxw*&1S#N+X&I6Zq|!)fYd<(dX=eb#ItX@-z)ZNV~z6 zo&sw=6D_PNj_}f56PEeF>Coni28Vn5o^OAB^~#*XP1Lo}i`yd5!r2Ogt`v*$Z|S<= zvH;ME^0C%A4%H_)0c6!Z{V78ciS336uV;n^ZOx#}cEk6*y7?vuyBE=ZbT<0288&o4 zWZP4G$q40n%+_q5MZf8@%Xe-evnIa{t$i-I{le};orz%lOZCAk2OY4A`F+1W5|%1Nsa9I8=c zFVitE$@u6JV5fUFpQIby3Z@mM@gyKP5ga50`d#qI1}uCWlhG=39GB+PTcyx(aUB?V z1RtqGfZ{}%XOFCORObLGXLTgLd^D$Oj(7$oLpkN1ZOyg+mx%nYwkIA`mn$JQ|K+xg z0B_rA*b^Zo#t(PQRByT)(O2WN$VO{J=YMR^pX#!yo>Q>yricD(R9gHYqwB8v_MJzT zUaIl(a0YG9zLxX9o?EpgxMd3k44$xFcC8?{L5C`QrsISGSL&aLLo3!A;M=l?@akEsw_AOBHv)G6WNGn>7(L)&)PaibU1<+SS6Q4?iQccNFR z|GkOsknr@cFC~i?1@r4<<(u3En+GedCPyBz>3X+!_S zFJ#{3Bmp1ZaKIrq-^fa@!{EvMLeIL<-|71M#_+A!9M;Wfw5f%!VYTL7UVJ;z$Jb=* zVX%~He&QDIw24zcQ$q;3dG{U_6p?-=S5Q?P`vZX^Y!hWwM7N*>&f_`lR^w4J$d3k; zeLSjj)FK4V^8wZcrh^1UQu$NUXbzF#p!2Xo&Mq0X=E^9G#UmirCr3XhBoh?Y8*i>b z>XAni4Wc(ps+k*?r4vL1Uf?p&*orI6S+tQ3YD$}$5P!>mG$mYNYI1yALbu%!h2gq= ziM59Di6*u5UQ@})HP~rh)mn~8wjAu^|iD#%?@ zHdk~PnL9UwJ~$fM9Dun*e0G}D*QX;gfoU!4w4O#2P*?g?%y#R>%q$JlO>l;Mk?qY` z|4K+h+LoMB6nqk&M|$Z8@W@6ljUaIqF@SPv^sebX^5v?#P|D@50=Olbs(?`a2NgCq zYPmi-+bE!t^f{hQ(7nI@Be=y~;6hpx3`gFNVjuT2Up7#Fe28_X#`#w=y0*Ye9!`156npu!hzC7DUA6Ebm)58 zhFODDDhs)^b=|{<7e~?LHjiiJo7NLkJSK7yLgB-hgTfak0zw9({gXbAues|*kO`2hsN1Y=y`X>dcyx*OPH3wIrRK#>O0sF$UV={P#~!bE8VYG9U!z>+*^6y^@#1c zAA^O6L-kE*j$y=RJZl83V!LmL+@5=L(owulce+h9H@Uj#_PXghN5#6gqJh8l|LoZ4 zHMetLr_ETk99%#a6aXE!|1^+%o)!o{!N?=sU+$>&955_8)Uc3Z@@^7tLdNyIG=C#Q zKRQgF(`{$;to8cBY{;a^hZx};Ji4hN%aJI9YqB~Fht=83-^Z}#r#6e5Nz*b;W~fh3 zDmtO0!{`RX+b%(solgUGWTKD5mB?GvpSSHwk{%1`T$cI|yZm3bZE2ubJ5B{N0}t9U zib~@TWQ}G0k#`pYka15~rUR+j=~XO~cl^7a&!@EykQb^oabIkQbAkaF={y6mtYI9t znGVHklUXYxt_5VOLXI@ZEzQpk=Wy8~{0@b;O~Z8l9v};LJ}!QxI!)WN54>%sSB6_v zVAhK_ki+5sM+kBP=P!x$sp3#U$o7;DAWe#6?QY}CC z3qvK`dlCE%QE&se`Mdz|Afuom8WdBtAV#bCSmL0>!=R5_t#Z+@tJzF`t=8IH^eY6? zg(S#8Gjz7nUlE)K#U%k^WT8A(N)n$k# zux8*L($k58i+w22Z?hFU%Z@^oIl?vm_%&ug_611lnGH9VueA_tZ;0YB4gY=@u9N6n z+um!7=BQ<^s4LpL3V){!1Gnil<-xhPyw_CH;W}iWMnCuVPu5c$s0^Zi(ZRu|P_I>Fh-!L_buM{&4bL2+uIf-|4pn zwF|*#k+Y2jmXgF9=d7L_MrAoiNaf_9*e82_9d7&MVkCCGto{0Xt|$j}F2I-LeQ-Y> z>8^0pT*qi2YU zJ?{1=3L1d$Sp82EN(XreZfP=8hqO~fAjd4K8Z0H*A-G_J2bIIvL|;12$*W(QaEP8;qDUF#8m zhS9ZP;4U>Czr-EKl!C15@dkWfo<+U0u3KelEy?zV{624iU_6@ z?jDr}HHtHOq|kEdfk>I%zceBVrvI-Qn}1Wm35DaE=zU5S z+r5KmYE8e8(;?D29hCNn^PiSALwK5<@!$-Ag`V%qyW5{7@R)w>f699CLd&{2={HPT zjlZi80)-+2L!n8r<$WjD9j$wIb;YgIfeS6`Bc?mTb0{Fu5pA`U%B)aMN_9gj1|hKGJe?ozr>l+4jeq;`^;OHlX9Eh{T~N&JUZ)_MXYUDA&2( z5hYdra7*pjlV+H3F zj_)$ahL@4;%czYKQ8C*JPR)MLD3_$T4vDj>O2&l@`XD8ioP3jvH|^uiQ1UNlk_674 zrec4VhgNu=GrBjvaO>{zqab8)bay*ixX^pC3i>LEjc-#6{g=O=4k!}Josg!DHibFb zR>z+l#}o}h5GAp`%cRE>Q_8GPMl~q2$t*B;Sjtz8cbS8@PMO`iKSEboHqXuEIQNla z{hhjcLgkiuTnvWR4K}o$vO#Pgy{gms9{G{OjK*?^`~1;Ip))ee=iwj89rx_toZXDJ z{$pE!)F0eKT(ymAG~r8(pVL`&>FnutnD)uVv7yFg>K$T2@8YQLixHWTw$@JEdv7n7 zwM}>vsmO+8z1sqv6d*m)*&hcXig?1C_1{roNhAYq1F2V2Oq^#PVi(0`y2k-pFGxVX zE>=9*aT%^?WR`Gq?{=En#T7EFHk4!&tib4Fv6T?w+qpaNjJ|S*#dO41SM(4XGMOQEN5Gs3GVw zhrz+9U}F>s7BiDp2>&`aJ&iP6s`zOBJ#q)pcg$Xlr*3!pqvw2-W9RI{lj-|EKYJW_ z>&uw*PS+fM>p;hB4s}PI<1Oy>KHKRVMZQKk$HNcAzPs^!7Tzj(XX#6Z!^=L&>G_%c z6kulwYWl z_WBP3NQwUX-96rCXj`x+%aAVfHNu>wH<`L29dI4Lm^^SShTsXdtic(Z@;Oc zyu_XYFW@idIkCyKR%2G)2mS*TJPF^{JJ~=$Z7zzTE{8dv#pkI`-#re%z#F&R{rYj!_qa5FM!CKCDa7t6je>iIfklv3)P8 zjrc8V>x1i(vfY<)nYr(xdX3gT&U{EUQY$w+JC?P=n1am7V69)d6LBGl+2D(ZlKyNv z*KWF`aR~>v$pri4_g~5{W&0!(Pb;3#I#rlMe<}3a2OkbBKCivca$78)C+(ic#9gM~ z1X~fqQajm|+Sk{`Lltf<@+@_DGW81S9 zRn@#b62<=FNB7Mi>eytayGj2HsYzZb zkgncUjR~+y1^6DhJ=dXqpxp(1xT zwD`|nvkbVi2OCfBvZ*~L_5A)p|58nRu1ll61(nrRV}-D;J%(JnRr^uX^DHAy$nQ~0 z-5=hlZn=~JBp<=u7_GvmUEH(3Jb(rb^5FT@2Nk}1FuMGy)mxF{-s#&xofEo=P2Ns& zLUQCBOLyd%#F0u!*+_i3uLLX*4H9M14bP~5W?v=T_K@v;u@Cz-zpDv8BtN)a`J2~g zwml|4Y2O|D@q0S$*MBtz0_MyoKK{*Z&SiQ8zBeoe9|gOvz*HKcljVDJdc;P?NU9m7 z_qE=>=Q{|)iFr1n42^L-4b%E=t zr{9^>XTIGk$k3enk+D`B83=-Qo<95gbL+sZKlcoLfByaNFKybl)zZ~JCKk=l^{l=< zb8O(p>lO1~mpch&HOugCv1|xNaQkyzq9AFKO{pZwQr);$|C-qef~{5`1Ui+P@X-qW zG1(or`T}65JXQ~l?{U{@z#T<7o!BXio63ptM7S6r4fKR|DWBV?SZ; zpnj_^q(lhzTwpxlg*6_+7n+lZMx-nl7eFxZ6!$Fq9$g6Jf71^Ct5HV=)!F}LQu_b4 z*>W}6$-SVW-H^1I@xRp>m{0W2)d{N&&&f8tn)bRV#9P!uxSS^IFBje28QpZ`XH&VQ zCZx>nNcC7;{s{o0Z!bS-u=+{Z*6G(tunA1OXsDeWi|eC{1_!Hv>wwv+G7#Ar!e^+JkIXDJ{USg+s$!xdt&*ORlY|; z9&w&bS9G3mHc7BDoPXBsAE+BYhIu=E#J|+dY14`LI^X)YVXfgG+m6;9J?Y$6PujVP z>PY-wguVMeREyvKzvg^0%rF?^G{evk8K+W7GYrP5W>5)boC+bNno2b@7&DGTDmpq< zipn8UsXfk;+M^^%ZKP7W-5#>bZrAo%_WQo?&-;EnKJV}MA6UPw^|;pcx~}UPS>U`; zqf%=3l$9pYKuJ@xbkB!m`XD_?dj_onKN5gdtz5N-WncZ{EjllFI%WEKAv0qAUb4B2 z6aW`YA~!3wah8w_rk8V3x5|@tLbaDo>-F!1=|_0J>pDCr~Zx;_92n~ zvi8u{M09XmM<+)T`o(ugfmIOKD7GeLAny3O5;;9s#4<8mCR&>9Ce1>2WxFm8Svhw* zrJi-Zr>N?qjHg6njIWa&O$`%695ro^#%SlcyvVngI!|#w518cTgIUBw?P-H6>z!!5 zE5|dmbLh<}(E&QVwx|HRj?w)Q;j=T#Sm9w0Gc}#po>4t;?t#xijX%Bg8fd+9MwR9K zVgcOMsE}0;qIje|0d@iszt3e@W43!)AMaQnW^avHd*cSJb2hv;V>}abLlk0r)G=q9vpZ_)&_%%6tB@mJhBqnapLQ%!>E*- zoMhL|uczfT9ji>r2E||Xil!S~EG7QugusKRfrBeP1~w<#Ic(MOXI}bV z!=t=`*8C~yo9Y|dfDt&kgPv6U@&hpq35Fo253Vh|ueaZ$u+Q)dk-DxuzCL@?-M50r z8Owjlgn$u7GT5uB7D#eP;D_L^SMt)MH-B}N6uT8gOcOChGbc@z`YAK#kD5WtVRWyK zi*_1{fIu|ImRY&VMJVz1>h}NuGQea(H$p^k#L&%lB-WiuObnlZc39rEm?Fk^1^v#9 zTPY>%4tV>k&da}@JZ>RaX!m|_GmhtCH0Mcmoe*m-9$*lRG#gVmHvPmr2Hal|wFl-b&ck+PR$kP6wYwVKDHGabT?Wnd5pz9vT;_^}_BcNye%|KqQ~Jp%RXU!N-K$)G z$1DEX!129aaTVOadBX+mQim)vQpN<#U_m_)K0Rfi1Ub9>eBSv z&8BhvJ60`029sl~zNz{wgF6@VGgegVd`RhqnJ6Kwnmv?{B<0#C82phX$Y8wH=Vc6O=z{Yvx5L-=$WL@?vb6yMDgD%rCsNdTjyA=P6qzZtbeE=*h8K zBOY!#)v{uPEeLncgj;8IXq^!v>PjH^v>UIjh;d!(W*{1o1Ti`yVCU*jm3bcD=jvqv zHhiyHStu_vNwKLHdRB&V0(Ilbb(uSUCOp{e1u=)-?~K&-8+%+boqo*ud|>FG`6F)T zq_eWvo%aP}V~b-a=)csw*j~kgV$@8eE4Tn;^crR|cj2ZsXeWYzL~)`3=1PK+%a#*O zZB`-qDX_GggiUYX-bYzZM7{;{l8-`8V(f)k`z(|vt(ok$-H!pBFvL+M^_Sis&rpU+ zkF3v!;IOY>h()Y?DQ0w%Uqb`vTqxxDt{k_rHpB`&Efz3 z7p1?PnemPn%2paAP!)8#c=z3zY}5JhJa&DDrv2!{q*fj- zP+|6S{rxOGqmyy|%QHy{qWSm9pR)z+QQ8MC9y48eI9HHg^(g)J4dW{*w`t$0|Aa3G zc*xevpkpa`R(Et_*Y=>QBq{PNb>GWfvG6t84FqqdlNUZ!>5e~4&3376{2&<2(Fv~Y zURghs!{kkoN60;dDds1iVVAK1mV^SO{$}S|Ng&sWDfG9Err#qCpN4$7Wt#J1|E1j$AzfT7|0?TY#lLC>lhMm z^P}0u^Ljb!;pSLZS=NPTPAktHE1)J`L7z)x6V}|in&fb!ax1(FVN3AM*jLNm+ofDJ z8xO%~-`YA1)`%SlSDq%Q94)z%D3=9G@~#T#&g72VTAdv2?fbjl&$VZ7{0h-@SGPRb zGK6EdZ8LbY!NcsJeQur3C9Qqj_L$S>a-Lj>R3+-9Q#PEG)jjdq*DEXQ-fG&K%#4wcfrg@tEQgenO=aN1?PQKo^Adc^V6kjr}J8PpjSVR73xum_~Fz&E%cw`H($ z6G&b7aFvHmh1Lgh)r?`b(l69{M{n*#{)) zM6?(_xy(-=pj1F2V)*x+BV1$P;I(*bA50Ii!%FQr+=6)U#v@q(B~gh2mc(9dX~lzO zbgZ&+fqu4tLyN^3e7>U$WzK`ScCVt1uC?dE=>3*%Gf3BIa7I7V6fH4pLnveUJN8I6 zpe0sHODiSxagQZcEeRuVENY`8x}m!QGhG!(|5`}$1X6bsVn-0Hu*)N1RD5JQlV1_d zzZfmx?X^)x$M(Z|%n9ZbFyzJPI6Xk{j_l<%A<-ssjxq=dwXtzuvKOCbx~VhWMdZVQ zV(gH6a_^p-dvj~cazV&o{b=sBh1>>mUXx4SjgY)nVP0EV-tD%$_R+k13wcU%ey2^6HWq`^@ECLfs^FoPoWR?;7B3Qz`v z_9nR4Gr}wwBLi9nfNnfMzFdrXUd)*+Ffk}mIu)61EvY2^`vmw3Q2VkVmjB^MjW3}E zrTCTFhME1FGwIVb&B|xkmk|2`&a93dR=K23al@CV&rH0(5#I#vKQ3usii3r3(DzeB zw4l;mB%C`)q^c6nZK}H}O8^VlbNvAz5;m4n;^z45)G9AJ3_!3QFsq^ZN9`t1&#j4-Ym4;>yLGz~L4ft!5!>iK zy`e?1&#s}mu%0GF-jDhJ%3hm;ajJ>T{7sRAX3P7LSjN6?DttL&M@)}Rrc5TM zMVIaa--ho5z$DM+aTVbjxyi$8{r5^QEWgcODux)*I;@-5D~ag9t7&O%w{A+e|7(5aMyA4Ic~?Y z#Ex>4$Oe(zAzE<)X?2|xIg_w2xMM)d^H0DqN){p?u5>|q6gc&g0%ZxLctYz{6&;#Q3}c4C(Isw%T;D;fgB9ed!aSApsap1NUM#+1q0w>?)5$01EBl4|c;fN4)L)8kF`#zwW^Z2jd&uA@H&u-W?b<)XPREM@n$r6)eqQeG{HaA|Z6Y{L*?ebl5CwBGX9AwT*>anUbkH zIEKguJn)4ZrFI%haX8n**g+u;6H!r%H&f&pP99WukiNRFSOZMhLpQ}guoE)N^4jGn z=5(aqlan6wF9b>GJPm$VMxceJW;3(;2}3g;IqCcrDfzFtGunW6VwLWlh8}&*zP=kz zr}TfS^#tDhi&wa`(sRe`gh#rW{?FWO`koGS__Uest$xq7V?#wp+N+K7{?WeNMzDo* zS?IL_3dq8NDts-FWdx*ZWu$AH{#AjtTI%L}>kjx?*6Rdi9yif&1UO*AQKq`TVdU{i zRsKaM=O%e+nTP2&&?>xbuP|}-pxzJP;rJIATJ--6<})v`=q#v~P=HW}cQ^#o6cafCmHMYh9Cl?oWjOkH^5iih!JTb9>O-=Kz%1(aQD#w{-vE46f~>3g4xG=7U)!LLxQ7_zg^ZxWz}4=CLDGxvHSo_!3a{JcnHHdm*78Px}s62t? z){3{SGqk&PZ-h@5)f3@F`GA0f=MttECUv6@Gp)@oZA$S+0_KIuGnDuZTz92v{GD4T z_Hls(`$_Q9wzdQ1UY10^rg{eOXh7YM6`Alf)azs#*h-3~USmSVJTW$q8%3&T5guM) zQ9Y=TIFDUn;yB2i_tgm=$aqC{JVvBvDGQrqAq)i|j604$jJ>jqkkf%8|7kap1?1@D zTy(Sz^<=iI8$%Tm?ML{BG1pod&PI{AffX_YDCtbtWs?_Mz5&w z#`(_zI1}6wid6)F!N~WEF`$(y@&o~kI9|;4;iro7E71@+-J$C#MBNo11>9S&v;hQd zoi0!ak5y@H@aHhUGn4(t-9w$rNEV$Hm+t-n=~?*+HZuQkxA)67&tn5wx2qd! zxr1Z93Cc0^FE4*LTubcNes*mCHzho$%Le;xaYJ*L)g;Fp?lDE4><0HJ;r=0A`bShj zj;+NQE7MF8K>|tgX0DP zQKwu1*H^s6EnuhnYd)1^9evyETr7`=+6PGyB{!0z?*&Y(gyJ~#EqVeTjN-xrC_1qG z8j+8^(QoJwW>{T;iFv-9{p+myn{lp5YcndElDskWs{DE{=f2rGfcQLUkqT{!&FX%@(6Kc;JiF)pKbd)*>n z(Af?mlf3vLbMjm3g~J&Z1gjKyaOqJJmEg)m0q8@U9YxSoIGlJCOh+bi#IHXeg%v~J zdpp4+BMnxvDvuGU{hR;4BalnHLar}(%hsG-0>^Or{f5;95Lyjv%JL84!qi#3IIz^B z3C11=RoFqL#uNbn1CL!wJb3s8nC>6S6C$AM_#O*|A-HU z%+oRgy&+v1?Cb+~-8 zR7Zzt)m#FX>&2GMAwR@k!fKEe2vb^1E^ca5N1=bEyXW&-t+kfAd31EH{;r>-LcXKl zb8~~JR{m#4AOAB+1MOwSd+WDex8K{lwJ!L*j>E2j(c#7C`#z2=Uvr{2$=7$Yh*j(N zm>_=+q^6z(ev(rc&WIPt^|J%{y|OaJT=>5JJ6sDSnf=Nm%FEmZ~Y@7C7fk5 zJtrefxg4Fowa}Nw8vK` zT69TjQa;%E(30mwWI6A5x+!z!T6vDR?&!HR;`%!L7?Qk}?4W5zcb&vJRDX}}U)ce! zQ<~gJY_2f43SL8X-cChID8HIDdER=#Nqb{&6e?Amfvi`7tnJedZzz5Rb6$l+YD?Y*=kt`}?wvJOLzrhd^Ah*DQRy~OIp zE*}W-2mtQRyB9cjz!#tR0Sb&ZcX^BJ9M`OP_;D^Zh3bGkm7)}5EQ2qJ@9Ty9^aC+^ zGWx8y2qL1bHVIz;_|}Wk-S|F-i*!%XA$Yg>Aq1Sje3~&lT;e&ihvAZDR)?m0{$6tw z(q|=ui}o(BMuV$A_l`o^)pw8m$fllah~=30V7lRSmqHC6^#CsL0Viy5@;)o^0!S;I zJPNsQ)rosN;8|(cJ<=~mo2kCYneKyBXv=-tbYh~fJiK2IVIGo%b0>5TR}t9PSF6Rk z^)i@+860w3Zg(uRfQ8&7J+Tohk(jA3n`AK6f;DQ>?;dZ3{UJV+>r zxe|TiXN^lPeea3KGdfJZu~4griCI8sMBr9-5ZU)tE`a|<@I=w!uWCTMqIHivk- zj48zzjDo0|Apk14cyRwmSn;3Wt-Jg(+*sIwjE>BQaMCxek>S2?@UaVbw=J4q1qkx;S5JbL~V!^ zV74}8+QQyz{uh3CJSd;rxv$zOx$P5fC2=b8XAQEZ_6e?Rty2?7P3GA*co+<@7|wAt z{9(iFy!$m$gCMAr54Us095Tm1$GW>%=*c9^X3_`=y|D}SmadL5y+0-}-kKgInX}n6 z*N)xsWgZ5=s#xoWD*d8`POT~66yfXSqVB*bRCidFCjhgT3DiBZh}m2xtxCdFgBSKA z3lp3K!6b}&tsGZoFB3%>Ro99sp?mL{ilPiJwK-Z95_RY^k%rI6<<)&+l+UXA=wKP* zqVr)5#8awHFSECQ3c#iUm$lkmkYP6}KJY8J)OU3dn|yl=6YTr+R8Z*|sT$(ANWB#} zr9M3E7KLX9@W&(%|JFx)2D>kfT9$z9uv}_@KZ3nqYVXge@eB|r=QbKAP>H5lG+qQK zIX@U9U0iv%Q1tNGcR!|?6E0-A>gEn5s6OW*PT*ENLz0^7R6031(6GwrAm4IKaT$w0 z>SFovH%!(gHtxuxDF3c`YMu+MeYaqF7kywl)1fq@m4OP#Up9+Hc)F4Y7D5fU?9a@$ zD*b@Roz#igtkn%ul;Kf{*7t_x4YQ#}G8x+-Hx)0Ar|G;<@1-zO^IiTDX+Le)NMZEi zUDZm>tJ0a z^nHXzxBgS0>)AX{ZaJ%*-ACvzGaXWL6j3jNsGfG?F2xRz)8p|J^lkk)C#@|Uvs^Gv zIsO2;f&x~&Ck`W>E5xQq*4Iy0I}k@rGhCe)>c#E9pZcMvee@o&UHkXC*1soqvk}g$BViQ~ zW5QO=VA#9kP#Y%7c>WN5kJ%==85nPp*o+Sa>mSLk70k!s&GLNM; zPAZ%@&9YP;&fp{9_K_>6VG-JZFczK+x5PFkr-T0G{~rN6*%^Sb2uMYCXj?Y462L05 zw}HY?0R)Fg&!%UGgy3fg0CEERuo(w!#GVE)<4gkRO{T<252AfGkLDbX14fkiY5}el z3|g}AAgB;(4|K7l5H1sBWXle@$Wy0tP6)Ge`!&XSxULES!30_fz?}(Mi^{c-E3ci= zJINr3&=^=`_GNNj`Hfr%4**->g)(VVTi&++r8?Jv;?ng$iA#b`GO_JK)c+zD=GJqY z%pB7Py32#U;EK&TBfXPs)b)!l>1O|pt6A+=azjrk5mg{X zQd*Nji);Df4JTI?=(i;5U5$HENcTz2TWV~RC;z9h&HJaZ9ThAtuAF+|a2@KiI@Nuv zEx0KebEO5O8U}R)8r|Z9R70)RW)>&rqH^BheQsnVWWNJ9eme$A<<0$jG;OYLx0s^$ z5^hFphjQ2GCF+vwpVt>3Y>}OCj!pbv$?9rMlMBdBO&JX*XiAc~dD6asg7d z#@6s@sF{^RZ^)qTphV`>@yRyVoiKM7@>E_O9 zgBthxM`e)`L)^D#-s{%(Bsq|y0!Y@Sjs0en6@mH2t~Fo*=QNzxVHFyc|L;WZ*Yv&D099qBj(umB|h;>pGv9b(i*7d zg$~ifM5W6EUH1nr!(gA=`59@k`MueT?@eAtjf3tFt)qtd1EOd~#MHPAf7X2e%Knb8U z;WKx2PvK%Gu2pr?AA)m~c(CZMp_MWm*?-G0LmOw8oMG<;JZ-ClT2#cec@j^g$8o58 zL$r4Qc?(cKQZmCoUvY#{#XY$euJ+aSPrF>r3Qn`{JY*rbUOV92t(wpTcRWutTqV? zK5H>jv_;eT?J4iL2d;W$IZ3Xw1ePd>=hG89BOWgK@}`=@=$X9puJHo#0I;2Cv=2Pr z4=D1Xw@C`Zr$4PieeH9W74L?i=%EgaGL|64PGR^E2VY0$hmd?uG7gpWvx?&kly81V z3GRM}D2u_kHfjEi-sy#3P9%;HZX{*fZg?Rf>bbPoqS@#zd7aSZb4v7Po_N2{FM1yp zYpW3ElB8tr0WfVf3dm$77VJe?^F7eu?vLS(p{MvtcHovw0B=EgczW+VIMze*W}K zks_bY*};-Jf*4tFP}1NLLF6?tWiT}3waR};e$HpE)NnPC$ZUyU=^JUIVbR{q;%Z_g;Ij zQTd0b?und1>rlp^RpTmYvwBnn`D&lEWYpbTV0SJ4L1>O$WWG?`qaI{WyF3^1~#_; z7|il@w8yLm#|WpD-h{{IKpeIkLgdzRzs@2`zs+CjnKqiqf(``t({wM#Wm!`JF%Pt5 zGeC;tBLaLi4izrXY8d|(f1N@q7W}KAJr&w`7(;s5v zD}+(g@y(9TYPP4)um$x^iRx(aFg5d&&|R)ykDck-d6|iQgr(g%{|8%FwtTC0I_A!{ zg(q6K|6-|=Ar9w+NhGNt`}4O6%@)tAx-}!)P0<`!DB+cS=FlsL@k%VTa(B$u5agmJ z9S<{rV#YsAC`(xRVakXTC!|D8otW!kwQTZ7VASsW1WK2fN-n*Fu;z(>N(o8zoPV6N z1^yc6A(T{d!e2Y$X&4AvN}b>#1BG68cV>Fb{f$sRgO@(&w+Y1b2` zW%x<04Vtj!+Z(4%yJ_U239&JQjUAw}7xBTZb2>_+DCcR*s6AeLu(|%ZXc}AlX>G5< z!afi2R0J-Y_ZFPz$x<2B$PhQFXjm;zBAMe;s6F<2S#VEM-2GIr-Az24Kd?@``4U*K zak8aa2X{UWTX3gw3UVk)iGDjb%m}K=_eP6#+C|wXh6#B|bZBe^;8|A4!j>bH_~sp6 zBq2c#IIRUj(GEK&)j8|q-m4%Du#qV>%BH|3ex*6Z-8GSccf^Zz!R7Obl#_OCZD#hu zc)T@uCGW>1IJ}Z*4JhT?&zRvu)tQxZNhrqa%3n6DU!9HC{GDnFPGnvZoif$4P&+8`Z_CkA!(rDQ zs^{aBPd=HZ!ba-pRn?Tb1?a7|NSw32$K$Xvcgt3GK`noZ{I2PM^NOqUAvQA9nYM#j z!{8BoSR!mtZUiy_oS!!hU#`+M5h}6K?a=fiBF|?9YFXI+%Nj{XBg_QEJm%2Z^|}WX zwg*?DcK*B$xGPGb(E0Kee+mc?Ad|JP(84x;VcgV&;)zCIbo7D03gbd>31kF89gFkB zE{h0K^z`-~`639R;+%ln0NfIJ=l36xN41$V_@65X_z;a(Byr@O9?fm5+;U^Pyh}t9gZUdhb^3;v*9p4OvERmgl5T31e*pH z)IP(MoU!-@78T<}rfoUk{C^wUOLpbx|3h4|oB{vQEdN?y3QSahwCf6Bb1e`Ym+j+W z;yapMKb!>tq-cR=mjVE%;?kP&)Ambyl<*FX>WS<$q3?#7EU?K9atjA}IB<|WwG9tb z;_Fz1kp|ozp{zJK2lOpLZHi&2aR*!o{$&877(k0;WeeT{5Q8&;E?_kVUMZEjt-;OEq;veMc4Xv}We zfg}7Eo=NB053qW!8u|Wfhf;g*`;x(1LO5Kz%+U@AhUjHL&w{ko|H^qP;{6aUC)+Qf6;70V7~R5 zTt=6<%hE*U_I951eW#A|`F*#FY0pE;+;)8*&4Bc5at=H)D4XMHJM8%F%w23?cF5s6=UV4o0UO#X z_th6^YW*aG_24#*76;fLjf}!Gwi~5#9G^PPiivjyo4lf{WsbcVzAF?5;#)*H;8Z2w zQ@4iZ6B4=9vGd#r7=s3X(3*QSIG2yLLb#t`(7 zAE1Mt?=nq@Be2Y()nt)YIdH$mp&S#8I|hx^7M+4M%2DO8v$s4?)eqgj$ll+Q-ig_! zRzJtfla>Z5Nyy%Fx&Ok~q`K>L)R(v$>|%hO>b0!KSMc`It1~g*E72UT-68`paq%nhzJi)b=+{II>a1rv1U4DyYbp| z{-E>Ik7|hJlxoV;AU3f%;K+dxj|a>00-FPj9WojRoT&#{4Hi-9{A~MPRdHF@zp#nq zrY^lQ5SwUf;~H2%i_Vyo+TF_lFXqGKz&;~yN;F2p=1G)%r(nKQsSfswKK{2>*eglpi4|7^P zB_$^REcUT2%5U<{m;PC3;TwD}REP`_cdJzrTLieN>#Y;vHPE0^-$e z{sRJ6B1&D~-Uxi~B5a}&Yt~m}#-+S0n&VOeC+r6pw+zKH+dazPe*Eb*G2}~~yS}&| zs1`!^1IckcMm0+MMmlu&hpzLi`JGt+wNodhEC|pUV!5)+2-?GNI+_f)aG<+i22p{Z zml0gyP)+gyIKoeMTN^3Z;GYnA%B@rJ6d$wKsr#7USSx~trX};$kuMi13!S!V5z3Y* zBj%^9-Y`Fv2rVCfV^)lGouHY!k9TUDJ}EJWrpj&aPem(7J^q9X@LcSM2h* zWXE{at5JrJ+4d&t4x|2M&xG9^Gk8Jttp~I<#d+ai&hzX{mUT)oE?fXJe8cElI|gPN zhu@sU+}EL~)zXMI8W6$s173;HMZo8BRbu}(N~$cprV3vW2P1--(+hwaP73?hf_`a` zns#a?3$5|w{-b@bvb8eWyjL5sHlolR;|l~4FgCjgs?uiD2V9i%n2$A6>b9~Zgr{kS~W1#5XXWUjv8O~LShc0&V-|qT{^`` z(-9@={?#P>6-5}P;o41qR&t7k8f-P+L|VyKp#K5=K-%l;Y!5skjN?LxckENT_N|?U zy|_rd``Y$8F+?HxbZehn0%Rs{wIo;?MUs-qOp_0J+c`5Q+KU0$LGQ`TXB2U++bHnh z;=~IwX~WH3fgbwG0v?_ zP7@{wNYfkeMNDu5EcqvOrs)mv%C6W`eT0y6-~S58@+N5ytJ|CgD>cNu@H1Akxxe5i zF+01O<0Z4%-Y9c2dO6G@C}4Vv}>)>-DpJENl2h+Ml4inY*U=nmnvjQ;ji_QdNe5oZ>9zT;xRVt8S||A; z(#DN1C4Y=E%nR}Os_4M|+*V0}guq?}!f~q>qx2g3Gl?#Id_<|(r%{&OmB~lj4c^zP zSycN2oB4Bg@Ch`y;jYy?-{M?;|1F$m8~-|M<@Q5KNeAX2H&2#HSKj2zq)>0`DO4ro zQT8L-A&IGF^IMnfSJJvlEYgb;yEfN(2RC?;c@po=?KYE=XRz$j8JktixY;)$`bJqufC`Nt!}S zDYYU@GTB^v-%O@+Tcs2n&ZImK@iZt)G1-4!8Jq{xIhWkNbb{S1~d(_?dB>C}D$y^DNV60gP_0qOu?_ z_i#LAC}S05)xxTbp>@7-tN5ZU-5qdu#acdt;MJ5Jrh+ihNcVGdjcOLYW9Jf8@pVPs2#bK_<@dD}d@Rksv4DoCb0IAJ zqc-e!M*t%zgn^E#vfvXr;FU`rC~KjS_(26QUj}@R1CT7j!a^Z{DVicH;PRl>5C!@& z|KIhj-#>bm{{PNy;%_EmsHstaTg;BQnvm3r-U7nE=~-~TQqXfUF1<2nB;ia;#MQLi z2Xf7G8&d~DLBircdN%uB{X+Js^$;i&-LGROa;*)17k@Tq#eeJBl*=5>pL0Z+HNbyb z7xX&m?9PJvmv=lLddcS|yI+yK(}apLh}Utld(D|LD!)^UPWdwMPnmqhp>(bdduO1A zxnM?EETm~(wu+x~GI0FBH&}muUeI}?x^Vegv5Re0blnMku(o=3jdQP}MNlqyn0vv0 ztFd2C^4){rvh8R0ij2Eh)dNMPpu_s`;;A=ve}0a-%jFkE|7I0-Wpm@e%MTArmYG|B z3b8gL=2&c&i6b$F+DXiFT8Eq?`>jv>0U6NIz9sOX%Q}dFv34=wYgz1BDOiqooVLYsc z9S=_K(SNpiR_K9SzQ7MW%h^c&W^66fwumN76vG&e z{>7K}9|+lzZ;{H2ky@p|si=K8q5HHWTiH^RZ@V4TM9D&ANPg3=n zIazHt=}9VBeJhQDtK3Q>%SuuY7j$8+hP)H2r}2qOu2j5jGF zFLtC;wLK@je$l=_ZS{P+t$EFXSp zKB0@DWpQHA6B>nYv-(out6D%@AKc8kr}7a#nd$x}pPF@-+kN!lu?hI%*BcD3T4FSg zLmFIS6ObE(Mh2DW)wOKc6;q2+cvJCd>+ECS+u^XkHK~y zJw)s;+z`hBhux&!^;GPBj>2+4l})qZ>JT4yPw!P79dV?3DC6203VW*^9sQ2H+5DBz z*9A%dzG6&Ov}UZBa$A{aLX0|LE9k`N3SlOk+3e@!IeZy`ZkF2G2eP}V@pKO-9=O2+ zbd@NDNUDn(SUYB4RP--)w_-jOS2+V#jo9Ggj}iiX@1-@8rnT`)w82HH$3NLkx4F`@ zybF%-CLjb^VVEVtu1kpT1N-i{dti3+lDyP>K?(C%=+FVBr0G<(F_g$!4yz~(WL+>` zP{%MYgL?M%6Z$0=H0z4`I++L~h(Pd9mN{jJi7+MjJ}zl>EZ9)ty_PJ_3kT(Mr!blkOf1|f zfK~tOa>{4_z>{s~0;!HvG$m@8!iM~`mhtg&;K|#4LCNyVV0JV3lJCC-%R7S{bE@4U5T4!qYUdeXi@jx^=JM=*c`R3nm(6NMH^_+Om z?j%HB3kwN~s8&I>zyE=jSk!O(u?1PkXuZns-xYco*ed4%QTwmjY}5Y>Zus#JtmLH# zPoMe8&8VX}p$)3_C2;J<;wwnY&TUtT`_i+C`J3J4QD%OmzuSu5<_6nM>%LB&)yK}}+>day#qMqy3If~tL(;Epslil zVZIgMoQ@hW5bKnyGmk?Bj#(2w(;`1Onf_Iau&wbyr+|~?tncBNi)|dM9E%#&F6LN_6A&gTQ@Z=OD>JWo zW7oSJ8YR|cfp~)7$bKArO|8bwyLS=Wzk*Dz(>*qidSFrH*VvXX2wDCFCdj8o>mCEy z{)A*ZUgs^}_E!~U zV(~?1+R7uito3K~pE{=7FxZOyPwaFUhAH`o&Ru(#RlR^ee}0_vn+0-B&Ca!c{Z`H@ znz);ajJK^rZmkgC7@_(`dnydFQ_3E;Dn9T{X$Q89{?RSjEIAusgX?}(X?%R!RZl00 z7W}lNrRxRSvO>fe*WBCOclguxpANnHYI5P;C1nKjV^V1Bp|3#jVcgn-xA(m+9P7DB zz!=xM=+w?EX#RN}H-TqiucaJ#U?R>po>5{g><&IQBw*m;GJ=9bFd@J{G0)sN=-t_0 z|Ls4u%2h>wZ@{sBNEk|E2vfO2o2B5>S&$hrYac*T<-+qlzCYf0)DETm`%CkBgDD;h zD5=yqT@kH2LYCV0(iG5oGsx(rBhV1vPw$T0XJSV{EH-F0R%n2ond%AvoEe8k0*DG= zm?@$#d}s6l#EclCI12ALVi+R1!;zSb9&_rFWAKv0UgLjHpk)4a(o zbxD!-7(iM%@+J#bDWGrf{y)~@(vrBJL?=2q3RyH}mwu<4Ht;#`lx@Oi33AhyrvF0R zd~S7x^c^9qQgm1%0o*Z*D0kEE-}28KQvfv>wBR@+CLth)`X zQ|b7Zb=%}R$#v>HqY|HfYnBBjZI*su1Z|ERx#Ztbi_p^37_sN&N)4ORe;uidIx(XW z0lzX@xBa0+YY~OOZnjM5mgqS4tz#mP>NW(Doza3M08@UbQSNgOnU8 zwK(RlCj)thPMibYWQg=g8F>L?6PZHyNPyI;dQ8@!=h=Ys91~@@9ZhE&)zm76EC(iN z1j_-q0ZS33Hw|8>L5=1RZ(VbelW`WTi}M>Q5V}+@eP@(a=};MmNs7!d7L%IM#x289 z7)E=>mVBC&i5jqJq+SZId1w&rLmS|M8tr;}nxC^&RcUyjVfag&al?E28q+%XqRyFw zQu3*8%a)mU_bYmB0^x}jHV&A|?%@t(;^vG%xnA|hs`JZdZhUI9 zJ>;CJmup}St&UUKv#dF|X`-zgoeH;lp30C~JpU3Urx|J5n5jy zH6oH3(YRuBN0;pho2fUHe3Qyb8at5aX9M*f;sAB@)fnSLXt*bEy_*0SK~$5mxNJol z$1CBn>qS;8T(zSd_B8fw%Ff%*i&;9AV((=+S&|1%mD43S{p3Utd;Rd7LpXSORvJ0> z%y+(Bag9}iwyYLv_ge;CpYoyXU_<36`E4Cl90ALWKQ7_Y_>`iW#mH`ncrf*=`GN0u zJ*ndHq*Igea5LVxIEB5Rnhw>>;at>RL7d{=fD^QwQ{RBtZ*%A;ArL|VT&xc>J?d_aaPmA;TZ_`A)rbvFe0$>dh!9oF6=vgmW2mX>^SPrV6Z zZU=VW6KMCd&nb&g(qt^J>5eF$o%^~S*~0cBf~Q^p2Wh}v{*r6mHa*2jVAR+E6#wUbS8$48V9N(H1l9D?zi*^Zci$rp#_Q7chluh$K(ht+rE0!I_iHOK1 zVkS6bi#3uFHjQ?hU*X7tVg^pP5^{O%nMOnXJ&q!FQ5sMMKA*MzE!R6v=1vmcuV(iy zNNp=3^C3zYMO6WAJ*Ls3H9XBcYX#+u~S*bYq(I1 zKMNAy05i@(iyYndF9PB$4{~Eo-|F|H=#;k473cuQ5b)X3%>`mO3c#(W33#s?G~I%f zQ`TuiGA|>ERt&Yq-P<=XzHqjDl+f$AnIdwy5>>rnc{D>aRrc5M`HL<+Z&b3@pu5xa zmst2Kyd2-*DzHM%1w)S~Kis#MdO;2URnC@!3pb7FWt8_C&0UX zv!L8sw#LfG5?uWzhuyj|?6rxI9%;vJcc9BSL%GRTBu155bc9}KZtVzVQx8+Fa%w9O zszt1OYgmOS9%3Hy^zY*>aV_lN2cj4BkdD^2KiEkH6|Ch7pmo2C`>q_GVmbW;e7*WK z>cK>&cz7RmE-T3ZRM%w;xDI>m?t@xW!%L^+bdaDpz=O%@G)zUd2bp^ZLATk0zRSzf zrB9&(hZ)#91}8s*g$*30CLdkM{6(393-pgO}hj5r*^EkzO?EI@gLbb8fx zF6XjCU1Q2T0gy^VZ<6}ULOS4H&tqN^BG(v4_Smi@+CQekqd?~2%egL_+(;B0wfuhj zgy*rBtaHS>5AHZW6DPk<ws;)A$;@_8`LO1X%e35HD1&04o?#4_l^Gb?3y#8TH-du< z9q`Ms?%LrB0dqSaA$Mv^@oH$%qgU>Pfz z_qt=HRPd8T*R;F4@faSNl6RVPParj{Du~t07VF;yJldq)l@3bD{XoZJ^D0436ggU3 zJF?lf^yTm2C_(?T!t9eUfjUa5se|3w)e+uSNg#no=f?M^T<{^P^K0JwyPE5;UAGa=7f_0KKNcZZI+Xt(zTW+x>Bs;7 zf9z;>V4Gpi+YEEcA)-=k3?npWr8K7!5>l;FZL_fely-9!vgM?|mZ?vNjZ zQV~krZTx`&A^2KJSXCQ{zw90UIc@H24a&X@D+z%Q`y zWAwqDZ`VGitJp?UYJIkd=P~uFf1WyY8o^)!4=?`)7%&3_7}j>rX(V8I}z$@>byspo3`8ONyol z!K{WB057i{RHX>@Mn(E$0fL2H;+*jzNPzSgIVdvD{71j}zt&X3|Nn<)oH5tT{^KC@ z2d-#}<$3(aGI--&d3k&G>w&AfPD`3EhtytNWHTDvIy-4w_rI3GYP+sWj#TqU;3yPN zxZxJRw_-z%)8+RrrQRU)XYC@Ln?LK*9{nx=hz~fo0VnWW5_*~U;NA1Jh1G0ofS-@N ziK0$U5|W-To#XHh#9q=zuFo*%AMtqVD9Sy$ZUGcWTibvFCnmd{oJ3 zz?N#c(VE7_!`q0ty7rs1N#?IS68dXGI~#{f%lma}-7j7#UZva;XL$b{%%vap2=8 zbI8sUtot@};}}{{Zyh@_#7pQ8FLAdz%VlcoaRn`InwO>dLS_Uhm5ug*w?=xdW)LZx zdWRnR16LF2+z6*e@W^7@rE2Uc#9vn>cwTWbG}0@s#g(*q`ec@#rwOJ18AtB1CphzpHn?w#v8%kkL-e=~5^O zg2JGO;5=9IbI=p*`o%tz>=oeObJxkjP5b0pm6Eh#XoqTuC!bM{HH5DBJxj{ECv9AOk~ug}5gH;U-`<%U&PZKkQ583DkltA$Ne z{5*!KOUy_9Hu0nQ^VvU$siqfCn}ei;r!2A)UQL%xgQ>PspAJYV#S>UI1!@$OpPiIu zynSL+McdF0jnkb--a~Ya0u{!F9J-y;&m8>1L9&GM+SU$AXvM!ZV^WEOQg3<`=~{A| zo@t7V**-ziSlXfYr)`$ab@B2kI~8g_3q8qX8w{GzyIZ~wQrscNvf0X9*Qi0 zGChAx%w_L_(|p_CqeZqDX$^WSpkLKprV3jE_Hk2m;kz8 zW(!}Z*i&WC!Xi;OoW&-HPYVK6aiGQf8PCzl#bt1i`2o--eF@0SOob$ZMi{7CGlZ5{ zueWNv8CE1yPgjW4RdCfDPjBLmTu_)cUAk%%lIM5JO%Gh!>Phi}-GCc;YnobJBSR1mugUOOb5FHdLSAcp5dxb=WS>N*yS1!e0WfU_eg!w z*NbuBGWc;XSX230n|v6osd$G*JTM(d`ebM-QjbrUmcW&qI_HImJng`mjq!@5_~t`N=JNT?i@ z;RSSK{h{X~t;IbneEh1m^h4s#gm7aNjktQ=(iE%^>b46ql^bG2-@b$soP?~_f=G*UTFEO8npKNb;LR&Ps zrGD5S1{w}+p>wQl#yXM#G#wF3R-PKEIIb4Kr78v}3#8P?iwDqch&X$P|2ta zb-D;{Q9;GEpgJ`&m55k*tNLGy9cWvz_94%X;6AYy_Hj7^7czI?jM^}A6v>+dn<26*GH3oF(Mr_QD2c?7uezSjs%qblyPqgnS*e7Zr*{-%v z$;z-4`z-{)o0KweIRVYKt=;BiTmDGLvh!l4U}}ByG2cxDa{VVb@KQn4-X;_Ir^h$W+|TV;t-Z zFH093K5pn9y&l{@YD-?y+3)_z^3P^ZA4Z${+(EWY*kF>wXcP9kn#Ucx(kb$MI1yr# z3XE-!b|n8vKyS8d`vs^N&xflA$-DP}4QD!7oz_`c%eI|Kqy})HYAdiFCa!lRAHS4N z=`FMx7y0A7FOKSVmB9P=*BxFbZgCxEbly{8XS1en={}p?d-w<|`^%~_-ILBMOe0z_ zezQF0o#cHa{%>?~;Hm>Mh6iv(4HH&eCLfWyo7#8E;%}9qwLZB60}T!B{yU?zAjrQ(HbZMksQ0TwAU;g(cp%coH=`1!L z25`1`&rx6mP{)mfJrTf<45)E2YIwkrik}>JU^hvq!2kjeM35H?&Zm^)tEp z`m-Bf-y=}uOaUKa1@^pcrU%M={}mzEXYe0h@YM^(4+9~H_&?qSGtM;dKhqAIbIb7N zW~Q7maA}N`8TlpKfoi~iy3fkb?@0PO_EjG~m2UAhNvMrrPQ>H}Qy5WAcAtr!59@d} z?G8^o4wI@^9q%+Rck3Fxy5;sLnYh(Azs%?1Me~G!t$$@hwO)u@=IUf5tMtIr~w zGu~l$l-wf0X8tU6)j6B)ItWjUiB?e$kVf__QQbF@W2ASQ$FcRV8jzSsI8!WY*X-;G za^`5+SwrK1DG@b)7T>0Se1JNLkdTjxG91nnMCnMd)B$wbC?NySQ$i$6I(*!7vu|!) zK4|}gw6XS>fQ=MXB1P?vd3ObW4VlN9TMPd}Zhir}W#gi%~x6I3ZsE6i{``UqB z=6lX(V-~y2+%}KQCqbXlN$qtW-g|4(*5jNCxswRSNUlgi?$i&=HRCEvi!~Es7Cy-w z%N(d4OYgDmW#pW~A7X7~;c?E1A$VY>(XsX@oN1M2G+0ZK`m4mMW_loyHC52NvCnJS`2kLp1mJt3@&TM#(!bpDnDU+#e|32 z(o%o+R#=J~4GGO;@@)vP+?UKx?1JXyhiUf9*~1{@E64?wAYdXW0!r5Y@r=YR#xPG) zB4A8r(Uzni#fvHVhnog$9AYN0kz_ah5nHsA_$Yp184YhZJDz3VUy9q@gwXB;CD=1k zPg}D4ksyN9Ln(17qQXNtk$N|kNXLDHxh}vC!@1;k^|SmAr{#8{(3og7b&&0!-PJ(LZavYizAMG)uN&$XI)VApzjC01ZXgToopOb$9k0lnb%@ zRL>2ap%ENPT2$Am0=hvmWWE&C2L^GB5$_J@6v>W}_n!WhwuWt7hf zoPWE~BoE2pm!d3_g^U4k(;D^%gf$+ku0{cP-!jzGnU&66UiU*yCsfun30G`ZiZnO2 zs=iCkWE$cj+x;G%8X#|3{=H}6!9i0AW+Ok_LKmDSx=?^sOv#EDgSh2@5cV#N;dV0x zdEm$AGV;A?w;2}JG$~R8XF-Ul>(c-c8L-k_(M=?^XNl zxj+c;o;nIqwCK!_!|i{jVOrtm-1qhlRepN}21~%X{N2!n4Z{}#Z(Rtv);oM@-y%Dw zCamk92&qVK8Ta5&AhL>P6(6aPJ^HRyXM}lO$Q|}UQ^L_JXfPi3IP{a z+T@XZ5m(r^(W(}rw(E3KM0K)+d~w&!aQ=G(ffj(PDs5UCl!2?4zgS)P{g$3xnL2pk z_kJXV;@16;nP-b9%9~}bqaWcmal~a;duZ{$pesxQGHf|swCRhr|6KTS;Hp8>ZIp$sCJWsuC^iwa^=OQ4x2wajOqGWj=^E=s%u4> z|I1b$tg5_Kjz#VO$^sJlDu&>ZZT4*dM%SLA_iJ98f9diFl6EZfD}5b3T7^70>s!pCs>$Xi$+hG4XO6W?Tm_R4T2^HG|8WcV%(ZOI zTi4db%5v879}g;K5mpRh=K7!wD7h429pJ(9TZtu=@QlEfbGALIUHv4g6L`)u5GqeJ zhuf;b4>!v;9DO@##qK_-pDVx8Y74qvMC>SD7HIUtY?z1Q9}Psx=1Z`}(;emyL476a z0($sNyW#*o(;xndFz_wo>8QbC){mdezNS9VMv2lXcsDLcv`vutWEYZO-5K zo|5bF93yCR8t4~XWByraQ|6cN(>}SxrK!#U9`!!3X_jyjr9*|yW?OLCeQuv`)Tt01 zGn7i7Mvk-y{7GA#22obd{aSR(C-35U@;$pOF;!Ep8eHDf)ddOr*5eUQDEeH{X&18o z-F%%+=4W%|%o|6!eP?J(t$FuN0`2Z!jCcXG_WR&_r_JHorV*b!(r(QpP{!^(V4?1O zpPgK){`W-S<9Sy+M@7!vM=gF)>&Q38RNO{r4)N4nrfpt+t>gSX^g#J(%qdDc%2sX} z^H}29oUkt;x%*rFp3Gq0-OJI=OdOW}6NKWJE7|Byd`~AHyE_EkB*2ae{x8AHrmvW> zfkfyW1~wt|$`I13{BZ*Sgezji;a-mer)DwzJlu#9cNgyg0ka-e4ZNo_ZpzRO2EeBC zYDLDRZHCi?u$Gy$p31eFdhWXY5R0AWgC$&#Qj35?MqDPICI)VOX0fKgVlW^CgFcnm8FPCByRWF; zRg$N3b2uTFn$k-$FWTjE(*EVMeYa`u&vuu(-`M~4LSXolGS@p>5SWmzfks{*YyCo0 zWv<$nsE*3;3m(>j@QW#zw>*D399BXOo({Wk)xGs>bRn7Qu8|4XKp+z4C;QeL4S`r> zi!`uZtVpbDrFD+Zg&G_WVhDBaOxJckBK%kb6pQ~;{0;v^aBVyZo7>w|uB!?~DlfO*!m+%N)k7=kzp&nJ51r_>=Pp;{!T#i66QfO=V%vK2mj*N- zR7W*oNb+<4qnWDv7p= zR5s=KlpYh4Gf(8{J}0~)TQz`d;H-C@c$rDgxc@67KV1m2B(POaU<7q+=``Qy*NQZN zzEyTvMqjWpI|+*<0jHoRb(&4#kx}|v<9X|Ez}^<~Aed!7>SZ7OX!w1bM! z&-wfGwO2b`CNtT|qbbK*q=ANeU+w=cy-xADmw|#n@Jy!5#n6%!O}mF_^V-S$fIWtC zAGOXw2zvraKNBx=mSzTLFZBnF=DF`I*@KO|EVlQABsNaVF~mYN4utm_b|%3`?6z=nt^8{B@5 zl6Cee?Uslqq<+q=#BX_7y6qF#g};EqdkQcYc=XjVOyn~tMKYk${a}YE6-jA=nQ*9k||;2Fazc+5Jm2X>3nJBWL%*GJDS~4w7)WKia!+ali?;xutlKm#ES!_hm?Qehhe;>9W*PUCQ;|Dl%8^WceSOe`Q1pc3;A7Q5Ws| zQf?Ic#<=GTryK#`7>H``P;YL&pO^~7R{LyS;d}HUxaeKXe7%p(fCc1#7QGuDZ>Gnv<4}chf?JNxEI(6F7h5VnxXhay2LuNHaX02 zEb_7eDkH(o8LkIf*<%N4w|8ZqeHr42J$x0anrHdMZdgiLJ=?+z+rP%jG=y^T^bAWp za$;Gv>{gyb{L6#p`MTm3HQ!&YHh1w7V@c#?4%f{V6zVMxV-b2sU2#LR*`ZCWJBLu< zE7V$aKoCl`0PGBl0Tpk#Xbo(MvgOQd7O+)8+N$G973HJQPV+7MD0MB91CbDoc}+b( zB?0W{BF`dJPg3k8>o=C_a={C=Fgr$L-T3O}NwVfcSE~YJI7>cBetiLAo*S79vxJgr zKh@dr{YxFKuD6SvQzcb+Oteqy9tq&SKOVqX=*=wjc5qY4&Sfyt(e0&S?N3mb6dh)j^jM0@I3{KM^buI{Ibgb!cpJ~5K$&PE zx0J|iGa4MNxFTlU^WEmkDIQWFttl+pYW@x^9fWKToM_!$1-bMKk1amO!kt7Z)q5$Y z8{(*4NnjxwG_*I&3r3G9PZ=$_B}w=$(s=6kO{-$lc!Q6S*pi&l$Qs)owZj~Dup53T z%2pPh>`LoihL`j`-|qdzwRZNt`0B3#42uK4j*WL3^P6Q+l)achLC3QA$ZN(6WiN*r znR-p*vGL==iB3l6`rM7UU28yl-$IpKo#&5BK0l#xXVe{tn$4CQxo8a~XW(h9KN<>! z+QZxgTGZD!%Nks1b@lEf{&=>0M+Npy@(BX5H1616%`bUUXqRP+sUN&q4eIX(gs|{M z2p+m(8lh!ZhAq8XvlWRv6d){z1TWtw zRBTc?j)=yUu0OgV<2m8rWk_6lKp@x6*e7_FX7!UD1t1OLn^l6aKVQ`{espC-iq9Lp z$JCTOZ8oHSI^*OrDM@zKh;#bvqPWQR7>AAhU2;iSn?8NWX!v2M=2!pOlG$s_bjvM! zC|1e8wfr`>jfXoS;z*^})K>_8+5dQP2vP;zO(+|>dfbUR9nASD^IrJzY~lY%{WhPk z1qhJ&L-3{m8+Uw9vUU&8v`2{vR|;wYbyy1)LQzBTg@(g`Zj(@#gBu1V@N(?XETi8R zebW|u3iR>WVbzp4^1KKV41i-paE=G=fI*B5xHGOT!8$1bR7nPitwHfHsz3&Z%!Mh% zAkJol>jE1TdpS!CJH&{T40xS5s7W&TAG_h5V3u3)-?AL~8i(#&Ue;{wUj`o_mrP>+ za|P_hE$g$6yVw#v(!bF@s^=4>>~&QLh>j8UMtl9M4{QcnP;GL3t=!S@aY^jwckUMX*pqHq^Rv{9*Z1?e7b+*- zA+gVv>a82ESRQ~}OYl*QSQQ1C;wx4}htz)3c>kzq!_{_jREJlH-P)W&b4xgSq=t7B ztAo~>IcCF^#Msma%>>&-WxngKG_cgz@%+~27Lm1n(A=v`EA#S7vyh!np5%O8*!Ois zWBs~gRS3Qw<`;{ zkz7DiFAkgR(1QG&&C>n3>Y*5`W5CMRF+{;7I>GSfj75bXmzZ5u+LG5hw@ z!Y2r?nF*$171Of*HeUscTuL=(0G1>P$^hy!~eYG2B~j^sC|9M?;l%FkqP za{rLvb06tU;Y$`woU z-)FvRS@EohZ@(Mh@uMd4c3!#U1$dyq-1gBU--9m0pX~h9^ZrZ&v&&39oqq2oq=&gp zy6FIAXYSkE-{KFo?48L~v^gwIlOy$pP*FAuMfq8^aCf7%O5!tm)otzUfmnMI3g62X}qB>KKf82*E#eRGho)c@x>sAdHPp*tYpy(q;&P&_bQbvx|ic_QO$ zHPT0OD4z2LKnVnA%gWFg29Izr6gzRtu~$A=}be|0B$w9 z`N%JPKRvXkH{?b=HE1+Or!u+6yQoa#9S{qEBR65#2Z(x;3T!Sin|TKmH2b`!yqfP^ z_M=84tE3#9$-#v@H!@2KtOCP^Jvs2?I7liy{E&14`&#D#)7`;!Fmq|sPNay?uhVUN ze-S2QvMqc0m&gUR78lSGJ+HFnp)iyGjt2ZhF?q8+1DPuv=pI}nI>z-u)`l--WNYb3 z``*DkFw0T?Sph#R0AVr=Uogw{K1{z6Bh~>swREskJG3}w15k8+%c<9eXmITBk;#M> z9dA)_el9|$HwRKFESLxG9oI`vFcd(liR&#iV9cQ^^ezm0yF~~X)hxi{xaN+9lg(ZUYL&k)4Ah_)?s^WdTjahfumn ziV{(E{5m|xVEeYi@_en0Ov+Bp4-b&EHD|ULQWVO~X~v%(+IdW1*31jp@%T*pAtpOW zX|3NXc@ao5HK(m|)PZkh=}C(U{T*T*Ld%D7k-Ap|a9Q(++RNvzrm(GI2YDzh zmeOG!FfU!TcIvLJp{@D&Rx#Vz`D(?u_{Hn}jkxo=BVQ$K)1SclfU&5Y@RF;@P0uH| zeK&?bulj18^gPR_xOVvRvSlgdT$%T+_nnuUpq;$@DBTIgW7ao>-39Jcn0zu($ndb6 zQEm?_b``ZK+)rFuaqYl|jYn>xr7>?a)hUa7qr2~F7#H#2^0ypbyst#KrmEs-0Gbutsq zZNojxd(+^yy6W8dTcf4Af}&+FK8)|b&O|={X0v|V7sbm#kF)P9kL&)2m2V)_bPfin z3xB$nL+!el%LsxL_QKyd-yezW#@U>d#7I&Pr_;F!a>PH`P3I3I&cFrr-#;EVK;|E; z`JDw(O>hwCf}^)KJb+W8ad==5)W5_X!YX_avjRLyh_=O#HDf`=iMn+0L=VNp>yHX3 zWIvcKKn)WaIf_gbBCO`W%SY0|0JaQ5`F}4^QQ$C*`Ogg=!g~z*zqH7pc(3Ou1DCW> zmZ`TQwsw5|-;!upWNiHHGSTib>sr~!I^Wt=g=pXfa<&3`$I21 zzrCOHlkOd4DmXz?6s|8@x-H;xd}7JykJxH%rO!~ij;@B)s9o4ul6iwijh`U2vmU&- z%l+r#PV-sg4aeHB^IP>UJnH*e=YH$Jqu~mX0okl(eFZx8etp_>be!Rizm*4>u;K&6?(!wxu}X} zo#f4A4jAk#tYlt=52U$n*R9C4=lg8`I&@X=NV?*F*jFYVDshtn&@a*7p2R6=Am*_g%fH<;1l ze$>YgN%vp)qPabxa z6uGnASlu;QLRx6gS7Fc4)ORY}HZ|638CtE&aw?uco_03XUOku{-CDx5Vz{eC%!yzp z39MY(O1&kQMc0f`MZ_|9hZPlvnPAvhri7@E5@37Bp{uV@@!*`1@{WOc@>HmfDiW#h z^_ubsy23FF0@QcJA#`7}y*#f>YAf2=fCku_po!5z99Lp0vsZtLivAeqX>^td>_SD$ zB`$gn__sZa!?dO}6uG$>v1DTsCd(PVDo6)Vb7|&I;E^iM+`Nu)H-mR^?bKB825&>d zQT?gO?}ELk^eY*taTmAcSE$&;Dp$=Ze%C5c-IvJuTr`_|-bGe_;+VrEHfvhUv?^FY zIJi?Wzpw!F&EgFniS9KB%H62>erZuUP)OH=n)hHfxc#*>N9hdAN~|{izXI6t8=w~X zFgQ$$FU+-1_4wbna!gv<6${4UIDTOk_s z7T~tGRCAA61m0aCsd>tSxgy$vs|D~S7P~I;4#$%!btUAmujj)DMCxJ-l+n23C4VwP zt+PmEzfn_#&ZU}N5`?aq`RY?czR1qwjgtGj(Vn$629*P&UFgWVL$x!pEhGWyi?EKk zSA-LzH^`=gCH~}#OrL}jorUV%9v03YP#fQ82xF2dx&u&+R4oBjK0@idT9WNk-y<4L z+rD|eMV$^VI>{llvb2ApOcG1Aj)i4B3nAn>`)I3IP~3H*#xr@ON!8ys4oBZTrMjl+ zu*PkL&A#Eji0^)TFmJ!Q;qKI+=5!%YalUt(Q zmSnK~j^2f-lq}fqy~pl>j)NX&7Ui~y^t8s@G6`jp8klp`TWjwl8$kdqpuSD8*o2tx z<2-*3HRVKZHm1|aV7a)$i=}F~ouzY>pwKE-Rk;?XX;L0Q5EU$$->`Oh->$5f6Ge`qrKG>W2*@mN6wU1Cr?tF zFo6lk-KY1Uv)wKo%(4z`+L3aUNqUQFlyTSQ;;K%|;|H)2W22~Nv+mkMA21vg)wOOQ zBilJLH_B=yaEqUI=O&1GT-ho*Gb>Rv4rBq{Wf?_McdMTr8ByeNw1xMM>z|zv!XV@U z$U>F488&b;G>%O?IUNT44#l%H*xOLogLbNX8q*h*c!h&oc~J6wI#0*fqbYt}umY*U z|B7-X-(Wk;mN8=F)9$s9N5>*ySdSLmn)8&Ax_xQJDF<@4@r0p)_^)b7!gmaK+vtg; z7Ke?;K9F6GstWGIu4|tjjD64+TzbjXxaz=p&#DP6Id>PeKk`p2#?R+R-MLMU{i z<<&w&hK1=WM8oh6^!WkdlL*!vhaC7)X1MPUUFrk=$U~;>A-P%_GuPqX|Is4vF<(k~ znC%Z=n5PBn-iIlV1GeRwy&R-dBPGwDbCyy*j{J0O$DoWZ(H&D}uCuQ4&q)c3)(*Gr z(yC(NL_=kkV@D3L^q334z}?^9)S02X34-8?YRJ;81D~7(pMwA-Uw~xbksMqvIJ%z| zfLai|GhU4&(Bk<1`@-_S79cXf@U{BCg)hWE^bp#AqLhDz)m3=OPF*ZbaJ;{+|1!S``K{TG7jjMo zR0frL`zGu%9J!qQYPZ7%|BGRp-Ye~*;4^y5c+IKRtylB(@9h8nlojQ;?V-6}qSfKR zZ*SDCw%rpgUY%{I^f@a}3GB@DZH%vo7+mjg|LK`kotGTncU0bQ0wlj<3L0x4E9^$v z|Dv5k6*?y*LP>pFd>j*!u5Y&95wgOW;a+mYNyp81%x*Hf>F|Q(uU>`y&aDXLrtskl z_6Z|J#rzoXvfpS$RmYmhH^X**wlQDQgp7i4xEXzPSMX7QHF;iCyX1?%QBICt_D*B(gew|OW}i6h~riP?pUy5 z+KqvXLwacka(Qf~P*>8?;h5M&R17Mf&&WM=8Op$RBG&hM%%1qk!N9CrmH zL&i+Gf3l(&G6dSo(!V`1b3AAojafDUK;V>SafYu&)fI?%>APDQ4=Re4tz@(F%1EhW zxyuB?s*Ag`clQvyJkx03;!zq`N{uqw!(0HF%Xb+Q?t5>up$NSZ_;@wF4!pzG@Z|>H zGdKuhqaAyhkPhok@={f;sOC2vx(CRQ`pxgZ``)8_kQ3mW?wcF1x!$Y!F`Sf7euUn) zwmMXE|Mq(t#UitrsC#yWKgZpZ6N~X)c8^I7Z7RLeK%UOgn4PawVYEP*7H8Ti6D$w! z#98T$v>pbLc#&Cl&y;hl!&gWTJ<+!l164YUD4%79R#1qJ>=Sm$z2zxnw7a$f36!}44a>hx6<)T5x>r67|u zUUSw%xBSY(A4h7ccEAm5;i(7z-d1ANqrbU{`@2bShv~3`gk-;D{P=FXu9-zi8er3Q ztH=QO04`6^{sC&6&6#RJdD$Dmhp(+lvL2@=s zmAN;^$*n@>vKiQD?YoLjYjk@K>PeZ-HJ-a|Qp#as&!oY%ad%mviQ!&Fn|6Z`#crah zYsGooRzkZn9a3}lUyRlZ9p#8)<_;%f0lGR7A>Ejo3rmRxEKcHA1q7f@UU84$09yq znh2kZM$@F0q2t1&-8*4=00iN{^uv)^s4vb@pGh0|_E{ea23#mefB3cAN)Wfi<$ zTcqLr8$IOSzpmF(HLGo|c6%|DLhF5XNOL&~kq-1QP)vZWTVGQC+SLQiN7BK6qlHnBPuFB=>cI-Xa)Ww}*nIH?w0Xmeh-HL) zj$7hUcDQMK^A+Me2!~;gJ%2h54IkQ!o1TJcpxF5QrazDTSnSx2yIOOib$SIO);y>R zeU!!zrsEy)Y`n8H3FuAEGDb}itecum&MP+wxh*%#Nn&*mJ-`C2^SN|K2~=r823q3G zwAN%b0(3;}RLt>C4XA$WI7~(nqB}oNX#A#}*A)vjFLyszpTy?|H#Mn)E+DO{lFSG= zEEUpiXX@9V9nn3nnx2|Mk04;#KY6GYl!wj?9_ih!s=9&0w%rHG`ufQW7u3AL)?+Ti zXvPco{)1~_)-25W?j%Tbetp#Fiaay$i%5gsD6uD%N>-EH^jkm<%?%i4O`(wZOqr>j zsm$3<&d_}S!Oyh*R&ms*Q{PhJ`b7nA{09`Frsy5o{d;OnCs4`dfl1ruuLW8y7H-l z11Q0T&p|TBFY4Ia6vXy9uBtnn*4jAV*6{gCrBJbb4|L+_>2G39m!`vQngnUqS`eiS zSMH%7m#Vk&ZoLTh(&3Yx&623gt>;TST}HoHrp;v7v;R5}I}K~K{1d!%8<|L&tTBiY zCWl{g)sZhWWOUlu&4Oofq;1j$`&KT}xw!QeDd(uc?n`qUM(v|FHoD=yY($C@o@mhX zG)#J%XI_9NKUGVQ7e9Eo_$n6Wbv)8CC<&Lu6^*x$J?(ysXZR+=w4QA7xBJPIKw_ic zJ95Gn`E33j8HjfdFiHPe25g(chNULe(z3?Ux9RC;S@WBrT!VZb3JZ^M`JAQlRR!5; z><5i>|8U-=9g9D)sczCGby z`{*k_D!bq%8%$W`bQObVv zV$kXq;4JY9j#M2qFq7aLZSl8VB@x|0T_<+%G=a%FL@f`qsS7v8#9gJRiJkD%c%Wxi zlEwkesDvdZ_@QR(n9^sAs{xtC#DM0vNHxd+dY3}V9tLvB0M2q;3Z0X}s4}oX5nqna zE0Gp81tJC(X?XBK8Ok=hLW(bMl2yg6`}bg32( z8G%XL9Muf3ZW{7PaTB8|YxjP7{kHf-f5pGd!QMj^y@j>?{u<3ef?EFEade5+jyJb9 zx&Kdo%mDM_rs^xzfmH$38*0B^t$kLYnCv~4gVQtis0LO&)AQB5wCiQ}vHjQ9X*c;) zi2Q4!8DYxMJ50@h%EbJ0QJ0f68?H!Gsaz#7aOsdU**u_uNW?1H`hqmPKreGB-vf-oDlfF=-)@Zn zqDo@itP0}r2;nZakYZATB{XZfPhEStcV!8?)hHgG9I4?OSJg^S<5Te1w9%9SS$x=Z zC)qj#>@x5ZL4Zl3|CXuzUX+F!CDm4jwyg#pA@Sn0&v`38-h$;VIaoL+wMN_!dFd#v zMD82YhFY=>c8}Fd$tfLmD65D|0iFhOmq`_?vtfkCv|ZdNPfAj&Ojg`cm@l>5^ZNQ5 zGq?6#=Pf~!s#GUsNkJ9m%-CPjGiSjpTd|89-(^|Hpcw=XoeS37UDChMa@y`VU-*#L z&|D@W-F(3N`inDfynxJ@ zI(K42zpJ${b4s{9##_2prQv>o>7V#RF|Dl?2`F#Po~!^}%N_pPDcee7 z+Krd&D7EiPn!44{pEQuT^u9;>{AbDXw*H2J@G+~igLcN7zG!*F3{aM@!;As&Qf)Q} z7{W7~cdc;LQ0?Pme@5z_nfcpL-#=lpXNboyiy-m)e^K@Gn-&Zz46OQAIlhd0e;e`g zZ=`&8iv@D_!;7tb#UM*gg}Y}Gy7WaobH&otJQ||Z0k5w`u$K4Iz~fe6)0IDey#Fu; z18J+yk5T}=ESFU02XMhBEmu@aD#_!gp-Ue`|7F@-C&p&!+&%TnE}xHCUZ%cjUU_-q zOFt%N)t46uMiP9!!uWx{D|ry(G{VjBTk0xbb;N8^Bk1Q>$ZT`lY)96ELtkB+&;Dk= zSqc2MNrz4eUD+ykrVx1JAD>YW)w0sx%a!!YeLU@`Hv*N!ncYT@PItEo4_~|W2g4!- z3W7(@l*0j>%}>|w#$t*bAisKf)Fo5TjPz^^XQ07b-GF|RX1=YB3DJP^s)!t6~-TbIn#h|7)R?K1w;pOE&XnlpxaIJv#NlrzI`eqT>=zNpe!sZJwB@-MGg(A4Ww?Tx#fMo5!J?urfsgB zQn+=o4=Nd)dU3(2*C_RP(tMlIw~mZ(c^Q^5=Vm$;4fi9phJ?>T%p-(B=l-lgU*=nQ z+uIFKrnnM9n6i-T`>5v*Qqi6$%b;tN;0vkXGLri~aVUJ%y4= zm_3^5Ejh-w%(NN=;$^2Ma#okXRqqHSk%XGC&J|kfAUrMR@BlUTVZ+m$aGg z#^h|D+0P_A=~*b!GO3R3U~eY~9(QV;<1=SGa{QmDpKBz0#941`&;vyZugz ze5gKrHLixyZUheqo7SzVfP`%VMjy(v-hQD(e_@gRwul|#Kr5PKJhrn)c0jdM`*Ic3 zyO)WM)}azka@!7iwa8xPf35v~@1x)sh6mXpyo)&aK-iVF`Pb^EyB%xWH&b)%eS%yG zjBOW0Z@se*{5nB8G^Heb!dn%NwvaoOw&v+VmB|mS+IyH@M(GpTU-p)Dg!5B!{h=7$ zXXLIGuMw8nZ)9OHtsSXAByWkB&M3S zYYIY@qJ^C?yD~mf@;3_$slYl7sS!LC;be(de*H>dg_ymNa9`g->O`Zt>z8Y#?Hn8% zJSXWi69fH^Pd%|Zqi%R_?VD}9hb=iR=K{H~ciV3qI~`&Px^Uuy0zVchMk+U$q} z{c(N3c$*m(~UMu5uxL(AGreYW|ixX^oQGAAqzH*yE+Ggx$VvEzx>I@-$rDqIOXagd@f;8}_5bge3| zP0cEPvm(8p<0$oVimH8{Q1IOiR*GbKQ0K(qxAMzYdRzAkiLpOLdSlEkttNtClfyZPYx{nl3wsW+|yd-ukq(>G2i~GqndjXaBV@obE2v*!4$(2eU-71u7#@1`^K< z@BNgh^St+J4QOysp&hF#tZs&JVf`nc`n(9#y_R_N`3C-66z2Oy8w=i}8@{I+ z6F03$m(HF0yRi!Im~wpj|6}a!|C#>({{L;ZnHk%h%$#pC%xQC)O4?=^kJkT~0P-1b&DJ8oHdfBW%$8co@P&X~V@VE>BX9fq%$CbAYww~K$ zvg^qc7dGH)(A)Om%a+YGU#<0eKcqDzJWbm4+Ib!JO~_PUVO;6$F`Jcx7l=#8wmE}> z1<7MqZ^YYbl4LBfIj8D(wySq@XM~%oHJU;p}iX zN!Hc;r?gKLX|d}Y`f>UpMY%Z0K6#G?qiYyu$o>~=4WQ-vNoH9fi`q(-2IPi3+t3a= z5lF{ILC@GjEVi6E!F#L$bg27?%7jzQLr5wgbkBWx?&SU3%Oe&Q`A+#XY(M$7<9(=B zbBM#B-u~D~zZ5oELtGh+iYPG5s>g9BQY$LsD*Q}C$mhXR-65X`$ZXl^A+u?xtr4MbIn5`7Uu!A# zs7|WcK~3)^9_m%mO4`ZPjTp99H^WmRhnz0*8{7?FEP8M%Tn+V!KRV=TJx*_~BP zR~jFbgPfK_R{P$+JN~OS(@)PcQQ%GBW-MU=I~X6_gX6i*!JhNi+5w+b`e2@3+`{%F zQzHF?E@t7@2m5un$>26@98?N7;sPnWoi;a#RCQAdgBrKcO@hRDhscM%Z;_03;j<;@xu+8n+YjLTro6qdSs=LEL+NWlE zPJ+N9chhtFa@uKUK>rnDx%22W&(rpYP>l;vG|tLBHqWFK{xx0=gyH|ZS;?ZOPeLpR zx_PXn>}82$5T_4f4hy~ehj@$dt7Yg60F5o+&8nc5Y5pfL1R7hn|1miHtFZ;B7>)wI z10s9{VBt#DQZlM1!1jC=sBjk$%WEA^yVZhyt<1o9VLM`3frZMt(EG;$jK&H-@LK?A zJN&BzN+5)L`@hSk)H)&yYa!?~pOwf3;F+oRoR9a0fD==Zs#;^9nV7y{SKnsTxV{x> zF)-6!0zv!w0lyjndiZ(zxkH%q&~-)1Eu~;=>=!y=LVC}5(do=Sg?Fe|5xnIGxWTm9 zT}Lnf@m@bV!S@Su>(BVC%cW@=!K}A>6Bv*Qq7qf127=Xsl--x$d?-Ms^#&ULf+6QL z2kT5Uh5_Mw65+lII+AuCc0C1(-ofZwo`8Wnw|`V#qX02mF&@+zJ3nIxN%2DlBN9hfrgKo99>+n2Pji;qpB?n%ibkI8WZ?EjD)K(1Xw z^w_+g*u07;Kvp5)r2SMV=;slw0Xb8nxIRAu0a4#76WPbppRul!@SE`+nzb)qxS`(Y zu!b3SU6GO%ixcR_l^3lqMi#g(64amed6HhsvM0F^mG!lr&YsvUZ0HKqB|<8wSSH@? zsDw%ehK7{&N=}P|$^P~BW&y*>AqLe;yIFl*&gY0w7YYeveV%TXZ0cYQsAF>h3`s_c zq>W9)xdGzWDY@LH81hAG`F(?+I!i|S;He5Kpl;?D9z=D51U7XiBGJI zmG1aKKqZSSaZMAgE1y=v%h+(!0sivYb6}M)c8?9I{q*;2B5E^_Np&507XC?3U5Mzh zEvCWh`#aQITLN{ZH}be-5{lLLrKQqvYGWY@@Ns1t{-~eYaE5+87wF`@hr$#68M?eO z2L8@3@o>X6+@;sdWuzLI(*peIt_hF!40d)z^cI~s0AkZcFW_tHqC*w#PHo^T-cUXr z_2yt~GylZq#N~tJrQ;o47r-mm7-Z`66oMWL9LQ!AuIb9}+c<} zmY_~Gu)^Is9>-_Ohs@ph-T9%Um zYI(pvhEC&&Ud1n+xls7~%Wml}!3_J%;H_&IlzpdVQ?Bpk^lPkdcb9(uTv`I*`4FD3 zE(i0PfD@!)L+vm_G<&55KJtq{D^lID7!^iPALpvy;;ZW*{^}n_V(>!cFMi`d2VeHb z!PPZ_)G32Ktmi}MYU&iBV+b1usuNn4!0S=bzaqv z)%IE1i;fG&oz)(+?s&Ff`!joov0KKMcin&D!-_Ta7q?$?ib1ue9M;;JXL=`eYr<5< zjVGOD`i3hn9oz~eiwB!iWWS|zP8T zrODn~d3&tyrI<&&505kVV&gYX#Ro6>t<}EZ+Uj;TC1DOSWV7W`UbH+~t>lQw);y<# zIii|VXeMDqU^6aBf#~EaI#jhjb1sW@f`d4|PEo$~9yU#j0uj70BrpdB6u6PgB6xgd zr&2M;168hdq#aiV(AIPaOM&A#|mcfY;u6aF4S_; z$}j?8XgIYJbjEf>6|`ZpVc8-sAQ1ZY1S#$ z4H+H($hExm7`{`3BoFD8O*(cp?Z;3W+H+o=9H=I(3tTdbG&D-qsdXYvU;U*?-p|`GeAt9w1wMSihNtJr73RJ= zxo!W-Hz(iFS4xEZSr4t#;Tn7sC@d*W7qfG-UU4PQXtg&(*xN^ZBN+!rsToGfh30pmC+rn-E~2+dm)XQhbB<(LAcF z=w=yVAvcYlSO6s*iP8*9;oBo*RHl-3IB|6 z9CXJ_8dO(+NZR{!RSiKT#uNG2Nidp}TBPI2MA+0FQ)}hB3%ZiC!+4YGODU{Q3d$}= zhZu#);<=Oc?Dn~)O<|XHlLhcv-dX&V^F{W3fdP3Wwljy+zMquFEW9 zIwxKfg?`-DDJ~W`=xFwVl)yFj9xo8cXU`1W4Z52R(S1{?ihk*`-6;1l#xIeujjZN z^@eZr`7@T>#&O)(EY=cbR~d*+tu}h60|onqp)+p(05X1jt^m*uG-V&4-}OJwH9b)L z=?R1riw@WWggR5y>a^-VoC@XTOaW9w7KZdZ260UUpYmiu@e)vgtJv|hnMd54^#dZj zYlj-;RDgDwT&Oi%P`#`?juSbpWIR8AW@R@s(Ba7y)o{XD&yaIL-f|d`77W40#rr=4 z1*x$6)w!Uzl#JmKX4f6%)g753`&Q=R!a<(#GZ2;`9fBb{sfFIq(c~$_SD$NZ29`1W z-J>7rJRxeh4O7fUCo*-ABn@W}Jw#hy$#SCrs$nRtPwnG5TeJO&%uPTxci$#6{Vc7KD-mA*qtN&OD5u^FukS|mSOKTqmjRut z?Jmo9zFhUf5^92XU!Zrez|ZxFlH*!&w>o0Lbj~p8S2>{OF-7jh(f^0@c~f zLSl8GT?lNsQAxIIkW#4j=^kr)`c;*E9Y~!yScwxyZF*w6b4~2U(lub(I!C1?+*X$W zQ_IL4d>av;#S=1FSkRhLu4*-cuftM?Z-B~`y#|<|ImOe6#dcNB+WR!J&yRLVAO7W$21QRWqJ z{wh|T?lL#Xz6`obq7I;(qILA<(eqe<8>&K~bmcr}hgqUP_v+HdZ_aL5IKCZ%E25lm ziX!GdzHtU`b}6gO@13>FpU&93j`YyEw|E7B9~85YA<0;Q)`L?C{vTBRXaaGW;Ro9X@{(~yhos|1 zH6vO8--Qe_n%?&bLcjJTfzVYKuZ6a#1*_l3z%Zk$rQ7^};sT_?eCfe+(rpM~95_+OgI1#?=d%ud?Z03o|@H1LjeHIZHs}4+l zLhpl;)R#!Epv(_mRH5GK$Y#jy8^j}0g%fe@?G^pOzXpg1jY1oe-$s0yG6|)j%R< z6a$)~@$o$W(X`Zlg8BtHs;vm6-3$Zq1d#T0?J|L7tiRf@5FV-4SueCluwm>>7#D-! zgB;p2zx}uI;|1V0v;FtCS!Yfd30Z)1&kp%)}!eN4b(_t-CjU z@UUrUd&#ej(}Nr8x#_6j>K+$4>5AC=+q&;9e%-O=gxlp? z@3;6NTa%u5Cw&R+$_@>HKvcSRo(uXAy5n+4HwMx(TqP#EbuS?`IT9k>Gibaah&+W^ z`{auLIn9xr1*%RZ-Y1&e^W$sS1jr|YJBp=gamJQE_jpb3$UN}gBN|32spT>STL?4m zpayozA3fBZ%rH$(7)Bo`iHy{P#z}LHw8G~hz}Ak1QL(t_;;D&9ip;lHo2*2c0qreS zGZraM)g`Ca1Vv2k6ChViPD2nFgX`{NrJp~{v2;r^AjsmVKR66Qa$_H?|8Dh{k9W-39s~(WgPpyO_q-OVP>6uFYe8e5^JB+ z)q?UygyEe6ZGIXgSm$o&EO*<`E@@MCFV1^t$v%Raji2(_Q$LLx(Ja*p%)(sIn>&YY zEN=C<(AvY6Tnuvs=h@wY|LrO4jtH_cN8A3~bXlfIh1P@d_7~6%LsePLrCj|^t27#M z7y}N9Ws<;>Sr0%x7Lbbu4DqxAJEjKz8W=UJY=LvL&%VKl7UhOpGOZiBGRkKUIzSM~ zatKh9XZ8FNSZ8@`r5m`5#N~oySvem3uz(+FP~!1*CHEs|OgE8BXjvQ?z^pj3BY~ zq%?cZONa;k8x0^dfpm_T7xyx`!&Xv#_1mhsBjAZ4Y%w@3^5=(^^YV34a~iCgEp>TxcF_;X98^O z_7IT?s(xRrOxj&u?DeD;3BI{--`M~6+^@`MvtN(g03o{&Af|K)LZ!XajTXEz>4WG- zwZ66Z#IIjP@H(j6{%tq(ueSToRy7qhC|R3=j7(?>(Id30{FD`Lg}3h?wS5yr&6{yg zKQuC5@7~8O8mh{D$;`PSZ&RH}c_zey*24h&Jh^O1m6qS!VH<-f)H)>J00ahFJTLP@ zo@lr|pFOx%8kraCTdg-4;9+GXG#Eq39Ri9}BQvo06LODLAKSfBuXn0sO!Vt1d-pMr z-J9)dA_}iMORZhzin9Or_|AJE;MiPAt?wzzKjX*HIr4K&hzc1~^iPsU!>F+MGCUQ$ z20OyX-Q&}UC;_y2p01s$o3)9A*t?Z`jGDV!w#97c(W~V4S((M{NIfw9;keMI;Y!w~ zq(jPE6?A~#0E-f89-W$R#|BIo=^Oa({)_zvN0BYTs2L7O|9ZO3Ah1LTC#$S)JA;|K zvd$@7a1?A9OJ4?o=;P59KWg~yL`!x`X(ZAFFUGm_DP`wfMx#C0%+-6cq;Q&2B%7i^ zqe|_$m$}y^LgYZQNDwO{02TsT05>qkNHYW7F49Cp2H&*W92c z981(}r*R3t70O2*$Xs@@_10JPWU|uIRX3|8XpPezZaDEpJMP9i`%45vP8-eeH1i__x(L zOp*V>)OJq=bQ#$$aZX$atw?)6om^^mnQ-LAq#Mt8l;kHE_vPI8-7>Y zeVrqHCTj*nIW~e{cd4_4lP^N>RC~7w;PL&Cw{iT<7qvU=5B1Yc#K%S#S2+nwTHoy7kYpF$))<+nOoJHpT0iS;&S%FnraS#H0JOZDDmy~^qoKVF6?P78@%vgclFbo zO5dB6Rf@NZ5@T!KXtI4y{Gc4`2Zu3*ZC&Q;X7j=pr*h^u(1%CzZg0Os>L(za7zbyI zHx!dR*V*ORw@4*6l4{d_elM;I%oU6cPrDq6*56zuiKcYorevNrE%E}Jkm{F8kv+>& z@1%J<%fRr*Sx%lK^XGOnf?!k@q~#*${N5YV|Jo3022Kp?|Lw$3>X#m+r)0}199z$` zvDm8r`usyo+Ss3}dMsK|3!@#8Jho+uYl)$zf1ZCH2K*mCrAJHjcY6Sl#eRcGvy?OL zR?HOt$Ma8^LahDwT)3+$1cIrjHg`NZ@0Pj$#MoR?2}4SfP2z9 z%y6a5?$*^{>!($B2bdcyZ`@{|;I>2LKZ00~U#*np`}G(;xtF;9F$!GaG)riBV^;shI>fL8oeqPdvXs;%jqU1l^#+$3WlSDwW^={e8lAD?TNP1CF8sAwBaR{Gk2N29jdltt&}Qm)PjZ?8%P(Gfst z{4>gupG@$Ll1%ROp%#rrN&pVN-N3ScIQVsrz-+H<;(I?Kv@Ys)MWO4|A6~uyFap#A z#DVT%4pSzx*6`N3xL^S{YmR=GgDW(6!mP@FH%W0i+1;OKm;Zi=-*1~A8?S8My{HmT zte~Z;22V9_J?TFy+tR;>HyqVZwyWVtOcSFUx=EKaIv85l@KJp_ocT#rigQ$y*mNf$ zR$}TQ(gsoL3Pm4DC4cR zs_hC9NDIE0YHSj7gm^u^K%QDo7PQr=kRx}1y~#SS+Q0iGGgCj| zDmy1r-<~;RMAJIPytfj6vg^(j+SM0EH1f@B4SW8+w0YW-1pV&D9t0<2{;FLJp&- zjEa@fAv9v_w9t8R6Fgz8-3F@2MhsQLmcq7)1lH6X`*|XokEff&L=#v{7WzP~yMQf&3{WU@N-z_g#H`;BrHnLwoT$oL%u>-B6De2u|^{&i@#?tkVA=lqK zxE}$P%pZSZA2iEc^-n{H?0&CJBe%re&_Jq0=!2rTu1W}6NZ@frgT$ROcSwfXYN)%> z(H@{-T>)fEmi+_a6Ab;yHs#gNQ_z8BoRUA!KSgs5AZGm$o!wh-*;nc}0esXx-_!O- z`iEjx0>1S>QlvlgKA>Sf^iNuswCD5jKYWENk2REqK$BIm831Vswd%T*%@&OD@e_A! zY712?so|>d=%u?B!+{k#>}@(T-|z5#EW@~s4dVbDfnFC#W_4wo+p~KA^z{N+*f2zO z(Hu%&kex)OQh3wU*%QHB#+rRHcBkdCznEaL$j+qHbu^9d(Y8KapS5|Y1Hi&@oH97s z^<5;~P#(jHhRr!F?a=9F(X|qb&d%s%>Wp@Gru!*p$0(-MpBKPPjaEMQsAFneXMNg3 z2j}fgZ^w_T4Vp(quH5#$3T^eh%Q|9~{neI10O6=ch>T14*wfd-6z*oe+o0>9go|Ky zCW*3mW6feEAs8XofzBZ+_Jt6FELjItNv2yVqI$sljcYT7x&Wf>QqwFw`ByPF2&Y*i zWA4(#qPz)_rqUI2IHU9MBtK^jR(5K10qvE!m##X4Pb~^#I!mXM=+aCUq%G{ly)uV77?B?BSpimERLvMoWJycQi_e@o{mty1~Pw;P{ttjXH@ z<;8DR-fHCtg=0Ofa!=L-PH}@qb;+2}C|Ovgaxu;%d_2?m&bGGR?;jo{Y~oC>T+L`N zkPaWN3x3I(q4lnLK5nHaxb&-ZcYngoEIgI|Qsvo-!NTF4OW+fAjBhWrRsuB9*l-iI zLIEvcLP_P`^-GYqd$cmI-T}5zN=hmdH+%cPwp{!5A-V9{_?wG^W&i^f91Ei#TQDq# z(G0q4u1y^JKG?DT+o}t!Z2PWuwcSlZ{h7O9$)cv5d%(XbWP zQ6QMEn=kXfVW%(OlNquFf39$!qbltu1Oo-PdGX)>b!(9S|I$>t0o*CTh0SHY@5cYNu3KFtY3mPl14FE# zvTSw3<`p~Vx(+SBbgo(U&+|&~-@`U77fBwW#0WkQqRzSynjZA1HF>S&@wKfNukMqu zPaS*sA?!um;LTGBUU*~23i_&WZLfu6k@6dBZrs^-jQXeGO9{u(s-L|B!xSdr!oTs7)*98@AloQ(!k8 zT38j*SNlt2RZAVMCgE}3(&grMpQ&I@w4?!N-Ce|xl}sKb^n}>0;>xTWTfBuj5!YQi zJT(7aeUFZ>=qkRioR07GMs3oH^0o<+vc-1$@x&}Vm~y!ro*=K{g6u~}d`Xri07Z1g ztNOluu28mezBUd>y?~}t2YvQ{_yL+GwPo)%q^*;F%(E<=>R`BK#obDU4bQdTwDw;|1qdOVkpAguc|> zwdU$}Uh}icHlq{ZPW;zNubkQzsr0Gc`D9|E)A_WC-q-;ss5_;xi`yGL`6QWW4FEcO z0(gls@iLQj$~%xH)*7HAw%1*9F@n*^+#Gl7skLUD3_6#Z1Rd@*+DlPUGQ1Sju7p2g zan{yiT`F-H=umby07)&pGb=2&?t8Iu;EuJIf&}6g2e6{Fd}J zTTlO!V}apDWodOzk0MOw#Kl~`K*cD^yjW9nbIz~sF)&YUS1(uI-i(c#UMdpPe1{r# z_3pQN>r}>j19ZnSj;pmj55t@UZ~^6q3h#q47!TJUeVJM$z$=1wN;S9lSr;&rvU2jI z?Bdn&WT^BI77VB-p9mx!Uv+Ys#hN;TCek;9o620Kk(8w?H`tX(lIpjpLgD0aFYt|z zU|(Ze9~i1Z8wT^{{(2@FArkhod1z&AY^-1Vdl0uq6R2u=> zIuJM2c)0x3w8jpasQCFr_EGB|gBgAf=~cU_8_3HnXyl|0{{?0wUt51%sjr?=_%n#73q(y8`qUz0|f7tM;$NofLXIB0ZLjKVU z0ce9i>$?9Ieci9<8i&9#*qQigF;pWY42jqSb7;X6iUV&`1RKQNe1Die<`^Ek`u=1i&@s*^&h7N60LEj{WIj zoMq`+r;}ksWp$9IUVuB;fMY+IY6Jy{J%s3NAxfn9tN#sz?UPDiUXP<@ur<81HRWxvtR`9Z8$H49OVYb1cAj^#VKMGUPB53XJ)D`H z1F0Y4W!ap3pTiv$?%0<+ccQx5$ufxH_G9j%`7cr{$)UN5?uJ-`F?k)&cfHb;Y;70~P`P=JPsNq_i zEzWUJ7v5Grt{_a-m*;PuJPhj*l_PQ&si6F&uB=>;{Br5OVZ|Rf*%{h@oX_ z#kJ7xU&HwVP}puM0(4Y~`ZSQMz}75*zJ6O7B$Z(=+}Z36R=pPsK{BIj0Fo^;KnlS( z@~gt6D_&6hAZl$*aI1VV+>sE7e4X*enp=s@Q%@)I>2G}th00slStriWPUGtY=ySGE z)WgNs8}98MzV)2haIFLuXYylA=T4?&7r)Ukh9)8*S?)02&`vtW7%*Hs{mm`%P#ic?a22U!Qb z^J2BH0rIgYPk(=HyL;nf)=>u)4XEMN*cL0OJ#tM_rS>g+pG)?wpRX$%NE*z3myFG- zNs>(chZ8-xVUFr+W$usXf8AWZ(69n4kyQPB;@uOqzXA3&-vpF|MJ!)f{`*J%Ww4ry z7|8yYeqX)}0)>F!MIgk)0eIPeLm2e_Uv4Q;Sc_{ptD&kpAOEkY%1eTE_v{j#*4AT+ z8^w!#ji&~WP`3=sQ|xOf3A2{G_?GQQs@Ly`Nly6;ACVko9kSds&}4D)439CjLgy0* z3{jrzQsvtgKHANl%nf|lRQI@a0PyTwvzD)nJR9Km6Q^Eg89rFr{Pbzk3%9kUC7hpu zvA8;JJ4&|^CmFR`n|}}282vu@QbabyDsVn-eO*&J$|+&drLoaPX1RHNc}u{y&2f*# zW?#?Yqx)qU8+#JPq4mBe)>xh2Vlmbh1BGf}Gzbyb&+n8A3*KzU9TxjpKb~wik)8r! zbF7!DYC2fQR;C+y%z{-%zu2roJ)2bTmzIgiw00kCcR}J8%cgIc%oQOT-YCZCUoUXq z+waj2RDxM56nB=R$h3}7OW0r0RRz#!C0IU|Q=6=8NM((780{h;dhqtl=}gl8Si-RS zmgGn#Xcwj_DxYzk;;u!&{n?xWz)AZuD8K&@JBl>0{H!Ptsho-__F4XH;vQU?HevF5 z^}_qhEW-=`q*S8WKFSs#r83#dZtOGmKi0qkAn2*cJ#nENgmtECZUi-V^hzJee^0}< zigHk1u3iNuzP7w@tbL%$|6;=#y<9-IPA;qk51MC1b$A+{FUu^aL57xyY=`wuCU?`` z8)yy^!Y1hBHsg<5Sj_eOjzO#^xvFfB8(<$ZvdsGGQ=jLNmD%9NoE1kMW2P|o#?&^6 zO}o3~nO50Q%md7ot;e&YT9`$UwvAAl@)f=H*E}>%ZvEMf-_ph*S%Ak0MLJ+#A(sI0 zV0xGyU65TA$GuiJ3#zx$m- zzoy60ZokGNy_mn~QA{Qm3Ypg_ticv(CD-a;4Lo;@yfAU!!AT3^WPrU%SlyzW`(Z<~ zmq(Mx0Zw=!_qGRtv)87H>7le~*Mm4{v9H@DIF06TIbvz6Rmfc5mVEOxFJZI3lz9S9 z-k}WgCer|z)4i}7Y`+;$!O10HVN%vhE)SAsR827i;frd|*gn;O$y6pU7<^cpXNeUG9jsn_zxP++J_WJB=P?98 zU}owPAZoF4k=gSJcnS|1)=!Q!@6| zs?a`Efx{dVt}-CPe>Q=Of|9eWe1lXY#b+^f_4l;qCy_4cwd<-eN~=VZ0B)PW`L%nr zM!g-bcquUa2(0qigbKBN5Wm5RKtXu3j5~2|Lo*0&>^Z68tT5jgNWkc0(g?QNV)!4U zVp)2fh9*KgL)LK}4yvHM+Q#rHU7gi;`E2COJ6sdcK9=^W9awM=ik~QJ=$=H!I6%x< zbYxC&l@4RZKW6#bC-zJxI*)q1mzD5j!%`42AxnNA7f(|OXxpW_rHtarJ|$tCAmG z)L;+N7W;T5cF0eDx^Xzma8^EA|y=)jAcH zw91v%jX9Iz30b9@bmW>o#L^I|Al0lY;PnQH&FzGw&&T(Iv+H0-?!*}BZ{0BK=6qzA z>Q9^OdsN_=2;qz9ruOh!L8_bErf%MpQ>*q>#^ySPa$UvqH5QR^3#J`9C|f1#yp&g< zj1HZ5f+o8VY?jS@<)|kgdagPuhqZxDI;!w!h19EVW-&;uw%M3e!~77%lSdjv{Ome< zo&~F>zlfS{IzN0R49Zu56t(neU_l1UziXZKV4AhVF~Mn^1`*14`KK*(Bgd&$)Ww8en$xJ z>VLc=t^0P>#PryOLtRZhXA8 zkq^N$!N{>2inF?y|D3+vRnh^OfsOwi64N~scsClKtN+hi2gu9}*Ojz+m(*@9#CR0p z|Krvvf147`bRC}yj`dI*xwPDY>QMtQ$vHU##g=|Z^(SuWBRBole!1|pDebNN!ui%6 zFRmUK*n_P$yZz|o>VdA2sL$`#Hz%f#Q7(HXU@Zb3v^>z&l;|~v9M{kh_vO78Jgi8TkaVvstbg_~sJIFMcBl<*Uq6oRv1Txs`PNZhC`NKrpE~ve z*vI&*z^-Q(XF=9?0PDm#iQM|WGLuFfZXloqm_O6{8Xz+R&**?)d!nlZv@)o)nhrpf z`U`20E4j8A(&~c-;D6Pgi;;xwCHD$e2A$hEV3FGfzcR9(rSPerT?r z5IJ#n8!0TW5_+uEnlxy2J6dzle1`2Fw!Nh*Qy&adq5%AN+jm?`)AM5yc{64=)>Kw-3oP!t6Y%A&bz zG4k@Ma6ml$>j!Q4AnZ%XT9Bovj)Am@m4S8FHSI*7Z(i|v9q2>T;<`1C-!4lmq7x_K zX7Awo2z>99Km{KTJV^`0y?()bTO?O=Nv2}zv=<2kQFmkci-Lgf4B7Og` zf}F7+cN>HOy|6LY2J8|LwtckLN9|dC&q}mavSjIl3VD4Xw7($?kiBSOUrl=774snQ zj@?a=oX00?+A7RWLe;a)dp&18$lte;vi?yVn?{w24?-%mTf-&?*0{IHP!{wYMS7>iaN z@&i3&2OGsZpm)z~H{wzzK(CI_7FD7TFnG_vugn=gVcdQ1Usn7E@or&0ZWGy9M=IuX z7#bHbB6}?{65C-YlHDaJ)gittWskuE6#}DQJlUWE>i}-^&1jqH;v9_9bflOVIRFUs z5T`;=S2aYdN%s6StH-{B86E2jHtypyO>buAPM+8OKE%>I4yEZ-%iylp1qTzwnR+wH znILO6{YGx)L9s8{Gm(UKGY}dqurx3rLBTeW5}r1}cUI6Z@13v4R%QX3DcX>Y#VCR&Z>h4{DnY##e zAM$ft-A)h1_oR|liAuVS(yU)l{_$rLq0|4ob^h(U(Vxon%xd#{Ym@-?(YQ(`I$kQY z;R>MyS_MHaXXpIjLzUB%RBSO=<3EFcafeB0GWcUjBvQLugeJv{a@VH;Y)kN>Jb74L zUZP@&vGDfGyO-@&a*82~b&t&B%$o{poKHa3Ra21$C636g6eZQ{bMOM)O1c~VoN)&K zCJ;=Wb+&O=W9Y%oWde#XzuI6BWrgFH(gX-zO z^yVLm0Y1(qCt)B=_|Qa}j@aWz*BwQMT#R^-1(+%{5Ri>MrC{;i6NyMYVeZUGu_;1x zLI)^0FRK%3?PpVrN-D+VCBg@4W3Z>`L)k^{`wmt2F@_EInk*P))@$8y6UxcGrH=6sDs#cUd7H)PHJVRlYdzixKcn=R2ycw!7Hv#R5>l?T0x_951X6-Bhn#&9H zyJZBJDQ5)=Zx70`7Z&tu84yNaA zmriZI-~wMZ`bE5bfuU;p6-MUCtv92lLdvNTJTF3i5C(6=wWs89K0_Ps{V5TY1Ix*9)HocfYL8IlJLkhKun#Y@+(D^4>+nf;&Tb zf5fh`ghamMwpBm6+@w|t89!=i_i*I8G!tqXq13Ri01ipZt2dZgW-N|F+wT^H{+=tl zd;RtDyWj6zb~y0eJp|N6FB(3xp3qNVS(QwFe|Uc<hA8aE1H#%qB>ntV=YoX}_1LtK1!>(5gV;-l^y;_tl`Ctwts1|22i z`$0iqq&E$6^X~6>IP^cyq(@44kO|o6-TVv#YP)*aib`_zwy*s$pBE? z@^*OLy64>KQ%_ZrUSFx0DBJjR_utyq(GP_Mx(;{rECRA(w+DLWtZUf<-qXSyMF#!1%(nmh5A^5M?XV z9k)N0AxbMKt!f|gs;W@69*~{ZmN7Xwg!$5bPaj9bhW_RZj3{5 z;z_9|&%V)R6zH1;O$}OCK_^0;%4@0Kl`V;OqN+o9J1;{p)2GAyagurqcM*t&RxN~KESOJcH-ck{!`bEd zN{DG1jV`r^L}~ za=gbx?hWMO_` zC|{W@Ma*BJTfr3`ptJs)e&{44?1vwt0EG;V(^kaNgK(I``Pc+bkJhG=9d0W=)ikCK zour!i0~4CNnd~FL{d*Za562PCdwj643m7FIRXg!wbXYYl^rqQ($Zk-$Agm<}Oi$ za=knCIa<@k=p`N>v)hK6t$UqFPaTtr6Uhh0l&Tm*ULK#Hy)8uGfsg~uj$>SIQbC61ktQNn9i^+&gXc#XJjyaTl$S2iyPtIbclW0EVE z@`7qedLu4O^OA)-UR7XCaV^Ysf{1Q!xGV!e0Q5c@e7{1;@cVS8?c!wN0a1tN2?S^j z*>XU4LZHhd1L_t_j6DXb7P|nUZ}ho;?8*Ps@B#2jy)U&a0AA^J#TS_TZ&Lu87hWl# zd6A*OVqsA0@~-o9zDm|(Cx5XNO6T0ZAUKEl`ajYEBOigpeHQUMLk7DHc={m3^BV^h z4{ZRoY8;jEdt48DrnC~tvHAP|qw7ulp?duG|16gU@y%;+kO0Pym!kOc03>FD zrQ<_IX6`hJ_+gBf59c3+2IC#sl5W8IFlBRd(C@aR_)`6_Gl2}K%D%X4*W^i5T&%Zz z7kFwKKaBQ5yO<{eC>yb(+Ptrj_m~0_?3s6hMcK#ZHF92^EW0CR3iOf)I4aRj8GVhf zK4rNYWdc)NI);g@E){Y0y1L1E_1cuJQ>gvSo_dP2td1j!sdK?s+99LG;>;MIX~GT> z%#gbk<}T|ZfAjrft4$EH!ErwHm}9}w;8aHP6j}Q3I3I3JGIMZjoOR+DB>Uqmb%pdK zv4H|2j8u+8S3fg>8`3}v56)BF{^X#Q!CkpsO>2P^Jo}Lg1j7NU2CX-I)e%@cXNPq? zAlzlqDP%NH-;0vK+0}38D2JB=7iie2+_e@Im4?|+4E2&?*95qLOqCCi3A2-IGPeP% zo_6~8K23@_yWO1pl+xE-w>=Jf0kTAZf3k^9p2*-Hzo%Gfn4q>`x!Txgs;51q*Cf$4 zE%Mgn^UC5Doh0uD>qV;afGR)#$&@_x;;DVl z4f9ioxHV94Hz^%;mIozlUl;NI0#se$!d%+Mqd^&ouRbM6=hxLO0ox~FHH`pH0d_`l z?Cc%m9sExtT3mU{pl>S(DSU$ndiMzD2tTJIV}l*^!zz;>@{cwkUp)a<@_^;EwIjC^ zQ80qDSLbt$R0KStUFkd-xQ(f-v0h*b6u!K_l(e!mp?D{Eu^;S*oV#Tgn}S+&u>VzGvH#8$4@R)`>e{_*z7STb8C@dM@NX@R!fUi9>Vp2&by6L zc*Mo6V6h)oU_C048hbO}vt^Bk-$A&6%&QhH^1?^uDLzfzzOT!*DWghf1y)cx5tZ>1cy5wwr;=W#= z&-VLO+Va~E^hPLMa$YNo{xM&bgVE*oS!Y&vJ}_eM$G>Vgf!^2PyryNs2wvlXqh7<= zWGXpts`J_a2Tg_<0^!6UuU3@n#O? zp!oFJIt9GwUbaY&cx0P)N>i2_#1G8I{-%?^L;nP`VNc3EfMUIBuAqFjtKYKP!^#tX zdc1I$=C9W_Ksz>0MOz$_6qKr5Ojbe~w9vsByWP@8v;ge>59lSpr`$zyAH1hBjm8>6 zva^c|xYTUPmg(F>;etVR{h9)Qqm%^?&h7NMsy9Y#G4WUo5H z+LEi!LAMN;R`y6?+d?N!xtTVIC258szI!rEPZduZlvt2EeYGO~jLkHZrf2$}koe{3 z$Fo>uBUf_VkXKt#=Uvk%_8zxN2akaFq@W)l7k%T}cSeSL!dCbwk9uNKb%4_{HB+uO z;fM3SKTOB?_z}WjaFwLt70Jy|3BWEOc!5CY2UP|ko@LBB8V%Zwu8C;)KESwI3R85c zjAE_Mxjmf&Q)r5FS@-;;@Sa-C$m0j=7e>Br){A8|MFtT-aUxB`-%jhigCVh{frh9| z0yx^)+LO@NpsYCgbnFk@7D}OgM<NzE6mf#uAThbQsaa>UXp; z_;5?k(CJVbM|CF;f>bR%Sg^_X(`s-qP;)})1zd`iF*YuJ`>L?vpo|hreD9){if>iC zb_<^)7r*aw=I4}ktiU<#WT4wM=jibCnRPKb&;p=vsd%hEFy}I!ZyGz3YG@tEl8GAw^tws&Ko9^Le0=aA z1()y~W-Rix^K}38%kV21vtlA=LPQytBJ~)8&6+e#4I%@z5qzDB@d>P98lX=jIOyqu zsHC#{(IO{ok1%6BF@yAUpwBiSHG2mfNgwsbJYG+MLeID;+OxZkE=*(h#p`P7hGZS| znFgS1d5CB>039yN5I4C{Ks=8Z0N~6qkZM25&p(_h)Vzt)Q`^H6 znU7A%=fw(?zwppl4y>>x2Mj>{=raQ$-*3kS=Ia`8{1PXX^Rw{Pk0!weXvMDk%c!+R zH&zgyv${Yhxz~IIqR9UAwG_Q`ARg0&vRpO?_EUrmFxZ<_PAzLI>BK=LnV#H*|7Be7 zKie*#LfbQ62y!B{^2E@ai=|24;hhLtp}K%v91Cy5oU%xL^)bE)kGzC*Z1CG{y5sr~`TVZ3DoAOx`lBM` z@MXsJ(B{sGM7(Gn2)QixEQz=)^W(2@Y~lp7HH-`DzAxOl6c;VDuUz>HK;~Byr{Bp4 zOSloM53jmPbylMlW_m2>V`>fIaV-ro3L`fr9X7zOa8!D&jda#0(Br*xt5vLk5T#jG$&DkQ4_lo2S z!S%`zY4fa{`16h~gaWvEmUp`041`!ZyD2Kw;k;LmKwTI*PaB;=Z5gfEKh>*29$xnf zz&R2=$}^MCsKFRN@Ed2y9oR=^BtYH0vue-__NLy$lOfwx_&hC^#Uo?6ZaxG zgd~xAQnDK6%&av?%EA_NBr`ndB`va8l-5*E5rvSa_je_v6&x$b6zu?iw2U>TAr@En zkSm7gH>>K|*OAuUE`Nxw`BV>l_zOs-0s=6hu5f-9Fg>f{fk#)qqKLP`xfp1J_2pF; zKJaIsG48MY^Hu+_DvykBMt=RuNBYU9zdck6%W>N#fBUT9qWep#Mw0B|SKJA^kE)$mqlJkoJ`L@+Dq>+a{snz&>9c z$?bcCnO$4{vOj;lKl!cSRVHNee({Zd1|=x}1_sPcwJ$Mzb3Xq33sGov=<0f!h3Erp zcgOAXiZfNAFngv{vIx8^p~NDSpPbqE_|duF3)NojAGSUCIo2Itb}hes&KF(qd_{0t z^6m}O!G7uWQ)`;>49%gEmG@W_-(kuhadXRLu7aqNwK!Xr_TPG7{sAF1JrkoI!`oOIJ;-F$*&x1 zM~aA!c50DIl%ccRQ|vjUP(63mdnFN12*cB-EsJ zWq04_Q>xK(Jre{&AP0a56j#-CYpW~qWCB2VhBm!0lb_sISre^T#Fe~PE|Jeqg1t^jT`CW)h%U_u^J z(m^JXn@#URhTNJ{%LInLf*S3F&GoQyB>GcBoWQU0_Ld%$-`^H+O%HG?1imJk=^3%R zGIq!|y+qb)Jh149K#N47Y=Q?lF4w|&Q9n=r(6Gh0?V*!0RYTvKyG6JlionA(vRKk< zS5zdIZIQO|K1$? zo6gkZ9)jmaBRf~lrqa$xK%Xrje=*ILE7t84HE z5FqMmbC{UG*qBpU?r!{{`s=V&j_Fr<`YZ0^d-jPFOr&;xazQ#VkqdQI4`M+s`UOf& z>Iwh2LtO66UxrB9Vf(=`KIC@|w)*L@yZhT$XqFfY+88Ujb<10N?c9kb+=ea*1X$sutOAXiBgqbn96)$JH4avKG&!AI@s|i zF!X->84PCaFX(@`=_zj4gH0$pD$%=XO72J?Z&L2rwu2Cm{%M`#N{JQ!V$;GyZ(q=O z=(3_AdI6E1M;(ETdbVgJe%E5OPwYHurnY(HV7{hiEG5Hg>aru8!ec$Y_wJRR6H<~V zM}=+8>-W9Vppwbgt#jF?X|}g-3T8we%9?2l4Dw zJ_3&CG7+=ZPVy$#njAfCo`8R{&>MF<5R1}vq_j_+(+bO}1NX z@5-x>H+_4onEZR<+4-rT28{8}Yx`$3CXx<_g&N6RgvlZUnM@ZXyzGW3;=xZVf`ZJB z2WZY^pqJ)z!^4<-Lyt1dwgJa)_do$R&L}odDqh(9BYsu?dzEGteN0*%{dor zW~iEeaiAzie;jOMSx@(KWK5)%uYXj1Eld)q~gJeqW}__hpy+8Z*<@ z@|Yc7Nkt?~ zXadEjM>gvb+NR;+PM!pV}j}M5HEJ8h61F52@yxo%BwpCr=VO zWh~+=r%X#J6W=+WMiSFQmXQ=B%o|p#GatEbRJ#6{#OB)JhA5?_0Q47MSVI&uYr{An z^=b0+)%~5Ay-v4qKMMEjT=1CMKpyURj=XD;tO*Ou(N%6q=&`Bk47jyeuK2^a&vwjg zzdL!({ml3`3wD{-Et%0oUol)+>i8~sr`&L}e_LmzB-bB*6uT|G=Y91g)@CMKxo?Hr z+XJrl`THkpR2JI}9D~^C;&n+yuN~Fcgv{p@M?wmauQgzH&@GG>kaWMfudpTA$m^->^dqLlNu<5A*HCkd_UqiY{|>yTDzD0ozwqy3|m>A z^}6%(=>u>#Z$7~+_0H0}zfy{>H3dM(8D@3O+Kc&u^}}53!W!Q6(?2tMD3QYG1aOOv znUcy+(Q(rtV@ZOYW6Hye`I~(K&2heFH83p2nP0+v>yvNB17oGY6di-X1ISWfOoEXs zIPQiJ*1 zx9#<|_3un-u&Au_E3~=T#mYPoGF)M3d~;c?ara%6?THW>;DmDbm5XC*S>D)8b4GO-N;53B59QNrp=EVr~T zuH8AY5kGvoOSdP%Khb-#Tyg6T)&`^x>w2EIFWT7qsPUwgk6Y<*n4GvGqIs61;z-d#-)G8Ql7+78GFfV6Xuh$r)b&p$~t}W^LvP+q$ zJ?;u*=Lj;D@?U|mt8~*x9L>_6sZGEwSu57(#N52A?>fo6yNbgw6Qz|?Aj|M~;aT); zH)UJiHH~IYZt*Md*mIZU1p1B^4$=k@b#z((#j1VD50z{psu`L3rF1_qG>@R^7iBLx zW)iNcIeHLH2Nv9bz>#3K1-FNush{mFm-WXrWCQ6QXIR-n)})ITb+UzDoaTi|ttF$A_3eKvXf z>etSZuFMGJ>D9?!Jy+LEG!9#q`5e7!oLoA|ruoKMpaQ*iXn%ytdR*_>vUMa=fM?9?<~E;@ch)hIPK<0iwaj$kf!o?`r~q5NXNF zVVe^r>4Ue_AejbJF$7WF4J1AuSdE=YUuF6DrTJX}x^nfQFl_uG;N~CyFc?+3?~dc? z+^^-6H{#;171LYl8n3`t@OktDrBHNp44!~l9b+xXHqMoGW)NI_^i%P^W;RD|iZ!Ss zZ`L_=tbKFdwWD`tlUxr>vB-7u2;j)$yPDN{5OWwM(rnlFrF-|K8jkf?Whjr%HEy!l zF)X#8y|mHwW+J3ymv3V2!498=ffMaF$CLNXm%Qz->ad>~ytw-N;!E?OZ~shJ1tom> z;I(>W;pIkG0bFDB4j-vrDTdm_7 zbK@&en#odN1ttS|Lb3d%#O{4z11vRdJvH4889kP2P5;0 zHbb$oQmNW5c<52!&uWTNZjDvf%;qYn3KymUN<1x?ILkpPIRA6ojQ;l)g!Ooc_B~D* zSi#A1QJN?ySf0}J{iD?iiw2ck)<_6E?FAlwJQ20QeGtOX^wye@=~K36BCTaGf*+_Y zs|oo4Q3#-TdgONnwh>@2FwBEwwNRGtsb``o745Y?0Ko;Htk4v|1jZL`tSG)MJCSpa zTeYsW6dRrss`;AHZ`%?qZ~4kndmhlW|LyiLtBbza z^8bBxFX^9Ju9>mP*OoNmqEx}xA0w9{M(UPa!)>U}Li&%44Hod=z7|m`Arx`*O)6$j zT9mILBkd-JDFL(hN>VATd8)Z?gPkMh=a66P7ob6XL=c=IZYO#K*XQlb+OBJ|&1{Bw zBEuIJiawgrR%vYMtYbR`IjPj{DHI15s)Lw}|7vZHy1g_zY`2 zvisX4`ck`NXpqLsMuqQdCGuwpg)g-3^*ykM&O^d0xaTibmm-^wqpWIItz7sDDczDY7(u+wJllUW-ojm+EpL;?Rsez@jTrQ`gQi3DH*|`n!Tr07x2L zwu$u}1ue=-CR#wJhl)!@fj*1axJ9Q_BW9N6Nt0gKTPEMlTgA+9v0Jbx%=*3wgSoS) z=v6>B=XR3JdO|dCB)ECrq^fap7kTB76P5Ask~+vRz0J*`f$eEm8Be8y@`bb?tS5ykQk*YhrJ+je&^QU1u$XEkT`Bc~R2i)pDT-qXry62f!t2BA~Ys~l}# ztgJ@vf;U#>prk4tiMSrrkJ3b>05Y}CKM=NWc!!pqh~AZ}3xBY&3=QPINu3PyrlHajV<@M`B;L6YO2OZy99~?Wm!Tgx| zn{fW(EwA4n)=VtVZoC7V2*#qC%DD>T&alFUOh3{5T8zn^-|YdsKLqm%io);+rW+4T zOXWfBHCqaJIBN~cuuH1^T{ZyG4uE>|pq;oOu6(To1L5$r*;=(D7$tu}z-~SfoJi&Z z(0S}j(6z(^CU(M6h|nNW$oU^;zsjQMPV4$ z4LzDlVO}xsk8^L!k0b z?()v;5kjWc-%sXunZ?ML_v(JnEzmLT9Vvq+$NP5;>9t409=j8%{C;!ixPoz$v8&D* z3F3dc`V_YHmWgx>SPzTHv{TG-R3ax-E=x_lt=Hgsbzhh6XxKuU#v!vuV5nV0f~|T& zZXp>G8zx-n^!9HU^Xxhhfqu&L5lWFy)YaF{;yGfl-Y0Ec)V=?N-%EoVMfxWgpdEQ= z$0gUm4XlPNYWi(IqY64JG6mmC?t(ZM&S2YBxNtd#pYm-<1J6({V)_`IW(}t$gyWG>u}z zyQZ3FEI*nyKAL(s*N{KcFh>%=3*Sfchxz@-Z!IW!uzDpljJ9Qxi7|P~#p0aSQ-fP| zEwMY&B56yGTlNDL(b@fm6$7_2SMfD#<)of+CGR`=3)zt-_-U%7Tg?eN*mji_(x7nx zj*snr5D9J)L77T}QP-Ux#RB^rh8z0~_rCqtVI0)`7KwF<|B2BP^;*MTUT^!$W*w(> z+IhWp`?N8tpYaYUj=C0R2il4`z>7@fWN;DA*Hx|a0N{w`x3mZBfB4NCdgfQlb7=Fi z@2v;BS7N@CBED)$joOJ#4~?!gn!#T|me1S%wIk=tUEO_#=e|#+T$E2FCYp47f0J`= zJ^o$P$Mze8rF&QZ^X8(7cG7`b>}b+ohq|?w63@3DTl(bv_;uUguq&mGIE&(|wmKOj zkMm&)tk`t=_{puCjoTQf=%Q>HxcrVP6%O|hR$m=s}&CMghzkf z<^GQJ)^=D(#SPL?HY8A>;VFvqBN=PIh*6O}q1rNhhNU&QW%pc`{$uGPsfmFw23z{& z4A}Y=8I?!FNYy?|T{mWldQ$8fbnec=6{^~91`ubmS|o^#)xj(Xg{D0}Q4Z{|%eTA_ zQ}zL2m`|%WPDU_bM4%ICD@(_WRA}vtrfKId=B@gsODy9~6A!*&dPH{-=3`l^JIQ^t z!iPC|_jUpv!Icd%eqi^2TWXLW&jur~ab zs%TYSab^Pd?sxo~RHqU?p(fl(<30eVHBnUm3LZsSaw>$(ryv6f-{vR^N{aC`8e6mul* zj}_YOAmj`0cdJu!uXwbprkP4(C_3k_$O~=H1w})1?f;hx+97c{P48ORr~td;5^ifX z6Eo&0z*gt33uwovh)Zp20uEvQ<-v&9PhWcVp}H;pFLi5@RCK}))kghOLrA5dbtVqg z?LPl;`_|ZP-tv5S(BB{ZEXt6Lv_AQG=O}WX#NUK6h8Bq6yFW(43}g%!JF(RFGvnD; z|8KPi$LB~ucCo8}Ler((u88k7{-9aO#B#&`j%pP{A6;fpY#DWf(6}_hxF7ZumJucw zC0b_gMx zf$o$auKq$|H|Y3LMJsn*1{%zJmNWhF!rfXO7!hjjoa0G5Kvh9Xgm?Y58pTyfDgci9P46J^KuU&u5xOVTZCOj0v-e_KSE}WsTWKt~lM=ga$ZTIQ3VNbk@r>o6 zl&6jucf-4*XW0Lc{Iui@l8r#;^ALScZe~C?6YYX_F=&ca+58eZ5LJ+>WBHGW%W>?8 zGDvGIY@e$gpCpyYYz!=^a)dMX-5&NxquWKI5V7D{G2O+=pcC%luS+T%@S(RbvyAI{ z2hMJW+k}**HxHas>hMFFvggmTe1ycE{#a8kM3T_mrMS()#b(!JRN$~+(p!?4Z(%WC z^arQ4LS|jh_0BOaSw)hBCxWY5Gk_GVesW$I-E2?WpRwdHL-Ga$R8YN?6-91>OPv3S z@uM>-XUGqX{Pe|tTwAvXJr5C6@4fCSY@2C!FWFwoujTPkJ-6I3Tkv+xKTDC38b_bC za$B1APv*w-e|+)cvTb8fZ}jo6kUe&%k*(e9Kc!TyBhP(;mEm_?HL^=C(b)g3cO6DC z_xKL^kk}&KQQqf>(q$5y?ZA)c%Hk512vgcWZ+w-0fp*?%f5dt2T)*K{dHt;l(%*}~ z$nRF@jbnf9ytBv;)82PaOEhz2BN%d+$(?pf0k%vC+iR}Qd)@n^%6@%1`fr@9;(uPy zMv!eQzaX*4fq+Tihhop~xd+F;VWr@%jE?rzQs9;txGDy^OMy`_V0H=st1aDh9J=(l z5*s{+;bF0SSSe5|mG2qBpzIXDabom@f*g1tqvN4=IGi2d)NZS)A)Z{!uLZSPDKLyz zIw!-TxmY=|v55#kUl*9!rMm3q^)gb~1ILhfz`8hfbM@B$eoceJ)d9`_=r$jh*iy^L z>1slg!GFQ5Y{1nP5N4G{++En0`@GoVMNelE$gt|QJ4)NUoY=7Cve!WM69Mh5p9P(} zi|C#1)}?4usg1CUqm5S(T`$aCY1W6~{OVKLYa4{`()A)OgP(t4y416bYlvmtK3(Ea zNshwgy@^^(NTo?9}9EjBwyiDfF$*{Q2KxXzh0Sfxhg@$lTp$kQiA4VwI7o^gAh zRsn&V$u)cQOtpGbrZvy?2sbG^)s}~&t!fLUiic|E2bO+#hXOew6d=FYfBx5^1`x8+(h~R!ijL zY|J(;foB;go^WOz|ZQ zBk=Ckwyb{3~qJXYa zLs3`6WtfRlG3l!^Z(`jBG>L&T!Ftgt>%8 zm3~zT==TwHfDT|8fQc7xE1RD4#IU z@^sAe@BuJo9|T<2Us+R3aG5Ym{mUD;pgD2$ooCx*pkYTZH*2~ey{{8Jy2-qmJC&}H z^RE5yU-_!qiPOT2`*ssN?9Ad{u_%fC(~OF1N$=|({9db=-TFJ}1B8-dyXW%9%}bxd zVL`V(CLLTKI3KU`dEHlE98inASefO)LG5q|)!Hgf{<>&I+WeaFx7 z{c&jir>6U_iDLr(zn zv*oG}%Z7ISe3TkU&)6^=eARHaLi2lg_bP;x?}JW7Yfdn9J)SB0{4P8`rgV9&ZCQ45 z&!en)JloWSGU%2yeRkI4-OuN)$W>fjO`aG=o#9{(-G=E95*dm&nJbi{Wg{gWz%^E41(;hS6fg&_2zAa){?< zKr=3L54}Q76y9f!Z@}95OQCNT%E4^n;|oY2;U%>jw}?-*wT7xZV0#B;@R zQk*RT*du~z$%?~R7l)o)_yX!kt8yy|Gyn42^4e8@u5^>|n6iJauFrKO{g!)r^Z7s5 z67SXS`mWxdWw6RuiY0DGO79(E_{I0dh2j?S46+b zOWlQF40K-MNYzupjNUf|3x9LXq*bZk(@%r@F{gr*kEU|#ZCiC^gYT?Kn(DhhPhz#AV^C5fLf@z?@{i#8&*NBCrpTcQh60`GW;5 zJXEvtcAEMEl@^l(HSB4?teu})A$u?#4O+bAE$V|w(}rKq)EB(9$)_O`5)YPaY{=b{ z`av;j?7Dd#!O&!ww#k7fEWL}vhTf+6#Q9&3U6RcDL{LfM^lsXo&XejsNlL{?XPX_U zOlNE=rl<`;hRV`5!nr0kr7U2Gf?p4(5ZbYDBQ~MV?|e*@(TGhwY$C%0c!54xo2SU0 z&sx3-<{x=^L9L8d=H*Ci@kAzAB*^4~M6Li?w-O{KLv-`J_2Wat(N{9-#Ys29 zXD6FRLbX@7(WCm6w!RSX&=<4NwX^WU3B_glmqMXB!EoD=p1|KL>t>$ULPoEfCENUDHtr zvUnSf<9NLHDYP^li1wsZE+ztF8$Q#_x%NEAL3bo_%`z*ml{E$5lK;#hPo#%SEkZpWuJ0 ztpsl@9>89_Sc7;B-65YW`PtIH4JJI3`&r-X^^k7a;?>8%mkQ3(3oD&Nrim#dN2FYS zW$F5Ijo)8CyyHv)@qpamyA<5*AmPjFyv6%hJ2m0Ur`olGe?bzDy*5_7{VYC+^5B52 z(Zn&ywv^7P9}C^tN;oT8runzYyjItp%3*OUKA7nPQ~!?u%(&hlEd<^0&D1ux9KFIxbb!`xYJ7*@y{5 zq#v;JhT#EQL%f_gLvDm{glu}uUrUY$9JCX4{Eso4|1%ng0|g=(Li?|tD4gTM0R`ez z8^Nb9MzeEccJjR~q`Ew6ROhZvXtSuaH>7^wtH!YRleExEfvwT@lEAz4?{l&iKX0#?azBg9up5UdV@dOMo~6}+DVz7myYw4CVS1yxM4u8Eeo z?lv_0Ila^4d`QAv?Adjg6Q`wz9S&qs4^^KWG;NTU51a3fgQ{!A4_9_;*TZd48qpK; zr)ho8^S$KFOlQ!gl=LDw4sdAj&g0^80U^Sl1v;b2mUmZKJqdQRf>g`0^s~e5QuPzh z?-A*z$V1#sg|`htiAK>r?7VdHR)nG$Fw!&Z*pYdbTFaVrGWB>Ho(Yz1pfetOcp;bY zVvzrSs-x{xdPxf_4sKprT+mD6z&XKLc+99HwNew*e3YAnG`S-38s+pMPe<2Mh=+d} z0m2>7$as`?7HV`{Od0WbbT2g{sJijzb6uC=6}St<%9#(krNes8l$0ar42qRn0jjR? z(akiCL`EUotQo%*XERjSxQU)QYu~@ssx#R2>OMWCkEH7dKE^btCy~*TKs0u+mCM?4 zP2++OcC}vnO~{~Oqhq-n(F&pDb~Pfg(4_4XQg(J#{!Dge=Ql?sQ@sn4kC_Z_xI?Tu zLdVpcEaqmrQuv%Yx1Pq$(R6Jnw#h^rdMxf5qbm=)Zvb~xJl37J9`z9ZaYEsxO3V_pz*^CPqXm9h zo1FjWv0wM{x3Q?!d(EScrZ&pYz3NwDQt`yU?%7TtT?vPQ6y;C0ule;_i?1E5f5$v2 z#E!;SpVrN@nNBnJw0@YhpPw*s@m6lrLzk~i7sE1HXa74%|LUc=rl%=ZA6!t9UR=xf zPfMSrDD!1mk817`smAI68=tJXbNTB?M$$4Ve4M6eKk01+Q%`aJbJ)u;Uq)y|gY8%g z`0iBWD-(}5!!s%iv9=E;$}u__qWYD0>QnbKR?o+#0^s+#S81r~Ew+noA2N$a^c0DY*d^UI$V zm;9wjQu1nHPa)!8MLRwT6H&ww1Hll5*$nzpT>i1!%-n{$R|_5x`J-qHAlc)MwwbJ- zW~_T=eE6;DUPpxkfbMB%A_EWqat{SRSll&y*)r}lBD@49Iw*Rlx#b7|87@2fwe7O~ z_a7_n@7~`JH^VVjU!bCb9h|f#IS7n@8^-&Ce*HS(&j}d?F$zYB{`st zJyFd*F_^J~P6Muh&vrBww-(@+Dd_jJ)B5W#B{P-xjig%ELGt5x@s}C7yGa8Qgr!}X z@?I{>`gPf03Ts+}`H%MJa(7?<%MHrs2b@=zFcp$UrgMDdYyH2!_j>hYBz*5HM@({T zD%ms*u19wymPmz`ntQS8BaZ674N~>QT!XkPg1`#k>7}|SD5GLIM75;p@-yECAHZoc zUAC?H)Fj#{F=|IH&$j2jUj5OSvq6wRWasMLXunt=%+1)0TU!|Q$uWQLZH`UrTmkuI zmF-R;6};!|<(@5x@=oDtGWg4YmX@k!X2MWx24T1dC5cgw4T^ehNIc!NZNPMYjHHPO zQEf`TG59KI%2TSB2s5T+ zsQvRil}cH+#~;AivKc;$({s>`z*Pi8XI?+djlvoc>wUTcLC_W$>Q@Gvk|c-3ducW^ zLc;0JF2q|?!CkuYM(f2+!iCthU0cx{I?TONhA`bzF7hXa)?b@In1W+2+sRJSeE`A` zv>|ta82sfAaaMLmvD61)co&z(lfMqYgB*U?Y`IT2O^(Yr6V|mdkbW@jbSqs1NXs$a zlC+a+8qzG6rh2`Ry*H&JZ#I}N_Ep`GFank_4#&&z@h{+R>v7!prx{JhbUPY!HhOHG+Bqyl$Ad@*R@hI z-R-haC1{z)C?l&1Oi0Szw=qhh!pXk^oG$Ncs?+j~+P$Co^tNr6u4UPTnMd&R0HL$# zm$1lC&^+1B5t>&|rtigWcM6{9Ex34f-yK;gxi9=HX~QHo;d&RjcVe5`+xDj{v76KG zk;B(yrJt&n*G<^0wi|Wm#3~(sp}Lgb(;Wws84ssUEUj2Nn&(jEA~KG?JmVh^r2hTZ zL-U+UE=hDvhi?~tFu?w-0)qy{e+9yBVW38~!%77Q%e7)oy+1LxcW0;_6-|=N^`2F< z2K-6>F$J5LFP=Pc|L4-B!&gfJ)Uj==?X@dEUw6OqbNs1s>($U-`?o5tQ+&HCL6`gO z(-T{05_Qctg_Ey7ShU?5d$vJP6CvN8^zPP+YZE(~waX&*wB|kRlzlTJzmAFVO@4c6 z`p{MWdQAAHpoBcm_oa|)9sBYjBd0F^YLY{w`JQkY#u+Pid?y4tRBZ zIsIVykKMYg$ph`yV;?fye~vup_`6Dn_u=rxrAM6|Dc}0No_z2Mg1jYXK#4Le+)zsT zxZfG-*O>!H_h`zE!=VEYR>IB({X|RT$0TxhBpCT%`C+a+f_J=@dmO@5K#cHyt>G*A zf=50~w^Y8Cj)MSl5IPP)$2^Jyg`;383_yU1I0_#*B0z`%b3;6Of@k0_RQ?}YjR;CI zb%@@-lB`G$$Ka^h#Jz+YI~j`4ng?AZ8eMm(yXpGE}H6FHKJQN zoG6h?%iF??{$sI57WjY`tH@#sxx4IYGfAaUS(kI&K4hNwbH-J8j+@>Cn8BjF^BS^A z4-rmvo0Ths8{|Joc5gjzpP4gmgzFC1?6r7=w}ST?6!~9FhD+nu;`5E`N$(}w(W8|_ z7idAevOccP%Lm$&3Qc##<=C_`%qqIrv|8`vut!dOiiSmR=y(}SIPv9eM4$Bvl`PG_ zAP*0c#NE@yANG)0TuvGW3N4<= zwkTzXkwAy@|Gmu&Lk%NjCFNV*b@$Mlt z`-An;L%Y|edtZ!y-+fYVx9ysc!yK3$R${DaN*sGjutEPX^bDu+DI>AK_n&Ihy=t}d9u)~^Z3wWJ#y7#B}gJ#zZ zo3IuoT!CxL19cTqYoP2Tswt31VCQvhUy8W}VQ;#sapqar{=82~px2r|9C&6GpI$4c z_rmeOej*BG`8O%QNr|qlv<}zcEoOARh%B(aou+X%%wR|Vs*NRmB*+Xw&cM4a+HweA zkCSW8XVK8ih}7twp&lgf>&UOO9!1TJRfR}qqQA#$T?j=U*)V^T0H}JtW9|alQamrT z!_9s*jR&p5T8%N(nDux^jt1hT?F~<{XMDd#+Ka^gmE4T6k_8%v-dR$J-gKn(R|}p& zIJx+my)orGDRzxEpy)6Va~R0~>bZ8>Cg{SA*S_ntTVJ2srfvWB!0G!x-e)P#w7fad z|NG`kM{(=g=Z&rkM`zo=u6B5F@ZBz(M~#Y#hoAL&UHc{*aW((7FuLu*((|#s^}oKo z{MTz;cQJZ#=Coq_^9SG{5bka3=if`R6Zt8PVdD8=s~ZzrjxR5RS2fap0JX7XBnL6vJDZ}Zo5qfnDs75L8g?$_{X(AK?;j(mBBuoV#maggz&{zDn#z|(xQfn4X8PpK~ zESNw;iBQbCaDL)Is5ZAUEl{86#)3tF zrYW4%B=lPw^_rojlTJ%%Ie?Ds#e_FxL1$^?&T1Su8(a9eVjHnTn!475DStP-d)+`> zuSpANyBhYZeCFq;EQFrSn1C5nt=VWfD$w|0cnQ$F((C+|s(qrwRe!JBaEOxPK_fQP zFt$u#@9d+D#aN`S*ZZNvw}pz0)^GobJcB#P0UN1khMvw5XBKd<@XN!?_IC|C_o6E_ zE`c{S@M0-QtstW8cqZR7SMoR2ZB3+aBB{%y@`+6}wOb6heH~xn2zX>1wOd8DC`daV zV4c2l7fP2vyij%&aL;TNRbhg6?9$znlO})C5us0mOx~nWNJXu#xL*k}(8LS;}E+JF_ zcU%oeNE~NjH^iR9!}1p#)s1hZ5%FUZZ!%Qw<(T$^4YrLg z)oKyPILP9aoL)?=jetV?{}_Akx2E>}+jpiCk^l(=2t5=b^w2>NQz)TnC@O*_6cuTL zphiVZ0))^5vJ`tLDk^F~1XR={bVLP3L`7F9D)yl0!pfcQz3=ng=ehUXbN_+-m^nW0 zF~)0T=HL4+MS?fmRZ+I%-t%AEu4+Sx<<}7=tXkyZeem>>+v`k3>}_;Z{tDysh#F<$ zwNvl;TU0e;%tODbXFZ|oeNa3jkBiBtjNYO8F;54ckR%judsY;Npj{o;2_ZX9eE8v3 zlM~jw23$*Y1!CLryK=hadDK+1xJ~e6OarIKqC5kY#7)o}m-f2cuSFRU3kVGzjLmuB zD94%E6}dH9#?F;RTR>lSKZhU28ahpGs_XHBcG)vc6ZDtgMx9v5(@g~{p!1#@`xo-c z*3%M?4tu)zraK)07Z`mfdHQ0qpZ{-1@0aZ7-6hchjm6W}Y39Up&o#&~>4#TZ~Dv;(rX2dG+85(3N?09IVmE2!R+T)~}l)xucdv5+!S$ww-3-a|iv3N~u_{ZF@J|h5Qp;8V<(Z0Ie~h zzvXs9X&PKVOu}i;YLp!+@R-&fULDZ8JFA$#E6z@`$o0247Fik{CAVy6cZgG*K9Mcz zh{9gD9Y?0xi^u~RdihSyW!s~D@^)a0d;@<<9(pyz>QP9f6lo;lpwzMsaCg2 zVA9jM+0-&5nLV&9sxo%%IIuI`3&Ue9N_3skZK)D{~1SzRj#P-rc)# z&*#fuelOg+_4}WDpx3&%2oSkYPcA%~3$_(dHC%KD7dy^XU*O`1|GC+zcmjWJc1d6* zfd`-D&B%C$Nj!__0DTT0_D84jNlY9Pa9BdjOU&n^C1@~1hZbRPDKUdmHMA6aorQTR z0^rSPRfRf|low27xH8qosA?A|*g=Z=kP?HYVB1)jDN#OzozLjVXGaI1*d|DDzg+3o z#R42UFmdC81XqDb1Z-b$Gbe&NP>^0zsL;aw*H)4NDE#ywmj5IC4!dQJLCN(3mT6Z4 zWOjJcJ^kK^HN7pX61rZpYdv$3Yx69oK~)y1CGM^sxHovzc>@>Xa(Oe$acM%vn=1)&ozVTAq}RC6by}zD8@>g# z#8rE`N5~9qSA)ocl-5qepb^`rkID5(+WK#I4i%Bp%k>QCQx}(zSH*V@B74#m^u4bV z4L-+VPOKFd2Q+VP1Ot5s$`8*;mPl&)kGvl5VWfoXY6qn2Rb?I-v;*fH+4>1f2k{Xb zqNi&=FGXssXi@#W5Q*F+cIvF>vKj*NUIFn9#Kmx@qPu85Wp=#C)B;$?w`e>s^*c%0 zmpoRDkj~$Zq5mEuK2Xt#UwBoZTS<%zb7WDQF&^UX${@R`RF_`jSnB7a`j#jQSZI5v zvntkPB2l2eetaav(drm3%5-Itj82i|EcjC(o(OtKywu`>tp)N*q2~H-$&@-JwKmjr zL%s~^rgK7B;C5dsKNu@`2LzBF5hJ@*I6}s4<4p~$(CS@0Xz_vi)XPtG%hz??*3!-2 ziZWQQWQRJXR!a~rt=x#s7U_dZZTriOGQL52`J6wYccDckWpFf(Sy`Ew5L8tIe^Q8M zyM9lyYmSmb*$G0KKVefRy>Pqcg+-NK`)nyrs#EaODF{tpcP5z-M6OcB{EZOxav<+A zH~3}y$xrN!$GLW!G&E+s)qy`NRY#IjF4%};|Ny}Ie_mY%4m*PJfm>szY= zNLS`{u}(5OLXg>HxouBdM#CI=U*wk%2g{fGsc0+okof&M_mp)Q# z#Gbg8HR5gcKFc;^rnJyXgd_BrS7yYy-1G7X8@?Bz0u(;1u%HiL(x|(vS}U`e#~O z>!{8iot(Xo=o>gdQC{q~$?)pmS7*YH-R+o;6_#Inb7p1w(%Cb|({~Um0)4$-bevKD z`Qh4ui=H#r9~gJO;k;7cGc{;+iSs!em8(xH{YUNB?Dc82Yl_G6a*ugl-nQR=%-Y}I z-~CJY^*Jv7oPYE$v(|C>+Xh#M}9LU`^E;<^6kZ5;sFqF^7su)@9deZtjN}k0}Jsl;$p*nC9HC3(&=(T8*q@Ji|8t+&sdm z%*EBLa82h)-wv7@kDOpQOzFdwkO2(N!dS(#&gZ49Z?}bc85e8uT~5h2ofX4vMN*`z zw9o~N)4{#Cu>9Kcoz>IWG_i%(hq=-Wak%Ie?2tzLs*)JWwBbV%6@XI#ZzNj?&xkj9 zMe}Dp(X7_(psM4^9$-+Ao*M^|Q6=Tg-W0@O6k^+o3J?_h0>RJHzQJYc6!}rJ^oLG>M13o{lSm`?-lh5c{B5p3r z6n7as#i`^T35P(tVaI}gHinuf(K62R@gFmgDxQ*|z?bvK4STG>X@khmci2cFkOXX2 zB9lo|Vv2TP_!+eH$V)!nDV1R^92V@IFbD1e$zY{*6}Wh=wt~}T*(AgMs{V3ee%iPr z+3S)05Er|J;%{!t;za>dMtbj6e7{b@RCB;uFv!U;o?0JyN>tg`(Sacne#8TfSKBE-ttRrPs za_zUI@bYi#$Ejy1X(~6J3r3*5?TQG7?&?^K;me`d! zTJ6|G_hY3GR6P(0v}s=Czh*PB9X|QsaONT*cl@J!Te#4qL8kqPjI7>oTJBf5);w1U zG49}DgT`rytc#y@a(US3cf0b%9O&WeGlk~ZJvw=wWA5kXR1NH|jlA6&*|01NyK$iw znO8pCTpWjuUSN-0=JqrzSY_eU5WUVCzuhTDg@KiFT}dPF=<@A$lzBekQZK{Oxw260 zA2Yl5PcZB3wC5E*gDMbe+ZIB2QKMe1E+>|;r0I0gvc%ge4IF=LXinSFh6T$j9ol*| zBN&hTNz?!{KyOf_5=e&O5QN2F`a+dMv(X5bukG<&3pK0fIc-3Ov@0YpB(($nW}_sao*V%-{y~ zn`h35%E4_hYM0u2oqkeOOyLOzd&K;spWi9Ngy!G?#G}*Zvi$3Y49&hbJ?_qsPceot z9q0Ys?vf9OQ;B(Rckv2LjCT}o?yq~h*{Y{mv-vB9dt3J=E+6+{s)ROCtkv7`V-1s5 z6nN#B=J<1{HFG4@{Fs?m42h`+#TCVdhijg1VF+ueqJir?(iu_@VRQ{LVxq3=S66KN z#V=i#@8n*IWzy6%3ssyYQg6=iGL3j8Lk(_)zFQ=_mbEeOfnmxO*(Dl~pV9PpUdXpD zl|yqY53GH$cQgFHhkWt#3vZ}S=<>|5jcb6;io*ASwXfefE`Qyt;b1b#&7AUpAf#@E zlb5dl>Qh0|75lDU*;{k~`MQ0>!Xe~$6$iFr|CdJ)Axs6{v0*rm`y3Bk+qKkE41vpF zSyb*`p66D|TJ_D`*;hO`FD>uUa!mws@D@j>=L^D^iTQNT ze81>?5UIzk$q(+x4;{~6v5?Oq7DRX!L`4^@<`hJG=7Z(dcb5xdYYNz&VH-PqHxLDz ziOdZ(f(;!Qv;r;2$&BP*&ph_R56PhiPVFhXz-GV7GsB~ zYG`&b$q$!J1UQX_XFE!?s)36lTqm(~O?Jr{a%peU^8Zc-nt@`|@PEW6jw<#{NBp%G z?Aa>lDL3{!tbHh9)kYs)eW5CR%bIFJ;Ly9rElXh4Yrr-vkFN4SM|FeqR*((XTN4-_ zmHlnHUXUEr(Hj5B6&6Dx+9N1Vcvb}rV?3!tYz!<`B(*wEDv3h-H=)9X;qn<_Dmd0(Tou$q?aIu9dRS;f#*!UFaCW}S+1xtFnkwHoBzblJ0w9B0W%(i`)M9}=nW?kFASTe#a|qmQcv1K&z$fFJ(JlyQ(Q512mEiX>C^oenVO)c2Js)B*S8QvzvvZZH zMTH11Al0*5g6+Gb%yG6i;M0QD87O)LA>E?xp-u#RDxzSw1-*)pRr z=9)KJRM~aBP7gP|9@}vg)d>d0J%*L3M+H_}yA8mmfH}6v%IrX=k?{#BShj^k83Gn_^tz&ch+oUIE0QWd zmYKB*F8yo_g2ddlTWaIhG{54;@lN=v8o`~_KZ?&kvY3;0wS^Po;6Zd0t!)=)R33Ci zhU+dOf%KLGkCV<{*!FnKw#7>K$NT?DX}iPw``NC^aJaAMf?4RK%2B?GC#m@3R}zV^->r5AePppb4YpQ zp-gosn4{C~hq(>UVNzHLgl!85IvMQQt|)`ruxL+`=$gLAOo3k{I$VDQ702$a#NZYjfXFuIPocD%rW%foCG zLW4jm$WBEbN<#st1mo3rG{SI(BtOsRbLC6r+e)v=wULgMrJQJSF;tAyIZW%}WY1M{ zOB=qQW+81@;9z!#4E;%3@Q3H3BCa!5g$6JCI$iw>Biur95k5@+EI73| z>R6$Vv9)^8_m;iZObCKXf@oGNV8RT(m97M^xnD^FU-w4gk1Mt+%rKSNryM%)6|9I6 z$Xv%J(1+%6-nEq6_<3sS`B#JX`F#BRtP1Ve+49|gIxOPNR`lA%yKm#<%cdxOj-MnL z4mEyVSttD@w_DPpC{T4@&!q2Ud+2mU=cVMFIQwU6UfsYSV zeZ5lPZ8%V#Fe5{4we2FDjuF^)1Ls$BFsnXFK&%~GZGTv-3GzBZEol<%BObt|QpUU+ zxFiD!G}bCa6Wu729C=~44)fzNF#IreYeMSQhae_%(SK6)T$qedF1pgVq44~LEAJv< zLAa}JT)1ly4Vxn|y1lb7MRMP6dsalAegl_#-3BG8l9g_nnbLd4>~pTGMQ3oQ4LT@h z%RXcVdr#EqZdLGxnUk6piDtybV20suMU_5lO8Zjdu-0!J*1X>XXyBCSd^n1F{I31h z;uS{0*OFSoJdbLzHiL4X1gDYd_+Lv9!8Y?MES5RiN#t)*&J%`Qt5-O}0tLCf6DY zVwXK9mY;9>i_WdvO!q8s6m%BQhNc$#!=;RhzawA~aItOp_@#D^RMimg*QMOvW%7IY z8lrMR!?Oqif>4lr5YGFI*JX0L_X6$EIgjKtqae6hWGtC+8nnj9r3yjd(|C-NqTAlH zvcNun@@BeHo%{C`ELi%;yW+z~iw!c>DxalxEvi!6q_E=HGm|5&Um1?AR|+-;@>E3N zjg>i-7k|`V?Qp+e3mB=ZVw&j~PhNH^r&T#G)ai4S>UQO|7ADdt8(d$2j& zEAqd(Pgd3fj#b?hf4QD=RIqYL-usVxuTkri%0^B%YVm8&&GQiC$8Nc9@D$C7@L@Lk z=Md_I0bkKlJ!nQSdQb=RxQNjdFy3 z|DGP%3a#eMvu|Tpdap~7=H1*1sHVN*m7d-M?^?U&z54@dLeChYsq4ze9B=uK$w7YW z;XClWSF}mhy4bGuaqyg7o%ms6_Zxj&(sc7r6nTF^&o?pb_!R_lRt zE4&;Km)^Jr9eoo!`2S)2{y%!Q|88`gQB(rGD}T?~QX$h;LI{@f`^(9VzutOK7havb z@kxdIb0VW}VHX~NHO2p2Y*&3M&Ry)%l z4^Wll(S<($t_!NQbRob^gIjr9p5*Rq8mu z=#M1~|H60XO`A9}mv*R*&G->K8op2Ta{~|S8j<#9E}e@Dxe&?}B}p4Xdoh%qiT?ab z-s}OBz;bw2w@a8LC{Tb6U!5W^u{p3O$jb?$s3m*~eLBu!D|#N(nr{Z4p>AD&zY!gC2($KDAU` z?ra*X{eq#DDT^?iiywHRqp_h>Ps_qT!00YvG-s*6T3WcY7uwSpk*|K*Uh{nyn={$2wS(m|MLDF9h2`UF>*DqATr zjI6PUUI!wC6VzxmKjo|Wn%h_3wth&I2T(?tT_L7>M(Jfl?`#>v@rE#yzp|ja7J;dN z*PH29bkfmS6WpH*VHB?pYio0$NZ(N%j^O>dE|&ZCIQi*qf@@(n*25XWdW=@eFvfA- zG{ljoJT>Gg_Q3~OPNhD$@9@-+F`%&_x+~0ZX(%}3a3gB-9nX`j+FrXU*5xkMp2Wz~ z&}<9WZjI`7m+x!{OTAoXvWWv3^t_S-_&Yr!zyk0)N*QXZD|7f*x83X7%iIF1@hbLD z6^p#5$9de5eAB7Xc)7lW6d3|Eq=Ai+^&DE^pT0>!+13oxE~2cXlCD=w<`-sWbFJXS zR7rS9%j`FNk8T)9Jh6bh3m2*H?TjeEWfAiGbS$H)iZl>&t4PgWIXGZH;#Y}^<)crB z6t@hQ^_hSMGf%~MckA{+>p@l|*6B*(It-DW%Ih=V-4F*4%*gKSF|QE5YbI^Y!S_f* zvwzO%nrYY-3{~WS{9f3Z$;)``^LLqd-4e{^uRz}A*pF;2jc@I$FQvN-U#R}sV}6CL z>0*3=V&ppNl?Ms5tszzh7(+@mxuC|pKiCoWh~IZd*c7o&KPz#W!;_xo#rN|a8I+El zPm^^M3+-b|kM>(X+Ft1ajwYnG=Y(IfFpRPn&UBNaC*|#UY7Z^xCKHobP?s^OH@vSz9 zSh*S4{P+C5OMTw^rLc{|{|s+i`Fr76phh+@v!;Ub<%vqhzOPf4Px^kFy!7|Y@3Yr$ z{rdPlWFr8bz4?uHDfb6#{V!_Za%k_zJ?$k5z$j^%F;lebatRc$)}jKL za?O7gJN_W;{%=eQcFVsDxt>F{>bv^8jK50?f2vMtEEa-DyPXsvbAtY7%fMGzThyLV zr*$}~8)xYxtjXxcp6l;%c!?`II$Y>`keE-Zf$F~+?tY)0DbQn$lo(F%z2@V}Np&*( zXKo-6+I5m5pR3^7O=^E*Ag#ayp&w{O6CtGl$R#Ng!Q7vZR0M;3ysIdSS!7jnVcH~k zGA%^F!BApHyzYe>S(fX-;A-a#QKBcq`vW8&0K38N1g>7quR7S>VCz)rG;N)r zJB&L8K&f1qt2x+?>vK&0g!Jq9bY#O%DLR-1#ilBb8Z`3In^k!Tun)7WCV*zBBFf@G))dR1Krcd5MERtwDaO18Z0dDCiL+oLBl2&0i;I@?kL+yd z^^9>Ur@zLVA+&XP`^L#5e$*f`=r8;T%Mjlv3HVXGq1jqp8nT3RUoAD6r$P*~B34ZZHX5 z(FoOW2$2vLB~rDl@g4^eUa;PxUXKH23|^X6w4FHERzGZ~^^St}u+z~RP)pMb;Hli# zk0Y>g^yHKuwcN))k{;iyJ756v0orP-?4Y}a<_P}69OF~*Lc6pMi+L_rN>nb+P`GDCX zcAa`}-6vdW>^LMCW?Hq1?^H}_>QNiYpu4=JuB(>U>mB22di2)5@Fl?9mvf*DHeTQ> zH8b_w)9N(VRG2?+if!@~xCJ=nd!{lBcY;InIZo=ENHnzy^Uv`r!yiSU0^aIWT*ItcMCpM8$ns+hI%XLy|Xg8r`{pef{#qS_;dE%6p6IJ&b*c}O#SOP`dT{Pvxk_V@2HOHPn zH8$M)2rO`4jf8aFTe7ga;!fnQ*kLYmtP5t|O=?-Zz*}6nFNLZpRV&!#CD1$DrFy9YBHL~_U zHFKVO<@C1)_a7DNi!Hs}^8qi3iEB8Sn`IB8x7Y=s;Pcgy)zYl=#Wp5Aies9#$ zwo^Qa=9&!)1#F@q-cyhmE!fNvB-IF#I|QlYg7gJJ2C;CvXJK}9;Z9B=r>1aEM`6x* zVeUd9mnh_q7lNloM7Xe^5jf8hBH{ofpM^u?iqOE)qaq-WQ{>w%gs_E0LUn;B_5uz7 zLx>0|wqCMRoCmz*7Bw|8gbT%><2^ya)`PY-MSV<)Rb{CiC6%1@RKGwhb%&P-!D=yB zRFUemu`yur_--T61uVToE*w&P`UaH!K-7xYU9*Y~2PjXcg>#BSm zCS0o&Yn6i^vfVXdfg?C($MxB_OO>*~0-x|+ysQH}hy{m3m|Y@&w1J|qPyU6lvV?~wL3GxZ17`aW%M~a1JMd`eLVtfYPU+>be zslIXcu<1$M4G9E6+dzOO6Dn}?{sdo99ZD76EDNys97gYJg@}}}i?OXCETAcl&g%R; zHFEL>)a@+RZS>vtVEwPb5W(3R1zvmG9}Y7fk|&FiV>~84fI8F^ky6xvcd~>oZ=!V7 zNGFv#6+SJL6n;bVg&V6pOI3O>i&nzh^)*8ow!Fr70k-vAS&vS6Q-o7j{m@X%9elfH zQ5OW1n}*A$AwlwRg;OwTm0{XvoeLc2J{`!rV?ulrO|yS+O&)ESEIRfxz#@bDUSOGU zNNwBr5vm!2ww1crVxMBBH6yqKQQ%RAAAOzOX~~Oe9Z%w3RTkpms+#@RYgB;V7yMVD zBD{X&iEp!quVc1dk3~U{##frm;wjKfv;NLlrIc~KO^>$o4ZY^#-s|-Fn+0jI_VYhJ zc1{~3KJ{qa`uRcjbnN2$K^MoI55pMKeV^DW?0sJzpV9UIJhk#(-ojY@$zNaF_UCq9 zr#Ei9w(#ouz1&~pS_GfhAD^FmKKH%EWD&{n8BtSmQK4d}Zol+TcJU9r&kC%Q#3(@v zTa5Jh-^x;F+>S%^}r6M~STcmO&w&d@i)3L5keDo2QlpGf7i$0l1VG zkY5EeWcgcnji?2o8^HVn%=KRYdqz-o{6wY;-Q0>Tb7$@bu^C zB*w1qGR5P&I}xM3%YLIEX8m#cPll0TW4Uw-_7hm93GisixEGub)&C}uy1}TC{6Dxs zVW3aOQjHTwwDUess~NL9#&){J>pkfAx6+S8`%-wS;aoWQEZ{#=@SwhIsD?2fp~>WW zfb<}>2qnscxO$g#tz8NzK%dJCaKS%8SF~1h}-lmIC zBZj7~Iz+PWPrqKJSoRDdzY4E~YQj^FE+R>YO~m6L_*w9wZ$MTM@F>r1Z}(1BxYqkU zC}BHLp50&$)JhR9(o7X^3p3&kg0joH-1LuV=cC;@YMCJp(7I5I=mZ$96&|D}%e zR~h3E*LkKkXxZ;f;*5EnI44fKO3BbmYAU6m0*XbnmHue-~zn?q}{mgoSp z%|9!h^C9Ydl)#EQUl}wmQ+LA&^;#5(2l^w;Zy)ZzgU{2Xj5)G%Ig^}`+8vVy(3DdX1)2sKvdFDo33 zBUpI~`%;8HI}BVw137^-n7%}fcJAI0{3vzTy^7z9pN=~EynBlDoG`hSrepcozLblA z;GnbOza6eT?p0ec>}T5+G{(Pia=SibKSvz>$z$zfU4#z_{`yR`;t=xvF8B-x{*2ns zmT-+k-s;4SL%V#oQuoIyV1d+SCLHd$u6-s8`xG98Yk|4p5`-o7kGrj%w2#5#l_1zN z|2XI?9ZWgi=1d>xyu($&X6cg#YJ^zT%@@U+I1brR{qNRa-La%eg;+An*Lro#rkVde8D{M7Yr2~u& zK!!^`RsnL)lHLy58BXcoIDMd_^llC9zlEn8C_K#}|1Qn^=N_6o)re?Zb^FOBAhwMi zA+Vn6E+!UtwwU`3s=K$frAn#>R#uZuj=-}HOrdm^YA@qF9uM!WDJG0omwM7d9nGE2 zQF&MW<)P&fslLTkS+5SBXy?FQI9sYg6n1D>Iqjq~U0wui>Y=F9wO zaZ7a4=SJ+=spE0}7TvVq{p(8OnE!UN`xj2FbJ~^31WA(XB$$>qBm;MjHrGaHHDh0i;20rI=~ydkk#sgq&6C=pbH80vmXQsMn`_ z39bRz55gnX1B`czwBnuYW59ZV!~*ZPxU}%~ew-RzyjeXV>bBz;&K2i&MPZ5{R&?O; zL|#Xasw{mVS48KYp(}?APo83k~DoB zZ*qYAmA<{WElaWHmEj5QTcK6Jyg|{y9q4s9UBuH8i5&aS+oFv-kgRvt`T6jXo=-2G zg1aCKx1Dqsbu17T7k;*Z7B_)_FxER`sM?oqA^&)tXNSNW?u>fXd;a#o)6e&mXd_^R z8MuDE*(J* z-Jb>BUJPr0_HOD|ERcIU)?*@;kQ*_%?bdqHRAJw;_Q_I@-wQM8_1N7n%2n9#mxUXR zN6x3k{`UO)2&QrukaFvZ+syIXH}<^UxOn{gJD;4g>{sp@EB3y;_U|6^|BIcyX4|hX zLyqVL!vlK*_M z(&z_q0tvGD^`EeIn?`N)dhVpARmUoT%ud1Ddrug+Wy>7@1(iN%SlQyZ!dT@%jz=w)xq?N5_)oTkq`yGca z_eE4yU^dohqHZ;+(|r_>Wg>?D8B-M!U{0F-e=pp_^2)aSjyj5Sx$hUmsF#tQt4%yZ)K)_gN|)VD1i2GRrl4%gC2?s>%a;z^9wIR`^hM|$^KmAg*QPN!{-|u zuGFtqJXv$fCc+K(#bV8!H`)<6ptWlB)ZevGBHSatWyK`w;bTBm-zuL1xC4qJ{fOI2 z8#GDn62h9H{pLxyDxtg9O`P&ws&mp_5l6~>%y+J;#rTRK`UAKg9g##3J5jd+wN$(^=CL?#bd4v}t_f4Rh%6!JU}aD;G9`TeHu;er?yDlVw=NO*}rwBebti zv)nT$d{srSfp`KdR25v#c-|TK!fTgTc#UnT34}Gp2zz=2ESi{iZQ}xr+=wqA&dYTB zgsA8?SuBkUCCtC*+4nX|_-l`wCZMCVYpWEHJ0_*78!`y`ofvZ^35S2q*RfnTiOG{Q z-4qB%%H=o~B@}f`noetE6>Vs|s|I#rHYQVx0m@Fy9=3MrCPP5~7Idrkhs+)GtfD>y zmyk;qYA`crmVRp{xuF=uh%0M_IqpP5#y_5IC{qAgY&VAT97H8k?^gq z1v7q0+E-Y{NYiHbGjVEvNh^-M?kuooLGPtM&pPsGofQ?c=k6ut?P~mmS7Bh6>w*N) zwv$($xEkb#h^_WkG?$$_J*jnbxJrW@UdHtE(`;rEG|b|#34YxwH^mu86DpHk56Fpb zPvzyoiSU?PW@eH7ZjbIuQ|#x6^@ID@ot0NDbK-BZsyt4W2dYa7ZySyS$Q{f@@Mb^ z9PA3;%)bH?kuD2zg9%aLYEPN!tf;S6CV#R+jvStZ6nwtZGvcgjrjdp{K)(+ zj5;{{Uu$aDe}9pHYie6o{&@2Af9)|pIt~$R115Es16>+7Kh-C3!=uePCJz*!&V0ND z0oT;VRswFlJOJ^Nt~VqWY;jAS9Drw-LlBPzUq@E{`dX;*V|*pot+DyU`sgmh>ny1a zfm#NQo?dw6fki2D;j_zNESz!|SB1R)UONWD-iK&LgAki87FVZ#nJS0-&Y&wOl=r-B^t{bPB zREjOKAeosVgk9c@~@I?rfb61`vFWrH`5SW9Dz13dNaD4(4zwOi-}`S z1Yuz5nuF=3h#gh}d~0&M$G)Uc$-DI#eiRRV5$Txf`BcL zK6Gr4`vd#zPSQxufd*3dKJYHqlM7ChA;_(g)mhD3(q!-5!xg|wp=v=H7CmAD4ftV zLil1r7%=tF49`FZfm^UJ=R_4l&0mKK@tUfdObLXu1W)Ws504L<=dYO{{o8x!x(t!)TYgdO7@5c<* z61Mu$KVJW53IYzFB;UW}_f3a@xc-4ZIUr5|8&bfQAu{qu-_hR`vUzAG&%SNK`HFr62;o;7n6v%>xPp^!UQ?_1lu zUV8~Cy?FLbNc)HHZ~w!P0lnysSO4cI;j7%YUt$~hXd5Y92|@dJ zxVcuMJUmT{lGd53T1a?mTrO09SW1A2Wkwq+aT>!@sH;rBZ~HPa^-SdQPb`QPi(xpC zgfMHWEDdX&QWH}BOdc?UUj53%=wek&_YA|l0J_neSpkL1rsiZc8~n`?KZx0JK77{9 zL$qGbV|o8$x29w+<%v%Ru-??k=f%xtd<7)vQe zHEg{lLE3F9>f#W(q454Cj=PK0*+(w#TDKQvxvs5X$MeDCnsG05`iCJF6d5I)%!6CB zEFLj$AT42#Xrmmqib(_2EQT8Kq?Dbf#+CBRQG4}Vm66ym>RGwK>ZFq_d z5wi*z!HU-$RTLs$bGRIi%R!yt7oKGhWYK~Yy|q7<&_v}Iex+FgS7@0RGYaz3X_#c; zk;o6qMtc@jEl@}c=DdmAkK7^NNw%SPQSHlF59@Xb-$VsTM1*cH-A96hi}kB#H1>;ii0QQAz)4fB!^&dZo?4VGvspl4RZ^2BtS4{)7!7dE;!hAA65BuP50)T9){f$1Go60DJ@OY z0>|RHdq4IZ(!Gh2?0?X!8qv55lgmsS^>jMPAJt)={FPUioDx?ArV1;>lG9@fL-Phm zYj74UDKabkRs>}I>(nz0vmdzrbe`Fq_12A5QAKXdZuNFHLhH$4)u8C4E0>}_>7;tw z{j2@(m>y&vNAOFO_s63Ast%Q^1|`N*15n6qTA{@@R%VM@F(PJAARhQra)(Rf9M%Ve z8HY93`fBq1$dedw-+no`XPQykm*Vj4A3n{u1idN9gv~tNz zz4T>Xqc+7V?Ht58r_f@ym0Ui!Vr;Pdj?3z(G)!ZdnubDbZIVB^rTAg>ZFEa|&jx1% zb7?Cc+>^b*GetT{tb^*rHaW{%ktY*)8FqXA>P(ZtjU?^2+7)@~p%P?37)|Z&%RFA! z(}Ff;fMf4uaT+T@S13kW*-^`8%U$Rii_7?9bz{ov&t;Q8bfCnpd34L(XL%>} zA)M|H>u;f75xI9i>vD&>_WW3bLsPfFz=jBw+p-0CXvM`PdH?rWivdcjCI69DbBf2B zBn(8=bVW25v(-o{)6bGke1a@&7UL!Wib$p7aNF%sS4~d|(s^0ygr>n0-&!c#* zqbH=cGTgXqYt<+8*@KRE5()C6FhSn(-;Jhc4{WIh5ilJS^uQ$SiaX<-RMeXX5gw!1 zxopNjwBeyEIwQ^hLcqk%5k8%Rtc-TDw)*z{0d%s?KUIdy`_as@TW-`g>g*~gsdSd; zyk1!Fpg1vD>K7q@1$7+^-0{X|kG@x69P2u6S=aT{Hlq;|1iV-9fcwQ#PQLSZK$J~NB`jZHbS7)}hxy!f5) zjTigeq{%-p^bnE1r9{7JcqdW z-WVrt?ceIS-;;%^US;8v1=$_>eS*|4En!B7ts_z7sv54UOX)tIie0bW{X@89(BBb<^qqc=$xl{DJavo#ZR@J(Fib_>o`HLkJC z#z{2s-c6(ooKR%MHk|1--<)f~yd3Le@Ls3i1|;c?#-wxyP8e558vmUR2_QXje*4ZG zl5^eOaLTvk8SRxOQA(biavC(BF(U+#?j}1s8jHlX1~-+tV}nwJ%8*2MGoVUhaHKVM zUDreO&on^f2i=s(1CGt@)GaYAusqQajw7BZMYb5hmxZL$_%-j41CUVz|I8uhK8Gwe zlOVkl&}7)(2Z75chKqm;*+6(s+-6z?H}2#8=q+VmXe!#-A{?D_qd+_r5a)N5eQ4j; zNA!kl+~e4W)~`BS`_kN>qy^5oYiuf6T;D#yITMAO;9h>VOX00TU3iB0wa?=z-}Y|% zvn?JD`A_^+fSofXYc76!QN88n?kT>*`>WGuUM=&~h;e!3HhnVd?w+?pko4U%t^Yry z)&F|ddXi=TTSwXeEv1|lSA{s-^T`Ww7-^v2{rSd6OKss_yBk+cT8n(YvwLX~cy2ll zih}@t-&qhL5;_GMoP|s4K!a1n+yBQ;ZPv{rHY)N=N+Ir&%;iuJl&4Pacip1|%;u*H zesTJiwMf9TmQpZqp02yIzsmuH89zgDfkn8IOF*&<3^Poz=1hj+(zzm5!*QL{jRnT# z5)#8Nj&@B(Uvd-24;%e^L0w*m379M0GRoC=1L)eN6#Zqyc>Jn2ZV(P6b``5 zLybTTi`%+PbhZ?9H8X@}TZ)ziAOYeNRG{m2UU3vSo+16eD0>%wrvLx{|GD$burbVe zn8O_BtWs?ZBWiS7ROVE2YKl@xJ7JibQmIsPs3eM#bl#kkijpYR9Fj_fR4V27?DhV9 zF5ma(a`}8d-|z2odHxO0%l&b`-R{>bkp0s&R}I@|#)jh2uHL(NrWhVDg{FDgZ~;}Y zuGe3Z;~aPI!Dw1=;@yKxPh05eNPLWH#3V$e>&PJ;CJD0+-Ass=3gQQp(9I(d;`pw4 zoDGSNN!r6ub>QMmQcICeo*lGDmT>y4>{R%ql~#K9azU~JwRc=-5??Cu%_!4VjQhHT zMHT?X-4*KMoW*AYcne~*PISs4Di1BiOvBPs>63i5Mx46`mJUTxnvIh4aJJP?&>Uv7 zk7~RycdVt7Ze+ta&+Q$@xs`-DfQA% z1DiGttvnUnb#CFNZ9adU7zaQn#@rkBmPHYvtLV2+^F;XC zrq>5r%yh2dYSU5Pm2clQ95jXTHIY^qtZ(zQlklVVwMP$hq!7PHaGn@Lx3(c=@3d4AEcoXP{t z$y%Ab?NsZbLHiONb#JOS$YIG6f+mbZ92ZMaSOZ-QmS;i14f98kDuHYaC(&F+r$SR^ z1)6Y7n|t?#;wKFr_})p3x1V`>UJX^1|_r)jLTg)@`=xb{~7NCv@A~>m9`kn0d+Y^YC<6E3E3KRVVC;719*o zh^?4mRi-%|{N0`%*$;>?Tc$RK)n;u_S)2-n3=T{a=b`K!XCR%3DLPTfa`o9=go1k7sk#nWvl2`7C~av~Tze|#j&-Ie*Q*m z*cy@EY~Ws}@}>U2uC@MKJYVB7>*@eJFzR9oe zQTrj8$UooqZT&f!a~HaUua4+is&^ACst~By*m|hZ8(m=3Lme`ni7Z|`rMnMPYYRGP zn`z*Q#%>Voa<5he&c-$KfMM=lR6qYYY#)S_31V6LSfMv@g5kB;_a0c|egWD#^Mx)j z=kYg)RFUol-^6a?0x#?TviJHQk23b-i>zWLksZ#5PFsh#=6y(SQLW*Gd!=8u{4lD%tPe~#p&y7{3tt%T z8uUq6)n9jLx%-c*zPw9p#ERbYNBn$`0y66;*>*eW#;^;5i^mRAXav1%0fK5M4^`;o zO9oU(S!y-@^simhD{O)7b^3fLnJtnH&=M7 zldZBOudEDfM1*he*4sPXA{q+-!$`5FvRS1Xr=erm_(yg*2m1QlzDL~r=AW8}lNR)l z*|qOUi%03pFI7O=R1&L;MC8NNmI&&(ioYU_aSx>}LQv-;NMGek*w?~f`-Ng7d5CO3 zp6OGcgxG_*1|jGMH8;&24Z-Y9#O)G3i|D*OCt+3~*-)HxC0~@^eR&xhLW~Z|OC&a_ zNw1J#AzImqE7>NH-mAVU`Kx>a^3sS=!K^$`hf5EJv($`jf*$KJYZCSVfCGrbG{ zde2VCS-r{a#J%h7$?dm85k)r;U;TkQNj;llAjCkaYU-_ngNE>r4G{W~y{1NKMcoSU zzNC}V!nfj`L#VP(&U2e|L%LBmdp;m|C|}ga`0k4zJ|2IiQ_Ld!0g`eK$K)#9#qTIO97=kk_oY2WK zkftAO)mcw-&buLH2OTF7bY1;Bj=XUS)Q9sGmu`$5bob|mGqF|evK>{)fTGl3J>aeT zai%+0X$TPcxW#TnIORn4wvS6betmY$vM6ECdw$Zlfw*%u-<~I4`}pkzx845x;HEEf zpS}>H;wsL&d;a71*F2QNtWu<#JUb+|x;Q&5@%S`5BK3FpFiN1-qWlC|6zD@ONt4enIy8n@tPn`}f@+YSb2-=Yk{^T7A!orBz%x-{!-m z*TIYX|AJg1c9zcnS-lDZD#4Wk;5tn`qy7K@RRZ|FXXx(=$IO@MNWDpaum!hu--d1h z(oGDvVVSA~$OJl_DF>!ceuk*VocV$04W*T!wuxK{;c1m@5i4**bvq|U}5!OUwK_rQu;P~|V2bm`OF4Dc z(JNACSl;5hD+T*%9fa`0Gb{Gk2_5pdBB1jp%=%$!h|z+bIxm#yz$# zIwSswlp&8%k&c+l$nmpuG=DNHyn&Ww>Dz=ZgZj3`%k!ZxGzq=RO{B-yPyAV80YuC; zn;Z#+14GkDHKa ze}X=!|7?aSTDw%I!@MXm-#$p8@!82+pK%}SWe8qNjQi?8mLbR^rpO(jN!Ge7bieh0 z#xXUX=N{8oo6WSj^{$eFzMpj*f@@jO7 zUD^^A=vC|Ebg^y>0F%~0htG};N?72ka=nOCS#FbZ*z$3-*)k4;1|^KjVp7=~#<`@U%~6 zr(Qg`)Oj3QMnTm;Xtu9!RM`q9Nyxxp`rQ>>A9+`l39oFAH!VJUO@Ed~qHrL@rp-`H z;*eSy&H{>fj`h}ob=S;$iScZ1FOlRmq`I@JdBI`BBf1Z&)K=_oyx!D=f|A`Ihh$NFB&`)zV(@Z{n-cOY2yo}!FCi^q?SECV9QXNp$?G0| z?29GW5w7c@Mx8{2S8*wp(QkymD?@sRpZ|8}*Gp~?0Sz*agiVLqo!O?3uoIaN@BXg~ zG5-}mAA@0J0{C?6I=fp?za$Av3EppBasAo8q^}p-7eB|=x<3DvnNsz4YP+->kq9%w zu;h*h@8*wQGlP`Z`a#iA`{C75Kkq*JGbDcWTWQNP80;6VwOZ{C#2KYH)lP98dWzJYc`96@AET!&4Gd(Xn+pT!(+Gw@s_4f=2 zZ!ZFDgz@&OfL|kj<9~tX{f|S~+J9S}!4d~FWl9~;->Sl>989JoOuzP}Xf5Rr8-788r*EMgoSmU`>3D2efvEJx6de^NVy}-nZNZ=9`=DP8@f+38 z0s+KDZACjaA6>kVfgJCIE$4y&~Tx!rvx_`sXEpVWvrV?I!VFn;`FYW7tQW+}3Fl z$K<8MyFr9Wb*_?Vku2*7hFORQH|z=Oc)f`a>S=KXJBpRMAv_$7h);U9K~H%&zMFnd zP2_(8esaD6=X>$-4Fr*2sk_!}3l`K{5bk;8knTKG^w7BdPTd#%u%Zu_lf52K)Lc(C zjUe4lj%1iggHG7hcPubK*Gs+1j4y(B25U)D78q;hdO5R5@~{s`a<1o#WFTc|5ljEq zw{Uy;ftfu2%UOO?;=AFsd%_6mMHfCdf8V4J$cOwA>kN+5qNwES)4vdx5Wj6c=yK7a zQv5E_vLt$!j_AT!R}?D>h+rGa8(!*=#Sh*5ts?aO;7Kz*Re9Gy_?_h1m--+_FpylP zT4$r-<(UNU4GuSG?Sq9B;Gc#IZzK9bPuPEZw!Yab?V0V0{Dx=o;SU^NM7~(;KDa_- zUUc(l62{?F0}gti+~fdYeqLfV0&4;o)Gm+hZ=@$ylglXsEd&jyV@lstiHlSq39=?yuS6&RN(o zFo6u04z;*kXMDjrK$Mpyl(RIg#h^KOTgQU2NtZt$O;7oWTITB9B{Q0hV*u((V8N&W zEH@!Yqtd)gcCE?FN|X!y?-C?D0*X>hZ)5m(BMsXdzr8hQ_91$zJiOoKV>0=m6)YzlKf38M{vaMgE7 z%zy{9cEijew3~ah;Z0>W*=o8iaN1!%EabJu3qVZ5l@fYDdo9s4$Cx3^{hFTrJum0p zPlOx~W~b2ecwRactmqg2lS-zrr;k=8MEhbaq^Z8-4S~(VZ~7@>78tVAnRM(!5ZK4Q zfT-v?+yJS9#jj#J?cWpsP zj|{2%iv{dznk(IC2o3AuX^7ig4ZwMVQv85f4zdJ`31?t+kYzV1;zhjes$pnYu!1K% zQFW+#Sq}BOi{ooQ;}s-i z$cF_un^k4BlpoC|)}g}PN9apZW?|dX<(SZ-A(F78h4Pq$UNbL`(rKv7BBw`6qToV3 z8GzW$98%qQ%S=!6Oq{Qy{sAwv9BTN+Vj*V~6-pe@PN9gnQzUZ4tzmpzw}X==1i5w= zszbQPu&Xphn{v%`PRqn5=^;m~tG#bh-+!`I7o6Q_mqolo$~wBFbj9cll#mbB(#FCi zPcA|g=Z0RS!xOmgY|$F$F|>wR2zEJ^jIHo& z?VGM0!heTiK^U(Eq13n!^lCXf6ynT=j`E94=kJH_fm6oovplwYqa*(?EN;P(QMZQG zZ*;dZqPK)d#`u7axZUB*i85z-8SzgrW66_dVfgyBi{HnBLPQ*vjZRn85`COIL*g|?viJIEtuLTN0qq;0Nt;Akz(bxGl&{y&j z`&RqCxH+BO{$!J)V3kcw(~k}EB)_Il8TiXwRFGcw)2ToxT^ZzF}(H+%;vqSHJFj zM^fcBnk-y$Vi|}tzCFEb=dTyG9D_lo+$OAaPe2$i zL~aDfDeM2Z?EGh^MKX>p#u!(x<}S03RfCZT;w@!3YIF=Eci5-UL=C!A!Z#;_^AHsd z@_qfl2e307ye8VFN^mEyE}~PwoNtkn!~QL1htA3^qaPD{?rm4iJxw>&)6|Mxc5t1L zHXQl4$+$5^+%c^?b9ASK1ASEX4a9x#>wZ(a5f`e!3 z!YAKrn;pKi@-A;g-2oezD>vNrz3R;M6baE>bbq2J<(PVRe&WW;-(OOq4?QaN*Ahi8 zjN|oQ_zmYSM!G6qL!9N6nyWf_;qsLDs-w&2^Wx8k z6Co;<5O`D$Ejezuj3#9`Q;bhlM4q=2-nMvOapwpql{;myPCdnQI+Kj&EAg{kf2|7*CFe}arERyCae0`!`)j+uki%tDL@0X#qd+#IdUui z?4ZcupoRACBY|SFg`gE!N%KZKZ6Ww|AD^N@GS*+fi+)~DX(uL>P}+@E>k4U>mn4^W z*lcy(-fn;=Y=5Yho4EbH*XJ&0x?itk^CJfn`_y*$53kgYfDc{G_sBlMX-`5>N-J(q zxc&C0dZ-6Jt+2&L4UePOc1;e1Uiio5jYo3 zo(4d%_ir# zt?u&zevTtpk3XKy0ABILdR?R}mS_-jt-A>TVQ%_ZQ@S$~ZD`5L@w)ZO`bgmcjGYXs z&4n(kER=XZHMkKt8+FT3`T)6GJy=W_ApQ8VrHEMFV63Yt`8 zW@zr3MOk>n32ai4jL@(YcW1aJx&@U9cJdQTv5PZ6WyQF!BY5gIR!!HaE(S$rQ*c`j zR4aD8*{GAd%qGqhzXkBozsN{Eic~b?agVIArKVsEwbdr@a^P}TfFNty z#dDF0|C~jTi;0K~xhUI@57z`X_^3ni@2p2co?c(>%qY!ck+$kzXTJZ!EyX0Fqeb07 zPQFO45?Vwj#dnCr^)oq3(F|sVr+{WNmAexDM7vfBw~U|4Wy^=P6*8nXt;aBQwn_IA zC)?S2m1LE>Q1{YotJ5J0FShE#v7QpkMd?%GqjO)?p<8V2hPSA)?1nGwylrC~I(pcZ z(5$-`*FoCkG+@0-htRXYd(&&@wYr5JxQYU9rGBZ{V2vQv4G*C< z8S;d1o37H*h*|!InMSi%s%YWT*3aeSsFOeA%~l>@wU9X9F!%+Ls+lC;qY^3l0;U36 zp=7jchNvu-Pw0S>2b$(BB{CvS6}Keo{xnO)7rdwCklJiNaiapHQG{eBj0^^baig$f z^NRo%7=UV7e(3lu_T=WJK`IgAV#O_Ov5_PatF{%QLm%tkY#RnUtb+4YM;Qkln>~(GB=w&H#D;36svR=GAwnx zMkrpzgu-I3kJ+*ThxOh1G{_(zsv2_<$)+U%vv^^_6l~&Wd>%;!lL+X7> z)P4jP*xur^e#t3I$Erz}T;vSeYn*-QrCkH1lU2(0B6l-e0oU)0Rxs!pSRA8*F&3Y%>S zl|y$LfJJ$E`O7uz{FtI1DC8ZDVLYsub~OZ!FKvh(-fua5{M@AID6Z84$|;CXAJ%N( zLe0E-Bw^$=$NOrpKR&u-fvXatwzbmNyLkE6s_@_M*^h4YU3>WT;-23hI2t$m+n0a4 zeB$>++=`pepFRB6aP#*^mLYHOt;0@O|4RUV{@2T?HYy}ZWWeaq`~!D_65Vz475Dhj zJ+|&nd69EwdTE1M&>e+9@@TGp!3z0@oY$T(w)xkV6?eulG~AHw{Euy_=>NmD_#d}S zvEW$b1hM|d+3=rHA3`H4^awZ7C$<nWAZZg1|86zuKue$Q5D^UkNE2?=&q0iLtN2qs=><5KAQ0{WfB7%QmYFeJ6?-on8@Xww&x`5DElQp z3InJSCCVe76*HwRW+SYX3_N80N(rgeLXW0-j1>JKOSENmw(gOPuk`3=Gf*TUO;V2i z4|rM!tKB^>&0p0mJ%bvyaf=u)UrV-od*24)I%O$4Waq8wv%oGY$O$6n>z^bOhVNS? zXMky7Z)0H-w*fIp7oXvmo{QgmaM&M+a8>wG;UKBP7=C+R-e$X+=!BxD!)e|-j>PNo zFclMZC8?=Fnmzz0#=l7;wnBGQCF0iFHVsX(sGBxpB=ToG-*&ULAss6UXq-3VE9@cSMX1-Mek-fz2_h z!Hpuxwx5x?_SZ8DJ1AazhOZdOOj8Z%QpU;cX7B)~_TGZ$g$clVuY*&`zcf?R`ohg; zw(m+*EpVed-7GZHh5IU6Z>+O2;I*V*`#Tm5Y|6K9fa^uV>E6KKsPCv1W4ORy-E;Kd z+Kmf#9ohWq+tBfyr(TYv89ZDtzQ;eZ@$LW9mT9Zkr>o?p4#p8C|HA0*vhNx%*YL;- z_$%u&i8#&ZiawaJZ`Pt5>#2kT1r&(1=kHkb`N#K}XYF44_fs`Hov)IcC365)2HZa+ zJXyp+*iHif)Xw8*Fc8o%v@j)m2b_n-GqY@15GGsN2917`$1d88 zQbA%#mIgxZ3&GWy{N~DGXuLYu#MpbcW5e%pe`H8KRBIO#?!u7edi3|Gotj0seCsGk zVN4ykb|Q*k3>L;JNC-7oU)-mZ0}dD-?j=wT(_!T~A5YPHw{k@PgAf@~EYt_Nzh-x& z*!W^+4V0|SYt8jQ+KtECMEP&%4-ZSXKHa{8(S=LPoj!Kq3K%HARjY12TTh~SHPP+_N-EwTc@VL7~gKjm&q=eO6&nQxjH?g+oSMP zulj1~TaDx}716zaC-I5;j`0Kf@&Fa_oKi($-9~{Ap#s@LgWcUeju%b$19PRg5gf{n zNyjvWjU0Q?;peuSj){;o>mOz@T&nPr)#;_6qbr+|82QLyc>CeGnYT7IPI)GCbi=-J zAEI>%_Qw1iN&RVMHc3fSxo-ngStIjv=fxmeY|4>);}XvvWQmi;b<`^=?JcFUoOoCB z4JlMr%Xpf~M#E^W@O1C(Mr850Gboeq_j78P%lO&%nKpE507U;i z5|$9r;SeYNmAAI?tqO#57zbv)p*Rr+GL8sE1xcNmb~n*OA};!Jc3_EM`@nfRaf15P zx{JHPi|0eksC^oSN!IEl9rb~y7TVj5n#It39Q3C^Bpa0Y2w#Dt6_f4bP2O_g z*%BIDC6ee%U0#?SYtyXbkM0`NxZe?8C zM7-2-*n~qbkepFy%vn^L{4wA~!z_UFcMw+SVRM?>BF3VE+B%ptcYP~QJMl!AnY$s+ zSvpKe8d1+x+14DVSK2vs(qd%OG27jba@Jdeb{S?|6TS?p-5A%rcz+jsS~rL**+6#PyTKPumEPLu#}E_G5|Tf9_iHvV1I%~< z`c#|c1)YNPAL^wX`TD*qT3<_jtlpw2F+1A!<7$2>Q{M!D#dqE$s;Zs4u5|+jCPj!Q zP0@5^v#Gb@W^muRQxFmW0smh`?J%R{xQx#7vkQ0Kou01Fhhl!nb6BZmli9jx{UC)T zO!{0Wlq)oPt;{7}E7Pgrp~p6_*fY>`>09HY+n@edf9gLN-T7O8?+)SD?|ef^LD$~= zueRnpg0ELhcvA=N{!*@(pKN%PIf0S`NbbH}%F{*&YufMGeH(tgSOG4po97avftymJ z1}gT)PTtR*nMviqNH@qE!`8^v_KJW{GN6~E_VwsubR+-#$lh1&?tN5j1YPZ}lnfHi zK*H{xBBPr;zTvE(VP!DYQ>ZuusL+I-V%)!PtG0t<8Rg%{GBEQ)T!XW+w~&1J>Bh;q z>}AR$!X;O3_^E3@b?*D!euw=M6<4miN^ zysdu>a<9(RKDPfygr^A+=*;1m#{s$mkSE8r-LZ|4cx&QIi3Dc&Xj$vH4Nu!k>51cjzdevWr zp9z!%49J4|o%7a|np5Dh24748W7g^3IBxU<)*r`Km~+}XNK9{VF$X{AXG$dHpafbQ z(;JxFGUwQI^h|`0?lCehsFOAm!3&>z>!bJR7#KQ~3_1tsE~HJFs4V>lXB#y88V9l$ z1E@EHJOil}w7AxN&fK*7wuSOZ#lG0I6o1F+TU=;RR*{%NRkU;<^7oP>vph${io;IN zZf$Eu^+~QUHDl!mgWa5>%pQh^Rn|RlFM1ORV#%;6e7E7=IvBBfeRL4sBt0NsH`XvD z*sUmOXpL!PE$xAOcE=>b@-b(Oe>A(c$5&g>GsQn$Zx`x^xrnn7ZmsVc&QVF`g2vVe zMx?|sYvwF==Z1{$c@=lG=coNmD7>Eh-EhkADV30FXFn~_1KW1td7UEL$f-q+F>=I_ zZ7tp+oZE;GDIoTCCN})_UP#8I_XXHj54@!cf|g7l8!p6Ij(RhcjUgF@e)?))XUn*_ z(ex4_Ju!-*AJN!@BYuz4{Cule8F^{z&$E&6JE|j79l9JYAH2}D3aZ_zwMgQq#R=-I z!NK8t_2X@|f8EcqMwOU_;~|ZAc7G_@vz#?vJ8zuz@m%}Go46(u z$GP|L>&d&PZ=0I{pR1N>WPCZX{mGpbepd*=O< zqnZDy(z-PNXYTvIa1a2BDTnI+zjDYLX`;DvI#*e`W6ZyJTq%FnduZREFHL`Y^S^Hz zGA04_^->=Li9E|@o>-W_8AsM_?C`~(F2$?|#h;!a4uW3klb>3qHk$6Q0iwUmzzr3T z2{QZndFvVG+KqBwdzoje`;8s}nW8{3Nqn_LW#0G39N-%hgvkm?>Li{E2*UOLCe+BN zaQ&US)(K>pguT^I6 zWu~!S+2qOvrCGR`17}$69*A!BjNZpuw`-9u&LO#Li9&sabhUjZXjcHiOpDD!%$DQl zb8U-Cu~&({#9Ft!1w4p~elZi30qRM;n$%Kf3N$i6Jt+r@znKVP#=LB6bOk_%;c4pRZKxt-P=_>XJs(^*f^}Q6UJaYjkLEIx;%g3 zN^>|=-Ln<0xg#D#u4Y<&!eS3 zX1%LdLg4}Y&}VtqAE?lA{hDH(THn(*$I>ur7UGTLhpg^w1TKvqGN!xIR{tT#(2#{4 zbhHR%mb6?uX?)D%m-Rycd~99q@*x$`)yS2RnzglUHn(u7;Q1!d>C~9*Sv{4rl;C3+ zVur9QhUW*)m>CSj`B^$E3Q}UcHH)ZzZk0m_$NDDyTa|Cg4TadaNuP4VuhvZ8z{fFp z&AO4bFpC}GIv|NlFB2q#HAEI%t|%oAShvyIHC5dz6k7L;L>hyt5rvZTxPX4B+kQyC zb1%m(KfUSJ^oJbC_Gld;m+c6esZ2bPdbPAZhla@FTyQ~msFJ^jUW&@m77}YG6~15+ zmNO8DcP~a$m?@}BZBJC;Q!vULOPCKQsk?vj1!5#QZ^j^dZ_mP{Fw$s13kgUbx2I>+ zj+mok&;h{dhB)u5Top78<$Yx<8G0x$v2-3^fJV84syT-!AERw!0E(5+;XI?DgBvKv z#4-fA-&>D)-O8s|mc5!K)L!$kiTX>H?FAPSPl-P}HqtQxwPkuEm2KMwQq{oBPtP z1?{9tjwn9S2fr$=+bt#%6|-oq8t5l*7x(0tg^v&qa*0k2g(~FrA_W)MWL}L|wVm~& z7IFlqGn~YsC!-9Cteq{hCu$jRA5A8yV?V-FWL*zk2(N3l_blBS#PrrYLQ zD`u7k@Adui{O7gcHQ`r0=%~TXX+Kjrv(oJg-~GAPG!`C{9>Z-iRfoJ~iG~IFy=N9w zr|>X1vPRkg|9ONu?|Y29W}X5vTVUzQ2cfjWXaGsWQHt#yEA8#l1+M8d zr(%0#EykfzFq0yjnL@h}Merg4gDJuQ8Y(!Tiv?EJRl7iwGZoW7RUbGA43k9c*`>a0 zQL|jFnTqM9W`UC*NDTw+R)e4vt5$7Ye|A`haG*)8w^p@WCftt$RFs&3GGTIm&aV+6 zJW{Pw3Ir4bpb*PmEX*Cxu^|4tUiE+6;q3y4Mf?947XPg&HW;;RNDg#T)mjK4B=205 zR`LMH;?QZn$#I+uc$KKLP}7OCE7o6JWR&QhG%;=!SfmlX#+R~X(<2&)`M)93+`h@u z-hIXB;4bq1qkO%VTUAkvJmRvO4a~{m3!93xvIV{&Jr+ER%GCXcZItXjo0^nOyADS( zt=28eLSAIY*!it?uQyg4HXsEax)FW9O>eyEvF+XU*pn}}m3G^?xtEgGq_jWQYRhJ~ z;-KxglYGr#X<+1)d&T~X?pp_jPQnZpIi>STVX?}rrI~Dhyh~f~#8My3oyL;}>L+y( zusIcJnX=fj=Nx$e_nSd~Np&X77fnV7=J7S`ZB}Mmng7bcqxu4^rBOAx9||_bJ4Of9 zx>AbhsK9Uzr_J^d5rPcqOsw~_Jl5YEK~07?wi|!kMayAv#EQ1P2Gt<}qKHPnNX*{# z{jX34p$I>tY}OToO3DvSgl-h^a)E)(Or(mvI59(VJ0$I6rZ*>M@+@T7 ziggiwG_zwR`=rCo1<|(}v@G(fLvTR{rf?lR*j1Lelw}#e9#b(lBTj1kWf7;VQ8}If0x-s&NG^Sf{+OwJnf} zo~;DXc;!THz|EwPd(IT1?>$>G;b#U#k$g$D1FktFgkGV4D#PF7OAEi~moJHSE^y|m zum6UAaQMWh>Ti+SeeGNCpJPl{9ROirFc22DJNl@-h#ubZlS|mLHS*hwloLr$Xvx1+ zJqEU&p0C;Y(z}1gNMq}j#ou3Nym-k4cI5|84+$JAW|gUj5=F1~>$>g&q@QaRjGfy4 z>ASM0;J4>^^uFXL!)Frg)83ceP1^Bp!`7rH6OiIhyFdP4R9OG@$P#Rd{lgCXZ@jA} z`|Q8eMCX2NFQeP-6eS_quh z0nwHNrZxZso(ST=K6^&ODd4b}y#l7s;$v6iVAKqA?b)~-V23rZ8RY3MB+wSkPxc%z z`!=#C!bd}|yBiap9;JIc9qu>xHOoU8iFDzX>L|`3>{EyGBdVKRScN{u-zJS>31;{L zaSJ&aqIN^<57;S1UUS}tD}` zL?-n!SHvyksBwwm?&oTQ-FT+lkXpLuHC&f1`fW)&s62Q(Isd>K8+qz$_42>Msk+v{ z6Ci3`|JIg6RzNRm_4pfF0EcBIOROUiLJMXEwh?0GJf&brzWbH#M5B|R_vn5*!JXiU%TdYjonf$m-Kf^|ux zBpxo*&jMOKi@@gE?6Cfad+*(=@Vt$)!^A#Twpo-Se{FS{P8J*PM#UooeuGy?= zC~sx0K=%&Q&+rS!kKwgFr?+IxtDz8SiXN^m?}ute)fKFysSsq1D?k~P>c;*UHCcb# z8&XQ&Hx~bLAqcIwR=aNF3?y(Ls8}f@!5_~XN0Y*e5z#Ouva6vQd2(+O;j+GyF?hst zhsY$R{tEWuxHH{Ih-ETD&eARks+yE#g7MA@oEbimEPY7JAZ=JA@4F$npR8AQD3>F# z-^@6HDZ=nK8iV$))jt#(81RxnX?ZR&{6HPtOB#G@vnoL$wtlP-@2oE;(LlRK6JA|? zo6IQg7HG_%_kNp|YurYQ@Q;-_L32c4Lmd%=UOf z%3YVCa)pyfMYGH7VyLI8(x+%mxuRu-^TnIPe8F8@g-{{e}yrvcG(C~J## ztsw;T(>>>@Z7zZm&&M$qJO{VegCoXnlYGwv0Qsbj_A+UN&S<5S2x>X-56R#AUln-l zYUhwZ<@^YEJ?ud?2SQ$zMvg=l7$a>Lp`*-U8Imse>Uc?YqKvdI} z$?2+TBe3}%UiM?|m}HbuXpmbg?#yIpWF%mh0!TKZ z$GuMVP5A3wcOGSa3+JoDtZ908Imk%2mO>z5ZdiBBS`76o1a_{U|K0iI&bOLKwPcAv zuak&!>Axfat^s<9lw(02LNa zMY#vOq4d4NCp7N)_Z1xvoVx7(&x(%5RW**i3MGR5d{rO*)uJK1I6%)bPY3a@`WV{R|pa<Z5hFEodBwHbC{jqLQ2EGO%;57`y6 zO!WHtxElQ0Y*`BeksvB$tTRE#4(@a`c29#EWoh@5PWtYQLYp38gSP;gp~NBQv-ei0 zW!jt^oE8L=jBPrZFQG#9U}H}IEmC?|!F$)5eLsm6IRct>qFi}Lc!+}}!n2qQocOZu zz=ahV^K1&2__tZ+4K2_!mj<2*vXi-H8-$Rqwqu~VPAh}2 zb%(&ivIaMcGC^us);=Jae=l>3G)=boj?=h|mc?tjPxdMS3;7q;&)&1Eh--{;^joi3 zX9`L$b1cA?KYUAC5QwL!HH>VbWY?yH(u!Hra?^9fkhTJ(eN!~(ZH{6}!;8@Q8aWmL zGMy_emvt=zwwYOM-aJ&t1TM8m{hW@}hL}(|W*!`Z<=k5#4fIwRP*Sbi2u2A51Z%nv z!8~~Wj0fb9Mkj8al%ZJ*vMlHz%Odg2C8INAQ%NLCA(YF;pk~hTnuRUbXkh4##U3sp|QoHtI=lu;|U!;x97jOsnyghjmw^RkR zOC|hDa(_ZU7Z^XZ0X65^O}F~!JoX3k z$<}|&6RM)gh}cRxHWRFwm0ZRyVe)B-G-&l3t0U$RE%K2e4LX`ff)~T+$LRnRESn{l zJrJ^nmoAx9C|v__m|5E4r3;>~V3Hsm$8r{qRQG^R5 zi8VN1vE^kNS7#B{QFz`;aQ$L(MDmK;7-tQJQdET?#>+MI zJc#@%Y}SdkRdiHYHz-k6M@%snI^M523#djEDQd-Tf~aT_s{IfALVhtbHa}&c%b{#_ zrqXvcHuPEDJP&fw2_uipRlq!`<`>LOeGe3U%~_fl3$GxxZl+uiZ&%@Kb!vC$+bC3w zao;s`wLjUs@%10$O}n)k^8`0TBNm++y+AaZZV<42+=L2#ooRG_y~Nt&GWV z{A#Kh@Cha|d_IY#fzkJQ4#VRHXx|DNF}TDL&<_4WdsOg=6}3M5$@ILPXCRuvO$>W$ zMSl1Uh}5i1SOsGhTr?A1xWI0uR6$e&x}NIZA!XZUDh@1|a|RS-rc>Uou9)4;I{NPu zskMFit;!?Y+q zYp+OD*cnibknzh-6SC4Ed6aFg^_4>nKt9mujRp~85;SNi9W=WiUP<^X12&SI$oty{7 zYbt4mF@~feNog5dNfJ^hX;#KQq*AHIQmIr#(WV*uM=GRJsm4;NPYY71$o2L)uH(AC z$9Y}f^E}S;Kj?>U+tnsCYlzyHK1)KAy(<{NWg*6dOs4e)Mc z)Sm>SJXMMAc?Mjr~E_rKi zpnHox%z@`3GWtDIuRh)7)!U-#!TiCi@dxn^k5Nj<>{;He~B|)N|R~8+dn(;wcataH} zZW$)D7VO}g{b@V3)71~T;xHATuILEhy}GPQbT_%PFUvBx1X-G(g2C~_P`dL`ZkvyJ zMW@27yjItRqzRM9Z+~jv+Bvi$!(XOvntAWly5zR1qIAQ)ZLhU9lRWMTgEy?CZpY|D?<>~cM_QG%q(q*o8Q$g;m1Q$52YvW<({@ND}d z-0(h=`lc9|gX|1JY}DKv`Z)hk%-Xy~$takarAJ=0#JJ+{@I9O2a4>?^)O?RB3FEbc zepa)jGcjvsi1&20>KMkjg$$Q@kYl2!ukR6h!o&=3_AcIm>Deg`!%QMAuewk-AddwH zMFUB$ss^OT(N>#~;T(tx!y>s8%Ise+0)Gg@i#e=|$I%4CbAtJERttca%zH1-SgKbD zy2!lwa$~$-_UujXOO2ptRr}W4qO3Xr>K1%;J381pwcGKQx9$T^y{^m0=~LE*Qo5s! zNl^^AyZ&$k?61bKrgGnFVI|9YsYO-By*D2ht6jN0f`<8;wcafH(kvzE@vgoNxaeyZ zh=*lb#QX24rJ$_!<+objI^+Xg@Nq>!+up2!Zivq;ZnO9QhN5R^DUdJdi*Me zbeoIMr1;7L(|@0-eaSL)m|-TukL*;mraWSWi|SV5tX&>^)|zo1KMKgd_IS-MTUh_b zl`oT@t;@xJ9}G*K+cU7O{*Kd&cn#6s!7$nVJue|c^DiBrulo9_@nu|n@XG-opZwI< zVjr8ABdnw7AEV6rhME4N1i_6W1`X*FX^Zju~k9^4pQo=L+wM_#u#Ht zCcMbA)tQXxaN?myj=7f?K5f#Hj8}Zs_&wCl9)VBUZ+?$zTxso=`bg7}O%-23J zMzP_#RA5PCz-@F?RL^!mm+2eBRUF<7gjV?RLHlVh022QREgB1z!>(4yKvzdvTcxgB zXtd7fUc#x+@FOfG!z`V5&vu*`RoHZvel|@+t{ppW)7MR6N$;&W>swZH+iQtx(y9&5 zhtV%*E3b$EaK-8@{nXpM7JQuafwi*!kb&Ix|v%f%G+!;4l1 zbHpEF=v!H#$8AhOux@|?*NBF^Dt5ibYzEbO)%UGE#)bY-U`FnNf%CTgzC!{HIX=_W z*ca!!IZ*In5NW@efQhe_kQFGpOF9D`&56`%PH49Z3B+>R!Zk`|FdJ&Q?z^p#^H0K8fB<9Ibgc zB60v_T)Ay)H^z@&FtoWk81b=9Yg@Y)$vhmhIamvqctEr*)FIasRaNgJ@w9$$VFPU* zg!a$nTRV9E8uUgniMOe&xUcdGA7(lF%%zW7aT{z*6DshV@t`NHFZ9&xFb;R2#TIn5 z3TP>@5A#23rQ>-YZVun92vk_BaQ<02zb|gv;~SerlP(6>y@D(9H5Y`=RaSrVyY}_h zi#OCFQUVQ)Se0s`h2?!>Ti!s9TTW=#w;Y`1a=4udXQPxR|J zLb``p?icwtjS2$HAtz9L0rYZ>pyg}lCN^xwn*Mvz<8*F5+zu$NGk_^X2K^}@-983|hf-KPeo%KH8iRm)uv+ZwW_xudb_ zJgQv#%6JSgi|6@Tm;gsQrmI!BYi=c)48R!o&M!Wq8ibTDF#Go|n8Mr!%MmbzOK)+A zL9lP}DI^e0e(FM0lAOIW3JT>KA-<{OMbIz&4&SkD_^*yj2+E_=2Hdm<+ z$PZjAF4jwAO+YLs6GYY$Pwm#(zl)JC{I|J6&%OWtU2ADCJXYNxygs(A3yd!(L7y7aV{UGnalg0Ebv;cic$F~|||N9AQ z!Ml3p6?h?(_7!f1pvlV_7%m`?8GgICSZ+?l|9XBa;2VT92lN!>_w90lv{C^xR$cB| zOysvwHeeR_F#YkdKR=<$OfW&Ig(XDl_k@a{+$ZqBzd(?`eq=a(?cB0-{KP5BH8R|# zshkIfskvKhxq0)7oVC*VKj&Hx?5W{{Nh)BzKM=U|?jY>H90m*i>r2#sCC&oib&b}Tz+!L0?)XxmpTu1 zEyAAnwX*0>3wM-SQ>`85CLI@fALlydH~lq+%tknm4Bke`p-&uaG|c;nk;Q9V9l{BH zIggxIUw1I7U@}6o(PG={9U;RG?@LP$S59~E4&|>3b#FksxOnz}4$Z*Xnf~34M>ZR7 zDmb?O{B^0X;bV;WuYwvO!$X`E5xc2NhF)luxV6H6efxM%f#|Ks9>c@;C|v$ zagh?tmNCA+O>AjxyW7RSy?G9MYG{2X%#MVdL%tW_enyt$qWg!oFdcI35A!BY8}I3L z&9*We5lI?KG97s$ISw z)-)-(ohn)ue`BNU#izznIpfNmDU%V^J82C;6N;TCLHG3M;_LiwzShOC7^?Q^lUl0p zCT$H*q59uyU1A1_>1jh@lM1-b?FoIDcVCVLD01~NGc_gt)eece?f6jjVPHLl-}aG3 z*@$oRHZdI~pdNnTXM^u!StPxB%(lLtOqvC!y-h>5*nWQu(rcNd$a9zWK3BPB0g6{q zW=9Dwtp;DU64aQBU+(IhztcXn=QlR>byDKV#u~^(exovwnlYoyz4y3rC>v?Gd-RA` z=91x!yTJ9Kq%SXjyeUv)?7M$dZTjc?${m+y(vqHSx-oX@t9qQ#Ab65J^|pqmqnWLGcHwIA z&Zgvm-Zs6C@yrlTtL_jx(p%KkG5u2kvN9_Ahv=QEdn=JDcsW!bXb)l+<;>NZX#LE} z3^6k`(yZper@)Ccj!+kD(VL7o6#6}g+_1AJ>g!FKjR5Qv96<53s__Uvks}bB+HMW@ zr9lt4wgSa+kq}ny{5Yz&GS0*Z+Kcs^Ey{U0lX;T`K`yXY;Jms=i11FY4xr`6_LkvtL3o$msOCRLoFV^pAjTP*iswWS>}NRPQXS+Wd_O% zTl%wC@+Y<`iBEkgdqm>L@GDv4SmIa%+=vo>ENMH0-o7UD=$<1kYg&$1Xp!HFdm0Q!5V}{~(Wn38qU)F>>5t6ckQXB7Jb$EhlVn;&S>x;BYq#^?r1H0M3MfYb{Bmk>@uy_6}1DI?WbC;H9 zg#BE9DMRnM-TK#~8CDbcs=1;X zqA|d;v)&huO_YPW)!Gi1!8_U1-R zfIQ@S!_ITdhAkiZ`3Z?2omJ|gP;Ov<4`NJ-b)T1DBbfr#)FmvV=gwz8J{h^c8}E52 zLZP(9xDjRdrm8CC*|D`FE!R`)8#|cj_wnUTQoMkm)XNkkw2&_Yn`|SDvt6(K(k$(0 zliZFLaicud;FcFD$tNYC^p&!=32t3%0Qe>tqmS+L)8?|GQiLs~obs;daeYhuF2QtIh;21UdqXqG5`h^DiC3e$y-h|663YWIK zB=lu&erZ*ALf8)lH;MA^Ty(+T!gW2+q}6QNo$$zN=%vSxi&%SrL_y&`8Vb|y8tilN zSbgR4b-G|s!0F;6%m{D8-MO&|d@x}6=k5)^k_2j=N9vaTHugFOG81V;6lT+n) z=fg>|IgrenT+Dmolrfr>F)GI_Y(Ub~M{2Rxx#|#_x(XYQ0!?000M^9si{!o22GBJ0 zH5%p?Mg1;U4MhD_DZDR8L2E5qw~OzHT0Wd&2$Et?Xu_pk%fD(H+71eqxe5RESom+* zt;1k;`!D^={{;PgDdw4QqX;Vra^y(PHCV`48;JFXb-S7|D!iXn;w%i|*1MTm#7x7a z!L&u}?riPu*zAE~OVjSPilBz{Y|E`x>-ce>xlK-MT5*p1E)jo45f+CzY}qtA43nMtaN zn(_i6t^oJo;Bu(9OypKoz>9Z8{5bBv0oBaapr&dsrJ)crPL^WOyK$U3uS(~miP+~* z-f+<=naIc|i083T#N?wjK$>eC#cN(?=Oo9L@M#_8ptj|sl@yDv+S6FyiK;wPi?Z64 zv_mE3LhU8(&VO0o;Z1sK{LZdona{eA{b@ciO-TQxx2L)-O>&A3u`^^%?W(I_U)SlZ z4mDAC*`>LAl>`4ar&Egm(2g~9kFQ^)6HPZZ3(4H%RT(kL86C9f;?$3lpM^e(*gB$Q zci? zFe&W>sAOG&*iLajs>)bao2W*%0zou`xuOZ5q+bT)Mem6htVwU( z?apR!@|#m9>a8&YyxOu!X-f_PWnRq+iePoGEH9p^u3 ziLG<*Hnm6gb4cJ((N}A+mx7FfSD%1C2Yfk!@1iUMX+XqgWCm(!^ zps=4xV~{M$mc~n)I=7P94;%0c*{wGN-SYyvFgSk1UJ#}fYIG;!xXIv+CKW-e1v#&=5uL%NEc6S0 z?#9pwF)faQ_=$(@ybWeI6o5xT@)EdEO&*207#v7ordOGg9Q-SY&{T+OoHARF+k%*6 zh>-tGN2)M_75oJu2KS?n^C`v(44O&0>E>;{w>;Y?ouA;eA8Lqq5H5P2$nzz862F&< z=qQF>a5?~~t!@XLD{^0=D#?Gjt#GPfklvR1!0~mtKpv>VAB4M9EX;F98jg^&u6<_v zO?qchHb?@DP)S)hf=KfY6~PDz#zuT>(Y!_NuyO}?3lnN{gkyB$HGS>dsr}$?dZ{v2 zsuCY4N4nGs^(yEpstMNcUK_82rzDr7&&pOjtYK)P*WKT-RRdS(>;tGLv|AI+3^gfo zeGlJ<8@Tm|b$|tmSTvs%jQ|KBu!Z}WkhQ&-qFO13y58$W9w;!u-V63RxRlmwNBtWK zY>M$}Ur- zPOOzcmiTg-#AoT}HYm^I8>DMK!S=X&QDRA=AZX)HU^zr?t|9VUrAi8bavz^ZfJI7h za0qU66^fI~(VGwyLR)o*Yd|7;U7o4l04LKDSns{pLq-T=jyWidpKh*g!By2}x(w82 z`jT693ni^aO$zJ^j)2&y?69AfA#YqYA!hKzE*Xl!b>v9x!U<2~rf}>Ewo3gF8SdQE zhuJ%ike`I`&bhz;=^H<7j49ozrn&S)KC_2`h2R&d4ajqMz(&LI$3-m;(Zg zfTwyNb=YaFS7@x&2O11ITtk@X%@Uzr)Xol<>kJHOx0iky*ksPD%a01ZKCe3>U1Z61 zsG@DF)KPRXZQ8=I0ZlCpPkPBak!jw@wpPQNpUie$3IwZ|6}nN!1V%M=`94(&+->P0 z+-z@NT$u?rct+%wp@1&qjOa!bH@HdocCVz-kM38qben23R}YDiMYJGR0g$`%V@0Ht zaA;u|GNOt9q>iEnW~I_UB8b-G1R=pNQE3}@Q@ac$Pqiv4ioPeIcu>4)RVNWwzi%5f zHjx-v4TtY~VZ8hzd9?{!aRLzC(#}=`a)g?~lw0{7N_D7y!O`v*O|#`{!R*F{`UF9; z+KRbnDmpVfY#fiKS)Gco@*{i3iM+&PO+FUt3}>Z-QQo+V@bN$qjg9S*3>K3j3^$58sy)DDb5%0^>La;5=HS&5uz&eGWLFL#@zS5<`Pgrq%yp-D-nxD|>+{iv z>0cKOP0OAZ==bpuK6zJv{%3aEKmS{ayL)Y>bM>F86Z5mq;q0sK_}PR>X}O z9GvVb+FTSM#aw5p5wYYIWy)en@M%3Ab*&qLXZ-8~XyzMdM+3boxU1M3zP_=@#>NgE zzYVm$e{OcHw1z*GROMeEyZ$BT#I?8Y>=Ppbm}$v*PjQ&-+KlafHM*qp12OH#icJFR zmm1}{Pifx6!QG$OVBZGzl$K(`SbbK>W@1Xjo&cB}`r(i+HVNyJO%(UntuVXJz1mRi zhoLpfqC)2^0=Ao;>ln|ki0;+JBA(Izd8vB{yYq3 z|3mSsuD%O?l?7*Puu0|U81lPkesFA6c9s;yL#zf~9}I(yx8pZd6MF0{%4lFSvt)QJ z&#|nx-L{eb4Z=#q1hRDQOb3Mxf@xPcDy>MpZ14qdZ&ec%gVdZ7Y1zOY zt<=!kV482{8ycSPw&ymU?eLUT--_&()IZ67A>ZSjfV^3<7ycv4N7_;t+D$*LX2>C z*gjHh&c>VCdcy{cZbNH)$qutg{^Z32-}!WSk(y={-W+{EFCG9@t#;;0R>|i^tzkY` zC#Wi7-3a29zc8KD9ge?)7*<1Qe62_-;kp1c_rbN8o}{&Q-Y z*~VPT_k~@g?d)NPuBigYZvF2OSJ7R+3W#i7#DTI2Y7t#uY z$OBQ2o}OnwdbH)6)3|y(y=>7u67eMC=%tj@33Yc+n*ZqOC3=HS;5RK#lp>W>phjB4 zXz+fu^Nn<6v-fD>mW;)3%GDSr=bxFVS+gDoVv4HE(~Oy=#{Bo3~sF!;oUnI;sW$!xlob}+_J8QtZgVa7^Coj z>!Ij9_^8}Za-S6)gSh!;QcMMSo*1fCTjj2TRSKSJm*D|tN=0_64VPG4Yim0bsP-sE zsNUG+ZI1x*BFrM^)CxsnWf z?+tKtc-*F9%H;`>H5gzP2)7z#n^|)mW?zF)s*=ERYo_vO#dSt5Y{m^|xk@Krfii32 z#iuKw=50zsJcSQC`(79YUROwiJg0nV&-P-Tny37%>z>`&K0(k@O$pNBJfU#)gUYQQ zJaxnB?eq72@+#o{Z6e*9Qh)zE0gRHM-wA37&1UGR;-8>QeuI$AWK=ZNwQ7kGJXr^gd9PKlOoo{s0)QgY}!t-Wk0xjHa!lbH$O@gTw>fPjg} z8`Zr7V&+#9^TWC#bk55=?N!(3q~ITwMokNiYQppVXA~NWL6-dp9=RhyNGg%RtZ%jr z28Ig3cQY>|)J2I4<+@IzRAf}F$PXPKCLOwlh};>TzkvfSp2*8`Z)C6DKfkq7Cu4$d z+oaH3<{zQ=BD57hLC=qjszwZuJ1uIYnQMkz8?PzBSp-c?B1hcR$%CiI)#ZEF@YODM zu^f_ek?*&9Zf>vcut={JM^T_!MI41yTOG=t+@`(pJS1`3WH$edw$_>^)Ino#GP_A& zbQ?A&cRJy1#eVC9D z(n{!0!mOwoCTur=5ufkaIKvg_9pki~%kRtcrSS(!$e|m26`TFZi}9ZHi#w9Nc7*K; zw>~ybs$%!SlYXjbSvBXFx#|N!FbeU)Memwrny7Vy$2UsnJU`K#;o3+#zVTw4E^3Mx zLQ{Bj8MhOH{BoKJZ5Gq~!UGXpj#)MTb1OQCeu95k180y@M#{q{@o)2c?@K

#{!}Ex}`fT-~owTb)w+Vy8DMW2RN;nzxCicIV9n$G=RMFlDR z9}fMbn@WVcI|P?H1akcHJEzy+x}SiraPR9SZ=p1y4pWiYb{b;R1OIogaQ~6yj{c8H zZvQR-Dl3Fw=teUdZGXN6@>GT%&i@=fO+nORziAszYy&FkMz?C!<{EjQpa<2*d1$Ws zbs5kq17gk9Rh8;!dgyc?x?9eplzQN1c(Gft5IF{XrW>N65j1sGF4l-_*iFY8hYC$* z4#E@|a4*SqP&lP=5CVu`MZok?z=JIK*Q{0nW;MtE%xWmie`Yn1-3Mi`sj!HkOyA+Q z9E2s>y({}(w(9kgK(>IX)~;${^785$I0BPH%qU6Q(>M1hWjwKzA3*A9T8X6Sr)AbOamXxIHj6!oUAqvaX-x>xCSG<*E+u^9n}3 zi4|-`t!kTThra7(n7YMb6TgzN!iws7a4{UIz|bzV;XM-sa;z_kwL;M@$vL6}Q*Qtr zvMoY9mZa2zP|OHkVg6M;tnO)Im#X9RHmIggAn4er`47iNAL!Wd_w=Ks(H9=vN{U1# zS`lmwvb{4OFUg1^_Gp_|gl4Mm_dnBWZU5a|-G#y_M>>wgLA*3xY+U25?H%fCH&lP)lOJyc-`c#%j*HTpDNcSQ3-Z-fw9Pq1PqfTR!+Tslx)@uS zm{&WfIZCM8*{)YbtgJ-?N}VkGe&(e3^b1OHivgrJXdHQjtf7kAUaLTaF4Q{B17XsQ zw7{xfq(L%sp4np9t^?^HNAjXuC^<6>{LaSU6nM?mKa3n)U;=+fsukyImUf?_7mkx@ zC5NR?Z3;b&UMHVmcuo0=2z<@Cb(b0MM)<0R*zl`E^m`}IU#{9-RaZvhR{!0h4aTp_ zgm2Gp!JEHMS<@6>1fXtg+B|7jb7}8>8d*ZV4kzy(6d>=MYq$#6=DG!`-Qn}#2`2ei z8@8?9!6KhdBcX#|H+K+nq>8F$=G|d?cOz8}F(dIv*1L?~>z^BU@4UaIXZWv&+hMh6 z2Gi+eefOm*T|j>?O0;{x>tS74RhpTnl#n2@*y0t~RD>D~f;oN%)%{6(4R^fzxPxDWsQ>|0j8;#eYtFGFSKOS;gG?o;#iX__ z!t*78^bu@js?czGU@n*1stYzI4_2|+$XJFNc+S+m$wOHTjT&r*RgzWvQBG$)^LNBm z0`NBt@7i#2O09 z!cBn=@Q)xKNQE!@tgK5?R$}!jU1reUe8V!rp+|CW5;1UzQ4DvJC3sTpu5}=?!2}1A z(O{cQ62pT7UkjEf-V1f58moz^VQ&Vr=d)Io3XFCG;Qf%6l?s#TASrbBk-qLUIh1hN zl&^`_3^0e$Pid3Am!@%`D@Zvi9&X--V>b{vPwI_H0N*07c6DLAahaaUd-myKHvhI0 z&PG#3)$do3QQUaNGO=(>)SG3Af>n7Qworu;A2{j{SNpQP0`B!n)o19-{l2NMIzY#R zv)&hmcd*^+bm2rPcW1OR7NF9lU&Oie*hOr=EGyXF3r^15>UAc^1F`3CMCfh&0C%}s zlpotQq807fVY@joZwGr+vpdym$>%`d?FA0NquRHN9=qiylOpx*aK&cRa%?z1D>{?%!ZyasXGD2n9 zZw}8h{??>3Qr%%`7MQ(L|EOlk+e}9@$a`>`fYgldq{cZEE@3VPV4RbC>R$AII%|xn z!y`@7@ra11NK#mD3*~yanqd!L^Jz>8ZWb5>su*goy_uMg6FECbvFPGKmMx&QG5UA8 zZmjBe8>@Dx8+nv`bWnh!PHy4(Mrd`P6**ir#&2AQ=KiuBxYD zlf#)sxw@7nS3hqC3MhwBI2?tMAOIVu=cM|BdH&g9?zdU7D`A%Ab*|+qSk>S2>tB$% zm5X_aI*A{xx<*tw?dI~1iQZ6=%WH*9(jUv(jC0Tcz z{$gr_*vk110yw0v=8PxA9`gokn+10tDTSuWVeDU}$mBEDaN&b}<=9olPh8}|S||v{ z^%G!{qb;->*mMCF&OpM5!Vkgx^Ol3R`tyJF>-O+>2TvC~UH>CUOBwt(bys@H*UiiJ zKAD?harwBUPUtt9=K51#)8DjSfDEizxf}*^HldU!x}1v_wI4qx1l3;e-fplltv=#i z+LpU~JQe*5VmS5ntP8Z6fIY=*gP?*Sx7(oxAj9Dj`m8r}-~4amvEje<{Q2tf;1KR( z)EUE(XRxBsqQL)RIA;@uEj00t54 zfC^06c+*k=I7|6EQjq4P4(AArsYVnxj1&04R;$*k6nK=bppZpSn&2&XUX@`gDe6N! z^-2m3%yt9d6*drn%P~PS!ceyro)W>iDC~7Q7Ibb5fZ8>Rx+)FR$^)#%(X9#M^)s1M z8ltIippA}ANX?p$6u7Vj5M^fSOyiSRqD^(!}hpZe{WUB0B3=x5Hy1!N< zx2*({dGa5%t%B2nvpp8#y<{?cZ7sjvpUM6oN_Q4=KbK$Ip@y*UjGt7hv=i%reFyF*)n6^R=3{l!=Bnr~nnC2=(yOYy z=&9rDk6mXLg;PUGr4i$tY2}->F_xUcILDK|D@$xGRAzeok!XeHe)D#kiFZ%Ts|~Pj zl(Y-QSV}ASQs-5>jDddDnmhkPTIq-3lQd(as_~VMSs*C4o_dhmG2_!X5HSPks9N{W zHFdIRBG_C(Noq+}=m&y9jxzAt`bwFJjEvD4M+&x-^)kIJO9D&MHJXbNWQ$t9lz*&h zAY9``+!~h7uKYFkkQ~zPeDN|HM|BrHC7|Zmmh6`4_QcJNyf{@E=b0}D>XC28+HVhNWJdq4m_(XRT{&|Tip9~ z$Qwy|?b_R``kpm(#e+B;mog=xbLE6fP1(}iPV z1m!kx-LH11b9(~S%wMz&|JArVuVq3zEzi*pc(freo^l;lyVC^u@Zv;ULfO^0ws-N6 zEQ2#U)v_(t_o(@L86jzL!0yzMOnL%Sa79mQ=E>2OZuFNnzxvr$Z_vsbW|?fqgL|C! zf^3`_yQ!-PDTcSo|9;AMpZYd9qBFde6a^A$^KaFpiJ=lQOy=Y1ca<)wsNv!IGbJdm~=<$93%0&-*uCLHDGb zPpxozbz=`C-DB?uS)=;Q-zP3+{CeJWap#XuH-3En{Y8$npZz}|<~j~BI*cb$Ky>}% z!oX$ELz*x(07ekaPE{KHL4bO-tJvk^3Iwg2Q2+)xO-L`xvW$-fALxw8A3K-5DuP47 z{P*6AqQW=E>~X6^E|)^_UFGT;Npy9c0Sb}f3DO z5QnzTv}}kFIm{l5_vkaJQo-X&rg&1xK~5k(nwR%EB-CiiQap<)8QVq`rf*) zLZB-^bL{TkH#j`#qBt^qB8--60lH&%>3&sT+xtd$@csM)JJgtpSC`jY5eMNiSd5+- zIHQ?)SO5%xb^mg?F3c~$D7h2qBjGPq?eD$FbXMI?u1@XQeO^n{iL{hZHJi^uY)iML z8h~*#SenU1eIi|S6I*u_`C-?>S0pV41)HmJm2NW zsNoD1iC^c7-Vzt7ohb2gxekWg8Hm=C8L{pYdS2|u5yECFY;nyn(w8$r9wK|||LM)! znV>=x(s$TC*>JeA{w;j7h0;OIbS+#j%rPFGZ z{GUT<&v)%GdW*&Q)k~h3#ehqf$RX9i$h)mVx97g?W0l^p7jZkTz$VRu;R`vy^WovOLUb?GCXWu&IM|?L_=kK+bxmc< zrP|E4*rMEEkm=-s|BrwoG`C7X0H-7tp8|WH$_SmBF2v#tW7XveUi$6e1wGGLJ(hk= z$4#AO9>F&Y7#}1LfeTS)f!M_97R{S;fdD%&KaNwW?e%%mzL)?o>1&P;ka#ZGCC}DW z8Dp4#z`RP&-XT$)SIrpAbh-Hkxg`{e1EscG6jH>BHi2GgXnlcf89X%oaoo+hHK#82 zVU|7=__`}$_IVCQE@WMet-^MP3<6*T`fZP3=;m7|&#@n!>2Iz^81|ff9scHqwtxZ_ zUW=scyAed#d#Ggy_>VZ$@)&}`GiF!f!*;L2R-p=wP((yfLdCM+(DPrwfanI;fgh2_ z()n*rUhi|zdqoK1B5sM z*XuXKEBNZ1j`)VQ*883xcJZFp9m|K0M7Fwb^~$LnZq0$<5Y1xsDy5QD&BwutRkXm= z`)B?;qa#v2NlG6|uyIrI0j(Ujbog+@=CU+)227e;R%yP?;6d(v;mKVP^L>@kDS`mJ z#@OxgX0#l2Q#g@H6u~b$K~hy@U#r9BDqbm~Q|PtdUL79V({BCp%Glt}$teD(!OBXi zpHKn~mE9Wv1v_J4VIer(aD-E(M80-kTA?7_=VV&%1y}EzjB|IP5ZX5sn8dcMiPDGe zQv;WOK3HfT;O>n7uZ?9AKE4gRQ75Ba4L_2pz$X23)7)_CXnXBjA`DNldI%H zN-NnL5(2^>Q3pwH>3>4OJ{0@?i7jdJ)dzoNDe^bvnRpz##yT2Omy?+M?&oK>yMGGL zWqdOQAmD@C6KTlZ1P9dw-a${iYAu>oe^5Qt{k^u~limZkP=2olxOB-!O8~7H{=bH; z+J8NaqQEurg_-uJ-?4ScPW=lVRq2{Ib3E8lU6n&k>mU`3{8I%zfiF~;;uUWW+UU*u*569u`DHX) z+t1yZOEC@#NXIvcmGtOq7^^jV1Hr@S?>P&Nj9+gW+Zj2b1O!n5Gi_Df0{fa{v_e*u zM_!y9?qh!kbWnJT-2+)@1sy(YRmJgyqmXrpDuGvS2eqYli`+&m&66hC=Eq_bp1I3l zCih%QdaCo>j-742-){7w&D_0A*!{=NTE6OkWhHXWrieAFk7h#rCrs0#^m&xE+eoMu zNL9E~Ge2q--mE_(#g(z$jQBkzJN+H&RpO8NxtDh`z%}ud>BrjiT`W)(g7?IWnnuEC zuNLl~%2ZOe{i~VbQm+RyZ%!knsc*mS{L}RIs6_y0Amz*4!jR>^ z)06$r4x`UHk&fVEBrJ_$q@E}N#zq7;vcJ)$nssQD+oI&S+4VC!x$4-xxvhM7V&pttNGF*;gTU08i&A3 zO5j1kT7%`lr1~CrC4{{ZB#zh}j%W_t3N(1R^h!8GmHH}@N&p-l5VX}9e8HRQbS2!S zg3_{GO-yU|I<-~l#>Qc_y1GN)qEqQ)5$vOztVDyang0y}}WKt11$BZj}p z?IGhPMrjEmjj4&;O=gkW1B2eS3vo^ErLV!Svg>TjWjELWWlESeswLZZ$dd>uWg1Z( zR0Y$+>M7DHvuy~(Mw-BIP8tcI`mh2wCFDWZDDgGd#eaqeE8Q>B1BJWLpK_$XM6q>H zM+^*>tGTfG%T`I}-S|ZSOeJlb`#VeiD{hNMMOPLaM#rl(2`Kj|bU4_j$a&DJTN$H( zt5+e?&jK2iwF)>9ndw|hKV4ewH)2@Smw%RYdMa7S(%6>8o&nCpPB2!OhC}iAHsl)e zxM@uS|5eGb`rh$3(6*lj;_Rfq8Xgw z5&~pWmYSBHUA`gpNlMT0$Bqr#P~$b*bjEZ6Y$tlJwx~a8+p4eHvPuAhl#K*eSb!^6JJKVtr^w=e^tAJX zpr2L-b2=ZGzoM<&wiA5AoSjhHA#cH*;xS!v%ClTj7d0L#6}empl)P@as&$t`^@7rQ zTk%z7;+bmi&boZhS-`fFA`U)eT;QE*j6Dag4a_Q`V4+Uya47k3&#iyXrNtZIi-*)+ z$B`q~#2oWB?>}>Nb*Qn)Z6E>T43=DL$|FnM@^GGyj@6#5(52omaT+|Rlc2BTkgkHv+eMk4Rb4dY~f z5X*s;cr&g&dI5(U7hVeCM3QE7;Vxi2V#>t2rClLA4u-2e$!VR}?FKq^czxIURx>mHfMu7)B5J*Ezc2!gMa5nbO|)Nl`L~a9XdKrNG?hBF2@<<#l?+k zR7s{CxQcT2Hcz6_FkUzL_9F)xCJ_>2XIe~;_hEkR zYu7GeuX7>g!;XPSK#G#T&SMxEu5m)se^B7kf5OiBfC&a^(mp6sYQ9JxR_mZ4u16Pd zUd%KmP)@b*xsY6To&~wC*Xuw-5T+kAW)Xc#;6#(A)(iS9r3EBWtb_Bj0mFlPqWeN+IE zds7n_48hD#LDP7fuT!y#k4@zEKeji(y$+Ecmz zQ4_i0-Nftdzf*#6->AyV%LSVHZ~bLy_>TNS+r?%3n`J9jJTcKhF9#1Ze)*|wrZ{A2 zjIH(Ydz&`Q|N8rDq;+Xx0ULZ^yN_ZG8-lk2cV|=F$fatR+6Bbz%HnS&TA(%@L0{T3 zH}mlBpC1qZ`;Tp1D?n{6td0-%5h|s?r*Z&Xeli<0yasI5X%c|@g9dH@il_dB160wCLG-_Du%No&LxuB(QM5(2lXE#hV_EQD@5Vu%fM?Yq!ZdCy_#rpaC_(YkJ1hhvSi zGnFi_68A`^&m<%Eer8r&8*i8}s<}mA{ih@_+zbHmIA78SkdD)Ec)W%^-(SyHs=4ls zXal^YGLh8sLL;u$ID3RogzA%Gaw8aGP0K2bS2x#;!`E3gjkczx%Q*U8C4nsaJGTco z`XOM#qba&TyQ4zt`4^5zHS18_G+4(KV*fAF-uy4-{r~@e&e|+ZO*Ku^Hcg9ZO3O^U zBs0@C5oVGMg=vu_DJM*X*_$>^gzVFT5Xu_Dw1-d$AxsP6SPI9zCAMZs>I+wIM&CB8yev(@qiq&*ZL22$dYyd; z2V~;%rmzJn3cwbiT}Eu%(4ehaXJ*UHoV*%g=ZeXiv;NDw>9p@?oWOyuQGeKh9+mTHG&qNjA!*DF>zhv_ufLR&HJ_EpBjy^JKNc(LDQA2uI1L5 zsQbJ+uAeG`k24PIu7y!gvy0TuFiL@%o*7@%;i6&Nuy3I%YQ63`U*2gDau}I7nq2C0 zu)}ete1&C8(-n)?bUGxV>{`zWbNXRdVOWX2Ui5b{$0 zJ?>EYmX!OOKIVQgZ4KQbaGDJI^QFY##bNeDFs0jr|#7xT*(aRJ7N!1J^qqP8%&hfA8FG(HYZeKD0w@d*+ zx?E{o+yvap4J26D5PY4+$?8RCBs^M*3#n@&Zle`=PjS}!lc0cZjI7#0^MF=uZ}K+8 zr_aIi3m9yx0e!=CN6VYqaMFHONg~-h?od?9_W;(B$gfgU?0b!nNT+L#1eVS5rCIKlNQollDwh7`oN0 za!=PUn8FnphH*JcB5FZD8x9|DAsJe^+QjQXf_3%WVj|YA?>GFM1i10$%~ILHGOVjQ ze}O%4ppg2SZDX(zg)X0&EupQ^!ef$#__Asd?(44sq7yWO+TTvSp*!X_1ue`hY&RV-KZ}9(h_j2Mn`AGoX#JUr^**TVdXCwAJahh>-T{68TYpN?mY=z=t+j96gj8#@gQlf!CIbS{>A0 zpJ$hwV9_ZFv&_})St68*p45cLUe1i4C27L+rGlN_I^~L1|5-Wzv|yF~6U`L)7;HO2 zYv50*pghzn6x*fcvD3s&`)8;;=~>;7c+>JWrb>km!VA0bMi0kOrtmSJl%ZGZyYO5$g*eg%qINLmkfe z=h^*|(AY*$;%`$6 z{8Id)k!Dgd8(|q(fln<@wCt9k1A;5m+!b<)=D8{$*gk*J`$X$nQJYg)6G5nPpgins z_bZDZO+rez&-CHbNIgf=JGl?LfS{bSwm6G~xH{Zc6Mp}|a?Sph@D;+g<9Bq(C^g`w zGGlx%Rj3@ruPAbf{B%mO!o5#sQOz@^x5Mzhly_DSM-gUZL?MVyke&scyK-^*$B1-C z@`@L5ms}Gp)vev)+YY$%NmhQ&GwwCjoK`;(ODR)ROoM9f?ZPMK#f2umc=TCbf$YJ@ zzMrSBo)j&G)SQ9>1Fa#9sCesIkCtTzL0j+=r>9BC#hM`ua>nl42(8lczVjycLayO^ zkpXS?Slqp#*e%ufi1`5;e}M68@dq)F zL!kM4=Cpsu_-dAsqS(@NEN8UwTed;?u*$PfW_|0%=((Ps0?prC1c@^5l>RXMm8JAZ zT=|>9B8>r{WzkZLrA^~n>80bgWBXn{91dLZ-CeukOZ?ccT*~q8OZcX_HJ`Wy_FmP6 z<-VWxdduD;bO>h6tS`sSWaE$BHa+|v4E^T5{AK>lTv@jE^W$ql-zrM358jWUZM7?& z9DR8H#_{`WeeOyyFSjoFin^*X{LD67 z_Q(*_6mse$cbP`xqNpL=_DO#!NgS*QA?}WejEx8oXrx6k|3VvxWsGu}YlFvk@W5IN<~;`kIr zEM1QeUNs(~O7E7Kc-mjpm)HlamC5XY)oX#PM=CW}?k z;<&XFdGEfcP*5IL3q9Nosd>Z@wIY>ATw{h&Yf^&?DfwkJvv&#e%SYY*eKx!SbRrW* z|G&tj+H*@$m;0hs5&z7@1s64-j9X>oHP}|O^oMz7g4oi)oh>ab4*naO}n)BJ$>5HVLgHx5#j{|An2L*LZUJd_5&X+y5On=eDFM+Dh#lt!Hy{X0PPGisE zvXv6n+ohf^&Kon&Z?wxH_hITpudzP+LEQ-J&I5GWEaptst+=;eu>!=@{}6%U_V(_v9O+t#sA}=Gt4J zJ?m^Ay|E5^y=e}8HgdKaOK!Vl5qNc)IA^7Sco(arGF2O$KWDw)L2>KkDA%BXjm_en zU^c(n{Ef7dG|fI>Fl;x4J8JeTk~ycWB-|%rrvdP-`C+%2$r>4&>(tG~tR2^QnNDjE zOi4s8wMo+(5sBr3#zgHvGtSUCs5&n$%}Lyh{q5`LIZjMcsh${9+B=u#nOLJDD_xTA z6doK{kEbx%r8Mm98V-o|9c1qfs4HV38AHM^9HX=G=LseAidu>ZkrUFQfE~Om#Q|ky z6^d!Yzk2tA-o>tV><0C|zEuNy5b}FC74loIn}NgbUN(%2J^!JXLpcHW8n$fU@6tcMd3 z;`Bc2juTgs_1slZuFrGWO^o^7edvjOdWbv8%XCYU=&=ppCzKB0m$kCHufUj3URrpr z?}@jZM#vV0nV6H<*S}KL|1@Z^VW#g?CiG~DpvQ4VbwcY6)b>GDhDcKXsRlP0H`cU5 z($sb%yn3)c1NF%|tav4c7o6E2^_-u3PJ>bwwM<@N(Q}cDR@?Nfh=7TU_as=@uq4;2@qs+`GkCykc z$m42;Qz88FR@pSJ#S&3Pmj z;@Wryb6zG*=0MM^?+1T>Zb#Ms{IG6E@Ly+FoSpsd+<_z8WBhOa-B%*{f6eI8rgS2& z*>wMyf)Q1LTRerp0?pW>im9F4DFhbqXkqvmnwQ3&RKX7;PD*PE=G!;`1QyCwAtfXz z94)SNSCEeL!mywDwB$^#BOtGP_;JmPFmMw}Db7nZT=cFyoOBAjf>+1aFCO5M4{>&6 zeAU6k3W(Fp0Y+X;AkH}RItB=*p38L)BRmS zjKwsB_7@nq(-PAA1yBtM;`9k{vzJEOzN1xR4SGYsnz-=}Nh^cMDu5aX2^qpLud)P! z7!=?RMx_}3rjgeGj^K15$7R93+lz25yQQro*kRD#7zOQ(I>_N*U7?6Sd@v^f@&)I= zjrT(Kja|??b#KU9+~o}|YiO~3T{r2^?3dEw_1r#OtEbehcZV@=6!CFAfPTl&+vI2=EqdopJ^U9}&d}|f z10&L?;}{7FSvP;vJ^9hoY~-9Zd~|5K6mHE6rG9Sd6X>OIn-7S&r?1A$4%l$4N`m;o zW225&_8Dy*yFV{tP(^9gqSI14qZX7JTs+fM8(bG+(f30RkPRCaj>_3}n+=#_7ws9> z?}&D3nU5dRz@Nq|5~|?Gen@Cm-Q1)V&Kgn_=bV5B!(wDJ?W!d-(wN=V5#%ob8xcB#{Xp>7eF?{!qNsMOE|6${aR^xQy1zEL{mn8CHbi~!XE>JIjHMxo)W`d zVqloL+p4ICHEn(}69aFC+`2=9oW|&hpEWT^dYFoy4rX@O2<4{R$`!0y&WnH;xplSB z)2*SNFvk#ncl7N71hJ&TL3Zflg>b5BOp&FoGENw6VYN#0orD!u zPsWfoefq*Ip`**W29js)-#Q!fuTs)Qf`sg4Qsje?t`9f`TlYcxX0~RJSv3Q}*_n9txB74KA)@yy z28n1pJpXrUfpF}h%xYjFOjbKM1Q8#!VFN$;r6=GWhbm2qn1Bw|Q@9jpqM=l! zb8LNn7W9LBw=mLEUG*SIw)MPIx?5PS#|umLUgzv;94Lw04vB;bz-q1Q-5`%bA#k7?wJh zCg0vU_IBHq3I~@O&JR*MoDhTDlo6JW`!&q6vw_w7>N$V-u%#V^&S-)qhY(nTntL|w$MaL1$!~k_%Vt#H$IvM^KRkc>lq~H%HJ-5`&dr@ZM%Jpc5@xLy#P_ zqHLC7>OVS>qTmK7LWPQOv4U5wnA4z$>Q~I4Q1B_r=m2GmP#G&$3d@z_$q-trTrT9D z8dD~!xd^^0rPB~JZ^6n6tWK4d3gB1JYc>(w6+yl)sXWgyS(U;g4Ao&z)#1CCM%9<_ zH$?=%%R*-5p(S~ngC^8At$8~GpcW=noq}%x&D}A~o|^m;2&UAz=B3EX zPF?D^C3_uRsHioco74xQ%4+!Cm{%wYb>ni*t-7Pb9i-KpOMT8w+vT*|_X#`4@&Rb= zZ6A{O^v;dC#aN0y(L>CxIh5F*GE{+{v$|mU<*Bt|TI?}jE2hBPhh!Mb^4a~@_XlB0 zZOVrB;2&RCzk3vzsKe|-78=cq(vo-A&viQ+Hmm+uwkS2#(86(}$X%Aey5}&Hr6VTA zWfE$l9A%FplSkCAZODI?pD=B~IQ!Y*=mMXIL*?|nB^s|`j>srbt3)P#;nJ`#tSZwj z9ou=3Iqcggb4NUlQUUjOnq={AH0lhQsh$S|h`Rtm)$K;fS(XFmPs*Ab&T3*XXQfgs z2VYr3+PC2}}Zl%S8?R|AuUbFa5zr_X;F(`kp0^%M$M zgqB9qx0UON*3x;2MXc;xE!lnh*Q`*_XLXb=x4O{;uKOc5FEoWUh(T~Kkb3iQ*JBVA zi~WF_MRyZ5N39e|IQgs%16mXJLVn_6*6xQfx7_vt60L`-uT*7nmb5U>!q**s+o_^{ zNd%{0%5IM9PgGB_AJA@lL?+Lu+VSo}`B4{#{G#$A6Luyb*vr@{Gz&TLcz4YKhxqVu zB|9U2(&F7l*Z{l33C8F^TMrhmdU4iH2MQkW`pZOWxy^z1p|_}Dp%|ZVt~Tt!P$|!9 zlfz5{3ToEp&O>Bu^9OQ9?sR2X{s_#2K17c3Xb@kR`_VD;;I%M^$Dc`_mtl>k&eAf4 zUppDnOo3U`6NmI3M#)G5@?0sB+wHiY)R;+gAL5MJz)PCFyh$Xi3jdf9mmNwcYP6n;wAPt#kt^!;JLjK$h9a#^;%LCT-cI z?3-Kvd?^^Y-u6QFlMwJyjtCAI+Blsm9ufci;HNJ$yXT)H*|q6PcH9`d_H_`}>B^gM z5%tGt;r*bAM<)w|FF#8&o3DAVczkB&)2vN5{y&HQ-Wwn3`59-^i*?ljYJ+RT$okoi z4KQ#FO4O_yxS6CmG;=&;rVl6)}@C6V-HB}Pql%Q;& zPE^3nKV_;QBpZSSgxJEDB+LXnEURzwsnW*}G7ne{eC70Pd&5ZtEd-%ilTQ*6$?gx4((Wnl z_`-vgmTml2s{sUF7*%OlrEPa;WEL#5ky})cg}B!wkX!t!tTqeZGsJ_!nV}m^wu{OE zk_^9ozuBR0!c{X5*c(SpwmU}Vo@`@@2J;;IW#{+lVp%5vyOV~r+)>=*+Q53^St~QW z5zrTVsm#D721{NkQhV+^V2~oIB$DmJvaf-kr&-N@cXemNv_A_d4NcdSl0D*wad`K7 zwBcoa8wV}OpGowgz+BaKUWJSxMy2VdXaRJarr|K)d;xHgLto1wO(hyBP&jbgW2Che zrXM~$j+f*iT_xeP&a_zfbij3GhguF04SdTu#gMwi>S7Jb@^pPHWnByTmioO{RFi@K zN3vTV(ZJ2i#4x42)byaJ-jk69TDeKq`)JA~p3e%G3qx#fh}JVNW#N}ZRoXA~dtZL} z!paqruu01yHOd9VQd2H8lh4dL4)wakZF=-==Qt)jFRj-wHcEyquWK*6N!z(rlZdm* z&!81)Mi)#-dmb{-)62D`(_VJnuBLg?t*o(*L0n7V40AFPiV|b&1;y8wI22U85VQ=D z*8kS#77TNrPZ~B~T!VEHN%I+9`z^LHc(Ew^%L`+;1QcMO`q@HJ8ky-?FD{enu3;i2 zPhh;zX)(6Y>YFkw{MO0Gw-!V$~QdcU1lQC@P37x@0 zOf^1OFTLSIJj4L^UX~ihi3VeJN2MrR;JY5v%k$zCgA%i4t*4e`U0!z3)p~L^oYG4? zV&pS`iKndcUW$1pu6uC*(sLQM##F*AwlQ9W8aPyQ1y%5dFiQCIO6zzxjC{eU96sJ; zvN_MdESpVp*gHWEXUf`+!kh$0t`ebDaGdCnfg>pB?$B?j!&jr_(`PB z2O&ncf*BQX2E_7#Hrt94ZSxk(p#M#h-TB80{y%Sg|L$Rs<8Ip|a%(aZo0T9enB$8L zSGiyOHdc)e5D{&G7w7%a}i zp)~2sC4&iX%)8yozlrTFT@I9E!PZIiNbg-gKbPl}FR!K@_gXryVKZv_C4P_3!*{vN zA^Ia{U)xKK#dn79u~>F(z4q8+`zxx&?7too+xAq@1(jc==6S8;hztFi+Qjr8oKnl) zEl3#Yd({Q1$-SbwNHb>m4h^@qyO6Ro93D1pVz|WW_KNn-&fL(QhY4|Twu!By$~KUx zo?NolN%FaiM*2RP#na6F6QW{I8q-2=W9#5m_=6OaQ|Epd>>jjK^F{6|^XLAcb3qz! z;%s5`gc)8xm<{Ivdl!W-L3+1iR|IkANU1hpuNeR0^8}*C|!F| z%quHp|C9DZV|SvDJdK5^I3*)MDGIT06?gDP+{Y_Evv#UT=xIY9jpdzl&)ygtvL7S= z@p%o?X7p)d$5nBWSHblv@wt!WoC}Gb4u`uqXPxtz34A9_zqOp7GyJ#IoHF_~zQOqZum9O{@t0jq z9e@3~i-Z2_pY^-vbHj=EnDP*Cx%#C=LsOe6XN=du2V3m<_C+z(aDXdC`|&v#c2JAu z;AkG^r?ikCFm>az|C83B3_-%opF;|p5y&th8$lW5g&EJO*kSU`kwlNFAWr7-TCZY5 zHyjE89ZnOe0dWLYMB_OIbjvd)m{wO9mE_9-q0-F3!uZip#|zRDS^x{Op}{%PoVL~R ztit%BDx1l@^1w$dY^1K$a1T%69n3C<@xzQyPK1A}|4&huS*l)^I%JZnL(;vz03s^P zL|tA*hmA_-Zx$h}*)4{h{Tbw30LbPAXlO!_7~UeRwu%Dqlq%7 zGl{Az>ZIqLxb6`nO^c_r-K*<8UEs6OQT)uOKP~In^-7DP>M?i4_MU?OqLupDsAk>y2|6Z6T$eL{;JJ*Z$7o z688VN4*|SI*pdZౚ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 reinforcement learning library. + ++ straight_2lane_agents_1 + A single ego must follow a specified leader, with no background traffic. + + .. image:: /_static/driving_smarts_2023/platoon_straight_2lane_agents_1.gif + +Observation space +----------------- + +The underlying environment returns formatted :class:`~smarts.core.observations.Observation` using +:attr:`~smarts.env.utils.observation_conversion.ObservationOptions.multi_agent` +option as observation at each time point. See +:class:`~smarts.env.utils.observation_conversion.ObservationSpacesFormatter` for +a sample formatted observation data structure. + +Action space +------------ + +Action space for each ego agent is :attr:`~smarts.core.controllers.ActionSpaceType.Continuous`. + +Code structure +-------------- + +Users are free to use any training method and any folder structure for training the policy. + +Only the inference code is required for evaluation, and therefore must follow the following +folder structure, naming system, and contents. + +.. code-block:: text + + inference # Main folder. + ├── contrib_policy # Contains code to train a model offline. + │ ├── __init__.py # Primary training script for training a new model. + │ ├── policy.py # Other necessary training files. + | . + | . + | . + ├── submission + | ├── policy.py # A policy with an act method, wrapping the saved model. + | ├── requirements.txt # Dependencies needed to run the model. + | ├── explanation.md # Brief explanation of the key techniques used in developing the submitted model. + | ├── ... # Other necessary files for inference. + | . + | . + ├── __init__.py # Dockerfile to build and run the training code. + ├── MANIFEST.in # Dockerfile to build and run the training code. + ├── setup.cfg # Brief explanation of the key techniques used in developing the submitted model. + └── setup.py # Other necessary files for inference. + +policy.py + Policy(Agent) + +__init__.py + Agent interface: + Using the input argument agent_interface, users may configure all the fields of + :class:`~smarts.core.agent_interface.AgentInterface` except for the (i) accelerometer, + (ii) done_criteria, (iii) max_episode_steps, (iv) neighborhood_vehicle_states, and + (v) waypoint_paths. + +Example +------- + +See the list of :ref:`available zoo agents ` which are compatible with this benchmark. A compatible zoo agent can be run as follows. + +.. code-block:: bash + + $ cd /SMARTS + $ scl zoo install + # e.g., scl zoo install zoo/policies/interaction_aware_motion_prediction + $ scl benchmark run driving_smarts_2023.3==0.0 --auto_install + # e.g., scl benchmark run driving_smarts_2023.3==0.0 zoo.policies:interaction-aware-motion-prediction-agent-v0 --auto-install diff --git a/docs/index.rst b/docs/index.rst index 0bbbe10da2..69add7753d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -56,6 +56,7 @@ If you use SMARTS in your research, please cite the `paper Date: Mon, 10 Apr 2023 23:14:52 -0400 Subject: [PATCH 06/28] Move ObjDict. --- examples/rl/platoon/train/run.py | 2 +- .../rl/platoon/{inference/contrib_policy => train}/utils.py | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename examples/rl/platoon/{inference/contrib_policy => train}/utils.py (100%) diff --git a/examples/rl/platoon/train/run.py b/examples/rl/platoon/train/run.py index 58a22a069b..3213c49f94 100644 --- a/examples/rl/platoon/train/run.py +++ b/examples/rl/platoon/train/run.py @@ -8,7 +8,6 @@ # Load inference module to register agent import inference from contrib_policy import network -from contrib_policy.utils import ObjDict import argparse import warnings @@ -24,6 +23,7 @@ from stable_baselines3.common.callbacks import CheckpointCallback, EvalCallback from stable_baselines3.common.evaluation import evaluate_policy from train.env import make_env +from train.utils import ObjDict print("\nTorch cuda is available: ", th.cuda.is_available(), "\n") warnings.simplefilter("ignore", category=DeprecationWarning) diff --git a/examples/rl/platoon/inference/contrib_policy/utils.py b/examples/rl/platoon/train/utils.py similarity index 100% rename from examples/rl/platoon/inference/contrib_policy/utils.py rename to examples/rl/platoon/train/utils.py From e5ce9c1a432de07b0b12fb9b67d367f4a112a634 Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Tue, 11 Apr 2023 00:53:08 -0400 Subject: [PATCH 07/28] Add docs. --- docs/benchmarks/driving_smarts_2022.rst | 7 +- docs/benchmarks/driving_smarts_2023_3.rst | 204 +++++++++++++++--- docs/examples/platoon.rst | 6 + docs/examples/rl_model.rst | 3 +- examples/rl/platoon/train/README.md | 39 ---- examples/rl/platoon/train/reward.py | 7 +- .../env/gymnasium/driving_smarts_2023_env.py | 12 +- smarts/env/gymnasium/platoon_env.py | 10 +- 8 files changed, 198 insertions(+), 90 deletions(-) create mode 100644 docs/examples/platoon.rst delete mode 100644 examples/rl/platoon/train/README.md diff --git a/docs/benchmarks/driving_smarts_2022.rst b/docs/benchmarks/driving_smarts_2022.rst index ea256c1c40..2d12076976 100644 --- a/docs/benchmarks/driving_smarts_2022.rst +++ b/docs/benchmarks/driving_smarts_2022.rst @@ -62,10 +62,11 @@ This benchmark allows ego agents to use any one of the following action spaces. + :attr:`~smarts.core.controllers.ActionSpaceType.TargetPose` + :attr:`~smarts.core.controllers.ActionSpaceType.RelativeTargetPose` -Trained agents --------------- +Zoo agents +---------- -See the list of :ref:`available zoo agents ` which are compatible with this benchmark. A compatible zoo agent can be run as follows. +See the list of :ref:`available zoo agents ` which are compatible with this benchmark. +A compatible zoo agent can be evaluated in this benchmark as follows. .. code-block:: bash diff --git a/docs/benchmarks/driving_smarts_2023_3.rst b/docs/benchmarks/driving_smarts_2023_3.rst index 94498317d8..c46161ac84 100644 --- a/docs/benchmarks/driving_smarts_2023_3.rst +++ b/docs/benchmarks/driving_smarts_2023_3.rst @@ -47,56 +47,194 @@ a sample formatted observation data structure. Action space ------------ -Action space for each ego agent is :attr:`~smarts.core.controllers.ActionSpaceType.Continuous`. +Action space for each ego is :attr:`~smarts.core.controllers.ActionSpaceType.Continuous`. Code structure -------------- Users are free to use any training method and any folder structure for training the policy. -Only the inference code is required for evaluation, and therefore must follow the following -folder structure, naming system, and contents. +Only the inference code is required for evaluation, and therefore it must follow the folder +structure and certain specified file contents, as explained below. The below files and folders +must be present with identical names. Any additional files may be optionally added by +the user. .. code-block:: text - inference # Main folder. - ├── contrib_policy # Contains code to train a model offline. - │ ├── __init__.py # Primary training script for training a new model. - │ ├── policy.py # Other necessary training files. + inference + ├── contrib_policy + │ ├── __init__.py + │ ├── policy.py | . | . | . - ├── submission - | ├── policy.py # A policy with an act method, wrapping the saved model. - | ├── requirements.txt # Dependencies needed to run the model. - | ├── explanation.md # Brief explanation of the key techniques used in developing the submitted model. - | ├── ... # Other necessary files for inference. - | . - | . - ├── __init__.py # Dockerfile to build and run the training code. - ├── MANIFEST.in # Dockerfile to build and run the training code. - ├── setup.cfg # Brief explanation of the key techniques used in developing the submitted model. - └── setup.py # Other necessary files for inference. - -policy.py - Policy(Agent) - -__init__.py - Agent interface: - Using the input argument agent_interface, users may configure all the fields of - :class:`~smarts.core.agent_interface.AgentInterface` except for the (i) accelerometer, - (ii) done_criteria, (iii) max_episode_steps, (iv) neighborhood_vehicle_states, and - (v) waypoint_paths. - + ├── __init__.py + ├── MANIFEST.in + ├── setup.cfg + └── setup.py + +1. inference/contrib_policy/__init__.py + + Keep this file unchanged. + + It is an empty file. + +2. inference/contrib_policy/policy.py + + Must contain a ``class Policy(Agent)`` class which inherits from :class:`~smarts.core.agent.Agent`. + +3. inference/__init__.py + + Must contain the following template code. + + The template code registers the user's policy in SMARTS agent zoo. + + .. code-block:: python + + from contrib_policy.policy import Policy + + from smarts.core.agent_interface import AgentInterface + from smarts.core.controllers import ActionSpaceType + from smarts.zoo.agent_spec import AgentSpec + from smarts.zoo.registry import register + + + def entry_point(**kwargs): + interface = AgentInterface( + action=ActionSpaceType.<...>, + drivable_area_grid_map=<...>, + lane_positions=<...>, + lidar_point_cloud=<...>, + occupancy_grid_map=<...>, + road_waypoints=<...>, + signals=<...>, + top_down_rgb=<...>, + ) + + agent_params = { + "<...>": <...>, + "<...>": <...>, + } + + return AgentSpec( + interface=interface, + agent_builder=Policy, + agent_params=agent_params, + ) + + register(locator="contrib-agent-v0", entry_point=entry_point) + + + User may fill in the ``<...>`` spaces in the template. + + User may specify the ego's interface by configuring any field of :class:`~smarts.core.agent_interface.AgentInterface`, except + + + :attr:`~smarts.core.agent_interface.AgentInterface.accelerometer`, + + :attr:`~smarts.core.agent_interface.AgentInterface.done_criteria`, + + :attr:`~smarts.core.agent_interface.AgentInterface.max_episode_steps`, + + :attr:`~smarts.core.agent_interface.AgentInterface.neighborhood_vehicle_states`, and + + :attr:`~smarts.core.agent_interface.AgentInterface.waypoint_paths`. + +4. inference/MANIFEST.in + + Contains any file paths to be included in the package. + +5. inference/setup.cfg + + Must contain the following template code. + + The template code helps build the user policy into a Python package. + + .. code-block:: cfg + + [metadata] + name = <...> + version = 0.1.0 + url = https://github.com/huawei-noah/SMARTS + description = SMARTS zoo agent. + long_description = <...>. See [SMARTS](https://github.com/huawei-noah/SMARTS). + long_description_content_type=text/markdown + classifiers= + Programming Language :: Python + Programming Language :: Python :: 3 :: Only + Programming Language :: Python :: 3.8 + + [options] + packages = find: + include_package_data = True + zip_safe = True + python_requires = == 3.8.* + install_requires = + <...>==<...> + <...>==<...> + + + User may fill in the ``<...>`` spaces in the template. + + User should provide a name for their policy in the ``long_description`` section. + +6. inference/setup.py + + Keep this file and its default contents unchanged. + + Its default contents are shown below. + + .. code-block:: python + + from setuptools import setup + + if __name__ == "__main__": + setup() + Example ------- -See the list of :ref:`available zoo agents ` which are compatible with this benchmark. A compatible zoo agent can be run as follows. +An example training and inference code is provided for this benchmark. +See the :examples:`rl/platoon` example. Instructions for training and evaluating +the example is as follows. + +Train +^^^^^ ++ Setup + + .. code-block:: bash + + # In terminal-A + $ cd /SMARTS/examples/rl/platoon + $ python3.8 -m venv ./.venv + $ source ./.venv/bin/activate + $ pip install --upgrade pip wheel + $ pip install -e ./../../../.[camera_obs,argoverse] + $ pip install -e ./inference/ + ++ Train without visualization + + .. code-block:: bash + + # In terminal-A + $ python3.8 train/run.py + ++ Train with visualization + + .. code-block:: bash + + # In terminal-A + $ python3.8 train/run.py --head + + .. code-block:: bash + + # In a different terminal-B + $ scl envision start + # Open http://localhost:8081/ + +Evaluate +^^^^^^^^ ++ Evaluate locally + + .. code-block:: bash + + $ cd /SMARTS + $ python3.8 -m venv ./.venv + $ source ./.venv/bin/activate + $ pip install --upgrade pip wheel + $ pip install -e .[camera_obs,argoverse] + $ scl zoo install examples/rl/platoon/inference + $ scl benchmark run driving_smarts_2023_3 examples.rl.platoon.inference:contrib-agent-v0 --auto-install + + +Zoo agents +---------- + +A compatible zoo agent can be evaluated in this benchmark as follows. .. code-block:: bash $ cd /SMARTS $ scl zoo install - # e.g., scl zoo install zoo/policies/interaction_aware_motion_prediction - $ scl benchmark run driving_smarts_2023.3==0.0 --auto_install - # e.g., scl benchmark run driving_smarts_2023.3==0.0 zoo.policies:interaction-aware-motion-prediction-agent-v0 --auto-install + $ scl benchmark run driving_smarts_2023_3==0.0 --auto_install diff --git a/docs/examples/platoon.rst b/docs/examples/platoon.rst new file mode 100644 index 0000000000..86d6ece7bd --- /dev/null +++ b/docs/examples/platoon.rst @@ -0,0 +1,6 @@ +.. _platoon: + +Platoon +======= + +This example was developed in conjunction with the :ref:`driving_smarts_2023.3 ` benchmark, hence refer to it for details. diff --git a/docs/examples/rl_model.rst b/docs/examples/rl_model.rst index 08812482c7..929a32eb0a 100644 --- a/docs/examples/rl_model.rst +++ b/docs/examples/rl_model.rst @@ -7,4 +7,5 @@ RL Model :maxdepth: 1 intersection.md - racing.md \ No newline at end of file + racing.md + platoon.rst \ No newline at end of file diff --git a/examples/rl/platoon/train/README.md b/examples/rl/platoon/train/README.md deleted file mode 100644 index e27d079372..0000000000 --- a/examples/rl/platoon/train/README.md +++ /dev/null @@ -1,39 +0,0 @@ -## Instructions - -## Train -+ Setup - ```bash - # In terminal-A - $ cd /SMARTS/examples/rl/platoon - $ python3.8 -m venv ./.venv - $ source ./.venv/bin/activate - $ pip install --upgrade pip wheel - $ pip install -e ./../../../.[camera_obs,argoverse] - $ pip install -e ./inference/ - ``` -+ Train without visualization - ```bash - # In terminal-A - $ python3.8 train/run.py - ``` -+ Train with visualization - ```bash - # In terminal-A - $ python3.8 train/run.py --head - ``` - ```bash - # In a different terminal-B - $ scl envision start - # Open http://localhost:8081/ - ``` - -## Evaluate -```bash -$ cd /SMARTS -$ python3.8 -m venv ./.venv -$ source ./.venv/bin/activate -$ pip install --upgrade pip wheel -$ pip install -e .[camera_obs,argoverse] -$ scl zoo install examples/rl/platoon/inference -$ scl benchmark run driving_smarts_2023 examples.rl.platoon.inference:contrib-agent-v0 --auto-install -``` \ No newline at end of file diff --git a/examples/rl/platoon/train/reward.py b/examples/rl/platoon/train/reward.py index 950570560b..efb8d88ac5 100644 --- a/examples/rl/platoon/train/reward.py +++ b/examples/rl/platoon/train/reward.py @@ -42,8 +42,7 @@ def step(self, action): elif agent_obs["events"]["reached_max_episode_steps"]: print(f"{agent_id}: Reached max episode steps.") elif ( - agent_obs["events"]["collisions"] - | agent_obs["events"]["off_road"] + agent_obs["events"]["collisions"] | agent_obs["events"]["off_road"] ): pass elif agent_obs["events"]["agents_alive_done"]: @@ -71,7 +70,9 @@ def _reward(self, obs, env_reward): neighbor_vehicles = _get_neighbor_vehicles( obs=agent_obs, neighbor_name=leader_name ) - max_agent_steps_completed = max(max_agent_steps_completed, agent_obs["steps_completed"]) + max_agent_steps_completed = max( + max_agent_steps_completed, agent_obs["steps_completed"] + ) if neighbor_vehicles: leader = neighbor_vehicles[0] break diff --git a/smarts/env/gymnasium/driving_smarts_2023_env.py b/smarts/env/gymnasium/driving_smarts_2023_env.py index 562d747f7f..bde83a4b7a 100644 --- a/smarts/env/gymnasium/driving_smarts_2023_env.py +++ b/smarts/env/gymnasium/driving_smarts_2023_env.py @@ -56,9 +56,9 @@ def driving_smarts_2023_env( specified by their mission goals. Observation space for each agent: - Formatted :class:`~smarts.core.observations.Observation` using + Formatted :class:`~smarts.core.observations.Observation` using :attr:`~smarts.env.utils.observation_conversion.ObservationOptions.multi_agent` - option is returned as observation. See + option is returned as observation. See :class:`~smarts.env.utils.observation_conversion.ObservationSpacesFormatter` for a sample formatted observation data structure. @@ -66,10 +66,10 @@ def driving_smarts_2023_env( Action space for each agent is :attr:`~smarts.core.controllers.ActionSpaceType.Continuous`. Agent interface: - Using the input argument agent_interface, users may configure all the fields of - :class:`~smarts.core.agent_interface.AgentInterface` except for the (i) accelerometer, - (ii) done_criteria, (iii) max_episode_steps, (iv) neighborhood_vehicle_states, and - (v) waypoint_paths. + Using the input argument agent_interface, users may configure all the fields of + :class:`~smarts.core.agent_interface.AgentInterface` except for the (i) accelerometer, + (ii) done_criteria, (iii) max_episode_steps, (iv) neighborhood_vehicle_states, and + (v) waypoint_paths. Reward: Default reward is distance travelled (in meters) in each step, including the termination step. diff --git a/smarts/env/gymnasium/platoon_env.py b/smarts/env/gymnasium/platoon_env.py index 424b29f43a..9c351f010a 100644 --- a/smarts/env/gymnasium/platoon_env.py +++ b/smarts/env/gymnasium/platoon_env.py @@ -54,15 +54,15 @@ def platoon_env( ): """Each ego is supposed to track and follow its specified leader (i.e., lead vehicle) in a single file or in a platoon fashion. Name of the lead vehicle - to be followed is given to the ego through its + to be followed is given to the ego through its :attr:`~smarts.core.agent_interface.ActorsAliveDoneCriteria.actors_of_interest` attribute. - The episode ends for an ego when its assigned leader reaches the leader's + The episode ends for an ego when its assigned leader reaches the leader's destination. Egos do not have prior knowledge of the leader's destination. Observation space for each agent: - Formatted :class:`~smarts.core.observations.Observation` using + Formatted :class:`~smarts.core.observations.Observation` using :attr:`~smarts.env.utils.observation_conversion.ObservationOptions.multi_agent` - option is returned as observation. See + option is returned as observation. See :class:`~smarts.env.utils.observation_conversion.ObservationSpacesFormatter` for a sample formatted observation data structure. @@ -77,7 +77,7 @@ def platoon_env( 1. Lead vehicle reaches its pre-programmed destination. 2. Steps per episode exceed 1000. - 3. Agent collides or drives off road. + 3. Agent collides or drives off road. Args: scenario (str): Scenario name or path to scenario folder. From e8f51fa330845f5d2de14374dd2248a1c7df4108 Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Tue, 11 Apr 2023 01:05:01 -0400 Subject: [PATCH 08/28] Add docs. --- docs/benchmarks/driving_smarts_2023_3.rst | 17 ++++++++++++++--- docs/examples/platoon.rst | 2 +- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/docs/benchmarks/driving_smarts_2023_3.rst b/docs/benchmarks/driving_smarts_2023_3.rst index c46161ac84..b067b1a971 100644 --- a/docs/benchmarks/driving_smarts_2023_3.rst +++ b/docs/benchmarks/driving_smarts_2023_3.rst @@ -193,14 +193,14 @@ Train $ pip install -e ./../../../.[camera_obs,argoverse] $ pip install -e ./inference/ -+ Train without visualization ++ Train locally without visualization .. code-block:: bash # In terminal-A $ python3.8 train/run.py -+ Train with visualization ++ Train locally with visualization .. code-block:: bash @@ -213,6 +213,18 @@ Train $ scl envision start # Open http://localhost:8081/ +Docker +^^^^^^ ++ Train inside docker + + .. code-block:: bash + + $ cd /SMARTS + $ docker build --file=./examples/rl/platoon/train/Dockerfile --network=host --tag=platoon . + $ docker run --rm -it --network=host --gpus=all platoon + (container) $ cd /SMARTS/examples/rl/platoon + (container) $ python3.8 train/run.py + Evaluate ^^^^^^^^ + Evaluate locally @@ -227,7 +239,6 @@ Evaluate $ scl zoo install examples/rl/platoon/inference $ scl benchmark run driving_smarts_2023_3 examples.rl.platoon.inference:contrib-agent-v0 --auto-install - Zoo agents ---------- diff --git a/docs/examples/platoon.rst b/docs/examples/platoon.rst index 86d6ece7bd..ca3b216fad 100644 --- a/docs/examples/platoon.rst +++ b/docs/examples/platoon.rst @@ -3,4 +3,4 @@ Platoon ======= -This example was developed in conjunction with the :ref:`driving_smarts_2023.3 ` benchmark, hence refer to it for details. +This example was developed in conjunction with the :ref:`Driving SMARTS 2023.3 ` benchmark, hence refer to it for details. From c2914b3ae1897ecb56e8e706f8f92c126c0b0ec2 Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Tue, 11 Apr 2023 01:15:43 -0400 Subject: [PATCH 09/28] Add docs. --- docs/benchmarks/driving_smarts_2023_3.rst | 11 +++++++---- .../rl/platoon/inference/contrib_policy/policy.py | 1 - 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/benchmarks/driving_smarts_2023_3.rst b/docs/benchmarks/driving_smarts_2023_3.rst index b067b1a971..90678640e0 100644 --- a/docs/benchmarks/driving_smarts_2023_3.rst +++ b/docs/benchmarks/driving_smarts_2023_3.rst @@ -27,8 +27,7 @@ Any method such as reinforcement learning, offline reinforcement learning, behav predictive models, etc, may be used to develop the policy. Several scenarios are provided for training. Their names and tasks are as follows. -The desired task execution is illustrated by a trained baseline agent, which uses PPO algorithm from -`Stable Baselines3 `_ reinforcement learning library. +The desired task execution is illustrated in a gif by a trained baseline agent. + straight_2lane_agents_1 A single ego must follow a specified leader, with no background traffic. @@ -176,8 +175,9 @@ Example ------- An example training and inference code is provided for this benchmark. -See the :examples:`rl/platoon` example. Instructions for training and evaluating -the example is as follows. +See the :examples:`rl/platoon` example. The example uses PPO algorithm from +`Stable Baselines3 `_ reinforcement learning library. +Instructions for training and evaluating the example is as follows. Train ^^^^^ @@ -213,6 +213,8 @@ Train $ scl envision start # Open http://localhost:8081/ ++ Trained models are saved inside the ``/SMARTS/examples/rl/platoon/train/logs/`` folder. + Docker ^^^^^^ + Train inside docker @@ -227,6 +229,7 @@ Docker Evaluate ^^^^^^^^ ++ Choose a desired saved model from the previous training step, rename it as ``saved_model.zip``, and move it to ``/SMARTS/examples/rl/platoon/inference/contrib_policy/saved_model.zip``. + Evaluate locally .. code-block:: bash diff --git a/examples/rl/platoon/inference/contrib_policy/policy.py b/examples/rl/platoon/inference/contrib_policy/policy.py index 0aeb3c1b41..c64c603ebb 100644 --- a/examples/rl/platoon/inference/contrib_policy/policy.py +++ b/examples/rl/platoon/inference/contrib_policy/policy.py @@ -39,7 +39,6 @@ def __init__(self, num_stack, top_down_rgb, action_space_type): self._format_action = FormatAction(action_space_type=action_space_type) self.action_space = self._format_action.action_space - print("Policy initialised.") def act(self, obs): """Mandatory act function to be implemented by user.""" From 5c0eb0bfb9707fe36301343d2eafaf79167603fe Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Tue, 11 Apr 2023 07:55:38 -0400 Subject: [PATCH 10/28] Add docs. --- docs/benchmarks/driving_smarts_2023_3.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/benchmarks/driving_smarts_2023_3.rst b/docs/benchmarks/driving_smarts_2023_3.rst index 90678640e0..c04786dd0a 100644 --- a/docs/benchmarks/driving_smarts_2023_3.rst +++ b/docs/benchmarks/driving_smarts_2023_3.rst @@ -213,7 +213,7 @@ Train $ scl envision start # Open http://localhost:8081/ -+ Trained models are saved inside the ``/SMARTS/examples/rl/platoon/train/logs/`` folder. ++ Trained models are saved by default inside the ``/SMARTS/examples/rl/platoon/train/logs/`` folder. Docker ^^^^^^ From 852c58ea91d8e6dcfb5cd704255eb81e75f70ea9 Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Tue, 11 Apr 2023 08:06:26 -0400 Subject: [PATCH 11/28] Update url. --- smarts/benchmark/driving_smarts/v2022/config.yaml | 4 ++-- smarts/benchmark/driving_smarts/v2023/config.yaml | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/smarts/benchmark/driving_smarts/v2022/config.yaml b/smarts/benchmark/driving_smarts/v2022/config.yaml index 66bf71fa2c..8daf2982b2 100644 --- a/smarts/benchmark/driving_smarts/v2022/config.yaml +++ b/smarts/benchmark/driving_smarts/v2022/config.yaml @@ -3,14 +3,14 @@ benchmark: name: "Driving SMARTS 2022" message: | # A useful message given at the start of the benchmark. - This is a cleaned up version of the Driving SMARTS benchmark. + This is the Driving SMARTS 2022 benchmark. Using `TargetPose` agent action has an applied 28m/s cap for agent motion. Using `RelativeTargetPose` agent action, the constraint is inbuilt into the action space. For history see: - - https://codalab.lisn.upsaclay.fr/competitions/6618 - https://smarts-project.github.io/archive/2022_nips_driving_smarts/ + - https://codalab.lisn.upsaclay.fr/competitions/6618 eval_episodes: 50 debug: serial: False diff --git a/smarts/benchmark/driving_smarts/v2023/config.yaml b/smarts/benchmark/driving_smarts/v2023/config.yaml index e9233f3b96..73326cfa7a 100644 --- a/smarts/benchmark/driving_smarts/v2023/config.yaml +++ b/smarts/benchmark/driving_smarts/v2023/config.yaml @@ -3,10 +3,11 @@ benchmark: name: "Driving SMARTS 2023" message: | # A useful message given at the start of the benchmark. - This is the `Driving SMARTS` 2023 benchmark. + This is the Driving SMARTS 2023 benchmark. + For context see: + - https://smarts-project.github.io/competition/2023_driving_smarts/ - https://codalab.lisn.upsaclay.fr/competitions/ - - https://smarts-project.github.io/archive/ eval_episodes: 20 debug: serial: True From 959b5c9379df0a41e5bf612ce6c259e661f82f99 Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Tue, 11 Apr 2023 12:48:00 -0400 Subject: [PATCH 12/28] Break up benchmark 2023 into 3 parts. --- smarts/benchmark/benchmark_listing.yaml | 29 ++++++++++++--- .../driving_smarts/v2023/config.yaml | 36 ------------------- .../driving_smarts/v2023/config_1.yaml | 22 ++++++++++++ .../driving_smarts/v2023/config_2.yaml | 22 ++++++++++++ .../driving_smarts/v2023/config_3.yaml | 23 ++++++++++++ 5 files changed, 91 insertions(+), 41 deletions(-) delete mode 100644 smarts/benchmark/driving_smarts/v2023/config.yaml create mode 100644 smarts/benchmark/driving_smarts/v2023/config_1.yaml create mode 100644 smarts/benchmark/driving_smarts/v2023/config_2.yaml create mode 100644 smarts/benchmark/driving_smarts/v2023/config_3.yaml diff --git a/smarts/benchmark/benchmark_listing.yaml b/smarts/benchmark/benchmark_listing.yaml index 0d5ca56044..226bee50dc 100644 --- a/smarts/benchmark/benchmark_listing.yaml +++ b/smarts/benchmark/benchmark_listing.yaml @@ -11,14 +11,33 @@ benchmarks: requirements: ["ray<=2.2.0,>2.0"] params: benchmark_config: ${{smarts.benchmark.driving_smarts.v2022}}/config.yaml - - driving_smarts_2023: - name: "Driving SMARTS 2023" + + driving_smarts_2023_1: + name: "Driving SMARTS 2023.1" + versions: + - + version: 0.0 + entrypoint: "smarts.benchmark.entrypoints.benchmark_runner_v0.benchmark_from_configs" + requirements: ["ray<=2.2.0,>2.0"] + params: + benchmark_config: ${{smarts.benchmark.driving_smarts.v2023}}/config_1.yaml + + driving_smarts_2023_2: + name: "Driving SMARTS 2023.2" + versions: + - + version: 0.0 + entrypoint: "smarts.benchmark.entrypoints.benchmark_runner_v0.benchmark_from_configs" + requirements: ["ray<=2.2.0,>2.0"] + params: + benchmark_config: ${{smarts.benchmark.driving_smarts.v2023}}/config_2.yaml + + driving_smarts_2023_3: + name: "Driving SMARTS 2023.3" versions: - version: 0.0 entrypoint: "smarts.benchmark.entrypoints.benchmark_runner_v0.benchmark_from_configs" requirements: ["ray<=2.2.0,>2.0"] params: - benchmark_config: ${{smarts.benchmark.driving_smarts.v2023}}/config.yaml - \ No newline at end of file + benchmark_config: ${{smarts.benchmark.driving_smarts.v2023}}/config_3.yaml diff --git a/smarts/benchmark/driving_smarts/v2023/config.yaml b/smarts/benchmark/driving_smarts/v2023/config.yaml deleted file mode 100644 index 73326cfa7a..0000000000 --- a/smarts/benchmark/driving_smarts/v2023/config.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# smarts/benchmark/driving_smarts_v2023/config.yaml ---- -benchmark: - name: "Driving SMARTS 2023" - message: | # A useful message given at the start of the benchmark. - This is the Driving SMARTS 2023 benchmark. - - For context see: - - https://smarts-project.github.io/competition/2023_driving_smarts/ - - https://codalab.lisn.upsaclay.fr/competitions/ - eval_episodes: 20 - debug: - serial: True - shared_env_kwargs: - seed: 42 - headless: True - envs: - standard: - loc: "smarts.env:driving-smarts-v2023" - scenarios: - - scenarios/sumo/straight/3lane_cruise_agents_1 - kwargs: - seed: 42 - turns: - loc: "smarts.env:driving-smarts-v2023" - scenarios: - - scenarios/sumo/intersections/1_to_2lane_left_turn_c_agents_1 - kwargs: - seed: 42 - platoon: - loc: "smarts.env:platoon" - scenarios: - - scenarios/sumo/platoon/straight_sumo_t_agents_1 - kwargs: - seed: 42 - # metric_formula: smarts/benchmark/driving_smarts/v2023/metric_formula_platoon.py diff --git a/smarts/benchmark/driving_smarts/v2023/config_1.yaml b/smarts/benchmark/driving_smarts/v2023/config_1.yaml new file mode 100644 index 0000000000..9596a271b2 --- /dev/null +++ b/smarts/benchmark/driving_smarts/v2023/config_1.yaml @@ -0,0 +1,22 @@ +--- +benchmark: + name: "Driving SMARTS 2023.1" + message: | + This is the Driving SMARTS 2023.1 benchmark. + + For context see: + - https://smarts-project.github.io/competition/2023_driving_smarts/ + - https://codalab.lisn.upsaclay.fr/competitions/ + eval_episodes: 50 + debug: + serial: True + shared_env_kwargs: + seed: 42 + headless: True + envs: + standard: + loc: "smarts.env:driving-smarts-v2023" + scenarios: + - scenarios/sumo/straight/3lane_cruise_agents_1 + kwargs: + seed: 42 diff --git a/smarts/benchmark/driving_smarts/v2023/config_2.yaml b/smarts/benchmark/driving_smarts/v2023/config_2.yaml new file mode 100644 index 0000000000..ed9d023f6d --- /dev/null +++ b/smarts/benchmark/driving_smarts/v2023/config_2.yaml @@ -0,0 +1,22 @@ +--- +benchmark: + name: "Driving SMARTS 2023.2" + message: | + This is the Driving SMARTS 2023.2 benchmark. + + For context see: + - https://smarts-project.github.io/competition/2023_driving_smarts/ + - https://codalab.lisn.upsaclay.fr/competitions/ + eval_episodes: 50 + debug: + serial: True + shared_env_kwargs: + seed: 42 + headless: True + envs: + turns: + loc: "smarts.env:driving-smarts-v2023" + scenarios: + - scenarios/sumo/intersections/1_to_2lane_left_turn_c_agents_1 + kwargs: + seed: 42 diff --git a/smarts/benchmark/driving_smarts/v2023/config_3.yaml b/smarts/benchmark/driving_smarts/v2023/config_3.yaml new file mode 100644 index 0000000000..b14320d850 --- /dev/null +++ b/smarts/benchmark/driving_smarts/v2023/config_3.yaml @@ -0,0 +1,23 @@ +--- +benchmark: + name: "Driving SMARTS 2023.3" + message: | + This is the Driving SMARTS 2023.3 benchmark. + + For context see: + - https://smarts-project.github.io/competition/2023_driving_smarts/ + - https://codalab.lisn.upsaclay.fr/competitions/ + eval_episodes: 50 + debug: + serial: True + shared_env_kwargs: + seed: 42 + headless: True + envs: + platoon: + loc: "smarts.env:platoon" + scenarios: + - scenarios/sumo/platoon/straight_sumo_t_agents_1 + kwargs: + seed: 42 + # metric_formula: smarts/benchmark/driving_smarts/v2023/metric_formula_platoon.py From c14b2c4ed8ec240f2dff2eb8b155bd5f7be13a52 Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Tue, 11 Apr 2023 13:20:48 -0400 Subject: [PATCH 13/28] Add changelog. --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc5f464db2..1d52d7685e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ Copy and pasting the git commit messages is __NOT__ enough. - Added a new entry tactic, `IdEntryTactic`, which provides the scenario the ability to select a specific actor for an agent to take over. - Registered a new `chase-via-points-agent-v0` agent in agent zoo, which can effectively chase via points across different road sections by using the waypoints. - Added new driving-smarts-v2023 benchmark consisting of new (i) driving-smarts-v2023 env and (ii) platoon-v0 env. +- Documented the challenge objective, desired inference code structure, and use of baseline example, for Driving SMARTS 2023.3 benchmark, i.e., platooning task. +- Added baseline example, consisting of training, inference, and zoo agent registration, for the platooning task in Driving SMARTS 2023.3 benchmark. ### Changed - The trap manager, `TrapManager`, is now a subclass of `ActorCaptureManager`. - Considering lane-change time ranges between 3s and 6s, assuming a speed of 13.89m/s, the via sensor lane acquisition range was increased from 40m to 80m, for better driving ability. From 1d7886164c5ec03cd3d2e74eaaec95cb0ebd15e8 Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Tue, 11 Apr 2023 13:54:48 -0400 Subject: [PATCH 14/28] Improve docstring. --- smarts/env/gymnasium/driving_smarts_2023_env.py | 12 ++++++++---- smarts/env/gymnasium/platoon_env.py | 14 ++++++++++++-- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/smarts/env/gymnasium/driving_smarts_2023_env.py b/smarts/env/gymnasium/driving_smarts_2023_env.py index bde83a4b7a..583ef65f60 100644 --- a/smarts/env/gymnasium/driving_smarts_2023_env.py +++ b/smarts/env/gymnasium/driving_smarts_2023_env.py @@ -66,10 +66,14 @@ def driving_smarts_2023_env( Action space for each agent is :attr:`~smarts.core.controllers.ActionSpaceType.Continuous`. Agent interface: - Using the input argument agent_interface, users may configure all the fields of - :class:`~smarts.core.agent_interface.AgentInterface` except for the (i) accelerometer, - (ii) done_criteria, (iii) max_episode_steps, (iv) neighborhood_vehicle_states, and - (v) waypoint_paths. + Using the input argument agent_interface, users may configure any field of + :class:`~smarts.core.agent_interface.AgentInterface`, except + + + :attr:`~smarts.core.agent_interface.AgentInterface.accelerometer`, + + :attr:`~smarts.core.agent_interface.AgentInterface.done_criteria`, + + :attr:`~smarts.core.agent_interface.AgentInterface.max_episode_steps`, + + :attr:`~smarts.core.agent_interface.AgentInterface.neighborhood_vehicle_states`, and + + :attr:`~smarts.core.agent_interface.AgentInterface.waypoint_paths`. Reward: Default reward is distance travelled (in meters) in each step, including the termination step. diff --git a/smarts/env/gymnasium/platoon_env.py b/smarts/env/gymnasium/platoon_env.py index 9c351f010a..c138e49e90 100644 --- a/smarts/env/gymnasium/platoon_env.py +++ b/smarts/env/gymnasium/platoon_env.py @@ -54,10 +54,10 @@ def platoon_env( ): """Each ego is supposed to track and follow its specified leader (i.e., lead vehicle) in a single file or in a platoon fashion. Name of the lead vehicle - to be followed is given to the ego through its + to track is given to the ego through its :attr:`~smarts.core.agent_interface.ActorsAliveDoneCriteria.actors_of_interest` attribute. The episode ends for an ego when its assigned leader reaches the leader's - destination. Egos do not have prior knowledge of the leader's destination. + destination. Egos do not have prior knowledge of their assigned leader's destination. Observation space for each agent: Formatted :class:`~smarts.core.observations.Observation` using @@ -69,6 +69,16 @@ def platoon_env( Action space for each agent: Action space for each agent is :attr:`~smarts.core.controllers.ActionSpaceType.Continuous`. + Agent interface: + Using the input argument agent_interface, users may configure any field of + :class:`~smarts.core.agent_interface.AgentInterface`, except + + + :attr:`~smarts.core.agent_interface.AgentInterface.accelerometer`, + + :attr:`~smarts.core.agent_interface.AgentInterface.done_criteria`, + + :attr:`~smarts.core.agent_interface.AgentInterface.max_episode_steps`, + + :attr:`~smarts.core.agent_interface.AgentInterface.neighborhood_vehicle_states`, and + + :attr:`~smarts.core.agent_interface.AgentInterface.waypoint_paths`. + Reward: Default reward is distance travelled (in meters) in each step, including the termination step. From d18231a99bae50ecff21f52bb06fecf08641e683 Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Tue, 11 Apr 2023 14:41:38 -0400 Subject: [PATCH 15/28] Rectify environment locator string. --- smarts/benchmark/driving_smarts/v2023/config_3.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smarts/benchmark/driving_smarts/v2023/config_3.yaml b/smarts/benchmark/driving_smarts/v2023/config_3.yaml index b14320d850..5ddef7f031 100644 --- a/smarts/benchmark/driving_smarts/v2023/config_3.yaml +++ b/smarts/benchmark/driving_smarts/v2023/config_3.yaml @@ -15,7 +15,7 @@ benchmark: headless: True envs: platoon: - loc: "smarts.env:platoon" + loc: "smarts.env:platoon-v0" scenarios: - scenarios/sumo/platoon/straight_sumo_t_agents_1 kwargs: From ce3685a0ffb641597425693f6e8c656a2613485c Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Tue, 11 Apr 2023 22:54:36 -0400 Subject: [PATCH 16/28] Update docs. --- docs/benchmarks/driving_smarts_2023_3.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/benchmarks/driving_smarts_2023_3.rst b/docs/benchmarks/driving_smarts_2023_3.rst index c04786dd0a..67f2896842 100644 --- a/docs/benchmarks/driving_smarts_2023_3.rst +++ b/docs/benchmarks/driving_smarts_2023_3.rst @@ -158,7 +158,8 @@ the user. <...>==<...> + User may fill in the ``<...>`` spaces in the template. - + User should provide a name for their policy in the ``long_description`` section. + + User should provide a name for their policy and describe it in the ``name`` and ``long_description`` sections, respectively. + + Do **not** add SMARTS package as a dependency in the ``install_requires`` section. 6. inference/setup.py + Keep this file and its default contents unchanged. From 011edb8398eae90e6769b861e9a497726edcf4b5 Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Wed, 12 Apr 2023 09:49:47 -0400 Subject: [PATCH 17/28] Add image. --- docs/benchmarks/driving_smarts_2023_3.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/benchmarks/driving_smarts_2023_3.rst b/docs/benchmarks/driving_smarts_2023_3.rst index 67f2896842..b76245d4da 100644 --- a/docs/benchmarks/driving_smarts_2023_3.rst +++ b/docs/benchmarks/driving_smarts_2023_3.rst @@ -20,6 +20,12 @@ Each ego is supposed to track and follow its specified leader (i.e., lead vehicl platoon fashion. Name of the lead vehicle to be followed is given to the ego through its :attr:`~smarts.core.agent_interface.ActorsAliveDoneCriteria.actors_of_interest` attribute. +.. figure:: ../_static/driving_smarts_2023/vehicle_following.png + + (Left) At the start of episode, egos start tracking the lead vehicle. (Right) After a while, egos follow the + lead vehicle in a single-file fashion or in a platooning manner. Here, egos are in red, lead vehicle is in green, + and background traffic is in blue. + The episode ends for an ego when its assigned leader reaches the leader's destination. Egos do not have prior knowledge of the leader's destination. From 1dfdd6197cf530d56b4d0d0ba9f775cc07375c5d Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Wed, 12 Apr 2023 12:55:33 -0400 Subject: [PATCH 18/28] Disable sumo gui and change leader id into regexp. --- examples/rl/platoon/train/config.yaml | 3 +-- smarts/env/gymnasium/platoon_env.py | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/rl/platoon/train/config.yaml b/examples/rl/platoon/train/config.yaml index 8eb80791b6..8400eb1a3d 100644 --- a/examples/rl/platoon/train/config.yaml +++ b/examples/rl/platoon/train/config.yaml @@ -1,7 +1,6 @@ smarts: # Environment - head: False # If True, enables Envision display. - sumo_gui: True # If True, enables sumo-gui display. + sumo_gui: False # If True, enables sumo-gui display. seed: 42 agent_locator: inference:contrib-agent-v0 env_id: smarts.env:platoon-v0 diff --git a/smarts/env/gymnasium/platoon_env.py b/smarts/env/gymnasium/platoon_env.py index c138e49e90..0589c8a7bd 100644 --- a/smarts/env/gymnasium/platoon_env.py +++ b/smarts/env/gymnasium/platoon_env.py @@ -163,7 +163,7 @@ def resolve_agent_interface(agent_interface: AgentInterface): wrong_way=False, not_moving=False, actors_alive=ActorsAliveDoneCriteria( - actors_of_interest=("Leader-007",), + actors_of_interest=(".*Leader-007",), strict=True, ), ) From 7e3edbb0da178b3b099fbb50c823375a6c8c6dca Mon Sep 17 00:00:00 2001 From: adai Date: Wed, 12 Apr 2023 15:16:10 -0400 Subject: [PATCH 19/28] Update docs/benchmarks/driving_smarts_2023_3.rst Co-authored-by: Tucker Alban --- docs/benchmarks/driving_smarts_2023_3.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/benchmarks/driving_smarts_2023_3.rst b/docs/benchmarks/driving_smarts_2023_3.rst index b76245d4da..52396f95b5 100644 --- a/docs/benchmarks/driving_smarts_2023_3.rst +++ b/docs/benchmarks/driving_smarts_2023_3.rst @@ -13,8 +13,8 @@ Objective is to develop a single-ego policy capable of controlling a single ego In a scenario with multiple egos, a single-ego policy is copied and pasted into every ego. Each ego is stepped independently by calling their respective :attr:`~smarts.core.agent.Agent.act` function. In short, multiple - egos are executed in a distributed manner. The single-ego policy should be capable of accounting for and - interacting with other egos, if any are present. + policies are executed in a distributed manner. The single-ego policy should be capable of accounting for and + interacting with other ego vehicles, if any are present. Each ego is supposed to track and follow its specified leader (i.e., lead vehicle) in a single file or in a platoon fashion. Name of the lead vehicle to be followed is given to the ego through its From 827890d1475d38e519038adbeabfc1ef5023ae24 Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Wed, 12 Apr 2023 15:18:27 -0400 Subject: [PATCH 20/28] Address reviews. --- .../driving_smarts_2023/vehicle_following.png | Bin 0 -> 61366 bytes docs/benchmarks/driving_smarts_2023_3.rst | 18 +++++++++--------- smarts/env/gymnasium/platoon_env.py | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) create mode 100644 docs/_static/driving_smarts_2023/vehicle_following.png diff --git a/docs/_static/driving_smarts_2023/vehicle_following.png b/docs/_static/driving_smarts_2023/vehicle_following.png new file mode 100644 index 0000000000000000000000000000000000000000..d89a6d2928791b1fc3bbaaa090e1691da83d873e GIT binary patch literal 61366 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 Date: Wed, 12 Apr 2023 15:54:33 -0400 Subject: [PATCH 21/28] Replaced incorrect image. --- .../driving_smarts_2023/vehicle_following.png | Bin 61366 -> 57704 bytes docs/benchmarks/driving_smarts_2023_3.rst | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/_static/driving_smarts_2023/vehicle_following.png b/docs/_static/driving_smarts_2023/vehicle_following.png index d89a6d2928791b1fc3bbaaa090e1691da83d873e..ded0b6a35500e8c3a17c3bb1f61b49b753926748 100644 GIT binary patch literal 57704 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 literal 61366 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 Date: Wed, 12 Apr 2023 17:06:04 -0400 Subject: [PATCH 22/28] Start envision before running script. --- docs/benchmarks/driving_smarts_2023_3.rst | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/benchmarks/driving_smarts_2023_3.rst b/docs/benchmarks/driving_smarts_2023_3.rst index 20a36ea94c..5e5c5201a0 100644 --- a/docs/benchmarks/driving_smarts_2023_3.rst +++ b/docs/benchmarks/driving_smarts_2023_3.rst @@ -209,17 +209,19 @@ Train + Train locally with visualization - .. code-block:: bash - - # In terminal-A - $ python3.8 train/run.py --head - .. code-block:: bash # In a different terminal-B + $ cd /SMARTS/examples/rl/platoon + $ source ./.venv/bin/activate $ scl envision start # Open http://localhost:8081/ + .. code-block:: bash + + # In terminal-A + $ python3.8 train/run.py --head + + Trained models are saved by default inside the ``/SMARTS/examples/rl/platoon/train/logs/`` folder. Docker From 2f507f6d0f8fd0f9f4cd0f8e221493033a056561 Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Thu, 13 Apr 2023 15:30:02 -0400 Subject: [PATCH 23/28] Include zip file in package. --- examples/rl/platoon/inference/MANIFEST.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/rl/platoon/inference/MANIFEST.in b/examples/rl/platoon/inference/MANIFEST.in index 105677e865..1fbfa76dbd 100644 --- a/examples/rl/platoon/inference/MANIFEST.in +++ b/examples/rl/platoon/inference/MANIFEST.in @@ -1 +1 @@ -include */*.pth \ No newline at end of file +include */*.zip \ No newline at end of file From 85276ba3675c1da1a7b1fecbeb940222b48cbf9b Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Thu, 13 Apr 2023 16:49:51 -0400 Subject: [PATCH 24/28] Add vehicle following scenario on merge exit map. --- examples/rl/platoon/train/config.yaml | 2 +- .../merge_exit_sumo_t_agents_1/map.net.xml | 123 ++++++++++++++++++ .../merge_exit_sumo_t_agents_1/scenario.py | 109 ++++++++++++++++ .../driving_smarts/v2023/config_3.yaml | 2 +- 4 files changed, 234 insertions(+), 2 deletions(-) create mode 100644 scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/map.net.xml create mode 100644 scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/scenario.py diff --git a/examples/rl/platoon/train/config.yaml b/examples/rl/platoon/train/config.yaml index 8400eb1a3d..0eb347937f 100644 --- a/examples/rl/platoon/train/config.yaml +++ b/examples/rl/platoon/train/config.yaml @@ -5,7 +5,7 @@ smarts: agent_locator: inference:contrib-agent-v0 env_id: smarts.env:platoon-v0 scenarios: - - scenarios/sumo/platoon/straight_sumo_t_agents_1 + - scenarios/sumo/platoon/merge_exit_sumo_t_agents_1 # PPO algorithm alg: diff --git a/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/map.net.xml b/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/map.net.xml new file mode 100644 index 0000000000..1f20c0a6b7 --- /dev/null +++ b/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/map.net.xml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/scenario.py b/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/scenario.py new file mode 100644 index 0000000000..00084d2199 --- /dev/null +++ b/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/scenario.py @@ -0,0 +1,109 @@ +import random +from itertools import combinations, product +from pathlib import Path + +from smarts.core.colors import Colors +from smarts.sstudio import gen_scenario +from smarts.sstudio.types import ( + Distribution, + EndlessMission, + Flow, + Route, + Scenario, + ScenarioMetadata, + Traffic, + TrafficActor, + TrapEntryTactic, + Trip, +) + +normal = TrafficActor( + name="car", + speed=Distribution(sigma=0.5, mean=1.0), +) + +leader = TrafficActor( + name="Leader-007", + depart_speed=0, +) + +# Social path = (start_lane, end_lane) +social_paths = [ + (0, 0), + (0, 1), + (0, 2), + (1, 0), + (1, 1), + (1, 2), + (2, 0), + (2, 1), + (2, 2), +] +min_flows = 3 +max_flows = 5 +social_comb = [ + com + for elems in range(min_flows, max_flows + 1) + for com in combinations(social_paths, elems) +] + +# Leader path = (start_lane, end_lane) +leader_paths = [0, 1, 2] + +# Overall routes +route_comb = product(social_comb, leader_paths) + +traffic = {} +for name, (social_path, leader_path) in enumerate(route_comb): + traffic[str(name)] = Traffic( + engine="SUMO", + flows=[ + Flow( + route=Route( + begin=("E1", r[0], 0), + end=("E3", r[1], "max"), + ), + # Random flow rate, between x and y vehicles per minute. + rate=60 * random.uniform(3, 4), + # Random flow start time, between x and y seconds. + begin=random.uniform(0, 5), + # For an episode with maximum_episode_steps=3000 and step + # time=0.1s, maximum episode time=300s. Hence, traffic set to + # end at 900s, which is greater than maximum episode time of + # 300s. + end=60 * 15, + actors={normal: 1}, + randomly_spaced=True, + ) + for r in social_path + ], + trips=[ + Trip( + vehicle_name="Leader-007", + route=Route( + begin=("E0", leader_path, 15), + end=("E4", 0, "max"), + ), + depart=19, + actor=leader, + ), + ], + ) + + +ego_missions = [ + EndlessMission( + begin=("E0", 2, 5), + start_time=20, + entry_tactic=TrapEntryTactic(wait_to_hijack_limit_s=0, default_entry_speed=0), + ) # Delayed start, to ensure road has prior traffic. +] + +gen_scenario( + scenario=Scenario( + traffic=traffic, + ego_missions=ego_missions, + scenario_metadata=ScenarioMetadata("Leader-007", Colors.Blue), + ), + output_dir=Path(__file__).parent, +) diff --git a/smarts/benchmark/driving_smarts/v2023/config_3.yaml b/smarts/benchmark/driving_smarts/v2023/config_3.yaml index 5ddef7f031..067564dc6b 100644 --- a/smarts/benchmark/driving_smarts/v2023/config_3.yaml +++ b/smarts/benchmark/driving_smarts/v2023/config_3.yaml @@ -17,7 +17,7 @@ benchmark: platoon: loc: "smarts.env:platoon-v0" scenarios: - - scenarios/sumo/platoon/straight_sumo_t_agents_1 + - scenarios/sumo/platoon/merge_exit_sumo_t_agents_1 kwargs: seed: 42 # metric_formula: smarts/benchmark/driving_smarts/v2023/metric_formula_platoon.py From 298fad887e13d54b558150beab09572c778b148f Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Thu, 13 Apr 2023 16:51:55 -0400 Subject: [PATCH 25/28] Remove extra unwanted file. --- examples/rl/platoon/inference/README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 examples/rl/platoon/inference/README.md diff --git a/examples/rl/platoon/inference/README.md b/examples/rl/platoon/inference/README.md deleted file mode 100644 index e69de29bb2..0000000000 From bdade2959ac963fa4710a3a3a3c0d1fea94590ae Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Thu, 13 Apr 2023 17:22:20 -0400 Subject: [PATCH 26/28] Add mapspec. --- .../sumo/platoon/merge_exit_sumo_t_agents_1/scenario.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/scenario.py b/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/scenario.py index 00084d2199..67032724d1 100644 --- a/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/scenario.py +++ b/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/scenario.py @@ -8,6 +8,7 @@ Distribution, EndlessMission, Flow, + MapSpec, Route, Scenario, ScenarioMetadata, @@ -104,6 +105,10 @@ traffic=traffic, ego_missions=ego_missions, scenario_metadata=ScenarioMetadata("Leader-007", Colors.Blue), + map_spec=MapSpec( + source=Path(__file__).parent.absolute(), + lanepoint_spacing=1.0, + ), ), output_dir=Path(__file__).parent, ) From 259f3b67357716c0ee245ade861e9819eb80c27b Mon Sep 17 00:00:00 2001 From: adaickalavan Date: Fri, 14 Apr 2023 08:46:12 -0400 Subject: [PATCH 27/28] Fix pytype. --- .../platoon/merge_exit_sumo_t_agents_1/scenario.py | 4 ---- smarts/env/gymnasium/driving_smarts_2023_env.py | 12 ++++++------ smarts/env/gymnasium/platoon_env.py | 12 ++++++------ smarts/sstudio/types.py | 2 +- 4 files changed, 13 insertions(+), 17 deletions(-) diff --git a/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/scenario.py b/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/scenario.py index 67032724d1..1823bacd98 100644 --- a/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/scenario.py +++ b/scenarios/sumo/platoon/merge_exit_sumo_t_agents_1/scenario.py @@ -105,10 +105,6 @@ traffic=traffic, ego_missions=ego_missions, scenario_metadata=ScenarioMetadata("Leader-007", Colors.Blue), - map_spec=MapSpec( - source=Path(__file__).parent.absolute(), - lanepoint_spacing=1.0, - ), ), output_dir=Path(__file__).parent, ) diff --git a/smarts/env/gymnasium/driving_smarts_2023_env.py b/smarts/env/gymnasium/driving_smarts_2023_env.py index 583ef65f60..badee0eb1c 100644 --- a/smarts/env/gymnasium/driving_smarts_2023_env.py +++ b/smarts/env/gymnasium/driving_smarts_2023_env.py @@ -68,12 +68,12 @@ def driving_smarts_2023_env( Agent interface: Using the input argument agent_interface, users may configure any field of :class:`~smarts.core.agent_interface.AgentInterface`, except - - + :attr:`~smarts.core.agent_interface.AgentInterface.accelerometer`, - + :attr:`~smarts.core.agent_interface.AgentInterface.done_criteria`, - + :attr:`~smarts.core.agent_interface.AgentInterface.max_episode_steps`, - + :attr:`~smarts.core.agent_interface.AgentInterface.neighborhood_vehicle_states`, and - + :attr:`~smarts.core.agent_interface.AgentInterface.waypoint_paths`. + + + :attr:`~smarts.core.agent_interface.AgentInterface.accelerometer`, + + :attr:`~smarts.core.agent_interface.AgentInterface.done_criteria`, + + :attr:`~smarts.core.agent_interface.AgentInterface.max_episode_steps`, + + :attr:`~smarts.core.agent_interface.AgentInterface.neighborhood_vehicle_states`, and + + :attr:`~smarts.core.agent_interface.AgentInterface.waypoint_paths`. Reward: Default reward is distance travelled (in meters) in each step, including the termination step. diff --git a/smarts/env/gymnasium/platoon_env.py b/smarts/env/gymnasium/platoon_env.py index ef14f3e2a4..30a96c6138 100644 --- a/smarts/env/gymnasium/platoon_env.py +++ b/smarts/env/gymnasium/platoon_env.py @@ -72,12 +72,12 @@ def platoon_env( Agent interface: Using the input argument agent_interface, users may configure any field of :class:`~smarts.core.agent_interface.AgentInterface`, except - - + :attr:`~smarts.core.agent_interface.AgentInterface.accelerometer`, - + :attr:`~smarts.core.agent_interface.AgentInterface.done_criteria`, - + :attr:`~smarts.core.agent_interface.AgentInterface.max_episode_steps`, - + :attr:`~smarts.core.agent_interface.AgentInterface.neighborhood_vehicle_states`, and - + :attr:`~smarts.core.agent_interface.AgentInterface.waypoint_paths`. + + + :attr:`~smarts.core.agent_interface.AgentInterface.accelerometer`, + + :attr:`~smarts.core.agent_interface.AgentInterface.done_criteria`, + + :attr:`~smarts.core.agent_interface.AgentInterface.max_episode_steps`, + + :attr:`~smarts.core.agent_interface.AgentInterface.neighborhood_vehicle_states`, and + + :attr:`~smarts.core.agent_interface.AgentInterface.waypoint_paths`. Reward: Default reward is distance travelled (in meters) in each step, including the termination step. diff --git a/smarts/sstudio/types.py b/smarts/sstudio/types.py index c66c9a8e46..c7f0e9cac1 100644 --- a/smarts/sstudio/types.py +++ b/smarts/sstudio/types.py @@ -1114,7 +1114,7 @@ class Scenario: """Specifies the road map.""" traffic: Optional[Dict[str, Traffic]] = None """Background traffic vehicle specification.""" - ego_missions: Optional[Sequence[Mission]] = None + ego_missions: Optional[Sequence[Union[Mission, EndlessMission]]] = None """Ego agent missions.""" social_agent_missions: Optional[ Dict[str, Tuple[Sequence[SocialAgentActor], Sequence[Mission]]] From 49146ca0790a01cf67338abd8326534d931a0c20 Mon Sep 17 00:00:00 2001 From: adai Date: Fri, 14 Apr 2023 09:25:51 -0400 Subject: [PATCH 28/28] Edit changelog to include addition of new scenario. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index afdec706c9..ce744eddb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Copy and pasting the git commit messages is __NOT__ enough. - Added new driving-smarts-v2023 benchmark consisting of new (i) driving-smarts-v2023 env and (ii) platoon-v0 env. - Added baseline example, consisting of training, inference, and zoo agent registration, for the platooning task in Driving SMARTS 2023.3 benchmark. - Documented the challenge objective, desired inference code structure, and use of baseline example, for Driving SMARTS 2023.3 benchmark, i.e., platooning task. +- Added a new scenario consisting of merge-exit map, sumo lead vehicle, and traffic, for the vehicle-following task. ### Changed - The trap manager, `TrapManager`, is now a subclass of `ActorCaptureManager`. - Considering lane-change time ranges between 3s and 6s, assuming a speed of 13.89m/s, the via sensor lane acquisition range was increased from 40m to 80m, for better driving ability.