From a2bf08c6ffc0b5dc3df114c83c23b0a50d7d9a71 Mon Sep 17 00:00:00 2001 From: Juan Heredia Date: Mon, 3 Aug 2026 22:54:08 +0200 Subject: [PATCH 1/5] Extend ROM-text messages to statuses, items and the learn/evolve flows --- src/battle/BattleState.lua | 9 ++- src/battle/Status.lua | 79 ++++++++++++-------- src/battle/TrainerAI.lua | 19 ++++- src/inventory/ItemEffects.lua | 133 ++++++++++++++++++++++------------ src/pokemon/Evolution.lua | 12 ++- src/ui/EvolutionState.lua | 7 +- src/ui/MoveLearnMenu.lua | 31 +++++--- 7 files changed, 191 insertions(+), 99 deletions(-) diff --git a/src/battle/BattleState.lua b/src/battle/BattleState.lua index 9334bf92..b45ebfe7 100644 --- a/src/battle/BattleState.lua +++ b/src/battle/BattleState.lua @@ -385,8 +385,8 @@ local function displayName(b) end -- Apply the "Enemy " prefix to a pre-built message from a module that --- only knows the raw nickname (Status.beforeMove/residual, --- TrainerAI.useItem): splice it in before the first name occurrence. +-- only knows the raw nickname (Status.beforeMove/residual): splice it +-- in before the first name occurrence. local function prefixEnemy(msg, battler) if battler.isPlayer then return msg end local s = msg:find(battler.name, 1, true) @@ -3044,8 +3044,11 @@ function BattleState:executeAction(user, target, action) -- trainer class AI actions (engine/battle/trainer_ai.asm) if action.special == "aiItem" then self.aiUses = (self.aiUses or 1) - 1 + -- useItem's messages arrive final: its item line prints the raw + -- nickname on purpose (no "Enemy " in AIPrintItemUseText), so the + -- prefix splice must not touch them. for _, m in ipairs(TrainerAI.useItem(self, action.item)) do - self:sayNext(prefixEnemy(m, self.enemy)) + self:sayNext(m) end self:drainNext() require("src.core.Sound").play(self.data, "Heal_Ailment") diff --git a/src/battle/Status.lua b/src/battle/Status.lua index 8fad8716..a42062ae 100644 --- a/src/battle/Status.lua +++ b/src/battle/Status.lua @@ -6,6 +6,7 @@ -- back to the vanilla records, which is bit-identical behavior. local Strings = require("src.core.Strings") +local romText = require("src.core.RomText") local Status = {} @@ -34,8 +35,8 @@ end -- sentence rather than the noun: "hurt by poison" and "hurt by the burn" -- decline differently once translated, so a shared fragment cannot be the -- translatable unit. -local function damageOverTime(template) - return function(battler) +local function damageOverTime(label, template) + return function(battler, _, battle) local mon = battler.mon local base = math.max(1, math.floor(mon.stats.hp / 16)) local dmg = base @@ -44,7 +45,7 @@ local function damageOverTime(template) battler.toxicCounter = battler.toxicCounter + 1 end mon.hp = math.max(0, mon.hp - dmg) - return { Strings(template, name(battler)) } + return { romText(battle and battle.data, label, template, name(battler)) } end end @@ -63,53 +64,63 @@ Status.RECORDS = { id = "SLP", label = "SLP", hudLabel = "SLP", catchBonus = 25, shakeBonus = 10, beforeMovePriority = 40, - beforeMove = function(battler) + beforeMove = function(battler, _, battle) battler.sleepTurns = (battler.sleepTurns or 1) - 1 if battler.sleepTurns <= 0 then battler.mon.status = nil - return false, { Strings("%s\nwoke up!", name(battler)) } -- wakes, loses the turn + -- wakes, loses the turn + return false, { romText(battle and battle.data, "_WokeUpText", + "%s\nwoke up!", name(battler)) } end - return false, { Strings("%s\nis fast asleep!", name(battler)) } + return false, { romText(battle and battle.data, "_FastAsleepText", + "%s\nis fast asleep!", name(battler)) } end, onInflict = function(battle, target, opts, display) target.sleepTurns = battle.rng(1, 7) - return { Strings("%s\nfell asleep!", display) } + return { romText(battle.data, "_FellAsleepText", + "%s\nfell asleep!", display) } end, }, FRZ = { id = "FRZ", label = "FRZ", hudLabel = "FRZ", catchBonus = 25, shakeBonus = 10, beforeMovePriority = 30, - beforeMove = function(battler) - return false, { Strings("%s\nis frozen solid!", name(battler)) } + beforeMove = function(battler, _, battle) + return false, { romText(battle and battle.data, "_IsFrozenText", + "%s\nis frozen solid!", name(battler)) } end, canInflict = function(target) return not hasType(target, "ICE") end, - onInflict = function(_, _, _, display) - return { Strings("%s\nwas frozen solid!", display) } + onInflict = function(battle, _, _, display) + return { romText(battle and battle.data, "_FrozenText", + "%s\nwas frozen solid!", display) } end, }, PSN = { id = "PSN", label = "PSN", hudLabel = "PSN", catchBonus = 12, shakeBonus = 5, - residual = damageOverTime(Strings.source("%s's\nhurt by poison!")), + residual = damageOverTime("_HurtByPoisonText", + Strings.source("%s's\nhurt by poison!")), canInflict = function(target) return not hasType(target, "POISON") end, - onInflict = function(_, target, opts, display) + onInflict = function(battle, target, opts, display) if opts.toxic then target.toxicCounter = 1 - -- _BadlyPoisonedText - return { Strings("%s's\nbadly poisoned!", display) } + return { romText(battle and battle.data, "_BadlyPoisonedText", + "%s's\nbadly poisoned!", display) } end - return { Strings("%s\nwas poisoned!", display) } + return { romText(battle and battle.data, "_PoisonedText", + "%s\nwas poisoned!", display) } end, }, BRN = { id = "BRN", label = "BRN", hudLabel = "BRN", catchBonus = 12, shakeBonus = 5, statPenalty = { stat = "attack", div = 2 }, - residual = damageOverTime(Strings.source("%s's\nhurt by the burn!")), + residual = damageOverTime("_HurtByBurnText", + Strings.source("%s's\nhurt by the burn!")), canInflict = function(target) return not hasType(target, "FIRE") end, - onInflict = function(_, _, _, display) - return { Strings("%s\nwas burned!", display) } + onInflict = function(battle, _, _, display) + return { romText(battle and battle.data, "_BurnedText", + "%s\nwas burned!", display) } end, }, PAR = { @@ -117,10 +128,11 @@ Status.RECORDS = { catchBonus = 12, shakeBonus = 5, statPenalty = { stat = "speed", div = 4 }, beforeMovePriority = 10, - beforeMove = function(battler, rng) + beforeMove = function(battler, rng, battle) -- cp 25 percent / jr nc: fully paralyzed on rand < 63 (63/256) if rng(0, 255) < 63 then - return false, { Strings("%s's\nfully paralyzed!", name(battler)) } + return false, { romText(battle and battle.data, "_FullyParalyzedText", + "%s's\nfully paralyzed!", name(battler)) } end return true, {} end, @@ -128,9 +140,10 @@ Status.RECORDS = { -- ParalyzeEffect_: Electric-type moves can't paralyze Ground-types return not (opts.moveType == "ELECTRIC" and hasType(target, "GROUND")) end, - onInflict = function(_, _, _, display) - -- _ParalyzedMayNotAttackText (primary and secondary paralysis) - return { Strings("%s's\nparalyzed! It may\nnot attack!", display) } + onInflict = function(battle, _, _, display) + -- primary and secondary paralysis share this line + return { romText(battle and battle.data, "_ParalyzedMayNotAttackText", + "%s's\nparalyzed! It may\nnot attack!", display) } end, }, } @@ -166,7 +179,8 @@ function Status.beforeMove(battler, rng, battle) end if battler.flinched then battler.flinched = false - return false, { Strings("%s\nflinched!", name(battler)) } + return false, { romText(battle and battle.data, "_FlinchedText", + "%s\nflinched!", name(battler)) } end local record = Status.recordFor(battleStatuses(battle), mon.status) local handler = record and record.beforeMove @@ -184,23 +198,27 @@ function Status.beforeMove(battler, rng, battle) end if battler.boundTurns and battler.boundTurns > 0 then battler.boundTurns = battler.boundTurns - 1 - msgs[#msgs + 1] = Strings("%s\ncan't move!", name(battler)) + msgs[#msgs + 1] = romText(battle and battle.data, "_CantMoveText", + "%s\ncan't move!", name(battler)) return false, msgs end if battler.disabledTurns then battler.disabledTurns = battler.disabledTurns - 1 if battler.disabledTurns <= 0 then battler.disabledTurns, battler.disabledSlot = nil, nil - table.insert(msgs, Strings("%s's\ndisabled no more!", name(battler))) + table.insert(msgs, romText(battle and battle.data, "_DisabledNoMoreText", + "%s's\ndisabled no more!", name(battler))) end end if battler.confusedTurns then battler.confusedTurns = battler.confusedTurns - 1 if battler.confusedTurns <= 0 then battler.confusedTurns = nil - table.insert(msgs, Strings("%s\nsnapped out of\nconfusion!", name(battler))) + table.insert(msgs, romText(battle and battle.data, "_ConfusedNoMoreText", + "%s\nsnapped out of\nconfusion!", name(battler))) else - table.insert(msgs, Strings("%s\nis confused!", name(battler))) + table.insert(msgs, romText(battle and battle.data, "_IsConfusedText", + "%s\nis confused!", name(battler))) -- cp 50 percent + 1 / jr c: hurt itself on rand >= 128 (128/256) if rng(0, 255) < 128 then return false, msgs, true -- hurt itself @@ -241,7 +259,8 @@ function Status.residual(battler, opponent, battle) dmg = math.min(dmg, mon.hp) mon.hp = mon.hp - dmg opponent.mon.hp = math.min(opponent.mon.stats.hp, opponent.mon.hp + dmg) - table.insert(msgs, Strings("LEECH SEED saps\n%s!", name(battler))) + table.insert(msgs, romText(battle and battle.data, "_HurtByLeechSeedText", + "LEECH SEED saps\n%s!", name(battler))) end return msgs end diff --git a/src/battle/TrainerAI.lua b/src/battle/TrainerAI.lua index 08b9aca0..c086c113 100644 --- a/src/battle/TrainerAI.lua +++ b/src/battle/TrainerAI.lua @@ -20,9 +20,16 @@ local TypeChart = require("src.battle.TypeChart") local Strings = require("src.core.Strings") +local romText = require("src.core.RomText") local TrainerAI = {} +-- pokered's / text macros print "Enemy " before the +-- enemy mon's nickname (home/text.asm PlaceMoveUsersName) +local function displayName(b) + return b.isPlayer and b.name or ("Enemy " .. b.name) +end + local HEAL_AMOUNT = { POTION = 20, SUPER_POTION = 50, HYPER_POTION = 200 } local X_STAT = { X_ATTACK = "attack", X_DEFEND = "defense", X_SPEED = "speed" } @@ -95,12 +102,16 @@ function TrainerAI.switchAction(battle) return { special = "aiSwitch", index = alive[1] } end --- Apply an aiItem action to the enemy battler; returns messages. +-- Apply an aiItem action to the enemy battler; returns messages, already +-- final: the item line prints the raw nickname (AIPrintItemUseText has no +-- "Enemy " prefix in pokered), the stat lines carry it via displayName, so +-- the caller must not run these through prefixEnemy. function TrainerAI.useItem(battle, item) local enemy = battle.enemy local trainerName = battle.trainer.name local itemName = battle.data.items[item] and battle.data.items[item].name or item - local msgs = { Strings("%s\nused %s!", trainerName, itemName) } + local msgs = { romText(battle.data, "_AIBattleUseItemText", + "%s\nused %s!", trainerName, itemName, enemy.name) } if item == "FULL_HEAL" then enemy.mon.status = nil enemy.toxicCounter = nil @@ -113,10 +124,10 @@ function TrainerAI.useItem(battle, item) elseif X_STAT[item] then local stat = X_STAT[item] enemy.stages[stat] = math.min(6, (enemy.stages[stat] or 0) + 1) - table.insert(msgs, Strings("%s's\n%s rose!", enemy.name, stat:upper())) + table.insert(msgs, Strings("%s's\n%s rose!", displayName(enemy), stat:upper())) elseif item == "GUARD_SPEC" then enemy.mist = true - table.insert(msgs, Strings("%s's\nprotected against\nstat changes!", enemy.name)) + table.insert(msgs, Strings("%s's\nprotected against\nstat changes!", displayName(enemy))) end return msgs end diff --git a/src/inventory/ItemEffects.lua b/src/inventory/ItemEffects.lua index ad1e2165..f7c1b9b3 100644 --- a/src/inventory/ItemEffects.lua +++ b/src/inventory/ItemEffects.lua @@ -12,9 +12,19 @@ local Flags = require("src.script.Flags") local Strings = require("src.core.Strings") +local romText = require("src.core.RomText") local ItemEffects = {} +local function notTime(data, save) + return romText(data, "_ItemUseNotTimeText", + "OAK: %s!\nThis isn't the\ntime to use that!", save.player.name) +end + +local function noEffect(data) + return romText(data, "_ItemUseNoEffectText", "It won't have\nany effect.") +end + local HEAL_AMOUNT = { POTION = 20, SUPER_POTION = 50, HYPER_POTION = 200, FRESH_WATER = 50, SODA_POP = 60, LEMONADE = 80, @@ -82,6 +92,14 @@ local function cureActiveToxic(battle, target) end end +-- the per-item cure lines (item_effects.asm .cureStatusAilment picks the +-- text by item id); FULL_RESTORE lands here too when it acts as a cure +local CURE_TEXT = { + ANTIDOTE = "_AntidoteText", BURN_HEAL = "_BurnHealText", + ICE_HEAL = "_IceHealText", AWAKENING = "_AwakeningText", + PARLYZ_HEAL = "_ParlyzHealText", FULL_HEAL = "_FullHealText", +} + -- battle-only stat boosters (engine/items/item_effects.asm ItemUseXStat) local X_ITEMS = { X_ATTACK = "attack", X_DEFEND = "defense", X_SPEED = "speed", @@ -130,8 +148,7 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) if battle and (VITAMINS[itemId] or STONES[itemId] or itemId == "PP_UP" or itemId == "RARE_CANDY" or itemId == "COIN_CASE" or (itemDef and itemDef.machine)) then - return "failed", { Strings("OAK: %s!\nThis isn't the\ntime to use that!", - save.player.name) } + return "failed", { notTime(data, save) } end if BALLS[itemId] then @@ -148,13 +165,14 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) -- data/scripts/story.lua's snorlaxWake) local mapId, npc = adjacentSleepingSnorlax(save, ow) if npc then - return "flute_wake", { data.text._PlayedFluteHadEffectText - or Strings("{PLAYER} played the\nPOKé FLUTE.") }, + return "flute_wake", { romText(data, "_PlayedFluteHadEffectText", + "{PLAYER} played the\nPOKé FLUTE.") }, { mapId = mapId, npc = npc } end -- otherwise: play the tune, nothing happens (ItemUsePokeFlute's -- PlayedFluteNoEffectText branch) - return "flute_field", { Strings("Played the POKé\nFLUTE.\fNow, that's a\ncatchy tune!") } + return "flute_field", { romText(data, "_PlayedFluteNoEffectText", + "Played the POKé\nFLUTE.\fNow, that's a\ncatchy tune!") } end local woke = false local function wake(mon) @@ -169,17 +187,20 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) -- WakeUpEntireParty runs on the enemy's bench too for _, mon in ipairs(battle.enemyParty or {}) do wake(mon) end if not woke then - return "failed", { Strings("Played the POKé\nFLUTE.\fNow, that's a\ncatchy tune!") } + return "failed", { romText(data, "_PlayedFluteNoEffectText", + "Played the POKé\nFLUTE.\fNow, that's a\ncatchy tune!") } end - return "flute", { Strings("%s played the\nPOKé FLUTE.", save.player.name), - Strings("All sleeping\nPOKéMON woke up!") } + return "flute", { romText(data, "_PlayedFluteHadEffectText", + "%s played the\nPOKé FLUTE.", save.player.name), + romText(data, "_FluteWokeUpText", + "All sleeping\nPOKéMON woke up!") } end -- battle-only items if X_ITEMS[itemId] or itemId == "DIRE_HIT" or itemId == "GUARD_SPEC" or itemId == "POKE_DOLL" then if not battle then - return "failed", { Strings("OAK: %s!\nThis isn't the\ntime to use that!", save.player.name) } + return "failed", { notTime(data, save) } end local b = battle.player -- PIKAHAPPY_USEDXITEM (item_effects.asm ItemUseXAccuracy / @@ -201,7 +222,8 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) -- effect, so at +6 it is still consumed and StatModifierUpEffect -- just prints "Nothing happened!" if cur >= 6 then - return "consumed", { Strings("Nothing happened!") } + return "consumed", { romText(data, "_NothingHappenedText", + "Nothing happened!") } end b.stages[stat] = cur + 1 return "consumed", { Strings("%s's\n%s rose!", b.name, stat:upper()) } @@ -210,7 +232,8 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) -- the item, even when it is already active if itemId == "DIRE_HIT" then b.focusEnergy = true - return "consumed", { Strings("%s's\ngetting pumped!", b.name) } + return "consumed", { romText(data, "_GettingPumpedText", + "%s's\ngetting pumped!", b.name) } end if itemId == "GUARD_SPEC" then b.mist = true @@ -219,10 +242,10 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) if itemId == "POKE_DOLL" then if battle.kind ~= "wild" then -- ItemUsePokeDoll jumps to ItemUseNotTime in trainer battles - return "failed", { Strings( - "OAK: %s!\nThis isn't the\ntime to use that!", save.player.name) } + return "failed", { notTime(data, save) } end - return "consumed_escape", { Strings("The wild POKéMON\nran away!") } + return "consumed_escape", { romText(data, "_WildRanText", + "The wild POKéMON\nran away!", battle.enemy and battle.enemy.name) } end end @@ -231,7 +254,7 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) -- restore every move with no menu. if itemId == "ETHER" or itemId == "MAX_ETHER" or itemId == "ELIXER" or itemId == "MAX_ELIXER" then - if not target then return "failed", { Strings("It won't have\nany effect.") } end + if not target then return "failed", { noEffect(data) } end local restored = false local full = itemId == "MAX_ETHER" or itemId == "MAX_ELIXER" local allMoves = itemId == "ELIXER" or itemId == "MAX_ELIXER" @@ -253,9 +276,10 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) restored = mv and restore(mv) or false end if not restored then - return "failed", { Strings("It won't have\nany effect.") } + return "failed", { noEffect(data) } end - return "consumed", { Strings("%s's PP\nwas restored!", monName(data, target)) } + -- pokered's line names no mon, so the extracted text takes no args + return "consumed", { romText(data, "_PPRestoredText", "PP was restored.") } end -- PIKAHAPPY_USEDITEM (item_effects.asm ItemUseMedicine, item id up to @@ -280,10 +304,11 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) target.status = nil cureActiveToxic(battle, target) require("src.core.Sound").play(data, "Heal_Ailment") - return "consumed", { Strings("%s's\nstatus returned\nto normal!", monName(data, target)) } + return "consumed", { romText(data, CURE_TEXT.FULL_HEAL, + "%s's\nstatus returned\nto normal!", monName(data, target)) } end if not target or target.hp <= 0 or target.hp >= target.stats.hp then - return "failed", { Strings("It won't have\nany effect.") } + return "failed", { noEffect(data) } end -- wHPBarOldHP: the bar animation starts from the HP the mon had BEFORE -- the item landed (item_effects.asm latches it with the party menu still @@ -295,7 +320,10 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) else target.hp = math.min(target.stats.hp, target.hp + heal) end - local msgs = { Strings("%s's HP\nwas restored!", monName(data, target)) } + -- _PotionText's second slot is the recovered amount ({NUM: + -- wHPBarHPDifference}); the engine fallback never prints it + local msgs = { romText(data, "_PotionText", "%s's HP\nwas restored!", + monName(data, target), target.hp - before) } if itemId == "FULL_RESTORE" then target.status = nil cureActiveToxic(battle, target) @@ -307,17 +335,18 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) local cures = STATUS_HEAL[itemId] if cures then if not target or not target.status or not cures[target.status] then - return "failed", { Strings("It won't have\nany effect.") } + return "failed", { noEffect(data) } end target.status = nil cureActiveToxic(battle, target) require("src.core.Sound").play(data, "Heal_Ailment") - return "consumed", { Strings("%s's\nstatus returned\nto normal!", monName(data, target)) } + return "consumed", { romText(data, CURE_TEXT[itemId], + "%s's\nstatus returned\nto normal!", monName(data, target)) } end if itemId == "REVIVE" or itemId == "MAX_REVIVE" then if not target or target.hp > 0 then - return "failed", { Strings("It won't have\nany effect.") } + return "failed", { noEffect(data) } end target.status = nil target.hp = itemId == "REVIVE" and math.floor(target.stats.hp / 2) or target.stats.hp @@ -329,13 +358,14 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) if battle and battle.participants then battle.participants[target] = true end - return "consumed", { Strings("%s\nis revitalized!", monName(data, target)) }, + return "consumed", { romText(data, "_ReviveText", + "%s\nis revitalized!", monName(data, target)) }, { healedFrom = 0 } end if itemId == "RARE_CANDY" then if not target or target.level >= 100 then - return "failed", { Strings("It won't have\nany effect.") } + return "failed", { noEffect(data) } end local Growth = require("src.pokemon.Growth") local Stats = require("src.pokemon.Stats") @@ -348,12 +378,13 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) -- PIKAHAPPY_LEVELUP on a candy level (item_effects.asm:1540) require("src.world.PikachuFollower") .modifyHappiness(save, "LEVELUP", target) - return "consumed", { Strings("%s grew\nto level %d!", monName(data, target), target.level) }, + return "consumed", { romText(data, "_RareCandyText", + "%s grew\nto level %d!", monName(data, target), target.level) }, { leveledTo = target.level } end if STONES[itemId] then - if not target then return "failed", { Strings("It won't have\nany effect.") } end + if not target then return "failed", { noEffect(data) } end -- Yellow's starter Pikachu never evolves: ItemUseEvoStone runs -- IsThisPartyMonStarterPikachu (OT identity match) before -- TryEvolvingMon and bails with the voiced cry + RefusingText. @@ -363,10 +394,8 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) and target.ot == save.player.name and target.otId == save.player.id then require("src.core.Sound").playCry(data, "PIKACHU") - local raw = data.text and data.text._RefusingText - local line = raw and raw:gsub("{RAM:[^}]*}", monName(data, target)) - or Strings("%s\nis refusing!", monName(data, target)) - return "failed", { line } + return "failed", { romText(data, "_RefusingText", + "%s\nis refusing!", monName(data, target)) } end local speciesDef = data.pokemon[target.species] for _, evo in ipairs(speciesDef.evolutions) do @@ -374,44 +403,48 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) return "consumed", nil, { evolveTo = evo.species } end end - return "failed", { Strings("It won't have\nany effect.") } + return "failed", { noEffect(data) } end -- vitamins: +2560 stat exp, refused at 25600+ (ItemUseVitamin, -- engine/items/item_effects.asm) local vitaminStat = VITAMINS[itemId] if vitaminStat then - if not target then return "failed", { Strings("It won't have\nany effect.") } end + if not target then return "failed", { noEffect(data) } end target.statExp = target.statExp or {} local cur = target.statExp[vitaminStat] or 0 if cur >= 25600 then - return "failed", { Strings("It won't have\nany effect.") } + return "failed", { noEffect(data) } end target.statExp[vitaminStat] = math.min(65535, cur + 2560) local Stats = require("src.pokemon.Stats") target.stats = Stats.calc(data.pokemon[target.species], target.level, target.dvs, target.statExp) target.hp = math.min(target.hp, target.stats.hp) + -- _VitaminStatRoseText's slot order is localization-dependent (the + -- Spanish ROM puts the stat before the name), so the extracted line + -- cannot be filled positionally; the engine wording stands return "consumed", { Strings("%s's %s\nrose!", monName(data, target), vitaminStat == "hp" and "HP" or vitaminStat:upper()) } end -- PP UP boosts the move the player picked (ItemUsePPUp's move menu) if itemId == "PP_UP" then - if not target then return "failed", { Strings("It won't have\nany effect.") } end + if not target then return "failed", { noEffect(data) } end local mv = target.moves[moveIndex or 1] local mdef = mv and data.moves[mv.id] if mdef and (mv.ppUps or 0) < 3 then mv.ppUps = (mv.ppUps or 0) + 1 -- each PP UP adds maxPP/5 uses on top of the base maximum mv.pp = mv.pp + math.floor(mdef.pp / 5) - return "consumed", { Strings("%s's PP\nincreased!", mdef.name) } + return "consumed", { romText(data, "_PPIncreasedText", + "%s's PP\nincreased!", mdef.name) } end - return "failed", { Strings("It won't have\nany effect.") } + return "failed", { noEffect(data) } end if itemDef and itemDef.machine then - if not target then return "failed", { Strings("It won't have\nany effect.") } end + if not target then return "failed", { noEffect(data) } end local speciesDef = data.pokemon[target.species] local ok = false for _, m in ipairs(speciesDef.tmhm) do @@ -422,11 +455,16 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) -- plays SFX_DENIED before MonCannotLearnMachineMoveText (the generic -- ItemUseNotTime/NoCyclingAllowedHere paths are silent) require("src.core.Sound").play(data, "Denied") - return "failed", { Strings("%s can't\nlearn that move!", monName(data, target)) } + local moveName = data.moves[itemDef.machine.move].name + return "failed", { romText(data, "_MonCannotLearnMachineMoveText", + "%s can't\nlearn that move!", + monName(data, target), moveName, moveName) } end for _, mv in ipairs(target.moves) do if mv.id == itemDef.machine.move then - return "failed", { Strings("It knows that\nmove already!") } + return "failed", { romText(data, "_AlreadyKnowsText", + "It knows that\nmove already!", + monName(data, target), data.moves[itemDef.machine.move].name) } end end -- HMs are never consumed; TMs are single-use @@ -435,21 +473,21 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) if itemId == "OLD_ROD" or itemId == "GOOD_ROD" or itemId == "SUPER_ROD" then if battle then - return "failed", { Strings("OAK: %s!\nThis isn't the\ntime to use that!", save.player.name) } + return "failed", { notTime(data, save) } end -- FishingInit (engine/items/item_effects.asm): cp wWalkBikeSurfState, 2 -- (surfing) sets carry, and every ItemUseXRod does jp c, ItemUseNotTime -- on that carry -- surfing refuses the rod with the same OAK text as -- the mid-battle case above, no rod-specific message (#533) if ow and ow.player and ow.player.surfing then - return "failed", { Strings("OAK: %s!\nThis isn't the\ntime to use that!", save.player.name) } + return "failed", { notTime(data, save) } end return "fish", itemId end if itemId == "BICYCLE" then if battle then - return "failed", { Strings("OAK: %s!\nThis isn't the\ntime to use that!", save.player.name) } + return "failed", { notTime(data, save) } end return "bicycle" end @@ -459,18 +497,19 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) end if itemId == "TOWN_MAP" then if battle then - return "failed", { Strings("OAK: %s!\nThis isn't the\ntime to use that!", save.player.name) } + return "failed", { notTime(data, save) } end return "townmap" end if itemId == "ITEMFINDER" then if battle then - return "failed", { Strings("OAK: %s!\nThis isn't the\ntime to use that!", save.player.name) } + return "failed", { notTime(data, save) } end return "itemfinder" end if itemId == "COIN_CASE" then - return "failed", { Strings("Coin count:\n%d", save.coins or 0) } + return "failed", { romText(data, "_CoinCaseNumCoinsText", + "Coin count:\n%d", save.coins or 0) } end if itemId == "REPEL" or itemId == "SUPER_REPEL" or itemId == "MAX_REPEL" then local steps = itemId == "REPEL" and 100 or itemId == "SUPER_REPEL" and 200 or 250 @@ -478,7 +517,7 @@ function ItemEffects.use(data, save, itemId, target, battle, moveIndex, ow) return "consumed", { Strings("%s used\n%s!", save.player.name, name) } end - return "failed", { Strings("OAK: %s!\nThis isn't the\ntime to use that!", save.player.name) } + return "failed", { notTime(data, save) } end return ItemEffects diff --git a/src/pokemon/Evolution.lua b/src/pokemon/Evolution.lua index c2df1741..b92352b6 100644 --- a/src/pokemon/Evolution.lua +++ b/src/pokemon/Evolution.lua @@ -15,6 +15,7 @@ local Screens = require("src.ui.Screens") local Stats = require("src.pokemon.Stats") local TextBox = require("src.render.TextBox") local Strings = require("src.core.Strings") +local romText = require("src.core.RomText") local Evolution = {} @@ -140,7 +141,8 @@ function Evolution.learnEvolutionMoves(game, mon, onDone) table.insert(mon.moves, { id = moveId, pp = mdef.pp }) Runtime.emit("pokemon.move_learned", { mon = mon, moveId = moveId }) game.stack:push(TextBox.new(game, - Strings("%s learned\n%s!", name, mdef.name), nextStep)) + romText(game.data, "_LearnedMove1Text", + "%s learned\n%s!", name, mdef.name), nextStep)) else -- LearnMoveFromLevelUp with a full moveset: the forget UI Screens.push(game, "MoveLearnMenu", mon, moveId, nextStep) @@ -161,8 +163,12 @@ function Evolution.evolve(game, mon, newSpecies, onDone, via) Music.play(game.data, Music.special(game.data, "evolution")) local oldName = mon.nickname or game.data.pokemon[mon.species].name Evolution.apply(game, mon, newSpecies, via) - local msg = Strings("What?\n%s is\nevolving!\fCongratulations!\nYour %s\nevolved into\n%s!", - oldName, oldName, game.data.pokemon[newSpecies].name) + -- the congrats page keeps the engine wording: _EvolvedText extracts + -- truncated (it stops at a dynamic marker the decoder does not follow) + local msg = romText(game.data, "_IsEvolvingText", + "What?\n%s is\nevolving!", oldName) + .. "\f" .. Strings("Congratulations!\nYour %s\nevolved into\n%s!", + oldName, game.data.pokemon[newSpecies].name) game.stack:push(TextBox.new(game, msg, function() Music.restoreMap(game.data) -- re-run the evolved species' level-up learn check before onDone diff --git a/src/ui/EvolutionState.lua b/src/ui/EvolutionState.lua index 5954d553..c6aebd0c 100644 --- a/src/ui/EvolutionState.lua +++ b/src/ui/EvolutionState.lua @@ -12,6 +12,7 @@ local Font = require("src.render.Font") local Music = require("src.core.Music") local Strings = require("src.core.Strings") +local romText = require("src.core.RomText") local EvolutionState = {} EvolutionState.__index = EvolutionState @@ -89,9 +90,9 @@ function EvolutionState:update(dt) self.done = true self.canceled = true local TextBox = require("src.render.TextBox") - -- mirrors data/generated/text.lua _StoppedEvolvingText game.stack:push(TextBox.new(game, - Strings("Huh? %s\nstopped evolving!", self.oldName), + romText(game.data, "_StoppedEvolvingText", + "Huh? %s\nstopped evolving!", self.oldName), function() Music.restoreMap(game.data) game.stack:pop() -- the evolution screen itself @@ -106,6 +107,8 @@ function EvolutionState:update(dt) require("src.core.Sound").playCry(game.data, self.newSpecies) local TextBox = require("src.render.TextBox") local newName = game.data.pokemon[self.newSpecies].name + -- _EvolvedText extracts truncated (it stops at a dynamic marker the + -- decoder does not follow), so the engine's wording stands here game.stack:push(TextBox.new(game, Strings("Congratulations!\nYour %s\nevolved into\n%s!", self.oldName, newName), diff --git a/src/ui/MoveLearnMenu.lua b/src/ui/MoveLearnMenu.lua index 222f7f1c..f32a60de 100644 --- a/src/ui/MoveLearnMenu.lua +++ b/src/ui/MoveLearnMenu.lua @@ -5,6 +5,7 @@ local Font = require("src.render.Font") local Strings = require("src.core.Strings") +local romText = require("src.core.RomText") local MoveLearnMenu = {} MoveLearnMenu.__index = MoveLearnMenu @@ -43,10 +44,13 @@ function MoveLearnMenu:enter() local mdef = game.data.moves[self.newMoveId] local name = self:monName() self.selecting = false + -- _TryingToLearnText is the whole exchange in pokered, delete prompt + -- included, so the extracted line carries all four slots at once game.stack:push(TextBox.new(game, - Strings("%s is\ntrying to learn\v%s!\fBut, %s\ncan't learn more\vthan 4 moves!\f", - name, mdef.name, name) .. - Strings("Delete an older\nmove to make room\vfor %s?", mdef.name), + romText(game.data, "_TryingToLearnText", + "%s is\ntrying to learn\v%s!\fBut, %s\ncan't learn more\vthan 4 moves!\f" + .. "Delete an older\nmove to make room\vfor %s?", + name, mdef.name, name, mdef.name), nil, { choice = function(yes) if yes then @@ -77,7 +81,8 @@ function MoveLearnMenu:update(dt) -- HMCantDeleteText, then back to the forget list local TextBox = require("src.render.TextBox") self.game.stack:push(TextBox.new(self.game, - Strings("HM techniques\ncan't be deleted!"))) + romText(self.game.data, "_HMCantDeleteText", + "HM techniques\ncan't be deleted!"))) return end local mdef = self.game.data.moves[self.newMoveId] @@ -97,7 +102,8 @@ function MoveLearnMenu:confirmAbandon() local mdef = game.data.moves[self.newMoveId] self.selecting = false game.stack:push(TextBox.new(game, - Strings("Abandon learning\n%s?", mdef.name), nil, { + romText(game.data, "_AbandonLearningText", + "Abandon learning\n%s?", mdef.name), nil, { choice = function(yes) if yes then self:finish(false) else self:enter() end end, @@ -113,12 +119,17 @@ function MoveLearnMenu:finish(learned) game.stack:pop() local msg if learned then - -- OneTwoAndText/PoofText/ForgotAndText - msg = Strings("1, 2 and... Poof!\f%s forgot\n%s!\fAnd...\f%s learned\n%s!", - name, self.forgot, name, mdef.name) + -- pokered pages this as four texts in a row; _ForgotAndText carries + -- the "And..." tail + msg = romText(game.data, "_OneTwoAndText", "1, 2 and...") + .. romText(game.data, "_PoofText", " Poof!") + .. romText(game.data, "_ForgotAndText", + "\f%s forgot\n%s!\fAnd...", name, self.forgot) + .. "\f" .. romText(game.data, "_LearnedMove1Text", + "%s learned\n%s!", name, mdef.name) else - -- DidNotLearnText - msg = Strings("%s\ndid not learn\v%s!", name, mdef.name) + msg = romText(game.data, "_DidNotLearnText", + "%s\ndid not learn\v%s!", name, mdef.name) end game.stack:push(TextBox.new(game, msg, function() if self.onDone then self.onDone(learned) end From 6ea59f1a79309c7ebab649202c5459b59a38c96d Mon Sep 17 00:00:00 2001 From: Shane McGovern Date: Mon, 3 Aug 2026 22:17:56 +0100 Subject: [PATCH 2/5] Show mod downloads and release dates in the launcher MODS panel The MODS tab now shows each installed mod's total GitHub downloads (summed asset download_count across all releases), its first and latest release dates, and a Sort row (Name / Popularity / Release date / Last updated) persisted in options.modSort. The launcher already fetched per-repo release lists for update checks, so the data rides the same cached fetch: parseRelease keeps download_count and published_at, writeCache persists them, and a cache entry written before the fields existed is treated as stale and refetched once instead of hiding the line behind an old cache. --- docs/launcher.md | 11 +++ src/import/LauncherView.lua | 90 +++++++++++++++++++++ src/import/RomImporter.lua | 6 ++ src/mods/ModUpdate.lua | 81 ++++++++++++++++++- tests/engine/mod_update_tests.lua | 129 ++++++++++++++++++++++++++++++ 5 files changed, 314 insertions(+), 3 deletions(-) diff --git a/docs/launcher.md b/docs/launcher.md index dde41189..065d40d0 100644 --- a/docs/launcher.md +++ b/docs/launcher.md @@ -153,6 +153,17 @@ before `Game:load`, so **it never loads a mod's entry chunk**; only - `LauncherMods.uninstall(id)` removes `mods//` and clears `options.mods[id]` so a later reinstall starts from the loader's default (enabled). The mods panel Delete control calls this and re-derives the list. +- A mod that declares `github` shows its total GitHub downloads (every + release's summed asset `download_count`, from the same cached release + fetch the update check uses) as a highlighted body line like "12,345 + downloads across all releases - Released 2024-05-31 - Updated 2026-07-01" + (first and latest `published_at`). Old cache entries written before the + counts existed show no line rather than a wrong zero; a manual check + refreshes them. +- The MODS panel sorts its rows by Name, Popularity (downloads), + Release date (first release), or Last updated, chosen by chips under the + header and persisted in `options.modSort`. Mods without release data + (no `github` field, or a stale cache) sink to the bottom of data sorts. ## Import / Export save diff --git a/src/import/LauncherView.lua b/src/import/LauncherView.lua index 04402f42..94506d86 100644 --- a/src/import/LauncherView.lua +++ b/src/import/LauncherView.lua @@ -1012,6 +1012,7 @@ end local function buildModsPanel(imp, parent, m) imp:_ensureMods() + local ModUpdate = require("src.mods.ModUpdate") local mods = imp.mods or {} local enabledCount = 0 for _, mod in ipairs(mods) do @@ -1060,6 +1061,76 @@ local function buildModsPanel(imp, parent, m) return end + -- Sort row: Name / Popularity / Release date / Last updated. The choice + -- persists in options.modSort; data-less mods (no github field, or a + -- cache that predates the feature) sink to the bottom of data sorts. + local sortKey = imp.modSort or "name" + if imp.modSort == nil then + local ok, opts = pcall(require("src.core.SaveData").loadOptions) + if ok and type(opts) == "table" and type(opts.modSort) == "string" then + sortKey = opts.modSort + imp.modSort = sortKey + end + end + local sortRow = mk({ parent = parent, width = "100%", + positioning = "flex", flexDirection = "horizontal", + flexWrap = "wrap", alignItems = "center", gap = 6 * m.s }) + label(sortRow, Strings("Sort:"), 11 * m.s + 2, C("detail"), { textWrap = false }) + local sorts = { + { key = "name", label = Strings("Name") }, + { key = "popularity", label = Strings("Popularity") }, + { key = "release", label = Strings("Release date") }, + { key = "updated", label = Strings("Last updated") }, + } + for _, s in ipairs(sorts) do + local active = sortKey == s.key + local key = "mod-sort-" .. s.key + mk({ + parent = sortRow, text = s.label, + textColor = active and C("green") + or (imp._hot[key] and C("white") or C("detail")), + textSize = 11 * m.s + 2, textAlign = "center-center", autoScaleText = false, + backgroundColor = active and C("green", 0.18) or C("border", 0.10), + border = 1, + borderColor = active and C("green", 0.6) or C("border", 0.35), + cornerRadius = 999, + padding = { horizontal = 10, vertical = 4 }, + onEvent = handler(imp, key, function() + imp.modSort = s.key + pcall(function() + local SaveData = require("src.core.SaveData") + local opts = SaveData.loadOptions() + opts.modSort = s.key + SaveData.saveOptions(opts) + end) + end), + }) + end + + local sorted = {} + for i, v in ipairs(mods) do sorted[i] = v end + table.sort(sorted, function(a, b) + local function value(mod) + if sortKey == "name" then return (mod.name or ""):lower() end + local info = mod.github and mod.github ~= "" and imp:_modUpdateInfo(mod.id) + if sortKey == "popularity" then + return info and info.downloads and info.downloads.total or -1 + end + local date = info and info.dates + if sortKey == "release" then + return date and date.first or "0000-00-00" + end + return date and date.latest or "0000-00-00" + end + local va, vb = value(a), value(b) + if va ~= vb then + if sortKey == "name" then return va < vb end + return va > vb -- data sorts newest / most popular first + end + return (a.name or ""):lower() < (b.name or ""):lower() + end) + mods = sorted + -- Explicit column widths AND heights: a flex-grown container collapses -- its children's layout in this engine, and card auto-height came up -- short on some displays, dropping the bottom action row out of the card. @@ -1091,6 +1162,19 @@ local function buildModsPanel(imp, parent, m) elseif mod.github and mod.github ~= "" then checkLine, checkCol = Strings("Not checked for updates yet"), "warn" end + -- Total downloads plus first/latest release dates, all from the same + -- cached release fetch. Only shown once that data actually carries + -- counts, so a pre-downloads cache entry costs the line, not a wrong "0". + local dlLine + if info and info.downloads then + local formatted = ModUpdate.formatCount(info.downloads.total) + if info.dates then + dlLine = Strings("%s downloads across all releases - Released %s - Updated %s", + formatted, info.dates.first, info.dates.latest) + else + dlLine = Strings("%s downloads across all releases", formatted) + end + end -- measure the body: name (with the badge beside it only when it fits), -- version, check line, wrapped description @@ -1104,6 +1188,9 @@ local function buildModsPanel(imp, parent, m) if checkLine then bodyH = bodyH + 4 + wrapHeight(smallSize, checkLine, bodyW) end + if dlLine then + bodyH = bodyH + 4 + wrapHeight(smallSize, dlLine, bodyW) + end if mod.description ~= "" then bodyH = bodyH + 4 + wrapHeight(smallSize, mod.description, bodyW) end @@ -1155,6 +1242,9 @@ local function buildModsPanel(imp, parent, m) if checkLine then label(body, checkLine, smallSize, C(checkCol), { width = "100%" }) end + if dlLine then + label(body, dlLine, smallSize, C("gold"), { width = "100%" }) + end if mod.description ~= "" then label(body, mod.description, smallSize, C("detail"), { width = "100%" }) end diff --git a/src/import/RomImporter.lua b/src/import/RomImporter.lua index 99c0e782..429ceb3e 100644 --- a/src/import/RomImporter.lua +++ b/src/import/RomImporter.lua @@ -2593,6 +2593,8 @@ function RomImporter:_syncModUpdateInfo(force) latest = best and best.version or nil, best = best, releases = packed.releases, + downloads = ModUpdate.totalDownloads(packed.releases), + dates = ModUpdate.releaseDates(packed.releases), err = nil, checkedAt = packed.checkedAt or os.time(), } @@ -2722,6 +2724,8 @@ function RomImporter:_modGithubAction(id, action) self.modUpdateInfo[row.id] = { status = status, latest = best and best.version, best = best, releases = releases, + downloads = ModUpdate.totalDownloads(releases), + dates = ModUpdate.releaseDates(releases), } self._modVersions = { id = row.id, name = row.name, current = row.version, @@ -2765,6 +2769,8 @@ function RomImporter:_modGithubAction(id, action) self.modUpdateInfo[row.id] = { status = status, latest = best and best.version, best = best, releases = releases, checkedAt = os.time(), + downloads = ModUpdate.totalDownloads(releases), + dates = ModUpdate.releaseDates(releases), } if status == "available" and best then self.modNotice = { ok = true, diff --git a/src/mods/ModUpdate.lua b/src/mods/ModUpdate.lua index ce69328b..ff872232 100644 --- a/src/mods/ModUpdate.lua +++ b/src/mods/ModUpdate.lua @@ -102,7 +102,9 @@ function ModUpdate.previewLine(text, maxChars) return s end --- Decode one GitHub release object into { version, tag, zip, prerelease, body }. +-- Decode one GitHub release object into { version, tag, zip, prerelease, +-- name, body, downloads }. `downloads` is the sum of every asset's +-- download_count, GitHub's own measure of a release's downloads. function ModUpdate.parseRelease(doc, modId) if type(doc) ~= "table" or not doc.tag_name then return nil, "no tag_name in release" @@ -114,6 +116,13 @@ function ModUpdate.parseRelease(doc, modId) local triple = version:match("^(%d+%.%d+%.%d+)") local zip = ModUpdate.pickZipAsset(doc.assets, modId, triple) local body = type(doc.body) == "string" and doc.body or "" + local downloads = 0 + if type(doc.assets) == "table" then + for _, a in ipairs(doc.assets) do + local d = type(a) == "table" and tonumber(a.download_count) + if d and d > 0 then downloads = downloads + d end + end + end return { version = triple, tag = tostring(doc.tag_name), @@ -121,6 +130,8 @@ function ModUpdate.parseRelease(doc, modId) prerelease = doc.prerelease == true, name = type(doc.name) == "string" and doc.name or triple, body = body, + downloads = downloads, + published = (doc.published_at or doc.created_at or ""):match("^(%d+%-%d+%-%d+)"), } end @@ -154,7 +165,7 @@ function ModUpdate.parseReleases(jsonText, modId, Json) end function ModUpdate.apiReleasesUrl(repo) - return "https://api.github.com/repos/" .. repo .. "/releases?per_page=30" + return "https://api.github.com/repos/" .. repo .. "/releases?per_page=100" end function ModUpdate.apiLatestUrl(repo) @@ -180,6 +191,52 @@ function ModUpdate.pickBest(releases) return releases[1] end +-- Sum of per-release download counts. Returns nil when no release carries +-- the field (a cache entry written before downloads existed), else +-- { total = , releases = } so a caller can tell a +-- real "0 downloads" apart from "no data yet". +function ModUpdate.totalDownloads(releases) + if type(releases) ~= "table" or #releases == 0 then return nil end + local total, hasData = 0, false + for _, rel in ipairs(releases) do + local d = type(rel) == "table" and tonumber(rel.downloads) + if d then + hasData = true + total = total + d + end + end + if not hasData then return nil end + return { total = total, releases = #releases } +end + +-- First and latest release dates ("YYYY-MM-DD", ISO strings compare in +-- calendar order). Returns nil when no release carries a date -- same +-- "no data yet" rule as totalDownloads. +function ModUpdate.releaseDates(releases) + if type(releases) ~= "table" or #releases == 0 then return nil end + local first, latest, has = nil, nil, false + for _, rel in ipairs(releases) do + local p = type(rel) == "table" and rel.published + if type(p) == "string" and p ~= "" then + has = true + if not first or p < first then first = p end + if not latest or p > latest then latest = p end + end + end + if not has then return nil end + return { first = first, latest = latest } +end + +-- Thousands-separated count for the launcher ("12,345"), plain for small +-- numbers. Never throws; garbage in, "0" out. +function ModUpdate.formatCount(n) + n = tonumber(n) + if not n or n ~= n or n < 0 then return "0" end + local s = tostring(math.floor(n)) + s = s:reverse():gsub("(%d%d%d)", "%1,"):reverse() + return (s:gsub("^,", "")) +end + -- ------- cache (options.modUpdateCache[repo]) local function cacheStore() @@ -210,6 +267,22 @@ function ModUpdate.cacheFresh(entry, now, ttl) and (now - entry.checkedAt) < ttl end +-- A cache entry written before download counts existed carries no +-- `downloads` on any release. It is provably stale -- parseRelease always +-- sets the field now -- so treat it as expired: the next fetch rewrites +-- the entry in the current format, one refetch per repo, and the launcher's +-- download line stops hiding behind an old cache. +function ModUpdate.cacheUsable(cached) + if type(cached) ~= "table" or type(cached.releases) ~= "table" then + return false + end + if #cached.releases == 0 then return true end + for _, rel in ipairs(cached.releases) do + if tonumber(rel.downloads) then return true end + end + return false +end + function ModUpdate.writeCache(repo, releases) if type(repo) ~= "string" or repo == "" then return false end local ok = pcall(function() @@ -226,6 +299,8 @@ function ModUpdate.writeCache(repo, releases) name = rel.name, prerelease = rel.prerelease == true, body = type(rel.body) == "string" and rel.body or "", + downloads = tonumber(rel.downloads) or 0, + published = rel.published, zip = rel.zip and { name = rel.zip.name, url = rel.zip.url, @@ -280,7 +355,7 @@ function ModUpdate.fetchReleases(repo, modId, opts) end if not opts.force then local cached = ModUpdate.readCache(repo) - if ModUpdate.cacheFresh(cached) then + if ModUpdate.cacheFresh(cached) and ModUpdate.cacheUsable(cached) then return cached.releases, nil, { fromCache = true } end end diff --git a/tests/engine/mod_update_tests.lua b/tests/engine/mod_update_tests.lua index 759d2f18..ae7c2c00 100644 --- a/tests/engine/mod_update_tests.lua +++ b/tests/engine/mod_update_tests.lua @@ -108,4 +108,133 @@ do check(preview:find("Changes", 1, true), "previewLine keeps heading text") end +-- downloads: per-release sum over every asset's download_count +do + local body = Json.encode({ + { + tag_name = "v1.2.0", + assets = { + { name = "demo-1.2.0.zip", browser_download_url = "https://x/d.zip", + size = 99, download_count = 41 }, + { name = "demo-1.2.0.sha256", browser_download_url = "https://x/d.sha", + download_count = 9 }, + }, + }, + }) + local list = ModUpdate.parseReleases(body, "demo") + eq(list[1].downloads, 50, "downloads sums every asset, not just the zip") +end + +-- published: the release date is kept as an ISO day +do + local body = Json.encode({ + { tag_name = "v1.2.0", published_at = "2025-04-13T09:24:00Z", + assets = { { name = "demo-1.2.0.zip", + browser_download_url = "https://x/d.zip" } } }, + }) + local list = ModUpdate.parseReleases(body, "demo") + eq(list[1].published, "2025-04-13", "published_at is reduced to the day") + local noDate = ModUpdate.parseReleases(Json.encode({ + { tag_name = "v1.0.0", + assets = { { name = "demo-1.0.0.zip", + browser_download_url = "https://x/d.zip" } } }, + }), "demo") + check(noDate[1].published == nil, "missing dates stay nil, never throw") +end + +-- releaseDates: first and latest across releases +do + local d = ModUpdate.releaseDates({ + { version = "1.0.0", published = "2024-05-31" }, + { version = "1.2.0", published = "2025-11-02" }, + { version = "1.1.0", published = "2025-01-15" }, + }) + eq(d.first, "2024-05-31", "first is the oldest release date") + eq(d.latest, "2025-11-02", "latest is the newest release date") + check(ModUpdate.releaseDates({ { version = "1.0.0" } }) == nil, + "releases without dates report no data") + check(ModUpdate.releaseDates({}) == nil, "empty list reports no data") + check(ModUpdate.releaseDates(nil) == nil, "nil list reports no data") +end + +-- totalDownloads: totals across releases; nil until data actually exists +do + local new = { + { version = "1.0.0", downloads = 41 }, + { version = "1.1.0", downloads = 9 }, + } + local dl = ModUpdate.totalDownloads(new) + eq(dl.total, 50, "totals across releases") + eq(dl.releases, 2, "counts the releases") + dl = ModUpdate.totalDownloads({ { version = "1.0.0", downloads = 0 } }) + eq(dl.total, 0, "a real zero stays zero") + dl = ModUpdate.totalDownloads({ { version = "1.0.0" } }) + check(dl == nil, "pre-downloads cache rows report no data") + check(ModUpdate.totalDownloads({}) == nil, "empty list reports no data") + check(ModUpdate.totalDownloads(nil) == nil, "nil list reports no data") +end + +-- formatCount: thousands separators, never throws +eq(ModUpdate.formatCount(0), "0", "zero formats plain") +eq(ModUpdate.formatCount(999), "999", "below 1000 formats plain") +eq(ModUpdate.formatCount(1000), "1,000", "1000 gets a separator") +eq(ModUpdate.formatCount(1234567), "1,234,567", "large counts group by 3") +eq(ModUpdate.formatCount("12345"), "12,345", "numeric strings are accepted") +eq(ModUpdate.formatCount(nil), "0", "nil formats as zero") +eq(ModUpdate.formatCount("garbage"), "0", "garbage formats as zero") + +-- cacheUsable: a cache entry from before downloads existed must not be +-- trusted, everything current is +do + local old = { checkedAt = os.time(), + releases = { { version = "1.0.0", tag = "v1.0.0" } } } + check(not ModUpdate.cacheUsable(old), "pre-downloads cache is unusable") + local zero = { checkedAt = os.time(), + releases = { { version = "1.0.0", downloads = 0 } } } + check(ModUpdate.cacheUsable(zero), "current cache is usable even at zero") + check(ModUpdate.cacheUsable({ checkedAt = os.time(), releases = {} }), + "empty release list stays usable") + check(not ModUpdate.cacheUsable(nil), "nil cache is unusable") + check(not ModUpdate.cacheUsable({}), "cache without releases is unusable") +end + +-- fetchReleases: an old-format cache entry is refetched once and rewritten +-- in the current format; a current one is served untouched +do + local HostShell = require("src.core.HostShell") + local realRead, realWrite = ModUpdate.readCache, ModUpdate.writeCache + local realCanFetch, realHttpGet = HostShell.canFetch, HostShell.httpGet + local cached, fetched + ModUpdate.readCache = function() return cached end + ModUpdate.writeCache = function(repo, releases) + fetched = releases + return true + end + HostShell.canFetch = function() return true end + HostShell.httpGet = function() + return Json.encode({ { + tag_name = "v1.0.0", + assets = { { name = "demo-1.0.0.zip", + browser_download_url = "https://x/d.zip", download_count = 7 } }, + } }) + end + + cached = { checkedAt = os.time(), + releases = { { version = "1.0.0", tag = "v1.0.0" } } } + fetched = nil + local list = ModUpdate.fetchReleases("acme/mod", "demo") + check(fetched ~= nil, "old-format cache triggers a refetch") + check(list[1].downloads == 7, "refetched release carries downloads") + + cached = { checkedAt = os.time(), + releases = { { version = "1.0.0", tag = "v1.0.0", downloads = 0 } } } + fetched = nil + list = ModUpdate.fetchReleases("acme/mod", "demo") + check(fetched == nil, "current cache is served without refetch") + check(list[1].downloads == 0, "cached zero stays zero") + + ModUpdate.readCache, ModUpdate.writeCache = realRead, realWrite + HostShell.canFetch, HostShell.httpGet = realCanFetch, realHttpGet +end + print("ok mod_update_tests") From 8d11c04d4390f127546daef075a6e64362d14a27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20=F0=9F=91=A8=F0=9F=8F=BD=E2=80=8D=F0=9F=92=BB=20Copl?= =?UTF-8?q?an?= Date: Mon, 3 Aug 2026 17:09:20 -0700 Subject: [PATCH 3/5] fix(docs): add support for Blue and Yellow --- docs/new-features.md | 8 ++++---- docs/required-to-function.md | 15 ++++++++------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/docs/new-features.md b/docs/new-features.md index c3e6d30f..02aab6ec 100644 --- a/docs/new-features.md +++ b/docs/new-features.md @@ -1,10 +1,10 @@ # New features (deliberate additions beyond the original) -Intentional enhancements this port adds on top of faithful Pokémon Red -behavior. They have no Game Boy equivalent and are kept by design. +Intentional enhancements this port adds on top of faithful Pokémon Red, Blue, +and Yellow behavior. They have no Game Boy equivalent and are kept by design. Genuine divergences from the original (things still missing, wrong, or -approximated) live in docs/known-differences.md; faithfully-ported -behavior is in docs/behavior-porting-notes.md. +approximated) live in docs/known-differences.md; faithfully-ported behavior is +in docs/behavior-porting-notes.md. ## Survey zoom diff --git a/docs/required-to-function.md b/docs/required-to-function.md index b6b6ea2a..bc681949 100644 --- a/docs/required-to-function.md +++ b/docs/required-to-function.md @@ -1,12 +1,11 @@ # What This Port Requires The packaged desktop app requires one user-supplied input on first boot: a -canonical 1 MiB US Pokemon Red ROM. +canonical 1 MiB US Pokemon Red, Blue, or Yellow ROM. -The importer verifies SHA-1 -`ea9bcae617fdf159b045185467ae58b2e4a48b9a`. Other revisions, Virtual -Console releases, and Pokemon Blue are rejected rather than decoded with -incorrect addresses. +The importer verifies the SHA-1 for the game (see `src/core/GameVersion.lua` +for specific hashes). Other revisions and Virtual Console releases are rejected +rather than decoded with incorrect addresses. After verification, the app generates its private cache in the LÖVE save directory. It does not keep a copy of the ROM. Later boots use the cache. @@ -15,9 +14,11 @@ Python and Pillow are not required by the packaged app. ## Bundled Metadata Assembly removes high-level names and some relationships that the Lua port -needs. `tools/rom_manifest.json` therefore contains: +needs. The version-specific files `tools/rom_manifest.json`, +`tools/rom_manifest_blue.json`, and `tools/rom_manifest_yellow.json` therefore +contain: -- the 3,268 ROM symbol addresses actually read by the extractor +- the ROM symbol addresses actually read by the extractor - symbolic IDs and ordering for maps, species, moves, items, and trainers - source-erased dimensions, image names, and map object integration names - hand-ported field/script integration tables From fe139ca7f4eed3dd31005aa77bf9279244ec774f Mon Sep 17 00:00:00 2001 From: bryanthaboi Date: Tue, 4 Aug 2026 05:47:58 -0400 Subject: [PATCH 4/5] CLOSES #691 maybe --- libs/flexlove/modules/ScrollManager.lua | 15 ++++++++--- src/save_convert/GenSave.lua | 34 +++++++++++++------------ 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/libs/flexlove/modules/ScrollManager.lua b/libs/flexlove/modules/ScrollManager.lua index a23d4d19..9808556a 100644 --- a/libs/flexlove/modules/ScrollManager.lua +++ b/libs/flexlove/modules/ScrollManager.lua @@ -127,7 +127,8 @@ function ScrollManager.new(config, deps) self._scrollY = config._scrollY or 0 self._targetScrollX = nil self._targetScrollY = nil - self._smoothScrollSpeed = 0.25 -- Interpolation speed (0-1, higher = faster) + self._smoothScrollSpeed = 0.25 -- Interpolation speed (0-1, higher = faster); legacy, superseded by _smoothScrollRate + self._smoothScrollRate = config.smoothScrollRate or 30 -- dt-based decay constant (1/s); ~90% converged in 2.3/rate s self.smoothScrollEnabled = config.smoothScrollEnabled or false -- Enable smooth wheel scrolling self._maxScrollX = 0 self._maxScrollY = 0 @@ -990,12 +991,18 @@ end --- Update momentum scrolling (call every frame with dt) ---@param dt number Delta time in seconds function ScrollManager:update(dt) - -- Smooth scroll interpolation + -- Smooth scroll interpolation. The blend factor is derived from dt + -- (exponential approach) rather than a fixed per-frame fraction, so the + -- animation converges in the same wall-clock time regardless of frame + -- rate; a fixed fraction made scrolling visibly slower whenever frame + -- time rose. _smoothScrollRate is the decay constant in 1/seconds: + -- ~90% of the remaining distance is covered in 2.3/rate seconds. if self._targetScrollX or self._targetScrollY then + local alpha = 1 - math.exp(-(self._smoothScrollRate or 30) * (dt or 0.016)) if self._targetScrollY then local diff = self._targetScrollY - self._scrollY if math.abs(diff) > 0.5 then - self._scrollY = self._scrollY + diff * self._smoothScrollSpeed + self._scrollY = self._scrollY + diff * alpha else self._scrollY = self._targetScrollY self._targetScrollY = nil @@ -1005,7 +1012,7 @@ function ScrollManager:update(dt) if self._targetScrollX then local diff = self._targetScrollX - self._scrollX if math.abs(diff) > 0.5 then - self._scrollX = self._scrollX + diff * self._smoothScrollSpeed + self._scrollX = self._scrollX + diff * alpha else self._scrollX = self._targetScrollX self._targetScrollX = nil diff --git a/src/save_convert/GenSave.lua b/src/save_convert/GenSave.lua index 06d170fc..8c226292 100644 --- a/src/save_convert/GenSave.lua +++ b/src/save_convert/GenSave.lua @@ -240,7 +240,7 @@ local function decodeName(bytes, off, len) return table.concat(out) end -local function encodeName(buf, off, len, text) +local function encodeName(buf, off, len, text, padTail) local i, pos = 0, 1 while i < len - 1 and pos <= #text do -- a bracketed control token (e.g. "", from decodeName reading a @@ -259,16 +259,17 @@ local function encodeName(buf, off, len, text) setByte(buf, off + i, charmap.byToken[ch] or charmap.byToken["?"] or 0x50) i, pos = i + 1, pos + clen end - -- Write exactly ONE $50 terminator and then $50-pad the rest of the - -- field: every real save the naming screen ever wrote fills the tail - -- with $50, and a zero tail is what PKHeX renders as garbage glyphs - -- after the name ("JOHN{}", #206). Template bytes that are NOT zero - -- stay untouched, so an unchanged name still round-trips - -- byte-identical and stale template data survives. + -- Write exactly ONE $50 terminator. The tail past it is $50-padded only + -- on a templateless (engine-origin) export, where the zero-filled buffer + -- is what PKHeX renders as garbage glyphs after the name ("JOHN{}", #206). + -- With a template the tail keeps the original save's bytes verbatim -- + -- real cartridge saves legitimately hold 0x00 (and other stale glyph) + -- bytes after the terminator, and rewriting any of them broke the + -- import->export byte-identical round trip (the game and PKHeX both stop + -- reading at the terminator, so preserved tails are always safe). if i < len then setByte(buf, off + i, 0x50) end - for j = i + 1, len - 1 do - local cur = buf[off + j + 1] - if cur == nil or cur:byte() == 0 then setByte(buf, off + j, 0x50) end + if padTail then + for j = i + 1, len - 1 do setByte(buf, off + j, 0x50) end end end @@ -781,8 +782,9 @@ function GenSave.encode(save, data, template) for i = 1, GenSave.SAVE_SIZE do buf[i] = zero end end - encodeName(buf, O.playerName, NAME_LENGTH, (save.player and save.player.name) or "RED") - encodeName(buf, O.rivalName, NAME_LENGTH, (save.player and save.player.rival) or "BLUE") + local padTail = not src + encodeName(buf, O.playerName, NAME_LENGTH, (save.player and save.player.name) or "RED", padTail) + encodeName(buf, O.rivalName, NAME_LENGTH, (save.player and save.player.rival) or "BLUE", padTail) setU16be(buf, O.playerId, (save.player and save.player.id) or 0) -- wOptions (engine/menus/main_menu.asm InitOptions): bit 7 = battle -- effects OFF, bit 6 = SET style, bits 2-0 = text speed -- the recomp's @@ -875,11 +877,11 @@ function GenSave.encode(save, data, template) encodeMon(buf, O.partyMons + i * PARTY_STRUCT_SIZE, mon, true, cw) setByte(buf, O.partySpecies + i, cw.pokemonIndex[mon.species] or 0) encodeName(buf, O.partyMonOT + i * NAME_LENGTH, NAME_LENGTH, - mon.ot or (save.player and save.player.name) or "RED") + mon.ot or (save.player and save.player.name) or "RED", padTail) -- no nickname stores the species' DISPLAY name, not its ROM constant id -- ("NIDORAN_M" would charmap the "_" to "?") (#257) encodeName(buf, O.partyMonNicks + i * NAME_LENGTH, NAME_LENGTH, - mon.nickname or speciesName(cw, mon.species)) + mon.nickname or speciesName(cw, mon.species), padTail) end -- $FF-terminate the species index list right after the last real mon. The -- struct, OT-name and nickname bytes of the empty slots past partyN are left @@ -900,9 +902,9 @@ function GenSave.encode(save, data, template) encodeMon(buf, base + 22 + i * BOX_STRUCT_SIZE, mon, false, cw) setByte(buf, base + 1 + i, cw.pokemonIndex[mon.species] or 0) encodeName(buf, base + 22 + MONS_PER_BOX * BOX_STRUCT_SIZE + i * NAME_LENGTH, NAME_LENGTH, - mon.ot or (save.player and save.player.name) or "RED") + mon.ot or (save.player and save.player.name) or "RED", padTail) encodeName(buf, base + 22 + MONS_PER_BOX * (BOX_STRUCT_SIZE + NAME_LENGTH) + i * NAME_LENGTH, NAME_LENGTH, - mon.nickname or speciesName(cw, mon.species)) -- #257, as above + mon.nickname or speciesName(cw, mon.species), padTail) -- #257, as above end -- $FF-terminate the species list after the last real mon; empty slots past -- n keep their template bytes (byte-identical round-trip) or zero (fresh From 3a6557ffe2374f59940341e04b134a3ed862f51f Mon Sep 17 00:00:00 2001 From: bryanthaboi Date: Tue, 4 Aug 2026 06:41:34 -0400 Subject: [PATCH 5/5] CLOSES #779 , CLOSES #743 + new font --- .../fonts/plainpixel/PlainPixel-Regular.ttf | Bin 0 -> 1701336 bytes assets/fonts/plainpixel/README.md | 13 + docs/new-features.md | 13 + libs/flexlove/FlexLove.lua | 4 +- libs/flexlove/modules/Element.lua | 20 +- libs/flexlove/modules/ScrollManager.lua | 69 +++-- .../flexlove/modules/behaviors/Scrollable.lua | 7 +- scripts/build.sh | 11 +- scripts/build_ios.sh | 6 +- src/battle/BattleState.lua | 13 +- src/battle/EffectRegistry.lua | 2 +- src/battle/MoveEffects.lua | 2 +- src/battle/StatusRegistry.lua | 2 +- src/battle/TrainerAI.lua | 2 +- src/import/LauncherView.lua | 149 ++++++++--- src/import/RomImporter.lua | 17 +- src/mods/Schemas.lua | 20 ++ src/render/Font.lua | 137 +++++++++- src/render/TextBox.lua | 8 +- tests/drivers/plainpixel_font_test.lua | 83 ++++++ tests/engine/flexlove_wheel_scroll_dt0.lua | 63 +++++ tests/engine/launcher_nx_pad_cursor_test.lua | 6 +- tests/engine/ttf_font_mode.lua | 183 +++++++++++++ tests/love_stub.lua | 31 ++- tests/save_convert_tests.lua | 32 +++ tools/gbromdiff/.gitignore | 3 + tools/gbromdiff/LICENSE | 21 ++ tools/gbromdiff/README.md | 97 +++++++ tools/gbromdiff/gbromdiff.py | 246 ++++++++++++++++++ tools/modkit.py | 33 ++- 30 files changed, 1214 insertions(+), 79 deletions(-) create mode 100644 assets/fonts/plainpixel/PlainPixel-Regular.ttf create mode 100644 assets/fonts/plainpixel/README.md create mode 100644 tests/drivers/plainpixel_font_test.lua create mode 100644 tests/engine/flexlove_wheel_scroll_dt0.lua create mode 100644 tests/engine/ttf_font_mode.lua create mode 100644 tools/gbromdiff/.gitignore create mode 100644 tools/gbromdiff/LICENSE create mode 100644 tools/gbromdiff/README.md create mode 100755 tools/gbromdiff/gbromdiff.py diff --git a/assets/fonts/plainpixel/PlainPixel-Regular.ttf b/assets/fonts/plainpixel/PlainPixel-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..873fe5f516f87eb56759f977dd67bb1cf0ec3fe9 GIT binary patch literal 1701336 zcmeF42Urv7`u3lh3HIJyd#`K3vi9C9RjPyzN)^N|Ai6d{!QOlCy-Tx;fSqPQ0)c?E z#9sOCLV6yndtHQ9kp$B&-f5A#;{^(<6`B$ zqlalAF)f-CbqH~Ao@pQLHmEeQYkE-a4x1hAtZe%ldEda?C!o6{1{x~6+{F4CxNh#~ zGId5}nZ;sUpChK(WM?-UtC!E~&m~4bjhI0OE><(#b?#Ft?)Sj_#;#T_b_0D}XHea% zaYS4VcQ?g;jY-5|{%4q~I4=Hj{mr=Q9)G{^s9saJzUUr*UBdCV_TcyWj~q2) z&^#}}-@nBl?5UZDuX0%EL(y1C{%MXCJ1<%XJF0W_wQ3GO?>`lzuuswJ>QDEOP_zI4 z914B--5eG@AJor_Qnp0D$G7hff4aZ_lG)8gxkUu)`(ukP`$`S0xc-JVgcE5SyIdldS~ z-{X%(>mh(YP5{ZDj~}AH9M$KA$KNk$K0o%&QDwhykD~SbSfS0Ly^8Hu+?M8g z)j5yKK7Y>7`RZE3E`MKTyQFjVSmC{*`^D@RjThQ2x-N{1x54{g{63%05|0|bmUzE# zkB<{H`k=5MRP|NYSmXLjtv|mORM+2~Q@Hl4b${oWW6q{W&g4FpFf&IJk$C2S@rwq-~EjLi|uQ^_kYeYL?FH==6{%~pRZL% z^*Js-IpAFVO>5yj{#><)U&|j=WBkuoV}<%dmB00zwpzaw=2ElPMLAW)ty-@>7Sk?; z_dY}y)≪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%0Ac;sYl8&&hPLAXy+m!5H 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%0AoWM+T0yE7C%rqx3)11Iea{@EX3G5@y32di1 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 z z>QyyQ1JB+JURaF@x+@*2sg}hzM;i=eAs!n5h-rxkwpDS5a4K#Hc=gy3M#al&$bjD3 z-}9SM9m(;zv+_Y^;e%qiow5_XM9i&Pg;pGTZ$ zVZpu~?sPL4RFQ6{^ic=8K|n`x5e3g9h+C=*ZY6j#4!ETE=$49)o_r&oO?c;{q|XCv zM{1tms#_;qbmU1>E=^v3;`20yRURUwA{U8#gln{_$uE_<@814EOL!ShdPu2JWi`Zl z&sX?EqZf|$FY*FPpFjTY#rWa zqb1oIb=~ehY>|E+qiR`nd?B-wRx058 zz4$?c!I=VmRNRwOA0K{K>OWnmM)-P8blH8>YxvFSMJ-4=T|V0ReoW*f*;49PZbkhN z9qQ4WBL^WTX&r_O74qmSm1Q0uLY+p`VG+VzH9qnQM5Q*1apZDs`P2TwA_(PmQHqRWddE)nsVp09ON zXKUqZH@&OH`Ux?g|4n?ow&Smo-{SH3NgGg!Un4@j*Y|n{W)U*W?ewIqfp&p#Pd8aE04`dV?QwIL)_A)(^`0~+Xl|3DPjdVvihXA3` zb6R8z@yfc4xG1agv&XpY&xFb{603{)+aCb0249n21N{Lbx%77pqEY;;Id1n7IFo0T~$Z9Wvx&t5MU`6puX!`gR((DU9t zc=8S1hV(vs!>{>|T!4=(5g|05bGVvi8CD-r0q;f^=tZze_xX2xAIFOvhjmjT3Pxmy zwxVg63iE-Pu{ic6#j#9n(THXt#JES8vsPq9!$@@!Z|;$=VP*#J(>7YkcS2{k$n1wZ?VI?PMP^;8N%U~QBb5k? zVa>x7P9%5R!Uz^~b7%;K1x90u@rp6ghID~=cRteWu2zxtmzUWJdi^t`KN%3rg)tHQ zxJm2I>n?a_`^eCkm2|vNsd0>57El{vJBnmP}aWSXg zpS`c~swTueDXwGDVM0Ot@s5@?Uw)Efu2^Wg>pFxo;S(?(I>gjAliN^KdCfL9>=ER# z?&}rsovt++zlZc4W+n~5h6m1&JwA-w&X-6I4;Xhjl?EsEXk zWGz0~P9CSmiEr-2vU%YW@?VYNy(|PjJQfVA($C4pX0sE|My7cRW29n$fK{DjIhm@H z4+x)&02E(wF)V{`=Y!2XN$=m|B(47k+=Rz9++E4Q>MC$Me^mdE~ z7AiYYTD-y~juSsbJCc(bJSQ;499X;frW)!tq3qjkeP6T3XxV#%9OiNm?)ZiXYG@s7 zgtd#@`;c4dq`=mrG69XWDDV;%aL0fsm7FT88JQhR7iEYtT&!AS055-9bO9bsgh0&t z8ieF?s5Q4B*B33*Z`L82l1WY@HWo3D-?{UVh?!xr*8^wsC@2(JrQ+38_NhqtY|lMb z|JTAw{AZ7E3j#d(&~mMuG?46(yc=n1hx@1r8fPHEe9Eqzt?=%Uy|AcX0$ObHa1a@@G~<0MDRT zSpG=5mJI&L<2YNIlkB%=lgVX4hlg<)RvwEvGq4D1o09( zSoERtAQ_8o=N;;qQE=VzrC1eHt7CYtDka~zQt%d^xLa+fh@Luq^%Uc=D$M?8r#~ay z9T-tqv41a|#o+357~TF{j`suu9yM3%2_W(LZS_ohsh9Bk}3^)PmTb zhxnW9rfwHJL(3K~)|!z57ZoFk%;+|cxVNgeVy_VJfr^{>M3&tQp_0ZJEe?rPYA=Z&+1X=fjX_2d882?IL4b2;H=th!Eln<5g!)ys7vKAH47~s zkj4W{9bs)za5J%CL?!j!vBB-KIZU6}fE^{{MEs2zNvdUyWlpWg?EAod2SYG*JA@{t z!ceoOOv_hUW+UPE2pEE;XekwKOZG~l>=QphJz}z^x=rE1NmWEFXUJdVwsO?yA{Ib} zrKQ9qEhWDalUO1lF6rsdkfDTFi9nO3hV-7=RL*?5Gq?-CU{FFFvv+Lf7K!e#vsOGz z`_gF08}N97gz5>N!Wdp+qA?98-jz^HYJ?9zg%meKFm2VMZ+>0{5=}7>pIE>3zWM9? zic$e9Ly@%h$r^t;d>Ge9;?PzjqX^*m7R+V=DMmuJd_tDRS`rQ4(ymaN>$wR!g<8i`3QU}eQDrJnSds0i zR^gEf)`DA={?y87>-2?*whfgF^+c83D5*uO{u@e}%eld=a1c9*C?HIv=8pijgI+Na zf{CsSdch0a%$Vn}3f|?2bl=Ya*BvMskR})FZZ-EK9zJ^?6)DdXC?!mo9c1TNR>b4a z(m<$^t@{W8P4qVdvsEgS)w`)ygHj`l+MJ8^PbRaXjm!oXEb%nbn8A#&Y!vG=m>YC0 zmi2P4SGY``W8e+F<&8KAyR3pp2(&wX;O>GBX;g@={@6-32QMQ8b3>%}%3E9YXiF+QJu>a4faB*R0HpnPO|uY3kI*5~k} zI7i*zoL(bl9Qcxb9Gn@nGBl)YF0z+ZD^~bN{C;S86B-uv8=-`Be6>mas2E_EzQV|yeK3@ z*8XI<#8{N%NGLmG(jqFw%f5#U#5~wSnBXCOCa5@slIhD0BDrkcq{4~_hTAN>%h{65 zGqxD0Ohb(mu5N#D@jaE&v?@m1+6jLyz6X|=BlB|l39somw~)s|veC)-OYPHp8l}L> zi-U3}12K@+pkBHYZZ}VCmcSV|t#V_8`aE=qimh*1U(!Pt%}LKv;bNCW_3l`X?X?u$ z^^z}o86L%`3w7)Kb0f{*Wh2w_CsyVUv4lG0K3Y!oaWyrvEDZzD zKw`kX(ah8Y^#?D%QhsBee79k^vRp%5zZzDrW(40Lu}IO_Acr+pP`i=@(>3qxSRS8g z4;N|~j^6aY6stwU)Sy{VpW^0bM~!uJNGY8NMfAOLZ@Oknji;|`q=)#&jgb;sWfMxE z&8X~MJ&ROn0;O5)G!(0mO*TT?H6$$un&h}8lF}re?Ar~pfKW{mNZzGQan|TpdRRkZ z8G}xs)+5rj+M%7bacPRtgkSHWPyJWop4-n2m1Zu}1}Ql&^2JiV}a zlj~|dF}pLYC!J2#!{`wMKWjb1WI>0}`rDe9Tu4_-c${&3GauQ%%*{*C!hFQH%>l|) z=l$?0^XInbq)7WzpcxX%3)?f=C5zKilf3z!yvx3nv+PgbkRFs&$cXfn)Zyapw9s3v zZqVXX>@rvPF+Q6Hut0`j zBz(;wZz%VtXjKh3-FnsIahZ*mw;&x$UGpj=iwH^oT-$L|YFTSiB`V?hfz1fYk^2HR zmb8E-`8TvcBtn;%rP6~Hp&DVfrc%ffuC%D&i+M+ot4wOM#*%T9w^1C6e6zydaORY- z!yZ!g%T*lKTT4S$mw&f71dvPc`koMThJ{Q7k;Wns48Npe3ELdf5}g5BG#1aSJP+na zoJNaRl1-3G(8C2K=b)EWt6C)nghM_$9oJ?6pFrytKPjz-TvDnU_&vJ%L;OWQ)C)tWG0S9uGL*py@tjdDg)p73g z!^$lWt(=?t$sE2pG^?l;k!=d;9hh5&-vjl#iZHK?(dBkcQ8kJ|+F*qx3F36dMU@~Z zB6aQK&FV1?fW;wNLG!UT_4$;XcF#Ztt<9h}Fj{5bAxI6eu6e>z9Z8kyz0@l~8q*{b z0*O>^fwbTC_rja()A#zh&D5Bz8{vHZHrJ$61XUaotF}`G=FFT{>_zQGqzJUSXj+Yh z%{dYh;)|#vxc{yG4?FPwQc-dweiJw99TSL!(A#eth!>*EzaxMw&DQ!fuioKaLg zh?z#L7PO8DV4s^XK4cTaa%HWX_(R=D3y8EJDHb3F^osTtj>B`F7yolPw zLWYY2k|DRj?d=cca_@?t<8-3MVoNu?K{Vraw$pu*Hu;13P(0I$t5NYe-9tqBp#j#% z;`M_4c5Q{LRk(QE=Y=h42LfOvJ zfYh`$fWokuY6Q1cLIC|Dz|Ekr9a7z84GN82rrt5Y3^3f&BG?SaW{=Ovri z4fC`G5{N4Se7r=M(JpE^xK=f%rewEZT9d8V!%CqfWoyGBN`!RvK%3ABrNLxz2cHiH z)HtGHe3)|>A68D=HbXK1Q4o9*gYe(v6*F{aIwE`3Y(MgB-b>};8u;tdk%a|LMmRTC zlGKDSVnwMG)LqgwwN2M{ON23W9gZ^;9gU=>=Y|xKx}J?5(Tu$t9i^?rq%X=nH#A)H zR)jlpS9x{eC-FVXPZ#eRiuPG(D!VwNC4S78OTrr@l*!rb4x%LqF{4V9OS~0D(v?$c zr0k%CS5XZ*$cL50?fD8bZoDzHir^4TZVV=mm^u7h ziit`lkeqJ4Ie=|h<3{KfSZ-nv95`#kz2$`}M#&OM-9i`#0$`ly@lRJbj3@J(+C@-~ zP?cD+QAlhBr7m&z&b7k|q+JC%d0~ylT@$yG3#efe8~#fVcN8BCuhZ!fYy$@ET`2VO z6OBCme}WN36sZt360SxM76GR!56QW+-ShxWOGAgA4I;Sfj5Xfi6 z1|`N~M+)Wam9kANM611Jbj+~D|ECU|mK7Mf=c9yT^Fkj{NnonWF>Wt1VBshLxjDmVmMES#f2 zB|E@!l{3pGxc{MDMf#?BdylaQZ(JAL61||EH`y(NG&M3^930nW;y61Crw&`%w57A} zH5ZQ9tR8|Bn1-&y35U(R_C_nZLbS}kA3X<5==$UD+Fl5}FSFo>WE>q`=)Eo2Q;JD^ zXCa*jFj4SPXm@_DF{-C96yLScjsQ?!u!mg(8}OT>gPEEk0X?bG(lOM zwTF*19)@aNY^gwS6kq`-!)W0Mn+)g)!knO!qMIKre$)Jvj7YWxal!(GRcE55Ht*E_5M;Xq`LPTtZbuI9(7T$|7h^_WSJ97k~V3FG!fuxo#`* zmlIeqxIrpPzNvsifr6O{dA>Ce{qk|2a&ZM}CQL=fsAw(jvu5alo@Vu8Y@+$PLlV3$ zSdCzWkOT>Mo=YXqPeQK5p_N908q+@%#G+%3<2T|8LZ+RI8;_^mp(OIJDx!++x`grwf)IhvA9?_B*);9r?v!{W$-r){?12oDk9-HOZ3!Pi)*m^ zh`jmpA5vqM%~JhQv%bKVuEuTY*!czF`7IU7}qFOhL(iWlHpQJHE_3}oFAF9ZtEI9@t8?ls>+(* z)!dN$Bu@`NdG&#~(CvY17-8m&TAXr3If*XZ`Y8)Ab9NH?5F$-yl?BM^0xh;E!eR}o zVJ1gatZRKFmYnEG4!+Y{^w$NBBTjZB&6#~fp+J3TULh{SL$uyahOQ`r>agVqBR>AY z-b2(t)Lip~VIs4Ka9W)hu7rHxT3V|R5{86-U;*K7b&dur3P}}0;!OE27OwlBR^K=X zAaRNIydtacEH$0@!sZ$gtIoLwF)KC^LMcI}TNqrcY$%1Rugx*I_qLrp+=3I!Eqsog zVi=vlU*BTG7)}Br|0J#jDG59zO$}tQ7AfVw8 z8hAsu&X#qLHqB{dRdA45)o2;hYUl5~p{{{;Hok}+eAWLionhE?3lvArV7HaikLuF6 zusOrIWD3-fq(}}n#60$fmP_ST=iGra?G6H*L?iiw=D=k144UHWoT!rTjbVl?z?CEg zQKlvs#S;H0RSK9jB#!z~kA*fGnV2pCb=xHjv`3Wc;8J#pKP{KISmJrr1rlt?`wIez zN)Ce$X>9O;^-sOTvwxBwMskdGkV-(B?f zlg0^JbS=!%02!g)zx|McFsD%d2_Ys|VNOhD`AqymtkY{e5>w{vYlJA-tFB<+jjCuH zys7q;B~Y(W6H_07o-uWTYO_f#Tj8L@4k`cFl{V*#nV^8&JK?S&LuW1Nvxj4xcp84l-1z0H!U z36(3U6t$B6X{S92d=Z!&Mw34FnBpLoag@j&+`s{XlTYkajW(oi-pC6z%F@54auMaU zeYR05y=oEckecF$QN92qJjks@GY;e~EvKf#$K*`J%VLNwO=q4b|JgwC;lP!_Ra>{)8gi)mdA?$d0-icAAqu;obVF#cnP%}zW zWMQ3g&c!@=f8H7JQ^b?*Q708a1amk95xNtVVAZ2xdrHZ$<$Y`{kNLgo^n1+)bYH6J#w~uV@VGKKLD*SwF zhEI{xGRKRQak+ZYj@tq;X0mpcJJ)@&wU{A|SyJQk+=8rsGq<8BLCpp#f@;z^t#0Em zfM+q`hGf-VA=xrRzA_rkp^hT7ElSno!y%!CU7c7F8bmG{(K!ItTZ^wA16DY!4cUzE z04oH!09IK2aI6McC3gds!gm8K0U~(CXe^xoC?0sFE1MwB;1v))X zntr?00zd-_`Jj_RW`wdEJB<}O#y+YEZd~bXo*pbi#!o^7}`e6bsTXC&gMEN{g z6PA(~DDP8;@kZNR7Qb5;0XhUPffSc{8Ao(yT0u7(7%~JC>KbtAsP(leY`ZM(%hZv&ajN1?M96UU1$7V=uVC zR3`^2c&aN>DFi48$^VC9^jKT=&m?qlwk1PoN!j9X?bQ;T%{f~<=1$^7b>|qQ9>LxV z4Nek#<5nEW%`QiYCl(7O5J@$#$K1=fI=o17F3%1m7-&G?>K^LAgl=38vwkWt39v$h zOi`2Fs9Y=_FbE)Yn+em7Af|nj7(V&xJoy@ZNdL>04;GF^Q_hJV^paRC6{T+p^qD@! zy&RGWo75l?Z#S>=MU@c9Znj;7E6>P0)JGHg(eFZL<8w!56?9;ie{MW_K-|&80?Jw| z?8Q9e`y)`+NlXtL{GyfT0_D6cFWyM#pltm$Q06HO5{V=U(r!W-S!QA~H4KsDiS&Nv zhROG3A)4gQQ3EwfMRCzWCz?@|Xf5V}2djP;juKi|DGXGd z`#DBc)z&nGlmW#1F{&QOgihR1X>-GebBNj*!cEUHRfxLh%V63~cz}jv#E(XH8;Wv$ zgV2yhhfovHAQUI$g623ow=At+MN%QxwYd}MNrpk@V}+Q9Rq zjEBjFUc3Z6f6kca31H>qYyf143vAQPAk$SEdfzJ|`p{bt%|aoE2&fP5ip0SoX|yAZ zyhlo-6@#q)N{Ad^3nK4j9xC%?kia>CknJQn5~sy9X1oiM#V%s3EAl!$c_ev|E_Idl zjxkZY5XaHUhK=L&DPPs#9!Q+9v7NbKqt7ODnz8YAyJ8)GgNR1ONKUxJO+O1J8euP| zRss*3S|WQS9g;YHOehXBf4X_Q>qa8 zrE^LQWrDjsJs!-Z-6vfas1OA<{$d7a$D|==rHdvf7Awig(YM$nnz2BypgcKkPMW-K zPO9O-<{PO52(_E8#L7--@_^pJtR~4FW+^|yX0csgABs`2zoZ{_E&;_)I#SsAfUI%0 z4N>*IfD^o0e#H+-4oeVA76AARR67}52UL^h8G5U+pnnfkdIr)Npwjv^?(w}HyEj)R zrZuc$eq4p=-JIrqIn2ku9|?QC??Y}tbdcta9vXx(wcH@g1at_~h8MnRs6$wuln}S-;Q9+*RC+;6fZlPVQdIwqKJMVsSGA)S{QIX!7I8q6v$*|Ai+xaga|ABB#>zTtsNhtN&i*W-{iEz1r30( zw#_*V*ntbpa5h{B>l_ve->nCyGJy+(CI;(;4Ohkn&_LA)Evw^(n!`*c$=$?rEkNWG zd?k23Sriro_%LTOJS1%bh%pTd9hLyaxq;dY1Vzhs*+7V)C@CK0U$hck#TQY+Jmvrh zny$uiSV7sS(2ZVZl&AvT`1$}Pve0G~1f?DdlIUE65_5SD1KGG--CmHgRomK`TlQiZ z47ZQ?H|k>w>b>>IJdWKo!)s(A(#hhcA;ICHr6)#Xhh03cuU=afJ8apTAS#CGB;5R`ZfIa0bTFfsNB1Yu@VcpKAcec?K$ z8%U_!-wRS&In6-D)K0rhq8#>U?DHZN+1IxI#4Y4h2LQsll59aJH&&f+$g>dRTY+3n zrN*idPGJzi{PdtYw0h*-1ATcuS10oyzGn|;$;AYEL=;rO8f&a>*{bd z1*LG#aAWdz#5CZt&h}W6)%l#?^F@**jU{V+4qm#>8>HknAqDbIH*Lwj+_YlBe%Xn6 zI0utsf;iLW4JMWEYiKMukh#Ux0h2a`cG+_+J8>%mDyfGXwcJd@O2JgaN`Kq1GG@pv z;DMESjz*0jYA<|=T0}{w0j>$LTgNM0QabR`lO0?Rb~m_WEs3PF!eySh!ey;IIfTp6 z`VKC$T%wWyyLn)QjJpI~yk@jCmW`GIEjJ*jj01#p+8!pFYN-}wiyCAFEUrymzw%_~ z9Sk4PL{#6cUn(fNQHIlw@O!I&MOGe;FkuKA`fdKJ7BtQ=W~B#)6ReAagCh7>qD za{1~7xx(UI1Y3~HXAk6>N4mKSsr2T%4b<5oZmEe)8fS2eh9?uC1}0gUflY5)cE^f} zF%2+A`&F@L11(0nx+@`~zB4vvv)WZ-n0rwvM7_6RuG4Rp#^Nw-zS9klghJ_H^q|Sc z>_LXW01u>>k5UT*uD0(Z>+;}L*LYMpHmdCF zVI6K3zt{OrwbNP}Eoz3Wwb=5(of4%?MkVLwJG%m%OJQXP7Q*n&n(V|{v(m0~Yu{q% zD}inmyv<~*g1^WD%5RwOG=-H|%KZG0lLO}eDD#~=DNsr~kizkNXV$!Gz}%#U172}?^V}+>L+LYzPtniWWmA&HY>5@{5{!bP=K!TR^ z)2BCmDVmHGB1up9kNb>%x9Ls$92c}M{(#e)>eD7p?ib>aFlL9T7PnyoGs_l(wh(BO z;}W+-Ae>qF*U&!hq9TAYD7?$FOf@&6drKJlt5}`i$6XuBJ+|?#y3(+a-xM?36lMx~ zuIz37+%xPkg()eK^H5>PuZ4P5vdftl&WV*a?WAj`Fzbrlb>2D8&BwkR#8w`d9h`SDlx5PQn?N8&P-w^ z(CK<_`l3m`)pG8*Jg8_19u1 z$Ivy+V40k{oE%*Cx3c9-KpriYCNG!2b=H&(>3-eLA6dqZBw8E137B&U1~-%zhcQ*R zGD&OP!8qviYSzMtkr>HrB0<%JroJnbI*;;CQ?csZ6&MM z{E_B((%_Wt_(rzDTV+iIpjTV%po2gYyPTB&78S+>6%b<9JSRZTai5|PyKpeI@l-Pf z>@lFt9!ze|9Lx)PJ#(U2F^NgdYiMB9Xp;;!^VDQdoiewTDdp^8YSFDkQyXmpC=`hD z5nBMqM$~gu`;TzJRPJ#>3B0lzcF^AA!eDIRLd^@VxR7TqxG*LNxNTgLwO7v~TN5EK zZICnieVrBD@FB)Rf^9p~pmSh^^qOW;iH{Tp1bT|mW5op}G@+naSJOq&(Bes8M5Q}; z06#Hdv3k-TGNzXI*^VHzrVLnwV*8>IUIiIb6NZe1OT|MS(cqzT8dCykZs`m1ggv{* z69EYxwT^3Jdz%P2V%|^!IF)|Nfxi^9wFi_tmhY+es6$LNR2LEY-<)~EsgarBr_zw? z(4||Q*>H-YzGeevoJuhpr{=q%wC-C=)df-?o&hRdT6|s$RGYFTMMdU4P%*eYT!s}- ze;2q$&3;;i#ejRe2ovsikRo3K%vQWN?#vbZSdnGdNN7?fMujNaRS#Pkf2?SzZ(C_9 z%lO-xtU9Ny9gqz$Cfv&SGNf2g>UCUOuR@hk#+Q975arFIs{M?ms)NR5IhMjXAet?! z&_)%%q!ei_w~itkIib!5r^2Kik#xnZjJYT!obt}80tPDUBoE~Nn@_lrT)aTX&r`pb zng(pGWnJbK9nnydKY6^{s9tGq#?}mE-2#2d#EhuGC5A7~s1nKgVP{y(Nrwd)y7o zFsZ!P)7K9`EB%CTxNEv^b$5J^( zy}q)JeNC9P=SkMS=gC=C=PN7g4VPtol&EK;bqQl;E=E9JM2W8|dPMnn<#7Y2qH*)c zUQ{1)7mWc(GoA7+kiJ7vIHia+4y7)JQ__xpG_=AeqmXXD6uFZ-EjTm=i?J?y!=dcp zU=*liUwJtKP{6i<&oHDbH>S_P5Ev|jlN@bzd@{>{oe?pEVHd0FS?u#5&rAJ3V8{}= zkt9{eIRz^GGje;cw)UCBdr3=v@8{SGQ9>ys| zY=u+R9h^$hqCLcQ-?b$fU6qO$3ijb3vhq(>zdb&Vq^gE-_1D5OMDE9ft)NL2&Zbxm zsYJ8q6WUfj@!b2E&%|rwQ=MT)WhR7XhK~!~%Yd*k-U{6Z?9)kv|EVMU5*al55xs$0 z(2O_9nMO%FHAEX4`;A7Xv0s*QnCzW{q z;T~b3X6jlGfs}pGmauD^scUDh3DOwuWjV`xxRIYWx$Y9A!{OdAc*ifcf@3w3n)#pw ztz4_#Gm6NeuN&@l9c}Qm*S+YRhdwGGl73;NT3^E3md6DaRq{ig(l|CE?NX;c+%ruz zSX89-em@7y{^5svJFX2KE1d$pndi!NnWz3_y)CacUaTTMx zluC`r21sq$6Q5){41V-`=cidyS}f!kqI%+QVkU^%QzJ{?^JH6}M@_7_n3%Kk>_{4D zRLqqZE=#6%JZ`?Yr}1cX*RZIKu1OD_yLM93DGd~<&*75Bp?PfQOG6pWnHD74#&-4s zP7fq<2Lp*1i)p4$&=I!@nz|a{s-r_3YBqO>Lp18m{%eRQj`<&iV|mFjvuWOl6)V&j z2gDT$#FREOcg&~N33e?}nsfX{7q`nGsNb_Qt{4+^n%T!+H7MJ96ui_VL(S~#98uOf z9g}zul#DXh$2**O%*8w?7tB|EB3?vlw0+?yqAM_RW`?148?X)T0%D{E?++GtCwlV2eVI>;ehZAd2_;OP*Y|P(T$UG67vAXdXnh8lY1pZ5n^Y1?IKUc>q*2geNp)02R(m<1YZQ2MM(tZcfVwAhFHtGKEAq>L4+$Hb@k6 zuqe+Ihz{nIZ|G64AQmCb-XMD}-Zlzi&OXH>Q5%BoBJ%WW=j;nQvT?lyjt$WnJ{pOJ zj~$sxzHRp#r5!@t*i@itlk*dV)S1H<;*LAjZMXVNYIZ<~cI$5t(kJJ47?NBWL-w^9 z%C*Wq&5Oo#Z-wF*aY}ge{ z(e~|jEwJMP7VfJ-k=7WWPWiRaDR3!%GiO&tW}m!XVP9we7ovWaX`OK?pI$j~zaKq) zgR0i(HyJ+c*S%{kjSEKG6~7`j=YBuZ>X#q;{H7;t$UY+b; z?TYAEymo$x@3D3DL}JWpoFF;`3+Uq14)R|dzbZlgj! zfrXg^{e=bblVL`m$c0r4utpizf;vj*s1GPdL1Ak%dNA$QOcBVdV<7#uQzDLf+aM!lCijoQs6B zX1&0E)9gmzMVZOdH#QQT^n|e#k>VeF=@Ju>U1BJC9UGZd;C=i<63kc~G(LbLP-n}0EF5Vl@7E~RZ0}go0s1)ck>=<7 zEvNY^D3a^Mi{kJhWhxGzWgEkiIf=&oavCOL%r)Q>{3H6E&c4JGF!w!Rw2Xuzm6>}0 zI_wCztNuj~w5~r+7lRF@G->_9p>58|B9--QCkDK^x8P^wKTMS%{hhCxJUk5c1J$|H z9$(ezZCA|zUmq8!+XQAb@p=Pmiq>ph+t}&gmWi3+kS9;pbclP|PdKnVD;>9o$`9_z z2Ye5O=!-B0Vz-LoF06-hwBSps!@WD9x&nH6_{cr{yYUWr5{Q{>e?36lI09)N@^NtI;iPsLQ_=JwP&K*Xv$G-ZOR7Z zhZ9ZBAvnGEac$M~K)K0ytM2gAKo$+V_!&Y}wOQ7HCEyqk1Eb zHN8u=rn!+3k5+HA`EKsGwLEchO{O0D=#(zF^OA zLNsxcgH)A(ct)?1JZs1_`;*kQgFi1^cSEmkuo6oa?6hj$%V*g37%NcIEHJURZOvOB zCkF_#Fh>#%!W1B4AO@DU6L*m$@FekPizIHfkU#Zw5J_yRj8$HzjCU@SG%4d|6XS#u z80YT0OI5VftK0ixmc29 zR-*!Y-)_X5jv6+NKm(SmY$7uJZ1$xJPZ<5x{cpDDLA6FzhKNjI^>%SLrB7-KV-H1d z50C}hWhi>?w#Fdz% zA2%@uuXVk%9F4aF_oA7XRL)X$BswQQwq@&4!Vtla82b@R+Y~?;2urOrFD|2xgXRL5 zMHgj=YA)i)u1Vph+QU{5Tr}yMg#!Mdk!LF~fF6+~Xk}|!vZd$%MM=|7zM&q3ySh6E ziq$yeM)T1D#5Y|dc@L_w=#ZmW*XLL&1ie9&m}ixYTMKQ_fqLqCyiHpN z9D3}hcB~U|EFI9JK}{Iplh6VCScJ!`!v+)WgWYe^lG-At!S{w8LZXJe$u6V~o)M}j zlsQJ+3~35bP)yzW;L3%nTF`)pP>|`ukKsy-JwXGaS8fG8nF&h#A$4^bnUzT~5!v+S z#4im?4qS+(_UyIhARPD&ua!2?pVeLALaOisGM;F6LI1=JSz?}laPEKT&pO|XzIr?g zKOc&6$>Pa}-aVl%mXazigbYI{35}=)iH@agQV?2UgA%eD>6n$3epKzC4QWsM_Vj6J zIK9T2c2g=->S?MU8x^s`V38&|(hyR@N`xS;a=lKa3+YIw8zM#M5s~}^CNVR8V9ly@ z0|}RE&y>kCh?=onEFM@1bHY<3G-H}4ZbCHM;DcceyP!x{#uHJdM`uDI|Jf1m9jDUY zPi!x}~`1Rik38~48dl2~B{L9GRH3;&JmQ#aj zd8a)$2Zf9l1RyouiWu|PW_L-75b~d~fom)zR+}Q&fy?;gE3%U389)If z6iNfI1z(I&sN(r5UG4I4Rq+sZ4tV_NK4jx2#9~zOq77H@u*z!2>yzhJ8rq)xB`T#ss zAW9=$0?}5G%V;6ca{8F3kMuDWC+VX2P#Ut9AQTeJ7t%?V0{->g=5|$A<=i2u7Q5WU6uY*<8nUU_HO|ZY z3@U*o(!BJ6&5gX+AY#|H-9TT-Ed$xbtz;%ynHL=F7jmQeid$MaJf3drXrQhI+)}Y1 z>Y<-R&UjFByLxb|md)ZC_6R+u_F+7=S4~`ec|7A*x&6frO6&c{#u zEc07`LT!AiKx#5B$OljaS(<-}jEi@FTU6Zo6Z-wzzkTcbPyhGZ|I5?=SO9zaBR1f? z?pIVhd~wV!$rR*16f695+XTVft5=>Y@LB-ez{am6n-G9x* zaxmqF;+gDlY$_ZgXGxa!CCume{p9JSyIsD1=k?Z7Y*P8)^mC_QIDM7nJXiM_W=Ms4 z3@08!X13*|e2(MsPM`J|8T=2#jd+rc)w_na;z{^OeE<_6pU8JK=|Uu%gywg{tG ztM}r{e8Ca?G6wT+En_&bo^n#20x=B1Saoe+8fhcRk4^7%(!~uGOV{CM|qsIMxf0@jhclHNe zNRI_MCOevf5^RSXh+u;7Km~&am|w2z(_{iD+x6khqXp>bO%x564CI^H-KS_2eIKzV zVjScfccM+~o?%hq)|kGu((5Muk97{ zFH#g54F;zC%;~C}IgI>5Lfz|Ff-@Jy8hz9#~3vbV87#jxm<*eyx|G#vyY)I}$bL{UH)6AsZy#I`e?DC&Ir ze7y*kQDKYhCEKxX4+$Sh7BCCPFeiJd8sBabs%;5N+68hAp^oG^y6v)zfWC;bHEj;N z9JA?JimmA;!E4%Q}4`9d7Nfpw$L0-*`k7Q*$ z8~1Q*z3}c+t`_I!) z5ROLo)R+Rd>Hg&A{rhbXP4(;alK~k!7BKv; zo(vc%Gt3zodrU=uL=I9IB~?2y~mH3gVuZVg!u1dB4)@kYbHGL0e2W$Cl4QwRXJXtoV2O zQrgK%^oDnT2uoRsKWiyF214cl@=ex4Lf`nv%=CpHHsL#wx$D>!LM%tasuf4>+94UV zN0!dy1TX{mU>h3BV3ykdyjI06c5xMZRvXbyL|N7 zgBP^MfExxu?nV>m4)@P1K;itSE8oAAeoikt&;DRCr439}qqvEyod)(?8c|rQ<^6iD zW4MXg+0AVTgY^RZCW5tNi==fmq|+KzYm(EO)}v3(oi3!QOVTXqJ3{pp(y7%Lbm#)`bsAe|;$j{n$iT#Xyi)oe% z!TiSghKgO*De)ZtESZokv`e@8OTktlb7m@=^dR*hx!RdM%(R9}cw6I#&A$}5u-Hf# z@S)r;rLcRNP>TXq49?e3B6Gk@UF~;nxd5zU&9hH^UyD9yBjO(olTC;)IZ^F6ISX4W z9j(-bDXzsI+hax`w-sPLwG|#`(yO&7W%TB1Kn&qz;BSxG>(b2Zl z%e1%POz`J)Q6C+*fg)A)vUO?%OUw7N1OraA7>__8Fw^&=0Zd^gOq z4;ftf2NJII+IZ+zg>{LQ&X27tOss%ubcfKwh=oOfgElg4!V7R1gQbo}o#jSK7SX_> zwHrPm;E%_E z4N0#Z_IS|*k>FhU%OndGT$2tuuF?G@4)1x^YelG{a$eVqpyjS!#*-W!-Lu_2kn_v_ z^uswZHo)+nd_%v(>xtjsC4Gkt$hg1$^!Is6@zdYG^KFr>m~utz@C{H8l^Wmys{FS4 zRhWn420cNEBIfwvm>QSV838~6-J*o((hxIsp=gNl@4C=pS~r%RT-TAOW%gYOScPX( zXI~5%4^P_y(pK@&2o(KZ!AW*L-mj6lb)xev`^_b06-fRL-i}*g1<$1mo}UxRg9r7k zys&YQ!J!MS=w3Bcw3enkVor5+5^bi3n%fA9$;%DAR)RDzI3nptpNC`(<(?&M(ep-{ zz)dS$No?oAFFxfQ&_px?L+?>bjCbs}#PVh=Lf|)HQU7q{&6WKJcuJQq{^s*{Im1iq zG91VDa@ZpjoHX?_<{`KR9{(J7nu{NK=9V_oI7>e(bygV6Rqcw2ILelbF!@XIb*ycs z>C=5R*9)%*P^A?REql*6t| zAlG%@v&$U`n{tx~C7IL$4$x5CpPSF^-M1Qd%)_WPXac*%H-a~xIF zbeCl|`3FkJTf-%=%o!Tpp{kAINnKe9U{wYdLhLw( zrZ-~lL0?9!^Su>IyB@8MG==k>s@rtaajV?{j^8#s;uJY4XlIDe+@sT-uMw@@J>nkDxVQhI(VTLUS|ne>~BZRZ0wC3t-`=cPOP1XB8f*m)ZnO{ zZz_@>3$a);rcBJb(9L0#j!BM&oRPklJ0SijCT2>kh(;wx`=YBjnYUfA@*$o{0DffV ztUbN9l24qBt{G$TFD}V}WK-nnYYC~4obkj13D=q4*Zr57r*D^5na`Jc_Vg>a9_qiA zMZ%M2(Ae5Sk=ns6Rym1t?<$&Wy%JrAnSGFn9 zs;J8j4^KYy+!AD~Md;QYV`@~>1K#Bzp3|E22`nUZH=)ZF3n|y?HsQg5PVlm3dQjmQ zE_HVVOs=$vO_mB_J@TQi+=9?6rn&9uj>sG_7WXa-a~@~>H7)us-nHVh8v~@+$}dC!ugg!KeB<^9D(=Z}D9RJ! zoAl%C)UbR|Dq={2n$)-Qt)+G8px`3SOsqX1;S@mW2}!AkoM(9Y2C95Vw}|YUK@C8m z>6Om9r+xU(;L5Nm}YQKGdmOTb15?s%aU>;QDoryrSg zis7~^J?Q$`r@o;@b|$Z7@IvfdTq(xzjDqA&V77X4#K8AaEQ*eoEL@z48qt6i|#c9qeCz4H#kc9{P^Y*9D$lz z+~u#vVf{^f(5A3;Z!*!KPS(#3tK@4#(j{%lnYI6wxxyY2HVfW~ja%T=q;Aa$pcTCC zg!{)e7d*r&KCbnf%TGR&+njNoz?2lIJxSt)Sv!xX{8E-)7iP1OqHvph-IpZ!;btir z8_+Fg%3C;~y#vN=GCEEgfG^0Aur(ReT+j85OGw z*igGL<8%P1 zy>HTE|Gp32QRr46`RqYZK*C(gpzJ`?LZCNndSQObxpw9^uN;3^rWhk=b1w<-UXmbn zclElFCbN7%UM$qpQo*1{MsH7&R5*eNED5_j7!P^!zabhc%1;hDi06RN&uPWPsqXHt z=u+<&VVBEWt|~!IjnAq*J5}_7*WVV1;j5{!Yx=8)gpjSXYqnG#R4kl0!Ux~V^w03T}x$sPh0glr$Z^F;frH&dV=FibbPek_0>RC1fA`lR0?4l$#G3@DWD z4t6j9PqF+V#UN+{G_Xp*At33RNKx&?cVSJeN#PE0O@%xr_E2Q`vh=(u95 zu*dQA8`>7ZaMrR(fjlmOR`fd&OZ^#C`0Y?gs!nP^vg-v!3qq050PT!5gj79(ZCa3D z-lzxsQRY#4xX@qM=|bVTRH3ASJCAni;E1I~KDrCoTG9f(oYtP<2#!FOW*?#R}N!;Q+UlpMcl(BW0@(^*Je_C;=ADf;^)2 zOm#`e>8+fW_ef$%X@deem;#7{ukNvaVB)5{dd)43+Ze?@!1%8R#Lx`^WY}(ieToS-#IHTyXq1YiW@~;-m2-x9+m^S}m zP}5TCUed^1V+(HtcI^qmo$n${5%_h-bD6_A|NP^pUyeax1rFZHV)4_WNGg-Liq?Af zr;rvV^iT;B!$LqIOh=ev%tL89ipO~H7Jt2|v*gC6k#|1n1pQ-7i-Qv&(LvNegn*|D z)z+%q>f11NB5^jhMDX^Y@hByad_+66O7iNFH~=AlgXNWM zmd}7*p>77ovKqFp7%Ic`7Ago z06f4m`0AM?N+BY#2-$@Nayy@(TjJH!vRxtKl>{Ae)K#`3K}w2_whl8|xI@x-B9*#T zM*$7e4k_H3rssOoT`C4x7WFD|D1LZd#QazHuRiSh7b>_wW$o{EZ=%7 z%B!fV>WB2wY(a5H9R)vz6A6yOPTEEcegvl>Jo6O%gf{j4c&?r@d1HzfcLESEExOxE z%*x>K80H(i^_Sjn3+;Ku-})>vsP&pOG;1kX+(r=ODyt1})7oM-NV3Xg!_q)OjKd`A z<(~k@FFrHw*Ixk=VUZpVN#WN)kisXs&`^Yu(U07+Z~$H9>pp{2$Rb@6W%0Zqe1ZL5 zqh}3C!r@e$Vcm*-TEt0&kHAH=`Pl<+smspomC*e(*XDT3rugXZ(y8iPIdZFx{!`ROl=oiR1u(=?P zcRZ|0u7nmei_PJCR7)5pNESjTvR^!z!Y;W#yEct3kqx$`bCrDQ(b@w7RASrLA@6~p zBl$5o(fNf(i9rIMcqL0#H)>7PD9K?>y%Vpfl&ODurlKzP18b0sQ3y~_&Fsx zN3=i?MAMomu?AO>Fan6Z=>j1YTBTi$OxR*fq}qyutkAE1=Q!z!9vaO#GJ((Eo=T6t z4N9s>B(h?}yWQPM4_3wvG1hB=Sy1Y4J%Xsfet1mD1l_A#6Ov;@}VlH%yMPJin3?bDy0AJ8K? zgw!RU;$Je7=5?H7_0qQ>2;bE)7k4NHpcWw12;uO+4xol%AGD1M((EGQM}~=;N`SF? z1E@)$F$CI)^|em%z)DsgyL3#Cep3i((>vg<)S;G)0fAMdU%<=h@tuz*cyYQF8KiAq zwhw1N9Ww!0L6>f!iYYj?2{o;4ff(v%q;ZFQuGK5pJx-*JhAm=1T!!N&8LGCX*vdw9 zesSP?Me9g9YsuVK<94C|Fq)UXvYSdr>C&GKUo%fYT9kidD>uPOJZ=phK{o7HUYg4o4<$pAv3yUW0t+>z_OkZFSk>BVh0do-Aed}@wqE?VX9JjM73UU$xI)`u zi_|wnD7KkG@F#!v5tF7<6vI_+%d5@!?G74dF$!RD`B-i*Vv?atMh%2v=BaC4|6-Ss7V_dAl-+~mfQM6UI=zKpX?xjNnfur3 zFq(BFzTt!sZ5&qwnH0^Lzm!8o`uj)&nC(Uy>WJLB_=~5nonAftNor6)AM50T)43vs zwUjjKy+&yS3aQ3kBaap_;YAWcX)NtWR2mKuPX9a!O5f@B%1ZLifk50V29#$ma|09< z{gx>Z;K*Yu!|rZ`gpp`T_WG|scNW)dF!;2Z%`u;X^V1ik^mi8=4i|B%R~S}8=KVrS zM==s^Aykl~s)R~kBBz^L1PclAx&+=Cj|^R6*w*+&94WQNJLZR|$Z<7!;L(LtCtFu0 z=rknEZlFWxGJjjivha22?EB@gaaaraW949?M>`Hfj9fp{QW3|?CoI0ex*oB4lSGZd z6F-!ue~&;)NO>zwej6j)=B5D_S6{HjfjAK_>ZD$@B2!e8s_!uL@Dc*WW5z6Y&WwHs zJb1k+v_m(-(&zA2`>Ie~9pSHGG4>0F9eQxc@Y#{FE8^I35iPFk&5Vv)B4Go6o z_>7}&8kC6n5h>bCSETSvIkYIY!$&o1uiavqbyoLebzPg-Z0Z$#8sAuKAW%6T)c&le zCeF|O1gNJDE)bBZ+Rgi*NW6@gs>tesf;AOp71+wSEk?Ogz4AX zrJ$p(t;u1%DLW}-oj+y9!JU&iqDAx=Qx=ky%v~Bh?5`M?Zm2CT{oNMxs$@BglJHPG zKshmKE3>_+&ov*fQb<~Jt!*J=lWpj=DM5b~JuZpcvE;m9u{6I;wTH#nqD7j_*Gmt{ zPAn)iqkl4_&7uQHb`tqgOc7;iUerL9a3qJu9-Yd?v10%D8^)!XkV#` z{@G$<{AGYMBOsl)GdF=HM;Yxecw>M!PXEafPw=+sMKj6Ck*h4sCCZo_lrm=IqN|xN zJtx zk|0js;SpQ&uHzMm^4DP=DwQXPeeL*A?5~`|fwZ`N)ldx2iQ?6R%XB~}hCdCL9dzcA z6TBaF*$_eTS}36I*Vz|k@Cj2G{*FmI9K#SM#*s83 z7&ezZv|^)bo&u2Z zGb&y7P&@y4gU~~+JGrc`x!WW`yu`7aWA**ZF5b+F;fq1EOSCS2>=RV%Ajn@K)-lKt z>A(9;RCxJ%mdeq2KKQ8YdX$XF|@4^x6=8p6)hiThPhC?5Z0 z#7H_CJdl3IQyPmfD*-3|HIkkW8|M9#po#F`|CQFU+_K1GOykS|M>FKDww%tyDtxRH zTP3?hFLWDw`P>75EO`Hu)W}yE*ixFL-pSBTY5#CwFkeEU?>r}_o zm{f@x7Gd!P`TOAE-m}WZGGiA6`^h>stYish+bq~Mo_y-jKz)YBuKvzS$R~yG4B|)` zl!wty;|mvWs`$g>c~j@due}}tWYRIP?6fsQa5}ra3bdgNy1kggTU$q6v z*Xd6`7EEV@^HU{j#IHrxNv2y+A)!|iW%{(_Zjx6@N~iR7#q|51bGk(4N82y>0ed(* z)Iov>i%%xHd=}@$lr1y>8pWaGhsVy#_e^q{?WePN%X-Gq z=q_t!8XPdLn%=tVmsAz}FRPnp6*5@UJU2IDvJRb``9@x)L-JKd#J!88T!(BInIoi_ zwE|!Q+TS4UdA3=^)EO>)UdO+&RJAF`&EHtc)%ltx>!DE}U${>P@>PeIy$Zxn9VR6) z5u2Tc##TfzOd2C8uC@jKS^bekaxKPc;SgBsbC-{vPt~gZK6p2T zwXD{h(nzGt{Y6ZG-5m=M(2$^M9QW4D@iBD;p@!(3Nbz@_7&|$@M4J-Rw}y@uyc>}G z$MEN6U8)4}eI{N0LsM>Itdkz<5q4BYP=Ty!!5xX!&P9p*+sHGJoC2&hB z-VJTgd0=tqZ&WZT<;)+$Zzl!?^Bc;nZZ`BxU%Uc5cV76@_FqMS1#pK>%aYnJ!erK; zSF4~}=;g{*I?1h^YR+%am7N4Lf)ZHRdxY!BzHbk4~-n& z$cHLejZB} z6r{lo#^zCMCXSV$_ZaYa84dDkJ=3NsywO1iFqH5ykbbQAUKu9*S*A^&62owDMSKxQ zh)F}oe2kfWeEEd%+;^-j29}vHRoFKR5G7CXVcQ{4ivP#x2l=Wr|5uj@FGoU9MbJ4V_g5Q7tschipU+YT6nedih z5r%xMa9BF&IK@|^+le-I5zdEkPXN;|>n{SPgZIQ1*b+I$i3D*}nk{nn-1x)lk~Sjp z^--xskXWa{@f8bDFsV~V1}Nf!2_w?BxJODS!)gi|VFwqdfeJd zhMeg0xt2chLh*IOOHY(}iL5ug038}1tR$v%Vgw*y4jc>|1W33-YoV0JibB|rw^Zb9 zs5~YKckXa)P1dNWh~l>|>9EYg;)QqL9ZFb1CjV02I{F1BNf#}4Eh|>3`(w-vD5!~S z5=o%y5~LUpoCCyjo<;m>w{*;SC+Ad)iOhRh^<`c}KbgCe^S=9#FQz5?w_hbo%#yY! zgs7e3qB4hBEQ?W(cUMsyMKys+QG#&e(|qnXdb;H+*vc|E+s6VNB^GRXB+6lQ2XDH< zk5ph+(VEpaf^(r&tpI;0l>Vp|PO*Ed6Eu z)mrnK$CX{8!mLtu{8g8!zJN>9m`mX|&`e-w5{^F_lpENCZQVcO($VElI`2$HfU5{jJN9%V zmg^*EdC-M99CInMAFtgelHiLj;V#84Dq9hz>$n|MW-9Xh7#(G~C35W5(EOk-$yosb zQ1t7Pjw30PGU~oX(#VDp_NC4)Tw__CqV!(uM1*4B;NI}0VG{?kACk90cD<=DzdH&ywN%jm3$VkRXG(v_z-&z8zedt}mX z@Q+spt~82SS%Noan=404v39dLzN@piB;8tx{FN1#5_m!~t?6GfO#_zBC0s%@Fjqu* zF$>{3CBkYjq3FbRy815%0<-!!sMGrzlsjnBx2_Vi!QD=VG|yQ2w(rexC2=`BnDNN| zr3h<3xKXgS334!OG}ubuZ;RJ}_hRkuZkwS9!~V%rz-)$c{8>rfy%7wx>z~%IcywJ< zXH9s|O4iJy#B~Yim2-6Ex&MzwbRM&3So5cn6K$b7;P7BXM1Kn@Um53O2-VhBQaNsR zKccy(jkseSf7jv+gJWVr;qMpWK_7Nj1eq55 zN0l5@`4`~(_rGP5n^PD^V$EeK@&E@oP9Y;=|JEU-B9mB2Fepjd_Z*IlvV7sZ0UsA5 zc;@2H?@;1KNOkreA^pQS5C_BN-pR)6#0_*^DVv~(S+R{7AvW@?b`B@s`r126^6zFH zU7e1q)|h+a$JS@!C?j#@mO^i0v%125Z2sqn%47eh-3gBmYw(LoNTJ#pM36_$oj_caV}5(VI;JU5K_o0mAls8)|*QsKJuL3 zK+FupNtAdAi+K$vk9mMCe5oF&V@$@Tn7gohz9NH7YAr_e;>+=PoEsgVK06m0eCyq% zWkV)qWY?uShocpEeA4}Jp5%vi$_~dYr7b_W9nNa6CJ7ozx>FU0U6bxzDj!{s7&eZp zJUC9+Nq8=ukVI^cg8a=3=aOqqGj&GooxskG3t8}pKl*z4fLDyq_%rnAQelHwdh)@t zju6vYCK3ftfwrzN(6Yx0q;Q_G&z0)$yI-8misJ+xE%gqHFw?jEG+kMwB|_Y-jOGkwXHVRrA%Bj2v%Y+; z(~s;;QI(;CC9UvoX{!STx*zI=D=XO(#_EHu5icV}=)k5P2>ch*g{{2(zUDuvCA?TR+zqQ>^Ve2Fn^tFnq;Ptcf{m#D- zx!4$ z(jO+Zx~w_N6jl>aTqx^2Iv#4w`3~UZFJW)eLpS9?!YA-iy~U-+GYYJCzqx?wT1b7^ zPO)Vn$TF&je76}c2q_e(Yu%TyC}1v)xyj{n3oERUv8=}6gRLBRzpl~qCn?rH<rUpnL(Us*%cdG#FX(fJDeoZ&Of#Tl?J0lQQyyg! zQ1*F0Yheq~Rk0L=r0JD{czvmr3pM!82hy}f+;_~B}G{id$`aVB9%Ef?#X$=Wa3 zZT~En{E3L_%JWlwz3>{<ddy4FF>-1ab>b4U_pWXuTC<2|2~`eRQ6I4O9s z5^*c-zK#^@=pzjwV=klz%CR~Qt~5tvRj7k<1Ya!gXjZXhWspD>a0#<1&eo~BT0z?{ zcOO!G`=4$4a0OiA%+~8c>sVa^^L1A4TM_p_Z>ay#4#DuopdDieVPA5&rTE?Lqp~G9 zMzFlFgwZ_9?{`1UM2+QW4xIFc_tQp zbOU`sp%)S-KmRNw{(~!8?lu|QgaL4bw}Pb+sgnR|#B&9MUTcvdZ zH#3RPe8CZD8C_wK0m%yn{{D*&$h`C=d+~0^cGUfzR>ofpk%~Nq^C|g(h29{La~dHB zlf<9z?bU^=EV$?dLIZ@r00~a*hzA?*@@gjvdYJS;gqWku2g~BvMvA&C}VwNm{@n z{)A!qhN;!BO>b7H^ee2%=lzl|U%zpOJ7>Zjs`U!tx6(V~|?LlgNE?~%~a4zdY zg$x1$lQpzb2_=v$$V<>1STXbCfEIkV|8?c95}Sc+2NP+N0E)Bz;^0$a+Z?gfZtj1! z^;!HL>u9vz&u6k7`})vA<~;4+GVGhaR66CaDtyeibVAQSNa$%$&m)GYVrLHI-+jPL z>$VvfrM$qPAY;=AREUMn##E!MF#Vib3c}BF{5pCy)BhQ9+Iv^4PMPfF*NsJ40Xx)p zeSAYc(W{)?(HU>+zr|*sku}gfnd~O_(%_Av#E?6tEj;kuP}YW;%<&*28rD*~x&c%Y z+3eE3_DfiX8qeF{U=5B-(E-5YjIQI3_MxZDxhF4MvI znl=;5C$ne)o+fou9}x(Y<_2B_vFq$?x-V@0E3>@{amrU{MTL_tL~d|U5qhG#@WdTm z^pB8;C$GfNGm0pWETr=1Id_^rn|a~%ahMCa_IV4}qxxFMNady8b6R<%W;u3NFRMgC z!2@u;hlu{vpIVjvRETc{z)UM&wP_+yBMyoAEb%?fu*%udlqBt+51L{&`27$hnzA)M z^$$xa8lSP&bm4WqLYEki%1|>9;q<> z?nKBDIlatKyZ7>yrh04-Sl-bd7&^Wg36#8xK*b8IV9m&8s#^LX~fD0E}*j4YM3wS_RdlEg0WWL^#|E7vX<oWB!~Y@iK_+x%fas5(-iQ%v0))fQwu8o$`?H%@Pt%=CLsJ_nRJ`_w z3dnvNf|`V(1a@fO4&+2Z7AIhB@bFwxQ~sBV{nT{2`!&%j8Ge~;%mt3@kksv$K4;KG z5iYMO-w^aZ+3V8D>zNucshp@;UkL?*gx|iJu-PAn72Us?ogX;73pr>AI2w498#Sbt z$z`CRVzKKuA*^sl&`7A=uEPD3DFa^l!m1VZ`k%405p$cPIz z*^D`&IuZakW5$8+My-6bi3TAd5P2xjSpECt4TTZOo1;y}Gs_fLsl@9cHw%E20hskZxVjp7l$ zx>I1{^5U6l#xAn!!~@F>C0*2ZM#0 z_f?+@{1Q@rQjiT#zI1TAq{DivQvh6S5Cz}pci0dZ@TAh zSM}!yjB84#m&0X2B7e*SZUo+g1!V4oCj_3)b9myKmFGHre08vrqizf&=y69+xG->W z%m;hB5V`9{XuH5GJabkp=0;bFWvSvAz)|lJHI2$45930bc#9p)%gZ@(V!QRfb&}kMNNZ17iJ6&$UTGM&uMAY!Fut?|MJdC~D!%6)v zXe~>$k0Kt)kmm(3!YdWuc;!8t?8rk2B1wS4G;@xuY#!v3f$v!CXrIY+Sa)#=jr!Bc z&p6i{So9v%l7lwyyB$@+*TcMP`Gn0hOFN5#=T#Ga#-e0P+m!uzq~CjScdeK+;8g&f zd9CN5wC+;&~2bf6vl$H@dm)z({(6hz@{_JWlJ8L zDoVoKw{9CNU0fCy7h~cKXWhov_RSn{87kA!>Yp zXSq(p)eC;jd9FF%Q^*zf^Emi_;eCVG+v1qh-Rm>I1N_kx1`N;d1*7bUC9o_X!HF5v z#q7pCpZH^(=Sw2s((5-_^{fzLA<8qj{!JjfQM2rK7z#2O{{&Gk}-%Y?Y?=F+P`UfT%@$jH`J~OwB=*I7arU3 zb?jrc2qrWK;@B}lK=X~xZH)1b!I2-Wl6uMcLJ5IsQNHZRU#DkdUVDlBV*o zbRAD$%!Ru+M*zdikP>RWsl}~-(pK$p4i{vA*LB5>e?{&K_jNuUzBNVW{MiY>_7p2% zev8t<2>lm`_hQy#Ljr<+sI(mpvN!)9|yG*0wHDKCb79n$ZYHAkT z#OgxWLKZ~)=Ap&i1&P<@$bbAQ+Yr=NoUO#c70*u2SWD1;TsWA=AMx6l^1EOUue&-5 z1nxY(v0Ixy2g;K)9pR zNvYNdciB+%8_b(MZuyCr%G9%w{9LMI7&Nn=nqWNm5`)BBMD3btGe}+Gmj;EGjtI}V zdcyTDVOoU}>jSh_$J&sBgR!gIxw)m~wyo)WT=v05aBEEce1k)nCMXL6A+D`@GVOQ%{m| z8GGndvu3UWB0y2agj9NSC4}LI;Q$JY1IR?6t`_ z-$51j=uL}Yp`i3)PwXqh7QHsgI_Ks*;+yR(_jNMMo>tqRUBdLct3!U_(YWe#8Dfe` zMbrnWOm-h-y3M}TPN$e}`GgX%9HtvDXTN;c^*1|#Gd3wsOnV<6?kLq7p(kZ*d^^|(<|uv9)6;Qm4(O|?(tZXXLdMx zOn8(GnqlB;^f`Z|@hIl?&??w8D?dUD&jFot`1TzxWAXtn*>IVzIiSHCRtt!z-~(&? zgxREZJx1ylRxBEVS~XdLylM#x9QSF-o6hBWY`yEhm6r$OSv&z5YWBn>QqphPGqR(+ z51*YT)wIclnmq0egc(UX(B{wpHba@WhoDTlUv-`zq zc4z-bP8M>B1IM)_ba11Ec;{k2-R=9@)R2p$yk0KP-eKwJcU%*pkx&wHiC~8en zTe!yUN2z9=qcyeagZuZ1)#)G%ZvcX?acclj_DZA}o+I-9c(R9*MA#%$Up!x;3lVSY;LQK*DLf{p$br( zD7;lZ-%E?n0HGcm*G)*|kOV>k19ALZnrF&fo9E(%xmLpg|1A3 zVE5onsmNEoVq2q^Q7UsTT=HuN{Jx@8(62IM3^;=gU+2A};6_U*X5AvTz9m#+HajQ) z`=~Ozyci@e*BXXcDp8VR;~bMTf7#FteS6MNVw%40_qHly7u+hm*TniMOXB{wD`okEBCCZP8bySm|nj>a52+!4s#f#bUNSI#M)1bEZmpme9DdLTfIsa}sbDzCVl|ucYr8%qwLM z#8aK#mfg9ymMsF(r*o?S;9VK7848exwphRFEE?b8bcwe{YDwtl_|do@qw$#F^Y!8d z9vw`k_GsB5Kc&)3YfyJtBV{cI!yzqW>h!HgdPq~g{2nYzG4;j$r$1FxlF zMxk=&>rbrzeNf?5>jK_qGcPEFxF3_QUQ&y`pj;>q&riML-kb?QSMlcTibJ$($s%z? zBdYe_;JVesx~~{!{&Fja+Ziv95&7h>;NSzl!GY!gS}EAjT5}{NJfC7uJ_o^kotX>v z1!ohIw>a0yJ*%ZJ5Y~8^Q#urE1y<`iY3wbUQf_n7p8E0I^Yg?9ws0HXJqm$j=VvAU z3{Ncvj_UVBF06>?@Y-SKw7L%?PnR=wP3kbKh)Q+Jcaw3Qb&$@jQBN>%-o>>F`+8M~ z5pEMGl~-s9m+N+;{3YN$f;=H^8_4M`z#y(8(OWK2sJ=+Mgs$Wl@FO#nlwZtYYsa}lA?H>WxA;PG?odHy$0U>$j-D8&3}7C zqIDUKn~ku`1y2U;8Mt~;G56p-a3#LeM`)PxRP*tp&2|x2#pk@WDYCFijC>(Y>e^eH z)Ui4Ji~I{*u+F#eI3viY*!B?0rmie%5T;l&*#zW9JbCCJ)YMFN=Lt zPB8lDeGjF{gHq8CTDBuR-^db_&9Vn;ql-V2$>$`r@Oc!<6xptZmHRp2ekzfoBxc1fN(S6$daoC;r z3M1zLLIasn>wMAAl3ZL6fZ^dK4DLvSnbalJ0+hx^#Et!}x5nJ;%=+7h&BF@$O3IQh zGZS#kzy&IE|GFnkrZY@3K^$8jrE zukF2Fclv1St!qvzGk;a=E|2Wx{2S%crl^* zLm1d0W%x-15(7tYZjHz@7zY67!jS+$gHGBPxmSaKo+V@DMJ>Gmz5GuU$_~%ldZ@gi zwhOZOI$FpgPiS!;n>c4}WhVx>PvuXV`m}D#=oq`VjP$U}%DmK2>F;Gp!@@|34gom$ zo_dj#P-~h_eg-A}zc1AYO6UEST2pfZWeS!IR08QGBy5o3+gaMvg3d^dSTdZv)@s|( zE9~|DFj;GaF3M?$DLD1P-WKni!z%acW6+s!%2*zBDjPy8Xq!M4k#v#i$7J}9cbh#T z8U|{)M=)8Vh{*JE;!r`EA~aalirb9BKvRlcjmcRiv3a+4`%xTeL>Wn$$ab1X)Rz*) zRiZt?P$cCyQr;|;_8*d3fMpO0M{Th^Vwt`gGh5$g#^{r>27;z1@2^^sd%DF8dTfmy z6N)aJvNAo!n3J1!*s;ol^?Mzdql>3Fxt{NF-KM7|$~>!glQ>oigQHS_HZ3;w!K=XJ z9d6(bgK=0Sq9Ab69R%XLZ~b5`1^|zeBqm%9u$)ce7^H~oc2_EwzH>Ffz0YQ9dv2!< z)U~oB;jv^*Fdw{l7W}cS@`KE@YucUs`7w|@m+La9;2dpWw-)}Tw;-1&m7O}CW(R|j zwx4h{J-2ayYE_DG%ci?~0nkQjOMosko;7zz!{!AzR)vbH`E|w1rczwPdoqG9@%!mL zdR$4rXT}g72)iw~OpVjj5FLaGdOBv|yY_lau@}u$wc7E;Cu!hKU8Zxo!6#7q!*l^m zfZAysmfL{uFQ`(qASdA$Z6sE-`hq&ou%$wsky>$}0z)Gj+WW4=M1e7)J4g<(GxAfB z84|9lPD7ij#&ziiK46jqtTEcaAEI+-uBQ=jnmx0mPLcS0 znjnVqLMv~y+%X&?TNOIAKKRAA8@{nP)}|V(-0s>#;eZEx0+<}1JV|Xz{_(t|RT*TH zvLGQ!U2#YLh*dK`P{9`yVq)uE6)1FpdkhRusUXm_9D}dv(BhNGV@|>OII47IEbea5t*UpucXI(mz z&NlDt1BCP4oIF#`u}9|}LrQorapC*i7kM@H0#!}el(Cnqj#=!6;?z#yrf7|Kj?xN! z;&Uafd#z3Q=YNZ`r>oUh3;0MTdDa&0$u+t1x_{LV8Z#$Rpv=&Oz$2n;(|}3v=2*~9 zP0kzA`r!(;Fni+qwI&fsz}Qj!PwAz_b3<4|h9ywMOJ(t(x!LXWoRbB2@V6zH-~E_Z zu`O~G2|NJd%P_z`i&MFRV4rxZd$CnBI@SS?8zzZ#SqtrFE(D2YfOj0Wr_r4>(~N>q zITh143tuwtXk5fI1pL7#+$AbSkM*mV+Kn6Ku$Lpdp3bI(k7jGAxXpqXz z>Nvx5k@neecs|b%BW5CV35^Q5ouK>vw+sL%j~!h_vfX(%B;siS7e|F^LN^o%*l5SiMzjg#Zu{Vciw8#Fj73qnETB`oA zGwkcI9P+RZAqU_Pf%gbUA;l)6SrEmx)3ycSDO_gpEM~?sRD0}?pKj;5+%PJz|Bd*+ zLucB@R9Q9xMZU@40po`#h@&fwLrC$8>SW27ERgcJ0rV3%YrPH)X(=!mcq4PwP7Xb6 zs2QB>q8bsFu;!yfXr52u)f5n<#l^a_PW72N6X`QsigS5trIAFiy7o{AMWCPPYkyQC z&ma=Zl~yCXy$=oX2KzPhsqK8{4xd16am7y{J%KnDM?r! zhjB=R;YkAmhYSz81${aji3aE2jy=D*ip$f=PjhQ*GK5ApHhg?VoB)#78hl3wg!3U2 zmQ(e6o;6azX0~O5Rg8H|TCx$pEyzq?p53;K5&6GbdyNUEiklTa?G{;U8>caq>GK}P z*~psr+at>0a}5Pj)UBTH)FW{x&Vq=?d_T5%KvlJQ@;c2tee`=>XUwKxCY9#qxrRH1 zWKUuHc_G@(V^)v|5o-C}kKJ4>CEeqQTnNqB!=@gG>BilSUhINT9G~x=ny#9mA+wOQc=>w1!X&->%E=9~OG2z5ys!Hzki*=nX`Wm_c%H7F4fW3&*$FUxSd$6gT4z_Euw&b#E^1WuA2^$65_Af;n=IGyNW=>unIZ)LbUv33n3 z2SslPt^PVqGj);8i}0*_&QH_3H4(G3&{#))$8oE=M)Jt${CMdBA-c^5>YDSo!KUb( z6<^COp?+*^+gP+ZWs=y`C!)cDzT@S%!wKw zivWyCf{>wpz=fHqLSuOTpDPrL+vHdEX(*Ai&4s z$8SBA#?+D$phH3iW8pXLyQHawd37e>Qe5a9G;Ak4+Dx+|z>0xuX*JJR>GT`lS_boC zq9tRx15ew6oiJi_Q3^SItu!**X0Z>8>SU9dCc0QGz1)SyL8L*}!r!T(G@#SSZH4uG z`O+V;U^YwFAs5Uvxz+%>KoC>r9p1%{A21rvUH~D*qWrl!{Eo_q+hEU662rD~-KAlJ zpT&cpHf0uUCd(286rREM-oyRwYUE#90LQ6VpA>#FgVWUQ^pu3kJ6fg*3Djp(Atbt_ zZDWOPiqXY$zL#Hd{w05Y4JR+0c@)Y^eYcLi@s6pJo#yqbU;E4QihF13`{z<@9P|Q(=!E1F!>C;QTy{)Pr24g%#*{1eMpUiNqx90R+{R z^s`G&X)AAYKm-)1$_@W+v0j8+txgv=vEEJba~)fS70K7B{&Ow_NjEf1SGPcY=;+3J zLJsb|RQ~Iz-}*;GpW{8OYPH<#9_H(S1jM+J(BOEcvY5=usl9?9#AO^Pt)-05Ju>0R zI~MmYgo%f}g6b%L>5`r2x!5I}D{=jG>31eH<+~YrV~nlupu8 z+hygGqVddGwk9=@h3~Qgir;Y{?##DZQ24HmWH=$rCq)kQoFtWk+NS00Mjc#qkM(H` zWx8n%o-k;H4Mpz=yw;1zC+i?X4?MsVds!EY3dpO&QwBWx-T&_YO$E8PC~N%t&Xy#a zxz;EQCDa64Y7^n54lDBKU8$tUz-YK3rB0wu8?|Le4ynJ7aRDaT8I3P zt3L)5YefZ7wykgNIBP35nxQ@dacdHN;oUCIjhL`vlY6)aT9T)5e;BGVzfV)6*inpyeyd>P$`t4=fn`IJyfg!*l39kM@NoZ|h~Dt-C%@lT)#NP^$#>jBox z)+%rF#xzTfz7iiBN_sjuhM<3E5f#Gl1b9*+E(QkSXzl5U83vSA_>q%AgeD&H%Uisw zW1DmQE%58(e|R!=*;eVWNIArLcI4_Mz<=~X8F`Ina?8-6k9H~_yOl1xGeliI#-T}u zs*-B~uS%yy&uU#Ff6Gitp5`1iGDcBE=1^N7`8fdX-cbRMc6c)^+sI@EZgLFhI3AZG z3)h)`Gg;y~5Txi%uHQIiE|j3rv8lglFzNs$>HT~bnIGh(L7Hh%G^2yEgX`=RoGY{v zeea%qFldLa8tyy6& z)R2rjj%as(FRER-k>wlGft@hLmF+Qr;{bB&ECbDoMe#3l85e+&q>3|p62k+Zk`1he z{92|O|KY21-@UWI>?r0$SWiLmx=kV}v^4?lJNt78j@O}r?eVO7u%Lr18)}6f#03D! zIc^eto)SQ~Tx%agcmlk^zP-aI>od^zR{5YlM~@ijB~C{6fd}A-#f_)?*fEtFOk-Ei z$qQ+AvP7$RCOOJPGvG>B4&XHUp9BVN>xG5uzzQh>4t$Tr9aJ&*c#fqy_!o!{0%Hk% zI)|Mg$&yd-VOWyHpVlQagR$nCW+b6hn!+e~TvdyiLV(-W;GX|W<#7ZtubdT?{mR1P zGft!!ca=3bT_HU@ZNG_c&~Lhr3cRk5gRXP{%5b-W330@pR#P~|b75X;KGG$)I|j~c zWr{qEt6Z5j?XD;raE@=Z;NuKVr??GYb1aCJNg1P(Pw7b0kw}?=Cua;BS{A< z$t&U;-Pio9t8ac&q;$ZCVZan$(FWO+%ynH_=uEap5;z)j{Dmhmcuth9KCuJUcZi3t zK)QZY_(g-wV0se9=?z8jXG#g;!FdKyl{JC6oH_|ivG!AK4LSuS5!)S^@&~2~mFw;^ zT48|Bo()zDe7Za z5i#Qe^h zyL2)e?BEbg`n-f#2uemTderv7j^VF^>ICe639;`&+dYft(kcZs2RJ?=jnI%P*9{VA zCF*CvhSX%pgJye;R+~O4g-YcPdbH`F0`SMs$dxBv+t}|1{TC6-0)I@mzWIfa)M$vH zP`o-ydVSArThIa?vE3@)NsQL-v6qfk+9l9#u86 zr@s9!)DonXZ~Y_X%-bnB(h-FR6m?*16IbfS=kPmwq(2%0Gn6JH%M1g-#Ct5cEGQ@B zj&@iU26I_=8qG8{sf&Q20)=M@lx@sVYtF(Pvt?ir?43?GVQY1N_Ynr%^7f22+ny4E znmH!c}MRK<6ZeqRUrSz0BL@DBA4L!fmU(XtxIJH}eN-jR1Yq6r0q7^AAlD%Uoq zJ_@4jhU(v=lDSdg_tuJ-t<-MtDv;jJ9Us@rioaH5Xuw2Xc{*F(9orlpo*gTuR7{8i zhs~o;z&NKcqP-7?Hat^e zV9X<*Nj6JtM~e%lh7wRUinv({FkakOSeMk#OwE*12GIzHMHLXS4CM~VKB~@ZNG>7Pi?$QJ*)qtZ2P!#;$QH1(^M4Uv%74j8RW-WdEFcToN>-{kzBwq(hg zDT|7CnV!9QLwrYt@VyXHY1a){LG_~C7}orWz(|H3L#olqfu&&9ygv9-m!x>q@Z*)9 z)>rmOQ&&3q9RnH?jC&*EnD0GV&wtIj(%pY;Q%u(!(YoAVE)!e2L)598_vNy33tsXo zsHeY#_&y9yW}rr(P`OrID93wvmO7W-wB{=d)Aklr#FxPc_n$bLjTkqGi}N zv#B2M^~cgle^xg+$z0vg_dRuguX+HI)PfHTBx_lVuLPCBzo%}y8jeBuQT9y{WbJ#v zk~tIlK&zK|L{~m0H9giKk7r>dMZI8f?~4_9=D4le99}wJ`z>81eFcT4(5#Yj5apUa zQr7dxQWcB&pi>B9d0K0|==5IZsrSJlmyzJTRr42Jej}g;cxNp?4)L?YA&ZL(!4h0s znLy5T3LX& znSp8LwYKXW#?LJh^C`v!>_#`X_Q*W*Ij2cmxFqv-gdy-bxCBdVvyr83iFC-wVo$Fm zFoUE&bh=5|u&$x~!BCKwy_cTsf#fo>7@-o&Sx9x8aMETIsvt*`9z&!=YPyRk19I|< zm?e1Oru*VPH(Fa)Q9Cch@}h{|A{vDlj4G49qh462Blsar4{0>Jxyczg&$WCpw8W#- zL}f))%v{$-eXwvFIno@FNYPU6LXEt}Izl)9u% z%0Vuz8^T(TK9{yPjZ8l;K}S?h>XD28&Q*?B`3GZC=Q9nI2dd4@r_7TR@i;YmfLtIMi^2^LrOVk!UE_HCl z92+5ZJV9!*?&06rNxdtETBo9X=o|^=N~b|rNE$UK5R@@WxVVoor0B z^4<}}RafXWqFF}?2)jGjs3Y0ZGa@OX9;CiD_P_1|XpkqO#%B_E*!pl4uXxj}p!Nnj zM&aj;dZAmye9BoOfA!Vh&P3q}!Z=3f5Jor?O$uI zAewqxq9U!DU+m)XS$Zlw0@$;V7(}M5aO6`L^_*z^cu?+?>9NIa^6=|5JoD<0xe4ChneA5YsmL%h|0$$uzbRq6P;8D>3&~vVUk~HSd)rkqu8A*-lGi{U~7X zoAZlBS`tV^RV?oce{jO|0?`!*GAwnClw9qs!1MU|Q_6=>c7;18FqQ%*iVS;99=iUx zt`m}E;vmSjaMQDe1=X-a;##>@G-XHzRy@3a0EOoUJa(2S0pCMWVc-57#hp9gYtd#9 zF*CQ|!cSU`8XOjxqDX2WKmU%CWW!iCY-}z_Hyj>w|NgJ+-MODiHxY1cCdQVK^+#@f zNRgCx{qQ!1?|#l6 z*4ftQ$YsWe|E|_xiHWzjko%2cr=*6~E_sYz{)@pSN5nve!fjFVbo?slIeDOH@H9>#C*ZFYJpwFKoSst zRo^=2+g^Ll(__o#?DqiEv4IlHAE$s6n9pVcT>zO$^oGdT?G^KI^q6U?+i$Mp>hzkz zIvH?^PQ#ugX>{mSBy^2~5snAzXMN1~!_BZ5SA%7z0l}$#3eqQXnjHReUyN=T>uVXQ z$jiXt!;u=0bxLs)!&>s=z=duTHjHc;T6l+u93TicjB!PfJFZQ1T;t zY{yM7E;_gw`+GT;eywcGIC2@;;-N8+ooto3E5X#2|M4w!h42ORZ2p;(52(1d`UIficek!p0 z*y7EAG_XjjK6vtAqAWIn58hhlp^^P@?uq&i%@%69IxwFttn>Uy)^Z0+HuxaGj`J`R zbgPims5LI*TsF}nOA=Qk%Qe2uDj&wP8S_d5?(ceMN!#cD@^A)s*BmWk(iR}*t1(#uWGmr8EKw$Zb2KEQwLQ8Fr+p=PrN^jv7EoO4mk+%_evkYq|OPgNM88<%5 zjx$TR_2z26cerqw@LZ9{d&UjINy;{@x*Da9l{#$tWG#v=C4TsMqjPv}ZuLyAp7q4J z5s6d`GTBG>8YY{2c}wJJJ??huA2w?_W@5CPETdrl2zH%Yg1oMN>sWO$tE+S89PQt} z|1GBgw>#+Ni#i7vQA^>P&@%*d_85_OkdL_bkxw;c&tGU9i?tAmj3)V|`qZ_4qA59_ zA%PO77LiULm{yy8!lWtW-MfXqaWK)7x^5O)xIs!*i`2#v_fkT%A|&QLt*`jAPrFY~ z)SlB{4jT16VpHP{)f-nN^#oX&nVMco&BktyXqds{9ldgpYk-{QNR$Rk50u)BDvs6U z(^vncn9-=wWl1kQUbyd5qlHS*(E2!`X*{T~c_8duvpZU*eTI{`ARbu>Nj(x4c#Y#%7zC6wTVGVB!DL_@2iR;{v zM|vNY1;lYoYN|bvZE(px6=*5VnD{gSeJ2VrsQjAs+A;r!|?lb(hnJa252m&WhvwWySN* z=CfBc)zzZ27pnl&uQ@Ir#G9+bvI=gEm)sH3@PClxY{*hsxs4(9^C74MsK5{eHp)`G z5@RMic@DeC&ttc(KHa!1A$pmKHlv)g(LXx(+MmgE%Lg3~{?LHXLE5|*ZNQ~LrA9d4 za9ZTx)S2s?5Xde*#RE_B2GPLVYdM)8kYSR48cmK~qkc}_OMn?<$7q)87n|axy{FYh zv-rN5EJ7*Rq{$Uhr8cFmuY@_tfLsADDUZY(dvU{C%rRDw1I`NRsv7tr)u!!a4Sbn6VbSGwbDE-F` z&O{zftbH-UIpz4Lds$((ttT8}Al$B)2OXIW0)wuhusi+2_btg4#q(HjGm*Uz95`df zUuD>k(+F*?A#x(mK|wMx;65O%W_Tc4mL&M_GFw0UPBaLci`%r#DJ&XL_ZoH(E3#3; z#pu;W2b=)DI)ne29tR=mP#2nX=2xyvBBtD!>=1O+ElnONo&pjTlsOL1Y$*0UeI>i7 z*Rw8IliXJ7>67=|3Ae*1`sUOEE!B`}Uw!M7l%`@QvpsdnF*ZWR0812QOsrsLi01Ee zRq){aS^xPFN+w+ZlaQJ^51S${l!65jG_^(4 zaE%UG!XG~}Mud>;h#L+aSfwBf<>OfnyqDOmR7KQ6Qi4>==iVSa>(mi{l}s<6;7d~> zUnYiegr^)F#T^8LSm0*0BSnGpH1z{ci15jX91q>taLlz7Q><1C8<4+fwGG3I!hV_F z0V(n=ICUSsbgIuFP)-A5&M!XIvF4CCU)6(~zVUPw#LDSf_S)85jpl}Vf+B)rqx30H z`GV?fj&RMCZ{>Y2^fSZc%O)O%`5#do_4J3H4zCy~`DR*DszxbuqgPSQOzw?>2v<3=> z=w7XE)S7|0>{{UDnIg+w{=Uxx5(4&9w7rJ3UF51ncG2X0Lm}^|0~+w-*qv7s2*r;b z(8NQWmgL9R-^5TCeCdZ;e?{=eJo=s|aJ(FqffInCES2dk{xPz#I{0>(BAr>g4>O_Z zSST$pk>vmf)_UypF$Qm!g}o1PtA?6 z4jOfF+&peyuMyYv(iw9hU~bSz1UHbbSv1=xEGJh+%a`>GvmLNK&dZA;h`ji(V|#o} z7~JryZO7&7tOIfSDpqm7lnzs4!&iiaFZiv!y?@m1+!@#;ZWBa$zX26buNC$889KR7 zpyoReKki@c2bPglwfMu>#4``|;*4{%H1CuE$&n?^gB_}{2mc1l(MF^DUCB&}_Se?EG+rSM`C58>$P)760!dgBb#{hoCD{)EOt^3?6sNelHKf#XN`~p1EOk^azFdaDNnk38qEAw zBJ!2SBh$6}-5|r&d?9tTne}L0IJ`!$8`wRzM zf22IYy@mAfx^+OLLMALl^hg3mkiqRI{%%fiZz!a}Ql%f_Cn1W|wjg3T7kcuN8fbwJ zXqjBC@dSn$7rsb5nR~O@5bu{QE@RrWJ@-w{Fp36U!=WXO8>CxNy#|N8zvzBt;0O<= zK?I(aMv0L40e*(Ci@}j=^FZdG)Eqj2Tzo4C{g! zQ*qdj0S~?2(6A2Mml<>~KnDQ5(sbxZvpXp#lr;ZtZe~W$?*JL;iWv7;v8*X*+FZV2 z?pH3t4$_GHsVY$io8D?0X`1iw4?DkY=+-p1Wub~GQ#e;PhNia9YtW5>EyxspI0Ng} z%)k~EkT9Ju-j1+j;na;N;9!!s{ZSWfoj^T?h?FoboM8@|wi(r9_Ki4f9-eES8L23+ zK}!0nSh2PNSygtco86Q=k!v)ok#0gNj#euho>nVX6^J7~n)i5x67>=98`^wYGiN0K z=!f}&f01)A-x{HqqyM67miBz7QfJK0yyW2(Ia_6AA2e|-DSl5?>Cu`*(vIxYLUI_ zJ@vV>{r>FOuIgddEF)%g_*(gST=cqN7ySb_3ou`q+)xM+o5+GFJIK1B%!4QShHlE( z;L5MdXD9BYGQRIhNz2~`Qz-Y+M4I;3UK{==rgZ+=b+<#e^Ju9{)F)R-wR4HnI*YSl=)a5nggdxo75^vcV0; zS61)XD!%|%bHs`j=#9F4#`n?CUl`Zfq2zjgOX48ap^~W-dVZVNTqy`i50>UpY8E%g zYeF8)mt%Yp1?3A>t8$k}nXDeg&_W3_B}Q%M2Lj0g=-t`14sqt7tnKjsFlEVn;PeJ+<$0TU;g<5k`ci)l@_}Moltx zTEq`BPg36@62;?DpCc)osJIVp*U{l$3nJc8M~DK0Je2Q^bvG}EhGz3}6kvvvZV^4P%Qmum9=E^DMD-Rv;NDHg|q zp2-jxRbjjx3H{iV05Aw-<>1)-VFy(jD+e+d_u(NV>HA9(0sZW>iiD$iMG zm{5(qLSTYBCO4ji!ZoVT3}{bB<+T^8ThnL_k^XD~X!eU)$)TgYxFOhniAz|_AUm1H z6RfN_p(G+2WpzjDWbBt;v8s}}CXTx@h2bhlgt`)WH;cP`AI%oauC85k^ka7DMNcv! z&C!wIolG1*l-xAAqDvvZDN6%Y8OA6!XAG(&iu>$@dfPry(?9*#7l@T3hok zSlJGc{9v*LV@dllbYt`^ z0E+acrZ>ysHeA+Jhc1ZuMKFf-`Nn~HPqd>%ox^WnL6&Ss>&}8J>+pHYa>Xo1@YVwp z_7mGIn%@%wo(@i4)0lV)nU@+^M+gppV|2#gParcRTxbd-YW6^0lc%iV)s7f(vd+^K z(o+80OaJdZ+%DuIqi2!^F%MH$baP^{JZ=cASm5rbOK(oaZ}&UzZm1nU9)X(D=Poy)snAa?B>+ax4s$$Rb); zrbEuQ8Cp=m6PePzEJO*orJ19&9c26FqL)jO@AdAw_F>y07DzyMNVynANr8FZb2z6) zK>LVKljYv_5hXL2OL-MxjY`yc-tP&SJAQ3(E)xb^)G)g?0hEy%s=O_9wNUXymwljj zv>1`MNk_1M>gurSgkIs5mz!1-;6A>`U-G(QCiQeY6AmIEm~8d|E|Hr2KJw<+%GPoldW3r2vJe zQIPux|FT|30a0ZU=J%q4T`Ai+o75gs?!=6a4LQD`>G&{_fQU!JZ7^42zou5sC(zb? zYwVHB_*BxfUhwq{U0*Q%GI!x}K;>b9u?Agv3Yi7SB;g3Itz&G{?J2Y3*2)xZ7&qOg z^qqE@|L9nk+C_2M09o0vTsr>5?gx2Zi%!Y~&Y#+(w!Ab-F`4JQg9L@`TEn%O>usK! zvNEG_*BHj>h=!oQSr!*w%&si4{z$Bz{J7}fVp$f zD_%h~Xswlwot6v9AW%`g@3ImtP>P$sE(;p=t0zKMczwYiZgxlb5vmJ!dW7G+OyIXajHc)w9zgAlS54Z3il`Od6E&C=->7 ze4O}1aJ<^6NXmL9tNC@CZFmJQ%DYffTG7nF2g7@-BSvIN#%M52AcmHr$|+(TlRMz8 zn3i72w6LW4mmh6v;!?(udYTP+Gp-U}>&eqCtfxfyzt%uEKx$AQ{CG^k39JbLWqwg7 zgMC~;Op6Do%q3177jZ`)`0#4}>X6@2ZWR%Um!%OH>_BWeVqahQ4zl_>TZycp*D2Wy z#H`c+x4<_Mht`o6R3`9na6qY;o-hLeW5{#m(^|0y#;MQz1QqzFdO+gRPwM47sI!cv z4Feor5yWN%;2Gj%#TdVP^ED~l>Qt(8Yc9PWk@BSC>Thx_wt6U6de&uSOS?;3Yt-Hy zyFY}QiRBwlh-yVH5u7zG7K?C*n@3atsmjK`#mlUxb`;@^rA-SB7fWfaqxR-1mXerP zv+N`Gd;98vEZ!Ak;%Oc?V=MTxcHN@W+6X z2=0NT!9!pDvfl(O56#5x*|SQ(WVzZ6@e&{YR?rYJ!n#U_NCGOWm#7&L$1ZIGh`zp| z@0&_F-H6ph6oUZL|A5f;=MwYdOppOT%XQRr6l! zm9u_P#m26Wbzw|`S`;p+Xj-;(CgvzxtX;fO3YXmOWP$wgP{UlZ!FXmg|I~N&=>#ArpqT&49tYVZbHceE@nZHpuya zDuTGC1J{-JcyGlA%$NeplS;v+I-@XhQ?9(<>U5i`wxZI~ILwMfk!y>N@Jxd`u`zMM zMgvyfBHhr)5U8QSH#lay(W|3KxddKxMtkf(O8ch4@pLwB7N~D6Qd{f>r%-;{9yMGV z)ZrXwKO>1HMM|c%>TkxKdecN>=R_m(Wvm%=pM?@DU;}1AMA6km@J8L&Q=)&`jls_F zlU_P1_E|PD9vlZ2StNw>TluYeHsBCGY6O30#>g|rlH&Ask>PJ77ODjXiX8DLUbXp3 zH|W<$%}N$3$b_(vMy>7Y?OdB@FaG8{vmZKhgo&v`BzHq_<@K^ZaoV~sTiMF@bCM1LObvsVM5<18>wVz!sL~p~c zDhynZtYAV9zv9qitHIWKcuw?o9anCBAO}C566e6^r`apOAmApYn|nj;c?`7!8$uz~ zw_dZPD2Mvp6l^FDcB%8SQyxO1ilS=#m3XWg;UM0mc4UoG1{Dr0R*~jBU*8jdzx%OV zW$hjRWoN&xkax@4& zZH#aKGY|YImXvw4N@q3wQO5oLuNXPyl1%^lcU1J3h&>@h6(LN-LLZN%yd44w6V09~ zEzhse=^&^ToX|EuegT-`5xZ17c~48MC;{cOI=Ua zzKtkszGz~96S#TY3VI?vq?09vQU>C6c!`)t6;F~nhZe4o11D6)-vx-Gzcc^@C9 zZ}HSA4MwUmeCh`ug}YJf&yiNQNsS*Pqu6Kgn3)az^K5EEA~(@)GfD=o*~Yxnt<+BY zzgxRXWBT4qRq$hw(u%VuAR^*fz2kun0aK+Ria*U&e9vs;I>rR!QNOd96sjM2_4ohs z2E}I~RZ*=)r$XR4ahJtY2&ZB9TNu;HV){Ow%Clr8sPwqT_HLn!<4YZUCUO>ItTBer z!V8r$?8+jleJ*AOx?Q`m7JXgeeYQ4U<&L650Y8Bb*)T&V*d;@wq)F0cku5Bp+u%`G zbEn=-4~{31hxa#JclN@MEL;2nK_F6$-P=wu-{pkK%f((0N6=EtYtcOaV1?p6(=qEk zEFB=fpo(Opx-x_-lQ^J;^cPC_bmUxPIR}5Wad_TYZsQfTA$F|o%lnmH_Jnj@EYkrt zMdX^K_@r!-AjEbMp|FXJOF#8FUD0Bb&!ea7O=&b~yH%CLBRC->1C8^9d%PllS7234 z6}%=m&_Ve7Q;tMC&!^&DzltyPqiA~;vwswpT-y_u)Rq5i4k&+p#k*>Ze!|H2=7v8gNQS8i*c541taMR_y*rx?6<}g zSsxex5ax;PC+Wr$TU~6jHXa_5h8wa2o*sVTqr>TLAd+o$8W;bqjys=IKY%J5?yC~-jS z-S-E0^Up>NKg8PCTbrx-XGUwCY5yt7-c!^5_N)KC&zMRgSwaFX1d)=326VqbT&ln&i5`@OPDR1(g)q_r?Grc#b@|{*XGwOoob+a)(8lI z=zXynd%A9cUn7!^;I;RPpA`F4ed+x*_OUXQ{p(#WGDf*kJ3cHV0ZoBV%uq{jj*wHDEIc zF$d;`*txY!>6sr286@`!DIuAJw<301Hpos|$kz;E#JaW=(9<{j>mR=Q)=|p+8|(Zv z>TX6;s@%Z|Ww7^-j3koB&#;Y&)}v~PykzW`)t&2&6fh(QP;78wK0fY7AFL0)zI(6j z&uv#+%o#LfQDAL%v_?g+yOLP(gzk{_V?JFQwWYMpGRO zF0TLAuPx2~x3g1Tckhd*;N8lJX5Ho;;kfv*ZWpo8be#`gz44mg&|K;W+(w?Ui!qn# zkh3wOvBce}7aSj9gHt7k(k+VY3wRRVbu=Yc1}V6!q5BYl=iZk&7wenjOkc^`h-)ep z8@#iZ4XS0K$CsjvI|X_27Yrhg=m6#7z_X?%%4lk2^1D5U$#lbPk#Gu=pwCezg!hCU z{~kmyVBB|M+u-KqlX+%ZGb;=AYV+(}95DVMS)oWk@mw|9OLsB1w77gxBOXQYkl&fH(6{oZ8(>;=GGk1KYua*=jRk?QP8bI(XiIpvd0*?uKp7 z=;gqcRI$s#K_B|oX0-}8SP?HM7P|%u+7#4yuGJf`a1NVYe5Wj&M=?xZT&KjwyyX|r z{GmuD7a&NBJyN(iY+0B0v|EQJ_%zTkbtELg{L8N#sO;?kQT^b0?P{)$e1)rQrfl2N zRwQz{NI+Yo16a&DvnkYdh<8pR0!NG@F7wM3Byz$k_O2LBk{Ht)Tl;baNBmYyalFI2 zINQg=RJ5#wr()G;<8vR?!vUnu_6`R`uwX8=!yGwlCi@O$Pklbgw~4kh%YGm2AJ^ch>@ga8QHx`S$jPCUC&=OWmbq0L=QSgBTvBU~yEv~J3 z8+_4V*yldJbGg2}b01kpsl4LAkV%D@HiGYLe6^55jgS_^JBUm2GSsZpy_;$MUj#6! zATsw~^`f#4QFAtp>62%vb3jYz3`f|3h$F0YbPU7Bf(AwQ6l@^)2b}X1il$)yZ<-KK zpzoydaoMn*5 zJubv>BVA;Rpok)*ZDyEQOmA1xSfg+C<+g?9Tr0!myY{7g@b`%76lLs~U<`bbb;+$= zRSWz{sk42OA{&k7ssML|t>#4$44)qnKw>$h=5L5^hoKSKU;p}ZjO_)GzIP1YD*a@* zo)Wg50SzZ3-)8!*3kaPkE3zN7^D>N>_e)1Z`C^{}k_wT3*5frJdFD$?oMlRXnhr65 z&u4{!FAk(TP1#7$qlD@MnOlBjWo`LF;g`^c-%I^~7Z!q6^0YDnI!788KbbAl8$PWk zRWyJ=@oLZ?v3Jb#{OnE>i4N7%@j5wfU z9*o5wpc1&Y{O80O2ev(nEaNM2{XVHkv#XM|%d4tYg${LjZdvOb=TtOK3;10)_vgko ztP^84uh`v}uW_6{(Bu?aYa-h`M&$D=&?6-BXgN_`BwN3d_2sUY_id@7)vvE^`MDmO z9j9FFl=gqfY2mOQd%+)}wL*!|bSmgXtX5nqBr;49OmqN@W9 zuZC8-LV+aTPl1sK)3-nOfXlg&wHbzcqcZIZjLcE@l!kZcQA{4JpnE>3W0GD5&VI*N zE%dVliw4hDJfo4PTjp_67+pJsr{cXSJBFr`Ns5XlvupBA%G zjdz9sdCecL!g3$J*w1z7kdVbkZT(N0X<;pde5SyULa*_SI~^GKOGGTl(U9|g(qd4P zG3zE>AcEjaK8hLR?2_8s{oa<3VpjNwAZ}n|=ILSS0@7vPckHDL#`G_n(aYnS9Q+&G z*t5GgRuV&ZzY>u)TuVoddZHpWcim-dA0|d{J{U|LbE|&!mId2=InEf6z9O?3@FyT< zSV^^NcvFw;C06LguT>0)-I54tU6tnH@o&lzp6wmOsE4-MN|5j9GK=YSqHoD?=2T{O zE-Y&ZCJ`P<@SziDBE&Tf%fT~J5LxExO9J1<;W1?pZ0W4IHY2Wi2QwcHp?`a;nP&fX zt9&mUxHi?j#^d`-tv^w!J|{G82_7B%-sm7at^RnP5#2U^qlzm;k8gDLlyHw4m`ZD@&{OSjEdTzdW=WCF&Zmdf>42 z$Zcr#xGv?7Ji`f4x&9;sbpXuwC^!hH6jvz0P3n??eV#>01Pj%o^(sID?VK_8&kI!; zISwE%-zGaUQgze0UozpSvMKbj{V&~s?$tEqNM^;%$^B72Fyo+UPiL&Yr~jDXWU-EY-T?dA6_y-NuRXit z_?UF@hCH$W5fjH5Ee=jMypbE061ns$@e~9*P-rSP=MhuBgkaFuH%tx|p8V7sB$YU$ z7LbRlq`&#UsQ&rfFlV2b9sc`u<;)J9;n2mO2?LyG4Lb2*?&fu@Am9w$PY*4y)W_vd z6FADLkeNN2rVOf6QiG@_KkCc7eQF_YJd+^`Kv;K{p=k#4#bcI#O$KyrM?LvJ&m{#k zBMFmL>ZSA}-U+Yj*JT95s-xZMTfz&N+Vl%Z`8(}aA!D+HM4233zv)AJjxc{RKg`zM zJu`OK*ZKDR&cs$+9?S4{1MU`bfv*48ta&MY|2QXX&Ms@~M1Aw$ESKQ%Lv-{#1Fmcb zNyh?OAsWubKFsUKzD@Cr1KJSta;6LQ&=8t-?L_0wj;=TU;aBI+S1h`(pMOOS;^xa# ziDM-u!a&xbOjdYJk%G%o%uY`wy>Z3mPMc~ib>)EW7mRJ}lO%{Re*hF?PrM8tzyGbh zVYyss0U1};L$4#@k`Y+C2t zKUtvHjKU-0@mV2%)x&T40b}Sj&*tMZ(>i8*Rw{_+-V`l>dosTiLR`s5WZJ`XDX`br-td znEG{p!MY8ELqvQxA()CA>`FQ<+D4P*f_^LBc%$l;S-Y9-PhG$?(KN}}$9ewK7v(=V z#eyg4&g!(bf8le#5m4eA|^@QD`V+Ul8hE;m7IO6Jl&PqhTUqS9DLUjsL{A=hYdf3 z=8*G+&$akz!80(soY+Px`IX-s*^;mQlMT)&fUOyX2zM0Z+hs!}eiEDA1Yn)emy(Sb z#b(2E*i8d3zb_m&7NuyvX>4j;jFN%|xt!g_jx!4-00P6{9RBl$0b@g)VV4wnlSCfY z7P7?NdGAyRM(7)7%uC?eQ3NvrTq(v!@9%*FfI!ewEtGmv-Z)JxzmVvD-t$95DPhP` zj}i@LFa0P8I4+8v)efHr*@B9H)1ALnGkXkvXD#KtbXGh+-cx{UTZIgh+2p&fmbPZ5J+DO zCIxSk-T7hapdchCw8)A__t2-dBpAmaHD)yc)Ih_7@}8+#(;Rppk!*f~yp+8{lto-=P!pGi zsKCFiad{6*JF_7x%OPf)WDX!(K1N=cf>*f{eMn!hFGF|JocGD3YGJ%m$#Qk?03`kX zX?b8Ojmi3*uR(mE%UkQ8RG9Rtf?7Q*EA>R;HM{B@QCoCr3%>A_YCHpN>vD!v5NuMV zYMJCw2800lOaH(&Co2XJNVACu%uJHY&KA66D$N7e_qG_OnGd-5Px-PU;<&6={$Ibg zih8!k=xe$$JriNAH=Nw=<2q|NHZ=q4mr=pzOD!Wf7)o}O4+3M+;%-B$z2FEJeRKj4 zM;SE;&Up;^m}hL$9tv?TOqJx@YjW%XQNzcfy3ffm&7aj~+LD@)~VMMq*n(0ES#hnemX63_7 zcV%I)q-`}7Ara_q>yu8rwuttIYbmE%UcdZGw60lIY7YPr>V{EzaN|^7ne3^gwJfZY zI`|hC`8rbQg1)RONOgoMW#`Iz7`Y=G1)upUQ)E<8P*)`$y(V&{3z{>6#3+ylD36hR z9=aCxt90dqld=nF%aO1Q-?!d#q5h3kW<^9hjX6DPr1w!we_u;~(2A*?!YIWu5P?es zhJ66Pg)f4C*PIwePVcoUx2FdsgkB^SO)WN*RF_AS1}f*tWPgn{cs%k?kl}yJ{WkpX zTuB$y&dEYq&#W8VjczfBLULchs_+?d_@1#4B^Jv#-D?G11n1HQ_VIe!oMG9%@7n*p z-)d_zD|<|%h^&&Bu5+ z`48`5s}O<~3~OxrfK;>$JgIF93-Q}rlwRc43K9)BB+LNj?5zIh*#b(D4$6)yX+Rdu zdyE>UAR8bUo*CO1p8Lp*F0d6Ar7c>m5q#6686V#+_b=)w1?G1+WWz<4xO4UA9}v>9 zk#XaOIU0eocAtj*?m82WG4mm>QYt4rXhd?eF5tPbsdrxZ+-OGL=E#IzB9sx2C92@% z*hHs;hdunvNxAr;1Y{+E`~LOs&Y{C8T+5U1yJ`nJD+)p=W(Z}G$7{@ZfP+`UBgtgV zWFMnM8B6YnC9$?tXL`8=mEt-r;G1c>T~kM?*+F_Y2ghvXgUWT7P=8~kSWF8lensQm z4`SdIMP?EJixB-sH*6*3%7-ZCIVGC=&H?o`%P=ux#>K62gQN_2ZX?FdRb(87IV1d0 z7)59u9G5R577E@BQ4#*3H@Ew)r9^95=^T?F>||b~$rM%kXMD#W2>4{LCAr^J+C+2F z+KO9!Zo-$7Y3+5*z_lD=P`S-nAu$Ff5SP6BV0VpGLJ1TY9EU)$g`@bv!@*_b`BodL zDl7)AO{3jykMI2XL@VZpB|Y*=D;Z+2uTAmWrZJ264?yTmr+5jG6824^Yd(z@-84)6V|ad z!r5%__QLabJZj-l$V7wSpxQ*#n@IP&FMJO$0F5-xBsyQTY1Yhxz_GFo9EJBMC=yAq zi=68-SJYU1_?+)C8n6s7fY61_6Pf?}{mZ}gGJ)zRO`pXUN7^oTnW1rBEzCWaLm#FNXbLvCK zCgJ_WtM4>MLqgBc&oTweJ#%=X6A3hVrj(#g-d(Y*{QN7i;v!%0y9Sm!^FRG9CJ%rW zRA*?swOr4PaGdcV_y_LF@9S;k(5eCDyx|~~HOxg<;wkC3^n|>}h=Hg+2X;6{m6O+u z0sbW^>n0;2Ov?ZE=dOYBxl^hkg-7+;@=yn4bHR|PVbGV+-MDjJGhxKa6p$jgP7^*Vf6bS+lA})vVDz-uAZETkm5GAfd^f&O&5l z7b8K5-m_QHog}=H!Blk0p;$7YD z^*085zpN}96Ff$VAmXNR)3}Qqi>`oD_)Ddb&;$_=X81UoqPJ|2&ZLg3GR8?6jW79+ zf8Xkn)r}8LSeCsqP2gZrgdrJ#CvCgtyZ6JQ%jXpdra~fE9~>$>joTJe;2+AOczF7` zS3L498e=@Stab#u3TnDbXv_JcuTtGiiyuMGbAg0$E$LDbnd&moE)i|{;8eJsmWjx!J#8ZKS5KqfU^*~FW;u!GS^+&n*LhL0!{pjiHT3P)t;cBtA3Ex^xJMf zl1ldgI*nU16<(&Nk(ybG<2MN4bIKFw<9wUX4qpX?$>V5T4STAA_IZ`>uZshON8r3A zOlpT*pIhPfST=2W7r!E2bI%>jupNARpk4-}xfZShC(01DeNsbD?27pOAU1Ue8{!o< zx?PRZMGs00YHrmwPn$-ZQFy2#nw_a4B=M4sj@SvZ6*V+jfmNP&B_BV(4isa!mEN7n z9}8kx(88IGaE>GskRwk6Po2E4Nv-Y7o1P9@xEq!zz?$6q3tWAY6B8zx|H`PqY;1Utj`=0{=H6N$w|vJF++~ z{U{3}oziDCg@x@awUc)|zC5uIrvR;oL2l#J36^iu0`V|@ENNV7(I+j*TXOO@ZRq{s6OW$ zI3Gu7_s)LJcI;QFM4T?Cr|PmOQMv%PMadMwczy37VM2f5vKUjL=05pir())%fkjqn zKBW7RYc0qnhMLwF_y&*%FyW|vh+xA5Aa^)g$Wg7x91;cDW5RA(cE(Hl zoP-yt=yVV5Ut(0qeDvQR8n`W0I-y?}%pfq!;FY*3Pjtrh&O#ut&?r<8o#(rbLT29M zIiK}&&P730SP=iSS}dn~!S-tkBYr4|+BhFa6c#$hRwQcYqJQo4iKb0w%b5i*s0b_` zt_Cv`8J(n?iSzyN$SxX3(rUKR#X5@&@ws4s)LbpUNNa#?BM(kNH`PyE>;@p`uGRmV zA~7`T<7o7#8TzOxtl#y0Sz$hrxcY!4?&sydn#oG-&=QWZ8a=Iqx?#UUz9G&lN0Rzm zKPPRMsfqz?Mzdmtn|7jbPN47y@{~H$gN<@HCL?Lovi9PXUTqQgc%KyD&2>s|kvfIy^52W8;+gk?Tr@I*#qJFX_L=W%g`p98 z_$fk5#lVh$O%07)3Ww6sTtEVC6P@}TG%@X^4pk3*YItHWE<0evIz~hNhuMo+Q8AwT z=Z{#%s??DjPu=$>^;_TTsw(OI=ceho0JziM3G>@qM7h2dgXOVQKJMrmrD3rFW2>TWb_Mnw^B8}Up3C%--MsV6>voOb>N=GW4U$EQ*t2713#lOs z9ih#W?rZlD55dD$6?jLHUN(@n9SM_t0EtthwUG@zrOplEnP)7zmXR&rgT4HFuD{Ww zoQ-9Xv_kp1V;5&<%GN8yj_C2eE9bcXlyRR4lhG!+VS4o7pVTGeyRG?+#O`yAwt1x% zj$D(7^V+VwKMOKqXImGQfsw}!p}L{Prxt3`^FP%%o$NDYO8Kt)9(7b|qk*ix9*+^@1YK=&ul+HnwHLg<9`iLjiK>Nrlz;8aEC{QOq^a{D{ zQ`xDCgQ#eO)kDit_@Z&6n{9oa5jVsRVQYcZ9loFWKZ|)In7agoAT z#e+&s#=hl&H{|X$)uOKsJ;NPs<+b(MAQJg!KEMn(sQ36)hvE& zLu8>s3Njpb2Wz!__Z@Fw(`Ml90094v10O+p0UF6@a#zvqF?? z7N*p;!T0T_w2ZZ9Bo{sf4Z`j`3Pkt>p`gMW^AM&fEf;`v&0VLdBb$u3_H+L=rG@aZ zWh{zD>Js}(Cw9OHG-{%KxOI>W8GFhbtm+C#WZg@7?OBP^Kc?>g!37O=3Hq!o{pTG4 zwQoxV>>Rn2OdI>&MCP;aK#QeBKcQFLw$c_`ju@wyT{g!~kUpT%>Y47OTVU1N5(dAB zl>G3Clt<#2f2XA4^~nKzOrC6?sw?6QeunGkaaxm^<%XKi1&|%N=GC+V|$_B9Hpsyn?z&KuI&hbwOhkrJ$q9w$q0dpK>TF{B7P zKniV{j*0V4oRQ4;w9e&)WgLm3M*O0H z%kHPh5|POwD3)X=bAiqzxi$=v06m-D8Z2fF{eD(8@Td$T(5L;B29N#Ce#wCOOb1vQ zb)Zo}D=n*T(UvIl1v9qBcEI$nILH`y(^X2fafF(-)g zsDR2}DKx0ER~5>4HuMw8>R@jx=u2|TT_B5pb0}k$M;}L@7B2J@9x2axr9*T5KpN9t zGAnvV7oa3}6nZm0q=E{HFmG+Ip(D6|I~qFBz$~AkNrG_7#}^O+kGcHFdMxS)S0RNW zdS_Tftsz=!V?)8^fwy`iV_f+zUSOooo`^s!m@vq=6UyfF-s}AT*qM*)VT^2%-;rwU z2XlwQxBA@5&v#Vz?vxNagE=n$hn=yNaw4IcY`L4vXLa;$86Kkx7Q;Z0aa)EjXb4_A zwt|4CTwsBVF&oSXNf7H2#FvFDAEFLE*sjC;U;{zT878gcV9J29v)|SE$n%s;*J7=8 zHp+HDP3ZNuAd?_oArbeXUPD?S&CDc3t2|BV!48OxGfGBjSyESbInV)0*x&z^wBTaH zAAwawGhA?L7Z-e^=Mfk;bgZCTOpxBEv2U`jOl)(SyPBpNOXJdtTj z+Ex83oLO`u23MsiZG`#y8BKTukJ6qx%sac2Ly3OgR1??wh|~yc*-uPsd&M%{N4VAF za+*pht+u07UWPEVOCT-ZgJW9(o)t%o50UIgrbDy&xuA8A516(z^Dsk(>SFYHA6?Ku zJq7hjwrbTiyodC|EDXOnwYGSRPduvGPLb4rgi7B?-1&nmeB()vT-zrR(C}h5(Mohx z-QvuqoZ>z=)4k@Q0Fk;6=rg{NFP{x+#7-|7RGa z&_W|z()iW^&h$i|$k&mkxTzuzDO^g+CjzTed(tn7=BEipyF#wqIcCRlbp9UPGLZ6zQ3mZlX~3pWTZqO|Efmko2@Ax6ovI*m)8se0M?S zpjcS(mg}CL` z$L`jZ?1eAOFOCv-CZmHUfdlZ3!{jmC71?D+?e{4cPhfa}m=vR}Gb9F+4kbq(xTwL>xE@qUQq3B&#oM0Fu>V;6u?;%mc~4G7M@xCY^{NR zf*2IkH!5GhRQbG@!|;ls%}1OO0|(_=UO>UcMuxJa1b%RkQ+gTFjahVxj*E-5i@9sD z0Fll*2Y%lC>dmj{E>Ev>dOv?q00^D|yegbts}}dO4*@>T`OVLAB;Kd~bt&pEh1(@5 zEK}=d=tJ&U@9hi>KZ>kKQdSsq$ETtQ&&Tl_8Y@9PxIbBHD+>iTY!2kSV+z8vE$yiQ2Z+Jn>;y3f& z70_nXNkI9f=iE^Nt0Boq6%puhc7FzSE)NhLZ<4P1JSTA&#;1m(1`YkwTEVyO8g_hCs zjQy*i)y&YVUCnqUQ)5?=;PfP+j9#ZejxCC%qUjPjtSkL4Y_o}(&^!)JuX(ere(Ifp(ULqMF`LpgZz@|e)zDqpkwRfK;#-Z2!SBjlSiu= zUhUoWBcjeWw%H4)9Z!N@|Z!^6ZbG$@>-T z9?%DmKUy^wRPYFmWsS-g##bl;9pZ7W5ej2tN@UGyE6VVcyzbueJ(F?=Sw~E)%P`i# zmE8iw*2oahQ zD#yV%e{;FX;vm!<#@MA55!MFQoTA~?yqtsT8+-EYo){5F)Ag1CM(TrLgZcoDa&OL( z>$bIfea{{_%$~(eI`?48k8}L!o)*1ELd5!`c=;+BerxC53G6kUQ;_b4#36g+kkSYh zVpd4;)FVf?+5zsDTpbT6sDCG|-G18ic3DAu4XSlI>YAuDOTq=SEh^HVhLNw&p>il{ zCSj$spCSQ^J%kDMLqf#FrB0fSGW0(^7)}w-p`ie)?8Kjls8|780H=WX5?B5da8sB& z>y2HSfm&8+EQd?+WujBh;`5{^p7UvzbW)&Ql*Z<&ZxFDY*>X^(3yFajn*zt@Hzacq zC<>9WlHP4uHJ3CeSM%^&uULpExEZk<)yLP7+BfW2`fuA)AmCv~2DX!b^p%gVXyZse zSFkkiG7vve5Ox%zxgsQw>f%lN-n2CLos3QvCxTSO)sNacjAW1xA#IgHs+NE^+N((J z$lq=Pt_Uq%WTLMj@%_1iAmw~2p)&4ZB zTAEi<+aBdc=Q~!|@&7!tY57{`}uu#YI^%py}M4eqHD|%2MyMop;g6B9?E_;}U z=eGCR@$Y~A=2r}Ho-Fb&&-o-ZQJ)DXU2~~2N^_$dtJ5^Vo$4vkP+s=I82s{)3sGpd z5=r*kJtr+ETR6GnJZz#v{0Y|J9;0g+p5^ZLP0o|t28LZ^sagx{)SU`2B(cbl zfmF@%953u-&kRHfWo(&Gv90;Yw|>wIIXHvFXF`!`JI^jlUZ+#`E7miuGU1zHC(!oh z@z|@IjTH?}C3cDlzjH@3t$VWgAf}ebc0e-WVB41;O^JB{jM>Rrsmm)GIGZ1Wme#*f zh<{2Xr`@ez7#I@nt4+9qD_?(qeAC{Cdb?|Bf_12OJ3SiAhju_J^vET}N1}-$YlD_j zs(`f(zPtX#j4bwfyRJJwoG9xJ?l+j9FkwnK9^bG-p-Bxo^&d1Jl!(4RB|KI;RbyI>xbp69y+6e0n_qbm$($eF9p^MR z+diA;+3tRLbKmD<>i7K8t9!UZR>pf`@2VUe1Pi=E5?y1jd9A9-ghN~oW5ozYlk+ZH zIi)ym0S(JaL5RIA?eO1zplL|X7+$*qg0^wHmRdI??Cl!4$k6tKYiyGt{7pzXrEy*YcK2BKqA{eDA*V~1I)3v00bBzk8_kWvtm5s8b$M^^}K z7EU1Y#&DZN7e*_eurl?_7vOMm{XxuI&NLTG7XTYrZwP)6E{y{w0JUn*q#vxFime^5 zNq+^Z$Gu$C&IzFLt^1n$hXM#iai6gx{#Ll~a2-Qh$SC#>Ed19YT!u*c_|i@p9F1g1 zvq`3elw6{6w^AfZOW(GB?}(Ptc#GzvBuZlj^QUDNP%cx=NK)7p$kkYiSEG#C+{XVzRVF*6lcD#rA}0!WI%tYFI@kC|~8!r}+K zYi$xV@I27O`N|zaN=~y;z>i*7f2DzD1kzn@yb~5+;;rV$sSW^5Sc}>rL z$>@R^>0fe*k*Do*&gRhdzM)R;+y5xCE6;xWz4hM;)z>AV!#6yQ=qIP7dvEUCFF-f<6E|?Zz~~~2z;Kw z2ahJ@dET;eldQv}j3^K#h&B#5Ebr%op;hkI^P<`~U5{=&g6p`*p=p_6zaRxxl;wRS zIv2ShOyX3k8Iyw;dppucNG5AktP-}!0?yR49VsArigkty$8$=$Z}%K(6FZIw571`+ zjeh^K8)BZ{4D(B|0y{ywJ6-@dOagJvJb8W0Nfec`_iAi`PI|ESuAk|;24vCce*@P7|e1ZoqhhTdU1@8 z2e|j&V-lp5U9EFxMz%4>SBJGqWLSbLRdYf1pZ7A<7sp*q#{o2aS7dXSN#*u1EPH+~ zDkQPUL79PLW@4>U*jfU`Ar9f}4>s6pYvr+u5(Dy3&|=7(ue9>QT1h;k6pqimr4&lE zfzB863U=WAcCA1Dj5hTuu&7g?KK;$lVqbO-B)}$e2?(dq)?P8fm$ov))#x9s@-OPm z*ROFSOFQy?IUhGmtv#v2I>jcTaI;eVdxu}oD?Gw{o%Ieu@a6$rFC*Ohn`&8=kUQQnc zzVI+|`pDni>q7#~C#AmMysOKDdBRbvWfm~Qgw0#85BmSyQ@VJ%GyE5OXoaJF@>;8C zzj!dIHaKK=o|noAZJPL9IhnPHt-Md$|f(B^24l| zeL)v_uNH+-(kf{4FFy44r2WiJ$ej5>Y|^-ah=G!;^d-^GjKE^?vq8d1v?{9djY-*z zE-qJ3jqKurB$nhaXg8?*@v94L9P9UbVhQaj(`F>2@IGg?0XN=VO6m9*9Y_KM+MQKF z2WOBW$7crTUmS%v=?LK9jbV3eOXrw z^^{BB-;V8CifD6{>SGmCtuQHyd@V|j+C3IY?4jnSV$~2_TZ2};i6l?>rm6z&cU+N3 zW7t`8T(Y}vLmHaOAK1i?TAL&qQzdCH=vb{;5b*_GY*YHr&nNlai|%+6&((V>&0Tf4 z^QbZM9FM+OY=AGO{LEJfKSv%@uTeT{NY4xQ<7%Cac2z8QskL{j^GX*O4kp zHezsVC(0HF3NlahSO$1j_H9vhLuR!p7VSjR(Iby`LRJ(o8eAhN9|_&mL`}e`5_#;M zw3b%rEen5HSA6`7H+xg84S@Xm=o3P6KUuj@T@Gz7OelnFd?{QUwA)Xq%{WTj;~H zd{Mf>=Z&PrdlqR8EKfhD8BjpD(d3wh?rSST=-4=eEo$ zL98aasIkgGSTC8V@f=oUmS@7g!q!6-UzsDTt}>PB?vz*-1a}P3kaK3Lev7{%rQ}r! zC9vf~(Mj3iO7fTwi97_svt+tB(KKl{aQTA-X%x& zDQO;Ms9eb47|P)v%%V-QVgxId^a?2V#p~Rc9b{8wV_EkXuY+CWFhJ8&2M;2Nnd~5+ z0jHHBqk*Rw?vJ*fVB`9oT^enwJ<1(-@is=~NBQoZX>8WAQA9Su!?7|`IbS%DgGAEB zOdzO<&ySYn`NE%Mk@X~5;K-GbdSFr3!Qe=FPU`2chdpfK9-pPEn=I66dDSP6xp3q4 z3iO>*V%m7Kd2Q+OC)9E~7H>p|3Dq0qRVccPmI)yl@#qRIM}Js!M6DS~96ni`({xG0 zCor;Kz^ebpfkh*wB@cowoI)@*e-0~&bBLjmcXnERcxB@m53@^l?x7hLyY!6-&N&aJ zB2kE7CS_Q{5yJ_k{E7Sh*u&W#dNrmVmeBd#S*8#k3eO+~Q3XO%j3Ac@ZpzSLJGNgq zU(e@#R+&Y5j zEiPyak-}k~qnHD?2|!G4UTB;|DpE3Xb_M577im-=-#WM25(>%$I>s-`;56%ue|Z%V ztq47mPT4T>P(_~C=o^g*7j#fkB{VlvPq3Var9~JHNKhlhrZT7GCXjhJOqpS_v2Bc- zKTXMo8HUaKN_J3_|L5!On*W=BEaQN=g!!IIm##n40_ zyhcD`GAmlEAZ80n9Wu5NN;6&IHLic>E)4iL6BR#v&&nBSnb$;{Ad{Kya)NT9aIG-xfv3C3gi%yK&XT*WKp0xWNB?zYIv33UG~VGm&mE`AYS~~ zPfeqo7cLj?*;PMuhM9dLJC`j3OvwH=@;~!KT`EWIv5~JA9>| z4^WNHh(eN0nhtS?`qVMHEzjNl%FHcmj8-5hvL+W+fluJhtJ9750h11yn?#=kp9fDd zkv7+=MCSQQh_d}~kYEW<)(grCo0=$k3k?ZF!r^Lq{%dK8w2G_nhYC*08NnUE5CulA zQ=}0;`KiIUY7_eBF2l7&=QZRBfQ5)tkp*7F%)$-w0we@n+bnh9Fv#e*gJ5s?h5I*fNt_SRgH*N4MX$zA}hN1uW;r9 zjjtBD`m6+-Gma5*0I5fAd{KJ1=O}@d7&&USfHu_)x{Z&}`LWKCWLg9xqle0vc109v z#5!WHdYXje#Ya`>8S!rt2zJZD@gH8E3|DuZON+m!DDXq5{o4 zzXzCCHdIGSs@xVFUkI)OGox@id$~eP#!g7`r9az~BSDmCTUaz5>fB^fnQNgk15xMs z<1Ay1-`@PxMg7$JgdWc#HqQAPV!NS28jT8Rbm4{@(dAU8^C~dE^@!h}I@NRDQS>Js zLRAnH`5K#wDdjNIodEJc96CTwbY6_&TSt4iUU9?jn&uobor60`T683^C%_dntqO_^ zO{7Gb0F|M(vZHeHE+t5f=a$Am7^@#pKX?|gSC32*K$BiG_c39gBVf0wPzW3r0E9uS zCJz=X$0~TY?SL0VO&Q7~UGA)l*fFe!BqJ0a=Ou+AeGGb^D(+w8XS37P3kVPwTm7=F ztW`-o^lICp2T|@m(dOJwK|VlT3Zdsh``BG#Be&eFi(R$r-EB@ zpC~pe_z`=Ed->O7vU*L&egVrM7NYmDAtbZi0vkm0MuIjp!F6m?0ueZpNVr6EdTk)> zznOM1M9zyI>(<1Y`h&;n{rN*JN6bkXtNd?4p&>&VpaPnBj&U8t;OJmh9#0T@Y@0qc z1bH(N>AZzQ@R-s+_%{!#vsl7L5mmLZDfO8!KK_iL{QsYg!xLEa{b7*@u1|qvMS7Ku za}hUTJ6(`TT!Q1!#6iOo1xBTf`0!jEL&T!!_Sfj;r6UK`#3~oVV<&j$Zw-F&7^Zd*%oY1 z1y@{#5vUNEV#D3Nk5azA)#17uhrzCEVW@n-2`pQ8klj?o;}z+J(L|!!FA?`|loX17 zD61jLa{To_TpVsU;lDW)#9e;S&XOyyW8EMS%OWnXwf|Fwd>!~{b47n+iMYH$fMHpY zmDTu|Sb|_@3<;IWj<>c~YKhQK`kYNhBB>s(u#D8&{cNoLaJ`jTE^$QDKTT~^d6Z2J z=201IcFAKV-q*#Hi8herU$oTt`3q?y*<~S*9yaSZhJz7@GYOhjs=&NuW!-A24yW!UCw`x z)r)J)CB%&0JuV;PrxtJ67&?N_mSAglmC$*p#WSC0n3&ZayxMLLZnHahyo$wt`RITD z=>M$S>;&o}su9HQS&BM3#4TCQ2jCJN(xMA$tB^1pHxKbWo74Oj97s-UpGa3?VC!$p zuL^9S$;NX*2tFGb#Un|NxBZ-iqO#sIlFlIme#)T8v!Pjh(PJO#&zJ?%n7U2Q;ElsR<_t)9&Xs;^7tt+$a$cf;V=?dbNZt9C znC`p}&H0RZWme7ixIc7eU+^n)AP;*@2(v~P{GhD0_$vY!xR(MfB^516@j_W7i1{B> zW|fsIJyQKsYF?R^6ldHA zw2004&O9bk3RDf~?Z#ahgPGO4u%3nFzVv6AVTFu4IDw#3j;3cKvzfA(q%k1#bBxz$ zVx*2rV`YNaBb;pwveuC`SQl9HWRRPEXXZ->Yhw~=o*7`ywX%55jQMG1zIC{1a|Ckl zaI5_Wp1D4pL%cux4Xd48cY5jIwxzdoJKP<+BROI$@&qO{%o6YR2O`#pLoj2m(3MN7 zJYKO#%)FcUt6k(bpCxgd|1wx~BwRT!jpO{4LC*ckIJN^q^7+g2D>KQg8fp>j66jzm zE}NoYh^D;|H?OW&qF#9Go9y&WjitdbRp@Z@7EnsETjL=7Rg+}Wp=(ebf!bqn{}-N` zdU5mAVq-0nMq;lRr>C^kGam90L3{>P^(hT;W&;&89ALkU$9P2OF{uU#W#%j9@yly28o=MN#;(c*bXrO)S#&i)3VYzxkX) zaX#lVTR(E)@>+X{SyGgPLWegrwtklD&3!SOe(ISiZh|H{?2l6|nTqE5@iS#rb=!L? z;m(zgBnL_+NA()@T*2P-0&)`DZbZcw_Ysa z{KSOAqEfFHoZk%Pj_ZKE{8HAh@&)N8`sfuQ9Ry-&)=2#X^SgQ#jb?@ZVLkF|UyxIW z@SmPE1i^%M+Kg7mbTxK=Z3;z^aL39~ozbn}5D4ERMm&Z2nuwtX%lCT7&;E6+YAOK* zdL&@;LdNUhbyJ~abYD?j5nmuhZnU(Tn3$tt`PP-Z4a`mIZRc7+RP{s3<( zXaIrBHkeDfjd4Dc@nJ}q(Z+xL`-X+bF6Z#hx4O{wBo}~vc)d)_c0_cD@MNIE3@7*= z)&&=_)K@a&?|+bkM0WVf4hynUhnGljwWqH4ylT|-{M$om{RuSr?HnD2I1y2MAyOHl z&hl05=_him7OVk<>z>bzA!16;*uG|hy&U8iYfwKokB-SAK^W!w+( zvF5Y&v_lCK8Tq+Oq6XZOoK)kx7;@cs?kA*M!7-i^>!RKB9Hsm8U0mr6Gd`&VI47Whv; zJe<9gv4N-%0i7DL!6pZA10|GWD3sT{a<0aa3eL0Mk&6lpknrYnpT_z=0n?zHYTKc- zs7Xf_%6R46N-dDKkxEUG)%KV(Slu2s02reffSpT3=|q`l#bLq%_zm0?srPy2QJ66c z_1fbS%ZpQ3Xe7j{k2O+^^ETmcYK;jGkExm@WE(^dMzZ9Uu{6l2tc<1{V1=wbhefMv z%QW*1f&Nn%$d~G|YTrD*TE0o5+qyP|x*>9gpFDr^b^M7%@n%)fx4^ZwToD~VB5?;q zEXDH*Lx;K!S!%`}S7GG?({pmys58@h~pOen}rN?#u*6vd!G1DKol}$jnrM&39IeMKksRI_flR-N0Z@u zCEkf4oT}s=*rfNxFQ8@21^0(lEFX8l?Iu!|Q z9$&!8Lju3)fg$n$yI4D9E*qn}%Pk8bgsER4(3ss|4E)G*c#C~Wm0$^I*^X_Pxbne1 zi_zvVt;Zz4f^55aTf1zM50uIBYu%z%EQ@%yIVdSH=gnd#3T5{pNZ%o@1(c(QdiP_Q z0@=j)@GPlkpmEuxVT^rrN-DWxC`(^toy9UdDriIES$oD}pfk%Q1y2|gtMTZnO`h4z zk$5y7Ke#Sx>$f%Nd9MMN5f8}sU;w!#gJbDrSQJ@< z!893aJ!DN#TH*Sn)|0@qUA*!&2?r|2y8{ou4hmi7_`X4*oO7pDg=`?uuvpJT z%2Jhxzl>Tvu8V1?K2FwQFabU0^x^S%@@QI*CRCrK@IZ@s{V)i!p_{WHYR^W?awZZW z6HyX58?e|e-)V_}TxnwQ=*}B3yOk`F?6tFRN?aD##Y~Sy+6)~vR@Sr{6?^_|q)fDI z6$H*ELW(`nx5OhX#=64`xp!*6Ccqrr_EcrlE z>8D;(a_^Cx$Ha+p^IX%OC2s-5o?A!ITWFLnMy$vyp2N&+S;BWfLubyTQcseflf_JS zBv~9s4KlLQ8At)<0zexUjTekd#JK#4oM7*;u*1$MkB~QRmn+v-n zmQ)~KCDc8MQ+#Sc6I9eGX9SGdx~t%vi(?!$w{gK{E0G9xbm^UNco zGFUU*#CwsR*I2YBW^jv*VP`8W6-bK%c^tfvAbT3QSUwX;N{pPbG}2Z}`#Ow*yxJy% z%ljhsPduNGyRLD0#Px`T!2{VmT4rgJMM3Ny#w3vJM=FLAG^K20nO3sc{UJy1eom9} z+SiGkZ?eOjM+S>%B~dxzw9Zi|mil|3ZHFpZ?jM2HXfT9mqClK=3=sxEMllCpW~ndE z!=w>s?@xJNqf~rCOBZO3*nq#nX>JI|bL}Dwt*sWRX>xB48sw7Wxo2$fwJmBNYARro zts6gNnQu9Nt2HEH1v)zE2@$zTyx=8;7@yGjgll|ZY0h2*N^2uX4Yvv6Qi?g`-fIZE z9X3-gr*$iSZ0M!-TVCKH+2hyFM9z*Tbo3!i$A)LVLB!(=oYhFpkLC?cV0 zS^*>635~%gf}Etngsk*f0R{!&S?3iY0sw^2Kx3J1Bw!};nO^kB*>$pBc zY=+sXmBj>!rbTQB1a!3D5FuFx02j8bPScdB_Oaj9Tv_5+&W>zB>mW9)R(`M1!8W8X$jOKOu*V%P&_Yg;W)-&3x2)els{r|XFd6!y}E#M5H(n3yf<-F&K=%u z6xCvk)7k{nT(MfE(-2k#nc)y_yEB2CLK6Hy(+>f|y_P<6-Yy?&-OS2o8I5rU;owf$ zY;u zzJvaSG8q^Kr}tLXay0Ul7+>CL&{fdPkVzV$_p3)CjQ}uK4SU3k34*xRiS!uFK?02L z)WJl;eKI|zkv)|(jo|Gql^oJY>Ju||=60}IQpq`ubgtwL= zHjCpSe24#HC#{si=}k!kpD+%O3t?bqj)j-W-45^<#HWBeN9g@9sS)aeyq*&#m0lwu z@o9AwV99xj)EB3}-KPDzW+ZX3z!=EoFbvxWV&6u;3kw}G`V?9=KNBxt3n?mS@u%*?(W(37ZQn*Ptd%O z>;NsWWdC(cT_qz8F`6<^MCYV`0@AvV83UE>^ z`-!T9Q_@`86gyLEAvB6(1mYWXfE_s&`b12X1IBDftGRS*g$qX9nz%|*SO`j(oAaXo z(rBaKD!9XaXQQ0~(*WG+VfBbB3_mNof=f55p_C-RjyVags@t)>i5`_XP zPitiXhc?DTy^>~y=W%##H22ssavALA4J1QCtvgm9OP?OGxvvvU=rmg0;tj0mL7V6j zv=A6nhsdc%?7Xg*_<>6uQIbKui*TzNAgYq{DD6rHDDDR{`4|k& zFo#hz4VrhScxkbF6*1pmBb-BK(*vF6HIbaBf%QnevwQO3ouoUYKx$@Sbpl1@34-^7 z?zl#`sLD3%)46B$JSXU%FE3v3SV(YqenIA`P@030hUmmzEGRfe=7Y z9Lb|rXOc<&i_DG(0{~HL@5Aw!n+~A3XF$)#U!|^+Ql=Y^UbrECAz`JV_16tSg-d;a zhvI{EiWNoa@Hqi?%u62Dl(e*9%kxFi&0T3z6NPa=plx{`$> zjJk=utLJsYaE0TWE);XtPd`{D#2;Ny55l)$h@>W2tQue$J+X)f7ReokB#&K+!)&u$ zQJ_4}f_3w~06&h2h%r(hh_K6zT!4F%CjxX}2pX8P6c4godEq!ZdW~w+QI-+LWTKTG zVzNbHkYH3Q15w$yNv1J{_#@%6*6@35^%xshJ09Vv(Rgc_$5nVfCrpdUM;lpwY)c&6 z`BP$kQ0X~-G*ScT&4xoj6;Ygq;M?VQ%+P=#f;39}mnqO`ApV&3+usYDChE@t;y`VU zo)Z*UMNtq5&<%{%90hh^6flPu020t(yFG4`bhtx}Kz}Alob5GjIQr#duUe@Te$#2#Q0IxH{`F){c9A4vJFV0jF7(g2#>j*@n&2=@ zCUZ!t9UgC4Vgdr0GwI}*03Al^t>U?lPS3{Pvs;~ATxSv%l?eBvLGD}KW^+kd9Efq! zbn#>krfZ$_hMb@ZcAG$Pz#^Na*(2Rhi#Qn7^}zz;$a9vys);jhnK2jh#UhY6;W~tv zj#ry_lcjwe)D9=A$ZZg@29U-wE_T531w%-YYv`LhqQ)^_-&Mx@0P?(`(a;JBAV#RV z;FX3zh1LhUi0SmV>alGfI0mbc(yCG((EL7PN<%EIno?A!E~ayVe{@3N6r1a{HE!gv zmcyE$52xr@nMET+n6{1ZFoCw#w)5zFqhS0Ho7+ACm{~{-I3!t8^y?!Lc>;TTZ=|B@ zA2J&G^2IfYxAX|2n}-m7iRp-NDWI(fB3<=G%66JnQ&WBwvT{Xm&`e+`m<<%N%!`(ZfVT;L0TVYAIZc7W6C=M#5 zr$a5SYzdLoctM6VAIJt_hX_AoiZ2{Ko}=MOSI!-A5bzbq?ZIFHE#Gs;tq`iAkO|!d ztmV^HlcCtE%Vxz6^~py5$I+vUgckuF*4+>QaBBXNIX4rUNz>Af%$S$+hkB5kO%m*d z>-bwk#?Nfje(9huoLQWBi||O~i$~}7nz`?mWMC=WBF=PbC5t4wIw4{pDDNg2l_A4a~MgjX*VGl*&Z2hO!RE5yOQVViH3q{VRf>qgp`$UqFD) zb@FrFyt|5=PPRqV`_jqC`J`ea`Z8z)Ma(7YDP{y9DG_U~BRLs_!*odL4;B=yga*2( zgVj>P+|zMHo9SphE{(Zrrf!SbwBE+v*w1y9e-Y^JRIpk5{64R?$|Gh@^GM@6Zbe*N zERcf>HBb|9)6lbQkyg!%ed}2J3$lJ-3jO!43m(N<$%F59JW zsB=fV*SvO~j`%yT>CqMLdxHnvh>U84uFwh^5zR)7VAH#LxgabFxvjdY*w*pE>IO{w zf^R+Na@f%ZAF=bW%4xYYF5KWLAc-qXQrzCvmxI&uAgM>TWm%D>a(pHyN$H9G<;NhC zZR!-p8lQo(CLOJ>O1jX~+dm}C1d<-Lk+IY>^3QR+8R3yaI*OAx) z8BFKGO_qQHT5|eu6rRC-JfQQhJT`jL+8a{YsuvP(Kwqaso=DO8I2B+#dKgp6jPW5$(r5Xyiz2huwNEl__8BXo@r8o3RfFj{wOn6UvcKa8GI~w z=A)QgcHwnp{}7AVXrXVV`EK6PAqf6M(3@$SE?K#Tt;THA3b*%1;a|xY=lnkeJm)#j z5waTDdudF=nj;3OPB^JZj~po$P)O`H2RhM+B+`T?Juaj+l;r7*V~`Q+X~5*TqC#b| zTFb}_PNu;9A5LA0!Nzr`=kvb`=+%>k@Z`&2g9RnbPD5_dqi_v!{-U{zL?^5yq^$ zrpwKU2#`C%G*Y9V4@N{c@U&7NQ>U|veS;ur^NHg$k4wkiJY1-XWn+pWx^#t8ZMq;K z8%!}NLc>B+(og|M9+hqY@}uG06TO%jfc);W%frN+Sz0aPwXb}4#y*FAg%bFFGVMC= zUFMd{pE)0C_B*`QW{{}n$`6p$&t5s?!IOzUXzBU`qeh@f0K3Lk)~+?O22LMmom_zR zm`i=&aWp_ksX~>?H*;VdPQr3O)c?8%FTIV`B~F)ez}R>oyq)P|t3$1EIy5ERx6VS{ zRmb9cGl?y8_Rn!Ql;bJI{fEm7u|0bX$~11f5~IDFJKvkge$7fVIfFxe!ybUJ;j+}W zEe}I;$;y*I?%Ky+IV|}<6%$3@Dj6)#-eUG;h^qTi4}FOrS-ajJR5iNQN8f0a&`^Xuyz3nGVUBmDGE+4Po3 ziXWB#2BvmDa^aQq1*u~6n$?f%9L;8qB4yS@w>ghznA&((5Q4#tw4Au6;@QUMPMie% z)>YbrEpeSY(t#}#@OzS6yCMhKupr#2f88UyPU9d;%CRCcC`*7Q7x1Yp6=gk_Cus6* z4R)67anv^}6ZVrMdrJTRvP-L9Yqy00vz;2SU5&=?g9TsvoH-mnK|Zv&pf$mHK>bhd z_`oqbhG)pc9HJ47ju_T4l{kiDWBw+_o&*$C(HJhpHF*yYEUtYngemBv$Lqk4-}p+1Y5ju=87gvT%7CR1NxCLnRhy&!}@^^qc)&3^v_ zu*Za+iQpbU_tf-N=R$`VHltfk;s`-xzT(bn>$wQWYfck{6@wuN!%z&QRNv83Y_<%g zS&#%bgtm(s%*;pKV%Prhs`SU|{k_%u(Qa?>b)(Lz=%($s4?29@&cz|-H)h?enI+j& z!3+MUNhc*rx9V(N;nC{Uu;fSj5CMjYD|?(Tk3wX``%>ZSc)nLMJ?W7MRg-$ZC|KGQ z&0>2r-;fQGi)viZbpoq*kF$Ye;H`v$g3k*77B!X-{)o}V=#Ps>9eAJDh5Qwl;rL&7 z4;ZmpUpqf*+ej}=^n@jl?~F(0k)d~QVNLy(n2+~>5n{W7(diok6d8?1M9%_KXnZ@} z4>a#)?yYWpYImW_cG&2TqlIYgL%zk)SlqQaF5Da&8Q+9ECC)l|{qafw=Z527&brM} z%R%L$q^NILd(#yCjKpN3C|TW3fHY=Y5TgVAs}yNu$hnO*QE&mfoi(6 zPkiCqeBKRy%#q&_m(3nW^&U9soA}X@CEkkIVpIayqo_hdrVbyoEB0Fv@Pgs6=q(go!qeU7Pt&+(w z2CT0kV_zY+2uT~A@^A(kzK3jFw>D=SPq7SWuym;>h{jG0ZmK~xfCPVrb2KtB6e3b# zPL9N7+NrgQnpQ1&<(!m@A0Bd}ig_m1yTkd1hi;g+ifLk>FS8>&w-a6xt!Zv}P@0Bk zK!?o611E?Jv=4A+I|f%M9H%CH-naD+$MT<8>fGTM_0DFjweFJsbY?L70t&JQ7y?Cr z6im8jmzz2bp$qSAvO?-P94VG&SxQy~#Q2Im_(sX~79}Dtu1dbgF~e3-VckI7$ER3x z<#TOLREAi{=sfBN$36G*|Ne7BviG1P0jCwUqZYN;*laJ>)xtYvSgzj^L^+HVSTXWsRc^CnKunU$A78P zY&(j}{?s(S$LqV*Z!_2YP0a9r?1sQwcScByD(Y#XOfnEvdy&#Yg}?E-z-NZa5xo{EIDeH$oGqO|4}a>rM}=&h8O{c4|B) z)rURwkOdp+8h`vaF`8-ugdks>#UDzg(f^@6^i8KiN01u=A#6p9^AOORXw_xnvG2!8 zDg$2mFOh5ofP?s)B2rl@CHJiV@Hr{dGh{@Myko(ssF+-F^CP@lANMUjO$s{BRHNmHzVn(Ho?1%?Y4k5L^e-)d%>c#p9|G+RCLz=zaXI)TC^!b5c@`(nN z>fj0i$Rw)fHyo`3V5T$0+>h9rZtu!{6KI+KSu#j$84p>5QYT^hPIu^pdtFK&zx&Ky zJDAey{=v4HY|JZY!gc8?=bJoJW5dC_uIpQ&0o@Q+oRxW;(>s>b&guQ#dCVU-jVp8q zcifamRfYyo4^`n&F(@I3G%F23qlI&h)1rvu!4sg=Z-k7BsDY2=%qUjn0;Z^@f-;|> z0!)dbkcir^%HceX`W1R};OlharHH6tInbHid+tVT>11qik%=TMtT>({@F5mGh27z6 zO^+o?wcozl0YAvP|9SxzbuGEKT|DMrE1v8`bIu%&$wx*$?#N3*a0mrw=Aemq*jsIh z1_8Qh*_hKwB6N(8aJ&C6@!ZNQCW$OYfmN<>UkMg~? z1aqB`f0r<(iQQY@M&f(fG7YqjGr>w>o|~SdAnEL^$L(c^}2PAK83z=wPP@^t8ykGa=Sy67Jz$U1d!!%u6Hz1--U@K5zTcB z!z=K7-RVT#H=!n;>pmsm)g}XL2|X1Kzn&S~$)c>a_&y#psT4lCQOLG0>ZA;V)`PR| z8Fb2PN}36Ho%Gboi(!$nxW#*|qg{-^=E)S5Zb43VYs?{#O?vF)tG0Bh10)Qh&SKxP zU?&61UtU|A`I8F@;c2X?E@0Iz4^<`?d%15cIgiDB=;X@AUy=1TR~>1*DNL4;1~gQP z(vTCau)^;@zZ-E_<;}{46?pU6(uCf-%}1n0Batq$bULMA`W(2Q6G$epP_*X=6DJ0`dofm5l2c2 zO$uI11qZ#JK^2jbe+&!O1pMfur_HvW=bY+HpRQ?Z1WHcZ>=HkkpIlSG4ziw{3+fne zcr7zz?9e$XqkieXp9tJ@Q>(X7S%zMZtiOb(oH7D1n{CAfrTq3ykL2YHG8C%NyEApA zT~Dm|-mN-x_G3G+-ZYx+9Y&eMPRF5G4D02rECkT^mompP`4dVQ7JOvqwG_K@M^C7? z?a~@PHmibs>0Hc5XURfv3&fIxynQQ(-i@}r5~FQ~{`q4J<4HRcK@L45#+h7U|nX~Fx5&~-h9-3!O}tLAi)v^ z0q|6TfjPY{?x-GLqPWQ?Vk)Ykhl@Fj&t`*NluvR3E-Vlc6oVV1!3rRb)@^J*y<#04 zt(Vq8WywY&V_&9A7(ene5|^!7!vV{lck#Z>FO zDLxNXi58Fv8`vIpF-aLpA%1w^CoO4X=~qcacJO5*L^>R&cbxw4Oa_a|CCw=^+e<8l z`n*zYHUqghAftogA9I-8*>;E#vyagp!A;ww0*s^3YV8uhE z71vzbAghjYwn{H5$5)G}Bw!7*NFH!^Hkb%kg7DSqrvB)mL&(tS_I`~)cVQ63TJn-=fDI{I&!O<%mFy}Q>)8N!T)H7JjXZC#!1iWN5r8_Z=+>=ROp5ykE zT$e30Q-{&_LW4FLPXbWfuE($I98PYh$u+a_a*H%sC#;Ybz2qlFG|P(Sy>2no46{Wr z@**Gifg)@jwR&g0Ty#X+6z=;!Gk3!mL5djPi2(@*pKuwCU&I!CU%xV=O`5!i>$7>} z>ypGTLC2h2vhw&XKI5dw>-^1h#GLXtC_?_;6j{n7&o*?(*I_-vx!U=4X{&Knww?KG zAH)65u{|!3+-cY^E}g<(hH^nTCo3G3oy`27}Xmr4?8N4rT zK#k;(sw0HJMenLqcPK6X=4WfK7~koK?DAmcC+1Lcy^~wNno=a`<%QjF*E=?eJu7xE zy&D)n1bA*6a+o@(ea}i{ym+viL4)wS&AP{?v7GBIOM}v`RvS-azg)8!(AAgGl=sJ<`q>gri^H@bMZ7a{xRVp-<9L~yC-3Pbg&5K_mPFaqq#lB8)2H2AJnt#~C z3Gj5zq>4}OZneB8BEOL@S3SPfZ!!}epm~Rwd3nY=1CAXbrOOmH8E2`CXL>!o0F>Z; zALULS>ykYe6y^)#rNrM@@r|WEHNXvc>ec53$_iGHb75W$>X|^GLXxaAuk~MX8Vz}~ z+B=bOK#15#jnxSr+VNN&y^hZb9*zDuHV3RRCnkN;tlXb9 zKfuHd%{qM^-x`;ew5zhsx+(VK26;x^KKfT621-=lynOO-@LHZ zDj2lU*owzc3~+qGdJStH@9b2P7iqz&v;Me)FwRc>OF0_Ay3z!8WnSxOAP?E@#PeTy zFj~B`86rUuGjwj$caNadT!E#~M9!FYZ38vo62m`4XKkRbEOIpr&$S}N+a%+-R(bge zZLB$DI~3>uQE5BD=dhZmd6^lJ*>VwGhtrUpj2j=z1}z{3q$U;*Zo4)zV#U9;v0?Bt z=e+pg9e!Numu1{MCp8hACUMgEeJ#qk2~fx6u6rbi@=&OvPCMMy)PC=E+RaI znfpun+5l=TOT&S85tScuYGOqvC>3^;BJ@H63pn1xp^HGgSkoru2FiooCSH!V3m`sZ zKlY4Bn*qrX)RnK8@N7iPcvWnFV^-MIptdYG!)~3O8W3}HtBDg+VK&6cG?T++2iVMG zY9WO3=+u~z*FFl*WmMYWY2@vUDh-Qj{>TfbOKMVtDphD5keTS|Xo+7{&!t>Fd&;4Z z$>n^7r^zUH!C7g9poOP}o~N~F5p;%FI-@sq%@CjONPjEZzg<^uWe}|j`I=~D(VinD zvd$Vs?qEATB%{3N$51xp@@!9zUtw#oHfm|j4sAF$r>(MT_@ix@$?}(34b|`Qn>hMn zqcXma|02ORcb*LNWb3y^T}DC>gn3a>NnsUSwG@3PKIl z;~RtdcIrCLawrDMu|lQ#qImIRU}DD~Ut9_{Z5K6G>^DAk2Yhv>qOGRlCy?ghfHZAG zbjj;cK!C-*DIEntcAT*w8Q%Q2S^CC+z>_9wq5~tXFtB z{79sNt@Cb#%?VM41 z+nj;GIMy-Oak%7uvKK+dJut|4I+kP)cG-nh^U>N#c3`DqzC9TDp1{2Bm=`3l=-OJ+ zsYQVT#=cOBuf{l;UwBk3cGm-HeEX@HKMP~-RXmbKr#qq~psa#CK4Zj#AwB;VD)yMd zlOY*G1PHF(KiTmyt=LfghRvjHk!RIRQwjU79eOm9_BQZn5+D*xV4F(KQH%ql>dAy5 z(LqF}bJpM>NXo5Vc@`dUdTbpwWL+7pI6{aW#)Dprb5Q1g*m?q|_x5jKtECYxP zxxfg-$uDB0CmMU?67UhHb^;?yJd&Hq#WGvmD6^1W0$xqf%Vn+<&FtGgm(q!OpriMg zq}O-nnB?2_B75-gF?UIXyKiWJgVhG(N*L)iZXwM=^~a#y>ER6%dVfq*aZu8C5kjWv zy<$lcQpG|#&!u9KF1tIy8>vEMTB3JmrF1IAmFLduQ5Bw_E;jT(c++Bb^XidAzU=WA zE30sgS@E0$&K8+xmW~zZ$DovbnG%{*^n?lzF+n+J8am)#Ss&4U6^FLqzPZPt9@JyQ z^S1$2%#`R$BZ0%nJP=e);b?0QnnMS!*e7Q0Q7ptwpuII2 z#xUA>O>M02_q!e2roR43zw%nA(=|)LV4EaC;{DOUYj>hC{c>}*)OtDwX;W}ijGi|Kinb8+0WhZiBaW(OpfO7`4>|O6PC18k6v&@mlYtG>$Y66N8X%i zV_ofYmVKmXNa@Y4jI@{DPle=CM4M0yLdt)#|j0S)wkAH_Y|?AJ&Ps@ zUgZ;#udLwwnllFjz?&A}J_8(H_g3H3IuY388DvFGn+GcsGK?z=DrH|_ql0t^jEp%} z7ReOQf#Iu?t=w4C?UE_wl58_y{Dx#lxgw1cIrH`LFK|+xFDdWEQZzEsT9;wUK(0r3 zraWoGc*(&DQy7ru=D1(%GKkemAyLPorXr_s8Hr*Yz8HUb1Zv#IkRB{&2+BM0TN)D# zo34^gmt)Yq(P^UTt#`wEJ=b}P_K6i!fW1)0EB0icSwnr;|jt^hO|mHcgE6;vj~qIy3X|BXP%u5X<^>;nNO!1Y7r(?{=-NA z_|ZRq^uG*6?VT{~+Q|>wJ|2pk?nIo-0gqU?KFDZ4ZjVAhp_z8xPyOy81jGy$R2@1| z|7s0}^!OvNU}T-_>FNMCuM>F03@B_d>%i9%p8tsQ7|ODAwEl6TU2XDcIdU+*ltXv(X7#9zxe*6|L);D`K~iTZiGHH?bMC3!!knUhm+A+;LOg<#Sg4-mrIh7>{uA^GtMpKz*^YH-P( z_W;$07NC168cz*#TF!^TLRKTH0b?x}Q)137fH0*q)lP__PE=I*n}rmZvA|?9CB}AN^rR z-2P=R$T0HH<6`Sq^w58^@Bv-^EA%PP5wRhsKR_!qUbGUvTe@AZvX#i+dEU^eF=vTg zcm$b`{@4;@={p`VdmF&=0yS2Hc)TITNZkybT@{#CMjW71G)UbrLKK6{g__vhk>eiE$uP>l*8KAt^P13DSV7rTON$4Y zbME^yx13)ks#`=%3HU*Otcuu}{sIi)g+}uS{m_CqwQgN-4;ku{WG``akuO_Oy_5Fk zlHrrFv=+|uQ2#n#g9G~w)i#Ch79TmZmroopZ${nC)@Sn?uJqik_<`V{xoLf&nScAe z57d92V)(BgB_5ol797cU7D0z%oZc^a!1;kqc4S5kehoKJ?koeBpXrrbR~*K`BX=Ux z7Yi)2J&3OoL<#V7FoQj4s{fB4#J*=HK3{3hvu6Bn9F6&ZrBn#V=${QY3-QTq*={~t zQJj(PZEfv;ofG=wfAOD0j;_NKXhk|ql2{vPg<5lv7;Bh*%%bh$QzlD3I6rdN#FlBX zkp)y8VD{(nBYy0Iv2=j|@k*V4V2iiBc6JrM5Z$rMYv^?;XYzheY}Com7J_*Bpcy1L0c^da9R9Pjqlk+VN++q>2&=pUzKS)mO=y6fz$w0(Kxf?s*`V z%P?(lGX7BwgH!OTsAdqXy0MP)omWE_y>trDN`yi$Lr-i>P*Wr1XZ-kDB=b3kCnyZP z>PUXHM!tU06gD|bCfb+TrrO?o&TI;4g+q^g{LQ=52cP#38g(!eDl;$VB1I2*Nub%V zMSM6kqmnhGU=7ICDovL9iGg%9_$H0?%p>Trg8YeO|2tWJ$7befll8!3OJbG7L&oP%+#{QpTwe17%tB~??lhxrz19D zqvyc^447xM8JGf4e$4DQp1$jpiP`Oc9EYycbaX0h1Gz?0_Hb2=gzJI+&pBn+ro_|F zO{7eJ4w$Y2<92%@)U%YteC=9Pn+kCDy?1 zjq7C!(*-D=!RZJxuN$*mu&*^o5lssz#*mPKKk4+@%EIzGR|8wjzenK@UdSGtE0ZE^N@>u zXX(MxI?`Dc3^mKL%B}nq1J|v8j6$z$GloKF6wRO0xJiAu$3ZdQ!V!Jcn@Dru*l;@T zupBA%LBACy#$w!Z1{I^28@o9!qsG$~jkDtZ1Sx>;%=(dJKFP7cp|bbpbtw}eYdgO; z$r($@C{!O|nD{Ok$+;iR67yZOl3&Wrn~;1tb|ExjFwgJDNYd5RG-sTNzZqCIHRNQ` z5C+<6uLk6?scHRvqG8#kwO4rNK*p1_4+)!46$NC4P|@UNK@fA-`^Uds^08Ppxv=^7 zAxQWBBa?2Jwd5oMmVk;UEbBUjg9aqot!0&{fgw%3?N?QjW2v{XuLNXie};$Iqx*2} z>*6jDxY&z_%xwMSj=pj@%DJ9!Q3T%vo+GuA2Pn<0`64iq;NHH~k@=!Brv+T;BYY)DEXy}!O6)PBBd5toMpIB4ZY%ow!U#fYZ4rg(|xzw zrb@nJpWgc9+3K944nZYHr~8>;&2ll9tFWJpCgO<|sBoEfWEzf!zO57nk5;;}99_;2 zw;34j9@SQqz16l8TepiM#7Dq)L+GA1@!Vr$9@f*ersGETvok_MDxg7=E(*XWhv#w8 zF=_b0F;I*WdV9lN|KrUca&SEtMU6jFS#H&3D$Kn|n+t%YD&(KBcKwRI7x?vuiorBV z!5Y_$fwX+TJjgTCl4aFpx)}-eO$Q)`8S-4}F5J#bmk?$f@ z_E3u2by0QlW(>MLy9-OE!w=GE6V3X9iMPFS1l}PpoOS}PvQKt?_r0tiP;xEnokEds z_FK22(IsP7EF?4Xjyr=&U+n*Is0nN#<%FvypJb|g!<4k z3dMmz-b70ZRX#u~G3s!(=N&au<6$ZNqc+0~OS2}BBnyKrM8J|`JX})h z_(F_)dQ9J44s}~t7)+$TTHE3^EPIooe(n60RjU`WGNZTx8$N(T)&Rx|9k^a5_l1)Q zLh$@Ju5!h8Dt5Z%NaKOS6c9&u_&o^n|tjU7WW#Nqz9*WrMVM?7hrj5S#(@s$R5+T;4gb; ze}<|z_UkPv54Eg?Sd!@xr3qVn5J%vbw#ibRSq+mL9lI({A~?p^ca$N=3bRvFluzTZph{ z3w2q`FMThoCJ7XQ*J@iTsJO)-CJ9`RMi?F)lFSyx+OEx6)1`K2z#IGQ7@;;6Od`giJN@h~#J)o`E^t_+Vp!e#yhjmI2r7-Vm8l@5b zn#R-T+BY*#gLc2@G}IqvMFR?`vq23EjhV7)t@t znsz{zl9^NrP#r$8+{6}xmr5)&_Nf1}1{WEeQ+hbFa0>YIwI3#+u(No;2kPuI{L#YQ zEvX)JT!V8tER6wUPJy5;c*+lfh?=h+@49N6JSak zabtb{Qyxuzu_E$p;InA{)v^$;=wWO zQ=A23%SrBA=LA_Ps>Ij3O9x?y9yAtya;=5IS5)bwKIO5V+D+nXvl*LyJspY+LV&g^fV=bq4Gcdm2{K6F2t= z%dB=YEbIgp@#O(=X(y_)3fnR_S$W{`T-J-O|9u^K*YRKbS~ho&TerwGgPL$`mVFQc zv7HJd5AU+C67f|L)j?1?>=Tf07z)4{p}64_t!wM<8NDG+z7*ZEzXAG6s>Y~_Hvd4t z3e%B@-6h`n;AqVAvA_>ghFELL2g0x7>2jV|9423_=sF3jLDFj`sn0wJ;OQU+$Lncv zwi09LU=hPYp<)Zgbhr56b#?NM9@Mn28ctR&5)pThxL8+Icu5;w6gV>$Em`6d){W-; z8bvvKwT%;d^@f#jTp(z|ZtVwO-4*?8K#RBtJUyT>TK0U&|JEAD5)uyUhV zUDGCXRu^P5*3v7bii8a-F^j7ljZudRNfXdrAt8ZgwA=C1!1?BASLBexfiY+1s5xBb z$(9aDGyWUsBHuPob*@#u0zcpbzA_Mv(tiC?IXf~xY^O!BMp9iOWi^sLvm2cQjaJgUAc$_QSuiD!#8H$RAXYM)!E`if~zjv9hhwtg7x;z7B^p{Sh zhkzsWtW#;pJt+?#Az>k0MzYRdvK7hPll7kG1He|~ z6fC8kl63^CQ}7mijs=p1__*=(Fg1|L#vP%{5CDgD>WlSyJpE8VYvIL`CuUntGQU}f zLpK@wi6jI=Du2&5Z?__cXv!OoF@gpWB2KV$?$I9PINGA~#twxfJ3`NBPmv8p5J2vz z2If(!F!{#7;j=XBm{v^T{dyn!FIe@Nl{sU8BSytVeA34k3q+(uvffMwCJg`A-uFY% zcp6PBf9Hid;#WDzc~POpsP%$YtdSPr-Fca{hs{_rYxl{*=@`k%%DIg>`BkV9+qYR#{E>@YK zNMLXV(G?@4iyyH%_I!OMxZI%I?@#Yt&*RQk05axv)RwzzUeFoV1|MQ)yQ3H@`j~Ja ztLJ$7RpoVWpU}EwZE8xLRW&qI-+GmU;5vB&Yoo4K&t*vMHY7vgd<+i_Yk2SMdY(!M zhCTr2_+mcRH`0@4v*xuFcSN3eysj=TPn5wy+%Y%#M5JgL^Ic`+b#qJ_$%!s@ZIB_S zzSbB%xS+)N<6S?HE7O4u@q^$Ss2$Q&4?if=SCI(4N8K9^V3>hH`=;+#&yDKPwF=^6 z6MR9~c(Yw%q}lLZ@*!gPf?MHnEVaRfv7?un2{^AUwoblW26|$r!4Z$E9)m@-PjO^a zNGrC(Tq9;l#&9u9VbL?>lL9);y%{cgaBiYJ*LLKTO+UUkdSm(qmeYUF#VY>E%)00N z=J|HgETBC?gV^5+Z9~e}JchpXYB``o@_w>wC_psjF86~6XJOvNumU*zCX zMU%W^;BNa4+atUb@9{Gn#>|BXKK=#UGgj>U(!!@wDxaOM6cn(GwVASdE*i?v$H}HS zA$8!nCM>YBH?8g8)#OL0(AmFIY?)Y%9{JydDn=dd16YKRIVa{BR{(zUG?T=HaiFS23~K^80j}Lb_y)Mnx3^ET3&v|C;x9z-l52A6w7@ix;z>w! zrsYHp$w9Y##ELdAIpX>Um$L2Dh&;xvChENl>y}K5I5A(~>p5QBrQ*?+b3v|qMvMbB z_9GZ($(B05c8rz50;R9-VmbCDdw-+V-U)R`u`!E> z#hUjd6{S8=Ph0-J&&^^_GA0NioYqB+M`c}s%aarzyiTH4Arp`^qPq=R(u#wARV&YM z=`qys_dI#}$BgxCPq1T6mz!nCE;P?`dlb|~K^bnlo1P6-VSN@v(jGVoy0SJEOhrUy zll?)m>kQ;+SN7>$CFL#*^9U4cS|8K1!F}W&>n6{?KlKw66E0(v;S&jFsE{urE04<% ze*XiSKn!d+RnrIi*9P-n*J{av%Ub(bQ`y>Ez16A-XQ|sNREqYthCRR%XRZEqnn^r2 zn6Mv0Dz7mQM)hF%uYe6f>r-GF=Yt(M%Q33pVPhchFb|*BMs4_%*{66oem2P{djT0d z@Vv4nF2qyZ{u3pJv@xm(WSjINfh$U!o5(@B38AaCz&Xc^HKVt!0B$=&S-@o^3J&M> zU13ajOvIJq*z^A4qE^neDUpfzNp$DgB@I_9* zX}cVTKuB*6rY57LNW4no#&jHNPDxdeZF*EpLQKx~P%);9lVi*MfZ>h90WJ@wP;Yl7 zghRHsJ;F&eW@Lni>(^9Ar~rELZPTLfIQh2tFq3gsLRB8x*?cc0HB}~l^64}Ai$F@6gjt!4Q_j>b{qc8UkU5~B)N5Tdv zyd{wz9~}+iI&VQ5DKjA@Hn~^oK99vs^Y|cn0!v^dm3tO$y<4ZIR!}og+bgm(@Or1NHJ?%YB@p21~EsqR* z(OR|`%s5R(wg;5Xt`I0WMVA?2pj`F{r7vPYnq~n0g-<%16Yt?-I{{JZhxaSQ1~A`( z)z-o9SH$qN9N`+BC+?C&>n+p5R9aF+qLWY9skk7CFqGw&xYC3|Ect_?nnM6H9yA#9 z4tn@gZzR=V4Bqtv+)xScU?bnU^Tad#>LPF}TR{;~$t_}rIF?%29X#zvy|G@@?gw2D zc998fo13004p{&Xe?8KTznZv5=Nr&q417t>@=FyXT&uqlX_-?evmaq3&;Hd>qi;PmtmfOsh6rw;!uC?Os$ zX7M@YRboy)r_CXP%|4s>E4yj$a4IK8qU)1mc=(KSn>vbd>~+ceC&$D+WRg)MV%-WC z=p;?N&`JOU)NSZ#dc_~em~Ar*qW9qSK?J#w^)DhRvv?6c3biu9v1Q@p4$_BN{YX8i zf9?WtV2;5<^4!YM00OOJ%^}O{wISNa%Z7|+-=e}}XR5YrT z0aE^*|Fg+YTt0S>W`2)4ODk(j0q*0&Yb(;+tsB&U4EqyvC8>@l4teIe^8d(VX8FO= zD-MynJxNzD=m}(;P5cKA5=oR5Sow8G-xe~IZ-P>b^Bl(3;$#+)@v@R+JB+L^$aFJ> zl`{zlY@1ELE2DWN&pIkd0y!eV{$1v39cqah{}2;^;eOiot3%idIBfB(;kfDa=5K&4 zID~?tHvZP9Vp=nu#<2Vp4KDmLv&nK2c_L6zB#YXT2-Jc=wsm9MVM|;CgMeKXCFTC{ z6tmP+j{fB0$HSe^i%2^2jpQ2rNsWNC&jW6P9(n@9G^bi@{0I-s9+gF&A_|h$S9p9|AxgoN~pFHZp>#2rZ&x1MwScN~#q+p7lb30)oy zh%rSl#Rw!Uu@wiS&YdCUDaLUb_aS9^z|d;i)75_uU}DLPlJ94ZBcn8vP0 z+bRTORZ$<}F;3j$vN3N%r9o=uR@mN;CE5>y5a55n$%7cu;fF0~i?!e_xO0dn3}(BJ zZ@}U6?kD1Ni(`9nP-g~tiEUzObDK&e%q||=A}aknhT8z9JJofFVJNhZCL$Ah;$;PZ z8FBe6h?m%fKV-lA>b|wzenso(# z!)s3nq{e$8YIa|v02iwK0Q+&+4@R`afo8Dgq4Lbm9Uk(5uy{lY*URielOH_AsDPq1 zf<9)muQS5-e3_1c$?IXv1f4pCU_v~mo>V@d56C5UhX;{T)V{a0qm?sLCs?b#W0 zCXTZ6@@5!>FmpCy5JCt=+6Z$nCRoB4V@wERV-6-94v`7Dfn0)|JFqUnx&-SIq)U)* z!T$!2e3H-SdDg00RbBn=@qu)|-CbSXZ`b$7^ZmJ2t>RBbFbv}X!9)cl#h?SD+0IP(Wg>Y?AVEO6ojI@{8kO z$VXkMo`1~bp^(4)h=%1Hd1OhKDQTqCB%5R(H{Y2_2L47;7qB>F7#}&^LkTvD9H~qV zL6i4DZA8)Nv5>uIP+xcLY4jn#5J*ToaPCkTL0wz)1R<&2h#sq52$!AY1G(eMoiX~; z&+6|ypwniq#Nn|lC2=k5&*R2$4V-6oj0h$UpU+vz?WKt^cmeEpiom>0yBm)-Fb^UH;$|B<1sP+`qswgLM33_I3ORf} zkX*^@6?_~}!W*(7zIr!*?yv~-Cmc^fRO-oh5Ra)#%K0jlYi^I#XFZ_xaq=GNo6F4Z z?o}+3o#to3PdYd20b;*79P9=-{ult#Z{XQEPsGZAwBFfJwqvn^95)5o%mbEe|Bc6E zL5%|=_}ik_y|CnC9Ir3RF}5zCJU*NqF{Ku?K#mKtb~ihx1{g?wpzrbsIrnJzuPp9C z9;`*);C&G=G*!{Y)N$c5T#mDATp^O-govasaiFeUJe)w>fi9Up5kOB@tQZx^txd0U za>V%ztxuSV9T3j-4x~q#6AD7zLLqeB_-s3SO;SW0DUucWLZ03H0I^@u4;v>=rkR%D z?pVIjg@!_arWn<5K*`wNcO)<%b9D#f&cKJ1jLr)X*|$%_R2u$gnm)feP78zCM!QuV zJwBhr|3WLSRwB~$BV)ej8fjF1O7UXTEcbDmk!Br9mc@ttq%6~E$|tm7c@PB5NH_Crp< z(9K;)CC1^!YUyL|IBa-oUb(CNjc2Rh+o*6)C&%TP0uY|60V?@w9tV#~ z`EYTrnduy-Qg3qFbh*=D5FeyGuds}d_vE!HjDoQvBqem<=H@K%{7hxJh2XWpWeO5NBcV*t!JHe*z#5V>G*l7#i%cL7`?| zlVPH^RZ+VsttvMD=mhm>EY^4-#qM?TUvNWrhO|?;H?$iyHfil8Ppd9R=r|$jdzlm zhewU)l6woye5#o96b4ao}3~5b9zM3IOJYQj~q*?-GAVq)Anc-F#jWyJYvKFX>G_M zwlfDEtB+^i8EBw^x8buk%GYMlCs@*-ZVr%cj22aUGN6JV-nUt)W0Y2Pa2xVQ3tIq= z25a!Pq+kUEb|NT8{yBTQV#y}8wBIA zLK*0W_M|yd_#EjX;U)*Z3qQOsAD#-+b2~Yn`RIaismh>cjI zfB7J}&M%1NTC1!M~k z(ikT$LSl?^HRLX|PwW*kq%+Py&>9XAPcPnuxsx~`{1aJ;f`h#vTEdT0lRO7J`p+6Ul-BlJCd!#(VNT8Vdl?F9Xcp93C8)2*#nZ7`)$*M z^4|wPoDnqNtD9FyT?ECQNB(isF+WMiwjhIZ2At`x8+2i%Y&)5Uk$cqB`UlSVhFm0S z4TZ2{ZpoT+fu`Bm)Hu(B{g`^zGcXxtc4;DJT=9x3W{7_-M(p{E^}5MAZC!oSC)YUO z=IMbNWE@&HGbWz5e(tV%I|bc@drwMatP08Z5^5uWocgsVbM0E`zL|d&sY92w!UPbq z7ukj-YbfqFg%2?WJ}$NLY+5s zHJC(rP)FV>qW#3jsg{K;C+f){=*}zRr$oDNY&uErk3RUK&RqxTBNC9012wR6GA@PeUWN}si`Vo6_2^ zt$t)XpiyxSp82Ir&G4I#a^mmI`7M(xx!HAh29YkvJZu<=?{ZhR+%xazjHo0sAUaJO zzm}Uyib>qVN+Tcce>yERbvEX2(Dh7P>t{x?#zSXPKaSwGjjd)kXy>~rv zBscN4IT%7utkwi(p(u1FC*>nPS6`P*%E}AY&<^I$PbJD5?i{9#5O_M_$j<+4#r|Nj zf+vmt5;q3xmlM5MxK<*wjET!WDs@2z=pj!=+Bt#u7ldwwFDW>x_#eKJ=<7bUV&>n|1_@`_Si&&+!D>3M4CM z%{>?=)De|g7%@M11)-Y$|sIMQ`6sN+ljWh z!*L|yXO)Q3ncH0H5RZk-N!*RAL%%4AaKcnYwN+(ffb6sT!8vZm8ve0j;QZ1im;-b@)x0Zc{D4F#Cxysp2_^B-)4kIJnm(9sHif7-$~df^l?!P7 z5B#_-GAK1K2W0^rL_!>#ctV*IGI!HtxP+kP+*bLJbDrdff7WG|2i~8OYP z913+pp)EuxB^2^HsN|UG(@CZBu_$p5*ht&=&QXtX^|hJz5s{MQ3ld1YQv0F!VYtDr z&`|MJH-gLi2v7?U-F#nXCRlnIy}EDT1U^}_L2_9gYTv$T@#nZGD- zKmtpABj65F)r>Uuai6-Rbdj$VFWBU&3h_e!U9b8|>r~$m%6Ptu&o_odTtmmZ}+e5(@W0O?ppvYJZwh)m3`c^7^a@O4u&$8|vgdb3xQZIW zvj0C^PCE?qn^8!Z>!>2`jgYI5;V5$;X{gC(K8~YN5_)`r#rJqoJyno6>rHhvg6Y-4 zUjA1R@VO73SdNlQm9v!<1eDI|nr33@6iWhtfMd}dtXGbBz>oWGgm6H&J$Mh_x#Plw zruPC6kMYc>3EfZ}zR0$+MlsLiV-4eT9;3P1uV}1IZ;_fv4MxKt9~>B( zYr;51Xt91VdgFmI!vv~1VY4=s5DvpKbGCj16i3$1acT-#Nne_NoEW5+k5kcdXZcr4 zqRo@5&9(lwI^_bcX@?+v9bl&2mD~yb0IH%lyXsU1Qxx~Z9b21HhgaJixg89^H`*0s zLyVK?X7zU@B`6{a^s0Ut&jOomP-?THGrG_Z2Aj&I@Z;m8?%)qEj7^Sq);*jsyT}9DVWD$u_9Nx1DlOjdOgMzdiXccuZX?66ju4gukODCVDPiZT^s}AsGZ_H{~UAY7F%=Q3qTp2yy;{?3d(7m~H z0}hk}dE_=DOkBEdJn;pC+5$VlZ*_lsk(phP0YwmZFpL=#ofY#JGb{><&z^q_ZCEt& zdSo2H$U8Fku2i`zVR(u31rX%o>5v*!QBG#!nK)1=5jn=A0fmjZ85s)}A1y4c9S>}& z27IPpL3`qe+aW$p=8R5%_Q8L=W=|D7g#n@w+j(FKI}?6`$4NnmW-wjHwz6sfqi_^G z0~Uo1 zA=+D?q3Ir_FricdMT-hp*@9Z42-{GE#>Gm3BGl`Ju43+9=_=HO%qfG4TZ;m|JlWNF@H zymR+68pUjWWUGn@DstXFjET-jG?vgqOh3@G&I_lJ zh!Q+I0E$jB2}y&NQAym9wL3elFrsm0P3@~I-G)XLZCHYLE z@6Av+0^lNeTb;BtvKeAzKGa^}C} zZzdP>19Yc{(LwV$Y`wk%490xTNC^y1b+0g`k)26J)VUfh3*34yRBH+6ubHU9f6ZiM+|R@UFH@Q1Z`g7Fa|>Q&Wiv)lD{v zq;MEOwK;U5YWwcR`g=B4Xjcis4QB-7?!~sQ^p$yyzd;l-SoS#qmqTlSdlW6W| z5XcZ7(ZNXVEHK~{3(MzPx<(de`m8TtYwSS)$U&Fjer|k_9T)aBfzTnNrF@zG%2yw< zBFQ&X6>JH6%KT=^8!hXdpBJ_|Uc4no5B^X9=pZZbJQQd_+KyI}a_vcj8I89|ZC=@l z2*8oKNwfxI{w&`^PKx1TH1Ek#G1TY{liW9g+vx;#yQ|aeXaJ2R5?k zUvnk!g)nC#?-*%|Nujr;lf1EDLz58RL{h59tQ%EwNGA8#Y7usD4wbxf49sb6JiG%Y zVG|c&Yj(Dt@npN)Hv#XmE%xPL-%_Slw=Yoi{ncF!iWHm};87?`QD}NURROU1;!fGJ zrN}a+;J=!tgOs2Pvs1N?C1q{-m##9%Yp+Bzp{VI7FCU3*)&nnJc4o-|lu_O11l!A+ z1n{cHu8fh~rp+UL4r`hI?BA@@L!Pqh@zGTg_+FZg<(hAeoKhF zrtb;7y^19aYtWHC(y~$6)OXORbMm(9*{w0BRzFiZV;IL#_F4I9s_Fdik^DsF8HN$y z8vyYl5K{=v^n4}o0K{IQ!SeM5yL~~&Cr`(frm0hlXR~*t7Ym7W z(bM~npTpBjvEL%ZKbGNJr$9cG;czcEUN=%P=eWL?02#}vzGF+cxCfxb#T$S0I?25U zHeX7gW8sF9TFZPL5i(w}Jr1*#l3ia7DW*mYiV+kN>xqTVPH7_LlwKM!o^gEyXDUU+ z7{HpYx?;-%H`J5ToTP?alNcc_QXGu9paM9NtpGhdNN$cv203wMUH%ajGm@d`%qyAr)JXA}@+XJqY@ zBt?aY4a3hC4M45hkY0?9lEUG?QFB+LDW{PR3Y7YS9Was*yX8A_YAJ@92Isob5jbG+Tma}D%qSA=5=_WC@RNK5OKNb z61XGuzK)l?xv1#KI-%p)$L&OI+LbTR3Tkt&>n&z6Iq7D7aOvitR4NxlC(F<05IX42 z^nxq09~4?%hmaW~XN#L$Fm{Y}nbhBgtd)1~MRBQ@_Z`(o3pC$Lz{=>mOS(tayU#ej zwUyY?wI->D=9WyzTs0rwsRj72llziA45>8piN40h!l-WGK4mq8 zUtIp7C8U{&wsN~Lj|0f8Ov5h&( zVR9ebWME;y9C%83$ZI)9B?ctNP}r?z;5E8bL-I`wjO%Af zB`*-65?R#cQg!20j&KR3QN>W5+}2lZ+$aY)Q*AagKoca1t)2+!7Dp>FQ&r&uR-||i zQ<@H_&Iu|z9{d+?4-1BTV1&98Cj-&{Dn58Q(D4;-poc3kC z)fpholN6V)-EMcmaK4BQia6I6va-a8O12T!2O=N{IpNdb((FW3c!Ne+=xcmUV4>6R zGI>nn;r9Bsuh;7rou|_Z?>}Yo8SpMFCp?Ai-1gP?DmVL~*mTvqwO{)6ajD%Oo8}vB zn}S8ejkVf?AIX>NsOG&>E9_^ff3X41)0z&8jfNoBVVB)ucSui~I3B}^gM&YJ}k%?W=pEa!I(v?p@*}fJ`g#XfRKq~v^pf;L4X&@E{)#HlvEnSl(M75`dx?gEKXL?p+Q}mp23TMW>(65S zCuOLpOLf@t9#F>WcXeR>cf%wbqD=SAoHKatUVh`C6+XP1Q-7@XQ>nfTucLuK#qewX zSDY*sfr%t1_-f{0R^l2~8J@gP`=>6PW%I*%az=fUp0@sK^R&Jn{z-dK>=sl<+o<-N z{6MLveWLXn|J)$7E@D zznZkro3CYOHFr&3t=RTq!fygT48ds&uzFxmjSQb6&MDmCWOZ8gwm?hf;1}EX%BwrL z-2dgTUhrM&DIKqu!Sxz~GjWsG%;1REx&oFLS3#^+5F=m=`OiqW>4Bzo20|0Xcaj;m zdhBZ7V&V^c)N4r6jZQ$F?P0>p5v1MGayCK&-!Vuy^chU)cDRi&5vOGY+<4%pHitlY zLF$T@TubO!6SU91bZ?q%I6Q+*yaPzy^+w!@5YO6x`3Ii^BaUK+3*>uMRpS@KMp<^y znY`)bI8L1NWd^wttyS|x2GTJeVfI4Q{cihVF9YGGi9#UHCo^58I*rr9ywTR>7v75q z#O7(0qW@%wt?R2XZl6GYcOxrJwlVbwh^EB~ux3Ol}_; zO8@lggo9)5_lI87Zn8Ery)~){dhd^c4`Z-A%9>HDsjAc#fj$s2JbC89U9uE(1E4Y{ zwsJe#gBGxGezb`yJq0W9qc(UsX1sG=b~)BYcISFFZ|ozh?C##kJ-+LJTBhN~a(XEZ zjt$q=EUJTff0@+YXo1a|rH=^C){(!3w|4Jrhs`uVt2doQ1UhK7{g+=ktM{amO}~@d znaSrpx;5Fo@p$rqMBG2Wdt3eSC}}rC45vGg^#z6#*k>Gb%Oy?4Xi-0nr~0b z=w;gcs^X#i*@ZxA7DRvbYK9Y3AK_ZBH)Y`Vl!M{ayYe_X_f|BZe1z2<+h3)gF}ixf zYGkm;A(D{USic^CN8TI}K8G8S$IsrIK>UF@(d2w;(bp?{%aM_H$M_TPbYPo~f%Ou? zScaC=de?2vLq$2`nQc`UtO<%vvYU$S66zS`;sc%>D5`JdN1^=%Qhm0 z^GEt629h7c%a-?=`{qpjD?Lv%7sVph$ExF7 z-iztalJ}vOnIOiZ@07e6;)Y)~PRwMT(dE1GTugnGW9OhO=Mv1Bj^(IlgIQhu0Viet z*{GPU)>GLqYa+JjwMoN~)1gm%M$|$B6r-gmm zvBu&zgB`|7aN@(=Ta7yS<+(O<*^8g94BIxEMmrgvuezqmZiK-5qw&5bG}%TX_>vBF zhMlvPoG@wZCH-%Ek#8(n#&plo=rH0a484=R1-h6Ww~SAsZ5Nh3@Yl-v zg|zm2o=E(DOI$7RDT>7Y%q37+@`}8!es}UEIlHTgn~@Epq?G%bt%WCk#&DAFYKC2K zFS9R%c1k!#zUgDWlr6oG`d&p78@}+wS&&TtI3Fh^~Pd;k@?Qqu(yRj zizg-)|B5~*nm%jHxdZoj?9%659LIhdN&VWTU2COOMYB#Cn4D(lYcL89omz;f&$ZJW zKsFzRS@htrS1-Td%+lD*G%<~f`FV8`zIF-#@sWrM34H}V|L~=j zB5Ddp^7%NVPls}HA2@!}HENQY+9`FbE@g7pUgB5-Ibua5KIu)ag8TF;FF41yU!`%4 z)3Cq{pNpFmm^%9hNlF|XjBR>TGttI@qm2v07hlK!=>eyAL#0L>iN1%lGRLGS8sevyK@B40JkC&M)|vFi@`0oO*g&~o)e#8 zuq-dJAmR#>a_9B^5ST)Xx6$Je=I&>zbDqE>_wVeBj%vz7&R&!kx8K=1pTsby zQY6nXm%wTaa)Ww#827mWYcJT%_g?Y|kENef|D9k|_JQF+^4iKJ!Zw*-plq|Cv!sc^ z9d-5_!Il${K6qc=>jGV;M1RGZ+wthrv->KVG80N4Kfke;tv9|SrWOxRv;JomoJ`p! z>1B+Kkv2fVOn}AJ^Dk3Hf!grn%v+Ns(?(~`7IHSh#gtz>^uS3*@|73V`GYmdKQnu& zPGIKRai}nkaa21If_c`7*|Sn15@O9iv;?%y+Y_VN?bE7NtwlL?l4!D4L8 zX9CzkH|kMEE<^HP*XNIVz>}_A8#<;8jF5%gZrIDPN4j}F6>G4I+H#o@cDc+#CPJ~Zj=dPvq34#jYZ{Mm_#ob50GNF6 zB;_(f$sm# z@sHUXxsEdvcCO~BKFqDurdpK;U(K&X?qxWzF^@)v7kxH`G(dQ7aXnjH@t#|Kt+`E4 zWPY;vqFvK6sv4`r>O61GUI_^xPvOL`QVBV{`kwkm3;y#}+tJwIcyb;o43A6nK(A=l z2Walx(YrPfpF$m!@HAB}tEqID%~78UQ{sQ=ENJl?#0TT3e{;qH+R4h~2uw|8DpIa$ za|-tzqARD&A8n|4@uSYJ1+CzPsZYzGnAg<&Om< z)pPIhXCPwb86d(hu?p7w8?B6kSA+RZfln%r)q0cDGG=Vj8Z-sGdQN|c5RT3*zYgeg zMDhQgIQ?$*X;a(2s^z?wW45dDmFp)s-Ku2skY}x(Z=5)HrcH*E)jVDN1J|(UpoNSg zmlN0WFD8&cpt0D4$t5QR=DrBE$3M?aUli@flnD+g~wD5+hCmts_%Ph(k z;6gtSgV?jiu(SwNw##)(VN+1o6g-q|A_DgKxV)%r*&erSM+83cd+HZ4og~4|oVT0* z#h%pv3uEgAzAL-^IpF`#AN-%w08sPbXG+G`G)&|e?r?g~Gq88DAp>{*3+}!9jizwt z#5^I9-#{oPVNf|E9#Y~x5p7Pbs1H*#F$%Dc*!<2C0`c%m44kGi0mJL!Bru}vP|iIE zm^~*kjscSQ4dFJI|FaMNx{HMk=3#n@Okub^Un4Hw10>)wAcJ>&@;k9EMa%u*GoLoE zQ{S0IJu~#xlf7b53elU-4v8T)3(W;#+6RBbur_1~6#i)#R}cg8EOCsRF}475t#Z_w z-+8Z3`7R5o4UbBsAJXtOFd6S7t>I1avc^z7?GiOc9-)i?ji2xfd}rnqff05;#s|HK zc@^&Y^j+leteX)%V1q5cmF;JKL3iW*)7$txa;2fhkwKGF zI4Y$Y<9>Jz(b7HiE^hon^}Pwfw;dgDIB}S&yz}jR)nDvSC}XzCQe6TFWW29u=CGBM z^#6JyWVIVFlQnGzjUy3xHqT&%!@S24^Nr8$@(bN@(4oxseg=VsY7zGD2M~;>aI+>F zu@v?q5pOFh+z!X#-*-K=?{1V8fGBbP{l!@1iGDw&9q^xbF~~rSV!R#1>a4j=F2thQlKfdPZGUuLVicd`;HW()&J=ag!V&F;78JKqKb&6XFI%mD zyC>DW(Ze7_g#v!wHM=<-h2M|^AW#2y97%@=lZ_5N=SpbILwFR}1ZSTHfqsf)Ub*A>+GeHtimf@gT*BTfZM4Y>&&hu}mXZc&RM5ZxlT zTxz{6^5lh%;5xy(Q^n037+rW7jtqScg{15ICH@~0_W^F#a_o^Dx1wkq7oF? z`--gL0}i~6Pn0PcnJ))JbWXQx?tiC?p2w|o>>#-wY&U&J3I<(DMQ#2wi9OWu9OEM} zc?sd<{^RIDHE~O@+c{cNBLoa(&BO))#%wlM2 zM6TDtwH=IiImzr#+N~4z5$Jd&3dDPbD#Z50d%tsQbU?5Qn|Hi-KQK|e0wUs$zeAd2 z-y)qvyJ-Ycr+I@ABYu_5!xk+JS+ZpDIQDvz13ncyI3$0h?$K0bC?>NpVAy}~EBP`1 z$Auoh_U~W+_QPL0CiLme{K#DKGZ%D<&!r=l-hhOWneG=S{yI9G{uO?Pz5<`<#>I8A z97J8WkTKGF)a3kEOMvwh?k(4kw4sQMt&ROOh!A7pKt7tYcc!^Rk56y9L_jLjTcT>DzhFM(W@J-vr4~$g6YMh zeoJo_5RD^N5m5y|Q7Nl{p+8G6IDN`K{fGpY?CbJk6^=~2K!mwXh}c>8kVPseHZyQ} z>P`G#`v-KYYjUcx(MXPOT=srKry9V*;@P2@LMN+Us+XaFSIhLsC$Dnu@4xdX9^0dz z#NL66OfdRKJ&hNx8QDSH6u;~lmu#RG)Mpku&zDyAyFY&zdYd3bx0 z3>=inXdj9bIuxafgI|q1Zfa2_hrus$*4ut&wP!nl?QO!w2;OF4-iF_45b~?3@z}d* z_PR&f<<7p}*-w+yqfb?A=GF0)6`cO`fIWlM45C&d^`EI7fcebrp=HVx5#kO9<=Q1T zsMQ@xdJ>JDcpT%kd&-$)&Tg!XkA&YE^9RWpno;I)iTA_;(s*hIpP+xLeo!^(1A;j9 zl6b(}M~mUqbB&ec6kVu`*U)neF9IbuQL*ZsLe?qYju{wxK%CeAa-Pl<+|aiaRLAiq zlme8%yTD!;^NGmTe)xbSLn=TdX3yM_fD2 zb3KzOF7)bRLwc0k(6Qo^Ol(^*ia7lm%?p}+re7c&AqsZaK1D7z_4L{F_w=4#4Lsgi zVIn+Ltvltp;lKJ%<}jqnM^L{^e<=zT>|D{XD&^TLV%r*hrT8N974y2%!WZ)8FBPy}e zal^d(+cmm%u+Y4{-)cUlti1r#M%2Bf4&Xt^mSx=7=CR*N9a}4$f!DB0|HA`YI;h4` z1(wXa5S-36mBUyvMa|jyUBUNw_C@n_PM$Kfs6^ZM^Hp2%A?)Zl@(J64rQcXxO`wRe zke~lOtDS1lm?;f=>>JHnT`0Jp@n%AjAl}S&umvzxgLV$-7PnMQT$HhA(j={)LdSvc zLH`p@wI-*G=BM@nputdDrM*sC8mIQL&Gam3MLJP#r778z9!7%yxpfZPTFzn)vq*F) zZ;r1T9m`cNPvf=ys3Q&f6e&pmW`h%sh*)b-6G3~#Xr=|E(rcV3TDn+j z)0M}$bZw9Miq{-}k=2L42E60k`eSM;Zb5u1palNKKiu~f=+Ai=?>P*wH{TuoJ0)6^ zRB&Lfnw8Bw;W-XnSky_P0f3>4%4j~lIzEU7?1kL5HGC#) zpIele;_z%8XlEnTVB^rmV(|E+-NdwG5G>8O$uf{V<~)|cq{$g@JjR~08dJ@fQ%IdC z`i1Fc1XZfW)wUG+x&|*kmEnXLQv$(i4SQi(E5Jnb&AR?emAk)EBU+4pW z%vj&FV7~j*-pCu$LgS$gX;5cIpqcYSY>}nLB)c!xm>Loh4FU_s|O$W(qSZNbS6rYPHm5 zQQEviq*@pL5YIU6Pg_uT$?tbh1Eg}FHaOotp7idd@SmfX3}|Ucr-JCIM5XCgSv})*!fEvVk)kw9AiD zm`RQuIx*0?a}%!ix{`)Swbuk%;+codl?2Ra?6qmbIJx*=v6?VAmX>Ugme@p{omN18 zf~cg@2$7`msN0al1(wrwY;NP1AO2=TT{{~U1K<8?<0 zI$-1{&ukxv2uy^&DNDN5<^*8KNdu-byJJ-b&=dUE2#^)x;7?Ev+V0b3Gbk1|Rv7Bd zv_(qdQR?O<-A8Rft5<<@$Qg$aKaViLD!wfl^8{4fuLMBKv{e0$9Ro^}puW^G18Rn6tC+U%DGuT;-xVn4l$~H8r2J&Q#%KB7 zw1US9CFD;*^^45dad>@PTa{oy+Caokoq#SJA~(aSTT*LrLT2Oj27Qhm9ca=hPhH_6$RR>bYyV)CAlc3=nLAFw(=y^3pb{4*+2Efyhr)JXE*?Sz zx-1hGLB6bCJtm}A#_lQB6=bGh zb)~dtZYO|hCzup9Gy^(h49vf&LEk)<#~G|3Z(noe+tryL~(FWhsINkMqqLZ zhPi}N!Mp~vzmO>FQbuAiJ#(8O3XQMt8chRi;eTu|5S*~3(CCpHI-?py6;+)AQ*t$0 z4bnn<^jw;55Hz_;=`oGe3!o86GFTRAhnPe}Uy;)l3{yWlKKX>XL(+h>PB+895zrv= zfS-h8J28&%>IxzrM6~z5DkbSoPF{>V$f%8!#wBW9IjzwZR#lDazP{oCbrmEy3w1i# zg}%ahX5Ta}5skp!#%m7E^wn1-515V>DJ~T5y`ooMjHTJ(RA^pL3M^$jHzNeoFP8uS zN3r79z3)!ax0h$(0xA1#Q##Fg*uy=k{w9&QtY=JsZ=cSB=nxKvD9+Q}fRMY>Z#9m3 zZT-CK}m`=*04^3RrNv)o9%Tt*(msY-F;E)!*i^G(H`AC4# zjflJ?VXk^VXuKY)KTgX2<6eHUIie=1Mm0-`ZU3_G`&mu)(_8H%vgG@QgB5voCe}+j z&~*Q>fLy>0GwHlhWT#u_d@pL(L#CqfCMO9HbT}}an;+O2GYdBUo2V}1wD$?vdgfHm z2xJjl{ql^d6E%IUn&Om(1mrrLZzv*Dwz4tc9u3S9W_=IjrF-JLCCaHFU6J*EBU6OW%&FkG)4K2{dI+zk4q^+3?C_!)zUPCb%hlat`r9u{;a9*FyKr{LS1`1;4@;(~j~GIrT6fn!GN;{MS84i28jNW%f_9v5;6ew`jJ z<)D;Y5pg zA0Us7LR>uM$S)ui4NZDL9^5Q~u(8kSRJHY{W_@5C*}g&YEW`AKPs%WI+@(n@u^2P>BRTs-xPeZ*u*PTjW@b)+!GZy; zx&>VLpbo(E#m0obd?;%f_fn`Kog*S!xq#zSej$%Zl=jIUPd7wSa0XkGWCFa3R zQheou7?3B7JuDe?N&o9!GANZPFSk|q@=(#B)5j5!8r2-aGd7QTm`_U+x=+<1OF5l=!m7$DHOQPp^RPLtX}a zIYg!&IYuSfq3T5O04|i8>W9Lg$ngqXEC4R_y6L= zv08v+0Ld-hnO*tP1R0{gk0!QkzGuBId6Q(AksV+)lXc*vX~tkB98-{`#1xJi_eMu+ zgpeNBXy|maz27!yL+a_1%dzA$7~=H7T(S!VO?ofRFF2l@ZXf!K*=g8~;&mMKRE1{X zLsiIM)G)UX9SG7`%*INH$9nN8M(oCb7QI4q#je!NR+@($@wF#Wkk>2}y--X1)CYOn z)T1+)wxQ?ec0Z@szSe1p>t3Wp4ag563Fv7cN2fHP2q(<8=)`9TvD1k6ByCEpgxVT4 zX?O>$(bdop)PSB?b~xTW6^N7CJ0wjbp|^2w9?-EF2xfCI5shY#OL0qhq{S@kPffeP zMl%lsK^sJ8y-ZIMW6rJZ+(IaoX)jN;h&x{Ydj5^6m6UVgVUfc%&jn@_f7DDM~p?BYyl$M$<_I{i4ws@khq`3w%Wv>Tv~(D z=YAXPh@9OD#K!+$K>+IDXy>g0vVK#>GS1qC{WVhBn29l(zP4C@B;+)m@! zAA53%PN(2DwvCi9o)sM@KQU*^62u-No{-~?=@&UHh0eoh`j#d!(Z&Xxk;YR_yst-n zLbJGvPrs&h?If7$g-PS&Kihfpu$KDJ6GA5YCYgPNFuuq4K_kTS)qnjbTF8ucB^6~! z{&mLbN5mTNR|$+mgS6bCQl~ubhHa#QIBj!?mXM%GvS}R@f%D2iRZb4*21|<_5Bk}| zgL-JZBnKrl$@Y+aM3EbUn7_Tl z_=;J*Ex*DK+qom4^jM=C8wl1!;ETT&QDUNEAi+DD`aV|RNWq<`u?#tdhR?<$)&ecs ziF8#8aiepV>|8Pu=Fx*g_zcHm@{2%}L>lMpL`=~{Ec?Qs_iEb9$!tg!t#fkBM2JMX zO)nNTA6n5ktDQ+UhBmTl#;PaE@4M6IL0(RxsWBH912=2e3#UloC!8O zkf1UpnOV88t7ex^Ac*}#zY=7qfNeDrtbw_0*G?GHKs*X#kf`~)N02&kBPykgx{%J3 zmLasBz&pU&0wK1^yJ4|f1m7`wZ2kc`CF1qPIawGkC*b^K1_`Oo@_VXn#JLzst4Jc8 zLHjPdXc3vqQaBb?x;9}2XwnvnEYQ)TqJq9fa0(y+Df+C3=Ga>by$G+En$BBbb+W1n zt-S`%Jl+I&zbe*l!FI#4QWQFjZWWn2ekGASB-ZzCn^7Rnya$vJ&%JCsZ|q>0|WKln+`$8Gwf+&d3Vy z!s%WX{n1=8uh5-ATcpTbAj_+tmRYL@Fe83&STp=)2!MTL9@J=!Y;t4Bl^k6X?CKoY zLlp2m5`cTZAzNGcaXY~xyZwNXf^l|YmlWk<_VM0f^wI>#5!BgJNG~gqe8SSE7vG_= zLQUdjSD`Zwp<48s&i!H2Lpet0&d{Ycq6HP;#+N^$U6{l{_2n!bp{AYiKT9C37x|XO z0W^sjj;uHpu<7^AVDqVB23f@xrdo3aZQv;9$s#{U(jKkIGMDIAP8fC^)mb!r)T?yS z5wM>kz5K^85>e#YPO6QMkUSGo_`)g07!9i1o18QpnxO#N;yj+?Xf)Q|egE8f1H?40 zOUP)(^d@XoN<=T*Ngw3|l7@rv75s_>Q6fd~HwdI&xN|Z+FZNSh9~FSJvD7~C7LB@9 ziL$MXLnHPojZ)cfFRo_5(?dFdhGa>>X)D2}4t)nW{&}?Jk=yHw& zSk_)H@c3s-OjEEYLMv#Qc>@?^L*@W1(DAh6X}PgUVBE;p=%ScQdL#@rYC7ungDsO7 z!3N21()Me*5XSHN4{#@&UM6#QqDPKq)9|N_L(=w#V=$!K^(Sm2dc@y5s&Q*LQ`MvU zltUqeAwsi2=fRPQg2W~UhhaeWl)s&qu)tT#3g7mm<|rjJ2T{$aBZH(Vpy|lKyk^_C z94;W!?0Th)J#ch2vRo1RY0BvI z3f0mHFDN!4MD@;ixrY?S8OKGMZAic!V{t6m$;6?MBgG*DD^O%j|0GPz>+{~LO zU`X_73lJsT}z~z=NwRA{#Xe_o3)2X1~*l?L^it)L7d4preMU0 zJDHwdLhwJhM}vZ@q%Cq~eNG1ZfOs=TA%_)$ANKK_#6!IKj&DH^@eoZ21M!kc+1Mi3 zmkv%?`XL!sC#abi&4Nz1fRxNhaEsax<#>{&`^@k;!*}Zi4miiTatT5zA7wI-zf&#E z6Zu+heGtCMHKq&}os!1!H>^8lB5>IiXH#F|o7#<%bc1|_eJGjh$?S~1rEfw#Djht0 zj%Sgk?Yt4J^v3&2IJ)(FGeR=^F%9h!*fU8i6)I`nuV%?#BpovxjyI7*Kde{oFpfMK zCxIpVFLO9%BkuF6rNiMyuf<~eiAPb+?4_x-%*clXvqui(*xe9K4wk3PxOct)Ncr7w z9vGqPk6j+R!Z{vZ=XW9jOREy`K&Gsa7zjo5e4f7|3~~ zKwc9`=wI2&17zU_iOM@WM z6iwau`U+Zzno#H+?=OZBktIVY&u5)17axJ7{?ZIfAb@#`JX6(R$rLuZ6~e^k z5v9RX)jJFaMESmxC_rg6&QEcoP=veA2D6j!rlPfpc!SjTtUSNb(;|M2DVlZCy5iUD zSTUu63(sFd_4DFI1^MvT@_>1SFdtD5Y?0Dd6Vj$N+m~?qQ0fhV0uw`TIn~A~HnlEb z%ipEL{KWIbCsg8U;7fzqdBbc7VIC+$uu7k)rSOWSkO_HP#M`+7<=YGf-jCh5nI<{F zM%e1HQ8o&nt}aH(QKS4glc!zMumlNp*Pgj&S4eGpam=ZJ(p0LP0jT(}u9Hr#f~iiA zKG7x-Bq22b68*4^Hg?GXps)S1>lo9b;tHM7yeE+&FR1aRe)0%T$7uVBkVjL2^}mZH z&w8W;?Q@8Bf}$$B^|t!}`8LMuv@_^ZK*WM=%x6ew=5~llo7iysqWmfMuS3sg#_Lu*r*rxN;j*513D|0Rz2ue5TD7Nu-0( zLS!b^ZKg66J`(d{!D#P4VDm$En@>IZm8QZihc=^$*dS;p9Pz=%j>JJ`7h_VH$`Gk! z0y8aMJ@%p#4Lgv(x;ZM3KqN5%9k|+>?4fR10!qS@&%YNn< zi|GHEP|8^%2yyo%U=KkSN0H*d&_iFlc(pnakG2bDDuBI-O& zV)L4bZ~DecNQ1^=a!qY{0yzKr!?~y}>`2a0w(nJh5U63Vmh5oS`*+iouKA zz#5mDIU`2DOY><*Oeqb;X0dWHh5j7TM;(r<51{1Cr~m@l#nk7U2vaiMKv9YKB@My< z-A0?#efX0H16w0{O@pT|9#L9@rzo=<4UwV*|AV*@Fnf$<=_6-wWylZH&tPC?1L%b4~@1a5x4nli@jQ{2)Xrh;xeFi)APZo;9^}aBPA~;Xe?E z#2T^658ItNmvtV8CA6_w9)DGAdf|FqbejxwoI0!U$6|D+6&sGv>x5-Qt{ z1-5uC(1pDxv_U5#)wbdv#GTHaXF)h_^A*B*IpbNfJkjo3xlR>RMQ#r4K*&`B(teFm6&o59G74u5o{e_wXia`d%G* zy+VEzb?am~hAjiwl1I5Ju1PNp6te5NK4!hCG;iAiLHG<8Kj;r5x>Ea!wZ>f6)Lzqa z+P&vsN}V#78cuvLFYCSKm|^_(hPAYHv3Lsom7~?@{?}jrh~N9kX;#iyqHO0lzaN6O zUv_0yTjwx}@Eq*$$A_){5{8)uNXfMvV?V>?V`AP1TI9TUHpAoqHTh#L-LU+SkEN}@ zrrSk|L=c;S$8_UN{=1TYQ(+tuQ(|<0Mh3joi2Cq1Oe|}6F*C}Bvq5W3l#}X!v?~KOxiyjMqB>5tJ5fg92=w*IY~ka*;onC z;W}C%ZBo%%!W3{9ksV@BRdbOBkoQ}=Lq%dpXeA?ICaj{^ zoNN=;YLPkN(gUr6;QHPX00;LJX_rI|$D&CmPvSO_B3TUFif9}LY%;UWD`FuP#eP^`SSJz8c_@oB z*TxdePTklAYIZMdb1<82m8KfwxLOhd)_-S-%1x3xw%a>t-v}mU)M(qS8=wlTB8G^< znM?U2l=H)mh^Gsz;bhcHPIN@vf|^)de3mnFuduV7X>P76yBwCPP-cCDiS z-8{zZTeJe1dN#(OmLt9*sT#|vctoV@eH@9itk`$3)a0u)y5cFZ9RtOeKWdaT@*q~8 z6^2LZ5}X^p9te6CBPP)v{DzQ4)v9EUx6b}?^&hacA=}u>VSKhoRN^fZw`0FvVqR-^ zy68H~9xGy=NcT1Fk}SB`=XDDFUz|f8`N}LsJkKFU=VW)r61JoyYXBRf{v`Eb#-7J^ z8!X3j9GG_Ex+f0)?kApMN5R8WEtx~3>XbDEYZnc8Xv(j$k`tzEj7aoDyVfKtj%gKu zxO7*Z8C~k+T3kgZUnDvpVwKxDUsdqpEirmbU4T6pwRn37UC7=0=26D`?n4muYU~w& z5_Sk(xG#7gS%#j(14k=HG~RlfR;QmMc(WMn?%Pq10WaU-`@A`X+=&k_w~!e~(us)1 zebn(L@8kZ&=Q9NR>I3v{cc#s}!$+I28iGTu6eCTg>ZVl8xXddFBcF+|O#Rnt$F7){ zpSdr%XAiF#C)v_098*3#wfg29SV`8i9* z$c?gupCh@14+SHClm0cUF!h)`RI--DY=c-eRik`j}?5Qw%PMPwV110x?@m z^BQSR>To#zPnbXW7oKQ3CFASuASq~D9LeSO`u%m=4vhlsU>DoW`8e%qFNp8pBf|rt zAKz&lX$-zW)ZFqlh^YTj3B4V^vcCJ^f7r6jRVPKpy-YS~+)kXEKPZ9sz78qi!&7yk zNriCQhEw*#IQ!S_o$~Od%FE)_*8K7*XchchQ`Vf)hpII>aPEYWSYyID*gC}?zhnk* zuKE0^3;6p>n|H7{0ki))MvIm5hnqYc=JpE>X+CsP$Dszbw{Huq4}VSG zfUOcNxwi&$Gg)Ew;iMsc?8C`tQ>NfMGuIX?Cp58p*)h#N{PR2OM@K<+Y1TfMRsK`tUmP}pFe?fT$1Cyv~T5y54#9>&MXKrAVo606J zNZ+e_jKT`Vsf6CVG|Fg1+Y^Q`$rbcFs%+DlJ|1!|M`bWq*RA5Q{g(`+StDMbt?5UD zf^HjHf^?_Ac}81?<_x!OS)q$Gvrnm=XK$u9uv3iGAnmpsE=_|FoY5)U?*H;u#UYXu zR~((h4Nqa?3voD4MXzX!-hi7>f2c&h(fOUPBwusnHN*3^C-o?=X+ao}ooQ&A;A)u5 z=)h|#N+M(=k_en1@~4o7&2?9A!5e@08wxi{c8n{*kXHc2unC&PB-JZU zY#CQOrs&^webwoAXNpzYYa(vLMH-RvrtE!P&I8C`&X~#FGDu%$ZBb9BL*u5Ez|ZIb zwg|GSm0Q*2%S8;C38QIq`gYTJrIzbfDd9L08G2Cw_ejv}!)pvj;MQz{R?&Oqn#>ocmIXzf75LNHUgvV@hy+o5Lk z^wq+=r-!dUTP^ydx!Tk&1fyer)*c%_)*rT;)}PG@0RR6=}_{$ElV@Ay2f%2&K)x3mVRPu`4mU zP&&p$A#@aV=1A@MDQ+Nu-gW-)hzYTtBJLd2Yc#b1c33z0W8tBq0g=$S_ zKd$YnpkIEtd0-;d9StH9OM_)Hi67mqK=>vna_e~QBPn4X&7(c^ZMarnz27bb10_f# zULT5}0xd`?<>5kaiJXDJG)VXBV{SPi>5lwUTB3J#<%=zPNs!vQBCL@tu`52DtaKrW z(haXPB=@yn&Kk~^)*Th(uEyL$qw*sN+3V~No{(Fy8l{0;93l7N7$Y}ui+nu+tPi)1 zCyeMR1P~L@njU2u1yzSQ%{W`O2axe7s1)Ss{P^P^=qNTf5|hgMLU2!WeWd7k)AdoS zfjln16N&86dl!n(#vwbej3mIM9y-|-Z)egbH95GibcEnnOh^*+u~uVEeZYeVvt z@5*@W@WsUB$1VUSwQF*cZDeZbpR&F(EMsbM661p--P30GKty_=V_?L0M($7;LeWES zvJ~t`0iAwvX@ZPr$GJwW{5yj=$GD+maOg2!D?`a}LFy9x4tfWYZ))iaGbp^4CCW+m z&049s_&jIQ9FVcO_k_l^6lqJ8LtaB5M1&*{ekGeKT&i{;ZioBYKNx0kcOC~%cH;&xoF2#w>M(eM zl8r`2CzW(R5dXR7`{&3UeKuP7pqn8FzGRefgqOe1Yvij-P@TRr|y_(CA8IO;(nClufe@(>{#N#jKleix)Y)z zB%0wWo;l6iR;iVT;(BztgymW+4quJXJfxSDZGV3x2?Oa0ZxK(lc7XSkMf5~!q!8?n zI4SBr@*N80w^lPN!Zr*+5U3Jo6LDMUbMKNOGx{~=?A}Q1HOYux@uub;HGI>S&xg%)5$Fu)~?(K=E4(xWU%<>!M z>qg9{xuanc=z3WkPaPYh*J136=4b?>6z9x_D$`iS1Z0h`hh2;b(4W{O>>fUNc4eEh^- zfHg~WI`Hej&1L@Y^k{(`r>s}KS1rzQn*OUqG)1ZAk8#Z#NDY^AC&O>SjV0| zHT$cj3Y)xc=>n8{g5`b`*X@0;?<`&honh7 zF*?B1d}2Z<{NUN?PAiuvD+36q%k;{>P>JuC?)t1|2&~T&4s-&!LF@&Il*|pZ=J-ld zH-w8pwNA~yfzhYp6ql4c#!JX;NcU7H5&+L5K^(Tt#Gu-gl=v7SkyxWoGWGv2KeKht zH*_wfT*quvcS*xcF_juheimbT)Lhl z^-4|3^6&(xYSNcFMV{LdTY|S42lqUwd}r?ax0NtQ=lJm~VAix>@oGnsdAOHB^&be! z3{C{u?F9^Sx58_Fjk%@fvUozk#R1Q2VVL|;k}X_d)vJ?cU{(7%5}W49w5nT3s5KP{ z_{z9|3DIIih?$RJu#gjEru=kd2Eia<#Y1zxcH|7-z*HU-^}On=_~h-;glhBPGn0ow zBu?ngUqT0ofb&MCk9iV7FF}TDT@SQ5zEz=Bpe+X9ZTz7-oXUb_B zsT?(m;iqCqf7ke;X9<{a45I7;^Pdxf+s)6t{Yc zsR#Gnc!-$#1K5@2CR?Dz_|QFISkA1@f?cV!EVIjoZtzo#b;i)umiihdFE7Ko7@#&(npYy6Cj{?tSFcZa148_Td$5WpZzTsrB&!= zj4{R?xWE@R2MS|YG0It&AdItQWO)oSu3mkeJw7Lbz$K%RYFT7iriS5>> zb7c6tOtJc#jwZ^?jfby-Wqn=u#|Oa#EWAqu$KYoF?zETv{wJ6LU_xpRF?g!UvM2t5 zphTltd<8^&uHJA3NpaO;=KkixV9igXRO?>iTB;}o#$N*6zJvG~OJm&l;c)(p^}DV8 zAFcBg#1w{J#D_6`UN9rpG`=&xx4!z_Cxm4^!2hcKXHsjnxA*K*Adqewk-Kvmd~4u` zPq6MXA9MDlek9Rb5lw*epC;G2MKJOBQ(XLdZ`>_cG0Ip0hf}AM*9`$_J5%EnD^1VxCSI@hR z8i!r{26U+%a6loCf;37;$Al$sn_lg-Jy4fk4l$7h520MoU;f^Hxu717ria(7$w9Ui1tj=Z~F5B~`LDoU9L&vv7U&B{5IuYmc zD$~_^xSXTL;fAnyF9>y)n+d95Xh{(fA;F2N6%Q|Z2il5-ACN+Fk~zal%y4@@h!lF< zTN97EIq-xgvWQG20Ef5@f&?_@iq9%p(fY6|CR$`0Bk67B!|kxZ|0Zbof{(k``O|JZ zyUwNh4gPc_-$S(Gp~-j?as-TsJIx?-W`}ICB7nwVz0wP9!^e#(b&v)N!9m>OKfO1# z`Tp$GD#YpOa(N2LbKml+_i0IIPl!gzN1z6#_LSOx984h8u|*$jSo;yM zEoHuKaU~*jgs&TyBu;t8<|VHap%(%ht71Db3N&Wl^WHsf#=mt3gy`m!?{)mC1@?51 zijJc?j$?YP|PH-m(NGp+ce*q_8>TQ)r;R ziZV?4ASTE2V(puYb5E_-PQbqsZ|t{L<(aGB(Hp=z!H ziQj@0YHrLB1wbp8=~`l$P?-*|IZY_mp1~28jr1mpj)C-JXSGlKKo7&m2L}gz?zQpa z(CF^c(gbmmY2>E$4R>$ap|`!888u6YgQ8?xNA_yIDirRw&C6z>JhR2&+@1&y$@36a zD+&#n@rs#qvygUNNC!6gK3dNthFN1P_Z}LwP7-)srEy1!T?wo@Qi-$N#Zi)`a1cKe zNj-%WMY#gV%kHsWX9F=rOfu$(nxGDGjtjc@;O@fp*P%#I)QyW7Ic`Ri+U_F&36$P9-OZpQeA>^^(4dI-9xEYFNDoye)WnTT2;bmq z+=Z}r<7LQ|4+6~n*vl|EX~evy11P0-c637Hu6s=2Bs6wkdW#$u>?CE3M@EpI*G`tK z1V>+ofIjr>2Das5WP1?QtCZrq*#Mrb@=crWn}?L7kef!7q{d^eq#C`=)eLiZOd<=@ zhrgIa+M$fLt%VU0t^XN0`d(6%9%opN;wI9Bp-b}K&LFK6li^5S9-vUEB`_n+%&Z%P z7KMftgky?}@8Yl?d2t&dEL2G;kIwkiT89IMDx*LX3Z#yjzkX4Aw->~Wp~?{jz8jM# zA&*8n?+U&fTX_uSkAXHj53sW2K%R+05ZV^-M&JP{xwb;G87fZeBYTuBQ%4jm2O&lZk_8P|_m0Iu9gmvA}= z(}#!;LFe)o1+;dkAbrX!XPmyHgPW0BF*=)o@s zR-;?KC`YK;G4cq#ywt^HM{!`DiFJ;UCn}67RH_e^;S$+@GLj9|WI?lziQyV%Jdw!b^JN4oJvfJ`+K%E3$w)!LX9Q^xVb9@PTvT zCFLoUks^?GI9gb5W z7eMfKo=+T?2XWJ(mGHMYL%NQwPH;%EfX2zO*JoY@gWvR*wAci8R9}-Ee$c@O#2QC| z#LE+}idyQ!8}H}Mec=$uh;i58Pf?8y z2GYDua0l_$@d%MN(tUIAQ({Zzd^|puT@EzO@emA;TeffSJSXLNd}A{t&_$AvFMs57 zC&Jy6gzi(sgJ}LtJ0Os!tHruLB}dAX$j3y!mc03R51E0Ly(~$!i-iMzkyMRKUwlXE zx#i&HZvMD>n-#}dX9PA09rya(Vf6uCA~sU4N*A>*83s6l9EAnhk+r$$y^M$28CBuy z;KTcP5il3-ZC+g2Zp91m(-S)xh-ECTOzRECZ`#yn(X_`QYfdLfAmIm_n6zTXG{z&3=EpaPG zHr|X`G=FJ`+9y@GZenJ*qM5^QrlBTMbY@E59FXSxKjzmx0?eMO`;YZMN^lUW+!B73 zZ2iDSY<@umGFOija**tSdb%9dDDfBw>I=y{q59~E9Oarrra7n*VwmJkI!}7%D7M{V z{kz}2l$s+d!+i@oVpW`l_u!F`g@GIQsH z|86NP_JTrJ)io$Qse%azVSj>W5!G#M3mQf0>pH{Eee*k_-KZyrn5fU=e#HqEg;z*T z#U>LpaUUk*b3O(ol3xJ+$wwnml)$T~GuKhy3ZmruEcinrv{CzIo8Au?@1# zHkOB*k8mbX>tuZI^nP3mb^vkz`j@z`A3~tNUJ`l~pWA7lehHhtjL}YX%!zfM@#CU3 z2S;>Pcp+eVB|cdQ00m59dWnX*zES~o0)^-mGOijyHCxYwf{>OIJ27*_2K}C;!P?@k zUV%(rBB{ivnK+Vv6IHoD-xXCARciORlY^Fax?HSR0eDRrdweI24bs5Xs?%PjK zSTdnrsy3xfg(0C~$pbgM$C?-A6+JFLt3o!4OsUvG9VnRHCRz?8rKbk+hZ=!2>&<|u zm%0W?P*=gJ*4H6(PF#a9Sh!H@mn?UJpuFrUf~#u1_7C{EKs{DBG<#5S1OB8r&|5o3 zA7@z|Xxi2R!gUBRr$uL4nWqSNUOh{@5Cw1s=&@$+EKbzJ^ zezZQ9Q!)7wY=P1vfd}j5+SNLBe=&`Pv5H?X6aF1BvyZ??Op}wYfguB*_L%o9=s`v; zYTn>sT&#lNb;U^*OMiO^q#sewd}5wf>}*F6>j)`}NiuV7$jG(8$WqqdCXjgo&Eo#| z!Fh_)4H+T=H|+@)6(8lNX8x=u>>YTo^JmWxBZo5O%<5dIA5oeJB0<~f_+SLula}qM zTB}S8fHSKK;o_*_;C+Q zd&Pyb0wPFF?ls!K zvqWvgG}@V8`FUkaSCc?2%n#y)!rEsHEJBu8ZLg@ealHyU2`+`DfK=dT%ne6-(>0xy zEzCECi)kmD?}!_^j#n7t>BnQc2AgY0aowP^>w3b&f7{x1=A7oDPZ@%8N?#5;z^~Om zA*Hme*oVAuW!8WW`vG&i-Z8so&e)fG-4!A6J!L~|M$OIuUFBm4Ax5}2f4YpzD+zte zMT~V-k|Pl+^(e782)k*11KFXS{wl6Y+39Fd9{vYp;aP_&L7Yyi4~NVS1bU$s@EBhP zVaM6jA5-w2>wrHmnaXqbsEs>K7@GGhcfX^h_`0!@J&>Qkp&nqv1T_w~F4aa546u)k zA6~%K?t*#W%m%&d>M)$osu2lsbKlKGAF|716x}(B&}JkkKe_(=|R52KDh3Vvq~yQS@GoMo)!*&bfhq)qHTO z_@!4-3C-y;CAkqMg5<$|Y#VQSnmmtlaL_3iu*SH7Zc@f{HnKX;ahDL8s93iUjaho! zgRw8eHK!dH(_0831$f<9Lu_5Z4jJ9qa*vBRgj(lgETQd}&0^}5*LWLug*n8FZ($ZS z+R>1A)J?Rz9>=zbb3NXGX{rSkDDH+6#jl-?24A|k0PD@_pJM|z_TW1h4hoX&TmcjZ zxQaM^EPwiFFKx5i1R5L)umbCsZN8*Ko{kNC7*Dx|oR_aSTCHVjc{{E!?gWmmHC#hU z`H@jEjDpwjgo!|P9)b**9pn7d{ItA56e?vpZR;*R~0BCH@^SM&In|5{?kwdNak>OY8tiE`7A0x5QAVtJ6-I>wC zJ3nW!>&n2!3~K~DF%q{okGpZCrUbYTMHr|^V>|Ht!GCk(+{bY0xN1dj{y9Kst^ z99}&y%`+@`w&w!xIzRQhzr4qzyH-wycwlWWBTm~lgsTF4#rqv1k^8OiF@1;l`|NNJ z39&O?^a!@`avrn1NAiPIK6Fc;N3uco){B?mDs&qe%gD)Kj|!si?Sto~UNG9d(o>Hv zmTHQsnsfph?y4^DQ5omW8+A;S!vcwjd8fcN`7}QPJ1EW>X<d)!PaLbDCyDrz23jf2nMnVHjET*KZ}qZ;H$;Q_ z*p@S3!U}`H;|fZUugU3`oq*>Et$L^_!f8Q-O0Z7eAcIID0TZU#7x`&pU%2uD?+z) zO9(EKjch~AwAzhUO+gp3D}`Lov-{7(dy?8w8pg&iNEPrHt!NrPYj~^MVC%Igib*6{ zW2vZ}>`~W@xxvtkvo;?_-aVmLLvgTeWkL%w%qU>HQJIo4@WKmUeUQWyG3hxjQ+^;* zQtw$yb{W69B#D_6lPw%NR7b7Tp zUG&|mqmkyTF(ezXuPR6(KFc}sfA5GUZi|%iz)DI@49{sYssQ1CRc@>=_{Fe||M{}C;n@R^_(Y4AR-&F`m!&Jk*#yUx2clWO(*Ev9c^9oU=7cqrX1Z z7cW!!wi)qtl@_;T50g zOYgtxEB2<|RLRhq%U&KWagQ<9FHTFeesA)8yl&&Jw{e|}mo$f0o?4T|O>?rXkRE7I zpO=^yB|5-r_4`pc9Mw~fqAO2eC!SO8Caa%GVg;B?Oc}fgd1=m^EkG%OVarnM8-$b6x!1lZD@eZM8pS@Mf(8Udli1_)N{yg!)wH2uk| zui2MuAO=mE9rOrmcnV#{INqm3$S(K<>(oBx)mEx5A!eqRn7TQ#Ar4;nY8`EUZ+Fh! zibu{D4h?0ig*_=Cft}t;ve)pU>)p};(WM|Xh-^)B?u=vn35kpemiY_F!%2~{G<#-i zVOr+|Rlcw{$&KDYZw^g-g~5`fX!W!vgF837!tl1SovEx5B$Mo972`xl zo4nAdcU2jVIC#nt;FCAcO>@tPd7EE#^)ES#I!uA(KN^6)a7L;&HZCf-HM{8)Fq(^# zPPHTqcb<+BWr8wE@a7MQCq@+(Q8j!t@F)4CLBKm0!zVbJioxw3A{iKVR-H)r)YRlT z9P;1Z^1Y!qrfblMupe_QICg(AuT}WaV+c7yBQ`f4!BYa4M zZn?HH{Bs?lNzP*@l4V4VHhw4EAq-p)GeKuaA*ig~k)1Ui3Zsf=S6GHdOBnPy?Cu%J z)~ug3S1zcW_>#dy=g|Khf#pmld#Pv$BNo~YfTGG=pQ*)`p5&1KA4&V1t3%!qXF_7} zFT5l)4FO@MvESVT!Nx>Mv|zZs+fK+RqV>Gp-9Z z@1i&Xf$639*MXb{w0rYj5%aG;_>Zl8;0R9Z44zK)o053K4Wz0IZx|2Xy&;(x-}0&< zPJ{Gy%HML=v>Bto&}seXIee#i(0^1Ohw+x;)~PyX-rW51<`<9dBtM2E;6J{{@5cJ_ z>%8+I{Pzi+YoMd^xS~@9k1~(qZZ8aFdH4Ls@01;5tDMc?HR``@@2c6_pi%ssb%t=U zKREdLg;SiNYEGyAF;_nvJ(pcCM%(EqeO;ZTjBLzcaLql|`~&TI6^h1OSOC8Gxmn%9 zrc-)@z^D=6PDMp!QQAzcx2^&o`EAE=5QdxSXa>K;-}{oVdfMxY{W6b#(-^%ncxH0c z6^YEPAas|vA(r!h3fYKkz!+}vD7}_2KunEMWJ0=_B{3{Fx#A<=Ra&^nk*Fn)3DAqj z9l@K%JJt+3?dZ^`?ro9Z6?l)SO1c+&&|A9~2OXQL=%e&rFjzlDG(jL<9*v~rl&HvL z7Rc2)r;7X92%nuxvK$-Oyc2_>{9oh)cXdz?n@J|iy@+QnY!D4W$_nKpIt1FDj$#StWxbuO&%Gi&|g8XL1w zHZgqiHKfwd4BV&|x9~Sb=;YVEB6DOg;|v^*oJN^1w);bO;dhm~pv%pDMood7bH0II zbb3l!nx-9E6Hf1}+xbCTW(D0EFec#CkJ?C9+(rz;Rd5vU3OPDW0bPVxXBVN<@q_~j z*1*uhd=zx6P6{}qtAkje#s6}Bd8T9~JE7=3&m<@hyW9K^p5?3ehu$l^#We}O4l`qMn-Y)DV>0H`U@+T%d$x-!EoRO+mS8z-X?WtF#Xu zCkV2|H!!5@OalIBW}ZiakBvzR^(wSQtVH)vua%-R3__}U$oGb~O9dptj`lOYGyy9fclaJ`>Gv`byQ(7l5KEIO zEIpVj+GM3gbJMWeRGOQ^x~yc>2K_CZK~6qJ=BOwMAy2kx!$^9TU?@(Fnd5$$Z)H$4 zAxCoYA@L?LCO-92g0Fta3a94@IWq&9+Dgg1yQ+z}nAOnDkB2LpcyqjG<|yf-^SP^_ zVopFCCMttJ(EH!Pc*XDmlCV`Bh1K*H(y3RuEX<_s=e6`i+0Q%&h zTUK#bAqjz)RRPkd8qs+2%zJtR{~v4bx^i1qrEA8F&qdZoBzCasBM=E>83ZDdh(s;| z5s@Sn5lJ>lV!&qqNQ$Bi>JI7>GA<#!1ib{kg!B^3x`h0%W>!7V+j<+Lk1_h3Yvr!` z=9=fR=4i*a9r|I6$t*H;P5<}2x4%Yo_0eK0>b~)?| zWS+r>8Dld99ji3NH(?C_)LP5kHvJ(ndW0Tp_oqwFLrUNHR|(_K2dG2X8}wveWUv~R z2u`3Yr?#bqBdgDHQ=N}lQ?&14$}B-R^c&O#@8$HWt9d%3M3jZ2ai|jFNM2Nigb5s5 z1T~8NjRA^3tu%i!M5GULq-NHIFgqDZq>8>q{L&mTU5@6a5%XNEB6eh+49#?&w>H|! zx3YfJ%38taCZ4D>|74Wo;nEcp1uGS*GL2J9Kl_Ap|XUY7hN#TQG0fmt4G zURW84)eh2;m2CYLWh)2N2>kNEU->6;socu1`O_otcBH|N#pKN!4-sKc>VIZKLZ1xK zlztC7eF-mWxj4FNRu7FWV7j-VWjm&tm{**x$RHhIbk{BilvefGB6QPoK*s_l>2EV~ zQZK)$m9W9aT|L{3m_hc3TqfZkc79Ds<`D1uCwOoVha0j`%l)j3J{~>2*mRurz%e0& zG&xN33}FJJY}1E8vvd+FR>C=~V8(-Mg%d{}RxK(~pt+nn6FWS7?mD4ky#WE|e>xP^ zBAAC*7wwstv)mSEz?6K9Qz( zUO1=gEC2H1kJFs4cQ#RSJ{_jcYjmpOm6+sIf%=K~yK@e?4*f@$e4vX1_xP&;!JRvP zSyz0;S-hjP+;5t&SevjSDCPXkvv6c8;59s4;Q|%5gPcBhl7Ox^gaNHlMYKoUu_;YB zwW(W5Zh6dQ+F38(b0;(lFLeWrS>GZD%1E>Gb-+bfEgmpULFV1xC_Gnf63_{Mr-StLo*+x+^BvFzod+ZwUAB! z+1sG~eEM;?kr!@u?eX1lhT82BEjt$^JX8~S=fRm76!DnBp$mN0IRlGQKWkah#v3E* zF+*7*qG?IVh2;<4iJ1wGb@{|v2+F<;?w-4=8bfv|Oag{U112jvIj&6f|F4TKShsNJ zx;3L9j|rB6Hrey*+h!kUfGHO69o;8a>jN;M7URhl6I>?lk9YYImEcr=>}TyN2*Ql9 zM_!k$U(PxR$PYaj_I(fOYCugq*9FX*1^xWj1(POaaNt;z@^;io9Ng64tAio{AA%Pu zfL?6qp|O1L&Bmg<^(~P-*SH(Ro*zZiwWzGwA)@-%#2-rqaMxbWSth zoy!}rl(1WTVh78QlO%)27~az-*@u5aOA{JpR=ga~OroNcWW~adf9#Iw`N~My6!UaVX=)-8Mn07D2C8ePSt)M4lMn zF62evPTb4Vx-nu=oCwNr<6p`XW~6O1Dx;%3)Uete$y;rIcV7)$=|~C}>4uNy~A_jZ`Hb6+!GArpyNKWDy~ zPLeUud{Tj!af;wmdY5Uy$R0_#&hdecKXMgwdzKzmc6rQ?1_16l7X}I6;g)UVrbL&6y}U-VM!jdOWJDiT>t8o1LY5<9*_7#v-hK z_o@h$+8!QamRKby6u3&=>ZE{(@Bzhr$L8I)8tSRe;L%;kBOC91-}h(ZvB(Bw!8k7pR$smgZ$Kg z?y*ov*4L3JbX09gM9AET5~CSn4~sy$7R;Z}B;gqpI+(6jE9}K~Er)$^SvmQEJ9|l9 zndVW&8+n+i9i*BKGzF?G?u`E!hJra7-=U5{%PH6d|A(pjahhy=sr^V9`r4K3K6@_= zRfdiBHd*y4pSvfG1GBOQ-4UDi?f~6ZB2tPwH=^?D4%wiQbv6J#f}+!0vJFp(YuhLB zt!B3mBON~WF?zMZt4#mRwNA4RUvo_tp^G>sWlHzaHu%J)5h?Fgq?HClsX{NRY?lRk zVzY!GKh`#Q;mdk&uhr-!a-B{0X{w;!!(<}WTCPLm-K zj#SO_x8e6QblB;9)*BB38b)-24^jdt8Uar%OAI8AhQ1iL5`xyFq8mft;*$6LdxK527XsNDEEs!|+^T*nbAhSCVC&XfOCs^-WrIcl~ zoDptuuA1{G&YY_sFKk@+Vs%0?^udH89i3Nwn0=wjKfd$7zw>`qnxw5Lnzo^a_I_Vr ze*L~v=RU6AXWYZzQ?$?6VnXW`{!7%rsWYr_7b2tsP0HUz^7yPMV|YN^eCj`Rv0e8P zqwp`_>Vf{{{dmRk96pYz@5a#_Yfp>s{K?Nxq1eoUwB`m2aVOY-k-^Z}*|ngkQVs%& zGT=XlP78#5mwKh`ShwPEG-r7`g@nLo$X*PHc6GMTI(S2#EA>y9pP{3lF~@kD>X5>2 z@!(@<0{+V)aXU>n#|S^GT1tn_4yB$Y>kC43g({m$8U$QGzAR6$E~w+wP!@=hz8_U zFwXV!Mh@BLH=8R8;6GGKmW(%F`f!OwH4I~+(4dw!KlJZ3VTQ9vrCCTdC#_s6Q~gH1 z0<9-d8z)z|hv=9{J#TZm!WZQ^dc61K>F3^Gj^~@G@Os;htKK~uO_!22>oU_uV5W=u z7ao*~V7U8mbgZ$!AW*<@f&%|xYk}}f#yN52VG)^?2>0znUX(F*lBpqZlWfGchr>kH zIqQU10;CZJ@U5DAD98o9t!10Go3H|aAaN|n$vOtt?1Cnutfh`z@|OsKRHBvC%(;Gp(HCu;x;1CM zGhYw;&_<$%)_|Y2pLEppy|0fxEWfqD9BWcHU3d1&N?G<+)E0DTQ)K0l$rB9$Scpx@ zeTAXHUpPH@y!o_Y^91CTR;9mOx_B`%$#}t(;h>olzb06EF5rX6_ikCnT4s)h7gPap z?fTkygN;N1e~%z}EcH4ow)7t>iCVs3%`+Ag+?-|nDj9Ktcp6j&`0{MZK z3AF{hN9{XpsjviD>bT`Sz|H5A)8I%NOUShbA*9`{enyEZt+uXTa3B4YlV!~IB%*?a zp#*c_d`uP5vrRK3)d@eUIkRIdJu0Q-t7D_5`vYTFm-p_5(0NkC&mSj|n)Q5_HQ)Pu zYk`k2W}9*inOH46@UPMp2*pyAKixvI4!*eW#=~`^py;dSy#)W?hQ+_FIUl>nHVd66 z-(!#CEHJRTr?EO?(_UQh#HeC?#$rC)B9P5rAF3m$8$`Pd7GZ9Tf?XddkPV- zF3(@&8#!xZk$gTMuMq~HB?mEPZ~(Bi8XKzFfRV|JMaVwNFa_l|=JyGL!_X|} z>we?-Orwedepf~H@Ox5ptw^8AbXs9cs?`}uc0i2xX_rujd7)(v7b>J4J{^1_dB~6a zTU7eupwiJ#(s;ZeN9ZOb2){h?$*Vb7gi>-F3L(!OW2Y1u$q9Z?R%HQIxFrBnCqDiD z5VS(aIv9A#gfYxar*E4dql`>8G;C?@4%bejvdjcd;nPla@YFSk!{|ZO(tAly%8=a9 zchNanKd{fzN=7ywPw#M(qc_?-M$ne5H3Og+f+FS)LkjtB{%Jf=<(2Ni8}N%+mfeE}!Vk=tK#cDTJ}U(ZoqGeB zm_h;&7e-LMwcnq{AZLz9ttOaMkS(25|+?l{?gjW}Tc^SDj5fFv-qCzT}%Mk67a zSBHjN{Nb&J5}QmV?rXzZugr~az?#!I{eEp$u^@))vJ)}FgTyq5vb?}znRk$0fMW$)h2|!o2o$geI^I$Vm3G!sO`-?k#_h=$NyzKCg~FCqyAD<&!yHV*cf zH$=tf^rGk(LJ##LV3^9AmfL-(9&1b_u1!T@Al?XDlQd~B?uZo#&Y#GF5!Kw z&jZF}=>1QHvuAEv@LVLR)<&?@8U1(FT+JcqE?vp=BW^RK{MY~&(nPBl`v+b8?ODZ3q9+Y}>JQf3$`wtxf>I$^EY^6?4??KRFIZhoW|L#xCzAFm7g zQfhSWkPtOzyqTJBGADvnHkzpt8wtNi)5ao=Mu{@A11v*~d%E&O zU}SRiu_`i1Fdv2dHuj)T%t0auIs_TNFVc84z`1}1ZuxPun2s2{Z!4bY69)rFXx~KZ zKqGljWR?f}f;iMEL2z%Otz@#A_~KSKAkfP(YCMUI zTI|K>?yfayJ?R3*D0(O@AB087K2Y}{n<>Efm}#hE!$zs8-B44+M}l9!34co0l4q9Z zt)dUy7-&&FEqDi(yh#qI#s=C*S@-8{A)Nl6AXv~Bq~zPtmGMi1Brq}odFHL~v6 zoDbnb=@jm%xeX9YCVc0&<;)(%@&2Hn#+5!lcfIW>f5YM6ZWTPK541V!i}FbCAXFLB z^o|;P6D%+tvAbFZfsO5q&;bRQKV!huawp?bbt6jg@-igYdHisJ2$a*`5G>9Bc}J6C zWqnLZ;t)DQHbtJAdD6Nk^nPimP%?X4PuP>DL&StQFUz5TA2b8B8MpFDXG2RUkLZM; zEaE9vp-sS!jO3OAD@4oOEO*~Cv(?%Tq%+1rACSkQrc6vS)}&&>I(+UPz5uQr3|sL{ z<^Ik#<5mxRZ}xL7tB=6`A>|-yqll2pQY%0eOvF z)^yiZBRe6!`!Y3^*J4J@f<@8BH7xzKVu3t&N{Z#-MErtLP&XRRR<^9T9wApX z6tK=zLFTUUZuGA>{MJ$WSno-YKkV0l>g=E#Zl~&jCv{&Fj&!o_ON8F`Oar+=_$+?vq@ZN^43k3ykc2dXeZ8KX3NmkJX!G(x^w~Q)=U~GNZ=5C zrNkP)F4XQ}a))Vogo;r?D(kt9^U4=ocZ|zW;3d}R&KBmM!HLL=__Z=XoBrQZZPO4ZRteBFOzxBTOupb)t7ZCi$}wCo}pRf4mSJWU`p= z?~>kectsUGQ`^b6kqfeXh!q*!F78?aDizvux4^$m_!rZCjX9WV`TWccWA;&Qcj&Wk zl|38My-;feL`cfU4X`5Oz!F``(ps@P#_Iwx2iQw+G@>Yqh=&+CIP=0l$A;i1GGTCzfv3?}NMSN>tu ziB_m08jOMRaL6nJlFx4$yq=>>*cV*Ob4^lx zAAIVzilYl~TPna%4SGgqhjhL*CbMQ=Ri|T^mF6-j$+9;I3>ob5&`!s<^(wORq0)p) zfUlasFz4nZ<-jICn>@k?v@3^0u7@)ghbk4!0)Hcy=TCBlAdkoJr(>?@9M{z?+u0a< zwo?%_qLR=?`m1J3mN{T|-3ZP95m?qlFrS!x@N4^eQ4Trm{Qc@&9X;0NJ~D)_z8>mC zl}Ag~{_B6u1yZk4LbGTw9cp7HBS^!hZ4#(Z9;;R=4Z$YYFm%RvS^Hs*Z)NKI4}@@N zYS^rHAi)GhlE)o;17=7)pH0s8WQ(K=SgC{!@ZgO6!#21N>az2nH3QVw;GEBN-!-v= ztJxbBZGYzhi^dg2W(*@TI?68CQE2D4-XN-q%xgzYffcUB3DmUFZHx(?npL%Pp^~z+ zTTF{>d(VLR?%h@`-fUG$_Dj_-fB|sCaBih)iM5j9TfPVU#%7qt8gACZ#0z{H5atEM z5<6n8LF$;)OmVW4+cP_5wl7Z>d{Yqqe(nYPe^&_)BZ3wz#@0~i4JTmbSQKa2?Fhp+<8og~pRzCUC) z)-Ed7BDM%OJj%q8XdJOS5smy@+h`qb7lKs?e85T`?{a>tNexbMi~54O-}cW73(=k**gMsO@-^83G~+ z@=9`+oPpUu#xMZRjCch*K*aWfjBo(7@wiNqyJ9hK92@(t!tDH+dsqffg3II~x+|i_ zfL_NqG#eeWihw!DQa@^xlErw4kwYq>Iu@N7AZ6vT5{QQEvY3jRLXA^{!MdRxoZJ|c zULX!STlul2K=(dt_60jg)6%tgtwm+7R%bQ&X1YUUZx~p$X?k0MV z#Q|bXmwUATTs!iW54sJI;~1_T4q9~Dv*u%8v zk%Ko`8I)M3wIa@#fiCu}J&G2Ik$eIcZZvBUA_IPfq78$Ppr34Gt3B7le5V`{c~*E^ zbR&t`Z|WHQ=+R)K#^7D~D|?^yFO1hu>Lw=~v+6_=SrWsY+(t$j^p!ac*GKPqzdFz` z_~S)jC7%cjg&PjO@;z#0U6v4f1 z0NZbZJjvQ9nFOtVI2sPD`oN9{Q)|BIj3wnJg)=NDRV=tAEG%HjQWskeOdwz1Gil8w z+RzgV42aoC(q1@wti`l9)vRx~9I46IqCtxomj?v6V?md3NY_JuZ$&hjPsBKz^${%2vq%x?X4@UVXTvUGLvhITnTUCq$=vOB4E(&=Y$v6?(aUJH*OhSNf7Ua4Xt&jCxMUCTvh&}U7Uh_3L_VO`=q}5c3K}G{ud!g4goK0Id`{*%mSYT4>r}mX$cVXIgik`En;y*&_Th zMY~m5pHPP~IS@G}$(&1z%GaOSobtnJ`J}WM^bS*+=#;jN$|1!NX=aW9|Mc6PHleZp zQ0tK_E?zZJWidg$<8@i*hD51$+u=}^o>eOaqlkOGY4;gn4-{~r%t^&uPTa{nNfxs6 z&`QyEiB+?PY3G~g==q-HyvEkHk(z|QL2{D~-jkm4c}odGpo!%&2PnVgyKm~pMoBzbb&#Mir)(L2s#)2%QEWA596XK46GD!dv zfc6&d&G*AxU-G%SjI;@AMDJ+#FD%1_BHq}s-^ln7I@Myft6>7)rQ z8zE=7vir#Y2MLVl5El;#@Danznae;M3*=`5(3mPHfY(_|r`M*oFD7fzZnz`< z^m#UGK~Sg{;X--EZ}dzoiJ=HEyftNIhSeYtvxj{Dbbz=9-(_Y<3Ew%{=?)G9c~fP* zO?Z(9ZU3eIdxF zPG3^|6=}J4-$=$x!U$qKqC7JeZYptPFbK+o%;AIbESdI`m#@Jz<3B{fZYfK>6owlHY_BMh&E#lH$HdTjM=xR22qhMTmjS(w}gw|AxzDA6L({<+OIDK za=2F+;)<5bkCYi#$ol8Xg3jB+)Yx?NQ`@ytA0lUf*o8?LuA7IlBRP4fZ9EZy(@CkR zf&0_);MpVTOO0kA-hUiLKk2dld?0fCG&<=cXSfk@+ggbro#_x zrRkQ1>Y5l7B@Q#q*mDZb{s}ygh_D7R`nu@E{vT&iJ=3#tBxEB6P}Sr_5?+xj1wbJH zA|&q>cWf_i#aRMwj!i^h-^x&;1yIqUP5%48dU+Xal4;MZY~c+Dhcu2EChDAz7R)?w zgz8>$zFQDYWd$lWNUt1X|6CeCE8L7vM{eR>~_*-{at8xN+w>(hQuIfO28S=&Aez!h+?3F)*16CY-If zdYCnc5a2O=(Bbcpq+qckZzW!YXO31Eq=fT{w#;F}-;H>~e(sT|@T^x%d{EGx?JK@B zMms|2+sG}XqCAPlw^2!@Y9_|UyvZcIni6DkjHJF%m_=%o{^#Fc!o@3-;dNk7SX+eZiA4usn2=; z7V6j38D+JrJC@UVX`B{XOEy# zl4-hXP+<_EfbJ;l#&@K7UWkT53Sk8wQVd@_gSm7=Y19r#$yxju8TPdRl{m#Q5Ly`S zk~>N0zVaM&GFDjBl$NveHHfzP9#8um<1?e=unh=_U4h`nb(PUis} zYR|9>L@WT!=tf+F?*PH$3>BnBot2?li3Jeu=BU)}__8&#bKm?62(0sHjXoDlqYsfB z^(d$38s6CqzSUOs&Qe<1ly29GvwdzNd{kRzfo$HFzL5ZX&y=ny{?~EDv3gWH?}+dc z3K3~p{{o^s7CXj5l2;igQI|X6AL--UQy8dj3K+Ra{TAl#_`_~rOG)9Gn>>}+IepjT z#>{6o(0Ld-zeS33fvVZz?od!E2!Mse)*&2M$C%Wi+0X+jZ~!-kF-YDSo!=KX{_T9} zO*J-0Ms?}?>iU9d;2C;bX_L=PrK)g4uj$+&$L!RC4k6ft&)n#&;iRi1cDY2u@Dlwc zexl!02Un&w--}aM>RS6+u(s^+M4BIU$J6NlMt<+`8Xbk#`Jp&DG;9YTRY4>2gwFulURdEnS1w_~T=s2H9XPyxS#Q=_N18aSxR5K^w8UEIS} z5=5f~6CmEw)i@iJyCY@;InXbez-3g|Jk8#rvvPh`kpYsjJR8AgEEf?Q5g-#5eEqt| zKpfVoaS<>e$7a(IKHK+{C5uDOUVR9&QsT;c7)xx;Em+EIS|e})bEO^rQ}_+Xyvz>F z`GLpV?fhWAP`2Vf)HmZj{M=EC*glz-c+Nz@%^|i@XK7^Sq2Y8qkwAoLxC-O&QXsyt zGA9}BMuvc{1M&M@$n+o}Ga;$LpfAs-T@9rz?C!?5COeg6+l@xJ`p&6)5;&9Kun>l* z*DX;~re2%6ZfDCj0{1G<@8ak`-4jeTu(^6!81IobpWDp$#xW}fIO6E;u_kS){=w6^ zh&Fke(x*~S^W?y&W|tYw1%Wu0-|FpL_|o|U$23$;%;}UyL&D-}cNka@t%Ob4^Q-sM zb_O7*d#s~vBtyfgXt;-=qqp2bt!I)H=vfO z;Ec^L@)1~Oc!MnP9?{8`Ys|c}Ws3^$YoaaZf%>^i-}5`M)6Ma8F-JR2)OPN=@I9pM zWqS|#>PuR>v?)_*ltN>Zg0;e%nq#=3;5|MyEb$%=7}lo9pw|s?bGd<)noron%P4)` zyAZ@Vg6TOOGI~eKU|5FgC7wS?n_@BeS zFU^aY&4vdc8=UT*^mBdTe@%6mbw`r7${uW zIfppdNu7UbR+-*ReGqNpHi>pv%oK0Ra-=jOH?TVes^oc2I5Utbf!<98ob{P2`>{35 z1v|#**~4b$o`DsqaYqf_`_bsJkwNUCe6_F{r#_Rr=wwQ;L-*=q;g$>F{bpuUZ`y}U zrPnt>*xLhQ6)3P;IYuJDwj0Xqqq^p?B_Kqak?@V9jTiZb*n7cGvPrU#p)j$fBpR;J zS4(Rjr6hzySk)|qKs!s$+lCgR1W@dp-%Gi^kG2`J^+*0<#Q|Sdm3W*3^a(;Hi zK#=h~7}BZ8awtdpMKf6-r-ml1Y_kc<8{;8?6V=Ej5Qr75YvYnW3~1~Xct*yKMqLJa z<$`jN32uq%OC;HP_(!u(jM0K3>O1uFEtDSur2=SH#ab72l(KV=;EMJ}Xh3q#D3 zItslcYkBpdW#0jFU$U=REp=wq!0MM8!Y!z zfLplc``1Ynh)hw$oi+>E!IitHNfUaDR!ipZpR+I;E#%Km+X4)XQ^&o{djgHc)vG;; zunAr}KNkPu=g8knk1IDpCKOc3y|8c`rGSSX(Iv&zTlEZ_fxd8GTMydf^U}MBT>-7N zq3InNrrnDSRfIp7r;qE7y}0Y$dQYz8hifyGq2aJ0rMNO_TYueG8F(#;UcKbs4sqOK+Fi&Pm?vjN8XA&bwyD)@whi@+KC*Yu3%uYkq_GHu(xlwEFJvzD_LwUj&{(u3x-%3eMK_P zMM8g_d@36_opUhkr3DT>5Twb};~mP~G}xuT4=5&ncKINbDblC$d{5}o3bjZWYDF?1 zR>aN|V`AgVu=_$w46eQjIo7>uXOO!f^{$PSc!zL9>molK^@Gw}Q0m7Eo3804^m%4# zy^h2CStatlzTS>LwMUM}Hhlv}5bx%Vc%&E7typKr?UU8af-;TCJj9cZcfP{B*M2EV z!CqVUswA?#GloMo=V|qpAs*`UHb-PR!ZQsjtQ88|4*&hL2Q|91GL5~0 zM2rxlB*hw=HN08|3r#oqBf(fB)X~3OG)rhz=ZCOmjt| zuIJdKhbor|CIk{4h(_#@bu4Q#*939Nha;-cGJ4Cu>r@kuqc_84Z0n1ez zE{|Dy);DPoWDB@`6C5)SRjlv?ObKgN_L4<&u!94eIY#h*_cvH6=L)VW%B<+cJo!v- z(sdv{7Ap(m1J{K;{hpqJK6Ef#dvQ>X5p}Cz)t&7w%`^+aGSa(ApWAve+{oj7rG$rs zF^$2?0F0^Wq5OX04Q*jhR-%!#M|jXSphn9h!a~hbspmU|xZ!3*hx0_}(Y-#$VTsBevV6596`6NhIH166pg`d)${q#DfkkGL z2>Ejxr&R{wfcYv%+%6;CJtkp7y>g#LI>d@-^SPX~B@@~92Gee+5GMKFOn0moY!?X} z11N@|cZl%#Y>XLW;s1@1{&l7Bjd`BZrO^a|3l@SMqMU3L3zUTrvQ@U6`joH5aG)DR zGmVr5dGM7SSkvb6VMji~i_-AdOeR;-|G>SAwHL?dC&7}>?XHbWl99()^XBf zIg(o~XiU8Ey*ZteM_7bU?%r$Xpu;>J?-a}uIkDvIA*9Dz1J!u^#$f!_1>oh;aLuj0 z%?sbsJbQmz_}Gj59Qm%DL9CFR8S~%X`A4p(^FJza+DuIbxR>q*V==xxIVqI)D8w-v zf(th7eFj<@M~okt4R5eW6-l17kL3 zUni_-i!z}a6W1GtNrW>kLSv2`Op_P2W_l$2@A`p<7g-CkG#2hT-YDz`yAKr05kW*7 z>=Y&z93w|PC@}yYtbr;md&>4oUvbt2FN?8kOFZ@vY>&LJj90=(6q4MpU?rX?DkkN) zuC;{9>YZRd*c|YU8j8jX6qa4du+|wc@dat$T$Ji)f4%3ZV0X|#8akFQod&a;kA&Wh zBxJo~xaSqTw{NAkvO1*A3+!Q)6IJ7&4!Jx1%n^91KsR^L@_l|P)P6>^W8^Vxth}KD z5>3gBH18vFq(p3`f|Z}6CLfm=1L3%LU6-mh=TI4IgJ;KZ_g7+ zCJf23u=s<`_z``89qHoRL8V+FO*d;*=?^>f#NJAX5h;L!Eis8YGrJwIA zlRireZ@%WfG&$(!Mzl3`;9lDcz~??nmEZ$$XCJcULqWPb|9HV${&sVPG`8*JcSjEVjt;&rHN+IlO5JHAPUb@e z8|Wpr%tNPgAglfjZ7K%uya(ko@LSp~wXP!361}zADi73TX>-=3dd*E2b7&Xtd0(0r zGY!XDC^XJ(g)%9eW(%Lu8Lp(K8C&K7Ihd31=pP8ng1*Zg&l)_kmm zX>Xa!eJd{tFGm20w}q#oUVcn)kq>1KFycfct}j^vul!A{b0L~@y<(M>=4h0DrE;z% z8Ktp3U>f2U8DttR;+adJS{RXe&<0RQPFn;KV^#>9M-1vg1Nw$bjZlR3q%V^F0amT& zni7*>q^0Qk2}YRZa_W&K>fPaXh0a{C3i~xq`h=T1W-7&SvITn$WC(f<5^#GOz>IaygGrShIhz z{&GSBjlP(H3lDOtznx)N@Uc7=?@>9TL9Sp~?-*|@kIybJtCmWoWup&gwbSbWd_4v( z7p^Ruuej$XOJOT31Dvg+GanOxw1-CgfEhU)IY41)=v{OJ!hD6D6oiZTzt1L2oP-pl zYKr!Dy1C){{14fQIaQ5Xms8RQ+zLY+yr&~Kt5!R$B)jI(;D{XMAy<&%DvD@X6U13m z_aXaSF5Su%@g&xp68E-cZw5@6=m4sYG{d7Q@@e+(SEf*1e1!uqhX6U`aWG>&YK0n3 ze89_48N4=zWou3iu#Vxyy~5?{^B=PimkIoc9*VO)+IU`3JbYb?<3`rvz8txh>r7vK z#gY&o|B~{Wzw(b2ReyAo+j#itV#YO2^=(J*wV))&!%x@ZjLmR_-pox4V*JEJFd;bo zmd{E;d4x>e)M!>hN2q>cS>s15DKgZX_L{3Zf)mV6*=1T4`^V{~mjf69AfwG$D=}Uq zp&Hh(X682R%5OaDsi*(6zR&U3EGe`74-e6PkkH!syYDtVJw}!&y(3Ep6?j3F$ZSFyn8H&Fnrx z9;{u(;w!zsYhv*e1Be0f^E-{FZxBV?*R>i?#*@)_+6NmQLO>n3M`y)wA~y;5=AEveIR;lTaPZui%q%WP!37!_>cTQ?DJ5@5K$lu1Ejc6e{V#Cxhe2h38V~C)=+;{ z)p4RVb`6l0eU~WeK@jf{?;LG}0$34OrBsN`-g;ivNAoiim;txO zu{m1;HqZ5mAtR!HUXD+3w3npv+}M9*su{kOk~zE8Z!G?Dq=_n!Y-doRQbnIhU9MX8 zg4k~C`r}+yHxp$fO-pENP`I&}<8Gq)>}l8*Ff5x|6`x;&#&$_7fDN{6?*xYP8gdiG zbSTUTe1LlY;wi}r@~%85?23BjJf@bss~VUi7LjsMK#eI@vQ`bdc91y6iUrw~S+t`z z1!-(2*B`RhJs8k@0g5Om?PemNJS`J0c;PG5iPER3yzeuwt;XOzd5p#a<5e<0;5Jtw zvDyu3JS%w!%=!R&z_uHR#bhBFqxKxJZD05=5404BcfvGun@;hEUf}Q0f%_{~?B)_4 zVx~fSM$e(D&_yF(YhM?L=*s+K+?3RmzYudY=~U9mg)kC{L9?K1Iz*857Q&nH;lBX; z<63NXtI*)KEz&8gk;L3FNrKn_JYOL=$0MT*$5haX;vg1yI z?jfppR}e!|mkOG&%ko1t4BlN}D{;!L_1^7bzrj4e%L zn}s5wFEka75LFimnW=;=zbU5;@QBVUN%8(%Fe(iVz#y z)ew9Mv>7-TF2t7{0n1>>_R?VyX6avdqo@nIxU0dZG&C8Ry5t3M_hGdVCv)v*ITkkT ziLLd3XX=5FQrWO=1d}sGZ4l8hH2}TRh`B4KN+3g_pXEOV&bMsYFQT@)K)2?$^Mqe8 zJay=m$s@CS@z9;ymwd)MY%FmAs~dTQYRtVcO8Ca-cEjRNULE42%u7#^Z|8NaB~0?R+CWp#o)D!xwtl9r%QTa?kD`H|K_W9 z^cKFgeasKWCAajc;MEPb!e&1QGLi(YmB(=r2?ncqTBg=OqS(ApS+SDb$e>Z}ceOVR zQ+=!ywNECvs_Nr3;I}MJ9-J=4^MdAJ30##zgvZ+Xwo+OrG)e-x5vFI~LJx^4WieGZ zsWkqBNfa4q-YkjFH^U<3Iw{5660BO|+I&{v;jQ*QkycQMl%Mbdv{bu*b{AY?x}@{LJKe_;(T;O@)oodA+6^@joMaz35q! zGad3qTR?NQ9N>B(?!7t(oD|k>lU^PI3y~;Nw~G)Rv>s9`F0wdz<`jWypmw<#ej_P4u(qhYoht~wU}whi+v4dW!TlMxAbj-`=tw$ zme1#|2DIxPn!DD6vlzf+OwRI_Pe7fsF|oI5Qfa^Kea5~xjH`6}Y=F`&$}!2hXG1Db zp1D0)WOcFo{e;&E|h2*I?LxhhBs)G(a|zRM4Z-4KeH!Ao>3uL!O5CwFQVUA+(pQdFa2|i-sYHfk=Ld z!8qV=wxwBVKNwf-tfluIl0&{#xBS2QS3jk>8lKc8vuUp7n2A?!{`jLRJ~J{iicA725h#R3l9`0hFS(x*%zYl< zH2H)K2ZM~-P>_z)*XkyJs<{-E zuhJ?!C7AYhjZe{h{_6qF-{04lO7_bl45GABJxs>#GVv@%!h)Fv|I_`er7Wo>xMhFN z9C*&xAQV-gJcO$X&GsRVHyBl>iX2T*W*xYNep!e;iiwxmPN&h%VPtwsF4CisHD;_; z;-?1NN<2G8VKV7 zWcbi4t?>SU7^SB2n|RGNw-X)6f4&bfH|~uCZDcQt1qk&9v5;$s?Ppkbx(_S}pU%+8 zhEoI;FYwH`;jf$r?e_8tUhB#&s=y4L>7-@yUf-_>i?1+IsE#c8i~rHXbuI8G4zo!) zAPn^Za7C-}qkvQ{eCy4O6NMF})H}t)I0kp|TWmdW>Lc1$XcNI{ZtEj{s^Q~VBX}As zRomdN86C(`zkv~caoBh5ub2zSL`_K_9v#w)d>$b+kQDMM(NG4T#ixs0k3hP%@c>K+ z)`lQV+6?UaIv*+d$QE(}ws03>H5r8~xsoa~8e#<#s69sdvV6B(!+&pehk_ecuDBBu z_3THMAF;!i$IGF2o3S7YbJ_G%?OF!NX85OpC~hBc6Gx^(rA(G9`&ek@mU6HHLqG!2 zFsvVQF;_@!zelt7>Jg4j(_fY_6;rcHymlL(1dOmCt*cbCc5eUxmLMGg3q5cG8kr)? z2nqg1LKSMVEAP$-u#q9nl5ZeUp+_FF2L1C1lN|p0QIDu8*Sd*Cxuc`HX=mQom}Gz) z4uclkY1HeDU$XsRz6h1E?t!E(P(H-NsIKf^(+VeWT~5<4&MevBvPvto_NYRGy94Y$ zqS^X?l$NUhsD|SGVbLZN9^MXvLAEFg1qu!B31XOLX&Lt6!PpoQc~-ARomlDMj4$Va zx;_Q2aw?gsj{yQw~H0qyQx-JhA7{b>_dOvsM*qA!q(efV&42P9fRt8y{` zqpz(N9)wKca!PIwewQbiY>Nb+6N^s9@Rb;kZ}H}#V6nRuB9w1$Bau7Z6)xd~~Q0Pj-ldEPtJ z$AXF%IbbIN|Ert8q*HjHd$qv13f&{+8b+jAlviM&?T*vv^J~hvq@gl-8qeBl)0<~=phqU2bkF?4|BT6Q4co*plHoNriSxm*DRsqfmH9hcFPPngX$u+410*dmV@W9m|?J^S9wbFPdo?&S$9@64=5t%$E`??f!@>wcfKwl4x8C z@?(;TdBkY9?6MY;3DxJH^iR6=o$s~F+*`Z7j?(Y)zs)W9_0O$2m=c48Jhb_L^OZ?H z?S_f|XIANRr&e;BFc0o27YqQI)ad*O_xZkKyxf`=xvX4ncxYoD`}vM0!_2FkCL7tf z1-^^*(K{B#O~d3W49+ZGLuU<0e1~4jXpe`b!O9D*cf-Trqw33@<0|LmIr&TkqD7l+ zvGLV`*(sr65!j|q%{#3N3xMKH{>Ym_|2u)p@38@X0~g>C0U*3sy5IP94$;hy3SRqi z&u=;Ok6V?)m+@)UY?tXJMF+emP6TA-mlNIPm+=6&HyNsq0F+nOHacT>*xdbCi-#jh zZ9n6;!sDNRe+AsDdV2`qNAq%8VYV$bP=%FRAfn)?v~0UPR?Ah@*zyAw2MBAoDUXK& z%vl)}@p9{0cr*hmo9(77))=Z>$i;*Zl8AKH;#)Ea(R=0%bH%9Eo75x_wKH1P z(p8V>Ozaq;zEl}#s*G;%>FP?4o0(j*iM9KaHsAce+QKU8ytmx{;TzK=d?yqBZ&d|# z$s3O0T28&8X5T$mVXM+_zK^oqil%DD@?Mo~ALRwsyqhghW# zXMC1bK5ea+p!}@exB9@A*^0!6q;?m8UZIzG(n zzG41}#wDwC@SuYQg+xw3YFw7wra;LfJh~fKDw|w}!&Xrc8y@&eq^iNJfK)a1j6ev; z8Wi)CnhKV>FAsne>J9^{&Gpc@6H*9=zfd?4QkgLzO zQp0aJgQv9*w{B%Qi~8ccG8lE*JUct_e_0r~eV!k_!`k>cL2s;jf!n5B9x4l3fk|?R z38TC!@i{8SuN1u5%h}ym=!J=d7xWdiq6?zQ8KZXh_0=%T5pgm?MBq}#XU6WM(?_l( z(^plFT?=1VR4E*i)u>bT`5NU~e{g=Y)W0yXQ778gH3%bQ3^wl#B>>58cx`~~bdt&M zaFlRMXXV)a?nWC!`QpJ1%DBgjVp_a^m1Jh`w#>%G=nrwpWIFUP=<{35-BQ?%Q#dz~ zno*JvN|wW#3#bwMz!OEQ)nu~)EvSv=(){U}#msaGXhG=vAyn%wn^#;mdWOSe6S8uj z=okapHMBs=pjsDIOm|4%(Fz_bHLdJ}uGX8G=nc$9w&5z)Pr2Xvp3EZI1uThF8n$NM zt_?=(2w}62FrG*<9-GD`^0j9zrMezgqnNi(dEvaOvW@+bTpOP-pQ6~{AM!|`0uR7< z=7eyIl>tz~-ulhN= z-g-?2{P0dAuGTm(#Hs$ba}PRhJU30yqd3idP=f+b(2OmWu=6QhxtK8$f*uI9g3fFD zhkhiIVA!T;(pvQ9anP^T=RLrKOK`kcr0(p_1*-HD-1AzC>|Jn2e5}W^nxHt76FK4z zC&i0A6d&W8@avHsDEoEmLvuUu=oS+)Ml6sonB7^Xf8mFOMA_Y$?PNUc`32_V5rg-k zL$&!QOYg7zq!>PK66vgtgaQ47;dOCPr{?~IGP8A&9fyDa*UXH|Z)+~lVmlzp`GZy7 zX&AE>#DAxLTQOAl%tQ-BH=ifM@LY6iC|TkOVt$_#MsnH_{L)3^AgCAw=tS%WbD6PH z;r&&VxQ#WMuRL-0Ip(vLM7;+0th9=5gS2oQ+2-?uW9eu`e>UNO zdXdI`?64HA!sbRK%WG^%M!e@8@)hQsUf_xr4#ay9G5Xd{(LeuFNT%G1HF-W6kW#KkneK>imr!k zhhnMa?|425A^(~xg3J9*WKQbEAvDa{A=j2_J#)Tb!xaFlz0)kwGkmuhHD7LhZ) z#Z_*yp+qNX4Xi#Bn*uJ%Mp-t{?6Sj-m1!yw1OPE=OZDa1HQP8D@BW<0aZqO`Ku%{9h3J6200MRP{8r_6+Etxl2c*Dz~0Aj!4KY!9Io5B7#og3FU zQ68f`^OtqYUtE&8_c9SSOAuwGba9y7uU8K5)1I1zT|4AVU?6%>?1&DdE>YHu7(Vt> zzXUgi#fvFWOq?it^U;>*9jfnjj9d!;cg{bWX+K!J6yt|l(y$z8eG?xf6T|#7`c&?Z z-0KD6CjP9sDj!fO^wE%lT&q?6<_>T7QnWI6Uvvd{v~6v=!l3j z90B?=$^ho;-|EM2V`r3Ezq$Pytj0~Ph!LT4HOVp94Z`P;HXu_o3T{FoN;6+(t?D`6 z)R5};)-()jkd6^A@6sZiII@&MfcpfMwzIOXlD3Vodxq>J60cdi1w@rDV!W^*;aLQ^ zd56p!#vBDlbjK2;CeXR?61m`SCK1&m!@cZPg6hns(Dyc13~n3e6ei-9N5!t!QlR|h zr!Uz5L>ywT=uOB32bKi?^E>an_~nZ~^2*6DwV)5$p16PIU;gq_uhIJj5g;@A8PWBc zZZH1Gt{rm{Q`2Z-9&+a0|IeanmK_^Hoc@uM=ZXSQ5^0{VwsD_kHQOQ^xCYc1kKaiVeJ*A>Eiyu+an7@_RC0qdo zp_^9Bi>v>N38DK;{&J2mql5IxoHjwXAuFl!!`t$xB)@)y0kD(E^_OL3+!c|o=r5bD zY5=6}O!>1OOjUIA3+E#9*x9Lizzvs^_w00&5(!M+ZKkwR6r#6}!c!s{;SKYw6Qdl< z25d9ahDDs%aG%{=;?JLaXh)D1;6$dSBf1N zifVTk?FlJNIz_nNo^xXmu|zGaTHI`q89O2$&%mzW61@&wi7z~8UL25`b8()|Vf&o7 zqC}QM&FwU&h!Z;T8TdH6$_O9Hl0?Cx$=(6B;F_pamZVubqo~Y_vkJ=6HngWB(hy>Dg<+Qp}LALlT4 z;k^wO$ij_#JVv%&d$tt*ziY|q0i2UlicJw#$&Amd9X#CSb8|{1Nq=)SQ?;a`U9zpIr#BaYSzmghfsGD4e3Q*?e(jeOJODl4!U)%yu%l8k|vP!)M(&VJS?R z4bH~PX=yB&du6V~ju7ZJJRY!c_FJw*Gk{n-9rn5>7m`<%)gaTOuww1lM?tzbwcv!w zD!f`x+7dRIEjJvEu<|}S7Q%`}W971uyLzdTkpJKt_v*difSy(b7C3;&@G-;%WiJF% z=tExymb^l&l^F4?PMyPPiyjJ@$q-90XBp>*iajfd+d(!=YG&hE1ne+SLHnXv8dsH+ zk5i+~Zd{;Qb*r8gBBW;Pm1IIXJ}6jP1%`=xOh97$Jg9PZdRdo)A&5><(?|*=B`7ZA z9ht((pf}@w@k@gx_4_fAI+*Y{X&JfprrrV9fg?YAn)7# z?SbjTPE)Zj1rd}85{la}yo_HU!E*YFQE}N|p*@Jr!F7D9TYf5&Uf@c;NSBV~LFEx# zXAI$0+~ipTHy;k>RDwwN5|VWw@-mwuUVnFtZeU^97L?NYOI7WS6i$2L?(^^Cy@T2PN(3RprnepkSo)kU1LvdY)`VfjB%< ziVM6M?d_0;c%nHbV$=ODFm^*Ji;RL$ejX}35vNn|k~NYV!bDP9cPrIKxqL zVpLksC~m0tDZP8gAxgyx%$oybqPt2Y%b#l5!CEQ53xnNDHs2I7LRP4MSL4wtyJXPNTW;y3Q<~k&9Y|#ks5&gn z(?g2rfy}fnFYqCv*3RMTOos!!Q44thWZ9#L%@CBkdz7SlfNNG~M9HV@us0k?W89?b zSv?_~zTFfQcPTPU=5kat`I4~VcUuWGY#06DS-Mnbsrn`v%5JIJiX;8@@w9}yXN$29 zyBBT_r;DS!=~PufQj2q{7Vefqz>w%70Wupw=Wx2OP7^DJ2g04?if zs$K0I#6k_G|J3G)Jp)~uelC9m*PqcN7R(`qz@0x{R|rp4Ax#EL!ErUSYpNHEoQ^&9 z{1lT+6l8RN&o`BkzQ)AD-;Ya*iJnLT2%YrAG5!t0P*VIvZ3Syb&v3ZJtg%kDQcet- zJSXD$cAn!XiYQjwfL`M^o19G0KZAK1ftC}e7&9nScIHD6>5GhqSCs^=Ks)kv9OYuj zm6Ws6>@Ykt3F%hr#p7y_n<7jEtDF^PzJwr3?hIfKTg=>Xv#8WPNmv zg=MV5qM6!d2ezko^mUBgbD+6{ru?4Bp)fB3)t=?@BaF;irFA`z@tl3sqU2fB~(@> zY4jf4RI(9HVvLxjb|aVL`IP{8u8 zCyiVUV~m>*g7Z3tf{OTt^IKJ!hHIWsMRSOeIV-AoIHzJ{$bpus3#xxXXMr|BkW?pG zLCrb)D1p8Ia#T~Q->^vdn6eM1C}nwNoMOZQ7(Ztpt>-^~Vk0G`Ux4M(!Q1tmof&JT zbouK?5cE;`t{}s^8UyBY1f$(j4R8cWZZ_1iec~7lTmBFu5Qq7Fx+GBtpAU3aGZI); zl3&(a@Wlj@Mwl^}#-P<#u#h9J6VqyU^u7B7DG*t%rMU$MjdkTrI+F72u+!~h=mL2t z-gF6M#S1+=B$^25HVTk?FvwMWah@2M4-Th0c?vgL>3Q@ZrKFwX=`~R|DTwrHd8O-D zuuDv5w8^tF_&{tkC#WQhsJ|`xQG_G|05z^e`$~CoG@*LYH_3iuHB~Ow&iRNHo;C6c z4Uto*P+okl^_%!qDV*G-TKc+#Z1O=E~(wRO|Zxg8Rte?Y(xSy0W_ z-1P-sAzW{e$Tl%suP*Ky5P^g!EK^SeYsHrktQD!-xQBG-Wq~xu;RyVB=$4J%mE-qw zp#zEHE<~4GhxF)Q8O8#NTo@bvk-CR)BSl-?96ZL*(y4PGfiI)~BvsNKObWfF{89RB zeI)_Hpryn6zmHLOhK+pwe@dVO1wcsLlLv3ZCGrZ`*J z7TD8K9T8hZvnbXR;p1DZ|_e@g-%S2mk=Y|h-LWOfm zD(>oR1G@f&4N!)Jr7;G|BnQv0l@Nq6cL?@Ps1|>DExaV$L8b!(zK2{V*{Ui^?{iT2 zAgj{$z$Lk+?un_&7b4v$%wh}z`GnV7xDs_^yOycEkc^}wn#M*L$C%o446|x-4E`|U z)FEZI@L}*y4^w8IDg;DPI)Q}O^yjU7 zq#G2DRVJ=k1Qo1ltI``jLb-2*3RRqW{b-t-zmON^nsYg#Y)4lPnM#w{2lPpy3P-kl z8ujOsNEd!oH^eDf9?S6b8dxY%3ZarNhJ{)_;7EyyeS{>B8Bli;b@xOR^WXPoSg4m% z<3!$`AqrzSLYeRJe!e5h@p`)(Fa$I|&z%{NdH0gXxP)LMACMPz1U9%aBw$H@`lz5- z2IBH!l7h#E;mFs1RqXAk#?Kii2fleg{$QFv{{z;?3lCV9sh_YR!7nHmA+ix$OfELn z*I;$9i?(2o&(IjD0Gf=&p~d}mkHBzdvtSzm?v5As-~sCq(eMx{BmsuMJez&Wj0ZMT zOae@X6IO~Pnu6t*Sb7MkhQN4dQ=nTt%qCfdifVcSbwO5CE|_>%{aXAUCLk?7z~>OgX-UfI zJ0X0}tU!3}leg~3&Rvs&i2@2|eUp{AuPCn;sMi~^_SM3YRWxx_gQI_=RqAjdIcQhN zA^F~)AeA;EM6$$K(@0V1?z(PF| ztR4K4Qt%?Z42Ua-5x{bbf2LU}L~8xQXJKxA9NUK2P|O>$uK(r#`M;Q}`p0dqYL}=W zDP9*<;cTD?$hacRuCoFaViB zMJz2@K$yC25Vren22qutCU%aeEp52LRs}utg5?Ecj8}{zG(pNuf{q?L)UF$hnPEL@ zhcHDygH2pG5sp2^$JV^<=`CkBk24%fj&qiB_6o=4WwBPMTpgEsng+*yW~8kOt(z%r1a-%o|d&`o(&~gLN4hpF~KS^ zYYs@?f=MWeV?Cl!T4jPy>Xh4W3EA ziH(@P)o!S}J8AWmt!wKTO-Ek6ZO;LSc;EKQbkK8~b0m@S8FX;0l=fSmmAwhrIcP>M z|M4p?%$Y!uD|Frqo4IyQQC8B~GyeCjrd~UWsp0GEnXbKORwQYffH~t?rbDsvcefzos54E7uVtD23HQraszbTk*NfCPa6>ALQjh+q28DiuBLv(5o`ubO$lFjesO+iKzn+7wQ!L zNHQY#ScRVt6A`lsn28nx4^d$yj&Wl{+Vcl1ZQ#s1L9OAwiwx}!)1H;o}7z(t~% zVHvbF(lHmAn5NLk8kS^3%Yf#*erNRan6{euf^zV_LggDCF4k1GDyGM(0Yu>Ww|6bu zRT7&u#rasmot=QWFl3d4Si5+99-b`cDOJPx}~?0bZ2 zpE{HBO;AweUEv^PE+IjB51=s7JmUf!rRfZVB}FQL(0p$y5JQ1?J+ky!UYVw3tgO6lJkZ`bz<%%tsXc7zO!kaK{k zSRSWD=ZUZu7@9Zqr;#5cEUie}_6oY?sQ zQJtyXjt;46tkbE1Dcih+2!Fb)qB3(ajlrXa>lB&*6f5BW$OQbAlyDak)S1*esiYjK0P=ov`SSHQqE#6en2u)3QZq7 zmZD9KC)4TZ2uVzrS^}z8j#R3eT1zPMF_Q>YHja?gLP)j8r6?gy!Pk1cNU0hQImYp$ zC1D`#n+Yo+g(RFCZ##;~88V%IJtT;g-|X;~UDlcSyEd2{$%J3b1s2x#?a$WEP{{GULG zCotrB9yxr;%;`bSMhb?Cqt)D;NP;YiNE}Gyb8GK1VY?+LWI`hIWjh%MD`tTaq@d0N zNtsG*VsISa$_ny(3c`fMWr#Q_C(Q{`x&gvU;OsosZFg3VgMC(KGxnJ}p%2fe=O%4iCUt}MlerYu>bxADFX3<@xug)8>cS^sYCJCo!tAaJ z*#$EEUSHyV4N8i-;4z6FWkCFY0&QYQTX<{v5Nc2AUWeIdy#G71|D)IhdWENA=gd=K zYG&QYDX$md5Dovx2BGKx1r>45rkC{TY~=?sjwc>gJ}h0*R@Sb!$Kr+N0~IQ-6JYda zbfKScn6Ym^G!5{(o>pSfc7j1?3fxHGZ3r+y-p+qU!iq*2MMKxzs0OtMg=6l}pi;c3 zxkPIUZPer{e+e7BbRW)>?VMmc?qt?D=6tjcA7tOz&s5=g9~De|tptf#4I|1t%h&P7 zV7ZAc9*w{%%F@XJfS72X86ZQ3!^tbG)FZIUc7M(QflPN3oowwATi&BNiE^bSp=?v| z)!aiT-wUgxgrsbo0j(YYpfg8x+$o7>c*T0dWcdJ%gmcJ~ETBoU6o^Rb9SAzOKO&6} z45GTh0u~;LN~W)=RUb}hyb|<=zD64LoG^N9M~G`~MA5Z!x*a++{2(JZtSF3}V)m9B zM&C;sS-3f61kT~9#*uSl@7BlP?SULAYB5P=#I+Ea$+to+_jIPhXOdav*`N~L(KJln z(EeE>EAvOQj+wRku+a4S-45fPe}2%B%aP)Y<7xY4V(O3G#TMzWxC&-2- zzj4*mosv{z)EZNCmL{PslgLo_uO3(!gAtFK9I>>WqS#p^%d3{~lz&yXnVOll5M3D) zE=b#LE$=QZNdTL_YJ9}{;K2Nnp83CCK+fQP$?Fwak#&v-H$EpJ|FW8Fh5s1h98r@2 zPIkx+MTw+rtTnsq-B4=g^@ARQXf#PF&$$D>dP9T=jmzR5BftzkGW;{T$G-|*Zn(;A zUNoN0cPDk;|qgRlg?F}2NA2B?}GY!;a&IEpPCg<68GP$QjFxJkP8ExhisE6?K; zG?Yknlw+%4*%TGq_d)$e^nQfJzjM)m8o{6T2_H0L-fm+S) zT@#Y2(N1DYm+Dh?q#*XE2YsQ^VDa=jl#C;509U^`rz*RMiltJ#;ig!pOrmBaaUw<76IV%v zc7cHi1|jOVZhFNKNNF-Vle`_R8kLI18Em`%>z;+#+%QPl(t(anE z(HeN_9`s6J@>W!Y3|~Y6wD#v3ZA>T!Ha~RNKYRRAL6mbvQC|BV*Q{6&*gj zg%wLD$eEzBT63WEXwK;nQ`TVcRYUm1*AB4swRhg1wv_V19@$e|`aV$0YL_W{F7hgS zcrivtIY3kKzy%YoGjIkG52HRcP?M*kS(uqvu}DYa=$ll>@$RyXyw{D!i?SEF;^0+l z5-+C56rbNNQXJ5{b_ew}~90j&vSpDejVU5|s% zF+c6-0eH`y`HvrBM$0j%SISUgLeP;=OrM4O8;Pz$LqL2o8w*t(;yY5P2*44D4XR;A$J)Zh&eQi@cx&0`4n; zT*vywx9ystZGB>d2w^U|iWtB{)GeBbeyqnzMJfcUcaMN%LOIH&)w|lyS=0q z)7zm4GSvJ^`-yTf&*9lg=&O-SW9TGQ+Pp+I(Wtst4L`dzocsm_h(ql8=AzLDvrcmv zU*mxHHd#Z(6fQ2ISeR1Inv8O`jXCfX0yAF}0$^gZg^c-Ptgw*3WT#TkaV7V>I60oX z1k^|y=JY`NnRa*12!$iH@zl>6hBt^e8Iy2My60f7LrcqWJUz}3hx=W##IGL0^WF)w zkN1hy!bRGXw28Wx`DMPDa za@#n{Di*xCoRr%2LZqkC1d~qfMGBYYj_yl{T$h=f5^RFcUZz|(-SgTVZm?9M%M`!Q zpyoV`f`S!}ky%9IVBccweCjlaKKrdkeTGLtnX7wAE(T7i?sIcy>N8kPxNBD`2ZBe`E++V=+myFR z?U>_NxjWE7q0N8gh-}-j%-8gHy;$QM26~mTdkL6H>{=IF9VV^#c9}0shRL5m6t()M z1pPqdTF2<81%cHM=6RgV@l}VDyQ~m)CSoDKZ+?>?3?yj=(9?uO55(hwV7CX@tTr$Q>t5u9$r%NMq$juQ%4QlL{(!+KflI&&9Z1?f7 z?Dx>PtH)i$W|Y8QUTOZ&#~N0$?LgY8SHhzISO8QULapyEZWsazW?;cDYBU>Y(M7(TLfvSB~N=KkEX*~|ofxye;9(zK# zQ)%7?`(k-tJ6wFs7!&ssSM)zNGtf`flUI$sq)QLS;5T>{q9a-#b&x|jG-7tJZ1fw9 za3@VWII~=ney!5Jv*&Q?8ga!-&~51%JW$txsE~uYXESvB0i!T->!2GDShd!z!L-g~6Y$`xZSWZO?vUf9>gB|cARPEo zd(hMUG_!U6te7>}VHa_GY)9#w?BlE0H1?reDN66Yo`fx(ey&yX&3;38j+B6|j7WKM z{`B?QSI<<}thVojq>Ro+&bH7Y$^}go55xyrBC8yao>zQ=3?N|FbjPd%mup=K;zLuu=&-%z&1LJ+pA zMJvWz?ne^+jME^yYMKi|l>?$=vf8Lu4UeYXL~Di&f!DYz z%6&&J-R^{1Ai~i$YtrtFQHU<7hh|s6#8yeeL=h!8a6118=7-`OOe!Ij6&}&3P*eqC zZ(6(Jn98bA=KU|J1^Pl;lXnBFD>v0~hJmgL;jPvx&wGLVRtZmLv zg(a$lzWc5FR&Jk6!K-E*qgpehidC63rI@20CX4aH9h{vMA}?cJo+s`8sI#O445yhSIN9uHS#|(F z=2E~Y7UbV$`p76}Ru$Ms&T;%0vKkm(;A>Q0!Q0t(@IhJP8=D|lx#S7nrcs;mivECGij4LagmTdBzEN?#7f%cx#z2<<0lXoGR@!Lb#2~ zYSgkfjr+uH;@=VRW@ zo0(Y$WfC}}smnNS_Dmoq)s$^1g-H0C+in`B*yiS0{>7Wevl7tp@qYdjcMrI$uLs@H zksPA8aTSUYT5)N}zc@RFi+*3JMOY`FlZ;9Ngi~#2_9XYyF*OQ(ZD#wk`QpXVUH<%; zKSic_3T|IzVhah2NR^5Oxu0b&fx0}{8{L>l zFx)(;`AAev6Zh!dMig_pbVU=sVGXv{k+0T({;V;qiAU-c$$C?kga|)G{5pb)G8}sI z)52jNU-I7h*-nA3I@<0old!Z6ZJYd!d7WNH(T;A6r?vtLox?5abKJ*wHigLAy;}%TG}}pH3So>$C!#RM7|9r8j46tg zFvggoXz8F1`l#uHz5(eHq)U)4LAnI%669N`bEj1q?e0|IqGPp6UM>7Lgu6oDWDqexXGJ*QLladtEC&5ihmlf7czvPd#L^Ok zk7yZvo{Vb+)OGo(^t&GFU+%_q9lWU&Xh0_fvh|g(#c(D7F$meltR)aZvgIU-hf$$k zZkoZS`ZQ@V7kR;jY@*L47&BVFZpgsYEII0LiJ7~A?5fmO-ZW}=gNDbG|Gs4?o4<}1 zP>4NuW&&*T51}tGS|U}#EtE~Ci*?YWpEfa)1H~+1oP*Z|2W=-R5r{p!{E%PO=At#M zsd0>#X5=&B-lvE%+UPrft(CF*o>$a+HB%r&Yu&ypYvc@{49{?l*9diWZ(wR_+95SD z;|~{0NDymJNUGRDBQjd3rQ%gQi?gG$QEGH$fT~;UPYJvK>J43E*VO?{(%suuZvhp^ zz?R99+1~gDQ!Z=&ST?d&Ks)D;1O6d#te|JvD~XUR3sW>SPH8Z)#C24s5GeI1IMu7% zz?OffhA!Nw27lxhj+ zu+9UuY@lk;qI5Tw${we6K?Ykvi{7Sn@wX-C9z)t9HqniPq`_%5V_gIZ`E65^b+;5} zSFX}gk*VJ|<$Bn-vlJ(23$c{x3C;F!THd#9NtcF->s9~Gq?}G~CXSo6Onv~PEOen$ z4gp)T<6${liK)`+e?S{0Oo6B_h1i}vr4An>aFQ8(vL z1EW!DJQXu6flv7>8|=H=UWZDluaT8I`!7+{h#+j$aKV-*QD%>Cc&`xiRzG)C_go-W zNZbP&ZO%IMwCgzbS4WGq7G0tU66}pHb**?%EHMZ=$#^YH4Gt~S#jIQhBd_&cDSRO@ z(!SoH;<|ZFQRryY$tt^MSHw%0Y2$2tQT`+u5Eu+f9*nzK8^KZ!4V0im%(o>HG_**! zCcoT6)A*yA=y!*a{y5eG$FUlVVlY(PX-E*D{kE&*pq~~RkQLPYFvPC9sB2yHKhb3( z!JlCmwlo)6$nmXWnQ*)u}?$SuXNMtg$ln zWyHkH#qjGy^?KOu)40Zh38f#U`O4zp?BDtRptoneRl1QFG+QP`y5TX6hqMC@sX(*% zSj2pE)|4u`*MiPwgBY<__)nuSf z{YhH>^l(C9WaGv=s$JCWPosXW4j;HDe|_9XYiyQLF%_cK@RO>~RbKAslvquhXGG&I z;xSeLB+}USovr`+?a3$BzIDS^-qZnTi!{7bC*JZt>w{6INqdZw25RWfz2+LuMMF#7 ziKTP8Dc75nO2uKTMT@`%XQ!-*mi+90&&FVA{u-v`-!= z`>|na0A_XPOKZtHiw;VXd{I0)SAmTF_pU1*>PuG8xL+3%HV7xJ1W=+1e!v^_2DZBb z)BKifDMr=yBBpqY&FW{`Nq_z7y4~=_4uhKOn`Xd|IrE!@=chcJ5{B%YEAJyUUTuHMpg*9O*wIQ?at>lfcV@xkVbazGDRl@ju`7+bP?n z=VmPx`_W?Mk0OSEGjuExO^2sXuT9a_X297d8$dvbL&VF;Ojzp=?3TO^|NaO8>X&ufI%Co#OOYGkmP9$p>RqU@ib* zYTmLFMwd;G)Nmj_FkT%mUN$qHTkQ<9tiCmPH4SjlI{ znbJ_eq>=ER&lueS@ldB1d5OqZd$S%F$MNc;#fcH7@fdMOoMdjk<9`yOm3mtof4%5@ zExskujnvlAM*l8^8!&=vY73H;r&`FNwX{N*ca79Ip|*t!b>%1`1JT{P@Psu@4dry! z^;yVmsWO5TNa}3eziMghO^JRnLx%XS2Sh|E!|_9VF)WI;7xs4_A}cuuX&o|sLE?so zoR^7t*uOX<`t^zb<;@R{QA;ExjF_lJiPD~M+)}lw$wSHFH!%4lMDYr-r{(4ASulWo z?k-BAP=wMHu<39yqN(F<>SLG19Yrpyh9)&61jj%oi9rOb#jAyEO98+F``*>3ds0Io zh&#ZKGm3Zeeh|aJy z+I-OU8hWspDO-<__FOXgXxfJ8YL#zd<($t=q~?Mir>UyG%3{Wo&R`CdtYl=YMCC(O zQKKXSViDoN^j3rxTpDt|%PM;{2K>C<;Kb0Pp@XJOfXbt-ddr=Qae$hXFGPg^8RGA%2BT=57A#UG2iU>3Rp1%R=81#S85#Jk;Bx4dhy3(? z2keY$`4-yt-8X;t<{wslGeQHW9D)ZEDtkOSc4b~}T<5&sV=q$b*58O}8ojfOlUAj9 zvTjQz4qi1jM<^w7>~JP8U~|%c3$L#%r^;qvKN9Ts^d%7F`7nnuMhVVgB}`WU+zN9i zh38b%uzEQ^q~IGZEZoVT8Rc5-VJHe^VP;?Gm!S|HyuF7wIPk$|2y=!?jtYI64YLo& zE$1=R(eS9{A~ko1ig#t7uT8h3jkgRpWrtmgmEbrxnq9%E(x46lg)``HLJ+TEHQ)~=+;L_Zr(X|NvTc5#~00tO{Mv4ojsKzes==xTNnhB zR`-XWh`xf8miD_4lyrlsowycAG?)t?P8;J2y6hNc)9O1s5mY|> zlaW#*?12u{)UQVYev|Q9f4?eaNuA6ZFb9xf2<8;10RsqRFMo4CzfgZFX<$PBP4`IT zHHk=IH&8BxdF)8`0QHW*=Xjp)ARb<2pfphnFXeUOH2?>5!4D-M2LCQ|C;MP=h=%SK zDSWT{it7P=;VjCCQO6=J+MR4;g%zR<8qVZ&8(xl)_9%6<(7xITXv=NbDMh$;6jQ$A z5BQCa=EBaiANd-OXn3Dx+W)|U8I1zYZb?6E$%`MyPVRuOL5790_Kty&*`8$>sy{sA zRJ$0S&4SntZIHKl$vCm`0poQ2zGUSgb`dMr%I;>T!}zBfaPFVN*L=KR!ICojf{H_ z#PD0fvQ~D3XBnK4{c;0W&=9?-U~#AvPMf1pdPMmsT`+d`T2EFxY{vi#^+8kSN2BQ# z+Z?W>(Tbw)3vjp)-~{5BnHRJQ*E6h)%1h}z=oyIZ|%KY26~yT@_f zg{sgl{#(M2h9f3gVap3z8Xig`aO#$x!JB2sNRtiRPYs>e)B2hD(0_gNe`-0PexQ^Eq0t$RsC4SP z%Saw0(S?UuF+9$J->?ILYx%uwBb^c|c+|Go5#ZWa4DMJLxmps4ud4$$zO^}m&)F8@ zc!UyFf8%6Rb_yuR;kfk8?|IFB$2a?vDBqgqo+VFwVKnHaO0nI$;^*BW41CJqchxvQ zW$q@M?gmc&Z#aLJM<1sOBrg2(#~4@*Pb6EdRhcg;yekJ8khXUf93a(#SfKA*4Ro_qyTc85z%sRVFGb z6lGzm*^dJ6et=YK>NJ<8D)dN(MTpknP>Zg{0-*rT0${_7dBBUt?ktL#2`~+k=XYE@jE(MfA^|>NcJb_5 z398QWSP4+oTBoScDP3?gcm~N)2{Hodr^6e%B{Ur?gq1P&Wg&(HBf}D(BS(9!CBLfW z+sxRNAMa^phU&u$&zGEaQmNr#?#CS$)QoBi!h(T>D=G+Lvnue;fWAA0E(@5YEg9#4 zKTCg1bmbTj*4WS(Nn5tIx>~91(6;`InauuBd(mZt76s5$!e<(d5tojedEeR^>ym1L z28U?E$Tm`uUS*!Y+%odW;v97O?30GVv>U1_=VjdC0(<^FY&(vZNREaZiSgcB>?*U5 zkZA2IxzK>pbOi<~h(F;*3H-mm$O32V^u9ok;cG@BZ|wN2<|EJALZjeSU)v)LnWVCZ zZDA$w-THSBFM~1~20rIR;8W9LESQ5WxYXXlqGRO|EA*JB17W1q7RQ!0ZJs)$;bKgJ zminHfx;+SF#vM6{yTAtR%#rfZ7%6a;K77WNKy(An_{WUNrky- z#k5*7A!!0IckJ5RqUlHnxMbnQ&z4-?v!r6D?deapZIo;?WwHYKDqNAVE46APMgy#{ zmOy2^z}oIj%f|XTiqqg83oJ) zT?Yx5vG_k-W&2O>el? zlT3AeD}@|ejNn~=kwL^evjp%O;0(n7v#GlePu!O3Fy`27l|L*zeiTk^=FcmNXBj}bxpJ`vD#rqnX5prO z9;;8cy{y|uG12msi)zuplmzNjW?^XfD~8kZ^rb>~73WN3da`;-XEBD>C!@0aqimki zc-zmO(4g#{Wohcnr_?vmd_TsIezAl;@@eBkF%ouzxm2#gYuc~y)pT56_a$K%`SVeggspO~I%sT~iwJ7j2Ay)GmBG^O-!CgMN3xV|i zNS0CBM60Y%V*&r=`%XE7#Ress!C|Gc%J&Rp9f~8{oQ0`{>9*q@HKBL?cFt&c^KF{o zstOv$w>HQ|%Ft@ucHGjikt3nfb`*u-|4d_?3zaaB_NG~N^q?;OO~zK;aZ+>r8g4== zd^U5Uf8hgtp7S%Dz2xX|xy>x!E=Lrp8)U&;;_fh|7|u!=vxQKWJ-Nm`2Xb)*eSqc$ z{p`V1+E@w|iDEiPDNKo-*$e#2v!>YLPQzXSSd8VY@&O7 z{1X*5TjBpW>XuYuS_i$&rl4))rrQ>qBI)X;#ufh_PA7Sr?_@zmf~@){;QF=@JkDf z)VFPC6d&5&es}wOa4E(_Rgz$b_Df}Ze1`sl3H`lrZaVd4+;q~=5f^_DdN6(A7ms>g zKcR3C`d`V6E$)^=cRip9!vbF@4<&mQxzCB9?PSBUsdABnp>{d6&kA$20P?3yWK8A)%iSZFV3{1+*yP9n4C+;;0KR~AwG~}8cOrpG<2&W>E#J>{INDQj52~b3#x7-qW$Vjm zQgKVXDJVKIyk6xc`fhzjP9NawZ>GoqXl$l^5%+`t9HK4k>O}Z!7xNjeuEKc}#AhJ@ zKyHB*Qp5*ZZvRN)z}w{8tJtoFo4_MNXj9>}lWSxt&39;~&TbK3tOOShlB?eJ_!KAA zic4A$8zdRhORa+Zf?;<$aApveGqUwDhit)H-hGh5z?H$sa#JHQiW13#Pl!a|R+gNJ zlhV-9U`t#JPjjw#x!8AZFn6jEas`ch#^wZ7AxDYHSs!cW$4+z@9;T8ChQXsTDdA20 zrNbHn1D@t@Os0rfGHDn6VV_PDO`ymW$EQI#tr0B-_GQTQ2z|)m&fFn<-#v^kOmp&rb zGcgz8yfgKpQVN&SS=;Oy1lLJL5pd6!$*T1hT*T}Ld*A2Y_QizIUhClBF;7vt!l&>} zd)d*kHnZ&J4bI6ubuVce4M!1x7Ol`h&}^e6xF%W&ZI98BiHh%MvQp&G zNP%{bzliX2Hk;3xP8fg?5~PB(8`-CT;l07HuvO?9@&{^xFKGYwt!(rG3EnZP`A?ax z@K^DdKgihe|MuobZ~pt6|L4f<-~m%%-z5OVddUM~liO7m{O(B1`TL&t`n^;vRZ#Gi zN>B}5C?nw_D;BrAB%GisH&=wGc{_6L)EqR60r4RUCHgHvG#spO+-b`J#d*{$7%dnx(`IA?kq$RG0#1kKn^( zxa+o3TVzW9%VxI?oWna4dYrpfp*PjnFb&3~OG75s`<*7T#t6yUb`ODG<}>SSnU7gp zk*oew{Ltfip0)14k~A%~vA(PeFTO!}_tYJuX*SJ&D9yaVqMjQ4YtyLHVwKmu+C25++K7p*{%=vp#8csNt5fTza zpb70njcr|{ES3&yQPgzx%9qG$=?0;&USBI!AOoigCgpPRrHt_wT-O zD^k9Vw7UA3$Y*csRUTT{pvrq38HPD^DP{Lb9k+^rr((3 zV+qr?)sj3E0E?#8vfDzz*S5~e2ZVt6FSbyVVfp{Mg-4#3Kkn7Ou?yM)X`gUkapHT~}`IlV5sp@6LTqMH091SuB z@$f1p4jz@qD!w7jv=V-)yJbdbV^TD>6#SvlZyBNi_RzFuFTP?S^-s<3eEf*{G&PuJ ztt`#}|1g^@HN!+RU%wooe6C`|+U5|>Vp#-%hF{q=`{=$U9rq~K2yQ7f$mw@&k<|`6 z65)s$s#_y-Ha>v|V=IA;SDLjNUmIN|RU%nM0H)(mGN0h_0GPJ5U#4A_HsIK6+E#*h zY#p68)<|d_9~seq-7g%eJ5md&12ykmFUo@*Xr&wYWyTYIH3L^;CYo=ptIc32hHuk+ z2*&o@@$REu;r8R=UDeB{hk|w(qNtVM_=-k#>-)7f&rcIG{>nk_!sI{5e+vTsCzWwI zgT=fWMe+5m8VR4O{81EU?heVd?IRU$Y4_XfcHc>cM&`1)aT_BVnwKs>UdiuO9y7J{See!pXlfhdE6mQ4 z!`?{+nq&-*;vg2O#SxZUC5Kc8of@q|9vlK0uLG9XY1cQq)(;&IPo$9N%0thm+9g-X zrmb9eMv?U)46|AmXKed)bhN{fDcU_L$Tm!7uPlIp-FP3b#t3QNS&J{G`u5WgfAeM> z@B|E)Ap6g4g6|J(V81i)qxbXQmN!rJ8R@Ea& z==wZN^hyZx4#H#-TD23EC%nV}64EiYBO`WH_Ki>$9BfjLpr=tDZiGud?wAU@@6$`` zgjBEd?`h*p$I4IFOZb6egCI@9Y*g$~6wcqtW{S*=e)_VDy?G$Tr712}UHz z;7L$wh)DF#Y6J;l06mybv-i=K=+lK#VqAXhEdC=es>1nNlwr3LI0x((13!$8Gk3Xs z1&DfChs|Czg76|(6tImuM{Ds&fNG|d^Y##+89O`86w*3*#-^_p#1P97HyXM3`ZBVa z%+-sJKAILoEIE-uEZs~FiysAH`TXKj2HHDp$m^GnK;4bqbp2dB(98y>2HZll303pK z0Xot@-9ZRf1dBL<%xPa#)g`IHlHM#&w+WA^X?3(x^#VW}C7T_6+1a7rQAr|?^a4G5 zNbx+?)uny@>ZI7+bQ?P&cSBbKWAp>AcrGDl>ru$ScV;*Mv`wgou$#Bqu+(lf{`cTV z@Z@2O#ZdfDB7EHi&ggvx)nclCgw~i(8qbc-b8e*{DlBEEtE4s^#*Bpg3NF`KB@5r;MtBcFG!6wdneN$F2SYZf=X zFnz1s>t7Y16-DG<**8ETvZQI%UZ+A5G;FM}QpdVxi}Bl4la776Zy09m{HL^DDE`#b zfM@qhfBFB9S9*^g6ZIRfRc`bOpM+*x)k5@qg*CJHqE7XNx(w9cOt(Vp@7mdc0XG=$1S3 znM#HM0*he0`%)CJfA(+x=cq6Yo~_Kk{adJEY7yUooj7^@!?l0U0~l0@I}!$OflOIFJSk@`Lzy)=7FvJ>+Qc&Vl|Q<$ zDxfBTee=<)O&@vd82&3?<+u^1MCTV~-^7l<4@kCk7Y zu~#^!xuQ+Oj1d`36%guwek3pd{0rP5GmP0X2l1}&wG=Z?>-r8nm+w+bTRL*1tfYJ_ zMJJ&Bs;4 zR4N;|0vR7y4Oe*8c(+N`u=V(gCDa-p$99_#V#TDRN99&2-Z5+fDmmam=D#1s`fcjAj7%0KyB{htsumcdbTFuMI*Jg z>_%(P-jPU@2(WBCJ)F~=vtCfoaZDK;N(K0N*lNSlQ>M7=c4^dML}*0Bt#6~h%1Bgg z)jAU~Cl0LewQAX;9no&tYBmV9Y=6Xo4@0VG$1VgCU8RVHjaS39Ix^7Vb(gXDRP5$~ zSa&+EjZ%k!x*69BtlHyMJlw^LtTC_(}iVH1Ce$zw#9+*)TG#wz+OWyo%uTJW!Lz1a!uQflK z+L0k;YvgRqZOK;E81#5g%#P_ffFUfBvsCs}W$bBJx;t^^)%K!#{Z; zcdv(c`b3YVrfK^}XT&u41~Ymy+EQjVf;ivsu8H+06%>kzEPTYF6o*}YjXeN-<>zQS zrn%~OhJhX0D{HMxd{zCKLyP^2g>UZaqJIl#r1e1(Hc8^0Epuk;jiwLCVWzs~dAA_2 z3*TaW)FuE(v=~TC`}dMFikAM$Zo5*Q5nAmeEtOO4dK|S@P32`%OOtc~OY;uuW6P}V zo?5q4u^L7%mE#zA@(aGc+jcdcZMuuQgXhJFzm)^BI8O*N%Jb@#UDNo<*F~& zSMd)=%wiq=9=z5~N9;YPJk9Z_fyesG@{|5b_TD*YNwr1|6TYI%MFN!F$qaR{s7rZJ zysD0nZ|*j3AxB%a#?OzB-tQD~y;grBQ){a0?5WCE-Qu8AD^BqZR#ZKKmb&HWe(w{p z>QB%1pIG`&W9sofY;E&XV;7P&GppM89X{8{(Z)>X4=&W zKHs}uc4i8|Ml$>dCJi*t%oSO?92NK4yXn3_MSg z%rGxO2{^`&J-`nC`uuinJN7GIvJdV{`0E>>^kJ(`53hH*CI*Dp-4iDbuF?d&SK!a^ z#}aJNqx(dJ4u`5&2+$-DrX<)k{3IC!TdD%8Q9kWUlH&7GaRj!*U-`K5RG6dMLp(8RJrxe4bI5X~m*3t5#wen$r@wazRhg-orf{#=A|n{$pA@S%VMSpaC>Wy7pJ1lyd1<=N@TJob&$t4 z{`eBw(GD8iRCKV3;o8t`|H5>P^}l@<&5{HN;w?~LVKx%WJSvPACYV%s&qkvxzlkB@ zfKWqEzj0apJl93GGV~tb$ey<;=(oPiQ@(*U->x{`jUzH-EgrT?#SVA$E{ixnPguQ3>gBQ zYq~feKGjnKk;2qm8eqCM!5bOUl13a4NQYwukk3{z7i zj2mTY6P}T#MZeW-qYj9y{&PE)8nJp&!%xE$M6>3M%Eig?BrzUqg`Oh}6i6X3X13&H zU{KcJX^Cl)D?x|-X>(Z7ao{E>h>>c}fCmAOg?eescs)9251D@8bJa)jp?7SP{Mj?( zvR5A8cz%z0(mr8b=ReI%+7?p-Awe-%+uMf%9+2gQS-+>-Kx0AFL1~1V;h*)l$pm=-k(~CMFkbyC+dfLRrwYL zjIBU?rTbBA4H^>i5b2<5LuKkZ z);^%~l-ZPe3i1e|LZOjJ!LESU{Z*|Anp}Q1T`15Vsifh`+pdQb_QOCZfEJ#+6k0+d zo{FbQjc_D44-r}s4{G@&wOhxoU!->T1Q^h&oVLbe0k5Ff{SyIdd~rIirsJPgd9g*s z`7Q5xkpQqfY$ur^KiAxJo<5RLGBZc7sHC5Q$+b6JumT;sGuJrBmF^aE1z}aS?aOLw zG_e^u6)6qR+r6}{-1If>QL~!Zi;suF?bR6f@8G72)4(gFuj{Z6#Oo4|=kCzIbl;y#2(BZ{w1rZ?fLRY!jOvmx1?@Oxf;M=o}WED#~S~ONns>S_;=&>F32cdo~|N9BWj-ix( z+T{~{51jLH@u@mX0fq0D7+M1r&GR)ZAS((ZWa$mGYvpJ7xa1|wQe!{mR-A#Ayx|%I zD!2`^ZF#$OK*~@zyoMHrrhcFQYU95#YQiwOpT5NOtMTs|IsfGDx-ayjxF*_G?W)T! zne?{%J<*;mM{_WiP^?D!j2D&;pQ~|wm@|M2w@4kG$p#) z^!?wBa>8b;v-{x9aY%5FD0)_2oE6DtG}=MWr2afzR|unP1SRjTi>PxKfOL+GA}>8d zO=?MO8eG;r$+WJxDyR{uOeD#ZdAqtFPQV|;tz>Q!$p?KE=K%85zj*~{Kn-t%08h}Y zq%-$M}7{M?Z0zTMeG@s9_h>1Hn^N~JhUQ@41H;*}^FaMz`t zl^XZ(eMCK!KMNC7H-E;?t13VwZ+_n3Q)xnSKWlJB2NC~=jqN<+H4WuAx|Pqp${6BP zn)FOKMo5PAD($6sOb29j7L+FMY3*|X*{!Pcg<3*hV|gy-BYe`Nf4i_i33tiC1q4z) zH9UeaS2E6+&{<(DJ>U@atG~7`1rJ7$%TMg~X1mZgeDP^|_+D`D!-y@6+)d07e9eDs z_h_jMP_%CGdG9#_iQ(>5H{3Xa9xqxx&tAD8+HA@iAGf_(({IO;tGmvXVN}UW6I~vL zku_dq04&Tvfpz4lZc=a4QoG&{9c{MSkVJu#1z=if2CbbNkbSk|vVaTV6CD z;i(pXycI|jLZwp-o!$zi2t2N8v-1wG%AdAA?GNeiI3V|O#aV_GXjql9a;Lv0%6yR# zRrWZz;!irxQ|3oxgky>oJ)m5t@EHA-UPO?L(bqB*>cPB3r+2`FTBL4|DwaSf018Ig zB7H+j2o!=@+HW7O{4BUQCi&Y~xucdN^g(1W=iiEOt_|W_B3@A@=0)I$dS4!31r@d; ztd7Pi)>imV^{Ryt*s!mRn>w|TVK>e252khj#kAY!qW+i_Og>*$F!{qbZz5wr`v8MW zvokzm)`g?lT(R*00RTZhznE0r6cE-RLI$UX(FV6zWg5lu0abhe4~@*AS2s!3T#E!u zeC>sjLydko2-n$9tIfj(1T1a!*jDqO90ua6&P80Bf?i{64kZVooIS39rs>0qiZCLV z=gjh)iW-dj$ezwkG-!ePoiMDYd`6NCzJr>h*ap}|0#vinND#Mz=pb&5C`~A9wr2SjrHwR=GixRC zXv)hbPOf$z-B|0$nGJ7%EB6kTJ7BTY1TT;RJ?f;lix#K+ehhf3xlwA>KlqBJ+1+%$ z%Da6f`fsprr$!_J{lbvH)Cbl9*&rL%$r6zqJ*TY~#k^t22&Ra7$l)(s+rMH$1&&+F zR_!(_IJ(7O{YSMCn2PfAN4TCAggUp?Hv7g7Aa)~oF~2!Fw6+un!IGRdo+i+c>&A9d ztAkEms+gCx`#)#zA|H}c{=&R}wp*|XT31dd3?XKH)>#ZdWTe9^$N z`74~wzi>X#23XtPg*gZotxWV!Ftd-DGK$w!xUJS7M699M@PM* zSV)NLm|S9qnspI87!=)#AC0i}&9DIe8(+T zn#Ow&h-Z`VKRy@aR!KWFvy6BHDZjo**BE8^0V$0d zOQJG@Hk2C`DKh306;tiid8O%}t_DP{v|R_?*W9&D_Z1Q;i$%hZSjM^+murjQHz#;; ze+KH9qF4m&p=>_zbTtV8Rh`Zq%ivN>OmwstP-6VgY8aHG+}R@a%+yUmXN5Y}upzijtJf`4TmBr_^0V2;0n!eh^9EQyET6h`0hCVyR5~pBbL!guqp)TUV z2l2-%3yNLY9Zp9I5?}1)g^FkE_`rEo0uy9W;e%gd`SnR-Cu1Pj;{SjYTN=Ej5!L%{~tuLm0VIcR$ra!Ua#O+APh8r`zIY z6i@#jpEQ+BEUrPv#zF!z1+`4>@U9fmar;Ih#9Rj&wh=G}*yqsUG`dd{v zpX34;71}EXBCYYUNU^evU9I=6)e`pXsXqTd+L$CQ_QD`D4gTq|rgktT0I0ZG-GmxE z$nJ+(x92kWTCK~2TDhzkj%}T3N&zlfHuTmAnb}% z5d&Z48(PQ0(i*i^S638eHnz}4O&YBkp_15R9_HE&AyYRfTvhSXS!aoe0nqzC?O__6 z79mx(c8vOn(V{w8T;x8?*8r?5|4wK7f8IxOTh+6nU;j+C>CSb7keKsfh<6QB22x-m zU(Fa|vI^YY zu&mgn1|_$d*oCcFr}pnQ;>P}z1qLsylS0V>q?kuZ9M`q?%RmrUW*lRzgt`S#>f}WZ zQ25$$31V2BT9oyuKEZ7XWMW-VHC|6s)A44fnY`MF;q;hCaowyu0i>dujU z2YtITd|^?8abKokGe$^b1_c{fWiyINBcRY&^AXeGx!yJL-0>YG5!8XN1LM2-j>M@_ z!YduvA5T%*M$3s6$Z)PWR59~N}iUyOT!ny7cwMkjF16C1ofVc+<26a1ZBhJF9 zn2A)VzSvo$GyBoW+_7=lLe}y~$vn~Ra$$V}$-%a6V|l>r7UoosqB!`g&rm}@)_;YO zj+U?urAx1WS)N)C52!JiHqwqDbSl+d`?0;&5XCxR2{=Z)*^0e3`NFGuQzm5oFB35D zR%Yd=mS(JrbnxBUm>2{aRAd5v>=H+EG^v3qN7TIG*8A?o6r*NJkM@nwXsgT-$ZcBT z2G!_Nz15|J%_Z9&Zn7`;?R4ZP&HNufId9JpA9bvNU@#5V!L0=fx+=#8Cvu!fEaZoG z7#l3lqOAcZ7u!h`kd3Wjs#tefRjLEDwY2Es*UgKq$zD{+j{bfU-)$nWj>GqeuaIQc zKy}}991F69Ij(i@A)I^M7Tn`JLtJVHVe*DnYin!3D47$2k30;tz*cJqwvan}vO~l! zom8H^M}pix{ndG+7IVIhqQZn?Lm3>}4;n2gc!G&GBgTdbmU2FQXAT}s%P8cUu|}(Z zh5%KlXv36HOp+a#^)3Kl=T_W3clsL)KeWk~n~qNx{&(={9gk}KkG64NCAr#_78bp2 zeT;>)HmtGzsYTK-9w%K5b7+|~#l^8|rhP%s$b!&^zftr!P3ZeHUeo9ZM!a!A?G1yp$aX z*%)N@P?&FE86+>IGfD0X>8KK_Qt^DXv11{~gqRuN2p+FhE`lKG~WDfybgi51dpvY}hm$MuY*Ln}*Lhw>0^y-?K>d<9L~h z2E&K$(Cne?p=dQ%c~#?!%K6++rCRexFT_gaU6(aaUNXQTwH{QjvWQi)0JEh~iXDO> zSVz+f^*OU=l4W)6kgvG~3ltfn=tP^ckJ;4#LMJq^X#{b~8tJubMPZ`LyrhJ!Z^V*YG@{fSAe@<*)ib6mLHKcDkBlSd1)h9a?y zZlwZ*OuAx!ohe#b2)s=sRSRxl?y0oF`4(S|C4VI(_Eh_l=e$n)p1?O;EW&!$yNMM~ zG1FTNposb0xSZny;+-O*F67?jGsxfzwVX<@K}TcsaA2xHf}=8@9VFIc77B?LNJ3Zw z*}FsAOsOyK@@r7f;DN0ZciUyFr8ydpjQl$9DcM`**9ZLQ7`Sb-GGoM&6m z45#>>0PXw8Od8RZ;Q^WhbDh;R6PYusFmhQIWtdpfen5lKNo1ds)M2{BU|>^y#E(Y7 zjS^oBdRb>^2zVTY`?pf(GP>_#U~Ts{FC!|2XtLF?sHkzcn3eE|j|5tF7mp-vfNV1? z7bcrmbj{Q{ns?lpyxI_D<x9>6(m<+N`$ck zqusD|swCXFfyR1hkm{Mi+(CK2h9kV%laEE6@Z$yoCG8+_Eq$JYfE9O~27NE3foXWB zin}NoKv}oW4K68M-DW-e=QX3gyJu+{%~%7>{PiTXVM?S66EDkR7-gLqNX`HUnKlK^ z1W1NUvyZ)tQI4?T(xkuRk{~;$b~_(FwD^H(_F89vA0Nnf>}kx(JwLj0ddG(=eTzpc z?Tfhn?HGvNnTtx{64h+oFCCh^QQT|{06zNIw|ncO(OLUI?2BPQqS4?5YjL!TS3A<-x}rKN+G2|eru4z6 zDm2f3=;Ee>$}dfZ_0naaY#dH`TFakrwg`*4f;7xNLZVe|VZN`euf>5iCFP5(b7^kTDWTLsH4LQjR zIS#J^ZFhX9>E!#3teEB^W8@N_KV9{q{oW|?SRUCrs5TZ`&)b|rhNY{x!N?X`@ZZHA zjV*1RRcIZYi9#cR90(%3tM+bzswn4Fp0cv}2{{XzQQXH4Zwfsx7MsH(`4nDtAqZ|& z^j3TgIuM?5S#K~-1BY+-XD@tMDQ#sfM%AS&%xr_?z~5VV|?L9cC_xU z0~l5}UXHmg#zj`LUFKDp^F0Z8$zVlT;*m47yqxXKCE)*kX<|VehK&~yMHr!iou(H2 z?kOW0=WxjF9_h{7(hNTng;YnpEf1<#hn*8N+{iz(Hn4;qlr=Q$GASRWIEWHXn{`z& zl5|L-TfUiE&g=-7llNUpuGzclQal-fx7u?WZgY97Anm^<=mJ)Nj0fUy9maIY ztTAweRtMG?g@|{I-mK7!;sn2{17Bj^jstL8f2vq(lkBBvk>U%@GN0_w!WP@%kOM4q z5b;qE^;ixn@PA?C%ds&E>&$D4XvMTnN%Vs@iH<57PYcwMH=(-S0Ei{GpE~ybB%s&%P zyNr1Sq%Z&t@{PomwBB6(lk>&ld(boge+Yl4{PUKi9j6HI}|tf z@{Q>`x8-&T5lQ1$NSOeh`48}ob|Rv9AEjT%0wOk*Og2ZAZpu!U<169cNU#$kDk70Q z^_o(KK~HmBz(N@~vw!2%{KxH5>+r zB7VngOmyb5t*mxV+eN?Yd30Z`UHcb21m$48)X?A2(LjNTF2uV>6uZ>Vxs483I9Z(( zWUQEWHTC^ujqpP&KE138j-gRrj5H#aIE3)~YL8b`_X9xR^@jKPcuD;$h!Lh-p$g~*W( zzQqmQZLs2XU)_KXCe&;q6|n^)AiDi13RdG4{Z*%#8=oM~Le@yT6_~;>0Nr{Gn0)fz zlM!3XpjWL+{ZCgp0JW{tU{}F(*jd}D4v;duxLnrwUmxXjkm9%9>}q<|zT`?bU1J7+ zlwWzNS@S*LnmgSBF9ry{Ae|Jz7!+fnr`;6P4IT)-PvjI_Dk}^BSWycDhIqgM~2HpJdqn;QnK?wS<;svWzPtt6JQ!c|>t&nw1oFRSN^+qWTD_^W`| z8%*M=P)r&O9nSk>%smfBG$BB!XnIP!@)!4vsXq9$i>W{x)6p2P39~F)Cd=%iu?os% z%DDFMEz-WCo#M6nbEfr0Cl(F|R)@uk*axTLfOiTM+3E-gW zGPlG#pG^Zz$`i9(thOujVACdco^2^|Y}h93vxfYwnAmGOxT(5DIa%zN=8Rz-{dkVi z%E+wp+VYw6wcOvfIG*^pjAOY9C|7n>_ON9Q*P=HfTWEHNQw+3Lp9mU-HVZ^FOZe8* zcSOsXcUxM>ZL}22#HL?mk~qQH*2AL<%Gehia#(A=3(;QHN!d$#Azo2Gh4T}PkX#Ul z@8Q~QIq&`8shLT8#>ao$P^{wNQ8>}{_7SdX;h@;KRqKt4IeOTqetxKy6jVV{F{(1~($!LupV_HxqJ)LNZ zDuvNI=k5_~xha5-NFSKd=AWx*0%rB6z_NJTAo@9H~acK%|b+2K}r+l{xE&uYRzo_jv*AU-Cy zIUjN;58-f3td<-=@`nZ%XG^U0h=^*Pf<0At;uM}_XKW=ZoU(_Bgr`^5kiYYmsRtgv zsM2M*9Qpi%H-9&^wOv@#{Dw3<9QZ=qtg}!}#yFR^78=p^-uaCSuPN|#kh>8o@>*e1|b3dZ=C z;FHLRd;U-x&0NJ#?^SH$+YIEGfY*Vo1{nnP(c0=mMYo9&Y$N^wJ&>^yd@D?@bRJfxLPivYz9(@ZDQtn;UW)-aaaHJ~O(zzn#jxJ4Ve0D0 zfx%f-*ySv6NJ8lYw0}r;6kfcI4n1{X6Kxs_{`{a0w8`SGoD`e zbf#q`)WPNUobq6lHhf;cX{Pu?j{Tg0nS}Mo?Ib(cq~qhJI@Ycce+#TV5(C=evAHDz ztm3i?s-nx|NPaj%`kIEd*>80h+aBJlp#tSrvGNS4mWa>2E&~RvL zer{-~@2UO(Y)=h=r#nP@$!q$#(scQi7@KV*)}czSs?y!Jk?@#Z{|8qyf!`l~{?8xZ zJt=(fJ*u(jo|lz5~1+6@%){4H1ea z8ZOwA3InIa;iSlW+(DinA?N>#9n~-CCNaN?Wt}VAwArP!Q;TFP&ATGlS|FXvz~E>2 zIxw!PhL&TT*7XN(D&4Pwc@LQsh#VX)x|M5jCu(MnJPSYH>0I8jFYiuPm@D3;c4LKA zWEzF9tqjrzMyKJK9_T0b@QpdvjBR06f#Qyct;p%p=SwEw2_x;o)e#{bjlZctM+l@0 zAs!4)I1aB_o)k4&Su$z-AeOjNww}F1%pLtVPL{Ts9Qd4K&`*Z3xE<;@5k)IBv^}jC zrs&fLu#W&8esh)I)E+XA@}=^?S_N6g|Ehok(0P5cFT~k*>wB2GR;p?+q0?1)q)VRT z5{Z?+@Ss_o0#z8gthHbaw8N}Dar2VFa(F)ZNmvT^95e}Ji1JXFM<=Ts@?a?}(cKyq zTUm-h8kTz1DKIO3G2@zA;2i*lpxLK215J>>W-a~_3nLlQWk+DCg+fT30XTxWOE5t3 zL7W#P3_aGrxi9DWlrmp}&42smG}|Wzs6h__+z!myA2xgb265txLm=*e45^7k(<6Jx zH0~JrF81S*X(}fd9p(t0?XmOLCs|Y|PV=?lyGV!kkS77iPzdEVe(q`hUqO zegbFJ1mLo*ec}5aa*U?jl!V-!tjWxYx3U3`pu@8KP|7Bm_%nOECafd5-0GEE?oVo;7DjX51bk zl`8u>xpmK_IIv72m16xvuC434Y(*glexx29gVRYVnk4c*-g}Eynp7o9PlhV(iBmiedK0eaq|{_lyv*U%4Z`Y{aGNM@sy%LVz}k{3%Q1#qt5!5iL|uuw>{)m%BGs z+x~Xt++q5$_;r2>*l;?2{WTHz;W4}ub;~u(+##13WSdbh9gm)iu_P;gW(z~wlxJce zxYy3Vu&GQ|Bs7+LL!xj4G$*lVDE0@RDiRnz6N~fkY3IaOa8jbX_$@;dm@z^LJ7m+$ z%5ZvE+Y=VH@D#Haf|vj9pn=uvzwbtZ^0Kq=iF zQdlK{BK(M^`i?f&wY|z0kAYfS{xVFY`L~Z; z77wttbe^2JPL>y_26qwmi8j~K-izR0^hQmUVCVc+wN!b1f1*tD7ER=v{o&+T;*oBy zBLnD$9>*=mR!ICVKsI=k>vp7YC>Y0T?Lik7jM#~P2B*!cNd0AWp>ZY>4L$rC!ox=9 zJK5#VQak$jSR6U@8*lCu2*L{Vf)!E>bk8^Z*i5;F+{O4-p`$GD#Fobazu`{1O+)I$ z87<$_<;^`M)VkQG(ZZPFr9X8{FuX`J-TIaz)$CX;&%&`P$quxe9Q5qQeYvQf-VOd_ z7@5Wu^8^>s;V@J(l)*xbW01nUpwWJ9xKquBzYdq$QOi5yCW1**iCTw;b-u(<-i=5Wf18Kz67p+}rY2`nuf4UOID==l6-CTgF~Fse27w}UV5V%? zd6?tj=3&cRNK}rP18ua^@xt<41rI%}W-N~?s0`*$`Gh@#IjFdPrisV0y+fs#RC_*p znS&X7k3m8D#@Up!&2W@GPEtCv;y8c}WK*pHrLWLoWjtxjYi2Q@`n|`-O#ipwM)}rr z$Y}kAeIbPAGyyxBM@%p(w;fIV*T5}CIB_IxZ@nu4_DUxv;3`+?sf4-!#|!;Ao0r!5 z*#o8t95(lOu1m-|kyh4v?EUjxi>+7}b|bc6GDaY0SqmBL1FbrI;F0@h_p%K%YT=cA zAwu)g4KJ%24F6!rqA^%bT$C@)5&n$5cD(LVgj9$@8NPwFMfV)-OAFO`RNAfQBF6TY zk*61}UX1+pk^DsxFt(wRqaZBlEaQ~oZNZ9QoWuVRVV7-*g+NHGOXs;~>EB}Ej)U{O zGQ1<$VQ->F8H`|uIG1L34-3lL*4RGWij4|?F0JldjLlV+z28*yu9IY+0ksD}`_PSY zqdnzqjM55i<(6C<&bd8vbiFqF@N4%p4mscRaVv6;vNVY4uwcv8xi%1CFj=S~n~H-R z^ct^X<{T}@7hUwj$x-5y&k_13@JdLx7S6G=b#9LcF;%I)IVua`O@UI+6EBkoypxjK zCx#D16iwzl#P0mCj;)otR+OLhDok3YwVOJo%1n=&a)(7r!wt^JYvud`ssZoH>(0+3 zhKQoD+^=ov--JJ&I|?yZ_CMkW?~IjFFTZDQ1Y=pTk z(Dcm*mng{ct*p_6Sj2YoOjc%mh3}Dqx|CziN*@G)uObCMezG3Hw=x*Hmi)f*#3H^C z5?6w28WYh*z@@@_lSrkEo?NVKhY%W?O5>E(rFCgz6_uj1HOee){^E}udf1UOB17A~ zn@4!Qu1Ef~g74K#mx>B^qg2qezFWUFx=Pc}vtDS5L#p-wNhP!kyU6cnQ6EwqX1;L2 zSNK#bW2gh(i$l67`Q9g@yB*$ELs_KsB(bw#hQQXiLf~VG0~+ojt7V*s`J=B&Vp$J# zjZip{kyYBd#Z#(Wg~V1!t2>VzGg35ErMMq{Gt`acb8*<*A!ru znV3;^OSk=|wX4mN2AJH{Zh4<{7+TEne81>6b`Pqwa>j=Fn4JhSXVof9G^9~Z`Kz9e z$Vp`p4xmNhx8buvU-A;=sK~46Qlx<@A&g`ylD#UJ-b{CeOM0nPNR$%0I@$N8xeL_UF}>hYP+$xL+VnA+*82!&-it_PWVl4WAocz zchBHDrs}aibX zk!aM;-Y0>EA2nR1AVuTGxH8by&-%%mn1B*Xt6LcL<%IOv=A#Y@;lH zvjZC`b&9<#HbG)!*tHs8jWekP=^x(ww|#hQfhd-#lCo@6)9tW#&W$}^zZX{(XNtQL_X+e|He5fz;?8`HQ6h3*U-r0*Db zh?`0K6~vTPQ28kzT+9*MNHS)wtUW~0eqez7LjL@cmf`1rDteM_#x z`Z0T20pUxQXun)Txm{ZXZKr7-WtelFzFZNjqL&^Q$$bhxvXEF?!|0E;A*i^#SH$|- zrGqh-Zhs9vA-shc#CU;Cq}qCeFGRN`0=9AkSO9fFA8CbEWR;1c?!25ES11 z#J&gPp&6o(64%AxoHIDPkq!y+TezeHqPaA9AN5)ST6TKfZ>}MAi|5(g)15KveuD4> z2CIuWZhTsg@mBT6ae)eX=RRAwJ`Z2ilcm-f@hU%I{QvqXOHlA+0LABR&{Y}r^M zgR~W6FA8)eNRuR8-6L!yBmnfFwI~E!D2ppg3;^PIWzKSXUxKa}x3Nu@tva>`8AZS% znftG-ExSJQ0sW0ui_o_S+>Qx}sBYI7EC_SaH#LsW8&?3)Q!`^(@(`26O(+uoDo#|Z zlwnc`)hApoV3JuqV>*pPm$_}X|)VQ^*tnxF(ZDe8V-n}oy2W;p8Nx&0J zSOo@`yDG^Tyj}5A8loFBZ(A$Ti%Td-x$G_XCBO5moIg3^28sOjFHv)06X)=MwSln; zxf?eJ4UDwa86A0W)2z6ypUV%TY-DyR`_=rs8qGj^1CI!5AVk@P!FRi$JD0>LLKI9@ z^B?aA6;9)i8m!cXuI zr(FfrgRoV(R5G_$gJ`E-BcbuziHlo|9n-`Q{LqrA1rlo{|L(;Q5?2;BfJ#*z)@8pP zl;`Rx8O7QNwW#?9f8gcM{db6{5VI(RlKR68i)%LeC=4z&U{v&ng0=1}T9LX}BALBh zsKMRPuDJNcuOI>J40%)o&BH}6=~WqEDgOwmm|4O7z;=6CeEKQ z5Jc8r8Or?eI?Z+n;&%2w$UZct2e3#K-|MV1{5|;wsbU{c**EGIFgvtKOyDbi=WFI}hlCr>^-7H>0I7V{DG(6+!D$@UX_gG?BajM6=;O;IuSfj(< z-+!WxaZ|UAGYCN!HKsWTngMAEG6&J&=pcHSacI%!lI8_u)VOd4bMUqjW8#r1^;k>B zU_-3f^PtQs&-8X|-ny{Kf4R4Yq_^NIUoEfSYSJ;?%7=6?Y=75w3`XPe05`(7-D4%!-G`edzu!Lws4O~zgm zhRWBfKq&jliTAJa;=b2JT-D$jYKcfzvewEy)n66)5W}Zl&$)g<3Kt3V>A|*H*fNaYiB1)2m4<$=C;5I~(Xi~9{ zUrbb{@@eAMiOTSGrG}~LSwF-lm9(1f`@U)a&?NrcN-wUq@lzX65tWutoLO0hIEH_k zh?Z*%W#bueQSGq^lAr)?>VnF&WYm?pgGKTQ9*hJ0IFQ4rwYgx~LnN)fX-3!TgAM7Cwr2nb7VgwCrOx@rXHLZny|SHvla3RO@$ zo-Nn|9bOUFFMYo&?9qaO?eXjb5iZMpG=gpPgl+L%-m5JMa}m*+2$rl09T?8n7KUl= zu;V2uyGtPIPY$z^0N9#=mhvJ^M$su&5GsGY!7;qR|8?@?1O5vsL_rCrM)P$|BG4g1 zt{n*zvTTId`HyM?2iBqrsaF`)&H8E+2Uz!7C=lq)e?hANDdNcIQW8Fg49ZD@0e)W^ zTn2YFpLI8eC&d?Q_43Byq0TyhL8{~r@+0cLn{S(~drw4|30-s#XtVurz=iBL{1bW) zyhjyew8oFmj(>vMlQPzEv75?A4Nh{vPjDNz^M2?7*7#?+ZgnYc<`~r(FBqc~$!!j{=W73%3CTeE7aR__@jzG7GE(CMBye zSsmKdNNAB^$sN6vTLwf!DIT_71FqSv`6eeYrZe01bXfahZobR#_Av4&AJBy7{)nmJ zi@f!`JR6%fB#_5*jh5_TSnzV9*mts9$D~z>+&I=X3Mo(>e;1P$LaeLY^{OB>#r4B% zpUQztR0{it?tvr3p(Ms}ewcpZ1x@<-(w!74P zE@f-JjCiT)79+1FEWf>cf0^wdIr= zX|PsYm2fm+E?@Px7iO5G?mJ^_IIYI>JB7 zL!#GpDo#^$B!g?_2y|Zwuf$~!-y;%nV*Yw?~tB)01D-%kywez>~IB)%}5vLw$=cJsM0Du>gjkF}uk)ndh zIinOB1|xwC>(to+#reJc^=MqUrq_y{^2ZjRgij~(X04#t_MY~1-hqfSjUpF!_K6xo z67CadRcivC^(TfN5eu-1{5{0B$Bs%Iu=^2$g)`3{DjD2x-NzHVx%zf;salqdwu<2s zw!^l0e0E71P9{uo`}MF8Db)Q>Kz)n2ARTQ1m^K2)jF(o0QJ)`bdyA- zP}oZCq!CR9zLDCQvPmOV96bYg;Trz{tFU$n2^UM;kO3VLOQq8aql00&7HOPu{kfrj zu5zY~iF5?c)2C5SS>QC0$}nM;#0_VGVsB&_%RL(ktSuz$T)@5_QoQ3#>zJ622#u@V zFe->U1?bk()_v|pI9aw)Uy;3-o#y+KWOqg^EW>Qnxe0!3^*90}1lgyq4N}f|hxRd} zFt(AL26)&F7rL?ZzEw61iF6P9WVe>a;7Zf8x~utu5&W#Sg#B2Ot6Xf4=Zot@83`q zroN{r08;&%5r~@9-$TDLfK{CGXA_4H8ASF`vbgW?K+`wh#!{Bc6M$ge()a?49VHicdPTWNfV&?H z%bo1QIQ$n&Rcm_ktY%nSjQa_W#HK<68i58gU2ob{KG8v9Xti+T5g~~#loDR8mv`?g zjz;uiJmL+Jq^+PRUm%0T;`<=Lou;h!zE30UMoWXFa$>P!RPq(TI#JQdP~n0D2PALF zCRc^d$1;d-F1n}=6!KTOgARxPuyN!AxbwU8ERWFEvjZm~c5Ncm_z;DE=Bt)E(xm0)cZNrTH_9wyOKGAF& zhqhC2rRGrVUXs*}GJ@M@Tryo66?h;GsafCk(jzd27er0OwW2bL=Oq8mu(XQeTRu@A zpKafC)dn~Y+%-1K~x^)PCV+ya_~PXwk_LL=)@&C>9EKKeqC!Gq-f=P|LyYsUZNV zXe7V@H~KWvFm^;;kYu`w5RW5)3aG?+FWc?I&_e?ae0g_l9kr@qER5HxD;Ev}_7y?c z`7UKvL;pgeFf*V3dgeVBs50;?KtT$kwitbksD@tCA*ah^4D{T!z*pxT9jxz~I<>B> zIx~69uQ;4_1j}P1%BCKIoF+nJ-U_re;2?RH%I{izMU{M(pr|hoVz+N?{WCw9wNxip z`k>(sw|GWLz%lp6v*-!Y_u;qS^}UR%n-npkiahYr><5>XY)FAzShi(- zS?BQ_2Gs3(j$|lIQ51!S@jj_-_ybzrdfY3&?g>?gvd3fPA3JwB1>W&-$GmZlhvE2D z*+@nifOMc5J4)s7Lx}E(S1Q{aKwf%UA;`y6aPqV=v-!40d-pC?& zyn4pRWI+tHn(%rX&;Z7MK?7gv&q4`zbGAMm*x>)C6qqwy)Ojkt7&)j8jD!7ixxyPD z3YM;*-kuxC6C-*K`=?Xi>IM{da9wuLMRef~vTb09#`p3L(_(EHP0iEF8H1r%Z0jd0 z%1V6!?uzx>%V25sXfp%zVT3<6&z=@JWoTQ5yOjH01_rb|<~!W&UsV9%_aVYhu>>B- zhM9pWZFUJrB3>E+xGH&PSXQn4&PNV)HH&wX?fNyMlZ47KVi3mH;Ax*-aOcx4 zWODUM`Ogp119h#`lh{pR`)(nKY5rJwq%}$^)2$Nmw^?za2{jOx{qgvow{jG`vF~Nb zFkkuC2CP*6%IV{?cI<8930=sHI4>V-O{F8R=ja6&|E+C}<)xr>M&j|Ukxk8l<6`WV z4M>Bk$!NzF<-4xO>9m;j8OzGIKpWCDi$`c1Y>R-8d}+$A<4gd-@@QUbb5rj%XQ}?Mk`lfi^F5o3jD~hTcQ{EtKs5KY`IE&0ahkc z&CFq6Lg(&9OqVXpD_ZdpVgDzIZQ#W=~C7?AgyUS6o z!_vXId+rUXEnOK%B&Ha*Chtgxv0dcYOq}P5;11tG&P`5IkGt~LrTJztNCTtL&QyRh2`{G0#)3m`V> zfRkld-h#My!i_O!h07A#YOp-D(XjdHWYnu6vscq6@TcIkhcW?MEM1WyjIrI@Q;G*y8R`;rq+SbFePeZDP)FfM>A6ew_MPiB+Y9uajzYTqj=oF! zU3Ez8$=No~)s~A@GdBoVNid2ltWZXq&%6K3PC2?^>|{FjyybniVW`a$YdpFL(wAog z!(l|>z-vp?;I}fTA^#uzEGsX5jsQ8UAYFa;S}>!B_EB=;bIpVUuk})I;T?#`rUz{} zy_v4vaC6tmBo?0|f}n`75_OlPg9CZCl&+Ppp<}gB4D2pLI6!4&4KmS^?;5Z9P(xY) zLKYRn*DDGQ_QGEbij=Vvvt5}l;TH*HH0nO$4Qo|-%;A!E#Uty+4cSP~68aW==L}&vJDKLI1 zJ+4o=W?zKu7FeWsGAj~&Pf_p1gr|_&$O2~fM+-8?_G!)P^S9qilI6Haf)hU<=Kg}CiAs9`Osf_0euAnyP!B@)#3R9507sJ4nLw+%B# zRu^jQJg&VO??{b`CtyR(AKm$At@nf}RWVs|td+mFwnjlBp4RB03>G_L-J)HhtbGo9 zHA%6uDI05CecUxhEQOTnx_2O?!}|)}7IfsnE|HM@ge7v9#cc4|LKAeHagO(0!mIqA z)+k$fxJqvjELIp9#tZX~9o8Q6U(rtf*9xgm=C>e}IB!@wo0{X&&(-#3fH%FS&gkcN zUrdRs(zm%4Syh(j<9Fvl2)kMy1^I)hqpZ}yN)CZBOf$jbqLeYTI!-NR4!C$&JOMmh zNO5nBO+g(-E$b)nyq-UgU%3vNcYXYnZu~#JvN_iA9)UC{*4ywW&*Ec&#JLZ;BY5rpJEj=26cCsmmsxISSqus_!0=^FrhpV?Y@V1mB??MEB3Mqc5IQsom|G6 zh|suD+tT*M?`?m%7WAHjsWJ9jyg%~l$P9fWmrFbM+H8f4T+&0VLW>fY>Mft(^}q0U zvh7U{F8%1y;2d&58vI#>&`NVsS|K+yeWP+JS$xmE>;5flCdsjaMZSm7p6us7HevUr z$3y`vrJ)Ej!1!=Z)dqP)+-(IGmoTq-yr3Y=ew0ILq;VgAFp8dY1}Eul-)bibChlT%*tluod3?) zT}dp6ZE3~`(@>hfGPRp4v#06XHtKAB)}bZ*`|bDcGnL(euDyY$@o)?USQ{Fvs&tkm zEk?QT`v~#)J=y?IRJ%%|9Z_2a3D3;(J3H9Jy#p(pkzHz~uL$y3sO>Itg%aNv^OO_s zUgldsVUJopJ67kvOWxH*<2>kSpfpnhJh^k6%(jTi6W-~JlbxG%-LvmlPno`t#rVjQ z3iXb0!m!Use4?QJ4l|LeA7F2Z8mzDc@2svcAP z3Vd7*EZ!hfDNo_3EKdZGH3?{14d(pnuk{pM6y_0cfJ7TbTzJFO4X%+=U~XU^k9a>m z)8{lbNmv8k?XBKg8lZS25j+}VxWyiORu8*HfHloDoz-0xFPwP*&^X(}kd?+(Dwx9sMlb`fg5(|U235CGu-{onfzQfZ zn<0}I2Uux4ryIb4qLR-+jo628B@yz~S3s758&|W#p6g$H>Xc%fmlC6vFo^trz3kQ3 zLjMKjvMm^#_+dp^OdMq`1BLXWwiP<1>q`dn$M>L>%~au1#w!37C6$8#M){OjYxT0A zVXlL4M^u#*)uAMqAJw|Sdf@qEHG1{2JkJ;mOJv_2paV|U4&d|jD?zX4ZU75Fm3Z3^ z#Hk!%s<2W-31yY$$ao+avk_@=vGsFfCe&)+{Hl~GDNeHcuRkP*gF0jo?tOe=u8!H9 z4!7A_!dyZsa_sM>tIqTA_yVbxSxcQa!c4y(z$oGVtSbK&hq7!XQk|%gRo^pXTITwq zfR?GE?t_d#XdrPYSny@afDZ}EyQhb1<|6uh^2{%umvbJM@KMH8k8%EkH&gvREuB$3 z#P)1n3KP6xzxBQ}8Hs372fO*KqHK&P=e;|k-Q!Ft`ew8Z+%40EGN;2`?JljJ&doxv z{!0pu{OTqIPDRMsA_w2DSA-$sP8I$XWt;@_)qfn}cwxr;YT6dZHAn}w+=sV$-=KsP zm}9qd?k&{tJCP=+A_fZB$O2A^M#CoLfPZ7i4~GTWTX%GeNbJ%c(U?QGAp^e|BX61O zq8@b}XZEBR8!af69s3L<9nlUffIoXyIMsSrPp+YsqwB58lv%qhl&;UE(+1l!C|}Lc zgC`Pk+UxZFn-A^uYRb+-acU%%gVkfn#XPu&Y2qxbwH@(a&p-RldTqYDW{XI-@}F26 z+u%-~5euELbo|49Vc>JudJe+Wy$8uqRUnWC5h+MmTW7BCis4-De3gAX2}lN=HIeiR zSbz{rp}BFat&~^Av zc;fa@kuu-bsYL7-ph$fC1!PVIC7)Rth5XZ!D7g7BCNh*Ej(aq; zTIJqzH{Nd7^A*b-&)u{Y-U~5ERmyrq7(`|J9KnMz0G;t%W)xu(5(89pS0j9^1E>(1 za-t)RLA}C%cQ^jCUj*3{fN+lS$dbeq!5Wb?d6oIE#p9QOJ}c_kpD6a$6p<>P<2X*R zB0i{KMw6It?nD(hM*IN;32=L*>QE%1!alMC2Owsh9Z|!KO)g(y&9E*@h)_hi&mJV3 z{jMEJL}*y%m!aDKm>UqkoO~!J`%LBI6rU~f)jvoP-wVFDJ%a&dpzvRH6xa7go>rNI z60)8GM0`dPvC<3Y;HTYmKotQEpz7Xz62ms0QR1|m^kaR@U-_rPbx%}i9jW-_c>&&?YlPz)j%Zih26snj!8BrZ==%5AR1o|X30UlzGv^XTexjy_R1l&a^l;?N-l_!RD=5kyN;lJup zhddIY|Kz^Tq)1ZEL#dJ=H4LY!0^Hw4IY)78II9;AV%SV$1{xaiL34hXd#OWi2-?@{YO7 zZ;ZQ%fDFy}mVYJ~8cL*rScy173@w1c+#o>_ZYSW7$L+d*HYApl{pUOu zz=y#YPj+>iNfkB3E1{Bjb7Hk43I$@3o|q!XJ{o1E55!uib)_&fvTkbhOXMLXd>d)p zun?^taU%P$LeYL0^IBGB(4#2tie|UaB&s34^#)7is1V+Jm=FSlWO;MGTjU^k8Ky)-i1q;gx6 zbHuo|=YUe{Hb{u0_ybG3gWi&bIeRCAZz_(mxiSTZwiU!+P-+Dx5f1g0%L@QxqUJ3s zsX3pmvvjlvKdDj}J37jTb9L4f@-*&5ldTNSR#2L-_1Hi$rY{Two>23ac?^vrJ?EDR=EnZaj%*^%czYp%R(3ts|L5-29ND(i?8|x`hb2eevsxl4*0u2k4(wls$h>AR8b513NeM;& zCT1m1rjsL{OIL5X1!rDP4p||g%;((PqPk=vf5RU*=_jrNd7MuAK`8MM*Vi6B4iA}D zn{V_qbH$WtktL?JHzug+s|T=w8>f6p`E z@IPE}8)p@SZX+)1m#nFp`F~^jo@URM$#N6L@akApd%K0fJQh+<{)3xyP0b>fu6t!Q zL5J$FREue;k&)@hj46&xS9j6dG<0}Qor3Y0>K6Mcr;;NP%Q)v*9mm*aNrVx3Fh*2= zd-&om1L!1A&U|e_P7(*q366#rAzzcF!hIbXd_qkHug0}?Ab3NwhL!9)DLtWXP>wvB zxn{<|PtXsF45c~{YLAJlPKmxg&vDKHRyQ~-UM7Rr!DR2N{=Fyg+=(D;1&}3R9|{At zr*9$nKe|A3gteeTX5UgtzKXHL5a!`0Dp-{c2e^J5%Fby!)PM`WrzjM7Y~!p0?dbfB z2TOff2Ak3QCHb*O&^pGS30~AWS6Ha(%>VS>-sT-u5MsIK2AR2n`=y^ z%p$^BeQ0pZ+fiu$yAyY?MZkc0r}A@)PJgZDo1qQl@oW7=M9UKm#(&|XL3U?JL3ZI@ zKOX8^w}n}m3jOS03ogESw&;xm1bpW0d{xGMtEFdy{jvvtwvJk_-H?^lX1`hXnhQ{N zd#3M;jXKYz8AmI|X4s%VQj;iee(k zK=WPcr=)Wu0h)&?bqM&UwNqtV^pH7)p|0Blgxx9jE6}-6(*M&!M1Y6?MI><4C6JOr zRf05K@j~oJEXi(aHHUPO)r`2g*mrh7i;O5p02D zR@4$YRs(`Vp~XqQ$8B01N6zJYh)1DZn~(B?v2K+8&d)kRG;h+6cJ&jOLX1I=ufc3S z*L5#x?jxOtab=lJk_)4M5+rhh;#Vfn7+K)h^9-OtFkVT9R5kL}s-JlfEOZbsAAya% zsvN_v#Z>?FF=+iP1z5WvcPkEd;~!oU=qtXJkKFo3BH)mV(N90>ukxc1xx}SRl9m$H zC^boZj8qNKp&T6u{UK@^w^~*3z9dZgf!8TFJrh*y)=HQIaraQA<;smYxfWjU<;|1b zs;LKgz=m_RiDBD%kZAXi(!?Ak&p#Alub78y(2(d#ojFZ46l3_7B7KZxoqTL42ki|X z4^srpx+rG*gkhwU%79=@tJNm6nxd-eeLowY)2gfKkV#q)1d5u0dqrR0(l*unnxE#y?cgJk%4n4g zbR=LXE<7~^`N;)!sHmb)B9Vr+9%z!Alj0-qW|~|pnnm&RKSuB3nA+3zL0IoT+qI^y zvoeqvR2pykS)N7ZKwg>7!i?>vkiSbUBIBFf;2`-zzA_tKFMOP(i>;J7Z5$(z8g6d2 z{#Fn6m3=?Yu+2 zeoqELTj-40eN))}qA}&PnXPc36EV@}=+aV@y=Jku3sU1~RO@h#IDZ;?#xhjrh=REz zF%wIiy*AC0!d-F=CRg4vRtL+Plb&>)df`FkQ3BzeE28JCA%B}5*Cf4VQ2yLP4!==t zOQW~V=Qb$VC^B&H6wYOnqjXk{VKTY+dPe{)A_&1FNU%uCQ|>L>;+WW`Ii2=(;+}?z z&ad@}oz)6XX5Px}%yIAc_L>xC2}so31e8qNN|wIn_>%3ljVDVmr08zz5$(2qvpr!y z(PiQNMxW>!{D0DuQfEHr{mW$7^19RZ>%^4TV85U0-B4>|_{cXSDGux+0sxCwvlFYv z4+;T9G?*`J%Qdd}gm0VFoGI^y5Wo?ytNgEJbC*!rO)uAq=V^fOpER#fVA7{Vlu*0B zM!+Q!;2ckAF*)E3s6!6O*WaS@42*>19z4ZGhS~jRsxKn|AG%uZF z$WuK_b863YP%X=IYr3`VXOC0!j$f}U{Z_cLL{;+xi^q!8!;;n0GAcl@;s$D9(WZZM zviQocj2S%Z&0DmTxD-|y2pdH+tmC+lXO9Bd;^1dJ3AUqKX}G$&-7oIf&!VBFkZUUg zQ(joS7I^o2Y&${ACLORRTI0bsMNS(xoZ)cW@?zJmayS{vAKR}!g6kMKbLzfzQtVk1 zmM-?~3O={09~Y4fZz8(2-u!u#B(3aOUSf*bNtt6Z-QpM}cc(3RZ}Xw52C$(NQJvfDs~%I9GU8I}TJw_q3fi!WG8F+-=x`k8 zNuMjxm`)lF@W)-=Soy%vY8q2}fiM4pVWwwV{Ru_^AMEFC>_-foUPR)k$hSWVDCk@L z_}3JC$y#n}`F*BvPcwXH1lx3z1uarmeYGFE(Du>RN6`XiOXDrR{X$=|SoMeaFuZpZ zq`6UN{~YNck@)nmQ%-B>xme8mn-B5XxdI1}S?U}#n_?nH_@Kp(B6qmsR_&6)cx? zHlkvk;L%Ek>j8&`015{RXv;2_sV!j!vP?OoBAHAXw~7cRN3}^iU?x_qPh#Iry}X&i z+`Y1+Ki-hV>h=o~w417S#Xt0lHrlDLY77o&PTUlfJ#L&S*fys*w{KCU46kS9Z-g8a zWgJETyiJ(iwWZqK+LWdnwPqkSy3^lQb+%16Yk@#jpVnxa>z=ORO#-~NThGXWp%>4i z9#g3fuv>SfH#W&J#8kMc6oH?1DU+ZvnH0m*L9qaf>(mhY<-H`(b$XW;H!D&{cgfco zf4$5oi?$Y`*Gzy?@8WJmt9okt6q7P4Q`y2iGs@H#Z68+?L``Ic^oW=50br)d9zZJu z9k_GyZw5_kUc>fehJPOBwr(vS){3~ie^K`(#Y<H!~WYlO)QyXklc0u2)meW&oEj@jrN7 z9Rjkg>i00%e`!}+u2Z$jg3P+TM^$SKX{PFmR_x?-jYk+|Unlc8Bob&+rp?N7shm;_ zb@Us2lP9`AMhfe!jQu5)#8}fwe2&;gTJoxERqt*!Sifl*0x_TJOE3X*WI#YM3jXDmjaR`C{*?iuYF}L95fEe1qUIMd4Q>I&ae1}< zq{7OdetGS_E)5K0Z#yt$PGYlS?YCSmGL-5YQcC z?Cq^23RU02Kr7*&lu5}2bc}{JHl;Y)3mWVv`J7dS_WrwPW{nneM=yPVk|2t)SIB5- z^|lQ{X?U!UU&;eICUSUjAe`GyK_^CGO*9iOwgU!m0rC=-i|MNUjS17MZES=?c5a>V zk-VcOS}ud3*6d4uJM)r{M*1a2ui^J|%BMj?Kf4v({3kB2?c?%+@r7DN`MfBS$`9EFh*0DagP1TVI7&s0PHZ~|CqyoJA0pmUbd7C3?mH9c3I=RRUw;OpQ zDpYb(B0npTFH3~UhHMFz=Q1U0GPb0se)funk4Zu&3OZ2)$e=08f+&tfA~Vh7_cpIE z1PB^~;RjB}tn4*CA1H{X&9`-w#b|98W)~oRdea`del$gaX21}6HzGl6Gb~rOx}}L-VofuG3t4OO zVYiL|gdqXv`0Gp!X2`_#>}vu0M_I01W2wzg3Z0`?)6 zG^!0Pp<6916O6H{1%%2f`9zj`;0)JQ^|?5%oGSYx5p79)^^4+Dugq##jCe&7d>xG& zMReNU+Gkh)*sHX(f}L?TaWi0Cl2EbDbwT)Wt^cb7Q|(AYCBhIdye`I9^HUQ>v|U^G zo{SLE+CmURi*=q40>X(l1Kb61-uXtppe_JG=-)qNKoEOW(^p#=nys$}cLTfmw)K%~ z(Ch+mjtOqKby9jYp>UT#TbGnvl8^MLyWi-pfro?JMYSapgwUa~`3`HP-WA@iwJN$# zDurdmAIhMag6Fxh4m*%L2)0ve597YlCmxl{sY%)~TcNZIO1VY@v>ED6L7L zE#V_+L_sQjWRPJm`Y%R@JQ@WVUW@tz3s<_$4p2DN@Z6)??S`eMDW`JoblV5`ssNKT zY0>yBjd@=bh&D$O>6PXi4^-@dtHX$i?Xne7v33rNJl8T;YdBk?llnXxBeB)zD|$_T zIoI@7&8?*a^;3MT7VKxkE$2)j;l?+khJM! zz?HeJ-qZ-9%DNTAKZHBbTin*iKAgIeg%sQqohUq?Py^`RvZ?AEY%UfGz3jIqQh$4F zUZ!K_L!-W7k9F-5AM6%P4%a|+j2x*3I$ZB?wdn4c>4xF0SGv8-WDi`LvUoM7Czak# z9cEtU{mamszO^;xHey9D0H{3e!R{92rOH!bQNmkG=q%72FfC2WdBExSXQ)!??o-d8ICfyEhNAhoHA=l`C=N03v)eO}x9iOA7RhspK{BoIN;!U3r z)9BuxpaFb&rpN3rZMlZDLDVF#`IWC_zqA@CmsEtZfu>tUWg^gzg5;)__qzMS_Fc5A zc}A-Vws!xFyF5*80a+bMQ7%>4Ylj0L(6l@gXSD3pG={bbGmmv`SAsaSE!Qiat9#`h z{tcCCw_lBIKVt)ha8Mpy2i;2{qFb~E7@1m}b0^2pokW9^smhr^ad9BMT5P2YUMrW| zcf4akBpYn`)|$ZWtfza#>!ymcW65PbSKOoj!KZ1kw|aoq>uXs9ZDRI7@fOME z^2)>%ZC#6w2;q<;%#f`vmJML<0i*=$QyZi**6O-cYef~KGIL(9QfONm4$vY4G5NweE- zqq=`VFkxNgnZ|2TIXYp+gXBt8uWZYOtC}YP?w# zB?>WDO)|%93%Co*a*g)ROt0bBebqXijSkh7+{uj&bUfi>t5fwX*CmbGzhJ8VwmNdi zPl%E7m19;++B9EA>b`QNouXCaX#j9LecyL;zTnnq+otzO7xXN?-UFIpaDcB_D7IIY zUnVqeX?owG5Rz>>$z< z13Xpm%^~bv&8^WwOCQIIR`u#jrtf$eOu}Z^S_8{b7zaUA#zewiQ6+%2Gbg=VFf?lP zU58l57TNY_ftb731O5BJ6BBH*?EH|7t04Igp6jhcagc`}k=?0bZ)>GLrU5tM!2F@b zaAAM$@M~A4h$@HB2ozF;r=a*uqdcP1IMfYPqn&`kqLP~O6T}%66JIpbvR29F9|k+c zwt;1w-l4&18M0d}^I!25d~?c9=h@VL=;P1V>96ZdpOyf4jxv?R)*9AaGSW~6VqXhD z4zL!MaBSEpEZfY%?UZ?!?M@w@-Bu_rr(vJbdgYj-t=GyPYB#)!8nWxBtn$Kilp=Cn z?5jUtUatlYGfRwub%Y>$&749(;y5FGG!jQ&@R?qXR9ey$svdj?6`@$Cb9i*5%Q7_h zh}Kuu5I|0(dWhsGuX8IGKu_Q0DyNQE)I{CrFNTMjNl;(|9!Fh&~q1SP2~@$P>FXgUkMFa!! zbcmvLmf$=z5 z<>+X~&ARSvELhTzE?Zt32nB(L!fNjUHPUd~*Yy4hkz6H6XlRVCX`>ZE%S^Q=X2C%g z=t1u=$NO;vf>BJlb`CepyGO84E|k^uIY$FB;DM~pQuKWW`;T@hEPRr2RC+e? z%dz_*g9}^HG32L@Gq~vpjM|1djA8wZUDKv0TV*)n#~OMDmAIvX1C^DC!?iBnahH|$ zrgPAgRt|$Am}_THES9?yC_1@Un46}B=lqm>fltfiOR z$jRjlE%&~%sH@sC$~9iN3OhiPiNSI08SxLdF6W^e7)`Pf=SShX`x#blV<*Dj7K>Y( zutVeFTh6O?@Pw`-svyl_tR2o~F6F0rnsm%nYIZm|93J~zsq;e?Y(a9WUT~{F&MNP) zS;ZhVtSv-^P;2WSmzO}KW_fJc)hqf6(?hd0qoGPa21K!~uRR-JqhilSA8lHpJ%a_W zo_aiD0l=!a1<;Cht3vxY(6*XjSJ=GZBpRg?WH;wlzDY%tz~{M3UE!B^9#tXH0^}dO zs7jd5mV<5c96TQ&y|v@rENK~=huhBVxL<5lV8go^#LT^66y`7;+&UpFTy-}?eb5b; zkMeB$DT$0f-xUz#rv|w5KU|Xas|@>(hG{zQp$ESkye&AL)!@G8i?fdMVS^Zlp`(U5kjA_4G(@j3JzAh;*<9gOg#W6y_$607 z@OPIxGt_`DZ-Q$0)U%&5c_1&o`gkd-`FySJ}9 zP)E;$WA|MZC3492GMy=I;f`azM1aSVuOvwm5pus8b3Xg6AFuJ&K^#7bL~@jw;bMo2%c4d3aio+h_!S{TwEH`sB*2DO_N!cEX1VNY+OL^ z92M-q3*%wZ>6`UBm@R?XoK>lhV;@hv79__JOYT}Sn%SG(G5fg=Wg<;woz+gztnLXu zi#e3@dDV(E__||gT$8K;0Mm{Nq;-^cfelxy8@6QVH7COX=c?z_)u5*Cq5+7^bC|aP z9omtxZNsq`Lc4+(=IR{=tJe_VY=`s~U)^5R$H`LCNMQ!*0zm$sgDHNAefjf$+K&60 z6u(N4Ae(Qx-SfSz3F5{+fNuHrSGO+z8l`gek-c0FcAr`(`FRh=QEAOau~5}54bWKZ zt68i3dee-C)pS^RHDWQ>g7wE22Aj*lhzV^C&6nzmt+1%V!>&8cZf~o`Cd3em)4|WD zpsizGca7)^7F&@QrSX*OS&4q$fE@KFhvfL2OB&Z80Xvgc{w#H(EN6G1R6UR%qtVbh zNQRHnUko;`D4nCdvNK=6zxjnL?|jKneQgdr?+XW1c-6A5G@3O23|{97@0vNoqk4^Q z;S-%!nS^gBEemm;cfZf<*HIPnwtiL+aH^w$#9kg@F`U>a!ev8v;LTaL6@m1D<73Rf zxy}eIPAXL$x!3VBBQIH96+n-`nv~vfz8i{GAiCn=-(ae$BZ)jw_BK*ow12J^>}BO} zjCzHw>ZKhlX}kr~abZ(_t*fsttafhdRrjVYE%{~Ovs;rMTaj$O`f`j8=AzQRSD#E_ z*k;!2upT?J#!7A>elTBSoV!4ZAV6^oNWr+@pS1!J9|W;Y{95o}DpILwt>=*XV3-|- zFpZw*o^Tw#qqa=E;l_tM^__^;K;Yl+2ED!U||h2iwXZ zk0@I)C=**<;k?gAYU4T*TY(~AKI2Ae$1>A9&wg+y8q}R+OlJT48vSOe(AIqY@*QNu zHuZ2E!MzQXrJUA)nEz|uU%{f)3f%byy{0AycS)aSU#aydv_nH>A0vM}4`kIn%=&HJR{pc*Lm0noXDF-C z&>R#3!Gre_6bz?tWIHq&KTu8W2qUZph3eA~=a4c~)~fEk{T4l2^iaD381~(}qT#(q z9OGD<@V4dTzc8h~PIZZIT%li0c1@I@&R7ndIKq zK?LUWtjX`R>gscscXV*F+T;}qNm!!?Pu zbg6e~y(TS)wwiSunHHNz?d6@s)_>C#^1!jt$EzG3P4L@(mx(iqz!I?Rs%y83qQ%hG zESQO9#=)?8;hK$jIES9`F};v2Q4Le<+@}4OLL`%cZ3>*AI_{N4nu8rjOqzKgQvDp zTd03R0=&)ZpcHlizKZ1Sqz%3T*obUzS1hbOZEvN$r*&b0K8d82q~}v{VSG+<-deOd zW&_K_BX5|c2iRz;K_(8RXZ4}J`h9guaX*~XGQ%HgO!udYdr`JJ-id1E zb*?-(F6WmfsL_Ocz!$ib!zI_K=F5s>^=ZMacpmTkh8Qpuv9CLc^9HgIgi0&%` z4+=qvwjQlI@PU=7#V^dH&j)!SE|~HR=3RkTX>e$fMm`CZ98rYBX(tc|+rq`s&umFF zaA>E_xr6W8PIXjHn1kW5mEm_T5mC}p_rmDdDu|^Gr!g0>Jv)+HO`D?lU;ku7jj4N( zE0kTsd#EsX9~#Y6j(Iw;g~4KWY-O-UNiK8G6@$hwcps40j;&dJSjj~1$4NmyIdlBX~D3)eC|3Tm46m< z>bb1^6mf+}06z}K_%wRtn>Ac7HzZ`RrkuAm$?6)#6S=(T`ZeMKz z^Jk>8JfTP&LVo%rtL*_J5Njfm?h-s7`)RhAaMpNJ{sl&pLN!~nlU53KN$vgRchCRm zYCx_E#2u~owU}+r^`9MiR%q7Y6({ZNmf@oquN+@=cS-@>n?L6h$D{9LTk4&2F?QO} zX-6zBuQ+4<*zk97dTO#?CLod1qTU!cf~YItw04qZ!~W#{MgpdpXAs&qPg-JY6P?O< z*q4oJQ#7h|^K#pIMLIe%5uJ{6FsUDNt{)=B{hdZPkz zxpxi@E%#P;fZY$*Wt)<`mOtJz)!~h}CWmkehJf2*T?z1@N!= zNQhHxf@cK$wgY<%p_Y*?F!wt=eFZw_=pq1`$TfzEy^xADggE@S6*N5ha{x~=7N`ty zlw$yQ{<|5TtUJHG!kj>Re5o^w@Y`l}_irnJhJQ7$br70GX&em294fkVT*LRB^RFJb zg{&5VKCu9TU2zPmwFbwEm!BJEulvVmVHwe0b1&CXrry1Pkv)axXMX`ngFMsMjN35z zd%~&<1!~FNR%9!N_4ou>fu$D264}cKhz}v}q-(R9ESv#<4%0vvJad;aIpC#rs2~1# zG-Ga2alC!pdmKH2P{o7kB!wIxaXD7mR$sOzE|#dyaF4-Sp{|vtRAI z?7VG%=r{IVZqDVXVAt$i&&(gjT;sObhu#7?`WWcusMc!I2OEk*0Ss-bx_qc(Xt2~7 zt_R;_be`bjUl|5rhF8J7L=zv6h~o1F2rotE@#nnkH%ctSv%+jSbnD2DfFNPB(}B_7 zJ{A^Mh1Xur)~@iN8~oYZ&)7cy`0n@1eHNc#TKQEe@z*PaAst}X|J>Ur@cWa04Zlj~ z<sS>4N1#!A zHV#Uom?TwcSSW2Wr=0@#Z*6)Grb^hp8>#62t?EhCyz-6Sy#xq6`?s6S?3*+&&CXs@ z?@tC6*g=$*spa{ZEn%dDjs2XN}ioKuQ=Kb$8C?tf5`QUzRMV~g{Q)x$%*@slNk~?y^GKnz#>n6P zi0r=}N-ZS&mRD{VM+_lB^s_CUas{j@eJfx8@w1K0I&>&W5y=BKCSsT$0>ztlc7sL%=Db~AD|8)YE^)A!ACwr zvB&OB4HPiKCDB9ITPJBm(BeQw!Ge8w=x%`kx!h(vetiZVKmxUp!!mrX0w>G3oEz7> zEN606viGRFjEhh=Nq8sQ(k!7}KOY(2Ffe+>wifnloY}{R`{i~I@o(X9J9nABp6cZiGY_#x=i<%?{ebXlr z!L6ejHe}a(ZvHhvG62<}!gv+LgIywzF!9w#YR9qQX_kl} zg)wC?GgIZVP0{+O4EuM(MgIr~{r9VjZk!)+1=8b^_u&teSsm3!qnu5Ot^9cyw>Z$NjB$m~xL9s;AV>PYY$tnId`vuI*8*%A zem=2MMWQw0m?tC9VWT@nv>pqF`2KnqPh4lbAT ziG}FGDb_bL8+1*WiY=vqv!5k>%v8o|1X2@34KL;X{$;Yb=wbwa)5n3S#C;HwKtH0t zwTTM<;A5nKOO7S7qJ!l<%LfiDIjIumy?OQQf4dU?I~cUR_q`IjM)!ZwcKh_}s-{Bn zA`X?*qIqQhQ6G_#t*#x@t59QgDT}I2!Dk$KRLQv@##v%qKoOzx=}E2IsQ(y9!!uCu zdD-!uTo3@O`V?r-n{rE3rDaP~E~{XI-8Xyhz9g;|p^A2F)3&YNk%ry12Eff6WsB2d z#CN3|pn^wsm&l5zh&3(X9IkE~RauMrOA6mi&;RNdSH$~WZb;wx-%tA1GZEHKj9Pw5 zet7Fy#IF0|XS}sVp(WF*tN_#2C^9;pyTwxj;}4xW8;9628KwUpDL1D5ofH zPP=`-n?|#TTzYU|H~VwMLU*=2Fb@k{jXB|8_oMi}l@1-FIRknr*SLU>_69`SF6JWl zbBnBYjFsGdA2+g1?Y=?saCGn|qX(3Ix9VcyLqD>&)d>u!O`N^Y zpA2i2*$sn(Ige#bWBKLj=uWG)*=@g5aZUuXsXj9-E3%7E`P;9m9d9!yh~-%2PNiRY zUo>2NdzpSa$oA~4;tYx{6TLN7U=M+5A@) z2>&#A@TMXmUv&w%sBPGr`__dVKCr4UsqN#9{-5=Hpba4R_BJ$g8FshP&T#vyW>#BU z(gkWetqs=KCz&W+#GkATO-$)cYBi)8k}BVl@r_ZT?_*+D3jx6(ylm)K7kCYFiieY$ z+s1vTpl@oct*pei{p^tQw@;~Xs4Sf5v;Xj~$_e45bDiFnCAHfqTvdUS08H*@Go`mT zu00k%m;9$wy^{jz?wV*(gHarDA?^j7Y-3K#(c}5AtHt*~-|QN9TCCueQq)vAg$V44 zk}mHfd7@uN+W3>~)fWiAypDd}R*ad3{ff4t+@!!N{c~idCmLuz-sT!p2BkCw z3h0_ELvrJ}e(e;qR5T?R>d5`rq#%evr|hfyZ3jWVy~0Tjgwir5v#>^?yPEWgR4Egt z#{7tD7<@FnZUxlL%a(S}0=kh@j8ENug!ri@v49I!U?%{Rb_2^+F~eQVL5AyHtHAq; z!o3~#rchT6$_ah%K4VolEzBXLp9zaz@zV-Uf~`@s__6HEfRORA;^Z17i7s#bw(~f;Kt_-sadIu! zPWC*KHhCzUV8L5%J+)GMrA+_bXFqHz_ku-?%tACtMz{;Cp*xM9$?E`1(+rqIi7@M9pyyn{b>OJqfpaZeDeLZ6O;hbrTkawh>sNx7ru_}U*6<( zpWKH>`9U!z`8>mC+A_QHVa0^b@vC@<36E~|W^alI!+Q6u+1;i95)M%qg;B>@p3G(I zgnvJ6!CN&uI(9G>%nh?{rK+UAXQb?8wc*|`9<%Uydt*FI5jH6mnUTrN1`fA8lfnkGsztd)Up60!}~|wL&kBB+9NNT2CUHHC?>u# z7x~R_^LP?HIxc2t7^*MOd_T6$vD>XP0p>G690URjkX`Y*lISJZs8J#_P7r)7k%X-} zi=!PCGaG27d`}og<(j;U!|%q6?KAZgEyw|{=t}OUeCfS`pfq3#Ko;i8qnpufiyj2y z1^KNJs2|98xQGrVCXbIoD&BzcM&jgf7w2T1=b^z>(G4$fkk?ilgU3xyO8M6NPHVOU zYe}Moip@zLi$@n_3({1T3N z+s;QEIB2g*9l0lSl$G;@VzE!!Ff*k(tX-86>2(;@IBt!4CBmNF>hZj{zouagu?sI> z%}9UN9rSTsMxS?U)Zjb{jaV=xkDR(OhZs6Qo6#z;U==Zid}ru5jnar0=*c|~_2)x@ z@u(x?Okp#wf(wnEf#$h0c43~YN-Z9sJqfRTG%!=N!r5(2>@s8|hpp5=(U6v*q@olp z#f6QeX~F7()L~=ZRjObuhdz#9FD{T}z2+k0XC zdJO#o)!;k_V2li z+-|hZzxV9@zSCV(E}@#ATs5b&LuB8lhU+W>3*8v4b^b$h1`>s2EHEuh)d>UfCj)lF zNe<<0J$w?zj9SA2V5IT`hH;#OvI<(S+gA?IVQ9@p1M!7^6TdFYybDOS>ILdDpDnnd zRcY9TXj}7d|KZJtZ~x(-20b9dQ(m~WUyrvZVN18}bWKT^UQKErQ`$<}mm0AzZ2in0 z8mK-N^cGEAffso3FWn8xzWVs=v$y|Hwsqi55Ur`DDvAa6L2NZ3<4y0wmz)NIt(V+& zn91jXXVsIJvdK_*lR2fdd7g4gKn5`sq_}+poeZE2y61#+Dd%rZ2_`De5#KZ-Ev=rX zD`IS!+RkEfWW?i&g|Sw$0`O%IuFq0*Z8b+SFIB4$z-jrBd#*nfKyH=N%}~^$Ul{3% zfsTxWbc{5ce~$L}uqb|YE)^g~h=?O8tuGKLw_71p0C*Y*2$HMjY1F`A!_VPGf%d-#>1!u;NMkrZr*EHB5G0NEK9Zpey*v-zsYQPE z3u5pnM&mU7Nu|G=FRzH5lq>dyWZt&+!eE0&^rySBM^Q7QwKu=L&I?z-&SLJ z{@PI8dZ~Gj5oZ|<4#8Do@^T3jWUDE30;v)382V8e{mK;XVHpfUpYF|it*lK-ib&s`4xk7CKTcwGJT>n0JCN6A1UN z)ho)l5_><+UbFr0XdPFoEQ@!|3}>%iwfr#Qib#6#2d%{Yi@K?>9)@iWz+m}+K#?n! zt5=^uV>H}gVdTwDVu-ELVHNl}MkjrVsLL8NAI25UdwF|2WAvHj9Z;@9M0{389AY~{ z07vv0yfaCVFS_C7zlZY}71ro!*qZx2L~ZVmNO@DClOAL2LeDi{_&4I%H;W9|Gkj0lgM^j_v)U`29N%d;iCWd>a>(cWHQ1G zXvk-eDUY0EYoVr}9``fym@)z7B|4ny*Nv>omW_{zL-wi5RzA?yLaB_j`jSJ5MM;e0 zayY&~p|~$e1UhwKmX-TuRGLSbNTfD8n zOeIi(T~{}$IBabW*6|iw&u^YVxXh%nh=3o~QgC*m#YGz|$>%dmgcme6zIiC@AIE8J+zHlQoC+zWFdq;hg>Q&n&A6hH9@5s00Fmh_r;B z$j+>q7f(GaR~dfX)+hG@RVgziu$|!i5~Y}TXcRQ$33|gq{IBUG(FrSUIOr^NEIH|a z&?c^eFaIfem~-WoJZ|*b&7*wRC8>~d@pv|9sQttRj-SUEYM@ax!m<60&I8w41vXf#@(fH3270edKX#=)hh$`SbLrRQH;u^a{I-8|yYL3z@quHj zEJVO18c!@4&ZFXrYXqFgA&wFDYZ=Z=-oh%@&#Ip%)<=Tt-j>hOt{Tqq7Rb8w)H1*T zS$Y{0LGGM+^!6Xdw6u3>(v;bd-pxiKt&gEtfBkn=|QRH0HgfQpxZVGcuqNgbZ{p3#5nM?V?4zC z+ux*~xO7C|4Pu9P$KS5Fhi#6hj4yW~fuev*r=&QuK^E*+hnqBEZBdr`!S?8&Kp2z< zn?C+c)%dJZiT;IfbhnWd;u_a!{{t9#nzE~8M}U<5b@V*Kq_CDYFi5c)0ynhHWtIm~NECG?3_5|hyWz;)Ic zdyKdB`lhfT8^5CmiWqg0Jl=e$=4RULti&D1$s|>!Gw&=iytm9SMM%9A`8lbG7*Z7` zuuaP$ZHbK(N&34fYrB;XJ(R|g2s;v8*4di7gK7RvCKLW~Gt=~k&z}7RKdyTFbwQB4 zLPUsb2d5{M6{|{rN}c0g zB|WdxpFAJp@guPa){-(C_J%0IWoLp~Nue;!tE481S3S|yfUkli@aKduL}-eF@$kTU z3XSZPzmY(*rlVB2CCVpE-NtwrjdP9EsbnFUGr6KL9%e_X$gEtSM7HlORG}D>C2S#A z-w54EbP&I#c`wvZoE~6c{_9n@?_*GfPM>?O{wBVK~KdE#b zzi_Y)draSVOsBuJ7vQ-)+j=jHUZ{Hk#4TUvCTV+<=CF37bTZPfY^5+TT+sr`Re&rX z>cEW5567_)2F}JObm7Kv3jeViQZp-Bi)?8*ZhLl2KA&O(*MPlQ#zN%;Au>UUSXzAU zX1NKVxuPWF7Dlg>${6e!BD6iWsTaF54xI2z=!z-<|EZ#W;Ib)lr-O<8t8{wQ^4bd)upM2U1pX6ApMJC=KiOsO&q%n+(c)o5G{gRIPetYDF4lZf4ZoFevUW^CQ^OoC}|*nUz~l-JJPqz;U~E(6ZJpssj8)l10jH0G-;0P+6*(& zNNTw+IKUjWR3WutP8$vm>r%b9dtA;ph)>S5>R2_guXT%ALbL;6DsYwkYARCv9!Ajd z2z|;=_`7hf3pgfYRiPrh$PlwMGz(k6F3LBkmslUIM7c?yk1Y|X5?jP)RzsnrH)(-wZK>0FA5!Y2J${P1PK40Zoy&t?)tM)h_lb zlK*{|59~LHh$1TY&C^wWl@UsOLu6coKmoVrsqoYn!P-U{`t~WsanEY5oXLH`{r`k1qT^|0EW!`s*n2LQYc+k&6|e~cfXP2>6Qg`dbS;vmzZuz zxhR(}D2INB4A*&iyq7CpJ{6_||42Z-@jw3dKmQ;5_V{@B;otrzhtkIV^}qQuC;mNG zT1uk~!m7)uqJ@J%w-7>JkB@Uh{1} zHSzE`@uqg<>r#9b{x0et<%4>A@&NdZOB%c+FO07k%9*&aBYw}17W@Q`;sl<|6Cp#r zwA|&VaVK9h?)nb3JfT|J=m&_Yg}9)Yx&~BwiN?U#K{?=40T^&- zq~D$;Ugk7d34CU?3^mD`ExdcSToY4TSc+m^`g_>BZR3~@M$ONsmmuXaeLQ%x3|h%= z&-&c(0&mTa3gbV@T6*oBv!(aS%@PY*8IOPp!_ejN&Pyp}-~!~$au)==aPEMKeVkVL z+3O}@;6PhAY=ZRp@Q02F?`JsyJ@PMXNJ)6SaG^XNOjVpA3Qr9KL--p-(A;`3C5 ztSpH!pYF$$YCmi$3}3l+is)hz!gb0cnu9_1bJNzz-_dMF99&qc&4!EWA-gg?NuZf0 zC@%(9KE%Ek#Oe1W3=p!ejc$8)xeM6ST)3GSN?a5iZo}Q)eW&qi@J+rM^{yJc;_61? z;EIdI_6gm#@^#szFDAJcI7>fmSx`urK~LKLc&Rg}kFLhPp$M=-|LPe?tuQsqh~g%# zvdWmtKahG^jN&ob8>cWW)nL$J3qVPQi;V?`@%mTqV58|(DAMQ_u9UZ2NpW)*&Q3Wo z6v?kGeg6ac1E|W4C$JSWWlpI8R8gj+4vNIu;>Tx%#k5Ed(2)O)4|UbiuRgNndef7) z#ux)JTbDekqXU28Avl{g_T3BaMFjHeb`Cm1enlQ>4{CAwnWXH+`Y6Qcu8ZFTXZ8Tb z>%htC)aC!P)8TsMC8y}B*~`eterAFz+aZ#w7Qhzb*)z({z}xwD)G_-3ctB&aB^x@0 z)#ghhF0zGZ*Xopvsy4NyRCb=bSqcAu!a`O^)Vr@RYsZG;vM9zonLrJ4n?QFl)!WdQx``%ToGrD*24Lq~Hv#grrd!50h_RvF;*YdSd^bYH!ju(bK-y zZL{EUSlcS3QXGSk3PCmcGkzAik=%4VDho-wVWb8cylTSC0h(A^HF9DsYN|8_Bm7r> zpacMD9}U3&|Bgr3^Q5s#@93P1?^c8C<%P7-&oS#ZPf}gUmDuVLCht9b_O1b; zbLn)6HDS-Xy}z>!p4UlUNF9U@SOU#BvK`S`iY>_@@ zZVN*^r~KOl8{2L>Ve7x3HBV^Vnhi(Gi`6wPY^$*fmY;{bvYKQbhJ1Gxl84W-rM7Ra z+2!oqT($JqPpI2HJ`B8OQPRW?0?N)0Iob|El@pvYh9k=pBIhbUXsU(+ZebHw=q$1x znulr`u|=S5K-mnjf#MZvk!7Z9KBoXP)8WB`CqV5>88?1vyNs&u5dux zUY|Gf&GOp=cy=C1;i@Mmg{;&I#pZzOC!dnjIG7F3Y(tLz{cs@RgA2qR(jb2bpNQ10 zxFB*SxOmImTP$_lN|lTB(U4Q1d(vmYccn++-$OXW&|OT1|2WliLk?7GE%lxX$J+j+ z@$4M78$t4266KU3rS=-dD&ejKJz0FESUZXpJVT`7kIL2)wYN?QVk376k6Dla1nDdG zPwo4ijJ~ff`bIrNOeI?(8rMlihK*Y+Q~Zhao(*c!p&uqJ7Nj@WaxWF3u&_Gkk3W$W-z*|GW*bPKXLU#imn%?IKK2C!^Y(3YV0`fF7?b`XQ7 z3$J*9Qkaqnzsf=>T{v!L18Ejn;846}5S3W|C-VovotQC z>+d|r{9ZE5timmkM`K?NU9xfH^)i?*W93tB%GG#U5tNj#=Q9=(G(rx z#1%}{^KW>rN|%4yZL^klXPbKA;kjf&ZNLUsZM4(3YqVG`ft1!#6i`VzRQk+mK!)^9 zv@w!8_Mr?-aJ4@hs6(F>TQW{}i7~@*lc=61Fh&{E0QwiDQ=at1PD!naQz|Idw{XD# zV=N8&y8#0a_MbqRIX?-@N;oTu(^Iz6J)o4qX3k|v7O>z6sCr*uqHjvhw|e-?sg0JT zvQ`UCedqo~VcNk9^ z1pkh<(Ze&NK?mH<^{ma+{REe&5N{XMiUD7hOMqH?3aJQ}ztlbv$r2M3k1@pmP$+Ia z@2e28^t^#`+gctj5X4Z<>l+D*5TnD00Eq+IE1%hrR#gZ$QPh-qxLH44 z3lg=I^pD2^BBOU{IGu%f84(p_x(O9YoQ6*g)0bj&E~a1t7GrzmB3Wde8UqHyLrxNW z9nzFw6(=&OUKbv9OH~)MdA|T5?4AS-bzbrRr!EEF1|YeeA!609onA79j$+2hr)3NB z7YacC+pnktVsNu61`JmS84wR{gIz;<1DTVuxMpL4tj(}p`^D7)_+I|?%@-~*<=3Zo zfu(HDBI8`@TO98Nhbp6z{xDMAQ#J)|J%O(bN-}ffzo2>ne_Ap~-15iAG_g{)7%ei` z93Hr0i9>FUL5FmngMKf6@N<9Dd;Nr&g0+sw#!xk|S&7aPVjfT?8@mlk;oq8={eh!= zIT`4h%*BHZmCtI;eE!jFuUcwbO0)1J{`tXpKH`&W>MO%js_I z)bDswLO1$Q993jk+Q_1happ|l%%+Mbe+kc#4N`$`II0*WH{o5^f^V7?4|$xFW{$SC z3h(%xQoDtzLVTs^NBsk5zCvNb?QtZqBY^%B3vbt8v=}C+gi5p=4YtN&pdc3~>ys-* z0cef{z(1%jv%TjU5;BbFE7p9gvJEWYHZt(Qnn=|aG|reB?-)Q?Z-_0XbW81tX@kcJ z$w=0KvqqZBoE+y4hjD{viyys=Tlye;j=?NCCmR{9ODFO%NQIyydL27a+DwSyx=ihp zKO_)cE^_c2mLu##i`@^pD{rPI)7B3#Y)0U4l0UhUcuv($^&AatbNNuQ|6JY8NQtPc z!AJR=04wIexq`Q^e$grL38v37l#jPfGm=I$S$4jL;gLWF6-ulcZE_oQ_&-A)!9*-S z{HuK0XwV0jC#`0*#W~`YJDWjbQU8cFxk~85??{>Xmu^9Gu*}_%uAOiZZ!FLD=POy- zoT2@kp3zP7)X^K2l^Lwy&+x-Bc^-{6(LTu_esP2>uN3#iJyW$I)QmJ->b{}N84X(l z=k(HID8{4w#m0pVz7IJ#a^=7{RVWsq;3v6Yfd5u{+Cy8iP?Spa)kAYC<=8rQOn@u$ ziqq>)6{}ZchdA;K7hJF@VSAjFZ6sI6rCus_b5T$)y*qAk6Pd<L@`5I9OsF8*AHQlx z;C7_54V={T(-Cp?V&np7ySP z#i|+KUN1+z$KC#k5Zpqx)LA0PbQQl@A*^5eK(ER(Z0H~cuxCaeRi06e(u$3Qp^55W z_r%k^oZhc=OXvdOlOH7PR63R93L^}7&wd;yYh#b_SeV_)jfBX5VoE5T{D*_r~>wF}crD0}l-1phJB0&sIp z@R3e5d-%No#-l~SiS)ghEi+}dvjzH=PT~6;s%Gl%>34V$1m&9M*`9z*uQw1}LoMjz z=Y6wX$>ir5Z0}v=xs@>Ry#Lv7?6|Rob1h_+G%DDP7P~fls7LNHU?pC3IIn``>V?gR z#@L8c$0j;3Y{)HiETtEHso})?p`CF-o}2_nxO51~-hhvS)p<`KvRbJ#2k#qc{@|)K z%XEkN>L1Q1i3#5n=OyVK`-G^mn6AA&vac#52zVarr=tq*4&Tyz-^p}Gd=-`pN(b{EMotp;- zl2*Ct>Q(VeY5KjSPR}<}+nF?gX*fTyS1*9PQjHIWY}!7H+)sk0QZr`iDJR-%R#!sl z4F;Ys8QdN7cAWN3&%7k)vhM`QDUqf#RjdmOwsLqWWaDKka*6ATmuei+(@`GPEmtFOZ;--khQmEnCZ@mc_gkW6>BCeS~ zo5=CO)yUE69hN^-995soXoVxrvoCRb2+ui>-^x`I#x;~Jw)!+Y|7bXO%Zo={j?~O^ zI(T)80I0ZehnxQWMUAFs+?d`H63L=!9Q|6E0))gW*@hVIU+;gDyO3SJ{Sk@F-q}0X z7^p=}sK@BX^PRWU*2XNBJl6C;`jFySCQ7GdNo&^GHsMUam;a>CoO*?~q_T zd@lcNqgz7b&Ad|0LRY<(Uukz3(>xwMD05B?Xi>~yzb~*yP8AIK!I;~X#2@iJSWdAm z8cREey?v5+3#RWHaJL7lWLJTppr~5W7%7g{8s|@&2 zw_Jh@_;A+x-xJ@l`sQzJT-&!&!OeZEl%?*?iY1i|m!=8GQbCBrFnc%tT_(f5FDF8g zieJVhi>kVhpjcAVWs4z;OPrEOKg?dJbQPsF^@av!4kI|Y4v6eLkH`9eq^R#WpbaKiB4t3a(B&DH0WpxdKIwJ*}9Z^Y97t7q>zEadq z5Lw;k%y|r37^a9{I6B$4ep|^Q3ml#FGuS0;-zT7(7RW$OcRGcj59~){Ucp|y%yH7T zNCq5FNtKC`F}shoDk?L)B;%)hgw_TXN@RQpS=Gf)a&+S8TtPTQtJGz#@hPb?qMvhI z4dg*4>UxAoD}QLMhvytf>oGd*fj>sERS67X5~X9k8{2akrVYY%m{(V3&szX?))+AC zS{TucwLNODQpY7u08IvuQ&wP3L=(48smy{$4jF2RX}0IY!2;5h4Y3E(F;CpYx#Kgu z<#u8sFxTQOdCWl}{*Pwjvg*+`tX3yAEjCc+>r|D`Q~EAkN|rx&5>sOqdI{4HuR(CU zAFY%GW|XrxhUp-Q;Vl49Q38OL=Yws!v@G!xEEc*4lRsA4Ar;F={le31oeo@6hbXM; zQTuMd7t~0Pvjl5HRza8=m{4tZX$pwip- z;z2O7^6`gsL)js-OZ1A|eDc|*W|GKM*U$B6YJ|~tx&&ba2!pV)J1BI?kX&O)*_u<` zT-T&pbiY^~ph3*Swp)TlwoebhF78Pr%i_Q+rS`-iTyZz=$``T|@J_rAXFRt->pQgJ zlDMDO84gF)67s)M^=RMHQrBZk*tUHsa>*G?4pBtxNZ ziux=$=I;j&h+1R}Qz)E8dx-jM-i`I5AG0kA+Lr^IQPKCUfS+?;UK$Kop9>b@kAfr=RT#7}aF?Yt*rWmMj26^)G0AGNz;dnsAw$h~>`GKaBuzr@O*<*tTS%VEWFi}+FTCY}&E;@y>wgFd>VSuqQI()&V zx}e)|p$<##F*juppS*N^b~ZHTXkmDjZ!$_^qD)8jUHm}OT61nPi!+lEf1FXpJoz*X z=iFSNPP$2gtQI4?PT%%K>NJdrMun3VkQ{(Diod`~bG~ZQoCzSSS!0?P=Xxsxuc8*( zO~J&nmZY4xRjUiNhU?{X3&a@UzH`v^2-C3Ix}h8N#x&afWR=zH;R*rePm!j-=Q^QC z^6H@f8p*b-+oeU*UPnytfQf+L&B!IPG>1w9K0J~HI+lMm7zifG z6q;7&jIjtjDWdy9cMY}G*mn@7QdRxXe6Lnm^EEapoahxLqz>v|r*zK3dKN}}a&52- zo@pTAg*H_bAfb;Pw;Uk=jE+;*eobO8;m1^AsY&u(5G+=t`w+N{1(m%euU|V0%Ie>J zaEt7oCJAIO=B_3f=E`*W(y)*STTs+WDlO%bh_*AFo*&* zO7lw+VqzC+u@t%NorLFiK>ce+%R{xaKgbvS;RS;Su${ydPB_|6K3(U`LYZUQF<|M< zya3yY!%B)aVbX137kC3R8xJ(XSwR< z8Q2&SJm1@Zg>WgIQ)<9^pNce<5pco0sSJN4pbb&1__RjvyZz^(4;B1bWv z%BVGehdiRAvm|1iy&KL~GwcMA_^S?zPRC~rP(|949CU{chfgur%)Csta9BcS#k6BCaW93i^^cZezY zg7gOmr)tkmn;Q}Sr{?V9ju`}{i@4>r#e>eyLJ5{-t&8*p?U>nfH%V)gEJ4By16*4) zMQBm>qX)!xX6PbXa(=Kd9Cpg996WgKw|+;OtXD9HP2#g_SpNtX7>ir6q#7Ki9!A5w zOhXVi$6%2X-GhS1ho7+(MGdp#N}3SRoUmRajIDryB8Sf6km-V$_*DWm*Y#%*eWUd>oLRFO+F(HO>hR(ss0~<%jSYn}uX~B=& z;j)-{f}6xyplo0g$D_Vl!gQyzSmt7jVRX=qL=i0jrf<)s31aO^yCT1-Ge8**vmL@=sO2RQOOw zVkYcL2}#mUj-gbKhFAG6kAcGAzkG)|G~X9Or~)H)UYh%|J5o}HActz_n8oYKPQh_x z5&mzyVC4>`MI0e)g=-ZmU=iSzWVF^cq8TVj;3ZJ0XLdh+6$VV*SWQu$xsCD zoUTE(@Egp?UxNZ0?T%o?X2KH`YW4E!`+!3+g3@}S+h)1*YC(dS!t8ul2Sat>m>4kym+&TUY z9L&=3Ml0gA@gOfaW2iPOtUyw<3W1dx0I=$fOyi+41sn&}k9{wegHqmIhncBPO`w{_ zgmfjL40$QTOaDIRQImJ*q@&SgO*RECZ4h<@mP@6(UoKS9&@(BZ<#-Dy=9s})!higpGl|d{1{;^CArEhvF*d(R z_MuucSS0;maFAIgzMek}ub6v?6r7+;H^c+^m!O$EfI$#pe;p0R$J|T3Nb^0fWpXJ2tUP@U2m8j!ZG^0Z#EqU2ao0q- zsBs!|ELmg&#!XFyfw^nHPHVR6b>6^;$L6jp`o|cQa0D9Aj>G~DHYj7zG`A|h=;Mqp;mw?gsL1XG$kr>o1-nMo47lEeANg0I#8$o z4A#H;lDqZ^*StupYtO?ccTD?MJJJ2O>c$S=oOb3=UR#~2WHxPv?6LsS+JRSrIzNB} z^ISAHKJR`&&;LgScZL~;i&Hrx=pKK;$xNreAQJ~R_?7Ts{(Jl(^A_9JgeIIfnclB= z5Ya;3oxnLj(qJhT>xZ-I_7R}5RP%~~(G?K<__RLA2|n#DIs<{eBctBc?D_ zW2-?Wt+iz!$yxmK*Qn*KH)bqfwzG}+GCdnlsh|Th_nJb6Ws
-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≥+g$cpMA5f5dL-h%N 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%0D)8O1Y; zXH9%>;s+D2PP{hpi-~t8{&iy0#O8@#l1%BU%&Bx&wyMmlY+dQC^i>8brOHTUtn#7C zc9r>+1(h8tJ63k8>|5Etvbb_UrBYc^sa8H#nXDXJSzbB5azf>^mEWpdQ2A2z@ahrO zBdbSMkFFk5J+`{6y1aT^_4w)u)f20qt)5g}Q9Y%4YISAxwCbwr8PzkZtE+3OXIIau zuC1=Co?BgCJ+Jzk)$^+tRKHZcuzFGT%hijkmsEeJx}kb$_4lfmRWGl8rFup6tJOcK zURk}W`iIr4tJhTjsCsSny6PWSudm)v{d)Dr>P^-ETD`e?OZC?3ZPnYW|E>Cs>K)ZT zuija`t9p0!p6b2TjpPU(sr_y3(b{9R$7_FAd#?7K+Vi#V)?TQ6ul8c?rP|B2@7I1* zd$acA+FP}Msr{t()7sm$pVfX*d#CoVwN16nwfAaUCX>mI$^2yJWMQ&6*)=(5vU_sw zKyY+bpucs!qhGrbR1(~i^S!I^&C>wett>Cf`IYp2)!{Omc+IL7<8 zo^RJ~u=D9Xmmf&)vxT@t@aVbmcr*O%j%Q(3J>JLbj#tW;E$hWEKgVgiWj%ujIU*e6 z{j)e`X`8LnmZ;M?dps)-4x8>DY2rBg@oe4U%<|XolRX}IWWI%U-gHl|n+*6p-LLw6 zTCa7y93DG|Zly@`C^L54dDOrQ9gnn~zOH-b`b6_U&kasjC^4qNN_(;s&k^ZPhG9fsmh zQ}`V=Kc`uSv+~mpm)YQ(l?@^QD8OCWI&2QVwJ?$pW16jVIQ^V#-F1PXyWGKHcKfM% zjN}83CX;sm4UVHfD=TkV7*vn;#E*yj8$8*17M^U~@81e@>+!5Sq;+hX!H|7cYdz&- zw1*BudOZ3F9dD#b`mCsfer>B zZ}8Tx-N)+ToJ@Uoaw2@Aj!cDntNc4`>G3GHf+rgh(6Oozoyo7DuJ_`B?VvT;bmvn)Qz;_G%Yd;h8G zWb1NUzUa?YJ@8jqyim{jcdz?7*?N-k^8$JDeyOvQog4yrWT6dc!nnxU4@yg(vi8r>amo7Kz zMdrEkQys||nW8`A=`WE9o?CdO@PlMt;kCjWWRQMb_-WE#_!(K@Ae zPfwPuU48m#$q9BhxyU%y#P83YIid*-Ia^y?PgD+6BT>4OI1*)1vV^fPMM@oVD=CA?;SUU{Y{L*Dkgj9SLfH|&(B|+zbt=c{@VPF z`P=e$<~Qaa%s-lcD*s&m<@_7@xAU7jJ3Hrf4t9=r?%26U=c3LfEMRd&=dqn9be`I| zx^rFU`JEScUfy|C=XISob>7~2SLc154|P7?`E=*=ov+aEn(Mqg>FzkJUV4U!psd*Y4ScgTiz)?OeR+DnFSF8RWzYX5U$bM4tmQhTp5 zzxHxvDf!SnD!Y;+e6#j;Wgqf`o5+bSu3RuVJ~>iZ2_!EA$+6@vAT{6l&l@T(nkC9Iv zsQq2#L*z~KWKau}xyl%M)Z%0}`PhG`Jw36h_D>UAYQL;(S9^)9@(z{VE4z?`{ZZ|w zm5)~TuKl9+E?H;t&$SmPd&oF1ubePBq^$Gg82Q$6<#WnL*ZyWneo5z&a`nFI{nZDm z57u4>&;BGoxozP+Mu2q`dXwV3k-5FKpX>YNHjG^$Ki09Fay;b(%88Vdk~tkKI#zY8 z=~&lsUdM$Umvmgl(F-XTA>r2~1tj{8{N4Hc@()sHn|~z#ME+@hdxG*L+ORi00rzKm z0jAIXzgR4i`R^|dSoVLYIBfajiB zvRAhKa`wu%f0ey5?pLu_&YjW9mUX|5z4GpinzqdQP3)C>XAGic-*0EH{QDj3$-YebG5eP%zCZC2+)@_3m+$JO_yPO3(S)C}e`DfD6F*Gy z)>F~NzOz!OFs9M^EVg2=ev6)@v$)tZ{5U?d$Z< zb`^z?4gW;)DYX1ok|WXdPbQzHPw&&oQN^Pfd2}!nsCKf1OR=m9U T6>7!8jf`mij=mKc`|-a3qA`B{ literal 0 HcmV?d00001 diff --git a/assets/fonts/plainpixel/README.md b/assets/fonts/plainpixel/README.md new file mode 100644 index 00000000..22509351 --- /dev/null +++ b/assets/fonts/plainpixel/README.md @@ -0,0 +1,13 @@ +# Plain Pixel font + +"Plain Pixel Font" by Douglas Vautour (Burpy Fresh) is licensed under +CC-BY 4.0: https://burpyfresh.itch.io + +Version 0.009 (CJK character additions), unmodified. Characters for most +languages have a 5x11 base but can extend vertically; double-width +characters such as Hiragana and Katakana are 11x11. + +Bundled so a translation mod can opt into TTF text rendering +(`mod.content.font:register("ttf", {})`; see the Translation support +section of docs/new-features.md) instead of drawing hundreds of glyph-page +tiles. The tile font extracted from the player's ROM stays the default. diff --git a/docs/new-features.md b/docs/new-features.md index 02aab6ec..c3c901e3 100644 --- a/docs/new-features.md +++ b/docs/new-features.md @@ -376,6 +376,19 @@ plus a glyph-page and charmap stub, a naming-grid stub, and a be packed). `--refresh` re-harvests after an engine update, keeping existing translations and parking orphaned keys rather than dropping them. +A translation can also skip glyph pages entirely: scaffolding with +`--pixel-font` (or registering `mod.content.font:register("ttf", {})` in +an existing mod) renders text through a bundled TTF covering Latin with +diacritics, Cyrillic, kana and CJK, while box borders and ``-style +macro glyphs keep their tiles. The font is "Plain Pixel Font" by Douglas +Vautour (Burpy Fresh), licensed under CC-BY 4.0 (5x11 base characters, +11x11 double-width; see `assets/fonts/plainpixel/README.md`). Options on +the registry entry: `file` for a mod-shipped TTF, `size` (the font's +design em; Plain Pixel rasterizes cleanly only at multiples of 15), +`spacing` added to every advance, `yOffset` for vertical alignment +against the 8px cell grid, and `bold`, which double-prints at a 1px +offset for fonts whose strokes read too light. + See the wiki's Translations guide. ## Save editor (bundled, reachable from the launcher) diff --git a/libs/flexlove/FlexLove.lua b/libs/flexlove/FlexLove.lua index 2f72f720..eaf749af 100644 --- a/libs/flexlove/FlexLove.lua +++ b/libs/flexlove/FlexLove.lua @@ -230,7 +230,9 @@ function flexlove.init(config) -- Initialize Performance if available if Performance then flexlove._Performance = Performance.init({ - enabled = config.performanceMonitoring or true, + -- ~= false (not `or true`): `performanceMonitoring = false` must + -- actually disable the per-frame timers + memory sampling. + enabled = config.performanceMonitoring ~= false, hudEnabled = false, -- Start with HUD disabled hudToggleKey = config.performanceHudKey or "f3", hudPosition = config.performanceHudPosition or { x = 10, y = 10 }, diff --git a/libs/flexlove/modules/Element.lua b/libs/flexlove/modules/Element.lua index 5a2da8db..bdf47c63 100644 --- a/libs/flexlove/modules/Element.lua +++ b/libs/flexlove/modules/Element.lua @@ -2709,6 +2709,7 @@ function Element:_drawChildren(backdropCanvas) -- Set up clipping: rounded-corners (stencil) > overflow (scissor) > none local clipMode = "none" + local prevSx, prevSy, prevSw, prevSh if hasRoundedCorners then local roundedBoxWidth = self._borderBoxWidth or (self.width + self.padding.left + self.padding.right) local roundedBoxHeight = self._borderBoxHeight or (self.height + self.padding.top + self.padding.bottom) @@ -2721,7 +2722,18 @@ function Element:_drawChildren(backdropCanvas) love.graphics.setStencilTest("greater", 0) clipMode = "stencil" elseif needsOverflowClipping then - love.graphics.setScissor(self.x + self.padding.left, self.y + self.padding.top, self.width, self.height) + -- Intersect with (and later restore) any ancestor scissor: replacing + -- it let a nested scroller widen its parent's clip, and the bare + -- setScissor() restore then cleared it entirely - scrolled page + -- content drew straight over the pinned header. + -- transformPoint: scissor rects live in window coordinates and ignore + -- the scroll translate an ancestor scroller has pushed, so a nested + -- scroller's clip sat at its untranslated layout position and cut its + -- own rows away once the page scrolled. + prevSx, prevSy, prevSw, prevSh = love.graphics.getScissor() + local scx, scy = love.graphics.transformPoint( + self.x + self.padding.left, self.y + self.padding.top) + love.graphics.intersectScissor(scx, scy, self.width, self.height) clipMode = "scissor" end @@ -2745,7 +2757,11 @@ function Element:_drawChildren(backdropCanvas) if clipMode == "stencil" then love.graphics.setStencilTest() elseif clipMode == "scissor" then - love.graphics.setScissor() + if prevSx then + love.graphics.setScissor(prevSx, prevSy, prevSw, prevSh) + else + love.graphics.setScissor() + end end end diff --git a/libs/flexlove/modules/ScrollManager.lua b/libs/flexlove/modules/ScrollManager.lua index 9808556a..3a616ee3 100644 --- a/libs/flexlove/modules/ScrollManager.lua +++ b/libs/flexlove/modules/ScrollManager.lua @@ -112,7 +112,8 @@ function ScrollManager.new(config, deps) self.touchScrollEnabled = config.touchScrollEnabled ~= false -- Default true self.momentumScrollEnabled = config.momentumScrollEnabled ~= false -- Default true self.bounceEnabled = config.bounceEnabled ~= false -- Default true - self.scrollFriction = config.scrollFriction or 0.95 -- Exponential decay per frame + self.scrollFriction = config.scrollFriction or 0.95 -- legacy per-frame decay; superseded by _momentumDecel + self._momentumDecel = config.momentumDecel or 2.0 -- fling decay rate (1/s), dt-based; ~iOS "normal" self.bounceStiffness = config.bounceStiffness or 0.2 -- Spring constant self.maxOverscroll = config.maxOverscroll or 100 -- pixels @@ -926,9 +927,15 @@ function ScrollManager:handleTouchMove(touchX, touchY) dx = -dx dy = -dy - -- Calculate velocity (pixels per second) - self._scrollVelocityX = dx / dt - self._scrollVelocityY = dy / dt + -- Velocity tracking (pixels per second). Not the raw last-sample d/dt: + -- touch samples jitter, and the final pre-release sample often reads near + -- zero, which is why single-sample flings feel dead compared to a native + -- list. Blend toward the instantaneous velocity with a ~50 ms time + -- constant instead, like OS velocity trackers that average recent samples. + local instX, instY = dx / dt, dy / dt + local blend = math.min(1, dt / 0.05) + self._scrollVelocityX = self._scrollVelocityX + (instX - self._scrollVelocityX) * blend + self._scrollVelocityY = self._scrollVelocityY + (instY - self._scrollVelocityY) * blend -- Apply scroll with bounce if enabled if self.bounceEnabled then @@ -969,6 +976,15 @@ function ScrollManager:handleTouchRelease() self._touchScrolling = false + -- A finger that pauses and then lifts is a stop, not a fling: without + -- this, the smoothed velocity from the earlier drag still launches the + -- list after a deliberate hold (native lists kill the tracker the same + -- way). + if love.timer.getTime() - (self._lastTouchTime or 0) > 0.1 then + self._scrollVelocityX = 0 + self._scrollVelocityY = 0 + end + -- Start momentum scrolling if enabled and velocity is significant if self.momentumScrollEnabled then local velocityThreshold = 50 -- pixels per second @@ -997,8 +1013,13 @@ function ScrollManager:update(dt) -- rate; a fixed fraction made scrolling visibly slower whenever frame -- time rose. _smoothScrollRate is the decay constant in 1/seconds: -- ~90% of the remaining distance is covered in 2.3/rate seconds. + -- dt can legitimately be 0 here: in immediate mode beginFrame resets the + -- accumulated dt BEFORE endFrame updates the elements, so the launcher's + -- update order always hands this 0. Treat that (and nil) as one nominal + -- 60 Hz step so the interpolation still advances one frame's worth. + local step = (dt and dt > 0) and dt or (1 / 60) if self._targetScrollX or self._targetScrollY then - local alpha = 1 - math.exp(-(self._smoothScrollRate or 30) * (dt or 0.016)) + local alpha = 1 - math.exp(-(self._smoothScrollRate or 30) * step) if self._targetScrollY then local diff = self._targetScrollY - self._scrollY if math.abs(diff) > 0.5 then @@ -1028,25 +1049,43 @@ function ScrollManager:update(dt) return end - -- Apply velocity to scroll position - local dx = self._scrollVelocityX * dt - local dy = self._scrollVelocityY * dt + -- Apply velocity to scroll position (step, not dt: dt is 0 in the + -- immediate-mode endFrame path, which left touch flings completely dead) + local dx = self._scrollVelocityX * step + local dy = self._scrollVelocityY * step if self.bounceEnabled then - -- Allow overscroll during momentum - self._scrollX = self._scrollX + dx - self._scrollY = self._scrollY + dy + -- Allow overscroll during momentum, but never past maxOverscroll: an + -- unclamped fling carried a list hundreds of pixels past its edge + -- (rows vanished into a blank card until the spring crawled back). + self._scrollX = self._utils.clamp(self._scrollX + dx, + -self.maxOverscroll, self._maxScrollX + self.maxOverscroll) + self._scrollY = self._utils.clamp(self._scrollY + dy, + -self.maxOverscroll, self._maxScrollY + self.maxOverscroll) else self:scrollBy(dx, dy) end - -- Apply friction (exponential decay) - self._scrollVelocityX = self._scrollVelocityX * self.scrollFriction - self._scrollVelocityY = self._scrollVelocityY * self.scrollFriction + -- Frame-rate-independent exponential decay tuned to native list feel: + -- iOS "normal" deceleration is ~0.998 per millisecond, i.e. exp(-2.0 t). + -- The old per-frame 0.95 factor killed a fling in a fraction of a second + -- (and faster the higher the frame rate). Total fling travel is + -- velocity / rate. + local decay = math.exp(-(self._momentumDecel or 2.0) * step) + -- Past the content edge, kill the fling an order of magnitude faster so + -- the rubber band absorbs it instead of stretching to the clamp and + -- sitting there (native lists do the same). + local overX = self._scrollX < 0 or self._scrollX > self._maxScrollX + local overY = self._scrollY < 0 or self._scrollY > self._maxScrollY + if overX or overY then + decay = decay * math.exp(-20 * step) + end + self._scrollVelocityX = self._scrollVelocityX * decay + self._scrollVelocityY = self._scrollVelocityY * decay -- Stop momentum when velocity is very low local totalVelocity = math.sqrt(self._scrollVelocityX ^ 2 + self._scrollVelocityY ^ 2) - if totalVelocity < 1 then + if totalVelocity < 5 then self._momentumScrolling = false self._scrollVelocityX = 0 self._scrollVelocityY = 0 diff --git a/libs/flexlove/modules/behaviors/Scrollable.lua b/libs/flexlove/modules/behaviors/Scrollable.lua index 7c909e72..39ad438e 100644 --- a/libs/flexlove/modules/behaviors/Scrollable.lua +++ b/libs/flexlove/modules/behaviors/Scrollable.lua @@ -214,10 +214,13 @@ local function onDraw(element, _ctx) if not (scrollbarDims.vertical.visible or scrollbarDims.horizontal.visible) then return end - -- Clear any parent scissor clipping before drawing scrollbars so they render - -- fully visible (scrollbars must not be clipped by ancestor overflow). + -- Lift the parent scissor while drawing scrollbars so they render fully + -- visible, then RESTORE it: clearing it outright let every later sibling + -- draw unclipped (scrolled page content over the pinned header). + local sx, sy, sw, sh = love.graphics.getScissor() love.graphics.setScissor() element._renderer:drawScrollbars(element, element.x, element.y, element.width, element.height, scrollbarDims) + if sx then love.graphics.setScissor(sx, sy, sw, sh) end end -- -------------------------------------------------------------------------- diff --git a/scripts/build.sh b/scripts/build.sh index 9573f5b9..e21c5832 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -72,8 +72,13 @@ rm -f "$LOVE_FILE" tools/rom_manifest.json tools/rom_manifest_blue.json \ tools/rom_manifest_yellow.json \ -x '*.DS_Store' 'data/generated/*' 'assets/generated/*') -if unzip -Z1 "$LOVE_FILE" \ - | grep -Eq '^(data|assets)/generated/[^/]+|^(data|assets)/generated/.+/'; then +# Materialize the listing once and grep the file: piping unzip straight into +# grep -q under `set -o pipefail` SIGPIPEs unzip when grep exits early on a +# match, and the pipeline's failure reads as "missing " for whichever +# entry happened to match first (see the same fix in pack_love.sh). +LOVE_LISTING="$WORK/love-listing.txt" +unzip -Z1 "$LOVE_FILE" > "$LOVE_LISTING" +if grep -Eq '^(data|assets)/generated/[^/]+|^(data|assets)/generated/.+/' "$LOVE_LISTING"; then fail "game.love unexpectedly contains generated ROM data" fi # The editor is only reachable if its entry point and both module directories @@ -86,7 +91,7 @@ for required in tools/save-editor/App.lua tools/save-editor/Kit.lua \ libs/flexlove/FlexLove.lua \ tools/rom_manifest.json tools/rom_manifest_blue.json \ tools/rom_manifest_yellow.json; do - unzip -Z1 "$LOVE_FILE" | grep -qx "$required" \ + grep -qxF "$required" "$LOVE_LISTING" \ || fail "game.love is missing $required" done say "game.love: $(du -h "$LOVE_FILE" | cut -f1)" diff --git a/scripts/build_ios.sh b/scripts/build_ios.sh index ddc6fb1b..90989f60 100755 --- a/scripts/build_ios.sh +++ b/scripts/build_ios.sh @@ -695,7 +695,11 @@ run_xcodebuild() { fi # Fuse even if the pbxproj wire-up failed, LÖVE runs any bundled *.love. - if [ ! -f "$app/game.love" ]; then + # Byte-compare, never just existence: xcodebuild's incremental Copy Bundle + # Resources can leave a previous build's game.love in a surviving .app, and + # an existence check shipped that stale payload in the .ipa (today's Lua + # fixes present in ios/resources/ but absent from the installed app). + if ! cmp -s "$LOVE_FILE" "$app/game.love"; then say "fusing game.love into $(basename "$app")" cp "$LOVE_FILE" "$app/game.love" fi diff --git a/src/battle/BattleState.lua b/src/battle/BattleState.lua index b45ebfe7..6a95b79b 100644 --- a/src/battle/BattleState.lua +++ b/src/battle/BattleState.lua @@ -380,18 +380,21 @@ local CHARGE_TEXT = { -- pokered's / text macros (home/text.asm -- PlaceMoveUsersName): battle texts naming the enemy mon print -- "Enemy " before the nickname; player-side mons never get it. +-- Translatable as one "Enemy %s" template (#779) so languages that +-- qualify after the name, or decline, can (e.g. "%s ennemi"). local function displayName(b) - return b.isPlayer and b.name or ("Enemy " .. b.name) + return b.isPlayer and b.name or Strings("Enemy %s", b.name) end --- Apply the "Enemy " prefix to a pre-built message from a module that --- only knows the raw nickname (Status.beforeMove/residual): splice it --- in before the first name occurrence. +-- Apply the enemy qualifier to a pre-built message from a module that +-- only knows the raw nickname (Status.beforeMove/residual): replace the +-- first name occurrence with the qualified form. local function prefixEnemy(msg, battler) if battler.isPlayer then return msg end local s = msg:find(battler.name, 1, true) if not s then return msg end - return msg:sub(1, s - 1) .. "Enemy " .. msg:sub(s) + return msg:sub(1, s - 1) .. Strings("Enemy %s", battler.name) + .. msg:sub(s + #battler.name) end -- Level-up stats window (PrintStatsBox .LevelUpStatsBox: box (9,2) diff --git a/src/battle/EffectRegistry.lua b/src/battle/EffectRegistry.lua index a6789ade..de443a72 100644 --- a/src/battle/EffectRegistry.lua +++ b/src/battle/EffectRegistry.lua @@ -29,7 +29,7 @@ end -- pokered's / text macros print "Enemy " before the enemy -- mon's nickname (home/text.asm PlaceMoveUsersName) local function displayName(b) - return b.isPlayer and b.name or ("Enemy " .. b.name) + return b.isPlayer and b.name or Strings("Enemy %s", b.name) -- #779 end EffectRegistry.displayName = displayName diff --git a/src/battle/MoveEffects.lua b/src/battle/MoveEffects.lua index acdd2118..e9d97e6c 100644 --- a/src/battle/MoveEffects.lua +++ b/src/battle/MoveEffects.lua @@ -23,7 +23,7 @@ local MoveEffects = {} -- pokered's / text macros print "Enemy " before the -- enemy mon's nickname (home/text.asm PlaceMoveUsersName) local function displayName(b) - return b.isPlayer and b.name or ("Enemy " .. b.name) + return b.isPlayer and b.name or Strings("Enemy %s", b.name) -- #779 end local STAT_LABEL = { diff --git a/src/battle/StatusRegistry.lua b/src/battle/StatusRegistry.lua index 55de40c3..ba3afa7e 100644 --- a/src/battle/StatusRegistry.lua +++ b/src/battle/StatusRegistry.lua @@ -12,7 +12,7 @@ local StatusRegistry = {} -- pokered's / text macros (home/text.asm -- PlaceMoveUsersName): enemy-mon texts print "Enemy " before the name local function displayName(b) - return b.isPlayer and b.name or ("Enemy " .. b.name) + return b.isPlayer and b.name or Strings("Enemy %s", b.name) -- #779 end -- opts: toxic (start the Toxic counter), moveType (for the type gates), diff --git a/src/battle/TrainerAI.lua b/src/battle/TrainerAI.lua index c086c113..9654029a 100644 --- a/src/battle/TrainerAI.lua +++ b/src/battle/TrainerAI.lua @@ -27,7 +27,7 @@ local TrainerAI = {} -- pokered's / text macros print "Enemy " before the -- enemy mon's nickname (home/text.asm PlaceMoveUsersName) local function displayName(b) - return b.isPlayer and b.name or ("Enemy " .. b.name) + return b.isPlayer and b.name or Strings("Enemy %s", b.name) -- #779 end local HEAL_AMOUNT = { POTION = 20, SUPER_POTION = 50, HYPER_POTION = 200 } diff --git a/src/import/LauncherView.lua b/src/import/LauncherView.lua index 94506d86..342cc0b8 100644 --- a/src/import/LauncherView.lua +++ b/src/import/LauncherView.lua @@ -143,21 +143,24 @@ LauncherView._refreshAutoHeight = refreshAutoHeight -- ------- lifecycle --- NX-only: FlexLove's init maps `performanceMonitoring = false` to true --- (`false or true`), which leaves layout/render timers + memory sampling on --- every immediate-mode frame and makes the pad cursor feel lagged. Force --- them off after init. Desktop keeps the library default. Exported so the --- engine tier can assert the Switch guards without drawing the full tree. +-- All platforms: FlexLove used to map `performanceMonitoring = false` to +-- true (`false or true`), leaving layout/render timers + memory sampling on +-- every immediate-mode frame (pad-cursor lag on NX, scroll drag on desktop). +-- The vendored init is fixed, but force the flags off here too so a hot +-- reload against an already-inited FlexLove stays clean. Exported so the +-- engine tier can assert the guards without drawing the full tree. function LauncherView.applyNxPerfGuards(imp) - if not (imp and imp.isNX and FlexLove.isReady() and FlexLove._Performance) then + if not (imp and FlexLove.isReady() and FlexLove._Performance) then return false end FlexLove._Performance.enabled = false local mp = FlexLove._Performance._memoryProfiler if mp then mp.enabled = false end -- Immediate-mode rebuilds allocate a full tree every frame; the default - -- auto GC steps hitch the pad cursor on Switch. Less frequent steps, higher - -- threshold — desktop keeps FlexLove defaults. + -- "auto" GC strategy triggers a full blocking collect past 100 MB, a + -- visible hitch mid-scroll. Less frequent steps, higher threshold, on + -- every platform (was NX-only; desktop hit the same hitch, see the + -- scroll-sluggishness investigation). if FlexLove._gcConfig then FlexLove._gcConfig.strategy = "periodic" FlexLove._gcConfig.interval = 90 @@ -332,12 +335,22 @@ end local function textWidth(size, text) return mfont(size):getWidth(text) end local function textHeight(size) return mfont(size):getHeight() end --- wrapped text height at a width, from the same font the element renders +-- wrapped text height at a width, from the same font the element renders. +-- Memoized: the immediate-mode rebuild asks for the same (size, width, +-- text) every frame for every visible row, and Font:getWrap re-shapes the +-- whole string each time - one of the hottest calls in the frame on mobile. +-- The key space is small (mod summaries and notes at a handful of widths). +local wrapHeightCache = {} local function wrapHeight(size, text, width) if not text or text == "" or (width or 0) <= 0 then return 0 end + local key = size .. ":" .. width .. ":" .. text + local h = wrapHeightCache[key] + if h then return h end local f = mfont(size) local _, lines = f:getWrap(text, width) - return math.max(1, #lines) * f:getHeight() + h = math.max(1, #lines) * f:getHeight() + wrapHeightCache[key] = h + return h end -- Every text size in this file is already scaled by m.s, so FlexLove's own @@ -421,6 +434,45 @@ local function button(imp, parent, key, text, opts) return mk(p) end +-- Measured single-row width of a header's labels and buttons, using the +-- same integer-sized fonts label()/button() render with (button() adds +-- 12px horizontal padding + 1px border per side). Tab headers use this to +-- decide between one row and a split title/buttons pair: flexWrap cannot +-- save a narrow window here, because the engine does not grow an +-- auto-sized parent for wrapped children (#748 family), so a wrapped +-- button used to land on top of whatever followed the header. +local function headNeededW(m, items) + local w, n = 0, 0 + for _, it in ipairs(items) do + local size = math.floor(it.size + 0.5) + local tw = math.ceil(textWidth(size, it.text)) + w = w + (it.btn and (tw + 26) or tw) + n = n + 1 + end + -- inter-item gaps, plus one gap of slack where the flex spacer sits + return w + n * (10 * m.s) +end + +-- One header row when everything fits, otherwise a title row and a +-- right-aligned button row stacked under it. Returns the row for the +-- title/status labels and a function to call AFTER adding them, which +-- returns the row for the buttons (inserting the flex spacer so buttons +-- sit flush right in both shapes). +local function headRows(parent, m, items) + local split = headNeededW(m, items) > (parent._innerW or m.contentW) + local function row() + return mk({ parent = parent, width = "100%", + positioning = "flex", flexDirection = "horizontal", + alignItems = "center", gap = 10 * m.s }) + end + local titleRow = row() + return titleRow, function() + local btnRow = split and row() or titleRow + mk({ parent = btnRow, flex = 1 }) + return btnRow + end +end + local function card(parent, props) local p = { parent = parent, @@ -1019,24 +1071,33 @@ local function buildModsPanel(imp, parent, m) if mod.enabled then enabledCount = enabledCount + 1 end end - local head = mk({ parent = parent, width = "100%", - positioning = "flex", flexDirection = "horizontal", flexWrap = "wrap", - alignItems = "center", gap = 10 * m.s }) - label(head, Strings("Mods"), 22 * m.s + 4, C("white"), { textWrap = false }) - label(head, Strings("%d of %d enabled", enabledCount, #mods), - 12 * m.s + 2, C("warn"), { textWrap = false }) - mk({ parent = head, flex = 1 }) + local title = Strings("Mods") + local count = Strings("%d of %d enabled", enabledCount, #mods) + local importLabel = imp:_modsImportButtonLabel() + local items = { + { size = 22 * m.s + 4, text = title }, + { size = 12 * m.s + 2, text = count }, + { size = 13 * m.s + 1, text = importLabel, btn = true }, + } if #mods > 0 then - button(imp, head, "mods-enable-all", Strings("Enable all"), { + items[#items + 1] = { size = 11 * m.s + 1, text = Strings("Enable all"), btn = true } + items[#items + 1] = { size = 11 * m.s + 1, text = Strings("Disable all"), btn = true } + end + local head, buttonsRow = headRows(parent, m, items) + label(head, title, 22 * m.s + 4, C("white"), { textWrap = false }) + label(head, count, 12 * m.s + 2, C("warn"), { textWrap = false }) + local btnRow = buttonsRow() + if #mods > 0 then + button(imp, btnRow, "mods-enable-all", Strings("Enable all"), { size = 11 * m.s + 1, kind = "neutral", action = function() imp:_setAllMods(true) end, }) - button(imp, head, "mods-disable-all", Strings("Disable all"), { + button(imp, btnRow, "mods-disable-all", Strings("Disable all"), { size = 11 * m.s + 1, kind = "neutral", action = function() imp:_setAllMods(false) end, }) end - button(imp, head, "mods-import", imp:_modsImportButtonLabel(), { + button(imp, btnRow, "mods-import", importLabel, { h = m.btnH, size = 13 * m.s + 1, kind = "neutral", action = function() imp:chooseMod() end, }) @@ -1107,6 +1168,16 @@ local function buildModsPanel(imp, parent, m) }) end + -- Immediate mode rebuilds this panel every frame; re-sorting the whole + -- mod list per frame (with lowercased-string allocations in the + -- comparator) fed the GC for nothing. Cache the sorted array, keyed on + -- the list identity/length, the sort mode, and the update-info revision + -- that _syncModUpdateInfo bumps when release data changes. + local cache = imp._modSortCache + if cache and cache.src == mods and cache.n == #mods + and cache.key == sortKey and cache.rev == (imp._modUpdateRev or 0) then + mods = cache.list + else local sorted = {} for i, v in ipairs(mods) do sorted[i] = v end table.sort(sorted, function(a, b) @@ -1129,7 +1200,10 @@ local function buildModsPanel(imp, parent, m) end return (a.name or ""):lower() < (b.name or ""):lower() end) + imp._modSortCache = { src = mods, n = #mods, key = sortKey, + rev = imp._modUpdateRev or 0, list = sorted } mods = sorted + end -- Explicit column widths AND heights: a flex-grown container collapses -- its children's layout in this engine, and card auto-height came up @@ -1302,18 +1376,26 @@ local function buildFindPanel(imp, parent, m) local rows = imp:_findRows() local total = #((imp.findIndex and imp.findIndex.mods) or {}) - local head = mk({ parent = parent, width = "100%", - positioning = "flex", flexDirection = "horizontal", flexWrap = "wrap", - alignItems = "center", gap = 10 * m.s }) - label(head, Strings("Find Mods"), 22 * m.s + 4, C("white"), { textWrap = false }) + local title = Strings("Find Mods") + local count = (#sources > 0) and ((#rows == total) and Strings("%d mods listed", total) + or Strings("%d of %d mods", #rows, total)) or nil + local addLabel = (#sources == 0) and Strings("Add an index") or Strings("Add index") + local items = { + { size = 22 * m.s + 4, text = title }, + { size = 13 * m.s + 1, text = addLabel, btn = true }, + } + if count then items[#items + 1] = { size = 12 * m.s + 2, text = count } end if #sources > 0 then - label(head, (#rows == total) and Strings("%d mods listed", total) - or Strings("%d of %d mods", #rows, total), 12 * m.s + 2, C("warn"), - { textWrap = false }) + items[#items + 1] = { size = 13 * m.s + 1, text = Strings("Refresh"), btn = true } end - mk({ parent = head, flex = 1 }) + local head, buttonsRow = headRows(parent, m, items) + label(head, title, 22 * m.s + 4, C("white"), { textWrap = false }) + if count then + label(head, count, 12 * m.s + 2, C("warn"), { textWrap = false }) + end + local btnRow = buttonsRow() if #sources > 0 then - button(imp, head, "find-refresh", Strings("Refresh"), { + button(imp, btnRow, "find-refresh", Strings("Refresh"), { h = m.btnH, size = 13 * m.s + 1, kind = "neutral", action = function() imp._findSearchFocus = false @@ -1322,11 +1404,10 @@ local function buildFindPanel(imp, parent, m) end, }) end - button(imp, head, "find-add", - (#sources == 0) and Strings("Add an index") or Strings("Add index"), { - h = m.btnH, size = 13 * m.s + 1, kind = "neutral", - action = function() imp:_promptAddIndex() end, - }) + button(imp, btnRow, "find-add", addLabel, { + h = m.btnH, size = 13 * m.s + 1, kind = "neutral", + action = function() imp:_promptAddIndex() end, + }) if imp.findNotice then label(parent, imp.findNotice.text, 12 * m.s + 2, diff --git a/src/import/RomImporter.lua b/src/import/RomImporter.lua index 429ceb3e..749b5b9f 100644 --- a/src/import/RomImporter.lua +++ b/src/import/RomImporter.lua @@ -2611,6 +2611,9 @@ function RomImporter:_syncModUpdateInfo(force) self.modUpdateInfo[m.id] = nil end end + -- Bump so the view's sorted-list cache (keyed on this revision) rebuilds + -- when release/download data actually changes, not every frame. + self._modUpdateRev = (self._modUpdateRev or 0) + 1 end function RomImporter:_modUpdateInfo(id) @@ -2986,12 +2989,22 @@ end -- The rows the filters leave, and the installed-mod context the compatibility -- warnings are judged against. function RomImporter:_findRows() - local ModIndex = require("src.mods.ModIndex") local all = (self.findIndex and self.findIndex.mods) or {} - return ModIndex.filter(all, { + -- The view asks every frame (immediate mode); only re-filter when the + -- index, query, or category actually changed. + local c = self._findRowsCache + if c and c.src == all and c.query == self.findQuery + and c.category == self.findCategory then + return c.rows + end + local ModIndex = require("src.mods.ModIndex") + local rows = ModIndex.filter(all, { query = self.findQuery, category = self.findCategory, }) + self._findRowsCache = { src = all, query = self.findQuery, + category = self.findCategory, rows = rows } + return rows end function RomImporter:_findInstalledMap() diff --git a/src/mods/Schemas.lua b/src/mods/Schemas.lua index 42f5bc66..ebd1e7f6 100644 --- a/src/mods/Schemas.lua +++ b/src/mods/Schemas.lua @@ -1064,6 +1064,12 @@ local function fontIsCharmap(id) return tostring(id):match("^charmap:.+$") ~= nil end +-- the third id form: "ttf" switches text rendering to a real TTF (the +-- bundled Plain Pixel when `file` is omitted -- src/render/Font.lua) +local function fontIsTtf(id) + return tostring(id) == "ttf" +end + R.font = { semantics = "record", target = "font", value = f.union{ @@ -1071,6 +1077,9 @@ R.font = { advance = f.opt(f.int(1)), charmap = f.opt(f.list(f.rec{ code = f.int(0), seq = f.str })) }, f.rec{ seq = f.str, code = f.int(0) }, + f.rec{ file = f.opt(f.path), size = f.opt(f.int(1)), + spacing = f.opt(f.num), yOffset = f.opt(f.num), + bold = f.opt(f.bool) }, }, extra = function(id, value) if fontIsCharmap(id) then @@ -1080,12 +1089,18 @@ R.font = { if type(value.code) ~= "number" then return "a charmap: entry needs a code" end + elseif fontIsTtf(id) then + -- every field optional: {} is "the bundled font at its native size" + if value.image ~= nil or value.base ~= nil then + return 'the "ttf" entry takes file/size/spacing/yOffset/bold, not a page' + end elseif value.image == nil or value.base == nil then return "a font page needs an image and a base" end end, baseAt = function(base, id) if fontIsCharmap(id) then return nil end + if fontIsTtf(id) then return base.ttf end return base.pages and base.pages[id] or nil end, baseIds = function(base) @@ -1096,6 +1111,9 @@ R.font = { write = function(target, registry) local pages = target.pages or {} target.pages = pages + -- the extractor never emits a ttf entry, so like the charmap rows it is + -- rebuilt from the registry each merge: disabling the mod disables it + target.ttf = nil -- the extractor's rows have no id and stay put; the registry's own are -- rebuilt every merge so a re-merge replaces them instead of stacking local rows = {} @@ -1108,6 +1126,8 @@ R.font = { if value ~= nil then rows[#rows + 1] = { id = id, seq = value.seq, code = value.code } end + elseif fontIsTtf(id) then + target.ttf = value else pages[id] = value end diff --git a/src/render/Font.lua b/src/render/Font.lua index 33f1a97a..7015a3fc 100644 --- a/src/render/Font.lua +++ b/src/render/Font.lua @@ -6,6 +6,13 @@ -- for variable-width text; the default is the GB's flat 8px. -- The charmap is matched greedily (longest sequence first) so multi-byte -- UTF-8 chars and ligature glyphs like 'd 'l 's map to single glyphs. +-- +-- A translation may instead set data.font.ttf and render its text through a +-- real TTF (the bundled Plain Pixel by default), so a script that would need +-- hundreds of page tiles works out of the box. Single characters then draw +-- from the TTF; multi-character charmap sequences (, the 'd ligatures) +-- and the sub-0x80 chrome glyphs (borders, arrows) keep their tiles, which +-- is why the box border never depends on the TTF's coverage. local Assets = require("src.render.Assets") @@ -13,6 +20,19 @@ local Font = {} local GLYPH = 8 +-- TTF glyph codes are the Unicode codepoint offset far above any page base, +-- so they flow through the same span/encode/drawCode pipeline as tiles. +local TTF_BASE = 0x400000 +Font.TTF_BASE = TTF_BASE + +-- The engine's bundled TTF (assets/fonts/plainpixel/README.md: CC-BY 4.0, +-- Douglas Vautour). data.font.ttf.file overrides for a mod-shipped font. +-- 15 is the font's design em: its glyphs only rasterize at their true +-- pixel size (5x11 base, 11x11 double-width) at multiples of 15; at any +-- other size they downscale unevenly (at 11, M comes out 4px and A 5px). +Font.PLAINPIXEL = "assets/fonts/plainpixel/PlainPixel-Regular.ttf" +Font.PLAINPIXEL_SIZE = 15 + local state local loadedFrom @@ -83,6 +103,42 @@ function Font.load(data) Font.BORDER = {} for key, code in pairs(Font.DEFAULT_BORDER) do Font.BORDER[key] = code end for key, code in pairs(def.border or {}) do Font.BORDER[key] = code end + + -- TTF mode. All fields optional: {} means "the bundled Plain Pixel at + -- its native 11px". A failed load logs and falls back to tiles, so a + -- typo'd path degrades exactly like a missing page image does above. + if type(def.ttf) == "table" then + local file = def.ttf.file or Font.PLAINPIXEL + local ok, obj = pcall(love.graphics.newFont, file, + def.ttf.size or Font.PLAINPIXEL_SIZE, "mono") + if ok and obj then + -- nearest keeps the pixel font crisp under the integer UI scale + if obj.setFilter then pcall(obj.setFilter, obj, "nearest", "nearest") end + state.ttf = { + font = obj, file = file, + -- the font's own advances already carry a 1px gap at its design + -- size; spacing adds to (or, negative, takes from) every advance + spacing = def.ttf.spacing or 0, + -- bold double-prints each glyph at a 1px offset, for fonts whose + -- single-pixel strokes read too light against the tile art + bold = def.ttf.bold == true, + -- glyphs are taller than the 8px cell (11px base, and the em box + -- reserves even more for vertical extension); anchor the font's + -- baseline to the tile font's, which sits on row 7 of the cell, so + -- caps line up and descenders hang below as the GB font's own do + yOffset = def.ttf.yOffset or (obj.getBaseline + and (GLYPH - 1 - obj:getBaseline()) or (GLYPH - obj:getHeight())), + widths = {}, chars = {}, + } + else + require("src.core.Logger").warn("font: could not load ttf %q (%s)", + tostring(file), tostring(obj)) + end + end +end + +function Font.ttfActive() + return state ~= nil and state.ttf ~= nil end -- re-run load against the data it last saw, so hot reload picks up an @@ -104,6 +160,49 @@ end local SPACE = 0x7F +-- Decode one UTF-8 sequence: codepoint and the index of its last byte, or +-- nil on a malformed lead/continuation (the caller falls back to bytes). +local function utf8Decode(text, i) + local b = text:byte(i) + if not b then return nil, i end + if b < 0x80 then return b, i end + local cont, cp + if b >= 0xF0 then cont, cp = 3, b - 0xF0 + elseif b >= 0xE0 then cont, cp = 2, b - 0xE0 + elseif b >= 0xC0 then cont, cp = 1, b - 0xC0 + else return nil, i end + for k = i + 1, i + cont do + local c = text:byte(k) + if not c or c < 0x80 or c > 0xBF then return nil, i end + cp = cp * 64 + (c - 0x80) + end + return cp, i + cont +end + +local function utf8Encode(cp) + if cp < 0x80 then return string.char(cp) end + if cp < 0x800 then + return string.char(0xC0 + math.floor(cp / 64), 0x80 + cp % 64) + end + if cp < 0x10000 then + return string.char(0xE0 + math.floor(cp / 4096), + 0x80 + math.floor(cp / 64) % 64, 0x80 + cp % 64) + end + return string.char(0xF0 + math.floor(cp / 262144), + 0x80 + math.floor(cp / 4096) % 64, + 0x80 + math.floor(cp / 64) % 64, 0x80 + cp % 64) +end + +-- the character a TTF code draws, cached per code +local function ttfChar(ttf, code) + local ch = ttf.chars[code] + if not ch then + ch = utf8Encode(code - TTF_BASE) + ttf.chars[code] = ch + end + return ch +end + -- Segment text into glyph spans: `{ from, to, code }` byte ranges, one per -- drawn glyph, code nil when the charmap has nothing. A span is a whole -- charmap sequence, so a multi-byte char ("é", "♂") and an ASCII ligature @@ -119,6 +218,7 @@ local SPACE = 0x7F -- boundaries, which is all a headless paginate needs. function Font.split(text) local spans = {} + local ttf = state and state.ttf local i, n = 1, #text while i <= n do local span @@ -127,11 +227,23 @@ function Font.split(text) for _, entry in ipairs(candidates) do local len = #entry.seq if text:sub(i, i + len - 1) == entry.seq then + if ttf then + -- single characters belong to the TTF; only multi-character + -- sequences (ligatures, macros) keep their tile mapping + local cp, last = utf8Decode(entry.seq, 1) + if cp and last == len then break end + end span = { from = i, to = i + len - 1, code = entry.code } break end end end + if not span and ttf then + local cp, last = utf8Decode(text, i) + if cp and cp >= 0x20 then + span = { from = i, to = last, code = TTF_BASE + cp } + end + end if not span then -- Nothing matched. Still keep a UTF-8 sequence whole, so a cut never -- lands mid-character even for a glyph we cannot draw. @@ -185,14 +297,37 @@ function Font.encode(text) end function Font.drawCode(code, x, y) + local ttf = state and state.ttf + if ttf and code >= TTF_BASE then + local prev = love.graphics.getFont() + love.graphics.setFont(ttf.font) + local ch = ttfChar(ttf, code) + love.graphics.print(ch, x, y + ttf.yOffset) + if ttf.bold then love.graphics.print(ch, x + 1, y + ttf.yOffset) end + if prev then love.graphics.setFont(prev) end + return + end local page = pageFor(code) if not page then return end local quad = page.quads[code - page.base] if quad then love.graphics.draw(page.image, quad, x, y) end end --- how far the pen moves past a glyph; 8 unless its page says otherwise +-- how far the pen moves past a glyph; 8 unless its page says otherwise. +-- TTF glyphs answer with the font's own metrics (5px base, 11px for +-- double-width kana/CJK in Plain Pixel), which is what makes TextBox's +-- pixel-budget pagination fit more of a narrow script per line. function Font.advanceOf(code) + local ttf = state and state.ttf + if ttf and code >= TTF_BASE then + local w = ttf.widths[code] + if not w then + w = ttf.font:getWidth(ttfChar(ttf, code)) + ttf.spacing + + (ttf.bold and 1 or 0) + ttf.widths[code] = w + end + return w + end local page = pageFor(code) return page and page.advance or GLYPH end diff --git a/src/render/TextBox.lua b/src/render/TextBox.lua index df502512..43696871 100644 --- a/src/render/TextBox.lua +++ b/src/render/TextBox.lua @@ -370,8 +370,12 @@ function TextBox:draw() local ys = { self.line1Y, self.line2Y } for i, line in ipairs(self.shown) do local y = (ys[i] or self.line2Y) + (i == 1 and off or 0) - for j, code in ipairs(line) do - Font.drawCode(code, self.textX + (j - 1) * 8, y) + -- the pen advances per glyph, matching the pixel budget paginate + -- measured with; every fixed-width page still lands on the 8px grid + local pen = self.textX + for _, code in ipairs(line) do + Font.drawCode(code, pen, y) + pen = pen + Font.advanceOf(code) end end if (self.waiting or (self.done and not self.choice and not self.auto diff --git a/tests/drivers/plainpixel_font_test.lua b/tests/drivers/plainpixel_font_test.lua new file mode 100644 index 00000000..f6b42e7b --- /dev/null +++ b/tests/drivers/plainpixel_font_test.lua @@ -0,0 +1,83 @@ +-- Driver: TTF text mode through the bundled Plain Pixel font. Teleports +-- straight into the overworld (no intro) and shows one dialogue line per +-- language back to back, shooting each: lang_english.png, lang_french.png, +-- lang_german.png, lang_spanish.png, lang_russian.png, lang_japanese.png, +-- lang_chinese.png in SHOT_DIR. Judge glyph coverage, spacing, baseline, +-- and that the tile box border survives every one of them. +-- POKEPORT_DRIVER=tests/drivers/plainpixel_font_test.lua \ +-- POKEPORT_IDENTITY=ttfdemo POKEPORT_TOUCH=0 POKEPORT_VERSION=red \ +-- SHOT_DIR=/tmp/shots love . +return function(game) + local U = dofile("tests/drivers/util.lua") + local DIR = os.getenv("SHOT_DIR") or "/tmp/shots" + local Font = require("src.render.Font") + local TextBox = require("src.render.TextBox") + + local function check(label, ok) + U.log(ok and "PASS" or "FAIL", label) + return ok + end + + -- ---- preconditions ----------------------------------------------------- + check("the bundled TTF is present", + love.filesystem.getInfo(Font.PLAINPIXEL) ~= nil) + local okLoad, ttf = pcall(love.graphics.newFont, Font.PLAINPIXEL, + Font.PLAINPIXEL_SIZE) + check("real LOVE can load it", okLoad and ttf ~= nil) + + game.save.player.name = "bryan" + U.teleport(game, "PALLET_TOWN", 10, 8, "down") + U.wait(10) + + -- what a translation's register("ttf", {}) merges to + game.data.font.ttf = {} + Font.invalidate() + check("ttf active after the merge", Font.ttfActive()) + + local LINES = { + { "english", "The quick brown fox\njumps over the lazy dog!" }, + { "french", "Un \195\169clair enveloppe le\nPOK\195\169MON sauvage! \195\135a alors!" }, + { "german", "Gr\195\182\195\159e und Gewicht des\nPOK\195\169MON \195\188berpr\195\188ft!" }, + { "spanish", "\194\161El POK\195\169MON enemigo\nest\195\161 paralizado! \194\191Y ahora?" }, + { "russian", "\208\148\208\184\208\186\208\184\208\185 " + .. "\208\159\208\158\208\154\208\149\208\156\208\158\208\157 " + .. "\208\191\208\190\209\143\208\178\208\184\208\187\209\129\209\143!" }, + { "japanese", "\227\129\147\227\130\147\227\129\171\227\129\161\227\129\175! " + .. "\227\131\157\227\130\177\227\131\162\227\131\179\227\129\174\n" + .. "\227\129\155\227\129\139\227\129\132\227\129\184 " + .. "\227\130\136\227\129\134\227\129\147\227\129\157!" }, + -- NB: Plain Pixel 0.009's CJK block is partial (e.g. U+62D3, U+5922 + -- draw as tofu); stick to characters it covers + { "chinese", "\228\189\160\229\165\189! \230\136\145\230\152\175" + .. "\229\164\167\229\178\169\229\141\154\229\163\171!" }, + } + + for _, entry in ipairs(LINES) do + local name, text = entry[1], entry[2] + local done = false + local box = TextBox.new(game, text, function() done = true end) + game.stack:push(box) + -- let the typewriter finish the page before shooting it + for _ = 1, 300 do + if box.waiting or box.done then break end + U.wait(1) + end + U.wait(5) + U.shot(game, DIR .. "/lang_" .. name .. ".png") + for _ = 1, 20 do + if done then break end + U.tap(game, "a") + U.wait(10) + end + U.wait(5) + check("dismissed " .. name, done) + end + + game.data.font.ttf = nil + Font.invalidate() + check("clearing the entry restores tile mode", not Font.ttfActive()) + + U.log("shots in", DIR) + U.log("DONE") + love.event.quit(0) +end diff --git a/tests/engine/flexlove_wheel_scroll_dt0.lua b/tests/engine/flexlove_wheel_scroll_dt0.lua new file mode 100644 index 00000000..825146d6 --- /dev/null +++ b/tests/engine/flexlove_wheel_scroll_dt0.lua @@ -0,0 +1,63 @@ +-- Wheel scrolling must survive the launcher's immediate-mode frame order: +-- FlexLove.update(dt) runs in love.update, but beginFrame (in draw) resets +-- the accumulated dt to 0 BEFORE endFrame updates the elements, so +-- ScrollManager:update always receives dt = 0 there. The smooth-scroll +-- interpolation must still advance (it once used a fixed per-frame +-- fraction; the dt-aware blend has to treat dt <= 0 as one nominal 60 Hz +-- step, or every launcher list stops responding to the wheel entirely). +package.path = "./?.lua;./?/init.lua;" .. package.path +if not _G.love then _G.love = require("tests.love_stub") end +love.window.getMode = function() return 1024, 768, { fullscreen = false } end +love.window.getDesktopDimensions = function() return 1920, 1080 end +love.mouse = love.mouse or {} +love.mouse.getPosition = function() return 100, 100 end +love.mouse.isDown = love.mouse.isDown or function() return false end +package.loaded["libs.flexlove.modules.UTF8"] = { + char = string.char, charpattern = ".", codepoint = string.byte, + len = string.len, offset = function(_, n) return n end, + codes = function(s) + local i = 0 + return function() i = i + 1; if i <= #s then return i, s:byte(i) end end + end, +} + +local T = require("tests.modkit") +local FlexLove = require("libs.flexlove.FlexLove") +FlexLove.init({ + immediateMode = true, + performanceMonitoring = false, + keyboardNavigation = false, +}) + +-- One launcher-shaped frame: update BEFORE beginFrame, exactly like +-- LauncherView.update / draw, so endFrame sees _accumulatedDt == 0. +local function frame(wheelAfterBuild) + FlexLove.update(1 / 60) + FlexLove.beginFrame() + local scroller = FlexLove.new({ + id = "scroller", x = 0, y = 0, width = 400, height = 300, + overflowY = "scroll", hideScrollbars = true, + smoothScrollEnabled = true, scrollSpeed = 60, + positioning = "flex", flexDirection = "vertical", + }) + for i = 1, 30 do + FlexLove.new({ parent = scroller, id = "row" .. i, width = 380, height = 40 }) + end + FlexLove.endFrame() + if wheelAfterBuild then FlexLove.wheelmoved(0, -1) end + local sm = scroller._scrollManager + return sm and sm._scrollY or nil, sm and sm._targetScrollY or nil +end + +for _ = 1, 3 do frame(false) end +local y0, t0 = frame(true) +T.eq(t0, 60, "one wheel notch targets one scrollSpeed step") +T.eq(y0, 0, "the notch lands on the frame after input, not the same one") + +local y = y0 +for _ = 1, 5 do y = frame(false) end +T.check(y ~= nil and y > 30, "smooth scroll advances past halfway within 5 dt=0 frames") +for _ = 1, 60 do y = frame(false) end +T.check(y ~= nil and math.abs(y - 60) < 1, "and converges on the target") + +T.finish("flexlove wheel scroll at dt=0") diff --git a/tests/engine/launcher_nx_pad_cursor_test.lua b/tests/engine/launcher_nx_pad_cursor_test.lua index 8e27bffd..eea416b1 100644 --- a/tests/engine/launcher_nx_pad_cursor_test.lua +++ b/tests/engine/launcher_nx_pad_cursor_test.lua @@ -253,8 +253,10 @@ do "NX guard disables Performance.enabled") check(view:find("mp.enabled = false", 1, true) ~= nil, "NX guard disables memory profiling") - check(view:find("if not (imp and imp.isNX", 1, true) ~= nil, - "perf guard is gated on imp.isNX") + -- The guard used to be NX-only; the same perf-timer and GC hitches showed + -- up in desktop scrolling, so it now applies on every platform. + check(view:find("if not (imp and FlexLove.isReady()", 1, true) ~= nil, + "perf guard applies on every platform (not gated on imp.isNX)") check(view:find("parkNxPointerForHost", 1, true) ~= nil, "detach parks NX pointer before tearing down") diff --git a/tests/engine/ttf_font_mode.lua b/tests/engine/ttf_font_mode.lua new file mode 100644 index 00000000..3f4a4219 --- /dev/null +++ b/tests/engine/ttf_font_mode.lua @@ -0,0 +1,183 @@ +-- TTF TEXT MODE: a translation registers `font:register("ttf", {})` and the +-- engine renders ordinary characters through a real TTF (the bundled Plain +-- Pixel, assets/fonts/plainpixel/) instead of demanding a hand-drawn glyph +-- page per script. The contracts under test: +-- +-- * with no ttf entry nothing changes: vanilla text stays tile-for-tile +-- identical (the same guarantee Strings makes for an absent catalog); +-- * with it, single characters become TTF glyph codes while multi-char +-- charmap sequences ( macros, the 'd ligatures) and the sub-0x80 +-- box chrome keep their tiles, so borders never depend on TTF coverage; +-- * advances come from the font's metrics (5px Latin, 11px double-width +-- kana/CJK in Plain Pixel), which TextBox's pixel-budget paginate and +-- its per-glyph draw pen both honor; +-- * the "ttf" id is a legal font-registry entry and merges to +-- data.font.ttf, rebuilt each merge so disabling the mod disables it. +-- +-- luajit tests/engine/ttf_font_mode.lua + +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.modkit") +local Font = require("src.render.Font") + +local BASE = Font.TTF_BASE + +-- a charmap with a single-char entry, a multi-byte single char, and a +-- two-char ligature: the three shapes split() has to tell apart +local CHARMAP = { + { code = 0x80, seq = "A" }, + { code = 0xBA, seq = "\195\169" }, -- é + { code = 0xD0, seq = "'d" }, +} + +-- ------------------------------------------------- vanilla stays vanilla + +Font.load({ font = { charmap = CHARMAP } }) +T.check(not Font.ttfActive(), "no ttf entry means tile mode") +T.eq(Font.encode("A")[1], 0x80, "charmap keeps mapping to tiles") +T.eq(Font.advanceOf(0x80), 8, "and the pen stays 8px monospace") + +-- ------------------------------------------------- the ttf takes over + +Font.load({ font = { charmap = CHARMAP, ttf = {} } }) +T.check(Font.ttfActive(), "an empty ttf table loads the bundled font") + +T.eq(Font.encode("A")[1], BASE + 65, + "a single character routes to the TTF even with a charmap entry") +T.eq(Font.encode("\195\169")[1], BASE + 0xE9, + "a multi-byte single character does too") +T.eq(Font.encode("'d")[1], 0xD0, + "a multi-character ligature keeps its tile glyph") +T.eq(#Font.encode("'d"), 1, "and still consumes the whole sequence") +T.eq(Font.encode("\227\129\130")[1], BASE + 0x3042, + "kana with no charmap entry at all still gets a glyph") + +-- metrics come straight from the font object (the stub: half the point +-- size per codepoint, doubled from U+1000 up, mimicking Plain Pixel's +-- single/double width split) +local latin = Font.advanceOf(BASE + 65) +local kana = Font.advanceOf(BASE + 0x3042) +T.check(latin > 0, "a TTF glyph reports a positive advance") +T.eq(kana, latin * 2, "double-width kana advances twice a Latin glyph") +T.eq(Font.width("AB"), latin * 2, "width() sums TTF advances") +T.eq(Font.draw("AB", 0, 0), latin * 2, "draw() returns the same pen travel") + +-- border chrome stays on tiles: below every page base here, drawCode must +-- not touch the TTF path (nothing to assert beyond "does not blow up", +-- because with no page image loaded the tile path draws nothing) +Font.drawCode(Font.BORDER.tl, 0, 0) + +-- ------------------------------------------------- draw details + +-- drawCode prints through the TTF at the configured vertical offset +-- (default bottom-aligns the tall glyph to the 8px cell) and restores +-- whatever font the caller had set +do + local g = love.graphics + local prints = {} + local oldPrint, oldSetFont = g.print, g.setFont + local marker = { marker = true } + g.setFont(marker) + g.print = function(text, x, y) prints[#prints + 1] = { text = text, x = x, y = y } end + Font.drawCode(BASE + 65, 10, 20) + g.print = oldPrint + T.eq(#prints, 1, "a TTF code draws through one love.graphics.print") + T.eq(prints[1].text, "A", "printing the character it encodes") + T.eq(prints[1].x, 10, "at the pen x") + -- stub baseline is px - 2 = 13 at the size-15 default; tile row 7 + T.eq(prints[1].y, 20 + (7 - 13), "baseline-aligned to row 7 of the cell") + T.eq(g.getFont(), marker, "the caller's font is restored") + g.setFont = oldSetFont +end + +-- bold = true double-prints at a 1px offset and widens the advance +Font.load({ font = { charmap = {}, ttf = { bold = true } } }) +do + local g = love.graphics + local prints = {} + local oldPrint = g.print + g.print = function(_, x) prints[#prints + 1] = x end + Font.drawCode(BASE + 65, 10, 20) + g.print = oldPrint + T.eq(#prints, 2, "bold prints twice") + T.eq(prints[2], 11, "the second pass sits 1px over") + T.eq(Font.advanceOf(BASE + 65), latin + 1, "and the advance grows with it") +end +Font.load({ font = { charmap = CHARMAP, ttf = {} } }) + +-- spacing and yOffset are honored when a mod tunes them +Font.load({ font = { charmap = {}, ttf = { spacing = 2, yOffset = -2 } } }) +T.eq(Font.advanceOf(BASE + 65), latin + 2, "spacing pads every advance") +do + local g = love.graphics + local y + local oldPrint = g.print + g.print = function(_, _, py) y = py end + Font.drawCode(BASE + 65, 0, 20) + g.print = oldPrint + T.eq(y, 18, "yOffset overrides the bottom-align default") +end + +-- a bad file degrades to tile mode instead of crashing the boot +Font.load({ font = { charmap = CHARMAP, + ttf = { file = "no/such/font.ttf" } } }) +T.check(not Font.ttfActive(), "an unloadable ttf falls back to tiles") +T.eq(Font.encode("A")[1], 0x80, "and the charmap works as if never asked") + +-- ------------------------------------------------- TextBox draws with it + +-- the dialogue box pen must advance per glyph (it measured that way in +-- paginate all along); with the TTF active a line of 5px glyphs would +-- otherwise be drawn spread across the 8px grid +Font.load({ font = { charmap = CHARMAP, ttf = {} } }) +do + local TextBox = require("src.render.TextBox") + local box = setmetatable({ + boxTx = 0, boxTy = 12, boxTw = 20, boxTh = 6, + textX = 8, line1Y = 112, line2Y = 128, + shown = { Font.encode("AB'd") }, blink = 0, + }, TextBox) + local pens = {} + local oldDraw = Font.drawCode + Font.drawCode = function(code, x, y) + if code >= BASE or code == 0xD0 then pens[#pens + 1] = { code = code, x = x } end + end + box:draw() + Font.drawCode = oldDraw + T.eq(#pens, 3, "three glyphs drawn for AB'd") + T.eq(pens[1].x, 8, "the pen starts at textX") + T.eq(pens[2].x, 8 + latin, "and moves by the TTF advance, not 8px") + T.eq(pens[3].x, 8 + latin * 2, "the ligature tile sits after the TTF pair") +end + +-- ------------------------------------------------- the registry entry + +do + local Schemas = require("src.mods.Schemas") + local spec = Schemas.REGISTRIES["font"] + T.check(select(1, Schemas.check(spec, "font", "ttf", {})) == true, + 'register("ttf", {}) is legal: every field is optional') + T.check(select(1, Schemas.check(spec, "font", "ttf", + { file = "mods/x/f.ttf", size = 11, spacing = 1, yOffset = -3 })) == true, + "so is a fully tuned entry") + T.check(Schemas.check(spec, "font", "ttf", { image = "x.png", base = 0x100 }) + == nil, "a page payload under the ttf id is refused") + T.check(Schemas.check(spec, "font", "page", {}) == nil, + "and a bare page still needs image and base") + + -- write(): the entry lands on data.font.ttf and is rebuilt per merge + local target = { charmap = {}, pages = {} } + local registry = { order = { "ttf" }, + get = function(_, id) return { size = 11 } end } + spec.write(target, registry) + T.eq(target.ttf and target.ttf.size, 11, "write() fills data.font.ttf") + T.check(target.pages.ttf == nil, "and does not mistake it for a page") + spec.write(target, { order = {}, get = function() return nil end }) + T.check(target.ttf == nil, "a merge without the mod clears it again") +end + +-- leave the shared Font module in tile mode for whatever runs next +Font.load({ font = { charmap = {} } }) + +T.finish("ttf font mode") diff --git a/tests/love_stub.lua b/tests/love_stub.lua index 06fb2a91..56927689 100644 --- a/tests/love_stub.lua +++ b/tests/love_stub.lua @@ -74,11 +74,36 @@ stub.graphics = { -- newMesh / stencil stay absent on purpose: tools/save-editor/Theme.lua -- probes for them and falls back to flat fills, which is the path a -- headless run should take. - newFont = function(size) - local px = size or 12 + -- Accepts both real signatures: newFont(size) and + -- newFont(filename, size, hinting), the latter for the TTF text mode + -- (src/render/Font.lua). Width counts codepoints, not bytes, and CJK / + -- kana measure double, so tests can assert the wide-glyph metrics a real + -- pixel font (5px base, 11px double-width) exhibits without rasterizing. + newFont = function(a, b) + if type(a) == "string" then + -- real LÖVE raises on a missing file; callers pcall and fall back + local handle = io.open(a, "rb") + if not handle then error("Could not open file " .. a) end + handle:close() + end + local px = (type(a) == "number" and a) or b or 12 + local unit = math.max(1, px * 0.5) return { - getWidth = function(_, text) return #tostring(text) * math.max(1, px * 0.5) end, + getWidth = function(_, text) + text = tostring(text) + local w, i, n = 0, 1, #text + while i <= n do + local byte = text:byte(i) + local len = byte >= 0xF0 and 4 or byte >= 0xE0 and 3 + or byte >= 0xC0 and 2 or 1 + w = w + (byte >= 0xE1 and 2 or 1) * unit -- U+1000+: double width + i = i + len + end + return w + end, getHeight = function() return px end, + getBaseline = function() return px - 2 end, + setFilter = noop, } end, setFont = function(f) gstate.font = f end, diff --git a/tests/save_convert_tests.lua b/tests/save_convert_tests.lua index a775f0c4..bd499eb2 100644 --- a/tests/save_convert_tests.lua +++ b/tests/save_convert_tests.lua @@ -590,5 +590,37 @@ do .. data.pokemon.NIDORAN_F.catchRate .. ")") end +-- (4) name-field tails: real cartridge saves legitimately hold 0x00 (and +-- stale glyph) bytes after a name's $50 terminator, and rewriting them broke +-- the import -> export byte-identical round trip. With a template every +-- tail byte must survive verbatim; only a templateless (engine-origin) +-- export $50-pads the tail (#206). +do + local s = SaveData.newGame({ playerName = "RED" }) + for i = 1, 12 do s.boxes = s.boxes or {}; s.boxes[i] = {} end + local b1 = GenSave.encode(s, data, nil) + -- templateless: the tail past "RED@" must be all $50 padding + local ok50 = true + for i = 4, 10 do + if b1:byte(OFF.playerName + i + 1) ~= 0x50 then ok50 = false end + end + check(ok50, "templateless export $50-pads the player-name tail (#206)") + -- build a template whose player-name tail mixes 0x00 and stale glyphs + -- after the terminator, exactly like a real traded/edited cartridge save + local tpl = {} + for i = 1, #b1 do tpl[i] = b1:sub(i, i) end + tpl[OFF.playerName + 5] = string.char(0x00) + tpl[OFF.playerName + 6] = string.char(0x81) + tpl[OFF.playerName + 7] = string.char(0x00) + local tplBytes = table.concat(tpl) + local decoded = GenSave.decode(tplBytes, data) + check(decoded.player.name == "RED", + "a 0x00/stale tail past the terminator does not leak into the name") + local b2 = GenSave.encode(decoded, data) + check(b2:sub(OFF.playerName + 1, OFF.playerName + 11) + == tplBytes:sub(OFF.playerName + 1, OFF.playerName + 11), + "template name tails (incl. 0x00 bytes) round-trip byte-identical") +end + print(string.format("save convert: %d/%d checks passed", checks - failures, checks)) if failures > 0 then os.exit(1) end diff --git a/tools/gbromdiff/.gitignore b/tools/gbromdiff/.gitignore new file mode 100644 index 00000000..036f67bf --- /dev/null +++ b/tools/gbromdiff/.gitignore @@ -0,0 +1,3 @@ +*.gb +*.sym +__pycache__/ diff --git a/tools/gbromdiff/LICENSE b/tools/gbromdiff/LICENSE new file mode 100644 index 00000000..97d18c1c --- /dev/null +++ b/tools/gbromdiff/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 hernan0078 + +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/tools/gbromdiff/README.md b/tools/gbromdiff/README.md new file mode 100644 index 00000000..37e93e2b --- /dev/null +++ b/tools/gbromdiff/README.md @@ -0,0 +1,97 @@ +# gbromdiff + +Compare two Game Boy ROMs bank by bank, and say **where** and **how** they +disagree. + +Written for one specific problem: bringing a localised Gen 1 Pokémon release +into a disassembly. It is not specific to Pokémon, or to Gen 1 — any pair of +Game Boy ROMs will do. + +## Why + +The European Pokémon releases are rebuilds of their US counterparts. Most +banks are byte-identical, the text banks are entirely different, and a handful +of code banks are the US code with pointers shifted. Which bank is which is +the first thing you need to know and the last thing anyone writes down. + +That distinction is the whole point of this tool: + +``` + bank differing bytes shape + 0x04 30 ( 0.2%) patched + 0x10 16328 ( 99.7%) replaced +``` + +A bank differing in 99.7% of its bytes is a **different payload** — translated +text — and needs new source. A bank differing in 0.2% is **the same code with +values moved**, and usually needs a pointer table corrected rather than a +rewrite. Those two findings lead to completely different work, and a plain +`cmp` cannot tell them apart. + +## The loop it is built for + +``` +1. build the disassembly +2. diff the build against the retail ROM ← this tool +3. fix the banks that disagree +4. go to 1, until nothing disagrees +``` + +Exit status is **0 when the ROMs are identical** and **1 when they differ**, so +it drops straight into that loop: + +```bash +make && ./gbromdiff.py build.gb retail.gb || echo "not there yet" +``` + +## Usage + +```bash +./gbromdiff.py A.gb B.gb # bank-by-bank summary +./gbromdiff.py A.gb B.gb --regions # contiguous differing runs +./gbromdiff.py A.gb B.gb --sym pokeyellow.sym # name the symbols involved +./gbromdiff.py A.gb B.gb --json # machine-readable +``` + +With an rgbds `.sym` file it names the symbol each differing region falls +inside, which turns + +``` +0x0703A1 differs +``` + +into + +``` +0x0703A1-0x0703B4 bank 0x1C 20 bytes TextPredef+0x3A1 +``` + +`--gap N` controls how many matching bytes are tolerated inside one region +(default 16). Without it, a shifted pointer table reports as hundreds of +one-byte findings instead of one region worth looking at. + +No dependencies beyond Python 3. + +## What this does not do + +It does not build anything, and it does not write a disassembly. It tells you +where two ROMs differ. Turning that into a source tree that rebuilds a +localised ROM byte-for-byte is the actual project; this is the instrument you +point at it between iterations. + +## Context + +The Spanish Red and Blue releases are supported in +[gen1recomp](https://github.com/bryanthaboi/gen1recomp) by way of +[einstein95/pokered-es](https://github.com/einstein95/pokered-es), a +shift-matching disassembly whose `.sym` files provide Spanish addresses for +every symbol. + +Spanish **Yellow** has no equivalent, so it cannot be supported the same way. +French (`Narishma-gb/pokeyellow-fr`) and German (`Brianum/pokeyellow-de`) +Yellow disassemblies both exist, so adapting pret's Yellow to a European +release is demonstrably possible — it simply has not been done for Spanish. +This tool exists to make that attempt less tedious. + +MIT licensed. Contributions welcome, particularly from anyone actually +attempting `pokeyellow-es`. diff --git a/tools/gbromdiff/gbromdiff.py b/tools/gbromdiff/gbromdiff.py new file mode 100755 index 00000000..ded86510 --- /dev/null +++ b/tools/gbromdiff/gbromdiff.py @@ -0,0 +1,246 @@ +#!/usr/bin/env python3 +"""Compare two Game Boy ROMs bank by bank, and say where they disagree. + +Written for the problem of bringing a localised Gen 1 release into a +disassembly. The European Pokemon releases are rebuilds of their US +counterparts: most banks are byte-identical, the text banks are wholly +different, and a handful of code banks are the US code with shifted +pointers. Knowing WHICH is which is the first thing you need and the +last thing anyone writes down. + +The loop this is built for: + + 1. build the disassembly + 2. diff the build against the retail ROM + 3. fix the banks that disagree + 4. go to 1, until nothing disagrees + +Step 2 is this script. With a .sym file it also names the symbols that +live inside each differing region, which turns "bank 0x1C differs at +0x4A31" into "bank 0x1C differs, starting inside TextPredef". + +Usage: + + gbromdiff.py A.gb B.gb bank-by-bank summary + gbromdiff.py A.gb B.gb --regions contiguous differing runs + gbromdiff.py A.gb B.gb --sym pokeyellow.sym name the symbols involved + gbromdiff.py A.gb B.gb --json machine-readable + +Exit status is 0 when the ROMs are identical, 1 when they differ, 2 on a +usage error -- so it can drive a build loop directly. +""" + +import argparse +import json +import os +import sys + +BANK_SIZE = 0x4000 + + +def load(path): + with open(path, "rb") as fh: + return fh.read() + + +def header(rom): + """Title, CGB flag and global checksum, straight out of the cartridge + header. Useful for saying WHICH releases are being compared without + the caller having to know the hashes.""" + if len(rom) < 0x150: + return {} + title = rom[0x134:0x143].split(b"\x00")[0] + try: + title = title.decode("ascii", "replace").strip() + except Exception: + title = repr(title) + return { + "title": title, + "cgb": rom[0x143], + "rom_size_code": rom[0x148], + "global_checksum": (rom[0x14E] << 8) | rom[0x14F], + } + + +def banks(rom): + return (len(rom) + BANK_SIZE - 1) // BANK_SIZE + + +def bank_report(a, b): + """Per-bank identical / differs / missing, with a byte count.""" + out = [] + for i in range(max(banks(a), banks(b))): + lo, hi = i * BANK_SIZE, (i + 1) * BANK_SIZE + ba, bb = a[lo:hi], b[lo:hi] + if not ba or not bb: + out.append({"bank": i, "state": "missing", + "in_a": bool(ba), "in_b": bool(bb)}) + continue + if ba == bb: + out.append({"bank": i, "state": "identical", "differing": 0}) + continue + n = sum(1 for x, y in zip(ba, bb) if x != y) + # A bank that differs in nearly every byte is a different payload + # (translated text); one that differs in a scatter of bytes is the + # same code with pointers moved. That distinction is the whole + # reason to look at a percentage rather than a boolean. + pct = 100.0 * n / min(len(ba), len(bb)) + out.append({"bank": i, "state": "differs", "differing": n, + "percent": round(pct, 2), + "shape": "replaced" if pct > 60 else + ("patched" if pct < 5 else "mixed")}) + return out + + +def regions(a, b, gap=16): + """Contiguous runs of differing bytes, merging runs separated by fewer + than `gap` matching bytes -- otherwise a shifted pointer table reads as + hundreds of one-byte findings instead of one region.""" + out = [] + n = min(len(a), len(b)) + start = None + last = None + for i in range(n): + if a[i] != b[i]: + if start is None: + start = i + elif last is not None and i - last > gap: + out.append((start, last)) + start = i + last = i + if start is not None: + out.append((start, last)) + if len(a) != len(b): + out.append((n, max(len(a), len(b)) - 1)) + return out + + +def load_symbols(path): + """An rgbds .sym file: `BB:AAAA Name` per line. Returned as a list of + (absolute_offset, bank, addr, name), sorted, so a region can be mapped + to whatever symbol most recently preceded it.""" + syms = [] + with open(path, "r", encoding="utf-8", errors="replace") as fh: + for line in fh: + line = line.split(";")[0].strip() + if not line or ":" not in line: + continue + try: + where, name = line.split(None, 1) + bank_s, addr_s = where.split(":") + bank, addr = int(bank_s, 16), int(addr_s, 16) + except ValueError: + continue + # bank 0 is 0000-3FFF; every other bank is paged in at 4000 + offset = addr if bank == 0 else bank * BANK_SIZE + (addr - 0x4000) + syms.append((offset, bank, addr, name.strip())) + syms.sort() + return syms + + +def symbol_before(syms, offset): + """The last symbol at or before `offset` -- i.e. the thing this byte is + most likely part of. Binary search over the sorted table.""" + lo, hi = 0, len(syms) - 1 + best = None + while lo <= hi: + mid = (lo + hi) // 2 + if syms[mid][0] <= offset: + best = syms[mid] + lo = mid + 1 + else: + hi = mid - 1 + return best + + +def main(): + ap = argparse.ArgumentParser( + description="Compare two Game Boy ROMs bank by bank.") + ap.add_argument("rom_a") + ap.add_argument("rom_b") + ap.add_argument("--regions", action="store_true", + help="list contiguous differing runs, not just banks") + ap.add_argument("--sym", help="rgbds .sym file, to name the symbols " + "each differing region falls inside") + ap.add_argument("--gap", type=int, default=16, + help="matching bytes tolerated inside one region " + "(default 16)") + ap.add_argument("--limit", type=int, default=40, + help="max regions to print (default 40)") + ap.add_argument("--json", action="store_true") + args = ap.parse_args() + + for p in (args.rom_a, args.rom_b): + if not os.path.isfile(p): + print(f"error: no such file: {p}", file=sys.stderr) + return 2 + + a, b = load(args.rom_a), load(args.rom_b) + rep = bank_report(a, b) + same = [r for r in rep if r["state"] == "identical"] + diff = [r for r in rep if r["state"] == "differs"] + + result = { + "a": {"path": args.rom_a, "bytes": len(a), **header(a)}, + "b": {"path": args.rom_b, "bytes": len(b), **header(b)}, + "banks_total": len(rep), + "banks_identical": len(same), + "banks_differing": len(diff), + "banks": rep, + } + + if args.regions or args.sym: + regs = regions(a, b, args.gap) + syms = load_symbols(args.sym) if args.sym else None + listed = [] + for start, end in regs[: args.limit]: + item = {"start": start, "end": end, "length": end - start + 1, + "bank": start // BANK_SIZE} + if syms: + s = symbol_before(syms, start) + if s: + item["symbol"] = s[3] + item["symbol_offset"] = start - s[0] + listed.append(item) + result["regions_total"] = len(regs) + result["regions"] = listed + + if args.json: + print(json.dumps(result, indent=2)) + return 0 if not diff and len(a) == len(b) else 1 + + ha, hb = result["a"], result["b"] + print(f"A {ha.get('title','?'):<16} {len(a):>8} bytes {args.rom_a}") + print(f"B {hb.get('title','?'):<16} {len(b):>8} bytes {args.rom_b}") + print() + if not diff and len(a) == len(b): + print(f"IDENTICAL — all {len(rep)} banks match") + return 0 + + print(f"{len(same)}/{len(rep)} banks identical, {len(diff)} differ") + print() + print(" bank differing bytes shape") + for r in diff: + if r["state"] != "differs": + continue + print(f" 0x{r['bank']:02X} {r['differing']:>6} " + f"({r['percent']:>5.1f}%) {r['shape']}") + print() + print(" replaced = a different payload (translated text)") + print(" patched = the same code with a few values moved") + + if "regions" in result: + print() + print(f"{result['regions_total']} differing regions " + f"(showing {len(result['regions'])}):") + for item in result["regions"]: + line = (f" 0x{item['start']:06X}-0x{item['end']:06X} " + f"bank 0x{item['bank']:02X} {item['length']:>6} bytes") + if "symbol" in item: + line += f" {item['symbol']}+0x{item['symbol_offset']:X}" + print(line) + return 1 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/modkit.py b/tools/modkit.py index fb0b9149..56e439fa 100644 --- a/tools/modkit.py +++ b/tools/modkit.py @@ -7,7 +7,7 @@ Subcommands: scaffold [--profile content|overhaul|total_conversion] [--api 2] [--github owner/repo] [--experimental] [--dest DIR] [--force] translation [--language NAME] [--base auto|fixture|imported] - [--refresh] [--dest DIR] + [--refresh] [--dest DIR] [--pixel-font] validate [--strict] [--base auto|fixture|imported] lint pack [-o out.modpkg] @@ -1475,6 +1475,17 @@ return function(mod) end -- ---- glyphs ------------------------------------------------------- + -- Text rendering through the bundled Plain Pixel TTF ("Plain Pixel + -- Font" by Douglas Vautour (Burpy Fresh), CC-BY 4.0 -- see + -- assets/fonts/plainpixel/README.md). Registered, it replaces the tile + -- font for ordinary characters, so a translation needs no glyph sheet + -- at all; box borders and -style macros keep their tiles. Options: + -- { file = mod.assets:path("myfont.ttf"), size = 15, spacing = 0, + -- yOffset = -6, bold = true } -- size is the font's design em (Plain + -- Pixel only rasterizes cleanly at multiples of 15), bold thickens a + -- 1px-stroke font that reads too light. + {{ttf_register}}mod.content.font:register("ttf", {}) + -- Register the sheet BEFORE anything asks for a glyph on it. base is -- the first code the page owns; 0x100 and up is free space above the -- vanilla pages, so a new alphabet never collides with them. @@ -1567,6 +1578,14 @@ you can translate straight from it. ## Start with the font, not the text +The fast path: scaffold with `--pixel-font` (or uncomment the +`mod.content.font:register("ttf", {})` line in `main.lua`) and the game +renders text through the engine's bundled Plain Pixel TTF, which already +covers Latin with diacritics, Cyrillic, kana and CJK. No glyph sheet, no +charmap; `lang/font.lua` and `lang/charmap.lua` can stay empty. The rest +of this section is for translations that want the hand-drawn tile look +instead. + The engine draws from **glyph pages**: an image of 8x8 cells plus a charmap saying which byte sequence draws which cell. The vanilla pages sit at `$60` and `$80`. Anything from `0x100` up is free, so a new alphabet is added @@ -1665,7 +1684,13 @@ Nothing is translated yet: {{total}} strings are waiting in `lang/`. - `assets/font/` - your glyph sheet ''' -FONT_README = '''Put your glyph sheet here. +FONT_README = '''You may not need this directory at all: scaffold with +`--pixel-font` (or uncomment the `register("ttf", {})` line in main.lua) +and text renders through the engine's bundled Plain Pixel TTF, which +covers Latin, kana and CJK out of the box. A glyph sheet is only for a +translation that wants the hand-drawn GB look. + +Put your glyph sheet here. A page is a PNG of 8x8 cells, 16 per row by default, black on white. Codes run left to right and top to bottom starting at the page's `base`, so the @@ -1761,6 +1786,7 @@ def cmd_translation(args, repo): "{{extra}}": "", "{{github_line}}": "", "{{experimental}}": "false", + "{{ttf_register}}": "" if args.pixel_font else "-- ", "{{total}}": str(sum(counts.values())), "{{table}}": "\n".join( f"| `lang/{name}.lua` | {counts[name]} |" for name, *_ in catalogs), @@ -1999,6 +2025,9 @@ def main(argv): p.add_argument("--dest") p.add_argument("--base", default="auto", choices=["auto", "fixture", "imported"]) + p.add_argument("--pixel-font", action="store_true", + help="render text through the bundled Plain Pixel TTF " + "instead of the tile font (no glyph sheet needed)") p.add_argument("--refresh", action="store_true", help="re-harvest the catalogs, keeping existing work") p.add_argument("--force", action="store_true")