From 91c67de58dea72825818af75c003fc82ebfc5046 Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Tue, 27 Aug 2024 13:42:31 -0300 Subject: [PATCH 01/15] Update readme --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index abdeace..ea21780 100644 --- a/README.md +++ b/README.md @@ -11,12 +11,19 @@ This project was generated by the [ricaun.AppLoader](https://ricaun.com/AppLoader/) Revit plugin. ## Exemple + ### Initialize Static initialization of the `Revit.Busy` control. ```c# RevitBusyControl.Initialize(application); ``` +### IsRevitBusy +To check if Revit is busy, use the `IsRevitBusy` property. +```c# +bool isRevitBuzy = RevitBusyControl.Control.IsRevitBusy; +``` + ### Binding Binding to the `IsRevitBusy` property. From 408c7ec1e84747d151f4d322adc1200dc178bf46 Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Tue, 27 Aug 2024 13:48:54 -0300 Subject: [PATCH 02/15] Rename `Revit.Busy` to `ricaun.Revit.UI.Busy` --- CHANGELOG.md | 6 +++++- Directory.Build.props | 2 +- Revit.Busy.Example/Revit.Busy.Example.csproj | 2 +- Revit.Busy.Example/Revit/App.cs | 4 ++-- Revit.Busy.Example/Revit/Commands/Command.cs | 2 +- Revit.Busy.Example/Revit/Views/BusyView.xaml | 4 ++-- Revit.Busy.Example/Revit/Views/BusyView.xaml.cs | 2 +- Revit.Busy/Properties/AssemblyInfo.cs | 2 +- Revit.Busy/Revit.Busy.csproj | 2 +- Revit.Busy/Revit/App.cs | 2 +- Revit.Busy/RevitBusyControl.cs | 2 +- Revit.Busy/RevitBusyService.cs | 2 +- 12 files changed, 18 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e372472..9bab8d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +## [1.0.0] / 2023-08-27 +### Features +- Rename `Revit.Busy` to `ricaun.Revit.UI.Busy`. + ## [0.2.2] / 2023-08-14 ### Features - Add `XmlnsPrefix` and `XmlnsDefinition` to `Revit.Busy` namespace. @@ -38,7 +42,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Add `RevitBusyService` [vNext]: ../../compare/1.0.0...HEAD -[1.0.0]: ../../compare/1.0.0 +[1.0.0]: ../../compare/0.2.2...1.0.0 [0.2.2]: ../../compare/0.2.1...0.2.2 [0.2.1]: ../../compare/0.2.0...0.2.1 [0.2.0]: ../../compare/0.1.2...0.2.0 diff --git a/Directory.Build.props b/Directory.Build.props index 3413478..c0a4c3a 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,5 +1,5 @@ - 0.2.2 + 1.0.0 \ No newline at end of file diff --git a/Revit.Busy.Example/Revit.Busy.Example.csproj b/Revit.Busy.Example/Revit.Busy.Example.csproj index 404ca47..9daec9b 100644 --- a/Revit.Busy.Example/Revit.Busy.Example.csproj +++ b/Revit.Busy.Example/Revit.Busy.Example.csproj @@ -70,7 +70,7 @@ - Revit.Busy.Example + ricaun.Revit.UI.Busy.Example diff --git a/Revit.Busy.Example/Revit/App.cs b/Revit.Busy.Example/Revit/App.cs index ae870ba..c87d5b8 100644 --- a/Revit.Busy.Example/Revit/App.cs +++ b/Revit.Busy.Example/Revit/App.cs @@ -1,10 +1,10 @@ using Autodesk.Revit.DB; using Autodesk.Revit.UI; -using Revit.Busy; +using ricaun.Revit.UI.Busy; using ricaun.Revit.UI; using ricaun.Revit.UI.Tasks; using System; -namespace Revit.Busy.Example.Revit +namespace ricaun.Revit.UI.Busy.Example.Revit { [AppLoader] public class App : IExternalApplication diff --git a/Revit.Busy.Example/Revit/Commands/Command.cs b/Revit.Busy.Example/Revit/Commands/Command.cs index 80e3f03..fcc64e8 100644 --- a/Revit.Busy.Example/Revit/Commands/Command.cs +++ b/Revit.Busy.Example/Revit/Commands/Command.cs @@ -3,7 +3,7 @@ using Autodesk.Revit.UI; using System; -namespace Revit.Busy.Example.Revit.Commands +namespace ricaun.Revit.UI.Busy.Example.Revit.Commands { [Transaction(TransactionMode.Manual)] public class Command : IExternalCommand, IExternalCommandAvailability diff --git a/Revit.Busy.Example/Revit/Views/BusyView.xaml b/Revit.Busy.Example/Revit/Views/BusyView.xaml index 37d9a2a..02ab885 100644 --- a/Revit.Busy.Example/Revit/Views/BusyView.xaml +++ b/Revit.Busy.Example/Revit/Views/BusyView.xaml @@ -1,10 +1,10 @@ - diff --git a/Revit.Busy.Example/Revit/Views/BusyView.xaml.cs b/Revit.Busy.Example/Revit/Views/BusyView.xaml.cs index b99c5df..55f3009 100644 --- a/Revit.Busy.Example/Revit/Views/BusyView.xaml.cs +++ b/Revit.Busy.Example/Revit/Views/BusyView.xaml.cs @@ -5,7 +5,7 @@ using System.Windows; using System.Windows.Data; -namespace Revit.Busy.Example.Revit.Views +namespace ricaun.Revit.UI.Busy.Example.Revit.Views { [PropertyChanged.AddINotifyPropertyChangedInterface] public partial class BusyView : Window diff --git a/Revit.Busy/Properties/AssemblyInfo.cs b/Revit.Busy/Properties/AssemblyInfo.cs index 46e199b..6802fea 100644 --- a/Revit.Busy/Properties/AssemblyInfo.cs +++ b/Revit.Busy/Properties/AssemblyInfo.cs @@ -1,4 +1,4 @@ using System; using System.Windows.Markup; [assembly: XmlnsPrefix("http://schemas.revit.busy.com/2024/xaml/presentation", "revit.busy")] -[assembly: XmlnsDefinition("http://schemas.revit.busy.com/2024/xaml/presentation", "Revit.Busy")] \ No newline at end of file +[assembly: XmlnsDefinition("http://schemas.revit.busy.com/2024/xaml/presentation", "ricaun.Revit.UI.Busy")] \ No newline at end of file diff --git a/Revit.Busy/Revit.Busy.csproj b/Revit.Busy/Revit.Busy.csproj index ce4078a..595ac35 100644 --- a/Revit.Busy/Revit.Busy.csproj +++ b/Revit.Busy/Revit.Busy.csproj @@ -72,7 +72,7 @@ - Revit.Busy + ricaun.Revit.UI.Busy diff --git a/Revit.Busy/Revit/App.cs b/Revit.Busy/Revit/App.cs index 6bef6b1..7106265 100644 --- a/Revit.Busy/Revit/App.cs +++ b/Revit.Busy/Revit/App.cs @@ -4,7 +4,7 @@ using ricaun.Revit.UI; using System; -namespace Revit.Busy.Revit +namespace ricaun.Revit.UI.Busy.Revit { //[AppLoader] public class App : IExternalApplication diff --git a/Revit.Busy/RevitBusyControl.cs b/Revit.Busy/RevitBusyControl.cs index 779c2b4..c6a9ea0 100644 --- a/Revit.Busy/RevitBusyControl.cs +++ b/Revit.Busy/RevitBusyControl.cs @@ -1,6 +1,6 @@ using Autodesk.Revit.UI; -namespace Revit.Busy +namespace ricaun.Revit.UI.Busy { /// /// RevitBusyControl diff --git a/Revit.Busy/RevitBusyService.cs b/Revit.Busy/RevitBusyService.cs index 41fe8ab..094e6bf 100644 --- a/Revit.Busy/RevitBusyService.cs +++ b/Revit.Busy/RevitBusyService.cs @@ -4,7 +4,7 @@ using System.Runtime.CompilerServices; using System.Windows.Threading; -namespace Revit.Busy +namespace ricaun.Revit.UI.Busy { /// /// RevitBusyService From 46c11b3cde945bd5b2ca89b0f8289e239ee16701 Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Tue, 27 Aug 2024 13:58:03 -0300 Subject: [PATCH 03/15] Rename folders --- .../Revit/App.cs | 0 .../Revit/Commands/Command.cs | 0 .../Revit/Views/BusyView.xaml | 0 .../Revit/Views/BusyView.xaml.cs | 0 .../ricaun.Revit.UI.Busy.Example.csproj | 0 Revit.Busy.sln => ricaun.Revit.UI.Busy.sln | 4 ++-- .../Properties/AssemblyInfo.cs | 0 .../Resources/icon.png | Bin {Revit.Busy => ricaun.Revit.UI.Busy}/Revit/App.cs | 0 .../RevitBusyControl.cs | 0 .../RevitBusyService.cs | 0 .../ricaun.Revit.UI.Busy.csproj | 0 12 files changed, 2 insertions(+), 2 deletions(-) rename {Revit.Busy.Example => ricaun.Revit.UI.Busy.Example}/Revit/App.cs (100%) rename {Revit.Busy.Example => ricaun.Revit.UI.Busy.Example}/Revit/Commands/Command.cs (100%) rename {Revit.Busy.Example => ricaun.Revit.UI.Busy.Example}/Revit/Views/BusyView.xaml (100%) rename {Revit.Busy.Example => ricaun.Revit.UI.Busy.Example}/Revit/Views/BusyView.xaml.cs (100%) rename Revit.Busy.Example/Revit.Busy.Example.csproj => ricaun.Revit.UI.Busy.Example/ricaun.Revit.UI.Busy.Example.csproj (100%) rename Revit.Busy.sln => ricaun.Revit.UI.Busy.sln (83%) rename {Revit.Busy => ricaun.Revit.UI.Busy}/Properties/AssemblyInfo.cs (100%) rename {Revit.Busy => ricaun.Revit.UI.Busy}/Resources/icon.png (100%) rename {Revit.Busy => ricaun.Revit.UI.Busy}/Revit/App.cs (100%) rename {Revit.Busy => ricaun.Revit.UI.Busy}/RevitBusyControl.cs (100%) rename {Revit.Busy => ricaun.Revit.UI.Busy}/RevitBusyService.cs (100%) rename Revit.Busy/Revit.Busy.csproj => ricaun.Revit.UI.Busy/ricaun.Revit.UI.Busy.csproj (100%) diff --git a/Revit.Busy.Example/Revit/App.cs b/ricaun.Revit.UI.Busy.Example/Revit/App.cs similarity index 100% rename from Revit.Busy.Example/Revit/App.cs rename to ricaun.Revit.UI.Busy.Example/Revit/App.cs diff --git a/Revit.Busy.Example/Revit/Commands/Command.cs b/ricaun.Revit.UI.Busy.Example/Revit/Commands/Command.cs similarity index 100% rename from Revit.Busy.Example/Revit/Commands/Command.cs rename to ricaun.Revit.UI.Busy.Example/Revit/Commands/Command.cs diff --git a/Revit.Busy.Example/Revit/Views/BusyView.xaml b/ricaun.Revit.UI.Busy.Example/Revit/Views/BusyView.xaml similarity index 100% rename from Revit.Busy.Example/Revit/Views/BusyView.xaml rename to ricaun.Revit.UI.Busy.Example/Revit/Views/BusyView.xaml diff --git a/Revit.Busy.Example/Revit/Views/BusyView.xaml.cs b/ricaun.Revit.UI.Busy.Example/Revit/Views/BusyView.xaml.cs similarity index 100% rename from Revit.Busy.Example/Revit/Views/BusyView.xaml.cs rename to ricaun.Revit.UI.Busy.Example/Revit/Views/BusyView.xaml.cs diff --git a/Revit.Busy.Example/Revit.Busy.Example.csproj b/ricaun.Revit.UI.Busy.Example/ricaun.Revit.UI.Busy.Example.csproj similarity index 100% rename from Revit.Busy.Example/Revit.Busy.Example.csproj rename to ricaun.Revit.UI.Busy.Example/ricaun.Revit.UI.Busy.Example.csproj diff --git a/Revit.Busy.sln b/ricaun.Revit.UI.Busy.sln similarity index 83% rename from Revit.Busy.sln rename to ricaun.Revit.UI.Busy.sln index e5715a7..5a9d3c9 100644 --- a/Revit.Busy.sln +++ b/ricaun.Revit.UI.Busy.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.5.33424.131 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Revit.Busy", "Revit.Busy\Revit.Busy.csproj", "{3BAB660A-FADA-4AF0-BE2E-23B7FC5067FC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ricaun.Revit.UI.Busy", "ricaun.Revit.UI.Busy\ricaun.Revit.UI.Busy.csproj", "{3BAB660A-FADA-4AF0-BE2E-23B7FC5067FC}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Build", "Build\Build.csproj", "{A64A0CA4-19A5-4F53-8F22-19D1FDF0F6B4}" EndProject @@ -15,7 +15,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution", "Solution", "{44 README.md = README.md EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Revit.Busy.Example", "Revit.Busy.Example\Revit.Busy.Example.csproj", "{CE1D2870-ABE0-4096-95DB-6D6DB724A2E9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ricaun.Revit.UI.Busy.Example", "ricaun.Revit.UI.Busy.Example\ricaun.Revit.UI.Busy.Example.csproj", "{CE1D2870-ABE0-4096-95DB-6D6DB724A2E9}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/Revit.Busy/Properties/AssemblyInfo.cs b/ricaun.Revit.UI.Busy/Properties/AssemblyInfo.cs similarity index 100% rename from Revit.Busy/Properties/AssemblyInfo.cs rename to ricaun.Revit.UI.Busy/Properties/AssemblyInfo.cs diff --git a/Revit.Busy/Resources/icon.png b/ricaun.Revit.UI.Busy/Resources/icon.png similarity index 100% rename from Revit.Busy/Resources/icon.png rename to ricaun.Revit.UI.Busy/Resources/icon.png diff --git a/Revit.Busy/Revit/App.cs b/ricaun.Revit.UI.Busy/Revit/App.cs similarity index 100% rename from Revit.Busy/Revit/App.cs rename to ricaun.Revit.UI.Busy/Revit/App.cs diff --git a/Revit.Busy/RevitBusyControl.cs b/ricaun.Revit.UI.Busy/RevitBusyControl.cs similarity index 100% rename from Revit.Busy/RevitBusyControl.cs rename to ricaun.Revit.UI.Busy/RevitBusyControl.cs diff --git a/Revit.Busy/RevitBusyService.cs b/ricaun.Revit.UI.Busy/RevitBusyService.cs similarity index 100% rename from Revit.Busy/RevitBusyService.cs rename to ricaun.Revit.UI.Busy/RevitBusyService.cs diff --git a/Revit.Busy/Revit.Busy.csproj b/ricaun.Revit.UI.Busy/ricaun.Revit.UI.Busy.csproj similarity index 100% rename from Revit.Busy/Revit.Busy.csproj rename to ricaun.Revit.UI.Busy/ricaun.Revit.UI.Busy.csproj From d4d3b47298f2f01451f17e0ce6e6d1e25ab9b7a2 Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Tue, 27 Aug 2024 14:00:11 -0300 Subject: [PATCH 04/15] Update to alpha --- .github/workflows/Build.yml | 2 +- Directory.Build.props | 2 +- .../ricaun.Revit.UI.Busy.Example.csproj | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index e8bdc55..e1a9c60 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -20,7 +20,7 @@ jobs: - uses: actions/checkout@v1 - name: NuGet Setup - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 with: dotnet-version: | 7.0.x diff --git a/Directory.Build.props b/Directory.Build.props index c0a4c3a..b38718c 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,5 +1,5 @@ - 1.0.0 + 0.9.0-alpha \ No newline at end of file diff --git a/ricaun.Revit.UI.Busy.Example/ricaun.Revit.UI.Busy.Example.csproj b/ricaun.Revit.UI.Busy.Example/ricaun.Revit.UI.Busy.Example.csproj index 9daec9b..9ddb549 100644 --- a/ricaun.Revit.UI.Busy.Example/ricaun.Revit.UI.Busy.Example.csproj +++ b/ricaun.Revit.UI.Busy.Example/ricaun.Revit.UI.Busy.Example.csproj @@ -123,7 +123,7 @@ - + From 90ac3a71b5eddc3776e38aa54b924ec5d2a71824 Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Tue, 27 Aug 2024 14:01:23 -0300 Subject: [PATCH 05/15] pre alpha --- Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Build.props b/Directory.Build.props index b38718c..ea76a19 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,5 +1,5 @@ - 0.9.0-alpha + 1.0.0-alpha \ No newline at end of file From 0c2f90c89f7dcbc48c4b909b9bc7af4db4cb4d6e Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Tue, 27 Aug 2024 14:02:57 -0300 Subject: [PATCH 06/15] Update readme --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index ea21780..ab53628 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,19 @@ -# Revit.Busy +# ricaun.Revit.UI.Busy -[![Revit 2017](https://img.shields.io/badge/Revit-2017+-blue.svg)](../..) -[![Visual Studio 2022](https://img.shields.io/badge/Visual%20Studio-2022-blue)](../..) +[![Revit 2017](https://img.shields.io/badge/Revit-2017+-blue.svg)](https://github.com/ricaun-io/ricaun.Revit.UI.Busy) +[![Visual Studio 2022](https://img.shields.io/badge/Visual%20Studio-2022-blue)](https://github.com/ricaun-io/ricaun.Revit.UI.Busy) [![Nuke](https://img.shields.io/badge/Nuke-Build-blue)](https://nuke.build/) [![License MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) -[![Build](../../actions/workflows/Build.yml/badge.svg)](../../actions) +[![Build](https://github.com/ricaun-io/ricaun.Revit.UI.Busy/actions/workflows/Build.yml/badge.svg)](https://github.com/ricaun-io/ricaun.Revit.UI.Busy/actions) -`Revit.Busy` package provides a static control to manage the busy state of Revit using the `Idling` event. +`ricaun.Revit.UI.Busy` package provides a static control to manage the busy state of Revit using the `Idling` event. This project was generated by the [ricaun.AppLoader](https://ricaun.com/AppLoader/) Revit plugin. ## Exemple ### Initialize -Static initialization of the `Revit.Busy` control. +Static initialization of the `ricaun.Revit.UI.Busy` control. ```c# RevitBusyControl.Initialize(application); ``` @@ -40,4 +40,4 @@ This project is [licensed](LICENSE) under the [MIT License](https://en.wikipedia --- -Do you like this project? Please [star this project on GitHub](../../stargazers)! \ No newline at end of file +Do you like this project? Please [star this project on GitHub](https://github.com/ricaun-io/ricaun.Revit.UI.Busy/stargazers)! \ No newline at end of file From 2f0d8d1e5c1a24729ac15efd9872e34b2d87cdba Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Tue, 27 Aug 2024 14:06:39 -0300 Subject: [PATCH 07/15] Update readme --- README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/README.md b/README.md index ab53628..39d1765 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,35 @@ xmlns:busy="http://schemas.revit.busy.com/2024/xaml/presentation" {Binding IsRevitBusy, Source={x:Static busy:RevitBusyControl.Control}} ``` +### RevitBusyService + +The `RevitBusyService` class provides a service to manage the busy state of Revit using the `Idling` event. +```c# +UIControlledApplication application; +RevitBusyService revitBusyService = new RevitBusyService(application); +``` + +The `IsRevitBusy` property can be used to check if Revit is busy. +```c# +bool isRevitBuzy = revitBusyService.IsRevitBusy; +``` + +The `INotifyPropertyChanged` is available in the `RevitBusyService` class. +```c# +revitBusyService.PropertyChanged += (sender, e) => +{ + if (e.PropertyName == nameof(revitBusyService.IsRevitBusy)) + { + // Do something + } +}; +``` + +The `RevitBusyService` need to be disposed to clear the `Idling` event. +```c# +revitBusyService.Dispose(); +``` + ## License This project is [licensed](LICENSE) under the [MIT License](https://en.wikipedia.org/wiki/MIT_License). From b177f6ad7566ea7349c89a8b09125e47c02dcd2e Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Tue, 27 Aug 2024 14:07:05 -0300 Subject: [PATCH 08/15] Update build --- Build/.nuke/parameters.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Build/.nuke/parameters.json b/Build/.nuke/parameters.json index 95a4cf2..7dc3096 100644 --- a/Build/.nuke/parameters.json +++ b/Build/.nuke/parameters.json @@ -1,4 +1,4 @@ { "$schema": "./build.schema.json", - "Solution": "../Revit.Busy.sln" + "Solution": "../ricaun.Revit.UI.Busy.sln" } \ No newline at end of file From 6fc46de10c7c328672561f36a6762c54695ec600 Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Tue, 27 Aug 2024 14:58:39 -0300 Subject: [PATCH 09/15] prerelease rc --- CHANGELOG.md | 2 ++ Directory.Build.props | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bab8d9..29cfe5a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [1.0.0] / 2023-08-27 ### Features +- `RevitBusyService` and `RevitBusyControl` to check the busy state of Revit. +### Updated - Rename `Revit.Busy` to `ricaun.Revit.UI.Busy`. ## [0.2.2] / 2023-08-14 diff --git a/Directory.Build.props b/Directory.Build.props index ea76a19..1261f50 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,5 +1,5 @@ - 1.0.0-alpha + 1.0.0-rc \ No newline at end of file From bb03435dfd77ab8beeb7a81cbb3036121eabc1ca Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Wed, 28 Aug 2024 08:21:15 -0300 Subject: [PATCH 10/15] Update readme --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 39d1765..e4575f7 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,11 @@ UIControlledApplication application; RevitBusyService revitBusyService = new RevitBusyService(application); ``` +The `RevitBusyService` need to be disposed to clear the `Idling` event. +```c# +revitBusyService.Dispose(); +``` + The `IsRevitBusy` property can be used to check if Revit is busy. ```c# bool isRevitBuzy = revitBusyService.IsRevitBusy; @@ -58,9 +63,9 @@ revitBusyService.PropertyChanged += (sender, e) => }; ``` -The `RevitBusyService` need to be disposed to clear the `Idling` event. +The `SetInterval` method can be used to set the interval between checks; by default, the value is 1000 milliseconds. ```c# -revitBusyService.Dispose(); +revitBusyService.SetInterval(1000); ``` ## License From 2e235db8ddb5fc2a3526813dd8867766ebf18021 Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Wed, 28 Aug 2024 08:23:42 -0300 Subject: [PATCH 11/15] Prerelease nuget --- .github/workflows/Build.yml | 3 ++- README.md | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index e1a9c60..128c172 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -32,4 +32,5 @@ jobs: GitHubToken: ${{ secrets.GITHUB_TOKEN }} SignFile: ${{ secrets.SIGN_FILE }} SignPassword: ${{ secrets.SIGN_PASSWORD }} - InstallationFiles: ${{ secrets.INSTALLATION_FILES }} \ No newline at end of file + NugetApiUrl: ${{ secrets.NUGET_API_URL }} + NugetApiKey: ${{ secrets.NUGET_API_KEY }} \ No newline at end of file diff --git a/README.md b/README.md index e4575f7..fb8d4ee 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ [![Nuke](https://img.shields.io/badge/Nuke-Build-blue)](https://nuke.build/) [![License MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Build](https://github.com/ricaun-io/ricaun.Revit.UI.Busy/actions/workflows/Build.yml/badge.svg)](https://github.com/ricaun-io/ricaun.Revit.UI.Busy/actions) +[![Nuget](https://img.shields.io/nuget/v/ricaun.Revit.UI.Busy?logo=nuget&label=Nuget&color=blue)](https://www.nuget.org/packages/ricaun.Revit.UI.Busy) `ricaun.Revit.UI.Busy` package provides a static control to manage the busy state of Revit using the `Idling` event. From 51c7d9e51bb0c54f1da294da694946c1d86bbac0 Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Wed, 28 Aug 2024 08:43:16 -0300 Subject: [PATCH 12/15] Update Readme with banner --- Directory.Build.props | 2 +- README.md | 4 +++- assets/ricaun.Revit.UI.Busy.png | Bin 0 -> 69354 bytes 3 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 assets/ricaun.Revit.UI.Busy.png diff --git a/Directory.Build.props b/Directory.Build.props index 1261f50..be52682 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,5 +1,5 @@ - 1.0.0-rc + 1.0.0-rc.1 \ No newline at end of file diff --git a/README.md b/README.md index fb8d4ee..12513db 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,9 @@ [![Build](https://github.com/ricaun-io/ricaun.Revit.UI.Busy/actions/workflows/Build.yml/badge.svg)](https://github.com/ricaun-io/ricaun.Revit.UI.Busy/actions) [![Nuget](https://img.shields.io/nuget/v/ricaun.Revit.UI.Busy?logo=nuget&label=Nuget&color=blue)](https://www.nuget.org/packages/ricaun.Revit.UI.Busy) -`ricaun.Revit.UI.Busy` package provides a static control to manage the busy state of Revit using the `Idling` event. +[![ricaun.Revit.UI.Busy](https://raw.githubusercontent.com/ricaun-io/ricaun.Revit.UI.Busy/develop/assets/ricaun.Revit.UI.Busy.png)](https://github.com/ricaun-io/ricaun.Revit.UI.Busy) + +`ricaun.Revit.UI.Busy` package provides a static control to monitor the busy state of Revit UI using the `Idling` event. This project was generated by the [ricaun.AppLoader](https://ricaun.com/AppLoader/) Revit plugin. diff --git a/assets/ricaun.Revit.UI.Busy.png b/assets/ricaun.Revit.UI.Busy.png new file mode 100644 index 0000000000000000000000000000000000000000..d857d428850f841cf35b2dd4468d392fef57f7cf GIT binary patch literal 69354 zcmeFZWn5Kj_XWB!kAWToK|nYvC?TLCsel102uOD*(nv`OQWhu*D$?B@QqrLaC@C!< z-7O_Z-myII`}e(H@8`?!gy3fFwVr1_bB;O2nESbuyEBQj ziT1B;_z9(8hBE%Q#p1H4++X;z|4aKBzTaVXUD<*}+VhF{m&}`W4-I~J*iuBvQr1-0 z(&qL(9g>ZW4ZDGfk;R?cW;*Pq_w)j%E>M$5|Byt5FUj2xn&`Au^R`;vm|1*S$`bg` zv#^IdFYBAc8N>_~4axDx#6(jJ>c7xYG2qhWW^WX4Y5I0n$LGdS5yzm<(Ag>el=u%` zG*iz1{1wzqzdo<}cGqx`DetM&;rKfruib9N9sl=BWWX(Iw(qx2w|(k0oA+$G+7SFSjaZofe0g15VQ|pPXp5mgZ+-V|^A|QF(zR>Xw(IEWZG6$q zSnxe)B(L$`*OEv~(R=u4Jva&q3Qn9jc~bM;vGCDtX7}&kj|&X!c;UHCZ0Bjs{eNEV z#caSGI9ZBU+uRJfVB0Q!%;rFv$(uKC9E`a;E{jew*!nYX`SbEhCJxb>yWFatp`qP_ zFJHb)_N2YK|8P4QEgfA*&(P4%=qTaiGk;$09N0c)#!Dw)-uKB-Z*y=L8SUZ2zv60i z15YwnwkiF2U5T;Cx4Z8v)>c<#IM1GafBwLT_~vf{XV1S0N=pH+k-N9g9d~dMwVEyXWKd(_V41W8T z^NQ!10%hmy?w$>&Ayds8Rh$02fNJ0H^t9$t0Re|EHS9SCn|Y5Niztqgekyb5&udDa zxsZ{O2}Q@oPUqEAn%>`Lrmd|_?pm5A@97lo^FJGJ*23soTL0tI^8+gzi@SLEH-GEw zH4{Hjqxt7rOdge@%a?gZ7S~O-SPBb&x+r?{kfX$(zb75XZbf0Yo@2L+i+`=AZruD& zFdP-VB%*TU&r3^`hw)nXI~5+mg+HHn-`!ztVL@{&p!m-#r1oza9v&|KF@966n@lZP zC99;$mm~K2&Qr7Le_lko8f9x|ca;&b_u4UQGcPNvQJDVvpC!5|y8rdtw{!DZ8y1CR zcQe}PEF=W}=eG~g75^0a&cJ-^SRb9JIXmn2KYw>i&i%)aA1)0WlccH9k6M5Jf^-7W zqtURz<=m0??td2Ac?Wl3vO7atL_`FOdhWeJKZd{;Mt|;vMAiSfrY3p72PZ@PoYS8W z3uDNzy?_6lg#|Aym%93nKW|h*>stDz=LBR_;Ty z{Qvw&e3$v#f#Lu6t9~_-{%p5%!-sAO&)CGo|M?}qp~0asB5VHlt0jzV_kaIPB1LZ@ zzxC%kCPsbI=KuTlBJ-uqRR8xKNo)so$)E3}#J>LTJIg%UcKXj>dhI{w{6CA~_5Z)+ z|M!LcI5oCO%JTA+D+@nL_l_5>Ov&E8oAl`MWAC?bBV}VH4d#YwR0{5=DWs?|yO#Ej z$&itltTt`l+#GprZZC*qv< zS0CE9?^1TES4PJq^;zv_o}Qiq{rwhIMvD_|kw>q%=udYQipb%pM+f3-+it3`;gAQC z>+9>;1wViEmQr)y_2V|}QWI|e&#p5W>yv!%UAlBB;DT*B^*Md19zPuP@iI!yrqy3_ zyVA~*NMb_t^z;tPqp^m#p@(dmL9+-?Gy+J3Bi@ zGI&gGPBAatAnd^8{sl2vHYlok0dWOvj-m>OM*M^;WSsq8umkaOt z&$T2iEUd_wE^OYu$1?BN1NTmo*8J(B#Gam8FA_JA!tRcA=4Ut7bQ|5}4lI9pIFdy^ zK}n6`-(PiZ@HkQu?G+jtD)?*Q08$fmZSUkHo2W{*NwB;Q-uy&Pe!fvdlqid0N>DGY zb-p@oTBXQ7_o?@Pmt*o9nVJ}vQH!{vqhrjR`yOg>3T+M7jQMqfYf(W6HP|Ni?QAt9k(D=V!3 z{Bx1mxfZ zCeu;H-RR_E)vj;O`P+WJ{#uN+L8@l4#$KV-cTXuggHlsdi`JKoWcf}=1VpuJJg70V zU->z?@Uz1-Fd^KiHKqN%abP^HNc82WI}N|RBi=b?tT~aDn_HndQBm>Mt+42EwLmp< zHq(W%X4CtfzvhOs9xP6cr>X{W8_QT*zmLxP{Y=gckGGjI>kLxKT}{~ZPOR8*Z9Z0L z?Mt)HXWa~Detwnu`uefUn-9_f_NVf6W@!M?6)@)DPDSbx=@N zRwlw(w>Bsq`@_V;)7s4VyUsalJ;7aB^?ux1buak5O>MdwNlHybM8u${7 zSMp84U&6a6*#~0ycQc!$mVWr~q1b4)9Jc}d<~by}+6*V0m)dcL(`Yf5l!5MN}S z(1u#5)4J_*`m}%XQ_`i)IbQsZt2vCevvYH7Ra;4nB9rY|3m>-A>yLa54>*1M5$^4G zhD(=vr1Y!(7ZL^Ukw!!pajXz(#NL~kz0+ABF=?>K#f9B2bzx>^7M(6yNg?)ab=6+c z_g@^Q_PM5cYnWM*YId#Xh4VI3aw;kTjJc$+sON5O4Mb9~og0eRtqDkB-_H1Xd10LG z%Ue%Rtr7dNYjn24NIddyPe=fd=m`Is9po}>Vyf}yye2IzjhFx4$DF^(dt?kd-WxCf z8V;2h_UF{|*xF3G_@yQ6(q=Y|0wqyV(e$>v#KlW`OI?YxR$)n};Y!Avh+8I7IW?Ez zz!(}Fd^x}PN@9;Da%1iJX}?PI`4MS{g=WP=@>@uZfv&EuS3PLsUkR-%0e1er;J36p z5@oS5F=LUh1k>ZFNjjp$J>Dtb&1Ks4y*c{#HA$3VWNL0TAp)uyx;1AH2KxBKL`5+S z4h^Xw;d$M~Cbtx?FK`5uPdl~H>R}H&SMu|Y~n)n=`z<8VKE`GC~i$~?Rkr-9STatag0 zeV?9J*41&CRkvm6HK%F{8MmcJ|INBt>d?}!U!!kt3ckU)OT6)K1{HaRAhbcgB0s_} z_e$XBH{-fv)wQ)PQKD~~-W#h8uD+z|9YZz3*TsG5`FW&+?uZykR>c&#V1BEn z0$U5>I598?x3#tLTa9_WH|b13z>Q3_Wu&lEki=f@JAQR!Wx7~TYm*6)R_uBnZkNl@ zmB4zd5v6y}9tET{$zcBI$&PHJngA~1B8fM)O6?R_9*HEX-=EytI2J zzvs##FfFmVQY_ylt#OFO1nlO`teBaO{+#MeEPSw-m$#dw^Ag3_W%uET*igsz|Lm^w zv5N#~I}pHaoPZcUlTJx8>nwXgxiFdC&BDrh!@$5G&vMigA%$Kg1*d|Kc8_|&ed)nU z@3#o3)z#I5`}aqn{4uexi0#<1BfTSeO+Fc$xpUVpS>)nq+uu8Kapnr%Mk?YZ3hcGQoF_L>gs$uO^B>FVV#f5M2(E-cbZomL00sc${T0T&CjP4lUQ3`hy)DH zVdvvhMlLAmy|1aM$#wUe)Ly}*usrKY77h-MMlQTI5${Z_(x}?Madw~hH74nyx=>U7 zMH##c@th$74{&(}oGPE@rWgqtRK7QJs$?Xe&(+mU?O8@y){`pkbOI`O%3n&yN(PG$ z8#l&~{|EP0l6Vv;vH8+D_h%w}PANxRqj!))W76Qsc;i%+adt;DE?6~7Ml!=O*Yoo7 zibAmrsP%sR`qm|pfA1;h&UUkXKW1j65l_dC9Xp7sHal3w%FC;SB0f7m@Ac}{tMv4A zOXN^>)XdnMp)F~5DlAu*%xgzH<-#v-B_5n86=*9XA|vII!?$kRR@u>^`s>%PN<2dJ z4PP&uQlwa=FO5I6YWMofUjSrp1QbH zR#aRgZewv#5or!*!rR+B8s%fGDPC4gLPGxDz4Se_ykSUdqkUyBo@#Jbn_F1Oq9RV^ z^zXr~D5D&B#m2@WFa`z(8BI;6$Msh5w#-68nt%wEID}u`p0vWltgX(~wP%}#B2B2R zRWQpUu%nPz7N$B?v58sQ=jIC+yAtDNV^ySrEeM1fCw;urs#QHfB`X2_)xm=Y8B9%0 z0k2p%Ib~6g_?^}Z&~sBpM@13vv%Sb6AEiTfU||#K<>B+zNl24XpFRnf@_j5Vr8syn z3d^IUblBv?v16AP##RPXA*EO&RN#TawO4e7 z>obivg+?2qZ=|e8{@zeAD(aF$yY}u?)Y6K;GDYIZ#$9!%#sT0A;y8a^)pgI2h7XUo zXE|*+t_=%q)TgNDdxeBJb|@i+1?InAacLE_7<%c$rmD-^^%B2467EVT1DH-hLt|tp zXM`IdvWPnk&zLK{<5z%GKuc5J&>CIY<^*|pB;|2>n=ac}93HtIT0o=h)x6T)uU&-? zvg{TNf#AiF8qTSiUc&AsVBcK&Wo2Z zlQ%;$87QTEP?5$m>I6BPNj@p-MOv9;v`3C4KbS6T{m~Bi)Qol8U2#KZxHee6$lkVe zhEuOr4qz&t+N4}JV{|HiS^;EEQ=XL(k$rpyBt%8)@hd4#$lTZX`1rQE8Gj9X*w^1L zk?fS;dY&`SW||%0S2_boOYG>Wq`!z@5Zg{&a)LMp*e(Us{iZ0<13*8@0o_$qH*7ks ze38>q#zU*Hk}b)q3uB3?V9+q3&MG{Pur_5Kby)v3On^?b zaJN`)Dk=GG+O!F&NLN~?xHZ#2mYnMJMFdag!0vuOKPmy-u-#PdaHeqwx5Mg81<_^3 zyK1L=sjO`1`S3W{j(5l@7>CYkyd^6tWTQDkWS6Ya9QshXREztt6@`j2&JQ-h~7?j|6)V)b~Wrm@?e$kIDlUM;6T{< zshrZLZhr>%!<<*??SDLsr{$4J(-M*JJN=>QK|qniii*;2D$t8Ah-`uZbTOAfgYfZd z9!)OfG?}(@y2xn{#@aGs2Wz?miOd;!)!j`yIpP)y2Vl4H_Z(@bUsal?jMuxaM~iu% z)BpNUvPPkbamRZ$DWZCJIj$I6A^Cg_Eavfi{W{FNzkC#MLJ?)k&3-NY*4MC0%K%GR zHq#msAs3XuKL$G8p z)NP1ezy39d&tkrYr#lWs(&wDh29el^R+ddU{gWl9THbQE723#{drzJ`i34VcG0J_j zGL>H^w~COq`Z=L&u{zWOcA3cXFD#8+OQn12D{-<}GSl>Gp8>D~`y^lwUIp45 zGU_fW+`oUn_+(sK05AxmD$}Hs-)g$6vw6_V(5NLTP20u+$!}}(D*eryH{F3253O1vN3QnMO9b=iL<86X`qVY+Pz?{sD|XOKlzjVMx+ZY_ zyX@DHb$6vv4_i)msUzuW>**ifM@1EfHMkjh?Uhew?ZEoS*Z%&aO?8h0nZZbGZC0Z| z=G?mL5EJ?#U;&>&w!Z>vV%FDIjJgVJV`>Mx-ratT?GbO5p(5`=GHBd;M7jR^Hq!Cx zqK*9KoLdLQFJ5$xkq9Jyg|br4;}HQ$@MqHpo!Q-vMutbQm|P~`zsY%Q=w!4t5&O;O zHk)&dNT5sxV1lIbttanU?Qj9CF+|RyzHr~{4G))NO`G}cGUE!Al`JlcA@QwSw&dg; zJopAz9-nsFc#zf}trnnUel=d6ya#QV(M(@iG2ccf1yPf8ErzM-j6tPG0*(76grBxP z;@`RUVC3u3wfV-IhvYYtwt_}a1-(-`gD?{l6$MX`UI8$q>9F99Bt@s_8-Z5mkp83R zZQI^yuWeQ);5te?trOY|qJDjJBkn)UGW>huM4f+d>*R-@5Z z)6pP~x$xegSmQ9Os%>MgTJAlfmc-M(blTRl6I>UOXya*7(%;7gq{pK&6ZImoDrd@i zcw;@FO}zx=CdPVVog*W462F5xbykfeQ`@AYtvxbQADO~l$}A`-NML+i7yKoIdgrCd zi39y*S!Aa~uej_cP&IMGX>E6xJG$3TI5{~f`pOuh8s4BT(Y1~czIN?5X=n}djsSdM zZN83X?D@a**HO9641i{^xA!)$AQzWBz*A-t9f>IpOpXMK=~?ePI0c8~Wq&R$E$J`) z=uKho=SLDnzec%amqC6jutv9SJgse%Zjb9@*EC|Od$@eHr6BYMs97}Or59Y^1MM~{>si5;4Qb2QxA-tm3jioiwo^Ag2Rx3fkCO^KG!lQ z(%O{+Cne8WrQDIu0sLvow=s?FMNUiL*rMRpr&i{4&d z+AMX*zP8R~PXHpndAgP*%@Q#7d#=USB1dF3V0*4CU4TjPGR?+!x37SJq4MZPrj-o2 zU?9pyJcg7Cn)Zic?Z1kNJw#i9D03{mzFEnWNWU*w(`xBAmafUiNquP63HytYk&zQx}WMjr7LKKrG21XeK@ zY56ffFNd1MWjm{_==?l5f6G;rx>j8{ljaeMacG_BK6^jkS}K31T#ssNVOuqDaBwyU~Y zJUTl13-S_};d?eV9A-&xit9vP92%{^MsLMG6@X519ALHuVSS6&)zT{B+2Mb+m7bsa zB+AXc9GX7a*)|VTIYh~O03Nx*B7q;z2ELC0M+P~N`JaD!e9qs_zS|Zt zF>&{bQP&u4Pf!r;+H4g^s}P`Z%>2A1au%zAfV!=%ZFOH5}nrPLM7cj)iU+p#BVc0;6i|iOiDUc z$_IYch*!bWhh06Ppx}ZmAIXaxF3dg~ePj6i`E%$4U(x@G4?djJa9EH(!f$yUTOtis2fOKLxiXK|S(!Vq=4$}be;&{a z!BA1V`9|R}4|{k=Ay5L{I7G3m^ZDgZqz@lH>@z^tQvmut(P?A7fae@DH+PGiJ#OA^ zaVmLjWwCoU58)ilYkv8pWYE{eZYQU;x$y9C!|yq1pth5-oS#jy$3dV-w!ZQ8jRmQa za5Gd;vO=Q~Ww&sqoaP=ctxI2xhZFeD-1z&%1~akZjJ?6Gez*RlclD|ZK$2HLK!Vf8 zN_VS}X?BNv3OiV$hxJK+m#O@t~h`rx(%?+E}%Cm?8vrjQj4lFmf91 z5fHPUzP`RH@9)N=%QQsO=Q94S@IiLSgDF113NZp(1`W3ooD6Ut(IA5-d=(_9I@elI zSO@^m2C}o%vt7yz9Ay)DBoo^jv@=-%y2+~9lGvdp9Eav2hX;*D*(RL<+uj`jxk5+) zP#PZfCZ^KRjM!;Q)>Uvek2K)g^3ITir3L>V;3FrPcu z^dk?{<5x7^iao7SU~&vvQ`8ewvr~GxI?!Y0kg3JXFrwF}`q7Sb%h@!*5l`rYkGJn7 zD9RH_cqS~MoSj`>;tl4RW5gd~Nim z6VV~7_6$wCYwPJ5L0=@4irzEH4b8EOdUYYj%5#gY#E}8gq@la%AaVKfBN2-5)6pQ# z<6}b_P|_rZSyF~&C@GH~Jqmp?TEp>|4qEk_lBYJpB4vljK)~EoD-49+IVmn(9!jNUqc-6$DyekiVa?6jY zJELPuddFqyNMUhcJPgqfjkTuI*J!@*<0~)iHPgq^`ZObC^b-76OZN)-t*gf%JGu0M zUJc+eHM!r})Fek|Nhll6o3yr{-YK%Nz9upJ`OBAjgqoqDwuNYh#jqp+PY7YRmsa;$ zQ~1aLxD}`qtpN2w{M%QZ{M)3J_X}*S&Vd_lFclo0nqn6cDjpxcyMnrbgAXd|%tH73 zFu}EX+1NYFKPQb0Yj76^pPub=u^|zOB(?Bo!1~N9C#sZiG)wL2IyWAsYNl&H2f=Lor~&sPcYQp^WQXLb=98RAah?D7SJ}Wb)E_Xf2Qkk(x;IV7h2(>v1T-xzvv4 zfa885JU*i1)H36SmDsb8%yrU0qa9SMUM#b7HykE@_DUKe>Li5 z)&k=@EYH^yogq^ZstJyS{lnCo;E+&H&6>$Kq#OXa#}*vO=cAiuEqmv&g-CG1MhQ*aL@JLfeV$ ztM+gT5ppW}Px`q*MMhqgW!l}<vYCizYD?FnT$=`WrkAtqx%UkF}EiQMgDf$g05 zFtT>QR__uVUu9~(dr^(%$Ohb8lJ{^X+tJ?jE@=jy)p6_nhS;t`8x&8K(LH_DdiK43 z{be+}F0D{=Z>O~vZY5>+p>GnxA!^StkA%L&jQWM!@AE(6ul9YN4#(#1axdxloiNq+ zcMa|r_E)?b@7`F??)^7m{@xluXP)4GZ$%AhXdhdfy~MG$oU}Ci_iNo|WZHS&dSa>b z`W-!jMw27o$pRu7$)bg$c(uuP-(V_{FYKBkT`@E^aHrv_6)sOA{5@@@$vC4cV6@r$SRG4 zUMHA}cv=*dL-LOwQFH3PM4HrQ;y!bxzNwvHJSaAd(72tojG5wsbRwx98W3P;x0ue! z6Fh01A8+0PrKCOAA{J|9mW9h1p%=F6dwx<)UFLcKIWPvzN#Z}T~ z?BxNka1(~Qtwlwk&SGMOmCu~{Ej3o|r!ILXhvbEb6Cd>Bw@MIcK1dIqdnd?i@ZSI$ z$!O=X(9EY!iJO=dZ|La{ol?x$SnH+6t;F;_e*8F@c}w=78SngJ@rL@w>aY-b*$ONI zD6K!1i&tk~02k`=u3v@dWW>vT;zaoAM zxE&P`K*q~u&yle)8L_A%=dG2_21CFm8bcxuiZUG@&R>h4si{cp~0IRADO@m6sa8%Hz|y;b}Y^eTe1iZFBo>dhW&NlwJOF$oH4 z5Nfx(d*NhlH6S8EGJ?QtBvh8360+F3rd2M*PT@yF{g|cA>Yom)~}Fz&O<^M%n&2 zICd_Iy`-`)U^lJsM&QA}Hb;9gp@tKgmBW}%hDqihq#6ha0}EnZhaJIX0w*sct` z+45}P@!b{OP8(~>18;AdJO~Ch_?^~+VH2S7_?_0%-6Z#&l22CQlAXEcK`V_)ift|; z)E?Zx*w^sKD19gQ?%f+}0Uru0cAAKAwDQR1GJknT!UH{ zj5p2-{7eJ7^qD4cqvhjeW0L@$uv}g(F#;*vgyicmQ%0FxP}|wr*_1nvTG#N~*RlDc z`8mhc`)G;^l?r{lw%}1RlE_w#pb|B~L6S;%2|%>fdojyqf;1ph<)W4iJW&XNI7|1& zsMBnA$e)hJ@>GIl_)5LMKa?QDO8!D9d$pCjv{^{K5ChRZ4;m+t2zTpQvQ}+f-2gY9 zytn(aeZlw;Y}s;!(0VxT*soSG_nywK1QtPP{x=L}>Xrtbaguh)d2wYEla_;5VrNs+5p0Y5rt+d*!hyZh}lQ3rj7*=q<4 z~=1 z>M}?H>8BLUZ&_-ufoMyF!o|eI^jXRtzf5#q*#6FWYEJSYEQCIaiAz73moYNdGMr)( zgFk-$Q~)-yB4i=F5}oL~IR4Rx+v&b)ZY;MRqvuoeBqSDhp02Nonhx?KM)2p1H!Es3 zgH)dXax!!T`^k}c^~d~ZBRP+AbjPcQ@7wOi)Nbhfi^ix*TSSy9ySuyPRsq%75%}KZeXF^C{g zX&Mua+r8OMvUIOOwJB%l#>3{~6YOf27#g0F%hPrL3WAWSf$Q<3M+8k=6Dp*M8s;-p zbZ^iNq_+<5dOOuf;F*jS8;~|cH2tTLR{i&0W&QNj4ijrQ3V>s6b(rM#4FI14B9g5J zCwXJv=Uy`^k4_XOv<$a+*Si4JM+bIry1N4xCM#!@n_Z~f1}t|>wQAxCg%=(AC=evC z<6Szr;8_8+{4OjZ9ah_GkmMU7g1)eyB)C@CMu^IEs^&bRQ8slL?bL=uF(UnZsco{| zx8ELs%40?s zH{)DrqW=+16J5%8IE7%He&p973?PD(nRQ|P{2c|Z%;1>cVG;c2pOOeMlRCF;@7jbo z+@F!^4!L?I0s@FdAq~3vMgdmb&gW!iu`|k2fdA z#>K^TI~2)8ixKU2co0%D;j`%tAkbu35-bHb2(s3Vqq6f{wrsQ*1zDV6K=xlrN)%wsyd-Zif_bWIP4? z)TLfJvC~uw7D#zbD<|o5TeR4ZdcJuRj^q?jD+`y%t^{V@y?b9BQ%^k&8%7~Sm*rCW z^)P~${zHRee^rh35=3J z_}83Zpa~e??z!bwm*{wOvo)#EZi)s6gWZC4Xf)pb&?I zE2z%x%rJ59Qa))qdwuvH{7eEc)8!RBb*lQK;ma2u9`7e~E4lvTDYTsUc7`bIpj%)Y zQiLLb3{FVDNZ$#lt}s$&T24MXeSXSo+iADANZO-7QH_uXZ;2M6ykCR$=Zw{z`2g@P zDpJxj=Ig7rjeM|_8s>bNg4nX1-d+mbvljzgCxLmrcXhWP6g!mBosXzO_ahCT1lQKi z%V?q{hI!G?Z}kr2{e=@LKFp+9R3O``nR~CS$qrOTOy7${z!Zs4K|-C8gOK;Tlp!LX z7NuYh{m$H(C;GS$N7x!8nPp?B9H-?Fa}ZFJkSbm?5Nb2thSQ4`MHwN?d2ko$qIqkw zDi8RBYR@|w&YqRMW<;7J_&v!W-f*0BLTE&D%3(!wlB5`cfJUaOl(Uz96`t?!N@w@k zQ(a(Xak`aK(>@$c4?ovOxZg|&Dp?|RdUuB2W*=6?+6Xa{k+|RKOKd8cQpg4p!wFL1 zkIFrcB%Tbp|Isq#?a7+~ZXnS(6x?Z9t*cVd*aKwALQe}{n(EBgG$nOg)CsuIpAfro zBSZU|x`9-CZ9>t$jEzH#%tw!gBV#KR2=N1p5KEV9*82#CA&JQZtDohOP+(y8ieKtu z=iyP@b?DUBM_YG!0l^c7JA%jwU(daA`SN^|>`jB!rI{ED2aICafxOuLYRqw|*EN;L zIp1G{SS>IYCT-Qgpy`gMjfL!jWBG z-1~0^@GtaNQKK#)qJ&}^fEb3mk;i)lPiJPdP~4%e;dVv?c`9McJM``;Ar3#4laF==27=SgV=C_OshrDo~k%2)Uv~x_k zP+f>Xe$&e@T<5!TPKjH+i#UpQ>kff!9~qiVg7D?WDXXJ9D744*3OK%)d%PVNhSsz` z;802cUo^rss3)-0^Z2)+fSz8H$%vqLoK`xz#hrwrVqys05b!uKdRMldO zs;NJnys5ReUT2=wjlrpE;)=`uZG{hPVD$m2mvpfZ_di=^cGuiuw1H7}MyGc;m!jVS zT_RI{p;>5b5`aJKO!_R>&|AEjkh@w>sHp-ne4Lz(@#8fflBw`J#V>g>fwv}-4#D*i zXBh=N!~WzIcoxtG8H=XCX7=4I31J4WS`r?iIbOCx$^+DtJ~Fq95efmX0fa4uB&Bee zATq>PJ+>+l)CUkuBS?6{t)%F?+3Wf_=iBkX(E+tHJ&*UQNIf@4^5n7N@)M8uaen^x04>rkB=3b~-pd*AV4t&|P?F{QIo)kK_N5Hhr2LZmNMsU5ER{5^ zr@c#rLjn6MkJJ{vgg+2$u1hP2Nj0}Kt9*jCG-FvS2rG%#d}k>)D*J0g*dUZb&pM(rrn>v#({(uaK(2yoL&I*P<- zfXf}oYbJ#4(nZU{!a{;Ri;U!)h+3!s@v`N>%?n3)cuWd6E4;%9grI#6)HR~1BKDk$ z2!6;kqv-SUV6`A0jspZG;t0rBRZ01SzX0p}aH!M!IL`>*pr9l;?@DI~_fFAL->&hU zm*337AAvZcIB*~mT>jv|0272rBw)6g^T*%9Z%^c!tX7Q-hHh2U!f13ohr4ug4H{3t zdrGBIj57kh)g+$gO%7OIU^SYM6SpigNATuZX1$lMq?LKMZ8J0P&;fC6+ld_P=H?~? z%l=tTPAe2mWVA0o#!W!E!K-bYXV3s2GTuT0-6yyA@YOE+If)y!ce=p#Yz2D&GRP3d zCTyMBEYOOwNH}Cw<@oA%pN*t)X2ZrVr3L&}hto!mdYGN?zf6 zf?(hY6aeaM6y1hzd}loha#m6b?skee9dE62(qcP;B$noOL7cr@+rROr8qXs23fB=l2x zaNBHr$2q_iLV7-9U-X0Ef;)4vJ0=5QH$ryQOjs{OToY{|S_0iSDd*uTmEoaVM1L96 z7kJL#7~ESrIy%a7Z_dDm*h)0T5L7znM}GnHj3NcMLL~{REyh;fu&yawXi-%ub}U4e z*5PmEf^#Pa_E$sxS8)8Ht!In-yZ}tbb*qE~@nj`t?*ze7_rDTqA%ywmOV9f5BDcrX zx%i}bY`19vWYkU|gYu^bJ5$W3qEM#Y00pfGTZzd6Skf|+LLe{^Mk1nb(&5{s1&&fA z53DK?^+Yj%t4Y^Rc87BZAxRP6EI;E8JB9hJs$}*2mU-S!Fqn?QO4RiF=#^6m2|d-^ zWJx)PhgopIIVm)uelARQDAGGFg%f-_VH1VrB(-3+Qi7(qRTxtPDBok4wAr?YHV$6e zV+jrXco9KNgZMQZ3z{|xx!<>=CWx=`D_;b0>x5k8o}An7ah~A&7pA+r=a+u=X+tw6 zYAQ^rZrX+TuMA&qNt?REMio@oy#n*E30NmBQkyCSK38CUsXtrbS~`|^c_O1O^KRQ& zLhgXQ)c#?sGR8ncFo=*b$a4C$RH(yGe>&TNeK17V%dx{FqZeX(wbX^2Q{C5cA*-{p zJTuV}CkOrNPh*?wE>EA1F0^X49)EQq0x8x2W;+qN+x73zRl;C0|LMR@B~Me7A<2q~ z?qW?u%$WjRbo9vgC)t$Vm6&-n5VKf>A-uPn5#`}jvK~51C-?mHkHr%(MW8#DB7B0LSiu!-bdDH*xmYBW{2r~xOFox;nvAmhS-iW0%< zs!HwK`2u(qkOmcwBesuV+i-jn(bmV%Q<*&_^hUstSVFmK%!M3*O^HP1{W?1LcVj~X zvCf^~wPFmfi;FjXe7Xy!g(&!&0xGS}qmsiJ&pu!O68@Ftp+M7llqSkC{#K&37Z&_# zc3u~5m5sFv9AoNU7?KJAb=^oF11*q{Z$Z&<{K$;~|12#g<_2}^rPneI;7=pogbM~c z5HG0gKq5pYkw%*+-fB^U48vA6$U-p9kN|_-pyCG*PfD1L0CYH_D%}*I?{?kqCx=}9 z(bJw_em(AgLt{OfrD;1zLD=?2M;V7*VnNXXy6&=a&&)hmN`4FH{e}@Anit}7u%fF3 zEb1cuDyf7>7oYcnOviQ*Y0RbWS8&mo9@}@HcyFOH6}2N$k9cPX;?Fg^S2u)ttdG4` z`f*&k{1v^^nvETar(AUYof@Df3hy1!6x^i|2p)J%^G|&_sV+c2{*+RKPz_9$tTOVo z(f;TdDn4N)M0R*vWA1I)y47HLel$Tk5~(r#bit30yCiv>Qkl`J=vMpPUOu{4(I2R7 zeWiOt#gmvj8LN+U4gUtkPg&*))G9)Tft$dezjWm)CgO-{K&X*m`Fx`1+`{6Sq{5MS=zrYN~+C&rXNEgj(D6lE0$dvbO9KggA!&Fy{ zI`6I##lX~QB@mvyowSrdmIMz)!()<}`77}4TUjQ(1C-H15S55qpZWQdnD!8-m*^7% zzd63-erE@NzMb7+1&oPcy-Kj;L^^V(IulVc z%+GDm@X2!XIq>_0L+ONMkW$z<#wSuRd|I2{X#p=IVZF8cIf1DHNd&J10aOUb$J}ro zD~4S#fC}&+jdMbn5<6{&gR_rV8Giyqx0?FSS2cHt0wa;+^n%~z_Q0M%)Z($O!hC=U z@uxc}nlM2NCT42+nu0>hLgZC;&7ve2XNb`ZC`Fi;A;!%BVUmbp8Kfm*6)Y_+!<&~t zq8@g;fflGf@|x-LX`M^NfCtV%QI`_i=eH{w8X7SkH%~``5^#I@lGt*tdjr>r4xS)B zVR#&qpEKer-%3Dn9>P;iBWHefrYiQMPkIE~M|U@}DD*o`M=6IJEP z%&$ELAA^p!JA7xqIX#=bmsA-R%JDS5syk&Q`h6@{X2&FbUctut$^xo{^6YCCDe8LC z)$k=K!3%^v7~@(#0~u|1p{tfHlxrioV!k#4th3q%iW=IkH<*F_`0-;(_r?4+W%&Bc zc~dI2DV2^t62 z2%Cy5njItO2OJgq( z;k(Go{F)gf(g7TmIaVU+qt) zp3pDi@4v8b5xsu-&?5$>wB|#qTeA)t8yF|EBpAl3s2I!BQ|Cu8MrWBCM^Ud7HKm9O zNBp%Tz4F+~*EpW(n>)h z{xCjhf!cMNlaurF*muJFAwX7O-hVY&p;(@R7y{xW+kN3drxUz(kmLIR{Vv|ScNQO^ z@u;CeMoC%uLsu6a!1crY{PRF&dueC_oq|%oh$*H0y%38AH6c`PwvFTQJ2BayzS7)^pg{jsfU+HI$8E^*KkoH$X;O zw)6Mkd{TihsWt!B-mV3#?Lrz z>`<8LmWe+I2SD7nWya&jH-pC)5f|SL9R_NZ{1^T6=g(&vHtz&hKB0js8m!gS`l*qC z`~qZ2Qw&EjFLmej7w!8v|EHlUejdD+yv$1<_^^4q%x#_Vzjp0sfV=GYY4LH*=C?7Pontdi2RD=1;*>hHzaA7MQi#C(rjTSwsD}?TGB{D@cEFAsT;5U!gUM-R zJZZ)Ly!`x9m{T&>uk&azHdj|ye+7ZYl3zRk+1+gE$8BjAirqBa_~&j34k;Hu2Mfzi z)RRkadsupepJiufj}SbSot}Of=UgP-E39&+zhWP(S=sUxDAn>m3lmdd+wKF^^mnol zRtqM4efyBS9kv9rlh3YvSmwL@DJ5OJ1&>K^m`sWcpzQQvlXW!dG^84 z=X^WhC;b$*uSZ8e5e!^MQ6rVKk?*5FH{p^>M<$I!KDiuhZOE6q@20C1QIfmz& zjCKf}(b3gKpgiJ?O<;a5d~8hP8QwNIT{IH{4@8H(_ooXNEvIgrczYWdi3+m;c@F)#Fww^-KLor)O-VKufVS>N}`94a{85cFv`{dC$#XX|LQbPCBkuoZ1a zo#v6cB`m+)R47UjbwL1LGTn*OEQ3>1Df5@+AbkJ$(R*d{HEn)^&$<_SEg@iHa#BQj zW?8K!;A6%QadjmnDmXKNlW<`58)MwdhcO`LZ|VQliL*(tg!E3Yjt=t}&$>*_&C}wd zvnAwhZF5Dvnlm#pu3-E|j!qHQH|Yv1YwMPgC8VPfu7_I0+}IV+3~8lb{bN$Y!OBQi7!H!4(ENpCL#O(9E zS5nV~BhI~%R#0#uL=E0!jpi#qjqk#2{O$H@x@T#N)7_(ypYo4F`E<(@BjjRiIdy0@ zv}#(+Q)cqc!;4#S>kgWg9<&9Nh23ab#u(G?x}mOU?_a!S#j^LAgFtVPWBRGYg9=_wVzf@9!NOOPKjJxbxObZO77mBbLfjL8Kab z^1r1SCBG*>jF9PdJA*8IR%!4^M8cCDw;J*X2DD$&@a%!(qkPYx(378JAjCOgeI}=J zH&8}w?ke1wmuELS@H}n}{`+U`p=TzLs58a3!razs_^JsxK|F|e9|AezQ}|66HB_kl zL&I3BmQb7>6kn0?x+VdKcqFC+Un|qR^rCXH*VgnfMA<=_wq4hKf=J1R{FQQ z-{PsXZcTX!UELG#gCxvoEF@H8>b%J)lNnBDo>8}x@T7hN@6=VnXV&8!x516s7oO|i zu?7j(qh$&phw)lZP+>AJMV{W*L`O?biMEf^IHCHdq_Dh;KO;At_<;+;EZ)=(E3C(4 zKW#aE_!BbKX<#YLl2V=ba{9Y{droHNL0C>tfBBSk6u7q^%8NGhh+#}lj#86r&nr5C z{mC46q?r!-!J(kPQir@Ektkn+c%(u_(-1r5_NAkPMpxHmWf}7B3q-4O<~n9D+>m*n zw`j`0!vt86phJ7ynYaw!#BYh|S;3zy=Y}Lu4w5Rpr3CGlPM;9>bH=jXaXm(TX8H`r zY}9+OrdpWmdgkst%Q{UazK!s*?*`P3Qn>Y3GHILhw{J?~!Teb&0^-e|Fo6%6@Lc`=JKEHc6j@a? zAzKkE0}IK1WM1J>LfIYx)>asfiH*I3HiOr8Hi{{2hH}~OjcnO z6OtFTwIx0+;|bz1vMj82XAfXXy@D@hk4G(&^Y70b0|E35`S8X5S4HrW907-RCil5@ z-u^j9oe9yu%kRNW1J;PuF4-`{sFi&cV=#@X8|Au{J9<#vo-Ol914%kwf)dQ+K#ak7 zIf4|=ylrIkqE2vSH>`pBFiI;pOz?TXG&h<$mRP+*X0xQ{3A=sK0|{NP;AUyx_UuWV zVQ=U2-DBtmMw$~TQ#1+M8uA&OhDGGt(N$L*Sh#Uqri(Ya z!uoxDe6&E3@Gn|m=!a5wL;u*ZvjS-CJ`tq?m$=9xA1t?=J&?JnAp6v|;tIbHl`3=c zrNU9Uu}>3(64l7W=QYJiZ$E&2z5|n`5}cj&RjjQE^1EtlYgt}(pzo5V52ES7(1zwn zXmQ^2XV3oDNo_-|j7UlnfAUPc6wJ#z%>PL*V-)=w7C1|=xS)U*`erF)j(tatu!)Il zoweLVb^ran?5HT=SU~_+VYe8=ya$Wy7@PqcLH_uaF=hi>R&>!r^80GAb8u9E^06B0 z&&3$UOIp7Dm>RgOpy0#g;5LXcU&QOl_jlX0CZy(vptcZ=Y3*7PXq=|CClbnrhAad< zkI&-S0dL*5BP$)I#bt!cIr--npX&_x6v5NhR2#2@gWX|#(t>z(^{^8v7Qe5aCOEmQ zpi>uxg=1>U%C-`Z0H(ADxmun+@%U61Pu0u=HYx{@`O{AFe3!yuU4;B-q~dG_+|UDXs_^bz=HGmmk+#-uZSs4Gj{X4^m*GLM1kXQzzW(^cp^S`-G@YtL?mvaAYii1f zGXkZ9cyfmQXHm|1El2+L;n4Iz#D!z4?Pyp}p4?7E7IfWrNJf!9f#Q;qnnL_Pgu=@tSW>Y#6J^y2Z9)V z%YK9HJvuw0aY06+4qX8^)`R(rtG925mk(dPcJ27tv-_Ra7JNk&^6^0+9}#?Mw?1sj zG-}-g#q<-p$d?-G+wUvfbDa2=HUiy1`lKDp!JXd=A5cQLEkVZmiU|Zv)2c;MRKB7Y zx+*30x8U-~@t_N~4NPw@-nc=`Mm>b^2n|*6^m4IKP*9L%!oB@;bnBNTV;GMe>;JL1 zSOKr38%Ci%)YeM&&+U3qH8WGrnallBZFNKUGxpBR`;oF<|s7WsZd|Ud|0Q zf%q^de8R?Ndj|&*_g~XQD~_bxGgK3ZS}mfcMr+blVDNSO*NvgRzDEeFFpxJGc{^CRf%NgItn4U1KQ&->ISxOn_2&AD`f@P&#Gr6JA9#@^ z5bg^H-`qn}59r#kyov%%oZ3&%Scd!iAAK@#E#7^EP{+>6IWAW@ce9F~TuYqLHDv)`4 zhKF5od_FWb9zb3ZMj7bs>)V8A3aLbSK&pyp;P8CaM z;ZQRBNtesp@&O2%`J9cxFruw>=pn~Dlbq`=BZFwufSL<<5MSy5X{ zXdgFTeWkctA_vTZ{QbUt%V6A~rK95m)u4>q_$nNnYU=8WK(KgZT*@B5rT&a(1?NEG zECVKLX4}q9qM{4{M#`~#HxKHZ6$ZY8v|kxy>Z(b0{5 zsb%gg^+G>n!k{X?J3PekC>-Yr)`LNAevyKrO+=29O+okc$ zT(ColdS!ZcwzB%$hvkKcqbARs8IU*D;NYY$T9Z*yB8yJn^39t!x3#q?h(%R4G%)Vi zu_GHWRAi)Hm1F&8;{!=L(YJ3Kc<4hmuBEH%2UnC0IMQLUyAPQQ?yU5no%w#=DG##voWjgX(6o2z7Du@PN05gsPSurt^PV4uWLrB|G`x8I0G-rY?Rqe+e2 z14#@VOE&G@dpletxek9&i3~YJUtj+S*7^H~P{-v4(HN#~=GDH_H@Ag`0pQ>$ZL$>XZZs-GCR~Ex3$8 zHSYx!kDQo!pZeG+^i?~nc>Yv)`TdkLvr+r)oHyVZ6)!*dV7fD9OuoO$mX!45z0m+ALw~Jq2Z~D2=E0q3a z^2RTk-N0}57nk6MkuNEwJ{ean3M>Z{38fh!T-Dta?fcY3jt(#=G@hmVn&?Gs{tJGQo%(AU@Fp?Tg5D@K z$X99(IQWzZwJNLZLWS%Jb z)Bk!EAwa7T0le$(mBXnn1D*3$*c&MhL`IqIxba1qwhizNHm!% zsU*l}W@OZsCbl-wSb`p%AioegRCg~EqxM7#x=Amszsoj?i3!zI*wd)J4y&xF)~*l3 zAH}Tu|4)%}@7@OAP}lK(Z6y^IP7f14zSIS@-yXI&UKM*}K303$uy!!v#B)5fWTT$J z(4~(akR0pwd@(Blygy5vE7aWK0Rd*~mkP6(g71Ps4_0U2?BLjd3*~!nJ-r9vX6fs} zMJ#$G^E=yIfH|=5JhL8oIKvJ>M#d7uCZWYUkFqZ-@kuId$1gv;Mq^I?95>STC8F=4 zLx-rjhOdb~FGGb#zk`Q-bUgCw|MgopzQ*HV48<|abz0`n-|AdcmH zL?7K;QcixV`SVMB6F@8eT%az)fcs(>7%Q5$cQ6q8>W^LjTsg-rZ}@zXuhbLi85yL@ z{&WGd(qN>N62Gxd@n!9Uz4`Ai;XE6KrlA`-^A>S&wxoLOlJ$GeuR?#c0umgD#f3}S zGsrv1mtzjq_CHstEqw$>FCwA^&PW_BN)8SZ;LKe^vQ5xp{EKc{JessU*kUA`B!xUy z`}f^WOE2^WA)^OC#X6aX>FM-{oNA~Wfb`O{aDtao{K z23A)U`S<*1nJ&FfzrU4*#bv;(mH28)SQ{Ah@8e(k^n7j`VVY1b3&~&;`m=vbjYA4kE z%LPz4lMtqu{;jT#WtYps-M8~yMSfciyeXw-18ke8r7*W4R z#dze+TFGX5+1LY3?V+~<)Y$&M;DMt*u9SV764*7F!?9vEOjDdlF|MjM1o0X?IH9HZllp$N>cv&YW$)Pcz->s z(S6G5r&>U=@PDG_pKE>5Wv4TXl5X>Vw*1l)v-Ww- zUpB6lNh!$p=4CK9#ed(pXtB8!Ka1~a&AOZuGC#|(tL`#qzJkIf8jl|oI?RSDtr;m) zo)=gPCSJCMt<}~m|Lex+iO__yws{!MQ;m2DncJ<%9Sbvm@k*gpkSUtOW@DxjWpVR9 zpTfNte!B+rD_c^YGx)F18KC*3rYN%=m1iJ4j|(gQI;@09j!J9l2ae}5CenhQSZpgh_^}WRstJ)<&p0zP)9}d&2Go0NnVEfo z-CH1CPKJj;&VB&usS!$iAl z;3OeB+oYmGKJ5dql-*?srz$fkGk=_V*AtK&gmsyk1VU?BRaH`BKKeCQcnNAaDFmn) z0!Nhen081S1o2k|kQDsXS7UXNT zu3mjF)ydIuAM{nI!AXs_YwzCsr~$I`^87E z&{=eW4xor4igHvGA@iH`L{Mw9o*str<7GZcZs4c;6%-Vb>>w=bwnIRzk6P^DBS}A`3Y@URh|EW;n82KUlE4YXrxhl_lG^3;C7{mp)1@g>7k77q z_FGX=SAi**{9q64kB3bVRYyj8`aAdz<3_P>!7{J_?s-L5Sg&0yQoR90oX%$#>mBwj zZD@|RH&w{7#if8T+d9`zzl#VstUug)178CBHOtVHfSGB)Om(ixb`Rg|m& ztdBqK-m}LNz9BbWiF9pHOwihZ)MDq^Pb?Qqa3_gr`~7p+NAdORzr1?J{OEH8e)p&r`QotJ=C86nUNRHJqs2p&I8_+>e z?|>XOnqo)xcL!O%ufXzjd3r&W@>Wyh2vqWMoA|EhL4C=?qxKY2m6~J1m`!WnBp+A;qf?0{%;?WNd=mBe6N=HCMYi#q2 z&1F)-y|ciPU^ooyk5w+!o-lU__HoBeAVl;{k)-S4niIvmS>6jdpQ!qrH`vMvHw# zlC;R05)gWlp@dn+#}s<)8XX|XtDwp!2}A~_`hItk<+DI0F@;D!!@md(VMdpKN`5DN$&m~gq!>S`v&}*rJO7*E=vQkx08b9`0EOtwb z<`o=ypF!dB)vWe!k2NZGkpy=}*dD69YG~r=*N2VLuivHRAU%E#1w1>v5O8V7a6YUB zuuCj__OkHtWkB!LO-#aa6_vp*d8irV(`mB&u!tZZ69HXzpTiU-*Cgb|(4ic&%9DF@6N03iq0(#3$mzV2-CC^hNdf(}hkD{N5=e%P4^4ly?mV}sXe z^dbqsji%Xk2noP|AiHNdHGLV35Xi4AeKpVpYG_P!qu)P`16<3*Bp8A}^!Y0R8v%-N zaCW`|){RP%GmzX1>t)?ou-V;$i)MsyD1vu^##S(QPy^{4z|YN=mr#_zpJ=+RA zv|w&(#7Ovl=^huU#nT{Pda9ZfKgtmga?pY+x4IJ-*8p4V;)R(X1n}e+c0RKRcmv&p zst4symIMw+5F?-ggrKu)&mLNyVZg=Y>S5f#v`zQV z<6HWkD12GqUI;%pVfgqipeRbXjF{t&uHqR6W(mRy=axOGtBIlPP~dIAUIS+K6d;sc zL1X3nw(TK+d3y1*r(q_wcK!Nbz=$a_CqY}K4ha6QgyrS9#InCKE)%EZB_}GNTM;C$Qldr49s6p^92DL9a(k_{6fjn-k=BvB}``4p11!_ZeWfp#PVp_uARnc@-_KPP-?<8tVIn-eFwI3a?`XbUbwE zy8bAI0v5z5Ox)5g`~()}h{HCcrtu0632Yw`dl58A5xeNYZykr-Vxtvq_&Y!p@Nra* zx3INGez1y$=5j_xMxzzbQNos4uA+QJFzQtUWF$~KFyKssaqK!E%LIMHb@Of8#!UK8 zgp`2(8~(+%$qQUqbDuHv#la+dpL`f#A{l4WB*$<;*3EOt;kj|P2F(cJA>O)F`crl7 z?Iik=;04qYmJ@(xXc3RvIy&|P7Q$)=7u4m~7aG!p!A^wBV=r_=1+HTcw>Zjd4zGO& zJuHE7adjiVe)#}VwSIi^SPIZmg8C7(7~La9FcIMg=YxzdMb8Lc1-t-7BJ+WEY!nka z^k_OsM+oZ22-h3JMAcfD7Op+mnzZU1ZUl1i>$qK+4D!1)p+5DB|B9zmKB8Z9*7pFLiVm zJbx6>18*QrGMh#!9v&Xn;b&M|`~m{Fvejr9RV~cV>gh*GvWSSJ1=Tx%bG0za;q2hx zt;BcP*LOJp-LS|=e_SYmmdVZsnSRBwvtSB>KzI+{OzS3S*4;4w8wJjg8rZ5uhWj`;9qWRd{3%aGzAH8}O|-ZH|? zEHqh7GR&h#Hv$PqyeAC@MMX+@<~zdo3nbbgo;BpOOUe3vXyxX_@4+AMAk!?HwU*-Nk;B(J^b?HLxG7s7{0YN_nPOacld zc$v8ekxU_VL;H-gYBdG6T_p~_`?)1(&n_OI0PIejgVgH>x=Q5k2F5{Lq3M2_|G%Ag_j>Z#gb?6oeBJjBG>RV`Gypp3N)?ds@?$=3hX{y_75)Hecv~s#us)E{}L@>K?#IWe?W5axfhVOgT1pgT{z#y zhr4*89o&chVE5OrD^he*TME&!%9vh6grpkT%8`w+3TUIM-al|~@dR!zWJbK8vZ~-B zBX~~Q+cV%{VSCKor}uJp-T@rx3Q3|J?trMDfE6B@kDmD&kh9(idls5pM`CFHI$CmZ zT6X?6l7ECKMjZR(n8xXD_{>=pFYxffXXrKa33UQz6+!(bgNn$t&n+U+Tjp}>9^tzY zKbH4OVv+#dXgvF-p8^xyASkFZ*n8>HB}vE6O5;CT4-b@>3Wk$DA~rN(|B!?Vo5liK zRBV*kcB{a01aky_1wej~6o;TrN}gESfHA8LOIpYN#Gc=Zqr=f}g_YoPb0E?r!B)?V|hu+ReSNp>mgRbQN3lWKrcmw)`ojg}R; zp(oI!MjB=b^OIc=>9Nfs&Z<|%oI9-4yk0}$_6;Dm_p`ILY@X=~`$Ofba;XRxfIcuX?2yJUSyH(5 zWS7AzZz1$*cHMdz7cHCHN_^Tyycxo~mIFnga& z;{dTIal8Pzg6*8=Hh#Ud0}&ZY38@-aI&NaC)u_jg)wX{kK=4p-0wuV`-8OOqo{5`tUIA|3; zHs~VFZgBJo)z7E4s}8&X3J}CAkhG9soKYRW!=4k`uTZ?!cauZSNIVE57)02JLwnN1 zP_IdXjs6c{-I#nQ8)pHm#Ixa_g>Dc>?u(~rkQ34h+Q8*7lYLa5jgk_HCLt*9+P&KX zd_%&&0UP)-u{0Wd`~%oOc)KqM#{wI2z$Eh{dU52Ma3nRrggC@g1r;`O{I$TP3IADN zpcq+7FrjpjLv6EHWSAOpGmynJiy(pmS68b%T1cfuX@iK;13fG|jOg&7AD=@w4#kex zAR{x!%e=Y?57Pk$_D^ho+!Iy2sji?`B+6XEfzj_nYl|^#mo0~jK@#PgmaB{nbO4r_ z6ScP7h>R3)2?mL#wSed!Dbbpcw_{^tmB@YH!A>B~s=(v-+RZmtT-b!AbG}; zvds_RM5KsV^T%!II+HXS9puexFuG zGPEVhULH=nNBavns+#?oVn~nMttXY$Yh4TWD>SXg%QB&hl zXd}2-0R1=x5y7cTJFuO>>fI4o%ii87tvz*-ENlE!TCV=h8wUL33am9wmD^SvIICsnjWVv6%`bisJAGE|CYRchtZVVfx)gAQp=svW5$h_*pYgM9G5wdUjvx02kv`7gy+JkJ6^mCoX37x& zV$&zFgw)><6`#*Mqs@V=4EiYTUi&pK%=<4rCs0R!Y0>r_CX~CLQK{Mp7xLT+7r&+dfzc}VAeg*K;Oi9ij%`Eb*1+X*m6WL3w!@CpgJqQb(djgM;) z4J*Ov>G}FqZ@?Aj$PT=rpi!`;cHWegrDdW8<;D_Q%&H<@6fT->ZhOd9B7g!Uq1pNQ zKpEHwks2nKLZ)y%;X7MZLyE@BUF${qarM{#HbsP zss8TgYbCQ(;kT>(dt?UnRT~PDs`*NUALM3)(!XMu7tXGnSXzEaGm=@;q}K4rD1bXf zm?7ZC0_FP$oj?su=J?dHK0^*z4aTV6p;TfAW>T?;+-;eMb84xmo@etd#jkgSGO88HEY6+jLOF3s+MltLS6FO1sQ(b@ND-ic3z z;0BMAMCap7$3X*O1g;PE*MmooHi4~)&57Hif+XTyj+H8iICPUhlCR<>0AEskWSFZ5 zeF)+}UZ}X3n11^t{B}|`GjU%`o_la$Sy!PRNzmGYu@&~Daz_@-XfirDJRFKh*@LdP z)?Tw5_~G{ettX-~pxg*e{-}^4Vh zO#sNj!*|43%e?9s(EIA9EJ5ofoL`twZNNuId`8;>wK-9eQF&#e7_mTpYzUsc(deqc zYuCua35$sE!y^DXb}u=36^=J=ORkQx~2 z%a<<|@EFmD0bm2``(t2Zm7}5uD)7#AsoCFn*O=j+^4CzkiO==3w8_6Gq65qvG%0SA z76TL}+9T{2^q;|1)Yzfw1d0PB!_%Rc%rBoja2bY-epjzrk+~;R)8T6T(YqY^K)5?% zCkj zY+(WHvl7!IkJ`Aasjb5L0tIEO`W?$tjSpx*vlVdB1bgdp;>Js{n9E@Lci&VfQtclseW<<{ z&aIi=#U5M1;W)OBqR7W zCS4*tCX&oF2&$9!LGqBAJ4k?9Xi0p)+FT{L1&qcVxZ9j=&!r*czN8uw7*S699M3`q z*rZN@$R;vBG~0;)D0#dtLVb8MDv|vtMAsrVoUh;>`T67-nAkv`QiBh?gyw>3^IRLa z1~~S7H`44W_$_m`z$bS3%165^+GUsjc zihsEPN_t!WHW)gLc74 z^@Ar$RVm=KMNQ^EN3(3jb4J64o}G1IKhUcYFiBA|<=L@8jKgm@G>fOiE@|o4_?-sF z3l1thk-PYmKil&(Y-X`=FxJ>~vRvhB6=jKhofDd=H*pkme_rL%_7Woufk}lAS6Glcv?}_ zm(*Bp!5U>w*8!C#2n1=`Pko?adIJJFGSa0}_GGqnBSxcr1_bKUO4@gPjakleWh1Mv zd|aGTqmNo-3WHQ}2NOZ)u3WJMp{NZW({=MNP-;GM5_Cnb8Hv z!pyTGe#D>~A?-u7&Ox<9-~!B~98iBw6fE$Q7n~^D0qp{K+v*(vK%0zKJk;7kgxSal zblWq(FKm2>1dX46OZ++!T?bpqi#N%QAp4_58%wQiL5^G_SPUhdzH! z)ZeWqiHe_Y=;+zw#{~+$H#fmslSXg>Y*0zKr{>j_$X}Xa!R}?8yW0dJZ{)C}6^w1y z&due+RX@Ws^H{0aE(_?4W`sAd-nDlx++9CuwckYwhNZQoWN6+LtYAcwP1A8d@gs@0 zi3o2O@ZnfPCgaNo+HM#6d&^g)kHefspJ&;FdnMC&+V6M#0kEQ zlcW{$vsbwh!)cLM3)!;?pG$o!i6b7b+#tNee)q0j_W&EBR$BY~_ct!Ie3wBltcq-i zinwA_0x+Xz5g5?GwGdut(jc_!?@kSCC;W&<+p631kr(V&eM9AD)NDQ%0)`^$8I)A? z8XB+ELyv;0XB6&8p8}{#y@QbSk(TGp!e?Ra)+&+ni)%5ulLM0w43Y+~U%&3t%B<(U z4TZM;kG64T;YflUsCQrvWV&PRH!?#wdz{Qml>UC04TUD_>9cU)yUfRU45?Ai&!6eJ z^DyWtL!Q$-B))q$2OPOkGDf{>o{>ATmDXR;;TK6-nlc49Z135}7q;q_HT7NlEX(7^ zlX7K|!;iQRmwqgEWd>LYtuI@+zl8}JLOC0flQn^s>h}gT& zjHj3ferF5QqUnGtGjEa_@~|!{jRD#W&jw-;?m*o5jLsPqhT{L>T~$;DYxPtSJgx07i><>#=q?&rSw@ZqS#vBMNDUn317^5KD{ zkRjzRP7CBN5OjunPq7g(P@?*>>^}^q*k@#dfcS>NQC3SPdP)9&SI00NmcEc zZ#>%-r`9B7(7q5Hk6m6r6jz6a2JM-W?*9G>cz8;jk z#?7W?W?}`j`u!8zFDRB)f;d|2w;A6m@`sZ97le*rarS{{{4kHgo-E9D9kW zNns+{-O@CfqT4H1%JSdf+?e+GTL9&55B@_+oDxG1?>=b4a*~AX>BWl|$rn73hfx{4 zDuIUu8aS6#Bv;9fAdmGk5i=+%?Zj__RBoDdd;(eQqw`glO~lylU{AJ+T~0nGgJ7mV zvo;s|<#_Gu(hkf_XpDRgtrAH>yluy&*ZCYaC}<(}H;q6rA80qG3sv!RbjoI$pmNs6vZQ1ZkbYH4O9F{f?l#}5%h z6@5*}V4xgL&V3Uxm8+-RpLgWsqWy9FM&@}9253l-q|#)j?hs6n)nA5WZ>kW-4j(*k z2WIz+MbTZ~s9UHS)%p$PhWgWC(i;UDZWr%vidvH<-{5O~^Et)%EOh8HHlHvp_2ec7 zgh}?eEexF7&Gk4*Y}z!IOfznm@IkO7U*FqzeX_;!>1W{N@jFO4r1W_`i(i&5_oBH} z=>dnJ_rcd=C6`eTZ+GkOo%~~tley^CofV@wsmXWi1=C)}7l$%(taGk49n#B7nn_7a zI%TgMnW}HEoDz47Nh3flASwA$)}@0l);-?*IQI8^Pfb*;`-%7ipC>$I=EA2+`tDdu zUHtrfc=l3V1Y@-_YvL8B3l}0aDVEo#d8>wSCP}t{DMgg9oW{)5==C);X!p7TU6AM( zny=7oTKJ8?-~zhMTPtpP&-Id$k~f>bAVJ4DM7Pyxzm5UA^M<*n7|Doei!=>kL-i;z zQ4SH~{H-t>uxG}ZE$lS6EeD2T7wb; zj>d9;Od*a9m8=g1XP)hE^)vSz`<$>!2rc@ZEwYK}w@4{D<`!lGk=TcPkGxH1-l~ynqEA(x`@|(uEC{iX}^m(H*J3O$h54nUu zX(*F`y4p}&8_wifNsNHw>kJ>YC)4Txz-UTk+RgT{HQDAlh(E(nnf{1XIezFYLlR4i z_*wyIG+Rq2kcTo>i~epO z(8$n-y2n^bY(l|DFtH>niRrcXWNUTwcN_bxkfhA;_Iy2|bQEZ>0qa}2Hp zON5aA(sjydIm0>&Le(1+eSBHVPB_4s6oAg}yeznVC?@Ij;3SABZuo+FmozcZ`gGg; z1PyKmv#f;Nk1o$39VK$;4|1>^$UK`Hd>()eqTQEhASN^7xohDhAC-N<4nyayf2ay2 z>R&Az6E@#JNhR%1;_)sA3N$1@oy#7ncG!m&2cf8*7qPQ%^_$bJ$_PxFdh>pB*htry zQnOXrn0h8sc}uV`soz+fX=%Iv?p^%Tjlmz!?FLqanNy@XM<`Doa|Ou<=1L0C&yw~I zn$w$hwibu}2)fCTSa;NvSTnhde&)2gHOKWpLhk2%(F4}6?H*+`e&Y0!|6Zx<{*Y^C z%opc4^&wu8k84iTzoRr%FmS5G0eO2W-+(^~v*OX%hhSq6Wm~+QG7eyH zbP3{$u=I*g)Jk+;$H8MsIz(H0|JytL=E!4H9v&Ov{G2#w!cekI222|;H0@;15KbVR z>E6y38Q;wRE`Cm82L}iOHa6@?(%{+}ijEY`RPus2BxJCXqXG``0=3TRmZ`h_oHnQV z6m9LO%L-`q8W&>BU)ybV`{+Hlc+}j!ePKxATVBKD$c?;7Ch^k*=ZlJ3>908E<(^lf zs)T*%;YHy2Fv(1LD!HQ%tGDf_d$W?1!9__MsauwDVH z>Y-jCTUN2ys9b1SnW{rv2XpnZf8{a1pKND;uXwDZ(8FGHe}+EY;zNmV^Hr@k2ubVp z*E5vwrVLnhL>FJnF|zV$QWzUTRfq#R2ub~Y9B`bWVYSvIvFk=Nf1>(5UHf(SFx~uI zfU{_99uPbL1A}>~WhS|&v}-5pu|}HR<&DoV<(cM3K=f>AKZI}`%fD+yJ5sxOq}8(!OTz;kZe5eHG1Pnzoy7y%M;R>|8G-4rGuf`LHpW6z6Ln}z1i z%dLhO9;KeN?ez+!4EzF(_$^K zTwGkfH|z0p7X8|bu89fij< ztg`)U;PKcWY4T3L!{su%p+Z4 zLN-c!a}1a^*gS^z3qGh=4zXt;p=~%vbn5J&=}5b+KF2g4obD>S{O<6vXKVu3 zD|&iWN_{&UXzmQ01|3~%$>_&ZojywAJ7Grmq#<%Tv6T!G*`l8w{mE+2o;_rf-W&x- z>UQ4aLJ6(3=8CRiNaxwdr=n4ej97@<4}Yyt=`b6w_I!(l1f<>fW|>rsri*=WNXVP1 z4tqid)n0f!na#PeH2Fq!sq^YhiIgBoiNL|1l9YKeCs5GBpY5GZG0teUY5;pHAVw=` zIjNo~+>H%a*4k?D>)R_JOzBSNj-G$g8hy*_A+f8ejaE;pKruu(LH8HH(K%Rf1=kLJ zZ*@~wyKxT=mWrT6Bp2+F=Vy_j_|*pBOzfMzy^#2WgCZ@@`wYN%GLt?e2aQM%*tHY6 zJK!gQ4#Q_?i6ZN8EAdjwP&nu)%QRmM|I0vVL^)+^IyQ)luOS`5qNlFd-mj$=fq47H zn_|(n?$sVZ(dWS~3iglTgqdN$CtvJ1mCX~#GPiIX*}?+eOWG$ZJh%e|r75Ql&B!Ol zho_~b?Tc^4pR*0|F65W&Xm2;=n%zAGauZ$e6`7_sp#K(h{Z9v_|DXg(Cn)#dN|UsW z}+*Me0e*6dknbDp?OOid?vo*~%bF!vr|x8JEa<_na7ZtAT&W?pEQxLu&j z?05Y!fjUV||0Lo3il^lhL;mR2bOKw7JKULhkii9ewE(}s_JMNSEuJ~v&Hue zF=KCJBOO!(PhQ_fnF#wJwQ4YsQ!es3;;+CV3=am`yOOo<|sz4NMl z4t31pWOq{u@%sFN#^TYnWy`7iC+?*K&-bHY_Nzhk`Yy9X%q}UJoJ&(lvk^Wm8&gUr z9gu7eQbHZrfjJ<-^hg4yL`n62k3L31ID{6F{0sdwx2y&h9MgbNsB2x2?n`^h0%=0; zhroLGdJWI(^c9%j2ia`71vaT}V6dO*=)`sD??8FFZPb>Qao<@obOZPAoz? zN_~=c&8hz2V$z9dJbC;$ee!Ojs+rl{k&_R!wq)Bj3rC2Vwp-fGfZiY=Vu6m%HLQoh zyezU|T$WFx;nw6@da_~SWpgtt+M@4m)(hcMD!v?nzdA9KyZ_DQw)OGjG|VcA(K*ED zBp8MONBeAxNSQvhRX?p6k5qo#=-9ps@Jq7jY_n%X@Ft}1+JdWKVodj}jC;Cr8i>4K zJLt)$$?jT4;%WGZWlR~D~PVHIhwGTS>GQRT);~W;%?S1|&R)~-9 zzT~nyYcTRd`SG4ff0PD1*pn4j@PQn``lb!#kn`Au7E01Z5oz3ez)>~H>rRsi4YLoY zKtlHibm7~#y&9}Lzfqu^3A!mdMm2DU-qC!MLgp}qM(vw7$}TPiwci@^4_`p;75ph` z&>oZC0)d9D3dJ-QA*7&zc>1(y;&FHG5FQ=ycw2i8;>d3?J23YJTOG4TGOdeok!>aJ zJBh!r!9*nTSm6H?Zrd(twQf*`_Swj^b{T>CE3Uv26_y%4zj4`J*8r; zn@n%^=ww_))|V&v3%hH{lyLkv;a8O`st*hRcT-5i{1tn%fgbCF3>I-^$g#gnL^E2bf~A!m~XCDyVf`InW>I7OX_O5T4|xOdk*G$B^Nu0H6T4pQ z@^x5LDu5-!Fkf{%7A`>k?y5szNEz-+$U-611ACI2=l1O0P0S&P`&I2X4`WRDA#KNs zAeQdm&oAP)h))pli$M*!5yc#_U@YY~F??t9Q*&oDW)NA!)IjSY6lKn28%5&jvItn&_w*vULw}oq<4+rLfHOf^_pUd zF?+%$p_YFRxUJ*YI@XXJ`0RW}|01fBIUgA-JN6Z!kMwY2WYlFC^VOzGBDVkhRAT(- zhc=kv+Xa&VyI(`prs;QlQWdJRXNOzmiY|x{H&Mg|$W9Wm>xn3VFms6{ z?DLC2!$PO8Tz#tKm?*#k6QUkxrl%$Z%Ia`{D7|jEvXU zgMt*%$P?%#v}Y{Jk=A2gJwyWmm92Kk=ShXTzd3zj z)bN7JK@J_5>ZqL)4@kchy$%%%gJJ`JNTMwC6 zIXCoKfeos5NU@<3Wwga3qZRyJb6ufT4`vr=}sgYZKfz)Gq! zQG2n_`e%P$O+h@nB18-hS)p&enlLy==D;vdK&$PhyC0?+ttV%la2H$ariNi}xzRlSA^WOY35#7o}B#FH}Bt%9e=EnqML~HTzsztaWuvT!c83;~sW;Ws2685gg8TAG;hNMmriW6=-uq*_2)~eL2ZR~IB-!(33~3Ufzup{0 z9Yw6wDu@_U^QKIbvurHJJ|CT2DXK|hPCQj!T4r2~mvz4aZP{%Znqn9|68h@2xt0Zn zDe&Kyw@cGap#(NtJB}F%%d6Gbb8H-Vo?$=iT&HAO_kPGz~*{jiA984 znmbPHlSXex#`V{WWJyFL|3!nK&`?z*u?J^1_@VqmI!?;J@Q?#b_p{?&z7&gN{-kg~ za<&!au6T%kj`{7JL$757N=_SYRe&sr`jr??DIc!StebAgNbBzySBan)f_^n!Xzk%h zWpr$|74aR?9lS4Me?b47{zX{u9cAB{>%T=d>c)*FNX+=@+Xn|Ckqr^u1vD0-Bek*M zD&E855zKO86A%EWh(Fw0IFc3{u;oYJ3_KTUruuo{p?@c?%4@zpZZ8|@fV&<#m}?q} z&GdY6!JX_r$oV8}GY#~TwU!}@3v$(WYC3-OY(_812LNdFc};s14iXOC3Uh#DZnE|l z)gd25wMJ6P4Ey(VPk?WBlNpo+q4}Axw8C%;0hw=TNA$z!lT7X$krBuLTM4`uS(Aj@ zR?3Bi*|Ru#?B^vT0RyQ37+6WL!oRhR4o1IXNKdxX;uF z51@*Y@NoFILxtd5(|Q6+wPOBtaY@O+yIWm5P^J*RA~6BP!Fr;}5Ts0^ttS0*WEL@} z{9DKq#8R__p{(G6Ad?a|y~p$Uh?|79P-VzxOjRfhRDr}1x$ym)rrrYx4FgDo1Z|kzP&Gml*9}bSah)$amTM)7 ziUu@7d~a&n=5YeFhrqG|@tAh5lK-It;6gkCuDPd(;|Awvb_2oS1IqAv-j<%-4KC(-?AfcJ5wV{yf!}q* zz@iNPs~?&m0)wKNSJGEoS4Yn4253h;CKlI`bKcGLHS>m_xkh~`MGVi_`x?E{YJB4~ z#@NuIst<7BQ|=EHef>C_gjSgtOdb0)wuDnA(u+|0BhYkq42W!I|fao&O zfbzir<`zG~+<~IsAE*O#B%SxHFAJig-vXUgwIQHZbVttIbfqUWVN8l;MEj0#L(n|m z;(8iw1=P1!2*C-DeisIAjXZP*-H{-owbM9#8D=;-F!ln8-%a}@$TxE=t7zlSxRtue z+LAW$x>0;cG$3~&c>rhi8kG0GnW}_v1IIMr!O)G~YwaT*A*AILCofMN1t4~=oyN)^ zFFGm@cY!UD>LEE^3%^zEI`jx(7Wp-T0b%Z;b+JhXzKR?;*Q-!%5vJ)BPZxUrN{Eiq z)#x5y$2*o(&t?H&OGM6c>SK{K(((tR?0H5ZIO;aQgb+O{B3#oxM^en2?p2G({M`oA zIvyX_sQvx{r2zaqo9;<-lCe&wS~I!P+rEsf`_$YsL6D6J51sfjf?wKMkg&+T0#BOU zM$@A6`$&T8^(Y>+1+0rr;4@*b?VK52vmf#^K)y;+&&gjszhwLnK%5M9fiOo&cnH>2{REF8J6)V?b!I-Yv0l}F#IY0t;^yp#E5qbW|;1Wp+6 z>ROG*Yu29{`#G@5`jbTFCLW5H)(SJ_;=rl?6g1o2#1iMcX}X_AL$X|l-T`7U)&|L2 z;g1Odn9F!SBM9voB`-YcfvzYAv5*Nc2utubxe*azeXGP}VDKwQAt<5CU%jFOfdt4K z<}U0&G#Y`%fOuv?H+1&W@w+%8pj5u6D-1IG4X_pwB!N=&fPLIzcK5^4UvAd$Q9%*7 zC9>}6(Aa)t(b(4xj*gdMw*%+aFk~#qrC@WpF1afY1?oM^s-P`84^|=ilb?ZbkN8z1 z99Zdd2qnfJEun*xlcKtM-K+Q%p$~0s_kf{nIr5Mmz$APeaSb!So^;!vX|N~6Aox>| zvI;*#Wky()Sld15TB$s>^y(;a@hU7RD4z2;tf`6YLTW$;3qlbb>jYh43!GNO!2zQr z;PL>kWyt{(&)tE$eLdyz>HOQrTcRFO8XZ2;Q?zhF{VXe-zUZwwPh{%e z!?FM;qq*}u+8U!ktmGC9{P5U%s`a@L+Y3G3e-rcL{lzLm@V>uE^Pl>UsV z?JEt}+ZXzsZl#uLYAK%OWDL{(+lPrV`*bNM&A_b~4Z-El2W(?*y;mA{{=*j_FG0Rm zfpy{4VOJ<@zQ`$+n_SJ0>|ovB?n{eZ!?R6lxmv6e6q^0QzQMcA`J^`f<&GAxP#S#N ze8BUS-m=y-irh3}q80N$9!^9n{+-@ZM=GWMHdrTm{0Oc2Ct`9#;)s4^B|N+G@Ds zryk36S*Tu_lC{j=SGpay?1OMO$|bEmhG*pXgzx-)%NjQbFdMp-Iq8)tn|g0tmJS!L z-oGz{-$FZ=bKvN$+rv*3ID$k(ck(i_%KdF?bwI6-LVwO4H}#~uxuG%nEIog}4U=K6 zYRIGAc#+CmQV~M7g}(!m9sYhYY8y6k8`_i$o4XsEdq|{t2fmc}`(12u96~u`)}>Pp zwWwX$AstO6$Tu(fuSX(DwUr)J_3D~WY{X-EWnDJ6Oe#YBOpZ`s@(uW(|9SdL-_=%@ z4(V?aX>}TlbXcLN`ck_j_v<(QM4$h0LF1NDU)ExnP0LPEw{AIK^-Ia3aQdOQ>*8Vq zXt((1u_-LQn9(veXlPO#NicY9eE=QXZXCQWI0f>e_OELJW z5t{}eSNF8$x{ixWOE(9JfRgp+E3v}-!!qfa9g*eFA_&E2e7&*4k%X^5eq1AbK(N2@ zRLh7nJAx*RQ7YRtHqoV`2M*#$0LHYI+?xBx&=M~v<^R*9`$?qmmv2Yi1(cNPafkeG zhK8X@JdrvnN`XuQ zTF*UP(eR*}#9T(RMq?|a`Uo5i>?E(-b|To{;J+T5|A(w+&AVJ8518{kmYdu!?F~2+ z=qhPP>0(MC2?Kygfdj$^?IIjNV27;TTZn=UbOt!DR}rot#9@TUj2dIV8PDwgXmvR9 z`;7u2H9jTq?FkedAW+x_6S^<5l$~zZQO;OF8gO%zC~-goYu@t~4MR9krAsFRaM%DS3Xac|uJ@mGr(17pb>u=N!HzGdU~`o4{P^>vF;?v|i+qQn#X z`J5Z7D%8kC8BTP}w$kxTQV}L%QJOoR<4x$HN0{h4ZDr+4qBLAA&|2At_9RAj>fy!^ zp!cCk{-;)4nCQDOv{e|hj^TD`orU!HSpQ8Ik+HZ zoKKHL3^r`;oAjfZB$Oh&@U%c|;Y2d+iykwVBizhH((A^d1Pdn4{g@HouJP~TFID(} z{$8I9tG<`;NdXDQqbsH;-d=@44gn2Fw*rdb>`5ou2k>gQ@IcmSRFkZg;8XoYoH48r zgW&)WXj}byDuEAr9IgL9U$l9uLJF-PgwyAY8FtL^^JxHS-~~~O4HjM$NUaco%VOZ& zVZCAk_lbRCB(akMwzObB=~+AH{Axyb6|oX^8ghfk_2SzRB`RH|Cs8Mr5y9#|5@2cvu)eU=2Ips zRwWDhX0dgfs$XeT&W(?crRnsbnmcD2QWE8DwX^xKPDm~tmjRx9yn8oSQE>w z$|r59xBkyDcuwPu$HMUL{PRl@`pz0)s-&G&3E)~g-B7Z&7ySm!Sc?3doPDU2&C z-GiLfDc&M+u^zol98oTy*ylxA>Jhtm>=UHkPEJn5f{eJ=yHCDu*LbxP2`^Ghm@@`} zfdFP13zG4duU|KLI>{yB-{H%P(gqGTe5jXjFhL-cH`(~Q8V=SlvOo@sX+)NnJ?H;_ zAq-XnMI7yK*z`JHo)`|etR{lg8ysmPoTM6+c#kNr*^fQQ%VRWsfa={5A8@Kg^;;Y<{=p~ z@7=DHX`>P{ga{#-XO$tD${eC7^O$*lj|=tuzqP)1t=C%5vn#*hzOVbb&fz$Z^EgSf z#qIh5Kq083$QFag0KuLo4SAhV*282w)t^t1DWZXfA%%$oK|QI(g?VeC6DUKWzhrHd zRA(1xWSEH#Z7O=eiKpOrh_U)QJ=>1cL4sdWxq9{LScJ1JhTlDal`-}p1KU1*`XuCC zhw|>lL~SkIBm4GIVXN6ER>1@zAtQBBB;N7<;`dac)JC-Sfr_t1;(rf4Ohg39JmrNg zOz3sVATW@;Pj>YF6?2h=mGuwcC6Z`Zxez5s=UIZU z*a~7%AsXfhV2eo;t5DqGF&ac6Ovbrw(RzNydXKP;oL#y5z@NnQpd|E+q$;R4X=-X7 zX9`8KLaqcTD=7u#FD}GQPKLRI(6aa7LFs5+KBu+aZ;?ykiAbTKs*vwI&+ps-Aix60 z62rThVF-)B8669`{rmC0r+-4Jl*VIVlcV^vD`TGZ7L~m_{so;u55HRe?4eg@!G;Y+c(dGjq6oQPEr zhu${=+SEx72Law$Mvn5gyL0!c9$DM}_=5m6xl zXmb4eEh!;-XI2N*q@u}{b2&uqd&n%j@1ZSB}AVL1Qs$XO;0oU z2f>rEb&egPoBao+T8!e*o(%+$iF!0^6@klue~pF25&lmDc(+dW-Z7pC&j{KCzN#c@ zBWyeYM|4szK)|e?V>(U--9t$bGet$JS~8A@8R#EEk*feOfJtq~bsNHkkyY3YrVYxr2H zOpJ}=lHN|8ddx_D*>|M;4TfQW=}-Xj zm*ELk_tlHoB_XcwbL)qQ0FHo`E!H;staG_<8EHqfl@u z&oQ&obk_P46lWkZ+jOnt*HyziZwDZM1~J@aV`C1wDmV>w^+5TKBicEay4a&pgAMi? z9UCje)&E=Kw*5663v`C+4HIZ32SQ;Y+~76)_?UbI2}g=_u%!AwONVTPN_6iJ(n*5u ze87}YnXi9x{GqIg9(35iF!9yp2gyHCRu-ThA$s!UK@%;wq*@AQ4!$>HJOf`W;yASp z??oA{Aw$&xwKZ68{pxW#kntH{vDp|1vjqtc${-gp#VdC7_S!6Grd0)m_JdUBl>bsM z)>3eA?L_hT9IIb%Yi{;2XAD=3uTzH&#HAA+%y(|W9m;nWJz>`31`|fa1mTqlo(%Nx zNX|1x%rhc(oy`iWoJ%G0QNs2kZ4~+UR8!IB$+K(c&NZp(@uQcbtk6OP2nr_LTGZ=h zA1EJ$v%4@qse=Fj+P4Mo-jPm@li=*%s8WN<7z7-kzI!I|4_`injJ!P3 zUi9bY%|!@>wcSboB#gid)kG$Y+xEhy{ZoTM8YF2nOw;S)`M-d2^ecygIN+zO{U(6D z<7))6dch?;29st(+9r^u+?IWAKW&X_GRXj-F^MyE8&D+ZSbS`E$1Sif7)#S_^^%J- z1UeDxaj4+JHWBI%M!OTOX>gHGK3Cia{Yvs|dzvSyxt4H6xh z)rGh#xPGZ>xBLJP%Tc;^VD|JISl53`h<0Y50G4JKn>Fb9q~fKy)K-Co0~Egp#HvDU zgJa;Qm2#t~fo_02xPP!U4rC79K<5G(ixA(ojsm^E^^=Tgdb3@)!pl&eR0#@|(}$!2 z+8xra@lC^Tkcf^XA%OOMJ3#H<4<#WSpHB5ynfnvVN~m7Ao2!HDKXzifQ-L^ zSM^kHSjX(R*Mu=)V}Kmn+>zC;2r5m*ZlGinQ7`*DyuK!DLKVD~h{U2eiHtdTI0He$+1VzVuuZR2gWNiJv!DqcTr%ZwjIrit#(H$_WLY}8s4*`e&Fo*Wh`NwXl zmwZS$VLfh+Q**$to`TC+8(g9oSC`?kn0NT`bw$D%jPv^o6&p}KBKTw9>L`O@rF5ji z;P1cxek*z(W1#NC1LQxRn@=PmFN&l)%Z`$q^}^WvYo)=J30COZ}f0=W-6|y#RD8Tgz4iSng&G7W}eDxQfxQwi< zuLtq!NYHtE9Kn&d$RM3fhe_rmHCwSeI=o@*01Y z`X0D5kWISu8=T8gkN0o!%YYCXn@c`Hu$O=6K)>gG0X`3AvuQ6Fx8?{MH6(0CzPi-Q zmV~0o2)H$U7c)6zMW6uMtHsSB8|AjWfc=r|lQ2`{J{a$G$8z18H8O152u~G$>D#nq z=k{H@*yOG~@RgsIF)?|04Xpjk;NHHSFC2e_iZNk0T?`b3Vcrm6023u)tQ@wbOfw)gaZ^5l?-JJ*cd|1!+i$Jty*lTgbb zqtPKk=3TD~<*W+;V@jtGQ;mh_Jly+pVq#aTCd_H_H91sCz~*|JDOKl6xVfSX_sb7+ zb5rYAKK1dSefY=lvs3r}U0(wLZXawT5rmQ-2v`!YD!l|W=|YU+fp60g;_~Ho+F_q{ zA?D%~Ds=}sz@&V_bA1D0Fro|^zcr2KIGiRdKhCnf?$88s(r?y{P3ym+)ODtq2v3mG zaS2Uu$G|}Rq}^|`A=w%JYGT!yWb7$jxN8D8%9r3ND(oJriT0L{_t*K+-+zRV--#X( zs{h4=2tp)oYhS7<>58D#jT70h8 zz~8xXiG-qtfYky$7KCaCo?hJdS?wUi#QTvb;|AzE@Mki8>3A{F3~%741|E zBVi^SN4zitbcJDkmIrDij%L+G#!rBSF(##y#gy8im1#cMvp#&ssGfQg&L-Rj5uZd) ze0)P@c(2aa>DGX#&fZ>jxj#Tul4Wxhw(52TD}F8D81q6x%TklEB`K843CSonBNt;- z&d}WgIRSOElWUPI)8h9hKS>-LNocSM0q_%@Ji=y5& zh2yzd_Qr!)>k6sn%|ob%wu2+!+ch&gYwTg&Q!RC~9LZi!o&*c;Clx9U(9$->7Ye|< zzac;r_ygUJUJz@A2D>--m4si6ocpP^<%8CDNYx>CSgSt&dTY#NU_B(HUxd2f<1nvP9%tXFvjgOGhx@0A$@@t3@I#->i7?Q@cPMf^@R|ogSgro zLM255?i0g1Gsd4^AAqNQfHX+m;jkVmnfjlm!HGH|#Qe*uQv3Y51Kq2L2MDn!ab5%3 z`$SFzU%a6TN{&K$ZzA4qDsftzu;(2Y97y6>@emym$K zWpKHsaF|oYXjX~1+(4+g*>?nr@;RSYljSJ3^ZWE~48=_{W8JGe@t2ZTVVCVp z`(pqTo1vS>BIi5jpC;LY8nADCV9~3hgH|NtBpzAePPr@|7h;$i#j8sIt8)>vL``^ z{tyUChE01h4%h~v5aL!+nX=Id;5br5i#e+<`#aGtjHPW*=W?G|Otn&Vg)i(tlf`KQ zWq{oPbZZ^-yM=-^&`pj0OnL+myTl5vn8B#k&9vr0brnXP5Vet#5bO}f31dB_;a>^I zC1=$$(%NxFSkJQb{rdudHzS{90;rmd=z-p!1$gPGW&>PRrW`y_yt~@ zgT(>$7fqu7pwwpXn}m>Ry`M(-hx4FOMATn5g3Wmg8#O|Zr>Ws@BqAQRLw{)LJ<$c6 z{p-GDOkrLQ7b4Zuub)rjFJrBK4Yj005FsE@9w20QC_~j-LfY|=ni?Ju=iL0Ki+u6k z$X+&Rc%FZ9?4fr{tr+rU}>7f00gZ z=)e%-V@7jeP;J;Dg&>O8VW*CBE&4r?IiBWm1|a)wI=uc1Od&$YV|J#Uz8IH-8V-T& zK)Ir2iaWdW2t_l;jv5(l-EP0qYj)TaR3dFVE`5j_=oq~X2Gde`1>tc@UZrB)IG)wi z@O>mM3dV4rk=KskDS}IR+{jVOu-Uhu(WzXjL7H@v4ITddz!gpwqVbL}@zgb*W1PYk z#1*wGZH(~F8xWL|Hb!7}z8>SaX_#%FIkBw}#K#j1FgEmsm_4iR(bygFGGq3uCE!9g zJ6G)7aHn3j62KzeahsEq@Rb`oAXT-k7)`Tm9{h&Yl0$rIvU+-KM9UkX&}P|8Yaz1aoTNk}=UJWy&yhzzUKc{Ns=UU*x1qMoNhN^s;^e zH?bXjmfGDbC=zRx7R0tQA0MD$VBnyO!vLAOW{HxbqV+pE@YFFM{0=DGt-9Xye6o!T zbQIJa5+^g(XhEJFVJ0gb8WkF5EKwzRaExis9+UUgN7ymBoJS91i{Q6{i$4>K-}Mig z3CKx)yr)d@QS4nz4%(hJ%cU6Uc1^Cff=m}U9e=jgUag^_f(G{LU&cQ?Apfex+zeVI zba~O&?~i&6g1CF|Geqx@JL}y4Imk3@uJQdavP6V=c(=H?c(CtZsAjzVkOZ8%ov=D( zw+n#P4JZA`wEDGhyyUm8taJKNQk$aC*p=^!8tw zLlcD*;vt)cCCDI2fJerAlPO;y0eX?~?_UN3e|yXBd{i9PIit%5^QF$)l|!&E zm2Cu%JY}#7QQLXQW=6n>qFF^K{yb#gPzBkIuFCq@3qH8JeUOowgMugM>I1oL~}z3j#U?F0S>h!4%?V^oET(6hcPE791al^Gi&== zfDFkLBi|dh55-B^1wm2!3YV`1R7l7Bti7JW%-toEqfrX955{=&LvsBvL1%bukffA8 z(c~%tv6tXP-{#=xYc5G~^qOE0_A$`gzgfS1DA^W`UKA1{jsN`|hwrR27XlL54BBLj zL?QDrk<*1kGb4+WzG`yYAP9uSuhfiSwTls_J+l}Z#t7DznwiyC#VuEkAV^EXm!g@E z<+1^dgQ~-hLBBpU5|K&Au#mgFQqd?s)?2p`*~>$bVx%af0|ObD1$^aGaTg{8%m8}n zk;Z^I_YDOdTvr40Yx#Q znS(gs2HZmnnx%kxUtoVkS~1Y{W7VoLhO~^hpTm#Mt-;KE!e_jTODE3*#{tYi>>*k- zZV~ev0Qv&pT%!l`HqhmEkWlTg(TyMFz&{cG z1mH-5eF{dQ_%c1(b)W;bf*iO5%+;hqLF%74jvZjvpnc?D49@@)bS-%CIir=r1{lzX zA}^ZRCYy-*wG_bnYd5p7uZb2kIww7ls>!OPI6$0XZkx|T9HI3t{!p;+L=)$J^wJ`Y zCX?4uX@&(O^xFck@LLzXbA`PVvhqet7PDkrxB0&Ma|6|N%ac@`;Th+(w(X2pE{sog zPkmk|pQ@CqE6kf(W@V%?FO-7O?(vMxLJ!Vr#H**XKY*gNyUB+4+jsr_-<|(Np#nUk z^zV1JOn!b=?-Icf-J3e0ld}PLZfvP?Yz8|ky^De$2_BjP#zLj@qC34sex7-1U9XlM zoH#K{@$FwPtlb)Ww-P>hO*H20w0CD@zIY4OlkE9be?b)o4Jz&P>05C{0{ySvi5*u`Ri!1P5pZN9huQ&VoB7#N5IG2G zI}D@>%niS@6|OcajQg0BPErh4G>Law4Ar1lJEHOLgZG>DXQ!(H_JFV z#X@XUZMZxYV-ga$^2VMYEkbK?b((acxR*f42~%~ys>Fc@XlbGL*RoM__hw&goy==6 zv3Mw7>Uh5M$B)z(b54nkW-+i6Qx)dUezpCJb5)Be%}K+E)l4U74N-OsM<0=lfBxpp zn@7ksf6ioH7`|t^AmuK}l2n#B>g_xh!RCE>Aq+a=0>cHX34slhcRn@(R!~x0I6c>q zF^mu^H24VWo~vW)gEe@`P+*-&Wn)hropJT={VZ(qax)NzkYe#10qk9 z01Vw#qzHy;`6$SVO=eaVK@7V3^+Jdd+OsWyfE6KKP>v`2lm6v!x|jao%LE z^@yjr<9^*X2WG1>&h)}&^ZYMSe4x1Py0_=%do!IjAlYCe@L`bq_=$mJj?%f{3}D!L z`qlFrMaZ2?G=x(IFPr6#*B|2IY8~jiFUb;87Q<0Ssp?7so#_W#tF!=KIxHG~3%19im`=YC zc1S6$GbAA|PizpDcaXR=|qj4eZaT86uZ+A@9Bls}iP{VP~K?wtZ7|^bFA6$jx zI%BXJ1z`X}*z}p4#y;5rchks~KKuMT}b4tI}nLiS)5F)7U{LxY23 z2(wB$UYBv5EnUCPR6$vJXXwIMbhG9v{>fB(d_+f!WfhUZiX5Yj*dj7qpr;?0&5?)F z(@53QqR1Y06@CJmX5rF4(-&J9@h;&m+2dDhkM^;fD3)_C474q9sw8TEi84Wf$4zIh zomNIPKV9(Lm!7!~9EpV-i8NKEm(3bH}xtkB^VM-|t;$7#+N; zZMxDnJS!`!!gyhR$i*95lY20u!|O$CtWk|R4h{m+pLWR2J5=*$>dd;pKO*B~O&78r zKYUmSYuh0(Qn(|?@x-my2)C$Vc(R@5v8T;OnK(zF9$X9y{4wh7D?BtNhyJ7|0v1pwSPvK z$@4R?5%qjjI4BaeZCli??znnvCNsSCI$xDp?W@V7+EL`&sazJ4n!i3mL88Z?wV zKUj!7lNn7s=BP(Z&fi46j~ij@9=!QJjIC(MtGP0Le!B-sBGmmuOiG!8OHlT8<2cF06U}*GJfr@tGBqJ z+};Q-0qMreo*PwxZ^Djo$GEWlc<9(0Ba-Sv^#d!e(*o`%Z?U`%sgScl6rS*hvNByn z#z_e4(B*dy@iPy(1OU)R3M0FylW?#~WDW)s?dJQZwg|Fr5%}tg-oR!qeKJA^pqD3t z=R&M19T?SDWrw2n@EKhcnf~sVJ*N(OgaA_PC$DqW!$D4y$2}46*zw<~E%yP^N(1|` z5!6sp+5shOl_RK>Yuoocx5EKmiVi9P?RX3HMEbS=yF=bB!dpye0-**bzzxlcpX%%F zy-F?{{7WLU-hTgJh`}eHVdNWji~jE9WbYPpw1ee52;cJp)4o!UoU+XpnOf zMcqPZhLbwGCmQ2Yr@h)i8!bE>{d7BalcNU%KNsL}X3Qua%GZV+0q*35z_SFtq$R4# z9HkRo_zR12?vlc1_n7FxG4O;)x_5c*B%c<5IRGH6NHA$Jr^()3b`+sP#$Z+-nXEFj zxJMgw;<-teMcbgEpKB?UZrLTHi@HPL)6B8Qb=mXjo?ek@X(txuI{%X^aov)bcT>0D zuFs`8N1laRfqS;^T;<%4qb~Q)9?eaua5yO)Mj32JKu3-KP#+{wsi~<7V1ghb3-C%U z!Sqr$G($f8BIVBo)8mQG&C?*Zp_n3NZEbx~MWq-CdDHyvcCRSJhwva1&VovKJ8C@& zIy#}BG|9e4=#?KDBkCLg;@v^0QtTvOg(HO*k*2W}ab7Zvqt&z&5l}<%kn?1A%3zz~ znl)?4^<-vdB6;(A@$#ifLnsv-4W3CvR8&-vZRMa$>#Q@H&>TL58s{g&ryn|U!~<=3 zFJ8QG1GdICBx@c65+zy=C2H&IqrTG;uboA|=9rb}hRX)QW1%u<@2O~MeMzXQ?SDD( zusR1%7@a#jj1i~ohm0Eoh2PZ}0{a@!9;~aYlR_vAsrR(z5Mcd3&C1#UYizmYe=W-8 zN)-B$wDL~}{A``nbvVSqakkIWC+l@}>Mt$;*>9lg8EP;S>$CSQuPfF2SD5oqROLL8 z{3UO}U1yGEz?OL_rjXEoMp?Vp6mTd#@XppB#wbNCMFFd~ifqGTefd$2*KMyb6`5I!nN&l``YIY_SOeGW3&;xbDe&kq$Eyo_sHn1_gEBC$7h+L zm20HuybHP&8hzR&$z=p!rUt{t)=Rr_mb|gm>`Sjf7(o3+zz@!q(DEd=930$hTOOFpl`= z&pi*Wroww8b!1A@>~0Nmj0{F`26(NKpbf`bb2`t|gcjqpcQopHdt$E@gW5o{9k@Pn z^kJ*%!DI4+PU0xof+A%B5yVWuHp zPiO;PE0KLEJwc#zVW1AXxZH|{l67d!G4dgl6a}?gQaL=6b(eH<_SGm*y4z_AmVWV3 z)_QzA$?jYGrIZ^Mwfq8ubgt!C6!JR>j+Yv$dlJioX?N~y#sX7XqbaZhSejigTJrX5 zJB_Dany(C$lcsX@zOeF^?MRibey&c}UFaK)NK4?Vv7lV`|MgWKy#vojzSmfWr=%Rg zHH68i1#BUoN1-q(TU#r8^y<*%XE;Xwq;(bjN7$7tB<1qK&7PZmG<4_}$3Odg%0KV@ z;^ocnycCDEEBECnp?v+8WA9X}#f;CrYgmMoC(HQ*g(V!O>F#(d_2NR&YVgc_dITsR z+3^6$PgYv7TXC=N)S%S6tKDL^0_0ayO!0`wufocj6x67@m>)6gGxufaQ-s#7e3h2G zla|(|@@A$6mv05#t(+XVx4qX_?#=3O>Z1b|6`8kn$6h({GCn_B`a!mEqpjwiJJX_w zsRL9+w++2KdRE4ZS<~6^sY5kYJTkgx+#lFuBT~YJPMCaVN<8|7CXsXLf4d(kTbq8c zStz{SK4VyNLReL`Z5wm;)ZmGMHCEcc?%>~8#z)+SR+AauFP4bvzsyoWiQr*e)BVq{cMH`iD|4G&P@e16*>eAsbktymj(W8D6*CWU zyUTHjL#>>`Z1M(9e?MI>>hQf#t4&Ze?`G>295gHLmE{rgynFXz)@_Yp;J_vhaMO5VyS8&3x?PtZggLIruLXEh)#I!Vrrx)vfoP z?>JOiywQ3S8PSaKJccDHxssLtzI-V;*WaWRE}h;_-udU&rCfy)_AU;=txacTB6IZ? z8G{(SEV+c=|DkeG?D%!=!LVFg;bhgJ5R2L;C%N^VEn@c%R`+hcZZUgmRD3Lt=}WTi zkn=5z^2YGp*^91`4fNWz!cp=fhn!~{gJQha4^#iTwVd|$v4_qWRLBjTFoC|8$yYId z#PD-O9E0u0R_-u!Z9iTYjSR8JiCl)SDPB`0+#d&&DTxm0EDLSsI-dvnN?c5Cl+UHt zTuzD(b6<4m597;QBUg^oJBQ8y{j1<~ z99A<%SHMVSl@nLq@SUTDz~q%)vt|2hQsr=Umg~@ZdY-HDq_01EdedNV;N`=^l{2q1 z=D$r>Y&|WhZ6-g)(I3z$Nm*Hg2@0YI3k1^XhMs^co`^ZwKeeis8L3q||NIc$xt<1L z{$gg4SET{5fmwFeBgKvC>O0+4Pw4zSKPX{KB`qm3`ynt=f8E5;qheOdV%YMfUiQ9$ z+^dAQN~9*%I27IV0zV!qwI39pmbs{`{9J%8o7dv)tM`>gGc6sewB{bYO*3w8cHcZZ zhu#kwtQo$`+3XiG@FmWH-j6bOd)WxNih|;D%JBz>&i$?s2d*At&{B89yx-D90T{){ z2gjpyRprnAoX#IwTx2LZC%5n}>E329u{EMi+c}>1_R{k(QhhzOawz(_$=syS>2m${ z*|tSz6VS8LErrpIheWZkM0{an3P?nw*ZN!MRa98y177JQTUvG|IxH@Ry2MWlyJr8m zRum(>+4$^nS9#8ZHA~i&5_X`sudgGm+05NxF!LbB_|RaWkQMswS&2`A+&_$b9RY)` zB3cjdYI^P|Y%sL@BY$FPz}>sWQ?qZ!hw^i;lucYpN;r<^_T{^^pEm>3q>cLm%8@vOiR#(0E5iX3t`d-H*qOD%$hUCUd7|n)Eh)Rr03a zCHPrQK{a%`!#{{4Q~bs2ST0W)%EBA!k7SEdBt9HaqU2Bg-4WV0`j&y&sjYHmS7$M| zuDkjUjvrq1yoY)|j|ZhkbFVKDKeX&cTp#wX?1;~q{+)@7?`Jz%6)4h@a$?SQ?v~Hh ztC$2wiY&LBGfGQK*w^|+<^Sxoy+v&DyLWw7s}N_He6H0(m2*|gkS1T_Q-7-d9{zCU z&x!}c6CGOSb4!zk#Ma1EZd=CQ?VPocJiAr=%m74aoh81aCc-x@#y1vs? zxILs~SM)Vb*G_>|^h+yvCct9d0ORVJPCj9NediG~9fxn@tf8x)e$x%}8?OizrMX*scd!3C@^hiu*)P}DI;?fEqS2I>5Sd2BE{FHu-|FZ!dw{CskNWP1jZ_jQC zS`s6YpS{;{QR%96r;DmCU1MZlcdU<=drI%XYe4Tt1#ze^E%}la`j;HzJRhuYX zik8QU>ppYeIoDEm?#=3;;J!!AoSkj6(+~Rvr!%M-6DZCO18GzBoK+6k9qP*f=@em*N)YR@j z5qLJg5iYf~#QV%GsvJja8OOy5L1ud$_|k{U^^$5*)+X#R9@atZidhFG*njQB6Tgh~ z>4^}>7PqO+u`b1|&dzGak*~>RN?B|Y4(~r$EiEABa+Pfp_dDLS$>H!;Zlg>29s^rH z`uzT!Agi%g9)sdo6}m6XVG%d}IKK3*k8JbyUB%xbCJb%N9F$F4CJGoh)n_x_tu0Z| zU5m#(Jw-jT=sYXyUca{6W5u#a1j#);Mm%FhW$xH%i@6dHTJ@BPgW`EEbA$Kv`Gjq2 zyH6(B=I1n~q`sEwTWxj1%XKMKqBMO^VfA)#Hfs&sl{jC{5r>HH+2>5Sy{GmUZwgX` zelM627EIv!TW6Vyv?vN!oAwSDoeZ%UwJNH$D}f`$^cei3u0&goUKfI*j`8O~>Zv74 zmTfXdX6*{6BH(FN2B;ejXLWGZq6@&$Ss=rvMH{9H61)oMCdnOV$b?2B(& z9hUs-ljBbuF6~+rYkNTKMe)ybNw8OudW@?#TUoDolQ3msK(J;qMiZI0j5Tu4>*^Nr z9!-=tnkes(mSp+V8&8?A`~6~hQKL)O^!eJ-9>cT$liq4tqkVosG_#8`lzslB2h*qg za}HGfr8jvPmmgyz?~fmyg}1A?%x%oxXbhb`#SywV8xq}>=U1yuO)a(hr|!4rAlvDt zoC6FIVXBjQ4a6EqO)FlxZegg%tn1`-N;r~g;^KWEC~5PBYsiPXinb8Ia0$epwZE>c zwdsl7Sz)$SiU)k$UObr}XVYH*s$clrU%N^E{@&ab-;TIWW@Y^-6ruGio0%eU5Q*UO zrFOHf><9`a_}`VoND1>>S;>z-_`oBbwtwt$Zr$ar-x7~3y(udPI60e6)j-G&pED^+ z^b`Zpl~2}cMXfb3xF@6|w3e!SYR+`&+9mwcfkx};{~XOqJ++-;!0`LkK)8Z}18%$z zvpKVhVj8g$Ka^=?-n^d7yXg2WHgHX}HpgMkl*wnL9i6Mdm5C5d7OH*wkmnGq^ zs-eL^;M-)&2A3YZbu}gaSNh^+2P7sic)E8@$JNAE(dK=dDJfnnx69HVpdWG{F@;{& z!rbU#pWq*%4OHDv<~A=~JcU{TR3U))w#k;dr#HC;EQ%f8e&6QLH5AU3c*k|o5@87` zXC+(Go}=Gs>)d5!yK42vZ&N|*m)2|HJbs6A!2X!e8_zTDtZKEtLNnI;xbq_AKarKC za4cZ7ZJ~z8J!@n$w{N!a?!i3z#hK~#pF~TuzireZBYaq$ zDs1!YOkOUQ?Hq|nTu|C$UqHEjj6&z<*R%A!l#icKLqC>)SwScrIa3oP-S}p9SK%XC zW+qi_N059?IO87NF*ovO=gtE@JiIV>%)oYrpK%p@X^kUP;t zN+K*AWw|P^4%(xJ(9!OG)C&b)@|6!)wu8DMrlMgg<@YDY4HZ3@#l;X8A5jkr!^ z>g(;1;33C@7+(sfqA0(-^(cp5HE25&5r__PjsZbXQ4^*CL(?6r&r#OV`_J7IX?UUemE%fh_jju>} z-r_h~!F}yLfWnmv%ldQ84f^04Z`X69u_ObR%>wofQtG82S9y7=r+WA*i%(LtMPPT6 zOYnL0Lumysh`e{=bugwTi07f&RDxbjM&{YZlK*}4zcd8{{h)n$q2MHHmhtT_sQVXw z-&e5PDuLD8?@N+G$spQwpP(iPZruJFpI_fDLG|<`@IY>iB(dv$cCWphx5`73#i!@Y z@(T)>pn#=F|V|=p8ZY%edxBq4!>u7IoTd*Mz^Y69Ya)v5r9f%wEF=Mq5^~c>{ zep#Tzt}nEG`P)DKeaLlE0@$g=c%5nq?vkNokEPuIKK@^P{0YaY;i>5=7bcX!EJ?!f z`{Oq$QEXQoe0t-r@<2WgQvU7+<@5KO=}^yO#hz*pcjtPrj>&E>T2Z#EspX}te080{ zdf@={;+BxzI5nQ=!blF$@3#+}p=yy~y!n2g1sZURH}kh_Lz_|guZ0a`yhcky$BhCx3;8x|D^hKFk(gLzwd}(vd(Y7n!~}SA)ftk zH_x>*XbKf480N37C$Zs>tI`XYx23WPt`;1A0T3tvVKl`{vQT45FF!>x_o=aQH{s_4 z29YaSau*az6SnnQq>b(<9f*KXvWHwP&}{NnK<6b2(u_O(*v>tG4J?9v`hB$q2XIuE zsNofX1WUKTkvNUgKQE(UI`}7ypvl=g_Ukgc6WwMEiHh34a>n5l<&$v*q+liT^ZkAT zvy%(F=PZWK<=abTPPEAvf^r3M;aUI6Lv(ZH+ydd_6m<-06S6&@6$Ml;?G;zR-e z{$8BMHEV9H1#Djg8%R$`C*-V=`qLTK?I>($kdg}ynk1MPWOk>5hDOk@XIZe06+{=2 zmeku*?X>y3b*4Y4@-Xf{48D_FB0vKLR1Bi53E2Q`bLjW2dS6!NjuH(%SV2vVjyy<| zha^#FexMkQ(X8^2&OR~$V@T={n974$hH%^wv9atxlbKPl^}x$hZY82{L0$p8p7iJv zvr9@PI28&ga-keUsxo-WgqD-7>u?Z@+~|!$vyHT(F@l&P=zq3@B;Xz$ zV$Tk)t#9j6frheIsb$&GjC`(gK0!Dc2ef3bSA&nxQOscOfpd7ksRH@{?LcPOL;cNIE=23q5VF!b)k?VrKC{3$RQWm8L{8^Q?2jvm0 z%#j*As{TCm4B|5-!!IJd9-yl+dTjb5*>3n_2}qQ!?Zyy=rEk!()k?NR|Brztco{PB z)9|FlU|BTuw-5#sSgvY*yrjSj=72aBmX@3gS#fh^W#y&nKboVM&<7*)Icxb)#&mA^ zx(U11;=|$SLSWLx`s=8qlqtJ1)%pZ?a938RTGSh*j=;!%s zt~q~R12!(B0uzd_OW_pRs4bk91bg$q^8+Tt3*cS)F+m$lL5z?8^Xef;W`416Yi63L3S#*F19Te(k+Pb zQCDmWH{Q5$V~vX0QK&O<_MJH3bEfdRzt%2PxiRJP<-_<{@E?XIQlT_?5J(!z48qrE zrRE~+7T(h4Z6h8OQCFnZKqVJWne$u+a|t0ffcB{J%cD8|yDDQTk|7~L*HcS**^Px( zFXH0dNnjYC-b%l7=gt7HQEJc)%^K$6#WXD|_$Q zrVGsULWBnXkH>}M;138Bj{tda7k;RKEd4N7Ck4HiCpA(ooG5ZN&{2H;&OaZNZO`*g zy-F6CY;5!XXF5nItOWc|IXOJ7Ld58M<+oyD1kjt3kGZn)-a zLX~C^n0}!Zsv&Gx9hm{nUd`)?WycUz8em0RKnlEPxiVSf9jsK)4mO#&6wOnF_P{w2 z%ZCzYXi)`!+taiT2c_rX;VjMzqoE~hXf?MT%^ChHs^fT^sJF{tTfU29pGKQ(^UOKM z#kmlWHux7QJ3h^h-QK%$n3{F%_bk$0o|HF0Vb1%mse(D+$Dl<{D&m7-$6?06sTx;-}}vYpL% zW3Vrn5d9Mi4l5-ER^RaxC-N3E!Pl!H5v#0GJlI%8U;wrw^p~?VT6(Ci->v!|-`q-y zxuEaaXku?b>N`}f#IPO)W;-rMHwQe*0I%(YjX+20 znFd*l!}+IQXd#s2ZG=Y&v4`w>LIFS_l5N0V7UmO*e2Jc>R z6jM`2qQ&PA$9zVz8d=sBJdbFYnBtNI2^nsDDS^lqNDU>biWF${syuFo;FKz|c5!#L^FD>?H4JQaHK6~H;z*uN(xq<*X6<*tr&_O2nfC&)o!*nhw!cwqxrM;@zO!JTPh) zlO_xZe+9MjNWG04HdH@dhMV>ZhEQ!1rUQ(iXh|#&^pTzmR@@`2;f2nAf-jKd`R*pV z?O-S@To}p5u0SN*(lc^FHdO%aj5yApYs0J^btk=<8RPQqf55C~C=Eh7Cq#_cxR*k@;BDUgIP zzPAjlQYw@v@8o?C&#|yTpxdvLm0CaKmY(B)vCdhc9WjV-f@_}&zgTiDu3mrP#$+bU zDv`mZT!(Pe1HxYAh89E0z{ycq0$#>t9~36_I*|GA1h^GeK2;?pzqC!Ei*sF%mU$CP zwQL*T{@~mm`@udE+Q99cEo&Os2RBo*e1DXzBhnJ@LKwe5&Z9@YNg~aJ*(d10?&H!23erI$4{%FT1)EXU@e3@gsxlwdURv}eG|lEU zLOMd;22xh+Av4`7y~jdQ(Gu=#1P4V7eA8gIF8EBpJj--J6fe{0)hOqhPW= z?%A!?ifIUbfoBnUyjepVX*F~$lp_bm_TgZV2grV`e3(SPgQS;%HOtriiUT~`%UER# zG|H5afGXp=@7Z?r$&#*#YeFjisdziQ^I4+_lE2>GB6R4w1OM^k;vm8YQR5{9lM7LT+@5bzb52}vUntLI8?l7wys3`}5SAMKr$nH6@}C$^s6i zgh1qWkTTLmyEUW~JHd&;EMFv05ZCjBUz5UV*eLchN)(2`;`4R?1AIaF;I^q^{&rAg zJ%Cz}hyYpo(y^hTA@j6&Z$9K(x+w|$C?~^% zg_^7;gw*=wN>)CY79Wh^bg>yo#X1N#_bQ%;VY5C&Lq<{)oj3<(t*(PNYynDMRQxcM zNWIW`o>q+dA>7zlQ{uKGYQu*3-X`4_MTk<1dn;)uMr?H%xbG z%dVM<3Nm|u=BV`MJT0kn=guvK%UJlRAB_VrXwKiA2-kFO_@1~2xXBNP{5K%H^8{T| zq}9GJ9&C=KFZjBerr_}K8~xD*WDQkk3^5&yHh*z`r~|vucr^L$^b3%KiM!Usnh<*D z!-U+pRRS#Su+m;-T-ir}K=@bBD_)0-8o6`SaUYCjUW#*m9c(a|^G)^3Kw-BWszjI1 zFOjIv@qekkGWc%`87c)LnyLsms7tLX2pj@?&IEtJ;2S#P9hTT*8@V#}5-0h-)bI;) zL`4vP3Dh1KG23R!OdslxG$cVGWK_2EA$tf>6jnd>O#ahyNPlIT3~}esqZ^FoHOm zPuk%S+(~Q=9_(%a)$x@oIy%fnMMX)-vmj()NFXuX=3gsVyM*s{Y$L|WlM#%Kn6|;9&;gV4K$A*@)?_7MM&My5gd2cI!S)~i%!?ox?jtA|Tp8KV3YCZ! zz}S;6L@h%XDgoREAHzsSfibh3B$yx_EI?xp!37am3MB2TgxUwYQvw7>Jx7P2b1Shl zfm&b_x?#I;#7^UQ!<0&4y~%&D7ZBXLE#G;fR~Qy`8j5T=DK(4tKJ4t*jnE{cm&y%ctZ2U!83U%D=q)dslgc63c)5e<|Mi z?4;%k*s{EBDH1`-`cjfoQA#VH{!#CT8nr@5&vGpWG(fdmDv~CpR)j1_ews|qsz@Fw z`#*m-#NR9a_jfj*Ge;_9S+~3MFs@+!u4#q_26nu02?>LlZU*I6OWiv7DE0WHyu5`w zB#1V9;C6se>Xv>a;yBU2R#W_P(V?T%Z{vg_Ufs{IU!!P<&UQr+}6pR6d$530J_J^a#iDW z`^qmq(mw~CJaoF10lx&WcgWLCgLnH10P9*m^%?u8HUHD(ZD|SVQ>Wf7y1V(>c(2@~ z#931r*6lUoQ(paB^I!=T)Gl1Oz(lQ|X1oFzQ`94ql1BP)M2B5vTy%o4N>^asb5q&S(uj3kC+m2Vd5wh_e9GF?jegjBXz_x6qFjP?TbDUmPS|mwhbsw*0Tk_J@gwJ%f`B^>m9?qTjfDEv}F4*pD6^ zdh7PW+~`H-Dl#Nf`H{cBt)66yf9$oD>t!AI2Gk?D4VJREbL|e!OUJWcyy(`awvg(x zT)CW&tJ29=i3VnlPKt68S_&C_;?KJMJ{`4BTeb1Z%g)G3>FRc<;>s7BA8XdO!*+(h zcwul6|M=y;?zS3etN3uDyQEtmuxOB-*6{w;qi;ut&mYa+D69e0#|32onYIrVat<iOnZX&Sc##aDAT5S}@7@HFxA_vOLrB z_Z5hzl$V#q##ZVjf7X)xZhO0anzC?Jgvp%moFz4N7j;sb^2#nKVCM65>x(i>=*@EO zVR@BIHI@9yz$!&OUOp~XsI>fDp8d)lIQw|G-7C-WbPJkx6zj Date: Wed, 28 Aug 2024 09:11:23 -0300 Subject: [PATCH 13/15] Update readme --- Directory.Build.props | 2 +- README.md | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index be52682..5c55589 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,5 +1,5 @@ - 1.0.0-rc.1 + 1.0.0-rc.2 \ No newline at end of file diff --git a/README.md b/README.md index 12513db..aa39b11 100644 --- a/README.md +++ b/README.md @@ -13,26 +13,38 @@ This project was generated by the [ricaun.AppLoader](https://ricaun.com/AppLoader/) Revit plugin. -## Exemple +## RevitBusyControl + +`RevitBusyControl` is a static control to monitor the busy state of Revit UI using the `Idling` event, this class need to be initialized. ### Initialize Static initialization of the `ricaun.Revit.UI.Busy` control. ```c# +UIControlledApplication application; RevitBusyControl.Initialize(application); ``` +### RevitBusyService +The `RevitBusyService` class is available in the static `Control` property. +```c# +RevitBusyService revitBusyService = RevitBusyControl.Control; +``` + ### IsRevitBusy To check if Revit is busy, use the `IsRevitBusy` property. ```c# bool isRevitBuzy = RevitBusyControl.Control.IsRevitBusy; ``` -### Binding +### Binding in wpf -Binding to the `IsRevitBusy` property. +To use binding with the static `RevitBusyControl` is needed to reference the assembly `ricaun.Revit.UI.Busy` or using the `http://schemas.revit.busy.com/2024/xaml/presentation` xmlns. ```xml xmlns:busy="http://schemas.revit.busy.com/2024/xaml/presentation" ``` + +The `IsRevitBusy` property can be used in the binding using the static `Control` with the `RevitBusyService`. + ```xml {Binding IsRevitBusy, Source={x:Static busy:RevitBusyControl.Control}} ``` From 9f6dea6a4ade0e764bdc127f0902b031760cc71c Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Wed, 28 Aug 2024 09:12:32 -0300 Subject: [PATCH 14/15] Update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aa39b11..f05dba6 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [![Nuke](https://img.shields.io/badge/Nuke-Build-blue)](https://nuke.build/) [![License MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Build](https://github.com/ricaun-io/ricaun.Revit.UI.Busy/actions/workflows/Build.yml/badge.svg)](https://github.com/ricaun-io/ricaun.Revit.UI.Busy/actions) -[![Nuget](https://img.shields.io/nuget/v/ricaun.Revit.UI.Busy?logo=nuget&label=Nuget&color=blue)](https://www.nuget.org/packages/ricaun.Revit.UI.Busy) +[![nuget](https://img.shields.io/nuget/v/ricaun.Revit.UI.Busy?logo=nuget&label=nuget&color=blue)](https://www.nuget.org/packages/ricaun.Revit.UI.Busy) [![ricaun.Revit.UI.Busy](https://raw.githubusercontent.com/ricaun-io/ricaun.Revit.UI.Busy/develop/assets/ricaun.Revit.UI.Busy.png)](https://github.com/ricaun-io/ricaun.Revit.UI.Busy) From 03b34080aae938852e4199a9e82e06898d6bc4c9 Mon Sep 17 00:00:00 2001 From: Luiz Henrique Cassettari Date: Wed, 28 Aug 2024 10:39:17 -0300 Subject: [PATCH 15/15] Version 1.0.0 --- Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Build.props b/Directory.Build.props index 5c55589..c0a4c3a 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,5 +1,5 @@ - 1.0.0-rc.2 + 1.0.0 \ No newline at end of file