From 326d67986784253ba64037ce6087dea6bc0f908c Mon Sep 17 00:00:00 2001 From: Tykia M Date: Sat, 14 Jan 2023 18:10:03 -0500 Subject: [PATCH 01/17] Created+completed fib_sequence.py, Updated README --- README.md | 4 ++-- fibonacci_sequence.py | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 fibonacci_sequence.py diff --git a/README.md b/README.md index 3d3aeb0..a5d03e4 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,8 @@ optimize and capitalize on what I and whoever else have and will learn. ## NUMBERS - [X] **Find PI to the Nth Digit** - Enter a number and have the program generate PI up to that many decimal places. Keep a limit to how far the program will go. -- [ ] **Find e to the Nth Digit** - Just like the previous problem, but with e instead of PI. Enter a number and have the program generate e up to that many decimal places. Keep a limit to how far the program will go. -- [ ] **Fibonacci Sequence** - Enter a number and have the program generate the Fibonacci sequence to that number or to the Nth number. +- [X] **Find e to the Nth Digit** - Just like the previous problem, but with e instead of PI. Enter a number and have the program generate e up to that many decimal places. Keep a limit to how far the program will go. +- [X] **Fibonacci Sequence** - Enter a number and have the program generate the Fibonacci sequence to that number or to the Nth number. - [ ] **Prime Factorization** - Have the user enter a number and find all Prime Factors (if there are any) and display them. - [ ] **Next Prime Number** - Have the program find prime numbers until the user chooses to stop asking for the next one. - [ ] **Find Cost of the Tile to Cover W x H Floor** - Calculate the total cost of tile it would take to cover a floor plan of width and height, using a cost entered by the user. diff --git a/fibonacci_sequence.py b/fibonacci_sequence.py new file mode 100644 index 0000000..5299b91 --- /dev/null +++ b/fibonacci_sequence.py @@ -0,0 +1,29 @@ +# Enter a number and have the program generate the Fibonacci sequence to that +# number OR to the Nth number, whichever occurs first. +# +# Started: 14 January 2023 +# Completed: 14 January 2023 + +def fibonacci(user_num): + tracker = 3 + num1 = 0 + num2 = 1 + fib_num = num1 + num2 + print(num1) + print(num2) + print(fib_num) + while (user_num != fib_num) and (tracker != user_num): + num1 = num2 + num2 = fib_num + fib_num = num1 + num2 + tracker += 1 + print(fib_num) + if (user_num == fib_num): + print("Went to the number you input.") + else: + print("Went to the Nth number of the sequence.") + +user_inp = input("Enter a number: ") +user_num = int(user_inp) + +fibonacci(user_num) \ No newline at end of file From a4859cee7c6b9e095dee62dd6261c49b42528147 Mon Sep 17 00:00:00 2001 From: Tykia M Date: Sat, 14 Jan 2023 18:40:35 -0500 Subject: [PATCH 02/17] Create+completed prime_factoriz.py, updated README --- README.md | 2 +- prime_factorization.py | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 prime_factorization.py diff --git a/README.md b/README.md index a5d03e4..1c6a121 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ optimize and capitalize on what I and whoever else have and will learn. - [X] **Find PI to the Nth Digit** - Enter a number and have the program generate PI up to that many decimal places. Keep a limit to how far the program will go. - [X] **Find e to the Nth Digit** - Just like the previous problem, but with e instead of PI. Enter a number and have the program generate e up to that many decimal places. Keep a limit to how far the program will go. - [X] **Fibonacci Sequence** - Enter a number and have the program generate the Fibonacci sequence to that number or to the Nth number. -- [ ] **Prime Factorization** - Have the user enter a number and find all Prime Factors (if there are any) and display them. +- [X] **Prime Factorization** - Have the user enter a number and find all Prime Factors (if there are any) and display them. - [ ] **Next Prime Number** - Have the program find prime numbers until the user chooses to stop asking for the next one. - [ ] **Find Cost of the Tile to Cover W x H Floor** - Calculate the total cost of tile it would take to cover a floor plan of width and height, using a cost entered by the user. - [ ] **Mortgage Calculator** - Calculate the monthly payments of a fixed term mortgage over given Nth terms at a given interest rate. Also figure out how long it will take the user to pay back the loan. For added complexity, add an option for users to select the compounding interval (Monthly, Weekly, Daily, Continually). diff --git a/prime_factorization.py b/prime_factorization.py new file mode 100644 index 0000000..a666684 --- /dev/null +++ b/prime_factorization.py @@ -0,0 +1,31 @@ +# User enters a number. Have the program find all Prime Factors (if there are any) and +# display them. +# +# Started: 14 January 2023 +# Completed: 14 January 2023 + +# Function to find the prime factors of user input number +def prime_factorization(num): + # A list to keep track of prime factors + prime_factors = [] + # int variable to hold factorized number and to check when we reach 1 or a prime number + factorized_num = num + + # While loop to check when we hit 1 + while factorized_num != 1: + # For loop to go through prime numbers since user number can be any size. + # Will break out of for loop when we find the smallest prime number that can + # divided into user's num + for x in range(2,num): + if factorized_num % x == 0: + prime_factors.append(x) + factorized_num = factorized_num / x + break + # Print prime factors list for user's num + print("Prime Factors of", num, ":",prime_factors) + +# Ask user for number and cast it into an integer +user_inp = input("Enter a number: ") +user_num = int(user_inp) +# Call prime factorization method with user's number +prime_factorization(user_num) \ No newline at end of file From 60b8d2ffb28b32bfa25d52f8b772e253b72363e7 Mon Sep 17 00:00:00 2001 From: Tykia M Date: Sat, 14 Jan 2023 20:55:27 -0500 Subject: [PATCH 03/17] Created+completed next_prm_num.py, updated README --- README.md | 2 +- next_prime_num.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 next_prime_num.py diff --git a/README.md b/README.md index 1c6a121..d7c3a3b 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ optimize and capitalize on what I and whoever else have and will learn. - [X] **Find e to the Nth Digit** - Just like the previous problem, but with e instead of PI. Enter a number and have the program generate e up to that many decimal places. Keep a limit to how far the program will go. - [X] **Fibonacci Sequence** - Enter a number and have the program generate the Fibonacci sequence to that number or to the Nth number. - [X] **Prime Factorization** - Have the user enter a number and find all Prime Factors (if there are any) and display them. -- [ ] **Next Prime Number** - Have the program find prime numbers until the user chooses to stop asking for the next one. +- [X] **Next Prime Number** - Have the program find prime numbers until the user chooses to stop asking for the next one. - [ ] **Find Cost of the Tile to Cover W x H Floor** - Calculate the total cost of tile it would take to cover a floor plan of width and height, using a cost entered by the user. - [ ] **Mortgage Calculator** - Calculate the monthly payments of a fixed term mortgage over given Nth terms at a given interest rate. Also figure out how long it will take the user to pay back the loan. For added complexity, add an option for users to select the compounding interval (Monthly, Weekly, Daily, Continually). - [ ] **Change Return Program** - The user enters a cost and then the amount of money given. The program will figure out the change and the number of quarters, dimes, nickels, pennies needed for the change. diff --git a/next_prime_num.py b/next_prime_num.py new file mode 100644 index 0000000..abc7554 --- /dev/null +++ b/next_prime_num.py @@ -0,0 +1,42 @@ +# Have the program find prime numbers until the user chooses to stop asking for the next one. +# +# Started: 14 January 2023 +# Completed: 14 January 2023 + +import math + +def check_user(num_check): + if(num_check == 0): + user_inp = input("Would you like to see a prime number?(Y/N) ") + else: + user_inp = input("Would like to see the next prime number?(Y/N) ") + + if user_inp.capitalize() == 'Y': + nextPrime(num_check) + elif user_inp.capitalize() == 'N': + print("Goodbye!") + +def nextPrime(num): + if (isPrime(num)): + print(num) + check_user(num+1) + else: + nextPrime(num+1) + pass + +def isPrime(num): + if num <= 1: + return False + if num <= 3: + return True + + if (num % 2 == 0 or num % 3 == 0): + return False + + for i in range(5, int(math.sqrt(num) + 1), 6): + if (num % i == 0 or num % (i + 2) == 0): + return False + + return True + +check_user(0) From 78fa959aefe488287ac89473054bf3913aea2126 Mon Sep 17 00:00:00 2001 From: Tykia M Date: Sun, 15 Jan 2023 18:24:12 -0500 Subject: [PATCH 04/17] Added comments in next_prime_num.py --- next_prime_num.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/next_prime_num.py b/next_prime_num.py index abc7554..a954ed2 100644 --- a/next_prime_num.py +++ b/next_prime_num.py @@ -5,6 +5,7 @@ import math +# Function to check whether the user wants the next prime number def check_user(num_check): if(num_check == 0): user_inp = input("Would you like to see a prime number?(Y/N) ") @@ -16,6 +17,7 @@ def check_user(num_check): elif user_inp.capitalize() == 'N': print("Goodbye!") +# Function to print the next prime number def nextPrime(num): if (isPrime(num)): print(num) @@ -24,6 +26,7 @@ def nextPrime(num): nextPrime(num+1) pass +# Function to check whether the current number is a prime number def isPrime(num): if num <= 1: return False From d2970f4407e716e0485e46779175fbc6701ec1a6 Mon Sep 17 00:00:00 2001 From: Tykia M Date: Sun, 15 Jan 2023 18:53:28 -0500 Subject: [PATCH 05/17] Create+completed cost_of_tile.py, Updated README --- README.md | 2 +- cost_of_tile.py | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 cost_of_tile.py diff --git a/README.md b/README.md index d7c3a3b..325b24c 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ optimize and capitalize on what I and whoever else have and will learn. - [X] **Fibonacci Sequence** - Enter a number and have the program generate the Fibonacci sequence to that number or to the Nth number. - [X] **Prime Factorization** - Have the user enter a number and find all Prime Factors (if there are any) and display them. - [X] **Next Prime Number** - Have the program find prime numbers until the user chooses to stop asking for the next one. -- [ ] **Find Cost of the Tile to Cover W x H Floor** - Calculate the total cost of tile it would take to cover a floor plan of width and height, using a cost entered by the user. +- [X] **Find Cost of the Tile to Cover W x H Floor** - Calculate the total cost of tile it would take to cover a floor plan of width and height, using a cost entered by the user. - [ ] **Mortgage Calculator** - Calculate the monthly payments of a fixed term mortgage over given Nth terms at a given interest rate. Also figure out how long it will take the user to pay back the loan. For added complexity, add an option for users to select the compounding interval (Monthly, Weekly, Daily, Continually). - [ ] **Change Return Program** - The user enters a cost and then the amount of money given. The program will figure out the change and the number of quarters, dimes, nickels, pennies needed for the change. - [ ] **Binary to Decimal and Back Converter** - Develop a converter to convert a decimal number to binary or a binary number to its decimal equivalent. diff --git a/cost_of_tile.py b/cost_of_tile.py new file mode 100644 index 0000000..9e58ce2 --- /dev/null +++ b/cost_of_tile.py @@ -0,0 +1,17 @@ +# Have the program calculate the total cost of tile it would take to cover +# a floor plan of x width and y height, using a cost entered by the user. +# +# Started: 15 January 2023 +# Completed: XX January 2023 + +user_inp = input("How much do the tiles cost? ") +tile_price = float(user_inp) + +user_inp = input("What is the width of the area you're tiling? ") +area_width = float(user_inp) + +user_inp = input("What is the height of the area you're tiling? ") +area_height = float(user_inp) + +total_price = float(tile_price * (area_height * area_width)) +print("Total price for the area: $%.2f" % total_price) \ No newline at end of file From b09c3a55fb7a32d6d260cfa2a5a631d9631f9021 Mon Sep 17 00:00:00 2001 From: Tykia M Date: Wed, 18 Jan 2023 15:43:31 -0500 Subject: [PATCH 06/17] Create+complete mor_calc.py, update README+tile.py --- README.md | 2 +- cost_of_tile.py | 2 +- mortgage_calculator.py | 30 ++++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 mortgage_calculator.py diff --git a/README.md b/README.md index 325b24c..8549238 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ optimize and capitalize on what I and whoever else have and will learn. - [X] **Prime Factorization** - Have the user enter a number and find all Prime Factors (if there are any) and display them. - [X] **Next Prime Number** - Have the program find prime numbers until the user chooses to stop asking for the next one. - [X] **Find Cost of the Tile to Cover W x H Floor** - Calculate the total cost of tile it would take to cover a floor plan of width and height, using a cost entered by the user. -- [ ] **Mortgage Calculator** - Calculate the monthly payments of a fixed term mortgage over given Nth terms at a given interest rate. Also figure out how long it will take the user to pay back the loan. For added complexity, add an option for users to select the compounding interval (Monthly, Weekly, Daily, Continually). +- [X] **Mortgage Calculator** - Calculate the monthly payments of a fixed term mortgage over given Nth terms at a given interest rate. Also figure out how long it will take the user to pay back the loan. For added complexity, add an option for users to select the compounding interval (Monthly, Weekly, Daily, Continually). - [ ] **Change Return Program** - The user enters a cost and then the amount of money given. The program will figure out the change and the number of quarters, dimes, nickels, pennies needed for the change. - [ ] **Binary to Decimal and Back Converter** - Develop a converter to convert a decimal number to binary or a binary number to its decimal equivalent. - [ ] **Simple Calculator** - A simple calculator to do basic operators. diff --git a/cost_of_tile.py b/cost_of_tile.py index 9e58ce2..368c40c 100644 --- a/cost_of_tile.py +++ b/cost_of_tile.py @@ -2,7 +2,7 @@ # a floor plan of x width and y height, using a cost entered by the user. # # Started: 15 January 2023 -# Completed: XX January 2023 +# Completed: 15 January 2023 user_inp = input("How much do the tiles cost? ") tile_price = float(user_inp) diff --git a/mortgage_calculator.py b/mortgage_calculator.py new file mode 100644 index 0000000..22de4de --- /dev/null +++ b/mortgage_calculator.py @@ -0,0 +1,30 @@ +# Calculate the montly payments of a fixed term mortgage over given Nth terms +# at a given interest rate. Also, figure out how long it will take the user to +# pay back the loan. +# Added Complexity: add an option for users to select the compounding interval +# (monthly, weekly, daily, continually) +# +# Started: 15 January 2023 +# Completed: XX January 2023 + +import math +# Ask the user for the value of the mortgage +user_inp = input("What is the value of the mortgage? ") +mortgage_val = float(user_inp) + +# Ask the user for the interest rate +user_inp = input("What is the interest rate? ") +interest_rate = float(user_inp) + +# Ask the user the number of months of the loan +user_inp = input("How many months is the mortgage good for? ") +term_length = int(user_inp) + +# Calculate the monthly payments +monthly_interest_rate = float((interest_rate / 100) / 12) +print("Monthly Interest Rate: %f" % monthly_interest_rate) +monthly_interest_rate1 = float(1 + monthly_interest_rate) +monthly_payments = float((mortgage_val * (monthly_interest_rate * math.pow(1 + monthly_interest_rate, term_length)) / ( (math.pow(1 + monthly_interest_rate, term_length)) - 1 ))) + +# Print the monthly payments +print("Monthly Payments: $%.2f" % monthly_payments) From fbd598c48a6c94f310a27337e6a388d932764692 Mon Sep 17 00:00:00 2001 From: Tykia M Date: Wed, 18 Jan 2023 17:48:30 -0500 Subject: [PATCH 07/17] Created+completed change_return.py, updated README --- README.md | 2 +- change_return.py | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 change_return.py diff --git a/README.md b/README.md index 8549238..70fc883 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ optimize and capitalize on what I and whoever else have and will learn. - [X] **Next Prime Number** - Have the program find prime numbers until the user chooses to stop asking for the next one. - [X] **Find Cost of the Tile to Cover W x H Floor** - Calculate the total cost of tile it would take to cover a floor plan of width and height, using a cost entered by the user. - [X] **Mortgage Calculator** - Calculate the monthly payments of a fixed term mortgage over given Nth terms at a given interest rate. Also figure out how long it will take the user to pay back the loan. For added complexity, add an option for users to select the compounding interval (Monthly, Weekly, Daily, Continually). -- [ ] **Change Return Program** - The user enters a cost and then the amount of money given. The program will figure out the change and the number of quarters, dimes, nickels, pennies needed for the change. +- [X] **Change Return Program** - The user enters a cost and then the amount of money given. The program will figure out the change and the number of quarters, dimes, nickels, pennies needed for the change. - [ ] **Binary to Decimal and Back Converter** - Develop a converter to convert a decimal number to binary or a binary number to its decimal equivalent. - [ ] **Simple Calculator** - A simple calculator to do basic operators. - [ ] **Unit Converter (temp, currency, volume, mass)** - Converts various units between one another. The user enters the type of unit being entered, the type of unit they want to convert to and then the value. The program will then make the conversion. diff --git a/change_return.py b/change_return.py new file mode 100644 index 0000000..48bcee4 --- /dev/null +++ b/change_return.py @@ -0,0 +1,55 @@ +# User enter a cost and then the amount given. The program will figure out the +# change and the number of quarters, dimes, nickels, pennies needed for the change. +# +# Started: 18 January 2023 +# Completed: 18 January 2023 + +import math + +def changeCalulate(price, payment): + # Calculate the amount of change we need to make. Print it out to the user + temp_difference = int( math.ceil((payment - price) * 100)) + print("Change: $%.2f" % (temp_difference * 0.01)) + # Calculate quarter count + quarterCount = (temp_difference - (temp_difference % 25)) / 25 + temp_difference = temp_difference % 25 + # Calculate dime count + dimeCount = (temp_difference - (temp_difference % 10)) / 10 + temp_difference = temp_difference % 10 + # Calculate nickel count + nickelCount = (temp_difference - (temp_difference % 5)) / 5 + # Calculate penny count + pennyCount = temp_difference % 5 + # Print out the change and coin count + print("Your change is in %d quarters, %d dimes, %d nickels, and %d pennies." % (quarterCount, dimeCount, nickelCount, pennyCount)) + + +def checkPayment(price, payment): + # Check to make see if the payment is less than the price + # If so, ask for more money + if (payment < price): + print("That is not enough to cover the purchase.") + user_inp = input("Please enter more money: ") + addedMoney = float(user_inp) + payment += addedMoney + checkPayment(price, payment) + # Check to see if the payment is equal to the price. + # If so, no change necessary. Otherwise, payment is greater than the price + elif payment == price: + print("Thank you! No change necessary.") + else: + changeCalulate(price, payment) + +def main(): + # Ask the user for the price of the purchase. Cast into a float + user_inp = input("Purchase Price: ") + price = float(user_inp) + + # Ask the user for the amount they gave. Cast into a float + user_inp = input("How much are you giving? ") + user_money = float(user_inp) + + checkPayment(price, user_money) + +if __name__ == "__main__": + main() \ No newline at end of file From 8096a634704c5e74c9cce756fcfcafd174a42d52 Mon Sep 17 00:00:00 2001 From: Tykia M Date: Sat, 21 Jan 2023 21:44:38 -0500 Subject: [PATCH 08/17] Created binary_decimal.py, updated README --- README.md | 2 +- binary_decimal.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 binary_decimal.py diff --git a/README.md b/README.md index 70fc883..1e9faaa 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ optimize and capitalize on what I and whoever else have and will learn. - [X] **Find Cost of the Tile to Cover W x H Floor** - Calculate the total cost of tile it would take to cover a floor plan of width and height, using a cost entered by the user. - [X] **Mortgage Calculator** - Calculate the monthly payments of a fixed term mortgage over given Nth terms at a given interest rate. Also figure out how long it will take the user to pay back the loan. For added complexity, add an option for users to select the compounding interval (Monthly, Weekly, Daily, Continually). - [X] **Change Return Program** - The user enters a cost and then the amount of money given. The program will figure out the change and the number of quarters, dimes, nickels, pennies needed for the change. -- [ ] **Binary to Decimal and Back Converter** - Develop a converter to convert a decimal number to binary or a binary number to its decimal equivalent. +- [-] **Binary to Decimal and Back Converter** - Develop a converter to convert a decimal number to binary or a binary number to its decimal equivalent. - [ ] **Simple Calculator** - A simple calculator to do basic operators. - [ ] **Unit Converter (temp, currency, volume, mass)** - Converts various units between one another. The user enters the type of unit being entered, the type of unit they want to convert to and then the value. The program will then make the conversion. - [ ] **Alarm Clock** - A simple clock where it plays a sound after X number of minutes/seconds or at a particular time. diff --git a/binary_decimal.py b/binary_decimal.py new file mode 100644 index 0000000..edacffd --- /dev/null +++ b/binary_decimal.py @@ -0,0 +1,5 @@ +# Program converts a decimal number to binary or a binary to it's decimal +# equivalent. +# +# Started: 19 January 2023 +# Completed: XX January 2023 \ No newline at end of file From fa76bdfc2dfc543c646874c6eed48532049478e4 Mon Sep 17 00:00:00 2001 From: Tykia M Date: Tue, 24 Jan 2023 22:15:22 -0500 Subject: [PATCH 09/17] Completed binar_decimal.py, Updated README --- README.md | 2 +- binary_decimal.py | 34 +++++++++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1e9faaa..cf383c7 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ optimize and capitalize on what I and whoever else have and will learn. - [X] **Find Cost of the Tile to Cover W x H Floor** - Calculate the total cost of tile it would take to cover a floor plan of width and height, using a cost entered by the user. - [X] **Mortgage Calculator** - Calculate the monthly payments of a fixed term mortgage over given Nth terms at a given interest rate. Also figure out how long it will take the user to pay back the loan. For added complexity, add an option for users to select the compounding interval (Monthly, Weekly, Daily, Continually). - [X] **Change Return Program** - The user enters a cost and then the amount of money given. The program will figure out the change and the number of quarters, dimes, nickels, pennies needed for the change. -- [-] **Binary to Decimal and Back Converter** - Develop a converter to convert a decimal number to binary or a binary number to its decimal equivalent. +- [X] **Binary to Decimal and Back Converter** - Develop a converter to convert a decimal number to binary or a binary number to its decimal equivalent. - [ ] **Simple Calculator** - A simple calculator to do basic operators. - [ ] **Unit Converter (temp, currency, volume, mass)** - Converts various units between one another. The user enters the type of unit being entered, the type of unit they want to convert to and then the value. The program will then make the conversion. - [ ] **Alarm Clock** - A simple clock where it plays a sound after X number of minutes/seconds or at a particular time. diff --git a/binary_decimal.py b/binary_decimal.py index edacffd..5e4253c 100644 --- a/binary_decimal.py +++ b/binary_decimal.py @@ -2,4 +2,36 @@ # equivalent. # # Started: 19 January 2023 -# Completed: XX January 2023 \ No newline at end of file +# Completed: XX January 2023 + +import math + +def deciToBin(decimal_num): + temp = int(decimal_num) + remainder = -1 + binary = '' + + while temp / 2 != 0: + remainder = temp % 2 + binary = str(remainder) + binary + temp = int(temp / 2) + + return binary + + +def binToDeci(binary_num): + temp = str(binary_num) + power = 0 + result = 0 + + while len(temp) > 0: + if temp[-1:] == "1": + result = result + math.pow(2,power) + + power += 1 + temp = temp.replace(temp, temp[:-1]) + + return result + +print("15 converted to binary format is %s" % deciToBin(15)) +print("1101 converted to decimal format is %d" % binToDeci(1101)) From 0e6b6736cb48c66fa46b66f79479369677113dd2 Mon Sep 17 00:00:00 2001 From: Tykia M Date: Thu, 2 Mar 2023 21:10:35 -0500 Subject: [PATCH 10/17] Updated date in binary_decimal.py --- binary_decimal.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/binary_decimal.py b/binary_decimal.py index 5e4253c..df4e499 100644 --- a/binary_decimal.py +++ b/binary_decimal.py @@ -2,7 +2,7 @@ # equivalent. # # Started: 19 January 2023 -# Completed: XX January 2023 +# Completed: 24 January 2023 import math From 030a1e612105b3f0160ed3edb234b37e0153d2d5 Mon Sep 17 00:00:00 2001 From: Tykia M Date: Thu, 2 Mar 2023 21:12:18 -0500 Subject: [PATCH 11/17] Completed simple_calc.py, Update README --- README.md | 2 +- simple_calculator.py | 54 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 simple_calculator.py diff --git a/README.md b/README.md index cf383c7..f3b1c06 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ optimize and capitalize on what I and whoever else have and will learn. - [X] **Mortgage Calculator** - Calculate the monthly payments of a fixed term mortgage over given Nth terms at a given interest rate. Also figure out how long it will take the user to pay back the loan. For added complexity, add an option for users to select the compounding interval (Monthly, Weekly, Daily, Continually). - [X] **Change Return Program** - The user enters a cost and then the amount of money given. The program will figure out the change and the number of quarters, dimes, nickels, pennies needed for the change. - [X] **Binary to Decimal and Back Converter** - Develop a converter to convert a decimal number to binary or a binary number to its decimal equivalent. -- [ ] **Simple Calculator** - A simple calculator to do basic operators. +- [X] **Simple Calculator** - A simple calculator to do basic operators. - [ ] **Unit Converter (temp, currency, volume, mass)** - Converts various units between one another. The user enters the type of unit being entered, the type of unit they want to convert to and then the value. The program will then make the conversion. - [ ] **Alarm Clock** - A simple clock where it plays a sound after X number of minutes/seconds or at a particular time. - [ ] **Distance Between Two Cities** - Calculates the distance between two cities and allows the user to specify a unit of distance. This program may require finding coordinates for the cities like latitude and longitude. diff --git a/simple_calculator.py b/simple_calculator.py new file mode 100644 index 0000000..c4052cb --- /dev/null +++ b/simple_calculator.py @@ -0,0 +1,54 @@ +# Program a simple calculator to do basic operators. +# +# Started: 09 February 2023 +# Completed: XX March 2023 + +def add(num1, num2): + return num1 + num2 + +def subtract(num1, num2): + return num1 - num2 + +def multiply(num1, num2): + return num1 * num2 + +def divide(num1, num2): + if num2 == 0: + return "Can't divide by 0" + else: + return num1 / num2 + +def main(): + print("- Select Operation -") + print("1. Add") + print("2. Subtract") + print("3. Multiple") + print("4. Divide") + + while True: + choice = input("Enter number choice: ") + if choice in ('1', '2', '3', '4'): + try: + num1 = float(input("Enter first number: ")) + num2 = float(input("Enter second number: ")) + except ValueError: + print("Invalid input. Please enter a number.") + continue + + if choice == '1': + print(num1, "+", num2, "=", add(num1, num2)) + elif choice == '2': + print(num1, "-", num2, "=", subtract(num1, num2)) + elif choice == '3': + print(num1, "*", num2, "=", multiply(num1, num2)) + elif choice == '4': + print(num1, "/", num2, "=", divide(num1, num2)) + + next_calculation = input("Another calculation? (yes/no): ").lower() + if next_calculation == "no": + break + else: + print("Invalid Input.") + +if __name__ == '__main__': + main() \ No newline at end of file From b1ae046be6145cf0886ed653d82035ef8563262a Mon Sep 17 00:00:00 2001 From: Tykia M Date: Fri, 3 Mar 2023 22:34:47 -0500 Subject: [PATCH 12/17] Create and complete unit_convert.py, update README --- README.md | 2 +- unit_converter.py | 89 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 unit_converter.py diff --git a/README.md b/README.md index f3b1c06..f362239 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ optimize and capitalize on what I and whoever else have and will learn. - [X] **Change Return Program** - The user enters a cost and then the amount of money given. The program will figure out the change and the number of quarters, dimes, nickels, pennies needed for the change. - [X] **Binary to Decimal and Back Converter** - Develop a converter to convert a decimal number to binary or a binary number to its decimal equivalent. - [X] **Simple Calculator** - A simple calculator to do basic operators. -- [ ] **Unit Converter (temp, currency, volume, mass)** - Converts various units between one another. The user enters the type of unit being entered, the type of unit they want to convert to and then the value. The program will then make the conversion. +- [X] **Unit Converter (temp, currency, volume, mass)** - Converts various units between one another. The user enters the type of unit being entered, the type of unit they want to convert to and then the value. The program will then make the conversion. - [ ] **Alarm Clock** - A simple clock where it plays a sound after X number of minutes/seconds or at a particular time. - [ ] **Distance Between Two Cities** - Calculates the distance between two cities and allows the user to specify a unit of distance. This program may require finding coordinates for the cities like latitude and longitude. - [ ] **Tax Calculator** - Asks the user to enter a cost and either a country or state tax. It then returns the tax plus the total cost with tax. diff --git a/unit_converter.py b/unit_converter.py new file mode 100644 index 0000000..ae79f58 --- /dev/null +++ b/unit_converter.py @@ -0,0 +1,89 @@ +# Program that converts various units between one another. User +# enters the type of unit being entered, the type of unit they want +# to convert to and then the value. Then the program makes the conversion. +# Convert temp, currency, volume, and mass +# +# Started: 3 March 2023 +# Completed: 3 March 2023 + +unit_dict = { + "USD": 1.0, + "EUR": 0.94185, + "GBP": 0.83362, + "cubic meter": 1000.0, + "cubic centimeter": 0.001, + "cubic feet": 35.31, + "millilitre": 0.001, + "litre": 1.0, + "gallon": 3.785, + "gram": 1.0, + "kilogram": 1000.0, + "milligram": 0.001, + "ton": 1000000.0, + "pound": 453.592, + "ounce": 28.3495 +} + +UNIT_SELECTIONS = [ + "celsius", + "fahrenheit", + "kelvin", + "USD", + "EUR", + "GBP", + "cubic meter", + "cubic centimeter", + "cubic feet", + "millilitre", + "litre", + "gallon", + "gram", + "kilogram", + "milligram", + "ton", + "pound", + "ounce" +] + +temp_units = ["celsius", "fahrenheit"] +currency_units = ["USD", "EUR", "GBP"] +volume_units = ["cubic meter", "cubic centimeter", "millilitre", "litre", "gallon"] +mass_units = ["gram", "kilogram", "milligram", "ton", "pound", "ounce"] + +while True: + input_unit = input("Enter the type of unit you want to convert: ") + output_unit = input("Enter the type of unit you want to convert into: ") + + if input_unit not in UNIT_SELECTIONS: + print("Invalid input unit. Please try another unit.\n") + continue + elif output_unit not in UNIT_SELECTIONS: + print("Invalid output unit. Please try another unit.\n") + continue + + input_val_str = input("Enter the value you want to convert: ") + input_val = float(input_val_str) + + can_convert = [ + input_unit in temp_units and output_unit in temp_units, + input_unit in currency_units and output_unit in currency_units, + input_unit in volume_units and output_unit in volume_units, + input_unit in mass_units and output_unit in mass_units + ] + + if any(can_convert): + output_val = 0.0 + if (input_unit == "celsius") and (output_unit == "fahrenheit"): + output_val = (input_val * 1.8) + 32 + elif (input_unit == "fahrenheit") and (output_unit == "celsius"): + output_val = (input_val - 32) * (5/9) + else: + output_val = (input_val * unit_dict[input_unit] / unit_dict[output_unit]) + + print("%.2f %s = %.2f %s\n" % (input_val, input_unit, output_val, output_unit)) + else: + print("Invalid conversion attempt. Try different units.\n") + + input_check = input("Would you like to do another conversion? (yes/no): ") + if (input_check.lower() == "no"): + break From c34e077650a75f9ec7f65741c54c2b16e8839715 Mon Sep 17 00:00:00 2001 From: Tykia M Date: Mon, 6 Mar 2023 18:13:47 -0500 Subject: [PATCH 13/17] forgot to update the complete date in simp_calc.py --- simple_calculator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simple_calculator.py b/simple_calculator.py index c4052cb..182ac2c 100644 --- a/simple_calculator.py +++ b/simple_calculator.py @@ -1,7 +1,7 @@ # Program a simple calculator to do basic operators. # # Started: 09 February 2023 -# Completed: XX March 2023 +# Completed: 3 March 2023 def add(num1, num2): return num1 + num2 From 7ffe64947968354c059afc03100847426578d2e5 Mon Sep 17 00:00:00 2001 From: Tykia M Date: Tue, 7 Mar 2023 20:04:14 -0500 Subject: [PATCH 14/17] Added alarm-clock.wav, created alarm_clock.py --- alarm-tone.wav | Bin 0 -> 190668 bytes alarm_clock.py | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 alarm-tone.wav create mode 100644 alarm_clock.py diff --git a/alarm-tone.wav b/alarm-tone.wav new file mode 100644 index 0000000000000000000000000000000000000000..514d2d2b80ad6a26c24162b84598cac0d9a2fa5a GIT binary patch literal 190668 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%0A|&a(#s|K1QtJ zH{oEA2JeGUygw-5&YNMeQ7f`io5LEv^LeK&)6v=0GLV^9O`rwy{vk>=S;lt3?&shi<{$;07oF zpRm8tGHj5r3^lMp!b#>6m&bT<8<{<99=nUp;nuK|`9ADt5q)deg*_seX$|bpyhPWz zKO|$(D%l78xN@j+n8$L>drh|PnkLvw=b_N`R_)OCQ{L8GR-E$)SBz9IlG~I!WdF*S zOUFv}cr|81$AlStXJ#MUlfu~qY8^X+KFrN!y@Xo64Gci@VJ0{skO*-LVJLS*n8dvm zdhlLi*S`}Mh`re@R0g++wYWPVg-EF77Ks|zmY>g*@QC$?ql9tditYsHB(Z>tI0n|^ zgzy~e&Q-wMjGgbtl!o!=3|F_q2sdo2HfWiN`rbU-e~qTjgA_A6S5A z<6{sKJHbZGF{TTZ&NQRSnGJL-w~~F%f8~?Kh)jYOR4hD2%lX!@t(c+9xr3qx{^TDE zodjQWN6-PA@CJ;46LG!<$RbLMTjQ zY5ESGK+U0}s4mP<`XSqtUCQ_8L*ODPvJ$bv7Z@Yl6Yg?{RJuuvfWVK3+3L zbId1bXO#+{>I-(zX>me^~^om zMd8$U3Q&c#7d=$ew+#L?M+y1DIG7E;3I~LJf<_p|E4eS+UB<|_WLv_zmAI|V$2 zLn1yX5L{EXl72;7>4D5Z?m4>yUgs5(>#(V8A^17R29_%|sH^;(unLdoUP1?x z!?j?&m@?LbD&;;AdwC7v#qV5Q*Y#ER)k>7>)idx`GNtfVxIx#_&8gm0 zBPxN)p;@Yy`Cn#O+55r?z8_2#P6%QAE1{U{DePf8^QY+$!N4qme(W!_je7-J3qIhc z@P^;a{iJ`-|+&W2bd;aLmgL7 z9pWO%zPvvX$j@_mvjgql$&+TztuQ?yt1W5l9p_1SlRk#`MTe9&S+;hLW}epPS-Tc+xV{NxP$g=1(1X60M(mpLgN z#^;bbc)>l8YwCpb1M7Dp&*XI7GFB1y%;TAD4u`Od3d8%r)=D3lLHpZdpVvkG-}>u5 zSM&*f;ocPi6TPnlCh7zI*Xq)IpLnkJ8LMIRuN9{>sgj}cxf}zdC=KgL4xzQ=AgUWR zjY?$9)O7AOeN?PvSK)1z5r&KS-qBCd95x3mVZ+gHdL6pR+ytrOTDw2*DNN?hF$OlD zXiC?+iyl!)3ZCU%^m%?8 zd5pi}&SWRs{pdUk<^E}8ot^3>#3a))I@%s1v>+!)bixZop!AN$+vAkiBE3=n$wy(> zmC78*6M0VyZh~(Qs2V27RV@v66%pLbW zs;T==W-L+2&!gIc2=*l|6UyX=QJ(5g%**2iwo&as2E`%tNqQLUzzabcNP;)mB!MP- z@;Y}h{in4h6=&AFchsw$6}3Tb?}i1`erpc@&b<~p#bqjFc#bAfeaI_8pJFiiOf@w4 zCHr&_YV5ZlRN=QUw7{?+knq~$e?wDX2vy9~oRpkYtmihNQPe}$gWOJ+6FN#pJtM!; zcCsb+mg+AMGzYt~0kDuJg--Mr6wkJkJm51Wv-t(!DH{&9auxh|<}15|iJ*O$23HMv z&XvvFbm#E(WGOnxOvJDA*X46i8`VLqlSd;-u18mJNrBKNnHM%hnk9KJNdTRM8^TR$ z7Uy(cq#`Y|$!?}(*PyyA$BLQ`t_$@`NsD5rEe!E6oDV4095OsrK+P6>p>hWAMl0wz4p5irhh#PRgPKL| zV&;)v{CG+S7t;_WvN7lZeHP;M9+1k0;(DQlbRtwrI`bpMcs}H4DuT7qeX03$b5|2m z>AFnUx{h-?vM(y2Nl6(uRsJ9Bs^Y)`4xY2UueAHTg9Q2X7u_$Rc))GVtRrCpZ zsUwrf1G}#RV(moOin~t$`6)K<}VIA2IxQ}pF_5tm{+ri(0i4I}^BN_TA{eU=5k&cbT zS4S;%$!TL>x%a?*)HKOkRwu{c09Ai**P{e8YFucC${)GqyTNMtSu8*nBQZ+Sg;{J< z(qNzCGMS7Hqfu+MR}V4&R~cnpR>Rxp8y^uzY&qOL@&;B7zbPUWtF@zai}gEw+Zi7D zkMqq6$qf7ukr7f8{UO8}9qoq)Z_@2B)M#ew<|^N+jF<}R3Ey$ccniIdJ4iaXw}g{F zMwGx~WE)ULy}+s&Cz!yL!&B5TFqB;=2^8*2H-WbJD|D7~QHWxQ)l?Tc%6*)4*bCiF z915zdGm%~F{!iFMm0&jZx@#Iz>s9X?7FTRHf3M25-L9*4J+RqieFEv`F+HE zeh|?hj3FKH5!Dyin6v0RlPbKRj>8Q05ojrResP-_Su(Z6jO8wT_w{_cWwFthet6-z)lC`f#n&W4)}cWHfe`KMz|mk^D+g zSLP8?PDh0DEy$1j9%?Z3Wo<%hc0K1W>i838G3qQ_$0Ef&n{v2-JIm-PC3&7qqb9h| z61^Pd&g;(JM6f%L?oBr3yE6O0L*5}B21cq%C3iG4WM_4s@$uTJ*awvxb1O;7D&JX+ejXPPs9?08So6# zf!js?Vzv`W4B<{=bI333TIw0!i6!_a>}Pg9eV6OPBp`nQ$J9uPX7d?>oXcd6QA4To z(Ot@C^1vy#ZURnl0&| zYKPw73N~8Ih_PgW^@JtObh3U+t-A78)wYsdwVTTp7zb7!vM#PKc3-zig|~Ej*$l}E z?Ig`{-+jJ60`dY4Ay-5Gio6lEEw&=e2UMG@VJ5zfnwi>{Zhe4>OrOnnnq5f9N=VV2Ymwx}lJtF>L_?eq&|nO^1CZjZ^B zzj_8HQ9bAFn2qYfjU<}TdA7cGi&19$QGKyOTbcj+ZMCFyWc|P8CoKDF8@VOcwY-Yz zEK_2RtR<#C>U`w7$m~citUkQZe@;N5?!9iWyua)) z=nXFk7sU>17*#|!A{pu)VWwY_5$qg#7H?*^!o&Q2eg^Z4KSy^0e{&_s%uIt1C<$22 zs=+X^?><9+VW8WOk~;g*XI#Ho2k9exU{|1jQLJQ*G)1;m6|TtFc2=e8w<|4P6Y$0! z>o8h56UE4t%o|~{dpZ5YAtz5;{2j0BRvC4b`zowulS>9xW|hvaO{q9)T3%~%lvz$P zGf5vwXP{Nf)Ef;&-V6LD2K4a19ymR?d3fjGqv1XQg&`OGPJ~AKtPc&;6$S2*kI>UX znDQN+BncrW!X)<)uEF_?DRgEqBi;E-E$PX%XW#KJ;8S=BhH+cbFZwLLfgOauBMYSM zNT=c+GeP~7r_?6}nQ{laUp|d-DV}h?>H+An$8h|nMx*SnU8o83EcCKyqkJA{^Zjfd zp?+ILjvhj7)GgVSQp~xQEwOl#0~%gAuhreLU98eIEH2Hed|C3N^g(&Evg0*xDi)f? z)|NSJ=4fV>I|b`5tWmy@E%ln~dB|sqLGE*3zsGlm&nLqdeOuid&kAjwZlk)LE?(i( zYQO+RS6YI`yVdMQ=RVTx(6|lGawp+5I%gBW9mo7Zt``EB^Y~|ejLeH0B45PBslKrT zloX}%C}u}_o&)>6V&r=b>pi-AnLOrtUe$1(^}6f2$=;aPO}~jcCh(VbTF5HR_^@ee z@9;g!TVaXvhTvK7m;M5!S2eOffWzxC*Oi(GD^+PVR#$YY>t8XhI;%`5?OMM5_xtL5 zC6^m+mrr-BtqG?E(_@(As*_FU3>p>wpTVL|@tf;8&u5}$xnYEdpEgI{LY0Mg5vSQB zakr!|SS%^zB2WOC#U!`@k?%b2Om$Np#u5MjO7tdp%H#HZ-{!<+d zQz_EJO!(fAMVNO`IwF0i(kUJedsj57zJ;@0<=Hx)ik($Y%I1|T%7>TbSF|XbTV*cY zRokVEHGQcV?PO}2GQ&&_D8#u{7Qy&?6oWmw1B!7zNuJ~V1g~K4QQE=U9g3wgfAJ7O z9bYB1=MOM)t{K^a&2sIaWsXr~rv1BXxMP6xf$O1TKDEbrohxv60do4j>`(rT#}e#; zp@ZV0-vZT3zio;`KC`5M8IIu9-abk{pElYc?;VCa`houMbk?9EZRgNq9?wIUsfLEe zDWXDZrH6wgl8FH<{NkI(pEt~7jh+LT4eDfKFE-2i%)Ov)aJ{N}T*Z$nSbD6AE9qTb zQfjC@QLZqKsq(T+s^uL|j0-5n5-jk}e91qwPO%)GQa6$A(MGF=dNtCn(W`X4mQ#P1 z=Sply$88m7{9mXr@{((YJJQZLKU>y2be2wb#zI*4+xuECx^bH~JJ`_^v?R942ePG_ zmEeGPq+(GJ?m0F*#=BGa1;eV4a-BWMPhS#P;&a`9QGln<%HVgpfuVnT5TUyj&JZu@ zfFLzi;kOrd@xH)+)P-;hHDj0zRUn-%e@(^UP3dlcBU^Fx4&3q8vabG+xv(bKJg^2g zkE?xeYFEF*{Gef^b(ba05pAz<=Q~x*3}Tf~N|#}m_|vlGz@RL}p{h_m)nkn^P}4?b zQzpsG*cZ;kUnIWL=bY!<3HCSk{?-i3G4mAD5z{1-tznVnVM8a!a?@F|!qP#Ab>5U} zXkU#MeKb6h&j~E>TovBWuSpCDt&J`W)kYo)J{evSvMXdySYE)&@Uw>2;lnh$Lm$h( z2R+6v`BezJ^hIo<<{3Rxv5U&blc+-Qgb~K6YWv4E z!S=>U*woGu4yXN&bDcfMJ;ZUI$aWnh_2e+B8`G06<4I;9h~OvS6JZNk5@;qrfNho| zY_!~o)#5M2T_GQ;4|~i}L=LkqbuKequ+B8LFkP!FGnO|z@40mNm@a0oxQg1NY)ryAbs)l-^azF#D!mQb~vt059 zH?!C_05g*Ds#0{^tBI3WA4RGk3A$VmdX>0q8caI!bZnN1y@u{?`$$kmsY_oo*gm$R(DJ=B-*mks$TXtVZr)Q)**jD(BQF}? z^Q-Ld@dPH%qaQxPa7nu%AjN-6XwUG>NJs4a=@Lhi74XLiFQ$uo6-BykQ338(^hmciTjJisEg}4bUSyTf zm0AoN)AwKz-4^;X3g{!+BHAnzP#Rc41;cRWqfp0g7Z&m=;l6N}H^X$H8od%U;JDBh zLiel!m(`Omz))M#y55$u{-^C#Wb zbR0HvM$7(}J(SeXdz(%f7#~;=8Xg%E*)v`nU6XV!dPquPR9Z^ch*61yLh@tU`!@<7 zr*{UtR!=j`k?J)Q(Ph~o&JQf0TZ_}oB~+xlia6*RNxpW4(grudtZ@IwMG}1l6A=TA zWDE43$_Asv74&6#75YvOLEmT`9i>h16MY9#ObFb-9T)EKyZGh8C9b8|3qshLZ-(aZ z(_lMMPYAk>?Li!+tL*JbxB0&7ZGB6JzB2=PsF?Asy`T1|64LxbJWi{esy@93wWle!G4<7rT49sz`_H5VO^7mIeHPi$a@)1pNZL{L8!IXwYPnllWd2@q$pXrn+c#EhcVDXc z$;>mgM=u;HvO4Cm2QK|;=&M^F*gxo8SexjqsBVeFW3HvBW6z~A(e-KWh*c>|Lt^7& z{I^Ev^z#ERs)6B>v_yRr-N277~IbJyWJ2yHf5#L-nOqIJ0Zzgyl zj5>k(({C|EAI0U2kJL&l@h^0MWHTLz^`oP~Q91zaWAeogb~)dl8_)j1jig_3Rn%er z6n#US=_%m>Hd1&*@8&c_0khVzjLNW{cdu`_;Yg_MZ+l&F&*D|)Hh(KwYdKi@&i1_A z=DJZ0n86K+u#;WD!{|He(ULGjrsuZ6-a+fb`^0RFK9*#T9hmkq?rBDTtR-Ve)Vj3O zp#h2dfa=J9^(}%l9@&Od(v9j|R3w4y7+y{7Cnty7Z#R7EHMm|4TQ#DjTXnAv0p zwu%_e)seX1&vb?N#hKS!ai7wUY+zl^`Sdzl4`QQ9>ug!K$o5xdp=D6nJM-ldy~R@E zW6Lj-xLQ|LQCI4}^V!xzlApv5)g&-p|F33Opd{#UM61}Av56^#@k=sRC8RXQ;+2hO zL=VhZ9EOsf1uTsoXvhv8>2b?&LE2Yshn|vYY&MrjN{Cj@T${=E-JEapv!*(RIKADg z>F?w;VI3V03YpK6t!xL`Vs@$A&KTvR8Kqps^pwu0XG`u-hru{%8LXyK`5W{?_B_3Z znnWLV3$)I?oLxv<;D^$`A!2u;1MEmxO10y^xigt6`x2s^+2ts#%eLiKt+Z?^n`|Ce zGS?hf(%hO;$~v}G{7v4i{evS-8Q5IcB4r;~>NU>ePT;P&FJ0b+DPR zH*(B(`_ZX128Xequ)f@VX>aa|d<@%BF@qVRcuoH+-$SR!!f8g*g?b5|lPNHOTEIP_ z)-bE7He?eDa|zTAr;C~IKF@R1A(Y3p!5D6&IAOgmydsY?Ql~F*)SM;aTV-8aMVKFy zSxliNZ%l)J_p#LcuCl)`8%;c{wlHUm?~u1+wxTD$&?`jE1}Xw!RBqg|#M<=SlnYJ2 zCO>I*Ghu92WX$UM+WYVYwP_fw25Z0k3#lI{StP=UWz;G74G%UMfUfmENhr? znYEz-+6UML_f~2d(*sW8H{nixhx`Zkr-El@DGt&hiUz7q-atXwE$RtgMW$leWFnkE z%DD#eHNB9`AQH$YjuzBR$KT8=7vzhmrJxrl$FqdflI46lT2B+qG3OEY4D%#=ZryFm z%&Jl5`0~Z3w32kw@8X5#(&F#7j-_GlZFQ-l zw$;_#Gw-bYX=+*C*EFpJH|;5oG^ZC2v!#>_aLub2O*N|>Caks;$XxUb-D}0JAW6Wz zn6q())RIOsG8(eWQ;pdl5;kWojPB5Aa@fMu2Z0k4uKJ9M4D&qWe@X7Gm4Uw`o7s=d zN4ME=S;RNXa;q-H+Q!)0kzunE*;F*=g+?Q-JQnR$HscP;k5ad!mxw6o65^$FD;X=F zPVJIusC$wuQj6M>v$;9qp1}a(sr!ZdFUJTn(Xo^{>nafT(hy4&Hp=2bqI@+#;4-Uc z7CGiSOO0yl@@mesui|f0pYnaC%+j`|;^HWC<*yXm)ZY)Cj zQocB7zP~E=VchT3rH%JwR<&r6=G~%w!quifqZVeSg(aq@1PKWrefve<*2M-TE9JWO zm{z)!`CBE4s$r*PZG<>41dFIh$GNwg~f?nUX`$NB$iv zl4nZRVNLi;w2yO#18?YJ(bw!V-K>0S`lC`~9#?V6^t&|198vPa8dLh#@w)t`dujCn z_N{pfUPHI>oT<1S*gW8HOhf$P)HzK~X6CnCk#?y?K*G$XZ=w{LSHjw+_6pvSc**~F z3~rbZGDdyYD+2#dO7Xkd|A=w+&9?6KaTY}_ZTYh<(Xrh8ofzj1;X3m1sHdbB21^~x zCLp*^@~vDNzS6Zth$r*FVA@x*i*5_1Q}?(;>JD|EOmWX}540U|#aeCOiK$pOa(K`}0rj$0`o^d_BQL>D+8kf&W9bUgW#4PjObt=OGHHGPUHp>7ff$QWm?tHzw^>|k2& z2DXKC6QZTqt5sr)CGTV^MWV&MpkD- zFH25cOY7e?f;GR|X+{QP}CN9tnsCJ)Xyl5s67D`P>k-ASrO zLt?%p-;EfO5FAzzyF2(grZ9W4Mk&V-OF2fDzma;U*!Y<~n7rEY})WIf0SGm~1AFuj9^f!`P+F1o9M_<9zLi zH@C7I8-6%1+g##$kmCwa0k|p;lHuA}@-v+Q|zi8TR+f)C=YO20uXL*5;PROsjYOS9?M|<_xL3Z_lfu&4+(KX=wA~wrz9CWag9coAe6PL%+qNYv{+| zISE^mcBOkYX_@KDx}BCR*7)qSTT!~i84=Usv%{{&ehS_b&H6jT)Accd7THQo3(Cqa zF+a2<8gCg-7!Nj#G(WZ8vF~!fAa*la?x_$UOcxN>jJZZ{c5ZOh8}~bX>IM<*jRYNQ z(F#+Y=TSdu5>l|?;w;_Eo^NrO)s}g-ldgYVRlJp+r%*#b{XvP#|FFzAxB^%Bd!S^` z6I2JRiS2|l&OD@{kNHDQsI^~}+n!%J)b&s0L08v`3zk2B1Q_w6VV0V2ugUgR-6gkO zPdzuwy@TTem&9F6Y)CUV?ULE2MNWoy3w83mCX-__Q{P7ZPC60(I$?I`nK*NxKKhxD zPgsFE$a^@G1y7pCS=ZDT)~~J~QtxV*WkS|{cBd;`oYwuz_Tk@fL%HeVIfi-%a!)XJ zbw*deb7$9P(0v=$@<;8<&`~l8yU1VTR6}@avsSw zigFc`tIvb4172arLoZ5BhV+I18vNKbie9cT`m#C4*u=cKa;jxb=>+?26(^ z-Pc^|zG;8OOd&S2$6YF>zx6eJq@lo_P?h73s60X~t4rdBS%1P=>ddO1f^6t-`RR)nZ?t-mJ!@ED=~e4l z)4%SIs)t5-^%m=mx)9eJQwuu4@qnG;ETT793Yf2^1=NMw_wLt~+o;ENKUtF%iam1z zHcb4Vgo&7&m?iYI@8N!#>X;km!@>u7_V za0u2umJ^jTtbdk9*xUWib&dKxlRQ=O+d25hY+L&;srFT0-#H?Fbed7MH3mUb0&HUQkrp|9)!(REuNmB8-)M9s;4d`U zw;u~sG6o0ziM}pmt*(l*jVe8E*Zi(_&Mi(SPyU9EcHeGWPZzy#j{8ySI`C@-J*#4! zWQTpO_6OEEFy1#KnuvRuvZ`5=3{Bpxw3NKWjAv~IB$u`vA9J>GbX31ao?*3VgM*~W zTfK)wO_mR#K1m!>#O#fO|ne~l(`ieK6BFQFFf<2dK8 z?-gWTsd!GV;vS;R{nXXMaNm($CE+zu_C!}>Nye|-!D%p;ODEen(h6H2j{75Pdi1cy z2g18$ObzaoGS;VYbQhVQR}j}4&!g)39*!%{bH-ye7wce|qG5LVUQ6$)zRsBX7&_nb znfYXyMj7izaX#iM_CSL#wY#>GX>FOw&2#&}j>1xw5V|?d%wR_~oZw<*gPq3|`>m&? zF57&?7gwof6}4Iaii`6V&(ru)JgYfFuLf(_J8UK)H_x<3lwESv7msope@=B*{iLkD zKOHp9dY5Zo{ACoiwp7Mnt=R_~nf5AJCe0w#>SCr>Sl`rt{K)7Y3Z++xV8k~v5cK=A*K!RFJ7KVO4s)j7!g!k>a;scD#1m}|w3!=jpGpKv>7qKyATyj{B zU)tN&4^!u~?$fwY$H5uTS}#i6pVcq^dZXl+nQ8eU6JzqVz>AR<;gujj7!Q@yL@^2< zh+j3+9LGwpJL$67#N4V|>=t%QXFk={}Y&&e=}71y!~2Q^KVWS`_9Yg{FdyZstLLcc^)_Vn~yZN{Yk*Lqmf@Q$0CRdqO;aj3^ZdbX`+49@{q+*8ScWF=8^vYLccwIGDVEMpoGHIzh^#ZrSc9&ae_aPgb zyOVA0>*yx*MMom}-ss_sZYZDznJ1z+dyt}@_^K-+UHS(OPUGWTHd#?rg|C9~L` zjOqDH_$d6g_PO`Tp#0c=32c_UQLnZ|jh?kBZ8o;U$yRAy60%3O{*igQNvn+c8QtR- z#tiqHrfaDki6<)_an~d`IT^HY{)2AW4a{t#$@;VGp!GyWsN+IS8*-<4Ihkk~>)cYm zjZ|94vC~`(G0)b-b;x?1%p;fEN4oCTms%4WUbv^3-*GXHOVTSOt9ih8^9^BNdKbDw zbayF-ehc@=`y9IJbCJ8O_9dIb&6GIXCiKn{Q^$&`+B@Ix*TjC=^J~JtQ@%cZB5n&8 zrk3`3pH*r9r#~Vs|0uBh9+OzxSM6RThnr1dso}eU9Y#j z+%YA4Wb?cxdoqfX$H#^S2J23EO7VC_G5ZZXbZ-#WIaY8RZ49%}mS#(-RU1cF3^UbM z_q2POI=Hf|pKL3Qi=E!)#Z0O=3nN|0?o#Vy@_;MNnd7K5b~2Ti@*OH`1ijxm1dFAI zt5?Ih-ep)=&`b7)&vH7?Y48Z?T{av;F0BVS=ZZpM35}Pl(;CfWAndS7qr^d zp2}O*epAPPx?Jg!*6mvB-nn10wr4g@eG&UHFh$o|>m>=1EoAL{OBbXs*rUnj*2bh@ z8|H|y_Nu>9)449WI>6GRLE+qJon?15{OS16(2A*ct`L?}hv-v|MpRG7D%XG3;U=Q) zk@<-w)mHD`>6{^SqdzDFVYkotIg$1gf&uxp)t zsZ*9Q7SGBb#p{ZDep>tK^RuEiYYX1Kk9{=oi$~#_QsPrjb6(|IzSR9ulci?--UevH z_D2j!-jg=5<(|BrZAW%^+z#&$)A@4e1Kpk7CwDAvZ)^UjNkg(Jc2U4uU4=Rc8zCuR z{$ct%U%2yZGo6PmQ=EIPm5z0eQI_%6n!0~$ZC=HOCQ<-1RZKkg}XKf3zl^6gHA zv3HZ-rapfE_1Bw)m2tmrIcJ%t@yc1i?y>K{Yn==50jBq=7M4G}&$&Mb-C?hWOyy4d-E)ogK4V9|KZ#v|i=lV$ zLB-kN(fYiQ=0Rzp!O_J*ZIX=s`_etUW7CtQRCp6^zTa?1jK`t!{bZk?sg{9Xp4GTM z)Rxr0ocYoEVDO_>_pjb*`LyDn{ck2cBEIZ=)vKb_x5oDGH8VheI@j~7`bo(2&_VG< zi4WtNB(zLklxj=3pG<_uM<;}>jp-Jc7InqYD>PYZ)J}FCXH_QLzOL3@pIZHUN*p>`8K-i=s^?;!f6-v#@<4db&6>q?^l;`6guDgBY@zSf+uQG3(`_i@Gbj6=9Mp~|X zBH6%-70LuhQ{UEjWw^?_d-7jVj+C3R=i(@k%KX+Pr-$qCmy?JzhpxRb}@i1pf2Q5!S^ zVut@8LuVDx#uf(QxZ@Js-QC?OQVMOMUMkd`y4||FySsa-P>K|H4++FQ*|^Ki^FHl9 zoU{KwGvAnXc&x6r8cUua?MS>1!kF-2|gUrD3)HRer=u`w5wM`twoaeZKi=2zC=lfP&E$o$*!bxzCk zPxCwXeEc{P|2>wL`ZrDN)vJc1o#*A?BQDYYFWt8Kq5YP4{|#E=aXuX6@+tBKeqj_~ z?HmO*hebX?jfF`-=Y!U&5x!vQS~oM{Mu&A=z10vKiOpitK{2GI!kc~LqunhX&3R2% zf4y&E)%|TRtUKQq@oRW&U4uJqYpbge-+x6-AezHAbCzMZ$>&@B0PVK-#g;qa>^fa& zE*#f4o{diTJ$lUhY#-~Mf*JfNF^pc!5s^A54utrL-0_H!1rxagBJ!Dj4^H`zTDp<& z*Jw{Wh*>Yd*zZ*@_garE3G>HaPt^H2WP@U<`4eeJvbLu+#1_Pl2FJ!u_ic#tb4!Zr zv0oB%+#)}Mh&mi(1-`Oigu6i^ef51xH^7;<6VuPPYWs{{1Se8!ehV2^s}*%x#Z07{PWW?b3T`j$6d}p z9B?>2#9f+!`dNfL4kZ;SmQO`J~>h7h*hQ59$BFG;x`-I0DU%_Gw<|3tcH zQDJgb@yaO6!k<2u(kC1@$5&YSg&#n#^9_KyIm`9WEV=4@6j5;!>@PR!Qe}VDCDIj2 zjwoMVEOe9J;wi;Y4pWR^`$_^>;o|4aQt?0fC(#UQhtNR#2!yb+#5V;a5(m?!zeyvK z^FZ~gbi^mq+16&rFgpp#HroZNLr?0zLfchOveZFF5KCS`7F za26uDFV{ByVlFQNm&FSxOvQV=i+_*DMFv?m27E$4a9;qkwYLD_%}RA12!*Nz^i{D! zA0R)h{U(KII>bj+-NI!G5RWCzWkpFu^l0%P+Gzko+bndZRRT}wMzJ;fpxjaLLX{*v zsTHaR^jV-hP&}LkX+{xXdDz(qFI+t059Tto2T@`$2jNUA$!Fe6K>#I_acpFWbg*;t z=!r(p!R+7ie%{aZLp{G|5>gt|X$#sf3quFN+D!6xBh30o@QBx=7-ZzN zBu#Ql%9pHF$**(m65{i=MW4;ahaOBV@m(F~>3TH$q#ZZF-J;R65e+!*gd?prU<|gx z@CbffGabA}dBl(>&(P11#_Jr#BbswUxeCq0Dq>mo(s%UP;v=*>fG^EP*hKp-q%p?D zOwMV=QDC9gAYWpn=srNqp)9yNayBXpU5yUKY(oQR2h?+ ztbQsU6jw2qa=wqZQ%ZVXPHbq-8TI*9JZ$+reFM6M4JOYiif_z4t)A>L=mGcaf5-S}8u+>@!n$(uuN6JgA`|{Zg zjPx$8QshL-1=?vpg+xXUu$)7XEEIlIeUhy))@aLN?cg~`GvrasR5(ENizf==O_%Kv6>2z&|G-!E?+|yO?r2-o7VJZ` zHSQv6Jw^qOMYcmcpj(Uw4UL-n%48W-XeC%cvt|Aoqf9k)Cr^BDJ~!r3Uo=+q;~}B* zXYZ(ZiCjqpX>G*;}s@8 zfat!`M{rgl;GR{?XFrl(Vzf)o(*8*9P{Sm6+8(hv!&fqmy+HbfU#Y-LEOkp&bD%=Q zGt^nwZj1x!4R$|j3^Re4iHd^R!0Dh?(06@}Zcx2T!I3@|4Db;&2?H~ZAn)s)n)vgt zZTwyXe;oY#5Rv%%D#f`upA+8mPU1LrPnS-;2~QUy%)B*awm!&D&JDIgFHbMuAj|Nx z;i$yRk;~FNBKw;ymQ!U z`O@QyTUEf!kjbzQ@qLl8X`3SBGLD7^WPA+SmbN4?J?V-sFS^`wb;wtj7++_HP!F2T zdFQJZ6E-Te2r~qJ4sKN)Rtd#U(t5#Mu^;b@*oiw`dYj`Qf6n?Lt6)5k&ZOJR5Db=l z8>>g@&%3Ms0?4&3vPolsCK{nJdSidUB-r(c^_V0W1n~vbXkw#0)+695hDqLM7 zzboGX!~kkW5W8z)19i#Ztw~I`jyTj>ODbq)Pd#p$ML*U`;#T$fOUuSvwEHR95GJP^ z(IMW8o2~m~`x)cv_Qt8(?`mLK*rK>AQJ2$>M!99~i7;e*3;mjYF-VnS>3=-l%-bPi zyPIpk6-S=uxNV(Fh~;TpDCQdGE~wl%Pq9iS5W5EMyj8Cd( z8nv=Xb4S^#ULilIOclc=LiP{tjmazY@!^%^p57aiJ)Qc=XKk^Rs#ZV7^L8m$(05!C zHhx{Rk_-Xyn7+_gd|MPlo@a@K;hZnn-SutoO9?~70?|I{w_<*0B}e_2l@#ugsSLJB zKO7L5e8*>AjLy9yc+knw=b|0Mb))4hI|h0VX1&o(50#~gocUt*FZK|tfYZSvb5)`> z{9E!*{0db*_p#E7?Wtt4II0HDQ{61V8Bl{53tgZP!K9iis9nZ<++k=X4i8(4T47?o z;WQHER^^oRpYpbps(vDG(-7o;)C;6LM$@ib*;yq{Ix5XI-|3P z5#NR6wfFPH!Q(g7zo*;{Tj-yRO|0+GTA&r{tS`bBS!lhTyjO>HMjwqGPEUzf=H$jC zO9s$maWP0k|b2h-vPTcp9D`d8C;DD$DyjHaVzwf1sM>OBpz`^F^E)XyfA7*53U9B z9*2SQk*TKK`;_93G*uP}=w$K0BGpI97p+#lNk@^NQm2SrC0?wz97m#x_F)K5Y3{>O zI(xyib-ks`>Rvq;JLn{K9j{h_rhIe;O0sTtP-hi}IOt-m+TIp%!HZzPA853WV zF+1sPenPx$zH1aIn-ID<6C89et=7*o+1JYuEpwS31jEnqw6l7K_rq+!*6Xu1j{t!E zoEbN@kM@)_jZsJ4$c^Op04({aoZiHR`e=0o$v| z$5k3GnAL$HW?kS5NOSEREmMjV#fv?7yCrvdcNILKS$k8iF;G=xJy@Bnye`}**iQ9j z_KYu~ZX5nVIWn}J_G5S{(_!QYS3CL>m`|LiSV38%Zl}hp{3+KpXBh7wZW1et+c25y z7AI~BAxvAbKLQS$NJG<$rjAgjP4?2#$<@p`R0iibEmk3m2TtY*BOyttcgCX9j-vS~MM||pI>fEbB z=Q|dAbs2P+UG`^mvUcG z&hx7nNfM}Vj{2_Z2Iw918~g!o4dR)lME?XO0`94V%vFMyv_iI+c7d7C3}S_G(42XE zJ^P&K7-x@|&L9bN6YGUJ<1obqvL5mlh_&g2F7=^0ZjEUSXJ(ws66dWb4bLns>WY1z zaXhRbDLzOU_s|a$Q|#3mfpR$&eB5@S*LUnYdzgMdgv~p_m60z^xRAaN&zWi*UB-AZ z$q>9|UsBwazR(}h6OC8Fj;1^E4)9t~D1`8IqB6l=xtU}@9j-c|OV?K$T8&iQnEpT6 zR>>4EnpMv}OmEi;1^l(N6 z^DxbVW1tQ4y6C0AAUy?mJhg)tIQ)X=+rL+`X*A9l#oTK#rRn$RvN{yGC2)6IW!kp< zkm*nIrdQM^xfU#lSd+FoI5Vl%UlVu8TNAy^^-ws^ZYp38Zl!CGelcnWp8@odzf6V_ zZ;WV3_ebb7=|miVCf!qhOjxL+C`ZAIj7JSB&0T3Ce-@C%NDwub=x!5>GwX36f zQrKm`fn=xDf4NVmKb=OJ`!91|1vX}0&cV=CsiJ`62|SqKKaGR*CCE{`5xPO|q#*;d#2wV%;_H-W zGBF*kuH|3TE|KNx=b4^eH)e<{Rf*hE$#cd5;5c)ERLfhS+avWrCTVwBEdm!f31K_j z=Of7;4Cow(WZ7K9Pj(F3p9v5zG0R5+IhTg2czr`S;r-DqyqSZR>@8i6oTZ&F1Sx&< z)rnIs=t5bm(`8&uFxGcrVp&Q@_WbE>Ma>Juh29JGNiT|TML1`a2ER+(?e{R|u?H!f z>p%)TWPa8IrWawm1V)97lE*kh7#$0mK#U;BGsYn7^OI9RBy)=r5BM2s745JKx&bgC zk5Qbb8zc`VadIR1yb8hg(Go;2b)PiNsw;*R;I#T9CqVg*eoIzP_fj6^yfVHJtw$eJ z#oKro9y^_f^t*3>PxDAY?sdu4_aO%axx9R~^F$}>(ZF%ex!za2H@!x|qJcE-rJj1G zMF)fd2-z5HU|C0@^HELmE3eLl1_aoLvaEtL;r8gu+Z zvyzYb+s0;jehdHQ$PE;k&-OT?^T4?a8R|gVO%9UqhQJx0Hxf7*G}^+*AleIhsGDR% zT!e11qzh_LH6mR!?+vNE1B!o>mlREt8dW$3CdOV@8Q~ZyYP2) zMF~IlBykAsa~TK!(b@MpCET8#*HQvu10)^jvtESYdFkD_;g4fuQ*KSu0)nouX=$f1Cpt<#=O$)LvE4h=)IU&^>H#-^N~)}xbhe2@)efKIciIO zp4^^Op&q7Bs99u&ibS^rdGb!6A|;2dij^4-i*yjz*WkNu&k=Pl-sqEddrU08IO%43 zwg5ep!`F0m@+Uj)2#dOIvaSBv(w8>=Vt;Kf;AVF}6Pb@5F*I{w=1alTU1^S?LH!Zj zIOjauET77GMGZ^yOFL>XIh|EbvC+A6gMAZ|y{#h;IhO|YS+=`VbwALL058pU)?wkm z1dgo+Xp3c*3ovt5#U(~KIW3JV%U{W-d zCWZ8aJVarp+QwZjO<{ji`7*jS-==V?>C`*=U^WGQLb%5Km2|nCy*k|Kobi^+UHDyR z5@tI-5VZx>rppKLQfI<%VOI}N;LuR2O}=+K#v z1|hmzv`Pczz7v@sMN>{=^1(8~r-8;vpW*rRVFH2sp5h{l;rbb_OKMRP%`1z0#y>be zH6A_#=rC;HmT4LM&DzUyC;1&k3FommleJd)lW|--XNsz1PdR93GXkMRt}8Z5RAo(< zVtX{?Ka!E zK$iUoW;|?aWS{BSW18*TMHB+cuwK-S`GR=su+{CMpCI~ttZTu}tdc6%l4;9E%PUsp z6?rUtm-%PL`KYTIKfPg*>+!d|ham<`pZu=24cH-tG6DMDiEBfP#?5+bi1mH8z!aFV)G`;f1JFOyqYB^#^l3!v3j8r?dx71{`BzZ|3kD`2vpvZE}XpoW2xtz|@M z?a15JO2S12ljNX3Nc{_|WaVL}3lprSNGLXRR9R7@JUFg=(*O|$w zl8Vy8oW;Bf$*Ny7=u3AMo~rCfzfr^qOGt2aU+CL{{eu%55_MJTqp}yG)2uGK*+}A4 zO?NcqU(X9#ZGQtNXpAV{Ikj5nz)43|NikL&-3doa1layQuUi>_FC8Le%mo&b#^Cldu(x* z$IZ)8uXS;tD}qz9eo_d#v!{;O*AP9t>HDp*M}MvncDFQ*IsH3Hs_9GSLKulAirih~ zW^2G9Hn2A6U1~~-uI%k)Va3hLm3>9w4M zk&s|8TN|uB1OU<;dN=7r*LS6Te0E-}`rX(t$7wI4lka7on@|?s}95wZwf)V@{hfN8>@{HNZ>DgmA5bkK(Ew8su)K8Y5CLO~PKSMq4~0PiwOD6E>A%jp~z zP@j$@a*7D$;%nqWEuVP=_D*PyJEJ69T?bX$Bhh;tt1NSz^|oT@g+-?8 zblX(d82cP&y46~nQtfADAY+)6Kk)b8msX#;)F$nR*FW&j{OaLvkF?$XRW^p`Tgq!? zJvH?ablZP)*cuuTo|&^Y_eiBh)z_7dt6a9kZ*kk{xNE_toXy8(-I@6=aaR1G8_3BY zdjTes4RdRz@`t2DiQPUud2LUS-s(W{A;0Q!6>Bm_KmciZl3kM`{%BgnlCdS zEctolg|21Cw&2J{ejR>&#~IlTo!Dgl+kdb1LWTEQL+t1 zNps{TbIjxjVYcy=>>293HrpZ*l5Jaon(fewqc{~!N4y7z4S{j&$PU#niYHLU;or8lJg9>smiNiJ2qz`Qfpy0`d%Vy+~f%N;FV zQjxI0Zoz-6Jr|E}vRYVEdu`g1rGNZ3r9H-O@bZ>+Ap9n5x$N%K6Yec*2h0Cn=}l_l z_D*X{AAHqsIi5F#AZGv?mJBp1#@pQ0-|`8-tc?l82WE784(6LIBq@4Vgnu6r;qpTN z&rB?Q4J~3dgMRR4>F9%O@>q4PFbVjU9&$A8%-N!S*J&sSIrOvZpH=J+5z|MZq zNrwjGLfdN9I;_Lg2;Zlzw)etM)=$fKolmRY2_9yB6+d@qkbRoyscBA`avn_*$MI`n zM?hcjlQ!J}e4n29^4Pkp$60C9T1q|@-L4=MoM@hGMY9O}J@iuPRzkE_lw?{|L zj?8>gIy-%5(w%VI;151EjuUoFvj>(lQEZz_;8*sKbi17qs;_Q2GKMEd{M_rd_^9U^ z@oQI@B+YTJ_VIsK?4ohpVV2-{m-R&K5q?2tjntH!qWylPA8mNvcZUDbGXWY53kDerCrmpxjp z{y~3;nJ&HOvJvt*^r00q<(a2_;i*W^azzGic5KPB*;^{>i+@yZOsFpI@N7<+!Yv5= zZRC3%lHYML6MV;yG7@a8roiU^5f-Cwjg3Od<9UYlM6%M7JT4~FtOa&#KkfjpfK3pR znV#Zd#txp@5R`zs)qhP&PP4@< zT(9kEt0(w#wo`bPUAR49C$xHLvl+MDVm&MvwM&Lkou%w1PYyx5BL~`A_``2oo{@m| z=j@xZWW2}LP`1I_Nw1ABCh9fO#BhaZa$G!2HOU>!MD8yx zljS5_$TEn`+0N2%PPgnncT5bh53vSF{^Zw#<7CLtKF0EKH~uurY$=#4Qm0G$3W;Xv+{lHT;k zr77`Q#epHw`O%J=_$#nxFPid!-4kF0cYvFKSimX*Uu8Vf?V$Ilp3v&#r|5H}*Of zr6<^+n}jX~b;EFwLD*LCRcMAm2|B8Np*tvXRZ_TvqSrJl-Z4@MGjQw=4L=-B&g_Rx z}*T3R%wRCQ_ z<{h_91?E*LF7psF5dXXw#y=#y!&|~%#=FiN;EnM96BGzm0Be9$V4E;qgcm-O)kanm!U?QMpCT*nam(Yo@U$=`Z$9&U)9g{7t`OfpuhlhpRCZs2yNL`riobg}& z$Mg#YIVtyZ1+nYXYePW^T<@;%D^9!oyRFLIi_tdtR&am?PPY)fUKNed%eTTTWj~=i zC0Wq7A`eK5uo?sx==BG96`B}snZlmaC9z=N6MC`Wyzk6f&MsCb2gJ4KHwg{^8gYeG ztQb_b=mzv>A^9+SIJqIHUe)mFm-aJOteYlME}SR7>%Lyw;v@O zu75i$`C31C`_tm#d!H=`)pgS;t$&~K=J#w;1yA`RiY51Lf)P<3PaGk^f}pVI?u4cU zAZsM~Y(Ztpx5Al89tHZ?lI(-wHp#R7DUsLRL;=(6Uwe33OgOwm9k=p>Zo!^6UP7vM zEcgvgI6O@Sg#&T~e6}R5Nz|Gm1$=H;jjvUAU`iZ^z3xU!Qij z4WYs?Xw0nSruh5W_{5d@J_+M_{;~4xSrOtiiy%VW4X-7k<4&DEbvAykax;ou5xUXh z5!?ZL5gLx#2ku3@HT1)4wU%(C>JIFj>?3reXfZf|KdGO|Hdn`+W?&rcstBOi2q~2F zJR0>qcO|2p|C6&*!~k66B85P6$dm!&!j~c8*yFeZW}7XJnPDssVJpm6BM+ndLG~ui z`H9>^)XBQe8W|@{ee2#ZE@>nVU9P({Q2cr3VEE@Rqd&hrojUzzKDV}Wg>o6e4BpS% zW;LYWblC}i0?_a4I!^W-ba=usH0z{e~hlqI&bo1fWn4T*9Vdl zJ$!b=EOdJq^29;xbI69}ddR{K&&9p4uE4%G|B80TK0}NleIW@jxh@=hQTfk+ke=56 z5IXCKoI-U0LoEA7xh1+WwNU6YwL%z6t^_)$DIzh`TY8hvQ*=pPb!goH#0h4Os=_4U zYRpt-U(FVneZ(TLLZmZt0n`uTq(7^fl63=S{Qsz*X%~mz5#2h^jb3SbZ1Q=P4Q2co z9qImYjQF#@mO*Ik6}b+@>CaMzQ42-?tX~<-1 z1UQ`)awvrouqtt(&+gcL?uFquoB)3h`*R-qt+kGPiw3)TGnJ(QgTb9bz>y80%is~s zbiKRWT60YFR|OR;QlU9w#R&bV^eTl43`|`VlBd1`PbifV4*iAfDQB7T9x$#MSLA|j z8jd24z}I7DV1{rl*sHh!Oe$suY8X)sn+@>+-O*#T8sIiB za7Or?L~2A}+U9VFw1$x7Df0rSCEfGA6o1Y$I(ms~QpiHbARmccgDchs?fBKA*+ksa zV>iPUuq;D^{)2LjiY)Gt9T1$8lDTtbbJ!x8oQ{+_QWHe~$lbt93RPTB>zChReN_M9 zd+QhykWr&v2O9wGMJFS!VHcp$xJdL*6Jrs8N5i<_t)SWZFFFr3U3FJBTe?p`;q9lM zr`wO-p1jc0Nzk<|887-*LU_~sjMUh4l;+d=hj*p7UDiLQ(l4hvA^7|+xKQPGn_)<{ z(@_hN#~YVAf7hUkp$>8G5#gy@!e^$B5 z&fd%=$?C056_$*-0c`*WX;ms)8C;qxTnXfHFPTW32Sra=<Gtw;DGw~cML^7R5 zm*p~Fs$XzF8oWh(P>CWQ%F~6Rc0g8Qy%Dpp*O8;>VfZhTD^X(VvFg#S)jd}gtHb3# z72y&$={Es~|Ca8~)Q!I-`wvu+!n$jTDV<%U*p4E~qc#yUw=-V2aNvmCa(qZvM$UlN zvujZ4;!EbKx@tRn^fH%D`+we1zMx=Z)VXk4iZZ+{eM{K;^!$)b=|JGhwB`QuQ#Sa_ zh=X{Bht7B9`QCEKbF;ACX!8Jb54FzJVS`eAmiCIC3Bq}sxF=Z!+(KrMV2Fv6{Kq8A zI_ROYaJo)*n6XVY%KoGODu{)ylRk#;Q6EOmF=k?mp&7Vrct3gp{Di6ZMQKuh-)PHp z2-CYgk$qDHNT{-#4xLIh2520{ud_88@I;3OEmC z$nD2^G!kN)@hFW2eadB__sXrUl#mk+tE~=tw0hhNu#dopx1}H=VOfZXhgmDaL|Kcs8R#6OG2T5!fs}lFi$X8%&+uk z+!!WW{El^5G0EJfEN7Oe##sp665dwu713?PI>j?|neGHO2t32A6spAjfSyCvK|~Oq zp;9+nJD~_wTg$o>=fz_tLf{AKULZia3pgcu%VTgmsXYwTgpqn}&hf8d^6})D8 z3sX;((o*TqXrt^FMuljCU8I`FvDIE@U)GwS&W1gLKv=8f9;!=Kf;(V%Wo{1HWWEB@ zg82l-!iA<5w|&|u)ui&da!mSEZIfnDj7kS1J?fB?4fDa4%cO29e=RkBJ+M zps`)7!C^M{)bJ9ou`$Ph zdM&Y#x8|K7397_+1%lN-)VZq$Wp8AMfC?E3cqyGSF&W|j2Ps_?D?2I;mAlHTC7zyN80Yy70~^1D2UWDo0##Emm7na<5kZDf~4RNYZY zv*En>hpthYrkkk>*AMGmKvv)((4=ud$J2c^QIyt7wy3@c-$=~a-N1FmQt^Jya!H*a zT9PIXk(MiN%B4C#)imfmbsfB24gm#9KZs8&iy>$dtyCyhP6ei-adx z|HZLW(NR@#YJZo&Fz3UL@fJ?lTv(UkjiM7^bHiv`n1rdF^fYoVRY+!0Z0J>txx5Z8 zK{i+1qi>Nf1v|@oOw7I4Y9CFNT4D&({s(GR!wtD|K;tD&Q`Z156qf`SMIg4bFp~96 zlr1Qc$RsWjM?oqn@J>f1I*y@kVULxg>XdKX$QJ)+5xnn@zX z*V$409mE7Sd9aPSyDy)8vR}lS*LRbZ+dBuiId;=@xRm9`eM5VM^E94h>`hvY_Y zOm9dHC=JV2R77Xwl-x_9=LRG#&-@Zu5~uJz7%6>JkNH!!h2twvLgeE~nj4 zMl)tB;k>u9Kw+!k7|)MCCX5j&R2<16aI|C`eoI2Y=;hwlftu-#0)4itH`vu>yTQ(K zmGZj&jVw>>ESf_*%h@_~fSJ@)$Jo$*i*>hiJ=3A%1_RQ5RS+?luEEoZut90H*?h=J zhgY`0eSZcnk19!9mHM^xS#CBZVqUKZ#lB)nvik9I>AlQx%5vI&^ghO7E`onfyjr?X?WR^5lQsQ@2Jv3Kg8NZ7 z%8XIvlBtTbu(aF0pLfGWdZ$!=t~n1cB!zG1GH32bxK+0HZc zfLjfC%(V~v!uF2lFnEtFQ?y6$X;Q|F=)K6;)%J_=-#-;AyZs--rFA=<)bfk}rSFMa zO%cH2B~Y_TBONcZ()zgivm#ffOiPuOK=c32$t>)fdm$@-#-gO1c^|^q@i%;?h4{E+ z`efMPT^Xo&TU!+qjN;#yeqlEXgV{^?WsF9q6_rJvOBYZ+azsp;C_y-)3XthQ6Uz0F zTT+xk$Ei_+spj(Y#3K3iDPI$BAzk^;bRXo);(4FN5nO}fk&p&{DnVdJ#N}pb;zWxh zvJu<;syHW@-pVZ>9O)Vhn~$F`d_ttjCV@6?@WfR{boX`!sr5SZ>pwMnYkMmr_g@EX zakD3Xb}vyCNInTG6_wy#>Kg3-n0@w^c+H5Ikr11*vdANEuCllM86)bk<= zyH0fj2m^P^jBuj7#F)r+RV*VVOLr2!$?i>UP>iwyR0$Hjbcv#uyIVTRu{IG=nxVHP zpK(r-LUVKRT=QG9yEZT+PYXV zZE@U<9Z;s+w1+8aI>eK9la!#zw@{M69&4+%vKvP^d*!=f!)8YBP8!Tl$ayqdP*hv( zlOv5a$TqTet$&|`n+=a4} z9Fn?EUZb7H=UNwH;av%*g~ObeQ0e%t-47K3>JJk^x(p|X9v z5a1|B$+|&*L9AgG6YP05laED_^kG#w{|bmFd5HX=l7Y&F2x%>Grufyw2U#@jo#Fy- zp1MXcM|Mc%&0Qgz&I!`^2`JEdaSQH&*w=gt089*tdP|A&z1>!wjni82Rp)>39>-1a ztCsH+JlPrcE86Dmnz&Nw-r>1l6bQ?TNqZP&&-zbtGsd&RWy&5ssizRL6;?Dn2qAOu}9DuiR^*tg1Om=`v1<<`zE>x<`Bkw@(~oUIDDZK9P1<#Hk|e?&vl< z9tGDpx571!lMueyB2|Mji$6G(!-fqm;HLH7;Z1Zg1?RexScjT*)cA%v&dv6H(w>nb zqZf+`ixgRznd#3s1zY3&s{)=!xu*U}y*E86=f&KLjHQ*8@wO%Bg00g_{5%rRdL_j^ zaH$MmX!Fm<6BJ_hSoYcwC_*VO2=|D4_;PLtlR&!4yfeOo*Fp3Y|Dj$`zUS;T^2Dv6 z4`Q(XCU2H%BO^uT4F%oN+;E{ns>=|T;r zN1`@&P<^xI>ckEo!C}ry*b+y+frnnD4%3_xpJHLSr6YYjLH_{1rDv&dLr)qjqnSWW z{S(fa)y5E)4}I1T(ILRGuhk^m9W#}Ut}Sk>Q@G%nr~9S1ig}dQr(kWm1K&4^BElQR3zu;c!S_Q@sMeP zXQ(^bMIcX+vtc*?kG6+ht|xK}74D@YkmPHrCE9l0G4LD()m)5u>oV%GDu@u95Vx}6U&8Xz zzi}UnZzkuLSI2)XIvJLc-WnX9loW6}Cf@y2z%H{o%S)zyUA5tWsaLH*YNov@oREAa zCyCGmrc_T1QX3ozcxh5Mm6EjrYz+xyTI3(jjVKmxD9AdGDUyC6K*P4aO9@|_{ci_#9O^$QaJI!v$vLU+^ z1%_Fw4z*D-#P{W7P2{na!)46<{Sgy4n*NNCejl3XY~Djz)l`LWgkq(v# zTWsUt$o1|C!-Qv~AR|lDHYMQmb2BT-GV@br?az8vd@7NXc0E2INfTlnGTUjR?MlmQ z2rEpQ!3Fk7!3HgoEL3DOt_eR(=!C~ei$xd6ELk!$M4Uu9CU``OkgQ-FQ~nZ^=<4K9 zWxx2PbW-H23{Vq+U-BEQyCM=NQ@Mh#Hdu(Kq1t7Y7GO~wCSCj3+xI!je%`JSEH>X?Bl1U%*%O^JFm3AByF}=>5iF%tPMGLQwviP zqKm?JxOLlC*{DzhrdBOBbggQyakUICduH0gaETAuVI+6%2l5o}9F@lGCv>p36XJkG zx>9zYZ>jHBj_P96dd0YOhkBm+hxCNv1s5s$Eubn^h|q=~vc1SNsyK^5>2z$2l#XR7 zWL9UizwA5J0?VV)ztF3u1n_euVALv6rlvuTrWZ)!FJY7u;Z)C&vf(rTcJ#Q^lLnPd z=HnTi;q-h$3;zP6SIp+c8Kl}Mi_ca$?!De>zfXbMh|0*EjGGzcX*-I$%1_ODHv8_J z8^ukJl%5zOH|EOF)Ak&)F~pGah`mG7DYNS zWgIGC86HIy|95wFRxUde^pn7TXL)M_1H?XP;FBne2sSbAD%Yj<}ih=HPr zbmt6AcjsEu^Ue1Y)-kc3=en=^JYU*&%3`p~jrrSrxiusYY%w%}r}Ux9#k&8=P8k2K z0%=6j>B)N|eqA{|1Ff3D^!BFl^WAJp?_?A2UwV=xf%{48rF@J-<7T-^T(Xs}IjxQopZyUCp(;9l5^~F2?=vEOh(VN@KppWCq!8AZev42h~c^ zkl+$6m5d}`nt4b0LyDa7p7>0-HP}plH0~hULn=}I%WHys1a@M|VJlGs&@qTXJD?UT zGsPImX~|u{RpF`6QJy#Qh0j@xfR*MuWLL3Xzz0ibpwV)N@D2Qguvssb{xxz23Hn*e zn+7|uPJc)7OtX#~!Z#;z2zA3*J#)LJepK{xe^-yic88OHkLUB2(%=$b_I-_uyvBSI zbIReaRe)!c{mZD|{?x40_=t+%d9HI?Dv#BR>niK6%xj&svv^ZtcfxKjgeTpSY4HXV zi(wcI;T+W-jaFPDO`?;i8_AxeIb<{uivKudK27es&0I6uCuyCo(R*-uQ1|2{+zcev zdJihb{3_JjNb!EBoi7W}-3OmQMTSwt2XqETWVsMQweZ#*z;4zVaPyU>SZ~p!_LvA% z4N6w3OytK^v5Gy$1gJ&TCpxAaWjl&}rstFX*FVwc^!Hr*@$T5aONX=jGp99^yI2WK zg;8DhM7BYC4Vnj^MvbCcE%upz_lR~o7bXhlV7L0BZ3q33uGan!eWmUipC?w{E>Kgl z^K0Eo3%R%snk<~uP4oQKa&DJ$Jtq>J$CN8>QZi&`XS#)nV;`t{y1opp__L^cXP2~R z-|*65#Ec(dkj-UI^WU($B|&^sO{3zz_K1vz3{bDPd4u}vzSp`hFw-L}JT(XsQ4w_~ z*fJL7yD)mjHpO=a=4D+BmY|hlV;5F{)9m7jjon_FL_iv#&}Y2x->0t+?Ir+!tk^rc zIl#Q(esnph!cib>^0$KQkGg8rm^kV=E6q0SYvSB+b+jP@6IGXRG!l}zJA6)lXb7@o zhi6b>2CgP)HRMxxqrky=H~Ajs?{pBvc4{H8XL6S~eTb5TwwrxRPvOqhJ!39KHVBF>@W5<`Z-yNA zk0v-TrKOM8JqJryyc5yxozr2nKh}+g8RRmcS$kEwT$w5%%WI`OWY)5?k}CcR#sl`z z>8p(U!<1`y+3gWskw19`*+16!De(Pff4;v4N#whhK0e}IiwzD8Y>t08F7GF=e2 z5B5}4idmqzV%DbKV{sC)*5V5y)jST9fthXc0D1@msPTv+iY$XcT(0sLuK|jru?h@0 zu87x4f!peF(JtT-BT&A1nyLOdt;ZZ?9<@hFkiNh4J`s)PWeJvU6Di`57pb_U$4R9* ztXNjj`iKjqR{}6)IL}w54UW=TD67Bu>rh!~DEa>aaimh*!GXg-OZPVRtnSX4@*clY zvwmrx|B!X}`O&~G(u7lYDFNtBBpx43r1crkYFuM%dz<{PlEhg9)yk}~C-fW4d*B0T zN5e}46>!!+leZe*pjC(*)jvqCk=}2w4u!o}HR)a{%axPBTIp>0PX15vdCo;Xj>BOy zxSgz9VlBr>^+xCdw^YDPR)Ce5S5g`FjKtMGLS5n$j_MCLv;LDX?zT8>Wzf2e(AZsR zPH9gP-{pLXTvYI%|B3>l>&G0xx+Cqp$?}9%Fz2YnT4m5%;IdaTuiEMf;gb6E=zqM^ zW4CE`lQAI`jvog;90OqPmfxl4kpdP?n{eH}a#;asn@uL|Fcw~A$_YC7E2hS99=2pZ@S^OHVOFv_7sIfyo2Q%_Q62iLin`S55`tr*Bk8DhDsIeio7I>Soc})ZYQ`?#xd}mzZDH%o-uc)k#vsU}bVK0w_1cPDe+z;*Eufu!5W4=~pm_PD0m{t6xp zs7d&obRlbR;gLe~s)NOwYg>!lYSMBZmH8$e&ifvEBzd{V?(j|472aCZpuMH8)^xeN z0wUp0fY(|5(kF~dl3-?{Ou;Gyu5<0xM8QV=76~1CTJ8ux16+W00%r`a3R}%KX%P59 z1ed=Q$R)0V5=n{hqvVa4Be9c}N>%b^*)H%Oz*}=g{Zzlt*byQ?xX^g$1L!*g41&-Y2q+>bXedr=^hhzmGmK?Ks zgfe)HxM0FoMz|-=&z#9LFFT)KReP#XGxtn>Wo=w0t_%_XGW%1IEbfr&>%dV9lLM}lp2Pg;>I0GXq z?&(Wqo75M?q2OYnSbj#ZOuk3>QywiTFw)+a0YyLx=%U=Il&W1d4tj+y2(sUB0n(>$ zH_SFRZnha+_LZU$#Y%>SczVj7^QKQvdH;LuH2Yi5l+BkrQ-ZJKGgWQljDqfWqSo;t zl^LTEi3JjDI!y|^65ad5ETfQ#w9LtjL#5-nQ8nfH&U0*XORCe;t4nUh?#?_GI6r2a z%aq?soP*Ovn0r?nQJ zjm^(Q2ZhI&yFT=@vUuot5bkWArLKe>kd3Ic0+pbg?R#@1;0K14U=>Ke)ufQw*=pkL0>v>t{$m zrl%ja5lLq|{$oz`Zx=ZeQdAC{jfhDw*XnXPi`Rc)y@C3j-0vrxhNVt2YJ{g+z4a;ig|GyhkOfjP<8%0B)oBgH>QV9G#qmoe6I z53?;qm-*`yVo`#IApH+=#rS-;z+Ti+We_@B8Hu_LX2MaxHpqXn9$l7%t8o!8R6iGA zQ+i8nl_Kd;BYmI>s8$f=smf9LpymYNqPGUsx==-twpnsbRmFd;D5n1ubB!m;vXNj` zKu;*`+n+#k!0&3(n)Z*BhR*w}M*}BCt@vQ&7uFisGT<970d?DTwd3>PUm;=fD^gME z#KNxZ{gvx;>D4Q#Vfdf3)UI%RL9H>8aUi1eB2zARR^M&YJEC2!WAl_aa31ZMy` zrYhGm0&f9PL2XH(~OtfBxNaWq<2CYw0mD!M&&2>|H|Ly(MWx)J`@32k>c z@Kj($+<|0i+TVhaY(~ZP+_IYQ*-vK|rFoXc#F283hOA0_>bWK4f^DFC5$2uc7M&0L zvV0WWz;6*QV60~yqpYQ0p!Cvx83SxLUZ;3O9Hu%cA2O7HSCG3^4JO&@IoNJhJ+@VO z4)X`>LVf~1!I|>oP?a=aA1qB&4@ttnUE&wAxkdv~vbaZ-D5Hsffc28CT37i;{VVw= zU79pevq<YD_q4-mWTyWfTj4W zCPKEn@rK%wYl0G~%WXSw6rbPT{OIHH-syw+&vJ+rJMtQ9ak-akpQQ&>#>Ouy3=Q3y zdc^BtxV?j;cY;}foi)@2MF#dMFY`IP)3iI32SmG>qr|_&Yg8Cx8>dRJL^2Gbz!As| z6%4&vqcV-xPMRlb)|%I=EX^K(2__c+XH+dfL+nz(U=aCXt+f;ho)CJA$-Gb8BqMYF zsHl-gk#7}o)Z@}VgFUbta!&D8$CWs%JNelP3r3je-t-BM=hzX(;eHxT-Q7iZ>ixpJ z)%S-JK3E|jj5t+9bUfqz5@WSXE@uJBJ;2XsR`chJEu^qMAc%{`-1f@l zc{OuTxs`J_XFQvYNmxB=IuxFf>wPB5(Xqt`V)4Tv8AZZ+YIkdIith0xw0*??W+W56 z(^Hc_$g$)zaoO@6L$?Of-9yM3F25*OLo+s3hbLf)eZx*iUJF{qf&-B-E2Xgm}lzE7gBsu{Ug7vW1noZcFnhEn|n&%bxb1{Fe`lpbXapz zqn7Uh3IyX~8~O%r7yc6?Zgdk390;M~`=7H$2LBN}8Os#!ntUr-KUpI?Mf|P(!C!(M zfXs2ub6ghe8+kd=Gp{WhSzVr2IPYWj`#O`1IW^-6Q^h9XcQYn^x}$BJ^Zin-Xb%4~ z2{Uzsg&BYO^+J2rrRgqW;z-N%=HZW|rb%Ds4_dHsiOe5>=-V_b6j}4pJ>jxU5D$ zS9=ZygFk~khIeWo>wW?d;IiaDfg{g}?#48kxlXg0($Yi|8m4~o62E@NQoMt_TC|Jg zCtXMTquwhTK%a)LbSQT?5}*wmiL=XLXGYB4m4}}9IXhtPK>E9?=0tvBQN(!4BEL7` zJuYZ(o%LorU(+m;CU~BH0JIgI;~4L-!*su(Mt0NUXK#`(Su^OW@7L&&EyY9ZWueCXk2HR$vML9`8HTpDLxDoo3M12=Zh@VINKhz@bkUo$BbqqA5IS|ouBu3PG`=++N_M*6}qGY z1>(qpWUfCw^nzQW*CX2$`&VY?O#dKGK*yE2G8!+I-blsb4Kudm_M}BqG}=MRI-aut zE<3Iws_c-BIEd&&J+x)?Qi7h= zHNj@MO_Xq#P1W(6rKKdvw6B9tSyb3B)&o(<^;MrBdLfm%3IBv}vm^Ddm20tunkv(IZ z(TMaD6P5J#p{ESD!Ag$BuqoGO$dk()@R5X0R;${n<}kjn8Apc{xiRdjLVH5jC*IED zW}Tib$`jOY&DvB8NnKZZBDO7aG^inp=y}L5#Ie<-$>N*MYZL=}O_{0z_+mi`o6g=t zi>93+A0yqMHdDOV2=;!_T8T<=MSWhI2mhge0so+Rp>9=wm2Ont=nCcX2di@t^7WEhw7JQu>Q1@9Ma&yf_?CMr_XhK z2$-QFC4b~z+=G-Aj1R;8^z@!4#>LK?>{H!B)@Ww{>+)Zmh&oiD4yM?_(}Y##G+n#1 zo3&HWj=<+}`RVI3hAQ&%c?;mV*XLhP8>xQF-ETDSni-$*B9%z3A?ul6X=?@T#0idVVf$6+Ma?&jz8|5iDX zJCN%n2XIk_PN##G5drajFJiVQx1?E=YVyYG;|hirWn{M1)+N0tP7A-9GUJmOMsk_$ z<6_g~+=}tF`T+i`zrlMcj%MfcE7&2tRV*9!68bYr8gqcW(U`UTl??J?l~Sp@;ezU? zVISzOWeVffv)IoS$H`Q=k|a|!)4PEed`H=DaSRtF%;vbtF9~)UN@c;Ol?u6~sa$Cp z4}7wDt7>(SYfW9=8IHQVgf4R&)zq0-$}cM#1&^pz%<@48#=O4)%*1v_cI%&~^o75I zsf|BBagB3+5KG*H`XcqP+6O!7^xHz>yU(jXGAYh2iqKefJ%@N~Ik72@;E{c%`mq)lRC_S4L`%9es} z^Aqx%>LXGgSDcG#%VGK+ilw=j2S2y1_r77W(cueV3;)8gl5?2{MIFpV{I%RZejgvf zo8T^_?dEPJ7K%zJXB4lP1Z{)hDLhZ+4a*n3)fw2klm}?Ga#P9``Eq745G=BnxJw(D zy+S!XPH}=Gh17{4W+GsvL#KMS>tE#($DQCk+x6->cB#5WwzklZ*2OTsX}ZQr{YrY7 znar&j&1Pu+u42AxU(FV@f2Df-SVBzw1~A_I)k#)Q4nU6ZwU!TH`EF^pwLVh!1Hsv$ zgxJZnnzXwmoAMsiiSun2+)jTy+b1SG-`*dcaNfls#Kf-6=NNXDqc3O&$8cB4A2TyV zCz;m#KF%O-hwwN*L%fb-A@HSK5jK&gr^qezqD&?0w88q zO85eE3rLCKAaIS#<%dj|Fu!!t81C)I!W!E?1^z4=^wAJmWgz=;Px+pf?Y*@F$ z^@h!AzX)$)AR=T}lsf4^a%Rz%Y@ga&1>OrSvz_L?j=NZ-4d_YIx`c%0+FkKoZ`$GL zp!^8aa2LrX%t4_Q6U!^$^m0E65_rL~*Zer?W>$gdFqtRIpk=Eu931SX_yqc|;ynDY z_=9Exdz*Y7tzH6WY?l2IGzf1Am(ebAPgCAV`siDJ0YVV|1#>0%Mh`gGWD!juO^VS1X{KYahqfXXHeWr?G zuYz<7HRujtCAwQtrC)Bm=d5D5iJ#CfN-pp#`KA0Q>Nx8x*?8g^(=_QvI|~pZi7C6IR*I+o|IiB7qMsc&7%jmA7uFa+D9yF z&cmmCs3W1i!`Y}FzWmxu00J&cu$^sk&WG)m<){YG}?|RewKjX+gRlD(1cGo`7XG@0{SUK#OK^*ENAHn z*C?seD9)vsSm{m*Ui+LSMF)%At*?S#TyE$9F9m$NzbEX4`>^i14IJ{^0tRn2O@n_& z%z&-p7Yyil;k4J^3sX}+>j#1Nb-kvqz7K8tlr)KMTSq%PjF9YPHbNtHmDcxc+q@LP z#ZjL!;0ebIgvrsRQMt3`_7~SSl$Jhh@X0JHZwWmc@9L8n)a>}isTlno5~P17^;H$~ zp2`atJ+f`ImvRyHt#XL5Mf;wkhiHTl6iQwX+bAl5xC#T17Zi6)!gVV#S%y2RNa+gR z3+8LKCx=G<*GO7CNt8^@W}KSN6h0?6Dt|C1;XXni91&RH_+3ZxfFu9s=YZYpZ;K>5 zJHqx_okIxCy^t{&zAi|;niDwlh_IxKGcNu4yXWg$Xy^Rr-hC~gsyB6OYW zoNOdnyF%lnftpVobKnIHCo`u+NW00Fa%-9=_?g94+X%9u$?^<@0er5%EM*&BD+UlJ zbfM@9I8xWI9_9vd-ZS^Ik)(@M-S{#BZ|W;0VCDs988t?ZVq*=pqDX8uSYkV@-|U7* zZuU85ZXfs$?wRiZs@uK>sj;X+g4j#Ya#+3a6AOkv)|);eY}?<#c+=L_^@PwlWqf;vq!=};Y))Xwz+AuCM;Eovy|8Rs?e2#A znZn%GF#9kQFMC&4vn`Mj=vB#cbqPCIewvago+5?_(8O-RAh}HRjc)X)^IBDH5@WMg z^8~t2gVj4J2cS1}A5n9Vv*7RGd=XBxjP-=|n>&~CHi+6(OQ4ahdeD%X0|8bnda}HTC|<)nyhQ;^6<6(SHEty z`MfoJF@1z=8-BL(Z~eQ55#rBRWW#W|mvgQ+3u@(`p zu(PSx1+E;GJYW1vhfrw|$Dr%sV#5ui=IRmp8`2BA6uVF5t9-;QW!uuIzb zKA5Z~Kc@$B&vH8yuSLC(?EukimUgjyIAV)Ou<3}er`4LEDr>i(`B*!*a9FHmHl)FH z8@NGVHd8mfrN_TLruFYz&nEPP*l$^n8-Blj={4~8i~r12Z;Rj-wHLxv<89+?7Kcbf zf--xuepHcaZ!DxNvu|))VZW$pS;ykRRdF?xc{Yi?i8L>&y9QeXAJKS=PssNh6Z(TQ z$*g7gbXvgF9qJfiBYidbDu=*aDjw-(oa#JS3-tYqa;}-!WIzwKlG>L#{7OihZ8oh63Q$ z-NB`nt^sbyV-8wfk6E~SEvksNg8jbx!QZg2s<+SHzrQ!u+;BhQC*~=;XWhp%Jgj4k zTS3qp+c(CIPqVc_2tR7NGR2`%RZ-C3vy`{;{koE+td&m|-&^^$eqhPrjBDAk-cLPo zSPlHU>YT_#s;8ge$_Ymp(UVUpeiJHk_mq};huFieXYeJqg1Z{7A|3hIP-}t3CfnY| zHCURNnAu)72dy5ON_9VEPXzH~DLs4a3L|u^i;E%{c|cT=EJ<(|OjWvRixDLd5iS&! zGS7j&%I`m->3VS2iw~gL;B=bUEeL6c!bOO&=@36x-BU)Ua0Gnccp6u#nmi znDc7k-td=2E6q3io>h=B_N=|Y5t5FZhL5DaAJ3jyJ-UZ5cZ@lGZOV?Kq2QSrLcQRF zdXu6bgE2g|zlz!6yVho3V7tx9fE5;bq2)HFUN;dRa3caN<{o1$#*R5Y%T1Yoe(zr-3QGleIB5B0S91LLT>AOLN{qdA&ua>06)bm?_bgZ*Br5z zy&wOS`R$pxplYOpvH9=j0p7>0ZR!1hOvxCIg*##4H3~Chy{0dk*d(gs9ncz-Cp9;Na zKR4-sUsA4P9BbBi_JOjN^72A>)%>K_MVNrYsa_7zku?_b-~||0zc^T{N1^tjvzuIH zi{oi6jG+~FHt7;7ZJGw{BDiV4PDdz4i7!PDD6V|Dk+E6JT*xk@b&|FCBf|+JHti83 z=f3+BuKoCj9@(BKTG#8V+ByEs&_^joAcQguPE9nsiR`o>;e4#O*j}>UYk$-#(cuWL z$^NX#ZrciYh2miecu-)F+>h%qg*Q#?4?N6l@bTi~_<5M8v} z|3HP!Vp*r@EMW+ujrB%1Xf!Q-CS8{&5cv``DOfa24(9pLh^#w|FHAM-EDPi;18dz%F32X|>GlXWJ18pQ6P z1ntobxg2O`)f&0lDq^v{BG^f4}*zLGPC z(ZpG9oI9GaGldN9Zb=WvOc>1xVyB7!aF8mr;0-iYl5C<>kjy$%Z_RqO0+WCAdyrm+ zB@k1+xrVQ9m4B5f1;@FjEO)Auyn^s>dTP8I?>EXP&_^_cR|7C|SziKwV5C>QYKD&8 z!!2>Xr^@zUZxRzR%V~XFe&B~BO5C1Qer8Bod?74lZBbY}GhZ0qlwIh5FfGt+QNnuL zjgfoJMgt$fPPi~NX%>r(GntR7d(c?*Z`~dhT2l>RRA}iFFh;-xwsS56VrDwvz<4Y_ zNJ|ulP!ar6%1zE2N)6`=t(*Ifg%t)1+9UzeS<;KDPjWUaRi(y8>HcT61NzGbj>xy# zk62_RWfZ`z4E^d=D!7y(F?#1%j^q^l^aQ!DeCSa7oj!HzwZ6mOKMbAv*)#RJ1HtI& zSI80xd_)G<%-%<1@LO))9re^bHOVqO(8yi7kUpO4mL6+#20biwiZ7jYIQ(svyWfTc zjdN01rPUiBQ*#hkcwnDrlHijhr zF5N8ldW|XLxw3(}L>5RM<#!Q7*c@Ul6Gy3FZDFXmaQ-Ued7}*Q*T?Ac(JSG@I01U2 zZNF)O{eJT?YrN@pQz@zn)?j$4e5@E1)^P(E7iVmy5A=JCKL3&3|NGv%D7)rnhLx>Cd=-AVWw{Rh}`gBGSToI{Xw zYmh_A-v~#U9L5stgY4&Q(RDM7lR#>{;t=_lFp%WNSwwold_dXD3T5u)_4D^jW+~9h zJNiLG26_e+j9X?JXETCZZnxEPo^=@x#G*07(3g5Tm?9exG%`)-^QXcHzCG_o`o68` zA9y#n_t?vj{@Jf0Msq&q5kLLF^1*&k6Gg2tiv=QG@h0vePhXP%94^OcD^uhRq8sAd*QF`?7Ujc+U*t~bItuA579Ncf8ed!cBqdo8um$- z46E0-87DYoM5%rRm8HIc;>dR(9*Rn#B<@w+A0|Pyn)XBir!zSvjD4wRh~lPgh9S+j0e~hJI@u7~9NBRQFxZm{Ef$9!2q| zqa)HQvYfN(W}VC2T~?B|v1}rNIqO7ZeePJmlH_XljIf`!hdq?04{X{INYiJAvq+it zE3{g>6tYsA2tB7g4rOTvpeJ=d;T^j3sFRwdXdO_8Y?kyv&l=f7TGkm=BE4C0k`g8f zB+uioBFA$Yss5ZHCWUV$7?GkCvsH(6X3+Nt1-cO1Vj6(kX}-~N6)xYh#=O<^A^JSL zL3dwuU+f@aQK|H!W9T^yu=Gg)JJ-TArqjsh($wFppW(l(%l>M77D!rTdyvVrTm`x2>niTDB7k1HB>G9k2 zugxLEIc$z$0PB7|PY zd8Qg-V1W+mBB>o^htP_`iQX>*?2HUOq-XlL$a=Ht89@uVMWs>WC+?f&H8d8>Akh&w=u1J>)E6>bcUxrB) z6y1t>l#K{hB*{F=BS5F5XazdaHQ=2~vO2Jyzb-MuJTmB$%oB4t~|l zRyFERX@0|Mwf`XhsxlD2p)6Aj3$& zN>IHsROmtY8kim#k6MkAVti2p*ly%J(-_1~%ul@z0+Bxi4l*zC$djuneZ2`&HNVe| zG=BvK_cRlRZZ%&TPx&S#&iV6>YrHpu)-*eWQnu9U3j*gcW2X(N4qzu_B%a8+ns1js zQg$TwSNX2=j^eJkySWn~(vBw*&iZlM0c@R&YW4mJR0ZSqy04^IJ_RYH!@Z9R>m zZy2m0@H=wGe*Q=r#(X_LobcuL_~`di;)y@SoPUS%70<|>kmI5c<}>=wE^92!gZ6l* z#C68}$jHc%<+YS@@a#S}EujG%QJwiJ@gR@d|gGo|Z zFm@^v7`|XK%Mrx#B9uqOv(&!8Dcw`m4*iI>M&}Ae>Sc&+hJ9$J!P2DDFpZJub|PMb zcG^U)wzn(S~^&**{N<(YV|#;9dK{$d{nWn z7rjyEjp@^}5oeW~brT}8%%8E4(=??bT^op>+S<8lO!|9d)S<0qg4$+7yw!1y)j04> z!o|C4n(0uqT=JjY83fnI!Et_McCaw{PqJ&ySmD#W?G^va-dQ=5A}EcBK9IjR0G5Vv zlSYTwGzKij-gLHszri)@<`{95SB(bZD7l}}^;|5P&pt27<*k)Fh$X;91woagP171+ zaLo`h73@adkv1X@3bJ5tIr||$StgJ(tZBU`N2E>WQ#3rWP*bj`(;9$J$`K_;Ua5-$ zps+C|2~nf=Kz&d@LMhcFMmB1`-bNa#C}F4anrFUIZjP|=MZKXDvpOG)-}tj+D*I18 z>0{>-cFo{EN#4|3)iLroVv28P6JTifgjhcb1$>+mhGKz?Be`pHL(6Ap%PZlj1?BD0 zcMFRH4`ys}4~oyQ3kkJ17kk*Es%)AdnV5gHS%&|BZ22E?0%xH}$ao`u%W{$mxk8zP zxD!|oCa5DIWVI4`2xOw(OJ5_;2p+&moDf(e`zj2^0bowNqtN-n=LVR}&M*TIbsN9| z@U+rdc1CL=cZVERsEq#e9QZOY1L3K1L*%ND7*+rmfu(}Yd=YhmYB}XHZ8qF7Dd;~x zxxa5EVYC-Z(e@wVl#i{GtRzGzJ;_I48+d;#YPGhm3(S`WG`Xin*G8gJ*Jkx)yOeii z&#CTA{ZiQxLz#6mXgq6`=kG*E$KMgxEbserP4XPpApq=GgAZi85-Hs#@nPhPK9Yk) z=g1x+9QCT0&Fqqm3oVs{N}jp^I;7kNza=Y!<_H(-8@b!GFFD=X&s-;cn&6)9k~rGf zl8I4=D4&8`K%s~PuH*S?&hgjlc!KBp>!NZKIQ z#HzH(%>PPWc_lN%}3z|-6?q<1kfCSxxhcc9-yCS zufsDX^OdKW)q*0@M@H~8g1T^e0VRUOBJ*k6$RJlijTEn@N@d}c@7fb=18RqiWZ7c~ zcD-tGD$vRMZ7eqKd%8aFbndRo=q&5XnuN?k@37bDXMESiUv|rm*zN!gTw>MlcGC2e z^#>#beOGf&u}oCxnFujPI)vPKMe4EF|UpYRAfLtZUYtE}`4?K(t~@(!d$+^@{% z7s!wBPRjNRPAUvynDU%FT=}1Jud+aWP+<by3U1cBcAeKF_r-ugmSOvPm8-;)L(bIOmT_1U=+YSDoua zS++^OD2w^dXE1d*H{B1-kTjDo;LoR}u!w{pMk(Hd^^O?A4`+2re@mQI{hF=%$8eU0 zXx!BAQ7jTbMOXNr1s%dk(X{l1Y#%VCs8>&bL7H5}58#l%AkXKy${Traq$B*j@{=+P zB}S*!%F#Gzqg6M&(D6QeuhRq7q*)zrOf^D<2^NrI7&D}e6bNk=$%a)vGsM3%EfxAq zXhheC#}t|4k=no0NaQ5@nbmX6SC3m(DdB>^{A6MpH>a#Tzd$=@IxW3I5lPQ^8F)3d z&U+;OksCI;-tk%RLF*!~D$^&nEA`hPBhs^?FWg4jFPbABLCu|fO20Lo$Gt?qEO{%e zS6V9l4fPPRp$HNI6w2NT7aFZOqbyUg5BHILiD;#=Oct&!Fq%v3fOz1Fh$($6K#Nla z_k>zeiR6Zot=I;?p?Qsa0Lgch!M)uPD5Zy^;km7a2+)e@6THn7DdiU>d)k(9Zi>mq zPG|-0f=2mh7oqBKuu>~m`xlrQCv zrRgHIsE3;<3gcqr?*$xPgsj|Tjmp&4!O-gJ3%}{L0d?JbFTB?&Up8pC!EEE$(T)?7 zY2PP4GsDInah*mIMdyc$g&uvwyr#cO{;tlslIj7q#)fQ$T>#iSFR^G2vJU*6;F7`1 zzEOF-c*&yi!o-Cy66cn%!*rR2fw?JNJ{#k!Jq99=IK>1GTS8p#LMW(qvAr~h{tqQ* zCSuYsy<_5EvKt|o#icwIUgLZN)RJ=jOC^9ft6N~;%3exGsd`Z*DMva%eGSxd%{8&o zwfZWRuhw2OBehphxdQPJ5;%Z4(=Nb}F2(*Bcfp?e4HocB}IGVcJiqpQ6t z3x0^x$Sz}037Z(A(MRm#!#(`tL*K-Yhqenh^tyAT?KpN=`%nJf-r33-;v{OdVuizI zTz)`{|DU)$Y51&+ilfDw77|K&79U8vUqOp#&RP__KDEbBpK!^mAqL@UANt$+sOK2u zAQli@k$xmsP@3^BQxSwClQ>c=!I4QJKM{Da5`jy?_4+3HJXECm8-gW|1)ov7CAQPi z@_l4aqoMSgRw3yzJXSx@R_pGGzbjIh-$j2ZCX%(ZQq?YYIKoBr1GgV=aQvt};(imh z)jJkF;x%ew<95N|jjWrp;D>caHY_vx0;dO22xvpJY=)G zKFFu1FTfAV(rlHcM}5tGJ!5K#XS}w+5t}d4l|#NW?ue&E-BAGZm~GekQgXrpg4v=LFZf zX=MG^HN?cPRt(?2&Jx|!V#r;w%yJ%Pzt?h4@5rn1l(eg}yo$W$%_+B7T3n!*w<|uq z@Kabph9D>>wb-vWA;}XP{m#DM|BxZW^c5>!cyM|txq5Ov{{Ga-sZ8Pm!fZwrDMc_u zzpn`5MH-@{HkbuUw&^>S3H-XiSvg5w25zNVX|Ozdy;fEZ73v;o7U{pRZ;GBzJ8~ik z(IWQDQDr6lGyFI2i8)uc%3h*==h_WD>UkKm+bi09u{&V$pVcYNO>n-^SpGv$Gx=DA z9W$3MAF)@kM|Saw|B49%pElvWnom%`-xmaD$5mPy|Acul!ofY&RUY~&Iw-}W;6?#- zu3h=|CGE4w3qw+2y-Fkf~!Ig9u>I518Wr{i_npul?VsK{)`J1U+qZPhhPZa@}3gvzrT}@){ z5NXH+!lAW>2H=&FLA0R*(H(;^)<5 zdDrWiMXN&>Iu%u^Z54wu6Ea-hgWn{No7gJ%ADu&6`aNpo`ir-ti1)+zrQf%+1_t7R zlk{ZtsOGuDY@67CUBRc~c^S8I&sE(j&s_Yy%zO!^5H`Of`I-BfXi2?;PbPFsTjH;hTc?<;`k5obMU-f;oV^(W6UCWIz&BR2bzgAT zRU(r$ikr}4VVogb+yMCnUV;$x4bPWsA&NOpz*RyQV1yv;fr zv~?OW1balIUAzukIQcBHuy8TQ*qgQ*%+;WLiWw+bIa4ih#XAbN47X1*n_qPQdU~i= z_C`1~`^!aQVXv7Wh+L&F2BR#PxWyhJ{$Y{3Q&(jiDGx8*+|X2pSn61OZjm$xJ*Ol| zQpAo)$gz$XNUd{Q<+s4V*TY4Zd3CIA>IT{;!v9fpmJMxm?G}y;1PJc#F2UWU)S*U| zx(j{k_SW6qOWoZKXep(*2MBSOiA*MLC+8o`e3-rW+nWthT5eC&#|_Ml*Rm z3k1=FB#<;FH7?4uZ}m}J5o$F`&*!u_9Rp5J!d-k{gS;LsA6yFn~l zp3@R67RR?-*1ZESa9>MT(%v(swgxnS=E?l9T*Z>sKim5*6YpQFBRXM9?bi(|1sgW*IRLC zcO!xNvR^GdE6hh|;8m{4Uind}NzS=%%4n18Ww3 zO388#?(&&}mz%%pCrD>0W^fe38Pu!1ha)k(#^G@S2TGk7&Ddx?iEOtr9^K*VG#722 z!4qstkQl5NOl;I)LpT`GZg{3{Q1go$M@{Ol{v&Ky|8mO5 zCHF$Uv^_NZ41HzOcI3zAk%sPg$s+D7SfA;+OP!lJ$`WUj&nnKYemraYg4CsX3uY`? zP>WtVx^UexyXq^`=4A2Ht_F|#oWsw6E!TaKmdm$sH}Ee~lh|dWUzjb!&)BJy8$1&| zU(&-j2szL^pLfOK0L@B00%D)3x+X_ z4`X4%?d)k#kyvK-f<|o$3>a4ta*iL*c3#L9XWz)b?zvG>jsyO?u~J6^>M~)fF$6Y~ z5S@x#&<-a_tp8iz51 zVxg@aNnna8(>XU8_eGES0gz0#!n{qJXEPDG%wCC^XZs9!$}S0e--+aaL)lsaHOwuNb7$ z_n;7Lnaft>A^U@dRY)6V7h|NYp_%bT_R9HHQ2qROP4}LCEq;2W<@TqXA!;i_c$MmF z8Bo1(`DuSDCN!e4@K)~68Nt;~OE)gET^7Ftzhw5}Crio89cR6+d7L#TLmha^uL;|P zC{qW?>w%^Gv)ny&GvnA;2Hi4xj2TZ&;}Td*F(mL)PgJ1bb-G%+v&a_bWw=MgPsl$` zlQCR30)b`IYjV&>iCL0&G*{Nrf%&X(@-f~)nuGWde~0`Ks8&asoXp>G-;jHp$Jzx-a=9QONy(gy9rG=$y83H=tDZnxW09ZpnvN~U3R;K^PuT))KFMXt)4lAc-S zUb?urtYl_ZOy0iat=TStg2<%~3%v#mNw{ac1B%kI5$>!_Dx-?=8Uv;3|D+7J-njwy)?a-_xWbI4CbIC~`WU0z0fuwNf$>)h3!;XIvlBFSdeRr0^fWeBkQR!KNE4wLiK)n2(JKs({FVr9 zFvC=YO4ETKgEx$|n7*`p-}z?8bLY352g6_JkEG2FFWdUwec>|bEh+NTLoX~6KFyx1 zFY>dqTM+Bzw=BIl%C^8IWo`CY((?Fk5g&tG{I}Tk+Vq(ZTNDa0G?$giVUKo?ZYSFe zUMAn|n=l&EN1z7|9O1ngz9QE%5GIA#*)C5<^kZRi<0Q_?te${H*@D3CjP*fZN%jGf z$R_W1;Xc9ML59%D-h0AqJ*Gzea#eq3+QgU#n!*UU zx;|jOYMMu!ywo<9X;AL!S5bAp6aOT9EBd(o+r+ot-{-#A))e$2uHEz|mwfWuS`E;n(RawsExGsJf_LDbPqZ z&?VfR!-+KG;N#(eq4k4`(YJ$_nTN^eMBgZ_Py$N)IR^q_aRgzUOPvW1ud6yXm@z2GVdS$%^g<18C!>Dtj+^?g+{{{yyV`Nsoo$G;Ty z&1twqxzu9M`_uDTuBWUwOy*Ni`@y#ah3SR!Mtqi6hchW)ywB?3{Q*#LSYWkplegG* zw(V>6Vyj#7BiCgthK3sYHQe8iA6zk5*Oxb%-lt+t8?=`^8ZFTZmJ*vn^4xFOT4W6{5=yJi*>}QEDNzX$Ile)eANbj8JN!M+TC#*#>qy0^H z!uD(U0YcEht5%lolprD77==`nTsRp<5x+2YNt1Nb6ceCuFjKZkEalYEdin!~a@)Xu z-!|{Tshu_>pZhGdsNqw*ZL}{^J03z4BvqTotMuqY2D8mhD38& zU~wuWbP#ZuQDd~4DfDK^sej2GLudQQ{g|G=1M|BVjP!NSWlrhu6)Q%jXj9qFn2$iL z3tB%tFcp^@=j$;o(>a1u?3GqL{(0f{NmIsMtSp?cExWilE#^Tcaim@$!m1yN6QNDOUS*v8yRrb>1y(9U6c*_r z35WBP=}EssHBzbcdGso_gEed8BY=xfOOHyuR8PQqgR7<%zFO~qsWVb>2s01A*rLa0 z!sNL3mamv~rbCD)niS(h`74>44P!C~CJcvlc@AuCcOH1u-bDV>DWrw>+6w_PLG_Ax z8-b8sA>s|iextbmMXh#^OxYA>pL;R6qxfC^;qsh{v*pV1r;3h^f1K)EtP5X~sqvni zOmeJ^b;9|EWxybx2>lG_IVzlOi^2=_KiMp^8Bl8d05Nn;@(lbenF}5SP)d%p6!Mp! zg?`K5D(^~*74w8EBsy-Hc#L}yKnOm_hs6Ouo2 z!I`3o%A=z3P`o%+r4?_40P!|ZDSE0nCqgQ{B%`WI*$rK_5@u3qM$Ipc=V5zc3lPP~ z^TCjE_E=VDHp#Ed!n>|&=m_f}8c!qHT z(gt=CwFNOBeb@SSeyASgH{=D_D!9%t-Xv4GX>qay@Em`Gq?JzMYse$4*wXO}SE6f@)};2N zc;;oMAxhM#9_7a5?PaSIXBIq*7NpmNlqZUP?nbt|Mg}1qzIZLe0gicy6?m+%5+PD8 zwsx4Y+DE`wXrmYa!-Vl*Fh2oo;$|zSas^NzFIHpXM{2){Eb0wFxh6#p>E0@*nJCtt zyN&Sz>VsuBdM%q0nS;q%YKxXkRX(PuXI82?#*)xP= z#&jjn&3{(VI-6XqITIA?O>-GPr#(-K?cb*+jwMzG|`?z}fZq5zRj^m<2axI$a{2^VhC|8e=l^WcX zVv|9wh4~o{ptNQT7KRXE-XlFQ{zxJ!1nvdbnopZTO%rt4hJ~s}n%VOGpq*$yvWUHn z52F^d&kWsUT5jST_gt+Ni=PET?cKh*?-9aw<9p-T?P8uQFv=lMg966-3a23XSTn z)E(R_oDDohtmYRBF1zV8+g+70ObI^r&n#X=@oR5nCdPYt9>voS0?| zGROYU`+5l6Wr_C$!UkdvY7N@n5MkJ*_@LkkPl=1UP69sLnv~@@NiK5z9#Z;*LKD=U}$LpCDhG-r1&X6X zW15{~t4v880KQm~gT-oY+AEP%_i;|uL0v(YqRW#`C!WrElw4IpP1#k^opQh8tMxvk zBT-)z8uKS}cZei@vQKSjkxQ62fiTTsF0u+aLr2wUq~icJ?-#F*^@Dwh*~)pqUMfoG z{g$`#d#sG53;MU>YICJb4gaH5WACRZXN6q`jlm@HSagh zP^?iyLgi!mDzFy#18$W_lq-PE${I^~yvWxrlkHW^GP47 ztWDoFes9`9WqR_9vY)Z+oCTqa63_V5hlaWw^}1_|vY&^@g5S_wfgVddg?l&)S=9`C zh6}@i<-!gZR`Xd3qNrP|7QZrGmZrng!L8_3>I*jII*4%J>OVMSSdH&7w&RwXA7XJ9 zSJZKnoh3=f(quwLIbMMSlH`9yGZa==oANW@t_qi}RB9!s*aF|@ z-aDecCmc*M6lQ0wonVv0pIn+#H}!DVe^X|r9;loa=UEUP8cqVd7l-b1uJd%Yokd87 zZ!#;PKQgo6J}aGRH%6l6QFhWx=t6d^pjH$I;p7_g|3CZe>nb#E3pWmC$taVfD=@)v}xCB66V5AAf; zc+zb%?I1X4ZiifCT7EMlgyAy!k}4W`LVreU;*bO{#Y*T9sDRb0wqh2jzv2FAoCtB+ z-FAC4rwLOurM7a-2=0tdg&8q$(6**sh&g();j!|Q;vcX{h?Ru$p91cJXNuF}W9n4J zR70(XWtyX_GN_c_)I*Z>U@F1!Vrd?1%B})Q^_M(Lb$M3N6f$X`{73Y^+`GZ2 zNo;S&@H;M(z2ocvdlIr523O%_W&F$Z8T7{CdDQF?4ShfD5qG;_P_jc+1Cilpw9j$( zw0~{9wRpla^>*8M)en4)DhvNpU5|^Q(kYFpd=E8xV2CZKcl|hhc|l=qoUWY6TF&e>Ub!Up+XNnmsg^afUMA3fuSv z+*B-88LZ4*BwC;+VkMek)C1@Yyvy3yzo{fxP-+4!M|TCb&}gz|_3oMI`gv-)Vv#6G zJeB1yie#k%hk5V7*Ak`{gw|S5r|S@<@MVZPIMz5p-vAcN4v0Ltr@2+MJkA};W$tqd zPY_A{AFz*pUNOMDD7R-c1AHo8k*o{J=YjK4IPN8$#fsry)W-lNk1#ewlMUok9fqzm z_EH9T3pgjG6q$$mi*C7bJ)+j+j2_nDE$6|@+CKSX)kM%i-K1KreW!CUgqiThSWCVk z((oMWkf#cM3lo^0!ZFrs$zp4za<1Z*?x~(^iAKUvGjJQw6}B;!XDB8pRn-bRg%3E* zEQGWu)q_h1Vx((rSx@@qHP-Q9Vg#L#Z*?Kug$E@3sDCU1+X<@Y%Sjnit?2-c-gC z+SU=#*rm}^41liZJ?2Nt_9}YSjk--Hcf?Uk5!y$qGCY@?73s3q(nX5fvM!Z_a+`jI z#@D<>pAWlWIAUm2J&RbM`!HXhj^ z>q4W0ZBrJdwB`>KyOhtFyuPS^yj|MrJTR_4wI*sbu|3QsE+=?Nl+4#Aw8Z_ruLt29 z(N_Ca7sHF-RnVg7l(8oIQN|38hPOksK-Q|5sadW4YpSs%z+S`WX&cq6WNcxW)Rh;Y zXy^N>=Sa30%E4^QG0h_QL4(@BRbP^ZiS)dK++2Qyc&9i*wG-4?(E3~W4e;}h*%+mp z9S-mH1mWduQD#~q1QUUUoNCSu&U^X={xsTp@jKcinTj3-USPbD{30iEJ-R^tp1ugs zohgOAfZ$FS@hgJOzDG!y#NTugiSoiz(h%#mOWh*u1s-32P`Vli*zf{{V z-y$2wz61P^wnh=lyr(|O+h??w&Vh-b8;CcC9mYS}FMvsm7Fcu5y zIKb%jCqF-`HgA++i30Soz?0sMiSY>sbKynYq8}5s6(mjklm4%yF&>fqHinq7 zA?k0cF}ytaeDJS$yzkn`TE||WNd0{HKb}bBK<{H6qBbzUFgP404-&kRP6ytrHDJ1N ziDsK&7j#LJ3yjEPSl5B4l#dD}jjJBzz)U*;1bnS(Hgdb^ficmrT5<`f=j4bNaF;4& z!d#0){?+!S_JJ$MLh!9Yp9w;uj|40;C%V?CoiU~29g1PDj0N%1$LfW|VIz=8KBYfEceu38(~Pc52bX{LadKd94%PXO&cb zOqx*86sO6S#z-?aMv>ANhOtN%|An#XE|&uK8DwFYw@gI8@&xQX5 zm?KV9{geNv%TnSrr-1;xm~Z=!M<$1?hL`%c>2Et#X}oZSvPo*R;5p~2;Ne(? z7$C2e?H>wL&Knw1C6oIlHtjo@RX-{@_P-OQ&->08O9kO}2VoI@K^};>PjQHhL-~8M zmX$?j&#zpYlQAhh^?F%x0xiETj*@GN&dYX{TsXnL3C22)suCBXGKiPSW?f|}OSq$6X-BWo>j@L%Euawj$@p|I^#WqgadNV?zl8kFJs$dK%J%J|bST{GA9 zh3cMNo;C+Rq-}(EE2hdbfiC7BS@#$pl#lFH`;VN_tsE(ot!iJv-0*c0d;d?Kcv=Tf zYtJ}{o1=l;Z`iL6I}v&?`ds3&xYHT)Q?d4%hKe4>!ZYB!t4xl#fJ>3i(Vt7aX^WIEShH4dJ9ZvyQ${zR+%A5ybVz~*UG(` z>RqGRau#W783|r7 zB{8jRPV9@q^AYc|JN?Y@lTc0$0-z5(Yvn-fVHy~XEWLHVJ;h*)64@I?(-_0tpTjmH z`e+rnkvZS6M)(V^lBJua;(B9~_&z*awGx$QVqwLY40tOF4y0OLrR$}9);s7N_ljwS zcp7fMVuRxub&vZ4@PX4cDb|()uC^g*`*9BDVT{OJY-v#20Wr`b7Fx5Fj@JDevoX#e z(}6DCc#g}D0@jW1n*`hc?pA7ti{KK#hPVlJ!W-$)>Khv98+5omh+XZE!ZX@4ESjk$;9g%+p@kL&M=#cL)c>~8`E1-8sXVV=F3`0QZ(6-7&`XSyE zu!QwS8OM2M&Ty5P6jU_X^4NkDCSeh5a}=AGWRX>J!d(M z!23Q1ie}PlB{g&h{wH!EKYcJn?n@OAj!u}P?lm}YqhA27B2F( z>3_PV5LR#$Jjc)|xl~)#Im%jKN%wm`wzZfu`o}~U{2tFI_Oii+Yz6F)HpGG8;NVK~ z$@54ENewn~UZd z8jkF_b#*AE0g_vkner&=O)!UE349pN61DVuDwd3%*ZHx15Dz6^@pbA_^h{{TvR285 z8T5Y<^~irle?&jnVwfhkQZ4y24TJPIS~80aOW^zA$bgbav&y>*M9H?fLJV3hgJD#v zd#KIEEy!_JJ4n6y6%Zib!@MP*Pb-rTjWYS7P6xK*UjlbYdmnvQ>u(0X^R9R?y-y2( z?l=kF&r#!f-(^yu(XTm99~+s!B-4L_Yw4z$Un&A>k_$FWgfi_*f2ZFp;K#$0k^ZCJ z&scFTaXagtc{l$dMkQg})hqBWDFB@i zCfbe~ko`aft0$n4MhGzsy8`nuE`=%;7ukzse`pVZz)^sW={QWU{WF7|+HTz=x_ue> z-RF446d3efdL5C5n(ol<-sl|U@9(=ks=?|Pr)M%M=9VpUoj4VTI4I~1Jpa-M$0-OfU1%X z+KyMgbGo1icVLUFQ9RjU>MsHC@5Mz2aa<{3`7^)30?=i2^dKvD>7eYUkFZBCWWY}U& zB7V9&3F9IOL;aAQw7IP$Iu=9Djy1qu^d4y*;nxgk>W)7}mf-jLrtG?vY}f z)t&)p(ljaNPTd-;Mr-xXC|=^;$(G|SpwG-F2>wryrlAD$w*!A_CFg{it;wY%*rLXGDo z@3jGE12)7xi~XECKj+E#o^iLPPpT%*>8$~0$f`BvH;bQSXj0(8yL^|r%&}WWfT7C~ z4Th_FM{R;^NIJ~yVT>O`jDfUW^bb}x%Zm|4AH*P&SBt+g$m;cCB)nUdZ}StDhu;UA zj;t}_j5XRMFirkZ*$iFQ%rS(@Xtf z+rWdCeX1j7S52L<*V+aDB5@GCV2m4e>3{x@*GB!()y-&}KtB5SC*xMXR{WOz3+j|E z)t^>1;2&TUys4h+f~NVA;+8~ox@gCv~Ys`SyKr*M*YM}<-KbvRPy1^_4Vi~9MAeFkkxE{1cd9SSy{Tn$K63+7BO7D0Nt-g1nLtr??(K2ka~dYF zlL=-21$m@+*?kP?F(*4WsBhW4lvf~!#Uu-b_s-zUTdB{Y)k|AP3%TX22i!|c*HK^o zy+ML%+871l%bDY-mfrL&(P1JEA;+Q$F)pE0E5&k&**Cz1d>Hi3RuFR1WlD&nUsWJ6 zEZ=WWjL~6t$Q`uQcey3a^SP`U^NRo2c!=YtEn+gkarA20-mw#+d84+xpMAEYr~Wek zrT#Aeb>;8p-=01E)~^(w{_DI_Ml*O>R${Sg)8H!jG8;brhtn_OW~XpFo@b4VYaq>M zbLgeu;&5$*duVBtU%={!pN`MH!eFlWk5IC?L<-kD6fxvmtp3VJ{A-eR!dHM<>>>Td z?_hfZ0Q0wkNp*wtLmaq)e%N6|G|6{F8y|TCdo8KS^KY3V&j73EX^(^bll+!r6Zv6a)8lb9(Q~&U8NI-0nC;CAWVX z;&zPo&hDJpQTi{jDWmPwcc0$>HLRnAw_pW=?h>e$`p`T_JYvH%aIMpT45!%`(6tbM z)oC2^r(+!)<+czz%k4eB!i{M6!)cIk-=1N+409Mw&?9tJph&I(bYe8{Q?OmSn}1P$ zL0F(XDIw{vDEmzvRx{#9*-0cxx&vh=aIl*UG<(|W2ZJ|YKE%Fo<&i!IeM=8aSe$k` zZD&$XCOuA*ml{=3+#aeb?eYIrR^fiL%)_pBf)@mYX10qS zwbN&zvyU&=E#8CfIDwdo`-1f|Ct`X`Cy-2|-15xOXo%1^sb^}+z$4INV2x~pI9Hq{ z{w!Ds5Cp@ZjWAUAQ1ZaS1qZM=!+j?|^j44aSYIz^l*;p^S>kif5)j&lZ;Kjo9*eX1 zEl*e-`Ct65q~kGmnfQqFxtQSQ{1)#E`4ui_aDkC$u$;)%_uKE^i6>!~N^hu(I9eM}7C=ANqltjr%F1e@?J-JBB0+2PUeN)D-h- zK?v4fdC+d2nc=t+U+ebHS?jsdyWY*uQ(zlP@P>adZ!uJ9;hIL}HN{EkL+d(4XF$@G|zW^5O`d!5-W)z!`GtSv-8Q^V#U@&MDM0-Fq49`@eDOhBt_w zQnxA^*$=g`;%DXuAb`50yMhmb)!QD%i0p0?a6}KsyF`Cyd%OUD)7Y#lRqc~skewC& z6rN_?<$M@h!FW$jq`e;aO@sRSSx{eqNHO@I^4QoD(-dwm9wV=E?KGPFKiG~&V|oq5CYBe|c#GqR1od(x0Da}&F4BoThdH~u3=ja!Xo zqC*(ig}ot#U=5;e28^IWn;K)6tI1G`JBgm z2i_dfD#00Pk;nUOZx?P46G3yz5G(JnHyMebZrPi@GKPc7wgzUYa}lia5n_mX7Bm!QKrk zcVC+@G5lc0tkjqJABrN2*Nz{Tf1~n4rej4{a!Kjd7^i$r(7yBxkCJ$k-R4j`^j0rh zbGySOtta*bG#93kZ!ug2^y+aFEzg;xzO2rH6Hp)YWZB0iwJ~mI3 zwQgi&QvlZ~D$+CXW5T7ly0kx;@!74#r*eN(8gq~nlQX52H%N0zJ)#?Ok^ZcPFFwDOwaqI{|L4G^p@7u{Fp@?AhQ&j;MZ+obI0*Q;8Dbj=;{ zXRQs;uFaCp)NYgg&~(eu+Jm4)3qe8pYVCRbMB`mUpJjvTDI&}A5ha1`LT!dEgd2X3&O}+xZ{OtEFaaT2tIuOyeHf?qBun8-L%67j!FC zrqML`Dd8l$>H1rqiwU~mW}hR`l~Jz~DJes#xATfKDWzAlrdJ-!9IkwwYG1xCVN${R z2)Fb+e`)M5S0MNz!PaXts>^|DI)=&AzOt-We$e~N?X*N`hUTzXsyZORKolNH`H%Nm z*~^btT@%jNJP@~NcLUYBEZHX=OAgaN1fvXeXp(7>CeX4)-)(tldIi&1KEl_+(-FH6 zw-NUc6u2Yot7(Pdz51ydBeMac`4@rR^fkha;XT}=Jy_Pve@E$^zh~2)HAc}FHqB&l z{rTEKZ)giS5C{fP2xOV&fAN(k`cvbC;$U7B9$HP?np1 zzN{&Eu*fw&BIi^1qGY1~y{LG%vw`>RIz8T^vm7Yqtr%-U)p7&$(U(cNYQES-eNco{ zuNLfpdU=1qpS-JJ6aSg=g%DENN~UO6OF!$ZT~mEG*l1{micArja9D$GCt|VD75T`# z19`|&iQHzHib%BN!Bu97<)mq=@vF{5<*JI5T$f*E*GTSBo(e_>HgS)4FfT}*=}3V*t|lunB87ww=#H#&w+pOru<<;H1s$qk*;uXii=|T$ugjMp zRT$wurGOs=#q)ijMZ9U?3En=%XZ~_o-C%E3>FFiXjUG<*&&-hgE5}5_L+B(9YIUjYH>8tho5LOdA z5KByZnzS+dMhZOtYbv@hFm+SmZPK;;r1&}3;=ni3xxiad(VpJ|Z5)4k?#GLXeuzjM zMK@qss1RyyiME3~c&YLfu1G$Wdk$R3jR%oD8^t32C&de4G}I+=(Lt1%n)Q8(Wx)lAa4X!_LKR7b#KuvWBR`jH_K z9T>Lo)B2D+V%HEy+4h2Sq;(s&;cqd2%fCjEu4}RU%FsPc6MdW6Q{<0|gEDNET7Eh{ zBy@Z2@Ln6TB`P*1EHyi^C_6hjK5ughtROmNTR|CVSN_TP?b#VoyHchGAB&0h&IlfJ zy5u$8cB!M)jD|}$JhI$ZRH=J~H)Sf$QORm{1`xstlxsP7@Co;s!i5hg)(dAqeUkm! zPx2e4%g|Bycx@mm*6v7qq(!F}-)5aV!dmMN&?hJ$8?W|Quas#WzII;Mn_ z|Kx`ibdenR%G@pT8TrQV>PzA&y6$id9X7n9?R)w1wqwG=j#m8uVBhTV0 z0+2j#828(F(7}Rp@L1%|4(t!R95p35CgEIm2I+g=>15A>t;y#LJW1w!VnR&rj%ZU_ zL8wjqMBn((=Puj5FA&B%Mx&?Tf{YULd&MD0Bj}XuVdI1^nD>PY)-s@xGgr~d)qw&0 zGG(1`vWgL_lbJ8$b6`FA4{#2y2GNQ=X<3Cls=sQqdQH@I z)<)_j@TU9~=q{V9SR{6oA~{z?B@{mYz`z0Cot`zknC=DqM_qG;8C{pf@~%Q@W#25Y zn!MAx?=_eg2(*Y-@?h)*U5=eEdYfyG^GtuwV7o|M(!=-Wg4Ee5J5UbEEOsFx-bV#uYoFuRpZDuLCs~KB(?M$xd z9cPPt9WN2O#=ocfAxzew0KI;l;wmgpy%wX==h@scSJ~FWR@jPQ={EntY1kF;e)K7G zE&QPFh@J|~g)E8^xszg!^s%B7IHLf>Bhr1mbnz3~a=|#Vk|*nP!FI1-8SIP9BiUrvlc(@=8_<$AbcL}uZCESbaFA@rdP@L7W(pWVMx zm@r@?xjOJxD(c@QUp24~{4rRq{xxz!zmu`T>?T-f5&3$}@(bnNJY(Mce z;=8>J-ePkGHXVJ!yd5@IPt>na--6C4b@EaL4>%|PEQwcqk=z3J0f1t$*g<-MyGW#^ ztr2*QR13U@0Ac*lYe_u$lWgtKNyW9n@8Gz>Evhx-71~*2frbUF4=@~1jQgN(AvWUg zc+K`Agyu(&#tAaBlHV4alk3Y5Bn-CAL(M$Tyw9`YdPsK*kE)BsI}PW>bIp%|P4G<$Tl7(N zfeprJPvpT)J8eUrAf89ewcP-_f?8>cG$XXR>fg!=`BCtjv`5hnY*owx?5w^0J<2yy zvU0pMNA51XEndZP7j}<57Q7oy6G_N8AZKKOTsyoKbSK*?iGvTJDT66$kKwDDiZQ(D zF|QhPO-&*mz-D^A@i-XrE^RC5XNe@maop=<*|%MYKI-ct^Ysi*^wpZ#j7(YX~!7si-`oo3UQC8|2Bw;#=}t;$(0Xa8MS? z9x0vVf1v`!162a30Y6H&16%m^q70Uwu$(qSv}6ngJfzN$XV98JpD{AHXn3*m@6ZZm z0C}Bq?#LmnoYjx8C}s9nuxigy&$y7UQRdkDnfFp&mF-NkpRhNjd%T%sJAO&h-}2Q7 z1;zfcPjl@f)+f*MFAl*ww-Ws@6U{LivKTG0qb_2vBNwpNj%;IproHFjIl=roQHuB_ z*e{LKzmpy^)=IyaLKJ)8XH;Ai&Va!aVJ(DqWE7zexgH$^8*gpt6P4l0B7wKmhgBq< z%)YFE34cOuQi;l#eAMmg=Wjd$~wX*_LApr?~0J`(cfc(GZ`sgOBZK^PVh>*UimwD zO@%LsSL&YlvA`62GAlfiniLiY1yfwgi3W_j>7*JVoGox4X}&$3P5jo5F&VooESu@vNCcob}z)}Z??ZICCk z7m9nSE)p6eT>eUMUbPF{qjl4nw6#X-kCJ7xb{}lN^1Y!L$b^POXoW#ER|ZPRz;~G# z*bW|%Yy=Z|9dZi&I=~vHIk?6kNgf%pDc- zbjOM#DKAQzNEO8+iBSbm+`O#aQ3c7q!JKe~8^M)}jf7KGyTs3}bJ`+?&)@@kD!H2d zf;LTXoqtmd02hJr;Gi`N?Wo*g$Wf@YQxzdvCG^O^*ZEou<_qu&~8&coJk#w{w8~8xFepUN)x*% zUrD~mt7J!|nc!Q=W-yA^DceRpBZ?ZB#=F-k7nStyR+qBQpzG8%ZUuHTLfwKE#)l=6 zQbQS{xkYaz|CY>x*%^|(LS-;k@E%^9FR zp@HP}wD}_|SY-M$L7!l)^rif<91CTDTh#@s=QD8pc#fj0|EEj(nCCNc5~WqEOuO~pJMNz z+>E>_`KK)xk18uA_vMY!K?y~XEqnpeST(Zt;U0c=M<(m(?-m~R-%+q?7>S4kN}Q4C zs1SyaZ{mf7ytISaaoPWWZ-E|<%BU=#oUAL3Pr6^cDSl1iNc3Q~I`kMR%G)k(@bIJ;_Y;mV~xy5-_ZIZ;wAE|XU9w<@Nv;mUW^`?B1D-`pjCzS5}QqS>QOFqxwF zrg=NR!b-Rq3f%2^D={iDGxJye^&C>g-u#|PRoPw>rl-6sy_%Fz0>zgV-HMr%R})^H z*5pf#BoH1ucPm$^*Rx(Q^TtX>oyYEv_%rIM1H46?e(88gftsT%(qdFgv}*8y?yKUs zDos?O9OS|@jl$c8*RuDpo9ZT{y@3bU>7^>QoMiR!|FJHMGX!5X?(*5_x!QOq z6l}o=-p&O`3Wq|I(EHv`yvZq?+QU zgz1IzW8L#MMO0?E1}u&{VV~~#TzOo#mg&tgjh2ob8GSmsnYM*$$L(TG0Uir4S)X~2 zfuUMsXa>(29?3px=L(-Iiut##RP;Dr8toV;J7Bild5(1w1*3Y$7%x_b6*n@-N<`K3 zi@sF9%iL6%LYh=`Dj}dCIo3aSU&P6bHGxBkgG7oSTe;k{of@Tz zEEbStr zA9yi*Sk4(_E1L)3Do^((anJpV9>#qTQmVek^0u{~RlQ>HF*RDer-`^f>c2>3dTL&L zNyO9%6weh$A5 zAyG5TUfOJ3Kl8bOZ#{X{QpPJL{2xVU!PQ2$K+(A30fM``ySvjui zMg@u&cMTATySwM*{e)R-GAs9gzy`RusbEA;chmt78Fa3V zVOtAbE*{{4xySIIczedJgl;3&lA7TqQsvM^+NS2h@!YTNxM#mI$>AMs!j01+(4_d0 zWjor>tJ^>c4X?@k> zynGL6oZ!y9h|3^UkMEcooE(_yCK$~S8Rev7!g9ua<#!$mWFoVMHz;pFoux}LYoqYvxNBjc}(iJI_RX>S48Br6BG<#em|3Ca@m@pqQfH|lAS|)Wt~IujEl|6u>+s)j|cuR zCk(ZG;^vQM>)d!frp7R>OSzL#$ec*aL}~8rY;=`tLE&=OY{{bK@jk_Np_XZqz?`J5 zzJ;+^k2&EYo7-L>H5+n@L}BW19ka&csgpPy7q?*c$CM|%X*QRiPhBJT<{Z-B5vRb3 zsy5U!jT#yvVQLEK=ad)7SF~m93B6L(0U~MgRGq3jq$Y;VxC_-`yq04>wN6GR1%vjp zj~d;R^jXKtB!p167-&bv1nmAVPhb8Oha=Rml04_zwwfa8f4jFw0WhTg~$hG@)) zmgwyb9^9w&WYnWN_5JoXHm!bz!BH{zjJN5I<@XA%uQ*kBW7X-j zs})Bhwq=L!EZGmi{urAg zFB?U(C=+R755fsuD+7ca5-ztWR{pj9t=Bl2zyNLpG}g`5EYFF8=9{e4Y!#-6UGe?m zjiou@%SS1B!&9A5z~21|~p#EFxDrVSU>nF6hlH8TTqabv6%|IFUWc zA03;S7;B|wPEK;FX8Xjkv{!0lo(VKX{@l1sf64L(RB3WV+Y3nLY}SD}aKI~3EHFWJ zQngDNL;Jv@kHwHZhTZAzV+QN-^kLNiB^`Qz+iG$`a?<*tYK4P4aLPFhaou%?@p9)~ zW}9s@AWs2L#MR_?0>;D}fz!x(!SH||jo5N=1pcMAXY~E^fxkaaPkFUdnA@hXYPF~Z zJ%EDSliU{hhQyl0JS#kz*;mafzEcxE-)hsE?4?x`(XTQOhvy}A27QX!?fKX@#njv+ zOco%Vq3xSJNX!_&O7tD+r}&L1S&zmS3R0#mWedq;8ZAo-t(Cks;cMSme}Ki>{y^%H zAqu*#nVYX)A_nQRl)vS_?D#Ps@^F7SC3fg9hdh2&rk}L|&M+d-X?!$hNIGcy zM6=V84!P{&kG|(TV;1S?YjVNdH~Rg; z-N-Ucfq60%YTIk_%pw?(4k(jkX==q3%@3uQ#6fzTc92s$-bBvpClP}NS2910JrVtx znbw@4$H6~yf0!moTC7Ft8}?YpRVODSpvw;PpN`>HKWvi_Ng#J|5XqCTnJ8c%9+b`S zn|g=deMh&e->z#L|FFD|U6(Y)>T}`Dqk^ z+^kyuW4lWkWAVzg>I_NZu7r7^EI*CIggF$UQML-_6PdJsqy40g0XtGg|3gaS;2PS7 zv2dm%egS_a^^JUj_Z)apc?x|F(uDz=RM|LNS|O#N`)YrwMDtp;Py9d}!6@e}m`&Q&= zj8@x1t&LrNI$C0|CNar6g>1Lc@1jBy{V z=b0EQq-!u+b>+78&@_i$qh2Qq^KvJt1;ZX-ioo1b#z}i3;*?xvmTZAQkY+YL#uI|E7?{)b=dzdC*GMiUVsaH=WqFWXI<{ zkWII?be1id7m}D5RqhsS<7^@UKbK=T2;%*bW8>R;O@^jBE)RU@%pAz+^&fdRTr%x5 z?M9bUYa}m)b-+E^i>Cc3Q@h7j75bP@#LwC zxW{D0^e*;iVxsIMwNdZM2|^wd?=U;9K4a|${$}?PndkV@w!{vgI@5_sQqq>kqwt+SylIJ5kq(VI3ogG*t>y%n9>UUnAdn$&Zp- zOHiei%K+ac$;kJqGex~+h&|f@p4DmzcbkfV<}$?f=SG=Yhxolj|R*; zO!{uNhxMtu&JO_xcTTOwDQPrPmn4V>2Md+E%>}Ugj(rv)Z)2wce;>D2cLS^6)C~}% zZRAWSCfO%>0P+sX?y0SmBqD(t#VBAL5cacvst)iUfn%gYCA*+5Y?YTfr}zH|JV3-+BEn+7f5CPR0qu zf)L0MVxi4S=N|v>5!8e|+0r~h`KfueD?%$PHyo_++I*tu_3Fsz4@DO(k9xOhPn%kB zAv(_JXA-xAFnq4%Q*TETyn9KjeQ#xV^Wcr~1l%6lV`7thf_)XqlB#LOm^ z;6P7v^Lm)!;_Vf?(zeF)8d&RiOaIlXQjLMj`0l{tLWK6E?1j=)>n<;ZB+1^RBIL8C zmWqoOYn2E~kg5aoP*sKbqC94PP@yv^kai+kIPvPf$uQ!#_Tjde*0jI78$!RW{v&>4 z-SXVP)UW;fd-8q1glS6NudbFKHugn}9Ge}k2Yd|p5Iq{ZJz0zdXV{8{*G~k|Cx*-fp7+$ z%3x%})Ii10n4Z>mKl|k$c2AW4-b+%qhw|HS1WgkA0h+4Gw^@p=a>v-r^{;XZ4EfLR zdg!T;3&Hoo-unLu4RYiAcv#xnChM^P53VO`VrJFY`TqPyXgB*8wx{U#p24aH)b#Vt z{j9Jtux1Ul)wo(hbGCv;gv47POWNdfD0eh=?%dqmq4}EmPfPu)p5))DRK=zg?(q&y z`G`3k9Hy&wtP@OG!>MXBv*|}hXU3Wln&B+Sz_5w_@rZ{4GhQkh!C|;(@KLN_B847G zbENZFYU(XsGI0IS@*n)9yy7t;?Eq__L9^yzLv?ad4qzEkUSVz_&t7YQLLh z8{Y0_^Y`}4ZBiU<9FIAia9L|>?8>lGJ6D=b*_og_F;;+6kiYyw9-er7qHyd@tL5l$ z!w;Oe`7$x9%aYeLmZSBfo-%2W(w%~!K|wgnuDB&0J2TuPmgaS)MHN;QYYWH~DY*{S zCh2L5*N4rN+S@-%P6rFTm-ELgk>oP;;)z<2)nKt^ckdUOXYW6uU;h**bm%i}!Pq5Y z*QD{xgV_Ll0i_4eU^)?Y@`p+HrAV5as)D{p)=1FtUXN~PhWE~6o$CL-)tA{&gn&0{{YSsk6Kx(87U~k1U=~P7Yl%^0u1Y_VSy~X8 zcCVx@p>2LjWXSvr0o&%Rb=sRT2XQU%hHXZ&(CP_R$+Z5<-49mL+|_C1I_U-C1<`TB z4S~Oba7-gDd_3(W7r}64%`z~IWabq*l0{_PW|LUoc`|N;sNHbux=rk=+9tjv z>*C;LVm3(qUTCJblv{y3H860f9tpk*SPJ~057gyrVwImIGEqItpYwqDh6b^qpsPp+>bb8Nl@a!nU`qL5w=pFwUIuHre&V0h4saULs= zurbO7>?&QP6Xm#B`iJCr``a(OgMCe$!oxc}%jtmSkw=5EFz<{5(@DOnKD zJ1xr-K2u{Q^R>q%fAvE7HSi|g6WCEO7rqYG3X6ul0#}3Y>H4)aIajLV&tYw%Yp0O2 zVg1DMinfGd(*~EJqji8$^S{z5Y|DJw+U}LY4P(DF))W)eGueBaE9mQ951ezu+(X0T z^OD&q?YY6}*g2}y*14M#$p!q#mFd9&%$Qu){GbEY8h44&GP?w*-h52I2*p(6!Jdj$ zdZOg1Hb^|HgNnBTg`zXyYEc}dN;nFh=5GQixYmGXwuxpT6Cjn-TDfQ{hFL(7(3VmQ z=(iXI<`fsmn>A!?!|H`{Hy~590GbXCMZQ6fqQNGE=<6mRBmhkVBOxSBg6f=P8E+q( zGP{kW=<}JRH9Q$k{|*?~`7vOi|HH+R`Cskv{&oJ$q>e+f*6|*27pvL)6(G!IJGLrt zjlpM@l$e>cEcbn?eojLwVBYJbGbJrCf%zvwXh~PR*r7^$t|!er(!L6rV1WZAqyOj@ zK-X#x1H?+9_O{$h_e|Cdn3SD|%*ZyvUrXVLQ{q9`u%H;y%bftcV-;w=(?g_z)K%PS z@&<;6^qzK%(n~L5+-Ljo?1XL7W3q$VNp(CJ2fPdSKxCntjh`Clnui&GHd}&BLK}fY zK}6MY*%x67Gn%n(GIh4SbNBf8@4ti6PhS1^-z^%TydNB`|5iHtreP%~uJ?&bk6(k( z2+OU<;dvfHM^%VtSVG*N)Sbyw`9Z0HbKfK*N-E+f78?H*5fXMJ7oz7JG<ForEylPauv; zBVcWUNDzVjO?!Y2S5nAp#2bn3+=YaD3^hSOzeL`^%4F2>wY*%}8hN$a0?-L)ggt{< zpi|K=jMtf1nF7peOzKSPkr{}uz(v|gxx1i}8%HW3TaFx>oN0SF4EeRZfBUCpeeoZx z2WvlfjN^YVBMJW%3tC1_>lf09#_dWo`@P2dz4WhHO^v3`w-D<#2O(gKK zIskk|je^-2cHJhjSC9{aYCr(HN4MMq|id=v#zfAz#Zj$SpjD$ zyKkn7s2NPf$=WUsSJzz`82tWoAo<(8k!L^uo8mWZqkZVfll;Tg8HmMFlMkxbw%bq( zJScWX!C(A$#Kgt_m$*AKBhfh5Hg-Il5*Cv2%YQ5}!6P~HiNi1dEUQnhk4)y-#v|Wh z?n3KLXyES#9wHsG1+)k>s#~WER)1GxmD|;Iic#$~#d`o-dIhjWV5gnS;wb_RgzR3T zO0=H<6-o)q1+HX(P)yq(*~3|+x*`tN^VGjULhvH^0z@ft9uk9Ch&%{egPaG=L{>o{ z@M*wOK&8UN(B5=p-<=5{J{ek#yV71VlHC9t^8WpC=;_Z(W2Cwn{KmE#2D9&<^!Su7 zn8fNeK4&O=V_`a%1gj(dZJu)@d6A#uX{qxPEV8p=PGz};9Ziq&Pfg1AXpB1N*cSxD zntMUazd0(cU^Q%3?+vABfq*0O9kL+K2KM>cd&HF^9+MeecSgC*@?rZ1@6nO^NL)?RTEe}K z)2yEZp7PVv0Pr|-FZz?D0uu%}=CIbp*&FM8&9HyAkJToo#c#{(h<4BV7usQXzHiAS zkGNQ+)3LCnh7+{0rOIuYX@Ns88f+!g)mthEJzn8iC0PD z6!8*`x?X_Md}pO7k5iY*&yvo|97s!KO!5Im1s$lCu*bDughXJuA{)}EKMT7E-H9-R z#X?8HAN7SGh^7EEsVW2CRm(um>SDb@29Uqt`g2|q50jk77f%s;tHy2H=Z(#8)s8=J zNuSoWC6iZn_j8JeHYwVsi$QDXI}y2ju?brF42y&9bn~+L5O~=yBFZ>UA1g}#9DOZI z6w1u#^Pft!@Y<5Vcexnl;qWYE2bSvNjA?UOYwBb3#OQ(P1ab?)6}((WQx1zT;_qxc zKZR8;2JNY(p+W#R>jd=mFvi+%6a7T%AeE%&0i)K@R!#Ix-Rj83RSOQ z?}13fAoK$q3b_JI21KY9=+b2ObdAyz0EyfOXs&G3k!3&yi+_^aO!-1yGTArXIOvDV z>#m(ZcaBVEbr#H?>awO``YiZXBd3+E)8@b&N-qS#)FKxO4_f%?`yCgUBmGu+-U&Yx zH5&6e4HR=ZyC&>JR(Zf^x|8>uBU|i_1oc>ldV(=q?7K|EERLXmBXU8z z)ClPpU8$}#RaW~E?_kR|j|qzYeXD4c(q2zr1zg)(2gfl{H#p)b{w+3}Ek zVK_X(u-DGkP9h?~?#Q`N3@jArp!L?2OX5@w0xxxm&_(AWmFgji)4J92&B__k2;YwR znz~`8dj>F8J@u=yJpQcg}a>S(hG021*mB%7IU{6k)7 z3rBzOYI7+KJr;f~dSUA07*S4rxOMK)!0N2$KIhVYdAv?M=DI7^)M-z6sofgi3hUcW z3oH^X{f#h)wSc?wd*b)>7Ix=s3iIWxJ-d}E=eh9Xg>d;!p_TR(?~ESCOwzre8tLTJ zGQBl(G027Y9{x`}hPtn$qJs2YC<=HVvK71!d_ilc=#l^88GIF-Kt&cWK=VbMp+Bm) zW=M1fRC3v<=p%m*!-ZNzygx0)pB>ZU3r8Lj5=M2DWusFp-!Z-LD6T^hXo$rA;?Jlq z;mrNKwx{=rNPqOa<0)Z#8a0fOcF?Ek1^6F-qQfMSZ2#Cg-cNc8ceLvS5uk7x9x|?;g8T)@z|CMepb$t>ELAS#Y!JgKe?=e2-=$9( zZ&fb^RNX>_K=(y0QtQ?BvT=jkB}%Y>0$|7qH6%PCldy(NAgrZ#6Yg+U5K~12(plLq zvXAT;VYMW3W`p7$1RMy*!GD1DW78g<(b7iEeZ+K=2ZobWN!1T zNpbSI9RJpHGQ!x+!avgy#+>T5hZ4UFZe>@oP)Y`LqI8$~qD62-8NsQse{fpYXpP=MoAEf(#fGQ4@KbTOqJuM6$J!JC zBjfX)2fxfP4t$*)>Yp6%<~tbC=eZ)_g^R+ChBdN!f&ze*iZU*MwS4*>nK70^4#Anz zUlK++msu1+qbN~`l%E#fQ_BSs?F1)A^@Kev`+s=9Qev;%swz~8^frd`U7_YKaHHH< zy^JRpjFNt`pU*7hwvh`&)m%$unUbQL3&{lJq8znL&@3g|$X?O}_hGwh*U-Afp|ttD zHH;*d5$BbGtnr9S79Jwi8i?rYI9Ep`jMRRAUf-yn>M->JQmWi&*J}p${pHydS{soP z)sxJNeVFSPb0Yspm~+;pV8_&;Ae+S0fR3mz-?PDU-0i)iY;M_rkYeaYS%u&%ojL13 znm4tbbOQg07DE~2SaUsuDsidsfviBdN!cb6Yt|Zi>N+k|GA5WOGW@>8zM3E67r=6v zC-{e~NUsr|lE z9pD?77Ag|sh_Iez%93)ED5*jyal4>-(t)cP`bXc~WkIQK!?0p{CuHU`b+AQZcbgFO zeD5W$H6gD;$0Ob+9*cdJYZ4zeCp0R$z$Ofkg$_NFstNiQXA&R{M|rOGJBvMPR{~E# zq)SFc?NkjZgV;UeLfS{TN|RERoMYV6LWKCJ&`e?w2}?hT`HCdTGDV&cDQp&LI6(>y z=YsYLw-b~sbTDk%S8F`DiIOTt6SIPtNlPG`vF>vZ3-+su6eWln{Zq>ez(;mYI*^^I zde{c948RUaP8i2=LE78wA%QD5h+fNA&EkX|lkvRl!FuNDP9}M@DU>i?kECC3FEgCu zA3@srk=An%7GBSs=LfF}=?foEn2tG|Tba1Gloq$Kq$=`qo+f;KCNmU}{3YmR4A?6! z@Urzm`vRCNiYWRc;ZaJdR>TBi1j&c=iMEu6;-2J;3t_@4VUgg5z)`SIyh#j}Q>13n zY5sP}b><%B8|Efm6Z;hiEV!W0=jjz+*;wHg=5iXGLLdh-q8X3GE_^Y-LO$Q*na<8G z2$HHT;9;fRkx(d2nTTe*A|Rvm9~Ka49+kUOpQ8u!tF@%N85% zDVjoR5;{CdK{Zy-9r~eiBdPF)d@toO!-BY-;!8@TyrTusyEsSK2oZn}7B1p2_>(NW z=m7Vaf+Jj|+|5_Ye$!8?R?rvgli4?by}Ts`nn#-KB72N?mCYeT=y{|k95$_3;mFH? zhRN#8CEAS+Sm2n;gyyV+PT6gfs}fmVRWCGOBXb396g2Y50v~FHXaL{G#|^U?dF|Jz z|C(!Nztpu)_58AQ-O0g3jK--Psx_M@Q#&n`KT1j=J^PPy7PL~70Jc}c)8=#vk*9lMRrYQ&c!K4Znl6;2# ziViUB`BIq6#VKre(R*4AA5E$f2T*&Ir&z(j>w+}^HV3SG$>;+RI0$VOn=D<-SSkL* zt>VyltB8MDcL`>~6VzDEWzG}0N-}KmPt$6@0GQ$ONE2+gR;jeiREJ>p=~kJI19qcq zRSOkGQa@(CxO=9SRob_K+R*xg64Qdm%l;^EzkX(tNG&v8@Q6TX;H#MK(_MENv-I@` zd-(?X25$+sPW%+#l>Z>zzoI(p=EC%(*%D#&nS5oSbINZ=VqmXDta}RVg7qO$IiQfX zM)-qFW|vb8-w1{$BbPVIsF3_&6^i%LR`Kr>?u$z)E~;?WH;|900tyg=fL}OI^)Z}{ zN_PfZ^qiI>%HeHhYkAKI(<}fXSxBH*YwFl0@Mwv~+*8wFw*olqOw}0KIVhbix#|O$ zb^1Va6vWD8Gk~Vwq9AZ!B47M@2DSS&Wq)f6tZ#3jwe+`hp<&0^{b z<93z85n&GYopJl;C-eUuQX6X=$I0E8W>vmC=lWtm`qIjznCAuI{@W9GI_wRs#5j0% z!{68xON>CP7|G)M)G}@p)sabJu4L#9ZSFAX8CHhmC2cKVJey+R3stG|Sks`@qCrHX z909EnEz(xAu1VV{L;-^4AiU3;W`X&sgdME$StsEt%4W42+Z}dVOg4LP+KdvG7t2K=g=TKdGXjy8S5$Z8s<`t;g__za4Q8e%vCA zHQr~V`k$!+N$*iiS%rO^@u1fq=kGqjzTQF0qBh5LXYWZR&L7OlS|ZJ!S*(na7N+~$ zh}-4xFv!dj;=LcqvD+kj3vOfqrMKvRc+T`+OeX6mV=F(7F(y670!!7jw|pq!q3AT} ztm-Q31Sn5*5VcN~jNGHJRG(saia?|u{$`qtzmNBnCE$e+9x?q0Zv?)SGF2;U0%9UQ zYHF`uY%^)#C)w!!*lkx@S{~F8FhpR4Wg#rz+z~}Gashmmui_@-IMl1%a&qfG7s`*; zjrb40SrawitqD~PP*zmWZv|z>2O$@cZI&Q49-kcSyzhEB1QdjWqZenQQ(w;O%z3n! zk)OK)7C%{B>dlFn<8(FTmNm?mYb11dt}23F=hw8b`I+&&xQF(1ZM;*KeDbX zzSEmTcL-M`=A=)WPplxwT+w!;t!k8UjRvgtWjqypCp_YN(kl&lNIB~qFOYDPF`qEQ zKSD+-pE2{ncZJp_MM{PBQ-G;+q;|jkjQqCcCRL$j7~sAY7Sdz!4iRByr4Q6NGxtqe z6HR(o%|7dBHu!OS#y9=W9WMDcg8N;6p0um;mEh>qM|~iFk=ZWj9mgr#n=UaPgPyBG zaG?`vHxjK&hqL;s^9!&mFC^mU+W9%f)w`_ zkndx089DTjAXK>RvcZE(=AQC!$VnyRkAYC3a8s|odO=V zd<-i$_tsLi0A}9ou9=Pf+o!K}qP&9uWLuA{>;HE{#|7`O&n7`V|$}6 z0%vS|uyTh0x9x7tfo;LNQa&fl%n@h%RG%rxS=OEkFWnt_J!z2-E_|nlD)6AamrFW2 z4UqyOD+jgPMI9<08>?Y3dD^cGIZ)5a0yeTXC?1e>vS*}onj+R$&|%RH1WLUJN>*em zeYn2d^OUtrISs_7@;*`s>@@s)+SE)o7en%sb*dLzD048eZ~PY$$h zqKQWiNjEdNP@Fc$`hjJ>!(Es6uHOD{gB_E!36(_+xl;>o7qR)0%OYY1Xl%nu7+)S|!_8f0?6_rcuU4?qmnKF>6W_ zBRU3jQOeX&;%MudmZ~%mxQ$f)nmh96l@m=VdACeSFwbK1vcpq4nFDEryhUS+1#`H*XB;{ zmp6UKezuQ3Z!RY)2QLevs1?9$l_#dzTyC#*N_4yGb1}p&{$tXQ{8jk}D~<9a%C6)_ z%uUUf6+DgJ822^AH|&tt9*-}WOK5Aq2()&Kg&8!#5eS#Lpn*lU<$y{o8T8g>JH!opSnG%4i<6a)Md!rR)JoEmi5G)E zMyk7mJ4wHPwx0Vk()F|!K6I<`G5%V=loL$arbEkf%xg`KI^;WE^QiQi3ELU1PEE*d z&(A334zTk%%E-!~qYcHCgfRY?O!8=^9fjsT&0p8eU;N7-Pzzdd7@+@E=Ad1rHP7o92$E`gUs=YsNTViv^S^R4rJZkc1g5bg>b2Vj&^ z#X{jR1Ix!uB;mA+PV#<;ql6q@B|C`iLHQ#{U>=g}I4_ zgNqLdXEs$ic4-(RB%{kU$R%${*;LvMVh+kP@a75p<@4{siI|xACuL-lm166 z-(xah9MF4xw+gJ>DLyZ`EhrQf@kyfPg0qsH;*-K=o(FdW^^@3{`B@5K`U{*0c~Ue* zu0eAyLH0=tV9!;~`fJi**>`Td;0H}BTFr7%?h~EYHK-Y2DEtWWgn5%mvwfDimAf|@ z;J6bSU=;?_TE0*@!OM6)ij`~&36*|{Z$hicoa))~MFxkm#_?D-qQ> z^L^4&cUZ!LmjQ6LCnY{c>Abh#WY#)u3H`iMPV-SXFze-Oxm4vl-aY9l4w+dfEnwYJ z?56CLf0!x;z9IS<<+7O8Ba-7zgSt&lcY*(5@2S6H_9+If$F=45a_Cv-X47id$F@^$ z=iRrt+4>K<+zhq1p7aez!JRT8a;#j$2HR2BN$1U`2xf8rSWaUx^aBHqq>ukzj(z=I z-uCO~zWR)Y<$uk(Znb8QC-kqTX5bU0Pq}OeTo1$8n{LC_n5R0w#ddp~u}8SfvD)Vv zY&Y$;$0gpa(({GWptra6HBT&TwT-)^3VMXSL#3kK6HOa-S^&e>zJvj1@8t;C{^A~f zhdiJEQXWQop?gzA?wGXBV=Z*V-^`L7blv5d?|io=4|{ix=R!ZR z*GQ<;+cM70Yf(zIyCl=z>2@~F=5o$8^hi8P^UCL!U>1vCGrA97X0${50~RL0DrcEk0haL}Yb(>iK+1nb zzb%BZR>{k`TMS)i5wt}HfO`t}pl5l3Mo7jc^I9gv0WL3ezY96&zr~6l4EC4}bq=Ej z{fWKmI}m@^o1c8c6P1zVejq!@8IfCWYmuurH{7YCd{UojxuG)7db=xl4Ir&|BV}3p z-BFL$t398ZGXIg9CtB=VW1GS4ds~J(Ynn|5TABrhrw(UC3@(sa;e#Q3RsfrHc!q zrLj0H851db#fGcl0v&jj)Y`;FYln3KN7~H*h;|-oJNtZTwyUqI!Z#Ua7s$3q4+gs$ z1qTKa{Atl2y|yI3at%wr;_x>8AQqo?+#)(P+junb9^54MFkmE9rJVFN7mnL6Cx3&? zj^r_4c0-5Pb>(-w=?ZGT-}SzM*&Wijy>EZ>yg}wa{wSsUINoWHL_0qIRrsA?=yb9< z@VRnd^NXNH>_MXo4tUEC_LWu&3m$3);j66$o6CLx_~I98p>UhzfFOdK&ihRJ%05ld zG5*7Ep*GCCC9Wlh5SFqx7@Xei^kbll`~*`g`;4!k$zaUz(*Qhkh2-9H8RMQRU6JQ5$lzc#6A*@#K;snS(GI+c$ zN(&86EFj#*n@<6z;&E3e(x%Ujg_402JGf8qS5zhRFl3cD&L#)=!1IOavam^~fVh)B z$KoP<43hVLK2K{+PatN`(*uo~qBeI!iZW`GUEo zExZ7vEl&aV;!W!Tytx`E-%mBl76|n;GA)!*N`|x2NVBY25{GqxqGV*yMrmb?RO%Ym z3rZO0A1#t|j*T(wN@@H9iZ_xydPmh1)I#rp8USrDs)qI%U4s4xqiJFRXT$@VN$xgz zFx^(ToXBDBnDQdUj@_H`9NIe0>3=mg)MqtC>+2?$48z~KoUQ4&oO1~Y+2LWaX{MgyxZl<S{| zj6uBJ;C-wUnmNoK#b>70;9uD%yU4-GsJsP=Z+r{+ReqY}t*}CpEM|z~#OuTXA_sB0 z!Paqu>nuXB^}>V9I${<=8!_2Cp1j|2g1|-05&Tg zX)lPO{zu@{-kzB_rC@_C4dPwhE10qs~l+Gz0WtZet5qIT9(+y_MhCw!jXg!{te zt^SeY1B-C~Hy+w3ZN$P9R_gPtko;e{i{}b+{wtxRgNu1_kvS`Zhm-Q%UWD6OzVo(# z-M2SURhirr{sT_4rxl5eLt+TML3o({Tr|eGE&0jvkmqurD{Tas>ITDoDoT1omnyT- z%}7f%ev%qhsOYp}sQ@THY)CKMxgF9z?wGhyfD>((I7t>O+6;;0G1Y{ANP7dArXK`u z)eQrBRhMN(SHu!&^bQH|fy%Bnuva#C{C8-L}#9!_UGlhPQ zu{)d`0|n+AUG_k0ERU;t;eSM-nuXjN$v87au#<6*4`ISYTUl?VuAKGCe4dYHT%gdF ziR}Px(ohgr8V#B+MF9?pmuPE*8kLxDqfF&5G~}kU@?pMM`bI>O;G`o`D`lU2gGQ)Y zr&nr4fLwhOpi{e0uTp3<>qQ5Zm)K7vqvT1R&tx{^MgL!7=fA(x|23|eoT%qdRyJtx z$6H=gS~@TC_KsjxRb(Y>iFC$t9QnlUywgoXi7hOqE_q*aZ?1br&zzN+m*&5`&~i zWJOYMU-4l$(2{b4hSz*hEZu%0RMBo@s{P zTw2EQdH+&RmFCCKD|{6imiEgN8tHCZ%_wn1`nt76Vf%u#dQ5`>2mOG85de1L&7bjSD~*(1~d>qUH6H*OiknbQ;u_+ z6^jJxWG}?;B@1P-l6Q&`Ns5{+i_j^R9e`TRW?;QK65uGW*ES1@$~)|Xk{C)b&tdu) z{m2lNVA=V6>OnIa*VI74RW_ZNG5c3X8|wiHy~auEzZ5$BlGMy95lMC1;zS7E9Y&1} zO(mxI=KsqGDdA;+=2xcfES=v{R)e$3Dtk+BQCL4d?5+hq>A7F*JPh(xV(A+`p`bzR!Yw75dEtna0(GXKnvOsy;}j5|~KC1fD&gGYYES8RgkLUbUu1@IH~ zR*|h2iAJO--cjx>vxIKO2&FkOKQqTUD}*HBM-@v72d-AUhU6>P!0#&_AoArb#AoRe zM1q(C(eN31H*SmiD?3Js<(!i5rnri!KA= zqInBkE?cLe@GeRrv^Ts>_(TR~luNwPy?**_%RF35!)M(7Ml$|wYd7^#&nf=7@q5Y{ z5*YeLSZy%{LA&0t1BT2Ey_4XRaU|nY@xtti`L{Al$_}U4l$OL=6xxQkr*HIl5pftx z@CZjQw!Q;6hdizr(hiD5l6r0qcQG@Jc9ot^kuX^FOs=h9jToT*p?C_8QvU~+t6Y#! zWeKuF){o#y)*+fjozNfr(|~TyH+3AlS+RrtOV-cDNcjS)WL#t+-YZ!vm?sYuUQrKA z>H#}co1mZc2>5e75OPv^M0-haN&1PVwS71nIz)Zfi`3q2oT%d6yQPIKA*%;jZ=l9!bzqOk=w z!5--dkCl(1Ra1eIE7Fkvq!`3q@f&!H&==;!pARhIaMb@;Hx&rBg={f5S5hM|k(i5cqKD$s zf*-P*g6-<{k^qB4uMsv4*oPbg1;F-d%5@rHmDHW?&n?F{(|(R_CYJTxore9}k9*K~ z0*7gg#!ogsp)flybFYqEla&x|0s*`zQ?kC@$=G^4XfW_YVrj<3?4;7l+@IxJGONla zl9+SNqxa|62VG33drU@~+0J^4jq+{$LFuTE$~^5M@d5E3ZVfw%F-FOx{Uus3HdB1L zYR+7VSTU~N0KKoDM!(bEMekESL_U|Q;Q`{+a5K>wc&%U@vY59@e}EIKMsu#qFL2LG z{_*X_n+2nWwga8FN%DxdOgSMurAI1mLHW8qWF%MtAJu^Y&XT#Z6O6Omlo=Im)7Udo z*8qBUOBZ~4ackMs`DP9NWlIhP+iAo>3@ODArg!UpvJgg2nhyI$^YDO2z7OK3Q-ZTs zl;r1Ksc^`eEz>1&=8B`1+8G|Y}+If&h4e(K}k^MC_JnR>lZoC<-uApHTqCF+J5dXw-WVF7$xa1ku# zebJ3`tyNoj&!sO7r|dYsgm;Mlp0iI>#XTo?6F_z0vW1Wo?O7xgycZb(tOs6|naNw3 zce#INUeb<^eI*?ld`I}vJ37m;qn;y_vls?4)MfFE(hYbY5N~u7kZ1Bkm5EYHzQIli%b-^U zMCc9SdH8)%A8cHR0~HGPXzc_vL*sC{cscJKx0UO_dMo(CCQ0Y;FKhIYK(Mi<4RH!| z8dU~v1^-l9DYmfdxZ$&_X*(bqdlCqIoA@bkrAV!E6yBG-5BApG#lT zZ_ipY=*x{7jhC(_ECD5oQ!FNtR_+29m+;zXLdu^4YVNTGWjP-gOeamxJraq|JrNj? zs`qk?!@JxKn`1ZNv(a2+R|7kM994f)yy4f;7f`b&w-ZgrMo4wIS~`aGi&w@uAv>V} z>OfE}@EzJqyA;lmoYMyj8q_nqIqH*wbJ}XLGhm@C2sk49s;!Vt%N`rv&NBrO);^?FinKm^= z-Go0(ub2igWs|kcQQSKgWO72NC4JYKN^Y5;P^HdVmlMHZQ5zCJ=MH5rt0>RCx4W8X4~98no0Q$!m+%d;3f1^+ul!PMmC^2P2BwHSv|e8}1-N$M@23 zvo750tSQM^sfz{yya!A~y6IyKe41NoQ-MOVhL<2V6^uyA#SFPhHmRyqa#T+gM`gv5 zUA$q=S#maW)l36hLOdYc&pM!BN$2Qy1M;BeNH-+dEDJekc0s=h;v!^;uFhZlZ3n%!AF{;+d=1_e_de}v zW>raaUPZ;RG)mDxRC(&vAjg;@pZw4=_sjlnPLDk8ZOoi}%p5S*ka=J$vC_~(Z=3F( z1&p63l;C`+%ZX>$#he&%uzbBr0C)<>McM%i5Lm?xb)I0{(7-R|Ug1M|QQ~-El6-;m zvTBZENL{8N%GL>oIU#|(t%vwns=Zz}{HH|-N! zt9LO<*}>#K(m3(i%pEcg|AhvdeaU)E_{Jp>*05%9LA1D`Aa?Uus2oB?z_XQN?0vH( zJ^-J@=!}FHY1;}0a|_FyGqH2ZVwzLjg7c#=zK$Wm9&!HPoF}}5wneVzZNu<(v+S~TcS<)3iiCjJpklYj?*7zcw;sE@yA=aPu|T?; zWxIQKc4jBO{SS6_-rvmoK6BsK74R%EFKw26kL_G=dh(P}Wu@OUHstljmZYH(%6Qk1 zfN0ErWJI~wKfz;N-upgfwYsdcn~iFv>*czEy#vktFZ;F$Sb}M?kMfDy1mk1NPPi7{ zMKI$1q z`B`?@%>((6FXt4_$J>XzIQR;+F*K5TJK&CO3(Kf{q^}a~8*CEH=@baJwIoSno4+X} z&4F4*yIS4TyiZzRy->Ekrcr;b9m87XcR1~Mk-yP1D6TPa@v!QGw!Cvw2!+Dw8?*Aq z&WXRC85(6tULN`~ZgSw+AxnIog~hrJ2E1pNdQ3*C6hyg7dvvgEu)05{FKaIm zQR=^{TocZ+2^x=V#wFtC;vU%kF_+spN&oghnwi}ieO2F83tPMr@>TCfiY!gGanLnG zmnlZU*1eHh^)(76#MkX49|BHuPb2faiwSMPe&m4gRg@RO5IUB(M)TC{B3AL8gd^Ik zgno^nWOV&C#h?0mji~97dQyW{o>p^Ok@h!6Ke06tO_$Kw09@n?xD-a;ihj z1Uoz};8QKf0bT;dF?L%aodKYejVixYAdKE=s7{xwd-QwB^_j;el$^D-b zyZl!Wb3EbiKth!q5ZVDvY|&BUzes_SEtcP8-6KI{sm-n{{-uVO$FxYu3p<( z!97}lX}a4_`somIK!5zGRLwB|(TDS-WuBw@XUa0xj=LA_Jp608TY6LQ#^m>Yq4BPs zeNkeLbKp>HfkThsK9Z#QW_FZ#%VGv|`!s@;-S4HxdVST02Xl<`WDB5UT02tSp7C9$ ze`j7ccw9TLv&690e*d0}vcNT(xv&pt=l{ZyT7xxAvl*SJn?l*Frce~Ba!RCrBrDv) zcM62gxksaCyqyU7K4xOKdog^K;;D9042myy@Fkxb-^w=DeNrB)!)wPh{8H3c&ykM% z6|Mc$7-v=Y-bGqOGbo{Y3y)8V5BTdjBw7^rzclZ>fRWQm|III*nU*!Y<`6 zv3fQ07!qw6bDgP=^9DHS0@@yXtjFm+jl?V&@;#DyZ%du(G!q7bB-phUoWkzTv1o?_E;D2~j> zQ9C6yarLO?@QWFmkc8Bw0e=%X-i(-UPG5q4V*4GeMlZ}&muRimC=FkgBNZ*;@qK-g zj;<8N$X=ZG!(g(-N1lj&*S#mGjopY+$uYI|^Yr4L1?EVR27fTwcL&~0O!oO-Ocl>Fcqy*HVZMoqZPIPB{?t4+ z@N`GCtCc098`4|dk@BW)FZIfSzs69>O!$#z1HowAjQgaO1Er#?`qI7-Q;skPz?5IW z06S^!De$lSr$HwpLSCvl#Cdv0hXG5x3&A|biDbk(R+_rFxz=!(QHaSkfOy0WM+)J* zhr5w2y3yjva(3$)#hvV(>BlAiDX8{~cAOVQtK{hij4=tM~^;|g$&W5ca- z4RcuT?;CI_$~k##>Vr|QvQwvA&M{774|AHhJT`vh%dnMcS;5{(azC%w3|C!H3^B+d z1bB_|j0skMJ)|$NLpEXKQhNrE#-FC7bsy1i`~6HGg!|wE6-xYL{6fq%1R!nlZqrwO zt?{7XmPM>UtP4y^gT!R_bn6-2}ET zSc&)Ppf<*3)=z9J>Tb&iqQGhTbI@VUCZt3yf#=KSnv(mBhTpxffLDTQrh6w_f4F4Ept(u&fB^`>7xTh04uePSQoIzw$?b-?zugslgP7_ZzVDfthpsqEA9;zNp1+* zRWC)W&0FL_n5*7O9|I!1Li}7GIngOlX7lhk1`Tm}i#~MW5{J87Ar3gs0mG5Kdc5Y0 z=uX$LzL>hfp3Xl@8$Xv9*LJ*G&~UU|+xp`B>wyPN$2CtyXR!eg;)pm*pQAw){$C=; z+PkhvLkkLb6vj^V8s{{lwdmy}ZT_(0zI6ADQHj&zIwL}ZHn?`t!&$HF+4JAVL$)L8 zTR^p(0;J2^fvF12o_vim|EJDY`G_^@D^efRQw9`&EeU`ffM*)2TcwgoPie|k zPvr{PT0xfJvN%&dT-vXDubgMo>6emEL1NBxe7xss>hz!t^2NXt$O8BGXo+hNeveBd zk;2o1N_@EftKqsNMzFTaSbwtp@SpEB>)zvjt$1EnqkQwG;c&&F?uOcC*_8g9w%4Xr z4)u(gc9Did#JRXnv81#YnJ4qd6>lx|E?qYB_V`_;XU2>f-tHo z{^Pf=SkM`2J*TWbmIegaCg_RxB; zRy*?}+c%Fv31c&hB1Vud``y6=t_c1g*IwHv<_gWA^}h7D=23S`Pix(UKgr*RznlDN z{==`|zCICEQ{R-e)_&V7nA}1&_eq!1?_eCCX>NDpw!~fYv?()m zQ^uC5#!)A@7LkfCr_WAb8EOdRau?8#5oEx7+bgZFX^X5^-7mhVxG$s{p=j7IYqrGrdNxn3q#FA(sg20TXVT`5k_ZlPsqMA5DW{B5%$5}xM+=1|OY-#8vV!JyR^K*I$37Df4mjN!nMS-># z^#AwgLG|HJ9dBdbZGCk3Q`nPVKN4T78v-lydixrw>T{x0?0=Aoi+8#mbSeD5#I2c? znR!LMnKz2$IUbYdkM>^m0_~`S{eQijx`|%-s=dH1CxQF7FP!EP8fY^Dy zE}P}R_XX*VJH%DhxZZ@Xe`@MqYu>GY`TGg6Jo4$7@Aa>iH}ESGd(YGolyCbU*c3Vj z>pO|=v)Cge@?vB~%DIf4Y5!(sCSmC>6HX5e3hs{yaZ?2~vsd`=ky(s8s(;L5gsw7& z0bhPn->vSmeKnm<{b*;Bpt`3}-pemG&Xp;#y@n2^+Lq>dfa>lSLz@)1i&h!7pS?3s zPJbG7lKnQ+;L`7Z#c8qkMy}cWvTLj_ocfZTkbaEuDIF&B z(uU!#C!DhFiONyyT-ye=5dPQlKs)36g!YsQZcWw4;I9kbCOj{BpMU>YW#I!=ZS%8< zJ!d|gln4B|Vkzn@A@LNixnFJT{A3ObBP~AF3GX83q*0Q@aVas=!|-7R9&5cI%5cVP zw1~Le7z#|0#7N2qTDv>?N?SYnGn$eFkxiE*%UXMt&%5v@(O?@|rM$tCTAz9_DTl+F zdD9XT{4XRP^M@1m2R06I@Sh*L)>jqwCe%L|48!?_hn@2FiP+~kW{BLaG?wYSCEkI3 zJ0Y5KF5U^79J>hQL`^q;4_&UC>~}+b-tDA}#B%ESZvJ2WJO0qhDb=Sx%=|d!^ZvJU zzr1_)?#I+8MGY69kMD)wuU9lwCTA!~DIu&0!3`FHuXvFWC(U z%OhK23%q&*t7!liGj2mRNPYE>`E{}t-SPeHo%`BncOPw-W(&N85dvt6>-qqA8SznX)B-F-QLu3)j{z%j%ujrT^u3$9F zi5Jahk)n!exe=+vv7y}vKad5C_tk5g+;1zdJ9*0&u|lLtls54LR4zVl{cjLcZ)unH z&}-~ewkqCd&tH-chyVJ1eAsgN^Y1?F+Y8y$nhmC9ZF{h@gHiOunum@=Td4CmN{_o; znda5!Hr_kNr`MD0H^B||UE)yh#<8K~nbKkUq@JC^VeN-|cC~U^Kej)q59(c8yHk`^ ze@0u`5&`G-4yB)#@?12gKKp63BD&nEFKtcWqikawrQm$#m!jqZb)LhR*C{*mx#}3@Fb(4m#tp%TmajZwz%v(k-XvtNaM3?G1}o(-FqZY)7VLNh9qG6hH;M6EZC~k(cHL zP^j6_T4Gva*-lC6U6&8dBWvtf}m0zEhy904f<*;gfF#f`3}Pa zz0pX8rdu}QFM?cPI8$xq}FJn{8CFXL~I>iOSEq+%Ar&C*h zyXoVfr24f#Pt^_kvAOB|uk7wUe@i4O%}Y(9UT5N5g^n8v?e=Fd=SCNMsZ!yH!r>=V zTt^Na(KX^w-n?O^{Ql&nxj?ikt3CKe+Ga0v{A+tMWg7E$a246#SBHP<@*nn}!%5^K z^^^@GaG(^N*17}T1nA(W=1De_K>*&;1X)kWGt4GYtNz)bLVbOpOCjtZsxS_yl>x%b z+T${k`HwaT3bK~j=XO1~;na&H8fy(T)o~NOgtMLggZ-KEfsu>>ejtI-=KZ((r*1SnNRq$Mg6*2Z}S*TW8BlL-4+v(;JYs4 z;--a)(G*;iO+;TtSwL(2GxuW=b)0~}`3zt0J~GSA zp55kb$6sQ=*b|C9_fG7!DexhXGv3SUh+ASVL7fbVaH-lC!pow7AHqx{eXv1uZ$P2A zHgMP8)?1-;7GKgT6gz1{@Q& z53raYsWOzF{QZNwo0oObe&)0^eK^~&>~&hhlvfv;m%dYVUHn=n^87p0@S)=ysdE?d> zbcu7%yPHwuCZ?R=-6DNrk0$=2pT*y$_+f>lsqhWL09cD(4(M?aCK6Vvv-d}pm%xh> zwVlzr)A)`*N=xA9C|~pU$T2~gGE7>hja2`&)R<w^#3%`vYt zT2!xgcjT6555V6u6dN1Y0h{`Fld9A#&I6>=(~JErc&hJ-=wGy+B~u zPU8Lm*Rc?DAvW4jh>p>$wDrgxtTp09bF(1JxNz{ie&e7K&I*S!F&YLh~Mbxy! z^t3sti$~l_y_*x0{3OR1w>bMl)X+>t$byvHerQyh$I*Z=-k=AC{mD6v@tA9+?q^S> z>}N;`*U1gY5!_nv6tcq7W~T_mB8v9<2>z>#nhqtPgo4a{@2!^}Ojdb-&jf^?v+rX-L@5a-~dkR6bx@v{D< zzX?blWqUF zqBMoyBKLg}!Qp-Jjw#-$kB3`RcjTN(9+$Hyo|v6Cgqrz2^hauizfbIb&&=R;&X>HR z9Ca>CW`ffU+FSN=%3a13!b8#s7(yI@A7G%V*9sd-p-~2_tw49#HcoZH>M2`pwu!D9 zj|s;Z#lkVB>*B}8V=`ysUX_F8mmaaPtse+c*fLrm`6#oWlF4W#>nN{ClS%2M8o~o2 z2fqm44D)ScO|y-`vT=%mo;*Q#Q(~|9&&E#0cVY*=0_yPic(dnG#RS2XUv@)y^BrJ4 zzk{$<9m(8cMVwBN2;T0zVWG=|@Nx7+Amv#WCmqY-r|@&`CG5;z6@4*N9VSl;2wa~) z@g5&8bD88jfm7-Bn@Qpwq9|^tE8*L9Y z{!ppnn?)(9F~y44nU;##7ANUdpiw>)*sQ*8_p@F@x`24%7&L`ePIO>akhakJ2v3Pa z@j*B#ZZmoq?}v`W7s9s?7mLE&ulS-G+P_XTr6s6eT~pls;^(K%Z{OB-jrww_7gu>+ z@cMU_GNrk|GJc>2cUn1wHfRcTT#tQs^L5AyJnb_-dLU+dN^<7TjILZ!+UC4tRuKT|gY~yHUfN%p z9(}Za2H^ydF5>Hhe$ zvb(ryNuTZeO@a8&GR3c^OQz#}i%>)sK>n(m$JBu3yhciyZ=Bn_$aN9dlJ{mL4?CRq zbZEyYVTx-WAs!gv67|opi6Nz_v;Bt0J9v~-!i zYBj24Rl4F|6;J(Jd&vkG{cQcF|Dgh10gNhrK)Ec$8ZTP`?vQVX4a!d#OY4IBWjKgW z1CHC@EveMgIFNQ6H^MrVHLT zUhZqDx!bemPhU^nZ~uPY?=ON^HC=LDQ@Sy{Hw->42_)31{!ssC`sla~x6bng2Ms+K z^dfOl%B;-gdHk%4MGwLl$0<2~y>fQeI>G?+@mf*&d%&`VweIV;X1J5^Qq z?OK!w8TOEjmL~FX+i0pMCZp~_XA_cbkH89Rr_tW&&>Nv@!y)vM*_m+9o)NCLe7Ab5 zPO0zoH;7VN3kDw78G74mEWNnD^8OWnO@hgF#qur9-FkI*1^8Bo!_LdHND7UfnE*X; zWig%vt?_Y*FNjBm&C3yH=Z=Za{5(26xjxSrJ!-_MFf^kjK$u+Nbt-m|OGapr<3X=i z^xfRMBqJ>td5gR@uG8|B!Quv~!(gUtiLgv1Q~YNLGk>y*F&YRFpBWNy0@X8kw&D!@ zPJyDBDuXzn9i&7W(`gSZ&C~|yG4(LgM@fN4;Z#@_*-$IZzup0F(~x2Pa)QqIx{zs$2ir&4eG?26BK zTNd%0v(@)0W4M!^bby)w4~G^T#EPqmodYu@)4Cr@_&t0DELf?Zs$ODs0=e*Z{Al0? z)}*ZkT~t4Sv&tXV6Y5cLfzAgv-&jRhW|>D|K&?2$)`q?YD}eVFp7w@my8O4P(f%ZQ zpcoJD(52zyf$OA9DiTuIdK7npvq0~_jqA`mn z8x`_jmKZx-MWx{rBY}_XYos*qOjj^c7_lv_ZrHbxjm6U3ut}A}CKV?p;&W=E{vCQI zgq{4@j}n{hfrPDf();!>V|X*jQ>cZu4^~$_QT|Ilzb{Q3)G<$7-Z59M=nK;Y$>M+u z#y)s9`oeYz_tdxvjL^(8eO2u?@-%PFPj$<{)5cIF$1;d60W;Ct&<)!ZV85x(G+jN@ zcu!VpyeJ)QDOI}L(hP@jc2*H-HbF}YpoSp>IF0s$VU;9Kwq&qGP(5&%zmmUi@V9^| zIwx5w*{=E|TcyjB>kLz6T+pU?gBzlcWS)j^yX#p8!UFx@B|k`fK7yaSJHKH3y6ih+ zUZx-;J!A4Sioy;hCIoaxBc7?@j?R+;f*nfST`5*pKV*g{>5A0vP<%UXSnqj6wV@lVY2bY+0>^rz2#F12ga<#(={8-jS^KTTV@YEd>Y9!5k zKY^a_FgPe!AYe!yh?10JqyqIA@k(v7Aj85Jg`!RJYU+3+!KH!F6x8N2En!yV*GzKe z-#ljV}~`**%%lT``UY1WQ7Y7yqmq!x0}-AyaC!syr>N^O64um z%cADKP@%bNoMcb$zbd8hj!~x8f&f6mdN4Xti)=TS8{g~xRY|o~iei1GiekE_FR(OP zepplCW7hxRQsYGPZ#~zLXQW6EW7<&!9KrA#JsU{x6*Rp7&8@x)Qlgnn?d`7Ca z&iX;prLfOo1rG+Lec{51eILcw`a=~j2X`p(17uZb_a5V-KAr8B;0Xy(6mpZGzkaO_ zGh(WP5;GR3ZOma5g^$`d>F)^MI8F*VS2E;BMo`Gj#2vmwKUZxMQgy|NUM0$>;TDQ;4*I%@1&9#_|%|Kg=z2}w@Eftk5>dlr|s7CnGY)*RnNq2gBJ#ubae@4cHWl$>Gjim7u`19RX?)DS^)cddJx@a zt_F9j?wMJVCB^{JdDD8ChXv4>fNg-)3`596|FlEj)| zZAQ};@K7%epCO53Hkbz7kJCSfj`!bhZ|DbPB^0HO$|$212F-LFDKDX?V}*O7rNe#% zkrSVLos7E8n-@%H(7oi~Y^p~6%)DN4P(4o4Bk~v|_q^hN@AxTFb#GNn7+k1-Eq`pC zqCbgqwTkiW=4@1~wm~VfLdzjxi5U_Pv8+{H0&>m2OjE&UD$w**xezGPCSwWOSi&`R z2SKcrQaw$0$71Uxmo;#fXD%+vYc5gaR)!v-)ml!QUug?PG}(&QUU6LAOG(Jz1Uawn zv*b*5m*~dNY3kecCD!y_9*!u@r1coJ&SGkMAk)_=c1_aZ3_`)t+*wnO7TufuFmFQH z_$=$V*NI(#SGJ1HQ^b#xVPt zBSG^9PtvZWtW~inQdKWat{dn0*tFBR9AtU~pd}vjiEG?;5-6-8w)xgEmU#Ji&GpV) z*}2*%S!wkzIljhGa`xvGVdD48%1yNwEI~a!Xp!VT>7+i1vzxTZ=aMHcaz@a^*FZINXeY`#{9LnLJDLj@h& zV4Q23ZYftt4NK+Atv^*|1d?(bsZqL}I9mRUO4M9rZ#00s6zfiR4YJ;YOX_gTr2gU* z;iJ$<=&n+#Ki7Rp5nVS*QC|I5*-=fGCj7`1UaI6P;{Fadj_)`K!2J?bp`6N0!v%Rr zT@yp8(bp2;?9sz_PrP3^V>V^Xzw@5ut)Dt>s8jLY=&_l!fbzHn9!DeYvZ=lWa06|% z)@a?S+-pFE^CZR|_pY7Yms(@{SG5la!+YYD&4Udljr=j1ucy!(t>;+X)&km2{YC;# zHPtp z>pM<4^2|XA(8(-qGV)b%6Fjc|4c)aYFuw+&*RixUwcfJbRqcX{ zU!F@_f5pq*RL3i>H2lvrcd!~Sv`phfvXA-tgs`IbWy~M?Y|M&Lg)^Rx-@PbpLifUq zTx)4>Voq*L==jv9zIS4eIIDx&a155!zDr>%ar%tDvwiLDw_5(`C~98N6VbY25bm_e z)(o(X>!lmeHM)iLuT}S}0$c8Tpf@WLzr3KTLuLAD!+5Jc?Xo(xV9n()B=V5p76w`X@Yqvw@TnzOyvy9zq1n#(&! zHl_9*Y+(xd9q$wi`m0Q(l5x1}+80c|^}Ne6{3A~e<+$S_NP_>WeFUfKm%#$-QS((h z$!wk8OF}X)>1F9owpVCkx<&wB`}SjG@f%vUa;jslvBc%O?W%hix!?0CYqJNQx7BqS z7i2VJG1@5o@NSAatL356*sxrXQgyf2v7(~;eT7e(^uwlZzn^Qxf{vHQqv~VCVsfoh zsCQcslHi-vpC6aYF5`_4T)3tTSfMQ`UvzWCrm=$ffUJ_J!Iabf@57zh1P%pH#SFSs z#Wew`H^SFV$#`i*f^Ie&-{hW4EpVhiTyq|bO^PBAkK5?tT`}9vuy-RrNDyGNW0gO^CY2#(W#?q{h)?SrxhO)mW-sxEcZf12FX^{(P?-Rrf@y2>$q zoR){{f%Emps6RYPkN#HE! z&4h2>e_1~~99cf(Mc@(Wk|_atV~f`jEm;zUwzBuRVog(zFsD&1``OZ?N4g4Z%LTdQ z206@nXZXxp1YdF|P^!I>9e4UG8w;gTqKN&KxAxspfa*$?mos@0n9o+%o3F z$Lhn+>wgY^UQ_$$b3@1E`rFbuBC%C!JHpt@qxwoBAID!AaXyzn)9EZva>%f(a$6L8jXD%c&84;f_+rc>8dfe!*^AeZ#%>dS7+Ez>$Dj4M|nq zw?neA9qX9!W8iPlTd!~02fM!Rd0g~sLb-e;X(kiP(3I(L4($fcduXKGm8 z{iHsxXGB%X=1yE6x8+OExt4rkTl*cQU;j5ty|@n7qQ1olvp6`t!_K*1rFr`}aYy(saa$B{ z!Sl4=AveDJZfvB@RXI;EXlFGlTY`VezNb8|{b0IX@X_&s-#7A`k9B@O#}D*&?>D3x z=2Jn&TAz!7cH4c%jl%M=u`{>Kty&hhYWarQo0qKdTwgquH>5`9R3vgSNAscN(^~W!F2jgAJsoJf7GdLaKjsOf2IzV7K1`Bi;G+Ag-q8j_l0>O)&_jmz5Cw!*zoH(44iTudY%SP^9tlWJy?Y!@3PEFt#*AXF29xWkVZZ`v}Xulo5>f{E5KX%}5 z&C>51UQfB5{G#^i{?|D-TR%~s+^!~8NPG4-HR#sK|57Y?il4>vQOeSU_%WRYZ|2OL zk+ZsWIeF`v&1<&I-def1a>>?l^6_6&)6)uh3)q(|b?SSv1peb*dfUXdzm(O636+oR=8v_J(@Fr-6MnAjcUB8s@ek zINkNX04BYXt2M0x>xAXPP1Ww-?!3vqbNAK5>o?!U-MaC0!xQh?;?Ev^l*TE#uaZxs zU1+e^bJr2^m!sSB(2=?+!zTMKN?SC3mA73*jN5o{4z}2P45xHRQe=k2ahD^_iWny< zr%Emk9_xwgdDI@zvAp$pM@O4OcXpR_z}#A4**&>uL3=}YZRh;HnFDk96|znd*Vv=5Av<+-)b~I+XEJu! z?Hc8w_iff&KQT8XknH?#zaU?e z)`#>&e3#P(x{KE?r!w!$E(f`GInCo z%~GF9{Hfc@T#9#${Wk2s5!UdtQCpew7=`db=(M3wM^WX;N698gCX23%rU;ed9l{M# zK!Pd!)iTXX^Dt8ys9J|RDH{U7UJ_v4O1Y%_TR*#W&}W~q-z{`4&njq5KE zA^e}xEiwlZ4Ir@>JGN9ta;dR;O{`+7kgrAPbWd65R_XYHK5(D z(aLHk@AsfO9Smvm?uo4raY}m`9g+Dk(VTT6)g`Sf@l_Z#H51J3>J8>C+Q;Ti#)B3%SYQprj)5FXB59%avJlv&uZt_%Y(l1n6w7b-EbgvE1_0Aw*T#Z|0c}sn7ozH#;|P)}nBQywZkTqWzF3whZxoq@Mqw3yk=SwYuB=S> zpZb$@fpLiXBRIym8`o&vNjr?b;JhQ9a@R5f{boDDL1&!qhF)|Lg$mtzgDmd%JWSk) z>{j|O%1z2EoRE+J-@(1N9>M;#FtD-aPE=(&iH4cqAS*3@Y*AnmbPY}dH{ecLD~LZV ziz&;@f2dS*7|m*)L;h%1BUg2fR;D)2T&HU^8V#R}_kpRVMM%3@V|UgKW4r{Fj@7nG z-e^?j;)S2+_KoP^E+iMZ0ThJSM@i%?Bp0*V2v2FQh#Mi@oB)2&RvUX%!?bvnzv_yr zTzOtIs8Z^8YMGV}gBIFknUBi`XHl%S`K(0D#H}OjcAY{#<}rg(>-j(GBu_H^kDDuF zgwsjd2IgDJJ@R348vY+*C6YtvgB%H6)?~sHpo9<#1QIp?MEncuM)W$=W~crA0f%E@ z)@=L@^LfGpgDWvfUrR{S7vXp658J!sGi|SpUf@D=sC5_c9oTO_5x&NiS{G6#fm-Gs zsE6YN8+bf4%Y}o(Tn6x?T!#=Jx_lu1ampb+V|U`im^ZMS)Fe2ECk+{IRSsN=TLR4@o1l3NUzqAxhsd2mu?H>!w9oYndet=p z6FKk1GPr)&1lBa{Cv_yoB8^97xRs~}dH{Q9qu|Zp90K1ulz703CwhV)?jPtD8VP@Z z-OwakFBSua;4$+ve68^!o^N=D)9F{Dd_51IX8Z{KG6h1PEzZybC=~jE&4jj+4G@$0 z%0}Y6hG+0tXqEFm?5Rr!F59&RKf*PL@Q?Ew{6o$HT%^NZbQb-G?Gwr0u0)tOn&lQJU?X_ddJ0a3rs2Lqw@6J8jsDh_=n#f{;WVNXdA`^k=d0*# z=W28ZZzFn}!$IG&-l6IAdeoajK(mPX=ylvO%n7yEU~CD563Cf25rhfJAPwIJenKq} z5t#))uvH;rAU%2#IETqif3a}mzt~oNB057agF6lLVRusktTh+F<=_(d4Y~xLK-vTM z(O<$AHUl~2^c8V*K9455EWo^6)z|@72i!52`&fe0e`pxn3%Nk|vAri|-E`&!KcA0k66Ug$XESTsQIj3T-^WSgM{*=v*`QD!~TX0;*@5ET+Z{DC~D z9Y@3tOOSHzS!4wdKwdkKNA)f{&|9uE&^fN{NIg#m4{>~BYogD9)Fi}u91jB%(T#vV zG!bwC&H@AGS=I*gUGTMKlFixr5Aqc>Uogn{~A%)`2ZP)aVXxn8C_*sgX-+R@EDwln(Y(7 zwNx1S#cD(bIeetW$rnv>E=E7O6rt~3IcSgTAtc`A5}d%X=)nwNuH>>PtXKoN2XY{fQ0orJ@XD`l-Mfj$d?nOm@7?5p_qjs(IC z&NeKavjbV^I0Lacq@d2Mc(jThjd)R4A?c)z=o)+q~IB*p(hM$(D%lPr~}}EuCi&6a-13o zr(nn_CKWX~CZOp~ThR*MO>~#bdGwp>Tr}8Cghad25kIclc9ZcPa-uu}KN3DzOE7}< zFZ3U<4_FP5ELFfobA>hEvIhDe@Cq&kr(&z1rG%5veeyC}CG8(%AJe`wcHrYTIbI@+ z=CoqtIH!>tj_Z*Ub^^MB#YUYN3V1rz7gSO6aMneaXZP-#o zLOO-~!)QbN9aGWA-0Ns5uMW*|`GbCRy@1Yhi$zbn?m>FEyWs=O>9#@2NN6iD3+%H~NtQEUDo|&02hXA#?Em^L$br1w=0n?rs2ESMNe%!$-tiov zm@^c2fP*3=&OM}qosD9w4&)r;He5sf0)Hi4MPA|cs0rPStB0HMr8YBR2egI|51q#i zg{EM8psOg$Mn{`${>WQ61X_z+GZWC|_Ivh7Uyc$Df6xm3MRciQIGSw!gbW2UkxbMA zKOh2d7JVX;&6XnJ-1Vr_cvI{Lr&bYtc{62hnY=|DxO6)}SJn@#r?EPQ;Ck!FFAsErEO!;^F6k zR-4_iW4!>RTZRF1%qxIb=9$(Gi$7FpeFfiydNGbIgxF-uqZ~$J>A$gl<~DpGI}Y#9 zX~Vg3pJF`jN|eL7h97+tW0l3*XlQ-ca06mC?E)dZFk@q z_!TgPdL2H_N^~4A^8e2i}nypVOHU~9j4$s zIB#*AxVLc+xzn*1_RYjQb|b=L`NKi<0UMFB8?Gk&LOx*Yv0x+^pJy8+BthGWKfw^f zEwCE*4dmhqArGw3b{Z~+AA#f0XzK|KX9>oAHag;}3`enPdOqr?x37A`Wn{WV4BMb7 za30PbR+Dq#)652VpW{O0G4~7dlP5Ma*%Qh6{iP2_m0QTMS3;LUR78ya6*xnFa zplsxfH5@z#G+Ssuxf!u1pzZ-?i$5r|Zm>~pTTp@R9=-s6Lux@jQ}GtI#*G@izu=wG7}9e^A$j7RR7@4z0A z3q0QL($kO-+e5})Sk890KPy)tF}%kJ%Y}qqx35!yQ#e*;Ur~I=qnNM5|2g`~=s0qw zT}j=;o#LI0{ax3fyFCkb)H0KvWE;ICOKV5@d%dr9 z(st6Esy8%OvdU&ldd@rpAFT#_o=9zugcp(0Bzq*Fx~`okrIH`x&4e4!JD$tI2?J%C zDMC??rQi{j2hve#8d$WLU|f zn}JEu!$16yYA zbGtWSIeP_bdFDp{=Y1dC<~>-&oHa zf6PU;3T783j5XNR?8B#6Wg`C*hf~Tz;p8G@Wl}xrOUgu7C8Q%4|Gb9+e}2me@dISb zqyn;O_=Sk((}i7ij{Bo85NDmIMZ~p7Om?3acK6@1t>dW_`UxncEyIa419^dyaFE<3 z*P5+(|4>7v8Ecw zU96?7tEuA~V?57co(z|?-X{IvHxg9Kmw1Ua*Ku1kbDt3V-2=pXR~IqYaYY=~Cd;#A8gzv*xKtD;9&X}hv$jH0 z-|(*~>&*knSq(?Z;>e%S`-m|18g_ZyoJI5V-uBG0lsg;7dMnZazGqsL?~}cgH=FyW zx2CV1&kUsU-wyWl#|QKIW1^aPGx}D#ezSlPM|xfgV0Adl+fuT<(&E zv4%`wJ!N})HCe%xLu#HUqL90?*zE9#=2~yj1ggqyR!evsX^&>8AUT&(m6T3-2f>t% z;%#!0xiF=ku^_xH^27WYsR*x(YMRe#=j_kB`J!d1;BGh^-H(ipe$4tuJ-5aA^ST=P zx_cXV3k4>4$_L}zuYyfn&7-zCdii?Vin?2C)gAAt>d;0%umdD3-AgLsVbW8cR-Nr8 z;tO-FIB85*5xa2826J&@dDR)Hq}-TL5%(nu(lL1rT^ZU!9!H$0TL)ziL1a!;V=7o( z`9VJ+3ppOi3(l>wx+^H>Itqzp+BME)4lzaT$l{bNa4xYprcdyaG4Wl==lBlTJTXN~ zO73E{56?9G*15=D_!UXeJ{tX8RjlRy13Y(3CfO@>BPf*S1U63=S@?J%33LfP^A1MwZd;{tdW}rtbX`g<(+qAjQobbL{?Twrql1s z@wNi+m)!+dZMo!Q?Hiwojd+Z;f;R|_5?2z}$e!`%q57Y7*zS*)Y>n@aF-du3y-)`$ z#;k12m&GDySh+}bXL@6YZ?riy+R00&ZYH*-O)t-+O{d&{*-4}5yxKDV9($}Om-~~W zp-<>n17ld-;5gz9N;vF4Avb&Oh^Nk_Vy^vf`CLsG8=|$q>}&wpOLEbrP>q^=C&pUG z#Bwu_Rn_Wl?BjzXLuJ`WecTuMNsbzf6|pwZcl-{vlOS(Hyr@UEiRUyyq|wGIe}xa? zv^+{bsRUwVE&syrSTPZeJChT5LVP~y`_lo2{H~3;|6Ias31hHI@+z4&vd?P48yXo2 zjkLAh3}14Oj$8~}F}}w1w;rW_#7CuVBr>NBi%zMY!-L=hn%Y0a*3$jA>$82T_r6v& zP?=^AHpDeSDIW&n#T{>H718pD3y!;j*?-IBdRDBd?g~y%kWZ?;^&{~?W$iEJEHkV4 zp|G}`T$*RZLvtMbV>w7VUXu0_P3S{4S?s%-ID8kktB#wE#dx|~q|nCl3U$IIG6C#( zP)-mbe#r=1*HWT+pG1@2`BPjr|J?(!{BDI+{yfAz374=`N)zaA^ybgSDPt?m7ddO+ zAHM4;6=@OG*7y};m}OJX`--UHj$_6MN8) z-ss!%Pt*zLv4Q&e$s!}mlh@4lgKxv8G1+8)0}gqrfvE&8z(!8@W& zK=PX2>-@SayEy6y3u?DySN#RtX5H{88HGz^W}IoQfZIko7-Ni)waw4sfVD=n6z4=l z)|VZzjH){FV>+@I8^d>W$|!O`q$N)IA3l(^aGOGR8ekrDr-+&#~P_YBbnjcwIq?{vtc(kWzxJ@7!iHn|O^ovbp z`BG`Tb?hs?HM*m078Slhq1`h#ka4Lgl>l3CT{9$s6vk^AK@7y=DR z72H5}VjjGR`{ik@B$wbQSqHPjQTPQLenLN)!Py8#w?}Nnn7&F?O5ZlqZ9dnSE zj$SQOMcK$OUwf^wyRhRwH39XYR>E(m`=cD#GkTviqc@1!!K?heuP?vm-oR@+tBYLf z#wx0}gSIROe#U0_QDnj6Ry;(TkJZ%qT`aAHll2={RT158V%iL8_EP!`!e`Iji1)LeE;q)pLUb<5R0GepXma92os6!^vv%EOHV!FtN$ZOmjx{EToDZWg~fa#Meqnd4jo09xEEM+G&j}(HZR(d%D z;;g#te-WF#Vd#kKc1kIq>TMBKF#IUGdE`sXqsX$DD6?Jk8QxP>dY^nXsO2uNZ*sJD zl+z7Y6)II`+uhe)rt;Smm3@PGN%v2yjs3pWOsm0xR2IpwLsphH)c8s4X#Btok>A)l zauJ=zQv7YSQv3M`3dkmK5p%+D))7kB?!sP28oceyfZ3eqp|YbSG;*AfM;x`J&-qCN zoo=zoKEOJy_c!inJ;GhIH7N^Oo8*dgWl~jAJ*hcfNvZ^`QYuOaw->FgYCJXQ<{Nq^ zG|)CE*>v7Z>gmm%yeUvKrBn3CP(n;X$c(8Hxf9K-i%|pQ-~PU&l;Yp( z)y+>hh%dm?(yLUp=qLEmf0<68o2J&AI=yN4{|cFB#dm*Rvo zPBgJs;|sM;=4VTbF;I6P9TO`sicAC*7CJ)aaTmY^7NLzWT=>?tAc2aNc=u1mE z70ToME?zm8@>I@W)@s{&>o{#^ak<1=!l!bFm0iY~Iq**8G-(-bLYIYe(muv2GKn*S zuo|Dy!njGF45J;EtnGdybsvSU3PqY9H5Tp%dc#!TGg;G9O&)O(S;1+E@%A60la@#L zNlVKPGV)fO3{4V_6tDO@`HgiYX^Z(i>6YS>yBm4J3yoM)8mq)5V;Y$hDWks)ZE$o7 zxjZGp!~ItyyMk)AQtWi|XY4ZTQOq+jCb%1?`=7I3o?^C|&TRHXy|H}>tzdruhV8Og zZfnN(>MN|Vtd(WQidH)wr)G|H;AX@xZ%2w^mq=FnGn_!9jGgqd^^vTFAjzaHR=s*F z<9XL%usrD?v;VbZQIF-kV7xSgIn^5fhB3aQ@{cQz3_8Ax2YOhHW;tXKFNjk-7r$+u zRP|l;a8a{uO4w|cT-3^xJke~JOwD2`Stq*+(0N-5-pN zzWmm&s6u>8OiBJF_72Yw+eJPMF2@`G^lYW4qdw1B$u`e6Sn2f#X=89YDA{GCW#rjBJKV#tZV)NXNcef>wsybT+F(synvf4NpJZ;V*?Z z0w-W!R9mPW%mhn=$ucJROTPCXmQ_40WU~FMs*W~_l`4yE229rCT&y#$@~)AgX4A;) za4X|{${*#aUd?+Zf93Cz>+lOHZF#rwXTH^VB^K}j@;9KU&+c=@XIiyg<*YN_%sh3} zLoTB?^TV-j(ImFGED-$-(gs50uID*B>vZa-?Jq5>mW$RSTk)eD0Ppx#IoawYwwfKS z3TA0zzPU0y)H)otiyB4&IBCu#WqCnHp&?sO<7lF-0~zUFhzI-)@N}??Qj1r^F+mP5 zqSioipcI_o${8r#dFIc>YdsZSucvJ2|B93e*!!bxvJHSP(?F!%IWITs=3m+dSD27J+#E94t zVp?opIXrr|a-tU_k30+LM&}HcY@=+nHW$B=%5o4K;w8i#YrK`gDrufF1{hN#YmN2c z1*Scck!LiE%k+FI)|1`oIP!oN)ZdW8&KX!+DVKf*(!-AE22e3(HLMG+hsS}IkkkK8 zj`#MLY2A0kEPGAyoOKW;91`6`F8Rv3C__eVg=z#9{@y~w8SBi~W}3)tJ}C4+l29BT z4^2f^q$#X5p2;@q9qljn!VTC0CFvJgK+hvjs@kfxXOuYX{~~q;H>#O(UfDVJoLm+? z1L_6(;Ym+j(${%|9Jh@osFJc%bYEF9#tAQjlc7vt0;G5|LW+Byyzf*w zku963!di&8kWp$X2bgJ{g)2rE{2m#HMU2ew$Ed}NTOEu)yspB#M~8agw@@XLKQam* z7(Jo0RTezr3fx!k>|yK!O_>hQZ8_y7*Bdd==a=)M7KlhR7h3Foc`>>StO(qJ-<~cw z&v^k~*hb-5t()RM-t!=tV7`_ejSal6G0coHUPLY{+`p!N$SOvs z7+2}Q$a&=`J4Mo)Ph@rLyt$Rv3RjgCQqI81MbPqeBeGwvylp zwTCsd5-`^>TuRR=@iy>*?~4AwyTslX)ngY))xl79@D+o;t{za;UJ8=6J+cmaBN%PR zPvdy=oBV40!;6>~jU?knWUN`y*kj!_FY;eJqZINb?7*+|J=tvAOT4bx@Z94NIsJ33 zhk<6+qNuEVXw+KKFVGG$_}<`0S5eZ}Q4)XXaj=Z;RL^Du9u>)?ne{iTU|e8@B6HZ; z$av~8k3m1{AL|HD31yZwlLtZNq)~V~sR)^#GKa)OyyTVX!~NWbq5rESRPA_?4U=gd zndN#<193AjgGZvb@u#s{MW$32@6-W*_rA_I)f#&xs5*_5~Dw-ws>1?sDMemb#iN6Bv2GZ^hEg_jI0 z=KG`5i-)ldWUo}KV1LXgY!g_7quljyxqU61*RINY^p2Q7?(^OF%X$DU%+;cgam5T6 zS&T)I_mL&W17n8uuQgZFbiW3XZo`x|G& z+ap;csnu?FG#~Kn{0n4}r&tnvv}YsF-S04if0oQ2m4>rmA?ribYRelH6dU{jnC`7X z+Pb&XevVaiiT0b^!rJ63FGX6LYe*~OZ~7@Ro7Oe<)8%F@I*_N}0Qpm7#JomUk|kvl ziAh>SZY545w&Z4{X-FrvjMsS9a^e9IC-1;+-j*htNAyMJ9A^=0us0`92rLojqbtJ5 z*tfVKHdf(iYiJ2yVfw)t!qc{YVS=U_`qFj$8i})};VrYiyl2??xJc0K7`_t87TzDZ z6`5@uwqmR<@Pn^n@8nPWB>dyfL(2R2z__R)qD9cot*9FOLtwcm>+b<>??AG|wT3zz zv*}q6U&G3giEnG=;QL z)9;!jpT)MJLKrlzLQbnUq!V4_L0H2JDy@T0&u7Lt&YOOZoe%UMQ$VfwBN82T*x!~=F8uK>=+w8id2s2K~G0tqLTu> zXuwmQOmR#Gn{AEAuU)dP&`f3qVnpI(`$!$$BvRk15Gi4HiWD$D8q7GruNbv4zg0&| z;^iC<~=&|VEv~JWeYV)=s*`1qV zl5K&QsExLqY_?H`1S9=qxo}D4_N#9_41Y2YsO+$_*~6$IjvMdro_SmA&zCu>%Vf73 zclf^GoWNK3H!3JQM0FD-0~usqr8k-3&PAp=Zjv#29NA3IlQKAumXPULKR%fDvwD$% z%I#l(_s7N}4=z&p!$n91=dh&cOD-D+N!8FivNrhx9#4J%GG&#F4|fpxjlq0}`N5ha zj$2hog7sGG#CzK7ibu}Fa=NEBX7isW{i4p$Ky+m`Bf1>>6t$72^^GNo&X=Iu&xw~> zU#lD|U^FLP!p&vVPa{j@mfYy#jmahR_wJs4=fh6Z=B+RS6!Dv!gj#B(zYj%PsP>Zip-2QgFC{yD_SPxUM zHpGz9vIF^K)h8PxUl39KuZGW9uOh9i=~gET6))&v54hi+T|RN1 zhU4z89!I@r5M0Qn1W!?4pbg39SpfYVUBwlhS~uC_$iJjeIKM0(I&Gy2 zZ7?r|>X^+V$IO#vGwZ(667(V8%|iM?>yRV0*yjE&e|mS}Kz|+bcVHEo{$h~qTPFkF zk}%s<3-8%`Vn+QEY@#;B=RL-^@&&mke$h^1Fk2v|(XtAo&kRj52~NNa>;zwMt3rg& z@{jn@=&$(h?Jz%OzPy>zO`Hhz;W6P`mKC0D4N~mKZBbUm`a%NqiSn2;fS=u)$SQ9l zUGG24>PNj~dxL%1so+$4J&=>M_O^rp&N8BzEyc{PeTvK@O~a{WTxhP2eDIgToYIl>I1TtJo#E-D#^C~kPIE4N}BY}OPl)>utehEv4ZP%~?FD8(oj?q%$WoG@ORi_QJw zt3}9CK3@Weg##rKa|G`G6P1e(=gtM0!O%n%o=Ja ziiMW&b1B(*nUI~=ja1@|lu|PtoD&UMNUpYb!CmfGB!kbS-TcGY+dwatI{1ga55~|> zQJ=7hzXAMow-br>dX{o%7>|e<{v|Sn^H@ot)yDX+5xEn|YdkWY=6KQB+K)-xt@RbL z_H|;h^SE5*u8wKF--+LsiMI9~B9Fc2aDitJ98$H@6bFO)wnR}#GeljwTp`&jK_UB? zApP`)%+Jy))PF8qr1zi(c?uoz1zd+WkRYGIL%tREnmM6Zq?4Q;njvzAp7SaxeR%(r zru={5**uLIE6$5Q;v4ZnU0X+7;krPI`tH(~{(|g#z|LgUTzWtFOerT`Aq|X&9NtSx zdvnWLtp8TJ#9@)|VsSWPwhUJ=ZiQz=B9YaR2j;&<9r50*hKJSsuBx(|ZKgcyNDo_G zU6kg;McaE9QPW$TUiTg)CslRnc0U7DcjR+hKXFrQAd=`U(V5(n`B6X@XixmGo)&^* zY#cmh3!pRY1G=i~ieM9%1jAv4m<&^_%8EPMAag73K2IpO_>g>zuT5Ub3x#g;TalWg zD|gF&=z=d=IV|fOPkML<(E@?Pv_w>2nh=#lwg%gg8Nuxs7uW=!yg6h;R})^rHo+W5 z9Y(Tg+r0QBY#Em86_hxOc}{6CMvXAskP|8@{E2M66`iS>3o3o-F4_5PinT> zdyGEx4x?#R-?~Na)VS7pNKUjT@!|R^zJd{4Pyhum5v*u=g` z8{H=VkFN+KfiAK&6y@DukizgYMyknnp+(|Qa$1p?l*o&xq!%l~6GV)aOU8g5#xgJ3 z9C=9%k08nZO!RToRZ=lnooor-#k0Zo7*?p)aNjC9$SrscdnwDHdyOgz`#EOTiCl_I zk30=`H$vfW=DvvFdCZv*%e&HQQYhZjX)i~PJ4UH#C{yT7_b}%4re)i_FK9DwYU=fj z#aynHGS)GR`)zNm0@^=(3RNwl$vEj#5wo|tFABj|nipcV-*TNcSZ-x$J`mvU-2i>#e8UpSJRi>t|f#FLO>tBmUMj9~DTe20v-PgugWl6>&) zAS(kENvEh&m^-Q|7LH1fH~lZ5x;KZKSanI%v3vMO8fVs%4UM7^Nc?+UUGYBJFvFOd1(b!4iiIUaR2l4~6b z;kI3{_GxLkplQSmGE~*^Ay^4RNGW(hUEtET$=g~$-qkjXoNTKYO0vtMi1MX)0ACai zJItH_eIiF?#gJQOO*t%fs;@!e1X0TDBxehdCCOO`DHL|CBR~1iouAD1oy4?(Vz}G? z86v*B@Xq@f8o5_PykoWOXiMfNXj$u(RIRhD`bI0Wky2xPH{Kg|YrVOf-?Hw?GNKfT z$T+qW|EE``XKmS8ZO3jJ@0>$dsCw4!O~IW?Cq%t3p|-n*%tr)A{G8b6@Z8g>7$$lRTx=vt6PdW7Z&Ok%o2=I8P!*2HtDC-Qt z3R^$eq5V|-IMed%uvY2zZWz}U4%6OBYp%7TtcH9%uP*w@4sxU7h&I!BtgRurtTR^2 z&KNk-(tEBtWU}WL?DW2oqrJyvyqn6)&iZ1Zy}4Med*n}65c<%in1cwC6N{+Wl1&5o zRI4wm=@Udr{g;}k{ff6?J%mpBt9t3Ms#VTlY4aL3H-16mNQ(Rvt|Ny<0`iyAB-;2W zxlmOdmDLmbk40eU+S#+=WX*@$=}YM$z>7c& z>%6FEMz~=-;T6rlMYMH8H0SfAPj&+@7RQ$)J?X$ck$c)y+R=uzfTN+}X()-f>q2ku z9dXY)Uaa?w6eC=-L=lHl$=Y7XE?NMe(*9%|xk9_)YqkbQ#xvhFilQ>1Dflsm)X{Ol8S5Qp% z;U&df`P8lZ+Mz>R=XY7(nMXyzU9eCusQz+qe2IJEJp2~FWCq?+zA$aFk(ovgH2cVO z)>m1K4}s$%3}c`xMv?P4oMs_^SaUL0UrYwtH;_@zD>%lT9kO`0ijdMNH1JLn&D}9l zcRrSHZC4dqN9{S>N8G&(pBP5$+;BRvQILwDI&dh{8td4kG@nQ88-@FsX zA|V}dKCOtAwOm-yRs{z;+Tu>vYMAUZYI-3YL&;0!jq61!gyGGAXUW=(n7q$1!6sb zxF+|>o^kXrY(rkFe4!vLq8Z>e-7BBa!SW=nC}-3E$sTm798c50P{2+R@SGFWgQEA!0+WY=+)~KGJ64TNWozP>&cudh)+8#d@y%BcDV!K25X|55x$$RW5@Ma2PX_ z2E-&zvV^umH(ReT_u@(wPz2JjPOv~}t8S8FkbrX)kG@EH;FioTFUk($zC`{PlotaO z_pt&-s!B68nWdi3Q`v^~7ZK&PYNCxbTWb%ERN4n)IGbfoqQk9bBnwZ6HN-nPL?Q0? z$Z~Ge9#{iy3#!o;ObrzTSI`K&%f`7p|rCZ2ICXn>>IJrr?kUH#= zid3;UmR*9<>;i06Ir?o<1@7TQ`3goWoc)f>CLhSI;;0PsC-QHV=Y&O8XrNAmfo0YH z{gR{E9g$lb!KZ66)=bT17T2yDi&+hG5ly2i>~$8vS$<;*QS6X0Vwub@HpxF?pYkc3l}Y$iPNwhFw1Et=s+Pj%Yxk{5 z+9ETj_Q#mQN-JIITeBLeZhe9de5Kqhm#J=i7x_w-ieJ%BS${h`yqPP#sN}gO?|ScG zl5ZVt;Rn{jm#mHP%+ta7M31sx(Z^{0^qzE&il2+wLeWUAFB4g&H0$-O!oaMivaGs) zQ}bIQpO`KuDxDs|GGrNPOOMk4drbSY(R3`^Lz=N`DCqzkOzY!XG8vXAebscBB@f6O z@^86X9u&1@D^XQ;5=x;UC&;>RNQUu;TtrL40hT0NXz#@gZ5{8R)v{99II}T3ZVsf? zt%!JspP^;cchWK1Wc-);WqG=UyGh83#rjrj_+cK9MXlV@&9lnv;;bAie}V&> zl5J!-P0Mnzd8`A=#wxRd)WLF)ee@KTqAPJKxdC(Vt{evkRn*)d)2kEuMZ6cMl?L^s zsG+>YGh|Pd4*=GOrSvwOVK!{7HG)o>5~gVr6>2@lB5b2oi7MSCaqw@jg)f)?lXJy( zNapFu0Z!R;o?qXoycTgHoAZ-=;yS0MfljBTy`NcY?-9-JF}2-J(0H+r}5tS)9Q62>XZhW?|Wj&R6VwYhDct zSzF+_*&ixcwID0c1Es`Bm@b=RT8tw%)&9jXKRclT-KLGD%~*&?vQ)*@E+ievO^V@q zEDTp*x5`Q%hz7ENx?{47v2u#ID+4kQER+DnmD---9OWKc!}gQZnwLIg8p*-(z%Y7G zSY(1&N9Ks^MI{YUNH{`ixH|$Z>`moX>4uas>E z=&UM=T4J9%1;fN7xUJN>9i)rBkw>+C(8l&3CfoDTPR@F4r0X0rU1QiZr-NOw9iof1 zqx2sp=_FE^ZGx9HjSQ2TTwpG%CTfbU9c}#&2lLT5RxHPxQX@5RC*h$o-JQ?J$~Om8-cEN{ZvaMF+);e#I5ApR88< zcSFUd4^;7H%*|3*kfx^jNnYHhP`s(=gKbz%ZonHV*Nzs6iVw&nhlrbEtBO%I@UlWV zhe0>?x0=tLiY&Heq-h=xl;pjjCtsvkr}7w4@Apl4kz7$&&wr@1f9QNRgdJi_wIrHHzo9si z>)4AFz}Xm$*Hy-JTkgYeq8~ozlVC7kD8KNu^0z1?JHu1?7!N@?+858TyrioBi#)Qe zr#T$gXc1>lTEN+sJhnZ?{@P8<#!8SewV#j-~jYO+XLr z19+8Yb}Vs`h47JV6uFgOV+5IM#oTjZ@cOkcQk?iA@Ue@(OjfBTcU0kr*@tW(r1w6w&JMnWVuLBCub|Be!Hr? zK1wy2lb2H3)=Xr+Wg`*gcf83Psn7F2Cbz!D-V=Mk2_Okktbk+x~tJe3&dMaP@bMk}e1ep~3G8LZ_Kc#Fl z8_o*o0k+82oer{ZB|mMTaITwJgQXz@@dcSLZqr=+7~5w#v{P0-mY!cHPxwtdC`RIX z`3Nt;VpW6mpq(kwi)=5A(btn=wmG=T)*UwL<79-DQt@%B%3vF*{G}CswAzvXto@{u zignq=M<}XrlZLPeW?@(5mYA-zK!@l}tsg63Q|y4;nHmT8V9{ma{2+N@l#RYK-5CkyMokZK~Ec zO1r4y!wVGpb4aIumv`6%d6n#!57jyhwZ4YDJNcKZPBUT;IV3iqx>eQc7Qkkeal9mH zNG?{54%E`H1Nu>V+IEnvv|qs4_N`FVwo|UxO33%5xqK`WWIk~j2J#&^lt+<+d@TMY zX2L;{tkAl&P(`WI+haGflEl;JD&NSgO<=`zNn>nN=tcb&S)!FDu`D~Ohtr8$7Ezxi znO;>He;Vca9VB|ukZ`LyKMK>R_vRfmR|rK36}7X_c$$Nzu&U&dwh$ZZNiaz{YihBJ zaya>>KGR&NDW>3MzK}RXf4Wb7wU*0Cc36*JRW^JT3*&v|cp>Z+$*j$z74#UI*OrQW zv319vw)wD5-yl-nJkF>!hl`F0QpO}uhRGtDOjQn>lS)UvTb@;&3AU>oZ9CZ@ zRw?a30`)*cdJG1s=eQa*QWbxYWtdDGk|g$?e9>By-TDZuZHvabwl&~ae%S)7zH)uE zl3d=Gme>T##Z0`c82D^*DVZ$oEd+GWMho zF_xvrRV)QQvQ*fJ-GY0h6`0TsCd;?*Q0!8EffXc!oJ7yaTr3XG&@{>sumMYv%F6%X zQ;1_CeTVm1DY8P_fW`ISuu^{si}Z6aPs_2X%J;8a1-ax1EUOsm8S+2! zMUEi_!A<^!t@sDJ<8pk6-N{KcRl68Xq;JVw_L4|eoBm?0=~Mcg{7oj3Z7Pd7FMYIw z+(x^|(rk}B$NqxVYyzyImlb~I#w|ETbuEY?8Sx02kM(F1d`OSNKWbfVRh67bA1OAn z6C}d`rN&GFrD(>?a)c)fm96ic8){CSXCD4;Rzf<@I}Tirhf<$@vOn z?8&ykc~(j7_*2yA0Oc9XOoynP=Qz$`Z!v?G8%Js@VU@NT#%O8Oom^c`rBty8RaI1b zrqsi0!4GrsryQl;l^!%doTr18Q$%G-BsZSHJ?gEgLJpDVD$8y~XOY8nJ$Xa#k~_2_ zDM9ZlZ0##n#JWoJ{*Kgu$uzgZ9E-zc)&ojvyWkTG!FF05YmgmSUwNa-;ViNg|0tHA zFr5PR=t8JK>p%k8DvOiZDu=e@95|%n_9BIq&LZj6@9PLX)Gi0Kns|df!IiWhX-@)l zKOUeju_8-El`UYhVxukA5U#KhvJyL~BKdB`7DXvO&cO^S%RWawLN|H^ zQnTZ5j$MHU+Gpir^x+^@3m=h%xDP+6x4AGmjsr*zTtSAbx3(3`AbVw9;+G#WpKO7r z@da7OJA6i^&p&xl(nptchXGKAEJ3Yr% ziq)-)eXtX$jALm|oX^r?Jx!@DSP9HQ`zR0aHuXk-#AK3z)F9P~@(7U#v{U&{CA9~d z@;TkWqqrS=kX4wQF2{Ft8SY>UvAx1r?fOjA^*Pv^tyFo!VYS6%==2ls9eZ>Kc zRFz>9aUEmDG8`c~VL4d=i$h5)fVJ^|sy3^l@SS$-4mQvjDWU(51ocs>e!M__5f9y> zs?x$_I`!c;nhJI+c5ks#Dt1?1i*yRyWNFH>OD$3nIm8y8jCZefz!J2wYJjL4J26fx4q!ZN{U4;?c zuWGb2xKLhIOv3}*C0}4?_>2`W5z~+m#;e=y3QfS3>?e-X-eW!eHhOF)aIn4`%dqVj zrJmCWb&nNO@$`>Uj^ez=Y8lA_ zy(a0Vd_YPKMD`bT0WH)v&%&*fpdBctyJ3`kNlJI4RBVlAu_l+?{=i9ZHil zDle!=o+x}|KR#4vD~&!1LwY~Fs|{2c^mzP1m#ELS6Az%8Yy;O-caukWU%bZR@(b$9 zEgFVj_(%P_M}Fc#`V|+d{hO!V$6+c1uW!4Ijcn(!zIINXq*Ll=j;PbO2U{v6;$Ovz zZC70J8EYVRR4hmr(F>=`L3joxskpri)6#udOU2Cv8YPEy#faPblYX{cq@nheL=?91 zfs~1c2bwzM>XvYflbGT`WPH& z8;u|INtjb{O-*{`s@_=K&*fA~cFQs_z|?pF-NIsB?>;kUSx-dCB) zIb5Y3#ufTO9B(^QkC$O422gk)`d}J-h^wvx)ZH>U+R)4hA8vl{K z)eQ6A3bPu3QaLp%uw^(~#h0r(;73~(60pxCP4$~(ma4dm(7f~{)TKk@QiZf2=LH@yx;>_gAv zU3jdN_&*dnVyLbp5_=2877}p)L~uTS!!6{Y+M|=Woo&V)N_%ivpND%CqESs%jLmEZ zv4nOC7pe6Xz(bfu98_MiUAWR*i`UJ0iUAp~-ortvD?tyerBp|&u{C}pZLtLFkCW6h zexzSU-R>o$>>WrY+aA(Lizkz4RvM=i1(SI%`j<75E;C2bS7v9r+^VQzjgLMOw@3_3 zCJj^;J(ncm2YN_huhZ~=J_O@!gRzW#0{+$)Vh3#_>6Tq$L8EloXS<9 zOE)R0hWZRtx5PT~4ENL13ISS&w^aOmu1{9ad=}2LuSRCyg@yD($^~!?-FO^V@e}yW zJcT9A<2caVi{s<**Xy4u`Gm0OG+u=>*T|Bt9MfzzpM|M)qxU@(k*m!#gbkT#_h zEwn33ixyN$X;oU@_I=mBqF1GTFKt3ZDO5^Hq-5XC7=ziK`~Uquck}t1&+*JW^PKx! z%kSFnbEfiul!-Wh?dp|eP#D0JC@1-XtS98$jb9iZ9?BoWdKZVf`PYVba_Qbfc{>{eKg#icW1af|Gv<+ z*0bU5{MSOCy!VOGpRluUa`?G&8n~PjUMl}NEM-^mOBIvCmz7V3Ox0DPAG;f$2}gzR z*`K>1Jt{O}*Uuq&_p_H_eyGgvl$@S_V?xHs-~P%=hr!=3m3OC4SA3ElTroGjzhXw( zv-0Wm(5n9I7fQ%B-$_O=Ww;`#4430yZqKhOT(&^u1C&N9Sg4?z^ESSpS7SN?J8Lyi)N;=vc8TT+Y#!u3P7-abaNfh;V;~=W4L`?^|-H z8R@R!i=4y5`?*(!=kmS?N98w3UeCKS8JGK2GA_+eF9DzZs>Y;8SI$j$RFtHBDmSKU zD<`MlS6!OEUtN&CjQ;Kq$0iph>%!i|=0f7%#+(Df-??3p_u=8$+`eS$XHmmm%aq}z z@Ke9!IX<0EY~NJ*XF9dAAg8D*FXx@A`RoQ5 zogPBgpA()=@a2SW+44@4h)64dk~}d4d3P*7RJ&g`!ZY+c2xf_>`U#D zTfIkeW%W>YP~4C-rNXb5bWheLwUal}ze2y9>0v?6t6@+4)b;4_Lypqi=feZJ6T^Pk zCxd4EHpP<9hy-Uen~v|x%x=5@duOI)T_(r z0DqEPNAIXtQkFJNM&wk4X*uh|KRJJcgGC$*sL+23uaIY5MYrwY@Co;HejJuneHDgc z%V$?@3!hZwCjG0|g*J5PSJBCMfokfAWCPEdT$Q;n-I1Ak+wZ}^u?e%d2EK>pt>*+>R?Oma2(Q?D?Y zDs)RyNR`$wTtWA?bK0HgKR6U;9_J3Se?srfQB=QgB^6Y56UiMeOioSPFx!1CU7OU- z`8es9^F(r6&K=1eXDkD2Ca7ixgpLf7O2c>9f5laq7=6AeN)aM6>V%Go^4;xT$2 zchCv`9*OQ3{-nonFwgLq$h@Elnbv>PLqN$Qjw{o<(qGd3(_D5|wa4;eS*J?J@(xg6i|x9ez{jn0YQdn0b-B^V)D{_zzcF zk!hPu$qY><(;HaL9)`WB(XJ%-nG}{Lo5QN4F^Hkx&D}@WgzKrB-%Ls}za={}Rd}R= z^z5(_z1>GGmY+-s_mfQ=NR?BMs9TqN>2?p?56jN<8_1%@!P{4K;5TvILzopklRO_P z(83UEz|ZNEZ%zBAo6=9v-um z<*?J*T-JTi3 z>v7P~5i4mz=cO}~lfIz~&s`myyb@kW=wV{3C#3r)|6_vtPnxE+a;`|XrQb8jE2V3` zl6SvK_rh@k{f{3q$A($tn(H&4f{&Hq zdUAv>;qY(txHcRU%EMvQ&Sztb&%xv0)GsZQu1S}qGu$;JUe}>pu?g#$LU#XR*cZ>$ zJ0WAG3hPNWmWxLj$FoKbg_}SxDU&&ytDGM02uD!wbcO%!;pXI6bT%w}mORPb&|i@~ zt_UOPw7-$wo&1s(C(F`v(y!Cc(jn=pbY8NErbuO_@V5e4HcUoS74d9B_?w6hFQr~Nop-K);@84CP}`4w z7JU&k*a}UqrHY)*XNkA0{CrqMH*5`9+#2R`CVN4{1~fMli+&t`H7c|LA7_Uf;dmtZ z+G*(dF!Z%2csx9$>8Q|*3hwZ9CjGry$ph)g-U&B{r?9gp;qXnm zb<73+<@BzwARHa|yTah6C!cyaJQS+K6I5x}QSlue_D@@rne9fUc^106I~+ijbZlA@ z2Brg(Gtybf$#|8n>9gs2?p?ozuG7ZwNqS#+1>T;ci}xV4<7wn|f8rO8Pu@XtcR(>c zW4cWxnPKpDAG`TJ4~sMFv4@t)SxDivus3mS3-!@^XkiRH#GYdh!z@r#6~=+iVcd1p zln(u>@Ey9lEzBocP9&FmDD+_xIS5`Z#^!Dg%h6payf5NN)1q)*+C214`_l6oiA6m|ma~B9aS%_wdMjy`woS{Ed(t1+TY6bCH{BFI2b=Gv zgUCDjQyX6aPRE8!GL!zmOnlXg;PYzg;d6;MBf{sI``H;fDa_6Mjqj`tX7;ASKafha zAWQ!aC?it}7bLU8>&edWWwJZHmxJ*u&G8>ULHoVf^l9N~IuJL7gW;+-dK^eZxC|fs zNZ5woUmk7+za!A>tyydQm?-fJ&jI=@G$51dmo|mJCcGYs?oOu@b6sdm1S(1!(IL1! z*-l4oNpea0S@IdZ$?ww2Fcp1$nhpt*IQye?H1*Icp+)))K4vC=$M6kg_yAOl3Y#)l zg^!p}y^Q@$%go0fw}GTqXsa97Z2%S_XV!L5ZxYxY+eBo_0#jwTgz~I z+8C4_5Dra`g}<|jFVFLwpwh5`oOKajGm=x%my-ABO@2>2_!@p@rWb{8)4?29qsQ@~ zYx-5VGx-8}zK$H9r=N8%`n#FB_`Wbc^BS+S!)p2fT|@okK{)!A9kHeO(mKgBW-=dy z(NHr9i~9y--kY?+3QNOws9wox)4}82;Bz>3J)9M8#?B^y)46=N6OJm0dVdgirh)g# z$m}=pu{MlPz6l|@9-ZyYJh*K*hAwn(c-%AX4c|AC8U7glPI@OZlP{AulY`Qyk{8me zlW)`ZVD$4aC%qxeg~uOweT5!akMz^P?4C^N8Ll=KuQ(3=o(&V}F+Gxb2OUnw2LHgj zR$wvh;cp+bRVQhHCJ!S!z7GAp3ss+zCdxisfZGm?z zN2-5-lTVUy>`!Z*-kCg4l#UAv zu+(p{zuSoyd#10GTRlzAcL%b(4;{S{8i1J3*{AzdW)}Q?ORWEq%w{>L%0s@L&|OEe zl`5`YoHMB|h1!>L0kzlnQGmZ_&`IF?t zIYv}BJqpp4fG=h4xk4+gm}|Gd4Ro}*P)kN z@RW~*Gl*^MyC8xO#Dn$0I?n`~50J^sAop1jIwr;FG6RSEV%66rFECMfE-WK2TbVos zR!37E_Mw_+OZ@AEuQ@a1)4iLSbYL3(B6F+O;p_CcfVj&VauL=^f1Q z$B+U2H!uYQZx_MEeb6(RENvrqkyeN4nJr;mW@+fgZ^qE)*g!V78-FSMV0_7Gbj;7i z+Iw?!h1Wx|&eN&mE}^$}d~#_>$!}gqDi>jkr=qX(=md>Hi$7wKO|dYZU5P9<;-><- ztiyM^@r<~Os4YH#qWPfU7drGyps+MKli08?_q}$;ubvt@fx^XD#FNR*%wIMq1CpcA z-&twPWFU2XPkI5{k;>cTW;cP$^P%H(>a6`aR)VFQu>IYz2(#$&Od)yymT&?1oWyHA zB3v)B%wx!*kHQLer&8Dq66fRfe?>E8_^9?&4tuaKybAyMB_8G}_Jb-T+n$*JYHf9Ra5xxc`$1_bl2I_``!TZ<&@)*2aOQb%F7(XN&myW>} z{~&kkj{kg#?oDkb9{s6t2dBFxho>9BBz*{Ed<;A`qPEQ8%-XD4J2?d|F2RGo0A&k_ zUM-Sy!OXp(F+O`cHdTV1*5z)L&Y*rT<~fbva5eSK59E&Dh3n`tKSQ?i4KchJG!~<= zKgjxiCRQvX7tJMdcTXN+XWS@!?rnI%53!9^R2K!wfuQX};?Gf7bsk=;H1jN#?n~rp zlc*tnLSiM!&7pbvB7XD_V#cmX+w_KHcJdohcORw!7ofkv>Fzw8wSr!+KHxsCdlgq6 zM%+D)INX!`_ZX-cOon(LxSEA6=7YQg$-egE`bG3fa@bK@Kbekq83%u-g3&*S^cUmZ z_rNDL#`ku{=7ut}dX?N|5vbhCZwr!#sdOfxr|;=Vd-s?K4qGdrsKip1<7UX zHW)}fn*j^gl4bpgq^|&rdy|i~qSo053mZf}ul2nPrhX)o+JU|8jV~ESRC^Yi`wk2h zbCmPmH~c(^C^QwHdJw2vMPF)8<|%y92&$`rta2)m`*doJi>MFpA&+}IOn|??@VAZW z1s=o{yAS;BlakGWf&=l%_mIC-XO3jLct-MAW=JwVGcx%h^KjCL3D(JAe zWEHnljrZdYmbPfHfEuhVS<{i&%1Hdkcr5P^x+vnZNAg%QFqsG<-$)Jzn}@T`u~_2% zTo*q|H0wm=(;ELF3V0$Y+4@ne(~sW{!Ixf79C?z=+m(o_G6xWcn? zi8*bs&Te!%j-;;bog9iTkH8372dmmsaH^Ir#;IsjG#m>yTp*~UIQ2fnEDx&e>Kg6~}@ZHC-;;G3g z$r;HIFnKETo*q={`;n(LW#Uvy%>ErK`w*S|mmJ_|Y_}Wl^kyP_HWXfq$G9IKJs!U@ zDcnW9@g!B`vtZ*Iwt#KZSB*ZNgX2J-$_qm#R1UR7<{g$a{i9E^bx+~P4eFNLmt(3h7MdO@};48 z&2hw|AIPLLR1FABN@pZOheHFSMLS`4?pN>ODCs3(g z40U7B#7F4wJ32AHfrUlHp`~G1XcF&(drgA*I?w1x}gH4j<@HG)HHISZ94*Huw9&$2t>`o0$ zKZ!`Unkuh~>b5a+{SHWMH*BIcdMhHz)kQ9KlC!9M&P}T6Mr=o;Ymo16WW;l`HO__5 za~e`Rn)Qw(&l?m9liTr`UtoJ{vEc*@u7j6KiJfKivo>(7V3ig4@kPwWr;)KwAOhV+ zXX9r2120lb{KV0a%|_!9X;x-R>AmEG_%?Xy-SJW#smGflkJ{*~k_xd5@4gLND5LMU5vrG> z|`D-~AacypUrVc-Th%)tG%5U9g(oNTm<)q&G41aPsmV@Y)jzABo<25YfAE zv?N~T(KW25KUW@(CvIK}7Pf6Fv{a>WA~))!>lpWt8(7$^>VvF;GGJC1DGoUH*Xb;UNi*|AW65iII=M<0a%619^2P!CSXEKmA@b)+;JqY_RgQtHo4U+8~`#|+5urd`6YJtt(WEGcWtAeFu zl)r{k!Q;N*r8fMnho6OfO(8#d7_1M(cDkdt9&mj&Yd^wT-@-=)9={{8ttY%4#hP8A zvo6OUSk_ytb}#YuTCifT>RRH_<#?sHM}K)3i{6eye-*@|DV%#Jxz`E>AAE-WoyN7SVCwxWR3+VM= zs5lpyU5f{}k*s3`TJ430tB>S=1K%%#!BHH8ka3^vk>UG5zEDlysS53~Lj_G8ku)Ky zv`fw*diPHX!6<*W2U>o^pFBwoHGr8_2mES2(l3C|-FR;xx_uFP%J2tgfzRo9+V<(% zFr2#>9#2=%b@(GZ4_~91*moyO_!AFx4Zfuw=zka7pU<%m>ofruE#dEAban}Ry^h@1 zLSrYcKah1t(GS0YsB}41>=|gi8(yvqpZhUU;W}i}7a57^-QlGhd=22Z3ms0yZW7Mr znE?0(rsME6lDy*_XgG`*T?c)9&Gl}^K92zPg?h-$V6v6I(6l$ZuG-<_8YA6+U2F)y zlDBk8mxL?R->F&`g^B6U-2L|zKhtkx;yxe#E<+!+v4i(O*=5v~N3c$3*6D^mPvp3X z>rKOVMY=ZPE7zmDwc)?${&J#MKlp2pMJ=OmI}r_B4xV}wyE`L|&YXJ~ybS@PPjdVW ze?{Yskz8gN&}cUx5$$3|U@Hwa|?{W_ft9t(l9-%1%w1p~KU_)&H== z6#KtSUBhD+{K@6%V)XYLx|>J$_RBDoEVdmwoDJG9#(x&#!=@sy8}Wqwm>cv0v3=3s zNc1qC<99O2W~_M(wCIzaI$n)zhR{7cf~>zj)f#(ih5WT9ATs1PO3Rj@R8{l&!k^BU(;NKxx$tn|()DS$?E_mcpo}IFSYITZfxNPl6c6O|aaJT;}Co=ye7OR=AZ#GXEI>NJNxgp1rp zU{RyM>SG+!$o96Y4|3)Kc!kUG0oUPMt|HQ(L0-5Y=ndqiv&k+V!B-A}gI*x^0Ql>U zzv@R!9}VTNW1DNuM)AO>A*+$d^-3rm0&l&jwVHCJMR=!Y$a?g-EjWKm=9J`5@VP8= zbdrOddvg9GM6u2IK)cf)7DAPv|%!o_;(p`Z#aCNOfP$v^cyNJ zE992ou0PVan-0}uXk!$en`6L1J9?i*@YfPV?u7?BFgcX0>}Y)XvG~rzsj2rN-)(|7 z*vwVGB3~VYkGT;3P6oBdVax6`y%f*$DB0TdY|fF8eeViS-H4xE$Pt>O%VIDvizxmI zXHTF*Fp1pvccy*0Oq&k|p97h9%U=sBhqZKte+f(R!bc(XSDk;^D@F^|z7NENo{DeAds-Cp%J&;TOSY z2WECH(Q-Ya?^ZIgxzzL%(9?ghq#^kA(?Rc0e8LT&cPzQ_Y;u`uR@x71AIK`_Q)QeE zeMjO?or31l7h6Pj@d{WUPKMc;^D>#P*j~S6BYMn(zXOrcf6?zRP<1fadzwh|4^nTL z_F=MrXmUbYm<&q)4*lWr5d2MEx|960V{#+<>&l+<66&y7MC~`g*91`aI(gP)jz6KB zzxjiuwuQU4#FJ`}_AOrES$z7vSjF?m^jqrsDkwYvo-V+Tj-qpLJiXys;6U#)1&U{b z+D$~X=EU@_}GIPNEF!uj_2T;-XuCc z0~Vg3{vL-8K8EsNL1{HvTL+MFFjl=k`B)pe7&#zfBlfnOYyC;Dke)u@&7J3GNT(8udKJHTBbvDZ%N`3qzd=VKk*{60N>~mZ73jDb9JHe* zssqi-(9C3dDzAj+;O%j6a3WM}MuTr)$@e1n$M8#^k|nJp!)ZZOZ%h{aH?i?;{(q9! z=dfj-FV7V(1}i;?AbZl8??%);h1}s5P&|c9FONun65ir&YJ^wtRi9$b%*2xU_^%E4 ztbBZFJ#x2A;N!jI5PUw*QcSG&Cm`J$IkPQvPDghSBi#qEz&GG+5k9EcDkpH;o9C>3+ymKqE^F;(ERV9 zZaKVdMu!{F;A{~6BwSobJxB+i3(()K#O8;HaZiHN*Rbg6 zWH^7}f3`v4CVZ%!vn#Q{z2I>N`wD(TDqrK{r&8a1hnHDG)LqT|aV1pzL2f$_EqsF> z7eGldy@Ft^)Xh)7cp z{5}krp&*wM2STDr`FDAG66RcNa z7kg%V99_`kA$)%dKV3#_y&rD=haLP6jNZiOtfT8uov&e?-|;aEIrDFLT8Bli!&ffB z`sWds*mKOWl}upa z7;P;>K6>4sd4B&+&&SqKjmNTUmU4ay!Xk>GYbcMhxaXFXZ388mm~ zQ|t{xf(7u=7ETUe_H-gqXbAm=q2Tx=>gv70Xnt}sF=;5?un%%7;N0J_v+w!;cX-;! z;oNvWuRkK~Kj63&f00l2ogrcs6Fp1dtTvL|2d)Q!kPBJwIATG4Dx<}4IS;ND!KL8@T!wJaY-S zEe1~&NU1&rTkQk4C}&EXSCmghri0hFQe!M{i*Nx~na58{gX!#p1{s0m4kJ$FL>LPbs7*?a`=pqZZ79cg_~*2f2NQRe+EsT zLen(<{|Wv#g5{>1-xDpK!Ry&*upbt1Fn@iu9n;hza*TZNzZTj4faQJBCPao*9yw>{ynDG{I{ROXFknFNdxZp{oP@)xuK$ zVYN??^z*FwG;6;OLS_>^w-7^i;gcs*C!NQ0sm>zPJ`;(LfUBE8+bE=XM%EgB#>%E) zhs>}+)Rj!q&L+P&kACM3=<+4B`zso(pXKjb^gaf9?x5m7kNsyo_-=PNZh~ExVp+f9 z^=5#`*TBFSCaL!^d3lto;U#8PUqGXgs3EdH2854>wtGOrwX7wTdviZ`2WTt8u1m1a zKS80``Uq)HMDDNCjr^RN+nQwy8f}G7I01~_hVEa5hS!kRJ#@APQ1fB>jBoUuBgoqg0ueg8E?n?d`2cwMod01`7fSfEEsqcon63MJ;*fw z1BK05xeTAW1P-Qv$QQ_8A7;Y;1e2~en6S@43oF2EW3+P|aqo6?_7R!t%;aHcdyt== zMi*nS%4?D2>8!H{IprGGcoszUqZhF^y|KOF>?q`RF}`5}UhFSogf;W|gL#}iM}6tLw?~W3SY;m&I|#HrgwLAC zWUCQYavC+u{mDFNd7ZVc;OLt?4o0uUE1m=vcA*Edgk4|vGe0|)V>hgCS8#DSvKo$N zp9AX)h^0-TtAFwZ)XXHSd=f35$8k9OTUsHtQoQS2;`{U1#x-beI33C>plS@Oeaza6 zL3>>+{%Cyp?eI4lX|F`;zi~WA_BITebq8y8$p#jKsR^8M2|nR?aC8)ZbNe(VvRCrc zGvI-Hce2swP-K1sHvC!g2zAOw$tF{~% zf#$CuvdSG;`N#0L3c0JlLC|$?vVd9tTRd0sN^o%;wzMm@Sxgl9oXB(+(jA7@P6zG7 zsq!BH?eBxqKd_p5#P(yr`Q2b@3jA$M-sfKH$;l+v8;$giBAPWogA1|xC$O>8@dn+Y z<3MchIJ9^P2zvrc`ig7pAm$v5)n3P1li+GC*1QbD9sSBrXi-1 zQR+_4JqgdUFRSdyaTu299^yx!)e5x?wA1~Bnqlbgc6uZHjX-#uf`_;rl%9y4yYuH0 zBEeOxbp%}Q38F;73Fz%gyw_Nw&0L~&4p;3>e7GBYPDeVMko5{=_A0LJmH9OFec?Wnq7<`?Dm%oead`kS-0$#d7({<>a=giZe9L}771iLgYNuGzM)5#SQ za?95_XE-=G6koX;I@|-B?v2DR1s~7gJ-=hEBpcs%$AcdLe}^NdUdc}4=PZu9dCx5J zA9CU`T=@)i-UFE(%K4|j)m8Yx7x3nD*)NcTyn7+pTensDW5mX9u)cubIFe|78@_J_k#h$&lAG3M z_i+K9rV!m`ki;r1ZV7s0mPG#1jqLL{G=DkS&(rwTS>)mYEAGMWj?u{cbG|DhBD71J zB+XMKP3(9Q-u9pi^e(93{s4Nf-?DR_i6P#%D>!n#cPmxf2UJDeuLl>M@c|vNx)$7_ zRx2q;cd&PO1M`m6bW)s7dLQy)ZSRBUZinUNFdtve{ZNq9Uc&Ov2hDxRJ$kXm2~uiU=s${HHxdZ zU?1W%e84^YKN5_OAUyzdHULemJkVpoEk5$Nx%tk>(!I#(mPv2<}hhQBw7cK5JW zA7oWZ40sQ(eiwDnwb<>mYbCJ)7U)vn-o+>`rc1m3`+?IDZMGjA2*m zP42$ym=q zPNV2Kv2z?rjsiIsxJaV_oDxCXwJd3co~)rL46p)^sehiu33fjzm^hvEIlmB}}rY zW}JPYXRdT3`nv}0I8|&!r*8>y!KZt?M9ug--LeT}(eEMm>BwgupIpp3J`p63%%UCk zatLxd6|OHtyCbo=GePoRc*q?@%enCP4*vH=Z003!{t=(z&Jb|rH_6V~IwzF|(ly(!FLj$o}Kx|sYGC}i~kU(3j)o1v9s@nRRU&einVu10qw z;O`9V<_M(ShQ91p^2gb987I;)83V>|r_*r_9E~RXdKB)yq&C{laS+(P2+wgZGJ2Y; zKSOMI7)jp*f5XsTPkc-fmB@E!cDyRIwFFOnk>-W0b2%8l zgy?S%>3H{OtzEU9jVB=x-lTxC`Cq1{@V&a~+aeN}O3pzVj=dej)N%3~hh2 z)@n3V%sQ2L?KjPbV=|3Jx+}n>nc{}*5!|M(*l=Z~Ff1q$N9m?PN)FO1Y z7!Cc+r`N&Fc94@|HTB8JTS8?=EVC2n+Z8mo#IqGJYpOunc0O03fffA5`(2j9-)i)> z8ab_lx2;H{lFBsK`~WZE{-FkRcpKu;3W*WU9m_!XdZN}UkhLb;L+gg#2cx&EIQL4T z%K6CWROF)_9}18Af{0ddS&7USVR!uH61-X)XsQEV*^!a$y=@||+rV#>^D5?FYw7H- z$Kp4EnjL652UHXwxkk{{9PV3US#zn z4kTd)x)aY`MK>*jRI9*FC3Ql1)&smpMmQY={DQ33!K?SZc7gH%*xUuk_*`Ve-Y0CO zAwIYncHEk-Z#$w_J2-C%^-b_*g`hAG6gp|CAWzuNwMvld77$lV{I#3A1!ziA4k z&FM2Vhp%RMkY-q$_wG04dX1>x8iE%2t4n^LhX<$tmt|;)Y!ixp$gCCTY(>{R!;f6E1$uY7(iTeFbH#ROxHUYsgg18~ zHbFx5vHCjLgZDS&gQI}ItiZ$Wz{*PDq6C?i5WS1h(Pq5lMy|X8DR1O=>#}_FbOG>G z3WYmZxe5&B;yr31r`oJn8(h`~6?L%YI_Rkmp1BrQo{yGuk*N1^2RN%hQrqZ7+UYNb zs%_XyHEX5FIuMt0S*JdqZN#}v@RiMpKu!l+!Am>P+ny`7a_~A16E5Uw>p<)Z3bqlstOg&vf?zI&?6+=Zai1HrEGCWEdJnkg_k-KvE%YdgG zd}K-=F#+cZ5h{n(^YKgW;LgPdr1-i7?Cb>p+n{m>@9xa%e=Xc?1T~d>rWI>+=ja2~ z$DscMkWvw-UV)CjhNq7}*d+Lx!}n{^VLoRx;P(lia;~rzdoIJC8?kmbG}#xL2f@>6 zAgDWsvl4A;1{{3?Z_~2;Y4zJd*iMe}ERvQ%%U@tjn53@XCT#;;I%e3)`rhDLKfx7asw-F1nE3R90`cVTfifKUoaURKYQ(S4TD764 zR<@3>LN6V-&QZMMZ0``bZ-xHKp=TlZbVscEvoE(2{ndt+PVlx5+_V9eRY-qL7W3?a zM_%o+F=7XCVk>#WW>h*Z1 z9y}G|9~zL0HGot3C?Yd1B33rS$27#I>+v&xAqub5kfe8}}rX(f`|t|4z_QZTyD5zdo_8h_xD^fdV9?rwClB627)& zWmXp~l!41-_$8;ZGvRGEhfjdm&U>xVlz!wWaNsny6+9+*%AHv$)?w|s)GmckT?l3y zLRBLs9qwQ%BG+k1o>HF}A%EVL+X$MP;=hZKNdbDyMUNTuv=hq8kmXi9Z!uiEYs9C{ zX(wCYYb(0jhRnC~PB|-Q$T7_W8f4en2O659&ni~giY;o>`k!2+t;b)_8t$h24W8zL z$$1=0;jx;Zjp2vG-*Nx?kUfyQUET^LzKttYV_!MwV>?)MFVbrGaCg(MTwxwEozJlx zij6d#;OQ97_P)oSS*+%0Z-eA zIp$YVBwuCFv;*Dk%;pu&s(<46gWst?tykOQ=|c3ci&(26w&+YQ58k{F*?3q17w*H@ z$+4Yvwr279E!vz7Z-4N*gVkDb?L*LCfA~3rb^0QEby$nFcVN?%96QnDN+j_+pXMGM zcxy^s)ezrOm--_g-)>yl3KlVwXu{D5%-6+!1Hajh)s$wB9q?w{wg= zF>16xc zr$S~2h1tBdGe0+CJ-uka-qxTq_4f_Y@-1TEIH-P!vnOFy3$h5z#sAi!{%V-j-&LG_ zDQ6#tEm<2iBKFmTKQU^K>wUY^q3aD^U*hLCd4D?mnQNwe-um*GfB75DS{K7vZ+LEp z#0&8)d3;7&{S%DNX4QA#cO2)Bhb!yFnH(#zNB2|h$L9yY%hjxR3-q}Uq9^>d&+=Hn zl^SIETL6EbqrdUIJ_f(ff~0rR%p4B)8FB9@{1u?TLZ-0|nFQ3MyOx6v%gJ=2?+ozr z4@mt63STF7JOhtU!;?=F`4Wm3@x9jNy@$sjuM5EYZQ$V+);bGH4ur2=z&rO$fo8E; zjlKeN#7ZWz+vwA5WUWmwfgs6f(DI$XX4+X#x3JEqJWMcXgq^ zDRoafdNsT7k-zuf%p2sA5RJ9>{2+= z_A0@XyyengsirsP(_p;2Q5)2|?!;~quwIASydizt#>`_IAb;<*%RsNsveJ@w^7#x? z9Q#HI{jo|WBqi`FMpt6rKIzFCeFwRHF4KfUW~NP8%kEPh@SmH_K^sD^{&NPpdjiSc z0Hve3!aaD739K-UwO4SR`p{(DI+M@e##&>+!4v#^5%zQ}`s+g6t4BOu4z51noO?N! zJDiy|??CRw;L0ZjSm$m9A?4K733gl?In`&fSdZ6Q?DME5zjJ0`{pb#qa{BEVCi{Uo zS0$a~GW56^TU<-bS%dU8g7xj>h6!`YI!tpLa1U`K=BV}2gOkTxa=}`}^#=4;TA;V~ z^nu&+B!}kE))1W9YthG8rKIFR`S4ep?rH(^KzG%q?1QMFb89}uU5Dt<8v13fd>uL* z4xb}ITLZVkjo5syEnT|E_Z5Y zn4IjOE4>+ewnjEaY(^tH$W`SppILQXX1aw;)9cZ5t4pV?E_sQ$ZGC!2O}S5?4Np60 z$MmK-{on>*6&|3`&Q`*;_e2&0pywv!^crhSh1VDHP*-t{I& zWj28AV}suFJfEvoV+Wo2tar8E$?-nt&*614>yANpL;kHB=EC3I&~Y|;JBh=o*G16w zAk=({4wv!!y6D{4av|$I3N4>vhjV%T7(Cqzb_Ze4wUF6+oO=bloy^gf?+38nRh<7E z{^}dB=?x@RidXio%rn7gPwemr;=>u}?`HJ( zDp&fEL$AFTc+}6`haNxR+@Ij_M`ZLW^j-;%9gw?ss(JTdUuZfEdisK*Vd(BY`1=sr zmh!#)`CO3;S?d{Snhq_$!{7I;`yzCD2blc5%J~YZP-40KEkVaRm|6ufYGCA5+=BuczE9zvXI^3Ju^ze#Ssx8O-O=08=<-~SyW#T#UYBy%OF9IW+n89FV}I_1v?k6Fmw84qHh2p(O@NLs zI6i0X@yKo{(zK%g5T0&;$H5!}(ffsX-`hA|=9tTx+rWEUuGtgW4n>D|q5D@@?<3Zl z2#-EH;b8bwe^0{82zWUQUe4p^QAnBRBhss=PmiQ7SFV%wFMZ+bB6M~ibWCKeH+l6L za3i^fPluQRPxnHXI2y`v3AEe+CEfu)8y@W}#2P8k&)_LJoc{>xy~6tA(c_)0e=@xD zhc=0s6-+BDkxw}j%QAdRG5NxlY){92U^VZxhp+BnVF0{cf!rQ~rsv@ALHN3qHTOpT zOQGMpVsAu$SMWL-p8V@r_VmBwckAJ^fVkNSKVUBG+{=mjL(ujphjIP{*3ai!^7klo zUC--iu73v@dY#s-8AH%_8=={#C z{cg?j_AY+qM`D8=o_fgB8UNv+t3R*9;qyi?aT`1t?~ldL*FlFr!N=?HAx7`v7z2N= zl2gyX%9q0DPJB%h;^y9bzBlq61bzC3E8x*Xo7|mst!ci5hp`-w!5hz!VrSx3^k9ut zO6IW>y9!_`pW5C1tvSS-+-#nAIXqniH9pzH+*llciJT^~){CrVjyDP3z5@Y&!P`z` zW}LCt$&**;kKkuH&Vr8f(1v$(+gGoG{$DsIA&pmgeU0N?jw$fR{b|JhT2Nsxw_%pQ z9$f!eu73)2N!vgU^8|Zh@;3{5-b3Eruk{u@eGGrIp=BxGmq4$(f17jtz2K!g$C2=P zJXh$4+)m(U`L4_Q%Za$N`TQ4PeG>dlhNth5&=PdF2|hFb^4A`oe5%=jydK68cUISC z?ZRwV(`kx#Hq7Gq5^-T~{A|_PjB`7%W@pao!nyl#bmQ2cpLd1#T#og`b^cBh zc}f|_CVEvH(AzrxU(3pyK)Gw}1nbpg&AH?$J})YTmKj_sD8E| z@e6ue1W)$CH*-{?Kj&NZvA?E#wT8c4kj*Zv(E&Q!@oI;Z{U}6-gte@@w?j`U^@4p~ zo{s}vJ`pv+$JWB{yKmllt7TTk1*};o+yAl$)|jg)EBnw};BPJZTZOLHAtU#-`~1-q z?(LBmuwH%ma~Ew9G}zaz4<&`X*5k`gZ&en>&gXK8B)OawK$dm1v#-E9K9wMTzCJqC z67BSQhk_l;e2zT+Pxzc?Y~}n-(6kYo+nmjzyeHWTWDBd8vffTml4R*9Vugl$R}Wp* z<@-8Wn(Cnid$f6YjcO!ityF@voL{U1mv+zP&)#9wp}D^k2B#Idd}sf~y3eXd{_G2u zfYU8pc@sJ-M$+Z*myfKishtGY;hI*(c24VZC~5oJPC63avAmYY$1M*nNPfEW&zp=}$B)p5qd+Mz^=Oa!~)^nv2sI~8E%nht3ifXY=K2)i_ zy1XOTavyt+Tfu={^(|0S#!(JMqBG!sQuLIAx77ZSt)rZSA6!%dboDB zu155Hemc$qoz=AjYb{v6A==32OB>#azRFn3>D)%Xi&dkzP#^VKL67G2b63vj2nFqs zQ(IzKOJ1WLR)dc1*{j-3Uk^pA;Alnm*bHsk;ItCyM}MU^t_N2Q;IC0Ot~#4)0grV# zocx=eRk0F(TN=7nW##1SHgHgx^;0|1ObShAjdobH-g?lZchHaO^>V?2E2*nuoicB+Ti=IIXwUf=gz?{1pIsFNbP6?K>=4#e1 zhPz61n9Evr?HWN>6V5I|O2%QolRsmTv!H4|zn$~eL(MAwU&T5rct`sy261*Q?Y-v1 zQ60|Ij%z`WeLfMVH!#9D@7#&jN|8!2>uiCxNR9EL68=)osD;i7s2=JNLF=Q(###L} zWj(!u-p9#LWmYO%(bpELg!S2DIjgSX{bJ~<0(DBfK5H3g8fGoHCEq!dYRtQOPU%vz z&iA%MjnBN0M>`uz&)&9iDCMg9q8iU2f6cPg8V|*;cyYf(?5l6eYQGHXDxob03--Rl z#^9wjtJu}w4f&d3w?p3iO**J?YOO~wW@n(roKRn|4q8_8|4JzPe{>ol^}-EUFUC-9 zPFy<2_n9e1tJ-*B=~7SIvhwyWQL`U=Q`^9rdeNuY57tvgT)V1kG=VoGUhQn8DnU+L zvPjVO>^*z8n*Gi#)C}d+6W+yHkj*C8L>6_C|g;Wj{* zjp5IIFZM(mfCG1LcpqN|9F=mcX9X=r%i92NM!mAEE$gcqBd11ud9R^6w+i?^ho7qO zX70M#%&{6BI;n}g*%LQ2+X`)F=;k-#AbMc;;8=6iX5AdVbE;wvVLo9lw}vx~R%UlT z-Jl!|n8V0l8)UvKXLewOtPbn*zw7Ahjp$}S?&2wcCUdY#c(kf= zZ^TA;+r)3TaYd1=wYftjW_M!u!Si-kjZee}F$Da6#6inBO&oH!Hmy z)~W>C?tqXkoR8piMkDYpsGK{l-?#&~NWV))gF1e!R=t>zHf1 zmd}S0PkuE6Q_Wb(cxT3M=h!=f;-uYsi_KA_Z3}BTld>W)o3b*F`;d$*=7-+T+Y$}x zpUjh;kDA+iFYy{^vVO7d;4jd@V`)}ORjlUT6z^Uxg1@G$(1urc?KOus?Z>#kkxz-B zxK;_P*sa?FHQtNu{+%i$ZhfVvE99((NT?y!8~0)uA@uO(JsY#Qu{zkA^#sNOaZm}3 z=5hll>*k$f(xN3&d3|_YL;CB zBG(}cpX&ctb}i?iRzv1z-Y;%1yBeBm!C3(`)I&ykJ7r}R6YHu9q~LxW_iQ@%{fl$G z+txYgR(KV)+LKwEIf1@Se7E5{y=FVs(Q5Q6<;co9*vf7N@^aqpUI6#uSgD!$JBQU; zVt!GdbBkC{Jh_e;zBN?={MEt}BzQXa$;G`&KBY#yR&ZE}8aZP%E~XkGaVekXSmPCS+N<fF(+U7GBs7+s>pG=?54zF47|(YgzX=d&Ppqf`}` za+0G3JEOKQX=SQEG>ftx(<9V{F0)Sea4IF^m=#k2SP-Kbq+Q8Tk>yRxwzA2|qQ%&l z!QSk@l7ye7Qr-8@&X z<1-k`;odz5p5d8l%6J(iWNqteb{W)+hY>LDny$*yBnCnjPu9ae@gnvl#Ex;mLk;Ax zwpn`)UwXw@fw*H@?`B0)kzL1qi+XBhC0*7;Qs;Tvkx|oCq(k16yN8nSH~L)tfVy)A z;p9s6c}4fG#k$<*e;HdMwbi^TD{L_JxZ6}bsR{S8sb8_@ zbeGfkrw!|;^b2WrP2Uq4QX2c3N>TYrb&V{Qm-{87wj+A|bVQt*jneT-ejmGaUdtoO zN{om*=~4!stE{w4ZAN;$rnLC3(vfZ@6X_RkHP&FBTbFg}X4g~doXqF!#JF$RoXh-0 zPQ{PB$dh@NvQ#fI9>t!7PhZtbN}C#$HYusmVMKEdpO8jr_52z{Lj?aKuG|f*j}R?> zMjk!%=^oM2Bj^4mqAYrXC_8IfrEPad9_3Yx$-R~(NAjpo)|!lB`bmH5YBgAqQti%( zU?GQjmU{Hde-XhVz@KV-NAyL$=b^-+2BPHEo7CCqs6m#WkQ3vUy&XFoT6gTixo$*R zv_7vcD)l|i3UWB~Zpv0nMLUk1s6~CO{R!WRI`j&nBVsQ4RB>RxPCZJS*wG@CYy7-4 zMA<|=MBUWrRjU%Wa;2=5nLb2GxsG_z4x?o#^JtaQAy)J*TBQ~fJ)*u$OqtOcH_dM%iXZn zLJ>{TTiJn)z09aJqnmipequa|9J;2cFVC(i9>k_unf(K074;ZByjrWF&DR>7M(feD z@65{F$S8-dE`Lr7t>%mh(W69f6|pKVTum7&5mBVgZRfC)WsguEwQT!HR`q)6_-Umq z>RrRwE04yXns^pH!wx>ZgH#)$yK=2n#i_N5^AYot=t<4J+?Q+5-JVazZm@RNE`?N9z<74CW4kbo1NZG6f+Eap3U(nyoji9*&aM1t-=cjDw# z%|v2X(>`Iuf;}nwWzH5|C;G^mSm89-sbHkf*dHT~nY;C{omRWRF_OhtBGulb6=g53 zM1qwy*2A7f)q1Ri7V8-27sU%ze#x*_tiSKR;&MOk@OGgC2T_tNj&r&|}Al)JKud9>cw z{8D_nj(rWMan7eA0@Yu{rutxtceL6$$KLecve-}J8DtCP};$fbg{yX`Efl51!sQd0>UM3ZWc&U04S44N84pKI%Jm6dseyv3^64tafK-T-XbZ&vQ&N)M<^ zymPmj9Z?z9OOaLdS$Z_{J0s3kc-aC?8(C)q>!?Hb99Z}7fGQE}Pfg+4y9=E)E3?L| z?Y$A+JuBTt3a4fE%{RiAG-f)3Z%oTbekxY&yJ zrI#d{$J?loA@Q`M|hNw>w>V?u{Zx|F+j?!+uo59&0+zVbS* zZvR|8N|V^vp2VHe-#tuCS=qZD<*^0yHR3%p9<8DrnK}uNvnKUeH_M;$aveRNa;lFk z)K^>1YtLG(vbJNqH-hM0q{$w)_YNh{Bwh8hm=OEME&YZz=G3Mc=SYwDN=ut_@_M`{ z<$68uiuBIG6-aL-oGW{=u1}6~_m1KU)~d|z0%{8#ZCS&o^Ej=Gy3=`g9yr@~ z--0;TFB^4@jmAu;ZtBaKQ_UTI+I2&I_EX-qQHHeKU9kZk*CAc+tQA}O1~UQuv7EZ^ zs3qq}Q+w7B53XgrH#^b3-2JnGV;$F*t_`fUnRWP!AV|nhnJLFQTp!#5dAH_OOf+R3 z{h>K>oLf4Bv2X6(uiB1xv>BhBoG1zV7~TgNcL$28UHI8MHX8H2IlO+T^k3fGZ?J}S z)^e`%BKHeOlQmw959P?b608T-NWo}~6~;v~CViw`yC^H=t{vuKdoiXeE2-D7ySGDM zr{3hzn4`b4X0-ySk(FKa%~0tK#F!Q1eDsdyDf(~z!d4aw&ehbT{z{(hVwmsPO^i6u zZp1#o z&aUCyB!fQ9lFUD2=gXYk7@#dXziP(!`U7{-886J;)t|PymGz{@uDra)`%Cn6T0^X1 ztiJR~jX2zg)b!tV>=j6p|Fl(kat&uW#;=%HNs}F@m}y#%S}$AgN{jP8?=dvD(z3+5 zJ#s50*Rcz0wrqavT-v(J8cdWLf87%u*D*GDXQY12b(BfWvg3Vg@@55Q{;2gvnydjM zP43fjy|~LMPC?BT#6eB<=1ws0T^IWvF~^p-*e$W1v?jG?vy&e0vhki*?Ou5Ln+&#u%eMabtPTONZcFy%*x|rBkE5%n}516rI zb2aTTRzcdQdAdjJDNC2NjqxSc-PXHWp4p+Ya%Fq3u48WI^AzHa2qU}Mm)J6+vy!tq z^tVoI}l$sLM63o2R zx@fGa+l=&PVX->Y5|l(aT2eAd)WJLFFsxR&u#Ul;E7q9DkF&VFYjlL zGac6wS7v_t@rZFdBg#pOvpXR*HQj9Ejwlw*(Gw{5IO&M}3Huv*Fe_IP6!&n7NRcTL z#HSL7`!082SEx(il5E(OO-{ zdo_%3TAdY)-9r70)+v9^c_U5nRSzsWV`n;AzLmZm3HQZWo!K393Z{3kiy{vZ-|9~O zeD0=My8RRDAUhH2&P>;J+}&YSYsDSA>-K!rviYqY1hWI9ru!tTvysZEAQqH@*R`UK z7_f@fmerkhq&#B>L|-n>H}Hr*KukYql6hz?D2YSW#jJcSZUZzkWS;g zD`^q-zV%V=D&L$v+`SX$t8uEL&AYGLPKFtQyVIil^>)h1>zQLnleVirP)24OW}wn! z=A=BeIkOToF^_07G5R?vQg_;gp4VF2j6m5-W2~msobgxt6`RV-&WJR*j=wi+kA2t} z$+eYybZ2HCc{9qWJ0pqb*j04uY>=2Rh=<=RZ|U)$$aJMRu~6^I-k4=ZW+o-oB2OK~7-bYT zQ&d9g)ZdE&wG*dcabJY?Y?cxaeT9_An%Hd6xDfXZh_5&sv4WKzIjosMMR_SR^`?Ip zBd%pvImVcp49pB8PEJLfRMkvd&BWqtK&y3~=;!TNdsVAJb?EuAGbUfwby5_$lS5JH z^hcJIk`rBPkQA` zyV6db5X8=Vl#6y7B^iBz9J-GFFPLxZOtvZkPWv4XG4CBns&w6I$$=x9li!m0*ysXA2NrCohrfZCn zF7>a(#A>X1qaTa=L?WKWbkuvyW0a5QNmH~DGcWNOJ2&dttXo=))iEcD)qKoNly^jr zx{mg*pLIR`n^|g{xT+gtrEBObjUh2k>JOr{#8I60noWAX6`6AntFSof_G;0lj05_R zn9u9i%uFISV*FC;<}{xF|9P)GMmrIgYDyVt^D+L{_yBdOPl||EQgL!=e9|YGJu83z ziOZ&)A}fPd5_4G zCVg3yyYVjOmg+#Cr-uEC_?9>DOFC94KpJ zc--w$!=Ln+M;hy5Rc>q%TVh^Z#XSk)C+c1qd7qH;XaCp3MDL>hymp+|7?YH@_G1ld zwW%i)3))SrHEZx5>xJn3;*JG)_9%szAt~)xb7;TfQeAolJ*YOJ{j0kuZ(pPT(%&0D^a)ypd8v4h zaltjC%p*-vM`B1H6Mc&DFH#$|A`0S_wSRH0q@~cfBc1+>`COE-9Gc_1igCk9CWn$ovxjI|FsO~<$6%F>V#yxH9upaQvA$HNLYZiEPH9=c! z5|jUte>KpW)inqG(Wa|bqD9*(oKLLFShJUz?7oVXWAVWi3U_7gip;3wRIWGzp4fIR z={+CUP4EpG{)21sVTQp+3}}=nv8ye3;tbZ&ot%4($!vfv@Y2J~kR4iMn|m6(;gAzz-r$`O3Z3EY}HqvX691&s_6pZZbT@~sB&iVfmmj*-_Q)P}Kxo^i!I;;N#|86EyN zCa_5q#33)7PZwMv@k!skx#}fc*udj&;m1ABrnFSUHXzY@7qygE4W_+Y3ws~V8Zy-?*d}qgT{+&bf#dtwqt9MwzR{yyT22_VNycx4z zte@r$g*tnJ6NZV*d6-<$0}GA?FnSD~s1f{7JDKCTSIu#})0UUj%{{E3L|D@<$A5Nz zj)RAh%eONpb{ZYvpe8YM$`;?WAm{!vhq$za?b%QZw5*E2707teLp0*@h;bSRx$xSP zcD4nx`K!KRU&M?teDabpY_eVcnJ28v95*+t2UHcED2$ZaKgX?C~ZNx#F8Q_Q^$~ zBU~2|XdMeb8^2!g#G5F!1Yg!eb>(_X%^RE9z4{fAoL3EC!RTm->ZrTa6C;xS>4Ys_ z^n*+I=6*Oejx%yjROAqQ&grzm52{ex(+8ZGEovtb`qDS5Bd&CV7yR;;Wwi<~Dp8*C z<~uuJX`GcSYaUp6O6W6X^G$?RwV21E-slhKteO2?F5g|PGnuS1e59vT=ceTuod%K1HU>qPWUe- z^PeT#!?X6Zgk89TA27(fwHu3SKyBg)-Wj)8DKZdIr{o;OVDP`@sBmeKo~#FY+aEQ6 z%{7eK10A{I-$LNJ*ma9|h?Dd3k9T;^Ed2qACLPRjzu#_4IpRT-{Rf~_eC~47hli##f6>jA)p7C zNC)ELekZ!nKGBgsD<4s}Jp zh_CxA+)Luwp7(&f#{p|_?tJ6@5${W}Mn`L87iD3KOnJ}Udv5;C4cM%G*zsBqJ?*|S z@rf31)?S~#aKBDlVDouA=hc<>{HRs@I*aH0+jnIy=Fw4JR1fV_c_f05%OZLGcN5BC%Cx3@3^7zSx2bH;DRS@`TGcR>nNiy_ucuW zrq714&98mPAsME=d40w`eeVhT%mTg3B=wtI@h_HPhhN0;i$9(>p*6H_mEFwVV_s<+YxY~eK7xg{rI*o&(nEM!M{u9JyUE^ z6$^e(tyvw=IbR3UZf=lO1veFRjB~39xud_ohd^K4Lq#d_ z;B3HnV~jBW@fS5dSN&=B(~6dG&iFI;-icS6UO`d&!R6RZ0aSV8cK)}1xCVuHe{17B z$WdxBW7Tm(EdUc^y7}*C_vfWLsge8#FFqYGPH=I~af%I}gAwES<}9{oXSQWnzPgWY z?G#h-q44HV*Lu_qc_P=|_c4degW%zqwqTUjSfI{17jmTai}7K{-%^mf?&)KXygK?^ zr^vD6hizBej00!e<_9!te`j`Q2I6miz=m~+2*vqh@aOg8_SY-*L-oLx>=P-LsjkkW z%)QP};K34Xs{#GtvAI-CsTG!-8^{kauvVw`iH*3xgHm8jEr38A#8zZkk_+aV_+cz& z$7;Y;0XAV4YS{sSUHLzTVls&D1kiL!%EMdoE90iFh1?#bRh!I@0aCFko zs;4#Caof>^Z}iFa5!Wx+fG_s(0v>GmmMs;*He1BabraWNV6qok_eFn?dToJyHHuBD zgOO`>-?FEze92*112ewe zr=NUilg!PQ8Zf5#r2j0k&A9RD3@GCSA6f%PcGZ9geqH^v;+rFQ2$lP?tY>ovALh#;k{o4dOT=0dv$pdaUpG2i3{Bjx|8SC1 zSZmzMHlH_#_Jo=A4MJMf%IsZhSyb<+ORlYtSQH@^)I~YSrm=B0TO9Fh`EK-C6O79? z8#8zk*{xA3Ar$oN2yBl%w%IFIm{;}2?76p(`u1+`GKd|q8G{x%nr**_qt<4dmf%pE za8mm!6Ns`!Yx~3dEHq}uIcP#;cJ7$jSgHq>%R&fm4pmgDQsu-Hnqk3`%!7dQj^M^y zOc2R(sFtwOJ3EdOTC!!Njbo2$hn~Fj`n&nhhnakFxi^2Qw-|}7mzd<#y30z+G3dHL zEoEc;g4c+PD@L$iMUtnGi^)-mPm#(Oh~`B^GQ$~q#&3~voR|Ld4k|1UA8qW@7A+ca zoZ-Bx8lsNav-Wrkn^s`NqoN0m@zS!YX{_-84m@Sev0=2cZ(QOlO8VX7RbpmL*2T{4 zqTL9P8>)^`8WZ_uwZQnPO0X45_*P#WbF4M1a4xIbgmKp4-nsT$Zj2MYoguPsBp1=R zbYz(qFZWeUBH=6+ zuPQhrBSxj2sevtg>A5YV%DSA7Hp#6y#3>Pk#EdWL)=62aK;sPYYO9_ z|7;j(3XgAE5O-IvT7?TDqEC_a4LZ0WulT`299!8$)F{N_c%Vm&VOtjIuNAq5DPDNs z9s<7buN{?5v{SYbU#7yuF?$k^tkbV->l^>*%RLaQC3>@mh5J^a@~*YkakK}k)d`=) zk1cB}(XnUM1-osCGz40KE3xr89`V4N9?mPA%Y);(2*p>m6x(J8Z4w(iG3vx4LZfE8 znjb>?wcY5sn*IstcZT7Z*~2sTurI$UL6)$`mQlR1SQR*?PQ>c7@p3Pku)u~{h6gm+ zc$T?xA$ua>7#>8aFZptv>Tzvh#dt*}u8W=i<_sL5!UAe_OT&ukCpE-uzh0TD3-CGy7fO~oas$_Ge#Wl8IS1g8!NBP zWl?^?S6oKm5k7rot+BW&ELN|uT&rhc+&kAh4jK_)H8LY|>{A8223&1K#c3ZidRhZmsc$`spK7Fw&2motxFX0ua0bzKTZ^`Z`{ zn4*CT70kC8_6YXPuZ+tA`K6svO$BmVgnrXMP0}Ogzy~&d%WDm`UHL1+;z*yNDVD7O zMA7k$T(vYMZj0DNhmTn*S7xHIWNfrwl;+RquplQ!_{oBK3m2a0rxqPiM$GZJh9k2s z&TP_KJq(M-IAR@*qYO*LcJm=V@B2Wnr^o7F?4zdf-E(`Bn`c-PnlfcuAFh zr!UURtL?Ov5@n(uW`aznF?C@aq0w5$vVJqC1=peKbSP+NbmoMpmX|6LRjrIHE_h5M za;h3+?AOq5tZ#JK3Q_EdzIu&+aj->i>Y}xZzM?@Vx3Q`@SLc3}*!*9qO#PxZ1Bjy$V~GL|Jd zP^aUj?3WjP=hfD-WGpdxRZMGGCE~J$ceOPSqE?@(!@Q@{+H1}J+pg_=6uq`oL#kQL zTts&ZyR{{sx1XtaX;cKb&mX7D0223i$=TX-ubax(3OoL-)(re#?+>l0tK zPh(ZYzw9j^#-%Oi6&1qq^?Z-Xi8Das0SjgPJ2G-3uJTW8*04Lr>F001ScU(w7N^UK z+NWh>!YDow$r-J}Wp0alIJO19_hlrrvB=EvZHtvgnIl8p>lHMA>teBX-Ut^R$Mq!A zsUk(OuB{5jUVMx%YN?8my=|{;IhMU07v+nIz3WZAgA|?g z`Nv)yS9Kf};2?j0k9F~=KkR;walC+8Z`*SJt_y0jmB5>k;id&^7gvRwn{1)Km<=~< zbd_bTE5Gs?^X;huR6%uOW`Rj8r%aFN{xm5P~P0L0P`YzMxDBtDg7jOHk1Tzxpo<&@DI(q-Xl-@MxYJBrvE z|8KmYOCkCViSZScG5FaEV|?USYjPvnMuECoB#lGS$kHcP7?|HIp}O7mN^yQSTUhhd z#W1ygWGv%X?(yBr9NjY>87JnhwSu`#4c`&J*?X-Uo6Hrtnnr2gTgL4bJ$64^v>*HF z?Y+7wQ}1`WCeDqP@0@ksv6go4UaGclk;HGPduI5~4Y9y4PJJ@&l@`a#nRUjxgtco@sj7{G9dY`HqgO?2YVV zRtt@FSixhXzIaLwM5Ky_tkGb6MJdi4StvQH$k+sr(!u^9F|g5bV){vHjdtS$q##;Tl#d>OyvzpN1dW_kLG;Z^Ti zG_v0~>6O3obw|3rnh)e_eo{+5jl@0q{*1qUBJCb+nYrg2-K{TM1JuHA*FCLjhJmdi z&eA(d*J28sb@^r=USr&Kio82dZsw*HueedaGHagP-Y8pk_43>OJxa=&VH&5-=Z!B#jH7-@d{VbnpH4GQ64BiZtw>;c^BWuLL7qepb$Qudf zc07ZlnT@rBmc?xi!v9~IHX7ro*E_F^zwxIv_u?fMF7~ZZV3f?SI!wRfmK)W9WvWn| zuw^T+cTgWV$!GCv&q#^^o3W*Rl|ozhwR|(@88x@F)I?t6J@q&9!+zwUsf&@%-28s-OsB9(3_rBzSRTTOq$~79rMXy_jU=%~7rS zzHDs1_18&_;TuJY0fP#jLa|0>_9_AqiOgd!JGC2jd@?>-6Uvi5ReTyQf^who^ofl< zS1saL!H2VJDggl&X%Sw1%OTqw=j`3O$`>F0Ki^ee>^J(Um+z>zp9;d(UyOl)`_}wx zNIaYIxrG?1MqcOZM;lYntIg$ROmZxKi8S6}DfOlb`EqOz>(#+)YkO^lTDD@lOc)s$ zrjnf#(Q1plIv$ ztMwkwyLE~hXhkUo`=@sq`uAwnm^#-N>&kKV#Cfk3HsT^#ZOZB{Y8V-7ZTMqHe{-+MCbBexs$O7>j6j(X0B5 z`7!}AZ1>V~*HGx;b9R~Hjb}`yo>|Lk-&&97e5(`ojLNJUck%Zf^QqZ5u6?b@AK29< z{q;b+Xh5#*>AKTrDDUVG6Z}mjZ#J+&F6`M{kV4eksu5Oh6nA^qL2y)5S+b|z%s%mb zw$u9cK^r4vu3m2A)NixkjFEzx2NzS;^E+(tLpFBAw$$&d4D#SQhWhTCoP5S5p0q?B z%b06fSAIU__l|OHm+3Ozw=F{09ysYEr?u@n4K>$_eRUyg%Z{;>S9Q~|zQ22MMD|iA z2*B7lbE}@V_54~6b)LpIm>In>=?L3?o;(hInDM1oGx|m}w&im@HY@B{D&dI8P@L~Y zi#J)g9;esr`8}N5y6iVHT`7qd_PSm|Tg~Wku+gybTJ^>2vLJ@ITzrkQvTBY#``J4i z%cHS!T+3+!+>IuXjr~SdqfJ&@L($e2&U`z*JjlQM<>Ff%7ctx8+%0o=D@MnSguU-~ znv$Qgu43QTo5`{hM{hgNPVeSJr7@O6xOn1ndNexhx&<5RL0)XBb}m!eES737ebvYP zzN01t-|UOv`)VMzH;V9b+fB70TvRc3k4*Wq2_E>oOuJ^O@|KHzW7A5_zZ8Vk=AIDE z-gMuV4Ekw|clC`INA<4%%MoX=qL*|vOLEW1VNAIe&YIWYL}q=*&s)XhLEmXek4A3P z__jW)mZAyUJ<73Zz)^~K*=eMH?yC8?bmph7ZhDpAp-X0Gt0wp zkI*|`v}oKlKl^-3YxYBpv46eRQ+xPM&1T2Z2=>&Qz02cwY=5OI8{y5=CY7E;u*5K*RDrCTSqhVFv?1Xx1V5^E>Y-Yi|)RHCdin}^MLt4C_ zvr-Lk#1L0;#BuSBhqAKoG1*oXN>6B^@h9J&*SqS>Pa4HiOv%NIPMj)5ujbY5R#}ce zGj|ys19{)~GC;rb)i++=`Nk2{u^7}_D!LKi8}7tlR5v?pbF>lEtV@1HS>GGcj%By{ z;h8CDxt@C2+8lx1I1TF%h2xWlm+PS*i_Xt*Xr4Qw8f2sVc20Y-VXU;-d$mgocoJ{u zt@lJ{e~vp&Y?10>!hNyBwfQfyxEL0;y4H8BftQzULwNM+SzCC<7~Wr% z+A15c2#$1W_Vf9Uak4^N<1Es9ECz~wZ9|CPe9Dw;$sE}1qXx?HvRd@E$M@`oXcn?f zD=hX}ZmZ1KUU{*#h^e%^sUY~_U#k7j&%a*H|Iwy@Pr<@;8T$zOL=9hA+EXki%jSZ^&e!Ovd2L@GnijOd0uFUDV6N zcOGBf;;--NbVo#6_1IIm&DJuRs_u7f($0;4I_<1XSbMZW^i?)T(^gO4_3q6{T=hM5 z5F3@d*~)t~Z@V%+Ud_Z`KE$uh;j^lSQY~r?+uC_Ga>rcluWnw(#+EGUuQvK!o%i_a zK%C$2Yf=B@5}a5_3+uIZ#P(K$j>OsR<&_J+yy{<8uQ08xv9&(GYPNTM#D70)8yojZFF(yZT3P0Ath0IJ;wZgj>5koSdDe_H8g4tS zslE9F(X=bWF`53`FWchQo};Z;(QU0AZ`sgq=U!YpN_4CO{B@6gh->4=ygL$Q+Pf~RFDOtOXakEGbvx5r!O&Q!1DAHKfd`QXf|cXbNZ>pzR1d0LxtSbs5Am+~)TX_cd9;l&^t<3+VvNiAmK zTLa%mYe=bG_`)(ur^rVIhQ)#cJAesZ;lj0 zNZVg!14UO=SO#4zVa09QFKhOBudeGOK61s&+&kv3En3;biXdyDiwo-$NBcXNV*fS% z`!N<&gppnK=*c;wxfS0#GJN#=w$Lbudwhmu{^g!1jVT_-UG<&5F*6k4WX#IV_%l`+ z6?Z!1n5%SGGqi*S(bWUHdYt046P_Ixmze@tF@%dV)|Ja}S~C{2N4vPe``tDoKSQ$n zLh^v8^dJ{nP_4#ORH#SaMr2jjPOSP{;qE`tzUZ^Uk^RNhWvyBYAJv_*1h?Ps&n%{( zSb@DUSUtIUg_o%et~?@gaoT>qY@siYrUnp-oa4U1qFs4zUF;e_&hu$?6~jhjN(iSq R%c= Date: Tue, 25 Apr 2023 18:20:53 -0400 Subject: [PATCH 15/17] finally finish dist_btwn_cities.py, updated README --- README.md | 2 +- dist_btwn_cities.py | 65 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 dist_btwn_cities.py diff --git a/README.md b/README.md index f362239..a2281bc 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ optimize and capitalize on what I and whoever else have and will learn. - [X] **Simple Calculator** - A simple calculator to do basic operators. - [X] **Unit Converter (temp, currency, volume, mass)** - Converts various units between one another. The user enters the type of unit being entered, the type of unit they want to convert to and then the value. The program will then make the conversion. - [ ] **Alarm Clock** - A simple clock where it plays a sound after X number of minutes/seconds or at a particular time. -- [ ] **Distance Between Two Cities** - Calculates the distance between two cities and allows the user to specify a unit of distance. This program may require finding coordinates for the cities like latitude and longitude. +- [X] **Distance Between Two Cities** - Calculates the distance between two cities and allows the user to specify a unit of distance. This program may require finding coordinates for the cities like latitude and longitude. - [ ] **Tax Calculator** - Asks the user to enter a cost and either a country or state tax. It then returns the tax plus the total cost with tax. - [ ] **Credit Card Validator** - Takes in a credit card number from a common credit card vendor (Visa, MasterCard, American Express, Discoverer) and validates it to make sure that it is a valid number (look into how credit cards use a checksum). - [ ] **Factorial Finder** - The Factorial of a positive integer, n, is defined as the product of the sequence n, n-1, n-2, ...1 and the factorial of zero, 0, is defined as being 1. Solve this using both loops and recursion. diff --git a/dist_btwn_cities.py b/dist_btwn_cities.py new file mode 100644 index 0000000..29ea1ec --- /dev/null +++ b/dist_btwn_cities.py @@ -0,0 +1,65 @@ +# Write a program that calculates the distance between two cities and +# allows the user to specify a unit of distance. May require finding +# coordinates for the citie like latitude and longitude. +# +# Started: 07 March 2023 +# Completed: 25 April 2023 + +# Importing the geodesic module from the library +from geopy import distance +from geopy.distance import geodesic + +# Function for checking if the user entered city is in our dictionary +def check_city(city, flag_num): + if city in cities_dict: + flag_found_key[flag_num] = True + else: + print("Try a different city...") + +# Function to check if the user entered unit is in our list +def check_unit(unit): + return True if unit in units_of_dist else False + +# Function to calculate the distance using the geodesic function in geopy +# according to the unit the user requested +def calculate_dist(): + if user_unit.lower().__eq__("km") or user_unit.lower().__eq__("kilometers"): + print("%.3f kilometers" % geodesic(cities_dict[user_cities[0].upper()], cities_dict[user_cities[1].upper()]).km) + elif user_unit.lower().__eq__("m") or user_unit.lower().__eq__("meters"): + print("%.3f meters" % geodesic(cities_dict[user_cities[0].upper()], cities_dict[user_cities[1].upper()]).m) + else: + print("%.3f miles" % geodesic(cities_dict[user_cities[0].upper()], cities_dict[user_cities[1].upper()]).mi) + +# Created dictionary of top 10 major US cities and list of units of distance +cities_dict = { + "CHICAGO": [25.7617, -80.1918], + "DALLAS": [32.779167, -96.808891], + "HOUSTON": [29.749907, -95.358421], + "LOS ANGELES": [34.052235, -118.243683], + "NEW YORK": [40.730610, -73.935242], + "PHILADELPHIA": [39.952583, -75.165222], + "PHOENIX": [33.448376, -112.074036], + "SAN ANTONIO": [29.424349, -98.491142], + "SAN DIEGO": [32.715736, -117.161087], + "SAN JOSE": [37.335480, -121.893028] +} +units_of_dist = ["km", "kilometers", "m", "meters", "mi", "miles"] + +# Created flag array for checking cities and array of user cities +flag_found_key = [False, False] +flag_valid_unit = False +user_cities = ["", ""] + +# Loop through both flags and cities arrays to check and change flags accordingly +for x in range(0,2): + while not flag_found_key[x]: + user_cities[x] = input("Enter a US city: ") + check_city(user_cities[x].upper(), x) + +# Loop to accept the user's unit of distance and ask for +# another if the entered unit is invalid +while not flag_valid_unit: + user_unit = input("Enter a valid unit of measurement: ") + flag_valid_unit = check_unit(user_unit.lower()) + +calculate_dist() From 14d9a06fe1b57051411bf7706b55c168bf2d39b4 Mon Sep 17 00:00:00 2001 From: Tykia M Date: Fri, 28 Apr 2023 16:02:54 -0400 Subject: [PATCH 16/17] Finished tax_calc.py, updated README --- README.md | 2 +- tax_calculator.py | 159 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 160 insertions(+), 1 deletion(-) create mode 100644 tax_calculator.py diff --git a/README.md b/README.md index a2281bc..fab011c 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ optimize and capitalize on what I and whoever else have and will learn. - [X] **Unit Converter (temp, currency, volume, mass)** - Converts various units between one another. The user enters the type of unit being entered, the type of unit they want to convert to and then the value. The program will then make the conversion. - [ ] **Alarm Clock** - A simple clock where it plays a sound after X number of minutes/seconds or at a particular time. - [X] **Distance Between Two Cities** - Calculates the distance between two cities and allows the user to specify a unit of distance. This program may require finding coordinates for the cities like latitude and longitude. -- [ ] **Tax Calculator** - Asks the user to enter a cost and either a country or state tax. It then returns the tax plus the total cost with tax. +- [X] **Tax Calculator** - Asks the user to enter a cost and either a country or state tax. It then returns the tax plus the total cost with tax. - [ ] **Credit Card Validator** - Takes in a credit card number from a common credit card vendor (Visa, MasterCard, American Express, Discoverer) and validates it to make sure that it is a valid number (look into how credit cards use a checksum). - [ ] **Factorial Finder** - The Factorial of a positive integer, n, is defined as the product of the sequence n, n-1, n-2, ...1 and the factorial of zero, 0, is defined as being 1. Solve this using both loops and recursion. - [ ] **Fast Exponentiation** - Ask the user to enter 2 integers a and b and output a^b (i.e. pow(a,b)) in O(lg n) time complexity. diff --git a/tax_calculator.py b/tax_calculator.py new file mode 100644 index 0000000..f0a0088 --- /dev/null +++ b/tax_calculator.py @@ -0,0 +1,159 @@ +# Program that asks the user to enter a cost and either a country or state tax. +# Return the tax plus the total cost with tax +# +# Using the state sales tax rate for each state found here: +# https://www.rocketmoney.com/learn/personal-finance/sales-tax-by-state +# Using the top 10 (excluding the US) countries with the highest population's +# sales tax numbers. Tax rates found here: +# https://take-profit.org/en/statistics/sales-tax-rate/#continents +# +# Started: 25 April 2023 +# Completed: XX April 2023 + + +# Function to check if the arg country is a valid country in dictionary +# or is the United States +def country_check(country): + if country.upper() in country_taxes: + return True + elif country.upper().__eq__("UNITED STATES") or country.upper().__eq__("US") or country.upper().__eq__("USA"): + return True + else: + print("Invalid country. Try again...\n") + return False + +# Function to check if the arg country is the United States +def USA_check(country): + if country.upper().__eq__("UNITED STATES") or country.upper().__eq__("US") or country.upper().__eq__("USA"): + return True + else: + return False + +# Function to check if the arg state is a valid US state +def state_check(state): + if state.upper() in state_taxes: + return True + else: + return False + +# Function to check if the arg purchase can be cast as a float without error +def check_purchase(purchase): + try: + float(purchase) + return True + except ValueError: + return False + +# Function to return the state the user enters their purchase is from. +# Loops until a valid state is entered +def get_state(): + user_state = input("Enter what state your purchase is in: ") + while not state_check(user_state.upper()): + print("Not a valid US state.") + user_state = input("Enter what state your purchase is in: ") + + return user_state.upper() + +# Function to return the tax of the given country or US state +# Calls get_state() to grab the US state to return +def get_tax(country): + if country.upper().__eq__("UNITED STATES") or country.upper().__eq__("US") or country.upper().__eq__("USA"): + us_state = get_state() + return state_taxes[us_state.upper()] + else: + return country_taxes[country.upper()] + +# Function to calculate total purchase given args subtotal and tax +def get_total_purchase(subtotal, tax): + return subtotal + (subtotal * (tax/100)) + +# Created dictionaries for the sales taxes for the individual states in the US +# and the other top 9 highly populated countries +state_taxes = { + "ALABAMA": 4.00, + "ALASKA": 0, + "ARIZONA": 5.60, + "ARKANSAS": 6.50, + "CALIFORNIA": 7.25, + "COLORADO": 2.90, + "CONNECTICUT": 6.35, + "D.C.": 6.00, + "FLORIDA": 6.00, + "GEORGIA": 4.00, + "HAWAII": 4.00, + "IDAHO": 6.00, + "ILLINOIS": 6.25, + "INDIANA": 7.00, + "IOWA": 6.00, + "KANSAS": 6.50, + "KENTUCKY": 6.00, + "LOUISIANA": 4.45, + "MAINE": 5.50, + "MARYLAND": 6.00, + "MASSACHUSETTS": 6.25, + "MICHIGAN": 6.00, + "MINNESOTA": 6.88, + "MISSISSIPPI": 7.00, + "MISSOURI": 4.23, + "NEBRASKA": 5.50, + "NEVADA": 6.85, + "NEW JERSEY": 6.63, + "NEW MEXICO": 5.00, + "NEW YORK": 4.00, + "NORTH CAROLINA": 4.75, + "NORTH DAKOTA": 5.00, + "OHIO": 5.75, + "OKLAHOMA": 4.50, + "PENNSYLVANIA": 6.00, + "RHODE ISLAND": 7.00, + "SOUTH CAROLINA": 6.00, + "SOUTH DAKOTA": 4.50, + "TENNESSEE": 7.00, + "TEXAS": 6.25, + "UTAH": 6.10, + "VERMONT": 6.00, + "VIRGINIA": 5.30, + "WASHINGTON": 6.50, + "WEST VIRGINIA": 6.00, + "WISCONSIN": 5.00, + "WYOMING": 4.00 +} +country_taxes = { + "CHINA": 13, + "INDIA": 18, + "INDONESIA": 11, + "PAKISTAN": 17, + "NIGERIA": 7.5, + "BRAZIL": 17, + "BANGLADESH": 15, + "RUSSIA": 20, + "MEXICO": 16 +} + +# Created flags to know if country is valid and if the country is the USA +flag_valid_country = False +flag_is_USA = False +tax = 0.0 + +# Gather user input for the purchase total +user_input = input("Enter how much your purchase is: ") +while not check_purchase(user_input): + print("\nNot a valid purchase quantity") + user_input = input("Enter how much your purchase is: ") + +# Conver the input from str to float +purchase = float(user_input) + +# Loop until user enters a valid country in our list OR the United States +# Change flag var to True when found +while not flag_valid_country: + user_country = input("Enter the country your purchase is in: ") + flag_valid_country = country_check(user_country.upper()) + flag_is_USA = USA_check(user_country.upper()) + +# Find the tax for the given country or US state +tax = get_tax(user_country) + +# Print out final purchase total and the tax percentage +print("Tax = %.2f%%" % (tax)) +print("Purchase total: $%.2f" % get_total_purchase(purchase, tax)) From c307d28862142eef6210ea555bd1623f8290a528 Mon Sep 17 00:00:00 2001 From: Tykia Miller Date: Sun, 18 Feb 2024 19:41:23 -0500 Subject: [PATCH 17/17] Checked tax calculator --- tax_calculator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tax_calculator.py b/tax_calculator.py index f0a0088..fba5d94 100644 --- a/tax_calculator.py +++ b/tax_calculator.py @@ -8,7 +8,7 @@ # https://take-profit.org/en/statistics/sales-tax-rate/#continents # # Started: 25 April 2023 -# Completed: XX April 2023 +# Completed: XX February 2024 # Function to check if the arg country is a valid country in dictionary