From ecec5092951e02722c61ecc5787721da8ae9189d Mon Sep 17 00:00:00 2001 From: Brevven Date: Sun, 1 Jan 2023 20:54:13 -0800 Subject: [PATCH] early updates --- LICENSE.md | 20 + Makefile | 37 ++ changelog.txt | 12 + data-final-fixes.lua | 15 + data-updates.lua | 17 + data-util.lua | 1197 ++++++++++++++++++++++++++++++++++++ data.lua | 10 + info.json | 29 + map-gen-preset-updates.lua | 10 + me.lua | 51 ++ modules.lua | 19 + settings.lua | 40 ++ stacking.lua | 23 + thumbnail.png | Bin 0 -> 29214 bytes thumbnail.xcf | Bin 0 -> 106572 bytes 15 files changed, 1480 insertions(+) create mode 100644 LICENSE.md create mode 100644 Makefile create mode 100644 changelog.txt create mode 100644 data-final-fixes.lua create mode 100644 data-updates.lua create mode 100644 data-util.lua create mode 100644 data.lua create mode 100644 info.json create mode 100644 map-gen-preset-updates.lua create mode 100644 me.lua create mode 100644 modules.lua create mode 100644 settings.lua create mode 100644 stacking.lua create mode 100644 thumbnail.png create mode 100644 thumbnail.xcf diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..bc41943 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2022 Brevven + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..11be59f --- /dev/null +++ b/Makefile @@ -0,0 +1,37 @@ +# General makefile for factorio mods. +# +# Presumes the development work is done in a /dev// +# directory where this makefile resides. This directory must be parallel to +# the /mods/ directory where mods are installed. Run `make +# install` from dev/ to install the mod as a zip file. That zip file +# should also be ready to upload to the mod portal + +.PHONY: copy lint-changelog install + +libdir = "../bzlib" +libfiles = $(shell ls $(libdir)/*.lua | grep -o '[^/]*.lua') +pwd = $(shell pwd) +v = $(shell basename "$(pwd)")_$(shell jq -r .version info.json) + +link: + for f in $(libfiles) ; do \ + echo "using $(libdir)/$$f" ;\ + cp $(libdir)/$$f .; \ + done; + +copy: link + rm -rf ../$(v) + mkdir -p ../$(v) + cp -rf * ../$(v) + rm -f ../$(v).zip + cd ..; zip -9 -r -y $(v).zip $(v) -x "*.xcf" -x "*.git*" -x "*.bak" -x "*.blend*" + +install: lint-changelog copy + cp -f ../$(v).zip ../../mods/ + +lint-changelog: copy + python3 ../da-changelog-tools_0.0.14/changelog-checker.py --changelog ../$(v).zip + +zorro: + python3 ../da-changelog-tools_0.0.14/changelog-checker.py --zorro --changelog ../$(v).zip + diff --git a/changelog.txt b/changelog.txt new file mode 100644 index 0000000..b37262d --- /dev/null +++ b/changelog.txt @@ -0,0 +1,12 @@ +--------------------------------------------------------------------------------------------------- +Version: 0.0.1 +Date: 2022-02-01 + Features: + - Alpha release. + - Adds gold, silver, platinum and palladium + - Optionally adds catalysis recipes + - Compatible with Krastorio 2 + - Compatible with Space Exploration + - Compatible with Bob's Electronics + - Compatible with deadlock stacking/crating + - Compatible with many other mods diff --git a/data-final-fixes.lua b/data-final-fixes.lua new file mode 100644 index 0000000..6a4865e --- /dev/null +++ b/data-final-fixes.lua @@ -0,0 +1,15 @@ +require("stacking") +require("modules") +-- require("tin-recipe-final-5d") +-- require("tin-recipe-final-rrr") + +local util = require("data-util"); + +if mods["space-exploration"] then + -- core mining balancing + -- util.add_to_product("se-core-fragment-omni", "salt", -5) +end + + +-- Must be last +util.create_list() diff --git a/data-updates.lua b/data-updates.lua new file mode 100644 index 0000000..eb02201 --- /dev/null +++ b/data-updates.lua @@ -0,0 +1,17 @@ +require("recipe-updates") +require("map-gen-preset-updates") +-- require("compatibility/bob") + +-- require("strange-matter") +-- require("compatibility/248k") +-- require("tin-matter") +-- require("omni") + +local util = require("data-util") + + + +require("modules") + +-- Must be last +util.create_list() diff --git a/data-util.lua b/data-util.lua new file mode 100644 index 0000000..3373bb2 --- /dev/null +++ b/data-util.lua @@ -0,0 +1,1197 @@ +-- WARNING WARNING WARNING +-- This file will be overwritten in mod zipfiles, edit bzlib/data-util.lua +-- WARNING WARNING WARNING +-- + +local me = require("me") +local util = {} + +util.me = me +util.get_setting = util.me.get_setting + +util.titanium_plate = "" +util.titanium_processing = "" + +if mods["FactorioExtended-Plus-Core"] then + util.titanium_plate = "titanium-alloy" +else + util.titanium_plate = "titanium-plate" +end + +if mods["pyrawores"] then + util.titanium_processing = "titanium-mk01" +else + util.titanium_processing = "titanium-processing" +end + +function util.se6() + return mods["space-exploration"] and mods["space-exploration"] >= "0.6" +end + +util.cablesg = util.se6() and "electronic" or "cable" + +function get_setting(name) + if settings.startup[name] == nil then + return nil + end + return settings.startup[name].value +end + +allbypass = {} +if get_setting("bz-recipe-bypass") then + for recipe in string.gmatch(me.get_setting("bz-recipe-bypass"), '[^",%s]+') do + allbypass[recipe] = true + end +end + +function util.is_foundry() + return mods.bzfoundry and not me.get_setting("bzfoundry-minimal") +end + +function should_force(options) + return options and options.force +end + + +function bypass(recipe_name) + if me.bypass[recipe_name] then return true end + if allbypass[recipe_name] then return true end + if get_setting("bz-tabula-rasa") then return true end +end + +function util.fe_plus(sub) + if mods["FactorioExtended-Plus-"..sub] then + return true + end +end + +function util.get_stack_size(default) + if mods["Krastorio2"] then + size = tonumber(krastorio.general.getSafeSettingValue("kr-stack-size")) + return size or default + end + return default +end + +function util.k2assets() + if mods["Krastorio2Assets"] then + return "__Krastorio2Assets__" + end + return "__Krastorio2__/graphics" +end + +-- check if a table contains a sought value +function util.contains(table, sought) + for i, value in pairs(table) do + if value == sought then + return true + end + end + return false +end + + +-- se landfill +-- params: ore, icon_size +function util.se_landfill(params) + if mods["space-exploration"] then + if not params.icon_size then params.icon_size = 64 end + local lname="landfill-"..params.ore + data:extend({ + { + type = "recipe", + icons = { + { icon = "__base__/graphics/icons/landfill.png", icon_size = 64, icon_mipmaps = 3 }, + { icon = "__"..me.name.."__/graphics/icons/"..params.ore..".png", icon_size = params.icon_size, scale = 0.33*64/params.icon_size}, + }, + energy_required = 1, + enabled=false, + name = lname, + category = "hard-recycling", + order = "z-b-"..params.ore, + subgroup = "terrain", + result = "landfill", + ingredients = {{params.ore, 50}}, + } + }) + util.add_unlock("se-recycling-facility", lname) + end +end + +-- se matter +-- params: ore, energy_required, quant_out, quant_in, icon_size, stream_out +function util.se_matter(params) + if mods["space-exploration"] > "0.6" then + if not params.quant_in then params.quant_in = params.quant_out end + if not params.icon_size then params.icon_size = 64 end + local fname = "matter-fusion-"..params.ore + local sedata = mods.Krastorio2 and "se-kr-matter-synthesis-data" or "se-fusion-test-data" + local sejunk = mods.Krastorio2 and "se-broken-data" or "se-junk-data" + data:extend({ + { + type = "recipe", + name = fname, + localised_name = {"recipe-name.se-matter-fusion-to", {"item-name."..params.ore}}, + category = "space-materialisation", + subgroup = "materialisation", + order = "a-b-z", + icons = { + {icon = "__space-exploration-graphics__/graphics/blank.png", + icon_size = 64, scale = 0.5}, + {icon = "__space-exploration-graphics__/graphics/icons/fluid/particle-stream.png", + icon_size = 64, scale = 0.33, shift = {8,-8}}, + {icon = "__"..util.me.name.."__/graphics/icons/"..params.ore..".png", + icon_size = params.icon_size, scale = 0.33 * 64/params.icon_size, shift={-8, 8}}, + {icon = "__space-exploration-graphics__/graphics/icons/transition-arrow.png", + icon_size = 64, scale = 0.5}, + }, + energy_required = params.energy_required, + enabled = false, + ingredients = { + {sedata, 1}, + {type="fluid", name="se-particle-stream", amount=50}, + {type="fluid", name="se-space-coolant-supercooled", amount=25}, + }, + results = { + {params.ore, params.quant_out}, + {"se-contaminated-scrap", 1}, + {type=item, name=sedata, amount=1, probability=.99}, + {type=item, name=sejunk, amount=1, probability=.01}, + {type="fluid", name="se-space-coolant-hot", amount=25, catalyst_amount=25}, + } + } + }) + util.add_unlock("se-space-matter-fusion", fname) + + if mods.Krastorio2 then + local lname = params.ore.."-to-particle-stream" + data:extend({ + enabled = false, + { + type = "recipe", + name = lname, + localised_name = {"recipe-name.se-kr-matter-liberation", {"item-name."..params.ore}}, + category = "space-materialisation", + subgroup = "advanced-particle-stream", + order = "a-b-z", + icons = { + {icon = "__space-exploration-graphics__/graphics/blank.png", + icon_size = 64, scale = 0.5}, + {icon = "__space-exploration-graphics__/graphics/icons/fluid/particle-stream.png", + icon_size = 64, scale = 0.33, shift = {-8,8}}, + {icon = "__"..util.me.name.."__/graphics/icons/"..params.ore..".png", + icon_size = params.icon_size, scale = 0.33 * 64/params.icon_size, shift={8, -8}}, + {icon = "__space-exploration-graphics__/graphics/icons/transition-arrow.png", + icon_size = 64, scale = 0.5}, + }, + energy_required = 30, + enabled = false, + ingredients = { + {"se-kr-matter-liberation-data", 1}, + {params.ore, params.quant_in}, + {type="fluid", name="se-particle-stream", amount=50}, + }, + results = { + {type=item, name="se-kr-matter-liberation-data", amount=1, probability=.99}, + {type=item, name=sejunk, amount=1, probability=.01}, + {type="fluid", name="se-particle-stream", amount=params.stream_out, catalyst_amount=50}, + } + } + }) + if not data.raw.technology["bz-advanced-stream-production"] then + data:extend({ + { + type = "technology", + name ="bz-advanced-stream-production", + localised_name = {"", {"technology-name.se-kr-advanced-stream-production"}, " 2"}, + icon = "__space-exploration-graphics__/graphics/technology/material-fabricator.png", + icon_size = 128, + effects = {}, + unit = { + count = 100, + time = 15, + ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"production-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-4", 1}, + {"se-energy-science-pack-4", 1}, + {"se-material-science-pack-4", 1}, + {"matter-tech-card", 1}, + {"se-deep-space-science-pack-1", 1}, + } + + }, + prerequisites = {"se-kr-advanced-stream-production"}, + }, + }) + end + util.add_unlock("bz-advanced-stream-production", lname) + end + end +end + +-- Get the normal prototype for a recipe -- either .normal or the recipe itself +function util.get_normal(recipe_name) + if data.raw.recipe[recipe_name] then + recipe = data.raw.recipe[recipe_name] + if recipe.normal and recipe.normal.ingredients then + return recipe.normal + elseif recipe.ingredients then + return recipe + end + end +end + +-- Set/override a technology's prerequisites +function util.set_prerequisite(technology_name, prerequisites) + local technology = data.raw.technology[technology_name] + if technology then + technology.prerequisites = {} + for i, prerequisite in pairs(prerequisites) do + if data.raw.technology[prerequisite] then + table.insert(technology.prerequisites, prerequisite) + end + end + end +end + +-- Add a prerequisite to a given technology +function util.add_prerequisite(technology_name, prerequisite) + local technology = data.raw.technology[technology_name] + if technology and data.raw.technology[prerequisite] then + if technology.prerequisites then + for i, pre in pairs(technology.prerequisites) do + if pre == prerequisite then return end + end + table.insert(technology.prerequisites, prerequisite) + else + technology.prerequisites = {prerequisite} + end + end +end + +-- Remove a prerequisite from a given technology +function util.remove_prerequisite(technology_name, prerequisite) + local technology = data.raw.technology[technology_name] + local index = -1 + if technology then + for i, prereq in pairs(technology.prerequisites) do + if prereq == prerequisite then + index = i + break + end + end + if index > -1 then + table.remove(technology.prerequisites, index) + end + end +end + + +-- Add an effect to a given technology +function util.add_effect(technology_name, effect) + local technology = data.raw.technology[technology_name] + if technology then + if not technology.effects then technology.effects = {} end + if effect and effect.type == "unlock-recipe" then + if not data.raw.recipe[effect.recipe] then + return + end + table.insert(technology.effects, effect) + end + end +end + +-- Add an effect to a given technology to unlock recipe +function util.add_unlock(technology_name, recipe) + util.add_effect(technology_name, {type="unlock-recipe", recipe=recipe}) +end + +-- remove recipe unlock effect from a given technology, multiple times if necessary +function util.remove_recipe_effect(technology_name, recipe_name) + local technology = data.raw.technology[technology_name] + local index = -1 + local cnt = 0 + if technology and technology.effects then + for i, effect in pairs(technology.effects) do + if effect.type == "unlock-recipe" and effect.recipe == recipe_name then + index = i + cnt = cnt + 1 + end + end + if index > -1 then + table.remove(technology.effects, index) + if cnt > 1 then -- not over yet, do it again + util.remove_recipe_effect(technology_name, recipe_name) + end + end + end +end + +-- Set technology ingredients +function util.set_tech_recipe(technology_name, ingredients) + local technology = data.raw.technology[technology_name] + if technology then + technology.unit.ingredients = ingredients + end +end + +function util.set_enabled(recipe_name, enabled) + if data.raw.recipe[recipe_name] then + if data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].normal.enabled = enabled end + if data.raw.recipe[recipe_name].expensive then data.raw.recipe[recipe_name].expensive.enabled = enabled end + if not data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].enabled = enabled end + end +end + +function util.set_hidden(recipe_name) + if data.raw.recipe[recipe_name] then + if data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].normal.hidden = true end + if data.raw.recipe[recipe_name].expensive then data.raw.recipe[recipe_name].expensive.hidden = true end + if not data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].hidden = true end + end +end + +-- Add a given quantity of ingredient to a given recipe +function util.add_or_add_to_ingredient(recipe_name, ingredient, quantity, options) + if not should_force(options) and bypass(recipe_name) then return end + if data.raw.recipe[recipe_name] and data.raw.item[ingredient] then + me.add_modified(recipe_name) + add_or_add_to_ingredient(data.raw.recipe[recipe_name], ingredient, quantity) + add_or_add_to_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity) + add_or_add_to_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity) + end +end + +function add_or_add_to_ingredient(recipe, ingredient, quantity) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if existing[1] == ingredient or existing.name == ingredient then + add_to_ingredient(recipe, ingredient, quantity) + return + end + end + table.insert(recipe.ingredients, {ingredient, quantity}) + end +end + +-- Add a given quantity of ingredient to a given recipe +function util.add_ingredient(recipe_name, ingredient, quantity, options) + if not should_force(options) and bypass(recipe_name) then return end + local is_fluid = not not data.raw.fluid[ingredient] + if data.raw.recipe[recipe_name] and (data.raw.item[ingredient] or is_fluid) then + me.add_modified(recipe_name) + add_ingredient(data.raw.recipe[recipe_name], ingredient, quantity, is_fluid) + add_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity, is_fluid) + add_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity, is_fluid) + end +end + +function add_ingredient(recipe, ingredient, quantity, is_fluid) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if existing[1] == ingredient or existing.name == ingredient then + return + end + end + if is_fluid then + table.insert(recipe.ingredients, {type="fluid", name=ingredient, amount=quantity}) + else + table.insert(recipe.ingredients, {ingredient, quantity}) + end + end +end + +-- Add a given ingredient prototype to a given recipe +function util.add_ingredient_raw(recipe_name, ingredient, options) + if not should_force(options) and bypass(recipe_name) then return end + if data.raw.recipe[recipe_name] and (data.raw.item[ingredient.name] or data.raw.item[ingredient[1]]) then + me.add_modified(recipe_name) + add_ingredient_raw(data.raw.recipe[recipe_name], ingredient) + add_ingredient_raw(data.raw.recipe[recipe_name].normal, ingredient) + add_ingredient_raw(data.raw.recipe[recipe_name].expensive, ingredient) + end +end + +function add_ingredient_raw(recipe, ingredient) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if ( + (existing[1] and (existing[1] == ingredient[1] or existing[1] == ingredient.name)) or + (existing.name and (existing.name == ingredient[1] or existing.name == ingredient.name)) + ) then + return + end + end + table.insert(recipe.ingredients, ingredient) + end +end + +-- Set an ingredient to a given quantity +function util.set_ingredient(recipe_name, ingredient, quantity, options) + if not should_force(options) and bypass(recipe_name) then return end + if data.raw.recipe[recipe_name] and data.raw.item[ingredient] then + me.add_modified(recipe_name) + set_ingredient(data.raw.recipe[recipe_name], ingredient, quantity) + set_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity) + set_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity) + end +end + +function set_ingredient(recipe, ingredient, quantity) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if existing[1] == ingredient then + existing[2] = quantity + return + elseif existing.name == ingredient then + existing.amount = quantity + existing.amount_min = nil + existing.amount_max = nil + return + end + end + table.insert(recipe.ingredients, {ingredient, quantity}) + end +end +-- Add a given quantity of product to a given recipe. +-- Only works for recipes with multiple products +function util.add_product(recipe_name, product, options) + if not should_force(options) and bypass(recipe_name) then return end + if data.raw.recipe[recipe_name] and + (data.raw.item[product[1]] or data.raw.item[product.name] or + data.raw.fluid[product[1]] or data.raw.fluid[product.name] + ) then + add_product(data.raw.recipe[recipe_name], product) + add_product(data.raw.recipe[recipe_name].normal, product) + add_product(data.raw.recipe[recipe_name].expensive, product) + end +end + +function add_product(recipe, product) + if recipe ~= nil then + if not recipe.normal then + if recipe.results == nil then + recipe.results = {{recipe.result, recipe.result_count and recipe.result_count or 1}} + end + recipe.result = nil + recipe.result_count = nil + table.insert(recipe.results, product) + end + end +end + +-- Get the amount of the ingredient, will check base/normal not expensive +function util.get_ingredient_amount(recipe_name, ingredient_name) + local recipe = data.raw.recipe[recipe_name] + if recipe then + if recipe.normal and recipe.normal.ingredients then + for i, ingredient in pairs(recipe.normal.ingredients) do + if ingredient[1] == ingredient_name then return ingredient[2] end + if ingredient.name == ingredient_name then return ingredient.amount end + end + elseif recipe.ingredients then + for i, ingredient in pairs(recipe.ingredients) do + if ingredient[1] == ingredient_name then return ingredient[2] end + if ingredient.name == ingredient_name then return ingredient.amount end + end + end + return 1 + end + return 0 +end + +-- Get the amount of the result, will check base/normal not expensive +function util.get_amount(recipe_name, product) + if not product then product = recipe_name end + local recipe = data.raw.recipe[recipe_name] + if recipe then + if recipe.normal and recipe.normal.results then + for i, result in pairs(recipe.normal.results) do + if result[1] == product then return result[2] end + if result.name == product then return result.amount end + end + elseif recipe.normal and recipe.normal.result_count then + return recipe.normal.result_count + elseif recipe.results then + for i, result in pairs(recipe.results) do + if result[1] == product then return result[2] end + if result.name == product then return result.amount end + end + elseif recipe.result_count then + return recipe.result_count + end + return 1 + end + return 0 +end + +-- Replace one ingredient with another in a recipe +-- Use amount to set an amount. If that amount is a multiplier instead of an exact amount, set multiply true. +function util.replace_ingredient(recipe_name, old, new, amount, multiply, options) + if not should_force(options) and bypass(recipe_name) then return end + if data.raw.recipe[recipe_name] and (data.raw.item[new] or data.raw.fluid[new]) then + me.add_modified(recipe_name) + replace_ingredient(data.raw.recipe[recipe_name], old, new, amount, multiply) + replace_ingredient(data.raw.recipe[recipe_name].normal, old, new, amount, multiply) + replace_ingredient(data.raw.recipe[recipe_name].expensive, old, new, amount, multiply) + end +end + +function replace_ingredient(recipe, old, new, amount, multiply) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if existing[1] == new or existing.name == new then + return + end + end + for i, ingredient in pairs(recipe.ingredients) do + if ingredient.name == old then + ingredient.name = new + if amount then + if multiply then + ingredient.amount = amount * ingredient.amount + else + ingredient.amount = amount + end + end + end + if ingredient[1] == old then + ingredient[1] = new + if amount then + if multiply then + ingredient[2] = amount * ingredient[2] + else + ingredient[2] = amount + end + end + end + end + end +end + +-- Remove an ingredient from a recipe +function util.remove_ingredient(recipe_name, old, options) + if not should_force(options) and bypass(recipe_name) then return end + if data.raw.recipe[recipe_name] then + me.add_modified(recipe_name) + remove_ingredient(data.raw.recipe[recipe_name], old) + remove_ingredient(data.raw.recipe[recipe_name].normal, old) + remove_ingredient(data.raw.recipe[recipe_name].expensive, old) + end +end + +function remove_ingredient(recipe, old) + index = -1 + if recipe ~= nil and recipe.ingredients ~= nil then + for i, ingredient in pairs(recipe.ingredients) do + if ingredient.name == old or ingredient[1] == old then + index = i + break + end + end + if index > -1 then + table.remove(recipe.ingredients, index) + end + end +end + +-- Replace an amount of an ingredient in a recipe. Keep at least 1 of old. +function util.replace_some_ingredient(recipe_name, old, old_amount, new, new_amount, options) + if not should_force(options) and bypass(recipe_name) then return end + local is_fluid = not not data.raw.fluid[new] + if data.raw.recipe[recipe_name] and (data.raw.item[new] or is_fluid) then + me.add_modified(recipe_name) + replace_some_ingredient(data.raw.recipe[recipe_name], old, old_amount, new, new_amount, is_fluid) + replace_some_ingredient(data.raw.recipe[recipe_name].normal, old, old_amount, new, new_amount, is_fluid) + replace_some_ingredient(data.raw.recipe[recipe_name].expensive, old, old_amount, new, new_amount, is_fluid) + end +end + +function replace_some_ingredient(recipe, old, old_amount, new, new_amount, is_fluid) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if existing[1] == new or existing.name == new then + return + end + end + for i, ingredient in pairs(recipe.ingredients) do + if ingredient.name == old then + ingredient.amount = math.max(1, ingredient.amount - old_amount) + end + if ingredient[1] == old then + ingredient[2] = math.max(1, ingredient[2] - old_amount) + end + end + add_ingredient(recipe, new, new_amount, is_fluid) + end +end + +-- set the amount of a product. +function util.set_product_amount(recipe_name, product, amount, options) + if not should_force(options) and bypass(recipe_name) then return end + me.add_modified(recipe_name) + if data.raw.recipe[recipe_name] then + set_product_amount(data.raw.recipe[recipe_name], product, amount) + set_product_amount(data.raw.recipe[recipe_name].normal, product, amount) + set_product_amount(data.raw.recipe[recipe_name].expensive, product, amount) + end +end + +function set_product_amount(recipe, product, amount) + if recipe then + if recipe.result_count then + recipe.result_count = amount + end + if recipe.results then + for i, result in pairs(recipe.results) do + if result.name == product then + if result.amount then + result.amount = amount + end + if result.amount_min ~= nil then + result.amount_min = nil + result.amount_max = nil + result.amount = amount + end + end + if result[1] == product then + result[2] = amount + end + end + end + if not recipe.results and not recipe.result_count then + -- implicit one item result + recipe.result_count = amount + end + end +end + +-- multiply the cost, energy, and results of a recipe by a multiple +function util.multiply_recipe(recipe_name, multiple, options) + if not should_force(options) and bypass(recipe_name) then return end + me.add_modified(recipe_name) + if data.raw.recipe[recipe_name] then + multiply_recipe(data.raw.recipe[recipe_name], multiple) + multiply_recipe(data.raw.recipe[recipe_name].normal, multiple) + multiply_recipe(data.raw.recipe[recipe_name].expensive, multiple) + end +end + +function multiply_recipe(recipe, multiple) + if recipe then + if recipe.energy_required then + recipe.energy_required = recipe.energy_required * multiple + end + if recipe.result_count then + recipe.result_count = recipe.result_count * multiple + end + if recipe.results then + for i, result in pairs(recipe.results) do + if result.name then + if result.amount then + result.amount = result.amount * multiple + end + if result.amount_min ~= nil then + result.amount_min = result.amount_min * multiple + result.amount_max = result.amount_max * multiple + end + if result.catalyst_amount then + result.catalyst_amount = result.catalyst_amount * multiple + end + end + if result[1] then + result[2] = result[2] * multiple + end + end + end + if not recipe.results and not recipe.result_count then + -- implicit one item result + recipe.result_count = multiple + end + if recipe.ingredients then + for i, ingredient in pairs(recipe.ingredients) do + if ingredient.name then + ingredient.amount = ingredient.amount * multiple + end + if ingredient[1] then + ingredient[2] = ingredient[2] * multiple + end + end + end + end +end + +-- Returns true if a recipe has an ingredient +function util.has_ingredient(recipe_name, ingredient) + return data.raw.recipe[recipe_name] and ( + has_ingredient(data.raw.recipe[recipe_name], ingredient) or + has_ingredient(data.raw.recipe[recipe_name].normal, ingredient)) +end + +function has_ingredient(recipe, ingredient) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if existing[1] == ingredient or existing.name == ingredient then + return true + end + end + end + return false +end + +-- Remove a product from a recipe, WILL NOT remove the only product +function util.remove_product(recipe_name, old, options) + if not should_force(options) and bypass(recipe_name) then return end + me.add_modified(recipe_name) + if data.raw.recipe[recipe_name] then + remove_product(data.raw.recipe[recipe_name], old) + remove_product(data.raw.recipe[recipe_name].normal, old) + remove_product(data.raw.recipe[recipe_name].expensive, old) + end +end + +function remove_product(recipe, old) + index = -1 + if recipe ~= nil and recipe.results ~= nil then + for i, result in pairs(recipe.results) do + if result.name == old or result[1] == old then + index = i + break + end + end + if index > -1 then + table.remove(recipe.results, index) + end + end +end + +function util.set_main_product(recipe_name, product, options) + if not should_force(options) and bypass(recipe_name) then return end + if data.raw.recipe[recipe_name] then + set_main_product(data.raw.recipe[recipe_name], product) + set_main_product(data.raw.recipe[recipe_name].normal, product) + set_main_product(data.raw.recipe[recipe_name].expensive, product) + end +end + +function set_main_product(recipe, product) + if recipe then + recipe.main_product = product + end +end + +-- Replace one product with another in a recipe +function util.replace_product(recipe_name, old, new, options) + if not should_force(options) and bypass(recipe_name) then return end + if data.raw.recipe[recipe_name] then + replace_product(data.raw.recipe[recipe_name], old, new) + replace_product(data.raw.recipe[recipe_name].normal, old, new) + replace_product(data.raw.recipe[recipe_name].expensive, old, new) + end +end + +function replace_product(recipe, old, new) + if recipe then + if recipe.main_product == old then + recipe.main_product = new + end + if recipe.result == old then + recipe.result = new + return + end + if recipe.results then + for i, result in pairs(recipe.results) do + if result.name == old then result.name = new end + if result[1] == old then result[1] = new end + end + end + end +end + +-- Remove an element of type t and name from data.raw +function util.remove_raw(t, name) + if not data.raw[t] then + log(t.." not found in data.raw") + return + end + if data.raw[t][name] then + for i, elem in pairs(data.raw[t]) do + if elem.name == name then + data.raw[t][i] = nil + break + end + end + end +end + +-- Set energy required +function util.set_recipe_time(recipe_name, time, options) + if not should_force(options) and bypass(recipe_name) then return end + me.add_modified(recipe_name) + if data.raw.recipe[recipe_name] then + set_recipe_time(data.raw.recipe[recipe_name], time) + set_recipe_time(data.raw.recipe[recipe_name].normal, time) + set_recipe_time(data.raw.recipe[recipe_name].expensive, time) + end +end + +function set_recipe_time(recipe, time) + if recipe then + if recipe.energy_required then + recipe.energy_required = time + end + end +end + +-- Multiply energy required +function util.multiply_time(recipe_name, factor, options) + if not should_force(options) and bypass(recipe_name) then return end + me.add_modified(recipe_name) + if data.raw.recipe[recipe_name] then + multiply_time(data.raw.recipe[recipe_name], factor) + multiply_time(data.raw.recipe[recipe_name].normal, factor) + multiply_time(data.raw.recipe[recipe_name].expensive, factor) + end +end + +function multiply_time(recipe, factor) + if recipe then + if recipe.energy_required then + recipe.energy_required = recipe.energy_required * factor + end + end +end + +-- Add to energy required +function util.add_time(recipe_name, amount, options) + if not should_force(options) and bypass(recipe_name) then return end + me.add_modified(recipe_name) + if data.raw.recipe[recipe_name] then + add_time(data.raw.recipe[recipe_name], amount) + add_time(data.raw.recipe[recipe_name].normal, amount) + add_time(data.raw.recipe[recipe_name].expensive, amount) + end +end + +function add_time(recipe, amount) + if recipe then + if recipe.energy_required then + recipe.energy_required = recipe.energy_required + amount + end + end +end + +-- Set recipe category +function util.set_category(recipe_name, category, options) + if not should_force(options) and bypass(recipe_name) then return end + if data.raw.recipe[recipe_name] and data.raw["recipe-category"][category] then + me.add_modified(recipe_name) + data.raw.recipe[recipe_name].category = category + end +end + +-- Set recipe subgroup +function util.set_subgroup(recipe_name, subgroup, options) + if not should_force(options) and bypass(recipe_name) then return end + if data.raw.recipe[recipe_name] then + me.add_modified(recipe_name) + data.raw.recipe[recipe_name].subgroup = subgroup + end +end + +-- Set item subgroup +function util.set_item_subgroup(item, subgroup, options) + if not should_force(options) and bypass(item) then return end -- imperfect, close enough for now? + if data.raw.item[item] and data.raw["item-subgroup"][subgroup] then + data.raw.item[item].subgroup = subgroup + end +end + +-- Set recipe icons +function util.set_icons(recipe_name, icons, options) + if not should_force(options) and bypass(recipe_name) then return end + if data.raw.recipe[recipe_name] then + me.add_modified(recipe_name) + data.raw.recipe[recipe_name].icons = icons + data.raw.recipe[recipe_name].icon = nil + data.raw.recipe[recipe_name].icon_size = nil + end +end + +-- Set recipe icons +function util.set_item_icons(item_name, icons) + if data.raw.item[item_name] then + data.raw.item[item_name].icons = icons + data.raw.item[item_name].icon = nil + data.raw.item[item_name].icon_size = nil + end +end + +function util.set_to_founding(recipe, options) + util.set_category(recipe, "founding", options) + util.set_subgroup(recipe, "foundry-intermediate", options) +end + +-- Add crafting category to an entity +function util.add_crafting_category(entity_type, entity, category) + if data.raw[entity_type][entity] and data.raw["recipe-category"][category] then + for i, existing in pairs(data.raw[entity_type][entity].crafting_categories) do + if existing == category then + return + end + end + table.insert(data.raw[entity_type][entity].crafting_categories, category) + end +end + +function util.add_to_ingredient(recipe, ingredient, amount) + if data.raw.recipe[recipe] then + add_to_ingredient(data.raw.recipe[recipe], ingredient, amount) + add_to_ingredient(data.raw.recipe[recipe].normal, ingredient, amount) + add_to_ingredient(data.raw.recipe[recipe].expensive, ingredient, amount) + end +end + +function add_to_ingredient(recipe, it, amount) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, ingredient in pairs(recipe.ingredients) do + if ingredient.name == it then + ingredient.amount = ingredient.amount + amount + return + end + if ingredient[1] == it then + ingredient[2] = ingredient[2] + amount + return + end + end + end +end + +function util.add_to_product(recipe_name, product, amount, options) + if not should_force(options) and bypass(recipe_name) then return end + if data.raw.recipe[recipe_name] then + add_to_product(data.raw.recipe[recipe_name], product, amount) + add_to_product(data.raw.recipe[recipe_name].normal, product, amount) + add_to_product(data.raw.recipe[recipe_name].expensive, product, amount) + end +end + +function add_to_product(recipe, product, amount) + if recipe ~= nil and recipe.results ~= nil then + if recipe.result == product then + recipe.result_count = recipe.result_count + amount + return + end + for i, result in pairs(recipe.results) do + if result.name == product then + result.amount = result.amount + amount + return + end + if result[1] == product then + result[2] = result[2] + amount + return + end + end + end +end + +-- Adds a result to a mineable type +function util.add_minable_result(t, name, result) + if data.raw[t] and data.raw[t][name] and data.raw[t][name].minable then + if data.raw[t][name].minable.result and not data.raw[t][name].minable.results then + data.raw[t][name].minable.results = { + {data.raw[t][name].minable.result ,data.raw[t][name].minable.count}} + data.raw[t][name].minable.result = nil + data.raw[t][name].minable.result_count = nil + end + if data.raw[t][name].minable.results then + table.insert(data.raw[t][name].minable.results, result) + end + end +end + + +local function insert(nodes, node, value) + table.insert(node, value) -- store as parameter + if 21 == #node then + node = {""} + table.insert(nodes, node) + end + return node +end + +local function encode(data) + local node = {""} + local root = {node} + local n = string.len(data) + for i = 1,n,200 do + local value = string.sub(data, i, i+199) + node = insert(root, node, value) + end + while #root > 20 do + local nodes,node = {},{""} + for _, value in ipairs(root) do + node = insert(nodes, node, value) + end + root = nodes + end + if #root == 1 then root = root[1] else + table.insert(root, 1, "") -- no locale template + end + return #root < 3 and (root[2] or "") or root +end + +function decode(data) + if type(data) == "string" then return data end + local str = {} + for i = 2, #data do + str[i-1] = decode(data[i]) + end + return table.concat(str, "") +end + +function util.create_list() + if #me.list>0 then + if not data.raw.item[me.name.."-list"] then + data:extend({{ + type="item", + name=me.name.."-list", + localised_description = "", + enabled=false, + icon = "__core__/graphics/empty.png", + icon_size = 1, + stack_size = 1, + flags = {"hidden", "hide-from-bonus-gui"} + }}) + end + + local have = {} + local list = {} + for i, recipe in pairs(me.list) do + if not have[recipe] then + have[recipe] = true + table.insert(list, recipe) + end + end + + if #list>0 then + data.raw.item[me.name.."-list"].localised_description = + encode(decode(data.raw.item[me.name.."-list"].localised_description).."\n"..table.concat(list, "\n")) + end + end +end + +function util.remove_prior_unlocks(tech, recipe) + if data.raw.technology[tech].prerequisites then + for i, prerequisite in pairs(data.raw.technology[tech].prerequisites) do + remove_prior_unlocks(prerequisite, recipe) + end + end +end + +function remove_prior_unlocks(tech, recipe) + local technology = data.raw.technology[tech] + if technology then + util.remove_recipe_effect(tech, recipe) + if technology.prerequisites then + for i, prerequisite in pairs(technology.prerequisites) do + -- log("BZZZ removing prior unlocks for " .. tech ..", checking " .. prerequisite) -- Handy Debug :| + remove_prior_unlocks(prerequisite, recipe) + end + end + end +end + +function util.replace_ingredients_prior_to(tech, old, new, multiplier) + if not data.raw.technology[tech] then + log("Not replacing ingredient "..old.." with "..new.." because tech "..tech.." was not found") + return + end + util.remove_prior_unlocks(tech, old) + for i, recipe in pairs(data.raw.recipe) do + if (recipe.enabled and recipe.enabled ~= 'false') + and (not recipe.hidden or recipe.hidden == 'true') -- probably don't want to change hidden recipes + and string.sub(recipe.name, 1, 3) ~= 'se-' -- have to exlude SE in general :( + then + -- log("BZZZ due to 'enabled' replacing " .. old .. " with " .. new .." in " .. recipe.name) -- Handy Debug :| + util.replace_ingredient(recipe.name, old, new, multiplier, true) + end + end + if data.raw.technology[tech].prerequisites then + for i, prerequisite in pairs(data.raw.technology[tech].prerequisites) do + replace_ingredients_prior_to(prerequisite, old, new, multiplier) + end + end +end + +function replace_ingredients_prior_to(tech, old, new, multiplier) + local technology = data.raw.technology[tech] + if technology then + if technology.effects then + for i, effect in pairs(technology.effects) do + if effect.type == "unlock-recipe" then + -- log("BZZZ replacing " .. old .. " with " .. new .." in " .. effect.recipe) -- Handy Debug :| + util.replace_ingredient(effect.recipe, old, new, multiplier, true) + end + end + end + if technology.prerequisites then + for i, prerequisite in pairs(technology.prerequisites) do + -- log("BZZZ checking " .. prerequisite) -- Handy Debug :| + replace_ingredients_prior_to(prerequisite, old, new, multiplier) + end + end + end +end + +function util.remove_all_recipe_effects(recipe_name) + for name, _ in pairs(data.raw.technology) do + util.remove_recipe_effect(name, recipe_name) + end +end + +function util.add_unlock_force(technology_name, recipe) + util.set_enabled(recipe, false) + util.remove_all_recipe_effects(recipe) + util.add_unlock(technology_name, recipe) +end + +-- sum the products of a recipe +function util.sum_products(recipe_name) + -- this is going to end up approximate in some cases, integer division is probs fine + if data.raw.recipe[recipe_name] then + local recipe = data.raw.recipe[recipe_name] + if not recipe.results then return recipe.result_count end + local sum = 0 + for i, result in pairs(recipe.results) do + local amt = 0 + if result[2] then amt = result[2] + elseif result.amount then amt = result.amount + elseif result.amount_min then amt = (result.amount_min + result.amount_max)/2 + end + if result.probability then amt = amt * result.probability end + sum = sum + amt + end + return sum + end + return 0 +end + +function util.set_vtk_dcm_ingredients() + if mods["vtk-deep-core-mining"] then + local sum = util.sum_products("vtk-deepcore-mining-ore-chunk-refining") + log("setting vtk deepcore based on " .. serpent.dump(sum) .. " to " ..serpent.dump(sum*0.8)) + util.set_ingredient("vtk-deepcore-mining-ore-chunk-refining", "vtk-deepcore-mining-ore-chunk", sum * 0.8) + local sum = 1+util.sum_products("vtk-deepcore-mining-ore-chunk-refining-no-uranium") + log("setting vtk deepcore no uranium to " .. serpent.dump(sum)) + util.set_ingredient("vtk-deepcore-mining-ore-chunk-refining-no-uranium", "vtk-deepcore-mining-ore-chunk", sum) + end +end + +return util diff --git a/data.lua b/data.lua new file mode 100644 index 0000000..0ebc99d --- /dev/null +++ b/data.lua @@ -0,0 +1,10 @@ +require("prototypes/salt") + +local util = require("data-util"); + +if util.se6() then + -- se_delivery_cannon_recipes["salt"] = {name="salt"} +end + +-- Must be last +util.create_list() diff --git a/info.json b/info.json new file mode 100644 index 0000000..fd53c48 --- /dev/null +++ b/info.json @@ -0,0 +1,29 @@ +{ + "name": "bzchlorine", + "version": "0.0.9", + "factorio_version": "1.1", + "title": "Salt & Chlorine", + "author": "Brevven", + "contact": "", + "homepage": "", + "dependencies": [ + "base >= 1.1.0", + "? bzfoundry >= 0.2.1", + "? bztitanium >= 1.2.0", + "? bzlead >= 1.2.0", + "? bzzirconium >= 0.6.0", + "? bztungsten >= 0.6.0", + "? bzcarbon >= 0.5.5", + "? bztin >= 0.1.8", + "? bzgas", + "? space-exploration >= 0.5.100", + "? aai-industry", + "(?) aai-loaders", + "? Krastorio2", + "? bobelectronics", + "? MDbobelectronics", + "? deadlock-beltboxes-loaders", + "? DeadlockCrating" + ], + "description": "Adds salt, chlorine and more to the base game. Reworks advanced circuit production.\n\nCompatible with Krastorio 2 and Space Exploration. A standalone piece of BZ Mods." +} diff --git a/map-gen-preset-updates.lua b/map-gen-preset-updates.lua new file mode 100644 index 0000000..5ad015b --- /dev/null +++ b/map-gen-preset-updates.lua @@ -0,0 +1,10 @@ +if data.raw["autoplace-control"]["gold-ore"] and data.raw["map-gen-presets"] and data.raw["map-gen-presets"].default then + for name, preset in pairs(data.raw["map-gen-presets"].default) do + if type(preset) == "table" and + preset.basic_settings and + preset.basic_settings.autoplace_controls and + preset.basic_settings.autoplace_controls["iron-ore"] then + preset.basic_settings.autoplace_controls["gold-ore"] = preset.basic_settings.autoplace_controls["iron-ore"] + end + end +end diff --git a/me.lua b/me.lua new file mode 100644 index 0000000..b8c27c6 --- /dev/null +++ b/me.lua @@ -0,0 +1,51 @@ +local me = {} + +me.name = "bzchlorine" +me.list = {} + +function me.starting_patch() + return ( + me.get_setting("bzchlorine-early-salt") == "mining" or + me.get_setting("bzchlorine-early-salt") == "both" + ) +end + +function me.early_assemblers() + return ( + me.get_setting("bzchlorine-early-salt") == "assembler" or + me.get_setting("bzchlorine-early-salt") == "both" or + (not me.salt()) + ) +end + +function me.more() + if me.get_setting("bz-all-intermediates") then return true end + return me.get_setting("bzchlorine-more-intermediates") == "yes" +end + +function me.salt() + return me.get_setting("bzchlorine-salt") +end + +function me.get_setting(name) + if settings.startup[name] == nil then + return nil + end + return settings.startup[name].value +end + +me.bypass = {} +if me.get_setting(me.name.."-recipe-bypass") then + for recipe in string.gmatch(me.get_setting(me.name.."-recipe-bypass"), '[^",%s]+') do + me.bypass[recipe] = true + end +end + +function me.add_modified(name) + if me.get_setting(me.name.."-list") then + table.insert(me.list, name) + end +end + + +return me diff --git a/modules.lua b/modules.lua new file mode 100644 index 0000000..8509695 --- /dev/null +++ b/modules.lua @@ -0,0 +1,19 @@ +-- Enable prod modules for some recipes +-- Recipes with very specific ratios are deliberately excluded +recipes = {} +if mods["Krastorio2"] then +end + +for i, recipe in pairs(recipes) do + if data.raw.recipe[recipe] then + for j, module in pairs(data.raw.module) do + if module.effect then + for effect_name, effect in pairs(module.effect) do + if effect_name == "productivity" and effect.bonus > 0 and module.limitation and #module.limitation > 0 then + table.insert(module.limitation, recipe) + end + end + end + end + end +end diff --git a/settings.lua b/settings.lua new file mode 100644 index 0000000..098f21c --- /dev/null +++ b/settings.lua @@ -0,0 +1,40 @@ +data:extend({ + { + type = "string-setting", + name = "bzchlorine-recipe-bypass", + setting_type = "startup", + default_value = "", + allow_blank = true, + order = "a", + }, + { + type = "bool-setting", + name = "bzchlorine-list", + setting_type = "startup", + default_value = false, + order = "b", + }, + { + type = "bool-setting", + name = "bzchlorine-salt", + setting_type = "startup", + default_value = true, + order = "c1", + }, + { + type = "string-setting", + name = "bzchlorine-early-salt", + setting_type = "startup", + default_value = "assembler", + allowed_values = {"assembler", "mining", "both"}, + order = "c2", + }, + { + type = "string-setting", + name = "bzchlorine-more-intermediates", + setting_type = "startup", + default_value = "yes", + allowed_values = {"yes", "no"}, + order = "d", + }, +}) diff --git a/stacking.lua b/stacking.lua new file mode 100644 index 0000000..e68a273 --- /dev/null +++ b/stacking.lua @@ -0,0 +1,23 @@ +-- Deadlock stacking recipes + +local util = require("data-util"); + +if deadlock then + deadlock.add_stack("salt", nil, "deadlock-stacking-2", 64) + deadlock.add_stack("pcb-substrate", nil, "deadlock-stacking-2", 128) + deadlock.add_stack("pcb", nil, "deadlock-stacking-2", 128) + if data.raw.item["ferric-chloride"] then + deadlock.add_stack("ferric-chloride", nil, "deadlock-stacking-2", 128) + end +end + +-- Deadlock crating recipes +if deadlock_crating then + deadlock_crating.add_crate("salt", "deadlock-crating-2") + deadlock_crating.add_crate("pcb-substrate", "deadlock-crating-2") + deadlock_crating.add_crate("pcb", "deadlock-crating-2") + if data.raw.item["ferric-chloride"] then + deadlock_crating.add_crate("ferric-chloride", "deadlock-crating-2") + end +end + diff --git a/thumbnail.png b/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..957ccf987373c216d39c0dc70155b8a118e63c24 GIT binary patch literal 29214 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 FV1fXu#LWNz literal 0 HcmV?d00001 diff --git a/thumbnail.xcf b/thumbnail.xcf new file mode 100644 index 0000000000000000000000000000000000000000..e53e0d06da2abcca7ac0af75e520033ea4e9c6b7 GIT binary patch literal 106572 zcmd?Sdwi2so z`!(?7JkNQ~{d~^*^Esc-=cJpqY<;g{_lCDBKAbmyKEdbs;6?BM30D~|4hLW5xC$RY z6us~ngDVf$&v1+u% z$?)Re%5eAGYokR6den6juxZDZH-`qF%=lpEo_9A^pq*RZoLM~MtxX%Yzq@@$#f)4q zd&j0X)>q7%GcWh~D>s;{+-D}TzVTPG4!y7V+cz}p?hoEuzX7vdF@LBoMDF=(k%Muw zcVRp$wrtz5dE*B(|Ms`u`e5VEs|}>N|7+Ah%y+ZWak%coT{ZAfv|}JFe`z2bzhNMp zR5%b$xqTp9IQU-IJ@EXUZ@PNuVgQkoq6ao(ShsB3NK+KxqN|0)brZe6_W-`JqHxjp zT!z7W1Z3KE_mi)?FTU=+;=23c*WH&~cVBwl{Ycyoc80u%`(cCcX!*Ac-XkD4(|Z;l zgwwCPA6oGf5rwE@_2ma! zezFnKixw?dh`6EQy?ZV#dBuMY2CJP0!l0E_OuK)_mi6yetla+Yn?rH4X@M2Xh6s8f zVJ>ojV&2=nW!p|lZ0on}MBXjyKd9J~BffXnZ`-sB=u-D6`|jCWx4*fu;;k*a zH`29ABYsSwsAB%2g>x1UEX0B6%^SCD+Pt%3!TdQ3a`A(ybF1b(WPg`-WHUNM7hSF! zn7->j1(?&TpCLk~w24o_{R3gqAn_NyHSnDK9!g8oZ5fCk);JIrJw6Z;vOoX8wTm;8 z#HW02>c9NkmpKf{8u-IVR{n?ENcf2;tNNFVcJ_Dqgbc>sO44J4fi(ErzQTQ1Trlf}&2P?r1;x01{^mpS?5%J6cA7#zWW*(+pUBt-s)TS#U!+fhvV z4D2g}Y~#b|_|OOhh>VBB=}H#AO)IKFluE}h?JL9xl7e|013yZQpvHL|Pn zNMiVvuW0M8dy$@(^xTDp7k9D%lj~mHM*7!<(#i`L{p{&n|F346K@t=HSsnA$J<6ry zay5QG=e}#hM~9L#n)dY`lC8P4jU;E*U%p&7gCW7Hug3lMTl5vx{dxr*5|mI;V+#EC zu8G97^or%sA!~36Ayr>XzW&WXGDGP6Pt|mQ<^?=Q4(sCg-9Std*91at`1;?Fko^MC zl`D^Zfsm1X7_{GhJsv=!2ekK&@hOg|JBH72JquCiGThTHG2$9_o8_V88vPD(n*_%mr)E_3W(@A!W z@&d>% z6ZWAIEPG%MVgCscePy_@m$K|BgtHNmxdk`xBcg3CVQUb+jnIH_?i@5UQ^ICL3{osY zOc&lfjc^~rZ3v%1cm(172rnU=hp-XhRD@q59D%SG1*AE+5tp#+xAO@5dxTdIb|Oq8 zY(~Ojyst$#4&mnrXO6ix_H-V=a?+o_x3c&y!m#O-^w1r5k^(lPdw=+N!frr0BS(-z zHuLSzO2=M(E@rc?7sp(EL@U}xkG}ede%lw9U46um^*u7`>LUg<`Q*r}kE7UZc-Dxk zk7aE3FJ+}yA4jv<-*QW?K9;lW?rTq(hmO0DJv4UsV1iL3Q@p=#B+H&0iUB9RQG*5~ zrxy>VDF?ay8>XykC}IpEFlE`$u%f{vV@dYz3NZ23K zfdM7`2;ol<-iz>82qz*`qxIilTr!l@x)AXO!cP#kAbb>K94!Xf7se3t9%4EW<1PaE zZ^nGQk2jSHPFdwVyKFsC`M2JB)dpKBu4`9YyM&X8!8_WGzoipQQZ06ry zD;q}GF%^W}Th7MP+L~Yd^k<*{T9?Jz&zDZ7cyNPj5=Do_v56EbRz`22$gv_af#S$) z(|E`^*%6K7D8@YF7{ksanUbFcMzgmge9t(F1tiV?RGTef=acZL$M^p7_ZCkieZ?&O z^5XtNjMsHz1kCwfGYJa#pyUYq^biG%NBt>~$ogv$>{A%2sn`#zk-Ow}Wc)TCeab@_m81`S0;>0!DXF;af>}^94SRJotk%Bk0fXYZF@245e&r?G& zqeym<472k4YYQ>EPKe1!+;%NyG%)enD#oHV4!ibir$6fCbAIErYC=8{6+I?)_)o!~b?|zz({vzg`*e z<{oH4w`};1I$+VFISX^2!Pp_8Z^?I~zrV~kZaSuP=rcsfgEHT^dxu^i9D0Y_aqEWS z_jCS)&CtO03W-0b4fUYB9)@L`3rKQ)3iO7DP&1hnzO&%-PC~vKH+*`5}S^5`}f4PVxKKeQ0^Dhr0v9V{)kel7AP-g`;|F^3~Ab#MHA<@Sp$p^{e-rI`) zNzNq^?jM#9!`q?fH0RM+F}8>!*|FHTeQ=uKWgbc4ano*w^atjzxQmbxStt$cH9nu8 z^{*I=c+_4o{9RY!I^8txF&-iJBZZR|JQVSf{@dTrBjm8(RyUfE{zn)Rqpt@dplKk4 z%Cr<1avQ$+Ims8h>YU<_MR*gvzxM#X|7R3}L(0Ct7X^yYZi)i`gz#@|_n6A?2{KwBJ3ZyEbAyH>Eb{8Cru{Ftw)Yj(dWzs_LT~fxt(b5IKrO38GQmabXxZaGLJX7Fh zNS-%4@xFX7hh)9G$3PdwHOn`z42PI>Mx| zsAxDT|FXOL%P)sdVLC8U6Sgvh^QFK0%W=cMT3h<7Oor&uh)SMjTv4|g`h(}(|!EnJ(2A&t390;-7n7pEd{efQSdnx+c}7Hg^vF~dH+DanG(+8 z(2~VVmcHKF`qZ*z%a<)*e%CB25B(rzf`NWBrR*YRF=t8iwJ#cUQ6p2Isa$e^+sgbVyZjfFnKC8uMPJm`*Z+FW zdwH$t-z?wvn}OK=MfEi`mwvhAcnh~R{ov-`3`Qpwu6lCS>c!79Eu7Zu>h;Xk=*kP1 z&V96)X-TxcxVp7ZsORsNjX<7dOx0M}C-nXE#ruI_hy?a}>u58I`9jGy~ z;L*odJ-+DG=9VRkSFK{6WFMgM*AyW4PDX1>^Q-E!OZIUanWpTrPbl+aO8Xbq zT>RCqs-N8U1-CKXv}||NQ1q{={-yHllFw-L18+4AMkf|N{=^fj7C*;)!D&oA`D){} z__P1~%TqsI%>5$!!jnuRJD9w0;iXHz`j^UA-udE-*H-2=4ip_(aOT3L3ujjR_=~si z{{qDi#P-d9__4i+}%;(%w*@fG| zttK;w{p{nPfAS9xzQX;Sb1Jj&t2g-=vvHQTG z{d<rncve5 zE%W=b+&8(GE&kpc+LHeR>_*z}jdMu*y)mJLszo0jyr_1LnoWmHr^j(mufL)$&1n;< zBA==dRk&`V_xC>a6_mvPBZmTLJGi+1UZcV`%}G%qFW z#R52pR4s-R9$b%;i%9nESRuQJu-%0$n?M+WXImm3TS!=80h><7<5AeTwng&URKy=j z&<9OAk4;A0c9%BMJ=s`raI~Gr7*kmvi@%y}pSmugGBAHMm?)SL^ z-UTG03;3gvXvpIYJ3UrB*E(Ger`O|my6qOjLei(y+f8=2%V{@hZFoKZuu3a4d#nzf z(P>#kqU%Hot6rxw>s;c+Bv#t1bsDrzi|lQ9FunL_IZ1rjYjs&Ov3MdB zk41cbw^Mm$=e*%0#XPll*F857)-#$-Bz*d+P19CSBdq@hHkk~lYIZNZk+3JGu!&5} zCA;|83^>E6r{h(`Q1|jAIL<_GgENj}44K7_A-Axp44Y0T;a}4<1Ac}X+_+}3_zu9T zoQAx|hp_GD#LmGf6te;b@eJc;o4KA|A)6ClMx+$e2V;WhDDZjA2cf93)OB z6X{Gk777N!p7^LB`|qyWB3nKNRo=e12~rvH&gK5xM73pza>zt7|L1bhLXuau-4LvakA zJIyB2@u=S|6m)m<1VX9aYPYzM%gcBo0XOn^{a&}<>GYJ4Kb^G%5||ncKE2{Wm$bXH zQ`jSJ@8S0KA=CV3zQkyD2V;p?Ea0+QbV`AsTiUJc5lI#NUQv%! zE;k#^7K_>9Fj>rYi_tKGs5aHqnXF!KG#d9=Od6ZbqTuz4L{h#$De3AF@dd(eo2ZoxlpBS5b))lLZ#knHCpTj zyU8$${AvENHkl{jwY%+hvr(f^$tB$ifm$X}s+1~?Si~19JA0&3v%_dJTkUr1Xri6_ zahF`HG3v!~y-6pQi6sh!QX-T}v~rzPrxx+Vd|{VJrL~&vHV0OLVbo10gc`llqSF}_ zQi)8b5Gs@+iA1N@YIJg`S|XJ21UijIZ|69Ma46_$T8iTYnS3_uzW^Yz0f>M++0Aeq zVKWqpU~Nx~ zo5GVT8Uy7g0>QA)19-|Vbu!`pbTAb2d0jp?;6>x}g1Q54chK%Kwrdbt<_+2IqWv0hJw}n!%DTp=rY?h28U@8Nk1=;Sr~2FsBz@bh^Mye)ONFUGtg)q zMWbCji^D8EMA4{C>yO6b!B{Np^SK<#(>v!5pwZ5|2GJ<)(_Pp&Z57bS2Q*6fmDRhK zTty?Nv?_;2Dxgs!qOX04qEQ5B6u09hGjjlsut<`LK|D&PDIUS=AX9+rMv6=RJT{dC z`T(0U2q)%{33!f0&oWr`NJj(wACp5TH~?k{*Os&)91iJ!-c)@jo9)G}(Qjj$e96=JccqWc<0QAQH0=x{F zH2hAP!ESYWoOU10;PeI@Znw|tcDemt!~mh{12GJuJIThAU^OlQzq_lOFOcf2HnS7C zJd8U6RCN11K99=>)B!@BG5g|aItMu*j|H5Pu8s}?Pu#}q?Uk#sz)&H;$?mea091Cy z!CC+|N^jWj3k1S3bUqnyX(c`44w0x+Boef?@w=5qt;J}wJB(Hfx@fhz%{B^abDMg_ z29qlgjYp$?r^TXG@cCUp0-jJR=l2MC5}C|oFqzFJv)yPm*~|t#MX2gpqs8NiL}FgE zQEj!F<=s6(p`@3ukaYG4`FufFw^*q+m<&3T!K~LA%s{B;8{}GhFcb~>>=vCuq0(x2 z-GXj_h=?Z>Di!toUU`Q=p|ey zDvouLaGwE08Q~b4NrxbOydK07!GDNISp01uL@bd+G!no&Uyk>(F_05*g9lz52c-vn zJ`Zr?9UrCeM8acp`suSY9En8}agPZ@=KxThb%(s+csyXS*e!MwjWBw_G$TQW!(}y_ zfn0O-jJrSVbbB#FHVcXn+AN?!yUFa(8dP{bq19`3CZkoWS1YBo1tO(Xqt|IQGO-q~ z=YJ#wCF_-Hp-itrb5}KYsYC*iTx95m997gT)QW`$b*p7FW-axYU#7MRugX2`5-7w_|V3&OyeNIPQ(hIv50ltn; zpfUn*A`=Z-gy$cf4v|VS0T9ojXoD~j5BpS?)=eBkQb8*0CxDe7r z37U23CSOt)t0$zX6+0ew^m?s{=CfF>PRLqzo85+0WU`cyKb}_G z&|&lfJ&A?`PD^ilb1Sc_x2dD66CxUgE}PzJG?;Z}z0G7anv6PBCA0!`olZCHP}pIX z@jH84dwN=Xd%GK(yV}KSxlU~`n$&t7I;l5UbVfZgO|R0XtTz!JrehclP%1ySl{umd>88 zuI~1hUNOWqr9!RND#026v}>z-r3SahhsCc~NW@aPti6NR0p#O%hqF30<7mLJv9$%mkse}q?Pdl%(yQNzMEXEKTD9}zl+9Ov>^;EP3 ze^82g#F8F_DuqlT63BYHdRn_=Qi)v8G3;mfgyk$Jc^sUi;w&Zk91gRDa5;I*B7Acg z2Db}wmu9%!JSLwlSU?y=r?`3f1;d!a`MIZl?wE&H%(`uCNy&WtNC$_B<=@d5@Hosh zYp2f3MMSw{t7EbLXn)xLTmFx+AHJNpvpK(fC-JO?phhMPCyTz`Ke*`Ej{lY_yJ%m3ESij`lBw9OWEdxkq{VOg5;1@WlgjjG;y01uNPC5wU;67rs6P#&&SX;Y z#EoPGq7!IA@n=X1nI+MWom*@Y8Hsof_e%b-;%5W#eh5@lgi0rGAVr))ya?vy4;wyP z7wL;;5{VQLC_VwLDP#(`0SsB;@G-~w($Qoxm8QbiIJBP2 z8w^i=;iwyLzw_}Y9$)*y6ZhZyz&*1jjUU65aYl#7jGs95);UY=U%Pq7TkF@CA-N98 zZ+Phaiz0jA%9U?JeIegB9?xHTE`0dHid%1-IC=J$Bi-%K*RJ5P=qd$?tZnghghwjU>@2*}t_l`LWm*4mB6Hl#OI}#bR47Xrc6xdGH zAF)&-ol5leB~o#^yH54>rQ>e9y!PWwYae_Bs@YW|kVAtemHz?z@MNkVdHTaK%zPTO zg2z-Wl}dzDkz}+lt?_#!(5VqA!_9rD6~TW0*T+hG?5kM`>Ao zss2RRr}=d$s_~(kf@iLzB9UY))sLq2Lt&6$lHbH~JA7n81Zo7uU@sm|l;-MjVQ>#$ z0qa4>|4ef_KwAPE<6k@vF{uzl2hcduAUkfkv<^BJ44y$K=|oYkvJl3ibn~}p1;!gI9y=(k zuoMOyQa?r%k6f%sP-Gha(FmIDkF>Jkn?0DE6ef|bV+b;dbQTx-NRy#*{7+^Rmns%z5z+LUdApf!z4_UhR|;$Od&uOv`!2I&5fpJvY9LzLo-saoA?Vis)|N2$rx=b zq!ZLls{veKBy&xnLxWl|Cx|Z0QI(Ecb}|4~9E+qfbSN?Q=qP$fYo$Pv!y4pDWHB}< z0I!FkN-q}I(ystu1BKI00ww{APFe<%q4AX7P;oj%8%p!y$PB}gW7;Q)XmlL(jYv93 z$bgwZfFY&*qbfM z#sH&B`KJ-;GL^hq|rux%agp`u@a~&kH_H~}j z*uHiN$p~!;C>Sy!^|{C9kjz;d4qqnXA-A^nlNYCx^oLr1a#T)g$86aj#2NELo^fm# zVtzUk6D}LSdIllO;ff7C6zdxc@fkqCUP)&l<%S{I`U2J+B;Ex*z$eMF-1dQkwHn9L zx)P--4X8zuiC`m%`Bsl0sl9XqF%mlux}yMP0AQjKI>kxsf+M~rl8C9xN=W?GNN!7! zEM*-i1JeRTfs7pi+Na}zkkg=UB+;m2J0wXn!~v);K<_cLO8r9`$1a}Q_>|kGm!HJ% z!tkN64+Om~ug+j%3?`e!Y*IleHpqnnp`f>?%V^e!dVAZ>HeIT$uROW;9jivCK8pJE zu7Dr1yy~iX7{MHO0N7bD!ooAkx8JC;B~h_lx^nmlrqSW{Ep7L)2BO6tu&b~;LyMyZC2>c z944(&D$&SgI-Oc2)9KX`d9RQs5(^|kkytBID3RH_v68hNd4O-C8Bu9QS;U3Ra{=~PN2YDW5%Tq>0*pw&Qw zRT7;_t&&>gBC$pWMM_V1ck`)|QAFF}bJ^Suu~G`HtU|32YebOr>Aqbrld1F?rA(%T zz^#zUdg`0EmJ#hk77vuxYQ0z`*F(5hqakWJGN`pGwGv~Z(5N&LsY)#EX+1h?G|{~n zbUIx+nOuvKj9MhqKv|1zj?$n*lw6^Z%d~PRfkc91V~B2rE$FkMt!k6XV#RjIqS2_# zsKj7Y>y1j2#bA)DRT7b0ajAF=`FfSb2K}_j?lM^HW|K){a;SAWtxBuYGlqx>B%#$A zlp3YBVfk2McvEN5>kW3J-DWUZv<{2ag!waJ>=inL2GpZ9spSfF&-wY|h;e3*-ej~{ z5p6VU=`PD)GHJDDwbZ21T9j(NL8TMd?w*D7ROxR9JQ+HdjWS z8T%idUZKO#$fR|a=pLL0*64 zx!J%O7P{qB(yusqS3Ysgn7O}MrNwR!1zWILm1dn@r9qe4T28!l#{`1nkR}6IOQrpS=Z58z=<=jR3l>iJkK)59E%2B`SnH!1O z5tGAa1fcb417{CE?f&JLRi z_U2|N63k}1LDJmXT-9FBm+0LtmlHr`K2VH=u&o%3Iz6USuQwX7gH?C;@Y?Dx)}K1r ziS_*ckNN6|PO*X82 zo7rZvI}H}2pbNSQUT0fRL+y#$P9?3)_LlC}+McfVhIZy+qFZAyYa~nY z8wLuh$`{VcCppHv=Jjr=p?wWy%vLBfQ|X|JGUoIdYcw+)oH^(MXI=-+yi4Q954a52 z1;8q8lsA7oz?&hNLXXd7kj4EUP`o-KT}Z^@*22kB+Mitkm#YR@ivioR0;kZ zeKkzge;{EtGmM&BanDVE6OYDW7YIY0mW=s>4ui6RL?X6rVA4jY=3)@;V@d2?V6I4l z&e2kAsGvK8DiG>5*d5&%e`!a3YZ*)i&0x}}qlp9(KtUAo2N_=m8ZIW3@VQ|dg^4xn zgU&1*_uHICJ@3qCRrOq$50tM`CJlWZ)N=u96>z#;4wu7fce$N*jS+?gpN|SHLBB&U z64jhLbMD-!r4SCZ$C1w&O~hcc2tZ%qvRfS>7`w%6)ms#Nq1fc0b_J))YV57PR9$_v z>eQQ0IW1Zln0sF@w0iyk)|OUpWT>vpWK;rU^)dlp2+rAQFsX!4Q=MtNc)srZ@jY*w zRa(^%)TeX$eO9~E3ahyhFlx|iplDJmB(mPNuI|R3riQj|UKey})#An@2M_LiUu3hk zP$peww!+QJBKp_^Z7|B;s*ac)r2NS7M3`VV# zm}NqdS|;x4<#ly6<(PE4*9l9ENFhY6B% ze$ec;x$R1=NI|=fE~peL+-X%Bl?qH+3&omREK!Ojyp|)BNv{jo?M{tUra=(~4U$0( zCkHSoU`a*ca=AEh36+2?!pvbb>-91f#1)zR zViB116K1PPuQS>ldO(xWs5aVFP(ms-S{!PrB@(C9%uxRx(sVhz{&nKK2?){BQjoGAApkytyqiU5%CF(q}dlBW* zu_S}NC3Oji8F-XSbEod9?o~i2f&``FwKgAr5nP%9+F<{fhBW~GmV0q#QFa2&=^XbPj$d;oPxIuY~= z-vQHRgN)w+77X2e&~(uVwQuv;s1@vtgjw-K~n{OGxSFm1cj18)KFQm4h? zbeX*#h-o^l&I#o^fD=e4s9pu8ZMPc0gn>~g!ezCZZ5C;JbB_WBK&a=vR*%!7Y#Gmh zAp-hrFeB>0wIPu~?9+>yTAD7j)%A+CPA3?p!)n||nKsOgdIM}+I;Bo$&};R2RTrnlR;xLSOAYImC?}4<9AeFY^uF@siB&u)S8@DgYhsD zT1_^i)rwvkEk-NWhk@VK+S%FN(aNi@IbPi^hiq#wRw5ylU0_y#+k@R_cUf)5_U5LR zE?#SAQ|qOw^JnY%N}W;F3Z~r@NCfdCRw&H@6G;H04wIeJ?bJyc+L}6>tGhee>f5R= zTu>w!=g4IA&9N-_ss=~8MBgR+lC#+hh;fVZe@6+HBofR#hX zpLJu4?4;^K4&N>#-P(=AQZsb!9M&*5J1njt4>^CeY_c%LG^-gGB*@R?q<& zQMMlY_*50KSslW4V3;BwnvJcu-3favr7N=$WNb0XH85pSBbEc+YDU<^t4LL7Rr0D2?cKe3QgnigZaDwx;rgS?RmwAzv#V8BqfVz33;Deg zp-`@nNks~!j4$fyYU6cx^-$-9Ua5rN)=*h_zUKV%#Bly5y8V_Luz^$cHnz8k1l_#? z8DA=wNa0Q(kqJb-5}s5d}l_8Z)vSNhV8ex-eOQ2wC#c($WQ{2ut&<1O65wWLJnaJ+#cN&^B7@L zz;C-)y9u2AK8;yp((jEUlq3+H2WQtmh;n3dmCmF9b5?_7j8cVME|DvgkTU32A6^(@xmaGa44nN{ zA<`-h*zjOGFNf5qRwyJIDa0{_8b&*ZUSnghrnDz#ju zkqR_&g-$GmM5gSi+BpqBUm|PSJDix;NU_m{Fa)^;J8q?1qL!&;&@HH7x>U%7f=fFW z4J#qgT8A9krdP51J|>cDR47r5s^uz`S`C6w%H<-tN_6S)+F7HZbPGp;4Pl4m=n`zd zZ<(>D8oC`7tdEe9pe2z=dZ>b9=ll`n1keD3cPIiOKB(@7gklVgE z8VNcr9j{NUAZhr_I=Rpr0gk}4!Obo3p$+)36@#bi{xt%oI5;0Tv&GCBL3Xt4D(L;lpa9J_B4`3sav8l48D2#FAC8;xGu(@@jK=S!i8(ONZT zIFwY5m`E<`utY&x@bOV=L18Mrl2=n(eX{O+Tc^Ze;Of$9`L7z=C-EV79jHJ+Fr=HGQ}|@gjN8aPzEZMKmhPc!WYW~U@@siSJ<-$3?H&D2FZc3G(pU^7-hVR_0^3v=b9VA zk4~RF)yS8~1ziB&ehD-#X*SBc1^aZ4n-p^9lhK?RWFm)}g$tSC94?HoV-Q~eD{TQ& z#9?6}9|cQ!9_-_)v`0~+ZqehM>MRw%QpxWPd;0EMri>q5HgZJCU;!oc2H8>d zFlx$2#-eezJh{I~ALYjXBi)ybBR96|i9WNMx8cU|W6R4%4b+Zyj3_BC97b!-ndo8M zobYTV-x}zH-T~(O{(dM0sQev|GRa@X`~Tyyo2O2lIBv`sTK$s~#vv>z%4MhhMb+io z|J@S?B1B+|f|VEc0&FXiG1!q(F>1$GRbM#$kN>duqwR0pSf;&i%A^Tn%1Vn1Q9qXv z!4=@AUnlzG{e3X)$NOMz0Lt{k%9~2{!4e4(jv6&%vA$4W>MzSCM8BAK^VCV>MvoZC z@60QFIe>clBmFs7CYbKorQJQ;)`@ zS`w*OdiQSI^xAWeuUI%^>IAID8^y3?#!}POu1KZzu^X0XV+&%BsDdSQ9Oe2+s3W$y!G0;Cs!_=ee>jTqeqRp|C|0)vM&BN~f8~XzAG>eKY^(2=`hLC5d#I}Ot-Kk zQ^FBaUtrp)XzRf}JL#ys_}rSuS1y}3gH}Fr620Uh>_!~(Lm50H5Ooi(O+cE(lrNN1*VKXqqx+c zfBxeSwj%rLhaP`q<=u;C-&!$o>}Y0W!`M?0oiKcG?4-+s5;?kz47rtx5KT|@*?KVsmY$wc_NjEDPv&;KfoE)?-c*? z;O-sUwrqI$xhEgIYvIo}KCyJ}%$ui996x6C=<>01|1IZSgC3$rP%yQIg9_;K1(XKA z>iOm2y}Nd7dwb*SFRgvzf#nNkMFaBFTOXY}ZOX(6*8x@TNmw{r0mb=iD@T(xk~1H_y3e z-N7Dr&UXMHgNeW*4A^DA{`_Yj{dnj5_-jIMZFuda=hr;`;5|#`&bVn(uAzx^)FJ=; zr4`es-8^H?;(H!_ZpYa_ejCBDnxMz7lmD*q7yEbb`r!TTTi@Bd@r~DhwC%hZWunZ$4DIK!{CKWP8$(HEC2T)N`nC!c$H)5o9x^6b&0hxYCH@lIsj_U_x8 zH*R?Sm6x7>=BXzhS$WT$3+K$3cH@Ndkx|SQ&;kPm3s3*QeIxn#3y(a!YVEq0U*GW7 z=C|K@_uY5id3(#IjT_d#_VP>Xo>}wcV-K%fv3$w=*)uTYU^c@+*OZlHQdhtq(+5Zg z+PrXa?ecGVW>K{@m(Sk3ag*%KPqFzI4(2Ik(TaWqQSw zNjFfDVPq+l6sVArn`9s(2#!e~#i|2arXEQU8NAJJKl$(j_uhTyVr0JU=4n$WgUZHW zk(ZW$MGcBL)JX_kpeMN~wE%6A71)a@NyNNgtbg#HI~UEnW5&%l(g% zf#R)=svW_bL+Oa-BK|L$eNRm21GO}5i*>w>DbXlMn?`S1^yyvJ6-E=S@uyU zv-r2W7K79#j|WrC4HzWVT+Jc6KIsxeyWuVpXVPDxYIr+Seh2WwG$#JEY6(S_F{4U~ z>0sqSFo9sjNjoUCAswY03d{&lOb*xpwA^GUdWH%UIccU48H-S(ib5gy9R;QwAfVG3 zxWym9ZZw#n4E)DYG)iF7mjMmgENZ8W6!KUy75?#q zcg>$sF@XwS1$p^-1x$WCFX!7*n>G8 z2C14U>d48z=ou1Wa8VcLg~}TMWQ;KUvha$s;&^|{vyb1qXx2?Pmi4GMoaE z7$kSP8;FDYDfxne@<>03a!6?AlD@H{K`1#HnuG048I&N0 z+UtC9*<8FHg`a)SB`0@LF(cPH+I%OWr#O!N@_qpu&OiiA}$5bQscyCkW`d zu3~ii2Zj_FpZJ7Jf1)14uh2q^|vsx`y2M%ND%uogJJ4LVyYWRZQwkhPR zS??U=>7WIsmOXfan2Z`YfT&@x)QI&;sah?*iCku$`nW?6S1KGhhAP(LbV8GdgF)1=WSG)=HpqVeA}B#^JP-lW%$h8P;{Ksk5m~+JYcGoFGIFI$kbVhMkZ+AndsId)dPl>4c;_F4lBtGr!^L!opREj^T z1+$bd=~7>8>=t%*wfBlpthSdYuZ4G8D*uiRmjuw~?UN-+SZ_$!SOXhx2YeEQoqS<; zPj5%t`{nox1;aoK@J9J2AOPSrKsUrsU&EPl$>No`~}{HJT;wYN5%Z>~Dm)LvhE zzPh@puIWW2;zjZ6txgWd8*8ZMk}tEs7~?>u{E9};zk6ZtUX<&J45 znHVSfO&oHWyzbD{NcIZ4Z7@k|kWIYSSugkV|=guT#fU8=ft zq4C%!4PA%ptE$eQDkp#Lj8eNHY&PI2u%+Nk4At(%LO5xo<29YEX=toE-CT9%OjTv= zdKi9I;#Zzq{1LcjU_%OMC;(pASwoWY@FjqaL(q1tuBx-@?AgY14JQ}nk>t*^b&VG)3yJPS z2iyl@(GdI;Ty6&ziNlOs{-ED!#VWArTAR+*G+(T*sy%lJu<_Ed>W_v;u z=B2B|%sBKm9M3VE90s_H(W5$MgWG6Q@Gdko)Ks1N^az=;_mlJ0A5~va`{G69-%YTe zSqwOGjYHF@%?3T3!R$1`-Nt4#!zhQN)%E8Z&z-5+HGAv%>Vv0wdYs#WSF`LU9n6*n z*rRbE2us^y$DP3dhY71eV^(U-0zsFw>f&dWhbr%R=d%l+v|F*|grI;b9Se$ zHairf3X_I0xby(Fu7;KlQCH2!rw)=+h9Er*M!nDBDXv!9Y*3jhWja)YgWj7Y1r|&5E9VRJ~_OM^kS(&rc>(}1FK~87AsV-28~YH zQhnxJ<$0{QuI5h<@17vfSp?y=ioGkkC^JLzDV3-Ih$=0PJz1y=9?TyKdC$pnrw^R0 zYpiQ*uB)ruF-8yig|#mVag}C-tDypx0GJF^Dw7JncxJg)t$}i1bgBOMzEf2vn$8?O zy64Q1_eYsRP-asvS_sTVBwhzqy-F<=G765y02_f`0iQgr4u|9GtDtc`ex~Vs)3Hx? z?|ijP8;n5dj{gvRi%7CXBA3cUTdYnBsYT<{VfXk;`*wO(4JAbIMa^LyS8jdU} zmAZrUgjbXv*Fj6q^zcRS6A_980u@>-hiMB&F*tkTkW@$W@jVCXKm73Uk)xk6q}73A zbI6K~c@i04k_eUO`V6pD%&&1&VD(ZG#a;+99svHC#M$;^>~^JC1H9)~9?R|`p87e659XP1x z2_s*4(L41G!WL;~M^AejU&Qo!yX5GnMlI-QZ>g@SIkx+=Bga1bbS31fX83U0++G|R z4h$!zeHYq0n!Bp&JDZ!D+q=3tdc+uEsg~c|R)6;Nz7vP{ee&sv(>Ed8Ne#{)JA?H6 zTM02AKbcW>bg5AKbQAZ9lLO3=iY3d%d;IXRi{~%acJ!b!-kH+}w;lNK@WB&@&R@tUu^xCY!7~?U5l0f+D;xH2 z*!KQsM|OU?XZPWQCtG-J{I)X(ckJJKc*p7OC(qu2^rsba_=Lj1>MA3bU)p+f-?jtq zf3{=K(QQYL9z9!k{>a<=4(-|d$&s4+l_g01m_miwg^=JHL)^vdc5K~q^y4E(_8;7Q z@M7>fCz9agXI|R${=Nfyj-NVFbK$ei58YBs`r9O0 z_z}YKaSCCJ8IrkmM(HThe@v;@Tj0^)TtfP%HtQ^QxJX!*l6a#4NNTbeal4(L^P4c^ zcGV>u$b(J0(URf^3)=wXcnS^y?v0UrN8B2 zbA!29;A>>i!UqioJF!k7flCq6X70T ztjC{boo5<58d}6H@(#GMcfpwW8HBI|6~goe8{^0tZBz(5VF*D8i)!`44qjJXyP&?M zw}&SZG*-O|i77s9^Lf73U~xhS)2AVXC7h}Y^_~3o&Q_kVy}Lur>ylMpFNA$0jY9|v z3L2_AJDb}&n_BqoJ%Y||UR%pH`nTVx5SE4zmUeblwbs-$cU`FKYOC$6YU>p>o1!fZfvZ(_*nz5p{BL5wYk2tvu;2B+*5J{eu3qigtEP(g)KDB z`v2H^6S%0ZY~R1?6oVQyCYl&cVq#3p95b8AA?c*e)R`yKi5(MdjkYlwF`y6-5Cnt= z{NX}VG+e4eSyfhDs0Wwg!lQW5K*NO#1OhY!xY|l<1R;RTL%r`hrRntj{Dp$TI{WOs z*Is+=b@u+P-wMRHDjX7a7aTF*R_+O9L_7TBXn+5?>a?V&tPEppyuR2LtxwC+=Y$cW zUCZJy1F%Xva|$O5IMfi~xqwg47nu!N=~;S9Ot`rqEIU0tH4%5LU>Fxr&|YjmaTW`3 z1s0oukpWPKO@-EYgPA}ETY6GrdYW;I#~qu>>7_XmRz5yBh(C3TV2!>Xg~)~|>5fvH z-WX|$*4s=`S^Df(aLD#$nzO|rJKZ-Vy9VP!J?D660DyiD3XuyJcw*sz)|DHRot~eb zoNP%k$3KEYwm&)BqEDNn={tBDpo^U8iZd_I5vMwO6kuEzz|sRtYR<8w7;G7)^z4*O z9J0+ZSq@{o*)9%Q55yDwJ;0bi8*}7H1ansxn5_=saOi@Yq|}yej4(tQQzI5?eD+xq z<1%e2jv8^uIt6)k8kD?py0yErv#X>1bW0m?BBwe)&7B3^U#K^m4f=$LD9vjB@U+Z; ztn~T|BlsNc%>B;RrY^j%QwnIQ=2ijzw{?m~=RAppDriG?GwJSm&?&u^ypUpDy zR+!nCzjnY`pj>esv5$>lv55sB$f2gJFu%0WW=_jWeEms3edi#>WOIvxjXm8&Ww$ot zOtoQSSeLj>EfEaF0@OBv{I%zo6&OMif;9;({c4Q9VDNCr>cj&CLD5VofPlm0AiJ68 zQgD`aB{qivRy^?JX2aq83y0u<;P9Ul6Po%{4H&iNipo|>5{l7Mrw}U8NPQqJ>{&@E z`c#_(za=8f?}lo@)8hfkej-h+rh*2R(@GEgMK3j``bwoHW!_SC`uJtV!{yp=tWVsgdTW#}`x)6a)@YB`uh% z`60O&?vT2YGM-C;r_@95AzoQMNEt_7o-OuZkjc+4Oob2F~1gtdHmlfHZxj7N(5eI`}VnW~3Xu?}gL(9a&3`dhRb$)4q z3;b?r5n$qq3LntiP zD0Ji%mDl8#)K`?&fI*;(j+{KJBP}E|0a!Qb$vUq#j~I#2PxP7&@PjuG^Z** zugH-Lr%Fk2K{X*t4fUmY4ttit5aSma9TOSxEWVYUuo!@nP-OMuk_GA=`F3ZPIp1!z z;ZizGo`X7u-ip|cp80^{3{AyQW zMRjp{OnTJ5fZ&M8h}Z}+Z;#wxQOlztF3?%nx4O5!@rA$tmYwm*abYnTX&J_RkZh%e zNr}O`gARlR$AzZq*-0vHZeZbrM(Z3d*+-uRZQZjsGHQQ>zh78zg1yjDlA9E~H*i6CE9sY)XyVaX9p#e?+v=^z1yY zei6(OegHO7T(bA}?edQajgATo*%2KUup==(*gm^NziN z!3X0K8R_D1%G3!q$w$z{KEuSzPV-9-Xbc{i1|N zrLK++amljkfX>&qh)Y&kU&}@n@7^~SHI&zu&*Aq&{$__Bmn=3aJ{f21wNC>0xo?~QQcd52SEFssU1z8toNG%R8)3B-y8545 z0H_lZ2g5_Pt01SKjBT;I{q+?spdE3_*u4UR)6mAVCRn$^+@g}w;_8CJe6x6DJA#}I z0^{w(c(%52&*u8pTEO?UuDXiS>S~vGWUmC}5bVXneHW0$HaN_9M&o%4csmwFw#7cm za)BRj$CP6JvBquCSFl;v(u7BL(}&T~fp6fEZQ7e#N5k1m=pv*F>>dE}_7y>Y%6<4!Rbz{@pJ5D#UB;b&Jd^j%Ao?%Qk8Vrui9A}~Zd3MDf{K!z= z)Okwj)V9qKd4@w)*fToO9-V1U%PugKn5`z0)oD%-UM;&~&qif6HnTW&x3n*0jg4;V z6$E#0Uu~V!Vz*Hs&5-M`=jCT4zONIPY}Q-_pOWLSg)h;}WDZaJ z;u|UMvjWr|>Mhed5)9Tv6M>~!u~BJhq0!+l-58Ox@I)7FsbDGSide(qdC$A~O?` zVpENwp?l@>-a!sexh;4%4s9XU0!RxjUuSVlL{L&}a!6Q=RUZ@+6&ITsz~z13- zI>&QAu(}HZ$vtxcAbOWAH8~+ZF(xh4FD?6Ed{j(y6hOaRD3L}4=Le*?4*)L@fgsL% zdpbMYD{bkaNvZnSaD7}@Xl!)yD;}4w-+bl*VA|72%+gSk4!$i?`bb&W-Y-{UcpPHBmK;^CNd09aT3E8nx z;rgiL(7W*HwnrrEqoZ-J_IJ>tzTTepHl^cl5{=Q?NK&ruv*Lf$H8oXarbH#B#wNw3 zhR5R3y&IH}l^m3!$4T0OeS_=^l0iJ9b|NimTL^UQJO$Ao8!ye3HIDS;B>#kf#HawE zQ=g@T1}5sm4MkM>Uejs(D&j606(TAc*_5ekt*OKHX|9I{s=cPR#2TBNk`Ngha9Fc) zk6%>mp13$y*98{ICZgn;>#Dh~f%PA>r-Zg(9GKlTtkAV~hb1K}Eh;Q==N<1y#Ow(( zSDqj0>!YzZ)DlNj3(;R=ZEJHqPo+2%wM3`Xu+IZkOr0agSQs1QAGI&`o{#oL9LTJP zZ4LM$Rl4w{>Z%C-X<}=px)C&LQ(a{}d^+`YuFA3!2hS+vFhNcQ(q zu)4DqLNQQ)>;SbjH$rSx3s$$T0w8detD@MX&&bZpPTC)`TN6@s8Z81eIndun!3s=X zbtwjsCe}9AfY+_1OigutS%b@wVMtET$jHpfNKM*(PtG}*y98*-W5Qg`ccnx~RXGc5 zi(t#Ct*LRrl+(nsZdFC4%Mc$C86Bn1GMH2S{dO&N^+F}5^i9LP)K86N4K-D8RJw?D zDq}$c8eCNgRu~AdH9RJKUwCR-N@`kSQuNM+H5Z7%=sSN7(6}_Uw5Cd22dH*loXdkl2iuFyQIMENVcZM z1Ox@_2;36#kw&u)1(yAS)A*8jbo*kmt#-CGjoCT*E>mt$K`Z-Dw#8zUowmHfirkE>w8)4r0{!;v4+xIF ziDJbBZE?t2@FWFW*6o%q_+6L*ubs3_aF2>7##2%g;qOV@>Bv) z7sk@=k6!(3@1EB`3XKZ(3yhCRNH*E+xw)3Gi2Wb!+qQ3SuwQIEK9{4iq86Aek6w6m zZ*4yC;nwW|hj#_;-gR(agx+GvF@){gy7QwiJ`3L#9=)3DV@rzb>InVsY{#Q}cSq>H z?fX9q+VMr`){wx!$dt&y4|n_R+;uo4HT`L#o=4ZYN~>ENC7uh9Ztfeqw(Jl04++|P z;Nu{_y`MyeMki&a$Hc8*lkMrk;>s3+zq(rS=$5|m?$#X#{P%`NN2Vr+Y}*L@e9T-3 z5nxkiGkZgBZ#LOhshezJWmQ$cd>h;F=$2+yvIB*U!*@&1h5eP$;_WB7JVx-OB_3T; zsRU4pA9tXj%vDzD;@yiWwz2}36aOvDk(rlY!kdFBW~)6a}0020(hfwo^ zFo%FY00aPtP{1BwOr~cq6P^eU$hAvXtbSnahE1=%^Wl!5ZySWI1uz9W8{i|rNPvG( zks1IH_+WC@L(lTxLI`#B;$^qq`M~4re)aMj?|%5ZU4a?3KT0uy{|P;h%3?7KItPTy zlvX8#sRP{VGk5-?>z3cT`u<0r-0*^w+_LR+|HQ)fKJX`k&zMx(3HONF3NU+|5p#xL zPcNa0x^DR`cii*fV^43S=sTOYeER#{UmrD9_6!1?5ro97;2xno0q`Ju?w2`l=3KRq zf-6?tb^pU_pZV2mp9M!A@%zKhU3Hu3H8NnLV(?iNFyk^NQ54{)l zfBrTCY6R^5)O5e|t8KsEvGa4#QC|gS*7Wp)RskCd6h;b)WV}HtFSzN|qlKLpF9CrS zs3PcJPS z6zx7&@bw38zxn1HZ@l@|+wZ==`L_&}7iIsOY9G*FP?1vLTiD$YR5kTZz={Lo6v!9B z?@s<$^ansxx|b$ie&si>zx6IVvZ4foUU&Uv7=$I81|vdWg_0qqF-n6hRi@6PK@#XV zJ>4Ggn@unL>e-DOpMCE6U%&W@j+!CN@!s~+=)mNqX;@p3Jy;`UqDN@S1T%@!gLM%l zpPV`u^CIx8r<5nApM2_>4GM*Y$!LCt0HaZBMn;+Xt3U+>+#?eO4N_6QV*Y9Ze_Al;7A~#B!faVCQN|_p&yp;8u=bw4(fxGXx zO_@Bi>+)xAJ4bck76Qvd08|{|4u7WEC@e3S^xiC4E`Syz&*8=Ol<>s4ilIklc zKj)VEpHN1srxtD`P$17_RqcfQpy$$onaQ*dUVHwjhwfgr;>KmmD6Un`G3jq_Ms#Qv zqc(#KK=#t!Sx~itZsLwWg*kDiQ9}t^-hOfYqxS+!Uv`tH^%P&#iigdypTMuxri;u3 z2qs`)`hb~|AKbJ*1WfU>Yah64{rg{KQvM7>=R0pzJ+bd)kA+PWsSD-S8D>AN z2iYV-nV#zP-~QV-URd|GzN>%mBIT>q^4HnXG!zXaIv0x#6#)Qp6-2fOL^gpjuancK z5AEFY?ng5@*Zy<@9offc@xqy)2K3OF~da07#e zxo!Ha$dRRpFabv7QnCZXg$S@;lVg;Y5DedWSHDlx)70pgGD)@Egn5hb<*krRA%she z8ZwyrF{%*drv_%ntkf>7f0TduCqY=E-J;*j09AUY-d;Bhsm<%CK6D2Bd&)m`PLa8au@GIG_GZ3F)ymZ0 z1#5}@;5GK|p=gtOZ{d5TuvR%wqAQG;Y@+gf=m)Fi=>1aBt0rL*!6|kdN7@4LtMn;j~`ac~$=-);U zxdRy&)bgsOop<#uR-$iY*;gwRLn-D(^afeUEkqUj69Nu=iPC!Jy{G-MI-+(OmK%Wr$&)50Ev&Z@2s3nL{HL-h^O{{Fv3eYJaSU zKKjfHufDzcciVRdMQ0TfY4}6e52ycHlb0SH^wr+ozyDaod>dhvXhsy69uIju6id$5&o{5%Buc zk3V=Xc>7y#d#MZgV>-lF{f{Kti`PNmd@4oMWhaP!sEl$?D_3JmRU;oV0fbG}Z zyZW{jH!WX&^PR=Iabl0eJ3gltoO9KJMb}<;!}6PNS-I+tJMX^tz6aJk==IQr2Oqfa zo;z<}xnlWJLNS)DI50c|Dd?0q@ml3a)f>NR!PTU=zy5~hH{N{9tt(gEe)}ED>L2g8 zebsFO%LiFc_|0|8*R`RH6H^{C&kHovhls=Z3$9*t&9zIeyME~n%a-4GqjHn>#_{FL zmI@kwp|W7~>T8$Y@hwiv#HfH*C06mG8gK|F?feA`ua>gcE?%rG(Jt0rd(jiENQ~J0 ztCuYQ?4m^L%)cBOIpjs`8zAnv6ufHwd}V>c-6shLBe+rV9Z@-Q*Zi0GYzx&A;9v=+ zB!1IZJ7>=2uuFyDN>RfV$MEk)uU5k|0kC_aoB+$cy+%Y;u3fh72b9MX?CGVO=jE## z!C*6URwfUR4_`}A=p4mcC!D{djPb(7%b)l^qvK07^R-v0v5h0hQ&=2VzF9ZXPUebk z0kV*+pch()o(>YHxJ-_sg8UqlB_|_`1BHgV`pIIXS{h_tDIz4$Wl`yf;PB{M7|PU_qX(th}PBzJqw+ zB3GfE?HY@-+~Tz56&70v`ERaq-tDECb&NxvGTjUTBva$jmKt z<-q9;+QCqemYxgKQciwtb+Aq|(*`1pa??V!WI5GwwzH#=lU1QuXl<*mtgXr~GTLqV zruiWgudx zc9;ytw5%+%F(WjwXf-}^zA7)zlplT?M2?V6fvMpXr=weG z578uaGG}H9JZnnw8jYr`2PTcy9`@#g=yMg6!*27^-M@Kbq;v7AvAlZ?z@7=vnqw$94u)e9Xt@V80Fu2xQn>{nzx^MO3 z7Y`UrEXN?v|ZZF~3W3q9@mc5{X! zlT*MRozLCRZjH@!ltAUyO$2&V$0-8GYf9k9nycvxvF7I&T61zMI@`~ls&?ku9M&xh zH9sku8z0%t`Cn#IT6~QEJ$KL7T)ZYK-<6k4S+PdItHKUL0Gv_(7^RvESYwPbXq-MFwt50Dphx%LV$P(1qGkkt<D8Fzvb>Vq z%Ep1|X&*I93&CZOA&mA84GeW1xJh#i znrqFg*<820ABA*OFvN{b9d#XT{#*gZhlwNKb0M9jb(5J|{h5a}D3p^`1=B5-gB9e@|ZYFWd431T0c%&`T1z$ya+Z<8g6DlyKu#uc z_aWW|+6APdy|uBX9lAM=z~IEGX)OBU8jY5mUT_u(izN)^@{j--^T_$p!3zV!z0f)~ z)pNE~C){E%)|Dqw1E?|xv<4;F#P}%B5|iMdg};MStaF5JHbdRS0UgKWjn&N+#%na+ zLF6$4vP=ky5Ql^^1O6wG(I86)JXrPh&C~)3Mhk~tuH3sx$N-;~@c4q0fwhYxRd_`Z zBL`)DpeNfK8iXICwF|De=GyAgxW$V!O@Q}%g);C${{>PBal{2qX1I@hK)q++zd0si@jrX67c#1IlC1+M3*#uF;Hx4+fOcb4H;+ z+u1W+0J{MpG}M=&qs;IRYPFIY8D@S9v9{iP9p-^Pt74mK&73&gHOW>l_4!){HDgPT@Q=vd`%L|-N zB8n__vmwcBvpdt{GLq9?yIwO^UIp5}w6>&Jas33tP*Gk{eo3yynrpSEBq;hZLxv?j zKFc1lXsM>7q_Tn&RSwlkic0be2z4mRx8>zz7GzqD$&v91`smci#NCfB({vV=)I;J} z2xC!Ru^qQ7pD-PhAt$>aDJ2&Kd2m+vTi4yF(H5O{73DQRFPZCbYYU^JwphxkP##w2dJU2`sS zf2JefS>!Cv1tx3Gv}VP{`bUN(M1Quj$CDStJuYF?^Bq>wzckbVU2KIE7Nl&BIlt5lvbdngTwDs>Q$9cfk9$0MW}>g* zpr%7ey(+4UN-N7tP>0fz9Ea0pDautG!v#*HZOO`UK}!7s{;Fvdv;7@u&PZhU9<#Qw zsig&GB~-VzzOpn2zDye-3^qenUTRuSQfi9LQC%5Gxt1Z^@$aT52gz7t?gn4k4q+&h zu(rMh&!?u+;RIgh$adruq#6^_?bejcyy66%CPWj_aekB)fMk>`<%0EqRXpzu@S(Pj z)>Ba3a@ttmMzXC+tJRX5XUnphb28%-GWDqu*8FU7k$W!m%XYggCA=U6?x-+gbj}dw z(9#ZdFHSbLp{|*D470N|BC?W`P5DNR#t2H|`~X|l&?SxzpQ~j2@Z0mJyV~Tnw)D+O1fX8DLr!zb8x1=cVH9)-sW_0 z#vBSEQco9Ms<5oUo@O*>7$c(Jy-QqVSVkG$mgaLX!1tc1 zw%Rg`<}YxO_Zv)Q6)m-$J^1Jy!l2mF(a_GxY8l++7F)&^agi;Bu$SeL%&Y6v`LnHg z)@*%l`rMyg6YZz(KnCqeYsb z9Q*tNw9vHt?wC3nVukz_DaW2iQYm z!QSEi2Gu`a?4uccB|6cSTVyM*?-zPdp85uG6WC#6*~jB%rS9B+lV&(CJ=5v1b`EgO zG<3v+oWhN=lE)ZRVVs3zD9JZ8O+IeZ)%^Bsu)nEp2By>*nGmr`7f0 z-a!p2ZWLZJ-s1T1g$o_0Ax~`uSW|$PJjwo`oPOYY&>Sw}PiTgTNNZ}ZZ)~q^Z#}q7 z14j?HknKTg^L1auZyXsREf!?24Yf@Kgq6K|gNA%H>}ldoipTBkz92`agmw*`LC2eF zd5Q*aT#U0kIsq)1osw~Jb9)J;!~Z$o+tv)}roJg;8 z&7GhaYOAa2>RX#@gRa-$5R#~q>ZJGQnA{RX2H~hs`PC4m)KK051^h!$6Wn*r_1$Ep!xbj*3Wr%(OV}wDw-g2mEEPE!FLWtQm*B*&;^Du(s=o9i zTxR@VKE|5$5a~8Dio@5}+eY$IFu!%>Kz^X4%bkZaOegX9@%FXT=f%r}S?v@Ay}~?4 zFDvkDN+P+8X5l6B{DFysI8!^I?HhnNteucBiGgb@gX1r2F+RUM?O+21b~i8yHzrWJ z!CnB8wRjn|O2Y&`OfzzG*#-w@+Srn>$_|9UNv=>fEc7rCEKkM<<0G^5eOsy2*bp4FLG6uLbq8VPl@%y z1ld?;#To8~h9B552^x5csHrXk!Ug~h+T4m#fNOkDT~SO% z5AvFj61t$Y3h^_|a_RT7s`Qe9LCnja!?r-Nv%9Fy5@u_ebV zX=9n`<~YJ?A{G*E1wm+cX>l>0yR*oVS5OM#i_o(4{0wteQg~c^YE()@!Y;B2bUKUb zN=qupv{#&4WX&mZIPy*U>`a?6FCjT6Fd{N2)8jikPXl$UFJMC}2S$Os!UCr~%am%f zXGO)N9}Gy}w{?YPz~U%o8_8lQ$up)GS#3FX#dyh*nwFZF92y=Tt@_T1sfBdTl4r{| z!`1FcwVTWd87avD#1yE$b6Ro^4YlU80hwtsJ2JB}ll4LS!wD7q7~eU3Z+Z?j}YzYs#%d>%9mS&nSQG;A|xSfkSu4R(CAbvn&t7MXHM z06h6${G1scz+#+wySsF*-If!%$Q}%tb}r z`92OO1^2>k(C{FH6lXG+u`SKae5h;7nRcaMI!*ReW4bxbWVFVnM#X2PM<--i!f~y& zs~fueM#!W=61m~g=~1G{y5OiK*alYk_9|gwg*q0>*b;Dv*=9Uj0@A}HljEWT(u_%O zlcs^-4fea)*Mm-!d_+Ah4bD_Dxxn)-OEu5RYVc1*jjPC!nUR`dOiqhU3=aZf9hz!A zsL_1Za=L?b4s06?6ZqEOQI})4#p1=1=7MM{LNq0XKqKU>bu=M0B{?=RNuLxKA4nro z4T&0!o*1;Qv*1KAo_!ZOi!J6f^TAHCa)9`6!wm3jAjx+L9cn2pwWaIz)))g(voSH5 zX;D#dQ|H6RTvrW|=2;K(v0ZPwvf69;J|rl6!2>~(v+B{MDF7zg`1d(U@m+!B=rwz9OowT7ffjjc76 zb*{YRSON$8{4-4^JbOa{>tJ({)sUW*`Z|vFb@y$LPRFfIhzdV&_bPUt7ljb8lb9W2 zD6VzoTkM7;!!{i2wUHSq@kUE@#4Gb;=Q-76&qy+4SgQ*PQc|Ph-p8>fu~2+ew$qxM zn;LJ-&UgdIdW)Th-H6PBw3L+iwB0z?&&4@1^NCHigk_tJSuuw2mwd#r-kXwkd>T~7?&7YR2qO|y=F&-#hh+V_;@9b^`nuAIr#-m=Z6N) zovLwFu&dVr_rrzm>;<*G(;oO`v*Qyi+4_baLH7e!V?&R5 zPZFy>__=v1?QUzWdJlft)U?c!E_Ue)nXtZB#*H~SQsJ%-7XJ4s?3VoMdaiP@+eCQUZv z*i{YX6%D2JHT#xn$Tu(3X-IY+N!F?0N0UEg2q)w;PE##$(3MS!ctc3(gW9%g_;e;zQGYT zFYzD$P7YtTdkIK5eHMp~rN>oRmRDC^TJYR;?8KAZ7QWzt5wf=7HnWjC)W>Pzxpv4B z%A1`8EtMCQRhDPqtK)qRkgs?d*+=lYFyk|Ql^#K3M~oO%4RZO z;*WC}N4rUr%wMEgAiwaLdcrXApK41v{VXpo$hF@iz9&@h;-QjsMxH1}po;D%%mw%F zY!@N-#kBFZ+`8A0_D8}sAYPSOiCvQ)ULabRGD zFLO~vI0eoq=i2(HgQuT97-~o@Bo)A$LS{8$5O}z$EUqLHpo~F{!$oJ?_QIJ9#Os~A zaQ+PGBZwD*A_?F4OlK$2{iUvo8lo1;E9rvEnz@3st7pIGu#rf5S}iGY`fIvIMgfA&V3A=nhE4D0rWTHp z8j1A9j8~LG-a)V^gIro%g&XHA%vcZ8J6Z7LdQw}owAHk=lAVPtY$UKLV0>{c%k25=(&F`%xt!qSOUu}nO~>bMf`Pk@m8ph2IBY9BON$H2 z%h?Gc(vP51dvS4Y3IAJ0@Sk-Zm*bwn!(H3tf}G!3lvl-;HW{VGK^4AhTW(H1#Sni< ze#9fV=seG0bShmrF8pzl;FY^79Tf$+g|J>*@uKr`ERF&qRP6;Bdzs~xWA&94h{~Ct zt2ocl+!9v~2E&n;lVvh+9-fPzOiU}`F$;0g*;KB=m=Qf;ErQR$UQj@!YpzX#*wRze z4F+qj-e5|PPYAjO7rodCwGUB@+^(RY&_+Z2uIQ~GE8wHNpVS=uGjoE zzo?>!%mX=gPoHerHdBs)J7#1>hsVdo#mDPI!c$G53)tSyEfD&boIHF;++bTC#0Z&2 zLxLqKJvk~cA|f^@HaKR-8eDXny)2g)mAu>>qb-ANZIdZ2J~h#hmK_;w+!qjdASw7& zwzvP=YR|D5%B}VcgCRT1VzOJTSvXP|#B&A3?cAIE#V2fUXJqGOTUgE=*(q`M43^xq z)U=GaxY)>u1Af8bugdmzWGrj88KNmuTCTxrie?KrJRvG-w_jjH+K$^aJ#jHceD8Eq zcCtQRpKeTqf-HXT_JHuvxDRpB13n?x#B4L!vXYXrQsYzO0t0p)h6iQyY7MX`Xo(3l z5S~DOYiIr}w6Ea$R5UhtNx{_)1$y{_mn~Vc@!v-#$1aVG{pZ&YsBD%3DFe?3s8cpA zAdid}e5~9|kaGMMvcbtLVZwXh_M2Dl?Es%5ShJCl`r!L+T6Vp_=~RTH;M7!z7f?Cg z3(yj9BXBjgzoyD}y!-OHhwpwmdqAMeqtHW+T^hes_UQvROH=|oS^|s%hCBmXB22NG z<8qdXcOa-j>CKq~AHMe7+E*%vr-bhmSRnk$eBPUIKh;R;WvXVULz1it&=8;>UOAXx zs^%_Wu@knu_3Nh-h>stf92#bGOBNz9e|=lnuMs>W*9ppxysm8O(INf=WB4(s%VPXZLS@?Ulc< z;X}v(Ql1pxn}GHbxW6C~g+>!ei{u1dc%Gj$Kp2+g9h;Pf-@duIUGfjMOmX;6GX+dL zF`h(TTLxHw-1K;YZqI=58%GG-bJl0d3{mssU$(ye)xafy*X;L!-llH?cN|LrUdZTx z&qRpGP+CkY2-;v67!gJVO&IR{KhYn*^GCWafd$e$h6@bxc!*{~U)Oea0Df-iB0c3! zltzN+lyrP@Vs>ok%zyk#;GS(Cy_d(n9i68hK9ye0jEv}aec>Pd$J{^Hbo}>^U`2s? zia3GqQ!&FnKJ!yUM)=qJ_w4v&^Ey-Z-lJMVA)=yzMU?L27iIQQe<&veyghJ}0+Na_7TR{UE?o}b_F^pn4e z?;hm_V{n|>rY8Dg_w59-w{GLFh>Upc&38Bd;ZGgFCDGTJ$)CQ{2m2osu;SK_-hcCz zUvGSR?V}Gr^3+H9P|%MGqw(a_NRHnhw%>dInui}-`xN(h>36ArRmMUz;WC_v5o-5} zxUW5J|IManpLrbQ;l1}i`1q!vTF(7Ny(h{K1HxQ&`|7*zec-`I9)Ios>p*CDI&j7_ zcX>ZO_?OV_TRwQ})fYBA2?_1$J8oZn&ziLx-wbIQVG>^|4*0{)Pd~hQ#jUs9e&@Z< z$G4JqUG#%panw6gCeg&isf3T;`HjFH@4FN3-4(a4x@!#~P9GdA{H`VA4=`_k_|~!; zZ(8;6c0)THE}%`>Xl3x}A1WzxaPp#U>&w4-=219kfe0=m>HD29EI9#{XB&oW{#O`PI{p+_(DH8&!&EV3zki@}!yt z{_VHl{LQ9~B^{Wvp|MLmun1v23c?Eorh1|in2r^@bFr-y?uX*gL z4ZnI})20`mTlcuo^C;x2|RMo3)COyESMb|F5;ig;f zxM$5HYoB}?nB~LwPXf{A4s@3qnS25%$Kde|sq^HY0DDefJo4PyHFpX}_ad;2i?3UD z^UB-rV(8bvX}n5i^!V5etk)8O1CE3{(P%=%W`t;#KgS2Vf4||e`|nr*JN!c6kc$>y zzwD+Jg1=m~@|GJV=18Cz%GiML7t7QG=B&NQTDXrvRMLy3 zpg3;?g1H2ZZ~(J4GSU4ohQ>- z!jxz@9Tt461Sc@~WJr+rs|&Jth|zi1B~lMnG4KLu+m(tsu!g0T_Q3H$%4Q; znXuz|Z#@45e7j48pjQ}Xy|kC)7>4p(CHVdCk(w+NvMNy<^~%wKoP@yN{I~5dZ+L_x z23H7y$!s!xj#&kuNtSm6r!Fmsii#(6lRdK7Ay7V^7(4owI4Dr}dbokTw3TX0=`?qs zG_zWIN~9Y-o8OkIWNh z2ueV`l%E)F-~LZT!D?~I6>&)&VUZJU)JJJWm^WMwr;1Ryg!)vS~ z5e#THNt>aat{07x8(?1OEk!6MzKtCB$;iXE$q{xfr8>k_TPW{_OFHG_!q3ivMVEvC<>w68`$L>dGqpnxe#rb*rh7!> zC=xB3ycqHMmbYGb;@*`iCA5^E0*EIDNL9931!wlJVjFPwq`jVQVC2xliKc`9v+$oa zYLtkmnhcr99W#O6%aSjJWpNV6lK-3@wd~*d@jo|yNMuhbEDE+o!o+5^)9tdbc+^#< z5Nx^9n2EDTzufUZWH+tBf5gbpNeQ-64Fx(zm>aKC(i9}F&KMTzf`Bi!ZGLsb<*}2= z4qrFT$BN^?Av*5zJuQ_rc~)YTM2|&>r1Ghmv&X*Lz4hIfe!<2~+zVqb*T|ISGVG(w zGwy=~#b?IyO`ey#O^=xazTENgn=d>eWZ%MHJhj%)u{y|1pmf zYlKOBp0C<>EmIDYFIY%w=#>mHGy+vtN0hgS#A~W|@`nT>c0PIU)s2^V#63;dYB&Or z#STql{rjE)Q|%M_F4{w@WwwuBD2nj=a@VJuUw>X$-!GdB1!DC}Qk2;!{xQ`n+zchA zh{$cKhntR^`SGQ$H7lJaBQmiOOy zal_;Hv!?w_aZY|pW*Qk*=&h7P&=RfGEz8Qp^l9{vLn%GNbGAQnH!GR^ceFPp<$2I zhk~j8zx+$^FN%`iVCYv@1|h&7A)^v8$fzeadit-7GB=o<>if$d)k;67x$nOI z(y!Lz_O4zjNu6XJ7Ge2lg1t09zsCQ;oDYxwV#%iAxlE@Sg*X4_QVJXVWMH`bH{mUs zvt(SMMVDFd;f;S(ygMZ0(Z#=M)?X3xW#0Ks>+xVnt#nyghhP8o(+}ObLM5h`c7?t7 zDyffFUYSZ-EmP~Cc=P`!PyQ$GzQls{58izBZ&?KXnMZ%|6`uXy;uqZi3toQopKL={ z7A)=X8^3;!JO>Y~zPDPl!ACkB>ELJWiHp3D9bWah8Qv zUnZBxYjnjjvQS)JpcJ?w@FXw)1wD@{Y1R09X+}wNahZMJTQhcrIiG=pI$s^a{~zjn zH}1kbHHCtZ=1V#Sw>DVYpjoGxUF*M|ybHm)5cQ9PzxZR#9{#vnK3S@{kv5J>7}&xk zH{Skg`Hh+zv?CISClNlk-2Lm7n#G;~V)=a4eGd{+L_D#4EP-|pQ?rE0N>tGew?3lA zKTQzcbrsP~kMfrq$4WrblE?UCLdp^5_Bih+iCW|RS~Uu7THdc!3(xTO3H9Bq&g)6_ zja&B=wYZgM_-h^4{}{hNg7apx*=Wp8F-6Cvq@*RJ$AsT=m!|iV-EmOunB!B8DNzZj zX0tve<%{?3)m(gSe|UIkWSkxjp7f;j$SnOQD<9Ad-m(2~@D~E&OiD1ur@Z*E=F;N3 z)*jpu6t_Pt)bGJ3G*c^{dVkZrV8x;NF?MfQo+&rmWZ)1lJ2ECIIVD~n9duJj@Q|eN z_~)tenj0SZVvAqM&I5k??xV`3kH7l7TBRB{-6+BRSQHi%Ov}{dKzY(P9t--r58uJA ztb5|&`|rGsluOtAY%zQx1sj;w@#Hp!e}}K2Om&YmrUi-hWc%X7cV45|T6qdzvHW^@ zjPms;IdLWH4%gtLQ==lD0t?QM_M-s@zru7%u@|3PxAq~m7zt$lVXx+D>eoE^=2!nx z+W8Y31}rm^V@-*N{PyovO*N&Sky4~(x?a-G{G1bFo~Gfh2cLZImG^&t_>YCn{RB?r z1(T8Kik1GSLZq8fXPhLYXk1CLjW53b?r*p54hZ(&_r>ndcWjew73tMO_pQF|W=}d+%8qSm8h-nK4Te#`3n z9)4mSA)K$h`Sv^SzC+fd7sZf^z@-lL36jS#>d}a>LEH!Dm9?=CjZLTG{lY zq)1x(@cnnGf>tlbaLDCe+N(7~S1lAClT~-#^T0!ou6;szs`tsYWC!w$%0FLxji!@u z!$pgiE|&<+yY9K~{s->Aj}%5ULsI#8Qn1KD zmF&%Wa{gRyfH%1&32^k8Gf$1fTtY0RZrPB!2YfkiqUUx*!sspu35tYWvRiPC?%GRg zN*SJ=JzeqE-ax((Vi2zcSzhHme@tQ|f39h{YE-nkNeQU*@%14gr5I381vin7hE?zv zFO5d?;^h~=G`C-V$$LGo3|?HVS@g!%uMTYAcI&HK1GewKb=5=smqw8v{PW?(+NyE$ zS}E^0gz!_NnZrx|U&_zD{GMN$+kWx>reD0D_lx(p{^I>rzj#0Y7w;GR;{DaUCnLNd z^xRXt_r3g?-2aZt@A;+n&x>oMtso&ZSKcp?_q_hV>lgo8|MM4rT#<)d$G_H5^_TWv zAHDp0qx#$PEMcy)~ZSA^+m}9W&(lo%*lp zZ+V{)Ym*4~@xH@)e{D^bT@=;}xWQGx6oV{rmQR#r3lX{d5Nv z?yU>Z9hy0O=#bap*}%g}&_rNR&^LU|`^Ful?3>|QwrVje?+AO zih#5sUcp{RWg+89e`{V&p=R$j!2oABf*r?hPp$%LubN{ zgy=%m@jIyXb6*yL?$G4nLoyml&@|$uVM_4Ck6j^(rES@sbBPCQDHbV&|Y&JY>ZulsrelFyuDzC#+ z2wUoz3JFHQ3{mLhk+87vurRN1pQDrEM~@yja8U7^pc;Sw02EU>tVM2GwGQ_Yuh5aO z@Njw_E?>H%?g-zblLro>%!qExKfoV>9}>M+g8Bmy016X)1hIu6vLm5Nm^*yV(dmez zMuOk&KV>^(bOc zrEvJLE^y2v1RAEJ^GevnQR)3rYH}Z=wqsM2IwtRshT197Jy9T4=;I+sF9gx)!nD++ zM9v(GjPyFz8yR&>zWC!9RjMN;imn`XQ*8Vjb!bCFywyUw$oa>#QMzMVri7ROYydi- z4b%o<1C-#ABchr|82zJ1brDnHG$zvL*!(EbXC3Nk&j$$Nr{*z2l)o@Hpw-GO6uY@V#ZjWq_xg(V*`b`0Mly~$*RCH9dssN(T z1BVZ(b$Kci6+>NUl`c|8iL0ZvUk~|9PsPLpAs@zX8u1)q?$b|Q#0;bDbxh&DLov}Y zuqyMDZ_zJZfE(GMkkTqq$S~$r7`l#TTrQ)FaUb`J(MHe4aQ!sh2v81RI3)UbSsM|P zl%VSh4U%enVrGv=E5}D;jz@pZRN-5vN|w12%uJVg6@Ix6g&ycApgpcok1nQ<0y4ck zQ&HC;Eir=W>(uQfnXBb3Xq(Uv;)Z%;GO_8aXi7&7D>1YFU+Wk;xqetxbWE@aDoi;#;ZYGJrBK7{@faT|!%w$bWCqja zQPmLYpcmsJ+z7Nv8l^;g(+@56$Wr=`2D!1OS}sEKtQTVOJ}yh)r0S?37tAu#VOSk7 z8G$S9q&w87i=92L3e)@ekUAe^La1|Fhjz?jI6T@%Z3?D_af?PIZgmXi99IG+JZ=j0 zC`YC+Yf@lP9cWMM(59G$G|Kll4us6=NzdIC+9b;#imJBBD{9Om04Fwmkof7 zkP_;q-`IQ6Aa(vv%h)VI*58=_Rve)}zesm}`z}8McLYr?3=a(YbhrAz&UJ=VF;C9xq4x&7dfjYU7x=k&zL)V^io>G$!a;ZaTs8Br;P} z-(gDZAx-#6y;2&hUK+!+UCgj};XkR1kv3#p+%i!Eg+=`GRMn#6Q^(N*S}={y(1@R} zpF(fs&Wftt9>cGTnHKpjIzH>qs_(Hh;=$-tagC{Mknz?^)zm~*29|;tai)g&h@!G$0A-yJ zf53CGmuUE$XkUZQsQp$k>b})x&zivbyR+w*loM`?ynJ}gJ>mXWok44K8@!EP-|Dh; zT;Xf-Ix%fIal+zzV#ad9tenuA6ti6BWAx^dxu%&DCX>$z#iBi-walC_pO|Z&wVcoy zyr@dcU6kyrOtUAbLd$E3MLtlzoiTpP2lGrLls#dQyPr7WZE>4@EYnsvb-XPKm(6~A zxw!Vk)fSy~)?%Hj{=c`U`Q9e?3B{!2zWnCp%{6p|myea!&5evA zi=@0w-W2w=&YZMbeJrz9E~X}{7roFTCpUG|!jsZEKIA$+RE#s<8ZY00R%Cn8hPjq` zR-I+8TAK(|DOedww$pQv3tIo~=;X`}I5`O+~+YSVo!3$0Tpt$ZPdlfKqT#LTx& zy@A|X=j4p-q|N7~h|qH{X`f>8 zrZqb2!joFt%t@Qg_atNat#|gAI*6zWdZa^=(g!b3eca48a?*B^tNCfO=}wA*>F9^{ z#FVOCo&qAfc_)2slXBHb8>P9kmuD{MWRMl^J1H$h*G|s0d2?Ux{jCqGqdhTcK}{`) z1WoikIcq(6H6Kn<>$kK{H1YBUb7>apb8^1TebU=DEsavBWtu>K=F*JCd|3^APAXiX zv$^fQwi$AMdfD9H`l3nGCrr|kS^h>e3xtrUjvuml{D|+z$!ODo zxm-k*HoJ{3YPplvET1d1X|8R)eTG_S|K-ozW)YvLf)}4Iuuo7-zN8I4C#K9OET6d< zUM-(rZJ)JWE-Xz{N1fujle4yyKDNbDsU4|FrDJMQnQ>lxK8Ft#o0j3#BF-z7%1!Ca zNiW+Cb{SK-r<9W~DTn6rsX~|Cwk3AyjMoVyEbZ~Kj*DViQ3)SPd+w~`&R(MWG*{vO zmmwyxAHV!xsZYlzZrb979W*0=Db+go$e^KNz6f{`B^63)x!(+*dVBh)Q%7KdI;I$9 zE@9kHn7!3&d=R0|HfvX#J5L=1t!)Bfe*0~giI2?712)HRidAE zZv^kT7)?MtViA21JWX9F1Bym-&1|+hI+M~Ni&>|NQ6{XLDd(fMQFMM<8t7wk(>9R{ z7G4Yt!|x@xo6EgqR`{wl`j}=d$VRL(5>_pdk17zli6H0OW)O_;m5aQ%(1)6&-E-_$ zaR)^P$b5n!aI?C|r=t1NTIJ^}yjhN5tYEH)0q|xBz17csRXvy9d(=*Bfx;rk%_c;< zFljO!eCY4&Od9wyF>@Lq>!x(@A^6 zOR8m5Fk~miRB|nLo3@K7nroAVUoP`DPgn$qEf&v5wR18uG9+_tVzI^Md2t&iwtCG~ zmp`3j)3Pk00#e(o8E*ldLKbtZSIOXd+b)Ui72Pt>Cb9fFdVuLLySZjQN+RKV-3Hx8Hy2NH!$%bE=zd&T z>&+dNr`%8Lp7B{XyMBYRUb|s-T)2eMYA?P+9M_!E2-LS?$KT&$?-(T&Jil)Y1|6GrsE- zTBhAN`|QSr&+49YQ?I8V(pR};Xx%gP;Bp@}Q1zT=y`CHY)pMRNp~A-0ns&zZ#>@P3+~?q>|1*#LIN z6Xqy+NpiRW;toOLi*8z&-V)eDGy9)-@=0uJMs1?q)MQjts|-*yYctDPGrMM0MpM>L zfDyZjo`;@CR6o3i zUw(Nuf2LYxVO1f8BEjL-3SldVH)qWRtM+o3UCoKJ6&v)~Fod48Q zlP5pj7TrJFU{w-MNkd8Q(9a`zJ};Z^UJ3Jy$thUNDVV&0pG@e6$V=u9c$nws4|%0+ za3GyI$G>>bm0l);e-_yR*Py2D`LMT zUuaq5h#+_=WAL*LzB2f1p<7ffjEjnelZgm3Zkxl8riK~JIJkKgT7(60;owE3fcvJf z^~%%!h1QFF#DEppktYy4^Iv%-E^rHLi`?SYqQ#3A`$gJ``-wT>M09WKKxkkmk3*b1 zy}&Q@i>k$8QEl;$izc@NB(eEkYzD-VPnz@Q!zY7}Ta+y>mMmTp7WXe%3|f2tleHQ` zlJ=}MQzcW{X-UTE7xnrXE(2p$*`(AtrM;SjAUsuiX=pmc~?Wjc9c@1&6k5iRb3_oAp`R*zo@1C4|(gGKGnl z?x|wLO@A8qhrb!xoH=uo<+US#M)cyWp|5FYXu?O~ULcvD(QLE%w~{qsviQ}9UJGsL z(2O_W zzoy+k*><*!G#@n*ieFqV0p;JB^=CrK^W|JNLpKnbtZ(EhUR$yxzJ`T=uKa`PGp57G zR57gnSG0x}B3y(`d@Vz+b_!FcbZw;Jz8m# z){R5(wZ(&%l#A^-Cjpn*3!C^(z-~@Uv7x($LzqDd4Q*7ww`5txAh9tm%=pp7H!~ql zc%?Au{bDWUq&fQ(4@r%VL++)}Z8JhDSxaH!*f;RvqM?i18!izTUO)%C2_jcOEUXmT zLFL$Gn%bjTT@{#$U_CVRZ2hbrNG;gIjKZ{ca|jhswN<-?8K@O#*`n}FlTgtkq!9Ep z;b!nGA!{X0+6P5>=%V`z2lmYlv>B{Tzv6BtMT9VP5dmpWhE1&_Z9~bpz)Fjs!^TDB z!bSCk)&Kqcch6PTf6%}1akiU;E?EMl-9KpRbAJeVN+}4 zrcbCVQSz6+kN%Y+1#pz=BwhUhxz+dHBa8oT*x}#th893;ZQ8tXWB8;F3WXX#hY$Sw zjSj5e5#Mp!-8R3~ZwZ^-rU+m_p6rA0e)Bz2yU=rOn8wy^Teog8ut4ca{5b9oA5mWb zsOm17RBcdIViJd~)fNxACTHX1JpSZA$sp@LiXWmM3WoP6oRst6j0|n_t|P)_&4u5kwVpl%K+kq5u<- zx{@|le9yhx+#!31?JZ(t8?m&%wh!6BA^Wl?etb8@>W7vz5ARjG!n+mXRVJR>;tvD_ zbgFp?pZ*}>Na2zYlysh8^zW6s&?pcvLXoBW4($J&lq6Y{eUwS;Re4i`tjUIf+7_}7JXMqJs9$7H6_eGB@RJ7;9(gspx@h)e-(I%BN;Sm!X)U9o#rgJt=ziB zD<2GBQep>?7-?IdVv_L5JtcExNDK2mgl!|XZ30${qK*R)IMCR??*JkP)0AA|9tx+7 zFR4RqF}A@JZMJ?}wUx>Xut_zB11)k>c%0}W_CMLP2Z>wMYY-)Uwj$H6u(L_E+IGBA zZKXB>-c98xQP$%~g|w|@65imESJXnjPZ00iLG9T)hL#;7`}H}A$OE|F?W@4jvMKj` zLOIaxzuMNuG9#LWCq(TQ)!_)cKy}Z4*++PaO-I>P{8&YG9~Ll+@AaoGpc4RxB_yRN z7H3ke{1Z0uA2-dQ{(}dJ5lGsWWKnX7#!9|$`$_KkeN;1P?SxO1R^0u-JOLhFR5_sE z(V#|d+xBf9ObRoomcf|Bj=Yb6&Ar4Yc;6*FR(4Wtm!h?;11zfbIP(BPm-0NSNNd+z&>h%NMi0Klbxhh)gc+? z_kU2_5IA@b_iZBws>J4D64&55G!6K^sWk}4eySXHgBaKz*i&{@c2jcORRhyJ3|sJ= z;T8L3AWBo<`J-(|T8r9}sjCC?NA?F?D3;Wjj*LmY zqp0p_{VG;~YoziB`w;7_61b`;k1c~5KbEC1NnvXEAZ~WTb(@?*YB-rUMbEzf zvEPiO%|_d9T3l3Hyie`nu6{yQ0&^<`uOL4j4;Qc%?&p60eHGA2UYY4ZM_zCr5U%g- z5?gJ*DuQu`n-~fgQ99*6|9jd^V2!%sto@)Nb;X&I!d>^_+_sfJnhmg(U;kg@DrMUe zCo{dz9gKVMyL}1mo$XN~V<~SY?n@g{XHow}TtEI~_s6VhJvh9dZkRh2__%hPkd?bP zk+m14sL(p|X?3dDm0if5RPGV^TAb9;Zp#pt;;?oQs$9;0`j@?XxYfup77bzt!(H#j z9oj0X8$rlY#<9}41Cbb_eAMn}X*X|4Mn!zZ4Z!Mk!3t8(l+*IO$5!{*K5lIwvN$O% z(>n1V{2fl>g*_E{@1PnbSz0Ry=~!T-_~EDM*%LkqyZiM#g@D@4%^Za(70r(Q+FQ91 z_V41zu%))hCnqm-QQreSCzZS$EKJ#QGJQ|Sjdr8 z@!xDs{e-3a4z(QwT3W_1Ym11C)quxjMR)i|Tz2RX#UJ8_Ays<`qV92lI}Vkq?>ioI zb{d-Bp2061E)N~{2PwTHxLVk7pY~F!wAyzIDuF(@r+rHMFY73PC5KV9B_Xu{wFQUI z9>`@lO%E@y;>keezJx}wWl&)d%3|`wi{+!(_+H{!C~EO_c5dAf-Ohg9Tv)b>MQSK0 zrIU~#%8Z4%S?h+HjSm{;U$R;D9XDRR@z*X`|NXR$>dblbLwqUIaJ>jA;r zmejOjv~aNeoaY4p*}tZUO8Ze-Eg;(C3(T6@v56;bDa4d<)7{U1_M?oE7AQ+BeAu71 zdPM9~9BMa;pcNGKXwyv(B~*xhO4Z?>$~FWm-?mLxe&&&Wdvn`%_Ml7-i&UK|617tc zDHswpTZ#=umH8{|=+kby4Xkjub&$F($r!lT%J}ZnmSm)&8h@pGW_YjfT{aNi8K^7Y z2Cp`jop{qE4=gYi()Vn1lf5X3xpnzxC@ zAGBn!C6a3U@a?CcaQH4^#gb8IrKbXxcDgZOPYIhIJHJbqCN1Vf%dP(KUlo)GKR=`! zgUqu}w5P8X#p)i>mfDWCCQ`CIO$yHQ-faU)#!S2N)JC3mrP;o^l0;ZFI@ z?HroKB_LJ2NUoC{UVeuflW$a} zfC}U&#nz*!lcN4ggss1rf1BN*{^(BjO#xs`BxMr^T!dak%j!ZMu;QCLcOuq{Uu94V zH>f>Af$}nxWHJHO0Fc2bwJ{QHfY1g|#Z4Vn{%bO-SgL}K*%aB`mE!UhtQz2lxq!@p zq<#RAJdhsQo7Zn#zmDx4T84{O)AMb^>I%M%cUrgaQ2zvcVlF+Uq?c%au9Ny!_EVKg z@;y0C1eDXOwvJZsR7;8CJMMO9J3iiwn4)?0`qis#VkG6ig`U+P;0!Bi`WmAolJR;4 z+oXp7a}7t3pSHX!0g%JFg0t^LoV!vXVE@HS7cc&^YK8J|2O%O=E-3Bb98HPpa(1b@ z82CNI4gKFLH-6`KG;hgO(bN!6L8%BRztcyF7-@EL(rqwzBg4wxZ07)L{TYrjGg)Y| z=%jYPF290txK-S|VR2$1B?N~{$l@Da40xvkHY%bdq^#JId4lQUF1mkiDuoVw14|)< zzteBB+%Z|mN#86OH>L&ByrSs$h#iwW3J}uElxWCN72;Td8qRmHiEZ%(PSsBhVAB7$ z?@;iAqLj|G>)GJoZIx;P`b)*df1%u=ZvL;`rru5~5GBoS9`_Ty|KgN>|K|)3IOw4v z?h>4qbGTkyyV~9wNadp$RZMrN)58vmb$_!(TwY5Nr+q;cF8Yg@Om!%fx7^8Y2aEc& z21QU|g6@=aSo+^tw1_Wz1)$+pcC#V6P-b;V%mG*`d$bvNTt~qhp&;;xU9Vpc*A(^c zQf4(s0U4;TQ@{umPXj8qX+b$Ha)?)kKwSkD4=UseKW#K$Q;71liqUT6M%`aicqdtM zRg3|wy(URQIR*xylLBr#Lvm>;i%@Vv zVS-ge5TY`+x#R2RS6@@4msv0%c-lPurTkx1=az_KJ>>oRE2PjmtB@g>03NC}sJV`E zT8?RR(F*?=ITd4dK~T$xP_&I8V6N|Pu=(SUYgY(bi(5~nMs8jX1WkfW+W6}g^0A|_ ze@5t0!U8=(QM-hVTzfC}9i1=!1SMOREE_Zls%pHM5&IQtD41E{RtAQ3RBdLJmUh=j z+qYJi*S2vjIhB=;jMS^ZU3V8%sc7+XN3)fi;A{nAABuvg>!3~qDV^;FTHo$^A2DcJ zN8=x1uCNLOwJIWY*Qkt~T$uKu2wM-7!h>ox(#wk4nz%(h*6q zvRA4tDZldr%G;gw1~HVj!EjOaFp|Ros(Yb@T2zTE;<{^%D`qA=8B`Z2m;yGDrAD^B zI|VZpcE294l~?d+xM)ii(EQs66n^0$)KidTwoAzj-uBjTF{+C3pN%TjI6QMWz!H15 zM~tr!(XChp5N|eigG%>X+e9&barqKZ?t&tNvPRP;gO>Y>>Liw~?RoN22aqZ)tCAH# z4?!u@*&DUMbdT^Cn-?zriwcn^^5@rfE~a?01Qy2ifKyonWvw58lwIwDx4_Dp@M0Wo9G|+z_!MX zA2)XB3zQl`Rlrm%87So}9mvMx6CZzk!h`_f@M8UiXoM-enL^!_!Ae%@lO~48s|g+` z^0}0dcwj|WLXh=)hC+hL@u~Zw`@|EICQUT(I6h9xUd#ccAZGwD6*)asKKYa%(9ANeb`z@cab}pI>V)apG!kvppixYMAIUZ2oXL{|9#4*u$E)#vmJq1sYC~7gWzWir zlmJbxp32SQ4%z*L>g6!2oH>h{ml>_;Gp4ucciiu$+%@`7VRrr~3&Zzf5ne9IbQ+pu zDqeiSWRgv(c`}_<4(FeYX4OIwFx$TzXE_*olZzZE-&PLKQcpF7k~EV`fvDh8i4m#3 z#H2!%3MSNAU|2HQ&r*;ElYSIOD42LdbA}dY2UMaw!Y~>yJP(s+mdjzv4c zT~JBpDM9luNfq~ETd<@_S_qVlv1rSQkH>iw_spTt%5eP5@};)H`lSnD)p4bND&gRh z`EefQO0!jOfoyJOfoR#ZzvCA(04e<`Q*9l)0h~BLz^H-|g=MpvGhb?J^Zg4H#EB0$ zQ`$JLy^^Q~qLPa;mpRU`l0w14%so#nUBc4ZrcMgi6f9OhF?)sN?mX8<>!(^y%sOc0 zbG9X=MXqHMvBH7~E8+M#_b9-d^>RWA76yGLAL7ZaVx;BkCQ)IzAW4{5xtIIEn>7<& zq>u@ph76eO=h%Gir`=@Yq=^f?@uMDTZgY+b{=%%5(8LaVwAoQogFVDgb}zsqQ%yBl zHlKR00Yrz3!?gPp>R^0XM0=gsJ!rF=xX3Rgk^YLCPs!B$0Zc!uz$|`x)sA#3-n6Ix zq@wo8V&bAj!I;WACDnZvz{%l0aZTc;T{BGX>ui|;M2bDyu4v6cOFye`=B$@yOsAYw z=4lRy+i{;*QbvQo6h0uZ90KNS?Bixu2>TtIHHx-_jC+dg)86VZPa9RbcKq*Nu2?($ zFR|N9oAzRO;ejzF(zth|n4vlsJW3}P{I^%I&-{7w=FSyQtIK?82D=nY{R`#u+#SlP zZR08i6l@u#3|2??3b$e_bFWnR!i9^kjQ35ZJ$PKkYU0i!`CWzFM%%$|zTO{;#Or)FI{bVA{Lo682YEoF@76%GQ78x$c zJ|R0c(|%J_Hy_(X?rMF4i*@zHKr-XP%C>2Rhws;Y)GP!j_QzD~%39aco}b#ZprTed*(&kX*3^=N(=DQsbWh@sNYFe z_WQP$Lgf*1YQr3ByNlw#ZxXmvJ}rvq`M00ElW<>>qD@Rh4efIUY}144z|9Q%2v1vD zId5*5)7J^6&dQ-l;O84t#a*z;LYK5slPWa}B?=E`H!Tdq3<~<$BQOueyJ?H~>FyZ~ z%e8lw0G6NiUz2sfvim#L*S53hNqsV|?6aK(1u6AKP(Qz^AmCQfFzc9xKNv@DhiR>* zJNC~|1GlKAiK>SYH~YJUIz!vG?PrvIJzKQzPmV>dov@q)%b*C*ZB1x;x+-TH$41i8 z4?G#`CX=>aHz_PEDSbuQrWr?S4hZ|ef+v~hfy`ridhDvbY+_j0QrWa0K=rfxv8&?8 z6R{L3r;v41*&c*zdoR-Jfx$2Qe}qgW;J`+hw!#7YhVbn{)m|1TN`H!G6p(*0@%iue zJoJB7Zj;;CShs#78o#<+v)cETt9pIU{Y@J;aCyUqwfq#fTkWdN&8ihYgjf(z5xI5Quaz8CuV3W>tsoG%=GQzx2*_>`0S~0Jt9^-E4~1I6Y?Uter^~&;fSr+b zYx30v=%I}sAlg9GRjUm-2_^3LB>k2xo3|j9I7udlPdsw9wrt(JMFIp9z@dRmA1JO8 z|FGdcj#|4GtI5nwYS;uWGf1$wrrEoCHDx!Oi%saUvAF@$8+Et3xd!#D;*9b!)2|Oo zYoN8p_x6j>=1riu4b6>;AY4f#l&gFF)^ZEH?{D0&Y2&(e>({MYBWeFCV#a+FMR_<4 z7yEVpm&w)JyGqq{GWurXuI*1ey%x{)hON%*9yc`P<~3`=>Ic26tsF0zz6p0Zx?hpe z+q=!T3-FL_om($&Ki~%pt3;XE#cll84eQri1j9l&+f1Jn34g<0iZg|`evx?`CO}i+ z;3aA5wiV!Xeks>mEVG2fU$t<;@Wh%zJgoj9)eok)+OQ!KY<^7>nJ5_Bsv!6&2w6Rl zZwbL09W4n(C))5+fk;WixUsbX^UAtmwF%i)aMhZ@s%E2@Tct>$L%y z>RU^>Tg8tk1L3gtUMC9Lj$?%p9?3zn)Pv0y)NSG1+8-?jdQnnVk@ig($l?XRc*1bI z!nW-_XM(nb<5#N`&@d3St!P|*A0x6_6$I&WThd+<_iY=nEds8cs317}RxNMyX_7S9 zLBmasXwY;%{Wt&=BCa*=%W`QqGJ zK%Jo{4GJZn0oK(3qojcdl;_%1Wdo_zp_&X(ne;;U=l!_?dj-h0PMti(59KkPo+c8> zGKF2QkV4=|26rj|n4$H4)X^(uQpNP-oablSt+-j~nxjm;$tmvY;-u&U|?WR>`l`aUFx}hvLg~ z*x-MjK6UyO9zSscX~psUx$|(8(WHet@xyUawTc9;pHq~1q6{A$Kh9CF(eG&NPxQAz zJEEj;ERWj(y?`AYMcADTCrIugcmL1mCdvDbU%F%rJ2p<28@hZ^aXMh+6zff6+PU5d zc4KO*!@$$!z?Wj>5r-h|Of(IP6UR@)ivA5P zD$uo1bd5M|UrP#;#BGZ&+!Re6dE|NF_9^(~iWGR&fFlUJ;}_a~ZsO0=CJ0 z`)3LE(`JYyg+J!TW{<@&)#%vmM>R%{8aZ;**!;0_%wv9xAMLy2C_mDVEgu`}0dk`= zfc(giE`%`w2tUe=EJp!UJ?6){$68|^d(5r}0F~Zwk5wQCkjri(*ci#TW5xpP;Sol= z?gVLEg0XFNkM1@`Zd~4m3P2U($BoOzhQ}O|H31pLwTgU8Ce~x(=pb3f`*9H*H}L;| zqG6ou_rxZ2yHUl2@m$G}Qu>;N#i)@J$X|>Lb}=He8>PffA}p}1+X3MWEtr}5M|E@P zE>dEi)N-RL9r?Gf1q5>4I?eZFa>kAwCu2p^-#>m2RI)qc#`3RhRg9LY8kWl$pP3P{ z>lm{uN7l-(#Bu#&v2^<)uU1eNuRhUWTCZ8$clRe6Mnr-+S&74VQbfT-kYjvz!k5;? zSovBecHPw|KT*j9U6;EAiw+Z$7TGvC)*%%BqRSrvB1VzNWfag!8!2&Bpqh+10IKAZ zKxKjsP1!0#{!XxT_~@F0k3`osj`)ESn-mCTw{gzfr~+$9oX4Rj9%1Y~v(jixnuPQc z2yk(C0~#fpdZ<>JEIMXe0blp&yXvU64IK?9#khLBD7B^jV-46yxC`!Fa?7Lf%!l&Hdz(r@) z@uqHaE8z^uc0zId09D`p?*+p+Ev7ybFo}p8->?{M8=jSqGc48DcG^8w?WpdKE#%(H z+#7x_TC&-XqaoZqYE&{sHomEtMZ1FQ1nsC~icUEBF)hJMa&Zi1HW|aQYqgEvxv0ps z72A$drDNsi$d)n6yqY3UqA7B@CPyb$Da?F#ldH*=UJJs^E~5YCyK2jSsj6N7G5>zC ztJHMMg1#-kyJ=${(^y1j!}RtyKL6P`$@0(3i0W`3d~{D_&H5z-9s_< z-cO?qVsr-r9W=~krR0^`+#}^-{;N8aGk}y*RmR&<@4A~#fjyesM!7RcbUE$++|xKy zrty`1NcpzgI?5_^_!?e|@w?-45sb>DT zN$<>`_WDmXI5zHg2N)3;KM$0}_FI|uVKB;r&`u*V{YUq0N+C0vDPl(~X8F>?vp*cj zA+O#6^~+FQ&zM#Xc&0}#!J~Wpw2#v5&(x+QX((Vm1O~Oml)3jYUY5bM)GaePH;KPT z{b@~#n?L(Z0}hQ3>gP%Q>JY;Q)qg@$-{0P6WHXhz_~>V-GMW{OXSCqdF?RX+!Tj?y zL%E3o(#XE>aY5xjeQiL8eF4dsnQP5SSmA)63q;d2O(tBY0gy6nLePZMefu)3R(&4% z3;bmV=#-+KpE7ok8XzGP<^Fqch76YB3^hr_0}oQe0|De2Q{1${y!82fs5YiFesGWG z_A%wJGriO1wt`PvnTqH4qnL)Ww&zd_m#X&NEwz2o6+_?%Hw90@fMe@lIxu8^u}`C` z-Ftt-3bF$t+GI=Ge)iCzw3og!{*l?;XWvoTjOo>EmHyqg-|uVfK*jK0)6g}C(<#0c z;WRBq)C`~H`>Kf1h^LJ@g+_g)J%hK(2-S$wSYVkb{{KUT&QQ*@g)@H5q458}1x1^Lsj_R_qA5}rMZWuTd;ENg8XeQLr}qakfodp@aS=fJpc2O8}U!H{UO zpsby0dXo!#(fCTwZWA}|`MCB;w#Q+&h>xt#>>XTAYbRVZ9$A{C<@Qlv40}PmWf*|z z*oNglp(ACxWNW=kq~vnuhfPBWy9-3?!d~p92w3|#Y^R?G*EuN>nH}9oD>-Tj@RvrT ze{2m0pY$2h$Gbm{V96aG4Xo))Bd4`We^4xcL>q*fHLTAA)Gk^BKi<8KHf509yDhcb z(0uuR1_Ir+bpMH)f>=0!evB!$(UuE%XOz5pJKxXEzKHb^J$yMUjcy?jv4YzcP2;=o z?y$}^IA|s`d*J)bVKpB%ZJp7LOnrZ~JHWU6Xe*t+riz+V6)Ew(76!)eHfL2$Z3ee{ z=tmqIZd3o=cG~xHb43~?-yT7)De7t`qDwUUNc}g2KTb6Uaz#n=W{Q;fUQSfi2o&yW zM5Ow0>4e@IO_Z>swUe0j<~B9R$VfIiUH|=2{IK|dBR0s&aaePwR-M;eaiV;edc(r| zb>@yTcD11}q3df)Xsbyd%g*p_+=Ys4knhovn!Vq}cMP%*I7Hmq*tS(Y63HGdI(gph zBHrAt40-96{Gk3m2aQ{@t@^-$9H|9azPqEoi(YD&+e)UTGDid`a|$>BThjEq;{o3h zAQ~BDPBUwA&#qr;cLy{gqBpY6$TqC44z(f@#9a+*&;pMIxvSi~iIl;X2m+1E5N^Fg zlSbUx4{aQ{BTMp#0~f-s{+%4ZbC?*n==3mbqid7iEA^7dCxLDon{2-mlM`$3lsWs~ zqnQ+Pep3Lk;E*yI9K;yJ_ieXo|lg{31R|LUtu|w(P&uV*Q@zO1m?P#i3 za7Wk97XJlyxoIPLmd*VfjOtuAIVlME9i$6TFW=c2cU1N#Plt_uQ{3FzvUw}o(*;c9 z6S@@Jcf3=hDUUwgojKMEJBpp}?1;eTn;ldmcBNg9Z&Ji}%n{i;)sDcQeKug;;1(sjG^;bz8?I>(q8zjR6gZtxq;3JoZ7+$+G`#2vc*$8Boaf$O@BWI^J_e3PaHC@rCQ zuF+7eE+VOxZNHD$G%>APw{cy7B*)LVeAA}P!i3Z9oJf)5>tONU9DVx@8DKi|&H;j! zDN^TGE%R(^xz2#fji}%@^>5xNl~E;TksTtUiNWPT0pSZd-GU z4#Rb3@7HGQa*}l^Rh9!IyJ^XBYQ2U30lh8Nnz%Ns%aqgGKt_#&?;3HglmUR7%Pl5i zwYj#%DFX@5as$u^7y-;T%Q$qR11NnELb*i&hIJ1taY-U+L%l5|dIR22;E`3^($s$w zw@Q@dApE$VY!oRe49~xDV|~+*&17l#195d+6V{gN5WuZ3)@|6BK{elGi_&i@FjKx6 zm%3ZoSE+gEoBlh@k7TxBq?v{KTMdb%w}s-}F8;ixqB1|1b|hvyHfcIxW~0Uks^lC9 zO|9+vvswZ)-}kGp=`@0vs(4k+Ym;sNc`&fR-K5(CC_@W}qm zfJK^mq?wSz|h*deMA)c4WL=W3r;Z^Gi%akAp-AHiuTtBSY>mul7!z zpBZL(hr0BeG-0K&lXq&jAJ(t@CY$NE9MU!TH`I7@n}(8bM@Em3ahN3BXkkz&sG;I( z21ru%o{IjFSEHlVgJZ2VUAJkDK+*<=0FtWoWZBy^2mm2s8pX=IYU%n7?G`tJ&8-ed z_W%_A`^`7l;G2hmQIkYTJv~6ht(%zHebrB|22hZuN#J$_ELfvlxL)1J89tqBf~9_R zw~McD6B&bUt8pa%hEA&+w7fvZ->L(lRz0J)%K{B^kM(N4_}5hwg;)#;`m8fG*~sHF*7wy?gU|L=O8Kp27nGMi8y>#t^ZxNK5@L6x4iWIuAq}lUe)U zReBk(4}#JyS;^llZ=tRF1gfvPMCfMi3Vlb{o%;OLM{}cw&KWS(S3_>aoAfT^0OZ%z zbmVV5f-JP20N^gyuFzt5{c4w4!V_yZZsPFjMjeL_x*0D=BV1jr!`|I2Z(yxo-6SS1 z7ZmS@D><0I!G``u>O@nkR^6@>6W5}C!!GVR%~6*wUA~lG_E$3T^Vf2&(^qk$PmMbK zLnDm!dt53mU%FJg?5@?f}SL&Br7#I|>9Yn7c(R4xSkpQ>f znDx7^BxZS$+!)=4XPwf2=aq&UbirSI z*gytfB%^w+2E}-ho-h7L7hURtj*^h^tUs3-M(x7?ezCkj%81KflCTBEawf|4UKos0 z$})wELoT>4mG~t6dalbL$Pn@iMnmfhN>2&FpD!<*&%dnBX6J?=Om*>>%9vfq&R1u0 z@JSk;^XD66Q%DKM^S`$2(1p6hKU02rCi`;8x%_+vr3i|<&_#|Z(+{;Tho1W_|EE&g z=5!4}+m3NWr*21cfRYKI~4&S2S(Or$d?6a znw;w%!h_FcXWgkf#0!3lq}1Y<51*@_CAD_epUO{{XHM78R9|Li>hLACX1tXqlU4Gw zWaXZw*n3KAs?82-zCgbR6TX=GI&+q1ei|j|bBlRYklDa7YUUO-7gEi*C@!R8Ea5%N z%&`JI&&)9mU`@kA9kcu#BPG+Y$FSg`g^3YE;EWSPdp+YCr}-JQJcO4k#?5J%SSeQC zMpstMy7ZdbhJg3lb1RuT`eI1(F-EODuragIm=7(`bYMnk+62+({0mG3p4LBo2Gy_> z;-ZQeP?-<)29x>tCtFayvLHO&NaF~pg%fp<7_bVGXQ-*>$2n%8YW!a{pTVYx(vm1) z0Qmllm&Ad3MYC35z-mZyN;R+3&3`ai6>?%>Q&zaROrmULY)hog5HE(i! zx?uoe9Ts9nwL;xC(9JrySZJxz?mbvF6(MH9%q}C+<@R%fFi380UyVn&V2xim6QJ$BUUJD!vrW z583RYl-z0>?t{+gI)(~saISAlqPj+-POHkC2eYXgqyn2EptET`>QL8|SdAi9u+qYU zy7|n0ni7~=`0@~na@9*DSgi+57H(>au5l1-2KisTOl2i7iv5P-U@8Rr%zo3f06Zgn zUxI3eo0#>gs89&!!xMRd{R9D)a{yit0@vQO@)pxmXx?_CkWHkw^h+9lo*n#L zA8VP_`Rudw4^ET`Y5ubz>>0)hOhZS|XVnu%zZ%_ukkh1g%562*UCX2f+YBRCQ|kal z3XsVK8?9ip^5nUvBXISp6u3t^MCcbIDfqbNuSe`0jAKD1u!5|lr(#MMoq*X?+8^O4 zAQ`wex%PDSOg@Dg=c)B6B-{BlAassAnz-JD8QA=Z5`c^jIn4>xR$E_t z`r&7&6c`^SFf87t&#O@->7~9mxl!YlCl6B4i)?&`TxFYMG&6}~e7ZKdq@RMp(AwVv z9dIOU$4?jl6iI1^heQtUlZQU-$B~Fcc0aKOr3~30(t_X*AZ;rV0A~PdFQRG33_#nE zqG<9{|2Ub%_BiPu&`tH$kg353T!dnvyaf+|OX3%}2&p{5$&hu_%Zco$hD=Hk+S1e~ zW>_G9a!{w6l4@=epm3s)U_v(0#_CUulQOL#ivUgc?|L$WLP?Goi76SVp%u+yPvDgD z$tNCpvc|6wNxSe=#zo=Uo`N9R6V+q+*phMv6QS$z3=lbDFrNYlPZUo+@mSs1D-6i| zKVHXR`n^WO0Id;^JvJ76(eIiNAE)LapZM!Z@v)lW48rk>F#?3^Zc+m~@>u{_K-49P z%L(HLA+a*X4^N~zgnE;TWO+f21?2-1%JEb+@|zdZtXQ+NVd(*Z$&!#eeG4=1AC)W3|$k+Ej= z27Rh0Nfida9{(S8RBK0X4OP2$P-BX0&d>ppn>H3nBl1c8Kx6n)AkD*|Elu>(+$N2=)7UJ_ zeQ@ZR87H?tCp*b!ay6}qDRG9NL0~%ix1nPkUUSB-SzB9`EKcG@(uVO4e7@2|e~uEdnWBxOoh6-|}VVt$-n&#-{FUk#9h=R0v*d z-nTykgTTP_eB*JCO>R?FgtAo$i%h%n5(*BDgVh9G4NdG*`Wf@fjAX(0eve%&L#Oz_ zltQ*VCb7H?@lqUNtz-UG>G2TtENeU`(dQ1TWw_I*yqp#^;coD9}ZGBg@f8zq^l z*@4es5!%oVc}J551MXo$A>gcw0srV=os_+KljOIBPC>RdkyjWnM3qd4rtSKzeQ06X zjj%UDpNz4kTEj;z<%H!AX5(okk!;~_TOa{J-fmN|k%AEr{KtjmWu>wLRAV*|r#vNQDz{h`MZF6oxIe@`A0R*3 zS4b!8G$e|KOQ!}Tax${d`qny?Y>@oT&0~=m%50@-7O=9KTS{7t098{&gl4Tx(*xI! zuu6}y4{sw0x;d)d2{`RDAJzd(!xTlZ+@=6v2UgBWO<H?60gq`IM;;f+fgGEVllI$&XH4$7E z66Zi>OnmuNHZfUmuNA+I?Ms8HwdOaGXWW$fVH(yKwnmBQY-hO(l?qfM2M#>o(uu@a zGJv{g+#1G8lT#)kjIoqRN4cg#jNE!Fd4ilWMw5jldS*B!Dd?Tw*(_RyXllY@y2FQU z4dg;HoJW?fV;S|t++Dp!Lty!rxr&yP->&dyM`a_XqJY#MY0IDKtqvHnzqXZr%CgL#o+AI@UDV5-T$B8bC{_Hb|12B|D(%1IyHqw7s3|M>HjSQ6j_OXiTb{3@MFPkagB~ z)azF%d7N!4w*Xr+(E<@bwpn%*SOf-(Y}rN@xrRA1$V5VfysTV;F?v@4QkNIV1rrSl zRO>0tST5v{kt@U-oU{-SRKQWRSidDTpl`FUAmQ9*Fe}MqZ`xdwVi|#Bbb`fYv0A-sGL!4^E8PmW(rq4O z%4OEZy0%=iHpf)B5lVMg_N-j7d>LtJQtHvt-!zEfnB0WQVHhyN1A(nrzH<38K7>dD z+TA9JY;*C_#JwLF%A~{y84$J3aKe9{p^#)uHC!%y6TkK(*y2s6q!4qVNJasr^Z)em zK#hV6-;`eiXyfoQ(o>osrFmx>_eJvHymGqX0|6QQN?T6}Tx>yD5DY>`bwD|fAlR#$=6D7n;MM0*`ps*z_+quw;* zPE!ce{6vYUey8%B@*}sEMK+E2DlZvmj}x-wFd5fUtr#Ko$c1wxfJg%KF;j?Z(r0FI zqI{qPP#2l?TmjYfbpRp&At9xZ9H08k3KB)(tkTJ%lwtIo0I{)XS8b50CAE}z0<1Xm z4a6jueA!Nv+NfHxpjQ)H=_A~cht?cOOQ|Z3-PPvht3*5rI#az3D%OIt$+t?X zGG-QCBU-2(jF!kV1LI|*38=AV0?Y9q={Ms_i{u$i7Y!CU3?YSGdHJfeO(3MU&iXUO z>93KDiV7u~bLcS64xq$N%|-5Pq**f!luJ>V!z*d10ctWVsXtn^7&)3jgz=#R_Ltn@ zV&8?-lqcf?7jM;ABNg!+F@l#=8e}VCP3y3ehID@2s^6>u;*A+ID%)NR2;}Gxyu}Ju zX1s1>va7AjmoB%-sC|sw;u$rFO0T+wLuOuyYzEf*g)HH8dFmu(44uKjX2J|fwEu*2 zt+Qw7=>&>29^PQSEm>=YL%<=~rPf8;gR}_4+18n}YFt!HsOfJ*hFi)|2izi>>e@_V z3Cx|$nRRFY(ExmVTCq`6Yh_gDAu#b;2D_XXvAn4w%46>+sZM5CP&-(-T3lubD*jh8 zJ-Zl90r@4+n-)&8daq~K%B$CM6)8YXI!f|rApTUtn)!gyPLL4+w!c{%bnGRwdw9}W zhz*QZxZKc=ttqjV9genj$bV`YY|xfRV_rDnuhn3iT_)#D#`>Zr0Gck=7H7cCQ)=T= zs~cU5%rI@TF0?1s5fo5$1g3b6*84`^;BgI9u9LB5LSx&ZsY}-A(A9X{U1>t&vh8YE z#cl-Jk87+C5sTPHjdaLI1F;}8<;j08VrEOJb@tr3vl*)(!zF4r_Q&d&u!dN4BS$)P z>E}IDp2q);)ZXV$w2rIm^jIXVo?~j;E;~RThr|=vF-^IoG=TMJDh8wyDVDeSEXo$g z8egc40!LtA((2-<@QoJU;Z%k@B#{52j@y~>$WqH7lvYWEQ%hZ%^e7*5U+^srGruI4 zM5N`E4NF+BVwiU%)b*T0Hgq;N??GKKTThwdUH>~Fj>fd5snN3 zfW$u`#!@IHV3x zc+#kTj^!WOAhoW`Q>@2;?6ECgOJ8R2hq7~BCR|#usZ~?0<8p}R`iDbm;68V*b~Y#4 z22?1I0~3HTEe@3j(Gf#ucpgsbS!Ug2FsqJb(239iCX+a9Gc}VXLL#DJlp*La(QW2z zO<|bUNb?j+8gohF1f?&wxU+*ykSxVTpbOOmNmTj|+Hop;q7^szQ*8aG^0waLi;V9Z zM9wtnG~rltp3@Qa7-ZN zTc!+dq=3Q1WIP=DxoHCfbYz+M%!7nTics?rTaVA5H!q@GOZjt82HWf+^(v;2rNN?U zfSyKgYR;dZ#7ChY*9lA1xN&vbT}QG;Oi*Cb92d$K^uY~-P=$fu~`m0<_XRkR6-GqUOTJ7(wm zdIRoKf_h+h<%HRDGSs041P}Wek#V9}fLe_9WJ!%Gb!|^cACf_)ipEz8;d_no>u@2Q z5*t1Y&BP)bK}A%kce6Et&l*d#XlQa#(nK>wJF=15*MvGvq%5rQFayC83?9|}w5Hj) zGxL%x=+i;t+DNaO@}$quBD8^jqVA?r!7yct(#O(;5uv8Oq#}DZD}X`~022`9{|*mQ z=J-VmF=>)4OxAY-g&MH1xu_HZVJuA)<@3f<`(g16Dbf_!)f41U$-0FJ)yxbA+4M-_ zJxwgFSOnRWG#OQkpyQ3^1e;p>(oa)V*o!86a)wIMt6 zvm)W3&esTceT>qGN&r8#z~mWZJF8qSdXT2_T61qcjamk-Lr80vS_oPX;icU8v zB5$$>Y1e6)ktW}tsO$T|I46-$@L^*9I0wxGh>I(TZMp*$&ewuhBt4>dHOEo=pbf#*-ycC$W z8Ug88M_^%W1vj&{7)CRVZV_TwPB5v|mrnos)Y_E%naKL0M23LVZ09ZouN2t*=4BDNJ53$=$2L7U7>t}TK*Hv$Aa?#DLBlQRRL z_Ds#x6}p711CZ2Jm%QUH#{xAmbpMIQhRT9AoaD$1E~YXCMy{GVl#D>^Cw0_w-5fn; z^5m!U$=Oqyf}BI7_H&DfpC4VDoWp~vs3dO<>&qZ&uUEsr7KZ{OXAg^LTRu(@Q_6rJ z1)?tZ8b8Vusv{ALU@h7ai>vKh6C$3fQDsn2ETCIJnkG$nt1JLe@hY&5xE0;>j@vlx z8r+C0O(VwLIEmm9(=;(62da)nHF+o^kESf7xd*|B)Ssv$OF>bI>?+_+%VH7cNdcN>b@1=Y6z5>!SY zyJ!MOg3+_eq#U!TZYKjK;=z)Q z2%A@?S4-s--eigznE-4As2U-#+JqY7Xf%f#QxM}B5SqrJfg^5&swk-OP|#EWI(8Fi zQPP5bOc5AU2hxpVR>=s~0n8jzBSg(cnK0fYH(P2ZhdBBXjp5^|?SWElTy6plGR^$R zIN}$>_x$P?mC}z&Tj<2Hp^<7DnZ>lgt>pALsO`5wUTLzKt}|>-*(-H6fuIbF9nJSP zbX{k_#rlowgPpi)DA%f9fGyG20e5R!8e`^r#r7^|rWzC`zH4>*?0TzJN{2SBlSzZN z(uw*HMo5{4jnL=3*Kwq)X@aX^!92dOxv^=zD5YOW7Odi6xd#^XOrb_+@E2qER&l&- z;{$07)5)=Bi$RFldpcuIBLFMQBOoeQd&4TX+40d^=u6}8HNem2(TQ~rrVAUJ971b4 zqg&&885Y*-S5?eU3~dV)tJkgxsD?~EE*+%%^?mEsXx^Qyoqkc~D6IdV?XiB$Gt@c! zs-Bg|uWX)M$DlKeoyI>h<8h_YFMv0`ShQLddz8#`=@4GcS#fnsQu>~1rHBNRQ6zM> z&51kLQhFtk4L!w5@*OZ!j)^=D%0K8?xw40=8s}!2C*!2E_;LjbD(9hu3n8;A^!Sy^ z(4`cN4&!}KSSc1H;w-GhR!8b-2%K0D2;e!cNjL?Qn0la!Wh<5^S~8KK`c|yusC|W^ zQ7qF*{(}{qsW0n{!4uOca?9N^x303F3cZ>{xvB@6W7s*SdvTu zkjs|7ojjRz?_aTe<+7#A0M_JBsqi;5`U)5VyY%g)Z@=9k>sGcf!AifZf9czAz4bQZ zC3_^*Z(`%D|<*|m;Q0V_77RQ8PS+z8R9^UkzC*R^j8C75p{`kflAe+NQF9PWP z*#E}spe{4H#YgCHf1~v}%0~nT6lC|u>J9%oYzYt-Y~MhDxyUcT`M zfqFnAMh$=T;8%Z;-W7UdW(?%)s{6w)UQK76I)QEIBvHp$jJD#`Qipe)!Cf{K@F+)K zikBCuc z#2#mx2*f90+sC&W<`$0k9sA3q+JHX)aR16D) zEXO#o(y3G|&@X`UOv!g!abWnbg!3Y)OUoht-9881MWLljaGE9bJtj<|w z#TlE|*KGOVAs_rTih|QsmDcec;52749gzl*^>tPGMG+akC@{61!Evp!;0Yj09Gl7l zsL7-ARmlx!DiGV@{6+J~7j~AIO86X_>+~=|>Y6{m+&|pZxu*KXa6mH~k8#bu9BdTb z0X_n1`blon&%PPUSUlh)j;JZPYfayrKPe7ZMX*U6!(A>IBa_*6?FlCG(8QQt51 zpYr8R6P+(!9<(lYXFT&FG3m;-pV-TScXDlLo0Wjv*@g=;weAl1ilQ zGtt1NkB3V$eS+O8Q%!^R2b0^dD$Yt)=x`HV29cb_r&eBthU>`H`7h=u~$ay2@OsOhhrM5cU=*7Wim8^`#$us8hiSJX5EaQ0CBS zJ{OPXytSn9Z0SW!58*|3XBb-={^dtU8-$mQ=hcS?c3x1yW#*Q_@uVs)3Jy7fw+7iWz->yUs-XKq-!oOkz) zLVh0k4K@i|W3JzW@o6;MSi|?Db4|g6yDGz@QH-eBdAk;#<^gH|;s9H{pyueE4gqvX zzzYlm%yQWWQXP4t1_`!D3wCCu39r=r!F0NisOuff@a(_=>ajZ;)tsOLZ@r!tSYI{` zqnaaCny!&>dI{ICMqX{qMIAxosA{BMveV$by!*ZeK8^%wti3sTOsLniYD7AlNMtmi zFK4MS53W$CIV7SS7iuYlNypJ4tK-63jIxNnaq!9 z4IeffP|Xk2J1_72GB(0z!;+AW|K~w;kG6&}{?68cfrvxv(P6`kTvWutB5=_^S_~7Q z-qm$2N|Z;T0R8kPEKQojh7TL|Xn>2ZC6UWv!}DR)qq@`_rLmp@tO>bIO#eR$Vp#d; zuw*M;68*@ZhGR;p0GaS;ISkiG8PSN37A#6HM~y(D94X!J1sw-S2CgtilPl2>s^80D zVR#p`{O=QF9YW3D|L%7qAsdF*`NjRd{M|qK5g8_`9?k56`(4EqSsRf+aKEp9=l@B@ zF$IO=f7kk_-~AJ;2emQWKS3t&f2&6WzXtwyW{RS`{eSm={Kp*N*BM;+i(Qn~*?5su z73Vj!7%#%`5T=Fv!=}c@O}uWe4r_+4rMPTExqic7{V-Su8JnomTGPjiJ)`FJcA2fy z$n|PNzW&!68@%^Z6Bq4^3~L$!;U#aKm25JAejS6~smisAFP#yr_f!IRZR8zrb-%se zuU-?^_JhL_2bA-5I@G8ecmX&k3j8%!t>%57cd^y|y&Nq7t#|r-ZG9aTzmKf%r^HV$ zS+SS1lU^tz;hNgo!22zd@_HS062pJrW7v3ak4`vNud)|Lm2a+Dt#1xUv#z!OxUS%L zy`XA(J!c!M2d!zEN>MZI?eC#=Kk)9g%E+wJF@%Q83v}?Be^{#n8U4AQ77#tq;n*ST z9lV+fJFJ_p`SseYCvugSNKmTYE`H%~VNFY1I0WD|`+gFK3oAnp)qnY_0_EzxH9#F) z^w!RsG&*v|(6ch{sqy3B)fCjOeq>F>i9)?6TV>}O8E&b-(+Lj$rhj;aZegW0*~(f^ zeO1{DvQ9UK=wl3P>Z|jWgQz#G5K>%+^g1Z$&>=G|sqb8ouhiRQy{Etoan-}9K`kJK zk*hH5ia{#}OXk`teTCvTy+u!NZ?>YoGV9^sNxpd(L0vJwEc^ zT`PYCTW2P3@vgnpfXn5};_?TOU#4Fm&6$cIa{C|ruWZG=AUk*LfIDO_cwIey$1+^VD z&7wZ7$^8%WrwW0r}>?lCf}WVvv!4dTvOu>QKXt)e zugBTZ$ge6u>f+bx#6xzycA`4Mi~O;p`7yoG*3n1OMwOyapmVauNPE419x0C=$&c0m z7|hj&PUOe+246p#9cwYt`&fpS)$yTL7Q}D7Q60~Y)Q;AVp=SMfb)pNgy7VdzkNn7> zqdEYH$E4vS$6MeZA9RejNxdK+(aUfBXmRW)06L~n6^H=+@vdY3X!S)roF5r1iGRz7 z6^>;`iz7#mhC|_SdE{_BGUO=l-}VOq{ugh2N8PbON1MF8A37KgMS&$Ak=Os<9_>2f znRuEV9xA@P%!_*v%_IKkAic~U@t?;Iq7EV+I#L~dd@sM8S^-4a3mvvs= z_@{Qr?N>9OXQ*pGZ|{1ad-PC#P_te$t_?ca6f%M|_)iGshnj)`gtz+7Ka2ZlNjot3 z^WW;d@?idX@!7u5c#GTL()iH;f$CuV+~(0r7C4(sU7uIonKf>z$+H^YrS8)IG~RWW zqshVKv}}@-;oV}0t`F9`!T5|chdMo(YtAEeH7+0fkK_7y+36;arR2^Seq}_vMyOZg zx(tYk;%c?6#&(VKqj+?)1Wz`md<;P4%!U}0nqPTp=dXZVEr~$7geP8gj%K3yh|*?b zlix*Rzo zj{Maqp4{P7VTK>U5~BUX^D;tqkLHqM7TcE9<2eX!&|Sx`pv|s4=+ayuL-EjhzYPhs_GspPCV%kA0|cx zuS!FVi1_@uYqAWb49OeSQb1usYMj zppN%@beoPF2N{0U*TzJGCJ_LXu4w4EUdQWwJQ=T3UeK?vuZuh~swE=>mZv`$D%G%} zkJEYbC~q&#)+_y%QhBtd!7>NZk|Hai%42|%9Xw>ORiZIRGWs_dL%6z5J|wC!qlbqO z5;!UOfCB6241y3~`pA!(L2{!P$-S6-O(hTB%GcF+O4rkB27q!a>QV8Q#wcVAj`@qX z*7BV0)`Yb+$OOv{*02VNvK7_JeAzwn1CVOq7>la~xxHPO<8 zsJDkbrBK{k%3!4=Oh`=8bg*gav906LFjyLjJd1n7<3n7;!#_|w7-PAno?8izfZ=lT zOXVNQ5&1WQAO?wNdYFY{z?%W%w%#P+75*6CFbJNbd2(JM(|W>3NvZGOwv?F#2%v9e zmNp8n$DXEu(Y68}jhEq6Qf0{K-mb%2jN|LcY8eCr$x5i!B^-&f?5$k+t2eUOe@RS` z8pU94d4c_T!hZ{EWN+1A72asP{)gB9@Q2rjuDpvAr5^t-UzROx@wkl7Yi~xV^pTzd z>eW}haq`PaD(ca^jxg@6YH1EP5%aJ6KloP*R(Ie*I+D;N@3pKByYT<@cCO1!TuB_~ zTxLd=30wKHm3)Y#u_XavZ*Pzn@I^Olu#2Mh<5ETKlHg0RS)4er!GJegWM6cH6O8Pc z+26lMBFhUbvMBpZpT3Qx(|!J}K897*BEzQJh?DBi$^BB^B=!b|ymxOqm{QUBoNr8S zPsWqUDA6nHetGY{obK=OV&vtIXT_@Ax|`f_$SgJ|V?S}Dg5-i52{~rsT6WVNqB|c8T98>}wh{oz|b~euc-S{yQBZq$x>Vg0yL}A&9 zFoyVJ)8<6N$!JBzw%=ZZ4ORf1ylxQk`X7pa3XO25DeS|ld|04|Sh8(ybuy@q9|Bj^N8;iw{Pkr8;oj-7LqB~pit)l5^Z>|ti2 zMHp;@T;M@S!s$Q=mIg|;9h z;yU3v1rcL_SSW{f_#=$0a9Wa4QDA>wuz`mzGgS!0ag2D-m>-=H0;oVLVJM)$uG4eCq?gpD zb6>+rX4K(5wLuVAHhpz^%1`n#F&8QjHb06|n1H&eUpytlIL!$8%|7mOG=A@$@SR|W zaNwT84NUMA`3&3|7)jU+xS(zg5(qZ&YUU)EWVitfNg9rW5y=J*5iL6;DFtvu^MX)4 zeV*9;kspFtsxQAolf5X2{v!k_&Zy)6XgEQA3><3VkH}?AD}Rs*QTn=2{|MTPqLr z))VW7Y*Zne(k8n~Ds!FSIz`8dZF+OUg3A4{4FaJh@`1LyWAEC`YT-rTVsdgq^xW*Z zZo{0mKt_}?9+{Ld4iMmPeae7`5Hpjxm~M6Jw?IyjEq_AwM0@WjfR?fQvE?-6cG#Ts zKVqa>z9uk_oP;C0$m-;c2Hfk-`$eg;X!nYA#;}KOSawU9B~Li}=I0q#Nk976v;HF3 zLb(iNz&8HpSCxWD&ce(aZURl z!&NL}ZaLP?MJ6`-K@dzA+#wZ2v6ST3j32g!Ucr^Dm%%V_;Ujd&Ob3lch|3&Q!gma| z!FL6~i13K2+kjg=$#<$7i@e6Go<~1V;v(#&W*PI)ad|cOy1B)piI@j0aGj7>ouu}B zRy!@)+_Jlzpiu>Z>tNi1?oHBrgTC0pfBI>3i{&nE^3cWnqLb&H{2;qheR1~1Cyo*w zMRcm!@q{OCQr9>AI_4Qu&5mk->VlgK;-T@lF2r$L1<{*gvWn<}*~Av48dL#QjJeH% zAj>m48g0Wt(OY2DG3G|qSUeT1xy|WqqO9?R1MiKfxU-2m7aK$?j1}W;6RtR`+}I40 zIHDqJ7I;Z#KaL}nEs3|^m@V`-e4E&vfP|+JVH#}o#eVx$p z4#8uDN@u74hXIA0#CN!Fgp_KStk+Jz95W$F?gxIo;2TmL%MuhJud|LSU7VZk|4r}*k*^wEHcnCTx!uQV9Yr&yT-UKme5*x#;_Vp?WsIOjOS~y z`eKD$s!nXhmvUO6b>2$YJ>U7pYCaHXy>tHllep}{X6Nx^u4o~inYjOUHvW}y|M?$Q zOkqO9?givuS%Bk>yIM$vUF(|!Yjw@BwcOeS?YPGmG?r3ptoa&0ALksLFXvw6z!j~! zv{q5C7z$8mIm9_FiU=4rfsDUJ^EQ( zXda>a6L;U*sU&nbdBnjJ4}k{X>k+mWd~L%)0UT|j6?-QRjt^r5qL@F*=W1g=NYshOVDowcmcz`oC8RoK=rL{p8Bxl`B_Pd9L%+zdq0F`sKe7 CaQcz} literal 0 HcmV?d00001