From d80af8b0d43d45265cf91831de599a7910bd2c4e Mon Sep 17 00:00:00 2001 From: Gabriel Vanca Date: Wed, 4 Sep 2024 08:41:37 +0100 Subject: [PATCH 01/20] update and run fix --- RepoZ.App.Win/App.config | 6 +- .../Properties/Resources.Designer.cs | 112 ++++++++---------- RepoZ.App.Win/Properties/Settings.Designer.cs | 34 +++--- RepoZ.App.Win/RepoZ.App.Win.csproj | 36 +++++- RepoZ.App.Win/packages.config | 6 +- Specs/Specs.csproj | 3 +- Specs/app.config | 16 +-- Specs/packages.config | 4 +- Tests/Tests.csproj | 3 +- Tests/app.config | 8 +- Tests/packages.config | 4 +- grr/grr.csproj | 2 +- grrui/grrui.csproj | 2 +- 13 files changed, 127 insertions(+), 109 deletions(-) diff --git a/RepoZ.App.Win/App.config b/RepoZ.App.Win/App.config index 731f6de6..4bfa0056 100644 --- a/RepoZ.App.Win/App.config +++ b/RepoZ.App.Win/App.config @@ -1,6 +1,6 @@ - + - + - \ No newline at end of file + diff --git a/RepoZ.App.Win/Properties/Resources.Designer.cs b/RepoZ.App.Win/Properties/Resources.Designer.cs index 34548afe..087b5625 100644 --- a/RepoZ.App.Win/Properties/Resources.Designer.cs +++ b/RepoZ.App.Win/Properties/Resources.Designer.cs @@ -8,64 +8,56 @@ // //------------------------------------------------------------------------------ -namespace RepoZ.App.Win.Properties -{ - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources - { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() - { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager - { - get - { - if ((resourceMan == null)) - { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RepoZ.App.Win.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture - { - get - { - return resourceCulture; - } - set - { - resourceCulture = value; - } - } - } +namespace RepoZ.App.Win.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RepoZ.App.Win.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } } diff --git a/RepoZ.App.Win/Properties/Settings.Designer.cs b/RepoZ.App.Win/Properties/Settings.Designer.cs index 229b411a..db905c52 100644 --- a/RepoZ.App.Win/Properties/Settings.Designer.cs +++ b/RepoZ.App.Win/Properties/Settings.Designer.cs @@ -8,23 +8,19 @@ // //------------------------------------------------------------------------------ -namespace RepoZ.App.Win.Properties -{ - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase - { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default - { - get - { - return defaultInstance; - } - } - } +namespace RepoZ.App.Win.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.11.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } } diff --git a/RepoZ.App.Win/RepoZ.App.Win.csproj b/RepoZ.App.Win/RepoZ.App.Win.csproj index 191d474d..c0af964d 100644 --- a/RepoZ.App.Win/RepoZ.App.Win.csproj +++ b/RepoZ.App.Win/RepoZ.App.Win.csproj @@ -10,13 +10,29 @@ Properties RepoZ.App.Win RepoZ - v4.6.1 + v4.8 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 true + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true AnyCPU @@ -27,6 +43,7 @@ DEBUG;TRACE prompt 4 + false AnyCPU @@ -78,8 +95,8 @@ ..\packages\NetMQ.4.0.0.207\lib\net40\NetMQ.dll - - ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll ..\packages\protobuf-net.2.4.6\lib\net40\protobuf-net.dll @@ -213,7 +230,18 @@ - + + + False + Microsoft .NET Framework 4.8 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + diff --git a/RepoZ.App.Win/packages.config b/RepoZ.App.Win/packages.config index 928c9687..0adb1023 100644 --- a/RepoZ.App.Win/packages.config +++ b/RepoZ.App.Win/packages.config @@ -1,18 +1,18 @@  - + - + - + \ No newline at end of file diff --git a/Specs/Specs.csproj b/Specs/Specs.csproj index 286a6f73..4c7cea6d 100644 --- a/Specs/Specs.csproj +++ b/Specs/Specs.csproj @@ -12,10 +12,11 @@ Properties Specs Specs - v4.6.1 + v4.8 512 + true diff --git a/Specs/app.config b/Specs/app.config index 14ab9438..90a014f4 100644 --- a/Specs/app.config +++ b/Specs/app.config @@ -1,19 +1,19 @@ - + - - + + - - + + - - + + - \ No newline at end of file + diff --git a/Specs/packages.config b/Specs/packages.config index 7d82e21e..99dd8128 100644 --- a/Specs/packages.config +++ b/Specs/packages.config @@ -2,7 +2,7 @@ - + @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj index e06b7680..8b8d950c 100644 --- a/Tests/Tests.csproj +++ b/Tests/Tests.csproj @@ -11,10 +11,11 @@ Properties Tests Tests - v4.6.1 + v4.8 512 + true diff --git a/Tests/app.config b/Tests/app.config index 557095a4..a9b98717 100644 --- a/Tests/app.config +++ b/Tests/app.config @@ -1,11 +1,11 @@ - + - - + + - \ No newline at end of file + diff --git a/Tests/packages.config b/Tests/packages.config index 86d4e176..2b39da93 100644 --- a/Tests/packages.config +++ b/Tests/packages.config @@ -1,11 +1,11 @@  - + - + \ No newline at end of file diff --git a/grr/grr.csproj b/grr/grr.csproj index 783f0868..d5ad43f8 100644 --- a/grr/grr.csproj +++ b/grr/grr.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp3.1 + net8.0 Andreas Wäscher Git Repositories of RepoZ Command line interface to query repository information from RepoZ diff --git a/grrui/grrui.csproj b/grrui/grrui.csproj index b9bf89ca..968a54ff 100644 --- a/grrui/grrui.csproj +++ b/grrui/grrui.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp3.1 + net8.0 4.0 1.0.0.0 From ef15f5e9140019dcb6b1fa6bd6ea682c7b0b135c Mon Sep 17 00:00:00 2001 From: Gabriel Vanca Date: Wed, 4 Sep 2024 09:52:36 +0100 Subject: [PATCH 02/20] Update assets and dependencies --- RepoZ.App.Win/RepoZ.App.Win.csproj | 12 +++++------- RepoZ.App.Win/packages.config | 28 ++++++++++++++-------------- Specs/Specs.csproj | 6 +++--- Specs/app.config | 16 ++++++++-------- Specs/packages.config | 24 ++++++++++++------------ Tests/Tests.csproj | 6 +++--- Tests/packages.config | 16 ++++++++-------- 7 files changed, 53 insertions(+), 55 deletions(-) diff --git a/RepoZ.App.Win/RepoZ.App.Win.csproj b/RepoZ.App.Win/RepoZ.App.Win.csproj index c0af964d..a56b48af 100644 --- a/RepoZ.App.Win/RepoZ.App.Win.csproj +++ b/RepoZ.App.Win/RepoZ.App.Win.csproj @@ -66,7 +66,7 @@ ..\packages\AsyncIO.0.1.69\lib\net40\AsyncIO.dll - ..\packages\ControlzEx.4.3.0\lib\net45\ControlzEx.dll + ..\packages\ControlzEx.4.3.0\lib\net462\ControlzEx.dll ..\packages\FluentWPF.0.8.0\lib\net45\FluentWPF.dll @@ -78,7 +78,7 @@ ..\packages\LibGit2Sharp.0.25.4\lib\netstandard2.0\LibGit2Sharp.dll - ..\packages\MahApps.Metro.2.0.1\lib\net46\MahApps.Metro.dll + ..\packages\MahApps.Metro.2.0.1\lib\net47\MahApps.Metro.dll ..\packages\MaterialDesignColors.1.2.6\lib\net45\MaterialDesignColors.dll @@ -137,6 +137,7 @@ + @@ -144,7 +145,6 @@ MSBuild:Compile Designer - MSBuild:Compile @@ -197,9 +197,7 @@ ResXFileCodeGenerator Resources.Designer.cs - - Designer - + SettingsSingleFileGenerator Settings.Designer.cs @@ -249,7 +247,7 @@ - 这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。 + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. diff --git a/RepoZ.App.Win/packages.config b/RepoZ.App.Win/packages.config index 0adb1023..9e2461ab 100644 --- a/RepoZ.App.Win/packages.config +++ b/RepoZ.App.Win/packages.config @@ -1,18 +1,18 @@  - - - - - - - - - - - - + + + + + + + + + + + + - - + + \ No newline at end of file diff --git a/Specs/Specs.csproj b/Specs/Specs.csproj index 4c7cea6d..e8f9698e 100644 --- a/Specs/Specs.csproj +++ b/Specs/Specs.csproj @@ -43,7 +43,7 @@ ..\packages\Castle.Core.4.4.1\lib\net45\Castle.Core.dll - ..\packages\FluentAssertions.5.10.3\lib\net45\FluentAssertions.dll + ..\packages\FluentAssertions.5.10.3\lib\net47\FluentAssertions.dll ..\packages\LibGit2Sharp.0.25.4\lib\netstandard2.0\LibGit2Sharp.dll @@ -68,7 +68,7 @@ ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll - ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll @@ -113,7 +113,7 @@ - 这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。 + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. diff --git a/Specs/app.config b/Specs/app.config index 90a014f4..575e8aed 100644 --- a/Specs/app.config +++ b/Specs/app.config @@ -1,19 +1,19 @@ - + - - + + - - + + - - + + - + diff --git a/Specs/packages.config b/Specs/packages.config index 99dd8128..fcbf18e5 100644 --- a/Specs/packages.config +++ b/Specs/packages.config @@ -1,15 +1,15 @@  - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj index 8b8d950c..738ae7fc 100644 --- a/Tests/Tests.csproj +++ b/Tests/Tests.csproj @@ -39,7 +39,7 @@ ..\packages\Castle.Core.4.4.0\lib\net45\Castle.Core.dll - ..\packages\FluentAssertions.5.10.3\lib\net45\FluentAssertions.dll + ..\packages\FluentAssertions.5.10.3\lib\net47\FluentAssertions.dll ..\packages\Moq.4.14.1\lib\net45\Moq.dll @@ -57,7 +57,7 @@ ..\packages\System.Threading.Tasks.Extensions.4.5.1\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll - ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll @@ -102,7 +102,7 @@ - 这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。 + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. diff --git a/Tests/packages.config b/Tests/packages.config index 2b39da93..2ac5f82d 100644 --- a/Tests/packages.config +++ b/Tests/packages.config @@ -1,11 +1,11 @@  - - - - - - - - + + + + + + + + \ No newline at end of file From 68f3d479817643f2136469dd6689b4994d62fa49 Mon Sep 17 00:00:00 2001 From: Gabriel Vanca Date: Wed, 4 Sep 2024 10:29:13 +0100 Subject: [PATCH 03/20] update dependencies --- RepoZ.Api.Common/RepoZ.Api.Common.csproj | 2 +- Specs/Specs.csproj | 8 ++++---- Specs/app.config | 4 ++++ Specs/packages.config | 4 ++-- Tests/Tests.csproj | 12 ++++++------ Tests/app.config | 20 ++++++++++++++++---- Tests/packages.config | 6 +++--- 7 files changed, 36 insertions(+), 20 deletions(-) diff --git a/RepoZ.Api.Common/RepoZ.Api.Common.csproj b/RepoZ.Api.Common/RepoZ.Api.Common.csproj index 8c06305b..c95b67e8 100644 --- a/RepoZ.Api.Common/RepoZ.Api.Common.csproj +++ b/RepoZ.Api.Common/RepoZ.Api.Common.csproj @@ -7,7 +7,7 @@ - + diff --git a/Specs/Specs.csproj b/Specs/Specs.csproj index e8f9698e..5a996902 100644 --- a/Specs/Specs.csproj +++ b/Specs/Specs.csproj @@ -39,8 +39,8 @@ ..\packages\AsyncIO.0.1.69\lib\net40\AsyncIO.dll - - ..\packages\Castle.Core.4.4.1\lib\net45\Castle.Core.dll + + ..\packages\Castle.Core.5.0.0\lib\net462\Castle.Core.dll ..\packages\FluentAssertions.5.10.3\lib\net47\FluentAssertions.dll @@ -60,8 +60,8 @@ - - ..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll diff --git a/Specs/app.config b/Specs/app.config index 575e8aed..cef1f076 100644 --- a/Specs/app.config +++ b/Specs/app.config @@ -12,6 +12,10 @@ + + + + diff --git a/Specs/packages.config b/Specs/packages.config index fcbf18e5..59c5ffe0 100644 --- a/Specs/packages.config +++ b/Specs/packages.config @@ -1,7 +1,7 @@  - + @@ -9,7 +9,7 @@ - + \ No newline at end of file diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj index 738ae7fc..59fe1a4b 100644 --- a/Tests/Tests.csproj +++ b/Tests/Tests.csproj @@ -35,8 +35,8 @@ 4 - - ..\packages\Castle.Core.4.4.0\lib\net45\Castle.Core.dll + + ..\packages\Castle.Core.5.0.0\lib\net462\Castle.Core.dll ..\packages\FluentAssertions.5.10.3\lib\net47\FluentAssertions.dll @@ -50,11 +50,11 @@ - - ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll - - ..\packages\System.Threading.Tasks.Extensions.4.5.1\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll diff --git a/Tests/app.config b/Tests/app.config index a9b98717..0481baf3 100644 --- a/Tests/app.config +++ b/Tests/app.config @@ -1,11 +1,23 @@ - + - - + + + + + + + + + + + + + + - + diff --git a/Tests/packages.config b/Tests/packages.config index 2ac5f82d..9cbd2cb5 100644 --- a/Tests/packages.config +++ b/Tests/packages.config @@ -1,11 +1,11 @@  - + - - + + \ No newline at end of file From 1fed497ab8e9d4ad5604e9d723e9d072ce408bb4 Mon Sep 17 00:00:00 2001 From: Gabriel Vanca Date: Wed, 4 Sep 2024 10:31:55 +0100 Subject: [PATCH 04/20] update dependencies --- RepoZ.Api.Common/RepoZ.Api.Common.csproj | 2 +- RepoZ.Api.Win/RepoZ.Api.Win.csproj | 2 +- RepoZ.App.Win/RepoZ.App.Win.csproj | 8 ++++---- RepoZ.App.Win/packages.config | 4 ++-- Specs/Specs.csproj | 8 ++++---- Specs/packages.config | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/RepoZ.Api.Common/RepoZ.Api.Common.csproj b/RepoZ.Api.Common/RepoZ.Api.Common.csproj index c95b67e8..058b6258 100644 --- a/RepoZ.Api.Common/RepoZ.Api.Common.csproj +++ b/RepoZ.Api.Common/RepoZ.Api.Common.csproj @@ -8,7 +8,7 @@ - + diff --git a/RepoZ.Api.Win/RepoZ.Api.Win.csproj b/RepoZ.Api.Win/RepoZ.Api.Win.csproj index aa8cbd51..296e719e 100644 --- a/RepoZ.Api.Win/RepoZ.Api.Win.csproj +++ b/RepoZ.Api.Win/RepoZ.Api.Win.csproj @@ -7,7 +7,7 @@ - + diff --git a/RepoZ.App.Win/RepoZ.App.Win.csproj b/RepoZ.App.Win/RepoZ.App.Win.csproj index a56b48af..d0fa29ed 100644 --- a/RepoZ.App.Win/RepoZ.App.Win.csproj +++ b/RepoZ.App.Win/RepoZ.App.Win.csproj @@ -1,6 +1,6 @@  - + Debug @@ -74,8 +74,8 @@ ..\packages\Hardcodet.NotifyIcon.Wpf.1.0.8\lib\net451\Hardcodet.Wpf.TaskbarNotification.dll - - ..\packages\LibGit2Sharp.0.25.4\lib\netstandard2.0\LibGit2Sharp.dll + + ..\packages\LibGit2Sharp.0.30.0\lib\net472\LibGit2Sharp.dll ..\packages\MahApps.Metro.2.0.1\lib\net47\MahApps.Metro.dll @@ -249,8 +249,8 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + - + - - + - - - + + + + - + + + - - - - - - + + + - - - + + - - + - + - + + + - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/RepoZ.App.Win/MainWindow.xaml b/RepoZ.App.Win/MainWindow.xaml index f7606861..73400c80 100644 --- a/RepoZ.App.Win/MainWindow.xaml +++ b/RepoZ.App.Win/MainWindow.xaml @@ -1,237 +1,266 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +