From 2c2d40508a519c5f7d65fa48cef8409456f324d3 Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Thu, 23 Nov 2023 23:13:42 +0700 Subject: [PATCH 01/35] Refactoring after PR +VersionUP (0.5.1 beta1) --- README.md | 2 +- README_RU.md | 2 +- modules/reactor_mask.py | 176 ++++++++++++++++++ scripts/entities/face.py | 2 +- scripts/inferencers/bisenet_mask_generator.py | 14 +- scripts/inferencers/mask_generator.py | 1 - scripts/reactor_faceswap.py | 24 +-- scripts/reactor_swapper.py | 169 +---------------- scripts/reactor_version.py | 2 +- 9 files changed, 204 insertions(+), 188 deletions(-) create mode 100644 modules/reactor_mask.py diff --git a/README.md b/README.md index 667e157..70ae680 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.5.0-brightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.5.1_beta1-green?style=for-the-badge&labelColor=darkgreen) Buy Me a Coffee at ko-fi.com diff --git a/README_RU.md b/README_RU.md index 1e76995..4a9e121 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.5.0-brightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.5.1_beta1-green?style=for-the-badge&labelColor=darkgreen) Buy Me a Coffee at ko-fi.com diff --git a/modules/reactor_mask.py b/modules/reactor_mask.py new file mode 100644 index 0000000..5f939d1 --- /dev/null +++ b/modules/reactor_mask.py @@ -0,0 +1,176 @@ +import cv2 +import numpy as np +from PIL import Image, ImageDraw + +from torchvision.transforms.functional import to_pil_image + +from scripts.reactor_logger import logger +from scripts.inferencers.bisenet_mask_generator import BiSeNetMaskGenerator +from scripts.entities.face import FaceArea +from scripts.entities.rect import Rect + + +colors = [ + (255, 0, 0), + (0, 255, 0), + (0, 0, 255), + (255, 255, 0), + (255, 0, 255), + (0, 255, 255), + (255, 255, 255), + (128, 0, 0), + (0, 128, 0), + (128, 128, 0), + (0, 0, 128), + (0, 128, 128), +] + +def color_generator(colors): + while True: + for color in colors: + yield color + + +def process_face_image( + face: FaceArea, + **kwargs, + ) -> Image: + image = np.array(face.image) + overlay = image.copy() + color_iter = color_generator(colors) + cv2.rectangle(overlay, (0, 0), (image.shape[1], image.shape[0]), next(color_iter), -1) + l, t, r, b = face.face_area_on_image + cv2.rectangle(overlay, (l, t), (r, b), (0, 0, 0), 10) + if face.landmarks_on_image is not None: + for landmark in face.landmarks_on_image: + cv2.circle(overlay, (int(landmark.x), int(landmark.y)), 6, (0, 0, 0), 10) + alpha = 0.3 + output = cv2.addWeighted(image, 1 - alpha, overlay, alpha, 0) + + return Image.fromarray(output) + + +def apply_face_mask(swapped_image:np.ndarray,target_image:np.ndarray,target_face,entire_mask_image:np.array)->np.ndarray: + logger.status("Correcting Face Mask") + mask_generator = BiSeNetMaskGenerator() + face = FaceArea(target_image,Rect.from_ndarray(np.array(target_face.bbox)),1.6,512,"") + face_image = np.array(face.image) + process_face_image(face) + face_area_on_image = face.face_area_on_image + mask = mask_generator.generate_mask( + face_image, + face_area_on_image=face_area_on_image, + affected_areas=["Face"], + mask_size=0, + use_minimal_area=True + ) + mask = cv2.blur(mask, (12, 12)) + # """entire_mask_image = np.zeros_like(target_image)""" + larger_mask = cv2.resize(mask, dsize=(face.width, face.height)) + entire_mask_image[ + face.top : face.bottom, + face.left : face.right, + ] = larger_mask + + result = Image.composite(Image.fromarray(swapped_image),Image.fromarray(target_image), Image.fromarray(entire_mask_image).convert("L")) + return np.array(result) + + +def rotate_array(image: np.ndarray, angle: float) -> np.ndarray: + if angle == 0: + return image + + h, w = image.shape[:2] + center = (w // 2, h // 2) + + M = cv2.getRotationMatrix2D(center, angle, 1.0) + return cv2.warpAffine(image, M, (w, h)) + + +def rotate_image(image: Image, angle: float) -> Image: + if angle == 0: + return image + return Image.fromarray(rotate_array(np.array(image), angle)) + + +def correct_face_tilt(angle: float) -> bool: + angle = abs(angle) + if angle > 180: + angle = 360 - angle + return angle > 40 + + +def _dilate(arr: np.ndarray, value: int) -> np.ndarray: + kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (value, value)) + return cv2.dilate(arr, kernel, iterations=1) + + +def _erode(arr: np.ndarray, value: int) -> np.ndarray: + kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (value, value)) + return cv2.erode(arr, kernel, iterations=1) + + +def dilate_erode(img: Image.Image, value: int) -> Image.Image: + """ + The dilate_erode function takes an image and a value. + If the value is positive, it dilates the image by that amount. + If the value is negative, it erodes the image by that amount. + + Parameters + ---------- + img: PIL.Image.Image + the image to be processed + value: int + kernel size of dilation or erosion + + Returns + ------- + PIL.Image.Image + The image that has been dilated or eroded + """ + if value == 0: + return img + + arr = np.array(img) + arr = _dilate(arr, value) if value > 0 else _erode(arr, -value) + + return Image.fromarray(arr) + +def mask_to_pil(masks, shape: tuple[int, int]) -> list[Image.Image]: + """ + Parameters + ---------- + masks: torch.Tensor, dtype=torch.float32, shape=(N, H, W). + The device can be CUDA, but `to_pil_image` takes care of that. + + shape: tuple[int, int] + (width, height) of the original image + """ + n = masks.shape[0] + return [to_pil_image(masks[i], mode="L").resize(shape) for i in range(n)] + +def create_mask_from_bbox( + bboxes: list[list[float]], shape: tuple[int, int] +) -> list[Image.Image]: + """ + Parameters + ---------- + bboxes: list[list[float]] + list of [x1, y1, x2, y2] + bounding boxes + shape: tuple[int, int] + shape of the image (width, height) + + Returns + ------- + masks: list[Image.Image] + A list of masks + + """ + masks = [] + for bbox in bboxes: + mask = Image.new("L", shape, 0) + mask_draw = ImageDraw.Draw(mask) + mask_draw.rectangle(bbox, fill=255) + masks.append(mask) + return masks diff --git a/scripts/entities/face.py b/scripts/entities/face.py index 21a6167..8ba1f7e 100644 --- a/scripts/entities/face.py +++ b/scripts/entities/face.py @@ -9,7 +9,7 @@ from PIL import Image from scripts.entities.rect import Point, Rect -class Face: +class FaceArea: def __init__(self, entire_image: np.ndarray, face_area: Rect, face_margin: float, face_size: int, upscaler: str): self.face_area = face_area self.center = face_area.center diff --git a/scripts/inferencers/bisenet_mask_generator.py b/scripts/inferencers/bisenet_mask_generator.py index 27eb2e7..3de09e8 100644 --- a/scripts/inferencers/bisenet_mask_generator.py +++ b/scripts/inferencers/bisenet_mask_generator.py @@ -7,9 +7,7 @@ import torch from facexlib.parsing import init_parsing_model from facexlib.utils.misc import img2tensor from torchvision.transforms.functional import normalize -from PIL import Image from scripts.inferencers.mask_generator import MaskGenerator -from scripts.reactor_logger import logger class BiSeNetMaskGenerator(MaskGenerator): def __init__(self) -> None: @@ -28,7 +26,7 @@ class BiSeNetMaskGenerator(MaskGenerator): fallback_ratio: float = 0.25, **kwargs, ) -> np.ndarray: - original_face_image = face_image + # original_face_image = face_image face_image = face_image.copy() face_image = face_image[:, :, ::-1] @@ -59,11 +57,11 @@ class BiSeNetMaskGenerator(MaskGenerator): if w != 512 or h != 512: mask = cv2.resize(mask, dsize=(w, h)) - """if MaskGenerator.calculate_mask_coverage(mask) < fallback_ratio: - logger.info("Use fallback mask generator") - mask = self.fallback_mask_generator.generate_mask( - original_face_image, face_area_on_image, use_minimal_area=True - )""" + # """if MaskGenerator.calculate_mask_coverage(mask) < fallback_ratio: + # logger.info("Use fallback mask generator") + # mask = self.fallback_mask_generator.generate_mask( + # original_face_image, face_area_on_image, use_minimal_area=True + # )""" return mask diff --git a/scripts/inferencers/mask_generator.py b/scripts/inferencers/mask_generator.py index 9359523..0c46b89 100644 --- a/scripts/inferencers/mask_generator.py +++ b/scripts/inferencers/mask_generator.py @@ -4,7 +4,6 @@ from typing import Tuple import cv2 import numpy as np - class MaskGenerator(ABC): @abstractmethod def name(self) -> str: diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index 0c54371..d2fbb9e 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -66,8 +66,7 @@ class FaceSwapScript(scripts.Script): img = gr.Image(type="pil") enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") save_original = gr.Checkbox(False, label="Save Original", info="Save the original image(s) made before swapping; If you use \"img2img\" - this option will affect with \"Swap in generated\" only") - mask_face = gr.Checkbox(False, label="Mask Faces", info="Attempt to mask only the faces and eliminate pixelation of the image around the contours.") - + mask_face = gr.Checkbox(False, label="Face Mask Correction", info="Apply this option if you see some pixelation around face contours") gr.Markdown("
") gr.Markdown("Source Image (above):") with gr.Row(): @@ -213,7 +212,7 @@ class FaceSwapScript(scripts.Script): source_hash_check, target_hash_check, device, - mask_face + mask_face, ] @@ -267,7 +266,7 @@ class FaceSwapScript(scripts.Script): source_hash_check, target_hash_check, device, - mask_face + mask_face, ): self.enable = enable if self.enable: @@ -316,6 +315,8 @@ class FaceSwapScript(scripts.Script): self.source_hash_check = True if self.target_hash_check is None: self.target_hash_check = False + if self.mask_face is None: + self.mask_face = False set_Device(self.device) @@ -339,7 +340,7 @@ class FaceSwapScript(scripts.Script): source_hash_check=self.source_hash_check, target_hash_check=self.target_hash_check, device=self.device, - mask_face=mask_face + mask_face=self.mask_face, ) p.init_images[i] = result # result_path = get_image_path(p.init_images[i], p.outpath_samples, "", p.all_seeds[i], p.all_prompts[i], "txt", p=p, suffix="-swapped") @@ -391,7 +392,7 @@ class FaceSwapScript(scripts.Script): source_hash_check=self.source_hash_check, target_hash_check=self.target_hash_check, device=self.device, - mask_face=self.mask_face + mask_face=self.mask_face, ) if result is not None and swapped > 0: result_images.append(result) @@ -449,7 +450,7 @@ class FaceSwapScript(scripts.Script): source_hash_check=self.source_hash_check, target_hash_check=self.target_hash_check, device=self.device, - mask_face=self.mask_face + mask_face=self.mask_face, ) try: pp = scripts_postprocessing.PostprocessedImage(result) @@ -476,8 +477,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): with gr.Column(): img = gr.Image(type="pil") enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") - mask_face = gr.Checkbox(False, label="Mask Faces", info="Attempt to mask only the faces and eliminate pixelation of the image around the contours.") - + mask_face = gr.Checkbox(False, label="Face Mask Correction", info="Apply this option if you see some pixelation around face contours") gr.Markdown("Source Image (above):") with gr.Row(): source_faces_index = gr.Textbox( @@ -592,7 +592,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): 'gender_target': gender_target, 'codeformer_weight': codeformer_weight, 'device': device, - 'mask_face':mask_face + 'mask_face': mask_face, } return args @@ -657,6 +657,8 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): self.source_faces_index = [0] if len(self.faces_index) == 0: self.faces_index = [0] + if self.mask_face is None: + self.mask_face = False current_job_number = shared.state.job_no + 1 job_count = shared.state.job_count @@ -681,7 +683,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): source_hash_check=True, target_hash_check=True, device=self.device, - mask_face=self.mask_face + mask_face=self.mask_face, ) try: pp.info["ReActor"] = True diff --git a/scripts/reactor_swapper.py b/scripts/reactor_swapper.py index 061513d..c244724 100644 --- a/scripts/reactor_swapper.py +++ b/scripts/reactor_swapper.py @@ -5,13 +5,10 @@ from typing import List, Union import cv2 import numpy as np -from numpy import uint8 -from PIL import Image, ImageDraw -from scripts.inferencers.bisenet_mask_generator import BiSeNetMaskGenerator -from scripts.entities.face import Face -from scripts.entities.rect import Rect +from PIL import Image + import insightface -from torchvision.transforms.functional import to_pil_image + from scripts.reactor_helpers import get_image_md5hash, get_Device from modules.face_restoration import FaceRestoration try: # A1111 @@ -21,6 +18,7 @@ except: # SD.Next from modules.upscaler import UpscalerData from modules.shared import state from scripts.reactor_logger import logger +from modules.reactor_mask import apply_face_mask try: from modules.paths_internal import models_path @@ -310,7 +308,7 @@ def swap_face( source_hash_check: bool = True, target_hash_check: bool = False, device: str = "CPU", - mask_face:bool = False + mask_face: bool = False, ): global SOURCE_FACES, SOURCE_IMAGE_HASH, TARGET_FACES, TARGET_IMAGE_HASH, PROVIDERS result_image = target_img @@ -493,160 +491,3 @@ def swap_face( logger.status("No source face(s) found") return result_image, output, swapped - - - -def apply_face_mask(swapped_image:np.ndarray,target_image:np.ndarray,target_face,entire_mask_image:np.array)->np.ndarray: - logger.status("Masking Face") - mask_generator = BiSeNetMaskGenerator() - face = Face(target_image,Rect.from_ndarray(np.array(target_face.bbox)),1.6,512,"") - face_image = np.array(face.image) - process_face_image(face) - face_area_on_image = face.face_area_on_image - mask = mask_generator.generate_mask(face_image,face_area_on_image=face_area_on_image,affected_areas=["Face"],mask_size=0,use_minimal_area=True) - mask = cv2.blur(mask, (12, 12)) - """entire_mask_image = np.zeros_like(target_image)""" - larger_mask = cv2.resize(mask, dsize=(face.width, face.height)) - entire_mask_image[ - face.top : face.bottom, - face.left : face.right, - ] = larger_mask - - - result = Image.composite(Image.fromarray(swapped_image),Image.fromarray(target_image), Image.fromarray(entire_mask_image).convert("L")) - return np.array(result) - - -def correct_face_tilt(angle: float) -> bool: - - angle = abs(angle) - if angle > 180: - angle = 360 - angle - return angle > 40 -def _dilate(arr: np.ndarray, value: int) -> np.ndarray: - kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (value, value)) - return cv2.dilate(arr, kernel, iterations=1) - - -def _erode(arr: np.ndarray, value: int) -> np.ndarray: - kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (value, value)) - return cv2.erode(arr, kernel, iterations=1) -colors = [ - (255, 0, 0), - (0, 255, 0), - (0, 0, 255), - (255, 255, 0), - (255, 0, 255), - (0, 255, 255), - (255, 255, 255), - (128, 0, 0), - (0, 128, 0), - (128, 128, 0), - (0, 0, 128), - (0, 128, 128), -] - - -def color_generator(colors): - while True: - for color in colors: - yield color - - -color_iter = color_generator(colors) -def process_face_image( - face: Face, - **kwargs, - ) -> Image: - image = np.array(face.image) - overlay = image.copy() - cv2.rectangle(overlay, (0, 0), (image.shape[1], image.shape[0]), next(color_iter), -1) - l, t, r, b = face.face_area_on_image - cv2.rectangle(overlay, (l, t), (r, b), (0, 0, 0), 10) - if face.landmarks_on_image is not None: - for landmark in face.landmarks_on_image: - cv2.circle(overlay, (int(landmark.x), int(landmark.y)), 6, (0, 0, 0), 10) - alpha = 0.3 - output = cv2.addWeighted(image, 1 - alpha, overlay, alpha, 0) - - return Image.fromarray(output) -def dilate_erode(img: Image.Image, value: int) -> Image.Image: - """ - The dilate_erode function takes an image and a value. - If the value is positive, it dilates the image by that amount. - If the value is negative, it erodes the image by that amount. - - Parameters - ---------- - img: PIL.Image.Image - the image to be processed - value: int - kernel size of dilation or erosion - - Returns - ------- - PIL.Image.Image - The image that has been dilated or eroded - """ - if value == 0: - return img - - arr = np.array(img) - arr = _dilate(arr, value) if value > 0 else _erode(arr, -value) - - return Image.fromarray(arr) - -def mask_to_pil(masks, shape: tuple[int, int]) -> list[Image.Image]: - """ - Parameters - ---------- - masks: torch.Tensor, dtype=torch.float32, shape=(N, H, W). - The device can be CUDA, but `to_pil_image` takes care of that. - - shape: tuple[int, int] - (width, height) of the original image - """ - n = masks.shape[0] - return [to_pil_image(masks[i], mode="L").resize(shape) for i in range(n)] - -def create_mask_from_bbox( - bboxes: list[list[float]], shape: tuple[int, int] -) -> list[Image.Image]: - """ - Parameters - ---------- - bboxes: list[list[float]] - list of [x1, y1, x2, y2] - bounding boxes - shape: tuple[int, int] - shape of the image (width, height) - - Returns - ------- - masks: list[Image.Image] - A list of masks - - """ - masks = [] - for bbox in bboxes: - mask = Image.new("L", shape, 0) - mask_draw = ImageDraw.Draw(mask) - mask_draw.rectangle(bbox, fill=255) - masks.append(mask) - return masks - -def rotate_image(image: Image, angle: float) -> Image: - if angle == 0: - return image - return Image.fromarray(rotate_array(np.array(image), angle)) - - -def rotate_array(image: np.ndarray, angle: float) -> np.ndarray: - if angle == 0: - return image - - h, w = image.shape[:2] - center = (w // 2, h // 2) - - M = cv2.getRotationMatrix2D(center, angle, 1.0) - return cv2.warpAffine(image, M, (w, h)) diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 90c70d6..3230c48 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.5.0" +version_flag = "v0.5.1-b1" from scripts.reactor_logger import logger, get_Run, set_Run From bee2c4ee2d27a1424ad26861237d86c37d528412 Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Fri, 24 Nov 2023 13:09:58 +0700 Subject: [PATCH 02/35] UPDATE: Safetensors Face Models --- README.md | 2 +- README_RU.md | 2 +- example/api_example.py | 3 + example/api_external.curl | 5 +- example/api_external.json | 5 +- scripts/reactor_api.py | 8 +- scripts/reactor_faceswap.py | 407 ++++++++++++++++++++++++++++-------- scripts/reactor_globals.py | 17 ++ scripts/reactor_helpers.py | 46 +++- scripts/reactor_swapper.py | 106 +++++++--- scripts/reactor_version.py | 2 +- 11 files changed, 479 insertions(+), 124 deletions(-) diff --git a/README.md b/README.md index 70ae680..8de80b1 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.5.1_beta1-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.5.1_beta2-green?style=for-the-badge&labelColor=darkgreen) Buy Me a Coffee at ko-fi.com diff --git a/README_RU.md b/README_RU.md index 4a9e121..20dcb41 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.5.1_beta1-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.5.1_beta2-green?style=for-the-badge&labelColor=darkgreen) Buy Me a Coffee at ko-fi.com diff --git a/example/api_example.py b/example/api_example.py index 72ec048..f3485c1 100644 --- a/example/api_example.py +++ b/example/api_example.py @@ -43,6 +43,9 @@ args=[ False, #18 Source Image Hash Check, True - by default False, #19 Target Image Hash Check, False - by default "CUDA", #20 CPU or CUDA (if you have it), CPU - by default + True, #21 Face Mask Correction + 1, #22 Select Source, 0 - Image, 1 - Face Model + "elena.safetensors", #23 Filename of the face model (from "models/reactor/faces"), e.g. elena.safetensors ] # The args for ReActor can be found by diff --git a/example/api_external.curl b/example/api_external.curl index 4fd0b1b..1c235e7 100644 --- a/example/api_external.curl +++ b/example/api_external.curl @@ -19,5 +19,8 @@ curl -X POST \ "gender_target": 0, "save_to_file": 1, "result_file_path": "", - "device": "CUDA" + "device": "CUDA", + "mask_face": 1, + "select_source": 1, + "face_model": "elena.safetensors" }' diff --git a/example/api_external.json b/example/api_external.json index 67b4d9a..1766427 100644 --- a/example/api_external.json +++ b/example/api_external.json @@ -15,5 +15,8 @@ "gender_target": 0, "save_to_file": 1, "result_file_path": "", - "device": "CUDA" + "device": "CUDA", + "mask_face": 1, + "select_source": 1, + "face_model": "elena.safetensors" } \ No newline at end of file diff --git a/scripts/reactor_api.py b/scripts/reactor_api.py index f0cc133..b5df7fa 100644 --- a/scripts/reactor_api.py +++ b/scripts/reactor_api.py @@ -71,7 +71,10 @@ def reactor_api(_: gr.Blocks, app: FastAPI): gender_target: int = Body(0,title="Gender Detection (Target) (0 - No, 1 - Female Only, 2 - Male Only)"), save_to_file: int = Body(0,title="Save Result to file, 0 - No, 1 - Yes"), result_file_path: str = Body("",title="(if 'save_to_file = 1') Result file path"), - device: str = Body("CPU",title="CPU or CUDA (if you have it)") + device: str = Body("CPU",title="CPU or CUDA (if you have it)"), + mask_face: int = Body(0,title="Face Mask Correction, 1 - True, 0 - False"), + select_source: int = Body(0,title="Select Source, 0 - Image, 1 - Face Model"), + face_model: str = Body("None",title="Filename of the face model (from 'models/reactor/faces'), e.g. elena.safetensors") ): s_image = api.decode_base64_to_image(source_image) t_image = api.decode_base64_to_image(target_image) @@ -80,11 +83,12 @@ def reactor_api(_: gr.Blocks, app: FastAPI): gender_s = gender_source gender_t = gender_target restore_first_bool = True if restore_first == 1 else False + mask_face = True if mask_face == 1 else False up_options = EnhancementOptions(do_restore_first=restore_first_bool, scale=scale, upscaler=get_upscaler(upscaler), upscale_visibility=upscale_visibility,face_restorer=get_face_restorer(face_restorer),restorer_visibility=restorer_visibility,codeformer_weight=codeformer_weight) use_model = get_full_model(model) if use_model is None: Exception("Model not found") - result = swap_face(s_image, t_image, use_model, sf_index, f_index, up_options, gender_s, gender_t, True, True, device) + result = swap_face(s_image, t_image, use_model, sf_index, f_index, up_options, gender_s, gender_t, True, True, device, mask_face, select_source, face_model) if save_to_file == 1: if result_file_path == "": result_file_path = default_file_path() diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index d2fbb9e..623e275 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -28,10 +28,16 @@ except: model_path = os.path.abspath("models") from scripts.reactor_logger import logger -from scripts.reactor_swapper import EnhancementOptions, swap_face, check_process_halt, reset_messaged +from scripts.reactor_swapper import ( + EnhancementOptions, + swap_face, + check_process_halt, + reset_messaged, + build_face_model +) from scripts.reactor_version import version_flag, app_title from scripts.console_log_patch import apply_logging_patch -from scripts.reactor_helpers import make_grid, get_image_path, set_Device +from scripts.reactor_helpers import make_grid, get_image_path, set_Device, get_model_names, get_facemodels from scripts.reactor_globals import DEVICE, DEVICE_LIST @@ -61,12 +67,69 @@ class FaceSwapScript(scripts.Script): def ui(self, is_img2img): with gr.Accordion(f"{app_title}", open=False): + + def update_fm_list(selected: str): + return gr.Dropdown.update( + value=selected, choices=get_model_names(get_facemodels) + ) + def update_upscalers_list(selected: str): + return gr.Dropdown.update( + value=selected, choices=[upscaler.name for upscaler in shared.sd_upscalers] + ) + def update_models_list(selected: str): + return gr.Dropdown.update( + value=selected, choices=get_models() + ) + + # TAB MAIN with gr.Tab("Main"): with gr.Column(): - img = gr.Image(type="pil") + img = gr.Image( + type="pil", + label="Source Image", + ) + # face_model = gr.File( + # file_types=[".safetensors"], + # label="Face Model", + # show_label=True, + # ) enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") - save_original = gr.Checkbox(False, label="Save Original", info="Save the original image(s) made before swapping; If you use \"img2img\" - this option will affect with \"Swap in generated\" only") - mask_face = gr.Checkbox(False, label="Face Mask Correction", info="Apply this option if you see some pixelation around face contours") + gr.Markdown("
") + with gr.Row(): + select_source = gr.Radio( + ["Image","Face Model"], + value="Image", + label="Select Source", + type="index", + scale=1, + ) + face_models = get_model_names(get_facemodels) + face_model = gr.Dropdown( + choices=face_models, + label="Choose Face Model", + value="None", + scale=2, + ) + fm_update = gr.Button( + value="🔄", + variant="tool", + ) + fm_update.click( + update_fm_list, + inputs=[face_model], + outputs=[face_model], + ) + setattr(face_model, "do_not_save_to_config", True) + save_original = gr.Checkbox( + False, + label="Save Original", + info="Save the original image(s) made before swapping; If you use \"img2img\" - this option will affect with \"Swap in generated\" only" + ) + mask_face = gr.Checkbox( + False, + label="Face Mask Correction", + info="Apply this option if you see some pixelation around face contours" + ) gr.Markdown("
") gr.Markdown("Source Image (above):") with gr.Row(): @@ -120,18 +183,30 @@ class FaceSwapScript(scripts.Script): True, label="Swap in generated image", visible=is_img2img, - ) + ) + + # TAB UPSCALE with gr.Tab("Upscale"): restore_first = gr.Checkbox( True, label="1. Restore Face -> 2. Upscale (-Uncheck- if you want vice versa)", info="Postprocessing Order" ) - upscaler_name = gr.Dropdown( - choices=[upscaler.name for upscaler in shared.sd_upscalers], - label="Upscaler", - value="None", - info="Won't scale if you choose -Swap in Source- via img2img, only 1x-postprocessing will affect (texturing, denoising, restyling etc.)" + with gr.Row(): + upscaler_name = gr.Dropdown( + choices=[upscaler.name for upscaler in shared.sd_upscalers], + label="Upscaler", + value="None", + info="Won't scale if you choose -Swap in Source- via img2img, only 1x-postprocessing will affect (texturing, denoising, restyling etc.)" + ) + upscalers_update = gr.Button( + value="🔄", + variant="tool", + ) + upscalers_update.click( + update_upscalers_list, + inputs=[upscaler_name], + outputs=[upscaler_name], ) gr.Markdown("
") with gr.Row(): @@ -139,6 +214,30 @@ class FaceSwapScript(scripts.Script): upscaler_visibility = gr.Slider( 0, 1, 1, step=0.1, label="Upscaler Visibility (if scale = 1)" ) + + # TAB TOOLS + with gr.Tab("Tools 🆕"): + with gr.Tab("Face Models"): + gr.Markdown("Load an image containing one person, name it and click 'Build and Save'") + img_fm = gr.Image( + type="pil", + label="Load Image to build Face Model", + ) + with gr.Row(equal_height=True): + fm_name = gr.Textbox( + value="", + placeholder="Please type any name (e.g. Elena)", + label="Face Model Name", + ) + save_fm_btn = gr.Button("Build and Save") + save_fm = gr.Markdown("You can find saved models in 'models/reactor/faces'") + save_fm_btn.click( + build_face_model, + inputs=[img_fm, fm_name], + outputs=[save_fm], + ) + + # TAB SETTINGS with gr.Tab("Settings"): models = get_models() with gr.Row(visible=EP_is_visible): @@ -161,21 +260,30 @@ class FaceSwapScript(scripts.Script): with gr.Row(): if len(models) == 0: logger.warning( - "You should at least have one model in models directory, please read the doc here : https://github.com/Gourieff/sd-webui-reactor/" + "You should at least have one model in models directory, please read the doc here: https://github.com/Gourieff/sd-webui-reactor/" ) model = gr.Dropdown( choices=models, - label="Model not found, please download one and reload WebUI", + label="Model not found, please download one and refresh the list" ) else: model = gr.Dropdown( choices=models, label="Model", value=models[0] ) + models_update = gr.Button( + value="🔄", + variant="tool", + ) + models_update.click( + update_models_list, + inputs=[model], + outputs=[model], + ) console_logging_level = gr.Radio( ["No log", "Minimum", "Default"], value="Minimum", label="Console Log Level", - type="index", + type="index" ) gr.Markdown("
") with gr.Row(): @@ -189,6 +297,8 @@ class FaceSwapScript(scripts.Script): label="Target Image Hash Check", info="Affects if you use Extras tab or img2img with only 'Swap in source image' on." ) + + gr.Markdown("by Eugene Gourieff") return [ img, @@ -213,6 +323,8 @@ class FaceSwapScript(scripts.Script): target_hash_check, device, mask_face, + select_source, + face_model, ] @@ -267,10 +379,14 @@ class FaceSwapScript(scripts.Script): target_hash_check, device, mask_face, + select_source, + face_model, ): self.enable = enable if self.enable: + logger.debug("*** Start process") + reset_messaged() if check_process_halt(): return @@ -295,6 +411,8 @@ class FaceSwapScript(scripts.Script): self.target_hash_check = target_hash_check self.device = device self.mask_face = mask_face + self.select_source = select_source + self.face_model = face_model if self.gender_source is None or self.gender_source == "No": self.gender_source = 0 if self.gender_target is None or self.gender_target == "No": @@ -318,9 +436,11 @@ class FaceSwapScript(scripts.Script): if self.mask_face is None: self.mask_face = False + logger.debug("*** Set Device") set_Device(self.device) - if self.source is not None: + if (self.source is not None and self.select_source == 0) or ((self.face_model is not None and self.face_model != "None") and self.select_source == 1): + logger.debug("*** Log patch") apply_logging_patch(console_logging_level) if isinstance(p, StableDiffusionProcessingImg2Img) and self.swap_in_source: logger.status("Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) @@ -341,6 +461,8 @@ class FaceSwapScript(scripts.Script): target_hash_check=self.target_hash_check, device=self.device, mask_face=self.mask_face, + select_source=self.select_source, + face_model = self.face_model, ) p.init_images[i] = result # result_path = get_image_path(p.init_images[i], p.outpath_samples, "", p.all_seeds[i], p.all_prompts[i], "txt", p=p, suffix="-swapped") @@ -353,10 +475,13 @@ class FaceSwapScript(scripts.Script): else: logger.error("Please provide a source face") + return def postprocess(self, p: StableDiffusionProcessing, processed: Processed, *args): if self.enable: + logger.debug("*** Check postprocess") + reset_messaged() if check_process_halt(): return @@ -373,42 +498,44 @@ class FaceSwapScript(scripts.Script): if self.swap_in_generated: logger.status("Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) - if self.source is not None: - for i,(img,info) in enumerate(zip(orig_images, orig_infotexts)): - if check_process_halt(): - postprocess_run = False - break - if len(orig_images) > 1: - logger.status("Swap in %s", i) - result, output, swapped = swap_face( - self.source, - img, - source_faces_index=self.source_faces_index, - faces_index=self.faces_index, - model=self.model, - enhancement_options=self.enhancement_options, - gender_source=self.gender_source, - gender_target=self.gender_target, - source_hash_check=self.source_hash_check, - target_hash_check=self.target_hash_check, - device=self.device, - mask_face=self.mask_face, - ) - if result is not None and swapped > 0: - result_images.append(result) - suffix = "-swapped" - try: - img_path = save_image(result, p.outpath_samples, "", p.all_seeds[0], p.all_prompts[0], "png",info=info, p=p, suffix=suffix) - except: - logger.error("Cannot save a result image - please, check SD WebUI Settings (Saving and Paths)") - elif result is None: - logger.error("Cannot create a result image") - - # if len(output) != 0: - # split_fullfn = os.path.splitext(img_path[0]) - # fullfn = split_fullfn[0] + ".txt" - # with open(fullfn, 'w', encoding="utf8") as f: - # f.writelines(output) + # if self.source is not None: + for i,(img,info) in enumerate(zip(orig_images, orig_infotexts)): + if check_process_halt(): + postprocess_run = False + break + if len(orig_images) > 1: + logger.status("Swap in %s", i) + result, output, swapped = swap_face( + self.source, + img, + source_faces_index=self.source_faces_index, + faces_index=self.faces_index, + model=self.model, + enhancement_options=self.enhancement_options, + gender_source=self.gender_source, + gender_target=self.gender_target, + source_hash_check=self.source_hash_check, + target_hash_check=self.target_hash_check, + device=self.device, + mask_face=self.mask_face, + select_source=self.select_source, + face_model = self.face_model, + ) + if result is not None and swapped > 0: + result_images.append(result) + suffix = "-swapped" + try: + img_path = save_image(result, p.outpath_samples, "", p.all_seeds[0], p.all_prompts[0], "png",info=info, p=p, suffix=suffix) + except: + logger.error("Cannot save a result image - please, check SD WebUI Settings (Saving and Paths)") + elif result is None: + logger.error("Cannot create a result image") + + # if len(output) != 0: + # split_fullfn = os.path.splitext(img_path[0]) + # fullfn = split_fullfn[0] + ".txt" + # with open(fullfn, 'w', encoding="utf8") as f: + # f.writelines(output) if shared.opts.return_grid and len(result_images) > 2 and postprocess_run: grid = make_grid(result_images) @@ -423,11 +550,14 @@ class FaceSwapScript(scripts.Script): def postprocess_batch(self, p, *args, **kwargs): if self.enable and not self.save_original: + logger.debug("*** Check postprocess_batch") images = kwargs["images"] def postprocess_image(self, p, script_pp: scripts.PostprocessImageArgs, *args): if self.enable and self.swap_in_generated and not self.save_original: + logger.debug("*** Check postprocess_image") + current_job_number = shared.state.job_no + 1 job_count = shared.state.job_count if current_job_number == job_count: @@ -435,36 +565,38 @@ class FaceSwapScript(scripts.Script): if check_process_halt(): return - if self.source is not None: - logger.status("Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) - image: Image.Image = script_pp.image - result, output, swapped = swap_face( - self.source, - image, - source_faces_index=self.source_faces_index, - faces_index=self.faces_index, - model=self.model, - enhancement_options=self.enhancement_options, - gender_source=self.gender_source, - gender_target=self.gender_target, - source_hash_check=self.source_hash_check, - target_hash_check=self.target_hash_check, - device=self.device, - mask_face=self.mask_face, - ) - try: - pp = scripts_postprocessing.PostprocessedImage(result) - pp.info = {} - p.extra_generation_params.update(pp.info) - script_pp.image = pp.image + # if (self.source is not None and self.select_source == 0) or ((self.face_model is not None and self.face_model != "None") and self.select_source == 1): + logger.status("Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) + image: Image.Image = script_pp.image + result, output, swapped = swap_face( + self.source, + image, + source_faces_index=self.source_faces_index, + faces_index=self.faces_index, + model=self.model, + enhancement_options=self.enhancement_options, + gender_source=self.gender_source, + gender_target=self.gender_target, + source_hash_check=self.source_hash_check, + target_hash_check=self.target_hash_check, + device=self.device, + mask_face=self.mask_face, + select_source=self.select_source, + face_model = self.face_model, + ) + try: + pp = scripts_postprocessing.PostprocessedImage(result) + pp.info = {} + p.extra_generation_params.update(pp.info) + script_pp.image = pp.image - # if len(output) != 0: - # result_path = get_image_path(script_pp.image, p.outpath_samples, "", p.all_seeds[0], p.all_prompts[0], "txt", p=p, suffix="-swapped") - # if len(output) != 0: - # with open(result_path, 'w', encoding="utf8") as f: - # f.writelines(output) - except: - logger.error("Cannot create a result image") + # if len(output) != 0: + # result_path = get_image_path(script_pp.image, p.outpath_samples, "", p.all_seeds[0], p.all_prompts[0], "txt", p=p, suffix="-swapped") + # if len(output) != 0: + # with open(result_path, 'w', encoding="utf8") as f: + # f.writelines(output) + except: + logger.error("Cannot create a result image") class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): @@ -473,11 +605,56 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): def ui(self): with gr.Accordion(f"{app_title}", open=False): + + def update_fm_list(selected: str): + return gr.Dropdown.update( + value=selected, choices=get_model_names(get_facemodels) + ) + def update_upscalers_list(selected: str): + return gr.Dropdown.update( + value=selected, choices=[upscaler.name for upscaler in shared.sd_upscalers] + ) + def update_models_list(selected: str): + return gr.Dropdown.update( + value=selected, choices=get_models() + ) + + # TAB MAIN with gr.Tab("Main"): with gr.Column(): img = gr.Image(type="pil") enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") - mask_face = gr.Checkbox(False, label="Face Mask Correction", info="Apply this option if you see some pixelation around face contours") + # gr.Markdown("
") + with gr.Row(): + select_source = gr.Radio( + ["Image","Face Model"], + value="Image", + label="Select Source", + type="index", + scale=1, + ) + face_models = get_model_names(get_facemodels) + face_model = gr.Dropdown( + choices=face_models, + label="Choose Face Model", + value="None", + scale=2, + ) + fm_update = gr.Button( + value="🔄", + variant="tool", + ) + fm_update.click( + update_fm_list, + inputs=[face_model], + outputs=[face_model], + ) + setattr(face_model, "do_not_save_to_config", True) + mask_face = gr.Checkbox( + False, + label="Face Mask Correction", + info="Apply this option if you see some pixelation around face contours" + ) gr.Markdown("Source Image (above):") with gr.Row(): source_faces_index = gr.Textbox( @@ -519,23 +696,58 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): 0, 1, 0.5, step=0.1, label="CodeFormer Weight", info="0 = maximum effect, 1 = minimum effect" ) + # TAB UPSCALE with gr.Tab("Upscale"): restore_first = gr.Checkbox( True, label="1. Restore Face -> 2. Upscale (-Uncheck- if you want vice versa)", info="Postprocessing Order" ) - upscaler_name = gr.Dropdown( - choices=[upscaler.name for upscaler in shared.sd_upscalers], - label="Upscaler", - value="None", - info="Won't scale if you choose -Swap in Source- via img2img, only 1x-postprocessing will affect (texturing, denoising, restyling etc.)" + with gr.Row(): + upscaler_name = gr.Dropdown( + choices=[upscaler.name for upscaler in shared.sd_upscalers], + label="Upscaler", + value="None", + info="Won't scale if you choose -Swap in Source- via img2img, only 1x-postprocessing will affect (texturing, denoising, restyling etc.)" + ) + upscalers_update = gr.Button( + value="🔄", + variant="tool", + ) + upscalers_update.click( + update_upscalers_list, + inputs=[upscaler_name], + outputs=[upscaler_name], ) with gr.Row(): upscaler_scale = gr.Slider(1, 8, 1, step=0.1, label="Scale by") upscaler_visibility = gr.Slider( 0, 1, 1, step=0.1, label="Upscaler Visibility (if scale = 1)" ) + + # TAB TOOLS + with gr.Tab("Tools 🆕"): + with gr.Tab("Face Models"): + gr.Markdown("Load an image containing one person, name it and click 'Build and Save'") + img_fm = gr.Image( + type="pil", + label="Load Image to build Face Model", + ) + with gr.Row(equal_height=True): + fm_name = gr.Textbox( + value="", + placeholder="Please type any name (e.g. Elena)", + label="Face Model Name", + ) + save_fm_btn = gr.Button("Build and Save") + save_fm = gr.Markdown("You can find saved models in 'models/reactor/faces'") + save_fm_btn.click( + build_face_model, + inputs=[img_fm, fm_name], + outputs=[save_fm], + ) + + # TAB SETTINGS with gr.Tab("Settings"): models = get_models() with gr.Row(visible=EP_is_visible): @@ -558,22 +770,33 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): with gr.Row(): if len(models) == 0: logger.warning( - "You should at least have one model in models directory, please read the doc here : https://github.com/Gourieff/sd-webui-reactor/" + "You should at least have one model in models directory, please read the doc here: https://github.com/Gourieff/sd-webui-reactor/" ) model = gr.Dropdown( choices=models, - label="Model not found, please download one and reload WebUI", + label="Model not found, please download one and refresh the list", ) else: model = gr.Dropdown( choices=models, label="Model", value=models[0] ) + models_update = gr.Button( + value="🔄", + variant="tool", + ) + models_update.click( + update_models_list, + inputs=[model], + outputs=[model], + ) console_logging_level = gr.Radio( ["No log", "Minimum", "Default"], value="Minimum", label="Console Log Level", type="index", ) + + gr.Markdown("by Eugene Gourieff") args = { 'img': img, @@ -593,6 +816,8 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): 'codeformer_weight': codeformer_weight, 'device': device, 'mask_face': mask_face, + 'select_source': select_source, + 'face_model': face_model, } return args @@ -643,6 +868,8 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): self.codeformer_weight = args['codeformer_weight'] self.device = args['device'] self.mask_face = args['mask_face'] + self.select_source = args['select_source'] + self.face_model = args['face_model'] if self.gender_source is None or self.gender_source == "No": self.gender_source = 0 if self.gender_target is None or self.gender_target == "No": @@ -667,7 +894,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): set_Device(self.device) - if self.source is not None: + if (self.source is not None and self.select_source == 0) or ((self.face_model is not None and self.face_model != "None") and self.select_source == 1): apply_logging_patch(self.console_logging_level) logger.status("Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) image: Image.Image = pp.image @@ -684,6 +911,8 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): target_hash_check=True, device=self.device, mask_face=self.mask_face, + select_source=self.select_source, + face_model=self.face_model, ) try: pp.info["ReActor"] = True diff --git a/scripts/reactor_globals.py b/scripts/reactor_globals.py index 96e6d7d..7aea387 100644 --- a/scripts/reactor_globals.py +++ b/scripts/reactor_globals.py @@ -1,10 +1,27 @@ import os from pathlib import Path +try: + from modules.paths_internal import models_path +except: + try: + from modules.paths import models_path + except: + models_path = os.path.abspath("models") + IS_RUN: bool = False BASE_PATH = os.path.join(Path(__file__).parents[1]) DEVICE_LIST: list = ["CPU", "CUDA"] +MODELS_PATH = models_path +REACTOR_MODELS_PATH = os.path.join(models_path, "reactor") +FACE_MODELS_PATH = os.path.join(REACTOR_MODELS_PATH, "faces") + +if not os.path.exists(REACTOR_MODELS_PATH): + os.makedirs(REACTOR_MODELS_PATH) + if not os.path.exists(FACE_MODELS_PATH): + os.makedirs(FACE_MODELS_PATH) + def updateDevice(): try: LAST_DEVICE_PATH = os.path.join(BASE_PATH, "last_device.txt") diff --git a/scripts/reactor_helpers.py b/scripts/reactor_helpers.py index 21cc90f..cfce05f 100644 --- a/scripts/reactor_helpers.py +++ b/scripts/reactor_helpers.py @@ -1,14 +1,17 @@ -import os +import os, glob from collections import Counter from PIL import Image from math import isqrt, ceil from typing import List import logging import hashlib +import torch +from safetensors.torch import save_file, safe_open +from insightface.app.common import Face from modules.images import FilenameGenerator, get_next_sequence_number from modules import shared, script_callbacks -from scripts.reactor_globals import DEVICE, BASE_PATH +from scripts.reactor_globals import DEVICE, BASE_PATH, FACE_MODELS_PATH def set_Device(value): global DEVICE @@ -133,3 +136,42 @@ def addLoggingLevel(levelName, levelNum, methodName=None): def get_image_md5hash(image: Image.Image): md5hash = hashlib.md5(image.tobytes()) return md5hash.hexdigest() + +def save_face_model(face: Face, filename: str) -> None: + try: + tensors = { + "bbox": torch.tensor(face["bbox"]), + "kps": torch.tensor(face["kps"]), + "det_score": torch.tensor(face["det_score"]), + "landmark_3d_68": torch.tensor(face["landmark_3d_68"]), + "pose": torch.tensor(face["pose"]), + "landmark_2d_106": torch.tensor(face["landmark_2d_106"]), + "embedding": torch.tensor(face["embedding"]), + "gender": torch.tensor(face["gender"]), + "age": torch.tensor(face["age"]), + } + save_file(tensors, filename) + # print(f"Face model has been saved to '{filename}'") + except Exception as e: + print(f"Error: {e}") + +def load_face_model(filename: str): + face = {} + model_path = os.path.join(FACE_MODELS_PATH, filename) + with safe_open(model_path, framework="pt") as f: + for k in f.keys(): + face[k] = f.get_tensor(k).numpy() + return Face(face) + +def get_facemodels(): + models_path = os.path.join(FACE_MODELS_PATH, "*") + models = glob.glob(models_path) + models = [x for x in models if x.endswith(".safetensors")] + return models + +def get_model_names(get_models): + models = get_models() + names = ["None"] + for x in models: + names.append(os.path.basename(x)) + return names diff --git a/scripts/reactor_swapper.py b/scripts/reactor_swapper.py index c244724..65d2434 100644 --- a/scripts/reactor_swapper.py +++ b/scripts/reactor_swapper.py @@ -8,8 +8,12 @@ import numpy as np from PIL import Image import insightface +from insightface.app.common import Face + +from scripts.reactor_globals import FACE_MODELS_PATH +from scripts.reactor_helpers import get_image_md5hash, get_Device, save_face_model, load_face_model +from scripts.console_log_patch import apply_logging_patch -from scripts.reactor_helpers import get_image_md5hash, get_Device from modules.face_restoration import FaceRestoration try: # A1111 from modules import codeformer_model @@ -26,7 +30,7 @@ except: try: from modules.paths import models_path except: - model_path = os.path.abspath("models") + models_path = os.path.abspath("models") import warnings @@ -78,10 +82,11 @@ def check_process_halt(msgforced: bool = False): FS_MODEL = None +ANALYSIS_MODEL = None MASK_MODEL = None + CURRENT_FS_MODEL_PATH = None CURRENT_MASK_MODEL_PATH = None -ANALYSIS_MODEL = None SOURCE_FACES = None SOURCE_IMAGE_HASH = None @@ -108,8 +113,6 @@ def getFaceSwapModel(model_path: str): return FS_MODEL - - def restore_face(image: Image, enhancement_options: EnhancementOptions): result_image = image @@ -173,6 +176,7 @@ def enhance_image(image: Image, enhancement_options: EnhancementOptions): result_image = restore_face(result_image, enhancement_options) return result_image + def enhance_image_and_mask(image: Image.Image, enhancement_options: EnhancementOptions,target_img_orig:Image.Image,entire_mask_image:Image.Image)->Image.Image: result_image = image @@ -309,6 +313,8 @@ def swap_face( target_hash_check: bool = False, device: str = "CPU", mask_face: bool = False, + select_source: int = 0, + face_model: str = "None", ): global SOURCE_FACES, SOURCE_IMAGE_HASH, TARGET_FACES, TARGET_IMAGE_HASH, PROVIDERS result_image = target_img @@ -333,40 +339,56 @@ def swap_face( source_img = Image.open(io.BytesIO(img_bytes)) - source_img = cv2.cvtColor(np.array(source_img), cv2.COLOR_RGB2BGR) target_img = cv2.cvtColor(np.array(target_img), cv2.COLOR_RGB2BGR) + target_img_orig = cv2.cvtColor(np.array(target_img), cv2.COLOR_RGB2BGR) entire_mask_image = np.zeros_like(np.array(target_img)) + output: List = [] output_info: str = "" swapped = 0 - if source_hash_check: + if select_source == 0 and source_img is not None: + + source_img = cv2.cvtColor(np.array(source_img), cv2.COLOR_RGB2BGR) - source_image_md5hash = get_image_md5hash(source_img) + if source_hash_check: - if SOURCE_IMAGE_HASH is None: - SOURCE_IMAGE_HASH = source_image_md5hash - source_image_same = False - else: - source_image_same = True if SOURCE_IMAGE_HASH == source_image_md5hash else False - if not source_image_same: + source_image_md5hash = get_image_md5hash(source_img) + + if SOURCE_IMAGE_HASH is None: SOURCE_IMAGE_HASH = source_image_md5hash + source_image_same = False + else: + source_image_same = True if SOURCE_IMAGE_HASH == source_image_md5hash else False + if not source_image_same: + SOURCE_IMAGE_HASH = source_image_md5hash - logger.info("Source Image MD5 Hash = %s", SOURCE_IMAGE_HASH) - logger.info("Source Image the Same? %s", source_image_same) + logger.info("Source Image MD5 Hash = %s", SOURCE_IMAGE_HASH) + logger.info("Source Image the Same? %s", source_image_same) - if SOURCE_FACES is None or not source_image_same: + if SOURCE_FACES is None or not source_image_same: + logger.status("Analyzing Source Image...") + source_faces = analyze_faces(source_img) + SOURCE_FACES = source_faces + elif source_image_same: + logger.status("Using Hashed Source Face(s) Model...") + source_faces = SOURCE_FACES + + else: logger.status("Analyzing Source Image...") source_faces = analyze_faces(source_img) - SOURCE_FACES = source_faces - elif source_image_same: - logger.status("Using Ready Source Face(s) Model...") - source_faces = SOURCE_FACES - + + elif select_source == 1 and (face_model is not None and face_model != "None"): + source_face_model = [load_face_model(face_model)] + if source_face_model is not None: + source_faces_index = [0] + source_faces = source_face_model + logger.status("Using Loaded Source Face Model...") + else: + logger.error(f"Cannot load Face Model File: {face_model}.safetensors") else: - logger.status("Analyzing Source Image...") - source_faces = analyze_faces(source_img) + logger.error("Cannot detect any Source") if source_faces is not None: @@ -390,7 +412,7 @@ def swap_face( target_faces = analyze_faces(target_img) TARGET_FACES = target_faces elif target_image_same: - logger.status("Using Ready Target Face(s) Model...") + logger.status("Using Hashed Target Face(s) Model...") target_faces = TARGET_FACES else: @@ -398,7 +420,13 @@ def swap_face( target_faces = analyze_faces(target_img) logger.status("Detecting Source Face, Index = %s", source_faces_index[0]) - source_face, wrong_gender, source_age, source_gender = get_face_single(source_img, source_faces, face_index=source_faces_index[0], gender_source=gender_source) + if select_source == 0 and source_img is not None: + source_face, wrong_gender, source_age, source_gender = get_face_single(source_img, source_faces, face_index=source_faces_index[0], gender_source=gender_source) + else: + source_face = sorted(source_faces, key=lambda x: x.bbox[0])[source_faces_index[0]] + wrong_gender = 0 + source_age = source_face["age"] + source_gender = "Female" if source_face["gender"] == 0 else "Male" if source_age != "None" or source_gender != "None": logger.status("Detected: -%s- y.o. %s", source_age, source_gender) @@ -491,3 +519,29 @@ def swap_face( logger.status("No source face(s) found") return result_image, output, swapped + + +def build_face_model(image: Image.Image, name: str): + if image is None: + error_msg = "Please load an Image" + logger.error(error_msg) + return error_msg + if name is None: + error_msg = "Please filled out the 'Face Model Name' field" + logger.error(error_msg) + return error_msg + apply_logging_patch(1) + image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR) + logger.status("Building Face Model...") + face_model = analyze_faces(image)[0] + if face_model is not None: + face_model_path = os.path.join(FACE_MODELS_PATH, name + ".safetensors") + save_face_model(face_model,face_model_path) + logger.status("--Done!--") + done_msg = f"Face model has been saved to '{face_model_path}'" + logger.status(done_msg) + return done_msg + else: + no_face_msg = "No face found, please try another image" + logger.error(no_face_msg) + return no_face_msg diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 3230c48..1c1c0c8 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.5.1-b1" +version_flag = "v0.5.1-b2" from scripts.reactor_logger import logger, get_Run, set_Run From 99e374e4f5c5330a5129f8cb63821ffe7bcd0d17 Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Fri, 24 Nov 2023 19:07:02 +0700 Subject: [PATCH 03/35] ADD: Whats New Section; UPDATE: Features +VersionUP (0.5.1 beta2) --- README.md | 15 ++++++++++++++- README_RU.md | 15 ++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8de80b1..06586a0 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ --- - Installation | Features | Usage | API | Troubleshooting | Updating | ComfyUI | Disclaimer + What's new | Installation | Features | Usage | API | Troubleshooting | Updating | ComfyUI | Disclaimer @@ -56,6 +56,17 @@ example + + +## What's new in the latest update + +### 0.5.1 BETA2 + +- You can now save face models as "safetensors" files (stored in `\models\reactor\faces`) and load them into ReActor, keeping super lightweight face models of the faces you use; +- "Face Mask Correction" option - if you encounter some pixelation around face contours, this option will be useful; + +0.5.0-whatsnew-01 + ## Installation [Automatic1111](#a1111) | [Vladmandic SD.Next](#sdnext) | [Google Colab SD WebUI](#colab) @@ -103,6 +114,8 @@ - Ability to **save original images** (made before swapping) - **Face restoration** of a swapped face - **Upscaling** of a resulting image +- Saving ans loading **Safetensors Face Models** +- **Facial Mask Correction** to avoid any pixelation around face contours - Ability to set the **Postprocessing order** - **100% compatibility** with different **SD WebUIs**: Automatic1111, SD.Next, Cagliostro Colab UI - **Fast performance** even with CPU, ReActor for SD WebUI is absolutely not picky about how powerful your GPU is diff --git a/README_RU.md b/README_RU.md index 20dcb41..9ccd906 100644 --- a/README_RU.md +++ b/README_RU.md @@ -21,7 +21,7 @@ --- - Установка | Возможности | Использование | API | Устранение проблем | Обновление | ComfyUI | Ответственность + Что нового | Установка | Возможности | Использование | API | Устранение проблем | Обновление | ComfyUI | Ответственность @@ -55,6 +55,17 @@ example + + +## Что нового в последнем обновлении + +### 0.5.1 BETA2 + +- Теперь можно сохранять модели лиц в качестве файлов "safetensors" (находятся в `\models\reactor\faces`) и загружать их с ReActor, храня супер легкие модели лиц, которые вы чаще всего используете; +- Новые опция "Face Mask Correction" - если вы сталкиваетесь с пикселизацией вокруг контуров лица, эта опция будет полезной; + +0.5.0-whatsnew-01 + ## Установка @@ -106,6 +117,8 @@ - Функция **сохранения оригинального изображения** (сгенерированного до замены лица) - **Восстановление лица** после замены - **Увеличение размера** полученного изображения +- Сохранение и загрузка **Моделей Лиц типа Safetensors** +- **Коррекция Маски Лица** для предотвращения какой-либо пикселизации вокруг контуров лиц - Возможность задать **порядок постобработки** - **100% совместимость** с разными **SD WebUI**: Automatic1111, SD.Next, Cagliostro Colab UI - **Отличная производительность** даже с использованием ЦПУ, ReActor для SD WebUI абсолютно не требователен к мощности вашей видеокарты From 70479479b314aa84dc37bda01a44988adabdb9b4 Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Fri, 24 Nov 2023 23:02:00 +0700 Subject: [PATCH 04/35] HotFIX: Compatibility with "sd-face-editor" Issue #211 Because Reactor's Mask Correction is based on sd-face-editor masking script - we need another naming of active folders +VersionUP (0.5.1 beta3) --- README.md | 2 +- README_RU.md | 2 +- modules/reactor_mask.py | 6 +++--- scripts/{entities => reactor_entities}/face.py | 2 +- scripts/{entities => reactor_entities}/rect.py | 0 .../bisenet_mask_generator.py | 2 +- .../{inferencers => reactor_inferencers}/mask_generator.py | 0 scripts/reactor_version.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) rename scripts/{entities => reactor_entities}/face.py (98%) rename scripts/{entities => reactor_entities}/rect.py (100%) rename scripts/{inferencers => reactor_inferencers}/bisenet_mask_generator.py (97%) rename scripts/{inferencers => reactor_inferencers}/mask_generator.py (100%) diff --git a/README.md b/README.md index 06586a0..3515ce2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.5.1_beta2-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.5.1_beta3-green?style=for-the-badge&labelColor=darkgreen) Buy Me a Coffee at ko-fi.com diff --git a/README_RU.md b/README_RU.md index 9ccd906..93dc2f1 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.5.1_beta2-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.5.1_beta3-green?style=for-the-badge&labelColor=darkgreen) Buy Me a Coffee at ko-fi.com diff --git a/modules/reactor_mask.py b/modules/reactor_mask.py index 5f939d1..4109989 100644 --- a/modules/reactor_mask.py +++ b/modules/reactor_mask.py @@ -5,9 +5,9 @@ from PIL import Image, ImageDraw from torchvision.transforms.functional import to_pil_image from scripts.reactor_logger import logger -from scripts.inferencers.bisenet_mask_generator import BiSeNetMaskGenerator -from scripts.entities.face import FaceArea -from scripts.entities.rect import Rect +from scripts.reactor_inferencers.bisenet_mask_generator import BiSeNetMaskGenerator +from scripts.reactor_entities.face import FaceArea +from scripts.reactor_entities.rect import Rect colors = [ diff --git a/scripts/entities/face.py b/scripts/reactor_entities/face.py similarity index 98% rename from scripts/entities/face.py rename to scripts/reactor_entities/face.py index 8ba1f7e..4c7a784 100644 --- a/scripts/entities/face.py +++ b/scripts/reactor_entities/face.py @@ -6,7 +6,7 @@ from modules import images from PIL import Image -from scripts.entities.rect import Point, Rect +from scripts.reactor_entities.rect import Point, Rect class FaceArea: diff --git a/scripts/entities/rect.py b/scripts/reactor_entities/rect.py similarity index 100% rename from scripts/entities/rect.py rename to scripts/reactor_entities/rect.py diff --git a/scripts/inferencers/bisenet_mask_generator.py b/scripts/reactor_inferencers/bisenet_mask_generator.py similarity index 97% rename from scripts/inferencers/bisenet_mask_generator.py rename to scripts/reactor_inferencers/bisenet_mask_generator.py index 3de09e8..576c8c1 100644 --- a/scripts/inferencers/bisenet_mask_generator.py +++ b/scripts/reactor_inferencers/bisenet_mask_generator.py @@ -7,7 +7,7 @@ import torch from facexlib.parsing import init_parsing_model from facexlib.utils.misc import img2tensor from torchvision.transforms.functional import normalize -from scripts.inferencers.mask_generator import MaskGenerator +from scripts.reactor_inferencers.mask_generator import MaskGenerator class BiSeNetMaskGenerator(MaskGenerator): def __init__(self) -> None: diff --git a/scripts/inferencers/mask_generator.py b/scripts/reactor_inferencers/mask_generator.py similarity index 100% rename from scripts/inferencers/mask_generator.py rename to scripts/reactor_inferencers/mask_generator.py diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 1c1c0c8..51869bc 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.5.1-b2" +version_flag = "v0.5.1-b3" from scripts.reactor_logger import logger, get_Run, set_Run From d11a8a694104d90d899dc22da000f80670e339d7 Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Sun, 26 Nov 2023 00:21:50 +0700 Subject: [PATCH 05/35] FIX: List index out of range when no face found Face Model Error, Issue #214 --- README.md | 2 +- README_RU.md | 2 +- scripts/reactor_swapper.py | 6 +++--- scripts/reactor_version.py | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3515ce2..77635fd 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.5.1_beta3-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.5.1_beta4-green?style=for-the-badge&labelColor=darkgreen) Buy Me a Coffee at ko-fi.com diff --git a/README_RU.md b/README_RU.md index 93dc2f1..e0807fc 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.5.1_beta3-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.5.1_beta4-green?style=for-the-badge&labelColor=darkgreen) Buy Me a Coffee at ko-fi.com diff --git a/scripts/reactor_swapper.py b/scripts/reactor_swapper.py index 65d2434..69b1e62 100644 --- a/scripts/reactor_swapper.py +++ b/scripts/reactor_swapper.py @@ -533,10 +533,10 @@ def build_face_model(image: Image.Image, name: str): apply_logging_patch(1) image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR) logger.status("Building Face Model...") - face_model = analyze_faces(image)[0] - if face_model is not None: + face_model = analyze_faces(image) + if face_model is not None and len(face_model) > 0: face_model_path = os.path.join(FACE_MODELS_PATH, name + ".safetensors") - save_face_model(face_model,face_model_path) + save_face_model(face_model[0],face_model_path) logger.status("--Done!--") done_msg = f"Face model has been saved to '{face_model_path}'" logger.status(done_msg) diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 51869bc..dda161d 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.5.1-b3" +version_flag = "v0.5.1-b4" from scripts.reactor_logger import logger, get_Run, set_Run From 20d2131e81a57023916bcaa18af2bec1eee7daf3 Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Sat, 2 Dec 2023 23:53:00 +0700 Subject: [PATCH 06/35] UPDATE: Ko-Fi -> Boosty | PayPal ban MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PayPal banned my business account with all the money was there and I cannot use platforms like Ko-Fi from now on. **This is because I'm Russian?** Okay. Just don’t regret your current policies and double standards in the future.
Times and events do pass - and the main thing in all this cycles is to remain Human.
Ok, enough lirics. So my friends, only one platform is now available for me and for those who wants to support this project - is Boosty. Welcome. +VersionUP (0.5.1, beta passed) --- README.md | 40 ++++++++++---------------------------- README_RU.md | 38 +++++++++--------------------------- install.py | 26 ++++++++++++------------- scripts/reactor_version.py | 2 +- 4 files changed, 33 insertions(+), 73 deletions(-) diff --git a/README.md b/README.md index 77635fd..dc3da48 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,16 @@ logo - ![Version](https://img.shields.io/badge/version-0.5.1_beta4-green?style=for-the-badge&labelColor=darkgreen) - - Buy Me a Coffee at ko-fi.com + ![Version](https://img.shields.io/badge/version-0.5.1-brightgreen?style=for-the-badge&labelColor=darkgreen) + + Support Me on Boosty +
+ + Support This Project + +
+
[![Commit activity](https://img.shields.io/github/commit-activity/t/Gourieff/sd-webui-reactor/main?cacheSeconds=0)](https://github.com/Gourieff/sd-webui-reactor/commits/main) @@ -28,39 +34,13 @@ --- - - - - - - -
- - Support Me on Boosty -
- - Support This Project - -
-
- ReActor is an extension for Stable Diffusion WebUI that allows a very easy and accurate face-replacement (face swap) in images. Based on ReActor-UI. - - - Support Me via PayPal -
- - Donate to This Project - -
-
- example ## What's new in the latest update -### 0.5.1 BETA2 +### 0.5.1 - You can now save face models as "safetensors" files (stored in `\models\reactor\faces`) and load them into ReActor, keeping super lightweight face models of the faces you use; - "Face Mask Correction" option - if you encounter some pixelation around face contours, this option will be useful; diff --git a/README_RU.md b/README_RU.md index e0807fc..e7a07a1 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,9 +2,15 @@ logo - ![Version](https://img.shields.io/badge/версия-0.5.1_beta4-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.5.1-brightgreen?style=for-the-badge&labelColor=darkgreen) - Buy Me a Coffee at ko-fi.com + + Поддержать проект на Boosty +
+ + Поддержать проект + +

@@ -27,39 +33,13 @@ --- - - - - - - -
- - Поддержать проект на Boosty -
- - Поддержать проект - -
-
- ReActor это расширение для Stable Diffusion WebUI, которое позволяет делать простую и точную замену лиц на изображениях. Сделано на основе ReActor-UI. - - - Поддержать проект через PayPal -
- - Помочь проекту - -
-
- example ## Что нового в последнем обновлении -### 0.5.1 BETA2 +### 0.5.1 - Теперь можно сохранять модели лиц в качестве файлов "safetensors" (находятся в `\models\reactor\faces`) и загружать их с ReActor, храня супер легкие модели лиц, которые вы чаще всего используете; - Новые опция "Face Mask Correction" - если вы сталкиваетесь с пикселизацией вокруг контуров лица, эта опция будет полезной; diff --git a/install.py b/install.py index bdaa9c2..6b46a8c 100644 --- a/install.py +++ b/install.py @@ -19,21 +19,21 @@ BASE_PATH = os.path.dirname(os.path.realpath(__file__)) req_file = os.path.join(BASE_PATH, "requirements.txt") -models_dir_old = os.path.join(models_path, "roop") models_dir = os.path.join(models_path, "insightface") -# Check the deprecated 'roop' folder -if os.path.exists(models_dir_old): - if not os.listdir(models_dir_old) and (not os.listdir(models_dir) or not os.path.exists(models_dir)): - os.rename(models_dir_old, models_dir) - else: - import shutil - for file in os.listdir(models_dir_old): - shutil.move(os.path.join(models_dir_old, file), os.path.join(models_dir, file)) - try: - os.rmdir(models_dir_old) - except Exception as e: - print(f"OSError: {e}") +# DEPRECATED: +# models_dir_old = os.path.join(models_path, "roop") +# if os.path.exists(models_dir_old): +# if not os.listdir(models_dir_old) and (not os.listdir(models_dir) or not os.path.exists(models_dir)): +# os.rename(models_dir_old, models_dir) +# else: +# import shutil +# for file in os.listdir(models_dir_old): +# shutil.move(os.path.join(models_dir_old, file), os.path.join(models_dir, file)) +# try: +# os.rmdir(models_dir_old) +# except Exception as e: +# print(f"OSError: {e}") model_url = "https://github.com/facefusion/facefusion-assets/releases/download/models/inswapper_128.onnx" model_name = os.path.basename(model_url) diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index dda161d..9e68bc1 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.5.1-b4" +version_flag = "v0.5.1" from scripts.reactor_logger import logger, get_Run, set_Run From 7706d6aa349724e55443096eadb32e92125908e4 Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Sun, 3 Dec 2023 01:36:46 +0700 Subject: [PATCH 07/35] FIX: 'last_device.txt is empty' behavior According to PR #227 Thanks @xdadrm for spotting the error --- install.py | 12 +++++++----- scripts/reactor_globals.py | 12 ++++++++---- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/install.py b/install.py index 6b46a8c..7023b53 100644 --- a/install.py +++ b/install.py @@ -79,12 +79,14 @@ print("ReActor preheating...", end=' ') last_device = None first_run = False +available_devices = ["CPU", "CUDA"] try: last_device_log = os.path.join(BASE_PATH, "last_device.txt") with open(last_device_log) as f: - for el in f: - last_device = el.strip() + last_device = f.readline().strip() + if last_device not in available_devices: + last_device = None except: last_device = "CPU" first_run = True @@ -97,7 +99,7 @@ with open(req_file) as file: import torch try: if torch.cuda.is_available(): - if first_run: + if first_run or last_device is None: last_device = "CUDA" elif torch.backends.mps.is_available() or hasattr(torch,'dml'): ort = "onnxruntime" @@ -105,10 +107,10 @@ with open(req_file) as file: if first_run: pip_uninstall("onnxruntime", "onnxruntime-gpu") # just in case: - if last_device == "CUDA": + if last_device == "CUDA" or last_device is None: last_device = "CPU" else: - if last_device == "CUDA": + if last_device == "CUDA" or last_device is None: last_device = "CPU" with open(os.path.join(BASE_PATH, "last_device.txt"), "w") as txt: txt.write(last_device) diff --git a/scripts/reactor_globals.py b/scripts/reactor_globals.py index 7aea387..f828254 100644 --- a/scripts/reactor_globals.py +++ b/scripts/reactor_globals.py @@ -26,10 +26,14 @@ def updateDevice(): try: LAST_DEVICE_PATH = os.path.join(BASE_PATH, "last_device.txt") with open(LAST_DEVICE_PATH) as f: - for el in f: - device = el.strip() - except: - device = "CPU" + device = f.readline().strip() + if device not in DEVICE_LIST: + print(f"Error: Device {device} is not in DEVICE_LIST") + device = DEVICE_LIST[0] + print(f"Execution Provider has been set to {device}") + except Exception as e: + device = DEVICE_LIST[0] + print(f"Error: {e}\nExecution Provider has been set to {device}") return device DEVICE = updateDevice() From e62ff09e5c3f10cb8785457d0a1502d2267d3128 Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Wed, 6 Dec 2023 19:36:40 +0700 Subject: [PATCH 08/35] UPDATE: Multiple Source Images Support Feature Request #143 +VersionUP (0.6.0 alpha1) --- README.md | 33 +- README_RU.md | 27 +- example/api_example.py | 5 +- {modules => reactor_modules}/reactor_mask.py | 0 reactor_ui/__init__.py | 4 + reactor_ui/reactor_main_ui.py | 182 ++++++ reactor_ui/reactor_settings_ui.py | 77 +++ reactor_ui/reactor_tools_ui.py | 25 + reactor_ui/reactor_upscale_ui.py | 39 ++ scripts/reactor_api.py | 7 +- scripts/reactor_faceswap.py | 587 ++++--------------- scripts/reactor_globals.py | 3 +- scripts/reactor_helpers.py | 32 + scripts/reactor_swapper.py | 496 ++++++++++------ scripts/reactor_version.py | 2 +- 15 files changed, 859 insertions(+), 660 deletions(-) rename {modules => reactor_modules}/reactor_mask.py (100%) create mode 100644 reactor_ui/__init__.py create mode 100644 reactor_ui/reactor_main_ui.py create mode 100644 reactor_ui/reactor_settings_ui.py create mode 100644 reactor_ui/reactor_tools_ui.py create mode 100644 reactor_ui/reactor_upscale_ui.py diff --git a/README.md b/README.md index dc3da48..695634b 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.5.1-brightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.6.0_alpha1-lightgreen?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty @@ -38,11 +38,20 @@ -## What's new in the latest update +## What's new in the latest updates + +### 0.6.0 ALPHA1 + +- UI reworked +- You can now load several source images (with reference faces) or set the path to the folder containing faces images + +0.6.0-whatsnew-01 + +0.6.0-whatsnew-02 ### 0.5.1 -- You can now save face models as "safetensors" files (stored in `\models\reactor\faces`) and load them into ReActor, keeping super lightweight face models of the faces you use; +- You can save face models as "safetensors" files (stored in `\models\reactor\faces`) and load them into ReActor, keeping super lightweight face models of the faces you use; - "Face Mask Correction" option - if you encounter some pixelation around face contours, this option will be useful; 0.5.0-whatsnew-01 @@ -59,8 +68,8 @@ - OR only **VS C++ Build Tools** (if you don't need the whole Visual Studio) and select "Desktop Development with C++" under "Workloads -> Desktop & Mobile": https://visualstudio.microsoft.com/visual-cpp-build-tools/ - OR if you don't want to install VS or VS C++ BT - follow [this steps (sec. VIII)](#insightfacebuild) -2. In web-ui, go to the "Extensions" tab and use this URL `https://github.com/Gourieff/sd-webui-reactor` in the "Install from URL" tab and click "Install" -3. Please, wait for several minutes until the installation process will be finished +2. In web-ui, go to the "Extensions" tab, load "Available" extensions and type "ReActor" in the search field or use this URL `https://github.com/Gourieff/sd-webui-reactor` in the "Install from URL" tab - and click "Install" +3. Please, wait for several minutes until the installation process will be finished (be patient, don't interrupt the process) 4. Check the last message in your SD-WebUI Console: * If you see the message "--- PLEASE, RESTART the Server! ---" - so, do it, stop the Server (CTRL+C or CMD+C) and start it again - or just go to the "Installed" tab, click "Apply and restart UI" * If you see the message "Done!", just reload the UI @@ -73,7 +82,7 @@ 3. Go to (Windows)`automatic\venv\Scripts` or (MacOS/Linux)`automatic/venv/bin`, run Terminal or Console (cmd) for that folder and type `activate` 4. Run `pip install insightface==0.7.3` 5. Run SD.Next, go to the "Extensions" tab and use this URL `https://github.com/Gourieff/sd-webui-reactor` in the "Install from URL" tab and click "Install" -6. Please, wait for several minutes until the installation process will be finished +6. Please, wait for several minutes until the installation process will be finished (be patient, don't interrupt the process) 7. Check the last message in your SD.Next Console: * If you see the message "--- PLEASE, RESTART the Server! ---" - stop the Server (CTRL+C or CMD+C) or just close your console 8. Go to the `automatic\extensions\sd-webui-reactor` directory - if you see there `models\insightface` folder with the file `inswapper_128.onnx`, just move the file to the `automatic\models\insightface` folder @@ -81,8 +90,8 @@ If you use [Cagliostro Colab UI](https://github.com/Linaqruf/sd-notebook-collection): -1. In active WebUI, go to the "Extensions" tab and use this URL `https://github.com/Gourieff/sd-webui-reactor` in the "Install from URL" tab and click "Install" -2. Please, wait for several minutes until the installation process will be finished +1. In active WebUI, go to the "Extensions" tab, load "Available" extensions and type "ReActor" in the search field or use this URL `https://github.com/Gourieff/sd-webui-reactor` in the "Install from URL" tab - and click "Install" +2. Please, wait for several minutes until the installation process will be finished (be patient, don't interrupt the process) 3. When you see the message "--- PLEASE, RESTART the Server! ---" (in your Colab Notebook Start UI section "Start Cagliostro Colab UI") - just go to the "Installed" tab and click "Apply and restart UI" 4. Enjoy! @@ -99,7 +108,7 @@ - Ability to set the **Postprocessing order** - **100% compatibility** with different **SD WebUIs**: Automatic1111, SD.Next, Cagliostro Colab UI - **Fast performance** even with CPU, ReActor for SD WebUI is absolutely not picky about how powerful your GPU is -- **CUDA** acceleration support from the version 0.5.0 +- **CUDA** acceleration support since version 0.5.0 - **[API](/API.md) support**: both SD WebUI built-in and external (via POST/GET requests) - **ComfyUI [support](https://github.com/Gourieff/comfyui-reactor-node)** - **Mac M1/M2 [support](https://github.com/Gourieff/sd-webui-reactor/issues/42)** @@ -191,7 +200,7 @@ Please, check the path where "inswapper_128.onnx" model is stored. It must be in 7. Then one-by-one: - `pip install insightface==0.7.3` - `pip install onnx` - - `pip install onnxruntime-gpu>=1.16.1` + - `pip install "onnxruntime-gpu>=1.16.1"` - `pip install opencv-python` - `pip install tqdm` 8. Type `deactivate`, you can close your Terminal or Console and start your SD WebUI, ReActor should start OK - if not, welcome to the Issues section. @@ -226,7 +235,7 @@ and put it to the `stable-diffusion-webui\models\insightface` replacing existing 4. Then: - `python -m pip install -U pip` - `pip uninstall -y onnxruntime onnxruntime-gpu onnxruntime-silicon onnxruntime-extensions` -- `pip install onnxruntime-gpu>=1.16.1` +- `pip install "onnxruntime-gpu>=1.16.1"` If it didn't help - it seems that you have another extension reinstalling `onnxruntime` when SD WebUI checks requirements. Please see your extensions list. Some extensions can causes reinstalling of `onnxruntime-gpu` to `onnxruntime<1.16.1` every time SD WebUI runs.
ORT 1.16.0 has a bug https://github.com/microsoft/onnxruntime/issues/17631 - don't install it! @@ -239,7 +248,7 @@ If it didn't help - it seems that you have another extension reinstalling `onnxr 5. Then: - `python -m pip install -U pip` - `pip uninstall protobuf` -- `pip install protobuf>=3.20.3` +- `pip install "protobuf>=3.20.3"` If this method doesn't help - there is some other extension that has a wrong version of protobuf dependence and SD WebUI installs it on a startup requirements check diff --git a/README_RU.md b/README_RU.md index e7a07a1..78bb651 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.5.1-brightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.6.0_alpha1-lightgreen?style=for-the-badge&labelColor=darkgreen)
Поддержать проект на Boosty @@ -37,7 +37,14 @@ -## Что нового в последнем обновлении +## Что нового в последних обновлениях + +### 0.6.0 ALPHA1 + +- UI переработан +- Появилась возможность загружать несколько исходных изображений с лицами или задавать путь к папке, содержащей такие изображения + +0.6.0-whatsnew-01 ### 0.5.1 @@ -60,8 +67,8 @@ - ИЛИ только **VS C++ Build Tools** (если вам не нужен весь пакет Visual Studio), выберите "Desktop Development with C++" в разделе "Workloads -> Desktop & Mobile": https://visualstudio.microsoft.com/visual-cpp-build-tools/ - ИЛИ если же вы не хотите устанавливать что-либо из вышеуказанного - выполните [следующие шаги (пункт VIII)](#insightfacebuild) -2. Внутри SD Web-UI перейдите во вкладку "Extensions" и вставьте ссылку `https://github.com/Gourieff/sd-webui-reactor` в "Install from URL" и нажмите "Install" -3. Пожалуйста, подождите несколько минут, пока процесс установки полностью не завершится +2. Внутри SD Web-UI перейдите во вкладку "Extensions", загрузите список доступных расширений (вкладка "Available") и введите "ReActor" в строке поиска или же вставьте ссылку `https://github.com/Gourieff/sd-webui-reactor` в "Install from URL" - и нажмите "Install" +3. Пожалуйста, подождите несколько минут, пока процесс установки полностью не завершится (наберитесь терпения, не прерывайте процесс) 4. Проверьте последнее сообщение в консоли SD-WebUI: * Если вы видите "--- PLEASE, RESTART the Server! ---" - остановите Сервер (CTRL+C или CMD+C) и запустите его заново - ИЛИ же перейдите во вкладку "Installed", нажмите "Apply and restart UI" * Если вы видите "Done!", просто перезагрузите UI, нажав на "Reload UI" @@ -74,7 +81,7 @@ 3. Перейдите в (Windows)`automatic\venv\Scripts` или (MacOS/Linux)`automatic/venv/bin`, запустите Терминал или Консоль (cmd) для данной папки и выполните `activate` 4. Выполните `pip install insightface==0.7.3` 5. Запустите SD.Next, перейдите во вкладку "Extensions", вставьте эту ссылку `https://github.com/Gourieff/sd-webui-reactor` в "Install from URL" и нажмите "Install" -6. Пожалуйста, подождите несколько минут, пока процесс установки полностью не завершится +6. Пожалуйста, подождите несколько минут, пока процесс установки полностью не завершится (наберитесь терпения, не прерывайте процесс) 7. Проверьте последнее сообщение в консоли SD.Next: * Если вы видите "--- PLEASE, RESTART the Server! ---" - остановите Сервер (CTRL+C или CMD+C) или просто закройте консоль 8. Перейдите в директорию `automatic\extensions\sd-webui-reactor` - если вы видите там папку `models\insightface` с файлом `inswapper_128.onnx` внутри, переместите его в папку `automatic\models\insightface` @@ -82,8 +89,8 @@ Если вы используете [Cagliostro Colab UI](https://github.com/Linaqruf/sd-notebook-collection): -1. В активном WebUI, перейдите во вкладку "Extensions", вставьте ссылку `https://github.com/Gourieff/sd-webui-reactor` в "Install from URL" и нажмите "Install" -2. Пожалуйста, подождите некоторое время, пока процесс установки полностью не завершится +1. В активном WebUI перейдите во вкладку "Extensions", загрузите список доступных расширений (вкладка "Available") и введите "ReActor" в строке поиска или же вставьте ссылку `https://github.com/Gourieff/sd-webui-reactor` в "Install from URL" - и нажмите "Install" +2. Пожалуйста, подождите некоторое время, пока процесс установки полностью не завершится (наберитесь терпения, не прерывайте процесс) 3. Когда вы увидите сообщение "--- PLEASE, RESTART the Server! ---" (в секции "Start UI" вашего ноутбука "Start Cagliostro Colab UI") - перейдите во вкладку "Installed" и нажмите "Apply and restart UI" 4. Готово! @@ -198,7 +205,7 @@ Inpainting также работает, но замена лица происх 7. Далее: - `pip install insightface==0.7.3` - `pip install onnx` - - `pip install onnxruntime-gpu>=1.16.1` + - `pip install "onnxruntime-gpu>=1.16.1"` - `pip install opencv-python` - `pip install tqdm` 8. Выполните `deactivate`, закройте Терминал или Консоль и запустите SD WebUI, ReActor должен запуститься без к-л проблем - если же нет, добро пожаловать в раздел "Issues". @@ -233,7 +240,7 @@ Inpainting также работает, но замена лица происх 4. Затем: - `python -m pip install -U pip` - `pip uninstall -y onnxruntime onnxruntime-gpu onnxruntime-silicon onnxruntime-extensions` -- `pip install onnxruntime-gpu>=1.16.1` +- `pip install "onnxruntime-gpu>=1.16.1"` Если это не помогло - значит какое-то другое расширение переустанавливает `onnxruntime` всякий раз, когда SD WebUI проверяет требования пакетов. Внимательно посмотрите список активных расширений. Некоторые расширения могут вызывать переустановку `onnxruntime-gpu` на версию `onnxruntime<1.16.1` при каждом запуске SD WebUI.
ORT 1.16.0 выкатили с ошибкой https://github.com/microsoft/onnxruntime/issues/17631 - не устанавливайте её! @@ -246,7 +253,7 @@ Inpainting также работает, но замена лица происх 5. Затем: - `python -m pip install -U pip` - `pip uninstall protobuf` -- `pip install protobuf>=3.20.3` +- `pip install "protobuf>=3.20.3"` Если это не помгло - значит, есть к-л другое расширение, которое использует неподходящую версию пакета protobuf, и SD WebUI устанавливает эту версию при каждом запуске. diff --git a/example/api_example.py b/example/api_example.py index f3485c1..bcd2504 100644 --- a/example/api_example.py +++ b/example/api_example.py @@ -44,8 +44,9 @@ args=[ False, #19 Target Image Hash Check, False - by default "CUDA", #20 CPU or CUDA (if you have it), CPU - by default True, #21 Face Mask Correction - 1, #22 Select Source, 0 - Image, 1 - Face Model - "elena.safetensors", #23 Filename of the face model (from "models/reactor/faces"), e.g. elena.safetensors + 1, #22 Select Source, 0 - Image, 1 - Face Model, 2 - Source Folder + "elena.safetensors", #23 Filename of the face model (from "models/reactor/faces"), e.g. elena.safetensors, don't forger to set #22 to 1 + "C:\PATH_TO_FACES_IMAGES", #24 The path to the folder containing source faces images, don't forger to set #22 to 2 ] # The args for ReActor can be found by diff --git a/modules/reactor_mask.py b/reactor_modules/reactor_mask.py similarity index 100% rename from modules/reactor_mask.py rename to reactor_modules/reactor_mask.py diff --git a/reactor_ui/__init__.py b/reactor_ui/__init__.py new file mode 100644 index 0000000..00711fd --- /dev/null +++ b/reactor_ui/__init__.py @@ -0,0 +1,4 @@ +import reactor_ui.reactor_upscale_ui as ui_upscale +import reactor_ui.reactor_tools_ui as ui_tools +import reactor_ui.reactor_settings_ui as ui_settings +import reactor_ui.reactor_main_ui as ui_main diff --git a/reactor_ui/reactor_main_ui.py b/reactor_ui/reactor_main_ui.py new file mode 100644 index 0000000..5ed4212 --- /dev/null +++ b/reactor_ui/reactor_main_ui.py @@ -0,0 +1,182 @@ +import gradio as gr +from scripts.reactor_helpers import ( + get_model_names, + get_facemodels +) +from scripts.reactor_swapper import ( + clear_faces_list, +) +from modules import shared + +SAVE_ORIGINAL: bool = False + +def update_fm_list(selected: str): + return gr.Dropdown.update( + value=selected, choices=get_model_names(get_facemodels) + ) + +# TAB MAIN +def show(is_img2img: bool, show_br: bool = True, **msgs): + + def on_select_source(selected: bool, evt: gr.SelectData): + global SAVE_ORIGINAL + if evt.index == 2: + if SAVE_ORIGINAL != selected: + SAVE_ORIGINAL = selected + return { + control_col_1: gr.Column.update(visible=False), + control_col_2: gr.Column.update(visible=False), + control_col_3: gr.Column.update(visible=True), + save_original: gr.Checkbox.update(value=False,visible=False), + imgs_hash_clear: gr.Button.update(visible=True) + } + if evt.index == 0: + return { + control_col_1: gr.Column.update(visible=True), + control_col_2: gr.Column.update(visible=False), + control_col_3: gr.Column.update(visible=False), + save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), + imgs_hash_clear: gr.Button.update(visible=False) + } + if evt.index == 1: + return { + control_col_1: gr.Column.update(visible=False), + control_col_2: gr.Column.update(visible=True), + control_col_3: gr.Column.update(visible=False), + save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), + imgs_hash_clear: gr.Button.update(visible=False) + } + + progressbar_area = gr.Markdown("") + with gr.Tab("Main"): + with gr.Column(): + with gr.Row(): + select_source = gr.Radio( + ["Image(s)","Face Model","Folder"], + value="Image(s)", + label="Select Source", + type="index", + scale=1, + ) + with gr.Column(visible=False) as control_col_2: + with gr.Row(): + face_models = get_model_names(get_facemodels) + face_model = gr.Dropdown( + choices=face_models, + label="Choose Face Model", + value="None", + scale=1, + ) + fm_update = gr.Button( + value="🔄", + variant="tool", + ) + fm_update.click( + update_fm_list, + inputs=[face_model], + outputs=[face_model], + ) + imgs_hash_clear = gr.Button( + value="Clear Source Images Hash", + scale=1, + visible=False, + ) + imgs_hash_clear.click(clear_faces_list,None,[progressbar_area]) + gr.Markdown("
", visible=show_br) + with gr.Column(visible=True) as control_col_1: + gr.Markdown("
🔽🔽🔽 Single Image has priority when both Areas in use 🔽🔽🔽
") + with gr.Row(): + img = gr.Image( + type="pil", + label="Single Source Image", + ) + imgs = gr.Files( + label=f"Multiple Source Images{msgs['extra_multiple_source']}", + file_types=["image"], + ) + with gr.Column(visible=False) as control_col_3: + gr.Markdown("Clear Hash if you see the previous face was swapped instead of the new one") + source_folder = gr.Textbox( + value="", + placeholder="Paste here the path to the folder containing source faces images", + label=f"Source Folder{msgs['extra_multiple_source']}", + ) + setattr(face_model, "do_not_save_to_config", True) + if is_img2img: + save_original = gr.Checkbox( + False, + label="Save Original (Swap in generated only)", + info="Save the original image(s) made before swapping (it always saves Original when you use Multiple Images or Folder)" + ) + else: + save_original = gr.Checkbox( + False, + label="Save Original", + info="Save the original image(s) made before swapping (it always saves Original when you use Multiple Images or Folder)", + visible=show_br + ) + # imgs.upload(on_files_upload_uncheck_so,[save_original],[save_original],show_progress=False) + # imgs.clear(on_files_clear,None,[save_original],show_progress=False) + imgs.clear(clear_faces_list,None,None,show_progress=False) + mask_face = gr.Checkbox( + False, + label="Face Mask Correction", + info="Apply this option if you see some pixelation around face contours" + ) + gr.Markdown("
", visible=show_br) + gr.Markdown("Source Image (above):") + with gr.Row(): + source_faces_index = gr.Textbox( + value="0", + placeholder="Which face(s) to use as Source (comma separated)", + label="Comma separated face number(s); Example: 0,2,1", + ) + gender_source = gr.Radio( + ["No", "Female Only", "Male Only"], + value="No", + label="Gender Detection (Source)", + type="index", + ) + gr.Markdown("
", visible=show_br) + gr.Markdown("Target Image (result):") + with gr.Row(): + faces_index = gr.Textbox( + value="0", + placeholder="Which face(s) to Swap into Target (comma separated)", + label="Comma separated face number(s); Example: 1,0,2", + ) + gender_target = gr.Radio( + ["No", "Female Only", "Male Only"], + value="No", + label="Gender Detection (Target)", + type="index", + ) + gr.Markdown("
", visible=show_br) + with gr.Row(): + face_restorer_name = gr.Radio( + label="Restore Face", + choices=["None"] + [x.name() for x in shared.face_restorers], + value=shared.face_restorers[0].name(), + type="value", + ) + with gr.Column(): + face_restorer_visibility = gr.Slider( + 0, 1, 1, step=0.1, label="Restore Face Visibility" + ) + codeformer_weight = gr.Slider( + 0, 1, 0.5, step=0.1, label="CodeFormer Weight", info="0 = maximum effect, 1 = minimum effect" + ) + gr.Markdown("
", visible=show_br) + swap_in_source = gr.Checkbox( + False, + label="Swap in source image", + visible=is_img2img, + ) + swap_in_generated = gr.Checkbox( + True, + label="Swap in generated image", + visible=is_img2img, + ) + select_source.select(on_select_source,[save_original],[control_col_1,control_col_2,control_col_3,save_original,imgs_hash_clear],show_progress=False) + + return img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated diff --git a/reactor_ui/reactor_settings_ui.py b/reactor_ui/reactor_settings_ui.py new file mode 100644 index 0000000..a5447a5 --- /dev/null +++ b/reactor_ui/reactor_settings_ui.py @@ -0,0 +1,77 @@ +import gradio as gr +from scripts.reactor_logger import logger +from scripts.reactor_helpers import get_models, set_Device +from scripts.reactor_globals import DEVICE, DEVICE_LIST +try: + import torch.cuda as cuda + EP_is_visible = True if cuda.is_available() else False +except: + EP_is_visible = False + +def update_models_list(selected: str): + return gr.Dropdown.update( + value=selected, choices=get_models() + ) + +def show(hash_check_block: bool = True): + # TAB SETTINGS + with gr.Tab("Settings"): + models = get_models() + with gr.Row(visible=EP_is_visible): + device = gr.Radio( + label="Execution Provider", + choices=DEVICE_LIST, + value=DEVICE, + type="value", + info="If you already run 'Generate' - RESTART is required to apply. Click 'Save', (A1111) Extensions Tab -> 'Apply and restart UI' or (SD.Next) close the Server and start it again", + scale=2, + ) + save_device_btn = gr.Button("Save", scale=0) + save = gr.Markdown("", visible=EP_is_visible) + setattr(device, "do_not_save_to_config", True) + save_device_btn.click( + set_Device, + inputs=[device], + outputs=[save], + ) + with gr.Row(): + if len(models) == 0: + logger.warning( + "You should at least have one model in models directory, please read the doc here: https://github.com/Gourieff/sd-webui-reactor/" + ) + model = gr.Dropdown( + choices=models, + label="Model not found, please download one and refresh the list" + ) + else: + model = gr.Dropdown( + choices=models, label="Model", value=models[0] + ) + models_update = gr.Button( + value="🔄", + variant="tool", + ) + models_update.click( + update_models_list, + inputs=[model], + outputs=[model], + ) + console_logging_level = gr.Radio( + ["No log", "Minimum", "Default"], + value="Minimum", + label="Console Log Level", + type="index" + ) + gr.Markdown("
", visible=hash_check_block) + with gr.Row(visible=hash_check_block): + source_hash_check = gr.Checkbox( + True, + label="Source Image Hash Check", + info="Recommended to keep it ON. Processing is faster when Source Image is the same." + ) + target_hash_check = gr.Checkbox( + False, + label="Target Image Hash Check", + info="Affects if you use Extras tab or img2img with only 'Swap in source image' on." + ) + return model, device, console_logging_level, source_hash_check, target_hash_check \ No newline at end of file diff --git a/reactor_ui/reactor_tools_ui.py b/reactor_ui/reactor_tools_ui.py new file mode 100644 index 0000000..0abcb0e --- /dev/null +++ b/reactor_ui/reactor_tools_ui.py @@ -0,0 +1,25 @@ +import gradio as gr +from scripts.reactor_swapper import build_face_model + +# TAB TOOLS +def show(): + with gr.Tab("Tools"): + with gr.Tab("Face Models"): + gr.Markdown("Load an image containing one person, name it and click 'Build and Save'") + img_fm = gr.Image( + type="pil", + label="Load Image to build Face Model", + ) + with gr.Row(equal_height=True): + fm_name = gr.Textbox( + value="", + placeholder="Please type any name (e.g. Elena)", + label="Face Model Name", + ) + save_fm_btn = gr.Button("Build and Save") + save_fm = gr.Markdown("You can find saved models in 'models/reactor/faces'") + save_fm_btn.click( + build_face_model, + inputs=[img_fm, fm_name], + outputs=[save_fm], + ) diff --git a/reactor_ui/reactor_upscale_ui.py b/reactor_ui/reactor_upscale_ui.py new file mode 100644 index 0000000..71216a4 --- /dev/null +++ b/reactor_ui/reactor_upscale_ui.py @@ -0,0 +1,39 @@ +import gradio as gr +from modules import shared + +def update_upscalers_list(selected: str): + return gr.Dropdown.update( + value=selected, choices=[upscaler.name for upscaler in shared.sd_upscalers] + ) + +# TAB UPSCALE +def show(show_br: bool = True): + with gr.Tab("Upscale"): + restore_first = gr.Checkbox( + True, + label="1. Restore Face -> 2. Upscale (-Uncheck- if you want vice versa)", + info="Postprocessing Order" + ) + with gr.Row(): + upscaler_name = gr.Dropdown( + choices=[upscaler.name for upscaler in shared.sd_upscalers], + label="Upscaler", + value="None", + info="Won't scale if you choose -Swap in Source- via img2img, only 1x-postprocessing will affect (texturing, denoising, restyling etc.)" + ) + upscalers_update = gr.Button( + value="🔄", + variant="tool", + ) + upscalers_update.click( + update_upscalers_list, + inputs=[upscaler_name], + outputs=[upscaler_name], + ) + gr.Markdown("
", visible=show_br) + with gr.Row(): + upscaler_scale = gr.Slider(1, 8, 1, step=0.1, label="Scale by") + upscaler_visibility = gr.Slider( + 0, 1, 1, step=0.1, label="Upscaler Visibility (if scale = 1)" + ) + return restore_first, upscaler_name, upscaler_scale, upscaler_visibility \ No newline at end of file diff --git a/scripts/reactor_api.py b/scripts/reactor_api.py index b5df7fa..2fbd5b5 100644 --- a/scripts/reactor_api.py +++ b/scripts/reactor_api.py @@ -73,8 +73,9 @@ def reactor_api(_: gr.Blocks, app: FastAPI): result_file_path: str = Body("",title="(if 'save_to_file = 1') Result file path"), device: str = Body("CPU",title="CPU or CUDA (if you have it)"), mask_face: int = Body(0,title="Face Mask Correction, 1 - True, 0 - False"), - select_source: int = Body(0,title="Select Source, 0 - Image, 1 - Face Model"), - face_model: str = Body("None",title="Filename of the face model (from 'models/reactor/faces'), e.g. elena.safetensors") + select_source: int = Body(0,title="Select Source, 0 - Image, 1 - Face Model, 2 - Source Folder"), + face_model: str = Body("None",title="Filename of the face model (from 'models/reactor/faces'), e.g. elena.safetensors"), + source_folder: str = Body("",title="The path to the folder containing source faces images") ): s_image = api.decode_base64_to_image(source_image) t_image = api.decode_base64_to_image(target_image) @@ -88,7 +89,7 @@ def reactor_api(_: gr.Blocks, app: FastAPI): use_model = get_full_model(model) if use_model is None: Exception("Model not found") - result = swap_face(s_image, t_image, use_model, sf_index, f_index, up_options, gender_s, gender_t, True, True, device, mask_face, select_source, face_model) + result = swap_face(s_image, t_image, use_model, sf_index, f_index, up_options, gender_s, gender_t, True, True, device, mask_face, select_source, face_model, source_folder, None) if save_to_file == 1: if result_file_path == "": result_file_path = default_file_path() diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index 623e275..8812a4f 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -1,11 +1,6 @@ import os, glob import gradio as gr from PIL import Image -try: - import torch.cuda as cuda - EP_is_visible = True if cuda.is_available() else False -except: - EP_is_visible = False from typing import List @@ -19,43 +14,22 @@ from modules.processing import ( ) from modules.face_restoration import FaceRestoration from modules.images import save_image -try: - from modules.paths_internal import models_path -except: - try: - from modules.paths import models_path - except: - model_path = os.path.abspath("models") +from reactor_ui import ui_main, ui_upscale, ui_tools, ui_settings from scripts.reactor_logger import logger from scripts.reactor_swapper import ( EnhancementOptions, swap_face, check_process_halt, - reset_messaged, - build_face_model + reset_messaged, ) from scripts.reactor_version import version_flag, app_title from scripts.console_log_patch import apply_logging_patch -from scripts.reactor_helpers import make_grid, get_image_path, set_Device, get_model_names, get_facemodels -from scripts.reactor_globals import DEVICE, DEVICE_LIST - - -MODELS_PATH = None - -def get_models(): - global MODELS_PATH - models_path_init = os.path.join(models_path, "insightface/*") - models = glob.glob(models_path_init) - models = [x for x in models if x.endswith(".onnx") or x.endswith(".pth")] - models_names = [] - for model in models: - model_path = os.path.split(model) - if MODELS_PATH is None: - MODELS_PATH = model_path[0] - model_name = model_path[1] - models_names.append(model_name) - return models_names +from scripts.reactor_helpers import ( + make_grid, + set_Device, +) +from scripts.reactor_globals import SWAPPER_MODELS_PATH #, DEVICE, DEVICE_LIST class FaceSwapScript(scripts.Script): @@ -68,237 +42,33 @@ class FaceSwapScript(scripts.Script): def ui(self, is_img2img): with gr.Accordion(f"{app_title}", open=False): - def update_fm_list(selected: str): - return gr.Dropdown.update( - value=selected, choices=get_model_names(get_facemodels) - ) - def update_upscalers_list(selected: str): - return gr.Dropdown.update( - value=selected, choices=[upscaler.name for upscaler in shared.sd_upscalers] - ) - def update_models_list(selected: str): - return gr.Dropdown.update( - value=selected, choices=get_models() - ) + # def on_files_upload_uncheck_so(selected: bool): + # global SAVE_ORIGINAL + # SAVE_ORIGINAL = selected + # return gr.Checkbox.update(value=False,visible=False) + # def on_files_clear(): + # clear_faces_list() + # return gr.Checkbox.update(value=SAVE_ORIGINAL,visible=True) + enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") + gr.Markdown("
") + # TAB MAIN - with gr.Tab("Main"): - with gr.Column(): - img = gr.Image( - type="pil", - label="Source Image", - ) - # face_model = gr.File( - # file_types=[".safetensors"], - # label="Face Model", - # show_label=True, - # ) - enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") - gr.Markdown("
") - with gr.Row(): - select_source = gr.Radio( - ["Image","Face Model"], - value="Image", - label="Select Source", - type="index", - scale=1, - ) - face_models = get_model_names(get_facemodels) - face_model = gr.Dropdown( - choices=face_models, - label="Choose Face Model", - value="None", - scale=2, - ) - fm_update = gr.Button( - value="🔄", - variant="tool", - ) - fm_update.click( - update_fm_list, - inputs=[face_model], - outputs=[face_model], - ) - setattr(face_model, "do_not_save_to_config", True) - save_original = gr.Checkbox( - False, - label="Save Original", - info="Save the original image(s) made before swapping; If you use \"img2img\" - this option will affect with \"Swap in generated\" only" - ) - mask_face = gr.Checkbox( - False, - label="Face Mask Correction", - info="Apply this option if you see some pixelation around face contours" - ) - gr.Markdown("
") - gr.Markdown("Source Image (above):") - with gr.Row(): - source_faces_index = gr.Textbox( - value="0", - placeholder="Which face(s) to use as Source (comma separated)", - label="Comma separated face number(s); Example: 0,2,1", - ) - gender_source = gr.Radio( - ["No", "Female Only", "Male Only"], - value="No", - label="Gender Detection (Source)", - type="index", - ) - gr.Markdown("
") - gr.Markdown("Target Image (result):") - with gr.Row(): - faces_index = gr.Textbox( - value="0", - placeholder="Which face(s) to Swap into Target (comma separated)", - label="Comma separated face number(s); Example: 1,0,2", - ) - gender_target = gr.Radio( - ["No", "Female Only", "Male Only"], - value="No", - label="Gender Detection (Target)", - type="index", - ) - gr.Markdown("
") - with gr.Row(): - face_restorer_name = gr.Radio( - label="Restore Face", - choices=["None"] + [x.name() for x in shared.face_restorers], - value=shared.face_restorers[0].name(), - type="value", - ) - with gr.Column(): - face_restorer_visibility = gr.Slider( - 0, 1, 1, step=0.1, label="Restore Face Visibility" - ) - codeformer_weight = gr.Slider( - 0, 1, 0.5, step=0.1, label="CodeFormer Weight", info="0 = maximum effect, 1 = minimum effect" - ) - gr.Markdown("
") - swap_in_source = gr.Checkbox( - False, - label="Swap in source image", - visible=is_img2img, - ) - swap_in_generated = gr.Checkbox( - True, - label="Swap in generated image", - visible=is_img2img, - ) + msgs: dict = { + "extra_multiple_source": "", + } + img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated = ui_main.show(is_img2img=is_img2img, **msgs) # TAB UPSCALE - with gr.Tab("Upscale"): - restore_first = gr.Checkbox( - True, - label="1. Restore Face -> 2. Upscale (-Uncheck- if you want vice versa)", - info="Postprocessing Order" - ) - with gr.Row(): - upscaler_name = gr.Dropdown( - choices=[upscaler.name for upscaler in shared.sd_upscalers], - label="Upscaler", - value="None", - info="Won't scale if you choose -Swap in Source- via img2img, only 1x-postprocessing will affect (texturing, denoising, restyling etc.)" - ) - upscalers_update = gr.Button( - value="🔄", - variant="tool", - ) - upscalers_update.click( - update_upscalers_list, - inputs=[upscaler_name], - outputs=[upscaler_name], - ) - gr.Markdown("
") - with gr.Row(): - upscaler_scale = gr.Slider(1, 8, 1, step=0.1, label="Scale by") - upscaler_visibility = gr.Slider( - 0, 1, 1, step=0.1, label="Upscaler Visibility (if scale = 1)" - ) - + restore_first, upscaler_name, upscaler_scale, upscaler_visibility = ui_upscale.show() + # TAB TOOLS - with gr.Tab("Tools 🆕"): - with gr.Tab("Face Models"): - gr.Markdown("Load an image containing one person, name it and click 'Build and Save'") - img_fm = gr.Image( - type="pil", - label="Load Image to build Face Model", - ) - with gr.Row(equal_height=True): - fm_name = gr.Textbox( - value="", - placeholder="Please type any name (e.g. Elena)", - label="Face Model Name", - ) - save_fm_btn = gr.Button("Build and Save") - save_fm = gr.Markdown("You can find saved models in 'models/reactor/faces'") - save_fm_btn.click( - build_face_model, - inputs=[img_fm, fm_name], - outputs=[save_fm], - ) + ui_tools.show() # TAB SETTINGS - with gr.Tab("Settings"): - models = get_models() - with gr.Row(visible=EP_is_visible): - device = gr.Radio( - label="Execution Provider", - choices=DEVICE_LIST, - value=DEVICE, - type="value", - info="If you already run 'Generate' - RESTART is required to apply. Click 'Save', (A1111) Extensions Tab -> 'Apply and restart UI' or (SD.Next) close the Server and start it again", - scale=2, - ) - save_device_btn = gr.Button("Save", scale=0) - save = gr.Markdown("", visible=EP_is_visible) - setattr(device, "do_not_save_to_config", True) - save_device_btn.click( - set_Device, - inputs=[device], - outputs=[save], - ) - with gr.Row(): - if len(models) == 0: - logger.warning( - "You should at least have one model in models directory, please read the doc here: https://github.com/Gourieff/sd-webui-reactor/" - ) - model = gr.Dropdown( - choices=models, - label="Model not found, please download one and refresh the list" - ) - else: - model = gr.Dropdown( - choices=models, label="Model", value=models[0] - ) - models_update = gr.Button( - value="🔄", - variant="tool", - ) - models_update.click( - update_models_list, - inputs=[model], - outputs=[model], - ) - console_logging_level = gr.Radio( - ["No log", "Minimum", "Default"], - value="Minimum", - label="Console Log Level", - type="index" - ) - gr.Markdown("
") - with gr.Row(): - source_hash_check = gr.Checkbox( - True, - label="Source Image Hash Check", - info="Recommended to keep it ON. Processing is faster when Source Image is the same." - ) - target_hash_check = gr.Checkbox( - False, - label="Target Image Hash Check", - info="Affects if you use Extras tab or img2img with only 'Swap in source image' on." - ) + model, device, console_logging_level, source_hash_check, target_hash_check = ui_settings.show() - gr.Markdown("by Eugene Gourieff") + gr.Markdown("by
Eugene Gourieff") return [ img, @@ -325,6 +95,8 @@ class FaceSwapScript(scripts.Script): mask_face, select_source, face_model, + source_folder, + imgs, ] @@ -381,6 +153,8 @@ class FaceSwapScript(scripts.Script): mask_face, select_source, face_model, + source_folder, + imgs, ): self.enable = enable if self.enable: @@ -391,7 +165,7 @@ class FaceSwapScript(scripts.Script): if check_process_halt(): return - global MODELS_PATH + global SWAPPER_MODELS_PATH self.source = img self.face_restorer_name = face_restorer_name self.upscaler_scale = upscaler_scale @@ -401,7 +175,7 @@ class FaceSwapScript(scripts.Script): self.upscaler_name = upscaler_name self.swap_in_source = swap_in_source self.swap_in_generated = swap_in_generated - self.model = os.path.join(MODELS_PATH,model) + self.model = os.path.join(SWAPPER_MODELS_PATH,model) self.console_logging_level = console_logging_level self.gender_source = gender_source self.gender_target = gender_target @@ -413,6 +187,8 @@ class FaceSwapScript(scripts.Script): self.mask_face = mask_face self.select_source = select_source self.face_model = face_model + self.source_folder = source_folder + self.source_imgs = imgs if self.gender_source is None or self.gender_source == "No": self.gender_source = 0 if self.gender_target is None or self.gender_target == "No": @@ -439,7 +215,7 @@ class FaceSwapScript(scripts.Script): logger.debug("*** Set Device") set_Device(self.device) - if (self.source is not None and self.select_source == 0) or ((self.face_model is not None and self.face_model != "None") and self.select_source == 1): + if ((self.source is not None or self.source_imgs is not None) and self.select_source == 0) or ((self.face_model is not None and self.face_model != "None") and self.select_source == 1) or ((self.source_folder is not None and self.source_folder != "") and self.select_source == 2): logger.debug("*** Log patch") apply_logging_patch(console_logging_level) if isinstance(p, StableDiffusionProcessingImg2Img) and self.swap_in_source: @@ -463,6 +239,8 @@ class FaceSwapScript(scripts.Script): mask_face=self.mask_face, select_source=self.select_source, face_model = self.face_model, + source_folder = None, + source_imgs = None, ) p.init_images[i] = result # result_path = get_image_path(p.init_images[i], p.outpath_samples, "", p.all_seeds[i], p.all_prompts[i], "txt", p=p, suffix="-swapped") @@ -486,7 +264,7 @@ class FaceSwapScript(scripts.Script): if check_process_halt(): return - if self.save_original: + if self.save_original or ((self.select_source == 2 and self.source_folder is not None and self.source_folder != "") or (self.select_source == 0 and self.source_imgs is not None and self.source is None)): postprocess_run: bool = True @@ -497,8 +275,13 @@ class FaceSwapScript(scripts.Script): # result_info: List = processed.infotexts if self.swap_in_generated: + logger.status("Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) - # if self.source is not None: + + if self.source is not None: + # self.source_folder = None + self.source_imgs = None + for i,(img,info) in enumerate(zip(orig_images, orig_infotexts)): if check_process_halt(): postprocess_run = False @@ -520,16 +303,32 @@ class FaceSwapScript(scripts.Script): mask_face=self.mask_face, select_source=self.select_source, face_model = self.face_model, + source_folder = self.source_folder, + source_imgs = self.source_imgs, ) - if result is not None and swapped > 0: - result_images.append(result) - suffix = "-swapped" - try: - img_path = save_image(result, p.outpath_samples, "", p.all_seeds[0], p.all_prompts[0], "png",info=info, p=p, suffix=suffix) - except: - logger.error("Cannot save a result image - please, check SD WebUI Settings (Saving and Paths)") - elif result is None: - logger.error("Cannot create a result image") + + if self.select_source == 2 or (self.select_source == 0 and self.source_imgs is not None and self.source is None): + if len(result) > 0 and swapped > 0: + result_images.extend(result) + suffix = "-swapped" + for i,x in enumerate(result): + try: + img_path = save_image(result[i], p.outpath_samples, "", p.all_seeds[0], p.all_prompts[0], "png",info=info, p=p, suffix=suffix) + except: + logger.error("Cannot save a result image - please, check SD WebUI Settings (Saving and Paths)") + elif len(result) == 0: + logger.error("Cannot create a result image") + + else: + if result is not None and swapped > 0: + result_images.append(result) + suffix = "-swapped" + try: + img_path = save_image(result, p.outpath_samples, "", p.all_seeds[0], p.all_prompts[0], "png",info=info, p=p, suffix=suffix) + except: + logger.error("Cannot save a result image - please, check SD WebUI Settings (Saving and Paths)") + elif result is None: + logger.error("Cannot create a result image") # if len(output) != 0: # split_fullfn = os.path.splitext(img_path[0]) @@ -554,7 +353,7 @@ class FaceSwapScript(scripts.Script): images = kwargs["images"] def postprocess_image(self, p, script_pp: scripts.PostprocessImageArgs, *args): - if self.enable and self.swap_in_generated and not self.save_original: + if self.enable and self.swap_in_generated and not self.save_original and ((self.select_source == 0 and self.source is not None) or self.select_source == 1): logger.debug("*** Check postprocess_image") @@ -583,6 +382,8 @@ class FaceSwapScript(scripts.Script): mask_face=self.mask_face, select_source=self.select_source, face_model = self.face_model, + source_folder = None, + source_imgs = None, ) try: pp = scripts_postprocessing.PostprocessedImage(result) @@ -606,197 +407,24 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): def ui(self): with gr.Accordion(f"{app_title}", open=False): - def update_fm_list(selected: str): - return gr.Dropdown.update( - value=selected, choices=get_model_names(get_facemodels) - ) - def update_upscalers_list(selected: str): - return gr.Dropdown.update( - value=selected, choices=[upscaler.name for upscaler in shared.sd_upscalers] - ) - def update_models_list(selected: str): - return gr.Dropdown.update( - value=selected, choices=get_models() - ) - - # TAB MAIN - with gr.Tab("Main"): - with gr.Column(): - img = gr.Image(type="pil") - enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") - # gr.Markdown("
") - with gr.Row(): - select_source = gr.Radio( - ["Image","Face Model"], - value="Image", - label="Select Source", - type="index", - scale=1, - ) - face_models = get_model_names(get_facemodels) - face_model = gr.Dropdown( - choices=face_models, - label="Choose Face Model", - value="None", - scale=2, - ) - fm_update = gr.Button( - value="🔄", - variant="tool", - ) - fm_update.click( - update_fm_list, - inputs=[face_model], - outputs=[face_model], - ) - setattr(face_model, "do_not_save_to_config", True) - mask_face = gr.Checkbox( - False, - label="Face Mask Correction", - info="Apply this option if you see some pixelation around face contours" - ) - gr.Markdown("Source Image (above):") - with gr.Row(): - source_faces_index = gr.Textbox( - value="0", - placeholder="Which face(s) to use as Source (comma separated)", - label="Comma separated face number(s); Example: 0,2,1", - ) - gender_source = gr.Radio( - ["No", "Female Only", "Male Only"], - value="No", - label="Gender Detection (Source)", - type="index", - ) - gr.Markdown("Target Image (result):") - with gr.Row(): - faces_index = gr.Textbox( - value="0", - placeholder="Which face(s) to Swap into Target (comma separated)", - label="Comma separated face number(s); Example: 1,0,2", - ) - gender_target = gr.Radio( - ["No", "Female Only", "Male Only"], - value="No", - label="Gender Detection (Target)", - type="index", - ) - with gr.Row(): - face_restorer_name = gr.Radio( - label="Restore Face", - choices=["None"] + [x.name() for x in shared.face_restorers], - value=shared.face_restorers[0].name(), - type="value", - ) - with gr.Column(): - face_restorer_visibility = gr.Slider( - 0, 1, 1, step=0.1, label="Restore Face Visibility" - ) - codeformer_weight = gr.Slider( - 0, 1, 0.5, step=0.1, label="CodeFormer Weight", info="0 = maximum effect, 1 = minimum effect" - ) + enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") + # TAB MAIN + msgs: dict = { + "extra_multiple_source": " | Сomparison grid as a result", + } + img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated = ui_main.show(is_img2img=False, show_br=False, **msgs) + # TAB UPSCALE - with gr.Tab("Upscale"): - restore_first = gr.Checkbox( - True, - label="1. Restore Face -> 2. Upscale (-Uncheck- if you want vice versa)", - info="Postprocessing Order" - ) - with gr.Row(): - upscaler_name = gr.Dropdown( - choices=[upscaler.name for upscaler in shared.sd_upscalers], - label="Upscaler", - value="None", - info="Won't scale if you choose -Swap in Source- via img2img, only 1x-postprocessing will affect (texturing, denoising, restyling etc.)" - ) - upscalers_update = gr.Button( - value="🔄", - variant="tool", - ) - upscalers_update.click( - update_upscalers_list, - inputs=[upscaler_name], - outputs=[upscaler_name], - ) - with gr.Row(): - upscaler_scale = gr.Slider(1, 8, 1, step=0.1, label="Scale by") - upscaler_visibility = gr.Slider( - 0, 1, 1, step=0.1, label="Upscaler Visibility (if scale = 1)" - ) - + restore_first, upscaler_name, upscaler_scale, upscaler_visibility = ui_upscale.show(show_br=False) + # TAB TOOLS - with gr.Tab("Tools 🆕"): - with gr.Tab("Face Models"): - gr.Markdown("Load an image containing one person, name it and click 'Build and Save'") - img_fm = gr.Image( - type="pil", - label="Load Image to build Face Model", - ) - with gr.Row(equal_height=True): - fm_name = gr.Textbox( - value="", - placeholder="Please type any name (e.g. Elena)", - label="Face Model Name", - ) - save_fm_btn = gr.Button("Build and Save") - save_fm = gr.Markdown("You can find saved models in 'models/reactor/faces'") - save_fm_btn.click( - build_face_model, - inputs=[img_fm, fm_name], - outputs=[save_fm], - ) - + ui_tools.show() + # TAB SETTINGS - with gr.Tab("Settings"): - models = get_models() - with gr.Row(visible=EP_is_visible): - device = gr.Radio( - label="Execution Provider", - choices=DEVICE_LIST, - value=DEVICE, - type="value", - info="If you already run 'Generate' - RESTART is required to apply. Click 'Save', (A1111) Extensions Tab -> 'Apply and restart UI' or (SD.Next) close the Server and start it again", - scale=2, - ) - save_device_btn = gr.Button("Save", scale=0) - save = gr.Markdown("", visible=EP_is_visible) - setattr(device, "do_not_save_to_config", True) - save_device_btn.click( - set_Device, - inputs=[device], - outputs=[save], - ) - with gr.Row(): - if len(models) == 0: - logger.warning( - "You should at least have one model in models directory, please read the doc here: https://github.com/Gourieff/sd-webui-reactor/" - ) - model = gr.Dropdown( - choices=models, - label="Model not found, please download one and refresh the list", - ) - else: - model = gr.Dropdown( - choices=models, label="Model", value=models[0] - ) - models_update = gr.Button( - value="🔄", - variant="tool", - ) - models_update.click( - update_models_list, - inputs=[model], - outputs=[model], - ) - console_logging_level = gr.Radio( - ["No log", "Minimum", "Default"], - value="Minimum", - label="Console Log Level", - type="index", - ) - - gr.Markdown("by Eugene Gourieff") + model, device, console_logging_level, source_hash_check, target_hash_check = ui_settings.show(hash_check_block=False) + + gr.Markdown("by Eugene Gourieff") args = { 'img': img, @@ -818,6 +446,8 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): 'mask_face': mask_face, 'select_source': select_source, 'face_model': face_model, + 'source_folder': source_folder, + 'imgs': imgs, } return args @@ -853,7 +483,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): if check_process_halt(): return - global MODELS_PATH + global SWAPPER_MODELS_PATH self.source = args['img'] self.face_restorer_name = args['face_restorer_name'] self.upscaler_scale = args['upscaler_scale'] @@ -861,7 +491,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): self.face_restorer_visibility = args['face_restorer_visibility'] self.restore_first = args['restore_first'] self.upscaler_name = args['upscaler_name'] - self.model = os.path.join(MODELS_PATH, args['model']) + self.model = os.path.join(SWAPPER_MODELS_PATH, args['model']) self.console_logging_level = args['console_logging_level'] self.gender_source = args['gender_source'] self.gender_target = args['gender_target'] @@ -870,6 +500,8 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): self.mask_face = args['mask_face'] self.select_source = args['select_source'] self.face_model = args['face_model'] + self.source_folder = args['source_folder'] + self.source_imgs = args['imgs'] if self.gender_source is None or self.gender_source == "No": self.gender_source = 0 if self.gender_target is None or self.gender_target == "No": @@ -893,10 +525,16 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): reset_messaged() set_Device(self.device) + + logger.debug("We're here: process() 1") - if (self.source is not None and self.select_source == 0) or ((self.face_model is not None and self.face_model != "None") and self.select_source == 1): + if (self.source is not None and self.select_source == 0) or ((self.face_model is not None and self.face_model != "None") and self.select_source == 1) or ((self.source_folder is not None and self.source_folder != "") and self.select_source == 2) or ((self.source_imgs is not None and self.source is None) and self.select_source == 0): + + logger.debug("We're here: process() 2") + apply_logging_patch(self.console_logging_level) logger.status("Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) + # if self.select_source != 2: image: Image.Image = pp.image result, output, swapped = swap_face( self.source, @@ -913,12 +551,27 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): mask_face=self.mask_face, select_source=self.select_source, face_model=self.face_model, + source_folder=self.source_folder, + source_imgs=self.source_imgs, ) - try: - pp.info["ReActor"] = True - pp.image = result - logger.status("---Done!---") - except Exception: - logger.error("Cannot create a result image") + if self.select_source == 2 or (self.select_source == 0 and self.source_imgs is not None and self.source is None): + if len(result) > 0 and swapped > 0: + image = result[0] + if len(result) > 1: + grid = make_grid(result) + result.insert(0, grid) + image = grid + pp.info["ReActor"] = True + pp.image = image + logger.status("---Done!---") + else: + logger.error("Cannot create a result image") + else: + try: + pp.info["ReActor"] = True + pp.image = result + logger.status("---Done!---") + except Exception: + logger.error("Cannot create a result image") else: logger.error("Please provide a source face") diff --git a/scripts/reactor_globals.py b/scripts/reactor_globals.py index f828254..7e8f4dc 100644 --- a/scripts/reactor_globals.py +++ b/scripts/reactor_globals.py @@ -14,7 +14,8 @@ BASE_PATH = os.path.join(Path(__file__).parents[1]) DEVICE_LIST: list = ["CPU", "CUDA"] MODELS_PATH = models_path -REACTOR_MODELS_PATH = os.path.join(models_path, "reactor") +SWAPPER_MODELS_PATH = os.path.join(MODELS_PATH, "insightface") +REACTOR_MODELS_PATH = os.path.join(MODELS_PATH, "reactor") FACE_MODELS_PATH = os.path.join(REACTOR_MODELS_PATH, "faces") if not os.path.exists(REACTOR_MODELS_PATH): diff --git a/scripts/reactor_helpers.py b/scripts/reactor_helpers.py index cfce05f..2db883d 100644 --- a/scripts/reactor_helpers.py +++ b/scripts/reactor_helpers.py @@ -13,6 +13,16 @@ from modules.images import FilenameGenerator, get_next_sequence_number from modules import shared, script_callbacks from scripts.reactor_globals import DEVICE, BASE_PATH, FACE_MODELS_PATH +try: + from modules.paths_internal import models_path +except: + try: + from modules.paths import models_path + except: + model_path = os.path.abspath("models") + +MODELS_PATH = None + def set_Device(value): global DEVICE DEVICE = value @@ -155,6 +165,20 @@ def save_face_model(face: Face, filename: str) -> None: except Exception as e: print(f"Error: {e}") +def get_models(): + global MODELS_PATH + models_path_init = os.path.join(models_path, "insightface/*") + models = glob.glob(models_path_init) + models = [x for x in models if x.endswith(".onnx") or x.endswith(".pth")] + models_names = [] + for model in models: + model_path = os.path.split(model) + if MODELS_PATH is None: + MODELS_PATH = model_path[0] + model_name = model_path[1] + models_names.append(model_name) + return models_names + def load_face_model(filename: str): face = {} model_path = os.path.join(FACE_MODELS_PATH, filename) @@ -175,3 +199,11 @@ def get_model_names(get_models): for x in models: names.append(os.path.basename(x)) return names + +def get_images_from_folder(path: str): + images_path = os.path.join(path, "*") + images = glob.glob(images_path) + return [Image.open(x) for x in images if x.endswith(('jpg', 'png', 'jpeg', 'webp', 'bmp'))] + +def get_images_from_list(imgs: List): + return [Image.open(os.path.abspath(x.name)) for x in imgs] diff --git a/scripts/reactor_swapper.py b/scripts/reactor_swapper.py index 69b1e62..75f44af 100644 --- a/scripts/reactor_swapper.py +++ b/scripts/reactor_swapper.py @@ -11,7 +11,14 @@ import insightface from insightface.app.common import Face from scripts.reactor_globals import FACE_MODELS_PATH -from scripts.reactor_helpers import get_image_md5hash, get_Device, save_face_model, load_face_model +from scripts.reactor_helpers import ( + get_image_md5hash, + get_Device, + save_face_model, + load_face_model, + get_images_from_folder, + get_images_from_list +) from scripts.console_log_patch import apply_logging_patch from modules.face_restoration import FaceRestoration @@ -22,7 +29,7 @@ except: # SD.Next from modules.upscaler import UpscalerData from modules.shared import state from scripts.reactor_logger import logger -from modules.reactor_mask import apply_face_mask +from reactor_modules.reactor_mask import apply_face_mask try: from modules.paths_internal import models_path @@ -92,6 +99,14 @@ SOURCE_FACES = None SOURCE_IMAGE_HASH = None TARGET_FACES = None TARGET_IMAGE_HASH = None +SOURCE_FACES_LIST = [] +SOURCE_IMAGE_LIST_HASH = [] + +def clear_faces_list(): + global SOURCE_FACES_LIST, SOURCE_IMAGE_LIST_HASH + SOURCE_FACES_LIST = [] + SOURCE_IMAGE_LIST_HASH = [] + logger.status("Source Images Hash has been reset (for Multiple or Folder Source)") def getAnalysisModel(): @@ -315,8 +330,11 @@ def swap_face( mask_face: bool = False, select_source: int = 0, face_model: str = "None", + source_folder: str = "", + source_imgs: Union[List, None] = None, ): - global SOURCE_FACES, SOURCE_IMAGE_HASH, TARGET_FACES, TARGET_IMAGE_HASH, PROVIDERS + global SOURCE_FACES, SOURCE_IMAGE_HASH, TARGET_FACES, TARGET_IMAGE_HASH, PROVIDERS, SOURCE_FACES_LIST, SOURCE_IMAGE_LIST_HASH + result_image = target_img PROVIDERS = ["CUDAExecutionProvider"] if device == "CUDA" else ["CPUExecutionProvider"] @@ -347,179 +365,229 @@ def swap_face( output: List = [] output_info: str = "" swapped = 0 + + # ***************** + # SWAP from FOLDER or MULTIPLE images: - if select_source == 0 and source_img is not None: + if (select_source == 0 and source_imgs is not None) or (select_source == 2 and (source_folder is not None and source_folder != "")): + + result = [] + + source_images = get_images_from_folder(source_folder) if select_source == 2 else get_images_from_list(source_imgs) + + if len(source_images) > 0: + source_img_ff = [] + source_faces_ff = [] + for i, source_image in enumerate(source_images): + + source_image = cv2.cvtColor(np.array(source_image), cv2.COLOR_RGB2BGR) + source_img_ff.append(source_image) + + if source_hash_check: + + source_image_md5hash = get_image_md5hash(source_image) + + if len(SOURCE_IMAGE_LIST_HASH) == 0: + SOURCE_IMAGE_LIST_HASH = [source_image_md5hash] + source_image_same = False + elif len(SOURCE_IMAGE_LIST_HASH) == i: + SOURCE_IMAGE_LIST_HASH.append(source_image_md5hash) + source_image_same = False + else: + source_image_same = True if SOURCE_IMAGE_LIST_HASH[i] == source_image_md5hash else False + if not source_image_same: + SOURCE_IMAGE_LIST_HASH[i] = source_image_md5hash + + logger.info("(Image %s) Source Image MD5 Hash = %s", i, SOURCE_IMAGE_LIST_HASH[i]) + logger.info("(Image %s) Source Image the Same? %s", i, source_image_same) + + if len(SOURCE_FACES_LIST) == 0: + logger.status(f"Analyzing Source Image {i}...") + source_faces = analyze_faces(source_image) + SOURCE_FACES_LIST = [source_faces] + elif len(SOURCE_FACES_LIST) == i and not source_image_same: + logger.status(f"Analyzing Source Image {i}...") + source_faces = analyze_faces(source_image) + SOURCE_FACES_LIST.append(source_faces) + elif len(SOURCE_FACES_LIST) != i and not source_image_same: + logger.status(f"Analyzing Source Image {i}...") + source_faces = analyze_faces(source_image) + SOURCE_FACES_LIST[i] = source_faces + elif source_image_same: + logger.status("(Image %s) Using Hashed Source Face(s) Model...", i) + source_faces = SOURCE_FACES_LIST[i] + + else: + logger.status(f"Analyzing Source Image {i}...") + source_faces = analyze_faces(source_image) + + if source_faces is not None: + source_faces_ff.append(source_faces) - source_img = cv2.cvtColor(np.array(source_img), cv2.COLOR_RGB2BGR) + if len(source_faces_ff) > 0: - if source_hash_check: - - source_image_md5hash = get_image_md5hash(source_img) - - if SOURCE_IMAGE_HASH is None: - SOURCE_IMAGE_HASH = source_image_md5hash - source_image_same = False - else: - source_image_same = True if SOURCE_IMAGE_HASH == source_image_md5hash else False - if not source_image_same: - SOURCE_IMAGE_HASH = source_image_md5hash - - logger.info("Source Image MD5 Hash = %s", SOURCE_IMAGE_HASH) - logger.info("Source Image the Same? %s", source_image_same) - - if SOURCE_FACES is None or not source_image_same: - logger.status("Analyzing Source Image...") - source_faces = analyze_faces(source_img) - SOURCE_FACES = source_faces - elif source_image_same: - logger.status("Using Hashed Source Face(s) Model...") - source_faces = SOURCE_FACES - - else: - logger.status("Analyzing Source Image...") - source_faces = analyze_faces(source_img) - - elif select_source == 1 and (face_model is not None and face_model != "None"): - source_face_model = [load_face_model(face_model)] - if source_face_model is not None: - source_faces_index = [0] - source_faces = source_face_model - logger.status("Using Loaded Source Face Model...") - else: - logger.error(f"Cannot load Face Model File: {face_model}.safetensors") - else: - logger.error("Cannot detect any Source") - - if source_faces is not None: - - if target_hash_check: - - target_image_md5hash = get_image_md5hash(target_img) - - if TARGET_IMAGE_HASH is None: - TARGET_IMAGE_HASH = target_image_md5hash - target_image_same = False - else: - target_image_same = True if TARGET_IMAGE_HASH == target_image_md5hash else False - if not target_image_same: - TARGET_IMAGE_HASH = target_image_md5hash - - logger.info("Target Image MD5 Hash = %s", TARGET_IMAGE_HASH) - logger.info("Target Image the Same? %s", target_image_same) + if target_hash_check: - if TARGET_FACES is None or not target_image_same: + target_image_md5hash = get_image_md5hash(target_img) + + if TARGET_IMAGE_HASH is None: + TARGET_IMAGE_HASH = target_image_md5hash + target_image_same = False + else: + target_image_same = True if TARGET_IMAGE_HASH == target_image_md5hash else False + if not target_image_same: + TARGET_IMAGE_HASH = target_image_md5hash + + logger.info("Target Image MD5 Hash = %s", TARGET_IMAGE_HASH) + logger.info("Target Image the Same? %s", target_image_same) + + if TARGET_FACES is None or not target_image_same: + logger.status("Analyzing Target Image...") + target_faces = analyze_faces(target_img) + TARGET_FACES = target_faces + elif target_image_same: + logger.status("Using Hashed Target Face(s) Model...") + target_faces = TARGET_FACES + + else: logger.status("Analyzing Target Image...") target_faces = analyze_faces(target_img) - TARGET_FACES = target_faces - elif target_image_same: - logger.status("Using Hashed Target Face(s) Model...") - target_faces = TARGET_FACES - - else: - logger.status("Analyzing Target Image...") - target_faces = analyze_faces(target_img) - logger.status("Detecting Source Face, Index = %s", source_faces_index[0]) - if select_source == 0 and source_img is not None: - source_face, wrong_gender, source_age, source_gender = get_face_single(source_img, source_faces, face_index=source_faces_index[0], gender_source=gender_source) - else: - source_face = sorted(source_faces, key=lambda x: x.bbox[0])[source_faces_index[0]] - wrong_gender = 0 - source_age = source_face["age"] - source_gender = "Female" if source_face["gender"] == 0 else "Male" - if source_age != "None" or source_gender != "None": - logger.status("Detected: -%s- y.o. %s", source_age, source_gender) + for i,source_faces in enumerate(source_faces_ff): - output_info = f"SourceFaceIndex={source_faces_index[0]};Age={source_age};Gender={source_gender}\n" - output.append(output_info) - - if len(source_faces_index) != 0 and len(source_faces_index) != 1 and len(source_faces_index) != len(faces_index): - logger.status("Source Faces must have no entries (default=0), one entry, or same number of entries as target faces.") - elif source_face is not None: - - result = target_img - face_swapper = getFaceSwapModel(model) - - source_face_idx = 0 - - for face_num in faces_index: - if check_process_halt(): - return result_image, [], 0 - if len(source_faces_index) > 1 and source_face_idx > 0: - logger.status("Detecting Source Face, Index = %s", source_faces_index[source_face_idx]) - source_face, wrong_gender, source_age, source_gender = get_face_single(source_img, source_faces, face_index=source_faces_index[source_face_idx], gender_source=gender_source) - if source_age != "None" or source_gender != "None": - logger.status("Detected: -%s- y.o. %s", source_age, source_gender) - - output_info = f"SourceFaceIndex={source_faces_index[source_face_idx]};Age={source_age};Gender={source_gender}\n" - output.append(output_info) - - source_face_idx += 1 - - if source_face is not None and wrong_gender == 0: - logger.status("Detecting Target Face, Index = %s", face_num) - target_face, wrong_gender, target_age, target_gender = get_face_single(target_img, target_faces, face_index=face_num, gender_target=gender_target) - if target_age != "None" or target_gender != "None": - logger.status("Detected: -%s- y.o. %s", target_age, target_gender) - - output_info = f"TargetFaceIndex={face_num};Age={target_age};Gender={target_gender}\n" - output.append(output_info) - - if target_face is not None and wrong_gender == 0: - logger.status("Swapping Source into Target") - swapped_image = face_swapper.get(result, target_face, source_face) - - if mask_face: - result = apply_face_mask(swapped_image=swapped_image,target_image=result,target_face=target_face,entire_mask_image=entire_mask_image) - else: - result = swapped_image - swapped += 1 - - elif wrong_gender == 1: - wrong_gender = 0 - - if source_face_idx == len(source_faces_index): - result_image = Image.fromarray(cv2.cvtColor(result, cv2.COLOR_BGR2RGB)) - - if enhancement_options is not None and len(source_faces_index) > 1: - result_image = enhance_image(result_image, enhancement_options) - - return result_image, output, swapped - - else: - logger.status(f"No target face found for {face_num}") + logger.status("(Image %s) Detecting Source Face, Index = %s", i, source_faces_index[0]) + source_face, wrong_gender, source_age, source_gender = get_face_single(source_img_ff[i], source_faces, face_index=source_faces_index[0], gender_source=gender_source) - elif wrong_gender == 1: - wrong_gender = 0 - - if source_face_idx == len(source_faces_index): - result_image = Image.fromarray(cv2.cvtColor(result, cv2.COLOR_BGR2RGB)) - - if enhancement_options is not None and len(source_faces_index) > 1: - result_image = enhance_image(result_image, enhancement_options) - - return result_image, output, swapped - - else: - logger.status(f"No source face found for face number {source_face_idx}.") + if source_age != "None" or source_gender != "None": + logger.status("(Image %s) Detected: -%s- y.o. %s", i, source_age, source_gender) + + if len(source_faces_index) != 0 and len(source_faces_index) != 1 and len(source_faces_index) != len(faces_index): + logger.status("Source Faces must have no entries (default=0), one entry, or same number of entries as target faces.") + + elif source_face is not None: + + result_image, output, swapped = operate(source_img_ff[i],target_img,target_img_orig,model,source_faces_index,faces_index,source_faces,target_faces,gender_source,gender_target,source_face,wrong_gender,source_age,source_gender,output,swapped,mask_face,entire_mask_image,enhancement_options) + + result.append(result_image) + + result = [result_image] if len(result) == 0 else result + + return result, output, swapped + + # END + # ***************** + + # *********************** + # SWAP from IMG or MODEL: - result_image = Image.fromarray(cv2.cvtColor(result, cv2.COLOR_BGR2RGB)) - - if enhancement_options is not None and swapped > 0: - if mask_face and entire_mask_image is not None: - result_image = enhance_image_and_mask(result_image, enhancement_options,Image.fromarray(target_img_orig),Image.fromarray(entire_mask_image).convert("L")) - else: - result_image = enhance_image(result_image, enhancement_options) - elif mask_face and entire_mask_image is not None and swapped > 0: - result_image = Image.composite(result_image,Image.fromarray(target_img_orig),Image.fromarray(entire_mask_image).convert("L")) - - else: - logger.status("No source face(s) in the provided Index") else: - logger.status("No source face(s) found") - - return result_image, output, swapped + + if select_source == 0 and source_img is not None: + + source_img = cv2.cvtColor(np.array(source_img), cv2.COLOR_RGB2BGR) + if source_hash_check: + + source_image_md5hash = get_image_md5hash(source_img) + + if SOURCE_IMAGE_HASH is None: + SOURCE_IMAGE_HASH = source_image_md5hash + source_image_same = False + else: + source_image_same = True if SOURCE_IMAGE_HASH == source_image_md5hash else False + if not source_image_same: + SOURCE_IMAGE_HASH = source_image_md5hash + + logger.info("Source Image MD5 Hash = %s", SOURCE_IMAGE_HASH) + logger.info("Source Image the Same? %s", source_image_same) + + if SOURCE_FACES is None or not source_image_same: + logger.status("Analyzing Source Image...") + source_faces = analyze_faces(source_img) + SOURCE_FACES = source_faces + elif source_image_same: + logger.status("Using Hashed Source Face(s) Model...") + source_faces = SOURCE_FACES + + else: + logger.status("Analyzing Source Image...") + source_faces = analyze_faces(source_img) + + elif select_source == 1 and (face_model is not None and face_model != "None"): + source_face_model = [load_face_model(face_model)] + if source_face_model is not None: + source_faces_index = [0] + source_faces = source_face_model + logger.status("Using Loaded Source Face Model...") + else: + logger.error(f"Cannot load Face Model File: {face_model}.safetensors") + + else: + logger.error("Cannot detect any Source") + return result_image, [], 0 + + if source_faces is not None: + + if target_hash_check: + + target_image_md5hash = get_image_md5hash(target_img) + + if TARGET_IMAGE_HASH is None: + TARGET_IMAGE_HASH = target_image_md5hash + target_image_same = False + else: + target_image_same = True if TARGET_IMAGE_HASH == target_image_md5hash else False + if not target_image_same: + TARGET_IMAGE_HASH = target_image_md5hash + + logger.info("Target Image MD5 Hash = %s", TARGET_IMAGE_HASH) + logger.info("Target Image the Same? %s", target_image_same) + + if TARGET_FACES is None or not target_image_same: + logger.status("Analyzing Target Image...") + target_faces = analyze_faces(target_img) + TARGET_FACES = target_faces + elif target_image_same: + logger.status("Using Hashed Target Face(s) Model...") + target_faces = TARGET_FACES + + else: + logger.status("Analyzing Target Image...") + target_faces = analyze_faces(target_img) + + logger.status("Detecting Source Face, Index = %s", source_faces_index[0]) + if select_source == 0 and source_img is not None: + source_face, wrong_gender, source_age, source_gender = get_face_single(source_img, source_faces, face_index=source_faces_index[0], gender_source=gender_source) + else: + source_face = sorted(source_faces, key=lambda x: x.bbox[0])[source_faces_index[0]] + wrong_gender = 0 + source_age = source_face["age"] + source_gender = "Female" if source_face["gender"] == 0 else "Male" + + if source_age != "None" or source_gender != "None": + logger.status("Detected: -%s- y.o. %s", source_age, source_gender) + + output_info = f"SourceFaceIndex={source_faces_index[0]};Age={source_age};Gender={source_gender}\n" + output.append(output_info) + + if len(source_faces_index) != 0 and len(source_faces_index) != 1 and len(source_faces_index) != len(faces_index): + logger.status("Source Faces must have no entries (default=0), one entry, or same number of entries as target faces.") + + elif source_face is not None: + + result_image, output, swapped = operate(source_img,target_img,target_img_orig,model,source_faces_index,faces_index,source_faces,target_faces,gender_source,gender_target,source_face,wrong_gender,source_age,source_gender,output,swapped,mask_face,entire_mask_image,enhancement_options) + + else: + logger.status("No source face(s) in the provided Index") + else: + logger.status("No source face(s) found") + + return result_image, output, swapped + + # END + # ********************** + + return result_image, [], 0 def build_face_model(image: Image.Image, name: str): if image is None: @@ -545,3 +613,103 @@ def build_face_model(image: Image.Image, name: str): no_face_msg = "No face found, please try another image" logger.error(no_face_msg) return no_face_msg + + +def operate( + source_img, + target_img, + target_img_orig, + model, + source_faces_index, + faces_index, + source_faces, + target_faces, + gender_source, + gender_target, + source_face, + wrong_gender, + source_age, + source_gender, + output, + swapped, + mask_face, + entire_mask_image, + enhancement_options, + ): + result = target_img + face_swapper = getFaceSwapModel(model) + + source_face_idx = 0 + + for face_num in faces_index: + if check_process_halt(): + return result_image, [], 0 + if len(source_faces_index) > 1 and source_face_idx > 0: + logger.status("Detecting Source Face, Index = %s", source_faces_index[source_face_idx]) + source_face, wrong_gender, source_age, source_gender = get_face_single(source_img, source_faces, face_index=source_faces_index[source_face_idx], gender_source=gender_source) + if source_age != "None" or source_gender != "None": + logger.status("Detected: -%s- y.o. %s", source_age, source_gender) + + output_info = f"SourceFaceIndex={source_faces_index[source_face_idx]};Age={source_age};Gender={source_gender}\n" + output.append(output_info) + + source_face_idx += 1 + + if source_face is not None and wrong_gender == 0: + logger.status("Detecting Target Face, Index = %s", face_num) + target_face, wrong_gender, target_age, target_gender = get_face_single(target_img, target_faces, face_index=face_num, gender_target=gender_target) + if target_age != "None" or target_gender != "None": + logger.status("Detected: -%s- y.o. %s", target_age, target_gender) + + output_info = f"TargetFaceIndex={face_num};Age={target_age};Gender={target_gender}\n" + output.append(output_info) + + if target_face is not None and wrong_gender == 0: + logger.status("Swapping Source into Target") + swapped_image = face_swapper.get(result, target_face, source_face) + + if mask_face: + result = apply_face_mask(swapped_image=swapped_image,target_image=result,target_face=target_face,entire_mask_image=entire_mask_image) + else: + result = swapped_image + swapped += 1 + + elif wrong_gender == 1: + wrong_gender = 0 + + if source_face_idx == len(source_faces_index): + result_image = Image.fromarray(cv2.cvtColor(result, cv2.COLOR_BGR2RGB)) + + if enhancement_options is not None and len(source_faces_index) > 1: + result_image = enhance_image(result_image, enhancement_options) + + return result_image, output, swapped + + else: + logger.status(f"No target face found for {face_num}") + + elif wrong_gender == 1: + wrong_gender = 0 + + if source_face_idx == len(source_faces_index): + result_image = Image.fromarray(cv2.cvtColor(result, cv2.COLOR_BGR2RGB)) + + if enhancement_options is not None and len(source_faces_index) > 1: + result_image = enhance_image(result_image, enhancement_options) + + return result_image, output, swapped + + else: + logger.status(f"No source face found for face number {source_face_idx}.") + + result_image = Image.fromarray(cv2.cvtColor(result, cv2.COLOR_BGR2RGB)) + + if enhancement_options is not None and swapped > 0: + if mask_face and entire_mask_image is not None: + result_image = enhance_image_and_mask(result_image, enhancement_options,Image.fromarray(target_img_orig),Image.fromarray(entire_mask_image).convert("L")) + else: + result_image = enhance_image(result_image, enhancement_options) + elif mask_face and entire_mask_image is not None and swapped > 0: + result_image = Image.composite(result_image,Image.fromarray(target_img_orig),Image.fromarray(entire_mask_image).convert("L")) + + return result_image, output, swapped diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 9e68bc1..996347a 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.5.1" +version_flag = "v0.6.0-a1" from scripts.reactor_logger import logger, get_Run, set_Run From 905bd73189d6a385cfbf3d5f41e76e13247a46ed Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Wed, 6 Dec 2023 20:16:50 +0700 Subject: [PATCH 09/35] UPDATE: Logo (EN+RU) --- README.md | 2 +- README_RU.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 695634b..6dd109b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
- logo + logo ![Version](https://img.shields.io/badge/version-0.6.0_alpha1-lightgreen?style=for-the-badge&labelColor=darkgreen) diff --git a/README_RU.md b/README_RU.md index 78bb651..12a84c1 100644 --- a/README_RU.md +++ b/README_RU.md @@ -1,6 +1,6 @@
- logo + logo ![Version](https://img.shields.io/badge/версия-0.6.0_alpha1-lightgreen?style=for-the-badge&labelColor=darkgreen) From fda111bb3d36592e37c36059796e418a6cc70591 Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Wed, 6 Dec 2023 22:44:32 +0700 Subject: [PATCH 10/35] UPDATE: New logo (better or not?) --- README.md | 2 +- README_RU.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6dd109b..8939559 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
- logo + logo ![Version](https://img.shields.io/badge/version-0.6.0_alpha1-lightgreen?style=for-the-badge&labelColor=darkgreen) diff --git a/README_RU.md b/README_RU.md index 12a84c1..962af74 100644 --- a/README_RU.md +++ b/README_RU.md @@ -1,6 +1,6 @@
- logo + logo ![Version](https://img.shields.io/badge/версия-0.6.0_alpha1-lightgreen?style=for-the-badge&labelColor=darkgreen) From 3b50def4069320d02405e59673d08066e888f961 Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Sat, 9 Dec 2023 21:27:08 +0700 Subject: [PATCH 11/35] UPDATE: Save Original On/Off w/Multiple Source Feature Request #250 +VersionUP (0.6.0 alpha2) --- README.md | 2 +- README_RU.md | 4 +++- reactor_ui/reactor_main_ui.py | 23 ++++++++++++----------- scripts/reactor_faceswap.py | 5 ++++- scripts/reactor_version.py | 2 +- 5 files changed, 21 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 8939559..4e06349 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.6.0_alpha1-lightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.6.0_alpha2-lightgreen?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty diff --git a/README_RU.md b/README_RU.md index 962af74..a1ba1f0 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.6.0_alpha1-lightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.6.0_alpha2-lightgreen?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty @@ -46,6 +46,8 @@ 0.6.0-whatsnew-01 +0.6.0-whatsnew-02 + ### 0.5.1 - Теперь можно сохранять модели лиц в качестве файлов "safetensors" (находятся в `\models\reactor\faces`) и загружать их с ReActor, храня супер легкие модели лиц, которые вы чаще всего используете; diff --git a/reactor_ui/reactor_main_ui.py b/reactor_ui/reactor_main_ui.py index 5ed4212..6672be2 100644 --- a/reactor_ui/reactor_main_ui.py +++ b/reactor_ui/reactor_main_ui.py @@ -8,7 +8,7 @@ from scripts.reactor_swapper import ( ) from modules import shared -SAVE_ORIGINAL: bool = False +# SAVE_ORIGINAL: bool = False def update_fm_list(selected: str): return gr.Dropdown.update( @@ -18,16 +18,17 @@ def update_fm_list(selected: str): # TAB MAIN def show(is_img2img: bool, show_br: bool = True, **msgs): - def on_select_source(selected: bool, evt: gr.SelectData): - global SAVE_ORIGINAL + # def on_select_source(selected: bool, evt: gr.SelectData): + def on_select_source(evt: gr.SelectData): + # global SAVE_ORIGINAL if evt.index == 2: - if SAVE_ORIGINAL != selected: - SAVE_ORIGINAL = selected + # if SAVE_ORIGINAL != selected: + # SAVE_ORIGINAL = selected return { control_col_1: gr.Column.update(visible=False), control_col_2: gr.Column.update(visible=False), control_col_3: gr.Column.update(visible=True), - save_original: gr.Checkbox.update(value=False,visible=False), + # save_original: gr.Checkbox.update(value=False,visible=False), imgs_hash_clear: gr.Button.update(visible=True) } if evt.index == 0: @@ -35,7 +36,7 @@ def show(is_img2img: bool, show_br: bool = True, **msgs): control_col_1: gr.Column.update(visible=True), control_col_2: gr.Column.update(visible=False), control_col_3: gr.Column.update(visible=False), - save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), + # save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), imgs_hash_clear: gr.Button.update(visible=False) } if evt.index == 1: @@ -43,7 +44,7 @@ def show(is_img2img: bool, show_br: bool = True, **msgs): control_col_1: gr.Column.update(visible=False), control_col_2: gr.Column.update(visible=True), control_col_3: gr.Column.update(visible=False), - save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), + # save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), imgs_hash_clear: gr.Button.update(visible=False) } @@ -106,13 +107,13 @@ def show(is_img2img: bool, show_br: bool = True, **msgs): save_original = gr.Checkbox( False, label="Save Original (Swap in generated only)", - info="Save the original image(s) made before swapping (it always saves Original when you use Multiple Images or Folder)" + info="Save the original image(s) made before swapping" ) else: save_original = gr.Checkbox( False, label="Save Original", - info="Save the original image(s) made before swapping (it always saves Original when you use Multiple Images or Folder)", + info="Save the original image(s) made before swapping", visible=show_br ) # imgs.upload(on_files_upload_uncheck_so,[save_original],[save_original],show_progress=False) @@ -177,6 +178,6 @@ def show(is_img2img: bool, show_br: bool = True, **msgs): label="Swap in generated image", visible=is_img2img, ) - select_source.select(on_select_source,[save_original],[control_col_1,control_col_2,control_col_3,save_original,imgs_hash_clear],show_progress=False) + select_source.select(on_select_source,None,[control_col_1,control_col_2,control_col_3,imgs_hash_clear],show_progress=False) return img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index 8812a4f..924510d 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -309,7 +309,10 @@ class FaceSwapScript(scripts.Script): if self.select_source == 2 or (self.select_source == 0 and self.source_imgs is not None and self.source is None): if len(result) > 0 and swapped > 0: - result_images.extend(result) + if self.save_original: + result_images.extend(result) + else: + result_images = result suffix = "-swapped" for i,x in enumerate(result): try: diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 996347a..6a8d6fb 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.6.0-a1" +version_flag = "v0.6.0-a2" from scripts.reactor_logger import logger, get_Run, set_Run From ed66d918190a296c745265a01c090e3e3dbc2cde Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Tue, 19 Dec 2023 12:23:03 +0700 Subject: [PATCH 12/35] Revert Prev + FIX: API Scale->Float --- example/api_example.py | 2 +- example/api_external.curl | 2 +- example/api_external.json | 2 +- reactor_ui/reactor_main_ui.py | 23 +++++++++++------------ scripts/reactor_api.py | 2 +- scripts/reactor_faceswap.py | 5 +---- 6 files changed, 16 insertions(+), 20 deletions(-) diff --git a/example/api_example.py b/example/api_example.py index bcd2504..9a0caf0 100644 --- a/example/api_example.py +++ b/example/api_example.py @@ -31,7 +31,7 @@ args=[ 1, #5 Restore visibility value True, #7 Restore face -> Upscale '4x_NMKD-Superscale-SP_178000_G', #8 Upscaler (type 'None' if doesn't need), see full list here: http://127.0.0.1:7860/sdapi/v1/script-info -> reactor -> sec.8 - 2, #9 Upscaler scale value + 1.5, #9 Upscaler scale value 1, #10 Upscaler visibility (if scale = 1) False, #11 Swap in source image True, #12 Swap in generated image diff --git a/example/api_external.curl b/example/api_external.curl index 1c235e7..f324f0e 100644 --- a/example/api_external.curl +++ b/example/api_external.curl @@ -8,7 +8,7 @@ curl -X POST \ "source_faces_index": [0], "face_index": [2], "upscaler": "None", - "scale": 1, + "scale": 1.5, "upscale_visibility": 1, "face_restorer": "CodeFormer", "restorer_visibility": 1, diff --git a/example/api_external.json b/example/api_external.json index 1766427..c4b32a4 100644 --- a/example/api_external.json +++ b/example/api_external.json @@ -4,7 +4,7 @@ "source_faces_index": [0], "face_index": [2], "upscaler": "None", - "scale": 1, + "scale": 1.5, "upscale_visibility": 1, "face_restorer": "CodeFormer", "restorer_visibility": 1, diff --git a/reactor_ui/reactor_main_ui.py b/reactor_ui/reactor_main_ui.py index 6672be2..5ed4212 100644 --- a/reactor_ui/reactor_main_ui.py +++ b/reactor_ui/reactor_main_ui.py @@ -8,7 +8,7 @@ from scripts.reactor_swapper import ( ) from modules import shared -# SAVE_ORIGINAL: bool = False +SAVE_ORIGINAL: bool = False def update_fm_list(selected: str): return gr.Dropdown.update( @@ -18,17 +18,16 @@ def update_fm_list(selected: str): # TAB MAIN def show(is_img2img: bool, show_br: bool = True, **msgs): - # def on_select_source(selected: bool, evt: gr.SelectData): - def on_select_source(evt: gr.SelectData): - # global SAVE_ORIGINAL + def on_select_source(selected: bool, evt: gr.SelectData): + global SAVE_ORIGINAL if evt.index == 2: - # if SAVE_ORIGINAL != selected: - # SAVE_ORIGINAL = selected + if SAVE_ORIGINAL != selected: + SAVE_ORIGINAL = selected return { control_col_1: gr.Column.update(visible=False), control_col_2: gr.Column.update(visible=False), control_col_3: gr.Column.update(visible=True), - # save_original: gr.Checkbox.update(value=False,visible=False), + save_original: gr.Checkbox.update(value=False,visible=False), imgs_hash_clear: gr.Button.update(visible=True) } if evt.index == 0: @@ -36,7 +35,7 @@ def show(is_img2img: bool, show_br: bool = True, **msgs): control_col_1: gr.Column.update(visible=True), control_col_2: gr.Column.update(visible=False), control_col_3: gr.Column.update(visible=False), - # save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), + save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), imgs_hash_clear: gr.Button.update(visible=False) } if evt.index == 1: @@ -44,7 +43,7 @@ def show(is_img2img: bool, show_br: bool = True, **msgs): control_col_1: gr.Column.update(visible=False), control_col_2: gr.Column.update(visible=True), control_col_3: gr.Column.update(visible=False), - # save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), + save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), imgs_hash_clear: gr.Button.update(visible=False) } @@ -107,13 +106,13 @@ def show(is_img2img: bool, show_br: bool = True, **msgs): save_original = gr.Checkbox( False, label="Save Original (Swap in generated only)", - info="Save the original image(s) made before swapping" + info="Save the original image(s) made before swapping (it always saves Original when you use Multiple Images or Folder)" ) else: save_original = gr.Checkbox( False, label="Save Original", - info="Save the original image(s) made before swapping", + info="Save the original image(s) made before swapping (it always saves Original when you use Multiple Images or Folder)", visible=show_br ) # imgs.upload(on_files_upload_uncheck_so,[save_original],[save_original],show_progress=False) @@ -178,6 +177,6 @@ def show(is_img2img: bool, show_br: bool = True, **msgs): label="Swap in generated image", visible=is_img2img, ) - select_source.select(on_select_source,None,[control_col_1,control_col_2,control_col_3,imgs_hash_clear],show_progress=False) + select_source.select(on_select_source,[save_original],[control_col_1,control_col_2,control_col_3,save_original,imgs_hash_clear],show_progress=False) return img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated diff --git a/scripts/reactor_api.py b/scripts/reactor_api.py index 2fbd5b5..a982ae1 100644 --- a/scripts/reactor_api.py +++ b/scripts/reactor_api.py @@ -60,7 +60,7 @@ def reactor_api(_: gr.Blocks, app: FastAPI): source_faces_index: list[int] = Body([0],title="Comma separated face number(s) from swap-source image"), face_index: list[int] = Body([0],title="Comma separated face number(s) for target image (result)"), upscaler: str = Body("None",title="Upscaler"), - scale: int = Body(1,title="Scale by"), + scale: float = Body(1,title="Scale by"), upscale_visibility: float = Body(1,title="Upscaler visibility (if scale = 1)"), face_restorer: str = Body("None",title="Restore Face: 0 - None; 1 - CodeFormer; 2 - GFPGA"), restorer_visibility: float = Body(1,title="Restore visibility value"), diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index 924510d..8812a4f 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -309,10 +309,7 @@ class FaceSwapScript(scripts.Script): if self.select_source == 2 or (self.select_source == 0 and self.source_imgs is not None and self.source is None): if len(result) > 0 and swapped > 0: - if self.save_original: - result_images.extend(result) - else: - result_images = result + result_images.extend(result) suffix = "-swapped" for i,x in enumerate(result): try: From d8e300b202e54199d3dc63468a89f16a048fcfba Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Tue, 19 Dec 2023 14:54:23 +0700 Subject: [PATCH 13/35] UPDATE: Enable like A1111-1.7.0; GFPGAN loading + UPDATE: Troubleshooting Sec. (Insightface whl installation) --- README.md | 10 +++++----- README_RU.md | 10 +++++----- scripts/reactor_faceswap.py | 15 +++++++++------ scripts/reactor_swapper.py | 9 +++++---- scripts/reactor_version.py | 2 +- 5 files changed, 25 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 4e06349..53dcc46 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.6.0_alpha2-lightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.6.0_alpha3-lightgreen?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty @@ -257,10 +257,10 @@ If this method doesn't help - there is some other extension that has a wrong ver ### **VIII. (For Windows users) If you still cannot build Insightface for some reasons or just don't want to install Visual Studio or VS C++ Build Tools - do the following:** 1. Close (stop) your SD WebUI Server if it's running -2. Download and put [prebuilt Insightface package](https://github.com/Gourieff/sd-webui-reactor/raw/main/example/insightface-0.7.3-cp310-cp310-win_amd64.whl) into the stable-diffusion-webui (or SD.Next) root folder (where you have "webui-user.bat" file) -3. From stable-diffusion-webui (or SD.Next) root folder run CMD and `.\venv\Scripts\activate` -4. Then update your PIP: `python -m pip install -U pip` -5. Then install Insightface: `pip install insightface-0.7.3-cp310-cp310-win_amd64.whl` +2. Download and put [prebuilt Insightface package](https://github.com/Gourieff/sd-webui-reactor/raw/main/example/insightface-0.7.3-cp310-cp310-win_amd64.whl) into the stable-diffusion-webui (or SD.Next) root folder where you have "webui-user.bat" file or (A1111 Portable) "run.bat" +3. From stable-diffusion-webui (or SD.Next) root folder run CMD and `.\venv\Scripts\activate`
OR
(A1111 Portable) Run CMD +4. Then update your PIP: `python -m pip install -U pip`
OR
(A1111 Portable)`system\python\python.exe -m pip install -U pip` +5. Then install Insightface: `pip install insightface-0.7.3-cp310-cp310-win_amd64.whl`
OR
(A1111 Portable)`system\python\python.exe -m pip install insightface-0.7.3-cp310-cp310-win_amd64.whl` 6. Enjoy! ### **IX. 07-August-23 Update problem** diff --git a/README_RU.md b/README_RU.md index a1ba1f0..77ed941 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.6.0_alpha2-lightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.6.0_alpha3-lightgreen?style=for-the-badge&labelColor=darkgreen)
Поддержать проект на Boosty @@ -264,10 +264,10 @@ Inpainting также работает, но замена лица происх ### **VIII. (Для пользователей Windows) Если вы до сих пор не можете установить пакет Insightface по каким-то причинам или же просто не желаете устанавливать Visual Studio или VS C++ Build Tools - сделайте следующее:** 1. Закройте (остановите) SD WebUI Сервер, если он запущен -2. Скачайте готовый [пакет Insightface](https://github.com/Gourieff/sd-webui-reactor/raw/main/example/insightface-0.7.3-cp310-cp310-win_amd64.whl) и сохраните его в корневую директорию stable-diffusion-webui (или SD.Next) - туда, где лежит файл "webui-user.bat" -3. Из корневой директории откройте Консоль (CMD) и выполните `.\venv\Scripts\activate` -4. Обновите PIP: `python -m pip install -U pip` -5. Затем установите Insightface: `pip install insightface-0.7.3-cp310-cp310-win_amd64.whl` +2. Скачайте готовый [пакет Insightface](https://github.com/Gourieff/sd-webui-reactor/raw/main/example/insightface-0.7.3-cp310-cp310-win_amd64.whl) и сохраните его в корневую директорию stable-diffusion-webui (или SD.Next) - туда, где лежит файл "webui-user.bat" или (A1111 Portable) "run.bat" +3. Из корневой директории откройте Консоль (CMD) и выполните `.\venv\Scripts\activate`
ИЛИ
(A1111 Portable) Откройте Консоль (CMD) +4. Обновите PIP: `python -m pip install -U pip`
ИЛИ
(A1111 Portable)`system\python\python.exe -m pip install -U pip` +5. Затем установите Insightface: `pip install insightface-0.7.3-cp310-cp310-win_amd64.whl`
ИЛИ
(A1111 Portable)`system\python\python.exe -m pip install insightface-0.7.3-cp310-cp310-win_amd64.whl` 6. Готово! ### **IX. Ошибка обновления 07-Август-23** diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index 8812a4f..783c68c 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -6,7 +6,7 @@ from typing import List import modules.scripts as scripts from modules.upscaler import Upscaler, UpscalerData -from modules import scripts, shared, images, scripts_postprocessing +from modules import scripts, shared, images, scripts_postprocessing, ui_components from modules.processing import ( Processed, StableDiffusionProcessing, @@ -40,7 +40,8 @@ class FaceSwapScript(scripts.Script): return scripts.AlwaysVisible def ui(self, is_img2img): - with gr.Accordion(f"{app_title}", open=False): + with ui_components.InputAccordion(False, label=f"{app_title}") as enable: + # with gr.Accordion(f"{app_title}", open=False): # def on_files_upload_uncheck_so(selected: bool): # global SAVE_ORIGINAL @@ -50,8 +51,8 @@ class FaceSwapScript(scripts.Script): # clear_faces_list() # return gr.Checkbox.update(value=SAVE_ORIGINAL,visible=True) - enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") - gr.Markdown("
") + # enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") + gr.Markdown(f"The Fast and Simple FaceSwap Extension - {version_flag}") # TAB MAIN msgs: dict = { @@ -405,9 +406,11 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): order = 20000 def ui(self): - with gr.Accordion(f"{app_title}", open=False): + with ui_components.InputAccordion(False, label=f"{app_title}") as enable: + # with gr.Accordion(f"{app_title}", open=False): - enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") + # enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") + gr.Markdown(f"The Fast and Simple FaceSwap Extension - {version_flag}") # TAB MAIN msgs: dict = { diff --git a/scripts/reactor_swapper.py b/scripts/reactor_swapper.py index 75f44af..0f70bb2 100644 --- a/scripts/reactor_swapper.py +++ b/scripts/reactor_swapper.py @@ -23,9 +23,9 @@ from scripts.console_log_patch import apply_logging_patch from modules.face_restoration import FaceRestoration try: # A1111 - from modules import codeformer_model + from modules import codeformer_model, gfpgan_model except: # SD.Next - from modules.postprocess import codeformer_model + from modules.postprocess import codeformer_model, gfpgan_model from modules.upscaler import UpscalerData from modules.shared import state from scripts.reactor_logger import logger @@ -142,8 +142,9 @@ def restore_face(image: Image, enhancement_options: EnhancementOptions): numpy_image = codeformer_model.codeformer.restore( numpy_image, w=enhancement_options.codeformer_weight ) - else: - numpy_image = enhancement_options.face_restorer.restore(numpy_image) + else: # GFPGAN: + numpy_image = gfpgan_model.gfpgan_fix_faces(numpy_image) + # numpy_image = enhancement_options.face_restorer.restore(numpy_image) restored_image = Image.fromarray(numpy_image) result_image = Image.blend( original_image, restored_image, enhancement_options.restorer_visibility diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 6a8d6fb..f590633 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.6.0-a2" +version_flag = "v0.6.0-a3" from scripts.reactor_logger import logger, get_Run, set_Run From 805a0cae176cf7fd14975bcf7bab8923eda08efe Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Wed, 20 Dec 2023 03:54:21 +0700 Subject: [PATCH 14/35] FIX: SD.Next no "enable" checkbox Issue #271 --- README.md | 2 +- README_RU.md | 2 +- scripts/reactor_faceswap.py | 9 +++++++++ scripts/reactor_globals.py | 2 ++ scripts/reactor_helpers.py | 10 +++++++++- scripts/reactor_swapper.py | 4 +++- scripts/reactor_version.py | 2 +- 7 files changed, 26 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 53dcc46..cd3f800 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.6.0_alpha3-lightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.6.0_alpha4-lightgreen?style=for-the-badge&labelColor=darkgreen)
Support Me on Boosty diff --git a/README_RU.md b/README_RU.md index 77ed941..294ad57 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.6.0_alpha3-lightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.6.0_alpha4-lightgreen?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index 783c68c..1a45fab 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -28,6 +28,7 @@ from scripts.console_log_patch import apply_logging_patch from scripts.reactor_helpers import ( make_grid, set_Device, + get_SDNEXT ) from scripts.reactor_globals import SWAPPER_MODELS_PATH #, DEVICE, DEVICE_LIST @@ -50,6 +51,10 @@ class FaceSwapScript(scripts.Script): # def on_files_clear(): # clear_faces_list() # return gr.Checkbox.update(value=SAVE_ORIGINAL,visible=True) + + # SD.Next fix + if get_SDNEXT(): + enable = gr.Checkbox(False, label="Enable") # enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") gr.Markdown(f"The Fast and Simple FaceSwap Extension - {version_flag}") @@ -408,6 +413,10 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): def ui(self): with ui_components.InputAccordion(False, label=f"{app_title}") as enable: # with gr.Accordion(f"{app_title}", open=False): + + # SD.Next fix + if get_SDNEXT(): + enable = gr.Checkbox(False, label="Enable") # enable = gr.Checkbox(False, label="Enable", info=f"The Fast and Simple FaceSwap Extension - {version_flag}") gr.Markdown(f"The Fast and Simple FaceSwap Extension - {version_flag}") diff --git a/scripts/reactor_globals.py b/scripts/reactor_globals.py index 7e8f4dc..81d123d 100644 --- a/scripts/reactor_globals.py +++ b/scripts/reactor_globals.py @@ -18,6 +18,8 @@ SWAPPER_MODELS_PATH = os.path.join(MODELS_PATH, "insightface") REACTOR_MODELS_PATH = os.path.join(MODELS_PATH, "reactor") FACE_MODELS_PATH = os.path.join(REACTOR_MODELS_PATH, "faces") +IS_SDNEXT = False + if not os.path.exists(REACTOR_MODELS_PATH): os.makedirs(REACTOR_MODELS_PATH) if not os.path.exists(FACE_MODELS_PATH): diff --git a/scripts/reactor_helpers.py b/scripts/reactor_helpers.py index 2db883d..0290425 100644 --- a/scripts/reactor_helpers.py +++ b/scripts/reactor_helpers.py @@ -11,7 +11,7 @@ from insightface.app.common import Face from modules.images import FilenameGenerator, get_next_sequence_number from modules import shared, script_callbacks -from scripts.reactor_globals import DEVICE, BASE_PATH, FACE_MODELS_PATH +from scripts.reactor_globals import DEVICE, BASE_PATH, FACE_MODELS_PATH, IS_SDNEXT try: from modules.paths_internal import models_path @@ -33,6 +33,14 @@ def get_Device(): global DEVICE return DEVICE +def set_SDNEXT(): + global IS_SDNEXT + IS_SDNEXT = True + +def get_SDNEXT(): + global IS_SDNEXT + return IS_SDNEXT + def make_grid(image_list: List): # Count the occurrences of each image size in the image_list diff --git a/scripts/reactor_swapper.py b/scripts/reactor_swapper.py index 0f70bb2..c92cae4 100644 --- a/scripts/reactor_swapper.py +++ b/scripts/reactor_swapper.py @@ -17,7 +17,8 @@ from scripts.reactor_helpers import ( save_face_model, load_face_model, get_images_from_folder, - get_images_from_list + get_images_from_list, + set_SDNEXT ) from scripts.console_log_patch import apply_logging_patch @@ -26,6 +27,7 @@ try: # A1111 from modules import codeformer_model, gfpgan_model except: # SD.Next from modules.postprocess import codeformer_model, gfpgan_model + set_SDNEXT() from modules.upscaler import UpscalerData from modules.shared import state from scripts.reactor_logger import logger diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index f590633..85adc92 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.6.0-a3" +version_flag = "v0.6.0-a4" from scripts.reactor_logger import logger, get_Run, set_Run From be546524af43c2547b9f5fca0df14167d724f907 Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Sat, 6 Jan 2024 13:23:48 +0700 Subject: [PATCH 15/35] UPDATE: UI labels, install script less verb +VersionUP (alpha passed) --- README.md | 2 +- README_RU.md | 2 +- install.py | 4 ++-- reactor_ui/reactor_main_ui.py | 2 +- reactor_ui/reactor_settings_ui.py | 2 +- scripts/reactor_version.py | 5 +++-- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index cd3f800..aa31ec0 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.6.0_alpha4-lightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.6.0_beta1-green?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty diff --git a/README_RU.md b/README_RU.md index 294ad57..a470c95 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.6.0_alpha4-lightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.6.0_beta1-green?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty diff --git a/install.py b/install.py index 7023b53..fab874b 100644 --- a/install.py +++ b/install.py @@ -75,7 +75,7 @@ if not os.path.exists(models_dir): if not os.path.exists(model_path): download(model_url, model_path) -print("ReActor preheating...", end=' ') +# print("ReActor preheating...", end=' ') last_device = None first_run = False @@ -121,7 +121,7 @@ with open(req_file) as file: print(e) print(f"\nERROR: Failed to install {ort} - ReActor won't start") raise e - print(f"Device: {last_device}") + # print(f"Device: {last_device}") strict = True for package in file: package_version = None diff --git a/reactor_ui/reactor_main_ui.py b/reactor_ui/reactor_main_ui.py index 5ed4212..5b2b9a2 100644 --- a/reactor_ui/reactor_main_ui.py +++ b/reactor_ui/reactor_main_ui.py @@ -164,7 +164,7 @@ def show(is_img2img: bool, show_br: bool = True, **msgs): 0, 1, 1, step=0.1, label="Restore Face Visibility" ) codeformer_weight = gr.Slider( - 0, 1, 0.5, step=0.1, label="CodeFormer Weight", info="0 = maximum effect, 1 = minimum effect" + 0, 1, 0.5, step=0.1, label="CodeFormer Weight (Fidelity)", info="0 = far from original (max restoration), 1 = close to original (min restoration)" ) gr.Markdown("
", visible=show_br) swap_in_source = gr.Checkbox( diff --git a/reactor_ui/reactor_settings_ui.py b/reactor_ui/reactor_settings_ui.py index a5447a5..431fd2a 100644 --- a/reactor_ui/reactor_settings_ui.py +++ b/reactor_ui/reactor_settings_ui.py @@ -23,7 +23,7 @@ def show(hash_check_block: bool = True): choices=DEVICE_LIST, value=DEVICE, type="value", - info="If you already run 'Generate' - RESTART is required to apply. Click 'Save', (A1111) Extensions Tab -> 'Apply and restart UI' or (SD.Next) close the Server and start it again", + info="Click 'Save' to apply. If you already run 'Generate' - RESTART is required: (A1111) Extensions Tab -> 'Apply and restart UI' or (SD.Next) close the Server and start it again", scale=2, ) save_device_btn = gr.Button("Save", scale=0) diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 85adc92..b46bbde 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,10 +1,11 @@ app_title = "ReActor" -version_flag = "v0.6.0-a4" +version_flag = "v0.6.0-b1" from scripts.reactor_logger import logger, get_Run, set_Run +from scripts.reactor_globals import DEVICE is_run = get_Run() if not is_run: - logger.status(f"Running {version_flag}") + logger.status(f"Running {version_flag} on Device: {DEVICE}") set_Run(True) From 4b1cfc70e8a9daa7af0d376ad7e84ff26dff63ae Mon Sep 17 00:00:00 2001 From: Gourieff <777@lovemet.ru> Date: Sat, 6 Jan 2024 13:31:43 +0700 Subject: [PATCH 16/35] UPDATE: Main model url +VersionUP (0.6.0, beta passed) --- README.md | 4 ++-- README_RU.md | 4 ++-- install.py | 2 +- scripts/reactor_version.py | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index aa31ec0..d5882b6 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.6.0_beta1-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.6.0-brightgreen?style=for-the-badge&labelColor=darkgreen)
Support Me on Boosty @@ -224,7 +224,7 @@ Probably, you need to disable the "SD-CN-Animation" extension (or perhaps some a This error may occur if there's smth wrong with the model file `inswapper_128.onnx` -Try to download it manually from [here](https://github.com/facefusion/facefusion-assets/releases/download/models/inswapper_128.onnx) +Try to download it manually from [here](https://huggingface.co/datasets/Gourieff/ReActor/resolve/main/models/inswapper_128.onnx) and put it to the `stable-diffusion-webui\models\insightface` replacing existing one ### **VI. "ValueError: This ORT build has ['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'CPUExecutionProvider'] enabled" OR "ValueError: This ORT build has ['AzureExecutionProvider', 'CPUExecutionProvider'] enabled"** diff --git a/README_RU.md b/README_RU.md index a470c95..1ef8a6a 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.6.0_beta1-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.6.0-brightgreen?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty @@ -231,7 +231,7 @@ Inpainting также работает, но замена лица происх Эта ошибка появляется, если что-то не так с файлом модели `inswapper_128.onnx`. -Скачайте вручную по ссылке [here](https://github.com/facefusion/facefusion-assets/releases/download/models/inswapper_128.onnx) +Скачайте вручную по ссылке [here](https://huggingface.co/datasets/Gourieff/ReActor/resolve/main/models/inswapper_128.onnx) и сохраните в директорию `stable-diffusion-webui\models\insightface`, заменив имеющийся файл. ### **VI. "ValueError: This ORT build has ['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'CPUExecutionProvider'] enabled" ИЛИ "ValueError: This ORT build has ['AzureExecutionProvider', 'CPUExecutionProvider'] enabled"** diff --git a/install.py b/install.py index fab874b..444a8f6 100644 --- a/install.py +++ b/install.py @@ -35,7 +35,7 @@ models_dir = os.path.join(models_path, "insightface") # except Exception as e: # print(f"OSError: {e}") -model_url = "https://github.com/facefusion/facefusion-assets/releases/download/models/inswapper_128.onnx" +model_url = "https://huggingface.co/datasets/Gourieff/ReActor/resolve/main/models/inswapper_128.onnx" model_name = os.path.basename(model_url) model_path = os.path.join(models_dir, model_name) diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index b46bbde..0e1a852 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.6.0-b1" +version_flag = "v0.6.0" from scripts.reactor_logger import logger, get_Run, set_Run from scripts.reactor_globals import DEVICE From 472c75ee880097209a97168d33ceaba6035eaddc Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Tue, 16 Jan 2024 13:50:20 +0700 Subject: [PATCH 17/35] FIX: API base64 decode error if select_source != 0 Issue #266 +VersionUP (0.6.1 beta1) --- README.md | 2 +- README_RU.md | 2 +- scripts/reactor_api.py | 4 ++-- scripts/reactor_version.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d5882b6..424fe4a 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.6.0-brightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.6.1_beta1-green?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty diff --git a/README_RU.md b/README_RU.md index 1ef8a6a..a2f4e78 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.6.0-brightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.6.1_beta1-green?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty diff --git a/scripts/reactor_api.py b/scripts/reactor_api.py index a982ae1..4d9ce48 100644 --- a/scripts/reactor_api.py +++ b/scripts/reactor_api.py @@ -1,7 +1,7 @@ ''' Thanks SpenserCai for the original version of the roop api script ----------------------------------- ---- ReActor External API v1.0.1 --- +--- ReActor External API v1.0.2 --- ----------------------------------- ''' import os, glob @@ -77,7 +77,7 @@ def reactor_api(_: gr.Blocks, app: FastAPI): face_model: str = Body("None",title="Filename of the face model (from 'models/reactor/faces'), e.g. elena.safetensors"), source_folder: str = Body("",title="The path to the folder containing source faces images") ): - s_image = api.decode_base64_to_image(source_image) + s_image = api.decode_base64_to_image(source_image) if select_source == 0 else None t_image = api.decode_base64_to_image(target_image) sf_index = source_faces_index f_index = face_index diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 0e1a852..b6a089e 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.6.0" +version_flag = "v0.6.1-b1" from scripts.reactor_logger import logger, get_Run, set_Run from scripts.reactor_globals import DEVICE From de43816a3bac3cf07ec91f5d9459b65110611c01 Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Fri, 19 Jan 2024 15:38:08 +0700 Subject: [PATCH 18/35] UPDATE: Random Image from Folder; FIX: save_orig FR: #250 #252 --- README.md | 14 +++++++++-- README_RU.md | 14 +++++++++-- example/api_example.py | 2 ++ example/api_external.curl | 4 +++- example/api_external.json | 4 +++- reactor_ui/reactor_main_ui.py | 44 +++++++++++++++++++++-------------- scripts/reactor_api.py | 8 ++++--- scripts/reactor_faceswap.py | 31 ++++++++++++++++++++---- scripts/reactor_helpers.py | 7 +++++- scripts/reactor_swapper.py | 8 ++++++- scripts/reactor_version.py | 2 +- 11 files changed, 104 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 424fe4a..ea68037 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.6.1_beta1-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.6.1_beta2-green?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty @@ -40,8 +40,18 @@ ## What's new in the latest updates -### 0.6.0 ALPHA1 +### 0.6.1 BETA2 +- 'Save orignal' option works fine now when you select 'Multiple Images' or 'Source Folder' +- Random Mode for 'Source Folder' + +0.6.1-whatsnew-01 + +### 0.6.0 + +- New Logo +- Adaptation to A1111 1.7.0 (appropriate GFPGAN loader) +- New URL for the main model file - UI reworked - You can now load several source images (with reference faces) or set the path to the folder containing faces images diff --git a/README_RU.md b/README_RU.md index a2f4e78..3cbe555 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.6.1_beta1-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.6.1_beta2-green?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty @@ -39,8 +39,18 @@ ## Что нового в последних обновлениях -### 0.6.0 ALPHA1 +### 0.6.1 BETA2 +- Опция 'Save orignal' теперь работает правильно, когда вы выбираете 'Multiple Images' или 'Source Folder' +- Добавлен режим выбора случайного изображения для 'Source Folder' + +0.6.1-whatsnew-01 + +### 0.6.0 + +- Новый логотип +- Адаптация к версии A1111 1.7.0 (правильная загрузка GFPGAN) +- Новая ссылка для файла основной модели - UI переработан - Появилась возможность загружать несколько исходных изображений с лицами или задавать путь к папке, содержащей такие изображения diff --git a/example/api_example.py b/example/api_example.py index 9a0caf0..3c9e3c4 100644 --- a/example/api_example.py +++ b/example/api_example.py @@ -47,6 +47,8 @@ args=[ 1, #22 Select Source, 0 - Image, 1 - Face Model, 2 - Source Folder "elena.safetensors", #23 Filename of the face model (from "models/reactor/faces"), e.g. elena.safetensors, don't forger to set #22 to 1 "C:\PATH_TO_FACES_IMAGES", #24 The path to the folder containing source faces images, don't forger to set #22 to 2 + None, #25 skip it for API + True, #26 Randomly select an image from the path ] # The args for ReActor can be found by diff --git a/example/api_external.curl b/example/api_external.curl index f324f0e..4033d84 100644 --- a/example/api_external.curl +++ b/example/api_external.curl @@ -22,5 +22,7 @@ curl -X POST \ "device": "CUDA", "mask_face": 1, "select_source": 1, - "face_model": "elena.safetensors" + "face_model": "elena.safetensors", + "source_folder": "C:/faces", + "random_image": 1 }' diff --git a/example/api_external.json b/example/api_external.json index c4b32a4..542da69 100644 --- a/example/api_external.json +++ b/example/api_external.json @@ -18,5 +18,7 @@ "device": "CUDA", "mask_face": 1, "select_source": 1, - "face_model": "elena.safetensors" + "face_model": "elena.safetensors", + "source_folder": "C:/faces", + "random_image": 1 } \ No newline at end of file diff --git a/reactor_ui/reactor_main_ui.py b/reactor_ui/reactor_main_ui.py index 5b2b9a2..bbbd248 100644 --- a/reactor_ui/reactor_main_ui.py +++ b/reactor_ui/reactor_main_ui.py @@ -8,7 +8,7 @@ from scripts.reactor_swapper import ( ) from modules import shared -SAVE_ORIGINAL: bool = False +# SAVE_ORIGINAL: bool = False def update_fm_list(selected: str): return gr.Dropdown.update( @@ -18,16 +18,17 @@ def update_fm_list(selected: str): # TAB MAIN def show(is_img2img: bool, show_br: bool = True, **msgs): - def on_select_source(selected: bool, evt: gr.SelectData): - global SAVE_ORIGINAL + # def on_select_source(selected: bool, evt: gr.SelectData): + def on_select_source(evt: gr.SelectData): + # global SAVE_ORIGINAL if evt.index == 2: - if SAVE_ORIGINAL != selected: - SAVE_ORIGINAL = selected + # if SAVE_ORIGINAL != selected: + # SAVE_ORIGINAL = selected return { control_col_1: gr.Column.update(visible=False), control_col_2: gr.Column.update(visible=False), control_col_3: gr.Column.update(visible=True), - save_original: gr.Checkbox.update(value=False,visible=False), + # save_original: gr.Checkbox.update(value=False,visible=False), imgs_hash_clear: gr.Button.update(visible=True) } if evt.index == 0: @@ -35,7 +36,7 @@ def show(is_img2img: bool, show_br: bool = True, **msgs): control_col_1: gr.Column.update(visible=True), control_col_2: gr.Column.update(visible=False), control_col_3: gr.Column.update(visible=False), - save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), + # save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), imgs_hash_clear: gr.Button.update(visible=False) } if evt.index == 1: @@ -43,7 +44,7 @@ def show(is_img2img: bool, show_br: bool = True, **msgs): control_col_1: gr.Column.update(visible=False), control_col_2: gr.Column.update(visible=True), control_col_3: gr.Column.update(visible=False), - save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), + # save_original: gr.Checkbox.update(value=SAVE_ORIGINAL,visible=show_br), imgs_hash_clear: gr.Button.update(visible=False) } @@ -96,23 +97,31 @@ def show(is_img2img: bool, show_br: bool = True, **msgs): ) with gr.Column(visible=False) as control_col_3: gr.Markdown("Clear Hash if you see the previous face was swapped instead of the new one") - source_folder = gr.Textbox( - value="", - placeholder="Paste here the path to the folder containing source faces images", - label=f"Source Folder{msgs['extra_multiple_source']}", - ) + with gr.Row(): + source_folder = gr.Textbox( + value="", + placeholder="Paste here the path to the folder containing source faces images", + label=f"Source Folder{msgs['extra_multiple_source']}", + scale=2, + ) + random_image = gr.Checkbox( + False, + label="Random Image", + info="Randomly select an image from the path", + scale=1, + ) setattr(face_model, "do_not_save_to_config", True) if is_img2img: save_original = gr.Checkbox( False, label="Save Original (Swap in generated only)", - info="Save the original image(s) made before swapping (it always saves Original when you use Multiple Images or Folder)" + info="Save the original image(s) made before swapping" ) else: save_original = gr.Checkbox( False, label="Save Original", - info="Save the original image(s) made before swapping (it always saves Original when you use Multiple Images or Folder)", + info="Save the original image(s) made before swapping", visible=show_br ) # imgs.upload(on_files_upload_uncheck_so,[save_original],[save_original],show_progress=False) @@ -177,6 +186,7 @@ def show(is_img2img: bool, show_br: bool = True, **msgs): label="Swap in generated image", visible=is_img2img, ) - select_source.select(on_select_source,[save_original],[control_col_1,control_col_2,control_col_3,save_original,imgs_hash_clear],show_progress=False) + # select_source.select(on_select_source,[save_original],[control_col_1,control_col_2,control_col_3,save_original,imgs_hash_clear],show_progress=False) + select_source.select(on_select_source,None,[control_col_1,control_col_2,control_col_3,imgs_hash_clear],show_progress=False) - return img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated + return img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated, random_image diff --git a/scripts/reactor_api.py b/scripts/reactor_api.py index 4d9ce48..6e0b69c 100644 --- a/scripts/reactor_api.py +++ b/scripts/reactor_api.py @@ -1,7 +1,7 @@ ''' Thanks SpenserCai for the original version of the roop api script ----------------------------------- ---- ReActor External API v1.0.2 --- +--- ReActor External API v1.0.3 --- ----------------------------------- ''' import os, glob @@ -75,7 +75,8 @@ def reactor_api(_: gr.Blocks, app: FastAPI): mask_face: int = Body(0,title="Face Mask Correction, 1 - True, 0 - False"), select_source: int = Body(0,title="Select Source, 0 - Image, 1 - Face Model, 2 - Source Folder"), face_model: str = Body("None",title="Filename of the face model (from 'models/reactor/faces'), e.g. elena.safetensors"), - source_folder: str = Body("",title="The path to the folder containing source faces images") + source_folder: str = Body("",title="The path to the folder containing source faces images"), + random_image: int = Body(0,title="Randomly select an image from the path") ): s_image = api.decode_base64_to_image(source_image) if select_source == 0 else None t_image = api.decode_base64_to_image(target_image) @@ -85,11 +86,12 @@ def reactor_api(_: gr.Blocks, app: FastAPI): gender_t = gender_target restore_first_bool = True if restore_first == 1 else False mask_face = True if mask_face == 1 else False + random_image = False if random_image == 0 else True up_options = EnhancementOptions(do_restore_first=restore_first_bool, scale=scale, upscaler=get_upscaler(upscaler), upscale_visibility=upscale_visibility,face_restorer=get_face_restorer(face_restorer),restorer_visibility=restorer_visibility,codeformer_weight=codeformer_weight) use_model = get_full_model(model) if use_model is None: Exception("Model not found") - result = swap_face(s_image, t_image, use_model, sf_index, f_index, up_options, gender_s, gender_t, True, True, device, mask_face, select_source, face_model, source_folder, None) + result = swap_face(s_image, t_image, use_model, sf_index, f_index, up_options, gender_s, gender_t, True, True, device, mask_face, select_source, face_model, source_folder, None, random_image) if save_to_file == 1: if result_file_path == "": result_file_path = default_file_path() diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index 1a45fab..61adcf0 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -63,7 +63,7 @@ class FaceSwapScript(scripts.Script): msgs: dict = { "extra_multiple_source": "", } - img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated = ui_main.show(is_img2img=is_img2img, **msgs) + img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated, random_image = ui_main.show(is_img2img=is_img2img, **msgs) # TAB UPSCALE restore_first, upscaler_name, upscaler_scale, upscaler_visibility = ui_upscale.show() @@ -103,6 +103,7 @@ class FaceSwapScript(scripts.Script): face_model, source_folder, imgs, + random_image, ] @@ -161,6 +162,7 @@ class FaceSwapScript(scripts.Script): face_model, source_folder, imgs, + random_image, ): self.enable = enable if self.enable: @@ -195,6 +197,7 @@ class FaceSwapScript(scripts.Script): self.face_model = face_model self.source_folder = source_folder self.source_imgs = imgs + self.random_image = random_image if self.gender_source is None or self.gender_source == "No": self.gender_source = 0 if self.gender_target is None or self.gender_target == "No": @@ -217,9 +220,14 @@ class FaceSwapScript(scripts.Script): self.target_hash_check = False if self.mask_face is None: self.mask_face = False + if self.random_image is None: + self.random_image = False logger.debug("*** Set Device") set_Device(self.device) + + if (self.save_original is None or not self.save_original) and (self.select_source == 2 or self.source_imgs is not None): + p.do_not_save_samples = True if ((self.source is not None or self.source_imgs is not None) and self.select_source == 0) or ((self.face_model is not None and self.face_model != "None") and self.select_source == 1) or ((self.source_folder is not None and self.source_folder != "") and self.select_source == 2): logger.debug("*** Log patch") @@ -247,6 +255,7 @@ class FaceSwapScript(scripts.Script): face_model = self.face_model, source_folder = None, source_imgs = None, + random_image = False, ) p.init_images[i] = result # result_path = get_image_path(p.init_images[i], p.outpath_samples, "", p.all_seeds[i], p.all_prompts[i], "txt", p=p, suffix="-swapped") @@ -311,17 +320,23 @@ class FaceSwapScript(scripts.Script): face_model = self.face_model, source_folder = self.source_folder, source_imgs = self.source_imgs, + random_image = self.random_image, ) if self.select_source == 2 or (self.select_source == 0 and self.source_imgs is not None and self.source is None): if len(result) > 0 and swapped > 0: - result_images.extend(result) + # result_images.extend(result) + if self.save_original: + result_images.extend(result) + else: + result_images = result suffix = "-swapped" for i,x in enumerate(result): try: - img_path = save_image(result[i], p.outpath_samples, "", p.all_seeds[0], p.all_prompts[0], "png",info=info, p=p, suffix=suffix) + img_path = save_image(result[i], p.outpath_samples, "", p.all_seeds[0], p.all_prompts[0], "png", info=info, p=p, suffix=suffix) except: logger.error("Cannot save a result image - please, check SD WebUI Settings (Saving and Paths)") + elif len(result) == 0: logger.error("Cannot create a result image") @@ -330,7 +345,7 @@ class FaceSwapScript(scripts.Script): result_images.append(result) suffix = "-swapped" try: - img_path = save_image(result, p.outpath_samples, "", p.all_seeds[0], p.all_prompts[0], "png",info=info, p=p, suffix=suffix) + img_path = save_image(result, p.outpath_samples, "", p.all_seeds[0], p.all_prompts[0], "png", info=info, p=p, suffix=suffix) except: logger.error("Cannot save a result image - please, check SD WebUI Settings (Saving and Paths)") elif result is None: @@ -390,6 +405,7 @@ class FaceSwapScript(scripts.Script): face_model = self.face_model, source_folder = None, source_imgs = None, + random_image = False, ) try: pp = scripts_postprocessing.PostprocessedImage(result) @@ -425,7 +441,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): msgs: dict = { "extra_multiple_source": " | Сomparison grid as a result", } - img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated = ui_main.show(is_img2img=False, show_br=False, **msgs) + img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated, random_image = ui_main.show(is_img2img=False, show_br=False, **msgs) # TAB UPSCALE restore_first, upscaler_name, upscaler_scale, upscaler_visibility = ui_upscale.show(show_br=False) @@ -460,6 +476,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): 'face_model': face_model, 'source_folder': source_folder, 'imgs': imgs, + 'random_image': random_image, } return args @@ -514,6 +531,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): self.face_model = args['face_model'] self.source_folder = args['source_folder'] self.source_imgs = args['imgs'] + self.random_image = args['random_image'] if self.gender_source is None or self.gender_source == "No": self.gender_source = 0 if self.gender_target is None or self.gender_target == "No": @@ -530,6 +548,8 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): self.faces_index = [0] if self.mask_face is None: self.mask_face = False + if self.random_image is None: + self.random_image = False current_job_number = shared.state.job_no + 1 job_count = shared.state.job_count @@ -565,6 +585,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): face_model=self.face_model, source_folder=self.source_folder, source_imgs=self.source_imgs, + random_image=self.random_image, ) if self.select_source == 2 or (self.select_source == 0 and self.source_imgs is not None and self.source is None): if len(result) > 0 and swapped > 0: diff --git a/scripts/reactor_helpers.py b/scripts/reactor_helpers.py index 0290425..c3384bd 100644 --- a/scripts/reactor_helpers.py +++ b/scripts/reactor_helpers.py @@ -1,4 +1,4 @@ -import os, glob +import os, glob, random from collections import Counter from PIL import Image from math import isqrt, ceil @@ -213,5 +213,10 @@ def get_images_from_folder(path: str): images = glob.glob(images_path) return [Image.open(x) for x in images if x.endswith(('jpg', 'png', 'jpeg', 'webp', 'bmp'))] +def get_random_image_from_folder(path: str): + images = get_images_from_folder(path) + random_image_index = random.randint(0, len(images) - 1) + return [images[random_image_index]] + def get_images_from_list(imgs: List): return [Image.open(os.path.abspath(x.name)) for x in imgs] diff --git a/scripts/reactor_swapper.py b/scripts/reactor_swapper.py index c92cae4..6d771ee 100644 --- a/scripts/reactor_swapper.py +++ b/scripts/reactor_swapper.py @@ -17,6 +17,7 @@ from scripts.reactor_helpers import ( save_face_model, load_face_model, get_images_from_folder, + get_random_image_from_folder, get_images_from_list, set_SDNEXT ) @@ -335,6 +336,7 @@ def swap_face( face_model: str = "None", source_folder: str = "", source_imgs: Union[List, None] = None, + random_image: bool = False, ): global SOURCE_FACES, SOURCE_IMAGE_HASH, TARGET_FACES, TARGET_IMAGE_HASH, PROVIDERS, SOURCE_FACES_LIST, SOURCE_IMAGE_LIST_HASH @@ -376,7 +378,11 @@ def swap_face( result = [] - source_images = get_images_from_folder(source_folder) if select_source == 2 else get_images_from_list(source_imgs) + if random_image and select_source == 2: + source_images = get_random_image_from_folder(source_folder) + logger.status("Processing with Random Image from the folder") + else: + source_images = get_images_from_folder(source_folder) if select_source == 2 else get_images_from_list(source_imgs) if len(source_images) > 0: source_img_ff = [] diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index b6a089e..e119b0b 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.6.1-b1" +version_flag = "v0.6.1-b2" from scripts.reactor_logger import logger, get_Run, set_Run from scripts.reactor_globals import DEVICE From c5ecf9a1940b3cb693e6423af8a11fa5bff348bd Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Fri, 19 Jan 2024 15:39:42 +0700 Subject: [PATCH 19/35] FIX: typo --- README.md | 2 +- README_RU.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ea68037..c9ba481 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ ### 0.6.1 BETA2 -- 'Save orignal' option works fine now when you select 'Multiple Images' or 'Source Folder' +- 'Save original' option works fine now when you select 'Multiple Images' or 'Source Folder' - Random Mode for 'Source Folder' 0.6.1-whatsnew-01 diff --git a/README_RU.md b/README_RU.md index 3cbe555..6154eb2 100644 --- a/README_RU.md +++ b/README_RU.md @@ -41,7 +41,7 @@ ### 0.6.1 BETA2 -- Опция 'Save orignal' теперь работает правильно, когда вы выбираете 'Multiple Images' или 'Source Folder' +- Опция 'Save original' теперь работает правильно, когда вы выбираете 'Multiple Images' или 'Source Folder' - Добавлен режим выбора случайного изображения для 'Source Folder' 0.6.1-whatsnew-01 From c745fa2911d1d75c75a1490f7c1e4fc61bc6467f Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Fri, 2 Feb 2024 17:26:57 +0700 Subject: [PATCH 20/35] UPDATE: Force Upscale even if no face FR #116 --- README.md | 6 +++++- README_RU.md | 6 +++++- example/api_example.py | 1 + example/api_external.curl | 3 ++- example/api_external.json | 3 ++- reactor_ui/reactor_upscale_ui.py | 20 ++++++++++++++------ scripts/reactor_api.py | 8 +++++--- scripts/reactor_faceswap.py | 17 ++++++++++++++--- scripts/reactor_swapper.py | 3 ++- scripts/reactor_version.py | 2 +- 10 files changed, 51 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index c9ba481..672e137 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.6.1_beta2-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.6.1_beta3-green?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty @@ -40,6 +40,10 @@ ## What's new in the latest updates +### 0.6.1 BETA3 + +- 'Force Upscale' option inside the 'Upscale' tab: ReActor will run the Upscaler even if there's no face is detected (FR https://github.com/Gourieff/sd-webui-reactor/issues/116) + ### 0.6.1 BETA2 - 'Save original' option works fine now when you select 'Multiple Images' or 'Source Folder' diff --git a/README_RU.md b/README_RU.md index 6154eb2..f595cc6 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.6.1_beta2-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.6.1_beta3-green?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty @@ -39,6 +39,10 @@ ## Что нового в последних обновлениях +### 0.6.1 BETA3 + +- Опция 'Force Upscale' внутри вкладки 'Upscale': апскейл выполнится, даже если не было обнаружено ни одного лица (FR https://github.com/Gourieff/sd-webui-reactor/issues/116) + ### 0.6.1 BETA2 - Опция 'Save original' теперь работает правильно, когда вы выбираете 'Multiple Images' или 'Source Folder' diff --git a/example/api_example.py b/example/api_example.py index 3c9e3c4..f683ee5 100644 --- a/example/api_example.py +++ b/example/api_example.py @@ -49,6 +49,7 @@ args=[ "C:\PATH_TO_FACES_IMAGES", #24 The path to the folder containing source faces images, don't forger to set #22 to 2 None, #25 skip it for API True, #26 Randomly select an image from the path + True, #27 Force Upscale even if no face found ] # The args for ReActor can be found by diff --git a/example/api_external.curl b/example/api_external.curl index 4033d84..4c096e7 100644 --- a/example/api_external.curl +++ b/example/api_external.curl @@ -24,5 +24,6 @@ curl -X POST \ "select_source": 1, "face_model": "elena.safetensors", "source_folder": "C:/faces", - "random_image": 1 + "random_image": 1, + "upscale_force": 1 }' diff --git a/example/api_external.json b/example/api_external.json index 542da69..d483c4f 100644 --- a/example/api_external.json +++ b/example/api_external.json @@ -20,5 +20,6 @@ "select_source": 1, "face_model": "elena.safetensors", "source_folder": "C:/faces", - "random_image": 1 + "random_image": 1, + "upscale_force": 1 } \ No newline at end of file diff --git a/reactor_ui/reactor_upscale_ui.py b/reactor_ui/reactor_upscale_ui.py index 71216a4..f5256d8 100644 --- a/reactor_ui/reactor_upscale_ui.py +++ b/reactor_ui/reactor_upscale_ui.py @@ -9,11 +9,19 @@ def update_upscalers_list(selected: str): # TAB UPSCALE def show(show_br: bool = True): with gr.Tab("Upscale"): - restore_first = gr.Checkbox( - True, - label="1. Restore Face -> 2. Upscale (-Uncheck- if you want vice versa)", - info="Postprocessing Order" - ) + with gr.Row(): + restore_first = gr.Checkbox( + True, + label="1. Restore Face -> 2. Upscale (-Uncheck- if you want vice versa)", + info="Postprocessing Order", + scale=2 + ) + upscale_force = gr.Checkbox( + False, + label="Force Upscale", + info="Upscale anyway - even if no face found", + scale=1 + ) with gr.Row(): upscaler_name = gr.Dropdown( choices=[upscaler.name for upscaler in shared.sd_upscalers], @@ -36,4 +44,4 @@ def show(show_br: bool = True): upscaler_visibility = gr.Slider( 0, 1, 1, step=0.1, label="Upscaler Visibility (if scale = 1)" ) - return restore_first, upscaler_name, upscaler_scale, upscaler_visibility \ No newline at end of file + return restore_first, upscaler_name, upscaler_scale, upscaler_visibility, upscale_force diff --git a/scripts/reactor_api.py b/scripts/reactor_api.py index 6e0b69c..c38ad13 100644 --- a/scripts/reactor_api.py +++ b/scripts/reactor_api.py @@ -1,7 +1,7 @@ ''' Thanks SpenserCai for the original version of the roop api script ----------------------------------- ---- ReActor External API v1.0.3 --- +--- ReActor External API v1.0.4 --- ----------------------------------- ''' import os, glob @@ -76,7 +76,8 @@ def reactor_api(_: gr.Blocks, app: FastAPI): select_source: int = Body(0,title="Select Source, 0 - Image, 1 - Face Model, 2 - Source Folder"), face_model: str = Body("None",title="Filename of the face model (from 'models/reactor/faces'), e.g. elena.safetensors"), source_folder: str = Body("",title="The path to the folder containing source faces images"), - random_image: int = Body(0,title="Randomly select an image from the path") + random_image: int = Body(0,title="Randomly select an image from the path"), + upscale_force: int = Body(0,title="Force Upscale even if no face found") ): s_image = api.decode_base64_to_image(source_image) if select_source == 0 else None t_image = api.decode_base64_to_image(target_image) @@ -87,7 +88,8 @@ def reactor_api(_: gr.Blocks, app: FastAPI): restore_first_bool = True if restore_first == 1 else False mask_face = True if mask_face == 1 else False random_image = False if random_image == 0 else True - up_options = EnhancementOptions(do_restore_first=restore_first_bool, scale=scale, upscaler=get_upscaler(upscaler), upscale_visibility=upscale_visibility,face_restorer=get_face_restorer(face_restorer),restorer_visibility=restorer_visibility,codeformer_weight=codeformer_weight) + upscale_force = False if upscale_force == 0 else True + up_options = EnhancementOptions(do_restore_first=restore_first_bool, scale=scale, upscaler=get_upscaler(upscaler), upscale_visibility=upscale_visibility,face_restorer=get_face_restorer(face_restorer),restorer_visibility=restorer_visibility,codeformer_weight=codeformer_weight,upscale_force=upscale_force) use_model = get_full_model(model) if use_model is None: Exception("Model not found") diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index 61adcf0..cb4b9dd 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -66,7 +66,7 @@ class FaceSwapScript(scripts.Script): img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated, random_image = ui_main.show(is_img2img=is_img2img, **msgs) # TAB UPSCALE - restore_first, upscaler_name, upscaler_scale, upscaler_visibility = ui_upscale.show() + restore_first, upscaler_name, upscaler_scale, upscaler_visibility, upscale_force = ui_upscale.show() # TAB TOOLS ui_tools.show() @@ -104,6 +104,7 @@ class FaceSwapScript(scripts.Script): source_folder, imgs, random_image, + upscale_force ] @@ -124,13 +125,14 @@ class FaceSwapScript(scripts.Script): @property def enhancement_options(self) -> EnhancementOptions: return EnhancementOptions( - do_restore_first = self.restore_first, + do_restore_first=self.restore_first, scale=self.upscaler_scale, upscaler=self.upscaler, face_restorer=self.face_restorer, upscale_visibility=self.upscaler_visibility, restorer_visibility=self.face_restorer_visibility, codeformer_weight=self.codeformer_weight, + upscale_force=self.upscale_force ) def process( @@ -163,6 +165,7 @@ class FaceSwapScript(scripts.Script): source_folder, imgs, random_image, + upscale_force, ): self.enable = enable if self.enable: @@ -198,6 +201,7 @@ class FaceSwapScript(scripts.Script): self.source_folder = source_folder self.source_imgs = imgs self.random_image = random_image + self.upscale_force = upscale_force if self.gender_source is None or self.gender_source == "No": self.gender_source = 0 if self.gender_target is None or self.gender_target == "No": @@ -222,6 +226,8 @@ class FaceSwapScript(scripts.Script): self.mask_face = False if self.random_image is None: self.random_image = False + if self.upscale_force is None: + self.upscale_force = False logger.debug("*** Set Device") set_Device(self.device) @@ -444,7 +450,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated, random_image = ui_main.show(is_img2img=False, show_br=False, **msgs) # TAB UPSCALE - restore_first, upscaler_name, upscaler_scale, upscaler_visibility = ui_upscale.show(show_br=False) + restore_first, upscaler_name, upscaler_scale, upscaler_visibility, upscale_force = ui_upscale.show(show_br=False) # TAB TOOLS ui_tools.show() @@ -477,6 +483,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): 'source_folder': source_folder, 'imgs': imgs, 'random_image': random_image, + 'upscale_force': upscale_force, } return args @@ -504,6 +511,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): upscale_visibility=self.upscaler_visibility, restorer_visibility=self.face_restorer_visibility, codeformer_weight=self.codeformer_weight, + upscale_force=self.upscale_force, ) def process(self, pp: scripts_postprocessing.PostprocessedImage, **args): @@ -532,6 +540,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): self.source_folder = args['source_folder'] self.source_imgs = args['imgs'] self.random_image = args['random_image'] + self.upscale_force = args['upscale_force'] if self.gender_source is None or self.gender_source == "No": self.gender_source = 0 if self.gender_target is None or self.gender_target == "No": @@ -550,6 +559,8 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): self.mask_face = False if self.random_image is None: self.random_image = False + if self.upscale_force is None: + self.upscale_force = False current_job_number = shared.state.job_no + 1 job_count = shared.state.job_count diff --git a/scripts/reactor_swapper.py b/scripts/reactor_swapper.py index 6d771ee..9a9641f 100644 --- a/scripts/reactor_swapper.py +++ b/scripts/reactor_swapper.py @@ -64,6 +64,7 @@ class EnhancementOptions: face_restorer: FaceRestoration = None restorer_visibility: float = 0.5 codeformer_weight: float = 0.5 + upscale_force: bool = False MESSAGED_STOPPED = False @@ -713,7 +714,7 @@ def operate( result_image = Image.fromarray(cv2.cvtColor(result, cv2.COLOR_BGR2RGB)) - if enhancement_options is not None and swapped > 0: + if (enhancement_options is not None and swapped > 0) or enhancement_options.upscale_force: if mask_face and entire_mask_image is not None: result_image = enhance_image_and_mask(result_image, enhancement_options,Image.fromarray(target_img_orig),Image.fromarray(entire_mask_image).convert("L")) else: diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index e119b0b..0728bcd 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.6.1-b2" +version_flag = "v0.6.1-b3" from scripts.reactor_logger import logger, get_Run, set_Run from scripts.reactor_globals import DEVICE From a93e04ea132bca2f223a3494e653cc2a7ba436eb Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Sat, 3 Feb 2024 01:01:08 +0700 Subject: [PATCH 21/35] UPDATE: Filenames w/ Multiple or Random; FIX: #342 FR #332 Issue #342 --- README.md | 1 + README_RU.md | 1 + scripts/reactor_faceswap.py | 29 +++++++++++++++++++++++++++-- scripts/reactor_helpers.py | 25 +++++++++++++++++++------ scripts/reactor_swapper.py | 12 ++++++------ 5 files changed, 54 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 672e137..0ac86bd 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ ### 0.6.1 BETA3 - 'Force Upscale' option inside the 'Upscale' tab: ReActor will run the Upscaler even if there's no face is detected (FR https://github.com/Gourieff/sd-webui-reactor/issues/116) +- ReActor shows filenames of source images in-process when the multiple images mode or the folder mode (random as well) is selected ### 0.6.1 BETA2 diff --git a/README_RU.md b/README_RU.md index f595cc6..36cef74 100644 --- a/README_RU.md +++ b/README_RU.md @@ -42,6 +42,7 @@ ### 0.6.1 BETA3 - Опция 'Force Upscale' внутри вкладки 'Upscale': апскейл выполнится, даже если не было обнаружено ни одного лица (FR https://github.com/Gourieff/sd-webui-reactor/issues/116) +- Отображение имён файлов используемых изображений, когда выбрано несколько изображений или папка (а также режим случайного изображения) ### 0.6.1 BETA2 diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index cb4b9dd..604884a 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -238,7 +238,11 @@ class FaceSwapScript(scripts.Script): if ((self.source is not None or self.source_imgs is not None) and self.select_source == 0) or ((self.face_model is not None and self.face_model != "None") and self.select_source == 1) or ((self.source_folder is not None and self.source_folder != "") and self.select_source == 2): logger.debug("*** Log patch") apply_logging_patch(console_logging_level) + if isinstance(p, StableDiffusionProcessingImg2Img) and self.swap_in_source: + + logger.debug("*** Check process") + logger.status("Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) for i in range(len(p.init_images)): @@ -279,7 +283,7 @@ class FaceSwapScript(scripts.Script): def postprocess(self, p: StableDiffusionProcessing, processed: Processed, *args): if self.enable: - logger.debug("*** Check postprocess") + logger.debug("*** Check postprocess - before IF") reset_messaged() if check_process_halt(): @@ -287,6 +291,8 @@ class FaceSwapScript(scripts.Script): if self.save_original or ((self.select_source == 2 and self.source_folder is not None and self.source_folder != "") or (self.select_source == 0 and self.source_imgs is not None and self.source is None)): + logger.debug("*** Check postprocess - after IF") + postprocess_run: bool = True orig_images : List[Image.Image] = processed.images[processed.index_of_first_image:] @@ -373,6 +379,21 @@ class FaceSwapScript(scripts.Script): processed.images = result_images # processed.infotexts = result_info + + elif self.select_source == 0 and self.source is not None and self.source_imgs is not None: + + logger.debug("*** Check postprocess - after ELIF") + + if self.result is not None: + orig_infotexts : List[str] = processed.infotexts[processed.index_of_first_image:] + processed.images = [self.result] + try: + img_path = save_image(self.result, p.outpath_samples, "", p.all_seeds[0], p.all_prompts[0], "png", info=orig_infotexts[0], p=p, suffix="") + except: + logger.error("Cannot save a result image - please, check SD WebUI Settings (Saving and Paths)") + else: + logger.error("Cannot create a result image") + def postprocess_batch(self, p, *args, **kwargs): if self.enable and not self.save_original: @@ -392,7 +413,7 @@ class FaceSwapScript(scripts.Script): return # if (self.source is not None and self.select_source == 0) or ((self.face_model is not None and self.face_model != "None") and self.select_source == 1): - logger.status("Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) + logger.status("! Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) image: Image.Image = script_pp.image result, output, swapped = swap_face( self.source, @@ -413,6 +434,7 @@ class FaceSwapScript(scripts.Script): source_imgs = None, random_image = False, ) + self.result = result try: pp = scripts_postprocessing.PostprocessedImage(result) pp.info = {} @@ -575,6 +597,9 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): logger.debug("We're here: process() 2") + if self.source is not None and self.select_source == 0: + self.source_imgs = None + apply_logging_patch(self.console_logging_level) logger.status("Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) # if self.select_source != 2: diff --git a/scripts/reactor_helpers.py b/scripts/reactor_helpers.py index c3384bd..6c31dfe 100644 --- a/scripts/reactor_helpers.py +++ b/scripts/reactor_helpers.py @@ -209,14 +209,27 @@ def get_model_names(get_models): return names def get_images_from_folder(path: str): - images_path = os.path.join(path, "*") - images = glob.glob(images_path) - return [Image.open(x) for x in images if x.endswith(('jpg', 'png', 'jpeg', 'webp', 'bmp'))] + files_path = os.path.join(path, "*") + files = glob.glob(files_path) + images = [] + images_names = [] + for x in files: + if x.endswith(('jpg', 'png', 'jpeg', 'webp', 'bmp')): + images.append(Image.open(x)) + images_names.append(os.path.basename(x)) + return images,images_names + # return [Image.open(x) for x in images if x.endswith(('jpg', 'png', 'jpeg', 'webp', 'bmp'))],[os.path.basename(x) for x in images if x.endswith(('jpg', 'png', 'jpeg', 'webp', 'bmp'))] def get_random_image_from_folder(path: str): - images = get_images_from_folder(path) + images,names = get_images_from_folder(path) random_image_index = random.randint(0, len(images) - 1) - return [images[random_image_index]] + return [images[random_image_index]],[names[random_image_index]] def get_images_from_list(imgs: List): - return [Image.open(os.path.abspath(x.name)) for x in imgs] + images = [] + images_names = [] + for x in imgs: + images.append(Image.open(os.path.abspath(x.name))) + images_names.append(os.path.basename(x.name)) + return images,images_names + # return [Image.open(os.path.abspath(x.name)) for x in imgs],[os.path.basename(x.name) for x in imgs] diff --git a/scripts/reactor_swapper.py b/scripts/reactor_swapper.py index 9a9641f..6d34648 100644 --- a/scripts/reactor_swapper.py +++ b/scripts/reactor_swapper.py @@ -380,10 +380,10 @@ def swap_face( result = [] if random_image and select_source == 2: - source_images = get_random_image_from_folder(source_folder) - logger.status("Processing with Random Image from the folder") + source_images,source_images_names = get_random_image_from_folder(source_folder) + logger.status(f"Processing with Random Image from the folder: {source_images_names[0]}") else: - source_images = get_images_from_folder(source_folder) if select_source == 2 else get_images_from_list(source_imgs) + source_images,source_images_names = get_images_from_folder(source_folder) if select_source == 2 else get_images_from_list(source_imgs) if len(source_images) > 0: source_img_ff = [] @@ -412,15 +412,15 @@ def swap_face( logger.info("(Image %s) Source Image the Same? %s", i, source_image_same) if len(SOURCE_FACES_LIST) == 0: - logger.status(f"Analyzing Source Image {i}...") + logger.status(f"Analyzing Source Image {i}: {source_images_names[i]}...") source_faces = analyze_faces(source_image) SOURCE_FACES_LIST = [source_faces] elif len(SOURCE_FACES_LIST) == i and not source_image_same: - logger.status(f"Analyzing Source Image {i}...") + logger.status(f"Analyzing Source Image {i}: {source_images_names[i]}...") source_faces = analyze_faces(source_image) SOURCE_FACES_LIST.append(source_faces) elif len(SOURCE_FACES_LIST) != i and not source_image_same: - logger.status(f"Analyzing Source Image {i}...") + logger.status(f"Analyzing Source Image {i}: {source_images_names[i]}...") source_faces = analyze_faces(source_image) SOURCE_FACES_LIST[i] = source_faces elif source_image_same: From 4a7a367ea1a5ea7a7215269bf1c251ae30e40eb1 Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Sat, 3 Feb 2024 15:25:08 +0700 Subject: [PATCH 22/35] VersionUP (0.6.1, beta passed) --- README.md | 2 +- README_RU.md | 2 +- scripts/reactor_version.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0ac86bd..4f8bdc2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.6.1_beta3-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.6.1-brightgreen?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty diff --git a/README_RU.md b/README_RU.md index 36cef74..2204dd6 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.6.1_beta3-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.6.1-brightgreen-green?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 0728bcd..ec858c1 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.6.1-b3" +version_flag = "v0.6.1" from scripts.reactor_logger import logger, get_Run, set_Run from scripts.reactor_globals import DEVICE From 96d7a0629196f6c554e0a7803bb5e1e4acce9318 Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Sun, 11 Feb 2024 19:52:01 +0700 Subject: [PATCH 23/35] UPDATE: Blended Faces, CU12, Detection Tab +VersionUP (0.7.0 alpha1) FR #143 #255 (partly) #280 (partly) #352 Issue #319 --- README.md | 11 +- README_RU.md | 11 +- example/api_example.py | 2 + ...nsightface-0.7.3-cp310-cp310-win_amd64.whl | Bin 841704 -> 0 bytes install.py | 11 +- reactor_ui/__init__.py | 1 + reactor_ui/reactor_detection_ui.py | 54 +++++++ reactor_ui/reactor_tools_ui.py | 72 ++++++--- scripts/reactor_api.py | 11 +- scripts/reactor_faceswap.py | 59 +++++-- scripts/reactor_swapper.py | 147 ++++++++++++++---- scripts/reactor_version.py | 2 +- 12 files changed, 314 insertions(+), 67 deletions(-) delete mode 100644 example/insightface-0.7.3-cp310-cp310-win_amd64.whl create mode 100644 reactor_ui/reactor_detection_ui.py diff --git a/README.md b/README.md index 4f8bdc2..63ddfef 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.6.1-brightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.7.0_alpha1-lightgreen?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty @@ -40,6 +40,15 @@ ## What's new in the latest updates +### 0.7.0 ALPHA1 + +- You can now blend faces to build blended face models ("Tools->Face Models->Blend") - due to popular demand + +0.7.0-whatsnew-010.7.0-whatsnew-02 + +- CUDA 12 Support in the Installer script for 1.17.0 ORT-GPU library +- New tab "Detection" with "Threshold" and "Max Faces" parameters + ### 0.6.1 BETA3 - 'Force Upscale' option inside the 'Upscale' tab: ReActor will run the Upscaler even if there's no face is detected (FR https://github.com/Gourieff/sd-webui-reactor/issues/116) diff --git a/README_RU.md b/README_RU.md index 2204dd6..ab50a72 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.6.1-brightgreen-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.7.0_alpha1-lightgreen?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty @@ -39,6 +39,15 @@ ## Что нового в последних обновлениях +### 0.7.0 ALPHA1 + +- По многочисленным просьбам появилась возможность строить смешанные модели лиц ("Tools->Face Models->Blend") + +0.7.0-whatsnew-010.7.0-whatsnew-02 + +- Поддержка CUDA 12 в скрипте установщика для библиотеки ORT-GPU версии 1.17.0 +- Новая вкладка "Detection" с параметрами "Threshold" и "Max Faces" + ### 0.6.1 BETA3 - Опция 'Force Upscale' внутри вкладки 'Upscale': апскейл выполнится, даже если не было обнаружено ни одного лица (FR https://github.com/Gourieff/sd-webui-reactor/issues/116) diff --git a/example/api_example.py b/example/api_example.py index f683ee5..d3bc64a 100644 --- a/example/api_example.py +++ b/example/api_example.py @@ -50,6 +50,8 @@ args=[ None, #25 skip it for API True, #26 Randomly select an image from the path True, #27 Force Upscale even if no face found + 0.6, #28 Face Detection Threshold + 2, #29 Maximum number of faces to detect (0 is unlimited) ] # The args for ReActor can be found by diff --git a/example/insightface-0.7.3-cp310-cp310-win_amd64.whl b/example/insightface-0.7.3-cp310-cp310-win_amd64.whl deleted file mode 100644 index 4f71ef2ff2ea1ce366b3e3083b510b099882e0b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 841704 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

|WwEb((U%4h*!$g9V`G4fj z{DC2B`-ch=^k5WTp=18g1;0?+V_Uz$`t@HVgApFUWV;O;iGUoZIn7c0U>- z$uJBg3Xp<>p!WfRbkdh~em<(gwxaC6MDIh~xn$klysdUq=FKJ^Gwd6q`)+C3zO*e< zXOFsWCwGbOk4=dBtX01-Jn7!A0-=%{KsGfeXB%NJN-pI;-3jL{Z%jg(qgpor`S+Cp zN$rjD9c?&BjwyS&+wj(d>*)S&hnT-G1agj3uOc(EFEcskiK2{Pw3#v+AtD%iZyvy_ z+Qj~HV}lkAMjk<$FTcb?GH^m}$%M|4miE4~ly)+W@PW)OKKny#a|MxIZBT&;k>PIu z3hl<;7_e#6lTVlY+e3Z(HJfd8Q;G6{CjucFGvjQxc~GdM1?o6`rwO?$Z3+5y11LV1 z(vRPAw$8b=Up^3r_MY~So1L(s7M%y(n=I2wRo#}}PXJ)^3*yQq5quvmq1kGa&}joerp*d{SA22Sbu9K6y&v(ZiL*+Xl$`k}w> z{%dc6H<^5s@Me2zt5T8wMO8#B2x4X*U6VnE-DHu5S{GH zpJ;qjF+eK&8f$+2cgj)ip%(Nbwvg@sQ5jCUGr0HBNgscal1}mWlppQUPWz=#R|!zb zg#T)1hMKZ&I(HxRnU5$q{p$-@t)Kj5yY)BzohxZ`%h4AnQM-@GarH|NPjl|o?fJVX zYxMAK?BI0Yvi02{c4g$GzH|fjtDFam+5JpxUOV$Bi~4eWCHNURN-ls*Nv~-dJMC`@tpO4?eggMbMP}J(A|QYyC-J7rI_MBep?GuMp~t52CZK7qS$)Zk_zk z+W!zK^^{jZkKu{j2d%5?CzaZzb_R%LQ;#cy=GAkD*Cc{u-VX>Q?GM@g>g|iZ)^6;X zO^w!#n?c^m4Hs9R3(ZfI#S*~*U_FC=^%tuyFW&hmKlR%g)Ver|w^UwO-vHq2Q+e(; zcRDlsPAc}j?Ju)<8vsk9KHF}iQ=~5gaOK6oRu+6ID))Gv$zQnZ{t(^mvo`cehp3)gJU*J49D%- zCkDTql@5VmNZ|&p90Ztc&&Inv^Xc7HGVYz3Wxhuxfg{N>hqY5gyqEsR7RVMSn`tGM z^0M9-nA%b^Wo|wPs%sA#*Lu0bfSIcH!hIP9Lmmj2i?h89x@gUZq)=vRlF9uBqLtv% zqYw4oF6T=>kbSq;ULz2iN1$GgIJNuS_uJkfAq*T>LS_NOng@+0O;3JL06k!)&Ea5# znd}+S{42AjHG`eoRI5Ww-5rbgv6!r7gmS{TfvP2 zxSY{fbyL=}T1|6!W@d&K3=j=;W0IOmp!m~w7?%6ee4av zY3UgrlIDjt zvUzNOT!BXBcEzPjmFOcgL0!4+K`WukAl~apt;LUKwuBEF74T3g+XQKxh_9{bR#*lr9RenbIBAst3SJoV2_V*YV})fWK-vc#HM+bko(#3 z-{FxtZ$PoeDHGjhCHC)kFP-ZU)Wi_Dwdu8QX?LVuz|9k!6*X$^i^#t_g>J0$P z6XDmrXL6wOn}>7O2SL@688f(H@A6iL)E*WV}rU1{^=XB(&ueGzCI!@U2O|*Al&th*bGW|4VQbD)Gz;!&b`G! z)svI1+y|Dqk^5+J_xeW1yK$UlK_0<}H+-Stj)#X*s%sTyR1*3yh;2W6b4+`Or0n~1 z*}0g%rtex6&>EF&V2eiw)I<1-W*YKf_#OGJ1fo3f9CMNfSDOywVTJSg7l(W1K3bxe z?_xRl?7X}U;J=qq8vBadj?p1*SFk=ovN(lI&=RJwbNDPOODBKnie4w8 zCgq<=6Te`fBS;u0778unm95Mr6u(qoM5G#}iEE?pzH~e+qmyo+qmRSD2%F4d19){E zJTkVv(?u-y`YCbT;lrXf4uKAH7K2)hVxs|7p)f8IcioCFLD|qP&qHqd= zBUrVseDC)}3<5xff zWv$zKJW_s;msW!hf@a}MW?|m_onIV6zJj`#E9->66=I!o#-(N(PPqUz1H;SrtlwJD zx9;(a>Zf~xvIB-UNp|Ato6@QFRn=yLXHhfDR?FNVA`;^!-WREr+-@OP@(X2l+G(b{ z+*t7b)XnK9)yMbhw3-u?s4Pj?jjVtRnQ+QCYsu8LY(&>NT6_E zLlTUy)X>^)8#fIT-|=#d#Qj1Ap&vhX-Bzt|J|eAEG1(gLjo7*>)ASsFA}1eB6*V*) zdw@|-7~A&jm&FUKPHx{`A_J2|u#8jal+YY#(v>BjVpk=dQ(?pMxKKhM`Kvp$;abtj zY4*90q_z(=k`l@iJRpWC?q^9sV5RST=kq5P-!$*i917kKwGCoP3rg{bGb69dLkz>+ zefe_oYgEMQ+I28*=aNgwyBo(x#-&Xiin#QdcKZs!dlX zQAU@2thOGoZXV>xX8VRraZJFBEtsS?@c-Ki>N@?D zTdC}i{7f+E`76~@RJW)(Pz%g6$-b+Ox>xkIaNr81Al2PIAJ_{W?(TiMlNM=ppzW5) zPn-BbwI(e#9x$dawiBvK-)37^WW^>QR>ZOiSe}?SlN)T!-B#;xJiW&f{z24iXuR1+ z??KqxxJadcCr?H>PhH*K_{0*D#o8%Be>aa>kmP*H7wA~u`kHg z6Qe{ai^zrp(NF}VsZ<1w!8?`E5BTdVOPo|RZ&k0FUsxlgN0hOMvLaH5TWhKoUeu4~Rk512Z6>^k(^(LCaf)PZ~^!Ua`3WDyoq-L0C|ouct>2n#+3? zUiyl^7bj7Ktj6;918OmN5WAGGU23SAKKpoEH(fp=ZDIrH7Ue*nq&3v-iM+bR%ioqt zL3k5ZRyKfGvl#q&r1n9El>V2Zp!w#AmF$mo@rkIxf2iG|>O>PV3)ieqBGj%vus9a* zH~_2>j9a0KlK#J%%SY4ws*CTx1BvliK5l%G=0+2Yb8`0Dh!61oY26?3paW8l6%5=! zO3FHUVm>A8VS2+dWu~hhxBlMl&&>Aig)i-ormIzPT-`e$obp~sqKa+cP*KKmf(A?8 z(2(K*sqY?q^o*tV+DScFk$C5K(u}`ug=7d!Hr5WRS=$@Fo7g6i%0upzHluNPOD<{! z=wtcUo2*cgf)Xi9$~-_$BdVXxx#@;~_~x8X`QJMKF0BWT-6`{b%`XewV!|VM@9W;j zN1(&eacI4ZWw8((g6dW$8mm+L@V%z*y6-btzI)4aT4!8VQ};+OR;=48x$rGqt-pNz z;+-BkK?ZJ?P0h`LnsmGifc1a&-qUvZTE)(gBJN&}es~L2trCy$2vv5e?`==?ldxP( z_rAS$L?0i-Im%iWe<#9!y*YmC#@lKgYfF5--M<+IMLv9rxq5coS5xP~z7L`S*C(k|Az~wV%7&T#yKlcMY|@X{@YG%F zG#bN>3yIqcZ8h#BOZ$Di_x=)@(VH+nV z?!PDPki8l4pWx=xk7-tZK0BO&lvrg`Q#UCH!CvK?kMYCB6nnU%tjs{{D_sb?ESdnPFiv2tj6>)g=^Ww0}|nTm82BatUQv{A=H+2PB3CyVY(a-T)L%l17~xBaIYQ zf;dDHPQ9Lg^-b>)-177n>t1_&D14EJU3UTn8o^uAAdt9;p$eSXILP^G7;4WCe;_b> zaGuu(nJaSoaIWHDoL-Gi+9P*La%~tJt5!%gAt`EUnECQx3rM%6oNZ}_xIukdQYA^6 z&HJ$d+{LM6VGn#%=jBBk#H_5W{3N*@y@O|buENbD@7TuVemx;C4GQWPVBr7%%!nw; zDNK2P+fy-Y5-Z4Em|8kBk)hpBBDR{|jTv`QYDu@H=O(CHN|9R#gnGM&P211)E+-wGfd8RaD;|_D$mS=Mb2K zr!JS~6l`{{QT(CX{qOzfSL0zYN$~sz02;%MfA;Esog8kMLr3k91mp*suy9_vy?rro zRhh2t)v9K%W)<0KEv%3uDNWW}4A^4|1WEo`!ehsMxeulFqc5jZqFv=E>z8z7^yD6V z-K*>cnl$2ES*HZ&$Sv7qFxXNRTry8V2liEjLY0`k^s%`)LO0sqAKaq00pM2`=MQD-D4IG%mQHz? zJtA0M2W{zXE>0{_P6nwFO`q2fpY^PNg?dHaSLhX((RSmN zX{x%_|0+87f2Q9zj=yJ^Q$(uC=FrF?$)U7i4jpDoA*U2cIabKbY2@7bGhe0} zG0Y*SlsS|MA*a;Fa?Z>#^!5D@uE+hl4$s#Q*L^W^FC@u5c92m6XKsLh>rx~3neDY8 zOeU0!{2>aaqWFj@PI!b}S}Uh$A{fR+Z9(j4-%bqQ`IPP^!r{cH45rM|uiM#RKPbx- zrSu{Be8fid$^$^@S!h>Tso(c@)B+N2D)Ci08GT zkp9HGQMJ<>y~o~u7N|c0LfKd?H0Z`b(92uDK?BqBbt!Sz$dPpl(OUd%!qvAF%n&#R zW5%>aA)xbZ)|2*^1m&Qp=8@QBslYG@j|+cueQwIl?q@j3;Wtzx+>M?j!L(ICpR;)E` zo=T(bWLjUnoMwPQ6XGBcWOw9dR1nC=tU^c*Om_j%^Z$S5aF)RE%tHu!2MzC~zt_)f zUHToB#xhrVfi&wN&w*exB0?$3b?oT5lG7i>YDwH5Ny1X%3#ipkz_t3P^1%}KsWs-6 z`;r6ACxY0e7dAt)kJc*5YULN0s-s)FqD*pD3(oxx>-P8^m=oXc9ZR8Y?}GO8`(yQS z@Mj}%>&ZSwPiU6t>W4XTjp3{XIWRRKd}3>;4c*Wl=k4XFIf03n$95P`0K(RC^DM#z zyC%)=T&ko#gWm3@K;#ZkI57!BLkMu_D-;ts+W}phH``CiA6qkrGNIj4cK!IittAI8 z<3;yU5=1r9tlJ`b`trw_9N4|ahPvHA@_7ZW*SKO~=-Amg$n~X78=)}!0#1~|`;2ED z;5~!iqVseY=Qr()KMBTk)r7QnN19a9qC`3tkjFL&X8R&D6O{we40ry1u*%%MDw5tm zfM||b217Z)Cxbe#n4GC}HyzAZnUQEg!4lOLBq89b_8v^ z>AE>(zI#-^IwadIB{7xHV)#b{%at^4yQeIwgK61N=0BhyBC&nIB1tz%*a${-XH)@% zSN`&860&alhs}|2kr{N|p=6b3Q2`is8^&-|DRu`Q&Ns5kh08_#28S4iQ#Z+mE1NdU zZ7xy2rDtbZ8)_zv?~^3HClzr~Ub8cVHY;?~vudl8ZD~P&GsB*gnSnU|zlTzYqt9*{#FaNmE;bYn)%@ z80L<1>QiX(tIv3n;&Z8&Cigwqbn6S3Gp7ylH4Vfn%UW%J=?N_cU2DcK^S(Ka_zM?Xnk3EmuNQO18AqmwayGTmw6T6W@2SnJ_@>wAe-bhguH zhQYIUu5EAb`r6$&`tD6yGxzQf<8Td@|F?43rH-kKQ2p~3`#zhW*`-Ey-;eRy>4n_% zTl(tt0Vc}=?Z9sxP&1V2O21$u7(P}1X3VMOM((ilh`ADe_3tB!w|tudHr~%o4<{$r zraOE2y`12IfD`+^ocufk%DBfl-wZ7KtK}p-YlROX5yldcxP0NS*X}0^`JT1_2W*%r z&BOLWlt_f9adN@x{O{S-r0?xV2--X1dzi{1Drq~vSqL~XOX_UHz_D)w>hfawJ|P`i zpxI`01RK(uMZe-fQudp~3YJ;96G=Wk~aNe2SB3#-lTvoZR+X$ZMUDE{Cs)(dR3s{6k{!Q5*QuNF+I=*K4Zz(^q; zF{hR~{$_cbhQY|&Mvm}r33H)GWqo>&XJj=F_#?YKf@Y$X6aBti?VJ$zaWKDo3|1{Q zF8+bz4IyVn*a({5_DajS1xVBOQj*PCzzS>sP0RMtxAD^PPzh1-Wtq|C*=BAZqDtlJ z*}M*K`Xptn##95Utv^EPTPi*x7Al%6Ug;rYVYmJ#O!0d6 zyW=42p5HU)6(|v4@zG>%TuHg9juMFo+A)TTtt2qaHp*&wo3J~5)A^` zwJeGGCtdIS6s&&E2bYj@QdU;@E32D9y+mH@8gPTz^baWQ%OA*c(q8;NKf3ie zQHi~tgx}QNDiGi^5`+HM@|umebrYknPg^l+G?F6X6T3Fowl=+L{~kR$=rmg0|03tw zSmSA6ZCCpl^@vFGg{#Am(RhxVsA)uE0n-;hm;uxhf(@oNLM@V@;UuytIR5{O^u_*9 zG!GnmYYl;sMOkdt#`GD7-jew|2IJzVj{+DN&*C#-w)tf7p4`t@!)iUd;MsZM6=b8e z>EDJuLZ8Iu4xKiipu0--M_nUs4oqe^3*^9fqHEKn&5$h=v-Cure|CVYLu7f8zb6+7 zcqiJ;MA)aV);+1cU-;4b@YxNu+i@+H3YjQQ(5^LoLvuonkoZt=&o;Vg^ZVOgUVY|& zwfJ?ZW&T?8yyLHc7-g+bf1Gx^N3t&Y`LylSkruD-On=k=uZf!`c<5i(u$g<>ODg;xr%!`ewN{%- z4~%_2B|ZHF#oOvL=ru_A6kSgZVsdGb&Bx;pw3hQM;KcUnjU^U-)5E1?v~mIKX4aze zV9t;Ru;F$5H(qVLfe&{c_n-e62%tEtyP6;8QatYxgF3jvU6?uZZg4QXLMJ@xJ>E>l zLiO!!SwEpiU9*XH>*2wOd{oi0B_rFP3wWa;)A2hOy|cI5SDScn=xpc#e0 zHQ#3>)!06TQkZt6;I%E&*8M80gE(XrMYilxyGbp((U7LWx}ln7SLRQN$Z?8SNz(#T= z{sin&`sT6|FiPZ|gWW!z1X6yYl57|UnI2^9zr}uTdB~5m_p=m#SL zps5RVP=%FKJ&97ZoCr5kfMK{hD(f04mP#T&i2hLIibYi8&cl%Gg6@cYWWBI|z>1jP z8^pO2v`ZhwYad#C*0F|#%x)92_J~(r*%x**eh`n2L|wnPvU%tg_oB?!=VB|Um z3TjiqaCI}d*wQ0u?}iY>C@~+p_=C53Ss#CVNZW*U_&u5UTX&NuY#9EnqssB2h_}XJ zi1JytJ^4^@=$D=qHk}y<`s!+33*5{NYeO4_a7_n`Z=9fL+?P-W-TJwnDYKuJlQ(!dV zm(CM|c|i}IX7`bNKtU>+RneT)_D)zWD(W9FzTp&`q-Xkwq+nr8Ak`c>m8Du?0G8Ek zy^E*@xhGmRoev@yUltY?3aK8ew}uq5{Bx+A3O-=Gzkp2dYf2A{FdB6Q7R-{J>Ob~D z(Cv(_@@bmxP!dw^A0TzUt)F{f0`qa9xf!6O+YF5&;o$+qw^O%B`19_{mN3)Zc%c6P z)GE-I=@@#vy?Nx3nz2k+$8zA)kfB0Qj zjSOa8ZKm4aQ_o^Jy6{czY>#)wE}GAdk#`(_F^S8a z&wpv1rMd%(sei*G!?G_tMA2jpOCA(_PYs=|sw79zK=FYGI>AZWDZ80JX>|-1#GT*mh$6kNrxhkAIel!~o^-Etu96oQK zytn8l7G*5`BNvEx|0FMKELg>FYEO}f!)bep*V-<5=oh7$eox#-FRI7ozTmAmVUCBVT@xi5kwM#rK!ZmlXsnN zvG>~%!5U`|6WcfbM))LApy{-@WENYH^3++reNytU)7F%2=XaOXwh+?3WQdCgInzhL zVsIflU42y8GceCQ4!W?j2K>PfSC&@2e5YFNH^%Bpu3hXS1+^K4l=vOj8lF}TIit-x zUj~)Phju_YyFQ^W*UwG-adrmMUbARncgP4!;(H{~h9SRVPAmiyZ9k}mjoH^Ww#m8Z=G5jXZhO$dmW>+kucyb#vZ^Q#XFLrZHM_qli9yH7EtjGwCUPxcV}FekgIL zDM0v3X_p^z*>nKR+!9Y2{PCw4S2}v;7BQec{g%n4ACqm-e5LT!Io#WZ)mwpI0uaX$ zSpj2-f7m8t_-@Qm|22ndQK6FdVWh)THe_*r_J^rDGaT^9X#H|G;A`GcEQ}41!xrgz z(VB&RZ`&XLIw^nF3b%8Q9NirrRK4tk&VK77{Bt?B4aD(?iYB9q2E2OJy|8Y}-}@gb zj=Chiq_S1qd07&F_XKCCvoAd{Pt5`p&Hxyl07LGm#7bfDNi4f@v7#xl^!nNzQ61yrmf3ZX?RTn@{-M%+p@>4yoO_Pc%dJMorAF)h%uI z2)7j$y*_bK#iN5Ep4#H6QJDgtv1uyI;Flt;W7) zxS#-gQ}&NAMt>#}xmNV-)B$Pd!$}Xd3cSQ>Cu0O*Fv9M{xjAryHue!O^Z{08CX8Nc znU1|;V4{5AN|`tISkhcE$i!;E7{sdPiooSDjUWY8MkQ0{>FsIPBVX!riz>r zwB;_8Gt*gT;&kxL8WZ~SEK$f~8KW0hUfpb#!9jYKQs`EZgyFZYVGq?y{4(rsiMK%! z0s%Tm;BTO*X4asgQ%xuZp%N!df`8?NB)0fKDTDzW8LjBq`2QI8PsO+lRU&^4_5>ePZWAH z0%DklV(gOiAcKE4gZKp{s(n8$TvCxEjYjsVyu#DXCPEh%&H=%D*Hd4bA9k+5WUo;@ zbQJ2}@mcWo0^fV*V9P*RMWXhZ59AFK+RjcxA?4bTL9$cx8+iK&L(BL*c|NIi3B8l1 z`k*`G<$0pVTR{mB)jb9`6B+&wFa&ZBH285Vo-?19G|R**#m8Ysx&sJQp5eDUU#^_{ z9jf_7w?lA3VmU5bEGHb$-RL{U>7_+Hd3ij4f6+8N3Y_i{Rt<|dN$bOJ=! zE37K#Z~H7Wk7e8JYX`$tkX$)9r0?ldDF5qSf`l(-i})xMZF-;m<3}k6=-T5owsZ(1 z{SP3fFi8GL^k2oDhSSG?9+aTj>USKme6aD*(2pCx?r!qUe=Ml}oRTIActGg#tVJQ< z%OnZO?U~Hf5X=%?B__0BJciIMam|ggEi*#oc0at)-E(@m)@n<8x3GGkJVG zqg;(_WdGOq^*gNNXhlU_Hvs5NNFovB2EvA2<*c(HB~Pbhzg&Q`+^9|%*f`o`)JFKk zp@w%>U9j6ct@?=NxB%SdKL9cB==serdE0nJ1!2+3y_qL7AADI4^%#ylpBzr*x1g7{eZY@T4(FTYVhQtA(N1-{&uh+8qbbLEEJUhHQx>2ye7Y@&I5vLvc`TR9nd z5T~KgdNfUPB=!R}PGlDi7KfHb0VC_CO6dzlpc^v6sGk;5IuZB|#k9+n{eH=zx@jR= z7<-|kR5Aojgh%jDxz&vF@`t{$`khZDdu2;3T+O?U_^T(+clUOW|MYZp{Bh(Tphclc zVmX_CZG;Bv-&wxEK|;WaH*!CX{8kr;l-c|d^l87nk}pSs3QpFgBt~i0jZR11>l0<` zaTk6vA|%}7w|3Gb6Fdd)zVB?jVxje_Vk9mZ2W``nM0IT1ht&C{K1;dqP8;lfM+gR{ z+aft^(=@=PuD&XLTD2zOY&Y#@38XXMGyHFGxx{LI_LDTKq zp{oNaw=tKFfEe4u{ALvpB_+|nW=kVj-U#=)607Zyfq2%*Z;?~k<^4#b7~iV-XR99N zGR6rXWrXomHW)cQn2Yl~cK<+yIY@#9Rf}B{X;v$kP*_RiT*)+a+TWthRzpG|1?a?k zid|0`dCo)44C|(d21YuF)hWPMN+P06fB6Wsy*%>FSKM6leWUw3Z4ngQ0woxA(sDjM zF>p<$NPq_e&cNbh#NsJQAWkI2_*-w#UniAi<4=?qlSWrusGOzDT#P6)U-69n>pu3u z?&W!Yw8k%?8r>OHn(wy^< zLe`&OBl6khS$nWvRZl;JwMbTA&NL~3$&ZlTrigWiYuZzt18BC7*X0D+KxdzhHV|-c zXwD?>g+hvGpY|pHv_np-5)92T{XWtr7pZum7eGm5<*)Do4T!8U6_wK3Atn-{BiWbL!6*OJS`KsRo*T*uG~~f zng2YcD<<+j&&#HGFhnxI>;rdptL2RC`>F3$F`x3!!x{0ONJKu)Ib#`tC z{SEtZH!1rIHzl)H4YF?Vvxbcby_z4IJv?&jLOIsq`w*#G{J5YFSJlc&WMY}j2i4|Y zA7c6i<=#}?x%RdzDKiwnv6Up)``vMMeXnYyq)(5$c(oTV69+zL#|kI^uO?G!Q!)!r?sVwqSn(f({twW#$xN0PUNhg6@m%u^V*m z(=JAT@ zJ}?6-rbl?t8iWE5Wu`TZSMxMJ;$-oKkbEE_&?GJ5a@Dor@K5R=u|=a3G+_dh5$(?h z^|;)2jP^?IJ**SWW-ByAgSKW3yKLTxF%hEvZd?EVn>Eote!Twb@ISz_4)SrCMdIIO zExL~+5m)y|V0uoh%Uql*{_oyaueaK(ZX9kia;jk2V*diu|VzH+XoVZ0dHH%0~az#3{RPzrG-srG;TK1;jgz|J%k`32swDT z#EwZ?V&SdLdyMp@Li0lp9E~nR0Bvh1>)!6j`So_D&Of8>_8E!Jk_tdBK;8{GECR3< z9x1%Y+Vl8i0;)Kz*Fd`$_!QR8M8s0Pr`xAp3BT?bHAHG3n;*v(_nz*kdU3_<@5EjU zc}5USjGw7!T~7W~?VC2NLwN=i;kGAPm^Ju6z}Yc8DmA%dwJ_D-Lxm<==yCIL5)UJ~ zxU$>SKAcDtpVq+3uK8*oQYtX!Y6ZSG0GVXd{f!Rs*A;OOl*uF32`ZOWbj&BEAIQH; ze2-6AS6D$z*PYD$SU-LcL!qg&H>mz7H{ya-#LAmzcl?Y+RW6B#y=oo~BZ~cTR@icH z#Hb5o_Wx;TTxx#o5#e=wQV9^+sBK;qr1X(f9n+|F!SNPGuSezEa~Qe+E>Zovn!lt- ziwZaEb&R&l0iX9Dc^jq%BJGfZ*}>B5%#6<3%6Bif&sb2S<<-@eO_~zR-e|oxa#Vd$ z%XHnEpkELF_zy^@bN^O?FpIc&`!uM&=m7yRY(n9_cYaR2q2Z$!dMv@EG(`joe*qN z(Z-rPwYvw_rsxw4OQ`V*O{k zxZ!g$HtJ$MWKa%4C(y>n)2vMQG&4$3#-bOpR!3q7XDrz3H|uPAMgE*mB2Lq=;H84o zMupd!VO+HJ1rQ&$v}gv~9-v4J?m3+7kaMZyw*@Q;Ze5yHod0L6@-@05O<5EvhXUM9 z*oAGsOF;lP^UfdC86@(dOOosVSFW1>Y?=A z46nBD+6S(&3zeu6Y)TxVJ8ZSMsS+oA)5R^JRt_d3HA|uwUtONGwE4~rIGXtLXI+%V zNCuD{{rV~kiSInT*Pbgk40IdCvwXvY3i5iiXkRZq=9G4j^+eEyoV~gW`tz6F>R!bA zEB^IuwlJIEXo9n2pAhC**L9tV106fZQ#s!LI@sy9K#k-VrzTNQ8CIB&q~@gzn6eh_B175htljYB=i6{M2* zZIGxRXY5>j4wSm@sl2=9ZQ?e{q^+x@Yzz5ygh7vPxJMz4-8_Ps(aii`chIUw^(F%5 zuC;}i8&h`a4>&gd#J>)4R`sw2-#rPtqqsoNUv~_7kuz)|zYlR&{gS1D1)?#W7QQO? zrmssS8H!VIn$aP&MR4JSk$*t(d1Lxk6TIzwOG39^?Hjh43q~;s1Ent3Dgwu1<%uB10&-;}u4W5Y z{NK^Iud!tskdVplIofCnbK?tO(;wtCY3cOhsUGG(#1YE_Ocm;0>qZCz*4Nj%T6PsT z`Tp~K=Q9l!Jj{H)XZe%wHA`iizqP~A0Nq5ZhNeUJu?y1w1-ZBdnXFG|0NoW|-FW7i zO`(q@nF8kmzf?+)-2VO%MvD}M(Bu-1k6$_BaRt8LtVLdA!@56C3eK{=_#}7l>8yCA zo1p^u4mH8x=|x-T(f1Wa+h64olHh$0pb$zQg?<758$^lz=`+l!ysUzG4n=ZG2y`>t zPNv4)6RLN7dNrQwAhhF+V@cAK_8CmX-^&-LHY$wv0x0&~(}omQ@0&MoeSZ^3To6Xj zqCPxvrwZ`QgzZ7QFT3dMXa!n9YMQzIe-*L(F=fFAt`=eiAGuQ<^P_%Sq5D!Uf11^= zhzW_i4B5r+MRL=1uKkg^^aHA*iezNBZeIrQbPsUiol$3-nx|37ghd%6@}t50SXhg~ zhTK}+k-x=B?U$f2usDn?hvaRNZJHKzfWb3Fg2nJP-YOKD#f8wV?V^i6ClkS7EvpEw zBDV@4TqP$jlrv@LF1SI!0W2u%*Z@C3z`tz#qSIo|=sAz2ocTr^&~-rBE*%A-E*n(!;{q+HqwTGM^ zf}D}M7xK0~5mD(|>kC#oVLAZohPC|dG@^W=u7@|uKhvx{_3^xogt8N)~+ z4{<6)6RJsf`|gLFJ*M&L~!_6%YvL#?#WGoqGEt(~sWD zu#gsf5o_e|NQJCVHk|NS&2t(%ae0q{e)8q&fK~`uIKZ0l#n14qYR&})H7Aps*202^ zhwP++SgyD9|HF!*ZpBMJDluaZmfq!Qw&Y%@Ub80X7w$dpE?*HUGIDpv7{VB+o@_F4 z?3J|ngF)k4y8pj7v*LAfB6UuaQ*9$Nx@R=X9+Z&n^DOrXk(Dl3Pu?+e!!rf{{(94r z^`n^oQX6`f)p9(R#BPFaM|PBSGC7xBQG${B^!(Bj&-TR#XwIX+0qoMAe*pb9Fy+s; z9OxhHdj5O>{z4LhDCQZM};wOADr&z?c8drSCa{Sr%u-SDlfdbW0LqtQ&QI^yYo_Rs9|^ zC~^6~&}l3xl3LJ$M6u9Pkc@J8mzI})x?O)XeW&R>qox9()~+~tV+I0amok=Dfc9Pc z*Osi)yBCZdrFG+6me+TMiko6yviv2>*tdUE8^0cH-C4JuWHw#q9=i$J{{Kgc<;n?b zsOwZ%Iy+@{rJX;$2?U1L`E^>0V|Ha$AHR$goS=;4Z}9VG9QWmtWX`HYkZOjr%H=5K zi+%7W+R+?Bjm8R#{|_+zX}@s9Cr`Q2!ziTm)v$gGJ0*o_+8Lwk$DhaES~I!x%PcnA zuGQ$2k$tdApd^abv|lnaf5ujCJMWCl{lBHWJ>N~o!6|)-<{h7c)7La@Ag5bu6~?Ry z4%%D|naA#fQytvm!Xj*-%8-8AGYu|qmY|+XFm<;!lRjqgZwQWP%QEFtm5$68`*Ie z9ZRXt`dt!AuA{J&X=ZrwZp=OPq|?S7xlY{+Kk>^7+j_e6dl4&k*K{;%rpY_Z&5-GN zM{s!}QB4Iz<%t?cYx{s7)b&&$D|4T9>AFZP~2 zFS+4f9?N`psv+bnc0?ZE(G5|PQ$uY%G>W*HrWjbp6;$l;reE5QAebrOUQHhweV15i zTr4>#LSib80S(QQ>HFG4P#Ez?jR zceib&-wZUO(P~yt4*TuVkOY?tF&gC_qMB9qk;i-*ywY9=ez|WGLBng#@> z_%K#8jJ_OwaeOFV;*mvk=J(U&(*}fD`yb zZ?8^HkV%s(+Pbs~2wdAdIp^n7)`572@rq=sOek2paCXkjXhtN6EmdOkRNl`Xe&er( zcNJ!{24_$ujdE7K*zWe`#8=-b@o^UUCDG;%sx= zrd}a*w&h}u3=T#!=lla`&kOm*2;rqgZG(ni2QZZK^0W|ggQ%vIJL|k>&Z~VY?WftI z^i&#^!&S&uo5m63U6{s$w)!P3Jt*76hExJ{e|cHwo!MHgYX)7qWn!OLK9)beP6Tv| z7Jc_?nYdx3&{AOV{_r&`;qe2`O?o%fyW3Pn)hG;AYcxi;PoXMYCz*MB?zy#=pV*vy zp1c$w7%1y$*i#`H2%qh8`8!=L6 zXyF9Dti#5uhl=A(FEk`_&lmveCf8H(R z5%&QAIQIbn9smFUX>N0AXJ~Y0VPj=4WMOn+FKKOIXJvCQbTKY!aA%ZzWl&pR(08yB z+=B%P?nQ%JaEBm8TPPabr9iRZ4nYbO2|)`KXrM?1*V008Yw=PFlv0Wn=+pl*^S<+b zefP}VbNB4tJ^SJ8{&vsI{k!yc13;~>t)~sZ!vg^D{tdw2Re%P7l$aPue2)|e1d@@G zl2I~IQ&Lb+vN3>Yn7BE3dAK;ZAbi5I_xS{+1tDDG>JrlOiYh89ykeSq8cMpd$|{Qg z8NnkZBcr6C1XELk6$Q8i6#u{JZy$gLNDxW{Ai(1S;M3p{(BS z@bC$V?g5B_|D<}<06aoG0(?ROB0^$f0>Xc)0DJ-(LLyp-g!(-?E;C7|0D5j%T&@(n zs*RX|=W$^F3`knTJU(yJ;^ZfEGfs5xpG=4bfd3y6 z;Qe1`@bGB}AhZ&M>i=y*PsA++a|(!q|6Ku)|5N%WqXDP_=HLegk9g-#?Gw;4fgw>v z55{4@Zqb$wAlJ@|0@M)ZMMH=Xm%M;|myn2MpO}L_^?{yVpO|LKGNXd{jr$|l)M5*y z=+1Vq*tLk5$7;@BKx3%NunAfo+|seo(~OYJ479%E$pY7nd^YD2a{L^Pz??ki{EdN7 zx65Cq?NPny7;`aDHMNX(8ZsE$|6sQHR8rw{)q>1jGG3P3ihfdsy`lqGl#F zS_z_T)7SFMYmkt@UIG7IifshOiqtU2rbDC(Pt$LRx=+(Xxxj{mVAC*sm!=v=D<`lF z0M+5?{eeFaVuV?uj<5w)3MdgrvIgo7zIjqd1M|lC2c*)ao@3nkOT}dj^z<0}*(iRW z2d)GV>CRjO6aS=*8e~$^%G2pCf@OsU0}N4${gL*+RJ+KmuT#Kmx%%i#}{cKBiSQvZeR(C$`ci z6hnCU7A;#E@ob4wV01I=CqximL)Z>%Qd&@qrblBkWW|u*jLcWI`gu|NM9_s1`!K$v zfgD0r^J?desA}fq=SP)`EHiyi0o!a*X5F9e&sJ^dQmu;1K_AC%C$0cSmNdkmtvx{_eQsaq?dp`t=9nepe|<;VWiafc!(gaf=Kvt>6hLCt#)OR zA}VjU&xx;C)Pr7Zm3Bnsj- zQ@N+a;EK9;g9YiRg|dic&M>3e87i`2i4dP$sCUFis6|xlpj!5CyZ5A*<11Bv#47hv z`!?4_h0GAvOXE;FGu73H)xUw=AKxriS&BuKf5a%Tss(H0Voqt`a64x;vvUXCkA5H| zEYWmMVHcFIy9ujTE2E>$!d5u}>|s`C`uOM}&v1u6eTsT*UL4Fv{+4<`noNF;F9Gop znuijIG@j90O+6^a_XpZ|Y~%7|ksSyxq-e56Lf#6K32ZqyKspbXlaFQ%e(HiIr{MCxP7@GqV;LAuAXfWDrNd`E%NVk=m)l*c;<4*F*Ia0kk>4S^`jjGDPr zg9d%xOuP_&_yIiC8S!s+XfzY?5yKq4=xoqz!}jDigb1Tci8=qgjs`KB`kmKhmweV& zIlKk2Dm^s6YiOOtH=Y5c3Bn>vCp6F8J(Cn0gJY(KEy`Z?2?L_z_VYA_U`uYLJO7h$ag0sa*K zp+4&Yc2}KT6f-avD8g4*Z#^vl58vRyG(HQKS*wx@%+LWE69!fh?ib=H%{${8C*=ao z`;0K>Crwq^o**DHn4MwJa3gOT1+TP4ggZ^TI&-HAEzM8YK+W|k&PsH26J;mL zP1`cy-$J#PG!icdSI&nZH4_N{+nRP!t2sCdb8eLA?mr+v)L2scLnyU7?caE;ZA^dt zE!f8!CGno0<|AlE0K2BT)bwQ#|C=h-_>;IUGX$@nZ^y>}d1jH~8i01pe&LH+iFNIx zZw1Mh8jSo&82??7Kvo3I_p^C|r419VI9z*0v9`Nt0BcG9Y8hfop>N&PNHp%yLFYam zI`0ZxJ?7vv(al22DoU|J;Ydl(40rH%<)frbC(gTOg= z0!j3e=eS(5NI{Ug=J0EAx5J`5PemiQmjw*>6k-kX!ZfQu)d-n3671CHyutjW@fx1) zK{PfC1g$3`*7QN-a`-o`h&tvi&!kT`1451Qq;q(kO&&P#2KTbqTOZ)hGdfC1+NG_Z zD!K+MtJ^r3j5gy=pM&Mfqp#n(#Ls?de>4B;=kqi+DFZ{_b(d?kAHN@(wd`sXq3rJA zM)D`0a7?Mviyj*5!9_x1n0CIq=t$X)5o^oF{RI^0h#87Gr<`RWWqacPIITRX&52Cx z*5YQ(cd{wqG49IxvXvzh)!&cGJ*-N~i2yd|Xv;b4U2uJ)<{JB|vy_r=tH-L z%tF0=^IK!h1YSk_jD6EMLbXKuC1cU?+fv$DzSFH#Fn1tmWxgI8K3&lvDpo4J< zGG^;@FA{fKr*=!OM35~b;Yk${g@c~@W?*8<1EL`@JWX>&6qb>lZX2c3 z(+5>Vt4U-#>xk~~U_emaF9*@B4ItpAoxsN2$z0|)L_Yxuc?&#W4;*11>(pl(&9?|D zTR0O+r;$eEyh;x&sKsemx@44_FHDp1oG7+Y{wo@h5ms@KH*DiTognYpLdvlwP-c(j zwVpvV_&W{P)45VhX@^YvijEK=H2J?NbY7qeV4$bwpg%#)i>c(Tam}omE9-`lW3UB* zJ%aJ5=;dn>ZU4Kue+Amw|K>4a`S&Z2err+N;H~?JSIgIHDMM%vS^q?vKbwr#AtQ0V z%;(~Z&Waf--nqCzWN8k^`zv>dVQSuW4={We)+GvNIN)^J zG;+?ZMmI`Qc_Z#WwaT~{BT)SWfP4NFE#d@_Ae0$>!rH}2fTpoP3~`jc`EZ)q zLm;oMV9qajTOTP>5^*N`K0TW^E$PlR;xP}jG};4Kq^7VWD=Od$dUd?(d#pW@@6tXu z$U$d*J{-Eqs0>TmP^CaJD@p5hDkave8Z?+>GM-8a^2HU7T)PlP!bxU+C0n+w^m@L` z%-?krT(X&=HFUu-%Trudh3&uQEn23y{MozZaZ4Y*Fo1A! zPBi%Xsp1y*BnNtQXJU=bj%~_O)VmT_ylpPbXAr9myL2xXWPi9fK6jzLR4l3OR$atx zrx6XXNa_%l`jge)#i@l&vaJCT%m-w?8@EzPiA(KI*-dCSO0xmv>Os-nE$2onH3b?3 za1c7FMO4exlvYI#o3U40m^Cp$+#w2&hQpew2p;%gv^$4uRtI_s8Tj6I(m-)r^9a;f zwkKicrctDYduRURqx6y)0?sG&-cP}`uF^iO=sslwH>rx^e0~W|WvtGOZca2Vm3z$| zZ*yIxA>(7gt7&PIyJhNg(x_)N&Y8G367P0h#FZRU>oj(DG=Dj)(2GWnbX}2q3?{*3 z@yS*#wHF>zj4hAzc*w-iZEms;W_ zv7>7i3)tvs6MawI?sS^*9A_Q3EV3RNq?$e z8RSC}4}IENR!o1Xi};`xx=yjo3iM5GTlW?^FTuAAn#EOU$tUk$w|7X7ZOpK>^)AaF z)xo<;sb$%z`|X}})oW0UnlX)}ypTDpNl>eeg^gY99#LNNzhld1D)ScqcNiFrq{_qD zl3U?wzuKcl0tM)P!zXpqY!yk3{Lw0DZZ7x0U;B=mcTo3VtznM##ZY1?c~Mc3g4Xgj zOhN6sYqopkq^iGzm+`q4e7sV9j~ACs?q1ZX3;4vZXPR)o!#l|N#u|u?AT7*W#S}5{#g9x>d6&8tx4Je2^64q)*^771! ziB@+J`Q-5OlCXH&2HqP`yGEVJ8!4Nw#I>dPd-{XL7>-ekkL!D=<4f1++VywMf;mYx z0=t`!pLf{YdyjV7rCCtm!Lv~#GuPD$*Wh))pK8}Pw(qeBJk%P0ATT5H-_w95&~k$I z-bI5Ph z0@WL!>$Lx2ISUyK@i@rO1KZiw8N5B6`B)0y%gk1kPh*QA0jWkS&ILdX63G3*GQ|R~ zxR0kf&kY>_fA}=DxCsWb1}!q9Al_|yue=iUln66>(KMSr?{el_TXHf}@5UYIZgV;) zbibW;N-#yI@5~Fh5BaLzDeBy6d1PnuHI3gFlL#I^{-;=zMUYb!gZ2Fj$Wyhb9?Dcw zAiMb&DIm?i04UGfmP6Vjl?nbox}R=U_fg?ls<%?fGgO!DH~d$*yda!&sS}hfRNmG5 zF+N!)k)k+_Q5C{QLM~Jl6e5f6>YRWHpmU0!G>!D*n=-<`LtrHKb-{Q7yNW)PmZ%X_ zoJxM^X;YPk)(Yo-@pL%@YS=J_D}R>9w35;j;Q>soF>?m$;)eyF;902!=havDsK^}AqE!%L(e*q@x`xV(IQ$?E3 zh-4^QIJw^@4#a~7DEOsa+bX+1Rw9Jcm!7N~VY^OiBtO!sv=otN`=k7E&srT`ECIfV+B589uz2}ct-o(=_l|Ji3xu%ZXJu=_^5UXU^`5p}qC$eS%0 zKn`_Paucbtxm5~6`Nu!lsLYOG8e}z4MPeH93l}{pz`Zpo_ z=K=zOEZC(`p=jz;;wsIg1l0H)5v9bqU0c}=rs(0vLiCQLJhMqBtsIXaid?BycjP(@ zIvhyH@|X^tE=it(I0`EsoW{KrjoQfa4!OFomaaKcVSL}2$LlYEs-x+1P4zp#H*zW` z1ZUPzRNh>kTQX?AT4bNhtu7cA@S0`6X)n1Z`0Cu~51FBkkBv%E=r#RsUhS}Z4_?O? zzGmRrmTy@(Ke}oNFR^$gnbhjbt7pXPI?C#uKnclR^(vqELaaR=N#X?{u2P027Jf?NHu>L}i2sn%oZHKwoqtAuRG72-8 zvxRwncu_6@W=}mdhi5Tjf9&u?3-0U=Pw%%^q?d>XlEd3K!yEl9tA+*=SeXxLIr!X3 zxOpOjZJoKvtBo`ER8mIWCOHOJ0N}{KfRpNC$Dy%c*Ur9GrO=M(BC@UAWzowxuav9! z^oDP_(LKyuXRjcM=uZPrkX97*ww=PRQ(122HzU?Z16GLUe9^e6GZoQ4y|6a3HPm(me$ zrj%n#MOaOCXPi!d*hW1&p1N`IBtE;ZONCGT$rGdqHjBapAhwT6H*lsdBiyT!`%Q8vL`V}BTwO4c zB3~2eVN5zfjqHWr(ia1|qUK_HU02yW}3Pp$8u_aLkT z7`QubA);@f_rUf)f#n1>f&^%yXH{Q_Z&f6o?ca9QEHWPbr}@P&QO-Q;Yl*cm&A1{h zuPai;)u{$!wHS;26u_oOPFlDjH_BS;4Id>7_N@?tRsC;+MuGL}}aHK~N zo(4Goe7uukupQ(%;IV0U(1j)jWvw&71;+KP-{b@Y>*JoiH%m^h_R>Si>Z+vWt2u>6 z$4v`2Jokfk-`OqCo)mCNJZ7zKF}ub{E3|~LS&aRG`)K;_a*~>ca?+ReB6#1Tk$NW!L>Ft&Va++@ye#0u zKhGn(B+S|D$>~#zW#6y#udlM5alj7>hZa=wO9QTj7#=5^>24yxE75h?@I*lPrus9C zyiFk)8tpP7kJ0TFuH&GZ_daX8O_DeSDTJ2z{bM@+0-Q4bAa5L=y~>08w3mnLtC88H zu+LbSYY>Ng%#mI`tYH4UzAg&1lGtqCHy7}&`B>{hF>(>C73`CF=d|Ax@6GAojr_68 zl=)%1Cq3&M`Kk+Pr0_H%xw0wL`ff?}uAU4be#VgVF{PKc|D88K=hkbOI&t^7IQv#~VG^!sdb|0{4k)~V>2!pCRHPA{ zwYUlZs?F7HA;G3nXY-R1PH`4E34jn9DF0H*VG}g@_VGkIBfMtHkpTo5xBFRkIF$QG z$bmZ?am9c1Cl9WAuCZU{=Dp+rMobya2ekhD$szrc{O%~q;|Un8EKPSEW>{pDZ#ho8 zQ|jXT%|Rud{JHMFdbA6K z{Rn#W=gzb3+Sx%mi~A=e!X;S)?6N=p7y)BoCO%Flsd~HsP(?DQ*0? zS#ng3vl~cSdu>4W@U}T8ZH?Gghq1~$Ym)Zdh{m}m-}2XC`g!L&K5=Od(S@zZP>X8F zXb?-Z(?a>z*ehPj+BeU~n(R_}+sDBlv&J$``(u#Ru6x7WokcR)0FKgkjr8Ubx$+-< zzZRN)?fKV~ycrq!2Jp@V=YGzu^iZjpZ}L0Dw6Cx0%vkn3;#=-YW<^x5wway&;>&Gv zf)f2U`!MuId94IpOu`3xh7RZCFnjQjjkjCH=HlyqW2>2myyxdV$y9m0*(b0Z>opbm8o z#Yp^Dh2(i*A~Gv7QUC_kCB_$@XqqUa*cc+rIX$-sP4U-su!o~@Eb_)mgd@*e(5bpi z9yG3{#$FzE@XdL(#Qj1XFRwXdykDAdgI>U77_nn*wEv?qkjMNUj5QnB0->1bcN_P& z?ekJ|e?#LHr!a{AiNoX65xr07I)ezcT&8VOIB3*WmU zw>Phhavgft-xkbWYc~L${3xoVskz%P>R;n582K3%ahw zRpxAzCkK}?fJOfT;jJe zpVhml$M+*1MaB~UN%}ainseG!Z+9YM) ze^4XLO@z$t`Z6BMLl5RSIY}Bo6P%vjjEp%%M)Jql?uDW+q?Gr}12N^5 zG$56fA6E_ij{mg=e*whQ=#MAU`o;8yovRc)RYRdWtsy$zg{!2s#xLyZHnnfGiu&%MwJ{dbXKhzi z;T)Ck!VA9jH)>$JOSV{!8D;Oe{YEEl<&n6i<8=rC6BBE*UE;8)SwrbVvgK%ef)yQ0 zX{79Ew^|d@Hm5VO8pMk3YM;+}SsY@zN6(NkwNo!8oA;b@coN<7Fi|JH0ltHumdY^% z+jo}lPOUg0^?L87l2UOe0lVSef9~cf^Mvq0JZ|&Msy{A+!n1jrtrxFxDczd?mJO&{ zugaqk+V$IG)2bu(?UAzWR&(F3)+vkR^U>i6i<}#HEf2Q`se!qs8aqw#1YFq3*eVFd z4F}+V-D_zMzfc@yV@e0g*PGfmux4^DoPpH_P6l ziyfR`Ne}cAT2Ews5f7i&Uq*5$@DF{j3l59}t;M0LMCWg62+f8Rv3#)rzHO$MJ_j0#w{N)B2t{samz<3hkpD zAzB)fS-ZhXssXJ!Jk=En2&7r(w+A{(-bW5jz{<&&oYC8Gv4NBC&~58FyUB?NJL~_eO<-@8Zx$jlk*28+|K)Z){D8P5Bwk>M7&)(* zGeRLhK`^Mx!kP>Bby^G4#PF#HUW4L(AV)ORLTW?F=E2Kzp*O=R)P$0wSr<~D2zkLd z`Z`^I)DO)6+pszN-LRQ+pRSJJru1nd68g_{iF$|TxhT#*ka+`VY6enm{Ek_5=(gsP ztEDX%Me#E@zVa^!w49ZP2JQ|ABIN^jC#W?W9tda@iT#HGx&JNwE5!f1_EE2KmGQgy zDr&RoDw8EumXgtk3Pg`7HoyzmjcrSidfr)PPD)6|6Hykt;NrwK*WK@FL3h$+VcLn2 zfb;9Sh7a^7xqU^qbkBYwyD5@gPUuz#+vn<9PuH{0M-rn3v869AHj@_$KtJmYbAz^)pCV-pS{| zo!IsJVm~}?CcepoySCO};m$I>^n>KbvlHwKYDVWIY5R&88PJ=WP zoF`e73+0_(yIt<;nH}N2suN2pNkP0dQ9B0F8kvhuHT>f7XTuZlnLp2o z8m(v)a1L;FDalh-)msIXKz|1cm%TZqVlp5%$_}VaBlU`Uz%zZN6Mu(ibGn^hkUf|u zXjY$Qwd%U&97Xlq9~6cCv{|01 zqLJ77v$BiUSHW)x=B@E2(r=v-Ze7KcY>W$GF^r})El-2z&iw{?Hml}@6Imhek_EZZ zlsbnKa2B}k7i$ig&RH!dsr|Mr)*AQA!Y_E0kHw=35BXF%RrX#tnx2;*R6K}8PSw#Y zqEkTzWe1dD2Uwfj67Gp0kH$9--hN3rt(6U#7UFZD4UI3}Ux7J^5pQXuVWQ%`X*Sz+ zJvj;9xM$+O-yg&~Zw5)eY?~gvUr#%Pn|nN{hh!gj_RiQ_O>;t=!_!4poJhG2n+x6) z5O9WA+WG-xu2?!vW94oHW;;lkE|&+6;w-VDJ~Qwzn|A~P?|)&zOg^e5I&1AhT} z4=56wm54O9-Wszh=V<>LSBwMhCRKZP?R3NWlj>sYu_n}7<=br6$wBM3p3H~+qf*rN z#Eu0l&6#0OctCRJMre@jBeqE|uIE+PJMObQJPM zD{($JRf3>w;mvI00R6sq5wB}95}Q&Xoj=9)gT3_JR%yw4!kL9d#Q+Ojy)`2+vi5Uz zf-3nX_7B`W9phybt*qt+<=V?Am60$lb7qf+ZF$tVb0afpWq*-Mi+X<`FXU9e&>j0i zh!2?!UAU!z8FB5Q*8fO-!Ks)g8xJ8_BP)6@@5@Y##@PLH_ppPGL681?!&$_yh)e3RCxv9@ES9p#yuX5L$=)Uvd@y=7@zvE* zNWpr2SYj|Q-J*-|JAb3;OchNmVISQ9dQ{;BQZ=O|r^LSBz5uAi6K1PxPaHhzqS@~o zZfTg%S%aq?TAlUzB}XIK?+mwe!ruLt=`L6kPUJlNHl!tVX(ik!^d*FolHSw>>mb{h zD}@gBCa2#VEc8C;CWt+*H<=GC{tL)p)#^vBNXKy}CYImzj-{1tED9E1@7%8)TZH~8 zFk#gS(t5!W#oq9we!xv%R-*5graGh&(K2WxJ`NTY*v~0Yx0aMQ!k(7ugMuOi!5%eW zo&X|PvEW|K zTqI3a=#w|GS31qyJ$TF1?eb9bzTX|v*>8-Ml<7E51Ln0yrb)i?82*3u9L%Xk)86WI=_M)Dp$6vF6(3T>7&CL zM1@bRw#KdFxtYo`O;81;qAmwr$uz>-%%GaUr`M(E>nFvh2PB<;3Rv7e{0q}H)dM1F zw>_7oELB~`?vIDH-!5^J7q7bR5x`2V%uo+rgZQ4~x-WifjFm&7B?d5@@ePxWR8f%yAG8Soq`mDDC8LFCWbW6 zWmeNuxN8Kvp0v4SQ?=t1ZfPZ*c4w;DJrB>oBng~OxkrGg`E+;ZRj0mN5F@KymQg0< z3du{;_ZuxvA1EMOW@oDg;8v_}lFLk$nBm%s)dtv)zW^@2xaE&EALj!mOU533l^x?JS_OS=RwC1yB$O-zPW?VR@-D}&y zup70sbpz&g9>0V7cat;+(_LFS_SV6E{4FO(R;HMhIWt~>>}bzucog|t6Ip)mht-!8J?X~sG>3T)0MU6Hmj+~{ z&O9a&?lG!zb#^atduispv%HzF z-`2RE2Ix(--Kpr-&vH?w*x+wt9z$8eh)A8ig?XjDuoLEYCtrSwE|7UKzt>8kxLf%2 zQ}nZVz1^8zD>r*!wY5`lJSr+mxtXvx|J2H+i88WT`(7-`5pzC|b1O8~-1_r@^nLth z1Fw?E28MR1fL9nLO(&A(C-RA{GreGYZRqWxtc5KmrJy^Tkq1vtlNs8}d;Up{{$WPO^%gbhM5$E03RZijqI#36@66 z0=K*u$m6KmulDnEKBZO4V$!{FaPx{nUO(=QoG zC7M|{d!1N1h1<<~;IpQE0Jv{nNCW9Hb)VTROXw_9Y|5rbHM2UEh?+}$=9qCQ6y%vK zw_aN`S63@wGB`F-CrY^o3ml*?=!=$+2f)VEk62y@8H6U2F3)yQ-bCv zlbj3>FBkFY8R`%+vS{Yc(T6F_PtBM;s@x01G~LzYjVewM&tkhDjvvrhQ9!9Wz{wOJ z8`16Eb}|EbjM`$p(8b_NSZkhv2jI5==RHynOzxAf1mQkpUwhJgJQ}nNTylAw6Bd_= zA(_bcg2$~3C!hOS$GslyDdyFOG#lz0OG96gYDU!S2*2c z=ucSTYx{xwV#kq0d8hX7r&D=G{-8HvTh6BeVqWH%9E>v3xZvJNsNH0q$t+7`)sXLw;4#kYDwv%MP!60{_Nlz^_N~N;919}_Dm@Ym*VvNBD`Nf0@{2qee8^`pGS=gw{mTl1{ycd;pp*1s^$Ix%UOWGZ{3%oC!_a8dz|3l~h?h2XoKX_IAaNh4AZk+i3 z-%Co}j5)uB>>2i(Le-mVbLvj1o?I$Zdb>tAb3aMjzP9nG-p|@@`L7GPgSZrHs>}53 zBbHJKm%2gOk2eT)u_TRlyL>@8RuYhWXz=EAcn=ZpTYBq1M4TZuJ02<8b#M<8BBDcA z{EBl=!fx`BOxzfv8PvpoTQYLl%hM^a=?+=L&7>(k%a^`HS4+uXm!rS!@N`ZQLM48E zu+@8+Yc!C2yc3zs>EGo4_*7Q^mqYA@a3HSwdAGzfIT07Lp#g)>Pa*|J3ANJJ9PtpW z6}LYeQyi#s+ZE>yUN%bm1;4zc+@32iMu6Hn@8Jc-M9mo-Fia>pKw#};MQEI$J$zABwL8{z#H(zYUV^23Aq z@&zwAXLO{X^6`dS2FDW_i^HJxHotAN#gjm*==Gy1fh%Hu_7y!K^)pFHTXuuw$ZvWn z_o#OV)bG(;F|ZvG7oHi91%*A&WH^IS3Z&7YgC2GC(9Jd?5XTJEty#KDggMV& zo}UX%^(-JVd(V|eYxhoH{p`ZNu(ug3n*qDt%us>~c;05EM|0WRX8ht1Tsk4UG4?Z= z@{qoKwc(6meJG4^Ly=Rk{dyg=xg0jGa^PD&e)eHhT_UJDU~|3DusyrlSBBThc95>U znpVNx>|mih&Cp*GV#HCx&IXOJ{Stefyx5a(KnES#D5rz3P!AjZ_rt}`=WqH5nDq(W zEQ<%+&a~|u#fM)eZ%Q2}6K&KB<6a>tfU>kHr)@<|bND5;-fp1Wgj@?>OElr9^|n5aJj?-Hz=r}lus~IalgPZ_vBH z0NPP8(Gpx9%fja%;)}vPN-mEp5izLE*aWTa)W>&ZuvMoI%WWll@l-G>mqYwl-r0qs zyBa}MuJ=XfPN}Q>#n7eP3L4wK8}ywgbhiD=pu}J;%88sN=q^_dH~mgXjVOt$_ZQZ8 z4K*O`)$yy^Bm0~5L+^xXNm_U`k92|hk}M&!0yl~T-@Y&*oy+8pj8Sof&|biWtHn+l z4@&&d4_$R@U-kNY*ccVKOOo&-?MudJarvjE0=AK@>jt&xMfM57+mZlO7BR#xitlJC zxYZzRlj8#33_`$6b9l)#wRBykb#m#@C_At~A{kq}xHU1whA`Qt7SjJ~C_l1nX6eS{ zK)~d%Cy%8OTZEDE$$-?z#^#hr_u#I`tHS7UJIGqvB)HQEw@V;RNK1s6V3nIs+ql^f zACA|*cw3!7ofF=ZO#0F+&rO>zakyP72iE$$5BkZ~MmouWILB14q)mH_*2`vAS_TIY z>LMu)$g}?%ru~Oiua&;ZgQZ`Sb7#2$w;xx(G0Ls+0zKj6td-o9AmuH;LsfFdsEu2x zsaOnd6A=rBVd(c3yKE&~YMnl1=e>7b09(^x?H%b35qeJ($ufrp8JE`@MFeUmhZ7WO zR>9}1rN@?c&&t2vE@+SkQUZm8Mwvqc7i=`Meo#$4O|{nflxSJM-!mEKVm^B(vfms#1t;cW?Wc0LA3|auyc>O*$Cha@|lFr2qp6S$9toLty zF`67alD9XoVPf(?%a88SILPa8@Y}Uo?D3MScoQX$?*XW0g7&OAIy zaZ2?U@TkE;FEbbK&puD~jZsZ?y412T!*&P*@0#k48CIG9$O)&=^=+c4@!KE^bPOlI z6>p!U(W(&nf>U^#_2G&?p~z?9^Rd}r?2K}D3aHe^eZ3U&mLa0Y1@1s<@r)^OQ!y%3 zCEfhKCA-I}5}%~}p+!dNOkkpSa%#?$InB~+8j1{|SG!vl;gBq`o0Ql%;4(PgE)b77 zaE{29Q~?Wz2y8s#7LpbXsS7a;zRArcaEQW{f3^y3C_x`lA}UMt0(Mop3^5Skd1g`$ z7}NEHG;0GbSQ@gB>>9d#+>rDzHIAF_>MAL6>^}b0vhYYKy<>5 zVb-!CaPIH`JRN~tYIadcF8(DOBRQV?TY38GPrTAN?~VV2^lp(n)C&_V`VQos4v6HF z+O#jBYjBQ!E*H!qWsx;Ik@Yc-AsLl=?hyxR=qIOF+i9!jzkT*FXbW6qRR6YWfyIN$ zb$^+?Uia!gbk6B7;J{>kuH5Q9>np1Knftm!zbeI=*Ze^h#DjUe5($MryC9e5Mv}_C zI)wLiMia&po2q;moS=cPtE@K--26;Vq7;$Opt?t%6ETz;B8f9tyraVwYnqZq@tt$J zf?)UUlUZ9o5BWNA5x_vGmW>;}0OR-;dH_l~b;SiCN`y!;{I&Y9#qmGfT3$=$c;LGJMb7^Ah z_^VEiz(61vz9Qg=%D(S?Ctq_BXeKgnAYO||;?qfK$7`iyuYDGRBcKDXFD zeM$iMhk3lffYCmqblRJGmpm&y))E}mmUMPDPmT#VWdb&vQj{W49vi@Df&KJ>lo+gqbT&uF=%0^=DgK z+i3$PJ+pyNGk#NNJgvA4eEb*C#r2ta!$s#BiC66yI^w>cvtJUiv)yLv+P;fF4QmX2ZMsLBBzu-*l~_-mrgj3x^H^yt9W?y23?J+T&rgRQkCP;X5Wt zrCe^k^A68jDsa!r1@rAn{L&QoOE<~KBV_>L0(s3w#$zlhTOainM_)c&)&Z3_Qz z+5>ggKJL8x1+d`EM;!C14a?_2F{haQsrlsw6{SnairpWp3%FoQT7jz5uV0X-UJ~2k zL7jOXRpMPrfr-z_somfCPrdXu&i)fYDa!|flVmTqPUqJcHgCc zUg=C2Mn7i4jxK>c;4sq%G5-ZK0ed zc`dcjfris-RDGz7G6NMmx-#yz@&z+-eZ3*U(Y=L3H+#&9%8ygi=O+d7Wvz)sH_{a) z5xM(#WI>z6F|L6_q7?~KLqE^V3OxsQ`vYew6D9I{-ITJF0lON$7KTWh!@8Sn&flb+ z(M)n({W*^*k2?GGPPt{fO2p;P#=1X4MhASlXn(AM3oIGa9dZTMv-Ssj*gG2nS$SAq z{B$Mkkv$3;->C>`?3;C@@UDr?#f@rB29B+>`7$}Nig4a91ic+dPsD{#mk$8&^UCRP z7?)nh%&NBxqva{Spm;-RU~QakBDQqe)_@5q;1@<;_Ko!z{Ye0D8aL*`xytP}uC`o* zS37Yyei33g%9^(dRfqFxPii|0279mI2X#p!JNqkADYbq1MuC{X{PIm&$7>?YRz^5q ze3#b+)s(R~z7`>v;I{e0;a5aID>2P%kX1ndkX?EpV?}Aubf*1mIdp=^GMQlB8WH&> z8@}{)%Xw$m9QwU(Tzho(C)27k-c><9-~B;jrDn+tXM>!B)SAy{Dbg7O;VI2x(jv}l z)v@-=a_dM?%at0LpBXaJ}E9nf_Ak|{v}To@(RJlFD*$7@O8+`3(7xflGF zjuCD)W}h>f>3>#5on{U+eKn)$rQ21qrUhH87GKNZG>Ms6|2>%J;mv)Um zacqI_Xm0q&@8eXLHg1RBKTf_dyKXVxPTq{+N%``Rdk~$*u`XoP((wo!LvlKndCp|w zeBB~P6E&Ap@L-r@;7*T5rJu3)y+ws%`d$t0zAim9=%+L%G0{}mu z<1Ai9JX1m}8pSa}N)k-3$lK9J3IBmjKsf5chQ&T&6ew6j8o~2esY&>ju9qS(>L-(wRL($ zsbVr!sDS|7TMV#_3=i0MQe52ql$7M1ne`55%JehFHn>&1?QS1G0F>A!;zTO_lMy=u zF%s3_gygku?T>l(;1vuXit#Ty{q~{N{k-v5_G;xE-hWu-$>Pl{uCRR20@O7Nc*3&g zUK_5o)UGiyAiM_AVx7E&eLA(Pp#Ju9B=X(fsB?$wJrSHC%fjil-g_bHpX{l(9M1i< z-y-CDeIt~~-|t{GwDJW`HuoV^68!$-r83TG81$IOtQD-Mrd!V{$WE0&(FrMGJDUZD}1scxYX{zU#L% z_e7ln$88BVh1-DcyLu}?oLOn6K6)qG;#E3j+XP{?-djQ~B&0NpO@T3sUC2ZsCfiie zc1E8P9Gdf32_4i{=}d}U@i>9(thS`26j(Sz;}m&PLK0TJ!4z~04$;ba_(~flXMPGH zEiE){I@JrOWFyOpT1e7Mji;<{vrKv#Qyz%mnBl?}S_V*_I-?XR5~tAEkmetDRX$kc ztC^3ag-w=uDG}^y=&OIkR0{sk;;bG$N*NV1mds{+y%ORiG|}v$%F@;lebM9Sg+Ic6 zt3i#Cfu*wWX#1zEXbWZG1NUxFhO8w>3Ubp9fMO*HQzVs(n>j!>mE2uqZ- z92Us0lnZfH`B@+WNkz(+XmM0oSq4H{4+(AAt}&rZ-fWaQD?CPk0;r zY@L09NJ1M2bW2bHsUOilvK#s+L2#Y3QG|Z=kKnCH+Gwh5d;YM-{{R{OMO{hpE|-n` zoS!jPK>{O8y|#olgjVpi7{^=t`oF@L%w=-mKB+Ag^T# z9p(YucbFGYN{ELSH{Evj`>r8%D=1y!x~{Z@1KD=adn+hi%dXQ5V2TcK`V@|9!$51n zBlm|@LgPqF8bxT%(7eW@;?Li+h12{4E{Ptei~z8+1*`&W8#;@}9p4 z?n(rDgp)UWoY>lb4|S8v%$f3irgORf0D+yFrs?{AMqm?XWI3!o8+B^FX*WoE@#3R$ zG@~mVk5ra^sI8VV&|2Y3FP?OaCYG}#89OzvCe+OqQzL6^jsE~2{!zyy?wGk@g<3EA z^jt-XT*0-e4+}%+%j~Vxbg1&!;OgXiEcAXEiag!MtKOE$#3+x5`L+iOG}E(GBy@Ug z4Z~~|Osb%Iu7^y9CYf;@SmukbbtSI0fQcIeTR{{etX$^k8|C|_zE4ip7dU$_DA4s7 z&SpdpHF6gf{Iv4m3UwBju-A+Uz+NwoVXq*PeVtAI|sNL2dcX& zhmLwAEk4Nw4uv6-l@&}~uJ%c^`y>+rYn1KkXqynT+%6)5agZdidMhBxgUl1Q#LN}71!VSI*%^I5%1CVaDH)WCRX?46g9KH}#B;-EV> zf2GX={gUUAy#}I@3oPwrD=ZwnHaHqXSRL#~Ay(!$a|u-QvwLf}StS_;2%AtPELlWB>!Vy4z`*afyJrWRshf9T&ky$?W7O7NQ92vTNuI zDmb*ZW=`17iWX)-jgBdD^P3Q>S)E5y-0~Vy8?#&?TViKt?j@}%6hyt=uBtdC&)j;e z95^@8rA-d9Rx}Qw!k-is$>nrWfj}uOZ507*Ygj<#JTP}e0U=jF*f)SWAdrmyh(*+> zBsKy60Ms%5r2hZ~buYxIvE^^|#xpPXzmmV4dV=YA-^t1H{{XR#PA7{@0TR6=e3p|S z_MQ{M3}@1c3N%wVgu)SfCJ>=Q0-lG_C~}rT=|X5quF4byhl05Y(hb#WG6b}R$YsDK zYl5pRQcxb?*YrhkP$rY_I74I#@*na~j(J+luhy0rt^lKtEz?H|9(Vsx!At7XDq%Tx5pLCFp>d_hKYnLuwsPd;ST)9zaE?l`n z2)T0QWs13SI%IkrpSV28eVLqU(0L92Yq{sHIiPN7_M|4Id_D6Tb zkbFsAIZXnJ8FV)v=`n-Qy1q$S@CC<(hFzUVbTy$FhLFM|QlvH^LU=+J6T(v*hsb{H zs8NquQyzZog%Tm_Oou|}**h4Pyb!OToCXUkEtKh7icBV+6}p3z*dKaVFqCI{Idb+gfLd^@NOOHO2@+qxBMH>Lx8c8bir7csAP-i<3U zn~|HSJ@7|6;bcHJXdD&kuZ52sg-<_+p)waU(n-4t{wEEE9MQb}iXT z0!E8O0VlDKK%^dmNg#J29yue95b)-f)!U7P41xD&=t9Uz7NE?Njpsk?_ibq?9!CeE zu*R}>M)Cez^(+JAlIWs6dpNH$gni&%&h083jW$Rts9sH~>F?9E8FAbwwDeBJH!j5I z$Hm$<-XF?j_>q7BEfq@XVEiwWBXdJ9f;uhY$(AWd(}qpQXIey~_^v$?M~IPkbgC92 zr_?2sWqEAB$z0N^mDQ|7D~BFaaV?0<-x2z0k=MVnv85gw`&^)OQWa(Xi^Be>8-+HlGuztaO9jcl%`nKW7aElrgk+LpxjYO^i^fTQ&^wur9AIl+X6>1)vWqLRJKn z(oB$-y3j{@-HvVO)HBiT?m7{;SU^aSHh| zxE_Q4-eI4>LVR8}!F#F1kI8w}E&z54awikhM~yVU-g0|izyOd3p#Pwn0 zO)K}E`YvycG{exjc}Xb&rFO~19pRy3~CLlbLKBW+Nj|h*C_^d9y6JXV)WHcjbrht1Yyp7I{&S@ZoQOMc`Sdu+K zz9GVQb!I9*#rI|{ZjqDf8Q$hRU_D$sbLeu?fpV0 z+p+73T7Na;f7Y2hK=V%uL>l&7EiK#~V!2haQax|&xaa;Oe^ho&85Y-q7mNP@S>;`c zoD`__+}PX1uKxhJU9xdUv2Sm>Qs&jKA8(1Z2K1G~{-j~z-AS$V%H#Dab7XM*Jz|5p z6~(l?svjI`On44?znD{^@#dx<%b4NqN^&cS=*x%)s=$vP=J$d(BgNzA+4C_-_S#hB zy^%qiDKT3hu8ONON14`R-o zGG?*4tk?!iT* zd3jPm-!_;}VblbtqHzfbrA#yl?X?3h4YD_LKo0pU7a+aBbyN{X;C4BW9EDRj0ptaw zo&e{U1JzLHKv^NBMUr%nEJWuH9eq9NX|Xe-k$`XIVd2SkG@G0Gq8&-mNMwkX6VzJ4 zILb1#bn(hE$4uWD*n6t{?B+(&cPy*?O6c2iOSF8-sm$>gp3)lf?`l<3k#z`e%Y8#r zFD8#FmH9F5^~f*ktL4d>a7OYi3Kj=gak7cwq*wV0PLXv4tuGv_yeR{P3jCI09nsRa zz{+b#qxA_AiLMUOrHFvk@Z)!CzAT{X{nOBf16B@>hNvL?!kG{{RwY(sTYK z%eMf6T@8Ubr_d60O5fSiWzkq=+0=(Y8Z8l_356A}k3aeGdW-vK%n%W60_g2j4nUMr}4B05Q`zyL-G}_UR`$nOV_PN2b zwaq?*d|%7mdKZBAL5n6lr`9Of>Zrz;#^!E>dPw1DygeV4oZ+|PWq%aTX|+QBDvNB@ z&`5exee?7CXlN9vM-6z9w7a;!5s4*4?eJg^>$p zh4HvpaH11Zp)I*-o=u_Qx(vG`Y3x?g{UhkA^-VeWnuh3((ezCbWd8upY6&h+V_^8A z)S63ns)QLwq^&=i}tEL`QuQU#NyyBc{V9SV%Dbu5_7WtU}Bgsi=c z!>FCM)_+~Z$ZU<45plFp0ce7AgF^{@27zY!QW!d8C(-ApB0%!ePaf-p?;nc(g7CY{ce{pCmWidbQW|MZ^~(QIsBwgOo-+yQ`nk8fKXG z`ne+hil~Y~OUH7T%xFXsbHON|X?#>9BeELjD$uDl*o|co<$=e91>Api_ijIuveb3gW$EpLGT}Ay zN3v#*p~&ePKraEHf>iv?4Z_~m0zJnmN;9iSDM}oYZ1ef?*fl8SNhY+3~hB-<& zR9HZ4(r_H1T_-jCs%Rw8LdLjq6H6s$EaWFPKsu)hJ(U+?vnU@+hSz-2!7d$CckPgR zfaAJlzAjqr!`TZC(JZu%damomaD>c&TV*^>)6k)&7u0spK1mIM!-)LTgW`Cn8c5&) zpx}OrZ5L4=27YEUgPD^1A2nwOi#0Y79`?%LXAV^(oQC-XV#+kwxhR_4PY}RnX~~Cc zLB2U#TwJJf;B1gQIfQXb$3{!vLI&?~HB`Mf!gzCIX`82EW8|Z>_D+PGGfpeCU67dJ z!Yb+oFj*LmP-TcX5~N8$*5H_H-qjXYQ`>EKWnY~DaI&u-7$(S7ne9|rO8jP0hm!+q zfUW$X?y4lw^#mcZTQXY2HRX}+qsH0*D_v$Ux^MWxt#GAfHo~-8kTIU-?_l+Nd!}Qs zxxW zjiB&&aOypl43TM_d=paW1X4>M4mPL5F?Dj7AZhHBLgu(oNM_W@t$9!0X+|5G68VR^ z630k=Dm0ED5D}d1!jOv#-NLe&JHssw)px$Bj6F)zJlns|vdG5+h8}GWPCI}LEsL$| z8a$)y*$ymkSmfj`o(J_fepmK-xC#9hLrn4h1kGzR+WcvIxQl68Y+T%I*uRX+p9OJfx(7C{|F{1j->5G`7`I28721^3n=x zhX_jq;mRAF0Ob(40)-)N+dUN!6J`c#AG(>9%V|e^yD}^a03u{Q;|?7PmO(Kc$!eBb zt8rukVMSQHlG|#80U@JE40qlTPd$^wo1R0uf`>5?$j6U$3Mza>rZYXPAOSN^2i$uu z(=o(x4l0$NXfj69&Y|5?VTWr;?6P?gZCW;X(n-@ei%q0$sRLF6pa`)yZFNU2pqg7@ zS|c}Wmo8qU^5-sGxlv~>T)9FBxpGx@5zCM=^B}^3^W;b)V@28Su=)Q0(i@DsFry7; zySkLAWKkI$Zbtob!Ql9#D<#0mkyq4RE2uR`$UQTM{DE1Ymm8`yuM$;ei6W|xIz|z0 zyB*Y)XSK$hDKb7pBrbR*5@n{prKDtxc=Wg*=9Gl)Nv#T|ndf@={{ZUqeN}BMEqs6V ziN312XOh^&1-S4 z9~e)1V@IeZ$aD(^3ydZf@`%sbgq>Cyc68&=fFcCYoD!JmglJDqZ^E5PY-$@J^c5B} z$qGz^&{RnJl-R8bo7pvogyK+IcnG&>WP*zck05LLR{Ctw#gn$rx?{TF zLH__^E)-M9+2#>X9{taj)xI`ooit)81&&t9{v6U?f81doMx=+s+Fm@OSg{z#dy7=y z*&{mapq4p6^JO=F$$@Jhg^cL-y^Y#Bc38c4UeWaT%LX(ql6Kez_#7ll3vAIG$toF_ zspI0iYu+yEfmw}rSvjrQ344Tg9$C`LsLanZ0_hw}kHRjHo1R+(Kx^t6hAH`3LSd$(SS;L$t3*@TonV%uv^L$ty$(Uy6Yo0d&_i@jb_Yua29CxcN_-NqUzN*XW=}nG;c+P?9i_?e1~d2bKdHbd%Eb> z_M|NrXGehu#EIuDi({Qzi99H{IXUiiwV>nOk1^c`%c zI~E=q*80aC*aSKj`p%xnpi&!k&jaCQ#5G# zu7QJia1M>fn+g=VzE(@Trn}2*g2v;)Qj6tAzXWL6mF8nc*Sn{rbM*Nu2Y7!-KmH73 z=qY)=F0C#+qA86q5J*4k*=zLA5qWa`n<4xVHaXnT`uikggqG0QNj}Rdd?}+#f7t_X z*~Lb8gY=WYjqL;3%JMlw*F*NS0YX!T933DDiX&;xbO{q>dUrkm1p?%=?_t$?R=uTf|Nl z3P?>kRGp&Y=(N%zbT~nd>J;h)n@Wp|BTQgglsR3D99}v(S-EqzRO(m_k|}6cpsehA zOrKz-aK%k0)ID@7%L;iq{ znO2VpFuV_R_Q2vddwiF<{fig>08bbFfjzjmdE<@3d{{Xb5^5!4# z-Twe-UhDQ~f8yf;Z~p+ar#3mO_D}x+w6AmfJUya} zeHs%Tj{yGwgwOjz7ZwtlXN8!h^${Dd+i6aY9D*hmC0EZG&`7UmmsF?`zwu9J}yO4UyuABDMiVu?pZKO~`;rz)@u0TG8 zXf&S!L6ryEaH^e9z2+LLQHbEmbtxcRq6VUOc@_$$u%Q*+gv~9K5A7G?9r6RNEp&h@$8uv zLuDLTBd8*&Jkz+PWCrgpXtxeiTHZKK1+e9aZks6d{ZU)NEh-RcYOKzT+O{D=%VqFY zGRn3@Hs3`PDVD7aRKh7mni0365*dAF8^td6a6iRX9AZ|RRK*X(aQTnss5qxAZw zaP*IFny^`2kuQ?b6lc}=kFu%C$Ck^P(OE?S`%_;j;$yU*nw)Vq4nndfR6=JOacPmw zVCd0(RrZssJ1MM-CF9O$4Q!vk@+!2m?6Pe(V|O6?6e%&zJN(VI$8`Y&qNKJv9!D2w z*+l)$+C?7WOlv{v6;_<~R@+ z$Cc4IcWG7!1fI!1t6qAiS)94iJWHu>Y&iw9kKQ~Lvc{XvX6?IvS8D}>gCue^fVSFm zzUXkS$XJ4$m3mN~2HA4u z%haA=<;#*P2?~)ahnZ=)+Lc&Rid~Y4tXcyuYFRe}o-3B2O{2$({ZN zlC-$a9ZQ`Pzjf@d=CX{BFCJjeFpv7kT8$$cB3Qh}gI3{{Utf_4ZEdiJAV)zKO`y99?5aa z3APtC!?6@pm~{s;iH_m!I;!Uw-UpmbpMqBPY8jeHWD#TwYrYA4JM&GBX+&JH#!F={ zh$1IamR9o8Raa%J%*PWng3#c9P_vm><_Fhf(P_tS90v<{806yOT1 z%hQLMxL6+Js-WW~dk2K*F=c5jGPwJ#u8#xW;WkH6@H4YQ&S?5S~X@`m- zgalAc$UONM8br>eC~9kdX(gUG+hnaylG(~h$&H?7Lc-@70c5grWYu$v7;Yd_b!p3mMua?OhI#>b`7sy@h+nLEjjLEqaCcfpV4^6eBWuve7pi2 zYyg4(07EP5Wn|>KQV(Q+nx!IW2_enynD|U>4m}SaLYrb*1YPK)#zEmOf+Q(}P&;rS0mfyq6Z;bViNj#zE-T@P>;q2{3$aZRrJ0$y2D9m`Gfxe!i}AsB+ho@ z!-uQpebnMpV++PZi3ipE)vW&jcY%!~+#cqD&_@Ta{#7=gk};k^sy)cMD!@s-&M$Rt z7SZi}Ka!?`Oy788Qu|gEaR&xa@6D_7yr)gnU#Gq|wZvP6k9Fyqesp?PbtfSw|3<@Q70!6*AEhe}z-#inVnx;Hqrm zvCp$yIw|CLsH*wT-zo3-ih(!nf@Uto_J+Yl@l~gc0B(8?9t6%O4<*#1XJE+m!%y zQ^55F3m=&od?n5J&YxIo#T~-k; zH~_cfkGoI$Dp=Ue>|$!1I4$-n988}_&2C;evN&^lJSAj;k~HDW;^~{A8hcsFW(Hh3 zjw5m*K9_dx53y2qESxEuK19W91uk%=^eOEeQVg#Q1d@1HLfII^GA5D7px`Q;{FXNt z`np)$*M|bv9*+M2%DdAUyBw3&`6{ni&BdNk4mc7$ri_)qTVlSZ8Ex5A*erAi?861N zKvE)%o+(U@I&CWi4mKD7SXP+q44?uWET9yo4(O2rwJJuGsEBe)PARGsI26~&8Z54J z!&*sDavdbc%a7tc{el@vk#Sbajb~GrBPF<4zNrYOQjw-;8-rxZ+~@Zf!nD)0%xpIA zb8YW7=N_&<=EHFl>HQD- zp>d^Ur*B{%Cz(_j>i+dor_|+zyiCq}2M&s-T7FD!E{?kJTIHOVSjxXC?sR~qu1s}B z7kJW%ay*7)uvxLa+y$V58KY&$Jw2S>L0FwWX$Dgs*$W(a0FDauoi)vLAM9Y;ge}5#1rb;F%uC%b#>d0c17Rlvy|~%gK53Hpb4UrJm|$hd0@tSQ;G}6iHIz zgYD7?m=BWP!@9A9OoJWajB#`S0Dx6wYAC4Iv`D0r%wuRcUjcTXj|Ks28yC=p&Nvr$sCaBkQu6C8?g2P-13acV99Ri-X7m}8zD0*M`>@QQTZxq zFy_FQ&4JF1!`r%Bwb*Jgm-5SLVv+(}2KJIZhyMU5V{!r7X4H=f}22j;sP zXr_zolbQ#i_CD#pX<>9TpY06jPy9yz0II%CbQ6ktC^BGlFXy4?fUfdb$yw6L?5X9C z%YAlT3^{qKIoa?yJ3!y?C5Nb7{{V#~UlP+36xM>sc|v!>i7BH;z8jQh1l~N8p1x^JtbX*VyI@27M&~j&NEF|*o!BIq<2_weJ z-scbr90j9pqR5A<;rCv9_KBS^k^Q?V&CZ$8Z4PiA)}^@g9Ac%}vB}o4{urnnHa#!8G6i%fAtd8A&gLw_Qbv0x=WlqRCcJt#~Zq|38J zdL%_HP`*@#Jm0#C#sGLy;%^C%wkIM%S`k_}OkhR>g|i%enPkKQkY77Pi1rJzX7bxW z@}aShn0j7XPjS>CmQS}76k)48_s99~%g^#-bBt^rs}u=XcLE={8e15^&MnKI2I z**7C|uGT5;+)*S1**Xs@Pea{Xx)nG2y4$yh3ns#arDDmIJ7bTVJy)UO=uh%m+5)~w zGs(r!>{z)gW(C@D58GU%ZkX~2+tqq=JT()=mI8i?OkNy?zk-iyLb6HpGvb2wdAl@$ z798!{>U%vW=6fpWw5PT?`1P;@UnT33_<4pG4TIju=Y>O=pvjGu=drXT1P})wnkAB6 zzNJl<>x87B-P*}swUv@EPYDh9ctw+>eOR>X*Xm&u3rjBUEQ5!5JhX(DYpcs2rB z35<8=vNe^0@E(7)?R8RKgcJF#CPt3Z*d%D+&_5*}Z70f}d}%l!ZfUNmvB;R2VrZcz zoPK<+E+?r*$%(Pb-MyR2j^LXendGUQ$JCW-Yo~vd7#+o`_WWT=i*ueDI;hcUhBBR& z{>y#f{Xj4~73P>gdpYQ9kg%C#PGZHzVRx(6@zuxu70xDWu`}UgWVXOSb$=C`G!u!V z44RgYQ7J-;i7B2RH<7!Yr>c_EOOnylOm!5FX#&c4a0wpZMJgb`h!a9ktb>9_Leg!% zgYFW9;ni79h*=KBWe6_m-zfJxT^ar>0{ECqtXczR8@A0?#5SnLjOBGfG1CJe}nUeHf#9TezDaIWDOYM{)ls!ii&c$}lBxk9I*sDU+*D~6oD2D@^ znTE;ODa278$GRKg2HH|#yX=~S@sANqH#g*ask24+fKY~OGa5`BpS40Qr}m8<{%To@ zEbM*EAggyk$>Jic_a5qv@X4iS6CIdbc^=A(BjDu8plAB5<4MEY?ekkkOB{@A<9K^q z0R${Ip{cfiIGk`|jO{Kbl72y2cyCbh&)D4SZElXwLF|z@`yY;8jXPXOB-aWyL#?j* zBUvDe9H>uwsDgTMN=n?Q(*FR9D7C#-TzF&C;davdbfk5zfGD_Klsx%9*Q&_&^3ZmV z$ys1T0Of2jGTR&twx&kg3Op_JfTl*;3eiK@5w4KhIZs4E;HQFw3UDeE5SvUqB;81I zKef`k2?;BYWayg6W8Ch2{%SK_x=pvh?t_z=vL{U8ZE2>q`jyYin$38zH`!qKzGn^3 zEokgGHU3DmWXNl}!aLuCl3v9frT z@XkOCdq-o}^-li3ifH`C7c%;nb6=95jp6Ke$LeS*P|`74&>Fx$B=wIZkhhZ>bY*75 zlRT3i&`-*OiaaF3{{Xa2L*&)CZWK)b29MEk!)a*+ycIqPq*KiXVe>TL_A(!`IyN+d z*B&|gtL-$oxQ%3;KvJ?WOD?@lJwZ2W6QGkBq3!#~iRO<)mub@-9xZ5??1?ey=a}pQ zM^^mOc z85n5noZyi5%?yh?TjL=?1db17Z(LCdw<01WJXNK&L!$XAX5Dh-%heuKVE+I$pU9sWn*3NPPheW|#@D}9W*xu)aH&JVmNtWZ z)q|#NamjxO6c-V@J7lvU5f|Sl`6}rp6GU3iQG2-gglXqvBH4Adl}H+ETFj95^kjSg z0QdT#Y$&42IZO?1Bme?FHxGYhX^97vz)vpjPjywKuuA7l;bq3jSEHglYS^5w(025+ z^d_DY!CRxzjhyD%i<5@gT0tFDw6vt)q>GH)S&`4uog9VC6ncv6RE!M&062Z0CcMGG zC!>e5&`k?oJwn!VSixim%?}J9*!rv)F}R%!b6F!y2BU;=<@4hNu=O6wG_w7rjpn9d zwwvU9l-vzQJw`K+E821z&VRl=)n;}#*=7<(DTj*oNf?mF%T5Fxtas?wA>=ep-Uio> zp$=l#wvWLlQS5!wAbEQWPsYv<%^W7-D@9HUai$5)^r6ORqffxxIv%J|(OrCU{tIw%(MN$Z~=xj0AR1V;m1fHcWRns6z}k zrG}z`c|i5(q+_r#)CC32j?=4Sfl|w&$_DOgJ7e3?0}$}1wYC9K6(R9FfTzOyXet9( ziq{s3OpBv7MP-Km7ZM0jStSlif0`3ijP4XG`2{tjl)aD5D+Qo?VRVA9DN*!Mn8#hx zkr+KGJ_?NUb{&B|#4uS*;eyFgGO~K|v`TzpA~151A0|U2v=pp%>;XiCZj*6ST4++u zk8aHp(xb|Mq->cb@f+iDrm=uDdn|KBx|Xl{LJ~W~lR3>T1*2{ES-e;sEX`=@wQ@-r zoLh8kycedm@`($5RJ|fN*uVfC7H7h^#~&PS6n&PZs~;{-&62prhp`wA5JD>)v}0*A zEYRf1qHL|A&_#48mbjGX#i4O+GLJh(hGGF|6mNi|4I!~M+wl&En(Ht8R=s9?c;$?-z)@MvOGjXd&I97@Nlm!1 z$*H5swJ2TYxa|NQlod&7vItw9TT8vcqmZ+CST2pEZKAg0$eJ-_!qc*(Gu3I{VQYv9 z@-VZi2^ODrWonpwdEFGkLCGACs=ClxGc|}=FCov|@1My~w%QffhTXGP#`($Hs!ng^ zj>G*Pvk+iwLqz~M3D-phuiz(#TH`aXL01IOQjV5{DjpMpU`pOfvWJ95rU0JRU@(C? z(?>3e$zb}HGf1OgRapw{H#IyZ3o^pn`3=-K{s9$SyDJ{*LF z(J2Yx4{=;vtbj9*_Gc%>`zHMmbKO|3`qDE#0rXZuNJv_ol|qW`LIUW7jQyhxg*F$n zCI-mfj&1!CxuL>}jeUye@~ZBT-{c08fg>HJCg81dymM+L4@B#21W5+{A0Qxu&Y z(NiIspGJIhx;@)tcj5z@_ENI2`^6<4yqiE`^BF;_{4q)a*(r3VTgcvcO?rD{ku3u!EDDI9^1Xte7QF`liQF!WnSpm zV-p39KO4YvkIaS7#X2lMd#ujHy^+v^w9m1&CbCV2Oc{E$dEmzq;{#Y)t2 zs2l$`1|iiCMO zBI>&ASi{R>!FlWrs93n|$bZ^1Jx@Iw*ab{5%d-pL>T&m4TufHBK1Wr7%2^rG;T&-( zH5Ne(;%ESlMjHeKaXU3UV(

#Dn=2D^}AREDn5j)ACuJI(Opb8y=gdgr=HfV}<1G1yib;rY<7uqFz;oWZ*nen!)U&@oC(6O;hgL}Ro z=BLLE(^?aBx$*PxqmvRw$jYl7zN*$J0|!o4cAe3wO(@wNn0}k2kHz%-D#fFP&u67i zj1QQhn+eA0LX!pEKw57o9;t^Nhq4z2HaU#I#*iDNuE%i{LehPnKiypH2;^;W6>(!e zXp}g1)3wUdG*hKhfdnJ74a2BWL4z#OXb1rzZK;D4j?0ccc1%%Xen^nOPYO$5zRBNb z`77eec_IazsaWj<@|xHSK{SgO1u_xd#ZF1B2XFvz6I$vCubIB;9Qi@5AQZ{uNr{Xc zv`C*Kf#pFjGC2X#x>r!>rNIpZhbJa!;IX1a5$$cG1 zw`93V(WPQZreEM=h?ppG*;%k#Z9v7$#gqWaqdy?!V!|BWIw_B#IbOv9CffTdkQayp;{DW$@fISJ;4pp=>pDCfwcWC0^NMK(%fg3UK(h$?1tKLM_B^w?R= zTM3cEPSv{0Yip-Pjqx1q@?O^PM|8Y*%SNf!3uX^H8r(~H9?BSl`^8C`V%M8JP}=s7 zQ9ajIJsfF&K+m_u{w`JLg|VMDu^Ai&dXy(&vS$}U;kb+0?yr0!jWl_V$t)$UJ6t=2 zjPK|>1RI(+Akd`YA{ga3GS?}cP@+WkxTyTJr?uz0qRCA*h`^(@+}b-GY68Llh|$6r zDeWr2W5-KMQUv8-9GnsWo(Bk!Ebgd`77&pc(Hwgg$MBpJ3VS*xpcp{7E(?Nc7QzCM zJ*C@hT5Zx~k%>kiu71*dvK+#r=YL4L zW-T`!H)Kd}iyKGI*OKZQwoZJ~NjuA&^JkSFEQdSN@JoIDlVX^sBzi_y^q(Y+BOf1Q zyW6aT{%G1~^ot~=&d-XP8aZL(^efAZ`+2>f^e*DjOr%HY>f}^ap2>~tU>$y#Ihi%893c0Qp4tEeuc`W4{wiJ^(Ek|!{{(B0Ii-h0P&TuI3z=yzm8JbR#; zIa}_>TCC0JSCQ#nC(Xc;Ffts%!Ax+jKBKr>%@f5CYj~xzx;V0$?Yl<;LGBh@kalUu zH9;o$)oxeDtfn5dUzR;e@r6Ey$MCEF01bZ9RYM=buRJtrX@|*aG83}#zS#t^^pTD` zPqJp8s|Pq@X8LCagS$O0Mq99qlkF~JU-y7@ElZcDW9pdWA`%F9EOSZ_kzqD0bGC>M z3X3B^Fiqy+O6VW%-s#Y1=4lV|^IBwpaMzBl`m5+>gEAoK+#Cq7LV*+!YI@$B180S~ zZT;cFQls%coiPl_WSH_F-fthOv~*5qYYIHL_;~|t@D6*BtbmJgGo#&)lM}(|MP~Bx zGjwf8W;Qpw9sE3wYv!*e@Xnbr4vOO=yG<1bC&SsWNI@w(%0(O2sZtY!~)g)SFdP5LV#C?!G; zr10ws5b8tn_T)9-BKKV&=&Xa9?ojga{OJ8XLQ-g_vPwLtQ)FB`fK&AcBMt}| zn6`ZAxOnzmiI~}%TH{Y|P^hA#Re+OKN3l@x@!gY}=k;qqXg@`Fp1|SrPSfzbnC-)o zZB=Z6vGLl*gGj-&Qn}4zIY1e(m+cM*=usD8$W0+|nXWVnTeS)}F8tCEno6R_6G@MK zG?dch31z18Rapq~9wcvIA&c!9@khx8 zz@MQ10N7f{#RZwsm|v($>f$KCKT@>KOTfK{}~?qH%c_&gRiWC%X;=T`wWf zN_QWT3fyD|9!jMwF=V_E*P`h1i)SE}Ry&H3qKVc~!mq=hb878RVNQd#W5}tOWhzC> z(w=!4{{S0J<>*^MUk#BO1m< z{{VERm_;)p}GusENRn~AMOkkNjV^HdDcp7FVyE`AL7;_Q!=Bj+-{C^bgT37a6` zuE~#dWD(V8bbUe1m&%i>(}E?5XpH$rjFZRl%F&&d6Uvd#JO=VgiIw8G@F4~qcgpU^ zveCJBb9`wg_3G;kF`-INRw-<4<%+3xnpfC86w}WXP@g-`HqS0vqxWeZInB(rp(JPla zU(-7f{!q$F0!vC9siBFFYiT?tH^^GRPuZ1|)@LUq zFgwu^v-M5Ft(o&mkx828%PDa?q$b>cYC|-6C-r%;$4#);9^UDgksQ3{f;n-wEiRFc z>2loGL?k4Zhn|6HocNg#^xudG7%JA0g3~ZbmCRW*x-{_agOR?`9qO^KWldIwC?RVK^1h=bC zRbX1YTTIq-{5h%lknWB~@b)}#N3!)F4|tm!#4tEDzEtsiaozrEoJFQumZp%1cugo6 z#K5?6njGeF)f;V;zFma6V=a3c$7P2K7nyS^Sz2+I3B3EBDk=_l)@<}c%+YbAxlI_k#Yg8!9sIf;;dY3A#CTO%{bdM z!b&I>K0R|vYg7bdM8QLl#B(=0Cg*> zah};_r$*_R1&d{ae>LeEUL1IsObi^n0_S^`m+;4jost`oI{=7-*SYQfYiR@n9u~yX zNNBECGsv26M@z?pO4#GVR=C|RJg(bIDXi&(M=dFhd0g(RniL>d$t6jTt*Ff5NCK#+ zQ$&HvdwQU?-y)3Aptd{|@R$O6uo&=_FekNIU@M~5HT-z(3oI5mN%f=X;-LfotjfEHMAAp0Th^f~P|8aY!26Ild~ zo$L+{pulgD!70KCVTj2l*FaCH!;i|-EL~Xz)5z$<3&{he_E$Q5c-n3_%gTFXox|>; z_W6|;OJ*abe6qF9+wib-{L1Y7xTl%Enrl85-GD!u7Fs}avomvCJooNzP&l#jwH(6p z9{T*h_t{)wW3qgAdZQ%t703ypu*TOLzT6cQg5p!M2fv$ZYxkW>YbTkGYeOUR2SVPV z6D}y701a!H;4J?Dc~{39qx-?Z9R;gy%BnUvUMHEbu;j6_f&gyb2>Bm!t+FO;p|5Bl z5qzvSmn2d;XG!TGI@|9`-yd4YV$e!C53$U`xF&SieGC1EVhh&U( zhMMiiRPiMJ!BknR#?_o$33Xby#?)IN7FGs1a2&LvBBcUDI6#){++Kx zX|5{rESRTlvB5%wCX^hf)v1$MX(3f)xY@F(uyDI{|cib1rrNhIa6Y#Ff30ggtx`vRo3;bmKlaOMwdc2}|Lv{+7bu{FoKZak9Z zLbGCuR!TB}pyg{YVx6QHyVxmHH0)H_Sne`kTSt;}k3#Um5_=>=u1P!Tn6y3IX-;g} zFKz9N5AhXSj~ilO4(gIJH|$>w3lD~DEt^dVn8q0B8k3Z?Q3aNQXe8eA4k%9*bd)e^U1< zzsXZ!NZ`g2e-_fL<2Qou@G6{7*^&MGNxMU$sF9S)$!YhnsxsX8GY_#>`3&@lFV$e$ ztJNbL+UF}nBFhabQsHXxoUF!@9@p*WzDrMz323zJeVM$1@p4tm(^=;XhmQ#@#b_NY ztW4jvA4^+59sF3Qvf*vK^>?y*R;bH+vxYR$)Q**+p96i{UQsR*^Hx>jNLM1Xio zdLTAS2!Zw!BQ-!cjFbY>2wD8-Jh@*NM#=D>Wq&EKs`Vfp0X^7lWAZj^@#NE^BbL(B zPGu0H02=o*<+;CAZ>Yy`d4O7`k=q{ERne>YEU{+!2bH7BWds)v5ku@(WZ3{839xz< z*YW3ZJpTZf3dlx(#Gb^*@Z_vCv>6L*ay+Z{2y(bLldLGtAG_N#EcF-QL$zN!B4vrZf&B8){Cw5dg zu8J&TTVQ}lBzLM>9A>?+V-Ambu6vR%kD?r}bQg}aTIIo&iKa4mof-04=f3$aF6uvu zpQ7SDxERlpO5Yf6-J{Z?lR|ZROF5aK|;UHXEmK3 z9NZal854%aSdj2;k-~eXCnh`lF3XK4#?fXEFESw;+g_&kT6pDTv4^q2%{>U{yhk1K zVC2+}JAP}>d_Aw@wlNWy$Q){q1-~#okxDM@3yZU05n2!!;AoD8NC%>%NeEhlBzffgMfPVhw1;NS3Ox;l zrLlmjHJwo60?>U&qP&&6V=FDHU`v}V{u@P+xT*sMN>)G5sm9VA z$4EO6R4mU7<~)YN;AHF?c}~H@)vvszy9s6MK=Vf+33oA&;X)ClrylWK3!50#a#no3m9@6OPM@OG|2k z2Jy<~5;#t9Lj_q00Hd>(sPXei?LCw!hm0bz1*e2SrGU_Il?|qogO!UM4JR<#9j7#_ zOcsLzp3;OJN$qlMSPc(wvXBI!%aMyBW<@8KWQu37x79STB7*_)Lcm_(Wv8MvinGi$3&@jrJDkzVt@T9W@Z!=13RC6BZ<=Vn{%8|n%J2Yb zBj~kbX)TDH8+su}lPnkIJ8t1c6Bc0Hn40f_jt->BaorzKK}n9o_J(uRr&^&rTI{np z;qJzjqNI_;ymcLTQnd*&CXu-C%-Ex2L6n}3a)`&tmobVvVBJ`gM^HY(LNy2L`lJS-4*`s-OJe>KbqfhRiWL#!> zk_ishG2L&FexX`MadGTJGh^O)iTuXz^ZixXTu3@p5;5{(&m?SdsuFwluacXRB7#@r zxa8nooRZ!*i-p$e(22#D}UjMMA=Q1uC~3r6$&p|j%1o=k;TwW zemg-?GX_uFW_C7Pnj6TC-w8v9#8_L5bC`hA z{ePwp_}~8kiB4|6r#RDPvF}9(CHgnwpW$Z=o7?IX?%@ zVNd@6YQAwN#UgbkKcX0#XLQAI`nUw*GD{EKGxLxs&Lw z1P2wde0gW25uf_iKDC9HKA$N29B(^K0RBhtROXBL*`L>>^E8(mv0{~OjgnYf&n@8+ ze1nmpv^Z1loYT}&g{Sc^)0AsyQ`4h;i8y><-&HekEmSx&Q(Hw_vQJOCmOzaqyaU1@ zf4Tv9NFH~KQpihbwD3>^!0L*^3bGDzM#x&~wByPYp9xk_xid7vdFVk|y>XF!qA3U^ ztaj%$qRAg6cObZ&J;f+vWUw{P9D%p<3KT$&7&BrHY;WL`ZWY(t^jz&Ie&Uqv%@*FF zbb6Co?UL|S7C@6oAG)H+rI2`P(6cHTO$P+y6Hg+Qlx9A`BxDxwRIGhNClKv(NdvmK zk`|6>N0qJF@Tz5nX1C_WP83u;jMkIY24=CWvB6aHkY(<<=wA%l$+a!43Y;ynViJ}S|%;`L=q zJf6)I6SMp)kC6aw&VrO2UkODNgLE$Z%4RsUwk~wui6dIa)C+vPT%C_~SRk!NpBRn? zw07^^M8v_58Xy}OYOsTWUdhyE^`B23Ks^iZrYY0Jjz3{^?aX#D^C9m2Hd857C4w%x3-RKE)(@Eae|?JNi{l zsz8c2lfk8TD@Twheg#jdN54*Q7qozgh?%9fKP)(WRIc&dC@kKQDKNB?O7;iQOoOHd zRmmDN%H_+KraaM+@xwPqj&Gq06F2+APsw@*jAPw`)3iHnbyx|7PCko|qlfKle;$^iVNHvA^L8 zeo@<_nL7Y406S24KfG1k`eb=fx6{om^p7y-1JJk!El!)1*GAGxh^MqJ z4uu>+rOg~Gm~rEUw9!eC%F>OwXoHWl9Qjx&*c}lBEZ#$16z+FQE*32+Z;}ov!R*h-(qP-~!l0fq#}G%tcK&Non!y~8 zu9sm@XESC?_i_l_7FDN5MQvFXoYD8;Hj7DV>{Cf0!oAU+FP`hA<4e)W^P%jEFI0^w z({SX_7W0$rv&a3KZbee)9rs}}epVTOXI2mB0qzWKlDisTIN!0P`7z6*Nr8-FyXN^+ z*%Edb@M%bAEebpSH6lJ30#uC=EBrwqW|JciCPErN&0_Fr*(Y;DgGGQ=^H9Y(P=Fn_ zueGe4cv53cD0F3@`ga}^@HCdpnd5A8TqWA#!T{(By~N3^oJk+jA`K5^Nelue$molt z9WSzzi<7o3#iS9)9_Vsy*jRLp4Ed)w#BsqJUG{i|)ptGqt4Q};5;9nx=I!*2)m8bb z4-8(C$0ZejLv+Iykm9&lDU*QX3k!Q0rO6m!I z&r$BR4dkyP@aCv=ytZUnILC*7@7;Q~7F1c7(d0t#_DI_VDsgG-8{~&sP-KLG~(B{5IOJ zk8?BfKFOlSV{4BxABn@?ByAwYnFvZTwOlm zY?6(^IDr{HN3iLn%ZCe{)y)N5MA~Rnx?{l8-~+P<@>dbe(g!P^sX987wu7`%AmK%R zQzI5s89YUg8@BRD_DxerLd7Os?xeBu@S$Vnd97)1E!->ur$RcE=srwD(~n@X+yL4X zW&n5~BV|*ZqqV?4gLIXZu2eD!@z4y+0U)-354xtF3D{~)#iQ7jrrl^V!q@idme=6? zd0Nv(K3oXqlY5zD`>9ds%xgg(qPun&{m`T2G)B?~V3R90MoIKlNLd5TaceuMUT&z? z*5J{|`K!svbf)_%>FvnvE->`G!zuzP{H9VPpKMo zEr$lv!WiK^5EIi9$I_|s9y=t`awd`6TNG!#a;-yx%l`mKIc6OIK;F3$2G`LsFiby& zw5RHs4||11z(p0Rm&5Hbh`?xX)2fl-Ej(gqv3hCJdWrh0@ej=+bCYJ+C`LOx%UAH^ z&5*H;+C`D`R1VW6$90fHhjKVx)g}ZoyK|ZeRT*9tj#r(n2Kpw$ERvy9#g1D%+Ye4- zK$Xo7c_7grH9I;;ah@CIIBXO=zexH0R)yXZ%JUt!(alg(F+3}Z_n)=f-~2!K`KElV zU&4$en9=6S=_0q900(sm8Kh(ey!m8PyM^gr?6w;LbP%wE)Q?I307SC*dH(=sFUOh8 zb9ynt?N63PtT8<5O(tUlcShpd>IX#=BTRca*h@#^_gs%$tXvLB|B}}^xG4X{vhy?8}G#m3!bqTjhU*_A#UoViNN2nNGVkW!%T$J3M zSI-2x7K8oT35qPwDIzhJE^%Xz1ETY%JU@^rdMAJ#_i+jWg>Z?WQ#CXH z0KQCp)Jzi_XP6c@;!zoH~Tfxredeo8wX zeA+B$)C%UQGp^&J!Z&eL2hkWig&Bv6Mrv$Xl1MNqZ8fP=;>58x6&iDGa*%jHk+*1M z*>ODQRg1~U%7_XELf}5Css|QM09sEKLLkm#!)wfKeMnidHqHv!iQG&XRZP%g&$J6x zkWAxLRTevgniZ}ytO`cKvct@Gx^rG_0ChxZr9>sf;_j+TI8dS_8&e~`s>m2SgeSYQ zdK0>$AcvI!uWMf{L~st^e!u)F>b2wy>OCCK-m1O_I%WtSA*8Sji<(WkGzA zI-2BG>NBu)B_zxt=FlC=vWZ7kkPbmVniI7mdfJZW*-mT?Ewx30$jq=wB~oN%6C$?D zj5Vca@(3+JUBh$lIMU{*AxjQ0FL2d{3-hf{{W3_V4KR3t~>zt+T~{d0FdnA zU+o&G&9r?H16$QW$H-}CRDZNI1+p`b6Abaokojm;Cqvw*b7e;pOp{0$-*S%zW;@{y zW5Ea6TxA<6!c-KJO5pI`s<$u18h)JpxiWy`$Y|uQk6*ycis60VKzgb2D<{V#JKQ7>AsWd*{AiOSheZ-;0&#kWJcE#vn>6k?kqi>9z0@LKsMo#?ho@-(16E0lB{9p4X*9a^Hrv|ID4RFM74Xr zvbX#yw;=xj^yiOfTAcS>5suZ$f=G5Wjc~ASS}uysHh(R}g!fuJX?FltG|l8@J-*JR zq0{m=0nb!_`dxBH{c`2Y)E-?F9xNB9JLSsr+>R#$@?MYPa6hW0Bwwff7o5%eb;t6x zGqd9V0LF*a0HER>*p>5go!vsy{{UnM{{XSUWJbw$iC7}z7u8D6H{tn5_g+7dQE*Kc z4`&hlRPQUy)AAWt!-wh$2L8hr@>OKy31Y;Qo?RbbqO;R;OBw~N@0eup-aOy>c}q{o zAN~}~3GIz_rph`49RAeJzBX4wb`_H*BmxS_;pG+)XN7lBH(W@w5 zovX}V_ZI`)l_95Qt`8#HHCoS$8W>{Ji;wq}EP8&WoJ6z8V`I%xJgY4y!}!?0dywGg zS39@^@>5Prbv&TlVfPK7=k&j#IXej`&Y(v>0f zw2t8dVY#ERV z6Mti?1@uE*D|P_78C$sw;*WBWVf@MqL8QX)=|43gydXsojP)n#j0#+s#GkS5{h3wL zM9GN{7Cn`LKXz0uuPCCyny@Uug^eOGKs}EtRtA*7MGgl*k-RIdHZbPdLng-KiczwD zpN=D{6s016pI{Ow5>=kK8IO}8 z4FpKg2r92{l@Mgi1995h=Y$Wj@pglmWjKy9JBsSCTHMTjpf-?0ThJbhX)Wb7(3cP! zR0nm3*73|5l#K(@7K|O4Jg$g)-p&}}0ro3z;NKauOdn#-2g!4-j|bpbQ~N#3gVxzX z&U|LmK8M22#?F9Ei!&u*?$c^P=)5;T@h)D6Cg@*n2h|zq;Jq73@#dMR0p}BqDf}kL zD?FglrZY{Nl8~BBW7{JG*x=^4SRp>GF05eNU1><9g;PYaLPt89O03m&ygey}*%Ps( zeh_T_iwWWn9b{xP%fTi#gYllEE8^SGE>TNn-&64(9-PzWNDPDUG}&Hr;x8CwYEpSX znBlwF4_~UxPpD+iCihC>erD9|D@d1Hm8}J=Xf){$`6t647i>hba#V`xCwOr;)Y`q! zbaO0?%*bz`8)Hv$rZd8r4R9wZ@_>02#jCj38d@4Dt>_12$FL%ZTD}{n(w;!|MD70o zmvuv;=$V?y97Jf=Tgdmmsrnks?n&`Cdg^h*40aT(z&T1-&5bTky9aV&4n6Wt8yx5s; z#+dLAr|7hJ`m|4kJ9^WGaf{i9E-6cBHeT*&R!JnV$QEUs3D;m0MWS;aQ-c8m?Gh_ZZ_2D^n~%!u63Z3>s^Q^wQKNl6VPDvZa~ z*;W}DEDYePEXR-ibyyr0>T95^+O5a5@Om46NyY|p-EF>#k3KwS#KT2+1sZ@ce+x4lGHbqMdEB> zHbwyhq=)>G-hqs5lQ5wXK^rQl1vqe{LBMEIz*LovnE1f~5$ssP} zDDT7GL#m$NgoQj5*BVT5Kq)dPWdx7uNTgN#(8x-bgH72T?GCF0f}_h53yp;)Q?ziS zmvhNkrP;C#l=|)zGGcCXY>tb~bu2?0p7{97EXc$T-YA9h|Q`(&0H8geMRWuDv-^W66Rt)-y);Tf0vfm*8uXaG6?>(kSbkB{o|H-!Ac{s&xF%1@uX~# zf)5mqI;x#EaOgPd6|*{p#%i4&jysPcTrT6EqLkGUoqnoAZ-HpyWypyQPEBtCKeE*x zjIE6!4b8HQn0Zo2q|Bd;;2&d(dgYI!`S7ul54>sjUW?*ff3#@1EgeH_FFSYPS}?sC zbFJB7jbVb7o-^nuIBne+9?D=FLV2AN8!x&mBn3d-T}oEY(0ZYui*`J8wK6B$RTDBn zHEPQqYXg-FEH@?;f!ms!yPuM>9OFu|dl`&9jkQ?F?oK~_d$<%#gdSY(dFk>0r6N94B5j8&C7E?j69 zTz_fBd`=eE4pjpq$iVcpxU>~JH^i9uc?KrOy1JJd<<{ z7A&lS=fECMS2&VwX>fGtVW~u6t{pg3t=8dZ7}#e20K>SVzr`60gLm0n8hElOT5dFx z*u1fv`ZRCpNG{=KCGkdRk-$d~q6bSR{)%p!m8|DIvSed22m$VC&is>QB-V`I45PMN zz21VWrg^n8Q?@eYQ!MuL%F8x840m89cP7fO@b*EIT+1N*F(2lQl{k%#dFTSK@Jy|i zZBkbYaAjZSsxh@=b2_AH@xS|X0q)!VO02t-{S}zn-8dHTL}67m!_MT=T!DdP^Y<62@Pn%Uy-9F~~PXas0LSI^HAt z5(iK{)pic%;I|$83_cc6F;9cY-Bo;tDOTmxipJf@sx z6m(QGaa7FgcsW^)2O?Kjuv#1}CP5Hm000C?;A0(hr8Iy#QaH!-PF&7i4H0qGBk8TP z*$~Lk6dc^fM-eueE-4w}n`T?Y`Q&BC15c}y`6~PtG-;7Dp%-emJ1FMslgQI;Ye)rJ zVGF@y)@iCn>~7e}n^82Lp>u4&Qso+jyd)ezKO|Tm*#YG%gCo2yq^=yU>bobNYh>6z zW)W#7G%k^$tOd?J02ZX>VC3O#6U10tEMIWB`4e(F*qY*q=~rzZzqsCsrdE-3?- z6KFy>yV6v8qNF%mN{kOE;sl3&+R1P#PXtaTFwchAu*l>EH?hk|`)u6^W3P>C+ z7}kuL9Wt9))7g^)t-Ov_KPpcun?ck@(DT%K zXvZsv*q$8f+Cld#E#hoy$z$UqVX;Hxw9O8Sd@nX`$IVlCnUI`#q>aJy2T`x$j|2Nq z9zwVoH<|^gTd6)#wo3zqC!PUaL~)o%-%^79T2#oVJL!U}kV39=sJG~k1lwLYr6n68 zlSiTWf5z^|ls6%VXlQ9`M+Uq7R@t5>(H$FK{bK+Q7e(BK;vvM4L86vpF#*Sxj`!Im z<3rYF&so$zq#YX+AG5jnG7g(XH}zQkTgUpgcJ|}##rA6jpVX|IMbpt@W9D@+gumP< zpuLpl*vWHc%YNzPbKZNn+H7(8*B;X1dbBH;GzK-h=6(MFb*gJ3@)#QgEoaZVHA|o! zzRFy04&=(xzgYln@b{Xh9jiz6~(BDo^MZmvJ9G(h*!k`vGRsCouKE-}BT;4XCIO3tP! zQzu7`>?aA~9;Wg~xb|1Ney@wD#$#i{Chr+Mf}zgdZ>T?_rpeOZCSRM1OCQuyQf8S& zNfsK`0C{u3r(J@mhFs8{f#iU#Vam&sbaK20jvXALze0nN7o8cAxbCZ>;E1%TQCTe6 z83Y$NkUJ}#A_ulGPZq0u$RgqLwTIZL4c20byBQ|$V9{t;NfR{|$kV;DknYr*jjBjS z$GV&p5+}^JxR!&^0+E<5Y4aZAKzpI0$+NU&~|99S%kjckRyzQ@E=P{y?SS{khzB3ban!+Qu0{%Sb4(2i|A zm7piJsb3SLcGn6iS|}iCuFJHYEaB)doCa73zO}8c%K$imN3KX+6p#O(B6vTI*8EXp+;yR-RK@;k9roShjU40|+9mOK;5% zKP|`7;7T=8I4uPyv06uDKvNnM)8ZwH9JrfY0(RR>027Z0XM}eI83&}Gk_tVMWhyMh z?cqw0D6<1ZER*cnjG@(wp9uwd?y$<3pPKZIMTg2Z78g>0Pb=Hd)&6O?T{66g@Lq$Z4Q z+KD~X43}G-e(E4uGfb4UQ1@CW99+;=O9oKMHlFKGg!^b*k0v~3+30*p^Te0oX%{3Z zO>adOCfb!B#Fq|%${Z)x35`SxTzWCFr8K9M(yf3)&xlEi_7Qu53(KC}uOry6RmtWe z7no%>v*jP(DVTJ{XI7Cf4aK{DYD|*XMG20kfSWYps2W;~s5|lr;S0{?Ky<>&G&2VaPjk-h6f7xysM&2UfY)wO zL0tBSu(b3cRgjO7Gb6+^b`@a<4?G;oEvU%!xC#f|2O=3Iz$_exHowUxlZfrjZbJYO zlg-(8{uE>`MD3e^I6;~k=%x8>XaS%AnpAwR-SJ0+vl!E13w{Xxt<2)bDx3b$n04IKv3KUJ*7 zeQQnNkl=bQUy=U+A=vT%0OB(mmhCfKIV|D5Ptk7leM&6cX7kN^thb3VeAhYMe(dr2 zDsK<#Ps4j)k^FuYXDHuwVse^-PD%?=i=N z+u2?C0G8=GoQ*tCAI)e`amL#-WuGjRY-BqytNV=#oZl|~o0$r$)ga-suzH#~9^qNaYF7`Mj{0z- znHNAwS?ep71O1}Zzvq7dll`F7kNkh&y(crx(XiJA=@|pvrFmXJwgR+rYgx0z=%tr) zTq$RAIE;N)Gs$ht>Uf{X_?!$ZH}X&(OLZFeDr6)aQC*6QmNw-Fe8v41GkfaETpZ7< zRP0x6%5TlIpj%rsWcT4pi-(8z1cVYB12^LAQq4q82gJsottM*kl;L7#v{;@n*B|c= z72k<*4on_k7qZ%aK2;75Q?m42og9EBh(niv+J~i2XHd$R7D09WtsrdSs4z1L)L8N>n{%OWZ z7_qpoM@N;Lygf;$;ws84mOOP{bq=8T$mFXGePQi2&+4ma89_+hdF^j>$ulDjpyiP| z(Lac&)9VuLJ8e!<2jWJXCst%%iDmVjdDAh`MtMEQWnU!O87?KxAQa!TgVh!Om&GoK zaInP--hMZ57LOgGEKwK~00C798@ZS6uHuGCVgfcf?(0n#!Wr+NvHe}L7FqkD^(oB* z?3eDQN22HI8ygNg=v};uZ|b!AcZA`_jD4}ql#Y#WK$(LS`7H?YGQ*2jW^}I)W@^s` zqszxVWpLqYrSO)WCM0mM7CnR$FIPEEpHPbh{{UxXJh!mnswA4eQ^9j!5b^*nHgD*< zj!7KIV4Sv1!qTyH_JIoq?(cUl{Zn&ar|#W2j#szgZ^cRz{MlIT(mn42>vE4AES<7S z){6jxT~gfFq-lqby^;J*SopCfV>X91+${C0&kz?JECKG(Hl3y=9I*jj!@bLuG0-tRpE(_`Ud;V?JjBiJBeq(;Hg z1Bc#{?~_LhLxTn;Gr%!4H1+{jyDnfh#S?(}AU`7@a^|=o4I0NoFmC9`b2|o(pOS$t zL@-UWHa4_7qsIYN;p?;FyayL;`KzYqU}~@!vKlSj$7Kr-1~d;F+5^XGJSdu$p2x&o z8UgJ}4n~`)=%ml5$@YwXrLE-G(MrMBv2_**Wj;*Du?i3dkC1V)Ofq~f;aoYpBy$JU zD$L9WMts(g;nUnuM~?PSmzZjyg)<0&2Zib9?c4Tc%Dpl;Ye7^NLKBMy#)nTpQ!nV%a4YS z;-9HyRmL4v)luYRHYV+jCZ0=M2{_!GM>;u z_d|A{1Dj20W&0HNT02V6qMvBWO{JuhOUHfiT7ANWE{82#ZVvVfJg`j~A)YL$At(w&*i*yt#z6N@ zj~{jvvwrCSe5O*?_N*Eg zdQkKyI=Uollq!iWcQ%V^Gabs2V1!5phi@aIdr2rM?R6`$O$P;0c$v8@Y&lR!=Cz)e z_Z+LBpe8I=vN0!LEa`EmR5FXn$phc4-o$5TR0q|K$ZpNtbEAyBPZUihQa4pYq zVC&g>49yP))(2Sz9M==qx6w#4=eUujsRLL#xYE$*m@#OWZj{E?<;l;?5AslSX#A+1 zmiAlRZMWHJbeN*ZVRr4$arHEgisdKL3m!ULnNIw<^4lY40)tD14`p23h(v?$Tl%dA zW;nvc%*lIw5yt!c_+D)!1>?+$LT~1@VQnKnl?ch`)=4v5?ad*>9mFZb8^f-@YS|Hh@uTrj_fmZI?_NuJ7%LxTpMK)9UDx)m*R#}!T zs*IQLZ9q#e4YzFapKunA2{!7nzPbgR@WI_X&;I%qc`J;0LBoOoT)!v#JANcBISe}I;eSi$l6-VwM{-u(;f{a&n@&j7moX5v-J(2h7Hd8svNTC z0$yyZ7e&pJWmo2kX-kLnYLeoN?x!JZ4J}`SA=}}M={gA>8c*c0dW)Rtc9OUL7K}5& zb5~c&f55D|aJom65wwy!)9O7Ktrp6;wMdyGn&3&ks9)AmJMg(in2$aDcU;g4(HN={+>6k- zBny{l^W&Sttyg8VhLAfc;YZ47sR3BLmF(#Fa_teZN8C7k%8!^mO?P!C3ziUrmcm)Plm^sTb62S@$_JSCRYF&K;^$p=((PDw;o5r;kli7RglR(R!n9|B-kDJ zPYHDWqwP509vOQ}uI)EWcF9CRn{R?|s<}?xgrOLwhUDy%Q-7T1mJYnA`E5A!w6)Fk zd<`8*PReYr&Xw!~aDN1gwOy&rCdWQLUrk^g{&oBkWc`~lM(CRP9Oy&5&ExloJ8!37 zs&i-aF&N(}h$J{SwIOOPeEK#n=InEbbdGlw!embStKGQJv)u5gV_LF4z5efl!^JS3 zKB|_L--u89p#K2%TBS+J*od4GqzO_+p&V(XsBPus`>C!2VYLmv5;%&<*!6MY*?hdW zw*Drnbu&ww%Fm47UKO`RBW)S5j1LMdE(NIIr$OjU&|%Ruu4+=6Bx}}3`aq1y;i>EJ zkbj!iy-;|zA3MXjg1SaZA9fPyqrx0HObD`yaR^I%c8+V)91W|#4rqvkmgw@sX=2XFu{y=AEM`AMDI)36WKQB2Gv?K8Rje^NQCPqGHGvhgz=FDzY)gVJGDX=_);G%hxF`y)NK3+`UcxTA1Q$kF z--xJDPGd0|KMC%b;Ywum7;Qk2m8H$r^kShs}sln_x`cu_D|P1Kwmn3XXxZCFkc@!1aPF64ZHp^f}6N^;a4%?lX=hO!*B_6uffpd`WY^S%lnB)zryZRDRj)3$@Fdm_j{|@ zrZYEi1M*5-2VN3h2uouYX~#^;J}DY$(YRN*Oz5@LAJ`zf0~$e2iNBCamyP%~K1%jy z82J^E zdprD;Z|bd8#5O#(#6QBf2OWo+2yeuV!l_fn(C?iy673IPYfHv^Wv{|V1s4`QLKgv* z1rFuBg|BWUa1ROJWsSX+I5L)MDY5X&y>x5lrh!eRG3{t=4iq_#!DuBKK|*d!iy@#^ zdp{OAUO{gqTTeTz@~d9rX15-NEgIB9H%|euvB!rGWoe10jC_W^ClkjYqhT1H1K#$u zL^-q7CPrTPrk{IZ!i;*KUZ?zmVpc9wY0@%YJk^@a7_ee}K4M<#{oCPUFytlPU2u8& zDZV4jIr;CNjT1n74`l)awToOA)WbPHkeldmqv{F_kh(d(@1a%@#cjJpY)u`NbEih1 zh0RzPrje|p)oZ*nAd?-Xrp2tgqgt;E#2bv#JFLD#w2c^G;Pz`_6e&vsqK^RJDMOUF zBR*HLj~o;i8d69>k-bqgE-z$%Fj^x`p?Pk;h>UBMBr;tLpVSLilX#*(v-pD{wba`6 z{{So=tIWToJU3(OOq>r)(b)Qf%F%=RGH2XOK z%U_C;U9bfjeato#A#EJC5c1e1k8tW0Y*}TMZlx$>?r&RGLW5B|9P3m$GBs=Cvj-HT`S4 zIo-=u&-yX`)KEETDwosiKxv%F~3; zWH(~%=oO2&K#|_aM#fE*Q^G5!Du-1*TL@Z7M&edmUyv}-OvJ85WtBwBN({MV6VZAv zha=hHVB7eeckRmaoKL;XaQs9S>N*@|FAf0i;{O1O)8sly9PC?_fz+niiaDz#Lc@JR zerejQjc{WJRT?L4Xm7H|M)FJFWum#eKQ+@ohYxfXI^IfdQ^R5=`B5#Ay%iE2(h@on zm8EyYQ!Fp=-s8f+Ki#AJ|)9fIn-ky>ox#|-4U03L;x@gJL1 zc4~0HGwi|_@At7t@03d|0C*kNT=^pChQF|j{`ebu{N%ORp6ZHwOG&4MVI2#Dl zH_-9(STAQqEfH{s#M97@QS~)GT_N$cczM59ZW2$;CUoMNHT4%Ej)_~?+8aMt;hnNPS<`)Hbxr+uXJS4 zcO$qec8bDS@n4B_GR<(&&%+lyaMm z<+Cm)O5M@5z_@&rPTdtPD<7w5dAamsh_#3DyiorD%G2TKdVZG>mnGry_ubHbN^W*j zvEgBX!LgCldv;Lb$972b9@6Ud19$m-S4tS61=h}6oU(1b5+A6OEKQAoMo$9yuc8L6 z=+qi_*5=sa`Rt=)7sDIhCA2s8X1OY6rRF)9(zmZe^Z6#XaVbScR*5){W<*Yjji$H~ z1y!EvvmR58Bgd$oggfCy!I98sG3D+oaobgOX_}N~9JiD35D7!vY`D~APuVXHXpVG1 z27x08G&mJXv2}L*gznTy}}l#CzTYwAvXL` z{{ZP!%TcRo5@xryhYkLas4c)aa1B09a%xL4$@AJ&vSrtgfkQwlpicb&B} zhp|CCD-B`~v+B7Kdq{tpT^~$#epjpZOy$S1`7Mf769Zp%i=PhQ415EW@#~x6{{RZJ zVf6x=JdFd(j8jJd4#;u4aiq5GjjBbI6Vtc=lhV|PvK%rSy6dF?euedJlEajghx>k~lPVHmK#!%4CF>5{rkcgD`GEwjK@kP?j2f zV*?%S1=5=}xOP@}*^JACJ}0(j`*#Wy+BOXK>Y(w#9TtBtP1JN*yxchnkEo>zvt%C` zG(9KSibrXnD6FOjiyJLPpBC2-#ocJ3%ZgZpkw496xat*@Ns-%tXX?5}?vA#H3Ze>R zWVyS@$8Oje^6HQv%4fYIzy|dW9m3Xg+YJ=3 zhgX;f)k^?v4r_yf?i3u{Ja)!j9p$^Te|zSk;7=r3B0KcEf(oXHnR?e+)OcT1a|p(f z-!}gMn#qMT7FR_hTnPodf);#{v}wgYGXDU>)p7C~_5*5LWD5hQ_<(QP_f>X1)#Q5I zWxp5kSou?qo>^19mOgfnWTNSuG&l9-Q9;FU*(^^$#(KbZdjL>Vuk{yjYw z`bJNegd&iGBxJS38x|Fb_549rX*iE@`(%wQ5;xMqIuCViO7UH6R(BqH1?3UZ#3A{P zW5~2uyJ=9G_sf!KSSn6UIzYxLt7Ne`J=4UYMR5_IS+A;5EPuW~RZAoGTgUiKYuZwn z+Ww#w3(jEZxxP#o2nJ-4sN_joEGM%q!Ag?)eq4lIB2SZ6t1@zI zUgU{8AB!7I4Bry0mO$A+JMo(k5R}w_P3Ijk*T^h(C2Ab*t?{fFyYjf1%>es ziw>)o_6#>|!;7%varaevoP>i8ayPrksBgO<1xzS9<6Z&GBN6< z(vL?is&q&Wv{o>?qUd1V%C*D7y5of#C>Ayw-a)HZc$fyRk#RAD1&|c;ByqF=fv~6- zk|S-JQ0AJQ>0OzfK&iSXhB9@JzsP%_fczwmUGzZYkZKK;f?dv{rbjDSD68C`0x%!! zxsDF@coedlmKLFU2Qcx5hPZBS$w~Wn-+~er~}!K<^nl;#RZ%2 zzloco%INa&qsn1*`iHH*LRYG3nx+=BiT0cqg3-g7-K9oSuVr>7ffgP(g^zF@Nv@~e zbg=nzSv>_Srv+V|2$6@HSTjS}(8E7St$Uj2>4U42@o_l^YOL8bQQzbxMc2KhH(@)hpIoRXrc;n`oksx!` zC9ZpTyp(zx1ByuPp*Y@6ah6Nf*#2O3ku!)D-wY4I|k9 z06tM!D1IaAntHUYCKJQpAoOshngh$oYp;hID*pgVJKE+RtmOy0E$%dA^*jb+YI6WR z4mN&ibhtw%b3p6Lzt$maxnvO1XcE$*VB@r9MC#zRG0N2n#g3hlVrI|^J9$#yh&I?m zF&6enqiSf5=Air~O)=Q$fc6WbqA#;Yq|P-R5%}*nEF!t?J0ZuDBLF0DICzPql1I9M z;ry?$>P-dI$$cmMm9BO;gC;_D($e$WQ&&5R5eFB#o z-u(s#k-A0@926-=?gs<`wEI^@KNa3?k0Emd3r&zc`=-I(fytzZFCsmzY=(n}1y9sL zn-VGF>P0wJ-^oT~jbulCfGoIDnU3~lY0^gDjy~U)RU_2{CrwC$16_ps=E!hi5fbxh(`{n4DOm`TO)MA`ws`W>ZC=3y@$;;?MJeg z=*NzOLr1VtCC!dICE>qR5|WG9F>{uYHa0RC!&uNOx(xCLu-c@`@g6iTBg_O2_d!wT z__jG1L{29E0C$v`=Cx5B4<1e1X0Pp0j-_zTh#m^W!JVjOJ8XE_4!-+MEk2Q?OB0g;hayPN;c*Li7yznJH60rpHO5cb$?iL* z$_=YCW6G1JW7-rafFyM*T%2d(O!(i`z5V`bsps!XTss{%VgYH@!gFaYB4`v^X!3wI zcMD4ctSpwC{j+ejIL6u#CsGb;>P})HLuX1wYTFY8`x^BUZ-l9DDkR+ssfUlV#XM7j z_xOfp#yNbHRQ!0O!NhD4b?W2pRF4oaGsIaSe)5J~N;t{1Da9tmbF8N^&W+7@X(H&- z5j0e+Sl-9(E)IzDDH<0d(;19B*CkA5J3W9@8YU%jV<9_>R_|0)Uj+{u_@W#Ke4= zI|40I2{m62)7YyaSElRO`h;U+gC;){3F6hX zGr7dI&GiGwzTV^AWwjp)x)&UsIqqx6J8$_XX*%=E#x`G~c5v4o6d|qL9I5rKJj=FN z02vH78;^hP+OdLhGedx`Iw#E5O$m+s1JL&hiz{%m8Ia{&qk+#!ds99T)j#YHHe3C`29MHF7u92LYPzGl*vG$7!z4E>$@JJS~ zGk`bQqp4Jr7P`RZ`XZ#rq}M`YO!s8Q)6kw*X1n`sB*qnx&#HcFYf>ZGS5AVq;&B!d z<4EcZJ$t7HrbInt`*Ms^8M@cuij!7PxUt*XxrO|v=if6Qm{{{ZD` zS1UECx;nUDC?bX024e-qn%8`s(k(}mPu6kCEo)@|00Wkut#i0a=Erd(cv~AcDp$*z z$44AM01tO9htX4L(^Qf|dOOrVC33dmX~xWXuaz;AN9HiL>d;`q#)i+7*EqPlbGq45 zN=}K5ChSs^N|1yuB_Syavbz~C!cd@KYpf@{+lWJwK?@6=&@A$QYaaz_h<+i-WLj&B zyR4|y=1QtW{}D^M$u#w!iq3)KlJSV7HQ31j)Wt{P!{V>{{Wg%W7duS(53#a z!v6r%Gx(;vPsFP78a{-e1{RYXrimL22PzToW^gA z{uM{y{b1s12OdNBa`Ya>Zt~%dcsEdRD>I9W8wshSJ%i#oV*&6u`By=%?2VDF>N#Hn z_K$EhlU|zM3Uuz(CR(7_P=#gs^V#w`Hy5%$oE(RIQc)pU)-z4 z$r^@UE=4{+OUKPK4>a!D^5fTqFFHoF`D2v=N7AH&Kr&|}!A${+(%MA?JkabApN}&IjzWGjcY=F&Ld_V{il#cL zq^&Q8vOL@v&HR>AFo4e~pze94d*P>uTjbvj;1ryy;$LjrLhhDShPVX=7xYpZ<()G& zNNkoK5|e5>T#DD4qMW2=aUMc#(p|}=){4QQ9Bm3y_ip+kAWChes<{NBc)qs?k6O!M z=p`sv`1VH#-YG7N#5q85>rkN0+C`dOSZ*lfWYpPrjRQqkR#82XwyjdboX0c(?os^G z;lWnLmd?*>8$s1bFr58O{$3tDk`vqx2j+vN;J;MVV#NpJJp6}s>sXkW`gSvMv11Hq z9Fg4nq`6U|5Vf-%qxebiO5BZ9hd6YE8w2WAx;fa!28sZ10O%Af*+{zKRLPP=hMus? zE97*s_}3Fz9F2cMlOq-kxLpoJZIU;2Yl6o`u6>?*^E#~-7Ox&dM&}DnhE@LnVR<}u zzmqTGKLkeTaW&*5i`Ti?SvR<0lo5zG{!i zs`(V9NDqa^JeeRO0Gb+}6Ot1qAqj%oZ?|+xO?R?8pbskX=Z6NBpZ4rX_Tx{_9UAWA z{MANjLOG%BZn~bc=jvS_02SD+C=zft?jlSXAXy4qS=NOOIPC9ocy zp4X&m_}bnBa`Bzlhqt>=vXLYLK}C5#hPCN*9Pv8|emnSa$hc1d5Fm~egL!1u!HCy6l#5A@M&m#!1Ee>i6f%<} zIwVOLcUl{mZq&y#6gRL2m7T=X8Lo<5N&6!uW@X1_K-nX0u2=fMJ6JlCO0Gy8!E}LW z(N>CSuqDP}emsw1XCwo`A0=2poCk+r&ibuGPU*uxd=vSscZeA_m8!eSbw@9(do38( zH%5GuSoX^XOP0p%W9`1hM3vEtvvjHst&%!9I|^|&KxC4(FzySUcv?Odm5ToWDiYB; z22DKm8{7wedMk{w_@iLyVLD$5=ffAB1Di7lyNLBwvqJYVjeFh4PEwi+NLB71k{;Chyqaayv&8CVvXy z$JJ`DQv-J4)Q(alYQx!^%a3$KZME8I-=^$$SlvV9k09m4-<20lK2B8l=c9(;6?TWc zNPbH<0^m8MI8NrY`>D@mGn30s+EuL^Op&*@BkHLYEize*z83&FAy{cS0kXBu>PIRJ zGKZ1aIC1hSOdofWYq_;dFGSs95GRgS^l}_gG={#r(vh9_m`!o&*M5jiX>1~oLu%V9 zCDuGa%;hAwVDbVc8@EP2idbr7V45>aBaDiJh~x=zz1pw5rk==B3`~?T(WZk{o@ zQNJ2@i{o+U*ngrs^@(ueY=x!pJ)+3!(wAF5n!_>2N5 zgH~E{cG&4;$B$7)V^8pOWx`zdnO*EkyMsp4@yIO2Wsa5<=`vW>-&I$cs|ao9^tEq{ zMJGAG!rn5*3gM&JCO;{xJ4ZmXhg`_WX&Bh@N%LqVeox3+2A;^7w{daqN;|M&duX*WDY%JF3PxiroYuQ5X$I&6 z?6Xh(p<9`8nG}9dZw)m|&b&dWohMb22SQDY2KXTa7U*t9s?j;7(EzZsKkZN*AOrrS z*Z8sDh6es*l<$s07Fe4c4kx9n!{` ze&hKn$2!v^(7ARXa|@~Ff}a2pL>s#Al~{JT)4QuSux$ga1k@%$T5O}S#0tKOAa`XZ zG6>-s0G$-3#hw(V$!fK(qzjdR;%X8QpA-`nJUrLKnWs|a2{4WEd&B3T; z>6u?-%)UB1-{zqUon9A5S<&@p5&`&{o2O?o34YAyecQcJyX1R*N?tZpc~Q}#2&G4r z3*vOzecPG$xaZt=3J}zuok{wrbFczjI(PXd=-JKGG}gZENc}HVo+8%v7vSQXaN+N7 zZ;&d=WDRdpYoz-&Gl5_}w-3ar_nyh56Uj&dDgcv+>&amGsX5>M&EG{A35D6Qe~2l0 zqyGS^IDC*l=wkjyF}{?HXAeH&k(%GTw5^PYh4pc;h*=r9-s;a95gZ_VlOv1{X-Wd4 zchOU1M=(=SS`e6NffcpN~zQ}V;#o;4nMr4YZ-$c0TWND{eDX{_qdx0 zu#Kx33hjiI=1Y=iZg;s+-7gfuNez?9wDw10)0T_3CrFCuy;gZ8Mwz=!t4SG6x==EQ z38|U$Vr#Gvw7O6NpOgCo^ic4{%B5yIYz13(%f%YT*-wunqsVL8XtdZrHR_rsQPi}i zy165f>{piKMCl8jI~BkFk7o|Xn;4%|M}hJ`{3(@MGGlHI$vHS+xQ7cJ!t8toGu0f= zi2mrh3q?K?WwI0#g7&!8tm-Wq{z$&YL8Z1>>THtn*lqs+RcVcdi-^(W!odFk-y+Hk z43UkZElgt^MGX4RZ*^){kr$|H=E*-U*#(n;vEnwD9W`&wvsLn32V$P&rD<;7QJ z~WNW95R z&it2VJI_pB^!bN- zYoP^t#n`2c{*WCsB9OGFrv^GZjpLKeu zWr~_YP*aMkvJu`25$dEoSwbx3B2n1*Jq-fT<>93qH3m?5N|bamFJ^Z=q4_Ma(56X` zy@gJGIetx$q`ETdtYipa2wYCQ#QTVS3 zukg&zzLf5ZMi){uXWSX(HjoteH8Ph_;~Rejc&*ryvrNo!bP_t4@_qt;$!qn$4abwZ zY&hHJj!O^Y`h3@p#7j-I(F@qT53T9U z2Q|Z}Au-M|x}O7z^le{9k5a`iW4x)G@VE|d*snUzgEt#8NHSz|UeA|Rm8OlUrnGv^ zrju#Ams(3@=-&+TuO0^H4H96NiD+SyQm4GsGNuByxwFk3iSttELQ< z#=$euDPZ@or^E}|BppXpSTD+B&sLf$ek8y@b=yx-?5&_;^j%2-IL7@zi$70vI9MLS z-(aRhF93UsznD>R2J2K@S!IFn0qm?=)mw_v(mtxygN36XMohoZn^HNn)KC%;*)&Cv zeXbrzu99jwlYQA3wjW<+ODaZ@)$u5ai9-mx#f)$7mq1Q-$mwLt&Ib$yc_wddHhE< zOof<{xx?P6R7Z~Ni9wzBe(OVsF)>&yHkLNox8qUi0>{(!JkM0~`E5Odw2MQa0BFL&=a+FZsq zOmf0FOsP?x;mbvQPj*B?SDsz`mJ|9$)5(h;GB)~}b`re`xS%L1FBIT?yFs8vzaBjH($}VGoO`{IUb#$FHMYm zx-4(>c>`h5OSbbP$-k1@FbY`ZxtlJahXA?7DrqUKQUrRYmih{D_>!N7kTHqTZ((LBcB94)=bQ<~`B+hVeb0Hw4c@ZFW$zr3ihgr<@QbiztwoO`P% zSvMbrQtKLYTDCckgJ*9nKQ%sPP1YBi_9_I^NO+zs|2buGV zrfT|Rm~*!z0AiQ8J^R|X)G!3my{vB|)X$PWm|3amvS8%5?-{_qe{~3Dn;3T~9~d1J ztc*!8a-9U7T6+70hC4)60mB<}BL4soQu7;nsX>4S99DCODL=}`m}u3*GPB&07`@WKjyJ{OGe)j?uq<+1=gCmbB>W7 zcWs(5O>Vk1(2k1NOwM*dbW(!ZBjLcRsYsG$fgxtlO^&L^MTM?@MAk_pHqUh2ZS)RB z^)49WbP*FnHjW4jyYta&S}?KHdmuf;I*$qNeRre@ox7*9T;79(b~aaErqy<(k|4%# zX&cDsrWblQ6+^2^3%KO_EYdb(jWRx%!7JsGL%5Cy=B!Nw%xJ_>0pGf$@ea5#f3ZY; zZXTx&-y{kyOl+m12C13$twH2;Z=@gwSW$70m~1KgX=$p^{6A=sOL?UtHhNP_Y~N%? z@YQxcF{UzB(+aD}7OiF=Fxgd;jolF@BR<5!U<8!iQTrljzN$t$Kxm~~tjTgRKI5un zcEn_SF;M&h9faoqMVnV%6x7+LYs_qp+Z?`1t?^M*9$eb^e(Pgr8Zpi9XIkM%+e&;-! zT^w(Dqz#%Psc379<#nP(h+b%gA}ByTIw`P5cLPXU2}QCjkce?yYmhit%}XcD^IqfM zXj@%f&SojD_PqZ9G31id&^Z2S*cGupL#0FkZK4$DAR+93?*t=`Kw$3jq`lu{%MrL2 zHLb6r+bJre1~^l;NXL0(roGg&CiCi0VLRQqw@N{B%_MYj%kZ^;HIM^ztDr8QDe?~I zsyyKE5V(_gNZVf&C$4gAO#natUwpSVl%(_OK3IXfDT(FZRwSlNa(5 zw0$mJQ&Eo=Cf@VO><7B`tuIK28x|~Bo9KxbIxe0vXK4FOt=#W+k8i5K z#K>b_=HC}fHcXtQMyxp8BHCLdjCQbX03pu|rH5x!cFNauMBJwswW7I6J(;YGtgJ^L zF|KI$?1asDkHin=wC`kcg4eOG2iz!AXc}bvzZHP{w}iKfUYVvj;Z-D6$F4Qc8?1df zRuF3#?;O65%{Tp@f)7?HEpY7aLXDB9+ zELKFbV?S%-mM^GHk5R~p;mvm8^H%dsc2Du4>6^C8xxh5?RHn%ADb4)WOAA@uBLt5O zp>}wsb~R=&efPur!=YNSXH~Xh$>TKif#Gk+)N=D>X>Y5`j60}k{{U4ulr|e~@80z; zbCotKw?O8ULf6!apv`<1Lof zk28)YPXn5H4&&%l9C(a!I~nJ{3dqzMM{%af{L*H?OGM2crXGG_XfgoM^(>7GR1?Pc z4W^`E==S?BWz+Lv)Ucz=f!4_d*IFyZ^CSDlPTr5;tv7^xLftnhxcN`4Y=QwK@W*?h zVWxUm;W;w;5IrPVKI^+G4GL3hmB|v=#LlEC8+M+MplZWRieVe=Jhy~G5)hQ&kj{2i z=EhwarB$!MLpCW#p|&!a$Vm_Pxg-k`F6 zEYe#xKiZie-pBEL!k6H!Tl&{TVGHwsk3i>6TIGTlW6C`00K+v>8@{z`sKezU@Z6U;dUuITay z)8>@TY3Q!S9!^u?JW;Tx%O3W(+1w#&ka-y`nVss?oOgMU53T(OR7=$q{$H0XpmzrO z{Q4A-$Y3N;JYOM9)G^F*ws!RI@*nt7rxtg6`oC0Z*r%gUrcBA=bYSpXy1Rtj7|SJl z9Y%@dD!nHs$;gPf^smugLc%j-X;je@qErKu@+!t63qr1h)1CEG;rLUrnX&~)Qm&-& z0Lo*Lh)pd*5(3v2yb;14c9?SV8!Sbw4i@W0ducSt?YnP;QJPw1q|>xESt8S5^*&6Q z7$`NxRZpm7Wih44V@SP??55%l|med=2mhJ%HDbjd>Gnd&l6lXW83MY3 zR2ea5FKL>1#f#+hQ=xF8*L*Dml?qZeZzG2~>)9nX`!%OPp9_PwvT%NF1wEK=ar?<0 zTk~@4D9o*E%gaFoy1uGWfsTxqNc*}1)NCar(6M1+Gdbg+Ul)`7j>sw*-lgo4NP zMzS<1`0!@s+K3IZNKoX~L!@jmjqZ@`0cO6@Jkb(m0)_Qm;o~Iw>_NwHZJ*$YWRn6| zam5>e(i$(VD49$SX$O!&1x|8{k?@soTQbGlqrS=(g-UFD>u}Q=*md zyQ!iA^#~pu&_c@p0JBeULAgwE=8f$vgld_`$VG*Qc`)VbcC9v@sYRH|1Xxs$$8JnM zV@M<9tBWPZlH(<$dni${$FDW0lQ5;HX`fzFdHMB)_U}nD&}?Dv0SBU;4>ERMDeP-zDejR4l#o z!0WVsiNQz6mm)@e&y?@1fmg+)7COtx{M6WS7{hgCLW*rm8!kwkGI84Y-TweB;l-!j zRB6)~oLWy#7U)H%yyj;CA8ivHGo6mzfr3Aa>v^atfjl^Kl{6BWuSFBHC3PxN<_` z*A7Czo$X}XS<$H`V=`kG*WFnR$%|}_f3Z^J=QtHIOfE}E{M08g(PaiZpd2b_wCPY; ziz;+&+%s&E;nDBIO+#d|4$e zns7?zIVud#02(zxa_H+KATrIKVQ0lbYq200@U?(+0{&%I=-PRReX2&(kK|uat^XUi+nIo5tloa$&F#U}B6Qyk!1cADOVBqWakwp4QWJD{YpyawM;6e;xxpyzS? z(i^i*I651hl-QfH`6`+>eXk_R)r{%$C|Q|K&&y;{5*c(|?t`o5$){sQ9xQF$As`dc zw1TbCrF~IhnW#mD6P)MznmA{2RuX9rUPGjpmpqbEoaw&MTam#%54x2kO`Vnq+&hH$ z!N3}F7Y&SHQ*PCMGl&Eptu&^2qLnj#9Y%){#is7IpOQl%CV)w_(HB;zZv6p}x&Ht( zFDRD)RK`V4v(N<4E&G+GEyCWx>krmn?4B!%*@tax!Brh9^DW-4?BM%n!8fe4n#ve3q=3 zHE87G@|%@C6nOK@(?#4X7$!GP{Z)1=M5Xbbpjc8^T@l#-0LZR%(mL>yE+P%Etm2N? zHib)zF3>j{3iA>`Kv|@Xc-@4L9oNwuTL)B8(F$`+OCLo>wUF;1g^0>?TPfYhyQQzz zT~L*d$p%b-(ba9iqXu_uej}ZeogU*&Z)GoIX3CxC<^p~M4UZwA!-k6`78Y%eW9~{h zNj4rlKTBjBSAce@AX(u;hly0^Igt#IIDe`it3I*gj0+^v78V4YJ>tK*i<>u>l?mDn zb45!!lPjS85Vq2!X;Fin$WsY401aqG#$b+ikcP~r%HRPOdnX4GGf3`fDpy-J{c6#v z!hZo<0JK0$zeYC>RSpw~1L&^to*hdA(*^WN*Z@cZcsKM*Tq_dT(9_vIh%{FOwulxY z8_#4^$I`N_$$0WT+ACjmwm?>M!1_tlHMUD5e(N0XcjeJ)Ja8{UKmPzw1!3T=Bx(9Q zZhI(F&$)XkeU4T-wh2vrHP} zNVjV(lsHi`@^W#1;g^qaj?Czu0BPktq`Z2lk7ADXp;g7(MN@UwwA+~AtRdB*kZ|ro z22Kt%jyD*xsWUK)Ht5M|_Xs&k1C$|=X&RR1vBrafJ7o^;u+U~^MtP7L_X=ZmoTd)N zF=u|jek$~8G9ZR_7RbPFuB zQLFp16LBlpyq{ejYn2C`j!5g&F2$5jiZ>2=I4MjP(5wFd-7^bM?BqQbv|@dQn;1U{ z@s6$JD!63o#}BAi>=qRUp%KQ-+y|xI6ljRu_$$Rh#hN~$DFlATM;_n0w+Dc{E!OfS zjoV({K^;L}m*Afh9b*Z&nQ#8r81L2L149!u<#Jk0N@|9ta!N|Lp$RdB8{r`d#UTos z4KPn_h0lb2iS2OUu!KSr=4R+adRQa)BF7EbGnT0E>2ciWyb)r^P-Vn$Jt?~w`1?zAsD+9H9R#8%^3V)aFvIl z1#_sgu6px$i^HC+uA=T~{Yz=@k^l9X)-6~_{y^VDio$dN}M#`-gY&Q3OROks56bMLs zrjK<#Bg#B%&ybP=aS5S2a?oZP;FwBtieWz_EVMDmMG?+JE)< zIiM9LK83?+Ye>Et2p_5;ke3+A>&W_{Z`j9kR#!CMK>AvZgH&DVZ3AdYt!0g%)p}goaQ6w3R;{c7H1r*8t6v=KUItrynnt1h~Y8dl0a$_R>)-0DgP3|^Vq4?-Mu)^lGuG~va ztVx;db6Ut416xaG34KidL_X!Og5_}5951UEu3$zUBg8PUi zP1MK1UNY1h36C6F<{lSG@TT3N6-wDp%|{5 znFR@2*+A%PkfndLcvJq{8SFp23W*kGl=s`Q96pXJQwEOrSCU87$`C6xeKfYjvX7`z zV$`(v*Y<)hJ~J%XL8J096iga4ndkf;YT0$i5w|XxzWZN$vXR# zCdBC)3&BVJkOvzERmW*Orw_PCxv;S)&Bem+>3I*8>$ z)DG#J@=FJ#hkK!txP=DO(dtaiY`CnOe-3S;X;42eB;>q(+fSzY6<^_;DYXnZBa{|L z7^fd`?6#1`$RiA30ibXK=5YHRZr#y6DNIBG7{9%r?Kl7d|a z9kMoCo#l<6n#yXKZZ{KM>L!)WrK(31G5~1w1!l0}lR9$Z0BQJ&QL-zJiMmu~ywW%y z3Hke~KNjk;42I#wL6K9U;P6bDLPb*#_!jaw!CN0>nRCg6&ct%=V!6`@&` z7Hf7%OqchG;HfxMy_W=>J*uiV20F_@Z*W4I*161VusFM6vJX(TP9WgQ*=r8RID&md z@`~|o0DG!)kml6!bsa*n#LH$&0S2AiBuXslnR)1mlsvt@2}VKK2}!-0`W6Qgx< z*A7;fLB-g~XOWwj8@8(WKP6|Ei4JUDT+OlWI)w%tiFAVKUIWEp>BJQ2pr zid@{;FFrgbU>~^JdW&fW{!1U2#=jm|+$=a7{Xg)u8iuUwtYXJB3p|nCWi|Zf;AxW0 z)$SWu+v-ZywGEi2`D9dJqm|K2$yjQ*S{B6~R1JF@ZE&!&5V*OoY3H~K^FYbH`0hRT zHF5IxdJH>M6hkCLx2Wu=;bi%44R`9KyBHFfaKSdRxh89jB%PMfN(daJ$atel6dR&; z)6p7NTS-eFZjA1;GpzEcppSMzdF&OouViGF$3t6tKsS zAwAPH!TpdQa*denxR3eptNzqIPy4;YEm!_-^m;3!-;*y z>IZgHK0y`;H)2TV3OB-yn0I9#qLUGGF@7R%-B+OPb7x_KCZeXBYk?!7wG#`Ri}xyi zLF$t;W@jh*%Fh-;*HtQA7GFCRoZWD)V{agZf=go-(O}6OYL*wI1z^E7^?Yh&4u98BmKz|r{y zlGJW}UkVa>%YUNL=e^7g1G;_b8QQrM{?NjqX9E_QQ=#(~G zak#QvCmtS4+G#dzRv7Myr2<)m9RPR8tdENIxuTEk@p?=7HQ63GxjHK&QC7>${{S6f z4uX*6pxdAm$v~anf~tB&M&D(AWUgS` z3ZTo?CuQvbA9Zz=%Sz5_P1^9$)yIXJ&Dhf7X?!ya&N<7K#m;@SU$9Q`j#O}IK1;qS zTr26{{E<8~=6_eTZy}8Rh2NQf)ZHD@9tMa0{WcKA^nbx-jGu>U=zW) zy;?0s`%m_EmiHEmi;^GdCcz6ylEPrk=R?oL-U^Sa;~8-sBR(c_7cd-L!a6m|VIY@A z?u08Lp2s_y9y%V#(9JfVn9Pi47CONW2cbc84kl~iKM6M9qLTIrAUjVeS}ilwd^6%` zHOxAYhGoV+@t*$xFs|GIuf8;Tv0q^YVb`C3SwKcAo954OT6b`A}?;z=c@&%Vo8t)ZwpC9aS@;vaF(Z zj6Fivpm;wkW3sXLdPP6;=&;&jHnnNIAtTJ$as$C3zmi;~$FZ2=+aL{7DqmBjuac1l zu{2H_oncfsbMi>*?6EvaEgdN3P0_m3^+7lUyQ;PlwZnqE;}0@O9x239)M>h-WoQKQ zlI=0>39B!pr!ek7 zk92P;xk5D-`efTZ4m>;gsgnx|q6d}%@>YzQvqNL3>YAmhGGv8H(TnlRKeIr8{fGH1 zGlJjv-JA5*n!T^T;IIxWRtKX#Wo(nByv3u^01X;&qw`X6o&nh7!RS{w!I990 zyV=HyjOg7Pk0e*R(MC%x0FpCocj%?TtYkw#o3C{b26oRL*B@9?jyOEhpsbWNJWQim zIIVF#=`cZ~NdEwZ(fv9oj>Yy#_F7P)$(TB4;g}Dqc+>DtOojzm%wz7QMTp@}+$+7P zLUS=NngH{feuV!3sylHo#}piXYAi6{3?G`68wdbZ{L~>~j?8$CGA6Y9g(ST63bl?P zsd36{l?xnT+-#54HL*Repm;?RxhW;XqLvi{Egnb#5yZGz6CFiJWm0qwOk5R&c01W_ zdFm7?TkB!|@G5-rxxkWm9h4`v&MbGi{S(aPmKnIm%qe?7P@rjR8We!@N*00@U6}7v zN6kzwJ=JDg?r;g3@TEZM1=X0!g`Gu3AcKqzrc{PD7&`L!UVZgufldhmmCbUqPL*-xzM9(3+=Pu;hYebt|bCK6(n*ba3*gRX&DEQ4-iB_WYK zZYKF7Uir$YYEHLwOy_lGZjRwTx&D1Aql0Z=kJ3U6|+OPEq2#Dd2!_^V!kPv`7~9#2R<)b9N7oflVa6`68SkTbWiqpt5-XCR9-I({->4B z6!x~*;nk<)h2wwqVXVoovMnReh3>83D&0>hj~hojRxe7`<=^E@Y&2ftv^bd_d-oB; zerQ~$1~VQ!c^4(oQ>b{G8x@ZYhDW`IsPGmKRn@Y!T%!4nG<+-_8noUi#bM8Xl|yxI zuXUA@HnjRzL1mj;Inwdqq})NmL~pkqJ=DxeytxFio`%#3huvD0hCb*d;`9PcZZ42#hirT+N0#k8 zC{vIlAp0naeHh(dG8p%JDvX0zAzkZyfEo+y5b@tD}~N3s}M82;#_w+qOn~N* z)it&qz$HtTI|O?m>@5nK3NlR$4yPu_?h13bL7dcOLdq#61H{+>{_$FD@w%6u>v`_Q z)-h#kz6Wx*Sn~{=c1d@*U9Al?k&!gyLdc7AZn;sLBjPp6wvr-xDAGdG2`%LS{>t;` zPtQQHJ|tmotm`EDM^)$!9-0D{FU8Op<&P%4ByDk8Ja&}Ko?3h~W+aZygdj^wKH%<& zu4pT*XAqmCQ}s+?ePj#WF+XA#h!N#vNxy*taq6Jf8uWiRq6R&OUqN9^0qbl9WzW&8$L+Hk z{t8jZNiW6uBpj&N#n_(F^!L^k(J-wMvx2~(f`il`-;c+dOB} z`0Md})f7$8-diL1BoSh}E59@Qt_R&vW4*9S+=$(6apVr;+$-27Y~32+`6Gag%h@J7 z>ReCOlf#sK&W+XpMQOI~3F(;!xbUOMQCxUYq&yW;dKm?>GtaFkNJEm}6*-pbh{*MviGfi917W&NQG&QqislLZxcb zmbs9QKM_KXI)`)4&=nS*tbo(y%J&b5-5+Fp77n0Qe-ua~VUg}V4bqc?jQ2=(G`fg9 zD@2r%Mdln0f=0;kPkr?06fI&_L*|KGSmMpW!1KkcSi@ikUzKTZtf`r?K_|0i(gCE*I=SBh^KuRykM_R#*75AI;FGBbpnRm$~cMGNEo( z4A2qruzKss*e{$V5=Ln1lGlJi$8TG$}T~s5UxeTvnAuXE5q{(t8-VF!Yz6q zj%2+R3l{9nV0O zksaKRPqJ8;53SskW~f-^HoHvFZ8RankC-M9ilLJY^)7m_^gWvnl7OWqad#~@oq4OR`XlH zmACpYN|%#M6XR@BablUGiycIu#_D6T#Yz@semKA>(!@qRx8i9I{Se`it@yhmdER4A z(N-yR4pUSbH}2)U1ISMnULM0$SXz|ujz~OC9Wv2(liM(w$G42ji=!5S9pq34xG~qZ+~s0r6$k|L7=9tj<}=Q94gl(+a`yl_ zl|6((2yarH^d3L6*iG@o(AM=wjN5GjD6H>)B&h%;Na$is4+VM$hIB^YK-{T-bnk7C z?gRd74T8YzxU7CKy+;&OEj3m;Azgvw&8X2Ml91g}VSRi=0G!t~;=_|H=F=K1ej>OT zI~)3^?FqrP+$v;bER5MPnhdNU9^<0Mc%N8)Nf?$u19QG>XRAoquwLg2u~fYGRKfK# zFP)^8yXaKKCGsT8$p-McTPwp{a7ke!?--@;qD3yn(@8H-$IJ^l~AdagPPqEluurpCqnvbgyval|o{9>J_$hyWAmR zwlnyZ8*Qw)X1P*2-XD)8j^*1b<%oumRE##*#+}g%QS`tF_f3XTv85(-qskVN zi##d2 zd;v}$Rc{xh+LK!y`%Jgis@840oevNhOjlFn$bWa1Smu7d3PxZv1u18 z1f|zv-;PaMqr{VMq^(w=5R({!vMf6%a6O9WW{oqiR3BY$NJK`*FwP4J^EP=RwOGzteTCU2Adk+fnx{)$PN(~-UMXsaNA~E;DQZ-Cp zvS-T|_lX})$|CK?Nvk~cqf(<+;EY2)vL)>kZ}aTEb^*3Fg@pc(H1Qsma$Mh3ud(zC z&?9X$1W+;!Lk@fj^SY6z${xm6Bi_4pCj!9|Onzm7dk&Tq- zUOC}tvGq|tIAgz6mH|t`bDJS;@In@gEuTT;x1zSgpU#1%{Y+G$$oRPj9$@3kdxRyI zIStj?NUw^m%?nkhcvZPr zG3L*f*rIsk0m%H-lsZp`@VS4Plw0|a;ldWu83;LaVq%QS&H*m=0?AsR3}R~7nHz>A zqZ#~2*Lp$u^W9v-pN|ZTW)=$~bGmM5vH2;OSyH`{&ygT=BLvlOmgJ2e1fr~z+;)e8 z(@A{e=7tDgUED zH*?)h_w1r-1Nz5Go*X$?=g7hu>)?G=R(?;M_Ts|h4r&E@Dijt!ZypSSm#(m_xR5B<~nE%rX6oW_mdNXnt+_xYz!lcwdyAli!i}}Kx^4m|C3}7F@d260#)Z%NpZ*TKnxf3?By_Q_v zkHOLA?&a2|=@CTy=7~n&ISuzvZ8@(k_)RL8Lu00T1TAA=mPS8)ou&1_`6oe&WIuS< zyf}U{!Bm<~R?!=0adSuxJaV+r2@-91 z+SiU-*1t5^=3^rsqV7oG+7m?6NbQBBkbN%bqifI`eUP+ z!T2vQ-o|;Ifj3{DMMIZ}TK7!xyKf~TN!^<9wN#3!q6Q%&2SpM&jvIvH%tV&Czq(Yw z{j(U)!6Uk!fT;5W3y$%|?XocTQEa(3x-KFyYB)uq+qmPNg+{`i*z=qz{Vp7``YLF$ zXVLOJ))M@88Xqr_S6OX`Q^XkOJ`Cg*s)U^0{&%VfW-UExT zwUs9+!YIQ71%qeYBaBeT2$@fDJOF=+=|Ptvu(hn%-+t*-Xyy1MF}5rY03^2T_D<60 z5ipWCB=kv>9I@lx@>=7-J(0009AMKJJGruXMHR3mEfb+(YuVq^$@f&=HjR?_eZ=tg z$kGSuuAyuE#yQ8R;CEGiDTu$r`ENe0zvNcvtr$P*{0jU)+`r zE+*0A#)iK3PzQAPJ5PXHow~i2gE0loE)+VUJ|f<#OuCd`3=sVkM|txbc>om(4TX|o zkT9B8_|i4&FR-+N4-lQhw7G!Z}m@T=gI*dVFSdsyA&!jC|Mpwh9$ zKOPyfWf8>NDItbzleF7e*ezz6r^AgKUKlra`7GHpdPdBCKDjX3K8FqnY_kT-F&D_; zs_m{&+WO@guS!`zMoJA5TJ+#aQQGQ6Ym;Lu6)3Q&u1jgIMBS8z6gTulDTG=~hN3&! z#^q72X}@p4mLS`4Z>Q?7T+l%TaD-#wBB|K*B-Jy;Wr^@g=;UE*nrMO(n;_g8-dCY` zpThCy#By<(8!x_4XsF+v*r@7*(YmQY$8R2}2=(u?umCgr;bM*==jIuNM z-Y6|@li@54HG$Iq0BDr=cV&9UhO{-k2S9>(zXn4BU(rXU_)iN3q4I$|p6?tF$zHZF zz#7m19RLZzDnpZ(W7Jf7J7`TJo%K(;NC-SCF2b|n`KKYY)2TV-F)?gcnr*0gG7cNq zqdrj3cYcbiCV#v%>K&5jD<6&oeB6>G7Hip7>NyROj|A~Tl4s8Tc~m*MrLjC8drC^# zp|urdMx~X%zeK(t#u-_jWQ1&w)ay_(oMa>1_EU1DZkwaC9hN7^HsU)qZ%gY(HO;x( z=q|nD2WA&x;gT`O4t4VH{3=w<)TiTP+eD7<&?8DX(Q!{BACCZxZg(y}!ANTc;7=)_ zA~UE7P1)1O1fmhVr?f5rb_w8cmd#N`$A&Q5m8?c27RC+5dLw8yfLN~yffJuA$E%=P z;gH2iuVybPH!THoL%Q@#WD&=E8&~sOGGjf{9h(bH7jlb~OsX;pTYrd;qKT0-xb}DM zXz%Qd?3U0iaOD8FNb(5apmG@qwDwVEWX+W*k9Ou0e0NZFf9zUI-2PnAz*hNKjmMSK zH>1Y@bPGG;c|g+K!g-K@5Jg;#Qq&tLvGZiv!-I#h3#G`F{8$Y=KnkxCa~!@~jr`R2 zb46`)l2juOEK>U=u_-7CDL5sY0LvcXYCD)f2jA7~dnknk_ylC$TNL zLeNY`gB^uo8L?}zJU^*2E0z|*J>__3Z<;H#Io>E`;y3>Q?*f8NHfX~xF(YKQ*=t?> z9qE8JeCIQldK!P4fd_-N44f9s?Cd8nngmJ8*?4;qnm(BxBdoo@5ezg>=!6+bN!fnU z!g338;rBnHc$znh-U1}d?#Crb{JSJqWEnd{qagb%W>iKT_r_0q1#Mr*Sv`6`D6;PjBEv-4`Z_;WgyDl{G+rc%G+wv)uRfPG6U?2 zzCMZ$P#aCF7oDb*9H4fSNfc~@(d9lX{{Zgp{{RU805x~v7k^-{XR2=(3f7`+g_k*xL*RHUUZHO12^8PD! zJhhK!H!ddfDm^nn!5BC&HcOcV#KhukZ!SF=56h~tYuw!c zZ6F!@IP+gMTKEn`;x{&f#>0KNu&uQSOu0~D!|G&g05{m5{3Ssfa z+TbbugH3-v$|=v2Co(u*=eRx9=rqy!byFD&Opa?wd$y1X=r7p=5(%{FC4ZLpI>?Qr za6QlRS&onY00}t_I4)!_nSt);-RF{HraCgbABg)YTK25Z z4C!VzNFAxpC=RA3`_l8*WXUtjW>{cmOjDfV~@<8_~?`6H;RavZOoD6zl zsh&MQFPd6TT1JO1J7%ozi*I7lN>my1Kq@`Jdllxa@iwH%qL9iR<#r>7eNp1^c63uu zHtKY|x43W1>HdgcjWRDL2dd%fu)B17Tt?n&-CAP;_(R>)^08hPnYp?!$aLVlbBxkG z{{RX0TI@$j<{hLtho?{d($3=I>5gqU+AIsCJ6RlUb6nGWD0w(H7;l+&E01rQG&xRl zq;p(IJlhR~_Bt}^HgCEnxgb=WU6~C}0g#*BeEWazg$vV=&9C9@6yxsSf5~e#T{Oy{lQGY%8(G*4W69!3Xe{FtRNoh^{)}Q z8GS$AN|M<0?HU*|rF#Tmw0!pZl;5)w?ZA>q0NSF9QpLq<4B1R4aHqGBKEBG%Jc#pU zZ1|J3kUF*B59REe55q29FtM^vJ8KDOZzKc4CQMk_M8g}{Cu?^I!>!F9G)9vXgQ=$e zCwqQNA>tgAGTxLE;!77uT#nKTgQl3i55IBdt10m-;vyVs=o;Mi&mQ}B1tf&)I9nQJqu53KHXEe zeu!CXqh4|MdYfdQiRAKEL5(C*ZVo4c2zNHDT*rtS3mDTwa~aSo{X<*RbewPPxlN7t z!w0DTpZHncCgn)c^L;{2$sSp|p*2cFS_@lL0UK>Zk66<3aZaTka}F$hL7-ZGol3F5 zba{})JZ>&*tPf*J=8;DXtO;dYXlA55taiWRU>k1hsT`ndt@Cuem@b2%aVPRwZy9*! z69nXG7?|c=%`AJ}#@Bqlie`)BEi+T_(f+W@h8%{*SoU8o9jJFJSH#eWV*id0I3`Exox?R6_`XR5rP zPNgTzso3sW*`_6vUWf{e*N(`b@PdO1dLcQWf(WpBf|qh@-AY{*N1S+rP5!Oa9M+Gz zke5b&O4q?z6*Q4J_XS$`n-A^UYp7g|^)&wgFta`tm&(=J)5h)=^*(scbB7G4tYf?o z6!x0{s=PC73dN4%lJTme7X@0Gs(PfF?MWl?%|-CSz&j< zrGMiWUbON1paq`Y%G-f`OddnLfkO-Wy%D(W@5&nTR)$C0l-D}=37f4+W<5u_ z%7{iS;S5M)lE-A}WwWv{gyxags)bp7i=No=%+Ki1qD8Mx?BO)r$Jw2LRgQa%eqH)* z(|RFsO$Qk?&rj0wVvse=b%HHvv9cSot$7}Ys>`OlZgDXa)Av^UPt;pGTK2dWo`rKV zSQ!LqR1Vcq5Nwwi+YkkGglzq{L%mfvsqv zNRkb}h0(Wb07>>X{--%JaUBthY$29&%CzR^#6gHKY?%^>X46-aJW@RAzl-_F$@pm0QPe#g6SZT|rHR{2tB zC9e|Ao6k+VRCmGQ?6^Fr9hhd@z#vo4`6uFs9kV`ciRl^KSg~GTlf7K&2Jx3AO_82zVzc18(OHJg2s5a=W z#qjGV0!Sq;4HjDF^!&mL%UCI+g{i=q(By+9hIFC_AyjJmRM2V?7P8_lI~+PvUpD(U zLmXhVSFyIxQ5wo9(c(=Z+Qt%ng1ghaBcGP$x?mt-{qf4H9;BkSQ0;eNYU@kz-hQG3 z!#tSJD?)m+iPS@*ZEH^1+pJ@a8*Y6B$s>106MDG#zyU(0;?_C zP4_4m==4dN7dCeoT;`B00C-D{s}Ov-$OL<%LQB9md{Rt|ELmC{_S1*5vQh^oQOiD& z=p7BLuD6>U`KKFowmzfgukv!)h|en;FkRSE#OfGXQRI2djq*9h-LxiSu3G|arO^{F z5XSAz7CqA9<$uF@`V}q*xW~45+~08F(L~6`@?`TGEvru`y$En{`$wW>CfzQ_kV_xT zC2&+~i%nU<$=y({mj{8>RTpS^2u_Ws@S+ETi;s;iTO7=f9fwcXpzeN`lS4xycqvlkiill!e&G37~9IX*@--J(7NY9LmJ!v6s8 z*)jqFU>uW1x!@}eJNiA;T^MZcjuGC?pV3)6!UI8wp8}TS+-2ozToml0c=? zV9dsnH#a5DbL_kg#C(E<{>#W(LnO)<`_PrV((oINjxDxb>Qlo&=mJVl(Aml>NXdA6 z!m`Hb<(nb9=S2}tl`IDc95Br=H9ZY0>j#s&{ zv~44S%C-Sk>y9nc+yUx9{wOB2GaT+!LGYQg1_s$Qz%2JhAuuBp zJy2P?W~sZ0WgEc>?)5OBMkpf#!qXRM!6i(GD}7}_$ri$_XB$Z+SIjpwfRiOm(~a6Z z!^RlWyH+k_Zg4Ff1*tv{;t8ACuHjm1(ipSsbZ|n^+YpvV#v0xHxDR!u&;7a(vDRBP z7`+0tiQ)ALhsWEq-#*x+uVxLH%5B|xk{6XZ8eh)b2dqmV3f?a@xc ziLZRQj%|W!G2Xq?ba+Fs-g<``9_gRgOu@)>Pl`bqt*)vBBaBp4u``^fCZa6ZSvgXP zUcgVb-8$$Ems#IptbdW=)QYB)wKye%ULo(Z5fsf*!Rfj9UEg7 zT3O4F%9B3W{H$-iagIjNH(>t&G;kdh8FENO*|?O6nIu`dERV!u4CBUvBXEDAdD%M zn?EShJkwIt=hU-g%E@_q-fWUoGe7R9>bh=rmpOwj7e?=M(ESRlGCSRBTRF01*G%Gi zt*`WNs8*#uA$Jl-yXr#ovm?FMulhQWj}*gSiLM9qC~`+d<9jA!<;Ru_*m=H-FX9;- z{Y}kr;f(+%*xFd~8?mxHTbdS3r3D1BrW%_^y!cve{vN`W?b{y0=aMUn>ax1e z^p7KCEz_ZjAjg|{Kqf>7d*C`xqCPsG5!}C$Esd0Z~Y1!1HK`DY}ynCQuAdceK6KkC%x;s#2iSmgu z8sXHm5~slK6&@VEX48EID|k%xg z(PT1WvB%k5H=;P{neq|>kD3RN8sb&rnN*|?60j94suHn4Ac22`$@{#1Mc z)Tuc$ZW~7dL4HhdG_{_i?x?ey3~(@)d__ll!8{Z>Bz(rnNmQXilgfNd-fZ*YH|i41Xe%PXp)^$W1(&K*K^bZWf#yOPVPV z@To-+vAa_o-k&mvPb79jaiMBUq9Ketk?gs~>?Q|O@7+1XQ6Qz*${JnAMH?<}Esb}v zMRbIyauX}VUCM@gu9-DRHk9c-8S%wATMSFw?VE`DD=j|~N43Dc+=@{kV0_k9 z{v$&Gq@LNWx*%m}jhU8Q8vDJ#b^4>?VKBqxPa7p5a$GH08t#HiVwiT_!nUXmZ=tNj zf;0DVwWH+FjM@W=O>@8;sFP#{Sp`*OjhV*q=v`6nJ$wxNDE*hmnxi5&__- z-f=ISA* z=1EKVq`G8T*Rm7z4Llvf2S)FcjVRC1Aa}z%*rRdGlWB&k%>-hwD@Nwg9G79Z1 z&e0`)_aRM&7~vaO(9!GyAYDq(mc<=ZT~aSM6{4?fjVf3OSpdL5KfkUF#B-g%H>R zFS5DI%JSMq>sVhEX9B_j>%tiQq>-jojtz$JZdiQtz)vN>gYLJu=c4lu2R*FRX#OVB z^z44fGes$thE7=RmJBGZC@kw}%_yMgM8-}7m~B_g(inJFjut6F$Zpn^Sr@SJOVQ{4 zHjbcaO|7FcOH zJ?usIGakA>&n zILt1ExZ{%NS^SpoGC>#%*~4)KZ;j|kEv13b}M838tH#*@f&g+ zE-ZHMKVHhD=@yl<(R0LlcAtl)MomJ&bT6RcK#}dXM&rRBt@cmP$ZkffBa61M5YhC% z{2|QT7DDzh@;TRSc>KTBbEfT{hsR1VR5nO-sht~Nm}8l}Lj|_Kk`!-f$lV4@Wn-QV zHN21YL-HA9ou$q;T;2&kGyB{K0Na;qvKpHN$2dW&_O5fdof6XQ*iK*f|xL*^#V}*GJd^0o_I2%p| zC=&52g1puA(}9rL0XrZ36(r;DO1L!o4#$t5^;8o(AC*C zHugwBa2($t{M8nu;c%O~0>R)AmI))sQZQg6IUZ0xKYpv3=v{-PNp9U5& znW8cW#qVD)ny`u-Oz$dT1XkYeZISLd=)B+hK#S~}%PTC*_cw86P>6PD1E&f@?#ci! zK+wOE;*U(i!Nb$A*%VR0V2PZ{?_t!F{{WTbUM8DO%<(o%*endkd%84mPqV(OWH-{7@ftdPLR;3Z23Rvr_f0ruGZskRI z+$xbp)37HSMZbnfc9#Wy;8)EYDxVJHi1gUN>?vG^&{|Txm?r7aMj8nwvl#(%5eNiQ z(;kekv&8&$7niLcn?lV7l4vdW^qYa@YB=+>aU^t4(P6hXCfVw?Vt-QxW%sgXD_Ijk zab1(BfHt(+u6{$DQ0%y-iU|3iA?j%$jJTzZw&0`&&`^LxdsCYkk=t9P=kr3KT6eP)20rxWA4>hoC+C5NmC9J zaFwIeH0@?Qh+8CX;QZCzK2RVVUP-6wGT}}h4Yd40ZnW)IJeXSO-U#kHh0Du@#o9ZV zGpvfAX381BZQ7R{q>BqRjhV>jk7a2NQ%^#Woeq=}E!!=1Mr(l_D&|YOy{S>YlVc+^ z@z8QCA(2RpHZ3%SU5Z0mZvIJk9_fVbG?2TZ2Ix8*=b@LA-7-gC7MNX4v<_ArVmOc= zN4gv4rk=*oOP@5JkwF>IQ$Z+3q>v!vw3Ll)G?UfHp`bK`(aub5>`fIBWAzvLK(q@C zXl;Krn9Fm_eK$}f{T1f1kRyrCBc97St;{hrwmhG_nj-JWnof*cbS23~J2M&CZg%Fe z)$X9;G4Gm(B%|$P*>%b4tTb#-GblfArK0U=r5Kp4%0S26ovXs;4E zl0G(qE4r;@uHR(!OKQ=gGErui3E+@b z`BC%b+Y6)}Sm5FGL60b8VKt5QNgdzKG?wJT<{!q*syCoib}O>@BKo$}DJR~-F2ajH zn+wYw*#pgYx?3L<9nx()8cFApD7i*1_e^wvDOMe%8cBh5p1$c@lEAAn^Vt(=RAg#W zNNO{(`jOol#Mp`XFoB}W)*^&$bH)1u%An5FWXyG03>^Z1UgsNgi7L}e(KB^74=z2C z{{YN)MWQf{HM5_SK1|M+L>9#P&y^cXp5ee9R-Z@kX84;fd&>#y8+!g~??&+CI&H`r zUm^Ttenp8MM^Z{lxh1GeJ7x7syK-*j3l%5EGzF5#$#m~`%_>sSs|-D{xtT@aka{dGxi^`T8FmL% zu$iThxz6YZRe{W#&&hlH6T*Lw3wCDnr%|Hs!c8yMp=jyNuULtUU;qW=9vI3P+RP7k zOQq{j%-I?o({?QflB#6!UE(YnLVn^u2|q;`Oou*eq1)G=WR${`N%rsgZvF~BMV6mI zO^$axwn_a{$)VEzsNT>E>daS*F`qsuWKp@s`ZQTsxpds<+8o?D$qpaz&kNdMK3lgj ztsjzws%2`p@fYGd9l-t3!0v}LrZ+;L-cfQMBZ9o57y8`UH}D9y{wc0OJ% zJ4hW^&g$bIB00LSH|VoUG|fZ@84xce6njkMST^|}cv!CV5bTHXBNdUj9GhJPj zh+h`wxUg6@7PeqP@q9U}<+M5s8C(xbZCbj={*8P=lL(W`hCA%}06)cEX&x`nIHo=O zS`7lx)7fwFc4gtRY`h@y8)SlPpi*~3Wd&AvhJS>$ojJ}D;+JjeSVM>KL((*j_x~Um9>6GH4 ztkgyQC1#rYR-K1A_bjVYqyCVz*&X-#BU$r`Vh`w61tC=N#g?1`AbXSUVTxeosTMKQXRkd3)9 zIx;=_6uPmB{W~e=%hhn)1hF~bcWRS?;wBeun!)yW6s^4IvY05e-)m8)(Xp~kxs-jv zul@w-s*)$gsl@hz9d?Y&mcP2A8Vr#-;>d7su^a^^JWQBt*J#wHg-RIx7Y%z}DR_U5 zbnoil5YG@L%zKQDC)lr7cBJfQ`Eo|@f+4mz+8WTY{uZrM+|P+QH|%NuN81ca^6JpC|>(mn{Z!mo8kP z4o+`W)aLb2pqsXfv^P6(w5}3_XUNB$w|MqJ z+3pJR2a0tr4|6$Vi%+;nemq*Ct30mR>^irMbj=bNn%NnXZXhxjf=A4i<$BJj?ORiu zEP?~vXcKfjloDwoJa|+9o>ws!bJ=p_(Pu7PyPst(1;w1CVL|8QGRA<@jtzQTb?{gZ8V@ShVgjsB9ceC-93w0hx__z=8)OL63{ zeb;pV0P8I-d|I<32p?X{!g8^s$C>d+Da>(ehs|ij{TVaIc8Ii!z?cUpj0;JWENuYV zAvA;?N^UGIBh8zDJ`kY-K?se$Y@_H9XUQ*+j?1$1H@jmx1PEKX*X*GJG!w~4@x>!; z1EK_`+@S!!ge$XXk3+QzIVeb!DQ9ZpgZV79&993#a7@$bv~pE`J`P;4vS&Gwhcp_yQaq^`05iA# z(wwf0Q{#FF=GnBHdwV7a^G0TI`6r(=3)^k?1yz27V4V@NLU4o@@|Ci*+EDA{9u-m! z+02QoZBlHFPILB^8f=}7Dw%7O8Ib0&v`=tUEKH$3swm#ZlA!APme%?m*;e>>G|#L^ z&BEOifKoASjFU-Fe-dWUj9*e!e!Udg{!C0DM;t6^B=zF|0L@L+8rML{Tr7uGBKVI9 zt-+F5q_Wc)JAI2*ylS>#%`4H3ixNh=W4bLCl))Y&o;tbT!BT?uGocmkjRv7CY}m#) zfSDy?qbfZI!@3lCSh8g03ywyR#)Cu~ zM96s!wm1qL{FKM)+J;7jD_NuD8H-4JHjSj7zcl#5JVnZG%nVN20S>fw$m88tI`g?ZXE7tDz0W2$3-76RCE$FIo50V zT8ELZ?rk-I{ZR32YRHleHc*c2bor{B%})4_uYOQ-Cv?Pmjge$~D9nlSJ8N28eS&^G zX>FJ@=WWzM8DAl{n<~c(L(R+q!J8U?6P3P`;nE}$&sWqjYVokx!q&Ek9e`4KD@ZJU zI+o;8>3$K%$1Rs6`L66Mg{j8FYZ?G(Ye(S%f-De#ZOE>8Wm;bSgwjr;jwO)+d?CLs zCbsuhOS zSwAx^vHI)^wA@Uo<;Y`P_cevoN#RP9DeyJtAP(t{&0|IGP%%0Tg&4)`u#-`Zt~TTYs>TlwR9cQ6WD&^czhP)5oO;sFe_A}cw{=Aq z$yzD6#nI`Qa($+Yi<;MbF85Pi1Da`!bH~2rTche2ufmPdx!VWA9nF0epwuz{0C@h2 z)Z)7lH74yLq9fiT`jjmEaVD9P2`#A2S?@@aYH_x!cjl@!T-mZCc!UtpERcC4=&j_B zqN547(SXR$5>EK%oxrqh4HrcZA2TK}85oMa%yxfLt92hnp)bgVWf9rxOmU=`+)-1L zOtgnu&4(1m$1;h!^2hoq^J@66F}iT_=SI@&j`^iQG{L)Q)r(KeoxX$Z8-J1-wmwjd zS#ot<8bRyBbe{Chr2_*|g_&`;77s2L$kKNkJS@xdoar{O@>Z8bYjQL3qH{nY-0-SV zXsFYAE;8qzK37)}4&LYufZs}1*{zNi(?;7>IT>w+BI0OOrPaC{$s|(vt1-CPCI+5g zz*tuvRQ+pEc7AJ}ev!cXD)72^akxik1Io+tWDkf)$YC51MK4~{qmaWL-vhB&e+YP9 zT~8sIQqwWoLAMU2dViG2BBq6x$!b#3x5Q2`*w)&EtjPFr*&|I5Ri->v(&OD$_=%tW zJpEQ`G`U+O=^0MQ!DNy(rN_N15*p^!DqS7Lnq)QHDy)l^#Hv`F%;AWved3V?44>wQ75x>9tnV&j^p4 zv7D6>1+y{ZjLM2QLFMkU79BFM*y$e6>kz)pzG%=iu;IA6+wp6UtwilAe zG26NMFHrEAtf-q^BS`-Mxu>`k-YBemomJrNYw9xY#FgiH7!t9jQ4w=HkXGNvIl?J& zqi`Xw$)i+ye2-O&Cmv>&vTeTX-dI0F!Zo2%c0(BLkZz727dL65LHa8br;q(K zt{&}pKgl7&Yk&MXN7SPhS1uN&yBfM;k@=xM7X$ke71;m+;n05--nS>a(tZj_=2u{$ z2JL@#l%sQ84<$U@H z?5(ta5asDIgB#14-K6ld&mXjDhFjA;s$C)wOYo-hAN!z^(xbon#|if|MdSCQ=l=jI zi$U>>S@D490O8bH*5hiCNYE@0dli+X{{ZQ>GId>`c-osB&`IE{24uqK*`yyM8dJDN z%Ra$Y>XChxA2JzS!c770i<624K~2z1$+2e6h_kDBC)q~T@T1Mf-N2cj1CR1hah!a> zTuDCVS#IHHa<^mLIOwOsX^r8o6jp{G*@a&wGh}#?r)&NF)Yu$DHl9$TrP1a1S@GsJ z!2$iiSlRyoZ2ti96)p+ii924>XmuXyE=$`kL*!uE*Bb$Kaif_qOP41n31e3$hLhQL z+EA+)lqIB;sD~7ZX>x^#xpL(Qa^=gEA<5u?6B4LF+lR8?>NiQNlq!XLi8fLsN)#+r zCr`l0)U#v6#$kN28UQHD@4@aY@g_5x?W7-iLpIcH2Lzm`v&ry|nWRPzt*Mt}5q?fE z-Cy-|O=ENh;yO%S8d?07jn9@se}Gro=9Pn}Ww<+hPjR5;o&i)c;Nt1fyB0jx$1|O8 z-Y7VGS2nUoBa$@B9~V?uMT-oPwdYR5$7_X#xwdIYn?4OZ0sT*>%+fD&pg-z{+`+V5 zvA=Ie6G6XJ%`YEY&dSJ-54D!l@WYER5eDRQyj3zXws$rH>uIYk-I3H_dM&s39}Q&}8em@X3oL zEs6oKmrUNb?P;2E*ejBfqaFQbIy({<4{fxK7G9l@;K%9v3y2$|kdNS=be6f!jF{t> zX(7!v3HC`2kYJSks(&r*s%r)F*OIcn2;0g;muR?>>*pD16$B6tT zrt5Gy<~G5U+i;nU>+&ILoT%ND>9ZXRPd7+qCl{cj1vKpOZBI;>Ow5xKb{0z+q7)VE zUOMoI)$k5pBY(BR-e`PnUQ-?~knQstBk--5=*(oIBs$U+AOlnv^gbEP1DGJlAzs;m-l;TJ{LeW<(G`Nez3Q zWY@@YwVHQ>X3}z5FZHWmBu>9fB$N8A8DP6dPZn8L&6YRzXvA$hqXK{^&XPXtXXI39 zXMWmy*hueHXr;zh9gztSvt3`!Ep$iy1D1GOXUk#z6;7qCJ~;fSOBm-G6yS@MjOV%6 zid*$?S&dRNi!dRCxLwy|x3RER_Fl!P0_qOFDM)6b%iFzT;mFCFO^~+SetngUSUHn5 zr_YFAVC%1~DI8OmL+6_mT{8M@LYjG1S^BUb)2h^Y^lY~Jou3#VCX%YMbX@m?<>tiW z?L;D2U$7o{rD%nz>P~qqW2}@d3n%QltWPGa(~2HWg{ne4(7`(hCv;B^{tBGsJ&&s` zb5BAjg{C-Z7^j<*jn=D>StFt*gSiK_s;6gU)1oeU4gsV$xCy`3kmcjUGxqM=womT3 zcTN=Hxvm5r;RLQMWNK*VL6YW)9@-s)jZ$E9S$?SZ9^T3CX>)4O`5;B& zJj_QJupq|A9gf>0^G6(wKEReF)f>%sQ2RWvK4-TS@)};1m{Q1cpC6pvt&l|L z3ilrANd{&$om4+llt%Dc!?aQMRZ?d>n_(dP+R}fr+FP1m_Pn`2yddlRRE$3Z!JJ6P z$;n`7yO$oD`r38D3Hy{da+kz+TZryYDbmg5xHuBhdQnz6-Wbi&OUNzAj5O|ie}n2f zDj96Nl@m{)t3<}<&K>)C2hrtC$JA#4e`%Ng@~DTIXt6oti$dUnQ)Z4mS1b=sRKNF> zc=a5YA6)Vi?p{>{b2v7XnCEg^gMAEBOKiG15=bfUbH1e)%Z65h_O--&fK@TcHC&>z zDqz}ZZ`7;!CdmA(XtMhzKm3+|+7~+uABu&8{*?imhDPAqU@kNVa;~x3;}|lx)O#Y2 zi`<&;@%1eH;&zA1X5H>s`H*JxzYnIqnErmxccTrWt>z z{lA?FHhj34ak#u}aIQO$tMT=c{D2IgmpZ`O5whiMI~gQRd~UHs^iZ*|Ad#`;!5f=S zupH~U_gEf97sZ_z;g(g(CFJ_tc*aJ%9?YDVbU}k$k0Lik7Bhptd(5y9Gj(YuZ`p(q zFpziy*;C=_?8S4O+(tR>70ZnjrwC2h&NIfgXmLOKhI68of<^$~TK;e9tF`|C4&Y$V zi;;-ev>8X68FjP|l9l1ijI7ML@_25*13(-p+KxGrH#;UrQ+ea5KOnKoB%zX!)fF{t zdnDUDn;ID%@fhgeqL#@3>&N7O(N^j5z47%9Y3NnFavp9VE8Hye{*52ZKu<4CgdeL) zsMIpD8v$^Vnm-5>t|rKyR+8*;&ueMqDqQ%CkvvLh0b`E;0Fpd^(MjA)CanJe{-H4b z^01A;*v%l_1zoCR%yXuf%XZD*5F8|icd|W&q^{naRT!~k;WuRbr+gnoT(<6G2Tjp5 ze+3Rlxjh2lZN=7bIinGE!(X1wi=2ytcRl z>l~|GY)Nxm_~2oCg>X8m%jmBjPi>Z(kBFl4ZSMw$VzWA?t&yG#aIws1a(k`JK?elF$mJ!YCUIr<3Vw~D1pHwMfXYr0tUMH2Acv7@%u*vNqNK0Gc3wog=o8S`7p4 zmp?7Iz_g3L$#9^&a2zOh9?KVI<*3^UG`>t+8l_p8llF}`Pg||_jjqe~d^sLX0HNWZ zKT2gf+U|NP_dz78$uY>*;Wg|OHx377KO}9#4)*0#G?rq>%HfT$tfrUD(hIKr1pfd9 zX%#0#NcAYB%#o0|I1mWsSc3OR*VWKoYoTfeEmh)28heNqSEfQ*=88XrCM3|eB-NgI zuI9ciN@7V44n0-Ak(AjquQlChsy`J*TdB#rxmKEE3|<@#Jt*>xMNp?Ufi>muz1@OL zDT6Uve&sSTdV9|B(nWxKs93Yq4Q2F8n$URXY`6PMP~VmFRnC~-B{$Fh@)Z%B%MY~k z)hNgw>bJ}Xx>m``z9n-l8!*1A2C=COY&jecAaI&yEgOlT7H7m6zI1{RZ@EmxkCcSw z$;Krtk1|N-6J(oB3d=&%nW}2=;z&qrhKU_Q^#=a{Mw%&eO-Vp22QM%}_VbES-f=rkp zGL}RGTGPvwPDg+=_+$@-rGOh8tIrF=<;yErIAciuB~)^$&q2!@gm!tpe0ds-xgTs{ z1=BgydWB1oqDa>6i0%v4bZr9{REr{fxV*>t?-zC5Ow@cOrPN+lKFS0gr1G5Q#aW#$ zQb_R8jgWd?elFNkLj1Umh}G^NX*CS5u12iOC^SzS6<@}O(I!nViz zx?JflIy$)Ip3AIb(N1fL>Z)Lxf}F{L?vyq}*7X5MiNm4cL5@yEqqaazC@G`E%R`z} zNdN_3>llA#$==cElb@kfc}xv(Bf9HBoVl$GjhoFuBjbuP8mp#)sH za)cBsj|;{m*5b2UT1e;EDsZiQIBQss{4V}Q22bUT#r-3Bn+cX~8tB`@uKJ2ujZ@K( zWPjr19>r-LJKq!zG8Y#&VZUlo=F)uqFny(z=JLmXb#vo1yE-lnl`Ug3vDp+&x5@Cg z-5W*Hv+?s~4uV#=G2E~oqqhjZ)tOTm*^d_C5G0;}`+loc;mm3Aq4M(^AD1DvTdB-F z(fpC2Zybcc(b(x9Hfv^%qG{gZK@L1QXIr6X!6cHHBy@7yqjlZ19-(RVIkGadS*PGe z1KaD7;P5?xOp)5GGnVBR$rFbKm2Ce2$0|IFiExADWkt37OGW&`pNWS)OpPw|v>pix zWSESD8Iv)e+F0MbY2=f2{)kY&Qh}^<;{^XznO4IZa;Rk}*26DoUq4!Dt~| z?h3rh#_Gm5AB~&@GhHz8zR6P)J^`6fSiTeZcNY7bp5oG5j+AQ1%H7V0H^N^d70FL#%1jVouQD_WDnDyRlhKANo0gmoBFg4YEhMTjSv!0g*Z;>Cu3B1d>QrSduWp#zxv~U^EYq zQRHOd8nT8xE?)}bMHUeP38@K39`;ZKJ%FCsB1!Uc!%Zy)9r%c;z#1r5*P%wxSk z@)9PiV_?d;HE7u*nEWscO;K|%_>?c}w@OTKv5X*J#tr_9GvfU-H!E0lu#Jp(0J!wO zf1>O-XTip9CPvwOzK&_X(5%@c($TX76yD3`Heg(4o>JoCcy$1xW@&>s0rri6brd=M zP)1Hu8R!mkM@vI?t&q=$4tIZrn}W=iNpy`;hB)>`$?)9Uw_@fouWxeFv%0n}v!EZe z%y&ZfAH8dd7PRtfI*D)HY56}oj+J4|&dSK!sA>5Qhq00(T0bSy@gto|n$gVi{udre z?5V`@Z0v8YSxBy0PY33cC&rVw(?iGPKhbGnW}X4x3wh*mxA}xeVCd2`hsP6%H(+1- zuAHFL+BpffuFQ5fh%$5KFy!hF#*V!%YeKEmu_MLE8#5V~zn#rIkE++@Xu3O`?=mP@ z-p*^of6ZkxbnIMwvdlb>IxpV7eu!tJ7A?pGE+WH87wn`AocwSd8~3z(j#FccZ7H#z zKv^WyIx&a?t>yvh3_tXz!QxDqTsJ`z$M=C!4lGkN63_~3G?q&6!6O@Hw>)q@r3z5? z6uB;gj}+xi7<(`=9kg=VB>svF-XqGEM!aJ|323iFD%O`5`aaa#x78agUk(&hmVZWB za=p%*A|@~kCc?Uhp?5!Q%SYl}UBosSn;*@r789SVYZ)%vCUnj&{_z+3Bgv!VV`NDa zC-Z|%ZXF6USjb1Apdgig4vKAThaM(QJdMkFZbO*h?=AkI@2b~fe@HHlHpM=X8$(5X z*`Plqo-ZX5IV-C{`h*FD;%nmZ)+Ckvgf%xa#nIcC);Iy|7JnWLnOa>I9FJ)nIkBFp z@@V?B-v*yI=&6*Dn!dg##CAL^*d+MP*>}}t9@|{u!6XS)>eKcCVXM}Y}Hp^pg)!`MM5zcMz$%Zl3_ZmdlOB*OFZ*YE!R4_w3f8Hzn zE&`R<@Nn}B27D&RS}DLeN-o*-+Ed)!DQ+p2*70LmU# z1_U9345K5eoYHz9^j5I=9L*Eijhnt^ixIeO-SjG_6G3$ObHO3n_%C}8RP~i7W+&rL zPm3by&|zch(MjhQJXmNv^0cBk%$}&pzi!G#3>cBb8q8)yM{TOXkvabW3Ucy41Apnu z+XpUFro}Kvir7Pl+*`pan^4P(PK3!Vk~%bXC11N9KrD(1CP$XWT&)f#-CxevpkMlG ze$3pjmr=mQ$PLN=1UAKa`G7F5*uLjQgNZ1BN9E18(J%# zIqrj#rRAG6*H>V9O88rsCM{-)jV3q4+PE0)f>_$^oN_H{Va&&Meb^t7SP_kxg^}in zUmw(PtfJLt0)%Zf^C>y7K2|#(NXd3=GIDX-AHvi13X>}$H#oOwU_EQ8L3EN!jMvKT zt|I7Ku8=rY9!a1Q;f>f%X)O>l@wGVLBy5Ll4|TM>bycTJ%VSHO3&0-2*3qoa)bnD7 z9AMJesibg8_venv*l3w<$scOM$aGt1vNnqSd#;33x`~(M$9p{PEjDKdRBw3O!2ww3 zX|Kl+RBqh(!=1;-Ee@xl<;6KVewi>~Z>Tr}%8{R>=Vr$QxY}+&m;fBv0HOR-RB{76 zn3;sg!JV;(HV1%TVaI^4JUb(_te53vv<8+D!@0kzvCGi4=<%B_L{4OFe+?9$iHuqO zmROqS?YD=HTmJycT={g%gN=Pj8c&Uep*!Npgkv?JkmF{`lbx^OIh$lYZFB)wjXpTd z#|v71K?+P(2W@i&e>I+1lXiy1(gA^t&1+n2jKpMdMmKG5;#)bK{CGgFNLc)BS}hAK zfgQF{e*APt)VyZNA-E$ZPJmKudZ4QIMAo&y{cj%?qWwTWi>0#0$UapT-{!o}M8lIm z#8FExFMONaPi5-(;x@trW9oa9d{8#)W<$przFv^wRlU{K3&8VzzejE}&6YZ=K3@S@HH|t6b1sZT*&R`J z4IF2{WrmB#QSP8aCRf=d!*oW4w#QJ3!KMnxr5Z6hCY|<;dIDk*$r6i(GCmCv#}kCWjh zhIFE;Gh}?Z?sLtXS2<(<0HBt3+rU(rB(_Av&5tKbjtN_`SmP&mVk?!GgFFcw2^I+y zv|dvo!H!l6cG3x0Jdozj=XAFe$VE(4rs1?{#z2% z#?Vm8q^y$CN-IwaF_nzs)pmBQ$lJB9CEmeOgKRf6m6CNmO|Ua-4Y_9=Uo@okbBb(| z$urB(B&+WSx+rznWyy>^jpu8Hf%)pB-JW+I+${5t$juOI z8qx~S7~!}Z&u1SruJKMgz8t_$(PHs@Bbk$^c?@l{e%;5S*GK&y<;3U4#x(60W1&O- zI{h#Fm-tM?mr&N_5aT|{1cSPQyzs6wqr`Ntc=H3_8=KT!s&5Zy8iZQN^JSAAv4US- zl0w+K8w(N{7}rM-uU9qi)oH_mF;-^FozF!-g`NgBLGuFynJ+8{zeV0H%ljNy~HbA#imh$XJ@Bxl;(C zpL^VB3sN%jvoN0Ma)X$5-&+UsSnRwxv9leJ=;VaS$m%QTuQW|3J5`XMw7x+bM>0RB z$SeyAH+=Wf3pa>9&+)ob?M<*&GgH)`m6qwf&voe8&<1HzZp9v8A)?#MPj!^mwETAI zQRciclN0a)IsB7x<56}iEZmWq8AP61ftMh2I2{okGY8-ZPRJdZYg#cfu0zQ}>ZZ!} z-@pQj_X2nb(LmQFw3MtPlCDUh3(X5S#{U2%$LO`#^9KRS^M*Xe@aCRE)#-YGmNxT7 zxmdH~y`yiBmbA@7AGE1)OdZE{RRrP87EzlpX#^}SQPE7gifiDb2}RPWk0Sc1Eu0h9 zke5bFHb1rFy^bF+vN?mN$kN&aVP*BqVGdUUn*RV$T}VBgjGYxscGm)?M)yeS9aL8~ zkul`iAo;B*$o5S!mb8+D;c9z5Y~@FmAUYxdgyG6U)MF7PGDZ;92!Ix*k@8Qa%7aW9 zNQmHuRTd)U%avG1E?l`n3b}IS2qNXnlpvv6_;ID$%s_iP`6{5Td^sSn#M$*?e37u8{(tm;v-cboXO^j!UaIK9S4hmtDF zrQ^uAo(r^kBoYxE&u>RGCpulxy{>q1*}8$~y#3xO%!%!cZ2{4MerVEohauSx81jcV zZ5K2U2=Bt51j_#aBOjw;`2%rU;%U}-t|J$(xCt_!2Sfe@NChI%_=)DTatDd;oQ;Op6k&3C97jero<$3Swm^;ZF%?E zNA87TixFc7miI>E)P$LFtqzAf+dU#pOBI@%BV>bogOIF@CP+>42%7s7dS}jM##g7jRm5VI5J<3_ZIiNQY;y*gw?cj zq-3@!q>e)N?gleqK@qp)2hATMM^5199)f}sLwVdT`f`}8Q%lh1Gz%e(c!q*ypH&lbKC?(6#QBn45f7;zf zIR5t;j(F=%pij9~+D3SGr#?=x95P7bx;O2z-|ml+t{S6U@mp+rsZeLa`C1&{3F+-= zGIOEO$BnaDh|GMv#vBZI;B!s7K)@(_eC=ol3Wvk9K*vvR0rC*xXScGvFKOsOS}@6Q zvnP=Tr%R#+Y_EyTjyCR*=9&So;Dr21V1(q8zCrOcdnJlm%9>Y@3w;6P{x0fUav1NI z=92igY_)M(E1#`~fEyj|9nVE!q|WS&UGlrDxE{*CFHehkm9zo;AaIL~l*nV)&H@-^ zYI|ccV@@AZ)y!a&_58{c;1Gi(0=?PpqC)wyjtA_p;dX9y^Zeiam9h{w2!67GmM;;=r-U3i-KFxuMNA3QgLkH7~-NY#i+K zSy8!>wbplc9?DyEj1bTUC=_ptDtq!{Gy&(h`6XnG{o(m37{Rcd=72lPiV_Sg+8Tcd z6tl7GP&v+x@wzHBOFAt~`vhdUVb~y=XYs*z1!}_Mj(rN0Ws!DTws`LF`7j2H-q1a%WjszCbjbja5n{)5GtU;O0{mu`vm(r?WpOgeciNPO zymnCGWs;>u3EgF6oUCprq=_u#Be4!P5~M`J??~&}XR9=)qW4Mg-hQJ9m5pm6KaKn= z$h->T-(Fim`86(?s%2thMGyh(V|iiVg=WtYJ8%wzPlWhmJ!~yvy!>cjFbB%sT6Kb=_OJIga{{YiL67ZpY z6)*J}akR{KyWz}@8x!p2rLTMib(WuZNmhG4f@EQZ`t_!Ry&uczz6QtzsCmeNj02g{+wruRI~A{{UI*9#Ndd zvAe~0rJ1T$Y~BWUT|1rkj+Qjyl&#dKZY7}i+~6MTD#%Ei)TWa9m!Hz|@t z*H+d(+)rabs&aKm4c)TOCsZ146jNkET_ltX3u=vDUWl0fD8?-R0CXeh<(`@ea?DXO zcgYlg3uNjQrXHBqk>&uK2+oG7C+xY0K0Nl8zM^ONlq~EmD#3n4j~>D5(;f_H;sCLY z`i`ovRD1$M=xaxE0zNV+%@F0(@$qBwaHH7Imvqd%A0A7^Id6{S+yk3ogn(+t^G<>+ z63;R(DaGH2(lnRlk{m(z39rI)T$?#l{{T^`aYbCd91+ygY5-s13^!wfn9Va25tFs9 zGnO>FaTGyTE)Uw!TJc@_A~tv-VKYe3-u5h_kA+LIGyecll4S(iz|tr3ORPkt2bH00_M81VG6_aDVVht#bwa`b1EBka-1;}1NTDLjuU%k zT$4*l6lN`ZJ{!o-gAn&@Ox*GH_EE8XIhzJ!<$hx_jDnn8`f*x!#>oXapo7&0EiVce zi6h4ifA3jGEIg1A%Hy^1pPOYzb)!^)L(d8m&g7G}CIW0j`Gj;h8TYg37|8r8fSCN@?<%gY9LJ-(K_P-yuC zPwEXT{{TfFUxsBhSiy=MDh&S6&#@UySDI<}XB#;Esdpx6bhH zknXrmKbc(yk)`7}IxGgU!=a^r+2js=ONPd+^3BN8BsQi&5n#MJ*>OcykM$Tj6 zmJQ=`C2-q)1*wkIH2ita{FvH%i?sO8DN&kGlXgs*!YE{LZ$^{+7oM5q`*uW+Yli+w zu8Ucf;w%R_kg`qBF93i$DvZ20Bj8_yMK_~lzN$#T(Balt$USfG1;5?g-7Ob`o1Y$?uQtW6Ni5}){w{ZL(r zU9ak`ge$(z3La=LiL#-%<-Hmeu8oI~XJ$)Sb~VDvt}J=(O~f=W+oIk;oG;cIj$o1{FQD2^-iBn z%yf{nFg!7VpxD)46~WRhFOPDCeG7GHxkZ*K2Oo zCX&yy>5hg-+{p}^s*thHOLgbu9Crxb-i;h^mmJL!cw^|(oUI;g!87$H8Eb~U#iS`2 zxS08kW=kiHv6hy&k_%oJpT8b$L&Te9h0(Ro0xokkIM{iHkE78r{tI?0G~^gRm!BT z7Z%etn7J-36jg&I+}=vcU}d^8Ba+%jy1IuT5y@QqnCYD?c@ssWW-T{rR5@4GRC%DM zHflU1IMJaOnyiJ@H;5z z*$)qt(h1>gF{E1IP3A@cJdPBXGQz0Dm&=rU6?ob$1y~QVBjW)K#2k52W{izlYVn5xMLU7?RiG2YT1ojWH-mKSmg|sDBz{{ck6#^k$AHYQ;KhWOEc*F!_POj$=sy-TD6j z;R_k!ISF?{DGpKhZ9c^s21zD62?T;@0o0~GghhReDYa~j*x-U}m*htaNMmFiFq7Fa z(XuRJ560tX=&PF2#}GwPu2iU4`5k22K;$Jo8lx>xYz$*IRD71xhd(d@1goAvpOD2HUx{NO_?7BRP$UD;U>E(97r_ z)S~^Fg~a=**&1_(Q>2m|go0dLcMr&+;}$u-Tn&xXN1@|schdQ_1LOiNEA2MgA5xh< zjT90Fx>)b?{{TgA9knov#ABzAs405o zakMex`=_7LRz43SAd1?1g{sKW;DwBQZ+xJiNC%eJ$wbV-hJ13^@k<^Jhcuh{kNx{1 zlqt|FCnaWMES`Rfw8Y-7TMWGm3Bz<5u45|Cn;9nm03fr|V&g?2XWId<{{T~wMbHx2 z0w%SyMqCH>%pS_k(g!ARhm(DlqeP4yb0-*pB_w-0s8`s&DVeVhc_bfaEN)b8j!!kb zwEqAENHV=5%3Ff;J~L1HH}Pw@*)4ooZgFFc@xfM@dd7?*WKBGQUZG_EYt7q}$6h^= zB9qm)6g5LQMqL}pYbQ`+F!C78cXIc=#1_|XdaDVvtuG@L(MaaiRkmJNp8cv%`HuZl zzpSzcN#FUKQ9A7r;lF35>9NO)gBCkwW0@OviYU1bW8rjrt8l9wLi1?#oS2#h@b9P! zM0);3(Q`-rAv5M_QbJ#aZtUJ-!HbT-*xK7a6U#w!k8(<6(PK%F*Y5Z`0amdm#90^7 zzsLPk9pVZ901I3Ef7LJL{{X=M0L5$BxqNWRA@qY@+#%(8&w6ZwYaj=Z;aw2ZD% zR>Er>{-ur=fIK~q7!HluM0InY!Tf@KJ3k9M0<;>r#n zY;gLnfB7X#$5C1ad^e)JSJ)ySMH?r=I!TetYz2gLa~<7TzaTZF(NQGMZyRhV^Mf2M zl$xf3?Kcig%zUlFF=es=WPFOG#@Alg08Rd(XmjWLY*NL(!D$DMi!RM72_3dP!qf8Z zy$6HjPEgxC=lY+Ajx*9UF?fN@iunA>ftTVr9U-ot;wmJXUOp#e8L_-u9zG1Dxw35z zCbtio+hFb%K*BOg($;Sk4>T`)MQQi^OwjsSn8*C8m2OG`THk40lFfbeUwd`tj* zf^_+jF{k@9k~`>}%!%=$ud`p#S7qySoBqrP)iEX^wE7g~=1b{hLMD5ZHw!$QJ<1dr zGvvw`_Uta`r$0@}W%>)NxahgQT1yylq$%*>Y;MybEMTHp=>AJ6^Xg6w+?g5i*b>5|jl93o z4v(7=hc6Cx^J8nd3d0x0+8ok{wV8l`0Jz+1^y;x%BVmU(%##=GBEAZ<^;+g?7>^BW z0gL;kgi`6?`>V5+nj9rYrX08@fs-;o8u4R)2lPyqXo&4hc`&|HxN=*=N6lT0 ze@N(cJWxkaWTdG+F08tKi63MVJACKNKF8r7K#aj3;M@69uA5rXWN7m>97F#A_kxCX z?GGQ-7NLO~kA1|YOC(bn80fuxt!!?1A=^hlR2Xve9@jcpM#~#^{72?~imdpvMUGSF zYdFqlX2!$M=Aq?y-@~k!JNnlqMzion!U6sW9!uyY8tm4@U*(T6n@_dchnXCq%q_?f zw|80#|d7M4cN_Y zsgmhs*;1P4sP__a_19)C8KI_e6S^s5^JGPhbJ(S(9_6S!K`M8*>gDY+@!_VvgC7z1B8!{C!=T3(0zc* zC6+yo{pDkk1VaVT`K@!d^e$OVCtaI0kB&*iZ{J+Is*=fz{Oo@?8E)IpRaKEalZ+&Y z(+MJ(v4LzXa33;4rjr^=w=|EaS2?)`D6!*^he`?LcU96$B!ZmxAE{cg$++yq;-f7Q z1P$)s5{Lji3q{&3JTcC_qoA^wn+1Upe34_se6HHY7aw3Ot(S(h-6m{SyCtFd1oGFO z2hm-Lv9KOk+(yRE&yBr8)eH@*IoUke!dy>1k3!FtyPJtAAK_J5B*gO@n&v&8lGDdU z>*GHaQ(j@JDeyIFSuD|xScG2V^5=fu0X~Y?gRIQt#&2}YXhWkKOnO@LtPAHf~`)d z=vnH%J&g@8Izi;yE@NG^Bkj@d(Ew-o~}W=ab|rE||7IszEqEt&08TVr16=ja=by69Dj7yFna*DSy)hQE_WByuRie{kw=i|VH`A3SrpuvwopkGS-Qr2?Q>+v zaR;)khIySZ0mPRY>Yn~bB_kzdPY+{xA2p(t2rWiAHx^4lE$Q-1ewQ1ebD@>OTcE?x zBV&ijADI6DiQQ4!!ctt?W}l8STPi-skr=nQ0rgugFIv*FG${0~R!2)0Lm{o${?vVy zKaw58!6VoO&cMSDag4dZiZ91?Z3Be+p#i>=`jQW#Gxoc`@?RK7Pw4=X{r@ zXfjKtwoNlCLzkvbHoh4L?C-l)GsM~i+9smbv7w-J08-|9TnfiOCA}kFKNT*>Q0VYsG&!(?wzlnhetZvX zaT%%*&_I2IXQHOb@R^=3HyO;C(v7a8L+ULC;>N~tlxTzCTznkJCB>dLzD77mL&btS zg_PH^MkY>9z}B`$&}bb6tyY%=dRAMW(Dunksjd|^tA{>Z?0ALSTrDy=chMdtMFuo3 zbM5RVF~yFHdyA)O@%Ta+vX~$Zo$d}l8~rAS>a+0T%>>Pjt}bTpgsVx|`LO=VWpIyi zb#}FHHue(1szyRUWtK^5fp-C2Vd62^?szsp_3_ZDc-|OxL~bybxHaCO2O#{_#ukWR zjqpn&0V3%2atY+MqTv+>wl_nX5e^I#_}DO;@p6=%kVf+lK^A zdoiQl^58d7>Ce?>JV4na)+c1ayZ3H8dQs@9A#!&jpq^3irF?mjIgPR&2;nnmCcs9; zv6C4Fsl%UTCD2jZJqsUDe9YT4K-jJgBQ=mbj$9RPHbImEKzH}5ik}g;RW5sb9^k7% zytv!bc}Qg0@G{TL^j!B4C@8YHg-wANrbE_pUg!vtUcDo4K&fT(e1qs~1ACFz=&k3( z6Nk9EskSfqC=ZSAZqnl5eb$IeLmUz#K{i`qEq-8g58&q1>}>q(S6(!)7u0UyBXK_M zpfHoz1u7jgK0~$~ca!WzC&9_OLS~~|0iCaEZrazmjP@bDRaE-6dm}q1XuoLbTjqFU zSed(>6B-9wkXQ<{KS9aUe75As&>qrS<~qmFrhUDLwdk(%WpodJnDT#B3B}upa3kuD z!MC~miYpzA-$SBwq4#9)TkJvZp$ho`dq}GJrnQ?R?rYdB9*d@9yHSo=Lo#s<-I^^w zF?JR9q2T>LHIJ7~pUa+!5gIH%=!pR*N1l+=-51LZh&#+{iQ{18kD7j74ES@pEQri+ zX`&p`5Tj`>rt(#hGq(ZPgvU5ulv6?++9xtVl*!lFDl6S<@xn55`pqc%*< z^i9JK$jypBHLNdq^*Hoip@P@K!35!<%^g5qap8Dzay53xl-D`CNo^hh`K^{dMyrXy zjhPXSj%WHOX#>wIHRc97^o-NF3uV$F<-Yxp_ropF5*4E~q&2bIW<3V4V*8c#)1w@-C z&IC3lg(cV%e{}w6X9`A(acf7_N&z^P8Cq6ebbd|~0eiT6iJ$`PPw4IJV_i0LL;Hp{ zlIt3X(_(9($_<-vt*58dD@`-Rvd6VaM6cD^(Vw6oc6*%!Q}oTluq{c+7M@4%P7F^Mj+9RZ|Z?#U$q<2W^tt zerr=MyN?y|b^YM78vd{L?3T*rwV|z`E|Mo0$?RP6@n2Rz)F*!4WFpjG3+YVN^{^#) z+aIrKA02j3voacN2M&F#s~-u$mnNtVB!)LI66aNb5B|c*ktL*b{1+)kpPGAAvrN`W>yEv*X^J~y4Y6?({p9J4PYI~ zR_)Mmp#{z^aqVh@D=u>*qkE<_YPRy36eA;Rp}ClVxsb(?<~+OMY2``A&~l~tp5cD> z6lfwJYR4E+$@YSHap<&eX0L}BGeGj+-ftl~GJJju6h_Z<}`e3_90z|3ZkLM;Y~vmA^XbO>f;c@1yVsy-fbab5Oon9O7Fybc_!*ybNxZwC4mq8K98vff!E zJ12x%{*o5oy(p6SQz?Lm-q#WGrLQ5x-n7AWn`YNLoQ{XX4@j(TnFF{15xOKtpi?4kI@HMdRq{y_;e+g~ zW{TFEZGMW&8aG7Er5&wKq%LjtU&k2qW%KA{mL9fBta|`!i0Tgt&s1R&3CK^%aAg2##6KkAtq0xk$%W> z)Mk^a+vU zIxLwRTr`lSd2RqZvFL`tqB&!|l7UG6U6M~kg`Y5@Wi_JPA5)Johc;0h?Pvr8S4ze_ z>EmYC+sDiU{FYKUOjG%+G*!MfqUcXCu>C^a49!IIK1YWyk;xsXz06^f7s$ix&}b}f zexW?_d08?U2jM5O-DGQH%0G1<=&^dE;>zN-dVU_Ij@Y-C*U3klQ*KP82N2bXk5zbO z2Ps&Zjmc!+$z*tF(z7OQaU4M|1x~`qf7*BitlloD-IPC?w2xAX409kpq7ZSQ`C2dX z^B==ndvc?hu8I9X{cttdED#j zd0MX;L;Z^jE-_wXY5xFFu+l!t)ru7DneycHhdM&yr)ipIMttB!6Q0r6XtXUSO`lZG zj~XVMdw^c0laS92>CMu#)-*k>9%R+YcXZh_ki2QOW&Z%Ha-(Qz#*x2PuKOgh4bO?~ z9^@-SspL7W5>DrLHSVo6?Mgg}e2kI47jRnPf11kn&8g9t3^l+?7_BueKkQj=jB>|v z!|oJMEh=4)g0xBdId%hbM>OKcaotPI+mV5aWn)}J3wa%AreMb;&`kqf!EWmLgz1^G zIHD%Y2S1t?=sqjip3LyRot0&bFgW*T`YJrn2j;_W$8%0uOrQvV0iq^XBv4j@W~@ebaqF_MlZ>KAQRSwgC2I*2WIbuB7`?9#pv) z`KBDm_E$&lvwvGsQg?Jn#eSNs99=o?bYRPmGa3uMVD9;lp~-=Z2DRt!Yr|i>5=ZGu zj$E0b-H^$4N(TnI{FDqgWlZ-zM$?>c;_8WHwbsgbqMq64P(C@cBAaA;T;0x)jt@>2 zJH&oO`sPF2L-_y_K1$0QHzGVp<1J%0@D24JMG?^b>)h7*i>#Lf#VayojY~|dW|bVR z4%x7GCxq;L2%wp=w31uc^iwBxJ|j!AWf$yEKca%)5kTyQ#fy&O*BUZ7b4sPrc-))O zItDPmbXf(Y_O)dTasjh3cjl^N$B6RRf)Bq{VUHATuZxfGE_B*V>~Z>&oswb}e8cn> zp--sM^uY2*zXa|T zL=f5_eu`cXiE+$Kj6Z3rx0|(vYiHJSB*@KtuMQxB(?EQwM%J|hjRArOhKj1YC*R~2 ztWlNd%aU+%ZU`o|9_2SoM;$<2-kD^JHSW)GGtqiKO3gmGKUtjKUA+_yme6u2kwym=3Ne`XJm z+2MK4JULTmhOo7x@jdSV52~6@p4oh`AD1cko(|T2N_1DvXQE3Ei7r0)KFZ0D!t3s{ zt=4k1$F?k}*hoH;xDbAXbXBa97I|!Dof#z8Qg~NGMP^8AW5R)t{nFA(OqIO{9E_7L zp@FN!=1v;t5kx<)uxH+QS+T<-n+J3(1n#`KW zXg6M9{{S^tn~wO-=EWp37Sn^tqxqXy+Y)?vghOz6yHE z(iQPR^vryDGRNA-%^U5%yuv>)n8RHm@H$%m`e!gTf#m=A3FnH;9P3n1vsjC6AfW$S-0?+(Z8y3>luR} zk6Yf|+mF?1qi#2sQMH@9P!zoX07AlME-M<>(RVHmJc6{?j&o|-eWDqaq}JetD?9zbM!3}6D^rAV@DIos%bU)D-W_p z1;yn%>B6Jawq&*L0*2xTHm64hM1KRU1;p|)zmcP%jtM~%*%Qgy15+h|rr9(h!|1vx zr(pF&TzgVv`BK;Ho)S69E3lMPbjqy%01RN}f>mKP0jA*;) zpTNz*B}Nx1&R{KcQUW^eX$r9E*_xc=?C_G%D7cydY_;j4mKfUTT1T4Q&T!}yh@)#` z9$P?Z>0Jm&aB5o@C@)4o{ej7w*FI!Xe3}cD_lNv3{YdA^ay-{O0N+JzrDo>5eiT8u ztptj(Xe9*AxUxzS&|^oc8={50wa#hz6G=Bm<+hC|`A5yibV5%p&-h*5)@-V>4TE<(@j(RGOA{Ya@2a+;6W`f9f4(T&97SY&}bYyvNXsHajOF(vWPng%yt; z9J2oa;n9{@N7?4CeojlbIj@#O`@KrF({$}~Dnb2$_1*6~4S$;SIP~loWHLpI9Bw_@ z)gyo?3R|J$*Jf#XH_|g0no~rAGB?TY;mVd_5fakC2<$?;4Qm~_pabrN_?av1z*>A^ z82Sh2W_MGI&BJ>c7%y-%0Oe9*X>My97udYX2Uk73{;Ph-BaOk$XyfFPY-Uf?mV?>6 zCFH})prfDk%0Ynm++OTPHO=@)q}VfMW}w)naoFxT>{VZiMrMzmBgV*kqmWp$$W*av znZA5(mO|#V-5ypc;ce`Eb4HIt{{Uv;Gdg(lXN{0#WcR8SsqB)irm|b8F^cJ;-GL0FW+MSh>was?d3jY8!#ym8Jxb^6)q>3!|2QlTO z8x9JKQORZ;-bCfG%Uhez4j(1Q@_c#1U-)!zfAY9&krQ$8ffKtP>PkQ8Pnn{ zrdRgXyZ8X2&*E1eWXp7i_aYViRk!~D#MVHo3N}xJGBE3I$w=%6C0ZG9{1s(g!{IG5I^5YG zUhZ7%o?5e1a3t-SJUD}%N&VC(YZ7U>O>PvEd0&gwz&|CvkHh+N8$uuAqRZhuCPGh? z=KlbN$RXt<>~!Lqq*Q7CF3Wp^M6Pi?HwB`DCs50TxzA*O;v&@!XM`fhh4bU&5wu>{ z@S;Z9;AICn*YaCoB<7m)H9y`3(JFAJaYdzMpC%K_t&>pw*EA5dFBwWG#=N;j?DM0ev`85=GF5x2n7$vuGm3&{@msf!7MoP? z^tzN`rzMfmyJIN-05lCV!mrcvy#D~UnP^tmgo$`_zRfGmO0g5j zp7ztX4)@tpONWyQsbG66+%H3J3^;ivI4*}@xBk# z*hPr{0Pa%a@V0A5sK@^RawU#y(7DSS_G0p}B&uk&N0+Bc>m{qy{{Y!+mmXgi>X7&? z&ah`-zhIddWL|{cKhwsagDh_}I;h(Nm#FxM!#Fx#KJ%1hn4j70u07YEWof0dIni-v zqBSbhB8BY`1aJH$O2=%$!ht_TjD~g^b8TH|I))xQw&cL(pM9ujJ!m*V-ok0P`7-3j z!pBpJvCWQgF2Ki7>;j#GsA+GUIkGfRB!VeP$kcIPJ74F=N2d!Dm9tk9JCMwmGt&d8 zC{g*MW4Wbn^R;{^^!E8uMqK_Hv#_!WwFY^v0w+3&XibEK|kW zgE_6I-}$dE@g9!-7g?VPz|$S+C%9h67Bo2VLnb7<8w|UgKX`Qi05zBXkaQfKTf{ic zz=X*6#rQ`-?pBCS%#(v#V}GL^HZsYz2|#gYp@5E-IVx|6AZ!^^xulkoHs8%%cw0o1 zN76Z`YWk?FR6Jz9DV-) zFyX=;H;1#Me&^#j0q&HeFT+PD{*!eG+moj??)aE!ACjXn($eMQx*a!bo3xh&Rgb3S z|dW!21+!R~6XWgt4FAvGnYs&e4x6qichn z53G)t?5=Xy?O~X*K*D7#*!LcWlu0#S!*WUTeH2DFABCj-6{efv%#6SvKIo(D55@T_ zh;VfM8G>A?8tF&BWfwEWYz=cT;dRvqyN}?T7(yG6iRP4_7$S7jX}T0mY;0?!KZJ7P zvw8ZaMr^L$?X2v^o&tzQR&3?_A0wUIsnBRSQ*z=MJ^G-Owyx+c4fH(meP5 zsunrY9vlba3a=l+nNP+UInNk)=kY&+eTl?@W1CB6Jke5>qr`Gzjtqw~84KFe>3J1lSYv81G5}=U=k(eF(sV5_M67lS`l-wuC=f_E9?Ecc0+Y<+$N@Kg)VIQ9fRVz0oN{Q=R^>Op zDl_ACAef)*tcANKV~12wELbX$zH2$<6}fUXQAM?p)gckPs8J%%1XGlT%*T$QQy>}f z0T$I;G;U+IkglnY_+Ld#)3I5Rn!zv|2QG3M%8=}Fa+MvTVT^oGNcFptRn$$o9>_3b zyQ>)B*Bcyg6v*Q-^;~?ia+RI@QBjQq0d*wA0y*>Vqw9=!r>!;Sv7;*7J|RN6>`$wb96(jXxsA22Ux3 zo~Uh+hT7)c^hTA7aYd_jTp1lsfq?t8(NiGJ!f+zxV@LO`XWSutfH8%BL^wKhHGcj~>%X>|o=IJ(A@!ueMV0rg4St~N^cjC$3)d%rR8p88|rS-R;Jw~l^6Lz58vHM{3jt-!|y!~XzMhcuY6i+s%k>J@N) zfLR$sHkMr+jxrV!C;%*yqWMup2!ed4hVJ2o+zVD2`raf=b1|fh$y39 zJ3p$Oq{SeGv1G*OhC9$4-Ye+0D#ng&ysY!5;7u8)1IurLYDPSUeX#}x?B?6W{Z`9Y zz=nAU`zxdGy`zA$vv_`eJjayDqH|jC3q!@x=xI7R6qd}>#M3$;(%OzG9tVC^mYCTx zC2Vm*T;ga34pjNy4xhD#Xr3fx{o8@Bsd3qbh<8E~=WyM>(l3Q+O2b~p|ET9oZe5IL=M><@9Kw4SN)o+%&{ zB#NC?nHp4X$c(ydVev7?qK5hLGPL(h&?E=qZ||q<7QAY|8M{BmED8%r+T z()yx0P4Nb7Xxd4-TR?CxhYy#{NP|k1o~ZI2x9Xzd zXG0`I%X>&agN{E{ca0zo17SDpx52ciRFqg58Jftr$tUZ|%j(l=ExXEZYw>&c>9iPY^uQWN{$>(CmXP`!7QvMH`zS_6rt$4PN_abu9px+>!Rlx2kGvk zP2y@MIKu$;Z!1sXeNFjzE^MINUPYekCz0XeTIk#2{{X0FlBUDQrB4v`%NQQ^i0mej zMri*4RVsWo&f@Pe%_s8+F4CM^O_Kir=~y3%lhQXYA-%R!YC0ZF@!mTbA?yRWDh8LN zGY)4;a?bAl!16|Luz+!lhFCE)t-)G;Dv>09_^I95Z1g@l`JG9P3Cyi;NK-pz` zwuZa(T`Q)EyNCzssb=vL;^^j@_fX~W6!`>-2ino&=AOXH@xF+jDAe^9WWx}MHK*0- z=YikoyF~FGOmP4tw)c(PkI4gG^JdeVJDv-Vr=B?WS^YK~*(7XmM(G|;KrE%?m)Okl zxqm05$FH(RgCul&i%)j9i^W&{%9l#;?x~s`=CtC58XL`SD(gt_)UeL!v&egz<4n76 z)h)@shQk!v*;||9feUGj0Q>Tb;a6ws8nbh9G2U@@osV}wev4Nw1{~I8#fij`$`m=n*2B#PGST8+TVJ)P*#LCRi4ubgZUt4=}gXe@6&72r$@*c+R z2Z7O5c#}lJ@d<&_z3q}Kr!dhYxKr#3rjN}D(Xcw}sil`UlBB5x7$oe2rs#M$4gxkg z#;bFk%C~b^*LoPx6XU~*JaM_?xOFIzW3hnpP5Y(8$D8~sCS=(TP|^YTebjRx+U<{M zq12R`&J6i5Z^g)_8?X-p=&25q6IoeVTY>A!YjZEgd$Iq3;MREIii2GpV1UK zt^<`tscL#Q4k3sKIL0{VqN&mRTMON?M^kRSMwe?B3~}RU7bK;ce9|}31~Gs&In~sT zJ=K0Dr;C!%TPs_BmAQZ=%OzKnq zM;B4hHrNA=9^r9^4`&V&iwj4kyGO7_2GY_vW|i!WtjrP^h-N{B{{V!J=ut zxxM$Q-x5VWE~AY$JBe(Di*MO0BG$4SP9c}>pDC$rA=u*UY_-&7z>gWvpJ6p#kw(^f zE8)%Ko)MqnyqTT4e72MGa+uv7Mt}sdpP^Z@E>A|NN-~hB_ z1+E2TrP3t5!MmD$km8bjHw}_Vz&jECsG~VWY|oPnCjO?$(Xrh}KO~!E9}Jv(9#&dE z5zN=orxC@HLOdQMkiE@(Ry$LZSCEmN__8z-MI?fb(t{2Ypp?8i>{SzLxBa4Jf#pAw zTq6GfUq{+G9rOs6bp4BXCcPGckGr9}->PvExKWhX_dp3^W8WBgJ8WGpd@n8Zysat8 zt44WJbjHUFQSuwlxk~3Xz0-si2I7At-z*2wZ>QeW;=!~Hvu=LYqKE7hNKO$j8x2i! z15Ita_D2}W0@{5G=QG^`JeEHrYaC_2ZbCa_02^oog$GmBwC@k$newG%b@)fbV?NO3Rg{Q5}Z`yJ(f4o0mMhrb4^=Ax~JpCDQOw<<&0Ly(cnrk+Q@^CM!1fO?@h#y3I?_|yUYWZ zyQ`F@HLPydv;dyB;_=j7v!9p9a#Vp9hRR(+$V3Gr<1XYb2D+^aLT=FI#W#5OO>^&n z306cSqmAyjFdwK)mkJ4E^4!uIdWMn_6nvb46Ais8a*S26u;kq)R?Xp!Jh(e_j2F!t z{%JCES%|}nrbG!J5gmv5rpq+hPum;4C-G7w7-A+>u5_|;cNIp}X;ht+BTUH5kja%P zw{=sX(y?M3MAGkaElhD_Ew?(88<@_llrp=Nudn@va+B#2A;AKi>SIT`d)n!rR1z36hh02`)q!P1zU{NI564RCyYl`MDlM zEOhdo&G<*vJYnYQwD+H~;n!cp{#i`*BU_=84%CRC9+owvB|n~F=LK3KldmBER!MPw-t zjyRiTp#4;BI%)x=s~54dvWnSeVzKSRaj|SZ;H7LbSn_6Lhs@FzRuqxAmWv7{y_|9s zAz){gBT~ZQ^BjbuIsx$lp))dOABxAZMH!H|+^{sCl7-PL?b!bSx>AhTFMy(fg)4q1 zF*&%H&L9kd`KS#NhC~k(X>g7i1p*KTn(Oq;!V}x4NDcX;@+gX+pJZ>iTrtZ!6iDI` ziZX-sE2PYVJN1KJ%85W6_b`qP-7Qv|5XQt~B#PvHxVZ6OFQU)r?QWr{2Nr$YV{zxI z)if8sapht1vTBjk@bUX$n&%e*bUsM5=DLf6f@2wF6gHPRokWB^6E`APRKnUq7@^+j zz=72?CsznULmuvUK%K|SG>+h-PHBqc*b*U1@?F(PhaJWvG3*o>UFuVtk+V&3zRC0{ zk)1V3YGhf5hY$zRQx|h;OI`P2T@_@9)_ebCwyoINE27@0d0 zQJK7XojuiqHEe*|^gHrYc=0{Xrh-ZA0=dJ{^YSDNj~VxTk|+efir$0g6t>9uIT1JR-AK` zJLtojFvzvp!9<`>aJze zbr9g^<#}M5vBDYB=m@sewoZpj!^qxQizcR-!Xb%7LJN zS`yMdTX;>66CIf*Nq0^?%ZMc^=pyzl@#C}%wmL8<2QY+50m$3tO95+5k68*6e#e$rOKaI_$udiwo-4?PH@Dl(YKJyPrX}+qr@F`EZ!5Dje6J<) zL6RIAEc$DOMC^@1Chq%NK<~Cgf1*5mWD?0Jm)Nu94EScLS{y@UY`op~1zqZL;7=U5 z@xwIo5yfK=QHxd7vi zcGYbvJegM>$mO?mFFlhFkF#frXjz94bi%g*%TzpEK?GMLfpd+TRVBnID`d$0w#T#{ zdzAKs7RJDByrPbaJdU0>NO5KK=#)f#(l>R`QX1b#OKf`BCSpk`rn!Q>%_ln!NFD>n z&ifQizRCNgbz6zs!1*fVT?p3g0I9g{nmdfVWNq`Leg6C^Wj@z7`WYx z56~?8OpbVTa&HA)VLLpuF_G>+Ca#*CRBfCmj#8eBIT?ytPm})u_^5_hT75BB&?CAn zNzJ2~|m&R#uk-NWjzGyAv6)I;zK2 zhijjXe90tiVWQ|8bB}Hn?v3KSe5lNF6X!;2Z+9%2B$MR&H+b;mxUS7s?@u~I<-QpZ(%}$DN590F81!IiZIhr5G*XEX|%c1Ec>5gRgCf5Q!sKgV|GDysTmeuwv zu^#gqn=5I}HT6WTJ|t-nGxbR@8t2J}G?9&oS!#PkF#ABZEH`r0{PjM!R6&{}$>WYZ2k6_^>4 zX}YXZdW0`Lf;cO0{cVQU2bU9K=nGjf3wK#@JQ2#3r)ra&_GvL=wa+Jm^7kn##*Rr_ z89yRWjU{G_4^fvoQrIx$WNqs#o{{+|8j+VHRFBEa*^e0>X5NIUy6$XvII!u>oJRRa zsI}ddcyvs}K1mL)z^yoZEO%x+{$@m~DACW4HdY{ZB-iX-rsastp~;$mvJ+q<8I?L9tevV>yjC`waSb03c^CI(AQqCF>`RT1z@ zq{uR5YIDCEyBonO+YrUvAESz02t_og^^qv*ca%5~U zX_G%_qW7M^TSSk+x_oj59Wj;N*0m!cv9+PV3pHUCyr`h1?7mJasLngVdO-b~Wsl!% zhKj3$2P?zAB8MJalQtehPQxcwpJk@i^#|a!ftUB4$3<0~Ff{`i)N{l#M0d2Y)En|y zv+;jZPmZLQBH=e}m7m4&Zk^}(0$|`c4!%megEJo`yP}XebFC*vsX?V=f+zrxE=-m~ z6G;p&KEYdJ(64gg%A`5kn=;)bm@W+bG;f6@Yi)1sA}sofOXd1E;(m)gw3{^1!4ssA z&;r#w{v?Jr+eM#XvpTM^m#H|#>SSNdUnDVj^7c>4@jNo?Q3A_`Fne)pM9hdX;s!Z@ zC19b(3;IGQyuVHHIwOsbiHL%8{Zf2jk{}$yF-!S9yGXXC=#GS z3&9I5?(Xivr4U?7aR?N5Ee@qXfl>;T_V?ufyt{X;`(h?pGb@vQX4W}#_TFcIzHIT6 zlBPr2I62$iUuFYNY8_^#+yW;<&x@Y>YdTX@7Ji125>4L-ya=E5tr&1JJbu$AVg6#P zqiK)X4}ZQF0-HQ7EeM9Vi#(~ZlxQ!$Bm(hekqK{9n<+ zUWq3K_k=e$pVcCttq-{FLQu7|e_R2(;y1z`Z=*kJMqoE%X1U3YX^+RkRZGW8_)5MT z5PjZ8yD(@{ZMLKv9$X(6NQVDx}Z^@YiM|LP`qFoTka7j zV}R{%;A8J-MANy7y!?ZpF*l8ikJmc->YM#=|;1X(mIXfaSJ3DeY;k= zV8Cr1)G4`9C7rIIb%gcJ`{;Idp5c9j29kA(T#deis19E7JAFqpLJnmL=K81AQl9kc zVq8Vlbj_!F9)=io9z?8WZlL$_sHeP&RU_*{Yiro#B=UoMWKI732dx6he)`JcPY@Kl z*?KJM!ctN_q@@NT3QIhbUHrO3Ko& zkr>?(DqTBg#K7iApf}=o%>BEWM`-E@_qU#KX zkqJM)9@L6fFX(Tc`A9}^n&f(QV9&nOS1T{RN$EbIv`Cb)(p8x> zV8th&+Y)-DtROO1isnM(2PLe-zBOlBQSC;w-M_r~!??@1&p!6oY3N8nn7?Yx@3UJu zB`&+Uy<8#cC6RSHNv@uVtZDN+WFPdo2);MdEg!BPU3N^c$&~fc_w${}07%EyA02nS zaU%dh0jBQ_JwBV@BuFIS{kGJN^KM4QG$$Cp{#Iq+>t~_$p1mH*%QzKH>^(pg5~jkl zc9gWQNg0ASPod`C^ozUu@A&e^hh8ChzD%`tjoS$X@7tX)ih_G}ySLR71cT62dSY07 ze9ejT7xuA<5cnSwMbmG+IOy);nN!@cKd-I4TUmD(&Pky{xF_(r46oO0DLe%1L54=D zkhwx{!$XChCA}zQuwd;9#gzMt;dL$1BGbu=sujjqO1g->p8xY0Q6%d8930zQ%79_Z zTKFbHoc#twsPNH<{aQj)4|5-mLsbz{mAJKTiZ0yL z>DxBbz1bP70QaCP3#ItoAy-)ct2&p>#>)tljL=W_Kw72xq_fxaD$(Yq>FO56#9Gp9 zcA~7Mbh-!(LVa8W;N5I6eb*(4--jFH4j0a>7kPtLGWDTt$UhCfPA~bLc@Gc1QN*+r zY)C%BpA$-%6Md|95b6^N%?W9PHyhlj$*2>9!%%hN{X_F$@;u{b6Z?ar_k}hI`YY1_ z3nQ|IgGk;^Hxy)p4wNc(h+qk9`q-w0|OUbmcyYMNl5c#Y<#7rdl(8fQ){iBvEsqF-B9sTHVJ!y!<6Of zgDt|XNyd5aN$=(stJXP)%@i7_+jpNw2ze63lYX>Ax>@6>d+u?^tpqJ$u=P?svH>4E;f+X)g$YmrfBnqKQlUhC9 z`>2w~exu4xbqkRfp{{Sb`TP~d1-rAX3xCvaDZ5j}FlmfQY z8($nUvYjw|0!pK*zS-Baz{%RC8)rVTe^~`yVP{oqSYym0K*U+*`z6z}t6;pB6cT^K zOqvVD7-xSLJxbF5qPG?(8wwFvZC+U0kYsX(a|_|kQfVyOr}CS`e{{2&?!s^#zJqqU zGg&|x!!BsEyV!Ir=>czYe*UtWQ8X*y64@Z{#wDq&uq`a*D6k9MX{L_QagqNlj9cyZIgy@-dS+-0JSOjqxeDWb7sI`ElVqI;{mS@HyCHns@UQT3 zVp6Qc3tM85%C`=j~!!L zD_+^=j%e6hEt`zfWKS=z-iu7L#IjHD-FP(*yBVjS)$gbfZ_<5JN(0e#ZS;-Fg(tF<3)iVa@9%Koi7> zDo|Q81k{FT5ONRt6x@6&>g?fY$UPj9+dBQMKbK;h)ax&?-^-P`OsQ#|+LG}h=|f?~ zn^RS$hv!t?zXyvB_WR$^e?Y9hZQ~qVRhgde$}D+nrr-{M@IPu=%BzfKoYQ5#iT*)^ z@hM!hM2))qq4hRf6qOxQMXreBI_X(mPAttSUsOY&>4$!(+!iSQqm!{lQDS=Ck?x{{ z^7mn_TRO?mRNS)<-P=U|TNC;R^G_mZ<=+CM|h|-bNW~@Zz{wZxvuhKVpJ@){Y^$(Q3 zq_&#I?APOzj6GwsisF6}{3(h$v!{WvVzZ4BQa}Y};oF+7v3F&K4Dt&X#9anlE7Seb zHT@fq*!ilrv0ij<-9DR29obO+{XD{(UF&M;kpn_}U)B6r5KF=$@%Z|iWJ&=4PJpu1 z=g_1@$g?dchzd@&G&kckjg)n66plP2TZDuRZE3!R$)g53y;vFnXFMyqd0Bz5T)V@l z5E~l!u;O9+N`A1iFDtCd1*cpNNbep z7xcFa#z%q4k$!-GPR1v$i^oszNHb_#A6k&IZ?riSAe{j85SE@V@)%^im#XQ_^G$e7 zI{1UPab*{03ClR$Ml69>CIUPR96_CFg(s3btfAOS(8_6-pEk;9q zYA}E~WL6TF8kbsBoc!{H+H}n>@r&*dweH2nUaMC)DE$Hbf9TIkE%1{}@+18uK{}#P zQkV6E{z}&0-tBK(EIzuR7wS7uP1sVoqUykjTzrzz`V@&2Ntov{?<(dNKg^J4BRt=F z+t8?(j(wW@Je6DS8gu=+)hbeMoLoEiXb5PM@-bObYD-k#LkbS9vKLZpsGw|}L(D>P zX@#m>QeS$Z!OAA^ND0=6yR_mRa~y6K6fcfHVH9Hd&ld|Qkx-R^<6c{TUo>z^eftXP z{a9DkUg>x{YznYSM?b)o`w<-$5}}NPImu+ftSZeomGn)UanMxR(oWc0asShW!v5q; zih8$n{!--6_qFS@yVIPsfg~06@t_={>6y1Wi$89#vsPJGYzj{p@(IIRG}OwHFXg4x zWVu+#7btv<6WI3Lf))=eT|UWkxb_tb1t>#DZbZXguxmhO!6?nhGJiVqKsZ|6m8WOBYYh8HSMe{AnlP zQdTi!H~R#+g7S=8nV`145yb2&EcT}r7e(q|T%Mn&F@27J!#_J&(y(H7f54J49d*Qu zsozpB8EjvlrN2QEHdSYtOA}=iRNTsY%%V4=Yr2<0X-+z`i7Y4?!GcrPmZIA)pFPQ zbs6XS5dTZ6R|roUw;RXXU60P#=!{b!dluQv*H+aWn*O_rp0;G@cgSS@3>HknIac^O zzH`#@SzzJ-)OxbsZU|!dLYlmam;!i4WsLdA76 z@DnjE+66}IjgigVio+ww_g=R*5dR1nrY3&*{ZGuA)8iDfFK=~U{_45hGwRN?h-Gp{ zNNHmRqjfpB^1qQ4?19G0=})A!9>f{$#d0o64f0S1TzsrT4o=&7XD0`Ixh2b2D8^@T zq`cD!2?bi(m{R8pE`JGDS07Xis3#kl%oCoL-LX+yX{ao%iM&QRiy6K_4_D$$l8U=3 zzy1=QX4p`BJ0R&@nw~Go^Ys02J-y_!FPwhRA|%*ywDw1nnD44<)f%XN_KD3dGP0b= zJYj!XsPY5b7JTx3iTh9Zxlj|8I2QcdmU{B>5LHG$HF+0b8R#b&Wmu!|xK5RdIL5Ud z3k66!6nebaCY`K5$gL<*|CDJ8SObckz{|)RBsZ-$nvJv76y0SY*t9D$#?d` ziL+}4=_Xb=h-zf^aqIItpw<-=LC+88UvaGde97fL6aUZM>7;aVdFY_*IbwT*F=rTb z``df>b3sL3JXdhRP7`-{fU?7kg3d~eoFVmfOYb-Cw7DGu*W1iGQ13==wIZbT&xoo73TQ2m;TI1P*|3WSe@GP z88dz(kh7x@1YwDzowaJuIp&yq<%UJ^(`i0~QKH*S$l1za50ZaV3wXEWD`<%qshqxW zwq&%Soac0h&O&t2CZ<=8qhnGVtj%{;sghjFF?aBn?<$T+an$@u>gUjh%B((mqafaM ztmXXd^IyEHZHHK@LDKz0_el$@@j_z7fvk&M*I=ec||g_hlgBKQu)` z{x;_5BuR~Qe(;jr)m0nff%$y%kk8?vf;31-{P#KxZno>aMrn?oS zJ9g+a)QO|>fN16|Y4l;wbxfC%@4qDwSPt{Hp0n7FV^PqVOZl7N&z;oPzDS>k zHN&V6q=|Fd5tD1_SP0FpJU1|$2ntqi(J+W0GG5Oi6})^_GW_gkU;WSpTCUZQNoM+@kxH(%}YlwH+m$;HHP~80#+Sj zyGLx(CTF$$c%jl%qXDy}Fj{4?0&PUMwCF7D!O1vhjQXdVa>m6j#_+8=CqRg~bi${vb6tURC8t<;NHo5fBMaJunB|z(;ND9Z(rvXsDOb!#_bAP-w zxx6G@N4md$oK4+8U{8ktIvHdqj3C9F=Y(5;XMFo4F4u}{{90y>&)9wKO3P!{r&po z(@8Z-$Vv2l*wrLMA@d7Ei*4XUoq!YDl$CB2+qr=gP7JB|eurJdMUcb7&FIdn$UBoj zM9^E34t@zAIeL9Hs=9U2@v4oQNaJxNRHWbX!X)fou`;(rjlDdyYLv7-XU51`X0-XQ zS@e<7dR-v$&a+5cB={#)7C*lRs1mSXk~+=y)<** zdaP({!Rm-?14y_&R+HDvHBx2S3t2 z`bKe=%<-vKQmfRdIo6z2j)|;`bJvt&nEx}OqXfh6 z*4eF-HmJgwf%taalmEU5%SzO?QJqCm>oJ`?Z@bk(w^TS%OD%z4I$3s95PjLLUZli` z=hMWwxuvrSj0wZ}qZoaR6$5?%M$T)yoqkqI#Mbkg*kmcM<- zO_($rt#6dY!iM}K+Pz_EW`MSM0n~r|s~Q(>3>iVxTBha~?sC<9UD~`2Vssgo-=q}{ z;a7|c)A5YPw7`P()9DF5qB);vTLP7fT0|_XJ%_sASDs*Hxf-d$V~NErl6bE^pZGF` zcm!QqwbGTbGdHY3C?Yn^olT4-qC9rZq!7t>5#8rZ!jQGrA`P6#`cYApQHL<3)4cDl z#;K!#Een%vgs5MFl-PVhLq9{(^Cyf-q_{ZN#EPI-nvO1_*v;$S`?gwEnX8CaSYLqRUQ7u zD%*iNgk3^r2JQjwS=6x25EFuOoP=x|x5_dT>CU zDMI<>8S*3P+O0lL!?|^vCSYRaeB#>@myvS5u^Gp_u_zd$8&Rdz8@-qE6(>Zsw|NX} ziSPsB#(q>)h?F2V^ql%1Q#p-6nal2&bBTw%G7V0*KPOv_ZjsH#LhU-oD|B z->yA@-o0`?`?_3D|{NTn*nkc%d zREkD^wFZk%Ka@}-XD4|7Z_7Az5?Gr0YWSz|3hR=WBQpB}J(&x69C*@qz<^4rpXAc! z9WtQpCfLSx$n6C4Hv2l`4el3y{AF;{YKcZ8NYnui=X)?_+BDo9@+arg<9K5zcb(o}nKvY1ELVRPFX~O5vT0nhS3sB50qkxooRU*n zCR-m3EZi_~p~&M&QC62LYpvTWr;FVY>H}|RLxLqbiGL{vP&?Dga!#@qYC8>Yrv9}7Ki?7N} zL+nbV%=PRYJnvUAXq*NE<$~F@b8}m+J6`c|DPG@JI%U?W9N+&n)!D4(k_&yeckp9a z+A@fH+Q;=9diPvN_@d0&CPN8WYCiB;plHcyKxa04Xd#8yToD6wRDWKr{sbjZwd)zg z$-DzcZI`6%W>lMZDY+%fU9y*BRut1@D+mS!`Gj9EG>*b(Br3h1vznSWzbf+s< zg~dqqbu;id8!&712IgUES>Z&g(9^v>|80oL1h&y^E|TD;p4VCf@OcPlI0iYsj|p@4 z1Lg$KrjQb7!%3!CMI|LK<)YBpx}@g{3U=#1Jp{RX9uj^(qV6m&SQk|$cBx4G8;C5h zx=%%##f~qEk#f+nL|*hX^KFS-YmKzOOGTQ<&Yvr-uScWxh4oD_&X2-{+;`6#?Uc`S zGJHD2!LJz?0ElH4w(nZFcoobU0lB)sNi{DOPAx%f!1(4_ZIsHJ&k9Ht1t*4yIrM-W zAU{rc%%cDDIlSJ|1yfKy!Uw{Yn3)+tGh(PA9>2$dEm+^O2&}@Vh#YPph~;eGK?-Vf zl447d#SmB<j@%i*tInr7cpLR1EE#W>AZ;y*_2s=DaR7p2umTK2BM;f7Quivd z85U;=%#a(5T>lb~zJy^+ICPa`#i;~^7cDKZ1>hrkcZSPS zxE8xA+=5guDtR~<6qct6`lVtMG$^F;?K!2I?=0f1|{~zi|(y@x7$W!|tZotkBB4V@praXkI9Oo}be}Ne?GQw)Z*|Qhq zq-(M(m;7jsghftD+IU*D&YavfT{95MAmWM4MDe*K`Ra+<0Oj!6(L7BVHpmobT<~HL zS_0cD%_l}4MW=BtH&IJ-q&7SBwiXiHTI?Zb)jjgX*;=A|>C4>9q-l@Sw%;6Z@ zr|3^XctXd^5s|G?x7k9=W&8qrG9|LcbJCq5NsS4*A(=AYop zj~-GMN^W&8n5YmB*_P|3o_0?>*AAXE*Ue5)9|J=FXn`Wl+4#n{Xgn|ylWz=Y$H26$ zWHu!bhP+XNE-#Q35|1d^#jpe86HIY*Y-7(J<2P&fFV^#%!lEF!y+IOrrWHgYg}S#3 z=4g#!{k>YNY&6a2K)hA9)+{3c8@51uG+Ijh5Q~<|u*$+l#$#)I0~GI<2metD5HRRc7;vV2#Y^>z zW<1s=j9UbqcMEZP5i}NQL~5(mAX6^<@xX+GM@$V81W9iSncgq-cRnqy9n6Z9u8*7? zX5B0YOM10yi&=e>!2EgM=$Ih2iOGt^^qn%fandbhuk;5$_`T;}rZ+lwPuP2_2nAYVbSFB#7qbEzQkDn{Tmb?SLthRDxIxc*VQkZ9QViN!lvoUiNa>UqRbH5=FbWJ4wrs)(&p; z_uR84%6XiHF>h)V*tmYmr1%ZX{DLsu2tji-igmOw7@a_XYhra=(Bugr8S_43f9JOk z4yR5ERYk(2UCGk;d4-mWcts2`L`JFnv#EH=$?Yhr(q#4VnXj{skP6gY{uWo>CEp-FXQ$wn~^yJN3|VAFM2W)ClOp3Il#O=wn<70Oo-; z)V8v-*0r@Fbh*WM&xh>MHBXtoN1Osm5-@hi;Xx$4FHV`hak!A^CD)%>+oN-mXXK>M zu~#U~IgM3W^3A4?{otr(BBz@MpFC+A)U)-h8f?37azvyJ9RuUZ(6E223zfTyNr4}2 zI5S^{YWt7slL;4sD& z!pqlFwGFC^%DO@X+(lY8qrc6RnsX8$)$$3H@mGbe7{jzzRK^SxR$f8|VMWV3wOa$q zfbL)(858EPR;SUTQf;|m{^ESo!1u_H(LAwQ`%@%`A>7?5wW^8xRy^-( z02Bq|8~Pbg?+PLBU;YG(h`isE>yR!!a6eL%@wjXMsxUK~OXZA-Kr;{Ru|^%h=Ci}% zt)l-6>#-*FWg#3u?k+xp>z{@j;C|^S&>GZ2C<3C?ItRqpyof>#kEcM8+XKn#7F`+4+jHUwY?b`qUiVi z>UwjyBoqvt1;#D6mXfpULXH(de{N{y}e z2_tq?ER>rO%4#t#syGpty4G8d95-nMgb* zrKrPJa5q{`tV204DuR{$k%bi2n?X&dO`h%C$R%W`7}9w&=5bF?S& zU|{GI=;L4Fm4GmBRIW)B6gJQUjvA?g;R8@cEnKcY#2mc@r*O#3FQ90I(Uqyaf!!^> z$88KlE-XijeQr8UOQ64pB-_G;VR3(lN>j5U8l+}xs+&9in<}eEzTALaMIRv- zDx8O5;9`kS->u`b6p$tP$r6`#(d8XwN&X3j2_F)z#wvwLsa|haU#YHQi3lvqaUQ{N zP~4qTAKCg1NbdKiMtmxwC7xh^%9OA*z7xo*!e z0k=h`1|4X2&Jw>Cs-?D?$dg;4VMI&Auj?YCz8l8Gc12~7PL9y zjnfiwdk6+ec8d*;{OG`27~z^X!*NMYQGInpDMst+c!6Q>pTf#_ykKOH-2QM0iw#Y= zNS89KD!3nbw>~Zca0A+x5Kda%EE_j%CZ{k78~?-Bk$i6g6!X6D1wV8q8i%3z8alHh z5R)nRDQZE-#6UbLyt*IDYXelBsoP7LM(~;yQt&9bz{i#vxjBX ze`tZY$Tv1adXN&CJ5vEosT1h-NOtuc$;1uo+522adjWB*M;ml z>Sn5)kbN>piIe*1O0KL&gwVm3cQqg6x*!^X5_zQxCnC@zNWiy;K?$3zuv2&&nqVy& z7+GAHGgWO@<+wF8(oI+?bvZ?joaHqI=8iNEaCo(+wkz4Wwz8L;5zv%IkhO#$xLBFw zu>)U&!q~>Q$mUj;kA~<@w{@FMii@nVTo9%*d|<*8sFlZH+yu0^-#9O!w44fjs52HM z!5>^SB>$~x0Yqy&xH1P+mr!&}Q6NR0dCF=RK4*EE2#OpN{nC>sLz-CZncHw+ODwZ7 zy|dER42{@}Mw|hUHrxCu<8=9`0`$HO9dTJ)&c4c(_4LwSGDFsxk3`tZ8jU_KU3MX|^w>gC}mi zEFOFG3o7U?uaYsTc7h%3RNk1FglirSFn{S*LAm1u%;U~n<|5?1;zc)rql%)8ZHC3L zqf+e$FycDnu5{&%cX_HQl7(>rY(`|>>bQ#p)f6hER+`w{WcWwiahHZB9L`xWC1e|< z67lU}wXFeBCsXqCnxF+BZpg@66I>AVO;#c3tg(-L_L%EPefYG1DnYpO-=cb0ZIqYs z=HgYjf=&^G@v>C?bFyFgSDzPfEy1j#bo=A<JKnHQza| z>EzM^htbh#fUbmjd?YbMSeP#<+1cg7*VHpO{ygnYKjqZ|#q!yZo2zHA{%Q z<@C~ApEZ02+tiJDVb!w`HHuggO*)!rLS-9z;I+qzzLZhv$;NlZw36WIKSEfq9oucp z!Pw+C@=>uUrH0otf0+*sAP)g_?tz;eX;PE73*A3|TqGD(aJt`ms315)=j^)oC4zBcD2)UztWSKV}78kc2UJvX@jl%aH_hg*3 zx2r^OyFOX|KyGrnmr`3r`OW0F0&jjb)z*b$4IgL&=+K2b8vo|DP8c3Geh$lJsM%2! z5R|KOi<9Gb9nxuYYh=|L){T;?8lZ}KiXbRYP!(l#i-LQZbcqwscYNg(;35rVuUF=j z$+Tq}F4Q`s=fJJh$YjT>k$O)MBl(9-^(ml^FagS$q1ipL`X+kBdz(7TY8NmnVTape zSwmF@@8_R?coemAhJU6r{;iM2aU1^-L?}r#&K?|RjKU(f7#?wI6RI2@ac@ACakI*5 z)6W+)&jYJOU-3CeOk)430?Z$CJTWaM4d>YfOP|XR2WzNyO0X6fHxa}CaB|}LN{^<* zk$N{9Z(oryPnw0>l^n4dm%Qi1S)!ojQiK^8T=K{-0I;JF=9n|TbzNF=E9&{vZdm1w zwHvD!Uy~bx^T&`XnQB6uHq?-=s$JRgtb};`{yB%fz~9O?S`;JkxV;8Hip#L}Oa!E0 z2iH*q$M}%xCRRYf|6(!$CeZ=-1kvm9&F9&GIyH-E$yDDe;f6BzK;A#yKzuDk1a8)e z+!Z3)<$}kGSk%|29guLk!ww%vkm9`$lcgSG;l<~r)9{0q-ISQ*q+eBxs$Ih)YTJ2z z-p_CEUuBQaZ&TAKdi~bjC7aZmuZ1ftZ60wn0moUdjy9dDUX>5Od>7U!xS@X$!#L$F zA*D)OWCOws*96PLu_(1DhONGXX-#V_hmc#z+~ScQ*`ow}XVpX9a9Tf?=1@SIv<)U? z*medld+-*co->Boq?Q*Lh z!VMLTg3aynzZYa-boe6X9386_YU@?P-8B>irV9d>6TJtA8-VI;o*c>`PA0Qs45Sf=^F~J8yy}9WTh(9q-!j*WAECBk0^V+OKK;>x;9W*z%EIM zqYcEEy4=e2PhXMY_1^cJ-P1ty@|_(Jdr^jT1#>yNiL`X9&(m*3o2NHS9w@!z#2NHS z5STuEJ9=fzTnkYhM&}$e_$;cyR7;YTi9}(rxGZxkRy|CIy2vX~szeAbiAUmKo)qtk zzAtX?vR0B=DWAnxQeq!YYXu@q1Vg-rc=btWCsJWLi*%NSlIEJZSHS zj@0br;-s~3J;(&f+xcqO&kORIT)BBWHE`H}X!Yew&mivDjzFilEzLUX5VFvjcPBL9 zmk-`fho5~#C4OujbsTQ%ScX;e9grwe}H1lS>e!gVk_|$arL}q++BE0J1C1)LI zXvqqRlapHK+rTmG&7MwH1dR zq}R2VY^w#i;PA|9AY zmH3)`@*cdam8yF2Noi6r<7IUzOeZbK5FV71g`z)q;jEaR-fq#i6&EH`J-h}Zh>rGA zGcbHT0jSGLAEddhje<@WTm{$2k9|BuA)e2>$6Tk;2d2CN^@On`fqRYBXDp#StyA~( zZgEf4FD&%j=DVvY3e`FlTGNR!zGLoKOf(H~lOzvKOMa66c+6$NHZg+C(sh*fMw;$` z`YiEo8AjYWs72+ioV(vjP;f@{imM>?+kofFLBs@Dbd50P{?59Y+gm!h9&{})D6Ak? z2^9pQr~(mgEL#|Ek6biSjSErPs9yKx8nNK^#;R7H7-M*01M`lN?LA6*nmM^fh{mg6 zA#LqAgB(sFZMW0WDd%z}5T3dl1OQlw!13+l~O`-tnro3bOKQYMN9ux^PtY z*Vy>$2GlliCUpf@7haSE>Q?z`Q>U=kd$W`fcyJQ4YVpm|7-A?hVNFsj+JRJLE&C+c|Xw13xO&sN(&N?+wa)b{n1!=EPqeDR4b>PwVqD=xrY(y5NozNjd+f>=Y?wl&`lxj=!&>=fZ z1c{;Hr>!+5wV?-5+t8%7%F-st$`Uq;=E;$n=+(v-6s+eg?%_I~s0TK&G5o$!7WZZ_ zf)1Q7@}`2!GSe4$xO)+e2FvPEV?$%6wDvBNy`Hy)-F0f~Ztw}&0{ki@Dc@NRFE0kL z+bYXA?Wv65HHPy6hKV3eo;Jv(GiSxn|CJh2&<{0Bj%vo|_2VxyW}xh1722+kXgN^o z?jcyiDEH@YPP^|ei5qM-u~_ZQ=nKoOaWD?)>fZ5cVv`Uq(AqVQOA67$N1P~A^3W@C zhFA!JNZengEvZ$C5ez6$8~=Kv?ka0oz5J#yR&EVRH-U0ts9yK#$iY1J(l>yGmQd_g zVWVo_%I(q_BIF!?BI#M(n`iFnIz5ywqgiDin+6HEG9MrGNgSf7J@vIEdh}Y0a)zo} zH}#Bk1;-Mz*l|&uc}TSMUxKZACL?Q~N=Ty}M~}t_^Q&qe5q(zSNzJ|T_48w*FSmK8 z@;h4MIJi^svpEXKq;p9D2FZV_(>{jlvpQ^#hbz@|2}rHfx0j{QH|)jViq0&0o_PS| z*H(az&3HG+?s{*v#^j96TXIYGR6hnL@)tqy8uBUC>UYW9d6U4zSYD-d?RPIavDDsV zDa~WR^yA8cUqmx-ZexPD>Nt%O>!jMK*8JG%o%BGewUcQxvL(73)<4eHMk9za;ZAao zKBav^a^ll-%IY!Zqu2KoYnXP?3kg*kd`4Yw+V^pf;t+Iu3mkTr_pL6~xSxHt_Z_B= zr(@Z>$kW^9FoF|ReP!v+<+>`4C)JaqN88FOm&w->wbsxn>nfwCvv}k1+)2C`0~O1S z_5@N`RPg7iLJAu?OY-s9)>FkQnl&yYQYp~5?_w=Etq?1&U*!a zTmV=jSK^NlIEDBpu;#gh9H5Lye@{T}K|w2Iqw4c=3z%Om*Ty5+*3F;GT6)W*c-E8M zP6d<(_c*JMvyT-5eeGdKnmEJ@i7Fyt=ivW2yE%&-nAy`=PR+x)jLQ_QtL8#VFYM-X zA*jz`T$L~Izh%BCfh?R)?OQ5DZOhHzMjD?ode3>hO6^>fFF1%joyBtU3_60*3Yl0j z%qLSJM0R7zdSKv1dYUBxkq%zvns*U-TtDkKv75mNkg*JzNBL!RGfm!E^y2ZP=1>pn z@*^9tV@Imys_AsLD0q7hEUYcg1}p?_!tmeHPY>^NL!EYyK;2^qv%d4YS3@r)Pnn!!y}vrxUN z>FfyBb5sxo8WGj^!7Z0hKntGhhH8G4)j8^1mY)zh>{yj1V-uxUe1!T_%js19|6NTQ zq@ByACRXQthH6v7?pMJ1UiNf0jkq7mP;6dWAv2YXJ8%z~fRdnG0<+q5TFb&Rs(C=m zk&5H#?25dJ>vPRO!d!l((U2g<|2vnn`QJf4b^2uC%Dhpe1N ztbOx%(pJ?bha4cCW88VkpUcr^0&H31GnR&ed-zl;q-wHlG_+aN#)~@Y;_2h^ z2I}i<4{>_sXzy$P>aByT6U5i&m4}nPrw`QL%gI(kO32I2T`=LjK_)iC#BX5=i=@PI zR>$~lYPeE5)G2sCANSp^bUuNN(%#Su9;R1^8|uihm#=PU&hQi1U4^9#_Ep99h{iwk zGqBJN_Y4nH7QX3kN$Vm#Ed7ZpFDVwaNB?~CA3(VSQ1)t`*jk_YFBzd>Or?$>AGU7q2cEm zLGR9+vM0IJ=FYwbE*}l-U)Y+x0?D}RwH07G57@;!yTphfOpR=DZNTew40UpcDN!(Y z=wB+}&Rh#J)O@jrM7DY6FQembXsLRmgXd|ri~y1Uj~5Fc4^0j+EqwT}W{gC*izHc; zf=G0e8v@g=Vsjm7lEg;h@cbaL!7ueb^y378gLN}1**rg=qsb-wHat&=GIoET+Vs$v zR6)hG-5~NE`nx5?YWAJCg3~)#Q(Xm3tXeNy3H)SjWj;h$>kBQR?=LICfr8IEo)A({ zy$G;ow&q!p1}Wx(7yPNqAl@OyGb-f(cujea93^^hE{iks&x@*2z_969BZ(;MFvTNV z!j>T_*hTi@y?d4;G}_UX$lvAjQUMENvrzL3?o4{9%v%~`hiWk|h1`CjP4AK4O!RMs zkhOa3Ckp+5x7%zP^L;~1+i$wl0-1 z&8Vo_08j+f0q>%l|LIMjo1L{V-}S~2hDh0Um~y!f5r4YxX6f!M0Ox++TV#r@Uob=T zNU;BBL48CbNM*YjrL7pClKHmm+dmARtM3Nxp$XL!-_ym&hz)eb8o@AfNKQ>HzFZ6AM0=v0fr z-)j82pWo@G%4=5^-+Ix%U?VRgbM<@N(s!M_IGl+Y)|$CFsXkdcN)0B5IHaA=40&LP z2fE_U7EzBhwvWQs!@K&NzoW9`#gZr2I7=Jpd!aA>?I*@jnCDAiRoiWRC3xLllw}wN9)T*?Z0w&Ah zkW@17-%)_$Q-ki|gHQrPES4md*eR?HNTRYk_2hawz(0b6R4+5_Ebl+Y{6eK*`$0&O zqMq{qv>CH`P*@lX4UL-!4UO~vX|p{H^1lJh_N}L9AjhB3ONixFXL= z%(#kNQsiW2Zg>akROfK9FP>a2Skhu)UJaaE!hcyTBk6!+KRYo>(Wz2ujV9Ta{*t2w zG_Hmqp-)c{_VVa_)dj19{A_bufl+1&el=}Bm#?_~&I668@Ud)_C^+^FoSO6Y)3J@< zKbE>;EpM;;zGbCx(W&vq(7s}+D3UUvuTJ_vaY7Yc`UH7F2?)t976;zT+!4LAd}@66 z?`z}Vg|)9;G0(K_#PPQ47_yc0IyCIF+WJ2QdRTRi*Uwc>a<8VEB`rr@-hU}*{wUnR z8`hP7BLz@;LKMv06Tkn9sK8#6mwFBx@e*##96zkGU~1NP4UsgJp(NEB}>+4ja}a(b#{9VFP)jTA7}xcUDWd&d}2 zx^-K)ZQHhO+s10!wr$(C&DF+g+qP}@>i+uOUvjhezBwnilBypwsrgju$H*At!SwaH z1$m5c@ty<@SC+n0xGt6_Akmhsd<_*?aAS=#MSI?OTr$Wjt(qe2p=z@?IuqK!e*DtZ zjzt~9Tjh#I`WQ5%13)JaMAlk1q?6QGanKMEco^=RJP}o*L*Dmb+Ibi5Jg)6>Qs~;S zskP)e85ad)bz#M>icniIOkdqo9EaltU&T&pSGhS2>e)xfkf6|)u>&kYkb9;)*4(K zobG|eALk!v^?KTv6hhEXsQdZ-wdQHi)53DA--NhAyL!(V2f$A zPdMy5N|0Fwtj?3zTpQ;C%}&@obWTVra)Vpq!pj=qN@friXpfHEj;Se0d(&s7_tb0Q zlZp^*9Qoqw(<4m%G+B)khS*Q6pP`p$74mH(i>M;zJ#Wa}HN-Kp%&;FLNLjmG6E|Z_ zUZWo-D`lXBAv4|B1#wgq=zHW>pda9WLJl^2r?Te{01*ApkmKy^XkqB$Z1RIQ zDe5+H*=z`3({=UEk^a!qt}mHvqJoy1Pn9ZC*sN#d%|f~iUTS>=8=E%DPrYu#_4-Yn zWvTR59~o&Q2N?}7q1CqP#pcpdpF$ zM-+FpEATZW2WjzooTR;vv_g3vgAf@7SDu|3HN84EJ>ri&=tKIh0=#vJHp2H^=PvXb zxyakjHH*cEaoPd-?9-w<&VGoM;iq!aLkG_+)*&40Mr+WpJYWY7n^wA2NhX_Oa#p?w zxoLy>U}cnJJS2y`3!3*nbs6{`+%pf6nN*^sOMfI%s)2^J?Q>273|&xv)RRVzdY9>$ zU5!4Xq70!AGc-8sXCD?YTocD$eTf=!a#r!Isr6WKY9KXB2VjH)OFt^QN$oqYz)Q2* zBxq(2A8<7MuOWb87wHN8e&TEq_(WHDa?OT}sb@k)5PITOHOLL*;Qlp6Nml4+{pbsg zdsDLz(B3RL$ATb9R~{F??;dvHdUvcKUxoC#J>A4A$xUl4PcKCD6{TO_MPJ$6_N*0!ZAqK^ESW|6nF<>E z-7w%+OlUfF521=OJuY2608~0atqlxdZ>iesO>4gBy*;+(AHz&0jtg_S`4>7`jmt#Srf>;NObIchl*e!C_!#9jSPDrbwgakcPtBa~%T z)f=Y$0Ed8cegJ;Rt2k$-_3RLQKri_=+*{1DU6N~zm15Ja4B<>1bU-ss-NK`krvgpljMogy}RT~_N z#C6vkR~4MfGEmIYPxiN+oi*|g9^8=qRW59haGFd+aE4iz1CVQGv>buF4RVoA)9 zRYLv)Z}cE6$+{m62^0gBEH-9MX0v`dBZx#dS-oU>X%KEX(k=dbeVRWd)dGR z6J1ESgD3pV=nL$jH-j}~ZL_-VLtHp+{O<3n{e2*kNYBD8eEw2*^_f2f1mh+zL00=+ zCL)J7CVoTIy4)2?^TGK*S72zE~ijNjmE^}e&C*iw}CKBVt}tM3S+x7!5B|O;Cwf#MGW@= z;NQLfiCo0Ku_er)Ke`U-e?zVx#ph;VZ*SuG4^vW~vfE%o={>1Kh!?I%RI*f9xlKZq|8>uxG3JP$$8Bd__Apy@*aRZ~uL zCY5Xz6=<8*Sgl1N>YyFDli-P5`@*P%69|b2G8ofywW;5W4GIvs58&vB*xh*24iX28K%a-=KC_ z6$sNaCO*YDuKcx*=wP+l5iAUvG(=EPCD3GlX^R89 zWOxA3(8~rmHjLTGunxIPcuoZ96tm`)c`mcB1PCi=*eucx-2tQp29rlkyw1ViV!Qt~ zru7&HCH$})IkI0b(Zbv}y6SQcW2(tV=S@0^I=yF!j#S`RaIsLmTn8hp7UY15vNXgz zP}wV#g1^rg7KoXS^8w19dBD>hI=Mo-J{n*(=!|bPJ2eb{$JAft=#}xR zySvLPuCg}Bq3hM=3K9mneDhGtLurnoS}mG3rG@Oai)5W$cpNaWWjWWtpa4&k-kA}Ou<nd za8XaZQZFlIPisJ9lbF4i-)A0Z!N`pq84%IE=n-o;`G671%~7Unnotk3uRex$>#WaU z{=M6^aA&RWO+=#u4)y~G5%vcEYwxRT`>^-z$Tm4Ks%7Uq)p^nC#m?xF{S0~Bf=&UR z9Yvy|>X(6S*nXxL_CT56XZ^%~o+FPM;*sT6G?w0uIbG3)sJZR zM<=fQf(P&C@&x~%kjoX8B;of1xuyvJo2Irlur;Y@^J$vpQ(#U1z zjb9*#RweDSpIu<*hwL@5hEAk0g&2u&K)bOs7HG^uAfxELGS;b?zZWq(6P=&ep(&WB zA&Qt;V2^97cF|V#gdO60>b@Lxr8q(s` z9L|2A_>2%+$9f`v+yI4h~vT4a1ACMDH+B5ptlVHc&TLY#>#DP}KkqPg=W z$b7~@2|?Mvi$NOeIQ%!{wu@+gduV#vA-kHyCTe(4V&SkEKo8T5NwzyR6;w<$XMu_K zm*jz-l^mm`MHSA9p6^U49)ehZU?|*#3ip3*=o^lHJu9W z;qzv5bKj*`mDGC6rMJi(?|t}7L-#LQAQ5a)F-9+`WmGO(-)8U9=K@QADw|`Rqc+NO zIa0#IWmGl&=30lk&Wtq`3lr^dtKomc~#DNs=fBD9-o@05sjC0?c=w1yx_YsWWSy%l@JdZGF51EI#5-z&n> zT*6y8g!9-4sh>MwCk=s@PFYqxeH*uFG1j@~XDP}0@J^FJQ^tj(Bye$H89oXjOjeQ? znOR5-9!=9k<}8~Y;_fv}SIHK0RF?4{to(WW1gl}yaK@%BCH*T+S?br^3>?9VEhuJq zIkcP!22H6c!T>dX8T!(Z3rdDvutt1xY}0IE4YF_mto&}LqZOUy=LSP=uh8=RDMnT? zn@6f*+WKr&S_4U(qKj?Ycv=y6{9S#$kgb~U;)N5;2(a5ZA*_<33`GJk)3oNa)S#Bt z(+QL5WnLLp4INe^=eBBt78**A*>U@^KVaNiL?`LRUmUCjS0(gLHM2M4bClt|I=|1o zz&8i6jvyH3LX;$5kr{My@)9Rp{vL3o(yY7xW&ighPM+mr zaoLqOyOUd(|Buh?R3-27MM}ZrbE_}V$>VkTHu)|haSOQnIRm7dd5I(;rw z7xOqND%r_J1hP*4?5;1b1GRo4fh8n$NG9)s;<~Abope+!h!EnfC#uJNa{t#GnfnEP zGU%T?l}Z!>ARilp8Z7wb{Ss{+^FKk1O%jDc?ySMpJIX;8rDkSli3bkvm85)8dWwxZ1)5wJPLXE`d(kZ5`5~ws|%t~-MR0UdScTK6(!`pAG>7KKK+%zE&Y|preonT1u;>0Fz$!&ujznXI zEW(a1CcWdbwkvkCL54D?-pBmv`PJOr8h^{1{2VjI6wR>>@UNn>8r9WPjVBs_UTroOG(m(L!axHA64ZYx z4j(1BERdReebN@gN{V%~_%V&sP$H zTg4q){@#T4;z&Wfrtwg2I_lx0d<)&8ozP5~2*rZ#(D~B>26(ZrSaCh}tAvn?4+Q;m zeh^L6rI8#~R8Yi8Wj(P7ZGOMfSd9V`L{#tstIh3@Y%_>flLXzw9oyL~`794_XwK%T z&I^XhoL6*iEOPzPw!I^*rO;b&6>v3d0LMIVx`X2m6qgSa#4nM}en~S!`5=v|BrGI^ zoj@oNyZ6MmiD5=cB8h23C{uVk(b+|##A2G#xXNX$ZH+6|3Cy9LfN-h05C$sekAp*6 z@WT*UxojcIob7CnAs4wOMiIy@NIVyux8+NM{6CQcV;GBL)aZTN2NmcR@ zPOD_&o@9%z9b#G?dsgxIfofL`MaWX-k%vs4AS;q}wkiFtp)MIu&!qBa9P?^@w&{^2 zv_ooLQ?uckX^x=Sie8X(nSENek@Xmv^n|pOM#r>Ks>3j6@|kIrNr`onZvSxqm7wFS zGkj6LZIHa6f>O}$K}A$@9iygp%@Kca8l36H9>Q@x3BY#q`f6(F zxpg8RDG^<~(!%Joda8Z))fT=;I~luclveCk5yL7MJI1?P8R;`~gYB0zdq%=XmQEMb zgkItD3aE!DSp2pktmARq)R?XKzMT;EVjcD{Vo9kvPsoDd?H_8Tq@8714 zU=75(lp36urucwJ?zg7u0`O*}Jpm6OPWWOb;)oM?UTCew0NIdY&0bzx0({TfgHXkj z9_lBrul+TGjvNZU(YICNGJFqt->{=ATp)@8B_BeUf%yL=5+xP(Dgm%Ttlm`|S zs+T8X_x`Z@44r@SOOH52E4!Ze9Bd~FCD*$E^zUuX9=DIff-9b2GsjL|Q@^_d7`{cn zIg(y0a3`Fy@;501ssMeU9k(1eqRW(#lxF<0;?*WoajIw}aNKC!76Rw-EblWL6nVZ4 zYw4HP&fW&IZdy-XEu?Ai(I>v_;}$>gfvqq<0NY%2_}!Kx7oRU#;Lh+z*()JaJ9Jgr z$evjCX1tH}-_9htdt}|<3H$1S!M(k^7G?{|9aKxU4yg~X3ih2R_#z0m!G%-md>dG@ zmMoHwNrA0^o|S=t>ux?5WS6+Sn!h6kk8K=Z*JKtzOym@4aZ8+aBTygynte3B{(MPT%%_5gQ5suwR#Tb2oiACOV7&$jQNIwD=4_F zED~D!{)iCKB5T^lN(3cb<_UkFaYdyHjei42z6X(R;pTa{+Z{qqPMgMuC*Ms$RWfDi zm`At)_4>qP53H#xG4%tg^|k*@9?D1v4h^=5s;bJ%D93O?T+2u#)@fYOT+>lhmnw(5UNs&PajWaH(A@!_~LOZESTn~m(%1a4Fg&p+5 zjvv#96|6euxMZ%}aPphLLU#ROKmE`HM;OG)Pk6$eTq*P8CHI7sQxVEm<6Z*K@jcf} zMJabSPK7escvplNhl(7-0QVI6wb|rU12CYQg+v;V`(C18Q%QmWc=sY~JmY6`1`!%pE|E{}tE(F1=O}Mb z%f?;a?8KF|iXYRD;8g)1+8U7EWbV@lXrsz0pQE#duHT8}^~;p%wTmn@;<$X`! z3tZ{^1twcr8avla=RYbk5aV{}yLw1P6J=DKDaBALk6K<+eve`){oT9(TafN(_@Pq{ z9_gk=%k7`^1PaA|sa>WmvhXVV09RR^Vx%9-;)S1YF-Oc1^A4fCvMc9An7k&u+TwP> zZ@E(nj#F5W&pvKRF!S+Wn%zZ6DXJR!N3&A{01*F=tk2QJ*}~S~pS1E1TwP&p#BQ`d zZRrV;K+sH?v$T>)Hi_XlZ`ed`0bLog`!K->8Y#9SXeo)VrJ6Q;T=9k#|H-<{C=_@p z0ZU96bvpT-uy5t)<|NK$l8L?n%E`921&))^MdtS@-YpyXNojH4NMI~@A9%E(lSGP* zMaC)Q?Pcw1B70~j=sSvhzhV@jtalGgDk3Y|WbVuUacuhqXvU8p6+=L6N}g0r2Tu~) zWaLzBfs^#9km4dd|C!7Tko|ZgDU409)r&qNyp#}}P8&X* zBG(YeBK<;!*|_j{02wqxG@mz(vJa()46LA8=-K_eflxUM*{qTc1#<^RYo4kZ=&;bC zbN>FmjOspbFOB*040XEQ@3Dc*bAa(Gtg=oGtNCk29yGH{y9Kc1I42vP6Ci9~AjJDV z1)$VceuBPYcz>vYklp|_0(`f)aQeX6p!Pa_!#h=)ij1@J%n2!qVC=xHKOG_xxyt&S z<(tR=;;9H&J3IlJWR>x}hwK%y+@~7W7X$~G4!Z7z8%va$^4bkpkAkBKh}smTW}A~k zy3byBT;ZU}s{O6lv<8)4G$R4wmNWF7u&wF()<;WSt^7q3HI0>-`|&`2gFoM%z-o%>bKju_!`U7Qelwa+lW`1_)J5 zvhMM$a)pZp`(B6m60^cobwf}yb@r}V{SG?tL&GtrpDd)_i^D|8!#PK)NHUb}&d?03 ze*tTbHtk!!efX3$_VVme>&t=lz5o&PkjC3;IxymK?FV V;s_&*YUasTV<%(Az8GX1OQXyq#094${`|B?*|bYH2|b z*{4G3h};1@byN~!@WQUHprc?735k@#H4Yq3Wv=VBFQ@6hAv>}zCtYLuzy*|XBrWY< zdA9u8JiDU~$-UnkQAA%5P{I!NoKc8hBI^F|5$!M@BJ33=Rv=|f8S+_ZcE|-gJU+hQ45(F+ zf62)H%VB!Ncf&Bst*VnN09cMub(ZJ%d7`J;!D(plr5G#U^2Y*&rXSfUja?O4xf3Cf z1Z#Z=ZIU+pT-0U8Q*!aGDuVF~Yu)7w%;(8)MMTlc`ODHUx;NA{!Efhp7YLePV{iZr zC_kByg;%w)-U7*$zkZOY;c1J=0T}LmD}@yos~3J-7n~{Mq8j};Z2?{YL51_gXMKn) zWSjPHdDb#xZ2gISUKT@BUgVF+1jz7!hP{SNzxbLl%hvGh$nSP~d_ZTX$bn`GA@9F1 zoi#TN>t5Qr5`SMzGoV=50Pm`?&{sugF#WgixyhI0{WJ|>tOQ9SyB9zN%Fa^z{67uT z&Ouj>)z_XVoh~VC0RyPy!hDKM0COIi*D@I3HTC+Hb@HB~U5VwjwwnZ{1o8^w2Pl$d z6C$%!%-vkQ_ZUk{uBi#k$i$oj+IOVS_1g%>P!+C@#KzgN)R~Gp@Zf^b-?sa7os-Y? ztp*=oUX1Fy$DTkj!alJDB$e2KrqaKp9A?fS!vz2yt@byhh#9JrnqVDZ3A_jZS=>uv zn}7^2&`F|Jsy83j9oWP6K@wd)7%9RCFP-wtb(m%p;o=nLORG+i^c#ILSl|)wbP|^< zg7Wv{Ze3Azj{p%*tm;K(l#U&{;~8>AZy$I`yoY|xrN^dXYddoj;*5oiZ%nTiF4rQv@M5U39Ua@%CRkZqjA9!z3(E;=K z6v(fzWEWraF^-I^NPrr@XVAG^bKhVIy3v&Y+;o2rsCfAc2HY1I+fT$3Tm^>v_tzSb z*(zY%hz&E0sQsTS(k}qV2*9to&CuRw@B+Z!r|acuVtavCo_w*A_6mq8;ANR5z+0&S zg$0@Fb9fisRZd`}J$M4yx5Bzm4xJhUxx~`3AEuS6z#dYJ+k*!hLn&x}UB6urF1J9+ zqK|&rO}bQBh<6Qgg3ma3PINtw@haY|19ouiH6wt_xzog^Tk4x;cfauPTNum0)1Gp+ zc2G*L0xHL-99WpY0HYs)+xi(IVIaGSVD*dVZ$;PdW!1_Kzz>C3pa3ouV&UJ)>}C%$ zP_~g6id+h#j0hwRvwJ|P)Yve=pr=ED9SYtQ#^x`B@6T${qOemWWuidK%x2C~arY8T zhF%445=z+ybniUdR0{PbQD|ck?;PurlXu`JI*;l-2`_S$JTcJb3vafkxg5L|!q-0+ zfLY1XYR?%AxzP7!`(r+aHU z80|(@!m^d9_KFP!cp%N&!^Z#wV!zVQ<(9ehdm_>-qYH9401v<#LE4c`R?E*EB4-HF zCloFU@Al_sxAKuLvGn)AJniRg-8pr;4|}^aPxAClnsfiS^7|WkaQ)vVM?)kmU^v|$k2 z+dYA%A+#(s@nqHGFrQv=3Wz^wcZnQ(&MO%*!c(Eho|4Y?yqCD{Z~M07*NALjPwiC&Dl{E5mV0=(Jm_fu^Pf?sX%^-_3C8(&XSc zkHHUq!}SpY0Zk%YoRon~7^DfLjlD|Z_CSfNr%Cb3M?SLHVVk>KPqt%+^)=7WkKTY`lN008fQB>PTAj;6-{;`usu2km#f zy@3+-^~tKn8j`JA2VLe~E3~zs>w{ZQV+%N7&CY zLoH$vdin2lG?1UNlK4+3-xeDF6yQGqlNRGg7P-5k^KOg6bG*O(swUOo^mJ*dm;jbc zoJzpA$|ND-S23BAOzk~{0jPWQ8m9!GfA8kNt4uA9MoIZnK@&CNTNxSnL!t4FqDHwx z=sL#r_#|D8uQ5?u%hW+wy?HCV?ymRwh6o zk8d7ZGdy-9w&sMlZ_lseXeMGW&bJ!>rP&tjpoyrPSWP1Dl3{w0?2wKgAd@79R4RMq zL+BPPS*TC=mh%tOU!ysq_~bXvI_g6C7t;^yM-eQU)|htJthV@kRAJLqJq9%sd|@TX z*CSHV`)r{pXPSI^dSXY(j&SuauCz#<7z3Ni9XAT71%sD$C$;z0v&;B1oM$Z3_2a{h zujeJ<$AjNR`v372NX^&lgyO!9m5sZN`6AJdyrEb-rf-f<{uyTihwUd+*gQ?iu(bdS z4^Rvx5mSrTM{#o0e}n02i5!Pt#d}3U!yc&aE77K6@!ZW&U67rOD1yQ^4w0GKsE{T1 zX=BP@Fb~CHHV0LzX+_BoQNIk9^;@4Aa`_Kk%M04C>hd8vR_sgNz$0woZ=Ar|LlCpx z6$Oc%$$=+6UX^V^db9-l6w$D@?3zzFZS%QY&^Q?T0$F4|8QlJjrrperNI)3k+}gZu z6J}uXAU|0czk`&>pJ@!#++4ZT&)>VRb)ewu&`qaG?+0LLc{t0YN@YW-o{IdS1iTc!hn7?1 zpk^M>g2jAUOP>ZU*)unj?P@~uB629@50d%iE_vP~NaHnL!n zjM`}ebRJDrQ$aEkfkNA3a3BR*!F#F_wF>1TzBHLDD34Kc93 z?-9PZ6j*T8Et(<^9ty17=ObkQTD^S+>PQ4VeqrJlS~Qs4c=Y+NMcqQ6AXxz(Gau+p zP`g_|Ea~S=wViK+fIBOY_-b@87Z8-H!6SMC{@)Xi+U5^UR5)HgQouD$05wclr;1ac z&STh(ZL(WYIh>`8Iak&4P=k1!PXhc@9%UXqgjBh-KoHA0auECeN{kENU_{E9sc<_W z^%kHukxy7JXN6%x>1i%s0dzh*3aW0vxB#XTL_^(_)w)BYP|E-rD^q#)#Rli#NDb4- zKmSPe%!`8lOMf?-K!8WgU^oL~cv5OS60$8O5}RydNNi=($><#^4M}8xapAq67f0e9y%VL^S8dl~7o!LQ56M zIa6dr6Nq6IwCQ(fidVz&&QyLmz}Wg6&8)w)YSUlGBM!okG5b6cjFDl`-A3Jx;niUe&&i)|Tb zNprFe=Ts1?xiJIH7%!MA#m2sr08fesaYW!6F$CW*3P`m37lXZle}9)NCj<4nY|UMb z+sNC?+=V-T4Of3nC?^rJGgq+nwl`CBuHF0~15~6Lw5diTg=Q>D#^S!CXtgce<#?g6 z4q?khJvC_mbBag02@`Z!b00q4H7djVm!+T@@Mvs?HwU0aa_ttM{m3wWf-e9SKfL4L zw-mSwy#+XT%l*s(ElBZA-90ygGK^jPL7P8S+xYOKk}G1}Fi_;yWp6Mtf%sm9mi$}w z&id<2rxuSfVVk9FAF=&t#XKs39Ee`uDEqG6{<;oHcrV_D)nJxx7F{m`yrs-FYwku& z0`{E(f|zMWO%+Tv%L}~DAId}{8CTQeG)bW-PBOEh zvp%jp1d|7g>Gk5sgU{Qo#ZhyKyMg3N~q~oe10u zUl5E>%_zftm{;uL6g7`HsNlzx5)-^IKoGWjdWGE*7l}_i>2-2}5c_C<7@|?Tav0dT zc$4Hw0yT+*D?0mv;w)D=C95qWT`G1H zDTYMDgZwx_yv%uOE7_G-?U`R!e)o4b0P�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�^mmH>15$yp<$V&~77k=Z20^ zSXj^kVGTe-UsD7g8u)42;9w2F%B1))7@1vE+eT9iekk58Zh#rpTOZ5-RUpHKRJ^d!DlXq9i<#bf8FG~zl0~<>UXJ!6NF8cK z@VDJnq#EI(5-*bBq82ZJ;TX`tL-SSJqkBQM!)5B+jGrn^fZ#SJMirUIET^>#7^msg{T02G#7gL+w2i<_bfMsxK5km@IH zNeoHNZ-Gz%|F{%gPoub8Qul~k;@U$K@toLYKTb?17qvmc&==x{@s%MnwFHS0ZIav3 zwo$OCRn1HsN%1sc(Tgj|E}0Xn+UD$o2|svv1Nxzmr3o#O2R5L9S5d6pql`=RD6?VI z&rkL!UxI_8+aK5!k88a#5tXNuXO*H4Vq3NqH<);mmXv6+1Hh0|v(l6%X#Ilr64`Zn zx^fIC)T|_>CgT2Y*dN3b)hTgJL#-~QTW0qzzNq>v;s&Rhv8~`nEQ>0TR#z>lmBr9S zT}_A{VVW#wli-kVHYCHWQam3zw&)NyfO`CRFZI#_@Wci~{}};8B*8aWRz@U3>t;F1 z{^C)hq>OE#;rzukTokauES~7Ll3!uFTC^8V8FHR5C=dt5J2?A#XFyW@7UVp_AuCay zfCS^KowF>h;Wi4Tf6S(Xe?32DE)mIZ1c?SRb*&INS9-26R}RjHc0h@fJRRZ|5a0Se zg0KlImr*6U4=7a)p9uUcPjZwkz}b#Q

|%Dx{%_7M2r#X43#gGs}TLvuK!ty;e)Z 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

=C?O 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

g}DmLJSb@cgbpf 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 Td^Q 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 z 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 D`^-TT diff --git a/install.py b/install.py index 444a8f6..10fce4c 100644 --- a/install.py +++ b/install.py @@ -97,11 +97,14 @@ with open(req_file) as file: install_count = 0 ort = "onnxruntime-gpu" import torch + cuda_version = None try: if torch.cuda.is_available(): + cuda_version = torch.version.cuda + print(f"CUDA {cuda_version}") if first_run or last_device is None: last_device = "CUDA" - elif torch.backends.mps.is_available() or hasattr(torch,'dml'): + elif torch.backends.mps.is_available() or hasattr(torch,'dml') or hasattr(torch,'privateuseone'): ort = "onnxruntime" # to prevent errors when ORT-GPU is installed but we want ORT instead: if first_run: @@ -114,7 +117,11 @@ with open(req_file) as file: last_device = "CPU" with open(os.path.join(BASE_PATH, "last_device.txt"), "w") as txt: txt.write(last_device) - if not is_installed(ort,"1.16.1",False): + if cuda_version is not None and float(cuda_version)>=12: # CU12 + if not is_installed(ort,"1.17.0",False): + install_count += 1 + pip_install(ort,"--extra-index-url", "https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/") + elif not is_installed(ort,"1.16.1",False): install_count += 1 pip_install(ort, "-U") except Exception as e: diff --git a/reactor_ui/__init__.py b/reactor_ui/__init__.py index 00711fd..22bba1f 100644 --- a/reactor_ui/__init__.py +++ b/reactor_ui/__init__.py @@ -2,3 +2,4 @@ import reactor_ui.reactor_upscale_ui as ui_upscale import reactor_ui.reactor_tools_ui as ui_tools import reactor_ui.reactor_settings_ui as ui_settings import reactor_ui.reactor_main_ui as ui_main +import reactor_ui.reactor_detection_ui as ui_detection diff --git a/reactor_ui/reactor_detection_ui.py b/reactor_ui/reactor_detection_ui.py new file mode 100644 index 0000000..58f7111 --- /dev/null +++ b/reactor_ui/reactor_detection_ui.py @@ -0,0 +1,54 @@ +import gradio as gr +from scripts.reactor_swapper import ( + clear_faces, + clear_faces_list, + clear_faces_target, + clear_faces_all +) + +# TAB DETECTION +def show(show_br: bool = True): + with gr.Tab("Detection"): + with gr.Row(): + det_thresh = gr.Slider( + minimum=0.1, + maximum=1.0, + value=0.5, + step=0.01, + label="Threshold", + info="The higher the value, the more sensitive the detection is to what is considered a face (0.5 by default)", + scale=2 + ) + det_maxnum = gr.Slider( + minimum=0, + maximum=20, + value=0, + step=1, + label="Max Faces", + info="Maximum number of faces to detect (0 is unlimited)", + scale=1 + ) + # gr.Markdown("
", visible=show_br) + gr.Markdown("Hashed images get processed with previously set detection parameters (the face is hashed with all available parameters to bypass the analyzer and speed up the process). Please clear the hash if you want to apply new detection settings.", visible=show_br) + with gr.Row(): + imgs_hash_clear_single = gr.Button( + value="Clear Source Images Hash (Single)", + scale=1 + ) + imgs_hash_clear_multiple = gr.Button( + value="Clear Source Images Hash (Multiple)", + scale=1 + ) + imgs_hash_clear_target = gr.Button( + value="Clear Target Image Hash", + scale=1 + ) + imgs_hash_clear_all = gr.Button( + value="Clear All Hash" + ) + progressbar_area = gr.Markdown("") + imgs_hash_clear_single.click(clear_faces,None,[progressbar_area]) + imgs_hash_clear_multiple.click(clear_faces_list,None,[progressbar_area]) + imgs_hash_clear_target.click(clear_faces_target,None,[progressbar_area]) + imgs_hash_clear_all.click(clear_faces_all,None,[progressbar_area]) + return det_thresh, det_maxnum diff --git a/reactor_ui/reactor_tools_ui.py b/reactor_ui/reactor_tools_ui.py index 0abcb0e..a131ac8 100644 --- a/reactor_ui/reactor_tools_ui.py +++ b/reactor_ui/reactor_tools_ui.py @@ -1,25 +1,61 @@ import gradio as gr -from scripts.reactor_swapper import build_face_model +from scripts.reactor_swapper import build_face_model, blend_faces # TAB TOOLS def show(): with gr.Tab("Tools"): with gr.Tab("Face Models"): - gr.Markdown("Load an image containing one person, name it and click 'Build and Save'") - img_fm = gr.Image( - type="pil", - label="Load Image to build Face Model", - ) - with gr.Row(equal_height=True): - fm_name = gr.Textbox( - value="", - placeholder="Please type any name (e.g. Elena)", - label="Face Model Name", + + with gr.Tab("Single"): + gr.Markdown("Load an image containing one person, name it and click 'Build and Save'") + img_fm = gr.Image( + type="pil", + label="Load an Image to build -Face Model-", + ) + with gr.Row(equal_height=True): + fm_name = gr.Textbox( + value="", + placeholder="Please type any name (e.g. Elena)", + label="Face Model Name", + ) + save_fm_btn = gr.Button("Build and Save") + save_fm = gr.Markdown("You can find saved models in 'models/reactor/faces'") + save_fm_btn.click( + build_face_model, + inputs=[img_fm, fm_name], + outputs=[save_fm], + ) + + with gr.Tab("Blend"): + gr.Markdown("Load a set of images containing any person, name it and click 'Build and Save'") + with gr.Row(): + imgs_fm = gr.Files( + label=f"Load Images to build -Blended Face Model-", + file_types=["image"] + ) + with gr.Column(): + compute_method = gr.Radio( + ["Mean", "Median", "Mode"], + value="Mean", + label="Compute Method", + type="index", + info="Mean (recommended) - Average value (best result 👍); Median* - Mid-point value (may be funny 😅); Mode - Most common value (may be scary 😨); *Mean and Median will be simillar if you load two images" + ) + shape_check = gr.Checkbox( + False, + label="Check -Embedding Shape- on Similarity", + info="(Experimental) Turn it ON if you want to skip the faces which are too much different from the first one in the list to prevent some probable 'shape mismatches'" + ) + with gr.Row(equal_height=True): + fm_name = gr.Textbox( + value="", + placeholder="Please type any name (e.g. Elena)", + label="Face Model Name", + ) + save_fm_btn = gr.Button("Build and Save") + save_fm = gr.Markdown("You can find saved models in 'models/reactor/faces'") + save_fm_btn.click( + blend_faces, + inputs=[imgs_fm, fm_name, compute_method, shape_check], + outputs=[save_fm], ) - save_fm_btn = gr.Button("Build and Save") - save_fm = gr.Markdown("You can find saved models in 'models/reactor/faces'") - save_fm_btn.click( - build_face_model, - inputs=[img_fm, fm_name], - outputs=[save_fm], - ) diff --git a/scripts/reactor_api.py b/scripts/reactor_api.py index c38ad13..7991d81 100644 --- a/scripts/reactor_api.py +++ b/scripts/reactor_api.py @@ -1,7 +1,7 @@ ''' Thanks SpenserCai for the original version of the roop api script ----------------------------------- ---- ReActor External API v1.0.4 --- +--- ReActor External API v1.0.5 --- ----------------------------------- ''' import os, glob @@ -14,7 +14,7 @@ from modules.api import api import gradio as gr -from scripts.reactor_swapper import EnhancementOptions, swap_face +from scripts.reactor_swapper import EnhancementOptions, swap_face, DetectionOptions from scripts.reactor_logger import logger @@ -77,7 +77,9 @@ def reactor_api(_: gr.Blocks, app: FastAPI): face_model: str = Body("None",title="Filename of the face model (from 'models/reactor/faces'), e.g. elena.safetensors"), source_folder: str = Body("",title="The path to the folder containing source faces images"), random_image: int = Body(0,title="Randomly select an image from the path"), - upscale_force: int = Body(0,title="Force Upscale even if no face found") + upscale_force: int = Body(0,title="Force Upscale even if no face found"), + det_thresh: float = Body(0.5,title="Face Detection Threshold"), + det_maxnum: int = Body(0,title="Maximum number of faces to detect (0 is unlimited)"), ): s_image = api.decode_base64_to_image(source_image) if select_source == 0 else None t_image = api.decode_base64_to_image(target_image) @@ -90,10 +92,11 @@ def reactor_api(_: gr.Blocks, app: FastAPI): random_image = False if random_image == 0 else True upscale_force = False if upscale_force == 0 else True up_options = EnhancementOptions(do_restore_first=restore_first_bool, scale=scale, upscaler=get_upscaler(upscaler), upscale_visibility=upscale_visibility,face_restorer=get_face_restorer(face_restorer),restorer_visibility=restorer_visibility,codeformer_weight=codeformer_weight,upscale_force=upscale_force) + det_options = DetectionOptions(det_thresh=det_thresh, det_maxnum=det_maxnum) use_model = get_full_model(model) if use_model is None: Exception("Model not found") - result = swap_face(s_image, t_image, use_model, sf_index, f_index, up_options, gender_s, gender_t, True, True, device, mask_face, select_source, face_model, source_folder, None, random_image) + result = swap_face(s_image, t_image, use_model, sf_index, f_index, up_options, gender_s, gender_t, True, True, device, mask_face, select_source, face_model, source_folder, None, random_image,det_options) if save_to_file == 1: if result_file_path == "": result_file_path = default_file_path() diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index 604884a..6f21fb5 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -15,20 +15,27 @@ from modules.processing import ( from modules.face_restoration import FaceRestoration from modules.images import save_image -from reactor_ui import ui_main, ui_upscale, ui_tools, ui_settings +from reactor_ui import ( + ui_main, + ui_upscale, + ui_tools, + ui_settings, + ui_detection, +) from scripts.reactor_logger import logger from scripts.reactor_swapper import ( - EnhancementOptions, - swap_face, - check_process_halt, + EnhancementOptions, + DetectionOptions, + swap_face, + check_process_halt, reset_messaged, ) from scripts.reactor_version import version_flag, app_title from scripts.console_log_patch import apply_logging_patch from scripts.reactor_helpers import ( - make_grid, - set_Device, - get_SDNEXT + make_grid, + set_Device, + get_SDNEXT, ) from scripts.reactor_globals import SWAPPER_MODELS_PATH #, DEVICE, DEVICE_LIST @@ -65,6 +72,9 @@ class FaceSwapScript(scripts.Script): } img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated, random_image = ui_main.show(is_img2img=is_img2img, **msgs) + # TAB DETECTION + det_thresh, det_maxnum = ui_detection.show() + # TAB UPSCALE restore_first, upscaler_name, upscaler_scale, upscaler_visibility, upscale_force = ui_upscale.show() @@ -104,7 +114,9 @@ class FaceSwapScript(scripts.Script): source_folder, imgs, random_image, - upscale_force + upscale_force, + det_thresh, + det_maxnum ] @@ -134,6 +146,13 @@ class FaceSwapScript(scripts.Script): codeformer_weight=self.codeformer_weight, upscale_force=self.upscale_force ) + + @property + def detection_options(self) -> DetectionOptions: + return DetectionOptions( + det_thresh=self.det_thresh, + det_maxnum=self.det_maxnum + ) def process( self, @@ -166,6 +185,8 @@ class FaceSwapScript(scripts.Script): imgs, random_image, upscale_force, + det_thresh, + det_maxnum ): self.enable = enable if self.enable: @@ -202,6 +223,8 @@ class FaceSwapScript(scripts.Script): self.source_imgs = imgs self.random_image = random_image self.upscale_force = upscale_force + self.det_thresh=det_thresh + self.det_maxnum=det_maxnum if self.gender_source is None or self.gender_source == "No": self.gender_source = 0 if self.gender_target is None or self.gender_target == "No": @@ -266,6 +289,7 @@ class FaceSwapScript(scripts.Script): source_folder = None, source_imgs = None, random_image = False, + detection_options=self.detection_options, ) p.init_images[i] = result # result_path = get_image_path(p.init_images[i], p.outpath_samples, "", p.all_seeds[i], p.all_prompts[i], "txt", p=p, suffix="-swapped") @@ -333,6 +357,7 @@ class FaceSwapScript(scripts.Script): source_folder = self.source_folder, source_imgs = self.source_imgs, random_image = self.random_image, + detection_options=self.detection_options, ) if self.select_source == 2 or (self.select_source == 0 and self.source_imgs is not None and self.source is None): @@ -413,7 +438,7 @@ class FaceSwapScript(scripts.Script): return # if (self.source is not None and self.select_source == 0) or ((self.face_model is not None and self.face_model != "None") and self.select_source == 1): - logger.status("! Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) + logger.status("Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) image: Image.Image = script_pp.image result, output, swapped = swap_face( self.source, @@ -433,6 +458,7 @@ class FaceSwapScript(scripts.Script): source_folder = None, source_imgs = None, random_image = False, + detection_options=self.detection_options, ) self.result = result try: @@ -471,6 +497,9 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): } img, imgs, select_source, face_model, source_folder, save_original, mask_face, source_faces_index, gender_source, faces_index, gender_target, face_restorer_name, face_restorer_visibility, codeformer_weight, swap_in_source, swap_in_generated, random_image = ui_main.show(is_img2img=False, show_br=False, **msgs) + # TAB DETECTION + det_thresh, det_maxnum = ui_detection.show() + # TAB UPSCALE restore_first, upscaler_name, upscaler_scale, upscaler_visibility, upscale_force = ui_upscale.show(show_br=False) @@ -506,6 +535,8 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): 'imgs': imgs, 'random_image': random_image, 'upscale_force': upscale_force, + 'det_thresh': det_thresh, + 'det_maxnum': det_maxnum, } return args @@ -535,6 +566,13 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): codeformer_weight=self.codeformer_weight, upscale_force=self.upscale_force, ) + + @property + def detection_options(self) -> DetectionOptions: + return DetectionOptions( + det_thresh=self.det_thresh, + det_maxnum=self.det_maxnum + ) def process(self, pp: scripts_postprocessing.PostprocessedImage, **args): if args['enable']: @@ -563,6 +601,8 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): self.source_imgs = args['imgs'] self.random_image = args['random_image'] self.upscale_force = args['upscale_force'] + self.det_thresh = args['det_thresh'] + self.det_maxnum = args['det_maxnum'] if self.gender_source is None or self.gender_source == "No": self.gender_source = 0 if self.gender_target is None or self.gender_target == "No": @@ -622,6 +662,7 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): source_folder=self.source_folder, source_imgs=self.source_imgs, random_image=self.random_image, + detection_options=self.detection_options, ) if self.select_source == 2 or (self.select_source == 0 and self.source_imgs is not None and self.source is None): if len(result) > 0 and swapped > 0: diff --git a/scripts/reactor_swapper.py b/scripts/reactor_swapper.py index 6d34648..76a6e39 100644 --- a/scripts/reactor_swapper.py +++ b/scripts/reactor_swapper.py @@ -6,6 +6,7 @@ from typing import List, Union import cv2 import numpy as np from PIL import Image +from scipy import stats import insightface from insightface.app.common import Face @@ -66,6 +67,10 @@ class EnhancementOptions: codeformer_weight: float = 0.5 upscale_force: bool = False +@dataclass +class DetectionOptions: + det_thresh: float = 0.5 + det_maxnum: int = 0 MESSAGED_STOPPED = False MESSAGED_SKIPPED = False @@ -106,12 +111,33 @@ TARGET_IMAGE_HASH = None SOURCE_FACES_LIST = [] SOURCE_IMAGE_LIST_HASH = [] +def clear_faces(): + global SOURCE_FACES, SOURCE_IMAGE_HASH + SOURCE_FACES = None + SOURCE_IMAGE_HASH = None + logger.status("Source Images Hash has been reset (for Single Source or Face Model)") + def clear_faces_list(): global SOURCE_FACES_LIST, SOURCE_IMAGE_LIST_HASH SOURCE_FACES_LIST = [] SOURCE_IMAGE_LIST_HASH = [] logger.status("Source Images Hash has been reset (for Multiple or Folder Source)") +def clear_faces_target(): + global TARGET_FACES, TARGET_IMAGE_HASH + TARGET_FACES = None + TARGET_IMAGE_HASH = None + logger.status("Target Images Hash has been reset") + +def clear_faces_all(): + global SOURCE_FACES, SOURCE_IMAGE_HASH, SOURCE_FACES_LIST, SOURCE_IMAGE_LIST_HASH, TARGET_FACES, TARGET_IMAGE_HASH + SOURCE_FACES = None + SOURCE_IMAGE_HASH = None + TARGET_FACES = None + TARGET_IMAGE_HASH = None + SOURCE_FACES_LIST = [] + SOURCE_IMAGE_LIST_HASH = [] + logger.status("All Images Hash has been reset") def getAnalysisModel(): global ANALYSIS_MODEL @@ -270,13 +296,13 @@ def half_det_size(det_size): logger.status("Trying to halve 'det_size' parameter") return (det_size[0] // 2, det_size[1] // 2) -def analyze_faces(img_data: np.ndarray, det_size=(640, 640)): +def analyze_faces(img_data: np.ndarray, det_size=(640, 640), det_thresh=0.5, det_maxnum=0): logger.info("Applied Execution Provider: %s", PROVIDERS[0]) face_analyser = copy.deepcopy(getAnalysisModel()) - face_analyser.prepare(ctx_id=0, det_size=det_size) - return face_analyser.get(img_data) + face_analyser.prepare(ctx_id=0, det_thresh=det_thresh, det_size=det_size) + return face_analyser.get(img_data, max_num=det_maxnum) -def get_face_single(img_data: np.ndarray, face, face_index=0, det_size=(640, 640), gender_source=0, gender_target=0): +def get_face_single(img_data: np.ndarray, face, face_index=0, det_size=(640, 640), gender_source=0, gender_target=0, det_thresh=0.5, det_maxnum=0): buffalo_path = os.path.join(models_path, "insightface/models/buffalo_l.zip") if os.path.exists(buffalo_path): @@ -299,20 +325,20 @@ def get_face_single(img_data: np.ndarray, face, face_index=0, det_size=(640, 640 if gender_source != 0: if len(face) == 0 and det_size[0] > 320 and det_size[1] > 320: det_size_half = half_det_size(det_size) - return get_face_single(img_data, analyze_faces(img_data, det_size_half), face_index, det_size_half, gender_source, gender_target) + return get_face_single(img_data, analyze_faces(img_data, det_size_half, det_thresh, det_maxnum), face_index, det_size_half, gender_source, gender_target, det_thresh, det_maxnum) faces, wrong_gender = get_face_gender(face,face_index,gender_source,"Source",gender_detected) return faces, wrong_gender, face_age, face_gender if gender_target != 0: if len(face) == 0 and det_size[0] > 320 and det_size[1] > 320: det_size_half = half_det_size(det_size) - return get_face_single(img_data, analyze_faces(img_data, det_size_half), face_index, det_size_half, gender_source, gender_target) + return get_face_single(img_data, analyze_faces(img_data, det_size_half, det_thresh, det_maxnum), face_index, det_size_half, gender_source, gender_target, det_thresh, det_maxnum) faces, wrong_gender = get_face_gender(face,face_index,gender_target,"Target",gender_detected) return faces, wrong_gender, face_age, face_gender if len(face) == 0 and det_size[0] > 320 and det_size[1] > 320: det_size_half = half_det_size(det_size) - return get_face_single(img_data, analyze_faces(img_data, det_size_half), face_index, det_size_half, gender_source, gender_target) + return get_face_single(img_data, analyze_faces(img_data, det_size_half, det_thresh, det_maxnum), face_index, det_size_half, gender_source, gender_target, det_thresh, det_maxnum) try: return sorted(face, key=lambda x: x.bbox[0])[face_index], 0, face_age, face_gender @@ -338,6 +364,7 @@ def swap_face( source_folder: str = "", source_imgs: Union[List, None] = None, random_image: bool = False, + detection_options: Union[DetectionOptions, None] = None, ): global SOURCE_FACES, SOURCE_IMAGE_HASH, TARGET_FACES, TARGET_IMAGE_HASH, PROVIDERS, SOURCE_FACES_LIST, SOURCE_IMAGE_LIST_HASH @@ -413,15 +440,15 @@ def swap_face( if len(SOURCE_FACES_LIST) == 0: logger.status(f"Analyzing Source Image {i}: {source_images_names[i]}...") - source_faces = analyze_faces(source_image) + source_faces = analyze_faces(source_image, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) SOURCE_FACES_LIST = [source_faces] elif len(SOURCE_FACES_LIST) == i and not source_image_same: logger.status(f"Analyzing Source Image {i}: {source_images_names[i]}...") - source_faces = analyze_faces(source_image) + source_faces = analyze_faces(source_image, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) SOURCE_FACES_LIST.append(source_faces) elif len(SOURCE_FACES_LIST) != i and not source_image_same: logger.status(f"Analyzing Source Image {i}: {source_images_names[i]}...") - source_faces = analyze_faces(source_image) + source_faces = analyze_faces(source_image, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) SOURCE_FACES_LIST[i] = source_faces elif source_image_same: logger.status("(Image %s) Using Hashed Source Face(s) Model...", i) @@ -429,7 +456,7 @@ def swap_face( else: logger.status(f"Analyzing Source Image {i}...") - source_faces = analyze_faces(source_image) + source_faces = analyze_faces(source_image, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) if source_faces is not None: source_faces_ff.append(source_faces) @@ -453,7 +480,7 @@ def swap_face( if TARGET_FACES is None or not target_image_same: logger.status("Analyzing Target Image...") - target_faces = analyze_faces(target_img) + target_faces = analyze_faces(target_img, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) TARGET_FACES = target_faces elif target_image_same: logger.status("Using Hashed Target Face(s) Model...") @@ -461,12 +488,12 @@ def swap_face( else: logger.status("Analyzing Target Image...") - target_faces = analyze_faces(target_img) + target_faces = analyze_faces(target_img, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) for i,source_faces in enumerate(source_faces_ff): logger.status("(Image %s) Detecting Source Face, Index = %s", i, source_faces_index[0]) - source_face, wrong_gender, source_age, source_gender = get_face_single(source_img_ff[i], source_faces, face_index=source_faces_index[0], gender_source=gender_source) + source_face, wrong_gender, source_age, source_gender = get_face_single(source_img_ff[i], source_faces, face_index=source_faces_index[0], gender_source=gender_source, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) if source_age != "None" or source_gender != "None": logger.status("(Image %s) Detected: -%s- y.o. %s", i, source_age, source_gender) @@ -476,7 +503,7 @@ def swap_face( elif source_face is not None: - result_image, output, swapped = operate(source_img_ff[i],target_img,target_img_orig,model,source_faces_index,faces_index,source_faces,target_faces,gender_source,gender_target,source_face,wrong_gender,source_age,source_gender,output,swapped,mask_face,entire_mask_image,enhancement_options) + result_image, output, swapped = operate(source_img_ff[i],target_img,target_img_orig,model,source_faces_index,faces_index,source_faces,target_faces,gender_source,gender_target,source_face,wrong_gender,source_age,source_gender,output,swapped,mask_face,entire_mask_image,enhancement_options,detection_options) result.append(result_image) @@ -513,7 +540,7 @@ def swap_face( if SOURCE_FACES is None or not source_image_same: logger.status("Analyzing Source Image...") - source_faces = analyze_faces(source_img) + source_faces = analyze_faces(source_img, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) SOURCE_FACES = source_faces elif source_image_same: logger.status("Using Hashed Source Face(s) Model...") @@ -521,7 +548,7 @@ def swap_face( else: logger.status("Analyzing Source Image...") - source_faces = analyze_faces(source_img) + source_faces = analyze_faces(source_img, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) elif select_source == 1 and (face_model is not None and face_model != "None"): source_face_model = [load_face_model(face_model)] @@ -555,7 +582,7 @@ def swap_face( if TARGET_FACES is None or not target_image_same: logger.status("Analyzing Target Image...") - target_faces = analyze_faces(target_img) + target_faces = analyze_faces(target_img, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) TARGET_FACES = target_faces elif target_image_same: logger.status("Using Hashed Target Face(s) Model...") @@ -563,11 +590,11 @@ def swap_face( else: logger.status("Analyzing Target Image...") - target_faces = analyze_faces(target_img) + target_faces = analyze_faces(target_img, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) logger.status("Detecting Source Face, Index = %s", source_faces_index[0]) if select_source == 0 and source_img is not None: - source_face, wrong_gender, source_age, source_gender = get_face_single(source_img, source_faces, face_index=source_faces_index[0], gender_source=gender_source) + source_face, wrong_gender, source_age, source_gender = get_face_single(source_img, source_faces, face_index=source_faces_index[0], gender_source=gender_source, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) else: source_face = sorted(source_faces, key=lambda x: x.bbox[0])[source_faces_index[0]] wrong_gender = 0 @@ -585,7 +612,7 @@ def swap_face( elif source_face is not None: - result_image, output, swapped = operate(source_img,target_img,target_img_orig,model,source_faces_index,faces_index,source_faces,target_faces,gender_source,gender_target,source_face,wrong_gender,source_age,source_gender,output,swapped,mask_face,entire_mask_image,enhancement_options) + result_image, output, swapped = operate(source_img,target_img,target_img_orig,model,source_faces_index,faces_index,source_faces,target_faces,gender_source,gender_target,source_face,wrong_gender,source_age,source_gender,output,swapped,mask_face,entire_mask_image,enhancement_options,detection_options) else: logger.status("No source face(s) in the provided Index") @@ -599,7 +626,7 @@ def swap_face( return result_image, [], 0 -def build_face_model(image: Image.Image, name: str): +def build_face_model(image: Image.Image, name: str, save_model: bool = True): if image is None: error_msg = "Please load an Image" logger.error(error_msg) @@ -610,20 +637,77 @@ def build_face_model(image: Image.Image, name: str): return error_msg apply_logging_patch(1) image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR) - logger.status("Building Face Model...") + if save_model: + logger.status("Building Face Model...") face_model = analyze_faces(image) if face_model is not None and len(face_model) > 0: - face_model_path = os.path.join(FACE_MODELS_PATH, name + ".safetensors") - save_face_model(face_model[0],face_model_path) - logger.status("--Done!--") - done_msg = f"Face model has been saved to '{face_model_path}'" - logger.status(done_msg) - return done_msg + if save_model: + face_model_path = os.path.join(FACE_MODELS_PATH, name + ".safetensors") + save_face_model(face_model[0],face_model_path) + logger.status("--Done!--") + done_msg = f"Face model has been saved to '{face_model_path}'" + logger.status(done_msg) + return done_msg + else: + return face_model[0] else: no_face_msg = "No face found, please try another image" logger.error(no_face_msg) return no_face_msg +def blend_faces(images_list: List, name: str, compute_method: int = 0, shape_check: bool = False): + faces = [] + embeddings = [] + images: List[Image.Image] = [] + images, images_names = get_images_from_list(images_list) + for i,image in enumerate(images): + logger.status(f"Building Face Model for {images_names[i]}...") + face = build_face_model(image,str(i),save_model=False) + if isinstance(face, str): + # logger.error(f"No faces found in {images_names[i]}, skipping") + continue + if shape_check: + if i == 0: + embedding_shape = face.embedding.shape + elif face.embedding.shape != embedding_shape: + logger.error(f"Embedding Shape Mismatch for {images_names[i]}, skipping") + continue + faces.append(face) + embeddings.append(face.embedding) + if len(faces) > 0: + # if shape_check: + # embedding_shape = embeddings[0].shape + # for embedding in embeddings: + # if embedding.shape != embedding_shape: + # logger.error("Embedding Shape Mismatch") + # break + compute_method_name = "Mean" if compute_method == 0 else "Median" if compute_method == 1 else "Mode" + logger.status(f"Blending with Compute Method {compute_method_name}...") + blended_embedding = np.mean(embeddings, axis=0) if compute_method == 0 else np.median(embeddings, axis=0) if compute_method == 1 else stats.mode(embeddings, axis=0)[0].astype(np.float32) + blended_face = Face( + bbox=faces[0].bbox, + kps=faces[0].kps, + det_score=faces[0].det_score, + landmark_3d_68=faces[0].landmark_3d_68, + pose=faces[0].pose, + landmark_2d_106=faces[0].landmark_2d_106, + embedding=blended_embedding, + gender=faces[0].gender, + age=faces[0].age + ) + if blended_face is not None: + face_model_path = os.path.join(FACE_MODELS_PATH, name + ".safetensors") + save_face_model(blended_face,face_model_path) + logger.status("--Done!--") + done_msg = f"Face model has been saved to '{face_model_path}'" + logger.status(done_msg) + return done_msg + else: + no_face_msg = "Something went wrong, please try another set of images" + logger.error(no_face_msg) + return no_face_msg + return "No faces found" + def operate( source_img, @@ -645,6 +729,7 @@ def operate( mask_face, entire_mask_image, enhancement_options, + detection_options, ): result = target_img face_swapper = getFaceSwapModel(model) @@ -656,7 +741,7 @@ def operate( return result_image, [], 0 if len(source_faces_index) > 1 and source_face_idx > 0: logger.status("Detecting Source Face, Index = %s", source_faces_index[source_face_idx]) - source_face, wrong_gender, source_age, source_gender = get_face_single(source_img, source_faces, face_index=source_faces_index[source_face_idx], gender_source=gender_source) + source_face, wrong_gender, source_age, source_gender = get_face_single(source_img, source_faces, face_index=source_faces_index[source_face_idx], gender_source=gender_source, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) if source_age != "None" or source_gender != "None": logger.status("Detected: -%s- y.o. %s", source_age, source_gender) @@ -667,7 +752,7 @@ def operate( if source_face is not None and wrong_gender == 0: logger.status("Detecting Target Face, Index = %s", face_num) - target_face, wrong_gender, target_age, target_gender = get_face_single(target_img, target_faces, face_index=face_num, gender_target=gender_target) + target_face, wrong_gender, target_age, target_gender = get_face_single(target_img, target_faces, face_index=face_num, gender_target=gender_target, det_thresh=detection_options.det_thresh, det_maxnum=detection_options.det_maxnum) if target_age != "None" or target_gender != "None": logger.status("Detected: -%s- y.o. %s", target_age, target_gender) diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index ec858c1..9c9c4c8 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.6.1" +version_flag = "v0.7.0-a1" from scripts.reactor_logger import logger, get_Run, set_Run from scripts.reactor_globals import DEVICE From 9778e4f2082a89d25d999c6fdf8ba4de3b3f9d45 Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Tue, 20 Feb 2024 19:19:05 +0700 Subject: [PATCH 24/35] UPDATE: det_size with face model build FR #247 --- README.md | 2 +- README_RU.md | 2 +- scripts/reactor_swapper.py | 9 +++++++-- scripts/reactor_version.py | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 63ddfef..ced5a3c 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.7.0_alpha1-lightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.7.0_alpha2-lightgreen?style=for-the-badge&labelColor=darkgreen)
Support Me on Boosty diff --git a/README_RU.md b/README_RU.md index ab50a72..7e36971 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.7.0_alpha1-lightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.7.0_alpha2-lightgreen?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty diff --git a/scripts/reactor_swapper.py b/scripts/reactor_swapper.py index 76a6e39..d001930 100644 --- a/scripts/reactor_swapper.py +++ b/scripts/reactor_swapper.py @@ -626,7 +626,7 @@ def swap_face( return result_image, [], 0 -def build_face_model(image: Image.Image, name: str, save_model: bool = True): +def build_face_model(image: Image.Image, name: str, save_model: bool = True, det_size=(640, 640)): if image is None: error_msg = "Please load an Image" logger.error(error_msg) @@ -639,7 +639,12 @@ def build_face_model(image: Image.Image, name: str, save_model: bool = True): image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR) if save_model: logger.status("Building Face Model...") - face_model = analyze_faces(image) + face_model = analyze_faces(image, det_size) + + if len(face_model) == 0: + det_size_half = half_det_size(det_size) + face_model = analyze_faces(image, det_size_half) + if face_model is not None and len(face_model) > 0: if save_model: face_model_path = os.path.join(FACE_MODELS_PATH, name + ".safetensors") diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 9c9c4c8..302ca2e 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.7.0-a1" +version_flag = "v0.7.0-a2" from scripts.reactor_logger import logger, get_Run, set_Run from scripts.reactor_globals import DEVICE From 778ddec96d92c46e2d9cd6a8721930edd13fc894 Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Sat, 24 Feb 2024 19:57:46 +0700 Subject: [PATCH 25/35] FIX: Insightface Py310 whl URL --- README.md | 2 +- README_RU.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ced5a3c..b5c1fce 100644 --- a/README.md +++ b/README.md @@ -281,7 +281,7 @@ If this method doesn't help - there is some other extension that has a wrong ver ### **VIII. (For Windows users) If you still cannot build Insightface for some reasons or just don't want to install Visual Studio or VS C++ Build Tools - do the following:** 1. Close (stop) your SD WebUI Server if it's running -2. Download and put [prebuilt Insightface package](https://github.com/Gourieff/sd-webui-reactor/raw/main/example/insightface-0.7.3-cp310-cp310-win_amd64.whl) into the stable-diffusion-webui (or SD.Next) root folder where you have "webui-user.bat" file or (A1111 Portable) "run.bat" +2. Download and put [prebuilt Insightface package](https://github.com/Gourieff/Assets/raw/main/Insightface/insightface-0.7.3-cp310-cp310-win_amd64.whl) into the stable-diffusion-webui (or SD.Next) root folder where you have "webui-user.bat" file or (A1111 Portable) "run.bat" 3. From stable-diffusion-webui (or SD.Next) root folder run CMD and `.\venv\Scripts\activate`
OR
(A1111 Portable) Run CMD 4. Then update your PIP: `python -m pip install -U pip`
OR
(A1111 Portable)`system\python\python.exe -m pip install -U pip` 5. Then install Insightface: `pip install insightface-0.7.3-cp310-cp310-win_amd64.whl`
OR
(A1111 Portable)`system\python\python.exe -m pip install insightface-0.7.3-cp310-cp310-win_amd64.whl` diff --git a/README_RU.md b/README_RU.md index 7e36971..08bf101 100644 --- a/README_RU.md +++ b/README_RU.md @@ -288,7 +288,7 @@ Inpainting также работает, но замена лица происх ### **VIII. (Для пользователей Windows) Если вы до сих пор не можете установить пакет Insightface по каким-то причинам или же просто не желаете устанавливать Visual Studio или VS C++ Build Tools - сделайте следующее:** 1. Закройте (остановите) SD WebUI Сервер, если он запущен -2. Скачайте готовый [пакет Insightface](https://github.com/Gourieff/sd-webui-reactor/raw/main/example/insightface-0.7.3-cp310-cp310-win_amd64.whl) и сохраните его в корневую директорию stable-diffusion-webui (или SD.Next) - туда, где лежит файл "webui-user.bat" или (A1111 Portable) "run.bat" +2. Скачайте готовый [пакет Insightface](https://github.com/Gourieff/Assets/raw/main/Insightface/insightface-0.7.3-cp310-cp310-win_amd64.whl) и сохраните его в корневую директорию stable-diffusion-webui (или SD.Next) - туда, где лежит файл "webui-user.bat" или (A1111 Portable) "run.bat" 3. Из корневой директории откройте Консоль (CMD) и выполните `.\venv\Scripts\activate`
ИЛИ
(A1111 Portable) Откройте Консоль (CMD) 4. Обновите PIP: `python -m pip install -U pip`
ИЛИ
(A1111 Portable)`system\python\python.exe -m pip install -U pip` 5. Затем установите Insightface: `pip install insightface-0.7.3-cp310-cp310-win_amd64.whl`
ИЛИ
(A1111 Portable)`system\python\python.exe -m pip install insightface-0.7.3-cp310-cp310-win_amd64.whl` From d89737027608d55acc828268faae7618f6d57a01 Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Fri, 1 Mar 2024 13:05:31 +0700 Subject: [PATCH 26/35] FIX: Typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b5c1fce..3a872ce 100644 --- a/README.md +++ b/README.md @@ -318,7 +318,7 @@ For the installation instruction follow the [ReActor Node repo](https://github.c This software is meant to be a productive contribution to the rapidly growing AI-generated media industry. It will help artists with tasks such as animating a custom character or using the character as a model for clothing etc. -The developers of this software are aware of its possible unethical applicaitons and are committed to take preventative measures against them. We will continue to develop this project in the positive direction while adhering to law and ethics. +The developers of this software are aware of its possible unethical application and are committed to take preventative measures against them. We will continue to develop this project in the positive direction while adhering to law and ethics. Users of this software are expected to use this software responsibly while abiding the local law. If face of a real person is being used, users are suggested to get consent from the concerned person and clearly mention that it is a deepfake when posting content online. **Developers and Contributors of this software are not responsible for actions of end-users.** From 8fafab97770438c2614d7fbc92fc6f1c9cbb2052 Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Fri, 1 Mar 2024 13:21:06 +0700 Subject: [PATCH 27/35] UPDATE: Details --- README.md | 9 +++++++-- README_RU.md | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3a872ce..61d4038 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,9 @@ ## What's new in the latest updates +

+ Click to expand + ### 0.7.0 ALPHA1 - You can now blend faces to build blended face models ("Tools->Face Models->Blend") - due to popular demand @@ -80,11 +83,13 @@ 0.5.0-whatsnew-01 +
+ ## Installation -[Automatic1111](#a1111) | [Vladmandic SD.Next](#sdnext) | [Google Colab SD WebUI](#colab) +[A1111 WebUI / WebUI-Forge](#a1111) | [SD.Next](#sdnext) | [Google Colab SD WebUI](#colab) -If you use [AUTOMATIC1111 web-ui](https://github.com/AUTOMATIC1111/stable-diffusion-webui/): +If you use [AUTOMATIC1111 SD WebUI](https://github.com/AUTOMATIC1111/stable-diffusion-webui/) or [SD WebUI Forge](https://github.com/lllyasviel/stable-diffusion-webui-forge): 1. (For Windows Users): - Install **Visual Studio 2022** (Community version, for example - you need this step to build some of dependencies): diff --git a/README_RU.md b/README_RU.md index 08bf101..5e4d89a 100644 --- a/README_RU.md +++ b/README_RU.md @@ -39,6 +39,9 @@ ## Что нового в последних обновлениях +
+ Нажмите, чтобы посмотреть + ### 0.7.0 ALPHA1 - По многочисленным просьбам появилась возможность строить смешанные модели лиц ("Tools->Face Models->Blend") @@ -79,13 +82,15 @@ 0.5.0-whatsnew-01 +
+ ## Установка -[Automatic1111](#a1111) | [Vladmandic SD.Next](#sdnext) | [Google Colab SD WebUI](#colab) +[A1111 WebUI / WebUI-Forge](#a1111) | [SD.Next](#sdnext) | [Google Colab SD WebUI](#colab) -Если вы используете [AUTOMATIC1111 Web-UI](https://github.com/AUTOMATIC1111/stable-diffusion-webui/): +Если вы используете [AUTOMATIC1111 SD WebUI](https://github.com/AUTOMATIC1111/stable-diffusion-webui/) или [SD WebUI Forge](https://github.com/lllyasviel/stable-diffusion-webui-forge): 1. (Для пользователей Windows): - Установите **Visual Studio 2022** (Например, версию Community - этот шаг нужен для правильной компиляции библиотеки Insightface): From 565704285b37d395e596341164a0805f152dca4a Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Fri, 1 Mar 2024 20:50:52 +0700 Subject: [PATCH 28/35] UPDATE: XYZ Script support FR: #329 +VersionUP (0.7.0 beta1) --- README.md | 10 +++++- README_RU.md | 10 +++++- scripts/reactor_api.py | 11 +++++- scripts/reactor_faceswap.py | 5 +++ scripts/reactor_version.py | 2 +- scripts/reactor_xyz.py | 71 +++++++++++++++++++++++++++++++++++++ 6 files changed, 105 insertions(+), 4 deletions(-) create mode 100644 scripts/reactor_xyz.py diff --git a/README.md b/README.md index 61d4038..79eac55 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.7.0_alpha2-lightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.7.0_beta1-green?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty @@ -43,6 +43,14 @@
Click to expand +### 0.7.0 BETA1 + +- X/Y/Z Script support (up to 3 axis: CodeFormer Weight, Restorer Visibility, Face Mask Correction) + +0.7.0-whatsnew-03 + +Full size demo image: [xyz_demo.png](https://raw.githubusercontent.com/Gourieff/Assets/main/sd-webui-reactor/xyz_demo.png) + ### 0.7.0 ALPHA1 - You can now blend faces to build blended face models ("Tools->Face Models->Blend") - due to popular demand diff --git a/README_RU.md b/README_RU.md index 5e4d89a..201255b 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.7.0_alpha2-lightgreen?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.7.0_beta1-green?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty @@ -42,6 +42,14 @@
Нажмите, чтобы посмотреть +### 0.7.0 BETA1 + +- Поддержка X/Y/Z скрипта (до 3-х параметров: CodeFormer Weight, Restorer Visibility, Face Mask Correction) + +0.7.0-whatsnew-03 + +Full size demo image: [xyz_demo.png](https://raw.githubusercontent.com/Gourieff/Assets/main/sd-webui-reactor/xyz_demo.png) + ### 0.7.0 ALPHA1 - По многочисленным просьбам появилась возможность строить смешанные модели лиц ("Tools->Face Models->Blend") diff --git a/scripts/reactor_api.py b/scripts/reactor_api.py index 7991d81..20bb925 100644 --- a/scripts/reactor_api.py +++ b/scripts/reactor_api.py @@ -1,7 +1,7 @@ ''' Thanks SpenserCai for the original version of the roop api script ----------------------------------- ---- ReActor External API v1.0.5 --- +--- ReActor External API v1.0.6 --- ----------------------------------- ''' import os, glob @@ -17,6 +17,15 @@ import gradio as gr from scripts.reactor_swapper import EnhancementOptions, swap_face, DetectionOptions from scripts.reactor_logger import logger +# XYZ init: +from scripts.reactor_xyz import run +try: + import modules.script_callbacks as script_callbacks + script_callbacks.on_before_ui(run) + # script_callbacks.on_app_started(reactor_api) +except: + pass + def default_file_path(): time = datetime.now() diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index 6f21fb5..428f3cf 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -251,6 +251,11 @@ class FaceSwapScript(scripts.Script): self.random_image = False if self.upscale_force is None: self.upscale_force = False + + if shared.state.job_count > 0: + self.face_restorer_visibility = shared.opts.data['restorer_visibility'] if 'restorer_visibility' in shared.opts.data.keys() else 1 + self.codeformer_weight = shared.opts.data['codeformer_weight'] if 'codeformer_weight' in shared.opts.data.keys() else 0.5 + self.mask_face = shared.opts.data['mask_face'] if 'mask_face' in shared.opts.data.keys() else False logger.debug("*** Set Device") set_Device(self.device) diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 302ca2e..8de88e0 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.7.0-a2" +version_flag = "v0.7.0-b1" from scripts.reactor_logger import logger, get_Run, set_Run from scripts.reactor_globals import DEVICE diff --git a/scripts/reactor_xyz.py b/scripts/reactor_xyz.py new file mode 100644 index 0000000..52a801a --- /dev/null +++ b/scripts/reactor_xyz.py @@ -0,0 +1,71 @@ +''' +Thanks @ledahu for contributing +''' + +from modules import scripts +from modules.shared import opts + +# xyz_grid = [x for x in scripts.scripts_data if x.script_class.__module__ == "xyz_grid.py"][0].module + +def find_module(module_names): + if isinstance(module_names, str): + module_names = [s.strip() for s in module_names.split(",")] + for data in scripts.scripts_data: + if data.script_class.__module__ in module_names and hasattr(data, "module"): + return data.module + return None + +def bool_(string): + string = str(string) + if string in ["None", ""]: + return None + elif string.lower() in ["true", "1"]: + return True + elif string.lower() in ["false", "0"]: + return False + else: + raise ValueError(f"Could not convert string to boolean: {string}") + +def choices_bool(): + return ["False", "True"] + +def float_applier(value_name:str, min_range:float = 0, max_range:float = 1): + """ + Returns a function that applies the given value to the given value_name in opts.data. + """ + def validate(value_name:str, value:str): + value = float(value) + # validate value + if not min_range == 0: + assert value >= min_range, f"Value {value} for {value_name} must be greater than or equal to {min_range}" + if not max_range == 1: + assert value <= max_range, f"Value {value} for {value_name} must be less than or equal to {max_range}" + def apply_float(p, x, xs): + validate(value_name, x) + opts.data[value_name] = float(x) + return apply_float + +def bool_applier(value_name:str): + def apply_bool__(p, x, xs): + x_normed = bool_(x) + opts.data[value_name] = x_normed + # print(f'normed = {x_normed}') + return apply_bool__ + +def add_axis_options(xyz_grid): + extra_axis_options = [ + xyz_grid.AxisOption("[ReActor] CodeFormer Weight", float, float_applier("codeformer_weight", 0, 1)), + xyz_grid.AxisOption("[ReActor] Restorer Visibility", float, float_applier("restorer_visibility", 0, 1)), + xyz_grid.AxisOption("[ReActor] Face Mask Correction", str, bool_applier("mask_face"), choices=choices_bool), + ] + set_a = {opt.label for opt in xyz_grid.axis_options} + set_b = {opt.label for opt in extra_axis_options} + if set_a.intersection(set_b): + return + + xyz_grid.axis_options.extend(extra_axis_options) + +def run(): + xyz_grid = find_module("xyz_grid.py, xy_grid.py") + if xyz_grid: + add_axis_options(xyz_grid) From 6c3bf1c6c44830fc7f1a76e023d07b9db4fce7b5 Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Sat, 2 Mar 2024 13:24:20 +0700 Subject: [PATCH 29/35] UPDATE: XYZ Improved - "Face Model" axis is ready +VersionUP (0.7.0 beta2) --- README.md | 19 +++++++++++++++++-- README_RU.md | 15 +++++++++++++-- scripts/reactor_faceswap.py | 1 + scripts/reactor_xyz.py | 19 +++++++++++++++++-- 4 files changed, 48 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 79eac55..93b3ff0 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.7.0_beta1-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.7.0_beta2-green?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty @@ -43,14 +43,29 @@
Click to expand +### 0.7.0 BETA2 + +- X/Y/Z is improved! One more parameter is ready: you can now select several face models to create a variation of swaps to choose the best one! + +0.7.0-whatsnew-05 + +To use "Face Model" axis - you should enable ReActor and choose any face model as the Source:
+0.7.0-whatsnew-070.7.0-whatsnew-06 + +Full size demo image: [xyz_demo_2.png](https://raw.githubusercontent.com/Gourieff/Assets/main/sd-webui-reactor/xyz_demo_2.png) + ### 0.7.0 BETA1 -- X/Y/Z Script support (up to 3 axis: CodeFormer Weight, Restorer Visibility, Face Mask Correction) +- X/Y/Z Script support (up to 3 axes: CodeFormer Weight, Restorer Visibility, Face Mask Correction) 0.7.0-whatsnew-03 +0.7.0-whatsnew-04 + Full size demo image: [xyz_demo.png](https://raw.githubusercontent.com/Gourieff/Assets/main/sd-webui-reactor/xyz_demo.png) +__Don't forget to enable ReActor and set any source (to prevent "no source" error)__ + ### 0.7.0 ALPHA1 - You can now blend faces to build blended face models ("Tools->Face Models->Blend") - due to popular demand diff --git a/README_RU.md b/README_RU.md index 201255b..111d326 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.7.0_beta1-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.7.0_beta2-green?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty @@ -42,13 +42,24 @@
Нажмите, чтобы посмотреть +### 0.7.0 BETA2 + +- X/Y/Z опция улучшена! Добавлен ещё один параметр: теперь вы можете выбрать несколько моделей лиц для создания вариации замененных лиц, чтобы выбрать наилучшие! + +0.7.0-whatsnew-05 + +Чтобы использовать ось "Face Model" - активируйте РеАктор и выбирите любую модель лица в качестве источника:
+0.7.0-whatsnew-070.7.0-whatsnew-06 + +Полноразмерное демо-изображение: [xyz_demo_2.png](https://raw.githubusercontent.com/Gourieff/Assets/main/sd-webui-reactor/xyz_demo_2.png) + ### 0.7.0 BETA1 - Поддержка X/Y/Z скрипта (до 3-х параметров: CodeFormer Weight, Restorer Visibility, Face Mask Correction) 0.7.0-whatsnew-03 -Full size demo image: [xyz_demo.png](https://raw.githubusercontent.com/Gourieff/Assets/main/sd-webui-reactor/xyz_demo.png) +Полноразмерное демо-изображение: [xyz_demo.png](https://raw.githubusercontent.com/Gourieff/Assets/main/sd-webui-reactor/xyz_demo.png) ### 0.7.0 ALPHA1 diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index 428f3cf..d02fc68 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -256,6 +256,7 @@ class FaceSwapScript(scripts.Script): self.face_restorer_visibility = shared.opts.data['restorer_visibility'] if 'restorer_visibility' in shared.opts.data.keys() else 1 self.codeformer_weight = shared.opts.data['codeformer_weight'] if 'codeformer_weight' in shared.opts.data.keys() else 0.5 self.mask_face = shared.opts.data['mask_face'] if 'mask_face' in shared.opts.data.keys() else False + self.face_model = shared.opts.data['face_model'] if 'face_model' in shared.opts.data.keys() else "None" logger.debug("*** Set Device") set_Device(self.device) diff --git a/scripts/reactor_xyz.py b/scripts/reactor_xyz.py index 52a801a..75c7e57 100644 --- a/scripts/reactor_xyz.py +++ b/scripts/reactor_xyz.py @@ -5,6 +5,11 @@ Thanks @ledahu for contributing from modules import scripts from modules.shared import opts +from scripts.reactor_helpers import ( + get_model_names, + get_facemodels +) + # xyz_grid = [x for x in scripts.scripts_data if x.script_class.__module__ == "xyz_grid.py"][0].module def find_module(module_names): @@ -29,6 +34,9 @@ def bool_(string): def choices_bool(): return ["False", "True"] +def choices_face_models(): + return get_model_names(get_facemodels) + def float_applier(value_name:str, min_range:float = 0, max_range:float = 1): """ Returns a function that applies the given value to the given value_name in opts.data. @@ -46,17 +54,24 @@ def float_applier(value_name:str, min_range:float = 0, max_range:float = 1): return apply_float def bool_applier(value_name:str): - def apply_bool__(p, x, xs): + def apply_bool(p, x, xs): x_normed = bool_(x) opts.data[value_name] = x_normed # print(f'normed = {x_normed}') - return apply_bool__ + return apply_bool + +def str_applier(value_name:str): + def apply_str(p, x, xs): + opts.data[value_name] = x + return apply_str + def add_axis_options(xyz_grid): extra_axis_options = [ xyz_grid.AxisOption("[ReActor] CodeFormer Weight", float, float_applier("codeformer_weight", 0, 1)), xyz_grid.AxisOption("[ReActor] Restorer Visibility", float, float_applier("restorer_visibility", 0, 1)), xyz_grid.AxisOption("[ReActor] Face Mask Correction", str, bool_applier("mask_face"), choices=choices_bool), + xyz_grid.AxisOption("[ReActor] Face Models", str, str_applier("face_model"), choices=choices_face_models), ] set_a = {opt.label for opt in xyz_grid.axis_options} set_b = {opt.label for opt in extra_axis_options} From b6e394de6290d04081e30c0b1089032bba0f6ecb Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Tue, 5 Mar 2024 01:15:28 +0700 Subject: [PATCH 30/35] FIX: No source 'face model' when batch Issue: https://github.com/Gourieff/sd-webui-reactor/discussions/379 +VersionUP (0.7.0 beta3) --- README.md | 2 +- README_RU.md | 2 +- scripts/reactor_faceswap.py | 9 +++++---- scripts/reactor_swapper.py | 9 +++++---- scripts/reactor_version.py | 2 +- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 93b3ff0..8faaa1a 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.7.0_beta2-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.7.0_beta3-green?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty diff --git a/README_RU.md b/README_RU.md index 111d326..246a318 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.7.0_beta2-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.7.0_beta3-green?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index d02fc68..88e8b3c 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -253,10 +253,11 @@ class FaceSwapScript(scripts.Script): self.upscale_force = False if shared.state.job_count > 0: - self.face_restorer_visibility = shared.opts.data['restorer_visibility'] if 'restorer_visibility' in shared.opts.data.keys() else 1 - self.codeformer_weight = shared.opts.data['codeformer_weight'] if 'codeformer_weight' in shared.opts.data.keys() else 0.5 - self.mask_face = shared.opts.data['mask_face'] if 'mask_face' in shared.opts.data.keys() else False - self.face_model = shared.opts.data['face_model'] if 'face_model' in shared.opts.data.keys() else "None" + # logger.debug(f"Job count: {shared.state.job_count}") + self.face_restorer_visibility = shared.opts.data['restorer_visibility'] if 'restorer_visibility' in shared.opts.data.keys() else face_restorer_visibility + self.codeformer_weight = shared.opts.data['codeformer_weight'] if 'codeformer_weight' in shared.opts.data.keys() else codeformer_weight + self.mask_face = shared.opts.data['mask_face'] if 'mask_face' in shared.opts.data.keys() else mask_face + self.face_model = shared.opts.data['face_model'] if 'face_model' in shared.opts.data.keys() else face_model logger.debug("*** Set Device") set_Device(self.device) diff --git a/scripts/reactor_swapper.py b/scripts/reactor_swapper.py index d001930..77b2825 100644 --- a/scripts/reactor_swapper.py +++ b/scripts/reactor_swapper.py @@ -166,13 +166,14 @@ def restore_face(image: Image, enhancement_options: EnhancementOptions): if enhancement_options.face_restorer is not None: original_image = result_image.copy() - logger.status("Restoring the face with %s", enhancement_options.face_restorer.name()) numpy_image = np.array(result_image) if enhancement_options.face_restorer.name() == "CodeFormer": + logger.status("Restoring the face with %s (weight: %s)", enhancement_options.face_restorer.name(), enhancement_options.codeformer_weight) numpy_image = codeformer_model.codeformer.restore( numpy_image, w=enhancement_options.codeformer_weight ) else: # GFPGAN: + logger.status("Restoring the face with %s", enhancement_options.face_restorer.name()) numpy_image = gfpgan_model.gfpgan_fix_faces(numpy_image) # numpy_image = enhancement_options.face_restorer.restore(numpy_image) restored_image = Image.fromarray(numpy_image) @@ -554,10 +555,10 @@ def swap_face( source_face_model = [load_face_model(face_model)] if source_face_model is not None: source_faces_index = [0] - source_faces = source_face_model - logger.status("Using Loaded Source Face Model...") + source_faces = source_face_model + logger.status(f"Using Loaded Source Face Model: {face_model}") else: - logger.error(f"Cannot load Face Model File: {face_model}.safetensors") + logger.error(f"Cannot load Face Model File: {face_model}") else: logger.error("Cannot detect any Source") diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 8de88e0..0b7b082 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.7.0-b1" +version_flag = "v0.7.0-b3" from scripts.reactor_logger import logger, get_Run, set_Run from scripts.reactor_globals import DEVICE From 8fc0de58f63b4c88517fab63a5dc378ac11343bf Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Tue, 5 Mar 2024 12:38:38 +0700 Subject: [PATCH 31/35] UPDATE: ORT dependency for CU12 +VersionUP (0.7.0 beta4) --- README.md | 2 +- README_RU.md | 2 +- install.py | 4 ++-- scripts/reactor_version.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 8faaa1a..7e207f7 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.7.0_beta3-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.7.0_beta4-green?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty diff --git a/README_RU.md b/README_RU.md index 246a318..9370343 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.7.0_beta3-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.7.0_beta4-green?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty diff --git a/install.py b/install.py index 10fce4c..e9f7c38 100644 --- a/install.py +++ b/install.py @@ -118,9 +118,9 @@ with open(req_file) as file: with open(os.path.join(BASE_PATH, "last_device.txt"), "w") as txt: txt.write(last_device) if cuda_version is not None and float(cuda_version)>=12: # CU12 - if not is_installed(ort,"1.17.0",False): + if not is_installed(ort,"1.17.1",False): install_count += 1 - pip_install(ort,"--extra-index-url", "https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/") + pip_install(ort,"-U") elif not is_installed(ort,"1.16.1",False): install_count += 1 pip_install(ort, "-U") diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 0b7b082..12aa118 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.7.0-b3" +version_flag = "v0.7.0-b4" from scripts.reactor_logger import logger, get_Run, set_Run from scripts.reactor_globals import DEVICE From e215bd676398c18f369179d7c7db10cad582bc8f Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Wed, 6 Mar 2024 01:27:24 +0700 Subject: [PATCH 32/35] HOTFIX: Rollback to ORT --extra-index-url if CU12 +VersionUP (0.7.0 beta5) --- README.md | 2 +- README_RU.md | 2 +- install.py | 3 ++- scripts/reactor_version.py | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 7e207f7..1ec67aa 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.7.0_beta4-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.7.0_beta5-green?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty diff --git a/README_RU.md b/README_RU.md index 9370343..6e398de 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.7.0_beta4-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.7.0_beta5-green?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty diff --git a/install.py b/install.py index e9f7c38..815a8c3 100644 --- a/install.py +++ b/install.py @@ -120,7 +120,8 @@ with open(req_file) as file: if cuda_version is not None and float(cuda_version)>=12: # CU12 if not is_installed(ort,"1.17.1",False): install_count += 1 - pip_install(ort,"-U") + pip_uninstall("onnxruntime", "onnxruntime-gpu") + pip_install(ort,"--extra-index-url","https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/") elif not is_installed(ort,"1.16.1",False): install_count += 1 pip_install(ort, "-U") diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 12aa118..695a098 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.7.0-b4" +version_flag = "v0.7.0-b5" from scripts.reactor_logger import logger, get_Run, set_Run from scripts.reactor_globals import DEVICE From 0d03e020bbc3286c9ddf5737f4cca7837166e0fe Mon Sep 17 00:00:00 2001 From: BirdZhang <0312birdzhang@gmail.com> Date: Fri, 8 Mar 2024 21:01:09 +0800 Subject: [PATCH 33/35] fix typo: models_path --- install.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.py b/install.py index 815a8c3..70d34e7 100644 --- a/install.py +++ b/install.py @@ -12,7 +12,7 @@ except: try: from modules.paths import models_path except: - model_path = os.path.abspath("models") + models_path = os.path.abspath("models") BASE_PATH = os.path.dirname(os.path.realpath(__file__)) From 99b0f19553537a2f396a730455c9ea3a23623509 Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Sat, 9 Mar 2024 02:36:11 +0700 Subject: [PATCH 34/35] UPDATE: RGBA support for Extras Single Image +VersionUP (0.7.0 beta6) --- README.md | 2 +- README_RU.md | 2 +- scripts/reactor_faceswap.py | 16 ++++++++++++++++ scripts/reactor_version.py | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1ec67aa..f8ab9ff 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/version-0.7.0_beta5-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/version-0.7.0_beta6-green?style=for-the-badge&labelColor=darkgreen) Support Me on Boosty diff --git a/README_RU.md b/README_RU.md index 6e398de..c592320 100644 --- a/README_RU.md +++ b/README_RU.md @@ -2,7 +2,7 @@ logo - ![Version](https://img.shields.io/badge/версия-0.7.0_beta5-green?style=for-the-badge&labelColor=darkgreen) + ![Version](https://img.shields.io/badge/версия-0.7.0_beta6-green?style=for-the-badge&labelColor=darkgreen) Поддержать проект на Boosty diff --git a/scripts/reactor_faceswap.py b/scripts/reactor_faceswap.py index 88e8b3c..df0239b 100644 --- a/scripts/reactor_faceswap.py +++ b/scripts/reactor_faceswap.py @@ -651,6 +651,15 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): logger.status("Working: source face index %s, target face index %s", self.source_faces_index, self.faces_index) # if self.select_source != 2: image: Image.Image = pp.image + + # Extract alpha channel + logger.debug(f"image = {image}") + if image.mode == 'RGBA': + _, _, _, alpha = image.split() + else: + alpha = None + logger.debug(f"alpha = {alpha}") + result, output, swapped = swap_face( self.source, image, @@ -686,6 +695,13 @@ class FaceSwapScriptExtras(scripts_postprocessing.ScriptPostprocessing): else: try: pp.info["ReActor"] = True + + if alpha is not None: + logger.debug(f"result = {result}") + result = result.convert("RGBA") + result.putalpha(alpha) + logger.debug(f"result_alpha = {result}") + pp.image = result logger.status("---Done!---") except Exception: diff --git a/scripts/reactor_version.py b/scripts/reactor_version.py index 695a098..a7e30a7 100644 --- a/scripts/reactor_version.py +++ b/scripts/reactor_version.py @@ -1,5 +1,5 @@ app_title = "ReActor" -version_flag = "v0.7.0-b5" +version_flag = "v0.7.0-b6" from scripts.reactor_logger import logger, get_Run, set_Run from scripts.reactor_globals import DEVICE From 9989610fa777ff5b0930811a66242744a9101b22 Mon Sep 17 00:00:00 2001 From: Art Gourieff <85128026+Gourieff@users.noreply.github.com> Date: Tue, 12 Mar 2024 20:25:33 +0700 Subject: [PATCH 35/35] UPDATE: API RGBA support, GET facemodels show FR: #394 D: #384 --- example/api_example.py | 2 +- scripts/reactor_api.py | 43 +++++++++++++++++++++++++++++++++++++++--- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/example/api_example.py b/example/api_example.py index d3bc64a..e69766b 100644 --- a/example/api_example.py +++ b/example/api_example.py @@ -17,7 +17,7 @@ finally: print(im) img_bytes = io.BytesIO() -im.save(img_bytes, format='PNG') +im.save(img_bytes, format='PNG') img_base64 = base64.b64encode(img_bytes.getvalue()).decode('utf-8') # ReActor arguments: diff --git a/scripts/reactor_api.py b/scripts/reactor_api.py index 20bb925..5fb9969 100644 --- a/scripts/reactor_api.py +++ b/scripts/reactor_api.py @@ -1,12 +1,18 @@ ''' Thanks SpenserCai for the original version of the roop api script ----------------------------------- ---- ReActor External API v1.0.6 --- +--- ReActor External API v1.0.7 --- ----------------------------------- ''' import os, glob from datetime import datetime, date from fastapi import FastAPI, Body +# from fastapi.exceptions import HTTPException +# from io import BytesIO +# from PIL import Image +# import base64 +# import numpy as np +# import cv2 # from modules.api.models import * from modules import scripts, shared @@ -16,6 +22,7 @@ import gradio as gr from scripts.reactor_swapper import EnhancementOptions, swap_face, DetectionOptions from scripts.reactor_logger import logger +from scripts.reactor_helpers import get_facemodels # XYZ init: from scripts.reactor_xyz import run @@ -61,6 +68,19 @@ def get_full_model(model_name): return model return None +# def decode_base64_to_image_rgba(encoding): +# if encoding.startswith("data:image/"): +# encoding = encoding.split(";")[1].split(",")[1] +# try: +# im_bytes = base64.b64decode(encoding) +# im_arr = np.frombuffer(im_bytes, dtype=np.uint8) # im_arr is one-dim Numpy array +# img = cv2.imdecode(im_arr, flags=cv2.IMREAD_UNCHANGED) +# img = cv2.cvtColor(img, cv2.COLOR_BGRA2RGBA) +# image = Image.fromarray(img, mode="RGBA") +# return image +# except Exception as e: +# raise HTTPException(status_code=500, detail="Invalid encoded image") from e + def reactor_api(_: gr.Blocks, app: FastAPI): @app.post("/reactor/image") async def reactor_image( @@ -92,6 +112,12 @@ def reactor_api(_: gr.Blocks, app: FastAPI): ): s_image = api.decode_base64_to_image(source_image) if select_source == 0 else None t_image = api.decode_base64_to_image(target_image) + + if t_image.mode == 'RGBA': + _, _, _, alpha = t_image.split() + else: + alpha = None + sf_index = source_faces_index f_index = face_index gender_s = gender_source @@ -106,15 +132,21 @@ def reactor_api(_: gr.Blocks, app: FastAPI): if use_model is None: Exception("Model not found") result = swap_face(s_image, t_image, use_model, sf_index, f_index, up_options, gender_s, gender_t, True, True, device, mask_face, select_source, face_model, source_folder, None, random_image,det_options) + result_img = result[0] + + if alpha is not None: + result_img = result_img.convert("RGBA") + result_img.putalpha(alpha) + if save_to_file == 1: if result_file_path == "": result_file_path = default_file_path() try: - result[0].save(result_file_path, format='PNG') + result_img.save(result_file_path, format='PNG') logger.status("Result has been saved to: %s", result_file_path) except Exception as e: logger.error("Error while saving result: %s",e) - return {"image": api.encode_pil_to_base64(result[0])} + return {"image": api.encode_pil_to_base64(result_img)} @app.get("/reactor/models") async def reactor_models(): @@ -125,6 +157,11 @@ def reactor_api(_: gr.Blocks, app: FastAPI): async def reactor_upscalers(): names = [upscaler.name for upscaler in shared.sd_upscalers] return {"upscalers": names} + + @app.get("/reactor/facemodels") + async def reactor_facemodels(): + facemodels = [os.path.split(model)[1].split(".")[0] for model in get_facemodels()] + return {"facemodels": facemodels} try: import modules.script_callbacks as script_callbacks