From e63f9d699388be5b215f0b95f4996846e9fbba71 Mon Sep 17 00:00:00 2001 From: Artiprocher Date: Sun, 2 Mar 2025 19:52:27 +0800 Subject: [PATCH] update preference models --- .../BLIP/__init__.py | 0 .../BLIP/blip.py | 3 +- .../BLIP/blip_pretrain.py | 3 +- .../BLIP/med.py | 0 .../BLIP/vit.py | 8 +- .../extensions/ImageQualityMetric/__init__.py | 148 +++++ .../aesthetic.py | 11 +- .../clip.py | 53 +- .../config.py | 0 .../hps.py | 34 +- .../imagereward.py | 19 +- .../mps.py | 53 +- .../open_clip/__init__.py | 2 +- .../open_clip/coca_model.py | 0 .../open_clip/constants.py | 0 .../open_clip/factory.py | 6 +- .../open_clip/generation_utils.py | 0 .../open_clip/hf_configs.py | 0 .../open_clip/hf_model.py | 0 .../open_clip/loss.py | 0 .../open_clip/model.py | 0 .../open_clip/model_configs/ViT-H-14.json | 0 .../open_clip/modified_resnet.py | 0 .../open_clip/openai.py | 0 .../open_clip/pretrained.py | 0 .../open_clip/push_to_hf_hub.py | 0 .../open_clip/timm_model.py | 0 .../open_clip/tokenizer.py | 58 +- .../open_clip/transform.py | 0 .../open_clip/transformer.py | 0 .../open_clip/utils.py | 0 .../open_clip/version.py | 0 .../pickscore.py | 4 +- .../trainer/__init__.py | 0 .../trainer/models/__init__.py | 0 .../trainer/models/base_model.py | 0 .../trainer/models/clip_model.py | 12 +- .../trainer/models/cross_modeling.py | 584 +++++++++--------- .../extensions/QualityMetric/__init__.py | 7 - examples/QualityMetric/README.md | 49 -- examples/QualityMetric/images/1.webp | Bin 336918 -> 0 bytes examples/QualityMetric/images/2.webp | Bin 256026 -> 0 bytes examples/QualityMetric/images/3.webp | Bin 282058 -> 0 bytes examples/QualityMetric/images/4.webp | Bin 318528 -> 0 bytes examples/QualityMetric/testreward.py | 80 --- examples/image_quality_metric/README.md | 15 + .../image_quality_evaluation.py | 23 + ...Put pretrained reward checkpoints here.txt | 1 - 48 files changed, 609 insertions(+), 564 deletions(-) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/BLIP/__init__.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/BLIP/blip.py (98%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/BLIP/blip_pretrain.py (93%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/BLIP/med.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/BLIP/vit.py (98%) create mode 100644 diffsynth/extensions/ImageQualityMetric/__init__.py rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/aesthetic.py (96%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/clip.py (58%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/config.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/hps.py (74%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/imagereward.py (94%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/mps.py (73%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/__init__.py (94%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/coca_model.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/constants.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/factory.py (98%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/generation_utils.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/hf_configs.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/hf_model.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/loss.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/model.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/model_configs/ViT-H-14.json (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/modified_resnet.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/openai.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/pretrained.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/push_to_hf_hub.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/timm_model.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/tokenizer.py (83%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/transform.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/transformer.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/utils.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/open_clip/version.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/pickscore.py (98%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/trainer/__init__.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/trainer/models/__init__.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/trainer/models/base_model.py (100%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/trainer/models/clip_model.py (92%) rename diffsynth/extensions/{QualityMetric => ImageQualityMetric}/trainer/models/cross_modeling.py (96%) delete mode 100644 diffsynth/extensions/QualityMetric/__init__.py delete mode 100644 examples/QualityMetric/README.md delete mode 100644 examples/QualityMetric/images/1.webp delete mode 100644 examples/QualityMetric/images/2.webp delete mode 100644 examples/QualityMetric/images/3.webp delete mode 100644 examples/QualityMetric/images/4.webp delete mode 100644 examples/QualityMetric/testreward.py create mode 100644 examples/image_quality_metric/README.md create mode 100644 examples/image_quality_metric/image_quality_evaluation.py delete mode 100644 models/QualityMetric/Put pretrained reward checkpoints here.txt diff --git a/diffsynth/extensions/QualityMetric/BLIP/__init__.py b/diffsynth/extensions/ImageQualityMetric/BLIP/__init__.py similarity index 100% rename from diffsynth/extensions/QualityMetric/BLIP/__init__.py rename to diffsynth/extensions/ImageQualityMetric/BLIP/__init__.py diff --git a/diffsynth/extensions/QualityMetric/BLIP/blip.py b/diffsynth/extensions/ImageQualityMetric/BLIP/blip.py similarity index 98% rename from diffsynth/extensions/QualityMetric/BLIP/blip.py rename to diffsynth/extensions/ImageQualityMetric/BLIP/blip.py index 2e100da..6b24c3c 100644 --- a/diffsynth/extensions/QualityMetric/BLIP/blip.py +++ b/diffsynth/extensions/ImageQualityMetric/BLIP/blip.py @@ -19,9 +19,8 @@ def default_bert(): model_path = os.path.join(project_root, 'models', 'QualityMetric') return os.path.join(model_path, "bert-base-uncased") -bert_model_path = default_bert() -def init_tokenizer(): +def init_tokenizer(bert_model_path): tokenizer = BertTokenizer.from_pretrained(bert_model_path) tokenizer.add_special_tokens({'bos_token':'[DEC]'}) tokenizer.add_special_tokens({'additional_special_tokens':['[ENC]']}) diff --git a/diffsynth/extensions/QualityMetric/BLIP/blip_pretrain.py b/diffsynth/extensions/ImageQualityMetric/BLIP/blip_pretrain.py similarity index 93% rename from diffsynth/extensions/QualityMetric/BLIP/blip_pretrain.py rename to diffsynth/extensions/ImageQualityMetric/BLIP/blip_pretrain.py index 793cb07..ba711e2 100644 --- a/diffsynth/extensions/QualityMetric/BLIP/blip_pretrain.py +++ b/diffsynth/extensions/ImageQualityMetric/BLIP/blip_pretrain.py @@ -20,6 +20,7 @@ class BLIP_Pretrain(nn.Module): embed_dim = 256, queue_size = 57600, momentum = 0.995, + bert_model_path = "" ): """ Args: @@ -31,7 +32,7 @@ class BLIP_Pretrain(nn.Module): self.visual_encoder, vision_width = create_vit(vit,image_size, vit_grad_ckpt, vit_ckpt_layer, 0) - self.tokenizer = init_tokenizer() + self.tokenizer = init_tokenizer(bert_model_path) encoder_config = BertConfig.from_json_file(med_config) encoder_config.encoder_width = vision_width self.text_encoder = BertModel(config=encoder_config, add_pooling_layer=False) diff --git a/diffsynth/extensions/QualityMetric/BLIP/med.py b/diffsynth/extensions/ImageQualityMetric/BLIP/med.py similarity index 100% rename from diffsynth/extensions/QualityMetric/BLIP/med.py rename to diffsynth/extensions/ImageQualityMetric/BLIP/med.py diff --git a/diffsynth/extensions/QualityMetric/BLIP/vit.py b/diffsynth/extensions/ImageQualityMetric/BLIP/vit.py similarity index 98% rename from diffsynth/extensions/QualityMetric/BLIP/vit.py rename to diffsynth/extensions/ImageQualityMetric/BLIP/vit.py index 7e5cf43..cef7b65 100644 --- a/diffsynth/extensions/QualityMetric/BLIP/vit.py +++ b/diffsynth/extensions/ImageQualityMetric/BLIP/vit.py @@ -14,7 +14,7 @@ from timm.models.registry import register_model from timm.models.layers import trunc_normal_, DropPath from timm.models.helpers import named_apply, adapt_input_conv -from fairscale.nn.checkpoint.checkpoint_activations import checkpoint_wrapper +# from fairscale.nn.checkpoint.checkpoint_activations import checkpoint_wrapper class Mlp(nn.Module): """ MLP as used in Vision Transformer, MLP-Mixer and related networks @@ -96,9 +96,9 @@ class Block(nn.Module): mlp_hidden_dim = int(dim * mlp_ratio) self.mlp = Mlp(in_features=dim, hidden_features=mlp_hidden_dim, act_layer=act_layer, drop=drop) - if use_grad_checkpointing: - self.attn = checkpoint_wrapper(self.attn) - self.mlp = checkpoint_wrapper(self.mlp) + # if use_grad_checkpointing: + # self.attn = checkpoint_wrapper(self.attn) + # self.mlp = checkpoint_wrapper(self.mlp) def forward(self, x, register_hook=False): x = x + self.drop_path(self.attn(self.norm1(x), register_hook=register_hook)) diff --git a/diffsynth/extensions/ImageQualityMetric/__init__.py b/diffsynth/extensions/ImageQualityMetric/__init__.py new file mode 100644 index 0000000..fcfb7c0 --- /dev/null +++ b/diffsynth/extensions/ImageQualityMetric/__init__.py @@ -0,0 +1,148 @@ +from modelscope import snapshot_download +from typing_extensions import Literal, TypeAlias +import os +from diffsynth.extensions.ImageQualityMetric.aesthetic import AestheticScore +from diffsynth.extensions.ImageQualityMetric.imagereward import ImageRewardScore +from diffsynth.extensions.ImageQualityMetric.pickscore import PickScore +from diffsynth.extensions.ImageQualityMetric.clip import CLIPScore +from diffsynth.extensions.ImageQualityMetric.hps import HPScore_v2 +from diffsynth.extensions.ImageQualityMetric.mps import MPScore + + +preference_model_id: TypeAlias = Literal[ + "ImageReward", + "Aesthetic", + "PickScore", + "CLIP", + "HPSv2", + "HPSv2.1", + "MPS", +] +model_dict = { + "ImageReward": { + "model_id": "DiffSynth-Studio/QualityMetric_reward_pretrained", + "allow_file_pattern": [ + "ImageReward/ImageReward.safetensors", + "ImageReward/med_config.json", + "bert-base-uncased/config.json", + "bert-base-uncased/model.safetensors", + "bert-base-uncased/tokenizer.json", + "bert-base-uncased/tokenizer_config.json", + "bert-base-uncased/vocab.txt", + ], + "load_path": { + "imagereward": "ImageReward/ImageReward.safetensors", + "med_config": "ImageReward/med_config.json", + "bert_model_path": "bert-base-uncased", + }, + "model_class": ImageRewardScore + }, + "Aesthetic": { + "model_id": "DiffSynth-Studio/QualityMetric_reward_pretrained", + "allow_file_pattern": [ + "aesthetic-predictor/sac+logos+ava1-l14-linearMSE.safetensors", + "clip-vit-large-patch14/config.json", + "clip-vit-large-patch14/merges.txt", + "clip-vit-large-patch14/model.safetensors", + "clip-vit-large-patch14/preprocessor_config.json", + "clip-vit-large-patch14/special_tokens_map.json", + "clip-vit-large-patch14/tokenizer.json", + "clip-vit-large-patch14/tokenizer_config.json", + "clip-vit-large-patch14/vocab.json", + ], + "load_path": { + "aesthetic_predictor": "aesthetic-predictor/sac+logos+ava1-l14-linearMSE.safetensors", + "clip-large": "clip-vit-large-patch14", + }, + "model_class": AestheticScore + }, + "PickScore": { + "model_id": "DiffSynth-Studio/QualityMetric_reward_pretrained", + "allow_file_pattern": [ + "PickScore_v1/*", + "CLIP-ViT-H-14-laion2B-s32B-b79K/config.json", + "CLIP-ViT-H-14-laion2B-s32B-b79K/merges.txt", + "CLIP-ViT-H-14-laion2B-s32B-b79K/preprocessor_config.json", + "CLIP-ViT-H-14-laion2B-s32B-b79K/special_tokens_map.json", + "CLIP-ViT-H-14-laion2B-s32B-b79K/tokenizer.json", + "CLIP-ViT-H-14-laion2B-s32B-b79K/tokenizer_config.json", + "CLIP-ViT-H-14-laion2B-s32B-b79K/vocab.json", + ], + "load_path": { + "pickscore": "PickScore_v1", + "clip": "CLIP-ViT-H-14-laion2B-s32B-b79K", + }, + "model_class": PickScore + }, + "CLIP": { + "model_id": "DiffSynth-Studio/QualityMetric_reward_pretrained", + "allow_file_pattern": [ + "CLIP-ViT-H-14-laion2B-s32B-b79K/open_clip_pytorch_model.bin", + "bpe_simple_vocab_16e6.txt.gz", + ], + "load_path": { + "open_clip": "CLIP-ViT-H-14-laion2B-s32B-b79K/open_clip_pytorch_model.bin", + "open_clip_bpe": "bpe_simple_vocab_16e6.txt.gz", + }, + "model_class": CLIPScore + }, + "HPSv2": { + "model_id": "DiffSynth-Studio/QualityMetric_reward_pretrained", + "allow_file_pattern": [ + "HPS_v2/HPS_v2_compressed.safetensors", + "bpe_simple_vocab_16e6.txt.gz", + ], + "load_path": { + "hpsv2": "HPS_v2/HPS_v2_compressed.safetensors", + "open_clip_bpe": "bpe_simple_vocab_16e6.txt.gz", + }, + "model_class": HPScore_v2, + "extra_kwargs": {"model_version": "v2"} + }, + "HPSv2.1": { + "model_id": "DiffSynth-Studio/QualityMetric_reward_pretrained", + "allow_file_pattern": [ + "HPS_v2/HPS_v2.1_compressed.safetensors", + "bpe_simple_vocab_16e6.txt.gz", + ], + "load_path": { + "hpsv2.1": "HPS_v2/HPS_v2.1_compressed.safetensors", + "open_clip_bpe": "bpe_simple_vocab_16e6.txt.gz", + }, + "model_class": HPScore_v2, + "extra_kwargs": {"model_version": "v21"} + }, + "MPS": { + "model_id": "DiffSynth-Studio/QualityMetric_reward_pretrained", + "allow_file_pattern": [ + "MPS_overall_checkpoint/MPS_overall_checkpoint_diffsynth.safetensors", + "CLIP-ViT-H-14-laion2B-s32B-b79K/config.json", + "CLIP-ViT-H-14-laion2B-s32B-b79K/merges.txt", + "CLIP-ViT-H-14-laion2B-s32B-b79K/preprocessor_config.json", + "CLIP-ViT-H-14-laion2B-s32B-b79K/special_tokens_map.json", + "CLIP-ViT-H-14-laion2B-s32B-b79K/tokenizer.json", + "CLIP-ViT-H-14-laion2B-s32B-b79K/tokenizer_config.json", + "CLIP-ViT-H-14-laion2B-s32B-b79K/vocab.json", + ], + "load_path": { + "mps": "MPS_overall_checkpoint/MPS_overall_checkpoint_diffsynth.safetensors", + "clip": "CLIP-ViT-H-14-laion2B-s32B-b79K", + }, + "model_class": MPScore + }, +} + + +def download_preference_model(model_name: preference_model_id, cache_dir="models"): + metadata = model_dict[model_name] + snapshot_download(model_id=metadata["model_id"], allow_file_pattern=metadata["allow_file_pattern"], cache_dir=cache_dir) + load_path = metadata["load_path"] + load_path = {key: os.path.join(cache_dir, metadata["model_id"], path) for key, path in load_path.items()} + return load_path + + +def load_preference_model(model_name: preference_model_id, device = "cuda", path = None): + model_class = model_dict[model_name]["model_class"] + extra_kwargs = model_dict[model_name].get("extra_kwargs", {}) + preference_model = model_class(device=device, path=path, **extra_kwargs) + return preference_model diff --git a/diffsynth/extensions/QualityMetric/aesthetic.py b/diffsynth/extensions/ImageQualityMetric/aesthetic.py similarity index 96% rename from diffsynth/extensions/QualityMetric/aesthetic.py rename to diffsynth/extensions/ImageQualityMetric/aesthetic.py index 46e3c57..13da98a 100644 --- a/diffsynth/extensions/QualityMetric/aesthetic.py +++ b/diffsynth/extensions/ImageQualityMetric/aesthetic.py @@ -49,13 +49,9 @@ class MLP(torch.nn.Module): return torch.optim.Adam(self.parameters(), lr=1e-3) -class AestheticScore: +class AestheticScore(torch.nn.Module): def __init__(self, device: torch.device, path: str = MODEL_PATHS): - """Initialize the Selector with a model and processor. - - Args: - device (torch.device): The device to load the model on. - """ + super().__init__() self.device = device self.aes_model_path = path.get("aesthetic_predictor") # Load the MLP model @@ -96,7 +92,8 @@ class AestheticScore: return score - def score(self, images: Union[str, List[str], Image.Image, List[Image.Image]]) -> List[float]: + @torch.no_grad() + def score(self, images: Union[str, List[str], Image.Image, List[Image.Image]], prompt: str = "") -> List[float]: """Score the images based on their aesthetic quality. Args: diff --git a/diffsynth/extensions/QualityMetric/clip.py b/diffsynth/extensions/ImageQualityMetric/clip.py similarity index 58% rename from diffsynth/extensions/QualityMetric/clip.py rename to diffsynth/extensions/ImageQualityMetric/clip.py index ab6bdef..f70941e 100644 --- a/diffsynth/extensions/QualityMetric/clip.py +++ b/diffsynth/extensions/ImageQualityMetric/clip.py @@ -4,8 +4,9 @@ import torch from .open_clip import create_model_and_transforms, get_tokenizer from .config import MODEL_PATHS -class CLIPScore: +class CLIPScore(torch.nn.Module): def __init__(self, device: torch.device, path: str = MODEL_PATHS): + super().__init__() """Initialize the CLIPScore with a model and tokenizer. Args: @@ -36,7 +37,7 @@ class CLIPScore: ) # Initialize tokenizer - self.tokenizer = get_tokenizer("ViT-H-14") + self.tokenizer = get_tokenizer("ViT-H-14", path["open_clip_bpe"]) self.model = self.model.to(device) self.model.eval() @@ -62,37 +63,35 @@ class CLIPScore: return clip_score[0].item() - def score(self, img_path: Union[str, List[str], Image.Image, List[Image.Image]], prompt: str) -> List[float]: + @torch.no_grad() + def score(self, images: Union[str, List[str], Image.Image, List[Image.Image]], prompt: str) -> List[float]: """Score the images based on the prompt. Args: - img_path (Union[str, List[str], Image.Image, List[Image.Image]]): Path(s) to the image(s) or PIL image(s). + images (Union[str, List[str], Image.Image, List[Image.Image]]): Path(s) to the image(s) or PIL image(s). prompt (str): The prompt text. Returns: List[float]: List of CLIP scores for the images. """ - try: - if isinstance(img_path, (str, Image.Image)): - # Single image - if isinstance(img_path, str): - image = self.preprocess_val(Image.open(img_path)).unsqueeze(0).to(device=self.device, non_blocking=True) - else: - image = self.preprocess_val(img_path).unsqueeze(0).to(device=self.device, non_blocking=True) - return [self._calculate_score(image, prompt)] - elif isinstance(img_path, list): - # Multiple images - scores = [] - for one_img_path in img_path: - if isinstance(one_img_path, str): - image = self.preprocess_val(Image.open(one_img_path)).unsqueeze(0).to(device=self.device, non_blocking=True) - elif isinstance(one_img_path, Image.Image): - image = self.preprocess_val(one_img_path).unsqueeze(0).to(device=self.device, non_blocking=True) - else: - raise TypeError("The type of parameter img_path is illegal.") - scores.append(self._calculate_score(image, prompt)) - return scores + if isinstance(images, (str, Image.Image)): + # Single image + if isinstance(images, str): + image = self.preprocess_val(Image.open(images)).unsqueeze(0).to(device=self.device, non_blocking=True) else: - raise TypeError("The type of parameter img_path is illegal.") - except Exception as e: - raise RuntimeError(f"Error in scoring images: {e}") + image = self.preprocess_val(images).unsqueeze(0).to(device=self.device, non_blocking=True) + return [self._calculate_score(image, prompt)] + elif isinstance(images, list): + # Multiple images + scores = [] + for one_images in images: + if isinstance(one_images, str): + image = self.preprocess_val(Image.open(one_images)).unsqueeze(0).to(device=self.device, non_blocking=True) + elif isinstance(one_images, Image.Image): + image = self.preprocess_val(one_images).unsqueeze(0).to(device=self.device, non_blocking=True) + else: + raise TypeError("The type of parameter images is illegal.") + scores.append(self._calculate_score(image, prompt)) + return scores + else: + raise TypeError("The type of parameter images is illegal.") diff --git a/diffsynth/extensions/QualityMetric/config.py b/diffsynth/extensions/ImageQualityMetric/config.py similarity index 100% rename from diffsynth/extensions/QualityMetric/config.py rename to diffsynth/extensions/ImageQualityMetric/config.py diff --git a/diffsynth/extensions/QualityMetric/hps.py b/diffsynth/extensions/ImageQualityMetric/hps.py similarity index 74% rename from diffsynth/extensions/QualityMetric/hps.py rename to diffsynth/extensions/ImageQualityMetric/hps.py index 5754956..a4b266b 100644 --- a/diffsynth/extensions/QualityMetric/hps.py +++ b/diffsynth/extensions/ImageQualityMetric/hps.py @@ -6,8 +6,9 @@ from safetensors.torch import load_file import os from .config import MODEL_PATHS -class HPScore_v2: +class HPScore_v2(torch.nn.Module): def __init__(self, device: torch.device, path: str = MODEL_PATHS, model_version: str = "v2"): + super().__init__() """Initialize the Selector with a model and tokenizer. Args: @@ -53,7 +54,7 @@ class HPScore_v2: raise ValueError(f"Error loading model weights from {safetensors_path}: {e}") # Initialize tokenizer and model - self.tokenizer = get_tokenizer("ViT-H-14") + self.tokenizer = get_tokenizer("ViT-H-14", path["open_clip_bpe"]) model = model.to(device) model.eval() self.model = model @@ -80,37 +81,38 @@ class HPScore_v2: return hps_score[0].item() - def score(self, img_path: Union[str, List[str], Image.Image, List[Image.Image]], prompt: str) -> List[float]: + @torch.no_grad() + def score(self, images: Union[str, List[str], Image.Image, List[Image.Image]], prompt: str) -> List[float]: """Score the images based on the prompt. Args: - img_path (Union[str, List[str], Image.Image, List[Image.Image]]): Path(s) to the image(s) or PIL image(s). + images (Union[str, List[str], Image.Image, List[Image.Image]]): Path(s) to the image(s) or PIL image(s). prompt (str): The prompt text. Returns: List[float]: List of HPS scores for the images. """ try: - if isinstance(img_path, (str, Image.Image)): + if isinstance(images, (str, Image.Image)): # Single image - if isinstance(img_path, str): - image = self.preprocess_val(Image.open(img_path)).unsqueeze(0).to(device=self.device, non_blocking=True) + if isinstance(images, str): + image = self.preprocess_val(Image.open(images)).unsqueeze(0).to(device=self.device, non_blocking=True) else: - image = self.preprocess_val(img_path).unsqueeze(0).to(device=self.device, non_blocking=True) + image = self.preprocess_val(images).unsqueeze(0).to(device=self.device, non_blocking=True) return [self._calculate_score(image, prompt)] - elif isinstance(img_path, list): + elif isinstance(images, list): # Multiple images scores = [] - for one_img_path in img_path: - if isinstance(one_img_path, str): - image = self.preprocess_val(Image.open(one_img_path)).unsqueeze(0).to(device=self.device, non_blocking=True) - elif isinstance(one_img_path, Image.Image): - image = self.preprocess_val(one_img_path).unsqueeze(0).to(device=self.device, non_blocking=True) + for one_images in images: + if isinstance(one_images, str): + image = self.preprocess_val(Image.open(one_images)).unsqueeze(0).to(device=self.device, non_blocking=True) + elif isinstance(one_images, Image.Image): + image = self.preprocess_val(one_images).unsqueeze(0).to(device=self.device, non_blocking=True) else: - raise TypeError("The type of parameter img_path is illegal.") + raise TypeError("The type of parameter images is illegal.") scores.append(self._calculate_score(image, prompt)) return scores else: - raise TypeError("The type of parameter img_path is illegal.") + raise TypeError("The type of parameter images is illegal.") except Exception as e: raise RuntimeError(f"Error in scoring images: {e}") diff --git a/diffsynth/extensions/QualityMetric/imagereward.py b/diffsynth/extensions/ImageQualityMetric/imagereward.py similarity index 94% rename from diffsynth/extensions/QualityMetric/imagereward.py rename to diffsynth/extensions/ImageQualityMetric/imagereward.py index e0f5705..2760790 100644 --- a/diffsynth/extensions/QualityMetric/imagereward.py +++ b/diffsynth/extensions/ImageQualityMetric/imagereward.py @@ -52,11 +52,11 @@ class MLP(torch.nn.Module): return self.layers(input) class ImageReward(torch.nn.Module): - def __init__(self, med_config, device='cpu'): + def __init__(self, med_config, device='cpu', bert_model_path=""): super().__init__() self.device = device - self.blip = BLIP_Pretrain(image_size=224, vit='large', med_config=med_config) + self.blip = BLIP_Pretrain(image_size=224, vit='large', med_config=med_config, bert_model_path=bert_model_path) self.preprocess = _transform(224) self.mlp = MLP(768) @@ -88,7 +88,7 @@ class ImageReward(torch.nn.Module): rewards = (rewards - self.mean) / self.std return rewards - def score(self, prompt: str, images: Union[str, List[str], Image.Image, List[Image.Image]]) -> List[float]: + def score(self, images: Union[str, List[str], Image.Image, List[Image.Image]], prompt: str = "") -> List[float]: """Score the images based on the prompt. Args: @@ -187,21 +187,18 @@ class ImageReward(torch.nn.Module): return indices.detach().cpu().numpy().tolist(), rewards.detach().cpu().numpy().tolist() -class ImageRewardScore: +class ImageRewardScore(torch.nn.Module): def __init__(self, device: Union[str, torch.device], path: str = MODEL_PATHS): - """Initialize the Selector with a processor and model. - - Args: - device (Union[str, torch.device]): The device to load the model on. - """ + super().__init__() self.device = device if isinstance(device, torch.device) else torch.device(device) model_path = path.get("imagereward") med_config = path.get("med_config") state_dict = load_file(model_path) - self.model = ImageReward(device=self.device, med_config=med_config).to(self.device) + self.model = ImageReward(device=self.device, med_config=med_config, bert_model_path=path.get("bert_model_path")).to(self.device) self.model.load_state_dict(state_dict, strict=False) self.model.eval() + @torch.no_grad() def score(self, images: Union[str, List[str], Image.Image, List[Image.Image]], prompt: str) -> List[float]: """Score the images based on the prompt. @@ -212,4 +209,4 @@ class ImageRewardScore: Returns: List[float]: List of scores for the images. """ - return self.model.score(prompt, images) + return self.model.score(images, prompt) diff --git a/diffsynth/extensions/QualityMetric/mps.py b/diffsynth/extensions/ImageQualityMetric/mps.py similarity index 73% rename from diffsynth/extensions/QualityMetric/mps.py rename to diffsynth/extensions/ImageQualityMetric/mps.py index e5c7360..d15aad4 100644 --- a/diffsynth/extensions/QualityMetric/mps.py +++ b/diffsynth/extensions/ImageQualityMetric/mps.py @@ -24,8 +24,9 @@ import gc import json from .config import MODEL_PATHS -class MPScore: +class MPScore(torch.nn.Module): def __init__(self, device: Union[str, torch.device], path: str = MODEL_PATHS, condition: str = 'overall'): + super().__init__() """Initialize the MPSModel with a processor, tokenizer, and model. Args: @@ -35,7 +36,7 @@ class MPScore: processor_name_or_path = path.get("clip") self.image_processor = CLIPImageProcessor.from_pretrained(processor_name_or_path) self.tokenizer = AutoTokenizer.from_pretrained(processor_name_or_path, trust_remote_code=True) - self.model = clip_model.CLIPModel(processor_name_or_path) + self.model = clip_model.CLIPModel(processor_name_or_path, config_file=True) state_dict = load_file(path.get("mps")) self.model.load_state_dict(state_dict, strict=False) self.model.to(device) @@ -94,37 +95,35 @@ class MPScore: return image_score[0].cpu().numpy().item() - def score(self, img_path: Union[str, List[str], Image.Image, List[Image.Image]], prompt: str) -> List[float]: + @torch.no_grad() + def score(self, images: Union[str, List[str], Image.Image, List[Image.Image]], prompt: str) -> List[float]: """Score the images based on the prompt. Args: - img_path (Union[str, List[str], Image.Image, List[Image.Image]]): Path(s) to the image(s) or PIL image(s). + images (Union[str, List[str], Image.Image, List[Image.Image]]): Path(s) to the image(s) or PIL image(s). prompt (str): The prompt text. Returns: List[float]: List of reward scores for the images. """ - try: - if isinstance(img_path, (str, Image.Image)): - # Single image - if isinstance(img_path, str): - image = self.image_processor(Image.open(img_path), return_tensors="pt")["pixel_values"].to(self.device) - else: - image = self.image_processor(img_path, return_tensors="pt")["pixel_values"].to(self.device) - return [self._calculate_score(image, prompt)] - elif isinstance(img_path, list): - # Multiple images - scores = [] - for one_img_path in img_path: - if isinstance(one_img_path, str): - image = self.image_processor(Image.open(one_img_path), return_tensors="pt")["pixel_values"].to(self.device) - elif isinstance(one_img_path, Image.Image): - image = self.image_processor(one_img_path, return_tensors="pt")["pixel_values"].to(self.device) - else: - raise TypeError("The type of parameter img_path is illegal.") - scores.append(self._calculate_score(image, prompt)) - return scores + if isinstance(images, (str, Image.Image)): + # Single image + if isinstance(images, str): + image = self.image_processor(Image.open(images), return_tensors="pt")["pixel_values"].to(self.device) else: - raise TypeError("The type of parameter img_path is illegal.") - except Exception as e: - raise RuntimeError(f"Error in scoring images: {e}") + image = self.image_processor(images, return_tensors="pt")["pixel_values"].to(self.device) + return [self._calculate_score(image, prompt)] + elif isinstance(images, list): + # Multiple images + scores = [] + for one_images in images: + if isinstance(one_images, str): + image = self.image_processor(Image.open(one_images), return_tensors="pt")["pixel_values"].to(self.device) + elif isinstance(one_images, Image.Image): + image = self.image_processor(one_images, return_tensors="pt")["pixel_values"].to(self.device) + else: + raise TypeError("The type of parameter images is illegal.") + scores.append(self._calculate_score(image, prompt)) + return scores + else: + raise TypeError("The type of parameter images is illegal.") diff --git a/diffsynth/extensions/QualityMetric/open_clip/__init__.py b/diffsynth/extensions/ImageQualityMetric/open_clip/__init__.py similarity index 94% rename from diffsynth/extensions/QualityMetric/open_clip/__init__.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/__init__.py index c328ed2..1560db0 100644 --- a/diffsynth/extensions/QualityMetric/open_clip/__init__.py +++ b/diffsynth/extensions/ImageQualityMetric/open_clip/__init__.py @@ -9,6 +9,6 @@ from .openai import load_openai_model, list_openai_models from .pretrained import list_pretrained, list_pretrained_models_by_tag, list_pretrained_tags_by_model, \ get_pretrained_url, download_pretrained_from_url, is_pretrained_cfg, get_pretrained_cfg, download_pretrained from .push_to_hf_hub import push_pretrained_to_hf_hub, push_to_hf_hub -from .tokenizer import SimpleTokenizer, tokenize, decode +from .tokenizer import SimpleTokenizer from .transform import image_transform, AugmentationCfg from .utils import freeze_batch_norm_2d diff --git a/diffsynth/extensions/QualityMetric/open_clip/coca_model.py b/diffsynth/extensions/ImageQualityMetric/open_clip/coca_model.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/coca_model.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/coca_model.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/constants.py b/diffsynth/extensions/ImageQualityMetric/open_clip/constants.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/constants.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/constants.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/factory.py b/diffsynth/extensions/ImageQualityMetric/open_clip/factory.py similarity index 98% rename from diffsynth/extensions/QualityMetric/open_clip/factory.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/factory.py index 00f0bb4..c353530 100644 --- a/diffsynth/extensions/QualityMetric/open_clip/factory.py +++ b/diffsynth/extensions/ImageQualityMetric/open_clip/factory.py @@ -18,7 +18,7 @@ from .loss import ClipLoss, DistillClipLoss, CoCaLoss from .openai import load_openai_model from .pretrained import is_pretrained_cfg, get_pretrained_cfg, download_pretrained, list_pretrained_tags_by_model, download_pretrained_from_hf from .transform import image_transform, AugmentationCfg -from .tokenizer import HFTokenizer, tokenize +from .tokenizer import HFTokenizer, SimpleTokenizer HF_HUB_PREFIX = 'hf-hub:' @@ -74,13 +74,13 @@ def get_model_config(model_name): return None -def get_tokenizer(model_name): +def get_tokenizer(model_name, open_clip_bpe_path=None): if model_name.startswith(HF_HUB_PREFIX): tokenizer = HFTokenizer(model_name[len(HF_HUB_PREFIX):]) else: config = get_model_config(model_name) tokenizer = HFTokenizer( - config['text_cfg']['hf_tokenizer_name']) if 'hf_tokenizer_name' in config['text_cfg'] else tokenize + config['text_cfg']['hf_tokenizer_name']) if 'hf_tokenizer_name' in config['text_cfg'] else SimpleTokenizer(open_clip_bpe_path) return tokenizer diff --git a/diffsynth/extensions/QualityMetric/open_clip/generation_utils.py b/diffsynth/extensions/ImageQualityMetric/open_clip/generation_utils.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/generation_utils.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/generation_utils.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/hf_configs.py b/diffsynth/extensions/ImageQualityMetric/open_clip/hf_configs.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/hf_configs.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/hf_configs.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/hf_model.py b/diffsynth/extensions/ImageQualityMetric/open_clip/hf_model.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/hf_model.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/hf_model.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/loss.py b/diffsynth/extensions/ImageQualityMetric/open_clip/loss.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/loss.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/loss.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/model.py b/diffsynth/extensions/ImageQualityMetric/open_clip/model.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/model.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/model.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/model_configs/ViT-H-14.json b/diffsynth/extensions/ImageQualityMetric/open_clip/model_configs/ViT-H-14.json similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/model_configs/ViT-H-14.json rename to diffsynth/extensions/ImageQualityMetric/open_clip/model_configs/ViT-H-14.json diff --git a/diffsynth/extensions/QualityMetric/open_clip/modified_resnet.py b/diffsynth/extensions/ImageQualityMetric/open_clip/modified_resnet.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/modified_resnet.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/modified_resnet.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/openai.py b/diffsynth/extensions/ImageQualityMetric/open_clip/openai.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/openai.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/openai.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/pretrained.py b/diffsynth/extensions/ImageQualityMetric/open_clip/pretrained.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/pretrained.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/pretrained.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/push_to_hf_hub.py b/diffsynth/extensions/ImageQualityMetric/open_clip/push_to_hf_hub.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/push_to_hf_hub.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/push_to_hf_hub.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/timm_model.py b/diffsynth/extensions/ImageQualityMetric/open_clip/timm_model.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/timm_model.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/timm_model.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/tokenizer.py b/diffsynth/extensions/ImageQualityMetric/open_clip/tokenizer.py similarity index 83% rename from diffsynth/extensions/QualityMetric/open_clip/tokenizer.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/tokenizer.py index ba00817..22ec488 100644 --- a/diffsynth/extensions/QualityMetric/open_clip/tokenizer.py +++ b/diffsynth/extensions/ImageQualityMetric/open_clip/tokenizer.py @@ -151,44 +151,38 @@ class SimpleTokenizer(object): text = ''.join([self.decoder[token] for token in tokens]) text = bytearray([self.byte_decoder[c] for c in text]).decode('utf-8', errors="replace").replace('', ' ') return text + + def __call__(self, texts: Union[str, List[str]], context_length: int = 77) -> torch.LongTensor: + """ + Returns the tokenized representation of given input string(s) + Parameters + ---------- + texts : Union[str, List[str]] + An input string or a list of input strings to tokenize + context_length : int + The context length to use; all CLIP models use 77 as the context length -_tokenizer = SimpleTokenizer() + Returns + ------- + A two-dimensional tensor containing the resulting tokens, shape = [number of input strings, context_length] + """ + if isinstance(texts, str): + texts = [texts] -def decode(output_ids: torch.Tensor): - output_ids = output_ids.cpu().numpy() - return _tokenizer.decode(output_ids) + sot_token = self.encoder[""] + eot_token = self.encoder[""] + all_tokens = [[sot_token] + self.encode(text) + [eot_token] for text in texts] + result = torch.zeros(len(all_tokens), context_length, dtype=torch.long) -def tokenize(texts: Union[str, List[str]], context_length: int = 77) -> torch.LongTensor: - """ - Returns the tokenized representation of given input string(s) + for i, tokens in enumerate(all_tokens): + if len(tokens) > context_length: + tokens = tokens[:context_length] # Truncate + tokens[-1] = eot_token + result[i, :len(tokens)] = torch.tensor(tokens) - Parameters - ---------- - texts : Union[str, List[str]] - An input string or a list of input strings to tokenize - context_length : int - The context length to use; all CLIP models use 77 as the context length + return result - Returns - ------- - A two-dimensional tensor containing the resulting tokens, shape = [number of input strings, context_length] - """ - if isinstance(texts, str): - texts = [texts] - - sot_token = _tokenizer.encoder[""] - eot_token = _tokenizer.encoder[""] - all_tokens = [[sot_token] + _tokenizer.encode(text) + [eot_token] for text in texts] - result = torch.zeros(len(all_tokens), context_length, dtype=torch.long) - - for i, tokens in enumerate(all_tokens): - if len(tokens) > context_length: - tokens = tokens[:context_length] # Truncate - tokens[-1] = eot_token - result[i, :len(tokens)] = torch.tensor(tokens) - - return result class HFTokenizer: diff --git a/diffsynth/extensions/QualityMetric/open_clip/transform.py b/diffsynth/extensions/ImageQualityMetric/open_clip/transform.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/transform.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/transform.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/transformer.py b/diffsynth/extensions/ImageQualityMetric/open_clip/transformer.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/transformer.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/transformer.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/utils.py b/diffsynth/extensions/ImageQualityMetric/open_clip/utils.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/utils.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/utils.py diff --git a/diffsynth/extensions/QualityMetric/open_clip/version.py b/diffsynth/extensions/ImageQualityMetric/open_clip/version.py similarity index 100% rename from diffsynth/extensions/QualityMetric/open_clip/version.py rename to diffsynth/extensions/ImageQualityMetric/open_clip/version.py diff --git a/diffsynth/extensions/QualityMetric/pickscore.py b/diffsynth/extensions/ImageQualityMetric/pickscore.py similarity index 98% rename from diffsynth/extensions/QualityMetric/pickscore.py rename to diffsynth/extensions/ImageQualityMetric/pickscore.py index b289c57..7370e09 100644 --- a/diffsynth/extensions/QualityMetric/pickscore.py +++ b/diffsynth/extensions/ImageQualityMetric/pickscore.py @@ -5,8 +5,9 @@ from typing import List, Union import os from .config import MODEL_PATHS -class PickScore: +class PickScore(torch.nn.Module): def __init__(self, device: Union[str, torch.device], path: str = MODEL_PATHS): + super().__init__() """Initialize the Selector with a processor and model. Args: @@ -53,6 +54,7 @@ class PickScore: return score.cpu().item() + @torch.no_grad() def score(self, images: Union[str, List[str], Image.Image, List[Image.Image]], prompt: str, softmax: bool = False) -> List[float]: """Score the images based on the prompt. diff --git a/diffsynth/extensions/QualityMetric/trainer/__init__.py b/diffsynth/extensions/ImageQualityMetric/trainer/__init__.py similarity index 100% rename from diffsynth/extensions/QualityMetric/trainer/__init__.py rename to diffsynth/extensions/ImageQualityMetric/trainer/__init__.py diff --git a/diffsynth/extensions/QualityMetric/trainer/models/__init__.py b/diffsynth/extensions/ImageQualityMetric/trainer/models/__init__.py similarity index 100% rename from diffsynth/extensions/QualityMetric/trainer/models/__init__.py rename to diffsynth/extensions/ImageQualityMetric/trainer/models/__init__.py diff --git a/diffsynth/extensions/QualityMetric/trainer/models/base_model.py b/diffsynth/extensions/ImageQualityMetric/trainer/models/base_model.py similarity index 100% rename from diffsynth/extensions/QualityMetric/trainer/models/base_model.py rename to diffsynth/extensions/ImageQualityMetric/trainer/models/base_model.py diff --git a/diffsynth/extensions/QualityMetric/trainer/models/clip_model.py b/diffsynth/extensions/ImageQualityMetric/trainer/models/clip_model.py similarity index 92% rename from diffsynth/extensions/QualityMetric/trainer/models/clip_model.py rename to diffsynth/extensions/ImageQualityMetric/trainer/models/clip_model.py index 4b61a4d..0a1b370 100644 --- a/diffsynth/extensions/QualityMetric/trainer/models/clip_model.py +++ b/diffsynth/extensions/ImageQualityMetric/trainer/models/clip_model.py @@ -12,7 +12,7 @@ import torch from .cross_modeling import Cross_model -import gc +import json, os class XCLIPModel(HFCLIPModel): def __init__(self, config: CLIPConfig): @@ -96,9 +96,15 @@ class ClipModelConfig(BaseModelConfig): class CLIPModel(nn.Module): - def __init__(self, ckpt): + def __init__(self, ckpt, config_file=False): super().__init__() - self.model = XCLIPModel.from_pretrained(ckpt) + if config_file is None: + self.model = XCLIPModel.from_pretrained(ckpt) + else: + with open(os.path.join(ckpt, "config.json"), "r", encoding="utf-8") as f: + config = json.load(f) + config = CLIPConfig(**config) + self.model = XCLIPModel._from_config(config) self.cross_model = Cross_model(dim=1024, layer_num=4, heads=16) def get_text_features(self, *args, **kwargs): diff --git a/diffsynth/extensions/QualityMetric/trainer/models/cross_modeling.py b/diffsynth/extensions/ImageQualityMetric/trainer/models/cross_modeling.py similarity index 96% rename from diffsynth/extensions/QualityMetric/trainer/models/cross_modeling.py rename to diffsynth/extensions/ImageQualityMetric/trainer/models/cross_modeling.py index d9f1fd8..938f1b7 100644 --- a/diffsynth/extensions/QualityMetric/trainer/models/cross_modeling.py +++ b/diffsynth/extensions/ImageQualityMetric/trainer/models/cross_modeling.py @@ -1,292 +1,292 @@ -import torch -from torch import einsum, nn -import torch.nn.functional as F -from einops import rearrange, repeat - -# helper functions - -def exists(val): - return val is not None - -def default(val, d): - return val if exists(val) else d - -# normalization -# they use layernorm without bias, something that pytorch does not offer - - -class LayerNorm(nn.Module): - def __init__(self, dim): - super().__init__() - self.weight = nn.Parameter(torch.ones(dim)) - self.register_buffer("bias", torch.zeros(dim)) - - def forward(self, x): - return F.layer_norm(x, x.shape[-1:], self.weight, self.bias) - -# residual - - -class Residual(nn.Module): - def __init__(self, fn): - super().__init__() - self.fn = fn - - def forward(self, x, *args, **kwargs): - return self.fn(x, *args, **kwargs) + x - - -# rotary positional embedding -# https://arxiv.org/abs/2104.09864 - - -class RotaryEmbedding(nn.Module): - def __init__(self, dim): - super().__init__() - inv_freq = 1.0 / (10000 ** (torch.arange(0, dim, 2).float() / dim)) - self.register_buffer("inv_freq", inv_freq) - - def forward(self, max_seq_len, *, device): - seq = torch.arange(max_seq_len, device=device, dtype=self.inv_freq.dtype) - freqs = einsum("i , j -> i j", seq, self.inv_freq) - return torch.cat((freqs, freqs), dim=-1) - - -def rotate_half(x): - x = rearrange(x, "... (j d) -> ... j d", j=2) - x1, x2 = x.unbind(dim=-2) - return torch.cat((-x2, x1), dim=-1) - - -def apply_rotary_pos_emb(pos, t): - return (t * pos.cos()) + (rotate_half(t) * pos.sin()) - - -# classic Noam Shazeer paper, except here they use SwiGLU instead of the more popular GEGLU for gating the feedforward -# https://arxiv.org/abs/2002.05202 - - -class SwiGLU(nn.Module): - def forward(self, x): - x, gate = x.chunk(2, dim=-1) - return F.silu(gate) * x - - -# parallel attention and feedforward with residual -# discovered by Wang et al + EleutherAI from GPT-J fame - -class ParallelTransformerBlock(nn.Module): - def __init__(self, dim, dim_head=64, heads=8, ff_mult=4): - super().__init__() - self.norm = LayerNorm(dim) - - attn_inner_dim = dim_head * heads - ff_inner_dim = dim * ff_mult - self.fused_dims = (attn_inner_dim, dim_head, dim_head, (ff_inner_dim * 2)) - - self.heads = heads - self.scale = dim_head**-0.5 - self.rotary_emb = RotaryEmbedding(dim_head) - - self.fused_attn_ff_proj = nn.Linear(dim, sum(self.fused_dims), bias=False) - self.attn_out = nn.Linear(attn_inner_dim, dim, bias=False) - - self.ff_out = nn.Sequential( - SwiGLU(), - nn.Linear(ff_inner_dim, dim, bias=False) - ) - - self.register_buffer("pos_emb", None, persistent=False) - - - def get_rotary_embedding(self, n, device): - if self.pos_emb is not None and self.pos_emb.shape[-2] >= n: - return self.pos_emb[:n] - - pos_emb = self.rotary_emb(n, device=device) - self.register_buffer("pos_emb", pos_emb, persistent=False) - return pos_emb - - def forward(self, x, attn_mask=None): - """ - einstein notation - b - batch - h - heads - n, i, j - sequence length (base sequence length, source, target) - d - feature dimension - """ - - n, device, h = x.shape[1], x.device, self.heads - - # pre layernorm - - x = self.norm(x) - - # attention queries, keys, values, and feedforward inner - - q, k, v, ff = self.fused_attn_ff_proj(x).split(self.fused_dims, dim=-1) - - # split heads - # they use multi-query single-key-value attention, yet another Noam Shazeer paper - # they found no performance loss past a certain scale, and more efficient decoding obviously - # https://arxiv.org/abs/1911.02150 - - q = rearrange(q, "b n (h d) -> b h n d", h=h) - - # rotary embeddings - - positions = self.get_rotary_embedding(n, device) - q, k = map(lambda t: apply_rotary_pos_emb(positions, t), (q, k)) - - # scale - - q = q * self.scale - - # similarity - - sim = einsum("b h i d, b j d -> b h i j", q, k) - - - # extra attention mask - for masking out attention from text CLS token to padding - - if exists(attn_mask): - attn_mask = rearrange(attn_mask, 'b i j -> b 1 i j') - sim = sim.masked_fill(~attn_mask, -torch.finfo(sim.dtype).max) - - # attention - - sim = sim - sim.amax(dim=-1, keepdim=True).detach() - attn = sim.softmax(dim=-1) - - # aggregate values - - out = einsum("b h i j, b j d -> b h i d", attn, v) - - # merge heads - - out = rearrange(out, "b h n d -> b n (h d)") - return self.attn_out(out) + self.ff_out(ff) - -# cross attention - using multi-query + one-headed key / values as in PaLM w/ optional parallel feedforward - -class CrossAttention(nn.Module): - def __init__( - self, - dim, - *, - context_dim=None, - dim_head=64, - heads=12, - parallel_ff=False, - ff_mult=4, - norm_context=False - ): - super().__init__() - self.heads = heads - self.scale = dim_head ** -0.5 - inner_dim = heads * dim_head - context_dim = default(context_dim, dim) - - self.norm = LayerNorm(dim) - self.context_norm = LayerNorm(context_dim) if norm_context else nn.Identity() - - self.to_q = nn.Linear(dim, inner_dim, bias=False) - self.to_kv = nn.Linear(context_dim, dim_head * 2, bias=False) - self.to_out = nn.Linear(inner_dim, dim, bias=False) - - # whether to have parallel feedforward - - ff_inner_dim = ff_mult * dim - - self.ff = nn.Sequential( - nn.Linear(dim, ff_inner_dim * 2, bias=False), - SwiGLU(), - nn.Linear(ff_inner_dim, dim, bias=False) - ) if parallel_ff else None - - def forward(self, x, context, mask): - """ - einstein notation - b - batch - h - heads - n, i, j - sequence length (base sequence length, source, target) - d - feature dimension - """ - - # pre-layernorm, for queries and context - - x = self.norm(x) - context = self.context_norm(context) - - # get queries - - q = self.to_q(x) - q = rearrange(q, 'b n (h d) -> b h n d', h = self.heads) - - # scale - - q = q * self.scale - - # get key / values - - k, v = self.to_kv(context).chunk(2, dim=-1) - - # query / key similarity - - sim = einsum('b h i d, b j d -> b h i j', q, k) - - # attention - mask = mask.unsqueeze(1).repeat(1,self.heads,1,1) - sim = sim + mask # context mask - sim = sim - sim.amax(dim=-1, keepdim=True) - attn = sim.softmax(dim=-1) - - # aggregate - - out = einsum('b h i j, b j d -> b h i d', attn, v) - - # merge and combine heads - - out = rearrange(out, 'b h n d -> b n (h d)') - out = self.to_out(out) - - # add parallel feedforward (for multimodal layers) - - if exists(self.ff): - out = out + self.ff(x) - - return out - - -class Cross_model(nn.Module): - def __init__( - self, - dim=512, - layer_num=4, - dim_head=64, - heads=8, - ff_mult=4 - ): - super().__init__() - - self.layers = nn.ModuleList([]) - - - for ind in range(layer_num): - self.layers.append(nn.ModuleList([ - Residual(CrossAttention(dim=dim, dim_head=dim_head, heads=heads, parallel_ff=True, ff_mult=ff_mult)), - Residual(ParallelTransformerBlock(dim=dim, dim_head=dim_head, heads=heads, ff_mult=ff_mult)) - ])) - - def forward( - self, - query_tokens, - context_tokens, - mask - ): - - for cross_attn, self_attn_ff in self.layers: - query_tokens = cross_attn(query_tokens, context_tokens,mask) - query_tokens = self_attn_ff(query_tokens) - - return query_tokens +import torch +from torch import einsum, nn +import torch.nn.functional as F +from einops import rearrange, repeat + +# helper functions + +def exists(val): + return val is not None + +def default(val, d): + return val if exists(val) else d + +# normalization +# they use layernorm without bias, something that pytorch does not offer + + +class LayerNorm(nn.Module): + def __init__(self, dim): + super().__init__() + self.weight = nn.Parameter(torch.ones(dim)) + self.register_buffer("bias", torch.zeros(dim)) + + def forward(self, x): + return F.layer_norm(x, x.shape[-1:], self.weight, self.bias) + +# residual + + +class Residual(nn.Module): + def __init__(self, fn): + super().__init__() + self.fn = fn + + def forward(self, x, *args, **kwargs): + return self.fn(x, *args, **kwargs) + x + + +# rotary positional embedding +# https://arxiv.org/abs/2104.09864 + + +class RotaryEmbedding(nn.Module): + def __init__(self, dim): + super().__init__() + inv_freq = 1.0 / (10000 ** (torch.arange(0, dim, 2).float() / dim)) + self.register_buffer("inv_freq", inv_freq) + + def forward(self, max_seq_len, *, device): + seq = torch.arange(max_seq_len, device=device, dtype=self.inv_freq.dtype) + freqs = einsum("i , j -> i j", seq, self.inv_freq) + return torch.cat((freqs, freqs), dim=-1) + + +def rotate_half(x): + x = rearrange(x, "... (j d) -> ... j d", j=2) + x1, x2 = x.unbind(dim=-2) + return torch.cat((-x2, x1), dim=-1) + + +def apply_rotary_pos_emb(pos, t): + return (t * pos.cos()) + (rotate_half(t) * pos.sin()) + + +# classic Noam Shazeer paper, except here they use SwiGLU instead of the more popular GEGLU for gating the feedforward +# https://arxiv.org/abs/2002.05202 + + +class SwiGLU(nn.Module): + def forward(self, x): + x, gate = x.chunk(2, dim=-1) + return F.silu(gate) * x + + +# parallel attention and feedforward with residual +# discovered by Wang et al + EleutherAI from GPT-J fame + +class ParallelTransformerBlock(nn.Module): + def __init__(self, dim, dim_head=64, heads=8, ff_mult=4): + super().__init__() + self.norm = LayerNorm(dim) + + attn_inner_dim = dim_head * heads + ff_inner_dim = dim * ff_mult + self.fused_dims = (attn_inner_dim, dim_head, dim_head, (ff_inner_dim * 2)) + + self.heads = heads + self.scale = dim_head**-0.5 + self.rotary_emb = RotaryEmbedding(dim_head) + + self.fused_attn_ff_proj = nn.Linear(dim, sum(self.fused_dims), bias=False) + self.attn_out = nn.Linear(attn_inner_dim, dim, bias=False) + + self.ff_out = nn.Sequential( + SwiGLU(), + nn.Linear(ff_inner_dim, dim, bias=False) + ) + + self.register_buffer("pos_emb", None, persistent=False) + + + def get_rotary_embedding(self, n, device): + if self.pos_emb is not None and self.pos_emb.shape[-2] >= n: + return self.pos_emb[:n] + + pos_emb = self.rotary_emb(n, device=device) + self.register_buffer("pos_emb", pos_emb, persistent=False) + return pos_emb + + def forward(self, x, attn_mask=None): + """ + einstein notation + b - batch + h - heads + n, i, j - sequence length (base sequence length, source, target) + d - feature dimension + """ + + n, device, h = x.shape[1], x.device, self.heads + + # pre layernorm + + x = self.norm(x) + + # attention queries, keys, values, and feedforward inner + + q, k, v, ff = self.fused_attn_ff_proj(x).split(self.fused_dims, dim=-1) + + # split heads + # they use multi-query single-key-value attention, yet another Noam Shazeer paper + # they found no performance loss past a certain scale, and more efficient decoding obviously + # https://arxiv.org/abs/1911.02150 + + q = rearrange(q, "b n (h d) -> b h n d", h=h) + + # rotary embeddings + + positions = self.get_rotary_embedding(n, device) + q, k = map(lambda t: apply_rotary_pos_emb(positions, t), (q, k)) + + # scale + + q = q * self.scale + + # similarity + + sim = einsum("b h i d, b j d -> b h i j", q, k) + + + # extra attention mask - for masking out attention from text CLS token to padding + + if exists(attn_mask): + attn_mask = rearrange(attn_mask, 'b i j -> b 1 i j') + sim = sim.masked_fill(~attn_mask, -torch.finfo(sim.dtype).max) + + # attention + + sim = sim - sim.amax(dim=-1, keepdim=True).detach() + attn = sim.softmax(dim=-1) + + # aggregate values + + out = einsum("b h i j, b j d -> b h i d", attn, v) + + # merge heads + + out = rearrange(out, "b h n d -> b n (h d)") + return self.attn_out(out) + self.ff_out(ff) + +# cross attention - using multi-query + one-headed key / values as in PaLM w/ optional parallel feedforward + +class CrossAttention(nn.Module): + def __init__( + self, + dim, + *, + context_dim=None, + dim_head=64, + heads=12, + parallel_ff=False, + ff_mult=4, + norm_context=False + ): + super().__init__() + self.heads = heads + self.scale = dim_head ** -0.5 + inner_dim = heads * dim_head + context_dim = default(context_dim, dim) + + self.norm = LayerNorm(dim) + self.context_norm = LayerNorm(context_dim) if norm_context else nn.Identity() + + self.to_q = nn.Linear(dim, inner_dim, bias=False) + self.to_kv = nn.Linear(context_dim, dim_head * 2, bias=False) + self.to_out = nn.Linear(inner_dim, dim, bias=False) + + # whether to have parallel feedforward + + ff_inner_dim = ff_mult * dim + + self.ff = nn.Sequential( + nn.Linear(dim, ff_inner_dim * 2, bias=False), + SwiGLU(), + nn.Linear(ff_inner_dim, dim, bias=False) + ) if parallel_ff else None + + def forward(self, x, context, mask): + """ + einstein notation + b - batch + h - heads + n, i, j - sequence length (base sequence length, source, target) + d - feature dimension + """ + + # pre-layernorm, for queries and context + + x = self.norm(x) + context = self.context_norm(context) + + # get queries + + q = self.to_q(x) + q = rearrange(q, 'b n (h d) -> b h n d', h = self.heads) + + # scale + + q = q * self.scale + + # get key / values + + k, v = self.to_kv(context).chunk(2, dim=-1) + + # query / key similarity + + sim = einsum('b h i d, b j d -> b h i j', q, k) + + # attention + mask = mask.unsqueeze(1).repeat(1,self.heads,1,1) + sim = sim + mask # context mask + sim = sim - sim.amax(dim=-1, keepdim=True) + attn = sim.softmax(dim=-1) + + # aggregate + + out = einsum('b h i j, b j d -> b h i d', attn, v) + + # merge and combine heads + + out = rearrange(out, 'b h n d -> b n (h d)') + out = self.to_out(out) + + # add parallel feedforward (for multimodal layers) + + if exists(self.ff): + out = out + self.ff(x) + + return out + + +class Cross_model(nn.Module): + def __init__( + self, + dim=512, + layer_num=4, + dim_head=64, + heads=8, + ff_mult=4 + ): + super().__init__() + + self.layers = nn.ModuleList([]) + + + for ind in range(layer_num): + self.layers.append(nn.ModuleList([ + Residual(CrossAttention(dim=dim, dim_head=dim_head, heads=heads, parallel_ff=True, ff_mult=ff_mult)), + Residual(ParallelTransformerBlock(dim=dim, dim_head=dim_head, heads=heads, ff_mult=ff_mult)) + ])) + + def forward( + self, + query_tokens, + context_tokens, + mask + ): + + for cross_attn, self_attn_ff in self.layers: + query_tokens = cross_attn(query_tokens, context_tokens,mask) + query_tokens = self_attn_ff(query_tokens) + + return query_tokens diff --git a/diffsynth/extensions/QualityMetric/__init__.py b/diffsynth/extensions/QualityMetric/__init__.py deleted file mode 100644 index fe97f47..0000000 --- a/diffsynth/extensions/QualityMetric/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -from .aesthetic import * -from .clip import * -from .config import * -from .hps import * -from .imagereward import * -from .mps import * -from .pickscore import * \ No newline at end of file diff --git a/examples/QualityMetric/README.md b/examples/QualityMetric/README.md deleted file mode 100644 index 293e921..0000000 --- a/examples/QualityMetric/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# Image Quality Metric - -The image quality assessment functionality has now been integrated into Diffsynth. - -## Usage - -### Step 1: Download pretrained reward models - -``` -modelscope download --model 'DiffSynth-Studio/QualityMetric_reward_pretrained' -``` - -The file directory is shown below. - -``` -DiffSynth-Studio/ -└── models/ - └── QualityMetric/ - ├── HPS_v2/ - │ ├── HPS_v2_compressed.safetensors - │ ├── HPS_v2.1_compressed.safetensors - └── ... -``` - -### Step 2: Test image quality metric - -Prompt: "a painting of an ocean with clouds and birds, day time, low depth field effect" - -|1.webp|2.webp|3.webp|4.webp| -|-|-|-|-| -|![0](images/1.webp)|![1](images/2.webp)|![2](images/3.webp)|![3](images/4.webp)| - - - -``` -CUDA_VISIBLE_DEVICES=0 python testreward.py -``` - -### Output: - -``` -ImageReward: [0.5811904668807983, 0.2745198607444763, -1.4158903360366821, -2.032487154006958] -Aesthetic [5.900862693786621, 5.776571273803711, 5.799864292144775, 5.05204963684082] -PickScore: [0.20737126469612122, 0.20443597435951233, 0.20660750567913055, 0.19426065683364868] -CLIPScore: [0.3894640803337097, 0.3544551134109497, 0.33861416578292847, 0.32878392934799194] -HPScorev2: [0.2672519087791443, 0.25495243072509766, 0.24888549745082855, 0.24302822351455688] -HPScorev21: [0.2321144938468933, 0.20233657956123352, 0.1978294551372528, 0.19230154156684875] -MPS_score: [10.921875, 10.71875, 10.578125, 9.25] -``` diff --git a/examples/QualityMetric/images/1.webp b/examples/QualityMetric/images/1.webp deleted file mode 100644 index dc4eb5ba76db95fe46265b71c2e224d0b8544683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 336918 zcmV(~K+nHYNk&EvBn1FhMM6+kP&iBiBn1F3|G|F%jX-SMNRkBIQv$Zf`3Kz9)pHj? zME@s1h5;&ac?jnOYSM-_5~dmK2|$uTn?t($aNb17JJJV|(VNoR<%MYg6ntxsT$(P2 ze<-QHTFi5!NKsohU^ytY02SO6uo}Stk^m88Dk{B26hg=W&?FCi*d?S1A$hozTbV0u zHVx$I(!iseU~>%T5Zb`x<&P)t?0@ar-)yS^HBV+Qetk3lzB`L5(=`yJRgndPsGy39 zDyXcbZs2V>{Cw1^W+E|>BuSEj{qz_0o+b$#C!kjfZ>MeRwr$&5mL)}!MOji5^Zo7r z|G4+L*6O-$p&&_e+(>c&9NYi@b*%-U4)kAP+crpPcnOnLp8C|MjpEc-@ziO(Kjj*y zF?#W#6McfLWsvhI!rB!9lswcJ-=P-#R;a zr>~r{Qfs|OamrI3(GdKPdyQyH5eG?qHxqG9Ubg6Xn-26amSUb#?8VPlGKgbP1LQTA_EA+;SfM{UV|XI zNmHYzeZ|oOfG*A9#d0n7aN=n^tgOXC2w}=FnCaMZ$P^;$_s>Ujx!mO^8pY!ww5*c_ zmH@0@6110iS<{_nxqe>_V`1^*UuRIOM^7~2hQVMh09F9L@cGe;LetB}nd)=ci^04` zL7ds;^SRdUnwRtKlL#7#-JITCTp+ z!d~{Qjvhuw#~rtN+;PWAtwzrE>%Z!Iu5*>DUq=V6^BAW(x#~)d(biTwJL{@Fg?go) zs=8X$O75omUp-v7nt}<5xjjhp|om1IsQnEke}t5Y4E_~>2l z`B$Gh>%IKOAG4XCAw+`3u{9BsK~NLF8So1<`d$6uzxjvvvN=Dz!-g~VW;6e1f0+m- z8>vny z$Xa;k&ykhLlStOSlPhbHeIfJYy^nA519^h1tlY{*RuBk5mKkQ`yOk^Lt24!T{2V*l-Q8iBmDA?mmcLkP=OB9VMc%QK8XQ4)r5 zI1Gy-JqQtV`PE;)M<5L0v!y6|5{aae3KWJRgyAq)4zVzVaJi@w!dMtCm#KtR2~$SG zmlO$YBngs~8QqcmIrr@SLx_k8NYbPn&QT6Y^Y%MQS}uT!9H4Cx?dLfl9uQR2_9)PD zj&P0$sHs*!y?}}b;V8(bDxz9NeBmIi{mh4(DhOx=p7c9b=jU3Bihv)stqKS1&vT@C z`@sPPt%A0Bn^r*|7i8tMJosvn>IP5%S_vIP}b(}%M!&T={Yw4 zylv)>+sBeLErkm9N89J+Ah1+LuuV&8OOpUi6}L@!D?rQZ&-%MnY{f!tYiWPc0=7U~ zz4!DJ6;+H_Ta|NfoK;1&V6Cx@Etib|Yns*XCF!;dFS(Z`$zGiam%O{zjcc-{(Q^;U zWXZB#lCU>yoC_-?Gs(Sf*}UlHRSlQ9ZN2;S-h17+*lqLPvwPj1Vi&-ve=8-+K_CEJ-Js-U;-Id{Hsv^R_;ag%POOhnp0$4qJ(fFO_-;yL*k|fy{5sP~D?8`a-|Cjf3_UZ}~Vc!xXS&}5#767s6+4ukd z(?e%ET{*(jwrz?e+qS!>56#ToBQgudm~$=^Gcz+c)mNX@)eliqJ+;+jW@d&1o7P%; zO&Fu9GBd*6-~-PBB}tMbNzwyAVo|m5%-;9^|FV7GvMa;QlnDWRN3yNjwryJxDVN&% zm~+8~%One_bQPdKz8XDHhUw7UbBta~P7&IzZBisjk_40t93mnkk_s9J8fTfA8Gi2N zGBa=UnJ&u6Aa`>!B@wv|O#&b}k|a4IqH5+5nN>}9!Pzf3Cx6Bb*k|AcIC1oJWrUlG zcn~Pbkt9j7=n=7)dlc%y;Qr@8_h}3=BHT@dDZ;Y=(5mgWw$)neG-%>lbAgy8vl4}q z!_3UgjP+CIQ$4lK%y7cwFj!_ewiLw{Ycb3@2X$<};Y*SvN3w0(QeYmDSvAHSbD`Gk zgPVo%*XhzZeL24vti8sl%m_DA&jKJRl4RSKh^U#n2V^94Rnun1=^iqF&EYfL%=<8Z z3^R|Jp}W^AOpI_aQ;G0pZJQ%Wk|h0*h?qrG&DKSF zsv^up^rLO~mL$oNB+0gjSk$X$?Q{MA-@L8W6(+)-BimMO+qSKgQfXtK_dzCBiDS$< zp(Yq+dUvm0bA%_`wj4>4MCoB-W>Gcwi2Q|N57+#MQhkgvBHT?yn2G42Y4{cx$&w^V zvH%i`+ROic>AvlxE5o-WNtPr@wnao@QESadueGnw`)U8{t;>}o{{R2?|FypVbN>IS z<{g;nbaRpD95rCDsY}nzS?Hkxj3JIWQi^Q)BaFBg=4uD0}(h!@gN#mSI9vDVG)}Ql39O! zvnRUZ%jfE<&*$V!pJTp&$#Eu9f9$an0t7dsZ|zyWIRG-9g3 zmnZ{Dp`@r1hY?t5pi;(Zq0n7QW!*&vRN4o-%;spmcAEUrd7%rSLx^L!-~)4{FTk?j zCb7Yxe|1tdkALpX`j7Abt$+Lr=V$wtMK5cjw~{J#Dx`kWAtK_)B`{y6T4%5ey1vJ@ z8|>ff+>!wO;5I$XX@M)&CCuSn-L$&Lt{CoTX~NX?SM}_d%$u9|^ViXw2TeZye9Hdw zc%Kh293N|5c#lcg0$*#I1Zp^L5;;9$esmNkWfugrOS&m7l0fPv1eCtP6O@zfg+H<} zydc9I#SXB(Lb4Y%MF5CsLM$Q#bmVJr1F^l$h&znNd~Tq<7N z+3%j}(KyWcES~A!udXwAy5y^1MJ$qvP`pfRqwc9ZREM7YxSwq8Xu* z=bZpiHQ5mG*n~6{p*ys$i00T+v0CUN02nsU)wvz#$}ZYw1Dj#C`cCkE#5p?-_tsk9 zmDi}3L?FPl%>zwTi>rZR zZn*)Drg^$n3hxg-n|)R2=yVmJJ757}uSjWC1zlYWETvTRir~(;1MKJ}jTq5-#__5n zbX0>%ZKdRB)CrVcSZZpzhl}S!tv3@A9T^PESpdKpGM7!<)~Jr1ft?5 zE2u>S+N4Ph1|T$oV3abh0tGJhY@vwK7!;%~LZXP&g4WuqSW8x5NK_;_2RS7RK-t(Y zJ#UEHc{8n6tqF9gcqmsfFP;^goX>TggGAnesHN22D%-7R%%GZaWQun&b-zqL z9jfP_AK&g@j`QSST`0xW+QX2MF#hI%E<3=Vmgk45ol=?rTD4Trjst0pXDD<>HS9Aaoke#E z0{}UMa>#J*tJf94Ydg(!AK?qEAAGY8V%RiGbhr2KV!e0g->8$K_fsT2$j5xPxvwpB zY92^*c+OYMV#&?Dn#6Y|bXqQz%+!T6Aa06)8jeYU(~W1tVfG9MAQ@e#x|1o)qd+>= zo!l4a(N-6nP*>ce3P(9z=e!;qYDGfus?s`30zw>}i6Cy<{1ACZ07%@Y5@PvICcwS< zN1W^A)2<%O!PV3KvX=Ax$w%qrT<74(jMC?9_0}#Ri;rNCf8#wQ_thxFjZ1_CYvP3jP_AHE4Pz6j$?V5tu zk-Nqy?E)%p+5&MIbjVNzkOfHCoV0dgj|;1vDxGUQt$t$;T$x)wT;hC7lXU;?L4OK(*phNf4a@jhpN{Ql1m z(UM=1m$+nO+Xch|Eu3ncp|fBt3N#wGphkniOb~8?I0hn`v?G(cW7gb}5gTT3wcRSD zn=+1b!I$Zc1KcET3N8wEV1o^{6{3d@6(_MhLmveYn8}eb9wU4oPCj*-Q-NpVqN2=o zR03!&!U0G_3@MBXyBycLD8VY7pL7CX7U@Xf%)y%I9*=g`%95OP2cbP zb<7Gaym&e~tAQuEnT_}Ez`K*hjhmMu+MS(&v@U>oygK32ueOIWvmzjCi(FPXp=UT; z(s5SZ?Cf$ksA^D>&R*Ys0*k*$&1R~n{MU%Qi%Jncc5;`|wBZ?AF9TV-E){KYl zsWf>=`ZSrW(+5i~H!1E@qIII7r)AXR;h zE3Bj00|3;8F-4i(P*%Q`xk8|!Rxg}ie5tTp%Ucd!_F{lH)S-q< z;521}H%%cAS&8o16b0Dq22w5>QYg&~b}AbROIXe+P>LyOQ)8%^j!=8Rohc}B4opHp z`nJiTG|1j@>K+)$sWPag{S1~q;;1Hu9*$8`8&;nHn%c`JfW#+rmP7SP;oG+nb7sTl zJP>c=Uu=%c)Vm%#vOSi6)^Y?5dX2ii+H??XssaB}*;{_@giMtf914Eu{@|IK_%z)- z`VoPqC)REcFXAxcdYFznG|!b471I7WsQ4`o>G+?+e;+Hg>khFMXbvN_d#$nSjy6d= z89_o%)z2LrtOrNU8ht{Y6ND^LJB4J7qmNXv06<_JUQCB;=I?S zo|rPb`XL|G)w0T%*AS3Zz1SZry@67MxbA9Hm*%twsAixpL-J;mXX-fS#ZDiO7bl;K zE|%ych7JBpk_`&slnTV50nQ-Ty`WhRMnX<)m4>}zj&4ci)S&{J0c#Aec+<=eb<{=z z&VJ-sgR5Qg5AspayPB*pmJA3Q*aZZU0H02Hz!s(_>F6@Dz2wXDNH@nQA!O0 ziYSLPI4M&d7e#EUG56`d9m+T*ivJKCS_R#$M>gxnsT?5iQHX7k6G^!+>G|8xIW5w zFmlGF2ou#ME>LnEGbz&;1V;Xxp(&CcKOSXAiz%ZZ-0L8n*_J+8p>6A6=$Nu?2@nhz56iFTO^|z0HX3mfMrso5 z$a@aT_fY^A^Di{I>$S`N=eca-Ur-W6sF;qvZjRGtch!+>! ziQ(yp+GZrBwXkTG+>(j8B@Reciz{(-`~?C zDVt<)dz(ywuMSKi;Cu*<7mU<6!xBIQE0rRlv)a&%)(_^O8s8l)W?bLpQb^4S2N>2n zYdCHqRLbGv1e^KT%r1n+tWJBlFn!MDb4-H|+_gB2OWZ~Qnj#Usv$BWXTB)s2Q`6&K zX8S6}cxy!V&?Qq3XL0TXWL#N>WS~xP3*c47@OW-ch$4XMI=z%%57g~S~`&gForTKhm7uiga-)l+8V}lj(d?Stn~!d-}{Zi}MVH8c;J^kqYp&zivKG zYozaHOUyY8%7i{jnp-}5+EZV~)_f2!sOgHE3Q*3JBSxZU{)YO1vDvSLYFbPkqBInF zCdy^PwQ+_R{?m8F`}dn1mdd?agF5>~GR!^UT08%v@x`6z5qcXx1@gCUls_(~BAc`~BLH=!ya+eX2#O=qrk{@qhJ!Xv%=@WFo=XD~ z8gbL;#Pl+?a~|E-`ECng0kcxZFsfZsk6yN5O^X3q4)K4;A#S!6)dyiZYNVCxXi;(U$5`q`{ca6?CD+Sz3N|-6DRdluo zQa+fB@S^exEkLT-17)jR-W(JDle!3J@I4YzBIs`Mr5^nzgPg zP;eFoV5Xrvz#Oi|A?P6^8@AjJH@G;2>RITyGqNKhM%5)#u zR>NEtYoZV_fSQ&9pKVCURLE@elGccBvPd_ypa{km3g;I+2__lPEG9k)9o}D#syb!a zYF!?9UCa-e)A8{0^QqUpyyVKqmGx_XeeuWdAFk(5?~kzFXMM+arlnz?5}iwGElYi= z;bbon&9b+7ZSOa~{d%v;CF1U%({ZYbOAgM2FYj^e`Xg`PzrVv=KLl41irDsnqqF;@ z^7M$VERv><`>r|L^wA*u7&oUneBtOO!$~@fj$fzo)$DqyG@&*igX)%U;6bX~J0*5G z$Wa1)ncbOeRS#3Wt>nW4T5h%_+Qy}q#{2sFe*ONwzj5%_c@I7^p~ky%N3NbOd~TzT89%0wTGsXHRzk zm~#+Qeb{^W4*d86_|M5eTn{>77fq7Eppg=P$lyF9C8078I(E}AI^^w+tg8@_*YKhb|4y#zzN&oSiZ$g}IfgT95?W!nA3qjZZ_{T{PAT3wj!Y=Z3&D~J4-6h-sx z-dNzMy>pT_BFDTdb&oz6I*G*~9zC&RibShkL-t@m9Hpk9>ytNjtZ_uy-1w9*7oXEZDm_H~4di(onw-szxn@ws%-m`#uz zJ+x7$JDYLaL+vMghf%g?2a|3=xc&Hd3#%Tm()%M{H*I5-}|}sV~p!Xg4{#63X!B z`^ifl`=+7f{5^q-jNvk1GAX5w6wW%DTf-dds`beM6P;T1yzU;xIp~1rri7-(ES=a4 z=&)OylH(Wq76$Mr2_<*l`Pnb#Vh#9aCgB2!QK`UgR-|?oPlHjjNyUDCjEncBh6HE{ zQ`U8A^dVK5Em`vhZG`jE*hZjNY_RmAOB{z`VH8}l9_UvtHXIh35qgXplpr^tAw;2g zD^Gz+HGX461;5$sUd*<5uZKwJoL>vN&h-%xz*cyYUEZ>8#4RlsvPxdFy}jd^aejL!inH)H&nVbqV8FqNU^1!Mnl{W#VNV9%yPRVEAl}(|nX?Ig z`*+MPYF{&T9_8kK2%yXHIRnbOT&d?dgy9+vg@zsRo=pHiFgaw}l6?aq!p*bl?ik+m z{o*As1d7I8^Gst`_&i>{bVgvSL4;FO24*pSc#;X9u!_*o4t6%jKAF{(uj&&V_ep0S zdj&iUOGd(?)@lD3fK#QByWzi@3!iD?ERogWqq*14=EdM==rg!K$+_`ThY$)tbc%ZT z&6M|;jCMV6q`~?Dd7_K`?79HGv=v1;5cXGn$ltLyB26h;%1uFz`H%fyD=$SXEext8#)i ztnDySq~j(r44pqo;E^`KFz1?=9ALbfkm=ya_nF!@`t;S0(Lz5^}jwpPUL*_`KSNS*Z=3YW`Tj3`dq@EpV5Bmw_pCZ|M-W` zKfit4y}rYH>ksPwvqz<{pdvqm76H_IaEV!ar;zSs>w(J@Y$G%(!%p0&U4&7uRRE9P z3qj!ytlOO(r#cM}go5DF|OGbH<7sbKVFf(07-s z{Yz(^?Rhfg?g1vI4|pw+8!-4C$b-##du zQ7L?ed6v%3V(Wqvxl{D+)9t;+EO8hl1pIgZc^*EE>9xFK)IOVou(#2CqwZj3T~s*bG~q(ctODwJWNh zqsMj_1A6|`&fo>cEs$vJam2|Cdfq#Z-=oGE+SB=rR{61CZjP=%ao|_xPYQLL`KV%o zAeYZi@Lo@-=f{Tt4(re7SC`?lU1n;Mvp+xVN_np(LzA0&VuHqFB#@e#&f{Y0J}D%a zIeJaP0%uO81PljqG{-|$^{Rp(Yu;)hK~)8SRX+OMLzYj`!9Y6Oi$$Ip&us~`i6i4gkH zlkfZdbN{!0^ZOrf??2|BjQ5lc=iwF5b$`nThHr=l{rbV*(qDdxe)$OloMgGnKvBgM zLyaIH)?o*CoO4FUb4`?3=9!p54IM?+pRilGb{Sf21jsRyU$65+*92B>7jAc{1 zz^D6qKOicE)gjtBlWUeGw+!KM>&=*Rltx^J#wvGOnyZwQh)hdXurVV#p9Y2**oGDs zp)~b#a?9s5TD13%x5L*g`Py_bJt)=&5C-P34~P}BHPA~75PDwHrMKKFGKL)L2|c)6 zX|95SR2UH&ee8;ZPZ6xCYiPsKf)_FtgIn0zPXNRUSVr+U*~>tS0p2VKZ~*GOA!5@{ zl+zLrX^&jT{uO^3wqFm!t*(x}cr@IJ*Ri-a3g4u4T%#jQ2^fXbuVGa0&eLm*riM0( zD)HxBd{d1^)y;=E#mdjIoKh4X;|g$po-dj6+%A@*Md!(?uhn>77Ju74Z_O@0G5u!F zzQ!;`Iq@4Y7w{tO8#nf-8YZfUpXW|>hHM-T7W#_}ClW6kedO(64Fhq4M=SV&AzmUM z>El)#XR&jRbJv87l_UCLob9s%6++qpfqeZ>>gJK9kBKc3Llk3AP`J`NABNA4Hd>yz z_g_J9v{6)P00lpev6A4UY7ZTMQf=7$p}{jJ{__9LrFj)r0JJqc7Y9xPec4k@*8-H9 zSNLQkwb2it*n46|?r7C%7&MgzngkBpWF&1!YyvcA3LaA62sZm>;J^Pn{7+_Ci^3qn z^Rnau@dg%%OSk+v#TuPO2V0lyg043_#dNBv92ifo5WcUT%3;(_4eDU2C>bYkmiqm& z-tYhVU;pUef5+#yK2}@u^!ftOb`IfA+(Pg$$Z@T++?S><*uB(?i-Flk-N;{ z!*06s9DLwAI4tMuJ;%~|Ug>~=dmbo0Y4l$C#fk|N*t&nXRkPk+5I#>75dH~LGE)_D zsj`rwdETd_U?Uil(G+$CY=l^hfYBj1%0REIqEYi z8E^piTj?dz1wA%@*>g5w`qKz5F=OlDnww!sPK??=*X1xido(#dW}Z+&@D2xqMzZ2i zEVWxbi@H@Fi^tajdY>*%j;0ISX(5Qw?AbSSG3fZd#1_m+ot1X3pSHOcJNl&2vAz>? zjsRA#5uodwh_hlJ^Xv(9`tTfxRTbM#iZ&?uhSAz14z_*n4J*02mH-1yMV2= zdTw`S)LN&()~Es%dEzCm)$sJ9B!mJ=pZ=E71F#lzm9WQhquFW&T~VAHnAMP0?8M;V=8h<|8zGNczL7P5e5}z$4&Va^h4|l9k1^}zxNl#|^tVK1~ zG~`v!xRpXZq)k9Yh|-k!sG}JUpdmR)@$dTmao6H_zQRX=IJR~!27%EzJ$Tm@+?T|t6Lb#F7ihXtA3t51x;5qE6E1Qc}`J@W7OUHx+$aALlbfo`wqdL7=(1B zNd|R52Qx;2F8YWsN~T4V$9`WwS?;U4&%$YOX+R}!_xFz2>y;Ea_vPYLK0vXS^CF2{ za&t=PjS`!^6EfRHe4i)J(FW%kmX%{{ZXzQ}qB3LKb>Hwiil1J(0)mZti1u6%HSKJU z#51+_2o7pVF&5k#Hfa+O;=k~?QRA#hN57{(&5AAka>g=+V-C z0ITQX2%YB24}EiM#RqlfZ7(lgb^`M`tv!Iwrzk9QHd$J+HN|12#j@@4G2$=Zf4-Z} z+;b1^ipkHDm$%CSKiSQMPO5Cwm5xtCHQX~avMXf=oZ;zA_v;a?*1WZsE)I$3LOD{&3tW`V@4{kgvr=?G9bWqI{qx7C zzkdEJ{$+pu*R$bv-p+QD?bA8S*Q3Or`=h_5`6qFGW53zz!ol4+wYy4($WoJ3oydmQ z#%6ghbJ>CdR&TW&Gu5oTrNj(tf{6*-lAy4QDD;#Pfh;Qwsr&OC!P4%rKRRo@J`~g4 z>9}u>_v^@6DX`jFW-FINHh>SjydS|r)+b=YL|-e<2zz_CqhE)(Tc02QkewGVg^vf8 zu#{&YXVwCwA$h^H5KBf-gS&yKfJZyeWyEU?(h7JT42YmgKcy^yQP6SORC?H&3odn# zr@3ig+g}}>T*#wupw38k9XJke_zNm1sxYKbOUZybw`Rw}`-8D1z%tjgq z$E=L>&Vgz2l4k)2|A{pylD$$7F=C<-#Uyfgot%=~9JSP#Eslrm?_`wqz;1D_m*e6!FNrzS%!7e)SvDgN@f* zXy1JPQQxmQ>eS59aHW3P+_rQlALZTmn+tt_4nFcI0zGcfkx-`W8}Wb#>7t&a7s_X^ zL6+$`^HB$_V@--pf+rS@17@u2APZ@RfwxT?tabC@%uDhMZU8t2NxH|23^*2su zY52mdqb)x<@@_djs+g{Xs%mDbL3aZcbkSe43ArmlBz3_OL&>0wNY zoF_sMAc1Hfe7FlIsM86KK3D0p-ELXJ#_67t05ykJNv-&5&I7)s>UUaDP>dY&R|ApM zEPhx2VgJ_maYNyy6WGk%d~z4mJcvN=G$yDVV}>C{#xEB97_F1|R_z-wyVQs#M=#EK z*Jw&Kc5fM#J^Zo#*7J>j{rt^;@^Aj7|K09?{lxxyPVdk4iKVf{VR{TwMxjjxWsrmb z9+W!NC_C=CSfI_$*0{w93I>HG-LVa%!8hEyMvL55H)<~+FwIaJg zF<;^hNJF)>;Hfv30JB<49S3!6_0w4MC4KO#858*Wgd^U_=8-YruDw0^Gg|y}=~QZG8};bF}3c6MO+DyEvZrbXqPS`hAa=F(YeuHk|{b4U{lO=tHDB{*ByCFj3)gIr}1yTjOr zFaC6?^H}<}tce7*_&m+$SgC4+_8VNzTEt@}-@N^W>!yEx)Azg1S^P3n|JglA<{q$n z{qrjESbAj5?YbZGMV&nMYxj|;#&ikGWBY;8#tGzZ&Yd0XAaIjv6PXYJAIymyB!rDt zm&L8vr??m_9ZfZE_yi-9kjIPO&75ji1>0`$Nv5Q z|L5yMv~s)j4VP*%Lpu9m zPlFeDH)>e>3>r&&Bj>m{y$Wziuh-mwY)y>~KpY+A!-TaXh)hhlHdd3qJ9W&goT?e* zQsH=u&xc3G%ut#2b_6{+RQsk2&lf`SBll-nb*H9 zr@r^?$%E)PIauYUN8S4swyivmr_QO|w3X3ieOc!OYatO8BkI_$4@tGzm!u}6E;ihX z*-V=YH%KyL`;1MW1c2q$6e!}uPV2aqu&cV~-PPMZ$7zYa<9%@+kUjYc-<5j#m)rFZ zX^oY?xifNyHR@WC@f5tDZJa{bJHcf6Mu z_3Kc3?U5dS9aoLJG*UB8kfyS1SOvWl07^m`ge=7(0puf)jH;5!Qj{N{E?;S|633As z6t)4NGQpUg)FPS-0MbS(BodL3fh-DlP-~u+q$ivuQMJ*X7>1KL;j(6zxLh19jMOlw zv{xUk&ZLH$d@1d$cL(R&G;0?R%U4A43~eWcll<7aZp^8mhhCrKKRf#shx`lF;5_=L zi;*5HK>V_YfNsn;Wbv32Kl8^t$DjrNR0%G*IgPotzo79c`jDI6t9_}Y-A?mdGktqZ z9;_sy`YqLjdWYBQj#AZD2;!?NR!~_*6sioXXRq0kr7N63FA^MSTr4E)4gw!zgjzM5 z`|u9B3Iq-+ka`+FMjv;R=E74qLOaA1#Lf8C=HrZKY z$H~Cf-)v+xHU*E*yWf`J=U_ua*+8c;Jhkkb4GTma#wy}sQTO%D_JC5 z=uk0b@L_FN4t%aIcETL1P@S2?b`)8Fq0;c^qRtyX=I8&=>W_S~CBbofbd0i{J|9!K zxt<;?Dy&L}8XMrA<=|kd?uISNHKvp`)TV@7CBZZjNKG}{C0Qv9G`4EX8J8SUh{lGA=pz+V*3JYrOG~8*TL2W z2^1Qoefncz!;$UJLo#1|mwkWaYXx6;qQRN`=Jf2}5`AZ%O_e{Y^Zuc`S-oo>Y?en8 z5UmICyoa2_=W#D$2I)F!j{8@07QQVB3(2N_8k`0DMWyOwt%*E`^tLUwcY|U*Uc1!P z1#NiPr+0yPaJnKI6}8jKzy(@^Da*2hm?9EK`cogVr=LV1G=az@1l3xA@sl~tD>qZ-Gl!&547?NCz`DBH2JUgjXav<_lwz>?i z*2;z>>SSm?&;H#1eDx>TI78RzSg;uJ-7z6BxOXXHy? zX|o2fdRmRr{qL)PcqAD9v-)$WuYdY#yI%YV+QY257`G44mXFU7voBsfzVA^W#}RRf zUM0fcXmF8A&G5l$9uK7PBpa|Ug^Z+2NDb5zRb!xsUNB%y-oUIr6eLd+P^ze8?S7c3 zIzp>LDz|+s&QEHQ&oAYw9h&s)Y%t2iqk}h>CMc!ziz4g=+;6+wUHg*&T_`?HDCe22 zEgz1^Qyiriz!ft-JkKgpt7j78wx9S4#SkF{!EGF{hS*lbbHbH2l!S(Z?{Mdmb?`rTOrh*}pYx3gx;tY#C! z9&|KuE{mYFUEAeZ_O3ajnp>ORUsa@iFOJWC*S2_w$$)SXmzy0s?h{BC$0)8{jv&GM zoz~AYj}RrX*k?%?bG0i#Mkk07P}ylY?1P*ercEwAf!;!HNlI|&p+Q!$f^9AYVQix=T&al`vM>{!ZH6`bKQD9L7W7T9^1&%ec zXI<9n*<2TU)papqi-xRHA`%W4t>zQwrK^U zf2bqVS1|7}3#^`ae7h-5I1@e50UP1`lf1aReq%ZFlusATYIq@c ze*;4z_AT3ZxIXhMf!^LYoAJVRoLu0Hu_5Usg*4`Bh@<8bxf+h8uDyeze3-=J^qJ~g zQMf*|d}@zK8iac$#lfpOe|DdqT^F7$lM69jsgqn6DR>}b-%qco6P;9I?NaEcjpzz% zK(k>S6}{sg-%|se26lvHSF4`lORJp1eQ@lJK0fvUmus4P(bp>A@adCft>)5E`8$on|H&L>LTxJ!6wSi zDp3x5c?SbCW*g0ChaRQC3gu*0=QXzAmjD~fH}{+FCFe$&PQ1Bimva~P`-t1S8WW(m z2g%nixojHPfNG+{$Rjm)rT+y@68O0(=jggUw&&2(Me|zdAzmp1OaY z26DgMqh&QwGp#|(!|k$vmOU@e9 zO)%-EjVe2RE~yJ*0$C1_MyE6>MKe{h=?Ml^?yQ4xN`%5RC>j)~a6dF7qVPls0Lhv) zld#S#XIUGw>jD*76A3-T2F}sC19Lo#q55Y2aL9(%1y&X)w=oiZ89XmNorAO!@Sn2U zJFF$a_S|Bg&E}=aD&uLTY88R7&A&1DzR98KlB<6+e4cPlg=O4s_Z zg*a4g8*gauohB0$Kgr#gl{7eq^xz75eR*c)ty-IcHF)l{GOLlT`bW`UyX=m1;4wjOYYh^q~ z`^YyKutS_eQnjil>u2fc{gBs`!oYU7ET49EKdsBv@zHYjwQtLZzOVWN$LzE@A&*K? zJm=xmq#n%G$F9V1HN|a+86?@2e=4RG<-j~}+e@yfjLY$)DQYu$qX7%=RWu1Erny21 zCIL4P4I~Mxi8j{WSPC4z`0L}#f6?YPejJFcK=knmc0itY(CwN#4e)}E#$W9>b|vLm zk|xCWGpdUiDr^LK#)y~@#S`@sRKoizNA-TyJ^%Cl^Z&m7sQvER{MP2kER}PS-o4SN zU#!)7Z{PM@jZ)W<1U5GHoYg>rJqSLhr*iVTPPF&@wQkY;(D*A@5F#~2^-EO|EW-gP4d zyuIo8Tb+vE^f~S9#yc0E_ch7e$*4T+Kb!p=9KfTWg$xz1ujJmqX#=3}WbdrKT}4~v zGODKP?28B)E~?es>Lc~$npi~sDgfH6?V559c<5c4Su|`mV+=~725&<$B_ZuYe??4M z4&})A&nPk!Vu^^oI5*#`#_9JNn7|19~1Uc18`6VrK9{E5^!{(|Es^u?9^Mc zy7Y#OS-i1`YxHvX%V(&PB!BIX3xL48{s_gnm-ThdZ$}IQ8x3(|W}dY=Cey06qiII3 zn5fP_yPby`^K5hY7_Q(!X9|=cSK!&~$e0aiAQXuJaO3+mQ$K>vmyaKp(MNgo(GL&| z9=kZOWE2zI)(*?DFhM97#N~3IXjPr>gLb-W5JON~`1N^Iwa$TcY;G(a+(rY)R498vI{9I4`lJ_saa$# z3NSj!x$l2LBJxHl8kNw14QRpwz(%mM(=ihv3+`1Lem>u-k_lyBbfYxm%zJj`-aeVD zy3F2?nrg)WEkM%0vf#~BKX3V*rRu4aqIuq0pqi-9#${-nkR&8H$x5JEUdhpEleu0I z3S4{&zIT7$we@RnLLafWKvIoU@hZdQ*qrA({F&aQ%GdKAFcfm30p%!=O<{ zB1|rkaCSyd%5YXE8<}dVg-X35bJ~p<;n`y7t2>W=uWh8P9H;JznsfL>$ZVD)9GAG- z{D4&s*<V0mO`aA1S-tPI}>2_r!nT%Y0&t_{w9<_Q2`)6D;Qm#lL z(RAb5sgi^Mz z1(XsN?PicVf)?A-cX-|p>S=oIR*XHUsqhhjB^Y=J;Gf@m)d^d%?3G|2DtjZDSA#Bd z+t>2pAy)d@t)4~r>LH0!eG@-pk3CnvFaxRyWnNq_Hl$)x8rfELZ)e*1l0RrZQ6=Mz z6Kn_voR+$T9=D?u!>xdsZPDRYW)q!!xEJ1GwhL4$IhmnIOHn%sLr$S~bI{2{2XG*T zkqtu=+(DP>h1w#A!!QnyYS7RLEW`^88c>GAl^+-RrMc~&+Raa#IhOQ$dFZvbHtmVA z9u9{BbR`uVcx<|;Q@qP6ZW`W1eV9@_na8&Ce6r+A1KDT2$@ltNU1tK;drq`VvBukl z8xiLR@4--*u;@^FlgjOoKaI2y&-3kkKYc`+`MTOf|QBxhW9J%k~b3i@@w$($~Tmat}{XFjP`rQ2| z@5{f@?|j9IT&*S4zs{zD0h=kp6JqFKqp8VOOxd6ud~usC-<@B-d#;@CPrk{X$_Fc3pMbh4o@rikkI&HM`rf*S9m(lGzW@94kN@rY z+xw&ELyU32GaH=YajJ1fTCNBcb)Z2MoZ_Kt0~gwy1lnQ^rPZ{Ef?G3J11L$!THBJU z3aTTk;^TN2;T8{DT=3id>GbfPAA=+9ddrJD)cn1^SHPFeTyF>FYVqr`7Tv#f;Vnkw zFwbQ>n=v+(DBX~xo+ChHXW3;+7TaVUN&*u;_|p}92UNgj8W#$^_DkymmbZ2?pn&3F zDj3vtsj+Z7w}v@U=v8%xM5>05k8g(Jkooe&0nS7wEyaMjK9RvmWjB@JR)gboe6J9_ zE}3k;?)Ge0$aHf3zP+OBw3YdxiF)tzdVZ_t?c7S!h}!f*3T2BYJho<^n#5;>k$E>t zCmGFr-(n9ToKDNKbPQmxJ^|u4US?V`lw%D!R>;u0EOx2n)ih7I z+3N$PfYj>8o<~1c27rg6!mZV!BTZa^TvNqkg+e&2f@nTWmq|lS>wBJmnR&TXRi8dt zeYV%5649`_69msuAW^*o#nyW;}8wBQ%Izb_;Ai$ zC$~FWP3fKOq=yG3;f1CzfL;JU)4AJqQwJF=EUz=`nX15+OUIzl1d@^$IB0#AJUXE$ zU=$m1)WbpP)@YpJeo^^wM0)Q&Bb*C5MvRt9>RzLDVR-K!rg0(VvHAtk1#{R_w|juz zC_H5f?o~}uaH}=PvV?<~X$4&>Gfaol#&*BqhbhqI9_9F6KKzS9c|1pll_cHPEw8p# zPn0ozF*f=%Lm}dU`IDdcs_TRq#_RnYj`NTVg zvov&KvmphuwTyJCKrQ&VPbfAeM1pd8cks~Ao&hifwV1PU${n;sLuI1ZT4+K5qgVt# zrP{rkpgVtFdEwp6W7r*mtYTT?Y~J_R`kzMMB{5vg1wAI-ed6xlxqa(AMm@vqfrk=n zu;{raB`ytvBbtz=IuJ}zFK#&I9TJy4VxEtBCLX7jm|-+8JqV;wEeESh3DvcCU4&!% zR8v&S4ysGE7UCw%WEJ4MRcITyaldqjo&Ac@4f;3%`Z1eCJKSkp(zMM7r(h;IHLGZbgKlU_r zBqzI}cwpx)p*LHd^{Ocr+~E>xGtMtVpMwLY)RHk~TVg9%i3>p$^*patj;=jBrRRtq zD-^7PRjcNwd(vdg4RmmRV!<7zsBH`^u{b~lfpX1(GTNa@2U~r#~3sY*) zAxR5P7zP3oT_U_7k4Lc0Bplko%tz#eGgyCgzG7vVTrI$;6G#)=>_KPU`}H&9))mYX z(9_W=M+juYUbChi9^<{aC|_i!D5KFN+ZUheb#BVFPbAOY>A4dWAK9-nZ`>QfnE_iA z_UuWPaeJ`Ce#_gcXcWW%r?W@J$~b$cS_$qA4~=NtMBYP<`;z9-T5hFzm(!-EQdhOA z`3e}KGMC)}LMBy45fdec#5@*)8YqPRHfeg71eY#N!Vhyei6~l~VkcY|=r|Q2x+=&Z0+_sL6w`PQ=Nb9Y|NVUb^ZCQyu6)jY{1fs* zZC6b}fhMM@ItK|p2i)4mrPcF@e3C4LIkq~`q;+&Dd9@OFDHGcpU`t2Ds%Mfk&!f%) zzgZ#)oZuoWZ^Sa^x{n&W3Ow=bGv$h1M((p~?l5?rfEmEN8mY2il!|I<%qcKEBo>5| zYO29XOC8);OJ)=DgHbL(ZOisps+8T)0d=4V=qgGPU7u>8wuZZst&MK*g+Rw@ZPuwK}KvOz4ZV1{`Z5vD+ecX7J%gY)x~Qw{f;H3W-(uv zlQl0c_4~|Uyy3lab8$`l?RUoe>m9PtJNY1$y%TXUN&N5nlep$S+k>Q=hMdKTCxG=n zLwfb;J>k09`y9Y}nuyH;{_Z&YJ4_xL4mwRn`EJr5>;xRv3OdnsCC`&?N$8m7WngP6 zo6VOU7D<*YT_0RXakNWA`&+WGT zjSm!Yg|*8;iNFW~IS64Q#tc%F`-}|kGv!Ja^YMNZjK`+c!*>i(40i{EAKH6VN0X)V zcssW*=Qx5kn4#XUY(kq~yu|b2NsBA7*iuzG3YL!3!3DeOWcCG$p0xP=*)4S?d!0D* zEVq;K!(jx)!X-e3T6f`@v}Ta|iTri`3pe-V?e0g3DXV#)*v4`7CSMQh4$iuEYk2Qp z21=lEn&c_oogY&jm@fsE21#Z^OX`FJ0OTB#B4k$!wFpQJ6Cu9SZ|rtbNqMlj56biJ zM_q(gaRD?iEc188Jzz*-H7s>4u`ul1 zZ2r1yzx;mf<7*orp`zI^=(acOp7yDC`c~+XmNS;X4YNIjnfe!Q!r`KG1@w~R6>{R5 zAhjqVmxD+XY2fa1Yv;;nfwxla^ss5L8tSXCa2pQn!aqJq*dP&9YTKsIHyT%m+0xds z6e(2b{Zk?K<|@3fJek8Ouz#9s?nrR6cX0pStVqIc1F&qIDNBb3^q|WT@Z+w1x z9Xu*1L?U2bKaSfuuQSMd2I1vuI>HI+BEJ; z&Fl%!7o=PJ(#-STe=-I;{q*f0y5pq4Cvbz+r%5nMTnY=$JXLCR8@8d<1w5Dx6p^wp zXWD0S%O*1Zk;l$G`bn{x6O#3MSN&FYtmysfG2pxK!#gN}5a7aQd%}h1SD`e`*5>;c z5(H8wLuqNF%@YFZ861s8&IP!iQ=)T7$xpBu(<50TK(=0*+Zm4*$GyYCNt9_(y7k}b zySer)m-bUHqk9{mu8wnZJeRWfl!0rB-eZz7kF$dY;iY-&aaNYcJg?mLSbXgJ>)zH* ztF2c`)tX|HPJHv8TI2PnqfAH@g-ZFPizOjQUeQP9q<&O?zVU!I@8 z`~Lns_eh>`jtCb48cJ4j0&S9^fb23@vd>IWHc=#0zCn4|BuT!(ooz9eqkQU+A2 zIL4&%qev?~%loult3^WY;f6l3w47)MV<=dM|=^K7cy<*bO>LFNOa9`g`7 z=W}(%Oop<((_JCoiE-}pLUui%C1Z=7LuiwO#xh3_y)DUUXV4-=ZLwJQjFAi&t*}|I zLn8QRcf8X*Cb801nQ?w0u{MuY5+XqbA~{f(^@6BKfX|6)3=}uZN5G@4KMU@x511VsV7*8*i6%f&A)KIf86Ij@4V0Rn{iJV z#K%9qf4`h#B}^)@chf5aeu-c9^_Z+zw1YOO280%fOF@uMt;X{#A&`c9OHQoARrDy= z#YDFmj;ve?9Ml$fUvS%Y7N*VLD0{;8(gC;#nQ8vsN0HXI&ibI*%bs)V4z0HLBnzXA z-ZIho9Q|Yg$ph6ZMQ2zJ^;6KE?k+=&$>y2OX9^T$s=e$5njAhG_@=LOziv2d-gvhU z;hpL$oUbche}3GN*y4n+hy8Iy`b0~T2{B+5!IrMAyq`TxKa~1bGEG|_&#^nNdmwAy zA_*{VL{h%V)m`B;R!vcwNOQR&Sw0(NYe_>0in%o^nNYfa;7o@Es$IV)z!w&z2Ney3|3;uw^^5wkZ9)*-WE8#Yc7 zyfg|mi$)Nz8;)ix;w##8gax0C4rH5SX=cI%t|nP=kdWN2Fn8Cx3GkY>Ml^`+i9Ka~ zzuW&UR_vfY{)91}oa22V9q(_<*fr%$Y;p_ZJSO{>UEjId^>?qn6X75$wfd-GxCrc> z`~h=j9d>epl|y# z8o+`)0LIvLFjCaAv1~fza! zM{$2uey3Z-=H(XD$FUDvqYjG<=q$uKNCVu0Jkf||5;lOgp1tm4W(1x{9H$VVj;7X< zbV^F$hVAvEA^vGOu+WX(GdkJ@hzUcT!xnh=2>5O$yF1J(`uVZvs3}mbREST%CJ!qh zIqdCv@Igo>XD56XyzEwacjjDFYWGqd(^*E|G>b*;UDCBaHV>#O)~`xKQcJtr4Z-hb zs3%K^^9!?KR8NNcT*JDQ8pb}u!qc^{@8|QK2g&QLV!Zlx?d@{Ln+ZX#y@VXu2*JHO zb12)HY}c;ai>=JFRh>+Qk`>LfyWA!>322sCnZsk;daE|cv+>a5tXcdS&Ab14w}0W& z`5wQ%KlE!13Ajd{DSe31g*}q`>11A4jzBB4h2QA8L0!rUE#j`?JW@dYG#wX@*!RZ} zYv2@j)wkTqn*=?-dq41@Ufu0`Kxkj^*Zqdxe9Aa;8jGoj3`P^k z4^htAGVfY}J3|+~He-S^b$3^klMg`G))`lQP>y)ty|uLj4~$DYcg z#`5&WY|)eVZ&vJ7C3=@FE-)e9UHh)ZkC>Hwg*N|eomiGXzh5<=msT!_w?ka>yt}^; z^=3T?8g1*2%w{0-Oum5rssIxdbB@u2;JWw&tGxj(4J#&qD3cAXd$Mlx5|$1Bn)lP| z>L8xfZ#kC9c^xBH@`1T@r~RTNpt6#%*bFkQo*=S3T?Dzc;+B7wm@1bw)t z2sW4SD_=3hii`xhJPtH}ThA5xz<~-LyX{Rsv>SUPWboPYuxR$dzP%aA$**orT zc@;s{IxE`tIZ*NDU#idF=^93>GoQFMtp$-Su=+HxwHB5D_iesocfXY2$L_E7eZ?{F zQroDjO48uYrlOi2j6*qDhO|fXq+0bH=#u56cSCLnPSPPtk;zAHC}Od@&fq11C)JUs z8-veb-t=3rJ$w6_m-D<;Z0R1HbL*35)%G;^PYo3)UlmJr1qM(XI|n;%)Q+cELzPwa)uBV1 zdvUqE7HU(y29!4UXa9wsf54aZ(~e3P@(QLMy~W}!6C>PyX?^rqH-^2mn?thl^pM8y z)nzm99Xk|r0_TpK{-^S5dE{D*KRzDH-|mmNG#y;NTe%&ZgtiU5`ik%9X$;SO>nVP} zexAwNk8-%!#yQs0xjKw8a-L3egjG)*y%#;4jsBb+EYjMzoTH289zZ&mCb!RgJ)YrF^U-96VW%d%m&k$BT*OxS$5X5u$icr>xjg;-0L6QUjM;?>!*(pmH z)ktQX6ZP;<|G>;VxmWwtMdS{Pg&RmivZ|HbfQW;QsUkEy^Ha~THvIBT-92JVN6>w| z97npvndNykpauFwS{^{^e&SHUAZGiyYRH}_KBba#rFTMGbdn(oWJ!7jx^CF>V{Gd+ zT6%8;Hmc&ZAF(LqdI1O`Ei=I4iFU@^{xoh*(!XOq`Ch`MqU*AL87NOG=C0#;7h4>d zGbKLW`<_4p5%bOqaSbt9Ms-tGC9c8x-NqJeBCEU?aesX3SJF1XEURXS*0LTJU2>1b zXS5LYc=HBUv4%eBIl$qHcNOP^b)4-S#89U8LQYi6Hqx-p@Pk`2JQ7!H_nZNB7bM5p z%J$p_y+anR)p3YHf?{BXD8cG_X(zD2=PA)7(5M%0)TVg5`!t+#P_jXav2?iDgoG9( z0xom1Ac8fQdit%3IG2TYD?J{5L-~4o*clU_Yy*qCAXLuvt|B{f!c)V@?Fo*}99wfh zXUzen5C1&JwVnB8cqW%qhBohv*1zsndW0q}Zs%xb`L5#b$b@q}`61``5tkRWa2C$U zsn5;?EUox4xwKYm?W{6ORN_IDtRNz31txiM>~|d6Q9TYtL|)P7fU37a&|9Wl>I3M~ zTnxp&t2MpF=3bAQsQHI|?OtKZ^p7+5s1I<|7)!MvpzDg*=r&T%4EA?53w;0)KKL{t?C47ud7%q12o9s934fD|wY3dQy zvk|Yu50hmc1=sEjTscS&ksnsu<7u;T&>cS2k@Wd;_WtnC`wdiPmII>YP9 zDuE2rD1OwN#EeO+e23tI@7^KnzM{tz`O^FA-jngw%!Tlt@?I-<4*w+$H}AQZce_PX zqT%v5`h7Gn_9NHq3WRz_tve`6Gdue2Oy4oqjI^%(~Y1l2PCu`Y02QbXMZ^6lR1t3XNyqalBR46V4;&vRf z?ivF^u|wubl_o?qbU~O(-fadQ<+j7^*B5^tJf{vn-gKz%e)iAq&fygBy$9TTmu9~5 zZe^Xd&Z!x3w9U(cd^m49_qkx0+E7b~q`;E3+d_a7aZ6{^3PhRkU66CyXrmTAQOOxT z(K%zprka%rD5$0Gyrpv3j-~_kmU!xuprLw)Q-;l&DF2-ncvGea*l5pZEFC`+UuRp6vJc zzx)38#=pKBowMzB2_q`Py00%wZSVg{=fLPy?VsxE{r;p;n+F8{I3ZPagitAEAq~S* zmU$K^CWo^M{`rk=<$LG*R0~a?GDXyW0t$FljO>B?w*YsKGHY!dvv74cFS&p8<;K}w z0i!zv8~>|1@FG5W?pd{%o91HIbKX?We6&8?fwFdqQ<#jZY!(rLtgui4Qalh17L`m@ zRk5v}^57kQ4{;m^?Dwzxi_W&)lR@_r{W|{flfS;#u1_EBk@18*5uw=W(&*Ps16fqz(^%rd!>MYcM&wm`-KVhhGuJ!zuLYOOac$^NO5S{KZ8_zR=XoRkkZc_9B zFg)_v)6F6O z6f*FHi(h|^lYC!lSMy~YatV@q<@B8%8&EEJqwV|QyeqAaEl&kVMvw94XXU|ov5lw} z<+1nZ$GF=Dy6Lk$#me=c+YkQP7i;r$Qs4KCp3F-5I6pIwtQLOpnX_GuE*-Hipn31% zxf&d$LAK;NGCXR6`>$f-BqzC-tNMId$KAm*M&= z`EqaeuKW1kCtiMU&B?kN<%=|@SQ*zBqETJ#${z5%Vn4YD{en_hvr^51b4qU$FOk$r zN%6QLrPB%KjkSk4q3IOnEKYQ$yikxujqe>nYNbTKQ_~w#IzaV+F6*3wx!$s9OASKQ zC!UFe(}}U+Vs4Szs`#J(_-E()eflg+1fTyvq_geLhU;S5Gu#(6?=7y^tAB)a`MhJS zkNgQ0eB6AV=$6A%FFo&`$D%srss9DyKw z+kk8uwA0_KDjnXc-Ssm_hyU!;o`I$opTmc6m44|nQ~THKXHUznDK3`t=dERZlA)}gC1y0@VkuP|C z#{2tc|MB-99pszd@X>g%8Xd$s#xb2($y7iC@WG|twqV5ZT>4G=X&>JQzK836`*F3O z@npitZ0{$bF{L%q<=tfQ+TA&+lGM8K!c8!bjWsfT%6PZ0zxkxVt*Yl;{RLF-tHnA8 z&{o6_C%?QwCrkfn%QF{G@~)wMzk7K6EwhWA)!u!a^CfF_XT}Ej5uSlP;yMXA3g^Ss z4w|&n{a5C`|Bl1!KIUoVY8CS}a&{}X>K8XnHrmH4-I2+Lj2xFf0E{GPDmi{UWh;2# zgPfWtK0%bn9Abvz9>Yt=(Iht2Gj9FM@e?|0uUr+Gh7xM;@n?Ko-?@W2$TsY|5R~nt4NST~59_i50VLY|F*+=e=L2&Q16Q_ih12i>i{n`W zS|sfKypMRe2=^Y?Pv@ZnS6ZnG+x#XO)cH-Gn|>-6f3z*-U4I5XD}zLPw?H`x)CCqq z7A@0h_B~QN{`?)^>j$3UG)UIsS^=*%KZrSTp^0VFF^tsZ%EzVp2KFiAGH}BzGXe7Q+!Jws+0lwwY8piuJ zVav&x$N94x@5Bb~b%esvj8bYb5N1?#v|ZC>>CdumaW~G>4J%ozR2qsHtE`}w$pBEu zp!JgL8z0Z@xF{@a)I9~ToAQKMpHNB$b3^PNI{hrw8$KQF&*NE)lw^)j( zQtSEE*-;@~Z3wAA^r5a8oCyS?VCD5FiPxsB<4+Xo)qjumgt)0}VE7;LU$7%Sgq%=c99WBT0y8GZk+ zEAKkxl~Vu(R>9EV9vne;CId?uu~-rCgX>-Pd$<1mvv1Gue(MWvH%EcvLQlv=hd?E9ONAY+U70vtT)@o?PQg?mXp8H;Z$1p{@DShukOI_Z8=%*JjjlR zMUf6;`+#xfi(D1D->9u`ztP4lxpF&a%dS}44J**ela+*u;yq8?XENzoD=N_U@Ls#f zjt$@C_i&WU?JGeH*3Pvrej3t|G2qzq&}2bo1dRRGnuw!%l%3+Ve>F`Lds0ci{IY-cb?~3v7m`d-*0GcU+BeN&6l( z(OOZ(N0m&HGMjZf^AKIUjT%*#=Rei|z4IHM3MZk*t{T9+n}f|a)-htZ_xH0i%*VE? z-#YnoV%NsOpM9S3^u9qM)uGn)Tkj15>S zHyDr%XQh`aO|FA$A^q$6@%sm#&#UWg>)D2idnhn#Tf1T11*^kZcy_}@S={5so|(}} z-`xJR!Py)=8eDc|?!7&%1cH?m1)m zcMD4^_`$EWewuH9zS(^zg!8z*R{VZUCN_o@-IE}K4n)E_S3h!5I%~X`n2}dl^q%jx z$;sgTJ>EP(BDbXYP&|y4TV(EhGHj@_H^oCvl0*K=NCKHhb$k!*Bz*{iCA~$N zmpz1vh?P7auqh@Hrnr$xzjC_)iT;Cq)ahdt4cEt#tTxAiFSi-<$-07%*4c8g#>g7; zP_GpiOfpI{fjiV8TFe-UqLR|4o^q#;bL4(dV^5fsiUj3ltuJu)HCcOSU*PAT z+I!vfwW}|+;I8d`nNxFjT6iW=KyTSF;FA!&r=?|C+k;u1ya!pgBXh3H4f7HuxO*JP z9_x6zOpsAj08tgxUG@6<{eIy;yft}h&hA(FogUNu)S7oIFdcQu*bA9^AI$&M7V{xg zsDJ-?jJDBmytDhMmCF>1zJnj=OeQDqnpU}VixNH@rpBUq*2+U~?>-~p&eWN&bmRA& z_iW9Tfasl@TU~t_UmLM)yWom>vEiJ2bmb^uGJjJ?jQ8z6Cb_S#F+jS&Htg_16@xYh{a`IIDFo>g@J*Iu4(oB>OkFFLakG z)%7xU5SFP7m&{;S)1@hD>k!qO4AtX(GS%m7v4%=Ju6b1G@qL!Yn1|XY7it9CYUv4{ zQ?y6l@%|>Go1H0GATk+b`ao}V^iZ?%_{>>85eerzIq+7{@a#ZKu@QOn< z;{XEmycno==JlH~0UNfhz#@Te9}5;-;%T>#rshBZ0hKFh%vI`AAv`>p0BJM*!lkpg z@Resyw3O~VPwmv;>+#5cr7`Mh;qxmOV3Kou%;ul@kNL0teS7hk4Hz9CTJyL26Ie9# z-&hauN9FfhZ-*1}RZ10G_?>T10MF}IWQl+aXVn%89HRN7&$`LtK z367cH@O|@(f$rODk3>nfM_o-(O+wRhllQpg9f;k*8I+3K`;mP7S)aaeU0#XkCkNRt z9>ez9cjd>u-b+(Ym+oRw?S9D%;8j#TjsO<6ERjr9pj?)v6qq2Og;;L+cB~#RjURFQ zUU-99qi5)mN=N4SF{gm$5C#S!KB;<4rT9>34;d*ove z)GSGYfojhQ^uo5l(kv`-TII0?2HNEA(#QUs@J6LMylu2-OBkOQtwxn7hi4NNFdugK zaEgzp9sB5iPS9qqmNDr5i|6~mEspD-qZ{KcRL|GFor?x`FRtUNvi(}D+_C2pDUCn= zMh|DP;0uv@F9Wao>ECz$S$?}h_4`IRKRhs6X$wag?ob3ZDQh|)LY#vOwec8dR1`$Z zTHn)GTHdkW@v(1zciTUGdI2%@^3+_xkG+7uuyf^6L5zjmN z9oMztu$rMn0X?v1?p(~6aDWD38DOwMmqXn5$*X|ZgLmy7aeu9cUrb*?^L&8@631yIluTb@AFh>qj+a#OhxK;W;Rpzg(|(f zMz`#*<41={%GGnz{2+%tmu9L0fC#lfVaUwQB#Kx!3)uS^Uj8`%ONLOA%}_G69h)-S zRqHs~N(S{#ZL|Y2#&EISZ~{s>4#1_1*V~)Kw#s9?P$HkE*ocdoGx(I*uM4q`!X9$% z`i;Oae^_g2X)4W85t3rMb?qqE&Ve&pY-elMHA(d5Mi)8U3|bsv#`#qh601~-b^&8` zP^LB;hbS$fIxXJOTjU)f5TmM|QxRjTsx9{F5}8dj58cZEkt9r5Heeim#Uh9kspIzv z#{J?z@;|`3fVy-y~D zL&~|umwe%(2oJ_AVidQNJw4=6Tu&y40N==sY|eUp{YUGsozLbjl&?B7?C;KY?ryaE z5X3!oLaEg7p3ybmGV{En$8(EC!&6&Zv0tRT6>Yybf99OFDmQ? zMroc(&Ytmt?}TpaNbIJ}akY_~c;|-M%}_rXc}`_XUSV3TU0s-DpA+HDJ1c%nBKHpJ zA&4g*8BDLct@+)<;tq(Bqt1^D&UxNA&#XnG;3Y8TZu&@293$aUJnek@dI9!c51{5b z*{ye4579z>4ejCEc%YuFOdm~%VBUfbSwo4SP~#*y3r*)GlTO?N8e`s=hbHiO=DM1v z)2*8p?Zv*f5Lyid;1m1%UsE@OPOEpYcZ+(rhDSXBR^hu-)jL7&FSCP>H5gOHO&i;O ztdShTf*7#c(d(kC0&J^0p%llxrX1xeE<*uj&*B`|mYSGFW95l__dY6KP7wCW1r^IiAv`;XqQXsfqT@mU&L|1P3b zzf+cM%ftkg_``&;2?vo$$Kk$L-)|A(3PxaCG z6GUpBSxZO*a7gX7sn_Wihg54v=Ec+*?kZ;&V{%zXx9GE0=!n@eIGy@9k#^k7org*Nme<&=rn8q!vvOLky$4tvvc-S!D*_FX?q==9ZE9PZdqwGB*-~(B z>w0QY(|X*9KM6J34XsqA6SQF>LQ7h_;ZyNwF{|s4*kHX!7IDP=wT~3<9{qx)Oc&h` z?gfk>d1N^FcAYqnpTL-^6jGmH_pIGI`#Gr0V(Alk!SA`o(*_E*%&4xX+KBb-f+> zrAl{>=~BncI~eUx@+@Pm#T$=aI2!N8cUotGc2+kcyI>C9YehdVvv=^Pf6sTlf6w0e zJHSoea1Ow}LwfYoY*e62)Uu-iCJ=^*Q%9S*l_xndMgxh#=UIbWKO(1+8Y!w)fL)K0 zrvmlpRNYmEypHgVB`x09fdxd+rLc~~$@2sgLw?JoP6kQ2WF<^&C z%1o^WLAzuMwmqr-wje7RSM##X3A=dUn69IuhQ@+6fCKoQ5y$B3Hnh@`ZfpjWPJ(Mx zQ}K&)d7Y82s+f5{Xs}=IXrp91gI&V!5D<47#~n$e3Rl6a*(YaO{FC|V0hxNNj^PuU z(l(IXVH8TFsA+uX>yPR4efa$P0rlPf{rqiTe(VNaN`tHlWas64o_$k{bl8x^Ru5fV zyw^SFvpG^TH!m|Xc-2~BG#8vxnyKn<&pg>5ye}&Xq<-L7%F@I}l!+3yIm~^iG?9kO zEp^Z>lF7lnYZd!|-kR)u@aEgL;&&Z%Aqt*3h7?RNNmOVjTP{dP6V&5-tA*HQVi zjU*ZuuIsnQ)SLccqniThE*P#SVnox+ZSB}Rz>2DGQIAvspd0W#Mg7z~ zSg;?}NPF=pOvxRcr+u%Vw#$w&cmB=Mps-9@+xwm?=6rO@K3reI{*6w(z$A|r$7cm@ zHA_abz1(X*HxsoBn_QHR9#gS7o6e0?Wa=!;r%^3|rG(3_@a&%{S=ISoPpzbO>~l(*@&LxD?+T+ z8jckXOiBx13)WVdTIY2drj8Z@SW&}l#9OYfzq7yRpJv&2U2X4%Ii8(kxTfN|5ih0~ zB^?%Z@B~31GvV|Od+@l^bU6V_GHk^6-9?77!SWW;oj|R-f zEW_@h7(1iS)xBn|S5SSPVrdj7R7XGEvVXhxxJ8G42A`9!<1?@ow(i0GquKy9UCrv#}Eqa-RYg)dWRF(ZI&Xb6Grog{S11}abT}n z`wsQI)BHFmE{p;UDR`W8?>$uN%;|166T#G&32V;WSxYXWi11S^Vb7ndC-Si(Bnd7oEX zt0tyeh(B@f+XF004~M+i-J-D_^R(K$c{F|@9(4@E3xjEo%trCkCeRh|Mb3Ls+3$l>o6Fn9pnDw8(iSsK$-x3|h&5h8V$8xc z?;UpzjTc8GXMCX0`F0jTnwMpO-wYO$6OGm^C+QrW9;+bH`VI+6+WbZdYD7s!#ReKo zasbFuNlsSMpOj8y8xCBwDA5(4X|7NVmL&_akm{nyT}yg@_!)-9S^nmn`#gci5O7CD zZ%4wpR&q|fd*^f9^(YciCLA=_z=*NrLiXqyj4!oN0Olh4AfMaCmA>o#!=rNyBg@Lx zrTGL5fI58+Cr2?xvYJe(KgfZ9DJ!vb%a}E}(v7MVqDr#%ZU4vgt!F=v^)<~p2 z>uD& zaK-PJFNe=ewL@JXCLrUByK-~?srSK2-!APZlfkUgyZ@G4UhWydrF!7U{5oT4I*U!g z%!efAJcSrD6;=#htNp%}XB_(Urt$OVUuzqnSVFR*e@19>2G~hzSv-RD|Izj??79UFUkzb0lxU%bBO#3vA*vAQO?_3{1P+0|E@CHCH(&s%Ss z$$|aXKGEAZ?(HQY`Gle8a}c=N@2FV@yHbi21Z5*?NH9;Pdq}4%Fzjm z2M7E^W*vIbmlYdo_S-eCQ{R5f+xs6Zu~FrrjCjQ%8@FWWv;>30uPBFS~*oK@?sB000_lq*Sh0RRH$M%^fUtR?nf7*%Uqx$k=P0 zsR-CI$YxqhLUA%Cvylvhf#M-Z1)^+=f-Sp{K96_?bqqY+610{=d3d;Wo7`W4hi0|~ zp18;0kM0Pkg5g>l8JjtBWYCTCmw&$%qA?^g6*-d{+1S)av9zic>8w$3H1hJ_Hpc|$ES0{-p~8{*zbZELJ2aP=`lA$02QsWu`!DhS z;_-NPG9Ppw_2M?t1$Q6?Tc|;)v%v0^*%*4trMLreMxvpp0x$4{)4;^aZ|#&sLg!;V z*lahW#T7%ut5V}vpZuJfq9^^{eUyqKvCt2nKlb0_-Q&LZZ1n1!_ugIhkN&)S{O1eN zeoaT+R@6k`GozBnP+M|Zk1A7U=Hq0pAKv2*I%_O+JD#`uO=(WY=rCD?&0LT@CaBUUg_TdiW5npS z!+dA^dCJ;NH9bpB%mnI}S`YE;H_nWFI#f)$TW{18Gq1cg5(sPRFt@rY=@}?$FmO3v2yuQdGj)$T1WG?IVIPXkc!Ox}xSr1RWf7@R!(E{k|9v(;3e~l5u zrrJxEf32zSRsJ?v{{{KQzdt%He{}+R(ld|a$d0H+XfUgC#91>W$^ptqHevS+Cm_55 z_rxE?Lb$AEdJE#S=4e0BlAjlH4yMqtMSGrA;i{}o!feO660(Me_dsDSm4jr>x~GNI5JV7R5-G673Cn*%V|Oh95fzi=#&yqJOOs71;I?S zzonB5`zOBSl!T-6_r1_$11+euyfHWAO=_#adcTcz4OOAD!2ZKi>OYd%{(3 zcXax*9`EXv(F@qyEqX(7R?4F`MO4A;)O&E@UeI7set%O@N z%6>`~Jh_M4&SU+S@ZTB2`B^zq|jQPu^>Ni^M5&HFdij zrdd^)94_6-VKF+;?i8f0I)?qyH@P3rbzjw|EuL{yh-!B%Lj@*X;AO}nP|IK?H3mB4Ym1{#K6;2Y(*?pl&OlVbSZ6kU;pIov({c`6?SH1fPjbOwHH$ytALLSGATo|wgj%N9srQ7oT^A7>R^4O1frQR zo4QS~#W*7rl8yTgVejSzA4OrFN5eC!c}KihB;`QzVjSH@SMT-^9`Z6a&Pq7SoLA;d zS){ljmNgO^s|Lv8?V(W^lZ+EoPXRlHw_flW1$Ll4R4A2%R1SIP_Y%w*GcE7F zdXM(2n~*LYM|fXC0oZa(c!=(LJpX)Mx=u>n+5+6n&2@gM*E*2cu_`;puA z8bANF`1|KpC+vFDi`cXO1zcQjz7=n-0V^}_)mXL8W3xGDbg-Y*wA#n~6NvLc&n7FM zT_G{I2B@q^3kn)yhX%~Es=3EkX&b}dGg^^RB&!Dp;1@W$@M7Et8Qtg0+R%3MTkpje z#7KlY63$CwYdJ>4==&m*){6QSYkaxA`^{cfKfO?|JbZsUBYm__0Wr@}fdmJ2js}&e ztC(r$cL66idbA@#o~JMFMN05-_HI@M_pEtStIBC{y*hr|s|Vv+B|0PpEtDf-S~Z+( zQ?UBe*Kla#QYfuebXETtQfof;Nhw=1HR#ZT{lOR>9&(rxi4WF5!pd?`a7zR&fH-(} zahO;QxmwuPYVulMJm(K~%oilr%ASh`xBq0M(V1&t8W-5fxz8PQM{&@3)KNw#Ga2mR=LRO%gNNE)No+IvQ*W4A_|ZPc>ey+cye zr4lwSP@F{ArbI=l5|C$x%T>x&r}N$vpR2myu(V%d(_qtKHWZ%f#>7|}@;pOT$--it z*(6sLSLa@Rc0sT4wL7d-Y(6^tF>aoXqG>;60kx5C&AQA@cyi?(%x8(EeN--`7Yxt( zB*G4SY7RPsrUldd_dgyAfZkYrTd+BgZ-4K)ekJEoAz*D|aVa&qNhC<%wMCcvtWMw* zr{v7VXi`OKTa)W1*82wBx!)d^FPy zINP0Xdv`lQ`gxcX*6$8zgtC(ATf9F`JT5>TVER%IZVohy#nmi*n0~06!cC^$8ZUDJ z4ASoY>#w`~icT*7s*CP|FY^)`!XW+JmG8G!W94}Da~ak;s@Yj_Q|47UFk>d!fq9K_ z05aEjLc~-DSQnKJCqY?tk81I81Lewu{oy}iwn7u0;%{XtLzi{cN1bX<|9k>31w_x*2EjClQ_7#wW)0V{5E@HPpr;&zn1~xCEf*?x7Cv*zx?LP^e8?R@JI!w)l%#^!u0|uD+F<1^VabX z{B59f)zjN2sjP48U0z`^VQU!WD6&=sDXp1vLJ04kFe_MP&ZP^C%9>pSz@3Y!9Hpv- zd@~u1vo)TmHBO-&MO98P^as1oU(cUB&BpA*)$wg7c$%YJJ5rO>${lX$U{)*!M+wvm zGA?ycw&qGDBnYJWp_ZKxPz}WA(pk_zSZEy{H5zghwF#EdJeats%ZfPz*Vz%y7u!X8 zMYxUjeOsRL;U^NtD?Vp$Z)W!uSe#WBa0+#n+%)!wbmmQOe#|*))~jr;m%cRZkn=za zaSX^ny|*0w^N%aJ(@$L^{i>^Hrhe5+>pN?WocU5R#ea>|ay|$j3Rd-DRu_4Ytx+{BetEU8^xbmt8oYmqIq`sOJ0@VG2 z%zfMMYDJ4D5V7MuPgF}ND%Foq?;*2A8nUuZm{)p5<=KD-+||2#>6Dyn%Z=-g8ayY7 zz5e2>?eG5eCENSb`}IQ_1iB<&$w+s*(!o30u7>snPy9YP@Z!}{OYr^Ulyf!pS!_Gw zN|4DDCc?ztsbD!H${UhGG_|G*)B_))WffO>faKhe?A(p!vQeJ{o@mMEKx z32%4`ViP_?jb6v@hi72YRk02t(F{I;HI0IyE^Q?-@e*~^~RDBp@3;|BoxM&Py?On1UD7IU>-X0}yaVEpQ}1awPjs08R4*S;$4LNdQ;mk4NvZ^ow41>>q+2^4eddllr^sDho^{C)?NZ_$cTO&@|3L8emm0yOH?Ai^@jol-(jjYsrAwnAn406bRQ zzMpPS-qC7Gmp+W-7u6B&IB~5XzJ6@}b)HwekP%l+qZ@0KJHK}3Jiq?_sM2@$G4^0@ zd+Jey?fORN-OixGxrbJykhxogg-wG>#?Xd4aA_cB9_V=}v~CSqXv|OT7-I=5dEqg3 z1}#V`No{@G}Yb@yk=O_G1_ zM8|ow7Wv9CpSRPz=im(Y9ZMke1{N1_%`c~BNFso8vLU~=i1L8y$`2jEAE%t^0(T)_u`7ZDI-B+F}+~>OeuprLs)NQ=U9b7~e zcfrX{5^g3*S*s@C+Fq@|)1&FWCc~~M$q9`UdvKH%U8JHfH6s_yhi9=Fz}&H#HiF&q z919%;mfQgAmae@zvndToTSWid@{jk+zx3<5k#AR@M}1E3mZBS_I7f758;-G4*n*f% zgJCg((}fc6(;Ej4$P3^R3R4n4Kk$fNFyEF}ek76J!F_n}%#yCc# z)uOlSv&eVI)xCE=!oK-N?bf`nM!$A{5k)83B7t)14iFw`q%vqUViE%jTd&i2r~uTg zVS+~-PmTbz=FDQXxq%-B^paCv*Z3T~Pu@p`VM6eZ!h9((enfQJ8SO4&5e)-2 zk^6eMDmGGk;$Nu;Dng+K(^~0OY1YoDw$~CAE951F zUhR24Jc`9LA9GLIiN&u!xiDA@$mcqr^3uF;WWIr<`_t_11^ zF;A+7D1iWgh)NRFS};RJq?R1f{75Dk^9T7_3(O3>`h+^6rdmGUyWdf+l|1L%-3z#7 ze#N}8a?bRm+Up7xkrb{f)XQM~W-kvM=#vyH?}`uN!~1)F7?1YbPb|@1ulp;$f8Abf z?_c4>d5%qzhz|B@ARRG4SjlWR%`J};#wzuKd4}@=2Y;zS&{1?v2#{W8jjNWa`sYU# z-Mb>(6$daYU_v1a)~?H=M#n9!ttJcGp?N2%D|K3JcbW^i9MMmzLo>b#Zaq@nC`?aU z-7qPT6jUTGT}BuwNQ;8Ij!2T$DltBvCrj!)KX3o=_;p`@Rs3$#O=Ptv3Xe9L+0KdX zbVo_Ft!5ZgD}DyoF9}$T?VPv;CF)Y0CrdTt_0xZS{4JjA)4-s6)Y}C@HV`~B4=GjF zZw6XE2m>Lz<*9kYHFLW#amD;yJ37GA+&<=CRsGCsZZhR@_%;vM)J6=OX$X<5orH;~ zpa6veD3!1_*^1J|gy^`HzWO#_WtD-jmgfD59^uCyoT+Nl&??hpdy)2^k@{_)Sh=Z~*5q@z|o zABAc>ie;|#O>=up-ftQA^I~3;s#i&qS{QZj&X?SINNTExI656ZXTYu+YFKuFZDBp> zxy>hFNKeLPIJz|tDOcD@NhJOd${=E-6K`AW$)QGKu!hIy^48PnEHDz(7cNeGR1)G; z#X@N;?uf(`39SxuUcX(aT2~Z>M$$m|fucTUh!@K#^m~DKw~jvd%ctLdcKMwFAGo;` zojUnM_oB4a^_kb!nCw^I%wqeRM&;8{D|%hyoW3Jj0X7^5Md^9qQSIGyaqS}g@XNl> zuY0z5F*nUplFc+khw>*FT?Upa1o*2i#T=Y=IJ^$`nDq ze;v%94VZ$MI* zWdcEHBREKnRH4n*5fhYFHo$krF&fpZ@g%6ZNGrz75%-?=`?LT080QTl{{7RW*{-fy zZp&L|9!*+B%fi~N1v++&K|ZDn$`WEVHq2KmoZMy?#AtiO(ZU6ecz@ObFOYzckhLZV z4bcrn4ao#(Mq!*ISVKg8%l)cY^OQH;Ym^_cE^a{@ZC1kI+_PGF}}Py+D%BYr-COkf#uIgWZvZ2BkjvjpgxVv zS;ENOI9VN7py@D?6tRaiI9_rmz z>su_2Rl`zrA>G=M?ua2z(y*C#|3EjUn!KsA=dW0x)ZJGWKU?`0Kty7rq z-+wye!(D3?6)$f?~E#wni zwM=!z#agYmOwp@eL=U(}>Ro!-8;{X)Mgej#sHD4{1SHk&1M z499KJ(|6M~F&S!N5$xMy+d8eya3iB}v|W0(3YRi(lDB*0>JJ1?=A=6BW5DkgBVZ`m zQ#813s08J#{EyckNLP_EmFv;-Vk@?&c5^|(J?8EL1=e_n5#2C|fptY~STLL`+0`V-VRE82W`6@T|^tqQ;C$3w37hmytC%nDhwk4qfZ*w57%L+ux zn0yc=%`i|K2j>R!)3M`fn&#&#`~i|3tJNo}SXi z^YJwW`utQM^bxD|)f~s7`5>*M(1mAbt(XcNW5B#L9!NltSYc?;2GCosn9@oFs9crWCa!GN~Dm(imzdEHHeo`4dp$9aO!K1ZNwf-2G7%*# z?3Y`SprLW5jO)^HaH;S?Z7XNKid_B1%}N+}-bC|0zX?DYbyjL4cn?yC@b-EjM15Rd zUI~rZag@MaD5h=lEB7S}I!RG+%PD6CKvJ_@Ve7A3{(9wEJNMAyA=P`Ir(imqEN}6^ zeDmoM=ZU?|heH=gO2$Gb4N#eCnc&aFqjipKS700Y`}>J)?CzHyx-_>{9xc6h>DnDL zmMFOW%Oc5Imb<*DX2l|NH}x_8yNhdxh-;+`D{tGx2q~8-s0%0F zQ8#1)8jz?E>l$Ne1}Ki$N3PU@U{>%LC6$|wP3pbQ3_;PIZMneeP+63WNv!Ia7$VE? zNF|M>*rgtl)dJ;(02MYHn_#Mfl&bzxUX^9Ky1RH)cdF-@w_Gw_mX)&5+7=BBW;yvmoacPozMO{3;av$^tpR)h>Nb%WnWHn5NxWjBs>^d%ZzvfmV%k59pgG|^qraeXAD=5J3u5B>ePU+>`QJpLUNmS3New*7t`xSVqLEDpo1 zN;5vTbRDI((dd^jmgCUd!TvXez}tlb%Vmf zRp(7r-v9o3?1{|ca1+ zag*MiG0dtQU%Zl=Ql~I7#ZfC@^zV_12piYBT_L%wK+iuc;RVN;zwadlPKZ`;eVohMulWDF1NqWj ze%*?q6}_9{p;#9exvTgY3qn$Fd7g8xYA~o3)-b%ftoC$SN;N+|_#T@^P{uV7YPZC!J8evsiU)#~~v zQQs8}NJt(E!cqtf134hgSdtvJ0?y{wT0hK=IvL{ZC@qrhmbP%D5@N|6)-)jczEKq#_w}9aNZCO*{UHUlzYd} zoc9q!?A~4x9@MLuMyl_K9u4r-%r5tks{#OU^}`&j<<7H;PeHwM*L-(H!2W?ih1RUm zdMKk+2@?F7&vJJg!V`lo0#qP6vs!(nFN?P4_6EGN4`jt*&%anJLvEIpj(QIsQ!6{M?)?d=0P38!+(hmL-Z zj?3+1B2$cVRfpN|{ej=2B;j4}E_3HDxsRmqLE+7~X+b5#F4;uoZt~{cBf+s~m8UC2 z4kIkVq^4v_=_Os^43p<#4($TnSKWE;Svev+Zpy*uR|BdOmzz;mPbGf;6vgS?;hZjo zF-12qxy`&QpUR0f0-`-CPyA-#*3S3>u3Df~z*MeIiLAce1AHv}?B9FgaI~jF3k}XH zHyaE2i+Y>8Gu_^({dUL{r=EO@Y^!;xxN`Hm@6&K(&e+bG(jOrn0oOar?;N-qfXDNL z8uWl~p1P|VX3!=+m+blAcU!ck=ji=FymF9X&ux;SvNM zs@;LYYt5?Pl)3S67sM$Lwb|W~weuw5qHAQ0$3(D!MLA*F>=jt@g_s*( z{rpM#9_MA=kH;blNYG1hvYt9l-U2rAvq9eHX!gG9<^Y@I!!~(q1JrXWdAe(+kS^t{ zxlv(;g{AS!cDzU9h;@%2{qT@W+CGcReW7r{KDeOgU8SJtW{wZK&#F;UHn=6C>+C2Ut4l=kd8o z>(<*}1QaF5oe>dBnmgG=;;E^8U2;bkdM$6Uo4XSM>ZNCRJZo}d?YUuyRPwdOUzI{7`NLk`oP^w&&hD7B!AQb zedz#X;-Vh+2v7_HHwYo5T}mq~97B{-D{5Aayt>mMvvWVl)Xe>fcq_1NBx3L9!lw`rZ7_NzL@Mj0diQ)vm;Js-l+TNN;v)mY-dtiUTUOZKgPjM@np6cfKKHX_Hy>4Nal^JJTN9g{!*@e+TYc?_S%`NJavFEG(GopV>Nkj%@`!@H@g6{Tjwe8iUx7qB|C z>2z0GQ;V=?Rg_M+ycCD0P~0+_^ReyCtJlD7HP4cQ_M0Vy$~l9xs+PeFXcsD^u8P_K zKwR1edXk4d4(?-uL$M)nP*Oy_ zMUUHhT0ccK=dN=LVU+7Vy#4q{GNDc=V12SuHFayikPPbd!|sI-u8XEvqxg^nJG-{m zcGk#`_iF{haRkK3uHNF48y|*q``UlH|Jvp^CEYH-Q~9jSAcw7{U~*=?IX_yzT99+g zY86v7YR)TYhm_ExyWg3J3&|~ok<1cG0Fq+C!3-W&4~YfPr+9`N6+D`yWS3^yPjuFd znz>qZIqd@Nm-4zb+jafVr&VukcDQEs!c5tf6Nw=s@m{6$ma@PAGr+z-?c=1!lH%OJC$QLarCCn_1Qz~`K048;;a5em$MJ{Usq*ho5 z4zObG{Wl%ceg;l>J+ZeSow)^qQ`5lc6g$%vAKy13(*3|&4+LE%KA*97f+sUh=8(Nu zY&<26aI`fyM;Kgi)I_WN{`$+=55VUNay6`XV0VGs`Fls5f*hnfa93q9KmCX7JThs_A`<<^xmA% zejZ+BYKMn&@8*4Gp6-)pX|`qm$tOpAIHaB3E^Pj`V#|OaJf0T!{atB`)&bJCr`v_<^|8WX+ zz4CWcz@amS4@V{k0bse5VkH;PhNvmb1#Kr&U!&pZKbP*&&h!)sCyUoC^c5L&b94&U zzfbd3U7r@+GUn_t1b!C%Txf(f1c6#t;XFQjnP!(N+g*2MJP3O3K0f}OY)yeR=&f`# zZeTUa-}m?19DU`-&B?XSB*#RG(d)N+#0^Rix*8Imq1Htda(0kBQ@6_s1G}Q8ZrVz8 zfKF8(L-f^ga)=O`n3HDcRJ><0)SHQ2DN22>lfeGs99<;c+5EDAz>9aoSqw{F_DXKn z+!>zJ6>s|%emb9AUvK-n*7x&PTm)`}-KdC*w$~`SJ2-K~SZ$?R&0;C{mV<_uU#!mN z$!Ww%bu3(m&(i{0?(fLo8=~HIO;bPEKl~vx^U`~xWt-HdxS`YO4B6Rb0+L7N*b@^Q zeAtANV^ubt`OZUi&n(I7y8cE z$2CuGD=5jT!nd-b5Gl2iYv={FPW4xCOnD6K#~pU-hiIUO#AIpMGZ~^T8k=zg?J*hX zQ`7vSOSKAvdjXDHluW!!G(Y<@(gWrNO#5{<70v}IoAkQs6K=HG5t==_JbuPT1B$={ zwcA5I_)ug&3+~4L#lM~(;mz-2Wn5bPGP>!4G4>|RKF6;z4ipRB>+8&eQ*mnKd*6fk zr?=iamwN23>{9M$*UaT*J?r19#ZxY{?UkFp^A3A)#RZC*Ifm--IhM(zhS$uCoFRJL zQ?G830aoTMbQr-5O4oq*&ntimmPne_r>dYd8%=i<&v8FGEFHa`l&Q3q=X~o(%sVJh z{Ta7@XMV-N6;>5PbyuJ2u-Y>}bmVm@den>&!wS{#6W%MY(w6=^K5IoJO?Cv(^|77K zP)6UeLTdwDaX?-j+T4#1*d*jQAB8g>3cbdX;+U}eWG-+6%63r+Q2~m-yb0a*&hq5* zMRFZg%W47kOP}}tSU!Q=`ypLNpQe_zwGLxiw<3~Jr*|EI(?2N}J?VG1t2}&yMT~i0 zlsbLQ>F(=ov6wryXgS`!Iu_AYN9?ydzPuvRefyLYp!30&eLChR^_j)H*wy%=K+6xb zxw>UY9b#3Jqa@BcT{B$Bm+!NN`*Fn1dA_qp_dK?NXK&Pf=b-aEh%MC{5ViZ5)@N(= z<|7){e1syw8Yy70bs6MIV+_pZ)&lf@@bWMH?6LFnP3wBx5d$aaWC|`qt9kE>~kT4@h>>jn%B_ zzLwxw(CNq=X73aNTa!$@&PV;D&GY?d?9P-C&g0emC7}K5{FJ+o?`NU&a8kh8MWgb1 zF0)U&M*|{;cQ`>h_LEQ`pjydO2%p3;9Yc#J;ij##bDwJh47nZxu;qo}LS(>1U!Gu(FuS)lq8dDx1a2#P2HyH?2U@~u(uEIR>suZ#x}e2@+36x`~ACz{o`)%bf0}KZ%?-NE^}o1 zazOg>wRO=?rOfdM#R78<&b#-tM`OisTmPcD3QDOA+O|{Sn(pI6+M3UM3-?jX0X^J< zB7_r2X*MkKZ4(eJl#f`8a<)gs5rM3 znBOTDe@+kS{SrQ6&c86g9&=T33;-a$S}NmMi1~`QLT=b;JAf~P%+UtXos}r9a^2CO z&W2YD`Y^kkwS_b~q8$Be#gS*SAHUY;&iBfS^Zh5%+o^_0)dMsK9&rvGicFzlox`Z- zTzDL#zM^$g?pHC8eB-j4U3+)kC*NWV zJ}h-fyDO#LaBeM<=comdpL#FCTj3y#4w7Z>IbXFGS@wYr>H_kB+EeGt4m|hY`TNTc z4f(h6Y;@ON4=!M}jZWQqat^|4usnq$e&4P8;h3Z3rm4mfSZs~W8Eo3ts~+(LvmEut z(|_S}fAf9A_if9Ldw+p2!l&v1I}c9LY?h%s;gEU6`s|q=q@yfdV#1MF;w)1)A1AsK zEq4(8d=!VYyT<~}BX0c5D)X{~uB7XS0XW!z|iexO$3LeZIG zqyqPW)HV;&yoV}rWvH3Ad#qR!7^4{*D6PRA^(y%OOpy*YuF?t93Q3jSO(57S&2Uw5 z@NVhvcl^+`R_6obIcz5eL$WyWGYy9g1qzOUFxg2QClKxQo$jMO?L31C!LMIL15R zMD1$8wf&W*>?r>=n?D$d;EpO=JcGdBd5-zse_N|ukt}jQ1A$C%65v?CA^3f_DLO4mmLYqxuu0Ym+Zy(9^;=3@te8PXBobT*_DQ+60NDjGuuW@*{ z+pc(*XFJ~Cf2-&u@B*G46l+TwrtMtl6C7j#Iq>m0B{GKZV6S-7Wwv>0b zGguGzIfE@o6-Rd|3K>QUvao9_4tSr%-NrAkQIglQpVwD~JA zC#~(Rtmm=!P07G3;)O4Nl3iJpyW~a#dkIs#cKRqwTOW1Tr{65IJf*C6s!35&Z6U9A z3Zy{ENk|Z@-RRS%It7a?hpjs{#T75dd7=gF`hf+!LjJ70knC~y87Vb;22MZK=L}ML z`*x^Q>BFj)OWhB;CPq6Qm<+Kh@-Bi0pWW0uM)G_Bk9N$A71<&EFeo>Cq zNM<-ZJZGZSfraDfY2{kUP+Ew1yjmOIkcMoyOzYT}{K0fU#eI01fKUJ82>_&opaxnmx#~$MLDbTFyqYYmc?653On; z_OjZ2>C}aHae_?>Tyy)(t_uTwEHj5KdOiBlcyyI;a~@*{Lg(VFdEGRpYr2Bra2&m4 z78DBj2L2xZ`GV!|wXwRcz*C6WZwfx`A)aBhdMiOEf+{7HGAGr%S2W=rKRHA+L&f>xR z_Lq51eS=#uT|BHB=@kI0WEXo&TY3=T0L8s$ANXO6PiUNDJOOAX7st+2mN08^zuUO9z?5&_2GfXSjk2!i)ZhC zFqY)KPVA!vUE6*Ol)LacST7X~A=_c98DCIukC?5ce$fTIhY zpZro0uAYc&h;k-lGNe)v;CkUf+jOR?PNQ4xP0G=XNzZGjVx2_}wC-!a(@z0bJ!9;_~PvFl~z1JoZjT_H+D+lL`1y1tG3o|fdy+-T+z6YpJ$Sz z=^f@Ly1v6ZX=#;V&!R5*6VCgMHqUh0dSPi3b*#;lNmo}6=Ng9Wu9 zb-1qA1m1Y#IZH?PxoTS%ESFlXYZD#J-TWs_CKc9d9=){5#9)#hL65A!gcneFE z5JjO9C$P)U#9}zIat4uT#nCPW(e~basHo2=A$6J9+-WE3Xd26Ehnh>R9YPaO38Sux z{oq+9SBEc{p@xCCkwFGG?riA@!!Gv_4l_I+Y2g#)iz4BljBQi$P4oa z;JReok5bG@SNd(fa|@X|g>HU?+8afH$FsLBWqf9H7dW8We8KN@k|57HKjP;}O}4$M z){Ta|0jhrV^XAR(8>P=zd9;JZ;^?|pW}wtFmtnCPJnrW1-G+TyzIJ_W9dE?rW>Hw8 zL!S;FuW=(c+KQVSDHZIjW1=y&6_tbTg#@e9@#lGjV5H>gNy1Mo9$k6)7$IV97n;f=)+ zpmqRz@9}}L9CBGfV1fWwA@lNrD!LP*Ni>ae>ihN%vhQWX&QV%ay#hzS-(kZi;H*sh zJ`Q7zn}LT9EcN&ROGP?vp%M(+oS`3 z)r4Q($&Aj{H`%X;{ln#fN3dKz@~(JxG>e%(>S2(599p&Cb{i2`(>6voX7$=k-ZJfo#1#L~0%$yt~sgEA{NSna# zzAy7|k8UeExlPXXsv_6g@CInNSsR{xucIs`y;UWlhS4rV=-7+zck|KuWzIK0c@Hi) zze@VSL5;7C(3rIVaQ{g;(#q&wT<;wHb68k84OtUQ1ep*K4ra)XA;rmdT-2oMbd*-0 z%mkzbR4a2Du%IOmyQD?nn$=bxFwoFdY=cM^v$xm)9J@~e87mNJDCJmOf}eZ21E1A9lmFT6dt z_nG^r_xtE~)WriD(g3eW^WW+*Kb6fD6YQ|{BzGX&wtDunC(<_`ZZCT=dr2m1B5wPn z-pqt`Kyxu0E1c}N4Rq0)Lgl=lQ!Dy?4o<$YlH)b>$U}-!ztXJN7}daz;=Z{rxU09B z=|NfQocK!6WzfKn8r@b$B?R3iV!6(tM(6mMu96i?+zyI`{b^RYJO>~lAk-ginen8$ zS-K@XQ@9W`hwzhql8gNmWb!kgeJTsU&7`2bq4=h@kS!9p zinAPcOt0ee2j7o?TL^oxkZbkE)^0f0G-ts@f|4COw2T;TtO)nP3sw%oEMxLhi0WSE?d>Px$&-u-NMZ0 zML`0eW;%(9^n~IBT86DA%;IN4niKNjXUn%VZnKsY*s5%5FUzK<%zUg^2C_5MP?AeN zUZdve@zYy)vqeuWC0s^^Ue>tEjtDt3PWP5V3!uH7;ap>-=c%TR%d32(#%5TLx94m3 zfNETQViN5L8|_rM)#?oFRx9QsQCeDe*p+q~4e3&8KmlK?g;i_eiJ<@3^3aR<`{Si1 zUNIu&Y33lr_w*it^@~;nlkUruX@1neSEg#~qZBT0(ZSYoPyz`U6PduT)^|5(pRDV` z^Sw+*`%RsYLxFTv$e}j}2mjRdtd2JcrR~hnB$oPorFWn8XfF9o>I|Sd@?jP34wDz1 zJem|q2$W<8HEaMeuqw=OVxl@1V4+aeJ>Y8H^w3GBVT8?jP(p!OUz!8U`b;l5^_4|1 zf%R#Pb7VLTTlHIKksWillQ!>dnCE?=&A{BZlj3{m-u-$yKbP(qnbRLv&5ri8sB8Mz zEF!4qV%s<4Pn&B;tJb~*d*h$?WA8Wb?|ILU9Itbp9nJQA@0}X9n7{lU_GqWMJo-1# z?NPGRhby2zQ?_;w%ahd_A<=xuDL2SHxD$2qnVtqciV5W#m$-Izt`NCXi*Hm6&zdR~ z&7A85XchLZXPyJlF7l;Ux=e%n$}#n5TpiDRR&Q`QO$nh=p%y&K3WEBlF&k~9$-d&_ zV%>FgS__16J3B+Y@I{#?f!)?!2Ad#38SN(Bb2_iXzIhWY0Yct76}tM=U_>9dgYk}#ZFwdcRv_dqMX3KFP1BH_{4-8 z9F+;h4)44YYQ6HE8gD_*Twh}D1Yg*>RL%@JHHu!PE~V~4@=QXkYs0*fAhHivCy*kc z)1>we0!KLM4sRh^HP*NKxf<2vQjwbmgXKbrzq9$ zO&5QQ7wr0U=P)z_r~;T!IjkbsqCyu4Sm39i-D#=1e~qOa;T^aKt%|Yo4$R8EI!zR2Lp~lIF)K?`#+Vaj(E4M9IhkEemF}idc(->2lWalgfD`ZA2W+bx+VP zj=1KqD%#;}F@;R)$f*-54X+WOO|vvby=zt9`n>euVtckg9ng#JH1D&a{+SBCqLLTG zoIC35jd1i&3&9I0*U)f*9xtf$;lFyR5_PS483;jvEaJWG=MRWw$&YiwT^a^G@?pO^ zvQ@=f%{OcQYuKCvdE@V;W^vBpzVGqWNF+=Qy;(CsP@y-)8J9D{hXrU&tHH5)xw6%U z<6u*{Kox3|24$B;rIZQdN*J#;Oamk}4l8J5U*t4+blTM`^A?L!yUtb52~LV)@iFC- z<8gQN-YihVNO2k*=*8gOChtd0Qby`Q;%6W=QG=MNB34hPK9eS!ILw^~t59?fPiM33 zoyC@ZJkK+Cac=iCO=l5Wuvj(q{f_S)dI7hNN*a)0OW8X$tiZtMmHM|fXGeO1EUtI@CEiYoD@0 zbg&vSksOgCs86bUeR@lLV%3XIZ#=HEhWlSXW~5nL{#D0JqM`db%)ML2n9CzA#x(BG z);$l0&@+%F5+tz1r>1U!uBRc=7C+&H0{w>4KA*9qZcMa5TeU&0x_jRgUv_FhHAX&c zI;8u-lG75GG5Piq`m^bWz{YNP4w;xJD)y}F0>EIbsVf!oqMUQsA-ys|FIikhC)iY? zeDD@V@oF~hMai_&?m6Aa=qD0BayX!My+y^K{710QhfMl z2gGPEep!`58|8TkU)0h&l#e`jkt+;%VZdRL-=8mtb!!t#ko0vZmO}uvWrp^J>-Bn( zKm9&$f1Yg4oRxE(5c*DXLc^7JZ0OX3+DccH-jhlZSn7H~z$#MByF?YyDMA%C3y}~Z zh!Hdah6@WBR^+`ZBg(W06C@EG(I>S_smH8iq@fQ?w-nqwO)vav7_c{8>0P?Jmrm~9 z>U{4IU3T|<@!r^Ea|-Mw-Yf*y-pVIsbPUT|4&3k0(D$BlG#F^R@oQZiLi_-||nJD&S5j_tHJ|JV5W2dF*ST(a&9%o!Px zBXP}G&(JXq5Pn}+En?5|MgJI;s~Iw{kXQ9vspiN5=tM&ban6b;S?5AvDB5crLK!l9 zf^GP5dYYfZi}TZfqxYI8Y|=7u#zYPqlikm2<1f~4Enl4}cWJuG*ilLR7lIGdr|)-JRAR>e4xU zoSi&_-9;ktiPJ_STUl9}mQ^H%->d<2~s}K_3wGAe8=#8OFnc>G^T_pn2DMeFRq-}LSZXSX6)LN zp7XAA>gW$2A^lz2`xAb;yZ#8eb=tRZfIH=@&PBVb`4$vN!d+w&jOzRb&o{N&})9HFiY; zMWWHk6z98j;T~-7?i(LP2e+MKq|6^xOYN;=S+h zkIQ{BHh9Xs$Zb=XCrvA(&rj`QkI!NRB&qok?*w6;&=t*@S zL4$1CWTqKy#{>sx@O1P_omSuR-S*v|`8o4_;u2goCJz~wCIm&0(`pryC+8Pd8{oY> zdCty}X{GkdJ*%qo*qP>*$EJXcsa~A^mXDqRJF~~*Nvf?_n6rW$%qP66192{b#d?rW zUq){ARQJ=Xhwjuj?|vLM65yS2;_R^Oj;b7@8XgtVKTdfO!(SNMHDKZA#j)rDI)1p_ z^!7F9N&vKB)JLPXGCYx6pxzpu$rp3&d>x)D<|IIaN{VEbg@W*H=D11*;zG$lo6XJ7 zcr}xc;x6LV*rH*N9E2OSlVXln0OVCF;hNr#@L%O%N(gzEkxaCm*5>L%j`!UB0 z5?$@)lyaFmn|8f|#xlJa`PQ5MU`%Fg_Mc3}hU^q==Z5bN`&Zhj_|hTZ<$UMu{!3cu zNzyxInp%@8gd&({1fme<+52k+SX{4;2hE3yvg4yxMO`Y_ob=kYEn)pQl)$BKVGc*H zDym>KyDu=*70O}&&{*laRA0l4fq;ab_qUvsEw#`@wfEAk%KWG?I_2j~n=CN`dnP0{ zP)ZE4#*62C@5lemW2W=^FkZ^!Cs^>0oO1lIlbzG(Iy^RT&HW@$njGRsAXFn!TrRb`V-SW2R)w@}CpvHU6iPvl>K~i_*n5`A`R#8RKi74K zBf3)LcAfg{HIBb(UmiJvguLK{E7a<}2b7h1#!Y}1e(R+Mzz-)j6Eee%Xr8w;T0yA)t)Q>IY7q0dKUv6n)hNptpAqZ$uSXGdTh2~ zPTs<44OoX#!5Tw1vh~Di5Uw!c%8DBoA*8uPLu@uaY6@k1 zXGcmltcsLMG7#z+rW=A>SQ2AoHn{qo9HJ7rTGWZ6PNa-riAo9aGVQu9aExoE5y>G! z)9$btS2>QwkJq|0F=_+oH9~d zfL517B66()OUROU`v4<`6((#zaoiy-&vxxYXgi=fAZ8=aTa}Iv=b!MS-xV*e@+O{T z^9Z@&>A@QYzWM{eRK-(MmP1)tjDS?MPpFu%23dSQU7wA&Cg(4H$`7p?KsU@>%wn$M z09&z(igBR2$CYrF7uWgJ?~dQ)T$W!OkEddJFi7V?XP$pX+S|op(Fr_|RF%K-a&G;# z@t51TRo}bc+Fj0>btgMds0lxOMiL#CxMvZD&E|WDS*|GWghe4!n=U5d(#^1s(v{C7 z4G9iFU9HkN!9TC`=*P81!j(lg9HkIPHbSLadXLa&bYoBe(7-L z8xZYF3;8kGwqyNpZ+D_+Fj<6BlOQ|OqR$$&VytG|1Dzt`*-}8W2kgibvu`TG!W||G z?@RyA{VV?Yx4pml>!jpqrz`mEc{%XU<};RYe2$t31-0EUfOuohxWy@%ak&U`u=BaO z>LWYd-_88=dCR&F*>Nclu6mq{6d{1^U6VU& zCyz=0X!X5U_y;u$d+xiYSMN9Z#C@!0>`$KN`>jB3iZp@CzLbV3W{puX6th~>;^I!q zXf)+!5mQ#I4WP=drVTC1+M%Wxwi>7F;w=v<)S~TNqjZ+*P_otGJ`eY+Nm1YeR#tDi zDRIi$Th7UMa~6KV0?5shdJGngycQouO-?R2mV6{gFWT|G1L2Kh zVJYLvnfK%d*PWN1knn??$$<0O#cV#EJ-&FfRTqX3pT=zXxwY<}h1sERI91N&K9J(< zdGy_TieR@Vq?AolB#crOr83$d{QB#AKIh}jjVK?7#2KC?zMHpW`Jy_oB{`B3<@vjR zt4qvaM4%d#dC7b(+B2X2J#c&?TFmOS0o(1P{6UGe*Oge|PjRq^ny0xMq>gela2e1^ z6SVkzQ=zR*Zi~$s3i+IPuTDntF$?QL`Q?G8EBVQky?tyQPf29pS~ry3n8;D1Ih<9a zA5Hx}!KCu0s^hA_q;FlGQfAQY*Y7|6{X&wzFK;Dz3ixh&`1+wd+~>P|QBI%sqO)Y# zfa@laDUEBFm?x;XdNzyF0&Y!2=a#x4H0+)cng`lN5%F@)xudQ%>-8G39v+mvebKR2 zDkfVZ%QyEqj}Toznwub|i#tu1MhZmmLHT0JN;S zx`8Gq`ctG!fX~}nJyU^B_53`%p|%9;H9+vURz|IH+;%)+Jd#4v-U-nV`JzIZ#Pro} zWEZ_}H%|M~_lp8r8kVxTOTJiLU{p~(t);FBW6+_?<2*aV>qpV%?Vr;V99Dada0X-j zrQU4okO;*LT|;cqHP(sdV=@-e^iB~aaDAAS6BY#eYzVs__5g5aYyjnmd}8d5DP#x0Ow6Qe2^v!>>u-Ie;=d}gTu zj2HnIIkit+*-y?~okH>DKmw7VU9j%aWH8x}#wX&QwegO-GxOWkJZJd}e?NQF!LyLr zKGzm%k;X&OX0k<9M-MS^*-Kb zTe;_Z{c5OW5UHz}v{`s#F zCDI0oSB7bRp(!qqOLN~J_Y#=%P~&oFBn=-*tkzwJC~PiG0&;>e>fVNw%Ofwmotx|B zmz~RMFBtejqMA#}-T0~2B*pf{m~P88@7C`(Yc_u`y1P1{!sDP@b1G6P#LSbP%Dc#p z%Z=G9tuLX7_i-23317WAo~O3OKR@^+{uAG$lRK#~K1mvD7#^fn@8C^WB$H*WpPF~2 zPa2HCLNw;IBcQKu@FnQ@7x?b>hv}|zs2K{KZ|};A49nu zcJGh+=}saUc6`sLyRXf^!slIAhQAc`?hSrRsQwg8N566V^Y-EH$*|Ja7gg$%W{5Is z)1f71OucIoE_*oMCN6afeZv(cX}qCM5ji-xnejxSQVY5Y#c8~z@?ow2^W4tn1MU?;-;?QkQu5@YU1~VZRJ#fnO2qY_7?zp%PrNBF$ z4wUge5sA_xXOG*ad{o+uL7_OEw|3T#ex`R93o{MueCzZ5 z^GC_A{hk=t1I!RfN2^t#?xtY28103dAtOUPW~KW2>QDHh`tSU{0B9TNJMDZ2TaHk!nJgW{1?>XVe+=m?cOqo1f@tPXSQF z43IJJc@=0GGRRV4r8$(Q@EH(pprsxt&&sL8$9-@>ll$u}*XXTlUbi>BP2nn7&ios$ z&?8lg_%M9v>?arO+h|iH4WuI-k~Eyu(?jvS^BunyzIu|&6AzNlpxnHI<6KX=8=Z0R z2`}40Hmrc5bc28xBMCJlR8B%DfxGFvU3fBYUp$gHUhK}KTn^kNLm&nE+1%?S#B+!* zkg&J)Wr9_I@&FOIz}av%OXD9s`ibhf%99e4FWqA_EhSS(hCZR1)?u{oI$4^dIgwO;42VbbB1%7y?2|q!6oOqe^y~lmd0Og8H%FAIg_DpYIIbsoiV{NW|FGd3> zj(q)-c79Ik{KPfFM)r2hjeF$?$i45oGUQ}Z&JHN_33+L zl!7yGcO_^pM8{Dhu5>cB)thO!sIpn!7;)`KFi=x*fBeY1ng0{qtFa>SLgnoskjx;L zyiZrCyuFVqU;{=()IzFR0~=g-^-!Ls_-F)ipG-0RQ1ETHMna*2I;rZ$nGm#w#qhPf z3I5LaeE;n3Dy>12${;ydVx$|Pdz{0=oheERxv-p&VB^r>+QImN z&lubrBadbCNWQz+*0DNGvqn|i9$ip~EgOdzo*e-+P*FtW4kSj_;vRT6ls$4xd4V^G zjbsSLl+3ERt{om6R)=S`{(+;@@$UK9`sZ+zmEQe6TL2zTwN#Cdmnp zddp>IOc18CpU+e4;s@Eg_2__{b$tbDJ~}*m^Q==QhHY&kZ|AwMbf2X6u+Y)hZ#?vT zlMp}NilC9$)B9LVYQa7}6;c_vWIl z?dxV}9}R!)FXRQjH19UXQus!du5I&V)~HV4Y`+qwFBxrDALMv zxtJdwU94wSmCJIYLM2?|V+u;2DUlN=x2`MU3X6dhS7gi1T&DxejFY4H`JTW{?Dpu% zEj|^&#xr@%XE^SVT(zbU$4%pX?lfZebcP77CWhyw%QeqDJulf#$b01}{zVZR={Sjw zAJ{mHQKL<{rMie{LNuDEQfy9YTha%`tkYm?BOp5{x6mkg-#WOaatl~&OO}$x?Jb#h z{5bW#PyP`XSG-&EBcedJ(EhLPY&bmjpFbbJ;c~}_8IDx&r{t=>i+7I$?w{wBmQ~8H zJ0{t(*PKIy>al1!{&6nLC22`wknd7O+@IgCKR<^inMsXc(`5@@EX?|`-(_)K6)tLk zXnW4QcI)1`lPTHY+eM$-^t&o9-XhfU-dMj>=jRW_MQJq#Dj=nzi!K#oB-vziwU4#u zra3%75m`-x7TXvB1{nclglb!o1B6Qw+M>#Np-JrQie842FC96Xc3W`f32{kK#WlML z?>^eO-DmSgVEcW?@fXeqHzcX+PJYy}e$C~q(Hpb4W$)H~@!diDL>!NI{V|K}b?$~y z4((;xu?l*EPB35G*}jCRY9oq2ODu^+u1ld?duDFUY3tIAQ-rY@s#L!TA?|vboE3JzCLm=x$89f<@dg8u4HZY&D7l19n(?= zJIL_9i0eDTKM%!Oe>^Wjr|-N;#;1oG%JZLgi-G=jF@S*6TV$vJU&(?*ldB zM&~hxqk*%nS@ul!hsXAg=Chu$a3m3?8zlAYT>`Z_t^3I5eLawf&}&^j<-Ae-;ZrY_Q5HE|Hd}Eb=x;9fYH{V>Br6+)WGJ*>Y7<#G%*B`}l;w%12xa?0N=Z}v z9Q(PRUw1ynU0PxutX5Z<4NFNpgUYa+*+ohKaT5hu$ZZ%db5j9Q@SW@+%6zfFjVi>Y zAd5XevNqn~Xzt3dN12L$uV0O4DCPHJ2?xA)T|)Z(V}31`K;_=1{m0!8eFwJC=e?fn zB#T-{P`@Dd;#J?6N_sL21({H6K?N&yf<)=<7Ws}jt~7{;K*HI_Y38|tif(jC&@an=3tLEUehUn4N8fALOk`m!>viuQSIKSKnWlak2-@@@Y3 zdx~qjsxqUQ=ecil26k`oJ(ZKkwQ8>9_I&=lr~iCw560QQo+b~Y=&fYi?}t1Sxv5HD z0WuO=&AYFC?B0OFED;Q#q+?~0eb}GxfA-8khciDof82B0`je7y&YwEjc`P#LvBidX zKe9jX<44O3Rr=p%gG*bSF{D z%3q!(kMPoWdZ!DnwPf(Yvv*IaF+yA8TcC`H~%B*WNXHUN)IFl@Xl2sgJCUqmN5Eg{m zQJ?h|PkcRE^5=0km|&<0u6DhNQ5oui&Lz_YA$ldLw7lfiIVAi9v}2ZAj!+X)grtc# zYX6M!@n5Hvx4Kd46I{YUhR@1Nrj7xh`( z?)h;gq?LRM8~)-SnquF_fByF0|GyLfWjdeuIR32LF1_tJ@^JIs;4wY_g8qAl`-#7u z_4tQ*oMob%*VntIExfuD7SXlNc1A(mjtTHU`aGj@l_4nxAu~w=^fBj`= zsV2HA9^bikcC$$9nk&d6h}-)`yO%!S_^ua??yz!%g~jh`Qf9qBQE+0Lyomuw$S`A& zvP_+{VV_EN0gjLXpzVA-r?nYQ(t2j#!(5z4l7-HP-ik={bTuqMV{&(`uWIhj7G}=u z;9!k2EAu?OB+GmEB8v9d=B^o}?Pjd?jk(#rvi+cqVl%?&8w0IkfA+59BiG~V;R@%U z{j)#6`X5^5owOrsGe#ht}-iT4OC$q?d90E_Yh?asC<8_g=essC)8$53Z@{8jrx{6D&s3 zvDI`hxi{9$9YNNOwH-&3ISw_)myg;yZ%O;&+#?l97m_st$js@C!4J9BJ%C)fwYYVF zq*wzK>i8fL`e1cfj|dh^9~Ui+ySzc0BeFJ&iNvI!LSaYeYxP@w*HKq|mo}7>^ zyEND&l08#k(OJD?vLyPZMLIf>vxU}Cj!LHJNXoXwMgb=RG_7ZjYy>n@f|AvgZTt&&R+# zb_Sr$|mdGW9#1GL4f_9~7HV>{`zq7Fs4fe1Q`QJsIo@$Tvuo!aWIP~093qdLOMM1Xtd{rP(psIlzEG~Sx7x+%FjH72Y9zF}i>o@&1?t`cNHQfE2%tlZ62_KDy` z9<2)%imRHg35X=_Vde5Dn=4apOjQ*PBgf0}XUw83n|@^@Dqq%8_?8SX;t}jtVsFgV zeI;nwkC@!rml1VVxF3si^K}#kbd@5$e|voJ>PebM4jXva?hpW%rr&~-pMoD~R1l%8 zF+v65h4ESpzhe?@qA8_>LfM>1NfAZ1X+=OHB6w-cCsFcMe+RcRLavap2ZyHu@_S0S zQZ=Q8mm&hr0RTyMOccW@SP&`{&yY~c>|o#pV8Z_vpZ#`2dZeGLS9>vAHw2P?<8*bR9LGMC`z8SUGrEua!2G+GD0&P zHNNt3Pt9M??XcYQ#B0pwy^N*8cqtER`jLFJ4k!*r+9Q72W}0nagcrF_{asca?Ok#M z=c7HD_dW-Ox7WnTHTg};`+RrbGM~gvu^Jcx$5ry2Xxw?X)pa%L0oA&Dcqi8eO0xHt z6P*!J-_{^7uN$*_51q$_>A~;o#&1R;LYc7&kh0aLiKWq-qJt6uH|R1^xYb} zYi`Wnwv|^%ncL>Zm%8xi^1aW+%s&W{(CAIy#?bp^b&Cx?25&-3@^{S~$* zk9jbS_n%<)w_DE9{j>LP=%#j+`x-xse*H%jc7Nv|?Rhr0oqZd!6Tk5umy=?1ow+)0 zIG*!t`|{;+j`ltd?oVT-nG@+!jkGSLAXG7R%3i3IP1ngn!B7RFS*p%Z0SYziBHTc; z036zelcw|%Gac{bjH>vF-O|N_jaFy~ z)69A7WOrg%$;T%iaeEDC#=ZKaE<+6s=jlkrVT(bU6dVq` z7zI=KG*cxRJP7*&5iRXcVV45*5S}*gVIm#_rCjpQJq@1ea=1+o}@c(7&nm> zplkR2!6Su@ns0XG;rGdT&KJ1Hd-E4Y*g*m?P?&-eQc;sG!7 zSn)9-X>ob|=6`r5>}_<&TXGK$^yTw0d7qp;1Z|x=x#>i`!SX=)R*Ee#XD|72nVBBS zJ+{cLI_6&YK67#RYr2l}$|L3IpPw$d4BgLhy)s)HS`QAfJjfMVzse-+*wgeUtXTXs zD3`*Q^D#ACvja1@ae;Y!#|2KO6gWLbB?Q6tr`G9v#)o%{@1kE;7c}DAN$yMSA8aHp z8R9iqGJ-dYJRG(q8j5mAKDLu{UOVQ^pFQKu4$NL^>0I{#{i4u(hI=^66nD_QW`vq|*JtbZ z2k!pW$GZ3NIs0J>2V?OfCejs}wmnlKIE4jHL?p$DB2r)3h)%bh@8PWP3|_kP!7HfZ z=rgLxW0C+JT{mO#0qUC3`AQM6M|fVVLtavx!x#I+z(a?@P(U1i)eNVdGT%L3Xr*`q zDX!b(t33&oT*WKWCw#r`ufeOYsUamUjYrgjZ@}rNyM4~_n3v&hb+E0gnqLItPG+|@ zls)%mGyliu{tH#B(by(mYN{B1osS@Xh04Gjz}QpmXpq5axF#VhIyfWTGZb1B(mTF! zt~DPK&cgTU;1pe4Z4Yip-_G4tAeD5d#0^Mh{NW^-!z zJ&&upqr}KvMpG_0!wZM|z8(6Jde*uzT}ewt;#&ZRl&Gd~J@9o_@V#emeH_=zwfkP7 zoki{H)1Oz%;Pd<9=1HO&rjm5uJTV0~RaOAXnx4`h$Za`WGkO7;Vm5)S-N=Wlx{^ zSBv^M?~N?uvndi6vgm9h# zx$LiA>-|;Z@B4M%*B%xT<64*e@*zL}^gTfD<6k_*ZRX?ejU)RtY`hs%T%GD(n-jTJTd#iT%*}aDNcV&1 zObAyNj_4DLy$IsHc{gVFK3uHH#7nb@In_x&O}TFTI_bbfaNu%m+uJ8Xnf zJ%$j~AwCp6J>{?L#Y?8pw`Q?RY@HG_=dZz>q^;v|h0Rw`lvszFgQZzszB-R4U4sH zaKS7?djcs8z*;g)u;-=#IE;$JTKUoie_t(U zbw97%!)w2D1g$!?)W5FY-IRB}JGcYHp4v!S)?ag-2b;-h?3Zlb_`yd&N5ZV-^9G&D z-~7BB^|+G~MeA={6uztVqPuc%TcwcjEeRMQdcv*adpgDD<+dFt(aCH3-Irm0c01Hr zpI%~1gW+}G>6vRkhjOs51<_m9i&M-Q8&%FcGGp8xfGTZHU_mc8t;iVilAq$^Jdd8% zmH2Vm-)UM?Iq`HP3vTrFBmHPCC%kLE<*F)PM%JZhW*U_)@gQ`~Z0}_)YSOS=1KO+m zgB`9)URw9laaCEM#{|e8;+S2X$m~0pJAb2>oi3}ZE0-F9mp|ymH{b4wsY&+S2X2Pu zArj?W=!#&2!}rXYo?L-xzrQF@@iN)$$mKoVz|mJ5MMu9@_1ZN60#+HeOeYM#K3O_Z z3ftyU8_V%%=!m|Kf4;rapFTm272MgWUMqO^{%7CAkT}HKEru0L)eKpmrwLe-^J6wF zN`HtYCG$}^ijGth54uJ{Yt!^2aIaRR@B#%?ycR4BDH3PVa*ToEQ;G73KTVrYTBf9a zD3X4?`*}a>g(g#7QC*(VQDq07VR2ZXdt5ucmVRwKKdU)Fy|fOTyY3z2_3UBqufHBZ z^_3fC8{ttPWJR`~W1+K>{e5nM^K2}iZ#h<}>po1ilX}%Yp;sv1gK-O6@mQf*mrh-0 zIQ_nO2;#7jRb>T9nXW5Y9dcx#H;7cY&CU6I-@2kDAaSnOg`dTbmsWMj6?>Svhz6o3 zSC?~G`W(s-t8!lG&I>u+^W|fb4bhG<@j(dGee6aFe zzHZ{{?_5>p7LuAu&zkp&ySO`--l`asfeXny)I2yAaL(24FS;; z^)~5ES}mu?DBdZWt9(*2Yp{P@d*tjlK@`nb9qKMERB9h~e0CSY+L+pWg_J!fm$xyd_P-qu4rmJI!J#p`O9(J$^1$1R2>YMU8%pGVs zG^G20e_!)H`u$PDgp5zW?dJ!O{9+BC3$QP{L($PW;ZZRu9imJkJyU2gHJmHhyHEB+ zm(lSAZqGr%`yu>|M?&F*Klk>%*48}6A>!HW>v6gfIXot$RP9>< zNH_@(0G8b>v_fPM!Wb0PQOdb~hd0T()+ZnREu)`*(qO`sfTLnpo_S&Z-urm0uivNp zPGlbrR)MAPLAkYHj_U3Q!p&xm0@7ai6Dl9vZ|vng{KdO105Y8&NADSNH`z0;R(i|W zCER;G&$dUrJx+Mt^=U7Xf@dIij{52=l}OQ;<>X|zQ338*B34L<7!qnvs_f+@?VZ?= z#~L+a0c}NWZz%r%hCIYR?>KFDT~F9{DfKK@rSALvyP`9Q*^F|!kDthwDfQPQrB6ov zHo?mB7z8>l=PS6Y*LK47^iQky)^=;HcRuBDlN(NjoPTZ5j!V=_>PDnh(*A7ojeb!E zFe;MQdj|p%XSk`ITY(`~uppJ-taNM-FhIcxeTDv@zQ?V@GZs&0nCnag(c!Ktm5&np0; z5*h^j$X3;``W4zNrcR#&weV{d_ngz06zbg@9kphl&?nbogDzVqg*POZ-o8)%LC1?v zSqYpxK6(bWf3U%gYPCAQ`>l@a@$s+HpS{Iy@Hwt;RKRlux|G!i%*ShLD(?gE0y#Td z8(<_nX_kMs489a>;@oHY6I=*tv?7I5Y9)3KS(%4iFW>Ye&=Qh*TnPL7p7IfQ*s(LngbEq6NP|TTNh~ro+5UJ=|;;$ z7YOLuhZ_6|hzaF%&Ez~@ITymx!X{K=vW-xNN+&zw>VA5B{ItWtzDGk^wf6H`_Os7z z@z4+}oWaFSb)AsrnemQMQty74U&))xn`QN`Y2NE|w&ARP-d6rT{OE`K*IH}-+GLeZYu>UBr&8i+3% z&9vE)FWiQg-I1v-dlmXhljLPq%kpWy8Cg4(2Xu9-yH8M$ph;Fay=@LouH-1aExUbv z$}g{z+>MW`Px$zv?`B<<>l>YDNnfUO+6?`QU&#%R^^*Aa`w?cZrno!rh3r-3eGbTi zoCBfRPG`F~*?)r1P>;;{pMA(mlW!p{A=%5ZaJ7cQlOVC0sSmYk-qaGaG?acU*^nZ7 z4{Uvm_g?=VM(Je+iby8liVFqD0uNm2uASgMpw$QLIBQ_-Bn=2{D~gUn`?HZhjg~v7{@TX^lHg=jcr%=G{Zt(?8B#~*Izz!1yt@v zkI%q@hyzH6mDzMtO(c>KcN&>D+|ied?6kOLzYZ#yoLN5IdQ#u$t2n;QRObAhrFnI2 znTMsko8IPup#-UmD7*t#1djz_gQ$({XU>*K3Foep(G)lZF~yt0p?8(faP4X6YWIMd zMg)6Ct6x2p65~HO^xk~m^Y^cQjXz+V!?(K(W`zyiIC*p)e(Rt-uKKUWan9qT1xi{N zQF=eiC&u5`HL4YV^>;)74fop~z0|Ovq%7< zQLlh|`Q%8~>t(j191%cfnIc-MYHt}6m&t}I)`3<04kf<`zutEs!@|q^iR_&F>gi`4 zPYyrccls}0(^Bv5kq)7I`D5qK42v+(7vSL>IrvTo?`6I2?)9TRdVgke4!tRs^a{56 z9+zqktzyns$%Jz(&U_(vEwP?OSIb$WLAGgd9gt@BY-vRT5{q=_1F>4q&)z$RVb4Lg<^FbY zrKsx}qF%Rm;(jalZdp@~G;s`fmes5>m#=pizKhzqZ%pj`!V^FtcYP9p9XZCyJJ7#X zfXc=VvD0FuFZ{&7k_mCh5xUQSB%;fBgr-(=_Uip|BqH0osQTPo9?+oJO4u)1-FvfE zn^2;8+sBM#GdOz!9wICEno6{(O+WvUjzQeSnK}mpgS4d7k_=uHWB2!+-VQz&q9mxw3h?)`WVUAs~dourCsrfg~e8d;s zw=+1W=7jhBsgoFr4y|hr7l82e$Wooe+=tP+t{3Vvr}ZzQ=X67B#!Lf9U5YI2YyzQ| z6@M)dq7 z5=W2GVfwno?|;tsOL@k1i~F#g+2C1;vv~P?!Ok$CsusWR%%Jp>vf_;Ce6JhxRmHfAvh&r1@UyC46%Hjz)f8L{F&a@-GA!%7gT>~gDMbK>&!h@KJEI|@1N@L|6c99 z(6QL>^T%cxfrKfU=j~nal%g@CudUbaCcM+L>NN%Vl2Puy_v7ns(pz~n9Q}LW*spHb zlfl1NdgTV8HEe%zCve-W#GA*)sl8MZ4zSvCeAopE)&TbA3BANEXkJ;VM&kWbDu0Ojg5Ey++!mML#T7oe(iPG!S;jb$uE zM6$H2Vw7oH(@AnulP!md9x^zZ><&f5nN1o7Q^wqxS<5^aE)2>nXu$> zB7ei1>{|kxl)UW?iHHxnwlVRPW*g^{W`CITmAFHfY;ab(M**Wr+npKA8JQtPL(>K zdXe(c_tPrlF;hgt^J%r8{(JOy_W7+d(~7}^!|Hye&4XpJsZL3(#W9^~VSYkafl^|+OVV;Nvid&qot);#0=BnY}Ck*$V1A;>~ z4bkzK^&0j+JjAs`&)@ZScWmc${_{O9$fRsxK9qe;0~j8xTI$b#I_r#!&tv@${D`mP zde!u!BiU!>A1Q_iaKiNNJuuHQuMoAjJ2+ubZYz?1JC1#dRGJ`1J}>ZiQTTDCxCvuQ1Fd4n!CPQxs0Hh5$7Cj0i-fMKXY`-k=2Q~uuH z$GaapNGDPX*6&Dxf8+|99Yk?Fi&Ogj|ab9WBmI4f2p3?Sx|Y)^Rfu6h*Pea=4vP&Fgw z4&()8=Tf$!p&Pd|BDz5d(yNYZlP-30swXXT8lY}HjYru1JT~~4B|1zUUm|My7=XE_ zDGS$*91n(Rqe8zk)png1=X{zqTck>`k!kcYx|=jKV>hLHJ_EhM4%9KaIu#KUo2UP& z_<(dgX58o%x2sc<<>h7H*)%?t&!YZBJHyLwe^NmpQV;H}rzDo#*8pEF z{z^^5fnlLFkOND#mN7cyC7-dj%9UFSx#){0I_2$NEMtg`k?}k%A8Iz{t2z{=c7f+W z%)u%b!=7LNgXO`gF0>iu&iyoxTlYMUL6tkf@gwy;&!;2u6*H&axx9bRU3htGttvzZ zWC5k~cU=N;=%~qBeU8)l>w3Tj72H}JbI%ZD2gN`Ys0aC*4_6_7osR25g2hekA#p7w zER@WzV$ZSGmCuaV4=+C!B!~RAwphJCxSxGZDcs)NOT>SHe{J{u3AuB4eET^69NHWz zOzB(n>4V9kmmT>}rW+G3`?-_py`bu6%lAc(*L}9r5w0p5%IdV9m68^(dVIsE-VU>@ zmdIYWQdsj&J;uXY0y%FbPF4lO$`Fx*woMlYAZ8Vj;ce)cKe+ezK7@69%oVx6Q1xTp zx~jj=>(V4Ib6knbb={|&nIizR0e>-mdhfS~n+E__Xg_z_*IfuxVe<3L^1;OzJ4Ino z>?aGoQRU4?m8)6MG7{cATF@RKcVKqsvUoS`Te}Z>Y_V`|ie?)3y5jkHFcBOqwLzt;!O2FKko$;rpAD!+usC$4*g0p6ois z$ZcQ<x6iu;+FpbV*3 z=}A`lxC#PpIRq!AO5L)2Pe*-cK0~I$wCd5AUPE+PCL+1CtpI~y0+sH&>14Yl1MfFw zW6c6jEGIi8&w=Ahf(OoEINfl(eY z>HIvYvD9#Wn>WTKCN;mAqa!O|KV}K6tSZx!c4r=t2FzPST#4}T**zc2bo(SOSv z+j$Wga6{>!#xL)uJwy8S;6AIKf;oFC5k}Cn!%$fG1gxqhYqBMUDJ5KgA%TVL1c|Q; z8}!YRXZre1LVP}-$zt6e-l5ZSqvX0AhaX>e?O*=cuh(^Z{P`arbUW`($``qLnGf4ehJ z<%yo_!_w*Og7}4KR9Y;(FkLHhHLg`Hmg|5}2fz|3eg5Kr`_EV09p~)EQR-AIRb7vL z<^yfz(OQ;eUSCc-$1CRG>wbKu|Dr$l??0!04sM~SJb)u}sF*}cpBzfn;=Z*vbeo-?e%}P|G8?i;fJ3LKKfp@@O|k^d%={i zHSoyj>jVaWaL8iay*R~P`sDb$C)T>k4s@zN!@6;2IOj&?4~m6n9sok1D_cv=WL&v6 z1X#5fx!^}3LMdWoav#7fKvmC_hAbnCvM4}pW18qbzPd5x=k2`DeDvp@aPaC{T*`IN z=DM(Qwwhrwdo&`hL#`>8NPEfehKnnO>Fxh9|Nd>7LJ|4ali{xCTg+Dsk*a2JgZhmZ zKK(|1+8cQe@4J1!h$rP_MLFEBanCNCqDt#sn~`eIWsR4PQ(&VQHe)oyEq$7EwTldy zYv;)ge|w(!oN*E&gUW>+ex|yI0`S?|q(cIS()F7Hl;y{tuVcO&RE(H1G%37N>K#}) zA%^DOO@h51yTpCB8i|uN+V=HAsZqGKHR8UtxnO|=he`X=K)<-_#n!7Q|hF9Hs{B412=4`#}r56#P+De^>v2#@y)WQa=uA57 zk%~fPEG#a14H-KC!g*c)`9JXApZWklany5Lw(@nK_v?9Z;zeR!&r4VCgazvC+1ZtE z^YhmEwN68c6;;s#xk3u@cvZ*E_-np1Uu9bQd%lfdKg@oyjC@_@|FQmG`}x|v?)m-I zx4L+;r+#pnr*HyIed^?|c?Ea%!eX}AkB>?0go}thJK#0zYSIaUSOqM&s?NH7dPEsK?+_i@9m+qS`N4zU$Xd6{ZfZ#HB{G%V9yplWR!PnXmoxwFo&pYP(QD4z4=ImRR^2sQURMlk1h?e%Jb|?i*UvheuLTO|(yZ z9{CWrnkXH>WQAs`@X>reNYm#X^fpXa+&h^=EMfv#V^Km#XfSk6Z76<(H}no4@A2w~ zrxT_x?QvuWNRYgG_i<_GQK+gGIUB=iBJ8y-IK0kdaN{mk#)Mw38aRGyQY4Ni3=M z*kff{iMC}Kl%5QW}z`W}qeuxN)Xxz{Xg~|K{(`{URjJl5a!gKK=qG zn=gx}^e}yV2j4t5b7s+$RbUH$?TS#RyFSgE|6Bdv(<#3kwc&fcJZC>}^EvHe&Y^zl zR+apR_wC;P!q;8>E6A(1OW}O;=O8pawifT3cYF=g^Y()|M%*FH&BvA)#ho$FBU9yk z-M6Ue*X~#0eevB|aPhzIKkxgGcDF(FL*W<_8y%NvZIW%s%D=v&4pxX!O(X^vMc`U_yT`p(4hHR_awgJZ za^=1$*6jDg4@%8v7Sg?U*vEAA9a^>2fPFS6e@76O2}KARbt_E5lW^F`_4(`X@9%Cg zVnklI5rjr0EFqoCTHz`zZ&;84!LX0<>{5^Vp$*Sa=Fo07O%IAIu1s5WBh5cEU&sAP zd+I{TgL}3UU-QX~r;-({-2H8XR%Cz{`4&D}$ z0D*FuyLRO1g4Awdcti%A3lKG3;)GHdW6N6>2#MJWp%#q^SDy$GZ?;OW0EhjmhjOkq zMne`-+V{V2+4o!inlJnF9!>@J(_xK@eAh?gp%D}RwF=~^dnav~mpx}0qBd>qqisCV z+3C#+Jr(#% zpQiTQsfWA%JMO99^v`}*!;H|I?eOZoRR2{o_OB-%k}IEZY^T7f>}B6_@R`9B=lvZd zz5IBU+0PQabvF3xzTa=&@9T@c_ZgvoUpsjjj9>l@&1!aMt@sx_wIWu`6~AT$jvur4 ziVk~+E#Yavjj6`zy%w#ZdV~XIeekdK_lr0bTg!cT5uw0|R_984q5l0;RcrTA-lZV3 zh5`-u;*8sT88SrMJjo@Yk|pyB_pnv3O6K6e9xl6kPW+i6Z=x%*LR*AVs)Z%Hy!Ddy z)>sl$GNAw!F#@#W42#TX^)hWwptY3fA5N=3S#Xtp;B6m0$CxC#Qxc0%TyU~2+AHZA;s78a zY3|AesnkQ*E8P`K$K;i*&S;MjDc2qSxG*}HIg2&zHb`vx9Mdcv+57q3p3ICP)$vwN zFX-l3cBdgZRb>NAscbR@BPO$<0-JPude=XZ?UWfP^{Ibl|8rK%|DnRuY2Hr` zZ~oJUp7Z$pCe?#mF#db+=W&4-@GyCl5WIL=J`XvuyehK$;bv@F1^X4Ij=8V@_WrxS zl|L~1*Y53CXuey2XyQ+Zp5joIqs%sW%&%wo#_!fD_R1YsRQJGvB#yE;$e@aB9@(0Y zTKoQyAGFl?gFSy<9UE@1Mvbp;&g-DB)?2o$gwl%~6;zf*#3*akxIHKLK&x0)2xhgI zKqZ`sIVoS`W8D?PSGSLoib3d}p5q2iiYq?T;)Jq50qH&k+I=%Izd8}Bleq*k=!~a( zG3mbwO;ogc?81+KV}bTMAJi95D;LKgj1})aKi3qZz1%F9AoB6E{ww{j_W$|p{l@3a z!W^<7g=)le$KNZ~hpC~PosLNyC<#iY@H`SQXP5WpGK&IoE%L=O*Ss~FW zJ7E%_A}~q;4NV9k)j;S+>P+h0>ETY-)2dzfAgh`(SG(<2Rwu*i)NA3S(XOh=26j6v zwmN4=KY0jtlMLCBTzPp3fn$8fGy6U)uNXN#6=<_4>U`GMk0mfv521+@+;AMX*P{afN)K8I ztxii;_3PUQmmZQ{c*KMk2;%%=C8!Bo#5_L!!~L&3tlAond*O=NhMF152c?T)F(&Y+ zi|Ff$*TB?Y&DdOd{k)r06%}*gIrY;+tALv)*!IvCW+#?wFw&w$a4+Upjas4hqR?4! ze4ym$#gW zl{Ql^j77P>l2M>-qhvgLWS+8olgC?TRnv~PT=B>{f0XCYQ|uU&{Yl)jb_|mJe$S`l zXy9{V?C{VxyvF;*p5*7bffoDI?VKyau^rmi-PxVTs*c@y@Uwk%N8#>?;XY4v1xdG3 zVF>uR(mhO!rS-X+R{d^b0yr|7guRf8HZ7vpeeHJ2y3&eCu?>lZR_~qMXQ2?eyL9D%H!FDj<6?c^iPCA7}Qj_}ll# zZB&|~)Hfx7#}u0k`-lqnssS5he5a1< z@4n}qrMW)5*j%UU(p&M%sKV3rck+)|I^S}-&m;uoZ98fkXMuP-uQoV@>wJsBUKT?j z;AN#2;83q#Qt^=A`8RXIlY9w?y9gch<)%U?Z6Bqv(H$Z2?cn<+Z&xmC2!N%a4Ng_0Z$VoO2wdFjj%4swW?a$|Z`;6g@~xDcO>` z##)J|z)m;XoSv6%RvNCGv>Ynj2=a|87uP&7FVU|c%}(lGg(_68j6BWH%xX)qMz5Z+ zS2K=Yz)z{xLL&qV1^n%T@ek<=o`A#e;>=`>m!B394(WS7;|oumT%~@P=oTuhuYobU z5lUxJO@X?TXWwdW{vqqiyF#AhrYb@@zpC)FCXYj{j-#G4>)$*3l_%eMiKen8gp;O8 zQ+Xa|np|=)pFgm)~#|3>ys&U&?{pG*)}nM@=YR z5`%wfz6ln%WaRaP?d|ll!u6M&2Y{5+t$kh_^ZT;J$|Sy!yw7X&>H+;*2X0l6hyezU zw7kUrAMIZ=tNZ%yMl$I?){kc1!lS@@C2mwRL_>!tKS z7;1Q~hH4=YtU*O#Ij9Lne1O==R+~fjvtfK0=^VJyt+$mtxoVtPl{-*L#VUCgfRvsb zZztXvb?;I=aqF<+IMhu?!H9L}npgZulDPAstQ*W&CvD(!wj`A9GlhJd-kqMgw2vFc z16&^6@8=tj{{7O=!puBP-P~Ay@WXg4TbOSvhkL$J-T@zzVp!Z{X`455t#UZ?dap-H zf5CS(miRt9E_Qho;EbRrHQ{mfc|)=mKMmKdE9cOFO4JALve!y&pc_ttwtS=jSwG`? zDHDAnRRudY!!OrPjx!S>s|2$kONQAPEi~bo_I<{CN%%WUfLkewjEPUa@!<`i=4D5K zA3FhrDFRhI|tB`U#-#Erf=5nqkB+{gOZpmZ#Jl==^zYj z9M{V1oo~1}$lLwG01ms_$G+^$fBA_>0Lndgq*lCzxN9d)D9D=TsIav3Jn2a!4%jYW z6>StGT!hni;rwI`jZruS9t)-`9!ZZJ%Ov5s(N#;kOfGGRjTSz35|ZBsw~zbRz5n?r z@3}x~aSk5QrE~!(ue5pq)$@ft^R?Ut zfRCnG68KeLVH8ln_&5k46M!tMK5ya4J(kM@hdGBl@mlJ0;UR9y+`2&z-VoJbS+`et&-r;}*m7 zikYWDFV$T7X?Q7frce(-_4rIH@&Kpj>x2!IY*r>447n!L7fF(Dv50)Ya?(p@soh ztEhOhDIbk{BEN`$rUYU`paz@eAy(`Xs@P(@_f=eBV*&R!TPp^=chu4Mr6ape_TFF8 z0{dB*lXc*!X9vfI8qtiMQ^`Mlu{;g1 zYL^@p=u_H;=np$A2L%QyR4@SnP@|t6^ku45(JKlGB?Qh53V<#`_21<@QmY5}`aN7{ zhg59HZnqD1l3k{{SqRIRBGjWJwHsUdZa<3liPCBBiUaT~-csW&zdi%541w~9-p}Z5 zm$2h=AKwGhW^_4gho+lY-b)7njnta&x<8Dt8WRt%7hvu zWvTj2#3_#DjWXY{a!II@8dm2+2e&HV!&B_WkzJt(0-M1;%u)x{%V+0?qMX^=ryRoj zsfqoRDg4cRYB!=8#2ZGy$gs9QBNrn!-_dBG&c3P@KyOUNuid{gRX$-B!egfd5Vy)1 zb!9JL-)PTcZ{OtGjIt)(rVT!v{RDPN#%8@}eB0xb@g_U)iXH4+R8&E0*b_5#G2JCe zbRZ3RQ{Yt3`7ZAKF@q?E`%Su-%hF(hSj?AMNaQ2lQKdJ-Ia*VZLLffwM>F%39V=7o zl*rCC|Mo*H_hc+C)3Is>mpnFiY-e4Yx-FTp-p7Yed6Cz0_jrEA6R$GY6432*FAG~Q zD9b3!X(Civwhyp5*8nPk*r`qIkkbnk%xFV&XhLmef+8U*l%0>B0V_zku1y7xO8a^) zC(IqV7Qk@!uij!re&5D9`fZpDe zPTyT?;66q7I)eSmM2Z}QhV)28&dJm>G? z9Q;#;H+#xeQ+r8vIK`)DuQ^*57aW$4X$eUwi=DV4bmUo%ZEgu%oBNC+t*OnFEsGX9 zvDyC^p4RPXkE+-3t{nTgxu540?7pzTT?nv@9%@5{mI}4PDW|#KJ8P1yG4>gPvQh`7NA|7jae*1Cbc=Xz`jc3KIm~jvl zbz{CR0jI`2bcpMJ?Ehw2t(reu;$7`5cxl$&(?y$-(Gj)h(Xv8?IlA*+6m>RVVZm`m z!s4NH2?RM{;a&l4%!s%7V}hTH@fpXN1AukLR-;+p6Gjh$(<<4yzh)-gB$7)z)O@Za zL<-Gg4w{+!gOod5K|3WT#d#}Ju(~O0w`j5hs)v-mAkJSIr4(x~{3FLx@9g6kKd;`h zlda2+tvkvyPA%7c+9!yW3u$o+aBYXNYBP77Zptr+#8Y*+2ebAWhUiA^Dh+CoBLefi z^7`fBqkngv0J@~Qhvs;U2_CUZ2h+|D4F>`UjF1#Yvy&1Y9&*GuL9X=%ljy?~s1WQx z{o_Y)OPr+-VQY;w*Keu`dX3O3L1hWzY zusJ@AA7f&irDH=)9;I>=qAq}|+2C#wHA91%+=N>$5qLg*?x_v-@2#L41C4-v4eu3? zEH(JV)fI$N8Jc|e?gfREMo{^L_qyy1b`VtobfCRDvs+&>p-vJNNT3pe~q@e_?8D&-E4k z+R+h=#jTJL_eeUr26h&3wJo08Z1L)VJUxr?Nr05LGi+CI_If=&ICpDxU9+iAXLl?; za#IB*SaoreYNMGB*o7liNOpE0iJ7Sz?(o!&ci?8Wbj~87vH*c`YdNuja2b~TNXl#n zhRPD!j2xfc_xAB?R@DAy7SyB$(Tw0bH$zh|i6vLMajSSBO%d1Uign;Z?Z&jRKK=1MoE9~NjhT{#hM4PvFx zp39v>7a|b=h>E0cKtkM38c~o6h`GYiwfd~)0#f`Pt_x6lg&9d#Nn2eAT~t_2glJ&* zIPXNrlg(O#67$+C5_NDhk2E;Ch*fvioG@hl7q z30bfDASerq5aab+X`io9|C~iI;MBgIQJ&00m{91_oZXri#S707!OgXuI6!al^sEDL z16rd$pON3~gOmP< z=m|SFI`Uwp+~^b&skVVx={U4y?av3giB^jalu%=Q2@96|4gEB&PA|VeW0EZna$W8@4{cAP zvlrGQ`+4}Lce;D0qrAaJ+(OQiEfZ)z%|ZjTbIy_}=@dGASobB=jDB;M7OmpW6YFTb zm1Ar$n($735%D~Eu>16ke`}Tc>>PTBz3=kj_A;k~3|y*Ga}8-U7mbGKg@c`A-o6N6 z>2=|pj~C7pct5x*WMoViHO+ncDe6e>^12~#%Pm;SMJrh-Xr@4j7$e+Ojl^uAF)h|W zs$Qy(%dNy%6kOgaNuO#4py|Q{re&=E692oO(gy?FX`biKT35`Ap?W88-PgscS7o(Y z51{vqiyixyeYK?q^DH7?dAXN$u!N$J$Gikt!vVS`%Q{|Y79ntIHZiVIntcAz|n(#$E{EGWmVZk{CeQ&Gl{QTi4GAqgo=^Y zI^!GagCj+}@B82I%k=@X2d*FwnZvT_BJOeouy1;Gsj)!aaP!bEsNjKB!!x2D4cy%L!D<)DsjzZbn3O<0OR@BJ!JB(A_DT) z`g}PIID9tu{tdY*xD55~W=)lGXFn;=$H!Q;JoA!Hs4|s_FU@E>F)of<9N+iCU zB1$q3DWzJW>XMpf+))`n3sGNx<5%DB&$pgHwT0ov^Q#>}^v`@T0enrzc?|bfrvI%< zZZWvwxA6K+`+$$JS-3Z!m0flyEd%Ra1K)( zvB_L?=|^Y1C8g6QTRCU6XJ;3@>xEufZQzK$E7{v$e2U1;S~O9wPFyY+mNFok9` zdc_@7a}v@A>dBbM-Q3~L)oX?mzPM5{w*6xt^`E+YLWhIpx|?kv%d_2!nc!W|G*jg3 z?9>Lkl;U$K)+PXxy9a(GP+6wo8x*3Gz~Mulgo7%!e1cO?4zRGWCyOFR53r23v}fLZ z?QL$B-{9!n|Gc$FN%LBr`U5b>A(5i;u<3+a?Bfvr8Rr0sKf3w)(W6)$an2}K^tocDuW zc<=R?(Q}$&-M7z)lZ$aFjvMyZ@W9S#G&cIGN^lm&pq>rU;G#XDS;2~&tYN;qpXIYl zyce*B-03hQs7iJ&J}%nz5lbSAE6SlRZuq2Ybz=>5Sc2h<$GP*&uO7T~=2MnqcG@1J zaXQ4HQGi|KhHLMh;ucg>CWXmsY5M8sjSdG;QS#+^AX_wusCf^c(j*m^32Wz?Ez0tb z@vrUimbrWr&0c1EGx*!z_jy4`tKHAXm6_CdWY5h(ZQo;$eq zT<8n9NGq1CrNSBmpyPimU zL3*U-QBoc8N@{K+SRQDtX6I9r7bnjv(=INZB6L7`i(&72PbleSUB+mp*+97=RLD;rEVoqLPe-4KIyz{9Ppa??zOV{NUt4yyr z#ftg4OjR`wH}0WnkYh~fK*Utwn@GMV5ogF5iu|cwJlLEdqM+>!5l^_{4I$kZ57Lx%bYW*z&-;yTL_(8uo%`&DxwCnF=VH2Y{05vXaomd@kTXNowF^}6F4f+PirAy{)1|kK( z;0|eVm3kLo0sn*-{Av+D2SxAWbx z`qw$tf!Z>#-RBIAuBxeVdyJI>r48MFP4Jgim@_{M%u6}^`tTHOO;9iAW;wD%s#i{( zUv#Xa45ur;@ktxjy1+UMLISzwLA%VT4i8B?^}26e)+;DANj0KXu@vB=4d#(X7LQYy zmC2H2u-&F6cpvUw4#Dp8<`CrewsaYDWLRI0s#M*@9E#3Wl;&Yp^y2b0{^pGcnDnbE zth;;AbS1foYx(NaKm_-@Ri%VKy*>tlc=~zQb~=C-6IT^j9X=-r7PJ0G8ZIk0v?L%| z)M~?-4t0>xY63j?*yB^ks{DH#0RsVE?9pu~@-B_ZLdVi0Z#ckiBNc~y|L;^qaekDc zz!dP>0R&5DU(fVf#(&Je+x$$Q{y7FZ${zyvfg?A9f}oaN@6L%0t>s)ZvXK4C%2i4B!%6`0$>S2Ydno6&*~sE zx8v*dp+(00<3R$9X%}}>QTe_q;mm$U&Yvmxje<=tJud0D4I<% zu#nyYeE}jN5E-RjTejsP^O3i`j#wp5p`zC>SYpZw=Gq8u)~Jgpjd2&@#n`o6znepz zf#ay!F+_*s_9t?x-5)0j+9bNhWpk+ z!ySL7Kf$KwHx|?K{pFo5SMg{TLv$Q!QI3(|gUPLQ(fLAI#KhHV#yW{3U zCl#oYHWV^jwdLwNexpy0R!L#=G|!{?xd*xrdwknHO#I!Zsw~y=&{y>{AI;6PG32&E zBCC%U^6&UzJJ8D2|DndZP#CkOvRY4=4btO%V4-jV!;ID#=UMV-1l)^zXa6fyIKops%Zy}WrQh}R`(nu93Zv@Cqaboo{ z(u^54Td&5`*?JMFAh)jYtQvP}iA=i6GGc{6>Iop>y!UBLQk8R=w*7OwqE~t6J#Y6k zihVo}uU`G^f~)F)W@i;iyJ!5`CNBENdB-AKishp|(du?3u6z~`O0=^I=~-=BH^3U6 zD<&-VJR75%FKu8(l2jt|n_^vSps16srt`M2otb&ojFtHyw5nE9&IP z)2N^xZl_WecX&0^C>E5xBnI6VBP(JJ10_whODnP2q1UJT*b9>51HP+`Rdp!~$|oVB z1@#hzZELGAh}_azDPPjEVsNHA4uFzsTOo)XC5G8N+ zYPSA*%<8LVg&tJB3?Tx!DbVgyb%gQR|T8b(YWHSBH!)QufBY zs24i_={uB5f1M`|)5SR8Dw|YQHlsr&(=6>kbO44NrXW$MSmu>cKC}7Jru;5ehCIXM z^nOrLp?VRQX)8yb7@du8m$J~#q`AIMrW(v=C@`%SOi2dZvP4^yFl zglVT%*;V06g^=Y^TBFH4%j8TcMz?evc|Qrw)8}q{#t($SmkI|aI84y6)_4U%waicE z5-Bd7RMWc-$4+z6bBm#pGsIB4XLWA%bD!_d(=+w{wt4GtyP7r=q4WKDo<~J%@dNIf zRIq|f8kfY|q&@NX@$B+W6&pUmW*v&Bh?9u1IZ(xWkxY z{7Ot7<;&v&>RhCTxD_L&7%GRRS?P7dQ$?WFm?vd1@d_s}F3`h~4xb0el|OTiHPO8R z+e{6mGt`t>qZ71}6(?tiI)SFz(MiWY&Rt$X$Rn=tF{h<*s0E=No z*#w^*J~K}|j`+0j?9C=&GSEc}*$r~v=G<95`u2U=h;B$iPS=Oz0%ynXz<{Ic%Gzwa znKOqLvOzI1_tt6u+yMF(P|BZ0rnbsH>9+daXJJ>)}ao-RWFm>;jw> zjNb1YP3U$@V$YmuR)tm5+qI>;)3HuUkeXJh_sG1$R??YoJNC2coti1^h_6!b)=B(Z zPL@a8W8Q#qg?1_mAul`beks7L9~Y=8P6JmC7&vMozK8G4g$+j3Trqk1I7|RS7RZ^A zb7Mda(W`;j=RsHwO;<2ZU|;_(|Cqg&Cr%+EIt%PezCO9IYxU}FYK&2zUm#bY+D~9! zcRXDjP|f>xI$uZxs$~xb)l`y3w0ilYpX8NL16k91^knA9Z3G8r#so<<+yd9-7 zxG@}5oYhBm!rC1R)I`D*p=GB~wydYQjNh2Qmn$rH(l)u&M+^Aoh?DFwN5m~|^L&#( z4tgo^`|w-uyz~Z$&R{y1?R%bY^H`X;>r-pWjOAuTHF-!~l?WjpcY8&0W34A7634s- z8=u7ZZ7S1I0NyV@#)F%_W>Y@Wg86hNy%5H!z|QsVv7=k&GMVV+&^%i7%FJgdCY8S0 zee+;kW35v4A{yY@$qyXkq_dc!KLJfB6sBt%K}aL$oebg0G<~wl0XCfgi3u6W(#C{J z&~k9$rX2eF>zI#*7z*FhnW7vkyE`)4$NCuQ@XfN0Me5v*SGXIR~mha*|BCx87 z?YWP=7DGEB?0z*4ZOsJ}`c(MXC>OHR(xxl-o=!Tlsg-9ug7WGCaV%$hg`>4Yol1Rb ztJT%q6s(m}Q10;eb^QsJ2jiz)4_)TrsQwHeHpuRq$7v2+A$4+!Bi`*}Oi;L8hIAG9 zRhbIbX622owTDvaO#R05^}@eD4862?>39kE86FVqa~zL2h%4S`AvhU6{jN}2BbLTg zR>5*>X85OJ_G$H;_DR|)hC@fZ zUA)t-@dIPt)=|xaG#H@3`)HR>{;1dvo9dI9VjR^7Rt%#fuWF9@LD9Az*e_}*TyYc> zHcb-pkWm+JS&ex>y}HSQ3W~kD72Y!785c8%`StV7{ynq%XVW;$SaA=6BZoo~F8cut zPvQ+eW8T_w9|x)2!Pj7>k_JZ@?B1i1) z1+0Dl0OJ_7mxvw&*L+a;LPlZg@J(M`itD_qGvI=tiKodGY~Mg)v;oc+_#=ZR z>?+#Zx{+%;PiaNRpy))KO$rLpq9(Gi#W)=#D6#+!(F`fvGig8*uA&3ff#EVdZk~}V zx@+kD)=?>b1x7K8Xw6bHHj+W~m{ae>5EFN*R?tdn$f&>n1$+Lm^=IbFHsWV7^A8ol zspgHv>__^Xe*Q{Op-yJKjvk z?hq<{vw`U_keC7T1Z;Eg?Rf-r!XX%yI^`ciU>)u9N%RknouqFI3HuB_eEmHDY+}{? zy}`rjt75}@jBtz+Z;q&83o7jy;plt2l6H8!>@M*b@OXBXw%PZe?T7t)$9u0W=Eem@ zbe9%f@T#f4CzI{b&=#*qWyQq@)M{u2SlvTGZ=a=h{YF$O2de}_se;ad>yogWGeOMp zQWtKC)X8WM*xT6L>|yZHu`wL`S^uG5_o7{q2i}9*>Q!t<@)##nBrEWvd0G4A!h7zd z>3VAt&tLK41b1;jZFX-bV^W4nS7@{tdJG=~ID>%%KbT>{6;c(qYV8kw1(M=cjQh9Y zSO58#|G*RfnSX^LO7j_pVG??O$=hj~S1Nn8XPPq(V3wx^G>Azy`sK&S{m!08UHP>G znzaI$6>ldD#J#OfXC0~vcb%uo2#z*|jO`w$1fr@T{XiGa5ml-#7xpX) z2U_B(U(1HrhyYBzCXh&3U}&(tCn)m+{LE#!-|{XN@d13_?Ki#%Xq!gCmg@)D_#oesK-*ghI#0!MpAcI=Whk3B-)v!rIV|TD71F zVTV9m>x3FG7z#USLK481>}SZ6eu;| zCUVJ1AyZXhEEug*yFG)WxKo#(Z+MVj_owf{kxU|BZlHJshbq495k~|gP+(ec)XK-o z_v{G4_c48+nmMqMwP8o_gtO1FKD?GKyDVR=0c~J-=nX$$^h0_VOFDT*HM3_dT74fM|!P0i;34^9sRuDqNmKX z;4)rt8=@;s;A{pwNJa}5PrR}VRvLjL;mLawR6Rg0{W));X!i^hmDhNB#~DS(v|C8S z3gwlemh|Dh<(qvygH-}*n4qYxy*6Bz&dWP!e8s{ZIM@%0)@6Xus~fhrGtaBTJObA2 z$^l>(0LKB@Wkz4JR*X}yYFy`8o9zh8YNp?ZG59^$rg(cQ8fNDZ|Jn6#^2fSI_lffh zk^e%%=hf&Ih$e~(2M2F)fv!6^u1DUUy-aXWaZaF}Krp{{{K~(MulM^QCH0ja8NpdV zLs4jMGPGn;Z>83i$3u%{_)v;+M<^%^i zmj;XHK22xcu21G3a(;SrjViqG^Bn?mRd_fLXqcjF-TKso8xE^5uAhP#r~tyiEo+x; z=uj)x!8EdCa5ebZ2wSKBae@jJhvqA01L|Crj#1N{ox31OhGh}1bbt#UCB_}2`(dem zyXg@Gm0M{ZIk-Hs@$Bu9AVCQbZujz%gDxUcN=7Y%(dpN1D_QVnw_LxJTSHs=b7|TERG)EEchoyXeE$ z;eouuSjwnHAWv2sj2N&9t6^0kU!&k0ysQuZ2z}SRE^)`}AGkha1&K^`)-b&9n=!Zr64qZc=nZ4!Sm>v+>kX zb~ZGd+4N;s*E~6?u$Z;j`%m$s56{IaBKTqm=1T)UJ9O{xCQ~uB=3U_-%la%GNbV@l z(diyut*Vv9K;;#oIsXcT(>1p|w+`IO zd|V{d>8}y`XY4ux%NPRNI`{-kh4X>2Jyj;g_YD(tI&J_?pH2fi5+mTsC^6y=%(wskzw-X0 z7)k2~g{G(&e6FdBr#L_P4g1Ec_??}7=ny>fz1Kp6D{OKRa%%0Ci64gZ7(e;GR2n|^ z&|;o)QNFlskK1h6b1Z7rSz=0)Ee&12a2;0suJ@{9i{kl)A2jZFe&PM~?;0Qb-h~*X zq0zbjP#bM4qt)tMhw=({1;&h5>hZJ$hdM)YZrMrd>=3&{BoPXZGnJBJp=h#%D5X%F`1HV2-mF-j38_#50?8iexEyiQEcIsB!|fma^0n=2 z=^-DN>lC#M4K-v1Q7SRFrh;oG(+D7vVxh!!Q6UtwBhKwoe8VZ` z9!i&;MWw~>@b@f8qpw+6UPJO3f!`B^(r1meAgcYUY~|Hlhrvejg~zT>8{eaXgw_XE z;3%xKLFNo5-y!3xV}R|>7%D^G4(slTCbO9}+rzrOAwun}i~)DLU;$w+0>qMCAb?cj z2!{g}k^Md?1yz>34D|%NFsM@e5*!&SG3_Q8s1Iz8Slio+6DBLRt#;ArwVB@}<`G=B zJV91sjxPW%l~A4Pj9Z|1*>$L2+*58ku+|Eqx+i@LMzqM?43LTfD$(7(2lw;_$b()d z!^*y0Wtsx-+2p4CPnEtL7&QT=Y&XFl$MaoVO{hD`sG=9X49+F?gD7)LhT1I~1K3fc z&uKjPU)Hn~B|)M9MocxAQDvm~`v<_yZyK9IU62~J!hQGQ#bxuhN0dmtDu^uA^bCCq zDiQ#8j*5~zDf6?O)u!7N4SY6=;WWn;z|=!`m>cvV6=XPq?c&u%g#oc~;2lwcT0|km8S_qEJp< z!BhSIbN>AYoxnqzvE4jn>As;DZLW_j>v%fT6$Z4PfoM=+I>klN7af89wIRt&c{Pcrv{^vj6UEd(lKHh+%1ueHT51((_QMkL*sD==Zr>d&9*l5q?mn-JIGu^V(D$SNI6k6JO8|3k z;T$v9s>~V11dzkLqY_t(q0FKL4Tnd{k>dU8^iiBlG^fl@`jyh|Ro(5V73)lJz_t%W z&skbYFj`N(z)5~^FUIhD9JQ^tgDP7QSOcHQfvb4OiJvT@bROG-{aoKlQ2>?cGUhP< z^ClX5Cfh>(+@)l1bwZ2Q(p+i*b3Fgtl)RZ_r2H{I=s4#U-cN4(JbKitQ80jO+Aelw zfuhF6<4@svPQNQi1~}Qe+>D+gR6_$Qj5p;tWwaqIuO@pB2y4#Meq8JHh`pI>2dbmg zJxY&wsTr#(q0%|5_Zr++*!0U@T;CWCz1WTJ@%X;u|NMa8b9NCOI9AZ+h3+BvjU8Fa znE~Yz;!0kMVK{O&Zyx8?WFCr)5nH9oxSxk?cJG4cm-KHhSebd!#2}rwdQo%sL{(~nFLIT2*$;TZN4=P#xeU{+_RPEh>f84sJ374k1;Cd3nqG z)eG+N`(Piw16F0SosE6dR4aeSJ>4?b2ZPfCT*HXrU7n~jv|2UL5})MJ7kJT8L~?{mXlz7LQNOwdDUh{*LSm}JV8>os973Vl!WqT1Fo z+>SYf%gJajM0028c#J@d1&MP{AtJ3PN9(wR;T7cw^1i5VSUaNPno5?AyHr~D< z9^FixSCuuiy8G3K?!rrlLnbd2qu4*SdMpsNf9qbXU%aNmCEnQ+6(uLVm)Pe8?dW`O z$wztFC;i~u*7}bfgo+Uv8x_;iLw)pb0WeV4|8{@=`x}6oF{BS*y2|1g>sRU{*NR@K z3{G8*b)B&KZ_BJ_u73Igq2T_d549XiCgL~tZ!$P{4oX&T&|;hQ|35sP&vERc6Fi_k zS&ec=Dx@BOVPsN5!RsiPY773zN*4mqWL@t73FVFu6d4j}tb)C7jsA;H^4yWWSTiT} zR@u3YgyS4HZuBX5T&A(C33u{OmCZkX{Kf&?SL|Z~EhPE(=JoXe2Sr>#wAAQS&W8Bb zGb+KPpu=GS@Olpa?(Z)$xG!&?HovBm{gBI(?!cu3W!b{GhuYXyj8r9S=0u-l#J%9m z*-&tdt8yiZo3oF$nf){}?CRv-4j% zQH_vymN@_u_b}UI1Z!BMhp7V3yg^o>b*4)thSvkIP`Kq0OcQF2W`0J$CQ&QH9BrNb zA_Q#IM#*E}wL(#srPoM)#wa}-Yav$oM=NgNWx*6cxiz$kJB(6pj=#c5FEGnvk9RAI z8DpX29v{8w82UB28X{wE^MWK^Dm9l9Wq#KfwVE~Npb8EJCyABGSVc!tn_Ezh3*04R zu4$gdM4&qOoRdiCA^p49px~Towzr*s`dpquD>|#5Y=C4eVQ8tJ4erf<4z(P=2h7R> zfbX*8H>1mdl{M|XgX#no$_79uf|pf&hBJ-q(F}5m$T(i>pj3)bTr%!Q-(BB(waVq4 zpGCC`iGQomhswPC_Hc67xo6YkaqW-&{fD^27@xv4`^L-H+R-MxK(bK;F{3R&}L2KPT>X_Po-`XHWxd;tAq&PMxtV?V^ul z4cL&)BNZ4~`Y~mZGUK=U6KImBupd(09F*CxCdAQ6k4I5 zL-Df5v@*qsfPNRywH-V$-m^;Jjhol;Px;^R)hZ@G>vPAJQE56=f{)~f?5wYHvK%k) z&efh0)xm7Z?sfDa)?T4n6#vJwsz__}H45vwVWe~{^S;qE#{F0Yz^uBD1#9;vzawc8 zkCxfG?q|7nMtfqNw}WQM^KT~dLwK-y>Nh%bmV z59%Ip`QEud5NC^%2|m(0l~jN{0;@5?0IvP*{C)S|h)UCgP9d zr>0L56dvTLH#+I3Pl);f%4hVpD0uZMnDH?cg~O`^?wbc(&T+Nr=&dGrq}aMb@$S&p z{cb7lrot1DRCl(T5oTZ5Swo8z0PHu@Iej{P6zEa}Z`606mD0eU+z5-`KaC8`VlV_~ z7>^-x8>7N(5at`#>b?G3EUOOhZM;y%;_WHk+vkEhQCMmO&(8zF;hzB|ijqhL9K)g# zv(yRK06f$I9S^Jo#SRbrdGGOmyYK%au%nOpCJ!uGOac#+&y-e#SF$`j&wS~-owo1Bj2ypXYWMfXuv4)<(wJ@* zkRg{mi3&usD`Hv9-Uhm&S@!@1zzW*11U#D`qcZ93!lM?Bd~FCmvwF?FC(++Hy5a|$ z^@(Y6q*`giz{xXRhT}>8%fP=`o~Z)03zFa0ZeHMbD)MYkQfRGZG(vkRjTWqNB;)zq zThCEE*Ik{B>_(og`b@QIg*Bw^ekMtt7JG~Q?39Kj>#<3hnWW129nDzX*8Gza@NVlj zWV@)y;)P??if-j|1W+c$QChh^%HHRBS!LYH9ll-dsO8fQL~@GLXv6}UTpJ&R_}y^n=>8tu|4HsU!TJ3 z{r=?lpgPtM?!l87^hqgz##m6`s<}*dG)TfmD=mH+Xg{yzKjUi+cvZ>*iVOexfmlANGu zKj3FxkN@$r*WxY=uN)KfqwDuBO6maZD~Ejpl!tPhiu#z4M`nbx#<+IN zGHzLMD0M=y`#BZm5B^!j{NQ!2wJ}%MlvG(RCFPVN7ppduRIrlaU7;Y3yK1bmK(!(t zXs+n(ow57x8SbWM+xhW)zqYN}^CraFWt>s*d`TY6S>S#qIAd-H*5m<1r)knM_)g3_ zv|88{sPZ-lby)5WG5fR>@v~3eTE88qliK&ZdnCoGBBT0zNz1FEyFI0CxH zA!p4}hf7-Aj_Z+W$B>=9bw~=Z8Ll~F&RCSNRI0$9CuAwUb09z^4y7p}u66@G_fwp0 z7$^i)SE=;VveXEF>%%M+`|SJvj<>cT;z%QAL#238&$Y8=*iFl(`$gCv~gdIuvBaEgQQS=&X2yPSbh%`7g6=kowst_?ku+v5BV4 zNb5bg@Yi2E8TdHnZ?FwXmUV%KbI_?fUy%AlVH5z9qYR zBq#=-bA3jceKs@;6)%C&j^!twYgY<+N?>4+hWtf`c}G8a zBf|OP0k44fzgv6pDgF!dFTFewOYo2DtYWz|K7I9GIPs9q<0Z>o-Bn#YXorCdM6f4ozcH{eOm}CZn5BgyoSNy zjH4`o-xoMWjPVrZXf^tupqH#%f4*PX2t>cdc4td8d@dP73se!z@t z467Vm=m;HEjSw0=q;-QQsDm2PEsY<|7kH;(xm!ZilIeuS3XqV;{t(trRRD1QC5B%I7#!eLekN2S3e77r`I*{Vi3`u8yQJG`htHDjVRvv;~o_+6dPu(mbwPSPrzq(Yd#H?C{} z+A51XiL{s9dL9~pB|GL1Zs1|8yBYbSeEua_cQfhF(osEnf#!(+B+Tzv0tpA?wJHlY z0hsNrLg|Xd_&bliLW{~<)%D6M`RaR*`E0$ao_6up*6-0L9}xHZdR&NF1^N&HdwHGg zetbiwZ{$`zp@!zP6fDBtONACc)6bjKj5Ec=@r>Z!`Z@IF5uL4N%Ge+)vvcRrV3jMB zFvq-qwX#p|Z2tIw`)oL;`6bcZ3%RNhN>XM#tBg&$6gjavbBMTI5Hj-`N~{~uqUh=K+-bT$C10XD30}hRJc};(uJ8S=bU~07I5y~9FcW9 zqxFX4jd$mi_NRP+->gcEQ&YHE7n$HKDGtHXrZXEj|2`+}Hbw0I0g-p4+pGi#P z=&gFMhG!TSpsQnyeJ`xl{&-cqQE7%_>a5KAxgvt{11*X0>CgIEssg44+cuO5iWpO_ z*&^MQ>Sq=gFsA6kX?R->sKRyq3J$_-A+-;&b$e4}V%Q~_n&KauBerT;=XmygEdQ8K z&-K&dhC!T-QL_-m?gcyGX5)&NY@~P{Kp7(tASLNFMAV{`PPiC4)qZhm2E*u4MGz<; zJ6C!hK$I+p^}qeAcf|T0#SRi!Ppo|aoohKTCkG?Fx3dXjP%%c8iD!{KYsh%2W;^|x z_tjC+ziM3p2{)zQQ^~7&r|F*H1G7f*Qj3F6-FfOGGN7&E*S{fJQ|;4v-YV#-8q!cu zN#bo#hp%Er{2Eo#-6l5=F<0efjHWi_K^c>Yz5qM#-c?IHwdm*YQ$ekeVd48BIEmEo z^sIoe&~yO{9}QBtwt1kgu-y>)fSUH6;1Xv~?#h&`_e59ove$inidc{=xT;9$8;86ZXY9Z{uxX@(XtSV{iR_fv)>Rsap>scm@kos5kzJlG9iu z1j9C+o|21QYAl$WiM853k#k#fXRqq!==gm;`*-^}6)U&x-_gzZc!7v>l>&x$n&}Wu zkUtp5EH!xMwzJC>9q!GZz3ch!e}@Q$@!2ZQ0?4KkaPGNayoOgo5dJ{kl4)HiEhFAR z!(0%uK&a1~C;)pcfC5k0{WQl@PbK&%;OS`Rso=AI?k1zf8M_0iqDdHHbp+NAI8wkK zRBq|Hk!5v82{|YvanrjPM$Rz~s;w|Vkt)(|p^j1kGN79e=vuSHm90|0Z5;l9-@@h$ zc+6fURTt3Yxzrj^TB+*@Z8{Y`oQDJc?2S&X5h3T)89q%EiB$9ol-M;A>Oj|NC<6z}%jM^7ELnmdQ$hl9QCltp*5st!1ja27+~n1eb~(4eaK481dj zSW`KQur7C1EpPYgQdMIUtUd5-6||QH=VsC(kEOG3C%awMH9Ok4BOkPuX8^ zIJ`qXVBW)F^*dtQzVxJZRvGl4%WIP_VD0yNj)QWY$hBw}7#Dog$xc1YwYhcmXN6a7 zjC->m)DrkCpx#Vazp3RQ@(Ms_+oI-JIZreJKj>URD8W6r=lR2xopyt*uNqmltnq9a zqd)4%&*~>D_}zb-x8dk^R2M1rXMg&S>ylV(wFUM0ety)}fSI`w>UX(I3(rKRKd3wR(xc#3l1f&xx7Sc`{d}_Phxm9~nvd7|*YmyD4V*FksZR`<~Y z#jqplYJEIT$^q+jCnd}DhAs_rf(aF=OLSL`3^J`aQsY7qH=u>Z9o@!b4bG5A#izu0 zp#kdd>%R|^K=pxOjR*m2hfFn-6jCU{PT^rbNwYl@Q!)4j(ff#sx-Qu}jG=X^#5k!U zMsOymoY{`bATzeDmK|u$Ew7_nW*GS~Bt}zcQ3Wq|Y%ngqL&v=`!2xf)k|s`^4fQeUO4~e&-2?FhFhu?a~(70SK+2R$0}^Y#TkR#Tu>brgByl_X-IB z4CL(9ZFc5{Ka{<~+0_qV3*vMLDysU|Zf6+5jEy*oS(j#vb+!(Wyx)llR%fThVA+iG z8Dq|p7c2kFuu!u*{BZs7oIM2d8Aq=dP@T0}aM$s`M}FOZ`f}&;b5u1>QnyC9Ym&=+ z*k1Jks5!9LuGRC{&inT3d$0GC|GEE+|1ci-tJYlhyAg}C1B#2h;98XqQgo#+6h zEP}Js?FJ9Hr-xmw6$V^@h5$Y_xn1vL-aTsRr+mrJ>JRz`q{R~osuq%WAdT=S$mB}U zOU`&({j(|nQOEDrmt4oRIr0{_^{keCmN`(P{%wWvbv4M#^f+H=yXqyJc8E=Y>m|ac zRk3D}Cpg!x1Si4nt3Dq~tY5Q<>T3~QOt(Iu1OBK%)6sWfu2*O4NfjWHe*h7*N`ZR( z5s6bW8~}*|LahosRZQ)IaIYEYbo?B<6gN3*ub#*LUev@F+2dV~NlBn&+$VWaDN!ZA zI7c4fx3!*s+qI$1pY!ve2ms^yr~HSq$XLMJfvvni5#Z^B9m=!2j0De^<9mmGy~ybi zQ`_ly(K_ibhm-f)d+vX|&%ft*c)y2d0NgW0U5tkE%K_%=;=G8m3xd*2ixBx^@4PXrMe}UjJL)p_!ALlUF#(wU0%69AZ7&!=7Y+ z6QI za6l(NVR`(#;O8HIACbQN7eC8g>`}^lh=I!N9sNDNL0*OR&ak?%$O=F5E}438-bv!| z@AS3*vVSfbPu1eh)hxQ!J&N4LyS!uJbg_E~EYJC=L|N`{NL;Z@49EH(M!c_ zm-Lwjb9vJb^mD<22!UG}lBh$1JR1gB^6RKuQE8=9tk00DTNt`RNgbe+BDr_^?ES9Z25QW57o_-MyP# zABPx~om!ggG@Xc1-3g-fs#>jlW$t)kDpndv>xyI)UZEcHQNH>pPyv z&s6^|+U+F zoPA~<-O-3E5S{>hpFNnB1MT45aW(xuix;Spu^GMJF$bhSBc;UHwI(F@#BO$I<{B?< z?=*)qOQDs~VV>EgP!y)==d4YmVWi$N5}4FPNLC4;l?2}a8xrVlLk!Kk5hodR5S@{02{}kFJUWLu065`uT|E?9Wqw{qO(B`TxK3DgEZH{_)x{ zB=?%CSJ=!b6@uzSNx(z=*-}7tjcOEz64_}x&xkWp`!~7aiuMKxuamUKJoH4GR z`t*s3KR%@S=6{Mc*W%Q+9VJts0% zWCkYuO0?r79R-O_*~OfL?lGT$U7MZ-gPB9MVsT~`5cH1C*x|jKhx6SN^{0Dwb*myw zAnjtFwJ~T#-Q23Yx@v=OfO{@^L0ScOZnbfL-z;Uc{jcx)my2_6gS(6LmTObn zV|*TKuYILo`@tDAaN91JbU-!JIu`zP7oD?57Q|?lh~nSUvPTquO7#78Ty>tAXQFWr zpX6tN|G|Lz`=9%>PcD(YXL49%fOUU=mbSniDPQ#;!O#2gx%bt9zp{b>57Z(kTYP}8 zDo?mkpi2RIYY>dCUCycxm0REVMnKt$eG=?GC${4m16eU-dh1x}OyltPB&@to4*Pr* z*l=|O&^Z^{nbvq!Lz}QRH(27LQp(>Whlj5{)o z2AL>Ta*Me};xji$Fvu{SF-xPJ?i47urey^V$MQXpHf)MJY*42#R+sO11@#G8jeTZd zu0pkOM2kw&guZ%~Ou9P*zh2|tpG)??xBh|mA@k}e*=;(N2|u9GM`DIZ=ZNgw0mt0= zRwGscVK+t`Zmf<>`K3(k8lH{E`jHL6PE*(^HfBITt9y$(-YC8Ip!EvF^TMk0KJ3{A zHJY0#4h7vZ1m90r7c-opj^2kgYedu&CbP4ovhZ+EnQos6Jfr6QGJ~vJq6eAPqCOBn zIB31gF}Mx*RNP{QsN8sJeoJQWOh5t$PP=^MdAkq&kvh0Fi-j!P_N2E`bbLgx4ZIv#)c5+G<=piH z^P8EE=LTcUUPeSm1)$r>lpI5(kYu_I{kb%6 zEL)*MfmG@S3saNUYkup`qL6yb{tM3Y`=Os{&-3}bYQTg);=f72(~TksY|#>0RbBCW5^bXC>07Dxj6^wP*{1|1#cXKfF=LTlB_^;TLWIhp$z zoMgOCxp49|Jp1cB6V2|^SX5)kiAPds98)pH8gR$^ceSM*Iug!YQ!qAQTJ|Eg~7EfrbF0{cJp+^ z?p>7^Ntlret+qF99X`(M%l@iz^EO3HE5LClE~%EI-PL=^SI!9%7NpJaj@og5cOH6S z>-e#@P5u4&d)Bop3rdBGlo)f?!%9k9&`vd-6>{o-`T9pkIsQt2*Dpk0a^~}HC4YdG zm#m`B0b6GE)}Gukb9Dx?ZenX;Ng(+mRp;rbwXNfxfiYkuPcBRyI2BJk$3SO{do-t( zY}ON?Z#~fj0M2+9=+E0lXHcz(hxM*whrXVEq-MIiJ!HCxs8>SGa=PNClL^$zb<@|=I}{ONvBW4kw~nEp{W6l;bjel4rr1&BO{N6nA-Mok4MTUQmH z=a&x!Dp$Vd7LP}|lIxG3A5*$~YJPMPCd zSYk_Xla>__iTM$=69$@0>zhWubjV)R__Hfe&7z6Ia_Irgn@uo#+)a_R*mSkv#Ivbn z6M-!kl?juj995-HLQ3odaWx5KN31fb@c|Q$?DW?w6QUZym?((@Wi*{?5+pzcrn46j zWDPvECuW&`>c?F8fu4*XQl&HvdqSS(mMjUgbfmDjQtKCX+FW)C%0W{L^hUcNeg83vpL+egP3d#wV4J! zIv*(x8Xi-3=y8bAq}-DexbEHnK>+|FFjZq%mF*Y%XdHBo5e(IyxjqkzSQwkN^jIHL zzqmfamd5})8+#gl`~F#LF?`UVdS0xsL(JV@zy#HH~&+UhSo;1A&X#fI6dq zmlL;*E{UN=p)6BS>p{yvtIY6I$L6*+(qm*&CH-^fXMS&=-6dSg1ydM9`rIjThu3@N zg+o=1B!OGHsa>#NsZ{N^a0y?*3Cg9{`6u7rv3qoNy318{B^V-}fNFACz41D_J^?2) zu(s8E_jAfrhCZLk=Z(Fc*m2MbXTK{JW)&s3ep37nM_z!saMajny-cxdg;3cr@sP8d zv?HHUJDLL5Jn&<9$wt#uM(#U`o7YN=E*a+C)W(E5t5zKuc1$xDxc`gl?pZsnym6hX z$jp%;PA%CYU*6^2mfVSVU&Z$=(2PI5k>X(JRG*{N9xz|H~ zcCzlH-`eu6<(5PacH!vM$L2mQIq&*sldruT>fqDjXoypAn!N_|WRWu!{?K?=oualH z08Uo*yod`02k2624lI|$+YO+tkmHOhBV=f2-f|4RvKpOSSv)dDdHc!jq39$7&zV|O zc;P@$1u!aX0ocHM$8iC}$XB{>sE8f)XzA>deyob`Q4w=F9;R$x zkeV)aKAqivCGt%GSsbQM&+Zb_!}q&TfzygN4} z)jXcTpk8`+tzJ-v$}4@J%Ft8YW|s+SRdl6ZD}`5Rx!SJsc%`~#y!W+@eVFUps7Z8{Bu2gf z&H`rD(6MQjtzhk@*Vy3D;wSQS57MjCeY`;M3{exzV*o|QbOj?EELa``lurpZd(u}z z*b`TN?1!$MemXz>c+p-_g(VqAPnBXDnquipZh(tqR0uqLMb_^aK{H*#*H*luhnueX z-P&ioC!_v|GGvif%;VC8pDar!^<7$fx1&zAlNOxF-Rjv12fAkiyq)|cA_c?tg>p_W zHT$f8*;SOjYTm3h2+`z5&sawsEzE)0sVaAk`=s-sbK~voSr*Ot`Mgh#)~Op@6x~t> zMvW?;BK6st0MNSidJNe1(=ld7$|4;?k*xQ@JxEd_KxVlCM z)%(Y%N53>x7XPjJv7Jle>VjQP^HBa}RteB2Bm4cjx+CL}`HI(7Z9-#91Qmfds(C%n zPNN;7ocMJrJGHZk5-S1^IXJ?ncyq&XzuCvyLJAOGG(qoC#*aPY3vPuH-Bd2F^3K2h zs=S_0{1aw$m564|O!`T=VpZ5EXG=3VuTbb)0^n>nlCRUq$ zzl1jkp?I2-=&D@6(u!qOuauZ4XPymejG3@y14BxRx2~Wwr80c&mNUraEbBHd0BBGq zo#c%VPxDn>IZ||c#@53yW%;=BvMp@+hQ4f1RX0+oW&%!>AW$A#{VN^*q8g4%N7jr+AC6J3o_NcooIJrls zCg*_r#O9t4e~9D#AqE#Z7gk<7jx=D0JR{&+GJGQrz5B9U9RJ*@uV=bb-}Jla<@i&05PFY!*NDr?1v zf<}5JP}TahKmSAi)6f2^JUF^{T>G+9zPo$he}B8=cbp~xLKy^i<`Xm(F^vh)rD3o9 z$U3?o^r^mDF7?!(-MCNH3L~pQL%;BaD23=Zp7%DmbK0Ww1kYa!R)6Q;6@U%D$Eh?D zBjAkxbp9~tV>tG}Xm}vQ*kYI9poSVoM-&RW#5MZ0&+y!S#yFz_P1Cv3>NHSKkk^xk z&+1KX&>NranObDK)m4pNf-5PM0_31^aYfHOFLi2Vgxc0TR-C%u_KRcoSybH;)V%W` zYqC058>)BY%oqD~bBYqBn<0V|1DE(+{Yy(T%NMr}9;M2idtQupC6pqzUyN_7sS$9r0V zO>IrEy0&Ms2 zClb7c6{+dO1V%$;ofLW021MS=POC1fUA4Mycz)#i(hsilLpl2M_TdkIzVLVcuCZfX z*POF`75dQNub)1jyZ@sP=6NsbO6`lA5s4XL*V&W;tbIN++spo>@vk-I7yi@xUvq@j z3_pp3tK8OFwLC(uAe6_b1vVjh!w`i@z~I+LyNFV;r(9efLym5IHGQSxgp8C!)*1H# zIaVNa^^}EsrYY~eAAW2tQnlvE-24avND~@Wxn(g^soYYPvo3fPQ^M>Vf! z0CFsLg;Sf&E7`Ks6*e+PJ#5~arSTqU>IU)D=*KQgqoF&;6jx5Q#KEUl{?qx^)gxL4 z*6LuL6gemflsX;LP6{hE48?7@aX&=;cw1R{&-}#_P*t6mdnrJ3LR4L#M8szs1p$IPS zyrA$|K$X*_sFG?Qk25n$-#md{jAJw?J%Wq+G4_C23FD0R{q^(-9rt(f0u$5Gr%!xh%d%ke3;QbhUuO3we}Jet+RZU%WECjgOBvO=5Mnv|t|t2` zhBiCKLQdx(iMg+p1UMQ8#nbS8>cWj+2yw1Wt}}#_qDK)_gcPp1vsX;--z#4hR!&|k z!lx4Z#_tVvhZC__4~D&DlAEkkp7(Qu)JRgi!igqL)`@kTu-oR>8}3obk-qR*JbWx6 zs+=5%9ycpz1TQK>Dy4Q%RDr zccxfzs6yA{O=1UDxZ_HnD^XW3yb6C^O5wR4h<~D<>S5Llei{-@VF?lU*1>uo5x(dg z^oG;}4Hf05udR=zPcMK(5>#q599xS)LAr8by>>LBcfgpP)*KsJ6ExMW6RK(pN^!CI z0k|cgfu8n^F(0G`OPht_R3pY|SkMD2G64$$Rv);+m9a(Vf-+~P-;4y59G0tAGpng=Nkv8PR9R3cd2!rA=vDW7{cG9dpS~=wk*jqU_c`;=AU@)50#*SFl#S|MpiOe6AiW2>4Ekmdo>{3axn6=&cH z-^j3j#yZ+-(uMDJPv?$-5TPxHPi(!{U&^ohcc=C(WcAdkUIx^zt=;@Wgm%wZH?}^V zy7{9}%C2nP$RtEv&Pq!qwr(5H!A4=+J1B>nC!T$~=7=W(@~+xx#Ldu4=P5nAyq9vk z@W+jppWf^|{Z4qI=Av5;S=I31;l5&UY6a9xaJFMNFG;IqU(@lS;mS`hrX4$=u^P09 zagcfqP)FZ6$7y^A0_v2Y9bLRuLSIo_I+!==cBWQYDD~8zbG+B_n^yCFAnIZHdSeA) z>jPJJbRl9KI`I3??E5DGO6UCK5C7c`oS$4fXjL8~_Z=}i%3;8Qxrp3vGsuUl@@%yn z0$x$KLV@~T8p4(QPNjoAQ~u47I>M!70$JJ?f-Ryo7HFb@&hZxYV4)RbFwdsHOP6vF9=CNl_o#dXcPl=eg8pFUsqLH~HCgsdWj{;B!m=n>D^ z3-vXgPrIaUkWYggoMB#@MsI8IKurU)X0#www6(;*;9R6>U2o$id~~wiSXR19`q+lCOGtX*_v9cg@2CuwBjLE%vp^lU#I1G-Z9P_yNvt_ z!nNpFfNCM@%+RjY(HO|oR0^A5ZAy=THPi%KWBO+GS=ZgKHNWnEcj-LyE?>_2 zjzF%?44vt{&YwIvo`TX8L`1u$6@XZn1VRB0=5li=s2s<>v5teapRI8|o{1wn>#u4N zYCf&U!oUULqf=E|3W3Lsi#@y6eEU`bhkKgyrn0{}SkD8#dm7X)l#_YsV7(qQH3+{L zhgyirRE020;Ne7|txpK}dB6aKdv@5a=15|)X3oeYni5q!$G=xkEJPK%Vs>-yL*0mV zhTDQW@Mu!tNe1PvziWR=zyIO;|DXO@twW0p=KV0Tu${5eXxsYlO~C#*K+xB{GM)x0o?~s}W%jxs&B_ zGp}3k&%YCX8oT!5ji+FL_`%bh6a43^e$GAncnZmDHqN-bBz0J!80tA`nH=ZkJl*3e z*V5Hvk0hCa+spcTGb!3|guhpyd&Mz3@=5@x@C#D<3 zBh>l_4P&^TG9@q`0T%t1=TTaW?wYYQA>duS8DdRr(7B7S5fB*46^oVwd$6N+^ z4LaE}nnHx5bgu!O8GuDt2?J{%b`;orxECY~(b@n3k7!i|Q=SszwOOz#pK`N9r#k+) z^BE_0XVC*tAFju-+Icm2wM6e3kMnRk5D6I3&e(|2(c*esz#@zZF{gkhjkNevd zkDqg2AIY!Rh~xeB_tP5P)2IXk5_}5cWs?}1*3Hq1S!1i*@cLfgX$_X~vfWJjhM{xC zP%P`clCE>)Co7!5@oA%oYpG)h5}Z#hHGlQ5N z?4mT!ZL7IIEG9G9Jj>)lGc%Df6f}!9d7R~Q;$o|YU58a%x9@kK8J|}!6|~*z&e<;G zeO`My$Hjb~?po-)-|nL+>cyUDOq$slB4=#kW8Y=1woGiFQ5oMrNQ}bNG-5R72clG+ z*pkT`UNgO@jrXTM_jibR`7yNO9;NG(q?4S2e@MX=Hn)-9lW%6bcZT!1c+Vje0BvI| z8&cY<<$TAM3ZCb%WnN0s`p_t?{MMX;8R`|^Cmtt zz-DLV^Gwh4b!!$Z{F}k^rvKc_zf~(~W)u~!gG?EF?_qzJpqjlYjSklBp38l@_+^<@ zXrJCYXEle?$_&ag*d8GoJxDuqMjGNwjRgcU!MS=MpI1+H=Zc=)$iqH6iwy$2Q^t?U z`3Lsr#haGVIv9I7rk+~ym~tSX|7`wUIJ@8V`&xy+HlJRM*q6^G6&dwP&?x}k1=0mG zC{RO}>?y+AA166w?b%s1?UCV)52xaL9s}vG_x~u8yUMAFP@=>XEN6g<0$1G(K~}xl zYNZtOq^DVhDETD^LeybLsq*~9xyR7SX6Ww)+#c7@3+2tJhSj$ZI;0|`WAj3qy^?HU zn^p4tvvp^ZhB!|?zi|**U%z$Uis-gc&;pkSxre=oC-`S1_Svb1W`bS=tKURNM<+u; zMy7lI`Q zK=R+d_eywe@(?cj;<)cD5|2rIv;biN>K%fKbwSa}pi&qqEH1fszwkxQw9o)gT zNsK=YKjwT&#$AfoVrAnNGD;VsLe4!qaigb^`s|iO7E9&_DZ+|CrFXxfWR&WI>XsM{!C(uvU4mcUBwp!W76Lna%T?C%vGHKUmKc5%d zPTlYjoL-#8De{(T!TIa^)s1uJ-?*P*r*fVypGS36K$E1|%NhE;re-~!W_7E}F*h)( z+QHTA3g3ysKGXtyQT(Zk!j zoy0{Op~wM>#%jxp(_8m<+T>#U$#AP_ICK^{QOzWNgxyIPaoL>(jvxR0y}oB#HQKwQ zE)f#aN`#6I7GzBTS!Hjy>yU^%Z2z(UV7MK&zw6%4%&awLbwb12kURU^Ki*&RFQh)H z%Fc6D*+8ceE6f@hWbNz@E*Px$=uj1P3R$sW#-5^o^QWI3cQ2%U z+4^T~F3~s4sNspC9Su&|a3LB^)oL9;Y`t+= zQyAPBNW@e(*sNoYYjS_@`UEDsx_`nSKIZt`e$Qf{5ONyaK2*9j^y< z2+1sGX3;5~AOr~R3>7=6h!V~N4(3~0yd~nb76`BMZ*T8c>by4*9j2|RO`ezGYmG<@ z07tzEM$`lh@Aezsr2;h7vhS->LC`f2tzruMy}h$qK*F(u&}$`cym9mpn&kXsxLjq5y zNmtQuNWvbwm7}voB_k~C2cMXr0#{x01E)W;1j-=)f2P)!jGPNkDvFo zGWh65-;-Rf$B_QLAzpTXYimE~Dgnso(@m0IzMfj7K5d$iN3^UW>7HlFC!<`IZrc^} z`>6SJpI<*OpSux%3g5kb7EZU*GGz*?nL-&=ei^0mW=%HEF;yFt-K|r1wM20S(mbIG zGJth_Z+nid`IwE{ojlu|ov4wD#YpLoYtr6%;w-JcE0uEeFhIQal|7%CxYHi1MOI%S zgJvdru6avpkq!8R)6M;qaSm%44j=+Gogq1ogkptwSe-|Jf*uE>R>^`Ft{-{7>kl7) zPTQ=2@dRqm8LvFp13uNDslB6?dauxfSImOfT>PwmvE#Mm++(P`-Q%qQzF*aOAa z15>AlPyTbW9)MLC+4I`5>OcjjK5G^J#XeBY&paAc{5?{wvbD4)9H85Soe=Wn6|HN! z<|`4(Tc$X>h1QNxke2Fm>GyXaeSpUM#G7)T-{SRh1dhDrCLX6cStV?jNx?DG-rHpp z&`%^5^d$>Qp^(ffH`BH$BzMWL4EGQJW-!D}~5Bz&vMvb!qb>#er2khq6*D%Iioh$XB+wc^e-#2_RK)o6TU? z&u`b?;gQwyhhkGKXgNRYw=n+R=f_~5a}*yff7>yEHyiqDT$*k$s?dMe^Yb0b&!4v! zC+48q1|#lY=J29Yh!sk!h2v&?8Kk{pg0R@@={b4qx9Q0N8H0am zjgHkz-El!EB>oWh!`Nb2q6MPG@>iw9`na@fr`Bv*>mEv>4p$V_syfV;f z|K^k5?X=c88{&`B9+JsM9z6-`PZ08MtH`kj{<5ha1XiLhD-~E{qKIg3(E}M8(+~|Smcfkt9I>)J4ub1?(!#u8M*J>=V+l@E-`OklQLxG-{*`fF0L&-|CY;{cDcfW2{ z^YEJXxrVQa{m&@;ReF7wA01M&A)M{X?Dg~a#TT6*n}n4y#cAzhh*rDiscurn`+aS;iH$5;&GQH; z7?p;WiTGB`gNx6b`=!U3@%H^Izj(j&&m&HpLC7hU_V?|I2{IUWtkrbTxvG(@Puytj zm5K?d8~i=yI;?x=< z{UY)34~2)7T1z*Yc#snfC&xx#$5zzjF^&t62v1Jcna~eHGP5lM7;soWmT~k9PNFY~ zHzn_DlC1aY|KjjjVZY4JARj{BC+5dMWSbC)DsdEK6hTTyXAL~tPYBmMqC;fmSPORq zZMU7LCu>NtvjT{GYe!uZ3ash|=i7#pz0US|=8l+Rp(_#fV0(T(13`FwYsf}9+?qYx zd-7fXM2~h@oOG&`=lVb9zt4RKu06|obYXNcwo8a-@C-Z;H8TG6e;Bvzv+uk6z3y=T z45^>xe2HFmxvUy7Ynr0mk#j_Yit2lhe90hqC~X%;^6gWIX4mKn1#$iTi-8Mi!(aC$ z?>zSG^q<%BwsZgD*L(k7JzIvy&{5^M?&DlUH()>Wd_V6mb>9{L8_cv5BvttfiuOq0}zq)#XZ z*bh7CjpMnflew`&HQzPHU!Vb)%H956heO)qPwFx5T?Q)JvbF=C9$UGdh4l_At}fT{ zA%i=4z3@qF3{aHkbVLZ<$lFw7>HQF+Rc1K+x%0^d&(F_dr_I`%{7`G|YGM+IPSSK| zua&3S{;Qddv;OISSoj|ba9`E4C&2lu)7*dkTg<o-G3^#Z451@^?Hp}?z&-mO z00=4`6N;j7Y8@&r=Kw}>WVanH$P|~5GU{8tg59exnrkq+Xk3m#1HSm)!llh;_YFC2 zbe%VX)BvDmWzS(%@ga{{#u#Rs&`x3*RVr{r6cCSkIYt+lD#Gm;L2qXcY4>hUow=Rr zLB)A$nYzxinK#W-j}Btv1lIv6yVqX%M<3~) zme`ps&;2WnB(qB=ihH6(RL$k&nambvVL#dT{jHAEzU*PrD_aTEe(cY7%_SRa%zYP8 zwd{VXdwgB~G@sWGDW-4OFokrrLX#t?3~l9;1$bEo^>Y9KvJIECO~7cim#Ubu>d578 z-glSB-XHL< zVXM*35!Mj~_nM!VHo(y&wSI&J094e<+w2?VcE`T#+m8I<-ac+@-s`de;`{1a$K#)8 z|9&&q|9rgr!hNAi2}pbYnGZd2sH+yTaGbKo7?Hxo+O<`2RV8^anw@3pg*YxDb;p@C zmuXZ6Y|6-CuDYE*f^NMNR^KWUX^!Ctxs?ctkA$whM}W^@3|XM)ni5JlQk#zd6+JHA zzvF!l+gnQ>gRk>P9Nnory??}hJ?ATnp6Y#9-i1|~#f!UrIqL@PGAc=oafPq;?c)3X zIoa)=(~d4iJbdZE%enW}%Rja+tjkAFy1M{;=bXWQ#;@VUBakQ_`fTbv>j~7s2GcVN zM#pBGwQcZt2TzXSYAcwo3{)_px3|>2R8-msGq4=BX=9Rh(tkH6of$IP2!K$^nyqZq zGfO;!Nr1$To-?RNYPHs^sTH5*vxK_{8)s|Iv*tiJYRoR;5o^t6RUVKAuxhsVDDzv( z7d{7n@W>R*K?$oM){a^Gxr`qF2>@#*r;Fq^1g09NeLmlJ|N4@f+CHJC!=& zGw>|Yo(D7{i&Q0V%qM<&FQ_45X&s2&X43`*cpLhqhvqw&O{h#qFlT_WjuA%~Isu6j zx1}|)^Bwn~3rosIuXopjkDAk$YE$nnAgoNbRtyrtT>h{VU>!2?orzW z1mT_io5w6a-oK8--5>48(L!#Ef6YT~O#Zq4S>4?S9=+MidyTvJ^%?!93Sqw~gB6~x zbX_YE<+xz zp{re{U9LDRhXi9J)M(+L-bS?nq|!J?^pf#)O{flZf(8h9G^YMJ9}21#PfqlNqWqY_ zVNo36?BW<6W`1k%E>AGSj5sW*mV<30jvI&$i;OvlCAnj%g9%*>l6Gk zCw$#L<(P5JZ>hk*&hmVHg2O?L0hz2;@`H^R?#)X~b7E{ZS3u1Z@W`}2H+#!_{*QbA zo0%=<)$$B>=e&?#;SUFiEur1D9P5@D80KDaAeBl9Y}Etak^M7;y>8(J(!Sdcl@&6$P1jf5)nRA%eN>lp!63y!YL0ni^rfrc zwC)Cz4W3>A4m|z4elZ$8gTo4{I$E1(vuIGsK5>zt7JfV|y-f zTH1Xl>m6H#W=Mlr)M-ISW;1sJwTPs8wKfF%F{-b$bjanE3d4^ri`mJp;mnHq!Lv79mP z5Vo7`oL$d`P$^7O`C6#{=}ecS6@mIPAEdJW47J9yh&4sYq8#p=1y*50_2E7%uVJC( zPDZ#Yd+(0!657$|N~wCF@VHKB1=T!h+vu&NupiFaI@GmNHq|BAehZ5x0>qHbEh%k_D~<`OkFO|PvGT~O<1So z`uT6mEqeZ|yOu)k^nJD<8=N;KNCmHbEHX-~eS9=8+IygX+aqj>;5jAg4WGwirn@FZ zDE;cAwuCE((Baed{XMDrwcd;`5o^cErlp0H#h4Op06kw9-0*y;PqYD=u$5A*xb7Xz zG8Jmno63iK?H)`*>F-dF$%B5}?Or?gHgxQR!k&e@bQFxq?@$OkNzO}GVeTQoLkpGo zyc!`#nl^F$!P9^K+C0dkT2`1mvh3>43BLRbA5cA+8CP60VwuUCm7S%O&;fVR$;O|# zeVtj0^lA|qs7;O%&4N@g$)aE13fG@whAWfm(RstE)UeaM0b`uSq%Ws`d_gx`#Hu##0c#FN zPa2M(J$>y2uEJhja^s(2u-sa6cKO3}@>b116FetJdVZ$P`pQ^!P0;;v9DN@~rI783 zN_!r)ase{{hQkSF&>8>!`smTACz>2NAUQaK&uwPo?%6jnlyo;sO)o#SNgABcO#`Fi zG?9)Jl$O#kOSU{~Y;YrH*+`9hHjYwnqqi zvgg)SHQVC`W_fvil(aL(o|}Kz4?ap*RmpTEmDD)rzk3K=)&u?)QL^9vFeJ&p6MAStGq1s#)B4{ysEzn9RED1voq z8E{=;y-*MD!`<8N?bh@Zs8s63h0O{PmS)kTVJrdZ4sw*LQJY$l@3R%Ft-(f(GI4NC z03x>Bb(zpYqP9=@i#;g%1^j+zL#=x^L5?>k(0Lg1pTFXlU@e+=N+n$|XH{q( zjTnfL#)o3Ob9H*Qy`ee1E1D171-HHf1j$6Ggwg5k()3Nmx$>kpe9LY`XaX4{WrK`B z`@qv#4)k@gOLnE_QIXNc6s*2g=!&!v@ZK-(xAIqCT6?Rmt;7Smx!|a% z=u{vOs-l;-Wh!84o(Hu(^feTE8b_Ox3tDsCAEBnlKrSV;Z`5UYcF0iqHfHkhxTeAe z@mt|p{>^p+0SF@;qk-5_DN8KC!yNO`Fg7I}?J2BL+9FNO1u&G5I0qqfwpwx612_j& zC}&|e_F)e6@PijeCmhi~XFz~FD29$kfmsGupFwM&ooh9ji8+tJ>cvvlhU-vFM9gvA zq{7(&!64@p4A#DeU(>xtUgZ0f2KH_p_w3BJ1Ozdt%Hma~LqAVlKkLuiLrGVb%U2qVlD|1?Dm`Z>9b>XM|0d@0f>dlvl+A2B)hR7I7W1SS@ z$GTiqRG_--V=$X;5sbVLoMvYjppBUgf$hWN?u!IT@XNNU&S~c7nz8kEgV(Rmb?>)} znke?e`qeLR0l>4|<#vzzb1Y=ND%4?wrbi37uHJzaN$A(aB8?)U#)(7nGq}CaO z9s`izpZosi1@2)^u)=CRa{`a2MvK*2FW+f;V*8rac4E8y+`F_>XB0<` zreMQ!W^OdF7(n4x8CLVuh-OFlo?ivb)gSa8_uG$_@pZ>EY#5?<8f0XJ``owmiow-R z+jdh+d|h6UNeX%P!Fr*kKWd0FG^36z)WAj?C<(z8Vi)Pr)J{Q)6sk)q=5tQv8GIL) zc>O%MrV*qjeLZB*XXwOhR!RQ2JfNos#Q|qcpE!p3no}qcrIFSQad8-mbnxY7YENn# z&JCtDv#8k2ikXpW23i|t1ZXte!^^Gz&g!{Fv_qYGo8j9?#v^flR+AW~u4~^UCQN2{( ztAYG(cH~>%@4bKQP#b?~5pngE+8-P<5nh0fs`l7apZCsE}QvP}6$#r`UFFLHM2*}9}I02T^`N(yYs{lUAr%|?GrqqM5 zE&edJ`_qh6k2GQY#_z3+dh6Q{Jh#_zZ{IXD&(G&LEz1)EVRk)R`3wvQ`@cpCzoE|W772VjkejZRe&a8?nrgQql zl@jYtwX|lIK*!da3GT52LOy@H%Nk{z&acmTh#XF5D~Z1H04iPmD%wUL*&s378%@$a za7#xIJCI(Jo4W8(E%UO0B{4GYiFX<`*$b)??Sul9Ni8kSRzAn!Plb?x5O{Oz9BNZm znCNdCgGtDIh~>?iF`HM+(xP><9_g=D;$tFr*Kab8qC^l%ea(9YKN8F zo`H~+l6v(i91GaM*91^Vgbou%+7^2H9I4l{FQ}%g5xk49=g-7u3gJV~2UODmMr+a> z5OA*kLugMJQ|K}#&odR7u~dq=rjZ8YN$`LD6yWh@(Bicg?y*c+p? zq^4=HT<6NC@zYliz1=`)dCi%KoDw5H-dqaqd%@zp(eOp^+!MgM!kiHl#Ivz->u~23qXgS_BXd; zJf9yBwF}K^Po$?7GYA`K%~@#&+kmhOAw93ZoKDk0g4emr|IkJ3vTv$<9%LxmATaT7e=o!>5>5T}e7JlIK4){zp_eat4{xf3ysZXdUGZb>!l#c4;kXbR^vN?tZy zi?`c=J~#)KI4TMnAm`{tJNoKM6-cV&I`xP@ObTsc0=RSp6jzu`GDtqAKMT1GmpDTq zG+eflYwUST4b#OnP-nW#1$}nfy;L%)F$Cdk!DcbjWzSx{fEYC(rO+u)swUWk>!^|A zVEkU-QU6u{pVCu7^N8qR0==P=8j}h}9BuF*3`-m>i*-YL4nY(YMKy~&GKHg~@-Pwh z!E^>D7Gw0p4`fWhj$M#5QqlyJ4ICSX15|a&!;G7NCK*s3c;WVhzM~;Ta$v^eRb}Dh zS=Mgit8I}3WEu?=y=Y45FO&7*oqd?6@8`}Y!OvyB-|~l_2^cwU{ULXGX!Nf8_zt7P zKmX}J<`3*id^#?T%0x*DZ-5r9=+fzLe{uX&`UvD3N=p_gfD&JVFx(9JHo8Kd1|ZGp z4L}VYURyr6EMh95wnN~>E=^PK%py-UvZ8mN*$tFMzt`v6-+nSTE+gUB;{=Mk%_Yw7 zSN%f(FIv=K>F;REiJnu{U+3dMFG6)^56b)Zub9(Q{w_YEw+^2;hC=k(YYued_-TrV zzj{9R&+BJ{Yt5v+=hu7M%jBVenbfq)8lg&E0ELh{h$LvL7JY;YH`Hoq;{yoctpNQB z2F$)|5Kxh?ZAEqF{zHlf&sPPW`lb;Wp`L*G8~(~eR5xic#Ap=kg}4DD%mgDH;1Ph! z$~AEyHkFD2`mzSC9dIr#%n9)>NNp+p@=mJOkSsT>KKt|l22Apq=_vXsYBu3-gp4xjhChrn0I`<3Q}w4?re0 z4`Sc8@{(3}a*#2eGxBPkb(%>JfT3!Gbb}{PpfMUHkp$y!v-lxxODyn^&_~tQy1!8IG=VU7F&n$R&HS z;WH5yCiTg$*CsGw;h8#}?|@5e#Hc8JvZs2+vf}T=?Mh$^NEJk_afFJtzJtZ?b{5Vw=G9GurPG<65Xnfq z5b0x$&aU+_#<8h=DX2TrL0H@84Smc}3R$PGd-hUS3g*G@;DbabBvzi&u?oEW6g$8Z)@dH3=icLgM)$*&qHOehU#$5?^w zlNZ-zpRz&)5f~C_fnixmvEMvHI)AqBzD}Sm)Hq)C9?HcZ73q3G{QfTB$t`&U7`74? zNzPW458i3Xs7^~c-%$C}_u_xj{{j>Obp7Yw`^BsA?OK2R)qg+lKimAIe@@&Z%<8GG zV%4Ddfp_xh=2-aks`{_Ljepj* zFh-1l?sAmMz;kmL9^v*n(OG9~1zsf1DkF4|fDsY5qV*5&hdq(%S5SOp&k-*|rauz326DhDcC?*db7t#er zu{lsOQ>+F~1DG^ILNpaiJWpgGcmQUT4eJPk(ZM=6)~Uu~hvx1O#ZzG3r^wPmem?vW zaX&0=;9Csw+RG3pcn*~I5YdMS5N~vYAsu9`sdpi49%u2vmCGOgs?1{b(|k1UFlnvp zh-OiA4pWOM`rW*zsTjqz&%v@@$j11Ic5QH**LdEF7Owpw-v6GvQRZX2a~PJcB2u)S z!FH_|kozx{`F)SKukQ|-YbnuFqH9fT+0>in>(m5&pvR_ykg40{bIvv))uQeW zzMNsSGPTJL6gj;?nxS18ho_a~eIYW;hiOpAg+#?SqY|56{eFV`887<>Fee-*vTt~J zcWAWG%ZHwipE@V&yt(DdeUQr)^}A?oQY6`)Yp?1v2Vl~ATeZ?Pi8nm&R+t=qjy(cB zN8Z=n%3sXtGi%wuU^fn(Wwy!*J48dCJT0X=hSUISvNmpCmO6&J)Xwd%NpfQU>Ap&?AmBpm}eIn6G2sQ z&b>1PUEM3v5UmdQ48QxJkQL2{HL$RqnO~f^3a@I-GPG{T_pZ8n}K><8jS#Sh$EMLZ-W$~9*%sZF77}~6JS+nF+Ig`z7%L*VsL=AmQpOzSIM;@|Bj(o#WY`Vq{ioQ|Kog>llqDhHCL z@V<_YCboaJKAD{gWgePzcxfC9A<1oC>F;37?|2Tr`5-%cpW_K}Z4N~qbmdR31+Deo z#C`VmgxNKe5Br=r7h2u8>DF;>G8dH;P9tMfC7rq2+@HDVdqiN2-mbRcMNbnSsfr&^ z$4w5?*nBv>dGgZzG;}Aso!p%*`*Gv(<2{+7Knfu3sp>vb=0z%bPqX#w!bC4aa}S;% z0MISxwma;fSI1m#9NbjAgVU!Zy`SWBZT%QcIokyveoj9cKRK4oLRt1r9s}+&Sqzsv zQ$n+bJ~O>3j868eyz^Y`2f=q*0m)&$z*wHQ?f1Tq>g?4mPd%gp-mL*2FrxWQDC(6O z)YWQ@0f=V^-bjX2`DI?6{SEM>na-ne$n8euIiTCoG4lC((tV$;apo8F1M_}uh2HGF z`){3-ev1)*-j^RA`K}(NI{hizo`r)88Q#&@J5$I`wZ;`E*HeRjWQi$U5E^&cEr-G$J3}<6;CM?(eo{2?d1)TehKmB)d~2SwR2zLQO)8-lQw8j1B(eOn{3b=Bpg}4|Lj|_F78?dtXF&u(_53t z0ANx!>i8P@MjZ@>QAdaik8rYlvyw`AwwNI&X7F_4DKH4v2@PBY^&Z5XJBB+5_6(M1 zJb#r0qswMpC|s~sLj1^2AHCe@GxY!oTBB=Cuyeo7emKfP8eD6vUa*4DKB-t34!VvO z@KGP1QJ|6TkrSf%^HJ$G&)2;K$c_VPJQibDN~B-pdI9Sx5sU&km%+&)Gv2bzG|>r!=}ztGkg@j?BK6-npqTOyJnc=$*UCYn( zXqk{K;f!rZ@6sQQ+EIZ0`>pXbc20g?dgLK+on(~(a&pmUEUBozDb)b%~^ZjV9txA}|x_{&PU zuj9Co&3ynj?0J%Zy}0}S_6pU$Ydtw(+Wp&~z!v@6 zqD`!q*LDb^Av=SJR6!?>muBAs_XaI>?t7bAHN6$Bwc*wj(PqOAgC|(&>#ud6BDObX zN_^aK=kP?po-_%^P{->};-aRbtx_FGrm}#`7FVM)_*`#xd#X=pIvB&TCeCWmKsRt} z6Fs`h^}*4QBwj_nGxtQB@8H6{3sMnGJ?z3^wApf7!T7SInEH}YZA0=`KMGGRZ?qK8 ze~BTsR7k!|7Y*@Wa*}=lqfMG-0b@iqMwB@NS&5 zbm~F(#>tR=dN|A6*!{4ce9YvuZf(W;8rBomghHiG)yfPT7ok3Tq`5}b(gZ#pxPW1q z1$HJm%ZK;Nlg~w-TSpv+9PM7?onI5mNYD)KXtTNlpC@B-+X}ROo_kr{tMAb<-VIn9 zlGe%`6S}wV^kZIlTy5O2pWZUz6d1Gj`9Z1xIOv&B4S<5$ouI7)u(2}I4UD$+6G)$x z6#^DG!xd6gFNLWTVt08}5Z4{~b^kTqi;I7b)9-8eVj*{ojZ9wdVK6t z*o(u&L*7@L|D#QN={Q<;%1u`LiW7{)n~LRYX=W&f7vqVD1x}_i8Y@DVJ_haJMx3Y0 zH&_K%3^>FHOu{*9Evg)6pgmuPyE5v?f!bB_9h23%)HrUwkDOE`HFP~9(%FnjY>D?7 ziW>6g9_~Og3Tprw%xa z6Z~kZaEz5RARK^i$WNLS;rPXEP#%ZZ(E4?_DE1IX)d2$91Vu~F@f>v-so3jmOwZ~O zo%filGlo8yZlwF#yv)b{+!c3SyOvr_$2*L_J_M}({AREu$R2R28&t(^(V(0V0*JNo z?M6N+>hER$`tNtWzi&Hd<8Gc{%})eL3FoeNmBX!*$AF(OiQ)COHau4ZNF%Z=S}_6- zP#Bklr6?~5LA7#K+q!G!t&`P=_0rdTMt#s(@q$Y0Qm#GU`(zSJsd9biY{gb1Ol_tC z5-icN3wFCF5>t7d4=eYJgYR)a z?qQv_RKA^ZiiP#FoEYgGpn-$4G}nW$7VPQsj51}ie&On?^>%#Uk6p;k_Qm=N-us}s zyJ}ml|50~?@N*$qt$QgCqmaD6`dbw{fXid%)M8)et4MBNJZBXx1-J{873z$p7Gh9B zE(p}3RFjb24m8o_#nPb~y(q|X|T4w=_*OCt}IGU+xKUhmC$I*5%Lxy_T>>abv*cbDGg|Fh=ci!0q z>EaOMT%mt1v;=>KancIHw1DJUne31wPOP)Z8 z*wp(@CWb_!;t;s{HYa!oe9l=v>@;pRs>(uc)ffx+JZH%3(Mhp3FH9d>qP zcE?8M1Q|UljVuOs;d88?=ve{~p@Ydrv91li!KQ#1C@jTFRz1mCqsh5u4ZNEL>wQ9) zg<1Q^DjT6t)LQcRESA07G6sP`->|N9qQS8f+{jztX*J*>Fv)(2<)fIF1rF+X#3T%b zR8>*WVQTxjJlQ<0j;WQ(?uWB3;{3?DpT(T<@hN@#7vlHZo9a8|K&tIyo<9tTCP;Rz zU7X=>F7`O+sNsU=P9q5fM;O{!pn`-&SvlmanRkEm{QIWbAwP@Xn6`Jqnpx~Fzr26<7$6p zl5(kpbC-KaLrBpviZZxytC2Jht}5MS#d&bU$)d6i(g_1@lR&qs*dZ{P)*VMs7nK4F zH_XWzBc5b{due7qAt3Tpi)s+PGWkpZWThEh)QH^%Y(#B^pdWbij|3Gp0b?vOH7Y$h ztBNTB4^5&}GmnC-X;GYec>xVkB9P4hiL2ZVIAtD#9yn&r1jAuGqBeGNA`J@(FDNhZ zBVQr6Zf>3HY38DjQzgb`zFvKJP9Mfs3yvLiif0U%I=TX zANS~M9D9XUF&uOK@e7EE*+be8Y9<=&?ethCdXkJikuz$)vqk9?PKYZ#2O!nP*0dj} zq3oev*4H20-plW9((7*DyKKRS9KNeRzI7D2%r6xE@Ex^m>Gzj6zuvVj-Y-y&Fw~i1 z4dM~Mm)7=pOW}l4#t}1r#$Ani%X_0#-I-74fw~7IlsC0jRkg*>Qg;ZKrCCWzXzcZ% zjj?HyM;XmlAfqx>xy%+I`B3Z)y65*1(#dW3uwZ+tmk*hJ9`z+X2zTC^Tz-=K(bsmlfBO@fEH;Yh@@N9yxT{eQxyc-IRNrz*7roM zG=f`>TgkJGY<*0+T}jar*2P_U~6yCM6m(F+J@)6h*C=$R@Ex`;?L5`qx}X7ZVI0~clBlTZM$T>J9c6%{#^oCyu7 zkNDhEhL>fb)sq=oEsw2l)_k$r8r5$g@||F20w$QPov-=ylszFZqoF#SmY$|?V=M6- zEkL$e>2Pln4&@;bo?jM*1&T|DnRP)Baf!8}1%vb}LJ4K{;DyZ?u${y_Zbb4d_2Las z>P_G#o6(U_BFg6VD+WzqKQIVeF#PC4+hj)+(T5bF3PYDvfsH zsJJHpj@z_bw{RMt33^5~FP?t3RG;-Q1mzPCG_IL&t{9g6(1ymxh*XaARWV9i0i;S+ z?>TXsT%7*3`8qtNZ+xew|FE5doh7-tmS@x@6QM|L4vAIew=RLpX1t`bMr|!4 z0s~eI;olZ0jLf?l`@Y=BVQ-#_S#qyb5IVug&1Y_!G8Jom>kxiXp2d2e$x$gYJ9TF% z)=~mQ)Pgbud>&#^U-v>vHE$V>nK`v4tn0crbl(byVl!r z|MTIQxSQ``kNHHi?eF`s-&fkcLZy?_UmE{W6U75S)_EjBo@R{o5#AD*y5+l9QDc61LT@0l>X*g1#r zNM>R{A>D4BrkeBq_?9KkN1B!Iqbso#*PK@1&C5sK>k`hNf*$>rFP-q;)DweTqExYjCx{^9NBC@2((OB8) zpNd&Ot^=t1^(bi&)T$jz6HJo;AxVzFP-0ZUpdD_61_{eX-|*x~gxcB7o+l#J(%b`p zr{Oua*by~jh!*QlH3VpPP_7-~GC)%XfxgHS!~bxRVrdvd_&Ldr5pU;IM~u16R5~mG zGuGvzcC?zQn&VjwHEfq5dkk%iVjp0p-}K?LUJ3SA)qR9X<3GkH=e|!PoKOL*4Tfi> zF;Ug~Wezb3Dgp|-SiFZ)<%-XVpSn+5Z*6IwUTyVr)8F+`hO_On`%a#4Wrt!@!SeWU zZ;RMordTXCncuPhF>=D_D%`&5V$aH^PF%-$G0JC$GRG?5D*kBh&0RCSmTbkE^~Yml z#l*yfsw4dnWNw`b-b7|?g0$E7rq}mO)hB-vl0(%zqgci|fhmN5@8y=gu?B{-1)>+1 zRXxG%>}OFs0g2dJFY?KS9|WM_r-|;`UhCca-H_kkj_?;FHLR>gR0%{4vEm)iS-tgR$eT`zVNv$Sy^q z5JQbJG*|$wt=Dy4=~mreKkTVhYJwzw;F!EDhFI$j`8=~|vjZxc)UUPGIci;$8+YL@ zzO3*ubLqHjn5tIJp`r>Z_axEJ$qAKc&Y&>Ejg`(MHbc_gVFE0z0NEvqlWMBR z$_h#cek-9*K&nIRIuCTuCV!}#)V8>eV{EvjYeWO&jjfFri%^3ug{q5ic>|6`RQVN* zUi0XNZ?hB+{t6Rc;dO48YJ)0-K>Jji%|fovaX2M(dLVKr8v_K6c^WVYf)%liO9~gQ zZisO_>Nv3b?I=a@j-j=S11(=C8{ctH5zu;lQVm_*nMr5SYr_zj(!zY{PuD|m0s#aU z7{;hM)o8NQtw3w=ilU=Ej$kEN?_Nj3o`q!AqgHuNVErVEUDo#I1lxT>q7PeiMdlA8o3y8tEInpxoE8l;zipeotUP9i&nwPf|%5YPQ;0({q0P z)!CQf2fygdVTxH;h}5N`X4Gm5ojBcwi4I(g$Gw|Ds}(||XTa@_+Q5Y$A1eVl(=(2M zW`$5ICUnnF4`*#|bLlg)B%3bxb~vw8JZ~iz>8UTSv&x8Zna#$moF{S1(t31PtNRQ| z%Ql;!-f=gc@@U-^|KMNeM;?0aYV-9k%4cEgg-+2gPpR{k9NlH=e!2Qrw0lE^UPCxz zCBl4g;|iR2Fgl?^sS0O@7f=Tkhahm z%Rl6AE&|}a%RIun{;hB1Cw-plZr(>Ag*5J%;vhCUPr=G+CZG+Eb!kqz0C4k;ad)~` zjx4cJ74oW4LCeZ!p@B?W<>8+Hu|jXSp+q#phBZ zb&g(HOvI};P_sa_NlTW9xVLku4hU`{`55ApP>WJu7J@e{_;xj%G%ylqQEe4ZFhG}C zBknBlnroE-5_weK*+s0}jtQ*Rs(7QSS`W$9yk~#N&(`|sRK0vNPDOhT)~5`jY5)jo zI`~b@m>*&Q*pNy$qOaloVsTZj8jMhMw3)4kXQlsRW_cv4Zt@|FHYeW|+YCy2927D%fwy}9DQ)mQ8zH`U9 z0Gls>6fCqmbpFy~`FR~+1%$qm-Ne z;^tTWgSMqi5qSY+PD^pLz&LJX)YO$p8FuN_Ed zn7}$t=m?7YhVX#L^=b7oEkiw%E~9h^%Ra|-_zjBdq`E(_jr`>O<+tr$RIWIqs7vm`kim|?uyKB{+@l96boU;argjDmS|qjUTF_@YQ8lpLnzl`UG3XWH93 zkOFg4o1t!pM@kyP=La0`6(*p-mT0Cbx@@Ik0aS&!B+CXE4q_lxectUc)df7|{_6WU zaozvGyFRCA^VZ!tY+Cx#;XlW;imO;CF&s4o&og0o%1cy{87$C^ z{up`@P7U%Ca&csi?(L%@UocA&t%>=#*O-ig3X|G+t#qqtg0bpjQE(fb^aOtB^sVrc zzhA~}q)|Wl^ovk|j?zJO=FiYiK3?8_!ZBiG0_6fAC;^YaT&Kk|&Ge!g-`UFXbbI!b ziqm6=gTE-MXlPgz*#ACg+u;O_rwqxje=xqX<#+w5zkbl~d)oaQ`<;HvFQB^7gB$ZK zXHA{4uiri2uiJfpoiEwzU-U1$wdkLBp+Or9&5T`6Tb9581iN13rkM@6m9ru-C?i@l z59N_O6jOdqVs?d^4REXQeG@P_MiDy zm&SEF*w+X8IDSCy+7We9W+~{&>&ZLDcuvH1i(c?jA{G?LHDi-{w6(O46^cH{dPk2> zGnBkM;g;!5;&w0Dfl`S1meypU%|#0yoXtV$HK4UG?cXKBAXGW0u*qzj)dkF9Bl(yO znA)vQiFH|4X{NaxLbJ;&w(gS~R6BrBGuIoj_i%K0r@6Qe0JnnYu*r0rB0Kpg-rRnB z*?Ih0E94)QtMv!^v9q=zfXXpucg{LP2}Sf|w2GYvYqCawhyYq;rZ-KV8Er9g$xqH$ zWKO!)u9FotJX3<|s25 zxC5!H4kzm)~?H@Lz z8Ngrs9d16~-?zWJug1Jurr+tG&(Eb+o#i|g zGQ>B$0m?tSucP1U|MLC!_-AtUd-VfgXvu-+7(nU}%%agWkOBZWYei~KBH^r{C4`xA zwPUS==Z4t$OgX`|+2YZAAp*DM32D-Dmv>!Wd;88I zX_5}Oc@9-uf|jg~xQ83PSCBD`Qhn1QN}_3e@0pV?Fr#Q%xhi_9f+iY-Atmb?X^|rJ zq}v^Z>fw2S;F=4`BWCiL$$r-7I1+h6S; zqX}#ADyQ<1l2nYM_UAg&e3EC_=VIbMeQ_CxO_nCAGH8_$fSU3#iA4ZVLPQs3q7}qa zWI1iYT`r=#zt7kB+PbG_Ylu17eT66MF0%^-my2Hvp5BSq9nTg^*E%pqy$p3yq*9RH zsQV^F85tD-Wh)p(zvv}z`MKj-D2HlRia4}diWt1xKV4H=66lHaX2t_g@H}wWHC7>w zDK{HDlvp8b6N%;ALHD-h9&y+$eaw5ccJPs>&0H$`f~BEQAH>}zK73T5R7gQ;^?6@8 z2$A4msL$qe&k=rq@Qt(G!>jdvq^Q|43ee$q=3ddTx^eHJniKqJOIQPr|LqNR0>ksbp=Opg?u{?Y$5Hi$db|~g{@@Z(__p25^m%cD9 zm`KyH0L>cP8mXC~m6lqs?`^(r%&8@!TeqWypRYjNS3TX;`s6SEHBxsmKKC(N&>!darpl+VA$>KYL`?s(;O;&+{GrLp`Hxq{M)8!Qebrt`#0ahJ;eYi0KAYmf>V* ztxOLiC8x7pnP@Zn6^>u?HkzwG8t3TYFz_g0>rfqFt9L*=Bl+miL${0{|M_L=SO0c* zGkBZX8IuH%{Jht_cdB?94^&bqXE5I z^$cHQl36D>RJCVdJ-xSrR+P2JGb&smaf$dCY^#c3?TB&!vcxd7MWM_&1m{?m?10v# zr6HohdWd70A8d4pk~SqkIQ8907p@AUa1Qpx`bLHIxbG{%BllV#-H^Xb2g=-bqOh#l zvG^09Uv9W`n3|Dr&!k0Rcgp5?P9J7Wa7zue z>1^k$yJYgh)X!O#XoDyvG_<7=1z>dX zSeG0jp>Tu`Ug%&hLCt*2WyS| zi(ydr+4vm!V}$UHW;Z{L>ub)mzY2F~o)=uPnlq&V4r$lFzxaEmV5xI*0~1;qwBkWs_{c-`4d$;=In+h4gv9tgLFvV<(A!!l8gE46hCZ+)Q{M-jWE< z^Trbp!Au+%%th@p@$naYRNEr%)za=5ET~R9;VNv+R^!ppOT(%G|IA0^QSA?|oXRU- z@95grI6#$ohLAv02QA&IP5Y+bj(=P$BjjHBpP)@^K49zn$$Ui0O6(eCJsS_!jV<6;V79Eq`6S8%e9I3X{m0+_na23u zds}x}k&o{QA%Htm!ZvFHh5lgO;?pt`rt>3!^DmpPy!_ z+`ymG*eH~kb|s9)4kTG|icK-O3dfr7`my2?^@0G!uoRcq^{+qBHb!4Q;h>seYX{~AdY8Wlj$z-c-^NZz@Tuw5VFG;$qm00!+{V89(|^3*|J^AM z-lLuSy#2Gg&Cf@gln3i#A49^F&f;uNS4`J8?{kZjv1I6KBNIGulp7LSL3G7HMiEo> z3MPa*DXLv!Nhn1_8t$*zwLPo-BZ3XrsnB?sgfW3cSw zz4D9y?f>Y%f9ms0>bH37N)}m{4%Xmsr~5R3hxykkFd?+s@I~B4Xx*$Qs^=(}Bv3c0 z5v>r?Dkr?Yz=VDpoC6b~O_D$XZ~$dO-UO~^9huNtN0Rf5RM3s3g)n~Tj>r4V8?cwT z;~5LFWMBdSv_tksCaYaC8CVIxpB(G(tjvt+5v{e#b8c%O@Aq=(8J2&L`v!>fOv0oF zd2!2XBpMDZ0jrF>jc6Y{<+1NkE~|Ew#9=~KGJsoI)JC<8vDZYaTo;<6)o1F~+o@ro z>#DEJ`N7A2;!$+DJ=~;yfsrD%%CWROeY>9zJSw|IaiR6`8*4f0ukX(MbNVg&=y^u> z0w6@fe9=n)UB1!CB1hmnFONDDu(VrD)J@0%t8M)jrfgFIrH*IWsD{TB$pZv-H8O7< z?!gWet8xX4S<8tZq`_logAfr)qa?F>vsBRjk8_gbwZsu%aq*d_Hv_D!7!_a@}pu{c;wXbvBa)pb|-;Egp&6UQ`x)k)y2W`hX{sXHOnaSeD4wu^2c#~benJHb7& zPj7!a)P7g*&EubVbnnj8P|nqpv&nm(mBd=BzhD2`@t<{8sADLmzSm)oi=qP3ak&-HmM-Bn0xmW%ss^r6@JvGJL+jCFtAkAVzWJuYaH6Kq&n;wdHgpN^Io z)oDD}IeWF?TuWFH3dG;Rk&YBg;F? z_WDfoqofs9SY@CCrwJIT>;1k*+S`(t1zPeMH07eMhd~=?y4bdaUTG6&*0Zcb2s!M5frsxv875k*CX##%*1-vY$7ua`w}> zFjLD{N8KZYc9L;X4*|F(SS9ijC)+u@;!k?4(9 zUs2&@$BN$AV2KM11?pti4E=KLFhb$kqRA562~V?Cua!EmCXqK4QtCoTz4i|DmN`9_ zQok+Sb3W&^Nj*?c8&Z{xzywt936Gfj=rjH4b^`u$gg^Kj{l)wJzSq+|@8ieFtQ+%+ zz2_ai-t#1lPbzIPXckr%ehfPmi1blk1QSw9a1v6)QzTGlhT_-=W(mq3o)AnC7eENZ zClR4>h4g%H-AQdYzqwV-xC^dy;tbregZB(!5##z<;rKcoR1kFQapv?lqVnBnN1fC8 zI~Twex*GENu((xwyK6X^{o~EMhl>pu*cXDNTW4_|?&S|5Bo!5mCK8QV7w2dDg)Sh* z8{N`?YZ$R}ouUe*jV?M(ahspKqy_*bMVW2IL0inoH+{t8l#M0n!$maF5u@&Qvz^Uq z&$N4Bsv*v+1E@L7D;uAq^=FG;>)G>uo@P9|o__*VMmqAA?Sry{rFKN&!iS%q*q%{p zlGSFYKI$|6)2T;UTH6zLMdk7MzwV#ruSCyPPhgOPC~s78YzFmq)H=dKmO?h$YtRF- zc|P4?vyvCI=4D-!WpFekw0IllolB;Ws#Rjq*R?toiy_Nmm(fY+>#vCu>c+zh6klM#nJpylEoK@`k-uKjhPFk$xz_)B<<8P(D=6tkC zizi(v(A)dA=^wDTCO0%(aV9Z|6w&wC-u;N0vKQRAK?aIPqVNa=nHHSr5?0XfpdF}E z$inyWZlrMqN+yKM9!DE6bZy8ZanRTez{_OT6gQt@THayN7+4uip5<(ejRaa>BeJ2$s+jg^x+S8gM&6 zEK8zTQ_v>3ra8ey;@)8i1$|5$6#$PYms;YaL!`vAr37>)G^0?11bYVCl!)(ECdu-0_~U&;i;Pp!u`M9Jx?a3b=rK4(DMTIgIvu8O#O$^V#qA?m*u7l8za^pPM2d zJ*YsUb=dbD=jG5pXAfB(!0H4wx0q)_wrD%KKX>Iz^EzgXqX$e^r%I@4k>Q5{*K92R zd^IO-LD&mMu|q;I0@Ik!>cAilUGtuG%;~`RWv8SWa*(Wcb38a2Tjjuy<+Kqo5=O1? z;k8YNZ4I1iaqi7`trjvST2-b3N&&A%qMh!{oK6^oDy^Ghe)W$hyb(toG^_kOexZfTQ(M@4s2Q`rR}2PncCWCw<=J+C84h zMm_`Sz9$eedjQgRKw3E~k1EQ(hY*^OrpaQdkXq@?wPgzFnq(AFxd=cEnz_6rR^tNSx2H*!;<#d0nb-%h@=-0mGJy3CRq=Wuc#tp01Ly=kP`WpvK{V-Fn5(1>c zhpMx6{T^0%d+c|eF``r^X&!hKMAJj>D`lY3Ah-2L`srtQ;FI3|-p(`sY7~hME#82L z8F~wVJ&Q^Qcf&!z gm?B!szUaA!x+Eb{$v=kSt%41Dqisrx<(b|>C29o+lVZCt zH=Dt>KJZ=XGQNxBsMUHX&)w#-#|aP2{W{yo9iO`RZ4(V1M8u;|87j?~pWRjCwd`=m zSPse|l;RBrtFdeCKGsh*I;Qr;gEGg8szOR39W&u zLVlh-<@bAh-Ai9O^^YSC7)@|JJhaaWtmjMD8XtydRkSkCPWO%Q)G&>+#PD;!cRuv$ z@p9PluF{F-#J>mS4eJR3mISzYm}(p~oD^a+WdSm4G{s+X&<3kc8#?Q~D9FC8e>W!p z%-x&@aXK6PhC$JgS>q`;)MeraoUJFZ1&g%uffK__Lh(nW^FJ( zmCO^#@xwFw4q4r?R{;iW5zLyz$5`&kvCpz$k#&t~B;liQRV(t2w&VqBg>uhB4`fuk z1ZX>y(Ni{Z>%i%%M`i^_NQeMgHgzUECW?X>-Oa@m>oRn3bw|zw2T_$;Za8F`OjTvXR{>z(Za_>0)PT6+EmDEdN3MM*bUUQ0Gd8qxEheMPIgNG+z z6>iA~xH-OjtWxW|@N02Zif!&J*sDIvz<~sHC`_5dj7J_{5OL|lROh6U?j<+|!V)!i z18ZvoYr9m}W3*rzjzOQ?P!2Jo>Lu%NQE2r%CsKBtC9``9N^Q!RD!|5Ja96!PWV+L=hSkEBv{3quGMM_agTS)D-!>{4E|lN}Mh5hu@4Tkq6L|v?1GbSdN=< zfd$d>sSI824%*>9itRY&q#HbS z3ETJVNGXIzAe4>{mkcT*!|Tksi2@9WciNXkJhrIAR&Psy;CS-3=1O_88L#+g<^re>Qph_IfB0ks2 zW`sQISNFYmHS^x~iL(D9b!O)eek*(4(>UKhPyYFUBRWXVe9JFgnMK_$2RlH+TV6#I zO&sJVhbg8eXS0sY)s6p5<~t(vNTsZp-e43{)8WYw90MJ!pn4hpT{ogO73D`&j{4wwL##)C_lk#l)8fAxCBv z=B$iq#T6~kY#&-5Hm7KHY=TTKF3-9z;frrv09|);QX6|!rG4)8X3;w488g*pt*ghs z`+SYj8SR8|AfmnTBi@Ym(!x zU<1Z!Hs~p+!W(1&sjQWU#J)@`)lnx%G8$v83=#J6+~(kZj)MxZSoE9tK&!j{I#ltR zu*KI|y;;hp>972BEZs(9+D&L!0#7%!P0;PhbOpQJ$A zouZrd6GBB~(9tAy4ZZTNe0+h@X@XaoaZUzj8Jn5Hgc=5 ztb%1WcPxs@Y?qSTcFz0zmN{z{88X^~3k0hHA-VR(=WvH&IIGsZRfF4sp`_eDsSx+^ z{;1EA^$lpn7$5<@FN1*c)1waNX7_`8Z*Lz2VpyZCLj|NwiNi+a+4t>Q{fpXnPu(>3 z<7Y8Rir01iJQgxk4G=r^>^J^b_f#;17{z++ewjl)QvJ7?c23{Zo2bqntO1f$qoaz3 z1F9+V9x#St&@wiGA<6qHu=|1@Avk+R?ZQ?)miMS*{loWn`ArvF^^4Hw&aE0!gR}hF z?9y(3FZc0IDxUsvO=tH|;TQ<*)2!;#>YV9QD>_$|iHb8to*~l#gR$jvKJ!RiT^i|* zHpG|5Zsz(5ITRID0G_p&+xM>OM*@s^162wI4xAJa9(eO31VC)C)A=6oq=oNCX5TbF z-S5hjwh~Lvsv`ZR!= zoKF8~{Vj@sT;euq33QyD>jBuk>-kUl2R627;R)_W89@P?ytDIgC;fs3Mynk3qBUk)bm9-Evd!D=%l)qc_yV_N6%b$-M0?}X!HxY)~IuOxeyA<}t zmc=Y*KCD-dPq=3}Jt9gb=%tFpx?v!|+}je}>zwcYp4M(fiQSw1zLz=QUT>D=nfqVIu=lxS`QYl*s*Bg%!!xTF>x4#%3)>gHVh`Jq#&!6Ze zVuH#Efh(Su3*5jR5BqMq-)<;5waQUn^LAD5Q`Xhld*<$=PI>6Ls&ITB&nXR?WYeg) z-x(C5pt9C?EjC<5iDIswGzPx;xt)v>4eaZQ@70if9`yz`JM5wE8#e>3obd0}jVptx zoS3YV#f_(BjbTkZqKE4QoSA8k&{T*br{fG0lVyJaZLCs_!2{{)(aBRbK7-S|0qT6lvZktY$Dn zdxO(+@5)(+HL#snC9A%{*%>fvVe>M>_mMsp9KZb$jr%r|;!;@Q zuqxaUn$l(>8w=u_v#KRYFit z$Np8VKX(j_hP!qzZ!Wf%h%1KtYrFr5agSWCMMV78j~hIGql-0>p=&R1IE@-Z!`s8Y z%4af|C^ScA&C24v|GE2n+a2C4CpkkZ^@UTn*_ZXxf;G*J{V;M8R>wAvEd3L^IEr@* z=UQ9_-TJCS*8|-7)h`1;M-+kaF9o@#vL!)kQ>T$czq> zQA@H8+-~1+1|><9VN#0_jv&a55eQrqSU009T#k8T6rsUfD7sS1<7)dxdM$0B^T+16 zbnGs2Xrcai^F!|T`Z>?`&y8Bq8`@67>~mUD#9={XY#_91mfMOwuDX9n!CjU1uwcX9 zXlE5AOHqYSKm>kW2juC6^xZoFmM!H)v4DRcp1s+%8i=3hRYh_K7K+zUX3(x$;H+7v zkIxCHaUb2wehGKO390J}{S4pcoQyDfp;pM{&WSG4fz8=>*Kh%cxlAysQi6T`Z+Whf z`K%9&zQWosSE}h)5MrpaYU2zn9(!JZB49EHgdo}=bj^f=4Wj3k&V;*OrXRJi_cl9v za6;Ldk{ZYcBDZ49?}|gVJx2H(zUk}4rSdIS9Y!yoe9Ix1!aECapq1^frUl55ljdPQ zj(+m)&u--OkB422HLgIbr8)L$^{9B*g2|xGnU*w?OehO~U6c^9 z$og|qt~&wRlT~i26Y42d<6<-k?is2RQ#;)dHYiWf`8Wiau}mt2;9CY~#{l8578NDd_Kxc_R5jo3 z5_A>I4Lq!p_c6+H&+)FPR$(fGo3%7~buoB9iD#!5;c0%p03@0|N4u)I?f`8qNZ!ZA z*(-q*Ba4b*!DF<0SNQGpmBk?^ftmN{Wo>A}EvQpyR7o;qWhiEv#7(Mf=Iz6s4@~6K zxZXrGBxB8c&isafu3>s+DTaMQ;JR*jSL&ZIc*7nz z?y)oqqBGpxR67HxqPR>dY@oGY-kYaPw!&||+4~%;juir{Y@@W)(4fwgCczWsR&-Yl z&3*jJ9Q4D+|Ne}%1DgL+o+u0TUEQf>e=~Gog?rF@ali=Dyr)$(S{5^DjT;=fAdrlj z5R+)DIwUX6im_t#^WGkeUF0%WixF$8-9nE5O0zhiLm~pE3`U_2!d{nELJ|Xau#Q-F z03g)kP-{k*3L?4XdJI)35@FM9pHkrls1zTYn#372#hQ>z#x%FqV_2dL(A^@qYm-Fd zX&w0Exr$bsDp>>My3z|QE*V|n;+Q9l{sRBCzxZvfy_3U%_^}n<`PFCo-S!NHqSER9 z6j-AS@)>YL>j6YMjT#bE=*0ldZ2YSZ!|rgZaN( z{BzXY8S%ptfAop2lr9bggn)fH>n}ZVKqk3Q*18yb%9Zo#kQ%?Q@u|jAzUk^AuLZy} zfOWN9ByLu>i1B97$=S+1brI6IQyti$WK+Xw+L>Jvlo^!>cLS*!*$z1_NO0t}<4#a5kHWAwAcNK2& zj-)lW;*>n3eh`=1$Y!CFAz5`K#Toix^#ea!O-6KK1IP+`sy=Ku-rB?D(T~SxV1WrB zVKjlP2`6PMMpDPoZ`+?X3b#mAJY+=wUU?eF302WyXx8P)T`Z{e2^a@tmfAk#Bpj1q z6Ycq28flkIz-Bso3)?7AMMy|%Z64F?nowfJWQCa{9lJ~o-?HUHC@>-e<`3`c$@>~_ ztq9Pft0{{spwck`1qtc0yPspZbX;0FX{XKR%T56$pC6-Vz$ji>et!8#by*tM$U1=a zhFgbxCfI$bDhPavlcVr{bE4}=h3h%5xfbAC%wZ~}04URB86p8dO)mizyha0093EoV zgPP};gJWp+J>tE`gKud{7cZ}?J1VXFC`Af8Lr6j|yPP18_ z5~6h544C<*W_3HtUP`hn8m!8SqWcgE^SPNbF>>6%j-_5#QN=h+4f5P{DT>Rb)oLQQ z!88BUM?t9Ks@_#Gq@M)TN-NLX!Zs%z;=|Wmpu)5lvLiPZa_rg7a$aTTEIbR0P=YM2 znTZHk8O?cWw+**hW?(pX8#!hWCn0zm?9m)I=~EJ6<>lr9zMHNb3u}Lc6xr?^WIn~R zmlMedK5G*gZ5oDYtt8q&ErBO-B~J-BE|5w8@ldI-xVSnwqEYcU6FTR1R7W7ZKq(u@64D9HPB7HSA%8UF!TsSk z4e7lYC*4~%T!sovvtE@gS^?Cu=jkoJ5NgA5#!#J%bfLdJYc8}%l5Wnc#VP|J&zds z0%jzDd$9n%?>oQ%bu>9aDCUhNe#iA)q;7vSB~$8nevC|(Et}-H zA6VUkDyu=A$O?!ZrzEk*3*ZLpW|s2de8FhpwF(+Y2CexhmzjHlc(&dqy6OJD)8kx9 z7Y=w(^4NpNgghjdAwn4wYs-Y&;u~J-qO;_9OqaczaNV0$Y>aJ&+g~6zoUt1t?g7P1 z9c^xX@_)YEM=@`ZL#cK`&(;}7FV??R7uTHDSU_*+!VCQld))48pH&gukHCy;is|T= z5l`!($-=Ns)T$tt(Ro%w>a@HYSlbi?QXwFU3@fg{0#Z6f%~p?l#lG{-%Jn?o_pc^d z{in8h2tVBO2?>|-grklaW^#J6D7m@GQ;hntH*7gq-?8%I4AxiFR zX(c^)c%UtIGUTs3_S>j&G_4g|2FO#sDyzq&t4CO400)M*G(rf})*PK(?$@JOt+4gc z7}{}Pg?{3-wGGkRD}`2OHZE#hpei$=n2^;w2+JsDOCD`ghPF-w9<{xBNNUy$fq*ON z5YZPX9Ge*B#XLW!yj<=plV7MY9J^-e;!|DE!|YcqH@eAl-*_CTy!>e}W3GPL1lTozEXEF@ zG326q`qhQS50@^%&j1+_XKP2yoh$ftnU3x{;RCSio@1ZxKB3WC z%kP7CJw8W2S^X6ayN^O@xYoz@=+CqIi@8+T(OQEl6l40I)U#Oq85bERmStL2t@7~iYOd6Wm2k~F9|?%H^GSNT;@28YI>gKs%=bwd-`;VFQdOuWdEUJ0SE0#x{j zJ2_lRkzRp^bQnb)BA;~8Yy0}H3WKG)sro&7hkOt^(-La!&M9v4#H50gMG&wT2hOIJ zX2vOc>wr_#Ha8PF2|?6v+CQH0Zw;JIIz`sMul;7>oND*)&PwU z4FG-fFi__+oF8L`07(6oA)&cgwOQSj}3LL^E{ zrFcFfom>bC+)~Nvok_|mB@XS{s)*(+2rmxWIga?%hSa)H+$(96u0<|Dd1hA*=kgZw z!IJraeSXoj1tRZ8jRw6?ZOe(iULj)Fp<$!s5~1QjH{UzcTignmRZe}plh=AvoV1@6_*Tp%-;5Sr-jql;_R(*e6ILx4#PCcP}UarQLtm9^b z3L}=sFqTi?LIwLdTbbOK*c3SdT$!hHyW4_22zYQg#D)ER<)iv~cXsx~CWle)s!@Rw z2i_rG0G-T9%jO0lnjllEu6F#Er$Jkx=3TaAsAPyR1BXZ**5~#5tsS|(Oc`o=+(#uY zDXllB%(LgEgh~($8v;pNDlbG~-x!0TYG2^A!1-Br#c#3G`qZ5!{2g}ir%8|?@ninm z`lG$WNbl;>JT$|5rl)sRnWRX>Pk=fg6jr3Ga3APO8KX+RR&lxCjU53tmg~Nl!I>t& zCY2Tth?FxGLAGgov@e3GtgkSaNw%0_AZ`Cv%bYv!rRYe$4F1;s;LpLW_q>04FPDxh zUwdxgE*8#r;rUTtdv3F?R9gyW^rj>Yv^sKyQnz#oWHvLVTYGBruOG*;fPfrvY6ML^(mVJ zOYxef;vN0TP0kF6r#Fw*i6BqvL?)=BOt223V``q#4vB1X$`{ZJCR=!k&5QL%NkRXgvvT1 zcySU<17TpblOk`F4^|y-M9cLR{EL!*j#CYh&c}XWTL0U}@4s40p)vl5z89Bf_2NXY zIEW=*XhvHsW=94vV{J2Fpj(H`oX~!&@@>8xYFTC7EpA>qP=$_!;{4w9MPFP;k;hS& zqxBT(ejSq6sXgbP_x?40{n|}}Sq1p42^Oekg`OG_W z6)&yMaQ)nWGUrA2iDjjFPZ>f=o@~OXdkjP#^WEoleC~Zm;v2v2JO08nB)(Z)a?%Lo zvcv!d%A59}joLGdZAWuHulII>9rZHL5W;i6kI#dFsU-7J2>2%Z zX*i(L{)~Vp7wI4G3Hq?q1?HiB1<7TQ4i5QiZ~V^z|HN>7VDHcHV9_A>Lap(jl;4i{ zdq#;n9IgQ9a?*Bu;jOhey%ZLC^oc<6a+-c&e2Le`)aJ056}N^q=@gHrl;U4%zNpyS zQA=0t0tk`0UfxPv%VBSy!$Ip^k&n6(!~i{Awyw~&Hh_Qr;w~BTrx1he_ zlNwY<1_QS zs(hdSm$-YUts?R-)g!%`&9R;Jv+ZfwIUd&QbW^t4_j6*2(V>hqGh%MlLa12vKCBxv z(&zEc|7v|uCp%+*{xzpix1#7;XJNt4NkQB77-g^G1&`ipjnNn-46hMSrC^6jTpr!h zIklAzDM1sd<(z$14LjLB!C~WKVWF#X2pyV)X{Ng=_?FHfO>I4`p8Y|Dc|AiShGs~e z{E{bBR&)ZZP$S2A7%(cAQOu9rosB+qt`A9egBc=&I+pm@v7g89tWFY>NkEJ%S@XQJ zpXXloOr5s@s{rpQj>cZ>8?{azI>r0V890dZD9n$?4uG zn5ZSPcYbmQAFI(%(Tu}_7u_CI9!{ec*ae;{A}b|i*HU7lA4v@DZ~1H|b0RP9Ir~Xt zb~O!SgTrdUVtd|jj5x^ywHD8>Vw)0bdC;1xvZqGZst)hA9^c+O?e5tyevav1?aSn~ zBq$ofk;e7$C{gE*2;F?}KzTi0G>iJdh9p;FRY&HKU{RazD@b_o7iREXOm~YkY{1iqTpE zU;qLG7r*n|Q`x71@=o+?TL9%!Uvfej#qDaA%(VB9t|BTiwGS-7H$_)>0X&n8a(BPu z9!&Us#V?wLZ9nCGr7B*2rrgK9U~=HD_bQ*Vn)0AIQ@ZBZZ+rmInkfgE!U9u{`9Vri zxhn^mCAVnVb%W`{cj-{*%pyk*OCvrFMV3=?|gpa zMT)R5RxHR<=ia~YpFjQ2iUk%!i3WU*(5Uzux1&;uf8UIpjPZ91gm&zyG;Z~Y7>Pmg zdUD-&s4~ny9t9|>K()z@I+XO$Ts#e=Bf0zd=~VSyKV8dYhbR>$wZJpl*01!tp~X;? zjLN{0xkYrqUV`NUdoNwTWLM~SZ-x7E?J4(T6o6tjyfcvcc%^1F7g`T12ff<^>%6a- z1#T#7o(B5@uwi%ibP&C#e94@3&L$cd?w?W4Sr`ZI{k14c(1y8YA{ph>l){))RuaEuD#8s%C z$xr)VJKlbc>R_>vyIw?Oj`uGvM|s(+?T=@7K94H7`3tvuHqzv_^RuT8)xYM&Wo6O! zFb_uqWR%fH_Tdc7XGl%j)z*!?N-z1%vtM3rN7^vA-O~0&oy1*A==_l|UUwpn->S!M zKgVRg8||8LY9A0Gzk1>4ilcB9U-mmsYhrUtb@wy-yJP(N`Fd8T{Ok-?YN@3oiyy&R+BT4SA1`NqHOyX%t$E3r&b>HF=w_CHifsDmB*atiL_XZNpzn=Ary zm{~l5EgI_ta^z_!)Ez$u4Lz<`Xa*X(d_gXqE|#ciQ+S=_Beq0Oh7WAwYAQybOQRKzuMaWx&7^)Cb5%~Kj=Gm z)UU7@v|X4p0V3B7=SYq`dcHiS6GaxYm;)QzTpFuMH#^=7`jx*W6)Z%gO*ZL23 z7kq^;0i=*3{*lgu{^#EN$*h4MJNoUXe{}x!mGcaspH{53Z_THD_90XDPXZ_lX)Z|f zj^JFv5Q^Geia_hoYx{Im5o_Pf97pkLl12iwU!0y$KlvUcK1J*=dXYm!wpX97SK zAoNo_ym-}R&K=JGaiZlP`M zTygai0EWVi5S)T4>1 z(tQkvtm<(k@YxpkE?xu$z;S5d<_9qDpydt{O&8m>CYie@I7f-Z#u|uS^|mrOYx_En zmPEZHly!?5f^UoQuNr%H(Cq|S!MgD}(i$CL!P46T6R&3<(MC(6%=oHOvrKsA(Uc1w zq-a4C8S7QJw#+g1U=~ZsQy+>or7x%mf5MgwH ze_yw3iH9Jr-FIn;vJQN#AVFmxHEfj9rLE(cv7Uhn3KUv$SQJs^j8tb5wp5m33^lqf z4OLTC%tuWbU z-Ou(cl~EsZ#IzB3nD_P3TQs7`2w4-g&wb5kWZ&(1=Fclntff=c+op$DS{%~_2~=$a zVr>rnfrg8-@-zpSw-M}&)^2je+|~Lt|NH967fg5umF`L=N(Ei(QlVID6>RA=lZ;GN zo8s#kYGY(hYNd{Y{J#0`oKU2%zU0>av=@H=8NJb;>mTC(eC>b2-X6B&S#@r$QU3kO zKhC`v&2h2V@MlNk`|GbO``6F>lqOTV$Hj|0wZYqN@^Ef$pmc2F z4Jhs+PGf4Hiq@7HM(t>|7U84x6Q5)|o6fqCQC~2}l#2r;5-h6e&5XSouj0`szIr_O z<<6N{pOtp;v(N5l`Ov&3bG4lJI>z6RtvS=6pL)`|MswPWO(YJffdj!O(q0OHCBT6s zo>QN4A)8(2Pu6y=4@_8jj3DS5Kz$M~gBIBMo{AQG%8 zuWz*7)&cwZ13%Yoa*fZA0S(Q@d9V&)V4Y(IvilWo#}gb`Apyimm4h%oHfA2>Gky%$ zd#ndwss3Xb@lV6QI=+72-<&O>#}&~r z;lgPz#R#-E9W)5i`#wDB;=81Ck?S5{GXkwe2V)n zYh0yvmp1f!EBCxxiKe{|6fm98>By=@GVD_D40ADS1HU`$d>0d4J!05i@KG2~=H zkWdEBSnWY`Nggg|-93qKKV-K5>G{v6e$LW$82)lfcL@6Y-`n?||G=QrI+@1TvR~Zw zf9Uh&rBRRO0#+YdEXPxSpuiZtbq5!mua9U{CDs-75TU8ySN=u_8FPS`|cMl(He~e+Lpd zr!W}J$vZm-kqFl~y`xnGE^ zn$Fo^txs`HBZ|Q$U6YAX_bf@6d4?YJ(+Nm`i?EM(4n}M!%;9PP3i;^s*7@yg?yBK)~!)ZnJfuZCE41U^$xB|glgM0fW+-mZr#O_N)4PMEvc81{a4Yym_N6F zy!PDkz;4iGk}XrWk4|yBB~wHiS`DY>f%TbjyE!EWi=CJ0K$I)f6)3fdjL*eBP+K0H z&b!R9N9y^mza?`#$Gv*n?MRM!VFv(gs}AK8v-4chzuQ_e3{<4j8O0|Q+=)maovB{3 zDR2qIldVpMTdgpC_s3;*l|H@x`=Aex_S^bG`1<6buXUIGu6%J#qP=X|y9rtLbXBLs zh7_v9v*NwdOq17cynXL6|FlucCH=t;{O1}zyNAQnK4arapL|(FZX-zV|s0zs#e1(ioNzZ)K9H6ldR2ko-oDhrxjmymylKIg2;&i z+)XtxhgXYW;pMOcqEkbXp^>cuNZ5K;$vT z0GOuOB~u}}G$BPJgJ{!nW@f67B|e%zd#n2bt(|D(TG>D6%5r;!A|F-CjaC?`4+Cm; z&p%mPL5HfmXrk3QnQpL|xRz^(d{F=^*npk5TGioyzV8kCSW1hhCYIg$wS(3;R;!8o z&Hm>f{0pEr^)q3ldTBy(Fq7tm1Qrw|xlY@%))v8Ga$h3Bes1+Lw>`bm?NPd)=DN~P zw&@Y<$z;Pmx<8G)?!09joOx)_cl(5I{NN59tn7%KS;fFTi?I)I-?x;t&IyW)wye$Ww2_Z`Hda>Wl7W|na@EBCKafW4qtzZlJD{^;<9TX$J zaL0*p%Vg+?s<-*@<8?#X_+(MyeE83od{Kv5ut(1^z2t3wQh?PzJFZka_jd9XLez(f zPjxk(3!$JIW!9ZpvBD^6j^v_)F+Hc-vZSDZq_Z)YEDXgF(6B(MgY5qIrhl^f9$_Vf zEPKM!=DNhB56+#9xUX5gzM|MpHyHqRksk0Fe-LW8H(kTCS1q0ZNkF#0RCA{O3V%M9 z{~X2-2Mk`D+uM;5ZH!{$WX;bHj)+*XK32KjtA%^n9=?9=zbk%w0B0DE*AH>|0`%(X z#2G|2jn=4ELNO}!%&J=s=PU)x-5C|h0AT_Oo1-YxooHOv3Enx-NGO6rWIER?|4gM)IK9xdTz_zL)>(vLR}T&k7;6*>B=od2FB2&m`%B`d+2%Ua6BpGRf?x z&*)gO7ORQoX!N}LE)+^)M$+INxnFlWqsnMAjFqRHw7TX4lj8PC>3rLfw$)vyZ?eD; zFtc%AE688*kg8+0TkWw!wrkS3RHIB6R#E#TdxgbBbiwvV5yDb~NSc?%)$RVe4g0&g z^L7?bcp4|n>~s4c{`%Ma^6q+~bUih*CsQFLu!-Gw@RQG$V!l7zShH@#tbNg0y0|+V zz1=jI?R|ZO>RV&KJISP;dcy1jGKRi*&RD6hHbMn$fC?5XK|}RJKzG`439d>QJ)^U} zE+zoDLD#*wWemWq<0=l)tII03JL!4c2Tb>0@66odYy5SRb(K{^psfFppULA*W95)7 zcK72>*!8n90_8pR*3e>Dv?~5tKlnv7VYC@RwRqB9wGQmnAKJ;j(awi(1z2rrr@IC; zcn>O^?ToE^UEvWohN|ZwQ6VfC^_Jp2=B^#atT?RU0OS<5871JtkX+qa=mL=J&g>dZDq)09YHeQE3_aKH#G5&$s(H}1k+vFR z@(M;3fHicuXg7h8WDq6c)PXJpqnu7Uq$P?~_6)}f^zsU?8q_q{=S&SYRzfL&0<9sB zCeT3*8E?{>bSq{`6u>91??zWoln1UPo3};|1KYwSt}7IRDodRAMK=d5F3Yzmn|By-6iJ^^c!Ugcy(os&yZv_3oO>dU1%NTf>xR>RH1 z2(^3&$92Z$o^mnwtSq>VIek$HFDtTv<4Hwx1s-aWE~*vOi5}m$$wVL$p$vYMrh(Sg zv!04A1BPFjk{5h`_E9TRi_@qS4og|Ahw`ft6$oH6$Y&@~Ddu{KXrP;NraYqw(joLU zVj>dUa1xoFvhqiq`#Vcu{>KMo>HlagiWHA-y32Pw%w5wRKi{XV%cMF{AWuxE9!ZC5 zH^W%aJ-I=TLKFNI_vBXa^X9Sb@!%s45yoq9O!@sb&epBi)4Kw-&fe1qI)6T-tGT`Z znUO)i#g<~O8J%&VN0#{*bUxVH0`0B(p+i%ksvDYE(Hoo?PvENfta2kP$n`xT!pKDg zyW9>nWS9*yKu)eM$pWP<0;@5F6x0*ZG^+#=TJd(8b!({iWqcK3w}P63P$#N>G$`X? zm7C04|ACNXiW#(whww$Pe!Bt223D~)9zaT_-5>*-#3Gi&XP<6*T}$RoZiZ%Qsl~kq#r0jv8vDHDBG+I zg(hAxKqtG`cI<+IKMfh^9!R&F;2|(9BIKSRX}?)PinMjrsCDBg+!)i1aX}?uE zT@?f+^z82i@A-baWvl#h?z4d1^tui26v)U5;YmwK^_06Jq}%Bn&JLeS*90g3^grDY*q)tA~T!0wI?-6jybQu6DwdMhzs1BHhGu zoiXREL4^FH^OiYHFbsFaSPGNe{iIF`xz4}ukj^`r>_;Qvu+07gyLsohJk8P)Q?hiqvjdoBi?X=nx^@%UzI?H#<^@B z>S#aV8r?;l5eiihsZOX~YA$Q0gh~jhSfzotdD;+oJqf<&Iqsqji%oa77VIYHZQ!t= zkO&27FhS+yQmAHkzr_jfGn*|v*CW+69N%1aI(%%CS$4gJIhrwdlU_P4WB|(X!IgH` z&(y+5f3(Ukfp8F4(xBhHU2fU->${wwH)Ua;W8~U}c zp(1L$1XD@~U%^cv@86#A94$3lTdv3<4KcycbxdG;f;###gZD zp$A>Rpk4!~Onz+@ekvnBr|xeq?Y8{_{^dUJ8=n@22>|Zk!NWHE`g8R>ks-~vWKX|k zLg!`fC+BA%et&%&e*S-~0q#}cv?Ly>qu+JpPhD7S%+_hJY7HTzPa1mIA;gEwfO3i> zJ;RN+!1IY>b~=iF$_bD7B#@fmi2Gh0Qpw%(&O`Tl$!GGL_YR~ zXH)P-f=bVP^(ggd3I&@cZWe?%<(fF2IQz_lLa0+d~nphkLY{vQL>b{$Wr?WP*=1SIMj$2fdGutXM7M*L-A@COO?|w zGOG^FMhAx7*Z_zt#viX&)bl>?E-0nR=fr%Wkfa9El$#HwK^>~2e7+yHK4zi(!7})I z+oUaPBX!oa@wxNS2ot12ommB#BpOEPJ5`&hp-l!O&#SG%tUDqoDRebQ{l0E9L!*)#FJ5LLc7OgWpSM;b5NgpD`saEjbTY4vQdb-Z-kq;PqkYmIAb?rU= zYx-`u5N|I0?RXc9Cg z6b5CV!Z>&OvSOT^nM#jWM^*oZ!b#;KL=i+P$&v~&3PTQ-ev+UY& zO;Ns(P!&uxGmV7(-pOXR63$3WZSayz&(W zwGY`l6v5eAMl8Y+45>@4t>!rNLNi8#nD(9nGty^}6i~MnxW@;oN*z|_a40l z{m^;@Y8a|3#Huz&*J;IEcsowKSqHnwqOxQt@GXS!9xSyltS7{rolSh)*Lc)7W_XsO z+hxq`Btu+LJ_yTS%oqH^#)blX^pa+!*E&bBUHMWO(e65AFN5m6E1|As_q^<9y23&;)D<%u6q+2_+e+IxXAEe{d!8(CgHJ;SH(Mps=B8dYY> zj3WQ7nM0o9Id2LSd2+L{R|*P*;!!fR(bR1lomsky0a``C;!JI@;|+F5db)N>`hI7; zGs)VyJnJOOs?B>TP|x!Ud<$-10;*5YwkEk0f=9@6oG4O4GnaV@#Hw@<3`N(lXS*b( z-HQ=>@;wh_e}8*+*s)zk>D24{cXM+7eqHak6_ooCzI3o>U%md#yC(LKBIiBtdunCT zyD#-VuOY7-2xCsjA8Y3Ibry|VZDhgTr5YEGWhr1_f^nXqrsxI+h(r4)j@rn)Ru=E# zePgb^pC3g~Ci6Xy{d*1}6fllN$yk+++N=m*Z32Uce%&+aIA8}n2&2w-`@g@>$UF!` z0u<9g`NC$U=@-m*>#Gn9mVjL9M6^8o${%*$PrM+?fTuFxh+Ps}R zOv(7Z#xJb;>pwo%zt5b9UYwN}b;!{`ID!h=x#QS-AaGMBOY`wRBHugTtMsrc9?<#i z;H1h7U(d-)X?M5c^uAj)_ekSKoCzUy#Iv^Z7$8C$2jb>J_yml1aoZ>nF1;dqM+m8! zYTAuw7qDG)G}k%F07o(c87%>IkWF0;fH}ZIgobHO$dZz}6O|-}1+-gGoiucl&nXDJ z1V`)@PZ?G`8}wcXRP&0L+3}f1Q$Yl%TgPVNQ92izKM6JlG+xl#CT7MUMLGbbmAapT z(OlKeH7A%{cUJLuCz+};+ZR?GDR4$oocr65z1T&-NEbPX0NM_YZdp=%99)$5Qm#3I zoT*OYp9cz#wBeZV494WrT0AJESg7I#Y$eW!lA3dqYUtBrHwI`~11};P-8z?R?sizX zTr9H|@P<@XLma+xHj>wGX4*b0g`OfNErqNcE1n_QHXt-wbO4*3Vc-8yGc{tgreSD? zwh)C$8MOj1MYJ9-v__w6JJQSy&61E@8EN4y=ZPvzY5+Xym6`8{x%g-k{7oh8R(GXl z9NY>A=Bd19PS`~u8atKfy<0s%?(#HTpvALIx!O?=ddcn0gY(BE_KAH?8hp!N`4!@= zcnKB69TLP8vHCFJ1KGO0Wb>W;75CrkcRls_aXH=}#Gj^|f~CS!(%4ewaTlW;H)L!9X{wOA2dYELUd#Z&U&3e$H`v% z1DP6oMU?NT9^J)Qrh@B*SS0NvHBZBzo`%*g14J#z?yT{Y$1Jwr(Vk! zhI8{a-1J$AT0@iqYF>NKGwbC|=0J&s?s3DS71na`$#aBsbuwpJXIxW*H9QA8K@ehP zLl-y$DHMjR7@}eVv;j#GLERZbbd@}GMA*auiV)lrgc}MM1HkaZh)b#XVH_tV|i+j5w;MH?l= znMWHAssJ8GCXQvBpTB+6To#D%6|taJFjBHiEn)(3`amXtmKG)oyf+~#!&Rt!j; zZKg3#tlC6p-xTmYt8=DHClKSw(ExwiKeK=HK!_RhbmCe8u+7eK#TMM+=CaXuGxnu= zpPH*R2I=quBuVcq*=^09VTnM+l5g+%+jp)vzz6xuLUV3K(U;EVL+r;I(rYDP^a=Z? zUT0K^;^Q|EeOi^dnb!!Qw=vMgu|=}n+ZX!wjs#ydZN>j@p4FgXkMk)Ch1$@yEspKJ zOim2VZ+A4cicFzY7sncecH`yg2feU=C_mmi|b;4Yya`1zxvzP|93w`?)`D=xpq{6sm@b< z#THw1DvBE!Q8}uTIpV?zgRE2v_X)0}X-G8Y_6xt|lM*_A^Pb8XPyOOBZMFNU$Lz)T z=l(HB#W&%cr;O$0I5mCxhoEvyIIL=nRsd^O5qlgDdvfj5*ZQl~DSi|=x{nlGyWjv< zLWQzf=O51%?(jpa=2_VE86LM1aRaJF9=+W+ zv`L8)Sav{33cD!KstlagU?BmElHlMon=^MRbeZLSk)T4FXhKOD9%g;3;Yt2sx(b?_y zh+F;S?=!KcfYzk1yYHilHw2tWE{mA5DZOiK=e>*DQ=GfS(2JgWFPv*Dne>d8r?(l9E>Sfd8pp6s2=S=8Q1ZAF1UBk~+!Nku9F6j*4cd`IppjV>R z#xtscwF4SkXKKgEJD5+;Q%+0#{g^KUo?{B9)ESqA&PaK!w;eLc@rBpjOgJ(UOj4wt zsxnlCOKFHKR%1C9hpUIZci*(9&U`=cP1d%sYb^Koe*OIU7dofjkE&A{(`P1`naLja znbl|429GC($8dS=%A;Q_845TAe!!+c^iF4n&ZmHD?qLQq{M1R3PW{cj%+kEe`B9_1 z0@Jai`>-Rb26sxY{#bO?uUp~emiMSqANUacM;A=jU;i}0%AxYf*%_6Ha$`&xsu|>M zyjN?9qSUAVyhH9PVulN9n~=NL(=_VF3Us2~f`) z44CAWJ%UQ55$@cxCft+7nyS{>Nufj?Kn>5Ud?2Ird)b1b@jsvUZQ|K+roW4U&|SW3{;*j%fg{P4H0|Nd+I+#mS6 z>rl;wALF`bwVZ10qNYF*xJC7=?-Vaz%iN#8U(@DO7-mAmt9Qd$MI_fwG;IZD-fwy0 zv>>JMRXNw*YQ>ayyX}!zYIo)1E#@vSBBM&pR)hLW&0 zAgFnYnNjrz->>}wh=gobbQ)xy9_%t92S*4ZPmT{FojML}VinKO3m z;^)8Lc>7m=ufKhM`snnitJ>94j})ud&-u=P%&-&wc$elcaeqB{mcVA_huzJ6~= zgQK7Lt7-Q44?GxMedf&e(uq0=a=KSG2C}YXa#Sah;T0Xknpp&6f)p~~or+e1EG!cM zKxB%}(r9%ELp5p9Oo6J*uv|)XLJejwRtI+Gbi=VBbPCCupY15LG_h2K=`N?5YrQT0 z`$j>4TBnWCbSyPBfzwe~$r0?cfVhiolU+Q^<`}at#UmUUm7qVsVc&1eYkf!i8qNdx z+tf0t@VZO$qHfkO1;ELKHwEe&&+VR!XI^6*m2aG?TO1?4ZQSIzv9s)l`|wxpKlzI) zL_TUN(eFq07D}@u);c~|r__bBPU)Lnx2eG`4m>>K@BE^2+r2%{FZn4QO4=qU$u(8q zC9j|1Da@a{=nV8Zb6xEE^MQ$KB|-^HWzI-4 zVml($7`8AqyB^DuB7qF{GrtD7)KKOJT-qP!x$cO{AlHkCdG+D+T>A+&>H7Qc^1ko( z1;o5$NBfM!oKPDWD;HDb-J}6d2&qqUG$+s|E2AJ5M52}!^IWT!NC!LZSY_Kr*V3-(F)!8im1i$QYw{mV5~>2gb+)@bvt=~b!-0p z-~Y$^kN@r8oRQQdr>p#a)>WmoI`+38?*MF#aU_J|MX@!R) z!ZQgdNLvkZLSQD%k}e=cXK_X23TgO2#E55WRn>n0>buO%dEAe9VO6mZN!;`?t{Nfk z`WVdt66GtG4qJAOnk}0p^Lpf%L^YSt;sVHI5qlA$S(5H_eBgg!*>>V#)Cm z=mg7EzS`r#R1)1QL5qeLA%Jud3I@8n!7FKYQ@APocwyq9onQd1LI~gB0_BDd87MMN zjS*6n+aHHkVD(9(0gYA1SX8GjyW`V+N%n_nhnxAc3d)n-6yF_9%du|Wfrdq#4i;}{ z4W zB(gEjWK9hNx9BpY_h=PEaV*dlx1+Co{(w`XOVsn@Q1((&Se*OT+pqHcEBb>0Tj_7O zhahAP6(pHXPAC|%OS@(WK_@gz0x@gcdys+zpj3U~QlTTs9ufMyHH2<8$5;pj%DYlBuGVxQ!Dl%7$!KgWNxuO zOMTu6xtz&Xf<{1`G#5fXn`WwNN?n_+*6016A=re*;&Fg*4az5I;Avav?+ge<( zJ0v@Ds_vHF*rPs9{Brf6`1q4QY=3n=d0c=KSd|jVZcOe$jISO`9j2zG8D&En1gSt%KIRa$9%pqYQa_Jj6bKZc5 z%44$4(a_Iol~=ifSlQQT;WdGiAey~r}zP~x(cjf-fLAB*4 zoq0We`#nac4TUo91ICo{Lr1D)fuwGF+~o#J(sU@LiB+H>wGt7P7{#uF<#nAVM#Bve zv*e>YJSq<=_OE!H2O1z01(&x8H60|L(49&F3_i?|@Z#(~RQMu%X0^23) zJgH>qrh5~wa>GS!{_p_|`H;Mgwl)v;J?hkxi zp;m9_?+^B=x$gyZ!w2P{bMP3{H$2N%fBkXk&_ans>^R791?T3ZE9uYf6 zM9m|1Txe&dUKws14*RzfU3{zVJ<|@L*qm!CkWK>+9ZpXO9bMZ4^E&3J&^H4_BwaAX zSi@7?ZlKV14WM;VcGd|(FNWlyfl^6KWJW9m71@|uD>5{|1_5lxiNRpOw}HY5{8ZHH zX<{dCj6G#^L9PG-evgWIbS_+$Zs&y&D%(*1M z+EGipw03e?t)&syP8W2InAJmJjC3%DkyH)q8_sn_akh18831dSl+ zIk?l?8eM439#UNafzoL-VpoWW7^BAe0Q=+Z{o4P$ zTLxP5@Mrbq9Gv{we?pu5JMTWcnYp}rJ9`eW8ZJMb+0i5=4$U8KR6q#`s>n4VJm!6! zt1QTu*Ky+l;?dy!#J0`{U!c;f0D%h}SRjrPE}<3PH4jyhDW{AD8WMm;%kH8-l4C-f z=ZH@0ssoZN5biGtcprq8A6NIAxixQY>EXZXLVnmy-!ZQlJWw@{D&8PtpK?XM&-doE zkcsATuEy+yP7n~06m}iCC#``-=y`o%)#zCSkT|xP)ET98IxBSEG7C?80E|+v#(h*G z){&Y@5*YJIqQCL+sJXwf6_be`HrLjbst=h;@-_~20ESS`pbqPteAqaYAx z4HbLb(GM@FzISYGDKS0uUvTl#J%e58E<@9&yy>*}ICEa!_xb(5 z`A`1e=OaJz{Vn!@LuCSrv-=lW%xiP$<8dZ1RJVVxaC{+^V((^wT;mP?>@!BSa)pgB zGPjpG{|T%(1|aq|ee{*jMjM>?!qDfxEft@|aU4JQ7tA!u{I%NiQR5W4=kq1PyK21G zZ&c42>=7dOgU{vRPeD)~85i62$?r31@htBCd1)`Gl&@-G2_`w5)VIrBh36hx=EN-5 zw2JtY<;J=zYxBr+u>Am z%+j*dw65A1nH+2muACj0EvbXcn9@B1&VU85{53Y>~6r%0-v~&&&>>Fn^Ne{z6*t zvWhC7OYpr;T3fD#?Ma!H^gX_J9iy%Ce~#?$<>oMFKl|mkpTGa}|6QT?(B*KguYO*Q zD5oNvoF{?n;>70j%{gu31kDHrC2<{&2QBxkhW^ja3I5QDS&GM~>5|%;4~Xb>G=H`=WvQeuIZ>xi1iBdi^IJ^0gec_%9k{NP;HV zP?-my6FFdRz$QEbWe_~N;f;Egai9~69P&-4fXJ==424h%W0rBvLTmbAQ-@H~tz<|N z%wSL=XilyG-n@a=N2beV_55h?LRg<3*TU3GeWciQ*OO>tY4fvPXm=+A;qY10lCqtx z(O%wrJ#$Z!F623}V@Zc=S8ao~^1e=_P}4x3iUwh@T$%Z_U&Lqp^DqC?|L6Se|Nn#E zB-8M67`FlT>5sgF>qt3hYOvl_y!xTC>W*fW2EC5?pVfEyF3OIs0=9<2awvr)&t7+< zgLwV>HUpj#eCf}h|6@EtOkE00%kSR&{D!3FF5e(aB5CiyW@ER{caw*F$z!^xJ%D>D zA?VxyEVJRqIBu8;$IjdGcU&=-VEK@&`wvnDS4m>`LU8EkqNIYIihurW_ChTNrdrcF zv!P@9`cZ$!|LA``(W&&z)TVf`Uws;}izp~00gkQGbEvH%+$1(>Mi9Ix$e(x=Hd4L^Oe7R>;3us`f>Ye&kYQrdPdeJ zoEJWMpLlqNqGOCVQD5BboZ_&EO@hWsDv0StDF!@=afcoGp&XTNtwQ&n4p~TTO&`zK zf-h%K&*}b@fGrtZmJvap_L8Qu1}Fg1FuF{1k%3fQ0Rqb;X1>eM^v{Q|*)HHSl=slD z|NioQ4Cij|zhN~Sr9~*{d}7A#^dEmi-W`IsmY@CwlQrE1xycHdssbLl(B#P~AEKPU zcz%MYg?K~;UcK`>Ll<6La!==wOQjYMeBq!YT5jq0CDrh8?s`T81~ku+G(&yB;t7eJ zdf};iE#8Mm5SXJ_4?Bf6rYOS!J?6ck$rw0ib*&zxR*GkZ9{P?zI6_WB6F4hH%s^yF z&hnBrBf=<_q>(eOyHXGZHO!S_a6B7`7M9eNONvh-Wzt_Ew$%7=bT3Q?$)XlElfO1L zb!6}n<;lT zNeb@XUuk>Mm5J$Q&i6f7PfsVHFg=8^jEE?eZRWPjDW_%^h`~cT63+$o%{12 z33@%S&SB@LLEE1_l=JE5>>~DWp~?D`JU!S&((Co_-v9f}p^cfrt)P^l^CMCPm^Q$% z!twK%*L>9Z;$`%E9+88QVt&ZSpTXIa1=?rlnyFX``NyO9LayE06I4VH6FZSqiTJJ` z3otr5ENj4%)Yw|fI5dK~be z18ibZ3nO67zjBSaDuJZE{V?eL{x-k9PwZ&cFJd63?`B@+dd7uI& zY6^57Uz+J4VeOqe0Uvq;T=9}#>~@BNH$3aa(7obwFbm+0BB<%;rPw}UuV}E&bh0ZB zxlE#`P$cjLGmpJ_S5rQE83e$cTuL+G$DH5acKKb#)9 ze%;jX{qo(4u~|E19@TCTWwSlsO7{_xH*F?f>il>Hj}}{{Q{cx*y;{ zXPlH4##v2b;BGWdDSd^uzyz-)D69-JSIrH+0mySbCfKnhs!hf69Dc7+ArGHAs#SVy&%*BC2gO(m+5yiJ0yf&lu@C!TCrrL_uF-ng( z95fs6_T_M5Bbtd-=NmVSZnyMlz%mW=EweTd=aRFy<-=#RO;mH+KHXon-{1N9{`KE) zxCSm#x7PZ&YtMnQk<*nx`CDezI*#Y-)PD3Ex#Hs?Do3ZJzfC%mTprdO0lX!t5GZG6 zx=m05?8*f9b@A`2?UnI5TEPrT!5e3X zWq|b0HfEhX9`*i62?N?AgwxqSYnzKU(B3fP=nm5OxTVYw<7!&e&S;Kj2DG(Zmy3X6 zTw_1MY|ZEVRt7QEXVi#bhF3dhle7HMCe}0>SQuG*?jy(ZQvSN^J%aBPW<~2Lg+!Du ztrK!A)q7%x4+xaAi&$gr*;xwYEEu66M~M(SF#*Joqo(@ezzGzi_0tYQOPH#boe-1Z z%nc<<%-s2A6Z5&xl1g&1OW$Q{?~ zFAk8||M@xNSBby)bL{Km^flARh12XCU%GpL=0xn?XRoWT<5qd^Ab(i?fA`lP-}&|b z|M6G*54KZ*q8AJ34K#|8|gZ4)bfXY>y_)@HbRCzTJ!M6s3I&fGh< z@yUtRX&IdPgOjo*5|mn*xJ3FaE!s?m#0f0wl0DY0qGnMAD0rVA`>%QM37cy`y~De1 zob_UVUpfI8*>67M5;zM4MGcn9lFS1gP~T*v@YxYxjZW|lJh!xIG&7t>Z8R`bGk9z z`L`-&q?RcUFvr#F#QR%6`*(k4{+EB~}G@4(;crS{Vj_(cmx95F>< zo}<>Yr41Y?d0nxu;w}_O1O!v-7)6N{!FpH1-Sy1DiVli;KHuK!28f9IfYJ18?=x8_ z%*N^E>D+kxz_pyQm$&!CK{`7&(_+-~>jZwY72ig8z6&!)g$7o9AXrxAyfia9GZ0Wy zyidnfiEMcv*XX-l0WNLkNC?J^^*c-CM$_p}jZzfP=24WKwPK(??)UqXQ1&D)#P?$T zu7KW*GtvaurG^P{)$zcKYxzMc3W9oSKuD9tb1lMyoHj*8r28O4{s}hE0hGZkC16UP?bK8K!c9BB&9Y;=k>qo`oc!$>y{hvRU=hLdv4dC_ikHO~uZIBw>O zbu?8oP|xZfqo9scv5Jpf!jYv&mbuzQj5|z}R!d1AxTnVJ*I)n1ci$WP-KE|Z-j0O1 z+X9*41qEx5C(>hj5(gUOM?L1v|GqsoB>Q!fH(v%a;=GpY6&|XYtJi0gq z!Z*{I*y@9>-x*FgGo49ROJHcw$cdb3=m=i^t{m)=L@`*8)$9dSwTf$ zAQhZ3XVTH{f*YbWJY!N&6AX`!g|r6bgtNIgX==hf4MNh3>^(!}_K_PG;+%}}4hLg0 zNc(f33O;$9Z-S- zHh@(HVB&izCYr6PS2OJhAonMQFBEJ>(SbSlWJlU{Kfk+nGehopJhz@*%~yMw#@(B~ zN8h19F1#kaErI(PPN(ZLkcj|JTa1TnNbG?YdG8K}%4{u#U}&0u{~Q2`d_!8RSi6mp zV;=K|Gqk#w5btAun41q-`3r79hgbikqeh}NnNn=ZxuzFoHxJ|vT+Bl1pWd&mdQnVr z5=`6x-$`#&kxJYeby9mX_e^kJPneh80q92`maWdJ&B3ek)Uph_R4Y9ORRn`zu?}=iaF@O}9x=}b7q`5ru^GL=`t@-v3u=a~Owhv;@LE9hEx zo&{1@<3^wOvnOuq)<5OHZ@ua>4JckpdK4Hf%cX!hq3xb=p^AJ*gFW6)E~B$Cw(!xS zCBrlohU75lO_>&ABQ-P@3T&S+1U`L@02(WPG56zOWMu@(GReJ#^?~Cn7Ai1 zPKn>sg@Z5;hbBxV5e0@BTg%)j&Bb%Dzr;8thVIT3xSP{l<$CT!m>lC&7-wogzN6f5 zb1ep-I*JuhgL7;mNsMjcBwNA(Wt$fl?wN|r*{C*9B-lf61WFw18m*Z4>ZnUI7l&&- zU_?#&Dt+ndJbZsPXPJ1RUK>$i0zjY&aaJ1B9V1M72%c`xbKvP;HRhY~aG9l_TYhL9 zCm>8I1w^BvPglnS1+7lSoT7r0>$|>z-`D(o_#KjlL%&%WW8U$PEar*(*619Y2y!Y% zBm;5=JCaEZX;roX2TI)n1NK8mXdShjoukqaM`5#(#p;2Y)}RR|FjN_kFs-8Q1{IYG z4BDHGLoo+oAu?_<0yBnAW2Fu$=iQD7?ZB&LvfMRRRu%$lqC&85M4Uk1C$yEE5h^$;cLN1yg#>y2SqVHt#DP4B1FZm8W`l< z+jHTA%s-D?4#D7=NA&?K%615>=UbjBz9%NJ?&{{;YU67voY?#7A1QD5>qcN%uV-Sbs|`OiFG*38 z3G;Ni=4k_)&;?oF0Qezgw4&oeN7-y4MCR@j=ON64uLw07_{ANZ0Hra^yISrF)sc<4s!`*g`x|E!g;Gie1Q2aNS(tX?APVJmni>&^rV|nr6*^_3 zP*{@L>b^fuscA#(mKg%?NFlB1d-~DXGgv4YNAD=30+-sLn2D|je`T$T~os(L(z| zx}wO7!4N2R-^p@yycvQuj%g=NMC~|=NQFM=U(Zi9FT)(t$3Gfy+rntLH|xWhnAF?A z!bxc7WA~W2bwE!`)lLTuxM-j`NajNj)O4ST#=@FchGfdm))MgIUic$!<-ldYRyDQh z_Uw%jNunEgy-Sm~>num{X8LZN>j2nO%eDBn`~pkWr&Anf^s`J%Eg)h6rBc-USmP$} zjxz~9`L-Pv_Y1B)nqwDKIQA&1Hp^b{s~V3wQ)7p+8L0+Cgho_Y2SMLAU4PgwU$5)@ z{yGOe_RzAOyY3Vx`s#-t{dvFokMlS_{$V}G0zL-Q&twx5kVT3LrVn7M`x|Hfpoi&w zxF`RR&;0P!JLK(iRK{Sjx1G1A&%K8V>HU}8Cv$e=`PcrycYaHRxKhi~(O9Wo zYrRk+c^)SuxQK-maJjsq=zvMG#olFJ8kp4DNArMZx$|`#t&^uy?54{40|v~cB91+? z6nEGdm`EGxsSuknv=s(h?RcDXSz_b*Vu+HHe95m{F5iE~e}hf9%}ZGh17VzC+2Bq- zs6EjPt3O0bcsN0^7Y$zVVkjGaM%kiWdZ!P*9ih_{#Jjrj2d-&S4-tSS6*DX{z-K-! z#?CgLxxNAp#$!4&g*LyAP2-bjng7m0vZgO6c8l$7iFty za|x2RAd8%UoudPQv$maT`}G;UFspTRNrp*AJ>6ZnH1Ptk+l1kGNpo+w9WKLc%g0a| z%3yewr6u7!Dv0wV+q7`StRh*#>_-xkRu0Kk3WI_v$z|us?w(wnNd!j&Gc;bKHbJlF zi9!VC4d2T}6}!!EFq0K-&PonBcLAHY+gkEr829$*hy$Z_&4r01Gva^bIROrrlN?}S z@&edOpX+ODo32KjoDbd-s8@f|4Z$UEC`ct)g*Dacb-I zXk0&!d*5un+u3b-f1@f^315Jp-Fdh_-0MZ}u{#_Jlhq>4@2E5bt!9&^HvMv z6heFj3+NJ08Uv~aQHK>dZNib8iNH0DG(iL{5~t*1EhE{_Q9_gm#2a@Gy8%3o`^t_Q z?xa$CGjE$AMM6tiQC+j`IS<>s0&rQJg<&F%zvj`%_xe7b_Kq;a;iW);lj%lN#}=sx zpZM0l{4=1QnWgP1n` zg`+k506?KeU8TrDK6qgZ(QAKn;W6l3t204btL#F7e57hOv>({(Ew)0?Hb)C8#k`3z zWt-p(+6YyWYpsR2`CL!JT87uqRt{O-?=;*dDE!7y$3!EcMP^F*VTT@D*uJ!0aHvZU z%XOq7z-k-MN=;apE+c4LIO(GWpPG!)9Giq~^TcfmBx9C4z9L;iq8B(MVF^+~=qt9c zVlTvg>=PI#DzkHX2y#QsYo{fMY2umNE@_kwWy;S46IW>oWLclDp?n#oPYostg1=zH zx~}?N&Hg2C_H-CI9pERq<=l6O0k|}CV3%*8G~qjn`hnp@XwfAou@Mu7>LH_)wMHU+ zcmEw{Y8=Rs>!*EvLqGRD$e*qpx$D%Z-_sp3K;gx7x7EO8wt`M*t=elG@E}Zk3OrKFG^JR$XVa7EgS#g? zzV~=&BOkkdq^r9x?#bmVUw_^H|D5q7o=-zgwOc2}mB*d5d1m$(?-vQy#_*YQiA_(B zm;A1rJF^4&Xwq$7y!g0DKeD`yxxA|?XLuR?E9Y zzzW!jLrp<66y|59^AKEN2=(+iNvPqtE3Ty3<+^WFTPu%0I~BCbM9~JfB~i#>T>I9) zzvn;4!BFaYUA$pyR-0k!F1okz;WQ3j)(bv3<}fyv;Ck;@>iI=>eVe%eGw1ocU-T_B zc8-G;rCU?KbdT;END*)0e>mGvlxFaSQ0K`!Xyi@^z|;wb5SU0O3IjjX_(h|h3H zQBMf5Jq<$}fsP17;ptTEj2OcH9bHev1*Q%;Y)0cFnLXia?}AY$XSO!FZ@}%ab~IVy z7$DqWCEfEZ(i3&az3>_jr*fLg>P@Ky??PHCPFh{^KtKU4jL`)G1llawlAAg>g4<|- z(?)p&KJC`_IaS>CDNzh8M9sNWoyIxG!no?5H;=++dWiz_-K;#^voC&|K@&AQ0O^u7 z?g`p6FF{Wmb>fW}dcYwk&Hy(+$iKo70iu9UOTxXAj<$PBLK4=4v#;FF5w(!}oC9xm zP=iM~bLwGYfi0olBT|j7IY)9esFSV**~D9T#<(y;8ue4iS1^V6<5!Hf$pu8=%a>AA z8`5WK%03YVfGAhjjB42WCl2*LGSr+GN3fAQy<297Kpu+RPz09e?qs+6CJj_w9!q|Y z+rh`Ur8;|lNUG=Vc#J<(Zx)~Dd*Oa%yA1!NlrQHH~Fnh$$X<9_j&G-cmG=qWRCXSezhqQ` z40x#Zc+QcL3oEGd^Xm%+8h_mm$1HB2sz@=e(1rw39Qb0mi6C{1dU#nEpb5zf-jtB( zT5{kM<4oeMe-VLpEk651>5>8YQI)>KJ(k2uDtha>@wDxTzgY%LYznbO}5(O3(O69jC19+3SS5G{>`H-9Z{j z(Tw-O&faUQ#_#HYTy#Q5sc;W^s1q0PAf2O^`#HHT-2)q~F3uVoqxE17nwi);J)O0l zr56lE@O|87_n87v^JJW9!|#qfkU*Q`9%i79%q?RkqcZ?Dk)y-oeWjs4bF#URxgD2) zXK3G!c)}fnYcpCl3_hu;py<{wm}5}eyIi2v_dQET@)6$Mg*~OZm4qUkM$6A8uNS@9 zmcQ@&C7!cQ(Ku%ZhWm-4&bC(Io?tj*3BumbLh%!G-*)yZ7?@t69w7)I0dYF zBY4qxmZ2$CB1!HDiwr}J(_}(%R+pd_IAWM=`UI7j6}TbEQQ=r4XVqgAn+;NnURGYl z`J*yqjsIP*uJ=YXzC03wDGD3jxesI3Nt0g?GiAR<#-(O?H4(3BaUz;vHm93Cat8gg zBt>OV#ncaV+8lWxD)P_#4p~qK!%}?}(&}^tXRIfCNlLRjAoO!+)toQkd z?nXIwPFsK|OP#=-`f`2kZ=*DvD`Bh-Ygk_l> z=s8^sQN+W11QiWfG}rEZzmebnRsapbL4x?6GP~eueIBuHeQv0;8fhp;5kTnWabC5T zO(XsgZ`7+5hhSU^QmSx@O}N&{qTWEqj4~vJqdJR7BrtHG%Ezz)0OzCeRWhdKPDiR`Y6IG|4$SOe|;2m!%9ghc*I{Oi$DGBgTT$ zgQP3>n0Ts0QjV}aC?wTp*VPdOB8JTwVFIRAhl?|KCWl&`S0cP`E}ebai&YZx1dH9K zBngc#$H51NAfA|4Vf4hlZHO8|$dZB{XZIoTQ=gI(lU0Odit8R=RtMsjju2f0+=Q?0 zy|5p-Iub@W%zzCVMAM*@1MF53qE1UsTP{*O5UEhzjefyA%u!$+JoOw?97anF&iEu4 zv)pin#<9u?2gfDU9QpVQXr?C=G|i|Vk8`!(@x2k}YIcNCoWZh*t5V4;^;uRCD%@w4 zwlVgn_(gi54|X(R!TQcJC)l85P|XvB;j?$D4oRrMwBT9=Z1P zU-`eMKJ#asa=*t6`3P}j4LF+GujhN@uvXep&fLI8^$IVgx}}?0iyWF`)oPZ5pMlLC*pXN` zVx6N-35j~1gyfzW^jlND6pDAU8bA&e&4RaG&@HV(KwHp00-zb^0&b_sKzH& zJU1Rq_Ygv9?E_AR@HJZ0NQ12GJ@p+(3DnuTTPy)Y1%9qHlcN1_G;nfg<13rY=04n= zuNkH?cTKiP((=Y-nrnaXWCy>ryzV7vGb zzi0iq4uiTQS1=|F5ebw&P-4y-F$fe8<+TNe+a!0F;Bn>UF7V;<>S3K7<3bb0mFU)k zb&dU3|2*=!J3LQdfH?5tUZXPH#}l~Lk5@JmlEPuSCUUxn3JucmI4rr22@K&p0xU;{ z_0G>+IAbvso*K`2;wg$q;H z6LKqG?B2DcBNtU@DyDhgw#cKl{kA{P`rtox7BIh*8!(|egd+f%h(Ul8VYLd^C2ZU! zmCNK&3!FGDsYC}2*o4ph!Bs~|hNF_(Oop+2#Wq*m>ignuy2{lv4;^em%#j&Zt5of# zdf*FNBHlw={30Luc+e`P>kkI=5T~n4HTcR47Dan!RM`3**~*-+_bvXCHY~X4pKjsY zQTo>~VFI?MhCAB}si$DHZK<54%lTUReV9I3KhD1n-OpkA4Zq^gKY#kScD`=x zeKG9(*Z=;XYuCS1+il{oOk2Q;asVj@h30zE5vk|U147!lH3nCt9QC1egs5I&YQc|Q z*L9{6=&FCOdc1GRH)#rJn**{C!a0kCgp&${FA(H$^G*UrZZ=`Di

s3cX8yu?f(RFBKfY^!e?__b9m=yZKO$U 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