From befbc7fc9ba65497ed757668e0e2c91bb8401d9d Mon Sep 17 00:00:00 2001 From: Tsanie Lily Date: Thu, 27 Jul 2023 22:07:24 +0800 Subject: [PATCH] home page for App --- FlowerApp/AppShell.xaml | 8 +- FlowerApp/Controls/AppContentPage.cs | 59 +++ FlowerApp/Controls/AppResources.cs | 8 + FlowerApp/Controls/FlowerClientItem.cs | 57 +++ FlowerApp/Controls/PropertyExtension.cs | 9 + FlowerApp/Controls/WaterfallLayout.cs | 12 - FlowerApp/Data/Constants.cs | 65 +++- FlowerApp/Data/FlowerDatabase.cs | 132 ++++++- FlowerApp/Data/Model/DefinitionItem.cs | 29 ++ FlowerApp/Data/Model/FlowerItem.cs | 6 +- FlowerApp/Data/Model/ParamItem.cs | 22 ++ FlowerApp/Data/Model/PhotoItem.cs | 8 +- FlowerApp/Data/Model/RecordItem.cs | 2 - FlowerApp/Data/Model/UserItem.cs | 10 +- FlowerApp/Extensions.cs | 18 + FlowerApp/FlowerApp.csproj | 6 + FlowerApp/Handlers/WaterfallLayoutHandler.cs | 20 - FlowerApp/Localizations.Designer.cs | 63 ++++ FlowerApp/Localizations.resx | 21 ++ FlowerApp/Localizations.zh-CN.resx | 21 ++ FlowerApp/MainPage.xaml | 81 ++-- FlowerApp/MainPage.xaml.cs | 156 ++++++-- FlowerApp/MauiProgram.cs | 9 +- .../Platforms/iOS/Controls/FlowLayout.cs | 125 ------- .../iOS/Controls/MauiWaterfallLayout.cs | 86 ----- .../iOS/Handlers/WaterfallLayoutHandler.cs | 26 -- FlowerApp/Resources/Images/empty_flower.jpg | Bin 0 -> 183039 bytes Server/Constants.cs | 10 +- Server/Controller/ApiController.cs | 1 + Server/Controller/ApiController.structs.cs | 5 + Server/Controller/BaseController.cs | 42 +-- Server/Controller/BaseController.sqlite.cs | 2 +- Server/Controller/EventApiController.cs | 16 +- Server/Controller/FlowerApiController.cs | 16 +- Server/Data/Model/PhotoItem.cs | 12 + .../20230724084100_Add-Photo-Size.Designer.cs | 353 ++++++++++++++++++ .../20230724084100_Add-Photo-Size.cs | 38 ++ .../Migrations/FlowerDatabaseModelSnapshot.cs | 10 +- Server/Program.cs | 2 +- Server/Server.csproj | 7 +- 40 files changed, 1175 insertions(+), 398 deletions(-) create mode 100644 FlowerApp/Controls/AppContentPage.cs create mode 100644 FlowerApp/Controls/AppResources.cs create mode 100644 FlowerApp/Controls/FlowerClientItem.cs create mode 100644 FlowerApp/Controls/PropertyExtension.cs delete mode 100644 FlowerApp/Controls/WaterfallLayout.cs create mode 100644 FlowerApp/Data/Model/DefinitionItem.cs create mode 100644 FlowerApp/Data/Model/ParamItem.cs create mode 100644 FlowerApp/Extensions.cs delete mode 100644 FlowerApp/Handlers/WaterfallLayoutHandler.cs delete mode 100644 FlowerApp/Platforms/iOS/Controls/FlowLayout.cs delete mode 100644 FlowerApp/Platforms/iOS/Controls/MauiWaterfallLayout.cs delete mode 100644 FlowerApp/Platforms/iOS/Handlers/WaterfallLayoutHandler.cs create mode 100644 FlowerApp/Resources/Images/empty_flower.jpg create mode 100644 Server/Migrations/20230724084100_Add-Photo-Size.Designer.cs create mode 100644 Server/Migrations/20230724084100_Add-Photo-Size.cs diff --git a/FlowerApp/AppShell.xaml b/FlowerApp/AppShell.xaml index 9ff868e..aaa8eff 100644 --- a/FlowerApp/AppShell.xaml +++ b/FlowerApp/AppShell.xaml @@ -3,13 +3,13 @@ x:Class="Blahblah.FlowerApp.AppShell" xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" - xmlns:local="clr-namespace:Blahblah.FlowerApp" + xmlns:l="clr-namespace:Blahblah.FlowerApp" Shell.FlyoutBehavior="Disabled" Title="Flower Story"> + Title="{l:Lang home, Default=Garden Square}" + ContentTemplate="{DataTemplate l:HomePage}" + Route="HomePage" /> diff --git a/FlowerApp/Controls/AppContentPage.cs b/FlowerApp/Controls/AppContentPage.cs new file mode 100644 index 0000000..1ca619e --- /dev/null +++ b/FlowerApp/Controls/AppContentPage.cs @@ -0,0 +1,59 @@ +namespace Blahblah.FlowerApp; + +public class AppContentPage : ContentPage +{ + protected static string L(string key, string defaultValue = "") + { + return LocalizationResource.GetText(key, defaultValue); + } + + protected static Task FetchAsync(string url, CancellationToken cancellation = default) + { + return Extensions.FetchAsync(url, cancellation); + } + + protected T GetValue(BindableProperty property) + { + return (T)GetValue(property); + } + + protected Task AlertError(string error) + { + return Alert(LocalizationResource.GetText("error", "Error"), error); + } + + protected Task Alert(string title, string message, string? cancel = null) + { + cancel ??= LocalizationResource.GetText("ok", "Ok"); + + if (MainThread.IsMainThread) + { + return DisplayAlert(title, message, cancel); + } + var taskSource = new TaskCompletionSource(); + MainThread.BeginInvokeOnMainThread(async () => + { + await DisplayAlert(title, message, cancel); + taskSource.TrySetResult(); + }); + return taskSource.Task; + } + + protected Task Confirm(string title, string question, string? accept = null, string? cancel = null) + { + accept ??= LocalizationResource.GetText("yes", "Yes"); + cancel ??= LocalizationResource.GetText("no", "No"); + + if (MainThread.IsMainThread) + { + return DisplayAlert(title, question, accept, cancel); + } + var taskSource = new TaskCompletionSource(); + MainThread.BeginInvokeOnMainThread(async () => + { + var result = await DisplayAlert(title, question, accept, cancel); + taskSource.TrySetResult(result); + }); + return taskSource.Task; + } +} diff --git a/FlowerApp/Controls/AppResources.cs b/FlowerApp/Controls/AppResources.cs new file mode 100644 index 0000000..d3458cb --- /dev/null +++ b/FlowerApp/Controls/AppResources.cs @@ -0,0 +1,8 @@ +namespace Blahblah.FlowerApp; + +internal class AppResources +{ + public const string EmptyCover = "empty_flower.jpg"; + + public static readonly Size EmptySize = new(512, 339); +} diff --git a/FlowerApp/Controls/FlowerClientItem.cs b/FlowerApp/Controls/FlowerClientItem.cs new file mode 100644 index 0000000..211b7e4 --- /dev/null +++ b/FlowerApp/Controls/FlowerClientItem.cs @@ -0,0 +1,57 @@ +using Blahblah.FlowerApp.Data.Model; +using static Blahblah.FlowerApp.PropertyExtension; + +namespace Blahblah.FlowerApp.Controls; + +public class FlowerClientItem : BindableObject +{ + static readonly BindableProperty NameProperty = CreateProperty(nameof(Name)); + static readonly BindableProperty CategoryProperty = CreateProperty(nameof(Category)); + static readonly BindableProperty CoverProperty = CreateProperty(nameof(Cover)); + static readonly BindableProperty BoundsProperty = CreateProperty(nameof(Bounds)); + + public int Id { get; } + public FlowerItem? FlowerItem { get; } + + public string Name + { + get => (string)GetValue(NameProperty); + set => SetValue(NameProperty, value); + } + public int Category + { + get => (int)GetValue(CategoryProperty); + set => SetValue(CategoryProperty, value); + } + public ImageSource? Cover + { + get => (ImageSource?)GetValue(CoverProperty); + set => SetValue(CoverProperty, value); + } + public Rect Bounds + { + get => (Rect)GetValue(BoundsProperty); + set => SetValue(BoundsProperty, value); + } + + public int? Width { get; set; } + public int? Height { get; set; } + + public FlowerClientItem(int id) + { + Id = id; + } + + public FlowerClientItem(FlowerItem item) : this(item.Id) + { + FlowerItem = item; + Name = item.Name; + Category = item.Category; + + if (item.Photos?.Length > 0 && item.Photos[0] is PhotoItem cover) + { + Width = cover.Width; + Height = cover.Height; + } + } +} diff --git a/FlowerApp/Controls/PropertyExtension.cs b/FlowerApp/Controls/PropertyExtension.cs new file mode 100644 index 0000000..e5b52c2 --- /dev/null +++ b/FlowerApp/Controls/PropertyExtension.cs @@ -0,0 +1,9 @@ +namespace Blahblah.FlowerApp; + +internal sealed class PropertyExtension +{ + public static BindableProperty CreateProperty(string propertyName, T? defaultValue = default) + { + return BindableProperty.Create(propertyName, typeof(T), typeof(V), defaultValue); + } +} diff --git a/FlowerApp/Controls/WaterfallLayout.cs b/FlowerApp/Controls/WaterfallLayout.cs deleted file mode 100644 index e771ad5..0000000 --- a/FlowerApp/Controls/WaterfallLayout.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Blahblah.FlowerApp.Controls; - -public class WaterfallLayout : View -{ - public static readonly BindableProperty ColumnsProperty = BindableProperty.Create(nameof(Columns), typeof(int), typeof(WaterfallLayout), defaultValue: 2); - - public int Columns - { - get => (int)GetValue(ColumnsProperty); - set => SetValue(ColumnsProperty, value); - } -} diff --git a/FlowerApp/Data/Constants.cs b/FlowerApp/Data/Constants.cs index e42125e..277f166 100644 --- a/FlowerApp/Data/Constants.cs +++ b/FlowerApp/Data/Constants.cs @@ -1,19 +1,76 @@ -using SQLite; +using Microsoft.Extensions.Logging; +using SQLite; namespace Blahblah.FlowerApp.Data; -public sealed class Constants +internal sealed class Constants { public const string CategoryOther = "other"; public const string EventUnknown = "unknown"; - public const string BaseUrl = "https://flower.tsanie.org"; + public const string ApiVersionName = "api_version"; + public const string LastTokenName = "last_token"; + + public const string BaseUrl = "https://app.blahblaho.com"; public const SQLiteOpenFlags SQLiteFlags = SQLiteOpenFlags.ReadWrite | SQLiteOpenFlags.Create | SQLiteOpenFlags.SharedCache; - private const string dbFilename = "flowerstory.db3"; + const string dbFilename = "flowerstory.db3"; public static string DatabasePath => Path.Combine(FileSystem.AppDataDirectory, dbFilename); + + static string? apiVersion; + public static string? ApiVersion => apiVersion; + + static string? authorization; + public static string? Authorization => authorization; + + public static void SetAuthorization(string auth) + { + authorization = auth; + } + + public static async Task Initialize(ILogger logger, string? version, CancellationToken cancellation = default) + { + try + { + var v = await Extensions.FetchAsync("api/version", cancellation); + apiVersion = v; + + if (v != version) + { + var definition = await Extensions.FetchAsync($"api/consts?{v}", cancellation); + return definition; + } + } + catch (Exception ex) + { + logger.LogError("error occurs on fetching version and definitions, {error}", ex); + } + + return null; + } } + +internal record Definitions +{ + public required string ApiVersion { get; init; } + + public required Dictionary Categories { get; init; } + + public required Dictionary Events { get; init; } +} + +internal record NamedItem(string Name, string? Description) +{ + public string Name { get; init; } = Name; + + public string? Description { get; init; } = Description; +} + +internal record EventItem(string Name, string? Description, bool Unique) : NamedItem(Name, Description) +{ + public bool Unique { get; init; } = Unique; +} \ No newline at end of file diff --git a/FlowerApp/Data/FlowerDatabase.cs b/FlowerApp/Data/FlowerDatabase.cs index fa4990c..0a4ffec 100644 --- a/FlowerApp/Data/FlowerDatabase.cs +++ b/FlowerApp/Data/FlowerDatabase.cs @@ -13,6 +13,130 @@ public class FlowerDatabase public FlowerDatabase(ILogger logger) { this.logger = logger; + + Task.Run(async () => + { + try + { + await Setup(); + } + catch (Exception ex) + { + logger.LogError("error occurs on setup, {error}", ex); + } + }); + } + + private Dictionary? categories; + + private Dictionary? events; + + public string Category(int categoryId) + { + if (categories?.TryGetValue(categoryId, out var category) == true) + { + return category.Name; + } + return Constants.CategoryOther; + } + + public string Event(int eventId) + { + if (events?.TryGetValue(eventId, out var @event) == true) + { + return @event.Name; + } + return Constants.EventUnknown; + } + + private async Task Setup() + { + await Init(); + +#if DEBUG + Constants.SetAuthorization("RF4mfoUur0vHtWzHwD42ka0FhIfGaPnBxoQgrXOYEDg="); +#else + var token = await database.Table().FirstOrDefaultAsync(p => p.Code == Constants.LastTokenName); + if (token != null) + { + Constants.SetAuthorization(token.Value); + } +#endif + + var version = await database.Table().FirstOrDefaultAsync(p => p.Code == Constants.ApiVersionName); + var definition = await Constants.Initialize(logger, version?.Value); + + if (definition != null) + { + categories = definition.Categories; + events = definition.Events; + + logger.LogInformation("new version founded, from ({from}) to ({to})", version?.Value, definition.ApiVersion); + + if (version == null) + { + version = new ParamItem + { + Code = Constants.ApiVersionName, + Value = definition.ApiVersion + }; + } + else + { + version.Value = definition.ApiVersion; + } + await database.InsertOrReplaceAsync(version); + + // replace local definitions + await database.DeleteAllAsync(); + + var defs = new List(); + foreach (var category in definition.Categories) + { + defs.Add(new DefinitionItem + { + DefinitionType = 0, + DefinitionId = category.Key, + Name = category.Value.Name, + Description = category.Value.Description + }); + } + foreach (var @event in definition.Events) + { + defs.Add(new DefinitionItem + { + DefinitionType = 1, + DefinitionId = @event.Key, + Name = @event.Value.Name, + Description = @event.Value.Description, + Unique = @event.Value.Unique + }); + } + var rows = await database.InsertAllAsync(defs); + logger.LogInformation("{count} definitions, {rows} rows inserted", defs.Count, rows); + } + else + { + // use local definitions + var defs = await database.Table().ToListAsync(); + var cates = new Dictionary(); + var evts = new Dictionary(); + foreach (var d in defs) + { + if (d.DefinitionType == 0) + { + // category + cates[d.DefinitionId] = new NamedItem(d.Name, d.Description); + } + else if (d.DefinitionType == 1) + { + // event + evts[d.DefinitionId] = new EventItem(d.Name, d.Description, d.Unique ?? false); + } + } + categories = cates; + events = evts; + } } private async Task Init() @@ -27,7 +151,13 @@ public class FlowerDatabase #if DEBUG var result = #endif - await database.CreateTablesAsync(); + await database.CreateTablesAsync(CreateFlags.None, + typeof(FlowerItem), + typeof(RecordItem), + typeof(PhotoItem), + typeof(UserItem), + typeof(DefinitionItem), + typeof(ParamItem)); #if DEBUG foreach (var item in result.Results) diff --git a/FlowerApp/Data/Model/DefinitionItem.cs b/FlowerApp/Data/Model/DefinitionItem.cs new file mode 100644 index 0000000..8a5102d --- /dev/null +++ b/FlowerApp/Data/Model/DefinitionItem.cs @@ -0,0 +1,29 @@ +using SQLite; + +namespace Blahblah.FlowerApp.Data.Model; + +[Table("definitions")] +public class DefinitionItem +{ + [Column("did"), PrimaryKey, AutoIncrement] + public int Id { get; set; } + + /// + /// - 0: category + /// - 1: event + /// + [Column("type"), NotNull] + public int DefinitionType { get; set; } + + [Column("id"), NotNull] + public int DefinitionId { get; set; } + + [Column("name"), NotNull] + public string Name { get; set; } = null!; + + [Column("description")] + public string? Description { get; set; } + + [Column("unique")] + public bool? Unique { get; set; } +} diff --git a/FlowerApp/Data/Model/FlowerItem.cs b/FlowerApp/Data/Model/FlowerItem.cs index 9152d7c..bc00eda 100644 --- a/FlowerApp/Data/Model/FlowerItem.cs +++ b/FlowerApp/Data/Model/FlowerItem.cs @@ -20,8 +20,6 @@ public class FlowerItem [Column("datebuy"), NotNull] public long DateBuyUnixTime { get; set; } - public DateTimeOffset DateBuy => DateTimeOffset.FromUnixTimeMilliseconds(DateBuyUnixTime); - [Column("cost")] public decimal? Cost { get; set; } @@ -37,5 +35,9 @@ public class FlowerItem [Column("longitude")] public double? Longitude { get; set; } + [Ignore] + public PhotoItem[]? Photos { get; set; } + + [Ignore] public int? Distance { get; set; } } diff --git a/FlowerApp/Data/Model/ParamItem.cs b/FlowerApp/Data/Model/ParamItem.cs new file mode 100644 index 0000000..38fe911 --- /dev/null +++ b/FlowerApp/Data/Model/ParamItem.cs @@ -0,0 +1,22 @@ +using SQLite; + +namespace Blahblah.FlowerApp.Data.Model; + +[Table("params")] +public class ParamItem +{ + [Column("pid"), PrimaryKey, AutoIncrement] + public int Id { get; set; } + + [Column("uid")] + public int? OwnerId { get; set; } + + [Column("code"), NotNull] + public string Code { get; set; } = null!; + + [Column("value"), NotNull] + public string Value { get; set; } = null!; + + [Column("description")] + public string? Description { get; set; } +} diff --git a/FlowerApp/Data/Model/PhotoItem.cs b/FlowerApp/Data/Model/PhotoItem.cs index 6785db8..cff3a4d 100644 --- a/FlowerApp/Data/Model/PhotoItem.cs +++ b/FlowerApp/Data/Model/PhotoItem.cs @@ -29,8 +29,12 @@ public class PhotoItem [Column("dateupload"), NotNull] public long DateUploadUnixTime { get; set; } - public DateTimeOffset DateUpload => DateTimeOffset.FromUnixTimeMilliseconds(DateUploadUnixTime); - [Column("url")] public string Url { get; set; } = null!; + + [Column("width")] + public int? Width { get; set; } + + [Column("height")] + public int? Height { get; set; } } diff --git a/FlowerApp/Data/Model/RecordItem.cs b/FlowerApp/Data/Model/RecordItem.cs index 63d7a8e..f2c3095 100644 --- a/FlowerApp/Data/Model/RecordItem.cs +++ b/FlowerApp/Data/Model/RecordItem.cs @@ -19,8 +19,6 @@ public class RecordItem [Column("date"), NotNull] public long DateUnixTime { get; set; } - public DateTimeOffset Date => DateTimeOffset.FromUnixTimeMilliseconds(DateUnixTime); - [Column("byuid")] public int? ByUserId { get; set; } diff --git a/FlowerApp/Data/Model/UserItem.cs b/FlowerApp/Data/Model/UserItem.cs index fe78138..0a0e497 100644 --- a/FlowerApp/Data/Model/UserItem.cs +++ b/FlowerApp/Data/Model/UserItem.cs @@ -4,15 +4,15 @@ namespace Blahblah.FlowerApp.Data.Model; public class UserItem { - [Column("uid"), PrimaryKey, AutoIncrement] + [Column("uid"), PrimaryKey, NotNull] public int Id { get; set; } + [Column("token"), Indexed, NotNull] + public string Token { get; set; } = null!; + [Column("id"), NotNull] public string UserId { get; set; } = null!; - [Column("token"), NotNull] - public string Token { get; set; } = null!; - [Column("name"), NotNull] public string Name { get; set; } = null!; @@ -22,8 +22,6 @@ public class UserItem [Column("regdate"), NotNull] public long RegisterDateUnixTime { get; set; } - public DateTimeOffset RegisterDate => DateTimeOffset.FromUnixTimeMilliseconds(RegisterDateUnixTime); - //[Column("activedate")] //public long? ActiveDateUnixTime { get; set; } diff --git a/FlowerApp/Extensions.cs b/FlowerApp/Extensions.cs new file mode 100644 index 0000000..83619c3 --- /dev/null +++ b/FlowerApp/Extensions.cs @@ -0,0 +1,18 @@ +using Blahblah.FlowerApp.Data; +using System.Net.Http.Json; + +namespace Blahblah.FlowerApp; + +internal sealed class Extensions +{ + public static async Task FetchAsync(string url, CancellationToken cancellation = default) + { + using var client = new HttpClient(); + var authorization = Constants.Authorization; + if (authorization != null) + { + client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", authorization); + } + return await client.GetFromJsonAsync($"{Constants.BaseUrl}/{url}", cancellation); + } +} diff --git a/FlowerApp/FlowerApp.csproj b/FlowerApp/FlowerApp.csproj index b23a472..33fa655 100644 --- a/FlowerApp/FlowerApp.csproj +++ b/FlowerApp/FlowerApp.csproj @@ -68,6 +68,7 @@ + @@ -92,9 +93,14 @@ + + + + + diff --git a/FlowerApp/Handlers/WaterfallLayoutHandler.cs b/FlowerApp/Handlers/WaterfallLayoutHandler.cs deleted file mode 100644 index 9c06c96..0000000 --- a/FlowerApp/Handlers/WaterfallLayoutHandler.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Blahblah.FlowerApp.Controls; - -namespace Blahblah.FlowerApp.Handlers; - -public partial class WaterfallLayoutHandler -{ - static readonly IPropertyMapper PropertyMapper = new PropertyMapper(ViewMapper) - { - [nameof(WaterfallLayout.Columns)] = MapColumns - }; - - static readonly CommandMapper CommandMapper = new(ViewCommandMapper) - { - - }; - - public WaterfallLayoutHandler() : base(PropertyMapper, CommandMapper) - { - } -} diff --git a/FlowerApp/Localizations.Designer.cs b/FlowerApp/Localizations.Designer.cs index 6ba343a..8785540 100644 --- a/FlowerApp/Localizations.Designer.cs +++ b/FlowerApp/Localizations.Designer.cs @@ -60,6 +60,60 @@ namespace Blahblah.FlowerApp { } } + /// + /// Looks up a localized string similar to Error. + /// + internal static string error { + get { + return ResourceManager.GetString("error", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to get flowers, please try again.. + /// + internal static string failedGetFlowers { + get { + return ResourceManager.GetString("failedGetFlowers", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Garden Square. + /// + internal static string home { + get { + return ResourceManager.GetString("home", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No. + /// + internal static string no { + get { + return ResourceManager.GetString("no", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Nothing here.... + /// + internal static string nothing { + get { + return ResourceManager.GetString("nothing", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Ok. + /// + internal static string ok { + get { + return ResourceManager.GetString("ok", resourceCulture); + } + } + /// /// Looks up a localized string similar to Unknown. /// @@ -68,5 +122,14 @@ namespace Blahblah.FlowerApp { return ResourceManager.GetString("unknown", resourceCulture); } } + + /// + /// Looks up a localized string similar to Yes. + /// + internal static string yes { + get { + return ResourceManager.GetString("yes", resourceCulture); + } + } } } diff --git a/FlowerApp/Localizations.resx b/FlowerApp/Localizations.resx index 769ce41..b330f1c 100644 --- a/FlowerApp/Localizations.resx +++ b/FlowerApp/Localizations.resx @@ -117,7 +117,28 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Error + + + Failed to get flowers, please try again. + + + Garden Square + + + No + + + Nothing here... + + + Ok + Unknown + + Yes + \ No newline at end of file diff --git a/FlowerApp/Localizations.zh-CN.resx b/FlowerApp/Localizations.zh-CN.resx index e094abf..399af99 100644 --- a/FlowerApp/Localizations.zh-CN.resx +++ b/FlowerApp/Localizations.zh-CN.resx @@ -117,7 +117,28 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 错误 + + + 获取花草失败,请重试。 + + + 花园广场 + + + + + + 没有任何东西... + + + + 未知 + + + \ No newline at end of file diff --git a/FlowerApp/MainPage.xaml b/FlowerApp/MainPage.xaml index bfbd785..c570e60 100644 --- a/FlowerApp/MainPage.xaml +++ b/FlowerApp/MainPage.xaml @@ -1,46 +1,51 @@  - + xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit" + x:Class="Blahblah.FlowerApp.HomePage" + x:Name="homePage" + x:DataType="l:HomePage"> - - - - - - + diff --git a/FlowerApp/MainPage.xaml.cs b/FlowerApp/MainPage.xaml.cs index 26dd0fb..f43961b 100644 --- a/FlowerApp/MainPage.xaml.cs +++ b/FlowerApp/MainPage.xaml.cs @@ -1,15 +1,41 @@ -using Blahblah.FlowerApp.Data; +using Blahblah.FlowerApp.Controls; +using Blahblah.FlowerApp.Data; +using Blahblah.FlowerApp.Data.Model; using Microsoft.Extensions.Logging; +using static Blahblah.FlowerApp.PropertyExtension; namespace Blahblah.FlowerApp; -public partial class MainPage : ContentPage +public partial class HomePage : AppContentPage { - int count = 0; + static readonly BindableProperty FlowersProperty = CreateProperty(nameof(Flowers)); + static readonly BindableProperty IsRefreshingProperty = CreateProperty(nameof(IsRefreshing)); + + public FlowerClientItem[] Flowers + { + get => GetValue(FlowersProperty); + set => SetValue(FlowersProperty, value); + } + public bool IsRefreshing + { + get => GetValue(IsRefreshingProperty); + set => SetValue(IsRefreshingProperty, value); + } + readonly FlowerDatabase database; readonly ILogger logger; - public MainPage(FlowerDatabase database, ILogger logger) + bool loaded = false; + double pageWidth; + + const int margin = 12; + const int cols = 2; + double[] ys = null!; + int yIndex; + int itemWidth; + int emptyHeight; + + public HomePage(FlowerDatabase database, ILogger logger) { this.database = database; this.logger = logger; @@ -17,33 +43,115 @@ public partial class MainPage : ContentPage InitializeComponent(); } - protected override void OnAppearing() + protected override void OnSizeAllocated(double width, double height) { - base.OnAppearing(); + base.OnSizeAllocated(width, height); - Task.Run(async () => + pageWidth = width - margin * 2; + if (!loaded) { - try + loaded = true; + IsRefreshing = true; + } + else if (Flowers?.Length > 0) + { + DoInitSize(); + foreach (var item in Flowers) { - var list = await database.GetFlowers(); - logger.LogInformation("got {count} flowers.", list.Length); + DoResizeItem(item); } - catch (Exception ex) - { - logger.LogError("error occurs in MainPage, {exception}", ex); - } - }); + } } - //private void OnCounterClicked(object sender, EventArgs e) - //{ - // count++; + private void DoInitSize() + { + ys = new double[cols]; + yIndex = 0; + itemWidth = (int)(pageWidth / cols) - margin * (cols - 1) / 2; + emptyHeight = (int)(itemWidth * AppResources.EmptySize.Height / AppResources.EmptySize.Width); + } - // if (count == 1) - // CounterBtn.Text = $"Clicked {count} time"; - // else - // CounterBtn.Text = $"Clicked {count} times"; + private void DoResizeItem(FlowerClientItem item) + { + int height; + if (item.Width > 0 && item.Height > 0) + { + height = itemWidth * item.Height.Value / item.Width.Value; + } + else + { + height = emptyHeight; + } + height += 36; + double yMin = double.MaxValue; + for (var i = 0; i < cols; i++) + { + if (ys[i] < yMin) + { + yMin = ys[i]; + yIndex = i; + } + } + ys[yIndex] += height + margin; + item.Bounds = new Rect( + yIndex, + yMin, + itemWidth, + height); + } - // SemanticScreenReader.Announce(CounterBtn.Text); - //} + private async void DoRefreshSquare() + { + try + { + var result = await FetchAsync("api/flower/latest?photo=true"); + if (result?.Count > 0) + { + DoInitSize(); + var flowers = result.Flowers.Select(f => + { + var item = new FlowerClientItem(f); + if (f.Photos?.Length > 0 && f.Photos[0] is PhotoItem cover) + { + item.Cover = new UriImageSource { Uri = new Uri($"{Constants.BaseUrl}/{cover.Url}") }; + } + else + { + item.Cover = "empty_flower.jpg"; + } + DoResizeItem(item); + return item; + }); + logger.LogInformation("got {count} flowers.", result.Count); + + Flowers = flowers.ToArray(); + } + else + { + Flowers = Array.Empty(); + logger.LogInformation("no flowers."); + } + } + catch (Exception ex) + { + await AlertError(L("failedGetFlowers", "Failed to get flowers, please try again.")); + logger.LogError("error occurs in HomePage, {exception}", ex); + } + finally + { + IsRefreshing = false; + } + } + + private void RefreshView_Refreshing(object sender, EventArgs e) + { + Task.Run(DoRefreshSquare); + } +} + +public record FlowerResult +{ + public FlowerItem[] Flowers { get; init; } = null!; + + public int Count { get; init; } } \ No newline at end of file diff --git a/FlowerApp/MauiProgram.cs b/FlowerApp/MauiProgram.cs index df174ed..8b1018f 100644 --- a/FlowerApp/MauiProgram.cs +++ b/FlowerApp/MauiProgram.cs @@ -1,6 +1,5 @@ -using Blahblah.FlowerApp.Controls; -using Blahblah.FlowerApp.Data; -using Blahblah.FlowerApp.Handlers; +using Blahblah.FlowerApp.Data; +using CommunityToolkit.Maui; #if DEBUG using Microsoft.Extensions.Logging; #endif @@ -14,6 +13,7 @@ public static class MauiProgram var builder = MauiApp.CreateBuilder(); builder .UseMauiApp() + .UseMauiCommunityToolkit() .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); @@ -21,14 +21,13 @@ public static class MauiProgram }) .ConfigureMauiHandlers(handlers => { - handlers.AddHandler(); }); #if DEBUG builder.Logging.AddDebug(); #endif - builder.Services.AddSingleton(); + builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddLocalization(); diff --git a/FlowerApp/Platforms/iOS/Controls/FlowLayout.cs b/FlowerApp/Platforms/iOS/Controls/FlowLayout.cs deleted file mode 100644 index 7a7f864..0000000 --- a/FlowerApp/Platforms/iOS/Controls/FlowLayout.cs +++ /dev/null @@ -1,125 +0,0 @@ -using CoreGraphics; -using Foundation; -using UIKit; - -namespace Blahblah.FlowerApp.Platforms.iOS.Controls; - -public class FlowLayout : UICollectionViewFlowLayout -{ - public CalculateCellHeightHandler? CalculateCellHeight { get; set; } - - private readonly List layoutAttributes = new(); - - private CGSize oldBounds; - private bool dirty; - private int cols; - private nfloat[]? yArray; - private nfloat maxHeight; - - public FlowLayout(int cols = 2) - { - SetCols(cols); - } - - public void SetCols(int cols) - { - if (this.cols != cols) - { - dirty = true; - this.cols = cols; - } - } - - public void Invalidate() - { - dirty = true; - } - - private void Clean() - { - dirty = false; - yArray = new nfloat[cols]; - maxHeight = 0f; - layoutAttributes.Clear(); - } - - public override CGSize CollectionViewContentSize => new(CollectionView.Bounds.Width, maxHeight); - - public override bool ShouldInvalidateLayoutForBoundsChange(CGRect newBounds) - { - return newBounds.Width != CollectionView.Bounds.Width; - } - - public override void PrepareLayout() - { - base.PrepareLayout(); - - var bounds = CollectionView.Bounds.Size; - if (dirty || oldBounds.Width != bounds.Width) - { - oldBounds = bounds; - Clean(); - } - - var sectionLeft = SectionInset.Left; - var sectionTop = SectionInset.Top; - var minSpacing = MinimumInteritemSpacing; - var itemWidth = (bounds.Width - sectionLeft - SectionInset.Right - minSpacing * (cols - 1)) / cols; - var itemCount = CollectionView.NumberOfItemsInSection(0); - for (nint i = layoutAttributes.Count; i < itemCount; i++) - { - var indexPath = NSIndexPath.FromItemSection(i, 0); - var attr = UICollectionViewLayoutAttributes.CreateForCell(indexPath); - var itemHeight = CalculateCellHeight?.Invoke(indexPath, itemWidth) ?? 20; - nfloat value = nfloat.MaxValue; - int minHeightIndex = 0; - if (yArray?.Length >= cols) - { - for (var n = 0; n < cols; n++) - { - if (yArray[n] < value) - { - value = yArray[n]; - minHeightIndex = n; - } - } - } - var itemY = value; - if (itemY < sectionTop) - { - itemY = sectionTop; - } - if (i >= cols) - { - itemY += minSpacing; - } - - var itemX = sectionLeft + (itemWidth + minSpacing) * minHeightIndex; - attr.Frame = new CGRect(itemX, itemY, itemWidth, itemHeight); - layoutAttributes.Add(attr); - if (yArray != null) - { - yArray[minHeightIndex] = itemY + itemHeight; - } - } - nfloat y = 0f; - if (yArray != null) - { - for (var i = 0; i < yArray.Length; i++) - { - if (yArray[i] > y) - { - y = yArray[i]; - } - } - } - maxHeight = y + SectionInset.Bottom; - } - - public override UICollectionViewLayoutAttributes[] LayoutAttributesForElementsInRect(CGRect rect) - { - return layoutAttributes.Where(a => a.Frame.IntersectsWith(rect)).ToArray(); - } -} - -public delegate nfloat CalculateCellHeightHandler(NSIndexPath indexPath, nfloat itemWidth); \ No newline at end of file diff --git a/FlowerApp/Platforms/iOS/Controls/MauiWaterfallLayout.cs b/FlowerApp/Platforms/iOS/Controls/MauiWaterfallLayout.cs deleted file mode 100644 index b70bb45..0000000 --- a/FlowerApp/Platforms/iOS/Controls/MauiWaterfallLayout.cs +++ /dev/null @@ -1,86 +0,0 @@ -using Blahblah.FlowerApp.Controls; -using Foundation; -using UIKit; - -namespace Blahblah.FlowerApp.Platforms.iOS.Controls; - -public class MauiWaterfallLayout : UIView, IUICollectionViewDataSource, IUICollectionViewDelegate -{ - WaterfallLayout? layout; - UICollectionView? collectionView; - - public MauiWaterfallLayout(WaterfallLayout layout) - { - this.layout = layout; - - var flow = new FlowLayout(layout.Columns) - { - //CalculateCellHeight = - MinimumInteritemSpacing = 12f, - SectionInset = new UIEdgeInsets(12f, 12f, 12f, 12f) - }; - - var refreshControl = new UIRefreshControl - { - TintColor = UIColor.SystemFill - }; - refreshControl.ValueChanged += (sender, e) => - { - if (sender is UIRefreshControl control) - { - control.EndRefreshing(); - } - }; - - collectionView = new UICollectionView(Bounds, flow) - { - DataSource = this, - Delegate = this, - RefreshControl = refreshControl, - TranslatesAutoresizingMaskIntoConstraints = false - }; - AddSubview(collectionView); - - var safe = SafeAreaLayoutGuide; - AddConstraints(new[] - { - NSLayoutConstraint.Create(collectionView, NSLayoutAttribute.Leading, NSLayoutRelation.Equal, safe, NSLayoutAttribute.Leading, 1f, 0f), - NSLayoutConstraint.Create(collectionView, NSLayoutAttribute.Trailing, NSLayoutRelation.Equal, safe, NSLayoutAttribute.Trailing, 1f, 0f), - NSLayoutConstraint.Create(collectionView, NSLayoutAttribute.Top, NSLayoutRelation.Equal, safe, NSLayoutAttribute.Top, 1f, 0f), - NSLayoutConstraint.Create(collectionView, NSLayoutAttribute.Bottom, NSLayoutRelation.Equal, safe, NSLayoutAttribute.Bottom, 1f, 0f), - }); - } - - public UICollectionViewCell GetCell(UICollectionView collectionView, NSIndexPath indexPath) - { - return new UICollectionViewCell(); - } - - public nint GetItemsCount(UICollectionView collectionView, nint section) - { - return 5; - } - - public void UpdateColumns() - { - if (layout != null && collectionView?.CollectionViewLayout is FlowLayout flow) - { - flow.SetCols(layout.Columns); - } - } - - protected override void Dispose(bool disposing) - { - if (disposing) - { - if (collectionView != null) - { - collectionView.Dispose(); - collectionView = null; - } - layout = null; - } - - base.Dispose(disposing); - } -} diff --git a/FlowerApp/Platforms/iOS/Handlers/WaterfallLayoutHandler.cs b/FlowerApp/Platforms/iOS/Handlers/WaterfallLayoutHandler.cs deleted file mode 100644 index 92af691..0000000 --- a/FlowerApp/Platforms/iOS/Handlers/WaterfallLayoutHandler.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Blahblah.FlowerApp.Controls; -using Blahblah.FlowerApp.Platforms.iOS.Controls; -using Microsoft.Maui.Handlers; - -namespace Blahblah.FlowerApp.Handlers; - -partial class WaterfallLayoutHandler : ViewHandler -{ - static void MapColumns(WaterfallLayoutHandler handler, WaterfallLayout layout) - { - handler.PlatformView?.UpdateColumns(); - } - - protected override MauiWaterfallLayout CreatePlatformView() => new MauiWaterfallLayout(VirtualView); - - protected override void ConnectHandler(MauiWaterfallLayout platformView) - { - base.ConnectHandler(platformView); - } - - protected override void DisconnectHandler(MauiWaterfallLayout platformView) - { - platformView.Dispose(); - base.DisconnectHandler(platformView); - } -} diff --git a/FlowerApp/Resources/Images/empty_flower.jpg b/FlowerApp/Resources/Images/empty_flower.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b0d7dae83c47a309eae9e519250ae9640435977e GIT binary patch literal 183039 zcmWifXEHJrx@c+p3 zrTP<~a)^2JHh|bGJy!yN>bSd?R)n`PiJOM8CjgLl{r>@BTuW^L;HFqpMM>Y!eETZA z_1~oXzo?T%&t1=*44E7m@mO)~6$w^*8TGKP2JAjyBf7+JfydNc7-2m z%h^feCkn$owH3q~;uweIm*b7tgqoL*td(P#gk>&@mJ7sn=!F%welB0SvVOH*4?aw9 z`WIof(p*AnXzq6Ic4$CH?mPF*z3HOiYdFHS)5UMEGBYf^!*gq|XTFh~A{gJWT#eYJ zXYJe_TJ8<+kdr^$Xz%ijTU3<4Syk?e8kUy~-2G)Aw%d8|WADn)f;DXUcl>U6d1IjB z5TclS=*GN9K&1PaLqwgCV-c}Az5F{ZH|ebfb5yqfAik5%!7Wb8vG+1~cWs?(c9>KI zhS#6?PE!_6mlLGFm6nTm=^yuBuh_%k{xyRX+p;Lbzk#c3(y+eQ$NN~VVF4j5#Q*GL ziC#|d!=0{nHm00lY=UkM;$S%$!$#_F>32;sX|}_bgWOiA=Qudx!bi_;2cJ|EV_S&B z=#u{xy65tR8Ri7P#+6G(HoQ{k?VRnhjcn^=#2|9M@Eu&foaomY)=u<3G5WnoBRk~3 zh}fUzM~2Padb3XNUJl+U9bMverd$H_U54`27ls z=dMV-_RB3BpQ!&5d)2yYvZFJt-@0qsW+U|LX4eq;nynyvkKyJ%XI*Dz!sxJ8Hm^D*pmyg1*W8Ak zr~ZS?1ru{Gr6vIKJ{IvP;vH%dKspEUmm`GLQl;36y_(9n=*Og<+CznhW>4AHI}*bj zRssy(*Y>M@8!b)PhA$iueUI!AB>e8sd9+PaMtm0nU@F?utg6g@SYiVB6ADR4N*>D; za{^^akr05MhUq(F@y_=4*lEQ0sWZyLH9j$~P>d2|JUq(ZjdBlJ}%G5@9el(B$ zdQgxuIKF>a&bjHj#+6LU%=`NuZcB>jbdho?*fRm(1T_+anmqlm%dO#jte3GU<-B}; z^oobMUR>{ey7sk!!#C~(d8fANlH}24#{stR!XyH(Ch|hR+WQJSEN3MH(pYW~1ED1o z`~@=J9{c3XOqkG4TO1W%-G366i2H|X$E z(9Qa#fK}-%B(*kv*BZrq|2QmGm9-WIR{0_MYVC1arE8s8{o<=To2?bc2*@?$Pkz9> zCx@%!IJUscaC=eA0gu1xMj(Qd(*hnQ#OV6gRR@hvuAQy~j178y-UU-UNf2Zrrb4Wy8hX$*KG1Qy>Cgbq`!0+50kPzjI@%o%XVqP{t&;{5Do$60BKat z@|E>Ot9|C4qGPN(c_$SOD0GD`*ZWBh+q#*1emH?J8*7vJ_gpBt5Fd!}JL-^|xVZh3 z9UQ~QO1aUquR3g~O=D|FSh*hY#$Bg!)gZbunl$_!-}>X2f)#oX@kH}U(e^No!pK(w9 zeOXe4u?l2Gc7Cem@C~@+yD!NB%cT&q^Lx5PfJ`l!$u++#7vPWFfKQBbXEcmO$x@;* z4JY?U1ZrMhw4Ve`LUB9wAJ3nQsj+^+l;R)dI^y29^qnY;^p6czP^S1dQ+yX5^{&8K z>Rp;#&`!BT4IDl>CpzEks8O8OtJvqTHFONUk`4Fl{d&mK`DM{yDwKN!BYOmQ=6tY3 zF?yBk^Lx1La!T@|u9N%NIi)QlXt$zCCEI|-greqomqnc6?Xk|?aA~=^|cFRI9uA(96*({xVA&Yd`8S7^Bj$_=^Zo{}K2uYK>-}VA< z6VJEPsns3~1(w)H*lm~r&|c5<^3NYKUlKv!2m56j@P`L)ZxdRIBBMbF3pGqm=C2rU z7@5}~BbR?t^!q?K_=lA}H#>`Br~8lx`^&QXXJ5r^V1G9C&GeBPkJNc8%qv5F0te27coX<>@{YR#vtm@BxGA|i?CTYhb(J4qyqXsY2eQHt zH@}Zx{%|9E(%GI4;Ji0fIGAlv|KH3>xIBFUh?TlBGs6q zgVsNc9;O7jRZ@R`%9xS8xQl5ZQMx0m$?^r(I-&487wZ-@$e&-UN5K|+Z+0z>k_wfW zbCPT~{WR@eQnj;Dc(iPT+5$Hlp4LLGQ{VX$?p}xfb@EAc!xMXbyqph96fpN~e{OlE ze~6*7`BYF91bB3xgAVTw0~-u0_HWpeuE?1XX9FZXny918l6-)d;0c(S;g8?7L)W08 zh4h^FcuLm?-+6g?4;^xl{65;3*7EzQJMb)q?kk>YNFe(q{b0*b`@I%MwQf7RFsmL&e2Z66#>p?7G?k4Arny9!(B1;S!p)*qJ1a86gswso90z5$iH#7-)B2w6} z#cAu9mE_vWd2{FD3-w{z548O1^KaimCSh0J zmyo|AzKOlDeF5CtgZhX7_mK=Nn0v+?7+|E*q}GbZehuq?@)s$wR$|jDIN(L?{0JHn zAPMckNvC=ym98`k-O<3F^PFxecq^tk*vdTp8=5>;)!e4rv5jl6EYWS;P_J*D6~=|( z-ipNT=5gGt)hs6hhhIfxJ)49h(Di9q6;MDK9Km<_NPcOgGnW>g2w8mr!bC#c6dWT^ zAH6EcJ>2_$(~;rlf}G<~CK6P8y~LfZKJ=&@8`RH35G9mjGa90@_HvW{K}_Bqa{-@+ zVhiuMkI%m*#P96cSV}$|6JDtvx0Vm^kJB{A@bszsTZBO5bMvAJ41*qBr*OECwyHic zr6`MXdt<<+_3J)8K&m?o{P%r87bp;uVGvyhqNy^$#|mtg514loP);k-iesG4gJ&-; z{)M7PH)U_$4WF|3?>a|3gR9OOWc+rSbv?Vr7iw!71{`hgQG4qj*Cm%XYMws=xo@(Z z@eT{yr#{+IlKGoX0$2FGBm<07qNbjDa(ud*=S>X|bjBhwPh6hlv<+Pv6oHY|&+`n6 z@#0K{%#0=LzV#uogTFS*1+?{W7-XW8MgiGp4&pIQ-I-6PTZp1l{L8>VSjJF=M~d*% zr^7}}5eAC3I*vuz_M4c|kh<^M;6K`L@}Np`!Kvf{Pgq{qQ`!`zsa_a{C>}R^`a9p1 z)wp_1JQhA)Sfx`8~hU#K)X_-U7wuBLXWIKJpdKZ0P-JZ z*|_Zv>z;8|cC3~!H#my?P67omE_KM+!BoOiH*LYx(Q@m4?ngmxZ>2wv0xw6?p1P>N z7Y%WeXnQm3BB~XO@W}F_(|%{BT=Pe>UE!{FoY+zpZtuR@XTFev2d+pCkwaMx^~l@o zZ01#>%mRfnzM!|+@PB!8G?@h0w0fZ$1xZka08voCAGr$L^Dh04Re^Qx=`=9^UFs#5EC{(yAb(R{R zK~P88{}{h$5crQ?y~^&|_x`!|XaoATCliONKaRSLYd4+AOHs#sI$2W~$*gCu6M|__Wm;P2rBdC7?d@p?U-F5qj7DiU3Dl^Ytub*vf}A0Z_<_G z(I4qHP8{>@apXE=nK6HU5lM)bw@h(YmAL32q$${w}$=c~;#LgSbNFS3%o#{rQI3FLSYxQsBH6vfkw=PPylC#pC(m ztmmMk$A$$OsM(*JgJU}{ou#*~5WyhW-<1{r1-3K8Q{%I!0KVXj@nkg@Sw|LT9i6=>*%n;G=`~9A1$2 zMFc7Q;h(T)rZhkQPCAM(ba);b1jz3#BV5=P34yl&Kda-bxWh=|F#Ag{lm`6xy+gFv zoyU}9FVxuguSNeFS}j|t(5GgZ$T-No+pW##2+~1+EgByuGxikOMa)N&@s#@#LZss@ zWT1T|2;uuxG2^cbSlxI%o|=9=*H~W(Kv_oE+_P+=!{!4TC=xjFb%`VFT6oiPSJEyw z9GOf`Ljb!+$wP0n*}eM5ex zWBa@Ae~)pZlS=;#kMnX|a!StCr%o%pHFXF$Sn5X|>oaJ{;*X9Fb5?bnyI!Ah=_E|a zDy&sRp18YI@E9l*)z{iWwkbD5wn7nUM_Z(qsgGedvc7GT_?(pLUS1OP&|1CFV0bJ} zTW(pzq48anH0_PowTU%HuAaHncHtdpc|%QA;39w_s)`hM3;A3w)mXKplVmPlzBcKWM3PF*&U_> z`wPl^SG13!2?z?ySUGw^z<>0HIg2iaa!4$OX{G*A5l1xjg%>#)ePWCuY+-b|*ruwS zw5nK>Kn~`7q2L{OIk-PHxbYqWd7w!>o>jZk{Pc`g7wFT2Ny;%EOBapMFnH{aj)j9% zzy(5|H3pea$+n5k);c;CJ2@!oq*mW+`m8Dsi7;=JlhJRjMaHBCYhL=qnK}#Fv%Dv; zXml}Od3pRLuvvJkgLXZ#o`lc4ton?9@ga3yPTi68xXq0QaOV<6GO`QXa9&;14wg4( zuR3`*O`|whU>j==gp1SZp#b&i(mDsFMrm8b)SOxV5rCqxt3B zL@%y6y8}ZW$@1e{M__VM>ipz61?C1q?X>QTNMg1s3JpyX#zr6XH=Kcm1 zhz3kS2#5Z$i*Xx_G0dsr1G59SL~L?70nt&>2nLg)?&e#;gilsKbcut=han7b>d*}; z8EO$;-+JmOr5wFnp*aN@ga-1UOGe7Tn|Z{!)7_rC6LM&#%dyYi4ciJ6v0gjyz8~f9TX#n4HupUy3k=!j>Y!0 z1imwIINjslHu4s-a-H3WiJv{Ofs;_%kwE%&S94#j>6R7=O0VhW7ZhbWSm_zm$pQC4 z@>}s4-dI<*d8B6=86dV4G|GS>!?0b(Ea%NDDsIlXE8>&6 z3h=?NJH$~Da7s}35eGmEbPUrixuc`L;)mUJgxk*liiew2br^9kb-0StEuAC)l!PyK z6;a)_!=M{mZp%;7-G%N}67=t+;(2=y9-T{w%Gp-pINT1mQy2wp@W!`Lxy>#Ap|GOu00_YgbN7G$z@jjKu5 zNDWfY{G+gD{Z?RR)mh)3$))YGZTYjn5MAlww|$dQM@8X)s|&Jl+~Ivy2>BdNyz6^w zu#2?Kun0LHOLJWJQ5E@8=ike5FS1a0-oihUbN~*GAhJ>{S zUl(niRa8*aM@jsnU1ckftmA{-oz|NB;^C~KVDz1nA1F; zMP?ez7hkVljXy}LRF$pg%+)f}V=dH{qu24zMxh$=1WC?WiPAZNi0>^Q&bfi$_rZLi ztIOiHOVe_JJ8+g3^WHe%{)IbB)4;0ltLwz+j`CWD+vz;pxbt0F`T8jp?wgR7jN77T za;k`{fKJ4fYRdDiSFbD#ovo=#r7SI2*@nNY2=K&uE|ef1PZKm@02Q z=)9VkOns-Z|J#jAF6+tk#}YyxhFItuxC(pcwQpI#@w0oOq~F2-V2`;qOC1=N(X>G= z@)Gib8qG6x0dty5KPmvuV}Gr)TOhT8;AdxJ>!;|43cee7nRI2NqE)D=%n7FCOAQ$! zK`Ds@kMG%LwFpPYQU)-@MZZnG=Ego}&x-r8aao4L)!BH!^i}5&%+jkIr9Ql zb4m%Yy|EAb-r1I1a*;%|JV$4Qfw)Qg+gc+fEM(gX-7^%O$gAp02eXF!?{HyqhP0wr0c3g_W^k?~JB9IP39Ekcn-rF+yrOn(%%%WsSP$ z*RoZ2FCIkk5f1%0SQW=+*6^zc&i6NhJcjOp;Gd!BhmT}>4tZ<7wW;BSjE_w`A>H!# zL2r*ow$PoJ8sVTVMyz5b+g4}PwoT%xq3i`CT@RB(3)y`#ex&b0a_$42LgZm<<@n5$ zfpMA`NFFCi)wG`;dy%C%qIH&*BYBn>znB_c*;tkf!3FYlmHm>;^{MjgKe2x)o4f9$ zjO=8gT@Y8w&ZALT`ld7ky-_w9qb>W|XaRF>0--xEO=J3Nkr&5l?-CcBK|@kMuloy2 zg1g<7ASa8q(r)-+2fw8}BerT06-!?-7So`GFJQ0RP8|H`8~rKF5LH4NamP)kgJy{z zO_M`R$-ekK7?MLheAkjmosaJoxj<*Z{V-MQGF@Fira&3cq=XZFK4|!dYyaCKe)NyG zZ7{~<(8H&JG2E32)+WPm8?AI%XWElHiwlIaP+3}&AZRoPZDO>bu&^!0(YmWW-Zgwb3LirRX>wn^IZd&E2S>ilZ&nv)^{+Ow=59{-S>1VY9 z)wd)RRe7fLpo0F=v4;sP2-PvR=}6M>!d6wCQ%?X}lH!_j8aQ=jbfZ!K{j?RAM()~A zea^aR)7lUi=TGuw;pXZ7V`24Vckt=t&by1!!kM9!2em5|W`~z;YU^rd4+|dmvz@tJ z*&v@C*T^VRW26_y#zupxlqGW~DbQf6qM(Td%O~|of$DWS8wAJ4ldl`HO8LQPlXC!} zFh{^oLzd?o`)!c&yDey`gtdLwZ35IvK0qPuH9WkoM}P=&mtHGHhTrOJ+UVflAKR4K z*GVX;n#43h8aco!(0eQqkE_`J{emyHuf0PG?YS#Z9xeG23KJpl@^Ty~08TA`52Y7q zd&@qmL>R@gX@}a6%_&cOyU4BoG0K^_me^28NIv1^s#z|7BsyQR^LT+R(mLy~g_I;d zr^_%U?y(wd&9IAMC@p{~>2KjtC9!4*82yM1tN{irec|?lyX4o%Oi$9w>w9%1z~3YD z5d_<38CI^QRJ~U@zkSXatq-6t64eWytV+#}!Tz-I&Q?d_WuE`;TCMvM)qz_?-fX95 zbu&YGVP8E3I?bK|0p|+CONxA;Lsr;dWO%zD{SyxHBbOcFH!{ zycDSgSxS{H!D+!>n|I0LFBqq$Zh%xDT?*(T4R)hsQ~ov-xQ6bt-K2}Y$P7; z{LXrPXZFkl^WvddV|$tmM`Un)F5yQbEu-!>1GBtK;ZFOHdL@7cA8__`DUjtG2`Z%H zLtAid`&@WB*LgFwS$2+cjSNe_&Q{|B@AUj9-xT9L_=k0YJl`23 zp+~{5NJY7Yim*-4iW)ZIs?N3ETpgb-vF=^ztHOGbcXv$r4VMK2i%YI@d-WYT9E3O8 zOBU2&+~9F$FjT1l=XV3X?s%@yb72(DQSCX$Y7w;3;tdNM`8t?`E4q2zukh`|oKC>g zq{Ea~5kt!1)%DKq9qzc&!y)xZPJq^lX{o}xUGSkj_Ty~UvBa6k>=bVMFg5XK9=0Oj z=3(RUw;dKf^&qD%-Jstg$iV=uv;1PDYoyztUtA;ONc#!T)o)V~!cmOFa`y}bwc+XoAWITdC`W(srTR4fJ7`nDoPv~Jlxl>0{)g*_ z_e#1>=RQ+Ra=|5=)pigU$JVL-U3j8P=$rGpENoE= z1FSJ5AcgL>zd7pgLJkmY%?;%Q*Am`6dl~dnWKtsm_!*FgJBQ^MIy9BHE2MX>1oBff z%nSd)4H$ldO-rm7nJKes@Y#N{NVve|+WmFhQb=lxq5F7Ms8B#gdRaGax*mY+M5d8N z-yFsUEsXHNC5?zlmgsX2ev87(JzdZ|qt=VkbBwbnIg2~;k0Q{ZR-~P@P26x4l(}Y# zPK7j9(J3wjPfB^-iT!ceaC@FJO>957mBK(x6uN){-GCGrh+JrGR2IMG$iE)xklSRg zNXuxzWh+I|-E~5R?ki13X}X-7+q~8}%>G4P&9*9%efo(KKPBK<8jP<@=}Xqyy)1U} zFTysA7*-|an(jv(iuLntJ;+V8m)cwGa zeg7hoUiPfvt6H*cjj!!}XNkiDY|4O)uccEkgLjtP$+z=>e43|H;YZzo_211{$J$!_G+hk{#nl7!9OLyIxqV2>WTTaMn*t@vyw~J{wt1AUl^^UdgbDQvm%FFv- zbQeZyiH^RioS9b#Q&+kk7X~bwdk@>iQ6I?6RQ~GtJbkb&+qZOX>+IhA4&n1Wa@TOH z&39gF)xrNp*tPg${@7T^TY?!L68Jg()X+BgtKjSc(I-fc^wndO2N?mh^aE)GBow%o zGEbla6@Yx_1An<;VwmnzEs?z6BKUchM@d8ApDpT1aI|4b3HnEx<@a-e6a0*J;Arc9 z7solNJ0-a}#egVUd9m5sub_isFHjXEm<{>nOua-BvR&xQg*kiD@q&mz|1_P*JOV#$ z)oYZ=#h9(Toiy6lBl|5NpNdvZhS6-n-tN-7v+29n^(To&?=Nl9o05^pjw&eNpI9{B z#V>0KA_c;?EV$viC}tuz2zm^00!1wrLb4&iB`=sZHbD|^_3GxdEpRoaMJxQZKdB~A z-W!}?5isi0mK+t3sxQ+nNiwmUDvZZM&<=O+&5Kte4rhPD3p}w#a_SdG822%coP_NR zy3QN3<9a8Z)j}aQBs*S&yd_;>tMZ#-7mS06B~;Ba{1ulqm(m-z|rO>b*CgzMc&ns$3 zAwpTLrPYYg{qbN?AN}DT6UUp_@e4255bHh^{jT-F-&KijT%yZfo1&6`d0>lF7?&jb zQ41Z2{ru%F!3M;VqbC~^Asx5HCBo`qd-E(kE^smOWUJKVWK-~R5m`0?kK zOl%JX?aa^gDPh;yJ+SzK@VY&G&e>aVx1fBXA%1G%BG-B9ab=uzGbEE@XsP1V{h1?WUgv-6Co! z3-1JUcE&ZTlNUt90UW{nMZzINgBZf9Ciw2%rmGgM`wcfkLWWz$K?*ybQ-g-&QWGlQ zS19JqmV!6TZzqrIzixjNEEvhjWTb=Ge0!vBksGzjlFA^VB{^6(%yseGBMtQ9|Ldv+ zy99vXFf2nElvFtILWJCTJ0?v2;^$Ej5c@j;RW0=v{w?`?^cHXE*7j|VRd@K?6!Yq7 ztxxa18q>q|u;pI*sRiPiM=~F!V-tqP7Fks+J$SWr6;h_KJWHaS78AcW=D-kA>Ipd< zoJEoCI6IEO?j8V_>X9p=NM{;B&N=SlWv&=cxF}oG-fD$;_h`vX>{w1$#mzxb(l14| z=}CKADp=$Dq23 zbgm7gZu)f=m$aWKXaZS$yE@S6m`0o(kahE}V7X1I&8xFVC;n&La9_7c`w58;(a8xGZcl#V=I4FF#i# z>Wq1`T*E$#M0#E@k!g($3+{+y42?f(XvLi_yq@xDT{v5)ro}!wkb1A^{GY(upbfK{aVw4jmz%{G4?rhMwCT{EcyzXuSw6)DFjt;2pe}(Dy_x1? zk!1Eq3xlpLSjneXJkJ*ZS6Z95OA%KciEJ#gJ4?&Arm){gmoG>1bW2~tcgQK5EMVWg zOg&4Ee~ABPBHK3w)QPq?+yog&(Dd%Sn=jO?m8jzFG@P`INujoLGjW_&{4aBk0a@jk zJIx;x%A>*YL7rK)ml9nwN5}@d4Cbc~k)C4SBJ+(04=8^s84e3>!E%XSWH&-lBq&>w zov-jtHjDR)v*ntI08V!FHyM*EGR_F*$}Rn4BX5SGhY02U%qxR#gTw%82Pts;(%ZcO z);iGZf`B^?$I0sqFZ2S^7i8Zd>u(7S_EhjHaiBlB`=LL`VRI1oeX3^28K-An;$Lp_Sv_bsYk+9slfxcP3Qb;+OqA2nY{acO zb_$v8o?izARV7h*{Z();*pZtttL;qyzPZ|ECg`MeY8E>$Hw`5$aCx((Jo<&{Q9frl zNbnZjVd5Dw2&gu5%+@>Wb?jIFLOR=}<2=lR)$@;OGi3SVY3Lsp?7cv-Qxg&|*N%5x zbeq-ySI%m1FEOivBY@lPK3?sQ9d+J1(Ol5HEh9M!pu7*?X>%{kVgBQ{@TDs<99JO) zW$nPHNeJfkzHfWuH#|(CzI|f=dyY0C7LncZ8W*C!rH@AEdUVN(CZ-p1y`Ghdv}G4*|P@7d^cJ4b2+PkO$Veleu_ zbHbf^jo$q5No60q+6U(%xPMIGc}GI-=x9pP=WDWuZH=82AU}F^o{Lqk5|ZSo{6Zlq z9JAApyyWde!wBzqG$dK)$SssB9_)(!40%X1B;G$6=Xu>mRx_BwyCzJHVr`xyNz??_ zG@8RFvAs)ukNtx}JTJ|8cq_9AD8H7Ysz6OWgimHVhSo)Ptw!vh&mePut)I(|xxbzt zlD~X%mg>FGH7{`7c*R;(Q4=qT??KoiWAR0o6AoF!X>#JolFUTd_=v5{!N`0?LrmRA zjX=B1jfDR7ng_c>H@rV>j~-j+q_`f%%6lq03E@Pqdj5r2$j*+Ns0X^(6wUWLo}{q& zAs)!Sa!4LIk@GS(QaE*w$Q10WP#~E&~&Dw(fa~iX!is_Rd%s$-{(VchY1hdZzk4f?+kzCI? z_A%jwsNos2urak%AKeC{h7eXhdgtCZCK^}t-uYqt0se+5X0{LZ6)gCwZ@Fla@XU$b z*>g>ka_bG@DgBPrbD7rgkDgz(1rKEES%c%wGJ>`OCwVenP2LSf#YPN$X~TR!2%h~L zXO8(eb@6i1!1rN)Y}TTb!!(-M$ZaX^<4XH_!xm%)<;O-n@(tbXiRpb$JIu5suK^qq zY+NDUvvc1bSHO|H5PAjG_IPiky+iu{8sl*h+Nv7)$K2u$_1>>rn9wQDjM$s{zkSnG zW#vR;{d=nmYtBoZc*CE6zwu&{heWf*wFmQtXH=HXN(89c?HOaAb+=6VIla}=#3T`g zC)DbMS#$kaeXmPUroos*TDHSem}<2S+g6b`wF;MFw40Z@e^xK-NeyQh+fQDi6v&lU zmT3h`#VN&kv$PO^HmCsnUpe$)b~xY8Ffxv)sdi@-g}h7+Wqkr>ZI)7`y0R(im*W7q z@pWlKlg?|hj9Z#wGA~&UeIlxqYgj%@G>0R;&Si>;@En(+0w4_}6VfGHMOBBA>ql1$ zQ{JXY;Jeb##mWy^~$H17s#PAp}dyJZ({w2%Se8CA-hz< zO^$C=zYz73Mr(R# z96ZRFHd|vuss=a5O6aGZklZz%?DDH>5!oC7f^Wsj#A}n;gwF^4KBh_jzSn*B(cWzz zzz-oPZMwDh&oo7RPR`Q$iAZ&||Lzlq^L25IZ~b#`bF~OIKEjF*uy)3O?4Ba47maB2fF*5<{_w7wEE50^bgv zI!N!mvZ$eZ?v~Q11rC4iP7lgu==ic7H|k1jJx$vcYp{%3)lj$21}3{3UTxoV@^g>L zA^P^xc?kI1WCZJ03=zO@Yu7|&57xyY{&|0@uB!V%Sv+F$b;AF-udDzI6+Y@fPI0qM zoLON~NXMcMiqZreL5e`ff0W75d2C|Ww4hTTHPD;Pt>ZU&Kt$lYr_8KJ5Ua_r<_fQG z$sex_f@K@~J}LX#@%gHKdL0ju)5MivGK%tTN7437RACIhs&y&}`7!e4f2q0|zuL{7VsM zjk{V%twnyv*2bOR&IL1~vq3d?w+=o#i}y4iag)5kqUTP|k!G>gET{8WIQ3MtwiOhkS8|N^ku(OWEL3kH;iM{q- z9Bp{uJ5Oi4;OL~h39sAquxoX)hOH}37afCGHt_I3*R)J|%{Q|c<2YLi6P82$7Fxc6 zLjyo|Cg)Izp+_CmHlAHvg&5H6_RGCLdmXd7l~E$w?>$S-Q1#$tioY+bR@Uyru6Iu? z{l(LyGDEjdwJ3pb5l<&7;*hRl;*%vaDUvpSc?vi_9!?zeK~Wh(2~iY=GN9x~w!$Hz z5@;GQbQBnCKP$T%rZuEsC4F0FCFoEkgyi$*z6lYTa-Z8O$B<;TR=#c|Y~bM~$S9$WdB8AEvP^O(R5Boc zto~HN+Fa{2Ccfbi?MvWw16J0m5}3-zCLrB|f(2`)qITyG=MUrYW>g^KxlF_t*nC5| zDg>Av3t%G-^0{a}djavc5 zf{A?k;%*nm011@ZZTovG*`n;41}qZJh(}(8Wl`*@#G^{C+JgV(;&yBV=bMYHqa1%c z^5#n%i}s}{z-aVA`Rr-BzZt9QG9il#HcJ(9L zQa^4nQlU|rwaiI<&#nvbF)Lj%dbwc6fTm-9_OWoVVC|!8aKIoTB`5; z;{=?Nh|V>JDND*l9gj`*$l|1SxnW#&nT$0lamtr$& zsaG@Qm@R>rYZDC8Y&HkCdqKI@8mQmD^-smtQS3Y^yPv!%ltl%j3t=}7Vw@2ewyslx z{D8W%N?UY{-E!J&P@BX?OFww&?gj@CsE#TD1Hr6pN02A#P&JuG_E?_G!$`R_DIX5T!96RKj|AIa&Wmns|pc|`N zy_(Jo#KT-!eNkZm`Qq-^E~|?mhszdr9Tqq(>-kPafF`B?7VM*7*S%lp45RHix6=Q> z@^?SvGF8XeNc=1QV>GiX@kxjW5OfBcOTe`UdXJn=S21JRiHF$71%U`=ig4=9&&%zT z#SFU}bw3hR&*!2LD@z%@6#-=EN2lY5QY0^SbN2&p+i@(&1FaBnEz>JP5)yE(3Q-FI z+|1)438>S-Z})JRDG(p{+eUu5TTLP-FtPtBC-|%SuBX{-@7Fd|MIRHu2s^K~Co@uf z3`+ARv*fxQYNq|Tk|6EUesorJD6#%vo>(pZ-!Fv*Ep!jeym9XD_xMLZTKB2jjy#?D2q;RJiy7jlO?LKc*Mc@7+%2Q z!{6oF&I;kgyo-7sy^ks2GVgrqB~YlO1xBTBf3~oqxBiqF-$I3tb+m6k9HnKFsXz>Q zQ9A@g4#j&?t{FAedX>B*2w8vgs^X=^#-OV0; zOE(jLA~Zk(M!n>F`?NXp2bV*99I1|CfQ9sN>rrJ8{ImgZ96ra(17slmjZO*zqtit8 zpCIs3ZwOR{U6DAj%MEj!_8<|B`4B7P*T@dGV2G97bL?`!>?k_P;~`C6FG+&BoSX*wL=>&|iZf1{e@8uMgzUE?K(_?mQ-;i4gaiEG zkpci{v7PLq*u)&sTV{WNLp3r_KGcnBzl+<6ehC|qey`}Sn?b<3yPSY~ zaGxM0Qcx*+xs)7Bqz90p*I8&|%~DO=7j{-(&ho$ z9b$~iySeJ(G^R9{&w-}S2mtd}o}lt@dBlYtu@FT@+}PHK2_2D!tJ<8=qx!iSsnmubT23{%tyz|e?D|b zW_ka}KaZf?C2qQjWg--oZ-y_V&+!%3e}MKLJhQH)J>ht0oh2m`|AnraNA2;Q^+=xZ z1g8gk4@qg%Xr=}gpNJ9j%5lpDX?nh@Z3`#p8?mMr9I}&30LBuR)n|s7yh~ch_*}tD z`@u;-zz!$DsP@@=wg5cC-(YF91-k_msKHx1!h-0he=JcvIlB_wX zrFBX;Yw(=NiD%B3!6)8X&CAw~iey>!L+ZWzraH34X{p}I*Ul!k2iL;hvE!5(l=-EO zLhhAYzoxLhkvaD)GglIO1VU96DyOWUGV7l;#C1+LJLM8~I!9MmuH1~oaJO$<6ET^D z%?c*vTLG61R*LuuabLdqb2l$}Z7M}MbB zoxrwfjb2EGHiIg*SlnN;3vf8~VbxMrQv2Xo)BQq*xP(*rPtDpzTltSL8=ud0eDTZp=qu;3q<88)z%U`fGpvX!7 zfCm7*wBMGgXcqV@%XRB4Ij|TvhtrTx$q_g{H*$+dHusR4e$?5^XPPE0kGMM3Sxpw$ z5RcQrdtP@V3>C!tUf2`^Gk@hd90U$~@^&4wJy~9=XZ1gRsF$qc;K7Dffh+!xqO)*o z>TkpN*%+n72&G{(s5H_sdPs}@0O=ACCN*l*2nopn(hUkKNJvXeL0Vcm1*AJh`||z= z=Q`Jk@AKTB`@Spg_GX@E{^f13FqSQ^F{0FXbQt>Vaw)EZLOL zi%g&WR5##_AH7T6%h=`l$ElbTN|uw9<1_PM|Dmw>qL7+=@L^RUzD@0^JwrWR7x}3( zobBULW5wRi&U?2ne+kxo#xnZm?90M({(^)!p|g_svh=R-c8$9<+-gUqm;>ZfXO$5Q4_Tw#L?px-oW3Y zRhnoLk1H%2hToynA$2bP zg|FIqC}3_`7nh67K+aHA{MJ}lkZBYc@ju%=5E|T|e!~a~qSXL5k4vo9KI(%OqHz`a zbf%kI-hvei)JXlD8vW`0;o*qk`Hj7&Bdk384gz4S_WEJ559wU6NP?#C462rQLK=@w z;jH(rUSmYyI(w{eUJjh>^|ddI=8T@2K12}#c#=ecXHoV8cdd-`2g&z~LKjvEl_g(4 zL*EWbQA=gX6igDiKA8vt6{=(ElNO-!lpSQ<%mebK5aQpH?!YG5#yl{R9_#U=jS?i& zn6XHkTo+bmFp_>No+w~axOBfDGdo`?(=$I)Q~Dpu%+T*hO?qna$!9X(8BLscs%jII zn@6dDX5-BL;uy_9l#c$#11^gOH)te4L5m+L21)m)MPq0?YG2!)bU&->j@d$Qxb%e# zv%aDkC}}CwO*{F-es98_#D4SSAvOQ?$7m#>3z0||BisQ;FqWDh+2U3X5(p6mq|iG= z%9hJpDgT*=?eM$ScshH|Q$z_qyaRP|V>wyq>H37yh(7*JAfza)@Rok22APC81~swa zU!O$Awa|BU7m;8#BM~Gm{{%Pz+h-iRGe3h!-CK10UO`%?Uuo((I?t46+k}`U;fJhi zk5tQ$mVU@7=*8FHsxl$&AClSM0;-t^Jf|r)+Ryl+gz5^bgK66}!k^RyU!EOimxez+ zuP^`kJ@NL{lne%)l^Z!1J(-&j2xOaK$|WT}7T3*Z$YwF;1?Wv>zDrYCor=c)y>EQv{W86oD z@1qw?b-~nT?KsGP@4R*Nt0$#tMb;lfKCbhV}ySpDB;Fp6pS7kGEEnD`fU@|v6QEB>ew*&93@aWUS92&2# z#{qV49pT0H?8phGKM2gx*wzoY!juw0XSMmMyIGL+&&SJ+)yosFWPg3pXd%nlk!U64 zP%IW5djWyIdnQCn2@56&`UeRqB)|fhb zUP^0Cf1kxywJ0seS^Ew~4i6Kot0x#R@lEX}y9tZOPwk((>@8Eyek_3iE`=b;4TJCN zCmMroiuZ;zF}y^|M8H2mRRTFlfCJ|SIL~VUjSYW(jGnwx9%$K{nRv+fooTSUB3t>G zwhNpV=5{k`{nriC*AtZe;=jyjxO76P6$AF+w;;WH3eOdYJ{=Xh*Uh?j_|Y4`aT6^U zKkgsodZ3r`b7V%9dLUN#JOwZ6$gp3>D4;9wPFDpa6iE~3e^CWzmTFg#@>WxY^DB20Wln!p@MS_zr(t%R!5`+W ztp`iYJ~HD_OoPOoTJ?Z_{4E97voFgIz9G6HfmrdLwK?5=Ts}>7{P0CtiKs=i_a|>{ zdBlcHsBQ)I)+G^>rA&d7+z`bb&BPk_fby7v!M6l)bmaM8 z`46$+Q;AYin)mbMb|j_cJHsEA(i3NXIl|f})mF9dVie#1)BpX^*n~ETgBNbCeGTy_#8>QyCS6v$pzz+0gL4{+$sE zx#E9a-7jo5nD0ro>1r51HKt6>>0_!BCjB-Y<~@>ZQU2=B+Rgc{ga8Ml0M^Ac$B9@hp`wTWOL zGGbvN%oY&bk#I*D4CMg%%+uPz+30MN7VSCi=2BwX{X`CrMve&AlTfKe$$VYd^TERg z?QBJ9$_KT~Dq{56;aow^!LG5NP&>=%WKLRfMAV4}K*r_lct7P29V~@ zeEdUUE}@xrOqbu?48@e_5^%BDQiIClVllzcqGqjQ0-SQ*}5r>OzqSaMh#0xf{L8nQ9TUL9V(pGBugbSNg@xj_1q5SAk>TmwNzCv50ZDNUKe#x}S1_{)#0-J2>T>L+Jj5b;5jHQ-zFX1_#<+ z@?fUxL)WESRC1gO&M+-CpP01LS>npO`yf;X{ytk#Nb`S zt<}@%z_TjSvx)8}`35N>BhljIMq_sDvpLtQLs@ZSsu;!QSIp6i0be3n3JLCbtAI1d{u z%Pr&2!VgB?m8+8s#Sj!dV(N;+MlfF9@f}T+aHW6gPyf=6W7LcqIHWu82yu!dIBt?w zk%fnFJN@Dze4T}Tsh}dwIk!QmByFe=3I0%W3zlMf;0pLbIe-hE=Lb{;IVussz&s?< zl(053#MGGJ*iL_l5=pPsC;69!)-h#T6InO`yJ_7@Jxm6QMX98c6v${s0k#5{(MY>S zoxO3I9YoAyc{58bbH5pzL_0;VSF&7sZ#~o)9`OJzyB}RA6x(ug_taW}`IPy~0mnsD zTLWEFgn|jauoY%oQy-Eint677cp22^;TPvN+fLLveojNWsPH`aetpczobyybnY`Vw zeQY-ARaRhMol0<-7ExPuSE~@-2WA#Le7Z|`$=1c;on+W-N=_6QyjFv&krm(3vq&ib|d|*ml-4h)7 zcj`}|o6gFh%fQPXcG8RymU(mXgQ{UIba;y7JZ_RiKvdTvmO3IP(uHIZ$oxoQT z&?8zu`JVQ>EBsY1CK@v@+D${K#0&(|fHVlMF27`XAQtCmDnBcsQ(G* zf&8JEgiYDIK{b??v2*kR@6YJ+o6mCh2MwN6XkQOtRLPzMWCE(mxRgwc3B_8$Zan zAxJD(s7_0yaARo>U^ejex0Y>gN^_Qhdb^3cIW&>6A6xjH1bn_e*U7|iuO*zAdo5@J z=La(175x`T|AZfk9q%^x@;pf>m7O*TU)GFZK9o^|J`@O(I(It{bS+L!8r};>ftPBY zdVsmnzoRiTPGvFFGmYasf@dMn-*lIK@k5k~TNL!KJl?VF-$zVS;pzuM%hjg0WOnLy zY(IB&ty110d0PK1x8xQN&ANa2g%Gr^%n}=9V>qG|+!(x8y?XcL_GFTLdH5?ZD0?vU z#_pL(-~XS2yWU+~5@u)<*K9nbff@E`X++y8+~#N)hBzB2O44FcJp1#cq9b6L9XG z!Hdx0oa|`xr(f(?(ttRFi=7ttPIP7Jj&c%r@d?>5?!|YqV+L4)$5(I)>t@@cYvV^QjBfm$Q{xHy1 zj{;GLwr7;62$Sv~{m7x6q&Hb>wc1*J)JP2IB;;sZ1Hpd@eLY~RxM6?0xcvU zi$Xv5$gGS3Y5*a4Ny*0de0}NL+#ULI9lYlJ<)-_b4cYGZl_WELHl+h zMaWR9fN5GK!v?iP9LonpmlU!83#ZY8Eb(RLDd%V}x5mNCOSE82Zrjgu$C+zmuKQhl zyrDV$eX>tdzRy?>jk>xD*?})k?07+w$I7(#MDKaUQZ!y?8n4NT*Nnxyzd61R+}ROi z@*ukp#w2&Il_N`|;^-rJ`P)ZJw0^heiFs6vQu$d*mGL^)9jW+GQbvSLXx{*?JpYEb zA^~IH45%le6cK4U>%HdEDBSzZD+h350@2^TFc_#`77#zHDa%GkTc8m{PcX?AnD1X@ zV|L}Jtx76;CWXbHRc#FWKJndE(EW0>S?;ICp$c~6!BmhriV^*gvMqLU;JQDFrY`<0 zIrY2|de}z$?lT9wcYvlk2a;h^LQo3Q%eKlBJjSqxEtz*;Tu)?CkoSwb)L?2%qXfZW zQ3Dc#b7(^*G0j669C4Lt6Roz-4WHdL3qCoGTqRwGCQ< zAY@mjtrpW@4NEyfRj_KP{K`Gj7+kb)V!%YpLD3;L4k)Dy5r?_F0W_ z4oLG0hpI0wPb@E_6##}q%75i~Fg~KBu;>%UvVN&;{lLAsA zr#eS@Rb$?@Ux{ZpUUPGTJk{J?$*?MKMS+{+vF@W0()c!Zr6u6rf3#GZ4wb(m7}FBG zp!T}di4~DM@Q`+1>M^Cc!&?HHcz=O;Mw93)rx;cQ9{K%EMQ<66!jd`)DgIlT6nu5J zUh_8%RkVfC7ol<{5G+q?k?lkh!h#Q=p90{t_M&c85;!ktQUBG;Hh^p<8l{mRzwm`F z+_QyT|Dg@oD$<;h&pzgzt^%cNp^+-jsi9)_=WfV&abQ19}gArC8oSBgQKZQIYa%NHe&LxZDwEp`?qdeP}5aD`zp9o-KW zF2o#H)%I|IU7*^5`4nT0@EOVY5ct!Jz3#pHwX(XpXcOHA2{W&064JJQq+OHv8!B?! ze;~MIkcuxQ=;6ZqgKtT-^9J`1{Z1F)YwaBdE)bvaP*`m@Sh+WODQAi zMQf6<=i!LV+Q~y#(FXR}n75ediOLVmU_8~d0rfR~-R@2oTX80~HKK4wrV>XDlTN2K zr>;-Pf#~_@5pvr#_wSc`4Vpl11yn&VfkgBXuz!2a&ho7EEx`j}(EXQiJtDgxAbc^N zsRU2B?*YSN+ypf(&K!qqrwm`qGpee$!ax$Jyu5hM2bF-FrNAAG%~`TR91$mJd(2Vk z@qq#d+wL1Wps#dXGSx{6HXyL7&-tIqgQrS2eVQktuu({t@e#A%ii#ghU^RFYzmW8k zP4dTZ6hw6%xC?))S+E`tig%=u(YT~vp;_nM*HdHW5v<>{&qu7n=rNM_oDtAOLrOwx#M>bAe7LpYl4n@l5Uel1K z$G9*YGM#I%jhrfLRJIM>!;PTD)MG0@zSMKlXy(3Gjc8I5%=Nc1f58OvT54@U2xwYJM! z&^fJ)w^nV#!c_$^FM6kvA6%JY;B&uCLMyJ z65{b=(f+G6NQ&i9dqr6uEP^j%CKHJypjH)-2>ACO{j<)2hObk;j3$y_hK*n4EliGS z!okA$K@@7&5&jvI?q*Q@{#ZYo3n1Cxb6u@O&y(NWr^37!Te&H2iBr#NjDQq}E{7u& zHGztc@9VR;;JD62LktxIJNIgd*9Jn6)dQf2ccIdc?j4(|s zg~~wjxyExmIwHrb)`u5J{n9@FQlUKwpuckAEEBj+2gQmboSXHo{-z^;Hj6%?`@+!d??$gUdB64rFF%60=af;c_LYD zF-$csO_muH7g+r3v8QY&%j* z9Em{L2Ut*DY)vVpnXjQp7!WxkT6T6XT5_VeBMo9HNZhT}h$_l^RkP%BUu6 z+Y$nQ9XbIORGUxWb3uLHod1gE;*(k)9xD%vsd^{l+QtZY)DH`}e}SR{ixUEs=u=o* zkS=X-{UBiGt#{JRJ7oMtWXdjDU~SGWcY(InZz0kZbk=B8Za7lnQkA&Cv(e`94=oA` zO50h~n3ss@y7+o@pIqL#?^f*eq=u$f4Mk_WI22#fz?`C~l&mE`!C07fE`ZhvIp zs2hTHICT_7thsG79X_7 zAGw3YWi~XsgIALSO2n3{njyi`U09MKe|HkGUJmZ1)){N}3{9~^5`(3C-&P2Sb^VJJ zS+mq9p8iWG5I(sfzo3k#0tzA8w8wPdy-V&n=hnOGPb@FZ(Q2xWgd}7WcS7T94@m{FvA%|FG4(Z=Xx1B zOePXR)6~jbrg!uI%wq&4=5}W67TsNBcXvc#W-7VeOfbjmXV-*S&YcoYWN%nQK6? zG~%=UM*DV~dh{~?)!#`ox=z=&nmW%*gN4krr(PAVpziZ<&dzg9&)157ebUyb^Q zF+*fcQ8htj=>)V;qxgqo|5%>?E1NC77+A5v>H&Y*D+guDkc=yz1$24m$)y~S4AKB= z1I;{l;NmzehM8irRGJ8FqA&Hmt9>|8(ZaG!L@rE;ewmNnA?nBK60=$90Gr5(Mh|;7tR*P(>~E6+S1cwL=f+E%uTL==X+o6$-qMDWRTna@O+RD&I#yD z;-6x8?UOi`q)-b;`~6kgXYFp8cxA+mjfOm^|?N4(6V`heY7KTwC za&%9M3i2tDD1)lV`X{dg)aFsEizUV@PXlNcKb5b>w=z+PG_PVkYB z#QLY3Rpu?5ab8B-KG3TvK*e6PXSi0I+bGK1Z&8HDAprYC`8RXk9%|RoZf~sCX-zLe}a#TEfB=M>9E+=mj?k-5`SewlfFR!*0@nV^ZL z&)?2F#r;(SKHYGzt*Cjk{b@EXZsRVZaMg{1_qs}fG5^w;|4C@QQ(HBOx}Gr`HyxTg zw)C9(&+==S;F!TAGUDps{NePM9>}&cDV)0Xr^vL~j)m{=v@_UmqS3xJ3NY@mZ?KON zopkGcxyi{u(*Dy*S`wy;IO3bKvNt{0 z)nf|xWQ=1}gOpMuldd7^vG(>LLh0nrt7a^|%pvm~t2(lzqSH*=ir)xz`R9rYwDLZ! zV2we8qQNhFa#1KcH(?XU1-yAaU+>j(4ro4mitS;N7YHM1B0v~-0Riv_Aqu3xFjGYa zv{W-h?jAIsNPph~C|jL!R%=F+b&pR7SW0H*9s9`s(1604>T&>wfo=)(GcxHfh-8E9wUk zMzCj(r$jgP3@~WM{IsygFofxe#REUi1wBO>Uihu8RNp(?`<M?8>pkvb_e>%-Qa>{yH+z)=}6_FUH=Ta z`cFducqCx@)y7=~=ik!iH%ePWXrGexy;qIY`^7 z^6HB~c{sCV#nG3@oi>bVZRy?RqFRp_tSxS*H(?}Qwr`<(rvhp5u?Hs(ROLcpluHob zFj&5h-uwd1kSQdCtNU}fki5nMO}gIw|; z%237<1%xeZ3srpwyG1b?MNG!N9EY=uesRP}87-eFfwdo`1kIXKF8?i8X3-TM51BS)a^Bo~;I?Nx3vC6mc|(Mw;9TMZMAAyGMF-u}3eG2*KOV9=8{{G|B2GpC%s(_X)y~ILu%W0sEzt z2B4m~t|0%blmPo@k|_LY{0Y#W;Pi6FH7+^UJ4Qy2dO!W}z-rP}w=}zue@yH|z?2B} z@SmU_H6{R}e?srPnVwtKH}`%b1dRvn?~11{Hpa;^47qC#kQ!J3!3g*n{YcJlOXq~1 zwi*icF@EK#xy~c+K?xuKt*ZtKOL*p~qF}I-;Q7@{bA?jZihEldD@77Qu4(V% zPDUwS7f~MrCR3@`_0v^XXi#9C+Su>R-0M04CJP+tn*-FiGhtWhob1=IPA6Z}P%24Y z2V!MLiT`r1_4f5}c=;0w_Z>@rSJ$ImeAn(}U3P0Ob;Dn3`P(z!Lcj@Odt6$ctXa^F z6WRs39|`eAU^ED&+bHiE`#Jy#qzVCp$c({m%7Fn2g2W#%cViM)5hMES zu{gPuWVTau#6z{=%iPZn+S35mf4Mm84%HnFIE7mJtuSHB@CffUXynJMbI4$?OufQG zjXCnvi`L_F&IMHYzVuzbzLkL)dHAu4ClMT$D}-G!hTPh}gfZPOZ?n^0&0n@DAtMAU zksN?;zEHSr#@$L(nfIp)mM$JxH(KeCKbjOO-t!Pu-B+CKOo};~$AswfB)A{Vcq{GI z(g44ML!yq$QJO6g6WSe7t>Hmxfrf+q$HcxmKy^?u&@iFH+Vk*Sb)D*x3ck7bj?ROF z_uTUN>o4{?{)rzV=racwEuw;#jmRz<2c$L3`YOXCD8~;TA}+`Sw8rdL?(O5XLc1O6 z9i~uImECS*(eqDxmverbxHkzZ;2ye96JVxb@@dXH@niR9L}ycfpAR6Uu+ zD8tBHq(;R-o}kI$@u2vjuw#ULHI9~FnP-0fg02PmO&IX5w94E5xp*(1hZO8=_5204Q*6>?oylw9y60|_{hHz?RLn=i zp|VzM-FQqI3)%hdhU3J~E6lQaox-TSVxu}D1HHg-6H#ztxPH4tE)IcWH;*XS6hTcbzwOunKPmR4E>Vw`)pf8nib5*=9Nvm|UOb zyfREvvH#e#?`r4L*5pGiU0<-EfnE3j-KX0)DYiU+_gAqvCiTPTagZ9Q>bu~Rgk$Uw zIqpL=;!;_?t?CU&+gQC;)8G{Kfmc@RX?g3h#qGuwsgEr7W~?vTfgQ7N^cA)2mw#F= zjjW2dP^`49jRK@TB_giI}CtVS<-N z%g0AmkAM6&)MMM<`%ww)@?9?Kc2x7ACB#iFyKJ#0d3>7wF!zk^GcV#PF~*XO@hb%f zQ31DArMiY1KxV-npX5GJItsPfl-Zp*a$c(-!Jzmyow-02Kc!Q`?&Rcu;ivQSgKhSE zJ%mP-(k@EpWq&3ChJ_~$d~FIgFUf}pUihRbFAs>%SS$;8qMRJ}Xq`&Kuu8 z0xp#Y^k-c|0cwzd+1|WIijjoE9+61o_O=G?z(a!SrRk7q-`rr)HIT0$5IX8b8|oRL z;H+33Mbmg|#2$-T`>6z6-^MV@ntAp}bCOzlelj2S;hOo$&ub{5wEc4P-(@uifMRa{lQ z2gcoeTx2YLT}qzgGVnLRm4ylb3uPc&JiwV2JCpHaUF&~IrHoE%w7KH|l{Ys6w`0T} zbSpSb7l3a0gM%Zg)gU%;u?rufP@b$fxd6FA+lc~?tD+m1+s=kJ7SCD?Tf0~r46y(~ z^|nb1o;j?5c`?p+R~put3BG z_1~z5*Hi@6GZF0S=Vf5qlg`iASS|pgxQFPDDw?UQ=d^dbc}|&f3#T(5TqhpuO<})V z1n9~45V)&2e%-uIkPjZPHf^;pNIo$|?usjqom!aE852BWFEhL~<^rxWye@Ah^B&nz z%zw6*QyejQN0hYIdcKH%k=pNd?hFdXKGGQ~(y1IJ-TxRiiI@VVk^ko?&CTx>`j7rY z{g|q}tRk5~0-g0bCRoJp_D;-1#IfJn^K7+SSr6nh0+Q`GqcQ##P>fveqnv=vTyP}Q zQm%s1IZTHp|n-pN;{R&gpMyds>S zCDbgF2Ny115^O1TEB`Sw*=tclds~0KC3B7s&|rWWp#wf0s#&=Gkut@FN0$&$Bm*6b zgN%o%m#!&-g}kaDzPxFNCC54MR$fScT5w7!aaj1tAly1jM7UB9pq8P~-}w3yR5)@C z?Ivq6;i)r8AZ5#P9A>@9H(Yh*O4BLP=6S5!@Pz`2UXnp`CIY)U7SRx^wv4WRApp_n zL4h+YqA)0Fz8hlu;B(Y~syEpc>AG}UQGE`nS)Ehs->J2~%h99IkW;l6JUp|53gMTA z2_|W0iR;CS6`vF=zi9YtT$0Tw)jJv`;4d%cU-JmpR}LhqRG2566!H0ryJ^?F!x{i<*znU4J?&N-`3;5e z9l?*Dq=)9smaWe0O?5dXfhV#Q5zY6~x+U$SFFH~?FVs2nP- z93- zn^=Ik3jOJ!DuwJg51^G1D?`Q*_7hjkmBkKn7o@=eVcGeqp)^amfbuMCpj@0TX`780 zoBVd$ZiM}>uj2>l6SRPo_{x-f(zLCImGpQ1-Nx59^)ADGB7Bx9--|oW3tK@9D1sa% zBS(iYVq}Me4Yk#h6cEwM1+{CM4LdEOFr(x^x<4WvpGJ`A@kxR0nGTv_K&sU8>L87E z35?J;;F)cCU{&2f(cWyNe+*C~(~a&91XIw20OZrK8J5Up@5zxml557N^+QgD+{e|| zQu%M14Rf>UFFTAKZVgW4s}ctL(-Yu7=a0L#H+(KpD-ow$e~73Snc;0TKpk7Ot}1od z40U2V4|(To-eYA`8W8S3r*9T%U-W|gu|gUdN-vq zn(hl@ShB)}?x~dex52=UC;b0t zc-QJsE&`K66VrkW^;=D~)yo9SpSat+l1`Ro82c{o3ydNFT-NE!}Y;$5D zVJT06h)`@V=}Bm0-6MQ3GE&%s((TNXXZB}Us%bA zbTXS`aPdpr%yI(~%#f`|dO>e=ju;<&!tC#c#2SYe#aG+RZt8&Py*sQcC0?9x&4`rW zbvxTRVi=5LE0F5x7=@0TDre}I30r*O6kujz@6Vp?IFrL<4->}DK9Npqpu@+Ct5fS^ zVz|zJ@wORQ$Uepb-Ih>Lyu0O_4;s|_FX*ClR}v1DJTg7|16DiWsJnp$X|IMfU}z$m z@CBaR1hR{euO()0Gly6awHa^fdeL(z2oC)kL^~uB)`m`q!rb9VYzfBQ^Bw583EUQ61*~5t`P)rK)1;grJiTh@WwZec?8b5|kKHnx&GR-|Ued!Ivr? zhF*L2Pr%}D&ee2@f`EBk!jSsZ>vOJ1&CvSBTT0QXasc&F1>b3oKQ$WTE)H)hZY?d+ zOjB;-{KtszN_#i>=S4kTOVA}({W}gu_t~8-?=_jZgeZa_krD0C{uZ&PADWU{N?J76 z_DL}cNTa676aBTv`+20NS`h4G@3q=ubS^hmzl>m?1@vfGVPK;b#8SE=Wo>4Px~+LJ zwD37NFv_{V_Q*cRdD*Jl)H4Lq{O+jDOd@|s;z7!+uIsa7eUGrAz?__O7cIfVV=dq=eShY+-_`G{cA0K9dD7Xa| z?VYf|Ob`XTtqV+?_}g2#8|vA8rQ^w3z0*zS>NMti6gE6V*7XSPB(F)J;2cg89}Q~h zE@5pl?H~liNcH_cmcPi_2+{_E3w0(y+F{!o}{F(3DgG@TR_H_bf4SJ!n zDzYXoLH{}5ttU>hv(ml8H}P5MK2=oR{L?N~W(+#g*k&Q+jht)(NnPx94507oE_A43 z-o0C>^T9)xJph+2k>6r$>c}+R_oKsf;1>c=g;hM}U#vf><^qxj`PlC5Xt(GG^8jO? zx3HCp$PI7WeLBCME4`gC_}FcbZ`QKy_7UxOB|Y_TrGCT)Mu+_N&ef*dI<5J~2^Wu+ zd@qO#iOA0c?7tz*65E_yxuz2(`<>)zG$6{n(91XXsNV{kCcqU!PhN;D4vv&AG>wl8 zZB+UjWhaP$70({fwppZTt5GyGk z5jBSJARsZ8$gG4_%JnmW>P}g`UgwEvG6TnK=#yMRX_u^}(Il2K=_2tf*ugCKjE$HFl zQvBY}$Fr2C9<5?|Q+GdHWdw~G&4vZ+hj46qZ=N_DlQTK662U0WOkoaFJV#56G-0~5 zGNAnO=dNV@sTKLHI^Yq?a95I+@Zu~4`?~Hp=ZRWz1v%TNUmm+jy)!c0DbdyLv-pA* z=q2xE5p%V+KSH+bTp5soV7$(WLxMLf{{1?jI%7X5GeTr%*YRAckK~r<-Jo+sZ=)Uq z3Ie}BP_o<)ysO!k@@L_z=YQ|txP5v59$W1>HJnOLbn|7uj2H8ZRT6#|Hv0L8(n~v7 zG)8F#S3W^%#P_V_ji@*cARCWjrDrZMR3H)6seHkhZQo?%qN1GpXum|V!?zyyul7L} z3$M*nC@`VAB*Afqei1<}jAHU*T2r~>JHkF>suiZY{3vWH{OkBrEbygBGQx0RULzF1 zeZO&!4f+e2eHbOzS70|5cGXMOWBpejI7yEe3+ZyM^(j00{drWLpQ$(^+G*vWR$xqw zt=dmy#NWGL18nztZ4?B03KH)(BVHuuAfgXzn*c}#6x!RRBiTdBsOnx7#VXiwaebHI zLd`XGw%BuytU&@!s8z%jSZsh=6pO|lp(sdr^4Y2J=PqNvUhltP5cZDMe(YlA4`VEO9nzXb*O_Tq^J0esZK5R3X#8Cw|X46 zCIinu-z%&WT99~)e`A$weo=KW8?^Iu(`;Al{a4Q^sx)#|S;=qe`rb^KcWj#Q0R&uh z5rvQtm*x4gq3+NrFWr9CDZ9LbUtkyrbF*9tb5}E`@pEI`Sih)*r~=C|mnzD4V(s)X z*(tjxFSIG#@-d>Whhb2NFdYMe8tA)C#=!$p8Wq0W6))F%kI(~|Kk>n9-HvM7b zAUT7zjm#ofC6paC21nhlIZjpPh==cM)2>=f&eMnF3#ibtmwB`F@Z98cM8;F6L*Vmj zi)k3kEd=UCz2~t%*R|U5fo9Zo-``?PX06(VL6`VI8)2byz%|L0EGaI&*#!p`v6GdE z{R!)DiXl(P?UK5wBc;ZjH=TwAXhyNvS6=|ZZ^&*HWM`)L2m-2*hIt}a0&ULzT)p_B z!{0U81z);EEj;y5zeA5|Tx_bUtOBf444(mEl*?T`bX58c77_6xyr%UBE~g6av&(;r z@yb%N3T6cQi&1V7=&~;nknP((Do+G)=&}K8PZlnc4<`qi3+V>aQxSsQr2hJE1|7>; zIA3S!tIa>FLrmaT0=KS+AbAwj08|c|PvE$(O6(d5u_BWoVm*F4zin8cxMIQuw@S5F zhcH(SE-qav92sv`fdKjc2H9jut!FM?wG6Pjt2Y6(Vf^SXL*5u}PsZ-M;RJJ)xd_F# z;r*N07x9lV5rHE0O5Se*sqOE6dwQ%bkyN3gt86yRvq47@I3l3deT@CUj4p6U_+_0| zr+Jt#_tGMd{_GXc%%p89)uP_M&t6NI%!yu>u_Iku;3#tJdmb{Gm@Du{-18EmwQNZ) z_qJbh+~d74wmH_ zN+#ak2_LO7Tn(VX1Sw*n-CZ;cLG6_gIPfWD@0W?V3M~P~FH-4&T)aCmEI~d@^jLfs z3U6dE;7W`x{{|to3eC&*2|B%(=$n~V0MUoPbwkYd-EQ_M#E1)<{iI;o&!zakWOeFI zr~}Xwb(U-FGg=~eyPrX>z=N(&?+cl+Lap&)4ZAw6-Jat<6q<>=Q$?6K64f{dnx2>|5E|+^;+G*UGRzY%rS|i~YigGK z9A#n{dv;757QY=xleETkcj3P|L*8}5VoF6||6AH?+^K}uYf+*_Q*Fp3B}kZbk&y-n zN0y{{r6xyybluFW?yHCb?1*9hi&IA>+cjx8#mxu=(T-THfkGkTTe_Lu^}B@_|Do~O zuAnY7PKFddok?2h|IZfnv77s{+%of?VY61}qq|s(Wp7%&$wEagtQk`y5 zn2UA&20c$MX9Qe|FZ=hgP4-C<;DJfv3fBGsDT{_B=EXvq>%0+>;1IOZIj@;u7Zbk7 zM=N)%FUG$}Z=D2Vzi0x6I-_gJgx(KuDLpmW$#-Ugihved1KPlW%kRE&0MLmBHkrHK zyi)e!eQigCl7@Ry(MSaf;)a4gK&Iu@X79z~Mc!`SNxbli`aDua^FuquL&es57ygk* z5`70%ZA3y(6^BC+E5KSKuV*P-_b+PX=PB8rv5!%Pvvh$l782kD5$KWYf3y3O6Oe5! zja!h`OE~Kr)FWFrTD+W~?{lp433(zOcX}Fz~ z;q+s%ntM*)+6#0w&bWQ#a-;m+6~miKbe~s1MW+d6W6)GfM8_aMT+moa<_beGZkTm@ z9;pDjp(RC_Krz%V|9Q`J7<8oY7dEKd{g0ya@TdBH|M>e1$2mEUa~!fcMn=O5S%-sT zm05jDiR=+_WW=$KJ+djvj#8fnO4%GEBeD{TI7S?idF=H&zklF7&f}c-eZTMPbzj%> zdGpbvwh+R5G)&0aw!UDv*328VdphK&$0Bn1&SbnkhH~h1KTMfJ{0myaQ*xKL2=T&& zLppfglVQ#&I~BFB9$;tF=`$w3``C18NGtw~_OI_!E=R-JA zS}U22&Oe>+NEPwxoE5j^{Jn|z9i^zq(+LHF|3A zmy>+*Bi+hyCfcWwD}Q!tK6>*;m)Su0(ggu|BR)F2z?N-jQ|+qx!b=57Y#bb(giwxE zNL1#LpQR{hCb5WDI+_2*?nsJJgWv`RM4$xg$RW;<5c=rL1TJwK79D)qQZ(3l@Yhlr zsdp-obH(TiKh&VLR0n_WRl!3*uHPrlGVUQ<LhjsuK>4Zv;-WBqEgQZX`E$8Wh8Iv*(1 zc25K3KqBz=?nLUU5q)n3Z0H9UT4eq=P2voGA=c{y_I=;C%=K=-g)T1Z(8Iyu(Tba6 z;_0ZBg!j)2>G&e2G*&CYN!NTrVWVU8Ci2xqi)021a!?Y>+mB$nKN=Ult6YQHB^KC= z6u2@s)~8bBMl^_78%ke^bcyZBJd{`j(JJr4DVtZ02Cc(1-@ASgkQ;pdyHY#egf%ou zb!%Bz+iunT;q1+c+O@qr4@H{S5be@p21h3F)#w%u82Tu7eE*z&g09FP^XK=6Zh{Vh zBd(aIf29*LjuMafBq&PdHY-`P^N>OL~ zcB8Fe4SUhDT>DU8U`Hh47g#kraB8>yU8m!xm4$o3L1CF{yQ_C5&-TDHt{^$uSPp|+ zkH2jV3WklV`rPM5$Hq+CDXEH*=fU%Tiyh;6AGH*GiaA=|4D0(;b5rjbp4h2=SLBy& zfc@J$8~}|9sPduCTb-&Em&IZ%v<%nsk$0wjb!jD*UMNNjDSa>CK(PZT!w6`6v-ldI3Za=~Vgn-pWod@tM1v6nNeog7<#xsg z>F-aTINy=JrkejsY9lH0PtbivPo185Z|lVqI+_sSyGn851d58Z`K1iKNi-HQ*rXr5 z_5zTiC=jB2$W1ofhdrcD+I`s`9=}@;8w36~))U_ja zYT>Ha+RqgU$M0!CEB?G$lz)Kc%QA3A@0@tn(`-b@Ej`q00j$!_wrSEUo{`ho$ic#a z*9ji$+S_-xE#b|E)``IhS;_u6y0%y6p#(eT011&HsVkom86$zPx-tYhtXwEp#vf}{ zJEA6RW}FhL|3rl}c$Z5xy>v2(`iI$l7-)mn0PR#3#0madUGwPu8IK4s%)& z<;Y*uA6!S)Fq#jWBiLz-Rn-7onS+@lx307RU>Mzzz@?c}XvijQP^wB2&=nreg*9gl_ z;G$zAu((6g6%LnmEt%{v0y~5YGNBLNWo^^9phkmi;4J9jV1a62_73JpnR2I7zyNgC10U$8iuR9n~jj zCvL;$?40k+ZYWa6Qar6S!STD@7I_|aHmYG~?~=#(=?8c3u%_c|$TS$3qO&E0-xN-_ zumzLI61vg3i1@*tFOvI>=f7L+d=tB%iD=oP)FcSbnJpUbz2bOp3{GoL*uUB?#^}6D zR{~kF9cR1CVj4r$IWFDtX&Tu@9dPvN+;5cB?qRo-=OaY}iiBTtQHr1$4pvYgqshBW z*bqOreDLfXhHO+DPjndz*OJh+bw8Jh80rm829g?2xaOsAH7^&|u&UGcXD4l3&#PrA zr31gX)+GoS(DvTLF2UX0S3Au(CdG25^)ZIB1*IAcy>uuXJ<9vC>eF0q-DO4#Uy>7$ zcT4twQ5~c;uf~8Jk}7uB>-R%~wc#KpG%7i}hv1`xdi|5O@dd|yJJa${sZLZQ@Vxy1 zo%GF9fYq$Y?}EXt-pQ2g;0)KHg^*;nI8ktjLmwH&&+@x6TPb%pRfqf0Xg!kmRE17z z?B_FA@;a4uBuMhAU!|Vk|NRD}+38va5+O^y5j2m_=WKjz1_n^A-DDYbUjBlknGjMx^~#TgNq9RA zY#769u^^3yBN;VP>IT1t#mVqA94bbj0!jVMF*5NT@3NilO&Enzx6Xsn>PV8s0$zJ! zDj-ADgL?m2a)0QAuL06;OcHyhQtJJS6uQ2~<&y0rb?ONGUuGw&_YTv0BH$}5af()^ z6*^h%9ba&=mHl6JYBSY)&Dm^ZSq}%UwhgX?P7Otf*w2mR(-P3rG!>SJEo~UtW*6=Zi2d@-|8y}JRXs?1!eZX!KoQgBOFK{ zrYM#MwX6ClSt2wN*U$mChZkvYAOAb2^5a0R;)#gNt)K$uAM15mEC;_4hu+!FkfhTr zH+S*Ss7^b1U1&$j`i561GI#6S%`+Ivk1323Wz$FfElc0@or{W8c^wp{3&f4KzoT;Y z^M&Q_0eQ0?q$gsWqP(@@r&Vl|9xsvHcyX{S>;T>8w&fK6qog-TQU~4f?i0r=UpW`# zCD8r^IpKx&UFp7WMC8C`G#+19^>r^=TAdoL&rC8O=gHb}*}Yz0AIKLh?DGk%em(wJ zd1vOCglih*oqM*l;Sbh6*%ATs|3(e#bD_9^kvb_NZMsWuxvh5djFHw3lE%zX&JYM3 z==`~mc`o?!O=AoIP#&zmI=?E46WWPnZ-_Srd9W?mnNKAjp|N6$`9Q;EVyv)zRU85+ zno(Z}S;=pg?3VxRVy9PAz1fP_7_*P#KNTnqO8!8<74T^)H1U^@5FupTKO0{9l-HzA z(6|0U_{z6XQuE=N5fb2RX@|7YyNaBMAtg{z$kQDO zzT*Xu<|Z*@IYWXu26+!9w& zPg&H=seKO8+{w!Xp88V6&#*_B@=C)J?7K;JoyA?&qq7s3Cr~oq`KvG)y@|vRbDu)o z;?_4ihXu;slS6~<1GHr~%9lb6GtQs-&a0dWxyVVG>q z8nEokTd@9Mg=uHKK`H*O?6XpoN9Rrn5wOWz`^rW$+vA$bG3rcP9(p>HmpDvAm8KbDPPpJ;xS&_hv+HAj@ z{&l5K_zM$>^3h@^zqo5WZCl<+^3Ly2k61AUrT0=!ZXN8oJSC|NZcMx_B39Dk z6r_`e4tv;AJG&+dKJ~NPEy^OR^1%fP@fPVhg(Xqw?ds9V`N_FVvbjw@R_-W;{1OkODg5Q!c_}O-Qe>o7 zA@|j8!1Ws*y| zdpex-f8!!|9{yAl14eDgeWWdYSJWs0s!|}pc`#!o1>rvxe*ij`1m=D>LBKR4k)0PS zpu2O6ajX9`#4S0H`LZG=w_3>eJUAZh4t^u|)*K?XN~+I&)sj?9$eDBD!WlbA0g|Bp zo57|BH_VYr2&+`U?xQ$}ntiJkw&vyIpbvU*vYYE~oDqd!@CkEatRO3&oByol_l$@B zq$u7NwKS6)T?^#?T40vRQ8Dnn=Di@&7owOHhrzNC-hZiS!w^uKO|Fi9baq4N>#k`K zS)#j1p$7UwM$As?$7lx04&{2$spVH+(xkLOwk1VA@4||E6ZezRdpXA7jv&x<9?5Mu zcd5^DD_Y(ZY#?Uguu$qqgcMw`u~)_Y%~vu78)YhcwSJCKgC|W(uEk`w1$lig8-x?O zcK^lTg66WbMFtNR>NzPfx*aCyL7|H{=`F8%R_Qm94`jmJry5mOo`bSpDJCnRhNi67$}(I=4603&2{^6idB3I z793gEy!i7uB+oK0;?(~_0UZwMY$HGq7(7l)tJ<$TwrX|{{}$?AXHTsz*sU%BLf!13 z$LPJ^20-1rZ;~gV<+01%HUDONeD8@gi?>LOOF}LNkJla+$q5+fzg4!s&2{6eU?WcO zJRu_8E{T_~gGdB8iw5o{Z?!PK9Lq(mU%ZnhN=zE)I}K@fZ9d+$#<$OIiDv=9WqRwQ2zAUv>!& zUPDKqcPtD^r>6C_Rb>T#Ju)}1)8(&#Vv#1XTNi z^Z~l)w5q5mkq6#gaz#`2Y?*NLJAuBqc)~JdjsCyq;U;8#xdbS|1O)EOE-5zxQf#4A z4CSmybYwR8w@(}Q-)8b2P4cZc()_LuSE=Rr&tMd8>p1IDCjOepW#r7|U z5YV|X?blp}NOSDg4%(lYW{es3UpH+@b@4zOc$nP|0RrSj8sk>w@011W9xnbl;P2sH z2)`Hy0w3;uQ&|)xLhrXgyj+)ibDM16TW~uuQR)iTf|y1$ z5@_q1#5V2<#I8gPc%Q$Y@2%6D`KK{^aRZvJ8NXFj^N`=pr zs6Du$dUj`5uOao5G39BUU_chj?6uXiNw}6X1U>3T)SKN~4>BovJQVEA`X$qsr{n`? zT1Zt}A9%NH3%YOSrS!{}lbC$SMd=4zy1!F1|Frr9aN6m1Hjed|M5}gtmf<{9UxAPL zc7u~Q6B|0e`8NgY?O%Vl(lfw~+K-4x6<-%EF8h-QA@Gfy0>U>2d$aTF3&d*1`@b)g zIC_>u<&_yR3qEfMY)(Xh7ZcE=z?g(m@n)Dr;7UBO$mvXL3d5ky)Pvo1E^@&Qa9m*XkW-P;uW&Q6_-q@oF8l&}#Unw9Sj;Q19x-ZlmLZd8q2C zG+Lq18wp_35TXG}V=r#|>*TE@%EtB6c9o<+j#y8eTg;n z^)z6L%4>p^A^bUN9u|0OIBJWUXz*^S+)j0zFVzj46v@{K&v~8vU1@Ac3l=`Ij77ku z{`;J`dVGm-mVpfQ zE$6&?Y5>1p6qo$~R-;38F44U6Xp$@@P}H_XdBn)>BBFuq;?b;Nc93-CW?7SdLy3?k z)4mbRm>hqM+5wii{+2JSf|NGA zg|3e;Cld?;|2dZG2^;quf3Y;gv*5sK5|pYx*XV9p1w%KO0>^N+g8|mXFOh%*qDb$t z9soNTd~$hT6G#XzY4*um+DK0BWwkfzGUqWF`u-#>;6RD1)cglu8M|2EYS4?`V$U>62qUi3uZ#yfhnoiS(r1>lEnUi07=vg~S1ni& z=u#~?{&q*6ddXFA<={|X$f;bt^ZTODP#>cUq#PUUcG6uu?IbBykp%BGCTtUJPlZnV z=nOe+h}1>Wu3vaY;@)xO6oX##;@-2&nWD%I6f#9XgUqY#TZ!?y*}vq5HuJu==3;^b zuaX7pAOMg-i8cmsqWOuN>boDkB`y_*6EP;SpbJL&DN?TONmYKx4??3`q7*gew_~5< zIDlAHD6e!jRkL_6QS~PS4DS7Vfr8ePDD^RL~ZbS}X@emyTL%)xE+B9nA=*o;1U24Zqv~3Fl~}cQj*{VT~gIsg&UO{I2jYA zE1UpC_74wa5+eqZ6q5vdms(1Kj4dv3T5N(zibM$DymN12{%5YSp<~%&IVMB`jprdN z{r%BZtRRs#JGNI!Fr&5B{ay zH_(>8Xt&(`p8iA!Lxn{P!y_Ms@j=zm7Qze>#YFa^)GYJP=bc~u0a^E_0O{zLDCIn} zrnS5jN|9PNSAhj39)f<2K^v_-e_$7xc|${<6HlXma%bFyyP=4Ht#=j8Z2IrNr_7gs z{W1dTWD?1Ap)-j%U?F@n=l^AxY-%?MX5PmgOwuR*BeF@$DP#@54-r^vyQztoK6LjwN&IFX zT;N({XmLjKnR+wpf;rUjf=(fvy6JwA*`(3;;(|a5-l=*zCn|s`R(Y^G&6q`HOxyAy z^Sg<>Y-Vw2o<=p}G!UrO2-aE~CrT?N6>-EszFjK+W2oQWQSxxrI8qoz1<_u?*=++> zWZF7Nnm6wR)}>4{xBnz7`Ui%3xC*&;v! ziq>e&AT->t^@jXoN>*@WxDHse!0b21xMkf0RW=XndiqDA00t-YHh?hAkMslOVYYkg0an3Ze(2Hc*-HzV#4spTHnGuzv+ zu|Mzgq12et0s;dAzP&(;&*wp7%q$=peF?syqO}}L{<`LQ&O8m2r!oloBg4q?%gp2I zPVocO;2-COqHTTyEhqwa@q1g9#s?s;G!M$-C8knAKH6x_E7HWf#7G^#&1R+@pt{uF z7Uye@e^4V$JshGBI=&J9(BtR%C`6lf&xQ?DLu1U&)Rn|-nrTSJw^xb*JOw_7yzB%M zAO{-g>xaUDG}Vpw3wj7)wQ+C)=KKcPHI1D*IVG)wJcM_ysqG3MaAfm{Hd9WPedb=> zG$gtO8v-WaSK*~t(9YpgZI-ou=8v-=+k?8UZQ#V63t3jKL}Mxm!f6#8SM3~Dlmzpm zpk4EcK#}3;^xpqp{~xSW1euQeSVz?HK8c}oS0F{5G&=nX(xer#IhF*!BY;1JL{w}& zQmvc$`TB}a)Kdqpyv^OCr0<(mz+Lv9PMCsQhgbqE2c841iKAH*i$kJWeM98M!HkX^ zA1|qqrsudeIxdCCVKxUSTA;ex37w>?pta~pP;lOV#uRZ7g$cSV=(fEA=}ZUC zZ+BPz4{Fx~2d=z{GWu?AKywOuPN@vgZQt2!zXAx?84?rWpgkybK!E@zsi@Ytc0DUN zHy3MrX|$vbP#x6(%Ri}%PeB0Kv#&jVVx1O+fwOm`OmC;%^VBo{HGDo~xtrEMARG{L zp>lNuFwSnVbHhp91>{v&t-_bGN@AIQ#`7bFr+VeImY^?uebd+@?v=J}-RXI@B>FEq zY-tWSF7d;U>Vjoe^W9pBfamO(_UOQ)ejc!MDf((jS#0ZF3-5y6N6E8>Yof3)wo%`A z;-EW^0(pxU9!nb;fF4K#3K;ZmXXAOIklQ&nucRDc9!gCDN;&f4{;sEg<{k+Znc0-M zW2l~Po542Z(r0{%NC`Se98%;@ixxj38DJQV5d$(35zTNH`gLB1zoR#PcJ=-F*W{@h zST2V&T;BOHoz~c_D)@OdJ5GH2#egIz9XiSn=EWR3Z_;Ut;|osC!Jnn$kXU}F0R0E6T<`(%jt zT}iOZh8X0Bbz54O_;fXtJBO4(8H+zVrU0kH4bIfAZhf_eXcM8hXxErFOZ0`7h=DhO z>pv6bey)#oTb5H?L^!*IyNF-|MT=I2m};NIVmq!0Yktme)s6v0c(6t37iILh z6@44Mds*QUUmZ9*t~^l`**ojFa)k?NQ9s*}47PBgIqDg4eC&xmh9&FBgaBAaf}oe`Gs%lb z`q-L6O#n0;lzHlR0(w_ZJsvFo)@rVAkYctm-14eGeNb_nMa)93@|&N=vk_77j(gV%(Jo zW%>+7mar(MRqKS|2+8Z`degzjnd0~y_qEH>>4xV!%XtF*t5 zoZ1s%cQU-$qnLNb6OPpNSDk27ib9|D`#SkNNM@+4z)FLRID}WlpuoV?jYE-oseQ@v zy%cY2S2@d9d49z1@r}^u+go?$B?xoG*vrSZshVU(9F51UMFK~FyXy33)wMoVjrJ~c z_Q~BbHZlhP*O@Aws4N;<_Sg~}%L2bOe*j?w3Y$IYvaDiy0bL$UZkq4COYzFf+j6k( zS7#0Mw&v(eHEJqtP~=)?i0`H6#jS2jO7+S>a;^U+MC2u+!~VT+T__3G&-1#(+>`D^ z$u976dBw^0Gg6OC1II#ffRs?>DCzIu0f%co>D6;kG-&U`GqPe!+KYD8MkxV^K{t2bWkYE( z^nzkk;aaExWMf?@dE6$rk{M-DMNQ)5j-=Di6iR97b(9+ubf7uhNf8%s0%FW;9VxGg z#!FdgM(Z1tJRBU&v1&YPMLDRWERV=y5u~Q`M)h5w;RK#vBFtCJ@0@r|Pnlr2e zkguv0WxoYvIgPWf-A{Ob z2YGEh_FsQ+y=_wrA04!phHA8=LM-eX?%<~Zop{M&2Q|6@FeZ7D6*usqmBvI( z=$I}JH!skSKhuW~Q9Y{BBMQcg;XL(VyuuWKz%ZrPmIHW7{+>2`_8^NpQhzRrT-Hkj z2Wb?)mm3*7VTg45ttiit@DpKwn$79Y%6^;Nu_~1%;A3Uli6Zr`SiLlO z?V0fg^QG}Q9vC>#cIuZy#{Jv+GF=hcB&JBcLz(3m56u%H9To?_x=EUJH|&|F0iXwY z;>CT}NmNRK{Wj`LqJ6!z?B$cRVB%i7C=#t#t@p>jhymPSXRAo2%~c5n*)_XxcKWY; zi-#*k_1|pU|5TwFZX?o!C`m6~^L%TyzQppuy8e9YCQIK_!;R|3gs)1XW;%QIrRvt06C^gV~W);D&2E!;P?0}%~{Td)S@=@rIo zNoQylgNRj`R0jIn@gQ=jndP-Ie95K4T(sa3%L;vt0Oe8*KO!Ox@r?@wY8RmBkw z2c{!0rd;EqAX-Z!eoH2FrADX2d|7$bOTSb7r!=<->A;4=RD@UXF2}UG7}p11%;S(v zT$sc1k)d#Him%K?bJSBp;4UQyGxunFntueoVy#~%ls{~M2C5IgVSl2xa~RUaLxj=y9CtefYdlmVe=Do4c zDIeizU8Q5x*wDBcl_g2&Z&g$#HX2F{#@5Bcostmxz(lDq%0>60u;!n5O!jG zWR|ssoVDTaC4vEm0mm>VhFJCSxw}@%BcX>b+5iM(vDzHZ+U6Qf1?f>mG-|9;r-THk z;Z+3HKWo#yvmAr_&p)PQC&Sm;Isg+>98y%s6Aq?$75cSnfy3v)gBaDlu27bFBnN4d zU7#Op9~Yli;HfeM8m`sWnu%`P5j0bKW*>b-gyYaiLwLivudd+P1HG#`n{6Q?%PI&e zd!nlRa7%5I@HBa42@WhcM>~>r(yE0J@(Q@nU+KkskfzQ@3GmeA2OiXuZ2MEr-4*E~tGrOoYdYQotlIm5~fodGcV`ba_QvN~?ry zIsj-3s^MB{xCcR@_V4n<62H|l-Ue!`}0!Lo#-=Da?e3i-#`$6jkg_ z^c%hbJ`t2!h2n(lg|8TnMJv7vg$&C~J(qRgeA{n)y;C17%@$;TzQFh$oy!R;|B@#` z%j1}>PIyT{NiY&pW_v!X$BsG<-$PzvGQMu2Zu=Lk%Fvopp|#r*w>@>Sv`7GWM%PrK zw&Oc~fk>cmU}dpWNHZ^NS?6yIww0B*_)i>=Vv@wpZtD$GCilAyS4v)qh-s77MoSEv z3y0c|Rkb(MAK+;sDu%bw6lRX20jCOc#-ec`;u+7jxu*>eE4?zM$mqW0>v{JqI-EK(k%(J=pSk6p{O>y4DP9 z&^G1%z`o1q{9nyz&C)sl()_kJVHzH6d!r5fTl?v^`nCTlZ@uyw^-14P42jKfJk-b* z8E}qrU78{EX)VT2SCLLvgaQTf!gk?Td8@i8v5+QV2|M#Gq?xK`|MVC$eCWgf>5}jL zKF1|5JIU2iL;sk%esrI#&v*L8&0%9oGHX;9`rOBNzMiP4Efd$gd}B(mW&tgF)6rA{ zU~P3eGtzL4G8sLo#EXaMJ}ym|UNZG+Sp&%mo^LeIyKw$?ESLbC0!LnQY>^f~(Ct2P zMT`U}&X8bcmm02sB^&80niESX>g9^Q?ug+RLZzcgh3CZ3{wDn_c7`T^Rd6sjbM`=H zP`vpm=TN#?`Mf08ZYnd>FY59xxYlQh`e0NLt@wxRmr)=QQ-h+5CP3Gom%4IAzHl{C zwYB4fW-99e^pDNR9VDh)%GV*MaMtXqW}yfGtYrb?S^mRqUoV*zka1qIy>$QYzN5iP zy47B64K;DD+n{jrI9vsZcI<>>Hw_{MbyxWWKqmR9Fd$cZJIy-@8x?dp-pjMV5si31 z=+yA6rqfDukbtE)qV{8{+EN%-*9c8TLuwoM*arkCQb^nc1}ha^hWm2!o|ag>^C$;u zfeJxEDQ?jVs&2M=@bR&R5aUvJF+v^RalcgD8cP*u>--ea>aJ4?-Pvp`Q@Sp*T-Oje z0rTGbfN3u)!0Sq|J)bs?l@vPC9Fasmb4p%G!k+*qi8;kfuUAJ_jaR+OY&HV>o(_KY z7qQ7M95)7sS!A=Lny37)eQ->It9%nUkZr~Zwy8<6FBFC)kzoPSokIK_p(Ng*x2eCv zN9A|RIm(FTIbt$2q z)N_wz;w}`1|Fuk)<8Z7rySg9WCjinQFOmOTY}_}xviK#S38sGcEDJq24AiRCH>fO{ zc6mskMLQmz`JXE-RV#^@Ej0;wffA$+7$a#3G*c2r}yQ zo}}wi+TgxAsS$|z>TgeoW?sTtgXIucsnNoc$ieTp_J_9_%;lFSbRf$PIinO;`RDwi zhO(u6a7n<^o>$A^22t+6~jx5*S z7vV(r1eO~;#IV@GngC_^wa5SiFv*Iav*N&tVr7-GU{7A^%3~UI0Ti^ zE;==vhPr^D2wF#I?12w2EaD!$YWL4je`t(kIDs8lWpw4YvL48`JgQ4Mv=d;64PNo% z;(XoN^xSjqv9g0Mg^sDP+Dw=56AmreS?vyuF6Ucy(bjW;2}hx}5XQ|bAADJ8*}A=Y z%};M}kj7D}wuZMKh6lxRibP zwLHUd0j5zm@Pwrf1e!K|V@!yYh8+LRD{bPZmQ`pk8BcvT;NLBorJtB|&hj&EYdK1R zc6Dr27?b(Ifnb7+CjMem!Rfy9WKnW27cpHE=YO!I00o+1CRX1 zR+UrMehk*WnC*{6IzSHnU1U8?%%zr7mhqJG%wuTIoU6R z9tVf+m9(`4hlPb0kI5MR!`gkjL%}-F#v@q319}oDhpRql#PjHdympV6O=rSH_CGeq zas0_eGn!9}o*!Ngv{8ybWYc3qvu-4s`liGw^2So+ExgH6fD`R&o;U~tFiZg>wzaY* z-{o-fI!9P{qqk|zBNd02cv>pTY9WDZn&&VKc6e>|r})axkIAcIt!@14YUJ6X1lpyJsPvFGwzvIyVLMu?qTuKp=eltmHy9fHMfFu zkKi3{vFz76x)jCaL&-Vu!0f)J8X>h{2aD#Ws@a}y#Kr@1@(<)#%i084CB#IP~=AbLU zZ1KOB+4alI$m#{rYWNYSqTI>HlP!hHeFG`-`GqaDf_!55ZxnGb^d@d-LUwJcd3a4QzpFCG~rMf49A8BeLMQiQqg` zX@oTY!bP*bH+A@R4(gw8`HZ2(b&;l>Y>7Bxe|~}HQb`mSi38xDR&V$I7e&nD!apoH zR1jFg}hDcd#T8S)os4ebJ4RzUfz4O$uxj`SegywGvVv3E9+|dfSKC8sdeEr z_6|J?6eMQsc>6d8y!OZu^CC^Go13$j;Hy27(oee^l?cw9YC-DY37vnC)BScWsb z<2|{RP|#S$8IU<)w!l@@TFt?#viXy6;uUyuC+I1o)k@3$TQH;s@ySt86`v%v0Ci%X zS?|GClw(0wxcy(Z0r=Z|KO8u$wDV(#GJ^i=(H{Z{259JEn6$YAYWkW$_Y_}Bv;=)` z{*7ElNzF;0z#la4=$D^utrzD6Q>fG1f1Nk09nb$Ts7f9;>S+A8H=B#NzlpHpDgFYs zh*^d72IZNXM-afzP2C@=X>Wyn=sZ)#v#;y@@EY)}lhlO;S#*8WElNk|6VMCkj^zzG zP%5?W_EkX6zTU~N&i{S*_v3(PaAKT2yOEr;Zt5VG3B+C>i0!F5&xSWLlB7VS*Exk; z{)&j;11Iy%b42hwi1@l`bpk?TT7ZT4PL|D1;@1;j-|egACl;ZG<{);M{-2G*=#OUV#BrH8c2~iN@$p|0bk6p1ka+kw*7}U= zvlDV4yK{RJHLRa6?~2fNeyu_Vi1s6v5Ak4Hfwoqg9Nf`L@vdUl)Q!OSfsozPp2Cez zx^L8h!B|FtK5%(}9ScZm9NZq7snq|)9^n?KvD#ABo9Slsyd=WgcVS_#jJ~IF_DOO0 zqVr)m%puzjokl#&Db2eI1Moy<{dbI+_)3a~64=DDz8AZu*|+_)f}Bo3pP z>Yr*gQgS(+7z=8-=aXiRZxy%bjYL@tAQzqLdHGY5Mb&P}$3f-gp<>jEsHU15#mdN2 zQ2|6ik>&QV@Q5gXnv?v3 z?Hshu9T_UK%u~~WC)pYU|J^hQBYw?TOCqx1lYIXG0yz)UL|$Nc3!_N=$Hk8uF6oJw zUnvwpcACqj?3_+x&Kv2vOCab@F0~z!IDjr!KFvZw)a!wpxYZFkc*gJCHc4KU?uTp^ zslAz?>$rOQ1>jBPG5ym;AMca$(92-@>e1s=nds()>|;k&+EU?&lcwbQpOUaWKZ*o- zu@|En(p-M(P>ly%F}|RsDCkdp-`3%4ej_WnJ7^51$0VwPdKoL5>1`66YJ!!`?`MU? zh*G;XIU}7yMar%Cpoui!z#;fdo0B#*caq5~_@_G*^cJIW#$lm9K3GiL7c@41hgi<@ zUMc?XpfTZE3ClF!S02A)y6+m~4sWmL8s{@R%jC1E&-=_KqJsTf zMIQjhxI>YB^Q`pGhC8+9X1kkd{fD1^C7N+p2rMhV{htF(B=yr~-Abx^N7z@tijoJhm>Th%6EA+qT>fH+Qp_ttO8$&dU->I) zkPcX45Mp^97Y~?o+zD85=Wnu;RK&xQxaGym5l~)>ta4%QkC?`HrY&A?Yy%#F2R{Gt zB;7{jA;OF|HY~OD16tRooqmU*)dimm7RR#8J1)G%3_T;u{copW6BiNhGN)%Qk7kjM zjKrEt#rvAJq~`(*QA)S{OS6|2!f+$z>6qH<%QWnUU2R(4GM5l9FZ>JgQM0;cOT{4w zDA4lO<5U4dTjp*}-Kp05$(_o zTx>A9`Mi<+?O}(uj_qrXOnBL1F)WjPD9S2uIb0CN*4WZHeXVq%e-5iSqO;_}lRC?c zJStc>P9OYOJo`KA!t+h#ge*DI^GtQ^zHYN#wsHlq9ra=7%%`-t{GOB#o_E0&E+Bbb z9l;D#%EmZV1(ep+%X~NJ(-g&UR&mb1+YoeV0ORaKVmDwZB?C`N){BmKsT|v^6 zlMC(4k@cYIC^^8`uh?Klc>#z&EfuMd^Js7GX6n| zNdD%QG4z+?vy~&ZUA?YUe-r4R;NrW<06a^h$kp8Aamgph%ARX-Dc01r$D4sMF0$eT z^2(Q5cFyafM|A^m006TybV`)hqJ<6!7k=kaH)qE+GBecD;MCuS{R-mJ!`#%?Xe%lQ z;ZHgqP5~8e$rkPptUWdlu>kX_PN)6GQXp$jU-Sp#tst!?8{+q9T_7l>n=<$4U`@?I z-@6qCXd1QrSztw|vQYXAqk|#=yEyn7zfW{Ef@9y)D*d*6d{DwR{d%}qNVzETz^lVn=3=i zc;?#QA{rz|dm#Amj)z!_)?c`NAc4rUR`yTKCgfJ+2{EwV?6zFy^)j=7-&J91cO@&H zXiAlkhQ^Jo-Dw{u4mb|F%HoE?R934c2dW$QcE+a`8bh;36M!Q0o2=*C595S5Z_7Ay ziN~O$Gy83w)g6*jjGcLt<5+Q^(^wD{I@^X81%T!RU^a2j%|bPsE;<*d-}eNf0J77} ztTZMIMhl68`T5~u)X|YZ?N4LyNC4s$mh zQgk1h5FuPbl2?|*O$TZMg^k%A--RSgi$+i&FVSkx|Fdve*^}K-DUB5Kd zwDQ4zw%SZMWo+Rb1ixdWebf&=lnXx;iR(W(m|`#7TRVs~KUzA7l?!2rC}~rwLxugR zvcKlnwF=g?Jy+$}Syzt#kD~Jqg!=#E_~*`9nMY;2GcrPEA>+;p*)1uXl2S;r-5D8W z9Lk69rzR#cUd%a)p=j-)+Je_7IGFZAhhS?)+q(YDx zl1gptVdb;k+AV$-fZ)-dEv8$QF!%t?-0du>getHf>T4iN$gxcp5E^kuqSWl7d4=rQFVR&Vio1kco4R5W^EJW2p%oq-b`z zO<#=wjKh?{^!bRylwO?c%$8%7x=P{&%H;^&@3JgS0>O`HSaUw>CG3bFF>r;-H)U zwe2_UYp!W1iavL80JFT1&@kxOupD2HmtuNa+$VhfbRC8ge9Kq%+od7e8jkR!w(~-% z={&>GtRccQG+8mSA#Gn?cBXoe^7MWoDYvYd{JNv3M>Q5a_q|!^!PW$zcpY=+A;6 z0e}_#cYL*0qbF^J9Jc>io>+S+G(O#De%NL3a8lzz)C>sS$r#?hvkXMxs@ z=Y>%!54mA9LQ`UTB%wMX9kp70zMij^@D9M8A}E5!_l^(Af3Zs8q~CV*tZ{kC`bx=$ zI6wCXUQN$h@*qRE*_;0z?dHPUM>(SX?D0aJHHT5(U`Or)27kIRAm5>dm1qv8Kh30H z_mV7ly7Tl=YE2RGf{s~MXswUmG1FjLC zRnwbg_o`FCvQ_GZEQ)CH6t_Pgj$QO3!oFR55_=p{9E<$x-9<^%cYL7dzQ2=i;!;cu zGWU5u|GskVrr}Tb$|B$X>XJ11+-A~Z9GLBiAh_+p$g~9%8n$XiDggX>D!4D-zpCK`Wjo0d-!-ts4G|z`X&oefW%nG)9&=>oswGhmEmW0 z{%D33jKXfl3uj5e@5X~+!&k1!P4To-m@_5I6<^p6vUrfPJRHsk!qH(T2v)5+;8uCL zFSGIrj|({f2%7+eG)nP#412m-84O=)u10q|Us_2MmkB9k_w5d3q{=9S4Eey2#6xgs zDCQwn6}|h;?g@tX=hbwQ?waWH@Qd9KUKY6OA6w=ZuAlFa{pf4g?H7wOd}MJ8;{u)P ziW^F6L9M%80v^vki;`m%{aZ#6k))lwsC zs_Y{7NtrIFnr+hjuDZ~8|NCXAtRM&*rCeh4>xh(lbue^!TS*T3HLoN5+lE&XWG#zeeyU*u1-Jv+rjH>Gn5%-y}>^E|mt<-BABb|gzM z4ybaS_;7XIs!+(FxUhNOd$D}(hQ-O);s_4xX8dTLE$?rQB?C@$m&>06^+79hgICiO zMb!s-Pk(ub2?4wCAQN=F13?I>avtj8n6fQ=mQjtn;3b%L3h zDF6p1ua^AbYZOfGSf<8<+AjpLG$wE$Z6%x4O28*5PjNE`yp3Yi+F(EYfxmQV2wUgA zvk4@_7V`a_$nkJA&h$v?gMN(Zl$;RFb&Iy(53i|H4Ic=8Q<406RpJ;n65Qn(@$Xo= z2pU)yoex->o(lY)Z7surt$lxie6@kVSmV<=PT`C!b`-qQ5 z41F-|nBT6@3csc!4N2@H%e3%Y02wjV)+6(^3}|2TYo2u4Bx^O^K-m2WjBf?vMc&)+k#3)A8r zDr1lO(_lMtv$*l+s3u@(9}wd7V;m}kJdLHs%|{WbE%TbNqo#SW5{e^_AV$(4YUENYd6tlc(_V&Ee3X= z9nk!|C7YzY>>|;Lh5<>A8qjp+90J@e3=KIz7dIzaOd&dh24QE^4!EJ(!ZLmz8gREw zs$1=c4L8J?otce1`h01z0a@&1QCTFvo#6HGy_Ef+Voo%Xm0Vsa{i&ZSzvpJafKtl` zZ!j4X-k)rZm9GvN5LcXSzL-^q>58SNUOIM8w-o?&JYq75i8%X{$P9EcusSWRZ*~>i z#6hOCE)n@lG>iMbmpEeOhlrkxMg!`i#;1x!gI7W;fd)?5X!}e zS5jAgaj=&d;KFxr!-!|j^8f16kLhX`R=?c#6AEIsnyAMdM|EiIlV9aG_`${M3EV?h zt-u&4Xql7$4BWF#DZ%nZ-9ICJIw9mvAy{Sd;6uhlgNtdKd%?qbh199`3_$mjqIDjx zQXzcazQ=S@Ul*gM-1gV?Hw*roSz2z6?LWx^SwLBkljJP0XAFUh%W5`{ezWs;mqDEt ze}Gd3*C-W=E@c)Q2>tu5J~-ey1)*Dn?AbbYnP?}6lHU6v3)MGSo>Efe=B3aGDA1Ny z942%?Y+9G!1H)a3eUrM#?rGJ$SEwg@?IK|EI+i>;?}FM%n^$F!v=c%SBG=sT2!RuF z?9s~|L>TK3qk)h5o1}`O2z8htaFmrc>F5vlj_%}4+^jHX3lo#- zN*W5ZTi)H{Z+*zrl_8uSX+Sk^WosVfVD!ge2Y*>+PChe|5fFkzzRkWfcV0 z6}q-nG15PY0K=9UhDHT1n5Aw~v~6o!<1d zc$P2ubh*R=jbHA)l+gS7K&UYC605A%NMGdlS5?TtF}V#ZJ3D_@E-&xDr);^hw+`6} zI%8MiXZd-ZTH=?5sTt6_3WAT`bfGfjxR*oN;4BffY*Ne`Oo6Er++vJ>?GDeA64*< z{#brvwTuE*E#F+Yj=I`vYJHM5^m5D1{g>|@a~8hD-n}JtSkvkLp*MulxC?N|uA}7wtJZ=jBwebeR z3++w<9tVhYZRzF@g#X(<(hLK%A2O3C@TMnnu_h;3)od+q-?ad0y6)2Q-J`tXu3DPRLWaC2W2u zYW(-k)JdY`+HQqzr4X)rGzm>%v~I;TD;4w5_T611Hc{v>L z=5~|s{K0>nkPH$(QxX}qGau0bFX2xbkOBMut}p|tB1DYFTEwl#5wR>g{oxRKpRN`E z%eeqNe@rATr$))Zekv)aN^PDuw({xR$JSTn=ueI(fuZcIPgQXdq49MkQPT2aQ~#!Z zNU!n@zAQ#%=2Iove2-?Xr#V5`IR$=@Ug9dWZR%KP->J=46JNB3Sp#$gAB+dXFa@;G zmi{7A%67QIK$`e8Loh~%aM>=ObWC@n>;*)k7m^dV)Ww4c6X(+j<)97Ju^v`~x>Ze^ zAvIx-gF5ikBO)*CMHGx45q?ZOIf)_@8CN=38GG8O3(broEP_gFqFd}_Ofr6^(@hLx z_`mlre2pKI8nFJnf17kq2$|)@a$?(!{Fa*Z1Z}V*3$(`d5+v5LuEf)gvO7f8My55n_s#0!c%3nv*%0&-T*a?aeEF_wT=eL9-ZK1 z@n{YVw?npCriK(RRPDWY7nd|8Y)Ah7R8&#uvq%1CHh(Q_Dz=h!)o7SEVOLu7 z9>sgDVU+|@)*QHrzmxXVjIcnreTzAu0mTmb#-STm< z7LabQa{UbBH$&gMqCqGNUeF>YE|HrAYgWI8qnH4(Ge(|G(IQnUGN4j+w{UNo8c9C4 z+;LPEc@S9q026qt*0A4z1}muA%~fGdL&7KZ4`Gu;Ejq`{bCQBbDWOC%Z~oH8#U_uyw=u4PI{=@ z{6l4DuSCa$Kiump#!h#)Y8G=n&l~26!HaJH=iiwbrUmRJ#~n3?w|a9V;`CV6#>FEB z?fCFvUWOMIlZ}}w=?V9;iME`s&=Y_(k}q!iig=nlw=p=kHpOJ&j&ZXVtFck;j$|R* z*VOWy81)D3@QfD@y5k=zl_$Qp@836x)+^c{nKFD)A~YTaTCVaD0kPd=i}P^!wUJ>h zcwwo#9kd*PYz2!ZCX8AOs70~FT3**r99T3qv%lt8aO=zGk1YH~;l$_Qs@Yw`Is;F0 zo&ZhC^kA-J&JQ;Ty#A}uuMHCWFH6T&!KJ_Xk-buGD8EFzqf4>ScEj-B@mqF!_wlQW z*xN0nL)uSbDsx&*XF~T7f))%OuVc_EYTq1tYNwzhaZbqKP?{UKfVSFW4w-1A8gulz zBVzjpu#FX&+wMbXQi&zB?fH=C{S{MbI6uHFiHi+&v|>b97pWLQ+nmRt7>j33>j zh}J{9mx%650=&ID=Fd5h_PMG7Ge7XctzjEKSlrgVIbv`;yUR$|Yfsu9l?-FRrZLrA z#iHJ(cKFVyqq(kzJgi{6IK^uY0GCM{Ba3q#(Kd1-I@e{{JZ>*iGryXx{u|!aV%-E) z`RE`JTOIyXU|2K@Xe$Z&M-wdbOadf+Cq`o^J3kRckd))=$L>WI()^G{i`N{UGN9G` zmWFhnXG0XhyDyjYy_}f`EUHfo7v9U=`)yE&i=<@0&sgJ z%PT|3M^X}G)~U_Ix3U8MSWTK^Fs`Rd`6nR-S2nX_V3SQbCJsBQ)SJJHI(T3S{(jBy z7HtZ4SHetpv0H|V3gP)I zzNL`X{ji067{(M16RbmmA3JY5>l(|Q`1>-6ZAh=ID~3h7u7?EJrgr76TDnBfDPBB0 zmxRRdv_x&_HLTHr6yqzARvwV;C5>uIt>4G~Fzx;fIl^*t49@0M(WK(Eu>LNir&Y*e$1 zzcaBR7roI@wm>&l{4x5QcnB2Gdjt`f-&1)?w}dF{Ms@t(R_`3}tF}YYe8V78I-G*0 z=%E-BK?l)jwKl$c^oM(sc#049Q!N$2XmJ}ACDAF^;$%468>V!0gH$O+#`w$tsp<_R#th6 zjXG8JX^k2D&W{f`YX_QGb~NWr!Ej#fXDXTyjI6sCPw>zO+{Dp+TO$l)`9Utg4-Ft9 z+>W!n7)20*IdzM1rf0(xC=&8ej{178%sHTCCwlB32*KJM#`ICoCY31 zDt9Pfe#^~G97f!xu+l97?t7z8clCmcCkh0DBV~g(uUO;+De*NgH&L>;+%~*i!=Qh& z{4MsHB@(0_b`=S${PbPKSlVe?zC2VRR@)_n2-ph<*&2s^=%5`RFRI+Wkn{sWSe2l? zc#h+K%JhvOo-(^FkMr7ccC#PqoaoB8-p96N+k&emSV0`M&_8PO0wjA38q&|3{~U-X z=A014}y-u z=|fu>0j-6JEZXD`Ik2Tbk;1oq=if?9fCU^O9{T@CEql3=1_8$V0R3Fa(S%33Dy^$# z-N%rbJ{Nv~qBvp^%=;Skpzt@N?2vIp;v?D&p&ZdVE##1&+aavU$uV%5Mb6U1HwxH{IX#A2k~u#= z2PYIL2D?|qa$`CKWdTE7wm-< zEv^OJ<-Ih4^or~lUDnXmot`-7?``HCEyxf0bnm4C*4SJtJoVIQRtF)pjNf3N2(cKI zalZ*v4*y`Le`NvVd-lSTaPgkotWtnJuHX8u_}H^yrTOb`_wETh{+yo?v0Y7WRGmls z$4591*8W=&Ef(2u>DocD+!vLHgh*L0pZZTJ^(kPMjKEjJsZ6K8vZ$u&P+iboy@cz< z5hAx;Vnns8N3+Q&}_)E{^SLqR!}@APoy&bb{Q(Dv2`9!?_Xt>)vc@kW%{8yM@dmE z3Ly@}0wJ)(_lcau@N|(GUTJl2tMrI zSA?W2K_~%#^r}QGT5mA~rBaXDUrBId{49}-URq(SkRD*kS3CS^C5#HKxg&P0R1JIl zzvNwEJfc~Cg*$S`ZLac=QQilfn?@g1BB&wHuLYXy*1lXAdF!%FuvYJNxx53m}rQ*|V(QsaQ*iT3HL!lVtpbot>gPZ?) zZh}x|qzUku`|qN$d>#iK%fVJ>4zHhLWh`w1Y$f3`CvbXot${J@mM-_bHO6u zv@|HEL}?x>+y2VSlt3N*?KS_+CtQmk>K{q**?uipROHjtdG`YlmD`^;BxC?-i2WAKh(dvpp@VLK14=I!+&{|ceHs|9TlTx zoe%#Fpr2-*7MD!p^Xa|dwfe>~>SIauyGPgFDu@Lcy*&i$pF_*LETi`3ZVv)D)dnbZ zNA_bRl#A$$vy2}UvlaCj(4)7w30liYB(b`e@&{r-y@baO;}MUVE|tvE)+(75@dci7 zJ~a;}gtlnRSAe?z6uz)9y*lu$5?0>D_Af?LD(w%We~U5TM*lP4z~ToYx$(i7tpVky z1#u$raBK)fL2Y1ZmGe1_2|I4a$_l-U^Z`rC8eV7k7ExXxXyqNM)Uot?pWCWgp=6pH zZ7Vc(X8A>sR!>l9Z0S4`BhySx? znVkbY><%^oPuX`H3ux=2AGKU8DK?ytj37)T2$rv;BV|M5`H#l1^nn_NwqfPGre9oF zKy@ow`PqJL0Tn#IwO{eW9|E0pB%VT_L~*sa%@_J1jBS z<(g~1R)g)BWwSMf+S(>K-TPJ@5hnv$%f(E5JQNRLkbM9ZvGZEuV|jy9JTY zsyVe zS+5V8vbHbzeyQ3-AEdfmuy;Cp?^L_UVE-8_OZxyhJ-FY$zq|5@&0&AWj&27LKRKN( z0V72dB)wR;<*K2X5i>!oTSGF@IuLP|7FKDNrwXSzKsbrfh#xWPcIeuxsEv5syY~|U zgUOOy1}D>8LVBDQ)W9aZ{ju!i+@{icsdO2O#FO138&~cjroOb>&Q;@io1Pipw~6?g z=Jk7PTL$M?R2T8Eo@c6=YlNrhHSZm@J2!p3nR}m;n!S~(Y}tYvEs|DXg)ETf38bW> z>fi?%gI6$dI~~N9UBqAOe-)JB3$DwtyUW)Ryob7rkN@_D zY^;2(ee*MD$@-+%N8!gtx{CzZV(|9{g_kW|IS9k%LtNfGqjI>3k-v;lD}n4(9i6G* zdT0L5MBg~ncJDs+;15bHdLbwJQd=6Zh~3jfTxga-9;VMh4T!5TEZqo-AR~&LS3>sh zz|j`dS9MyV+ZdJ6R0fX+BmEZ<_Q9eJ$IIBEhg`xTuu!BHTAhX<54efaWk)ET2*!VR zS6~u^fnBQGb4fiZ2L5=d1o{o0>UQMD@FKtJ6+Aqq!P(wy!(frs#kbreOPuH!H1lFG zbK{B+h-7N0B8DQe9yycC-%#yGFAWmM(!^}jq7pZE??esert{V=s~aum#wE*bs22v1 zB|DPMH$=YVwAyn(+gfvlkh2cylR|=FwNBmo2YuRxNn5q)l@R#$A4-WdBq{Mk5@hcl zx*Vwc`eqqiDqq)R39Ns{)3hacGP*9a#I9*Io|f=hMnL5gzPg^!%jDx@(0ajWe#+BN zEbcz&YXY3IYQJx_?3`K&9{xrjILiDU9Tq8NX_5I-2Y)us2#cQfM5tR%F=y;@|30c1 zq(X=K*lngiaDv-)MepC!IR5g}e?0SS)|%dUQt#$>qeWC7Y~evecl9H@8Kl%PjVogq z-Ccw9Sko1S>GK{&Nndb7~kse6aS959}FDn}1bF`EdAm?nL^HrGhzIhw7E@eS;EP zO}lb2i-)nNlu|Cuy?1?M;mWm`BXB4Azus$yDnWKq}c zWl&4okJpX^Y3WZ83`q6G{!oLN+NL?fte}Y1yV)aYn)z@J z&f|1cp+3z2+NVphIiirlYR1=?CeO)B{pAyEU>fTIO@ch`k7-()1(|Xt zajTtdi$}@<#-D49{4%P<(lzhvsMc5Wjo7}4(FOB|GU)=KFT_e_LB8i@4ti`0?1Ii_ zcE-2eVp(0~{$5s}C~mPMjxG*@mzbvLf3u%p_AuDcS=|mc?vi2kycoM=5SC%<>+ug< zZs9&P;r(2oGdTR^qfK4ScYAL)tvitTpGPCj`2tDShn%~T^y9xlSC=8~mJsf>_NIzD z+Sj0MC$3=lHwFG%B&B7lOusY#-MHU{vk{zg}^G1AB|4Ikg5_0f6pCn)AIwyoX-t*$)7zubT z&Sx<17@MLtn5eOTJWOQU`Fj2ish+95m?&mk8FV=P#=W_9*6Q#>{px07%KqDk>n+b5 zbUtcB(f|JVNQQX&Wfc#O$+YWc$B%l?6xD|5o|z5#HuT6QvCwgiwd>?j8yXb61{FvY zJbdA@^{ptUX-1ghKRiu@i(7ZUKD4tdDHa|Sl}}Ze5$o*iL`OOMV@Q)4yB3Xn9!%W_ zm%i)dc6Xf7M`0LyZ8V=ua{Vlqd;_PsQtXWzOaBDA%-_ijsIW00GPXMqT2#~SbUK#d zOC}=rP&|koHwJOOGWstgb&j6SuI6)%&_$o-<6$1+BWwbUUd{Zlg!xedEIA0ZilCtq zVaHeoA~1S`>n|zG=mhXcQk$BN3Y{R89n!uPYq-Zs`Ko!?e?4N3PQ$m{zA_Md+M>4P zZzad`aHtV7dNDDfgjc$qhT7?(fA|~+P-orfts}DU+sLhVk0wkzm=pqmU4%^nU@Eh3*y zUZ@_w6=pL2=G!MO)6y7G>7jnfGi=EM8WG}gKS47=Vnlvi4i{8pC=&Ebvg4gXr?6*Y ze2`~KW^u1?m-scWJPNC#yXUBsC7Z3m<#Zc~Z^X~X8d7OVD@$P>sV}Xc{|DLVUC&+F z_-*woC!+KvrUeo`K3Cr#-LU64D`P7>?fJf1C+9(5n7hvE^b00Vx#7`98bs&K;G}+< zMuY{ZaahJPk{+RIm~$k&VzzgO{`$4LC^RfUD|Sd~k;fCHw$L58F{U(F6mo%N-5~eC zELzJ>N?hH6rBHJiERJX~6#uWVN&MIb%+~goftzz`o4qdnQ2$||;ueJC5hwr5Y!PAW z5of0Rk6Edk7D@aeKW1HS&wN7q2A&ver7bi12X!O-=iDDEKAUlqGv5ls8GO;hX@2>7 zR?Dk&z!`dyF;AuPLSnE!7yon-TO7iG6u^F?X*zG*Hgd{W+4eKLG!iPBDq0&<10#rP zmPSmCeWbj~c9K@{Z^O=9c~Mz0rIMNL*JOX|(Z8RgYixVyohi1B51)q&RlZFc`{tcF zUAu7FsxQCJZ z`_U1V(;#-n!dUrs_6SX4<#Ag`GItbvRQhxdQZl^srNtBO(rObB{cr&3b{Sn)?=%&( z@aGkUg;bEmZS^k6WV_+jWQg$KQdAC3wm7Q7szUFfL`!@zwSh2tNU8fSDRE z@TFj+qg%V;h4wZV?nDV!^|?8frCan@c7+{3>LE`Z7x5qo_d8q1 z8l46Gg^UDl!y)elZm`tc=HhLy`$__v-oDl(t2YHW76bP|!i}CrWu}2GS35a{s-jW) z5cHvo8~cP0_TlTsa@vK566q|mEI%bWup~k$A#dySQvZ248ZnNYd*{Mc2BWhXWyqj` z(l$ILLhjebsLgJ%f;20}L`?^A$FHRB5Yg0EhyyFtjL za~@rG-@!IF-iQgzzfTrt33&{GYo=(SpZMKdbnp6ffxqoT;dX7}wVr77ah|;RXHgD{ zXb*uHIFHwAZb%^WY|h#gvn8A<4x1^H=ELyzo)Sz*nvV@-Wv-|7#ADE9QRhx&{Ob67 z3T#k2@_;4Op%jjf?7A40v2ucBG8eY2zs_IJLhXCpW(0=E+d{*?TrunRPlCn}RiuAiv?L(Doo8Fu<}AJ)yHIiN{)^R)nES52q84ZkF!_F?>@T8~~aJYoG%5ybPn zXi|pLJf3Yaw%?l&bKAT!!e8_pArVLs88b-TAbO*FuGl|v%w-Keu1%bN8p4t)HriB; z_@KMO@Fm(HU1AOl0`xlC_QLc4CEd!vr!(9up< zlFEqF;*|y6sAU;2958&_dQQ-KT>pml<^8CL=#pH|MSsXzc#aBc@xNh%Y1%YViR;ft z_|$ocnJf?|OY^lBLFK2JKWf?nr?Ywn)WHnvOZJo8e5@Q~u{IFgJ^8wwM_$rz!3Vrn zSt0!?PoyDsbN)p7Ij16Rk=pg}MUbdfdVx5Y{N0HHQaiUlq}hH_b?W?_Hw1H&-pr1KW0Gt zrpvR~?hT*#A5ROav=2%eAtAb(`@U zbdU^J71APwam|KzQ5JCT+QjaT7rbHFhyV)TAoYQGP}QT*-eLBtZvHH3bs?}R8v9d_ zUlNp!NhY1x`}S9P|5dIZ2T?S+LAm7?K{(@~{7g!Hqbsq?;0dPAd}RGVvM3-d7@1)w zv#XCf*o|ryLnFFH+SPCFH>(Qamz{aZ^XEylFI16dJ83M4rPoR%`7QrrQ9Cy#n~idswX!_Q7nKA-3o1-Y#xRapKLt@P(KKO5Ml3MzVd9PzR1i?eDv?ZN|? zVod&K_PCX=FUpGYOA7EyB#GNhEWu4_d-bP&KfX^ryf!Bltq(Dt! zO+OL})X%JG$6oP=obGI`DdDhJS)xRf#q{jZN+Wx>8JPh^N6q`^8=lNc;SaXeVg}93 zuzvd&S95>+O2ns?ri84IZOuiixARZeCycvt4fUj_L}mnYPW{W+UWtPyWYwvfzyJou(}~AW~EC z?0{hGRr&Dc6>+f@wc(?`#31>1FFA_^WlHN1VO5WX0VBno=9*TKw5G&u!r2Fr5teqWZ}7rMj?PmwF-laf98 zWq=L`jE3NVs{VWjxMLyq6yHA?&R5QSNKuV8Nv6#rkIW&S_##RrGKC#}r z9tFc@RGUqBO`LXj`?dVfOT{u-TX}&@;t$}>x%2=L{lQtax~yXTY(pPyf%5re8zSvP znvYv_@c_>J_vIIj*p*9-UDsT%{`2U9dEijpn<$Zj!k8~c@_43t- zeU&d2`%)y$a!QJy<2%^~{1LGzNLVL`^L+w!-{x<)|Ltvi`={~S^n%NOwNE7DtE<_M z-rBV;lOu|zUG-DjiX|knWetmK<&tW7VcU;h@*+)h0V2>7t8jMt6fy?N26qVX#wv|+ zbfcZDZ+X{Mr_vI`A(%~ov%>3A$xfd)?bO!E8o6Od>?(fb+9!wC;C%3 z*5Xlr#TdcuHk;JcjmY7jJ>^`7Fw_J|J6!IGhHB&PQl;*;t!0d1Kd;@1-Wac7Rh93I z+sBg>f(uFV3Bv6b`#~={RE(t7?0;FJ0`{z!)Qb`S)r6eS+Awz(x|0T;sJ;6$h`TGi zUgxXjoctB!CEam@_!N!*7DF&8%LL8K#ND}qO9~}%8L%;6^*-TJGQN0r(7KvN_n@f2 zT-lNU$>%&u;ybY%?Gj$cio=iIid0%@;HW`EA=6RMrX}rw&tcB{@tknr8r#N`w$EpUA{S%&LuwMwvOfBTAJlvaW0F>eOVBQLHV^fe!mu4K zHvYzib&QzbtZu;99;C11f7C*hk%}Kj*gi~Hd^#-SzLo@f^)U!|;g!Md{QF9{L7X0C z^@Vsf_HZF%M?cWuzh`)k-(FVdJ3dA|1+Na;+>N) zA5!~l@(|h*V7=kRmYa?Ik8MQ28oMr^R-KHj7`rV1#I6thr$hQZts;)ke7T|;{dN1; zvuEzCfYTnx5VH!Gp>_bF)gI5P%f^;4|iJ z$)kL&O|7eyB5zCTGevxI&)H~i`kV1CtF@I(e58I`$-Pd%wK9MF)mn0^tJZ+xr&*!v zQ{dEvY3>pSuYatM{c`N+6s_1Js-&ux6cpFWf+sI*&)f#UWCV$qqpz#iK=*Rhd&LL({krMvyNw1FL?H9u#Uz&*Ait*b%!Z zJS!%Rya5Yze?a~`$qRIF@s|!5a?-NsiHn9+QQ}v{g;tXHm+|-5qGgdq57PIukgw$;8N8zS4qM-z$t~LOR3w(Z^@Pcg!}Sq{JJB@s0n^o)(7-0?z?7xIL32(oLf+ zkREcXD&Zt{=|+gu0co~(VEobU;R3V>JClR@YSg-GFgB4kHsQx(f?RLw+}&49d6#)u ze4-1ZN6J<_>5NS|i{{t&1mdiA6Xqx0)S5KEStGa#DRLb%@%fI*IotE{!G<>_S>%vM z&#TM2uz{LVp(3 zXYuW=FmZ3|?R<(f;G+X_KNq`s;kKI~6tu>z>AeL?kT%xfh_JV>TKQR7 zk(F+!w%O1(-g|!XL88jbM8cQ6H9@3gZVw5gA0cgWs)uLQqtl}rCuS1N$x0fm9Ro!*`=*F<4&AWDiK$lEV33z%-4#QV;UEl0 zv$n%%>|yuI366MP4XOEv2yC7CdyGbKy&zgVQ$-e?8SMbRyH~Pml{vF=S=#;(G3^ue zAGm`WRakv;->m6$HuUp@>`cf@iZgIrvzO8M$nDqDU1C>M-JZ*apu11<<{I&d+tC~* z5{Q7@t;o>ANLKpv|k&L7w+4URjsN3o)@pJ|;>Xu^dV)>!7dp_)H z+*Ho-;KBT(-&(Ko_&fXJKRt_(dkm501lxPOD-ePr#VyYEIgW5tfq$P6#&ThP$)~9x z&ks7$FD1FgTJ9U?SIdug?H*QWF)no&)X4_g4IJK>F$uG6GJI8Y>I2p45&5L_F+A#c zC8Xs5xbZ+pKAw@)R5cRD0zteV2gP6uR zObL#UAz7MkteVpJjJ#bJ`bWZ=%*O=*pfAtQuQ{W-$ z-a&CKUCCxDJwBO! zJz^eWHEff*Y{nJ^?wle?;$VFpYRj)Zu}PUlL6TvQ3cCN@@uHrqvV~~}cP(H$(ZHKs z@uJzOx3!%9isEu+9Hs>KJGOO=B{wz8#u*MeG6owT(MQ~su`h^X&#~FkK*FDs3U|5p~nT5Jp%4X10PmB2{_NFt5u~m7! z#z{2L!mr%jvm^^5!y2|W8u}*`5d;b7p`G`2OkWAnG{d5DwV9ULTxrr9G93b^#sW_r1F4ZWeOd-!J)lGcU5jG|Okk zAG7%IQP-27VZdJoMJxk~6q&Btb%hs?dVUI7Hx-x#|NG-IYM{;g>dp(#4?B?dxGenj zkB;rc%dZ7>IFk-tRe~ztUvwN+ESG6oSACg(`xK_|%fsOqrH1^ASq3Zy%>7>Fg^sU# zhgPw26IKOszpOGP#tqcnohf7UU3a*32;)BYB%SCAp?_&;*w;RXUm{A90aCl-aENsP z!p)yxSa(>#w&nBogQ~uz$%HUt&{WSr)zGXHtr*Pi5>%E1s(9Qa{@rIS;^((7JB+;x z9qq1GB~hfO$1nCB+Sm`bAK>&02MxD5?)=I6f%xMsSZOI=G-=W1?fYC&PLO2h+ozav z60?!Wiv1J*q36rn&x}^Rhp#S7yYt|<{zuVShBf)NVf@(`FnWa2FklEsHpXvFnxl<3DXaxV_^4~! z^xIwsI3SGtnD#e;*!Hs2#F{59lSSHRdkV>~jn4|mIus&z(hyr66ETlLGk$l%x=9fm zDYO-NjSu+*bz@&49az6XjWaRbLnN2q+y8$2#)y2?F|_BUNX{2e+GRdBG&Q-daC#@(n=@#r6f!s68-gAkWK47NA{QweA8Btl{C)S2#e;P~ zPR{mPfL4cEFCeY$`XcbZF_-vCc9^nk6EWy(B)H@S($H(H=`vEaC;(T(7pw!#WGa_b0M3?>^4Lntxdnzi}g+Jk$8+=5oCt z-$08zl+?h79er9k- zziW(jAJwBLmxZ@~B7eRpi&R@-P$XM^r2i(!8#0W5@Cdb+^NM|sU{OIO?fLIlHJ6HA zl-eADlhms_YZ~9FKL}MnJW_>pWy05B3 zAud-K)`yo{|I}1%PB99-vYbqM!6*Iw}_&^^A=J` z03}{^7jdVwY8nL`;srz36zXKYlOP-aNwItmITxy(JmoKJGX(1(u9Z$x6Cfc;{-yJZ z{Q)yvM1h&DM1@`aTUW>8{X54FZg`R|qt3T`Vy0VRmlcvlw-sa)Y3|!<5!|X_yUo8oc<)GY&>6m0|H5@kUg|ufJ+x$sp>Zi( zU2M1YK!Iea*AQ3nLnC}*VQ7$0>yNBFnmhemgbjFKx0FRb>-zfl54OI&5RDuAEY~B- z&u+RK)Mk|&O7^;8pl7*^Q!-ub5hz}NDz*;kkoRH5F=LRf zhYw~+JZG*q3Pg?3=pBE1BWlWCHM_-wz_rcNXmJ^myYtc!y7|_F;~VaW_xjhL1+QfW zE?ZT3N83T`Eyik7jAWt+PP5I+%i;6p`1E%gOph)zyR`bK_HzBpY_ld?Vt6{^+&b%i zzpHDOA-h$rBA%53m)1_V=(FcrzAk|xO@{FA!mNp1EJtr6N^B#Kmw}^gurw`UI;TsyF-HA9g4ii`s9m91YU3e2fYdWW$W( zL#EbNCxp+qyupEYr?Kbzy=~42=QE!#UCoY9fWichM^t3}+_N#9KVl2%@*RIWb~sSP zF}{?#@yc2A|Mf0&RKonyQkpU=IqxGocbJKt*m6xQXC~vPlzhpqLlA+$JmU|`sMUq8 zt4BBOPL>N!+=d_Ycy zb2%0UKu~-7B+Rfb6e|SvG;d4)^l6tylO8sRofR!}ty-qU_^te4CdNu)x?R~)rtD&} zpk+TXdecEtlVjtVTI7K}riBr94L`>QnHi{JUlyrZw9db`z|`HV6#5>wxzR6B^ayWp zq1xsZt(L9&rUKsL&Je7Zp20kH%Zq7t?jAg(`$4%N+(z6>7K*~r<1D>W@4-JYzebL3 z{Ue%Lqe(fvUHra4-+Zl9j6M2Bx=cMvP?x%NXtB$50)Mfqmbgp(rt%ga5A6ud9f9Po zjQvbiPcDe5&Yy6W1e9Kh|3^_#Ecp<4llc9EA9(*K4aZ9Gcfxg*CkjEH?OU}TyDPr5 z%6oCcQdjIc5&oFRn`C?&-|B@Z3(?GCN$Ty7EzId@@ zdtYkrS>LyEl@5ndILaLqhu#uNRIX(8bte5ZwQ!8tQT)R{z%n5vczS$v;}p-T+|t-? z5bOV4(s09*v1N#}FaA<#oR)tRqi4b3p_vbu0t~g(EcX`l!+c^)Tphogw92wCfANfDY|piSXNhZ)6;oyDn$FvT z%oO?*B-Dp$9P!+*G#8ILc{i^Y!rVb*M7xM12lJw7G(lGT5^H|;>IzWpwRFp`$U2`q zE5Sh@?@dU$4`-y=5-DI_mRDN1QgokJh8ocmf9(9?k|=;Ppr#RLZ~B7nM(3exwDEhH zPJqS1gK&4lcg9%>W3OxeNEP$1T~j;N?&CGFi|Nw755g=y2eZwB0=95t@+J%qK;=u# zgvwP6F&FEyYhaR^doxmQ7yeF|S>JaF^kiP6OL z$t+{R>?Io&pxu6tQU6}GWR<l5VjTt*WxD8g6x9ixmE%7 zl$EC#bf3o4otOH!d{TR9@(Swj7v7V<;8yoG|3*m0JY)Z*Zm&5@`(R*LwIOD!oY2qc zNS;Xj*|Y(h2gM(zK4*;G=oQaTF2NV6MQIk}LRVIa&@EAYch=?+?(v_#m@Ip3_N$vI zLrYfchZDa;3p%SM{&|uF7rElQiGMwG_S2q?Ev(X_NVa6$A_4eKK7#Kc$QPQ>=`RoX zg>?KYQOZ{MYI@;50Z)KN1F-EQI+UzW`yk6a_ zdJaPu@4@{>1eAdg;4oF`=jqo|8x=sBzqRj8nL0#Y!di0a|=SIs}n6c=}a z!g#4L{I#U5+p3|eyk793TAm}4V*Yxhlf2Y(a2#afn9B+_%Zfh_mP2}nSR9@w8u&=Z ze#+8|S{SzOaVhtzd2?dr@?~qu=buVb^Q-wyp8o5Y6iQUnjWZt@@B$Dh!fxkbk;Be% zO=aw5=63K-GKXtqqz*WBQ@Ls3#o##WisOemz1Qz0mx-1ILif|(XUj_QB)z&`rk^hP z3z*<-%fQ04nzouNrq$!W+?d8|h*><;-fDlEZF(Jl=I5ux1^~>MPCM{rV<$+qf)Ym9 zAXeob0SXB^sLbURJA1Q0P*~)-U^5}qQzmGq&$NQ0NTg-&HI$q>u`UxrGdwH^am#7E zP!Td7`~`SJ)O%mznK89Z;okITCHo34|HOS-v9jifuDHzyzk*1vu@S2ia8 zgVAi3OLBi9lkla_D_a%x;k+=czfcs!MP^>&A`%%4m-d2s;Y@o-7_R`wkCoTE)}E8G znFHH2U$t}N0UJCkOd4MS@P($cg>@`&T+zpDB=Bzp0oOhM+2(Uv zOXA%wrHa0rAJY@wN}Xf9oF+r>{h0hIc|N_4W<9^UV5-P8#JN{>dw9R#NQQFU0bM#l zlXe2;J+UwB=dN81>R@&d?;iX!&!`Z>;Wgmdc+2C*HfO-wF{s6#o$BXw8EO z{Cet*S0E=K^DF_Xi_TF&M(J3qqyc!bvi}}IUk`YHpb%rqJxAZr{9X0Ns_WpTt)}8s zLD(DNz?)>Zy2H?awYH9!tyY*My>zyyBX&}?Q14k~C_Wp)!J%6hR#!c)559~>ubBm> z(l987vl|#%*_PWrFbiKGe~3K*sbVLSiaYAb@yV*;1v_TBCwnX zmofiEUG%CP6k{A1{m5fC@ttLe>uzLOimb$nmQsID6(UeiWGmhsS;DBRFd3UXXh zIdlEx`(~#ve6pMJ7q0`b+_CxoXhl_`y5O>Jp?yd~I55w4G2%{TeWCf4?VGS1a0rIs zz?bAhO4%uIo5S~i*Zzc_Nb64E3f`SeXniQ2}giw|^QP_!EQdlBcIl)@rPAw8g za-`qA9FA3Y5fv{TeeG^^RdkS_^W%5!64@c{sGfFE;~Dp<&~ioL-k0{O>_Q`@ONr|* zfz#0KS-rO`Yk>bRpeHDW+e>21t8hiX-qQ5S|D-z9U)&Vy-irR!%CP3a7j3k5J)`fd z((0ozILM6zt0j-{RkV31K;=;00yYSSb|tjOr-8X!vAEVePYt<*l^b^4TRA} z$FIC4W>^HepSokY3M@OVdR3i2za#sYItDLEr?}-r(jy<*2`-~^8gWgpqkN_+qhIQ9 zE|+R9iejG!C*b;;y0-OCnTQsoa{N%5xUu06yx(k?m_C)4 z7U){eTw=}YPpK0{v8KoraJC!9)VxP&=M6<@F|!M?VBzzx9M=%gNl6c<*K+tYYfrbD;s=FO)_@)NXXwn+s9`jqnr|7k%l zikmi?ZF(p|4!eG6e8c~d%gHV0j?7dJ9Lh{sr1PAt+9bMdW`?aq2)aC-jdDe|19$Cr z-KksVL4i1@uv52_wwZ?)!3@qO;^^j!{Y;C~#A~PKqxD6wZ_ZieBPTPYP4xu)Mvt4gbPbc>f4Oz=QHW@F99)eK%^WHlL1NUDE7Xg zy!}~fJ`xvpABd9>C>mGLs#Q)*d0MAuZ1z}}1VsL7Tl%(>^B;k4520gz)?~`3_BpcK z*5xGMFt2HL%BGz!@{bOlE?S59JmqMcUNVr#jYa}mUU|@$@AaS7Qrqso=en@k$*3Bb zC0&wNP5-oV5j)S#O46GU6;5z@)pH;SYg2kHhDIJE>HsQf#rZV;qwnlC4~-o6#bn(n zR6bXmM!&qLC}^m#`6M4cRobB152dso}7t(Js3B0!Ii zxW809A_Y;X++*oZ*YA9GnzbXmEY^|?#AgBNl6`*nmpW-flZz2`{^#LbJBab=2eD32On&(MzA8wb;Y{sOg;@}JQJu{@X^r*bVp87z9y<0(rnO)}adwY)+M@=yTdWzh74@ z30gPNvd`R%J>;2bTT-T#M=}L^LDD4gciNAE2#6$NTptr@x=zz%wg+P#+?C8#TG_7z zE0qa#Ly>bSN6GITxyA~)bKAJ{;V8@@#gB zGKuy!GAo4Q1;6E&yEVyguWFAeO*ntW9TI*Wvznq_Hs%>njPykHTj3L|E0$>m;YI7S z;8l;ye|2CC9JrF}$Jr&ERwFOH#Bg_oW~c(Ui5^*J)3QZJhbgdp`en%*`3nRWOS3|9 zAisFena*FtoBk>;LK6Q1YwW;&su-U;tKyN^e*W&H_mIiyfTvIw75>G^G&~e|2qsvC| z`N?Flw$PYJfx>SaKLzxXI{&z06We}xBcJ<#jQ#S*W7`OLE-F+x0q$zSg_Og#+Ez05 zyjJ5Fo0?25t)d;Yp73k#W z%9xD5F(^NI|}u*4}0pP%Q$K5o(k5H|b#)no@v2SA3a3 zgX%?2zh&IJr_8)uVX2bP3d6CV>yFPeIp+*iU>y#q9(V-m0&lw1{EpxjHGE2U;pkO=W3p2 zQC3DJ9+R3kmJqaQb+a!`B(USgCJUix@Qej=>4-RJ9uslX(5Zze{)_(Ii6e_241E20 zoJHUHp6hDvxaCNK^y$}`QjX(B4aEFw^FPnaRHEZ>^x{CRVpN98f=uj%)NeAT9MD&V z-njED`J=!{@FrBS-u8ZaLMTue|ziLt$E%ZM!wVOPaE_sVzaq4jH77*)2+Qec(bt68=%MD=gfq4C{k`K z$d}WNUQ#2`Jeez*csjtH=NH83mQP>dNp_v0?-B4qM4?c&h}%hUde`pg`Cm=7Izwf= zpp&|EL2f4qNE7HX3$>mtv`#frpM=_GzEhlJF;nccPW_LoJPQvvBc_rf?F&8@qx;c7 zhTTVQCL_9e5k}K?mCwB+@bj303J)rf%lhk4 zHn=yad}2TCO+;aYtSpYI6nzN1rQ%(_dE6QtjCt#Wt6h_WT3I=ME*94R?V-$J{60!j zH@LG#UUpU116uW2XkgtUsXwW{Z(gOV*IkOeE39l!@RPc(z!Uv7_Oe&=V&a?I9u?l@ zwY%p1a<@e8wb2lna1=?>qw=S(suv}3UJ0m8VKo|jJ0isgE(MosMi#Oc(_Ed$T>j|A z;~0)>WzzC$bLb?dp`o4vReuj*jS>TWNEUZ)8e4|{lv&ogcQ$HtSysD6T8+qWzWnm1 z_S+@dbv<4UEXh%aoEqI1*?#J{+^$KpNVRjw(bcA?p_C3-Dz|yLWOx4sFE-(Ty=x3>a5H5D5K3`|tctF=IoJOKYe6+Zu|;HQ)(V!G4Fcb0#^Z%wdWE9D?@;I_`Q7uwA7x0v$>8X^IZBX3_z zoe*;gEgAKr!>xd?D6ZGfQY5cHQ4GjKn%Zptlv-qFlLGj0wljnOh)6b2=2wr$vHS|& z4vhTlI2lQNZ4#jJ=rOYw>`9AFjNaWVH5}r_OgLJ$)EM>nlg826=X<&6hzM# z+bH#K9DqP0(9)>(@zOQdX}ur9YMmEX&0C(X>NQ>b=a$jS74Ob%Id3IYKC`Gv^X67m zy50{RH{4Nm;e{|B_>_=h1irfXci3QVix2zog(s3GD0JG*V~F*};a$}u36(kuD?MX(Lv`}qSx6h(9)k{h@d zA?@bBM(TAryraNQ#iMMugh^TE_xs18FdkYJgyoy>YDremwD*E>tg zg8YIo$`VhVom4ZD-WgC+rAd@Wrkmm8ypWnqlD0mo4S8%c)ulke+JRMhZqJEOg^-K< zapmkcaOPUJJq1p1JZ7x8_gEB=!g67j+UIHc%GSn^W9EEScqiy6Esg+2CJd&+A82Nx z>u?WeKl&UD0q(u*z0TWx*EPI>H#=THFrWZMvHCM1Fr4rMZ*UUPxnqRDoL6exAwC?{ zmI%6lu%Bi`^K4kBGq7^Oeu&OWLy(9WgohVquYl9Y@Qw}{{x=Spc(366df)fdw$5Zn zM+Ij(Y)=)ek2T}pzGHHu@xxQ{ni76rbkIYJo+}g&tSYMzO!=?)c&oA9+%zo)Z~0*f z6e#@&r1gZ2P%|6o0A&+ulcDs-;rXr*CM`ly&YDW6UxA^qO&;7jre*B3Qaqc8t<*D?RJoTCI86zJc zA4%q*cbsc55AX(-y0tGU18sZch-C)@KCjw0g0(XCmGY8ynzfc3&u(5orrGXLYweeU z!XT4)YpL~&PuL8r8(nQxgO~Kxk8M(#62Y3Q}(I@uJdR_ ztW#(tC zfD`O8$4xVKrisUb{(KBUEF`%Rqiz3cEs0e(J*147FzHbk7|lYK2ZXr_Tw5SV2!xto z%bJBqZwQWuo(3Qt;7l#XX{vyF5gpy9C1o|RF3WpW+Nx;i{Q?qYn0oZir88ib9m`jFkFqr+@ zXevLb8N7MwpPovTZ|R_wEM4Aa+j`V|fH=KKIj0VGX+xlk;H50J{JcLvX@?dLaCEb(9eQO9}XA*3+%MRxoRCJa0F5%98kEA%%0 zgZksun>RDpb49=C)hfPxyl~4Z@+!Rz8aa9E{{Da&%isu?`i;}NEcDGTllmEZ?ibk? zaNvA}+Ug}+t*zxqv~A>Z#5n@fEl}>L^#*!zQHrtHF|@dsm6?>WqtfMG?qgr-Wq(gh zfFm-_Mkwg5j$5az$|9PjQx^l*o*Pdr-CIl%FEW#^lC&=9OI)wtO&3PxcyAHE%9Q9v z$3*%$F-pK&t@~*mK8b`kphONnP9{BN65OGU*I6?M;Re!Mf|>Fwq!V$Q)UJhU)HO9W zbKH``+8uw~f1@E*>YMlX{G;0U|JYAqSS!8tYwpJ)T&nvqvbr@q<@o^8AS71CUFBsyE)_Q%#h+lGsQ`7-L6u9 zU$j%6GFOV0_{z?VnNj za70H$>|YnW5yDjk9+V_7r9t)WYE|cAb0vr*0`Sveho`J#!(}1CKpgofpTCPphQ2Da zIKzZXs(9#i`z*WTaLSg|)JA!5nGFeY>wNU;5eQCbhN*aV{oL}j>)lG@cuS7s#jf!F z!}}`6le1%I%RAq!k=7q539@NKZ16q{GUuIPzI?%l`v$JNBYz=$^uisF`PmJ@cX?n8 z*6&zg6*vT)sTawaO@Q(*ILpZzme;HKN@RH znl&?g68l|>;xMufdzSp;>y%WEMbDuha(MUL7moLut^qJuD1dwEb5bU1BPR; zFsY~B?9@>54PRUK&<*Rm+VCO1CyGjE-^A^2)xUya+@}Nd2N3y%%ZgYKwMi%(G)?j^ zUeUzY;KxkBPDsp60fELd@o16dHh+&m*2_AGP1%xvC(K(q?cZTop3MqL<5T*!2cGI5 zy!8&|wV-9?Fv-UP-h_=an!@>AyZ$h22!7h*MvRBAm)6y<=T6r;E*+mqWT&Dk zxQNxprc>ofy4VZBq2G4He{3}fYVFElpevACy|Ml~$ZP&lww6lWxzHrZ-lSg$T!B4) zc`Ow`@@-C55>>AY(ne$M|$nSJiCIGtqnX8T?pPCA|gFuT6I5pP4FC<1lP(0YTnX)po%yKsb zSy7D|etJJ7B!OE0F8Qya(t|#HQF-GX&SU>6;re~}YT8g4=ttHQdm?&nI7``XU?gAn za1$}S<1?sXc6@SO`;l^<3v>xOW?fF*sVe^#(D=+eh8f^m7{?>iQvCz_5(NHTm6XZ& z_hX@EC$U*^kl_bjW0RjDYIq6gBa2Q&W(r(~ZJ01eUj=XTV!wph1&Ol4J@EQVgscsE zpQBd+U8ZVX+R0o#c1uS)&=8paRlKA#IiXu%@L+B~D^ zzg|jOPN!o5qxpn~<9m-Mbz4fm*Vgu9V_EcMP7*`cs(-l^D)0p-e{7~7NcIxJbE5be zsp{oNvXy9x!j`dFo&<~h>Sc8AHBpp|Nt|Qg1#)rlA}mDX_#@CPo+h@-fi~iIjq(c8 z!_rlWMbvGlyKB*~(}Y*I=shPQ@~2dOL#*K66VZca3yHj=PGi^;Pj)IYG$ick4>bmPTsjo1eMs(tXc`mge0fAY5&Sw{|7n{=d-m zp9XnH(3mm5q(9iuu_eU~d@i`dcmUn(#zO96kqeN5&AgZqzzU82@!JoCFf!Dx)?&Jx z%9p)#S>VvgB``!?@~yys!J;VJFeHST4ud6b;9!b#0iJ z;Jky`s;!wO<1BpWI!gi=6Jl$K40%URPVQ@&f6=V%oQ+#bU^U`5%+z!FI=~n@PY((k z>tcKpcWo?Vz_+`K)rzbl>9j^da#L7dcAu@~t?98j8j?Zv2d2~%H{wbidTTRuE_TvUqpMI`RiE(r`WgoM3M|M`jqF8x*QS&&c zeRAld@tZd9b!J;e3_L_24;T4Lc#l^?km#R(U}h`FKz5jq;5WhU1@r9X z{Rzc5pQxnraQY#Z804vwo;P@ZFx0t&9EgZlzN}rKtsw#DC-MAsuDngh1s&QJfUm#+ zyx{*qFYrqs6(5Dz;cw;79l^v=CpVK-xTM zb_sni#nu`-g}w!qd^#dtHuy=7?v3L{Shui+GQV_V1jm&og4a?|SW%bF^SlG8)k#Ase#Pe;GfXtVMucgWdO zl}EAG?hc$^vr1P(j9AyRRug`%5a-5;601O0y9@WfZykEcI)=ksB;;0C?+7 zdTJ|RLry%drT>|_7AuJKL}Odx1NtvaZ*oDsg;R^O0%xdO25xY zm$%GoSD%+SO}8y{s7A0%`0qcnofPxp(r>{6gpn%e(xHCW#{StKChDG)4*6 z9s*>N>-KC@0+Rm)Og>ZPJ5}}6paATij6ItLvJB3`XkGr#2H3y@1|w``T$hGQ0xt+Q zRKue_2in`-EwXsV3vHoCs!&Xmkn~Q#C7f%waxx68zkxUvGd&?Xlrn+l*e-j8N{M0Y zLQZUC3h}ud#kmz|U1q=wL}f45^A^K3_&>!!5Q8+h7jd6;buVP4G!-j<13}>>UmDuz z&wtoPHNQU4gzH#q>JaF`4XlOd-kO!jT4XxWhj03U*SP- zIJ5dk(!_T*TVtb5dCu}P;U+d5#@sAD(c&S}ROkby6(1fH9Hg2-%mI~s4mre6`^^wE zfACNkAhB|ib6I=r^^zgndAa9DiV*wuLyv%ApHSr+eJ;DVRna?-IWW(^U-~ITN$x!& z(V}I63KiOSPp1D?a0j&u`=G_eWmRC{(YmF5HdOYWe%r1;jetlSW;L%_i`qt)MKvKsN;I~$3 z0;aOq)Nex6gRC6?rV9>*WdxN}vCrI%~H&c^9z6;6s( z4~W$yN#x9V>tCk(@e%)D#!ru#bomNWgEByT5Yz$H6cmsHYdrhAj0xg4bt7Z)k@|JI zl3m+U59?n%21{_J)}tiW)m*61#Ikd7wwyc;X#{{Un=-IbcOT|g%kbR) zV|`bekxPntH?9Bj9f<02;{;}{WL*D8fANtVdowkYnePa_h~~|H^*eEw*uCeN7~nj4 zHcDT_dQ7f`G?V$TaBYq-*W%k${#J>T8W!U$*w+#KbGh!4>Y=W8cfpm1th5@ zm66IDqBcR`7SXyTpVJNVP~t@*8$KibWthPZ`ao0j$3ec>dhZEc8DCJeTLk{yC2R zd;6iet2yCdDvplkfPepR3(F4LTpN?bKhg|DtxI1MsAgPpTbqC+x%}okP||RsMvIrt zJ9qls>8?L(oO^{+BdC@?;vS~8r7(G@f0TbO+2`uCGMtp+)a)`lhk|LfZPgBgSp>#h zOJfTak@ZOG?C|FMpL12xQui@{9O`8pz%@07RY6f{?s#%j?Xu_7RK!4;&3tG%&Vav3 zSAP&wvdLOpT!m3`45N|rB0qAt&MZlm3@3;#YInS60!T_<*DO<~acH8Uz(~werc&c4nk3 zFozE>7SHOFLwK)jT4N6XhvtFO4ha|VG7AG7gpgsL4~&8xCX8j1qicuMH`JA}y^D@< zB=wW=e$gT$%}!xI(%y#?6Ri>8eRn`fpm^NOdUEyt^!TWdtu|g7hB^pd;x3D-d4V%p zL9BSAFgKR5wGdnd@FA1}ffVn!UW90(HCHF_)xs2Uv7T2w*T#>oG;*Vhe5%}4$}Ia_ zMMLqiq%3P9UUy}1_Ya9r2WGX>VRbmJ-J6`El%0ljaV#+-J{&^;<4s1YGRpUD4Kb6M z0oa#rvz=s1sVX|-77hz;M&e%_X& zGSC3viX_R09#>xv$9#b61}gE#e}yaeEs6&!Sm1xUW6wB*xNvJgf(iZR+n5Z@WT-(x>$_aJlr_OxqUS|eubT;chH+MEgooL2- z(Edps`0KQ0-iZxpt(w%dtkEgbcybA1XW+yvgU%ww z6PIcc)K$WwHpc_@nO0!KysrYi<)0W@Kx!lKC()2H0^qb+vP z$thDa0Y&hl{3U4#M>_>;ogtoHEt$WRXv2;}88Yw@offBAdf{VD&ben(M&1UYI8&k) zNa=1&^s|sD83tlhZAy&KxD#3zIA(=QNE03!c`N4&zzafspfIYGcum>HZd+nHU2iOQ z3I%i4uvg5akImi`D(cNNcd{JrT3)2V7<`b{St?KbPo7WLY#}^e>+h**i~RH{)}LYv zJRP+YUQ#tT!sb|Zb~rw)P+UB`z;Cc7gRSP8e)1J@z|3rn15oS`%G@9bI|7D)U;91* zziQ7qymAisuS7XCtXT5vFQqTC`Yre0m79{WvC^Hhi%)!EA2mO})?b8a;>e!v8t-N9mZU&(3p3%E^ZlPI|Mt$woXV5e29~-w3%VXwab&BInj1QtZG~Y;!^D6yD zO*{-ixpV;=L~$%AR;lIf6OUN0XTwteB0OT^<4=b0*_sZYlE#ux)TQR6SMY1?`~UlQ zTws=EYCnxWBJ@V|#ioPt3I|0;=~x!8^QJ34g@a$>DI20@S-y>+<)@Mi=tz(xr{&8Muc0`?mQBn9V7NkS2fAs2vM zr(owvxee%xLKvlf3T^1$mX$*^RN+a@Zd2j866 z_I@ObJc_ED&zp2H?(?CV7s(>k`mTCoD@;Tqvt+Chb0p{e329$@KX7w+9f7Snl(BB8 z&hrl(BP)mQwf?hG>GXSPq|L7V#)N}lbyS&V+viUl78}$=wAlb~kNLDGMhuG;qrH(^ z6=TCX8#Iao*eHZ$&FEJo$7H)JtxJATBAxhYQ|WR zVF=HBp$D_B#FBR}2QL=H$CFw)Ze{hFs*3`x^ctFH78axi%iRCs!UO#Ldi=-pd=Cop zoFyFV;_>I=(u(XH9qCI053=gXE(H%{Hr`SSqb-=}%El*RBov%BG2{1BwFgfdj&F-H zX3lr4y&k8eDYA`Byo1;%QOt5U!j~#7%VoXonB7Cj;^&|j?p~GutYh;FqAfjs0`K(N zEjh<=BlqDVJWuHJL9qoPx9{KUwvX*fqo+0Ioa#+xt2%!%KhZPxs3tAof9lkE;7WAr z&Gnx$J}PkSP@F9YFAR`7ChPqWVSwGo1Q@A^Te;x}}uk zlg$4(I_sz=|G$mj_cmbk7~P{$kVZmcbclkWgd!dCMU;?|8X?^%p`@gWGy+niJ46MP z8c26H+?yPCg%#)&P)j0aR3Yfq|K7h;&D{*B74yvrZ&8JR0 zneT;qzhljE^2=zttarS)~xn<8zs{bgg~2RrYpL_&l_o zN^e-Q^rcM0vhQr?=3Yr+BUT$@=8$c{TXe)$tzBPCw32n_*0Nv*oqpI} z=)P11eoq(&V)uKt^xvr8@_U*Y&I*n`Z2QJh%Sil3zT;*C2R|9hpKCHchwn1E<&j)l z(3jY+`F%7@AN^EYku30l4V_dueQb7AJMC(p!e*LcdB+uvI051DHAjj)DW z-nS_=L zQ-<*!&Ss-4;0yf#l@J4;zHs`D5E2$yK)W*uc%arAu;@WTy$j6`e?$mxhnkUL#y+5VFXi&0H z66!?|DIh+_KN`oJ2XB|0UT>{gY|I5@Bwz#8=4qj7XoM|$%?hh) z0F(NHEw4SRGC{*7Y9^Wv?jF?@`E<|3wV)f9)j0nH!H9M(^3%=W_b#rpk~k*az7sc!4yJ&&SUwg$4B~dX5QY&; zikQc=af>h7O}l(gSRA~l(n5t(6YDJCdGs;nw1><)%xa-_|Mixuf@Dbzj)Sx%igI#T zOSkI;ic3jr*NH&0-y<0L&|2)DUROEW&*$s`8A>ia^5PYNUki`6{5j07HzTxNg@aNi z{!Ld7`xerwiAKXN*<$mroArf|DZLWguNPa^7Kcgx!*8eTo0_JJk5gnc!1r!{b91xs z`TM}(9$Sux*zu59&cLwT@VA6os*DY%CjwlvksCC1&vphf91b#njigIgYV+R?R+0P^ z-T96AZ&=79niSAP=ZA#=0R!E~baaa+V0iyKprvRjC(NP|(QZ{*^@Ks@Mr@vI_ziYn zc8UDJA8&_+io!}1N0JRXSw-vlX!{@bkH2+IgwTm>EZ#yxGI@XH!P~+5xz17L4(M(a zOH;bY`0_~S3_b4p9t@33NEUldzF5l#wIznqZfg#6dYa>WM_XBz@VYUkFj* zsZy2bb}$%bvaIbqxO9Ndx zE17T-ICLapYpjHh>LPru)lbby^i`V~-WVG>3h%H%W$Tqg6p!|YWsbb-!$rNJW{;#bDn-K1BePlO}7*jrt8@t#G4&-3pa z&p#S<_P@)u-E6G80ZPPOSO&DDhQ78C&J!aG=?Pg%51x_6Gm%3!D0iT`qyz8-H9I5Q zHwqW4ihn`@mEE&nQ6&F#a%sOycy-aY-`33#3w8&Uq|g#rC^mBquRx0Fz2|T+1Vf8x z7!j*LDrTXVJZFN~IdUy}oBn%7ccutQ{7<>25$3sr6&R(fpLdE7b7QW0np6)pLJb~s zLo^?Lj<#Iti45NEz;e7qYy5hD3mJd$W%!~;#xn8U{aOVFpy|ak{c26oyU_9$v!C60`-^oim3WEkpT3#!~ngg3aeQ{i3 z%3T;~NfU!6R!1{DQw>p1QkG>Mr}7wu*VBo86IX{M&y?s{%^8}oRI`ZgmU>B1}P8xT|ds23*(Szh^D=jAA)%C+0o39rG*CNeP@a7)*pTsFoTtn8nQtm}q z)9nrFHivP9MB+$CwS%1-buAQ*4BC}4qz1f-#hG}01k@oGM*PdU#j+WzvqSL4%! zFma)o(4@iR#2thYk<9am3hD&RG=4l`)lmgd$e)Yy1!N45Mb!i3&(#i-5XVb_<%le8 z6@FS3m@3Jn1iF>(I*W}gQb|6Tpm63GOW~Lfbn{y-GimLZ4JbFIbnSIjHu>B~nUPlP zTDX_0TB@$C;$9OmPMe=PSz3C!G_`EA>bdN|iDxUJ-h^sK??Hsu^!x>jitE1H{tuE! zbmp_pdER#`3I-QU9|jlMi&-Zec!YEKFFLG4;d0)mM+{f`y?buvgowmwcx@h>xz ze<_^)bhC&}NMp{8Fwk+{(b&r5fkl;9QA>EtJO9s(enBpLlcP zV*Vm^HYo+uN-(F8RRWz&9twJb|7r6vxaB;5XZZLySMi$>+^YF^n!b?8Ph*j5qGhM7 zaZ@*^A@<$Xt^A?C&1zi2m^%xn|MMnnKizjVLI7d5pgw_v2F>`FFy~zz+z*H9EgyT= zNuapJYUgZ~tzOOKev!@&dbgBj&^P}-1bb1A!)JvR{L7!4)x#xyUQCbc*2%K#&#0O(yiQCnIq<9fcLF(UIor0Yw(Pjr8Mw)F5@EnGQ3|t$1|jEm z&C$T=lTxc~6&~g?){h$w6nLBk;^cVDaPf~Ok1d&a1Ld&5C6Gg|;Va1}ndnB=;XPJafQrd9ht>9@M z`>PMQ48!BrVC8Y;EBC^+?>f?EAHQU{7nj6mYJiIv0@ycJLzk7qIcmZt9uqctiW9T1w zl1sI!+8>+XGZe@TP~oG^9CoSihI`UOBnlrrrYmhsYikAt<(o)uD&LYoFCSd23E_w1 zQw-J2u13ABg0!;1R*e!8F@EEOkZwahVT~6Q0i?*kU4O-lreA!+uRGCKXX>DN{#_G8 zI|T@3E;_GSNY%z$bUKfryK+H*GHEe;)*^IBloxdh8=Xi@W45+zY*;A9y5z$_1Qos>m7`YwC2N26~59HXW`E2#B2KAm(MYVU<^??|Q#LF*X z)>8>R5E~-IYc3v5`omPetg|!UZj7smB%4pSP|eFU{+#E@QeBHFMQfCoq?L*Fy{AFp z7vjq~49!dM!C! z49?Ch2QES=)|ad?51{1_%i1Zuh7g?D;H;K5#a(Ksk078@EGU51Nyx?w`TaXni8L>- z@8SIm@9W{kYdrWicBF4f=7!vDIU*A1hQB7Y8KNk;Pp0%xLL`7*VmF~x^;_$!5Yd4k ze+Kyr#D>wK(4G4QZR&EjGw9TlU030jBQR{I*YaFC8WK2|pa9Hwf8_c{Y1P*v0TNqv z-bL7f^Guf6Ha)K%Mbvj<-!iQ-6L*`QQbcf9H+=aTL4sO;VRSFn#m3D);x1L2gbE7a zUBhwZTIrbZuoSc4I=U+>Od-cUB=@)cb5+UocH6uV#AxLOZ;WD3z1F+tr9$PSMDas4kA|Gzdp?{?F>Z$1peLLSO$=wo4zBq?P{I!gRf8Xs zK4=I-5}$?;fhE{K1$?6DY7*=_BbO^4KpFYs{;~})+WPD55a-l^6t~rQfOMxp>t1Ef z#PCwk$ebb3&@c&e#ayUxZtP>@XL*CFEXw_?V$N^o&N_$n&8*&vlRgI+s@sz2wA+|4 z^Ayz#Ty3WB-qtEMZqTe9KbRoHHMx#JiE-J^?Y`|*qQNa4h zG9k?2chLE?_s#FrpJ9r2zbrl0nAb$ApXW5Sau`!^%|A}(LnykPSCV|uw{-o_@hIbB zv$1$nw*7_A@6Yqynrz%bpb(Qm7yxAcns=N;ok!!Rml74F6p}XhwmBz8N--2?9Ty=H zA48vB@NblU&W!0|crU8Y*Oa&p72~#@`E86K%$J64$ruCx{WOy1NKpaJK|+zDP(a8$ z!lG+5xF3oZIBY_9!1iEhh|O|W1)kKlvjSa;*M#7#fo++65cMLApIP-DlSFccqC%Je zHYT%+jb9fbe6D{ez}xEy6;E7=lY5F6G&Jxfb!Vpy_8fnrba&SKESI%iE%8W=i8RRN z5b}^0+hSrr%&9vp;2$`u1;Y@ty%0{F2d&sOh(RmnLN(~6S;GIg>z9gQ!L40e_kU0! zBY@46JDdi=iVVseK;8KaD^{rq3xYyp9T8>S$9L_;;TLa|uMB=f6ydn~78 zw`_P)5^e6JRNR$g$E)U)se8U85qpj&mWe`)!LC^z3xc{-xS~z|z zd+?y~O7S{uuFK{AHklRZiqIln{W2+@_l4r)AQ7641LAr$%0cF6Q!|) z&v6PTjCqu1$*}BVvF;6x&zlKFnH$k!rM2tsPR-KBzfSyinhKF2JKqBnuZ~UMjJSFn z2%k33&J5SI%st5d{x5d&UxTguJmD0@U(T}lCP~TkJHoMvWD!7f*E2@ak4u~YC8}1V zGCteA8oAw&TS2I3?C_if zYQNQU5yH!LAE&t*pgQg2E$$7-(PpPDT43PxpDO-LDcwL=+~60_FAwW&;DCF0owRV7Sbu6&5xEjSj=X?fUW71Ede- zDvkz;O~Ic27yr+%Xa}~)zN$!Qwu7OL!9~+kVeovHYBY(92&0gy3`1!HJ@Z6xo7_z3 z6K`r2fu!J5*0%~9iI66eFb0vI&mvQ#*Mkc(*B4f4!y z=s0pXFmAp!cIy^?mw@i~px7^>AvSN@muHeycqO3LQ?ak;L@~g;`)if)i3E3eUQk$N zulGC)v!~j}tt67Ivh~2mSCgh9L7x#w<(vUDaza*eEs0|Ki~zwUFcb6pUX4HYG)sEZ z#qd1;`?=k3TRyc{OgzfpujyGFWSi#b-|N9=Tx-`t2V$R(%E-pI#P%dqSQBnr`nH>Y zW;~lGNa154h{p#AtSb*4FGyuT1+;c}bPIWhtijBWO%El977w6eQOVKQ!r!etEm;@{ zvk9kfW)4*sw#04YUa_YU^&a zgTxUT2D!m=lXOtRgyh#Qdg_>4#WMp}6+|R%rDM6bhEu#=j!2a*PpFZGOI_)H=Z+vo zfj)~NuwC}=ZV=Mb2TEVtYbl>W9|N+n3>BINER{KYJzbSjfxP(c;294hQ{p7J4R%hw zc%Du8Oli1yv4i$b6oud`EBC5kX)-7hgCn(y($FZjF95NeIL;6fz*?Chs8mh%RLLC% zc*)yKc^ikUTaT{3<%z4%qmSHt;c6eY!LJ5)3BoT+51a%Hb{?I zTByI^qXI%^27YVtE3!9Ik-YuibDReVKnevgNkBFf0R!yAax)DK#UH%2$qw=viub+a z2W^saMF85ynNx}sJC9a)KPB3#x4-pYB#W2^%oE+!!YeG3NkJQ3#GBI}elH6cDLX#} zx$UhzrAy|v&8(L{80M_M_;$079Bp{P8G`PXSqjrR7g`AsmBc&oSRavq*uS>Vm48cs zff)7*tz88xPw1iPpg&`()RgJMpuuXu51sP{0rpQc3K!c=?>^It{PvocTC+on^MeNoWoD(zdEid3C5FcO?}=SWAHV_y(#w8 znV{bOa$bz< zwcm7(0(WT;*;k@dzd_E0jyn$ve`^JNM8SCmmd&7CfJNLd5A`O!hBV;>`-bi6%$Cx? z0vi=={_#W6RP97?M>NQQ^W(^98qwG|HC{T4ULAXG3P8(J|On3Omueq3J=UC-Vgfm`gb?gml0k}yz^t# zEGEp?s^IFF7G99hGgtD(9DuH)KoHMInivuSOFVndKxs^Q(afDo&3L%(@P-kfhQfGK zfKnDwuFZcR?$U6fO{wiWe+p0hn_c6bh?#r0isw-c)KUbv^D@P5qEgbCddf z(_Ig8coCs^wk-m^7cOAoWJO-d9~ACO8tJlAu|&+0fh`RMc(K;%{%+a;Vbc#lIH=f_D&k_w+BP(UdNlNXKF)kR z7=WU00q&qfjwip_IU)DX`}LcuA7xLcbLABSYp*jpnRB)iKSSv76jvRgGd#kv+uCQ* zj^%bk&y*6Gft(9feXi&;0?M^C25vB3pDrBP0NQ-F`Yl%J9io+AbE&A`(ahPThUAVq zGa`Mrc%QJSCf8rzh2UnnMks?}V!!3+b(^32-UC)eeMnJ|BvAxCRHNu1d8^;UY5)Zv zltzc#x~gS)#M7}9u}-+2s&jxmU_IVL`AZ}kN}9fVrXTS5UB^;|1x=|p=6$>|#$+TcdMk{CcX#_TYFF&v3*T1{Ql4 zU@HNi*$bqQCz1joM9A$vgs9g-Ho)tkOj|$YYhcJl$%}yrJW}JK*_CY6B=I?UY?mlX zZxC-J9~EV~l$HUz{M~Y)y8WZhGVpQ6HARFi6SJ{|Rdr1;RrO@;Q#&QI&bKFB>-mDz za=?SX@~WT;1O=FS!KX}vsqN4Z!Svi!YbYKF5DqARYR!=UwR)%T;>DP3Q26+Z%C`0Q zEZ#qlOh%&ooeOJCo)}MPZC#rY_;DErFRrfT?@9eo=Wl(W%3c_J!>VSiYD-EVG`=QO z{n^8;vTJf_f(g|Ndb3~?=i-u>HR8op%vZ}?RuPGT^V4|07&=0o1I0a(SUx>%NIB6J zEKL^2^o>so9zzqymA@sjUAF(zCqU zn7tbb5O>avDHq;xzc!jXM6l0o)RX1}T@=#;nl7%wrVAnS?V78d7%^k{0c59{Djnod zF545E)%wpbEI$I0z zPL?d{}_8Men+mcBpuzMkgo=nn<0%B^ZP z@lg8M4^Ck>nAyrKDi7-{kXY-in;Q&_tZ4Q8>zqF7k`({`KcEm|2u+50EsKr9&;pvo zrzHRlhK(3KO=RW=+~nTX@_tk`+%h?mtQRy)w43%n??cd8m|;nStPww8?i~4+s#9Y& zrbu1$iSC}8rQpr~AWW6>e|zm5eKzBtxY#i$+v2A_xn~R8L+>e=#4@!(VhMKUb=As? zPE%^34pzoi{_fYy)&bXus5f?i ze`V7!%xLDyQEr>78(cl$frY6?Y&YA=ACERm<@!o(CU=4xUltp{^8?CQ zd)dhHmue#oGyq{^u@oW|7?VhZx78sbpHZe2q*bim8hR>O!$h74F3`l!rAyNKHLZ{Vl2EDh(K6``hxT20waK-Ar6~nGQJ~1+RJd&dg!MA zQPs79lY3D5r9h>Q9@_Cgl(Z9!W~dR2j?@s z)>~RlQH7O*9CEREYGV(`5_i>M%((}Z6gS?f1GmSO)PWcff;(CA1QByPsme%F|7po7 z6`1aP25?DeBYUamPhBU%PJ@CB_NkJLM$zAu=>6ea@;Ku6xz>gqSCtiI6VO&pNk`8B z*x?0O0+NbZM4e>}cAO4!zq zk-RQaa5g(ea{gl@)W>h303UXRygpL&(tcfG*%KJb@(VoXY4KAb`;b4z+h}9mru^1F zXDBba#y{Q@E{ppDMZ?0cO!GQFl2VUue^S?Z{-IMbdN$0Skql2%eGWht&Iyiqg&BK> zkB)B=7*4hPWqEC`;Br9h*J7-G@s*eHxYCkazAK}zRFCIhfvjhCVX&rn;y^!^8>Wu6 z^ke=m%Lq~wSn=qK@w>})ldtNqWhqy}fwNt{nswLcM&dumOly`Ip)yahJu4Tro2kxo zx4*trw<@M$Eei13&K-s7MAkPnC<|{!*G~qZ$pAHUDn6{1!Y7#)ZHmFiE1?~8EtxFz zp4mivz5VvL{_?d{YnGw-HKFa#f&(zWw&*R%>SrvkUa#T?eLycU)vy(ex^hzl&&AUh zi*|MzWj!NyAScFqq-uK*lCc`Jios6y&tdiN@qI;`6^Fa=Kt*|JC`+t_8$?5qRlJ7 z;cZi=5MW?owTOET)t!zSbfXeeWobXxsstwyz&FqXo3z6P*(A9PMRd*qlcsnThz;`! zxhnRx52~F9+X4j2bKH$5{fKS&p0&gPo!Gb=PCV`jqM%2&c}RLM%O$V=lwZg|!gga5 zQJTLL1hTcF?(2F4S_Aht8~Rh}OGaI-YrfUEn6(k}cP2z>KwYa`hhG0iWLAY_fr;in zrCz_Qy!sR<;W5H)a^OF8Wy}jC383IWEx67VEG@h88H2=R?)5gjXt<&rd1UytI@Uv_ zYQ0{0Wg(Lr{-$DQV`PineuJ+p$v%=6H~}8QauMy|>zr%Hlc-5w6yMwZEwAmUsxrpm z>UHtW*!SnLYQ;*#<2?Dqu#f~6I1A$Q;nyTk70Mzn6aD93y6VJAQaQT4C1?us0i?57+UuNaZU)TjTs(O+@xB^UtGU~h1)AYx_B`?v4fHfy+XZmc6j zjLM1%%kP)tt!Bd+6`2TR%grmlLQLrB?6);5(xHbS%i;}AVU2jwfYV*&5q!i$RMG$q z4E+eX)sP5Z{d28E{`twZ(sR1q1Tg?Pr2^L-LEj@|I~@oBT6P?nB{StgI1*tEE_QfZ zdLl7-wgJ)pEa%6{Tw}n=2@AjMc8@f>JYNbBDbI^JLV?Oo0jI4;PDE%Pv5iQlY8YLD zawanU;uB1a{tVC)eja8EoS%L`!3aasHDKMJus>IdrUJF0o?Coy39MHbnXW3v6^|kY z&)d3ndP%D=yCw==!4S0x6@D(9fS-XgnQ zlZ8@{mMUABO?ZPfs8uA3gTfzJ2?z(_8C0>}ba-o}5a-gX6KNE;S-c!s#qB6(HL6p} z?qv_*N-u{!*x@SYAs4|3gsTYf(*Ek0C0F|&KlqJZwF;FNLWrJg&x2ul7kvUb!nIHA z0^cd~-$2wUv-roQ;!9nRmQf~nySML8p5P+Kv*OU*} zb`Jf{`2x}mfQ~}~^ZQ@T^38!FGl%yUVZ07tC%M>;d9@Hlb*Bw^zmSTwW;@9H?0*9< zZiwGjMS~{j`cy$*8*UfoI9#*x+^-o=!~Kj+YtB*ED%+C4dNq5VAKFV4X#nh0-zPro z8$`_B8VU9w0IKda&yl>OmS76N?%o5^RweKf%o6|l=trZ5Gb3~7(XHidSm{j3PEnd@B*X;;f$CAf^jual;A}U zVx2(XEI4S@gI(wt>`+ZaApVjvD}ir{jWHVxvuzl!ScWcUG$*#^S*Tnx+zoTKW?l?E zIBvMq8#;?4A_-+U4I(=IDc0KX<3i?GIZh@81bV?9VLRa`P-ZYLxK-Ft9$2~hL<`I$ z&;lbwC^`dg3-q1!*n!X8|CxLXEYo_CJ1Fjj!5f=(PfK?8ZChgQ_Ka{5XPY6SnXGYr zZ#dkYT(5#QB`Lxk(K=}mcLApJd&46KnwzgZvl3%e9}|8La@RYHR-+#wfdn0;Az0V% zH;OX{;ce670^bGAMpLkC+Dz;ci|_Bk_|*nK+D%S+s`;(nN$#wW2TAJGUzT7(Oy!Lw zsvW4-Jd^OmV}Q2eGYkRT#RJ+H3PnGlv9TH-NE>{ANoZLbfDl<_3}l~5<22?hhI@6Z z8FT62*z!a@;$G(TS7SP3{R6c>BiYWc{s?$g1-|-x*iG=WnkWWfSqxo|G>Qwwq2G(A zhLXG4IV9=ByW%3kE-+X$1SLf`Ie)$yk(R-cH;1e$=wHA$zD)Tx?MivCQh`VfUzDyl z!p<%BGxld6RBad{2gclzefi&<7fs_hpY$i1uGrf$+!*f^M@~7iy-d#A3oz@(i}3m1 z2qgs|QCgKH)X(CVRSjwtsQ_LLBHC!t)+m1B1+#;Al#GuzHyt7@^n$wlKE<_A4_*yo zdef3O0vZB;YX^`@AQsefmk=P5D_BAly?w2!B=&$3gkCdgMxIDGuoe`E6^8w;TjW#o z_T~H(m$!3rrd)kksK2_S@fG;?l+!NYAmw+Q@|C_2`WE(`Jz<|-8^rKMa~0GipNZHk zV3bju7pD6sr5?hIA8QWR2EmHGi&xo5*FPh-H!5@fO*$xIb2caSw0!h3CfTaNU z1ioOL`6XpfHIrc-`T%;$_2?fSpS99+ zAq(R0`D*e8eoW}B-|{X#KqkPH`~G91v$7C5Fqvb0aP{{9v^!{!dx@zTPSe2#4FI(a{p+Ywm=MtX>}ud_*C?+k(cG49o*j{Q+f;! zV?*#50iICxEhtmp*9D{b^m1V2j(C>sRrqaUw>Xx4(->7}>`SM>$KZ3YNf^`|2c6N4Fb_Bykf+Q(8e2~|l{E~fTjljn zSV2W%=~ukI4tF)k5!;{zRNYWuuetta%!VC%A%SZ}9px9*sxjH)<=->s`Wyi{t`;5E zT8V45{qWD!@lu?fxek>T$2`AS*3Av0z~72X@Q@nNzxtsVYgw506OJj#L#kU2-SCOf?{F*d-Hx?=4KQn-}pZ#Vy=i+L^U|bZm`2c zuj6PLnt+F-mxlRDf-FN=|J((0Y=E2g~c30AY5R=QJhwb&jPxq9CzUY};yf3AayHvEijnw*vpls5JQuoS(=WS2u#vHpVEj1gJ?Ku^#kx@8 z=dZ9=<@1@bs$!7b44Qkp#01I~!htAk`i)ddlLGQXXpIE z4V+aOz|I~VAmsosV~KI#R>dml3@Bk0A|dU81Y6e0WRIL{8;Lm1FKkPevqxSoGE9}k zyG#iCehbbAON`(f@tW4cD3ZafEp=doH}uSP?)mErgu`KA?t4zjBpUC+{I=I1v-I<7 z4t7}JCr$wX%!O#k^OkuAmpmDZEOlB4du0{>!0}2%y@wQYWet_x@ULHP?LPn(*)TvL zZ#V;+K=|<9#M4JGjFTVrA4e_9R-V1xeGmO#n_&+x zc$9V{jki9N zRJBgc0IxHQK8*jmI^hcbOg{SJ!95qf86aHK@GkDxFv$lI`P)a$`_Fl}CvIM1Yf&_x z+d@{dToZWCy=Z&$IY*!7eHfKYWN6`ZvWsT}kj!8ZoT^Y}IO{w$AS!}V4`mHMPW zIi^`4T%fxGt;3^4hpfQb9Fvhy&n*Fu+jZa{087B+7c`{LA6}?SZ*6BYywW8VJzAP6e;J z7g}TuO~*)}*^L!1Ko4|geBYc3Fv*GLXg?uTq_7ei-u7S0@~2*M%$?2sE(mc};bveG z2`a0DdCT)%7_jyCOK*h4Gh>F8!aVVK7CfO2XK3T}%ZNv%i~QN>Y?^7$R!;WoU8)Ur z{g|z>lBMs)wq6@YX&21Ypdcs}0~Or!s>^KMFfxJ^Vz0~pXe96@KD~B0Ydo?{fVtv& zwv96w5&UyJ&KZ97U?G_aa z%F>s@FOrwxbqxaZ57!XOG^p*7MGfcDs#tV(Sf`FahISrwW1>Yy1^StQc8+=u9k_cG^!erM>r4BMrJZA^Mfj%&47(9$&= zLBRoBQxgeZ3>-m+e%b)*lshJyYPnPp0Q`IQE=77eUsh0%+PHT4_I$}dT3;4^@^x)6Ki5+)>}Y<%OOoid8H@Gi2PW?7>ZE&me4no+ht*Ecr~R&-?^dD^AT=P44M1e(H4LxynZxyUQVbIH=6CHHi^H5>)AS_BrZXMU!)nV8J8 za?Z@#NBHL4+1UsxeV=nA^7t(2%Op0j&_z8bi0&peP1agCzx+B^n#*6DIrFF+co%6hNWnzu( zw8BxXwdyhHMB<&CIXd&p!l1WMOs$?;QLt96V%Sc|5@c6UAk0(VPMeJ}i)&biWL}}P zBiU^YoNji>;+AjTywe|eer)zhRQT_=O6(uy>9;83QCC8q?(B6nOC-%lrb>$nI=bpc z`+`!EF!|Y6BIRELQodD+R7mv}IP@LU7GWw1R!s$S9XZ6kT%wa?KReEzce2`zjHMH3 zxZ`rcA(&WA={#%cz)j!8hL|oYF=BN8-Ti=I<)G6GJ%G+oQ21K=lu$+g7dY*pjDjr8 zI3c+@-_jcoToi5225k9my8$6GG$f#lFXw z{FhthpPsFV#n4SiNw2#-(wF|d$dcc3Kir=IST@D(ds3SR^*f5r9>k zlWh^L-wF#=rMk}KC@%CkcKDVC8|3*rj#SLO2h9lVvZBq!gsb2-iv zylH3k;lOv%Lk>cAmd)yQOo8qrDBG)d?(!w9nBjdkOq;IoA#aEHqY%f)SLp;pidrm{ zU<8S#1u%>0B_&8O)))yoL_r1JUm}-ky6|g_>A61a0sRB2-Ix4O;Vi(Xb>9^;!iBhs z=Y#x+XAyV=5$SyV`fcFBEzWb6JmYg~axCYC*?(C|LP%V|5y@JXWp6P(gV^{kyqcJo z_?sy)p`KKb{Jq{x+c*f?cBVXz)PEhD+&vWgO!y_+53SM}+BD*uZp3+e`K}+U%<9j! z9fV6sfnj9VE9FNc+wR7~&Jp$L(yx(r226U%^Y-GLNrupZj;%NCv_I{mkW#64ZHuIK z8vk1z`Sh8d;G4WT;fw(Ut=KjD?()@&c{iC|M$>NAe(Stswt0sJ2E;(qS*RulvuF$Frj>-0c2Yw&(#X9urS5{2jwD! zcKX+ypZ?q$ClTzpdzoP>SLTE!t9U;R5K4BcM(bqIHpv_gYf$ZUBS=h=PkjP0)6<6N zHS!TNcpdt_kr&p+;hxuz_dEUbG){UG_aQ)<)}5_Hv;N}vL*di98L2E!)#6t%Yb5PV zhxXyTEzc)3K|Z+bRi?8#>W*n2FK#}GRSu^cERH58mEBq7flcZyS0C|jJhOo60%~PG zMX|)`gexqeigGBMAv=hp3!m|m5ED!N;VFS92-h;kfe`f&omlui14dr+vm}i658j-r zX#w6)!7M);MLw}k6a{~Lng9~wxv<>5RjZ*G^q z(DDcVmNOAT5TJe;`rIW<1|%ql3Cg3qmJ;&-~L>#a|2 z;4fmpG)T}wTFPh>?q>BaYUr+Rk3@!%pIUG_Q2a4OS%b2~C4qih^qL^sVUqe8Xi$x_~iT$bhv2eI+7DVQ! zoVln~kF>{JA}s|el8ay}ah%=>LuD*(tcIQ-NGD$qM!TN}MD0g>92Do6K&+(Wc1Rav zhNXS9Nu}+$bi3;P_VEv;UzlOdcKf&G89kzb)p;5|nb5VkJDgQ%;q0ow>CA!tF)0?s zV@_>>>6NpQB7p(<(GS#^)SCuAXnmhZ{x8IWVNx;u#aY6j1-K7cXXfy|p9G7X?OIRZ z3emkBY#xD#fwudrUU_PS__<{GO z1KL>GGhkf#$H<}Ce?f$x4@PabRipfK&X1kd96}PcTLo@Gc$QKoCM{dHyaS_hjFrj` z=$m=#0@>|^mYn92eyKM+w&3qVDP83^nwl9xOzfZgwiQKQ@Be6o;6#=D>kuUNZ*O4+ z_l1n6ftpm{P++IH{Hxok*V7S2Va3#6PX&HX4YW#ZeHjr-5d79z?=IXaOej(ZX-dzu zc|WD-vb^E4{7+8`C7n&0!?{9h{OXkj4>112S0E0CeR{nO`qXg)ApXCOabuoseFsV1 z%^8y%+CMPi3?=$P^(h^*3;?+E+jU;2C@k6OLkrQkh;Sx@t1w2qVU{J&V*ATgoN%@_>7} zSq5h1Ykt5f%0dn!&_oL7z%<%%vqzT6~~;S+`=P2{KXU**B&At)lr?U;-$kEVF? zv#0Aai9vL!6546a_8A!c6mBMZVZ=R_VzQX!+tKZ~w>m@FfONY!Y3aJ$R5}h>UW9Cc|hvdMeDr|bwvCxoQ>`j{>J!0AI9eV{7`&alq zL#7gt!Vp7vj4VD#z^syoi+XH3oSB^7fx;(idjeSCC&t!)T#C`Y$|^^ZNuf_u3`$GB z(8PVw5(Y_z4vd#ow-<>A?{0djL%&$Wh5Fz1r$)0e`LAAB$EgU1d=eAGRgE8`gZW|A zY)NP7*CArY>MeD9iDfLZEMl$ptrrSEQ+$iF4lk;e?KFeSzEPdXFak_*#zLGg#JVUM zL+4_}G-R30#fU1cXZEGT#wd~ADFe|Oy5*m9#dkG=V=&?zX5l?e6;dUNQ3r>X(-+2p z^qFr$yHY4%OG!J80kZ*9bTtUwgl8nuC)A*^zxhT}hEQ2ossMQ+jy*o*P8*7E&`Q^a zoM5+Zcl740@6lfrl$my+K>wc_cV;LZp9vFyiZYjmYur_4z5n>qJE^j9nCayM>VEY< zOj!O$#2nAr&kx=CrS|4-f1pgBv~nOz98kH~daY@{KmHw8_Y=jzD!z<>#oFW42eyA` z;Y7gDL()<|#FF3BmueIEFir+nfmM-(WU;oK@CLh5t?beCPnkQ(gOrM5*=Z$L6aL13 z8kUw54Bs>nu_bG6m)$d0V_6eSHfY?Wd-h2jN+XbwnWAsTwTWi|NTJ zVPN=3Ipa$hFwnde?Ds7gbXb^(J7PpkR#I7UEurBxmyA2@Hx%-f|FfBu7v4I-*431` z&_`0d<1t+n|5<0h+IDnflj={#tI_*!o&Lj()iqJZjkRSQehBnA>N*~BpB6u7LzlHP z?;Hgh6=Ri&3iY+V(E{*E*N{2PpHJhB20qt^jzX`#F-?;=fGtMbpd~I`vro;%53%U> z(4*KcSq6aqfCajQmwU0xLw1&$#!j{Wi>*M04Erg39pWst@YT&sH2<|M)c8f17xV4! zrEu~eN{^?eB0fDJJcceE*o37j2kwwPJT9ggue`H!cIxN5`8tGsZg8kX^OwCy+?>*NYs{0S+M?1=H>-Eyo{Tw>1($JXtQr=*$#Pn=E>@?+)hq5WJL$ zji}e#kzQO6M4tu7E3ng>*5j^i=4HNIAcdojef3L7#-ec;;+e(y-<)d;sT8PC7%v!= zZbB1X_gsTh?Ew45zn(hlc~l&L_(dAKE)-Bq z^Z@s3DVm?sD8b)`VD5CRlvegR+COL9?%j9V={ZrH3KL6N?wBwI-!321XtrqL=HtaK zD*cADc`|-b&bRjLCbvfH2mU>`zWjJ+bE)fIRQeA1O!e(oKR)KNWar3p zFu6?T_JEr~&d~fRN_dhFz#it&(ZoSiUNwld3wz)PDE^y+0o7qF_XjyOA7s96$)ZoZ zg722C9Ta00MclJBEayiXvaTtA+WZOr{*6{KYl=rdtcYwwmwH$(qvm{|q`)s#cdQbL zcfU59^?Xp21y|5tPDD>DBUmLm4WtcnSgi^l%!a&{<&wcn-^~jcG#UKBGmEJi{O8Zt z0poI>IB{QAK>5_AkaeUkzv#Yv`Bf3FNC5*^`<;`K#%a4)X@OB@(9~q4{@NpiflxkH zF1y4v?zw9r8^ucghO=Ks%QsmyJ6-lSJndB+lf zo0Ab$k*5K$*W4&BI@FVVS||V!xP6BnumhOBxr3K960q&U8c7UN$1dGlrLSgPV2DT^ zczNkrQlyzkdR=rCfu9Bd!NLJJfJ{auI~xIN>;13%Q13`tyg~ksyFpJU4`9OX8VGWv zK$kDWX?uv;=Oq}(m|Y|o*z($X6$DD=WE*cNKX@Z2hsgI2dNY&cNskxrP7K4*hRW__ zQa0fgm{A9pg;zf(j;&ODLLOcbPk)v5V z9PJ7S`RH$)YmpJg!dMI%bb6orPO#Rizon1MY zC{5!m@aJ4=XX)&9@W;8{`_m8@t1SG=( z$4qc#Z*hBKJ9#NULIw7hM!PQagVUWjz&MV>2q7=epbq88*8L4kjr1VgE9)(10~a3u zC5dHIUQTzFQ3;75-gYtu0(5iw(hT`N^SobXI*bufWK2{Y%m4@hg#AlKpma7IWdKZc z1Ahn4PWv#3G%`rSDv(hk(x(S*;Y2Placs74ou~V~P0ii6k#p@FhZcPh)TlFQvXcJa zndCb_ly00I42!Lg8a;nR0S^WSu`19!#XJe!j=L*{bZq$IaA0(kZ14?;9Z!uHx7zPQ zM~-fCPEKgovL(H!7npHSQf(kkDFH{FmzCF$w`CHN%hPV@EBB}_f?CP_!+-c*^EE9L z4S1mDz*-_usm(FttAhO6>)fvEa8)Xo%7cMW!fG-)&DMUQMc*Yb)Mij1j)(!Ju2px9 zHAHTvu~GeA%}*M<-?f)?jW*_zrG>vV0mNG_MfI=n6QOhX?Q`|Oh#SM-4TC?GC%VR$ zIvzIEN4-%mKat?UccyLDk~*+WBfGOw{*r~Id<%u zJJjj&mko3FN)Mu`4-e}1oZU7_xygwq{}pUxdN@PQ2mZE@6ZTlGByXd`d>)@TTv|Gh zJH$EI?-&pjevLmYElrd;ZP|K6%Nw%xduOcHIghF0P@^Y@=8&BI@Qe{__v;0hIo`xg zLJg=nq_BR>2v}~L|5;;VaOsG0Xbv~;gOC+j0thkWP2dg_>ISesF~^}!P$VR+^K|e?AI|?EYJ;YFpU=Z|@(}H=1=!ti) zM=*D^Cy;9Qw;s7nwriPL@VvyR*zQL@#VbMD{XfnVYcuIap_Ufl-B1;4;IhC@<5crh z>&^9_LD^0boAf{Tb)my5u>r16|m@_J$J@Xp|2!2Mj#R&1OWY7)`od0P+_b^Gs zo2}*mcl@wG_H8JqN3u4Hh~1yCcfA+-UIHrn(JqO?G4;SZ42FB{E#_Gwn4!PT<_%Di zMnhBml>K?!aqt8Tm>B!SqdI@%4HaeJFhJGOI>I7_(5&IsJAJ4yV$+TtolQ;>|C9Dp z$g_G>sD<`JWJ!y!!n(p2s+Elr_-zA zfD)A!tj4Q@33RDSRw}-qMYNsBHeV`Kj*MdZ^@L?`yp;Pm=EJp%>UK?z7eo;^82C*D zckAXWi{ecVZ*I@YV{V22^6y%EJr?Xtk*8;z4sHH5M(RNtv)gWDePosg-55A5iz4Qq z%YFS;SEqMi=z@wXP1K}yYy640`b^;|_2H;c>7_xtu|0fK zn1CD)Z!TMfqLUgh0E09qE?-7NX__`xWa^U4z$IY#&mnslT!R_RAWpn9S-Ctp zyy1$V-wyuW!QJ7K(?XxB6ual1uFW6K2e5)-uf1{=$ zReXrco(LrY0LrA_9=J~0CY_RYJtYA)VPhRf7W}s)%8V9WZcZrr3<}r%oF~9P%;$WI z&t(O79^%D5yQv0$yxpFm{C(#Q%@QSI0K!erJ}Mc@u)owIrYwv$qx&0`Wxrr*dSH67v?o<5>s>VNM1uy^A{c_$RQFHS0_gmc>QxbC4 zR6*WVtSXlfgsM)2;3S`qgPQcnKlYVr7Cec$NwQ@smtX`xBa==ZOTfRx*ppuR2N)Ec z>7dCN>94t?WIv;I6dh&Aq(a1kEb%Cn3(92@MeHMohUEsybM+j|fFl`>BC=JJM~AX+ zNql`_^4Poi*Q6O3E)dJ~%Rp|J0g+0ZbWrDYzw|_Pdw7-Zy&T`h?O5NANMX46d|wQ~ ztRI39wS@tT^jgZJLi5L%KqL+3s~9oblg)(64C#2GURZU`U(DlHzpL+^rg zfg#HI!^v*2O^?ENwQIif3?1J<3ytly&nGdWfc0eLX4&?<;(r2t20!O(#`W6%B%+tv zrp9jLlB?$3Y{3D{7EvErRLp3>5=_Ot<}lj2KVR%K<7A)2k#RhHFWk`|mDVE5(jINI zvf0;k;L4xKUF3Q_rHuFB?P9Pv^wdOYnLbYMjjlnET`QClq5470q|i4b`%FVtNpM1y ze7{vxsU+f_G7+av(<=R;P~&E~*gLrg%O4Qcu2uGYj|4{Eeb+r^stQ>QT&8?nE8w2z zvz*oziqDGP^Fn&Dj_X_7jj@!>mPBd(a8JX9cU<0KE51}@D~U*6iLE+NyUKhz-4}FE zSlnX&4D+K!c2fR5rcuTItfw;RzH0zTRKPZ#mgefNjS5!_hA#Vt%Sc|mPVoK~t7P?I z_xX%2r4NbSl7L_~>e?%=d@!Qi6{!)hbHQl6JhO7Y7Z?5=mdTKR_>{&mWmWGbAIfEk z405jp+}L*noW5H>s15c_q&ee1U))Ank=_YCzS^r_udJ;JKlhEh=&MqRJR%B++F$fZ zlCVMrTKo`pkR(a|^HG!4^5C`v=36~gBMD^MfC-Ase@AXxK4=)MJYhjF$~qgm+EKA&_nU{;M8X-`nteP zY8%h6O6J#TK7?e`j4@%3a|+c`t0zld_)J21SfbBkCe+pm$FTfI)#)<)e$b2JKcIpX zr(c^K(Z*>wbLR^|W&)~NZ|ZYNiVYv7 z$fA!RM|nFYy1lx+a+WGG`DKPe>;1NXeb?)Jktn1mHG!Z+fx?{rXst9NUU^>jETXlY zO&s1tI(_)?cpbwJzoaqDRL`Z-Uiohke@Xf zBQV<(UYtugrqWCJIkx>bw&>?(WtP~&Q9X?mJqYarz)!8;-Jrr!Iy+9H4U zbD0&g)>|vJs4QQeSA&1(kKBJ!>aBZ@!*>V3dU$^9G|7BGJ8g?9$l0;B+fbwdH+-*E zA+B-uFRd+|`MugH6()N%PAHqECvCjIH7*6CCR252@n>Zu^^k~1-TqCtZ9%rj%3U;n z9~6hY8JkEdtz_zWk^LR*EY1ks00XDIG>ungR(7HwWTeU`>&89joqtyb3>qSlHN#&h zZ87^~C_2+Cl?~9+Wj_c7g@R)AP>fXYToC0U2dL6CmER-Qggr1OQamK#t&SY zqQbU*kCxTBZ5x4z&68~p%0pMbf55Ay{@Iy$w1js2OwDsg>(P$RR*cwfyhkmR+)0&~ zwj)luqcNk>BcsQ=!h(-e17jw-9p!%?UA$TMa0fAo2K+E=Jxmf4wRkA>{-;-Z{!PL} zMQECnNLWuN8l?gW)0q)*`&6A+#RYaH#WxQ=TlV*;KCMWt65svSou>Xlm%&2Sa{7}PA8V~48o-s}2K zob<94lf;xl6pS54Ji2`o+;odmGj2jp*Inp!*R>%5Q{dkI)0#u=9H;v&Mh$-7L|>v( zEQECZx_>=L$Y+}1nU+TfZGS#Z4JR^V7C-r5)~>f4&97eGPV=H9jNgXSXkMoVcZ9x? zyH)=h(BN4LTgBDzL}Cf_Yj%hWck@F0U8nEp`W;AlmigvoQLF4t+ue?@f0ww~KAsr* zBz0)I_?dKa#X+PFlxFsO7Gnc$wJofEkf}LXk6R5MCI%b>r*{rlz4|NRXt42@m3}QC zGjKq45H#4?UZD}~KVuj?tF9bJ-WD;{V2`lZVBE?0itOF~JO5(% z%PbK^xHI#!ee$LOpz(*t@@l8FH51y8AdH5-WFk4&widU0_|K;p3{t5n<$IU{RIFhu z1am@y;*teCK_kW=-BEkP6u5_eqSS5$hvT$K1_zry8S zTeo8~{ULq`?mNi~(QDx`_XrEK^h|rg%-X_tdSx&_%Es|on5WUZ%F7n(A~v`5Nn-PAv}(CJm{j7}|MTA6!!Tc9xI zePsv*#Har^2~9X&)f`VdA7k?{&&c6a8}m*!*l?=bY2ALAX|?y(aiaxJ!0h9r;4;O)1jP7lCKZ}j6e&0Bu~G3p`V0q zw1CK+iUP-W5v(+cj7lo04{OmlXSv;{eU|I~duA-;q|T69Lb7rLY~F@n$^H_U^I+<6 zE|Ju`F%ahZfowWVD<1plJYnPSIps&fk_ndwrC!1nVVDHT_|G5V?U&#=WPV3mK!db@ zh|`(PsuL>c?Jz~h{R`UswP~v}pg+iaBy|%yI;o?Tctnf@Kf(&rF-_Ne` zbuO3u_`hdm+hKocS0{K-_wU!o9r6FC5H;Qx^)`0z2zD8VrfQw|a5d%^w7RLH2kic8 z?pOg|G5)|WK#b#b5G4Is%HQPd_uLW9)|AE{mx`sx3;!a9NVVk)B_`VYoU)tHd&Xa` zUP4~~qQz!hRMRo%eJREKstw=$xAKUn>ac|5xV9NEw>_&n%tr#chc8|IzvM zo_bse%5q8eF|*nd$XY0dDXK2@^xa+gOYFNrcGDH6Z&8e@>BIZ=*g^&rGt;2K>JPb36}B#9Y$ z5c|j);tRe)-+Q}RC%Jr#$!8l-Qfrw(3?BZk($%^_^^d1PFBy9auz} zY2_(la4*lg>dMkH(|Z&KceUsan@M7Lc2-_$ul|=W&aq*-iDhr|be{&I{q$URE<(+g zESUk}p!}&$+_&_L3&IJH)(uxVzuA8ra@11{?K9Zm=SH0E1(c_h2idA@GpFkT;_R)j$uw{LM8s;* z6RX zsk$xHTXLPU<28r@WUVwD$2D2@?4{AeN+b$3bZ`+9`98QfoNFY?Q3uG|4GY_GsAUZb z6L{R_2vj`xPny5&ehn31du*|}@)X=?4tA#Mo<=im3h^MUGjp^*{?XD2{B3^u2%F=| z*NZhO@nFI`XZt)|hlu^as(txfwf*XA*`6F4zSp*};Z~4WKW5xXI_Uoo%@Jg~_~y-~ z(UAC$#zi(LYORl}e%`nyrBz!CticG6x_;-XisT_@@3+aX;0f_>y8UclIhTHvo41k* zPFE;BPjA}s!tqYoPSj~y-y4r|0uc7Q^TmcD!-F`m6dMqk5CZHMFfffk?65ZGc+eGW zBtvi{&E@*YbSIix19U1lZDxOvghlq?s;~3|RQBqi#F}6Bu6BL{D;eV+W6`)D>net0 zJmhNeO|O+Lb^fcp(sENa;=Kqs4Ys&(sGoJ{_E;ssS@4+8U2k(usxEjL z8vwr~hoVlThl-4Tcpz|N53{p#TF6pI0U==9nb~s8q(AD_6~F=~pI-gld)$Xtd1)LV z$e`xxIMIHVy7Kdi6^aV&IkdUJtG^uP|MDb8cI1UqlUL;Ca4mvV1;0md!YRxzG`42N z-2k8rUebj(e1HAC*`xjeP1;X=HGuk-wv!Ui;UCC0NOp$iaeK}&k`g{?PtFK;pk=@6 zxt*zgZcNtuKHV)R-3x8#Xh&k@B~#euJeYi-a9wu^`|V`BSHY{*XLb$-RR<;Avz_we zD+2RF0`)|66EfC3H*Ponx^?l#+FtjXwmpsklBx^B9DV{W86*(Ix7FlVa&M~+6xrYe z$10`Idl>)&a*IRY8vmo&iI0@CDeegtzl?q~4M7y)+i3AQK9=>IQB`4RT zE9OLAXV?U#ba1Lq&^@<$?DhP0OSG05G5~1iHf{iRle|e7^*}6G5Uc0R#NYokQ`l^*dF{1xN)+xRs6{x z&i?S;bxgB?I8op5p!{>FE_X@Eo%duQb~PIF_*ZWa+HNk{MeqUf0tkw*f?Sc6kwHk{ zo;-*Z&|2Xcp;-BemfB6+4d|dZyJrjYPE|tgIk|j3MvF-s3LlzXwHHk%(O;}`EyY^A zc<+?9+`e=7`mONf=i$PB^V%HvU7Ju%MZo$Z$u2ofQ%EW~e6FZ-?g(uKMNP$b8u$?NU-U9vtFML@ASorkc8|>;5I%nlxV}>o`w8 zG^n$6J>e;9cd5+pKwt9o=J|z_WH>0@`oqrGvzOXlYhjk$IElEty0L4_%83O;1TS0| z%zIYVar6$1JQDiYs2-%?>PVJv)mzb@M-$0c!uy1ZdEJfnv5%-|&nrg+%wpLzEo(tb z-31xQ0B0hVU3wj(hwf*7t9T!Ei9}6f$SMmi%Z`-N50dF7R)QZzS9~MJO;euICR@1h z9AuxYxtwSeeqdJ{&cZG?0?i@pxB9pmXGJ_KjpL?tVK)KkW1zJ5$@E)B{LR{Qs6 zvqxvF&|O@QA7>+KMr?IHf~?F#Gyn+(4t#mEV){TQB#6A@o-z!g57QXF>a!%)6~jQ# z>eW#AvIz*A=N+_S(@5ms;9*K{Um?u=(*|RU6Vrok3T{P@FD2P+G%=cB?*{8>9uw33 zRmrbRjS4ABBzBvhO7dC$3&YcnmB-uX2;SFv^>N&RS$Ta^`wKMY!%Ifqeu_FYm$?g>g#TaW|J)*E~dsz5VPL4$}8&~=e+lm?3>Yn z<3+#*HA&vN`-FBcT7Aao;Ni<`wUq_g*6yuQu+7h9rQwIVip5CxeGLzMFzyJ=wjIL= z)&h(T_!8wQfUgwpEM##zoB_8ijs%=cTAaK`;-O(|`L7)RJx?d{276RWt&kpg-rwHK zv?K&wZRVAI7aGp;xpb3dNo^CbgSJ3ng)^z>K z_qE>orfnAo!<*-s{FB!K-0vas@}$p>V%`1h*%Uu`&qIjc_^)l)>J&a_p04I;Ich;Y z-(BK9rbCc>n_(Ka#%1cJ1j(Pu?I;5rHG>=`9SN_c924yC0AsaD=p61l)a*;(sw%C4 z;HCVnf;6*_TH#TyPtljtF_6fW_h^-yx7bpTrZ4Ch60?z~>pS6Gd)(q(Ye!tw|GiifYLZXw^sX?=zw(-oOypqeLW0 z;pcgDKlYq!2L6|G0Eh8PK_xeUCA{hqUm6S3l1(aV46<}Y(g}YDcDW!|T7jXt$i01u zZ(*|zZWm^+q!YfDL#*gimp0YCAy}tEr-t_HI@~xjqzo4aBIzy0Y4T(itpimn3-KCw zC0e5Dr7IMYt)jvNa=lpn8DSawOyBiY(W1^xxa#NYOZRL2Mi7p#aK@rvx#gpfZJVF(W&ttFU&1%FzG`7!@PdBjm4z9V_TWq@ z>Rov2c@E;8RNoR7jG|8TPH{rCWRZ#qYkLvAQRW0MeGu5O@sp2xu_KR^X5yI8NeE(u z`u!fVb3l8@$w0G_E~h+aQZl~aX#K@6sraZI{L6o$j^TU{A4ml~4)r81G(0(Gi_3j_ z)w9A24A%TkPk-J1?5a+Qaxd-Wr}M%3gAD4sZ(Y!3yGWzKr&RL@cER6GT5_2y!URJO zTRrZFAKCPoy+gCAapbIkhCoC$ovV5ndjzJ*BCAq)m7koQu0IG4pyKKGPWYtltnNrL zio3ypC%4z%7X+PhgP2F2V$4w#d=li2!~5ZmYW-xZbJfYZ9X$`;mPHI-EQd-w)>4j4 z5Eyo#TX^_`jRwCO^l%gTcE&~b|KW*{@e#Hfa-z3sDW*3DU042ajE2iAk)d+12Kl`=M2O%Q!T*4fph4PfD5 zMY%<493CI|*+%i1P9!*4hwxD3OaHmVoPcBMOQBU5m#c@=smwphFE+~Ow+viLtuCU@ADs2){OA0zgufKR~=a>fIb7^Xk2b=ABz(0BkSartZ zoBkc@rF^yaBZF4?;q#-$$In9o$u-Co%?gjHJ~_Wqij3 zJvC{?eIszoCe*y==fb}hT_1DHU*PN$BZD$OWyw7!)@9CHxARynZ1ZI{ccpWN`P^;p zoFrsF%RiHM$&vq_@9>15y!LrTP*lZ&RDJvJ2NBofI7idwu3Bd&o~8mn2yOx7hkv-+ zu|3)ikEmweCOLpYTG;1}+S6IqB)Tl^XVkvrCdg0TuahF1Yo zgEUdV#sBhRU<8xhyf)1?b-c6==m&ZBv*r3f*@LXUZvs%cky{TFx?05RgW8eur=|BllWl=uiN?*W3>2nw{HHl_{G#u&Y?h}ei_{I4 z^=MnpJ_bu}k2JZL!}XCE($h|xv!lR~Rf+%ly#q=TYh#jVt>BSDH~T{22R=#JG0E?r z6h+yI;XjcM?W(I-qTCe0g%BZveNFNI{Xq{sJGiDy&I8gGL7t(D)P?&`T1VE{JVR0W zqM=9g#wLtReVCBGTKYr!Wv(hmm7N%2q9*=LFC$Rbev_hO)*#_XTdy*0R&Z~4wkT@d zc{z{Q6Yo+SKgzj0^B=>H$Q^Wd!FBZBE|m{c`&S`B!S}l%2^x!gdSH#v=e&mPQ(yoWdrg`q_4ep*rQ ze0|h%Gw(U7QW6CNErSAx6n0DI3q#MGL)*8XSP8rsxRf)d(BNrWePvOAqSsi`grv#k z2OCVOX(`)+u&ci*<~iyqrU8-M6MlZS%DJP)BGF_hOnz&8iQb0xh((CxB)@;pulK+yIq!7xl+tV$qVN_M= zuB~HD_OBa7Hh>h>zsO{w6?*8`*A9knXY)1xXTww*@7>hH92V%jBCptB^he- zv^1yo(9Mkqx6Uk(k~9}7dr9l;wHqmrsz z{EFs5&Hy>veR0>Cu_FzJcNCT}Ki+YOuh=3f%mJBXasUPgu>?Ao*S25H!2w0>^Xl>P zsF}E))V|cvQ5cY}xO3H8hAi*q7E_1bWdJ|hv{q6)DOVIuS_m%Ila!_h*$&f08IVJ< z54XJx-~HIke2_(?mKfDqb6;Pd-O2l}HP#I000l0t55MeZ=p;GD<@d(z)F*rzv8Uo- zZ`2KA;rSO!+;cZ+I$VKcGDGFKX{0vSP_oVno+jzW^lHR-MrwO&%Q4SmLNCpJ1tW_I zMMv}%t(2OKWr+?YQVX2lSU`!~Pk&E8O_4(7?UHwcmP+&}WQOfY%VK-nrA#Uc2#&;j z!MKkwebC9&MoAoE@T%<3_<$J22YjIK%d1V5xe0HOjEUJZN38?Gk{Hpcl({iGU zB7=2!6P1;f(`_BZkA1}07UhzHFi5$RY;&`ri`rOfxa6?thPT|G?7|xJ zvNnNaHuELfDm3jeNRl*!v#G5Fi}k}E2HxRShv^?L@d7dAlcL~Hz*0g5d?58j`{DR& zJ|LO#tA(vNeLQq zJSgS@7>%KOcgko-r98-iN+X}YR4cLfOCF8se%w? zfOL0xZWI{5d*jbyHYK8kn$d(Ga7wuuWcusyb2;%p+llmcVf@T*EwJs%D=9CRLobW@ z9CllqIJ{laL*WpD6;CD994J>=N=~&)G$K6Y`Moz)w6i+9a=+LlMrxy1UA;KmV)dbU zVHR}M+{faYV+WR{RjbNAP?ioV7vhuaGc$UcD3NUXi~VIYN({ zK8eS?jWGVevrm|v>keKD9k(D<_P+wRRMp4$;4*isKc+?NniQAx(frGgI&XXA5%GnPcfZN9{r3u0AVb|(yRZTeCD9}hE9jQ z1ToqfyqD~GC;m_hqMq7X^`F&@Lu=4yYYkh^xJ8FL&(EMskw64bgOcra1f%WlK%gNV zoV{nst2(%OV1IA9xq_`9kh~$GkH^dXWjhb)zYQn+hCvbCojpn{C^eK6>&+ri*k7w5 zhQv+iqvbEod;*BqE)o(sjFR?5Bb5-BSEq|PWAR34FC^we3zcAh6-^DK!)-$za=vKqOh3a8dyM}`ssW7TsA&eiI7=YlOvU3M78@oMShJXTZ+){@I^Kn>|F5&6 zjB)c-_u%G%2C$p;Z^k)U`<^x>_K4e@T%MT}qIvJnwX%BEeRd#kEQ<|huY=;rKLc%} zQ|6b|9)06zHf~e|O(8^p`E~GxiL!GnH+DG(?DyKj#Rl*q`=g-wPUR8#+k)gQN zi{P+s<_hH&kz7m~^wNO%S8nFy8nNfk4@&O}uu~>xpmGb?Lca;o3q#hU-hK!(N zUTi#0d!-zRweEU4u1&iNqTm3Xl_M4sc`95o&|RmVgN24cQwt!M4N* zGMH{;yqa{v_g>E6rE{t53;GdYF#EW|vF#yc5>|R<0f1E4q?43nz}G7GvQXKa8?g=o z$###yijg#j05+|5sBEErPR7cw*Jt}&3SWZdI41uTHAb=4T{?89+#O(zw~n%sJFIs}Kk6p>?VKhxdS9y9qOOI_Yq-a+6CyXFRS?Z_QjxOAHy7u|ooJ zu<3`{O!axI@Iw@XwWJUL;XEU0jW+Oa#d}7W(L6F|pP~kw`5w-a{wszZ)T?Q<2VEs3vfs4v!L`vLx!+`S@`1fNT+>rTJEWp$(ez_4b; zNYP#ebWdRa>fzf*vV9(RpULetPLOYR{cZl_+)Y9@4SqMe2N*H@fV0rsV|n}`aHN4D z3qNpa8Rq;?`3Cfp86mPzf8N7mqO3CQ?MEHCTU&5y`3DHFFm5v!M)u2^THyka8s>a^I4}c z6E=r%8f21P9>#bw+msa9_Eb9q7t$W1`guf<3>1Se-LI^2iBQG|ggiYuK8=W@SQI;V zem0MWUkE;yh+9&rx9NGzFDP=cK&|{mN%yp?r5OAP@u#*db z+G0sw4Pgt>0J{77ez{GMKSBMOcn2Xc&kiOR#?Ba?xkmmCH;FgIhU{z-2_pp@YI7Q$ zh=0TX%BtuOk}>B$`$&3i&z1 zTwZdi>+pA%wtpB`xn?Ph!ruWOUkl#4QFRZWsm@XyMZ=&Xq|wpnYdP7NGeB$0s$e-f zwVv7}ag%bl==4j>D>EWe@yoxI&=CgBs4Wl+;FC-ay_L&}g9%VfsR%^* z;8^7Nco|BKnrSshM$L@;eiezipO7x+dtFrTe_|KiFY{nLq@6^~62IuDqQi79h=naQ z5kh8-QYkY+BNt+(TDQX$dIx6(D}JFVwn+cO?rhqn0JYWb*<44gYa)dg&-*A&9j_*m zD()jk=9$;4$JQlOt6zp1%(#&D_~6~D9~%JtH*(kx=Q<{I6HA6tU;16Omsh{21GNi0 z(0}ZXq9HH_jd%W`IQY07!NJszmKI3H{6ZfS99TMR`GEwW@FldHgv36Q)U>dPv`eh} zOp=y4JvU$C4|v|l(=F_l#7I@R(7T(`B9~||nBJ(ET>q-K4uRB`MuxU2e zL{c;P(CwPUsExJccheP3zWN3D1=;GCfdujMhPB6^MjUo%OFm2&G~`ikoXiCICt7qZ zuoNDo-VU2Tnnc9n%ZC@D@pl96yuG*@ zF@%;t6JdvQv|N!c4j9Fv&id2kAoxtT#`UG3^?+g0I_7E&)ef6ETvV0=)O~*9)YO)@ zl{oq%-MMyjtRv(^^>-%krn8kG3UQxER@DGeM}!B^5s&?5bguSaMv2%~1%Id8C3SL>*lMB1^wszyuGLc&y7`#eB^#+JnUS z2&?D1P8kB$Q(me7_BIUI4+5@_fn4RQRK9HvdPxmSe7sAp(WvYT$`oSf>#jyA0ewNh zZDDtbX|G1MNC)f!OvN>V7ni5KZ$GVEeuCUi$3lvxoV3blkUHxGhWh5!IDrIC|0>E&$FmUvT z@JrJQ*d|<&g)(vtfG0rVAO;D58}*4qs-di8rbNBRp%>Y>bJ!1z=BOhmet<{a+FKeb z%M1+#fmfbPu&+>2jsfqz~g>92?^YPGAOJ zlw`@;QCiqgEYhM+{%u-Q$dx_PSfUsm-SaZYK#bZa^uB5tVbthWLpJr4{EqKuwqbDz zL6B<@F@W*6cKypAw=*hwuC<<!DWo_O2 zL6^^`QOb#2^*NwOLse~)z8boiowQOh{T}w0Ju}9Zo<9PwSSR;10IfYPm?rzt9VMIn zWpo<@b7h#D^D@bwl5r`($4cE88(JO^o`@$e0+4b%)8AV}SGtr))`-MSotMqR6&E^D z-k2ALzFdK9fiAFMMa*<7d3r#v2XV=LOB%k)Hw$&HIc|hr9wORY9ER*f-Qa&dogEYA*t)vdZoM5Ev{Z&x`*7Np|rT8}7 ztL0hOT?W4V@30OR|1qDLjiBf)&h4A-fA8oRm>mtT=4I@`5j<9A7MFqYZWLQxNJSw9RjN!zD9#C{eYKeDz8EK3QDzBc&i`-oCl|KsQ^+?s6P2K+2&knU~}B%~!aKte&`#R6$*kp^itT4@ylK^Ulr zL3eM0(v5<2ca4yZ*!J!B{Rj84-N$oX_Z8>asQ*^$d5?}}67Z~@$iu@!4Z>L1h7d!Q z?b`O9&^>)wTGv;7Th7^?`*l4XaqE@@_;Bl3k;p|$x6{9;5*^HuH^K9j0eV-}eULC*=P~7F=!6(E%aD-Yn^}52G6d7U=xg%V8Cd^- z5}EJ-c34}>vS^HtpfmIY{x%Xo&tws__{B2a%%8z)8rAd6EEhR#%ukG#1z5#&!E&&T zxWLuumZu?71yJ$^2Bna6rUGCGbO7E2`%wjGM)(^4yw3B=9!7mYSh3Zl;hg_cI475q z8|-kvQT?lC?VZDYED;Es4glo6w2a~R<1*X9mtNe>rEK$U5OfQ!cN9A|z7nI&(#*Ql zz#OGkt{cXw{p`lyLvW-WZ-Vz?DvC^68Wu|X`JBuG@o%%rMSIQ`z@hCsCG7Gx@|H=* zqJxnYX9r(H%@Qw%SKTVZgg@WgC7-}NXglU`DHSl z`q3j|U$4z(eh@ds)U2N+(SPa8v;!eW?T3aBI#XRf3+CH{LB78n84XO{GMD#!s-RNL zyg5@<&oU2^jIB-2r9Ns6JwUM^r#*!rPE>_D+zyg(cP;pYeq9(yvwkc#W}tn4 zJJ|C1Km}rMQGk{Tply762<)O~>Tes)gycUM%QXZZ+I+Ts9JN)Sn;1p@AMZOB6;EG# zGO=@c1XbAQQwthSZfn2ZGor`N{{lips>odcQ9xd>%E-_!uBf9M#;1Iv2eixp=A3A4 zxE1`4DakR~b~kdFLVZi>GqhZvCImQNdklntym?-gSal^k=rId@J~xQyf}wZ;GvG{O zHAF~pO}>D|7%m3Y+r11W{s`omzbWf0+59%`qwNN6poLy~p#_5A*uqRhJ{^%|E7(M0 zsqVtXD_=)Gu!F@`;K3U*B+!oPx|mkIG5 zE|VWO6!pVrDITcN@<4jMN4cD|#dxlQqv6{L_e_rK555n_Ha^%$&2X7g|6_Tl{qxf8 zC8n0Jg>1{n#ztC9x=SFF#N8hjjKK<7EsvBTyWEd<^b2y!*ltMPW{!`y&JrumHuZZ| zHo($Q{G@lHm-+R8)WNL}9Eg4~WdS9XWO@#79Gi0?Et*S+XZxL{n>+T(Wrf=A?0-#? zvqYDYZdM^5xHOY!59p;q0o9l(WsFvzl7rXPX;UfXOxt3tyV7YZbEI2e#;E`lRDA0K z2?amj|9sjZlM$_EFLt=66DF zFaPJT$ed!_%Hu{93-t$BrL!Oh!CJogZ8{vPuC`ZD6jB=;m3~nIW6E29r=WFEG}FB~ z-=tcQY|pCCu;9z`B$BCucL$;B58xGN3YXX0;B%I)0xL7n6R-U9X)e z<v_OYxp`5ka&z*_+xlJZy8UHD`fy@S@NFRhaW5*MUl_1aD970&G3h(3^l_>hdwJB&g4i+ zGZbWiP3W6v^6+|M`nml2IzEgzOnDEgfwlTF?rwT(4D)o~c-1llT~Djl`%-i_F>T33 z%zw@^pI_}TvLP*tH{1F8>mv26PlD;Vrtj%Hi`?JeOt&4r$6{XCI&JldsH)y^V=;EM zC`@BcB_X!PBij5Jg`<2dpcYKe$+`-y?T=!Bh0YXYaWOsocW=?O)oE?dV_nB8w$Z>3 zOt;hOrCg|md-iVaZAOYhrnV{Agrkt`9DIFz8C(-3d8PeycQtN14c_AW2xoe`DPX_=HKSrB*xWboVpRc0 z$5q+oF}a-_|Ff<;4A8NNbTgR{M%N--uh8r9iUHW}4~ZwO#97wn;HdF7hvEJ^h@CG) z59j*#-2N}9=(Rf(1@HM_qQ)<_Tj~j6VLS1Xt4}3~^Mn{ygIs~8jkuLGB)jlS)7l+Qf-0EXQ&Q~WAno9ofFHTM7TIXki*ZFQLq^w@?bTg+}B zeW428A#YsDVg+5{uvyu_(!eb8#T8yeM{TNXH49Jn1Tp%ux)#PPIT^x@zlohF6n4jd z?RO0S?8G=DneVq-#BS#<6gAMq_s@p(@hUb^d09g^Gj0ej^d^NG zV<~jHzV%aiKuSusoZl7F6YbV3O7L++k z9~Fa7EYm~CBOTNZueAB~OQlSb%$;oge(zGorG696t-SA4oA83J^;u3S;wU=0-Ya`R zg(paya`EZnLD+g*x76H&Wd8}Q*puex*K8mxliysjfRIcZDee92BK1J{lQP-2MKVqL z+)L?m!8O&T|Cs~YLS~5)z1{JCtDR+?jM?CErt8)sQXH}dUG7Sfn%&rj_mD@|U*7+z z`QN@x@-o?{Dny|r-*Y8@TvOyD9sS7Wv(YJvNODV}NPD!joox1iqRX~n=68X?%>T5c#V;k!>k39Q-ughJLY8qCkcaf0E$`k9T_fygi7JmNGRMDlp+QvCM+ROLIXQv8^W0jjVXV!#`q2k zYr%|*cLYAuw>R9TzbWXDaTXqAQM{@>PWKcwmK?hX5M@o)BEASxLKGf!YS2CRAi)wxYf}u@upq;59ZVgee`Jo+CSv5Zlx}^Plsj99nSSv}x18xv@R*caeEu<+B@k zn7JET4)n(x8Y8#38%z@a47gT4zt{d_nVCG>J0*3x#Ewo#I=gp~NAEC;kjl~Yx;Ryg ztz|Tb?f7wHC75u1%^XrXbY@l%W!7<7bXDiSWmr)$T3P#1$A%tv1h7791BRJ*ozv6q7t z$)rhmPgR_F{r=^2rUY#r)Fe~c`=BLdHdPV36RUUekwGQC|bMxNXNaqaV?U zxzC*NQ{QSN>Q`m&kcQ{Okvl;Tg6DB(uI)arrF%{FXoaK2K2fo-=v`NcR<=Nz(ki?e z(fgv>#qey!&JVKUJsX}KF7Gd2{cOtrZMb~(wf<^x-eBz6!~y!0^qx>~F)w2~_r3gB zYe#!SJE)blp#Cykr#7+eDIU<+DbwQG66YERpMb4j2pdK)Z?~@ow zQx|z?7m>nrqRa6g#D%kzt-U#1;vV68E#uC6@!U|@kI>$R66nHpt6`5^eNd=TdxlJp zEE|t=$6;cG*+ay{fy7{Y%d_%`70`$|M)dUdLB}E0?J8pp-|E%aM6ifi<+=9HH|Js) zMV!VBxITnkD5n!_C4;GE)7TX1haTQv#miF&l{*5C$|Gf>X7Egn`@9dLRGoD7dVhU? z98I#k4QH8S+|pK>Vim&5Ye8R<78MWqC~sc{@tbqTOqw(-0NA`zpmMT}^*`#uy4#rL zdgdH6j;9LHXc@kh=4O#oBtH-wWHkbAP>pon>brf1L!wEAjlz1!^vVbBftYujxG3z< zdow;gtHS^Cn7Ej_rI_k)Kf2qy3WC2>XwR1suiG3QYEK9nc_xt6r^Zx5v^|}c6SY3g z=gSU;T-WFP`tF$zP5)`yeKsm8wAtNRoPE)njw#sZaS5*GLXnW@9|Cl*j(!aqJ4|kM z^K)_Zf(E4>-zp??nY^qnfxU){*}O>-xgz}Q@0QggTe0ND9~w1z-3KVvzW)@?#)UUI z>ubOfkzb`g@AS2jHERop%5Pm_Ao9+^PlzN3+W z`D#^f2Zb(M+=CC^@wb~6c^yX=U0#8iCX_l@`#E<6;e{mB%ZT!p6WOL3v$ST-2vUCD z$18sy{0MJs@Y5WJrNqA|ruJ2^VtObox4nS>)1U^s;8?FARe;r5`+!fRDuj_`4)vCqHYQQ4!Zl3YSm1c(;OT{W9ESZuqgr6@K+libo2B)X+)6PBpcI%)!RaLtLgSZZO8RHa-;YQ92$pX|3Nx!AlL-_)LHNz zqMujS%ycBLvXSx_a*SB+{OJ1iVK6 z=^P0`ppphs<|I2%jS!>tl~=Ke+PaLGlzx({EGa{Jb^IegHqcqe%-kL}&owDytMglJ z;}F20$+HybPTUkj#&s~{P@6#5xP0oQHLT_Nr3dk;|hrp_~%zXV_X6gd^_P37U z^dIBbLME-Pp4hZn9eeykzpnv1@GzXNj6ODSDD{H+#^}na|8xJhCaQPEk2sc;xix1W{`Omx4#hPc3fYbru|ShP6P`hUYJPHwi6i+GNQI{TwVp86|*6oT|NCszW6U! z;tKAotn|IH+r+J0B#Oo+^GF~f;)&G$?}}5SJyC4QwL;)iws6X45&H~HGG`6WbNkVk z%hy^LPNyU{H3uFz66Wzi0QfFG&hQFE=@|KiM*)E2P3RU$MmV__H}6ru`OtK&0iG zG|%$p&D!P?a2a@e`+$X|;QoFINT z{l}X{WTYO*E9rIN5E{{=>DV?p>qQ#pM0w;iTY#6fEwBE(|CeA!`htN0bQq@|UN5rn zFG>DhS9LcXocH6kCE*Xe)O|wrPQR~UDapk)j=?Z{eD-=I0^c%N(YoTrgWhl2)gYb; zom$qy2=`#zeLu`LdHQFr2Vo-}^C7u_(oM8hmU>c=tWF$)I+8Bb2h74GVG zp}m0*)J$Y?uxq}Cp&@pTQ~JuR3-41&3BJ6Jxv}2*=%KTL!Ni1H{LRl3+RCy{v(r+0 zY0{WTZTYdY%T@s8rmtuPhcAi_ehgmt`>bm8Q64O0(nkf&BSf4)g_|663WoU9%yW_+ zOlavwAtQF!Y0j$zP2!PUG+@wwKorq!VXRdq^BXMP4R(e@{E0ZcNBUIlDn}|)J%4?^ zOY>KAttZl@QmDjOGrBcI*Yfkb2vD`Z{yY*(g>QSLh13EWfT*!|sQwl4!v#F}JE;Y=o`!1&?J{@+oxi+BH_U7g|(IdO|R#0Akc=h(>7ecU?>H^ke zkZOTMHF!XdxT-#kJERiCwq$MtY1ul@{$kCZ{#?AwJyHDP)IQAfxZWN=waytuyf#=t zJetYXKb=-AB^`?}Ou9PoEc$Mg_FXqk=JNqKgtqDzIk7Ovn&LzCEX}08|EP9FlJTFv z`#*j>mf|09533Z>d%?PUK&{YR)N~`0&*mbNs*h@qqk@+fI6fd9pwG-}ma=t z3p7Fj@K1AdF4vcwiAWQ;?wl-0>{zfxGIMbyk6f3ln|l5xXhj<_K|Vk6b>FfVOmGc5 zf%1sbVS|8)*cWhsgdiUB(O?%4N0Oh^6*(~|VsH5J8ROGWza(~|?%o5j-o)n{v(5pf z^NIhx>6Cth8~gbBWAvAUFiUZV-hzFAO=Ojxqdjzr@^xDYpZ?TfhAz5?X_cjm=Ewqs z9yK&?&Ipp?2(j6eTjTxIdvod|QiDS@Ha~zrzTFdj*XPbZ4Z+|=)W>?RTWcD^mBcdW zU%HW!A-as)$Xk7IEK?l4J`H|!#{g6qUj6{!=x!*MVQPBR8WU>Mo1*t#>DFgodY?z6 z$a2yC(Wn~<`PNGH%%zq#7s`)oA6mD#4>S%iF(G9;zt?Wi+FL4M=l(K{T?tv^>*d?1A7V;;yBvMAfocx~Mc%o_f`-EXVdxd56l#T^hwo zn$@k@TmREp4?S(aqTl(q?yZ>uGZL|1+u0$a-l(zn7s5`FVnP~V9cMTGsW@z&5NO1d zhxJuZ1?LsHDDWc_%?GMT8b9S9KfmAm^e+?LJvUPL=^k&$JIu?Mxdn`%e>T)A&{-vx z9-N8Bax;`>O;n;_fWzf`pcsDTv$N%*OmYFk5A{d$*(Dt;&heVEin3O%R`g4)krQi= zwW#}wihdT2APS<3Ywf2!t^(t=c9Zi8H)2E z<#tsm8DM={kM{;OA$Y{zqbNn$9W&K&GtJwbt6ZGJBZ_QJY%ZA~svQtpin+th0R=j9 z66E)~w*RAmIdM1Dyb97U*K~f>(PgzyZ>WP>Lyxk46%<<9j7V_>K(JP|n=#|*7W0)k zN`Ftg$T4q_y9i5szPct!nn8FGy!-b)dg^#xQe3ov(YNh+#H(>`I$(qPZ&&^)EXy#>0f?o9>&POeOz=%keaN zEFQayMQc7$guSbZ=n>xG!a!sjYp?z8VEuB%AmjJK(L6iTyb+h zz~lq4n&njt!JRig0QdQY>$vBD%~1zzpf7h#NTl4F)SmNHO1c*x%D}bMe6nDxImc+a z##nXL#)d_P#YBT-1=HXOQ;!B(SLwoGGRO3o5BE`hQ@g5Le4{-|YVK9`OOG3L;vhkh zd?s*d{U!tcmdc1^kyK^(hYhWXh|@I`PgYM=8BTOXsM<`BLC}>7UsHiopxD;EGHsGg zWM*L+AJ(X93Onbfz1k6WGuh|`#$AC9S+SMj7v8|&U+VS1JL8i!wPAvlJ|IL*S-Qt0 z<*`@twpj>T1yCWRZljP1ZB%ZhZ}CQvzCsvPSY}dykH(W z9t;H^^O$8{{ol$VkK`!Kt=Ezb@1n?PB2CLCsRF+ zIPW7Pv~P?4=L!0T9(z`En4PDTJ_R%4hKA%b-(D{UDTj!d*SE>R!4walfT2G;Lm>Wb zu|N{ujC817Q{k>khb4`}h=g@(ds3@wXXk^|52l(WZR0_H`dDt}&DDcLpk33u(T4SK zp!Gx+RMN_%D+Ndjwg(?qq0b8?)`aoH&ec=fA zv{oLj+njM0&kx^q*9!n_06pcrr#^I>>b7VnmP^`I`ZNiWVH!xUCj}~kj%Iziw`v$B z7!^17L-1kgRw1O^H= zAJr1WAtQeGxHpA~MzZ~|yx$j}#C^^r9EY__R6rwO`E}d1<+7L;aU2U86fYKw%00gq}Db=bMT4@*)nG48L_n)W-E zSvM1l%}`O6l%*L`Cg5n+j+c%e9JQ88)GAi$j#bq^<;!oA~;WVE>qL8 z^c7EZ0-MCi0#M9K2YG|Tac?Fa?rCQ;0PTF5zgQnZep4rKR?N&(au>LT&`>q{DH%2fMRZ4-l}d~>;+ z`x_bB!PIMDp9gXQ5sxjqH;lqvjroM)W1=5KjsM}4>PfG|AL5G^MOi-qd{x0UKeBcH zL@YZAdZ!VI!Jl%>v#5#p|4NK?-P8E!ZD)IuGC_-6m>?aMJa~v8*VQtzmmmih+IKGX z-(5bGf+9)s?f=~J>=7F?Dpg~NA6nnVzY@+KP=eC~w16o4-6X9~REy2va+=aWrMiH( zY{~DOUYz28cLvjba&vzUkNHrAH_K|(m3Htsi{YeL>~@F-5Z0u9p7;zzR$|Y6XK5$m zSF=p{=?9dy^KUSun`wu`y#tgjz<(ilRAVg3c{t+ZWE|eMY#`q+fhey$i3$1m9ETY9~&t*WOrOMBP-3inR zwN43qj)cOu*H`7(0hu^o5scmbDAScoqvPVkm0Or%>CYJt zBW@{NVRdy_+h8fB3@v@028tr;^I3BvpRKV5zPSw#11hn1Xo!Kq&Lr(BMyTgfpXSD@ zXl}~t-I4Aws@<2XlABbz9*n>=>;Nv55oHsC)agiVxt~>vMu*c;gwfs&I%N*B`xlR%gf1LDWnuAMPkE0oSFv{{@SqVq{i17@7$K1R_Udv>n_q;~xu zS)}aIarpxA&vo6w1y$6=&+fni<9}v^@dXvs`Hv^B?hA)IaB9}m zM$X79zTG0#55zbTYYc_|jla++C+UO3&s#d4_`wC|DY+oJPOeQ$NpwHqmb;e6&!<-U z8sbqLFgaB=K}n^ToM9gnGXU!|zATUW`_s6J~E)DwPrqtimqz3*5^0bLS$^#zIJ zb7XaVJPzzQpk(PKHENlCL6sA=R)caUo)6D2L?|FRFpo*er0HjD$eRv4HK6PF=CWag z;XyR1pX5yxXNyfooX9JuUYi3Sgb%lT0+^sZ#vqaTGT;)QPCyT8E*#domJFijZ9=wR z{ZN}Spc-ao6>1k>21~f_=^>RGxq8*03L`1O=H5r@0q)oW?I6pJkf9tYIv`H-&=2BO!vzuFyYwOP;dWrVaT@=7X*J0kPKL z>S&wakjUO*;cln=xJ?KvX6`tVvYwMkEZ4IQac@5-#i=`!d&k zpgpPnd1-|s_{0+&d4)F+q2rva^FxQmF*lPIG#Mc{58#gNIXZs)cdnrxi zJf)d%RChXEYgmL``_W#5iNij(Ew&Jv6E zpESI1pucD)o!+7#D2npm10OV=P1e3(a2f;6l&KN@kIO0$MQ7_bNT1(fbw~(O``JJ@ zZ0vH}$Wj#_If%MkYS9OUl*G(a`#a%zSr;xh3I&a5UTD*H%rDHhIx>W}x?p(<)DFuf zj-u1uR2pp6+NOdh%k+Bjnn6lT_q(NH7cT2|<*Be%-*OCs_*~G3H&Ch15$;OIWB0qv zG@c0F`F*?sJ4Gp{9#WL>2^00t9M;WS1=1;VEbKA^jDK4ky_wSU_?T~S@r2tefq%Ju zL79!)<^p=Xdi98dH%c+{+c5cyzuK)#1=z}#7Goa?p0ob4D|C+xPp(j-y4j}S$7svZ z1FZYQX~;?irjoV6k?z12NUQntGljLYe6aKRM$@ANWsK?;~G2&KP8VNkD{b?P55GWX_nhEZ>t zOu{CE`1H~?%%v*1xc*^B@@sw}kwEGV+x&ZU4`qfqLTTd-Q!L>2iu7P2-*@>DPQ_B0 z+6ZNWkWzbm;x$TS?L)Bh+n=Gb&|k*2w}0RFs=wskKoz{?b2Ub|$}y%~z_KY^Ul&WR zu^T(C7k;*p{W1jE`b-zQ4@jhj;>&s2-#1J)sEy-~5%@et72deF!w6ZkbJU%iy-KoP zlVz&z^;Z|`?n==I(nVZ4A%qvhNP=x8XKR&5i1QL+3-C@3c;iOnyv#R&hCMmp*QZf8 zyp5C{s+?Z)pxX&NeXyaT=~MS#jU7^mj)@S|dJ&A+napkYNnV3LzO+wVOK}5`Zcjwo z&!`TFgX@iuU>`XRx`G?3M~7wWC8P^8Rnl5FqV%k(;gXR;tXfaFl~G}Q4@s41$r(ee z?)R+brG;Ph_GxWZK<>SAonYTkZHZGsKaeul^d|mu#d)cEKc9N4UnX67QNKW4yhvwZ zzIhd&2fJVmDvLOBLQFk79;|q}Z71RUL>!Lij|FM`%z$^Ti=wy)fH`DaHIBX`kj8K5 zx}uxrz@PJHWdQ>Ooo<48$y}O{VMJzj-0+5SIa5=QD$~`$Lda_7T&ZjUraUJX9MtzI-kO+nC#9O zrhZ4`mcKCmUa`%)@wl%3)wAEFzasNzEi9QQ%xgwB#MrmH87VN#7vOUsvNVE=`kSsG zco7sutspt3{-Y&%D6x82fKz9(`9)Nkqh*1geY@?s6on;jz#hm!*=Mc%eA*r4GqS-4 z*i+$~(4-XBD-#*ou17Zxes|_251Gb;#39kQo#lS0AvsdJ55ilY`T(v9 zF95W;-+?Ee{B(FmDe<~z0Y=c_+M*8yrbAd7LSj;F#0yItFWH$fy~e5Dytz zS#Ljzn9RzETk3!Yj&%h|U%x5ODPqsz>~Y4_tzZ_z;lhMPi)9WII{M}}Wl-MjNAD08 zup5N!6wU5sXGZrY(bo}LPGj%#y*I8+Ox{!pq$vb0Q3(9bx)1RZLHnMYbcGAORzgaA z;nWN%g~zHE{rW(Pu5Toe+ve;j1CrTxRQ2G#?!s!(oQedhNCRJ1CWO@sIx}k zP#d&wdgJHcuyzA_@EqgKDfGXMsLy9jsK{h3D7on$tYRcsX`-};ZFANoZEHpqoxMc$ zyu)FinWk$wY1cfJ5@3CJ`ddVy_6rIP z*C2H1MgFL7^)Eg`gG2hT-S4k+Mx< zxHG2!m`bm|k1;f7|6Dn3(;L*t@Y@z+7smMF8b&GedrEawFCT-Hp~3xfwJLedp*`lJ#jI|Mjq)A%!&m)2iW~^vBd58cqJK{{zOpxeln|KHPK;?Fu%r`24&x zhD>rKzA}U|#q?y|_A0Am`n%M#`plTyq+S%>$AyEuI%P$H*ib_hpAi<$>ekaqi@|w}tp~Wg^vge}E|NVb z^?uDUnGU`qBXp%dXFtAy)GbYu=v!6}uY}8{gU5cnrs)w{ zz2birayIljMHtT2q+cjL4?Dj&^dF;0(nGGL{V9+;hk7>C3N1NLdT)@h9U z(bn6KZu|ZkH!+~V*F*kOy}My78xMQit&f)*@ooPYlop=TsK2qohx0dGK!ky+D_}oJ z>c#m;1BMm4qT}=a6kSFk8xD?b+NmDM{hW_rg2IwmEBkLwva&B#n-H*01NIFOvr=NPROZCX4dzdmGSpDX`^|9c^}@T2^OduoM8` z!;2P3wu3La)zbc|{a`W!kXJ&KdYO`b$tM(>A(tiWFCwHANS`SJb5dUTo%%2oL((Bx zBzY=4dSwqi(z?RAFx`5fjUL~v{YA-h)Tf~DdJK`05}ig)zr<4*yt_f}Ab2Uy8{|FV zJ|quXeWi$cJ`>jII?S*32JE{^)TG0kIh_tx?!HT3sdYkEumg+>lE=id3Q|jE5xKGH zFGbZ-dwe=>+oMI@BZU`;rT8$P!7N2%I+X<%UY#ww*Mt0_GRr1y_TG1e@59YhM zoi`)D0}9NetWA~o_J$h7hXsy8UtBbzVYI;VJT%G>^odI78VQQ%`Cov#jl3Y(Bc$It z9ao+Lp-VneKiYN^&4bO%J$NPRm{(J?XV=9C#3-*y74&qV{xRndYRS? zbynN?m3I&!}RDTxz(jCZ(;DBUG{+~V5Vfl~=Me@t&9N;^x7Y*zPYaCjc5 z6D|cJV!^9h9UEK*m`NeokQ{cV5})BD5Q*Z%kFmQQwL^2Rk(urU)reW_GJjTiKHBU^ zU5fcSdjCF82EB+-%w*m{{AWotbv4k0UZ&3?8h~`AT0Glj z%!ksVvh6D-^U*$wtfhA({uNmxJ~hKtFcu4IRs=U49 zSOjUwCl}Xxp>`sN%=hsor&`J_J}v*%bT+h4L@Xb`N)MFoD9%&D$xIznOzellUuLA5 zkj@quH9 zwb!tC)dF3KbB$};Z=~PUwA1)^iNe*sUK}6NRz@_mQ1gj8Y|oN3=wG!*%7z2)BfytZ zxdTH+mD@6wyVcXIJv4fMun*YcgbJ!YWN;wdwraWw3sfW?JYk^#c^^8)>p+3QEL;Vc zE>rz&Q0XLa#A&-vCfJ;j>itzKvL_BAWb16#B0qU&FS0-1LZX6xhMHh|vavFz_L5m{ zSUdnkPVlVH>o-9G;6osg@ki&kgNZIPZ1*zS@_2JYj0XwB$QHVW4LTT;VZGL|r&E%} z#rwyz!^*7+>chb0Y#?OOR4Mq>}eFW70rw5fK)QL@Q~oBcmdNFCaf5x3DNX~?{kXhjcFS*oudTQqg)2<$O zgwgB7;HquD!ssJzb;3TpUp`L z7laC!E6x1Eh%qoRW&|oSS;ibZ`?wbHPIOUCf61ZG_Ok>f{y(yicj1Nu&g-WP_SPQF z_LqWlJfXO&xsP1`00cR66yBZt+w!sn#e5|Nu4njHLHD8aI)WcJ1hY;y7}dJ5vc zkOunn`+ay7dsb)zFaq9}&?t!o4Sk`ZFp%XDbV>2@%6G~_waR0`JKDNBv4^E^c}GBg zaBiW~Dv-dk9Wl>$t7xgSN9)aZUy2bF+wd;|SDoXZv7gwCg#JeaH=knWrXo%UYZfqkX5|Al989pw zMjC?HmQbbww{=0tw5F_&S-hxk?^*^mJ(%A$B@}-RG45$#d;k6iwvH3^fF#>NcwLk3 zBS$A9lv?zh+LzihO~vLjsLP^oRTOa}{c1({ZsXU_BCbJqR;jD0rZR0a3Z^dyT)P4jI8j$Sk(SW}y~7)a zmD+zEyb$grNC9BdyKHGZqmR_T_!#7~&XHcYb4p%>yd8K|)V8S32+%vcNB@A`c+Z$L z4H@~xI6JOI=xN(NsF=LWRs+o7AouVIz#ge_?O#gOt>QvnuX}>}l$SbIMVlDdS4zZz zwSiCwf1%{_uI_6iIOFP~9_lZilEU{S<_ud8uN1fK(6}qUe5NG>OIj}TRHj+#D+L?_qHJt#mn?1<@G6LS0jnhZJ!>GUT^mtpMQf?5C zrfDpuz=&;NXT)3ITI9p|qSt2_6<}*QK+upNq7cx|p3sIDro|L)nf8CsvT@oYu%`bt zk<;5>c~{GEB{kyx?^%|Cp*~mBO+92z+=RdEiAzfm!>!a=hITOS&=^-!G0Z70^g~gK zOM{!o3^3*YL?nbfkI(+d9VjwW2*%uYrPh;(7sh+8uel|{(GNTFdaVk=UrSrPQP$Bs zz3HLkoE%Q}|2?EZaIikHqX)Q!VkEIb3O9XMf^@!H?dhB@!5DT3!zy;DuLzB9_2)xM z_tUq${En5n2=*%l@`&{nT3^xU$ReLJ5=q$_5x_q)P!={AZDM(i|_LT0Xfn%12#iYN_LV!IO~f6#iE^wWxBwUj=8U`5cw%qG^4ObWrgkxh^c1>Zh8lewN z4wpitjMN@|wq)h3p{FhMd`t{@R!s^kP$LYp&`I7JikhNW#9&UqUo_!01Q#T#nW7+4 zZz7zbua4}o-A_0uV)|VWb03QL8Nr?L;Q1jL%I*XlJ91)Kz7JzQQjxZH%|gwl_Elk~ z@P8F=yhZ0jjHq_YX1@=eA?|bzrJ4~2J#ay!;S*Wz&>a*i$=|Bl>*v0b^}*#vBVDVg zR5~W-J;OokNaGZ5>3;z52-!%n3OEWXolwHNlc-W?elGD$5PFUFzK0WJNlgn6HD$i# za}Nt3usF8afR3Vt@jBKk=_^77+WRBgWTm|x^6+ljSyyl30lS`;y)Brf`9LWKXydciaDNMB#ocF{ou!QceTs|P)u_OoStrjd7aS4A zTM%bnR}*^}_2?R4JAYvc8xnVjKc9vnqvke}d_N0LfNV^;Q%PItpTob61K#?W0&>7MrindMQ*^e5P0#3ASoJN>3t^*&m~ z+8bZ&I$l8vC%0f>#Z6FE>w|^0z6Gc5!48&uIf}SC(&4kUf#(D6!Rf$@_y$1hye^%t zU^<}0M`gyV+B@J0mbT_RpZT)J%(6GoXk-xMd!zYEJ891ApKL&X|GC;?vIQv9AvoMT z4~~)BP_iQS>kMf&IKX#?(oCzj2~z-f%(a+(4a7Nxg=yJKp$@oUIkT( zAQS)da(?Q3fV^C8i=SQ*p_4RAHu13seL1KY)_+C__`Ft=%GEQqBG4c{q&T7BeNx+6 z)eOn(hkm#ubwlF{EaiSu*ZD3oxv*ujC8agqqw*KBnIT z^^o&q%{!m~03~G>lteR>cW5VDR z1VyMGsgx?F8HJ*9dSYy18UraVv8n4uIILai*W6kk#%hu8TFMNNyy$;*0q(aGE4SINt8`oqX;2H zWRGNIbFJ(C?(gyNkN@BI^M1e1Ij`sGl-8K5V~_jUVj+muHZMx!pkmg=E?Hxsh-H8T zk&+&2JqJhA^g!q?cY?oXbB0^9sG{|-^DIvBJ}gBw-=fv=-~NadbJaEyIxl+`Qhb8~ZWL(2 z(A}@_#Q^k|bigXXyZ|MjbMgTnPkd)i9kz4&{?FK_R3Go&<<39LwW}Y}VRTqIMqa{! z&2MCqve83_;NXC7%EAU6_KYlQj>FIAFhH|@b{NWgC{Zg)eYba0(NALly3W@^T(N$5 zHJ-kKNz|j%2~{R@3?!18cdMY%;kDH#cV}n|1et(Vh)wySa>d|qs2H@H`S0X4v>ttu z?6@6^8Eof-X_Utdc!XoE%~?6OGqF%NQ&?7MU>J>T zWLTj0XeNo@^vQDXdY`yE1wq=!bK!#6Jl8X_U13Zj>;~Ic?ZOoqCz{t>>wZ&PXPA>X z+0X%zeTVt3Q4w6e>-BP16m%BynyC+bi5xDK=ZYBJvEaXTgG-QP?_73;uNgN`X#d#D zGLaKBL|QCNsz^cy7`RED)({7g~=3! z`iyC|c(Q#tIc{+zi4v7{LnOHTJM@L_v}8GwYJQ?jYd^ADALg7OE4TZj?dQTsHTG4! zR{ggr^(jxr0fYc=&8x@?A%Pd1>Nqy4eEC7j&O^OW|Gzw4awMn1bNr?S9DdpJbYvO` zh={cQ7cw$whf@3+BpwyQTB~^a`}e2~Q8#+8DU=R(&y=foUYneq_OEVKHGGjGoxzOe z_ys@WcwqLL)d6^&&vA>GPU0u~K*B^JSq=AQYS zAODSd16x%<`?kU(7t6G2ME$}0ESHD_h3y&Xmq}n;W7&vQp%*lr>=z%FW2&|KxVB<^ zQ=))GjQ@2WZszrC!w2#YgYAAa<7t+o3F@LKt$hzE;;XmEi$$7BzI_xy%`D z%!@KaTnP@rQyrN}wNol}oO!B1nUD#DLQmW}^=*7FKB49gZL zE?mpR9+Lu1{sBH0-#;i^ED>%v-lZRqiw;AL8jJTn3ZWK(GOZ7_YI#RxM|@X(a85(} zel31aV(}^VVb#L}6GgJ<6mjpst}6YT8@~ejOh}J>b#!zZiaG*@o45Y0*hKr<}+znN0gbO-W`n(r*N&46#!xZsQq~U@aNrv@`cZNzQ^P!`* zf^tL@fOiEM9PAL^l!Cf<1ubXF4_WRki~QYcT1(?cH$_9p%~j89qSAm`Fz`355QH6K zCdr~?Q6|thMdZOu;hz4urN+gB!xHB4H}|YpCHjLkL)7~^$h>){(7O>-r`iS!RaG3| z89a1iHL!{k+jyG^Xy_?XdT5*Hrn2GFU%9ycmXK0nSV1$;__F$t<(PV_xP-Pw`0TN*oP8dynZ zp`a~@x5UyN>d~}TCs@l5a9by4&goz|(cD5sbqBTQnmf#dz4B6mc|5NbppkExmJbnfRaG=14 zZ-0AKn)G~hHNJZM-O_2_Ia+RqyY}u~7E1s6!_v;qcc(ynuEK~)NU`w)X+%P1&~Jge9CxJatulC8m^c%v%&A`}GtL%aD91P=1l_@ARGMo!cF(`n%h2SuJ(&5<@CVZil>D-4ZyYh!h}^u;6VJymB#wXhxX#jXEQ9ivpu=d%=W6`BFbS8wps&7Tnti2_d?aQd*`M4P2e( z5~`EXqkzZYx10$+zcULwuiyU(byPmky67lJ~;*@(w(@KQ}S*_K^*mCav2Km3bl-9oB`Ny%f zf2Xq6qIB$B=OVyUi$~>5C{;}kIvcDet;NU@bcsY6c0|Gtx^p^U4-cXI&D{}y){Qwf39T;EBC5!ug z+!ms(Fs*$s7RQfM;qFbGA`^_>N}X5_#S$9xat7DvC@wcHq|AxWPSK%nm`MfM8Dvp8 zYP&i&NsOSKpHU}=JfBTV0souJcYr;x6$m-ps||Jc*<&mKX6mpP*Tcd@zg(Yrr^!a* zjm!Jq!WH(-?rxF3fvb30f!L0;ag`q;llw6xIu-m?jj}NRVlREQrwKoIF3MafgZ>5H zbm#v)ruu1H;R}F3yy!VkWlHMSd3i^ebVBF^`9?xAh|Nv_zQQfXnNATjZ$@Em*tZ0J>sa?7MECc34J-7mbL0=IH3gYNZv4U0cz!fx-jVv+MEwS32MvfX>ydLUq^Oc#_@%;aRpb@|zjI!Tf~Q&csF zdM@mAm=o5Hm84{++H`BSM>sIdZm-gyg%;_k3Ti;-ml?cOK-qt{90l=COA9h$a|9IC z_C7}ufbdNMJ5F_W@#+@c)@t`fcz`p5K+AI|@FqB^v2>}tE{C-U1E`9R3fwYFfImGl zj@rxJyjbgYHBTh7&Jf-a#m$oMzYLFPzu5HXY32GgRTjWQYhcS|U^_)C#{&Qb)eO?N zRIwxY4~L!kw^e91agY7v=NrrL?{mGNgWZm)wb6C*+otG3V0R@zyB`gBN2uvjtyYKg z?2!99fBuxykQ#!7vJm&V&?Gy=0>?tz*G}c@la*vf371rTQUk3i%ng92)7la4LVNDX z5yV>#9XnuP;{CJE7XJ6&uRAlYKp6#UDGp*krqx;{ONZ3a#tw#RjYt%x_<)v`b){>< z#_)P&rtXY?Sr?~1$37??-D%M%(5@BfwSO>Vd7 z7AyZPduclfrB8xtFkmylN*E}|E;R;n0}oM+1WhxhVnXDGZn?h`|=c5@`Rz%Jqua$&xgY-D5eDY3+iN_PinjX zJ~OQi_|IZ)TVs$T*-gqXw?KF2hyBd;mT12=JmI9yhUCYzY3Av>a24a|8e(j zJ~q{DDYjGc1`y=6Rr&>xXZu3nRjg`JArZOtX_l z-90z@5|;t!QlKWIxXB&qNRFhLl6h^zs#Fh@b%~qJaSG@{JTP&x+?g_Jtk7?I{MnXqgokCcNEF>G7ZT`5JvNV+M4=ECn=HH1URQC@vQqmfEN&Z0!xBhXRZ{k+zb zg8Kk%*$A(GzMfIN&Qkr0GgKVF-WM&S3C z-7?qiT{XpBrtD7q`*tV99PO?0ei_w~U!DK=)Utgr%wySZw|&=xgh75S{;uklSfBHc zfuc$3f$1k?%@+ZN>p}~M}x4^NZ%}zWC-h8>GE_x?# z@*953&ar)T`GXF~Iq|NrnosEne{lrGweg;%++{qy9&Ju_$#|0#`%s+c?B&*gs-r;xOz#)oUFXyipK6+jLDrNu>evA{Sq zAiT4JQaR7ts^JP+KRwIdhVA(g9}~m(+`_fp5ApX+Tkl1=WMJ6QE)^plvFj8%;i!RZ zx3Ken?DK=v$(a9|$v+fRr@WxcD)!YznPB%1otP$S0!&k0F)oXz-`AdVT3gX|N`(pq z-2Wi*7!qgBQ`@~y2^^8WS>W1pud}HLVyXrfh{^=83w5y945KE{GCnK@6~jb@I2iH+ zM&Ed2VJ#T5$6%6GeaXZz&uWN{@y&iW@G63DfXm44_G3Cw1ddbJ$uW)U9Ilxlu4 z{kA;gHSII_iSNR;%h6IvC*Ga@8lPS5>DnJ^7qf2omX>i_{RXuzIbU@8GJ$W;w+Z~r zxcTtDRVLgGdLdDqDLb15G{}{{mrIfKIypy*KeoI0rl{|>ran7~0oSyxQb)JruFc2; zvGEkO{m-eTosxJM7d(%Cjy#GkaMtp}Y3mcON34l+yr`MemiIV-&9p zOMl!uNu~b`5j@Q8slA4nxA*u7<^zC93>(d*e@>!SsX5oaM5dA|$ZF;gl9VTr*&NOF z@-9vhzQu*;TgKOF#A<|9N5*R4&3(4b!H>2IYbbD?JmCJiKfs%$-EU$DcQmL;ws2gkAn!Z_g3;_;Ou+|@US5S@B4kX>%EWQ^0J(1x+C;7FM!j7 zqSzgWzntGzV`SC#``Z+DgYC(Z3^b?;WRW4(>^S9Z)S5>@>7Gh<5)U$8?ak+7x`qT^ z0i|zTrO=s{&M}GqpLr$V2hZ5D@V6cg?m(d;G0Aw3@Eeq9EBorjg!Hcr!iM*H@ToH& zNE2efbx-l%TStI+_Jq29ctRhwI(oWeGv@ZoL@;_)lr|mEK~|5#Ov^mjkWO!SZ=cH2 z({{x^OX@oKEIR+q1`6HzW+BC5E$kNS8EW*)vhSbTn$;A4p$n7FeBUt_$Vp6UB+E6H z0Y1>efDtO;G2_t^>4`-ytKC?b6DXJ1lyVgh|Co2N$So=cjv9gMl8!#^+FE37!Tm@vIH}#xDU0>7>0lNZ?(WHXS(4xH&y#iRATO< zyki~%$U)-gEIqRFBd z3q%gye6+MTPn-}5&zuki2hHKDqB<_80**fsE)vWxBwiHCWhsd8ctnTDh7W$C=mmRs z2Ed;*4R#0;T{Yq^clMvW@2}7D`diIeTE0M$kj!yowd0@#l^SI@tOch5~ye>-(_!Nd%CIyLR0rd?^_2m-sL8^ z=ui!=F{f0Doi_X)XvyO%DR8Xl_HAB={YsD1s*^5p0NG|s32rK1sD!=CW(Hp}mT4{a zUMzn(Uw)uat}tI3sMlJXX#wgF1q`Sn>JA}n4~;eKH6y5RmwuL&@JeOuw4oI9vJsnv z*|YpBI7#EY$f!L9!N5NO06Y%xvQ(FJa^SCSgM?V)Keo>aZONDgokT_h-d6DGD-`WvF8Bx)};jyw&1ee)i zs>8OE4z!XEB$3^;y)+EpAL)gf|i1XGG0{3{J!=VG_Hdij)oH+U~*A9x$pB;WI^Q$6n)*_1l z?nZ~?Q&DlzfeZo3sMt<>B3aaZ_}I*@c;uVLE00avD->+|CpYfwmv-scQMe?z>KmYp z6&=JJI@B89^k!sLk;&ty)cPC?rSw+w`L6SD(-h@d)WxOMogMcD`t_NW&GxGolHXw1 zVA)0MRbw-%Sr?7%&eY>M8K#)0m-9~cu%2)JA1avJQb>m1E5c>%ALXx%>4cp=$};OE zIuBkmeG&BF3BM*+K*2=|t0VaycW>YI>Zk<>-ySBU=66KNY@kEO_#&O0Hhl1E+jcuI zf(nnK?n~!k%U0LEZtx%OsnoBA-x%A8G!<$Vyy zyV=4kH{QbxoV3@uSu)NsOBiA8N)5X!IgjB5MZo>Ob`gJ??oye|TnH!@U8KesIZE@{HqIUZt@*;A#56@*7^rS^6BOimdz9iqx{b>_pZ1{pOseG8fo-NFSE%qAe`vg!$OaQbsZYGBuXU|8Xs zy_xNf?|Luol9Vs%FeaOZDqB_&_x6E!sT)(_l)r4)F7iLvqUjESOKB|B?7>6*)>*(4 zORwH8a(Xyp!0V@s<+GGDKZO1aWgz`Lb4d#lv{&;d-|GeN{{g$CoikP?NH8EOL)Q;q zj?cY_Wv64OiK~mIUW^2o9R(lp*6LC?#sSgKr{egQ{<}ck8~ef*@%6Ves$Z1Wx$DK4 zQl})Oonwgh2^F`NjOJ3A#M9MBeJ}RQGPzq>d0JEit~_8x$>*k9ypFpsKnqW!-EoY2 z4}x`pt3MD7c(I8;y$fq9=5_tlm1hrJ)+F#*Gh>8usKj3v_1Mdvyy2fCTS~y37fHCj zqMOyW<A$ydgZ>zrcTT<-B&IXa!--qzJuByMcD%;wq zIpsko@d@}6>YfcAMyn1l-Fl(8cvLFr_`uKcd!lT5g!c(x%07N^wH%!CWP2==s?Igy9Mg3m!8rb?47MYm5Kko3;E{*CU7JgVw#a_xZN6CAr!x z`t%B2r|^o&O*#+_LXy%^^RJUNLw@`P%VN%NHc`SQ+>=IZ+5RoD>S5U(O9O#VoE;pv z{BF^4liv_4xLMokEaOY%PyRZT$m_f2b{#FM(lz&IBs9J1ohk~;Z5O9o@J5)*QQBzk zg>+fls1*0;e_w0k=Wou@YFO>*l=(Qd3uFq+ zSB9`8OJ)jESX0@)kZ1uzdqFxeN3@wWtlb>J(j4-N)j>i(oOo!*0ydO|<;O?V9nj%D zS?g=QpBE#j!7-8S>~*`6w(=_8bq)a&ptiVtrMFIQ0$YOVbQNd1H^J<#KEJMKXJ=8_C`*wXA3>yFV6EJvwpttD6XpK*Dn z*-cf4fb#40+j%DFCL1zApnr13m#g*P0(kr7kJNxFAn*_Y{GI&}NdO<&X)E*XAwn%} ziORxgn=7)Y+y7u_5Yp!a95|`*?uuDg8T0NxU>0VEMumO^*xIKLT>q1V+?lxDLWO~|FQ{*w%Iw7*&*g@3D%%P*Rk9n50&$2TYjJ`SaY3ioG3&B(h%!piu;f}Vd8 zH)FD+Za&kqY@mP=07dsT6h-}c(tH>&i9Tt*WZx~E15@)3sYlFrwPB>P)v;-M-gxzA z?!HYyyTqg20P13dm9oKB)Z+kKD`NGIt}l}@QcM^Zo4_IH@UbD-_N);)HaUk%7`ci# zf5G0C>Ztohz3=H`csC-v`QHBC;v>Bz(0TAe1v)w8OIQvK#Dz&l>tB{G)l1fbSHiw% zjAj|A{DBj&6qNItc`?%E@RZPW6C+SYKMW6j_!xrZY2DIG;p>B`3*!oNLE=#*jqZK$ zP0vAi2TB;#aX3SD7%L^ojFR1&;|ueivJ3m+{{2~rL8;Y>iT0WLe(mR%pMz(N1t4&P zJ9sOU2s?a|@uMJben0_PssQ&)UjWMPL;Ek-H}>$_t0(pP8Fj0Q$vr^jk|qZTh5OVIQ`DY9!dgAOW6IK;;v)15k(%LST5TRTN`?s@9Hkjv(}D>KQr(zn~<@=$KK zF6`3>)q@<+GnZL~MP4s!Ep1BN;O2PZNNrNy@lJ0~#}o-N;Fg zfZhJmHU12R5gf>o9r|d*=ixNy5Og18_hOhFK?Z+R6AQ2(Bv@$9u*crI3z?^h@m~rc zMP#6+2QJgT-=+fvc_aiEf0;e78o&_e8a+vuP%t>MUykolV2@MSz^mwLP06LDT)$~$ zixM{Gr8lR6q-fP+(l(~!ONRvVablDa>Q+cXObi(Ps$1asWK@h%V-LS3u zX3zVmuP6#$Ecq3@2L<0R^RGfNpbq@P-mlhm%vVN-(5VO?=(S$RH~coRIeq*+`wi3cNy~l_FSY=>j9(xbc`9V9CBE1_Szy4M1 zCqB(AmY(UKacP3}f9W1gS+1pZ*?N-2ShUGqS;j;7DFq^I$NgAXp#RPIx>mE(u>g+x zk}QJ48}cGfTiP|!bD&A_6+lGj0Y_Td6p@jU4+J}CVg-8nxsRSew4jYk9fH1eV$`6^ zSTl!J$wGWmoHC&u0B5Y|q<3<~oF|&oR{hGntm5vwFq)Rpm2ts(u+KlJ6Msk$SfuMf z8uCO&FG`&5|Ahp5(9%k)h3~$8xk4&Q%x(cME;5UOpoSc)Ca52EIsWAbLTqxM<&H?n z<&{|jjXHSX4^%%L`kAxcFO0&X>FinaL1kf(XMd9ODy)~S`J6w7$MlCXmXK?92Z+G& zZ1Ikel?s~ydx+Xq#jTihA8R7$YN!-_PlE@Tp+ci@&pwVc144T(CWb(e|L^0w@+6jN zc`HymT*Vv23YKMlY{PyaX`XfDm4M?O6K)aEpf=%s5EDtZ!1k99(hSRt zXU5XvJ~a&%s^QNg`xi|YdF7&Hh>hT9G1IKWR8%q?r*!weJbFr29%J41p38Oumcl8d zmjo7vj{?ZJKZ8%NMcJ?)Wl{q-o2N`7_N~DDu{t>TN-K=&$c5Io<^7 z9mYL8j(fS2`TjyrC`2RNg7?(~4Z`bPDy&GN(Y@S3fNoj%K%t(R(yF`jQQBOcru9YL zn+~7Zu%&YKwT4xnF@+%X)aSw8i$3A?Vq#Qvz_Bl`aVWuz*m8b}kv}i^mXneIa`0Es z22o6?NZ@#Vg>%UVubAvtRM%BgL}tRtj$Z$yor^_iVHF&GkUpBKHT#91cMsKeDAUV% ziCY)C`@AshmD+5I@ujvS+hm@2rJJfX(xZvFN$_@+Ob^`2rF>L=Z#_;KivUyZ>0|l& zS@i5XYLURv7w^9>v7J`sjkFd@#wI8CZ1ISlaz&V|i}f5wp>2Qgn*tKR{8&HcE(l}huX*9ka`C)Lu>P}@?`_{jf&F08pwxBb*61zdU<4=)y zBi z!$P!PtK7;Vr*@!NYAv!x#GJa=ZDp8}3(uH5yZA5kq4g?a6z+}VjlLA}vOFvKASY4y zBQ)%`BP^E`64lb3EDYJC?@At*&re^9#d4}@7AkI$+4*(VKb$eYaC=RI%K~l){ptqy zF%SD*Z{@8;nHRxsWJrpSRdyRj+^7K=Q@@XA8Hy+h-R`h0_g&o3rof;wL4dx|NXZ*r zhkiz$mcHFKZTD`uXwN+Z-U8SB4j0IVri{5U&QBZ&exnDME?pv>j|^e#u~rf%nny;z zf7?Uyxt*i3!|WCn!h& zx)HCo*^#-7EjsKZp~Cu8KY|j6WkrtN43h@^eVYv4p1;WTxT0IY+~a*m>`Zqh-wq>9 zB%`7LfYX`(adeUvww#K?Q%cc(K04k~QoYegCrMHbzj0p|x)ckJI)T}>h- zBBtZP>DlUWS#+a}?IAAGsw`J;oWkz^-7X|=rdcNQNcEbY>a(P5P7IKiTL~smV?PAM z@8mKUMXmhz@^a-wX|naV;yp1u&&+kg*Eu*a+s)KF<8|gOzlXSna^xcoMgCfB;21da zwoNZ7CR@vYO>p%7NT@9#_^_`Kd}T!d$~cL#v-7>nw1eu<8_{=~3HNLap53gM8UrBR zNq)vWPbi8A8Nn@MvGV|YIaEYlkk|`FW>Wa;xTkk-s5 z<=CKA%CXiFn6nW*E7M-1SK1=&9RZ_R*eO6cx-wS&xkB|7v|adT6P;NJ)8blDG9ZYQ z*i+Gd@)#Xt$e9e5T2skLagA|H^mz~h{OevcWv{KAH)p#!RZ`hw6D4~WQT;yZ3owem z7ac`&N){%jKydC~ya&-JD%5;AO@oeHYPvy-_WDVQ=JfbjZ!7ZR=fi-=uaz80iP0a| z;@tWhoHG5(`(p~g(xdN3!xm2KAN+=6)3O|mic@F%vUZ(go1=MR>Xb)hioB3b$HP&> z7m;FAcKVLfo9jHg^juIzCtb&50b?W+DTl*)>SX~q!u1sg@0S$`{VbaDPF_Hf3NC-- zYO@W@(2d@@8%3!Td+(Ok^NcY#zqwTp9MvMa!iMg>?(U%>!5FK~r1dnRvpO*ZOqszt zW_kk@HTJ%dIlDD4?+8&O41ikRM)ZN}V)Mfou{qOO$Y*o_*^)K409x z2pbN3ZW@{3i7yDECrPPdTJ%L93KyNnhMS{=h+TxV<>*VNOwb_;;h7{1QEWvc=!~$u zIC%Q~h_IyBf2Qe-@;x}N^z9`Zo-MX`Lh5gafo92U1dAqAyk76V<<$UqrIHg)zsRg3 zW20zxdXmD=*=q61kj|XzmPC#D>!;6xS%b9NJU#;lq^cXshR+QLA7?BYQ!3PJB@4bn zJnX3+g%&#B&Y*zwUEO;Vp}+gNbOe7W6V6#I#k-gYgx7n?wMj&zf_$s}tAo#1eyl3H z);58WBj_N9k^j&mhu41v!mEuC4=w+--3%mAc5nv`29IFjA7!)e-D*(#_(@GC;am)gwT}y>jc|6L#*pKNGL)(N)XW#ZQHSqQ<7NG54_#~5 zxlzE-Sl`74KYHVq>2GR!78M*7ahyoYTPp3i0r5RZ%?y`&3rWrn1@Ux*1*1T6E_INT zJ;{Aax_M+2fIHp2Ol!mJ7CBD6EwB0@ATtXnDLrWfHziT zCUYxEQT!Zvru&G*0buNTLmWOQE{inL+n!68&IJL=L*9E|Y3SfRLu8M3oP8Gc&5B6j z>!P!j8xsM3bnE6EWlFs&;T>cc+sk15MYuzcXp7B{A-Jkt?onL}k!|U9cUJeNY*X;7 z*#r+87fLtxF2uP8RX+?f2o|j|qtcGMM-vG~$1!wMXf~iEoHoUHL~-}f3uRy1RT~|- z&MyW2fr&6v(K(c?f7bKH3TYN&*0uCA({kNAnZ>s#P@4DoJojVL@11~=B1(CksZM?K z%{d2Q*RUMP`O45-OEx+-bTR{wz7kCCxzQ-FC#k=lKR-m-anjCSkWRLlFf_;G_);>g z+T(+tX%4oP#hbQBQdPuA{S-lp*#MiF;SZJD8GWg2u;}9vjJ6JVYs`mAIy&gz(b zO}T{zSN2_+a&>JRpVoLw*=)D>gOyBw26E%rq7^**nx~Qmw;siNI2T5Rim0>hfs%YxVSca3|cO_YAd}w(`Cl)HI0+4usRcAOL4S>lO!L- z;kEIAO92th*JC9Spr~CH7_JMeoMG+}wDG!rM6lnb-npHEs@vwl{DnTm>IpVS%sS%_ z#p)i^LH>LbWNx>GIRdx~rYW&ss&*gKu z@lx2gg>r(C-YbK?1B1ak-epb0J*(eb?%cKyzMj$ob_%L7g&do8D8@XLx@%we*C`nH zQf-J1@;gSq2$$3dr#@jpka=HeA4kQJBXFXxFl<*6;AZiMd@%nGCxAqA4* z6i#U>bGP={muQvsbrN8^DIjTa;4%_tPi*-@D7!ny8~fBqH4|?ON;-JXfX-uze{(3b z*YO0dGIsWsN!add^E|VrgWar7<_ZmfctYbi#+x?E=Zh$}*7Qx2h1g3<7%eCn0;F&g z8ya>>a|NjKz>*xbt3&2vLx2x}A%yS?cs1};fpHBdb8Ot2TgeMsDaP;yU}{DAcVVYD z>2zM6@f4*_A;by;$6-(O0Xn@@;s{dj0h#-%nsJ5B12v=}m)YE8It*LU#iFP@Ww5Z? z1`O!EN;%g9VM5JYr`DD2 z^ZL~K*4ApvpPmjdnkSo(jT9NB|A5nA{xAFvWV{#iK-cG%M`3^8seJDGPX5eYlT3S} zUD_u8cyOZcpUPVg0sj{AfawzQ{`be6Mar(&DFWy#S3oN9n1IlVC8|>SNrgdLqUZ2a z3kLzmJO@p+9JOXl-!E}o)><}s;^IIiP;DWzY$NEHFTwE!Xp&C=Dxnbo_0mt+b*Hss z&4s>yEr`H|E#58xKIYzKg-yA>P1NGIkl$bX_YbOtqoZu9%l>7t7Q8^3u0g3Jv8r(| z#&YQbjpgE2DUw`^n6B*c1}7~C-b|G9iH^Cy5)_j^LJV?6r?H?@dMmQr9;(3aGPmbV zK$k~(3rv=BEKMcD@6=sSs+7v!@gT^y8LfOsLKeqz6dC*Q7zrIWtO5@dAmdl_HfJ$h z0gJ4n{-A`?7Q&3mRg_Cu-6h+hg)~)kG+$&tC=mr_&kav~sH#Ku>s;7N z9H)H){&8C@-+~g1hBZ3f?BtrdKJefvGob1~_B;QV$N*$ImK6}JT}wHFx}1Z{k`;?g z-S;b9Ogk`53%kyc@WSu{HGG@#P+C1N6LV;(f%ETa3iX*4i_wZ2$c%7Lf1EB)+92pe;HT0{x05u{U14j7673&|0o3M>w zOS`QoyV@RmGv|W7N;|?OUc}}BwU2jKUS6A}1Qi7n6Wkf#)Q|xZqhqkQT&Y z_*iScr$mUL6Yoq*{>qFqUY6Q7nCcSY0K(;|U4FTq z31I>;!P0P`36#+onR#U9M)zsz*fI3o>fF3t)Y{o5F-nyQ5RdBPx1v}i&<*7Y7W9=G z+`UF=988rj36h9QTc`Xt(BtCxA6EpNC zKq&CB%mZ4Lrg zU%iO~qZu%!9CuW_53O4bmm+ zV3y!*Zh#d0c23Z-e!glOn*8y}WhqemOpcP={M=McwX$XDEmiNk_QF$`2=J02=jVQs zZu9L0Tw9SfO>Ey%$m|sggdk>^mqDarn3=L|zlz<5;U*=a2=G-Ekja-jamdu5!lXN+ zBxhy814u|lZQi>aZ%kxhv^a%+p-`7mqH4Y=ysOCvKfBJerxF#J9Z^WaRg!wNj)F64 z+?oZ22mR$b^)FDD0tI#aXm%O_Cg{F1c*-$kcC$WcP41bvPw$0jB8dgn;Dk@PDLJ^Q zHVVg4{Q~z&zs0H~U3J*Ch!3mCHe=f_sOF^l3pzsQqqT5y&6|AlE{-4GN6p#dc$ax{ z?eO4BKKQlKT2D3?L^eo(X7dy>@6~iIn<6_=JjM}VONmr&`Q&cKagUbG+|B3{d%f{~ z0Sc|?R;_A4W2;kYpJD6O!t#)@Hqp#tA<~ARK2>R>4D^#RMI)oREKU4KS&+r{c`C@@ za%Fp^-e1W%mW2u~Ek`Oe)t*=iXxMmrO!n*ONrv&C^BuX{HWCeBv~oFkRJ7=E&RJxO=m>jsbfRW!g`s3Itx1;{jd4(5tohA(0HEqA>*k%^-gpu<1#uaF80lL|A1- z=%1Be{jMo{Ym#)Y8lH4d)wmJj0a3iD!*PEEOK*1`4*L;!#DFr*e~~RHz*E=q1a*d5 zW$*`o41fAL^qY&pR5W#Nchp>%Wtm;xfLE=j4gUwh&f&05>htxB-b2Xx)7b+eecRTw z+z(pkptD^Z5^%V1yj4SD1UbY;iIV$qVI`%|b(b^;?P+RQnqQwt0E{!$Np&#rM<29z z36Y3LIwmcdOgYScnR^9|+Y)iZgJ8pSTO`m1_R@MLlW`_@$S12X<-O ztrQ@cZ9pf>9fo2Y$Oc_IRa*JkW+^c@UC+G8|NOsOInz@sd{u)>-ln-?xUb0pLXu>Y zN91jSdmpY1-Ly`x=%@RK_5y+IMdGjDel~CT3NAa|+Y>vI^>1(P)zqSkZ z;co(FOps9U{WRw80^$J@Y6jUx40#1-qTB)t$i15hnk0G5%CE1b$y{Q??YmqvB8&xAnWpWFSU7}}$t#71*ZsS??3l5OV$CK*vlgFL=u z%^*)Kw4?t(^w?NgKdjUQ7gCUywnOpYD~Vx|L+xZ^2WBko8iV~w!3F$^aK&7RmMk|7Vj1=iox*GY7?Ke_>l+VUIfDm>qxe3^v=O%k37ix77?-) zgl6SO*xR)O>{EIDG(TtWz9!R!VO_Lnf-3LWj9FmduOjGpw2>LVorDrh&rN%3LQz`uxdrjJ;=Cr8+m*_02%I>ZZF^ z*p3YhTh3vqXP1qx5&UUS4?Sh-P7L02L zVr9Oc@3l@Y6VdwyrYho@ytEyUe&&swp1SrEvWtNEys&o8@Z`iylJxiaGhnN$S99dQ zWT^fRJL;j8jXTF&b3vqA_w7)cD6xN$FV`dW^`AFCnuwjb6%@e(N}Bd2Gu6qQWilue z;#z9=$b005G4p zPMnCqK*_~jfw}xy&1L?5It}&t3XeuuvBPpB^{~Ds%a1YdyA81mvRd-}Cts+aod`W) zqZo;F)fDk8xjl{%#MCK>UT_Ie;Ihsv_OkW5ss-ole>c^StPh5fxqh*yF49T<5{~42 zy4o3$x5|3?Qx^eKs=j)8*0Mkb2fS}lz`ikx8SrrM2Ko zc5o%}O)(IP%=?tlM$KhT*5sK+;ih^I6*9#bRei$j`VF6avc+-RNFC&r#Xy9VNKIxK z*K__oNsa~!0BwN&XticO=kyIV^95)8C)6(>CF7T-Rho%t{`VlD_S|jhB^hwKQp9z> z-lkvlyw8&9bnpQ*cmFCZ*O=3A8XhC^=j&AnbxgD&nVxJy3n)KsjPjcE{A+l1uM1}o zBKNgYAsdK=SKkg-C{G5zOi_ead7fjbGRG)(Zu4~n2{?f?S<6bP<+meG3U;^xv`8c( z_QVx}=8nnR68ZEQBJ(Ug5u-$>G zCBS;>d!2+t<}h)A;cI*f8glw^_x?ZK>?F>pwo3s`jGnVvRtX7WU8=-+QUD`5cl-@_8L`zz8PdRT7Im5=3nYK11t|N6vp~-ONR(d7lGkKca>$ZEso zrIne5np~=aotc*#SQg_97CL;PSnqm%Nj~Hzwrn&qg*zEbl4)js6%GXoD+iz z4W+!I@Abi|EgdhblkbKvhtorMHaDEo#u=Q%HOz9#! z0V{TO9={?st*|y^+jdsdj*v`W=J`TrFRL^%+H&fDe3llb-57>YV&<$b@m$Fv%B+G| zXSb3EDPAaKL9X5rew3`vA}7SBU&$>AZir9bW+W&3oRK-j>WrJCur%`2+atDdtMgNKcF`#t{Ap!vD(;`Zjo)EC& z9^X3+x<6lhzcjm+7h}9mOC{d;F)ysqxSt!oRUkzZiFFB_AV+@fA_>ga;=RWAVt2~n{95z@o|5#5;oN6pXcmr)3u?Vy5&`4myIZH; zZFmlZOgNmWD%Osakgm9k!%Qdf%;f&_E*QM7Gy1PAni_I`9{x`q+3JDw+$(U`$)e~c zu*LMI(nHdW4_y5gJ4-zxl2uX5$r3RytM05Z%IjP(C=pX1oKN}tvSeE~b6A8a^SZ7R zzY+p3&ZH|La~QovkN)N>35Ss!3jEqDt#DfZnX#9zh=h#?*uw@by~UAAOt;#N_LkWI zf~qhSwHvOd8}79(4Ap{Nwh==x-z{>9PU~j>N{okWrHE~sEfQ_0BzXouf>csz`SPLw zt?5VM*MBwnt!aGr>4@4oKNuS4WajHj?Q*f68AO8g)~$oXLq$YTpcVF|*Vt%U5JXT+n;ufIDZc8d?5F zx&tt-xK{JeX5ayIrmYHWUt&HTei`RNi4m6J4G5CYOZOqQOk4hCRRuI67@dJ0+(WB< zoa|Ca1j6PCy-L=x(KqOhj~=U39FqQn+=|I5eb8eepp!`g_dX0vvv11$XUCERup%cy zzAAJV6SaH0Fch$s)s7%eVbqdL)nLIG2WNudvl2ZY<@Mf!4T1rC z8D^^5&CC)7n6M6zkYi7FZv{{N7KS4^?DrY`t`AcpJi);D(e``=50Weac2LC_n6=SU&`08 zwnnN@!Jl@_Wml#)(17z34peBT%a@RixxiA0UT^C@ru)16H8S zyNVGRYaA5U=+Mzc?3;laq^YpkL=x7RMO2$J-Y4E~8azu4e#wZDh)co&gl>EwX-{7d zak$n3F?%W@t4YK~ytfQeli}h`*7Rcs{jGk(3=;s5@>tjzmzXrEB}mKmPPlH5q2gMa zPYdmPdd$#)enx%q12{5w@5deTv9^WDTp)m~Q3o-}i#oD6Hb{dF#rFl0M^>vZ2HCpt zh*ab}mk$z?D(?$d5BpY;wO%2y-pZ5r{LO_hZ>hDm-EY~gj-r&DHC{3e2p33~G**=s z=}mX}cMrziGB)DadNvgRLlXWvW1H>-l}5Prut#K$3(^xbYQ8D{Ks8%F%!0mewPcg* zHik&TtBU2aiZXMbCf5H7a@~CTk!dJW4GrUa-h=E>V1@&087@JvzE8V1*4H~mXxKBh z>nBTVzVDeP^BM&yD5er-E zge$EzohvaK62oaN?i9QjZ;~yzZ<{6K#G~VacMvp2xue_+ZuRQbxA03;hsqv4*fX(d ztoQsrw+0fA0=;j357I#^@m^anRJLC9KXWs>JYs-SP%RV0 z0p&~Pbg5!_9mw0KlSOB$V{X!V>0RKTP|wp$?v>A2NpWWV+tqVJ>nS}B`Pn-QAi2>*cpI7Hll zd$$8S&Nk@`Qa!Ou;HN}JI7=Kob|4hY2`$8Ut+*Em(Lu$2K8&jsv0(^Y!9F;p4vSs_ z1)=i}4gG6wxGEpF{mq+^Lh32ghr}t`@6GspuXziMIl6PPrhsDe1dZZfrFaIILn5OPuwWKb%%?fY^DNuT{5 z7IFVfQ0Gy_j#rhzqSfn5$8nku`7-T-_^uXXd433ml7>TukFES!w=wH|b^EhH|EgB^ zF9ZWoJ`6Qeud@Lh0^it98D9PdB<-c>UY?!lfqdICD7BQOWVmkOK7Rdx{lD zFMkAm@&37TJn=1_Op<>rUvHn1Xw$;U0jH;`+x|Uw_S8R>_Yz1oo~hJU*J^yL1I)n9 zseX45iLX!pJ<+G=pCN^i4Ll zoEg%oPmWm2@GLEv1GzlJNJc76v>mdMBOYO*Lsl-*T|TP3-=`0ZtIYW=VRH8R_G`7t z0s_s>;P&N3v3#_O^0gi~2+!u0QsRjfn+d559#SGlglH~A3q^aD`S23hPQR}UlVdZg zl6238C9z%aR<8|4i=nzKuLGLm(VuNK96ce*$i=dw@FL(gP}akV9b9pFy;unZ9BpP? zhazCOp51!imsA4;t~e3~JpDmii7$hFZ|eZQkaYn!BxWQZa4ob3;AHu$geTcip_RGi`A&m#i60x9^K z`z4&%{3P%MHw3zbALC?gfFTeS_ZM+eeuA-3d`9zf^CSG}NatO21v<40$*2r-v!3m& zSV-+LFi+M8!m5BZ#V){C_v} zO^zqs4Q0f$dkweox`=V40?mB|=b$4VTm$&;RJcq7>su`l9=vTeX}_rUeef zQ@q-w^`US(N+Pr}krs#?|2g#T6XSJB$h;_zh(Q^S7Ts0Pg*QN z6TZSW{CGon?x8Z${98TBQ(yKh$HMJM@}xU%*J1hYpFEDiO_`ZTO1gy80|lUAV*omd zUqnQSnel6k;d-{C#Cv=COx6l@RiF6vH7raBOdM_@RuT+6U9mC02H(`4pT&wmIxaxr zo9aL5Nzjh_R-o~nm=YntS+h4xUy*(3l}17eL+2~w-TL3pL^{L=vW;v>(}!e%S@K^% zwK0(ST+ya$zF`Ezhq;aeIn}SIwhrc%Q=^r(K!uM4sR4Onv`@{(9fMF2p^7B=yCu3Z zal{h;(H_vFi*SOB3YZ7+pv&CpaFT0c!60$)+H#NvG3~EmdCtH~LTj2ViAw;i%uMmh z1x`cu@}s?H5_iPXL|P1`E^U_;CBLm?tkWh55QLYPBY=9A=y%oiEDiJ~wg z`DXS!lj#(DWt2Qh6*H!@1+(_cZ-9fL5VKtcAB&b7-LpSRW7>vTg>TP?&{N8^%)L{2 zSF3W)VhyLu-2n)g+Kr-p`1b)98A(yOj<)kcNvEr^c8QFwPTync`sS&g!O244<`M{# z!rSXG)1Q>b80N8qUSQ)==q@`LMt1O<3;twJ9!`c{?STC7{lby9Nyx^MioE=uUm3oX z51fJ?pHmH>K2J8y;izK!&L0BCOTV89$bX%UUr}8ws^ZcjVL(a@v#0mh=g4wTAo)Mo zP;tB#a3|DYiw*zw{}aXz&Z-Jnwx_}55v$#m5q8HkEP9|_( zX2GLBd_tg?&RitxS#TX5KZ#@+T7+Y*z!yKXE2-aNqOy9vV)f01qEgLXQKd$QVQ7^< zTaaKUD326fP@NzENmFGXmNdn%DSC7Ph4>Nlp9o79bLnBvHCv<-;->mTwWvoJ;|h1? zUe5GD_`q42jG0Yfdu14D3G!Rmu7G1O$f50g7|Hcpz1}&(CzZQw&dH1-V3uu)2y%Oek|$TXAauKGdAW6Z3gUHu73l33FP^c% zZc{)ak?2&er*cAam)N|U)49>0-oXQ@#3&yT3MHOMi`%3!KwY$h1tLsyhVkE#ni@o| zMm46O!1gq@J5IMGV%pK)6A?)S(2F(sK@M+!U$AydBRq%`YjV|t!c&MLT3Tc`%W9;hEWk7~-+Cc0s2YiLk>i6K6Kip@O3TD>9e&#`5caNs3`@AQDOTHC2|>zTNrui7B>_0za^hT)cmQ0(X1MLJTf%;zcmoXlW>1iZQ6#YG zDY9gNe099F=*RF1U~ErJmMHD4+gn5Gfae6$M?9lQ^DibtuFTha>LLXrWAQaTj@%iX z+12k%Uv%7|0yqK1lY$3CSaUpZuQPEffjt>-j9h}|8$KPS$^iLQ6O(>z>Du??DWY4-$J+bdqo&*TRV<0jr9)b_v8R5!k``C2b7K?5 zav#N}qin8$p5CSOo{O7@fYKr`D!DEe45rJvWA1w%my8x^tT&s$FT6Lbr)G+XYl`al zFD9PZK9PobK?bP2-6){tHr(hKxg+oAafwq?Y#nK?Eb9GE4)`%1Me)~57}IjTg)_;& zsw^aft%A6Ai9NZ8U+|K=C}7Re`@OJVh~y{&#v%wIk!YWjxJV?Ah7E$5$!KTFG#KeA z=**zRU$E*|{iXPX`MHRc+E<4={2_IBLuZ5@kDZ^UFK(>fL5E?e!c5(W6yW09v zTwPp*%9^UnnVC9E2b)1qt@kE`n?rWD@2cDzJYHg&RvBI0TMk9uLyvLdHkolPU|>oI z$w2743W>I^XG)kbbZbao4!9#@mHAk`+(rbnfG!&LoDBbtQWOE^)O1cy0|JAL&6`L= zh40Tw(A5hcT;F)N6aogag+8xhJX5OSl9)d%r)PB+QY*wnb`op9Yu~HJwt8CkHIQ1t zgno%u^NQsPrNRhjTDrpSqv(4Y$A37~L9TOtd0*X!y=}(|F8|w9_1EsSY!}(KIF&M~ zAv7XCh{6pQ!0&wvp!R>hgqLJ&CZ}AN!xsgTJ}xa?)Z`oNJ|A{? zI9u);80&9vY9+smufqIVHy*NIvfbMYWv7p+#3vFP2l{H$kFK{QTKgPpe|O$|^!%4y z*y6YQU+KJT%&#c7c_Xi{=UfB=Nxsj$#bdYh|2+`C1|G9EDBGd!uHP2cx!8q+Z-f#^ zNwI?uzjn+5O3Z8lN~!13O^D=N$kn-MxDY70H}9a^bgAF(orV4D^{BdgPHvUniD5fc zO{d;(e;}v+1T#YP>SEI@%tV#flrSKKN?pmr;iwoZrVL5v!K?M(>m4OvblCbVj{-Mz zKUtp5R4Ifi{5gxK0H9CG3{sEq*Z-ySDc%>Jj}+<$iwN<>O%f%49YhkcLU$Ra1CzEr znW-2sD2Go0Tk;e6%P*1PL*j_e>uM^_&fHJXH3ex0_}@T7V!qb1>*8Q*82v4)E2QjSEVI4ruagdN{wy8Z@7Q|N=A{MA zJ+;~L1gAskprZYmNKsZdI|RZzSNlKHbd8SAW?5CPzDfc1cm%0K)iH;?{kGleeqALE zmr&)y{e`sQcGniTYUQT-SnZI$`AzR0t{bvm`%XZ2mzG%vc}L(^N@xzr3jt3yN;nOa zwwrU^)53AZc1vLJk~ie7v!((gb~60qaC23=$M%EKza1l=PgM?dhQzIK;6omgInUoe zE$I6lbdYaczSZO=UYuz>PgEto#gY0|-mI+S!Eq=;dBYC#HF5S(i{GxQkIU*vUbF5rfXb}s-)pdg-)90;kOUWpmmR0H z0NHulBPCN%Z#1BUpaL!WI(i~o!00;VkG{m$tUG6RFyBOnC{hmQ$G%M!bv11tgiT}v zWv6xE=HgmIT=FwRcygkAQs{relnF;LcXoNC2&y&cNx zUsauYsoyrZC=t8&4zD3H=dPA|20d+XafKbMK(Y_JAQP4;o(@^Ibnep3I`)KmN<3l; z*YLyTMsXMgzVx5_fwVV&EQ9%Eej`{xPb}^c2~LM|RI)R?VBBVHX72hCV?p){H0Z=7*c4j4_g6PrI@Q+z^U=ahex@4h6qwf0v4o z?<$b{_}||0gAhCA@%^Pm{Uz!jPj`s&pRXOY!o;3!aBxqM-t5r*o!#tG1F_+#&YRDt6^MEWC0HOwCOwO#5TpF+XZh@>ww*+0_0sllbJ{DnB%+jy7I-J=m^YpeG41o! zOH7r*x1}8#T%5k0y{?ZwVT{ppySOG~!$}G$xT4pg|3jWWdI*P_UI&)`yDbv0b`g5r zGtahV-M#7AY>RB|`5sI`S;9`WWenv>bx`!Az z``$6yG_yvXB8Q*O~0Z_#pV^F#amDK+iAcbs1esZ0)Pi~LGdf3hX*$lEhQ zF7PyVAFi5aD0{%h#b5Csnt~r#?%sd{zeRY=Z!V^GTyt@3oMbGpSRZ#T6d%V z+4i~QhzSFI1iO{({hBbDyg`a&+iB=CHY*}y@&PJCVvf_zo85C@prNyjD735PF)-Um zv~OqAf!|5@{JgUq!J|K0WqwtiYB{Q9dbnrDA=9!ix;F_~7jw=xu(@uJWiODo(Ol0p z1;HmdJ9Zpl*-n1do&6G@s#3oRK`g0~-9oy)+|iSxyi7~xlFoGl(z8yw4BCn) ze*lYaSw{4SQ@bU{@wnuaoqc;(xfSpVGn00da>Um2q`g%Zto+Gj&~ZZ}@9y%VDG0GU z!8qJ~?fGo%2r+=a&k(;n9Zncm20Y;BdIU|wmn~8x3fN(!f6zz##I&W<=#UjA7@I~J z&!ldbnLtCT?;nS!ZbclFaLRqL+@87lrPw$lKhj0W;g zhG1KW`1@er%-dZ0Xd&8KwVxxTj=~ z`x|QVo5=#SE>}(UiS1j$lm)0K++TajQH7?)!aJyv_% zVjHKrl$+dJjPRXzR7Vf)5N-h2(Xd^}CsK3J|J&@*dkQlwZuxGiZ%MeS-ol5<8%?@X zBp!7=?dFz3H}1p{C~hz5#%au=@D_z4^yM_!NXY8h`fRMXjVKP0Q}mA)3lfb2xo@pA zZQSiK@Tl+(GGs(iVX0yNWyjVFm<@;hXN3}=+q%S_<#15rDtlq}l^6Xf%7(4y&9h!} zrnHrTAZEr^@x?R>pm&bUiOiq4dHRZD2K00-BV)HjG|u9j{USUx*F_J0yNRbr^v4Q_ zOTh>XenHiG|6Ql|B6-w7-q@y>28wt>h<79sMw8zuw`nAh6oscNYF-;A%~$T3S@{Mq9BBXKEE;NFkFN`M)5kG$nFuzJ719i@z}@F z)^#e{{q|O&s&%Y*Efmmc2`c|Ye1CBvaeJ&i`W!pPnOrmG-81GbELaDaK5SJha)IkPq83Biw zkT+UBE`I48j_%A(HV-&(K&!k>oZ|G^7N;F`yhbvx7drX&#-%I0UGS!9lY{eH9kdS2 zi@Z-+e*O8$KUGp`*2)D_DWf}(!u<-uG!d4rgdUsB{k=DK8b*&y0BLz5-ks369U94Iv<>bTV5GpvR{5IW8#V{ zRR>i(nxCFqrSYHV9bXIDqCSh65*ltHelRR;$|PI_>U$+yp5*fH;#aT`L@rL*08Y0y zfXF3(Xb7M(s(ThtoF&%ip|SObPoyO|Tb;n|-O{Zd%%Ico<4g8K4Yz(rL0~`Z+oiBr z*9`sG-`{Y@K<-bdixt;$O3NsjZ;TmnRG(E!tTm@N=x6-8=Vi|=O=SISj^1p)D#ayk zIo?ZpH*PL{tI4(8gZWvxckZ^7!TeLTv2JF)WO8)B&yC|%5s*&_TwW=V_g)S%--KrX zoPB~VM)vtFPmnzJL;(0tn+L8YVkw`x0Qw6bep+n|4$PHGwvComiIdk}wOQG(7JAZP zAk81B%Hex-Gjnp%5)v1ESFO8(SjW*2Nk&gu)4kx$`u%g4Gok5k@PI3MWE$>nt3$I+ z7hDYyBz2CKU$7N}Qq%0=|8%v~fC#J3yV0cS(%T%ZImskLlw?_id?uU@zJ$yLQPH^6j1FePf^?H>+IlE5SknW{nP)l?P$=SVQQ^433oC2j! zQ?H<>N+%kudjF#=!gHX5;02lVaeFu~>}exvvM{;6IYxM^vX6z6{_EZ?M35<3SZU5h)DE>#9rYKXo7KU_a+)W33Pk&WO&@tdC){hc!v zhv^X)skMzivJDR^m`&8|7~i!p%C`SmrursE7W=W)V$Zg!8T<=Hht7iz)g?dttMfKE zJ>;#w`JyI!1OT(Ae3E4JLl8_PPGtTpNublR@LhhZ2COHS`nG2a(iBK?B%5aMeytMq zf>&%!8yKw}6~7Gxq%uItiLZAqsG}m=fWm(WKRs27>lEtaCZnH%fbzSFXL}i&NDmA!I`=!-7Dy}!(og0_~fYi#*K z;CcqA;myue;NjJjdlbvx2T$Qv?Tykb4;v|Jyb=&MwqmWRw(hCGFuLExANHH|or@u|7(KF%o8bW6^Sf<#kjm5sQeL{dUX%um zwQD^qLd7WcjuMfRH~t)d4Ul=ecLT)(AB837W!32mRvAowlM{J?73cGh+Y zw4ANsi_E!a;fxGQR}CxskPgN)a)IzI9vKXp7?J%%1~h*0FWvmvkj zkansd$culp*k3k)+}=(8lxMAM0l3r+F6E*3;BS zyoM4S37b%os5~whtC$EC92uR z*BRCA|618tv?oGBkm*a@-OV(@^h}ulxH9W+$+-|AMQ?3fX>u2L8}9gg^Lh8c8312~ zDk_k8C-BhhvFH-=HcPo+Z0FBu+bZ-@9W6?8F=INYORwr+iZ_GFcFdk6J^U?dS|!u7(*h^)Ds8lyN@8d-ibMGZTMylAA6(r) zj+&S!B%PI1R-g6SQPGM>U8q;l7M-zPJ|_a~kHAWS5UDFM<%j`Z~ED{{L(>C9f#s-x`;dH_BJnsB@+tY>!9hLc>TAfTi~Y|=1@&9@o6F675(gs zp~ZcFRa;iU1aUNd|Lfok|LyK6at-PF_%qtDm~SRa+}8EoKaXCs<@i3c*V*2xFIm^W zS}`rzEt%&TB6{H*36Hj-agV@rD{^)8{5gN6^=~KFs`_W7MZl6g@9dJuv&X29(RZAy zUpcW=22Z`g&}Zu@h+RA+cS1qz*8y#eaIeU$7BX#vJj?6Bn|jg$k{+@@1v~-g$ns{E z=t7WI)9yc`T+zqfVh*fs`v;#XW<%z79h2}@Lg*A?1WU|Ubd^7CP^cVzzcOx*9+DF5@L?{m1~H~asxLSQCw59&ZQSBT!V7Z`;ylp zug(pd_zA5{AYjSI-FIf^Im3(i`U?!j!O=*j>1XYKyfN!*+rbv@DH~dM*Lyp;Jb1}o zuq@xw(gwY*$8-vxX|VhTmyK{i3g+O(Ld5em&3bdwC++z49t^`GB@T0F?iu64Q`sq1WhjQxe)4EIds|FVb_?XUX6|%q?tfxJ}A0T#CeF6tH zcI++ET zUGu9=JxT%wUI?5tP&S0Q=DBy74pv89OHb*Cb{p6PtfsUB^~=lWHR;s}v3p@PvkF>29*wGKwZo55Kv93x1+F7_S_nxd7jeX9r zof99>*Ivamg0BCb>wE1K9?@O?yb?2rmoN(Zwhfh8S6b8$WxhPM)l@|RQ~K#5>#R!3 z->lp(%Jkaq1{xz72e+(B9$BdjmFAappAlb*=yu=+@^529t1010hC6=`#$-^&gMgRP zUM)pl{by}kB$p83tyHGRaCbh#jWuNPL?_TJh<6F|;Oz74FISy_hFlRq+`&igR%p1U z_hZe^W#5L{r$SX9P2mflm6>onzIIpewUtnWk2Z0>n5n8}5(zD+**{{1*Fd{YbH7-SL&BE)=`L@IB1mRj~t0Y znB6tWuYV%;YG_En{P=vp+{ni6?-{9pk@osFzYXW_-z7_B3Cv4%$-CD-37sJq{$;mz z$~FGLRtvRSeN@a-MIp-V$W&dQ9M@m1%nWm6pWcy`M$*Oum8^-4;p#^Lj6J9h&OeW9 zlGCNAbo900uapA;z87v<6|LZWBahyjk|Cwt%fpwgc^R|-sRd?O?`tQ31Usv@$uqe} zl!u>R?zJ7=Z_1F9wc!^7$b0F292;=jQ7kT7Fh7hpA08=D7&k31Qn^3V{3gvo7gu)m zlFMoPUdL;v6tJ!GF4+7&;jBu(bvg1_o4^t26szVwJyghGx#*+l%-B{R*QWUzp6FP% zWWCPm{HSevv3&c~6t9K!;fIKjxIv^H=({52lS6XKno*pQDufqgBal~{vv?k|2aqfF zH5?sv`QU;&N|uIT#~KVOq>Ocde^ik!O=Ha^$Lbbs9O+%_(Yqp2=GQ|>y*JWLV<^1w z2Z5#Sma|Hs*;CBqsM&@HhBRv`o!41c?q?XuT=RC-VvF(ak#D!=+K$g@?3RcMQvF|hFYo6WyuY9l8H>C+K$ydGuXLn^c^IpC5{lPLQ!;~BL z@-lDQnqkwk6@R(Wye;OrOU@5czWJjt!WC#odaOxAFD^;>i>wg-CH@C-x%=Vp=iWJI zsN})JXc-31NJ%Ip(n96o(U#(<@t>i$k@s~!&NlQfo}s)V+RWTyV^Rte3ilu1sal8e z)o9ZG`h)|VVp5(YRWR&P+tMOAVi$Qyq10RGIN2AeOr zzRzSs;uKEQI7GeWeC-;A=p_YQF7vYQV-&-Il+{C(Na=(=;zfpcsB6|hIK_9PQMW5!>(}?WZmAtPbbs^U7LZT53-ON(m^u1^ z`2xl@a?B=Ig&o^6m)AgX-Go`h3FpS9Px*oTPT0gRLA9FoaRdeah1KZujInzu&V&JL zJ;i5wP?w9g))Lu-YnIWwsT1Pz5Z@}W_z#hw&W|RwlNlSX1=ZyZ<(of_mLkIEIN2dz z!;cBJod+taH8wYgL15x$%7qipVHj@kDrvy;Ga-%%=v}t>pu6v&l{QJV2Dn#=0~OPN zSjy=|!0MDZv@!&t6z9A^!)Vd&;zIIgtQ{Y@k^Oe;MQL8Bitol764^42u5jO-hz?oJ z@bH$6Oi0v|@QLMMX_t>)1UBWMR7Rfc!}z|BvNj?G?_457czzKj^ag&cRcXM)!uUTV zT2n2k1bt?Eu;*KZY%^*olHix(`!bQLYN^nv-S?(lEhV_QVk}*U!wO{o$_T`KW?8}_ zv&DxYS$=0w#xC5*aHgMZ#!k1U`P+ijC!uzrz9NxA2mK{ai!$oqAXOs^Zq& zMQvO9940kI$vx3Hk5a`0)HgzmBO==X9H=2lZ@O-pQHE)RgGTexfD(Rso$8CWV+D1_ zDd!9*y!gfY3`n8g5(uxKesg_HVV^I%Xnr0$jBvztXHi|-eUUFqN;p!@u0c(D$ECkV$5+&=*{TJlXhXR-rm zbE_X(nmJco<)t26p-;0wE3_R?tagFrqi0a*KS={6xiY~uIUPR_9 z>I0OOu)v(fHW+Cbn!2qUI}9F^eEijs>^?AIo8}g;+K3I(=F1Umb5R9j==#IgE&~5kLn`qvgaxY>hH%zatfuAtG zwKkhO``IUb;A`;ne@QxH z8zZ4cge7nuYbp-M2H z0q*!}RLY^07N{IW7|tF**M42@aB9^6A&%<6dme-1%S}#^gW-WP{Kcb*!`86&va@x5W|GrO4$&zW_QX>Rn3mRB`z@M6Ki ztcR67KZ{^>o^u=TJsvHoOQTk-a*=p!tCjsb$5rG8s)?Kn_3-9X#fl3@*<_5UiC~*O1V2pZz7S<+n|Kb0fna z*lN1Vv%J4qd{1M_nb1?(j^3zTrS=%Tw~O95jp~^rcw7H{=<4apLf*_-RnF|x{%!y6 zVdXiwQ+Fl%q$h$NguWT?3V2q^(Pk$fo@0G;c%u|{551)~-#Q&dz;*-tX&T7>EyyeOI*9zcE30l}MhJ{%)&rpbPWBV*Q4q6L ztY$#@t!ssCXm_EThZ2!>^q2So>CC>O&X&9EzCR=wLfn04dsi(a=iIEEqUIX+G2XIe z+vW0!7@>#ZZD_zQS&Z$PC!!HgbQqsB6%2rm^{9^(HmtjnF0ifg#Ph<>i&-=w?a9G8o3pAHT> z(~zMV_oc`VZMtUdzSTUEbsGt_GQ*?i|7Hz`wz>c2@H^z%=KbjPYj&9PTXnwzK6>A1 z?qzpJJaP2lK4n(V^O5maM$W{TFQ_u%kCmnhjbPj07G9OwyUoN*%ZQ^{@zfdvV0$$l zgQzq8L42t)Q?mTDqG)jE%gz;s$<;NO| zc@TDs?ALB*s|2$TeqiI=S&?=C7!dRlu0Jz^76spV)~*;8#DhBtArBnjw3DeEDzbXg zS(ayfI1R1zOKpwAt`wKKsUIyh(;jR!Sd8?X1s{B0{;eK?-%kZ6k=g>bfMBOt=Z=Sp zyTp;9b^FV#9j)*EAyfBNKM|ZAmeYQf0BhviH$-dc?Q0i4%Ho5CIW zZHBj^U@ZNFzY(%fpSJBLsX6!??&9~uvM={C{HE8St5e?!Pf>VP^8D+d(dLjAPO{>N zm6ur;Vb?+jzL`ggF|XMOu}_7;#e=)@98G9vft^vb^Sg`kc78#LmabyggoX6G2PN_5 z3o(x)<{lr2J#i~IOy0hgYlzjj4T`5ezZc<)=Kx$*9zRhO$G5m|<1boNPhL}l-WuE8 zUl&6`Lcv!LEf3P!?4Dck_+1YZAU&4eM{L7Pn|b5^L#YpE@^g)6`&=$jEXnTYA3P*D z$8#{}UONYMJtV^;pmW&}*AB-%0GHD=S3CRWgYPE~51g+V0ots-i{0BewePAyc4bw! zXjl`!pggp-Ws*px{7eru&@185ZKo4;uMixgQi(bm1}Pail6}CYIOFJNSfJI*3YM3q zH-zIspvBsJjD}cub&;=lK--;}1Dr%FIpEs&GtL7kG-wR*fB0%3R{ZtVX_QwGhqBpk zOyj4*cD5g*zOCi|+`*^B*G(g-{3r_e9wvGh)XX=xy~{T7=Na7Mv;2c?aEY=lZ?{f> zpC&R=4jtX=?3AsdMe0K>y=$SG4+g?ipT$#nbx;VG8xB;|w>WzssR>SU#5GQ~cyg6^ zixHU*#ymR2W(^R5${CD-?6(?ubMkIAG`wUF$Uy05lkW%OgY_MMG{)8l#^$~5SQ_X! z(is@OsyL~79dpcT1ZbB-G#(_?d0RwWdhj6|ZI{!*W1X^Pf;+Fc&%wp?%cuRa`s0PC zMrTFDAuG5`hATGXTqQx#0qA^qQjf|Q>W0Aaa%SZ#dwE0re6;u7wuM&PpDoLY#&@X} zQ>$Yb*BvoN%k6kc_W+x1JqiGff_e}H=`WZ2Tu}&aESmu2k8HEefg?96sX^Bhsz0H- zfXEX5jQu{Y-ps4v(Rog9b~UZ7XsB{3B7Ii2k^SM8tB!o2Vi-;zdoa#HYpl>69JE(& z_RSS}U2Wk8B?gwG8__;iVYoykSvMsFzBh2=Ql(R<0^h1N>awxm-|&LMv^WMJ=)a;p zJMLD+gvX8RckAp;IY|nZiy4S{2nE}o(z4QmKiRo33l=|DnavlcG?N!%L)JWXANZ*t z5X0I_<}BtTq+~<=Js?4C+?)bQ9AJVY?1^uO7H5zo0F~WnhqM50j)9)ZMnO{6u-9a& z0FO=+jXh>_!N=G1)I<{mSNciGC+LnKB}hAHV+ARI6D_gbQ=F{3-m>71Q@eqq@h+sT zob2*4v{7mx=eRn`3i)WW$Zd=(H99H<_nxL9jwMdqR!;!V>-yeNRhcScC!rhEA z11LLv6`n1~8b8+8fZbWTUt=+PRxM6_$ij5!mKGLIR}0o_dh~&ywq`am(XWo6fCq3h z_8s?|wFo{jla;Rm(;g%%qr9>`c2o$5AC7FdQo{z7Ub`h*Dx7tgk-7-DU;(a6` z=ssC8Opz=6E2t83si8xpt%okUSPK_#D(yb*y|4= zs_&ZS_BvVuJ49-x!_^2$=c z5W0~N&&0}{Db0w#6i`jEXJdtC*J?dR=C`TV`Yqu7RJRPHlfS~tqhh+No&(I{H_oki z8-iQ@l6fQE!H4=K+8%fU3MD54Nd5GND<9GefXL~KSX@B&KPz~gtG0=RxQu3AiRZ;}w zG({e?zHTY}r;1m|kOzxx#nL0w&NHJPP}GS zOs~+hZ&n>k0bk6iA6Y(H1cm5(v1b9A+0U|ZV+ucTzZmxKo7%o7jjzA6{@gZL@rd{* zr|n*M<%@?D;Co-!WlIvOjAE>EgGqtUXqL|+=_Ka(eCRKr>l2mdz1})X$biCVX;d67 zf_hn0nTOahxamJyBI?Mu`VgU@l!Lru@yuOjmv^t9jFmWKKcHi7ZdiU6wm`kAOvVp= zi=R)^o$8;CCH>%%NRwInkVe@oz(8}TMzm6yeqv>+DW>< zaz?*l(!-D!$DB(Euk{&`{9Hq=a|nbY|Dt^oSn&@w5>k-d7Z z>@sG@K2&xIP1Gnn|F!XZQE_Q7zmgPe;79(TwNY42nLp9O#(zsu))noK3c;tzY2k7< zsOv{^z9X)0bfKbi2c%{Jp0|BO_PrJ-k#ezL#Mx%Nm!>PQZchmz%%2pI=22qh9f*ZG z>+yuZ``2Q>&l}#vRk`9-c0}j?kU@tdWpg8=Wv(S!38Vm!KZJ<6gE2z-V!==b46r=@ zmj8e|kh3ExN*AFJQs(X6Uf1H#TT<6q)3NsItSe7;FJ>d#CHhe*M?xBYaiccm&42$> zY7OJs+;}QDg%F$fJGtsR3DqU8Wv8y2dpj>ZZ7k<8>^Az5ib$Hn)qON}9!1>8cyE(uXQFba4d>!w)8A_h)pBGL_2M!+9E)P!cMOnvx`u=BYpx?f&R3Cgi zTW+@@Fax;_vP@B|6ophV72ZB&*xeExRq)Ob3ZDx2aK^m{i1ob4lh_e#IR+tu06lY; zAI9$eg}=>cYN8 zgK8>G@G0d_+|SJ}>O3DWfF8PaR=DT+XY6z`QKgWmwH}V}M=1Iy`ja&bkE=24sv9+t zi}0KcGG8*H{WvQcwj^Hk`ZU>xFmTPXIK<5D(ZaOizJ9Tk}h zp>MgY>5pnw^`CtC*AB(42Uf1VvvA+C-ZljSj^_?wnCSDfQ+`m$<}4O6OGYaep?quX zD>3iqDOuxF=B*?-@@t~vIyqRhPn3#a91u+TqJRAAi-I37?Or#DA>WP@cN4YL(i{fa&`0K#?)k_k9Ad3rJ<03vS1j=x$nZ-sF z#F0#F$*IN-N$)6}gaA(4_{Z*}d^CT44+)BnWMF&I3%I^{Vc1g>3iS}(d@X{3y5mrz ztp>^d-+Yeab8WuKpgFrBj{tS8Bd#vWA4u;nO$H-tGV|IjjIfnVO%PJrg9tuaURn2w zMT>C8G2vjWZ^2EHqM+}-j(M^3@~PBziB8{>`PsRurJsh+!V2=&X&uT>#{_PT)v1#tE5wbUW6sZA30-ScjXM?t-O!<7{x@0oO^n1XFp zq1YR5BfwiVMmNSrAOx37ic$fwDfizs`w2{jebme%_NLnw7^BQD7m=o!xx1VXdvCLy z6Tm*cmj|Wc`&WAAK@1#j-tP0E)Dr>IZ+qr1I%SS?vGfFO%D=IJ0WDwb!f9M!Tb0hh zHBVDZ3GGk=^h>#WDbc3>XNNz8VZ*)&Hk-opA4c~%e~EQ})77+`TrAbHgUv}@>e!{| z(y{!}km}URYwWT5~C}b{(gC-EHY4uB)M)^EV+zy6r;ynbo94PGZCSxJSg9ba)9B@*6*^$A-h^mr)L(T>IVu@1d76v_FnT6c5%m zRwR;KMPzpT&E}o*d`!Kk-bG86LI9$3elCnWNFn5kbhp#@WN}aO7V6fZJSrq6sXv*^b%(-MK zds9g}U@}ltP+-c#%1Ootb;Vwl{wEYA@V37<50w}Hr313=OsP!8p$rd)_J8MzQY$69 z>rm_!Zq`~SVJ^*@?eTA(`B3aBLTlr}>cH((JxZl;RE*!ajqs>4z}yF}Y`!|x?T{NFH(lhkM4 zen@`Eu}o`&>C^W&Rns>2G)s8ob>jW$XiX>p2W|Fb7G<|Wb<;N~I&^NlNYgX=FhHlYmHKVTw|jHVQMhsc ziMeyrm{X?XuQd&}e@uXFY$=2z)^pNt@K6AD?AkNb9&g|h%IuMqr-k*-dU%_pXW;#)mvVAyxcd@t4Y`R5YLZ`y`$PMhAq zoOsyfL*M+jUD%b9=y0_3$d6rS=cmdiN*&oRGMj5ZvQBhl3{X0E6@)gd2w(J%{Rj%Q zGIZ|0U^wn0QP&+4>~GS2uD&)Q3|?9Sa(S3-`}FSV34Wa1B&Zz|e7GunfsZQ4YRV0E zl;+QY^!&nZU6-OYc~w0W%n`y`_G0{#?N88WYVi-B*=cSwax{BWnjxCnhmEX>81Bi_+?(A?T2h?&N z9Bl?ya7>~t(SZWzX)NPsy0)-^DkgwP(bifBNCeSdX8aafn0Q0%j7W1N3f?YgV{{Fd z%_;cgFJS5ubIRwh=LeAQfl7)EZ>4R38Mn56wHH3|?|0gN#s%KSTgiVeOr|s|031wo zbd%L{-Y2rGD5&*}-FkgKnEPJ5SiWhKIGGv4Fc0B%o2LT)HtVjN&xaPtKe6knLOuso zzV>K`+Q<=GP=VE%f1H8RV($!;9N<1{(W_v^onjg_+T7vuq^sF zg*l%otcRRF&$X&o-yPTUK*P)&cUg*vn`ghq3C!KETOt2lh zNZ(|3p(%JGUkK4JB~k6SrmOzrU~Fjdrexs|yf);QL{^#E?leWfV!@f>mH?XOHgwmL z1rKoeheF9>NxO^~XP%R!+cc0a)nY*cwTo3e2TG<# zB>w5yXI=#ME>{rAE@%v*r*EA4!;}JWQF>|zq2(fG1c1IpKFg$^Y3C*aO$v^p1zivK z?#zj}h|z3uHY6XMWD-Vwf=M^R2fwkOU+pjgAx&#cnxXsKqrv8e^S7vbqsr_xC=f11 z_qtq9uU<*uLbHcfr4ND*)&Aw2T`04arP&Ic$c=vEVGqz%Cvf{EmJ*buY=@H?n9OF< zKOE#~$gj!1XKwoAX1^!NG~a)oRV9=mmvS2Ps_R|hzf2vIkW)K{gRejCy>77g4f@B4 zq@wj`I5K%TOtg^|ymwL+)z$OX=08cR1GH*Z$PIdR$#>=2#7B_=81<&v4B+k#MamAK z(%D1Gi35e`EH6Te->HV`$OLw6)OqW^r@TlBayOoQ1b(k3dQaazd*H3X?f-=0AAiaG z_l!DjD^gWU%u}`T-uRzS#k2GIg<|#E+y^=vuXEGy+Nk;;bBy-2(L#{-j1{5X3kRl^ z)-EZ3*fUwaQvim%M5wiASC;PcS#_-toZXegJ53hS6y~n`f|Sjl9(QNvSDdQL@YZIE zXI{Zf4ZmAioNi8B(2NxUzddCt3I1j-F!^mHwMQl1>fCy1Za%3V3$Dwr9Xx!eN9sbe$~t z{lDD_^Dv~oKa#VLZouHMk=fFA|Om=6Lk8l z^V|dMl^C+0wG*m?#8sVjL0!346yTi6edA5*T~{PFlL#S_?C8e%Q&+Gb@p+HeQbx)R z4Ah8epy6Ae&tf=j3Nt>GJ-Liv%tKOU%+7xt#d-nsNe#ch8+&;MTIO~jv( z#n!T}NmhOoWE+fU?<>@BwfpWo}WPA`1^gFyN)lpUSvg- zjV`UG^IU9+wu)&HJX!tTPWK)m*e~`rZ`qhgF-RBpg99)o0RkBT3mj5W6VwO!HGWg? zxpc=RgjCFaxb)1%%rgzpQLQlqvTf#$<3LM#^1~97fsmD(V_IRV68PqEI};#4ZK)3O zXR8Q(MU0e=B`$!UaQS8Z79q4Db+$w%!{3hfoV_~vjmwDL#4Ou^(08g$ zdhaS7xgTp-=lD$*rJaAdp+>$g0jTt-ht}ErNdHV)Pc*fPd+g*J@bYwx_89~1)7bDP zl6JXJCoO@zyQ7w!tLbh7{fX(ph8-sfeAS8wdqQx8@Z?HOJ=H^BR^+)!ULTj1P~AO5 zC?N5a#HU?)sga{n7Nn>q{OausPsJ%*V-~QzMK>b|a941~<+;Mh8~10OF5rO-<8jGc z;itkcrBIFN>)3GIA)HpOzgCGE;I&QRF{jdcNhJ|3nPHRATk-ZGQ$o>ylW}wk_J)E) zKWY;0g_Jr#CZ05ENQ|Cz+P+}rRQeI`bGoy-;qcgT%GQ5v-||IfHN$z*Vo=*g__6|F z_D>07aTvg+Ry%a?ym~4H^5TScVwBY`y?4nI&FzfI2S3redl}L>)(m7Fy)tcqoD6q5 zwhANOei6T>(PR1N3i^`yDfg2IxQ5Jmn$Yp9RTt2x>HcFr2)IZq- z)42MV=^|f@Q|zqF0`(xj%4@1qEgGbfbuO|HsGqdf)eU2eBG9&eKjXF2rQJontvmbl zf{{7WAZ9xJ_2_G&86t@0r&*diRz>kz*yrrohv}Lq+qQ#=7yh2hSLF*UAq3|+2s&O> zR^4OGIkl7xssjVR-Q&cOFUVk6g@#%GzFNQ7p*W_LTift!gOG{#0uRtN@ioC~VgMcp znh#F(JML^QnDo#GlgNSW-9&<%pUwewg4-Qme!Nm#4f$blQ`Ip4QZfLT!mo5mX4T+J z93w;#U#^Tzv02p@SB?`iM3?L#>k?qkeU+y(a!B@kH39(p>jIAuD7$a`;%s=uYL{W{ zn{FOd5m4yn?t#ifOs}_8QQou{k>aRGxQ{wV`H=T?z)vLi-Zx?im{ox%M1^7Z?Tg6gq%e@q(BH#< z@=gDheIh3YGNdJxUvn?#b-(2ajrAY#~sW+K%D3tb7*%W9fkT| zi0&|rs;-3veT~r%bkFS$WMCn?-orJ`qw`0X`mCwQ@|$?a_^Tfzk^I2_GY28Re)$y< z`HHUE7xP#U6^0a{pvk4EI%W0EU?zN#=>w0j<{&sv?RpXmiUOF{dt#(>*pE`n>=NNJ z7dv>cNa+l-O65L78~lnGp)p|eY?PnF7&NS!=VxtScv_}LLYsbp#+z<-jXZj^{(AhS zj;RCgwgqa78aARKCUZG+uU%@ue+hREh0>pN(pIy%S>-CoOWA2Dt(O1UMM|B|rDUqR zEc}Qk(UV;3-_h$KA-r8~G8a3&S%aaKJ2&^QI5qi-g6-d}Y5)JiHqxQkT)Dmz)q1Ui zGzK}5cmo(XkGX6Wr_Q#F8z!o3dCP*te#Ob?WQ1COd!4L=K!zp~s!WT|;D`CEL^IyG zL5=8_R$+Lap#6N+FxK}m@O!q@N~EyjxW~6g4Jf%i1YSay&h9+w{hgniP|qwW)JW%; zcxPA@#uHqdzJ>TKnwQ^M%GGLdb4?O#cH^LU5hgP%k+fK$ngVb|MnLG|&5ql5Ps}1g z;X`1d$|;4zQd%MVY`QvTOJ*bb7i6lGsX%rAV1=l{yxi5H)otFu9|SPb$BH(<6Hm0< zd<_a|=h3E&UmumZ*Yd(x3v;=+N%PN13QoY$=SseNtqSKeJaR-Uu5L|ykA2dV>LTnS z(sv_Q6lvGu!~rKhzNT@=SD3brXg2Nvm0_W|JkF(He}{==z!~3Z*)#icQyL-%AC2FP=N-PnX#H(bua7L8wrVpx96H zKs&?s(mbfXI!&A<4Qp`4dTo6Ziukr#q{Bul+VkzqZ~H(Xj|iHxzSmJ+m3Mw^%6@H4 z@OGm{Ymh{bab^pA1fLB%%k%se|v0!G00lELMI^Ek79k!j&+%BHuk z`KQT*{oik^Ej&`&f2Srp@ZKiH;^~J>7%M9P`e~Dmk6gGBZqZg${3Z#;0a^DEXIL~M zn()ppUM5MW4X67Rly>0I)`Pu6LlH}<^is(|%4HsLd-MJb35vT82&0W9qn}f~?!$!a zZ$+=qbtwRN41f^EH{umj!9oBaQyo0;D_!yD18aUFMNOm}7=-)D;F(kBc+8Dt*~#vumT zY;bY?_rA~ohVXl7{#(SA>?$jb2KPx#CLUYGp)Jv8Qd8~>i)ug!oWr(Be9Y{?ZZZ07 zf5-H4A>uvi!Rh@MKqs!p@q@2~Bhq^zt|u=APla9O%$r6m{gQ_f%P8Ag<){dtj-3(_ z!x!9|zz6cb=T3#Z5b1P5Won*sHG#0ky9o|6Q;+grdHP0tap7~b6tg6QekAqd&5syl zSw>)f2QhJw9}=B5{zr||M*fiY-!GB#0>zQjISa(2RA-kA>nAHc}c{|x3 z{D5hM<;2k`AlJ_;HeA(R^h}V=!LWm^#$lGVDziFT3>^(TRKWSZ2 zy%Y3%bNr5u;rI$dlV{r%nR1bV&k-wGB&GoO!djN}F`j^66sD#5Aim$N6FI}hF; z9B@OUjh6gPEb>;}e1lB6&N>6#?*J0%vQskfn*?74q1y9+5x4dcrqxjvL z3tH4Jw)9}>Vht}kkdxPqn4KQ&XvWBl{3ePAP?*sc5bJgyRd{K|C_b3n9&`Qm8iZGB z!atFc`t;S=!A-k(@H>Cht?;aVe@nvIDdr_Bcgnvfr>je(yP$_{H&>(IrBc_wi>r#m zg}Nie9|`QZ6Q8I;}JN%@TC9i2{Cx zB>=Fnn%q^A4@YwILD$M->_;+!<~H97fc0`Zm5*#wNhcek66-o(RdtxQx__PT`r zw4c|kx>?DZcKUV&x>10CE+(aUXrUJgn&MP<&;s6cpMz){*?vE?9URIfq{tL5DkL3C#WF)+(!MNW|MTr<>c%U8i>PW2cF`F8zx4L>J{~OM28T{>0dtHy*;tQ z-fwEL=)6E^LibLTP}rG#gt2O%L`{x@6T)pZxE&ye4DpT?T_mA6A{>m|hpwIZdnff} z_+KODL07Foy!sP1^-$aE-{153k+I3Ep((_P-DS*@JRhwQS6A7G(Ji=|91+p?Oh9Uw zg`*`eZN`~RCC=Q1fZp3o&xXLTSnuz77*i`y0o3`ttBjNv&*lbo;ET*IEYk|KP})27 z=D2b>;qncGsuff)Ar;srWvaW;_?FLCpp}`QSeOa_%?Gbh^~N6oeyAu6cV;@|K@p?oYLB*ySP!|McHOWQrAP7h`rySK zK|(V&rL!lt?3zD8?oO!jqKJ;9cU3k1h_Fwjo@XQiXo&#p;l^eJlhLC3rI2=PW+ z>M?J5d2l(THX1+#QRF}C!d*E=4|h%V0=8Qd(*$nTfu=4ThYp?aZGevn2(Jg>9^UT^ z$1*GF*rwioMBVAeQE`%R&Di|xgnoxDrZ;WO?j1r_y7 zS#Tl2;f9ZVlyv5?>~}RwgyH}ian!ga?^`Q`2d7LZs`LC(GF&9e2COXW6W{)rdzUVT zc`i;LpxSQ$FP}W}szT`8q1OX6CSab4lFXY9px%q;`^BT{kKt>5>s-EY`7)7U%WakG zmP)D1BHh6tA?uj1x_7V3woQ?ahjFc+gBN?LBi*s&bzY*QtqB#>M@!o?_~-jqoc(UU z4lex8_IS{$r7GnQ%bc`$VqSxk1+x3cQ#Zs$QHwx7U1D(^` zt~;5)bwE_8lU>IG#+k*g8%LR0nh5~m5&bM{^%h3Qdux_ovdPl#DKI^3K9CXmyydxz z>2ERPgV;opgy;9(l5#}YDI1n^sU5A-1jLi2Ga4^Mk@1Jl>O{h|8QCc;=<65f7Poo&CLlEGBkEnJYRi(vPTyjNH?8C9SLqd-s>yDe)iHZX+yC0{o_faRv6z7$q$z_wJV!KA&UrTfH0p(Mm$s(RC4`rh;vVCTYOJthIZ3U=a*E5P?K z{E$x#8P)<`g}+J4XkIb_Q=kS{n$+`k*SQoka;roXy}l0f_ho+0e@zn<(p0RK8-4p) zKhWky*tgTiutmAJYeQLcdNUg#kgH}})+e_}+y&%N572{jk~nAs_&v~!a4LXOjJRxl zfL|EAYPC^Z#L9f*-n<-@pZ|ARL2>$HWs@ToM1fL}^(c53YWm!>w}k2BhUkCuHOfRF}$&dafMuGtu3|bQz0rCw#Y1qcsZ0b4_e;l`VHp-6JLywg#phEYdEZB`806FOgd- z9j@=8`vKr5<*d|`UGq|BB8B^uu!&o}dca$QE3S)`=i}BCaJR3U*eC04S9_Y|Kq}}; z6O_+cmthj?{q>?F(BsPbvxG)~Z|BZA?R2wxZo4+S+Ym|-&a>(&3YR7QMc+`;K!F-} zzhk-z!I2*_0UsxDy*MM{~aFD$@eT(Fu zJ=2e&<}0(xdzB~_X0p>vL#`(In{!hvG9fJYCc@8g>=WLC4e5DhPb|@?*e&pp<*jA) z_ZG2xXU3RBLnvdNr+C_lfGI`3#z&~>N&rOp*??Ai7n#aHQvXHYe%rHZ1n&(f1aqSg z5T>de0l>#WZYb$Lw==`H94f}Z$E6IuP<`f^3C?^dY8D1e|MdP=Z2KU>x-DL0E6K+K z9y@^8)bEQDuIF=(kfT7o^o*v$+{=>~OY$8GAu}^hDXzq14c<~3T_SWPcm}4{UURFh zeU-~Vo2Ee?xIDT)oW2)an=L3N>}x$y)@YNm@5KpU&k>vs^I*)SAM5?bdW%VqUEAVI zr&;Km$4U_F)?*ZRkT5p;KyecU z??&p;>rvFjEmsUzTX+=D;u0U*n%sY?UCRtUC%m-WKN?zvAwD%dz73&v{hDCMG_&;6 zO+(S2g0xcP;j#&{e1*eHuj#=##6J;`;0+8INw3Ynd!6;8? zcRd;7gNb9?L`^6!ZGS0j99b)P_ns*D=~=}IS*PZu{$`r3OF0?IUV(pN8gAn+hNian zxa$qZ42%#0Zi8d6ij{uhcq*Lnr@B|N!~h@YllSVM+XuRO1Y1>~4~^au%sIABy<3?~ zmS%TeE^W10JVH%RU!qNb7?!_*QtVKdHGrdrN&qCi;_W0m&@RJ+`^UB$Aw&pXr5J#JQ4{Qp}rGXf@A+moAF_U7`|hL$ccamDP)MX|%l2ZHu} zaiZ!H4iVO#t%JgUUZZ(gh~LRL2+kUgeVxb0Kk&t zl?{1F5T=;oZ=ahi;2B)0gjSiU4YWCi=%@;8KRO@gHqb1O{t6nOL+o}!LSWb{hEq_P zIot9~(7#`Lx0&UxYB5+k%xo$9ceC$Bjxl(9CpL<;xVH!h!6IFdmBzXOuC5Z)m7UrOnoGP5sAhAp%%lM z2SA{XhbWMbs^*Q2hP47&W&Mq|yxOe1Tpit0&6A<{!cdKPC(7d6wG$b+Nt zk>lP|sexM4r2j-ajz`70DkBOQ1J1qVQV*>88VfaApFMj)DH4OOZlB!fAvGPC9D7elhkq||_{#g1bCPH=rJ<-vx$*1}%aYuMm_ug{u4zd8n3 zf9eC`t%^k0e_RB9nhzJ!@@UjpF28dtknNQ8O75b7ahZIX%Mv$4hYA?^>tOpm&#KYV z#ub|vd}&R{h35!Q-(T)CXlV8(-FU$Ap;|MXZ~VW%Y}(`1Lo5m0f2%uh0+J+0M?&%g zw*R&f!%p|6nH5k!m%2l*)yaWMX{W>KU|iA?yXMb3^q9(>kqg2QPskBCjW(4V5LJe< za&K@$;Y%<7f_fTqY1uT1!dru7msHvzC+rIfI|Jj>HkLRC8oC?A<};I$Gla=>$cr!C zHr{~k4WSSWqekKv3&@;5EjLF$wm;^K%$zGbo?LHWAGGSn-ljc)I+!mZ>6O(w!=hIeeX6_S#VCD0o2*6nFdK-p|cGwU2@`mM+dqA2@q(Jh9hyk_#^`;@sCW0BS&#|G1LvBFw*_FDT9djLEF~qq0MSjX6(#^De zUe?o(>7_NHcfC47M@>`1^GR{PMNG-x|E6mul+1jUB(R?>H@n{4Fwo?G#oPT>6mv3$ z0i2g@!2*5}ics|VRWukm?ny&|8Wv`gli2Sv^CdIAQ>*+~&?d8QCZo(hO@;0~y>o|s zBy7~)sst=1O*Pg>a;#9B_1`*b0yA}?0YdfY&SB)9$Q!Vb#5JosSZJ(UbJA2~75i6n z^yvm%4Rq==yKAMqIW9YYWF|8aR5PgR_Hz$>B{susgv%~c&%9%E zV!>i=rP-nOjm5UxUF?;j&~kLl_NYi${RZ_Rj0kdBKvwH?$#n#np6p95%dO%h+@b0K z?cS&~q6XKO>zX|u5O-Dr{BN{Q0kj{78$MFNehu<)VIB(6V6Lkax=lp&bzCx%mX%DO z5O8NWED5_aDgTXqb^M(UX&E`kVA>V^7zjboc+#@{BkW`hc1f#n7EG-DvSyoIIirZo zjI?5%o@KHx%3{JsVMgb z(9ma2763J0Q{()>a{Rzg-woFML69zGw{M-hM(Hv4x~MWz z35U-402Kz?gp18->hyl#LYk9{CDWV$ll!5GH+dZg5i$4So*z1efBg3WOuHqrm7=V6 z#e7@%r28>j+)7m7*+5tKokNebCdpCDEMc0n!K!*h14C1qGbOlfPC4mBu+Q3xdfvZl zTa=nw15TkaSeJDEOE!WEg>zrL1@aLB8-uB?KZArgTeO3IV+*Yk`lbiG`-lddDj+^y zq_A$-m+a}bUnX*jSAnL4J?=vWD3r$EzJNe$4ebS91_MPP&sFb)6I0ASTGvm}Iy|0z z`F4=y_0XQKq9Q8q!_CWSkUh?iOcja4TQx1gy>WS=yBAqPBYB@ifXD}QyD-4?$!n|e zerGbFD2J4ArLf@NwRghq6TCyWMf2fz6@UL7qS1vfUH9!j$II>P2RSI9`ix5n=!;v@ zO2&ZnhTKn?bAKASmLz#TMT%#^vuXMi5>=_D8q6WSmLEoG+Lm(JX%m&m&^VdA483Z| ze`NHP#BXJm5cAXy?`)6+OFI>qs`Yf&aq16CnIbpTZ?>)dIgMWl*b~1u-4sIDVn<(t zuFJ_RYc{vsLCzAMA`k(${NcR$CyjCK%;7^^VbBJrIW4;Ix<>1P5~S;Lbve!PqpM(i zYhF~6p7%IRfmT;TttwkzkSmw-eC*s) z7omG|?=ZLw$fdtuAnliC*k(~@5naqQX1-Zd80K^0L=Uwd zU(?o0JdAhyea+D&A_`C^yj4-5Hxv;~7_&_R>hojNM0l(r($uVQc0R@97=+j z#We9QZ@!zbEhe!)=ac@rEPN@ve3xqW;+I<=1)LvvXJ1x@?-bXI2%$dQ-PuA!3jpy( z@EA(KDECiq8RPif0&VNM-5qgmSWp_Gr8F5g{qySi3n2QvIEVm78RI${mk%Jq*i8=OtNIC%q-vf;!W-XD`_ck`%DJc>MXuP0ts>*wve? zn<>gdUS9DJ;qW~c1Q~>!cQ;zN?6~hYp$U zSo-aiT>z019+AiHe;W<0?C5l@x{+=^Ke-D>-u%WM7`H2NIoMiVht>s>WBiW$D*Eeo9oys1Gacz)RaN8Wkh7T+4cNZyXl{>m%&!CcCO5d!{yCU14s!U-oD zl=dJnm%kN~JZLv5E-z!jwv=7r9q&|A)<8K|M_GS&->vSw>>{R4=eS$nS4CFF7v3m5 z^~QPHqM%>b8iJ|a;QZO~^kCg@C+VvKxix&|{s>;sHDrJ66=~>%Iu^~LFe7!RXSw3d zsi^IN=_e)|3rreCGkVs&sXqzB*Y0bp z0^hah>y3dCt#S<%mjIaL_-Pc%sC%g^#A9XF2zWtN{!9zr643=BB#totg^PW2UB68g z(-atw(B_A$U!pki;o&tv8D?a%62U0H>wcLlP&=D-rdGRWzKk$)jxhr9Zo2yab zVzM@5=d<0k(EQukCL4AI{7YlznJwDSEfZx$01v4CJ$ytP~jEnN@ z9)_as;O6q0ut#*|DhFMBJNRW>4u%=1xX@>;bZ)V7u{XoRfZr_E*G@a=eMHQJfc}(e zJ9!yzaUnyY^Px_K${ljwP_0@M%_#WwA4nb(vSbSQDA+$O-EWLY@V*@r3?l8MqZxI= zH^SQtKEsk=12WqYYZ1k}(Q~@?MmyXWO}ZMysHtX5)%$IOOTB`6be)QvY)Q^`$Ev#s zUV~i@rezM~SOab2)SsV|i(STrM`N30mVc4cAmJ?_#R1|qEM#ZJPA_!2CU312{^Sk7^J1nBW3X5fco5a%mg42TJ}&;4{kn zCu=?cbC(}Q{Ab{D%~OPI$d~BiDQFoAWkhm{y0e{+yqb1LiYm(H7a4;LZuN9C?Vb}vkb0Mgi5wAqY7U2i2EU$FN<(m13m$MgzgfjJ&Er=u zz8|AyB{=*y6Jq8ih6?oFKBwuQ`0Q>na^x5EO#*&`vk9J4LTeJ>V{!=75HH*XLr9Py z@^5QGKip$1>9Oy3O0l|5VP}2!3b0-``zMG`MEk0~+LaYknC4ohgS9!x_LZ}+ekf+` zcIQgx`7?czd-Jy2C-`YSCgg6H%h|8Tnfxu)#i6rr4d*L6q900Scd!gC;my8jwhaTqGX7p?cYNfNM_L>;SueLmz-L-J$b@m^g;_$lK1mAcz z`pvQml8pW?fWl9Dp1m;5HN_#Knen=0+s|nXD{&=}Ol$aN9fM~KsYLz|4y3j&rK)+K ze&X$8JnaxqWtrl@^0g?Myw>cxkFLx53~{)aGpB$2x6=r~WZ>tN2bUVr(e!U#xi23= z7x32C>gH{@M|`yDiU&$zs2hZgKgbS7JmD++5R5DS>cX%>`<}V++1MM^4;~v_F)+Q1r7l-YVoTS3;+NC07*qoM6N<$f^6|6#sB~S literal 0 HcmV?d00001 diff --git a/Server/Constants.cs b/Server/Constants.cs index a920deb..9323b20 100644 --- a/Server/Constants.cs +++ b/Server/Constants.cs @@ -103,10 +103,10 @@ public enum EventTypes /// /// 事件类 /// -/// 名称 +/// 名称 /// 描述 /// 是否唯一 -public record Event(string Key, string? Description = null, bool Unique = false) : NamedItem(Key, Description) +public record Event(string Name, string? Description = null, bool Unique = false) : NamedItem(Name, Description) { /// /// 是否唯一 @@ -118,14 +118,14 @@ public record Event(string Key, string? Description = null, bool Unique = false) /// /// 命名对象类 /// -/// 名称 +/// 名称 /// 描述 -public record NamedItem(string Key, string? Description = null) +public record NamedItem(string Name, string? Description = null) { /// /// 名称 /// - public string Key { get; init; } = Key; + public string Name { get; init; } = Name; /// /// 描述 diff --git a/Server/Controller/ApiController.cs b/Server/Controller/ApiController.cs index e05a82a..aa16506 100644 --- a/Server/Controller/ApiController.cs +++ b/Server/Controller/ApiController.cs @@ -52,6 +52,7 @@ public partial class ApiController : BaseController { return Ok(new DefinitionResult { + ApiVersion = Program.Version, Categories = Constants.Categories, Events = Constants.Events, }); diff --git a/Server/Controller/ApiController.structs.cs b/Server/Controller/ApiController.structs.cs index c6f8711..8e8b44c 100644 --- a/Server/Controller/ApiController.structs.cs +++ b/Server/Controller/ApiController.structs.cs @@ -5,6 +5,11 @@ /// public record DefinitionResult { + /// + /// API 版本号 + /// + public required string ApiVersion { get; init; } + /// /// 花草分类 /// diff --git a/Server/Controller/BaseController.cs b/Server/Controller/BaseController.cs index 742b99e..fb6cdf0 100644 --- a/Server/Controller/BaseController.cs +++ b/Server/Controller/BaseController.cs @@ -218,6 +218,7 @@ public abstract partial class BaseController : ControllerBase using var ms = new MemoryStream(); ms.Write(headers, 0, count); +#if __OLD_READER__ // reading const int size = 16384; var buffer = new byte[size]; @@ -225,17 +226,24 @@ public abstract partial class BaseController : ControllerBase { ms.Write(buffer, 0, count); } +#else + stream.CopyTo(ms); +#endif var data = ms.ToArray(); var name = file.FileName; var ext = Path.GetExtension(name); var path = $"{WebUtility.UrlEncode(Path.GetFileNameWithoutExtension(name))}_{DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()}{ext}"; + var image = SkiaSharp.SKImage.FromEncodedData(data); + return new FileResult { Filename = name, FileType = ext, Path = path, - Content = data + Content = data, + Width = image.Width, + Height = image.Height }; } } @@ -364,30 +372,20 @@ public record FileResult /// /// 储存路径 /// - public required string Path { get; set; } + public required string Path { get; init; } /// /// 文件内容 /// - [Required] public required byte[] Content { get; init; } + + /// + /// 照片宽度 + /// + public required int Width { get; init; } + + /// + /// 照片高度 + /// + public required int Height { get; init; } } - - -/// -/// 照片参数 -/// -public record PhotoParameter -{ - /// - /// 花草 id - /// - [Required] - public int Id { get; set; } - - /// - /// 封面照片 - /// - [Required] - public required IFormFile Photo { get; set; } -} \ No newline at end of file diff --git a/Server/Controller/BaseController.sqlite.cs b/Server/Controller/BaseController.sqlite.cs index a200d18..fe9bb7c 100644 --- a/Server/Controller/BaseController.sqlite.cs +++ b/Server/Controller/BaseController.sqlite.cs @@ -88,6 +88,6 @@ partial class BaseController /// protected int AddPhotoItem(PhotoItem item) { - return database.Database.ExecuteSql($"INSERT INTO \"photos\"(\"fid\",\"rid\",\"filetype\",\"filename\",\"path\",\"dateupload\") VALUES({item.FlowerId},{item.RecordId},{item.FileType},{item.FileName},{item.Path},{item.DateUploadUnixTime})"); + return database.Database.ExecuteSql($"INSERT INTO \"photos\"(\"fid\",\"uid\",\"rid\",\"filetype\",\"filename\",\"path\",\"dateupload\",\"width\",\"height\") VALUES({item.FlowerId},{item.OwnerId},{item.RecordId},{item.FileType},{item.FileName},{item.Path},{item.DateUploadUnixTime},{item.Width},{item.Height})"); } } diff --git a/Server/Controller/EventApiController.cs b/Server/Controller/EventApiController.cs index 2330794..07c7411 100644 --- a/Server/Controller/EventApiController.cs +++ b/Server/Controller/EventApiController.cs @@ -279,7 +279,9 @@ public class EventApiController : BaseController FileType = file.FileType, FileName = file.Filename, Path = file.Path, - DateUploadUnixTime = now + DateUploadUnixTime = now, + Width = file.Width, + Height = file.Height }; AddPhotoItem(p); @@ -402,7 +404,9 @@ public class EventApiController : BaseController FileType = file.FileType, FileName = file.Filename, Path = file.Path, - DateUploadUnixTime = now + DateUploadUnixTime = now, + Width = file.Width, + Height = file.Height }; AddPhotoItem(cover); @@ -498,7 +502,9 @@ public class EventApiController : BaseController FileType = file.FileType, FileName = file.Filename, Path = file.Path, - DateUploadUnixTime = user.ActiveDateUnixTime ?? DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() + DateUploadUnixTime = user.ActiveDateUnixTime ?? DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(), + Width = file.Width, + Height = file.Height }; AddPhotoItem(p); @@ -594,7 +600,9 @@ public class EventApiController : BaseController FileType = file.FileType, FileName = file.Filename, Path = file.Path, - DateUploadUnixTime = user.ActiveDateUnixTime ?? DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() + DateUploadUnixTime = user.ActiveDateUnixTime ?? DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(), + Width = file.Width, + Height = file.Height }; AddPhotoItem(p); diff --git a/Server/Controller/FlowerApiController.cs b/Server/Controller/FlowerApiController.cs index 2ced828..dc65d1e 100644 --- a/Server/Controller/FlowerApiController.cs +++ b/Server/Controller/FlowerApiController.cs @@ -518,7 +518,9 @@ public class FlowerApiController : BaseController FileType = file.FileType, FileName = file.Filename, Path = file.Path, - DateUploadUnixTime = now + DateUploadUnixTime = now, + Width = file.Width, + Height = file.Height }; AddPhotoItem(cover); @@ -639,7 +641,9 @@ public class FlowerApiController : BaseController FileType = file.FileType, FileName = file.Filename, Path = file.Path, - DateUploadUnixTime = now + DateUploadUnixTime = now, + Width = file.Width, + Height = file.Height }; database.Photos.Add(item); SaveDatabase(); @@ -776,7 +780,9 @@ public class FlowerApiController : BaseController FileType = file.FileType, FileName = file.Filename, Path = file.Path, - DateUploadUnixTime = now + DateUploadUnixTime = now, + Width = file.Width, + Height = file.Height }; AddPhotoItem(cover); @@ -893,7 +899,9 @@ public class FlowerApiController : BaseController FileType = file.FileType, FileName = file.Filename, Path = file.Path, - DateUploadUnixTime = now + DateUploadUnixTime = now, + Width = file.Width, + Height = file.Height }; AddPhotoItem(cover); diff --git a/Server/Data/Model/PhotoItem.cs b/Server/Data/Model/PhotoItem.cs index 0c716de..6d1dc27 100644 --- a/Server/Data/Model/PhotoItem.cs +++ b/Server/Data/Model/PhotoItem.cs @@ -94,6 +94,18 @@ public class PhotoItem [JsonIgnore] public DateTimeOffset DateUpload => DateTimeOffset.FromUnixTimeMilliseconds(DateUploadUnixTime); + /// + /// 图片宽度 + /// + [Column("width")] + public int? Width { get; set; } + + /// + /// 图片高度 + /// + [Column("height")] + public int? Height { get; set; } + /// /// 前端显示的 URL /// diff --git a/Server/Migrations/20230724084100_Add-Photo-Size.Designer.cs b/Server/Migrations/20230724084100_Add-Photo-Size.Designer.cs new file mode 100644 index 0000000..5bdbace --- /dev/null +++ b/Server/Migrations/20230724084100_Add-Photo-Size.Designer.cs @@ -0,0 +1,353 @@ +// +using System; +using Blahblah.FlowerStory.Server.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Blahblah.FlowerStory.Server.Migrations +{ + [DbContext(typeof(FlowerDatabase))] + [Migration("20230724084100_Add-Photo-Size")] + partial class AddPhotoSize + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "7.0.9"); + + modelBuilder.Entity("Blahblah.FlowerStory.Server.Data.Model.FlowerItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("fid"); + + b.Property("CategoryId") + .HasColumnType("INTEGER") + .HasColumnName("categoryid"); + + b.Property("Cost") + .HasColumnType("real") + .HasColumnName("cost"); + + b.Property("DateBuyUnixTime") + .HasColumnType("INTEGER") + .HasColumnName("datebuy") + .HasAnnotation("Relational:JsonPropertyName", "dateBuy"); + + b.Property("Latitude") + .HasColumnType("REAL") + .HasColumnName("latitude"); + + b.Property("Longitude") + .HasColumnType("REAL") + .HasColumnName("longitude"); + + b.Property("Memo") + .HasColumnType("TEXT") + .HasColumnName("memo"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("name"); + + b.Property("OwnerId") + .HasColumnType("INTEGER") + .HasColumnName("uid"); + + b.Property("Purchase") + .HasColumnType("TEXT") + .HasColumnName("purchase"); + + b.HasKey("Id"); + + b.HasIndex("OwnerId"); + + b.ToTable("flowers"); + }); + + modelBuilder.Entity("Blahblah.FlowerStory.Server.Data.Model.PhotoItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("pid"); + + b.Property("DateUploadUnixTime") + .HasColumnType("INTEGER") + .HasColumnName("dateupload") + .HasAnnotation("Relational:JsonPropertyName", "dateUpload"); + + b.Property("FileName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("filename"); + + b.Property("FileType") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("filetype"); + + b.Property("FlowerId") + .HasColumnType("INTEGER") + .HasColumnName("fid"); + + b.Property("Height") + .HasColumnType("INTEGER") + .HasColumnName("height"); + + b.Property("OwnerId") + .HasColumnType("INTEGER") + .HasColumnName("uid"); + + b.Property("Path") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("path"); + + b.Property("RecordId") + .HasColumnType("INTEGER") + .HasColumnName("rid"); + + b.Property("Width") + .HasColumnType("INTEGER") + .HasColumnName("width"); + + b.HasKey("Id"); + + b.HasIndex("FlowerId"); + + b.HasIndex("OwnerId"); + + b.HasIndex("RecordId"); + + b.ToTable("photos"); + }); + + modelBuilder.Entity("Blahblah.FlowerStory.Server.Data.Model.RecordItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("rid"); + + b.Property("ByUserId") + .HasColumnType("INTEGER") + .HasColumnName("byuid"); + + b.Property("ByUserName") + .HasColumnType("TEXT") + .HasColumnName("byname"); + + b.Property("DateUnixTime") + .HasColumnType("INTEGER") + .HasColumnName("date") + .HasAnnotation("Relational:JsonPropertyName", "date"); + + b.Property("EventId") + .HasColumnType("INTEGER") + .HasColumnName("eid"); + + b.Property("FlowerId") + .HasColumnType("INTEGER") + .HasColumnName("fid"); + + b.Property("Latitude") + .HasColumnType("REAL") + .HasColumnName("latitude"); + + b.Property("Longitude") + .HasColumnType("REAL") + .HasColumnName("longitude"); + + b.Property("Memo") + .HasColumnType("TEXT") + .HasColumnName("memo"); + + b.Property("OwnerId") + .HasColumnType("INTEGER") + .HasColumnName("uid"); + + b.HasKey("Id"); + + b.HasIndex("FlowerId"); + + b.HasIndex("OwnerId"); + + b.ToTable("records"); + }); + + modelBuilder.Entity("Blahblah.FlowerStory.Server.Data.Model.TokenItem", b => + { + b.Property("Id") + .HasColumnType("TEXT") + .HasColumnName("tid"); + + b.Property("ActiveDateUnixTime") + .HasColumnType("INTEGER") + .HasColumnName("activedate") + .HasAnnotation("Relational:JsonPropertyName", "activeDate"); + + b.Property("ClientAgent") + .HasColumnType("TEXT") + .HasColumnName("clientagent"); + + b.Property("ClientApp") + .HasColumnType("TEXT") + .HasColumnName("clientapp"); + + b.Property("DeviceId") + .HasColumnType("TEXT") + .HasColumnName("deviceid"); + + b.Property("ExpireDateUnixTime") + .HasColumnType("INTEGER") + .HasColumnName("expiredate") + .HasAnnotation("Relational:JsonPropertyName", "expireDate"); + + b.Property("ExpireSeconds") + .HasColumnType("INTEGER") + .HasColumnName("expiresecs"); + + b.Property("LogonDateUnixTime") + .HasColumnType("INTEGER") + .HasColumnName("logondate") + .HasAnnotation("Relational:JsonPropertyName", "logonDate"); + + b.Property("UserId") + .HasColumnType("INTEGER") + .HasColumnName("uid"); + + b.Property("VerifyCode") + .HasColumnType("TEXT") + .HasColumnName("verifycode"); + + b.HasKey("Id"); + + b.ToTable("tokens"); + }); + + modelBuilder.Entity("Blahblah.FlowerStory.Server.Data.Model.UserItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("uid"); + + b.Property("ActiveDateUnixTime") + .HasColumnType("INTEGER") + .HasColumnName("activedate"); + + b.Property("Avatar") + .HasColumnType("BLOB") + .HasColumnName("avatar"); + + b.Property("Email") + .HasColumnType("TEXT") + .HasColumnName("email"); + + b.Property("Level") + .HasColumnType("INTEGER") + .HasColumnName("level"); + + b.Property("Mobile") + .HasColumnType("TEXT") + .HasColumnName("mobile"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("name"); + + b.Property("Password") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("password"); + + b.Property("RegisterDateUnixTime") + .HasColumnType("INTEGER") + .HasColumnName("regdate") + .HasAnnotation("Relational:JsonPropertyName", "registerDate"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("id"); + + b.HasKey("Id"); + + b.ToTable("users"); + }); + + modelBuilder.Entity("Blahblah.FlowerStory.Server.Data.Model.FlowerItem", b => + { + b.HasOne("Blahblah.FlowerStory.Server.Data.Model.UserItem", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Blahblah.FlowerStory.Server.Data.Model.PhotoItem", b => + { + b.HasOne("Blahblah.FlowerStory.Server.Data.Model.FlowerItem", "Flower") + .WithMany("Photos") + .HasForeignKey("FlowerId"); + + b.HasOne("Blahblah.FlowerStory.Server.Data.Model.UserItem", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Blahblah.FlowerStory.Server.Data.Model.RecordItem", "Record") + .WithMany("Photos") + .HasForeignKey("RecordId"); + + b.Navigation("Flower"); + + b.Navigation("Owner"); + + b.Navigation("Record"); + }); + + modelBuilder.Entity("Blahblah.FlowerStory.Server.Data.Model.RecordItem", b => + { + b.HasOne("Blahblah.FlowerStory.Server.Data.Model.FlowerItem", "Flower") + .WithMany() + .HasForeignKey("FlowerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Blahblah.FlowerStory.Server.Data.Model.UserItem", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Flower"); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Blahblah.FlowerStory.Server.Data.Model.FlowerItem", b => + { + b.Navigation("Photos"); + }); + + modelBuilder.Entity("Blahblah.FlowerStory.Server.Data.Model.RecordItem", b => + { + b.Navigation("Photos"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Server/Migrations/20230724084100_Add-Photo-Size.cs b/Server/Migrations/20230724084100_Add-Photo-Size.cs new file mode 100644 index 0000000..82135a3 --- /dev/null +++ b/Server/Migrations/20230724084100_Add-Photo-Size.cs @@ -0,0 +1,38 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Blahblah.FlowerStory.Server.Migrations +{ + /// + public partial class AddPhotoSize : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "height", + table: "photos", + type: "INTEGER", + nullable: true); + + migrationBuilder.AddColumn( + name: "width", + table: "photos", + type: "INTEGER", + nullable: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "height", + table: "photos"); + + migrationBuilder.DropColumn( + name: "width", + table: "photos"); + } + } +} diff --git a/Server/Migrations/FlowerDatabaseModelSnapshot.cs b/Server/Migrations/FlowerDatabaseModelSnapshot.cs index 6d33685..44cd4fb 100644 --- a/Server/Migrations/FlowerDatabaseModelSnapshot.cs +++ b/Server/Migrations/FlowerDatabaseModelSnapshot.cs @@ -15,7 +15,7 @@ namespace Blahblah.FlowerStory.Server.Migrations protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 - modelBuilder.HasAnnotation("ProductVersion", "7.0.5"); + modelBuilder.HasAnnotation("ProductVersion", "7.0.9"); modelBuilder.Entity("Blahblah.FlowerStory.Server.Data.Model.FlowerItem", b => { @@ -95,6 +95,10 @@ namespace Blahblah.FlowerStory.Server.Migrations .HasColumnType("INTEGER") .HasColumnName("fid"); + b.Property("Height") + .HasColumnType("INTEGER") + .HasColumnName("height"); + b.Property("OwnerId") .HasColumnType("INTEGER") .HasColumnName("uid"); @@ -108,6 +112,10 @@ namespace Blahblah.FlowerStory.Server.Migrations .HasColumnType("INTEGER") .HasColumnName("rid"); + b.Property("Width") + .HasColumnType("INTEGER") + .HasColumnName("width"); + b.HasKey("Id"); b.HasIndex("FlowerId"); diff --git a/Server/Program.cs b/Server/Program.cs index eb8c403..f53950d 100644 --- a/Server/Program.cs +++ b/Server/Program.cs @@ -11,7 +11,7 @@ public class Program /// public const string ProjectName = "Flower Story"; /// - public const string Version = "0.6.713"; + public const string Version = "0.7.727"; /// public static void Main(string[] args) diff --git a/Server/Server.csproj b/Server/Server.csproj index 6a39827..577db82 100644 --- a/Server/Server.csproj +++ b/Server/Server.csproj @@ -11,12 +11,13 @@ - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive +