From 1e2aa8d39c82f8d1d08284388c07f0cb8e82d154 Mon Sep 17 00:00:00 2001 From: "ismail.yilmaz" Date: Mon, 13 Dec 2021 11:32:33 +0300 Subject: [PATCH 01/26] Fixes #10920 --- .../Volo/Abp/Cli/AbpCliCoreModule.cs | 41 +++++++++---------- .../Volo/Abp/Cli/Commands/AddModuleCommand.cs | 2 + .../Abp/Cli/Commands/AddPackageCommand.cs | 2 + .../Volo/Abp/Cli/Commands/BuildCommand.cs | 2 + .../Volo/Abp/Cli/Commands/BundleCommand.cs | 2 + .../CreateMigrationAndRunMigratorCommand.cs | 2 + .../Volo/Abp/Cli/Commands/GetSourceCommand.cs | 2 + .../Volo/Abp/Cli/Commands/HelpCommand.cs | 2 + .../Abp/Cli/Commands/InstallLibsCommand.cs | 2 + .../Abp/Cli/Commands/ListModulesCommand.cs | 2 + .../Volo/Abp/Cli/Commands/LoginCommand.cs | 2 + .../Volo/Abp/Cli/Commands/LoginInfoCommand.cs | 2 + .../Volo/Abp/Cli/Commands/LogoutCommand.cs | 2 + .../Volo/Abp/Cli/Commands/NewCommand.cs | 2 + .../Volo/Abp/Cli/Commands/PromptCommand.cs | 2 + .../Volo/Abp/Cli/Commands/SuiteCommand.cs | 2 + .../Cli/Commands/SwitchToNightlyCommand.cs | 2 + .../Cli/Commands/SwitchToPreviewCommand.cs | 2 + .../Abp/Cli/Commands/SwitchToStableCommand.cs | 2 + .../Volo/Abp/Cli/Commands/TranslateCommand.cs | 2 + .../Volo/Abp/Cli/Commands/UpdateCommand.cs | 2 + 21 files changed, 60 insertions(+), 21 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs index 303acd7e00..83a9352faf 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs @@ -41,29 +41,28 @@ public class AbpCliCoreModule : AbpModule Configure(options => { - //TODO: Define constants like done for GenerateProxyCommand.Name. - options.Commands["help"] = typeof(HelpCommand); - options.Commands["prompt"] = typeof(PromptCommand); - options.Commands["new"] = typeof(NewCommand); - options.Commands["get-source"] = typeof(GetSourceCommand); - options.Commands["update"] = typeof(UpdateCommand); - options.Commands["add-package"] = typeof(AddPackageCommand); - options.Commands["add-module"] = typeof(AddModuleCommand); - options.Commands["list-modules"] = typeof(ListModulesCommand); - options.Commands["login"] = typeof(LoginCommand); - options.Commands["login-info"] = typeof(LoginInfoCommand); - options.Commands["logout"] = typeof(LogoutCommand); + options.Commands[HelpCommand.Name] = typeof(HelpCommand); + options.Commands[PromptCommand.Name] = typeof(PromptCommand); + options.Commands[NewCommand.Name] = typeof(NewCommand); + options.Commands[GetSourceCommand.Name] = typeof(GetSourceCommand); + options.Commands[UpdateCommand.Name] = typeof(UpdateCommand); + options.Commands[AddPackageCommand.Name] = typeof(AddPackageCommand); + options.Commands[AddModuleCommand.Name] = typeof(AddModuleCommand); + options.Commands[ListModulesCommand.Name] = typeof(ListModulesCommand); + options.Commands[LoginCommand.Name] = typeof(LoginCommand); + options.Commands[LoginInfoCommand.Name] = typeof(LoginInfoCommand); + options.Commands[LogoutCommand.Name] = typeof(LogoutCommand); options.Commands[GenerateProxyCommand.Name] = typeof(GenerateProxyCommand); options.Commands[RemoveProxyCommand.Name] = typeof(RemoveProxyCommand); - options.Commands["suite"] = typeof(SuiteCommand); - options.Commands["switch-to-preview"] = typeof(SwitchToPreviewCommand); - options.Commands["switch-to-stable"] = typeof(SwitchToStableCommand); - options.Commands["switch-to-nightly"] = typeof(SwitchToNightlyCommand); - options.Commands["translate"] = typeof(TranslateCommand); - options.Commands["build"] = typeof(BuildCommand); - options.Commands["bundle"] = typeof(BundleCommand); - options.Commands["create-migration-and-run-migrator"] = typeof(CreateMigrationAndRunMigratorCommand); - options.Commands["install-libs"] = typeof(InstallLibsCommand); + options.Commands[SuiteCommand.Name] = typeof(SuiteCommand); + options.Commands[SwitchToPreviewCommand.Name] = typeof(SwitchToPreviewCommand); + options.Commands[SwitchToStableCommand.Name] = typeof(SwitchToStableCommand); + options.Commands[SwitchToNightlyCommand.Name] = typeof(SwitchToNightlyCommand); + options.Commands[TranslateCommand.Name] = typeof(TranslateCommand); + options.Commands[BuildCommand.Name] = typeof(BuildCommand); + options.Commands[BundleCommand.Name] = typeof(BundleCommand); + options.Commands[CreateMigrationAndRunMigratorCommand.Name] = typeof(CreateMigrationAndRunMigratorCommand); + options.Commands[InstallLibsCommand.Name] = typeof(InstallLibsCommand); }); Configure(options => diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs index df38d7c57b..df81fe4cb7 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs @@ -14,6 +14,8 @@ namespace Volo.Abp.Cli.Commands; public class AddModuleCommand : IConsoleCommand, ITransientDependency { + public const string Name = "add-module"; + private AddModuleInfoOutput _lastAddedModuleInfo; public ILogger Logger { get; set; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddPackageCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddPackageCommand.cs index 41d9824c6b..d21730dbb8 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddPackageCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddPackageCommand.cs @@ -14,6 +14,8 @@ namespace Volo.Abp.Cli.Commands; public class AddPackageCommand : IConsoleCommand, ITransientDependency { + public const string Name = "add-package"; + public ILogger Logger { get; set; } protected ProjectNugetPackageAdder ProjectNugetPackageAdder { get; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/BuildCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/BuildCommand.cs index 52c7fdd56c..327b737e89 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/BuildCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/BuildCommand.cs @@ -12,6 +12,8 @@ namespace Volo.Abp.Cli.Commands; public class BuildCommand : IConsoleCommand, ITransientDependency { + public const string Name = "build"; + public IDotNetProjectDependencyFiller DotNetProjectDependencyFiller { get; set; } public IChangedProjectFinder ChangedProjectFinder { get; set; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/BundleCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/BundleCommand.cs index 5367e7461a..e758d22dd3 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/BundleCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/BundleCommand.cs @@ -11,6 +11,8 @@ namespace Volo.Abp.Cli.Commands; public class BundleCommand : IConsoleCommand, ITransientDependency { + public const string Name = "bundle"; + public ILogger Logger { get; set; } public IBundlingService BundlingService { get; set; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/CreateMigrationAndRunMigratorCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/CreateMigrationAndRunMigratorCommand.cs index a0ffbeacea..3b6fbefe98 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/CreateMigrationAndRunMigratorCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/CreateMigrationAndRunMigratorCommand.cs @@ -12,6 +12,8 @@ namespace Volo.Abp.Cli.Commands; public class CreateMigrationAndRunMigratorCommand : IConsoleCommand, ITransientDependency { + public const string Name = "create-migration-and-run-migrator"; + public ICmdHelper CmdHelper { get; } public ILogger Logger { get; set; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/GetSourceCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/GetSourceCommand.cs index 164fc52193..1cccf87f7b 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/GetSourceCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/GetSourceCommand.cs @@ -13,6 +13,8 @@ namespace Volo.Abp.Cli.Commands; public class GetSourceCommand : IConsoleCommand, ITransientDependency { + public const string Name = "get-source"; + private readonly SourceCodeDownloadService _sourceCodeDownloadService; public ModuleProjectBuilder ModuleProjectBuilder { get; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/HelpCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/HelpCommand.cs index 317b1f34ea..918136c8d1 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/HelpCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/HelpCommand.cs @@ -12,6 +12,8 @@ namespace Volo.Abp.Cli.Commands; public class HelpCommand : IConsoleCommand, ITransientDependency { + public const string Name = "help"; + public ILogger Logger { get; set; } protected AbpCliOptions AbpCliOptions { get; } protected IServiceScopeFactory ServiceScopeFactory { get; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/InstallLibsCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/InstallLibsCommand.cs index df95204f51..0cf2fd525b 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/InstallLibsCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/InstallLibsCommand.cs @@ -12,6 +12,8 @@ namespace Volo.Abp.Cli.Commands; public class InstallLibsCommand : IConsoleCommand, ITransientDependency { + public const string Name = "install-libs"; + public ILogger Logger { get; set; } protected IInstallLibsService InstallLibsService { get; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ListModulesCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ListModulesCommand.cs index 1c59a37c46..a916598aac 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ListModulesCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ListModulesCommand.cs @@ -12,6 +12,8 @@ namespace Volo.Abp.Cli.Commands; public class ListModulesCommand : IConsoleCommand, ITransientDependency { + public const string Name = "list-modules"; + public ModuleInfoProvider ModuleInfoProvider { get; } public ILogger Logger { get; set; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LoginCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LoginCommand.cs index 9cd84a4d41..d98beb268d 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LoginCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LoginCommand.cs @@ -18,6 +18,8 @@ namespace Volo.Abp.Cli.Commands; public class LoginCommand : IConsoleCommand, ITransientDependency { + public const string Name = "login"; + public ILogger Logger { get; set; } protected AuthService AuthService { get; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LoginInfoCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LoginInfoCommand.cs index 19ce3853cd..0c456f0bca 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LoginInfoCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LoginInfoCommand.cs @@ -11,6 +11,8 @@ namespace Volo.Abp.Cli.Commands; public class LoginInfoCommand : IConsoleCommand, ITransientDependency { + public const string Name = "login-info"; + public ILogger Logger { get; set; } protected AuthService AuthService { get; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LogoutCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LogoutCommand.cs index 6cefaad8e4..ed571dd7b4 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LogoutCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/LogoutCommand.cs @@ -9,6 +9,8 @@ namespace Volo.Abp.Cli.Commands; public class LogoutCommand : IConsoleCommand, ITransientDependency { + public const string Name = "logout"; + public ILogger Logger { get; set; } protected AuthService AuthService { get; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs index 6b01d93de9..2a8542d640 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs @@ -19,6 +19,8 @@ namespace Volo.Abp.Cli.Commands; public class NewCommand : ProjectCreationCommandBase, IConsoleCommand, ITransientDependency { + public const string Name = "new"; + public ILogger Logger { get; set; } protected TemplateProjectBuilder TemplateProjectBuilder { get; } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/PromptCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/PromptCommand.cs index f1ff0f6025..cbd9267989 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/PromptCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/PromptCommand.cs @@ -7,6 +7,8 @@ namespace Volo.Abp.Cli.Commands; public class PromptCommand : IConsoleCommand, ITransientDependency { + public const string Name = "prompt"; + public Task ExecuteAsync(CommandLineArgs commandLineArgs) { return Task.CompletedTask; diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SuiteCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SuiteCommand.cs index 760cbb0e45..0e797e682f 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SuiteCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SuiteCommand.cs @@ -15,6 +15,8 @@ namespace Volo.Abp.Cli.Commands; public class SuiteCommand : IConsoleCommand, ITransientDependency { + public const string Name = "suite"; + public ICmdHelper CmdHelper { get; } private readonly AbpNuGetIndexUrlService _nuGetIndexUrlService; private readonly NuGetService _nuGetService; diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToNightlyCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToNightlyCommand.cs index 0bfb3ea24b..4893680004 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToNightlyCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToNightlyCommand.cs @@ -8,6 +8,8 @@ namespace Volo.Abp.Cli.Commands; public class SwitchToNightlyCommand : IConsoleCommand, ITransientDependency { + public const string Name = "switch-to-nightly"; + private readonly PackagePreviewSwitcher _packagePreviewSwitcher; public SwitchToNightlyCommand(PackagePreviewSwitcher packagePreviewSwitcher) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToPreviewCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToPreviewCommand.cs index 2917a58449..84b58d6b8b 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToPreviewCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToPreviewCommand.cs @@ -8,6 +8,8 @@ namespace Volo.Abp.Cli.Commands; public class SwitchToPreviewCommand : IConsoleCommand, ITransientDependency { + public const string Name = "switch-to-preview"; + private readonly PackagePreviewSwitcher _packagePreviewSwitcher; public SwitchToPreviewCommand(PackagePreviewSwitcher packagePreviewSwitcher) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToStableCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToStableCommand.cs index 84400f85ef..cc0fa9ff75 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToStableCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToStableCommand.cs @@ -8,6 +8,8 @@ namespace Volo.Abp.Cli.Commands; public class SwitchToStableCommand : IConsoleCommand, ITransientDependency { + public const string Name = "switch-to-stable"; + private readonly PackagePreviewSwitcher _packagePreviewSwitcher; public SwitchToStableCommand(PackagePreviewSwitcher packagePreviewSwitcher) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/TranslateCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/TranslateCommand.cs index f4895538da..ea6b1d45f6 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/TranslateCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/TranslateCommand.cs @@ -15,6 +15,8 @@ namespace Volo.Abp.Cli.Commands; public class TranslateCommand : IConsoleCommand, ITransientDependency { + public const string Name = "translate"; + public ILogger Logger { get; set; } public Task ExecuteAsync(CommandLineArgs commandLineArgs) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs index 7057df1dd0..fdc9b83fcf 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/UpdateCommand.cs @@ -13,6 +13,8 @@ namespace Volo.Abp.Cli.Commands; public class UpdateCommand : IConsoleCommand, ITransientDependency { + public const string Name = "update"; + public ILogger Logger { get; set; } private readonly VoloNugetPackagesVersionUpdater _nugetPackagesVersionUpdater; From a3a674399b699df4f00d0a1ef5eae93547f47a32 Mon Sep 17 00:00:00 2001 From: "ismail.yilmaz" Date: Mon, 20 Dec 2021 01:36:19 +0300 Subject: [PATCH 02/26] Fixed a l10n issue on confirm dialog --- .../sweetalert2/abp-sweetalert2.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js index f89f6ffed7..4fc9bdba34 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js @@ -4,6 +4,10 @@ var abp = abp || {}; return; } + var localize = function (key) { + return abp.localization.getResource('AbpUi')(key); + }; + /* DEFAULTS *************************************************/ abp.libs = abp.libs || {}; @@ -98,9 +102,10 @@ var abp = abp || {}; }; abp.event.on('abp.configurationInitialized', function () { - var l = abp.localization.getResource('AbpUi'); - - abp.libs.sweetAlert.config.confirm.title = l('AreYouSure'); + abp.libs.sweetAlert.config.confirm.title = localize('AreYouSure'); + abp.libs.sweetAlert.config.confirm.confirmButtonText = localize('Yes'); + abp.libs.sweetAlert.config.confirm.denyButtonText = localize('No'); + abp.libs.sweetAlert.config.confirm.cancelButtonText = localize('Cancel'); abp.libs.sweetAlert.config.confirm.showCancelButton = true; abp.libs.sweetAlert.config.confirm.reverseButtons = true; }); From 199e40d31f6a5f1dbc12fe5392d2ecf203741e5c Mon Sep 17 00:00:00 2001 From: "ismail.yilmaz" Date: Mon, 20 Dec 2021 01:38:27 +0300 Subject: [PATCH 03/26] Revert "Fixed a l10n issue on confirm dialog" This reverts commit a3a674399b699df4f00d0a1ef5eae93547f47a32. --- .../sweetalert2/abp-sweetalert2.js | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js index 4fc9bdba34..f89f6ffed7 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js @@ -4,10 +4,6 @@ var abp = abp || {}; return; } - var localize = function (key) { - return abp.localization.getResource('AbpUi')(key); - }; - /* DEFAULTS *************************************************/ abp.libs = abp.libs || {}; @@ -102,10 +98,9 @@ var abp = abp || {}; }; abp.event.on('abp.configurationInitialized', function () { - abp.libs.sweetAlert.config.confirm.title = localize('AreYouSure'); - abp.libs.sweetAlert.config.confirm.confirmButtonText = localize('Yes'); - abp.libs.sweetAlert.config.confirm.denyButtonText = localize('No'); - abp.libs.sweetAlert.config.confirm.cancelButtonText = localize('Cancel'); + var l = abp.localization.getResource('AbpUi'); + + abp.libs.sweetAlert.config.confirm.title = l('AreYouSure'); abp.libs.sweetAlert.config.confirm.showCancelButton = true; abp.libs.sweetAlert.config.confirm.reverseButtons = true; }); From a2b088885ae21870f9f61bcbf2f2087ed9dfd4c8 Mon Sep 17 00:00:00 2001 From: Luke Ni Date: Tue, 21 Dec 2021 13:06:48 +0800 Subject: [PATCH 04/26] translate to zh-Hans --- docs/zh-Hans/Tutorials/Part-1.md | 119 +++++++++--------- .../images/create-aspnet-core-application.png | Bin 81603 -> 41674 bytes 2 files changed, 62 insertions(+), 57 deletions(-) diff --git a/docs/zh-Hans/Tutorials/Part-1.md b/docs/zh-Hans/Tutorials/Part-1.md index 3ff216fb76..6153551902 100644 --- a/docs/zh-Hans/Tutorials/Part-1.md +++ b/docs/zh-Hans/Tutorials/Part-1.md @@ -2,32 +2,15 @@ ````json //[doc-params] { - "UI": ["MVC","NG"], + "UI": ["MVC","Blazor","BlazorServer","NG"], "DB": ["EF","Mongo"] } ```` -{{ -if UI == "MVC" - UI_Text="mvc" -else if UI == "NG" - UI_Text="angular" -else - UI_Text="?" -end -if DB == "EF" - DB_Text="Entity Framework Core" -else if DB == "Mongo" - DB_Text="MongoDB" -else - DB_Text="?" -end -}} - ## 关于本教程 在本系列教程中, 你将构建一个名为 `Acme.BookStore` 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发的: -* **{{DB_Text}}** 做为ORM提供程序. +* **{{DB_Text}}** 做为数据库提供程序. * **{{UI_Value}}** 做为UI框架. 本教程分为以下部分: @@ -40,16 +23,29 @@ end - [Part 6: 作者: 领域层](Part-6.md) - [Part 7: 作者: 数据库集成](Part-7.md) - [Part 8: 作者: 应用服务层](Part-8.md) -- [Part 9: 作者: 用户页面](Part-9.md) +- [Part 9: 作者: 用户界面](Part-9.md) - [Part 10: 图书到作者的关系](Part-10.md) ## 下载源码 -本教程根据你的**UI** 和 **Database**偏好有多个版,我们准备了两种可供下载的源码组合: +本教程根据你的**UI** 和 **Database**偏好有多个版,我们准备了几种可供下载的源码组合: * [MVC (Razor Pages) UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore) +* [Blazor UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore) * [Angular UI 与 MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb) +> 如果你在Windows中遇到 "文件名太长" or "解压错误", 很可能与Windows最大文件路径限制有关. Windows文件路径的最大长度为250字符. 为了解决这个问题,参阅 [在Windows 10中启用长路径](https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd#enable-long-paths-in-windows-10-version-1607-and-later). + +> 如果你遇到与Git相关的长路径错误, 尝试使用下面的命令在Windows中启用长路径. 参阅 https://github.com/msysgit/msysgit/wiki/Git-cannot-create-a-file-or-directory-with-a-long-path +> `git config --system core.longpaths true` + +{{if UI == "MVC" && DB == "EF"}} + +### 视频教程 + +本章也被录制为视频教程 **发布在YouTube**. + +{{end}} ## 创建解决方案 在开始开发之前,请按照[入门教程](../Getting-Started.md)创建名为 `Acme.BookStore` 的新解决方案. @@ -58,12 +54,12 @@ end 启动模板中的**领域层**分为两个项目: - - `Acme.BookStore.Domain`包含你的[实体](https://docs.abp.io/zh-Hans/abp/latest/Entities), [领域服务](https://docs.abp.io/zh-Hans/abp/latest/Domain-Services)和其他核心域对象. + - `Acme.BookStore.Domain`包含你的[实体](../Entities.md), [领域服务](../Domain-Services.md)和其他核心域对象. - `Acme.BookStore.Domain.Shared`包含可与客户共享的常量,枚举或其他域相关对象. -在解决方案的**领域层**(`Acme.BookStore.Domain`项目)中定义你的实体. +在解决方案的**领域层**(`Acme.BookStore.Domain`项目)中定义你的实体. -该应用程序的主要实体是`Book`. 在`Acme.BookStore.Domain`项目中创建一个 `Books` 文件夹并在其中添加一个名为 `Book` 的类,如下所示: +该应用程序的主要实体是`Book`. 在`Acme.BookStore.Domain`项目中创建一个 `Books` 文件夹(命名空间),并在其中添加名为 `Book` 的类,如下所示: ````csharp using System; @@ -84,15 +80,15 @@ namespace Acme.BookStore.Books } ```` -* ABP为实体提供了两个基本的基类: `AggregateRoot`和`Entity`. **Aggregate Root**是[**领域驱动设计**](./Domain-Driven-Design.md) 概念之一. 可以视为直接查询和处理的根实体(请参阅[实体文档](../Entities.md)). -* `Book`实体继承了`AuditedAggregateRoot`,`AuditedAggregateRoot`类在`AggregateRoot`类的基础上添加了一些审计属性(`CreationTime`, `CreatorId`, `LastModificationTime` 等). ABP框架自动为你管理这些属性. -* `Guid`是`Book`实体的主键类型. +* ABP为实体提供了两个基本的基类: `AggregateRoot`和`Entity`. **Aggregate Root**是[**领域驱动设计**](../Domain-Driven-Design.md) 概念之一. 可以视为直接查询和处理的根实体(请参阅[实体文档](../Entities.md)). +* `Book`实体继承了`AuditedAggregateRoot`,`AuditedAggregateRoot`类在`AggregateRoot`类的基础上添加了一些基础[审计](../Audit-Logging.md)属性(例如`CreationTime`, `CreatorId`, `LastModificationTime` 等). ABP框架自动为你管理这些属性. +* `Guid`是`Book`实体的**主键类型**. > 为了保持简单,本教程将实体属性保留为 **public get/set** . 如果你想了解关于DDD最佳实践,请参阅[实体文档](../Entities.md). ### BookType枚举 -上面所用到了 `BookType` 枚举,在 `Acme.BookStore.Domain.Shared` 项目创建 `BookType`. +`Book`实体使用了`BookType`枚举. 在`Acme.BookStore.Domain.Shared`项目中创建`Books`文件夹(命名空间),并在其中添加`BookType`: ````csharp namespace Acme.BookStore.Books @@ -150,28 +146,37 @@ public class BookStoreMongoDbContext : AbpMongoDbContext ### 将Book实体映射到数据库表 -在 `Acme.BookStore.EntityFrameworkCore` 项目中打开 `BookStoreDbContextModelCreatingExtensions.cs` 文件,添加 `Book` 实体的映射代码. 最终类应为: + +打开`BookStoreDbContext`类的`OnModelCreating`方法,为`Book`实体添加映射代码: ````csharp using Acme.BookStore.Books; -using Microsoft.EntityFrameworkCore; -using Volo.Abp; -using Volo.Abp.EntityFrameworkCore.Modeling; +... namespace Acme.BookStore.EntityFrameworkCore { - public static class BookStoreDbContextModelCreatingExtensions + public class BookStoreDbContext : + AbpDbContext, + IIdentityDbContext, + ITenantManagementDbContext { - public static void ConfigureBookStore(this ModelBuilder builder) + ... + + protected override void OnModelCreating(ModelBuilder builder) { - Check.NotNull(builder, nameof(builder)); + base.OnModelCreating(builder); + + /* Include modules to your migration db context */ + + builder.ConfigurePermissionManagement(); + ... /* Configure your own tables/entities inside here */ builder.Entity(b => { b.ToTable(BookStoreConsts.DbTablePrefix + "Books", - BookStoreConsts.DbSchema); + BookStoreConsts.DbSchema); b.ConfigureByConvention(); //auto configure for the base class props b.Property(x => x.Name).IsRequired().HasMaxLength(128); }); @@ -180,12 +185,12 @@ namespace Acme.BookStore.EntityFrameworkCore } ```` -* `BookStoreConsts` 含有用于表的架构和表前缀的常量值. 你不必使用它,但建议在单点控制表前缀. -* `ConfigureByConvention()` 方法优雅的配置/映射继承的属性,应始终对你所有的实体使用它. +* `BookStoreConsts` 含有用于表的架构和表前缀的常量值. 使用它不是强制的,但建议在统一的地方控制表前缀. +* `ConfigureByConvention()` 方法优雅的配置/映射继承的属性,应对所有的实体使用它. ### 添加数据迁移 -启动模板使用[EF Core Code First Migrations](https://docs.microsoft.com/zh-cn/ef/core/managing-schemas/migrations/)创建和维护数据库架构. 我们应该创建一个新的迁移并且应用到数据库. +本示例使用[EF Core Code First Migrations](https://docs.microsoft.com/zh-cn/ef/core/managing-schemas/migrations/).因为我们修改了数据库映射配置,我们必须创建一个新的迁移并且应用到数据库. 在 `Acme.BookStore.EntityFrameworkCore.DbMigrations` 目录打开命令行终端输入以下命令: @@ -205,7 +210,7 @@ dotnet ef migrations add Created_Book_Entity > >在运行应用程序之前最好将初始数据添加到数据库中. 本节介绍ABP框架的[数据种子系统](../Data-Seeding.md). 如果你不想创建种子数据可以跳过本节,但是建议你遵循它来学习这个有用的ABP Framework功能。 -在 `*.Domain` 项目下创建派生 `IDataSeedContributor` 的类,并且拷贝以下代码: +在 `*.Domain` 项目下创建 `IDataSeedContributor` 的派生类,并且拷贝以下代码: ```csharp using System; @@ -258,7 +263,7 @@ namespace Acme.BookStore } ``` -* 如果数据库中当前没有图书,则此代码使用 `IRepository`(默认为[repository](../Repositories.md))将两本书插入数据库. +* 如果数据库中当前没有图书,则此代码使用 `IRepository`(默认[repository](../Repositories.md))将两本书插入数据库. ### 更新数据库 @@ -279,7 +284,7 @@ namespace Acme.BookStore ### BookDto -`CrudAppService` 基类需要定义实体的基本DTO. 在 `Acme.BookStore.Application.Contracts` 项目中创建一个名为 `BookDto` 的DTO类: +`CrudAppService` 基类需要定义实体的基本DTO. 在 `Acme.BookStore.Application.Contracts` 项目中创建 `Books` 文件夹(命名空间), 并在其中添加名为 `BookDto` 的DTO类: ````C# using System; @@ -300,9 +305,9 @@ namespace Acme.BookStore } ```` -* **DTO**类被用来在 **表示层** 和 **应用层** **传递数据**.查看[DTO文档](https://docs.abp.io/zh-Hans/abp/latest/Data-Transfer-Objects)查看更多信息. -* 为了在页面上展示书籍信息,`BookDto`被用来将书籍数据传递到表示层. -* `BookDto`继承自 `AuditedEntityDto`.跟上面定义的 `Book` 实体一样具有一些审计属性. +* **DTO**类被用来在 **表示层** 和 **应用层** **传递数据**.参阅[DTO文档](https://docs.abp.io/zh-Hans/abp/latest/Data-Transfer-Objects). +* 为了在用户界面上展示书籍信息,`BookDto`被用来将书籍数据传递到表示层. +* `BookDto`继承自 `AuditedEntityDto`.与上面定义的 `Book` 实体一样具有一些审计属性. 在将书籍返回到表示层时,需要将`Book`实体转换为`BookDto`对象. [AutoMapper](https://automapper.org)库可以在定义了正确的映射时自动执行此转换. 启动模板配置了AutoMapper,因此你只需在`Acme.BookStore.Application`项目的`BookStoreApplicationAutoMapperProfile`类中定义映射: @@ -326,8 +331,7 @@ namespace Acme.BookStore ### CreateUpdateBookDto -在`Acme.BookStore.Application.Contracts`项目中创建一个名为 `CreateUpdateBookDto` 的DTO类: - +在`Acme.BookStore.Application.Contracts`项目中创建 `Books` 文件夹(命名空间),并在其中添加名为 `CreateUpdateBookDto` 的DTO类: ````csharp using System; using System.ComponentModel.DataAnnotations; @@ -354,7 +358,7 @@ namespace Acme.BookStore.Books ```` * 这个DTO类被用于在创建或更新书籍的时候从用户界面获取图书信息. -* 它定义了数据注释属性(如`[Required]`)来定义属性的验证. DTO由ABP框架[自动验证](https://docs.abp.io/zh-Hans/abp/latest/Validation). +* 它定义了数据注释特性(如`[Required]`)来定义属性的验证规则. DTO由ABP框架[自动验证](https://docs.abp.io/zh-Hans/abp/latest/Validation). 就像上面的`BookDto`一样,创建一个从`CreateUpdateBookDto`对象到`Book`实体的映射,最终映射配置类如下: @@ -378,7 +382,7 @@ namespace Acme.BookStore ### IBookAppService -下一步是为应用程序定义接口,在`Acme.BookStore.Application.Contracts`项目中定义一个名为`IBookAppService`的接口: +下一步是为应用程序定义接口,在`Acme.BookStore.Application.Contracts`项目创建 `Books` 文件夹(命名空间),并在其中添加名为`IBookAppService`的接口: ````csharp using System; @@ -400,12 +404,12 @@ namespace Acme.BookStore.Books ```` * 框架定义应用程序服务的接口**不是必需的**. 但是,它被建议作为最佳实践. -* `ICrudAppService`定义了常见的**CRUD**方法:`GetAsync`,`GetListAsync`,`CreateAsync`,`UpdateAsync`和`DeleteAsync`. 你可以从空的`IApplicationService`接口继承并手动定义自己的方法(将在下一部分中完成). -* `ICrudAppService`有一些变体, 你可以在每个方法中使用单独的DTO,也可以分别单独指定(例如使用不同的DTO进行创建和更新). +* `ICrudAppService`定义了常见的**CRUD**方法:`GetAsync`,`GetListAsync`,`CreateAsync`,`UpdateAsync`和`DeleteAsync`. 从这个接口扩展不是必需的,你可以从空的`IApplicationService`接口继承并手动定义自己的方法(将在下一部分中完成). +* `ICrudAppService`有一些变体, 你可以在每个方法中使用单独的DTO(例如使用不同的DTO进行创建和更新). ### BookAppService -在`Acme.BookStore.Application`项目中创建名为 `BookAppService` 的 `IBookAppService` 实现: +是时候实现`IBookAppService`接口了.在`Acme.BookStore.Application`项目中创建 `Books` 文件夹(命名空间),并在其中添加名为 `BookAppService` 的类: ````csharp using System; @@ -439,19 +443,20 @@ namespace Acme.BookStore.Books ### 自动生成API Controllers -你通常创建**Controller**以将应用程序服务公开为**HTTP API**端点. 因此允许浏览器或第三方客户端通过AJAX调用它们. +在典型的ASP.NET Core应用程序中,你创建**API Controller**以将应用程序服务公开为**HTTP API**端点. 这将允许浏览器或第三方客户端通过HTTP调用它们. -ABP可以[**自动**](../API/Auto-API-Controllers.md)按照惯例将你的应用程序服务配置为MVC API控制器. +ABP可以[**自动**](../API/Auto-API-Controllers.md)按照约定将你的应用程序服务配置为MVC API控制器. ### Swagger UI 启动模板配置为使用[Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore)运行[swagger UI](https://swagger.io/tools/swagger-ui/). 运行应用程序并在浏览器中输入`https://localhost:XXXX/swagger/`(用你自己的端口替换XXXX)作为URL. +使用`CTRL+F5`运行应用程序 ({{if UI=="MVC"}}`Acme.BookStore.Web`{{else}}`Acme.BookStore.HttpApi.Host`{{end}})并使用浏览器访问`https://localhost:/swagger/` on your browser. 使用你自己的端口号替换 ``. -你会看到一些内置的接口和`Book`的接口,它们都是REST风格的: +你会看到一些内置的服务端点和`Book`服务,它们都是REST风格的端点: -![bookstore-swagger](images/bookstore-swagger.png) +![bookstore-swagger](./images/bookstore-swagger.png) -Swagger有一个很好的UI来测试API. +Swagger有一个很好的UI来测试API. 你可以尝试执行`[GET] /api/app/book` API来获取书籍列表, 服务端会返回以下JSON结果: diff --git a/docs/zh-Hans/images/create-aspnet-core-application.png b/docs/zh-Hans/images/create-aspnet-core-application.png index 5813cf38e9aee0a5189a8834eaed9553fe2fa704..b8b98f5c32617368964520014be24185edcdd4f3 100644 GIT binary patch literal 41674 zcmeFZXIxWTw=ay_f^_Q!r9`&{EP#m8lc=cZMnR=Z35bYNB#00oB(VTdQBYA)Aw)!_ zcj+Y2L_{fx1qdy~fDj>&03it>?Jn?n&e`v|AKu^lp8M(E`@x@Ci@D|+bBr;^_>VHz z?Nd$;8mb#rm6Vh;jvqUGMoDQoTS;l@*vb{a9sI#3X~2I=qRu!RQYxkDjR64Bk8$aH=V~rhviqm zTa4%K8}E$Ta_68<&?lo6>momG8qYty?^dc7T*rAdD^f}SXwXyZbEp0g-Evs9;oTCw zgq3SntjtpR5U^(R_2d4^9qXr?M-IX^TqYw>qC)PtuP>pnF`nl%IcUp^Ck&RAa{}DD z3j0o$IF}ISp#XDR&FSvl9VZ|+i?K(O7CJ_gOMe# z+=USc0!0hIT48Kt!Yj?l>}B4isLceGWavYNZ&69%gpm({9qZYYZvuSkQ}H(2ru|Xh zK{1}*QeHk=`>(&X7v@sheL3y`{;a#BFE*!nEe-rw*6|`aKltuIA%V#(SC;oBwd8ZCvZT%Ou-&_Sq zNkA3&LuywoA^axA|G^q6-Q4IYZNL6M21()3H^e^a|2e3YBCfYuM;50$L+WGp;MsJ12+5!ZDrM_>REPN_@)xLA`m*OY zo0RsQ_$>}4jkUiQc7XDKhX4%vZ}a8dU*Dde)i-IFyuL^FlOMp8FWu~;XK6=tQ^ZdO83_0F&!p={dkB%fPeXnfWTv^%x#~1T ze5=Pva@_co*McobKWGKrUQ(dJVxb7{d#}U7RYSKMO?mHTNuS?CR(&zT58c;CT9zI! zwKXZ}eqJ6K5s~(DsYH}~FLb+Yxo^nxm2B^lf^xJZ!WMbaSy@wR5e9=k_Q9-q>(1CH zd~`!R(cCp#Q!cL2C2Jt;R>e3$H=t|nt!Vxb4)AjSD=XP8=R+uz0NCbJso$?JC8=ft zZ}$Y=UY#ZsX+nBh`a*nl4UBzBR^a%OcZJ7068Y@p4$>H@JKZMHDdAZ;KsPQo%vl*N zxmbr5{3M?6zalOM_VBgOo3lVS-8qTy?}1~HFYpA#jh_~3tW&?NnIXnnhB6T^vBOrF z9PIGxNU`PE`7cpKSm=1))WsaS^!ic>nWDRlkF~)^14Ne3sjypKM3YMboL?HA%hI%~ z-S1-5=YWb$veJKlt&)w{#y-3SH$RR8Qz|Dg6K~+; zWr>%_aocflBCOtNfIhd#kk^2uolDfXTC^uO=hj|UOkDTyC{s|ja0+eMJ^jrRyR#9mb6-#ip zd5x5awY*BouQ08HPKDJeZcHch+n{q@@cyNZl)*f_8VMN?1CxlrpzOiMEn#x1m^DXj zyK&LyI`z;b;^}df;ZK|eT>}DyqK94fU&`Pu=e)V=9UZZ#! zC^%v+VOCh$$)rRsINo1DoRWS=Qc^pZDr^vxWV$2UMjps2vb?O>{|2v41B)7`4ox5F zR3oX;IwGMd)>-(osMB?k{M2X66gGuOEq9+TyCeidqX>vFO{TSC&KmWAQ%4ae5ut%# zMooA`>;;&lETu1c)^jdTlv-0(oTWTu-9CsBgNc(hDdh1bErX>u`^ihE>G|53yu!88L!b#0r*FOqgJzm)6oqi}3gGBd`fncb zYKOp`fTbl?Pmbk8ud)Bd##HR^*|TXDM@NBYMIkI6%}uuk8?3tIGUPSdu!x)F$;@CV zetwxx#UIQx@f>uy;Hp6Ud{)k%PfMFU^xC(jpF9|h&A>Z1(^?=hga}mBx`|Uh@^7c%0_!yJ?qhhZl z9@q-leW`_A{A6L=^1Uay2(x5 zyU`*1hO+@)2^*^A!IY)H3dd^AqrD7Yz`_9AEndzd=8a<+k$sBJ(el!vs2~1G{B$@b z8!kwlN@$jOS!P9?EK$?Ni2JEotnb%l&Pg4d3rHvDlE%Nn*scPsQ%?_!R4hkv-k#M?l;Dk* zsVNJwEthR_A_xs{y2G7TtclclV3>zUR_4}i9)MFcSgFb}$zz6&_V+&AA15+!_&yiL zfj46^lNva&I%G5!lbMgVI{Yd9djNYW;=CY=qOqW=TumhYnLawlN<%d~<;?Z2hHv}( zNW6kQ1paln1Chz7qTE`Sr=xlq22JR}7S5wth{%);d>K^zn<3(7Zpm5r@5);u=cVU*F>f+ww%+qLWB&Faa ze|@bYhCtJ2y*$K<8_yaNF7UYJ;r#GPI3PC{HQOW z29GpD%zGIvraQ!00&3imwFf(hEVyPYua|TC3tM(mlXG^=?q!fjmgV_tKkfd2<|OeA z6KSw6&Bg|~zyoL8_x(Cd7Rs9`Eh4j>e?f)y%iJprBg|ghb5Z}9Js3Ist|B!9GjGdc zt^q&eB)X%ncYSZ9Ou~$6Vx2|-~Q=l{621R+t z7AG(}=h_}LucbouW1xMdZF57cXE@94Ek?ADABbV0uorPZ-j$KxoL|+CfkpJme1eOF zu5mEfOpbhJJ4>Eb(65o%N6Pe~jll*$L_X8GmHRa;Oem6y;KQlD0pIV#<@I^ls-%u_ zNz&9$S;jUbtc7&G=g}`OMbXKO26)2$Eg*qaH?>aN8O%&)ONPSjn(HMp%hwaXnocWAyFveM`HD^RreZDmFS_V zb#%I}hjmddju1H4!ZV4T?R$^$Jx$D;DWFy#_sy_@xo2U&OYltn%aYkC4(Mb_W7$<6 z4{u%j9_#`5YP_@8r Hbg@UrfcMBI3jy6?$B0b<66V}0i~C`jmei6RPWq7V;!!^n z*HYk=uM0ai;L+f&EadUBTgpjFx7a8dcaW!6z&}@j8kA7@jS)qHpvvj_V&FaDBEYn{)XU zV;%$+`Gvq`o?Nc`-ZouYPJ1Qt#R~qytsG@~;GEI=(ALVW8RGR4>#*z{l0N=8=oYtlY zpJhf_K@W<8v&J=p9y%uT_jAGkPzN?W#UFb|WU%Jl_Lq9V7+~!hKfBn*?s}+d|554C z*BRb9ob2#POgC;%6`H0t_DrEY(G>r7bKhA*AN`mo@q@g~Ufv7RR_|Lh8^DWQdAM&X%>z_JnKJD&AYuj7l zYP|LjhOT8B(Gq0y7$AgZFqR zOKm|V-AKwu0zuLn#hLoj*h_1WYqz^GpY1t;`2?Lq_?w{?jKn*im28Kr3$X5_RCv{& z_i<`)vxcl&r8XH1zW#w&jzTfuIhN-)ZhNuw@8!F1E`65N8}ZhNEM5TVW}VLKkZ#O| zyxPi9Z~r$~K&k7n@%|dNJeZ zI%l_Q+xK!18Kv~=gn(fr2Sfo-_GQH^it~`u;UV635r-sxr8Vr&B$vf=`@do@v{j$g z#+J|o-JBP+(&pJkoEHV)>VrEkmUgw7nY}u~C@+kj?w;~7)9I}R7vlrV%elln+t+XN zu3vBeW76{MI#z=9)ocgZVbqduE{G&&_eXT?-Dx^DM@ynbNqOv3Ex8-_FN2+6N%O%4 zE`$mYAtn|_+mVIOmqg7WG+xc(M7K=s=OKt}qG_>ifTX@t;?q8o9Whf?$}59~G~GA& zIaES`!J9DbuFry(|0EH1s$5Y4cexj^om*FNPiuXpQ z@!Nkag1C>s7Qdm!#ngOnidb+e1u@Rl?oI%jWmk-g0AIavkb^d{H*nps?Y>vO>}U!g zCWL<%hU%Qu2=Ov6e@@w>!B;6By1%&vuei565s#j!pOO*>8+7&=198IO{e4GHCiB-u zW2k28I3A(=J}V)?D_U-OZY5Md`$W^Ljr+Q+X>TB$vn9^SjoBMz+4`?|a-ESQ&XmO< z30|(k4jl*GM7_<~_z-r&V>o59b=ZJrsIy_)mj!at4XAk^tFjUPZW~kLPR%u*y6$Gj z>&gh%{7xf&=?$3$7Uz95OY^7|X&sk#aREaWbg?QszO#C@<2jf|mnzBP!JMa~SC|x|^vjFbe-Hwh*2T^Ip=k?D&nnG;;qsTqf zt*2b}jJVmV_4{>gw01U<`*{x`DmeB>DiE1M2YYSx?!bvIhmbZ_Ea?yln%n#*wRR!G z#&3{&Y+b8Hf3*~AL zC3ipSR~oy{*@fKSnw7@3vt}hs+$LP+1I}4`T_z!$BN2%mwJ6&JfeTN~(3rye&z$$?w$Zm?^;>dzFG6L&tdlT8 zVS{4^b*NDET)9)O0ViQ;Z^Kb=>1p!V&L|mSP9(Y!bdEhRfkRe)(=>a{NNz<3L>n7B+ zBJwq@+X6|v`slfgPwv*NZZPgl-}e^>f^&qrC*!R^k2%4-kD~4Lq9R3>DAC*5bMD>F z6=`%xU;mc5T5~~V;i&v5xLdrUGWuS;Ps)z0v_B=X4ILuCr;dd6T@0e4jfk<0^7Yt8 zKluz`jW#udCqV^B=D(H&oo33W2fE>r%`&r8WI>twVs>opVJqn2qU!Bo^Ic&Sh||sF zmm9XP|1!A{KOZ{c2?ute|LmBgdmFtdkbxou>T0Q81#&lE&#h#)vEN2W=6}XVpA7Nu z3h~vC5iU#1P5M>>xFKQ@5M?iDvbzdi3sfOR)u1}c+tG70nZ=i+>kih$J^<0N&aXJ2{C(aX?zZPrZmqcv^sAo z(lS{@-RyZxBihVpac==z9sk^`*6_aWD);WMBKq>iGA)<&Bl|aa3Q8=8;)sahLF$vq zOFb2;Y)Qwq^L`Ve;J2P+@k~4|oM2V&_xCtI@*!EAUuLi(aV*-WNl@=}eDczl6y|p5 zVvc6>N;cL=6p|JC#kDh@_p!Wo)t?{6JTkjq(TzoR2CIH*oiSirI^F!^S<-JyDvwOZ zYj~R)Kvp3C9#_LEYi#K}@4p|9dQA=O5%M+8b2bW^{`CGY?BQEeJ4MeO} z#)3sODapU<7v20{IgTb%d}h6=vUG6&+<)-tKxl}4Y~55)Y~)49|^&5c=okjZ=TU`uwgif{@2kz z-->k>n_`j$`}te#O$6?)2+2%*uKE&p`L04Mzye-?a^jZ?tiX+ep;l6s&dIeBX=y;z6~jl3E|e zq@=sZdYNZvmmmN!w)|q&=sGIsC*bOJMM9Y(q?7dF;z=N4!t^7dT*gy*N`+7Q@7&j_ zME?4Rg#Ly6%?6iTNS8Tb+)>vBd|w2u0*B?By?xg?&Y|Qc9e8D>p?3byFjABTU=2*~ zTCJnyUw2b~5y5b2a1cU4F@B^5_p)zwvgAqHY_gvu2Ft;AMx-rCFk?YBbc&oFz+c{$&dF%zGv?ZuF*OT`!6=xgW%Ly9b;EzI=*;`s-+)c~bM~0T zKvQ>3z>%)0Jrca)NKb;7&Bf5_Cs-}NNKEWZlF(YuYO23HDtOFMADc{5t7cj!^IgpQ zAIFa?VlKdJg$qswb$g?DkX{=7-^p9nGt`z13nTuO0FR3&P4kE6 z_`x(wyygUEXPBR56C3ppQMLvyq3crv*U1Q=1?fvnjg}LGKy(}f1op|g z+?84rS(?t1nZA}!B#J>y3e!?D|vq=%NcXyEGp^at5L*HQEG&0jBF-?$@j7kSczBW)i-5 z1;(_><8wbcX6KLn4kn(%A)5uuW0i#i8=Z8bZlXJ7Z{2-2*0?VladT0>mCfwsp0=hh zWHhMzv(gH0{2X#!Uren=zZ}sHQzaGad<^bcM=4~~qMO{OHW(lFcU#};b~5r)N@MrQ zdkMv4F`BROEVnrZkR#xy?3H{a7kRLa>Y0AAGo@jk8THw0AbxGmo+=_$gYC@EliXaS zK6Q$3^Gsy$W$tE= zBy$2=@^>8T&We+!b_C;uqNsm(|7HWKL&})^?kLi{>@gUAg&Urf)dMeQo)ss~u$ z`9AqTKB+4sspC7XdtPxc>l|%9FJ?do;%g>7`S?F`O4ymb{fnJep`2hGZdV zNqHjf%FGC9$cWWDe#I$?zMCDj-{7gHGX!dT_b|YA4EJ++C|{ut0?iyrd$EHVz_(1|VX8)RZNsY0RM)%7Ipo{u|{|rT-;G*Z&o>_^-B-PEoW8opD`{cb1j9 z0>xpqlMD61@|CX+v75I?`$fNQE!yQ~p!Dw0V!3el9|d3HDvskkd<$mA|9-5jRQ~1v z)av1GRV)Y{dj-1E!@{~2{})LGxc9_-;_sr2p)P^NytxwR#AWf_veA%ArM>AM$u zu1*CDdzP;iDUvOlHtR)qo@R}hV&Z0E*?|wK(LVoW8rz=erAm8L0Pddm6BK$R1*TeW z?>*pmF(UqZCb_fIb*7Ge?jh}edQ2C=P*OUf3cy(}TEp>(cP$22%VL{%RSx55_!`sX zD1GhdZgqj3*e6%)g6%j(>-y+s36%T}TWRgSm0=+7D!&x(JO_}qK`!3qu$7);J?%W` zqQN>|l^~w^Ih}T{B8yX(Uv(j${h7V718)D*iUPc0k_10{e7*BloH5=SW*vg4=qng_^Jo~u(4c<}QQWP_^2tk0Qf1Q!mx9@IAPuJCL_E&^ zv|fru*UIdD725vea}E`r|Fh6^9TvF1h9zBjwq%%`j8x0vc88M3H|E3^RqxK?PfEzC zhc@9KsuGlw`1Lv_yty$t`E%R&^4Ssp1R52Tq!tp^=t&WGSEf_6OF@2$uL)$u@oyoh z?E}(Nl7u`ZsQ1dw(dgSpgijiisO=gNK93WgMHQ->~5;-nTIlQKBgi1(@e4!qM9xfSBIu^I;&T)q?IWaNi86}W?DqO zX;|EZHtV*7+&bZsS3JZ1Bv211IMV{X12kIr78)FVurnQ9(4c#y@WjVmZoJ%MkK^)> zceNRv3HoO0h5#<>U0+ePmHaE#P}BSc`@O3+MbguV>r5E?a59m-C1!j5<I)bK&AhN}FjiUo?n{U^lb7M;H%;L*N@|mIX&b=pdVf+Ksw7V}p@j2ukURFRVGXmz za0acZ|Q>t4N!>?W!yQ$U$w zn%7fO@H};@%OejP|M{jgfH2LuXp@B*^EOdaR7!4hJ;lM&GGV=X!iLC|$M>TR-GKf3 zU}qE&qL4j9hPKfu&(_-9J@8MVw%@$uBbs~$WA6Pb!kjJ~To~?C$(feX3^VTaCzN^> z`T-gc_0YJJjV$CY{M=mZ8F^uD{)r*^Ng4i`4@A3wzg)?)7|2FdQ%TzNBZ-&(|3$(u!E^1#T+v2&9IphEsSJSfAZ~9vbZ}k1KVi( zJ_5HH`Q+uCzDnGb-}(cj*{;cJcB%U@9b%6ldxD*OZkW}A=>u_!9`dttZQSo7|muxgUc1XhFzupws%qB54vd`_=M^BFb z&6cMVJ!{#I)>56H#1ig^0$rm?ue))f2c824;Z>{Nt8t=t zZI}h}Eo^T{M!Bo9m37&?aU;#ga5NEb=(Ye4ZUPygTd-gAukTH=_S~WL_)O&rn|yUi zt{dbvsr{?Clgn69Dz_ap*u43^A32v^65$YZz~nvL57hi%c|g#-j<$;xW*o3G)V#q{ zP|9vw?iSWJj@(+>Z=V*^GM2VkNb%-rDC$^J_?aWl{4|(^FKmD|?kKiS@QS5lBv`mY zC`9o;bn}wT9j}XvoMb6eTD1`xwsOMS8-TuJ<>8@qlN^vr+vu0Z#{TbwmzL7i7;$<` zgcz?dl4f*+usms7VDEgId{~U)$OqeqYq(FnEKL+lk6FvRe)Hq$WNi|mATKp$QW_Wg zqgx}ORtN^a%~ySl%xaeW$SrvmhnX#yD#7%9i^3rw@Zh?!h|w5a%jT}Rk}WIjruACy z3C&4z*_6P%jo)`Yp)rT}IwH;&uz2c^j^$>0D~2|H!aJ5 zDAFt&*C260AZqKNfTC83=MSSMV5KTNqofa}P*L~9oB>7(qad6nCojoc(@oW&sJUrw z1-DmrtcTF3pAZa%&YH6BKv73%7R_HIrDgKdbA6Lq2wH6d*V(SY*asne0Pauws|*Wn zRBZDRKIye-M}Ajak(993uE(hCNgdujsEnVh3MJP#^wX{VGJG2^kjkx+XVV7Im#n6P zu%gG2<*zrAC~tLV1olFm(ho-y8V^E6FKnZw3$nTkhxl?|eg3264#$-{61V5ZIN+B5 zavR;`#$JV?*MyCgrQD1Lsj-!dBwjnRoNaYTMJWe=8=(6)1#y1?xnG?VRxnCr29sgX zD9y>F1gjp5fM}xBySNOv56$ApqVu$Yop`<+-YDNcKtzXop5F2bG@n#%9t2}^G7av$R^I2 z-@V#}?!V%lV0FBIR~Agfcyny%e4 z-8}@`7#3IOOCrV28M4Y!v-+(>?7>d-K?{^Zc)Skh_+Kas!z24kFB?A`PiRNqg!_qYkmHa|6VuKo8uK!_OVjxejt`JT~M=6Mx-LJ z=yI2gDVE;CFK0S;#<@0uTK_;vlSGHzUlW| z{kzQ!DG7x5gYJNtM?5AxOOt*OHL&6!=l?d*3d&_5(8j(WD-~-l_YV?NwPeE$KRvk- zq^nUD()P7!(x|y_m4iW)pM>GIoOxCrdY3Kt+$yHc5HKS*MEOIUKWIJn+KyzY*;8s8 zeo#(<`wjJ=dEqcM5oA8L+fkaDa)I~t+%J8~H0CVAl@{ZRnSoMh2B9SX{P}bJ*Uu`p zNvGH{_PXZCSvr#eNyaEXGq-ZkdM#c}T0>7o1p)WZ`J$(5s63_)5sq*z_{iHd`Jx#8 z>wXFI(ud$Bm;O>O*!6qcxBHOAvBvy8JG3%pqQ{d%DzYwbnATA}_{r#uU=M&eDXv`y zc}?;?`F2~+)L*W$*{KX=;tMi1iq4CP9ZPHKyFh{`J!+{ zCYg80;JJ2MP6X~-w21-|E&3ki+s_~39h)W%SN`I|@csK8yCe(Nes61V(0IIhaSN3e z4RJ{JtvdZ`JZN3PUTgus@i{J7jL3lx0*JggbH=8(>6^@*X!00;&^$=pHW?Urd12r) z4*T;9K9z2au6b3n;mCNx5~V+Pv81a?y6A}|UTIS$tmj>_fa!ej#|)e_3EqM0Cvy+o zCm{Q^C>~Bu%A7bW=%;K(KUs_Pc5glEZ#OHvu`T!E)OXxukS*rwL7I*@#ViX{Lpu1z zq~4tK*~dWj_3q?C3_o3HH8aBUpE+fb+yDe?ikj0n+0UG~uBm-De-5{1U~@lXukJ92 zvdbV%4n&DhS)P_RSB%JL=$tS`%I%kG=pK37gY3O(IS3%ZcDe#xMC^&VAEX`LN+pdq zAFY+|`Zxk=iR`Y|dYLeXI|vqQJ#igI+&}$Co>6E%f_$%MlPUIi?lFDE0u#-5`|rS7 zj^K08{W@*wnpwiu`LnBxSLq7A3z+de1wXcBdK9)?(Q)n8oteeHWe7qB(&LQ028cR( z9s3Wrz5dO|9eBj_Ag7+aMqoaV$}CmLWwT{21DN_OJ0{aG7guyRdZ1?vZ}y+J;7aBQblT9=Ai?**t_d zZFeB8e-!rftU3#Wp6tsO@V`J(b1{C9?P$XvOhRzfoP>PeSiHw-L>v?cUI$yY&Yst) z-To(Gl*i@TzOlK(_UbZ+pz}W9((F!)Zv^PI^b)j^^%RaU;q57zGG{V$;I|zw45UD^ zogW`r>)F0J%QP8$I^t87X4svavypzqMOWf-j{$))AYYf#bffhvpWG}@APk|tmDDbw z=TO1cVK^xo*M{2gZ}}yspmGo~#I9(|8I<>F1vtmI*=8hg7uWVOULP}1LVS0Nr5t^`*RJS&is@{VqsX zMd0vY@m*p?-&##52RUh~caKn}wghg_`ULxEN2|!i!}`hj36%f_UXs;Y0segj~-RV}0J@-pSgKdz~mBi>)f$a&%n}lhd6~|GlxmKxF zRMh<)O^F)>HZ%_)<~}xD~#OZg4Mgv3oMXuJfxo$>QfArDM!ABZELG$_Vf13uH$C-+gd=AftXrknfU) zyULTNBO%3K053J(e3*fh#$tD_NczggaJ7@## zFioGb^#PHwJ*j6@*twS@=A5+TO)bbu2TVZ*Ic*5PA76|Z zx*ve}^kH$vcoRyWh*y7qlo+A5`9dVFI7_XoCaBqC#;pD#@06WcFyZTaxSY5*6oT$}S_|w^S~>(?_bgSMSP6ikxoPIMj5Nwb z2B`+w%5HfqdSzM$)BDEmz)amMAE|(CMfS2Oj7M00LExh=5_=}2uQa!WsTQoc;oQZA zFcR{`1kL;1TJoxz__EmiAb+Q>T-6B-w9w`}L~h?_TF2mA{(JmPHq z8)xrsii;b$Z>XsEboQ!mj!zMEiuZo(MOKQ=j)3>2NT{Qa(_a5|xNz5E*2>Gl;A+H< z0aHeh80A)&ez8+h;|*<&Z*Mbgcl66WLm1@)F^KHMC&-oyqk@URQOF!R04Fpv&W59f zL_Mk3vjzjocm0c{hK=e)i zVv`d#*oeGXHZC?2ev)^y8^ElhkNZuNxfxQKR=?o>uWI?jTC}+uH^u%(r<*!K8OsI& zwU^Se4ddwg5c$KO8T}C&c%!CrotDT^(fhS&;VR68&}f>1n?cv~;`txjkLI-Ma*jl4 zpvM0N3DRv^jI>P7usUAcH<#3}@;n?V*=;xeDE+aQdgsiwIL&~gi>armr&n-?DP(a1 z?lSI!_;viQvbB#n4NZ1CMdR(9swThs;(x&`P6#$o_WqoRcwFj~Dj*s^hE8l8;XF#S z#%y-+f#T^5w%$##(V|=NqLlegtSg>M8#lH8VJ*%lN zqPWS;`_axX57L9am;o|d$X|MS#89K=?2h9Qezo32xtJ&^uag;_VXG;Xd#bQ^=>fU^ zNxxwvS3@@>ak6CCL<@oVqsf>FiH?zPV`@Qt6+l+<+Kaf6*O@kyz6n)m!wUo<2`FU; zu?Koo7>J~kncQ$t8z3s+jt|r}TS0B4xPc%$>-`>|ix^*k`>YQcuaSE};@iAvvwL_ zgv#4`4Q2r2DTUlJm~V;xOmdGMD}t`R+|!4?bO!zTdm?}U&%92>0H`;kVG-PIm;JW* zcRd!J%Y{Bh*A2fpP=vwQy)*VsvnKH`I z3Ri(jsoPj2^e+Z0G52gvb=VP40oOUn@iNhL;@2|FcW)wtVPZ)K^u8^M8tqNtg1-l} zIGbwhQX5HKLk%7o=rN#fuLb&fj4;z*O`;GzF>C>gqY&7$7=~|e&Uc?SOhk|*43>+w z@A^^_$}#qra4?>_ly24jiP}g4narirqcik{IG z!yXJ=7se-;{gG4x@~o9R&ar6yK^fSBf-5~Nc4B``Ep2$Aw84n_y&nS`haDe`l~3j| zC+a_zNz&CQ(C|x&Ap3+%GmJFq<^D(i4Y`#Nw}*Ay7#)L)Mkv^~pN$)@y5!Z$>{+9< zx0L$s=2|QR2amna@Q%>LJkW^`;5zY+D|Jq8bgACN>T3#$YQ_7wg`A{1SdvTs~f~RV0Fs6Qe4JOs}0Jm?|U~RD? zR{7p{7|>*_o*}>L5TkING~B6$+;?XP_QzpL@-1rtrl!R?ZH1sR&1rsIp8>bIW2$7( zD?TP%^TPY+SkM6=Ey7n2_ep12F;@DuGLb_+W!Xr~05aT4(j~xlJkvM0@ODrbcgs(& z^`c(OvkY5V8B+^`pgg%u_)rct2qwz18EJ|Arm;w-@MJ7Sckq6glJj#*!q~~r3-u&x zdgSR~psbiq+y5LI-J>q>3D;YwV;)cBt1u2kf0!N)oU4!Yu)T`>HA=h621UOQv4wd|94{CUD*m%#La^nfn^1HG2do7)+b4@AkWbszbHa z5Z@t1TWrax;of9lON^n9tJ!QvWjbk9X+6rZ$Gs;e-h(}l;{Gfz9`fWQ^G`QjFvPH) zPw4O^TcN~o@5@?rSfxeru_mSbUBY*YeyYsXpkdoKP!-sl^f7j>%tl~Jj)o4dK@+Q{ zhR%t$uyQc{8!s!k^!WHY4$WU|(O<_`JIF584RtG%Q!x?Pu4x^N{2iF}h9o{#n-QbBdmb($jNecpZikMOK!(hJY1xk`8+%tx1-;4d6$F2zB${+$+nJU~=& z(2sVlTy1yBPcct7Ov9{88S!a3g4=Hoc81U|$~yzhJEN*2J2jNvZCy=Ws=g;9!z(Da z>6Mp}DMs8zxnrGR=KtMK-0HFY|MgM0Q6e7;8kCnN78DfRzWfOk_wxa&1yb02rF8fu z^?6RVAwF~;X1sjEczvJM_zETeZ$Km43M- z>or#YiA)zm?MC*t1L`)($z+svh49!xxXN6LtwMOGt?dk_IxRxTmJ7U>S8*0k_kRIS zb{@CP;ztk)$v)LNU(@djuu)zPAxd|}MZ+B8-|sihC^(+#OlT%)x4AOu<( z<;i9W=bPcge9u3D?iVE`Wh|WdN{7mRAFKWg))#`Et;j&Cv(1wxTZb&h-Zkp9=TXFV zk0L^&qbY)k*avH<8G3T0BKQhK zEjUE1OR+U+vdba}dZ&WZ693Li7#W|MDcF)8v@m#~I-l@)mljandPtYQzs(91$r^Ou z;R%9g@V@y>@@H+>GizBZD6xv$+wV&p75WB=V&wAbA3-#E1JNe!i^z)^#Tid=!Dmt>ZO8M=+6WO%3!IqXjb zDrsY(gMmc7c97(HRaMaG2{V|Fuy5FTB6)tg?VL-{?~fbo1DL`iOg!!-0be=DjIaVB zoA6bW(8_CI%^(+bX37$23r`X~C#xk?MZ~F3@TcVYYdyA!7Imup{sLF5q|ji6Dw}eCt7jw?X zieLN#4P9q95EFQ7!NZ-}f%K%e|x!5vB!25=HyM!u>w!!?8@v9{MtsVPfhtY^8&Y|-d@)FpI9 z`?sbmpMaylT!`BHICPjeV_+1TM;2U(b7R9a*)IK>Yg+E4y`NvuAoaoAI=h`|4tVdl zL0E7bR630N{Lj^={z~k`4gLs{W#KKyn*?niis#`$` zqBgTm(`AZYiz;YFnt4WFu*6eBBk52*aO_QSR;2M1=7|-&ujO$0B**0Q6U;BH*8f8& z3B7vB)jN{DpT2T2lL#mN)nl+1%G-|@#n2wJgIh90uW01?SO@_;l5#M9=NHqRAnz_Q zJE#;Vw#-I|t+1ad;_qeBgL`AsfNCPIerPmIj4Z9&R=@Z?k84R=vrOYgR+BPhws<&% znwE35o<0v8b3Qi(>(qbw=F2XKgh!PRS9}O;gKcWpyk~BeRo34IF$hKP9vPHHH;qit zg5S@3i6%}iE&<&!*;qMZC>voK{!_0K#Ez91_C~6QAOs4W5lQe8zNN%X+HE zU2B*{zqz~(w>i8os3t9Plx<2AzM<6?s1CSD^fppk0&#%{K-k>dtoR8q=I5PZ$scot zaCvnLUI&6^mQ@8UC{tzFf-+r8+MZ=ArMhFNJ)b`FB) zcR<@%k{U4k6LEzk>9=ji@*RLA zo~A9>-SnV87S?p)4`91y`Ux=G*;RW|t!4HBlQL(7y{IQe{;14H-#uGIX93EmvY;N^ z4ARla;`y}@S<-p0g@={W4_U#k{9J8%k{Zlfu-I9V9XN&(@oyjY{s?qvrTW5{Ysdcr z6zLLYDx2j~_^M{)$DPeGP)Xxf$xFIOMnOI6V$MfeO-E@b(+Psf&*2M?C~bcLC;lvV zkB2N?-Aw_!(c`C!AF@#bJ`rOI0HcLJEF3{vG*SP5K5Fyd?yrQfdIHk`zv21tO!y`x zrRRoO&d0#-0H*F2AR1ow*;fbcxazJD?|cd zR#F2xIM==EI{g5_R5` z$$m^UQ7uNsnzebF+8vJ~zcNf?MqlLtiFqG{2B>Q^v9U=$pLtpeBnGv@rb6 z#=nUj<$H)mP^z6zTHg|6$8bCKlEqzEJ1fCYJGawX*|0(XM$JlR( zmcgdmdm6^z#DSZHQrD+`wZ#CD)+Xa{w5I7{E33lNBQcmUu$I#ONB6dW-u}Y5?d6i2&fEE2t-9> zCIS-15QR#VKq4|k2!jDbgg^p>BxL@cfbC_^dw%bE&v0Ge`MzKM3(3RIe%4-l?X~W8 z@3pwPoD)P146XOb_`JEFD8u3dUL!nCfWf%UH19Zw7QXAJ+;plW$8;bfzVjYEO!T&R z@9|jSv24kiqIr;V6n!mGH>S|hE4SYW^Ox7T$&59fH~f+STswUE{vbCGC<y{3cCZ?vYTWq?uc=eQGx&wKTs@r#b&b}|H|c7Y#Otz zu&xweHy_V59rSc#$saop1>{fH$7&aetH`~cJhAMo)vZb{wmeK6Wl(OrQREH-0n;m7 z`7v=h-{G^}_pVMqf!{~V-&>)NwLe+(AnX*xy?4-UHFA|7OIorLsW#<%8iGqCvMQ_I zU;Y7tTmCHnjY;v!Mhf{<9jv&0t52juv9*2+*HQi~wOZN85Ol&*iy}Bwd+c!|Qm>21 zmNm0;tl(FHml*Psd(DJ)F+L1UTvKmaWv+AT$dV;V-ewQ*8`_V2ZZX)!+SDU29{>{q zZH&_F*nzcQo*Caf8+MJ)3R2^O9rSEjK_!QWMr4QlGBGT&7Z%8|YfPAcPp-J8?Z-4UDx{ ztL&>>3Y?5rO|+>P&gB87Y;O@Dd6$#o`jY^ywU!jC4-*|zXLDe_K+yKQf{Bfw9;4## z{$;7#w)vLpIJcf^s0+1jJ4|(G5!;=~Ug=oH-@NXsYmmjR-*q+(WY(0e3{K)_uVg2B zCl>pb6{k9|-Cn1L5Uh7vV8NLEm{4nj?<#;m_@U8f)^XCy&`uC?mYA`&S8MiNPV!*w0O1e24+}K{Y!C`AZJ&^6T6WE_)zOGuiY+W4;N4# z74$e3o}aQqy+hg}R!EHz)VxxQlmN>ESWvhXP(H=>^Y!2yUH;s~CyG$I!7wwP84vg> z+P>J?eE|D8fzYySB#`L%)I5+OYiwiqZ40{CQ2d@?35C)|%$&XB4;9D6VK@~H!OYFY zDb>Z+Kjq*kLeG^?N+$AR2S=TosC|vjM9f%nB^Od2#;X2^Jw6z)a!Kf}W1ks&PjVqM zcB2g$lF=eAF4AsJ-3n;OIukpV=F%em1zL#OLvi}b<4%r<+ljTTq5|&EW{2PrSC9KKNj? zxFYz#aDaAxxh+bOCxb0nqOJe=sj@FJdWl8Rp`vdipZb8mxcQU2=uBHm-u8C2C6Mm? z&yFKM)J`+QAkie=^wyh)DxRm9@~ut(k|mG-`cSKof%l@Z=G zix1hnU$W#|fa!E^A zn}=JY7ssreCc6!8qSlU4L;L+qucE4a5hd=v^Ln4^sjJuZu!*)K)#%W(^Y7wF+^?qnL*jN~35qA7voGDw+mU9~ zn59VJ6%4*E&h4}!rR%QWf^WDAsI9fF7bUte{W}r9*1)suL-^VtJk$?SQzJ7|w+1Pu ztI!&-xc2OpZcger9|$cXZ6x+qvEORPO&~ux$*Yb4m#s^xO=3ki^qM!=$C{Q}9c7Av z8ii%OZPP4dwpr#*QT08d%!ShI9w|RdFqIwSaaWAGdDmK(N=8gu?ii%-sK}`>y=&?N zvu6k=2YS~5w=w|0!5yFvKkG%AT88n6%ptwpuZO)YNbAhhB@~w7j}V-BX1vBd(>lC) zae2%4H{p^j(LJylU**dOx^G0bYhsAP`3(&ZQL@T+&V8x@pEs|gs^3w2B|=5BPJc1i z+XmLNQ7i}2IVr3&7sBC)6a6#JH>`$esxa!gZer!`1m4Rficyi=T&7?Q_0?E@C5(ni?y6xQB+tyzY9$*KED-R>KYd0~`Qwf7L5yDWWSj{Ig)m zi1{GXy{X~Kd)emaN&pU-bnwcYD%h|UgVAKY2#?HhEQGtb&eR6z9Dmp@^K#^Zkyr(p&rS4SI`#tjeoiIve&n$%hxX*FvkjcMZELI_H5&PehaUKx?if3>Kyo3&oAy z)?a0~4DcTKj`tC&V6^Dp>&Io<6s}q8kHnrKH-AR>)toXnNy+tk_Wir&xy3;gPAl?T zM#y;7tk}x$3PI;G@v9rYFUe=*ACmAu)b8M=n?cT_m09xeRVZOGBjB+~+kpl5u68qn1uT)up^7<-S6f z$1FW%si>z1+_uER1usK(#)~eThA4#y%sC2lt|jraHTza$qn-`7c%4agaK~-)gQQE0 zS(&+CKH+#7Ms&`8d8e(ouJw(%DLqaDIiQ)Ly!4P8{lr)rZqqEjlFE3`JPQj;g#)iU$Yyh?acI@J7kN_yIZ#GRa z%S-!H_3(RlUG1=;`;7i(3M^J>@C9%7>4d2&uDH9O{^cAt^(Mn#>0Mu*m%w*HxRDp^ zjXwi@jw$i%&Bd)A1}@={(Q^ab**rV1jDdydaUq~`c{fzkxNb?o7fj1QT~7$~Lv1*s z?Ix7Isy(sW_R%e8dAAj>*w92jeZPi#ROt#!GpRuu*_ z#+FU!z)UX~@$|AaDTbv^4W(J+ySyr%<$07H@#=33e-6zLo>LD7p$V{}nwV&Y4?n3m zrGQu(I<=nld#JT%rg`q$Mss?=y&_h~Y7pnzB&e44!tgRUVOkF!>-Pi#Rfz5nH|R0O zoYX;It4v*GplUOp@%b7EK(__B>!(v~7z2@XAPivt5|j?s+Ht`s7-x_`ir5qIrs4xT zyWd~8kj?jfZ$*mhNEjUy1mw~li2aI2U$f}@G=?G*%XjBQ_E_zojOm$4=o-RZpEM3s zzS2oe^o53AvHtDbxo2jJv5&LF))a+Ry&;K})eI2-*^MlU6^Q0wK8K`#+J)?)4@-_lI?IoA) z{o~is68PX1A=1|J`^q7WrWr!t5I??IOjCS#Nxcf0+TFvqE>BDLR}w<5dGBX^a4K%Z zr1utWRReJMdzLO!cMb53mHcbC+>zN?6Nk^#(MA0QVq=RK)A%8XsnuZa6Qj4$9*7Vc z!=rMS&*XBatndzlw$R@?T=~pMvpj8o$@1mPL93n!ayM049Bz;>MYf5n!Vx)!g1@_JE`BZF`v!#lxQ1dhX!yd4!*V_)Cve>uDf1=mtT;qdwhU1bkq2sJnv6g+0p@sG!|ucnf8Uq(H+q& zo{z9hfoLFU{=~Tr48V4z`TyfrS?Lx_e)%>&cpxmC@b8&5j}@8 z`t=q@Nn8sc*ZQYG01}~c0G2>51HQ*v*WVV54G`V0r|Nyp_CdiAA9#s1vGWnk$0S({ zWU3gHAVRTIrgKS3)O=oqLccLsY`mBgczixP>^`~cw0MNc&??>e*R53dJ#zx(b5ZJdq#ai-_TlsP;6{j54w86q+XY`l@ zEgr8Co09S`8>M|%%nd6)#M2TtK&2Sw!6P6LOo}E}&~EtW46hkiPBJwCDh=YN#pLkm zHo#MfSknpTXVI@UaO+F7sJQ5{`&JY-z{rjjZ*VX4!os4$%)O##eO?R5JGeEQ&ynV) z)0#CJ&R=N?uz`$E$2ai83~-b~g8LR~FdQZ~*6$u_M!726x=Ue(zIf{3%TWdMi984Q z)=4yQUYL_5^g@Lz!#>cf4&?Wi&9=EU>6Z>Zt6^vGWxMe3pj}_v)G1$uY>MKr+=2WRyI}l zRqhhr0~>jwCT|R$f}-35ix(W$)5R)5t>~nedo$LIp=Z-@0FyS z<(_uOxC;rS%KCNHz$QVVx_BuT3!y6pNE zEn<&{hRGz#cyb6RyB=$NQR3yn4#L)5X=q7s84sX)RBxL^0SEX@qk+C2<6s} z?i1505@RQK<3w3d(Le;U7rb=`me%sYp{0v&B24klT`3wh2XlwkxgwhTWA(qH8^7OU zFRr*;15VFQB#OJ&CNlW5;U(1F2T2X7)Ub^rOk%s(**dfG5c{rH(a?Ibv&kK1EW4H; zRLS2GdJFN-bLmev0tu|*!*iS4h9hWJ_w!P%&9fuLEKFp)H~>#1gk(Ru(=4`|_oyj| ztkJu?d#~N{r_t*MH$-86Wdy=(L-@f*b3zzqy=UKhujT+5Uvg2%pd-;a!`&5O6j5BW zO?q>uF&3=c@zc!KH8GugUtPou-d@g8MKnNydSv#3_!!U52>x#p?y6E8_Ju1uli>4P zkredUe%!c1dzloVE{TGi4q$+i(m!}QuWgTTc@b&Wc(Tk*;{rzHQpd|W6eBPe3SsyG z)X{aiJysa6LEqxLq{+=D2Q{c{a+(J;K`1_O=_oFdU(z(+@hJvw;@%AuC!*$0Eyloq z$OCe%L)8xB@-p!w74I^RgV8AswdO7LUYi@i((Q8j<#IGC=Lh7QCJIHrMNs^07e_T?rw_tXW{q4SATW=qwxchcq|+F zt2oK1epg*^-%+OQ_WRlk@9L)>M2%nLyL18h`g%cTQg+oBK-45rhv-)bTLQP&l*3I_H-FFFsQ+w*d z40CV^^)j8e>%ePLBirn!q>aL9{g+ctQm(L9cN0~QnqO|tcEmz|CgvNCg<4zCvH(o{ zUrO397?He$kBE-^0n7Jx*PDS&yXFl4DWMUjf1zyUeF~rRRsW!`;g@~lncs_QYDjCrED~l8UK*+Jek|hTnoVm#d%7)T))=jyp1?xm~_A7Di&lY(1x9 zC6UdyN!5a*_pTaD+9p%6M0QhCm2qPt?rVa$yG5;;WAC10xL{2)^#QZ<{dK;B@pB_P z)-b8zc&haq! zuwo}@ydgmTLD;VuDsR)WL!viTlAp@Ii?q~Dkw5RVS{mn|-L{iw4AK#G(sok51WfqV z{1bp(xd`+Z$WVLU@@qt9g0G$O)M=!$Yw(Sg@DY?{;Fg%dmLsC1^~ak58c3a#g?G>{ zQK-mR?hC9iL%^;4k|~So9)HpCb{_!WhPEDzys~UwKP-pdC@x!sY2Tmv7Hj{?W-fk5 zHSMM0TBk0cqL_B85nO+4Uw)f=``M$)BLJ19>7yV{845oys6lDl$p)@75g~EN#SR*f zbQMbRiv*G{th<*%&Q49!U2JjEqjIf*fB#Ebo%|R49rvU7*bWC~Z7Rw{W$&9oaD*ph zG|Qp|Fm>zf=I1nsvNlbH)$h)$RQ z=NaS6s3bw2Jt2r-3REz@9|2v1<2|7JfNzo z5$Mhkoag~MY&7~ci(h^FKS0LQjzMrwf#M&*M`2qVh?X$qLc^Cq3j)$?I(H2lNk6G$ zqYotNL2$h}!1f)P8sf{rYer-v&VsW(Z|YRUw}G=dYb|Pm<1RPpJ)qW+{wW3S`8mMZ zHUx^wXn#eX8gbSxv7&NTWLsFhP2!(DrBg6#%@@C%t@pXyM6-*^!C=%zT4EaME7<<< zt(S!vq9^vtKjc@=j_T_kA;j52poO;%v3rSYZKyT7QZzvEf;4c`zAcSM!lIpZQ>|-e z8vy_mJx{jy1mf;YTU@Sg=e5_R%^$K}M46qjzdr54*@Q0dhv#5c30lN`h&J-wl9e4! zoH2kP5Dj%0jGzdeB91=r(xu{o>`B@S1m(C-(a^jw2rY9@(&)AJLQzA*jW3H%v0M8jrk)||hFUGhYnz_*faT~Dpy zly0E9eaW$%X`J0HztVu zG_7HN95Vl25eJe%DMJRk(0y*ZHH{U9QVGgeK=GqeE9jOc^_A>Y<;S`~){&fhu`P%l6lM(eCZqL% zdA8ex6)qzq%k73l~(n`H)Y`i}X|jTmmuu74n&8 zL2;-h+ROn9Xl^0^EzvXlJ{@6sbD+cSWozWlLPlJ;M=)3 zg#S9#`|$?q{yR@HNye&3q@~Xjw+4uo3NN?0m9GWk%=axK{m&n-r|u7fN!9ccQU^tx z;3a5buYdDJPRL4CurM}ffL=!hyxT}|79;XHiwD`W=)S0Ul1tW*n|9X)cVE)k;@U()XFE(xu<#z6sP!Dp zDk9T9CenU0X`)%+)1yh+k^=0y$f1B#i*2#*Gu5hsMhFSD3x4vZWz5*?S0GBo)7e); zp^ZH;PLS#i{W!^!cug!AIBH1g^S|ratqIYev``<0-YHHq&Blq>~v7`&o5cN29n|>^140yRw+fj;}Kcy1oK`OG<`W|h5|2X zy$3qq(R!qE-&u88_d+sM#kgx~28dt!qU~TRIHdum5mnH7k!HgM-V)=ft-lil^rwhB zn;i)A|9HRnIXYc;dT^fw>lw!fg|=0>MYLZ9UA@EUtA{ucz=8Gm!>W>Ri&Si&N@DDF zb7pK^L3E8~wEnl?jEuyImwPQ4P1~^`=hi^5P;u2N*lo4EBpvy?x+7vJzFFxra(c%2 zw2F@loH`pZM_4l-BMfL#4iNUC8~1-AMjzXT#h-#=aoz<3d6sS(S?Vh*lNJsx7kknC zj?y^tfpdjfyVNC|*w;a3STGeo@dA3{pPpq4Q*}U6)j83*9+9Wk<(4TG8O)P8&l?(p zUGBkhp_4m)Fd7avvI4p$R$WCMm20q=vT--Xx4_8@2p&kwMi69HZUc80vz*T#ucNvZ zZlG$$^L&`G4M&iASp3($NwZfiR@H5=dHccd11CLMn;Mydem8CEkh8CW)$=ZLF0%@X zTh8$xtTJ63^c>E@f$4&b~*0R+|&qoG<6=9D0-gwG-4z z|D3q_nm;p&%?6SM$^p$ck!`z#xwN)jfu=u0KrT5pBEKJs?D~H}p_kxd9`0@Lo;6KK zMI08Y_!^t)HErfqevT6sq?ESv2GfH0s_PzfT&21DB7+6Es^#{|W@7VR%{9`yU6#Ld z`<`sqrXho|2Rhqba4CMfH12J@L!@oTZk`W?Zy2gO zYdc)2VPLn~KX#VZfV3O#$)3^*8HWPZl~Bp5B^C}01X4g!ery$5%xJeJcJK3^-& zLig3Q&k22j-hf4mEFahDeIn)G@V{oS5aSYQXa)bieQwy<$ZT#XBw(m72a^R7>C|}h zseN(y(=*hk=bsGB5`cM(%oU&|1%p>?e*U-oV?sGlC}U=6JtX9%1^pa<_BIhPS}qAn z4Kff}8d|$7l|MaW{qrBGDu8A0Nyo-em14b?Eqc^)_}alEz~%JZS>t!`JAzi;9stQX zy|oRnQ2+2piPgKy-~dzw!F8b7S@(nJ*ADKd+-w;IwDv;gYHi|NclAJX3Q)Wdl6h`ugEj9Uh^^5g4s4*(;uDB~!?E_{UzP+2!dACa zW*@|rGh>~NkR2At7Exd}FayZw?|nh8*r=c8Kj5Tifp2-R=l_(D`oI3x!he#Mx)8(t z-Lm%|Ed1YcS@L)P<^`?zZ})Hhdz8QJ%l{wj%d|3t7kt;(^lik_fMu|&dOqn|5NBKD$=AKZ6l|d}w&C zGp5e3Ia)Q5=7mQBZya`i^+*s-S=__d79Qzaf4%ayEr*r4h!lTqqk5!r$4bAt<>=Ki z<}`ps9v@Z;rn6P;snE(kW=l%}v%b#uF9W+L5C*%j9b|ZN~y?{q1VMZArb9Ouq}1pmkK-@rAM> zKWuJ0yr~Schw>(q@hujL`HKWHAMU9+1VJyvl}na!00Vp^eR9k|1fiW511rpzCp#w=DV2EkX-8@G^yY{HVirwr{tp(d-lZvpO6xj zk^<;8*2NW{y&k+on~Ijrw=fy{dzHe(RNDGCtJs*#hf@gYL=qH)lHH?|;p)S2#_A&^ zDFwxh9Ve%f&}B;FA3l3YsfR6729*7oVkV}7)S+?8j?&3|pr$9~jW8zpg$%CH<_>qc zDd$F+=xcma+drh(ER9#9Q3dr+Dd@_I%;=kOdqh+_%1iNjLak{q;sS!B^O*Y ziB?98QoFeS_8 zKH@pY3*q#swz6w{nxIbz-VNxwN=Ev>h?Fum`kK^p#}6SbGD6O-Ipu^1odewM!BPVm zZEz~?tpf46<}|sQT@E4Ht!ZxvC9YwZS`(hEWjEl4Pw&MoDj(47(Jyg)gEpb9Kyl|f))6qI$9U+<0+(iSNS8=f z?INtcxuCts99<1+4ahCx1AZ{?0a0NNPy{;_6oAI}r%E@u0+Oso_vyx&#L6+Vo$T(K z@NAZWq)}4y?WecBY3*^I0(6fQx-|1=??40({a=9GM{V3&{myAYd!#dz7QaVgt!42~V+4o>vlp_JdE*Yy^Pn zYqw>l(u$S|2V50d*ZBsZs)$l~{UpUBfe-Hh1bm&p<_|L`^~m^vD8B^FeIgUYirapP zkyn`b)@^%*C;jXh1c4J+_$$(YPl_(FRh|w|NaknoiM)g*v4F59)R)G{53cG;B;5qV z&915|*OM+4tmUUxqjh?l#lug4HBx>H0OSAGc4db{lt`xRQ$?yjO^rt|(D7pNUdYwG z>2b++@|zRuRYuI@0nwEmYb&@f)t|i{ic0!pmn~TCe!!SL-9%O9g`zV4;e${|2pWvV z|HXRduK`Rd|5Vd1rVMnAzw{4LEL!{*dqRc{v0xcXw(~C^JX^Gm*8lKJpFLRR&k)kj zf0%{^0~-Wb-3#$zl&20=IUcH1>}SUQX*(7kK%AlM5fk_VOd4D%OHIT#0d|aoQ!<#Q za0Su>gacVy4(#b|FZ+vyKdwD6+Z!imks_DIP63?`(}k=viiQ@Yd{&t+m{CtuR~IE6 zj41ib`LTX^&A`~ZO^cTtOSRGuq4Xw>WuM>il zv=Hf4MH1R#U>J>xnxC|(4GzBZ7x|7n&#d9qB*M}6<>hzbN(z$$mvN`F;WEXvI!-wf zDpG{BAR>}J`MO>ox*{W20R^SiBSoS_sn=MGw536WM$Y#Q4qp?5EDpWoYSM>wO&D}; z1Mfo|)FL(p*lw#9MZVsxKa%OQMWE{qSzl^;ojx3Q(U-b=F_a zSzLxCXZ-&QkHD@jEX%(;90G!ikNzY;%Ri!x#&7=+>3ao{^l1v-JxrNYU2zBi9f5yQ zu4eZ%7jJ4kPx-WhPpfugL0?FWu)vO5oHl#?b^agkl6!0gTYA+x=#LnO4_F?Xy?;FE ze_$1xZ}P`P@J9DYG=NtEG|CG_wwnH;c{dfF)Ye!!n_4xw&0Imb$R5kLjr$<+Hjl)# zql+4VI)3F1axZqAzoSIt@gsZs?ITo^Yp0m_tPtn<$fVcHLwPWY!;UQS)Wr!0Qg8Iv zdJC#(dwy$uf1uMNCizjsXiqJV6^a_@z0L=={J>51{h%y5v2chn$8?Z{1?(Zu6uo3W z7waldZRj}uO-5>ux@&deB;_LLYOd2|*<@uH>edAq%%huz=)BjHl2ImtZ@*-b)YfEG z&<;mIZxH+ox`!R4{B&{1UHW-h4 zNe+5k7MXjc9q-<)th*3vq@lyUSD16qL9Ta7cdlQp=|0;+v74Vc?DS~L-CKFuqPlR% zOYB81%}Juz@{+0xseU72AA3ZYqt5IdKgJsnbkhbMT2*~^U8bD%aw*=2#etVV#wJ|~$7b>#K z?Yc=dkFo6WO{Nd^GRpB2Pg)ZWxOT=Fa1`_+S=Uh1lC4eFgB zNP`gaV+U|$6|uxzjzH&Ua_l1!er7&nYGypB`kNj+g4H&lj?W9PC;%#Zh=^(F6*T^B z7}OPx-Ws1TQLMi)(Ri&e1n+H*zZ7Se$*&!ICiq6@y9t_S8kOHXV|DWKtwJcf{u!}e zk+GGnH=#6ku>cn}`V*jf>|s(teNM?1T%mls{;&bh$Fp@-YjiV6gsk`Qk62$Kt}YH}nj@?Mae|UDG2hy^+h%;XNml5#og5WBl6MNLC_d zX6gB@46zLyKZL%!A%(Pud!#1hLX|a5?@oUTC`NcH1-E>(4>;CZ6 zi+La0I=J3pb*Dj8(bBjrQc5=usaHg{zR_=azI2$F+v@Xn2)^BcNVJv5d{-8hVPje_t~jEwOyy$MlKmJoJ$&bmJcDv*?}K_r!I#uX0sR>J12 zH;v~W49}?!Tb(M}oKGy(<)7}R2W%7&3vu7+b?&DH-NXO#eJr}rmhb01^0W8 zJ}ckE;7hP&^zPoIRQvAW09XN%R!&2=%r)MbAk+&VjavP55uDu$#U_?cj8+@4osx3D zV?Xl8)dUf~YUPylS#JPT)i9@P#5{>^zX_%}ndimGyF`7f*ayW84CcdKxqPspU^{Qs zi8dk2_7Gk-ukQ@BKv>)OK#XWMp0e7xFFmMNzF7i$U)1m3B{W;#W6|R-=-Ql8AJipR z%t+K;Txi-vrjb2=Yg==kJf49#)#hc6if~Zob`5@Om|11Nz!?C>@S4DSH2V2ydY8p98(_njw_q|y5g}Bk5|9jR<)4)CMV2|8lE63pg z)cwG4*~35&%KkyZGc>_UCt%WdkT#Ajf89+B;*46{YB_9?!2Y^FJ2@;fWl&HCQ!8Ud zdu3ZDbP6NNX!iN(0Y6Sn`Ay9Sf!L1(x7&MdxDT`T+Tjo(%ZU75|!NVpQY&_`KEZR(!i6rmQph@n@j-Z z9T54iWDNIsXVD67Q~kHWEYd!jzmLujqcw|<2GqK?J&D1|1`BYyLxcHhH-jHya%}Sa zwkK*$9n*BU1O8R>U=9riYgwasnSKzF>BYN&kgo_n@6cCe8HPSi+U|Y-O6hi+z9)*w z^LsB)+I7o+wg@;c$hEP8kN2a#uU5JWCbl$fZ*BZ0J(bn~Up8p|Te^sL zVc3Ddx}ROs%)QXMLgFg#wQ;lqEB{<3cWPHG$hpU9d3-3 zf8B;Y9hjZcCFFT@$4yG3vj{M}m9lpW{jK}YqzU8T4kP>R@>xq~E>&Hz9?wBJZbsX*;a?%;Usb>YNV(PKNI-_s1HU=lY`B9KI zA)(`tP*(%d!(eZ_^S*?t=;1cv*zRXR^e2MGqyyjs2^A~oVFjgkn26%ExP8Q<77e^{ zOfL7u*tT)B5opKWkPF^(NsixS40j7SCosKGGQ=pNYPr;KR-3qf3jDzT7(3<{v6n_y zi(iB56RqfSxYDaXyPLsL^!nLljy-cLCrSFX9t&wE1Pf8EX~(6~FJ`h^oF;~Earx*I z?dSPXxgxVhbNAwi$|k#D4;wCu%n>SH9_zW zKkgO$rsw`;5kN&vFH>kX*L#`z7lHdA)`Lw=piyOA^)@dxU!+a8{f=sM-M-w;CPP8= z`F?s1eBww!qb{rN7;AR(k=D`HCy6XEGTaoC%su@=*kzbX9OwS%Flg7ESQjj7l}39# zalt50$-y5T`i|e4a_#37?l0|}sec_VKk(H{XCt_#JN*0;Pp}v%j^3NXHZFp3Z6wxp zB`7Z4UEU;6#Kq)V&gLF)5^;_W*ZUet_UFKLDO_{}70R9}!poyr6#k<_{(Y?QfhQGf%faI9<~LK=~6*uoe(5G;_hw;o_eIa?=Qkls9i7EAlzWlrs% zlCe$B^DNT1b>EM3GI<6+Bdew^qO!!=^ke-{K?RO%N$S$3PkpGgAthKRv+qmcs3A|& zD@EwCOYqYnZ*qO{Smph<$Yc0todi$95sAF(-6o!dHyCqNY7Z$Om!xVr>st^Io&3jU+wpx}#>7d3EDab+oFfGpEbq z`mKA=SaJ_YdLOqXft`?)e#N{Mk4PJTiQ0d?Ss!L6m0eRe3@9iZ{ z>3ExK{PYFiY`?(VpSSQ4K2gYy1k>w%;JoDVDTPUc`xW3HB1i!Lqu@ z_)8rw>YM92qUA@kN(OLTe#b<_#~NI4p=PqDF(EGDA$R1Yu@$6zE2Ua65fCJ=∓6 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
wE<~<}?-;&$;9FR85ee-b#OC$D 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 Date: Tue, 21 Dec 2021 13:17:59 +0800 Subject: [PATCH 05/26] Fix the performance problem of blazor-server --- .../Mvc/Client/MvcCachedApplicationConfigurationClient.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs index 6c67031da9..ece23347e1 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs @@ -45,9 +45,8 @@ namespace Volo.Abp.AspNetCore.Mvc.Client var cacheKey = CreateCacheKey(); var httpContext = HttpContextAccessor?.HttpContext; - if (httpContext != null && !httpContext.WebSockets.IsWebSocketRequest && httpContext.Items[cacheKey] is ApplicationConfigurationDto configuration) + if (httpContext != null && httpContext.Items[cacheKey] is ApplicationConfigurationDto configuration) { - return configuration; } @@ -61,7 +60,7 @@ namespace Volo.Abp.AspNetCore.Mvc.Client } ); - if (httpContext != null && !httpContext.WebSockets.IsWebSocketRequest) + if (httpContext != null) { httpContext.Items[cacheKey] = configuration; } From 123db2cfa1df38ff14e7f45414093f24f142fec2 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 21 Dec 2021 13:55:28 +0800 Subject: [PATCH 06/26] Enhance `AbpRemoteStreamContentModelBinder` class. --- .../AbpRemoteStreamContentModelBinder.cs | 54 ++++++++++++++++--- ...pRemoteStreamContentModelBinderProvider.cs | 12 +++-- .../PersonAppServiceClientProxy_Tests.cs | 2 +- .../Application/Dto/CreateFileInput.cs | 2 +- .../Dto/CreateMultipleFileInput.cs | 2 +- 5 files changed, 58 insertions(+), 14 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/AbpRemoteStreamContentModelBinder.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/AbpRemoteStreamContentModelBinder.cs index 2b1fc8c125..0ce59fd5da 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/AbpRemoteStreamContentModelBinder.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/AbpRemoteStreamContentModelBinder.cs @@ -8,7 +8,8 @@ using Volo.Abp.Content; namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters { - public class AbpRemoteStreamContentModelBinder : IModelBinder + public class AbpRemoteStreamContentModelBinder : IModelBinder + where TRemoteStreamContent: class, IRemoteStreamContent { public async Task BindModelAsync(ModelBindingContext bindingContext) { @@ -17,7 +18,7 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters throw new ArgumentNullException(nameof(bindingContext)); } - var postedFiles = new List(); + var postedFiles = GetCompatibleCollection(bindingContext); // If we're at the top level, then use the FieldName (parameter or property name). // This handles the fact that there will be nothing in the ValueProviders for this parameter @@ -42,7 +43,7 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters } object value; - if (bindingContext.ModelType == typeof(IRemoteStreamContent) || bindingContext.ModelType == typeof(RemoteStreamContent)) + if (bindingContext.ModelType == typeof(TRemoteStreamContent)) { if (postedFiles.Count == 0) { @@ -63,7 +64,7 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters // Perform any final type mangling needed. var modelType = bindingContext.ModelType; - if (modelType == typeof(IRemoteStreamContent[]) || modelType == typeof(RemoteStreamContent[])) + if (modelType == typeof(TRemoteStreamContent[])) { value = postedFiles.ToArray(); } @@ -91,7 +92,7 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters private async Task GetFormFilesAsync( string modelName, ModelBindingContext bindingContext, - ICollection postedFiles) + ICollection postedFiles) { var request = bindingContext.HttpContext.Request; if (request.HasFormContentType) @@ -108,14 +109,53 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters if (file.Name.Equals(modelName, StringComparison.OrdinalIgnoreCase)) { - postedFiles.Add(new RemoteStreamContent(file.OpenReadStream(), file.FileName, file.ContentType, file.Length)); + postedFiles.Add(new RemoteStreamContent(file.OpenReadStream(), file.FileName, file.ContentType, file.Length).As()); } } } else if (bindingContext.IsTopLevelObject) { - postedFiles.Add(new RemoteStreamContent(request.Body, null, request.ContentType, request.ContentLength)); + postedFiles.Add(new RemoteStreamContent(request.Body, null, request.ContentType, request.ContentLength).As()); } } + + private static ICollection GetCompatibleCollection(ModelBindingContext bindingContext) + { + var model = bindingContext.Model; + var modelType = bindingContext.ModelType; + + // There's a limited set of collection types we can create here. + // + // For the simple cases: Choose List if the destination type supports it (at least as an intermediary). + // + // For more complex cases: If the destination type is a class that implements ICollection, then activate + // an instance and return that. + // + // Otherwise just give up. + if (typeof(T).IsAssignableFrom(modelType)) + { + return new List(); + } + + if (modelType == typeof(T[])) + { + return new List(); + } + + // Does collection exist and can it be reused? + if (model is ICollection collection && !collection.IsReadOnly) + { + collection.Clear(); + + return collection; + } + + if (modelType.IsAssignableFrom(typeof(List))) + { + return new List(); + } + + return (ICollection)Activator.CreateInstance(modelType); + } } } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/AbpRemoteStreamContentModelBinderProvider.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/AbpRemoteStreamContentModelBinderProvider.cs index 6c2e106c57..fdecec5c27 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/AbpRemoteStreamContentModelBinderProvider.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/AbpRemoteStreamContentModelBinderProvider.cs @@ -14,12 +14,16 @@ namespace Volo.Abp.AspNetCore.Mvc.ContentFormatters throw new ArgumentNullException(nameof(context)); } - if (context.Metadata.ModelType == typeof(IRemoteStreamContent) || - context.Metadata.ModelType == typeof(RemoteStreamContent) || - typeof(IEnumerable).IsAssignableFrom(context.Metadata.ModelType) || + if (context.Metadata.ModelType == typeof(RemoteStreamContent) || typeof(IEnumerable).IsAssignableFrom(context.Metadata.ModelType)) { - return new AbpRemoteStreamContentModelBinder(); + return new AbpRemoteStreamContentModelBinder(); + } + + if (context.Metadata.ModelType == typeof(IRemoteStreamContent) || + typeof(IEnumerable).IsAssignableFrom(context.Metadata.ModelType)) + { + return new AbpRemoteStreamContentModelBinder(); } return null; diff --git a/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/PersonAppServiceClientProxy_Tests.cs b/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/PersonAppServiceClientProxy_Tests.cs index 789c552861..8bd3a9bfa8 100644 --- a/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/PersonAppServiceClientProxy_Tests.cs +++ b/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/PersonAppServiceClientProxy_Tests.cs @@ -263,7 +263,7 @@ namespace Volo.Abp.Http.DynamicProxying var result = await _peopleAppService.CreateMultipleFileAsync(new CreateMultipleFileInput() { Name = "123.rtf", - Contents = new List() + Contents = new List() { new RemoteStreamContent(memoryStream, "1-1.rtf", "application/rtf"), new RemoteStreamContent(memoryStream2, "1-2.rtf", "application/rtf2") diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/Dto/CreateFileInput.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/Dto/CreateFileInput.cs index 9f0b3fe4e7..d5d8278810 100644 --- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/Dto/CreateFileInput.cs +++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/Dto/CreateFileInput.cs @@ -6,6 +6,6 @@ namespace Volo.Abp.TestApp.Application.Dto { public string Name { get; set; } - public RemoteStreamContent Content { get; set; } + public IRemoteStreamContent Content { get; set; } } } diff --git a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/Dto/CreateMultipleFileInput.cs b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/Dto/CreateMultipleFileInput.cs index e9697af933..eeda9001c3 100644 --- a/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/Dto/CreateMultipleFileInput.cs +++ b/framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/Dto/CreateMultipleFileInput.cs @@ -7,7 +7,7 @@ namespace Volo.Abp.TestApp.Application.Dto { public string Name { get; set; } - public IEnumerable Contents { get; set; } + public IEnumerable Contents { get; set; } public CreateFileInput Inner { get; set; } } From fa3e23eed70072e8ea22766ab88d00d4f7c992b6 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 21 Dec 2021 14:01:46 +0800 Subject: [PATCH 07/26] Update MvcCachedApplicationConfigurationClient.cs --- .../Mvc/Client/MvcCachedApplicationConfigurationClient.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs index ece23347e1..e7a78e1d15 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Client/Volo/Abp/AspNetCore/Mvc/Client/MvcCachedApplicationConfigurationClient.cs @@ -73,7 +73,7 @@ namespace Volo.Abp.AspNetCore.Mvc.Client var cacheKey = CreateCacheKey(); var httpContext = HttpContextAccessor?.HttpContext; - if (httpContext != null && !httpContext.WebSockets.IsWebSocketRequest && httpContext.Items[cacheKey] is ApplicationConfigurationDto configuration) + if (httpContext != null && httpContext.Items[cacheKey] is ApplicationConfigurationDto configuration) { return configuration; } From 61db37141415264be01fc525aac97763c6378e18 Mon Sep 17 00:00:00 2001 From: ntwo1980 Date: Tue, 21 Dec 2021 14:13:44 +0800 Subject: [PATCH 08/26] Update docs/zh-Hans/Tutorials/Part-1.md Co-authored-by: Qingxiao Ren --- docs/zh-Hans/Tutorials/Part-1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh-Hans/Tutorials/Part-1.md b/docs/zh-Hans/Tutorials/Part-1.md index 6153551902..1327ce5017 100644 --- a/docs/zh-Hans/Tutorials/Part-1.md +++ b/docs/zh-Hans/Tutorials/Part-1.md @@ -192,7 +192,7 @@ namespace Acme.BookStore.EntityFrameworkCore 本示例使用[EF Core Code First Migrations](https://docs.microsoft.com/zh-cn/ef/core/managing-schemas/migrations/).因为我们修改了数据库映射配置,我们必须创建一个新的迁移并且应用到数据库. -在 `Acme.BookStore.EntityFrameworkCore.DbMigrations` 目录打开命令行终端输入以下命令: +在 `Acme.BookStore.EntityFrameworkCore` 目录打开命令行终端输入以下命令: ```bash dotnet ef migrations add Created_Book_Entity From 3bdba831e100d08513437eae6dad7c7a97866025 Mon Sep 17 00:00:00 2001 From: Luke Ni Date: Tue, 21 Dec 2021 14:35:30 +0800 Subject: [PATCH 09/26] fix zh-Hans image --- .../images/bookstore-efcore-migration.png | Bin 30521 -> 7265 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/zh-Hans/Tutorials/images/bookstore-efcore-migration.png b/docs/zh-Hans/Tutorials/images/bookstore-efcore-migration.png index 9714e795e205576cbbdc66ffebf4d9322b379024..5c034f6e8017350f713efe1619ea5820d7678de9 100644 GIT binary patch literal 7265 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 literal 30521 zcmd42Q()xF8#b7UJ+UU7*tTukb|$uM+twr#+sVYXZQK5O=A852z1!Wpy-BCLs|#<{ zuj;{DVRAB}aL`!LKtMon;$lJyKtRBHfd4-sfdPM)i{IIRfbfCDh4__Rznpczcz&Bt zW8oQj#|2)BCnS}FMv1M)9&Kq@omq)qXOhv9(AQj*o_T_i%uCTeZ2ESY{K4y-_oKZn zwJ}k$*OXO!*O8ohnaH{4+PG;|fTj_9H7QqHLoDov`57N%3n}P(4x=d6c%%s7ax%5L z_hCwo!@(H)rQ4)~$nBWN#$zV^{@xy>BLZ+B5CI<~;KdiqPy9rYgAf$*i-0czKHw#| z8ztf%T)_YDo4=niLB@jp{1PYw^}ixOh(zlU|EmHXSSXewR}Sr;8i5GtjJ5b|?@#6* zWjY)##$HpZw1R)n7RzLCyKFGSRAz9w-84_-Boh78B!&wlkuUya4lgTFDorNu<3<}P z@7q=H@odRvwJZIJd&h>0EPST>V<9o2!^E1KV7y4sfBo=NLl6Vvf9QBup-Lwo9ZRL( z-SD`4FYkIOH=ivg_`KO4?Rs6m)N$Pgv)Nq5TZ&8CMFNOe8Vnde$}qd9MGZme7OlP`TfU-O$> z4t{Bp%F0NI<~#dA{~OFmMNp((O4be6-9es*n$p-n zetd{YOr|lmJvro@KDvD#`go)NjI`$AiWnNiKIXh^FVOTgoyg(EqvSxS3opff!l|NZ z2Y7MaBH)<+%&a z(|lYnY4FEdEZ76yQ`aZLa|o?p!#xxd%oWaZ^iRbSG}HHmiihFw%0xy{JkghGDhqNxGg#)~25cVT44)a$owtcMXs; zr_63^)8TlRy;XZ=5&s@7r4eQ8N#KV3MmwF;&Z-qi6KUM|rsBsM2Cr(GdmIT1rW#$u z;s3HQqLykntnI=3ftiq56OK7iFdqYx|Jz2`@R_g$%R3>)_>^$k)9T~| znaH{F`Myfm-wE<#c3&(FM;-~5gUC6u!%%JOi~rj`txp&#PN=%@mZe^r=m&`2ATp`U z7Sf1T-IfMOn(I!LtwwvL=mU-C9)B^Nx6p=uNx-FY4)mJeY8(lY8S;uz$*U}NQ`d7`M>X^G zkcjtxW_e9=z4||RgUAyBH&ttnc9}hIayMhzlz&oSVEThsr=y{5*4^~umFjl6y5ZZp zL<4a$6B==S6AQmB(%;;(TObVU7rx`q=Ju%EUhLwz{lHX9*b+Pa9b`|-bXIDqI}#+C z%6E!RqxH1$*a=~1x6$sF6Aw>h8!n~AU}_|y4%$*{q#a!KJ`|=JgPU+MhiJhhGA~`c z(Mz+5!CY)c;*bYc$1MtR$fmfONV09sg{XH6Smb z>bl8@;ockLOZg-)>!PTln5FD`{=~JvX$t;eqwq6NTtoQodB}!2$8T!(yluo~WwayJLx&sKE{n+D)?DiwK?Qm3vuK-b zXflt{rUv%ya0N~u1#-&R7ZpKG^SWo8DmM+8ws>&4FzY7oSsqT_yEt7IL$+v~s#MqWm9mFo^5IMYXlRVR!z>`I9r?dSz+@0SywOd)) zt$nW+^3tIPs;5)RgfUHXf~(n38~l_QXW$@mt)nIFS^yGHIX3 zEIfaR4sSmZ5E1sUBl)YR37h&jbCAV3x`ReL1ljCx z0R#47p}k|_xt9_Y?Q+Shd-B-S$Wsbfuhkv>(tGY<(xzlN91!EpI>0LThO6RzP0!V@ zHCcv>=i13fqQm}(vlQ*Ted_PB=dr3pTT+uaeFWuv2eBNtyj+|K(d4CHv@vRbxp7$d z@zV47OLx+0(}U=$Af{n`jP~jgRy`yRh!|#?grV!oCWb?~09j}_7p4|rodJmf(^Y7s zU(LXnCi|w+YsH078FN3Z^)()~!3~FG8OxUN$L65{>rBAcGVsLt=+pB-PJ@QvIsXLQ zyD=@}8`*%zQ!_mc+ogbS79d}jX=@+po@HPrl*uBFN~5LRP9TtXH`6aw(gd`8R|+p z8Xtz=znJM5M*R^SU$cuRMEE2I`*DOXi50OEp zi%IU6mimlY=cEgUY~6m%GUT4}Gc+TV(TlkqW|z&jquB4IksUm|)qPda0bDo05|m>M zrqKwI^qe;qv=JPX&l)vvFApbq&Y+EC??HN6!y572ZlXF~e*HfyJ+5Fv2nQQeGaoNE z+;}wxdh+pdf(%KFump++CO92kY1_^h(0q0`oIft`Br$1nKKmmG?)n%dSx~m}KL@2q zZhJ(tMtjF*kx8T5-;#zYP3v`1g`AXN9QgdQW3YAql6%t7*jyt!|UpR7JlbBR{Byf4`)v)BE zMkzX*HdkF2D2o-YSing;_P}A(*&`Sk_q^deY?G>x(mA8LTA(+M5T$ypaZq>NE${E$ zz>2a$w(Sp$hMF)3F3=UYP69SH?8LZ{4LNFDY!1^Qmdl^@*=f)r*A%S~IdTL8dnCrS z^LdgG=!Rv#@k4S+%~f6fnuxuidC$;VXPO8O?1~IN5FNav=Q7+M>J;o+`?jFOU?Nn5 z-!f8*6E-`oCu+?=qtn{Fw<&4;d3FwiMhnE5U%|dO`8-6*V?SzYy=^g;$_o+(Q$o9S zIrhv*+v$Ut3EfLKbIAWx+U;$0TmI(S)`4^BHo|JmAG-$B`7Zkn^Ghmt+@%%2drIG~ z;U$cpD(?ktA7%5K%0za?J6xB7>y2I)uAg?g{@n@@ShVx^@KN^kDF-hbDPaeluiOJ?B5U-~?Q@_({#$1F9@e%kN-92!$Z>w4_S+I(L% zlLQG_us-~<-#&8X8^1whQDY_lQKB8U;Kql!44MJ;uATbR(||HAlpH73ZwM#?bOa*% zCJQIe1Ek{DyQw-QkvAH44RM~as`%)cllfjfuy#}H~ zKNUVqmtO!c_J9r{rWWRcm+CdnShXX>VJ@Ua_IL>$hy>4U^w_UQhHV6Y?Fc zP1BTAJ>@M_ELRtus`n1bRU=^tz&#~!G~11CJL=AomNEM4+8PAmw{oW^qJcLx$P_%# zysfcUphfwbv0C&Kal*pF)!%kF>qZXcdxCOa21<&hOkXnJW``Gbz2Db34-YgCX-A;e z74U_%I_`Kf6tn1U29|s3#4>qZ&_1nO#-r;W)Y=`*gSUR@0j3MdwAKmQ2k63AYE0P{ z2~OQoL;Stt%QvOg?oDE4+Af>NT2c6_ft(By#cs)x#31o>DJ~tt@t>uHM?|MrA3pB} zIYv0OC8@dIXo3vxeHs(`?XQgp9a5#nQUYj}X9uyxr0|#TU&a(K7`rWyORgz;3F=P` z>YTsihQK9qpym8rUqn~HB{!y=+5hnFVoB9eCTK+F0YS7E62Fbb3CHD+bWRiPl3=Vb zP-u%#q0+6PT7(`MslI9`Nk`az+VCz$ruv|~qf|>f6)GIdbC!br1><_O>xA`oZQ$HF?}aYln~7OK<)1Y_U{^{o&yy)26=2 z!H#hR`dYKz36&?4+e-Xv@|(@-XSUB_dnG&_ocb2X#?hihRWF_|s|&emD+uuEdwsu% zJ^bj|u~#|-PC^M(E4|syIXb)}ijA{`gL^HUm7KR&iv1#5ow}A_8z$3pU*1EENX zW}f;QK?9QH_BK$FcS5X2*iCAfaKe%ClOYY;C|13^(SRxNU9y`H3e}*S-;Lc}o0f+* z3}OUgjldXsq`Wc%x4U0hr(p4hu%0w2Bju(^BBs4m-&(PE52Q=_T{5|P&CP4M_dDVq zRsfw)PbNivYI~fKKY?rNpEnByA4NT?nkN9)=(r}!yGw+bC!2|j>o zWKMCXVrUX!NM#KmL7|FvC!!e;R7CMja&MnyCZcbOMh|Hw8^*>vSu+mT-i|Ze3}jZY zjXLj7G$9?5U`C-npfRm2a)B1MOatG(a8!b+4?!Y#e4)+KkebR=K0L{e%C`m(E_B?b z_KWFD=-@V(?U47AuQ}s^AMvh4t;!4)$eNMx9IxT9v$zED4#{CIiboD)z}$b z?zVM|y-kT+KXu*uT14<+g^wOnlkrQo@_UHL%B7e9N9S6Ta@hBfK9!K9h?F(#B8O?%?EU#;>!O)IAR$g(^k zl!mFYWBcKi94kp9luv8$Ya2KYv}k#5Xo%_cXO@vi%a@mavi=E^$~Q^C?#^QH8%(3h)LwE ztL3vu4cNm`6`y&y;4Z}h?S9<%7+-eHWmvoiiHjHcKxQ(dU}6xQ>D)lFvg-Ks$mTWe z-T~bLsUwsgeoyV6m31siH0%mtq+-#%d*%soK>R0IKk>BQx=;0IbMdr3av#+$TM`aq zMa(D}s&ra7h|esC&(6iYMR(!IK5p0`-HxsG^n06B%&hr^qwbSv$8!VW+I;7)G+IQKvTf&w$u&PCexzY}+0)TrAOC=`z4a zl?7y_#DjN|3`);OIQn47)VHRP!fAwlVW^0Niy7JJJl5Pdgg;e0HhJDm zigfg57EvndE{fcDF+?BWqjkkjb5MuEj*aIHGv_($QFi8hlQE2!Ju|KGAs~>5-MPpWWwY&$}^G_u&>{I)crHn3e{M^Ypg!>xUk(D7mrTgLwMh| z%XQz&YH@5g>icJl$5Me6<8O0rPAZ<8ym$O$uQIDT5lWA!95y~$R&%;O-Ed$OpeLt! zW&@A{vLUeLeF+l)p%nATWb`de^{E zBPOULhb@U&^x(U5nWG)5OrzFCZ1qIXIL5fZb*FY6a8p^0i7A)iMycM6b9;NOYc;IV zsG_h$Y6N|5+w!$R8vxuvP*LW6glal@Qh$DSS)(%v!;ScA;J#?s4GVlJU`P5)6B5gC zsPRu0rg6M8Ij9|;pD=ts$+BS%@3+T7RVD#_*a0!aIfW3Ax9WK3nO(sqWtj;6iE?)W z55RO~78gvok1$Hyt;q`*~xx z58^p_eY5o~KyBSmit6@gX`MiKKkO?FJq*$*VUhb_TDRvp20!ueGV#!sN?ebcA+ngOhC9W zM8EaVPD0HL&}bo-_OPI?l)t2Z@wlV%%mtlnsM06Ra&9znJUX|>xkAPvkkf+y9q{@9 zuEXOReXYArV^$_a)w_rYJt%S^=zbp(14#uAJ!)~y4RJPgH-zjZ`AJO*FJc5+TD#1+ z6f;9*x7BErK-q7}@H?3l{=Rqye^{2;1?y1k?M?^o?4dT$#)D}6c{S-(5U%PzZc_sz z?&D+Pfp4y8g0{(Lvngln?S(a*m6zy8^}HQlQ6mi`((j3ftz_DkXGskV5A;L#nL{D@|+|6_Q z3HxJrEe$TDD(Ka_*Q}q9FBw&|AJ#SI@xz~apA7?xIv&T&jbns{-o=c_1i!Sq&VED3 zR-Ju7AE<5zj8RW^)a^}xC_~76JQF2$UA)|t;@yc^;r+Z<67ZD{yjVL^vg%Ei=qTun zgaNItN1<&Hzd>xZ^IN(~l=21pDerhvZ@wgjYKd3FEAxO}*Av&+!19(5(eZG)7(4J= z^sU47<@?7CSlkks-b~@}qL#<{FLsCh---C3A~;_CZU?<@dp9%PHBtMaIThXlAc+!JkFJ;?k@lc(?FL{Q{eW-+ zyD{*)ce{3wvl+op6p(+0^5I+4U}z_WYfB~b5POFw5q{wJ=NaX~{shfhU#5;Peui22ictAG3NSO=+)_aLFbgX+#Z1P=2_| zjKCo{k+~rZ@mZn3#63;KD0AA9#P}DAOMIVNtl5nCnqR>`ME^1<5aN%wD>-~YqFfT+ z?=M9mCx-d2{ULx)?itGj`=7bNS4+SLnr1~P@ba%}P6P(5=;`Gn4lOJO^}nB_A>hL> zq=^JL68vLoh+%<-;wPApi6Q<|#Lq~;7xMq10KPg4G=`+q)v$Oc=VYOHf)wF9+qoKr z%n!tW%$i6XVB`pV-lweq$rKvx4tHg6*PFfJ*%H|t24jP5e3u-gfBPJVkjmF*d%e>? znnK%a(f3PS3}9&XRHB9KEF z9Ue8>Xzy2E&vmCo9B%jenwsf-djhL{@SntpG$2_RB(P_m1BIJL^Lv(ar}W5OJs1k znZ+3Xv7EZu1n}d)XV2Ij!c}}ORxGQuySB@34=3@s=k&-YvN#v5o4TG4GP<6}Z4%+O z|9U4QTR6sPb26`48I~5_?M~8WD{l3#oDbB|&M{&VEuZxkXxnB8kTWU5vASzP(L8Mt%{!AzyR5JqU_Ho5UW#uF}181Mkn} zb4VYzn%wmDF*t2J8Q9R{d9M=g-gB>{ZG6Ckw zZMtQp+hxb&o__aV!$(ePB8HrPNlA6FlIpmLrh-h@X0mF90zs6*FOTVO=yt#Q3BBMO z*RzQlpz`KeMz!%G<*`C0{xCC3Wp_AW?Ru6Dth*_W`=>e)+&se*%c^yib&8kSTb9b2 zmwkAJe|m1;=T%e7Kg50y z6e^8G(MC{G);p~?yQ8#*mTB6;$(n|Ch#@1*V}{oGa=Bw2)lvDo*?t&9NZUuAhOW5q zGew({2uhnKiZPpnAleR3bDOhn&TrL|N7DneDw?5Dh72k1uF2WPf@Fd`ZjlWHB8dmb zxOHq-9K>}_mqpwl278}VEdtXD{s;tPr%Fl+Nc>)tMos6r7J(&;hLV4Ry5q;^pW;T= zW_vP6F6Ff0yn4=PGVwMfjd$+oL{=3|2lvrtzdurAI9Ppw9KmfeDFS(pZ3S<;Hxzfi z+9b$!Hk3!@Uw?qYJ_FJA758*e{+ExvN!%`B9j&YPV+bP>yZRzmd(qy3!=ZchnI#94 z8AFL_1(~hP{o6qlBa$GMqc_Va108u?>0Uuy4BpD(TU(EK@?DIlWBWzW*VrC zHkPdp8q-C;wWuFk*u;*F%!C`$43A@$$F@_chmJOEwj2*Lc<9StbaIfBfeVbBkqE=e z^C2^;I*P4eu^MTsDyQ$Ge_aUVSlWPm=C4&{!T`(B(U)&rhm~&&$k&Q`O`0eFYx;JR z5yYbKh~2@Rg(l%%@%!T-E{0<+#<^fv3yXnpW^=m0n^*60Kd$vIU*jADN$>pKC&+?- zm-^ogX{HeGabPGjIc3H=NEJU=$KV%2km41=fc)SDJ{uZ!Y6sOV)*E$}poOM~M&y!~ zAi!DYMo2bM59~_SqNW+Td2Q3gQc4GLsQLO|F2LM{zVV*n9vr`t^>mpdztt*EzK^=M z>-Pn;UP}e|zYk|Y7@vY#tevT-RU33k!3_9(HQ{DDHWgHKAP!VC=ukD`WF~v>^nqrb z0rD-Pe++5@{5RN=-_)`w7DCVOCNL_8k6^VBURxEhvhbZ!o4G>yY5rZTDg@aV1rh}Q zvM7SVuEFfu2wd7U+>Ftbh;5DFaDHLb=Kge3vtYFPrGn`j5HbagW+$iT_7Ts|K}pI7 zjmark!}q0MiT06z1Nq(%#klwfvT$g%nt@z)f2r3!6cr3x01Ok6nYRJk?F`o(Y1YS&DHf!h>SBebxAn^{&19PX@UNEh<`pLo={Qgw|pw zAHMuBE0P1$56nCd%{C5h=4b*rHxh_yb8~au{$BM8N11;-Z@=d6v3mZIoSgnxc5AM? zQJXIdO=whV_=d!jzbKaDW((s9TgbySLNQ*pzxueoJ=vY<@ys19jO~24s@+xj=Fkb> zVd{QY(mo`{DNM$uvOYIc!v5?zK$Q3A*E8} z-F@5|;-LJ={Wq9!e9-99Ur8v5)NzZiX8w!OQV`MlD;xe+Dm( zvu;L~x5BWylF;V%p$gzzh<)Ky8&g&O87})pvpdLyfgK^H3Eh|+rQaiL3N}2<|PfJZ_%)t4{uP9vDjle%rQZP1h3xC5H4ih2+?j27uLZv?$ zhHO%+?w?bQ?gf&_J{*;w2@c``kH^!@R*ww6d>Vpy0c|Fn<;Ms-iVWi|>UFv_kZnVg zzG%6ZWv5r~u4dipnl_JaZ~;C{(E9yrA{-oSs-$J-u9@WtJen_N>o>%b878Ypfkfcm z*$z1A3odg~u3LVWCe>=A)!SNdZf^f|0`zD}!KEJ!8`rjJUV_HTaf4B~`m*3u3kb|@ zXjdXpnt{aHN-aD;atGIE_K_K=qJMe*QnLFNgf;Ay2l_XPg#3UgLUr`ST^oz02IP|& z7%E30hEW4gW%_}I0YBN-B1u5{k*!m-rw&`iHHGz5GA+Fh;6Tg(dX`sfXAZfepOu4vt1B9~3`AF%ua4AqFgyCE2hnVBBS^ZwA(MNNC# zjgGfHxNC{$q}fNzCd8lrdCU7*pmp%YoXxRZj^uCj0{JWmV=X|#rv1ku3=y4)9@O^( zLW;0*`2vO&thEf9*yYIK=XL_ipxmU-HT~R0|H-_`6~YIDLR#OAU`6l^2ib#YRD4ip zg?s7S0KN({s6;i#ZtW*a_$Q}D&mTWF9dsDN27?QNBB+I(e;~V6{GVF%eEG`2jxijQ z{u>1Xa19|Ja#)R_F!8_nK_m!(yd-3^>YwHRf?PlWP)tsh|1xIufC12+-48sYRpQ^A zAWpy!{=Zc~H;vwZTj3B1k=Y1OHxN<@*cX8aV&fsD%=|$)4PxxAL`}Ks9S$d$Y4}wC z?Uuqkqn%h1VBt2bwALck%%}C7SWi#Cmh(?G} zJe|5+dlO0%v;siBrEj84B(-Fx=^;&fnrru8=Uei9&>X*m2z!wNI1e0f7}1b}>15~C zo6p;Qie!~~wH_0j!t6X-_RG5@rNzQ(Z)fir;Fz{rT|`gD8!RpeztLP&R<2|yce;A@ z`oSE-@_;BP)HiuKIX0%Pt)s`1A;@FiwbWs{>YRc#7W(}NFjmH)0xrXY)L(Tb)zq760E!k%08SV0+vwxAVz8&uYLGWRC^NHJSp zBg*$rehXAn8>cP(cxG}Xji@Og=yY)iVs!k#C-VD4DQ&XP8*L1cU&cH2ogbp=3Y4&| z%E~Pllf#x*e1{EcOp9Q~HK4+8)kes|L*hX$Qcmg<>Wz4UujGr_IE!HnEZ?I=RF}q_ z$3V&w#mxZ|CiVpsNj4V9?vCwd|KhPVI_KK}+mCiiZVrBUK^kRo2GAudxBW85JX2X> z=^~QlrC7j`k&h?_?GFlBFc=5LpE|gLPgl60svzGvVr{aJaRh+AEL(Yw*6y`q6Vk1J z&imSO1-)o3L`33NV~sIQ$shRxc|%_LjeaJse7#ios6h685(&0GZssbjN?L3G` z9Ay;~uEis-l@BCiV`#CX!VdHiQx8#E3>s` z$-c=>PTdWlBGwaSj}@)WUpQP2>|rTwt(zZLqNe^@ie)im=i}zLwNY2z+2FxPw<^(9 zHxTBVdtU~xLIsnA4mzM_49|b0?`70bD?thPZUkWqM;^2fGHqF^$k78nBy@QD{e)-4 z*nbHhZb8SA5`psw6XERnn~|6s=7Z{bn_Oq2zl5G>S6}q6U(08YE-o%+633bFZB8Hv zj_G++e@2Z33eXxr@zvnm7PWIkfF&_9GIRzM`V0BZQ^S{TYK;^p_g84u1A~NHUQe_H zbag#!Y>JEYlB5yZIGW)K?-5T@j?e8=OqRR9!;u<|k}t-gx{g>HA6dfpb9t1Nw{*eL ze)s0TJF_T*OE;)|plM|Ko?Axs+XUJFHufBcrxBaDYwUZK*zwU3Rpm;$DW!%X_eig? zzKg^uW#c>;w#PXR9MubJReK>!vUSKD;vhp$|6B7_qsi)c{*k2YZd&Bs_&5PK$UrD@cem0(ibC9bB7}A;KP_ z(vg_>pCF)t#s}f|M5`TtSw%bxZB|iB81|Pl;+A@VV`l!AxY!VJ&LusPgj$_8au&@5 z6Un>lCRZf(W5vkA#)1+UVu%XKb;P4Ju^e&iS(*7cua$uqw3bVnf5reac3ExkBZ2bH z`99RmB&rPL2W?RL)*Z=RJyYfusx*mQQ)-TlzDS;sO=M$#fHaODaC@HhqM?5j zj<25NsBZ_^wGaRiW30^*CRXksu^B^yaEEpYw>JBBfY#69DjzRb7tD7u%f7ebmwJ%8 zgxe{n1yJ|P!ytlp3(ktYNCJ> zj%&=IdXaB~Vyu?sL0pJ(T(EWihk1%y>0*u`XOU?9U3F-``$pS8ggBrd?aeitdJSy{{wd!cVz&8KqtxWiLowFv}PhQ8^yu2j4SDz)o&kN&gQ3 z@eWrbIDo+~x37_+6a2h}7K>e%XraRza(u0| zILZqysx@Qa{bei@g#iF$*pKf!)Xm%T?O;q7b9BDFi183CInk7X8m8jr2U?6TDq??X z8urm~yk{Jtf-H3MHqsV*IT^Pa>_iYHPS>_2jPX^!=(4I50-{E6?vh0OJOUJ(U+)YNsZhMnvS_teFm4=Y$<@RXM>5|YxXd!6rXt3nBB z72R=+0c=JbtQ8={U)%06__xNVb^koQETBm2{oz5_{~>*##sN02zbIejl-ikcVX>Un zeDZ0Qk#|#GL-~6>esd9{XAWZk0~JZ*FS<>t=2K>G<{yFshe!k!O?Axa07glZL!9A; z$IWf73CvdN^u}VzfN|R6WocD^ZOuIo&F5wN4Nc|2=g$@v{24 z?NQIoVCpke+u{^wNt>S%?n`TpPcevN^N*O8GL%vJOLTwD!#idk6`O&bq2IOCK}9#X zjpin$;myn3@s$8yhy+2vRxTWXG~*%tgpi2zfJCDyI5(`a>A9+@7p0;!ri~i6Fw3Zd z=@4qfukTcKW+m%NO56;2aL0|8#7pYz#Eku6sF%J!;zt}og=R0xYf>v&^&usC{_@w; z+*4Y7u`jFUvo(TXY;RP44Ob1YyT%35hXl4?G*mBC&}M-$mwXhj>+|#M93tYja?3Bj z_{L+di`!72mo}N(`U6o&-RF zr}?`R6A~CX;*m*E9U1`%r=g>d_+8htyf_}GXKO7E$O~yhaCKo*>Gv%CELL%&GpK-B z{KK6I2xIkN?1x?kw6+20(&>|VMwZJ>Ry(?-hn{vwm7nQnibiw`+8q90p#L+R?*wU2 z(^UVh=%o6(Lp#vV1TDKDvs!8%Ua{-1AdKMvst}7$Dx1v(xNkr&Y9EPJU%8w~9cuDQ z@k`6998=zP0>fNt{I7;i$Ac)w@84(2S1cvo;|*p*$0(pwouH*T?z}Hj)l+`Q`!Bih zL=fx2&w2t9RQOMGW&sXcBhxb=l)czrzyxqt=t{{nY;VeW3_I zcmEj@lKAfh2Qd@?#19k5ULpQ}T>*X&`rKe3Cl9Ip{fY8!K6%HvuifG?#otaMqx(Tg z$LfiC);|MOZzkN&y|?s`nhD3GfB8!wq?DF_;-tHbzee8Gnt4QLj6}g zegmSIwEx>yz}I~EZ#9NWp{4&^>OjT>tmnP6<+{l%PSePbU(0p0nY>>uC!5ut=J)n^ zyBuzjjp1vYG@T4>nkNdf5|$Q3+gylp{;rFs@3GZRe-!!7kMXXK_)K%!ryQq#-fd_0Ql%_j>^5qFhoTEJ`8uEv=)DqjOWMXdL7M#FX_))x$kLCOOx_mct z%>P3AYjkO(zXUB61Cl5h-|rl70mbF~?I(?>#ghDDXQZ8@&V_f?sVfR=No8r2OOYtC zSXbMs;b<*tq8g`wN;(yFlbLes)Gp?jgsiN{s_H_*e|AhOBvB-OUKEY!Kpc(}C-&l4 zWid+~H7zBlgRX9l1RX0L#EQ-di|I0os%vT_Kl@ls?q&4;>f&1W5j?V^ z(HyF@pfmh`h;jFmFup!N2R6e*++`LASQXKMMjiI@TJauZIbjXXpoy4!n>#qDgU&RA zv_sl*>ITZXHYwBdc1a7W=I9O1Z$4Se_X+MF2I*dw%6{zase0sJIPGcrl!c&_l`1Fe zpaOo3-`{g;uJhD&RM)rnQ3!)Pr#sIt;yFfmcP+uykWC@+BOexrG$pd@9XB@SFY!P>FSsiVdsEA%QTD5oW{gf`+QHxyCzlC}S$gA_422>Y1yJ(+(0Yw z{cm%u1{>y2I2X%|CUo8#abaTq3aJj(AF=lhzpfc_Y;M6(X<}O1S0fyz_U+>$IXE`Y zoS|Xy;&__;(p*7CBVWx>yNwGm{HEGipT1aKz~Tr}-Y7_;3V>c$s|%Fx>W;MbXHaC3 zO+{&P3o^_xJT${i$p4Be-Oc>?*Jwl`;SPH#5~BcaBJ+`^Jb(4z+zO$xzhB|ZVikfo zOiiJm+XBPGhEpf4&fFUbq$-#S_hTT@Bt4B2F$4*|aI{nHgQ{&TLK9gKb?(r;a)nr}LNbDH_4%8XiN54i z6}ytWQuf~!M#TTeH5T{pub$tUjTCTKakh@;*6u!uRx^!F12PD;tUd4LiqCgu_m zEx^jbQGNyklho@7DK^_v{ON?IQ@C=7c4jG#9Qb7#y~U)E5)!^_T?G!k7=eUE0d?f> zX@_r)i0>acId#Xvr0*u^txk|EMHXNUTj-$Cufw$;4um(BRSUVK1`k$OtBeQcep`M# zmQ?C-m8PFCEH9U*Q4p`*j;Pp|olGEws98Y}9;9~gyD;Ey@2_L{?4@g>b-55#R_0WU zCY$;&9D6;WHJlFhWoj+TpL5$*Db;Gv-P8lJaeFT4e1U&Bc`U3h8wmCFJ3dn_kG&op zBhCt94==O+3;Q6^@))^1!8Pj^IID}gg9n>Tnp)aCJ7Gonlh>`T+gwIoF)&JdXlt0M zlTK&B-PfjshN{_WZ)$A&aTNFDm9~}s!6=~LV|PH^>f8pdx*N0@ok~%c1tPe5##LO* zdZh`&3?euvI{Hz+-JS=TwD~%{|L`dL7C0}vL^uz*=Q5`PgZgds48E_w`rPK>FBnVo zc+lI1K(k6s+pA?bE1X>}C7n@zgv+TK?@4Y z&+)G~$ftm>H!?g7aQ$~mKvfiUnr#VaHUr)UWIr9xD(V0NUsR6sH1Tj-Tfg;yFuKHl zE_rY$--t%+V02E!Yn47|dg;||cIz(=yaZ%VA{dcvTYsYgA#RJnzmovv{~yMRYLnk< z%QUoHz<9vKaLFS4=e{F`EMy@*zf3ll+re1ct^opFhK8cv1MEZSx{gpY8@9T08(7BV zxxDATtCnNnKbI@sgF;tz6`x1FVT8sjD}4M{tII`l6FwfE7e4jh zb5BefRDn*6lo=x2{SO=Y^E5U>PKkUmj9_gL`S$}E1blyNQV?N_zcMEuWF$2JP5u9` z00wD>dkm1Yl~%MYSqvZFU72c?jxaKw_Y(mvhxrVVr+lDIYV;T&i$WO5&tSG#I>IsO z=3j9ZDU>f9*~s}JUe@zQ5dbULyk73ia$$8qKZoZ^t$^`R(*V-w(2Q@kyoh?x3?N8< zF3}DLbnit*M($0Mbf%AGGnUk!Q36o#^U|R8>n@%SYxQ36A`R#coixjOy3gqhAmNsk zW|Dfc0d*CPR-4Q4B2v*Nr`6GKIXZXJ_*)99cbo0V9r-)=JKp=8DDUTGPScw8^Q_GW zC}qO8^j<|@3u!6PE6i!q4{ybX#B9|KS6(FGnnd{pz!pvVEynG*NE!;Zh?EKVrxkxT zr^iFk;pZ*@dbyALgZ-=S4opY418nU5(Ue2=gNm0DVbJ!@_;W z8c`uNGXca!;b-@}{Zl8J^Im!hWJ}zQcpLe$zRm}&mUUDUOi_#90ExF^NllNj09}DK zBONRHAxK#ixfMySquHQ9yKG`4bo~c4Epw|9pLzi~CTeLZlEGyV5@j*nUDZlDDbwN< zX)W{A6gfdGC}bf6Kkx?Y=G*Np?=l8W)r z9i5smf{-rRxB|HJ6F~VcTUedx|03())ud-lCFLYzM8#^^9}oW0z**ss-QL<=zzA?(oQGK%+s3J1 z&PXgzP{tV#5F%xW~8h&8D*!9 z_iR+Zffv%hhTq+@>c-riothHjc&BQ;8awZ)a{kqc#|&D8%V&bJlY^1%*EfPmnl^15 zsCL=qiN*SbTuvv_M?^DzM~U)>t^}^t>wh;uro+Qw;m0^SR*(v{a7R=Ym!2h2^k@=A zm@&>|T6B^z1d%BDJ{jJEjz~NO1|TD18lVcB{(Dn{i_t=BQT--AfB(L zHW27HCQ<-g|6NTrN+PYlcnq-A+T|Dgwv*Pc53>cLIJ zhpomw)JBa==MLh?NYjbXS}AMY!Z$_%Gv^gIyWxKsK?5n<07)qZL97y_6eLVMA$+uz z6`L>9*${0~@;A^Sj2MI^#M|<^Di}z=}?I8{TPxF7Ims||8ItY0q~j??XO=HJ(2;nbzJ9`E5u3Hj4@8{ z6E81W)Y^G&U@cq@k1GE#j@TA}FJP3Md^(zFNsb(8*JM>)1aq+vASFPF4ebZydQeV7 zDTVBw3S0rf?awaFsb7^SWGH5CEc&NoodV28-aFqbTTViih#qryRI~I4zhdngZ87e+{bYk~x1=%DO zEK}XGm>NtPX8ae-8@rou9(fcx^Pete#79Z;`~7pEgz^b)g3{yQbN9X0wxW^z%1|jX zg~wC(&TTU`;bH6Z@skYgu6Nib1W8p*P~0Br(Gqmm6oQHhU&#oe>@LAnSCUhR+e}&@ zTBSgg5MnwzA2v3mBzq__@SUBmfb@QlG0;-FJ2TIN69zhEF7SuBfA$h+|IMfwk=OH| z+6axOdSGK*wH_d57y83fWWo0lfdN@#VFCczpNi`;xe!>2swHIZm^mkO&nK!x#IUlaguVQ36t&lC8B2+ zH&B>pA!G7PvKO7H=qVBgG!rGZU{8cUF zu>9i@eZ#*K&~!{aEX<-nYQ@uZgJ_$$6sn^^0qevCJNOQLJH^NuPV#7T@8e2!ryowl zp6TrZ*%u+_hm52JB?09hNWoz*x~5a&SxU9;0NnMs@)M0bO~0(%z6;x$_sHo)HwL7v ze4zPsJw-l_jeg$L((_B`;5n6=x-tf{6Q&@Db2%U^aHBV$AYm={Ox*on$I~{^y-} z&pV%I&Bv;>_EUSWs$@O;y081U*@7g;$-#ypK`Imy07gR$H6}v!O}A@XoxT(Unu zRo*!CYMk@@(X~o-e9FRTU)R}-yQW7Ru+Xj8>nZ4zx0Oo})%?^oP{lbk?aH?he1h8` z1tw$Y#@s}d23De#q2QzqW!j|WCHi9=3R&L^*QJ7fzt2J=SpvjE#)pTFS5jP^i|k?< z8IIZ;@E>vIVq(h7Zuu@`F~npq+G?2#Az4S zKIe`E8%-e5ig(ft6+=j7>m)EGupxpdgn)YhEO)m95r~oBJoY`oNI2KHPIhnSwsjoc zeuw>NQvtbnoNu=z3_JC=VH?qQPaoSG?^T!J9Q429T#n^)-!9_)y>Doxfy zHd^abU|FX7{H$T8xSw@Rw)h#1F!j==;O45>bN| z0_{2EC>CKCXl->&xK`G*{IoJ>beV75OT;0MCn+%rsaiT<_Ep*p2rR;}1?E+$xCn|? z(7&-`#2EUu*~SxP1zYr!ZG(#)q_7uf5Xm3E2b;NWRIJ=aT;vr(YyNHME=)cC|%27O+f_s&+ zW*1W@QEl`YeZ2N{$SiXAGtE%TEF7mwT{DLed9z7ThQesLRP+1EC|Qlh3Lb@3e4opd zpk*7-!Ru7ez?r7&m}8%(6u&pf2D7g$TfujigRigvh^tSLR>zPb?R8I>)3mGt5)EQkFJPa*A4!{dd{0 zTt08Vgf$FUy!QE{CtaFNCm$?%o($7VP3MO1?6#SHVI9kx5{3F(a0QrCQ`Hv1W+;6ua#0cT}pl z(ur_6>)*bjU`}45aUm+`oxl^`SkfE=0};O}tEu~qa_#bdiEq*xy#?tRYAGGQHV5Ln z!^WErb7o$r73)TEhae~^2@`4|0lsOl;oVU{Nm()s2L;y?Ad>I!KWyZFp0_&=#jfV# z%5c^r0=eZ5d;m4dpwvpsmK#N(wJ>f)vBsaw<>;hd!m<;E#U7r|Ef4>e6f;pP@qVur{slr-RsDaMFGfEV~8 zTuWU{1e_^=0?YI;qm&IL4ZBed)Sd-U3xMC%FqFYK-!c)@c8vHud&vT8PlDDHndH|* zw@1Bi+r?`d7$b8dg%J`y)L=S;swN;w^8Yif#>$r3=Agi0;76FEqeGM}69~){>-4(E z1>8%zNXyKpGSMdJft@_1|J^hLZi>l3sO*H|*i#6FR}(G3bt33a90(zsM=}sCaT8s3 zVTnm}Oa3kj{<5Ensejsu>?t@8&cwD*WPl312?atn@fnsO7c1ce>)ca3QuGog`ekHD zy|VG3m$bOiDo3eW-V_4hbOEKBBU6frh5xw$HI5XdX1K$Y!L6YCPws�?0jvAW}L+ z{_EBqi2x9k><5!b{dYlu3GiCQMzDhCKTF&Q0S@5jOhWzt(E@}I0>dGQ^1p+Ji@0r` zF-bFjjSza$JkOH!_zelTgv$CTaVeisvfHjVOKMR4i!XqM2?L>uIfcHgr$GvV7Vnif zKtUoNVtiNZI!`usocy}t008!bY2i=ScAdwil~Mp9+E=;`!3eD-fQZ*{aAY;Wd=SdOMSA08`Y zFw!reUUga>wSNDEEtAcg-&y#aQ}DgN`~2{nxJVOtKTmBaY= zQh7_y(Aan7@p=L5@V_(qoikpIH|Z-Wq~FOX6s17qQ7RM1(GS|2%=JA!1U_CTN&ulr zz2ATaAe^woy%?p@sMYE5@ys>duJr%T#$cSw+YG4a$n>(|ebTyXX7=vH7`1`*4DLi< z>BE)G)Her$TYgb~O;e60g4Ug@yXK2>>vOU1o|-vX6EaPc^N?p^Pt#j15^tykb@5^# zKaT#@1{j)sx~EHg<3ufurUtZc>7)S@moE8IH*{gxVzRE^Se$9t(N`x=LKmk>OCi)4 zOn!Gr7kW7kiFc~vk-ZzaYfs3;(xWMQNMloCsR=KFRO`AjK=8_CHY9i>QvpL~v{y~Q zPMSGGDY%%=u;Ve3Kx1LN_Co$VEmCD(SIcAW7$ZDrMU zQN{1vw=X0ffpPib%jk1|bC5LxVc(1xv_48>hRltxsriypL1i=aAKE;R(>mO=$o(&) zDHrC+IHPVaaHy-85A^M6Q3zqGRdhl+&I``d#2~)`{>P^b*$gk({vttusDcVQfi2M* z&xd}*to&{-g8|7q^{^E*l$e^=+h>NJvc;N4XmYf=Fxb~xir#EBMqh7!_=9V*Uqrez zzR*M!dJcvWqGmnQo;~t1_+d*=W>vHNW|r&jpDnjn2W98(o-dloMWj9PH-IH8AOQuy|XF*oe?@0py^{ zuM7bjlG$0*iuh+xgR%BhQI|@Pb?;&{d{(vu*ML~6!JiF%UAo|v?YUpo-?W7yTSRJ< zO~{I*Bfblc>Q1fBSdf$c#9hSikhFa|VzuBqCTuU4?VW@$asjGKA+w{5Z@&?eO9JqF149wCXWp4HT^*6(|yHW0bM}}ug8a`L<9lZ z+V@OzQwjI@F_T0s+J7>g(X0Ax_X2X?ubb~^15FrN9l((`JRq-aj6_5rV)Sg zRHlV4W*fgYn`%S(q{?53byM!DQW`L}xN(S}nM}1n^+(c*FyR%Ql%VW+Ju#xQVU^Z_ z!|Atub2sv-UE6!p&tTY>C2fA^XdPN-De@0I0hhmBr(M}t#zEb#rGejBlQZ-j1?$%u zb3TfG)Bkc9^Ppx^7Z|>kBez~X)XaoRfv%!4$K*h!WIs{!cKLr{4({**Mmim znl`()$flUCA)f!Xo)-;~Isnp4Js@WkQ@2{Z-)R&uO8h2Zu)?Sf*X>`GAL9@EF5F*2 zdQ};ki1!T3pFrt^_s`dr#Xzzppw?m|0(gMNGRm|Z;*T{thgA*83ys62)dkw+(#b&N ziho4J2pp)6Hwy(?ubucv(q*DK{b$-b>H>9={3eB!N=&D?+L(ww=?o|p35se1RQj6T zno^nDytU|D1H$t$O z3K>xpEy5w+gZ6^_n2*St;mR23jqDO&)xb%=DVE|akqsmVsQo#e?;#$nHW7vHb904p z`4?zuc=axfj7IWRN;e@*%`FyqZ9;;VfBg7cw6(>QVzNX_c9@+U#4Ieo_e!645JXq= zH;#`CoPO@uv3{a25KOLsrw0x#+;e6go#su3KK@xWC-icO9JP1J; zT&IneG0VYQm=-dvTezB8`S{~-;l66$DWPaJ^FHEZet{87PF8Qbu9N|TlS=|pOMHBu zLhd@wyUYyc${*W^qMM^!PJ0hO^z)qGagh$f34EXg$ZqXvI^g~JVslmexkAAnVG>{^ zq<5t>01+@m=9&$uUIPmYDJb*7{sEeAA)tS&d^IaQOH(u+T>&j#NPZWVnF(J$L5#i0 zef3P;5cSQn)`>5d3Z|C|zk4!|qxuP*3cDQFXSS*Av^*#?ET6RLrweIF$}(MmMsk?# zlJL@UBb`F3l&NuyE1W}(8#&=(Ho57<#O--S?NQw)<5qSSa?V-p4mv9o2>oi;ZBnhl zZ0yO}66pwg72cAs??rca2D*5Hkp^TuZrbFmh0z?nvBcUjHQ0J6Jm#BWBcvUUYF~1< zE#lugqJ1SRVbkM2cm}>R*okPK_8q=7W@%poYY_VSB62WUEwggVn22+s<3JG8zBewE zu5t4F34@+?)(Nwj2KMX(3JoVbtq8;w-$WyRo6}I)TveoyM{(AHm^WEPvP*F;s0jcO zssJh}B4$*ALiwsy)#LTWMOcTjVWDB~gOo}Y?6CYzga|dCG)Lyfcg>WS$PHR;)&6{+%eVBiJU}64{f!1N!8l^#;i3m@%o`%OnaYv>G@i$m9)WC7d#|Zz z<84hsD6niGRTIB1Wc*-X21S&Xb-S65$)IMV6w_eN1nX-H0J~c5a!~>h21%uAw+-sG zq=@a<^cwBH1=Is!@>D+7j2thJc;Rgr|Ks{KkcDne+iGJ(X{~TQPKmq8BxhB_oY5a8 zAq}f~o3Y^MhEsocgvKn&-4t4RVXQn~&BuY}npp?&HP-L~EfvBj>g>zJ=HcEhprv z-)29%rN*{yaA(`bdi%7JA= zp}arA%uR%po-iS2j_8r2va8clOD7ZewNQ2m&yFCM*Wx0lg>q&8p7H}b0RI^9o)p}! zoTa77(^re>(ZOZ-rpy_HdW!Ca45I^S6yY~MGcs7m<>OmV8-fA>Rm}fI`hdy)!^2E9 z8_M?&@)X9)oIqOlvzxj8qMnf)vN|zdd41ra=Nbzp&;kiXjjpPEgQ`v-BT1azgrnvm z#pTiUA@v*jXB*fz%A|3!+2T_$RJIk zr`u{9#?av|L@%iVZ0#Vxe^J^zZZyeQN(DTB=_hyUJUFU;Y%TPhDq^Iey0N)|;UBr^ z7qUE+Hx?Klb|Ky52DR{TQNfH3TV|rmqN&!T>{f?{Xa;i=o@Xyzg@1DK(^%!my#0u> zhVX{LVls!w8VqTREote?{+YX*>S1`e&8KL7!HP8V(fxuaI>~?jfi~|L178Qd3cvj1 zQkWcSWJ$-b8lBVmE~n4&lsl3UXs*b#ZC>}qL+J`&N=2b4`e_rWxxU}QA&&aCgZJFU z_KtU_|5EqvF!*XB!f&qL_ZxeLT+^oNL@4H6UHh%p&>9!jPg?Kp^n}H{Fjdax7*Y#V zc!Ag&Xj{JE@9Tw$(`$%+`86tB0_YVM9zB!(1wXH@g~O!9Q}gKz4yx6(oPI|MqDEIW zhLSJzPl!(4fNzHX2}=5md{J2#S{@O(g1Oc}JE)Km=Zq#*$CTI94q;bao9_&wrm&;9 ze9aL)eeD{*g6g|2X^X_i6KZ2JcsZ16s_yQ#VN*TO7j@Zu1;lEdU{$V`N-wVk+(P1I z{`*puiFY=<4`BQY^t1MR9AXA4D!i6itLl&)Mqa>0SaPGOK*?i!`#8UST~3NR4Y zgimY1M2G7g&5a48;eR159+w(!<%i)$7$B48QW}y5FJ3h+0UMO0Q3%gXYlc@%&Q#pl zZbQkIKUl~H%o%Fo{I1u16#7I zvO{~%JRVMew8CXi8wc|QL~mc+LJie8CxW2`@1q`XKNrLg z--<_>I0nuGwfONG=M+nyGf?jn!4zd?1(uOF!8^MlexOX|`5xf7puJgT7kN5c+JIy{ zC9-QH2>&AXf{FAs-{<>bDcx_+`IcgyQRpi+-^&Wn@tcq$jo1Lc2&5LlYdMfC z+|b-EC}^sBB4w_QB823IFH0FquMnk77^EYzG$(7BY9}zo_gEZaSwBskR^VcF|Zi)to}be506rx1tAfwQr+nU{Qvyr zvF{$3xXT%5$Tm~r^&wdn6txa<_vFRO*yrP`DkuJ1K*BEd)?p|y;x&?N`l6;i1-Z4Q zXUU)rOMC^2GdDyiw1%*&oKR}w_n%O4bN{K0I%QTJ-o#k; z!>T26)6y11uh5HS`4}zDmWmdwlkYEbn%Quned}FktH(*UgsTza_Lt=&h1po*VMhCR zHC!0Qxk-&xIUuZA8f9BT6t66tGpR|}ucxTFQq%&OR+z%=jtL!hY*RmCO9k`^-(Y3} z`~Dv4QIOVAQY={Y`&_Bq+F$NMO~+${lQo=z`y!}KZ$sSyVtB3y)->kvM=jA+d=_=l z6!mR}lZ&!CT3kt*6gWM!&R`xoFlXYAI@r3>W+5!}Z`$hV_UMfH(($0$b;?HxKh`8U zcR%{nC&e_)moB~)yCx8~(w?BDp{dm>;G8%%xz_%r2*V35>iub%l08~hA)A1y;c#G4 zPeM8X4;=@Xmb+)4_i8)i|G3$YZsf7NzQNk(YGRkOOf^EcQO5 zM+mUC6bwfJbBu3!~tzRk0;F9hdl)i7v2b0DseugOPC%3%1%V3hQ&^0R^M>!2u(g z@cKjIw7h}=5W7Rz?bGksSNg6mM zE+T-6f`VdCtOE%i7>SV`cZ8N6WxSD4U@~8?+bh-oQrc5WekPNRCQTRQ;1)0+2P!Z! z7$^&6Wcn>v*Ku>rU@sq|F1NG|9E%~Hcnlc1KW5O85#I2b80QfqP0%hmzvGJ=oSwM2z~SG83AbC-1M)ak5g@!{6ipM`KDt1126d!NZ!5{&LFz zRI~sJNr)WP&+1=s9`ITV;1bF%ClYo4qo0IeC{Y0PEDT61{y$tGe`6?NIBG48}}4&;H^@8NIGSE6IuT+OTQp z4t+MWue86yr-Z=6+|1|OG2Kt?kNYeEDFRjbYn~|Ase#YGEpOFdl9gNq6MaYbH4lft z%~Mum*?kva&PE5gI2%htjl>1E2E*Z1U^!=uTwuXA+`gmBaM5%}QQmG@Q?2|y@!fbT z%?}3sT=R^dfAZ9)CekU+cx{)P@3j|hW}L!HUf!lC!(?`4{&qiq3@N_C$w)L3u3^kr ztLhg%{WHN`W4p`Qh9UXwax*$Rx(Fw15SYsUS>q=zld4IH$l5>EB*cT?`6qDw{GW2i zFX&Z3?r~WJiP=a&OK1tBdW76nR95DCdVU+DbP-INHHo3eU140VvC|i%1!7CMt2#g> z?NLzefKp`uT)*l1{|Qyavbi0leRQ)~J?C9HbltZkYQ67LIZWpkj^!mXza89r()ymt z{$h%R*1W7q0ZfnlSI_;+I+bQRQ|GnWbNcReRaKs=ZX0;R_C!67-9LM~YYFi8L&{&<%e{!zsA9 ztg+zMFezohxNs8;F@i{(ds0Z6jE`q{I`!fB8NdvG=fHO3*U@?n^O^}cDIZwMrx|D+ z0J;`UOM37^!rHe%M*5+k=f`x!$xeQ}qswyyNCH`t6q`RPNssr0N>tOW1h zlH2Pk-SufD?2`X^IyX)U1-Arybz6b z*NBRsjv2iP>s#s;9>pFRBfZn#OFMuT1@N?9u|_jV{*g=;PK)J(1u7)QhnAIpd&E;u zoE1&i+2|0Itf*>}UzZg=s^NGfYB&@x`zLYI(|HG+SjR+FQs@T>L?YmWTbefLZ8)BX z9P8T=q=%0)+X(ar8ul-fbWRPEWEs!ye`jy*O7EOX9YF-(gidby5>&b>v~#jduksJd zYydTd$_$T~l9)zIKmlOl9DT04iTl5X!cWU7q^-5Hhid0i4w4;i<~VjjA*?6a2QoDM zuWkf6r&LuX)baA=1%1s-bydZb&BVmN4r|$>=ZkY$y6rG-K z!jB;exZis<4>e)O%9p~V@P;91U)_r9vBsY0%V0XWx3;iEAZU9$G_@@gezT?3vHz}6 zB!ObuUev0|nQDJ&k{}vuAyyM{jN1BvK`Db1>i_qoBLy}lpnGB4$SpdU1D5FMbMi^D z!2=6i!xiGbQSU;O+BQCrIP;(5@O_ZT#_LAgRt|MA{Rvl;c&7aj$foypEP84W9Li;? zp+-EBH`7dQv2$@fNDp*@MoRX*zhc09y@!J7Izf9;+i5D}s(@L0;7y=;iP%(45MPIG zp4WA8JW#~dlu4vLrIo6sS&gKF@sM-xK7YD*Hz?t1_{5TC`8f#e`s7DtiiRL^DlZ8XrdkI5(pOvxTZe{l1`Ph8 zad7iFLMW5|7Gc!p&ra3nU#{)+J~h34e!hK?cegfNdt~xr=5D_2eYe5!=62NW8P2$< zhNC_QQ4oi82jJJVRC-SDO=qlagTm3 zEKS>{TF1F;JKj#NmbZJItWju)DL>dd77~B@(`%1di=ioa`kvv_;CJ3Cos*kq9QvV? zNigU`>@3NTUdy}h3|*If;+8I*-^!ucd%a2-S(5Xgp1ng3k}EXlAj-+Y`2qz|g;z~> zHq@4KzW$6yyM$q;*v|8@NnUZDp$v`a)4S;o>wqNZe_qfZCV2hmXdE26{J;#|+h9}h z+^Wth@9lYc7>>P+BsINnam_VnuS=7bk)fb}nwQi7$Epd@m&VD|xAZEs*^{onlGV4b z9POUo*M7rBC;7^} z--V5O@LCCGB~5kl4WBYYSvB;Qy0U!dC4VydzUn*>lEbbNa{{RCs1yDyTZGSlbho0c z93NwwO$75slwBQB!p6X5h`p{XDs;bp`xEMfYzCL#$&c5xxQbYa#3Mv`>K5XOj!cP&=5R75_|UOT!87AVTng(xTvo; zSt-LQC6zmj-(==n5mP@DCi)=UJQ8*h>^1-1{H;B$Ioij235w&ubbbGI#qW9hR4@PC z_dmV*eF~9x)@Lhw{>?P6L+1MV0Xo3djkUYi=a$wRA__)snCAie5^PGd&|AE9y`Q8? zYwIr@EXfW4)mNpZjKPjLF)J|tg# z5|s7hXf1>0{av9yv%)9gv_QwVT}XdOfxADpcpzEsWT@-+|BU6HqzRg;$-VMMs|?lG zJ#`kJD79HyKgXG-nnL5*G*U{z6rG!D<%B4Imlln8GuM+Z`G5^(K3XIK6dB|E^`5~t z^h)&1H}zj~zB~5pwN#AnOH;@c=)NsIa0o zrkS zs-SgBO}X9L@#rdNoqm04#3Zy|RQRn+m7869Y*(9?f$ARLMT)qN5KF_9df1&e>p;hS zN}12Wy(1W!Ycs5;gzG+M96giASik7}UbV)!(kv}!4@@F?m8r0=m?&W&5{)^m7V^@Y;3W&v=JJ>bl=W4Dqcjdtp@C| z6(QSQul+{?@i>e*6yEnzA_G&Ji6U;#9cFqim^|GyFNLcWToUARDc#$C>`_gEM{r>! zR-cuB@H|bc_g>P;Ud%3iBug;zm0Z%Fv)^1ZSX;HoQX%%tF~(%vRtl9-A%yQuPb!k^ zoHkFucUDKy=;LBVkp6sr->~A2G=>vFV4u9q`u` zg5`Y9O8m~BG<)T?6AL2^4X4bjegz>g_9~R3RE#Pr42DYPtrg~B;4vph^adbNh;BZE zzA_T1DBs_hFp(Tkj>aOLJPZz9Kn$fo5m2RRLk zIH@nT0X?w%nT4C4$joN7(acZi7sMvEb^?wYXiyj#mKZTSRHKdSwkaVdC(1jRS)%Vl4`1>aY$jdcMmjm?a8bgpAy&AW=b*T@;md}%#rgz#sr zgf!tk2@_olcNJ5uy>p@=2B;)byJdaG(+rfh_0PB9_xUKa_?6_XSZ``wlskf~1XW?> z_R~(sLohu#hn>UJNL<5#Vff=eQSDx{Ej-u;li7)$5zM{VLtrdds8wmY>3s>bnz516 zvn^p675Z)rFr3Eks8@VwX5=&-C5ik&oYGs$FYbZB$5@&s9I`Uu#R; zwp-0{pKiyIRJDK?IOfM>Pxaplq#PX&)p*Z}L?qT%2=<}wa$&r)9-I?AhF2!)J zRebHVLT5yH%EonEQRgKnmZ*ZnKqGcaEeLr^=AF6b94NiQ`mb&86$^?o3dB67_dd;=f&Kf~ zDA00SKDwr^3#X6k6wb5s{VCD~5si%7pKIGO^jr3j?qA|Pnk4o_;q6;JPnO@!*v3Mj zfn&L!D9o1tPurs`BC5vY4jq+pLjiZ#)Ju;1_M2hUw3>IIc7@$;2>%hE9-FwT&`a2` z*w@QwE>iT@`inz6uV&&=ht63QE+Kak%dmt5WH?P*&Ih3kxu-e-7&VCoZsTtghO!@h zSy_$_L2z~UoT3TGOk5u&C9Y+9Wb?HvGs=q&BF8(~2q_ z=KR*?D0%qQz}VGTcyjhiCX6L-r<~Gk%NyFICk5Zr3EhB9Qm5>(h*wTTNRF$tiG+oL z8U`!3L%XCW(&(}>Gr8|xGvpX-`Vn1b^VQQ@d~T!18YYZW2&Yu}U4un$W<{%i%Ce+Z z8F8LHUDgza%TwG`?ACm0lAi$0ZIAe_mh~Rb_EZ{}Fyb>jEqOL5pl7jaVmtD=9ZdhmRN=jTO^b74gKxokFQ%Ya%bmstS}D>s@A@xIiYqqX>VQy-!b?xJq3m$|-%(P>Avy zA!D}M1wO^8-=Y@(cD%sq4KHc0u#`tF#$sIA`eSVo@HMm)nH}ZKONt{_hnd8YudBE% zrnfRGL2LghJFMbq1T~OnBkY`O3&Cf`D?iLlTYj|wTc>Gf%GQN0Uc^jf*NjKb(OefX zBy90m!fF5rMHTLqs&N#kSQJ*A()*wSyZ5V`E*R&JM z5WhEwGM}FM?bI}gWHK?LC0B~pd?9d~+?Fi``3N0eEU!MV3fKxV<=fgz9+WYH*ba)j z;qy?BX&IN38VD(?x>)-m1jRV4+_iYvu@fgx3;vL$*Y8njSHNkKul>8hNK#s8hS!GTptLyFkNf&X}GrCbr4sQz~Z%2g)ljOt9)$R@+(BL~~O z&Vl*P^z`_m|3OPak|dP9aY#gUMrLNy9NYYy4d&ERFnu2BbY+&>Dv5{vl;`Vmx?Hlu z`0MH-X1~gcvN)E55(N!}hzN&4y77!4v=YAeBN^dCqtu5=3WXz1|2kKi2xsOO zhdT+AEUMc3`WtCN4E_R zDG3@348%Deu%dH(!)`qgas(oT%JWzy9sbL4$LKiq(;FwOq8?F_pdcaRCsYJs&dZ37 z11jJXzyN0=77!qbS`THHgrr1Bh=la@xdgz5gvSKVegFLiIxtATAbn64spx+n^dcdM zIr=|VVN8hLC5J`^Tpe&=fS|z#G7^N-2NTBE<^FpEnXsPoQHXefDk*a>SjP?sO=|s` zM(H`7)JYp`750A}2TbAs2}i2zeGCpI_X3X-dB1abcxZtWJ(NI_R=lamv`?7`VTa}op(Z|{hJ$F>H7 tLS9G5kdcuY)hwaND*g9Lx5B&rDrq{_ Date: Tue, 21 Dec 2021 15:04:06 +0800 Subject: [PATCH 10/26] Update Part-1.md --- docs/zh-Hans/Tutorials/Part-1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/zh-Hans/Tutorials/Part-1.md b/docs/zh-Hans/Tutorials/Part-1.md index 1327ce5017..6e1be7a243 100644 --- a/docs/zh-Hans/Tutorials/Part-1.md +++ b/docs/zh-Hans/Tutorials/Part-1.md @@ -28,7 +28,7 @@ ## 下载源码 -本教程根据你的**UI** 和 **Database**偏好有多个版,我们准备了几种可供下载的源码组合: +本教程根据你的**UI** 和 **数据库**偏好有多个版版本,我们准备了几种可供下载的源码组合: * [MVC (Razor Pages) UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore) * [Blazor UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore) @@ -327,7 +327,7 @@ namespace Acme.BookStore } ```` -> 参阅 [对象对对象映射](../Object-To-Object-Mapping.md) 文档了解详情. +> 参阅 [对象到对象映射](../Object-To-Object-Mapping.md) 文档了解详情. ### CreateUpdateBookDto From 1bdfa3d82a45ca1c01905fdd7a5dd8ebd83e4eca Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 21 Dec 2021 15:04:32 +0800 Subject: [PATCH 11/26] Update Part-1.md --- docs/zh-Hans/Tutorials/Part-1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh-Hans/Tutorials/Part-1.md b/docs/zh-Hans/Tutorials/Part-1.md index 6e1be7a243..927463e100 100644 --- a/docs/zh-Hans/Tutorials/Part-1.md +++ b/docs/zh-Hans/Tutorials/Part-1.md @@ -28,7 +28,7 @@ ## 下载源码 -本教程根据你的**UI** 和 **数据库**偏好有多个版版本,我们准备了几种可供下载的源码组合: +本教程根据你的**UI** 和 **数据库**偏好有多个版本,我们准备了几种可供下载的源码组合: * [MVC (Razor Pages) UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore) * [Blazor UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore) From 5cec8681b3b1b83422d6e08b27b91d77c54424b6 Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Tue, 21 Dec 2021 10:18:53 +0300 Subject: [PATCH 12/26] fixed image --- .../POST.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Community-Articles/2020-09-16-How-to-Setup-Azure-Active-Directory-and-Integrate-Abp-Angular-Application/POST.md b/docs/en/Community-Articles/2020-09-16-How-to-Setup-Azure-Active-Directory-and-Integrate-Abp-Angular-Application/POST.md index a1c63529a2..20894ae125 100644 --- a/docs/en/Community-Articles/2020-09-16-How-to-Setup-Azure-Active-Directory-and-Integrate-Abp-Angular-Application/POST.md +++ b/docs/en/Community-Articles/2020-09-16-How-to-Setup-Azure-Active-Directory-and-Integrate-Abp-Angular-Application/POST.md @@ -80,7 +80,7 @@ Navigate to Manage Azure Active Directory in [azure portal](https://portal.azure Enter a name for your application and **App.SelfUrl** + **AzureAd.CallbackPath** as redirect uri then register. -azure-app-register +![azure-app-register](azure-app-register.JPG) Now navigate to **Authentication** on the left menu and enable **ID tokens**. From 03a09914412c5ee6f065827cda01ea5b645eb6a7 Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Tue, 21 Dec 2021 10:27:04 +0300 Subject: [PATCH 13/26] fixed auth-diagram --- .../POST.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Community-Articles/2020-09-16-How-to-Setup-Azure-Active-Directory-and-Integrate-Abp-Angular-Application/POST.md b/docs/en/Community-Articles/2020-09-16-How-to-Setup-Azure-Active-Directory-and-Integrate-Abp-Angular-Application/POST.md index 20894ae125..c82365efee 100644 --- a/docs/en/Community-Articles/2020-09-16-How-to-Setup-Azure-Active-Directory-and-Integrate-Abp-Angular-Application/POST.md +++ b/docs/en/Community-Articles/2020-09-16-How-to-Setup-Azure-Active-Directory-and-Integrate-Abp-Angular-Application/POST.md @@ -12,7 +12,7 @@ The most common question is; The answer is, **you don't**. ABP Angular application is integrated with the backend (HttpApi.Host project) where it loads the configurations, **permissions** etc. For none-tiered angular applications, **HttpApi.Host** project also has IdentityServer4 embedded; also serving as **Authorization Server**. Angular application authentication flow is shown below. -auth-diagram +![auth-diagram](auth-diagram.jpeg) > What if I want Azure AD as my authorization server and not IdentityServer? From 96e4aeaf83adbfe7349cb6f0185d6a72c4cb225a Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Tue, 21 Dec 2021 14:16:06 +0300 Subject: [PATCH 14/26] When IWebHostEnvironment is not injected, hostGetHostingEnvironment now returns an empty one instead of throwing exception --- ...bpAspNetCoreServiceCollectionExtensions.cs | 12 +++++++++++- .../EmptyHostingEnvironment.cs | 19 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/EmptyHostingEnvironment.cs diff --git a/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/AbpAspNetCoreServiceCollectionExtensions.cs b/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/AbpAspNetCoreServiceCollectionExtensions.cs index 33e685ac4e..d672952b09 100644 --- a/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/AbpAspNetCoreServiceCollectionExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/AbpAspNetCoreServiceCollectionExtensions.cs @@ -1,4 +1,6 @@ -using Microsoft.AspNetCore.Hosting; +using System.Linq; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Hosting; namespace Microsoft.Extensions.DependencyInjection { @@ -6,6 +8,14 @@ namespace Microsoft.Extensions.DependencyInjection { public static IWebHostEnvironment GetHostingEnvironment(this IServiceCollection services) { + if (!services.Any(d => d.ServiceType == typeof(IWebHostEnvironment))) + { + return new EmptyHostingEnvironment() + { + EnvironmentName = Environments.Development + }; + } + return services.GetSingletonInstance(); } } diff --git a/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/EmptyHostingEnvironment.cs b/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/EmptyHostingEnvironment.cs new file mode 100644 index 0000000000..371162f0da --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/EmptyHostingEnvironment.cs @@ -0,0 +1,19 @@ +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.FileProviders; + +namespace Microsoft.Extensions.DependencyInjection; + +internal class EmptyHostingEnvironment : IWebHostEnvironment +{ + public string EnvironmentName { get; set; } + + public string ApplicationName { get; set; } + + public string WebRootPath { get; set; } + + public IFileProvider WebRootFileProvider { get; set; } + + public string ContentRootPath { get; set; } + + public IFileProvider ContentRootFileProvider { get; set; } +} \ No newline at end of file From f0d81af1e4147162855c9c45d7001136d9bb1371 Mon Sep 17 00:00:00 2001 From: Luke Ni Date: Tue, 21 Dec 2021 19:54:54 +0800 Subject: [PATCH 15/26] translate to zh-Hans --- docs/en/Tutorials/Part-2.md | 20 +- docs/zh-Hans/Tutorials/Part-2.md | 254 +++++++++++++----- .../images/blazor-add-books-component.png | Bin 0 -> 19010 bytes .../images/blazor-bookstore-book-list.png | Bin 0 -> 61438 bytes .../images/blazor-menu-bookstore.png | Bin 0 -> 7754 bytes .../Tutorials/images/generated-proxies-3.png | Bin 0 -> 11889 bytes .../images/vs-run-without-iisexpress.png | Bin 0 -> 13760 bytes 7 files changed, 199 insertions(+), 75 deletions(-) create mode 100644 docs/zh-Hans/Tutorials/images/blazor-add-books-component.png create mode 100644 docs/zh-Hans/Tutorials/images/blazor-bookstore-book-list.png create mode 100644 docs/zh-Hans/Tutorials/images/blazor-menu-bookstore.png create mode 100644 docs/zh-Hans/Tutorials/images/generated-proxies-3.png create mode 100644 docs/zh-Hans/Tutorials/images/vs-run-without-iisexpress.png diff --git a/docs/en/Tutorials/Part-2.md b/docs/en/Tutorials/Part-2.md index b84ece9e97..21fa94c446 100644 --- a/docs/en/Tutorials/Part-2.md +++ b/docs/en/Tutorials/Part-2.md @@ -10,7 +10,7 @@ In this tutorial series, you will build an ABP based web application named `Acme.BookStore`. This application is used to manage a list of books and their authors. It is developed using the following technologies: -* **{{DB_Value}}** as the ORM provider. +* **{{DB_Value}}** as the ORM provider. * **{{UI_Value}}** as the UI Framework. This tutorial is organized as the following parts; @@ -80,13 +80,13 @@ You can see the **book list** returned from the server. You can also check the * Let's **create a new book** using the `create` function: ````js -acme.bookStore.books.book.create({ - name: 'Foundation', - type: 7, - publishDate: '1951-05-24', - price: 21.5 - }).then(function (result) { - console.log('successfully created the book with id: ' + result.id); +acme.bookStore.books.book.create({ + name: 'Foundation', + type: 7, + publishDate: '1951-05-24', + price: 21.5 + }).then(function (result) { + console.log('successfully created the book with id: ' + result.id); }); ```` @@ -187,7 +187,7 @@ namespace Acme.BookStore.Web.Pages.Books { public void OnGet() { - + } } } @@ -654,7 +654,7 @@ Open the `Books.razor` and replace the content as the following: > If you see some syntax errors, you can ignore them if your application properly built and run. Visual Studio still has some bugs with Blazor. * Inherited from the `AbpCrudPageBase` which implements all the CRUD details for us. -* `Entities`, `TotalCount`, `PageSize`, `OnDataGridReadAsync` are defined in the base blass. +* `Entities`, `TotalCount`, `PageSize`, `OnDataGridReadAsync` are defined in the base class. * Injected `IStringLocalizer` (as `L` object) and used for localization. While the code above pretty easy to understand, you can check the Blazorise [Card](https://blazorise.com/docs/components/card/) and [DataGrid](https://blazorise.com/docs/extensions/datagrid/) documents to understand them better. diff --git a/docs/zh-Hans/Tutorials/Part-2.md b/docs/zh-Hans/Tutorials/Part-2.md index decddfebff..fcb28afb23 100644 --- a/docs/zh-Hans/Tutorials/Part-2.md +++ b/docs/zh-Hans/Tutorials/Part-2.md @@ -2,26 +2,10 @@ ````json //[doc-params] { - "UI": ["MVC","NG"], + "UI": ["MVC","Blazor","BlazorServer","NG"], "DB": ["EF","Mongo"] } ```` - -{{ -if UI == "MVC" - DB="ef" - DB_Text="Entity Framework Core" - UI_Text="mvc" -else if UI == "NG" - DB="mongodb" - DB_Text="MongoDB" - UI_Text="angular" -else - DB ="?" - UI_Text="?" -end -}} - ## 关于本教程 在本系列教程中, 你将构建一个名为 `Acme.BookStore` 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发的: @@ -44,16 +28,30 @@ end ## 下载源码 -本教程根据你的**UI** 和 **Database**偏好有多个版,我们准备了两种可供下载的源码组合: +本教程根据你的**UI** 和 **Database**偏好有多个版,我们准备了几种可供下载的源码组合: * [MVC (Razor Pages) UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore) +* [Blazor UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore) * [Angular UI 与 MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb) +> 如果你在Windows中遇到 "文件名太长" or "解压错误", 很可能与Windows最大文件路径限制有关. Windows文件路径的最大长度为250字符. 为了解决这个问题,参阅 [在Windows 10中启用长路径](https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd#enable-long-paths-in-windows-10-version-1607-and-later). + +> 如果你遇到与Git相关的长路径错误, 尝试使用下面的命令在Windows中启用长路径. 参阅 https://github.com/msysgit/msysgit/wiki/Git-cannot-create-a-file-or-directory-with-a-long-path +> `git config --system core.longpaths true` + +{{if UI == "MVC" && DB == "EF"}} + +### 视频教程 + +本章也被录制为视频教程 **发布在YouTube**. + +{{end}} + {{if UI == "MVC"}} ## 动态JavaScript代理 -通常在 **JavaScript** 端通过AJAX调用HTTP API端点. 你可以使用 `$.ajax` 或其他工具来调用端点. 但是ABP提供了更好的方法. +在 **JavaScript** 端通过AJAX调用HTTP API端点是常见的做法. 你可以使用 `$.ajax` 或其他工具来调用端点. 但是ABP提供了更好的方法. ABP**动态**为所有API端点创建 **[JavaScript代理](../UI/AspNetCore/Dynamic-JavaScript-Proxies.md)**. 所以你可以像调用**Javascript本地方法**一样使用任何**端点**. @@ -79,21 +77,21 @@ acme.bookStore.books.book.getList({}).done(function (result) { console.log(resul ![bookstore-getlist-result-network](images/bookstore-getlist-result-network.png) -Let's **create a new book** using the `create` function: - 让我们使用 `create` 函数**创建一本书**: ````js -acme.bookStore.books.book.create({ - name: 'Foundation', - type: 7, - publishDate: '1951-05-24', - price: 21.5 - }).then(function (result) { - console.log('successfully created the book with id: ' + result.id); +acme.bookStore.books.book.create({ + name: 'Foundation', + type: 7, + publishDate: '1951-05-24', + price: 21.5 + }).then(function (result) { + console.log('successfully created the book with id: ' + result.id); }); ```` +> 如果你下载了本教程的源代码并按照示例中的步骤操作,你需要传递`authorId`参数给创建方法以**创建一本新书**. + 您应该在控制台中看到类似以下的消息: ````text @@ -102,7 +100,7 @@ successfully created the book with id: 439b0ea8-923e-8e1e-5d97-39f2c7ac4246 检查数据库中的 `Books` 表你会看到新的一行. 你可以自己尝试使用 `get`, `update` 和 `delete` 函数. -我们将利用这些动态代理功能在接下来的章节来与服务器通信. +在接下来的章节,我们将利用这些动态代理函数与服务器通信. {{end}} @@ -112,7 +110,7 @@ successfully created the book with id: 439b0ea8-923e-8e1e-5d97-39f2c7ac4246 本地化文本位于 `Acme.BookStore.Domain.Shared` 项目的 `Localization/BookStore` 文件夹下: -![bookstore-localization-files](./images/bookstore-localization-files-v2.png) +![bookstore-localization-files](images/bookstore-localization-files-v2.png) 打开 `en.json` (*英文翻译*)文件并更改内容,如下所示: @@ -154,7 +152,7 @@ successfully created the book with id: 439b0ea8-923e-8e1e-5d97-39f2c7ac4246 * 为按钮项添加 `Menu:` 前缀. * 使用 `Enum::` 命名约定来本地化枚举成员. 当您这样做时ABP可以在某些适当的情况下自动将枚举本地化. -如果未在本地化文件中定义文本,则文本将**回退**到本地化键(作为ASP.NET Core的标准行为). +如果未在本地化文件中定义文本,则文本将**回退**到本地化键(ASP.NET Core的标准行为). > ABP本地化系统建立在[ASP.NET Core标准本地化](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization)系统之上,并以多种方式进行了扩展. 有关详细信息请参见[本地化文档](../Localization.md). @@ -162,7 +160,7 @@ successfully created the book with id: 439b0ea8-923e-8e1e-5d97-39f2c7ac4246 ## 创建图书页面 -是时候创建可见的和可用的东西了! 代替经典的MVC,我们将使用微软推荐的[Razor Pages UI](https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/razor-pages-start). +是时候创建可见的和可用的东西了! 我们将使用微软推荐的[Razor Pages UI](https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/razor-pages-start),而不是经典的MVC. 在 `Acme.BookStore.Web` 项目的 `Pages` 文件夹下创建一个名为新的 `Books` 的文件夹. 然后在文件夹右键选择 **添加 > Razor Page** 菜单. 输入名称 `Index`: @@ -189,13 +187,13 @@ namespace Acme.BookStore.Web.Pages.Books { public void OnGet() { - + } } } ``` -### 将Book页面添加到主菜单 +### 将图书页面添加到主菜单 打开 `Menus` 文件夹中的 `BookStoreMenuContributor` 类,在 `ConfigureMainMenuAsync` 方法的底部添加如下代码: @@ -223,9 +221,7 @@ context.Menu.AddItem( ### 图书列表 -We will use the [Datatables.net](https://datatables.net/) jQuery library to show the book list. Datatables library completely work via AJAX, it is fast, popular and provides a good user experience. - -我们将使用[Datatables.net](https://datatables.net/)JQuery插件来显示页面上的表格列表. [Datatables](https://datatables.net/)可以完全通过AJAX工作,速度快,并提供良好的用户体验. +我们将使用[Datatables.net](https://datatables.net/)JQuery插件来显示图书列表. [Datatables](https://datatables.net/)可以完全通过AJAX工作,速度快,并提供良好的用户体验. > Datatables插件在启动模板中配置,因此你可以直接在任何页面中使用它,无需在页面中引用样式和脚本文件. @@ -261,7 +257,7 @@ We will use the [Datatables.net](https://datatables.net/) jQuery library to show 在 `Pages/Books/` 文件夹中创建 `index.js`文件 -![bookstore-index-js-file](./images/bookstore-index-js-file-v3.png) +![bookstore-index-js-file](images/bookstore-index-js-file-v3.png) `index.js` 的内容如下: @@ -321,8 +317,8 @@ $(function () { ```` * `abp.localization.getResource` 获取一个函数,该函数用于使用服务器端定义的相同JSON文件对文本进行本地化. 通过这种方式你可以与客户端共享本地化值. -* `abp.libs.datatables.normalizeConfiguration`是另一个辅助方法.不是必须的, 但是它通过为缺少的选项提供常规值来简化数据表配置. -* `abp.libs.datatables.createAjax`是帮助ABP的动态JavaScript API代理跟[Datatable](https://datatables.net/)的格式相适应的辅助方法. +* `abp.libs.datatables.normalizeConfiguration`是一个辅助方法.不是必须的, 但是它通过为缺少的选项提供约定的值来简化[Datatables](https://datatables.net/)配置. +* `abp.libs.datatables.createAjax`是另一个辅助方法,用来适配ABP的动态JavaScript API代理和[Datatable](https://datatables.net/)期望的参数格式. * `acme.bookStore.books.book.getList` 是动态JavaScript代理函数(上面已经介绍过了) * [luxon](https://moment.github.io/luxon/) 库也是该解决方案中预先配置的标准库,你可以轻松地执行日期/时间操作. @@ -334,15 +330,13 @@ $(function () { ![Book list](images/bookstore-book-list-3.png) -这是一个完全正常工作的服务端分页,排序和本地化的图书列表. - -{{end}} +这是一个可以正常工作的,服务端分页,排序和本地化的图书列表. {{if UI == "NG"}} ## 安装NPM包 ->注意: 本教程基于ABP Framework v3.0.3+. 如果你的项目版本较旧,请升级您的解决方案. 如果要升级现有的v2.x项目,请参阅[迁移指南](../UI/Angular/Migration-Guide-v3.md). +>注意: 本教程基于ABP Framework v3.1.0+. 如果你的项目版本较旧,请升级您的解决方案. 如果要升级现有的v2.x项目,请参阅[迁移指南](../UI/Angular/Migration-Guide-v3.md). 在 `angular` 目录下打开命令行窗口,选择 `yarn` 命令安装NPM包: @@ -357,9 +351,7 @@ yarn - [Ng Bootstrap](https://ng-bootstrap.github.io/#/home) 用做UI组件库. - [ngx-datatable](https://swimlane.gitbook.io/ngx-datatable/) 用做 datatable 类库. -### BookModule - -运行以下命令创建一个名为 `BookModule` 的新模块: +运行以下命令在angular应用程序根目录创建一个名为 `BookModule` 的新模块: ```bash yarn ng generate module book --module app --routing --route books @@ -417,7 +409,7 @@ const routes: Routes = [ ]; ```` -现在打开 `src/app/route.provider.ts` 以下替换 `configureRoutes` 函数: +现在打开 `src/app/route.provider.ts` 替换 `configureRoutes` 函数为以下代码: ```js function configureRoutes(routes: RoutesService) { @@ -450,27 +442,31 @@ function configureRoutes(routes: RoutesService) { `RoutesService` 是ABP框架提供的用于配置主菜单和路由的服务. -* `path` 路由的URL. +* `path` 路由的URL. * `name` 菜单项的名称(参阅[本地化文档](../UI/Angular/Localization.md)了解更多). -* `iconClass` 菜单项的图标(你可以使用默认的[Font Awesome](https://fontawesome.com/)图标). -* `order` 菜单项的排序.我们定义了101,它显示在 "Administration" 项的后面. -* `layout` BooksModule路由的布局. 可以定义 `eLayoutType.application`, `eLayoutType.account` 或 `eLayoutType.empty`. +* `iconClass` 菜单项的图标(你可以使用默认的[Font Awesome](https://fontawesome.com/)图标). +* `order` 菜单项的排序. +* `layout` BooksModule路由的布局. (有三个预定义的布局类型: `eLayoutType.application`, `eLayoutType.account` 或 `eLayoutType.empty`). + +更多信息请参阅[RoutesService 文档](../UI/Angular/Modifying-the-Menu.md#via-routesservice). -更多信息请参阅[RoutesService 文档](https://docs.abp.io/en/abp/latest/UI/Angular/Modifying-the-Menu.md#via-routesservice). +### 生成服务代理 -### 生成代理 +[ABP CLI](../CLI.md) 提供 `generate-proxy` 命令为HTTP APIs生成客户端代理.有了这些代理,在客户端使用HTTP APIs变得更加方便. 运行 `generate-proxy` 命令前, 你的 host 必须正在运行. -ABP CLI提供了 `generate-proxy` 命令为你的服务HTTP API生成客户端代理简化客户端使用服务的成本. 运行 `generate-proxy` 命令前你的host必须正在运行. 参阅 [CLI 文档](../CLI.md). +> **警告**: 使用IIS Express时有一个问题; 它不允许从另一个进程连接应用程序. 如果你使用Visual Studio, 在运行按钮的下拉框中选择`Acme.BookStore.HttpApi.Host`,不要选择IIS Express, 如下图: -在 `angular` 文件夹下运行以下命令: +![vs-run-without-iisexpress](images/vs-run-without-iisexpress.png) + +启动host应用程序后,在 `angular` 文件夹下运行以下命令: ```bash abp generate-proxy ``` -生成的文件如下: +这个命令将在`/src/app/proxy/books`文件夹下产生以下文件: -![Generated files](./images/generated-proxies-2.png) +![Generated files](images/generated-proxies-3.png) ### BookComponent @@ -479,8 +475,7 @@ abp generate-proxy ```js import { ListService, PagedResultDto } from '@abp/ng.core'; import { Component, OnInit } from '@angular/core'; -import { BookDto } from './models'; -import { BookService } from './services'; +import { BookService, BookDto } from '@proxy/books'; @Component({ selector: 'app-book', @@ -494,7 +489,7 @@ export class BookComponent implements OnInit { constructor(public readonly list: ListService, private bookService: BookService) {} ngOnInit() { - const bookStreamCreator = (query) => this.bookService.getListByInput(query); + const bookStreamCreator = (query) => this.bookService.getList(query); this.list.hookToQuery(bookStreamCreator).subscribe((response) => { this.book = response; @@ -503,8 +498,8 @@ export class BookComponent implements OnInit { } ``` -* 我们注入了生成的 `BookService`. -* 我们实现了 [ListService](https://docs.abp.io/en/abp/latest/UI/Angular/List-Service),它是一个公用服务,提供了简单的分页,排序和搜索. +* 我们引入并注入了生成的 `BookService`. +* 我们使用 [ListService](../UI/Angular/List-Service.md),它是一个工具服务,提供了易用的分页,排序和搜索. 打开 `/src/app/book/book.component.html` 用以下内容替换它: @@ -545,9 +540,138 @@ export class BookComponent implements OnInit { 现在你可以在浏览器看到最终结果: -![Book list final result](./images/bookstore-book-list.png) +![图书列表最终结果](images/bookstore-book-list.png) -{{end}} +{{else if UI == "Blazor" || UI == "BlazorServer"}} + +## 创建图书页面 + +是时候创建可见和可用的东西了! 右击`Acme.BookStore.Blazor`项目下的`Pages`文件夹,新建一个名为`Books.razor`的**razor组件**. + +![blazor-add-books-component](images/blazor-add-books-component.png) + +用以下内容替换这个组件的内容: + +````html +@page "/books" + +

Books

+ +@code { + +} +```` + +### 将图书页面添加到主菜单 + +打开`Blazor`项目中的`BookStoreMenuContributor`类,在 `ConfigureMainMenuAsync` 方法的底部添加如下代码: + +````csharp +context.Menu.AddItem( + new ApplicationMenuItem( + "BooksStore", + l["Menu:BookStore"], + icon: "fa fa-book" + ).AddItem( + new ApplicationMenuItem( + "BooksStore.Books", + l["Menu:Books"], + url: "/books" + ) + ) +); +```` + +运行项目,使用用户名 `admin` 和密码 `1q2w3E*` 登录到应用程序. 看到新菜单项已添加到顶部栏: + +![blazor-menu-bookstore](images/blazor-menu-bookstore.png) + +点击BookStore下的Books子菜单项就会跳转到空的图书页面. + +### 图书列表 + +我们将使用[Blazorise library](https://blazorise.com/)作为UI组件.它是一个强大的库,支持主要的HTML/CSS框架,包括Bootstrap. + +ABP提供了一个通用的基类,`AbpCrudPageBase<...>`,用来创建CRUD风格的页面.这个基类兼容用来构建`IBookAppService`的`ICrudAppService`.所以我们从`AbpCrudPageBase`继承,获得标准CRUD的默认实现. + +打开`Books.razor` 并把内容修改成下面这样: + +````xml +@page "/books" +@using Volo.Abp.Application.Dtos +@using Acme.BookStore.Books +@using Acme.BookStore.Localization +@using Microsoft.Extensions.Localization +@inject IStringLocalizer L +@inherits AbpCrudPageBase + + + +

@L["Books"]

+
+ + + + + + + @L[$"Enum:BookType:{(int)context.Type}"] + + + + + @context.PublishDate.ToShortDateString() + + + + + + + @context.CreationTime.ToLongDateString() + + + + + +
+```` + +> 如果你可以编译并运行成功,但看到一些语法错误.你可以忽略这些错误,因为Visual Studio处理Blazor还有一些bug. + +* `AbpCrudPageBase`实现了所有的CRUD细节,我们从它继承. +* `Entities`, `TotalCount`, `PageSize`, `OnDataGridReadAsync`定义在基类中. +* 注入`IStringLocalizer` (作为`L`对象),用于本地化. + +虽然上面的代码非常容易理解,你仍然可以查看Blazorise [Card](https://blazorise.com/docs/components/card/)和[DataGrid](https://blazorise.com/docs/extensions/datagrid/)文档以更好地理解它们. + +#### 关于AbpCrudPageBase + +对于图书页面,我们将持续从`AbpCrudPageBase`获得益处. 你可以只注入`IBookAppService`并自己执行所有的服务端调用(感谢ABP的[动态C# HTTP API客户端代理](../API/Dynamic-CSharp-API-Clients.md)系统). + +## 运行最终应用程序 + +你可以运行应用程序!该部分的最终用户界面如下所示: + +![blazor-bookstore-book-list](images/blazor-bookstore-book-list.png) + +这是一个可以正常工作的,服务端分页,排序和本地化的图书列表. + +{{end # UI }} ## 下一章 diff --git a/docs/zh-Hans/Tutorials/images/blazor-add-books-component.png b/docs/zh-Hans/Tutorials/images/blazor-add-books-component.png new file mode 100644 index 0000000000000000000000000000000000000000..ec0412d31ecf79ada3578add9c7d5e28ee21979c GIT binary patch literal 19010 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

d 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/blazor-menu-bookstore.png b/docs/zh-Hans/Tutorials/images/blazor-menu-bookstore.png new file mode 100644 index 0000000000000000000000000000000000000000..f9f334aa1d53d66094fd5ffe7a498d83b45a95f3 GIT binary patch literal 7754 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 P$$<~z@?zy81_A#AY)0!* literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/vs-run-without-iisexpress.png b/docs/zh-Hans/Tutorials/images/vs-run-without-iisexpress.png new file mode 100644 index 0000000000000000000000000000000000000000..03c30e2b481c95d102f6aaf1cdbd5348d7d64b3d GIT binary patch literal 13760 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 Date: Tue, 21 Dec 2021 20:44:11 +0800 Subject: [PATCH 16/26] Add comment when outputFolder is null --- .../Abp/Cli/Commands/Services/ConnectionStringProvider.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/ConnectionStringProvider.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/ConnectionStringProvider.cs index e4c5394a60..f6a749f05d 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/ConnectionStringProvider.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/Services/ConnectionStringProvider.cs @@ -1,4 +1,5 @@ -using System.IO; +using System; +using System.IO; using Volo.Abp.Cli.ProjectBuilding.Building; using Volo.Abp.DependencyInjection; @@ -21,7 +22,8 @@ namespace Volo.Abp.Cli.Commands.Services case DatabaseManagementSystem.OracleDevart: return "Data Source=MyProjectName;Integrated Security=yes;"; case DatabaseManagementSystem.SQLite: - return $"Data Source={Path.Combine(outputFolder, "MyProjectName.db")};".Replace("\\", "\\\\"); + var comment = outputFolder.IsNullOrWhiteSpace() ? "//You need to change to an absolute filename" : string.Empty; + return $"Data Source={Path.Combine(outputFolder, "MyProjectName.db")};".Replace("\\", "\\\\") + comment; default: return null; } From d8da40a023107454cb0114cc4b6562b914cb2741 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 22 Dec 2021 08:28:14 +0800 Subject: [PATCH 17/26] Update Part-2.md --- docs/zh-Hans/Tutorials/Part-2.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/zh-Hans/Tutorials/Part-2.md b/docs/zh-Hans/Tutorials/Part-2.md index fcb28afb23..fe0dd84c45 100644 --- a/docs/zh-Hans/Tutorials/Part-2.md +++ b/docs/zh-Hans/Tutorials/Part-2.md @@ -28,7 +28,7 @@ ## 下载源码 -本教程根据你的**UI** 和 **Database**偏好有多个版,我们准备了几种可供下载的源码组合: +本教程根据你的**UI** 和 **数据库**偏好有多个版本,我们准备了几种可供下载的源码组合: * [MVC (Razor Pages) UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore) * [Blazor UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore) @@ -317,7 +317,7 @@ $(function () { ```` * `abp.localization.getResource` 获取一个函数,该函数用于使用服务器端定义的相同JSON文件对文本进行本地化. 通过这种方式你可以与客户端共享本地化值. -* `abp.libs.datatables.normalizeConfiguration`是一个辅助方法.不是必须的, 但是它通过为缺少的选项提供约定的值来简化[Datatables](https://datatables.net/)配置. +* `abp.libs.datatables.normalizeConfiguration`是一个辅助方法.不是必须的, 但是它通过为缺省的选项提供约定的值来简化[Datatables](https://datatables.net/)配置. * `abp.libs.datatables.createAjax`是另一个辅助方法,用来适配ABP的动态JavaScript API代理和[Datatable](https://datatables.net/)期望的参数格式. * `acme.bookStore.books.book.getList` 是动态JavaScript代理函数(上面已经介绍过了) * [luxon](https://moment.github.io/luxon/) 库也是该解决方案中预先配置的标准库,你可以轻松地执行日期/时间操作. @@ -461,7 +461,7 @@ function configureRoutes(routes: RoutesService) { 启动host应用程序后,在 `angular` 文件夹下运行以下命令: ```bash -abp generate-proxy +abp generate-proxy -t ng ``` 这个命令将在`/src/app/proxy/books`文件夹下产生以下文件: From 30ad48c5c73e5ea6f7543938b2c186c21e402b4b Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 22 Dec 2021 08:28:42 +0800 Subject: [PATCH 18/26] Update Part-2.md --- docs/en/Tutorials/Part-2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Tutorials/Part-2.md b/docs/en/Tutorials/Part-2.md index 21fa94c446..4b29231164 100644 --- a/docs/en/Tutorials/Part-2.md +++ b/docs/en/Tutorials/Part-2.md @@ -461,7 +461,7 @@ For more information, see the [RoutesService document](../UI/Angular/Modifying-t Once the host application is running, execute the following command in the `angular` folder: ```bash -abp generate-proxy +abp generate-proxy -t ng ``` This command will create the following files under the `/src/app/proxy/books` folder: From 59aa84abdb9c9cc8a6d59ed91b06e5ef27497cba Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 22 Dec 2021 10:53:56 +0800 Subject: [PATCH 19/26] Update document --- docs/en/Tutorials/Part-10.md | 2 +- docs/en/Tutorials/Part-2.md | 2 +- docs/en/Tutorials/Part-9.md | 2 +- docs/en/UI/Angular/Service-Proxies.md | 2 +- docs/zh-Hans/Tutorials/Part-2.md | 2 +- docs/zh-Hans/Tutorials/Todo/Index.md | 2 +- docs/zh-Hans/UI/Angular/Service-Proxies.md | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/en/Tutorials/Part-10.md b/docs/en/Tutorials/Part-10.md index 5d5ea9618b..563de95d68 100644 --- a/docs/en/Tutorials/Part-10.md +++ b/docs/en/Tutorials/Part-10.md @@ -948,7 +948,7 @@ Since the HTTP APIs have been changed, you need to update Angular client side [s Run the following command in the `angular` folder (you may need to stop the angular application): ```bash -abp generate-proxy +abp generate-proxy -t ng ``` This command will update the service proxy files under the `/src/app/proxy/` folder. diff --git a/docs/en/Tutorials/Part-2.md b/docs/en/Tutorials/Part-2.md index b84ece9e97..7c8efde9d0 100644 --- a/docs/en/Tutorials/Part-2.md +++ b/docs/en/Tutorials/Part-2.md @@ -461,7 +461,7 @@ For more information, see the [RoutesService document](../UI/Angular/Modifying-t Once the host application is running, execute the following command in the `angular` folder: ```bash -abp generate-proxy +abp generate-proxy -t ng ``` This command will create the following files under the `/src/app/proxy/books` folder: diff --git a/docs/en/Tutorials/Part-9.md b/docs/en/Tutorials/Part-9.md index d6fa004596..0e271a5e4e 100644 --- a/docs/en/Tutorials/Part-9.md +++ b/docs/en/Tutorials/Part-9.md @@ -605,7 +605,7 @@ function configureRoutes(routes: RoutesService) { Run the following command in the `angular` folder: ```bash -abp generate-proxy +abp generate-proxy -t ng ``` This command generates the service proxy for the author service and the related model (DTO) classes: diff --git a/docs/en/UI/Angular/Service-Proxies.md b/docs/en/UI/Angular/Service-Proxies.md index 18e5a3a0cc..dc8433f7de 100644 --- a/docs/en/UI/Angular/Service-Proxies.md +++ b/docs/en/UI/Angular/Service-Proxies.md @@ -15,7 +15,7 @@ ABP introduces an endpoint that exposes server-side method contracts. When the ` Run the following command in the **root folder** of the angular application: ```bash -abp generate-proxy +abp generate-proxy -t ng ``` The command without any parameters creates proxies only for your own application's services and places them in your default Angular application. There are several parameters you may use to modify this behavior. See the [CLI documentation](../../CLI) for details. diff --git a/docs/zh-Hans/Tutorials/Part-2.md b/docs/zh-Hans/Tutorials/Part-2.md index decddfebff..231ca226fa 100644 --- a/docs/zh-Hans/Tutorials/Part-2.md +++ b/docs/zh-Hans/Tutorials/Part-2.md @@ -465,7 +465,7 @@ ABP CLI提供了 `generate-proxy` 命令为你的服务HTTP API生成客户端 在 `angular` 文件夹下运行以下命令: ```bash -abp generate-proxy +abp generate-proxy -t ng ``` 生成的文件如下: diff --git a/docs/zh-Hans/Tutorials/Todo/Index.md b/docs/zh-Hans/Tutorials/Todo/Index.md index d940957c18..2200bf23e6 100644 --- a/docs/zh-Hans/Tutorials/Todo/Index.md +++ b/docs/zh-Hans/Tutorials/Todo/Index.md @@ -682,7 +682,7 @@ ABP提供了一个便捷的功能来自动创建客户端服务, 以方便地使 当启动 `TodoApp.HttpApi.Host` 项目后, 在`angular`文件夹中打开一个命令行终端并输入以下命令: ````bash -abp generate-proxy +abp generate-proxy -t ng ```` 如果一切顺利, 它应该生成如下输出: diff --git a/docs/zh-Hans/UI/Angular/Service-Proxies.md b/docs/zh-Hans/UI/Angular/Service-Proxies.md index 2824bc44a7..cc07a24175 100644 --- a/docs/zh-Hans/UI/Angular/Service-Proxies.md +++ b/docs/zh-Hans/UI/Angular/Service-Proxies.md @@ -15,7 +15,7 @@ ABP CLI 的`generate-proxies` 命令在 `src/app` 文件夹中创建按模块名 在angular应用程序的**根文件夹**中运行以下命令: ```bash -abp generate-proxy +abp generate-proxy -t ng ``` 它只为你自己的应用程序的服务创建代理. 不会为你正在使用的应用程序模块的服务创建代理(默认情况下). 有几个选项,参见[CLI文档](../../CLI). From d3cc2dde4bd335be0655eeb0d34778221f7cbca8 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 22 Dec 2021 15:28:39 +0800 Subject: [PATCH 20/26] Update Devart.Data.Oracle for .NET6 --- .../Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj | 4 ++-- nupkg/common.ps1 | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj b/framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj index a3021984d2..918ac8ddf3 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj +++ b/framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart/Volo.Abp.EntityFrameworkCore.Oracle.Devart.csproj @@ -19,8 +19,8 @@ - - + + diff --git a/nupkg/common.ps1 b/nupkg/common.ps1 index e173a913c2..fbcbae15dd 100644 --- a/nupkg/common.ps1 +++ b/nupkg/common.ps1 @@ -136,7 +136,7 @@ $projects = ( "framework/src/Volo.Abp.EntityFrameworkCore", "framework/src/Volo.Abp.EntityFrameworkCore.MySQL", "framework/src/Volo.Abp.EntityFrameworkCore.Oracle", - # "framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart", + "framework/src/Volo.Abp.EntityFrameworkCore.Oracle.Devart", "framework/src/Volo.Abp.EntityFrameworkCore.PostgreSql", "framework/src/Volo.Abp.EntityFrameworkCore.Sqlite", "framework/src/Volo.Abp.EntityFrameworkCore.SqlServer", From c02a2844ed28fb0d97bf6168143166b000daf272 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Wed, 22 Dec 2021 12:21:52 +0300 Subject: [PATCH 21/26] Refactor GetHostingEnvironment --- .../AbpAspNetCoreServiceCollectionExtensions.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/AbpAspNetCoreServiceCollectionExtensions.cs b/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/AbpAspNetCoreServiceCollectionExtensions.cs index d672952b09..41f0a16167 100644 --- a/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/AbpAspNetCoreServiceCollectionExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/AbpAspNetCoreServiceCollectionExtensions.cs @@ -8,7 +8,9 @@ namespace Microsoft.Extensions.DependencyInjection { public static IWebHostEnvironment GetHostingEnvironment(this IServiceCollection services) { - if (!services.Any(d => d.ServiceType == typeof(IWebHostEnvironment))) + var hostingEnvironment = services.GetSingletonInstanceOrNull(); + + if (hostingEnvironment == null) { return new EmptyHostingEnvironment() { @@ -16,7 +18,7 @@ namespace Microsoft.Extensions.DependencyInjection }; } - return services.GetSingletonInstance(); + return hostingEnvironment; } } } From 8df90cefb860b5ff0d46543d01439ba81adf089c Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Thu, 23 Dec 2021 12:10:49 +0800 Subject: [PATCH 22/26] Update DistEventsDemo --- .../DistDemoApp.Shared/DistDemoApp.Shared.csproj | 2 +- .../DistDemoApp.Shared/DistDemoAppSharedModule.cs | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/test/DistEvents/DistDemoApp.Shared/DistDemoApp.Shared.csproj b/test/DistEvents/DistDemoApp.Shared/DistDemoApp.Shared.csproj index 4f5cb8ad84..f43d82dd19 100644 --- a/test/DistEvents/DistDemoApp.Shared/DistDemoApp.Shared.csproj +++ b/test/DistEvents/DistDemoApp.Shared/DistDemoApp.Shared.csproj @@ -17,7 +17,7 @@ - + diff --git a/test/DistEvents/DistDemoApp.Shared/DistDemoAppSharedModule.cs b/test/DistEvents/DistDemoApp.Shared/DistDemoAppSharedModule.cs index 138b64f567..936264e828 100644 --- a/test/DistEvents/DistDemoApp.Shared/DistDemoAppSharedModule.cs +++ b/test/DistEvents/DistDemoApp.Shared/DistDemoAppSharedModule.cs @@ -5,7 +5,7 @@ using StackExchange.Redis; using Volo.Abp.Autofac; using Volo.Abp.Domain; using Volo.Abp.Domain.Entities.Events.Distributed; -using Volo.Abp.EventBus.Boxes; +using Volo.Abp.EventBus; using Volo.Abp.Modularity; namespace DistDemoApp @@ -13,8 +13,8 @@ namespace DistDemoApp [DependsOn( typeof(AbpAutofacModule), typeof(AbpDddDomainModule), - typeof(AbpEventBusBoxesModule) - )] + typeof(AbpEventBusModule) + )] public class DistDemoAppSharedModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) @@ -28,7 +28,7 @@ namespace DistDemoApp options.EtoMappings.Add(); options.AutoEventSelectors.Add(); }); - + context.Services.AddSingleton(sp => { var connection = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]); @@ -36,4 +36,4 @@ namespace DistDemoApp }); } } -} \ No newline at end of file +} From 1f3c7bf06befc93cdb47617109548dfd70d829e9 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 23 Dec 2021 13:43:50 +0800 Subject: [PATCH 23/26] Add `UniqueName` claim to the iidentity. --- .../Volo/Abp/IdentityServer/AbpClaimsService.cs | 2 ++ .../IdentityServer/AspNetIdentity/AbpUserClaimsFactory.cs | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AbpClaimsService.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AbpClaimsService.cs index a977afd2e9..4e9dc40299 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AbpClaimsService.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AbpClaimsService.cs @@ -5,6 +5,7 @@ using IdentityModel; using IdentityServer4.Services; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; +using Microsoft.IdentityModel.JsonWebTokens; using Volo.Abp.Security.Claims; namespace Volo.Abp.IdentityServer @@ -20,6 +21,7 @@ namespace Volo.Abp.IdentityServer AbpClaimTypes.ImpersonatorUserId, AbpClaimTypes.Name, AbpClaimTypes.SurName, + JwtRegisteredClaimNames.UniqueName, JwtClaimTypes.PreferredUserName, JwtClaimTypes.GivenName, JwtClaimTypes.FamilyName, diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpUserClaimsFactory.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpUserClaimsFactory.cs index 219cb943d8..28c57c975c 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpUserClaimsFactory.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/AspNetIdentity/AbpUserClaimsFactory.cs @@ -5,6 +5,7 @@ using System.Security.Principal; using System.Threading.Tasks; using IdentityModel; using Microsoft.AspNetCore.Identity; +using Microsoft.IdentityModel.JsonWebTokens; using Volo.Abp.DependencyInjection; using IdentityUser = Volo.Abp.Identity.IdentityUser; @@ -41,6 +42,10 @@ namespace Volo.Abp.IdentityServer.AspNetIdentity { identity.RemoveClaim(usernameClaim); identity.AddIfNotContains(new Claim(JwtClaimTypes.PreferredUserName, username)); + + //https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues/1627 + //https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/05e02b5e0383be40e45c667c12f6667d38e33fcc/src/System.IdentityModel.Tokens.Jwt/ClaimTypeMapping.cs#L52 + identity.AddIfNotContains(new Claim(JwtRegisteredClaimNames.UniqueName, username)); } if (!identity.HasClaim(x => x.Type == JwtClaimTypes.Name)) From 28aa4f71de32279c37d1b4bf485092e8ef28df5d Mon Sep 17 00:00:00 2001 From: Luke Ni Date: Thu, 23 Dec 2021 19:21:04 +0800 Subject: [PATCH 24/26] translate to zh-Hans --- docs/zh-Hans/Tutorials/Part-3.md | 600 +++++++++++++++--- .../images/blazor-add-book-button.png | Bin 0 -> 8810 bytes .../images/blazor-delete-book-action.png | Bin 0 -> 73024 bytes .../images/blazor-edit-book-action-2.png | Bin 0 -> 97829 bytes .../images/blazor-edit-book-modal.png | Bin 0 -> 27492 bytes .../images/blazor-new-book-modal.png | Bin 0 -> 40416 bytes 6 files changed, 506 insertions(+), 94 deletions(-) create mode 100644 docs/zh-Hans/Tutorials/images/blazor-add-book-button.png create mode 100644 docs/zh-Hans/Tutorials/images/blazor-delete-book-action.png create mode 100644 docs/zh-Hans/Tutorials/images/blazor-edit-book-action-2.png create mode 100644 docs/zh-Hans/Tutorials/images/blazor-edit-book-modal.png create mode 100644 docs/zh-Hans/Tutorials/images/blazor-new-book-modal.png diff --git a/docs/zh-Hans/Tutorials/Part-3.md b/docs/zh-Hans/Tutorials/Part-3.md index 90dd1326c3..6a9740730d 100644 --- a/docs/zh-Hans/Tutorials/Part-3.md +++ b/docs/zh-Hans/Tutorials/Part-3.md @@ -2,27 +2,10 @@ ````json //[doc-params] { - "UI": ["MVC","NG"], + "UI": ["MVC","Blazor","BlazorServer","NG"], "DB": ["EF","Mongo"] } ```` -{{ -if UI == "MVC" - UI_Text="mvc" -else if UI == "NG" - UI_Text="angular" -else - UI_Text="?" -end -if DB == "EF" - DB_Text="Entity Framework Core" -else if DB == "Mongo" - DB_Text="MongoDB" -else - DB_Text="?" -end -}} - ## 关于本教程 在本系列教程中, 你将构建一个名为 `Acme.BookStore` 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发的: @@ -45,16 +28,30 @@ end ## 下载源码 -本教程根据你的**UI** 和 **Database**偏好有多个版,我们准备了两种可供下载的源码组合: +本教程根据你的**UI** 和 **数据库**偏好有多个版本,我们准备了几种可供下载的源码组合: * [MVC (Razor Pages) UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore) +* [Blazor UI 与 EF Core](https://github.com/abpframework/abp-samples/tree/master/BookStore-Blazor-EfCore) * [Angular UI 与 MongoDB](https://github.com/abpframework/abp-samples/tree/master/BookStore-Angular-MongoDb) +> 如果你在Windows中遇到 "文件名太长" or "解压错误", 很可能与Windows最大文件路径限制有关. Windows文件路径的最大长度为250字符. 为了解决这个问题,参阅 [在Windows 10中启用长路径](https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd#enable-long-paths-in-windows-10-version-1607-and-later). + +> 如果你遇到与Git相关的长路径错误, 尝试使用下面的命令在Windows中启用长路径. 参阅 https://github.com/msysgit/msysgit/wiki/Git-cannot-create-a-file-or-directory-with-a-long-path +> `git config --system core.longpaths true` + +{{if UI == "MVC" && DB == "EF"}} + +### 视频教程 + +本章也被录制为视频教程 **发布在YouTube**. + +{{end}} + {{if UI == "MVC"}} ## 创建新书籍 -通过本节, 你将会了解如何创建一个 modal form 来实现新增书籍的功能. 最终成果如下图所示: +通过本节, 你将会了解如何创建一个 modal form 实现新增书籍的功能. model dialog将如下图所示: ![bookstore-create-dialog](./images/bookstore-create-dialog-2.png) @@ -66,7 +63,7 @@ end #### CreateModal.cshtml.cs -打开 `CreateModal.cshtml.cs` 代码文件,用如下代码替换 `CreateModalModel` 类的实现: +打开 `CreateModal.cshtml.cs` 代码文件(`CreateModalModel` 类),替换成以下代码: ````C# using System.Threading.Tasks; @@ -101,10 +98,10 @@ namespace Acme.BookStore.Web.Pages.Books } ```` -* 该类派生于 `BookStorePageModel` 而非默认的 `PageModel`. `BookStorePageModel` 继承了 `PageModel` 并且添加了一些可以被你的page model类使用的通用属性和方法. +* 该类派生于 `BookStorePageModel` 而非默认的 `PageModel`. `BookStorePageModel` 间接继承了 `PageModel` 并且添加了一些可以被你的page model类使用的通用属性和方法. * `Book` 属性上的 `[BindProperty]` 特性将post请求提交上来的数据绑定到该属性上. * 该类通过构造函数注入了 `IBookAppService` 应用服务,并且在 `OnPostAsync` 处理程序中调用了服务的 `CreateAsync` 方法. -* 它在 `OnGet` 方法中创建一个新的 `CreateUpdateBookDto` 对象。 ASP.NET Core不需要像这样创建一个新实例就可以正常工作. 但是它不会为你创建实例,并且如果你的类在类构造函数中具有一些默认值分配或代码执行,它们将无法工作. 对于这种情况,我们为某些 `CreateUpdateBookDto` 属性设置了默认值. +* 它在 `OnGet` 方法中创建一个新的 `CreateUpdateBookDto` 对象。 ASP.NET Core不需要像这样创建一个新实例就可以正常工作. 但是它不会为你创建实例,并且如果你的类在类构造函数中赋值一些默认值或执行一些代码,它们将无法工作. 对于这种情况,我们为某些 `CreateUpdateBookDto` 属性设置了默认值. #### CreateModal.cshtml @@ -134,10 +131,9 @@ namespace Acme.BookStore.Web.Pages.Books * 这个 modal 使用 `abp-dynamic-form` [tag Helper](../UI/AspNetCore/Tag-Helpers/Dynamic-Forms.md) 根据 `CreateBookViewModel` 类自动构建了表单. * `abp-model` 指定了 `Book` 属性为模型对象. -* `data-ajaxForm` 设置了表单通过AJAX提交,而不是经典的页面回发. * `abp-form-content` tag helper 作为表单控件渲染位置的占位符 (这是可选的,只有你在 `abp-dynamic-form` 中像本示例这样添加了其他内容才需要). -> 提示: 就像在本示例中一样,`Layout` 应该为 `null`,因为当通过AJAX加载模态时,我们不希望包括所有布局. +> 提示: 就像在本示例中一样,`Layout` 应该为 `null`,因为当通过AJAX加载模态窗口时,我们不希望包括所有布局. ### 添加 "New book" 按钮 @@ -195,9 +191,9 @@ namespace Acme.BookStore.Web.Pages.Books 如下图所示,只是在表格 **右上方** 添加了 **New book** 按钮: -![bookstore-new-book-button](./images/bookstore-new-book-button-2.png) +![bookstore-new-book-button](images/bookstore-new-book-button-2.png) -打开 `Pages/book/index.js` 在 `datatable` 配置代码后面添加如下代码: +打开 `Pages/Book/Index.js` 在 `datatable` 配置代码后面添加如下代码: ````js var createModal = new abp.ModalManager(abp.appPath + 'Books/CreateModal'); @@ -212,9 +208,9 @@ $('#NewBookButton').click(function (e) { }); ```` -* `abp.ModalManager` 是一个在客户端打开和管理modal的辅助类.它基于Twitter Bootstrap的标准modal组件通过简化的API抽象隐藏了许多细节. +* `abp.ModalManager` 是一个在客户端管理modal的辅助类.它内部使用了Twitter Bootstrap的标准modal组件,但通过简化的API抽象了许多细节. * `createModal.onResult(...)` 用于在创建书籍后刷新数据表格. -* `createModal.open();` 用于打开模态创建新书籍. +* `createModal.open();` 用于打开modal创建新书籍. `Index.js` 的内容最终如下所示: @@ -335,8 +331,8 @@ namespace Acme.BookStore.Web.Pages.Books } ```` -* `[HiddenInput]` 和 `[BindProperty]` 是标准的 ASP.NET Core MVC 特性.这里启用 `SupportsGet` 从Http请求的查询字符串中获取Id的值. -* 在 `OnGetAsync` 方法中,将 `BookAppService.GetAsync` 方法返回的 `BookDto` 映射成 `CreateUpdateBookDto` 并赋值给Book属性. +* `[HiddenInput]` 和 `[BindProperty]` 是标准的 ASP.NET Core MVC 特性.这里启用 `SupportsGet` 从Http请求的查询字符串参数中获取Id的值. +* 在 `OnGetAsync` 方法中, 我们从 `BookAppService` 获得 `BookDto` ,并将它映射成DTO对象 `CreateUpdateBookDto`. * `OnPostAsync` 方法直接使用 `BookAppService.UpdateAsync` 来更新实体. ### BookDto 到 CreateUpdateBookDto 对象映射 @@ -391,10 +387,10 @@ namespace Acme.BookStore.Web 这个页面内容和 `CreateModal.cshtml` 非常相似,除了以下几点: -* 它包含`id`属性的`abp-input`, 用于存储编辑书的 `id` (它是隐藏的Input) +* 它包含`id`属性的`abp-input`, 用于存储被编辑书籍的 `id` (它是隐藏的Input) * 此页面指定的post地址是`Books/EditModal`. -### 为表格添加 "操作(Actions)" 下拉菜单 +### 为表格添加 "操作(Actions)" 下拉菜单 我们将为表格每行添加下拉按钮 ("Actions"): @@ -516,9 +512,9 @@ $(function () { } ```` -* `confirmMessage` 用来在实际执行 `action` 之前向用户进行确认. -* 通过javascript代理方法 `acme.bookStore.books.book.delete(...)` 执行一个AJAX请求来删除一个book实体. -* `abp.notify.info` 用来在执行删除操作后显示一个toastr通知信息. +* `confirmMessage` 执行 `action` 前向用户进行确认. +* `acme.bookStore.books.book.delete(...)` 执行一个AJAX请求删除一个book. +* `abp.notify.info` 执行删除操作后显示一个通知信息. 由于我们使用了两个新的本地化文本(`BookDeletionConfirmationMessage`和`SuccesslyDeleted`),因此你需要将它们添加到本地化文件(`Acme.BookStore.Domain.Shared`项目的`Localization/BookStore`文件夹下的`en.json`): @@ -640,7 +636,7 @@ $(function () { ## 创建新书籍 -下面的章节中,你将学习到如何创建一个新的模态对话框来新增书籍. +下面的章节中,你将学习到如何创建一个新的模态窗口新增书籍. ### BookComponent @@ -649,8 +645,7 @@ $(function () { ```js import { ListService, PagedResultDto } from '@abp/ng.core'; import { Component, OnInit } from '@angular/core'; -import { BookDto } from './models'; -import { BookService } from './services'; +import { BookService, BookDto } from '@proxy/books'; @Component({ selector: 'app-book', @@ -666,7 +661,7 @@ export class BookComponent implements OnInit { constructor(public readonly list: ListService, private bookService: BookService) {} ngOnInit() { - const bookStreamCreator = (query) => this.bookService.getListByInput(query); + const bookStreamCreator = (query) => this.bookService.getList(query); this.list.hookToQuery(bookStreamCreator).subscribe((response) => { this.book = response; @@ -680,7 +675,8 @@ export class BookComponent implements OnInit { } ``` -* 我们定义了一个名为 `isModalOpen` 的变量和 `createBook` 方法. +* 我们定义了一个名为 `isModalOpen` 的属性和 `createBook` 方法. + 打开 `/src/app/book/book.component.html` 做以下更改: @@ -690,9 +686,9 @@ export class BookComponent implements OnInit {

{%{{{ '::Menu:Books' | abpLocalization }}}%}
-
+
- +
- +
@@ -726,11 +722,11 @@ export class BookComponent implements OnInit { ``` * 添加了 `New book` 按钮到卡片头部. -* 添加了 `abp-modal` 渲染模态框,允许用户创建新书. `abp-modal` 是显示模态框的预构建组件. 你也可以使用其它方法显示模态框,但 `abp-modal` 提供了一些附加的好处. +* 添加了 `abp-modal` 渲染模态框,允许用户创建新书. `abp-modal` 是显示模态框的预构建组件. 你也可以使用其它方法显示模态框,但 `abp-modal` 提供了一些额外的好处. 你可以打开浏览器,点击**New book**按钮看到模态框. -![Empty modal for new book](./images/bookstore-empty-new-book-modal.png) +![Empty modal for new book](images/bookstore-empty-new-book-modal.png) ### 添加响应式表单 @@ -741,8 +737,7 @@ export class BookComponent implements OnInit { ```js import { ListService, PagedResultDto } from '@abp/ng.core'; import { Component, OnInit } from '@angular/core'; -import { BookDto, BookType } from './models'; // add BookType -import { BookService } from './services'; +import { BookService, BookDto, bookTypeOptions } from '@proxy/books'; // add bookTypeOptions import { FormGroup, FormBuilder, Validators } from '@angular/forms'; // add this @Component({ @@ -756,12 +751,8 @@ export class BookComponent implements OnInit { form: FormGroup; // add this line - bookType = BookType; // add this line - // add bookTypes as a list of BookType enum members - bookTypes = Object.keys(this.bookType).filter( - (key) => typeof this.bookType[key] === 'number' - ); + bookTypes = bookTypeOptions; isModalOpen = false; @@ -772,7 +763,7 @@ export class BookComponent implements OnInit { ) {} ngOnInit() { - const bookStreamCreator = (query) => this.bookService.getListByInput(query); + const bookStreamCreator = (query) => this.bookService.getList(query); this.list.hookToQuery(bookStreamCreator).subscribe((response) => { this.book = response; @@ -800,7 +791,7 @@ export class BookComponent implements OnInit { return; } - this.bookService.createByInput(this.form.value).subscribe(() => { + this.bookService.create(this.form.value).subscribe(() => { this.isModalOpen = false; this.form.reset(); this.list.get(); @@ -809,12 +800,11 @@ export class BookComponent implements OnInit { } ``` -* 导入了 `FormGroup, FormBuilder and Validators`. +* 从` @angular/forms `导入了 `FormGroup, FormBuilder and Validators`. * 添加了 `form: FormGroup` 变量. -* 添加了 `bookType` 属性,你可以从模板中获取 `BookType` 枚举成员. * 添加了 `bookTypes` 属性作为 `BookType` 枚举成员列表. 将在表单选项中使用. -* 我们注入了 `fb: FormBuilder` 服务到构造函数. [FormBuilder](https://angular.io/api/forms/FormBuilder) 服务为生成控件提供了方便的方法. 它减少了构建复杂表单所需的样板文件的数量. -* 我们添加了 `buildForm` 方法到文件末尾, 在 `createBook` 方法调用 `buildForm()` 方法. 该方法创建一个响应式表单去创建新书. +* 我们注入了 `FormBuilder` 到构造函数. [FormBuilder](https://angular.io/api/forms/FormBuilder) 提供了简便的方法生成表单控件. 它减少了构建复杂表单所需的样板文件的数量. +* 我们添加了 `buildForm` 方法到文件末尾, 在 `createBook` 方法调用 `buildForm()` 方法. * 添加了`save` 方法. 打开 `/src/app/book/book.component.html`,使用以下内容替换 ` `: @@ -836,7 +826,7 @@ export class BookComponent implements OnInit { * @@ -897,13 +887,12 @@ export class BookModule { } * 我们导入了 `NgbDatepickerModule` 来使用日期选择器. -打开 `/src/app/book/book.component.ts` 使用以内内容替换: +打开 `/src/app/book/book.component.ts` 使用以下内容替换: ```js import { ListService, PagedResultDto } from '@abp/ng.core'; import { Component, OnInit } from '@angular/core'; -import { BookDto, BookType } from './models'; -import { BookService } from './services'; +import { BookService, BookDto, bookTypeOptions } from '@proxy/books'; import { FormGroup, FormBuilder, Validators } from '@angular/forms'; // added this line @@ -923,11 +912,7 @@ export class BookComponent implements OnInit { form: FormGroup; - bookType = BookType; - - bookTypes = Object.keys(this.bookType).filter( - (key) => typeof this.bookType[key] === 'number' - ); + bookTypes = bookTypeOptions; isModalOpen = false; @@ -938,7 +923,7 @@ export class BookComponent implements OnInit { ) {} ngOnInit() { - const bookStreamCreator = (query) => this.bookService.getListByInput(query); + const bookStreamCreator = (query) => this.bookService.getList(query); this.list.hookToQuery(bookStreamCreator).subscribe((response) => { this.book = response; @@ -964,7 +949,7 @@ export class BookComponent implements OnInit { return; } - this.bookService.createByInput(this.form.value).subscribe(() => { + this.bookService.create(this.form.value).subscribe(() => { this.isModalOpen = false; this.form.reset(); this.list.get(); @@ -974,11 +959,11 @@ export class BookComponent implements OnInit { ``` * 导入了 `NgbDateNativeAdapter` 和 `NgbDateAdapter`. -* 我们添加了一个新的 `NgbDateAdapter` 提供程序,它将Datepicker值转换为 `Date` 类型. 有关更多详细信息,请参见[datepicker adapters](https://ng-bootstrap.github.io/#/components/datepicker/overview). +* 我们添加了一个新的 `NgbDateAdapter` 提供程序,它将Datepicker值转换为 `Date` 类型. 更多详细信息,请参见[datepicker adapters](https://ng-bootstrap.github.io/#/components/datepicker/overview). 现在你可以打开浏览器看到以下变化: -![Save button to the modal](./images/bookstore-new-book-form-v2.png) +![Save button to the modal](images/bookstore-new-book-form-v2.png) ## 更新书籍 @@ -987,8 +972,7 @@ export class BookComponent implements OnInit { ```js import { ListService, PagedResultDto } from '@abp/ng.core'; import { Component, OnInit } from '@angular/core'; -import { BookDto, BookType, CreateUpdateBookDto } from './models'; -import { BookService } from './services'; +import { BookService, BookDto, bookTypeOptions } from '@proxy/books'; import { FormGroup, FormBuilder, Validators } from '@angular/forms'; import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; @@ -1001,15 +985,11 @@ import { NgbDateNativeAdapter, NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap export class BookComponent implements OnInit { book = { items: [], totalCount: 0 } as PagedResultDto; - selectedBook = new BookDto(); // declare selectedBook + selectedBook = {} as BookDto; // declare selectedBook form: FormGroup; - bookType = BookType; - - bookTypes = Object.keys(this.bookType).filter( - (key) => typeof this.bookType[key] === 'number' - ); + bookTypes = bookTypeOptions; isModalOpen = false; @@ -1020,7 +1000,7 @@ export class BookComponent implements OnInit { ) {} ngOnInit() { - const bookStreamCreator = (query) => this.bookService.getListByInput(query); + const bookStreamCreator = (query) => this.bookService.getList(query); this.list.hookToQuery(bookStreamCreator).subscribe((response) => { this.book = response; @@ -1028,14 +1008,14 @@ export class BookComponent implements OnInit { } createBook() { - this.selectedBook = new BookDto(); // reset the selected book + this.selectedBook = {} as BookDto; // reset the selected book this.buildForm(); this.isModalOpen = true; } // Add editBook method editBook(id: string) { - this.bookService.getById(id).subscribe((book) => { + this.bookService.get(id).subscribe((book) => { this.selectedBook = book; this.buildForm(); this.isModalOpen = true; @@ -1061,8 +1041,8 @@ export class BookComponent implements OnInit { } const request = this.selectedBook.id - ? this.bookService.updateByIdAndInput(this.form.value, this.selectedBook.id) - : this.bookService.createByInput(this.form.value); + ? this.bookService.update(this.selectedBook.id, this.form.value) + : this.bookService.create(this.form.value); request.subscribe(() => { this.isModalOpen = false; @@ -1074,10 +1054,10 @@ export class BookComponent implements OnInit { ``` * 我们声明了类型为 `BookDto` 的 `selectedBook` 变量. -* 我们添加了 `editBook` 方法, 根据给定图书 `Id` 设置 `selectedBook` 对象. +* 我们添加了 `editBook` 方法, 根据给定书籍 `Id` 设置 `selectedBook` 对象. * 我们替换了 `buildForm` 方法使用 `selectedBook` 数据创建表单. * 我们替换了 `createBook` 方法,设置 `selectedBook` 为空对象. -* 我们替换了 `save` 方法. +* 我们修改了 `save` 方法,同时处理新建和更新操作. ### 添加 "Actions" 下拉框到表格 @@ -1111,7 +1091,7 @@ export class BookComponent implements OnInit { 在表格的第一列添加了一个 "Actions" 下拉菜单,如下图所示: -![Action buttons](./images/bookstore-actions-buttons.png) +![Action buttons](images/bookstore-actions-buttons.png) 同时如下所示更改 `ng-template #abpHeader` 部分: @@ -1147,13 +1127,13 @@ constructor( delete(id: string) { this.confirmation.warn('::AreYouSureToDelete', '::AreYouSure').subscribe((status) => { if (status === Confirmation.Status.confirm) { - this.bookService.deleteById(id).subscribe(() => this.list.get()); + this.bookService.delete(id).subscribe(() => this.list.get()); } }); } ``` -* 我们注入了 `ConfirmationService`. +* 我们引入了 `ConfirmationService`. * 我们注入了 `ConfirmationService` 到构造函数. * 添加了 `delete` 方法. @@ -1161,6 +1141,7 @@ delete(id: string) { ### 添加删除按钮: + 打开 `/src/app/book/book.component.html` 修改 `ngbDropdownMenu` 添加删除按钮: ```html @@ -1174,14 +1155,445 @@ delete(id: string) { 最终操作下拉框UI看起来如下: -![bookstore-final-actions-dropdown](./images/bookstore-final-actions-dropdown.png) +![bookstore-final-actions-dropdown](images/bookstore-final-actions-dropdown.png) + +点击 `delete` 操作调用 `delete` 方法,然后显示一个确认弹层如下图所示. + +![bookstore-confirmation-popup](images/bookstore-confirmation-popup.png) + +{{end}} + +{{if UI == "Blazor" || UI == "BlazorServer"}} + +## 创建新书籍 + +通过本节, 你将会了解如何创建一个模态窗口实现新增书籍的功能. 因为我们已经从 `AbpCrudPageBase` 继承, 所以只需要开发视图部分. + +### 添加 "New Button" 按钮 + +打开 `Books.razor` 替换 `` 部分为以下代码: + +````xml + + + +

@L["Books"]

+
+ + + +
+
+```` + +如下图所示,卡片头 **右侧** 添加了 **New book** 按钮: + +![blazor-add-book-button](images/blazor-add-book-button.png) + +现在, 我们可以添加点击按钮后打开的模态窗口了. + +### 书籍创建模态窗口 + +打开 `Books.razor`, 添加以下代码到页面底部: + +````xml + + + +
+ + @L["NewBook"] + + + + + + + @L["Name"] + + + + + + + + + @L["Type"] + + + + @L["PublishDate"] + + + + @L["Price"] + + + + + + + + +
+
+
+```` + +这段代码需要一个服务; 在文件顶部, `@inherits...` 行前, 注入 `AbpBlazorMessageLocalizerHelper`: + +````csharp +@inject AbpBlazorMessageLocalizerHelper LH +```` + +* 表单实现了验证功能, `AbpBlazorMessageLocalizerHelper` 用于本地化验证消息. +* `CreateModal` 对象, `CloseCreateModalAsync` 和 `CreateEntityAsync` 方法定义在基类中. 参阅 [Blazorise文档](https://blazorise.com/docs/) 以深入理解 `Modal` 和其它组件. + +这就是全部了. 运行应用程序, 尝试添加一本新书. + +![blazor-new-book-modal](images/blazor-new-book-modal.png) + +## 更新书籍 + +编辑书籍与新建书籍很类似. -点击 `delete` 动作调用 `delete` 方法,然后无法显示一个确认弹层如下图所示. +### 操作下拉菜单 -![bookstore-confirmation-popup](./images/bookstore-confirmation-popup.png) +打开 `Books.razor` , 在 `DataGridColumns` 中添加以下 `DataGridEntityActionsColumn` 作为第一项: + +````xml + + + + + + + +```` + +* `OpenEditModalAsync` 定义在基类中, 它接收实体(书籍)参数, 编辑这个实体. + +`DataGridEntityActionsColumn` 组件用于显示 `DataGrid` 每一行中的"操作" 下拉菜单. 如果其中只有唯一的操作, `DataGridEntityActionsColumn` 显示 **唯一按钮**, 而不是下拉菜单. + +![blazor-edit-book-action](images/blazor-edit-book-action-2.png) + +### 编辑模态窗口 + +我们现在可以定义一个模态窗口编辑书籍. 加入下面的代码到 `Books.razor` 页面的底部: + +````xml + + + +
+ + @EditingEntity.Name + + + + + + + @L["Name"] + + + + + + + + + @L["Type"] + + + + @L["PublishDate"] + + + + @L["Price"] + + + + + + + + +
+
+
+```` + +### AutoMapper 配置 + +基类 `AbpCrudPageBase` 使用 [对象到对象映射](../Object-To-Object-Mapping.md) 系统将 `BookDto` 对象转化为`CreateUpdateBookDto` 对象. 因此, 我们需要定义映射. + +打开 `Acme.BookStore.Blazor` 项目中的 `BookStoreBlazorAutoMapperProfile `, 替换成以下内容: + +````csharp +using Acme.BookStore.Books; +using AutoMapper; + +namespace Acme.BookStore.Blazor +{ + public class BookStoreBlazorAutoMapperProfile : Profile + { + public BookStoreBlazorAutoMapperProfile() + { + CreateMap(); + } + } +} +```` + +* `CreateMap();` 行用于定义映射. + +### 测试编辑模态窗口 + +你可以运行程序并尝试编辑一本书. + +![blazor-edit-book-modal](images/blazor-edit-book-modal.png) + +> 提示: 尝试保留 *Name* 字段为空并提交表单, 将显示验证错误消息. + +## 删除书籍 + +打开 `Books.razor` 页面, 在 `EntityActions` 中的"编辑" 操作下面加入以下的 `EntityAction`: + +````xml + +```` + +* `DeleteEntityAsync` 定义在基类中. 通过向服务器发起请求删除实体. +* `ConfirmationMessage` 执行操作前显示确认消息的回调函数. +* `GetDeleteConfirmationMessage` 定义在基类中. 你可以覆写这个方法 (或传递其它值给 `ConfirmationMessage` 参数) 以定制本地化消息. + +因为"操作" 按钮现在有了两个操作, 变成了下拉菜单: + +![blazor-edit-book-action](images/blazor-delete-book-action.png) + +运行程序并尝试删除一本书. + +## 完整的 CRUD UI 代码 + +下面是完整的创建图书管理CRUD页面的代码, 这些代码在上面是分成两部分开发的: + +````xml +@page "/books" +@using Volo.Abp.Application.Dtos +@using Acme.BookStore.Books +@using Acme.BookStore.Localization +@using Microsoft.Extensions.Localization +@using Volo.Abp.AspNetCore.Components.Web +@inject IStringLocalizer L +@inject AbpBlazorMessageLocalizerHelper LH +@inherits AbpCrudPageBase + + + + + +

@L["Books"]

+
+ + + +
+
+ + + + + + + + + + + + + + + @L[$"Enum:BookType:{(int) context.Type}"] + + + + + @context.PublishDate.ToShortDateString() + + + + + + + @context.CreationTime.ToLongDateString() + + + + + +
+ + + + +
+ + @L["NewBook"] + + + + + + + @L["Name"] + + + + + + + + + @L["Type"] + + + + @L["PublishDate"] + + + + @L["Price"] + + + + + + + + +
+
+
+ + + + +
+ + @EditingEntity.Name + + + + + + + @L["Name"] + + + + + + + + + @L["Type"] + + + + @L["PublishDate"] + + + + @L["Price"] + + + + + + + + +
+
+
+```` {{end}} ## 下一章 -查看本教程的[下一章](Part-4.md). +查看本教程的[下一章](Part-4.md). \ No newline at end of file diff --git a/docs/zh-Hans/Tutorials/images/blazor-add-book-button.png b/docs/zh-Hans/Tutorials/images/blazor-add-book-button.png new file mode 100644 index 0000000000000000000000000000000000000000..58a607d3b1ec5fcd42ea93afc837c0b2baf05b69 GIT binary patch literal 8810 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/blazor-delete-book-action.png b/docs/zh-Hans/Tutorials/images/blazor-delete-book-action.png new file mode 100644 index 0000000000000000000000000000000000000000..f2b0b83f301807124e0748f6b35d82c63f404d57 GIT binary patch literal 73024 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 xhB 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⋙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 z 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%0AmSa`Bf8JOIw8UdFuP+9K+yu&ABo&XX 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≻Zx$-Zr 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 T>Ac7x;Lk%v^?M}>mQVi=2m+jR literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Tutorials/images/blazor-edit-book-modal.png b/docs/zh-Hans/Tutorials/images/blazor-edit-book-modal.png new file mode 100644 index 0000000000000000000000000000000000000000..e63e796d34b756a5e6b513daca7c34f85e9e3259 GIT binary patch literal 27492 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
2yWqE0(%a<1mT6iNCnCf9Ie!XNFSZ7da2m9rx$t z?cWD2lm@Z0-R1nXm{`J=_8xG&Ag7~93>)U^Tvzt|Yi*<)P>O}=;jr@tj9oqY&xGt& zrnd!je`2$GkrIy44TlEA071-VOS#C)+sUoqVoTMRid!6?w-5dfDk&IxO1Y{AuIFn} ze$)h2&$@(maT5W)m43T$20vC-*gDixt4u*vVnX0niL?ZYTYZ`J(f*+EK4MAu-rn)$ zv&ji07Jl&}us#K+C&<6sB(E1H@~S!=8Z@@*4V# zo?w(vhbqOEVo7GJjql+e&#si>|3Y($Z?H%t1%Ar}wjiazR}d7VCc@%tsgFsq7ytio cA3or`py>SoKJw$o0>c1xWgVp|MVqMq0npMOx&QzG literal 0 HcmV?d00001 From a6414dc37ba8e95382592823ddf01be69934d2ca Mon Sep 17 00:00:00 2001 From: ChangYinShung Date: Fri, 24 Dec 2021 08:44:34 +0800 Subject: [PATCH 25/26] fix : Update AbpUi 's zh-Hant some text translate into zh-Hant --- .../Volo.Abp.UI/Localization/Resources/AbpUi/zh-Hant.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/zh-Hant.json b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/zh-Hant.json index 5f73fa7ccd..449dd67480 100644 --- a/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/zh-Hant.json +++ b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/zh-Hant.json @@ -46,8 +46,8 @@ "GoHomePage": "返回首頁", "GoBack": "返回", "Search": "查詢", - "ItemWillBeDeletedMessageWithFormat": "{0} will be deleted!", - "ItemWillBeDeletedMessage": "This item will be deleted!", - "ManageYourAccount": "Manage your account" + "ItemWillBeDeletedMessageWithFormat": "{0} 將被刪除!", + "ItemWillBeDeletedMessage": "此項目將被刪除!", + "ManageYourAccount": "管理個人帳號" } } From 4f4d603bdc687118cd83144d19694b59bc2c7477 Mon Sep 17 00:00:00 2001 From: ChangYinShung Date: Fri, 24 Dec 2021 09:06:28 +0800 Subject: [PATCH 26/26] update zh-Hant for cms-kit --- .../Localization/Resources/zh-Hant.json | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json index 1d87b80110..49584e5af0 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/zh-Hant.json @@ -1,7 +1,7 @@ { "culture": "zh-Hant", "texts": { - "AddSubMenuItem": "添加子菜單項", + "AddSubMenuItem": "添加子選單項目", "AreYouSure": "你確定嗎?", "BlogDeletionConfirmationMessage": "部落格 '{0}' 將被刪除. 你確定嗎?", "BlogFeatureNotAvailable": "目前此功能不可使用. 請用 `GlobalFeatureManager` 來啟用它.", @@ -47,15 +47,15 @@ "ExportCSV": "匯出 CSV", "Features": "功能", "GenericDeletionConfirmationMessage": "你確定刪除 '{0}' 嗎?", - "IsActive": "積極的", + "IsActive": "是否啟用", "LastModification": "最後一次修改", "LastModificationTime": "最後修改時間", "LoginToAddComment": "登錄後添加評論", "LoginToRate": "登錄後進行評分", "LoginToReact": "登錄以作出反應", "LoginToReply": "登錄後進行回覆", - "MainMenu": "主菜單", - "MakeMainMenu": "製作主菜單", + "MainMenu": "主選單", + "MakeMainMenu": "製作主選單", "Menu:CMS": "CMS", "Menus": "菜單", "MenuDeletionConfirmationMessage": "菜單“{0}”將被刪除。你確定嗎?", @@ -64,10 +64,10 @@ "MenuItems": "菜單項", "Message": "消息", "MessageDeletionConfirmationMessage": "這條評論將被完全刪除", - "NewBlog": "新博客", - "NewBlogPost": "新博文", - "NewMenu": "新菜單", - "NewMenuItem": "新的根菜單項", + "NewBlog": "新部落格", + "NewBlogPost": "新部落格貼文", + "NewMenu": "新選單", + "NewMenuItem": "新的根選單", "NewPage": "新的一頁", "NewTag": "新標籤", "NoMenuItems": "還沒有菜單項!", @@ -104,9 +104,9 @@ "Permission:MenuManagement.Delete": "刪除", "Permission:MenuManagement.Update": "更新", "Permission:Menus": "Menu Management", - "Permission:Menus.Create": "Create", - "Permission:Menus.Delete": "Delete", - "Permission:Menus.Update": "Update", + "Permission:Menus.Create": "創建", + "Permission:Menus.Delete": "刪除", + "Permission:Menus.Update": "更新", "Permission:PageManagement": "頁面管理", "Permission:PageManagement:Create": "創建", "Permission:PageManagement:Delete": "刪除", @@ -150,7 +150,7 @@ "Update": "更新", "UpdatePreferenceSuccessMessage": "您的 preferences 已經保存", "UpdateYourEmailPreferences": "更新你的郵件preferences", - "UnMakeMainMenu": "取消主菜單", + "UnMakeMainMenu": "取消主選單", "UploadFailedMessage": "上傳失敗", "UserId": "用戶Id", "Username": "用戶名稱", @@ -158,6 +158,7 @@ "YourEmailAddress": "你的郵件地址", "YourFullName": "你的全名", "YourMessage": "你的消息", - "YourReply": "你的回覆" + "YourReply": "你的回覆", + "MarkdownSupported": "支援 Markdown ." } -} \ No newline at end of file +}