From 2b22f9ee4a88c059beebab9c390f59fc97271fdd Mon Sep 17 00:00:00 2001 From: manuel83 Date: Mon, 3 Dec 2018 22:16:03 +0100 Subject: [PATCH] First Version of Step Controller --- .idea/workspace.xml | 1581 +++++++++++++++++------- core/api/step.py | 11 + core/controller/actor_controller.py | 14 +- core/controller/kettle_controller.py | 12 +- core/controller/plugin_controller.py | 6 +- core/controller/step_controller.py | 63 +- core/craftbeerpi.py | 8 + core/eventbus.py | 9 +- core/eventbus3.py | 132 -- core/extension/dummyactor/__init__.py | 2 +- core/extension/dummylogic/__init__.py | 15 +- core/extension/dummysensor/__init__.py | 7 +- core/extension/dummystep/__init__.py | 25 + core/extension/dummystep/config.yaml | 2 + core/websocket.py | 11 +- craftbeerpi.db | Bin 49152 -> 49152 bytes hello.mp3 | Bin 0 -> 67296 bytes hello3.mp3 | Bin 0 -> 4992 bytes main2.py | 12 +- tests/test_kettle.py | 17 +- 20 files changed, 1343 insertions(+), 584 deletions(-) create mode 100644 core/api/step.py delete mode 100644 core/eventbus3.py create mode 100644 core/extension/dummystep/__init__.py create mode 100644 core/extension/dummystep/config.yaml create mode 100644 hello.mp3 create mode 100644 hello3.mp3 diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 779ef2a..c3f9428 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,16 +2,22 @@ - + + + + - + + + + - - - + + + - - - - + - - + + + + + @@ -998,7 +1725,6 @@ - @@ -1040,154 +1766,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1219,16 +1797,6 @@ - - - - - - - - - - @@ -1236,14 +1804,6 @@ - - - - - - - - @@ -1251,26 +1811,11 @@ - - - - - - - - - - - - - - - - + @@ -1282,24 +1827,6 @@ - - - - - - - - - - - - - - - - - - @@ -1316,22 +1843,6 @@ - - - - - - - - - - - - - - - - @@ -1345,7 +1856,7 @@ - + @@ -1355,25 +1866,17 @@ - + - - - - - - - - - + @@ -1386,36 +1889,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1424,14 +1897,6 @@ - - - - - - - - @@ -1440,20 +1905,304 @@ - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/core/api/step.py b/core/api/step.py new file mode 100644 index 0000000..8c29c35 --- /dev/null +++ b/core/api/step.py @@ -0,0 +1,11 @@ +class Step(object): + + def __init__(self, key=None, cbpi=None): + self.cbpi = cbpi + self.id = key + + async def run(self): + pass + + def stop(self): + pass \ No newline at end of file diff --git a/core/controller/actor_controller.py b/core/controller/actor_controller.py index 7da1cc0..ab67996 100644 --- a/core/controller/actor_controller.py +++ b/core/controller/actor_controller.py @@ -17,7 +17,7 @@ class ActorHttp(HttpAPI): :return: """ id = int(request.match_info['id']) - self.cbpi.bus.fire(topic="actor/%s/on" % id, id=id, power=99) + self.cbpi.bus.fire(topic="actor/%s/switch/on" % id, id=id, power=99) return web.Response(status=204) @@ -90,16 +90,10 @@ class ActorController(ActorHttp, CRUDController): self.cache[id].instance = clazz(**cfg) print("gpIO", self.cache[id].instance, self.cache[id].instance.gpio) - @on_event(topic="actor/1/on") - def on1(self, **kwargs) -> None: - print("WOOOOHOOO111111") - - @on_event(topic="actor/1/on") - def on3(self, **kwargs) -> None: - print("WOOOOHOOO22222") - @on_event(topic="actor/+/on") + + @on_event(topic="actor/+/switch/on") def on(self, id , power=100, **kwargs) -> None: ''' Method to switch an actor on. @@ -115,7 +109,7 @@ class ActorController(ActorHttp, CRUDController): if id in self.cache: print("POWER ON") actor = self.cache[id ].instance - print("ONNNNN", actor) + self.cbpi.bus.fire("actor/%s/on/ok" % id) actor.on(power) @on_event(topic="actor/+/toggle") diff --git a/core/controller/kettle_controller.py b/core/controller/kettle_controller.py index 9817e4e..b9d0e7a 100644 --- a/core/controller/kettle_controller.py +++ b/core/controller/kettle_controller.py @@ -1,3 +1,5 @@ +import re + from aiohttp import web from core.api import request_mapping, on_event @@ -76,11 +78,13 @@ class KettleController(CRUDController): @on_event(topic="job/done") def job_stop(self, key, **kwargs) -> None: - name = key.split("_") - kettle = self.cache[int(name[2])] - kettle.instance = None + match = re.match("kettle_logic_(\d+)", key) + if match is not None: + kid = match.group(1) + kettle = self.cache[int(kid)] + kettle.instance = None - print("STOP KETTLE LOGIC", int(name[2])) + print("STOP KETTLE LOGIC", kid) @on_event(topic="kettle/+/automatic") async def handle_automtic_event(self, id, **kwargs): diff --git a/core/controller/plugin_controller.py b/core/controller/plugin_controller.py index 574d838..e5f3aa4 100644 --- a/core/controller/plugin_controller.py +++ b/core/controller/plugin_controller.py @@ -13,6 +13,7 @@ from core.api.extension import CBPiExtension from core.api.kettle_logic import CBPiKettleLogic from core.api.property import Property from core.api.sensor import CBPiSensor +from core.api.step import Step from core.utils.utils import load_config, json_dumps logger = logging.getLogger(__file__) @@ -101,13 +102,16 @@ class PluginController(): if issubclass(clazz, CBPiKettleLogic): self.cbpi.kettle.types[name] = {"class": clazz, "config": self._parse_props(clazz)} + if issubclass(clazz, Step): + print("NAME", name) + self.cbpi.step.types[name] = {"class": clazz, "config": self._parse_props(clazz)} if issubclass(clazz, CBPiExtension): self.c = clazz(self.cbpi) def _parse_props(self, cls): - + print("PARSE", cls) name = cls.__name__ result = {"name": name, "class": cls, "properties": [], "actions": []} diff --git a/core/controller/step_controller.py b/core/controller/step_controller.py index d7a1a56..c71490d 100644 --- a/core/controller/step_controller.py +++ b/core/controller/step_controller.py @@ -1,8 +1,69 @@ +import asyncio +from aiohttp import web +from core.api import on_event, request_mapping + class StepController(): + def __init__(self, cbpi): + self.cbpi = cbpi + self.types = {} + self.steps = { + 1: dict(name="S1", config=dict(time=1), type="CustomStep", state=None), + 2: dict(name="S2", config=dict(time=1), type="CustomStep", state=None), + 3: dict(name="S3", config=dict(time=1), type="CustomStep", state=None) + } + self.current_step = None + self.cbpi.register(self, "/step") - async def start(self): + async def init(self): + #self.start() pass + @request_mapping(path="/start", auth_required=False) + async def http_start(self, request): + self.cbpi.bus.fire("step/start") + return web.Response(text="OK") + + @request_mapping(path="/reset", auth_required=False) + async def http_reset(self, request): + self.cbpi.bus.fire("step/reset") + return web.Response(text="OK") + + @on_event("step/start") + def handle_start(self, topic, **kwargs): + self.start() + + @on_event("step/reset") + def handle_rest(self, topic, **kwargs): + for key, step in self.steps.items(): + step["state"] = None + + self.current_step = Nonecd + + @on_event("step/+/done") + def handle(self, topic, **kwargs): + self.start() + + def _step_done(self, task): + self.steps[self.current_step.id]["state"] = "D" + step_id = self.current_step.id + self.current_step = None + self.cbpi.bus.fire("step/%s/done" % step_id) + + def start(self): + + if self.current_step is None: + loop = asyncio.get_event_loop() + open_step = False + for key, step in self.steps.items(): + if step["state"] is None: + type = self.types.get(step["type"]) + self.current_step = type["class"](key, self.cbpi) + task = loop.create_task(self.current_step.run()) + task.add_done_callback(self._step_done) + open_step = True + break + if open_step == False: + self.cbpi.bus.fire("step/berwing/finished") async def stop(self): pass diff --git a/core/craftbeerpi.py b/core/craftbeerpi.py index 661c91f..1b01073 100644 --- a/core/craftbeerpi.py +++ b/core/craftbeerpi.py @@ -12,6 +12,7 @@ from aiohttp_swagger import setup_swagger from core.controller.config_controller import ConfigController from core.controller.kettle_controller import KettleController +from core.controller.step_controller import StepController from core.job.aiohttp import setup, get_scheduler_from_app from core.controller.actor_controller import ActorController @@ -58,10 +59,13 @@ class CraftBeerPi(): self.system = SystemController(self) self.config2 = ConfigController(self) self.kettle = KettleController(self) + self.step = StepController(self) self.notification = NotificationController(self) self.login = Login(self) + self.register_events(self.ws) + def register_events(self, obj): @@ -173,6 +177,7 @@ class CraftBeerPi(): switcher[http_method]() if url_prefix is not None: + print("Prefx", url_prefix) sub = web.Application() sub.add_routes(routes) self.app.add_subapp(url_prefix, sub) @@ -230,11 +235,14 @@ class CraftBeerPi(): async def init_controller(app): await self.sensor.init() + await self.step.init() await self.actor.init() await self.kettle.init() + import pprint pprint.pprint(self.bus.dump()) + async def load_plugins(app): #await PluginController.load_plugin_list() await self.plugin.load_plugins() diff --git a/core/eventbus.py b/core/eventbus.py index b9cb89e..09f360d 100644 --- a/core/eventbus.py +++ b/core/eventbus.py @@ -71,7 +71,7 @@ class EventBus(object): print(self.loop) def fire(self, topic: str, **kwargs) -> None: - self.logger.info("EMIT EVENT %s", topic) + self.logger.info("EMIT EVENT %s Data: %s", topic, kwargs) trx = dict(i=0) for e in self.iter_match(topic): @@ -91,10 +91,7 @@ class EventBus(object): else: content_obj.method(**kwargs, topic = topic) - #if inspect.iscoroutinefunction(content_obj.method): - # self.loop.create_task(content_obj.method(**kwargs, trx=trx, topic=topic)) - #else: - # content_obj.method(**kwargs, trx=trx, topic=topic) + if content_obj.once is False: keep_idx.append(idx) @@ -102,7 +99,7 @@ class EventBus(object): if len(keep_idx) < len(e): e[0].parent._content = [e[0].parent._content[i] for i in keep_idx] - print("DONE", trx) + def dump(self): def rec(node, i=0): diff --git a/core/eventbus3.py b/core/eventbus3.py deleted file mode 100644 index d6b0cfd..0000000 --- a/core/eventbus3.py +++ /dev/null @@ -1,132 +0,0 @@ -import inspect -import logging - -class EventBus(object): - - def __init__(self, cbpi): - self.logger = logging.getLogger(__name__) - self._root = self.Node() - self.registry = {} - self.docs = {} - self.cbpi = cbpi - - class Node(object): - __slots__ = '_children', '_content' - - def __init__(self): - self._children = {} - self._content = None - - - class Content(object): - def __init__(self, parent, topic, method, once): - - self.parent = parent - self.method = method - self.name = method.__name__ - self.once = once - self.topic = topic - - def register(self, topic, method, once=False): - print("REGISTER", topic, method) - if method in self.registry: - raise RuntimeError("Method %s already registerd. Please unregister first!" % method.__name__) - self.logger.info("Topic %s", topic) - - node = self._root - for sym in topic.split('/'): - node = node._children.setdefault(sym, self.Node()) - - if not isinstance(node._content, list): - node._content = [] - - - c = self.Content(node, topic, method, once) - - - node._content.append(c) - print(c, node._content, topic) - self.registry[method] = c - - - - def get_callbacks(self, key): - try: - node = self._root - for sym in key.split('/'): - node = node._children[sym] - if node._content is None: - raise KeyError(key) - return node._content - except KeyError: - raise KeyError(key) - - - def unregister(self, method): - self.logger.info("Unregister %s", method.__name__) - if method in self.registry: - content = self.registry[method] - clean_idx = None - for idx, content_obj in enumerate(content.parent._content): - if method == content_obj.method: - clean_idx = idx - break - if clean_idx is not None: - del content.parent._content[clean_idx] - - - - def fire(self, topic: str, **kwargs) -> None: - - self.logger.info("EMIT EVENT %s", topic) - - cleanup_methods = [] - for content_array in self.iter_match(topic): - - print(content_array) - cleanup = [] - for idx, content_obj in enumerate(content_array): - - if inspect.iscoroutinefunction(content_obj.method): - if hasattr(content_obj.method, "future"): - - self.cbpi.app.loop.create_task(content_obj.method(**kwargs, future=content_obj.method.future, topic=topic)) - else: - self.cbpi.app.loop.create_task(content_obj.method(**kwargs, topic = topic)) - else: - if hasattr(content_obj.method, "future"): - content_obj.method(**kwargs, future=content_obj.method.future, topic=topic) - else: - content_obj.method(**kwargs, topic = topic) - - if content_obj.once is True: - cleanup.append(idx) - for idx in cleanup: - del content_array[idx] - - - - - def iter_match(self, topic): - - lst = topic.split('/') - normal = not topic.startswith('$') - - def rec(node, i=0): - if i == len(lst): - if node._content is not None: - yield node._content - else: - part = lst[i] - if part in node._children: - for content in rec(node._children[part], i + 1): - yield content - if '+' in node._children and (normal or i > 0): - for content in rec(node._children['+'], i + 1): - yield content - if '#' in node._children and (normal or i > 0): - content = node._children['#']._content - if content is not None: - yield content - - return rec(self._root) diff --git a/core/extension/dummyactor/__init__.py b/core/extension/dummyactor/__init__.py index 779c21d..a1a701c 100644 --- a/core/extension/dummyactor/__init__.py +++ b/core/extension/dummyactor/__init__.py @@ -23,7 +23,7 @@ class CustomActor(CBPiActor): def on(self, power=100): - print("###### ON", self.gpio) + self.state = True diff --git a/core/extension/dummylogic/__init__.py b/core/extension/dummylogic/__init__.py index 6448635..fe300ea 100644 --- a/core/extension/dummylogic/__init__.py +++ b/core/extension/dummylogic/__init__.py @@ -48,12 +48,15 @@ class CustomLogic(CBPiKettleLogic): async def run(self): - async def my_callback(id, **kwargs): - self.cbpi.bus.unregister(my_callback) - kwargs["future"].set_result("AMAZING") - return "OK" + async def my_callback(value, **kwargs): - result = await self.wait_for_event("actor/+/on", callback=my_callback) + if value == 5: + self.cbpi.bus.unregister(my_callback) + kwargs["future"].set_result("AMAZING") + else: + print("OTHER VALUE", value) + + result = await self.wait_for_event("sensor/1", callback=my_callback) print("THE RESULT", result) @@ -68,7 +71,7 @@ class CustomLogic(CBPiKettleLogic): break await asyncio.sleep(1) ''' - print("STOP LOGIC") + print("YES IM FINISHED STOP LOGIC") def setup(cbpi): diff --git a/core/extension/dummysensor/__init__.py b/core/extension/dummysensor/__init__.py index b67df42..fa43818 100644 --- a/core/extension/dummysensor/__init__.py +++ b/core/extension/dummysensor/__init__.py @@ -1,5 +1,6 @@ import asyncio import logging +import random from core.api import CBPiActor, Property, action, background_task from core.api.sensor import CBPiSensor @@ -27,10 +28,12 @@ class CustomSensor(CBPiSensor): async def run(self, cbpi): self.value = 0 while True: - await asyncio.sleep(self.interval) + #await asyncio.sleep(self.interval) + await asyncio.sleep(random.uniform(0, 1)) self.value = self.value + 1 - print("SENSOR IS RUNNING") + cbpi.bus.fire("sensor/%s" % self.id, value=self.value) + print("SENSOR IS RUNNING", self.value) diff --git a/core/extension/dummystep/__init__.py b/core/extension/dummystep/__init__.py new file mode 100644 index 0000000..5849202 --- /dev/null +++ b/core/extension/dummystep/__init__.py @@ -0,0 +1,25 @@ +import asyncio + +from core.api.step import Step + + +class CustomStep(Step): + + async def run(self): + i = 0 + while i < 3: + await asyncio.sleep(1) + print("RUN STEP") + i = i + 1 + + +def setup(cbpi): + ''' + This method is called by the server during startup + Here you need to register your plugins at the server + + :param cbpi: the cbpi core + :return: + ''' + + cbpi.plugin.register("CustomStep", CustomStep) diff --git a/core/extension/dummystep/config.yaml b/core/extension/dummystep/config.yaml new file mode 100644 index 0000000..0029445 --- /dev/null +++ b/core/extension/dummystep/config.yaml @@ -0,0 +1,2 @@ +name: Manuel +version: 4 \ No newline at end of file diff --git a/core/websocket.py b/core/websocket.py index 9fa9cc3..5b6f3d5 100644 --- a/core/websocket.py +++ b/core/websocket.py @@ -1,11 +1,13 @@ import logging import weakref from collections import defaultdict - +import json import aiohttp from aiohttp import web from typing import Iterable, Callable +from core.api import on_event + class WebSocket: def __init__(self, cbpi) -> None: @@ -15,6 +17,13 @@ class WebSocket: self.logger = logging.getLogger(__name__) self.cbpi.app.add_routes([web.get('/ws', self.websocket_handler)]) + @on_event(topic="#") + async def listen(self, topic, **kwargs): + print("WS", topic) + + self.send(json.dumps(dict(topic=topic, data=dict(**kwargs)))) + + def send(self, data): for ws in self._clients: diff --git a/craftbeerpi.db b/craftbeerpi.db index b1b4b4e9b4b5bcc796ea228580a662bcc214a1da..18711b13d1721eb4484745bc48071f6b243de141 100644 GIT binary patch delta 312 zcmZo@U~Xt&o*>QWJ5k1&(RX9Q5_=H_0R{&C+kDTE;buXBbA0s*9IOods+u9rrNt%r zxxuM<#rZ|mN||{jsYPXpIZ9SWwG0dl7YV9ZF9641XZYs i16`6@Tw;XFF~%StF)*l#g49hm@t0yW+Wg<2u>b(wie)(f delta 210 zcmZo@U~Xt&o*>QWHc`fz(QRYG5_=&={@V=vxA_AQaI>I*C_jrbBP+w?`~LFv#!pM1w&GcOPouKOY(DrQ}c@Ri>g5q({V}E;gU$jCE|-_h&2s0Ftghf&c&j diff --git a/hello.mp3 b/hello.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..85f633e5e36bc6c3056a3dc2671e86ec09e62bce GIT binary patch literal 67296 zcmdSgbx>5{-ze}yr@$^95=)4rl%#}ocXxLq5|Yv#3)0e(D&3NT0@B@}ARy98bKYHl zGxz@U{`KCucjlfMYG?TDcfaR3=lMQyz%!Wv0OBWmiK0jW?DlPBi^br;SV?%&<&tcB zkAv&A4rAV4yCZ>AjXwMB%w3&dtLfw7kZbpILWXIu)>)Cz@Kr^TcngR)j!=XJ`d^~c zOKy0NAbo5S%kmVIWl4aU6VKpNVsVtsXN|um0s1-}G@=3X;ELQ4_uH47uM6{348p^K zk`9fSXtFu2&vlAqYdmmG4rma&Jq(9 zN?Qj%G?DZY;h=>e=yr&q7jA|$cl{zHpL#7IS(@uV`AHj20G8ES&nSo_m>WKLZ=hRl zVUaK_YfQYAtjmxwWcMiH;g>wtK(DN-rrEC2vX9cNpMGLD4*k;H_Y-vIX{S@6*X>3m z<{Sj~!231B{aZdqbVjx1UB~~#uUTFSOcTK^>1Sd%mKueiIQ5HmhfnQX&v#~rl=9!6 zkJWID?qAT27iKARL|b&Vb5KXmdtG=P?)9{N7nHd?x_94Rli2Vgg4;8(?bKz^f4L-M zXHO&rsEUz30cmRSM__URemej6ea~~IV^~!MjJ#3L_E9Y7hy-2JwO7EpQK;pGnV5c( z>zvhacFtm)fy0ZKtoWS}7CYmXL#@AF)^!WE6KPS~5{N8aJAt=!mhApKgjw219~a7_ z*9v@{%D^Kf8xcNcn?{w)-ocJYhkU8&>pbfMhd*FuFleL@VnvLw#O#wpS@!D;A$1BL zpDcH~Wy-I9-}_Y0k-=3N zf7nUCHRl7byM4oUQ<xyJwCSu6E&v5ouW(kMwDvj!LD#*HJj<4OkD}Xm{}bt)*-6L_x)+ z@`p&rVJa|(M;bM@Hbp4DW!aH+Rr)aHeg=X@bLSs%T_xhv$f29jwYmw5>?FGR)js9! z#;#!Z?Kk(@Zb6%RS)|WQbY)Zn^d!I+%k5=0UfZ!Hutwpe1$nu0WdQ}QuF|oPI-Nh- z;QXrGC#rls?l(Wroh(s{clg$vJgwpV^l8u}5D_XygmZh z39X)qzZ4)?k$K+xU>VPC0ylWRO54vQon`6P%abUpBY6zBn53uS9Mx!&-Ye(tbN$qD z%w;qmH#-n~{PGUcA54O2K~6|VBR2jMjD8E|uu9_FAbokFO1VY=8`skt*}6dRGf~z| zM_uOV(5)S+$T|qVz0uXZ>#nM*#;sl6s7v6? zJfy-8Qj2AOB$6C_DVq-n0;fTwuTMlpRSK}mWncd(c53W`m<+asuY8IP9$$>Fd^uaj zF^|4$i_26~j?YnZTt?9LrtJu$uMp*k+Ez!jl2B>FY=tXEoN>!@4u!Vv6sXB9Z=8#W zO_CxqO0Tb?K>ChQUN##PRU#nl&7cbJ`rm;=^{{>vdU6rc*jMWZJty(pt&N^qwUXYo) zeLwz8!7L!INhtz%SgfZNr&(C?JmpBYMsi?cD~3+0!CiF^s!nXNg!G@$ZC%%(Bp9Hm zGsV^lrzEu0?{w`y^MB=T&-wD`#oxKFe_y)q<@4WC@vfxXjvL*~*)6@h`L@=uZp`KW zt+Akf=5FYNed{VuiK&rN4CW9`hAZ*2yYadY{ouVk(kCL-x-LZ-qCml6XHQagh)NES zt1#cP$RTyvig3a>Dn@78nKFsEVxau|I2D&f^TqnJToU|H!Ac1QY8A&M-mKmnD95r$lBT$)g7 zA1*o_7#6L2bu8A$R5e#r)H8H2)d?f0yV`G^nxZEocD`v%)4!f%;vOD$`uobtT4Hv8 z9prfQL;dvpPW&jKr|$Tx0E~>EGGr3zOGAZuTY*ekkIE%>NHfO;7Z58nC4l{$g=Ie3ia*ZT;MoHq%ENt6jwPh~#4t=e@t7C%$f=jV== zB6EuEoCslV$s({ms@Tt83e8C@^aeCe!nC`0pXnPoV>lh^)%LI)NLps8XnE+6)G9z3 zwvoOOB$ewUFlyxS(3?ztXn$l^y*Bx-!RS)Nx2aeWimt)2x%+ivubgbQ9OGS%RdkYw zYM(NSy5L>+O_WLb~tzlXE|{TS_}rND(JDM2qIWo4>dS0TWJ;z8%C;JOvn; z@JKxGqxo8Ii_b!D$wz`+?eLqDxLm}ca2~whc|$}juKpOjZ%;wg0nIE04l4A_61gSO z>`^OzR_4}iQJo(0v7b)vHo-rrj5oJtsP$*g{l?j3NZ*@ilQ#nB8}-PPX{*5zdNd|4 z#P$U(FIY^6ZI=m6G9HR%`DCMmI-Wp5Zdk3K*J`N1@!4qQ8Kr>sD%HCJj|#(~2vmB5 zN7_pAhgQ{X-H1E9yT06oG$pH;4*}8-XJFgO14d@rqLXLe4f(m#w@Z(aaX1tT_=4+cx>#;9ara@!R6dPGLDpgNNQfvit4G{J87}_w5t8 zvyeV5rPL1M{N`j4P@kc6rqj3KQ(%t9o_Pab(fpOY(NLZ;&?pLW5o)r~Yw$h7XGr}4 zZ^SBcBCJH$xW04ypgJ-*mWci>r|-FzwK<3=R~+3{1nIAMW3>$wECi4~K5;CfzRJ~u z+oa3P0y|-1yL`nouWbUp-PfOd$ft|ZRX?w=6Tj;#hAekg#3-`N)x3%hax>S2NWS

@vW-TuMH2s$K){#5{Kd?^PX{qEH%F$b?E_ z!z|h37z$77k8NbSmm=Si;xxGBWc^tT0h6_2+IpOF?|uk`Ha4B;xfqMITVTGPp7B8X z#1Pc`PQZVlbp|{O852&lhpqj22kHk^)aVy{1=VEQ=50anM`{Lm$FJQx0t(1 z-HsBULI;0RGxh=0x(31R`3d`r+jYc8Itw||0`n{1JL@<_iy?g&q=T#zAX01FhMkY) zIBXR~3zx0@d22`eWY$)y5>mG-;92-(my0-uFsdYK+%o{YRsRa!9z>{1V1f!`HTl`y z;4j%wpy#&^T>!)$wrTp$u2_A3qXcO z00X8_la-~TuuTVozrg!b9;)+zH{b~O2Sl78`0xAW_xa1xj!knPHZ!d)%}Qm~8P*VX z|NgRYvqL*cx3l_+*565|nOO@yV!Ck{gOlHB zUBur2q6L(Ba2o_KZg20+>i>~9A;ruNpWH=U-&a5T$*?;vww0h0$U`WQ^d$EA$!6;V z4lK0Z6d@?-gUC@qI=_|U3+la3gI5K_qpD{$R7hWwNSYSmt9AB{zF9e%Obzb<{Xy{F zEuUgEzBVbdLw`L$@S1zSLF9!}Nd{DxMAJ^xSsv=edOBkBB(F z2=MyrEaJly5_Szh-{3I`v0ZxAWz1j$Lrg6q!dSzfJ;>3Wq>eR&yySW>IFQtOiS6Ixn;dO|{T+}IV^M+( zkZS}>oF$geEWdMS!dW1pQhLXCYnu9jaNuA497CpAp8`xT!I|{C>%v(5Kljr}BI6H(W}U);5i<{_R)Hw0$gzc?!aGsl>6?jKVqX=hKkYB+ zVwWQ{2uKBd=w5{LvyJ493|LTvzrkYuJWfv5Al=y_;F238K>*K?VcL^Pb=o?PG$wr` zH=MKObl8pbV@agSBY@@Mj0h?^1CfuL(&OL(IdANCV{I}=q;5U$(!-SYCjuo;iCGBa z7|!Kdj|m#3pB!5-WYYyZPxQqu*L^F%ow==jaklucQ+UIAGI&3%E~P50=E#)xydgIBL1N{1-v{xy zNl@?1mk=0_CbU zRV>r&Oi`J~h(xGFHq7eJ?F*z|2wBYW02Y(rf75ES>*2%7g;ngNs|xH8eEqelltm{l z8ZtXJu4GjS%W{IqxAZS$)e8+uQm>sbUfjJ|7}iGV7R|6#PU?ac*s#V2xNqN%DSmTR zHTZnWQ9{gz^s9+_b6kMl2>96(nge-QSqV$EvaZDCOYn-&qLiQaPey3Cy?@B5lrr)p?4sS^n%pKy&`k)*Qo9b>|*4$|)+ zn#{2Q0&wA&-23KtvmxKnP*~wqnuiz|FFN*pUxMdVKx^CX$DGj}MR!`=wye>Qv)1Wa z&NZSrUu^F(Mvm`3 z@PTE8b@UZDd0Hw`s4U-AEUY5YHY?f-=jKrUl%QPe4bn0Tm%cSORQwkaJR zDPsNTz;$yl&S?V`r>Ez0CmmMr@vC_*ieXfXn_etbAnc0}c93M029XEDB?CGdT@8`1 z33wk&x3NJFeWX-Wh_yc#xTA-RACH)F%K#;d2xtNI#sq6#=&(bAvK4fxZV!B%J1TL? z{xthC2Kz5+j1DjubqBRr2@4QZHO8czlxD>Nm_5JH&hIWXB<_uQ#$UEGf{W%5^U?Y%iFk!)BB;fgrUl@ySui6>uPjOioi1{i2J6K%MikN~ zB;zS4L|K#sR1(rK>Nra3{+I|kb05Cw=8)jqO(7?wwY@-0!d-@RT7F@Ly>3FI*P{_4 zc_R8DDOITYgJsM=ah7E+4!5D$FqW4geH;?QoEl(y5S}9i zTxBY<4&w6&bmYI*y1$YgxQZkXc|Vd9|DtjD!5Ha2Bj`4!P0Q0e`s> zy0e{h{BHZZy~WB{=e?R02nZ{(9*JAjG|W_VTedf-?2CQt_I~i{2zD(&Looh%Umrz> zmP{8ViKJ@mpAXd}>jB)%JPIq52G%GsDs4PRIZHoR>y=b~<9Vt2W3tb6CRZI3$`r!8 z#s1`2&iKLD#VhX5vnPHb4|t2wUyZu1b)R@yq81y6yq+k1`;frEy6N$b_Q^x^9hD45viM+D zoz|fBz4LB)VBg*EQJApb-Bf=+d#ST_f=A~@NoS^-s+=9N>rlq3&j++m>hkYr7pe7ae z9M3%o&1sK8mu9erg=Q|s{2RXuL4;Wvfe|GS1q>2!#HJfj)fS3y*^X<6UZKgdjt)PO zSK*xNQ7mIv40V-QmHT-jKXn?s@S!~cL-=~s9q5+J)fV5b*90$f zu3Wzgx%*fD%R#cWJ_3Fb85x!eqmK%Ui4nsgmAEDr9RUw~@uNqW(vRmiQ=aQ%E7`wl zA0jwg5;TjH3rSIpUvu@c9g1-tGB#O#c{scg%qwEr+*XxQtksmM)rrnM6DFw2k4o&_yt zpU@k$)9K`=NN@sBt$;~@ASl!NZ*raAGZ|%dns^_mpcJxe$UylYBCj zH#0FrJVM@#HEY@b<_AJa+dmBeKtkK=eaQO-tT*28@6U!te+xb!q^?>??{dTs>3sF( z<#m2v#Vvxpt*2a#CLgOl41WK3u6)^2*8U(oGQ$?tlU9a{;+%YmYHQ2lbahX;pz_4!2 z&L;DRzpig$5y3WwmuTy@Zjt)#ZpTg9iFjVoK3C25Qe&2Yp88iZ1tuv}=&@wa$K1aR?mmA0MuL5h znxDk!xwXUAHyrm>vdTQ+NAhDvY2QPlg$&pp)!>>Vvxx9hh{B5z@#D84|NhT0B(d-O zfLh-xS}EX<-nSLuh z^1H}}Z6+oXb#~`RmTxH3fdlCmK}CiU`NwY);Q9P*BJsJI?qL*1L|$w3fx{eLD+wQ? z`NZ>Ke#w_PP{t==AnPM3cLIezd|?%z$C;qkonU$PcP!dXAIgXo2L^B|ICpySR6#hL z-XAA49j_PZS3}c$Ls6t80e$ExgA_M-Q(j)ncaYuQI>eNKmCdR_d{P1HQ(_ALGBI`7 z)E17_Lpa?<&?avlT3DE{(rV}1R6#D>!g-di*Fw#~uC2SjAzkz;Ght)pBNOpMq~AdA z&6b6d>Hx41_jx|lre)&jtQ%c_I%f`d-5Gyu{B6hA@k~i&`~HlN|J?!SPkW&s*_gP@ zwmLBBeF2U-b`YFDnrolm{=z}i`2Hn_Qr4rT%yxA@V1c>^L{qR;l_*3^s?FGEY%QN0^qL$X#eC z#rv+H9FflN>NW4xSfPhq|JJV+sKe}PfFuLBM$64XU0rwd6IJ#(4;@m4E_pn;^K4>vQ!9ju>(-Zz~o`YjQ z1Z=nclPHPBTd>2XHOK9|%?(xLN?^6cDJ9V2S2L~Uqm1QjN=Nzb#hSDTP~*iSeGZ5t zS0|!>^c+?{(hE2lnG3jG3GvUqa=M#OK2hcKdwaX|ryK`HyH}eaV?~eki9ag0aKJVh zM}e`2Kwih#9$%)Cw;~zmv@({QfT=M7{o%J5ZTz217P9%KCP-fxg5%Z-ydH#0zGU*r zCKpncs%zA}eHE&qMsGF36%DOP+-X>ptBRXyu9U;6Fk9JFm?@S}{{FRvGDqG?=z3We z_<;i&JIL`cm7#uJ6CrPTGF0m5J9g?D!}YJel84kG{ZTl0tyPT92r05}W|NHjnX_~N zwBt8F_P$MU;s{xr6f0^v;+QJVGQDA%@ZY&MIt<2$eElb=%;Y8RShPlaufC)B`4?^w z+#PL9bRkU9c?0zs8%D;j4e2#&1Og}EGox_;y-(mu3N5-VnAtdUv|^TelsQU`>$^({ z&Q$DfYaN!s2ZP_dJV&HF^|vANZ4Y zcK_86=7d+p6+plM9AXm$k@@oQ_eK7nZcgv^L&LR#Z@-2Y6pmj^>V!t_Sh5JSx$9M3 zj`Ch6b{B|3fc4wE$2UK5v|B0Iz(0MLub- zO-wW{yhbbNS<(-a#V*G(5Im3y-v!t9yK=r7Qni;?H-ocPs}Do&6WMhW-jfg&r@BzR zR>cUp-kmt4yJ`Js^YRgT|L+aXQS9hxkV)(B%rWpJBETy57?;QU@e)|KUqQ6hTNrt%r48MYZE z3I#r(GF#$8Bmn08TVJptO4X|Yh6mwX<|0wjGOFPKJ%!Cg={dcoE|r^WKet3q z(ST(lFZBmC zsPCme;*=L&6CIPuMiXq>t;68X9GZ_XknuZ16+W2&gP1DNJXUg;1}3Y45{KfRF$sq2 z>!QrHsPCriMpKEDGHajS7ERrK+FTBb*vD3oBvAqAjXo^EghVi8rk^t8)zInNbvns? zCUmf84jDIad3ky{ueFEteV{2xIzaz`N`{9UhDFbWnRsEplZt8l2bP@~&XS7@=5EEG zqc1h@6e`qnLKFhv*il&fE&H}1+ofmnc68e^<3Wf~*WTNX5(o;ovyI1T7hj)bLk@0Z zFFwOX`mZ2uY$_-!6hNTKw3gck@ILITpyhYzh_gzeF#cC*&WM_7Wo6>~*pnZ6%I8rV zWX=Y$6W5~Mhz9y?O;5e9vnzVN>*Bk^-kPW;Q{sD>IjGkfe`8H0mIiKlEz*ynb7m_= zj(zip0l>r-rfS=Fz^F$R3A3pwf6>kF^IF%*eIl@v~7 zq`5xcFN%3P(KpBbt3N$SHMe?zT#YP`&~RLwJ|z*d96eSvtgqH+d*Mm0p$g)8N<;(F z^J(2R{_m6{;^KOZjBxWg0s;^x2E5(}e@w`n%~yV5%P$BYIiPi}gDib*>NqG1{I&`7 zq$Bg=Mm%ZN36yBSS89$7XDw7^Rq;52(#T#le?MaUZXDclnbHtf^c)2uAk{OG77dml zR=Ys3YNwh$L5OhWS1Zxa6J~7BpchHz)=KvbJiHF!4K{V!BMh1@s%%wA-xFF#TLFw| zdHfpCY3=E!HMweoNcs$qKC6kE5{82EzZoePkJb@o)SX8a)o$FSN_1rN@UYtVF$Wy4 zUysud?nofX(ym>ctT?i9G^pq$DH^82&+*-=SL#In<;Nf5*PI9RPpL4|?95Lj0>FSr zD~(!3(C1}5O1+}amXAG3AMvf|O$+J!Q(wZG?C?b+UHIl?cx?=N#3vjVFjh?CtouUk zntPp2M!m4b1Aev>OB$kD#xTOom&Cf``i)iC-9>6N&VOmbgSj4NT zolDlC^WhGwRzKbL7I!Sirhd2y##E9F(ZLYCfT=%8Df*etlo~bxhMhj*DU?=-xnjU- z%=}V%o$b(No~w&!yqHN*4B7cy-(y&j{wQRtuN0sdXoKWWJ=6uNp0}Ee;!jD!UMo%} zvclAJol<3006IQilTk~!l9$sv|2QiP0h;G{Pc@eMPjrn1WV^hxFTnep3ki@Dd?g_{dvg7btw>t=|L9frD5VBh_dw)tCQb&;#~H#R-waV2-Qn)s$jQK z$iR#Y8hjwlgXkcYdk-L)ClgettZ05XiYieSKs`|(hZL5A$`cv_dUv%Llb~FJ6K`Mw z>2DFG2IK)VGVsD?^eu88Hgd}I#AJz*>%8%cRfDU+Oi}_Kj0_kzheH}UkP2|qA9@ao zw~XF#q^tO9kBEXDbK4aa_z`7L@$&MhzXuuega<&D?kO&+;yf=L>7P>b6vO~KDex?* zt9gPa`Y*P;z5*ErgHu$?;=T*$MXQFcWy}dLjWRLb-UNZamqTvA^w=~-pjz;#`u^-7F`apF2_%RUaFEbX=boW zgIOWK{{;e3J=aSNk>xgw9s1Y)J7~8EVt}=|tm&#Meg@A)h2E6ib(RDU^kJT8lc~3_ zgOH<#0xHhG+r`N3q&Y8BJ`(-Fx1_s;!7iRP4n zbz}3rT>lW2Ma?9M3#R~s3PF4~Z!R%!g?$F!hh?ojckdQwypT5{HitjYg@3*URrPrM zEG6?8v{UioikU1bFRM(VA8$v}Zjco9CzyyW6g* zu&kWYy|lXD@Tx4~!cR*J(~&+7W@mVAl}L^a*OTJ^`+>!r&b9Sj)%wHVjm|dG-qx6H zJe@Tf6e>&w?Yn-1?<>@crcXO@STDT|RRySz zQ*kei$!1oPmj)(r!Yobd$7~KsVwA^LlA2PFx8zhKn6hw7rD#G^cv+*8yrv>pMP^C( z{w|6f4*RS_sQfopo!B3I{5O6SB(mVD0TiPEjuI8=r@}u2GTUC@gf;K}T>abJxEd1! zJm=vWuUqnc;aj5Lv?q6XQwr~1G=2Mm|Hx-C=zMnZPObKx`7~lyYh2F=rq`mc$@5Z3 zgTw$L-B-AUj9&pN4J!qN;yUe68KcL?@fS@`H2VKk)cWu}`dD#b&K#IQq80Mh9q+te z)7cnz;IJ--$?ws8N45K^)Wi>*8uchiLzD8M)`M;2li2#lt7AdN(SeR<>po z>$iXB_JX3wCjObJV}Vlq=>pd#mYTqr(pQo1_|hJkT;|wD2D<^RNZ*ub4^{#A4SF!3 z*A3EOVxUv^PzZUV6O}|@@02h5xVpEqQkYz)Jzk;ra+Lo=LnO;ya^#j&dAN#hp)|ds zANq-t3rYzzsddp=Fot7%W)U13j*63((n;TV_;3Eig(!^dBM>;?p^=JGrHHz2U)T0~ z`#D&1bGK>7sd@apSdw%3>H4D&H&=$eM>ZG1`(E!{&=wVxmoO;{tMfA_>FwenZiGG@MyJ5Mu;pAcR@o0iKz zGPSMJ+BNk+G5Y?KR(TuKMK|{G7n%_R?xCfuVTBT$ZxQA1^TnCks8%gdqP1arPm|rm zU>QDDmW!5~Fi&KDf{7++TYnH_TNEX)=<&y4>ut|T!u zNBW5n$>tcKe?g^*lt62@6W2kXZ*c#qzW*v)Z{S=kc@ZRR3H5&4n5i>!27= z0O1M5vW(S=q;+S(Evio1v(*6toYi)Ah2g7$Qkglh*%FSk==W~Lo>sf14p0(Keg zT@daCN5H23M$ggPhfE4Ljt>UgjUl%6l*&kqFADvFjK7pV9oGaU+X28{W5bj~OBV0D1I+KQzn_Fvp=Cvm>=JVCDFr6jQr39U3Q!MqI?Cbi(i}F>s zFshMXPmM)GCT#AP2;LbTerm3r@R30JKJ?TCjVQ4xD7%7Y;knm#?^M!U>~N_G-RO$C z>TDj+l#8566{K6sef*aDQJi9hEUx8`3d*58jvu$l~Nr`lTxnp^iILY?VH@QNxiRjcxzSSd`D!@|AQQFBt=4O~u9xy=1#v9h{ll zocSj*ehwO#TPa|T-?rB58uE_4rFKtwFhbHu!DP%P8!xEy{7a~>mY{K|QVcebe}wc2NH(_+ z?H@CX|C-Wm>X^lx$3x{=%cSB7oDHW7#|-ZP@{CV{kMHKzwzHLAD1($FHsQ_l{F^B+ zdMAY)8QJBcJWNUw3f8dEmv191g{{d8(4Ke>S=CKl@SF}rB z1y8wUwAo8(CYDjwM5n>JX0%cerX_js5Rwbt{`})396jMP7ahP(0_96@JNWn*lh z8@SbdhgdC{NEs1fJfLct&?e9xZ{ZgshOGvBZ_jn;hX-Xtk{*n0 z5c}66Ea8`yKZS?Zwf@cjKO(yN)CnZ0!6jTp&xgrnu}8-zniC70i@eRGwHvNtGi{@F z{^)m&zIpwvEyAhzs;<&JHpvAq%(n0gv-W@og$!prRnY)-PA{YVRM@u^7*K+9TwzmM zJ?86X3~gt_?Xwxwiwm=gTG6qD=`hcUp`%NlCTkJaD`JDLGM{dW4$44W_JV+OI(R`p^`s8o)}9b$7cGD}zZJ)MKWv@)0%-l zuW^2UL}ORAR6^x=&da#zfb`7~>!*1D_OQoUCG-}{&5n{p;RV`jOjRWmnpkN!R~7P0 zb0O^Ehw8N|#=cE)J|hZ$9?FzG2+l7x~Hg7WQm zL`<2f_s0>Cwsve>Oj-jCIN_ zM_TT-*q2?xR@4SIW8bSTPr*0fYVuV12g6IGp9zs1D+Gk(JftY|wx@%C3p96gqj+93 zdu1qkvld*GtQ0!@Wz{e-B{_(BD#S(=(}xuvz8m#HnpSUh4ZocR8Rx^>f%!fKwA(6cD%e#I17tnYT+yvBc07LsXoZknCFPeq%UMm9WNNl}Cz(1Rp}iz)klE zNYISV_A^%mdv8_-pLySmF<0waZ6&x#VmZw7QF8ea2DVoT#rBo^1>NTK*J`BS2nmBC z_GeOf2r{{vDRC`n(W>353YCi0^3q8S>u21$LvP!x+()&egX!r}gl7PaE}@Txd6=F0 zn3DJ&Ix!gUMJi|y_w~_?$Jwd=z5=gajuqE3UL{2#F(OWH@I_zRv4|FXD^cJ@Mv<0W_W7pwZis~K=l++2BI7^5 zO1CbaI0mj0`VSG!Egm5CFCOq*K?@uV3ug%q=pYgIexgzU=#8M>|(mxQ%3Qr`lkJ^)^=j;7)-TUf^qA}uD zquV-*^mkz2p>ULJ0~ED*Sw7p-(X;-b=J}(=P6eQ1=;7|2I+$5qA<(E)P&NKy5DlFt zjGm__%IL;8zPEz-?UJ18Y98~Qv~bLJ_m0mtsAc?hdSHn`4=AJp2K&_h<-eBJ67js) zq8~6*q0kU-l#R=RjnNBNc`#)mrJC-qEE~XZV5t1c;aip1pu4BBjfsTVDp&rS#O8V$ zii|L8q3D3a>nscL6H!EtuASz@m?3tq-<70Chj<;g{@tIW9;PCmKbkVjdQACMQ~2Sb zKmqAnQ3g!N0hg(RNq z$tG?P_vc7IptmMSjz%fAL#UN%egMhS%WYG%6XMN^D)V8In2Y%X&WN zv%3yUq6H}lo|TP+KOg)l`s$`+FLQ#ragJMAk9LVtI%&^9DE8yGe~p@I!5)k~a0 z)v)ugzWIBJQD#$5>@Hqp{#7Xbmk`e%nPv67visDOw`DZ!cyBv)Z#|`k_{5763<3;~ ze{QnD#O_{cVXhA^%69cw%5*r~8o!A-PASeJKqn&wp1hGBTJtlA4BNwuSNE3Rfwh2t zB_1;H|C=8chD;9k0KIDP3}ri(0d)h!iYxe|eLG|Ad{z?Hy@Chgzoa0L>ckayzWiN^4bXhJ5+Pgn#>2Wgyv8 ztw8TY28C!`6BxVuqRkYYN%E(oQ8NkIkl*^d>&A^dK4De7NgSb9ivuok^l07#^iYf) zrYOAnu#G$!W%ut0cAsiWi1sx_qn*_juj`Adp3qt^hbHRi8U*YB4`Pox9vH$j?X@nCz+h z*bHSw#_tL_T|?}jiEA5vv9c)pa*F&*W}uffDb#m%Z$*SM5Wh@v226?F($pznK}<@(8EmE*b#%k-i^PI1|x6 z(cyVzA)@X|T2@_031jOPdBMbmlHXq`l8V>)yQ{YR<#^m>SVK{jKNFVtolOv`!JMJh zN7!s)s8AMvI@lx=Zuk@~NJ?C}ZEdpm*43-SIqs_AQ$NxVhgNbSo?oNzke(xq)`9pz zwJRb+?v&OqQJWg1`KeBt)D)=1+^a2UwAh7Ypuaj>w{34f$UduxH-3yoDjfbX8?pDD zZ(%LC`KIB3Z*`P!-T+UAi)%aCpgL>^>Bm7RSq6Z>Igg6emp2RsO}gX1!-=0#_lv#I zY~<_hJhXm={_YWl)9K3gX?uM2P<)j}O&L07nV!oOiWL2c43TrMLO+Q8T$JK~R8uA~ zscdVu6%)mYC9k%b^I!Z~#FQ*OKrn^J1+APYNJM+^mUKgWM5p;P=Dg#H!?9)zv$^^9Iu@MphUt%NJdBpFZ0v&Fg0mWa??Z`1PFXEd4Qt5FiC^2{5@<4otN8}5cR^0@Xk;x3#n31bpK%4g}TpH0L zP-_&2{(RspHOc^DMGj+8BN()J(CB?+@X>|&vqX2r7+(KtpEXc_#PfZhX+7jP51;ov zAab}b{~RSW7Z!gF@PtiXG39D3g}@o3Ntg3A3rMIK)7aQYZC~hmC9HsKni0lB~c>wH_4(5i^d}QC@#8=ET)e?Jd!LX_5DbsQ9OJU zqcN~aY5ji_>=fB549Sxs{cieY)K@4uk|>`c>=#<`RH9DQZgMT}`n3DrkN&N&QZY>F z{#LA`D_U_8OPgkL+W&6!VJUli0Q0lMquq*kg$o#4l;4N>CTu^xGKixh=yS#nRj9(P zoV>K3p9GP95`#5c3QB?`0RGwA+YK~13h@mL?!NsUybiu^ThGaKeyF2NlMWveA9K#& zS(x`qDvMQA*A%KyVq;2vAft_;W^x>$p~LigBLFYY#|_%)L?nT@Wr5%oc>m8gCjL&9 zhtem6@(b}|-@woX;??>2TiNF|1Enf@{MWz^E@PUuBjIuUhx3HUP z2-5z~@y&hg)vN$P&0$i2W`fHa28h*Qoe|zyuzx6%)LK&hvK;~c>`98T_ z%C0&hNZ$iWjeNdIr%S||QmOV`fUUAa8a%_@2KLycjL%jcq6rP{Ei49xl~50y$X5qe za?~OhS=2uLsze(JcFD;fDw16P`^(qvF7ub5kz@HYEC$(bz8BCPx!0rV|JF|fAPrCt z#QqADoFtw#2PdN;RhPfYH%w(>}( zbF%F0G{dl264m&q9b3}OnpM9`VZt{fN^Z)L8tRx*EYIeV@kcQPvU#ASIRL6JsZqGQ z{}lVugdE0rN{p%!t31^h=s}lE;*-;pdWvRC^uPm^05$afV61PH%&$E0%+xLqD;!2M4aRG^vfm(PHw6b`VzGD z^V=`A>g*$-O{|Iv9%RQzpZ>pSI_s#Y-sg|+DviW09n#(1NQZQHcS(z)(%lG4cS?6l zr*wy)w6yX8M4J8G<$Hd64tx0Pb!VS@?-MicnZf<9p%^^<9^{(s6fzXI`hk4DE6dF! zN%}9md|FvvbvVf!xL+%CZ@|ySOJ1m_5l7l?T4+-SZ*76kl6iu%aT7n6%vZDu&KD+t zJNL%ohd)bIk??1FZpU%ks~{Igi&+{c zS{D(OInHFy&=nvmf~i*}L!K3|f8u2_a`B+q)ohg8^zP5Cch0VOX!;BI-Sm@wTMlyO zS_c|Nf?25*ZhXros+Al;c434>pp6;wK}cLZgrMPrpmwVkCURpworE?gr*wwo+#Rn5 z*Dqc3C*Eu1!>nthzd#m3K5wNxzHt}kX1@7Sy6d{CEPY5RiLhS-a)#Z6&?gt@+U&kE zB9Sd9$w+E@^E2F`Vc{!I)yc{&>c=K45mRRnHx@E|Z3{&z%e&HhV?WyN!^4rlKZyN7K9Hk_oO80_ z-$ye0@AGD-aw&cRy0SZAXhSXr9ad!~VYmL;+$ujaR4~<3oHnL*CjT_8%Gqs5q_Z%{ zK#*f)RU;Anw~&J=Kp!&fK9c+@u%GkUmq!R3kO^mjGQSFjjBKUz& zp(PElAu)(uvDSJjFk6x`YQZz|(rmdQS4y$oyU>h|(_X)Pk+s2*=gslEuJxw%Mk_Q9 z89W*~m1q;S%cFz0jh8IBykRo3a~75w;~^p3DbnOM>7Za#-QNg)G!2H90XRDnq7l#Q>~Gl1by zoo5pmtMmP$`}neSr)XFA%ai{>1*&;o2Fi?0w>=O|aUfc2BjP6y{cs)eUnw5)ysEhJ z$*~qn8TV{w^He;8v=xP#jyvpZ%Q2j)*QzK&Ps!0^fGhxRK3gL>O6mh~vlo`jZ0Cp} zS4?v5o%$S)uwNHST?*t^s->U=7ZI_dYV3aZn`wC#r&8u7J{3{FE*->6{x73zf;3ua zWV_-v@Y}mbbGY-}o9LJ~O^yh@ zIceV>474_vKF_WBs)au(zH#?6QLL+nOSTeCUn!A>kZ_Xc>T76OU(`G8kH~disiAFF zdei8ELFEO57xoS1rMTz)ly>)H=malQhnkkFg?`m3TD{CnYyHoZ9>G_j+B!-HEor4+ z3&hKYwUF&9Xwh0ih9We%-dk*i{oUO%&G0iLI&Y;WsaX#jVyALBh<|ZN5=qbc^OH;^ zsRj_Jh2P?bjTk3j+;VsPri<77#3NGi2@%;blpDt1ZqSmE*X z(aulhAF0|NVVpFmpns_*tNqmhw`;GSAILd@M-f(ICiq-Cac`s~4_6;(`Y8^NM0FH28jsEK(Uj zeXmc7jT@zzTVzwYGRvQNDmqAAAo=Nr`uHO_d6(ie#?^_yY2l@Ysp8-d#gM5DLmpCs zoP)Ql>nOwDnGt*vsIPP{LLZy5Xq=L+!m?Cl*eE`i5?gn~>oGQV)fYbg==kRDwcEY; z+V+dP+km|L3LG9gX1A zKyHBg9;p-_hU}`$9rVg;-?437^7>-je!IY9^aEarbK6fJ-vm_7$n2xoERXkGS?8ye zR@2FLhV^Uxme1-{3S5fcA;d>R=Y$zCV$Tg(-pJmI(hWPkshKlH@Y$h;R%L+xEv4a( z<3N{_r)1xvxN#?}J`=8dE$I62Z#pv*7-w}KPh@n*^XdDGbyzs2n_`bZhOpeVQ zem9`&bXDTuE>`rGT@H*@rT9h4+M0|qcj_Q4XEd(EwX}swRwtJ39LHYwGZZIVf~W`z6>rk1;EE}|E}?772k@?5toy}S>%=xwAWTlk2P)h zCH8#itjVxHY~$Ja8S=lFDds$xE+nqK);ymp^7O{7Y1B4ylun2uj5%=oyWNVS=zRv#)jm6Twpy~l9MRiJP} zr1-nH4m2pMS}b-r+Iftv*0ggK`FLtOy`+EjD)Xjyt2dC**)*W)^?H333Z>ESiiow>>g@p=+R5)vlBRw_HHznuT=3 z1+4W?tmNGfyvpwZEk2#QQtii8{lxETZZZ}=xIOLvbqKbmnn3e@S5T7_b9~o3|_IwJ*QX$vT5B+HGWx7Re#eMbT z#*kOmBt~c32o{OJM*`qg{>yTYuwNbTbs(Ho?>^w15~f9%P6C}O`1J=P6e9%{8I!<5#ZMWncu|dr6Mmc9OqwQV^(NED$xDg9 zJ-&ni>yIj5%2Ry?9jN0{9cVN@9n=!Dej=?t{Y&kSaZf85QlxI*!m`E1OdokGjik3} zRWAc&QIHJkYdglt0KjK+`mKR7k^y2U?(pe+SVVV(oYu~gPJ3mw53lH_pI!JvGsOI9 z{x^lpu2z9YXVSY%z4s#JVv96916ETU5@>%(ZMmOTYeG_<&l*eA0zdd6<`RwaQ=bv; zLQ1>rf+d0O@WOE_bvi`&XH0?Ecx1vx|ML_TuRrGd$C&1Sg&RBnNF&C_0rDB}pN}r3 zAmhEnz{#VgZ!e}@urxpqod@Jm3DyzA0C*v^F^B)9LTP4v(L%Qv=iq}XmO#lfpN5lt zna$p*nBCguL}))}CSyEgB_qsF#UXq1QB(nR^?=}eLxYC1!A2V3g`h%LO$wO>Wi5fn zOf*skAjza#Otz_*D?;Lc2UDdqgo?m3D5`7*s%VaM3ZIyqoN4eMpfi3R3EISvjLV|r z;h+IDXU5&jYTww;)@7(C#-8$<{DAW*3=HVE8D!hrt~irIhtPxi<-TbRF$sCiB2Nf@ zM_Cs4Yq+SLmiT>v$+tS`rL`yq-(xc}F_|jA)B7R0*l5~mh+Q*`x}fvoz2Pkwg(~%~GH$L^+WIXOiZc*1JBwyY7+hSWk+RIW)94Hw1hr+vRy`{@@%)cP` zY`EuygFt-{XmrQK!yDKi4M%#WHsvYaKiCN46S;QS<)34Q z4QFM={a!HMSMsy9E4h$W4(X)rb{tvs<$qv*OJpiD`n82Ad8yxsu@IVI0mgB4=@MN?*J`BpL5=pvr*h-(zQlf^!O zW%=Z$iHq*4)#i6k5iOi+!?$YY{faOZ_Y5sFlQ$-gX%pG|pK=_)9Mr zPfvBtEz+i+_P3f)bgf=cb~LO;(qgu&V|apG#+#!u+)!cBD4`8bZ*ZCy(c5Oe)J5|q zz{`BMoAboMaO%y3*iR*JA>OQZlLR~^qnfQ_w(tq4&P4!b+O0OaVRel>SkqO?DzVr=b%dQMGfB|z( zZT@=vx`p4_OirP>Ccwt*mmVK?P*b(_r=OtIFm7B_J#mfxaxh5AG}wXWJ5QccRjC!u zJL_7qc4xX;GD=$6Oxe%=oH4~*rop9!A~<}4l27>;?{N$4TtI6`DL(Qgqs5ArlkTmR z<^MF{cL9s1IIgck1A#+=;xs1m*@g(JWwLMI+jBNKOp0Dx zpYL-Udk0>Cp8TIl5Zszr(DlcYJ@z8!o2{_#D5Ot|% z{Zpsgnd3M&F8cuMYt=UvNUl+2hF5GLIqGejG!GtlMReU#*;c7`Ew!3*V+A zp3i*J8-#vO3l_30>Z}!vuXUwWU5KKWii{M|2i29c+T|(v$CF}vTD79AqcTSrwM@W4 z=n#bS_M;5Q2Y48jX%25IMy?gZWa8FqBc083Pf9iF_m75k+|M1K_MZ`CpTmLul@?5w zO2CnLuhGYz*+&~GX}q;Ec-NfpReHh5#w3OFYW?HIdy0(DtDiSdUS$d;KKO#oCR-<+ z%6@VAsa#J)B)3nPgI~r3bEEl8u&YxQ3L99+Z9Vawp^h}2Ab$#vi!0u+ctgKr(l7pv zgWt^7ywj6>TD)He@H1^Ee8CRt=yZG0m*X|h>IoOynAEBc*snFuc!(Rt{_yhyFoXu2 z;#J$xaPU3Bflfp$-Q4Nw6%na@NAkjr03W=^<<76CVwBB&`xUQd&O06&fisG~Pez zA{>^>_C2>_-K2juvs+UpUfQRwpW4!oWd1fp{aCe0elvN1OnQSW*`A^qLJ=}}_Z7ic zB|Zk?zf)@MA2Vvc%b5S(_uT+)8}PZhfYj{N>i%i<#G>CLDQ%6P^sxDKcF&FW0+y?0 zNQG%6T>n_CT9Zj9$F|uhJ2N_qegDN(Q_hwZnWK+r;xW&yl^Vep!;|VL15FIV&^L2j zHvqrr*qY&azxFm`Y!|$ZE3#UNIkrT2R$4ud){@Gr1<)1ixK$4fUwqv8xL%8Ky3sS} z&>`O-_~4%d0c=W)l);q@vgz;rx{ZUd5#USX_EiA-qCwbkeaGM5nlT+$c2qz;6wH9P zN0eo%&7x%#4dRxi)dGS!3a)X6n_H%A$$QKMc)#4#NoYzpf0ldHV zA9OQmU!a}E5Ta-%J^8n_AfH=+`eTDIc_d*pnQS%rFlaqQF>%Fue0%p;!=*4hUjxb} zii?bPm3Q~pom~Cn4lQI8{!lMGONiSf=CJ`#FP#HQ-dp`37toq;{D|xR88p(qF2(EA z`lMengY?m~fz>5J97qT3o9wpIWy`4V|5Hy6ADS1pnbpW+i#U0H-C)M65<)P!S9EBP zmHK|G|C4}j>0ZX$>_YkhI%on+H0uW6Wn{bK z6VZCrmCmR`QuwI2Bqm-jdTt+g^GiJ|&-QuQ#Zz}&JrR!J3s8RE1L{BYg0>G|{j|oz zt10&=wQXwjc@#|L?zlWCVr_lDSdGQa&_g?Q>Yo!ZezdYDA)au|vNmvhb+OF4K9V(Z zGd-MUXxsVDxJP{+{y}%@q+Ne2qaX7V27-@)pJCJsp0)s0k27;IqCKC$52@3PRiIUE zUdc6P9HwEj=;*9NeKE*QMRI-J{&7|_<_~b38+{af>d^~P5V1B?&DNuQDFe+$bFv!+bV8g}m0xp+ztXndB>xBN1 z+cM4xkWgMS+%bRsQSwqhia=00emDP(6Esk#LA7$M=k(+a-M2!cnj^lDzw+eDZDfwjTSR1193gx6dxr&le6i?%@8rk2AO{nT_pI zFR02(U6g}N$32g6QqL9Nwke)|-_ZEZYH95m6!GnnsO}QMr-w!z<%7n?G7ikUrs_dQ zbu&RmYB6RLZ#|Sl{a(1d11kdJ!`#KumTfWDvp_Axab=b`MX>}Wk&U}5QOmIi8(Y$y zp&9ND1$%9KjOE~fRxBF$=~)!Dz_p@^-6zY5I@t$h z@yo~w*nd(59w_6V82s*W2cF{lu8`-XouEG1t`3tO;=(dg9`fnX757`^R4y(UBm6u3 zy!Lq>pg(9({0aZ@09x?vHR9}bd@dEF@foVoE3y5{$g?tAlx?E^GIrq?guYQ#?XKQ9 zf;{6?a)kLg!hSz!xd2dKamk&5=#VDa=T=coQ~WTEIUBwNzjvVT+bj9G#>ULCHkC>c zNDkJd3X-RtJp|TKSGVP#^B-OLqs5S=wu1-g2r%|=+ikM7aaM;twP$8NiBQ5vpY*q3 zxb55eq2DPy2`Qa)8Y>w49b+?~?znD+G%@NzUp^B_r z;RuWh6(wIt3*D3+SMF!-RY9SPi2fL#OqyD3fnKIJKMhYT3zls_*q;I=F=_+!6|iq# zKuA2A;hXZ}dZ~gETIO(gw?tlwnPH}!L;eAB1g20$EXop>PNL2MAC4Hy789RuY5?u{ zb3I*n%0eSQnwe2j8IdQEeA2|l2uK9lFssQlg5c*t9nGpheRD7h&q=&m!}ToV`$-io}og(;UkQ){lNO8s;x9FKjB=m)Qn?oyRZ(dvXb3TrI{JtC% zb5i*Nu?OZ5yx(E?6Cq<0Oe`^Qxw{8aw96ejCD{B=5ZiU*gRP*?uv7%$qv* z%0Va7b;pvWu^Rq9n3Ai#*fU>L(!IU`hr?I9PA+AxY>fP}52$pL^yza#XEPK_5%vS| zWtvamC6bcY49$0ms`tBscK2wZ3H1 zo^|^3C1ju7!;5drzmq4Uc8pq^8LnalF!Y5jE~YXs^;qM3E#=Nekl14H@v4gS%!wvoJ4gw!#-U3$za z+wnPiES?oAEs00liUS)PT@vabaC085sQfm;b{DBeI0pHLWn z*I*CAb3oXy25AKL=OFCPScg~B1&I>C75?|RHSKxKq^<3U;w^UXsCum9L%& zEPFA@vvb=%iD&s)y!zPVl8qudobEo)Iy0G4^w!gq5PTb4rrHPeX7Ema0I-3+WqLS5h>O@(%&Nl7zmu*wyyihW;cP>7rBa?UWT= zN9h?nHrlJ-B~(h@Tt-Zc5s5iV5Fa(udB}WebEtWh5fC3#G)9w1jzqJgQhCz{MXuQ2 zdeZMDL+Sy2UCdbeUF8Rl92(Yh;()qzI}C!b`x9p-r;n8TWu{p33PwnM@#_3WjC!g( zoa~i6Djgq&(Mn@Js2^)Hn;wWd~W_1F+O=vh*LUf zU6Rr@*K5ZPv`BJ@j~OOJ$&D;QS>4B<>--;FQuy+G{b}@3-{7vYMM-s+{m$son)&4Yo70=G z@WZCZcf;4^rQ^&9(Vky6xO-5&U{8;Y=Vt_#QOCp7M5Z*t6nY{jtbW_$v~Z zTANq%Hgi78QG(vP1H067Xo>uIm=amv7vXpM#dJUN>!dOn>ZwjMNy!p+w>|o~miR!M z?~)T(%z3IGaX`<_FKZF}5DH8{-vZ>P-v+EM!=JLBZ~v_oRfO=MI50Ev%4Hf+JOW&0b@OX5*~m} z3_O4m{wd(G2R^U9a}Pf|&2%$fZ1j5=Su6=V`qwBHJoPAgeI3V2Um%R&E4E5^Tcz&5vV$K@yY*2gZB~G|Deftz1E>31>sV0Q~NTZ zp_{6~>dQHhm@xGx(ibxHF&KoXK4Yf~u;vzy!1Lh*+VWJ@&7f?}@9 zw@mNM{fcdz^!BAt!x_l-eD`RT`uX4Q%vl?RMhin@>DzPYq&+MvuBz z&hoT8zLUehpY$jEPz&IEoyw&`g%c7Udi}ec_+(R?X&R3BJZ3(A=h$QwEp_6Ea&c~I zB$XyTpX+p}Nr^I9W0nLdRpO{>aL5ZX)vJ(2P_10w;}M|qr~GF3Jz{k7x2z9+il4s1 zO+Nzk3B>N@xR~3`$IlNw+e@-o)3a?NZTgmU_z>Fo81tmqY`a<37(3|}84lwM#^%XP z5!EnKCpK@h62z{>KTHWsgZ=A9=XN#!OAMkJp@cuC?1TOiP8=Y{M-8&M-3D@{a7R9` zM55+Yt$ALxweATnP#gC-H`(XO)*mQ!?X_7JN=&YDa|Wsczt7k8HCSme5&uaMI zLOf21@-Wt?U<3HQOTTc<$Sc=>=Z*LD+8vWfrLeg{-=#rvH4A{H>gckIp?*k=3n`Nb<-aM;?CK~o5?Od_^@vU#B*?v0r)iy<7H8>=Q$TSv!DCi4e5l%0Cr@vX zwm!pTcZmVPcY%0FSAqJq+&P5&Jii?Y9f-Xzrq?#mnYSLz-X|TwifJ$ha*(idzthUO zDP`rB<$OWSZxVS=L(bK&t;e=2;&@@E|2DT@!rb*ACDvMTuSRSNgk}j+Wk|l@g5di? z9fyJX_EWI56MB}Fp%*pX`(ML8y!|Yy4*!fIQ<}*{LDQ^jUlbK1(U4|}YIU}DpI^;S z1XFiUF?zo8o@l`)DYZFGSvhlBJ`zEERkR%MbMGW z(#ceLA&dHBtE!&b0ZT@E(2lhPTzX83Z{Dyg3TdR>z0mu|guw7w2sS1Bs;n(2sEDjf zQ04_#5ds#6*0+5~8dxzZgl@fO8)-y&p1>6(gWyL~g|K`Ar#pZo9dXBddhQ+`t3TwZ z7AzgB&h$vb)!(R8SFL(4ct7xqFa0ij?jP5Eq-b&>x+1v z>m6chA-v76$p5*ADT*arVa--kvk7WUQ<7C#RHE(9GVyOIZsh ze3Y9WZ*3uSnVI4NHaS>i8?O_hhk+#dozdQq7#!p|TGHqN=gEN&J-}-Ts%qhr z&8EXKdfbG#beq3VfK%XTxwUQye<0n&sQYWhDY{RK~4*e$vJ_-EC1;GlgZ z&dW{85}sLKiNAo9T(*Q9A_&$**pGux^RE}^pVE#DC6SGjLADW-#>99gSEU)J>UYjF zu~7MP=3;yt)&n~qRW!IOR+{Iqlr`oF7Q^9&_|U4{MDCW4aQ+I$KE#=Q`;rovgW!*W zfqb~LM6UwQZxMV5v=TZ9LQ`u0d*yf6l4k6GvSvu(1oh!9TG1Ul`A4k4RyL%AE1K~D2;rG0<%y2mEY%S2C0{*zRT(DY?;FCa; zX@K=ht#is{-&RS@D<{R^n5G$>X<>_4iHwkDKuc~$o{pX=QZ5HQiHra*SHp!JIV=`v zDHc}o{D})R;E1YNuE>%5v6_?}9YH!QEJ|ckJi=i(i-O=&rdK=~)c|BszOA-7t7-Ua{WvEQu|CYP*s z11x2=EG3e&x<+4_m7K}3GUgC`K}a%1B1lN1tB1~AKwM6h$*~QPE^FGRAoojRge%N* zza^K;J!t;xR2@(aPjQ;66kN~KyR_D3_V%}SGA&=KzH`3&j%i-#G*uNgGqx)1pR8#} zzmBZX@s~Rr!Iy#DK`p@AxM1F9=_pd{;f#8P;IQxrrjlqo`xoXt1KE0ilcki3T|rFG zA|<7rn$#QUdUMewu@zL6wR8w0@xX~ly%^NbPAb`sTxRsZE)>r!Gz41J{*qwUKgGw@ zXr4oLfc#>xxi{89b>^2YlRw2XxtwX!)u{QwDvLVBkhkSV8A#KmC&6e8;?rFsK3~~& zTc(14{3Ok&skOD&*N?W8mo%V8Lb4*-U0RULKM-1c!4*0g)X($eeef+0!q5mO!q)Xd~Dpr!IpJi4q{O{`eQfId@&ln`mvq$1r&v4E#pOvS`!`ZW;N@3m@SMGM$A-`?M#GtZTHa$rmptD>>jw!%@iUz`DBsyEgyDG`n*$Sr-oZsf*pes=94QDqTD9N<- zIV96cMw1l2CL@f&=__>Pf{ABzYYDoHR*d{8`%O z>N4}RY_<-@1=t=Oh=RY!zT$rkq|?LCTqCVE4$J>8?Bt`I(x@QpN5@TkgdytBW8Z0x z1=0uZig0sT30g;E^h$jYtm3^VAnvY*o&>nK?slWGuka(Yf>hUwpBj49~wS18TXz|F+uy^&|N8UFMIOjBY$wMAWUASP2`S$3dXp zLql!pWZNNN?xJ=Yd`7B8!|G8L_MC7ydd~SGT^@MLqB% zAJ_Q!Ja|cCia`>ZN*eh@pwV07|Iowf`fER};M!FTeO8~k9q(>5PlfL!OrWLw#daNF zE}%K=N0C6-&kKS4j~^qBrVX9w_5GB0n^_D0{_sI}y_Lz#4h!X(eSXShubj5R`BVi+ z+Fw@CztmU#%Lbsf-*|yKx_`xWzdlT_y~+qrONf2gXT89SU7e3HRM1X)@~=ukJOKUS zYAQmXqh1aF{Q)w_=)#tpY`{%5km|UPWRsPPGkPh1`N2+5Xzcp4?A&n3$G#a00TAed z-s;c7d~y#=$)1>7xReL~5SvhJFbbD(A^>*(t+(#(cTXLbPjw*&NnFap5dqXkp;9o{;9uDp@c{$U;O0_Q{$g7+YwGnqf7Cm>eJ06&x$NY(d{wU zLPr*@fm6lLn+F1@P5>7uNn$m2g=fJ|H%sn^!CQ__%(y#Ol>%x~CrT*Rq%=>7wno_R z05t^st3^xh`sGO4<0Axa5*M(0|KW-o)z#SOOn;)EQ}mBi=7eeePA7?cRQTu4BU|0w zdC^uzUl&6|GZz<`Rw03na0Tpidl-N7b}vB7Ku1HMg}68`o);y8^=qUwnuFNn zU&7D_VsmT2u$P{~SP*cpZ`Y z$+O7y7qw3tq4kio+doI(8aGaH>xPxaI%8J8dwfNXMA}T6&c6(m^Vt)N7+#oA6mHuz zEW6Wk%TJKjZD>%7w0Nb=v4YPRPrDXHMUI_ zkJdfq9?~+1;D_M(b^!X@F&N&02`6Ca^|iN^L&4(L=uav8rcCdlOxDfFnB~!by2sOd z!;Z#X>L7$T0-?9jq{E82e?&kf6BTO*`1ed`Na1$yBb#x_mslYhw-fNHGKYtK1V0jz z(UJ~YoksgQV?L?~s)lTihLx%lV z_$^C#_rGEUzZCB^Pc~>t-hGx9nj;MUMGRxLcBaQjK$96JDL>y*M2-v!S3wFVBZN75 z?|c}YPtnrE<`C38Ev=}ZZ49_%GdZ_kF(X%L_nO2=#KSWF=RDJ~S4A7-vD;1jq<^Ty zpY?=+e&WI$)87RZ^kGpi$4n{2l3yF3+y1cC>N6ahc~fD{w)jHA>wUmlvcW#wN%ms@ zQOw#8`!Ad)${mV59Gb9i`{#tU9-|HtE};F-~;++ zGxL7};E%_x&e&2^_*&H-?&@vTtH9p(<(wKpnlZ48cY}pT=g>b8D7!jDa+@^ z&<;*h&x@qD6{zm#J8_4R?h_&AStA((TpB{>OQp%9R^Ef43_H>dL1f$7p6|5r=&x8G zSgfk*Ej>=V105dNIXN7k{12r>;9!8S0fX1}PXO=NW7x99jgJPV>O!%1<(zgB6`6{b zYZn2p7Z*Jg+jHI5_GNf`+P~$BhKK%>;j?_ZwC*2ax2gAMMZ90BWclPL+35d72XkYD z4M<#0Bkpewet~B`Xekj^00Ihz!7o|5;MGT1+_t29hbQKL*M%nE9Qg}Rs-oIGtiT7} z3_m;uEM+=h8&!tA>D9cuNjkmBcqEn(Ul3Y0940a<+h17lUk|4RK=(MnN$H9I+7qD< zfrUy!I_>9`4{06h#6NLG?P%#4N4%Q8y7a-5&)zaX!E%kDrZSOgI=#N|D&&%t8()FLdR_Jc2s4gpQgFbWR(l7+HR-2zOCeo7O^(mqaH9 zRSGr;Rs}nJk+Cjluv6G)p4%#0410RNaHHhwK)KlN9hqar#j+MkpwE*`dyC@L=QPe) z0z8Dda{Y`y&kcI*02>$d;j}kSxJ^-!rNkxzU9k;dok*M4vNf+Gb_Cgn?52NX^TIot zdrZ=T?%rVp&Y&UqZMa)CRiG&hnB{KyTW+R5*cCj>m$v5={&^BUZT#qFi3DZMCNDM@ge8M=r8f2){eRZ&)|H=e$hr-*+rjH2=cn8T9 z5&RLTB?k;Nu;9MR{MfzE)yATe?sIiruuI|amqyVb*XR|^%~9q=Mec9A8ivZRJsTe% zV^gfDXJKc)(e3S_jz&E@cVF+|-`Mmfq_<#q(nrMg-=g}__RG&I1-23V8QlC*14RA{ zg_YzwBzYqCP-l#qph!g%iJzNU%jRRUTVq4<=cCDVmFzPTQMSDe%kko+*upD0Yn1bwD*l!u zL8pzY!^XF3$-Fgw8`+O{Zz_E%pY+2GRLP`)-~>hR>R0t{RYo`73(_I=Y3+f}E)oAPMo0lK3dPab9QQ*?L zj^JxRwMl{g2x?tojsX&U{QHyEyXQR@w3+jA4Tc^ z)zim4QJP-2rVMgfsVm+I-V z;zsRg>m6B(Mm%eHcEnsI4)u9Cmi7z5cYqLgRDp(}D*yeseDCD_p?t_fAD>0hRSC1- z7w6;fJ0&YvDSzZ$K>EF(-PhVHKY}Ad_jGCxm(H%a|LRibM>UWgClQNry?ndp%zdBa@53hNa4-FNkEt=qz8>S4`0 z>DN#1mp`s0%{P$tihEej|CdgKJRerz|N6ZpV|q*y$IfhG7I z|CGj@tNzuT#kX<+*}CJ`8zrSWZCxqu(>0eOev1Qd*PvNX>q{D>oZ}nFc-?)BuGda| zySJ|dLbsst^4PM9#f_V1!E6_fWk^#$6mO4*oT?=9es0w2AFdqJ=E3N2{hwdA2R)1Y zBUVA?-f?8iL;qsi(;X8*qU;M#+6Kf?7{|$p~9J{5QSvy7vFxN!U(&lUbX<3=eIO zyrdhW+b~WL%xuhCRFH{i_G8cT+z&uwA|2r@9Ah^>z zGm$2=d-1FP@VxJoMkn+?A`}_tg%Eifvq^2E+~>5kbSnFIZwIQo5&QybQHH1b@Ry70 z{zNbP)6d1?=cLX@$VGWM%0iMduKo)u^?D<61@GR=boz?V`yr*wI#0;CIqu}vcxz&P z=U*j5e0rgVWF~6;=8r%!Mf(&|hQE0VT?ANNPv<)~YNaJ0zt{jgxS-ZKpR3`Oz2EF> z&#kIGWx`g0l2{QVeV`!eM0P=vk6H3TZSOysb5e&f*8R5ky*5k3EG zad>Q72$e7A#etL1Yu0|AeK1SnAGrEdq_fb9i_zycGOuEwS1??s5?Mlv;1fX%DS-Sz zZ1-L>`7qA7rj}-9R$JFrMkL8zRH`$uXZfBn{7zuh`db-=U=8tLW0=8Ap!YEE8RU_!tmw& z#XB#rZl;?2*(2B6LJh1;PPYdqyn5aBV_Xz+TlSJ55u~7kR6bf)O+}erG-UE_l^_T< z()Z_JAhxhefl|)Z&s*h1+Q8lTG(J2~OCLZ#912^!bNWe<&)M|b|DnxlL3M=DxnceF zgoka;@Li(XiB=8@D0yx#*ehJ|em}CexGS-jH{*yQ+w`kYaL2S%|IxtN#8$QKZGc(r z)Qk}&S}%m0pBphgq7X3f{7mV%t8#STb>G-@9j^OggZcdn%bsX zd?nn?Twr{lDhI473*YC)V>is(2SmpfO316fodSE#hXCLUh~Rzy*ukJzWLUH3Gs}_Y z#R{~KB2XrR5<$_>@k2t8U4Aav=N8k8$x9;fc~w~?e_3x zp!MwkK9BInp1%j*_qi9^YiHHCXXabI&;}X^23X zaXq1ol6dTXWg4kRW9;(3(heQzL6*>``V7|45TL(muTJ{~+!xS(7gFJxoNq_4C6$SP`eM()b@XWvC*D4A9D48*Uj0F2j08^mHv9HhHnm>?pv=v9w3N^4$|n+@1hLMT-nw4n)w5mSiq z@xkH70Qzg|xpQzBHVT@hoZZ8J2KaM1mW5^ER+D&Ni4`1f0C(Z-xbRtcuuls2GmUS( z{^_A2pHq&{qo(W=?cgHI)#48=|EXNWowgpJOy?9@Z`N zuw|llv&Br809$g;%e`{VD*682X>FMOF#x_pF!nnJLS6rk_g7GmaCUEOmM$c;pZp6| znI&va$uNzDaG!k&A59DX@Zw3|5xAdvuKVQ@ey&I%Twt0;PjZvOV+mluLmTI^JkcVeTeiX~-86VI%$>uRAAkM1)YkNiMTc!}U?{DUZiwPL}Uk)R_? z?Vo(7B=g8}LJNPtjG{J?7hz?< z%cJ{GUGRi+efoA9NLDS)T3ufR*!)1Vl2UqO zP>y&V$pPggW1B%-O&#hT%p4l-7at;g#;+Sl&QMG8S`~Zihz*^oB-5{N6;bZmo@s)m zFSZ$TmA30%4j}jj1np|YK!4{H52h8GZx$`y)nnF9Tyr#dj8MK^5Cp zS~$Tp0pImvfGHBf{udA-b6|Ztk?M4UJ^ushV-5P0d!fM#U+a6ywDQ}OR=35SjC!oO z#g$6u#MDJ@=o@&zcdK6MJla`%MU*wV}Zd;IJY#5%umKO!? zzyMzsnq)i(tRH~*1^j13<-t+KyIs-i@+cDbh6~0C`%b9crQ`;M#^tmlZ2fFLS-*PG zXhXTx3Z@ZA`vRNT8$+nlgA+Nt0K@4?t5^E#8u%-K17C~Y3)Ch&Lhw}~Te^>Y9>_8& z^ZuCxcP(eUB=!>J?UbdiSjX}Ehf|Yv=uXDozXe~oRb5kl=QG`|%O^K<`*#c7JRBxb z&(tWQe3y%~XZLSxcc^9pRz~$eee^sUokcnbz8=Jfy%!Wu?aJMy$RXFC*(UFM8SZ;b za%p8(A3YD5mHHS|SNB$!i7@_^1CKnX&#s46{=?XT-!Fdnjk(=Sg|dn;2j01g(Z>MO zE#%m)h6pg(_JX~H_Uo$G(Fnd3vYz+VcQLvJ*8(rhi|!CNA= zT3vXV^aK>RI5gbXuZ2dUZ!ghz_qk^jXv183ne{`;Oz zgd!B2B?t!o5;$v!{H26|geYAGwSK=P>>K>fBLDc-m~x|M^IUVFqnk?Q!I{d%XN7;O z@p}5aW7>7qfAD91LcC2l$Fb63Rq_V z=@h{65Iqiu?OpR0i=0Rck1@K_W|qIzM(`OR()6FfeXO8y?(%^J91S|N??JthX7qvk zgd`+-p0=)7ta!+H_<@By?<8p5NB~J`h$H;L(~Oou1klj>pX2^?D!aHyMAIys+$Nvi zf-jQ+)7)Gh^KpLRfodW01Jye9HR%fHilxzq(W4>k_^7lfPf;sTPzOpY;i)|rFkq~3 z_e;74z`pna%nNZKC467UaDeE-%e~lRz0x z2ST4pt#e@nHTe5-Ng;$Fk$?k=M_(v00irFi0C(m;+`}G9(a6AAa|f&W03Cj{JYrG? z|8vRavaq6$)LXO8yse56K5|56KmmL zRgJ6+9BAc57s#ckfyqru)!dVr7ipA%k`N})95D4QpS;i-3?(HcwiNiLO*tH&h;c#hH1p@xwReW_Hq`#FgAxcu&EqQJe0`1Hv5 zCxm~jAX|B@pwYQB$oVpQ1cPbs@3M%sL{px1%Mo)MC)c6K2y*uvOE zl@H4jX{Ukszrp&c!)#VIvqf9JG3MVyX`G%fw5yGE1c}iE5tC5S>1Ej?_^uE)u})Bb zy4#!xZnkE(t?%WnjlCOgRF4?zi}3QhD-z>c_WNdewGu~4J1PjTY zqV?M{6Nh(edM1#3wy;+;890T;AFC3y$w-a;V=NN<_z`@62qYNL=hRI*GO@Y3;|o}c ziFqay=C2s^<3VKM>`5JS{idk*g`Jm@@h6EV?9)m|Ds;>aC7v z#Zl!%k}R`+s6}%6>ALnOp6S>2KMj8(_%TpPAU@l-oMzm@r?i^ANhWbqTr4CLq2Ps+ ztu%c@k^dTVs&wzLsI^NM7Nf+5^d291PFg0ZT_W1LdfPST%rRA<=O=J_^G~lAH*N%5 zUT{@)RW(u*CGm8QBKT>5|38Dg=Tfs&W@6o+K5bY#p$pxY`6l*bp5{VsFH?ycV-T22 zfXboY7zxy@qM&-DwlQttSfKdVp+nS?_-VXWpA8?`5?L23(%`Mg)(5e7XyN{Y^i|8j zkMZ#WNKjq@s2?ZwgO)0EFsI1T>E0uOI6U5rEs#SIHCWNKo*0@~N3ShUQeKlFc>a4< ziQx=xWb?s+Vz%yAq2Th;^_epz^2uldyFDhW72&UzDD6GQvE?Aht+g}4{u)SMQ7))& zEOn@LLMZ*k-Dc}&txpd^{49M`;8uV7pj|MlXF9~Px-;2WL{BPHlp*DfQg!)Kyf_>l z&ye6RxTwjme#|tTzUf7}a6C1@j!bJRrt^JE9cAU`qkelE;Z1fT=*v`^KT@@rCfRdo zw?sj*;az&vA(^8H6nT#B07GM`>^qC$)BbDyG;Fai<96x&5;Ds^Ph&7Ca3BH(9GHsq zGW~k{#y<3{8!r>q^hHF)?|c+`$fh3SU!A1n`>|j>J+L{v&1Uf{7MkK=#dm{5=ZEI> zCc|pEp_ct9nt+>)p39i9+;QaIa`yL2SjOJ{R%CCsil*{pf^jjV61zFW zeEVZ^afTy!O78Glwh{hmpckh017~@IHs6|lVqa7H+PlPzDa((37=x)~T0_M?_se8) zZG)%w1@}C5`ONoY*9Fp%b(S2Of2s-an{0~D#}{*#AI%Mn?DK_c?DA{9(@QU5T`)r% zePCul@cn3S4ZIP2BUtMYaGfo}`lB=b$W-%V6FX&j65G{rDN+)7+KWmiT zaKZi=*Lr_Q%wK12zz~InjxvZfso8jxE$Wf%v&2zVVcC8LZ_R($|MnQaRwg$Wwgs=~ zfgTR%9J0~8Vm9e<2uQ#@kHCji> zSWVVR>K0YjV8(+cJ?7={W7#E#gGX~>aO5e)# zb)S!SMSJX&$``45xW?xdi4SSkD7y+lP+j+KH4cGP6K{;54c4(5(==yj>z}2r54U%C z1&#*vW*zOn+mE##^Y;`WK}dQC{%rhZ_HEqHiZ52dsj1oNPVjld!DRZ+mCNqfGX4FN z$9UC>H5^O-h&YgxJ?c(sthH}76@T|m8##Lz4An(#M&{)--Q)gl5|UHL97%Ub_;tJe zxPH@tlG96oyk}g^Djp^W>f>}N=Im9EUppygnHDo)p-Y+^3;W8JGkm^O#R^Y#$oo|I zS9x&U)eF^Ug_(rDu}ZkHicCdPRhExSNQjHS^8XzF^A^JYCJ^r<97O+@|Bt`_pa1*+ z_UC{2jvx@S0th(%|HQBUU;ckNN&oTx|N7^@xTo@e{qx_v@}Kwq*FXR9#eaMCzyA4e zUir^^|LdRs_~O64`d|P2H?REXz5loS=YPHlVtw_0&%giqa{oVj_5TDPM39~L9Aq}u z%2W^sl{*3zb>Vxef3W z7=5!3s($k2&n7PUzANj3HL;F7bU2(<9nHOfU$wwtn+BH?AJNoDFp~s6e{oW)w5?tJ zE6o_~y);9v(wZwp3@RxLVw$PxfFk(hkj!{JP`{i?;?L!ikc8p7Ae|_cc%_}P5!ydG zD#~f(n&cz8*0+YNtof7WL#lsP-rs3^IC-(q+hZEM&cstJqU@g?bt7@uFI1;+xy{G6 zK%?G`gx-#S5)oQO@R^_m0_vdmIH+PneWJA+Svw0}8RbnfG!S47a!Qh%hpD~?3e&zQtYv=NqJ+-u$2hS?~4{DzT! zs0|x+;UGQKFkzifScwtfR#dP<)z`raF6a9f_l_nCKvsn6)t}S{Yv;%3qnFed?3M`q z!@BRRs1aW8il(mnPoYf}wqKYQEpZ9NtjJ?P~}p|L2*@77rX@XI@$75GGy z6p{>3walA^10;?=sTc`L>@QQn0aW0iYf(v*M7mUu`PGCZJ7_@vzCiF7*H%>mw*uZ0 zg`=S{djo!GqEqzKnKH>L-RaYwrH9+8b(5cOUx+oi$Ue{L{;UIcZu+@6b_>5(8D$>T zoc%*+Nhr5@WJ&oWt^UiMBAGR}DT^7xKUmPrylU{WDX3-JY%~}4gJxL$x4NcwPK9+k zDJqCej3F?I@xBy@3gb_)%edouYiYpB2-W@W!vmp(Qv z#ERk@uf2&qm0UganBN5@J`Vum%UG!>^c*~b>y-4=^aHgH#58)W&Chckw6d1_OI3Q{ z-azTIFcm{;Abp}ROU)p4DLY3)v|tR|wdW7@rDz(o;2iOZGq`j#{Ra7V9sNwW74M-h z)#LSp3xxptlLIrZUPM--IH8VpMJeCe+5(}poJYKPzFDl&DegdKt)91SV@>J9rQh1? zC7KC-CVZ{Iii*hRV4SLl5#80wmJLbMS%y(70(6mEQ=}wGzU81r zl~lV06RG|AhNZ1UR!P4+oAX?f56A{5POB=*z9l?D;uAvQ{%0LpJlFAiEb%@~Z%3KW z4jQ#uQq=r3pwcSA-|nszf-2j>)-iQf%uZ={rG`z^9`keXA%%c`#V~vblHGl zAUdo0Gle4S%yaC{kX^T(W_#0nIX~qa#QA*!#jFJSXU(MQoO+LSX>A0am{hC&qW$m; zq?aQL3BWO|_xMa?5})z6o2e)J-VDc!i`GvZq!SHe9u#~aIxOJw>bA3mT`euAr|m|% zzaG`?2D7+FReyT=E*|%B{6e-q0(`Z!cSuMF>anDxnM~=H5L8ZfJmt*te;2U%+uV^a zf;b5%58_SH@Fi>=(u2fE(YFslJ6$^#-*r1O-UZ3z1im3RO*`fCG6yfZqk~%gc$T-n zNPH(p@VN;pngKpm8Y?KMF$<`UuR6dh#N)ax`^rS0c-8O{S)_Am{W)Q{EL)R?jZNq2 zLCxuUo^BMhK@a*o>zM;gRrMYp&XA+f)1(h?q>*j@#Ga>ic3sU#g%%!+;7dT*0DS;` z1yCVJo%W>ueovvV8WWTNj0Fl)3G|?qptRD?LQ<2F>NUAE@1cmvA)DE~1&p*Fq_Fd6wS&;G=aK_dRtd%&EEC6&PsWHV~h#`Oy91%;jCfkAS=OPp*BR zzy7u-7E~10sYOut%Psk5$;tm*+DNK4YCIQ0YbvyQ=!^O?)y-twcgf5~Js%ehWRMNbb>oQEUOi(PD?Yfb+e^F-0eR zd0(fNY7MXigC6)Ll2HP$Z%~1xO*pVhV-v2j32^qYt3ghD>{1qEs_+g_ zXR(vH@&<;9&*+O}te6CClXtV9rW~hWYRMIuQV2W|6t~u9$m{}w+^P zsb5jV&fLc$DKH$e-gEs^L=)!q$r0I|E^zW-%aQcp6t9`>(f(HuHl%XUIMgjzFOvy_ z+T*u3hBc!s&6&Dw_oPeGwouUheGD$Cj3E>$80Y0i5Tl(2y>feH2lFLtF|U^IMfEl% z)q6z)G=|EYtGdW2!zV#W)tR&cOjJ_bWjzS{ji8F*b)f#$v}1#-_=kt3f4kGK>c!{8 z6qA`D&av7`A_SGjDrIPNg!y+nL^7E#X%$%a=X?I5*lN;iM9Lc5#1&F%2b zXYEtMD&7@K+buVWsJ=Y+Z{$bq@z92r*9o=0==T1d(`bG=TOM5wh z_(h-fLF7v4W9@ z>8fk^`+Rtuh5HX#`XX66vPR&BWTr$<*UPlyq()>Dr&p1EC@F#-pE6mdwBRGLV7wrsqdZJ>UG9qRVvd8PeLj-{8lS z`b&w`W#Jc$8E~@-L-6y+Zx%BV{T<+&@V4DQ+hg3HN0V%9f5OkRcy&b>aSU#dkQI(= zl~twufzLbcVy&fZ3PWR0Kg-Ygh|1b!`;jqiDU(dO@LvSm(-){t0gh&qGaxfcL!<9} zHVA$c*_SDRKam=ZEb)s4buiL&?MWy~q^irs0?UZ*S$C8i23>=^?)kg3i^EmkxD2xa ziY;s=r*N~w1i+h823VxB^`@5zTzQKY+$r2T4pwd-QEEyzIY+;Hpd$F*WOifKU_A*? zA4G)+I(Lp~@l)ns?~9zScApCDY3f*|w6X@vo~jnVu~0Q}{qW+_=dy?v7t`v3*MO=t*j83Xf|)zE^25mhH^f3WX<@KFIsU$iZ*J?2mI&U-Z`jo0JH z`Ny2PHSzFVU*lE#m9GmY*PkBl)-5)+>@!R=d2#hqAs3R&fe8fgi~ea$R25X6rdWO* zOt0elj(ja+bMB8aE0w-7gwAah0fvr`&q5Ojlv7eZJ{e<%zBk*OP6 z42T?=Fi+=H;NRO7e4fgPjJP;RO}54&CHKzdW??+Ice+oJeNNds3;$Oro4s4Jm17Uh zM%a%*MCU$;&<|;NJy)z7$$HUQaD*gChs=l_M2~C5-5v@Gr;@K9?6YTz(+0;1O>KUy z(lUY-e=R-M`rz+u*_a?XIbEPPn#YKLcWdlKzxfb0;G?T!E4xOW_7uU#A_61qw^h`!Exa`L2IHXf{#l?{uaoO!b+{mMoZ%Vg_dOT z97n@H|3<;ky!u%x6$c7LqTq=AbJhjt9Q@%e3~mA_I{sT;gjjR$JY|<%K%z(5R(VMb zGtr?BL9Ps{Rb>mBViaeyl4mMUJwfpCAwj;m2>ssn;p8Kvf5gKIfhmkH)l6NzJxeew zkY5KD$xf*y5fXmsQu_o4M%bq!NhM?XNz>lGNTM>>{g^QIDC+L#@f0SNp;#D0W92}tZrt9p$(pK@5=DpqWt^*ZVlRt?DF0CQl%`HhFRm}%)$gw z1fLPo2jrLP4ZE^)Iet&wwH?wd$@HSS!ioXO=bGyX`^_oK*JW!_kCU%G{Xsn#S)6aS zaSXewcI+~S>4;B%o}t5mfKeIOaF+Ha2PO`eoK9K}Gt$$3vy4JKAM5+Lp$PqIp77Md z76+CL<@BicsjJx-LYh*TN#A%R{!%$sRlEcsA=LPeI*MV?M*j*m$cR$vfOZjgqsUl77(T?f(&PoEw3=&^`Jmpqy4Z5H;el?lrDMTU*{r@m@u1$TtZ8juUmQ>}AwMiuu89`? z0gt5`82ndEAA+w*Z0_y}&b9?1xo|}X6Ki~x%+@f?`9k*NS)i_alvnWeWQD4P_&m(&R3P1%zUs~h>7>?8g`uD*>psuLiFYP%)h!kWonJL+#}M2Kh)2oF8oFk&pOHx z{8zN~+n*8fWzswfjcCWt@egb@M^tBo7<0QNP3&;a3Ur2{iVhcgl(<&n7x< zs~*2h`Hat)#SBxsI$ss^%3NO;p1ZxQ59ucf_gE$+ZoT>Z8JR16UU z=Ad>OE&KZpd$x8M%C`(~3-=&@t3v#kD^q(YH&C99(7%lu1NtNArlM94-#ED*T{oKN z6`TrQ5vvu)zv`L$Du-LybH|RV&~xsYA+|I~m&-buyIS)!J_^ zp7p>n?zjrua$+iCqt1uJ(>^plgM@m?3JD>IiK^8R4dYoXx4kP`p1$vD`Q7UUFj(#91TNy zLV5Ae{-V44MHVi7n@^~H{P?pfO-D5glIp;1+$yW``@frc=0_&LK81b$Ng|S!`bIuB zf{#h$vt14H)yyi6>6F%5nDLIIzTM2ox_7ycNj9C2j6+gdd;NA8!_2dvMM(Q&)621W z8Q$AGIB?uA9f@JfezZd(%Ca$>yGnH{XBaNAP<-0-N46?iW)@5IQGWvqQXdcKFDa${ zJ~0Ujj0=s&K=ooI8vgj#_$N&5kXk#GP?tVR3#-gVv$73hIHW|uNFd3B)ZPPEW&IJv zJSgCmxoXXwbjFCJgj_y{&z_1esZgLthlj54jrj5TnuMSa(0{goy4DgNb(OhHuOCi| zYyB8t8ACc)lu!39yfr^0oU-GNur+7ccF=)wrcG^g|_;`f4q`K03 zzb6Y~gA0FJ@CmzFnMVCC3WtJ1Wf1;hhO7YnTlvUbi%~>aGi-OyROV}aRyA7SYMa@f z5`TaF&BLFeX(B2z(u{uiT#uoZtB3cwQ~HZ@2c*uC$GcLG03%+mSrMJEB8u6nEFww$ zIp+x0SXDreFVBh|g3kl#r`i(I??{-xh!sXG1WQy~Cb{x5o1)-;+wY=dW z*2p?=f~p&%`gvKs(KI?(>#ai1}*peU& zG14b*9Y6oosF(4n(T+}R@XXr`eG7%tiCf2u(d4$;!aUjt`(z#tKP^=Cz@&F1#lT>) z!mwBK<3OeMp{|o3K@U@%o|D9qD}gU9ULOUzEY38rj!}E62*O)m>T>d6~FhYO=H8ks?QE zUXn$%bW@wVEYKtPt_0=I+Mt0sRt*@9$v&a|YDQ|Y>0f^y z{T~Q5wN^pQF9VyHw8_PFY4AI9!-_xs4SQ8y9s#gszShxN z5XXrwdy-kkc+I_FL4@%CX71gEl0U3#o>Tic&&#wOi%MpS=P^GvinbW&uNtKX792WQ zb!|!9l1A|fhb6u46qfXjz)j$7)ihO*CY^0d&DVE4Iv$^k6BqT*t#ucB#UDFq`^M}m za_6S49WVZY$e?(Qbt?Qpr%T6_#OTGQ=e-9B!aw?iV?ce}02z3(O2y{1FWNr!vSgk) zhr#w}#5dXMhwQ{t2QS?RX<_4T_*KTNcDaq?oU&nMY>)EB>gtl<58qas6LudR9~g(3 zEvOGyBcoT7gdnLjiwsXT5edOJBp5r*1hIy;QH(vaQ?$(=ADQ~#UTddeLVcBnNtAjj z`!-AWnui@`0^HEV5uN}h*<&x-@|*h7q#gbA4GTFjx>lsn^z8MRmzD)VDJ*=GWW*SZ z-@{t%su6q#X!}M9$QPycZQx=P;YyTwTh%<69I4re^5mS7p6uyTKIH2UzhB2(2XNdI zkBQZ7j4+gj5+u&4cM@-q3NeMudH30;8147PVms%bid2q^KJd)s>Q8S=K|mu|^{qUF;R)jK+@xASDxh6O+_%bj(<_aCHDD>e zw~!X3&|O5&Xz|i=kW+33k`i6Auh9Z?f4`DyJy3A3&Wo^Lg@n$%6{w#|1=)?PIy}?@ zpUb+XBtFjoG8m#NQ|col71OmAWS+&u?BA})B%N_$bPg~#It$e(jSh?yVwuNbVmF@o z6Y-uf3&RN~h29MArQ~HiJG}>E2!E`vmm{zf9t5STyJ4^MZdH^6Nxt9?dc16Q5;t_( zI8B{`ZxdGV_0M5H)zvx4Kf6z|zt}2YWLa%76GrQo@L}e$R>mS>ggrXrlD&tcHtk)3 zY~nyi;yh{!=c7K-Ye*C?(0?b^b>@le;9(FN^4=Gx3G$lz0N8!4*K(01X2Pmd7H3Zx zV>;}f%BV#z`PieLB$&I-*6w#&zGFT>{`6t0GXxS~3t-%D3^>>btiUy#+Kw=t= zv=NyaMhbMJ(pIYM)gC?#%w(S=f4^vTtooC-&aIAhnuv$+i~%oM3GVAD_hv&Gp6C(i zX`j;Oy4t9oI1a@+Q^8I#dIwMS_X1`I_NKt9`w_(X^@c#&0euy??5*1Sj9Ksa?hnyldKmvCGb5&ix6cC3^Zj>b zH^Ca0{&>De`w$U-yel60?zMXM$NkB0h<-alpDInnoZVCJLM>u@1%;W)dn@|Ql9lk! zi8!+p%gJx=zP+ta!WSXVTPNg2pIA^M z_{B6A^r=AoFW7xyQQJ>St@saVe5Mk6DtWBlPPjyaS+Qv{Gyaf7H#H6_5=f31=@&cL zwwd*%H#UkTLr6a{x|B~+rRS+K$uDxyNXW2^n#|dY+v?+E_-RpF4}$-e_ldfgkOys~U-(-sZc-%t-AY#+x$?J(2d%#>w{ntxSdw{46m z(WSe%l|{9cIC+jA(H~MH zTcWP5_x(>L#z3+B2Yy5^m{LG$5U}5h^bOGenoPY@94MF=H<^UbZvvU84;h|qu@jzW z?HvmvI2Asj_+phlydgV-vd9{gj*NI1y?>Ym{kDq-74u{+MX^aM$S1GhXE%E=INanR z{~JJePJrLmAovDAe*_>uU#+XWO73UT+oHq>>TvwJKtBS!mxgY!AL&#m1^v`z24n}p zK%o}p=v%S_vZ4^#1CFiG!y@?Nh2Xbeg}#4UwdL9P0qPk1p1NJb7u&z5C9^#Z2f??4 zAd_^02$b4BjZ%|L@&VP=>SI)v;E2c`R?l)v-o%%jctOTBe_lwlMx}j>*cvt_RdSb$ z!*SXTglwU&_q&;5(6aA2y=qBGKUp$Ym&kMv3F=SQljB-F_Ygqvy&>~J{EJ(uvw5XN zuPsRWkY$(T*S9UymSg77&Y6oX-?SLB?7u?oBnH;ZMCy~|Ci)%7;ylVWP2YGs&b;u= z2XL*gnAwYZzxxzfMZQr#sjG>nTFW)4UwY;Kc>f835?rN%=G0y9$p9$<96{B)zv=Y6 zOn&Yy{~W_T`qx|htcQ*r9J)sA;=j}S@JOiRKwq}9R54?wOJG2`QWOY?tXXHHwuGP2 zAz_-MP#oZ`_Apr9B?>h;_dN3Bpmv&oJ}p|Rsie+BM5~ot6B1tkn2Dl}aVwtgeGAqd zp7z#X_m{zz5RHZu>QFwV?cVYu-Hi9n_GPRe?xe1gfMTR`(Vcz*%Nc2wcR8wKGD1n$ zfuF$VE8MyW|D;3om4N+cnN%ztQ*6~jiM`*vJ8$SXG;gc=YFz4H*+y0g)B+pcYrq`b3>;FdZ zi=jToi2ARzyxl%9_tdd`Q2p9Bf#E+^e0;m#N;f~9UVK-+r?qh+&$o2^3yOw^w(bAB ze)&t|0ac(YTiu!<U7Cs1iGnd+T zBT9>L6XVR{L=pb(jEoGX&bnmCb=qpQF=ecoapct^yeYKjvuF0UjQ?}n6JJM#hDCml z*92(NYI@^7F_Kq9qYvNvv87MC;AYBPGh z*WzW9{fw({@sefqxx~|MosdeLQn%eyk`l&lUaF&=)u-a&_xF)ic-wY!xe8*uCQUL=aiNh(Kp!1Cj=fsNBiVQ3Q=&Itbu zL1rEbz^{P#{wSG#%e$*=qpzEl>QD)^pi{&|I5Dh)2a9Qq>rOQK8;y$Y$J z5Hp6sNS^kh1DY22L*el(IFecNuB=j53=Eol-2cgioCmmqrzJpc1a)5ge;swzq}Z75 z{*niy513X&JcDy%E=fnGI_^J5vLO%Bjsl>nh(&NeFqV;nSz39+kg}32ydeO#7{l^8Q9B1@OVGgw8tA&)lHk}B#*0xR zg1X(J$LFI)8VYAqaI69-RfkkeA3a|5T{`cAl@+V{RN0IqwFXw{hvf7MwtgeQ=ZxYY z+K*<8aTqcZeg)bipc%5@WhG)-eSNPr+w4y zxF(#0;VDeIYvbDxH>~l^NV#Zbm3aT%Qj;1!p z_t|{tdhIs%^L0gun{1oaCK1Xz;;!^FSi>lMb%~LOK#}82`8(E>ytx{M^zk{O-nkcr zy~^n^t*x#(AP}Yb^L_V z49?$~H$Od_ob47%5|iMkw7=Q#Wi_J?QX1*QRTwExWT~0TK{)(D=?=VW;6Me!PE+Q< zh8G@T&k3G0zBSSGXU9lUVwa6pD&;D(3&vYS@CBf3$$@ zl%Oq)_QC`qxv(sWbfwg9pb-{6zuA1@r=}9fg8oQzhnJ2_Q$zpa?PX3Ea8>9O~ogr!e&e;Q1 z7PXQKDC_QLzq4*lSN0b7 zZr#I&Gnhn_-vMj0sjt)D{xyHaU9~&?RGIkeTU{lJo_v14zQp#xUy|{Fl9&-}^(z%Cs82ZUD>i2NS+ubiO}fzP0cWY=>e ztdFegQ{QUDOS?IC44TA4ve@Z3acAYXOMb$4)0TcDT8oB4adYkT%Yk-DguBQd?qSfR zqbT&TeEyr3FZo0iD&eNS1?k0}D~2uK&oYhnAM$=Kqa7J*d5eKWIw(V>(-&U4V&`YmU z@*eWoq)^3W5j4j){tg`+0S9TPO}<>caw(H#!=QgEEeea-0r z!7nD&A_4l-MYqO$$iNV-3u|JtBy_1szPzeD**@$#6>Brs79+)Hq&AjF&DD=dP0tqG z*1M7h%ai5PlPeXcwoB15{OS7juI9=p?inDDG@&Bn1c?aHAIe*;6VtG~tyJ%t_L=*B#a?t#ff!>k zt@gZZ@pRi?Vi}oSD~4!Y{m~?F?>AkMeYr-Sc&(A&YnkiEEZNV^sreKHuyG(zSFVHT zFT3nNMJKoiFz|36pRa{UeDZ+(2eni#tNTCjhj>3f8uZ@4Ac=^t@Y{)pvk#al0<9_) zyRCwaaC{!aZRAK+ej+i3*j{k_^Y5q{*UX~4KG!C8Q!P83Uf+F9xJWuP@uGqYP{??f z4<4^iK4N`De`k_Z=XV_ZKGLI*MQ!>@I}I2xO2y$Wx0VM4Rz+#RFYuLtOE?4PS%J<$ z(Ig6UD2RB^Qm)PGdE~;Le6HViL-cRik`*j}f)+GQOxJf=4PUG{V-Wt~hPr(k1o;`H z8Cl#^&QX5+K`2)&;4x|P`f6#`7$#^Q9di!T3`<{pEqQehkUOH;l%VWG7O75h~(xo~F0YFLd)35~Cs&|3#afHB>W@ivle^ z{r!A-`^SblUq&r%sR$VsdDtJ>R}~1p9F&|H=wAtStyfh#I7;n)QvL%Yce5|HgcKyZ z+eaUHT%wAnrSa0|N!jr6g1nA2`kGQ?S`^O{-qN%*$?=mM_sZXACA)?cJ>TI41;uo9PF?==7ciNq8C+Xx>fYJd*8Gt` zizSuwL}Xo2s3Spa*1?A#jPz;#`f_ZN0Q|odip6#(X@f@?zyu9Z( z+;n+|UolEDV3&JMb?NFfZshDV-L*bwq&mIdkX9M)y)}>Y>79s2?zW~l!hSnCtVL6B zmL3Q$ay*7UXPm@Q{q>yk_SvhWlEa$MixcGT!o%!RkdH+#t(m{19+ip6mgV%imzRj1 zi1Un7c?M*d+@0>|e-c~n_Bs9LlvVC8ecQA8ZNJj4<*W#D8k+f4iW^JOxHg|zS~zRO!(jgZ#ubh zfp4yGSg^})UP+;6os4^=w(&ZNMvx~Z1ZcNyYtYeJq3rJLDOf`+*0veSnbDG2MF^E& zs|r8Voc%oXY4oi+Uj2gLLx`VHS0na+zBxU)2Gl=X?%}Ezw>(*LVjgqD^;2d|7MM8F z2{cJb_>odSsVeP4Q_zRP+;^FVv?59;HCmIsJ5vn>=n2fr@lffH@M~D2MT+6KSups& zIKc-5A0H9}PaSw-`-TA}d@P#Vi1K|&vOA~N8X}`5n$yaT9+@%)uVNf#686KT956*e< zknE4ed-g}vc7hAEUr@32P58@kJ0EAI<($t);2C*lnV;QPuVE-WZ0^6a(VIQ@5 z7wCf0#419{s{4s%Aip|nzCQEEC(eT2g=EQ11oS~F2A3QU65qt@PdSLv%pK;~MuYAwnSqh$w-5al6%YhUAx^6}?|D9b#aQivITHsFz z*GlNd@pyu;Kc$R|EsB&xah5ZKCOVNit|U)rs}v-h%&O^!&)~xZR|#`vNbIuY|MVAD zhngt?_M@d@v^Y#OA#LYe$=q-Wyd;0=SdnG80+AZ$p{KPjuqdeQ=t?+;xFl@TpZ%LN zQbXd$#zVD_>P>(TZe51$t!5h+7NDVj6vw?QELh*&h-UjhKA?)QUmrpz&l9@lrO^_w3?y)fLn5ON=%xJCl)VxM3fq#)`Ibv4DSgfbWk#cT!vM z2cM#^0rucv>MZ54%2bMbh5Z z%cd#7_hFv8=)27!kO#QRNsF6i-bN_PY|$WdnSr)XnA)4IbnXj0}#}iTH35RAg1JI>Vn* zY++0OPNiP&Cu0@g)|xl4mA(!tcCk{IX24;H?N}7cpp7;Z>OC>$ zJnCNAZ5MDXmhrZsPh=sNrLC>sN~NOAqzxM5(a6_%zcTV{;|)a8j+h#KYJ^DDMugX2 zBhGwqtb8pe&kfkUD=cICm@2WMpOr$F;lw#QAww`v_VVkm7HH^1M-gloleI>LflE0*rmg4MPQjiTl(ARxXTj&4*xxz&3}5=?8mQ_ zLs9*2{V{(Ghp=7%$d8?KMbopA{*2hGDrd=vsswC={RBi6 z`#}FMmCT*!0%S?P`p6-aeu|jEc7J;H^{=komHf|6ZmY!aYnvDotrv1hLinM=3_p!e zEm%4p${s9UoN=DrE^~AfBg|KdxY!&YqE4$xRks1hs!}}8Uj#&E+qs~x(OHzKw59|z zT-F#of@Hs%$v@7Ha;{s;(lwiUvGHnGDa=n!`)tl=o|w6X^9B}$Bt+p^jma6*Q}L#p zoqI9RCf*s?7f*MVbI)#xyJ2+n(vCUs{zcdiA;~%_2lQ7n&Do|H`)^Ea;`UatQP%%n zy@?{!K%;OG=ZrX6d`Lc~dGQgJBSOO+XAi~Tep&y2wRe_LQN3T^AG%|Pl9ZAX5D*Xv z>8=50NR@6RrG=qex0Q9wW>=03xHujl{n_u^Uivz|A<^I}+wv*vU5 z+UJ^cu4`X=@9)u2Nb&eOi*5DuI9S<+!JF?3J!b7}kIWP*B`KoxQk+DhPp0cpd^`x6 z3UGh%lc#GRPns;ixWO;S{$#h78;J7ocpW5m3wA~%OY*(`R(El5=x}zUI$}hvg|5WL z%xvloqhOYJC=-qpqtp+Lpy${6@M3gpfPhmp`swdsh6wlPGblbe*mNr%4 zz{*krzbsCv)%ecNVuEPm9<35Pp3pK66rTxE#y`D~l4GQ? zlEMOGNnq6nevw0$i$L)o(PMBqpk?KOJ_ns6bVPna*Ezr>xAo{8FlrgO$iK){pH8TL z6>j=I_2Z7)>Jx`*<0nZQrlizyz#iIAJ1X52c^kx8C6rYdm_RQ0d>U%mlo|XvqlCCS z{ce6sOu=N=ii%H4xeBV<7^FGdv$2pR-6SVx99jQz{b;uJS_GUC<*V5?bAQ=*qtfZ( z^b}(ovCiQ1*B#E_^KEg2%<5~QQIGxE(`D49qS7oY^QCU)M<`Pz9-{0gB(wDZ>hJVH zFi(BX4APp60ykRwxq6$6?9YeKFy|bh&AHgodX-|dZ5K~G`Oe5iF4u2&eoJ4djo@v_ z=VW*XYi{cjU`Cwn6)t^>Gd+Qh|Dv$~f+d-slvwCcd@zNn74Z8SO_uLu*NR()U}x|3 zU%@Xhw_ivu%w!!-CA>>J8lB#qQTRxe8xJLT$&PgRbMrRL-i*~HJ4#ev^sKqVNcScL zWjj}OQHNc{fvuO;iCM#ZotZR>PYgL02Ks+OoH1Jpl=jFmEM5^|3AdX!e_dQtKKNxy zo|lKowlZ1&i5pqO(Iq2emDPQcQ`+wPZu8rUIrf~^Gkpc60>b*DcMBHm8VN&h_^1SX ziB9%HCcV~w$fNia;0!K+uj?G1G_p#y=d&LFpk8^BN%CR(g&GNs>r^=zei9^dgEg9tBML4p#qkMwDSoxVVrDLb zJ}BOmC&fYxrlD0M3&RR%<>to2-lqL|xPml3yZe2SgWYH<(FQosjFEq@{#%R;d027b zsXQU-_l|_QnTu}pPriIuBuDKR6aBwTzx3$DV<40m0YPjzTa@cuuVa3Zm$iIw6T}YS zc75Wz3-OG3;dF}}Me2r0eYo=vBoOE?-4*XFL{uJrvW_#XKC9mP?3X;LJi+qMt3efs z4rKls)5DGvO9dRM@--?L{lQC2ah4v;;fEk5qU$SVh_vsQ^_iwBS!B#{?$NV0$}P3e zFydBW+9!AU16&a5x=v6+V#>xs>Z3{W0q|;g?HM@_zCRc3qm9| z#0Q#3FXBzQRo_hgSjp7MAMl@$d%BVVbMwOP7J+K22~;MECqq(2@oCbYkRd$p@~Z{G z$|(M1GD4DwZ+5*l)pk>NLPZh~{NPGO2&|1@ch;{j@GQENadcO9d-rw#^1t&|-}-B) zpAEZ2e=i(k5%@ix470MnSrJ1B{IY9YJ?Brn(v3Hfnhtt{@{cq`y8HuZP%Sx6=2EJs z2D#(w^WiVCGQlYC3i1S)a@@A3O_kTQf!BkUrLF?8;2W^yFFTo9PTI9cUgS_t81X9pWJzsQ~ z6II}YD^f`Uv)a6>2NxfrzTN4{+gvfk?xoLr- zDs0cXDd5wMrN8kFGSvpfhk>Vq0DT9w&p(sUD1DhqwrB21fza8A3cAZfg?Nw2X}`Q? z2(yzWc8iIUb9-P7gWxiKAI%^i8nI}GH58}9P+ZNdDB zfc|D!ibI-8a<+$4$M{kPI~6ufY<79^GC86wyFCx zRo@9$3-%VRX`}r=FbK%cKlc5)yeoNWJCjO=q5nyaib75qWxpq+Ot%x%9h3Zd=~$7~ zrdM!N2YQczcZ9ZT>x+$LR5Z*nVR&Vns^^V>@ynhc3q(2oR;QJpEMdA3B>n+`m(*AUqQ1?uLoEjs+sJpV>UM25)h{I5nf~e zVNPnR8kN*Ox~UL36PWp?<>6?KHB>myocUR;chc6)taGTB<$YaAr_7!f_B}gzSmBk@ zRIwn3cMZxvX<%u#PEgXMv+OGsbpOe|HXphY@71&sb3u5E5w|6UEG@r^Vktg;zrYys zx8kTpvS^|44=t&@JScFO{Fgc_y2&65re<{==`cQNB-Q}Rj$RK)DR#6uoQIYmj& z=|;V?xkrPm@j&3~g~~$?-xKHfdh?WR6V8t zdGO~k7Ae}&L!~c9}3ND9Q=Otu$D&wdV-ZBvg>0C zd05h|VeR2c<-J$v%6}o&RO~K~TdR$q1%F7Xl-ITvX)74~%WW?oa~OM+M$q_}+lsw@ z(P2ZgT0a}b*SpWT_5oGDz{R#ZOCz0kt%$s+axz$MY}RJr+xD}*_p$h9g;4Sa(HYXL z)!IF9e2`G}P?Kx+Z7lsa9dddoyxdW!+~>ogdmBe)!xCp_nW<0jXl95LTcMGW-p}YJu5e5!1uv7k9R*s&&fuUiqr;C+$;*%Ojra5qy?bfNgKL1|6Mz}}f%pTV^H?rTjTG2HAqoGGm#kxs z73q7Gvu`W&@l%rgV6mFa0N-Bbni6w2jR6x+aY=DfJ|Vll7sWBdOlAnIGLN+4d12wfC9b-YN4b|B-eV&y zoce6FlqmiKNTdf4pNvVCThsQ2I-Y;GUwnIbI(O2rt~}B%lZ>V$Vs9wC0?hu@XjCT& zxCUAqFlpL0d`Gm~oL04;9~>)e0{TL?*M)L~jHE1m#EukDrF<5FiYd_R&b#^!9?~X_ z22f{Ma(5)=*aPm@Ym{cZlbO+9HvUTLbRcK;f}n%D_-*B1h#tlZMLIhQ?_5;#cw6R(m?$49$|`S%gy)# zvST5^rvz{UGHuyyG6}*&7=wjZCnPN;=JiUU#ZaMqa{m5rWHsbi@==F0_LKV^cl5Hu84pN2^z~c{ zEnNxi;fLI`YoC`u6y_@9YNxU=rSWMGm!%c!Og~w^$V@taa&{9xp}`mF@hEXOx9_+6 zR}&v@-(yE3E@t^@gohI&RmeTE`IsRD_@sO*r>yLS1c`U?9~nmU;XHs3A|b|RFwe`r zJ|_*Cn=g;F6np*_zv}X;Y0P8$+4t@7L`q)fa0;%8r`{a1=4o`lZtD@qOXN4#Y5%vP zxI6ntI$!}bqD;Xn>4FGIW!RZj7thKO%6`Uc45U2h6;1Q`&XS3PK!^|`V%q111Z(Kp6gj|s zRryr8Ek$W6CUKu1#m6TzNG$~oX{W%eQjDrvOeOhhBz4^VJ@%1V*MIR+)TNa&a0{Pd zkVYxPu+j6iOkmv4wTI{?>v{xIq}5}fOhpN7iH2{3%VcZ9Pu;_ho~?n%GE!=0!!4z? z?)EoH$jkfzeS~|-cxP|cY755c@D&Y3%95y!35?Yd52sVSkJkA_b=if@;_=Wn5V&~w z-h~A!sX3yM_wRNy`X>B4Esj)X79L@l*(m)^RFpZ&OCCHSR>$M-iHfbx<>dFHG1^IK zpyTRoik07>aR~l&uF<@4e`F8Rn*5xD%@$Y9H$>hgdKVu9lS2Q((DX?`u*ZT;mRDOe zBaarq)$*<7$$Potiw11uZ-yF*>6b)YfR?1T^2-Ied+L&|_ESa{@B;#cbo8a_RD!NO zHj8HQJsb`t*_C3yHMHL0iqp!by zaTa7?@^SiD$-xwJ+REyQ(R{iofnokK6V8O1U|gEU`fz@SJaRFD@=zp9GjM!``h<>C zF7W}14*{DB45CdafpQh0a&x)TW)!u#%`)Fb$M~9^NTbA51(e=SS*pG%q0(3^w1p2z znDqB8Z>Gu8y0uk#H~vJNYR3!l=%uRt^0_~om!*=zXS77Wp*%KgY^B3d{-;n2>AhJfdzhzP zWCKB%TD=axa1_6v-~wBsXSqA_+`k67NG!I!P*l%AaaLp;<9N6uaA=3USx z_9_(|0>*Skvb>LO8joz0S&hGNfeqf<-Q_1sKy12!{y)8Hy;}()xAn+J5hN4Wp;V7J z2pL>Qe`ZOOC^X)vwK)^mksn*0l|XEh%}ex`g6W zDC#sG9P8W*B1;b^8Luut*{=Xe0`i|ZRGP4)rM>5#%vvK)%#DGc`F|g$cYm&r5p^-S zQwMKY_4-6u(U%W7w&j>A6p%NK8>9Ww2OVV5V~@>oq4OURL0Q@bha?<5tI3vXhZgD zk7NU;{t724gqi~{mK~W4l5O^xKg$i^ zxeE$m2KQKmgI~cUN>W5h*jx|sSSt+*6M`NO^(71I%V5c)b>922Gs}fX4A=?0;t`y_ z$m+J^fg1$!1>y!#X*_XfzX_NC$lnG5_Vc_E?5jMkRh<(!vkP~CmnVOJro-WGk;7#= z#@ukhRj&%e7S( z`Hrt_=SoZ(0aEY_k}e8*X!1UEB$k!Ck4{J@_`o389ItDS>+hbK=VX7C4vOzVYIfuR zikE9@n5lWqaW?+>gh+%WMAt(X%TS7?|3;|aIR!g3yf0vf!6xb_+8>PIhFJJ~KkUY# zq^=vpTK&VsY6qk*^Jb0e`Q&Rh@H1AOk8kDWhRIxHOv$NG{BW?13>4^}#)|nefYF&p zr-cxho9LGAA9L7t=NFcT8GArQBGF|I)GyN>nlyIXWqND6+?K{w{S~jd&2W;*GT~>6 z?BTldHUv;ioyTw2wb^iJBhbyyXv@{8gr6KUc2M^PYGF9L)jlnk-ruK+R(^Aw(`VwTEv}dV;mUR5&5|X*bt2gPzTtOAN_**Jkxzj*OMq2 zcY9>D#Q#mEDk^N8?!5q>_L3^&E-jn-W*fr04X(%MrUsV*vEY!?1>s8sWZtds0%?c- zzCqdV5?74B>&Q7sm|I@jTUUp?STQy0>5J8lXH=z#1Vd#XaC&51`1$Tr@ZN7b=T z=>fA$srV}PoSTxoseqBJ&X{AKV)P+R$JeQ<8{Z^VW?NIJy?J8tr~Ze`a&laD!37WZ zW^W!5bNOQFx+{iAO$vGtVJJqU1?K&{o8M}YJD+<2^^eZVS|9Mn3Zy4p6A1^Ck|tel z>S?pi$aDXnKnjo(`fI_pO7c8ji(C*qTHp4Iqj z{Yk^oi2=no0rM3@QTnah!H9`WeN8kmtPk5W>O!B>Lq3mEbsL?!VGA03PU4QD;vbgi zXr6i0jDL@*;m!R4el}Ia*AX|*VmqiHL!rWhMAi;uS$u~yncM3a{W(_E!T)(aFo|*9 z)$bn-6+7-c4Z?lGuf-hbHJELs!AU~Jmd6QZHw!x9lj{ji!t~6n7=zzle5M{_Y9z?n zV4R!L_KvSbyRwK39>3Rg42|E%+!$xMpE>;0JA;LN;>Bz>iJM2mwfADvCom_kYel@5{c!*gSJgbv4VRvcmS!5Qan#G`JpOttT>eH{1>a`p6O zPK#qL2M;Y@x;o8$A_XRkL@XL|7jPfSKYUbUV`2!!*+@+;0{OVz5!QGw@HhK3Y}8%?UhEwz zK7c>?RQc-`w{nHpD2o3KqWm!rG!&975=bM5`DG@j0WnsdbiR@70n+JSeo9M#>7oQ3 zUJ!XQ^=py0*jvqt&d=(60QqypKl4^sOb8QFULva1euWe5u#iN?0@wpBT43RZ{V(BThXc)BpIvC$-jq1u$7t6RG!FV^64fhxe@qa_5B_m zy=2aOEM2E1JdE>u&`>iYRyAXi<}tIpBq!>HB7Qa9ODaYVpl_EO@75PkvV5RF&lqVk zG8yJ=RPjKux4FjURiql00f{}E5msC2wS>{Fqi^mOrQ!)z!MO%*dyWaNd*xwG)5;OQ zN2nTBRIjuWJom5ST_Q}03cP53y~~!W(WpAGA7wub0tVvS!1`VATrjwv)*VTTi2G;vN#M;Zg9TdAiQTmWz|f0D#h^WDZ}+;J z6{YUlx-aVz6d!17GqJaD@174YA^E`m={TXYlmk3Vb?fR~EVrG6wg1FV-M5IHqV#Ik zmV1kSpqx@*9L?*NG-f@61Nj5UnlHB6QWb%EloBfbm^%clf!7eiEZWXvS7@~|mkhW1 zhuW7Mq%J7?tsrGwfW9QAb57-@V|!v=Ue^x`fw|(>$40DywQ)pYdD`4w`0f?c(H&lal%mb8)mNg2hvvF^31Y}OF&(^D=hYii!R^+OHF6$`AN zb1kWG`am*45Mxm%mZuf&HTxV0~KT;(l?qU?h=YequUQHf!kj(IZ8~L_d;mH>e07o#frV zV{V*DV6Mw%^WXpLPNC^;+w&IA8pIS6?qg zYeW-|)~AnFHv4-;@N3JNu%owWX3YpF?gISq3lM~n|rh{+0K3K-o6(rmuzg; zq7n@l)I{f_|M&s@Gbu*PgAS&bVC(B!H*eKvC_V`V21;K^w>A3o)(MzC-(OfjTzCR= z;QM_DA+_@JS-AybMTb+~&5^nlfs6dwF?gI7Y)p@fJ+D?7B-|+LCUt>BFx*99CSxrh zVsrn*%3#44=*64teIMzK;uC{qAt-(7rv0V%+%x1^2hg8rMZ6!T=Wb~0lj_14x!1rC zJH_9M<>&9>w&P$FVKd#77k3!I?EL*)gqOTOZG3c`S&Y3HC}?s%t@s@;3}V&QnHZqe zs*AbHFQo(T1Nng_Dy?jKH-~P3k8X&7kNgH%^~di)3MX^0vXzA?LUWOLOzysiKDenc zUFc3@hsHE!S5%7?eYNVZ%6@O|#-facNBfU_ZC5Tbqbj+g618aNB(U{S_OpY(^yh)b zA{8?Yb(=bRD&MHmw@ndWrN1ao!y_^C6OR+D~8HbCn?Mf%2GbMzaRfg z0I`aIk7lNal*+odaE(bF4jaE@8t!lt(h!!Fn6UB#t^Ldj| z{p%Epf<}5C;wsT>ajR@$43H4#D(Ut~rc}_Q1+o&crba}UcU0^H@_3^1(xhh;g~VIa zKBzDukSI#;Ry>kJRw)Qih}7Xqg@40a>nEx;)lB=0;+udkg=0W7lg`6^&+)lRJnecu zI&FS&4~E*{1VEc)N0aIM-XK?2Dh-_laI)!P#$T}>-BEA&%T0b!qfbr|N{jY}X+INq zc*gQ13GVtX(Db#7f%iDiclcfW&>mvI8v*EtI{O{Q$|;1RB@t&ZiNe(p-{$HqWNXjQ zQ_!T-!bVc_GsHSj+}lkOpZk_ynUh|e*%hI?eWDxYj&m(Q8)T2uKgRB{eweIH=_O6V z)}8+cs8K`N{~D-23PAOr#QoJ5S>?M|l4*z2_$Us!{hktiUcM@?8VM{ofjj>~jk0+% zTtuR{A!&z}qNOGSj~cx+@cx1tG{%6e%!3_&eU(LqJT@Xs8Ld#0c@EmYz`$23) zok7#O&Wu`Gw(NTC9cPVm{W$`|m*`x?$hn$xYZhuH9N@P`@dav~}_afu4y`iu) zenHfCb;|Jy{hj9doB&1OMMT{=+YUL^OQ|bt>|Bna$_0K;Kg@66?uYdm81OI&X-|_RWfBxA6|9tk}@$>)JKmUDo)co-O%pd;Q Mp#Q70|F8M~1({)#fdBvi literal 0 HcmV?d00001 diff --git a/hello3.mp3 b/hello3.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..1de7cd6178abc01cec81ebcff6f327cc434750cf GIT binary patch literal 4992 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