From 93d8c912904220983a88e706bb70d12986225078 Mon Sep 17 00:00:00 2001 From: Javy de Koning Date: Wed, 12 Jun 2024 12:11:31 +0000 Subject: [PATCH] Remove RDK sample --- samples/sample-rdk-rules/.gitignore | 10 - samples/sample-rdk-rules/README.md | 134 ---- samples/sample-rdk-rules/buildspec.yml | 25 - .../EC2_CHECKS_TERMINATION_PROTECTION_ADF.py | 576 ------------------ ..._CHECKS_TERMINATION_PROTECTION_ADF_test.py | 156 ----- .../parameters.json | 14 - samples/sample-rdk-rules/lambda_helper.py | 147 ----- .../sample-rdk-rules/meta/custom-configs.png | Bin 78270 -> 0 bytes .../meta/lambda-account-id-trusted-entity.png | Bin 84217 -> 0 bytes samples/sample-rdk-rules/params/global.json | 6 - samples/sample-rdk-rules/requirements.txt | 3 - .../templates/lambda-function.json | 25 - .../templates/lambda-permission.json | 14 - .../templates/lambda-role.json | 75 --- .../templates/parameters.json | 24 - .../sample-rdk-rules/templates/skeleton.json | 5 - 16 files changed, 1214 deletions(-) delete mode 100644 samples/sample-rdk-rules/.gitignore delete mode 100644 samples/sample-rdk-rules/README.md delete mode 100644 samples/sample-rdk-rules/buildspec.yml delete mode 100644 samples/sample-rdk-rules/config-rules/EC2_CHECKS_TERMINATION_PROTECTION_ADF/EC2_CHECKS_TERMINATION_PROTECTION_ADF.py delete mode 100644 samples/sample-rdk-rules/config-rules/EC2_CHECKS_TERMINATION_PROTECTION_ADF/EC2_CHECKS_TERMINATION_PROTECTION_ADF_test.py delete mode 100644 samples/sample-rdk-rules/config-rules/EC2_CHECKS_TERMINATION_PROTECTION_ADF/parameters.json delete mode 100644 samples/sample-rdk-rules/lambda_helper.py delete mode 100644 samples/sample-rdk-rules/meta/custom-configs.png delete mode 100644 samples/sample-rdk-rules/meta/lambda-account-id-trusted-entity.png delete mode 100644 samples/sample-rdk-rules/params/global.json delete mode 100644 samples/sample-rdk-rules/requirements.txt delete mode 100644 samples/sample-rdk-rules/templates/lambda-function.json delete mode 100644 samples/sample-rdk-rules/templates/lambda-permission.json delete mode 100644 samples/sample-rdk-rules/templates/lambda-role.json delete mode 100644 samples/sample-rdk-rules/templates/parameters.json delete mode 100644 samples/sample-rdk-rules/templates/skeleton.json diff --git a/samples/sample-rdk-rules/.gitignore b/samples/sample-rdk-rules/.gitignore deleted file mode 100644 index 37833f8be..000000000 --- a/samples/sample-rdk-rules/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -*.swp -package-lock.json -__pycache__ -.pytest_cache -.venv -*.egg-info - -# CDK asset staging directory -.cdk.staging -cdk.out diff --git a/samples/sample-rdk-rules/README.md b/samples/sample-rdk-rules/README.md deleted file mode 100644 index 3bfff8dd5..000000000 --- a/samples/sample-rdk-rules/README.md +++ /dev/null @@ -1,134 +0,0 @@ -# Sample RDK Rules pipeline - -This setup will allow you to deploy custom config rules created by the RDK via -ADF pipeline. - -## Architecture - -![Architecture](./meta/custom-configs.png) - -- As a first step it requires to have a Source code repository to store our - code. In this pattern we are using CodeCommit repository. This repository - created by as a part of the pipeline definition in the ADF's - `deployment_map.yml`. Example of the pipeline definition is in the ADF setup - section. -- ADF pipeline definition creates a pipeline that will deploy Lambda function(s) - into the compliance account and Custom Config rule(s) to Target accounts. -- When a Custom Config rule get pushed into the CodeCommit repository; - - CodeBuild will find the RDK rule(s) recursively in the `config-rules` - directory then zip each single rule one by one and upload into ADF bucket. - Buildspec is using a helper script called `lambda_helper.py` to achieve - this task. ADF populates bucket names into SSM Parameter store on the - installation. `lambda_helper.py` fetches the bucket name from the SSM - Parameter Store. Parameter name looks like - `/cross_region/s3_regional_bucket/{region}`. - - Then CodeBuild will generate 2 CloudFormation templates one for Lambda - function(s) deployment and other for the Custom Config rule(s) deployment. -- When a Lambda function get invokes by a Target account Custom config rule; it - will assume the Config role in the target account then put config Evaluations - into the Target account's Config rule. - -### ADF setup - -Sample pipeline definition looks like below: - -```yaml - - name: custom-config-rules-pipeline ## repo name - default_providers: - source: - provider: codecommit - properties: - account_id: - build: - provider: codebuild - properties: - image: "STANDARD_7_0" - deploy: - provider: cloudformation - targets: - - name: LambdaDeployment - regions: - target: - properties: - template_filename: "template-lambda.json" - - name: ConfigRulesDeployment - regions: - target: - - - properties: - template_filename: "template-config-rules.json" -``` - -## Development setup - -After you clone the repo following file/folder structure will be there; - -- `config-rules`: This folder will contain all the custom config rules created - by `rdk create ...`. Make sure to setup correct details in the - `parameters.json` file(ex: SourceRuntime) -- `params`: Contains parameters we need for the generated CloudFormation - templates. You must set the account id of the Compliance account in - `LambdaAccountId` and Target accounts Config role arn as a pattern in - `ConfigRoleArnToAssume`. These will be used as parameters when it deploys - config-rule into Target accounts to refer Lambda function from the Compliance - account. [Refer this - link](../../docs/user-guide.md#cloudformation-parameters-and-tagging) -- `templates`: This folder contains all the CloudFormation (CFn) template pieces - that required to build CFn template for the lambda function deployment. -- `buildspec.yml`: Buildspec file to generate CloudFormation templates for the - Lambda and Custom Config rules -- `lambda_helper.py`: This is the helper file that pack and upload the lambda - code recursively in the config-rules folder -- `requirements.txt`: Requirements for the `lambda_helper.py` script. - -## Lambda function implementation requirements - -In Lambda functions when you want to refer boto3 client or resource make sure - -- Set `ASSUME_ROLE_MODE` constant to `True` -- Use `get_client` method for client. -- Duplicate `get_client` and create the `get_resource` method. - -```py -def get_resource(service, event, region=None): - """Return the service boto resource. It should be used instead of directly - calling the resource. - - Keyword arguments: - service -- the service name used for calling the boto.resource() - event -- the event variable given in the lambda handler - region -- the region where the resource is called (default: None) - """ - if not ASSUME_ROLE_MODE: - return boto3.resource( - service, region - ) - credentials = get_assume_role_credentials( - get_execution_role_arn(event), - region - ) - return boto3.resource( - service, aws_access_key_id=credentials['AccessKeyId'], - aws_secret_access_key=credentials['SecretAccessKey'], - aws_session_token=credentials['SessionToken'], - region_name=region - ) -``` - -These methods use STS and config payload to assume the IAM role in the target -account. If not lambda execution will be failed. - -[More info](https://aws.amazon.com/blogs/mt/aws-config-rdk-multi-account-and-multi-region-deployment/) - -## Prerequisites/ Important bits - -- This solution does not setup config or config recorder. -- When this solution deploys the config-rule to a target account; it expects - config is enabled in the target account. -- Each target account's config role should be able assume by - `` to put evaluations into each target - account's config. AKA config role in the target account (`2222222222`) should - have the `lambda-function-account-id` (`1111111111`) as trusted entity as - below. - -![Trusted entity](./meta/lambda-account-id-trusted-entity.png) diff --git a/samples/sample-rdk-rules/buildspec.yml b/samples/sample-rdk-rules/buildspec.yml deleted file mode 100644 index 9a4a753b6..000000000 --- a/samples/sample-rdk-rules/buildspec.yml +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright Amazon.com Inc. or its affiliates. -# SPDX-License-Identifier: Apache-2.0 - -version: 0.2 -phases: - install: - runtime-versions: - python: 3.12 - nodejs: 20 - commands: - - aws s3 cp s3://$S3_BUCKET_NAME/adf-build/ adf-build/ --recursive --only-show-errors - - pip install -r adf-build/requirements.txt -q - - python adf-build/generate_params.py - - build: - commands: - - pip install rdk - - cd config-rules - - rdk create-rule-template --rules-only -a -o ../template-config-rules.json - - cd .. - - pip install -r requirements.txt - - python lambda_helper.py --template-name template-lambda.json - -artifacts: - files: '**/*' diff --git a/samples/sample-rdk-rules/config-rules/EC2_CHECKS_TERMINATION_PROTECTION_ADF/EC2_CHECKS_TERMINATION_PROTECTION_ADF.py b/samples/sample-rdk-rules/config-rules/EC2_CHECKS_TERMINATION_PROTECTION_ADF/EC2_CHECKS_TERMINATION_PROTECTION_ADF.py deleted file mode 100644 index 49cdabbdf..000000000 --- a/samples/sample-rdk-rules/config-rules/EC2_CHECKS_TERMINATION_PROTECTION_ADF/EC2_CHECKS_TERMINATION_PROTECTION_ADF.py +++ /dev/null @@ -1,576 +0,0 @@ -# Copyright Amazon.com Inc. or its affiliates. -# SPDX-License-Identifier: Apache-2.0 - -import json -import sys -import datetime -import boto3 -import botocore - -try: - import liblogging -except ImportError: - pass - -############## -# Parameters # -############## - -# Define the default resource to report to Config Rules -DEFAULT_RESOURCE_TYPE = "AWS::::Account" - -APPLICABLE_RESOURCES = ["AWS::EC2::Instance"] -VALID_ENVIRONMENTS = ["PROD", "UAT"] - -# Set to True to get the lambda to assume the Role attached on the Config Service (useful for cross-account). -ASSUME_ROLE_MODE = True - -# Other parameters (no change needed) -CONFIG_ROLE_TIMEOUT_SECONDS = 900 - -############# -# Main Code # -############# - - -def evaluate_compliance(event, configuration_item, valid_rule_parameters): - """Form the evaluation(s) to be return to Config Rules - - Return either: - None -- when no result needs to be displayed - a string -- either COMPLIANT, NON_COMPLIANT or NOT_APPLICABLE - a dictionary -- the evaluation dictionary, usually built by build_evaluation_from_config_item() - a list of dictionary -- a list of evaluation dictionary , usually built by build_evaluation() - - Keyword arguments: - event -- the event variable given in the lambda handler - configuration_item -- the configurationItem dictionary in the invokingEvent - valid_rule_parameters -- the output of the evaluate_parameters() representing validated parameters of the Config Rule - - Advanced Notes: - 1 -- if a resource is deleted and generate a configuration change with ResourceDeleted status, the Boilerplate code will put a NOT_APPLICABLE on this resource automatically. - 2 -- if a None or a list of dictionary is returned, the old evaluation(s) which are not returned in the new evaluation list are returned as NOT_APPLICABLE by the Boilerplate code - 3 -- if None or an empty string, list or dict is returned, the Boilerplate code will put a "shadow" evaluation to feedback that the evaluation took place properly - """ - - ############################### - # Add your custom logic here. # - ############################### - - if not is_applicable_ec2(configuration_item, event) or configuration_item is None: - return "NOT_APPLICABLE" - - # if termination protection is not enabled resource is not Compliant - if not is_termination_protection_on(configuration_item["resourceId"], event): - return "NON_COMPLIANT" - else: - return "COMPLIANT" - - -def is_applicable_ec2(configuration_item, event): - if configuration_item["resourceType"] not in APPLICABLE_RESOURCES: - return False - - # If instance is not in a valid environment its not applicable - if not is_valid_environment(configuration_item["resourceId"], event): - return False - - # Fetch about autoscaling - if is_part_of_asg(configuration_item["resourceId"], event): - return False - - return True - - -# If instance not in a valid environment its not applicable -def is_valid_environment(instance_id, event): - ec2 = get_resource("ec2", event) - instance = ec2.Instance(instance_id) - for tags in instance.tags or []: - if tags["Key"] == "Env": - return tags["Value"] in VALID_ENVIRONMENTS - - -# Checks is instance part of an Autoscaling Group -def is_part_of_asg(instance_id, event): - asg = get_client("autoscaling", event) - result = asg.describe_auto_scaling_instances(InstanceIds=[instance_id]) - return len(result["AutoScalingInstances"]) > 0 - - -# Checks DisableApiTermination is enabled or not -def is_termination_protection_on(instance_id, event): - client = get_client("ec2", event) - response = client.describe_instance_attribute( - Attribute="disableApiTermination", InstanceId=instance_id - ) - return response["DisableApiTermination"]["Value"] - - -def evaluate_parameters(rule_parameters): - """Evaluate the rule parameters dictionary validity. Raise a ValueError for invalid parameters. - - Return: - anything suitable for the evaluate_compliance() - - Keyword arguments: - rule_parameters -- the Key/Value dictionary of the Config Rules parameters - """ - valid_rule_parameters = rule_parameters - return valid_rule_parameters - - -#################### -# Helper Functions # -#################### - -# Build an error to be displayed in the logs when the parameter is invalid. -def build_parameters_value_error_response(ex): - """Return an error dictionary when the evaluate_parameters() raises a ValueError. - - Keyword arguments: - ex -- Exception text - """ - return build_error_response( - internal_error_message="Parameter value is invalid", - internal_error_details="An ValueError was raised during the validation of the Parameter value", - customer_error_code="InvalidParameterValueException", - customer_error_message=str(ex), - ) - - -# This gets the client after assuming the Config service role -# either in the same AWS account or cross-account. -def get_client(service, event, region=None): - """Return the service boto client. It should be used instead of directly calling the client. - - Keyword arguments: - service -- the service name used for calling the boto.client() - event -- the event variable given in the lambda handler - region -- the region where the client is called (default: None) - """ - if not ASSUME_ROLE_MODE: - return boto3.client(service, region) - credentials = get_assume_role_credentials(get_execution_role_arn(event), region) - return boto3.client( - service, - aws_access_key_id=credentials["AccessKeyId"], - aws_secret_access_key=credentials["SecretAccessKey"], - aws_session_token=credentials["SessionToken"], - region_name=region, - ) - - -def get_resource(service, event, region=None): - """Return the service boto client. It should be used instead of directly calling the client. - - Keyword arguments: - service -- the service name used for calling the boto.client() - event -- the event variable given in the lambda handler - region -- the region where the client is called (default: None) - """ - if not ASSUME_ROLE_MODE: - return boto3.resource(service, region) - credentials = get_assume_role_credentials(get_execution_role_arn(event), region) - return boto3.resource( - service, - aws_access_key_id=credentials["AccessKeyId"], - aws_secret_access_key=credentials["SecretAccessKey"], - aws_session_token=credentials["SessionToken"], - region_name=region, - ) - - -# This generate an evaluation for config -def build_evaluation( - resource_id, - compliance_type, - event, - resource_type=DEFAULT_RESOURCE_TYPE, - annotation=None, -): - """Form an evaluation as a dictionary. Usually suited to report on scheduled rules. - - Keyword arguments: - resource_id -- the unique id of the resource to report - compliance_type -- either COMPLIANT, NON_COMPLIANT or NOT_APPLICABLE - event -- the event variable given in the lambda handler - resource_type -- the CloudFormation resource type (or AWS::::Account) to report on the rule (default DEFAULT_RESOURCE_TYPE) - annotation -- an annotation to be added to the evaluation (default None). It will be truncated to 255 if longer. - """ - eval_cc = {} - if annotation: - eval_cc["Annotation"] = build_annotation(annotation) - eval_cc["ComplianceResourceType"] = resource_type - eval_cc["ComplianceResourceId"] = resource_id - eval_cc["ComplianceType"] = compliance_type - eval_cc["OrderingTimestamp"] = str( - json.loads(event["invokingEvent"])["notificationCreationTime"] - ) - return eval_cc - - -def build_evaluation_from_config_item( - configuration_item, compliance_type, annotation=None -): - """Form an evaluation as a dictionary. Usually suited to report on configuration change rules. - - Keyword arguments: - configuration_item -- the configurationItem dictionary in the invokingEvent - compliance_type -- either COMPLIANT, NON_COMPLIANT or NOT_APPLICABLE - annotation -- an annotation to be added to the evaluation (default None). It will be truncated to 255 if longer. - """ - eval_ci = {} - if annotation: - eval_ci["Annotation"] = build_annotation(annotation) - eval_ci["ComplianceResourceType"] = configuration_item["resourceType"] - eval_ci["ComplianceResourceId"] = configuration_item["resourceId"] - eval_ci["ComplianceType"] = compliance_type - eval_ci["OrderingTimestamp"] = configuration_item["configurationItemCaptureTime"] - return eval_ci - - -#################### -# Boilerplate Code # -#################### - -# Get execution role for Lambda function -def get_execution_role_arn(event): - role_arn = None - if "ruleParameters" in event: - rule_params = json.loads(event["ruleParameters"]) - role_name = rule_params.get("ExecutionRoleName") - if role_name: - execution_role_prefix = event["executionRoleArn"].split("/")[0] - role_arn = "{}/{}".format(execution_role_prefix, role_name) - - if not role_arn: - role_arn = event["executionRoleArn"] - - return role_arn - - -# Build annotation within Service constraints -def build_annotation(annotation_string): - if len(annotation_string) > 256: - return annotation_string[:244] + " [truncated]" - return annotation_string - - -# Helper function used to validate input -def check_defined(reference, reference_name): - if not reference: - raise Exception("Error: ", reference_name, "is not defined") - return reference - - -# Check whether the message is OversizedConfigurationItemChangeNotification or not -def is_oversized_changed_notification(message_type): - check_defined(message_type, "messageType") - return message_type == "OversizedConfigurationItemChangeNotification" - - -# Check whether the message is a ScheduledNotification or not. -def is_scheduled_notification(message_type): - check_defined(message_type, "messageType") - return message_type == "ScheduledNotification" - - -# Get configurationItem using getResourceConfigHistory API -# in case of OversizedConfigurationItemChangeNotification -def get_configuration(resource_type, resource_id, configuration_capture_time): - result = AWS_CONFIG_CLIENT.get_resource_config_history( - resourceType=resource_type, - resourceId=resource_id, - laterTime=configuration_capture_time, - limit=1, - ) - configuration_item = result["configurationItems"][0] - return convert_api_configuration(configuration_item) - - -# Convert from the API model to the original invocation model -def convert_api_configuration(configuration_item): - for k, v in configuration_item.items(): - if isinstance(v, datetime.datetime): - configuration_item[k] = str(v) - configuration_item["awsAccountId"] = configuration_item["accountId"] - configuration_item["ARN"] = configuration_item["arn"] - configuration_item["configurationStateMd5Hash"] = configuration_item[ - "configurationItemMD5Hash" - ] - configuration_item["configurationItemVersion"] = configuration_item["version"] - configuration_item["configuration"] = json.loads( - configuration_item["configuration"] - ) - if "relationships" in configuration_item: - for i in range(len(configuration_item["relationships"])): - configuration_item["relationships"][i]["name"] = configuration_item[ - "relationships" - ][i]["relationshipName"] - return configuration_item - - -# Based on the type of message get the configuration item -# either from configurationItem in the invoking event -# or using the getResourceConfigHistory API in getConfiguration function. -def get_configuration_item(invoking_event): - check_defined(invoking_event, "invokingEvent") - if is_oversized_changed_notification(invoking_event["messageType"]): - configuration_item_summary = check_defined( - invoking_event["configurationItemSummary"], "configurationItemSummary" - ) - return get_configuration( - configuration_item_summary["resourceType"], - configuration_item_summary["resourceId"], - configuration_item_summary["configurationItemCaptureTime"], - ) - if is_scheduled_notification(invoking_event["messageType"]): - return None - return check_defined(invoking_event["configurationItem"], "configurationItem") - - -# Check whether the resource has been deleted. If it has, then the evaluation is unnecessary. -def is_applicable(configuration_item, event): - try: - check_defined(configuration_item, "configurationItem") - check_defined(event, "event") - except: - return True - status = configuration_item["configurationItemStatus"] - event_left_scope = event["eventLeftScope"] - if status == "ResourceDeleted": - print("Resource Deleted, setting Compliance Status to NOT_APPLICABLE.") - - return status in ("OK", "ResourceDiscovered") and not event_left_scope - - -def get_assume_role_credentials(role_arn, region=None): - sts_client = boto3.client("sts", region) - try: - assume_role_response = sts_client.assume_role( - RoleArn=role_arn, - RoleSessionName="configLambdaExecution", - DurationSeconds=CONFIG_ROLE_TIMEOUT_SECONDS, - ) - if "liblogging" in sys.modules: - liblogging.logSession(role_arn, assume_role_response) - return assume_role_response["Credentials"] - except botocore.exceptions.ClientError as ex: - # Scrub error message for any internal account info leaks - print(str(ex)) - if "AccessDenied" in ex.response["Error"]["Code"]: - ex.response["Error"][ - "Message" - ] = "AWS Config does not have permission to assume the IAM role." - else: - ex.response["Error"]["Message"] = "InternalError" - ex.response["Error"]["Code"] = "InternalError" - raise ex - - -# This removes older evaluation (usually useful for periodic rule not reporting on AWS::::Account). -def clean_up_old_evaluations(latest_evaluations, event): - - cleaned_evaluations = [] - - old_eval = AWS_CONFIG_CLIENT.get_compliance_details_by_config_rule( - ConfigRuleName=event["configRuleName"], - ComplianceTypes=["COMPLIANT", "NON_COMPLIANT"], - Limit=100, - ) - - old_eval_list = [] - - while True: - for old_result in old_eval["EvaluationResults"]: - old_eval_list.append(old_result) - if "NextToken" in old_eval: - next_token = old_eval["NextToken"] - old_eval = AWS_CONFIG_CLIENT.get_compliance_details_by_config_rule( - ConfigRuleName=event["configRuleName"], - ComplianceTypes=["COMPLIANT", "NON_COMPLIANT"], - Limit=100, - NextToken=next_token, - ) - else: - break - - for old_eval in old_eval_list: - old_resource_id = old_eval["EvaluationResultIdentifier"][ - "EvaluationResultQualifier" - ]["ResourceId"] - newer_founded = False - for latest_eval in latest_evaluations: - if old_resource_id == latest_eval["ComplianceResourceId"]: - newer_founded = True - if not newer_founded: - cleaned_evaluations.append( - build_evaluation(old_resource_id, "NOT_APPLICABLE", event) - ) - - return cleaned_evaluations + latest_evaluations - - -def lambda_handler(event, context): - if "liblogging" in sys.modules: - liblogging.logEvent(event) - - global AWS_CONFIG_CLIENT - - # print(event) - check_defined(event, "event") - invoking_event = json.loads(event["invokingEvent"]) - rule_parameters = {} - if "ruleParameters" in event: - rule_parameters = json.loads(event["ruleParameters"]) - - try: - valid_rule_parameters = evaluate_parameters(rule_parameters) - except ValueError as ex: - return build_parameters_value_error_response(ex) - - try: - AWS_CONFIG_CLIENT = get_client("config", event) - if invoking_event["messageType"] in [ - "ConfigurationItemChangeNotification", - "ScheduledNotification", - "OversizedConfigurationItemChangeNotification", - ]: - configuration_item = get_configuration_item(invoking_event) - if is_applicable(configuration_item, event): - compliance_result = evaluate_compliance( - event, configuration_item, valid_rule_parameters - ) - else: - compliance_result = "NOT_APPLICABLE" - else: - return build_internal_error_response( - "Unexpected message type", str(invoking_event) - ) - except botocore.exceptions.ClientError as ex: - if is_internal_error(ex): - return build_internal_error_response( - "Unexpected error while completing API request", str(ex) - ) - return build_error_response( - "Customer error while making API request", - str(ex), - ex.response["Error"]["Code"], - ex.response["Error"]["Message"], - ) - except ValueError as ex: - return build_internal_error_response(str(ex), str(ex)) - - evaluations = [] - latest_evaluations = [] - - if not compliance_result: - latest_evaluations.append( - build_evaluation( - event["accountId"], - "NOT_APPLICABLE", - event, - resource_type="AWS::::Account", - ) - ) - evaluations = clean_up_old_evaluations(latest_evaluations, event) - elif isinstance(compliance_result, str): - if configuration_item: - evaluations.append( - build_evaluation_from_config_item(configuration_item, compliance_result) - ) - else: - evaluations.append( - build_evaluation( - event["accountId"], - compliance_result, - event, - resource_type=DEFAULT_RESOURCE_TYPE, - ) - ) - elif isinstance(compliance_result, list): - for evaluation in compliance_result: - missing_fields = False - for field in ( - "ComplianceResourceType", - "ComplianceResourceId", - "ComplianceType", - "OrderingTimestamp", - ): - if field not in evaluation: - print("Missing " + field + " from custom evaluation.") - missing_fields = True - - if not missing_fields: - latest_evaluations.append(evaluation) - evaluations = clean_up_old_evaluations(latest_evaluations, event) - elif isinstance(compliance_result, dict): - missing_fields = False - for field in ( - "ComplianceResourceType", - "ComplianceResourceId", - "ComplianceType", - "OrderingTimestamp", - ): - if field not in compliance_result: - print("Missing " + field + " from custom evaluation.") - missing_fields = True - if not missing_fields: - evaluations.append(compliance_result) - else: - evaluations.append( - build_evaluation_from_config_item(configuration_item, "NOT_APPLICABLE") - ) - - # Put together the request that reports the evaluation status - result_token = event["resultToken"] - test_mode = False - if result_token == "TESTMODE": - # Used solely for RDK test to skip actual put_evaluation API call - test_mode = True - - # Invoke the Config API to report the result of the evaluation - evaluation_copy = [] - evaluation_copy = evaluations[:] - while evaluation_copy: - AWS_CONFIG_CLIENT.put_evaluations( - Evaluations=evaluation_copy[:100], - ResultToken=result_token, - TestMode=test_mode, - ) - del evaluation_copy[:100] - - # Used solely for RDK test to be able to test Lambda function - return evaluations - - -def is_internal_error(exception): - return ( - (not isinstance(exception, botocore.exceptions.ClientError)) - or exception.response["Error"]["Code"].startswith("5") - or "InternalError" in exception.response["Error"]["Code"] - or "ServiceError" in exception.response["Error"]["Code"] - ) - - -def build_internal_error_response(internal_error_message, internal_error_details=None): - return build_error_response( - internal_error_message, internal_error_details, "InternalError", "InternalError" - ) - - -def build_error_response( - internal_error_message, - internal_error_details=None, - customer_error_code=None, - customer_error_message=None, -): - error_response = { - "internalErrorMessage": internal_error_message, - "internalErrorDetails": internal_error_details, - "customerErrorMessage": customer_error_message, - "customerErrorCode": customer_error_code, - } - print(error_response) - return error_response diff --git a/samples/sample-rdk-rules/config-rules/EC2_CHECKS_TERMINATION_PROTECTION_ADF/EC2_CHECKS_TERMINATION_PROTECTION_ADF_test.py b/samples/sample-rdk-rules/config-rules/EC2_CHECKS_TERMINATION_PROTECTION_ADF/EC2_CHECKS_TERMINATION_PROTECTION_ADF_test.py deleted file mode 100644 index c158fee04..000000000 --- a/samples/sample-rdk-rules/config-rules/EC2_CHECKS_TERMINATION_PROTECTION_ADF/EC2_CHECKS_TERMINATION_PROTECTION_ADF_test.py +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright Amazon.com Inc. or its affiliates. -# SPDX-License-Identifier: Apache-2.0 - -import sys -import unittest -from unittest.mock import MagicMock -import botocore - -############## -# Parameters # -############## - -# Define the default resource to report to Config Rules -DEFAULT_RESOURCE_TYPE = 'AWS::::Account' - -############# -# Main Code # -############# - -CONFIG_CLIENT_MOCK = MagicMock() -STS_CLIENT_MOCK = MagicMock() - -class Boto3Mock(): - @staticmethod - def client(client_name, *args, **kwargs): - if client_name == 'config': - return CONFIG_CLIENT_MOCK - if client_name == 'sts': - return STS_CLIENT_MOCK - raise Exception("Attempting to create an unknown client") - -sys.modules['boto3'] = Boto3Mock() - -RULE = __import__('EC2_CHECKS_TERMINATION_PROTECTION_ADF') - -class ComplianceTest(unittest.TestCase): - - rule_parameters = '{"SomeParameterKey":"SomeParameterValue","SomeParameterKey2":"SomeParameterValue2"}' - - invoking_event_iam_role_sample = '{"configurationItem":{"relatedEvents":[],"relationships":[],"configuration":{},"tags":{},"configurationItemCaptureTime":"2018-07-02T03:37:52.418Z","awsAccountId":"123456789012","configurationItemStatus":"ResourceDiscovered","resourceType":"AWS::IAM::Role","resourceId":"some-resource-id","resourceName":"some-resource-name","ARN":"some-arn"},"notificationCreationTime":"2018-07-02T23:05:34.445Z","messageType":"ConfigurationItemChangeNotification"}' - - def setUp(self): - pass - - def test_sample(self): - self.assertTrue(True) - -#################### -# Helper Functions # -#################### - -def build_lambda_configurationchange_event(invoking_event, rule_parameters=None): - event_to_return = { - 'configRuleName':'myRule', - 'executionRoleArn':'roleArn', - 'eventLeftScope': False, - 'invokingEvent': invoking_event, - 'accountId': '123456789012', - 'configRuleArn': 'arn:aws:config:us-east-1:123456789012:config-rule/config-rule-abc', - 'resultToken':'token' - } - if rule_parameters: - event_to_return['ruleParameters'] = rule_parameters - return event_to_return - -def build_lambda_scheduled_event(rule_parameters=None): - invoking_event = '{"messageType":"ScheduledNotification","notificationCreationTime":"2017-12-23T22:11:18.158Z"}' - event_to_return = { - 'configRuleName':'myRule', - 'executionRoleArn':'roleArn', - 'eventLeftScope': False, - 'invokingEvent': invoking_event, - 'accountId': '123456789012', - 'configRuleArn': 'arn:aws:config:us-east-1:123456789012:config-rule/config-rule-abc', - 'resultToken':'token' - } - if rule_parameters: - event_to_return['ruleParameters'] = rule_parameters - return event_to_return - -def build_expected_response(compliance_type, compliance_resource_id, compliance_resource_type=DEFAULT_RESOURCE_TYPE, annotation=None): - if not annotation: - return { - 'ComplianceType': compliance_type, - 'ComplianceResourceId': compliance_resource_id, - 'ComplianceResourceType': compliance_resource_type - } - return { - 'ComplianceType': compliance_type, - 'ComplianceResourceId': compliance_resource_id, - 'ComplianceResourceType': compliance_resource_type, - 'Annotation': annotation - } - -def assert_successful_evaluation(test_class, response, resp_expected, evaluations_count=1): - if isinstance(response, dict): - test_class.assertEquals(resp_expected['ComplianceResourceType'], response['ComplianceResourceType']) - test_class.assertEquals(resp_expected['ComplianceResourceId'], response['ComplianceResourceId']) - test_class.assertEquals(resp_expected['ComplianceType'], response['ComplianceType']) - test_class.assertTrue(response['OrderingTimestamp']) - if 'Annotation' in resp_expected or 'Annotation' in response: - test_class.assertEquals(resp_expected['Annotation'], response['Annotation']) - elif isinstance(response, list): - test_class.assertEquals(evaluations_count, len(response)) - for i, response_expected in enumerate(resp_expected): - test_class.assertEquals(response_expected['ComplianceResourceType'], response[i]['ComplianceResourceType']) - test_class.assertEquals(response_expected['ComplianceResourceId'], response[i]['ComplianceResourceId']) - test_class.assertEquals(response_expected['ComplianceType'], response[i]['ComplianceType']) - test_class.assertTrue(response[i]['OrderingTimestamp']) - if 'Annotation' in response_expected or 'Annotation' in response[i]: - test_class.assertEquals(response_expected['Annotation'], response[i]['Annotation']) - -def assert_customer_error_response(test_class, response, customer_error_code=None, customer_error_message=None): - if customer_error_code: - test_class.assertEqual(customer_error_code, response['customerErrorCode']) - if customer_error_message: - test_class.assertEqual(customer_error_message, response['customerErrorMessage']) - test_class.assertTrue(response['customerErrorCode']) - test_class.assertTrue(response['customerErrorMessage']) - if "internalErrorMessage" in response: - test_class.assertTrue(response['internalErrorMessage']) - if "internalErrorDetails" in response: - test_class.assertTrue(response['internalErrorDetails']) - -def sts_mock(): - assume_role_response = { - "Credentials": { - "AccessKeyId": "string", - "SecretAccessKey": "string", - "SessionToken": "string"}} - STS_CLIENT_MOCK.reset_mock(return_value=True) - STS_CLIENT_MOCK.assume_role = MagicMock(return_value=assume_role_response) - -################## -# Common Testing # -################## - -class TestStsErrors(unittest.TestCase): - - def test_sts_unknown_error(self): - RULE.ASSUME_ROLE_MODE = True - RULE.evaluate_parameters = MagicMock(return_value=True) - STS_CLIENT_MOCK.assume_role = MagicMock(side_effect=botocore.exceptions.ClientError( - {'Error': {'Code': 'unknown-code', 'Message': 'unknown-message'}}, 'operation')) - response = RULE.lambda_handler(build_lambda_configurationchange_event('{}'), {}) - assert_customer_error_response( - self, response, 'InternalError', 'InternalError') - - def test_sts_access_denied(self): - RULE.ASSUME_ROLE_MODE = True - RULE.evaluate_parameters = MagicMock(return_value=True) - STS_CLIENT_MOCK.assume_role = MagicMock(side_effect=botocore.exceptions.ClientError( - {'Error': {'Code': 'AccessDenied', 'Message': 'access-denied'}}, 'operation')) - response = RULE.lambda_handler(build_lambda_configurationchange_event('{}'), {}) - assert_customer_error_response( - self, response, 'AccessDenied', 'AWS Config does not have permission to assume the IAM role.') diff --git a/samples/sample-rdk-rules/config-rules/EC2_CHECKS_TERMINATION_PROTECTION_ADF/parameters.json b/samples/sample-rdk-rules/config-rules/EC2_CHECKS_TERMINATION_PROTECTION_ADF/parameters.json deleted file mode 100644 index 1b8ce5dae..000000000 --- a/samples/sample-rdk-rules/config-rules/EC2_CHECKS_TERMINATION_PROTECTION_ADF/parameters.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "Version": "1.0", - "Parameters": { - "RuleName": "EC2_CHECKS_TERMINATION_PROTECTION_ADF", - "Description": "EC2_CHECKS_TERMINATION_PROTECTION_ADF", - "SourceRuntime": "python3.12", - "CodeKey": "EC2_CHECKS_TERMINATION_PROTECTION_ADFeu-central-1.zip", - "InputParameters": "{}", - "OptionalParameters": "{}", - "SourceEvents": "AWS::EC2::Instance", - "SourcePeriodic": "One_Hour" - }, - "Tags": "[]" -} diff --git a/samples/sample-rdk-rules/lambda_helper.py b/samples/sample-rdk-rules/lambda_helper.py deleted file mode 100644 index b2aa42020..000000000 --- a/samples/sample-rdk-rules/lambda_helper.py +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright Amazon.com Inc. or its affiliates. -# SPDX-License-Identifier: MIT-0 - -import argparse -import json -import os -import shutil -import uuid -import sys -import logging -import boto3 -from s3 import S3 -from pathlib import Path - -deployment_account_region = os.environ.get("AWS_REGION") -project_root = os.path.dirname(__file__) -s3_rdk_assets_prefix = "rdk_assets" -config_rules_dir = "config-rules" -templates_dir = "templates" -config_rules_root = os.path.join(project_root, "config-rules") -templates_root = os.path.join(project_root, templates_dir) - - -def load_json_file(file: str) -> dict: - try: - with open(f"{file}", "r", ecoding="utf-8") as file: - return json.load(file) - except FileNotFoundError: - logging.exception(f"File {file} not found.") - sys.exit(1) - - -def replace_rule_name_and_load(file: str, rule_name:str, rule_name_stripped:str) -> dict: - try: - with open(file, 'r', encoding="utf-8") as f: - content = f.read().replace("RuleNameStripped", rule_name_stripped) - content = content.replace("RuleName", rule_name) - return json.loads(content) - except FileNotFoundError: - logging.exception(f"File {file} not found.") - sys.exit(1) - - -def clean_up_template(file: str): - if os.path.exists(file): - os.remove(file) - - -def get_template_skeleton(shared_modules_bucket: str) -> dict: - #get skeleton - parameters = load_json_file(Path(templates_root).joinpath("parameters.json")) - parameters["SourceBucketFolder"]["Default"] = s3_rdk_assets_prefix - parameters["SourceBucket"]["Default"] = shared_modules_bucket - - #get parameters - skeleton = load_json_file(Path(templates_root).joinpath("skeleton.json")) - - skeleton["Parameters"] = parameters - - return skeleton - - -def add_lambda_to_template_by_rule(template:dict, config_rule_dir: str, rule_name:str, s3_asset_key:str) -> dict: - parameter_file = Path(config_rule_dir).joinpath("parameters.json") - parameter_content = load_json_file(parameter_file) - rule_name_stripped = rule_name.replace("_", "") - runtime = parameter_content.get('Parameters').get('SourceRuntime') - - lambda_role = replace_rule_name_and_load(Path(templates_root).joinpath("lambda-role.json"), rule_name, rule_name_stripped) - template["Resources"][f"{rule_name_stripped}LambdaRole"] = lambda_role - - lambda_function = replace_rule_name_and_load(Path(templates_root).joinpath("lambda-function.json"), rule_name, rule_name_stripped) - lambda_function["Properties"]["Code"]["S3Key"] = s3_asset_key - lambda_function["Properties"]["Runtime"] = runtime - template["Resources"][f"{rule_name_stripped}LambdaFunction"] = lambda_function - - lambda_permission = replace_rule_name_and_load(Path(templates_root).joinpath("lambda-permission.json"), rule_name, rule_name_stripped) - template["Resources"][f"{rule_name_stripped}LambdaPermissions"] = lambda_permission - - return template - - -def write_template(template:dict, file_name:str): - with open(file_name, "a") as file: - json.dump(template, file, indent=4) - - -def main(shared_modules_bucket: str): - s3 = S3(deployment_account_region, shared_modules_bucket) - clean_up_template(template_name) - template = get_template_skeleton(shared_modules_bucket) - - config_rules_dirs = [x for x in Path(config_rules_root).iterdir() if x.is_dir()] - for config_rule_dir in config_rules_dirs: - rule_name = config_rule_dir.name.replace("-", "_") - - logging.info(f'Zipping rule {config_rule_dir.name}') - - file_asset_path = shutil.make_archive( - Path(config_rule_dir).joinpath(config_rule_dir.name), - "zip", - config_rule_dir - ) - unique_id = uuid.uuid4() - if asset_folder: - s3_asset_key =f'{asset_folder}/{rule_name}/{rule_name}-{unique_id}.zip' - - logging.info(f'Uploading rule {config_rule_dir.name}') - uploaded_asset_path = s3.put_object( - s3_asset_key, - file_asset_path, - style="s3-url", - pre_check=True, - ) - print(f"uploaded to {uploaded_asset_path}") - clean_up_template(file_asset_path) - print(f"Creating template for {rule_name}") - template = add_lambda_to_template_by_rule(template, config_rule_dir, rule_name, s3_asset_key) - - write_template(template, template_name) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument('--asset-folder', required=False, help='[optional] Asset folder in the ADF bucket') - parser.add_argument('--template-name', required=True, help='Name for the generated template name') - parser.add_argument( - "-r", - "--region", - ) - args = parser.parse_args() - - target_region = args.region if args.region else deployment_account_region - parameter_store = boto3.client('ssm') - - template_name = args.template_name - - bucket_path_ssm = f"/cross_region/s3_regional_bucket/{target_region}" - res = parameter_store.get_parameter(Name=bucket_path_ssm) - - shared_modules_bucket = res['Parameter']['Value'] - asset_folder = args.asset_folder if args.asset_folder else s3_rdk_assets_prefix - # If remove trailing slash if exists to be - if asset_folder and asset_folder.endswith('/'): - asset_folder = asset_folder[:-1] - - main(shared_modules_bucket) diff --git a/samples/sample-rdk-rules/meta/custom-configs.png b/samples/sample-rdk-rules/meta/custom-configs.png deleted file mode 100644 index c52993c21dae79cda33f6fdb4de0fbb34d4c50e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78270 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 diff --git a/samples/sample-rdk-rules/meta/lambda-account-id-trusted-entity.png b/samples/sample-rdk-rules/meta/lambda-account-id-trusted-entity.png deleted file mode 100644 index c7ccd341bb8184c025d2f453a55ead879795f6ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84217 zcmdSAWmFwY*ENa;3!dPFjYDtdc3ppd6bMMV{)L`6XgcGgCw7KTtzk|7C+2=Cub;|LwPZm5H z;S|9~zbTC0o+e7kCF@n5#LHS#lC*U}ElF8abHPHz5@+RY+OlE@=1BVQ`)l}MEVCoJ z+g@2Pwn=I*Q&SrsQ$&F*BB#QjK<_Y(a_)PLyR`4}dhaWy@$J$|%%zVWU_xk;oAw?p zem#Cpv6z1Q{GCC})yk5IK_2OSLt+)z`@yzKS4=kgCAn#N7Hu3N&UT^@?UU#B(+`;^ z71O6}MqHX0J+Zej<$A_nsF8w`bdOg|T#FpaNbCcrSEg&ri@562hV*;yH&6Akjkx47 z1g!%pKd@w0aCq4@so^jTrBgpYNsS<+Ddm?q$#a9Jzy3fg$f2gi>(1ew7R|l;E|z8} zqW={AOI1kRY*fuVhK$T4&FYbWD`}g+)$dP|{v>5B{@}{ZQP9EgEv8=Pd9Z-UI zzm7}A2)I2&&LyRN&}1FSBoEeh?Ea8i_YBI+9m=F^t*66vl;>;>1vXd+Nx_HeH>~(i zA~o{sIw5W(9P}h1m1x+GPmLK+G|xi=V>8~hI2-9hUE;t4OacRyGnfIb7jzoq5X-eo1`nf zbMdEOcNBI!5*3`Y2%L|Mn)sB+l)MS02K95Su8`MYwk&Fv&tIf8WQsr>7))3sn2WDz zXz*Uw(t>FbUrf-vry+V*TlBm1C?rR^oZ>o0Ns@KMXhc|va9d!TA?Ym#{>I zt_gMtC$#GgefqCoymU`MOdv{-eI2A+lK=es%6nO5*!Oh>0R^}3nex#T6kd>rk_3o; zkeHUQlf=)_`)>3ehdu722*33Hx5$F;1>D~|3mKFPm3Xr!Bt(bbn$myduteGC+DF^3 zs4wApmzvkC*d%-(c!PjyiAsW+CSE3<-DMdu^wr@P)Gzv9mS2B;jjHE_SA4MH`xqUFwl);-NF?u@OKSnpo zTgX`?KYTfYyOp?|KI$#3n$5O7eTM9Y;5jDL4Vn@%Qqccx$!uj}glDX#Gi7o$6>QSM zEY10v&5VQ%hIF`tGN{P8;)b^4^>6H`h95MqhR6TPvp>dfv8&8-BJ{vA*a@ zu{f|yGuJZr>W49J{n1lCWjU;mq|T#$!ca(Gs@|%?r~*?suhL}CY(KYwxH&dhXD(ZA z^l|gUr26ITZ;LhyWQ(tsTGIrxRI^qU`<3@bn-+9sdHiyhDYS#jgM=xwsV()j^}(718iAS-n(s6VH4j2yqUCMv_5#KgG~!evlt>65@4!VEto{t z@?3bfU~%~IFi${SKqDPiU?>S^;Oz$H2AwvqcG;oSBD&Xs7v25Lo#KP=L+8UhbOE$2 zbON+I3@R)e%r2~iUy9#ngerJ_Us1mr_(j9*a;_qt36o&+p1$Zv1tpWWCWc$1%>B%^ zYUW%-udtf=?}qu}T-#iKVS;>LmhrFH=6o=)T4Pe2%J0c9$TuFo7^chO)u&+z(?jcS zj5?2)$GT-6wKw1?=#;7%Wrppwebcf7i{ z*0^?K(_h=pC$B|&=vr^=W_qI#Xxw!XuG`Gnk|IcUg#8{_%lMh`!LPgMmobja=48C2 z4J-)habNAF^Is2OInht3H#*ps_DH{{*y(p1nvdaqjrNixS|}Di7KipFetf;bM)`U9 z17B%lL1UE6N@9vyLHYaIO7o=k@`(PlO@xidTB4?uibl_X*3c@t8&y`-i6UQ>++s6r z%gTD2^QEsD>_HP)lSak&RXI2M?5hf6dOPQ4Dv2f?-m&$Yxowp9* z79Fh}=4#DXYxJy+$FUk>Phy#pxspq~tRFo)FR_zHIi0O-r^}7$oCl0%A**$k)?sO%AyU9tL0U-qWL(v`gH?fK4J zZjrh|0@G!^N(7|1Kg_|gGnf-tZg5^!QB<9!A#;x}>pglYDJ_uf2-yYVSe@<7O7=z0CLQw|Peo7Z=apY;3nf z5B}_Lk$Si={BeYT{o&gFe$!DDO*AhEHppFTz?CDa}XUjQZu~0jy<>neaU9esp zTLM8lOk2Kj`b_0?ztvgpaHgBAJFRiZRq!G6Dtn__G#xLUN08dXOQ3lTuDOt)q|u=|u18PLNO^zxveY1vNl`(IN{4j)e|(g#D47?Qt(ku^ovv+AP_#7v##ya*UJYXFCgh zRqv>$*XX3TvMWF_Edf=Dl(%^!r6>R+G<1KIKfl6K zX2AZ>G0bPkiNfzhrKEs=-|5>K8d}+#SUcPXGBp8BO_;t{b5N6g%cE~?$*5~!t!K#S zVrc`p1d7jv2RO7ebkGI4SXx-w^SJPn{c{Ena18mHi4645DGuiRWNNYsAW>^OLl6fe zGb1yZ05S*!;griLI`ET`L2mTF|NYxfLl@Kk z-pR`TKaT}GAQR*lCKg6!rvGglxRej_Esuh!i=o8_u&E_5Jit8!I5=4O{yG2u_~pNM z{NqZs|6a+(%>L(R#}`JZor zaTY-4WBT7Y6F|00MKp(k5`vNf3%_@P-b;l~QSQ7A(ykZYwqnMBea?KHnSY1+LJR}@ z#Y@ZvLUjc&%MYRF(#*`QFgYDiFJEj&A6Q)-vhgHVI9uatcovyP?cSa(|;J(SHA2`J` zX)jC^s~cCDjZ15SP!=ucYKK2FYMMFjPW)<9d0&MX{OP}+9I9yQ1*ppj}4ntv(`f?@v9)#5${>cnmVt2rZ$7FaD2IFzN4S8PAehQ zGuqzw31c);kqsd`(f@svV4)Jy=x7@5A8OErs%2`3$ip$v`na=g3F;!ZT0|_1Zr%bz z6V@}Pl%X3natsC2#G7Mi#OPMx>2+Nt-j-h()GL0W(J21pNmrb=;;Z;ZH)1`uc(L_6 zsoJ!ku|JVBDs?(PrO9=E`7>6E)YQ({cl{xOTZ?Zfar?71v-(l|MlE+IVP%^24yFyO zk-SB=t6e45Ee|(^=Uc<=pP96+;8AcY^&`2v4(c{v)$kkiVBDVcGwtWZ$(2V5-1Jmi zOzVvosyg2j@w-(vUCfx5L>|mH%v!hHZ|r>YC{!t)djMLTmSJi#pi?cW1cn=5Z#Rso z`G;;INs~Q?Is4 zp1&V-C{+6PgWq+#)u~HyeXk<@GvRsOWFxcddV=aeo_%gj&NJWs^Co%JjQuQk@sJ3qDjBMKEa8{tiSV-tqrQ zo0p<@x;f;mmt*wntJBqTP=g&JQ8gwax0f~0u+MV78y&B7I_(zM@CZAekE`-R zilWqp*h~BUAsgk$YWCI zzp`3caFz{md(&)Q#Q!+W*Kl4mhFwJ>jmZ>%vR=Uw^~N@C-I^;qkiE&f@%+x9Wc-?w z!2Skvy=e8Zpgx`OMy^7ScAZTRF>WxGcb094PyZ#I${V87@R`t;bm2Y1{ht|9E9CeQ zgAqtPem`8TqTjB?$tz`XyB1k5HZ%6M9+QcM)|zx>iG{iB?tRZoD-T2^tl$6sE{~^G zs1m;Qcr{9JhB8q@?|gUCdH9RByloq)cC*LDgu3;IOp$;h&)W;R6u8}U!*=cO&c8E+ z8SCv9TsOIeSF%~b{K2sx>3lX5&zmz_OH%O3=8!e6rbCS5-qi4d=cOj^{n@CWSQW#Q zwRQ^zkt!-3eDa+*%YfAs&UR+jk4`Q3oY zgJ+V%YCgg2@$i(BOL4Sl7CrMmOx0RODrm;CI|r;Kok(xO^es5)Vex){rtvQR^+cBL zw8He6#XuVWY;b&~$*^8J9FpZ=3il{GaZ0vt&-K-6)cgakmP>1aN-+Tz#U9`7UPUU+ z_34nHCO$X}mts#Rpt#C>vR=RJA(_oMGFjUfbSzF0n2&O?l^w++yc)%BK0!~B@+DoQ zeiE1z%h7MLrf{9W*zSOl6w@<)eP!=Ywg1IF>FQpDSYPHs*xZxf5u@)x9TPN!AzC49aUg`u#A_C8dFW@Xx*R;CdPVzZd zCf=YLl$p)`Zo^Y2j#|EYrpmm*GK*TX!Kv!@uw^kf2y+-jCR~qw(T@HI_ESR*=O(~s z-|!kp<{Zj(aa9y5NaUnyzePIsO7}kZ6!!SRZ`k+3yQhiOG@S>X?}7bf=-r%Sv`yT8*gyS-P20`-xfdb|Y@vxz-b~!zv9Djlm)){8<0vUVzhZ{Cm7f@8~{ybpox(YHmEG z&vmPunZit3RJ5IA*RtXMXM6MM)ARv*82`%R?48e*4eH}g*o#u*1YAaCsKhlL-b*5~E{EVvwi5+H!Uyi|umWIUUGHzdSdk!rzg<((^*{G{|a_KMYknT1?GJBmLofs-l-L z$?_ykNTT~Zmyjl7_pQxWE|JU;#k?G6)PA$_AVO>Z-dB49uS|jCAe>6vBhhAwZ4`r| z$?e=u1|6GSSD-gXDlTh~JY_|N2>`_i5&9+$w4dRbB>L%^ z#Dk5u|K>z?Zvb|gSM5bp4^eZ0*dHqZbc-k%Z$RQ+MgL^UlSPYw+6%2i(*8hK{{T3H zXV4+B0~z@|e}QJ!w*WqF-*U)$dV!D;Ml?Ty z|L-+_l6N@(q_r7bZ4ccr9ENhk{?B#RFPOBO8aNCRc zQb5vn7ooM<_DJqKWtD>WwAAm-#tRIYTJFkuFMyEOfGGWNXPYdkoVf5O9{`Tm7-4Kx z7r%1Z>IEalO|`>IZRzxNU2mpaBM{jLnc&8)RLorLP3wo@GF8tvI7?WXwFjbFDG3;k zn&;%PWD0&}&~BcaDA6P=lZv(GiP$p-B! zjDCrjYP8zh?mLditaW1&%=PxXEMU#qJ94)n4;bQLsaCW!a{cKAYF~=7kW#*?3 z?0!4CU}cox!xR!$$FuJS39psQ)vf9}Bl%7wapzqxrj0F6)_SYG?r#*Z?#ltV761XU z(n2-dYS#@S-pCR!634L`Xv$m^4MIa5-|fc;SeZ+xsDlhHe&MEbCc{-~t_}WakCf?sImR=EXn~B9@ZJl7@qmptILcUcYH^kX6na058xS zBNbi!h3I!ja>G1tw(|})D@Wx}Ue1^42Vo;1!jTaUTTB#v$h7l%g<|;OJj`CT_@iNI z<4LFtcDA6vO)K4b`3Wwqv8twHLc}Y6o&?bG`5X{0F94|fZ3iYRB}Ug3BMEBU^2zF8g&Jjs1>1v_A`mqVsn!W;iv!wJWy@ngpG}Gh{Qi#{HGn*6 z+*7By=;c2bSud_xKyEVj>p{taAl zQ1Ol3bfg0VYP>)>Ox5rkQOoT?!~WPidDL-7U{N+~1uqJ}#%{~dsI&7*R1D0GD9e>e z47>=kw)qvzRMJm)Y8q_kQmB|681~VHrNc`pZ^7%4a;pv zgJ_EXYRS)P5nzirJUDYl+xA7DfS^&MP^k}$u@#aL9O1szLgO^jx1~C;0#_uv<;)wi zP}L(M%dkJ=uMjI@M@0N@qz#j3)=u+U78v=ymt+C1_?ENPRY3fqYE=8yY%C|O5Ut>P zzB69@Hiu5JiL7N#?LT5u2kMym}|kZJ$|&X|ZX0;t9S6C~*Q?&&oQrn<1r(=cLAr`7ynV4P z1G-12c#^at8R2*=ZE7%65+q-aeo4za&)EhEvX5$!Bf-2LN_Mth%Cnd*$DBp^9P%DC zQS;lL5%aT}VWSOFX>vSscpW1))mxiW-Y@!Xc5SV_C(D}wE!F@YxnjIbqrveFyKQa6 zojH!l0-`04gSMn@+@BIlu#gcT>ApSg%*zUjC_i`50ga z(@K9qY3;d7GEUo8nG2n)1L$YH@;49ejbwi&>)j|Zcf;+a$FDIfU2yK{B4Td>LQVmS zl^I6S^l-C#;4ZO(gbk-dZw_#!ts_-!&-LoMAU5MchglBJw~`~ zwH$huktlm&%LV@ynvri@=*D=W@!%UWVQqoC^Oh^rb&t&uZSJs;3n0na6$Hl`W9+JL z(_+&}x7i9Vr{;PmsSS;EdEx6sRv`L3O+|JDK3`(6cnDv-DEjeo2!mWJT4ACT`6W^2 z<}C*qewJ~oFMJHz{^YH1+b5*0))$=Ky3EI?ws+0pjj^vbA`agyCoi&WRQ`DJwpTlF2@G0GsdvA)UcB6V})y10#ZFrdKo*ztXYi5^B=Q_ou+g%*WKcLcP>dk zq)p{fOwB|iibg_s^w}ZX@jx7HCtmn zAP3~x@#4Oh^kca)xDAKRw{s-``k6XfZl8~0YKOBSW8+$Tq`Yl;ycN6*2zq-*O*U4l zEqICDD88}$0-&!*e0>m25a*%zy!E84I!P#s=2)fpBfCB(%wPEi3}ZW5v-Rdw81Glh zaTlTJci|YuXNtl%3P9QyS=7g(mvC6h40;uMweFqceB4CUY8`R8xGzi$kNg5rC1HE^ zSfzO;@tKtVE}$7H17J#)oq6@^_2&z@RGwU(v|)iVY1JbXtg7cWuZ!Hs|H$Rh?TBkq z_z8<~3j$?WxY!lf%d3r@ z1TvGnZ&S0~jgffOd%`jPXOss}cD#_twmN>X#wKMt)TxT3-|0lAC_>A3)u)j*1}=Uy zj@(-2hS%|WJ&}-Bw?C1I(;um;rfaf5neIMe`}vdeCCLD4K+!hX_wA}py18?n&|WgW zdfjwO`Huw(qQ+LZQITur1?Hcnn@AtXcutErLwvCiP}KLCAvu!Z{rf-87lJDf`b1T4 zjP6|Z6d{ovF+qz-pV9mUT@C1fK3H^?c8NXJ^eLpzp8p@G`g|$0KBn|weex85yx$`Y z^K~mN!9ls^31$fv(twd(3=NZne=_Vq7h^wxrBp_g=btQj5R5I7WPFEM&L6AcpAy6e zDS#@`Z5LQQy{}I#K#5k!l>Q8~z_Cve1xPXW|JoTWN?XkDPiHn*NCgWZT+;Og>Q6=y z3}OTZrZ)Kf(_sOF=zu;NP->1prOjj*iNGUifM5SzGf4pYSRPxlgY&eP!7{)jF_OJ} zS{s23Bo^fdDOJZODB}}i2PH@m3pWP&?-`*4`dE}xSpV1LtpJY{^8eRi_qnr`$^XwJ z{Q_hu0A;3yf)^THi$7MGspKnUzQ5IP0eF=2M01i_r)9d{0 zWx2=egG$IT1!U$TAkN-ueRyU*)#zH`{_J!!YVXARNEF~H<;G9ml>68oNZ;PlD=3XYT8ioQL?~~&{AM=-6W*a($K2Xov z_XLpIfwPF;GgK@yeQjjfbb}d_JKb*shc*0`CrJIDX0|?j%Sa57(Oz!VGrMyC~bK&65Wz5oumG zrn8l%adct&J*Qh@mMvcQ5E?4CcT$uBWJ#yPrb`~uune!WVTpZ!A+Y)*`F;afC8V^X zItgg(8q)xzZMfuGzFhQfA$DDhK_VU+Z0L}@;jALD*;xqhkbb}Ov@ z;XFw+n(uUg%_Rz`~x4ZfA z!F{ub5_=GWy?+&JHcS`|rr^7g%zy@Aq^iC7qpTZo1&T(kN3{FvL?WK_*}&Y6wh##kF!_`3BI!E2Vzt32|jm9vF*Zl0%Udr zWqYY&T;aCEQ9z6*9JudqFEj!ju4nuAX%`n+}_e#wv^H5pIold2;MT zh~m+9Icxd5w0_r|3YH%7v^W$;Y!k~{ebH6;8=WyCntBLA) zMn1)b2P`1%0=vdK2q^_51Lxb25*Op8A;HJDaRUCZZa{ft8juV=e@ok&5$>A8;1 zU8QkJ;fA$X8Av^a1K?uLzrxR)4;SVEgl2p>XCKudn9Ac=4v|O!cE9??2`Jo3Dt`E( z<1_EF8sP-!0KC*ZD)(Sif%~&})LbFROVO(~+P0l92W^9pB3*ztE;ZW==vPn&sUpk) z0-ClOR%^hs{|Mf8f-%-LobHffm`ju!F}hJ=Rc2c;2 z;Ja@NHn;;OlEY?62=~1HY(!@MoXu=E9e?oBR2@>*j3DA3N#zAJX$X4MbljbunOMTy<#N=Y9tPq|(4rt&&}w&- zbNWkxU4Wry-FjgA_`W)tG8-Xk`=Ccbx^W{F4lwJp3 zctduxF`MmdKwGH_698U|&a!jG?`pJKl|DyzfWoEuz9UZ-6KVZ4@|ZgVea^gk8>M9v z@App^x!`vq{?(yn+{uIE&1emLkI_$jwnQXi;npfUW#MQ6fxBHx`oa^dU zX6qMGgq(v~ZrhZJjD7ZPY+{Q*;cO#P;^xp7h0$hsX}LX!&{TI!LNNFw#w{2GA{aO& z>BaB_s;vezVhJYNZtxkn6dKemyLFK^t8Ujw1edq|*m8&mBNr{ex*X2_C(+_le0n!P z;;{$FQO>1z%YaOtf7`BBYonV;bqY`iE`+w1h_{Ep5^~5M0rOtLMltJF5(II5jlgH? z;zr~8ED(Sagk6U9i>u3ZA(Cf@re#~}{th}tH{~%!Z;1ag z13LB_4SZ)aXWJccAqW%`4)`OHx-l5>B3U+>wV#D4KMErd8|+S&qI0iv#iWE~2b4wp z%vUWn$S3Y=%uJ;e92~lXXZ3`|Z1=;Y_CFWE|ORvGh87{hR61O8Yo%GRZ zCL@xjye6vfLl>Az*dz*n@%m;xVz(ov1LFnPXRYWTQEotv>iRbCFe)49a{7#OFwgRN zV6d=tFj;u>yTH}(7w+V~zLa)+ytg=|`$xCk9-s|t49m9b^@=Dw(J^Arv*81Q<*B#} z99rKHg>3r$lSXE>r2tSPo`DdN3$<%+ETwoKi61T^G93C4@~!PRscAg{(VQWMTa4wq zl9dNH;kKsbdd9{hk*{yy*oQD+@p3*6BY+Wx1hbwiwx9lFo2oQ@cjWT5I}dCE(b_= zfJN%q9XLdyxc6{>+pw6sd=6TZ%wD}@@Z&(FQEF)9LT4h`=J)l#^#-tZ!w}(cwPe>% zMBk8W;k%^(?RD3xzs5Irhe(#45FQQ-*<|}W0QoFBYE;9&Z%Bw zgquAm93>&{fy*7M3Rn5cMK_q-1BE|hbk0cfeCs#?LD$aFmDFa&G>#YR)9obj#Y1f^YzKbaobTRd9efbKTN+!T*Yg@nu}raqdmh7+VqP*YA;}d9 z`wQLF&kH)>pBz#)6Y21{)Yi0tFPif+_L>9{a}O}7IH5fjmNxICsMfHp3vSqg5QF{Q ze1f9MU$=VUVOoBo9&F+SbICCq;`a!h9ldq=281t@E&Sun-x4X-X{uzVd?X8aS4#`b zc*2jEd3^3(gD96@-?s=pT(#r9U$z$l4@ub99`dON>sW*9^08O#gLRhbT_*61BH9Crid@F?B&+NT$9sF~Mb+f< zg6Vo8rx7g7%c#12=j1qk8{P=fI9mwJceW{x;I3{GZwtivrKa}fiy`QJ+W{1;!A<+e z4s7|Wg1JJHYwCbEU&Ol(G03R3wr)(&1}ivcvPk}sRg_*dfpkf-P!v~6gC1Oj+iX*8 zvs#YBgRzGR!M>aw*owH}n;62Y5xZw?A(h+$=yxS+&Nd1!6w;sx!AL_IzpsefxCIgt z^ugA5hbubMYO}#k-txZdzNVTvvVB<80PEwTOLzexT9-jl!-7Pf;uyAlcp;nUG1{$& z2vl1NS0)JFTus)hxFLzCFsQ54xZ3wV^z6k}rFL$FTQS$2?z*;C-R4k|{qyxU;+3U}^?r&Q zWSNn^C2S(o%S|@7w>QrlF>!?z2hJBgPJhY0VDtVoBz)v*)R9`pmje$^4&8k4ACz}7 zxulJmybyCycyfK&{QU49U*|uG|*k({!f8qo5jMdP4K$di_+H`ozb3 zDgHaOqYc4JzC<;OhrP>z=`O(2aDVvWqO6H2oo?r+uP>b9YZ(%Ni=G`TnL?1W4cwJz zAI&LH;Mpef62J3sgY%}qk7(}&c~3tscV(h|BaZ3cLp4T2z(qjl#u&!tJLqR=3tbjs z7CHPS?;=*|A~8*}nsAcy^{Ni}j5D?(yj@z`&Ue{knLgG^+>2M7K&6(3Rv|+uus&Jx zK3t8QK(bwT+mOpnJIN(7|17(L%QO7NEuXvi_mJoa0`|V#An-1Tye)^5B`fTmzYQub zDw{fEU5E&9zN+LJ-uwST@I)%eh4m$YEJK84#IoK z<3i$)bAS2ksOSa}CtX`Wf4RT)CLen{;9*+$#m~>duZEywVAJI`X3=;y*x!-a4w#c6 zw{vtI5+0^B5Ys+ZnGCmuNR9+w4McAQWe?~eUrr^L>I0>=%uc4@v}oVH(>8V+hB}HhO(PAWxcC)uzdXgMr*QZWVu9$kB`C*d-ttQ5dV!1W^lz6? zsX}tXuTNsMLegUOg09CDtLrAqJAhI(MVC}AM1BF0K`Rkl=?Ch!lc*8Bc=!~DET&cc zDB62-cL$9gibX`2h4(h2%g0cJB2Fu$acK;mn1q13D#(dB1zvEZ*PW_wgmF-ULQy0s zBfEWVOft~Vm;6=QN38D_ zh)V~&e0AJqW|ec@!IPHi88+!ublc7DhUt^B1XUq`k5DO7zPOz3z z`Bkd$4$*hVvgfv~rxM&7o;LD+C@-$;o1!zHpK^cE8S;3R^}RKo|3+pkkeeKlJPiRS zbm_G7wIbIY{bv7WpwwwFVqdJ1_!?R5r$B4oVO6Sew#9(@Y4N?&50a(Fu2iYv(8O@K zEiG4Xv9_Oc&Mdo0I)8XDnyAQ!$QPG z<}%>Q5MWA1Dn)#@a2xVF9%<M_i{OyxIrFc^I0DJ1Cc z+}dvk^52+(-!ez3wxm-G`rDHsrg3Akq_iz{SRY(l*354xef3C2luO|ul3V;HxS@T0 zB0RF=;Sg$q68Sm?r-c>RXwgHLy;8Z38Z?9Qfr?FkZ5sh~^JNzwXL$9k7`z95ii-Fz zTQ5xGNn^fY1wB1kYgF?o(aMo{D2;84Z5t*E zp6@5)AR3S_D3+YqB5a5`l5g8FXH@sO9`hH>UP)Pz;8^LNIeLG}6>gKW5EF_amOzZW zC=GZL9(+BR(=?xCB7QRF7ViyU-Qwn7+efK^cTNy z_(#Ev?uC;0(CA0}yF$f6x!?rbSF=@eJd^M_>R&r;@;80WV8_N=7`2X3SskxP`~d-%yt)~WZE z(u_$l^EhJam8t6BY$mWBr=${AyVZ~Ik8W3*#J}R=>=FrXQhrP_(d$SY+S|ku7C8%a z5Xqt%pw_jLt8}GkCK=Yk#BJ@w&q_GG9ep>E-cDy43a0d1y=mRo`Cv&c2S}y1DzE?a z+(t{m1xFvjrvhG`ZS&_`AW0tQgA^$S16lSQ!$5C3UPTNsp^JzbaBuVR==7f=Gd{)7 z6fCa?I&tZbZ^-M(!XRz)5E5hlsm=nrvZN(>D&xr7%~G$&WDM|H$~r_1h`Ilzvc`fz z*0D2+Y=5>7ImU7*gFCWP z|N6R@48T_OBW4nRN#v0FMX*}syT88v0BGK^VjuVaQmes$E{}y7=Jc0?i6Tts!GJyI zpJDll{e{yy&2q7MzQwT=(E0#FegVWrtF#|=ZnWN)Q0;bZ#=GcH24BiiGkD+t_qYC3PS^(;*_f$}Kme*sBGeN2h!Z60^ zo`5y2nxU4i(sM+LdKzHdcy1)-t0B~BKOnS<;Ejn6;3x}Kev_$x$HNC0oHVC_^6NMT zRd2Oow)iw)|NY0O4mjKCGdFI}wpab%0)_Rx9`dNl@Ua*L(P;&f>3Yj*7t1x{T#XQ4 zl`4nj;HIw^m*RyUI;6aS^Zr(USe#C~JR?DtmI?cx3F=9LixqtSg^fF373kx%PzFSy zF4f`}eNO+evgb2{y3wNdV-xBtzNs0&ErrV8_dpebLpmTGPZMKf-28B34pEV@DS~5x z4%p~RF z49B#nsL{+RF`AIMwm9N=6#GG`cUHiRUH~Il%i7?yUrxYoHYJMAZ;(Kz>SP#_56H;Wj3=VR zVAWUddn|N-oX;ya<}3Nk)QCv%?x=k~&HccZ))=A*Lu^$gwJXRF$=VWd6<+{Wl4;2P zfXH_~O!i&)#7RQZpox7;I=eGj zY7OW*HIc-;^$(ght?(sGz$jM%mfsJ6yjd&~fc!qD_~Kq)7BI4nY0|{$tgU8poEHh7 zuNhSTTfAaI)q&FSubQx)%;F5v=#s`0 z>D&9uMO5K(_e(2?@fvV^^nR)FSz01e8ipA1I1vnia)=Y)XlO9&iX`4uDg#QthCspA zX7aM1sbwmHb73ozNvm<{{5Swt%O(rH?2}N&qReM{DP^OcXwuAhPBLlEd51XL)D zWk*nON!Ix|v;%c;&G&wnfRa-Qm{fiw z^)0xpqFz3HR<|mX7rY92U$LU}LoP zdgF(p2r7YZ4KTsuvdO>}%au;B%OlMo8yC(AJc(cB(Ro**!CiBho2Vr{ZUAUKdw`9L z`6m2V8b9y&@t)gh`(72!Lxt%q<7~Bl4ZFP5_{UniLPx6)?YS0!Rd~#4e}Qh|bIyR& zheo49VwK`r;&+!MD%8YEGjjRfI!>CAGyi%{5Xm#nikU%fbU+fEX5WKFZAR{2 zt6AJuz9!mu#qY+Yc(j@B{cVRP`_4`y zGRfsE*oh(@r#2+&TJ!K~kTBW4kx`O;`W3CLWBY-b#VC%2WZhxIev^7+uMY|d28*;mURCU^$o~@G-csm`b`W}gRPTGw-LXT zvpUyuwGze{5zI{yzNVj}O!~Hwg$Y))5iTO0(mH;Vj|{o_6_c6={-Z$c9@DyC*B$Ef z;kC^lS9N4#K*)NRn8t4M8*~cmc*zTQ!^ zJKK^uy^C-K;q?CWHoNJ@+%QSk8tlyMJ#bk1v8rI!KtN8e99;=ca*4%8(_Et>9`(wr zY+aUn2_6YykoTLfqnD$Z+)nci**`^bjG#{=H7igfx{xwA^{4hlz*dm>Ow2q-#Z@A; zvJlwaQzysV?UN7JRiG)1;+2PBFL0-UC4PsA-nyEynRqKUcLzj>k^-QX1YcPBmEFAl z5)o-M8LAX3Lv>c^pgts-1QBV7Xw06rjrXePqbD zt>*YsCxPR&KhnKs2rWVIX!@+T4>~y?iM5%| zwPK%jt-6=jB`lvUGdy%lDU4_vUw51tp;wI7a=mOlyU zDmepoJj=d#+LB4G5v|Irexa%8z<^V^&`F>$W@^7V=oo{WVn?!lv>wH^f>^W17`Ij0 zaKOX6lb@}`y&rErS(54rlqpLD6SdsFtDpDfIY7)hR#o&PwQ3CEu4Gz#wv2@iG02@@ z7nO+>zI5@%y#Hb_CSIKR?fbxuC=NoR%8wXCoAQNot zyRswKH?5}^LHmA6R6o6AS-lNzR%A0BiWZfW>V55{FM@Uz{?(pquoZGBY6PL{y)b*k zVU|UpC0?D{Q>J;GNa13Vo(M_5P{iuHdYS1fe>aRBO4{lzPt$2R(o zOiGzwIEB}sNY{4Ps`NTT55kB-TtILbI5~=C9n9FRrS&_n_0tgV^<(ez^V9qpT1~KYFqU+_Hx2rrXKugzMpnW z9sA<@BK*l?9P(A~Q2$(kW=x++`akeg=mcqta6WEGg8`W6oH(c~9|xL|ggcF3HRYug zCSaRdt_5W*LBP^amdjIlvhiPL+5_+*XQ{*k`=GY=6jZ9wTUVy$S75ArQoT4y?>pDV zSOW1-e7fi|CH(J3h!sa1TZGsrm+Q5ST277|Gx;EJLwY{CHM6~zV#Et z9gTu$lI6}=+glI*FJ_07_#@4(%jA zAq#6TKsK#gqT0oJLOB4Z5ztDnvxMirDD*#M!AC;~pb)ro2AWTIDy$g*t^8lRE*Zb( zn_MLGgmU<#K(;$jFA|^2J|PQs&_Ha~u!(aF`Lp9>(Q&|VudOv?H$Sy#GJ*gif?`$9 zsQ9!Mh;WkP;XKCqbhzLl!__J~LHUGo2+2_at;8Kh-aOroRrg8gLBl2j81tTSILQ7} zAbL~*o`jFUYiJK27D3241MCicr)ds=g1Pg}-Z<*&mY_f!SrlrLSVu}67`7z&ee=&XcIz5q=b05DO+8)b6IK>(mNtbbOw z(C(0e_%r~BS8cy32ibO*3QBro8cPfq7a*qoS%_N!@PwD65%Z|sUhI#akq;B23tVN~ z0}!F)3c&A{d1-EDTkpNKMR{Qe0k>Zn#LNJ(mbBV2H6HmA+x3u^tO3Z|2x9A){eRed z>!7UKuWi^ME}9FFlui{%r9)Ce2@6mF$PaZT&sZ z``q`;^T#*eU*F6-!zhE}W?$#t=egE8)^Qvw^miNfm)7+Us7SMT=f=PcAlFOujKP6E z5GWEDNlapi6plASS#uowuQoZT)581MtcWr5Gw!L-IKmZIS$NP>iSRO@GBAdYHcv8* zp6j~r_VSS6lYJ-bfLi>ELLE4f5S>R=gr~_wCwxekKs9Wez5Y{mYY%c1pibLCOW!-- z^Gxfz_7Zt_C^M&9km8CCC@0sZ=|TEB1Pt}}$A_DQ7~g@?VHhXs=%AhsT8K#%LV>v$Fqv<2cidaDa+8qer{+2OU{L>o^N{F z1!yxmK7O4~y8<42qt2TvHpHZLUHLCBfL9mtK`zrLN0AnOk7IBT>E|D(N{l$q#yNmG z;M;EZXH`eb@Spc`^rdEF{9m;kMC5!Zn|lLk7Gg#0zaW%-c+-qz=@iCZ8K<^0k{})2p~9!{ zNEL|0x5AZIU)_s$qj%ei5S1Ogkp6(*v@Hk3vY(ZHB%iUw%FcydhIPfsZ)o9HMhHjy zeGQ!p?#&fp4r7Xnt${O`IJ-VB4aYcwD|nJpQ_k`VE&n-W34zRL`?Eq#RhHor##>IU zN!c36z${LV_J7vMD})a=phUe)fI+Mh&VY)xyU{{kx}SQ*_p>+n|c3K+e4`FvBW0rv&wzbDM~_t zp90$*^s!rkr0mq^nAB5LB-=4=(qqR-ptl)ccxfh{g1*PGPc=2!dZIQf0d-9lqpu}Q zu)UVwSFfaIspU%cbHf0EIc%m+z@b?Ysck*nO-(eg94x@Wi2#;X2Yu*XnPCHNQ;7G( zrYx~%|9FkJ%*EkQkJBLgG4E;HmLk=GvZIaG5%KrpE)Mls6>uD=+)|CVHp8pmRwWikz7<0TTix=G+e+vqXogZ2 z9RX&E-TWEAPv}}|J3XvT&_ar?sf~L+Q#h{4e1j+Xs&3}^(mM|IT8WcAqh0U4>cG>T zAuAnO?+sbjKdhQ(PLd$&WsmL;HQm|=`FtS|TAF@rCSF7otQi{Z!e6!yVW&Iz6HC?k z6FK7dd!h^_8tvM}DMa3+slur#v&w8)4m9td=BDo0eSXza3=9~;WP5F?jI! z-YH0oRqw_&qc@HB3{G$j!(67Q4oOQIk+MU*LHmt0EK^pP&F-by3Ri|9OkZ&wjL;&OA&S4Y<*T${~5D7lOl1b(6r;8i+JP zO)-z_fsi$G@o`r^-D5MTW4*?LlnDG&5wao{)_@mEQ|k# zUZP2iMyShW8a&K8_{Z8D&bD;+dq_jj$Ko$q%DP)z%KoqEpi0b z&EY%iyOMyYu=+h)s?yby;iVUH`aB*i!_W`C`8yd1cc`PUI7ec zSQRmeI7|r@x%^xum4J!%$og3cLsB_~u*D$?qfcJ;oDtnCiYvKHd|B2$r_pO+okgoI zz>w7T@KQc1lfHDC`z40L;MUHrq`OKp1U7nm%&$PQ@MpqyuQ{Wa?NI^Qw+vI;>eThl zLpm|`&z4XI_gp0ij{de%wwMX%7*`paO=R~<)WIMAyE)Dhy^Nmu;a4O#)RKJ}IGuVS zH;*h`byWDX@Y`P|7p~$r#gtNWHY|kTY@qOyIio4KPMiuf77Qft%(Vj;?!;-Dzd~Wz z2?RXc0+OUasO^%I24?)sjbbl^D6BQwZA_l)_?0_gY#FfK6M4yD^OcC7L}UIkZS}TyeglcXJ6RkRnmEVc7IeSV&`stTgh>l;i$m|Teb!Dn_#>$=4TOT^q8pV1?Jb=FIb)ag(VCsj1A2U*1s3xWU1Ds1u&;lky8}N zaYnSgf0f*x77U4jD+6bAZvP_@hwO3<2-@~z06|!NBMIDV+R^B z1Fh1J{!xh__&Y2XO=5=PpU?OQphrq0&kFdZJO4kr^=6bOB(a0RRQz|25o?eBD()i4 zz0~4dK%4yTOWxKncjaC!god|jG)SdVYByV!7Z2y=kYPNYKe9!k2SJ-3OZfL08cTQ{ z#pr!}@^{UfanC^n&*#!9lg&IB_a-W8qH}2jaQwo$ll5!>n%M$GhrJ~>Mo&k|3MZ-$ zUtkl_SwN9QNZyVfLixsvyF3h|6DL_{2NM?k^Voz15zIH=&mwjq4_~w0PL4nQAvh+a zZrdqGA$K+9KlV{tGB+Y3Gbg@0L>?o9GS0n>2R{OF>lNa~oGlKv<{kQU99es2>H|qF zyHXVe+>iErT4sHuW&H4S5n(wnr(;Y;k_cp#A@9k{B)I=q&QFXKfQh_wu`N&z6O zqZPA~$sEA)&jXc~Cg8!DK!$z*zp-O|X^_Ewv3&EV-48wJCUE8PyY5-DH&z~PD7%1X z&N5^=#ZXp00{uWHNT$@kDgFM9z}Qfa4uYl8Z&}nKl!#XFSj>7hpZ^u9Ff0NwGSc4S zem-*dEWXukG5k8B`y11C*@*uKpo3Z<%L`G!wYwbfs(g3UMJ3h8@v=}@DmdNz%rzT> z>UJ6Ai8$QxTf4IM#55=l3lME`y@9OlBo8TlAfd8CS`z>qJ_Jt`L^;7lLYAI__$xil zDsB9=4ow@MWTx|2_|}G>KtCR#(k=0yqXDV88(!Y8KyJ+#^X!a9!C!A2u0h3H)Zk5LGsZSpmYty zeajo26dq!tx@dgpmpq?;ROu#5il)sn>(4RZ`XW<5I~m07piY|1I#KlG*Jb9~`clLe z;C`0&z=a9%O~s$U;a$7C_1EEpK@oOzB*w!Z$SHKgltkb5Ad*$t0tDGv5AS?k0g;4Y zXN78lgu_gXnTV9vYn2`hC=!cZLbk_*XJec*2{D}&367qSUA-vXkekQ0VLxcObF+9~?uF~Hmv&MFraHVH7vl8eG0F|%E(q`^Z>G0J99t`4#o&k&&N$yUF_NRe+RrkH>I{jfxLX!f&Xs9nx>rOx5hC(mE*F-cKL5 zD4a*(b#+4zlxA}aiqmgo+3?B@)cWFud_T~BRFX@4#uf3w610gI=E&4`s6LCW30tu? zXz|ZW7;u9GCpFZOJ=fs+-*^%(ajxyn8u{?fp%d$i+Is8QO+-)N=8qFW^0s^$`{}PQ zZ+M02CZtQ%DHbHG)Ct~kcK?Q z&Ul;~smbKm{4m$h_tE_;+5xg636dTNtU&9&H<9$wlljemZLds({kR?c%L{o{|L5xl zKD<68=R*nq9RkH61ZJ9LlK-uP{`*fuh`WJjZ~FiD5B`3W7Y|{+m;V9Yzd|D~kPhl! zrpWy3$6BfoF&C*aF#i=XDdF)NR(CS~>&O55y_2x=j?ev1zdGc-=tW@47mZJ({+Syv zAU-RU*3T9G_2WfEuP1I)_&;z_NbS&T)-$FA~rmucUMlKQ=O?0 z!GsR8f+7sj$?b36JjpMHHdUJa%}gGXSp=NC;dxGdak$d$8(p(hScZhr8a@34wD(yNYn{9o3|Ct0 zf{O+@m-b`0{aofSv95TKgM(?rY9^SJ^n#U&Te`?XDYJZV4zE$8CIDB+daaZ_Dzcbw z0ZGo{1L(r0&8}EsTOXAcBOA*u3w?oB)Zuw~DY-1et`opXD_z!=^iJbvoBU{zE+2^2 z1_RHJPT>PWeRB;(B3nPVW+#2VSZHoG=h>E@Dg z_jBl##ohK8{wDZP5>26Q;3)G_)E)4=L#A}yDc&t#(o)?l@T;^DfVQ~D!@0uy84p5P z4ddINUz@V)O}Ri4bHSen|$iKAVIJz?(k}(l6gGH)~FySRO?nm)>G4yCs*a2rK;oLId5CHt!6l`ZxjEJlNp)CEzU8!3E+24^2!$x?-9P-XryGxHl7d{v8 z-oka!g=mTmAB^1Gv!)0-xtGVmFCE zW)Jd=6~BR|omrPn8UyWfrY3iGlv%#iw!ZlnujY~J3Li6c`JX`*0~}lv z?>s{#IvsTvzbP)D7RVAy2cBv;#WDP5g8+rj_*`T@3?Q)*Y6N*nJ}FZGe=QGd0K|AtFvaHQ|?t{>1=nG>oYHyo3DG6vKJL|kvwvbh6I-ADd}w8N`D z2+e`G7CIJqZl*d-+ejZyF=~zx4y}GG93I^70hh?>V#bLiL+O$+*~!f8d(zb9WhWq2 zEkc^dod&Uc@Dg_kXQu9k@Axve3HZGZF!JoENn)<>Noxk?!h)`iQZ6_xwaRfL=)2IJ znrlphtjW?3DYoeV<##we-u)I~Ew5(t1bsKPlR?P3B+Vb)yY`$}e%&UXH`e~*ldLxa zymuZuh24EcdQ*f(h4Z*ktEt8$>b)&C?elOu2e$*lS!-Ht($Fz2v$*NlOByx;$4%E^ z`C}ZwgQ|qiIstL#aHN&>A?MazitR>72DG!fB(!^weCvo%h@!v7PeH;;P5p7U@*X65 zS>VE>HX_R+rdQ0rBq__W>+j-i6j*~7k)vO8j>2=G%s%6Ow(baE$RrCgn%B)oBVRP; zJIy8ef1=u-eK;rCj_)^q3}AX(cgUHYzL_i2!qfRR{A6?yiK@egqAMlLEV0l7w@C0f zDJAXhku!eP-V7E?BPhvjd82^tgowp$w~(!t@pF>>T_2T4oqU;hRzAE;NU>@<2S0pro&y(M8vl&$; z7>iz=n}~jW*{9CB`?jDk+FRy#9D(f-nmYB##PB$3;>h=dm04%9+zPSzgJ1c5^_v=vr~Y^M;4~KQoY-Ao$QCRKb63M|yuK&Fz^A}IA;dg*@^GT2 z5;w{MZ7zA&azN`5udb;I#jVo9IXO{?1{+z<`#CwC6*0RP} zaXUb46TepFb-2{PzRlC;d5^AZGC9VIzn^_(U4PiFz8TDj7DlIrrxMu=!HL87ir*ZL z>doZSVQ%*$G17#_279bSX;zf>nE%=}4p~Yj?5T%NyuIo*nvR2>6P4~xY?dD#2k+pkn`OGlu)KPno5=Wf|H#ml&YAw& zLA4zlbfOe)k5>uO@NI9;$HDRE5q+j~eboAnx8J7U>uK7re0PtcI#f~etx%eU&CCjr)k0!hH#t;2G_#U(Dxp}FcT=(M_yQ8#6 zyOMXpiJ2s({nd}Hjof9C%I6u|7Jx+z5y4My?h((gJAfmu$Y-*q3!8*IlNihwu*mzg z?Lu56jhn**q?>7P)p`iMn{IvQc-2NV`t?iZ;QTg}IC-$rdVHr#tizp5h4eb>xtLXN z(p5}O{PMa0hEfQHBZaoyDOB4p48~jcb}H1?4*3_~1YjF(!JfCh&(w$}p+uJlQ}4d- zxw^0uDrk?spX#1iA{C1UsrtYM=>5zF2}i(7y8pd1RRYXIx$gN9 z$d_=J%`qVr4JlD9zvIeqxOeDlns$z79td!zkK8b<|{EnsRT3P<5B3ZHKnxy=NMzlWg4#7@lqPJtEA|qF7f0ZLdWiT zXkr34@ue4JWQ4&-%zGt-GsXp$Lju1(64M$*(cg@4W;$^;(BtvK{H9+~Nz&f3+q4?C zMV+ofZyo@hEfi0e8`2YDr!3WFattndZTe1KCV+&1W%@^Z{)B{G$V4Ain1TFZc;_bZ z%5b{^7JU|;ylbdJMqLS3y#1YTJQC+m;u~E2hH=m*Q?7TWy=E3S@R@0Mo4jVtA7R*v zLRvd~f-!d>r!UDi9(R+=bJ$Yypxs4&&nAoaqKH+^J&M&^OmyXTlii|}%k@b$iVc)+ zOs3iH#FuwZEC%mTKbQAP`RGoFolZNNHYR#`{lUGB*?O1lWsKHbpQ|(3?<_Im1P`it zm3Xc#X5m-dbPrX{|Mx_fJEfxFBuo zt{c|(j$QFC-rJ$I?@{Lp@f9JKlpqLFUsRaszTwqmtuV*@ll&*zj>tNCo}RqTh$#Nu zoP+5{JYJ&ON1s*VwCnxKZ2Hj;YNjf+^K`WuP`X0VKkhJHklMWDA`}OiW0~l0_VhaN zBq&^|?DDwi#BJ(I%Xz!?*mT`np%XXx@)1Ueury_8_G(zzr!~&TdR9b*)V!aK;kN7Q4Fq@dD zf_Pj3OnP<}=j|B5dp)mx#2{~kIh2$@y1wS;2YSkY9sGUUPF-g#tt5PdRgZQa$A&Qq zwxzmZ8pF49^N5$K<2<<0jO)P?z92(3?$dKZl$@u5G7TIe(hQW}^`pe!^Ii__Zbk7j zkISkkbS4u%Fy81S=#n57M&aodhvn@>=&<>|=9+0=x8(Cb-?R%h)HW%@slgM`9atG> zIvrm82+NzyEiBj9#IPolMCDLI*j<=_C3hshBTjh09lO zWqxvxw&NmXD-XzV`h4vu*3C`T$IlFJ_QS^rn-^%kwh*OkTDvyhXJn@XW(oG~Li2&{ zj9Bq!gUw!U$?b(NkOdjM7-E-;coFy@JU$>=me`4LLPIM^gWEg|pPa!o;8hMTt)6zX z83EegY06DZCav*>-(;KzVp_*>wN;j%J#gA1aCC1`Ki$yXF{f4+{54}4e9YumbjmB| zN>EFyP<8I?il&_e-QZ%cp1U?idL#9`S#=Or{W%rsOcOyW#+$+8&3pUovZ}7HI^J9& zjn|TS?ui2UTw&mG9`YM-2$ z+kom)_GJ|FgEnbRjLlzDI?SQmKgDN#+h?oIrzutLT31TtsC4NyYcx3rUjwtRo;sgL zUBY|dPRCPa@zg0{_v5qr3&$+em!cPnxb4}dw39`KJ*w_#@D0jh*i{`nK4D3@&Gv-! z?6~u=#^xqRSDu)KCn z>flGd;=Pc4?f^q1Rz8FcXCCu7?0;Z62=+mO^ZT~pqbExL#5itXbOCOo=q)Sy7q0p5 zKO+(2q?m$V|8B2PBUcZ9?EkN;^C29!*F}T>0yz|9;3@3YjX|J5#Yg|{-J~+YRj>jb{)M-& zyaqIf&phMmKhPOs&ueg%E{4v3+RhVu8bhZ?kiNGVh(gJ_V5&d5waD<9|Wz6z`OO~$x+1Vl4XAmk_lUDL8AcO4@DF!P}sPS!g*&otI>||@^)`By2X7Fw)c*nV@O3XX)qGs-M;uL9mERVC5lSs!LZVMQ5Zd>YyU|k+-7m_yDpPMputBUv$GDZRMrm!cSJ@mw; zv+ipM#UW+u?^cyuu0OkK;|Dn0didR60QJ;$LJt4Vu3rUQO1?n@#Yp5>s5(q+BVfYE z5NK~UmOi2`zyK-+de9)i65}nb8)E?UjJVN(Gs%Rj%al8!y+*vS9j;sSci0573k()p zSs~V(Cc+VB1;7fb9K4r}*oOkwE_JX8u$BErP_&e)4FPg>J&V9I0B;@fF@=hKr3ifo z{;ITJ85X`RzBEonC-^KDOlJ6gAeMf@Z&6F@Q%#?RR~*;&7dlh?NqrHc9K?N_-ZuLW z66F8CAVD%c*2hh>jo^O z`UNv7LdAD9zbzLHSpeFhl7{Ae0h2NCZ`#9a(hC!Yqh7=CvMbQZ%@Uy^IuW-{Cm;z87$=BRxskCQl1wOA-%*(K?NLB7B)|h%s{1U6ovfbf?Bf|6-028ERqyWpyEf!a#*z zS&h&q+XKjCFdFdB{{{yQLd#Gu0NcjG$>Z_6=y(lf)!ybiJ46QF4Fx|OZ05_(ONccy zBFG?rWMROu;zR~UByZIS@!zBdgMAQCcF6FBO?P;ewAZRx7X55qCHZ>3C)+?sVRf0} zvEWg47%uoqppgy>$JwB*n#yPrDs=*^R^VcW-^xlH%Mn}3sjDpox}==iOI}%XW}nJ1 z^mmCt@6F<2+g9t~qf6cDH)$^f*GP*gl^%2eh(I@Z{n3y$Q766NkVU?Jup4xA5VNVl z>wVfrpW_@J&RHRLWaD*iuNXZUgPYzyjg%hZ?L0FEPxdp>-9GzXttRNklI|Ep-Se}i z=d0m|A~pEwW z2EZ*|DRE;Se7YfBm*oql%e)HVFlhvXNS4h6?Mw0TeK<9S?<~?>Yq?(a{k)0sQh)9d zz7ozW0$j?LQat{6KqD)FDcY+7jqG9txzaI5p>APF8d&U7^Y!a_5RaLuQTP zOK*}77$!7~oe&qX=R2!tK-S@YiCQHxW#*^o>cx%5E3zZ%J?8X-=Y1_d zSQg6?LW?qXl|7nl!Mgq|27%xRVIzYMMr1UJ#?DH_U zEJ(uwF!x+qUxUm-5Nk}=&1)2x@5@fauzDa%1v{x=_ z3Xa%cj=mk)+HL`rQ5lwiuLly72doEm2=KUU{t)z5M_7~Cs-Ilsg?{>+=`-O|0;c4Q zT3?BZu4c;${$s}#Rn6|PHA3FE&zA?U$AXwk~Y_7Sp)~7Bx+^C%ks|9wKRl8YWI+K$3pa%S7Y# zaJuVH?ui(`8nCIYR>M~l;^ka{jwVl?wgMTa61Dt!{(0?od=dVmtTvtuk9zdY)VgrB z%Q%HKlnRY~DVpKz@))?h(@df9mMv{oKH=0mrCv+3$@kcO)hI#{x4a4Beg3*uiKy@v z5;AU$IgaxN+NgLEL1H7-Gf9#hcXDc?r3OOZI7D3|auxxeao4i)d#6Oybl?T8ou*0W zGTUZedSNraxCqxz8AA_wZlJ%vj^gX=MD6*gxr6 z(^1_zAuT@l8I`2jw(?pqe{aiq101Jl>ugp?xt04P4(i0Of!^{|i)#!#LT;Db0FB_<(l_han0DYGPpFk* z&3hO$Np#aR0PWu7)#+F3 z8|kFfKaG{%p>ud!M?V;08+CtUJIQtat}1z4)8sJE0kPQo+;QhxYh_%wC>svKA*J{_ zD}2WCM?RUn>7Jb`3Y5nia5215)>`cKfC=*kj+!eZyN?=~H)@;!)HfT%^DlmT7?<0` z&XI;~U=EEB9ga|%-w6Bt)1-L<2!okcnJ3;5ev;=e75}@@1&2|dPitO-3PUC zoQmqh8)>9OYtr>*%z+eUXr5QGc)EdbR0|x{&#gPz)Ml%_U;CLDHS_wmzyOQSA`jj| zkZY+xLZnQYk0WtLJH8-pdLMntnYz?G-wqmlethm=J~AmHx$pIC52|@MorTXdl0W6s z?4ZS)xaQQNMi%4ghgnkk)Pi3Ni zeEOkuCDq?cQ7_b2gl$nVAyqOtfP}Asnj}kdr{74Xge1v?BQJ-6Gq+rvm2$PfjLnk> zz_&^F#>1B#MA2ueDP_u@&)>18$E7gdllfqG+BkXKNo6Xs(loi~N@4)fGRTp;V0n~o z_kqp1oH-$9 z=B1{qk2O&*A+gG2ZSZvx{~;dIrR-RHxu*8^t&p2O*D<1gm~}aSxR)d?CSk%tI68K8 zcOYmyU69d&(z1R$;l)DwJe8|PvomWZ9)F*Y5*Ej0t*^Bu<#)z@+e~<`d53$GPNKKWB-;yl1`iPEF zGo5yRq|N0?ugju)J}CFBBze+n!CmZOr}Q(U!h@bCjc(FT_t|QK&PWDh3C0Q&ag*-e z=voZFM6i=YnR3f0nq};Te9St7zJA`?h|EbEwmb$FT`k6$ZE4%>Bx~unl3Sj}9ORZV zA37cPSi(q2=H1v;dMnuXSL}D2_ka6-uCWT1R`t(iChsr9UIb+!ZoJ?Msq`*oo$FQV zKK+vJG5vj@N%=T5Hp?8vSEJqp+~CDYyLsXDr!FW!(>5^F*wj@FCm2_-KyKGIiY{`$N@^ESif@UrsiH^zkX zna=CvO-peQDABjX(TJ^Ee9@!#_~un7flnMvLZp>a88g~Url&VL%y{{g9si&@{K=ibi-&SEzdbrieEefPb+8s=nRi^C|kWn=nN2WKb7 zBg$-VT}f9DrTTD7Jb2~Sd#KTK09y_p73t@gG4jU_Y&0+j*lm!TuvN3@!FIg(LFEC?r6{NQs}UR z9a^oLZAq;-`v^>U@EXkR+bq;;`gJ_G^?+x>YkZwmQm^eNb#gyP&7%PH0a#H|a{I5n zld}H$uD#ndK^Ehc)D3w>UXIHIkflA5dAUudSQ9i+TStBV?9}-QgV4Mh8vE!8Iblf5 z3cDAnTqE+^*EYhN#sl75>sr^6BQq#x%o4H*9=JVv&u1g>TxhP>gio^fWMJ3D_V{G& z^~TIwd5}r_X}q!xR{QL9*2=ZAy(g01D%-H)94t|{`kLE#Sblw%aLX_(fgXX4gIb>r)58R`aqjaEL<@7NOttEVi4ADiiq${PhPm1_lIOPcdB zQ~BedH&rz8PrYCA@RF(d5MSu}e8dsXsWM9-%wgx#RAPXhZNSg#V?1GxP{eBMPiadD zA7`DU!6bkw>)7j*8$!pghW*aVWBQRQ>2XrpIHf^0Pf>pHqdW=pWR4 z7&4*ZqI+vnJpD(%DhzIJ`BSL!$QwtNEM!sBkkB`!X@}p}c ztG7H-6~%e@D9=;1QVwyj%j3BHs4&)6o=d25^%^5VbC91szPW1{aZd!2*$eTW>N}WO{Pw`(tq2r*@*bu31j+v;_hU1Dx|ZoV3nx5ciltUklfzpl@iWwFNU))xHncWxmj`=)Cks~actjtp>F-lB#rQh@U8P)NCcKzYZxXX8fJx;^edFcY$9^N? zD=>iT#TPHsJ(_b)ygbjfRPR%H+4yUOb||uGX_BpaIlg*_?c|iP+E|K{H(?q3j z@l-lh70D%1V*I{z2}|zdzra4VC+F;y-9B>ti%L%H$wVBkeg`8!N&27oW#Sg{VdCSm z{`DU?&Ou%*_cD#;U!b9qDjcTs1M^D%LMs374kHMi$YC7KBZmPKyo$`WS#{NgA+YfP`nyg{cgAHL#1&y8{=0p)D_F%8 zfps(X%p3KURrVvxyJl_QqwSkMzVA1@%_r&L9})+*!ew~%gFsHUN4%*r_h83ci%}jU zk-t7U*CTGkMcuikcjZf9;oUgdL=v3X=Us|_riYMl<~1|z0J-<0GCxcN7KLQDy9xmn zhM=_Tu2Rmoff{Cz#;V)^=Ba)`=szD7ljZf`G&<}D&+nyh8Nys3FJ((FylA+f(GNzf zPXH#(L%65YZ)brRK^+_}zB}CA`|#;igp!7g;^_rC8O^oFYNgYUI&r$6UCGSx(g9Oc zt^83S;|3Q=0Kk_Ye>WbxSNNFraKD&}D!*ju<(uV>tM6K!GPftP2N;J63YB+sI|u1E z{g#Vr_#8%RGWx5-*!rL99h(Z$mOW`){A>U81lP0euE6z=4qyCH_t58HG))1cj9))w zK{QHaG#m|=C$VTO^Z^LZ{iUH-p{dxL_PhuPP>Chkc`cW(f6={%RW}P2CJGBjUJ(FN z%lsb#`M~MbI4qk~ug^IEVUopUeP9ho`of!sOw-d&2V48QFSL7$l&^()n2tzzwErx6 z^38N&Z>WxasGD9j940`#C4}>#hwL1m(i0`+FLd|g5sma40VQxDi3^@~1E$ilAI&oq z|A7$i2bi(g=1y;2{g*5T_UmZryMH8~!vOiQrP_gpY7i8%wd(*U4-J>vS%O-Zu&Lw( zCZO=)Gn3hhU8B&p_C!>Djium^T5egf-HRA+`);A!pd@)zTZn+n;vkCgtMQ)woNCT? zMUe_XBrzI*h&YUZ7io#$hA^JCd!hF$&5jN*r*~#PSox`4X+d1Q`@v`bVr1=kgtRjN z0)x6$*0-9qFjU~)BalYct`0r>_9NbHXF#nFh~Qel&0hxSt_ZjdVoqQ6Wp%=V?AW@- zrT!L3UIT_fS55tC9ik1&8Gb9HMj>xA0Uz(jY6mzpB8!>%7J%>(&9a=9BSbn7QTT44 zvkJj_{gY}^n}iFIhIARvJ??Kyc{x8M+BX5uC<2OVHFO6Ikr_gd7cGvxb{ZI@u<$AM z!S3n78dj&q!-B^VKM|RsX9F{`5x+9;D!Hb^#o$7y1z2fc$S6 zWAaw<^W9FGVQgqh;924aN&66U9bBHUa|$AqJhC3L@6)OK=+hksqDdHJD(N!@6QzlE z&)e6ZNtU#cyb46W2_efD2uw+;DuynxP6+RXLxS#rOZR8$wM@M}5$+G-7wvv?dkjbk z5){(2-y(XqGwf8;Q8}bXW%SLeBvWU1__51ohN6JusATVaNsYsg8lB9h7jOE=zrR@c zGv$Qr^-J?*v{2f)*0S zOB@LtDjYcgfI07tfd0jL1*olcRvIG0?}%_OG@kLpoiM&hYk!YNL2XANftWeUc4PVo z+*h0cAFHY47NK1|jZp(_P;uDiS8RXEb z8jnrYKNG>_c8>8Yq7wn0SksmWTW>7%ZPuwMa9RZX17v77w($l@xQV);*BJa%gXiF}*-sak zh9I*)_jIXlkz5%7G%tg>(a$gfL_$LQYSFwNj6S@-#xwanF+N2;1lJ8$Ce{UO>SA31 z7>*^~HqVy!Iixhg%I4&w8rv2!0jD0da@)M>u zq1S@W#3J=gm~vlP?hIbz<%@P}@&@!ijCi!5f&5WFxbl_W*adgq4=Yxm4bj)R zarHl4Y>#MV`(Qz0+JIwY=Z%?CPjFU}sQtY3V!3fyj}NnaaH#iq zEKBEIZi>~1G4`pae@FWk2EG(yEle-G->1a<@?3zv4>7J+*TN!8xfXv>UfX6IN%<*%X)ZgW+(du-l5stoe~x@UFDW&YlsHovz`jsNxSQ6D{Y zhU#O&#xq`L8xKe%C{^0#@+G`2#n?EO#?O`jCL8``U}Ej4(;9@Nrt$K8ftl3k5vO+b5jDq{-9nf zM+HTL*D3rNG<^o@LP5hZ`+h_dTF>r9umyGUTCd&9;qoQs#*iap<|fy@5=2}ygN2u5 zk6OO>zW6~dA&T)@o3Gp!*E5W@A(_s}DR;WD+zCyEsNnMi{PnWL9DOUN$J~*EAC``GB|E7o|>VVh&^qHmZZ?U z8_7*T`=`EouQ2X$_tW)UhcB;@#EgTloRD&wYQ2!rW__4LUtM?+!>Ki_y(?KLf7HvZ z8Cv6X@a^AokE&upR?TU1A^XuXe zw32t1$_VeZz1u=)`l!|Zd?`wbS=-5Q0|l3mfgTgml^wB*yh{2?ZahWJRm9$Wuv;v5oAsNMWZC;f)Nb|@CqIYo2WB0N z@iowjJ^JOV&gK@!;($lMh}#nNrS`;uB*At)qQVZ$blMQ=oq=s z`pc%Zscuk(Tz?6B=XxUgzVCumH36E8p*O7Fs}ng*iOFjZ2*ofteq}k4ewwy&Gh7#V zN~rdUIGC~=W9524cS!Lj?M+_xN;<}^!0n6W4Y=P0L}R&sSlev*i|D`956M-m0Ts1hEe%dcFz6Uc> zgG&tgN5Il)n?I*%86jb+4BvDJ~(8S&P-J_q9Hmz7Gp#N0=g-^tKFN4sYIAZ~ z`T+B(Cl8Avzed?gTzclog}w~FVspo67-?jiWY}>kq&phis1k1wB#=cffp5y~OYzV_ay?TS6^IIHsG0 z$Zyy{xB<%Sf{$+>wm7~U+MVl6u>?bwBH%)3f$*HX#SFL$JCJN^K{AvH1Qa~l_QJYs zU|=O7?__FSB@Cm|gk;-JhdT5&%s&HB7||mryeagfcBSLO+17w)Foa0GAc^k<-p|&_ zV3~UG;gvD*yPQR!OG7Ds&8fu&VSR-mD^1r#JlFS%XzopDjSnJ*A}Yvu^k3OV}ldsoldpC~H+x_oE)%?wCM@`Jd_nt5&+4nQ8i z3~F2aZ(J2ycU-1I1TB8u*C>SE1ee6uwjoM-C|jizWD52MH@!szrZg$# z`^GTETR^}1rG7Os^=)4z`$AI!2&fRzl{b11Yve3xr5{(yT;{Z zUKsmiT1sdhfj~b4#Y>;mwetVwOa&Q=Y5uW|=0hvC2|8ajRHby%pQ5j$nyp*g6 zlMU<{n0$s13u;7V<*(HQOE0e7&iNY|g?Hs^!JRezamA9Qyw+ef_HrsQ9#EhS=g{t^ zBF3c0m0<%CWTfwa%GT++6V>qrna|b>BbJCIM4xNWwzf z0!+G99v3%An0;--i43l{#p}ZUogXj=z9lB$6F(7BOX}x{@)T{HgI{rRK@23OF5u^T zRqy@8WDorU5%%B|KrHy*h=j&pRug_ShrxjYtAenN3hZHY9CslC?f4`RKY_Ja^x>-` zF*8-9j9@r^DMCu^R{+xwRYaGsJ#wCYQ@08)UOQse$?S^Hcn=-Ab;&Fkd+D{R1dauu zYs3e{+I)%v62qdb6P-Yb+d6*pwcVn8y)j9=yxm%_W*r>fbQm}<4T-8w6`u5 zBd4xqS@^3~AiwlTJ|2LLoUm zAoc&S_ntvbc6;BbN{47@LXh68RHaA*tlqfu#3i^N>~=iJa$@0<=#4pl=v5FTMcCrYr^W z-h{Uc{2Fq6>W&9H-W5nmx$N|e+Na5F%LJF-H~DdyFqbs3nO?i@X#d3hq(P+Mf)FB< zA|cD2RBc#l9xBvgbZr-_Dh17~ZP%?ut0avmv^mFQNX55zSSeAP9CN7+W5kc`a=zJR z4@)#?NYF>?9K4D{4;^pDh&OyFi;-8DfZqF)`z_UPK%>GD_Dh3D2!AIq4-jdGe*V?j zAPwwg1w4ihhNYH}2~Aum!Bg>hsG2Gt3V9slN~uZdWoYCHuBa-Z3f!qltPNX|Pst@% zn1bHWy$d10D;x@$SQQt&HH52%6G*}*>|wi$0ng!4y{aBjrvZP{e2AS zE2_1-MY85Z?G4l*)bYC0ycF;V{9c9V^@hQbqO~#>uQRviD<{sBkB@=G=p2spz9#!P z0DFACj=l)*#YuUDW_-h^E` zFU_`v^O|?udTgeD&+7pJ>`DKlr=Mzt z*-eYImVMBIJy0J;BOeIuY{$FFgx
7?s=CZxux+pPRnCZT>klDCAALFGWit+j!w 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