From e777af60c71e9b7a1974bda74a21638969438fb1 Mon Sep 17 00:00:00 2001 From: FengWen <109639975+ccssu@users.noreply.github.com> Date: Wed, 24 Jan 2024 16:16:16 +0800 Subject: [PATCH] fix ControlLora usage (#565) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复 controllora ,修改 length参数触发编译。 - 支持 OneDiffControlNetLoader 自动缓存和加载图。 - doc: https://github.com/siliconflow/onediff/tree/fix_ControlLora_use/onediff_comfy_nodes/workflows/ControlNet#basic-usage --- onediff_comfy_nodes/README.md | 7 +- onediff_comfy_nodes/__init__.py | 6 +- onediff_comfy_nodes/_nodes.py | 271 ++++++++---------- onediff_comfy_nodes/modules/hijack_nodes.py | 100 +++++++ .../modules/onediff_controlnet.py | 16 +- .../utils/deep_cache_speedup.py | 122 ++++++++ onediff_comfy_nodes/utils/model_patcher.py | 7 +- .../workflows/ControlNet/README.md | 62 ++++ .../ControlNet/controlnet_onediff.png | Bin 0 -> 1034297 bytes .../ControlNet/controlnet_onediff_quant.png | Bin 0 -> 1056475 bytes .../ControlNet/controlnet_performance.png | Bin 0 -> 134936 bytes .../ControlNet/mixing_controlnets.png | Bin 0 -> 1129115 bytes .../workflows/model-speedup-controlnet.png | Bin 1102475 -> 0 bytes 13 files changed, 439 insertions(+), 152 deletions(-) create mode 100644 onediff_comfy_nodes/modules/hijack_nodes.py create mode 100644 onediff_comfy_nodes/utils/deep_cache_speedup.py create mode 100644 onediff_comfy_nodes/workflows/ControlNet/README.md create mode 100644 onediff_comfy_nodes/workflows/ControlNet/controlnet_onediff.png create mode 100644 onediff_comfy_nodes/workflows/ControlNet/controlnet_onediff_quant.png create mode 100644 onediff_comfy_nodes/workflows/ControlNet/controlnet_performance.png create mode 100644 onediff_comfy_nodes/workflows/ControlNet/mixing_controlnets.png delete mode 100644 onediff_comfy_nodes/workflows/model-speedup-controlnet.png diff --git a/onediff_comfy_nodes/README.md b/onediff_comfy_nodes/README.md index 80a532f5a..789a4322f 100644 --- a/onediff_comfy_nodes/README.md +++ b/onediff_comfy_nodes/README.md @@ -137,9 +137,12 @@ This example demonstrates how to utilize LoRAs. You have the flexibility to modi ### ControlNet -While there is an example demonstrating OpenPose ControlNet, it's important to note that OneDiff seamlessly supports a wide range of ControlNet types, including depth mapping, canny, and more. +> doc link: [ControlNet](https://github.com/siliconflow/onediff/tree/main/onediff_comfy_nodes/workflows/ControlNet) -[ControlNet Speedup](workflows/model-speedup-controlnet.png) + +While there is an example demonstrating OpenPose ControlNet, it's important to note that OneDiff seamlessly supports a wide range of ControlNet types, including depth mapping, canny, and more. + +[ControlNet Speedup](workflows/ControlNet/controlnet_onediff.png) ### SVD diff --git a/onediff_comfy_nodes/__init__.py b/onediff_comfy_nodes/__init__.py index 88ed2801b..ec6d5e2aa 100644 --- a/onediff_comfy_nodes/__init__.py +++ b/onediff_comfy_nodes/__init__.py @@ -7,11 +7,11 @@ VaeSpeedup, VaeGraphLoader, VaeGraphSaver, - ControlNetSpeedup, SVDSpeedup, ModuleDeepCacheSpeedup, OneDiffCheckpointLoaderSimple, OneDiffControlNetLoader, + OneDiffDeepCacheCheckpointLoaderSimple, ) from ._compare_node import CompareModel, ShowImageDiff @@ -25,11 +25,11 @@ "VaeSpeedup": VaeSpeedup, "VaeGraphSaver": VaeGraphSaver, "VaeGraphLoader": VaeGraphLoader, - "ControlNetSpeedup": ControlNetSpeedup, "SVDSpeedup": SVDSpeedup, "ModuleDeepCacheSpeedup": ModuleDeepCacheSpeedup, "OneDiffCheckpointLoaderSimple": OneDiffCheckpointLoaderSimple, "OneDiffControlNetLoader": OneDiffControlNetLoader, + "OneDiffDeepCacheCheckpointLoaderSimple": OneDiffDeepCacheCheckpointLoaderSimple, } NODE_DISPLAY_NAME_MAPPINGS = { @@ -41,11 +41,11 @@ "VaeSpeedup": "VAE Speedup", "VaeGraphLoader": "VAE Graph Loader", "VaeGraphSaver": "VAE Graph Saver", - "ControlNetSpeedup": "ControlNet Speedup", "SVDSpeedup": "SVD Speedup", "ModuleDeepCacheSpeedup": "Model DeepCache Speedup", "OneDiffCheckpointLoaderSimple": "Load Checkpoint - OneDiff", "OneDiffControlNetLoader": "Load ControlNet Model - OneDiff", + "OneDiffDeepCacheCheckpointLoaderSimple": "Load Checkpoint - OneDiff DeepCache", } diff --git a/onediff_comfy_nodes/_nodes.py b/onediff_comfy_nodes/_nodes.py index 12aa257e4..aa4cd727e 100644 --- a/onediff_comfy_nodes/_nodes.py +++ b/onediff_comfy_nodes/_nodes.py @@ -30,8 +30,11 @@ from .utils.loader_sample_tools import compoile_unet, quantize_unet from .utils.graph_path import generate_graph_path from .modules.hijack_model_management import model_management_hijacker +from .modules.hijack_nodes import nodes_hijacker +from .utils.deep_cache_speedup import deep_cache_speedup model_management_hijacker.hijack() # add flow.cuda.empty_cache() +nodes_hijacker.hijack() __all__ = [ @@ -290,44 +293,6 @@ def save_graph(self, images, vae, filename_prefix): return {} -class ControlNetSpeedup: - @classmethod - def INPUT_TYPES(s): - return { - "required": { - "control_net": ("CONTROL_NET",), - "static_mode": (["enable", "disable"],), - } - } - - RETURN_TYPES = ("CONTROL_NET",) - RETURN_NAMES = ("control_net",) - FUNCTION = "apply_controlnet" - - CATEGORY = "OneDiff" - - def apply_controlnet(self, control_net, static_mode): - if static_mode == "enable": - from comfy.controlnet import ControlNet, ControlLora - from .modules.onediff_controlnet import ( - OneDiffControlNet, - OneDiffControlLora, - ) - - if isinstance(control_net, ControlLora): - control_net = OneDiffControlLora.from_controllora(control_net) - return (control_net,) - elif isinstance(control_net, ControlNet): - control_net = OneDiffControlNet.from_controlnet(control_net) - return (control_net,) - else: - raise TypeError( - f"control_net must be ControlNet or ControlLora, got {type(control_net)}" - ) - else: - return (control_net,) - - class Quant8Model: @classmethod def INPUT_TYPES(s): @@ -423,112 +388,16 @@ def deep_cache_convert( start_step, end_step, ): - use_graph = static_mode == "enable" - - offload_device = model_management.unet_offload_device() - oneflow_model = OneFlowDeepCacheSpeedUpModelPatcher( - model.model, - load_device=model_management.get_torch_device(), - offload_device=offload_device, + return deep_cache_speedup( + model=model, + use_graph=(static_mode == "enable"), + cache_interval=cache_interval, cache_layer_id=cache_layer_id, cache_block_id=cache_block_id, - use_graph=use_graph, + start_step=start_step, + end_step=end_step, ) - current_t = -1 - current_step = -1 - cache_h = None - - def apply_model(model_function, kwargs): - nonlocal current_t, current_step, cache_h - - xa = kwargs["input"] - t = kwargs["timestep"] - c_concat = kwargs["c"].get("c_concat", None) - c_crossattn = kwargs["c"].get("c_crossattn", None) - y = kwargs["c"].get("y", None) - control = kwargs["c"].get("control", None) - transformer_options = kwargs["c"].get("transformer_options", None) - - # https://github.com/comfyanonymous/ComfyUI/blob/629e4c552cc30a75d2756cbff8095640af3af163/comfy/model_base.py#L51-L69 - sigma = t - xc = oneflow_model.model.model_sampling.calculate_input(sigma, xa) - if c_concat is not None: - xc = torch.cat([xc] + [c_concat], dim=1) - - context = c_crossattn - dtype = oneflow_model.model.get_dtype() - xc = xc.to(dtype) - t = oneflow_model.model.model_sampling.timestep(t).float() - context = context.to(dtype) - extra_conds = {} - for o in kwargs: - extra = kwargs[o] - if hasattr(extra, "to"): - extra = extra.to(dtype) - extra_conds[o] = extra - - x = xc - timesteps = t - y = None if y is None else y.to(dtype) - transformer_options["original_shape"] = list(x.shape) - transformer_options["current_index"] = 0 - transformer_patches = transformer_options.get("patches", {}) - """ - Apply the model to an input batch. - :param x: an [N x C x ...] Tensor of inputs. - :param timesteps: a 1-D batch of timesteps. - :param context: conditioning plugged in via crossattn - :param y: an [N] Tensor of labels, if class-conditional. - :return: an [N x C x ...] Tensor of outputs. - """ - - # reference https://gist.github.com/laksjdjf/435c512bc19636e9c9af4ee7bea9eb86 - if t[0].item() > current_t: - current_step = -1 - - current_t = t[0].item() - apply = 1000 - end_step <= current_t <= 1000 - start_step # t is 999->0 - - if apply: - current_step += 1 - else: - current_step = -1 - current_t = t[0].item() - - is_slow_step = current_step % cache_interval == 0 and apply - - model_output = None - if is_slow_step: - cache_h = None - model_output, cache_h = oneflow_model.deep_cache_unet( - x, - timesteps, - context, - y, - control, - transformer_options, - **extra_conds, - ) - else: - model_output, cache_h = oneflow_model.fast_deep_cache_unet( - x, - cache_h, - timesteps, - context, - y, - control, - transformer_options, - **extra_conds, - ) - - return oneflow_model.model.model_sampling.calculate_denoised( - sigma, model_output, xa - ) - - oneflow_model.set_model_unet_function_wrapper(apply_model) - return (oneflow_model,) - from nodes import CheckpointLoaderSimple, ControlNetLoader from comfy.controlnet import ControlLora, ControlNet @@ -542,19 +411,34 @@ class OneDiffControlNetLoader(ControlNetLoader): def onediff_load_controlnet(self, control_net_name): controlnet = super().load_controlnet(control_net_name)[0] + load_device = model_management.get_torch_device() + + def gen_compile_options(model): + graph_file = generate_graph_path(control_net_name, model) + return { + "graph_file": graph_file, + "graph_file_device": load_device, + } + if isinstance(controlnet, ControlLora): - controlnet = OneDiffControlLora.from_controllora(controlnet) + controlnet = OneDiffControlLora.from_controllora( + controlnet, gen_compile_options=gen_compile_options + ) return (controlnet,) elif isinstance(controlnet, ControlNet): control_model = controlnet.control_model - control_model = control_model.to(model_management.get_torch_device()) - controlnet.control_model = oneflow_compile(control_model) + compile_options = gen_compile_options(control_model) + control_model = control_model.to(load_device) + controlnet.control_model = oneflow_compile( + control_model, options=compile_options + ) return (controlnet,) else: - print(f"Warning: {type(controlnet)=} is not ControlLora or ControlNet") + print("\033[1;31;40m Warning: {type(controlnet)=} is not ControlLora or ControlNet \033[0m") return (controlnet,) + class OneDiffCheckpointLoaderSimple(CheckpointLoaderSimple): @classmethod def INPUT_TYPES(s): @@ -596,6 +480,105 @@ def onediff_load_checkpoint( return modelpatcher, clip, vae +class OneDiffDeepCacheCheckpointLoaderSimple(CheckpointLoaderSimple): + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "ckpt_name": (folder_paths.get_filename_list("checkpoints"),), + "vae_speedup": (["disable", "enable"],), + "static_mode": (["enable", "disable"],), + "cache_interval": ( + "INT", + { + "default": 3, + "min": 1, + "max": 1000, + "step": 1, + "display": "number", + }, + ), + "cache_layer_id": ( + "INT", + {"default": 0, "min": 0, "max": 12, "step": 1, "display": "number"}, + ), + "cache_block_id": ( + "INT", + {"default": 1, "min": 0, "max": 12, "step": 1, "display": "number"}, + ), + "start_step": ( + "INT", + { + "default": 0, + "min": 0, + "max": 1000, + "step": 1, + "display": "number", + }, + ), + "end_step": ( + "INT", + { + "default": 1000, + "min": 0, + "max": 1000, + "step": 0.1, + }, + ), + } + } + + CATEGORY = "OneDiff/Loaders" + FUNCTION = "onediff_load_checkpoint" + + def onediff_load_checkpoint( + self, + ckpt_name, + vae_speedup, + output_vae=True, + output_clip=True, + static_mode="enable", + cache_interval=3, + cache_layer_id=0, + cache_block_id=1, + start_step=0, + end_step=1000, + ): + # CheckpointLoaderSimple.load_checkpoint + modelpatcher, clip, vae = self.load_checkpoint( + ckpt_name, output_vae, output_clip + ) + + def gen_compile_options(model): + # cache_key = f'{cache_interval}_{cache_layer_id}_{cache_block_id}_{start_step}_{end_step}' + graph_file = generate_graph_path(ckpt_name, model) + return { + "graph_file": graph_file, + "graph_file_device": model_management.get_torch_device(), + } + + if vae_speedup == "enable": + vae.first_stage_model = oneflow_compile( + vae.first_stage_model, + use_graph=True, + options=gen_compile_options(vae.first_stage_model), + ) + + modelpatcher = deep_cache_speedup( + model=modelpatcher, + use_graph=(static_mode == "enable"), + cache_interval=cache_interval, + cache_layer_id=cache_layer_id, + cache_block_id=cache_block_id, + start_step=start_step, + end_step=end_step, + gen_compile_options=gen_compile_options, + )[0] + # set inplace update + modelpatcher.weight_inplace_update = True + return modelpatcher, clip, vae + + class OneDiffQuantCheckpointLoaderSimple(CheckpointLoaderSimple): @classmethod def INPUT_TYPES(s): diff --git a/onediff_comfy_nodes/modules/hijack_nodes.py b/onediff_comfy_nodes/modules/hijack_nodes.py new file mode 100644 index 000000000..cb066da29 --- /dev/null +++ b/onediff_comfy_nodes/modules/hijack_nodes.py @@ -0,0 +1,100 @@ +from nodes import ControlNetApply, ControlNetApplyAdvanced +from .sd_hijack_utils import Hijacker +from .onediff_controlnet import OneDiffControlLora + + +def apply_controlnet_base(orig_func, self, conditioning, control_net, image, strength): + if strength == 0: + return (conditioning,) + + c = [] + control_hint = image.movedim(-1, 1) + for t in conditioning: + n = [t[0], t[1].copy()] + if not hasattr(self, "_c_net"): + self._c_net = control_net.copy() + + c_net = self._c_net.set_cond_hint(control_hint, strength) + + if "control" in t[1]: + c_net.set_previous_controlnet(t[1]["control"]) + n[1]["control"] = c_net + n[1]["control_apply_to_uncond"] = True + c.append(n) + return (c,) + + +def apply_controlnet_cond_func_base( + orig_func, self, conditioning, control_net, image, strength +): + return isinstance(control_net, OneDiffControlLora) + + +def apply_controlnet_advanced( + orig_func, + self, + positive, + negative, + control_net, + image, + strength, + start_percent, + end_percent, +): + if strength == 0: + return (positive, negative) + control_hint = image.movedim(-1, 1) + cnets = {} + + out = [] + for conditioning in [positive, negative]: + c = [] + for t in conditioning: + d = t[1].copy() + + prev_cnet = d.get("control", None) + if prev_cnet in cnets: + c_net = cnets[prev_cnet] + else: + if not hasattr(self, "_c_net"): + print("creating new cnet") + self._c_net = control_net.copy() + c_net = self._c_net.set_cond_hint( + control_hint, strength, (start_percent, end_percent) + ) + c_net.set_previous_controlnet(prev_cnet) + cnets[prev_cnet] = c_net + + d["control"] = c_net + d["control_apply_to_uncond"] = False + n = [t[0], d] + c.append(n) + out.append(c) + return (out[0], out[1]) + + +def apply_controlnet_cond_func_advanced( + orig_func, + self, + positive, + negative, + control_net, + image, + strength, + start_percent, + end_percent, +): + return isinstance(control_net, OneDiffControlLora) + + +nodes_hijacker = Hijacker() +nodes_hijacker.register( + orig_func=ControlNetApply.apply_controlnet, + sub_func=apply_controlnet_base, + cond_func=apply_controlnet_cond_func_base, +) +nodes_hijacker.register( + orig_func=ControlNetApplyAdvanced.apply_controlnet, + sub_func=apply_controlnet_advanced, + cond_func=apply_controlnet_cond_func_advanced, +) diff --git a/onediff_comfy_nodes/modules/onediff_controlnet.py b/onediff_comfy_nodes/modules/onediff_controlnet.py index c138efb8f..87e9e5125 100644 --- a/onediff_comfy_nodes/modules/onediff_controlnet.py +++ b/onediff_comfy_nodes/modules/onediff_controlnet.py @@ -34,7 +34,9 @@ def _set_attr_of(obj, attr, value): class OneDiffControlLora(ControlLora): @classmethod - def from_controllora(cls, controlnet: ControlLora): + def from_controllora( + cls, controlnet: ControlLora, *, gen_compile_options: callable = None + ): c = cls( controlnet.control_weights, global_average_pooling=controlnet.global_average_pooling, @@ -42,6 +44,7 @@ def from_controllora(cls, controlnet: ControlLora): ) controlnet.copy_to(c) c._oneflow_model = None + c.gen_compile_options = gen_compile_options return c def pre_run(self, model, percent_to_timestep_function): @@ -75,7 +78,15 @@ class control_lora_ops(ControlLoraOps, comfy.ops.manual_cast): self.control_model.to(dtype) self.control_model.to(comfy.model_management.get_torch_device()) - self._oneflow_model = oneflow_compile(self.control_model) + compile_options = ( + self.gen_compile_options(self.control_model) + if self.gen_compile_options is not None + else {} + ) + + self._oneflow_model = oneflow_compile( + self.control_model, options=compile_options + ) self.control_model = self._oneflow_model @@ -108,4 +119,5 @@ def copy(self): ) self.copy_to(c) c._oneflow_model = self._oneflow_model + c.gen_compile_options = self.gen_compile_options return c diff --git a/onediff_comfy_nodes/utils/deep_cache_speedup.py b/onediff_comfy_nodes/utils/deep_cache_speedup.py new file mode 100644 index 000000000..30ea494e7 --- /dev/null +++ b/onediff_comfy_nodes/utils/deep_cache_speedup.py @@ -0,0 +1,122 @@ +import torch +from comfy import model_management + + +from .model_patcher import OneFlowDeepCacheSpeedUpModelPatcher + + +def deep_cache_speedup( + model, + use_graph, + cache_interval, + cache_layer_id, + cache_block_id, + start_step, + end_step, + *, + gen_compile_options=None, +): + offload_device = model_management.unet_offload_device() + model_patcher = OneFlowDeepCacheSpeedUpModelPatcher( + model.model, + load_device=model_management.get_torch_device(), + offload_device=offload_device, + cache_layer_id=cache_layer_id, + cache_block_id=cache_block_id, + use_graph=use_graph, + gen_compile_options=gen_compile_options, + ) + + current_t = -1 + current_step = -1 + cache_h = None + + def apply_model(model_function, kwargs): + nonlocal current_t, current_step, cache_h + + xa = kwargs["input"] + t = kwargs["timestep"] + c_concat = kwargs["c"].get("c_concat", None) + c_crossattn = kwargs["c"].get("c_crossattn", None) + y = kwargs["c"].get("y", None) + control = kwargs["c"].get("control", None) + transformer_options = kwargs["c"].get("transformer_options", None) + + # https://github.com/comfyanonymous/ComfyUI/blob/629e4c552cc30a75d2756cbff8095640af3af163/comfy/model_base.py#L51-L69 + sigma = t + xc = model_patcher.model.model_sampling.calculate_input(sigma, xa) + if c_concat is not None: + xc = torch.cat([xc] + [c_concat], dim=1) + + context = c_crossattn + dtype = model_patcher.model.get_dtype() + xc = xc.to(dtype) + t = model_patcher.model.model_sampling.timestep(t).float() + context = context.to(dtype) + extra_conds = {} + for o in kwargs: + extra = kwargs[o] + if hasattr(extra, "to"): + extra = extra.to(dtype) + extra_conds[o] = extra + + x = xc + timesteps = t + y = None if y is None else y.to(dtype) + transformer_options["original_shape"] = list(x.shape) + transformer_options["current_index"] = 0 + transformer_patches = transformer_options.get("patches", {}) + """ + Apply the model to an input batch. + :param x: an [N x C x ...] Tensor of inputs. + :param timesteps: a 1-D batch of timesteps. + :param context: conditioning plugged in via crossattn + :param y: an [N] Tensor of labels, if class-conditional. + :return: an [N x C x ...] Tensor of outputs. + """ + + # reference https://gist.github.com/laksjdjf/435c512bc19636e9c9af4ee7bea9eb86 + if t[0].item() > current_t: + current_step = -1 + + current_t = t[0].item() + apply = 1000 - end_step <= current_t <= 1000 - start_step # t is 999->0 + + if apply: + current_step += 1 + else: + current_step = -1 + current_t = t[0].item() + + is_slow_step = current_step % cache_interval == 0 and apply + + model_output = None + if is_slow_step: + cache_h = None + model_output, cache_h = model_patcher.deep_cache_unet( + x, + timesteps, + context, + y, + control, + transformer_options, + **extra_conds, + ) + else: + model_output, cache_h = model_patcher.fast_deep_cache_unet( + x, + cache_h, + timesteps, + context, + y, + control, + transformer_options, + **extra_conds, + ) + + return model_patcher.model.model_sampling.calculate_denoised( + sigma, model_output, xa + ) + + model_patcher.set_model_unet_function_wrapper(apply_model) + return (model_patcher,) diff --git a/onediff_comfy_nodes/utils/model_patcher.py b/onediff_comfy_nodes/utils/model_patcher.py index ca77d7f82..2ba6de289 100644 --- a/onediff_comfy_nodes/utils/model_patcher.py +++ b/onediff_comfy_nodes/utils/model_patcher.py @@ -496,6 +496,7 @@ def __init__( weight_inplace_update=False, *, use_graph=None, + gen_compile_options=None, ): from onediff.infer_compiler import oneflow_compile from onediff.infer_compiler.with_oneflow_compile import DeployableModule @@ -514,15 +515,19 @@ def __init__( self.fast_deep_cache_unet = FastDeepCacheUNet( self.model.diffusion_model, cache_layer_id, cache_block_id ) - if use_graph: + gen_compile_options = gen_compile_options or (lambda x: {}) + compile_options = gen_compile_options(self.deep_cache_unet) self.deep_cache_unet = oneflow_compile( self.deep_cache_unet, use_graph=use_graph, + options=compile_options, ) + compile_options = gen_compile_options(self.fast_deep_cache_unet) self.fast_deep_cache_unet = oneflow_compile( self.fast_deep_cache_unet, use_graph=use_graph, + options=compile_options, ) self.model._register_state_dict_hook(state_dict_hook) diff --git a/onediff_comfy_nodes/workflows/ControlNet/README.md b/onediff_comfy_nodes/workflows/ControlNet/README.md new file mode 100644 index 000000000..38ef0e7e3 --- /dev/null +++ b/onediff_comfy_nodes/workflows/ControlNet/README.md @@ -0,0 +1,62 @@ +##
l1>ih=I31;q#Q7o z;9{&9BMDBo;0Jras4sI2g$2iumtB~L?5=ll*3;3z3dD8a$$f54pYht|mo z>!#1ZHptQEQBy+13VXrY0}Pz09TP~I=peu67lWV(20=zy4m$0B8Uzpp{>y{#Z%Dj2 z2q*VKmbze?%KsY!u;`6HSb-9VQ?h$xplSb)0|27le|Z4p|DzS?>i?~EWXTZ7$|(FV zjDakG3}&pHb1yw}=e-UNcDTLgT}?4&ApSCAx2!B&Swd2AkNm=zFoHKgrn%q^{~d%< z{^eK!lE8?bi)OGaG|xK`IMV_gVdgRZKkXyCWS@B?K?79zZnqQ1^^c(Sv`&Bz=gy?O zbgwy(Ss1US@CnETfRv>kD)%oF{9CsOxxFHTB>hJ;{;k_*9FO75KRur8?*aAxe=!j6 zpTM@Pgp33Pp^JFDXE`3rE#k2pFpGIB)B>ytcf{1$9OL|bc$Ad^wkoT*2uX9+Ckrqb zqK-0(;4*$hXfP`azWI}gcx3MhEj?(unNgYfegSxv&cg2v(+_v>v++@o-6H}0lQmv| z<3;kUk1_w-+QMRSyrB>Ys4vqK D=o(Uw?06B54rkU1vG zjM(^7OJZ>0@8i 2&KF#kWFoRlt?S45?__H4 zU DMUdQFCM&^`;n6JzW@mne&+XKzGY659Kz6XX9pHH!lW zCS%ciP308j&Vh?snrT=l$SNo=a4L`p%wLLusjK<-zPm>j4iO6ZW#m>7J{LORzeR3= zw=7!lkE6{%=Ou%^bU*-~-SdO<{)@5MTi{%*CCwNl)65iu!F|W>e@QD97VU4|!jHL_ zVx0F|nVZ= R)vmIV3X%>NKx%Pb(%jw@i?PE=fq8-$fjP$X9GIa6Tv<#PbPO0yy@ u67C@W1i=FueG(?D 8E zd5AE{Kp%fcd7&?5B^2hq1ZKGWOSwIaV<|y9&LJMy1I#YtP_p1$KkNbK4SWfG1@3YA z;Q)(;&z%d*?!xiFOaX=l?F2quylN0nK_WeO=?uXSAf=HKeC|W&k{3TzmH^o%blc#9 zAOHYARF;*HpTFt33t6Ba&^^m2NB}tmIwd&F9C$$=%gRdtkOilNz7yFE9S49A^cgrB z 1TK7ZWmG8>X%le1hE u_TDH4S}n z1eJqugk4(oE_&2TY31rR$(wMBOV73NzW$8ykSQhlLC&~|%ZTUugpZd>YmxP#qdXRV zCags$gLTuNpiSz1JBI|ra-H0{OIwuH$Tp!0(y-kgg7~ZG7SzOM<_ofqEn!HUwl@16 zc_?~pSe(oEQ-28UHq2kju051Tlg)~SD`JJS=ZZAayAAjpo{1HRW)9j>O_U~icj<@d zD1RZ}?+$krZGH4b@EZS)Q1ef|gRSWkQd#~>UN9b5scMH8Ee@C1hu0opCFY0@tyWw5 z@_C~>GEisgGCcy(#WVLpBn>~x7_EI$xb(82o9Ic0w!pHR^n*ImLmY&sFPh{9ZImh< zlr)d7+q9B>?_ThdE^$=eRNq^J vE^gI*A q3O*$ zlO$Q88<45y6 zc)+!-#DlM3CE|B`o$kfYO7^a&yhPWC_Vr>PCD00Bv|EM|F*Cta zF8RJ-S^_@=L6fuJE8sLsSkzq}$i)8%Z^50OzKWPI+f51a$ddN(W;hKn4=cPd(z)?f zkr(rlnhV`I+w ;HQE3VMmT2ne)m$onv2@w zm(d1%EOPbC s0Z{hTYMOWZ_hBh3YY$-A~?l?r4trfGBo*#5zgf~|mSz5u6c!5q68tR#R!_$+wo zN-g*rKa!CAyLq$%<9}v95{c6@92K0yCZ@B{4(EDg9y!H}keo_e1eZEpFBG_i{d4|_ z5gS^aF)*!L`Q)l| EzHM7y-Ctn8qFSo&XC>S}6djI^;>?1tX% zF|8r()2hHeL?t<&Ci7F?!mJI2UsYY_p&u+}wSINL3w+Ic&{m=KGU9WB=IQA5z_0GH ze?A>J(M(K|xLIwJ2LRICC+Vc9#xD-Bo_FX e~fZ0FjKZsd*kWlK2qvf{H2RRbi{fRzU6vB2I(J#V|EblNEQTl$ee@wBM&p{1U0i zsi@U-`Anf?s*A6fQ!1X2mxh}8z=QGNiTKR)puI~&&3xeb|8c~bi)D~gI;a9{>|WuF zyphQI_`A&%i3?(@O>*aktYF2I=qv9W7;W!jNE?Zu?(95P63PGAv|J^O89A-UKf22e zZ$s*OW?1guya_3}DR;ppxbwDMN8Rl#>-;quj_xrvoO;#O3y1|~{Zf~Q!u}R~WXyU& zkvQx1dcY7xR$kn9C~M!Ex1lF9C>(_M1a6w(gz}J6b7u|@@l&B0wdcSxWLca2`RF&V zvdLyC&i1Nf$gSGoF17kRnK6G3yiEBvd`MU=%j%!QyZ3DL>D3z{mr!CHw$vw_Et@nf zI3+3>mJ5Zoi}ZuGFhESonDHOrz>5_p*sR7C=;fW(-7NI`4-p>Mu3bBDdZd0krN5=6 z<*SN^r|0cc`YF -E_BMzQ_)cs|W>M1@hi>S|c0?{UX^fLFRCuBlKI(-YnF8OhgW^m%O_S7> zVRUzr>EJm;3h#S=EHglV^@s6uht#3i^x39a7GtG;m^%65VQ;~CCc!iDShH*MUWhMI zWR^`+k@%Kg^LGgo*5x(%ZWLoLzNV!w@Jx=Q)({7L%Zj@y?4#Yh-hHLe(wFWv8Ki>k z-^D|15NH}b?8@7iM3@ Hag zBk}sRFqt9`#Ji)5oVuvLLY7tC9uMLqW=@W{fN4%yofW+pe<2e7NA|Jm)!gfAlU9p? zVPDUx`S>sN<15X2;*DUc+7TRhrpNmhcC^LgTtt`g7LcpFxS-MH h$&WZOT?z{E%^BO%VG{`yDGHx&yujHvum#OKeP z0DE`!z~_91dy%Q;OL1<}tu+WQU14yV733t50@S08YP%qSbPyhx^Y~G5#uhygZPY%` z>=qKqh1Avo-$F=|4UCe O*?H@`mVM+edRV7_SGvQj{ZYFy3ZkMGZswMa5&q7$LE?+DYY4C>mf~p3FV9- zl0TsgbJj>LX2rRjKo*o=9yz;y+Jrd+5TsN()L#8NL1JG(j!2x=x>^$NJ4Re%0!e2M znWW}RKj_~Hg5Y`H2oRz !8NQ#=oj7`u%~YyRrb>`mcNO?=u1siRLxFk};=Fa@h9Nj0yyg!u1UCZ4gu)t)}bD zq(MBMSa4n&3RaLh#Zp>P1l^FqhteUnS2OQmG}*foy6R1QnHmrUfU-z=#Le9*gD1^3 z7MQtN2K#WUz BaXv35KLOIbDf9QQOJ7L z{#Z6m!)ps5*vFq{!2b8qov%rEaK#BI2J6LXn*4e2hv>f2#DkSgay-NgOpM(37&7d3 zijdKW(sDoXMu9D5J^yEzbvHY}-c6$+b3Vht3|wn3oeO67+tK&3wDaOFNgpsG<$<`J z*sx6u+PBVa&f}- ^G)hC7JKW5x}2}%eo9v{mLVd+|X%h?}dLiG0@{+Eq} z+e;$h{#hyqc!1~}6{CV!hLF!1V;jRvGL0848N*S=qN08=cDLh6;S=9&F}q70Swemh zu$+ay0gpc+Dlc)mu!4CX{Z)Xq%{d5^1e-P-IVB%2ZL7hQBA#SkdP2H-ZowuXZH)p^ zVYOc%%Zt5fCOaf_vNwA}Bu?_u;3A+fa_n5}9feE#S1L-r`v9XIyTWpG=LgizKT|9G z;E+%SvF&+}Z;79Dw=-$D&QxR;ghGDOBOVo4y}3_@3Tby62+MKTy~)fOn7g6AeIkau ze;zoyzE)(l9g@=&atWSA>VQIq?I%3VcLGs;4`&$&(QM${ODUJaMH`m>tO5kM(``90 z1M2@1>3j5Lh0)%rz~U)^D2Z&4{G8|AX*>H2ZwxuHwpoHG6s*?4B6%-%T7LsKM10w9 z=^j>%2PEeHVcPSsL4T8QNQ8qz)kE09&7p45dtmbp&NCs~$cm$I%}Zz6o|OH$rcTo~ z&DLjOkW>tbZ2jzA9}+t^AALz&)CxDP&J=k8tXD$l+OlcFv77xU=qzON&&OGILorzF zlrVYSU(3{Dkitu=`=F{)pE3gzLo|K?q-i6f r-y2`ds qB3%V)ci{SrOi1v$D#PQ?%p7KHr0E`B+~~e?NJd)- z>kGp5qi{F^Q8ORHavPpRbg}BDe2M}R{m-|m3}IxI+My+>wXiyf&ITt#VapKmI2MJ~ zCpRu&2|srVP)$OGG*Nez#MkZqZaaCmQ|Y4aF9Mbd@dEI8(t3X0S8d%)$$hK`=%$Mv zABWi?@vt^n0mhKj!B~}>>^)YsPj {HV=D+l97`z|zox=PS9BZ9JM11eaGc3VODij@r&^`P8=8cKgkoPs zrli1cj5<$?Oo+Y$fbicD;eMMDM6Tv^e`m@mey{57!zq`U0`r+bgL_R3sJfFpdptW9 za^gtYFYBRTb)9&OGl!Zq3~s3K#IT&2zHK%mlgAsBj?b5mAdUDF&r`pWbmRk`1#Nr_ z)+b|P)qLQN%$#`K68FYiVMsoX2e>*E;=9IJN7}zo*S@GMTon1%UNKpJ0$49EPwuj5 z%D5B{VBbHSmjU}rb9X4#S9r4Ag<|kVpe3)~uq<~6nS5|qPPEOL&& *NR)y+J{JFsu~m7y_-A-L?sEJ=PlraXq% C(p!U~AayP`{o%MkKqN_0vT3cJLT>j2K`@kB%)ezbY@_Zvv61#_PNB4CAT zD+7 ?!6u+gCj(Gn4gFsr zi_Oj0;5Egcv07+oV*Q)b7XgKlGz j1Z%d#T>?($mp9kzkUkNYK zD2T_G-|u6v`Mkmx?9I5-lb~c^wtI4GSX43^Aj9(w*)Kb%pVWv!6aa)OVh6`@t _?xxIM z00bxr3|E`|ScZN%NCKPUzWqRr&4h6H3BH06i(6QjL2U2Qz68zkE9#?@f-=vx9|fb6 zCd>2f)9pD52m~s~`%&4)8Cy?QnwClC(GjJeMEWkC&dyJzrOa^Vkg{`Unr4MPb=Sdv z+Z3b^A{F!(>cWf!5=81d$j-uLXjxfTRaX(6vS`)0{Qz^LILeUQOV(cbegg?M_t}bH z1h10FN5K1Su3XdVb!Xm3WaiZV#l*ozDJEo%|Bf;9Puk2HdJ^jBiR7by%m)BAyb?e} z6F`f@qke%h3I}UIO{P0#t|p^3WW1D4fCOS9FyVm1^_=HgN|Tone(PA)Zl7GceWlxJ z3aAJFIXfrQGrV6-5k~wJEwH?1PCLB+E_H9` F&J3Q(c+k}}7y=yB!KR>9@2j`{u`uf`T zcJ=q`o>OngS`Bo54iGy2bA4^ONB@3_Zs$AJFo)WAeN5&+*3Dj)sJ`JKsPe1X@na z`?D*_;*djI9dTta`&P3`R*=AZ0lSyIOZ%g=;;S^2)!%5Uq*|I}s;}IE8g+Aa zQBQ{ng%Arnssfi)FgD|#JuaGzpuRQceIFf3+7kp+5&zn8<_ydg=5wX~`p10zxs|*= zl9zH$Ca>E8xrD uViPMpP+KeAUn1xH3llhgGA{6lcjhS z{pP@cfFrf34c9tVUHh*4_&Cp0+tc3{s}}PY!WP>+LZq-o#XL*;H@Hg`c3K@Ri@0fW zdEa*`f7+q>f|N{40UP^B()C>+k9%CUMLu8qA?21r&FJ`e&BMN7`LD?lTH7Z3?dx7^ zRa>PxwiSF0k96(o?zVPE;KrTG+crJ@>?aB&pHwnKHLulW-^YQ^7s})Nv=L|`OLaJY z&FCW4;#S-5E!Ug^I_l=k6!eT0Z8(5@BQ;lzG+E1v4fh_qVVG#)a{l(&blyz-%v5a# z&guN8Ymw;DSR}8|91v@-owyaX*O=KIcp;)iGuP*UAqPJ)Q)=l2On`owAP>)_2Htf7 zjDnrx6XTQb0AUPGYl%KwIl(5pbDoz3rsOm?pZyrBn!;Y(U4q5d#yuWO%8hA>OG!zw zxbi_?Rl?u*?LtQm_kBSbWHQDF{frU!1!WXE1Q}EbG%uzdVP2k%iS}` UFodjE2(t4*42Zm{vR7_qJ9V zS^L(*Xcaz(h{+|stS1A)Ztz9=WewbKPL$f8`P6_L{|#!C1pSiH9qdn^;LiO#hLL<3 zs-<2Wi{?S`a?no6(pYflG{gdq5qKm{C%s@#r}Teh6-UJeY*Tfuv{(5Uf(FG|hp4+X zz`L7|jII^FJ@}$a&7|6k(E;}XHCG6rUa1GrOWXag+U8k955RH!<;D|Mp6IF3It$Vd zUQj^ lp?lK5Z>hF)Nn2LFJ7zlzuR(nGlJcNTe c7tFlbdpWXwg=b+VrF!H3Bsn7H+cd%%Czv z$@l5#H2X&kks@kfhf?!Jwhd21x}~}w+Q#0X)9Gt;eYH9b7&q6`8C@Q_muEmoRIBrG z26et8G4R0N#*AatN(=WtDYR1@5rsEi(4oz|c6{_VT3{+1v=>eKU3ZHlOLB@m+As9f z^jB(o=()P}xR#`A&|kpb -hH61Y2_E>uLw3 zug*$S#c=cdkO?caS3tNjnE+U9Gp;R95(+txvijaX+C1>~TtDwW 60U%t Vgu$Pqe{>RuFC`oIA;OZmi8Fc?d-{uqX8Lh*CEJ&2ajcrXQZ9H6|K z=lUw2=evRV6|_<+E6drRt#D3Et5;`94Pc4(9671{1OQ%PuNG$&>7%y8#`=};x4O`a z+v!W`hPf@KmN4Egs7(E8yZZ{;T!%YR*;7cbUISEB=2cWye|$MSRkY(%NJ`zff}kSb z+6I%OZ ?~Cl)}^YEa|I;DCD!pB%rE2bi1bjV}4U-0y-w*^1D3@S?*7{ zFqC hSNd zZH-i?#79luK}@jCHRsf nn(KhL&vy7bnqHVLz24)pf{@Ss_OTvvs!@y zEK;H%_*w};UK_#d4cl;Y<%z#pNu)SN)ez0(myRGIQjlm(ol|)L-u7` zLP?kce9B`wGAhc_uJ7KfkaMGHb?5T?;rU!}^k#Vd1($jUYPebM^W>}9e)A&O*ebmI z?Hrs-B G^8?`b&b@axltxa(uCi{ ztTY*MS;4Bwvbu`x3Tf?D0B5A*St>nc8(W{Y2?>s?b==wVNY?h_n=ie0LKFmrX3N{m zT5fRmVy*$N1J)FUPq>yFYBb%3Zk!lROK~W0A_m;n*LX89J`7qb6N(>>iraEshc|fW z*1OwQUvWpq7^XZK7|KwCf;Q<6d3aztqm6-EBfe~>IO4d^ZUgigb1Rr<^AD2h=jM~r z8+kve7C+=+wq4mvH}yk_arYIr4yc1|kEf@ns_C1%Xi>t`Z|4A*GAS)ck6*sp;rY37 zy{{mjSYv;ZQcEpILA^3(k6xTv;n*pBU4qhh2=?XlOw1R6WHIC2?KQiIjit{=>)M30 z5i()JT~0gd&m~3)Sg_3w2iu-|OVf&Pda~WI4DXvq_va4EpBCCOJ>Ya!; (_o;tiO2hjACp?M~Y* u|FLn`L3frBMy=4eV4S5D>pf~5k8GG1A zm_3|wM+#K(_MqxGsM>Y9YR@=_3h#WZ8hcACcipJp%}SH~pYNs_HI)lGaZ=yJ1WiMo zIIKNC_QH2nPNX(b2%DoCIw|o@SvtKcj#UqhT5AZjW3=ub|F*9oQba%+{Q0CYMRwe( z({b;!5=wiTVuEZDIQ#z6-Cp;k(L(SBX9Km-kHH17*a>sHFRx`S{unFl!vzuya9 lX{m4)vKIdq=#$Z2sL^3l%wlVjW6;`4?ZyY3cC zy;Kl3amt06^^SegB|uA7R20xv)H9&%k0Cy8*|#7-XtiO>nUVSf>QnKW|Ex2%rYcFF zb*WSOu8@dgw`|sSqHPhpzj+)%IYx=_RNuk-u`UzmF#2_~WA|o6U=zJt%yDK|T v7);LM z<0FTS;+X7Rc!zSnwpIi!qB@{@cS+*4+%JiiHCbM#jn0ntRK;6-dU%?xv#Z7#)OgYH z*;wHLulJ6Qm8OL?57#B4WG$&R({}Y4vDGK0igmJKDD?RBmiy%y?l)ERV~VDL-b6w+ zHr(D9HF3}u4M=5@Xh{oLN8tw=gtj?ygZ>;8&>Q-%J5AhT#1t#-N4cP=w;2jFt%CTc z$z(wEzpn2bimdm324W@78L4PhKE7gI5m)^OR3{Ier7ZCF8^Gvx6=+wxyAC@>6{5pE zsxf4}tnO-Co4{+qCiIFeLR-U{b1dA$6a*~-oj7?Vtlnb0R1 1}R7}72V$wvi2<4L$U&O3_ z?x(7?QIOK9uk=XHQjhamMMG0b80NlrAXcfbzdx|g7TZ$y&kPT7W03bzK| 86CeI;PxU(Kmi%E4I9CKP51GTTNIXA!Xahh+s=veL8SUAyW( )sV%^rh)5(5vxZaehWbl6Y)c!t4+W}1^}!2=`{c04j8p2}i>oM!Xo4Kx z>C4r4YihxJsz9>mw1(enoi8A~TYobKiUH8qcM9+gx009yVQ!fWg;Z_GV7|) -*;BkM3PFVVih7a||N02f2@> zn)g1RXe`ZMhsc`fjW_S@*mq?gluDc9cG@aEf@4iMpH~<+nIzjFV~o>ZSD(7Cur)|g zFi270UX_E=YxHY-q9{+McKvi1PoSsZ%*Fe1o^%ZN*HmlcGtM8}Y|wz&CBI~gey3WT z#^cUdOX$XsAg-|mg7r~D(Z5vCQ ^}-iyuL}9Sx58bpF3zPzS#7YuI~ XF_SNanzn7(5-?rgW(q}0#e02(E=+NT`L|I@1=?GVKK^+&sPDrAjr>zA z_)TVoPb^x9Pb3UKs?m-GZ1aD372%g~UY0tfE$b>_!%N>;^iTfBTv&c>{0qa0$elX8 zay*3p{!ZN|2%ufTf7{WMzHU7=RX!#^mM{t%gNST=O}oM-@7L(MlT52uj*SiyB O=^?Sr-!_WQ7c|gJypRZmCG141#FeG3G_8g zZ0V9tID$#F^F^HgqLgSK=H=4 JpW*u z{W3^k_C&4+i1sF#kGvChWLShlQk98Teb4RT)R>pxcCB(-tTvv@^n6GPHTtrB(97Tk zafVm&21l5)MSZ6b4^cU>bMW<*CN%Dt*YrE5wrXTe^69XGyj8pp{Sd?QcRCt43aZ>z zFE&ha-_JM~OHz3wL0_Jz;jUs2k5ZoCWS3=_>+Q;OPTrkdvcM8#n9+VP&W=GoOGJw# zL?Q#;NO^v(ugMBluNunMv7g}gw!e^x+U2H`+tRi14?qga3*s!ux1{{Z{fE5%7%9EJ zanSX&+R#(&!q0328FePb{5-SMmf^$@%#2R1_o?cc=lBM7igw~z{TaLg8n)!}p_N2H z^Z2nC1qrd4dt;$aCxf{@u`tFeC1^1+D+frwSRQ*^Jc=~k1roac5|rB;>LE%@VTOjq zr$=%YeYTiX361H|ltRBcEM_vT)s>8;ac^mIzCS}q$uFF^mb*zH_jxZ-6?WlF|4Uyt z#1y_ -nQ0famaz zWn_`-xkN(?&_$m& rO=Hr?X9uE|QR(~}WKG(bc4QsSl&+x0XC{@iFX7~1~< zL7RLsK@JatKc>jIq~A%_01N$SK+ G{OkcOum zP&Er`&}U^g-FJW8jw@@xOWF+?-LbKlw{Iwy#AeL|U5Db$noc`T>r!q=XDVZiU2 ;*VA*V7#Nm2zu} zuHy|Y5}sdq<(epTWLp$9mMJVj3qbjwifQjP5i&h9L-Sc2 sa=Uf@QmT zh9E2RD?))K0F)tvFcVK?zg0zbNvLY80D|^6tsTWzso-pKM$-1tL|5!YEus7<6nOF} zZn&~51-bpIudBv}#_{y4wQ2TF`!9;yhTn5Brj&!fR&Bw|t}-o3w7PQ6`d@RnTp<2~ zBBSRM)WW(SBIX^mAbZ@iM*YKfvWzy<7}h< `b#|5>7fi&ikht&Et*3^bO0C3aX??c^!|E9%xQty(Zte1Y5a7!tXhT>ysiD) z4dhlajWjup9ZfFCF{koz$g}2p_|C$+!4fI9IU2*rdps{0fiCoNmzx>XMMj2%Q=%Dx zyF*I9Egh=;T@4^`o#7YnEkS~)jR%PVv(Kl{Su(CPL(8#5u5p{r7{bnu6dgNbOsnIY z)ljrIK{Ryh%-|@;NRw{q6OCg4%eaYAVHA>5Uvv7AQ^l{uvDeA7&25xvar~`&K4Zf+ zW3Lfo!~HJx-@qc>V35!J4_XT5oB!{R!+C+q-c Tb9&yliyv0pW_w;zv+MgM`|5DX=-5k4#F$(B zk7+8B-?WLV9muPo5tp&x0lE2J=p`7W-8dFp4i^BcycAHt`4u&$U}T~I_D$N@;1kE> zm`Rm ^4W>aP1vv#6KfnEb%i%eY9$RT|(nsnR$ zXO}9UihMJ0o%y_w*TIYx0bnKP+T+$Mz%q0WkxHdQpzL+b+3Syz``Z}Q0#Ldwasvu* znk>EFAL|G7j{fx~9Su?DfudlgKqP3`tEkv026OXJ>#4LX)S&X}%2YoKo|VWNZs5tE z3bb{VJ7+lkrmGjM)WJxzP<_3S@&hPq2#`rhjK@wq05uQ%1HAEWtl(Sfd~ae!M8w|5 znOtj;ubdVW?Ka7yF6v;x;3S^>QG99`)1J{bAL_u%%fnZ!!{7L~Ue)*37EEdiEx_~! zXV02=wHOV)>g~#Ke=wy4K#AHs*&JX<8RAfr6uQtPc0}e>_4VmM7+ypwtzC5^9Wm-1 z?goXm_8UaKmi@SK??y++DR?~M42Hv*dFC@b^4SzJs;@I6O=J){DwM_Cq0O81c62$c z;VHD{zG;x3`@0}V+IN4fq4T19w_K9|XXhZ?RcCgzg4&u*7@NGNS7NkI*IN+8O@p^o zt!cqcmg)nej_>zs>&n!lV`uk!wbadS5JyRqX9zvh8iUYs;1{3qCFz6Ipt*J Skk6F9 zJ(X)a78SPn%WWQQgsQ6@agg51Ny+uk+GO+^6XdhvQaVXZJL|AGma(!6ER29wdJta@ zNADhbp5e}LwXR1Vhf;bWc^)b}ALDEXtCN@1_~5iVcf$>`rI--bF&VW--)fi2<2ej_ zLAol=AZC`UGxl? ~yCXkjx(H_w;hk--{ zn^#VtdUaq53+*5$w0ybQxlM4sLK*tbY@viM@9f5S=0tHt&dOEbNij7ip{CXx8wnqv zpRob`jM=^N!qNwlt}?o;2d{5syPS;0eo5P ->e~hXXEpV2e%N<%`#gF_Yi(5-Od*6#O_n%iSTd#z1{lf zve3+%Df_eP3MK<*z#^F#=%EHn9z%0q5LPJUNOo^*YZCPKo>6GCt51^Bn3$}|`y?LQ zpQf|{wAHVs-B(Z&D^Z)7bZqj}ICp7paMNpvl9{iF{8!PK7q(VF)uMyuru&CAE&`hL z!=o|y`LY?J0@SLvOeq)O|E>d{xx~iRxNWZq>x%Ci@g|i=9nIUcUws)`gT0Z}nDy`m zifptVHbrYHD5@&9on@de*^ZDDVM;5{(bO8e{G>zGs|!O(k~7)n&nG1RdU%`a>p}v( zy*_m)7#(=))(xJM(miSY??fp+gRY`d?SVRw)pDrUO3^-r_znjx6tyeK1x76Rr&pnc zvJPpEK@6&T9RO22!}wgVS)UzhTc4_8FZI24T>IL31qVQIVU*_Jrj}zCS!spF1Bl08 zhQ^Xp3Z_fEwPG6LZ0y(o!Vd2uIENutO 9U`Moox;;6X<50;y9|h`i1$dQgyG z${uP}PL3w$-6wm~Zuz81V(++Q1D- 8+g M)QYRrRuVz*0GS*aKz+4wQ1f4oR!3)HvEnQQ`6J7PyQmxSX;+&3&sJB z7f?}cyZY4l*Hh)sb19#Eah#1>#9m&Sl2!KpwwP?(e! QNoczkNjB)!X|7* z_s93J3J^vS#jyN3XBD~OLgyG1t#nwMq8M5d@Za1mw1)?DpSFx9;6=AXD@h;xu#&V~ zo#Gg^y)aKFj2?SmRwmK4BD&_)_3=>P_lbD(n!>^u!^CrAeP1eC((cZD;Sx}+40FA& zAQ(hHr!%%PPfh=#gvzXoSytM(I*eC;vKN&X;G=5No7q=@$hXXzdL56F;Dh?aTp|%g zwd1r~yn3L0uWWPRF5*HyiPbphEtnN@(gZ}=i*kXEjHi_Wr@QJq-yR0^S>i^6nh)l$ z$Od4Q>f9m|0Zq^bDVDA}IP+X12(b=o% =`&ey|ozFJ|@&P@M6U#f*1u7dEwjTVGIB z3JWcQ(Co#*FGE#dhmg8np${)kn0fBfFY9>?Vhah)@}}Z*Wb3n1ckIW9%2BR~0*bLW z2s3@+=f3rPGlMtTPvdDbQlQ zwG zm&e%CTp+xD1*V9SAPjb*uVZJr 7i*9rWy76)nAU#RUD zRa|mW3KR+lqc^r;_YiLhLfC{_&y)Y?3)OZ Xc-V1#OrF*P{BPKfe=nLMjc z(6+bB`I>Ai>X~@~jYdP )iL_Gl)pF96Bz$0e`4%ZBLN^ zOA1_6zq^5*Lmj0JaFfwTJO!6<{ f!e;O3sf4T`2_MOxZB_l=8 zz`Y2?_ax)b<@ v-msU4jP&=$rpJP^V`dTD7E~+9^?e3OP0f?rs)ZiOiibIN*tVrc4ycZW ztGZ%{()dm`N6KI}szwsHHVia-<>(8DGF)W8m$M&!fn%;3w=s@jJWi@o=kq(L5u28S zI}tU+Hm^TVk|veAokuSL!KkyWLSd-A8+2t~T*X|LDo?Ybg{T;cel8B1lm@MCxwaNx zl{4fth6l<1(d1e0{ZWu9U4R+3)wkxShta!km$KHFc-p^ek(mzAXo>q`dpD{TbV^od z`&>u&4@7Z<(e5iz|19;VXQ}p$SD=m8p=aL~g2va*D=^UKGyyf4XO?a8WN2Tlkp?44 z3rTs4gV&}_ft mMoe$~vg0@1A9%W RWfdnKb*KXT^eMbMkO z<{;~Ckrl|%h+_~*Di?a&P*))!?LJ)BdOufRFg>SJ${j`PNPs14Qm yZ%(6(nOAE0dJDcCrJuLdd9mxp%s*tfqDrfhq`#O zUt^T{C&ubXE1srTa9cx1le@h|a|ORSS`4jpFa7fe#xQ|wgO9oxcrg}@IKO*43_acH z0nq(I Jg;+KArGwOrnl*&3Vp=)< NTnC5}qm>4VN(=H9j?a}iX ztwKTYXYr}LAlHJ+*8puu4Zlf#SQnK|5H9iPYsv>Hxr<%%>wcrw3N+4$MlbUBbJZTw zZrKr9eT60~N!?7(r5#H>6s7Pd;YhL9)ma(BCd_ARUBEB)pj!|hVOK+(Pj4J9O!|nL z;GzDHcAMuHV+r{EI|0Aodj12yI2JhJPRm6LMm-woiVvBjYoP d%s>tWs6Q @d;a-W2W{E|#~I z2VYVvEn@yDxoKvSuNA1=Beml3Aq|Hbr!T^)a)<{!{~XkiiOpgMsd)r~Uo>!mY`6&h z$xM!14s82N!I*O)ra|jv8yF$(g%Gr0&hcRwe6MSr(#5%gjOp+; v^8y# vt0M>FBi)m>DY4P*4J4V0lH#ZljybAg_rdkH}Pm# zn>}*wtM2OGcB5ZaM95+6gA3f|t^jupV9p#R=^|2UDfj>j(8`;~u4DG$pY7>f?j8FH zn{{}uD|zj-A(Vt~lr4jmS0vhYxfFA>S_YT+!Hm^Z@sovy@%Y@JEn9ZR$|zS&SnV|v zhr#^$q;AZPx2NRer=_;Z 2t( *K*qs9$pe^j;0N|82|-E zrh6*&!D@u4LDIx%uxoYZ)v)vfkGw9-9QX)2-*1c2zQI ^xgyGqK36kXSkNA>UlkdR+-K} z^5(623kQ>+0-977A)~x@xSBm6Ivnx+%Fm)!&`NLg=sEP94Y73!;Asn8SG-T3)YuFQ z-3rqg%XZ2b{xazALpRnv11F~{(nsrq3qg@Xtp2FsG%28WYz*8--;{fOw^3`$c*7Pa zOCI=n*_y^mSa!ON486PFtT*VxL$1W uaUJWv4E(FQ1*c;^O8RO@#Zq~Q06#irw)q<%<8w@0fN zqd@jdd0`N~EvjkoklDt*+IY#5>4NmO&*J#kbxWmabCi4%;<8LyPe^X8sRr?;X}; z+kA@(iim}XigY5Nq99GG5QvJvE2xMd9YRs*O Ge^6jej&Cl36=P+@}CgC8yXiXoGpVZ>& z@Szs9&?lV<1_qP`S3!(C%F_wRAGwvrU$%iQe_Nc`=rF*xYf1z5WcVcgl}~$pHSs#@ zKpIq95a~3ZP1;H?#0 _Ds0NB|~%FGhRZ{Yj@N z3%$^xfBjbu5$XRx8xR#%P>*EP!gP>zA?mjlfZBu%{(|f)vjK?fw-3+)6c8Y;Z*kXh z0hU=|>r>%cKc$?E&O#C14_Qp4jMPip>$Bi?+OHJ=xWLsRE!(?)Wl?zCM+LH3bixUJ zc@Z0|STa~m1XG^6Q7}EjPTjaC%9}3Lc$BTT2XNH8l2s9MHV~@XZrNCQ&(_6!18~JN z4S19y;~2NP_xB3;0^eYB!qVmF;ed-A5@7q0vC}Zh1cgM>v1qo-vM4UfKuGQ&T-y`X zg9}lsATgVngn|}8u7yKyO?tq>! NGz39kvK> z Kl_Z{~De(=f|8@_rk@ieN!1XcDu^z8||a2Rt#-sg<8n$=8)C_tue zVp~sD_AB7iOB*-241k)MA-~Mo+jxyTh$7WB58}Vgd#2#WzC;x{0!?5J-jnX=rm|Ah zp$ic0-~3!kCGnO!(2ux4n%dAR>~vfe&9EI7Xbcha5jcgL7ai}ExGij{BV3db>% daoZ8q_#9M6gow9~F=bP| z`sJ)NQ5oeZ _6dID_1Er=b@US+wmlpUTWW|Uige?$jeQ%l3PmFU`cBDY0s@qn z`QfA@&jXYsV4hfuukWir{@AA~1&u$~Xul!zeh+;i5&+}rfv|nKX}^czo*c6s^8M#p zIY`wavt@O41ZqZelf80&8)$J<3h qVu_Mp0!tb_INVe8v1PjXbwH zd-M?;+Rm*E2ABl?yfE_E&R)_B=@s_D$uTgn#l{JH KHx5zNHpPerQ<2Y5qv0zcRuE_HOtjGe2bKZkXMn36i#52ysU~xsgCzE*HBR z8PcZHw9@0}R|nq(^d#=`YZK Jb zeYd- zwsA`xvdbhALZ3kTSkO{xJAMYW-D-gC95n86$pUD`-H*}$)CT%?0B7u;-p`vQX6;v1 zrvF!Erbkm+HbAbp{;LF{c7^^^nfbr&3O)9S0w3Bzo$~Qs&@(S3?}XK`PS&jU#xzYf z#M(y 8Jx^7yc4;sb(ng_W(_KepgJ#$h7Iq&tw6r41EZ; zeK1mJm8!3wMJ}VP_i~RKM@}?j=;W}>>M$;K8E^0Pjd6TmrI3LaCJUOt0^V6mDD(J{ zT@P{rWR^=d)EOWdoE`Dfc|Rm8tiD(lngWt=Al6uC2zp!nnV<7s# m6VerYY8dnFPEpR5baea zq&v3b2b-_&g%_wH$@QI$L=oBAl~YqH6(k;omHg`(c(ML~Gk`Jr^mQ;4$TL!{l4pyS z6EiUHLmDu)SE+r<_8YJ5m#2PXw$Y;iEcAamE)9))T$g~7&wt4tpa Qb%+9d!p02#s0@(Z
@ZD=QK&6^Y zdy qH`rtjSs5xqk`}R$1w{bj5`73dV#^dY>QBX z&n@^cyTtKtJBZ2*gf#h@`jw XhUotI`k{S({>hqn5zrGhV8=ab*Evxu2mnx}M z0-6N^+R2WrSE4`~^A{%-!@8fgV-HwtXLH7$5TV>^M^!r5b&YIf0r(qvJA2fT{0uC> zUb;Dh2of4Ui}M@~mB9-e@Q?MPa^EsJ><(c_%Refi)w$z~ZSRg2st-Jpso8QIEwM8K z%6~>|fkPrwgBLB-lw$`9PsrFYpRx-pKAm#xHqf fgNS)6Mof4gM>w3sCX-9=leHf{gJ-71{N$iACOgpmS0f& y|6;sW-6eW`6NHQS~BV|_U(-a{!+SAfVeW|vAP~tr+53v9Ih5C zSuQ=+1IEcaOactm40>;4C&sN7(BzZyj&~ONbiNTwoe%6_U)7hV6N^udMn^cva_$k` zFr(RZ(=vNTZCHEviT |@sx!&W467uhycI eZYG@%j?bc9&%U?T&0z5o}n}LI%Mqv{op%|$*mp(j05*mmELI`q^Ptp zd3VQsRCd`ACO~!(*m^7r?;9Ouv5?=~*iZbswE&5RFhDVHW8S|oYP~lb^X9a>k{&tg zXCHKP*)604CjK`9OgH|_?+J9=_%n@zUHKwaEm8L0Y6+kbTnkh$<;oYJz3_g(08DDh zeV30|!R{%nAlG-A?H9!XO4`t~sgs?(;0hvs!4;%m#W#WM2!&5ExJ!gQmUhL1EzmZT zwJ^$$z)S1QY??-}WA8MnD*&o2es7J4o=!TmzS#%npLnc>m>+Lz7T)SajY}(R#?TeG zF2=&i*KDwFEo?c7)z9$-c~=sqTIH+lQ+G^if-@5F3uS}jVA&@r4{hv2e74rx_{fC@ zSia(&oBx&vc-0T?quQS?_`P3-wd=rV0{hQK2oHyW-p=v{zheUHJnki+vbh4A=#z6V zU5&B}P`b+t0Hu2&w?17(=nEiHpmvS^S>LR(wF_^b?~DqPpK38bwzW-!a!>9xZT%3j zeJ2P thG8A4c8qW1yY!1$cXabpLLW{MPDTwVeiKP(;>TJ;tJY9=6pU1QFpzwrVzC z)Gsx4t-_7zpoIkU;&;D4c~e67J HXfEb&{udCEPv1QtGZt-abN)b9Dk!C{x ze!&=tR0`dbx6&!p-E4VR-?6tsfzMiOMx2OWA^kXl*I3z&M{K;NIQ1o#H2EN>(5yQ~ z@A4=n##NMYf{j{|w1u+aYMwN@JIFq7N6zLS#N07Z Z!Y t1ILVAc+4Ey-TU4*Hy=Z-sRIf-oytUN@H*kXl4btr zQJFahBiL;+0-qa~8@%Q0F7I)TZ0Ndky=tMF-28a(_)5v;&A`OP<;JSP=d(XBTVBRa z22^gMSjl#r+X)j53YA>+vcbQs&Lxk6%fx^J>Ec1;PDUNP$0lxIH)*gIz5LdvP 2&=BcxqEdIJM)69c^ z^0$AgqxZQ#fiSB4BguzzPAVVt({E7ShZJ8v{j$4d6(*b5JQe=7*tE^T;Ow5~N}JhE zplh*@#fgXC6f&7#%ye)^mex2vPViXBoylLK!ZDTFs&fjCyY)lmg&8Z$X>Q t%M$> z2BLtf*&!705tSHkxCLS+%OQ+f<1(IW{N43eZ^3u?Ead?|U~R7b`}}l->Oik4$Wb@`Z#dDtj4$XMQ^GIIB4uVejdVwk z+YID|6A=qd1xW0>xki%AR&G4jJFi@b(Xhzb)_D?c1FQOOMBfO`9qGS6JQrQ@V*Zv- zU!m)Qn|(=*w1UG!2)Vtuc(h`^q^6A63rgsEK^DoYu*>dtUGHxl6pBg%ZORRUvBbeT zGMG)odjJY7yI%1gH&Eq{0(eZ!E9lOnda3MIpnwXz#*FM=rhH 0GLy&oL2#|^b zuaA&n)P-mn^bFV;P{EYbSjhs~Xm6sTc+(;SGQE1&A}_R%yE==_cHOz|xifYHY HSU0O zighh?c*5(k`}{+urArGI4nvjxXEe05Wc{npg UqzX^VyO8p?C{NstOg2ZzYp zq)>kWO^<`Z_e>Xs+{h^0=c%p|@2vwyXoWMDM 46dl9oe~m)>*m2jPDj_jX0bY}O8{ z*EQU$n8Cx_Ipd<@MZ~xVcV_6B-fX!&$hu&_orCx`bbhHlJm2DMRB70Nta)fuc%MD1 zxJ#_Zptgof*-V%RsWu08ThoOOwXkKWnlqqQgV~|SMi9aJi~bLG`Cu>ezUq7zTw_MX z6%`%WP=r-nhXm8R>L;bL?Y|zjL32%ajd?2+p;W^Qo5$9~(*?O1_X{vzf!Q?E&uyQ2 z3M|eWUHtPv?o(Mz(h8yCWFzat=0Et&Sn@Y=zTgklRP2PZL!4nW^*1BrIzkppmw8yl z#Tn=>(DY1JD-q>sK(I?y6`Pc&?THAjwHyjBG(o<~nd5;Md6+Z7-MV-k2eo5BuV(Zt zJt~;MX6QE=w2^|NZr72f3GGTj^`tB)N|2e$S`rH5h(k0X2IJRtmPwEI_pb`v*RYfP zsw#2+*{LsD;_#!t<8*a8bb)>&VEe{SGV(rDU;lb$jRy21xDNz;x1o5u&R ITB9YpSZ9M8+fM&oqlDru^HbE?i7 =W3Q(+`vvK{Q&aIr zaQv{lU%X(-#rVoW?zX1K797XSN|zbX5z)4|rym~~E(Dp2P|Q+aiMkD4X;k8muO-#( z88=78Lq9v~)N%3uIG)z0-lCH`=&VBWrQSV?l2wA2njD%Qc%x}u mXA6-T!&$$<{C!Oy)y(o#*xmjhUP+qXe(W*wjLmbMV%vcac^JsZuxCLe{! zRUEqE*Q}WWSf8dwJ*P`R-<~SPD0ta``Nk-@Fg46+(3QF85R@Wy91Dwd5FfUm-x$h2 zKS;qztKWMaNuK$^e(Y FSa@FK?$G__I?2PGTbLs*e;Q L}P4k`F}6mZ{D=0y8# z_i#v~pr~4-JCI1d>vns5u=0DIiQUwPEc$Lyyrs0fyKk0*C=J^CXQYlK3jE&A!%FBM zBi2Gb@asCPdYC2K@vr(4H{0Fc;y%5f1$>7ho%Q5LPc@(O=T5y~KlI2-2^~~J2?dUx zffG09nZO{N@v}x5?91GT{XgJaIrJJ@)>q!Vs$5S2XEL0CFV1tWFW5rrwGC6g+K{3d zzP6qqkT~el@mVa8@5ggpxF))UucR@I4siNfiQ{_d-ETUT`*8FcBA#5BK=iO$6uTZy zkSaU<$tDNaIDf*e`|4yq3pi!YvAs+0pU6&8>^c?)#s=iUiWhnsQ@ty!K_E?Bku!NI zyARpeAn$gOd;7CE{v5ad%mvjQb=>kt@OCI4uryz7wtbLIvlo<)z4&SEV=^E_p5LZF zW?3iO)5rdOKLzp-3fP5=wCjRFJ>;^ah1FQc#qkc+Sry2eFIW8@(=K)#8ZcRHP*i-9 z;+28y$;Xf$Ifbviuc~&_dI$y`q2J7_&x)Gixk@21wNCDFhZcxjNKMOT^7BjDgGK`n z(?gdIM-Y|I%DP& dSf@+pj0Ph8u z_UR6?mCb;5e9-Gn75PDyJth$5hCGH~q~6W<=Nt?pnLkK?iN$U|4L^B3fG((H!&l{X z>rjyY^&83O;HY!DxnB)V8Lh=^BP2-+A*@|{Po10F_Q~0SUg(7 z&nkWI>Waid4kWh^)o-66p+HLs5HoEwOv`W)S2W3)yT81(rSGGPUzM!1EH=ixM 6B)Y3E<^Ol-5Ty=~eF^%Ki0T4?Z$O7rhPt%gNbOot*U?{V_&6LR4q< z+(nxCFkQgh-4B@au0HUbA-clJrCU!LTM?%6R&K`{TS;1Lc0aS2t_>%#Sr^Q`G&5Al zZ-o$FJ%xrNdDv?0K$3g$4< axmdf|Dhl{MTHYtc4s0xOU7s3u=^k7PqUB8N59nV`_#g~S8$HMwHSyWb6 z(-W=xOA32-gM%uzV#drFFz-d=PJ=LYWaq7*k5t@6wf~nzDq8lz3*hx0lbgyOBt4Q_ zbo)*? 6#TLBuC?f}|wx~mQ6=+Xe@atXB>Yf~li!%Fi8;xoF=>|*Wwe{x9 zY%@9z)+c{C8O|kpj4e~XoeNp)bfJdg^jr~g8`4+T&|#NkHqHy|^J$kb&kiz3eN{7u z^cp~>CWuwK=oVUi{EHr^zh3;F@nzJuzTAIpH{*lf+r3;B@__wC%|PU#TeJ@Xe6Qrp z2{|H2HZRywO&8^rEAl1Pog+$h*GlbDAT-9h zzssx|G+`W)$rqZ|Ip}aSp@QYZZ!JKBcdsU50@c5H(1IjzUgo%YP=~VqQyp>cJ)^yg zQnuT^boN(?MygKEhd~CVo~q4{ >Cq&rb@gDpQ+VT?8scBUQM1(vJ#Pp- x%0j(05Jp~N;^zbzTLzD_MK}}4+*lE>Q2@4$-J+;X?=KtY|ALM zv*DU`Q5EkRggkUu!W{i3wQM@&D1lQ=@OT-q{0yZ=yzj%Bpixk1kuyE_!10xRdti~I z8~RY>tm;LwwA{%!=o{01*j?;y(UoJF3=t3F->au#;_PyE4EC+uatKJnMaG`QnRedg z^{SP z-r>?a$9si6dd1kc zukl__Hh?`>2P$S)n>SC$zPpfd^WW$A^*I0UA7q};C^koO#WzKAV46)tb)gD)U6ggH zcs0CGI@fY=$a1W@X>t Ar_KMIZodRKat|Z6o&3hZ7g8+Tm z^AH;*E;b8I6}7go)u99f{bHu)68eiCrR$#A2p%xksfcR &mAg4&%>^-h zbK|&}jwt+e1<7)_P;fQ)cvizE=xMrXtKf+_FXvG%MuVBkL6~mHmS(sdFOq0*WW`gq z1)`KrAQZc;M1nHs9KX|^Z^}>`l8}@%!;?EPdE-z6S1k;W2($`pYr|2z(=?7Z)qgnx zm{`CA%r0C54EzrvNSX`Rey9o?MzXvQn!WH;ucSwY80+@ynE$v;eE;Xfn^i|;O{(Cx zm{G7yCsZ?E%#TT{+bDQjY@KypfWb)vch2JF>>?-?9qFt+>L58@QAh&xU>ZyXQvC(l zDXi)pwbc(fa<;5Z_5`YS;oS9#Q4V8OmabQ3YHSR{dH~NXhYm8wn-1&S`G_U6?;+pu zozOHgzdmVDp_`a&H70E3s=K$%lX=%P1l++nGMrha<;6A8gVM({F*5}fC|dA{3E!>H zD9B{W%k$*)Vzey?$x9qPgThJ{uZj-$8vusH^(4r9o*r;y?d~4Xxy#$izk;0af}`%h z?IwDH<9@}kz`>4+J$wI?!QYWi{!~{-JS5%!ht2XOY79$dB$oC4N|wfrWS#exJ5$w5 zd+mhn2LX P40y!u_po95Quq6a=a+*RO5oOt95V!#CO z!VBd4|KZYniBtp$Y}m(MgfZr_?A<@h;XS4UysQ+XLaFnSecI&%5Vvpebmbzu`I?Cb zw~Zp}2JZk<3uTVZ^%J@4CbI2vMl9chcah)T?3!@fS7*0ESTxckG4onWW8kGe%In+) zgAx35RE-N%3>eLm`!)Ka>m`u`vy;8u3x^E0C%r^C>wKfF)7(Jq|DXqJpT*Z=g^-{6 zW&0wdR=Zg5uwMh?#V(&xcHNNFEqW^OIg+AS^Wgr+Y$ Q)e4(A7;InwP$P=gwI; zB)>kIuDwi+eAFYNzOL%t;VwTZ_A !z+FNfzd%#AI0~{Hgr%11bXgIR3h6c7c-&a zq4wXnrpDtFl6thmgwh$OY?dMY(?ZjmXUBr+PwQUHzheTF$R9p@$h1Cq>mRih0oMzW z lQe$!fI5>eD+di$cRqk#7`(9SA5z`YI#JX5Pj0hZuXC4JdL1MV=L2dA5Pzki z>Aqz6I809f5Qi5RHl~&j!zJ=c7t-Ys&+}|rGQ4Huu!YZ6(y!T$bA`uW%ouLM&ZxDD zIve`+t;E9`9QO$5aYB({ki48%E2VEr&_+7esk?<$&bFj{F8|X9T0)%qE&Cg1oucEM z%Z`FL6akAoErw_%<*#Jx&ofc4d&76SXTQz`Vh6Ym;2fc330NvXR_z~&AUisZ)(im8 z{ki?Q{Zxco-awF?epq4ri+lWVy;3__$V;cSv!jH=bx~q{S?oHy_L)Q> dL} zecLV%xsKBdc-%R|E1S|{n<72XH1)$Bb52u`zu0*|_~|7tH6JtY8#itoVPNokl~}VR z&q{3UTwGY_>gw`sZB@0}PMNzuCAegUdoT*Rw`dedgh`zR?S2+Iq==d`aXl*3EWem$ zT}8eb*=Ikyd(Kc?c$~sj3|Nw#;_hF^{))qV(v_p zp8^>atk@v)T&f!bhym?+aOhX^4O|7-WzZY+hr9a-783eG2CO74uxx!+9+6M>aS(6~ zTFj{c*?o-}h;}9?@z239((SYNRonH8u?G#j8K_n@=?jO@*1|~GN?nu1q}kyWtOE >WwIZyS^bMZKmn5ir6B+Eg0%2e>^ZWxaum&y%Or| zP!|Cgo!q!sqa!E05A%W$fld1Wm=%2S*vFh&Yof{@lQ^pWynn{XVLs~58R-L+6Fu~6 zqMr7XsfT6LeVpZ;RgABgsabvFvk->Ur!V6EdDF4v&K77W-ct4E?r06#3-wKG&&V#( zNgIkDGY-cqhJGUm^ {jp!zUtK-5R3dbAn(X{8elt^SQ6aNIvuahKtFK zgU^M5sHEL1RLol7Pa}w?N8x0*$NUlLA`|C;KhX8{%oTwGp9O3&Q?YLe%+4~VcFx;S zy&t5gtgKu(UaBW++12+5BHO)=(V^E|o4*YB-a2(ia8S*a l 9BXw zh4FF=i(1Q7oabH^O*&Si3NbY4b91>388L;hAY$NUUp_9+y@D4tz=cTyct<~t(e4X) z%OJer>O;&lZE8uX8m5~OTRxT5*g&UjrxMqg%7u2W(+LSW7CsUw9HJr@KI@-%3dF)% z%w^;$z&$qI#W?4g=hAPDOwu>CVJOuGXaGZusr-wdu{$-fa(_WYzc?)9PJJq|I`YMo zBSU_wQV@R40Q9~j_YGQgFm(vw`~T)cWa2mT|zUURk!))wa6wN((p@T`&X! zA@{&|a?AS04L_Hn&zEE+n7J!tqgY)PX}H<+E}kH?zGH3Iv#Orz>QRqVZ>uZMU=4eU zdmHNySeD8kTmI0}##_r9vh_NCe$5@8rA)jfGlN-enPs@m`BiCVUkkei8=QO~`orO2 z?tbIE39>Ukcka4i^{C!FC77OIv=9!N{_UVzXjNSwX8p#SN;RK%64V5d1LU$lxGNbc zL!i9gzjSaE)lZdhuPWt)dtW+o=Fm}pB7^^r(Dhvt#d*qC9XoGHh{VxoW#L 8X;6h#Aqdl1qoDp>@og2y}C=v>lRq0i0nv*4FaTLG;buU4TTekYI~? zP!dflCh0Ccy%edlNhHQ0vzJ{ymcXi4?+e>kj_Iz;JvQc5AW8KsJQHe86u%4}G`i1I zoG2>DfTEa;)jjyhFKwv`Rj%V)8CNRiZxbTljS}taUln(LU6IWiC_`NTO8*RTeW=FY z)M6>ajZzVx2YD{tx6jPbqvAwCSi&jw>Dzy}Cp@z2Et%~v*!B^ONU~(3Q$@uWB)aad z_EAEC{LzG5?{szBbae~~65|`JB0o~e_ez{0F%Qp z=;S5s50S(Zbu<7*mv*PIpsai z(9qC4sC!>*#Mr+XM>LjsM#JBKd$ZckS^zo8_UV$aMfkN)0};Wvk$Z_KU)ROdw8{P? zRNh9$v%J0%!WYfldb jPp_#SG{i0chA}bc^AEE+;_P}IZxY4RXTE*=2DcfPpj6MY=pFp@&1aLe@QNlz zSM&n7?#8#Cgar=Y+s?06x0JDwb`z~w>ruU2D0hY}KfaJ8BPggQAae%#AvGqkT;qNy zZchm6n @+KAMQQu V>h8@nL>cH$ zeepXu +(5?1(nB~h#Tn-$g^>crt{5WJvi%* zP8M?S)yZnRF4lxe|GZj?6J5 kX^F@oGXh-+$Z%AcuGL= ix#R57!g5fx zT9ic55zv@EZ!v1)-W6j54#AxcV0cc=2iF=o(!y 3s~MNz3*ARL4EHTQ3NrSFLCqxh{Wfxn=uAs*4djHITG%j@%A&qRAV{G_Zu z&h|Nvs@rdLVD-OI;mLhPYSv-)+e>YlT%yzM>*vo&9{Ji6>PhrUCs28<^|N5_ibNi+ z^d*bc=r6;GTl{CM#OY{gb~hLJwM2A3hl2{TMwf1HvAWo&@5eMw&3qx3GLJZsDX-Dx z{3V4tj;vn#S7ax9*)Zx(kA*v4BddN`3tzeA{E(UVAg$vKefFf`A_glfE2(23rMmY+ z!}pi$FYcac7O4C*wc6?|kU#el(J}_xI~7R(B<<_FiJm>~iX7I{D_3GiL=2e&JaA37 zYrRrX`UXYXi(UGiCqzve@2XFIpO{sBVr6Y#Z(xIJ+N`eKK3}7cHH|t}yr!9hz5vAZ znc{2NU;f}X%k*B=<_mwKpJh4ubi{%Ukiz-nTBtFg>_7Y0sY?CVl0EQWFLnbw3oTt8 z`B2?crHOi*nhu@$%j079L!5``4y&C6w{$j+l{UZs{OP7Z%4he?WqKie@DZE(&lb*( z);N8F1ag8sv|Hpnkf_m!-pZ^tmfx_*n_5ko6#l%xXrSzH0}n= S1lc5vJjjiHQ67% zrzf62F`GfZbMiUHJg_D_m(BaaX(@>T^X}HnuaKgK*`ul(zCl8aeU;EGc__g0- }T|T3KaG^{(Hv%N#y;EjJK8lGBP6bfMH#(x~B8)I!Ryd;+;Eh-iT5`Zra|n z%d))On#$FI!TFX}pC2 HBSJQ%*MrWwSjCPU6Ls z?N|mW?x~_)&kICf#Z{c0JIxhgtf4V?>TKY{^mJ{xxY6;hK2oK4t)}|}`=z_~?uxx< zgej|v-<5Ca3dwMuJsX&oFM2-cIgix&Lx-VIEosU3WhH0dGBe9)J$# z&SHCQg^negv1Lup%ew?^vPx(?ngj8e&Y06;j0;~aQjh;ii+$NzHDW;{Kd WynIbH|s^Dku94^7G9JxqsBz1-JeYJtDbn+Hc@DEU2oqF+hZUTS) zvJ8M(@FSm^3ueFIjTVaPm%~r17Ay_(J_}^st5r1TTO9(Dq6U+m($YCIvn|*_x GJl6iwTuh(GTm_XZ#z0KqE~{%cLPfTHmNrM%x4b zUU9DLy<&W)Qk|*(twR;cDr!E;baXsjouI>l@{&@LJQ*L91r*v9w4YgSd&8_QTOS{& zaji F+*lo8nXO?36UVkC?#WLh#M1jnX>*ndsMpVqy?W)SYMX7VZ4Q{j*Ms+NELjcIqRM4X zW12NZG#putANWr?RQE5OI)3czRJeFY{`Olwx}eRaXal1Ny9*bF9z5``RaH%!w7JzJ z !*?~XPmLI-Iqd3+f3u7=44JI515j6i zP7O2XWWJUid@}ITCx0rj#nKXjgvf7HO=LvA0|vHiu!4oWVS<&GlEQdP@MKm5$4}-+ z-27Lf=S5{+OkwzlY);X?(uZN>NakyG;7tByC^{e+n_7P%G5Dtj0^JqZ7ky`|Vh1=Y zxaxh^S|H}L^I`0#V}bEENHcMgB-@4_spOB##LaE5sew~>*!3SJshDPh1EFt2jo#L2 zbD@oWl3wL!0Ri946T?@rfqUmKVp6_8YCKFg-2UjOjSXJKsX%MYE&ubW+JSyOJCV>6 zO5N{^+oGd1rE)UL^H1vVU&PGQ9Ml);9#{!XF@5snVts)BNv>18JGTxWR;}dx@a$Q# zxh`vu;?1sWytG^m4KF!UC`TUko_C9lHB)mEtM4H=HgJ)B%V=$fIK#a@qz^at_vGCY z!;Q6|xfr2aJhZ2uI0Y#h9M)ow^Xw;ZCvKasPqD2M#kC!9Bc*H(*&au~eQS=&be{>- z&NM2r&d`A%9!624K_P-s4*Z|_vi%gaqQdE)i8m_Yg!(rlOTeF>M76yM`ipz9nCOJ> z^OhyG;(#+cuXlYuj4o%yLx4uFBJO9{T*q+~7`(e)!(uw;s`>2z<(KN};q|^vudUs8 zVs KQj z6$e^JT!wJYo0=XGvs<=mdqd+YGo%|VvX@gofHAWbx_ra%j9?-R;S)ELD8_&hrPA zF({Sk`N0U8%3k%va=#ujWj%YApQr%hvqy|AMaA#!o&_%LZSxv;A@v0|5G-7p${e%o z7-!o5f|<|ae! N~MOVDn2x6C!Ev;57C z$vRqRC 6^0aNw7rkwR2<0ewo5+HCrB%3S^`n2jQa~OU`z$9Jl_kQkGN5zGf9Lqzcz( z54ylSeLH4DAYx5iM2+^mH!!hUGh`Db6d=m7u2*)Viai-qTnrbkZ6tW!lg|K _|c+W-wRov zPjRdf(owKuN4vVl#?Wj(jxwgEq?~*-%lf2J-4&5`!_`&tsk8GpInKj}4*gTv(y|P! z@RfnpBb$VV+hSre;$lG91EO7f;HzrRla`ZJkjW5#^ceoGG52m m<)JS-llX?+9pQ;(7GQ{k)X*=8T+kyxarw0|rYe z{jv}q1uClp6ZF9sJF$VcF-Aai^oFI)0w_ZIC0Oa4{tL{8Wao{$3mS?1F~){j`$rV5 zm1zQ`7ypySkL!K==Hsn9<>ZIYf|PE zaMN;`x!BEH8xmh+uE1^IlA#->(m%})?(2z0!dElYZZ3r&qtpC^D@B+U4G zn{d$QTzk7uq+&`*ei>7yQAPmlTuBA^TgT_dukzM`E|`E2mA4}kybV-}-GCS}&Gv!3 zx0nInmK*H6@JouP(|8R~DkGHuL?wtx*nXb_D*zHg96SzA_lpN_+~|^W6jA|*;s9D9 z^_dAy@cX*yHwYr{`9`-F$L|~H1jNNceEl&En+sfq+QEGnau@|a%$}2c-wg>;$}$%v z8ey68Cc=XxQ%8GX1@Y4_?j<_vsUD@JP(~0t_a8FXd~K<-2m+a_=)GO{@LD%K!y8gx z{)QF1;$CHIU@}?b-Ln$-!AucfDR`6-=&oG {#>B6l+SR5gEu5=30{iiOY6BX&>TYFKNomsXu^+CHM}Eq1l7F5@IgVtNhadKI zQ_#B#Gx8P!;$H@OXJSdbbg&8;uA{!GDJLv{L1D=%am20r6BJ|0Wd-P^Dgh(~L{c6P z|5dXWVGaT^PJ|8&5E=!mc%d{29t kN{>TQTn9yv3P*N z`7M}wgqUl~1NIBQN<8+ZY`U;JQ_;aHCE{)be7RbsfG|1vzMsiIW8JF0bzbEpn>_?m zn#llnF{K^IkzOf5)6ZSMb^U<7s(SO(y~Hm0&&&97*N6y`fHaHE=R&-VsVN7)t%ISI zq~vWm&cL9c(H36>8Czd}^L1=&2{ola2q0N`6tjT32jx0{OeI7|RBA_hhymOH%M)k% zuCKla3}3wP&FblOGB)GAN!iKqkI^)W$cyBx+om9Fg#~V=#-x_sg=v{{S&u4#c03-` zaGYTc$2ZLK2$g3&stEn`pxs#Zuu{5*u_k=sHhjqJzC(yK=6xRIC7}JBK(&eghN N_E$kq@y3TKBYDK(lcROj(Y z3268W)vlg=B8)uHFUf37lbSI-&8%Ena0EDr&j6XyFHQCT)+g!_pcO~U=BU11)WwM& zuwW83p88wJ;t(D+n)lAPP`##piG)Iyo>|;;h*) yc)V`84)-P*Dre*54IXDAAdR?3 z_(!nv%7S2%8_qT~EQ|+v%M5(x%%h3v`)3a5b7y2LS8Xg9hKZbIkGd`*40syp4AokC zdIJ$o3B87^9X<#_4l9PcU#5>EN~)lTmD73eeTZ7y_C&zvPENG7*4HwlZ%PQk8&0D) zZq=wpc7AEBoZ&k^R2F76^FHxSr7i98qt?0`EA&ahL6V1iD-!|b4M4dzoQ4}_LbJwy z>Ic5guKsc{Jnk?-3%36(2l%{WsQo`G1U-KtQUYCexHmPC9+xWdWn&@|E=m>q$}ucm zIOxzI$r33cLfR`qKJQ0$O74x115()5s}SOKKMzX777gpJ*3qjV@aRGpEjw&F%a4Jf ztkgy)A?|e_`kH%etg6aI9~Y9S00( `u-_7=@VLi)09tReHMpvaCUFl#JDvxKYp{DEQYMvy};=XJ +`yG zrsA94@2mnpj7l0EV2wgbeZv9Kuwl}>P{9Wex-RghoCtp|DXHr|cT)SY1<<8D=1Tjr zQJ$pnv7)DqWyT{OS7C|6xU0v@pS&7=z3AfsM%lyLo*Y@^f~liZ)2BD=Ez${m+yf1_ zGk5yz0j0Kz+IVSPUgoloCobw|CZ&+}|34W}h1&%b+ippXpYEmsW`WKR5N)q2+~`vC z3mSpU3nBWe&7lyP?@ENohk7czb^h)bQ{NZVFuPcfg1)(y!LQ59eqeXUv~@6iK?}Wy zJK56YR(^qVW|c|VGoW{RH8nIX$Yb{$>Kb}FGMdn4{|{$x0TpH2wGAtRfCxBJA~6CY zT_PQWQqnCAQi61MNk|XfUD6=kAT8b9-8sb2--U5M_w)YW`>%if>s&5Joq^@azRtb( zv5(_8MU#1l3N7i1+P}SW4h{DdbUKR*E-G&)HeCKx1d&mqq?a+Lbj3tLF;Fl!xR`mP zC`JF$*xN^ZF(YR}`ijc`ahqdXXxEaRg`b-u0UM<8)7ACOeJ@0UVs 9v_Kdu`>QWbc`vCZK&cvI4 z8U3N^juEdBzV7_1Fl~Y#MAXInBb=!VHUqHcv*>>!ImHzo_G_5g2y62RbomXa-mwP4 zFQ0yc=I}7tP8cITd=^aAN5kz~-QAvAGgieM$LtpnMzDh6hpxoVf=6+dYs4btklEzy zoCjaHt5NqdpTRFxAwt!w(e)CL);^200cpb28N Kx~e zywhZD7o=b|C@DBDFXmvFp;iu^Y}FGTegp^_olaQaTC3iO*8#xVyTFc=s3<(`u^}Jn z4>Bu59-$!%ubi*DNHQo0>{!bjSsoPCfjv2Bma*|j9ndsS9;3C8xm+$?Wn_H#mSbuV z0?l;Uop%Gy;j9UImCZm@Oc}NDl7WGeje&49R8@qRmCz_}? G^^xO|cSJxZ+1t|W;V09znXA^bwH9BxG z*?C9s;u?D8?t8`QqPk3onJ=a=oNph9);Ubaa7Z4J+3)k%DLER@vgJjL|7oYX YW z9%u|iX{JY5S(obbX>$g?f8T>cLqvDe6u88=^LI@*P#RPU_zNr~ynPH$^tYS3F~v%H zk?QTZ klQ=Z5&L(Tm>5_l0)ZNukXUIC4oFTMpj;!vTs&oT%$UF2u#NUNA06R5fxN+ABC z^38ep{B8( i8DYfA<^28~iuel#_)8gI zoVsfUOfISEQwFw##PTd+0WDDGuT)luvoWw>4s2Kk-1>9M#aB*Rd;QlXR<_fGN_6V* zwQ|pmI1MwaeDzCD^OGtaSYA;ybhX?L;O}L8_4=q?q*2AoL*)9fm?GgY*U%uu*44>n zo;MFk$#8Ko*B&O%O?xfAZ(EU|xsG82KSkGB{LY?s1#qVZM|91%zU;QNJhHf@YfpTt zUyl_qKGq)ByPU6nh5k@2EFlm$FHNn~sy6Dr70Vo5ve7;=R$tBPE98d;N1U!p9ELuL z_U|Oadxu>TKvVgGz$z+;-$Y%Z_Bs=|V@;4dVk1+w)?l R(t4jdJui17gwT7dq|u!-F6HQu@gq1!Nx!u^Wd< z;>pQeAJ#eb56BZ8pI)IXjQW>KcQb%3r(i9!u@79ina){novL;(7_r`d>1FMpDLQWH zth9@on%M3i3C&sr5k2!ouCeR*-j@hk**B{Y)^p+cpsS~Kcymo$KOCR6NU|OR2*4P2 zg)|gBI`)}}18&aS%>!MilrLuSxiwtg;6-D;!42X$)_&S>HEDlULuT>0n?A9ng(*Xh zVkRO9Y7n6Ftqrt9Be=NO;6iztlE@Qz@rBubf>a`Nxh7W~U}(iKYV^cxHay 1X#{reR$p~PP+npG;VuHc2r+g7#o0L{+$pzME(U$S@spxV}<`{ z(trx;G#o7x;IRFR*f@fzzb6OC(jEi;%N2R3JN2j*!|M_f?RZ+QuCAufLt7?F?g71p z8_?>eGN5f3u_obyA9{j`>tKQj1H0CxB+)K#1lHT~xq`2=-`SC8Uq3g7R_}kjM^6~J zHBiTm6#Nka3EY|^Iy>9(qYOwS(3~$tF4~(lDjgUgNjI37kUJO{5TM6*JP9~|W^Y+A za^|IM0srVybzIAA?+kOKceG*M6LM^O&^b{J`AKet%VeQ0^zf_grpHZjhn) Qm4IO%pnlC?y{KqyIbpTcMO<3+1>P8CUp3bb4dmk{ERNcq zeu_ChJrN4>^&uOxbOAhC9SOKzBOIEysuY@uajTi>2n)R+hAMTRnE3f@o9z5V`8}ud zEGfF~N6Xwk8F{2CRux&O2(VCmPWZ bD#1IDeuoy~0*nq%y<$q7A^ z@$>OgD@#lFJA$Xm#`;Tw(-~bvJdQ)_Z^Y-vot)o{j4!YCB_5jZ&%H-QXJM!X&^9m; zZy-ml9a+&gp+m>WDZxBj#}0m)+A7N#-+@ zjI{{ z@d!@*G`IehKHG@hb)_&OU5^3MQVaD*J`0FZYt+FAC_PLrY`LK zW!;wb=|rv}|LZw#75RT@pjtG&sBNUnryX)zRGSMb)XTPle|Jzss5=FU&?b&74HJ!? z_IXHCO_65k&7PzyzOx?ww^_}5o ` DKj*W?A~&gogk*t$Ow9@A#;p%*Kw ob00LN0{?nJp#)07H5J+(Ru6Ra~4ExfauIy zJIUHd{h=lg=)r|1y+n0RHL6*@D}vkp4bB%_u9_`WHnVnqDccWQZms;9bwU96R=Flo zQ5FfXEF168Htv`GN`JagtrB-x-T^1BIk$~~aRA%{#(dk4|5Wxs-d@XbZUaR2W)Dx2 zCX84hQa1KtRplkgQ_D{=@8 !sbWU(5r7=VbU~j zsEYP1uMwZ{i)zc!JaD_CC$C?slu@i{Xd1Yk9jokpcja@OHv8VTt;Z_wQBSWD<7-BINK#Z n-F3(ha;1=9A8@y*|sjcOw@$bds zh=Ky;Aqm5cDi@W>mENS43-+n0>3*e2aO$7^m}hqT(90SdeqZ+a(}_q$^`OaGyX6*s zpBHwN`K7i|FnM6efJHoJoF1vJ#%9V~QOM!`lQCUior@Qp>l7(IdXJKr|6!!o)CR)l zrBMU4RVU!7YV4rR_V>L`JaP)1cl}B1B%C!04~n}}DLJugi7RNit ic{LLg;Ixda5ruuI;&={b#asN*SEo{-xDN!;oErd;l (UFR zuKtpup>xRDz5Jq=|C$tWIsC6Ao9xtISo|x|&wPNk^63-Q_vi>EWoebIARvwx-#aJR zE(t!fy_PQ>e2ux=+KhvlUYv7c`mr!DIOWHyx>F@$diGf*dCJ1`{Wk5UT%}RFk|8l? zwWKhQ4oUX=z@%)AMUm~zLa*CxTYPM6_Gja=SduD$^Zp=@r%>Y{M74Bkd$gvp^in}* z71mCKYW3*KVo$vwn9mkFxMQEb_2+g_n-=ptv?U%~Hm4;WaPs_~8t{;JQY5$oER2E_ zx`MoLsIo?d8zlERfx;^v8^eMb@g1;hAy}B84U_rP{g-n8(p@wMrPEYpbM@? z(|8BwYfT|ju0?<>3YfNqIxFUA0{V;JHDfZ)@4?$0$I)@z ByrmbJM@~@IR3JoZCd-%t_L^0n7iiBq9E7NwPnDN7i@1N{M&@jP3to9N*PK zD-Yr{&T|!` Lx80(bJx_|j0?}`Dt~3rmasq94x#5<-4ZBLn zwm#!Ru8y~lIw`42ubGhyC~2yJh^wn>MNpxo${HIpK48F{Nc3u91dE~dU>nTDu-FY& zT*wQenf)d#des$uaDd1IOxMUXMCz&$H1DQCi;61erBi>?HEra7M!>3WqkF;sbbuAf z+_}BA04Vf7M{A!3R1p<+ZKQv@y1YS}a`>`0lFHWp*aiQ~{r07lrIPfRQe)aKYJXiW zh4>EUu)ObEZRzhN7>SA0Wb}UcX2}-o*}c!>$mS`;y|CbS p23Ea_yZH%$@p$i~FLU%Xb9 j9gs!2L-q89G}QV?)!ZCG#=JZA!-61yh4cTPT@5B~{F@ zA(3cD{nk~j`DArv{I%sI@^JAA^)~9S_W9jK&@U>=LbwCw#vAL? x)xHTJEd16+hQ(H?Xja)rsQ9;T;D`!uqa&^W27|) zW!ee{Tr(Z}jj-0HS9@U2_z6cJnD^|=gR|O*AQcrrUAX^APpfZlmeS0?K*x$@cjpl> zmxtIbE%rQkUOt|u=LR5bUT@bwh<=JGeT`d`?`N{?23;7Wdob}Go-)!Antq?%Om`YV zh;E!l(H)Nf+p7~OcE+GYB({(@>f|;yvY>;l9b;co0Ume&nY}%KQ|du9^4A`|dEy5z zVQg ^I;WW(7+#c+33#7Ls>BFscK^xu~YA=pA?K&K>EF#f5yLb~8x% z4^Ek)K%8f-_Ro2E=PuH6xpX)B8N3KeGPz>8EX&Cec|P6WFICE6zOan@g81U-ArQ^S zdiPy=g`^G#NvdgH&9Y#olC n(v@ET(J}iUyh;@ z`ALUj-c303ML4?=^6GTcv$ocTpD& s9T}Y{VFu@03Dl+ho-dqX@F0RT+2{ulQc}LfZ ziZSVR;~LY@f3V@!=d?n^)V~;CwrlOH1?ZC=Wh 7XM9HgD zbAqz8n!k=h#buJ{Pn)y!hW!9_OpMX4 wz! ~K?8ieVxItc(;2A%!C1`mID zFvcGL`yu!w=l^;LJ`^^3i;jvK`bY)=VWt!oQIDr`m4KUqWN=@Y?!_Z?F)^`0z{+f3 z>6t|L&B&TM&x|xMI{)FdXaxchlhIWcHaraYASnpY(q=wXF&*}ia@(u=P0kRo`Ye3G zr^?Q&thf4}wJ^v;` &sZ+UH2u~~E^$Rdy zRZc38H_6y 6UCMWD=j~{S@akuKZYO#2@|JlKg!{z3 zn8$IUkX~J7S5!qqGuXlD^yB7S{efHvT3%2Q@Px|&Pk1VZh&rQItMeTTn*L;bPZLnv z>u1jYQYJa$WAYrmJp2yzmv#G4O9Uinm7~(Bn|xchUkwaDZ}^?J%H7Erjx;i+S^lq@ zu^@|oil;~}ejms;|M0th>n|&cJ~51VrL=c+w9IR|j#F{Tt#|wq@o#h?c#I1yrc$!L zxmJo#shpJttgdwK)Uwbwd%Uk~eI4%x==%${%k$gY>MAJf>*ImSSkR>!G$@#??yfFR z!U}SC*IBQfI>0Vp&pJg o^L@xHH}i+huG;an7e)? zU^{+uY4ZrJCGh5&=|#hdX^<087>u0mPN?b5kPoRJe#6F;DlL`0OdNq3&scRcudQj` zR3QK&<4w!iu=wPn VTd}MbRF!jrD1d!3e^#2ST{vWnXlg_lc zlQ7QmbB*2qGHUn*J{rCn07P{DkED0RlflDxh7Bn+Xuk2@097StVPId$B4*XpXU>`* z1db2%v!mlPmQVBI=hxwxQ@Vb6N;sk2F1UMAvBN<59aSu;tA&F?F}_2!iW3($7c?q9 zKT_AkMMjUoaJC;Dcwi2@5Z&53ID*`Ml(1zD%v5Ucj -77P)zU{JBh|t1d)EtUjE3(7WAE)*R4vW!@gr_u+D+_O`Qke<%W*doD{VZvq$X zYUd}Y?z (myd5|4%5>vu>nw#J6{gK zZ$C`^nija6KMwixq;s$GM*OGLN!mJeNK3H!Z=nFM)JQb_9g|iv@e=^v@(g6~kx*0n za}i86dEf1y`??C>OU|~oHb5i=KOFOD`5t0$r&~uY&UvZ?Fgld3ZiXky&8%n+B3`*d zD*~Vftw*0Z*mHyv-)P8T9c(lMgk&)J_3YryjzhxG&4~RA96W5VEJ<$Act&P<+?bCK z#^N~ J0J8dzJU@i5tHH$Z a+zbId@PlS5a5ldo^txo!y2XIuBIbfishP5 EO=U=VcpjLjKiNheT{PXgG `jsj`a-Q+=}tL qY8~`=@_52u;xag%^ZDOfCK)?F2BPaQGe#4-Y$cTWT*!;}2E;iP$ zeJu)^vXZ6zm+44C8$Z;(u8rQXVEKz`0MqB};wQE(Ym76@y%&;RubimcmWLgXE#9#$ zOD6Frzi(oghT>syS&^lWIjTF5@w}iyWjNgrHU)v!$fHKb#oF3$yIF`C3QjpAmQn$e z#2toLukYUpQ4XY+F%mB^O*@(+ n0;YR+sb~c(_g7*_ zvriCtC9ITLBlVBg&H?;4UFpy9GXexo!RrIwUzBbh>Fc)4dIFU_Qv>8DuHt~ljE2@1 zzzda-!%~3yJ1&wBUGRsBj&SJQ&no6GIBj2-g?qdyd!9tsYx9?5<%vC%*S?A1_Cmxj zux5wcv*S(j- %X=Ufq-=OoKbIX z?mr!AygosnyS9$Xm*Vm-;&CM*c7Bn$4mW4HW#Uy) %X6UslC}m6o6+qmxt{t32fw?_7_iNOi^GeEesHaz=|)I_MRGa zYqzw26QV6GE=`?6U0 ddoC~57-&Vkr+<) zgUh}z*H#i0 W9elc~4nmoM|O(w^2P5(}{85G8!nQsv#%8Z-S^6B}i zp%UNua h5hlVkl6vTB*#> )J|RPfp`mGe zZES2zu?{lz^XFx19*RK)h?qqx-wE(aH$oBAoZgndSvry;Jy^*rwiO2EW!VJX2P^fN zvYPw143ERtTc>x&2?)FZQruyK3sb()_=j$%{ad4MtLe&gS)?Rs4 FH%2r?25W zf9{{1O}VnVnlo82qNuH%rmIuFZfusO&C}W0ImEQ6tzX?Pv u2@Id_ZHOxexOy$ zn=$r$GPnl!36lvRGrRiC_$&j=0xw$?SHFgQ3R@axvfVHi_}cNl#b3Jx0I-`X)FF9} zWmzn>h)8dAPBWYzbDpsy7oKwx1~-Ozt$mv2%E`Gqpe9?E*8(4NPi0|hdq5M>=xi-$ z7& |+`PFO@5k6V$ay35q`p;vzsz7#$Dmsn|oToU w1CtpD;CgRSV`z(Gw- zZN4%g6K)%&f5Xns{;b6ZvqRJE+8g+#usNP!I$rN&r)E7Us8sJ*F27>1%efjMXFl~g zt9)uyHs9p>;zTwzt!l4&op@)m6d7^@Pan1_K5ZM8f)HgTIa1F#!z2_gS$ZAz=j!2$ zKH#0x*;0Ke>+LagP1p0x*$PYaW?+nLFz`Z&c--Z9L&o{$e7!`_1&U$6Uw>9{?tk#P z_`{cAN?M8c?|%fb&G{BJ-l$N&*d0tqrms7Ax9QZZ-$p1{oK=;7E+im;SXjOGytFaE zRy%NJMy*o_oqFe!uGwtb#9 %YGv8XRqLetRuBp^C`t+hZn?UT~r+T|~CEYFJ za?PQL|B@^!F_7TW`O_?-`;FQ&wbpMwDnB*d=cMHtGja>Pe?Mlj5kfB|!6K!+f-J_& z%ygOTChcULWj*Wz6fKCDgIPm2bvf$Rx`eNS)O@{^(tBZ#Ftx`3myE)O_P{Sw+rSKX zkw$+x0XU5{S0NVr+WWt`Lq{^rf2kaE(K$d{@^7_Q1MGkJ1pRgi^ZX-)$xzC9kUiKp z=+S~f#QDDMD -Fw=D@#dex`uPywu;XIbVyOTT<-WC;m%9i~1A^<{t7dscj+H z-XYDw^A77oIZt$chLDs97BMj~$rh(kQeSOmC1(^1FzEr2IN0dsmNQ^GTVs=pBi%L0 zx6^LFTRy&2+Rtl6*`83GQ|Z<*jD}I0k?cNb*TZKXVxd@2bD;tdS7u|~MBNnm@m8LO zVfdXW@zUX`4+n91kFnju`b56iolK_2SxA>GU!&3O)j9w1hYQe*q!RNy*>N-GV!zjj zgZ;5f(`_*&QQhvBUF{%j1aZug#j(Y1d5G5f{hPg)+%~R&ejYzfv`NcYm(10TL2Rq? z+n9SprFBJhe9qj?lHp9Ds7TZC%{6E=?b!;S9(nuKA+l`+9Ftyjw;BGukKolMd0VE= z(QLpILfxx=Qm)(CK(;Y%t(!1eE*cYIZsTPw1~Yj>{Y=0);?UftAx~&7=gv*`w_b9E zEarblhu&oWH#&4@rj#N-|Jww3y*E%6SvoxtkTh2Kqf3ZA6;#*m;3tm`^WZNgn4Q#5 zro##HI{~h5lbc$VP)k!1-;s}wih6ZTZ(C|q4NIB8**ofHh=v~H2=Dl(`wtHf7wl `|XY^1%k{DA!P#%z09%gq+YZL z*E;GYF{d@kyz6Cw0|mECtNoa=zR0dXQ{2R&On$eePm36RwLskd?adiv6Xm1K8%ih= z?mQlnxpqP0)lq;$t~NC7i6pkLfAf2p7j_Fj?r*}HJdwqA-EOb#)EqZ6hZ_CVuUiiX znoV!7V8J8fZZ|OS@z$u=)S<+2v3A=da_I^~GDc993vk%UhU#>S!3RbaHR*6r{K2YL zpm{7K(6t{~upmfRM8r=Qa~LBM_`mebT2^)jFf=Gp14P^)1Wy9fs<+Jw*r<=<{ZCK{ z{2_v=X$P1xDRAHmmB$rrWEqVYhV?65lz;9J*V6wokE5tY(t8MeKIG!bH3k8zc**wO zY%PgDo}k;3)M4zwdQ`F>hv{Sq5^z?BU#Y{tPP~ GR^8^v4|Il zd$8is(!hhfFsGU<$mf1IF&{TYU3auc_Oox& 1X&g^3?q-Wzv>Q>>?(Wd`lsh0wl(cm_Z?=k(&_B(!@ zV@W`{UyZiwW@u=P%~9vG3GK>}cHoMJ8aoEuy;-!w+98YGMJ<(Z;8ZMDPd3e3ZkYZi z=8#a;FbCW-20tW<-ngS(?y3Az1|@~qy#`2^SpYbSf+h_)UPT68N%yas<@|L+l}oz( z7t4r1ydX&!7)k=x9Q^3N+N2wqt9P>K&E^>k(mT@noI=W`sA-g9*cDXOJ2-@K{=-1g zlHoxw1INL^A;-}(nX6N#7Qpg0(dL%%9m|pee|Ak<5W_zAOWa&qUM_aKb R5||PO{(xPsTM;vSWMerMb&o`Kp83(E7>6qTb)qL;Y}(^nmc}5ytNJO9Z#=S*MvF ze2X^?V+6`0A9-%d8 %)PUbO{|6UY> zCjI2Q!Ubt~v%`9#4>|#BN>$Z_b4JMz;T!##X5McI62o +cUp|a7$gRf+{qYrkxjg84&6sAT z55GK*^|@L(&=Q|6e$ZxPV>+rS#zn(HEoA}_0KsOI`7lMN1Hfem6R?A$vZ-4trR0VQ zd1&7Sbt_lE!Ga07?7SGSe|uo&AuDPX&-VARVu};CIx#%)%~{nYg5mPz+u}2#1sR3u zGovsO^2nDVhzO}{n?nJS`fgjp6uk(fFD_`|$I7m!r#t@W_wUPK%N$Ii`KKMfQpgaY zh>#z0y18}n!G9G_#TL%R%*MR!s@V|Xv=&j`H+Pxfq v{V2GR5UhlneGX&Yu-&mwahZ&j3?!2?YOLNkL$2Le36F7@l4q zf}sndkIUt$&7jq=2`D$GS`8JWsP0HqQ2uPrX b-({Wo=BO7v~+1n+xd7 Fxrk*yCZdCS6>GpldGoavPSgSlg40?WCjXC8RsfY;z?bxno?1y z1=Xq?V4uWTg-aKtUoXW9x_fx5k?zDZYI(>ebC9Kuke>;bQM`M%Sz5jz?G@vZ*MknS z@P9A;T39q5okvz#z?L*7e8=OI9(3q8AbDYe>pis{aIDCVeLsl De^H z&yakgA2)*VFbRzCKbpF}(r~+-|H+}(#s10VbN!b%a|I0IIu6XN@b^FgDm?=?cwGVu zBsNjpwm1&-Z{EJXNYx8}73B)1p=x@dTJh0a;njzNX+4+I-7o^v%c?3a&84)w@28%g zj7eiv>dsDLf=}`*com(Uuhbr1*w83&@@(d;Db?%+5=|2LP1# IZ(VJysv9k$EFEGakM4Qb G79+z^(>wcdlUliil2OIFfsrSy?oi0N&tlFaEm6 z@2B)@V*eil7fPBSg0A@;J@zu35{~rutxjR6QYBNJdN=vHSP`_=N8}ztoj)j|eQ#I9 zUNiVFNVnP!Ay0P$XWo^%J?MVA?n!tzEjxB-f-lkPYcxtEFlfz>PwMqWY|(a6qeiDZ zC8>aFQz{`colPtQXiwyoU{hc0f;3{NrC0fRn0Pp;VOc|ldgr66k4*@*jG_B~%vPbBIGt?i;=4;fefF9S-ut#uE3KKA> zl>OXOLR92nRjIOzT$En>rYjc_7!;-@3q6cFM8SAXAz%)N^+Ra1m8<)B&eZe@#n!|h zVW_kBI?k9Hd$bS~Ip1^X=j?yoyc~;scq)v!B(GI5D`N!0%UDWDdCqO4iYufp|MByB z 2iv8 zZC%{k2IZKHCwC(eJg!RTN1hpLa487PohRb@ddX@g